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
(infedimint_client
)ClientModule
(infedimint_client
)
Re-exports§
pub use serde_json;
Modules§
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
. - ApiEndpoint
Context - 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
. - Core
Consensus Version - Consensus version of a core server
- DynCommon
Module Init - Input
Meta - Module
Consensus Version - Consensus version of a specific module instance
- Multi
ApiVersion - Multiple, disjoint, minimum required or maximum supported,
ApiVersion
s. - Multi
ApiVersion Iter - Peer
Handle - A handle passed to
ServerModuleInit::distributed_gen
- Serde
Module Encoding - 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 - Serde
Module Encoding Base64 - Same as
SerdeModuleEncoding
but uses base64 instead of hex encoding. - Server
ApiVersions Summary - A summary of server API versions for core and all registered modules.
- Server
DbVersions Summary - A summary of server database versions for all registered modules.
- Supported
ApiVersions Summary - Supported
Core ApiVersions - Supported
Module ApiVersions - Transaction
Item Amount - 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§
- Common
Module Init - Logic and constant common between server side and client side modules
- IDyn
Common Module Init - Operations common to Server and Client side module gen dyn newtypes
- Module
Common - Module associated types required by both client and server
- Module
Init - Trait implemented by every
*ModuleInit
(server or client side) - Typed
ApiEndpoint