Docs.rs
  • fedimint-core-0.2.2-rc1
    • fedimint-core 0.2.2-rc1
    • Docs.rs crate page
    • MIT
    • Links
    • Repository
    • crates.io
    • Source
    • Owners
    • dpc
    • elsirion
    • bradleystachurski
    • Dependencies
      • anyhow ^1.0.65 normal
      • async-recursion ^1.0.4 normal
      • async-trait ^0.1.73 normal
      • backtrace ^0.3.67 normal
      • bech32 ^0.9.1 normal
      • bincode ^1.3.1 normal
      • bitcoin ^0.29.2 normal
      • bitcoin ^0.30.0 normal
      • bitcoin_hashes ^0.11 normal
      • bitvec ^1.0.1 normal
      • erased-serde ^0.3 normal
      • fedimint-derive ^0.2.2-rc1 normal
      • fedimint-logging ^0.2.2-rc1 normal
      • futures ^0.3.24 normal
      • hex ^0.4.3 normal
      • itertools ^0.10.5 normal
      • jsonrpsee-core ^0.20.0 normal
      • jsonrpsee-types ^0.20.0 normal
      • lightning ^0.0.118 normal
      • lightning-invoice ^0.26.0 normal
      • macro_rules_attribute ^0.1.3 normal
      • miniscript ^9.0.2 normal
      • parity-scale-codec ^3.5.0 normal
      • rand ^0.8.5 normal
      • secp256k1-zkp ^0.7.0 normal
      • serde ^1.0.149 normal
      • serde_json ^1.0.91 normal
      • sha3 ^0.10.5 normal
      • strum ^0.24 normal
      • strum_macros ^0.24 normal
      • fedimint-tbs ^0.2.2-rc1 normal
      • thiserror ^1.0.39 normal
      • fedimint-threshold-crypto ^0.1 normal
      • tokio ^1.26.0 normal
      • tracing ^0.1.37 normal
      • url ^2.3.1 normal
      • once_cell ^1.16.0 dev
      • test-log ^0.2 dev
      • tracing-subscriber ^0.3.16 dev
      • jsonrpsee-ws-client ^0.20.0 normal
      • tokio ^1.25.0 normal
      • tokio-rustls ^0.23.4 normal
      • async-lock ^2.7 normal
      • getrandom ^0.2.8 normal
      • gloo-timers ^0.2.6 normal
      • js-sys ^0.3.61 normal
      • jsonrpsee-wasm-client ^0.20.0 normal
      • wasm-bindgen-futures ^0.4.33 normal
    • Versions
    • 40.59% of the crate is documented
  • Go to latest stable release
  • Platform
    • i686-unknown-linux-gnu
    • x86_64-unknown-linux-gnu
  • Feature flags
  • docs.rs
    • About docs.rs
    • Privacy policy
  • Rust
    • Rust website
    • The Book
    • Standard Library API Reference
    • Rust by Example
    • The Cargo Guide
    • Clippy Documentation

Crate fedimint_core

fedimint_core0.2.2-rc1

  • All Items
  • Re-exports
  • Modules
  • Macros
  • Structs
  • Enums
  • Constants
  • Traits
  • Functions
  • Attribute Macros

Crates

  • fedimint_core
?
Change settings

Crate fedimint_core

source ·

Re-exports

  • pub use module::ServerModule;
  • pub use tiered::Tiered;
  • pub use crate::core::server;
  • pub use tiered_multi::*;

Modules

  • admin_client
  • amount
  • api
  • backup
  • bitcoinrpc
  • cancellable
  • config
  • core
    Fedimint Core API (common) module interface
  • db
    Core Fedimint database traits and types
  • encoding
    This module defines a binary encoding interface which is more suitable for consensus critical encoding than e.g. bincode. Over time all structs that need to be encoded to binary will be migrated to this interface.
  • endpoint_constants
  • epoch
  • fmt_utils
  • hex
  • macros
  • module
  • net
  • query
  • session_outcome
    Atomic BFT unit containing consensus items
  • task
  • tiered
  • tiered_multi
  • time
  • timing
  • transaction
  • txoproof
  • util

Macros

  • __api_endpoint
    Example
  • _dyn_newtype_define_inner
  • _dyn_newtype_define_with_instance_id_inner
  • _dyn_newtype_impl_deref_mut
  • async_trait_maybe_send
    async trait that use MaybeSend
  • deserialize_as_encodable_hex
  • dyn_newtype_define
    Define “dyn newtype” (a newtype over dyn Trait)
  • dyn_newtype_display_passthrough
    Implements the Display trait for dyn newtypes whose traits implement Display
  • dyn_newtype_impl_dyn_clone_passthrough
    Implement Clone on a “dyn newtype”
  • erased_eq_no_instance_id
  • extensible_associated_module_type
    Wraps a type into an enum with a default variant, this allows to add new versions of the type in the future. Depending on context unknown versions may be ignored or lead to errors. E.g. the client might just ignore an unknown input version since it cannot originate from itself while the server would reject it for not being able to validate its correctness.
  • impl_db_lookup
  • impl_db_record
    This is a helper macro that generates the implementations of DatabaseRecord necessary for reading/writing to the database and fetching by prefix.
  • maybe_add_send
    MaybeSync can not be used in dyn $Trait + MaybeSend
  • maybe_add_send_sync
    See maybe_add_send
  • module_plugin_dyn_newtype_clone_passthrough
  • module_plugin_dyn_newtype_define
    Define a “module plugin dyn-newtype” which is like a standard “dyn newtype”, but with associated “module_instance_id”.
  • module_plugin_dyn_newtype_display_passthrough
  • module_plugin_dyn_newtype_encode_decode
    Implement Encodable and Decodable for a “module dyn newtype”
  • module_plugin_dyn_newtype_eq_passthrough
  • module_plugin_static_trait_define
    Define a “plugin” trait
  • module_plugin_static_trait_define_config
    A copy of module_lugin_static_trait_define but for ClientConfig, which is a snowflake that requires : Serialize and conditional implementation for DynUnknown. The macro is getting gnarly, so seems easier to copy-paste-modify, than pile up conditional argument.
  • plugin_types_trait_impl_common
    Implements the necessary traits for all associated types of a FederationServer module.
  • plugin_types_trait_impl_config
    Implements the necessary traits for all configuration related types of a FederationServer module.
  • push_db_key_items
  • push_db_pair_items
  • push_db_pair_items_no_serde
  • serde_as_encodable_hex
  • serialize_as_encodable_hex

Structs

  • Amount
    Represents an amount of BTC inside the system. The base denomination is milli satoshi for now, this is also why the amount type from rust-bitcoin isn’t used instead.
  • Feerate
  • OutPoint
    OutPoint represents a globally unique output in a transaction
  • PeerId
  • TransactionId
    A transaction id for peg-ins, peg-outs and reissuances

Enums

  • BitcoinAmountOrAll
    Amount of bitcoin to send, or “all” to send all available funds
  • CoreError
  • ParseAmountError

Constants

  • SATS_PER_BITCOIN

Traits

  • BitcoinHash
    Trait which applies to hashes of all types.
  • NumPeers
    for consensus-related calculations given the number of peers

Functions

  • msats
    Shorthand for Amount::from_msats
  • sats
    Shorthand for Amount::from_sats
  • weight_to_vbytes
    Converts weight to virtual bytes, defined in BIP-141 as weight / 4 (rounded up to the next integer).

Attribute Macros

  • apply

Results

trait
fedimint_core::core::IntoDynInstance
A type that has a Dyn*, type erased version of itself
trait method
fedimint_core::core::IntoDynInstance::into_dyn
Convert self into its type-erased equivalent
No results :(
Try on DuckDuckGo?

Or try looking in one of these:
  • The Rust Reference for technical details about the language.
  • Rust By Example for expository code examples.
  • The Rust Book for introductions to language features and the language itself.
  • Docs.rs for documentation of crates released on crates.io.