Trait SerdeHash

Source
pub trait SerdeHash:
    Sized
    + FromStr
    + Display
    + Index<usize, Output = u8, Output = [u8]>
    + Index<RangeFull>
where Self::Err: Display,
{ const N: usize; // Required method fn from_slice_delegated(sl: &[u8]) -> Result<Self, FromSliceError>; // Provided methods fn serialize<S>( &self, s: S, ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error> where S: Serializer { ... } fn deserialize<'de, D>( d: D, ) -> Result<Self, <D as Deserializer<'de>>::Error> where D: Deserializer<'de> { ... } }
Expand description

Default serialization/deserialization methods.

Required Associated Constants§

Source

const N: usize

Size, in bits, of the hash.

Required Methods§

Source

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

Helper function to turn a deserialized slice into the correct hash type.

Provided Methods§

Source

fn serialize<S>( &self, s: S, ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
where S: Serializer,

Do serde serialization.

Source

fn deserialize<'de, D>(d: D) -> Result<Self, <D as Deserializer<'de>>::Error>
where D: Deserializer<'de>,

Do serde deserialization.

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§

Source§

impl SerdeHash for Hash

Implementors§

Source§

impl SerdeHash for DescriptorId

Source§

const N: usize = 32usize

Source§

impl SerdeHash for BlockHash

Source§

const N: usize = 32usize

Source§

impl SerdeHash for FilterHash

Source§

const N: usize = 32usize

Source§

impl SerdeHash for FilterHeader

Source§

const N: usize = 32usize

Source§

impl SerdeHash for LegacySighash

Source§

const N: usize = 32usize

Source§

impl SerdeHash for PubkeyHash

Source§

const N: usize = 20usize

Source§

impl SerdeHash for ScriptHash

Source§

const N: usize = 20usize

Source§

impl SerdeHash for SegwitV0Sighash

Source§

const N: usize = 32usize

Source§

impl SerdeHash for TapLeafHash

Source§

const N: usize = 32usize

Source§

impl SerdeHash for TapNodeHash

Source§

const N: usize = 32usize

Source§

impl SerdeHash for TapSighash

Source§

const N: usize = 32usize

Source§

impl SerdeHash for TapTweakHash

Source§

const N: usize = 32usize

Source§

impl SerdeHash for TxMerkleNode

Source§

const N: usize = 32usize

Source§

impl SerdeHash for Txid

Source§

const N: usize = 32usize

Source§

impl SerdeHash for WPubkeyHash

Source§

const N: usize = 20usize

Source§

impl SerdeHash for WScriptHash

Source§

const N: usize = 32usize

Source§

impl SerdeHash for WitnessCommitment

Source§

const N: usize = 32usize

Source§

impl SerdeHash for WitnessMerkleNode

Source§

const N: usize = 32usize

Source§

impl SerdeHash for Wtxid

Source§

const N: usize = 32usize

Source§

impl SerdeHash for XKeyIdentifier

Source§

const N: usize = 20usize

Source§

impl SerdeHash for bdk_chain::bitcoin::hashes::hash160::Hash

Source§

const N: usize = 20usize

Source§

impl SerdeHash for bdk_chain::bitcoin::hashes::ripemd160::Hash

Source§

const N: usize = 20usize

Source§

impl SerdeHash for bdk_chain::bitcoin::hashes::sha1::Hash

Source§

const N: usize = 20usize

Source§

impl SerdeHash for bdk_chain::bitcoin::hashes::sha256::Hash

Source§

const N: usize = 32usize

Source§

impl SerdeHash for Midstate

Source§

const N: usize = 32usize

Source§

impl SerdeHash for bdk_chain::bitcoin::hashes::sha256d::Hash

Source§

const N: usize = 32usize

Source§

impl SerdeHash for bdk_chain::bitcoin::hashes::sha384::Hash

Source§

const N: usize = 48usize

Source§

impl SerdeHash for bdk_chain::bitcoin::hashes::sha512::Hash

Source§

const N: usize = 64usize

Source§

impl SerdeHash for bdk_chain::bitcoin::hashes::sha512_256::Hash

Source§

const N: usize = 32usize

Source§

impl SerdeHash for bdk_chain::bitcoin::hashes::siphash24::Hash

Source§

const N: usize = 8usize

Source§

impl<T> SerdeHash for bdk_chain::bitcoin::hashes::sha256t::Hash<T>
where T: Tag,

Source§

const N: usize = 32usize