Module fedimint_core::encoding

source ·
Expand description

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.

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.

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

Derive Macros