fedimint_core

Module encoding

Source
Expand description

Consensus encoding Binary encoding interface suitable for consensus critical encoding.

Over time all structs that ! need to be encoded to binary will be migrated to this interface.

This code is based on corresponding rust-bitcoin types.

See Encodable and Decodable for two main traits.

Modules§

  • Serde implementations using hex-encoded encodables

Structs§

  • Lightning TLV uses a custom variable-length integer called BigSize. It is similar to Bitcoin’s variable-length integers except that it is serialized in big-endian instead of little-endian.
  • A writer counting number of writes written to it

Enums§

  • A type that decodes module_instance_id-prefixed Ts even when corresponding Decoder is not available.

Constants§

  • Maximum size, in bytes, of data we are allowed to ever decode for a single value.

Traits§

  • Data which can be encoded in a consensus-consistent way
  • Object-safe trait for things that can encode themselves
  • Data which can be encoded in a consensus-consistent way

Functions§

Derive Macros§