pub trait Deserial: Sized {
// Required method
fn deserial<R>(source: &mut R) -> Result<Self, Error>
where R: ReadBytesExt;
}Expand description
Trait for types which can be recovered from byte sources.
Required Methods§
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 Deserial for SocketAddr
impl Deserial for SocketAddr
fn deserial<R>(source: &mut R) -> Result<SocketAddr, Error>where
R: ReadBytesExt,
Source§impl Deserial for Fp<MontBackend<FrConfig, 4>, 4>
impl Deserial for Fp<MontBackend<FrConfig, 4>, 4>
fn deserial<R>(source: &mut R) -> Result<Fp<MontBackend<FrConfig, 4>, 4>, Error>where
R: ReadBytesExt,
Source§impl Deserial for RistrettoPoint
impl Deserial for RistrettoPoint
fn deserial<R>(source: &mut R) -> Result<RistrettoPoint, Error>where
R: ReadBytesExt,
Source§impl Deserial for SigningKey
impl Deserial for SigningKey
fn deserial<R>(source: &mut R) -> Result<SigningKey, Error>where
R: ReadBytesExt,
Source§impl Deserial for VerifyingKey
impl Deserial for VerifyingKey
fn deserial<R>(source: &mut R) -> Result<VerifyingKey, Error>where
R: ReadBytesExt,
Source§impl<K, V> Deserial for BTreeMap<K, V>
Read a map where the first 8 bytes are taken as length in big endian.
The values must be serialized in strictly increasing order of keys.
impl<K, V> Deserial for BTreeMap<K, V>
Read a map where the first 8 bytes are taken as length in big endian. The values must be serialized in strictly increasing order of keys.
Source§impl<T> Deserial for Option<T>where
T: Deserial,
Deserialization is strict. It only accepts 0 or 1 tags.
impl<T> Deserial for Option<T>where
T: Deserial,
Deserialization is strict. It only accepts 0 or 1 tags.
Source§impl<T> Deserial for BTreeSet<T>
Read a set where the first 8 bytes are taken as length in big endian.
The values must be serialized in strictly increasing order.
impl<T> Deserial for BTreeSet<T>
Read a set where the first 8 bytes are taken as length in big endian. The values must be serialized in strictly increasing order.
Source§impl<T> Deserial for Rc<T>where
T: Deserial,
Use the underlying type’s instance. Note that serial + deserial does not
preserve sharing. It will allocate a new copy of the structure.
impl<T> Deserial for Rc<T>where
T: Deserial,
Use the underlying type’s instance. Note that serial + deserial does not preserve sharing. It will allocate a new copy of the structure.
Source§impl<T> Deserial for Vec<T>where
T: Deserial,
Read a vector where the first 8 bytes are taken as length in big endian.
impl<T> Deserial for Vec<T>where
T: Deserial,
Read a vector where the first 8 bytes are taken as length in big endian.
Source§impl<T> Deserial for PhantomData<T>
impl<T> Deserial for PhantomData<T>
fn deserial<R>(_source: &mut R) -> Result<PhantomData<T>, Error>where
R: ReadBytesExt,
Implementors§
impl Deserial for SchemeId
impl Deserial for VerifyKey
impl Deserial for Address
impl Deserial for DelegationTarget
impl Deserial for Level1Update
impl Deserial for OpenStatus
impl Deserial for ProtocolVersion
impl Deserial for RootUpdate
impl Deserial for UpdatePayload
impl Deserial for WasmVersion
impl Deserial for BlockItem<EncodedPayload>
impl Deserial for Payload
impl Deserial for Network
impl Deserial for Web3IdAttribute
impl Deserial for Keypair
impl Deserial for concordium_rust_sdk::ecvrf::Proof
Implements https://tools.ietf.org/html/draft-irtf-cfrg-vrf-07.html#section-5.4.4
Construct a Proof from a slice of bytes. This function always
results in a valid proof object.
impl Deserial for concordium_rust_sdk::ecvrf::PublicKey
Construct a PublicKey from a slice of bytes. This function always
results in a valid public key, in particular the curve point is not of
small order (and hence also not a point at infinity).
impl Deserial for concordium_rust_sdk::ecvrf::SecretKey
Construct a SecretKey from a slice of bytes.
impl Deserial for Ed25519DlogProof
impl Deserial for EncryptedAmountAggIndex
impl Deserial for EncryptedAmountIndex
impl Deserial for AttributeKind
impl Deserial for Threshold
impl Deserial for AccountOwnershipProof
impl Deserial for AccountOwnershipSignature
impl Deserial for ArIdentity
impl Deserial for AttributeTag
impl Deserial for ChoiceArParameters
impl Deserial for CredentialPublicKeys
impl Deserial for Description
impl Deserial for IpCdiSignature
impl Deserial for IpIdentity
impl Deserial for IpMetadata
impl Deserial for YearMonth
impl Deserial for RawCbor
impl Deserial for TokenId
impl Deserial for BlockSignature
impl Deserial for FinalizerIndex
impl Deserial for QuorumSignature
impl Deserial for TimeoutSignature
impl Deserial for Duration
impl Deserial for ModuleSource
impl Deserial for OwnedContractName
impl Deserial for OwnedParameter
impl Deserial for OwnedReceiveName
impl Deserial for WasmModule
impl Deserial for AbsoluteBlockHeight
impl Deserial for AccessStructure
impl Deserial for AccountIndex
impl Deserial for AmountFraction
impl Deserial for AuthorizationsV0
impl Deserial for BakerAggregationSignKey
impl Deserial for BakerAggregationVerifyKey
impl Deserial for BakerElectionSignKey
impl Deserial for BakerElectionVerifyKey
impl Deserial for BakerId
impl Deserial for BakerKeyPairs
impl Deserial for BakerParameters
impl Deserial for BakerSignatureSignKey
impl Deserial for BakerSignatureVerifyKey
impl Deserial for BlockHeight
impl Deserial for CapitalBound
impl Deserial for CommissionRanges
impl Deserial for CommissionRates
impl Deserial for ContractAddress
impl Deserial for CooldownParameters
impl Deserial for CreatePlt
impl Deserial for CredentialRegistrationID
impl Deserial for CredentialsPerBlockLimit
impl Deserial for DelegatorId
impl Deserial for DurationSeconds
impl Deserial for ElectionDifficulty
impl Deserial for Energy
impl Deserial for Epoch
impl Deserial for ExchangeRate
impl Deserial for FinalizationCommitteeParameters
impl Deserial for FinalizationIndex
impl Deserial for GASRewards
impl Deserial for GASRewardsV1
impl Deserial for GenesisIndex
impl Deserial for LeverageFactor
impl Deserial for Memo
impl Deserial for MintDistributionV0
impl Deserial for MintDistributionV1
impl Deserial for MintRate
impl Deserial for Nonce
impl Deserial for PartsPerHundredThousands
impl Deserial for PoolParameters
impl Deserial for ProtocolUpdate
impl Deserial for RegisteredData
impl Deserial for RewardPeriodLength
impl Deserial for Round
impl Deserial for Slot
impl Deserial for SlotDuration
impl Deserial for TimeParameters
impl Deserial for TimeoutParameters
impl Deserial for TransactionFeeDistribution
impl Deserial for TransactionIndex
impl Deserial for UpdateHeader
impl Deserial for UpdateInstruction
impl Deserial for UpdateInstructionSignature
impl Deserial for UpdateKeysIndex
impl Deserial for UpdateKeysThreshold
impl Deserial for UpdatePublicKey
impl Deserial for UpdateSequenceNumber
impl Deserial for UrlText
impl Deserial for ValidatorScoreParameters
impl Deserial for PreAccountTransaction
impl Deserial for AccountAccessStructure
impl Deserial for AccountTransaction<Payload>
impl Deserial for AccountTransaction<EncodedPayload>
impl Deserial for AddBakerPayload
impl Deserial for InitContractPayload
impl Deserial for PayloadSize
impl Deserial for TransactionHeader
impl Deserial for UpdateContractPayload
impl Deserial for Challenge
impl Deserial for Version
impl Deserial for AccountAddress
impl Deserial for Amount
impl Deserial for CredentialIndex
impl Deserial for KeyIndex
impl Deserial for concordium_rust_sdk::common::types::Ratio
impl Deserial for concordium_rust_sdk::common::types::Signature
impl Deserial for Timestamp
impl Deserial for TransactionSignature
impl Deserial for TransactionTime
impl<C1, C2> Deserial for concordium_base::sigma_protocols::com_eq_different_groups::Response<C1, C2>
impl<C> Deserial for AggregatedDecryptedAmount<C>where
C: Curve,
impl<C> Deserial for EncryptedAmount<C>where
C: Curve,
impl<C> Deserial for EncryptedAmountTransferData<C>where
C: Curve,
impl<C> Deserial for EncryptedAmountTransferProof<C>where
C: Curve,
impl<C> Deserial for IndexedEncryptedAmount<C>where
C: Curve,
impl<C> Deserial for SecToPubAmountTransferData<C>where
C: Curve,
impl<C> Deserial for SecToPubAmountTransferProof<C>where
C: Curve,
impl<C> Deserial for concordium_rust_sdk::id::dodis_yampolskiy_prf::SecretKey<C>where
C: Curve,
impl<C> Deserial for BabyStepGiantStep<C>where
C: Curve,
impl<C> Deserial for Cipher<C>where
C: Curve,
impl<C> Deserial for Message<C>where
C: Curve,
impl<C> Deserial for concordium_rust_sdk::id::elgamal::PublicKey<C>where
C: Curve,
impl<C> Deserial for concordium_rust_sdk::id::elgamal::Randomness<C>where
C: Curve,
impl<C> Deserial for concordium_rust_sdk::id::elgamal::SecretKey<C>where
C: Curve,
impl<C> Deserial for Commitment<C>where
C: Curve,
impl<C> Deserial for CommitmentKey<C>where
C: Curve,
impl<C> Deserial for concordium_rust_sdk::id::pedersen_commitment::Randomness<C>where
C: Curve,
impl<C> Deserial for Value<C>where
C: Curve,
impl<C> Deserial for VecCommitmentKey<C>where
C: Curve,
impl<C> Deserial for KnownMessage<C>where
C: Pairing,
impl<C> Deserial for concordium_rust_sdk::id::ps_sig::PublicKey<C>where
C: Pairing,
impl<C> Deserial for concordium_rust_sdk::id::ps_sig::SecretKey<C>where
C: Pairing,
impl<C> Deserial for concordium_rust_sdk::id::ps_sig::Signature<C>where
C: Pairing,
impl<C> Deserial for UnknownMessage<C>where
C: Pairing,
impl<C> Deserial for Generators<C>where
C: Curve,
impl<C> Deserial for RangeProof<C>where
C: Curve,
impl<C> Deserial for AccCredentialInfo<C>where
C: Curve,
impl<C> Deserial for ArData<C>where
C: Curve,
impl<C> Deserial for ArInfo<C>where
C: Curve,
impl<C> Deserial for ChainArData<C>where
C: Curve,
impl<C> Deserial for ChainArDecryptedData<C>where
C: Curve,
impl<C> Deserial for CredentialDeploymentCommitments<C>where
C: Curve,
impl<C> Deserial for CredentialHolderInfo<C>where
C: Curve,
impl<C> Deserial for GlobalContext<C>where
C: Curve,
impl<C> Deserial for IdCredentials<C>where
C: Curve,
impl<C> Deserial for IpAnonymityRevokers<C>where
C: Curve,
impl<C> Deserial for IpArData<C>where
C: Curve,
impl<C> Deserial for IpArDecryptedData<C>where
C: Curve,
impl<C> Deserial for PublicInformationForIp<C>where
C: Curve,
impl<C> Deserial for SignedCommitments<C>where
C: Curve,
impl<C> Deserial for InnerProductProof<C>where
C: Curve,
impl<C> Deserial for SetMembershipProof<C>where
C: Curve,
impl<C> Deserial for SetNonMembershipProof<C>where
C: Curve,
impl<C> Deserial for concordium_base::sigma_protocols::aggregate_dlog::Response<C>where
C: Curve,
impl<C> Deserial for concordium_base::sigma_protocols::com_ineq::Response<C>where
C: Curve,
impl<C> Deserial for concordium_base::sigma_protocols::com_lin::Response<C>where
C: Curve,
impl<C> Deserial for concordium_base::sigma_protocols::com_mult::Response<C>where
C: Curve,
impl<C> Deserial for concordium_base::sigma_protocols::dlog::Response<C>where
C: Curve,
impl<C> Deserial for EncTransCommit<C>where
C: Curve,
impl<C> Deserial for EncTransResponse<C>where
C: Curve,
impl<C> Deserial for EncTransState<C>where
C: Curve,
impl<C> Deserial for concordium_base::sigma_protocols::vcom_eq::Response<C>where
C: Curve,
impl<C> Deserial for VecComEq<C>where
C: Curve,
impl<C, AttributeType> Deserial for AtomicProof<C, AttributeType>
impl<C, AttributeType> Deserial for AccountCredentialWithoutProofs<C, AttributeType>
impl<C, AttributeType> Deserial for concordium_rust_sdk::id::id_proof_types::Proof<C, AttributeType>
impl<C, AttributeType> Deserial for Statement<C, AttributeType>
impl<C, AttributeType> Deserial for StatementWithContext<C, AttributeType>
impl<C, AttributeType> Deserial for CredentialDeploymentValues<C, AttributeType>
impl<C, AttributeType> Deserial for InitialCredentialDeploymentInfo<C, AttributeType>
impl<C, AttributeType> Deserial for InitialCredentialDeploymentValues<C, AttributeType>
impl<C, AttributeType> Deserial for Policy<C, AttributeType>
impl<C, D> Deserial for CommittedMessages<C, D>
impl<C, TagType, AttributeType> Deserial for AtomicStatement<C, TagType, AttributeType>
impl<C, TagType, AttributeType> Deserial for AttributeInRangeStatement<C, TagType, AttributeType>
impl<C, TagType, AttributeType> Deserial for AttributeInSetStatement<C, TagType, AttributeType>
impl<C, TagType, AttributeType> Deserial for AttributeNotInSetStatement<C, TagType, AttributeType>
impl<F> Deserial for ArkField<F>where
F: Deserial,
Deserialization is implemented by delegating the functionality to the wrapped type.
impl<F, AttributeType> Deserial for AttributeList<F, AttributeType>
impl<G> Deserial for ArkGroup<G>where
G: CurveGroup,
Deserialization is implemented by delegating the functionality to the
compressed affine representation of ark_ec:CurveGroup.