Trait TransactionDigest

Source
pub trait TransactionDigest<A: Authorization> {
    type HeaderDigest;
    type TransparentDigest;
    type SaplingDigest;
    type OrchardDigest;
    type Digest;

    // Required methods
    fn digest_header(
        &self,
        version: TxVersion,
        consensus_branch_id: BranchId,
        lock_time: u32,
        expiry_height: BlockHeight,
    ) -> Self::HeaderDigest;
    fn digest_transparent(
        &self,
        transparent_bundle: Option<&Bundle<A::TransparentAuth>>,
    ) -> Self::TransparentDigest;
    fn digest_sapling(
        &self,
        sapling_bundle: Option<&Bundle<A::SaplingAuth, ZatBalance>>,
    ) -> Self::SaplingDigest;
    fn digest_orchard(
        &self,
        orchard_bundle: Option<&Bundle<A::OrchardAuth, ZatBalance>>,
    ) -> Self::OrchardDigest;
    fn combine(
        &self,
        header_digest: Self::HeaderDigest,
        transparent_digest: Self::TransparentDigest,
        sapling_digest: Self::SaplingDigest,
        orchard_digest: Self::OrchardDigest,
    ) -> Self::Digest;
}

Required Associated Types§

Required Methods§

Source

fn digest_header( &self, version: TxVersion, consensus_branch_id: BranchId, lock_time: u32, expiry_height: BlockHeight, ) -> Self::HeaderDigest

Source

fn digest_transparent( &self, transparent_bundle: Option<&Bundle<A::TransparentAuth>>, ) -> Self::TransparentDigest

Source

fn digest_sapling( &self, sapling_bundle: Option<&Bundle<A::SaplingAuth, ZatBalance>>, ) -> Self::SaplingDigest

Source

fn digest_orchard( &self, orchard_bundle: Option<&Bundle<A::OrchardAuth, ZatBalance>>, ) -> Self::OrchardDigest

Source

fn combine( &self, header_digest: Self::HeaderDigest, transparent_digest: Self::TransparentDigest, sapling_digest: Self::SaplingDigest, orchard_digest: Self::OrchardDigest, ) -> Self::Digest

Implementors§