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
@thesimplekid
Copy link
Collaborator

Can we do this issue as part of this? #1093

@orangeshyguy21
Copy link
Author

Can we do this issue as part of this? #1093

Yes, this issue gets addressed in the PR.

@ye0man ye0man added this to CDK Jan 15, 2026
@github-project-automation github-project-automation bot moved this to Backlog in CDK Jan 15, 2026
@thesimplekid thesimplekid added this to the 0.16.0 milestone Jan 16, 2026
@orangeshyguy21 orangeshyguy21 marked this pull request as ready for review January 20, 2026 22:11
The data we do not currently fetch should return as null
valid_from
valid_to
deviation_path_index
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: Backlog

Development

Successfully merging this pull request may close these issues.

Mint Feature Request: Add tos_url to GetInfo method | Add UpdateTosUrl Request

2 participants