Skip to content

feat(indexer): add token mints search capability#5724

Open
Dairus01 wants to merge 4 commits into
hashgraph:developfrom
Dairus01:feature/indexer-token-mints
Open

feat(indexer): add token mints search capability#5724
Dairus01 wants to merge 4 commits into
hashgraph:developfrom
Dairus01:feature/indexer-token-mints

Conversation

@Dairus01

Copy link
Copy Markdown

This PR implements a new search capability for the Indexer to find suitable carbon credits (Mint Token VPs). It adds a new backend API endpoint with comprehensive filtering (amount, date, geography, policy) and a corresponding frontend view.

  • Add GET /entities/token-mints endpoint to Indexer Service with aggregation support
  • Add SEARCH_TOKEN_MINTS message API and related interfaces/DTOs
  • Add TokenMintsComponent to Indexer Frontend with sorting, filtering, and map link support
  • Update Swagger documentation and e2e tests
  • Fix geography population using ProjectCoordinates and add totalAmount aggregation
  • Fix build configuration issues in indexer packages

Related issue(s):

Fixes #5021

Notes for reviewer:

  • Endpoint: /entities/token-mints
  • New View: "Carbon Credit Mints" under the Documents menu in the Indexer UI.
  • Aggregation: The backend now performs a MongoDB aggregation to sum the total amount of minted tokens matching the filters.
  • Geography: Coordinates are resolved via project relationships and formatted in the UI with a link to Google Maps.

Checklist

  • Documented (Code comments, README, etc.)
  • Tested (unit, integration, etc.)

@Dairus01 Dairus01 requested review from a team as code owners February 16, 2026 12:14
@Dairus01 Dairus01 requested review from a team, nadineloepfe and rbarker-dev February 16, 2026 12:14
Signed-off-by: Dairus01 <dairusokoh@gmail.com>
…s for indexer services

Signed-off-by: Dairus01 <dairusokoh@gmail.com>
Signed-off-by: Dairus01 <dairusokoh@gmail.com>
@Dairus01 Dairus01 force-pushed the feature/indexer-token-mints branch from b1af4d7 to 1e55b6f Compare February 16, 2026 12:20
@Dairus01 Dairus01 changed the title Feature/indexer token mints feat(indexer): add token mints search capability Feb 16, 2026
Signed-off-by: Dairus  <dairusokoh@gmail.com>
Signed-off-by: Dairus01 <dairusokoh@gmail.com>
@Dairus01 Dairus01 force-pushed the feature/indexer-token-mints branch from 8357023 to 7b2456f Compare February 16, 2026 13:25
@Dairus01

Copy link
Copy Markdown
Author

Hi @rbarker-dev @nadineloepfe, I am unable to assign myself to this PR due to permissions, preventing the "Assignee Check" from passing. Could you please update the assignee field? Thanks!

@prernaadev01 I would love to hear your thoughts on this PR

@prernaadev01

Copy link
Copy Markdown
Contributor

@Dairus01 I have assigned this task to you.

@Dairus01

Copy link
Copy Markdown
Author

@Dairus01 I have assigned this task to you.

Ok great, all the tests are passing, please can you help review this PR

@prernaadev01

Copy link
Copy Markdown
Contributor

@Dairus01 We started reviewing your PR. Will keep you posted. Thanks

@Dairus01

Copy link
Copy Markdown
Author

@Dairus01 We started reviewing your PR. Will keep you posted. Thanks

@prernaadev01 quick question is your Guardian Community Bounty Program: Open Source Innovation still active

@Pyatakov Pyatakov changed the base branch from main to develop February 17, 2026 21:45
@ruslanPL-EnvisionBlockchain

ruslanPL-EnvisionBlockchain commented Feb 23, 2026

Copy link
Copy Markdown
Contributor

Hi @Dairus01 I have checked your changes and found the following bugs. Can you please have a look into them?

  1. A couple of parameters are missing in the response body in comparison to what I can see in Swagger doc(missing parameters listed below):
  • "policyId"
  • "policyDescription"
  • "geography"
  1. According to the response example here, after totalAmount parameter, there should be no parameters, but in fact, there is one more parameter. Is it missing in Swagger doc or it should be removed from the response body?
    "order": { "consensusTimestamp": "DESC" }

  2. On Carbon Credit Mints filters like Token Id, Policy ID, etc are displayed incorrectly and when you type any value, the filtering itself works well, but you cannot see the value you entered in the field(example below):

Знімок екрана 2026-02-23 о 14 24 37
  1. Also if I want to filter by Name(tokenName, or tokenSymbol) using keyword field, and type iRec Token, which is exact name, should the table be filtered by that value(because currently it shows empty table on UI and API(only tokenName, or tokenSymbol don't work, the rest seems to be working fine), below is the endpoint with filter example)?
    http://localhost:3021/entities/token-mints?keywords=["iRec Token"]

  2. View Map button doesn't work and doesn't transfer to Google Maps to show location. Also the button itself doesn't look good, the view of it needs to be fixed(see the screenshot below).

Знімок екрана 2026-02-23 о 14 27 13
  1. When clicking on AMOUNT or DATE column on Carbon Credit Mints page to have ascending/descending sorting for the table, none of them(ascending/descending sort) works correctly(see the screenshot below). Can you please fix it?
2026-02-23.15.20.49.mov
  1. @Pyatakov on Carbon Credit Mints page we have filter called Schema, but in the table itself we don't have such column. Should we introduce that column to be able to see that filtered schema is indeed included into the policy that was filtered? Also another question: we have filter called Geography, but in the table itself, we don't have column with such name, we have Coordinates column, which is the same as Geography, right? If so, can we have common name: either CoordinatesorGeography` to clearly see what was filtered?
Знімок екрана 2026-02-23 о 15 40 57

cc: @prernaadev01

@ruslanPL-EnvisionBlockchain

Copy link
Copy Markdown
Contributor

@Dairus01 regarding point 7 in the message above, after discussion with @Pyatakov, he said that we probably won't need search by Schema since this is not that obvious thing, and moreover, this is not obvious on the UI, do we search by Schema ID or Schema Name. And in general, would be better to remove this parameter at all.
Also regarding the second part of the matching parameter names in filters and column names on a table, what is the difference between Geography filter parameter and Coordinates column name in table? Is it the same, just different namings?

cc: @Pyatakov

@Dairus01

Copy link
Copy Markdown
Author

I would work to resolve these comments, but I have a quick question I would love to get an answer on

Is your Guardian Community Bounty Program: Open Source Innovation still active?

https://github.com/hashgraph/guardian/blob/main/BOUNTY-PROGRAM.md

@ruslanPL-EnvisionBlockchain @Pyatakov @prernaadev01

@Dairus01

Copy link
Copy Markdown
Author

I would work to resolve these comments, but I have a quick question I would love to get an answer on

Is your Guardian Community Bounty Program: Open Source Innovation still active?

https://github.com/hashgraph/guardian/blob/main/BOUNTY-PROGRAM.md

@ruslanPL-EnvisionBlockchain @Pyatakov @prernaadev01

@prernaadev01 @ruslanPL-EnvisionBlockchain @Pyatakov

Any update with this question?

kodareef5 pushed a commit to kodareef5/guardian that referenced this pull request Mar 22, 2026
Addresses maintainer feedback from PR hashgraph#5724 review:
- Add policyId, policyDescription, geography as top-level response fields
- Replace schema column with policy name and geography columns
- Wire loadFilters() to API in both MintTokens and ProjectPractices components
- Add missing i18n keys

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@Pyatakov Pyatakov deleted the branch hashgraph:develop April 24, 2026 14:49
@Pyatakov Pyatakov closed this Apr 24, 2026
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.

Indexer: finding suitable carbon credits

4 participants