Expand description

This crate provides a number of types that capture shape of the data structures used by Mina protocol for communicating between nodes.

When used with the serde enabled bin-prot crate this allows for serializing and deserializing Mina protocol wire messages.

This crate contains no code outside of autogenerated serde implementations. It is for reading serialized data into strongly typed structures only.

Modules

A Mina account record and supporting types This isn’t sent over the network but is serialized and stored in kv stores, so to be compatible with those we need to support these types
Types related to the Blockchain State
Types that capture serialized bullet proof challenges and proofs
Some basic versioned types used throughout
Types and funcions related to the Mina consensus state
Delta transition chain proof structures and functions
Types and functions related to the EpochData structure
Types that represent errors in mina serialization and deserialization
Mina ExternalTransition
Versioned types that represent finite field and elliptic curve elements, and collections thereof
Structure of a global slot
json serialization types for the Mina protocol
Heper macros for type conversions
The opening proof used by the protocol state proof
Proof evaluations used by the protocol state proof
Proof messages used by the protocol state proof
Types related to the Mina protocol state
Types related to the Mina protocol state
Types related to the Mina protocol state
Module containing the components of a protocol state proof
Protocol version structure
Signatures and public key types
Types related to the Transaction Snark Work
In this context a diff refers to a difference between two states of the blockchain. In this case it is between the current state and the proposed next state.
Unversioned serialization types for the Mina protocol
Version 1 serialization types for the Mina protocol
All human readable values (e.g base58 encoded hashes and addresses) implement the Base58Checked encoding https://en.bitcoin.it/wiki/Base58Check_encoding

Macros

Implement list tagged enum json serde format for the given enum, with another convertible enum which is externally tagged
Implement list tagged enum json serde format for the given enum, with another convertible enum which is externally tagged and extra serde options
Implements std::str::FromStr and std::fmt::Display by implementing TryFrom between given type and string types via its corresponding json serialization type which is convertible from / to json with single unnamed string field.

Traits

This trait annotates a given type its corresponding bin-prot serialization type,
This trait annotates a given type its corresponding json serialization type, and provide utility functions to easily convert between them