Deserializable

Trait Deserializable 

Source
pub trait Deserializable: Sized {
    // Required method
    fn read_from<R>(source: &mut R) -> Result<Self, DeserializationError>
       where R: ByteReader;

    // Provided method
    fn read_from_bytes(bytes: &[u8]) -> Result<Self, DeserializationError> { ... }
}
Expand description

Defines how to deserialize Self from bytes.

Required Methods§

Source

fn read_from<R>(source: &mut R) -> Result<Self, DeserializationError>
where R: ByteReader,

Reads a sequence of bytes from the provided source, attempts to deserialize these bytes into Self, and returns the result.

§Errors

Returns an error if:

  • The source does not contain enough bytes to deserialize Self.
  • Bytes read from the source do not represent a valid value for Self.

Provided Methods§

Source

fn read_from_bytes(bytes: &[u8]) -> Result<Self, DeserializationError>

Attempts to deserialize the provided bytes into Self and returns the result.

§Errors

Returns an error if:

  • The bytes do not contain enough information to deserialize Self.
  • The bytes do not represent a valid value for Self.

Note: if bytes contains more data than needed to deserialize self, no error is returned.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl Deserializable for HashFunction

Source§

impl Deserializable for Operation

Source§

impl Deserializable for BatchingMethod

Source§

fn read_from<R>(source: &mut R) -> Result<BatchingMethod, DeserializationError>
where R: ByteReader,

Reads BatchingMethod from the specified source and returns the result.

§Errors

Returns an error if the value does not correspond to a valid BatchingMethod.

Source§

impl Deserializable for FieldExtension

Source§

fn read_from<R>(source: &mut R) -> Result<FieldExtension, DeserializationError>
where R: ByteReader,

Reads a field extension enum from the specified source.

Source§

impl Deserializable for u8

Source§

impl Deserializable for u16

Source§

impl Deserializable for u32

Source§

impl Deserializable for u64

Source§

impl Deserializable for u128

Source§

impl Deserializable for ()

Source§

impl Deserializable for usize

Source§

impl Deserializable for String

Source§

impl Deserializable for PublicInputs

Source§

impl Deserializable for FunctionTypeDeserializer

Source§

impl Deserializable for TypeDeserializer

Source§

impl Deserializable for Kernel

Source§

impl Deserializable for TraceInfo

Source§

fn read_from<R>(source: &mut R) -> Result<TraceInfo, DeserializationError>
where R: ByteReader,

Reads TraceInfo from the specified source and returns the result.

§Errors

Returns an error of a valid TraceInfo struct could not be read from the specified source.

Source§

impl Deserializable for ProofOptions

Source§

fn read_from<R>(source: &mut R) -> Result<ProofOptions, DeserializationError>
where R: ByteReader,

Reads proof options from the specified source and returns the result.

§Errors

Returns an error of a valid proof options could not be read from the specified source.

Source§

impl Deserializable for Commitments

Source§

fn read_from<R>(source: &mut R) -> Result<Commitments, DeserializationError>
where R: ByteReader,

Reads commitments from the specified source and returns the result.

§Errors

Returns an error of a valid Commitments struct could not be read from the specified source.

Source§

impl Deserializable for Context

Source§

fn read_from<R>(source: &mut R) -> Result<Context, DeserializationError>
where R: ByteReader,

Reads proof context from the specified source and returns the result.

§Errors

Returns an error of a valid Context struct could not be read from the specified source.

Source§

impl Deserializable for OodFrame

Source§

fn read_from<R>(source: &mut R) -> Result<OodFrame, DeserializationError>
where R: ByteReader,

Reads a OOD frame from the specified source and returns the result

§Errors

Returns an error of a valid OOD frame could not be read from the specified source.

Source§

impl Deserializable for Queries

Source§

fn read_from<R>(source: &mut R) -> Result<Queries, DeserializationError>
where R: ByteReader,

Reads a query struct from the specified source and returns the result

§Errors

Returns an error of a valid query struct could not be read from the specified source.

Source§

impl Deserializable for Proof

Source§

impl Deserializable for FriProof

Source§

fn read_from<R>(source: &mut R) -> Result<FriProof, DeserializationError>
where R: ByteReader,

Reads a FRI proof from the specified source and returns the result.

§Errors

Returns an error if a valid proof could not be read from the source.

Source§

impl Deserializable for BaseElement

Source§

impl Deserializable for BaseElement

Source§

impl<B> Deserializable for CubeExtension<B>
where B: ExtensibleField<3>,

Source§

impl<B> Deserializable for QuadExtension<B>
where B: ExtensibleField<2>,

Source§

impl<H> Deserializable for BatchMerkleProof<H>
where H: Hasher,

Source§

fn read_from<R>( source: &mut R, ) -> Result<BatchMerkleProof<H>, DeserializationError>
where R: ByteReader,

Parses internal nodes from the provided source, and constructs a batch Merkle proof from these nodes.

§Errors

Returns an error if:

  • source could not be deserialized into a valid set of internal nodes.
Source§

impl<K, V> Deserializable for BTreeMap<K, V>

Source§

impl<T1> Deserializable for (T1,)
where T1: Deserializable,

Source§

impl<T1, T2> Deserializable for (T1, T2)

Source§

impl<T1, T2, T3> Deserializable for (T1, T2, T3)

Source§

impl<T1, T2, T3, T4> Deserializable for (T1, T2, T3, T4)

Source§

impl<T1, T2, T3, T4, T5> Deserializable for (T1, T2, T3, T4, T5)

Source§

impl<T1, T2, T3, T4, T5, T6> Deserializable for (T1, T2, T3, T4, T5, T6)

Source§

impl<T> Deserializable for Option<T>
where T: Deserializable,

Source§

impl<T> Deserializable for BTreeSet<T>
where T: Deserializable + Ord,

Source§

impl<T> Deserializable for Vec<T>
where T: Deserializable,

Source§

impl<T> Deserializable for Span<T>
where T: Deserializable,

Source§

impl<T, const C: usize> Deserializable for [T; C]
where T: Deserializable,

Implementors§

Source§

impl Deserializable for AuthSecretKey

Source§

impl Deserializable for FeltRepresentation

Source§

impl Deserializable for MultiWordRepresentation

Source§

impl Deserializable for StorageEntry

Source§

impl Deserializable for WordRepresentation

Source§

impl Deserializable for AccountUpdateDetails

Source§

impl Deserializable for AccountId

Source§

impl Deserializable for AccountIdPrefix

Source§

impl Deserializable for AccountType

Source§

impl Deserializable for StorageSlot

Source§

impl Deserializable for StorageSlotType

Source§

impl Deserializable for LibraryNamespace

Source§

impl Deserializable for ModuleKind

Source§

impl Deserializable for Asset

Source§

impl Deserializable for NodeMutation

Source§

impl Deserializable for SmtLeaf

Source§

impl Deserializable for NoteFile

Source§

impl Deserializable for NoteTag

Source§

impl Deserializable for NoteType

Source§

impl Deserializable for InputNote

Source§

impl Deserializable for OutputNote

Source§

impl Deserializable for AccountProcedureInfo

Source§

impl Deserializable for AccountCode

Source§

impl Deserializable for AccountComponentMetadata

Source§

impl Deserializable for AccountComponentTemplate

Source§

impl Deserializable for FieldIdentifier

Source§

impl Deserializable for MapEntry

Source§

impl Deserializable for MapRepresentation

Source§

impl Deserializable for StorageValueName

Source§

impl Deserializable for TemplateType

Source§

impl Deserializable for AccountDelta

Source§

impl Deserializable for AccountStorageDelta

Source§

impl Deserializable for AccountVaultDelta

Source§

impl Deserializable for FungibleAssetDelta

Source§

impl Deserializable for NonFungibleAssetDelta

Source§

impl Deserializable for StorageMapDelta

Source§

impl Deserializable for Account

Source§

impl Deserializable for AccountFile

Source§

impl Deserializable for AccountHeader

Source§

impl Deserializable for AccountIdPrefixV0

Source§

impl Deserializable for AccountIdV0

Source§

impl Deserializable for AccountStorage

Source§

impl Deserializable for AccountStorageHeader

Source§

impl Deserializable for PartialAccount

Source§

impl Deserializable for PartialStorage

Source§

impl Deserializable for PartialStorageMap

Source§

impl Deserializable for StorageMap

Source§

impl Deserializable for KernelLibrary

NOTE: Serialization of libraries is likely to be deprecated in a future release

Source§

impl Deserializable for Library

NOTE: Serialization of libraries is likely to be deprecated in a future release

Source§

impl Deserializable for LibraryPath

Source§

impl Deserializable for ProcedureName

Source§

impl Deserializable for QualifiedProcedureName

Source§

impl Deserializable for SourceSpan

Source§

impl Deserializable for AssetVault

Source§

impl Deserializable for FungibleAsset

Source§

impl Deserializable for NonFungibleAsset

Source§

impl Deserializable for PartialVault

Source§

impl Deserializable for BatchAccountUpdate

Source§

impl Deserializable for BatchId

Source§

impl Deserializable for BatchNoteTree

Source§

impl Deserializable for OrderedBatches

Source§

impl Deserializable for ProposedBatch

Source§

impl Deserializable for ProvenBatch

Source§

impl Deserializable for AccountTree

Source§

impl Deserializable for AccountUpdateWitness

Source§

impl Deserializable for AccountWitness

Source§

impl Deserializable for BlockAccountUpdate

Source§

impl Deserializable for BlockHeader

Source§

impl Deserializable for BlockNoteTree

Source§

impl Deserializable for BlockNumber

Source§

impl Deserializable for Blockchain

Source§

impl Deserializable for FeeParameters

Source§

impl Deserializable for NullifierTree

Source§

impl Deserializable for NullifierWitness

Source§

impl Deserializable for ProposedBlock

Source§

impl Deserializable for ProvenBlock

Source§

impl Deserializable for Nonce

Source§

impl Deserializable for PubKeyPoly

Source§

impl Deserializable for SecretKey

Source§

impl Deserializable for Signature

Source§

impl Deserializable for SignatureHeader

Source§

impl Deserializable for SignaturePoly

Source§

impl Deserializable for Forest

Source§

impl Deserializable for InOrderIndex

Source§

impl Deserializable for MerklePath

Source§

impl Deserializable for Mmr

Source§

impl Deserializable for NodeIndex

Source§

impl Deserializable for PartialMerkleTree

Source§

impl Deserializable for PartialMmr

Source§

impl Deserializable for PartialSmt

Source§

impl Deserializable for RootPath

Source§

impl Deserializable for Smt

Source§

impl Deserializable for SmtProof

Source§

impl Deserializable for SparseMerklePath

Source§

impl Deserializable for StoreNode

Source§

impl Deserializable for ValuePath

Source§

impl Deserializable for RpoRandomCoin

Source§

impl Deserializable for RpxRandomCoin

Source§

impl Deserializable for Note

Source§

impl Deserializable for NoteAssets

Source§

impl Deserializable for NoteDetails

Source§

impl Deserializable for NoteHeader

Source§

impl Deserializable for NoteId

Source§

impl Deserializable for NoteInclusionProof

Source§

impl Deserializable for NoteInputs

Source§

impl Deserializable for NoteLocation

Source§

impl Deserializable for NoteMetadata

Source§

impl Deserializable for NoteRecipient

Source§

impl Deserializable for NoteScript

Source§

impl Deserializable for Nullifier

Source§

impl Deserializable for PartialNote

Source§

impl Deserializable for miden_objects::Felt

Source§

impl Deserializable for MastForest

Source§

impl Deserializable for Word

Source§

impl Deserializable for AccountInputs

Source§

impl Deserializable for ExecutedTransaction

Source§

impl Deserializable for InputNoteCommitment

Source§

impl Deserializable for OrderedTransactionHeaders

Source§

impl Deserializable for OutputNotes

Source§

impl Deserializable for PartialBlockchain

Source§

impl Deserializable for ProvenTransaction

Source§

impl Deserializable for TransactionArgs

Source§

impl Deserializable for TransactionHeader

Source§

impl Deserializable for TransactionId

Source§

impl Deserializable for TransactionInputs

Source§

impl Deserializable for TransactionMeasurements

Source§

impl Deserializable for TransactionOutputs

Source§

impl Deserializable for TransactionScript

Source§

impl Deserializable for TransactionSummary

Source§

impl Deserializable for TransactionWitness

Source§

impl Deserializable for TxAccountUpdate

Source§

impl Deserializable for AdviceInputs

Source§

impl Deserializable for AdviceMap

Source§

impl Deserializable for ExecutionProof

Source§

impl Deserializable for Program

Source§

impl Deserializable for ProgramInfo

Source§

impl Deserializable for StackInputs

Source§

impl Deserializable for StackOutputs

Source§

impl<T> Deserializable for MerkleStore<T>
where T: KvMap<Word, StoreNode>,

Source§

impl<T> Deserializable for LexicographicWord<T>
where T: Into<Word> + From<Word>,

Source§

impl<T: Deserializable + ToInputNoteCommitments> Deserializable for InputNotes<T>

Source§

impl<const DEPTH: u8> Deserializable for LeafIndex<DEPTH>

Source§

impl<const DEPTH: u8, K, V> Deserializable for MutationSet<DEPTH, K, V>

Source§

impl<const N: usize> Deserializable for Blake3Digest<N>