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§

as_base64
as_hex
Serde implementations using hex-encoded encodables
bls12_381 🔒
btc
collections 🔒
iroh 🔒
secp256k1 🔒
threshold_crypto 🔒

Macros§

impl_encode_decode_num_as_bigsize 🔒
impl_encode_decode_num_as_plain 🔒
impl_encode_decode_tuple 🔒

Structs§

CountWrite
A writer counting number of bytes written to it
DecodeError

Enums§

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

Constants§

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

Traits§

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

Derive Macros§

Decodable
Encodable