pub trait Serial {
    // Required method
    fn serial<B: Buffer>(&self, _out: &mut B);
}
Expand description

Trait implemented by types which can be encoded into byte arrays. The intention is that the encoding is binary and not human readable.

Required Methods§

source

fn serial<B: Buffer>(&self, _out: &mut B)

Implementations on Foreign Types§

source§

impl<V: Serial> Serial for BTreeSet<V>

Serialize a set by encoding its size as a u64 in big endian and then the list of elements in increasing order.

source§

fn serial<B: Buffer>(&self, out: &mut B)

source§

impl Serial for NonZeroU64

source§

fn serial<B: Buffer>(&self, out: &mut B)

source§

impl Serial for PublicKey

source§

fn serial<B: Buffer>(&self, out: &mut B)

source§

impl<T: Serial> Serial for Rc<T>

Use the underlying type’s instance.

source§

fn serial<B: Buffer>(&self, out: &mut B)

source§

impl Serial for NonZeroI16

source§

fn serial<B: Buffer>(&self, out: &mut B)

source§

impl Serial for i16

source§

fn serial<B: Buffer>(&self, out: &mut B)

source§

impl Serial for i32

source§

fn serial<B: Buffer>(&self, out: &mut B)

source§

impl Serial for i64

source§

fn serial<B: Buffer>(&self, out: &mut B)

source§

impl Serial for NonZeroI128

source§

fn serial<B: Buffer>(&self, out: &mut B)

source§

impl<K: Serial, V: Serial> Serial for BTreeMap<K, V>

Serialize a map by encoding its size as a u64 in big endian and then the list of key-value pairs in increasing order of keys.

source§

fn serial<B: Buffer>(&self, out: &mut B)

source§

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

source§

fn serial<B: Buffer>(&self, out: &mut B)

source§

impl Serial for [u8]

source§

fn serial<B: Buffer>(&self, out: &mut B)

source§

impl Serial for Keypair

source§

fn serial<B: Buffer>(&self, out: &mut B)

source§

impl Serial for NonZeroU32

source§

fn serial<B: Buffer>(&self, out: &mut B)

source§

impl Serial for G2Affine

source§

fn serial<B: Buffer>(&self, out: &mut B)

source§

impl Serial for G1

source§

fn serial<B: Buffer>(&self, out: &mut B)

source§

impl Serial for NonZeroI32

source§

fn serial<B: Buffer>(&self, out: &mut B)

source§

impl Serial for Fr

source§

fn serial<B: Buffer>(&self, out: &mut B)

source§

impl<T: Serial, S: Serial> Serial for (T, S)

source§

fn serial<B: Buffer>(&self, out: &mut B)

source§

impl Serial for Signature

source§

fn serial<B: Buffer>(&self, out: &mut B)

source§

impl Serial for NonZeroI64

source§

fn serial<B: Buffer>(&self, out: &mut B)

source§

impl<T: Serial> Serial for Box<T>

source§

fn serial<B: Buffer>(&self, out: &mut B)

source§

impl Serial for SecretKey

source§

fn serial<B: Buffer>(&self, out: &mut B)

source§

impl Serial for Parameter<'_>

source§

fn serial<B: Buffer>(&self, out: &mut B)

source§

impl Serial for i8

source§

fn serial<B: Buffer>(&self, out: &mut B)

source§

impl<T> Serial for PhantomData<T>

source§

fn serial<B: Buffer>(&self, _out: &mut B)

source§

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

source§

fn serial<B: Buffer>(&self, out: &mut B)

source§

impl Serial for Ipv6Addr

source§

fn serial<W: WriteBytesExt>(&self, target: &mut W)

source§

impl Serial for u8

source§

fn serial<B: Buffer>(&self, out: &mut B)

source§

impl Serial for Ipv4Addr

source§

fn serial<W: WriteBytesExt>(&self, target: &mut W)

source§

impl Serial for NonZeroI8

source§

fn serial<B: Buffer>(&self, out: &mut B)

source§

impl<T: Serial> Serial for Option<T>

None is serialized as 0u8, Some(v) is serialized by prepending 1u8 to the serialization of v.

source§

fn serial<B: Buffer>(&self, out: &mut B)

source§

impl Serial for u32

source§

fn serial<B: Buffer>(&self, out: &mut B)

source§

impl Serial for NonZeroU128

source§

fn serial<B: Buffer>(&self, out: &mut B)

source§

impl Serial for Fq12

This implementation is ad-hoc, using the fact that Fq12 is defined via that specific tower of extensions (of degrees) 2 -> 3 -> 2, and the specific representation of those fields. We use big-endian representation all the way down to the field Fq.

source§

fn serial<B: Buffer>(&self, out: &mut B)

source§

impl Serial for SocketAddr

source§

fn serial<W: Buffer + WriteBytesExt>(&self, target: &mut W)

source§

impl Serial for NonZeroU8

source§

fn serial<B: Buffer>(&self, out: &mut B)

source§

impl Serial for G1Affine

source§

fn serial<B: Buffer>(&self, out: &mut B)

source§

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

source§

fn serial<W: Buffer + WriteBytesExt>(&self, target: &mut W)

source§

impl Serial for bool

source§

fn serial<B: Buffer>(&self, out: &mut B)

source§

impl Serial for G2

source§

fn serial<B: Buffer>(&self, out: &mut B)

source§

impl Serial for NonZeroU16

source§

fn serial<B: Buffer>(&self, out: &mut B)

source§

impl<T: Serial> Serial for Vec<T>

Serialize a vector by encoding its length as a u64 in big endian and then the list of elements in sequence.

source§

fn serial<B: Buffer>(&self, out: &mut B)

source§

impl Serial for u64

source§

fn serial<B: Buffer>(&self, out: &mut B)

source§

impl Serial for IpAddr

source§

fn serial<W: Buffer + WriteBytesExt>(&self, target: &mut W)

source§

impl<T: Serial> Serial for &T

source§

fn serial<W: Buffer + WriteBytesExt>(&self, target: &mut W)

source§

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

source§

fn serial<B: Buffer>(&self, out: &mut B)

source§

impl Serial for u16

source§

fn serial<B: Buffer>(&self, out: &mut B)

Implementors§

source§

impl Serial for DelegationTarget

source§

impl Serial for OpenStatus

source§

impl Serial for ProtocolVersion

source§

impl Serial for SchemeId

Serialization of relevant types.

source§

impl Serial for VerifyKey

source§

impl Serial for WasmVersion

source§

impl Serial for Payload

source§

impl Serial for Level1Update

source§

impl Serial for RootUpdate

source§

impl Serial for UpdatePayload

source§

impl Serial for Address

source§

impl Serial for AbsoluteBlockHeight

source§

impl Serial for AccountIndex

source§

impl Serial for AccountThreshold

source§

impl Serial for AmountFraction

source§

impl Serial for BakerAggregationSignKey

source§

impl Serial for BakerAggregationVerifyKey

source§

impl Serial for BakerElectionSignKey

source§

impl Serial for BakerElectionVerifyKey

source§

impl Serial for BakerId

source§

impl Serial for BakerKeyPairs

source§

impl Serial for BakerPoolInfo

source§

impl Serial for BakerSignatureSignKey

source§

impl Serial for BakerSignatureVerifyKey

source§

impl Serial for BlockHeight

source§

impl Serial for CapitalBound

source§

impl Serial for CommissionRanges

source§

impl Serial for CommissionRates

source§

impl Serial for ContractAddress

source§

impl Serial for CredentialRegistrationID

source§

impl Serial for CredentialsPerBlockLimit

source§

impl Serial for DelegatorId

source§

impl Serial for DurationSeconds

source§

impl Serial for ElectionDifficulty

source§

impl Serial for Energy

source§

impl Serial for Epoch

source§

impl Serial for ExchangeRate

source§

impl Serial for FinalizationIndex

source§

impl Serial for GenesisIndex

source§

impl Serial for LeverageFactor

source§

impl Serial for MintDistributionV0

source§

impl Serial for MintDistributionV1

source§

impl Serial for MintRate

source§

impl Serial for Nonce

source§

impl Serial for PartsPerHundredThousands

source§

impl Serial for Slot

source§

impl Serial for SlotDuration

source§

impl Serial for TransactionIndex

source§

impl Serial for UpdateKeysIndex

source§

impl Serial for UpdateKeysThreshold

source§

impl Serial for UpdatePublicKey

source§

impl Serial for UpdateSequenceNumber

source§

impl Serial for UrlText

source§

impl Serial for concordium_base::ecvrf::Keypair

source§

impl Serial for concordium_base::ecvrf::Proof

Implements step 8 of https://tools.ietf.org/id/draft-irtf-cfrg-vrf-07.html#rfc.section.5.1 i.e. transforms a proof to a byte string

source§

impl Serial for concordium_base::ecvrf::PublicKey

source§

impl Serial for concordium_base::ecvrf::SecretKey

source§

impl Serial for Ed25519DlogProof

source§

impl Serial for EncryptedAmountAggIndex

source§

impl Serial for EncryptedAmountIndex

source§

impl Serial for AttributeKind

source§

impl Serial for RevealAttributeStatement

source§

impl Serial for Threshold

source§

impl Serial for AccountAddress

source§

impl Serial for AccountOwnershipProof

source§

impl Serial for AccountOwnershipSignature

source§

impl Serial for ArIdentity

source§

impl Serial for AttributeTag

source§

impl Serial for ChoiceArParameters

source§

impl Serial for CredentialPublicKeys

source§

impl Serial for Description

source§

impl Serial for IpCdiSignature

source§

impl Serial for IpIdentity

source§

impl Serial for IpMetadata

source§

impl Serial for SignatureThreshold

source§

impl Serial for YearMonth

source§

impl Serial for Challenge

source§

impl Serial for ContractName<'_>

source§

impl Serial for ModuleSource

source§

impl Serial for OwnedContractName

source§

impl Serial for OwnedParameter

source§

impl Serial for OwnedReceiveName

source§

impl Serial for ReceiveName<'_>

source§

impl Serial for WasmModule

source§

impl Serial for PreAccountTransaction

Serialize only the header and payload, so that this can be deserialized as a transaction body.

source§

impl Serial for AddBakerPayload

source§

impl Serial for EncodedPayload

This serial instance does not have an inverse. It needs a context with the length.

source§

impl Serial for InitContractPayload

source§

impl Serial for Memo

source§

impl Serial for PayloadSize

source§

impl Serial for RegisteredData

source§

impl Serial for TransactionHeader

source§

impl Serial for UpdateContractPayload

source§

impl Serial for AccessStructure

source§

impl Serial for AuthorizationsV0

source§

impl Serial for AuthorizationsV1

source§

impl Serial for BakerParameters

source§

impl Serial for CooldownParameters

source§

impl Serial for GASRewards

source§

impl Serial for PoolParameters

source§

impl Serial for ProtocolUpdate

source§

impl Serial for RewardPeriodLength

source§

impl Serial for TimeParameters

source§

impl Serial for TransactionFeeDistribution

source§

impl Serial for UpdateHeader

source§

impl Serial for UpdateInstruction

source§

impl Serial for UpdateInstructionSignature

source§

impl Serial for Version

source§

impl Serial for Amount

source§

impl Serial for CredentialIndex

source§

impl Serial for KeyIndex

source§

impl Serial for concordium_base::common::types::Signature

source§

impl Serial for Timestamp

source§

impl Serial for TransactionSignature

source§

impl Serial for TransactionTime

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

impl<Kind> Serial for HigherLevelAccessStructure<Kind>

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

impl<P: PayloadLike> Serial for BlockItem<P>

source§

impl<P: PayloadLike> Serial for AccountTransaction<P>

source§

impl<P: Serial> Serial for ReplicatePoints<P>

source§

impl<Purpose> Serial for HashBytes<Purpose>

source§

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

source§

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

source§

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

source§

impl<T: Serial> Serial for InclusiveRange<T>

source§

impl<T: Serial> Serial for Versioned<T>

source§

impl<V> Serial for BakerKeysPayload<V>

source§

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

source§

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

source§

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