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".
Implementations on Foreign Types§
Source§impl Deserializable for ()
impl Deserializable for ()
fn read_from<R>(_source: &mut R) -> Result<(), DeserializationError>where
R: ByteReader,
Source§impl Deserializable for Attribute
impl Deserializable for Attribute
fn read_from<R>(source: &mut R) -> Result<Attribute, 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 Deserializable for BaseElement
impl Deserializable for BaseElement
fn read_from<R>(source: &mut R) -> Result<BaseElement, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for BatchingMethod
impl Deserializable for BatchingMethod
Source§fn read_from<R>(source: &mut R) -> Result<BatchingMethod, DeserializationError>where
R: ByteReader,
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 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 Dependency
impl Deserializable for Dependency
fn read_from<R>(source: &mut R) -> Result<Dependency, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for DependencyName
impl Deserializable for DependencyName
fn read_from<R>(source: &mut R) -> Result<DependencyName, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for EcdsaRequest
impl Deserializable for EcdsaRequest
fn read_from<R>(source: &mut R) -> Result<EcdsaRequest, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for EncryptedData
impl Deserializable for EncryptedData
fn read_from<R>(source: &mut R) -> Result<EncryptedData, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for EncryptedData
impl Deserializable for EncryptedData
fn read_from<R>(source: &mut R) -> Result<EncryptedData, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for EphemeralPublicKey
impl Deserializable for EphemeralPublicKey
fn read_from<R>(
source: &mut R,
) -> Result<EphemeralPublicKey, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for EphemeralPublicKey
impl Deserializable for EphemeralPublicKey
fn read_from<R>(
source: &mut R,
) -> Result<EphemeralPublicKey, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for EventId
impl Deserializable for EventId
fn read_from<R>(source: &mut R) -> Result<EventId, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for EventName
impl Deserializable for EventName
fn read_from<R>(source: &mut R) -> Result<EventName, 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 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 FunctionTypeDeserializer
impl Deserializable for FunctionTypeDeserializer
fn read_from<R>(
source: &mut R,
) -> Result<FunctionTypeDeserializer, DeserializationError>where
R: ByteReader,
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 Ident
impl Deserializable for Ident
fn read_from<R>(source: &mut R) -> Result<Ident, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for IntValue
impl Deserializable for IntValue
fn read_from<R>(source: &mut R) -> Result<IntValue, 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 MetaExpr
impl Deserializable for MetaExpr
fn read_from<R>(source: &mut R) -> Result<MetaExpr, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for MetaKeyValue
impl Deserializable for MetaKeyValue
fn read_from<R>(source: &mut R) -> Result<MetaKeyValue, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for MetaList
impl Deserializable for MetaList
fn read_from<R>(source: &mut R) -> Result<MetaList, 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 Nonce
impl Deserializable for Nonce
fn read_from<R>(source: &mut R) -> Result<Nonce, DeserializationError>where
R: ByteReader,
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 Operation
impl Deserializable for Operation
fn read_from<R>(source: &mut R) -> Result<Operation, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for PrecompileRequest
impl Deserializable for PrecompileRequest
fn read_from<R>(
source: &mut R,
) -> Result<PrecompileRequest, DeserializationError>where
R: ByteReader,
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 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 PublicInputs
impl Deserializable for PublicInputs
fn read_from<R>(source: &mut R) -> Result<PublicInputs, DeserializationError>where
R: ByteReader,
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 SecretKey
impl Deserializable for SecretKey
fn read_from<R>(source: &mut R) -> Result<SecretKey, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for SecretKey
impl Deserializable for SecretKey
fn read_from<R>(source: &mut R) -> Result<SecretKey, 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 TraceInfo
impl Deserializable for TraceInfo
Source§impl Deserializable for TypeDeserializer
impl Deserializable for TypeDeserializer
fn read_from<R>(
source: &mut R,
) -> Result<TypeDeserializer, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for WordValue
impl Deserializable for WordValue
fn read_from<R>(source: &mut R) -> Result<WordValue, DeserializationError>where
R: ByteReader,
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 usize
impl Deserializable for usize
fn read_from<R>(source: &mut R) -> Result<usize, 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.
Source§impl<K, V> Deserializable for BTreeMap<K, V>
impl<K, V> Deserializable for BTreeMap<K, V>
fn read_from<R>(source: &mut R) -> Result<BTreeMap<K, V>, DeserializationError>where
R: ByteReader,
Source§impl<T1, T2, T3, T4, T5, T6> Deserializable for (T1, T2, T3, T4, T5, T6)where
T1: Deserializable,
T2: Deserializable,
T3: Deserializable,
T4: Deserializable,
T5: Deserializable,
T6: Deserializable,
impl<T1, T2, T3, T4, T5, T6> Deserializable for (T1, T2, T3, T4, T5, T6)where
T1: Deserializable,
T2: Deserializable,
T3: Deserializable,
T4: Deserializable,
T5: Deserializable,
T6: Deserializable,
fn read_from<R>(
source: &mut R,
) -> Result<(T1, T2, T3, T4, T5, T6), DeserializationError>where
R: ByteReader,
Source§impl<T1, T2, T3, T4, T5> Deserializable for (T1, T2, T3, T4, T5)where
T1: Deserializable,
T2: Deserializable,
T3: Deserializable,
T4: Deserializable,
T5: Deserializable,
impl<T1, T2, T3, T4, T5> Deserializable for (T1, T2, T3, T4, T5)where
T1: Deserializable,
T2: Deserializable,
T3: Deserializable,
T4: Deserializable,
T5: Deserializable,
fn read_from<R>(
source: &mut R,
) -> Result<(T1, T2, T3, T4, T5), DeserializationError>where
R: ByteReader,
Source§impl<T1, T2, T3, T4> Deserializable for (T1, T2, T3, T4)
impl<T1, T2, T3, T4> Deserializable for (T1, T2, T3, T4)
fn read_from<R>(
source: &mut R,
) -> Result<(T1, T2, T3, T4), DeserializationError>where
R: ByteReader,
Source§impl<T1, T2, T3> Deserializable for (T1, T2, T3)
impl<T1, T2, T3> Deserializable for (T1, T2, T3)
fn read_from<R>(source: &mut R) -> Result<(T1, T2, T3), DeserializationError>where
R: ByteReader,
Source§impl<T1, T2> Deserializable for (T1, T2)where
T1: Deserializable,
T2: Deserializable,
impl<T1, T2> Deserializable for (T1, T2)where
T1: Deserializable,
T2: Deserializable,
fn read_from<R>(source: &mut R) -> Result<(T1, T2), DeserializationError>where
R: ByteReader,
Source§impl<T1> Deserializable for (T1,)where
T1: Deserializable,
impl<T1> Deserializable for (T1,)where
T1: Deserializable,
fn read_from<R>(source: &mut R) -> Result<(T1,), DeserializationError>where
R: ByteReader,
Source§impl<T, const C: usize> Deserializable for [T; C]where
T: Deserializable,
impl<T, const C: usize> Deserializable for [T; C]where
T: Deserializable,
fn read_from<R>(source: &mut R) -> Result<[T; C], DeserializationError>where
R: ByteReader,
Source§impl<T> Deserializable for BTreeSet<T>where
T: Deserializable + Ord,
impl<T> Deserializable for BTreeSet<T>where
T: Deserializable + Ord,
fn read_from<R>(source: &mut R) -> Result<BTreeSet<T>, DeserializationError>where
R: ByteReader,
Source§impl<T> Deserializable for Option<T>where
T: Deserializable,
impl<T> Deserializable for Option<T>where
T: Deserializable,
fn read_from<R>(source: &mut R) -> Result<Option<T>, DeserializationError>where
R: ByteReader,
Source§impl<T> Deserializable for Span<T>where
T: Deserializable,
impl<T> Deserializable for Span<T>where
T: Deserializable,
fn read_from<R>(source: &mut R) -> Result<Span<T>, DeserializationError>where
R: ByteReader,
Source§impl<T> Deserializable for Vec<T>where
T: Deserializable,
impl<T> Deserializable for Vec<T>where
T: Deserializable,
fn read_from<R>(source: &mut R) -> Result<Vec<T>, DeserializationError>where
R: ByteReader,
Implementors§
impl Deserializable for Account
impl Deserializable for AccountCode
impl Deserializable for AccountComponentMetadata
impl Deserializable for AccountComponentTemplate
impl Deserializable for AccountDelta
impl Deserializable for AccountFile
impl Deserializable for AccountHeader
impl Deserializable for AccountId
impl Deserializable for AccountIdPrefix
impl Deserializable for AccountIdPrefixV0
impl Deserializable for AccountIdV0
impl Deserializable for AccountInputs
impl Deserializable for AccountProcedureInfo
impl Deserializable for AccountStorage
impl Deserializable for AccountStorageDelta
impl Deserializable for AccountStorageHeader
impl Deserializable for AccountTree
impl Deserializable for AccountType
impl Deserializable for AccountUpdateDetails
impl Deserializable for AccountUpdateWitness
impl Deserializable for AccountVaultDelta
impl Deserializable for AccountWitness
impl Deserializable for Address
impl Deserializable for AddressId
impl Deserializable for AdviceInputs
impl Deserializable for AdviceMap
impl Deserializable for Asset
impl Deserializable for AssetVault
impl Deserializable for AttributeSet
impl Deserializable for AuthScheme
impl Deserializable for AuthSecretKey
impl Deserializable for miden_objects::Felt
impl Deserializable for BatchAccountUpdate
impl Deserializable for BatchId
impl Deserializable for BatchNoteTree
impl Deserializable for BlockAccountUpdate
impl Deserializable for BlockHeader
impl Deserializable for BlockNoteTree
impl Deserializable for BlockNumber
impl Deserializable for Blockchain
impl Deserializable for ExecutedTransaction
impl Deserializable for ExecutionProof
impl Deserializable for FeeParameters
impl Deserializable for FeltRepresentation
impl Deserializable for FieldIdentifier
impl Deserializable for Forest
impl Deserializable for FungibleAsset
impl Deserializable for FungibleAssetDelta
impl Deserializable for InOrderIndex
impl Deserializable for InputNote
impl Deserializable for InputNoteCommitment
impl Deserializable for Keccak256Digest
impl Deserializable for KernelLibrary
NOTE: Serialization of libraries is likely to be deprecated in a future release
impl Deserializable for Library
NOTE: Serialization of libraries is likely to be deprecated in a future release