breez_sdk_liquid::lightning_125::bitcoin::hashes

Trait Hash

pub trait Hash:
    Copy
    + Clone
    + PartialEq
    + Eq
    + PartialOrd
    + Ord
    + Hash
    + Debug
    + Display
    + LowerHex
    + Index<RangeFull, Output = [u8], Output = [u8], Output = [u8], Output = [u8], Output = u8>
    + Index<RangeFrom<usize>>
    + Index<RangeTo<usize>>
    + Index<Range<usize>>
    + Index<usize>
    + Borrow<[u8]> {
    type Engine: HashEngine;
    type Bytes: FromHex + Copy;

    const LEN: usize;
    const DISPLAY_BACKWARD: bool = false;

    // Required methods
    fn from_engine(e: Self::Engine) -> Self;
    fn from_slice(sl: &[u8]) -> Result<Self, FromSliceError>;
    fn to_byte_array(self) -> Self::Bytes;
    fn as_byte_array(&self) -> &Self::Bytes;
    fn from_byte_array(bytes: Self::Bytes) -> Self;
    fn all_zeros() -> Self;

    // Provided methods
    fn engine() -> Self::Engine { ... }
    fn hash(data: &[u8]) -> Self { ... }
    fn hash_byte_chunks<B, I>(byte_slices: I) -> Self
       where B: AsRef<[u8]>,
             I: IntoIterator<Item = B> { ... }
}
Expand description

Trait which applies to hashes of all types.

Required Associated Constants§

const LEN: usize

Length of the hash, in bytes.

Provided Associated Constants§

const DISPLAY_BACKWARD: bool = false

Flag indicating whether user-visible serializations of this hash should be backward. For some reason Satoshi decided this should be true for Sha256dHash, so here we are.

Required Associated Types§

type Engine: HashEngine

A hashing engine which bytes can be serialized into. It is expected to implement the io::Write trait, and to never return errors under any conditions.

type Bytes: FromHex + Copy

The byte array that represents the hash internally.

Required Methods§

fn from_engine(e: Self::Engine) -> Self

Produces a hash from the current state of a given engine.

fn from_slice(sl: &[u8]) -> Result<Self, FromSliceError>

Copies a byte slice into a hash object.

fn to_byte_array(self) -> Self::Bytes

Returns the underlying byte array.

fn as_byte_array(&self) -> &Self::Bytes

Returns a reference to the underlying byte array.

fn from_byte_array(bytes: Self::Bytes) -> Self

Constructs a hash from the underlying byte array.

fn all_zeros() -> Self

Returns an all zero hash.

An all zeros hash is a made up construct because there is not a known input that can create it, however it is used in various places in Bitcoin e.g., the Bitcoin genesis block’s previous blockhash and the coinbase transaction’s outpoint txid.

Provided Methods§

fn engine() -> Self::Engine

Constructs a new engine.

fn hash(data: &[u8]) -> Self

Hashes some bytes.

fn hash_byte_chunks<B, I>(byte_slices: I) -> Self
where B: AsRef<[u8]>, I: IntoIterator<Item = B>,

Hashes all the byte slices retrieved from the iterator together.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

§

impl Hash for BlockHash

§

const LEN: usize = 32usize

§

const DISPLAY_BACKWARD: bool = true

§

type Engine = <Hash as Hash>::Engine

§

type Bytes = <Hash as Hash>::Bytes

§

fn engine() -> <BlockHash as Hash>::Engine

§

fn from_engine(e: <BlockHash as Hash>::Engine) -> BlockHash

§

fn from_slice(sl: &[u8]) -> Result<BlockHash, FromSliceError>

§

fn from_byte_array(bytes: <BlockHash as Hash>::Bytes) -> BlockHash

§

fn to_byte_array(self) -> <BlockHash as Hash>::Bytes

§

fn as_byte_array(&self) -> &<BlockHash as Hash>::Bytes

§

fn all_zeros() -> BlockHash

§

impl Hash for ContractHash

§

const LEN: usize = 32usize

§

const DISPLAY_BACKWARD: bool = true

§

type Engine = <Hash as Hash>::Engine

§

type Bytes = <Hash as Hash>::Bytes

§

fn engine() -> <ContractHash as Hash>::Engine

§

fn from_engine(e: <ContractHash as Hash>::Engine) -> ContractHash

§

fn from_slice(sl: &[u8]) -> Result<ContractHash, FromSliceError>

§

fn from_byte_array(bytes: <ContractHash as Hash>::Bytes) -> ContractHash

§

fn to_byte_array(self) -> <ContractHash as Hash>::Bytes

§

fn as_byte_array(&self) -> &<ContractHash as Hash>::Bytes

§

fn all_zeros() -> ContractHash

§

impl Hash for Elip151Hash

§

const LEN: usize = 32usize

§

const DISPLAY_BACKWARD: bool = false

§

type Engine = <Hash<Elip151Tag> as Hash>::Engine

§

type Bytes = <Hash<Elip151Tag> as Hash>::Bytes

§

fn engine() -> <Elip151Hash as Hash>::Engine

§

fn from_engine(e: <Elip151Hash as Hash>::Engine) -> Elip151Hash

§

fn from_slice(sl: &[u8]) -> Result<Elip151Hash, FromSliceError>

§

fn from_byte_array(bytes: <Elip151Hash as Hash>::Bytes) -> Elip151Hash

§

fn to_byte_array(self) -> <Elip151Hash as Hash>::Bytes

§

fn as_byte_array(&self) -> &<Elip151Hash as Hash>::Bytes

§

fn all_zeros() -> Elip151Hash

§

impl Hash for Hash

§

const LEN: usize = 32usize

§

const DISPLAY_BACKWARD: bool = false

§

type Engine = <Hash as Hash>::Engine

§

type Bytes = <Hash as Hash>::Bytes

§

fn engine() -> <Hash as Hash>::Engine

§

fn from_engine(e: <Hash as Hash>::Engine) -> Hash

§

fn from_slice(sl: &[u8]) -> Result<Hash, FromSliceError>

§

fn from_byte_array(bytes: <Hash as Hash>::Bytes) -> Hash

§

fn to_byte_array(self) -> <Hash as Hash>::Bytes

§

fn as_byte_array(&self) -> &<Hash as Hash>::Bytes

§

fn all_zeros() -> Hash

§

impl Hash for Hash

§

const LEN: usize = 32usize

§

const DISPLAY_BACKWARD: bool = false

§

type Engine = <Hash as Hash>::Engine

§

type Bytes = <Hash as Hash>::Bytes

§

fn engine() -> <Hash as Hash>::Engine

§

fn from_engine(e: <Hash as Hash>::Engine) -> Hash

§

fn from_slice(sl: &[u8]) -> Result<Hash, FromSliceError>

§

fn from_byte_array(bytes: <Hash as Hash>::Bytes) -> Hash

§

fn to_byte_array(self) -> <Hash as Hash>::Bytes

§

fn as_byte_array(&self) -> &<Hash as Hash>::Bytes

§

fn all_zeros() -> Hash

§

impl Hash for PubkeyHash

§

const LEN: usize = 20usize

§

const DISPLAY_BACKWARD: bool = false

§

type Engine = <Hash as Hash>::Engine

§

type Bytes = <Hash as Hash>::Bytes

§

fn engine() -> <PubkeyHash as Hash>::Engine

§

fn from_engine(e: <PubkeyHash as Hash>::Engine) -> PubkeyHash

§

fn from_slice(sl: &[u8]) -> Result<PubkeyHash, FromSliceError>

§

fn from_byte_array(bytes: <PubkeyHash as Hash>::Bytes) -> PubkeyHash

§

fn to_byte_array(self) -> <PubkeyHash as Hash>::Bytes

§

fn as_byte_array(&self) -> &<PubkeyHash as Hash>::Bytes

§

fn all_zeros() -> PubkeyHash

§

impl Hash for ScriptHash

§

const LEN: usize = 20usize

§

const DISPLAY_BACKWARD: bool = false

§

type Engine = <Hash as Hash>::Engine

§

type Bytes = <Hash as Hash>::Bytes

§

fn engine() -> <ScriptHash as Hash>::Engine

§

fn from_engine(e: <ScriptHash as Hash>::Engine) -> ScriptHash

§

fn from_slice(sl: &[u8]) -> Result<ScriptHash, FromSliceError>

§

fn from_byte_array(bytes: <ScriptHash as Hash>::Bytes) -> ScriptHash

§

fn to_byte_array(self) -> <ScriptHash as Hash>::Bytes

§

fn as_byte_array(&self) -> &<ScriptHash as Hash>::Bytes

§

fn all_zeros() -> ScriptHash

§

impl Hash for Sighash

§

const LEN: usize = 32usize

§

const DISPLAY_BACKWARD: bool = true

§

type Engine = <Hash as Hash>::Engine

§

type Bytes = <Hash as Hash>::Bytes

§

fn engine() -> <Sighash as Hash>::Engine

§

fn from_engine(e: <Sighash as Hash>::Engine) -> Sighash

§

fn from_slice(sl: &[u8]) -> Result<Sighash, FromSliceError>

§

fn from_byte_array(bytes: <Sighash as Hash>::Bytes) -> Sighash

§

fn to_byte_array(self) -> <Sighash as Hash>::Bytes

§

fn as_byte_array(&self) -> &<Sighash as Hash>::Bytes

§

fn all_zeros() -> Sighash

§

impl Hash for TapLeafHash

§

const LEN: usize = 32usize

§

const DISPLAY_BACKWARD: bool = false

§

type Engine = <Hash<TapLeafTag> as Hash>::Engine

§

type Bytes = <Hash<TapLeafTag> as Hash>::Bytes

§

fn engine() -> <TapLeafHash as Hash>::Engine

§

fn from_engine(e: <TapLeafHash as Hash>::Engine) -> TapLeafHash

§

fn from_slice(sl: &[u8]) -> Result<TapLeafHash, FromSliceError>

§

fn from_byte_array(bytes: <TapLeafHash as Hash>::Bytes) -> TapLeafHash

§

fn to_byte_array(self) -> <TapLeafHash as Hash>::Bytes

§

fn as_byte_array(&self) -> &<TapLeafHash as Hash>::Bytes

§

fn all_zeros() -> TapLeafHash

§

impl Hash for TapNodeHash

§

const LEN: usize = 32usize

§

const DISPLAY_BACKWARD: bool = false

§

type Engine = <Hash<TapBranchTag> as Hash>::Engine

§

type Bytes = <Hash<TapBranchTag> as Hash>::Bytes

§

fn engine() -> <TapNodeHash as Hash>::Engine

§

fn from_engine(e: <TapNodeHash as Hash>::Engine) -> TapNodeHash

§

fn from_slice(sl: &[u8]) -> Result<TapNodeHash, FromSliceError>

§

fn from_byte_array(bytes: <TapNodeHash as Hash>::Bytes) -> TapNodeHash

§

fn to_byte_array(self) -> <TapNodeHash as Hash>::Bytes

§

fn as_byte_array(&self) -> &<TapNodeHash as Hash>::Bytes

§

fn all_zeros() -> TapNodeHash

§

impl Hash for TapSighashHash

§

const LEN: usize = 32usize

§

const DISPLAY_BACKWARD: bool = false

§

type Engine = <Hash<TapSighashTag> as Hash>::Engine

§

type Bytes = <Hash<TapSighashTag> as Hash>::Bytes

§

fn engine() -> <TapSighashHash as Hash>::Engine

§

fn from_engine(e: <TapSighashHash as Hash>::Engine) -> TapSighashHash

§

fn from_slice(sl: &[u8]) -> Result<TapSighashHash, FromSliceError>

§

fn from_byte_array(bytes: <TapSighashHash as Hash>::Bytes) -> TapSighashHash

§

fn to_byte_array(self) -> <TapSighashHash as Hash>::Bytes

§

fn as_byte_array(&self) -> &<TapSighashHash as Hash>::Bytes

§

fn all_zeros() -> TapSighashHash

§

impl Hash for TapTweakHash

§

const LEN: usize = 32usize

§

const DISPLAY_BACKWARD: bool = false

§

type Engine = <Hash<TapTweakTag> as Hash>::Engine

§

type Bytes = <Hash<TapTweakTag> as Hash>::Bytes

§

fn engine() -> <TapTweakHash as Hash>::Engine

§

fn from_engine(e: <TapTweakHash as Hash>::Engine) -> TapTweakHash

§

fn from_slice(sl: &[u8]) -> Result<TapTweakHash, FromSliceError>

§

fn from_byte_array(bytes: <TapTweakHash as Hash>::Bytes) -> TapTweakHash

§

fn to_byte_array(self) -> <TapTweakHash as Hash>::Bytes

§

fn as_byte_array(&self) -> &<TapTweakHash as Hash>::Bytes

§

fn all_zeros() -> TapTweakHash

§

impl Hash for TapTweakHash

§

const LEN: usize = 32usize

§

const DISPLAY_BACKWARD: bool = false

§

type Engine = <Hash<TapTweakTag> as Hash>::Engine

§

type Bytes = <Hash<TapTweakTag> as Hash>::Bytes

§

fn engine() -> <TapTweakHash as Hash>::Engine

§

fn from_engine(e: <TapTweakHash as Hash>::Engine) -> TapTweakHash

§

fn from_slice(sl: &[u8]) -> Result<TapTweakHash, FromSliceError>

§

fn from_byte_array(bytes: <TapTweakHash as Hash>::Bytes) -> TapTweakHash

§

fn to_byte_array(self) -> <TapTweakHash as Hash>::Bytes

§

fn as_byte_array(&self) -> &<TapTweakHash as Hash>::Bytes

§

fn all_zeros() -> TapTweakHash

§

impl Hash for TxMerkleNode

§

const LEN: usize = 32usize

§

const DISPLAY_BACKWARD: bool = true

§

type Engine = <Hash as Hash>::Engine

§

type Bytes = <Hash as Hash>::Bytes

§

fn engine() -> <TxMerkleNode as Hash>::Engine

§

fn from_engine(e: <TxMerkleNode as Hash>::Engine) -> TxMerkleNode

§

fn from_slice(sl: &[u8]) -> Result<TxMerkleNode, FromSliceError>

§

fn from_byte_array(bytes: <TxMerkleNode as Hash>::Bytes) -> TxMerkleNode

§

fn to_byte_array(self) -> <TxMerkleNode as Hash>::Bytes

§

fn as_byte_array(&self) -> &<TxMerkleNode as Hash>::Bytes

§

fn all_zeros() -> TxMerkleNode

§

impl Hash for Txid

§

const LEN: usize = 32usize

§

const DISPLAY_BACKWARD: bool = true

§

type Engine = <Hash as Hash>::Engine

§

type Bytes = <Hash as Hash>::Bytes

§

fn engine() -> <Txid as Hash>::Engine

§

fn from_engine(e: <Txid as Hash>::Engine) -> Txid

§

fn from_slice(sl: &[u8]) -> Result<Txid, FromSliceError>

§

fn from_byte_array(bytes: <Txid as Hash>::Bytes) -> Txid

§

fn to_byte_array(self) -> <Txid as Hash>::Bytes

§

fn as_byte_array(&self) -> &<Txid as Hash>::Bytes

§

fn all_zeros() -> Txid

§

impl Hash for WPubkeyHash

§

const LEN: usize = 20usize

§

const DISPLAY_BACKWARD: bool = false

§

type Engine = <Hash as Hash>::Engine

§

type Bytes = <Hash as Hash>::Bytes

§

fn engine() -> <WPubkeyHash as Hash>::Engine

§

fn from_engine(e: <WPubkeyHash as Hash>::Engine) -> WPubkeyHash

§

fn from_slice(sl: &[u8]) -> Result<WPubkeyHash, FromSliceError>

§

fn from_byte_array(bytes: <WPubkeyHash as Hash>::Bytes) -> WPubkeyHash

§

fn to_byte_array(self) -> <WPubkeyHash as Hash>::Bytes

§

fn as_byte_array(&self) -> &<WPubkeyHash as Hash>::Bytes

§

fn all_zeros() -> WPubkeyHash

§

impl Hash for WScriptHash

§

const LEN: usize = 32usize

§

const DISPLAY_BACKWARD: bool = false

§

type Engine = <Hash as Hash>::Engine

§

type Bytes = <Hash as Hash>::Bytes

§

fn engine() -> <WScriptHash as Hash>::Engine

§

fn from_engine(e: <WScriptHash as Hash>::Engine) -> WScriptHash

§

fn from_slice(sl: &[u8]) -> Result<WScriptHash, FromSliceError>

§

fn from_byte_array(bytes: <WScriptHash as Hash>::Bytes) -> WScriptHash

§

fn to_byte_array(self) -> <WScriptHash as Hash>::Bytes

§

fn as_byte_array(&self) -> &<WScriptHash as Hash>::Bytes

§

fn all_zeros() -> WScriptHash

§

impl Hash for Wtxid

§

const LEN: usize = 32usize

§

const DISPLAY_BACKWARD: bool = true

§

type Engine = <Hash as Hash>::Engine

§

type Bytes = <Hash as Hash>::Bytes

§

fn engine() -> <Wtxid as Hash>::Engine

§

fn from_engine(e: <Wtxid as Hash>::Engine) -> Wtxid

§

fn from_slice(sl: &[u8]) -> Result<Wtxid, FromSliceError>

§

fn from_byte_array(bytes: <Wtxid as Hash>::Bytes) -> Wtxid

§

fn to_byte_array(self) -> <Wtxid as Hash>::Bytes

§

fn as_byte_array(&self) -> &<Wtxid as Hash>::Bytes

§

fn all_zeros() -> Wtxid

Implementors§

§

impl Hash for breez_sdk_liquid::lightning_125::bitcoin::BlockHash

§

const LEN: usize = 32usize

§

const DISPLAY_BACKWARD: bool = true

§

type Engine = <Hash as Hash>::Engine

§

type Bytes = <Hash as Hash>::Bytes

§

impl Hash for FilterHash

§

const LEN: usize = 32usize

§

const DISPLAY_BACKWARD: bool = true

§

type Engine = <Hash as Hash>::Engine

§

type Bytes = <Hash as Hash>::Bytes

§

impl Hash for FilterHeader

§

const LEN: usize = 32usize

§

const DISPLAY_BACKWARD: bool = true

§

type Engine = <Hash as Hash>::Engine

§

type Bytes = <Hash as Hash>::Bytes

§

impl Hash for LegacySighash

§

const LEN: usize = 32usize

§

const DISPLAY_BACKWARD: bool = false

§

type Engine = <Hash as Hash>::Engine

§

type Bytes = <Hash as Hash>::Bytes

§

impl Hash for breez_sdk_liquid::lightning_125::bitcoin::PubkeyHash

§

const LEN: usize = 20usize

§

const DISPLAY_BACKWARD: bool = false

§

type Engine = <Hash as Hash>::Engine

§

type Bytes = <Hash as Hash>::Bytes

§

impl Hash for breez_sdk_liquid::lightning_125::bitcoin::ScriptHash

§

const LEN: usize = 20usize

§

const DISPLAY_BACKWARD: bool = false

§

type Engine = <Hash as Hash>::Engine

§

type Bytes = <Hash as Hash>::Bytes

§

impl Hash for SegwitV0Sighash

§

const LEN: usize = 32usize

§

const DISPLAY_BACKWARD: bool = false

§

type Engine = <Hash as Hash>::Engine

§

type Bytes = <Hash as Hash>::Bytes

§

impl Hash for breez_sdk_liquid::lightning_125::bitcoin::TapLeafHash

§

const LEN: usize = 32usize

§

const DISPLAY_BACKWARD: bool = false

§

type Engine = <Hash<TapLeafTag> as Hash>::Engine

§

type Bytes = <Hash<TapLeafTag> as Hash>::Bytes

§

impl Hash for breez_sdk_liquid::lightning_125::bitcoin::TapNodeHash

§

const LEN: usize = 32usize

§

const DISPLAY_BACKWARD: bool = false

§

type Engine = <Hash<TapBranchTag> as Hash>::Engine

§

type Bytes = <Hash<TapBranchTag> as Hash>::Bytes

§

impl Hash for TapSighash

§

const LEN: usize = 32usize

§

const DISPLAY_BACKWARD: bool = false

§

type Engine = <Hash<TapSighashTag> as Hash>::Engine

§

type Bytes = <Hash<TapSighashTag> as Hash>::Bytes

§

impl Hash for breez_sdk_liquid::lightning_125::bitcoin::TapTweakHash

§

const LEN: usize = 32usize

§

const DISPLAY_BACKWARD: bool = false

§

type Engine = <Hash<TapTweakTag> as Hash>::Engine

§

type Bytes = <Hash<TapTweakTag> as Hash>::Bytes

§

impl Hash for breez_sdk_liquid::lightning_125::bitcoin::TxMerkleNode

§

const LEN: usize = 32usize

§

const DISPLAY_BACKWARD: bool = true

§

type Engine = <Hash as Hash>::Engine

§

type Bytes = <Hash as Hash>::Bytes

§

impl Hash for breez_sdk_liquid::lightning_125::bitcoin::Txid

§

const LEN: usize = 32usize

§

const DISPLAY_BACKWARD: bool = true

§

type Engine = <Hash as Hash>::Engine

§

type Bytes = <Hash as Hash>::Bytes

§

impl Hash for breez_sdk_liquid::lightning_125::bitcoin::WPubkeyHash

§

const LEN: usize = 20usize

§

const DISPLAY_BACKWARD: bool = false

§

type Engine = <Hash as Hash>::Engine

§

type Bytes = <Hash as Hash>::Bytes

§

impl Hash for breez_sdk_liquid::lightning_125::bitcoin::WScriptHash

§

const LEN: usize = 32usize

§

const DISPLAY_BACKWARD: bool = false

§

type Engine = <Hash as Hash>::Engine

§

type Bytes = <Hash as Hash>::Bytes

§

impl Hash for WitnessCommitment

§

const LEN: usize = 32usize

§

const DISPLAY_BACKWARD: bool = true

§

type Engine = <Hash as Hash>::Engine

§

type Bytes = <Hash as Hash>::Bytes

§

impl Hash for WitnessMerkleNode

§

const LEN: usize = 32usize

§

const DISPLAY_BACKWARD: bool = true

§

type Engine = <Hash as Hash>::Engine

§

type Bytes = <Hash as Hash>::Bytes

§

impl Hash for breez_sdk_liquid::lightning_125::bitcoin::Wtxid

§

const LEN: usize = 32usize

§

const DISPLAY_BACKWARD: bool = true

§

type Engine = <Hash as Hash>::Engine

§

type Bytes = <Hash as Hash>::Bytes

§

impl Hash for XKeyIdentifier

§

const LEN: usize = 20usize

§

const DISPLAY_BACKWARD: bool = false

§

type Engine = <Hash as Hash>::Engine

§

type Bytes = <Hash as Hash>::Bytes

§

impl Hash for breez_sdk_liquid::lightning_125::bitcoin::hashes::hash160::Hash

§

const LEN: usize = 20usize

§

const DISPLAY_BACKWARD: bool = false

§

type Engine = HashEngine

§

type Bytes = [u8; 20]

§

impl Hash for breez_sdk_liquid::lightning_125::bitcoin::hashes::ripemd160::Hash

§

const LEN: usize = 20usize

§

const DISPLAY_BACKWARD: bool = false

§

type Engine = HashEngine

§

type Bytes = [u8; 20]

§

impl Hash for breez_sdk_liquid::lightning_125::bitcoin::hashes::sha1::Hash

§

const LEN: usize = 20usize

§

const DISPLAY_BACKWARD: bool = false

§

type Engine = HashEngine

§

type Bytes = [u8; 20]

§

impl Hash for breez_sdk_liquid::lightning_125::bitcoin::hashes::sha256::Hash

§

const LEN: usize = 32usize

§

const DISPLAY_BACKWARD: bool = false

§

type Engine = HashEngine

§

type Bytes = [u8; 32]

§

impl Hash for breez_sdk_liquid::lightning_125::bitcoin::hashes::sha256d::Hash

§

const LEN: usize = 32usize

§

const DISPLAY_BACKWARD: bool = true

§

type Engine = HashEngine

§

type Bytes = [u8; 32]

§

impl Hash for breez_sdk_liquid::lightning_125::bitcoin::hashes::sha384::Hash

§

const LEN: usize = 48usize

§

const DISPLAY_BACKWARD: bool = false

§

type Engine = HashEngine

§

type Bytes = [u8; 48]

§

impl Hash for breez_sdk_liquid::lightning_125::bitcoin::hashes::sha512::Hash

§

const LEN: usize = 64usize

§

const DISPLAY_BACKWARD: bool = false

§

type Engine = HashEngine

§

type Bytes = [u8; 64]

§

impl Hash for breez_sdk_liquid::lightning_125::bitcoin::hashes::sha512_256::Hash

§

const LEN: usize = 32usize

§

const DISPLAY_BACKWARD: bool = false

§

type Engine = HashEngine

§

type Bytes = [u8; 32]

§

impl Hash for breez_sdk_liquid::lightning_125::bitcoin::hashes::siphash24::Hash

§

const LEN: usize = 8usize

§

const DISPLAY_BACKWARD: bool = false

§

type Engine = HashEngine

§

type Bytes = [u8; 8]

§

impl<T> Hash for Hmac<T>
where T: Hash,

§

const LEN: usize = T::LEN

§

type Engine = HmacEngine<T>

§

type Bytes = <T as Hash>::Bytes

§

impl<T> Hash for breez_sdk_liquid::lightning_125::bitcoin::hashes::sha256t::Hash<T>
where T: Tag,

§

const LEN: usize = 32usize

§

const DISPLAY_BACKWARD: bool = true

§

type Engine = HashEngine

§

type Bytes = [u8; 32]