pub trait Deserial: Sized {
    // Required method
    fn deserial<R: ReadBytesExt>(source: &mut R) -> ParseResult<Self>;
}
Expand description

Trait for types which can be recovered from byte sources.

Required Methods§

Implementations on Foreign Types§

source§

impl Deserial for NonZeroI64

source§

impl Deserial for u64

source§

impl Deserial for i8

source§

impl Deserial for Ipv4Addr

source§

impl<T: Deserial> Deserial for Box<T>

source§

impl<T: Deserial, const N: usize> Deserial for [T; N]

source§

impl Deserial for u128

source§

impl Deserial for SocketAddr

source§

impl<T: Deserial + Eq + Hash, S: BuildHasher + Default> Deserial for HashSet<T, S>

source§

impl Deserial for Fr

source§

impl<T: Deserial + Ord> 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 Deserial for G2Affine

source§

impl<T: Deserial, S: Deserial, U: Deserial> Deserial for (T, S, U)

source§

impl<T: Deserial> Deserial for Option<T>

Deserialization is strict. It only accepts 0 or 1 tags.

source§

impl Deserial for bool

source§

impl Deserial for NonZeroI8

source§

impl Deserial for NonZeroI16

source§

impl Deserial for i16

source§

impl Deserial for u16

source§

impl Deserial for i128

source§

impl Deserial for NonZeroU16

source§

impl Deserial for NonZeroI32

source§

impl Deserial for PublicKey

source§

impl Deserial for G1

source§

impl<T> Deserial for PhantomData<T>

source§

impl<K: Deserial + Ord, V: Deserial> 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 Deserial for Signature

source§

impl<T: Deserial> Deserial for Vec<T>

Read a vector where the first 8 bytes are taken as length in big endian.

source§

impl Deserial for SecretKey

source§

impl Deserial for i32

source§

impl Deserial for Keypair

source§

impl Deserial for u8

source§

impl Deserial for NonZeroU32

source§

impl Deserial for IpAddr

source§

impl Deserial for u32

source§

impl Deserial for Ipv6Addr

source§

impl Deserial for G2

source§

impl Deserial for i64

source§

impl Deserial for NonZeroU128

source§

impl Deserial for G1Affine

source§

impl<L: Deserial, R: Deserial> Deserial for Either<L, R>

source§

impl<T: Deserial> Deserial for Rc<T>

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 Deserial for NonZeroU64

source§

impl Deserial for NonZeroU8

source§

impl Deserial for NonZeroI128

source§

impl<T: Deserial, U: Deserial> Deserial for (T, U)

Implementors§

source§

impl Deserial for DelegationTarget

source§

impl Deserial for OpenStatus

source§

impl Deserial for ProtocolVersion

source§

impl Deserial for SchemeId

source§

impl Deserial for VerifyKey

source§

impl Deserial for WasmVersion

source§

impl Deserial for BlockItem<EncodedPayload>

source§

impl Deserial for Payload

source§

impl Deserial for Level1Update

source§

impl Deserial for RootUpdate

source§

impl Deserial for UpdatePayload

source§

impl Deserial for Address

source§

impl Deserial for AbsoluteBlockHeight

source§

impl Deserial for AccountIndex

source§

impl Deserial for AccountThreshold

source§

impl Deserial for AmountFraction

source§

impl Deserial for BakerAggregationSignKey

source§

impl Deserial for BakerAggregationVerifyKey

source§

impl Deserial for BakerElectionSignKey

source§

impl Deserial for BakerElectionVerifyKey

source§

impl Deserial for BakerId

source§

impl Deserial for BakerKeyPairs

source§

impl Deserial for BakerSignatureSignKey

source§

impl Deserial for BakerSignatureVerifyKey

source§

impl Deserial for BlockHeight

source§

impl Deserial for CapitalBound

source§

impl Deserial for CommissionRanges

source§

impl Deserial for CommissionRates

source§

impl Deserial for ContractAddress

source§

impl Deserial for CredentialRegistrationID

source§

impl Deserial for CredentialsPerBlockLimit

source§

impl Deserial for DelegatorId

source§

impl Deserial for DurationSeconds

source§

impl Deserial for ElectionDifficulty

source§

impl Deserial for Energy

source§

impl Deserial for Epoch

source§

impl Deserial for ExchangeRate

source§

impl Deserial for FinalizationIndex

source§

impl Deserial for GenesisIndex

source§

impl Deserial for LeverageFactor

source§

impl Deserial for MintDistributionV0

source§

impl Deserial for MintDistributionV1

source§

impl Deserial for MintRate

source§

impl Deserial for Nonce

source§

impl Deserial for PartsPerHundredThousands

source§

impl Deserial for Slot

source§

impl Deserial for SlotDuration

source§

impl Deserial for TransactionIndex

source§

impl Deserial for UpdateKeysIndex

source§

impl Deserial for UpdateKeysThreshold

source§

impl Deserial for UpdatePublicKey

source§

impl Deserial for UpdateSequenceNumber

source§

impl Deserial for UrlText

source§

impl Deserial for concordium_base::ecvrf::Keypair

source§

impl Deserial for concordium_base::ecvrf::Proof

Implements https://tools.ietf.org/id/draft-irtf-cfrg-vrf-07.html#rfc.section.5.4.4 Construct a Proof from a slice of bytes. This function always results in a valid proof object.

source§

impl Deserial for concordium_base::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).

source§

impl Deserial for concordium_base::ecvrf::SecretKey

Construct a SecretKey from a slice of bytes.

source§

impl Deserial for Ed25519DlogProof

source§

impl Deserial for EncryptedAmountAggIndex

source§

impl Deserial for EncryptedAmountIndex

source§

impl Deserial for AttributeKind

source§

impl Deserial for RevealAttributeStatement

source§

impl Deserial for Threshold

source§

impl Deserial for AccountAddress

source§

impl Deserial for AccountOwnershipProof

source§

impl Deserial for AccountOwnershipSignature

source§

impl Deserial for ArIdentity

source§

impl Deserial for AttributeTag

source§

impl Deserial for ChoiceArParameters

source§

impl Deserial for CredentialPublicKeys

source§

impl Deserial for Description

source§

impl Deserial for IpCdiSignature

source§

impl Deserial for IpIdentity

source§

impl Deserial for IpMetadata

source§

impl Deserial for SignatureThreshold

source§

impl Deserial for YearMonth

source§

impl Deserial for Challenge

source§

impl Deserial for ModuleSource

source§

impl Deserial for OwnedContractName

source§

impl Deserial for OwnedParameter

source§

impl Deserial for OwnedReceiveName

source§

impl Deserial for WasmModule

source§

impl Deserial for PreAccountTransaction

source§

impl Deserial for AccountTransaction<Payload>

source§

impl Deserial for AccountTransaction<EncodedPayload>

source§

impl Deserial for AddBakerPayload

source§

impl Deserial for InitContractPayload

source§

impl Deserial for Memo

source§

impl Deserial for PayloadSize

source§

impl Deserial for RegisteredData

source§

impl Deserial for TransactionHeader

source§

impl Deserial for UpdateContractPayload

source§

impl Deserial for AccessStructure

source§

impl Deserial for AuthorizationsV0

source§

impl Deserial for AuthorizationsV1

source§

impl Deserial for BakerParameters

source§

impl Deserial for CooldownParameters

source§

impl Deserial for GASRewards

source§

impl Deserial for PoolParameters

source§

impl Deserial for ProtocolUpdate

source§

impl Deserial for RewardPeriodLength

source§

impl Deserial for TimeParameters

source§

impl Deserial for TransactionFeeDistribution

source§

impl Deserial for UpdateHeader

source§

impl Deserial for UpdateInstruction

source§

impl Deserial for UpdateInstructionSignature

source§

impl Deserial for Version

source§

impl Deserial for Amount

source§

impl Deserial for CredentialIndex

source§

impl Deserial for KeyIndex

source§

impl Deserial for concordium_base::common::types::Signature

source§

impl Deserial for Timestamp

source§

impl Deserial for TransactionSignature

source§

impl Deserial for TransactionTime

source§

impl<C1: Curve, C2: Curve<Scalar = C1::Scalar>> Deserial for concordium_base::id::sigma_protocols::com_eq_different_groups::Witness<C1, C2>

source§

impl<C: Curve> Deserial for InnerProductProof<C>

source§

impl<C: Curve> Deserial for RangeProof<C>

source§

impl<C: Curve> Deserial for SetMembershipProof<C>

source§

impl<C: Curve> Deserial for SetNonMembershipProof<C>

source§

impl<C: Curve> Deserial for Generators<C>

source§

impl<C: Curve> Deserial for Value<C>

source§

impl<C: Curve> Deserial for concordium_base::dodis_yampolskiy_prf::SecretKey<C>

source§

impl<C: Curve> Deserial for BabyStepGiantStep<C>

source§

impl<C: Curve> Deserial for Cipher<C>

source§

impl<C: Curve> Deserial for Message<C>

source§

impl<C: Curve> Deserial for concordium_base::elgamal::PublicKey<C>

source§

impl<C: Curve> Deserial for concordium_base::elgamal::Randomness<C>

source§

impl<C: Curve> Deserial for concordium_base::elgamal::SecretKey<C>

source§

impl<C: Curve> Deserial for EncTransCommit<C>

source§

impl<C: Curve> Deserial for EncTransState<C>

source§

impl<C: Curve> Deserial for EncTransWitness<C>

source§

impl<C: Curve> Deserial for AggregatedDecryptedAmount<C>

source§

impl<C: Curve> Deserial for EncryptedAmount<C>

source§

impl<C: Curve> Deserial for EncryptedAmountTransferData<C>

source§

impl<C: Curve> Deserial for EncryptedAmountTransferProof<C>

source§

impl<C: Curve> Deserial for IndexedEncryptedAmount<C>

source§

impl<C: Curve> Deserial for SecToPubAmountTransferData<C>

source§

impl<C: Curve> Deserial for SecToPubAmountTransferProof<C>

source§

impl<C: Curve> Deserial for concordium_base::id::sigma_protocols::aggregate_dlog::Witness<C>

source§

impl<C: Curve> Deserial for concordium_base::id::sigma_protocols::com_lin::Witness<C>

source§

impl<C: Curve> Deserial for concordium_base::id::sigma_protocols::com_mult::Witness<C>

source§

impl<C: Curve> Deserial for concordium_base::id::sigma_protocols::dlog::Witness<C>

source§

impl<C: Curve> Deserial for concordium_base::id::sigma_protocols::vcom_eq::Witness<C>

source§

impl<C: Curve> Deserial for AccCredentialInfo<C>

source§

impl<C: Curve> Deserial for ArData<C>

source§

impl<C: Curve> Deserial for ArInfo<C>

source§

impl<C: Curve> Deserial for ChainArData<C>

source§

impl<C: Curve> Deserial for ChainArDecryptedData<C>

source§

impl<C: Curve> Deserial for CredentialDeploymentCommitments<C>

source§

impl<C: Curve> Deserial for CredentialHolderInfo<C>

source§

impl<C: Curve> Deserial for GlobalContext<C>

source§

impl<C: Curve> Deserial for IdCredentials<C>

source§

impl<C: Curve> Deserial for IpAnonymityRevokers<C>

source§

impl<C: Curve> Deserial for IpArData<C>

source§

impl<C: Curve> Deserial for IpArDecryptedData<C>

source§

impl<C: Curve> Deserial for PublicInformationForIp<C>

source§

impl<C: Curve> Deserial for Commitment<C>

source§

impl<C: Curve> Deserial for CommitmentKey<C>

source§

impl<C: Curve> Deserial for concordium_base::pedersen_commitment::Randomness<C>

source§

impl<C: Curve> Deserial for VecCommitmentKey<C>

source§

impl<C: Curve, AttributeType: Attribute<C::Scalar>> Deserial for AtomicProof<C, AttributeType>

source§

impl<C: Curve, AttributeType: Attribute<C::Scalar>> Deserial for AtomicStatement<C, AttributeType>

source§

impl<C: Curve, AttributeType: Attribute<C::Scalar>> Deserial for AttributeInRangeStatement<C, AttributeType>

source§

impl<C: Curve, AttributeType: Attribute<C::Scalar>> Deserial for AttributeInSetStatement<C, AttributeType>

source§

impl<C: Curve, AttributeType: Attribute<C::Scalar>> Deserial for AttributeNotInSetStatement<C, AttributeType>

source§

impl<C: Curve, AttributeType: Attribute<C::Scalar>> Deserial for concordium_base::id::id_proof_types::Proof<C, AttributeType>

source§

impl<C: Curve, AttributeType: Attribute<C::Scalar>> Deserial for Statement<C, AttributeType>

source§

impl<C: Curve, AttributeType: Attribute<C::Scalar>> Deserial for StatementWithContext<C, AttributeType>

source§

impl<C: Curve, AttributeType: Attribute<C::Scalar>> Deserial for CredentialDeploymentValues<C, AttributeType>

source§

impl<C: Curve, AttributeType: Attribute<C::Scalar>> Deserial for InitialCredentialDeploymentInfo<C, AttributeType>

source§

impl<C: Curve, AttributeType: Attribute<C::Scalar>> Deserial for InitialCredentialDeploymentValues<C, AttributeType>

source§

impl<C: Curve, AttributeType: Attribute<C::Scalar>> Deserial for Policy<C, AttributeType>

source§

impl<C: Curve, AttributeType: Deserial + Attribute<C::Scalar>> Deserial for AccountCredentialWithoutProofs<C, AttributeType>

source§

impl<C: Curve, D: Curve> Deserial for CommittedPoints<C, D>

source§

impl<C: Pairing> Deserial for KnownMessage<C>

source§

impl<C: Pairing> Deserial for concordium_base::ps_sig::PublicKey<C>

source§

impl<C: Pairing> Deserial for concordium_base::ps_sig::SecretKey<C>

source§

impl<C: Pairing> Deserial for concordium_base::ps_sig::Signature<C>

source§

impl<C: Pairing> Deserial for UnknownMessage<C>

source§

impl<F: Field, AttributeType: Attribute<F>> Deserial for AttributeList<F, AttributeType>

source§

impl<Kind> Deserial for HigherLevelAccessStructure<Kind>

source§

impl<P: Pairing> Deserial for concordium_base::aggregate_sig::PublicKey<P>

source§

impl<P: Pairing> Deserial for concordium_base::aggregate_sig::SecretKey<P>

source§

impl<P: Pairing> Deserial for concordium_base::aggregate_sig::Signature<P>

source§

impl<P: Pairing> Deserial for IpData<P>

source§

impl<P: Pairing> Deserial for IpInfo<P>

source§

impl<P: Pairing> Deserial for BlindedSignature<P>

source§

impl<P: Pairing> Deserial for BlindingRandomness<P>

source§

impl<P: Pairing> Deserial for SigRetrievalRandomness<P>

source§

impl<P: Pairing, C: Curve<Scalar = P::ScalarField>> Deserial for concordium_base::id::sigma_protocols::com_eq_sig::Witness<P, C>

source§

impl<P: Pairing, C: Curve<Scalar = P::ScalarField>> Deserial for CommonPioProofFields<P, C>

source§

impl<P: Pairing, C: Curve<Scalar = P::ScalarField>> Deserial for CredDeploymentProofs<P, C>

source§

impl<P: Pairing, C: Curve<Scalar = P::ScalarField>> Deserial for IdOwnershipProofs<P, C>

source§

impl<P: Pairing, C: Curve<Scalar = P::ScalarField>> Deserial for PreIdentityObject<P, C>

source§

impl<P: Pairing, C: Curve<Scalar = P::ScalarField>> Deserial for PreIdentityObjectV1<P, C>

source§

impl<P: Pairing, C: Curve<Scalar = P::ScalarField>> Deserial for PreIdentityProof<P, C>

source§

impl<P: Pairing, C: Curve<Scalar = P::ScalarField>, AttributeType: Attribute<C::Scalar>> Deserial for AccountCredential<P, C, AttributeType>

source§

impl<P: Pairing, C: Curve<Scalar = P::ScalarField>, AttributeType: Attribute<C::Scalar>> Deserial for AccountCredentialMessage<P, C, AttributeType>

source§

impl<P: Pairing, C: Curve<Scalar = P::ScalarField>, AttributeType: Attribute<C::Scalar>> Deserial for CredentialDeploymentInfo<P, C, AttributeType>

source§

impl<P: Pairing, C: Curve<Scalar = P::ScalarField>, AttributeType: Attribute<C::Scalar>> Deserial for UnsignedCredentialDeploymentInfo<P, C, AttributeType>

source§

impl<Purpose> Deserial for HashBytes<Purpose>

source§

impl<T: Curve> Deserial for concordium_base::id::sigma_protocols::com_enc_eq::Witness<T>

source§

impl<T: Curve> Deserial for concordium_base::id::sigma_protocols::com_eq::Witness<T>

source§

impl<T: Field + Serialize> Deserial for Secret<T>

source§

impl<T: Deserial + Ord> Deserial for InclusiveRange<T>

source§

impl<T: Deserial> Deserial for Versioned<T>

source§

impl<V> Deserial for BakerKeysPayload<V>

source§

impl<W1: Serialize, W2: Serialize> Deserial for AndWitness<W1, W2>

source§

impl<W: Serialize> Deserial for ReplicateWitness<W>

source§

impl<W: Serialize> Deserial for SigmaProof<W>