Trait Deserialize
pub trait Deserialize {
let N: u32;
// Required methods
pub fn deserialize(fields: [Field; N]) -> Self;
}
Required methods
pub fn deserialize(fields: [Field; N]) -> Self
Implementors
impl Deserialize for ()
impl<T0, T1> Deserialize for (T0, T1)
where
T0: Deserialize,
T1: Deserialize
where
T0: Deserialize,
T1: Deserialize
impl<T0, T1, T2> Deserialize for (T0, T1, T2)
impl<T0, T1, T2, T3> Deserialize for (T0, T1, T2, T3)
impl<T0, T1, T2, T3, T4> Deserialize for (T0, T1, T2, T3, T4)
impl<T0, T1, T2, T3, T4, T5> Deserialize for (T0, T1, T2, T3, T4, T5)
where
T0: Deserialize,
T1: Deserialize,
T2: Deserialize,
T3: Deserialize,
T4: Deserialize,
T5: Deserialize
where
T0: Deserialize,
T1: Deserialize,
T2: Deserialize,
T3: Deserialize,
T4: Deserialize,
T5: Deserialize
impl<T1> Deserialize for (T1,)
where
T1: Deserialize
where
T1: Deserialize
impl Deserialize for AddressNote
impl Deserialize for AppendOnlyTreeSnapshot
impl Deserialize for AuthorizationSelector
impl Deserialize for AvmAccumulatedData
impl Deserialize for AvmAccumulatedDataArrayLengths
impl Deserialize for AvmCircuitPublicInputs
impl Deserialize for AztecAddress
impl Deserialize for BlockConstantData
impl Deserialize for BlockHeader
impl<let M: u32, T> Deserialize for BoundedVec<T, M>
where
T: Deserialize
where
T: Deserialize
impl Deserialize for CallContext
impl Deserialize for CheckpointConstantData
impl Deserialize for CheckpointHeader
impl<let N: u32, T> Deserialize for ClaimedLengthArray<T, N>
where
T: Deserialize
where
T: Deserialize
impl<let M: u32, let N: u32> Deserialize for CompressedString<N, M>
impl Deserialize for ContentCommitment
impl Deserialize for ContractClassId
impl Deserialize for ContractInstance
impl<T> Deserialize for Counted<T>
where
T: Deserialize
where
T: Deserialize
impl Deserialize for EmbeddedCurvePoint
impl Deserialize for Empty
impl Deserialize for EpochConstantData
impl Deserialize for EthAddress
impl Deserialize for EventSelector
impl Deserialize for Fancier
impl Deserialize for FeeRecipient
impl Deserialize for Field
impl Deserialize for FieldCompressedString
impl Deserialize for FunctionData
impl Deserialize for FunctionSelector
impl Deserialize for Gas
impl Deserialize for GasFees
impl Deserialize for GasSettings
impl Deserialize for GlobalVariables
impl Deserialize for HasArray
impl<let N: u32, T> Deserialize for HasArrayWithGenerics<T, N>
where
T: Deserialize
where
T: Deserialize
impl Deserialize for IvpkM
impl Deserialize for KeyValidationRequest
impl Deserialize for KeyValidationRequestAndGenerator
impl Deserialize for L2ToL1Message
impl<let N: u32> Deserialize for Log<N>
impl Deserialize for LogHash
impl<let M: u32, let N: u32> Deserialize for MembershipWitness<N, M>
impl Deserialize for MessageContext
impl Deserialize for MockStruct
impl Deserialize for NoteMetadata
impl Deserialize for NpkM
impl Deserialize for Nullifier
impl Deserialize for NullifierLeafPreimage
impl Deserialize for NullifierMembershipWitness
impl<T> Deserialize for Option<T>
where
T: Deserialize
where
T: Deserialize
impl Deserialize for OvpkM
impl Deserialize for PartialAddress
impl Deserialize for PartialStateReference
impl Deserialize for PartialUintNote
impl Deserialize for Poseidon2Sponge
impl Deserialize for PrivateCallRequest
impl Deserialize for PrivateCircuitPublicInputs
impl Deserialize for PrivateLogData
impl Deserialize for PrivateToAvmAccumulatedData
impl Deserialize for PrivateToAvmAccumulatedDataArrayLengths
impl Deserialize for PrivateToPublicAccumulatedData
impl Deserialize for PrivateToPublicKernelCircuitPublicInputs
impl Deserialize for PrivateToRollupAccumulatedData
impl Deserialize for PrivateToRollupKernelCircuitPublicInputs
impl Deserialize for ProtocolContracts
impl Deserialize for PublicCallRequest
impl Deserialize for PublicCallRequestArrayLengths
impl Deserialize for PublicDataTreeLeafPreimage
impl Deserialize for PublicDataWitness
impl Deserialize for PublicDataWrite
impl Deserialize for PublicKeys
impl Deserialize for PublicKeysHash
impl Deserialize for PublicLogs
impl<Note> Deserialize for RetrievedNote<Note>
where
Note: Deserialize
where
Note: Deserialize
impl<T> Deserialize for Scoped<T>
where
T: Deserialize
where
T: Deserialize
impl Deserialize for Smol
impl Deserialize for SpongeBlob
impl Deserialize for StateReference
impl Deserialize for TestAccount
impl Deserialize for TestValue
impl Deserialize for TpkM
impl Deserialize for TreeSnapshots
impl Deserialize for TxConstantData
impl Deserialize for TxContext
impl Deserialize for TxRequest
impl Deserialize for UintNote
impl Deserialize for ValueNote
impl<let M: u32, T> Deserialize for [T; M]
where
T: Deserialize
where
T: Deserialize
Trait for deserializing Noir types from arrays of Fields.
An implementation of the Deserialize trait has to follow Noir's intrinsic serialization (each member of a struct converted directly into one or more Fields without any packing or compression). This trait is typically used when deserializing return values from function calls in Noir. Since the same function could be called from TypeScript (TS), in which case the TS deserialization would get used, we need to have a match between the 2.
Associated Constants
N- The length of the input Field array, known at compile timeExample