Crate fedimint_mint_client

Source

Re-exports§

pub use fedimint_mint_common as common;

Modules§

api
API client impl for mint-specific requests
backup
cli πŸ”’
Modularized Cli for sending and receiving out-of-band ecash
client_db
Database keys used throughout the mint client module
config
endpoint_constants
event
input πŸ”’
State machines for mint inputs
oob πŸ”’
State machines for out-of-band transmitted e-cash notes
output
State machines for mint outputs

Structs§

AwaitSpendOobRefundRequest πŸ”’
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
OOBReissueTag πŸ”’
OOBSpendTag πŸ”’
ReissueExternalNotesRequest πŸ”’
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
SpendNotesExpertRequest πŸ”’
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.
SpendNotesRequest πŸ”’
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
SubscribeReissueExternalNotesRequest πŸ”’
SubscribeSpendNotesRequest πŸ”’
TryCancelSpendNotesRequest πŸ”’
UnknownMintInputVariantError
UnknownMintOutputOutcomeVariantError
UnknownMintOutputVariantError
ValidateNotesRequest πŸ”’

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
MintRestoreStates πŸ”’
Old and no longer used, will be deleted in the future
OOBNotesPart πŸ”’
For extendability OOBNotes consists of parts, where client can ignore ones they don’t understand.
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§

BASE64_URL_SAFE πŸ”’
DEFAULT_MAX_NOTES_PER_DENOMINATION
By default, the maximum notes per denomination when change-making for users
KIND
MINT_E_CASH_TYPE_CHILD_ID πŸ”’
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§

create_bundle_for_inputs πŸ”’
represent_amount
Determines the denominations to use when representing an amount
select_notes_from_stream πŸ”’
spendable_notes_to_operation_id