Trait StacksMessageCodec

Source
pub trait StacksMessageCodec {
    // Required methods
    fn consensus_serialize<W>(&self, fd: &mut W) -> Result<(), Error>
       where W: Write,
             Self: Sized;
    fn consensus_deserialize<R>(fd: &mut R) -> Result<Self, Error>
       where R: Read,
             Self: Sized;

    // Provided method
    fn serialize_to_vec(&self) -> Vec<u8> 
       where Self: Sized { ... }
}
Expand description

Helper trait for various primitive types that make up Stacks messages

Required Methods§

Source

fn consensus_serialize<W>(&self, fd: &mut W) -> Result<(), Error>
where W: Write, Self: Sized,

serialize implementors should never error unless there is an underlying failure in writing to the fd

Source

fn consensus_deserialize<R>(fd: &mut R) -> Result<Self, Error>
where R: Read, Self: Sized,

Provided Methods§

Source

fn serialize_to_vec(&self) -> Vec<u8>
where Self: Sized,

Convenience for serialization to a vec. this function unwraps any underlying serialization error

Implementations on Foreign Types§

Source§

impl StacksMessageCodec for (ConsensusHash, BurnchainHeaderHash)

Source§

impl StacksMessageCodec for i64

Source§

impl StacksMessageCodec for u8

Source§

impl StacksMessageCodec for u16

Source§

impl StacksMessageCodec for u32

Source§

impl StacksMessageCodec for u64

Source§

impl StacksMessageCodec for [u8; 20]

Source§

fn consensus_serialize<W>(&self, fd: &mut W) -> Result<(), Error>
where W: Write,

Source§

fn consensus_deserialize<R>(fd: &mut R) -> Result<[u8; 20], Error>
where R: Read,

Source§

impl StacksMessageCodec for [u8; 32]

Source§

fn consensus_serialize<W>(&self, fd: &mut W) -> Result<(), Error>
where W: Write,

Source§

fn consensus_deserialize<R>(fd: &mut R) -> Result<[u8; 32], Error>
where R: Read,

Source§

impl<T> StacksMessageCodec for Vec<T>

Source§

fn consensus_serialize<W>(&self, fd: &mut W) -> Result<(), Error>
where W: Write,

Source§

fn consensus_deserialize<R>(fd: &mut R) -> Result<Vec<T>, Error>
where R: Read,

Implementors§

Source§

impl StacksMessageCodec for Value

Note: the StacksMessageCodec implementation for Clarity values does not sanitize its serialization or deserialization.

Source§

impl StacksMessageCodec for PrincipalData

Source§

impl StacksMessageCodec for PostConditionPrincipal

Source§

impl StacksMessageCodec for TenureChangeCause

Source§

impl StacksMessageCodec for TransactionAuth

Source§

impl StacksMessageCodec for TransactionAuthField

Source§

impl StacksMessageCodec for TransactionPayload

Source§

impl StacksMessageCodec for TransactionPostCondition

Source§

impl StacksMessageCodec for TransactionSpendingCondition

Source§

impl StacksMessageCodec for BlockHeaderHash

Source§

impl StacksMessageCodec for BurnchainHeaderHash

Source§

impl StacksMessageCodec for ConsensusHash

Source§

impl StacksMessageCodec for SortitionId

Source§

impl StacksMessageCodec for StacksAddress

Source§

impl StacksMessageCodec for StacksBlockId

Source§

impl StacksMessageCodec for StacksWorkScore

Source§

impl StacksMessageCodec for TrieHash

Source§

impl StacksMessageCodec for PeerAddress

Source§

impl StacksMessageCodec for ClarityName

Source§

impl StacksMessageCodec for ContractName

Source§

impl StacksMessageCodec for stacks_codec::clarity::StacksPublicKeyBuffer

Source§

impl StacksMessageCodec for Hash160

Source§

impl StacksMessageCodec for Sha512Trunc256Sum

Source§

impl StacksMessageCodec for MessageSignature

Source§

impl StacksMessageCodec for VRFProof

Source§

impl StacksMessageCodec for AssetInfo

Source§

impl StacksMessageCodec for CoinbasePayload

Source§

impl StacksMessageCodec for MultisigSpendingCondition

Source§

impl StacksMessageCodec for SinglesigSpendingCondition

Source§

impl StacksMessageCodec for StacksMicroblockHeader

Source§

impl StacksMessageCodec for stacks_codec::codec::StacksPublicKeyBuffer

Source§

impl StacksMessageCodec for StacksString

Source§

impl StacksMessageCodec for StacksTransaction

Source§

impl StacksMessageCodec for TenureChangePayload

Source§

impl StacksMessageCodec for ThresholdSignature

Source§

impl StacksMessageCodec for TokenTransferMemo

Source§

impl StacksMessageCodec for TransactionContractCall

Source§

impl StacksMessageCodec for TransactionSmartContract

Source§

impl<const MAX_SIZE: u16> StacksMessageCodec for BitVec<MAX_SIZE>