Trait bitcoin_hashes::Hash[][src]

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

    const LEN: usize;
    const DISPLAY_BACKWARD: bool;

    fn from_engine(e: Self::Engine) -> Self;
fn from_slice(sl: &[u8]) -> Result<Self, Error>;
fn into_inner(self) -> Self::Inner;
fn as_inner(&self) -> &Self::Inner;
fn from_inner(inner: Self::Inner) -> Self; fn engine() -> Self::Engine { ... }
fn hash(data: &[u8]) -> Self { ... } }
Expand description

Trait which applies to hashes of all types

Associated Types

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.

The byte array that represents the hash internally

Associated Constants

Length of the hash, in bytes

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 methods

Produce a hash from the current state of a given engine

Copies a byte slice into a hash object

Unwraps the hash and returns the underlying byte array

Unwraps the hash and returns a reference to the underlying byte array

Constructs a hash from the underlying byte array

Provided methods

Construct a new engine

Hashes some bytes

Implementors

impl Hash for TapLeafHash

impl Hash for Txid

impl Hash for Wtxid

impl Hash for BlockHash

impl Hash for SigHash

impl Hash for PubkeyHash

impl Hash for ScriptHash

impl Hash for WPubkeyHash

impl Hash for WScriptHash

impl Hash for FilterHash