fedimint_core

Module module

Source
Expand description

Extendable module sysystem Core module system traits and types.

Fedimint supports modules to allow extending its functionality. Some of the standard functionality is implemented in form of modules as well. This rust module houses the core trait fedimint_core::module::ModuleCommon used by both the server and client side module traits. Specific server and client traits exist in their respective crates.

The top level server-side types are:

  • fedimint_server::core::ServerModuleInit
  • fedimint_server::core::ServerModule

Top level client-side types are:

  • ClientModuleInit (in fedimint_client)
  • ClientModule (in fedimint_client)

Re-exports§

pub use serde_json;

Modules§

audit
registry
version 🔒
Fedimint consensus and API versioning.

Macros§

api_endpoint
Example

Structs§

ApiAuth
Authentication uses the hashed user password in PHC format
ApiEndpoint
Definition of an API endpoint defined by a module M.
ApiEndpointContext
State made available to all API endpoints for handling a request
ApiError
ApiRequest
All requests from client to server contain these fields
ApiVersion
Api version supported by a core server or a client/server module at a given ModuleConsensusVersion.
CoreConsensusVersion
Consensus version of a core server
DynCommonModuleInit
InputMeta
ModuleConsensusVersion
Consensus version of a specific module instance
MultiApiVersion
Multiple, disjoint, minimum required or maximum supported, ApiVersions.
MultiApiVersionIter
PeerHandle
A handle passed to ServerModuleInit::distributed_gen
SerdeModuleEncoding
Creates a struct that can be used to make our module-decodable structs interact with serde-based APIs (AlephBFT, jsonrpsee). It creates a wrapper that holds the data as serialized
SerdeModuleEncodingBase64
Same as SerdeModuleEncoding but uses base64 instead of hex encoding.
ServerApiVersionsSummary
A summary of server API versions for core and all registered modules.
ServerDbVersionsSummary
A summary of server database versions for all registered modules.
SupportedApiVersionsSummary
SupportedCoreApiVersions
SupportedModuleApiVersions
TransactionItemAmount
Information about the amount represented by an input or output.

Constants§

CORE_CONSENSUS_VERSION
Globally declared core consensus version

Statics§

REQ_ID 🔒
Global request ID used for logging

Traits§

CommonModuleInit
Logic and constant common between server side and client side modules
IDynCommonModuleInit
Operations common to Server and Client side module gen dyn newtypes
ModuleCommon
Module associated types required by both client and server
ModuleInit
Trait implemented by every *ModuleInit (server or client side)
TypedApiEndpoint

Type Aliases§

ApiRequestErased
HandlerFn 🔒
HandlerFnReturn 🔒