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§
Sourcefn read_from<R>(source: &mut R) -> Result<Self, DeserializationError>where
R: ByteReader,
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
sourcedoes not contain enough bytes to deserializeSelf. - Bytes read from the
sourcedo not represent a valid value forSelf.
Provided Methods§
Sourcefn read_from_bytes(bytes: &[u8]) -> Result<Self, DeserializationError>
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
bytesdo not contain enough information to deserializeSelf. - The
bytesdo not represent a valid value forSelf.
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
impl Deserializable for HashFunction
fn read_from<R>(source: &mut R) -> Result<HashFunction, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for ModuleKind
impl Deserializable for ModuleKind
fn read_from<R>(source: &mut R) -> Result<ModuleKind, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for LibraryNamespace
impl Deserializable for LibraryNamespace
fn read_from<R>(
source: &mut R,
) -> Result<LibraryNamespace, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for Operation
impl Deserializable for Operation
fn read_from<R>(source: &mut R) -> Result<Operation, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for NodeMutation
impl Deserializable for NodeMutation
fn read_from<R>(source: &mut R) -> Result<NodeMutation, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for AccountIdPrefix
impl Deserializable for AccountIdPrefix
fn read_from<R>(source: &mut R) -> Result<AccountIdPrefix, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for AccountUpdateDetails
impl Deserializable for AccountUpdateDetails
fn read_from<R>(
source: &mut R,
) -> Result<AccountUpdateDetails, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for FieldExtension
impl Deserializable for FieldExtension
Source§fn read_from<R>(source: &mut R) -> Result<FieldExtension, DeserializationError>where
R: ByteReader,
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
impl Deserializable for u8
fn read_from<R>(source: &mut R) -> Result<u8, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for u16
impl Deserializable for u16
fn read_from<R>(source: &mut R) -> Result<u16, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for u32
impl Deserializable for u32
fn read_from<R>(source: &mut R) -> Result<u32, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for u64
impl Deserializable for u64
fn read_from<R>(source: &mut R) -> Result<u64, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for u128
impl Deserializable for u128
fn read_from<R>(source: &mut R) -> Result<u128, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for ()
impl Deserializable for ()
fn read_from<R>(_source: &mut R) -> Result<(), DeserializationError>where
R: ByteReader,
Source§impl Deserializable for usize
impl Deserializable for usize
fn read_from<R>(source: &mut R) -> Result<usize, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for String
impl Deserializable for String
fn read_from<R>(source: &mut R) -> Result<String, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for ExecutionProof
impl Deserializable for ExecutionProof
fn read_from<R>(source: &mut R) -> Result<ExecutionProof, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for PublicInputs
impl Deserializable for PublicInputs
fn read_from<R>(source: &mut R) -> Result<PublicInputs, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for LibraryPath
impl Deserializable for LibraryPath
fn read_from<R>(source: &mut R) -> Result<LibraryPath, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for KernelLibrary
impl Deserializable for KernelLibrary
fn read_from<R>(source: &mut R) -> Result<KernelLibrary, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for Library
impl Deserializable for Library
fn read_from<R>(source: &mut R) -> Result<Library, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for Version
impl Deserializable for Version
fn read_from<R>(source: &mut R) -> Result<Version, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for AdviceMap
impl Deserializable for AdviceMap
fn read_from<R>(source: &mut R) -> Result<AdviceMap, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for SourceSpan
impl Deserializable for SourceSpan
fn read_from<R>(source: &mut R) -> Result<SourceSpan, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for Kernel
impl Deserializable for Kernel
fn read_from<R>(source: &mut R) -> Result<Kernel, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for MastForest
impl Deserializable for MastForest
fn read_from<R>(source: &mut R) -> Result<MastForest, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for Program
impl Deserializable for Program
fn read_from<R>(source: &mut R) -> Result<Program, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for ProgramInfo
impl Deserializable for ProgramInfo
fn read_from<R>(source: &mut R) -> Result<ProgramInfo, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for StackInputs
impl Deserializable for StackInputs
fn read_from<R>(source: &mut R) -> Result<StackInputs, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for StackOutputs
impl Deserializable for StackOutputs
fn read_from<R>(source: &mut R) -> Result<StackOutputs, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for PubKeyPoly
impl Deserializable for PubKeyPoly
fn read_from<R>(source: &mut R) -> Result<PubKeyPoly, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for Signature
impl Deserializable for Signature
fn read_from<R>(source: &mut R) -> Result<Signature, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for SignatureHeader
impl Deserializable for SignatureHeader
fn read_from<R>(source: &mut R) -> Result<SignatureHeader, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for SignaturePoly
impl Deserializable for SignaturePoly
fn read_from<R>(source: &mut R) -> Result<SignaturePoly, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for Nonce
impl Deserializable for Nonce
fn read_from<R>(source: &mut R) -> Result<Nonce, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for RpxDigest
impl Deserializable for RpxDigest
fn read_from<R>(source: &mut R) -> Result<RpxDigest, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for NodeIndex
impl Deserializable for NodeIndex
fn read_from<R>(source: &mut R) -> Result<NodeIndex, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for PartialMmr
impl Deserializable for PartialMmr
fn read_from<R>(source: &mut R) -> Result<PartialMmr, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for PartialMerkleTree
impl Deserializable for PartialMerkleTree
fn read_from<R>(
source: &mut R,
) -> Result<PartialMerkleTree, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for RootPath
impl Deserializable for RootPath
fn read_from<R>(source: &mut R) -> Result<RootPath, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for ValuePath
impl Deserializable for ValuePath
fn read_from<R>(source: &mut R) -> Result<ValuePath, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for Smt
impl Deserializable for Smt
fn read_from<R>(source: &mut R) -> Result<Smt, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for InnerNode
impl Deserializable for InnerNode
fn read_from<R>(source: &mut R) -> Result<InnerNode, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for StoreNode
impl Deserializable for StoreNode
fn read_from<R>(source: &mut R) -> Result<StoreNode, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for RpxRandomCoin
impl Deserializable for RpxRandomCoin
fn read_from<R>(source: &mut R) -> Result<RpxRandomCoin, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for AccountIdPrefixV0
impl Deserializable for AccountIdPrefixV0
fn read_from<R>(
source: &mut R,
) -> Result<AccountIdPrefixV0, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for AccountIdV0
impl Deserializable for AccountIdV0
fn read_from<R>(source: &mut R) -> Result<AccountIdV0, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for AccountProcedureInfo
impl Deserializable for AccountProcedureInfo
fn read_from<R>(
source: &mut R,
) -> Result<AccountProcedureInfo, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for AccountStorageDelta
impl Deserializable for AccountStorageDelta
fn read_from<R>(
source: &mut R,
) -> Result<AccountStorageDelta, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for StorageMapDelta
impl Deserializable for StorageMapDelta
fn read_from<R>(source: &mut R) -> Result<StorageMapDelta, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for AccountDelta
impl Deserializable for AccountDelta
fn read_from<R>(source: &mut R) -> Result<AccountDelta, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for AccountStorageHeader
impl Deserializable for AccountStorageHeader
fn read_from<R>(
source: &mut R,
) -> Result<AccountStorageHeader, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for StorageMap
impl Deserializable for StorageMap
fn read_from<R>(source: &mut R) -> Result<StorageMap, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for BlockNoteTree
impl Deserializable for BlockNoteTree
fn read_from<R>(source: &mut R) -> Result<BlockNoteTree, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for Block
impl Deserializable for Block
fn read_from<R>(source: &mut R) -> Result<Block, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for BlockAccountUpdate
impl Deserializable for BlockAccountUpdate
fn read_from<R>(
source: &mut R,
) -> Result<BlockAccountUpdate, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for NoteDetails
impl Deserializable for NoteDetails
fn read_from<R>(source: &mut R) -> Result<NoteDetails, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for NoteHeader
impl Deserializable for NoteHeader
fn read_from<R>(source: &mut R) -> Result<NoteHeader, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for NoteLocation
impl Deserializable for NoteLocation
fn read_from<R>(source: &mut R) -> Result<NoteLocation, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for PartialNote
impl Deserializable for PartialNote
fn read_from<R>(source: &mut R) -> Result<PartialNote, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for ChainMmr
impl Deserializable for ChainMmr
fn read_from<R>(source: &mut R) -> Result<ChainMmr, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for TransactionMeasurements
impl Deserializable for TransactionMeasurements
fn read_from<R>(
source: &mut R,
) -> Result<TransactionMeasurements, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for TransactionInputs
impl Deserializable for TransactionInputs
fn read_from<R>(
source: &mut R,
) -> Result<TransactionInputs, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for TransactionOutputs
impl Deserializable for TransactionOutputs
fn read_from<R>(
source: &mut R,
) -> Result<TransactionOutputs, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for InputNoteCommitment
impl Deserializable for InputNoteCommitment
fn read_from<R>(
source: &mut R,
) -> Result<InputNoteCommitment, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for TxAccountUpdate
impl Deserializable for TxAccountUpdate
fn read_from<R>(source: &mut R) -> Result<TxAccountUpdate, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for TransactionArgs
impl Deserializable for TransactionArgs
fn read_from<R>(source: &mut R) -> Result<TransactionArgs, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for TransactionWitness
impl Deserializable for TransactionWitness
fn read_from<R>(
source: &mut R,
) -> Result<TransactionWitness, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for AdviceInputs
impl Deserializable for AdviceInputs
fn read_from<R>(source: &mut R) -> Result<AdviceInputs, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for TraceInfo
impl Deserializable for TraceInfo
Source§impl Deserializable for ProofOptions
impl Deserializable for ProofOptions
Source§fn read_from<R>(source: &mut R) -> Result<ProofOptions, DeserializationError>where
R: ByteReader,
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
impl Deserializable for Commitments
Source§fn read_from<R>(source: &mut R) -> Result<Commitments, DeserializationError>where
R: ByteReader,
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
impl Deserializable for Context
Source§fn read_from<R>(source: &mut R) -> Result<Context, DeserializationError>where
R: ByteReader,
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
impl Deserializable for OodFrame
Source§fn read_from<R>(source: &mut R) -> Result<OodFrame, DeserializationError>where
R: ByteReader,
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
impl Deserializable for Queries
Source§fn read_from<R>(source: &mut R) -> Result<Queries, DeserializationError>where
R: ByteReader,
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
impl Deserializable for Proof
fn read_from<R>(source: &mut R) -> Result<Proof, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for FriProof
impl Deserializable for FriProof
Source§fn read_from<R>(source: &mut R) -> Result<FriProof, DeserializationError>where
R: ByteReader,
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
impl Deserializable for BaseElement
fn read_from<R>(source: &mut R) -> Result<BaseElement, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for BaseElement
impl Deserializable for BaseElement
fn read_from<R>(source: &mut R) -> Result<BaseElement, DeserializationError>where
R: ByteReader,
Source§impl<B> Deserializable for CubeExtension<B>where
B: ExtensibleField<3>,
impl<B> Deserializable for CubeExtension<B>where
B: ExtensibleField<3>,
fn read_from<R>(
source: &mut R,
) -> Result<CubeExtension<B>, DeserializationError>where
R: ByteReader,
Source§impl<B> Deserializable for QuadExtension<B>where
B: ExtensibleField<2>,
impl<B> Deserializable for QuadExtension<B>where
B: ExtensibleField<2>,
fn read_from<R>(
source: &mut R,
) -> Result<QuadExtension<B>, DeserializationError>where
R: ByteReader,
Source§impl<H> Deserializable for BatchMerkleProof<H>where
H: Hasher,
impl<H> Deserializable for BatchMerkleProof<H>where
H: Hasher,
Source§fn read_from<R>(
source: &mut R,
) -> Result<BatchMerkleProof<H>, DeserializationError>where
R: ByteReader,
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:
sourcecould not be deserialized into a valid set of internal nodes.