Crate fedimint_mint_client

Source

Re-exports§

pub use fedimint_mint_common as common;

Modules§

api
API client impl for mint-specific requests
backup
client_db
Database keys used throughout the mint client module
config
endpoint_constants
event
output
State machines for mint outputs

Structs§

BackupRequest
BlindNonce
Nonce but blinded by the user key
InsufficientBalanceError
MintClientContext
MintClientInit
MintClientModule
The MintClientModule is responsible for handling e-cash minting operations. It interacts with the mint server to issue, reissue, and validate e-cash notes.
MintCommonInit
MintInputV0
MintModuleTypes
MintOperationMeta
MintOutputBlindSignature
Result of Federation members confirming MintOutput by contributing partial signatures via MintConsensusItem
MintOutputOutcomeV0
MintOutputV0
MintRestoreStateMachine
Old and no longer used, will be deleted in the future
Nonce
Unique ID of a mint note.
Note
An verifiable one time use IOU from the mint.
NoteIndex
An index used to deterministically derive Notes
OOBNoteV2
OOBNotes
An encapsulation of FederationId and e-cash notes in the form of TieredMulti<SpendableNote> for the purpose of spending e-cash out-of-band. Also used for validating and reissuing such out-of-band notes.
OOBNotesV2
SelectNotesWithAtleastAmount
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.
SelectNotesWithExactAmount
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.
SignedBackupRequest
SpendOOBRefund
SpendableNote
A Note with associated secret key that allows to proof ownership (spend it)
SpendableNoteUndecoded
A version of SpendableNote that didn’t decode the signature yet
UnknownMintInputVariantError
UnknownMintOutputOutcomeVariantError
UnknownMintOutputVariantError

Enums§

MintClientStateMachines
MintConsensusItem
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.
MintInput
MintInputError
MintOperationMetaVariant
MintOutput
MintOutputError
MintOutputOutcome
ReissueExternalNotesError
ReissueExternalNotesState
The high-level state of a reissue operation started with MintClientModule::reissue_external_notes.
SpendOOBState
The high-level state of a raw e-cash spend operation started with MintClientModule::spend_notes_with_selector.

Constants§

DEFAULT_MAX_NOTES_PER_DENOMINATION
By default, the maximum notes per denomination when change-making for users
KIND
MODULE_CONSENSUS_VERSION

Traits§

NotesSelector
Defines a strategy for selecting e-cash notes given a specific target amount and fee per note transaction input.

Functions§

represent_amount
Determines the denominations to use when representing an amount
spendable_notes_to_operation_id