Skip to content

Conversation

@orangeshyguy21
Copy link

@orangeshyguy21 orangeshyguy21 commented Jan 2, 2026

Description

This PR splits the mint gRPC API into management and reporting services.

Mint reporting endpoints are introduced to expose mint records (balances, keysets, quotes, proofs, signatures, operations).

Mint management endpoints were added (update_tos_url, create_backup).


Notes to the reviewers

There is one outstanding shortcoming with this PR

  • get_keysets returns null values for valid_to, valid_from, and index
    Changes are required to core traits to expose this information

Some features were not included in with this PR that are may be candidates for future improvement

  • Backup auth database
  • Restore database
  • Auth reporting endpoints
  • Update melt quote state endpoint
  • Authorization updates to allow gated access to certain rpc endpoints
  • Server resource endpoints (Prometheus data)

There are 'breaking' changes in this PR as the current proto file was renamed and reorganized. Consumers will be required to change their implementation to support this release.


Suggested CHANGELOG Updates

CHANGED

  • Split mint RPC service into separate Management and Reporting gRPC services.
  • Updated cdk-mint-rpc CLI to use the new reporting/management clients and reorganized commands accordingly.
  • Balance information is no longer in get-info and is now on a dedicated get-balances method

ADDED

  • New reporting RPC endpoints and CLI commands
    • balances
    • keysets
    • list/lookup mint quotes
    • list/lookup melt quotes
    • list proofs
    • list blind signatures
    • list operations.
  • Added tos_url to get_info and added update_tos_url rpc method
  • Database backup support (SQLite binary backup and SQL dump) exposed via a streaming management RPC.

Checklist

cleans up the mint info cli output (formatting)
adds tos_url to the mint info output
adds method to mutate tos_url
This updates the RPC to isolate function responsibility
CdkMintManagementClient
CdkMintDataClient

existing methods are setup to use management
get_info has been migrated to data
This moves server methods into their respective files, management and reporting

This also renames the 'data' proto and it's methods to 'reporting'
This is more explicit in it's purpose. Better fit.
cleans up the mint info cli output (formatting)
adds tos_url to the mint info output
adds method to mutate tos_url
This updates the RPC to isolate function responsibility
CdkMintManagementClient
CdkMintDataClient

existing methods are setup to use management
get_info has been migrated to data
This moves server methods into their respective files, management and reporting

This also renames the 'data' proto and it's methods to 'reporting'
This is more explicit in it's purpose. Better fit.
This adds the keysets rpc method.
There are some compromises here.
1) no proof counts - sort of an expensive request without a cache
2) cannot get date info or deriv path index - would need more code in other crates i believe. will evaluate later.
+ custom sql for list method
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.

1 participant