Trait concordium_base::common::Serial
source · 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§
Implementations on Foreign Types§
source§impl<V: Serial> Serial for BTreeSet<V>
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§impl<K: Serial, V: Serial> Serial for BTreeMap<K, V>
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§impl<T: Serial> Serial for Option<T>
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§impl Serial for Fq12
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§impl Serial for SocketAddr
impl Serial for SocketAddr
source§impl<T: Serial> Serial for Vec<T>
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.
Implementors§
impl Serial for DelegationTarget
impl Serial for OpenStatus
impl Serial for ProtocolVersion
impl Serial for SchemeId
Serialization of relevant types.
impl Serial for VerifyKey
impl Serial for WasmVersion
impl Serial for Payload
impl Serial for Level1Update
impl Serial for RootUpdate
impl Serial for UpdatePayload
impl Serial for Address
impl Serial for AbsoluteBlockHeight
impl Serial for AccountIndex
impl Serial for AccountThreshold
impl Serial for AmountFraction
impl Serial for BakerAggregationSignKey
impl Serial for BakerAggregationVerifyKey
impl Serial for BakerElectionSignKey
impl Serial for BakerElectionVerifyKey
impl Serial for BakerId
impl Serial for BakerKeyPairs
impl Serial for BakerPoolInfo
impl Serial for BakerSignatureSignKey
impl Serial for BakerSignatureVerifyKey
impl Serial for BlockHeight
impl Serial for CapitalBound
impl Serial for CommissionRanges
impl Serial for CommissionRates
impl Serial for ContractAddress
impl Serial for CredentialRegistrationID
impl Serial for CredentialsPerBlockLimit
impl Serial for DelegatorId
impl Serial for DurationSeconds
impl Serial for ElectionDifficulty
impl Serial for Energy
impl Serial for Epoch
impl Serial for ExchangeRate
impl Serial for FinalizationIndex
impl Serial for GenesisIndex
impl Serial for LeverageFactor
impl Serial for MintDistributionV0
impl Serial for MintDistributionV1
impl Serial for MintRate
impl Serial for Nonce
impl Serial for PartsPerHundredThousands
impl Serial for Slot
impl Serial for SlotDuration
impl Serial for TransactionIndex
impl Serial for UpdateKeysIndex
impl Serial for UpdateKeysThreshold
impl Serial for UpdatePublicKey
impl Serial for UpdateSequenceNumber
impl Serial for UrlText
impl Serial for concordium_base::ecvrf::Keypair
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
impl Serial for concordium_base::ecvrf::PublicKey
impl Serial for concordium_base::ecvrf::SecretKey
impl Serial for Ed25519DlogProof
impl Serial for EncryptedAmountAggIndex
impl Serial for EncryptedAmountIndex
impl Serial for AttributeKind
impl Serial for RevealAttributeStatement
impl Serial for Threshold
impl Serial for AccountAddress
impl Serial for AccountOwnershipProof
impl Serial for AccountOwnershipSignature
impl Serial for ArIdentity
impl Serial for AttributeTag
impl Serial for ChoiceArParameters
impl Serial for CredentialPublicKeys
impl Serial for Description
impl Serial for IpCdiSignature
impl Serial for IpIdentity
impl Serial for IpMetadata
impl Serial for SignatureThreshold
impl Serial for YearMonth
impl Serial for Challenge
impl Serial for ContractName<'_>
impl Serial for ModuleSource
impl Serial for OwnedContractName
impl Serial for OwnedParameter
impl Serial for OwnedReceiveName
impl Serial for ReceiveName<'_>
impl Serial for WasmModule
impl Serial for PreAccountTransaction
Serialize only the header and payload, so that this can be deserialized as a transaction body.
impl Serial for AddBakerPayload
impl Serial for EncodedPayload
This serial instance does not have an inverse. It needs a context with the length.