Crate fedimint_mint_client
source ·Re-exports§
pub use fedimint_mint_common as common;
Modules§
- Database keys used throughout the mint client module
- State machines for mint outputs
Structs§
Noncebut blinded by the user key- The
MintClientModuleis 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
MintOutputby 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
Notes - An encapsulation of
FederationIdand 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. - 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. - A
Notewith associated secret key that allows to proof ownership (spend it)
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.
- 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.
Constants§
- By default, the maximum notes per denomination when change-making for users