Wallet: determine valid amounts from mint's keys response #684
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What does this PR do?
keys
response #618Changes Made
mint
method in theWallet
class to use allowed amounts from the mint instead of hardcoding 2^n denominations.get_allowed_amounts
method to fetch supported denominations from the current keyset.test_mint_amounts_wrong_order
test to expect the new error message for unsupported denominations.Background Context
The previous implementation assumed that mints would always use powers of 2 for token denominations. However, the Cashu protocol allows mints to use any denomination structure they prefer. This change makes the wallet more flexible and compliant with the protocol, enabling it to work with a wider range of mint configurations.
Testing
The existing test suite has been updated to reflect these changes. The
test_mint_amounts_wrong_order
test now checks for the correct error message when attempting to mint unsupported denominations.