feat: [Indexer] implemented pg store for indexer#164
Conversation
Summary of ChangesHello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request introduces a comprehensive indexer for Canton ledger events, specifically tailored for CIP56 token transfers. It establishes a resilient streaming pipeline to consume ledger updates, processes and decodes token transfer events, and persistently stores the derived state in a PostgreSQL database. The indexed data is then made accessible through a dedicated service layer with a RESTful HTTP API, providing a robust foundation for querying token-related information. Highlights
🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console. Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here. Footnotes
|
There was a problem hiding this comment.
Code Review
This pull request introduces a well-structured and thoroughly tested PostgreSQL store for the indexer, which is a significant feature. The implementation using bun ORM, testcontainers for database testing, and clear separation into models, store logic, and migrations is excellent. I have two main points of feedback: one regarding a potential race condition in pagination logic that could lead to inconsistent data for clients, and another about enhancing the test setup to more closely mirror the production database schema by including index creation. Overall, this is a high-quality contribution.
|
Lint fix required here as well. |
Closes #160