pub trait Serializable {
// Required method
fn write_into<W>(&self, target: &mut W)
where W: ByteWriter;
// Provided methods
fn to_bytes(&self) -> Vec<u8> ⓘ { ... }
fn get_size_hint(&self) -> usize { ... }
}Expand description
Defines how to serialize Self into bytes.
Required Methods§
Sourcefn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
Serializes self into bytes and writes these bytes into the target.
Provided Methods§
Sourcefn get_size_hint(&self) -> usize
fn get_size_hint(&self) -> usize
Returns an estimate of how many bytes are needed to represent self.
The default implementation returns zero.
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 Serializable for Attribute
impl Serializable for Attribute
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
Source§impl Serializable for MetaExpr
impl Serializable for MetaExpr
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
Source§impl Serializable for ConstantOp
impl Serializable for ConstantOp
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
Source§impl Serializable for HashKind
impl Serializable for HashKind
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
Source§impl Serializable for ConstantValue
impl Serializable for ConstantValue
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
Source§impl Serializable for IntValue
impl Serializable for IntValue
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
Source§impl Serializable for DebugVarLocation
impl Serializable for DebugVarLocation
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
Source§impl Serializable for Operation
impl Serializable for Operation
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
Source§impl Serializable for HashFunction
impl Serializable for HashFunction
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
Source§impl Serializable for DebugTypeInfo
impl Serializable for DebugTypeInfo
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
Source§impl Serializable for str
impl Serializable for str
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
fn get_size_hint(&self) -> usize
Source§impl Serializable for u8
impl Serializable for u8
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
fn get_size_hint(&self) -> usize
Source§impl Serializable for u16
impl Serializable for u16
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
fn get_size_hint(&self) -> usize
Source§impl Serializable for u32
impl Serializable for u32
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
fn get_size_hint(&self) -> usize
Source§impl Serializable for u64
impl Serializable for u64
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
fn get_size_hint(&self) -> usize
Source§impl Serializable for u128
impl Serializable for u128
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
fn get_size_hint(&self) -> usize
Source§impl Serializable for ()
impl Serializable for ()
fn write_into<W>(&self, _target: &mut W)where
W: ByteWriter,
fn get_size_hint(&self) -> usize
Source§impl Serializable for usize
impl Serializable for usize
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
fn get_size_hint(&self) -> usize
Source§impl Serializable for String
impl Serializable for String
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
fn get_size_hint(&self) -> usize
Source§impl Serializable for PublicInputs
impl Serializable for PublicInputs
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
Source§impl Serializable for MetaKeyValue
impl Serializable for MetaKeyValue
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
Source§impl Serializable for MetaList
impl Serializable for MetaList
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
Source§impl Serializable for Ident
impl Serializable for Ident
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
Source§impl Serializable for PathBuf
impl Serializable for PathBuf
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
Source§impl Serializable for FunctionTypeSerializer<'_>
impl Serializable for FunctionTypeSerializer<'_>
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
Source§impl Serializable for TypeSerializer<'_>
impl Serializable for TypeSerializer<'_>
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
Source§impl Serializable for WordValue
impl Serializable for WordValue
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
Source§impl Serializable for EcdsaRequest
impl Serializable for EcdsaRequest
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
Source§impl Serializable for EddsaRequest
impl Serializable for EddsaRequest
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
Source§impl Serializable for EventName
impl Serializable for EventName
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
Source§impl Serializable for DebugVarInfo
impl Serializable for DebugVarInfo
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
Source§impl Serializable for PrecompileRequest
impl Serializable for PrecompileRequest
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
Source§impl Serializable for Kernel
impl Serializable for Kernel
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
Source§impl Serializable for EncryptedData
impl Serializable for EncryptedData
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
Source§impl Serializable for Nonce
impl Serializable for Nonce
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
Source§impl Serializable for SecretKey
impl Serializable for SecretKey
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
Source§impl Serializable for EncryptedData
impl Serializable for EncryptedData
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
Source§impl Serializable for Nonce
impl Serializable for Nonce
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
Source§impl Serializable for SecretKey
impl Serializable for SecretKey
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
Source§impl Serializable for EphemeralPublicKey
impl Serializable for EphemeralPublicKey
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
Source§impl Serializable for EphemeralPublicKey
impl Serializable for EphemeralPublicKey
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
Source§impl Serializable for FileLineCol
impl Serializable for FileLineCol
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
Source§impl Serializable for ColumnNumber
impl Serializable for ColumnNumber
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
Source§impl Serializable for LineNumber
impl Serializable for LineNumber
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
Source§impl Serializable for Uri
impl Serializable for Uri
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
Source§impl Serializable for DebugFieldInfo
impl Serializable for DebugFieldInfo
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
Source§impl Serializable for DebugFileInfo
impl Serializable for DebugFileInfo
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
Source§impl Serializable for DebugFunctionInfo
impl Serializable for DebugFunctionInfo
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
Source§impl Serializable for DebugFunctionsSection
impl Serializable for DebugFunctionsSection
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
Source§impl Serializable for DebugInlinedCallInfo
impl Serializable for DebugInlinedCallInfo
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
Source§impl Serializable for DebugSourcesSection
impl Serializable for DebugSourcesSection
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
Source§impl Serializable for DebugTypesSection
impl Serializable for DebugTypesSection
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
Source§impl Serializable for DebugVariableInfo
impl Serializable for DebugVariableInfo
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
Source§impl Serializable for Dependency
impl Serializable for Dependency
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
Source§impl Serializable for DependencyName
impl Serializable for DependencyName
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
Source§impl Serializable for ConstantExport
impl Serializable for ConstantExport
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
Source§impl Serializable for TypeExport
impl Serializable for TypeExport
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
Source§impl Serializable for Goldilocks
impl Serializable for Goldilocks
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
fn get_size_hint(&self) -> usize
Source§impl<K, V> Serializable for BTreeMap<K, V>where
K: Serializable,
V: Serializable,
impl<K, V> Serializable for BTreeMap<K, V>where
K: Serializable,
V: Serializable,
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
fn get_size_hint(&self) -> usize
Source§impl<T1> Serializable for (T1,)where
T1: Serializable,
impl<T1> Serializable for (T1,)where
T1: Serializable,
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
fn get_size_hint(&self) -> usize
Source§impl<T1, T2> Serializable for (T1, T2)where
T1: Serializable,
T2: Serializable,
impl<T1, T2> Serializable for (T1, T2)where
T1: Serializable,
T2: Serializable,
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
fn get_size_hint(&self) -> usize
Source§impl<T1, T2, T3> Serializable for (T1, T2, T3)
impl<T1, T2, T3> Serializable for (T1, T2, T3)
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
fn get_size_hint(&self) -> usize
Source§impl<T1, T2, T3, T4> Serializable for (T1, T2, T3, T4)
impl<T1, T2, T3, T4> Serializable for (T1, T2, T3, T4)
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
fn get_size_hint(&self) -> usize
Source§impl<T1, T2, T3, T4, T5> Serializable for (T1, T2, T3, T4, T5)
impl<T1, T2, T3, T4, T5> Serializable for (T1, T2, T3, T4, T5)
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
fn get_size_hint(&self) -> usize
Source§impl<T1, T2, T3, T4, T5, T6> Serializable for (T1, T2, T3, T4, T5, T6)where
T1: Serializable,
T2: Serializable,
T3: Serializable,
T4: Serializable,
T5: Serializable,
T6: Serializable,
impl<T1, T2, T3, T4, T5, T6> Serializable for (T1, T2, T3, T4, T5, T6)where
T1: Serializable,
T2: Serializable,
T3: Serializable,
T4: Serializable,
T5: Serializable,
T6: Serializable,
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
fn get_size_hint(&self) -> usize
Source§impl<T> Serializable for Option<T>where
T: Serializable,
impl<T> Serializable for Option<T>where
T: Serializable,
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
fn get_size_hint(&self) -> usize
Source§impl<T> Serializable for &Twhere
T: Serializable,
impl<T> Serializable for &Twhere
T: Serializable,
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
fn get_size_hint(&self) -> usize
Source§impl<T> Serializable for [T]where
T: Serializable,
impl<T> Serializable for [T]where
T: Serializable,
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
fn get_size_hint(&self) -> usize
Source§impl<T> Serializable for BTreeSet<T>where
T: Serializable,
impl<T> Serializable for BTreeSet<T>where
T: Serializable,
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
fn get_size_hint(&self) -> usize
Source§impl<T> Serializable for Vec<T>where
T: Serializable,
impl<T> Serializable for Vec<T>where
T: Serializable,
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
fn get_size_hint(&self) -> usize
Source§impl<T> Serializable for Span<T>where
T: Serializable,
impl<T> Serializable for Span<T>where
T: Serializable,
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
Source§impl<T, const C: usize> Serializable for [T; C]where
T: Serializable,
impl<T, const C: usize> Serializable for [T; C]where
T: Serializable,
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
fn get_size_hint(&self) -> usize
Implementors§
impl Serializable for &miden_protocol::crypto::dsa::falcon512_poseidon2::Nonce
impl Serializable for &miden_protocol::crypto::dsa::falcon512_poseidon2::PublicKey
impl Serializable for &SignatureHeader
impl Serializable for &SignaturePoly
impl Serializable for AuthScheme
impl Serializable for AuthSecretKey
impl Serializable for miden_protocol::account::auth::PublicKey
impl Serializable for miden_protocol::account::auth::Signature
impl Serializable for StorageSlotSchema
impl Serializable for WordSchema
impl Serializable for AccountUpdateDetails
impl Serializable for StorageSlotDelta
impl Serializable for AccountId
impl Serializable for AccountIdPrefix
impl Serializable for AccountType
impl Serializable for StorageSlotContent
impl Serializable for StorageSlotType
impl Serializable for AddressId
impl Serializable for LibraryExport
NOTE: Deserialization is handled in the implementation for Library
impl Serializable for ModuleKind
impl Serializable for Asset
impl Serializable for NoteAttachmentContent
impl Serializable for NoteAttachmentKind
impl Serializable for NoteFile
impl Serializable for NoteType
impl Serializable for InputNote
impl Serializable for OutputNote
impl Serializable for RawOutputNote
impl Serializable for MastArtifact
impl Serializable for PackageExport
impl Serializable for SealingKey
impl Serializable for UnsealingKey
impl Serializable for NodeMutation
impl Serializable for SmtLeaf
impl Serializable for AccountProcedureRoot
impl Serializable for AccountCode
impl Serializable for FeltSchema
impl Serializable for MapSlotSchema
impl Serializable for SchemaType
impl Serializable for StorageSchema
impl Serializable for StorageValueName
impl Serializable for ValueSlotSchema
impl Serializable for AccountComponentMetadata
impl Serializable for AccountDelta
impl Serializable for AccountStorageDelta
impl Serializable for AccountVaultDelta
impl Serializable for FungibleAssetDelta
impl Serializable for NonFungibleAssetDelta
impl Serializable for StorageMapDelta
impl Serializable for AccountStorage
impl Serializable for AccountStorageHeader
impl Serializable for PartialStorage
impl Serializable for PartialStorageMap
impl Serializable for StorageMap
impl Serializable for StorageMapKey
impl Serializable for StorageSlot
impl Serializable for StorageSlotHeader
impl Serializable for StorageSlotId
impl Serializable for StorageSlotName
impl Serializable for Account
impl Serializable for AccountFile
impl Serializable for AccountHeader
impl Serializable for AccountIdPrefixV0
impl Serializable for AccountIdV0
impl Serializable for PartialAccount
impl Serializable for Address
impl Serializable for RoutingParameters
impl Serializable for AsmOpId
impl Serializable for DebugInfo
impl Serializable for DebugVarId
impl Serializable for DecoratorId
impl Serializable for KernelLibrary
NOTE: Serialization of libraries is likely to be deprecated in a future release
impl Serializable for Library
NOTE: Serialization of libraries is likely to be deprecated in a future release
impl Serializable for Path
impl Serializable for SourceSpan
impl Serializable for AssetVault
impl Serializable for AssetWitness
impl Serializable for FungibleAsset
impl Serializable for NonFungibleAsset
impl Serializable for PartialVault
impl Serializable for BatchAccountUpdate
impl Serializable for BatchId
impl Serializable for BatchNoteTree
impl Serializable for OrderedBatches
impl Serializable for ProposedBatch
impl Serializable for ProvenBatch
impl Serializable for AccountTree
impl Serializable for AccountWitness
impl Serializable for NullifierTree
impl Serializable for NullifierWitness
impl Serializable for AccountUpdateWitness
impl Serializable for BlockAccountUpdate
impl Serializable for BlockBody
impl Serializable for BlockHeader
impl Serializable for BlockInputs
impl Serializable for BlockNoteTree
impl Serializable for BlockNumber
impl Serializable for BlockProof
impl Serializable for Blockchain
impl Serializable for FeeParameters
impl Serializable for ProposedBlock
impl Serializable for ProvenBlock
impl Serializable for SignedBlock
impl Serializable for Note
impl Serializable for NoteAssets
impl Serializable for NoteAttachment
impl Serializable for NoteAttachmentScheme
impl Serializable for NoteDetails
impl Serializable for NoteHeader
impl Serializable for NoteId
impl Serializable for NoteInclusionProof
impl Serializable for NoteLocation
impl Serializable for NoteMetadata
impl Serializable for NoteRecipient
impl Serializable for NoteScript
impl Serializable for NoteStorage
impl Serializable for NoteTag
impl Serializable for Nullifier
impl Serializable for PartialNote
impl Serializable for Felt
impl Serializable for MastForest
impl Serializable for Word
Available on not (
target_family=wasm and miden).impl Serializable for AccountInputs
impl Serializable for ExecutedTransaction
impl Serializable for InputNoteCommitment
impl Serializable for OrderedTransactionHeaders
impl Serializable for PartialBlockchain
impl Serializable for PrivateNoteHeader
impl Serializable for ProvenTransaction
impl Serializable for PublicOutputNote
impl Serializable for TransactionArgs
impl Serializable for TransactionHeader
impl Serializable for TransactionId
impl Serializable for TransactionInputs
impl Serializable for TransactionMeasurements
impl Serializable for TransactionOutputs
impl Serializable for TransactionScript
impl Serializable for TransactionSummary
impl Serializable for TxAccountUpdate
impl Serializable for AdviceInputs
impl Serializable for AdviceMap
impl Serializable for AttributeSet
impl Serializable for EventId
impl Serializable for ExecutionProof
impl Serializable for Package
impl Serializable for PackageManifest
impl Serializable for ProcedureExport
impl Serializable for Program
impl Serializable for ProgramInfo
impl Serializable for Section
impl Serializable for StackInputs
impl Serializable for StackOutputs
impl Serializable for miden_protocol::crypto::dsa::ecdsa_k256_keccak::PublicKey
impl Serializable for miden_protocol::crypto::dsa::ecdsa_k256_keccak::SecretKey
impl Serializable for miden_protocol::crypto::dsa::ecdsa_k256_keccak::Signature
impl Serializable for miden_protocol::crypto::dsa::eddsa_25519_sha512::PublicKey
impl Serializable for miden_protocol::crypto::dsa::eddsa_25519_sha512::SecretKey
impl Serializable for miden_protocol::crypto::dsa::eddsa_25519_sha512::Signature
impl Serializable for miden_protocol::crypto::dsa::falcon512_poseidon2::SecretKey
impl Serializable for miden_protocol::crypto::dsa::falcon512_poseidon2::Signature
impl Serializable for SealedMessage
impl Serializable for Forest
impl Serializable for InOrderIndex
impl Serializable for Mmr
impl Serializable for PartialMmr
impl Serializable for PartialSmt
impl Serializable for Smt
impl Serializable for SmtProof
impl Serializable for MerkleStore
impl Serializable for StoreNode
impl Serializable for MerklePath
impl Serializable for MerkleProof
impl Serializable for NodeIndex
impl Serializable for PartialMerkleTree
impl Serializable for RootPath
impl Serializable for SparseMerklePath
impl Serializable for RpoRandomCoin
impl Serializable for RpxRandomCoin
impl<I, D> Serializable for CsrMatrix<I, D>where
I: Idx,
D: Serializable,
impl<I, T> Serializable for IndexVec<I, T>where
I: Idx,
T: Serializable,
impl<N: Serializable> Serializable for OutputNoteCollection<N>
impl<T> Serializable for LexicographicWord<T>
Available on not (
target_family=wasm and miden).