Re-exports§
pub use fedimint_mint_common as common;
Modules§
- API client impl for mint-specific requests
- cli πModularized Cli for sending and receiving out-of-band ecash
- Database keys used throughout the mint client module
- input πState machines for mint inputs
- oob πState machines for out-of-band transmitted e-cash notes
- State machines for mint outputs
Structs§
Nonce
but blinded by the user key- The
MintClientModule
is responsible for handling e-cash minting operations. It interacts with the mint server to issue, reissue, and validate e-cash notes. - Result of Federation members confirming
MintOutput
by contributing partial signatures viaMintConsensusItem
- Old and no longer used, will be deleted in the future
- Unique ID of a mint note.
- An verifiable one time use IOU from the mint.
- An index used to deterministically derive
Note
s - An encapsulation of
FederationId
and e-cash notes in the form ofTieredMulti<SpendableNote>
for the purpose of spending e-cash out-of-band. Also used for validating and reissuing such out-of-band notes. - OOBReissue
Tag π - OOBSpend
Tag π - Select notes with total amount of at least
request_amount
. If more than requested amount of notes are returned it was because exact change couldnβt be made, and the next smallest amount will be returned. - Select notes with total amount of exactly
request_amount
. If the amount cannot be represented with the available denominations an error is returned, this does not mean that the balance is too low. - Caution: if no notes of the correct denomination are available the next bigger note will be selected. You might want to use
spend_notes
instead. - Spend
Notes πRequest - A
Note
with associated secret key that allows to proof ownership (spend it) - A version of
SpendableNote
that didnβt decode thesignature
yet - Validate
Notes πRequest
Enums§
- The mint module currently doesnβt define any consensus items and generally throws an error on encountering one. To allow old clients to still decode blocks in the future, should we decide to add consensus items, this has to be an enum with only a default variant.
- Mint
Restore πStates Old and no longer used, will be deleted in the future - OOBNotes
Part πFor extendabilityOOBNotes
consists of parts, where client can ignore ones they donβt understand. - The high-level state of a reissue operation started with
MintClientModule::reissue_external_notes
. - The high-level state of a raw e-cash spend operation started with
MintClientModule::spend_notes_with_selector
.
Constants§
- BASE64_
URL_ πSAFE - By default, the maximum notes per denomination when change-making for users
Traits§
- Defines a strategy for selecting e-cash notes given a specific target amount and fee per note transaction input.
Functions§
- Determines the denominations to use when representing an amount