pub trait Deserializable: Sized {
// Required method
fn read_from<R>(source: &mut R) -> Result<Self, DeserializationError>
where R: ByteReader;
// Provided methods
fn min_serialized_size() -> usize { ... }
fn read_from_bytes(bytes: &[u8]) -> Result<Self, DeserializationError> { ... }
fn read_from_bytes_with_budget(
bytes: &[u8],
budget: usize,
) -> Result<Self, DeserializationError> { ... }
}Expand description
Re-export the entire miden_client crate so external projects can use a single dependency.
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 min_serialized_size() -> usize
fn min_serialized_size() -> usize
Returns the minimum serialized size for one instance of this type.
This is used by ByteReader::max_alloc to estimate how many elements can be
deserialized from the remaining budget, preventing denial-of-service attacks from
malicious length prefixes.
The default implementation returns size_of::<Self>(), which is conservative: it may
reject valid input for types where the serialized size is smaller than the in-memory
size (e.g., structs with computed/cached fields that aren’t serialized).
Override this method for types where the serialized representation is smaller than the in-memory representation to allow more elements to be deserialized.
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.
Sourcefn read_from_bytes_with_budget(
bytes: &[u8],
budget: usize,
) -> Result<Self, DeserializationError>
fn read_from_bytes_with_budget( bytes: &[u8], budget: usize, ) -> Result<Self, DeserializationError>
Deserializes Self from bytes with a byte budget limit.
This is the recommended method for deserializing untrusted input. The budget limits how many bytes can be consumed during deserialization, preventing denial-of-service attacks that exploit length fields to cause huge allocations.
§Errors
Returns an error if:
- The budget is exhausted before deserialization completes.
- The
bytesdo not contain enough information to deserializeSelf. - The
bytesdo not represent a valid value forSelf.
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 Attribute
impl Deserializable for Attribute
fn read_from<R>(source: &mut R) -> Result<Attribute, 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 ConstantOp
impl Deserializable for ConstantOp
fn read_from<R>(source: &mut R) -> Result<ConstantOp, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for HashKind
impl Deserializable for HashKind
fn read_from<R>(source: &mut R) -> Result<HashKind, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for ConstantValue
impl Deserializable for ConstantValue
fn read_from<R>(source: &mut R) -> Result<ConstantValue, 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 DebugVarLocation
impl Deserializable for DebugVarLocation
fn read_from<R>(
source: &mut R,
) -> Result<DebugVarLocation, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for Operation
impl Deserializable for Operation
Source§fn min_serialized_size() -> usize
fn min_serialized_size() -> usize
Returns the minimum serialized size: 1 byte opcode.
Some operations have additional payload (e.g., Push has 8 bytes for Felt), but the minimum is just the opcode byte.
fn read_from<R>(source: &mut R) -> Result<Operation, 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 SealingKey
impl Deserializable for SealingKey
fn read_from<R>(source: &mut R) -> Result<SealingKey, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for UnsealingKey
impl Deserializable for UnsealingKey
fn read_from<R>(source: &mut R) -> Result<UnsealingKey, 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 DebugTypeInfo
impl Deserializable for DebugTypeInfo
fn read_from<R>(source: &mut R) -> Result<DebugTypeInfo, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for Linkage
impl Deserializable for Linkage
fn read_from<R>(source: &mut R) -> Result<Linkage, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for WordSchema
impl Deserializable for WordSchema
fn read_from<R>(source: &mut R) -> Result<WordSchema, 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 StorageSlotDelta
impl Deserializable for StorageSlotDelta
fn read_from<R>(
source: &mut R,
) -> Result<StorageSlotDelta, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for AssetCallbackFlag
impl Deserializable for AssetCallbackFlag
fn read_from<R>(
source: &mut R,
) -> Result<AssetCallbackFlag, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for NoteAttachmentContent
impl Deserializable for NoteAttachmentContent
fn read_from<R>(
source: &mut R,
) -> Result<NoteAttachmentContent, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for Type
impl Deserializable for Type
fn read_from<R>(source: &mut R) -> Result<Type, 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 ()
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,
fn min_serialized_size() -> usize
Source§impl Deserializable for String
impl Deserializable for String
fn read_from<R>(source: &mut R) -> Result<String, DeserializationError>where
R: ByteReader,
fn min_serialized_size() -> usize
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 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 Ident
impl Deserializable for Ident
fn read_from<R>(source: &mut R) -> Result<Ident, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for PathBuf
impl Deserializable for PathBuf
fn read_from<R>(source: &mut R) -> Result<PathBuf, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for KernelLibrary
NOTE: Serialization of libraries is likely to be deprecated in a future release
impl Deserializable for KernelLibrary
NOTE: Serialization of libraries is likely to be deprecated in a future release
fn read_from<R>(source: &mut R) -> Result<KernelLibrary, 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 EcdsaRequest
impl Deserializable for EcdsaRequest
fn read_from<R>(source: &mut R) -> Result<EcdsaRequest, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for EddsaRequest
impl Deserializable for EddsaRequest
fn read_from<R>(source: &mut R) -> Result<EddsaRequest, 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 DebugVarId
impl Deserializable for DebugVarId
fn read_from<R>(source: &mut R) -> Result<DebugVarId, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for DebugInfo
impl Deserializable for DebugInfo
fn read_from<R>(source: &mut R) -> Result<DebugInfo, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for AsmOpId
impl Deserializable for AsmOpId
fn read_from<R>(source: &mut R) -> Result<AsmOpId, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for DecoratorId
impl Deserializable for DecoratorId
fn read_from<R>(source: &mut R) -> Result<DecoratorId, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for UntrustedMastForest
impl Deserializable for UntrustedMastForest
Source§fn read_from<R>(
source: &mut R,
) -> Result<UntrustedMastForest, DeserializationError>where
R: ByteReader,
fn read_from<R>(
source: &mut R,
) -> Result<UntrustedMastForest, DeserializationError>where
R: ByteReader,
Deserializes an super::UntrustedMastForest from a byte reader.
Note: This method does not apply budgeting. For untrusted input, prefer using
read_from_bytes which applies budgeted deserialization.
After deserialization, callers should use super::UntrustedMastForest::validate()
to verify structural integrity and recompute all node hashes before using
the forest.
Source§fn read_from_bytes(
bytes: &[u8],
) -> Result<UntrustedMastForest, DeserializationError>
fn read_from_bytes( bytes: &[u8], ) -> Result<UntrustedMastForest, DeserializationError>
Deserializes an super::UntrustedMastForest from bytes using budgeted deserialization.
This method uses a crate::serde::BudgetedReader with a budget equal to the input size
to protect against denial-of-service attacks from malicious input.
After deserialization, callers should use super::UntrustedMastForest::validate()
to verify structural integrity and recompute all node hashes before using
the forest.
Source§impl Deserializable for DebugVarInfo
impl Deserializable for DebugVarInfo
fn read_from<R>(source: &mut R) -> Result<DebugVarInfo, 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 Kernel
impl Deserializable for Kernel
fn read_from<R>(source: &mut R) -> Result<Kernel, 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 ProgramInfo
impl Deserializable for ProgramInfo
fn read_from<R>(source: &mut R) -> Result<ProgramInfo, 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 EncryptedData
impl Deserializable for EncryptedData
fn read_from<R>(source: &mut R) -> Result<EncryptedData, 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 SecretKey
impl Deserializable for SecretKey
fn read_from<R>(source: &mut R) -> Result<SecretKey, 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 Nonce
impl Deserializable for Nonce
fn read_from<R>(source: &mut R) -> Result<Nonce, 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 PublicKey
impl Deserializable for PublicKey
fn read_from<R>(source: &mut R) -> Result<PublicKey, 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 Signature
impl Deserializable for Signature
fn read_from<R>(source: &mut R) -> Result<Signature, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for PublicKey
impl Deserializable for PublicKey
fn read_from<R>(source: &mut R) -> Result<PublicKey, 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 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 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 SealedMessage
impl Deserializable for SealedMessage
fn read_from<R>(source: &mut R) -> Result<SealedMessage, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for Mmr
impl Deserializable for Mmr
fn read_from<R>(source: &mut R) -> Result<Mmr, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for PartialMerkleTree
impl Deserializable for PartialMerkleTree
Source§fn min_serialized_size() -> usize
fn min_serialized_size() -> usize
Minimum serialized size: u64 length prefix (0 entries).
fn read_from<R>(
source: &mut R,
) -> Result<PartialMerkleTree, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for MerkleProof
impl Deserializable for MerkleProof
fn read_from<R>(source: &mut R) -> Result<MerkleProof, 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 LineageId
Available on crate feature serde only.
impl Deserializable for LineageId
serde only.fn read_from<R>(source: &mut R) -> Result<LineageId, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for PartialSmt
impl Deserializable for PartialSmt
fn read_from<R>(source: &mut R) -> Result<PartialSmt, 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 FileLineCol
impl Deserializable for FileLineCol
fn read_from<R>(source: &mut R) -> Result<FileLineCol, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for ColumnNumber
impl Deserializable for ColumnNumber
fn read_from<R>(source: &mut R) -> Result<ColumnNumber, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for LineNumber
impl Deserializable for LineNumber
fn read_from<R>(source: &mut R) -> Result<LineNumber, 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 Uri
impl Deserializable for Uri
fn read_from<R>(source: &mut R) -> Result<Uri, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for DebugFieldInfo
impl Deserializable for DebugFieldInfo
fn read_from<R>(source: &mut R) -> Result<DebugFieldInfo, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for DebugFileInfo
impl Deserializable for DebugFileInfo
fn read_from<R>(source: &mut R) -> Result<DebugFileInfo, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for DebugFunctionInfo
impl Deserializable for DebugFunctionInfo
fn read_from<R>(
source: &mut R,
) -> Result<DebugFunctionInfo, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for DebugFunctionsSection
impl Deserializable for DebugFunctionsSection
fn read_from<R>(
source: &mut R,
) -> Result<DebugFunctionsSection, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for DebugInlinedCallInfo
impl Deserializable for DebugInlinedCallInfo
fn read_from<R>(
source: &mut R,
) -> Result<DebugInlinedCallInfo, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for DebugSourcesSection
impl Deserializable for DebugSourcesSection
fn read_from<R>(
source: &mut R,
) -> Result<DebugSourcesSection, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for DebugTypeIdx
impl Deserializable for DebugTypeIdx
fn read_from<R>(source: &mut R) -> Result<DebugTypeIdx, DeserializationError>where
R: ByteReader,
fn min_serialized_size() -> usize
Source§impl Deserializable for DebugTypesSection
impl Deserializable for DebugTypesSection
fn read_from<R>(
source: &mut R,
) -> Result<DebugTypesSection, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for DebugVariableInfo
impl Deserializable for DebugVariableInfo
fn read_from<R>(
source: &mut R,
) -> Result<DebugVariableInfo, DeserializationError>where
R: ByteReader,
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 PackageId
impl Deserializable for PackageId
fn read_from<R>(source: &mut R) -> Result<PackageId, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for ConstantExport
impl Deserializable for ConstantExport
fn read_from<R>(source: &mut R) -> Result<ConstantExport, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for TypeExport
impl Deserializable for TypeExport
fn read_from<R>(source: &mut R) -> Result<TypeExport, 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 AccountProcedureRoot
impl Deserializable for AccountProcedureRoot
fn read_from<R>(
source: &mut R,
) -> Result<AccountProcedureRoot, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for MapSlotSchema
impl Deserializable for MapSlotSchema
fn read_from<R>(source: &mut R) -> Result<MapSlotSchema, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for ValueSlotSchema
impl Deserializable for ValueSlotSchema
fn read_from<R>(source: &mut R) -> Result<ValueSlotSchema, 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 BatchAccountUpdate
impl Deserializable for BatchAccountUpdate
fn read_from<R>(
source: &mut R,
) -> Result<BatchAccountUpdate, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for BatchId
impl Deserializable for BatchId
fn read_from<R>(source: &mut R) -> Result<BatchId, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for BatchNoteTree
impl Deserializable for BatchNoteTree
fn read_from<R>(source: &mut R) -> Result<BatchNoteTree, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for OrderedBatches
impl Deserializable for OrderedBatches
fn read_from<R>(source: &mut R) -> Result<OrderedBatches, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for ProposedBatch
impl Deserializable for ProposedBatch
fn read_from<R>(source: &mut R) -> Result<ProposedBatch, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for ProvenBatch
impl Deserializable for ProvenBatch
fn read_from<R>(source: &mut R) -> Result<ProvenBatch, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for AccountTree
impl Deserializable for AccountTree
fn read_from<R>(source: &mut R) -> Result<AccountTree, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for AccountWitness
impl Deserializable for AccountWitness
fn read_from<R>(source: &mut R) -> Result<AccountWitness, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for AccountUpdateWitness
impl Deserializable for AccountUpdateWitness
fn read_from<R>(
source: &mut R,
) -> Result<AccountUpdateWitness, 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 BlockBody
impl Deserializable for BlockBody
fn read_from<R>(source: &mut R) -> Result<BlockBody, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for BlockInputs
impl Deserializable for BlockInputs
fn read_from<R>(source: &mut R) -> Result<BlockInputs, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for BlockProof
impl Deserializable for BlockProof
fn read_from<R>(_source: &mut R) -> Result<BlockProof, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for Blockchain
impl Deserializable for Blockchain
fn read_from<R>(source: &mut R) -> Result<Blockchain, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for FeeParameters
impl Deserializable for FeeParameters
fn read_from<R>(source: &mut R) -> Result<FeeParameters, 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 NullifierTree
impl Deserializable for NullifierTree
fn read_from<R>(source: &mut R) -> Result<NullifierTree, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for NullifierWitness
impl Deserializable for NullifierWitness
fn read_from<R>(
source: &mut R,
) -> Result<NullifierWitness, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for ProposedBlock
impl Deserializable for ProposedBlock
fn read_from<R>(source: &mut R) -> Result<ProposedBlock, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for ProvenBlock
impl Deserializable for ProvenBlock
fn read_from<R>(source: &mut R) -> Result<ProvenBlock, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for SignedBlock
impl Deserializable for SignedBlock
fn read_from<R>(source: &mut R) -> Result<SignedBlock, 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 AccountInputs
impl Deserializable for AccountInputs
fn read_from<R>(source: &mut R) -> Result<AccountInputs, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for OrderedTransactionHeaders
impl Deserializable for OrderedTransactionHeaders
fn read_from<R>(
source: &mut R,
) -> Result<OrderedTransactionHeaders, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for PrivateNoteHeader
impl Deserializable for PrivateNoteHeader
fn read_from<R>(
source: &mut R,
) -> Result<PrivateNoteHeader, 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 PartialBlockchain
impl Deserializable for PartialBlockchain
fn read_from<R>(
source: &mut R,
) -> Result<PartialBlockchain, 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 TransactionHeader
impl Deserializable for TransactionHeader
fn read_from<R>(
source: &mut R,
) -> Result<TransactionHeader, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for FunctionType
Provides FunctionType deserialization support via the miden-serde-utils serializer.
impl Deserializable for FunctionType
Provides FunctionType deserialization support via the miden-serde-utils serializer.
This is a temporary implementation to allow type information to be serialized with libraries,
but in a future release we’ll either rely on the serde serialization for these types, or
provide the serialization implementation in midenc-hir-type instead
fn read_from<R>(source: &mut R) -> Result<FunctionType, DeserializationError>where
R: ByteReader,
Source§impl Deserializable for Goldilocks
impl Deserializable for Goldilocks
fn read_from<R>(source: &mut R) -> Result<Goldilocks, DeserializationError>where
R: ByteReader,
Source§impl<I, D> Deserializable for CsrMatrix<I, D>where
I: Idx,
D: Deserializable,
impl<I, D> Deserializable for CsrMatrix<I, D>where
I: Idx,
D: Deserializable,
Source§fn min_serialized_size() -> usize
fn min_serialized_size() -> usize
Returns the minimum serialized size for a CsrMatrix.
A CsrMatrix serializes as:
- data_len (vint, minimum 1 byte)
- data elements (minimum 0 if empty)
- indptr_len (vint, minimum 1 byte)
- indptr elements (minimum 0 if empty)
Total minimum: 2 bytes (two vint length prefixes for empty matrix)
fn read_from<R>(source: &mut R) -> Result<CsrMatrix<I, D>, DeserializationError>where
R: ByteReader,
Source§impl<I, T> Deserializable for IndexVec<I, T>where
I: Idx,
T: Deserializable,
impl<I, T> Deserializable for IndexVec<I, T>where
I: Idx,
T: Deserializable,
fn read_from<R>(source: &mut R) -> Result<IndexVec<I, T>, DeserializationError>where
R: ByteReader,
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,
fn min_serialized_size() -> usize
Source§impl<N> Deserializable for OutputNoteCollection<N>
impl<N> Deserializable for OutputNoteCollection<N>
fn read_from<R>(
source: &mut R,
) -> Result<OutputNoteCollection<N>, 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<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,
fn min_serialized_size() -> usize
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,
fn min_serialized_size() -> usize
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,
fn min_serialized_size() -> usize
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,
fn min_serialized_size() -> usize
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,
fn min_serialized_size() -> usize
Source§impl<T> Deserializable for Option<T>where
T: Deserializable,
impl<T> Deserializable for Option<T>where
T: Deserializable,
Source§fn min_serialized_size() -> usize
fn min_serialized_size() -> usize
Returns 1 (just the bool discriminator).
The Some variant would be 1 + T::min_serialized_size(), but we use the minimum
to allow more elements through the early check.
fn read_from<R>(source: &mut R) -> Result<Option<T>, 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,
fn min_serialized_size() -> usize
Source§impl<T> Deserializable for Vec<T>where
T: Deserializable,
impl<T> Deserializable for Vec<T>where
T: Deserializable,
Source§fn min_serialized_size() -> usize
fn min_serialized_size() -> usize
Returns 1 (the minimum vint length prefix size).
The actual serialized size depends on the number of elements, which we don’t know at the point this is called. Using the minimum allows more elements through the early check; budget enforcement during actual reads provides the real protection.
fn read_from<R>(source: &mut R) -> Result<Vec<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 LexicographicWord<T>
Available on not (target_family=wasm and miden).
impl<T> Deserializable for LexicographicWord<T>
target_family=wasm and miden).fn read_from<R>(
source: &mut R,
) -> Result<LexicographicWord<T>, 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,
fn min_serialized_size() -> usize
Source§impl<const DEPTH: u8, K, V> Deserializable for MutationSet<DEPTH, K, V>
impl<const DEPTH: u8, K, V> Deserializable for MutationSet<DEPTH, K, V>
fn read_from<R>(
source: &mut R,
) -> Result<MutationSet<DEPTH, K, V>, DeserializationError>where
R: ByteReader,
Implementors§
impl Deserializable for StorageSlotSchema
impl Deserializable for AccountId
impl Deserializable for AccountIdPrefix
impl Deserializable for AccountType
impl Deserializable for StorageSlotContent
impl Deserializable for StorageSlotType
impl Deserializable for AddressId
impl Deserializable for ModuleKind
impl Deserializable for Asset
impl Deserializable for AuthScheme
impl Deserializable for AuthSecretKey
impl Deserializable for miden_client_cli::auth::PublicKey
impl Deserializable for miden_client_cli::auth::Signature
impl Deserializable for SigningInputs
impl Deserializable for SmtLeaf
impl Deserializable for NoteAttachmentKind
impl Deserializable for NoteFile
impl Deserializable for NoteType
impl Deserializable for InputNoteState
impl Deserializable for OutputNoteState
impl Deserializable for NoteTagSource
impl Deserializable for DiscardCause
impl Deserializable for ForeignAccount
impl Deserializable for InputNote
impl Deserializable for OutputNote
impl Deserializable for RawOutputNote
impl Deserializable for TransactionStatus
impl Deserializable for PackageExport
impl Deserializable for TargetType
impl Deserializable for AccountComponentMetadata
impl Deserializable for FeltSchema
impl Deserializable for SchemaType
impl Deserializable for StorageSchema
impl Deserializable for StorageValueName
impl Deserializable for Account
impl Deserializable for AccountCode
impl Deserializable for AccountDelta
impl Deserializable for AccountFile
impl Deserializable for AccountHeader
impl Deserializable for AccountStorage
impl Deserializable for Address
impl Deserializable for PartialAccount
impl Deserializable for PartialStorage
impl Deserializable for PartialStorageMap
impl Deserializable for StorageMap
impl Deserializable for StorageMapKey
impl Deserializable for StorageSlot
impl Deserializable for StorageSlotId
impl Deserializable for StorageSlotName
impl Deserializable for RoutingParameters
impl Deserializable for Library
NOTE: Serialization of libraries is likely to be deprecated in a future release
impl Deserializable for MastForest
impl Deserializable for AccountStorageDelta
impl Deserializable for AccountStorageHeader
impl Deserializable for AccountVaultDelta
impl Deserializable for AssetVault
impl Deserializable for AssetVaultKey
impl Deserializable for AssetWitness
impl Deserializable for FungibleAsset
impl Deserializable for FungibleAssetDelta
impl Deserializable for NonFungibleAsset
impl Deserializable for NonFungibleAssetDelta
impl Deserializable for PartialVault
impl Deserializable for StorageSlotHeader
impl Deserializable for BlockHeader
impl Deserializable for miden_client_cli::crypto::rpo_falcon512::PublicKey
impl Deserializable for miden_client_cli::crypto::rpo_falcon512::SecretKey
impl Deserializable for miden_client_cli::crypto::rpo_falcon512::Signature
impl Deserializable for Forest
impl Deserializable for InOrderIndex
impl Deserializable for MerklePath
impl Deserializable for MerkleStore
impl Deserializable for NodeIndex
impl Deserializable for PartialMmr
impl Deserializable for RandomCoin
impl Deserializable for Smt
impl Deserializable for SmtProof
impl Deserializable for SparseMerklePath
impl Deserializable for BlockNumber
impl Deserializable for Note
impl Deserializable for NoteAssets
impl Deserializable for NoteAttachment
impl Deserializable for NoteAttachmentScheme
impl Deserializable for NoteDetails
impl Deserializable for NoteHeader
impl Deserializable for NoteId
impl Deserializable for NoteInclusionProof
impl Deserializable for NoteLocation
impl Deserializable for NoteMetadata
impl Deserializable for NoteRecipient
impl Deserializable for NoteScript
impl Deserializable for NoteStorage
impl Deserializable for NoteTag
impl Deserializable for Nullifier
impl Deserializable for PartialNote
impl Deserializable for NoteInfo
impl Deserializable for NoteTransportCursor
impl Deserializable for AccountStorageRequirements
impl Deserializable for RpcLimits
impl Deserializable for CommittedNoteState
impl Deserializable for ConsumedAuthenticatedLocalNoteState
impl Deserializable for ConsumedExternalNoteState
impl Deserializable for ConsumedUnauthenticatedLocalNoteState
impl Deserializable for ExpectedNoteState
impl Deserializable for InvalidNoteState
impl Deserializable for NoteSubmissionData
impl Deserializable for ProcessingAuthenticatedNoteState
impl Deserializable for ProcessingUnauthenticatedNoteState
impl Deserializable for UnverifiedNoteState
impl Deserializable for InputNoteRecord
impl Deserializable for Felt
impl Deserializable for Word
target_family=wasm and miden).