Skip to content

feat: [Indexer] implemented http private api#163

Merged
sadiq1971 merged 14 commits intomainfrom
feat/indexer-api
Apr 1, 2026
Merged

feat: [Indexer] implemented http private api#163
sadiq1971 merged 14 commits intomainfrom
feat/indexer-api

Conversation

@sadiq1971
Copy link
Copy Markdown
Member

Closes #159

@gemini-code-assist
Copy link
Copy Markdown
Contributor

Summary of Changes

Hello, 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 robust HTTP private API for the Indexer service, significantly enhancing its query capabilities. It provides structured access to token data, balances, and event logs through a set of well-defined endpoints. The implementation includes essential features like pagination, event filtering, and JWT-based authentication, ensuring both usability and security. A logging decorator has also been added to the service layer for better operational insight.

Highlights

  • New HTTP Private API: Implemented a new HTTP private API for the Indexer service, providing endpoints to query token information, balances, and events.
  • Comprehensive Endpoints: Added a full suite of endpoints for listing and retrieving tokens, token supplies, balances for specific parties or tokens, and events related to tokens or parties.
  • Pagination and Filtering: Introduced pagination for list endpoints and event filtering capabilities, allowing clients to specify page number, limit, and event types.
  • Authentication Middleware: Included a JWT middleware to handle authentication, validating tokens and extracting the canton_party_id claim.
  • Service Layer Enhancements: Added a logging decorator for the Indexer service methods to improve observability and generated mocks for the service and store interfaces to aid in testing.

🧠 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 Assist

The 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 /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

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 .gemini/ folder in the base of the repository. Detailed instructions can be found here.

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

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

The pull request introduces a new HTTP API for the indexer service, along with corresponding service logic, logging, and middleware for JWT validation. New types for pagination and event filtering have been added to pkg/indexer/types.go, and JSON serialization tags have been applied to existing structs. Comprehensive unit tests are included for both the HTTP handlers and the service layer, covering various scenarios including success, pagination, invalid input, and error propagation. The overall structure and implementation are clean and follow good practices for Go services.

@salindne salindne self-requested a review March 20, 2026 19:19
@sadiq1971 sadiq1971 requested a review from salindne March 31, 2026 12:51
Copy link
Copy Markdown
Member

@dhyaniarun1993 dhyaniarun1993 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Other than lint issues. Looks good

Base automatically changed from feat/indexer-mvp to main April 1, 2026 10:59
@sadiq1971 sadiq1971 merged commit 1de0d8a into main Apr 1, 2026
2 checks passed
@sadiq1971 sadiq1971 deleted the feat/indexer-api branch April 1, 2026 11:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat: [Indexer] API implementation for indexer

3 participants