From fe10ff2eb7c68fd0e092b6c94e59d0de7229935a Mon Sep 17 00:00:00 2001 From: "Jamil Lambert, PhD" Date: Mon, 18 Nov 2024 10:24:20 +0000 Subject: [PATCH 001/554] Mark functions `const` in `units` Mark `checked_` functions const. Replace `map()` and `?` operators, which are not allowed in const context, with match statements. Use descriptive variable names in ceiling division to make it easier to follow. --- units/src/amount/signed.rs | 48 +++++++++++++++++++------ units/src/amount/unsigned.rs | 69 ++++++++++++++++++++++++++++-------- 2 files changed, 91 insertions(+), 26 deletions(-) diff --git a/units/src/amount/signed.rs b/units/src/amount/signed.rs index c98d11898e..0bcdb48964 100644 --- a/units/src/amount/signed.rs +++ b/units/src/amount/signed.rs @@ -217,27 +217,45 @@ impl SignedAmount { /// Consider using `unsigned_abs` which is often more practical. /// /// Returns [`None`] if overflow occurred. (`self == MIN`) - pub fn checked_abs(self) -> Option { self.0.checked_abs().map(SignedAmount) } + pub const fn checked_abs(self) -> Option { + // No `map()` in const context. + match self.0.checked_abs() { + Some(res) => Some(SignedAmount(res)), + None => None, + } + } /// Checked addition. /// /// Returns [`None`] if overflow occurred. - pub fn checked_add(self, rhs: SignedAmount) -> Option { - self.0.checked_add(rhs.0).map(SignedAmount) + pub const fn checked_add(self, rhs: SignedAmount) -> Option { + // No `map()` in const context. + match self.0.checked_add(rhs.0) { + Some(res) => Some(SignedAmount(res)), + None => None, + } } /// Checked subtraction. /// /// Returns [`None`] if overflow occurred. - pub fn checked_sub(self, rhs: SignedAmount) -> Option { - self.0.checked_sub(rhs.0).map(SignedAmount) + pub const fn checked_sub(self, rhs: SignedAmount) -> Option { + // No `map()` in const context. + match self.0.checked_sub(rhs.0) { + Some(res) => Some(SignedAmount(res)), + None => None, + } } /// Checked multiplication. /// /// Returns [`None`] if overflow occurred. - pub fn checked_mul(self, rhs: i64) -> Option { - self.0.checked_mul(rhs).map(SignedAmount) + pub const fn checked_mul(self, rhs: i64) -> Option { + // No `map()` in const context. + match self.0.checked_mul(rhs) { + Some(res) => Some(SignedAmount(res)), + None => None, + } } /// Checked integer division. @@ -245,15 +263,23 @@ impl SignedAmount { /// Be aware that integer division loses the remainder if no exact division can be made. /// /// Returns [`None`] if overflow occurred. - pub fn checked_div(self, rhs: i64) -> Option { - self.0.checked_div(rhs).map(SignedAmount) + pub const fn checked_div(self, rhs: i64) -> Option { + // No `map()` in const context. + match self.0.checked_div(rhs) { + Some(res) => Some(SignedAmount(res)), + None => None, + } } /// Checked remainder. /// /// Returns [`None`] if overflow occurred. - pub fn checked_rem(self, rhs: i64) -> Option { - self.0.checked_rem(rhs).map(SignedAmount) + pub const fn checked_rem(self, rhs: i64) -> Option { + // No `map()` in const context. + match self.0.checked_rem(rhs) { + Some(res) => Some(SignedAmount(res)), + None => None, + } } /// Unchecked addition. diff --git a/units/src/amount/unsigned.rs b/units/src/amount/unsigned.rs index cb2f49f08f..e5597269f2 100644 --- a/units/src/amount/unsigned.rs +++ b/units/src/amount/unsigned.rs @@ -196,28 +196,48 @@ impl Amount { /// Checked addition. /// /// Returns [`None`] if overflow occurred. - pub fn checked_add(self, rhs: Amount) -> Option { - self.0.checked_add(rhs.0).map(Amount) + pub const fn checked_add(self, rhs: Amount) -> Option { + // No `map()` in const context. + match self.0.checked_add(rhs.0) { + Some(res) => Some(Amount(res)), + None => None, + } } /// Checked subtraction. /// /// Returns [`None`] if overflow occurred. - pub fn checked_sub(self, rhs: Amount) -> Option { - self.0.checked_sub(rhs.0).map(Amount) + pub const fn checked_sub(self, rhs: Amount) -> Option { + // No `map()` in const context. + match self.0.checked_sub(rhs.0) { + Some(res) => Some(Amount(res)), + None => None, + } } /// Checked multiplication. /// /// Returns [`None`] if overflow occurred. - pub fn checked_mul(self, rhs: u64) -> Option { self.0.checked_mul(rhs).map(Amount) } + pub const fn checked_mul(self, rhs: u64) -> Option { + // No `map()` in const context. + match self.0.checked_mul(rhs) { + Some(res) => Some(Amount(res)), + None => None, + } + } /// Checked integer division. /// /// Be aware that integer division loses the remainder if no exact division can be made. /// /// Returns [`None`] if overflow occurred. - pub fn checked_div(self, rhs: u64) -> Option { self.0.checked_div(rhs).map(Amount) } + pub const fn checked_div(self, rhs: u64) -> Option { + // No `map()` in const context. + match self.0.checked_div(rhs) { + Some(res) => Some(Amount(res)), + None => None, + } + } /// Checked weight ceiling division. /// @@ -227,12 +247,19 @@ impl Amount { /// /// Returns [`None`] if overflow occurred. #[cfg(feature = "alloc")] - pub fn checked_div_by_weight_ceil(self, rhs: Weight) -> Option { - let sats = self.0.checked_mul(1_000)?; + pub const fn checked_div_by_weight_ceil(self, rhs: Weight) -> Option { let wu = rhs.to_wu(); - - let fee_rate = sats.checked_add(wu.checked_sub(1)?)?.checked_div(wu)?; - Some(FeeRate::from_sat_per_kwu(fee_rate)) + // No `?` operator in const context. + if let Some(sats) = self.0.checked_mul(1_000) { + if let Some(wu_minus_one) = wu.checked_sub(1) { + if let Some(sats_plus_wu_minus_one) = sats.checked_add(wu_minus_one) { + if let Some(fee_rate) = sats_plus_wu_minus_one.checked_div(wu) { + return Some(FeeRate::from_sat_per_kwu(fee_rate)); + } + } + } + } + None } /// Checked weight floor division. @@ -242,15 +269,27 @@ impl Amount { /// /// Returns [`None`] if overflow occurred. #[cfg(feature = "alloc")] - pub fn checked_div_by_weight_floor(self, rhs: Weight) -> Option { - let fee_rate = self.0.checked_mul(1_000)?.checked_div(rhs.to_wu())?; - Some(FeeRate::from_sat_per_kwu(fee_rate)) + pub const fn checked_div_by_weight_floor(self, rhs: Weight) -> Option { + // No `?` operator in const context. + match self.0.checked_mul(1_000) { + Some(res) => match res.checked_div(rhs.to_wu()) { + Some(fee_rate) => Some(FeeRate::from_sat_per_kwu(fee_rate)), + None => None, + }, + None => None, + } } /// Checked remainder. /// /// Returns [`None`] if overflow occurred. - pub fn checked_rem(self, rhs: u64) -> Option { self.0.checked_rem(rhs).map(Amount) } + pub const fn checked_rem(self, rhs: u64) -> Option { + // No `map()` in const context. + match self.0.checked_rem(rhs) { + Some(res) => Some(Amount(res)), + None => None, + } + } /// Unchecked addition. /// From a8379bf0053e66cf5984ce449d19e54e529b6b70 Mon Sep 17 00:00:00 2001 From: "Jamil Lambert, PhD" Date: Mon, 18 Nov 2024 10:50:26 +0000 Subject: [PATCH 002/554] Mark `checked_` functions const in bitcoin. Replace `?` operators, which are not allowed in const context, with match statements. --- bitcoin/src/psbt/mod.rs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/bitcoin/src/psbt/mod.rs b/bitcoin/src/psbt/mod.rs index c9eac7165b..5adc816540 100644 --- a/bitcoin/src/psbt/mod.rs +++ b/bitcoin/src/psbt/mod.rs @@ -627,8 +627,11 @@ impl Psbt { /// Gets the input at `input_index` after checking that it is a valid index. fn checked_input(&self, input_index: usize) -> Result<&Input, IndexOutOfBoundsError> { - self.check_index_is_within_bounds(input_index)?; - Ok(&self.inputs[input_index]) + // No `?` operator in const context. + match self.check_index_is_within_bounds(input_index) { + Ok(_) => Ok(&self.inputs[input_index]), + Err(e) => Err(e), + } } /// Checks `input_index` is within bounds for the PSBT `inputs` array and From 434e131660e82e06efd97981c1d975c04de2d010 Mon Sep 17 00:00:00 2001 From: LLFourn Date: Tue, 19 Nov 2024 15:32:30 +1100 Subject: [PATCH 003/554] Fix documentation of Xpub::identifier --- bitcoin/src/bip32.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bitcoin/src/bip32.rs b/bitcoin/src/bip32.rs index 8f11e67b83..34d93833a8 100644 --- a/bitcoin/src/bip32.rs +++ b/bitcoin/src/bip32.rs @@ -880,7 +880,7 @@ impl Xpub { ret } - /// Returns the HASH160 of the chaincode + /// Returns the HASH160 of the public key component of the xpub pub fn identifier(&self) -> XKeyIdentifier { XKeyIdentifier(hash160::Hash::hash(&self.public_key.serialize())) } From a0c79735c79ab067f2518ecae1c533e75d194ab0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=20=5Ctimes=203=20=F0=9F=97=BF?= Date: Tue, 19 Nov 2024 10:08:06 +0100 Subject: [PATCH 004/554] README: Fix Kani badge and update `no-std` details --- README.md | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index a841d5122e..bf66bc65fc 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ API Docs Rustc Version 1.63.0+ Chat on IRC - + kani

@@ -49,7 +49,7 @@ are no plans to do so. Of course, patches to fix specific consensus incompatibil ### Support for 16-bit pointer sizes -16-bit pointer sizes are not supported and we can't promise they will be. If you care about them +16-bit pointer sizes are not supported, and we can't promise they will be. If you care about them please let us know, so we can know how large the interest is and possibly decide to support them. ### Semver compliance @@ -103,13 +103,6 @@ current stable one (see MSRV section). ## Building -The cargo feature `std` is enabled by default. At least one of the features `std` or `no-std` or -both must be enabled. - -Enabling the `no-std` feature does not disable `std`. To disable the `std` feature you must disable -default features. The `no-std` feature only enables additional features required for this crate to -be usable without `std`. Both can be enabled without conflict. - The library can be built and tested using [`cargo`](https://github.com/rust-lang/cargo/): ``` @@ -127,6 +120,15 @@ cargo test Please refer to the [`cargo` documentation](https://doc.rust-lang.org/stable/cargo/) for more detailed instructions. +### No-std support + +The `std` cargo feature is enabled by default. To build this project without the Rust standard +library, use the `--no-default-features` flag or set `default-features = false` in your dependency +declaration when adding it to your project. + +For embedded device examples, see [`bitcoin/embedded`](https://github.com/rust-bitcoin/rust-bitcoin/tree/master/bitcoin/embedded) +or [`hashes/embedded`](https://github.com/rust-bitcoin/rust-bitcoin/tree/master/hashes/embedded). + ### Just We support [`just`](https://just.systems/man/en/) for running dev workflow commands. Run `just` from From e4cf8ebc208068ef2888e6e9e6f27f12cd07570f Mon Sep 17 00:00:00 2001 From: Max Fang Date: Mon, 18 Nov 2024 17:46:35 -0800 Subject: [PATCH 005/554] address: Add `Address::into_unchecked` Adds an ergonomic way to convert any `Address` (network can be checked or unchecked) into an `Address` without cloning, which I've found useful in several contexts. --- bitcoin/src/address/mod.rs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/bitcoin/src/address/mod.rs b/bitcoin/src/address/mod.rs index c7053f6674..cc948ad1e0 100644 --- a/bitcoin/src/address/mod.rs +++ b/bitcoin/src/address/mod.rs @@ -383,6 +383,9 @@ impl Address { pub fn as_unchecked(&self) -> &Address { unsafe { &*(self as *const Address as *const Address) } } + + /// Marks the network of this address as unchecked. + pub fn into_unchecked(self) -> Address { Address(self.0, PhantomData) } } /// Methods and functions that can be called only on `Address`. From 073ff81536e7a24883d6470ecf3054f4b7263186 Mon Sep 17 00:00:00 2001 From: Max Fang Date: Mon, 18 Nov 2024 17:52:11 -0800 Subject: [PATCH 006/554] address: Simplify `Address::assume_checked` impl Removes an unnecessary `match`. --- bitcoin/src/address/mod.rs | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/bitcoin/src/address/mod.rs b/bitcoin/src/address/mod.rs index cc948ad1e0..1169e631a8 100644 --- a/bitcoin/src/address/mod.rs +++ b/bitcoin/src/address/mod.rs @@ -795,16 +795,7 @@ impl Address { /// For details about this mechanism, see section [*Parsing addresses*](Address#parsing-addresses) /// on [`Address`]. #[inline] - pub fn assume_checked(self) -> Address { - use AddressInner::*; - - let inner = match self.0 { - P2pkh { hash, network } => P2pkh { hash, network }, - P2sh { hash, network } => P2sh { hash, network }, - Segwit { program, hrp } => Segwit { program, hrp }, - }; - Address(inner, PhantomData) - } + pub fn assume_checked(self) -> Address { Address(self.0, PhantomData) } /// Parse a bech32 Address string pub fn from_bech32_str(s: &str) -> Result, Bech32Error> { From 571ba0c77c84de47180103557a58bce63c12e73a Mon Sep 17 00:00:00 2001 From: Update Nightly Rustc Bot Date: Thu, 21 Nov 2024 01:52:28 +0000 Subject: [PATCH 007/554] Automated update to Github CI to rustc nightly-2024-11-20 --- nightly-version | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nightly-version b/nightly-version index 403284ecea..b5c32f9dde 100644 --- a/nightly-version +++ b/nightly-version @@ -1 +1 @@ -nightly-2024-11-17 +nightly-2024-11-20 From 17ca5018ebb28d5d392d61aee62170fb3e4f2a5b Mon Sep 17 00:00:00 2001 From: "Tobin C. Harding" Date: Fri, 22 Nov 2024 10:42:17 +1100 Subject: [PATCH 008/554] units: Comment alloc feature Add a comment to the `serde` module about why we have all the `alloc` feature gating. Done as part of #3556 - auditing the whole crate for use of `alloc` feature. --- units/src/amount/serde.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/units/src/amount/serde.rs b/units/src/amount/serde.rs index 038b530ef9..a485994b71 100644 --- a/units/src/amount/serde.rs +++ b/units/src/amount/serde.rs @@ -24,7 +24,7 @@ use core::fmt; use serde::{Deserialize, Deserializer, Serialize, Serializer}; -#[cfg(feature = "alloc")] +#[cfg(feature = "alloc")] // This is because `to_float_in` uses `to_string`. use super::Denomination; use super::{Amount, ParseAmountError, SignedAmount}; From 3002a3c2f24e23b33a7f4a7cfc9bdca5027f1063 Mon Sep 17 00:00:00 2001 From: Update Nightly Rustc Bot Date: Mon, 25 Nov 2024 01:55:40 +0000 Subject: [PATCH 009/554] Automated update to Github CI to rustc nightly-2024-11-22 --- nightly-version | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nightly-version b/nightly-version index b5c32f9dde..c3f22bff65 100644 --- a/nightly-version +++ b/nightly-version @@ -1 +1 @@ -nightly-2024-11-20 +nightly-2024-11-22 From 7b8369f381c3f3fc15ed536d5316e86e02914b4e Mon Sep 17 00:00:00 2001 From: "Tobin C. Harding" Date: Tue, 19 Nov 2024 11:12:23 +1100 Subject: [PATCH 010/554] units: Add integration test of API surface In an effort to check off items in the Rust API guidelines checklist (#3632) add an integration test file that tests: - The location of re-exports for various typical usage styles. - Regressions in the API surface (things being accidentally moved). - All public types implement Debug (C-DEBUG). - For all non-error types: - `Debug` representation is never empty (C-DEBUG-NONEMPTY) - For all error types: - Derive standard traits as defined by `rust-bitcoin` policy. I used the `cargo check-api` script we have laying around from ages ago (#2986) to parse `units` and get a list of the public types. --- units/tests/api.rs | 217 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 217 insertions(+) create mode 100644 units/tests/api.rs diff --git a/units/tests/api.rs b/units/tests/api.rs new file mode 100644 index 0000000000..c69e20bb5c --- /dev/null +++ b/units/tests/api.rs @@ -0,0 +1,217 @@ +//! Test the API surface of `units`. +//! +//! The point of these tests are to check the API surface as opposed to test the API functionality. +//! +//! What this module tests: +//! +//! - The location of re-exports for various typical usage styles. +//! - Regressions in the API surface (things being accidentally moved). +//! - All public types implement Debug (C-DEBUG). +//! - For all non-error types: +//! - `Debug` representation is never empty (C-DEBUG-NONEMPTY) +//! - For all error types: +//! - Derive standard traits as defined by `rust-bitcoin` policy. +//! +//! This file was created by referring to the output of `cargo check-api`. +//! +//! ref: + +#![allow(dead_code)] +#![allow(unused_imports)] + +// These imports test "typical" usage by user code. +use bitcoin_units::locktime::{absolute, relative}; // Typical usage is `absolute::Height`. +use bitcoin_units::{ + amount, block, fee_rate, locktime, parse, weight, Amount, BlockHeight, BlockInterval, FeeRate, + SignedAmount, Weight, +}; + +/// A struct that includes all public non-error enums. +#[derive(Debug)] // All public types implement Debug (C-DEBUG). +struct Enums { + a: amount::Denomination, +} + +impl Enums { + fn new() -> Self { Self { a: amount::Denomination::Bitcoin } } +} + +/// A struct that includes all public non-error structs. +#[derive(Debug)] // All public types implement Debug (C-DEBUG). +struct Structs { + a: Amount, + b: amount::Display, + c: SignedAmount, + d: BlockHeight, + e: BlockInterval, + f: FeeRate, + g: absolute::Height, + h: absolute::Time, + i: relative::Height, + j: relative::Time, + k: Weight, +} + +impl Structs { + fn max() -> Self { + Self { + a: Amount::MAX, + b: Amount::MAX.display_in(amount::Denomination::Bitcoin), + c: SignedAmount::MAX, + d: BlockHeight::MAX, + e: BlockInterval::MAX, + f: FeeRate::MAX, + g: absolute::Height::MAX, + h: absolute::Time::MAX, + i: relative::Height::MAX, + j: relative::Time::MAX, + k: Weight::MAX, + } + } +} + +/// A struct that includes all public non-error types. +#[derive(Debug)] // All public types implement Debug (C-DEBUG). +struct Types { + a: Enums, + b: Structs, +} + +impl Types { + fn new() -> Self { Self { a: Enums::new(), b: Structs::max() } } +} + +/// A struct that includes all public error types. +// These derives are the policy of `rust-bitcoin` not Rust API guidelines. +#[derive(Debug, Clone, PartialEq, Eq)] // All public types implement Debug (C-DEBUG). +struct Errors { + a: amount::InputTooLargeError, + b: amount::InvalidCharacterError, + c: amount::MissingDenominationError, + d: amount::MissingDigitsError, + e: amount::OutOfRangeError, + f: amount::ParseAmountError, + g: amount::ParseDenominationError, + h: amount::ParseError, + i: amount::PossiblyConfusingDenominationError, + j: amount::TooPreciseError, + k: amount::UnknownDenominationError, + l: amount::error::InputTooLargeError, + m: amount::error::InvalidCharacterError, + n: amount::error::MissingDenominationError, + o: amount::error::MissingDigitsError, + p: amount::error::OutOfRangeError, + q: amount::error::ParseAmountError, + r: amount::error::ParseDenominationError, + s: amount::error::ParseError, + t: amount::error::PossiblyConfusingDenominationError, + u: amount::error::TooPreciseError, + v: amount::error::UnknownDenominationError, + w: block::TooBigForRelativeBlockHeightError, + x: locktime::absolute::ConversionError, + y: locktime::absolute::Height, + z: locktime::absolute::ParseHeightError, + _a: locktime::absolute::ParseTimeError, + _b: locktime::relative::TimeOverflowError, + _c: parse::ContainsPrefixError, + _d: parse::MissingPrefixError, + _e: parse::ParseIntError, + _f: parse::PrefixedHexError, + _g: parse::UnprefixedHexError, +} + +#[test] +fn api_can_use_modules_from_crate_root() { + use bitcoin_units::{amount, block, fee_rate, locktime, parse, weight}; +} + +#[test] +fn api_can_use_types_from_crate_root() { + use bitcoin_units::{Amount, BlockHeight, BlockInterval, FeeRate, SignedAmount, Weight}; +} + +#[test] +fn api_can_use_all_types_from_module_amount() { + use bitcoin_units::amount::{ + Amount, Denomination, Display, InputTooLargeError, InvalidCharacterError, + MissingDenominationError, MissingDigitsError, OutOfRangeError, ParseAmountError, + ParseDenominationError, ParseError, PossiblyConfusingDenominationError, SignedAmount, + TooPreciseError, UnknownDenominationError, + }; +} + +#[test] +fn api_can_use_all_types_from_module_amount_error() { + use bitcoin_units::amount::error::{ + InputTooLargeError, InvalidCharacterError, MissingDenominationError, MissingDigitsError, + OutOfRangeError, ParseAmountError, ParseDenominationError, ParseError, + PossiblyConfusingDenominationError, TooPreciseError, UnknownDenominationError, + }; +} + +#[test] +fn api_can_use_all_types_from_module_block() { + use bitcoin_units::block::{BlockHeight, BlockInterval, TooBigForRelativeBlockHeightError}; +} + +#[test] +fn api_can_use_all_types_from_module_fee_rate() { + use bitcoin_units::fee_rate::FeeRate; +} + +#[test] +fn api_can_use_all_types_from_module_locktime_absolute() { + use bitcoin_units::locktime::absolute::{ + ConversionError, Height, ParseHeightError, ParseTimeError, Time, + }; +} + +#[test] +fn api_can_use_all_types_from_module_locktime_relative() { + use bitcoin_units::locktime::relative::{Height, Time, TimeOverflowError}; +} + +#[test] +fn api_can_use_all_types_from_module_parse() { + use bitcoin_units::parse::{ + ContainsPrefixError, MissingPrefixError, ParseIntError, PrefixedHexError, + UnprefixedHexError, + }; +} + +#[test] +fn api_can_use_all_types_from_module_weight() { + use bitcoin_units::weight::Weight; +} + +// `Debug` representation is never empty (C-DEBUG-NONEMPTY). +#[test] +fn api_all_non_error_types_have_non_empty_debug() { + let t = Types::new(); + + let debug = format!("{:?}", t.a.a); + assert!(!debug.is_empty()); + + let debug = format!("{:?}", t.b.a); + assert!(!debug.is_empty()); + let debug = format!("{:?}", t.b.b); + assert!(!debug.is_empty()); + let debug = format!("{:?}", t.b.c); + assert!(!debug.is_empty()); + let debug = format!("{:?}", t.b.d); + assert!(!debug.is_empty()); + let debug = format!("{:?}", t.b.e); + assert!(!debug.is_empty()); + let debug = format!("{:?}", t.b.f); + assert!(!debug.is_empty()); + let debug = format!("{:?}", t.b.g); + assert!(!debug.is_empty()); + let debug = format!("{:?}", t.b.h); + assert!(!debug.is_empty()); + let debug = format!("{:?}", t.b.i); + assert!(!debug.is_empty()); + let debug = format!("{:?}", t.b.j); + assert!(!debug.is_empty()); + let debug = format!("{:?}", t.b.k); + assert!(!debug.is_empty()); +} From cc4c36e8ac8ae5ed701d524cfe6cdc32451f4884 Mon Sep 17 00:00:00 2001 From: yancy Date: Mon, 25 Nov 2024 11:06:45 -0600 Subject: [PATCH 011/554] Deprecate weight The name weight is misleading since it is actually only the segwit parts of the weight calculation --- bitcoin/src/blockdata/transaction.rs | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/bitcoin/src/blockdata/transaction.rs b/bitcoin/src/blockdata/transaction.rs index 0dd69f1c7c..b8526d0724 100644 --- a/bitcoin/src/blockdata/transaction.rs +++ b/bitcoin/src/blockdata/transaction.rs @@ -863,7 +863,7 @@ where |(count, partial_input_weight, inputs_with_witnesses), prediction| { ( count + 1, - partial_input_weight + prediction.weight().to_wu() as usize, + partial_input_weight + prediction.witness_weight().to_wu() as usize, inputs_with_witnesses + (prediction.witness_size > 0) as usize, ) }, @@ -937,7 +937,7 @@ pub const fn predict_weight_from_slices( let mut i = 0; while i < inputs.len() { let prediction = inputs[i]; - partial_input_weight += prediction.weight().to_wu() as usize; + partial_input_weight += prediction.witness_weight().to_wu() as usize; inputs_with_witnesses += (prediction.witness_size > 0) as usize; i += 1; } @@ -1142,7 +1142,16 @@ impl InputWeightPrediction { /// Computes the **signature weight** added to a transaction by an input with this weight prediction, /// not counting the prevout (txid, index), sequence, potential witness flag bytes or the witness count varint. + #[deprecated(since = "TBD", note = "use `InputWeightPrediction::witness_weight()` instead")] pub const fn weight(&self) -> Weight { + Self::witness_weight(self) + } + + /// Computes the **signature weight** added to a transaction by an input with this weight prediction, + /// not counting the prevout (txid, index), sequence, potential witness flag bytes or the witness count varint. + /// + /// See also [`InputWeightPrediction::total_weight`] + pub const fn witness_weight(&self) -> Weight { Weight::from_wu_usize(self.script_size * 4 + self.witness_size) } } @@ -1941,16 +1950,16 @@ mod tests { // Confirm signature grinding input weight predictions are aligned with constants. assert_eq!( - InputWeightPrediction::ground_p2wpkh(0).weight(), - InputWeightPrediction::P2WPKH_MAX.weight() + InputWeightPrediction::ground_p2wpkh(0).witness_weight(), + InputWeightPrediction::P2WPKH_MAX.witness_weight() ); assert_eq!( - InputWeightPrediction::ground_nested_p2wpkh(0).weight(), - InputWeightPrediction::NESTED_P2WPKH_MAX.weight() + InputWeightPrediction::ground_nested_p2wpkh(0).witness_weight(), + InputWeightPrediction::NESTED_P2WPKH_MAX.witness_weight() ); assert_eq!( - InputWeightPrediction::ground_p2pkh_compressed(0).weight(), - InputWeightPrediction::P2PKH_COMPRESSED_MAX.weight() + InputWeightPrediction::ground_p2pkh_compressed(0).witness_weight(), + InputWeightPrediction::P2PKH_COMPRESSED_MAX.witness_weight() ); } From d9ccb60a2f9e89c8bb1979f032e8a222ab9b025a Mon Sep 17 00:00:00 2001 From: "Tobin C. Harding" Date: Tue, 26 Nov 2024 10:06:58 +1100 Subject: [PATCH 012/554] Fix typo in hash tag type In commit: `39f7dcb Reduce API surface of tagged wrapped hash types` I introduced a typo in the tagged hash tag type. Fortunately it has no effect because the tag type controls how an engine is created (when the tag is input into the engine) and has no effect on the call to `from_engine`. However the typo makes the code confusing. This bug is currently unreleased. Fix: #3649 --- bitcoin/src/taproot/mod.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bitcoin/src/taproot/mod.rs b/bitcoin/src/taproot/mod.rs index b8bd003423..dbcb65193a 100644 --- a/bitcoin/src/taproot/mod.rs +++ b/bitcoin/src/taproot/mod.rs @@ -68,7 +68,7 @@ crate::internal_macros::define_extension_trait! { let mut eng = sha256t::Hash::::engine(); ver.to_consensus().consensus_encode(&mut eng).expect("engines don't error"); script.consensus_encode(&mut eng).expect("engines don't error"); - let inner = sha256t::Hash::::from_engine(eng); + let inner = sha256t::Hash::::from_engine(eng); TapLeafHash::from_byte_array(inner.to_byte_array()) } } From f9ab3aea8abb0bf17d0a03be29d510049a85d0a9 Mon Sep 17 00:00:00 2001 From: "Tobin C. Harding" Date: Tue, 26 Nov 2024 10:13:19 +1100 Subject: [PATCH 013/554] Re-export bech32 crate `rust-bitcoin` is a lot further from 1.0 than `bech32` is. We previously removed the re-export of `bech32` because we thought it might hold us up releasing `rust-bitcoin 1.0` but in hindsite this was incorrect. Having a public re-export of dependencies helps users keep their deps in sync with those in `rust-bitcoin` and is thus useful. Close: #3650 --- bitcoin/src/lib.rs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/bitcoin/src/lib.rs b/bitcoin/src/lib.rs index 7a73dc2243..9727d4db87 100644 --- a/bitcoin/src/lib.rs +++ b/bitcoin/src/lib.rs @@ -68,6 +68,9 @@ pub extern crate base64; /// Bitcoin base58 encoding and decoding. pub extern crate base58; +/// Re-export the `bech32` crate. +pub extern crate bech32; + /// Rust implementation of cryptographic hash function algorithms. pub extern crate hashes; From 261c8d8ae659d98fd3f63228f16d8f2eb4010b7e Mon Sep 17 00:00:00 2001 From: yancy Date: Mon, 25 Nov 2024 11:07:24 -0600 Subject: [PATCH 014/554] Add total_weight to Input Weight Prediction --- bitcoin/src/blockdata/transaction.rs | 33 ++++++++++++++-------------- 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/bitcoin/src/blockdata/transaction.rs b/bitcoin/src/blockdata/transaction.rs index b8526d0724..0ed381ef4a 100644 --- a/bitcoin/src/blockdata/transaction.rs +++ b/bitcoin/src/blockdata/transaction.rs @@ -851,19 +851,13 @@ where I: IntoIterator, O: IntoIterator, { - // This fold() does three things: - // 1) Counts the inputs and returns the sum as `input_count`. - // 2) Sums all of the input weights and returns the sum as `partial_input_weight` - // For every input: script_size * 4 + witness_size - // Since script_size is non-witness data, it gets a 4x multiplier. - // 3) Counts the number of inputs that have a witness data and returns the count as - // `num_inputs_with_witnesses`. - let (input_count, partial_input_weight, inputs_with_witnesses) = inputs.into_iter().fold( + // sum input_weights, input_count and count of inputs with witness data + let (input_count, input_weight, inputs_with_witnesses) = inputs.into_iter().fold( (0, 0, 0), - |(count, partial_input_weight, inputs_with_witnesses), prediction| { + |(count, input_weight, inputs_with_witnesses), prediction| { ( count + 1, - partial_input_weight + prediction.witness_weight().to_wu() as usize, + input_weight + prediction.total_weight().to_wu() as usize, inputs_with_witnesses + (prediction.witness_size > 0) as usize, ) }, @@ -882,7 +876,7 @@ where ); predict_weight_internal( input_count, - partial_input_weight, + input_weight, inputs_with_witnesses, output_count, output_scripts_size, @@ -891,15 +885,11 @@ where const fn predict_weight_internal( input_count: usize, - partial_input_weight: usize, + input_weight: usize, inputs_with_witnesses: usize, output_count: usize, output_scripts_size: usize, ) -> Weight { - // Lengths of txid, index and sequence: (32, 4, 4). - // Multiply the lengths by 4 since the fields are all non-witness fields. - let input_weight = partial_input_weight + input_count * 4 * (32 + 4 + 4); - // The value field of a TxOut is 8 bytes. let output_size = 8 * output_count + output_scripts_size; let non_input_size = @@ -1147,6 +1137,17 @@ impl InputWeightPrediction { Self::witness_weight(self) } + /// Computes the signature, prevout (txid, index), and sequence weights of this weight + /// prediction. + /// + /// See also [`InputWeightPrediction::witness_weight`] + pub const fn total_weight(&self) -> Weight { + // `impl const Trait` is currently unavailable: rust/issues/67792 + // Convert to u64s because we can't use `Add` in const context. + let weight = TX_IN_BASE_WEIGHT.to_wu() + Self::witness_weight(self).to_wu(); + Weight::from_wu(weight) + } + /// Computes the **signature weight** added to a transaction by an input with this weight prediction, /// not counting the prevout (txid, index), sequence, potential witness flag bytes or the witness count varint. /// From 335203289201b2e34cb57a6a107547f946475109 Mon Sep 17 00:00:00 2001 From: yancy Date: Tue, 26 Nov 2024 14:29:38 -0600 Subject: [PATCH 015/554] Fix internal weight calculation This function calls helper function predict_weight_internal and that function was refactored. The refactor changed the interface to accept the input_weight instead of partial input_weight, however this function was not updated with the refactor and was still passing a partial input weight. This commit is a followup that fixes the internal calculation error by pass input_weight instead of partial_weight to the helper function predict_weight_internal. --- bitcoin/src/blockdata/transaction.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/bitcoin/src/blockdata/transaction.rs b/bitcoin/src/blockdata/transaction.rs index 0ed381ef4a..9e2038096d 100644 --- a/bitcoin/src/blockdata/transaction.rs +++ b/bitcoin/src/blockdata/transaction.rs @@ -920,14 +920,14 @@ pub const fn predict_weight_from_slices( inputs: &[InputWeightPrediction], output_script_lens: &[usize], ) -> Weight { - let mut partial_input_weight = 0; + let mut input_weight = 0; let mut inputs_with_witnesses = 0; // for loops not supported in const fn let mut i = 0; while i < inputs.len() { let prediction = inputs[i]; - partial_input_weight += prediction.witness_weight().to_wu() as usize; + input_weight += prediction.total_weight().to_wu() as usize; inputs_with_witnesses += (prediction.witness_size > 0) as usize; i += 1; } @@ -943,7 +943,7 @@ pub const fn predict_weight_from_slices( predict_weight_internal( inputs.len(), - partial_input_weight, + input_weight, inputs_with_witnesses, output_script_lens.len(), output_scripts_size, From f961f3c0eca4e9b175761756f48699012b63d70a Mon Sep 17 00:00:00 2001 From: yancy Date: Tue, 26 Nov 2024 14:55:49 -0600 Subject: [PATCH 016/554] Add test Test that behavior of this function as it interacts with predict_weight_internal --- bitcoin/src/blockdata/transaction.rs | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/bitcoin/src/blockdata/transaction.rs b/bitcoin/src/blockdata/transaction.rs index 9e2038096d..137110f4f9 100644 --- a/bitcoin/src/blockdata/transaction.rs +++ b/bitcoin/src/blockdata/transaction.rs @@ -1964,6 +1964,21 @@ mod tests { ); } + #[test] + fn weight_prediction_const_from_slices() { + let predict = [ + InputWeightPrediction::P2WPKH_MAX, + InputWeightPrediction::NESTED_P2WPKH_MAX, + InputWeightPrediction::P2PKH_COMPRESSED_MAX, + InputWeightPrediction::P2PKH_UNCOMPRESSED_MAX, + InputWeightPrediction::P2TR_KEY_DEFAULT_SIGHASH, + InputWeightPrediction::P2TR_KEY_NON_DEFAULT_SIGHASH + ]; + + let weight = predict_weight_from_slices(&predict, &[1]); + assert_eq!(weight, Weight::from_wu(2493)); + } + #[test] fn sequence_debug_output() { let seq = Sequence::from_seconds_floor(1000); From 7e17eaf21c479338d5161b493f02578ef4186e62 Mon Sep 17 00:00:00 2001 From: "Tobin C. Harding" Date: Tue, 26 Nov 2024 12:08:25 +1100 Subject: [PATCH 017/554] units: Add stringy regression tests Add regression tests for `Display` and `FromStr` impls. Exclude error types and helper types (`amount::Display`). --- units/tests/str.rs | 49 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 units/tests/str.rs diff --git a/units/tests/str.rs b/units/tests/str.rs new file mode 100644 index 0000000000..89068bf9b3 --- /dev/null +++ b/units/tests/str.rs @@ -0,0 +1,49 @@ +// SPDX-License-Identifier: CC0-1.0 + +//! Do basic regression tests on the `Display` and `FromStr` impls. + +use bitcoin_units::locktime::{absolute, relative}; +use bitcoin_units::{Amount, BlockHeight, BlockInterval, FeeRate, SignedAmount, Weight}; + +macro_rules! check { + ($($test_name:ident, $ty:path, $val:path, $str:literal);* $(;)?) => { + $( + #[test] + fn $test_name() { + let got = format!("{}", $val); + assert_eq!(got, $str); + + let got = $str.parse::<$ty>().unwrap(); + assert_eq!(got, $val) + } + )* + } +} + +check! { + amount_unsigned_one_sat, Amount, Amount::ONE_SAT, "0.00000001 BTC"; + amount_unsigned_max_money, Amount, Amount::MAX_MONEY, "21000000 BTC"; + + amount_signed_one_sat, SignedAmount, SignedAmount::ONE_SAT, "0.00000001 BTC"; + amount_signed_max_money, SignedAmount, SignedAmount::MAX_MONEY, "21000000 BTC"; + + block_height_min, BlockHeight, BlockHeight::MIN, "0"; + block_height_max, BlockHeight, BlockHeight::MAX, "4294967295"; + + block_interval_min, BlockInterval, BlockInterval::MIN, "0"; + block_interval_max, BlockInterval, BlockInterval::MAX, "4294967295"; + + fee_rate_min, FeeRate, FeeRate::MIN, "0"; + fee_rate_max, FeeRate, FeeRate::MAX, "18446744073709551615"; + fee_rate_dust, FeeRate, FeeRate::DUST, "750"; + + lock_time_absolute_min, absolute::Height, absolute::Height::MIN, "0"; + lock_time_absolute_max, absolute::Height, absolute::Height::MAX, "499999999"; + + lock_time_relative_min, relative::Height, relative::Height::MIN, "0"; + lock_time_relative_max, relative::Height, relative::Height::MAX, "65535"; + + weight_min, Weight, Weight::MIN, "0"; + weight_max, Weight, Weight::MAX, "18446744073709551615"; + weight_max_block, Weight, Weight::MAX_BLOCK, "4000000"; +} From 9aebb96fb99e8e9e019663659c6eff851a62f2ce Mon Sep 17 00:00:00 2001 From: Sanket Kanjalkar Date: Tue, 26 Nov 2024 21:35:14 -0800 Subject: [PATCH 018/554] Fix psbt fuzz crash Fixes: https://github.com/rust-bitcoin/rust-bitcoin/issues/3628 This occurs when combining two PSBTs with different xpub key sources. Added a length check before indexing into slices to prevent out-of-bounds access. --- bitcoin/src/psbt/mod.rs | 15 +++++++++++++-- bitcoin/tests/data/psbt_fuzz1.hex | 1 + bitcoin/tests/data/psbt_fuzz2.hex | 1 + 3 files changed, 15 insertions(+), 2 deletions(-) create mode 100644 bitcoin/tests/data/psbt_fuzz1.hex create mode 100644 bitcoin/tests/data/psbt_fuzz2.hex diff --git a/bitcoin/src/psbt/mod.rs b/bitcoin/src/psbt/mod.rs index c9eac7165b..bfbb2853d0 100644 --- a/bitcoin/src/psbt/mod.rs +++ b/bitcoin/src/psbt/mod.rs @@ -255,8 +255,9 @@ impl Psbt { == derivation2[derivation2.len() - derivation1.len()..]) { continue; - } else if derivation2[..] - == derivation1[derivation1.len() - derivation2.len()..] + } else if derivation2.len() <= derivation1.len() + && derivation2[..] + == derivation1[derivation1.len() - derivation2.len()..] { entry.insert((fingerprint1, derivation1)); continue; @@ -2113,6 +2114,16 @@ mod tests { assert_eq!(psbt1, psbt2); } + + // https://github.com/rust-bitcoin/rust-bitcoin/issues/3628 + #[test] + fn test_combine_psbt_fuzz_3628() { + let mut psbt1 = hex_psbt(include_str!("../../tests/data/psbt_fuzz1.hex")).unwrap(); + let psbt2 = hex_psbt(include_str!("../../tests/data/psbt_fuzz2.hex")).unwrap(); + + assert!(matches!(psbt1.combine(psbt2).unwrap_err(), Error::CombineInconsistentKeySources(_))); + } + #[cfg(feature = "rand-std")] fn gen_keys() -> (PrivateKey, PublicKey, Secp256k1) { use secp256k1::rand::thread_rng; diff --git a/bitcoin/tests/data/psbt_fuzz1.hex b/bitcoin/tests/data/psbt_fuzz1.hex new file mode 100644 index 0000000000..dd3c9b7ed9 --- /dev/null +++ b/bitcoin/tests/data/psbt_fuzz1.hex @@ -0,0 +1 @@ +70736274ff01000a000000ff0000000074ff4f010488b21eff02000001004a92244992244902030203030303030303030303030303030303030303030303030303030303030303f4000000000000000a000208ffffffff08080804000000000000000c080808000b0000000000010000 \ No newline at end of file diff --git a/bitcoin/tests/data/psbt_fuzz2.hex b/bitcoin/tests/data/psbt_fuzz2.hex new file mode 100644 index 0000000000..8a33cf01c8 --- /dev/null +++ b/bitcoin/tests/data/psbt_fuzz2.hex @@ -0,0 +1 @@ +70736274ff01000a000000ff0000000074ff4f010488b21eff02000001004a92244992244902030203030303030303030303030303030303030303030303030303030303030303f4000000000000000a000208ffffffff080808040000000000000008000000000000001000 \ No newline at end of file From 5e47c4123d5cdd768d7f8523ce81e1b2069edaae Mon Sep 17 00:00:00 2001 From: Shing Him Ng Date: Wed, 27 Nov 2024 07:34:47 -0600 Subject: [PATCH 019/554] Update CompactTarget::from_next_work_required to take timespan as i64 Bitcoin Core's consensus rules allow this timespan interval to be negative. This commit also updates Params::pow_target_timespan to be a u32. This field is almost compared to u64 and i64s, so changing this to a u32 will allow users to use `.into()` for converstions --- bitcoin/src/network/params.rs | 4 ++-- bitcoin/src/pow.rs | 33 +++++++++++++++++++++++---------- 2 files changed, 25 insertions(+), 12 deletions(-) diff --git a/bitcoin/src/network/params.rs b/bitcoin/src/network/params.rs index eecc42cb86..e322009be9 100644 --- a/bitcoin/src/network/params.rs +++ b/bitcoin/src/network/params.rs @@ -113,7 +113,7 @@ pub struct Params { /// Expected amount of time to mine one block. pub pow_target_spacing: u64, /// Difficulty recalculation interval. - pub pow_target_timespan: u64, + pub pow_target_timespan: u32, /// Determines whether minimal difficulty may be used for blocks or not. pub allow_min_difficulty_blocks: bool, /// Determines whether retargeting is disabled for this network or not. @@ -261,7 +261,7 @@ impl Params { /// Calculates the number of blocks between difficulty adjustments. pub fn difficulty_adjustment_interval(&self) -> u64 { - self.pow_target_timespan / self.pow_target_spacing + u64::from(self.pow_target_timespan) / self.pow_target_spacing } } diff --git a/bitcoin/src/pow.rs b/bitcoin/src/pow.rs index 7566e73b2f..243da4a3c2 100644 --- a/bitcoin/src/pow.rs +++ b/bitcoin/src/pow.rs @@ -371,12 +371,14 @@ define_extension_trait! { /// Take the example of the first difficulty adjustment. Block 2016 introduces a new [`CompactTarget`], /// which takes the net timespan between Block 2015 and Block 0, and recomputes the difficulty. /// + /// To calculate the timespan, users should first convert their u32 timestamps to i64s before subtracting them + /// /// # Returns /// /// The expected [`CompactTarget`] recalculation. fn from_next_work_required( last: CompactTarget, - timespan: u64, + timespan: i64, params: impl AsRef, ) -> CompactTarget { let params = params.as_ref(); @@ -387,11 +389,11 @@ define_extension_trait! { // ref: let min_timespan = params.pow_target_timespan >> 2; // Lines 56/57 let max_timespan = params.pow_target_timespan << 2; // Lines 58/59 - let actual_timespan = timespan.clamp(min_timespan, max_timespan); + let actual_timespan = timespan.clamp(min_timespan.into(), max_timespan.into()); let prev_target: Target = last.into(); let maximum_retarget = prev_target.max_transition_threshold(params); // bnPowLimit let retarget = prev_target.0; // bnNew - let retarget = retarget.mul(actual_timespan.into()); + let retarget = retarget.mul(u128::try_from(actual_timespan).expect("clamped value won't be negative").into()); let retarget = retarget.div(params.pow_target_timespan.into()); let retarget = Target(retarget); if retarget.ge(&maximum_retarget) { @@ -1750,8 +1752,8 @@ mod tests { fn compact_target_from_upwards_difficulty_adjustment() { let params = Params::new(crate::Network::Signet); let starting_bits = CompactTarget::from_consensus(503543726); // Genesis compact target on Signet - let start_time: u64 = 1598918400; // Genesis block unix time - let end_time: u64 = 1599332177; // Block 2015 unix time + let start_time: i64 = 1598918400; // Genesis block unix time + let end_time: i64 = 1599332177; // Block 2015 unix time let timespan = end_time - start_time; // Faster than expected let adjustment = CompactTarget::from_next_work_required(starting_bits, timespan, ¶ms); let adjustment_bits = CompactTarget::from_consensus(503394215); // Block 2016 compact target @@ -1762,8 +1764,8 @@ mod tests { fn compact_target_from_downwards_difficulty_adjustment() { let params = Params::new(crate::Network::Signet); let starting_bits = CompactTarget::from_consensus(503394215); // Block 2016 compact target - let start_time: u64 = 1599332844; // Block 2016 unix time - let end_time: u64 = 1600591200; // Block 4031 unix time + let start_time: i64 = 1599332844; // Block 2016 unix time + let end_time: i64 = 1600591200; // Block 4031 unix time let timespan = end_time - start_time; // Slower than expected let adjustment = CompactTarget::from_next_work_required(starting_bits, timespan, ¶ms); let adjustment_bits = CompactTarget::from_consensus(503397348); // Block 4032 compact target @@ -1829,7 +1831,18 @@ mod tests { fn compact_target_from_maximum_upward_difficulty_adjustment() { let params = Params::new(crate::Network::Signet); let starting_bits = CompactTarget::from_consensus(503403001); - let timespan = (0.2 * params.pow_target_timespan as f64) as u64; + let timespan = params.pow_target_timespan / 5; + let got = CompactTarget::from_next_work_required(starting_bits, timespan.into(), params); + let want = + Target::from_compact(starting_bits).min_transition_threshold().to_compact_lossy(); + assert_eq!(got, want); + } + + #[test] + fn compact_target_from_maximum_upward_difficulty_adjustment_with_negative_timespan() { + let params = Params::new(crate::Network::Signet); + let starting_bits = CompactTarget::from_consensus(503403001); + let timespan: i64 = -i64::from(params.pow_target_timespan); let got = CompactTarget::from_next_work_required(starting_bits, timespan, params); let want = Target::from_compact(starting_bits).min_transition_threshold().to_compact_lossy(); @@ -1841,7 +1854,7 @@ mod tests { let params = Params::new(crate::Network::Signet); let starting_bits = CompactTarget::from_consensus(403403001); // High difficulty for Signet let timespan = 5 * params.pow_target_timespan; // Really slow. - let got = CompactTarget::from_next_work_required(starting_bits, timespan, ¶ms); + let got = CompactTarget::from_next_work_required(starting_bits, timespan.into(), ¶ms); let want = Target::from_compact(starting_bits).max_transition_threshold(params).to_compact_lossy(); assert_eq!(got, want); @@ -1852,7 +1865,7 @@ mod tests { let params = Params::new(crate::Network::Signet); let starting_bits = CompactTarget::from_consensus(503543726); // Genesis compact target on Signet let timespan = 5 * params.pow_target_timespan; // Really slow. - let got = CompactTarget::from_next_work_required(starting_bits, timespan, ¶ms); + let got = CompactTarget::from_next_work_required(starting_bits, timespan.into(), ¶ms); let want = params.max_attainable_target.to_compact_lossy(); assert_eq!(got, want); } From 4d0d78a3af2ca300c6b40348724e806bd51ef27a Mon Sep 17 00:00:00 2001 From: Shing Him Ng Date: Wed, 27 Nov 2024 07:45:57 -0600 Subject: [PATCH 020/554] Fix typo in from_next_work_required documentation --- bitcoin/src/pow.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bitcoin/src/pow.rs b/bitcoin/src/pow.rs index 243da4a3c2..b6d531cb24 100644 --- a/bitcoin/src/pow.rs +++ b/bitcoin/src/pow.rs @@ -357,7 +357,7 @@ define_extension_trait! { /// ref: /// /// Given the previous Target, represented as a [`CompactTarget`], the difficulty is adjusted - /// by taking the timespan between them, and multipling the current [`CompactTarget`] by a factor + /// by taking the timespan between them, and multiplying the current [`CompactTarget`] by a factor /// of the net timespan and expected timespan. The [`CompactTarget`] may not adjust by more than /// a factor of 4, or adjust beyond the maximum threshold for the network. /// From e0442782c8c04bdc48c2743e70f46e41c507e5f4 Mon Sep 17 00:00:00 2001 From: Rob N Date: Tue, 19 Nov 2024 12:42:55 -1000 Subject: [PATCH 021/554] fix(script): account for data pushing opcodes in `is_standard_op_return` While I believe the original commit used 80 bytes for the entire script as the limit, Bitcoin Core as of [this commit](https://github.com/bitcoin/bitcoin/blame/7a172c76d2361fc3cdf6345590e26c79a7821672/src/policy/policy.h) will relay OP_RETURN outputs as long as the data itself is not above 80 bytes, meaning a script of maximum size 83 bytes should be standard. --- bitcoin/src/blockdata/script/borrowed.rs | 4 ++-- bitcoin/src/blockdata/script/tests.rs | 6 ++++-- bitcoin/src/policy.rs | 3 +++ 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/bitcoin/src/blockdata/script/borrowed.rs b/bitcoin/src/blockdata/script/borrowed.rs index e1fe91b781..a922d7313d 100644 --- a/bitcoin/src/blockdata/script/borrowed.rs +++ b/bitcoin/src/blockdata/script/borrowed.rs @@ -12,7 +12,7 @@ use super::{ use crate::consensus::Encodable; use crate::opcodes::all::*; use crate::opcodes::{self, Opcode}; -use crate::policy::DUST_RELAY_TX_FEE; +use crate::policy::{DUST_RELAY_TX_FEE, MAX_OP_RETURN_RELAY}; use crate::prelude::{sink, DisplayHex, String, ToString}; use crate::taproot::{LeafVersion, TapLeafHash, TapLeafHashExt as _}; use crate::FeeRate; @@ -217,7 +217,7 @@ crate::internal_macros::define_extension_trait! { /// What this function considers to be standard may change without warning pending Bitcoin Core /// changes. #[inline] - fn is_standard_op_return(&self) -> bool { self.is_op_return() && self.len() <= 80 } + fn is_standard_op_return(&self) -> bool { self.is_op_return() && self.len() <= MAX_OP_RETURN_RELAY } /// Checks whether a script is trivially known to have no satisfying input. /// diff --git a/bitcoin/src/blockdata/script/tests.rs b/bitcoin/src/blockdata/script/tests.rs index 5a3409af6c..7010bb19b9 100644 --- a/bitcoin/src/blockdata/script/tests.rs +++ b/bitcoin/src/blockdata/script/tests.rs @@ -416,8 +416,10 @@ fn standard_op_return() { assert!(ScriptBuf::from_hex("6a48656c6c6f2c2074686973206973206d7920666972737420636f6e747269627574696f6e20746f207275737420626974636f696e2e20506c6561736520617070726f7665206d79205052206672656e") .unwrap() .is_standard_op_return()); - - assert!(!ScriptBuf::from_hex("6a48656c6c6f2c2074686973206973206d7920666972737420636f6e747269627574696f6e20746f207275737420626974636f696e2e20506c6561736520617070726f7665206d79205052206672656e21") + assert!(ScriptBuf::from_hex("6a48656c6c6f2c2074686973206973206d7920666972737420636f6e747269627574696f6e20746f207275737420626974636f696e2e20506c6561736520617070726f7665206d79205052206672656e21") + .unwrap() + .is_standard_op_return()); + assert!(!ScriptBuf::from_hex("6a48656c6c6f2c2074686973206973206d7920666972737420636f6e747269627574696f6e20746f207275737420626974636f696e2e20506c6561736520617070726f7665206d79205052206672656e21524f42") .unwrap() .is_standard_op_return()); } diff --git a/bitcoin/src/policy.rs b/bitcoin/src/policy.rs index 35c2dda8b5..89eb08261e 100644 --- a/bitcoin/src/policy.rs +++ b/bitcoin/src/policy.rs @@ -43,6 +43,9 @@ pub const DEFAULT_MIN_RELAY_TX_FEE: u32 = 1_000; /// mempools. pub const DEFAULT_MEMPOOL_EXPIRY: u32 = 336; +// 80 bytes of data, +1 for OP_RETURN, +2 for the pushdata opcodes. +pub(crate) const MAX_OP_RETURN_RELAY: usize = 83; + /// The virtual transaction size, as computed by default by bitcoind node. pub fn get_virtual_tx_size(weight: i64, n_sigops: i64) -> i64 { (cmp::max(weight, n_sigops * DEFAULT_BYTES_PER_SIGOP as i64) + WITNESS_SCALE_FACTOR as i64 - 1) From d9b48cc2ce68b065640caa22da6fbcb1f3ad85f8 Mon Sep 17 00:00:00 2001 From: yancy Date: Tue, 19 Nov 2024 16:05:38 -0600 Subject: [PATCH 022/554] Add p2wpkh address creation example --- bitcoin/Cargo.toml | 4 ++++ bitcoin/examples/create-p2wpkh-address.rs | 24 +++++++++++++++++++++++ 2 files changed, 28 insertions(+) create mode 100644 bitcoin/examples/create-p2wpkh-address.rs diff --git a/bitcoin/Cargo.toml b/bitcoin/Cargo.toml index c4ba294c44..ee854c75b9 100644 --- a/bitcoin/Cargo.toml +++ b/bitcoin/Cargo.toml @@ -71,6 +71,10 @@ required-features = ["std", "bitcoinconsensus"] name = "ecdsa-psbt-simple" required-features = ["rand-std"] +[[example]] +name = "create-p2wpkh-address" +required-features = ["rand-std"] + [[example]] name = "sign-tx-segwit-v0" required-features = ["rand-std"] diff --git a/bitcoin/examples/create-p2wpkh-address.rs b/bitcoin/examples/create-p2wpkh-address.rs new file mode 100644 index 0000000000..b8ec758f82 --- /dev/null +++ b/bitcoin/examples/create-p2wpkh-address.rs @@ -0,0 +1,24 @@ +use bitcoin::secp256k1::{rand, Secp256k1}; +use bitcoin::{Address, CompressedPublicKey, Network, PrivateKey}; + +/// Generate a P2WPKH (pay-to-witness-public-key-hash) address and print it +/// along with the associated private key needed to transact. +fn main() { + // Create new secp256k1 instance. + let secp = Secp256k1::new(); + + // Generate secp256k1 public and private key pair. + let (secret_key, public_key) = secp.generate_keypair(&mut rand::thread_rng()); + + // Create a Bitcoin private key to be used on the Bitcoin mainnet. + let private_key = PrivateKey::new(secret_key, Network::Bitcoin); + + // Create a compressed Bitcoin public key from the secp256k1 public key. + let public_key = CompressedPublicKey(public_key); + + // Create a Bitcoin P2WPKH address. + let address = Address::p2wpkh(public_key, Network::Bitcoin); + + println!("Private Key: {}", private_key); + println!("Address: {}", address); +} From 60f43a893d67c221f61e289cab6394418411cf55 Mon Sep 17 00:00:00 2001 From: "Tobin C. Harding" Date: Thu, 28 Nov 2024 11:48:38 +1100 Subject: [PATCH 023/554] Remove duplicate test case In commit: `a10d5e15b3 Extract the Script assembly creator from fmt::Debug` A test case was refactored and where there used to be two test case, one for `Debug` and one for `Display`, two identical test cases were left. Remove duplicate test case. --- bitcoin/src/blockdata/script/tests.rs | 4 ---- 1 file changed, 4 deletions(-) diff --git a/bitcoin/src/blockdata/script/tests.rs b/bitcoin/src/blockdata/script/tests.rs index 5a3409af6c..591b4d01e9 100644 --- a/bitcoin/src/blockdata/script/tests.rs +++ b/bitcoin/src/blockdata/script/tests.rs @@ -483,10 +483,6 @@ fn script_json_serialize() { #[test] fn script_asm() { - assert_eq!( - ScriptBuf::from_hex("6363636363686868686800").unwrap().to_string(), - "OP_IF OP_IF OP_IF OP_IF OP_IF OP_ENDIF OP_ENDIF OP_ENDIF OP_ENDIF OP_ENDIF OP_0" - ); assert_eq!( ScriptBuf::from_hex("6363636363686868686800").unwrap().to_string(), "OP_IF OP_IF OP_IF OP_IF OP_IF OP_ENDIF OP_ENDIF OP_ENDIF OP_ENDIF OP_ENDIF OP_0" From 987e31a188672b65fc3505b813cba3d3abd28165 Mon Sep 17 00:00:00 2001 From: Update Nightly Rustc Bot Date: Thu, 28 Nov 2024 01:55:33 +0000 Subject: [PATCH 024/554] Automated update to Github CI to rustc nightly-2024-11-27 --- nightly-version | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nightly-version b/nightly-version index c3f22bff65..fa09b09916 100644 --- a/nightly-version +++ b/nightly-version @@ -1 +1 @@ -nightly-2024-11-22 +nightly-2024-11-27 From 77085a1fa1f39e7358202e49189282e48a965747 Mon Sep 17 00:00:00 2001 From: "Tobin C. Harding" Date: Wed, 27 Nov 2024 14:09:56 +1100 Subject: [PATCH 025/554] units: Remove serde from amounts The `Amount` and `SignedAmount` were not supposed to implement `serde` traits by design because doing so implicitly uses sats. We provide two modules `as_sat` and `as_btc` to allow users to explicitly serialize in their preferred format. In commit: `d57ec019d5 Use Amount type for TxOut value field` derives were added for `serde` and we did not notice it during review. --- bitcoin/src/crypto/sighash.rs | 1 + primitives/src/transaction.rs | 1 + units/src/amount/signed.rs | 21 ++++++++++++++++++--- units/src/amount/unsigned.rs | 24 ++++++++++++++++++------ 4 files changed, 38 insertions(+), 9 deletions(-) diff --git a/bitcoin/src/crypto/sighash.rs b/bitcoin/src/crypto/sighash.rs index d5651de35f..ccbac973e5 100644 --- a/bitcoin/src/crypto/sighash.rs +++ b/bitcoin/src/crypto/sighash.rs @@ -1862,6 +1862,7 @@ mod tests { #[serde(rename = "scriptPubKey")] script_pubkey: ScriptBuf, #[serde(rename = "amountSats")] + #[serde(with = "crate::amount::serde::as_sat")] value: Amount, } diff --git a/primitives/src/transaction.rs b/primitives/src/transaction.rs index 639f0c52a0..4a4c6f6687 100644 --- a/primitives/src/transaction.rs +++ b/primitives/src/transaction.rs @@ -343,6 +343,7 @@ impl TxIn { #[cfg(feature = "alloc")] pub struct TxOut { /// The value of the output, in satoshis. + #[cfg_attr(feature = "serde", serde(with = "crate::amount::serde::as_sat"))] pub value: Amount, /// The script which must be satisfied for the output to be spent. pub script_pubkey: ScriptBuf, diff --git a/units/src/amount/signed.rs b/units/src/amount/signed.rs index b90fdd5e71..266a5d32a8 100644 --- a/units/src/amount/signed.rs +++ b/units/src/amount/signed.rs @@ -17,9 +17,9 @@ use super::{ /// A signed amount. /// -/// The [`SignedAmount`] type can be used to express Bitcoin amounts that support -/// arithmetic and conversion to various denominations. -/// +/// The [`SignedAmount`] type can be used to express Bitcoin amounts that support arithmetic and +/// conversion to various denominations. The `Amount` type does not implement `serde` traits but we +/// do provide modules for serializing as satoshis or bitcoin. /// /// Warning! /// @@ -29,6 +29,21 @@ use super::{ /// start with `checked_`. The operations from [`core::ops`] that [`Amount`] /// implements will panic when overflow or underflow occurs. /// +/// # Examples +/// +/// ``` +/// # #[cfg(feature = "serde")] { +/// use serde::{Serialize, Deserialize}; +/// use bitcoin_units::SignedAmount; +/// +/// #[derive(Serialize, Deserialize)] +/// struct Foo { +/// // If you are using `rust-bitcoin` then `bitcoin::amount::serde::as_sat` also works. +/// #[serde(with = "bitcoin_units::amount::serde::as_sat")] // Also `serde::as_btc`. +/// amount: SignedAmount, +/// } +/// # } +/// ``` #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)] pub struct SignedAmount(i64); diff --git a/units/src/amount/unsigned.rs b/units/src/amount/unsigned.rs index a682623853..c2e6de9a92 100644 --- a/units/src/amount/unsigned.rs +++ b/units/src/amount/unsigned.rs @@ -7,8 +7,6 @@ use alloc::string::{String, ToString}; use core::str::FromStr; use core::{default, fmt, ops}; -#[cfg(feature = "serde")] -use ::serde::{Deserialize, Serialize}; #[cfg(feature = "arbitrary")] use arbitrary::{Arbitrary, Unstructured}; @@ -21,9 +19,9 @@ use crate::{FeeRate, Weight}; /// An amount. /// -/// The [`Amount`] type can be used to express Bitcoin amounts that support -/// arithmetic and conversion to various denominations. -/// +/// The [`Amount`] type can be used to express Bitcoin amounts that support arithmetic and +/// conversion to various denominations. The `Amount` type does not implement `serde` traits but we +/// do provide modules for serializing as satoshis or bitcoin. /// /// Warning! /// @@ -36,8 +34,22 @@ use crate::{FeeRate, Weight}; /// zero is considered an underflow and will cause a panic if you're not using /// the checked arithmetic methods. /// +/// # Examples +/// +/// ``` +/// # #[cfg(feature = "serde")] { +/// use serde::{Serialize, Deserialize}; +/// use bitcoin_units::Amount; +/// +/// #[derive(Serialize, Deserialize)] +/// struct Foo { +/// // If you are using `rust-bitcoin` then `bitcoin::amount::serde::as_sat` also works. +/// #[serde(with = "bitcoin_units::amount::serde::as_sat")] // Also `serde::as_btc`. +/// amount: Amount, +/// } +/// # } +/// ``` #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)] -#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] pub struct Amount(u64); impl Amount { From 22769268f34b45c0bd86c548eb13cfe1e290f0d7 Mon Sep 17 00:00:00 2001 From: "Tobin C. Harding" Date: Thu, 28 Nov 2024 13:36:09 +1100 Subject: [PATCH 026/554] units: Close the hex parse errors As part of the 1.0 effort close the errors in the `units::parse` module. --- bitcoin/src/lib.rs | 4 ++-- units/src/parse.rs | 53 ++++++++++++++++++++++++++++++++-------------- units/tests/api.rs | 5 +---- 3 files changed, 40 insertions(+), 22 deletions(-) diff --git a/bitcoin/src/lib.rs b/bitcoin/src/lib.rs index 9727d4db87..c17350b1ea 100644 --- a/bitcoin/src/lib.rs +++ b/bitcoin/src/lib.rs @@ -237,8 +237,8 @@ pub mod parse { #[doc(inline)] pub use units::parse::{ hex_check_unprefixed, hex_remove_prefix, hex_u128, hex_u128_unchecked, hex_u128_unprefixed, - hex_u32, hex_u32_unchecked, hex_u32_unprefixed, int, ContainsPrefixError, - MissingPrefixError, ParseIntError, PrefixedHexError, UnprefixedHexError, + hex_u32, hex_u32_unchecked, hex_u32_unprefixed, int, + ParseIntError, PrefixedHexError, UnprefixedHexError, }; } diff --git a/units/src/parse.rs b/units/src/parse.rs index 84917406dc..a78e6eb408 100644 --- a/units/src/parse.rs +++ b/units/src/parse.rs @@ -293,18 +293,25 @@ pub(crate) fn hex_remove_optional_prefix(s: &str) -> &str { /// Error returned when parsing an integer from a hex string that is supposed to contain a prefix. #[derive(Debug, Clone, Eq, PartialEq)] -pub enum PrefixedHexError { +pub struct PrefixedHexError(PrefixedHexErrorInner); + +/// Error returned when parsing an integer from a hex string that is supposed to contain a prefix. +#[derive(Debug, Clone, Eq, PartialEq)] +enum PrefixedHexErrorInner { /// Hex string is missing prefix. MissingPrefix(MissingPrefixError), /// Error parsing integer from hex string. ParseInt(ParseIntError), } +internals::impl_from_infallible!(PrefixedHexError); +internals::impl_from_infallible!(PrefixedHexErrorInner); + impl fmt::Display for PrefixedHexError { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - use PrefixedHexError::*; + use PrefixedHexErrorInner::*; - match *self { + match self.0 { MissingPrefix(ref e) => write_err!(f, "hex string is missing prefix"; e), ParseInt(ref e) => write_err!(f, "prefixed hex string invalid int"; e), } @@ -314,9 +321,9 @@ impl fmt::Display for PrefixedHexError { #[cfg(feature = "std")] impl std::error::Error for PrefixedHexError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { - use PrefixedHexError::*; + use PrefixedHexErrorInner::*; - match *self { + match self.0 { MissingPrefix(ref e) => Some(e), ParseInt(ref e) => Some(e), } @@ -324,27 +331,37 @@ impl std::error::Error for PrefixedHexError { } impl From for PrefixedHexError { - fn from(e: MissingPrefixError) -> Self { Self::MissingPrefix(e) } + fn from(e: MissingPrefixError) -> Self { + Self(PrefixedHexErrorInner::MissingPrefix(e)) + } } impl From for PrefixedHexError { - fn from(e: ParseIntError) -> Self { Self::ParseInt(e) } + fn from(e: ParseIntError) -> Self { + Self(PrefixedHexErrorInner::ParseInt(e)) + } } /// Error returned when parsing an integer from a hex string that is not supposed to contain a prefix. #[derive(Debug, Clone, Eq, PartialEq)] -pub enum UnprefixedHexError { +pub struct UnprefixedHexError(UnprefixedHexErrorInner); + +#[derive(Debug, Clone, Eq, PartialEq)] +enum UnprefixedHexErrorInner { /// Hex string contains prefix. ContainsPrefix(ContainsPrefixError), /// Error parsing integer from string. ParseInt(ParseIntError), } +internals::impl_from_infallible!(UnprefixedHexError); +internals::impl_from_infallible!(UnprefixedHexErrorInner); + impl fmt::Display for UnprefixedHexError { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - use UnprefixedHexError::*; + use UnprefixedHexErrorInner::*; - match *self { + match self.0 { ContainsPrefix(ref e) => write_err!(f, "hex string is contains prefix"; e), ParseInt(ref e) => write_err!(f, "hex string parse int"; e), } @@ -354,9 +371,9 @@ impl fmt::Display for UnprefixedHexError { #[cfg(feature = "std")] impl std::error::Error for UnprefixedHexError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { - use UnprefixedHexError::*; + use UnprefixedHexErrorInner::*; - match *self { + match self.0 { ContainsPrefix(ref e) => Some(e), ParseInt(ref e) => Some(e), } @@ -364,16 +381,20 @@ impl std::error::Error for UnprefixedHexError { } impl From for UnprefixedHexError { - fn from(e: ContainsPrefixError) -> Self { Self::ContainsPrefix(e) } + fn from(e: ContainsPrefixError) -> Self { + Self(UnprefixedHexErrorInner::ContainsPrefix(e)) + } } impl From for UnprefixedHexError { - fn from(e: ParseIntError) -> Self { Self::ParseInt(e) } + fn from(e: ParseIntError) -> Self { + Self(UnprefixedHexErrorInner::ParseInt(e)) + } } /// Error returned when a hex string is missing a prefix (e.g. `0x`). #[derive(Debug, Clone, Eq, PartialEq)] -pub struct MissingPrefixError { +struct MissingPrefixError { hex: InputString, } @@ -393,7 +414,7 @@ impl std::error::Error for MissingPrefixError {} /// Error when hex string contains a prefix (e.g. 0x). #[derive(Debug, Clone, Eq, PartialEq)] -pub struct ContainsPrefixError { +struct ContainsPrefixError { hex: InputString, } diff --git a/units/tests/api.rs b/units/tests/api.rs index c69e20bb5c..209eaca120 100644 --- a/units/tests/api.rs +++ b/units/tests/api.rs @@ -113,8 +113,6 @@ struct Errors { z: locktime::absolute::ParseHeightError, _a: locktime::absolute::ParseTimeError, _b: locktime::relative::TimeOverflowError, - _c: parse::ContainsPrefixError, - _d: parse::MissingPrefixError, _e: parse::ParseIntError, _f: parse::PrefixedHexError, _g: parse::UnprefixedHexError, @@ -174,8 +172,7 @@ fn api_can_use_all_types_from_module_locktime_relative() { #[test] fn api_can_use_all_types_from_module_parse() { use bitcoin_units::parse::{ - ContainsPrefixError, MissingPrefixError, ParseIntError, PrefixedHexError, - UnprefixedHexError, + ParseIntError, PrefixedHexError, UnprefixedHexError, }; } From d595f421c67390c13d896a93df2ddfdaf354e1b4 Mon Sep 17 00:00:00 2001 From: "Tobin C. Harding" Date: Thu, 28 Nov 2024 13:45:01 +1100 Subject: [PATCH 027/554] Remove whitespace between enum variants We don't tend to put whitespace between enum variants. --- units/src/amount/error.rs | 2 -- 1 file changed, 2 deletions(-) diff --git a/units/src/amount/error.rs b/units/src/amount/error.rs index 8c0e79fad8..81f3c3b315 100644 --- a/units/src/amount/error.rs +++ b/units/src/amount/error.rs @@ -15,10 +15,8 @@ use super::INPUT_STRING_LEN_LIMIT; pub enum ParseError { /// Invalid amount. Amount(ParseAmountError), - /// Invalid denomination. Denomination(ParseDenominationError), - /// The denomination was not identified. MissingDenomination(MissingDenominationError), } From 31f883ac00e9d6887791fb41ac35d3e10b387d58 Mon Sep 17 00:00:00 2001 From: "Tobin C. Harding" Date: Thu, 28 Nov 2024 15:49:01 +1100 Subject: [PATCH 028/554] Implement iter::Sum for FeeRate The `FeeRate` implements `ops::Add`, no reason not to enable summing an iterator of fee rates. --- units/src/fee_rate.rs | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/units/src/fee_rate.rs b/units/src/fee_rate.rs index 4ed19f685b..c6f3f76fb1 100644 --- a/units/src/fee_rate.rs +++ b/units/src/fee_rate.rs @@ -267,6 +267,24 @@ impl SubAssign<&FeeRate> for FeeRate { fn sub_assign(&mut self, rhs: &FeeRate) { self.0 -= rhs.0 } } +impl core::iter::Sum for FeeRate { + fn sum(iter: I) -> Self + where + I: Iterator, + { + FeeRate::from_sat_per_kwu(iter.map(FeeRate::to_sat_per_kwu).sum()) + } +} + +impl<'a> core::iter::Sum<&'a FeeRate> for FeeRate { + fn sum(iter: I) -> Self + where + I: Iterator, + { + FeeRate::from_sat_per_kwu(iter.map(|f| FeeRate::to_sat_per_kwu(*f)).sum()) + } +} + crate::impl_parse_str_from_int_infallible!(FeeRate, u64, from_sat_per_kwu); #[cfg(test)] From 0369e64b56346f04aaaea60c159761651424f336 Mon Sep 17 00:00:00 2001 From: "Tobin C. Harding" Date: Thu, 28 Nov 2024 15:51:29 +1100 Subject: [PATCH 029/554] Implement Sum for an iterator of references to amounts We have `iter::Sum` already for `Amount` and `SignedAmount`. Add an implementation for each to support iterators that yield references. --- units/src/amount/signed.rs | 10 ++++++++++ units/src/amount/tests.rs | 4 ++-- units/src/amount/unsigned.rs | 10 ++++++++++ 3 files changed, 22 insertions(+), 2 deletions(-) diff --git a/units/src/amount/signed.rs b/units/src/amount/signed.rs index b90fdd5e71..841b270714 100644 --- a/units/src/amount/signed.rs +++ b/units/src/amount/signed.rs @@ -442,6 +442,16 @@ impl core::iter::Sum for SignedAmount { } } +impl<'a> core::iter::Sum<&'a SignedAmount> for SignedAmount { + fn sum(iter: I) -> Self + where + I: Iterator, + { + let sats: i64 = iter.map(|amt| amt.0).sum(); + SignedAmount::from_sat(sats) + } +} + #[cfg(feature = "arbitrary")] impl<'a> Arbitrary<'a> for SignedAmount { fn arbitrary(u: &mut Unstructured<'a>) -> arbitrary::Result { diff --git a/units/src/amount/tests.rs b/units/src/amount/tests.rs index e695a443bd..00d54d7268 100644 --- a/units/src/amount/tests.rs +++ b/units/src/amount/tests.rs @@ -825,8 +825,8 @@ fn serde_as_sat_opt() { #[test] fn sum_amounts() { - assert_eq!(Amount::from_sat(0), [].into_iter().sum::()); - assert_eq!(SignedAmount::from_sat(0), [].into_iter().sum::()); + assert_eq!(Amount::from_sat(0), [].iter().sum::()); + assert_eq!(SignedAmount::from_sat(0), [].iter().sum::()); let amounts = [Amount::from_sat(42), Amount::from_sat(1337), Amount::from_sat(21)]; let sum = amounts.into_iter().sum::(); diff --git a/units/src/amount/unsigned.rs b/units/src/amount/unsigned.rs index a682623853..143c94e57f 100644 --- a/units/src/amount/unsigned.rs +++ b/units/src/amount/unsigned.rs @@ -432,6 +432,16 @@ impl core::iter::Sum for Amount { } } +impl<'a> core::iter::Sum<&'a Amount> for Amount { + fn sum(iter: I) -> Self + where + I: Iterator, + { + let sats: u64 = iter.map(|amt| amt.0).sum(); + Amount::from_sat(sats) + } +} + #[cfg(feature = "arbitrary")] impl<'a> Arbitrary<'a> for Amount { fn arbitrary(u: &mut Unstructured<'a>) -> arbitrary::Result { From 433f70939c3ecc10702ab6502e3f9bcd94dab739 Mon Sep 17 00:00:00 2001 From: "Tobin C. Harding" Date: Thu, 28 Nov 2024 15:56:07 +1100 Subject: [PATCH 030/554] Implement iter::Sum for BlockInterval We support adding two intervals; no obvious reason not to support summing an iterator of intervals. --- units/src/block.rs | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/units/src/block.rs b/units/src/block.rs index 7b407e33cf..aabb4c2ccb 100644 --- a/units/src/block.rs +++ b/units/src/block.rs @@ -231,6 +231,23 @@ impl ops::SubAssign for BlockInterval { fn sub_assign(&mut self, rhs: BlockInterval) { self.0 = self.to_u32() - rhs.to_u32(); } } +impl core::iter::Sum for BlockInterval { + fn sum>(iter: I) -> Self { + let sum = iter.map(|interval| interval.0).sum(); + BlockInterval::from_u32(sum) + } +} + +impl<'a> core::iter::Sum<&'a BlockInterval> for BlockInterval { + fn sum(iter: I) -> Self + where + I: Iterator, + { + let sum = iter.map(|interval| interval.0).sum(); + BlockInterval::from_u32(sum) + } +} + #[cfg(test)] mod tests { use super::*; From 667b7f1010bc0745d3e39181e15ec795aeca68dc Mon Sep 17 00:00:00 2001 From: yancy Date: Wed, 27 Nov 2024 22:57:51 -0600 Subject: [PATCH 031/554] Remove unused extern statement extern crate keywords are no longer needed to import a crate --- bitcoin/examples/bip32.rs | 2 -- bitcoin/examples/handshake.rs | 2 -- 2 files changed, 4 deletions(-) diff --git a/bitcoin/examples/bip32.rs b/bitcoin/examples/bip32.rs index f2f36d4099..eec8eccac2 100644 --- a/bitcoin/examples/bip32.rs +++ b/bitcoin/examples/bip32.rs @@ -1,5 +1,3 @@ -extern crate bitcoin; - use std::{env, process}; use bitcoin::address::{Address, KnownHrp}; diff --git a/bitcoin/examples/handshake.rs b/bitcoin/examples/handshake.rs index 8cfa6a9e22..db5a4fb171 100644 --- a/bitcoin/examples/handshake.rs +++ b/bitcoin/examples/handshake.rs @@ -1,5 +1,3 @@ -extern crate bitcoin; - use std::io::{BufReader, Write}; use std::net::{IpAddr, Ipv4Addr, Shutdown, SocketAddr, TcpStream}; use std::time::{SystemTime, UNIX_EPOCH}; From c49f40fd9af1b9446a7c9a35aefdc02b30801275 Mon Sep 17 00:00:00 2001 From: "Tobin C. Harding" Date: Thu, 28 Nov 2024 16:59:00 +1100 Subject: [PATCH 032/554] units: Test C-COMMON-TRAITS Add structs to the `api` integration test file that verify the set of common traits. --- units/tests/api.rs | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/units/tests/api.rs b/units/tests/api.rs index c69e20bb5c..539359b897 100644 --- a/units/tests/api.rs +++ b/units/tests/api.rs @@ -81,6 +81,31 @@ impl Types { fn new() -> Self { Self { a: Enums::new(), b: Structs::max() } } } +/// A struct that includes all public non-error non-helper structs. +// C-COMMON-TRAITS excluding `Default` and `Display`. `Display` is done in `./str.rs`. +#[derive(Copy, Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)] +struct CommonTraits { + a: Amount, + c: SignedAmount, + d: BlockHeight, + e: BlockInterval, + f: FeeRate, + g: absolute::Height, + h: absolute::Time, + i: relative::Height, + j: relative::Time, + k: Weight, +} + +/// A struct that includes all types that implement `Default`. +#[derive(Default)] // C-COMMON-TRAITS: `Default` +struct Default { + a: Amount, + b: SignedAmount, + c: relative::Height, + d: relative::Time, +} + /// A struct that includes all public error types. // These derives are the policy of `rust-bitcoin` not Rust API guidelines. #[derive(Debug, Clone, PartialEq, Eq)] // All public types implement Debug (C-DEBUG). From 91268bba672d7dea9e29cccfa83f3b34df27fe91 Mon Sep 17 00:00:00 2001 From: "Jamil Lambert, PhD" Date: Thu, 28 Nov 2024 22:20:57 +0000 Subject: [PATCH 033/554] Examples use ?, not try!, not unwrap To conform to Rust API guidelines examples should Examples use ?, not try!, not unwrap (C-QUESTION-MARK). Label the examples as `# Examples`. Replace one `unwrap()` with `expect()` . The others don't technically conform to the guidelines but are warranted. --- hashes/src/lib.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hashes/src/lib.rs b/hashes/src/lib.rs index bc6206d305..44b13523d1 100644 --- a/hashes/src/lib.rs +++ b/hashes/src/lib.rs @@ -5,7 +5,7 @@ //! This library implements the hash functions needed by Bitcoin. As an ancillary thing, it exposes //! hexadecimal serialization and deserialization, since these are needed to display hashes. //! -//! ## Commonly used operations +//! # Examples //! //! Hashing a single byte slice or a string: //! @@ -26,7 +26,7 @@ //! //! let mut reader: &[u8] = b"hello"; // In real code, this could be a `File` or `TcpStream`. //! let mut engine = Sha256::engine(); -//! std::io::copy(&mut reader, &mut engine).unwrap(); +//! std::io::copy(&mut reader, &mut engine).expect("engine writes don't error"); //! let _hash = Sha256::from_engine(engine); //! # } //! ``` From a1260b06edb120eedd45b64ea9a8701b83bd0e0b Mon Sep 17 00:00:00 2001 From: Update Stable Rustc Bot Date: Fri, 29 Nov 2024 00:59:16 +0000 Subject: [PATCH 034/554] Automated update to Github CI to rustc stable-1.83.0 --- .github/workflows/stable-version | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/stable-version b/.github/workflows/stable-version index 71fae54fb2..6b4de0a42b 100644 --- a/.github/workflows/stable-version +++ b/.github/workflows/stable-version @@ -1 +1 @@ -1.82.0 +1.83.0 From b5a0731a23f945f7e4cc7d8f3c0f1d3f83875272 Mon Sep 17 00:00:00 2001 From: Chris Hyunhum Cho Date: Fri, 29 Nov 2024 08:06:51 +0000 Subject: [PATCH 035/554] refactor: remove unnecessary if block --- bitcoin/src/crypto/taproot.rs | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/bitcoin/src/crypto/taproot.rs b/bitcoin/src/crypto/taproot.rs index bfa857aa03..f050a9ec33 100644 --- a/bitcoin/src/crypto/taproot.rs +++ b/bitcoin/src/crypto/taproot.rs @@ -49,9 +49,8 @@ impl Signature { /// Note: this allocates on the heap, prefer [`serialize`](Self::serialize) if vec is not needed. pub fn to_vec(self) -> Vec { let mut ser_sig = self.signature.as_ref().to_vec(); - if self.sighash_type == TapSighashType::Default { - // default sighash type, don't add extra sighash byte - } else { + // If default sighash type, don't add extra sighash byte + if self.sighash_type != TapSighashType::Default { ser_sig.push(self.sighash_type as u8); } ser_sig From 0990b30035a01e6e75aa5e82412d79bd1eb9e267 Mon Sep 17 00:00:00 2001 From: Fmt Bot Date: Sun, 1 Dec 2024 01:41:12 +0000 Subject: [PATCH 036/554] 2024-12-01 automated rustfmt nightly --- bitcoin/src/blockdata/transaction.rs | 6 ++---- bitcoin/src/lib.rs | 4 ++-- bitcoin/src/psbt/mod.rs | 9 +++++---- units/src/parse.rs | 16 ++++------------ units/tests/api.rs | 6 ++---- 5 files changed, 15 insertions(+), 26 deletions(-) diff --git a/bitcoin/src/blockdata/transaction.rs b/bitcoin/src/blockdata/transaction.rs index 137110f4f9..6a91bcc512 100644 --- a/bitcoin/src/blockdata/transaction.rs +++ b/bitcoin/src/blockdata/transaction.rs @@ -1133,9 +1133,7 @@ impl InputWeightPrediction { /// Computes the **signature weight** added to a transaction by an input with this weight prediction, /// not counting the prevout (txid, index), sequence, potential witness flag bytes or the witness count varint. #[deprecated(since = "TBD", note = "use `InputWeightPrediction::witness_weight()` instead")] - pub const fn weight(&self) -> Weight { - Self::witness_weight(self) - } + pub const fn weight(&self) -> Weight { Self::witness_weight(self) } /// Computes the signature, prevout (txid, index), and sequence weights of this weight /// prediction. @@ -1972,7 +1970,7 @@ mod tests { InputWeightPrediction::P2PKH_COMPRESSED_MAX, InputWeightPrediction::P2PKH_UNCOMPRESSED_MAX, InputWeightPrediction::P2TR_KEY_DEFAULT_SIGHASH, - InputWeightPrediction::P2TR_KEY_NON_DEFAULT_SIGHASH + InputWeightPrediction::P2TR_KEY_NON_DEFAULT_SIGHASH, ]; let weight = predict_weight_from_slices(&predict, &[1]); diff --git a/bitcoin/src/lib.rs b/bitcoin/src/lib.rs index c17350b1ea..bb0e1f1c00 100644 --- a/bitcoin/src/lib.rs +++ b/bitcoin/src/lib.rs @@ -237,8 +237,8 @@ pub mod parse { #[doc(inline)] pub use units::parse::{ hex_check_unprefixed, hex_remove_prefix, hex_u128, hex_u128_unchecked, hex_u128_unprefixed, - hex_u32, hex_u32_unchecked, hex_u32_unprefixed, int, - ParseIntError, PrefixedHexError, UnprefixedHexError, + hex_u32, hex_u32_unchecked, hex_u32_unprefixed, int, ParseIntError, PrefixedHexError, + UnprefixedHexError, }; } diff --git a/bitcoin/src/psbt/mod.rs b/bitcoin/src/psbt/mod.rs index 7bf5791f0d..e1e64dde0c 100644 --- a/bitcoin/src/psbt/mod.rs +++ b/bitcoin/src/psbt/mod.rs @@ -256,8 +256,7 @@ impl Psbt { { continue; } else if derivation2.len() <= derivation1.len() - && derivation2[..] - == derivation1[derivation1.len() - derivation2.len()..] + && derivation2[..] == derivation1[derivation1.len() - derivation2.len()..] { entry.insert((fingerprint1, derivation1)); continue; @@ -2117,14 +2116,16 @@ mod tests { assert_eq!(psbt1, psbt2); } - // https://github.com/rust-bitcoin/rust-bitcoin/issues/3628 #[test] fn test_combine_psbt_fuzz_3628() { let mut psbt1 = hex_psbt(include_str!("../../tests/data/psbt_fuzz1.hex")).unwrap(); let psbt2 = hex_psbt(include_str!("../../tests/data/psbt_fuzz2.hex")).unwrap(); - assert!(matches!(psbt1.combine(psbt2).unwrap_err(), Error::CombineInconsistentKeySources(_))); + assert!(matches!( + psbt1.combine(psbt2).unwrap_err(), + Error::CombineInconsistentKeySources(_) + )); } #[cfg(feature = "rand-std")] diff --git a/units/src/parse.rs b/units/src/parse.rs index a78e6eb408..a08fd56923 100644 --- a/units/src/parse.rs +++ b/units/src/parse.rs @@ -331,15 +331,11 @@ impl std::error::Error for PrefixedHexError { } impl From for PrefixedHexError { - fn from(e: MissingPrefixError) -> Self { - Self(PrefixedHexErrorInner::MissingPrefix(e)) - } + fn from(e: MissingPrefixError) -> Self { Self(PrefixedHexErrorInner::MissingPrefix(e)) } } impl From for PrefixedHexError { - fn from(e: ParseIntError) -> Self { - Self(PrefixedHexErrorInner::ParseInt(e)) - } + fn from(e: ParseIntError) -> Self { Self(PrefixedHexErrorInner::ParseInt(e)) } } /// Error returned when parsing an integer from a hex string that is not supposed to contain a prefix. @@ -381,15 +377,11 @@ impl std::error::Error for UnprefixedHexError { } impl From for UnprefixedHexError { - fn from(e: ContainsPrefixError) -> Self { - Self(UnprefixedHexErrorInner::ContainsPrefix(e)) - } + fn from(e: ContainsPrefixError) -> Self { Self(UnprefixedHexErrorInner::ContainsPrefix(e)) } } impl From for UnprefixedHexError { - fn from(e: ParseIntError) -> Self { - Self(UnprefixedHexErrorInner::ParseInt(e)) - } + fn from(e: ParseIntError) -> Self { Self(UnprefixedHexErrorInner::ParseInt(e)) } } /// Error returned when a hex string is missing a prefix (e.g. `0x`). diff --git a/units/tests/api.rs b/units/tests/api.rs index 477cc825c9..8649e7397d 100644 --- a/units/tests/api.rs +++ b/units/tests/api.rs @@ -98,7 +98,7 @@ struct CommonTraits { } /// A struct that includes all types that implement `Default`. -#[derive(Default)] // C-COMMON-TRAITS: `Default` +#[derive(Default)] // C-COMMON-TRAITS: `Default` struct Default { a: Amount, b: SignedAmount, @@ -196,9 +196,7 @@ fn api_can_use_all_types_from_module_locktime_relative() { #[test] fn api_can_use_all_types_from_module_parse() { - use bitcoin_units::parse::{ - ParseIntError, PrefixedHexError, UnprefixedHexError, - }; + use bitcoin_units::parse::{ParseIntError, PrefixedHexError, UnprefixedHexError}; } #[test] From 23c77275b1ce9b9a8ff69efb8c87cad297b9e506 Mon Sep 17 00:00:00 2001 From: "Tobin C. Harding" Date: Thu, 28 Nov 2024 13:57:28 +1100 Subject: [PATCH 037/554] Reduce code comment lines Make the comment more terse by using 'info' instead of 'information' and reduce the line count by 2. --- units/src/amount/error.rs | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/units/src/amount/error.rs b/units/src/amount/error.rs index 81f3c3b315..083e87969a 100644 --- a/units/src/amount/error.rs +++ b/units/src/amount/error.rs @@ -56,8 +56,7 @@ impl fmt::Display for ParseError { match self { ParseError::Amount(error) => write_err!(f, "invalid amount"; error), ParseError::Denomination(error) => write_err!(f, "invalid denomination"; error), - // We consider this to not be a source because it currently doesn't contain useful - // information + // We consider this to not be a source because it currently doesn't contain useful info. ParseError::MissingDenomination(_) => f.write_str("the input doesn't contain a denomination"), } @@ -70,8 +69,7 @@ impl std::error::Error for ParseError { match self { ParseError::Amount(error) => Some(error), ParseError::Denomination(error) => Some(error), - // We consider this to not be a source because it currently doesn't contain useful - // information + // We consider this to not be a source because it currently doesn't contain useful info. ParseError::MissingDenomination(_) => None, } } From fd2a5c1ec79f337fb3695c030c9fb6b4671468f2 Mon Sep 17 00:00:00 2001 From: "Tobin C. Harding" Date: Thu, 28 Nov 2024 14:17:39 +1100 Subject: [PATCH 038/554] Close amounts error types Close the two pubic enum error types in `units::amounts`. All the other structs are closed already because they either have private fields or marked `non_exhaustive`. --- units/src/amount/error.rs | 66 +++++++++++++++++++++--------------- units/src/amount/mod.rs | 14 ++++---- units/src/amount/signed.rs | 13 ++++--- units/src/amount/tests.rs | 14 ++++---- units/src/amount/unsigned.rs | 7 ++-- 5 files changed, 67 insertions(+), 47 deletions(-) diff --git a/units/src/amount/error.rs b/units/src/amount/error.rs index 083e87969a..55939b5ae5 100644 --- a/units/src/amount/error.rs +++ b/units/src/amount/error.rs @@ -11,8 +11,10 @@ use super::INPUT_STRING_LEN_LIMIT; /// An error during amount parsing amount with denomination. #[derive(Debug, Clone, PartialEq, Eq)] -#[non_exhaustive] -pub enum ParseError { +pub struct ParseError(pub(crate) ParseErrorInner); + +#[derive(Debug, Clone, PartialEq, Eq)] +pub(crate) enum ParseErrorInner { /// Invalid amount. Amount(ParseAmountError), /// Invalid denomination. @@ -22,42 +24,43 @@ pub enum ParseError { } internals::impl_from_infallible!(ParseError); +internals::impl_from_infallible!(ParseErrorInner); impl From for ParseError { - fn from(e: ParseAmountError) -> Self { Self::Amount(e) } + fn from(e: ParseAmountError) -> Self { Self(ParseErrorInner::Amount(e)) } } impl From for ParseError { - fn from(e: ParseDenominationError) -> Self { Self::Denomination(e) } + fn from(e: ParseDenominationError) -> Self { Self(ParseErrorInner::Denomination(e)) } } impl From for ParseError { - fn from(e: OutOfRangeError) -> Self { Self::Amount(e.into()) } + fn from(e: OutOfRangeError) -> Self { Self(ParseErrorInner::Amount(e.into())) } } impl From for ParseError { - fn from(e: TooPreciseError) -> Self { Self::Amount(e.into()) } + fn from(e: TooPreciseError) -> Self { Self(ParseErrorInner::Amount(e.into())) } } impl From for ParseError { - fn from(e: MissingDigitsError) -> Self { Self::Amount(e.into()) } + fn from(e: MissingDigitsError) -> Self { Self(ParseErrorInner::Amount(e.into())) } } impl From for ParseError { - fn from(e: InputTooLargeError) -> Self { Self::Amount(e.into()) } + fn from(e: InputTooLargeError) -> Self { Self(ParseErrorInner::Amount(e.into())) } } impl From for ParseError { - fn from(e: InvalidCharacterError) -> Self { Self::Amount(e.into()) } + fn from(e: InvalidCharacterError) -> Self { Self(ParseErrorInner::Amount(e.into())) } } impl fmt::Display for ParseError { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - match self { - ParseError::Amount(error) => write_err!(f, "invalid amount"; error), - ParseError::Denomination(error) => write_err!(f, "invalid denomination"; error), + match self.0 { + ParseErrorInner::Amount(ref e) => write_err!(f, "invalid amount"; e), + ParseErrorInner::Denomination(ref e) => write_err!(f, "invalid denomination"; e), // We consider this to not be a source because it currently doesn't contain useful info. - ParseError::MissingDenomination(_) => + ParseErrorInner::MissingDenomination(_) => f.write_str("the input doesn't contain a denomination"), } } @@ -66,19 +69,21 @@ impl fmt::Display for ParseError { #[cfg(feature = "std")] impl std::error::Error for ParseError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { - match self { - ParseError::Amount(error) => Some(error), - ParseError::Denomination(error) => Some(error), + match self.0 { + ParseErrorInner::Amount(ref e) => Some(e), + ParseErrorInner::Denomination(ref e) => Some(e), // We consider this to not be a source because it currently doesn't contain useful info. - ParseError::MissingDenomination(_) => None, + ParseErrorInner::MissingDenomination(_) => None, } } } /// An error during amount parsing. #[derive(Debug, Clone, PartialEq, Eq)] -#[non_exhaustive] -pub enum ParseAmountError { +pub struct ParseAmountError(pub(crate) ParseAmountErrorInner); + +#[derive(Debug, Clone, PartialEq, Eq)] +pub(crate) enum ParseAmountErrorInner { /// The amount is too big or too small. OutOfRange(OutOfRangeError), /// Amount has higher precision than supported by the type. @@ -92,28 +97,31 @@ pub enum ParseAmountError { } impl From for ParseAmountError { - fn from(value: TooPreciseError) -> Self { Self::TooPrecise(value) } + fn from(value: TooPreciseError) -> Self { Self(ParseAmountErrorInner::TooPrecise(value)) } } impl From for ParseAmountError { - fn from(value: MissingDigitsError) -> Self { Self::MissingDigits(value) } + fn from(value: MissingDigitsError) -> Self { Self(ParseAmountErrorInner::MissingDigits(value)) } } impl From for ParseAmountError { - fn from(value: InputTooLargeError) -> Self { Self::InputTooLarge(value) } + fn from(value: InputTooLargeError) -> Self { Self(ParseAmountErrorInner::InputTooLarge(value)) } } impl From for ParseAmountError { - fn from(value: InvalidCharacterError) -> Self { Self::InvalidCharacter(value) } + fn from(value: InvalidCharacterError) -> Self { + Self(ParseAmountErrorInner::InvalidCharacter(value)) + } } internals::impl_from_infallible!(ParseAmountError); +internals::impl_from_infallible!(ParseAmountErrorInner); impl fmt::Display for ParseAmountError { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - use ParseAmountError::*; + use ParseAmountErrorInner::*; - match *self { + match self.0 { OutOfRange(ref error) => write_err!(f, "amount out of range"; error), TooPrecise(ref error) => write_err!(f, "amount has a too high precision"; error), MissingDigits(ref error) => write_err!(f, "the input has too few digits"; error), @@ -126,9 +134,9 @@ impl fmt::Display for ParseAmountError { #[cfg(feature = "std")] impl std::error::Error for ParseAmountError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { - use ParseAmountError::*; + use ParseAmountErrorInner::*; - match *self { + match self.0 { TooPrecise(ref error) => Some(error), InputTooLarge(ref error) => Some(error), OutOfRange(ref error) => Some(error), @@ -195,7 +203,9 @@ impl fmt::Display for OutOfRangeError { impl std::error::Error for OutOfRangeError {} impl From for ParseAmountError { - fn from(value: OutOfRangeError) -> Self { ParseAmountError::OutOfRange(value) } + fn from(value: OutOfRangeError) -> Self { + ParseAmountError(ParseAmountErrorInner::OutOfRange(value)) + } } /// Error returned when the input string has higher precision than satoshis. diff --git a/units/src/amount/mod.rs b/units/src/amount/mod.rs index f78b5c3787..21eb9ed8c8 100644 --- a/units/src/amount/mod.rs +++ b/units/src/amount/mod.rs @@ -20,7 +20,7 @@ use core::cmp::Ordering; use core::fmt; use core::str::FromStr; -use self::error::MissingDigitsKind; +use self::error::{MissingDigitsKind, ParseAmountErrorInner, ParseErrorInner}; #[rustfmt::skip] // Keep public re-exports separate. #[doc(inline)] @@ -297,10 +297,12 @@ impl InnerParseError { match self { Self::Overflow { is_negative } => OutOfRangeError { is_signed, is_greater_than_max: !is_negative }.into(), - Self::TooPrecise(error) => ParseAmountError::TooPrecise(error), - Self::MissingDigits(error) => ParseAmountError::MissingDigits(error), - Self::InputTooLarge(len) => ParseAmountError::InputTooLarge(InputTooLargeError { len }), - Self::InvalidCharacter(error) => ParseAmountError::InvalidCharacter(error), + Self::TooPrecise(e) => ParseAmountError(ParseAmountErrorInner::TooPrecise(e)), + Self::MissingDigits(e) => ParseAmountError(ParseAmountErrorInner::MissingDigits(e)), + Self::InputTooLarge(len) => + ParseAmountError(ParseAmountErrorInner::InputTooLarge(InputTooLargeError { len })), + Self::InvalidCharacter(e) => + ParseAmountError(ParseAmountErrorInner::InvalidCharacter(e)), } } } @@ -311,7 +313,7 @@ fn split_amount_and_denomination(s: &str) -> Result<(&str, Denomination), ParseE } else { let i = s .find(|c: char| c.is_alphabetic()) - .ok_or(ParseError::MissingDenomination(MissingDenominationError))?; + .ok_or(ParseError(ParseErrorInner::MissingDenomination(MissingDenominationError)))?; (i, i) }; Ok((&s[..i], s[j..].parse()?)) diff --git a/units/src/amount/signed.rs b/units/src/amount/signed.rs index b90fdd5e71..632a562675 100644 --- a/units/src/amount/signed.rs +++ b/units/src/amount/signed.rs @@ -10,6 +10,7 @@ use core::{default, fmt, ops}; #[cfg(feature = "arbitrary")] use arbitrary::{Arbitrary, Unstructured}; +use super::error::{ParseAmountErrorInner, ParseErrorInner}; use super::{ parse_signed_to_satoshi, split_amount_and_denomination, Amount, Denomination, Display, DisplayStyle, OutOfRangeError, ParseAmountError, ParseError, @@ -92,12 +93,14 @@ impl SignedAmount { pub fn from_str_in(s: &str, denom: Denomination) -> Result { match parse_signed_to_satoshi(s, denom).map_err(|error| error.convert(true))? { // (negative, amount) - (false, sat) if sat > i64::MAX as u64 => - Err(ParseAmountError::OutOfRange(OutOfRangeError::too_big(true))), + (false, sat) if sat > i64::MAX as u64 => Err(ParseAmountError( + ParseAmountErrorInner::OutOfRange(OutOfRangeError::too_big(true)), + )), (false, sat) => Ok(SignedAmount(sat as i64)), (true, sat) if sat == i64::MIN.unsigned_abs() => Ok(SignedAmount(i64::MIN)), - (true, sat) if sat > i64::MIN.unsigned_abs() => - Err(ParseAmountError::OutOfRange(OutOfRangeError::too_small())), + (true, sat) if sat > i64::MIN.unsigned_abs() => Err(ParseAmountError( + ParseAmountErrorInner::OutOfRange(OutOfRangeError::too_small()), + )), (true, sat) => Ok(SignedAmount(-(sat as i64))), } } @@ -415,7 +418,7 @@ impl FromStr for SignedAmount { let result = SignedAmount::from_str_with_denomination(s); match result { - Err(ParseError::MissingDenomination(_)) => { + Err(ParseError(ParseErrorInner::MissingDenomination(_))) => { let d = SignedAmount::from_str_in(s, Denomination::Satoshi); if d == Ok(SignedAmount::ZERO) { diff --git a/units/src/amount/tests.rs b/units/src/amount/tests.rs index e695a443bd..24e0675459 100644 --- a/units/src/amount/tests.rs +++ b/units/src/amount/tests.rs @@ -33,7 +33,9 @@ fn from_str_zero() { match s.parse::() { Err(e) => assert_eq!( e, - ParseError::Amount(ParseAmountError::OutOfRange(OutOfRangeError::negative())) + ParseError(ParseErrorInner::Amount(ParseAmountError( + ParseAmountErrorInner::OutOfRange(OutOfRangeError::negative()) + ))) ), Ok(_) => panic!("unsigned amount from {}", s), } @@ -321,7 +323,7 @@ fn parsing() { // more than 50 chars. assert_eq!( p("100000000000000.00000000000000000000000000000000000", Denomination::Bitcoin), - Err(E::InputTooLarge(InputTooLargeError { len: 51 })) + Err(E(ParseAmountErrorInner::InputTooLarge(InputTooLargeError { len: 51 }))) ); } @@ -731,10 +733,10 @@ fn serde_as_btc() { // errors let t: Result = serde_json::from_str("{\"amt\": 1000000.000000001, \"samt\": 1}"); - assert!(t - .unwrap_err() - .to_string() - .contains(&ParseAmountError::TooPrecise(TooPreciseError { position: 16 }).to_string())); + assert!(t.unwrap_err().to_string().contains( + &ParseAmountError(ParseAmountErrorInner::TooPrecise(TooPreciseError { position: 16 })) + .to_string() + )); let t: Result = serde_json::from_str("{\"amt\": -1, \"samt\": 1}"); assert!(t.unwrap_err().to_string().contains(&OutOfRangeError::negative().to_string())); } diff --git a/units/src/amount/unsigned.rs b/units/src/amount/unsigned.rs index a682623853..37845c1cee 100644 --- a/units/src/amount/unsigned.rs +++ b/units/src/amount/unsigned.rs @@ -12,6 +12,7 @@ use ::serde::{Deserialize, Serialize}; #[cfg(feature = "arbitrary")] use arbitrary::{Arbitrary, Unstructured}; +use super::error::{ParseAmountErrorInner, ParseErrorInner}; use super::{ parse_signed_to_satoshi, split_amount_and_denomination, Denomination, Display, DisplayStyle, OutOfRangeError, ParseAmountError, ParseError, SignedAmount, @@ -103,7 +104,9 @@ impl Amount { let (negative, satoshi) = parse_signed_to_satoshi(s, denom).map_err(|error| error.convert(false))?; if negative { - return Err(ParseAmountError::OutOfRange(OutOfRangeError::negative())); + return Err(ParseAmountError(ParseAmountErrorInner::OutOfRange( + OutOfRangeError::negative(), + ))); } Ok(Amount::from_sat(satoshi)) } @@ -405,7 +408,7 @@ impl FromStr for Amount { let result = Amount::from_str_with_denomination(s); match result { - Err(ParseError::MissingDenomination(_)) => { + Err(ParseError(ParseErrorInner::MissingDenomination(_))) => { let d = Amount::from_str_in(s, Denomination::Satoshi); if d == Ok(Amount::ZERO) { From f428833bdd89229ef9323a14ba4efdda53834c11 Mon Sep 17 00:00:00 2001 From: "Tobin C. Harding" Date: Mon, 2 Dec 2024 09:44:35 +1100 Subject: [PATCH 039/554] Only update nightly once a week Merging the nightly update PRs is boring and annoying. We can just do it once a week without too much risk of falling behind. This does mean that I (Tobin) can't be lazy and skip merging the bot's PRs (which I find myself doing when its twice a week). --- .github/workflows/cron-semi-weekly-update-nightly.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cron-semi-weekly-update-nightly.yml b/.github/workflows/cron-semi-weekly-update-nightly.yml index 8cfb698854..ea9c4f434d 100644 --- a/.github/workflows/cron-semi-weekly-update-nightly.yml +++ b/.github/workflows/cron-semi-weekly-update-nightly.yml @@ -1,7 +1,7 @@ name: Update Nightly rustc on: schedule: - - cron: "5 0 * * 1,4" # runs every Monday and Thursday at 00:05 + - cron: "5 0 * * 6" # Saturday at 00:05 workflow_dispatch: # allows manual triggering jobs: format: From 01ec48cfb83389759c1c83ec85d008533ddef74d Mon Sep 17 00:00:00 2001 From: "Tobin C. Harding" Date: Mon, 2 Dec 2024 09:47:11 +1100 Subject: [PATCH 040/554] Re-name cron nightly update jobs We just changed the cron nightly update job to be once a week instead of twice - re-name the file appropriately. --- ...i-weekly-update-nightly.yml => cron-weekly-update-nightly.yml} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename .github/workflows/{cron-semi-weekly-update-nightly.yml => cron-weekly-update-nightly.yml} (100%) diff --git a/.github/workflows/cron-semi-weekly-update-nightly.yml b/.github/workflows/cron-weekly-update-nightly.yml similarity index 100% rename from .github/workflows/cron-semi-weekly-update-nightly.yml rename to .github/workflows/cron-weekly-update-nightly.yml From 75297a68f60eb8e779a56f76ac5377c5d7c87559 Mon Sep 17 00:00:00 2001 From: Update Nightly Rustc Bot Date: Mon, 2 Dec 2024 01:59:35 +0000 Subject: [PATCH 041/554] Automated update to Github CI to rustc nightly-2024-12-01 --- nightly-version | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nightly-version b/nightly-version index fa09b09916..67380bdf06 100644 --- a/nightly-version +++ b/nightly-version @@ -1 +1 @@ -nightly-2024-11-27 +nightly-2024-12-01 From 8b41ecb4270585652259277e7f132c8fbdcae953 Mon Sep 17 00:00:00 2001 From: Shing Him Ng Date: Sun, 1 Dec 2024 20:59:46 -0600 Subject: [PATCH 042/554] Fix typo in re-export --- bitcoin/src/lib.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bitcoin/src/lib.rs b/bitcoin/src/lib.rs index bb0e1f1c00..2c4c76ae12 100644 --- a/bitcoin/src/lib.rs +++ b/bitcoin/src/lib.rs @@ -123,7 +123,7 @@ pub mod taproot; pub use primitives::{ block::{ Block, BlockHash, Checked as BlockChecked, Header as BlockHeader, - Unchecked as BockUnchecked, Validation as BlockValidation, WitnessCommitment, + Unchecked as BlockUnchecked, Validation as BlockValidation, WitnessCommitment, }, merkle_tree::{TxMerkleNode, WitnessMerkleNode}, opcodes::Opcode, From 22530f6a2b484d2cb7974250bca5b28b9f26d85d Mon Sep 17 00:00:00 2001 From: "Tobin C. Harding" Date: Thu, 28 Nov 2024 16:39:32 +1100 Subject: [PATCH 043/554] Support serde serializing Amount as string Sometimes JSON parsers may munge floats. Instead of using `f64` we can serialize BTC amounts as strings. Includes addition of `alloc` feature gate to `DisplayFullError` to remove lint warnings when building with `--no-default-features`. Close: #894 --- units/Cargo.toml | 2 +- units/src/amount/serde.rs | 115 +++++++++++++++++++++++++++++++++++++- units/src/amount/tests.rs | 68 ++++++++++++++++++++++ 3 files changed, 183 insertions(+), 2 deletions(-) diff --git a/units/Cargo.toml b/units/Cargo.toml index 61acb6613c..682307dde2 100644 --- a/units/Cargo.toml +++ b/units/Cargo.toml @@ -15,7 +15,7 @@ exclude = ["tests", "contrib"] [features] default = ["std"] std = ["alloc", "internals/std"] -alloc = ["internals/alloc"] +alloc = ["internals/alloc","serde?/alloc"] [dependencies] internals = { package = "bitcoin-internals", version = "0.4.0" } diff --git a/units/src/amount/serde.rs b/units/src/amount/serde.rs index a485994b71..f5ddc595f8 100644 --- a/units/src/amount/serde.rs +++ b/units/src/amount/serde.rs @@ -20,13 +20,16 @@ //! } //! ``` +#[cfg(feature = "alloc")] use core::fmt; use serde::{Deserialize, Deserializer, Serialize, Serializer}; #[cfg(feature = "alloc")] // This is because `to_float_in` uses `to_string`. use super::Denomination; -use super::{Amount, ParseAmountError, SignedAmount}; +#[cfg(feature = "alloc")] +use super::ParseAmountError; +use super::{Amount, SignedAmount}; /// This trait is used only to avoid code duplication and naming collisions /// of the different serde serialization crates. @@ -37,6 +40,10 @@ pub trait SerdeAmount: Copy + Sized { fn ser_btc(self, s: S, _: private::Token) -> Result; #[cfg(feature = "alloc")] fn des_btc<'d, D: Deserializer<'d>>(d: D, _: private::Token) -> Result; + #[cfg(feature = "alloc")] + fn ser_str(self, s: S, _: private::Token) -> Result; + #[cfg(feature = "alloc")] + fn des_str<'d, D: Deserializer<'d>>(d: D, _: private::Token) -> Result; } mod private { @@ -50,8 +57,11 @@ pub trait SerdeAmountForOpt: Copy + Sized + SerdeAmount { fn ser_sat_opt(self, s: S, _: private::Token) -> Result; #[cfg(feature = "alloc")] fn ser_btc_opt(self, s: S, _: private::Token) -> Result; + #[cfg(feature = "alloc")] + fn ser_str_opt(self, s: S, _: private::Token) -> Result; } +#[cfg(feature = "alloc")] struct DisplayFullError(ParseAmountError); #[cfg(feature = "std")] @@ -70,6 +80,7 @@ impl fmt::Display for DisplayFullError { } #[cfg(not(feature = "std"))] +#[cfg(feature = "alloc")] impl fmt::Display for DisplayFullError { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { fmt::Display::fmt(&self.0, f) } } @@ -90,6 +101,18 @@ impl SerdeAmount for Amount { use serde::de::Error; Amount::from_btc(f64::deserialize(d)?).map_err(DisplayFullError).map_err(D::Error::custom) } + #[cfg(feature = "alloc")] + fn ser_str(self, s: S, _: private::Token) -> Result { + s.serialize_str(&self.to_string_in(Denomination::Bitcoin)) + } + #[cfg(feature = "alloc")] + fn des_str<'d, D: Deserializer<'d>>(d: D, _: private::Token) -> Result { + use serde::de::Error; + let s: alloc::string::String = Deserialize::deserialize(d)?; + Amount::from_str_in(&s, Denomination::Bitcoin) + .map_err(DisplayFullError) + .map_err(D::Error::custom) + } } impl SerdeAmountForOpt for Amount { @@ -101,6 +124,10 @@ impl SerdeAmountForOpt for Amount { fn ser_btc_opt(self, s: S, _: private::Token) -> Result { s.serialize_some(&self.to_btc()) } + #[cfg(feature = "alloc")] + fn ser_str_opt(self, s: S, _: private::Token) -> Result { + s.serialize_some(&self.to_string_in(Denomination::Bitcoin)) + } } impl SerdeAmount for SignedAmount { @@ -121,6 +148,18 @@ impl SerdeAmount for SignedAmount { .map_err(DisplayFullError) .map_err(D::Error::custom) } + #[cfg(feature = "alloc")] + fn ser_str(self, s: S, _: private::Token) -> Result { + s.serialize_str(self.to_string_in(Denomination::Bitcoin).as_str()) + } + #[cfg(feature = "alloc")] + fn des_str<'d, D: Deserializer<'d>>(d: D, _: private::Token) -> Result { + use serde::de::Error; + let s: alloc::string::String = Deserialize::deserialize(d)?; + SignedAmount::from_str_in(&s, Denomination::Bitcoin) + .map_err(DisplayFullError) + .map_err(D::Error::custom) + } } impl SerdeAmountForOpt for SignedAmount { @@ -132,6 +171,10 @@ impl SerdeAmountForOpt for SignedAmount { fn ser_btc_opt(self, s: S, _: private::Token) -> Result { s.serialize_some(&self.to_btc()) } + #[cfg(feature = "alloc")] + fn ser_str_opt(self, s: S, _: private::Token) -> Result { + s.serialize_some(&self.to_string_in(Denomination::Bitcoin)) + } } pub mod as_sat { @@ -272,3 +315,73 @@ pub mod as_btc { } } } + +#[cfg(feature = "alloc")] +pub mod as_str { + //! Serialize and deserialize [`Amount`](crate::Amount) as a JSON string denominated in BTC. + //! Use with `#[serde(with = "amount::serde::as_str")]`. + + use serde::{Deserializer, Serializer}; + + use super::private; + use crate::amount::serde::SerdeAmount; + + pub fn serialize(a: &A, s: S) -> Result { + a.ser_str(s, private::Token) + } + + pub fn deserialize<'d, A: SerdeAmount, D: Deserializer<'d>>(d: D) -> Result { + A::des_str(d, private::Token) + } + + pub mod opt { + //! Serialize and deserialize `Option` as a JSON string denominated in BTC. + //! Use with `#[serde(default, with = "amount::serde::as_str::opt")]`. + + use core::fmt; + use core::marker::PhantomData; + + use serde::{de, Deserializer, Serializer}; + + use super::private; + use crate::amount::serde::SerdeAmountForOpt; + + pub fn serialize( + a: &Option, + s: S, + ) -> Result { + match *a { + Some(a) => a.ser_str_opt(s, private::Token), + None => s.serialize_none(), + } + } + + pub fn deserialize<'d, A: SerdeAmountForOpt, D: Deserializer<'d>>( + d: D, + ) -> Result, D::Error> { + struct VisitOptAmt(PhantomData); + + impl<'de, X: SerdeAmountForOpt> de::Visitor<'de> for VisitOptAmt { + type Value = Option; + + fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result { + write!(formatter, "An Option") + } + + fn visit_none(self) -> Result + where + E: de::Error, + { + Ok(None) + } + fn visit_some(self, d: D) -> Result + where + D: Deserializer<'de>, + { + Ok(Some(X::des_str(d, private::Token)?)) + } + } + d.deserialize_option(VisitOptAmt::(PhantomData)) + } + } +} diff --git a/units/src/amount/tests.rs b/units/src/amount/tests.rs index 0b22ea2ff8..1213e888ca 100644 --- a/units/src/amount/tests.rs +++ b/units/src/amount/tests.rs @@ -741,6 +741,31 @@ fn serde_as_btc() { assert!(t.unwrap_err().to_string().contains(&OutOfRangeError::negative().to_string())); } +#[cfg(feature = "serde")] +#[cfg(feature = "alloc")] +#[test] +fn serde_as_str() { + #[derive(Serialize, Deserialize, PartialEq, Debug)] + struct T { + #[serde(with = "crate::amount::serde::as_str")] + pub amt: Amount, + #[serde(with = "crate::amount::serde::as_str")] + pub samt: SignedAmount, + } + + serde_test::assert_tokens( + &T { amt: Amount::from_sat(123456789), samt: SignedAmount::from_sat(-123456789) }, + &[ + serde_test::Token::Struct { name: "T", len: 2 }, + serde_test::Token::String("amt"), + serde_test::Token::String("1.23456789"), + serde_test::Token::String("samt"), + serde_test::Token::String("-1.23456789"), + serde_test::Token::StructEnd, + ], + ); +} + #[cfg(feature = "serde")] #[cfg(feature = "alloc")] #[test] @@ -825,6 +850,49 @@ fn serde_as_sat_opt() { assert_eq!(without, serde_json::from_value(value_without).unwrap()); } +#[cfg(feature = "serde")] +#[cfg(feature = "alloc")] +#[test] +#[allow(clippy::inconsistent_digit_grouping)] // Group to show 100,000,000 sats per bitcoin. +fn serde_as_str_opt() { + use serde_json; + + #[derive(Serialize, Deserialize, PartialEq, Debug, Eq)] + struct T { + #[serde(default, with = "crate::amount::serde::as_str::opt")] + pub amt: Option, + #[serde(default, with = "crate::amount::serde::as_str::opt")] + pub samt: Option, + } + + let with = T { + amt: Some(Amount::from_sat(123456789)), + samt: Some(SignedAmount::from_sat(-123456789)), + }; + let without = T { amt: None, samt: None }; + + // Test Roundtripping + for s in [&with, &without].iter() { + let v = serde_json::to_string(s).unwrap(); + let w: T = serde_json::from_str(&v).unwrap(); + assert_eq!(w, **s); + } + + let t: T = + serde_json::from_str("{\"amt\": \"1.23456789\", \"samt\": \"-1.23456789\"}").unwrap(); + assert_eq!(t, with); + + let t: T = serde_json::from_str("{}").unwrap(); + assert_eq!(t, without); + + let value_with: serde_json::Value = + serde_json::from_str("{\"amt\": \"1.23456789\", \"samt\": \"-1.23456789\"}").unwrap(); + assert_eq!(with, serde_json::from_value(value_with).unwrap()); + + let value_without: serde_json::Value = serde_json::from_str("{}").unwrap(); + assert_eq!(without, serde_json::from_value(value_without).unwrap()); +} + #[test] fn sum_amounts() { assert_eq!(Amount::from_sat(0), [].iter().sum::()); From c27f4435208cc3ca7b98580fd7e2784e089b545e Mon Sep 17 00:00:00 2001 From: "Tobin C. Harding" Date: Mon, 2 Dec 2024 14:25:55 +1100 Subject: [PATCH 044/554] Add basic unit tests for Amount serde Add a test each for serializing `Amount` as sat, as BTC, and as str. --- units/src/amount/serde.rs | 67 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) diff --git a/units/src/amount/serde.rs b/units/src/amount/serde.rs index f5ddc595f8..2caa8c74e7 100644 --- a/units/src/amount/serde.rs +++ b/units/src/amount/serde.rs @@ -385,3 +385,70 @@ pub mod as_str { } } } + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn can_serde_as_sat() { + #[derive(Debug, PartialEq, Eq, Serialize, Deserialize)] + pub struct HasAmount { + #[serde(with = "crate::amount::serde::as_sat")] + pub amount: Amount, + } + + let orig = HasAmount { + amount: Amount::ONE_BTC, + }; + + let json = serde_json::to_string(&orig).expect("failed to ser"); + let want = "{\"amount\":100000000}"; + assert_eq!(json, want); + + let rinsed: HasAmount = serde_json::from_str(&json).expect("failed to deser"); + assert_eq!(rinsed, orig) + } + + #[test] + #[cfg(feature = "alloc")] + fn can_serde_as_btc() { + #[derive(Debug, PartialEq, Eq, Serialize, Deserialize)] + pub struct HasAmount { + #[serde(with = "crate::amount::serde::as_btc")] + pub amount: Amount, + } + + let orig = HasAmount { + amount: Amount::ONE_BTC, + }; + + let json = serde_json::to_string(&orig).expect("failed to ser"); + let want = "{\"amount\":1.0}"; + assert_eq!(json, want); + + let rinsed: HasAmount = serde_json::from_str(&json).expect("failed to deser"); + assert_eq!(rinsed, orig) + } + + #[test] + #[cfg(feature = "alloc")] + fn can_serde_as_str() { + #[derive(Debug, PartialEq, Eq, Serialize, Deserialize)] + pub struct HasAmount { + #[serde(with = "crate::amount::serde::as_str")] + pub amount: Amount, + } + + let orig = HasAmount { + amount: Amount::ONE_BTC, + }; + + let json = serde_json::to_string(&orig).expect("failed to ser"); + let want = "{\"amount\":\"1\"}"; + assert_eq!(json, want); + + let rinsed: HasAmount = serde_json::from_str(&json).expect("failed to deser"); + assert_eq!(rinsed, orig); + } +} From edab380ac096babf3d12f27d373d0900d10bc065 Mon Sep 17 00:00:00 2001 From: "Tobin C. Harding" Date: Mon, 18 Nov 2024 09:44:49 +1100 Subject: [PATCH 045/554] bitcoin: Bump version to v0.33.0-alpha.0 Needs release notes but there are 20 pages of them, that feels like too many to go through manually. Includes a missing changelog entry in `units` for an already released change that is included in this `bitcoin` release. --- Cargo-minimal.lock | 2 +- Cargo-recent.lock | 2 +- bitcoin/CHANGELOG.md | 107 +++++++++++++++++++++++++++++++++++++++++-- bitcoin/Cargo.toml | 2 +- units/CHANGELOG.md | 1 + 5 files changed, 108 insertions(+), 6 deletions(-) diff --git a/Cargo-minimal.lock b/Cargo-minimal.lock index 5ec37a0166..4277d220f5 100644 --- a/Cargo-minimal.lock +++ b/Cargo-minimal.lock @@ -53,7 +53,7 @@ dependencies = [ [[package]] name = "bitcoin" -version = "0.33.0-alpha" +version = "0.33.0-alpha.0" dependencies = [ "arbitrary", "base58ck", diff --git a/Cargo-recent.lock b/Cargo-recent.lock index ed3d594ec8..1f12e5e504 100644 --- a/Cargo-recent.lock +++ b/Cargo-recent.lock @@ -52,7 +52,7 @@ dependencies = [ [[package]] name = "bitcoin" -version = "0.33.0-alpha" +version = "0.33.0-alpha.0" dependencies = [ "arbitrary", "base58ck", diff --git a/bitcoin/CHANGELOG.md b/bitcoin/CHANGELOG.md index c6c779bd37..203e3967bc 100644 --- a/bitcoin/CHANGELOG.md +++ b/bitcoin/CHANGELOG.md @@ -1,6 +1,107 @@ -# 0.33.0-alpha - TODO: Set date - -- Enforce script size limit when hashing scripts [#2794](https://github.com/rust-bitcoin/rust-bitcoin/pull/2794) +# 0.33.0-alpha.0 - 2024-11-18 + +This series of alpha releases is meant for two things: + +1. To facilitate testing of `primitives 0.101`. +2. To allow testing of upcoming `1.0` releases of: + + - `bitcoin_hashes` + - `hex` + - `bitcoin-io` + - `primitives` + - `units` + - `ordered` + +You likely want to explicitly set the version if doing testing. `cargo` can be surprising when there +is a `-` in the version number. + +We do not currently intend on releasing `bitcoin 0.33.0` until the `1.0` releases above are done. + +For changes to our dependencies included in this release see: + +- `bitcoin_hashes 0.15`: [changelog](https://github.com/rust-bitcoin/rust-bitcoin/blob/master/hashes/CHANGELOG.md) +- `hex-conservative 0.3`: [changelog](https://github.com/rust-bitcoin/hex-conservative/blob/master/CHANGELOG.md) +- `bitcoin-io 0.2`: [changelog](https://github.com/rust-bitcoin/rust-bitcoin/blob/master/io/CHANGELOG.md) +- `bitcoin-primitives: 0.101`: [changelog]((https://github.com/rust-bitcoin/rust-bitcoin/blob/master/primitives/CHANGELOG.md)) +- `bitcoin-units 0.2`: [changelog]((https://github.com/rust-bitcoin/rust-bitcoin/blob/master/units/CHANGELOG.md)) +- `bitcoinconsensus: 0.106.0+26`: [changelog](https://github.com/rust-bitcoin/rust-bitcoinconsensus/blob/master/CHANGELOG.md) + +## Changes + +- Fix psbt fuzz crash [#3667](https://github.com/rust-bitcoin/rust-bitcoin/pull/3667) +- Update `from_next_work_required` to take an `i64` for timespan [#3660](https://github.com/rust-bitcoin/rust-bitcoin/pull/3660) +- Account for data pushing opcodes in `is_standard_op_return` [#3643](https://github.com/rust-bitcoin/rust-bitcoin/pull/3643) +- Add p2wpkh address creation example [#3642](https://github.com/rust-bitcoin/rust-bitcoin/pull/3642) +- Add `Address::into_unchecked` [#3640](https://github.com/rust-bitcoin/rust-bitcoin/pull/3640) +- Mark `checked_` functions as const [#3636](https://github.com/rust-bitcoin/rust-bitcoin/pull/3636) +- Mark functions const in `fee_rate` [#3627](https://github.com/rust-bitcoin/rust-bitcoin/pull/3627) +- Mark funtions const [#3608](https://github.com/rust-bitcoin/rust-bitcoin/pull/3608) +- Add constructor to `FeeRate` [#3604](https://github.com/rust-bitcoin/rust-bitcoin/pull/3604) +- Fix bug in witness stack getters [#3601](https://github.com/rust-bitcoin/rust-bitcoin/pull/3601) +- Split `checked_div_by_weight` into floor and ceiling version [#3587](https://github.com/rust-bitcoin/rust-bitcoin/pull/3587) +- script: remove `unsafe` marker from slice-to-script conversions [#3569](https://github.com/rust-bitcoin/rust-bitcoin/pull/3569) +- io: Bump version to `0.1.3` [#3566](https://github.com/rust-bitcoin/rust-bitcoin/pull/3566) +- Re-export `block::Header` as `BlockHeader` [#3562](https://github.com/rust-bitcoin/rust-bitcoin/pull/3562) +- Bump `hex-conservative` to `0.3.0` [#3543](https://github.com/rust-bitcoin/rust-bitcoin/pull/3543) +- Re-organise the `amount` module [#3541](https://github.com/rust-bitcoin/rust-bitcoin/pull/3541) +- Improve the `amount` module [#3539](https://github.com/rust-bitcoin/rust-bitcoin/pull/3539) +- base58: Close all errors [#3533](https://github.com/rust-bitcoin/rust-bitcoin/pull/3533) +- psbt: Fix bug in `Subtype` consensus_encode [#3519](https://github.com/rust-bitcoin/rust-bitcoin/pull/3519) +- Explicitly re-export stuff from crates down the stack [#3497](https://github.com/rust-bitcoin/rust-bitcoin/pull/3497) +- Expose `units::amount::ParseError` [#3496](https://github.com/rust-bitcoin/rust-bitcoin/pull/3496) +- Make `Amount::to_sat and SignedAmount::to_sat` const [#3493](https://github.com/rust-bitcoin/rust-bitcoin/pull/3493) +- Decode an address string based on prefix [#3481](https://github.com/rust-bitcoin/rust-bitcoin/pull/3481) +- Replace `ENABLE_RBF_NO_LOCKTIME` with `ENABLE_LOCKTIME_AND_RBF` [#3459](https://github.com/rust-bitcoin/rust-bitcoin/pull/3459) +- Add version three variant to transaction version [#3450](https://github.com/rust-bitcoin/rust-bitcoin/pull/3450) +- Input weight prediction helpers for nested P2WPKH [#3443](https://github.com/rust-bitcoin/rust-bitcoin/pull/3443) +- Clarify sequence constant name and add `FINAL` [#3439](https://github.com/rust-bitcoin/rust-bitcoin/pull/3439) +- Add checked div by weight to amount [#3430](https://github.com/rust-bitcoin/rust-bitcoin/pull/3430) +- Rename `Midstate::into_parts` to `Midstate::to_parts` since it derives `Copy` [#3429](https://github.com/rust-bitcoin/rust-bitcoin/pull/3429) +- Const locktime constructors [#3421](https://github.com/rust-bitcoin/rust-bitcoin/pull/3421) +- Fix script number overflow check for `push_int` [#3392](https://github.com/rust-bitcoin/rust-bitcoin/pull/3392) +- transaction: Remove `Default` implementations [#3386](https://github.com/rust-bitcoin/rust-bitcoin/pull/3386) +- Add `FeeRate` addition and subtraction traits [#3381](https://github.com/rust-bitcoin/rust-bitcoin/pull/3381) +- Add `Xpriv::to_xpub` and improve related method names [#3358](https://github.com/rust-bitcoin/rust-bitcoin/pull/3358) +- Support `impl AsRef<[#u8]>` in `signed_msg_hash` [3357](https://github.com/rust-bitcoin/rust-bitcoin/pull/u8) +- Fix `GetKey` for sets (plus some related changes) [#3356](https://github.com/rust-bitcoin/rust-bitcoin/pull/3356) +- Add a condition for parsing zero from string when not denominated [#3346](https://github.com/rust-bitcoin/rust-bitcoin/pull/3346) +- Add basic `miri` checks [#3328](https://github.com/rust-bitcoin/rust-bitcoin/pull/3328) +- Add coinbase associated consts [#3308](https://github.com/rust-bitcoin/rust-bitcoin/pull/3308) +- Fix bug in `ArrayVec::extend_from_slice` [#3272](https://github.com/rust-bitcoin/rust-bitcoin/pull/3272) +- Change `T::from_str(s)` to `s.parse::()` in examples, docs and tests [#3262](https://github.com/rust-bitcoin/rust-bitcoin/pull/3262) +- Add `Arbitrary` to `Weight` [#3257](https://github.com/rust-bitcoin/rust-bitcoin/pull/3257) +- Bump `units` version [#3248](https://github.com/rust-bitcoin/rust-bitcoin/pull/3248) +- Rename key field in Key to key_data [#3048](https://github.com/rust-bitcoin/rust-bitcoin/pull/3048) +- Optimize `base58` on small inputs [#3002](https://github.com/rust-bitcoin/rust-bitcoin/pull/3002) +- Add `TxIdentifier` trait [#2987](https://github.com/rust-bitcoin/rust-bitcoin/pull/2987) +- Fix `Amount` decimals handling [#2951](https://github.com/rust-bitcoin/rust-bitcoin/pull/2951) +- `OP_RETURN` standardness check [#2949](https://github.com/rust-bitcoin/rust-bitcoin/pull/2949) +- Support Testnet4 Network [#2945](https://github.com/rust-bitcoin/rust-bitcoin/pull/2945) +- Remove `VarInt` and use `ReadExt` and `WriteExt` trait methods instead [#2931](https://github.com/rust-bitcoin/rust-bitcoin/pull/2931) +- bip32: Add `From<&'a [#u32]>` for `DerivationPath` [2909](https://github.com/rust-bitcoin/rust-bitcoin/pull/u32) +- psbt: Encode keytype as a compact size unsigned integer [#2906](https://github.com/rust-bitcoin/rust-bitcoin/pull/2906) +- Pass sigs and associated types by value [#2899](https://github.com/rust-bitcoin/rust-bitcoin/pull/2899) +- Re-export `UnprefixedHexError` in the bitcoin crate root [#2895](https://github.com/rust-bitcoin/rust-bitcoin/pull/2895) +- taproot: Split errors up [#2886](https://github.com/rust-bitcoin/rust-bitcoin/pull/2886) +- Remove usage of `blockdata` from paths [#2885](https://github.com/rust-bitcoin/rust-bitcoin/pull/2885) +- Update `PushBytes::read_scriptint(x)` to `x.read_scriptint()` [#2872](https://github.com/rust-bitcoin/rust-bitcoin/pull/2872) +- Remove `Denomination::MilliSatoshi` [#2870](https://github.com/rust-bitcoin/rust-bitcoin/pull/2870) +- Pass keys by value [#2868](https://github.com/rust-bitcoin/rust-bitcoin/pull/2868) +- Clarify the meaning of `Height` & `Time` based locktime [#2858](https://github.com/rust-bitcoin/rust-bitcoin/pull/2858) +- Add API for extracting the inner payload of `RawNetworkMessage` [#2839](https://github.com/rust-bitcoin/rust-bitcoin/pull/2839) +- Update `bitcoinconsensus` version to `0.106.0+26` [#2833] (https://github.com/rust-bitcoin/rust-bitcoin/pull/2833) +- Make `difficulty_float` general to all networks [#2816](https://github.com/rust-bitcoin/rust-bitcoin/pull/2816) +- Add const modifier to `Magic::from_bytes` [#2815](https://github.com/rust-bitcoin/rust-bitcoin/pull/2815) +- Add an `AddressData` type [#2808](https://github.com/rust-bitcoin/rust-bitcoin/pull/2808) +- Make `Address:p2sh_from_hash` public [#2795](https://github.com/rust-bitcoin/rust-bitcoin/pull/2795) +- Enable getting the witness program from an address [#2796](https://github.com/rust-bitcoin/rust-bitcoin/pull/2796) +- Enforce script size limit when hashing scripts [##2794](https://github.com/rust-bitcoin/rust-bitcoin/pull/2794https://github.com/rust-bitcoin/rust-bitcoin/pull/#2794) +- Deprecate `to_vec` in favour of `to_bytes` [#2768](https://github.com/rust-bitcoin/rust-bitcoin/pull/2768) +- Flesh out hex unit parsing API [#2765](https://github.com/rust-bitcoin/rust-bitcoin/pull/2765) +- Bench `base58` encoding and remove `SmallVec` to improve perf [#2759](https://github.com/rust-bitcoin/rust-bitcoin/pull/2759) +- Add difficulty adjustment calculation [#2740](https://github.com/rust-bitcoin/rust-bitcoin/pull/2740) +- Upgrade `base64` dependency [#2721](https://github.com/rust-bitcoin/rust-bitcoin/pull/2721) +- Some additional inspectors on `Script` and `Witness` [#2646](https://github.com/rust-bitcoin/rust-bitcoin/pull/2646) ## Upgrade notes diff --git a/bitcoin/Cargo.toml b/bitcoin/Cargo.toml index ee854c75b9..d17b7a7054 100644 --- a/bitcoin/Cargo.toml +++ b/bitcoin/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "bitcoin" -version = "0.33.0-alpha" +version = "0.33.0-alpha.0" authors = ["Andrew Poelstra "] license = "CC0-1.0" repository = "https://github.com/rust-bitcoin/rust-bitcoin/" diff --git a/units/CHANGELOG.md b/units/CHANGELOG.md index fd6a4e6e81..dbb1bab813 100644 --- a/units/CHANGELOG.md +++ b/units/CHANGELOG.md @@ -12,6 +12,7 @@ * Error instead of panic when `Time::from_second_ceil` input is too large [#3052](https://github.com/rust-bitcoin/rust-bitcoin/pull/3052) * Remove re-export of `ParseIntError` [#3069](https://github.com/rust-bitcoin/rust-bitcoin/pull/3069) * Add `FeeRate` addition and subtraction traits [#3381](https://github.com/rust-bitcoin/rust-bitcoin/pull/3381) +* Add `BlockHeight` and `BlockInterval` types [#2615](https://github.com/rust-bitcoin/rust-bitcoin/pull/2615) ## Additional test infrastructure:`Arbitrary` From 6950c0a7b507f9d70c1ebdab540634482f73b247 Mon Sep 17 00:00:00 2001 From: "Jamil Lambert, PhD" Date: Wed, 4 Dec 2024 12:32:46 +0000 Subject: [PATCH 046/554] Change `Amount::MAX` to equal `MAX_MONEY` To prevent rounding errors converting to and from f64 change `Amount::MAX` to `MAX_MONEY` which is below the limit in f64 that has issues. Add checks to `from_str_in`, `checked_add` and `checked_mul` that the result is below MAX, where previously a u64 overflow was relied on. Change tests to account for new lower MAX that is within the range of SignedAmount and does not overflow so easily Remove overflow tests `Amount::MAX` is now below `u64::MAX` and within the range of values for `SignedAmount`. These tests therefore do not overflow. In effective_value there is no error with `Amount::MAX` and the correct value is returned. In psbt the removed test is effectively the same as the previous test. Modify `Amount` tests to work with new `MAX` Tests need to be changed that checked values above the new `MAX` or `Amount::MAX` was out of range for `SignedAmount` which it isn't anymore --- bitcoin/src/blockdata/transaction.rs | 6 ---- bitcoin/src/psbt/mod.rs | 9 +---- units/src/amount/tests.rs | 50 ++++++++-------------------- units/src/amount/unsigned.rs | 20 +++++++++-- 4 files changed, 31 insertions(+), 54 deletions(-) diff --git a/bitcoin/src/blockdata/transaction.rs b/bitcoin/src/blockdata/transaction.rs index 6a91bcc512..35c0ff6066 100644 --- a/bitcoin/src/blockdata/transaction.rs +++ b/bitcoin/src/blockdata/transaction.rs @@ -1709,12 +1709,6 @@ mod tests { assert!(eff_value.is_none()); } - #[test] - fn effective_value_value_does_not_overflow() { - let eff_value = effective_value(FeeRate::ZERO, Weight::ZERO, Amount::MAX); - assert!(eff_value.is_none()); - } - #[test] fn txin_txout_weight() { // [(is_segwit, tx_hex, expected_weight)] diff --git a/bitcoin/src/psbt/mod.rs b/bitcoin/src/psbt/mod.rs index e1e64dde0c..6de326a1dc 100644 --- a/bitcoin/src/psbt/mod.rs +++ b/bitcoin/src/psbt/mod.rs @@ -2159,7 +2159,7 @@ mod tests { let output_1_val = Amount::from_sat(100_000_000); let prev_output_val = Amount::from_sat(200_000_000); - let mut t = Psbt { + let t = Psbt { unsigned_tx: Transaction { version: transaction::Version::TWO, lock_time: absolute::LockTime::from_consensus(1257139), @@ -2253,13 +2253,6 @@ mod tests { Error::NegativeFee => {} e => panic!("unexpected error: {:?}", e), } - // overflow - t.unsigned_tx.output[0].value = Amount::MAX; - t.unsigned_tx.output[1].value = Amount::MAX; - match t.fee().unwrap_err() { - Error::FeeOverflow => {} - e => panic!("unexpected error: {:?}", e), - } } #[test] diff --git a/units/src/amount/tests.rs b/units/src/amount/tests.rs index 0b22ea2ff8..dd4eb2e164 100644 --- a/units/src/amount/tests.rs +++ b/units/src/amount/tests.rs @@ -80,10 +80,6 @@ fn test_signed_amount_try_from_amount() { let ua_positive = Amount::from_sat(123); let sa_positive = SignedAmount::try_from(ua_positive).unwrap(); assert_eq!(sa_positive, SignedAmount::from_sat(123)); - - let ua_max = Amount::MAX; - let result = SignedAmount::try_from(ua_max); - assert_eq!(result, Err(OutOfRangeError { is_signed: true, is_greater_than_max: true })); } #[test] @@ -154,9 +150,6 @@ fn amount_checked_div_by_weight_ceil() { // round up to 864 assert_eq!(fee_rate, FeeRate::from_sat_per_kwu(864)); - let fee_rate = Amount::MAX.checked_div_by_weight_ceil(weight); - assert!(fee_rate.is_none()); - let fee_rate = Amount::ONE_SAT.checked_div_by_weight_ceil(Weight::ZERO); assert!(fee_rate.is_none()); } @@ -175,9 +168,6 @@ fn amount_checked_div_by_weight_floor() { // round down to 863 assert_eq!(fee_rate, FeeRate::from_sat_per_kwu(863)); - let fee_rate = Amount::MAX.checked_div_by_weight_floor(weight); - assert!(fee_rate.is_none()); - let fee_rate = Amount::ONE_SAT.checked_div_by_weight_floor(Weight::ZERO); assert!(fee_rate.is_none()); } @@ -230,9 +220,6 @@ fn floating_point() { assert_eq!(sf(-184467440738.0, D::Bitcoin), Err(OutOfRangeError::too_small().into())); assert_eq!(f(18446744073709551617.0, D::Satoshi), Err(OutOfRangeError::too_big(false).into())); - // Amount can be grater than the max SignedAmount. - assert!(f(SignedAmount::MAX.to_float_in(D::Satoshi) + 1.0, D::Satoshi).is_ok()); - assert_eq!( f(Amount::MAX.to_float_in(D::Satoshi) + 1.0, D::Satoshi), Err(OutOfRangeError::too_big(false).into()) @@ -283,7 +270,7 @@ fn parsing() { Err(E::from(InvalidCharacterError { invalid_char: '.', position: 5 })) ); #[cfg(feature = "alloc")] - let more_than_max = format!("1{}", Amount::MAX); + let more_than_max = format!("{}", Amount::MAX.to_sat() + 1); #[cfg(feature = "alloc")] assert_eq!(p(&more_than_max, btc), Err(OutOfRangeError::too_big(false).into())); assert_eq!(p("0.000000042", btc), Err(TooPreciseError { position: 10 }.into())); @@ -300,20 +287,9 @@ fn parsing() { assert_eq!(p("1.1", btc), Ok(Amount::from_sat(1_100_000_00))); assert_eq!(p("100", sat), Ok(Amount::from_sat(100))); assert_eq!(p("55", sat), Ok(Amount::from_sat(55))); - assert_eq!(p("5500000000000000000", sat), Ok(Amount::from_sat(55_000_000_000_000_000_00))); - // Should this even pass? - assert_eq!(p("5500000000000000000.", sat), Ok(Amount::from_sat(55_000_000_000_000_000_00))); - assert_eq!(p("12345678901.12345678", btc), Ok(Amount::from_sat(12_345_678_901__123_456_78))); - - // make sure satoshi > i64::MAX is checked. - #[cfg(feature = "alloc")] - { - let amount = Amount::from_sat(i64::MAX as u64); - assert_eq!(Amount::from_str_in(&amount.to_string_in(sat), sat), Ok(amount)); - assert!(SignedAmount::from_str_in(&(amount + Amount::from_sat(1)).to_string_in(sat), sat) - .is_err()); - assert!(Amount::from_str_in(&(amount + Amount::from_sat(1)).to_string_in(sat), sat).is_ok()); - } + assert_eq!(p("2100000000000000", sat), Ok(Amount::from_sat(21_000_000__000_000_00))); + assert_eq!(p("2100000000000000.", sat), Ok(Amount::from_sat(21_000_000__000_000_00))); + assert_eq!(p("21000000", btc), Ok(Amount::from_sat(21_000_000__000_000_00))); // exactly 50 chars. assert_eq!( @@ -523,14 +499,14 @@ check_format_non_negative_show_denom! { fn test_unsigned_signed_conversion() { let sa = SignedAmount::from_sat; let ua = Amount::from_sat; + let max_sats: u64 = Amount::MAX.to_sat(); - assert_eq!(Amount::MAX.to_signed(), Err(OutOfRangeError::too_big(true))); - assert_eq!(ua(i64::MAX as u64).to_signed(), Ok(sa(i64::MAX))); + assert_eq!(ua(max_sats).to_signed(), Ok(sa(max_sats as i64))); assert_eq!(ua(i64::MAX as u64 + 1).to_signed(), Err(OutOfRangeError::too_big(true))); - assert_eq!(sa(i64::MAX).to_unsigned(), Ok(ua(i64::MAX as u64))); + assert_eq!(sa(max_sats as i64).to_unsigned(), Ok(ua(max_sats))); - assert_eq!(sa(i64::MAX).to_unsigned().unwrap().to_signed(), Ok(sa(i64::MAX))); + assert_eq!(sa(max_sats as i64).to_unsigned().unwrap().to_signed(), Ok(sa(max_sats as i64))); } #[test] @@ -638,7 +614,7 @@ fn to_from_string_in() { ua_str(&ua_sat(1_000_000_000_000).to_string_in(D::MilliBitcoin), D::MilliBitcoin), Ok(ua_sat(1_000_000_000_000)) ); - assert!(ua_str(&ua_sat(u64::MAX).to_string_in(D::MilliBitcoin), D::MilliBitcoin).is_ok()); + assert!(ua_str(&ua_sat(Amount::MAX.to_sat()).to_string_in(D::MilliBitcoin), D::MilliBitcoin).is_ok()); assert_eq!(sa_str(&sa_sat(-1).to_string_in(D::MicroBitcoin), D::MicroBitcoin), Ok(sa_sat(-1))); @@ -718,12 +694,12 @@ fn serde_as_btc() { } let orig = T { - amt: Amount::from_sat(21_000_000__000_000_01), - samt: SignedAmount::from_sat(-21_000_000__000_000_01), + amt: Amount::from_sat(20_000_000__000_000_01), + samt: SignedAmount::from_sat(-20_000_000__000_000_01), }; - let json = "{\"amt\": 21000000.00000001, \ - \"samt\": -21000000.00000001}"; + let json = "{\"amt\": 20000000.00000001, \ + \"samt\": -20000000.00000001}"; let t: T = serde_json::from_str(json).unwrap(); assert_eq!(t, orig); diff --git a/units/src/amount/unsigned.rs b/units/src/amount/unsigned.rs index fd5b0613f6..9b96c4d510 100644 --- a/units/src/amount/unsigned.rs +++ b/units/src/amount/unsigned.rs @@ -65,7 +65,7 @@ impl Amount { /// The minimum value of an amount. pub const MIN: Amount = Amount::ZERO; /// The maximum value of an amount. - pub const MAX: Amount = Amount(u64::MAX); + pub const MAX: Amount = Amount::MAX_MONEY; /// The number of bytes that an amount contributes to the size of a transaction. pub const SIZE: usize = 8; // Serialized length of a u64. @@ -120,6 +120,11 @@ impl Amount { OutOfRangeError::negative(), ))); } + if satoshi > Self::MAX.0 { + return Err(ParseAmountError(ParseAmountErrorInner::OutOfRange( + OutOfRangeError::too_big(false), + ))); + } Ok(Amount::from_sat(satoshi)) } @@ -214,7 +219,7 @@ impl Amount { pub const fn checked_add(self, rhs: Amount) -> Option { // No `map()` in const context. match self.0.checked_add(rhs.0) { - Some(res) => Some(Amount(res)), + Some(res) => Amount(res).check_max(), None => None, } } @@ -236,7 +241,7 @@ impl Amount { pub const fn checked_mul(self, rhs: u64) -> Option { // No `map()` in const context. match self.0.checked_mul(rhs) { - Some(res) => Some(Amount(res)), + Some(res) => Amount(res).check_max(), None => None, } } @@ -332,6 +337,15 @@ impl Amount { Ok(SignedAmount::from_sat(self.to_sat() as i64)) } } + + /// Checks if the amount is below the maximum value. Returns `None` if it is above. + const fn check_max(self) -> Option { + if self.0 > Self::MAX.0 { + None + } else { + Some(self) + } + } } impl default::Default for Amount { From 219ecd54980f28d02953fd5158ec8c3d6a034dc1 Mon Sep 17 00:00:00 2001 From: "Tobin C. Harding" Date: Fri, 6 Dec 2024 15:20:52 +1100 Subject: [PATCH 047/554] Add api text files We are about to introduce a script that generates text files for the public API surface of various crates. Run the soon-to-be-introduced script and commit the changes. Covers: - `hashes` - `io` - `primitives` - `units` The script and CI setup will be done in the next patch, this is just to make review easier. --- api/README.md | 12 + api/hashes/all-features.txt | 1094 ++++++++++++++++++ api/hashes/alloc-only.txt | 945 ++++++++++++++++ api/hashes/no-features.txt | 882 +++++++++++++++ api/io/all-features.txt | 377 +++++++ api/io/alloc-only.txt | 135 +++ api/io/no-features.txt | 127 +++ api/primitives/all-features.txt | 1873 +++++++++++++++++++++++++++++++ api/primitives/alloc-only.txt | 1740 ++++++++++++++++++++++++++++ api/primitives/no-features.txt | 1098 ++++++++++++++++++ api/units/all-features.txt | 1218 ++++++++++++++++++++ api/units/alloc-only.txt | 1109 ++++++++++++++++++ api/units/no-features.txt | 1063 ++++++++++++++++++ 13 files changed, 11673 insertions(+) create mode 100644 api/README.md create mode 100644 api/hashes/all-features.txt create mode 100644 api/hashes/alloc-only.txt create mode 100644 api/hashes/no-features.txt create mode 100644 api/io/all-features.txt create mode 100644 api/io/alloc-only.txt create mode 100644 api/io/no-features.txt create mode 100644 api/primitives/all-features.txt create mode 100644 api/primitives/alloc-only.txt create mode 100644 api/primitives/no-features.txt create mode 100644 api/units/all-features.txt create mode 100644 api/units/alloc-only.txt create mode 100644 api/units/no-features.txt diff --git a/api/README.md b/api/README.md new file mode 100644 index 0000000000..8979cd542d --- /dev/null +++ b/api/README.md @@ -0,0 +1,12 @@ +# API text files + +Each file here lists the public API when built with some set of features +enabled. To create these files run `../contrib/check-for-api-changes.sh`: + +Requires `cargo-public-api`, install with: + +``` +cargo +stable install cargo-public-api --locked +``` + +ref: https://github.com/enselic/cargo-public-api diff --git a/api/hashes/all-features.txt b/api/hashes/all-features.txt new file mode 100644 index 0000000000..1f85ee2724 --- /dev/null +++ b/api/hashes/all-features.txt @@ -0,0 +1,1094 @@ +#[repr(transparent)] pub struct bitcoin_hashes::Hash160(_) +#[repr(transparent)] pub struct bitcoin_hashes::Hmac(_) +#[repr(transparent)] pub struct bitcoin_hashes::Ripemd160(_) +#[repr(transparent)] pub struct bitcoin_hashes::Sha1(_) +#[repr(transparent)] pub struct bitcoin_hashes::Sha256(_) +#[repr(transparent)] pub struct bitcoin_hashes::Sha256d(_) +#[repr(transparent)] pub struct bitcoin_hashes::Sha384(_) +#[repr(transparent)] pub struct bitcoin_hashes::Sha512(_) +#[repr(transparent)] pub struct bitcoin_hashes::Sha512_256(_) +#[repr(transparent)] pub struct bitcoin_hashes::Siphash24(_) +#[repr(transparent)] pub struct bitcoin_hashes::hash160::Hash(_) +#[repr(transparent)] pub struct bitcoin_hashes::hmac::Hmac(_) +#[repr(transparent)] pub struct bitcoin_hashes::ripemd160::Hash(_) +#[repr(transparent)] pub struct bitcoin_hashes::sha1::Hash(_) +#[repr(transparent)] pub struct bitcoin_hashes::sha256::Hash(_) +#[repr(transparent)] pub struct bitcoin_hashes::sha256d::Hash(_) +#[repr(transparent)] pub struct bitcoin_hashes::sha256t::Hash(_, _) +#[repr(transparent)] pub struct bitcoin_hashes::sha384::Hash(_) +#[repr(transparent)] pub struct bitcoin_hashes::sha512::Hash(_) +#[repr(transparent)] pub struct bitcoin_hashes::sha512_256::Hash(_) +#[repr(transparent)] pub struct bitcoin_hashes::siphash24::Hash(_) +impl bitcoin_hashes::GeneralHash for bitcoin_hashes::hash160::Hash +impl bitcoin_hashes::GeneralHash for bitcoin_hashes::ripemd160::Hash +impl bitcoin_hashes::GeneralHash for bitcoin_hashes::sha1::Hash +impl bitcoin_hashes::GeneralHash for bitcoin_hashes::sha256::Hash +impl bitcoin_hashes::GeneralHash for bitcoin_hashes::sha256d::Hash +impl bitcoin_hashes::GeneralHash for bitcoin_hashes::sha384::Hash +impl bitcoin_hashes::GeneralHash for bitcoin_hashes::sha512::Hash +impl bitcoin_hashes::GeneralHash for bitcoin_hashes::sha512_256::Hash +impl bitcoin_hashes::GeneralHash for bitcoin_hashes::siphash24::Hash +impl bitcoin_hashes::Hash for bitcoin_hashes::hash160::Hash +impl bitcoin_hashes::Hash for bitcoin_hashes::ripemd160::Hash +impl bitcoin_hashes::Hash for bitcoin_hashes::sha1::Hash +impl bitcoin_hashes::Hash for bitcoin_hashes::sha256::Hash +impl bitcoin_hashes::Hash for bitcoin_hashes::sha256d::Hash +impl bitcoin_hashes::Hash for bitcoin_hashes::sha384::Hash +impl bitcoin_hashes::Hash for bitcoin_hashes::sha512::Hash +impl bitcoin_hashes::Hash for bitcoin_hashes::sha512_256::Hash +impl bitcoin_hashes::Hash for bitcoin_hashes::siphash24::Hash +impl bitcoin_hashes::HashEngine for bitcoin_hashes::hash160::HashEngine +impl bitcoin_hashes::HashEngine for bitcoin_hashes::ripemd160::HashEngine +impl bitcoin_hashes::HashEngine for bitcoin_hashes::sha1::HashEngine +impl bitcoin_hashes::HashEngine for bitcoin_hashes::sha256::HashEngine +impl bitcoin_hashes::HashEngine for bitcoin_hashes::sha256d::HashEngine +impl bitcoin_hashes::HashEngine for bitcoin_hashes::sha384::HashEngine +impl bitcoin_hashes::HashEngine for bitcoin_hashes::sha512::HashEngine +impl bitcoin_hashes::HashEngine for bitcoin_hashes::sha512_256::HashEngine +impl bitcoin_hashes::HashEngine for bitcoin_hashes::siphash24::HashEngine +impl bitcoin_hashes::error::FromSliceError +impl bitcoin_hashes::hash160::Hash +impl bitcoin_hashes::hash160::HashEngine +impl bitcoin_hashes::ripemd160::Hash +impl bitcoin_hashes::ripemd160::HashEngine +impl bitcoin_hashes::sha1::Hash +impl bitcoin_hashes::sha1::HashEngine +impl bitcoin_hashes::sha256::Hash +impl bitcoin_hashes::sha256::HashEngine +impl bitcoin_hashes::sha256::Midstate +impl bitcoin_hashes::sha256d::Hash +impl bitcoin_hashes::sha256d::HashEngine +impl bitcoin_hashes::sha384::Hash +impl bitcoin_hashes::sha384::HashEngine +impl bitcoin_hashes::sha512::Hash +impl bitcoin_hashes::sha512::HashEngine +impl bitcoin_hashes::sha512_256::Hash +impl bitcoin_hashes::sha512_256::HashEngine +impl bitcoin_hashes::siphash24::Hash +impl bitcoin_hashes::siphash24::HashEngine +impl bitcoin_io::Write for bitcoin_hashes::hash160::HashEngine +impl bitcoin_io::Write for bitcoin_hashes::ripemd160::HashEngine +impl bitcoin_io::Write for bitcoin_hashes::sha1::HashEngine +impl bitcoin_io::Write for bitcoin_hashes::sha256::HashEngine +impl bitcoin_io::Write for bitcoin_hashes::sha256d::HashEngine +impl bitcoin_io::Write for bitcoin_hashes::sha384::HashEngine +impl bitcoin_io::Write for bitcoin_hashes::sha512::HashEngine +impl bitcoin_io::Write for bitcoin_hashes::sha512_256::HashEngine +impl bitcoin_io::Write for bitcoin_hashes::siphash24::HashEngine +impl core::borrow::Borrow<[u8; 20]> for bitcoin_hashes::hash160::Hash +impl core::borrow::Borrow<[u8; 20]> for bitcoin_hashes::ripemd160::Hash +impl core::borrow::Borrow<[u8; 20]> for bitcoin_hashes::sha1::Hash +impl core::borrow::Borrow<[u8; 32]> for bitcoin_hashes::sha256::Hash +impl core::borrow::Borrow<[u8; 32]> for bitcoin_hashes::sha256d::Hash +impl core::borrow::Borrow<[u8; 32]> for bitcoin_hashes::sha512_256::Hash +impl core::borrow::Borrow<[u8; 48]> for bitcoin_hashes::sha384::Hash +impl core::borrow::Borrow<[u8; 64]> for bitcoin_hashes::sha512::Hash +impl core::borrow::Borrow<[u8; 8]> for bitcoin_hashes::siphash24::Hash +impl core::borrow::Borrow<[u8]> for bitcoin_hashes::hash160::Hash +impl core::borrow::Borrow<[u8]> for bitcoin_hashes::ripemd160::Hash +impl core::borrow::Borrow<[u8]> for bitcoin_hashes::sha1::Hash +impl core::borrow::Borrow<[u8]> for bitcoin_hashes::sha256::Hash +impl core::borrow::Borrow<[u8]> for bitcoin_hashes::sha256d::Hash +impl core::borrow::Borrow<[u8]> for bitcoin_hashes::sha384::Hash +impl core::borrow::Borrow<[u8]> for bitcoin_hashes::sha512::Hash +impl core::borrow::Borrow<[u8]> for bitcoin_hashes::sha512_256::Hash +impl core::borrow::Borrow<[u8]> for bitcoin_hashes::siphash24::Hash +impl core::clone::Clone for bitcoin_hashes::error::FromSliceError +impl core::clone::Clone for bitcoin_hashes::hash160::Hash +impl core::clone::Clone for bitcoin_hashes::hash160::HashEngine +impl core::clone::Clone for bitcoin_hashes::hkdf::MaxLengthError +impl core::clone::Clone for bitcoin_hashes::ripemd160::Hash +impl core::clone::Clone for bitcoin_hashes::ripemd160::HashEngine +impl core::clone::Clone for bitcoin_hashes::sha1::Hash +impl core::clone::Clone for bitcoin_hashes::sha1::HashEngine +impl core::clone::Clone for bitcoin_hashes::sha256::Hash +impl core::clone::Clone for bitcoin_hashes::sha256::HashEngine +impl core::clone::Clone for bitcoin_hashes::sha256::Midstate +impl core::clone::Clone for bitcoin_hashes::sha256::MidstateError +impl core::clone::Clone for bitcoin_hashes::sha256d::Hash +impl core::clone::Clone for bitcoin_hashes::sha256d::HashEngine +impl core::clone::Clone for bitcoin_hashes::sha384::Hash +impl core::clone::Clone for bitcoin_hashes::sha384::HashEngine +impl core::clone::Clone for bitcoin_hashes::sha512::Hash +impl core::clone::Clone for bitcoin_hashes::sha512::HashEngine +impl core::clone::Clone for bitcoin_hashes::sha512_256::Hash +impl core::clone::Clone for bitcoin_hashes::sha512_256::HashEngine +impl core::clone::Clone for bitcoin_hashes::siphash24::Hash +impl core::clone::Clone for bitcoin_hashes::siphash24::HashEngine +impl core::clone::Clone for bitcoin_hashes::siphash24::State +impl core::cmp::Eq for bitcoin_hashes::error::FromSliceError +impl core::cmp::Eq for bitcoin_hashes::hash160::Hash +impl core::cmp::Eq for bitcoin_hashes::hkdf::MaxLengthError +impl core::cmp::Eq for bitcoin_hashes::ripemd160::Hash +impl core::cmp::Eq for bitcoin_hashes::sha1::Hash +impl core::cmp::Eq for bitcoin_hashes::sha256::Hash +impl core::cmp::Eq for bitcoin_hashes::sha256::Midstate +impl core::cmp::Eq for bitcoin_hashes::sha256::MidstateError +impl core::cmp::Eq for bitcoin_hashes::sha256d::Hash +impl core::cmp::Eq for bitcoin_hashes::sha384::Hash +impl core::cmp::Eq for bitcoin_hashes::sha512::Hash +impl core::cmp::Eq for bitcoin_hashes::sha512_256::Hash +impl core::cmp::Eq for bitcoin_hashes::siphash24::Hash +impl core::cmp::Ord for bitcoin_hashes::hash160::Hash +impl core::cmp::Ord for bitcoin_hashes::ripemd160::Hash +impl core::cmp::Ord for bitcoin_hashes::sha1::Hash +impl core::cmp::Ord for bitcoin_hashes::sha256::Hash +impl core::cmp::Ord for bitcoin_hashes::sha256::Midstate +impl core::cmp::Ord for bitcoin_hashes::sha256d::Hash +impl core::cmp::Ord for bitcoin_hashes::sha384::Hash +impl core::cmp::Ord for bitcoin_hashes::sha512::Hash +impl core::cmp::Ord for bitcoin_hashes::sha512_256::Hash +impl core::cmp::Ord for bitcoin_hashes::siphash24::Hash +impl core::cmp::PartialEq for bitcoin_hashes::error::FromSliceError +impl core::cmp::PartialEq for bitcoin_hashes::hash160::Hash +impl core::cmp::PartialEq for bitcoin_hashes::hkdf::MaxLengthError +impl core::cmp::PartialEq for bitcoin_hashes::ripemd160::Hash +impl core::cmp::PartialEq for bitcoin_hashes::sha1::Hash +impl core::cmp::PartialEq for bitcoin_hashes::sha256::Hash +impl core::cmp::PartialEq for bitcoin_hashes::sha256::Midstate +impl core::cmp::PartialEq for bitcoin_hashes::sha256::MidstateError +impl core::cmp::PartialEq for bitcoin_hashes::sha256d::Hash +impl core::cmp::PartialEq for bitcoin_hashes::sha384::Hash +impl core::cmp::PartialEq for bitcoin_hashes::sha512::Hash +impl core::cmp::PartialEq for bitcoin_hashes::sha512_256::Hash +impl core::cmp::PartialEq for bitcoin_hashes::siphash24::Hash +impl core::cmp::PartialOrd for bitcoin_hashes::hash160::Hash +impl core::cmp::PartialOrd for bitcoin_hashes::ripemd160::Hash +impl core::cmp::PartialOrd for bitcoin_hashes::sha1::Hash +impl core::cmp::PartialOrd for bitcoin_hashes::sha256::Hash +impl core::cmp::PartialOrd for bitcoin_hashes::sha256::Midstate +impl core::cmp::PartialOrd for bitcoin_hashes::sha256d::Hash +impl core::cmp::PartialOrd for bitcoin_hashes::sha384::Hash +impl core::cmp::PartialOrd for bitcoin_hashes::sha512::Hash +impl core::cmp::PartialOrd for bitcoin_hashes::sha512_256::Hash +impl core::cmp::PartialOrd for bitcoin_hashes::siphash24::Hash +impl core::convert::AsRef<[u8; 20]> for bitcoin_hashes::hash160::Hash +impl core::convert::AsRef<[u8; 20]> for bitcoin_hashes::ripemd160::Hash +impl core::convert::AsRef<[u8; 20]> for bitcoin_hashes::sha1::Hash +impl core::convert::AsRef<[u8; 32]> for bitcoin_hashes::sha256::Hash +impl core::convert::AsRef<[u8; 32]> for bitcoin_hashes::sha256d::Hash +impl core::convert::AsRef<[u8; 32]> for bitcoin_hashes::sha512_256::Hash +impl core::convert::AsRef<[u8; 48]> for bitcoin_hashes::sha384::Hash +impl core::convert::AsRef<[u8; 64]> for bitcoin_hashes::sha512::Hash +impl core::convert::AsRef<[u8; 8]> for bitcoin_hashes::siphash24::Hash +impl core::convert::AsRef<[u8]> for bitcoin_hashes::hash160::Hash +impl core::convert::AsRef<[u8]> for bitcoin_hashes::ripemd160::Hash +impl core::convert::AsRef<[u8]> for bitcoin_hashes::sha1::Hash +impl core::convert::AsRef<[u8]> for bitcoin_hashes::sha256::Hash +impl core::convert::AsRef<[u8]> for bitcoin_hashes::sha256::Midstate +impl core::convert::AsRef<[u8]> for bitcoin_hashes::sha256d::Hash +impl core::convert::AsRef<[u8]> for bitcoin_hashes::sha384::Hash +impl core::convert::AsRef<[u8]> for bitcoin_hashes::sha512::Hash +impl core::convert::AsRef<[u8]> for bitcoin_hashes::sha512_256::Hash +impl core::convert::AsRef<[u8]> for bitcoin_hashes::siphash24::Hash +impl core::convert::From for bitcoin_hashes::error::FromSliceError +impl core::default::Default for bitcoin_hashes::hash160::HashEngine +impl core::default::Default for bitcoin_hashes::ripemd160::HashEngine +impl core::default::Default for bitcoin_hashes::sha1::HashEngine +impl core::default::Default for bitcoin_hashes::sha256::HashEngine +impl core::default::Default for bitcoin_hashes::sha256::Midstate +impl core::default::Default for bitcoin_hashes::sha256d::HashEngine +impl core::default::Default for bitcoin_hashes::sha384::HashEngine +impl core::default::Default for bitcoin_hashes::sha512::HashEngine +impl core::default::Default for bitcoin_hashes::sha512_256::HashEngine +impl core::error::Error for bitcoin_hashes::error::FromSliceError +impl core::error::Error for bitcoin_hashes::hkdf::MaxLengthError +impl core::error::Error for bitcoin_hashes::sha256::MidstateError +impl core::fmt::Debug for bitcoin_hashes::error::FromSliceError +impl core::fmt::Debug for bitcoin_hashes::hash160::Hash +impl core::fmt::Debug for bitcoin_hashes::hkdf::MaxLengthError +impl core::fmt::Debug for bitcoin_hashes::ripemd160::Hash +impl core::fmt::Debug for bitcoin_hashes::sha1::Hash +impl core::fmt::Debug for bitcoin_hashes::sha256::Hash +impl core::fmt::Debug for bitcoin_hashes::sha256::Midstate +impl core::fmt::Debug for bitcoin_hashes::sha256::MidstateError +impl core::fmt::Debug for bitcoin_hashes::sha256d::Hash +impl core::fmt::Debug for bitcoin_hashes::sha384::Hash +impl core::fmt::Debug for bitcoin_hashes::sha512::Hash +impl core::fmt::Debug for bitcoin_hashes::sha512_256::Hash +impl core::fmt::Debug for bitcoin_hashes::siphash24::Hash +impl core::fmt::Debug for bitcoin_hashes::siphash24::HashEngine +impl core::fmt::Debug for bitcoin_hashes::siphash24::State +impl core::fmt::Display for bitcoin_hashes::error::FromSliceError +impl core::fmt::Display for bitcoin_hashes::hash160::Hash +impl core::fmt::Display for bitcoin_hashes::hkdf::MaxLengthError +impl core::fmt::Display for bitcoin_hashes::ripemd160::Hash +impl core::fmt::Display for bitcoin_hashes::sha1::Hash +impl core::fmt::Display for bitcoin_hashes::sha256::Hash +impl core::fmt::Display for bitcoin_hashes::sha256::MidstateError +impl core::fmt::Display for bitcoin_hashes::sha256d::Hash +impl core::fmt::Display for bitcoin_hashes::sha384::Hash +impl core::fmt::Display for bitcoin_hashes::sha512::Hash +impl core::fmt::Display for bitcoin_hashes::sha512_256::Hash +impl core::fmt::Display for bitcoin_hashes::siphash24::Hash +impl core::fmt::LowerHex for bitcoin_hashes::hash160::Hash +impl core::fmt::LowerHex for bitcoin_hashes::ripemd160::Hash +impl core::fmt::LowerHex for bitcoin_hashes::sha1::Hash +impl core::fmt::LowerHex for bitcoin_hashes::sha256::Hash +impl core::fmt::LowerHex for bitcoin_hashes::sha256d::Hash +impl core::fmt::LowerHex for bitcoin_hashes::sha384::Hash +impl core::fmt::LowerHex for bitcoin_hashes::sha512::Hash +impl core::fmt::LowerHex for bitcoin_hashes::sha512_256::Hash +impl core::fmt::LowerHex for bitcoin_hashes::siphash24::Hash +impl core::fmt::UpperHex for bitcoin_hashes::hash160::Hash +impl core::fmt::UpperHex for bitcoin_hashes::ripemd160::Hash +impl core::fmt::UpperHex for bitcoin_hashes::sha1::Hash +impl core::fmt::UpperHex for bitcoin_hashes::sha256::Hash +impl core::fmt::UpperHex for bitcoin_hashes::sha256d::Hash +impl core::fmt::UpperHex for bitcoin_hashes::sha384::Hash +impl core::fmt::UpperHex for bitcoin_hashes::sha512::Hash +impl core::fmt::UpperHex for bitcoin_hashes::sha512_256::Hash +impl core::fmt::UpperHex for bitcoin_hashes::siphash24::Hash +impl core::hash::Hash for bitcoin_hashes::hash160::Hash +impl core::hash::Hash for bitcoin_hashes::ripemd160::Hash +impl core::hash::Hash for bitcoin_hashes::sha1::Hash +impl core::hash::Hash for bitcoin_hashes::sha256::Hash +impl core::hash::Hash for bitcoin_hashes::sha256::Midstate +impl core::hash::Hash for bitcoin_hashes::sha256d::Hash +impl core::hash::Hash for bitcoin_hashes::sha384::Hash +impl core::hash::Hash for bitcoin_hashes::sha512::Hash +impl core::hash::Hash for bitcoin_hashes::sha512_256::Hash +impl core::hash::Hash for bitcoin_hashes::siphash24::Hash +impl core::marker::Copy for bitcoin_hashes::hash160::Hash +impl core::marker::Copy for bitcoin_hashes::hkdf::MaxLengthError +impl core::marker::Copy for bitcoin_hashes::ripemd160::Hash +impl core::marker::Copy for bitcoin_hashes::sha1::Hash +impl core::marker::Copy for bitcoin_hashes::sha256::Hash +impl core::marker::Copy for bitcoin_hashes::sha256::Midstate +impl core::marker::Copy for bitcoin_hashes::sha256d::Hash +impl core::marker::Copy for bitcoin_hashes::sha384::Hash +impl core::marker::Copy for bitcoin_hashes::sha512::Hash +impl core::marker::Copy for bitcoin_hashes::sha512_256::Hash +impl core::marker::Copy for bitcoin_hashes::siphash24::Hash +impl core::marker::Freeze for bitcoin_hashes::error::FromSliceError +impl core::marker::Freeze for bitcoin_hashes::hash160::Hash +impl core::marker::Freeze for bitcoin_hashes::hash160::HashEngine +impl core::marker::Freeze for bitcoin_hashes::hkdf::MaxLengthError +impl core::marker::Freeze for bitcoin_hashes::ripemd160::Hash +impl core::marker::Freeze for bitcoin_hashes::ripemd160::HashEngine +impl core::marker::Freeze for bitcoin_hashes::sha1::Hash +impl core::marker::Freeze for bitcoin_hashes::sha1::HashEngine +impl core::marker::Freeze for bitcoin_hashes::sha256::Hash +impl core::marker::Freeze for bitcoin_hashes::sha256::HashEngine +impl core::marker::Freeze for bitcoin_hashes::sha256::Midstate +impl core::marker::Freeze for bitcoin_hashes::sha256::MidstateError +impl core::marker::Freeze for bitcoin_hashes::sha256d::Hash +impl core::marker::Freeze for bitcoin_hashes::sha256d::HashEngine +impl core::marker::Freeze for bitcoin_hashes::sha384::Hash +impl core::marker::Freeze for bitcoin_hashes::sha384::HashEngine +impl core::marker::Freeze for bitcoin_hashes::sha512::Hash +impl core::marker::Freeze for bitcoin_hashes::sha512::HashEngine +impl core::marker::Freeze for bitcoin_hashes::sha512_256::Hash +impl core::marker::Freeze for bitcoin_hashes::sha512_256::HashEngine +impl core::marker::Freeze for bitcoin_hashes::siphash24::Hash +impl core::marker::Freeze for bitcoin_hashes::siphash24::HashEngine +impl core::marker::Freeze for bitcoin_hashes::siphash24::State +impl core::marker::Send for bitcoin_hashes::error::FromSliceError +impl core::marker::Send for bitcoin_hashes::hash160::Hash +impl core::marker::Send for bitcoin_hashes::hash160::HashEngine +impl core::marker::Send for bitcoin_hashes::hkdf::MaxLengthError +impl core::marker::Send for bitcoin_hashes::ripemd160::Hash +impl core::marker::Send for bitcoin_hashes::ripemd160::HashEngine +impl core::marker::Send for bitcoin_hashes::sha1::Hash +impl core::marker::Send for bitcoin_hashes::sha1::HashEngine +impl core::marker::Send for bitcoin_hashes::sha256::Hash +impl core::marker::Send for bitcoin_hashes::sha256::HashEngine +impl core::marker::Send for bitcoin_hashes::sha256::Midstate +impl core::marker::Send for bitcoin_hashes::sha256::MidstateError +impl core::marker::Send for bitcoin_hashes::sha256d::Hash +impl core::marker::Send for bitcoin_hashes::sha256d::HashEngine +impl core::marker::Send for bitcoin_hashes::sha384::Hash +impl core::marker::Send for bitcoin_hashes::sha384::HashEngine +impl core::marker::Send for bitcoin_hashes::sha512::Hash +impl core::marker::Send for bitcoin_hashes::sha512::HashEngine +impl core::marker::Send for bitcoin_hashes::sha512_256::Hash +impl core::marker::Send for bitcoin_hashes::sha512_256::HashEngine +impl core::marker::Send for bitcoin_hashes::siphash24::Hash +impl core::marker::Send for bitcoin_hashes::siphash24::HashEngine +impl core::marker::Send for bitcoin_hashes::siphash24::State +impl core::marker::StructuralPartialEq for bitcoin_hashes::error::FromSliceError +impl core::marker::StructuralPartialEq for bitcoin_hashes::hash160::Hash +impl core::marker::StructuralPartialEq for bitcoin_hashes::hkdf::MaxLengthError +impl core::marker::StructuralPartialEq for bitcoin_hashes::ripemd160::Hash +impl core::marker::StructuralPartialEq for bitcoin_hashes::sha1::Hash +impl core::marker::StructuralPartialEq for bitcoin_hashes::sha256::Hash +impl core::marker::StructuralPartialEq for bitcoin_hashes::sha256::Midstate +impl core::marker::StructuralPartialEq for bitcoin_hashes::sha256::MidstateError +impl core::marker::StructuralPartialEq for bitcoin_hashes::sha256d::Hash +impl core::marker::StructuralPartialEq for bitcoin_hashes::sha384::Hash +impl core::marker::StructuralPartialEq for bitcoin_hashes::sha512::Hash +impl core::marker::StructuralPartialEq for bitcoin_hashes::sha512_256::Hash +impl core::marker::StructuralPartialEq for bitcoin_hashes::siphash24::Hash +impl core::marker::Sync for bitcoin_hashes::error::FromSliceError +impl core::marker::Sync for bitcoin_hashes::hash160::Hash +impl core::marker::Sync for bitcoin_hashes::hash160::HashEngine +impl core::marker::Sync for bitcoin_hashes::hkdf::MaxLengthError +impl core::marker::Sync for bitcoin_hashes::ripemd160::Hash +impl core::marker::Sync for bitcoin_hashes::ripemd160::HashEngine +impl core::marker::Sync for bitcoin_hashes::sha1::Hash +impl core::marker::Sync for bitcoin_hashes::sha1::HashEngine +impl core::marker::Sync for bitcoin_hashes::sha256::Hash +impl core::marker::Sync for bitcoin_hashes::sha256::HashEngine +impl core::marker::Sync for bitcoin_hashes::sha256::Midstate +impl core::marker::Sync for bitcoin_hashes::sha256::MidstateError +impl core::marker::Sync for bitcoin_hashes::sha256d::Hash +impl core::marker::Sync for bitcoin_hashes::sha256d::HashEngine +impl core::marker::Sync for bitcoin_hashes::sha384::Hash +impl core::marker::Sync for bitcoin_hashes::sha384::HashEngine +impl core::marker::Sync for bitcoin_hashes::sha512::Hash +impl core::marker::Sync for bitcoin_hashes::sha512::HashEngine +impl core::marker::Sync for bitcoin_hashes::sha512_256::Hash +impl core::marker::Sync for bitcoin_hashes::sha512_256::HashEngine +impl core::marker::Sync for bitcoin_hashes::siphash24::Hash +impl core::marker::Sync for bitcoin_hashes::siphash24::HashEngine +impl core::marker::Sync for bitcoin_hashes::siphash24::State +impl core::marker::Unpin for bitcoin_hashes::error::FromSliceError +impl core::marker::Unpin for bitcoin_hashes::hash160::Hash +impl core::marker::Unpin for bitcoin_hashes::hash160::HashEngine +impl core::marker::Unpin for bitcoin_hashes::hkdf::MaxLengthError +impl core::marker::Unpin for bitcoin_hashes::ripemd160::Hash +impl core::marker::Unpin for bitcoin_hashes::ripemd160::HashEngine +impl core::marker::Unpin for bitcoin_hashes::sha1::Hash +impl core::marker::Unpin for bitcoin_hashes::sha1::HashEngine +impl core::marker::Unpin for bitcoin_hashes::sha256::Hash +impl core::marker::Unpin for bitcoin_hashes::sha256::HashEngine +impl core::marker::Unpin for bitcoin_hashes::sha256::Midstate +impl core::marker::Unpin for bitcoin_hashes::sha256::MidstateError +impl core::marker::Unpin for bitcoin_hashes::sha256d::Hash +impl core::marker::Unpin for bitcoin_hashes::sha256d::HashEngine +impl core::marker::Unpin for bitcoin_hashes::sha384::Hash +impl core::marker::Unpin for bitcoin_hashes::sha384::HashEngine +impl core::marker::Unpin for bitcoin_hashes::sha512::Hash +impl core::marker::Unpin for bitcoin_hashes::sha512::HashEngine +impl core::marker::Unpin for bitcoin_hashes::sha512_256::Hash +impl core::marker::Unpin for bitcoin_hashes::sha512_256::HashEngine +impl core::marker::Unpin for bitcoin_hashes::siphash24::Hash +impl core::marker::Unpin for bitcoin_hashes::siphash24::HashEngine +impl core::marker::Unpin for bitcoin_hashes::siphash24::State +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_hashes::error::FromSliceError +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_hashes::hash160::Hash +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_hashes::hash160::HashEngine +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_hashes::hkdf::MaxLengthError +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_hashes::ripemd160::Hash +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_hashes::ripemd160::HashEngine +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_hashes::sha1::Hash +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_hashes::sha1::HashEngine +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_hashes::sha256::Hash +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_hashes::sha256::HashEngine +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_hashes::sha256::Midstate +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_hashes::sha256::MidstateError +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_hashes::sha256d::Hash +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_hashes::sha256d::HashEngine +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_hashes::sha384::Hash +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_hashes::sha384::HashEngine +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_hashes::sha512::Hash +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_hashes::sha512::HashEngine +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_hashes::sha512_256::Hash +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_hashes::sha512_256::HashEngine +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_hashes::siphash24::Hash +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_hashes::siphash24::HashEngine +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_hashes::siphash24::State +impl core::panic::unwind_safe::UnwindSafe for bitcoin_hashes::error::FromSliceError +impl core::panic::unwind_safe::UnwindSafe for bitcoin_hashes::hash160::Hash +impl core::panic::unwind_safe::UnwindSafe for bitcoin_hashes::hash160::HashEngine +impl core::panic::unwind_safe::UnwindSafe for bitcoin_hashes::hkdf::MaxLengthError +impl core::panic::unwind_safe::UnwindSafe for bitcoin_hashes::ripemd160::Hash +impl core::panic::unwind_safe::UnwindSafe for bitcoin_hashes::ripemd160::HashEngine +impl core::panic::unwind_safe::UnwindSafe for bitcoin_hashes::sha1::Hash +impl core::panic::unwind_safe::UnwindSafe for bitcoin_hashes::sha1::HashEngine +impl core::panic::unwind_safe::UnwindSafe for bitcoin_hashes::sha256::Hash +impl core::panic::unwind_safe::UnwindSafe for bitcoin_hashes::sha256::HashEngine +impl core::panic::unwind_safe::UnwindSafe for bitcoin_hashes::sha256::Midstate +impl core::panic::unwind_safe::UnwindSafe for bitcoin_hashes::sha256::MidstateError +impl core::panic::unwind_safe::UnwindSafe for bitcoin_hashes::sha256d::Hash +impl core::panic::unwind_safe::UnwindSafe for bitcoin_hashes::sha256d::HashEngine +impl core::panic::unwind_safe::UnwindSafe for bitcoin_hashes::sha384::Hash +impl core::panic::unwind_safe::UnwindSafe for bitcoin_hashes::sha384::HashEngine +impl core::panic::unwind_safe::UnwindSafe for bitcoin_hashes::sha512::Hash +impl core::panic::unwind_safe::UnwindSafe for bitcoin_hashes::sha512::HashEngine +impl core::panic::unwind_safe::UnwindSafe for bitcoin_hashes::sha512_256::Hash +impl core::panic::unwind_safe::UnwindSafe for bitcoin_hashes::sha512_256::HashEngine +impl core::panic::unwind_safe::UnwindSafe for bitcoin_hashes::siphash24::Hash +impl core::panic::unwind_safe::UnwindSafe for bitcoin_hashes::siphash24::HashEngine +impl core::panic::unwind_safe::UnwindSafe for bitcoin_hashes::siphash24::State +impl core::str::traits::FromStr for bitcoin_hashes::hash160::Hash +impl core::str::traits::FromStr for bitcoin_hashes::ripemd160::Hash +impl core::str::traits::FromStr for bitcoin_hashes::sha1::Hash +impl core::str::traits::FromStr for bitcoin_hashes::sha256::Hash +impl core::str::traits::FromStr for bitcoin_hashes::sha256d::Hash +impl core::str::traits::FromStr for bitcoin_hashes::sha384::Hash +impl core::str::traits::FromStr for bitcoin_hashes::sha512::Hash +impl core::str::traits::FromStr for bitcoin_hashes::sha512_256::Hash +impl core::str::traits::FromStr for bitcoin_hashes::siphash24::Hash +impl serde::ser::Serialize for bitcoin_hashes::hash160::Hash +impl serde::ser::Serialize for bitcoin_hashes::ripemd160::Hash +impl serde::ser::Serialize for bitcoin_hashes::sha1::Hash +impl serde::ser::Serialize for bitcoin_hashes::sha256::Hash +impl serde::ser::Serialize for bitcoin_hashes::sha256d::Hash +impl serde::ser::Serialize for bitcoin_hashes::sha384::Hash +impl serde::ser::Serialize for bitcoin_hashes::sha512::Hash +impl serde::ser::Serialize for bitcoin_hashes::sha512_256::Hash +impl serde::ser::Serialize for bitcoin_hashes::siphash24::Hash +impl std::io::Write for bitcoin_hashes::hash160::HashEngine +impl std::io::Write for bitcoin_hashes::ripemd160::HashEngine +impl std::io::Write for bitcoin_hashes::sha1::HashEngine +impl std::io::Write for bitcoin_hashes::sha256::HashEngine +impl std::io::Write for bitcoin_hashes::sha256d::HashEngine +impl std::io::Write for bitcoin_hashes::sha384::HashEngine +impl std::io::Write for bitcoin_hashes::sha512::HashEngine +impl std::io::Write for bitcoin_hashes::sha512_256::HashEngine +impl std::io::Write for bitcoin_hashes::siphash24::HashEngine +impl<'de, T: bitcoin_hashes::GeneralHash + serde::de::Deserialize<'de>> serde::de::Deserialize<'de> for bitcoin_hashes::hmac::Hmac +impl<'de, T: bitcoin_hashes::sha256t::Tag> serde::de::Deserialize<'de> for bitcoin_hashes::sha256t::Hash +impl<'de> serde::de::Deserialize<'de> for bitcoin_hashes::hash160::Hash +impl<'de> serde::de::Deserialize<'de> for bitcoin_hashes::ripemd160::Hash +impl<'de> serde::de::Deserialize<'de> for bitcoin_hashes::sha1::Hash +impl<'de> serde::de::Deserialize<'de> for bitcoin_hashes::sha256::Hash +impl<'de> serde::de::Deserialize<'de> for bitcoin_hashes::sha256d::Hash +impl<'de> serde::de::Deserialize<'de> for bitcoin_hashes::sha384::Hash +impl<'de> serde::de::Deserialize<'de> for bitcoin_hashes::sha512::Hash +impl<'de> serde::de::Deserialize<'de> for bitcoin_hashes::sha512_256::Hash +impl<'de> serde::de::Deserialize<'de> for bitcoin_hashes::siphash24::Hash +impl core::fmt::Debug for bitcoin_hashes::hmac::Hmac +impl core::fmt::Display for bitcoin_hashes::hmac::Hmac +impl core::fmt::LowerHex for bitcoin_hashes::hmac::Hmac +impl core::str::traits::FromStr for bitcoin_hashes::hmac::Hmac +impl serde::ser::Serialize for bitcoin_hashes::hmac::Hmac +impl bitcoin_hashes::GeneralHash for bitcoin_hashes::hmac::Hmac +impl bitcoin_hashes::Hash for bitcoin_hashes::hmac::Hmac +impl bitcoin_hashes::HashEngine for bitcoin_hashes::hmac::HmacEngine +impl bitcoin_hashes::hkdf::Hkdf where ::Engine: core::default::Default +impl bitcoin_hashes::hmac::HmacEngine +impl bitcoin_io::Write for bitcoin_hashes::hmac::HmacEngine +impl core::convert::AsRef<[u8]> for bitcoin_hashes::hmac::Hmac +impl core::default::Default for bitcoin_hashes::hmac::HmacEngine where ::Engine: core::default::Default +impl core::marker::StructuralPartialEq for bitcoin_hashes::hmac::Hmac +impl std::io::Write for bitcoin_hashes::hmac::HmacEngine +impl bitcoin_hashes::GeneralHash for bitcoin_hashes::sha256t::Hash +impl bitcoin_hashes::Hash for bitcoin_hashes::sha256t::Hash +impl core::borrow::Borrow<[u8; 32]> for bitcoin_hashes::sha256t::Hash +impl core::borrow::Borrow<[u8]> for bitcoin_hashes::sha256t::Hash +impl core::clone::Clone for bitcoin_hashes::sha256t::Hash +impl core::cmp::Eq for bitcoin_hashes::sha256t::Hash +impl core::cmp::Ord for bitcoin_hashes::sha256t::Hash +impl core::cmp::PartialEq for bitcoin_hashes::sha256t::Hash +impl core::cmp::PartialOrd for bitcoin_hashes::sha256t::Hash +impl core::convert::AsRef<[u8; 32]> for bitcoin_hashes::sha256t::Hash +impl core::convert::AsRef<[u8]> for bitcoin_hashes::sha256t::Hash +impl core::default::Default for bitcoin_hashes::sha256t::Hash +impl core::fmt::Debug for bitcoin_hashes::sha256t::Hash +impl core::fmt::Display for bitcoin_hashes::sha256t::Hash +impl core::fmt::LowerHex for bitcoin_hashes::sha256t::Hash +impl core::fmt::UpperHex for bitcoin_hashes::sha256t::Hash +impl core::hash::Hash for bitcoin_hashes::sha256t::Hash +impl core::marker::Copy for bitcoin_hashes::sha256t::Hash +impl core::str::traits::FromStr for bitcoin_hashes::sha256t::Hash +impl serde::ser::Serialize for bitcoin_hashes::sha256t::Hash +impl core::clone::Clone for bitcoin_hashes::hmac::Hmac +impl core::clone::Clone for bitcoin_hashes::hmac::HmacEngine where ::Engine: core::clone::Clone +impl core::cmp::Eq for bitcoin_hashes::hmac::Hmac +impl core::cmp::Ord for bitcoin_hashes::hmac::Hmac +impl core::cmp::PartialEq for bitcoin_hashes::hmac::Hmac +impl core::cmp::PartialOrd for bitcoin_hashes::hmac::Hmac +impl core::hash::Hash for bitcoin_hashes::hmac::Hmac +impl core::marker::Copy for bitcoin_hashes::hmac::Hmac +impl bitcoin_hashes::sha256t::Hash where T: bitcoin_hashes::sha256t::Tag +impl core::marker::Freeze for bitcoin_hashes::hkdf::Hkdf where T: core::marker::Freeze +impl core::marker::Freeze for bitcoin_hashes::hmac::Hmac where T: core::marker::Freeze +impl core::marker::Freeze for bitcoin_hashes::hmac::HmacEngine where ::Engine: core::marker::Freeze +impl core::marker::Freeze for bitcoin_hashes::sha256t::Hash +impl core::marker::Send for bitcoin_hashes::hkdf::Hkdf where T: core::marker::Send +impl core::marker::Send for bitcoin_hashes::hmac::Hmac where T: core::marker::Send +impl core::marker::Send for bitcoin_hashes::hmac::HmacEngine where ::Engine: core::marker::Send +impl core::marker::Send for bitcoin_hashes::sha256t::Hash where T: core::marker::Send +impl core::marker::Sync for bitcoin_hashes::hkdf::Hkdf where T: core::marker::Sync +impl core::marker::Sync for bitcoin_hashes::hmac::Hmac where T: core::marker::Sync +impl core::marker::Sync for bitcoin_hashes::hmac::HmacEngine where ::Engine: core::marker::Sync +impl core::marker::Sync for bitcoin_hashes::sha256t::Hash where T: core::marker::Sync +impl core::marker::Unpin for bitcoin_hashes::hkdf::Hkdf where T: core::marker::Unpin +impl core::marker::Unpin for bitcoin_hashes::hmac::Hmac where T: core::marker::Unpin +impl core::marker::Unpin for bitcoin_hashes::hmac::HmacEngine where ::Engine: core::marker::Unpin +impl core::marker::Unpin for bitcoin_hashes::sha256t::Hash where T: core::marker::Unpin +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_hashes::hkdf::Hkdf where T: core::panic::unwind_safe::RefUnwindSafe +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_hashes::hmac::Hmac where T: core::panic::unwind_safe::RefUnwindSafe +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_hashes::hmac::HmacEngine where ::Engine: core::panic::unwind_safe::RefUnwindSafe +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_hashes::sha256t::Hash where T: core::panic::unwind_safe::RefUnwindSafe +impl core::panic::unwind_safe::UnwindSafe for bitcoin_hashes::hkdf::Hkdf where T: core::panic::unwind_safe::UnwindSafe +impl core::panic::unwind_safe::UnwindSafe for bitcoin_hashes::hmac::Hmac where T: core::panic::unwind_safe::UnwindSafe +impl core::panic::unwind_safe::UnwindSafe for bitcoin_hashes::hmac::HmacEngine where ::Engine: core::panic::unwind_safe::UnwindSafe +impl core::panic::unwind_safe::UnwindSafe for bitcoin_hashes::sha256t::Hash where T: core::panic::unwind_safe::UnwindSafe +impl core::default::Default for bitcoin_hashes::macros::serde_details::BytesVisitor +impl core::marker::Freeze for bitcoin_hashes::macros::serde_details::BytesVisitor +impl core::marker::Send for bitcoin_hashes::macros::serde_details::BytesVisitor where ValueT: core::marker::Send +impl core::marker::Sync for bitcoin_hashes::macros::serde_details::BytesVisitor where ValueT: core::marker::Sync +impl core::marker::Unpin for bitcoin_hashes::macros::serde_details::BytesVisitor where ValueT: core::marker::Unpin +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_hashes::macros::serde_details::BytesVisitor where ValueT: core::panic::unwind_safe::RefUnwindSafe +impl core::panic::unwind_safe::UnwindSafe for bitcoin_hashes::macros::serde_details::BytesVisitor where ValueT: core::panic::unwind_safe::UnwindSafe +impl serde::de::Visitor<'_> for bitcoin_hashes::macros::serde_details::BytesVisitor where ValueT: bitcoin_hashes::Hash + bitcoin_hashes::Hash +impl core::default::Default for bitcoin_hashes::macros::serde_details::HexVisitor +impl core::marker::Freeze for bitcoin_hashes::macros::serde_details::HexVisitor +impl core::marker::Send for bitcoin_hashes::macros::serde_details::HexVisitor where ValueT: core::marker::Send +impl core::marker::Sync for bitcoin_hashes::macros::serde_details::HexVisitor where ValueT: core::marker::Sync +impl core::marker::Unpin for bitcoin_hashes::macros::serde_details::HexVisitor where ValueT: core::marker::Unpin +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_hashes::macros::serde_details::HexVisitor where ValueT: core::panic::unwind_safe::RefUnwindSafe +impl core::panic::unwind_safe::UnwindSafe for bitcoin_hashes::macros::serde_details::HexVisitor where ValueT: core::panic::unwind_safe::UnwindSafe +impl serde::de::Visitor<'_> for bitcoin_hashes::macros::serde_details::HexVisitor where ValueT: core::str::traits::FromStr, ::Err: core::fmt::Display +impl bitcoin_hashes::IsByteArray for [u8; N] +pub const [u8; N]::LEN: usize +pub const bitcoin_hashes::Hash::DISPLAY_BACKWARD: bool +pub const bitcoin_hashes::Hash::LEN: usize +pub const bitcoin_hashes::HashEngine::BLOCK_SIZE: usize +pub const bitcoin_hashes::IsByteArray::LEN: usize +pub const bitcoin_hashes::hash160::Hash::DISPLAY_BACKWARD: bool +pub const bitcoin_hashes::hash160::HashEngine::BLOCK_SIZE: usize +pub const bitcoin_hashes::hmac::HmacEngine::BLOCK_SIZE: usize +pub const bitcoin_hashes::ripemd160::Hash::DISPLAY_BACKWARD: bool +pub const bitcoin_hashes::ripemd160::HashEngine::BLOCK_SIZE: usize +pub const bitcoin_hashes::sha1::Hash::DISPLAY_BACKWARD: bool +pub const bitcoin_hashes::sha1::HashEngine::BLOCK_SIZE: usize +pub const bitcoin_hashes::sha256::Hash::DISPLAY_BACKWARD: bool +pub const bitcoin_hashes::sha256::HashEngine::BLOCK_SIZE: usize +pub const bitcoin_hashes::sha256d::Hash::DISPLAY_BACKWARD: bool +pub const bitcoin_hashes::sha256d::HashEngine::BLOCK_SIZE: usize +pub const bitcoin_hashes::sha256t::Hash::DISPLAY_BACKWARD: bool +pub const bitcoin_hashes::sha384::Hash::DISPLAY_BACKWARD: bool +pub const bitcoin_hashes::sha384::HashEngine::BLOCK_SIZE: usize +pub const bitcoin_hashes::sha512::Hash::DISPLAY_BACKWARD: bool +pub const bitcoin_hashes::sha512::HashEngine::BLOCK_SIZE: usize +pub const bitcoin_hashes::sha512_256::Hash::DISPLAY_BACKWARD: bool +pub const bitcoin_hashes::sha512_256::HashEngine::BLOCK_SIZE: usize +pub const bitcoin_hashes::siphash24::Hash::DISPLAY_BACKWARD: bool +pub const bitcoin_hashes::siphash24::HashEngine::BLOCK_SIZE: usize +pub const fn bitcoin_hashes::hash160::Hash::as_byte_array(&self) -> &[u8; 20] +pub const fn bitcoin_hashes::hash160::Hash::from_byte_array(bytes: [u8; 20]) -> Self +pub const fn bitcoin_hashes::hash160::Hash::to_byte_array(self) -> [u8; 20] +pub const fn bitcoin_hashes::hash160::HashEngine::new() -> Self +pub const fn bitcoin_hashes::ripemd160::Hash::as_byte_array(&self) -> &[u8; 20] +pub const fn bitcoin_hashes::ripemd160::Hash::from_byte_array(bytes: [u8; 20]) -> Self +pub const fn bitcoin_hashes::ripemd160::Hash::to_byte_array(self) -> [u8; 20] +pub const fn bitcoin_hashes::ripemd160::HashEngine::new() -> Self +pub const fn bitcoin_hashes::sha1::Hash::as_byte_array(&self) -> &[u8; 20] +pub const fn bitcoin_hashes::sha1::Hash::from_byte_array(bytes: [u8; 20]) -> Self +pub const fn bitcoin_hashes::sha1::Hash::to_byte_array(self) -> [u8; 20] +pub const fn bitcoin_hashes::sha1::HashEngine::new() -> Self +pub const fn bitcoin_hashes::sha256::Hash::as_byte_array(&self) -> &[u8; 32] +pub const fn bitcoin_hashes::sha256::Hash::const_hash(bytes: &[u8]) -> Self +pub const fn bitcoin_hashes::sha256::Hash::from_byte_array(bytes: [u8; 32]) -> Self +pub const fn bitcoin_hashes::sha256::Hash::hash_unoptimized(bytes: &[u8]) -> Self +pub const fn bitcoin_hashes::sha256::Hash::to_byte_array(self) -> [u8; 32] +pub const fn bitcoin_hashes::sha256::HashEngine::can_extract_midstate(&self) -> bool +pub const fn bitcoin_hashes::sha256::HashEngine::new() -> Self +pub const fn bitcoin_hashes::sha256::Midstate::as_parts(&self) -> (&[u8; 32], u64) +pub const fn bitcoin_hashes::sha256::Midstate::hash_tag(tag: &[u8]) -> Self +pub const fn bitcoin_hashes::sha256::Midstate::new(state: [u8; 32], bytes_hashed: u64) -> Self +pub const fn bitcoin_hashes::sha256::Midstate::to_parts(self) -> ([u8; 32], u64) +pub const fn bitcoin_hashes::sha256d::Hash::as_byte_array(&self) -> &[u8; 32] +pub const fn bitcoin_hashes::sha256d::Hash::from_byte_array(bytes: [u8; 32]) -> Self +pub const fn bitcoin_hashes::sha256d::Hash::to_byte_array(self) -> [u8; 32] +pub const fn bitcoin_hashes::sha256d::HashEngine::new() -> Self +pub const fn bitcoin_hashes::sha256t::Hash::as_byte_array(&self) -> &[u8; 32] +pub const fn bitcoin_hashes::sha256t::Hash::from_byte_array(bytes: [u8; 32]) -> Self +pub const fn bitcoin_hashes::sha256t::Hash::to_byte_array(self) -> [u8; 32] +pub const fn bitcoin_hashes::sha384::Hash::as_byte_array(&self) -> &[u8; 48] +pub const fn bitcoin_hashes::sha384::Hash::from_byte_array(bytes: [u8; 48]) -> Self +pub const fn bitcoin_hashes::sha384::Hash::to_byte_array(self) -> [u8; 48] +pub const fn bitcoin_hashes::sha384::HashEngine::new() -> Self +pub const fn bitcoin_hashes::sha512::Hash::as_byte_array(&self) -> &[u8; 64] +pub const fn bitcoin_hashes::sha512::Hash::from_byte_array(bytes: [u8; 64]) -> Self +pub const fn bitcoin_hashes::sha512::Hash::to_byte_array(self) -> [u8; 64] +pub const fn bitcoin_hashes::sha512::HashEngine::new() -> Self +pub const fn bitcoin_hashes::sha512_256::Hash::as_byte_array(&self) -> &[u8; 32] +pub const fn bitcoin_hashes::sha512_256::Hash::from_byte_array(bytes: [u8; 32]) -> Self +pub const fn bitcoin_hashes::sha512_256::Hash::to_byte_array(self) -> [u8; 32] +pub const fn bitcoin_hashes::sha512_256::HashEngine::new() -> Self +pub const fn bitcoin_hashes::siphash24::Hash::as_byte_array(&self) -> &[u8; 8] +pub const fn bitcoin_hashes::siphash24::Hash::from_byte_array(bytes: [u8; 8]) -> Self +pub const fn bitcoin_hashes::siphash24::Hash::to_byte_array(self) -> [u8; 8] +pub const fn bitcoin_hashes::siphash24::HashEngine::with_keys(k0: u64, k1: u64) -> bitcoin_hashes::siphash24::HashEngine +pub extern crate bitcoin_hashes::hex +pub extern crate bitcoin_hashes::serde +pub fn bitcoin_hashes::GeneralHash::engine() -> Self::Engine where Self::Engine: core::default::Default +pub fn bitcoin_hashes::GeneralHash::from_engine(e: Self::Engine) -> Self +pub fn bitcoin_hashes::GeneralHash::hash(data: &[u8]) -> Self where Self::Engine: core::default::Default +pub fn bitcoin_hashes::GeneralHash::hash_byte_chunks(byte_slices: I) -> Self where B: core::convert::AsRef<[u8]>, I: core::iter::traits::collect::IntoIterator, Self::Engine: core::default::Default +pub fn bitcoin_hashes::GeneralHash::hash_reader(reader: &mut R) -> core::result::Result where Self::Engine: core::default::Default +pub fn bitcoin_hashes::Hash::as_byte_array(&self) -> &Self::Bytes +pub fn bitcoin_hashes::Hash::from_byte_array(bytes: Self::Bytes) -> Self +pub fn bitcoin_hashes::Hash::from_slice(sl: &[u8]) -> core::result::Result +pub fn bitcoin_hashes::Hash::to_byte_array(self) -> Self::Bytes +pub fn bitcoin_hashes::HashEngine::input(&mut self, data: &[u8]) +pub fn bitcoin_hashes::HashEngine::n_bytes_hashed(&self) -> u64 +pub fn bitcoin_hashes::cmp::fixed_time_eq(a: &[u8], b: &[u8]) -> bool +pub fn bitcoin_hashes::debug_hex(bytes: &[u8], f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_hashes::error::FromSliceError::clone(&self) -> bitcoin_hashes::error::FromSliceError +pub fn bitcoin_hashes::error::FromSliceError::eq(&self, other: &bitcoin_hashes::error::FromSliceError) -> bool +pub fn bitcoin_hashes::error::FromSliceError::expected_length(&self) -> usize +pub fn bitcoin_hashes::error::FromSliceError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_hashes::error::FromSliceError::from(never: core::convert::Infallible) -> Self +pub fn bitcoin_hashes::error::FromSliceError::invalid_length(&self) -> usize +pub fn bitcoin_hashes::hash160::Hash::as_byte_array(&self) -> &Self::Bytes +pub fn bitcoin_hashes::hash160::Hash::as_ref(&self) -> &[u8; 20] +pub fn bitcoin_hashes::hash160::Hash::as_ref(&self) -> &[u8] +pub fn bitcoin_hashes::hash160::Hash::borrow(&self) -> &[u8; 20] +pub fn bitcoin_hashes::hash160::Hash::borrow(&self) -> &[u8] +pub fn bitcoin_hashes::hash160::Hash::clone(&self) -> bitcoin_hashes::hash160::Hash +pub fn bitcoin_hashes::hash160::Hash::cmp(&self, other: &bitcoin_hashes::hash160::Hash) -> core::cmp::Ordering +pub fn bitcoin_hashes::hash160::Hash::deserialize>(d: D) -> core::result::Result::Error> +pub fn bitcoin_hashes::hash160::Hash::engine() -> bitcoin_hashes::hash160::HashEngine +pub fn bitcoin_hashes::hash160::Hash::eq(&self, other: &bitcoin_hashes::hash160::Hash) -> bool +pub fn bitcoin_hashes::hash160::Hash::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_hashes::hash160::Hash::from_byte_array(bytes: Self::Bytes) -> Self +pub fn bitcoin_hashes::hash160::Hash::from_bytes_mut(bytes: &mut [u8; 20]) -> &mut Self +pub fn bitcoin_hashes::hash160::Hash::from_bytes_ref(bytes: &[u8; 20]) -> &Self +pub fn bitcoin_hashes::hash160::Hash::from_engine(e: bitcoin_hashes::hash160::HashEngine) -> bitcoin_hashes::hash160::Hash +pub fn bitcoin_hashes::hash160::Hash::from_slice(sl: &[u8]) -> core::result::Result +pub fn bitcoin_hashes::hash160::Hash::from_str(s: &str) -> core::result::Result +pub fn bitcoin_hashes::hash160::Hash::hash(data: &[u8]) -> Self +pub fn bitcoin_hashes::hash160::Hash::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_hashes::hash160::Hash::hash_byte_chunks(byte_slices: I) -> Self where B: core::convert::AsRef<[u8]>, I: core::iter::traits::collect::IntoIterator +pub fn bitcoin_hashes::hash160::Hash::hash_reader(reader: &mut R) -> core::result::Result +pub fn bitcoin_hashes::hash160::Hash::partial_cmp(&self, other: &bitcoin_hashes::hash160::Hash) -> core::option::Option +pub fn bitcoin_hashes::hash160::Hash::serialize(&self, s: S) -> core::result::Result<::Ok, ::Error> +pub fn bitcoin_hashes::hash160::Hash::to_byte_array(self) -> Self::Bytes +pub fn bitcoin_hashes::hash160::HashEngine::clone(&self) -> bitcoin_hashes::hash160::HashEngine +pub fn bitcoin_hashes::hash160::HashEngine::default() -> Self +pub fn bitcoin_hashes::hash160::HashEngine::flush(&mut self) -> bitcoin_io::Result<()> +pub fn bitcoin_hashes::hash160::HashEngine::flush(&mut self) -> std::io::error::Result<()> +pub fn bitcoin_hashes::hash160::HashEngine::input(&mut self, data: &[u8]) +pub fn bitcoin_hashes::hash160::HashEngine::n_bytes_hashed(&self) -> u64 +pub fn bitcoin_hashes::hash160::HashEngine::write(&mut self, buf: &[u8]) -> bitcoin_io::Result +pub fn bitcoin_hashes::hash160::HashEngine::write(&mut self, buf: &[u8]) -> std::io::error::Result +pub fn bitcoin_hashes::hkdf::Hkdf::expand(&self, info: &[u8], okm: &mut [u8]) -> core::result::Result<(), bitcoin_hashes::hkdf::MaxLengthError> +pub fn bitcoin_hashes::hkdf::Hkdf::expand_to_len(&self, info: &[u8], len: usize) -> core::result::Result, bitcoin_hashes::hkdf::MaxLengthError> +pub fn bitcoin_hashes::hkdf::Hkdf::new(salt: &[u8], ikm: &[u8]) -> Self +pub fn bitcoin_hashes::hkdf::MaxLengthError::clone(&self) -> bitcoin_hashes::hkdf::MaxLengthError +pub fn bitcoin_hashes::hkdf::MaxLengthError::eq(&self, other: &bitcoin_hashes::hkdf::MaxLengthError) -> bool +pub fn bitcoin_hashes::hkdf::MaxLengthError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_hashes::hmac::Hmac::as_byte_array(&self) -> &Self::Bytes +pub fn bitcoin_hashes::hmac::Hmac::as_ref(&self) -> &[u8] +pub fn bitcoin_hashes::hmac::Hmac::clone(&self) -> bitcoin_hashes::hmac::Hmac +pub fn bitcoin_hashes::hmac::Hmac::cmp(&self, other: &bitcoin_hashes::hmac::Hmac) -> core::cmp::Ordering +pub fn bitcoin_hashes::hmac::Hmac::deserialize>(d: D) -> core::result::Result, ::Error> +pub fn bitcoin_hashes::hmac::Hmac::eq(&self, other: &bitcoin_hashes::hmac::Hmac) -> bool +pub fn bitcoin_hashes::hmac::Hmac::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_hashes::hmac::Hmac::from_byte_array(bytes: ::Bytes) -> Self +pub fn bitcoin_hashes::hmac::Hmac::from_engine(e: bitcoin_hashes::hmac::HmacEngine) -> bitcoin_hashes::hmac::Hmac +pub fn bitcoin_hashes::hmac::Hmac::from_slice(sl: &[u8]) -> core::result::Result, bitcoin_hashes::error::FromSliceError> +pub fn bitcoin_hashes::hmac::Hmac::from_str(s: &str) -> core::result::Result +pub fn bitcoin_hashes::hmac::Hmac::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_hashes::hmac::Hmac::partial_cmp(&self, other: &bitcoin_hashes::hmac::Hmac) -> core::option::Option +pub fn bitcoin_hashes::hmac::Hmac::serialize(&self, s: S) -> core::result::Result<::Ok, ::Error> +pub fn bitcoin_hashes::hmac::Hmac::to_byte_array(self) -> Self::Bytes +pub fn bitcoin_hashes::hmac::HmacEngine::clone(&self) -> bitcoin_hashes::hmac::HmacEngine +pub fn bitcoin_hashes::hmac::HmacEngine::default() -> Self +pub fn bitcoin_hashes::hmac::HmacEngine::flush(&mut self) -> bitcoin_io::Result<()> +pub fn bitcoin_hashes::hmac::HmacEngine::flush(&mut self) -> std::io::error::Result<()> +pub fn bitcoin_hashes::hmac::HmacEngine::from_inner_engines(iengine: ::Engine, oengine: ::Engine) -> bitcoin_hashes::hmac::HmacEngine +pub fn bitcoin_hashes::hmac::HmacEngine::input(&mut self, buf: &[u8]) +pub fn bitcoin_hashes::hmac::HmacEngine::n_bytes_hashed(&self) -> u64 +pub fn bitcoin_hashes::hmac::HmacEngine::new(key: &[u8]) -> bitcoin_hashes::hmac::HmacEngine where ::Engine: core::default::Default +pub fn bitcoin_hashes::hmac::HmacEngine::write(&mut self, buf: &[u8]) -> bitcoin_io::Result +pub fn bitcoin_hashes::hmac::HmacEngine::write(&mut self, buf: &[u8]) -> std::io::error::Result +pub fn bitcoin_hashes::macros::serde_details::BytesVisitor::default() -> Self +pub fn bitcoin_hashes::macros::serde_details::BytesVisitor::expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_hashes::macros::serde_details::BytesVisitor::visit_bytes(self, v: &[u8]) -> core::result::Result where E: serde::de::Error +pub fn bitcoin_hashes::macros::serde_details::HexVisitor::default() -> Self +pub fn bitcoin_hashes::macros::serde_details::HexVisitor::expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_hashes::macros::serde_details::HexVisitor::visit_bytes(self, v: &[u8]) -> core::result::Result where E: serde::de::Error +pub fn bitcoin_hashes::macros::serde_details::HexVisitor::visit_str(self, v: &str) -> core::result::Result where E: serde::de::Error +pub fn bitcoin_hashes::ripemd160::Hash::as_byte_array(&self) -> &Self::Bytes +pub fn bitcoin_hashes::ripemd160::Hash::as_ref(&self) -> &[u8; 20] +pub fn bitcoin_hashes::ripemd160::Hash::as_ref(&self) -> &[u8] +pub fn bitcoin_hashes::ripemd160::Hash::borrow(&self) -> &[u8; 20] +pub fn bitcoin_hashes::ripemd160::Hash::borrow(&self) -> &[u8] +pub fn bitcoin_hashes::ripemd160::Hash::clone(&self) -> bitcoin_hashes::ripemd160::Hash +pub fn bitcoin_hashes::ripemd160::Hash::cmp(&self, other: &bitcoin_hashes::ripemd160::Hash) -> core::cmp::Ordering +pub fn bitcoin_hashes::ripemd160::Hash::deserialize>(d: D) -> core::result::Result::Error> +pub fn bitcoin_hashes::ripemd160::Hash::engine() -> bitcoin_hashes::ripemd160::HashEngine +pub fn bitcoin_hashes::ripemd160::Hash::eq(&self, other: &bitcoin_hashes::ripemd160::Hash) -> bool +pub fn bitcoin_hashes::ripemd160::Hash::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_hashes::ripemd160::Hash::from_byte_array(bytes: Self::Bytes) -> Self +pub fn bitcoin_hashes::ripemd160::Hash::from_bytes_mut(bytes: &mut [u8; 20]) -> &mut Self +pub fn bitcoin_hashes::ripemd160::Hash::from_bytes_ref(bytes: &[u8; 20]) -> &Self +pub fn bitcoin_hashes::ripemd160::Hash::from_engine(e: bitcoin_hashes::ripemd160::HashEngine) -> bitcoin_hashes::ripemd160::Hash +pub fn bitcoin_hashes::ripemd160::Hash::from_slice(sl: &[u8]) -> core::result::Result +pub fn bitcoin_hashes::ripemd160::Hash::from_str(s: &str) -> core::result::Result +pub fn bitcoin_hashes::ripemd160::Hash::hash(data: &[u8]) -> Self +pub fn bitcoin_hashes::ripemd160::Hash::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_hashes::ripemd160::Hash::hash_byte_chunks(byte_slices: I) -> Self where B: core::convert::AsRef<[u8]>, I: core::iter::traits::collect::IntoIterator +pub fn bitcoin_hashes::ripemd160::Hash::hash_reader(reader: &mut R) -> core::result::Result +pub fn bitcoin_hashes::ripemd160::Hash::partial_cmp(&self, other: &bitcoin_hashes::ripemd160::Hash) -> core::option::Option +pub fn bitcoin_hashes::ripemd160::Hash::serialize(&self, s: S) -> core::result::Result<::Ok, ::Error> +pub fn bitcoin_hashes::ripemd160::Hash::to_byte_array(self) -> Self::Bytes +pub fn bitcoin_hashes::ripemd160::HashEngine::clone(&self) -> bitcoin_hashes::ripemd160::HashEngine +pub fn bitcoin_hashes::ripemd160::HashEngine::default() -> Self +pub fn bitcoin_hashes::ripemd160::HashEngine::flush(&mut self) -> bitcoin_io::Result<()> +pub fn bitcoin_hashes::ripemd160::HashEngine::flush(&mut self) -> std::io::error::Result<()> +pub fn bitcoin_hashes::ripemd160::HashEngine::input(&mut self, inp: &[u8]) +pub fn bitcoin_hashes::ripemd160::HashEngine::n_bytes_hashed(&self) -> u64 +pub fn bitcoin_hashes::ripemd160::HashEngine::write(&mut self, buf: &[u8]) -> bitcoin_io::Result +pub fn bitcoin_hashes::ripemd160::HashEngine::write(&mut self, buf: &[u8]) -> std::io::error::Result +pub fn bitcoin_hashes::sha1::Hash::as_byte_array(&self) -> &Self::Bytes +pub fn bitcoin_hashes::sha1::Hash::as_ref(&self) -> &[u8; 20] +pub fn bitcoin_hashes::sha1::Hash::as_ref(&self) -> &[u8] +pub fn bitcoin_hashes::sha1::Hash::borrow(&self) -> &[u8; 20] +pub fn bitcoin_hashes::sha1::Hash::borrow(&self) -> &[u8] +pub fn bitcoin_hashes::sha1::Hash::clone(&self) -> bitcoin_hashes::sha1::Hash +pub fn bitcoin_hashes::sha1::Hash::cmp(&self, other: &bitcoin_hashes::sha1::Hash) -> core::cmp::Ordering +pub fn bitcoin_hashes::sha1::Hash::deserialize>(d: D) -> core::result::Result::Error> +pub fn bitcoin_hashes::sha1::Hash::engine() -> bitcoin_hashes::sha1::HashEngine +pub fn bitcoin_hashes::sha1::Hash::eq(&self, other: &bitcoin_hashes::sha1::Hash) -> bool +pub fn bitcoin_hashes::sha1::Hash::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_hashes::sha1::Hash::from_byte_array(bytes: Self::Bytes) -> Self +pub fn bitcoin_hashes::sha1::Hash::from_bytes_mut(bytes: &mut [u8; 20]) -> &mut Self +pub fn bitcoin_hashes::sha1::Hash::from_bytes_ref(bytes: &[u8; 20]) -> &Self +pub fn bitcoin_hashes::sha1::Hash::from_engine(e: bitcoin_hashes::sha1::HashEngine) -> bitcoin_hashes::sha1::Hash +pub fn bitcoin_hashes::sha1::Hash::from_slice(sl: &[u8]) -> core::result::Result +pub fn bitcoin_hashes::sha1::Hash::from_str(s: &str) -> core::result::Result +pub fn bitcoin_hashes::sha1::Hash::hash(data: &[u8]) -> Self +pub fn bitcoin_hashes::sha1::Hash::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_hashes::sha1::Hash::hash_byte_chunks(byte_slices: I) -> Self where B: core::convert::AsRef<[u8]>, I: core::iter::traits::collect::IntoIterator +pub fn bitcoin_hashes::sha1::Hash::hash_reader(reader: &mut R) -> core::result::Result +pub fn bitcoin_hashes::sha1::Hash::partial_cmp(&self, other: &bitcoin_hashes::sha1::Hash) -> core::option::Option +pub fn bitcoin_hashes::sha1::Hash::serialize(&self, s: S) -> core::result::Result<::Ok, ::Error> +pub fn bitcoin_hashes::sha1::Hash::to_byte_array(self) -> Self::Bytes +pub fn bitcoin_hashes::sha1::HashEngine::clone(&self) -> bitcoin_hashes::sha1::HashEngine +pub fn bitcoin_hashes::sha1::HashEngine::default() -> Self +pub fn bitcoin_hashes::sha1::HashEngine::flush(&mut self) -> bitcoin_io::Result<()> +pub fn bitcoin_hashes::sha1::HashEngine::flush(&mut self) -> std::io::error::Result<()> +pub fn bitcoin_hashes::sha1::HashEngine::input(&mut self, inp: &[u8]) +pub fn bitcoin_hashes::sha1::HashEngine::n_bytes_hashed(&self) -> u64 +pub fn bitcoin_hashes::sha1::HashEngine::write(&mut self, buf: &[u8]) -> bitcoin_io::Result +pub fn bitcoin_hashes::sha1::HashEngine::write(&mut self, buf: &[u8]) -> std::io::error::Result +pub fn bitcoin_hashes::sha256::Hash::as_byte_array(&self) -> &Self::Bytes +pub fn bitcoin_hashes::sha256::Hash::as_ref(&self) -> &[u8; 32] +pub fn bitcoin_hashes::sha256::Hash::as_ref(&self) -> &[u8] +pub fn bitcoin_hashes::sha256::Hash::borrow(&self) -> &[u8; 32] +pub fn bitcoin_hashes::sha256::Hash::borrow(&self) -> &[u8] +pub fn bitcoin_hashes::sha256::Hash::clone(&self) -> bitcoin_hashes::sha256::Hash +pub fn bitcoin_hashes::sha256::Hash::cmp(&self, other: &bitcoin_hashes::sha256::Hash) -> core::cmp::Ordering +pub fn bitcoin_hashes::sha256::Hash::deserialize>(d: D) -> core::result::Result::Error> +pub fn bitcoin_hashes::sha256::Hash::engine() -> bitcoin_hashes::sha256::HashEngine +pub fn bitcoin_hashes::sha256::Hash::eq(&self, other: &bitcoin_hashes::sha256::Hash) -> bool +pub fn bitcoin_hashes::sha256::Hash::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_hashes::sha256::Hash::from_byte_array(bytes: Self::Bytes) -> Self +pub fn bitcoin_hashes::sha256::Hash::from_bytes_mut(bytes: &mut [u8; 32]) -> &mut Self +pub fn bitcoin_hashes::sha256::Hash::from_bytes_ref(bytes: &[u8; 32]) -> &Self +pub fn bitcoin_hashes::sha256::Hash::from_engine(e: bitcoin_hashes::sha256::HashEngine) -> bitcoin_hashes::sha256::Hash +pub fn bitcoin_hashes::sha256::Hash::from_slice(sl: &[u8]) -> core::result::Result +pub fn bitcoin_hashes::sha256::Hash::from_str(s: &str) -> core::result::Result +pub fn bitcoin_hashes::sha256::Hash::hash(data: &[u8]) -> Self +pub fn bitcoin_hashes::sha256::Hash::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_hashes::sha256::Hash::hash_again(&self) -> bitcoin_hashes::sha256d::Hash +pub fn bitcoin_hashes::sha256::Hash::hash_byte_chunks(byte_slices: I) -> Self where B: core::convert::AsRef<[u8]>, I: core::iter::traits::collect::IntoIterator +pub fn bitcoin_hashes::sha256::Hash::hash_reader(reader: &mut R) -> core::result::Result +pub fn bitcoin_hashes::sha256::Hash::partial_cmp(&self, other: &bitcoin_hashes::sha256::Hash) -> core::option::Option +pub fn bitcoin_hashes::sha256::Hash::serialize(&self, s: S) -> core::result::Result<::Ok, ::Error> +pub fn bitcoin_hashes::sha256::Hash::to_byte_array(self) -> Self::Bytes +pub fn bitcoin_hashes::sha256::HashEngine::clone(&self) -> bitcoin_hashes::sha256::HashEngine +pub fn bitcoin_hashes::sha256::HashEngine::default() -> Self +pub fn bitcoin_hashes::sha256::HashEngine::flush(&mut self) -> bitcoin_io::Result<()> +pub fn bitcoin_hashes::sha256::HashEngine::flush(&mut self) -> std::io::error::Result<()> +pub fn bitcoin_hashes::sha256::HashEngine::from_midstate(midstate: bitcoin_hashes::sha256::Midstate) -> bitcoin_hashes::sha256::HashEngine +pub fn bitcoin_hashes::sha256::HashEngine::input(&mut self, inp: &[u8]) +pub fn bitcoin_hashes::sha256::HashEngine::midstate(&self) -> core::result::Result +pub fn bitcoin_hashes::sha256::HashEngine::n_bytes_hashed(&self) -> u64 +pub fn bitcoin_hashes::sha256::HashEngine::write(&mut self, buf: &[u8]) -> bitcoin_io::Result +pub fn bitcoin_hashes::sha256::HashEngine::write(&mut self, buf: &[u8]) -> std::io::error::Result +pub fn bitcoin_hashes::sha256::Midstate::as_ref(&self) -> &[u8] +pub fn bitcoin_hashes::sha256::Midstate::clone(&self) -> bitcoin_hashes::sha256::Midstate +pub fn bitcoin_hashes::sha256::Midstate::cmp(&self, other: &bitcoin_hashes::sha256::Midstate) -> core::cmp::Ordering +pub fn bitcoin_hashes::sha256::Midstate::default() -> bitcoin_hashes::sha256::Midstate +pub fn bitcoin_hashes::sha256::Midstate::eq(&self, other: &bitcoin_hashes::sha256::Midstate) -> bool +pub fn bitcoin_hashes::sha256::Midstate::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_hashes::sha256::Midstate::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_hashes::sha256::Midstate::partial_cmp(&self, other: &bitcoin_hashes::sha256::Midstate) -> core::option::Option +pub fn bitcoin_hashes::sha256::MidstateError::clone(&self) -> bitcoin_hashes::sha256::MidstateError +pub fn bitcoin_hashes::sha256::MidstateError::eq(&self, other: &bitcoin_hashes::sha256::MidstateError) -> bool +pub fn bitcoin_hashes::sha256::MidstateError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_hashes::sha256d::Hash::as_byte_array(&self) -> &Self::Bytes +pub fn bitcoin_hashes::sha256d::Hash::as_ref(&self) -> &[u8; 32] +pub fn bitcoin_hashes::sha256d::Hash::as_ref(&self) -> &[u8] +pub fn bitcoin_hashes::sha256d::Hash::borrow(&self) -> &[u8; 32] +pub fn bitcoin_hashes::sha256d::Hash::borrow(&self) -> &[u8] +pub fn bitcoin_hashes::sha256d::Hash::clone(&self) -> bitcoin_hashes::sha256d::Hash +pub fn bitcoin_hashes::sha256d::Hash::cmp(&self, other: &bitcoin_hashes::sha256d::Hash) -> core::cmp::Ordering +pub fn bitcoin_hashes::sha256d::Hash::deserialize>(d: D) -> core::result::Result::Error> +pub fn bitcoin_hashes::sha256d::Hash::engine() -> bitcoin_hashes::sha256d::HashEngine +pub fn bitcoin_hashes::sha256d::Hash::eq(&self, other: &bitcoin_hashes::sha256d::Hash) -> bool +pub fn bitcoin_hashes::sha256d::Hash::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_hashes::sha256d::Hash::from_byte_array(bytes: Self::Bytes) -> Self +pub fn bitcoin_hashes::sha256d::Hash::from_bytes_mut(bytes: &mut [u8; 32]) -> &mut Self +pub fn bitcoin_hashes::sha256d::Hash::from_bytes_ref(bytes: &[u8; 32]) -> &Self +pub fn bitcoin_hashes::sha256d::Hash::from_engine(e: bitcoin_hashes::sha256d::HashEngine) -> bitcoin_hashes::sha256d::Hash +pub fn bitcoin_hashes::sha256d::Hash::from_slice(sl: &[u8]) -> core::result::Result +pub fn bitcoin_hashes::sha256d::Hash::from_str(s: &str) -> core::result::Result +pub fn bitcoin_hashes::sha256d::Hash::hash(data: &[u8]) -> Self +pub fn bitcoin_hashes::sha256d::Hash::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_hashes::sha256d::Hash::hash_byte_chunks(byte_slices: I) -> Self where B: core::convert::AsRef<[u8]>, I: core::iter::traits::collect::IntoIterator +pub fn bitcoin_hashes::sha256d::Hash::hash_reader(reader: &mut R) -> core::result::Result +pub fn bitcoin_hashes::sha256d::Hash::partial_cmp(&self, other: &bitcoin_hashes::sha256d::Hash) -> core::option::Option +pub fn bitcoin_hashes::sha256d::Hash::serialize(&self, s: S) -> core::result::Result<::Ok, ::Error> +pub fn bitcoin_hashes::sha256d::Hash::to_byte_array(self) -> Self::Bytes +pub fn bitcoin_hashes::sha256d::HashEngine::clone(&self) -> bitcoin_hashes::sha256d::HashEngine +pub fn bitcoin_hashes::sha256d::HashEngine::default() -> Self +pub fn bitcoin_hashes::sha256d::HashEngine::flush(&mut self) -> bitcoin_io::Result<()> +pub fn bitcoin_hashes::sha256d::HashEngine::flush(&mut self) -> std::io::error::Result<()> +pub fn bitcoin_hashes::sha256d::HashEngine::input(&mut self, data: &[u8]) +pub fn bitcoin_hashes::sha256d::HashEngine::n_bytes_hashed(&self) -> u64 +pub fn bitcoin_hashes::sha256d::HashEngine::write(&mut self, buf: &[u8]) -> bitcoin_io::Result +pub fn bitcoin_hashes::sha256d::HashEngine::write(&mut self, buf: &[u8]) -> std::io::error::Result +pub fn bitcoin_hashes::sha256t::Hash::as_byte_array(&self) -> &Self::Bytes +pub fn bitcoin_hashes::sha256t::Hash::as_ref(&self) -> &[u8; 32] +pub fn bitcoin_hashes::sha256t::Hash::as_ref(&self) -> &[u8] +pub fn bitcoin_hashes::sha256t::Hash::borrow(&self) -> &[u8; 32] +pub fn bitcoin_hashes::sha256t::Hash::borrow(&self) -> &[u8] +pub fn bitcoin_hashes::sha256t::Hash::clone(&self) -> Self +pub fn bitcoin_hashes::sha256t::Hash::cmp(&self, other: &bitcoin_hashes::sha256t::Hash) -> core::cmp::Ordering +pub fn bitcoin_hashes::sha256t::Hash::default() -> Self +pub fn bitcoin_hashes::sha256t::Hash::deserialize>(d: D) -> core::result::Result, ::Error> +pub fn bitcoin_hashes::sha256t::Hash::engine() -> bitcoin_hashes::sha256::HashEngine +pub fn bitcoin_hashes::sha256t::Hash::eq(&self, other: &bitcoin_hashes::sha256t::Hash) -> bool +pub fn bitcoin_hashes::sha256t::Hash::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_hashes::sha256t::Hash::from_byte_array(bytes: Self::Bytes) -> Self +pub fn bitcoin_hashes::sha256t::Hash::from_bytes_mut(bytes: &mut [u8; 32]) -> &mut Self +pub fn bitcoin_hashes::sha256t::Hash::from_bytes_ref(bytes: &[u8; 32]) -> &Self +pub fn bitcoin_hashes::sha256t::Hash::from_engine(e: bitcoin_hashes::sha256::HashEngine) -> bitcoin_hashes::sha256t::Hash +pub fn bitcoin_hashes::sha256t::Hash::from_slice(sl: &[u8]) -> core::result::Result, bitcoin_hashes::error::FromSliceError> +pub fn bitcoin_hashes::sha256t::Hash::from_str(s: &str) -> core::result::Result +pub fn bitcoin_hashes::sha256t::Hash::hash(data: &[u8]) -> Self +pub fn bitcoin_hashes::sha256t::Hash::hash(&self, h: &mut H) +pub fn bitcoin_hashes::sha256t::Hash::hash_byte_chunks(byte_slices: I) -> Self where B: core::convert::AsRef<[u8]>, I: core::iter::traits::collect::IntoIterator +pub fn bitcoin_hashes::sha256t::Hash::hash_reader(reader: &mut R) -> core::result::Result +pub fn bitcoin_hashes::sha256t::Hash::partial_cmp(&self, other: &bitcoin_hashes::sha256t::Hash) -> core::option::Option +pub fn bitcoin_hashes::sha256t::Hash::serialize(&self, s: S) -> core::result::Result<::Ok, ::Error> +pub fn bitcoin_hashes::sha256t::Hash::to_byte_array(self) -> Self::Bytes +pub fn bitcoin_hashes::sha256t::Tag::engine() -> bitcoin_hashes::sha256::HashEngine +pub fn bitcoin_hashes::sha384::Hash::as_byte_array(&self) -> &Self::Bytes +pub fn bitcoin_hashes::sha384::Hash::as_ref(&self) -> &[u8; 48] +pub fn bitcoin_hashes::sha384::Hash::as_ref(&self) -> &[u8] +pub fn bitcoin_hashes::sha384::Hash::borrow(&self) -> &[u8; 48] +pub fn bitcoin_hashes::sha384::Hash::borrow(&self) -> &[u8] +pub fn bitcoin_hashes::sha384::Hash::clone(&self) -> bitcoin_hashes::sha384::Hash +pub fn bitcoin_hashes::sha384::Hash::cmp(&self, other: &bitcoin_hashes::sha384::Hash) -> core::cmp::Ordering +pub fn bitcoin_hashes::sha384::Hash::deserialize>(d: D) -> core::result::Result::Error> +pub fn bitcoin_hashes::sha384::Hash::engine() -> bitcoin_hashes::sha384::HashEngine +pub fn bitcoin_hashes::sha384::Hash::eq(&self, other: &bitcoin_hashes::sha384::Hash) -> bool +pub fn bitcoin_hashes::sha384::Hash::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_hashes::sha384::Hash::from_byte_array(bytes: Self::Bytes) -> Self +pub fn bitcoin_hashes::sha384::Hash::from_bytes_mut(bytes: &mut [u8; 48]) -> &mut Self +pub fn bitcoin_hashes::sha384::Hash::from_bytes_ref(bytes: &[u8; 48]) -> &Self +pub fn bitcoin_hashes::sha384::Hash::from_engine(e: bitcoin_hashes::sha384::HashEngine) -> bitcoin_hashes::sha384::Hash +pub fn bitcoin_hashes::sha384::Hash::from_slice(sl: &[u8]) -> core::result::Result +pub fn bitcoin_hashes::sha384::Hash::from_str(s: &str) -> core::result::Result +pub fn bitcoin_hashes::sha384::Hash::hash(data: &[u8]) -> Self +pub fn bitcoin_hashes::sha384::Hash::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_hashes::sha384::Hash::hash_byte_chunks(byte_slices: I) -> Self where B: core::convert::AsRef<[u8]>, I: core::iter::traits::collect::IntoIterator +pub fn bitcoin_hashes::sha384::Hash::hash_reader(reader: &mut R) -> core::result::Result +pub fn bitcoin_hashes::sha384::Hash::partial_cmp(&self, other: &bitcoin_hashes::sha384::Hash) -> core::option::Option +pub fn bitcoin_hashes::sha384::Hash::serialize(&self, s: S) -> core::result::Result<::Ok, ::Error> +pub fn bitcoin_hashes::sha384::Hash::to_byte_array(self) -> Self::Bytes +pub fn bitcoin_hashes::sha384::HashEngine::clone(&self) -> bitcoin_hashes::sha384::HashEngine +pub fn bitcoin_hashes::sha384::HashEngine::default() -> Self +pub fn bitcoin_hashes::sha384::HashEngine::flush(&mut self) -> bitcoin_io::Result<()> +pub fn bitcoin_hashes::sha384::HashEngine::flush(&mut self) -> std::io::error::Result<()> +pub fn bitcoin_hashes::sha384::HashEngine::input(&mut self, inp: &[u8]) +pub fn bitcoin_hashes::sha384::HashEngine::n_bytes_hashed(&self) -> u64 +pub fn bitcoin_hashes::sha384::HashEngine::write(&mut self, buf: &[u8]) -> bitcoin_io::Result +pub fn bitcoin_hashes::sha384::HashEngine::write(&mut self, buf: &[u8]) -> std::io::error::Result +pub fn bitcoin_hashes::sha512::Hash::as_byte_array(&self) -> &Self::Bytes +pub fn bitcoin_hashes::sha512::Hash::as_ref(&self) -> &[u8; 64] +pub fn bitcoin_hashes::sha512::Hash::as_ref(&self) -> &[u8] +pub fn bitcoin_hashes::sha512::Hash::borrow(&self) -> &[u8; 64] +pub fn bitcoin_hashes::sha512::Hash::borrow(&self) -> &[u8] +pub fn bitcoin_hashes::sha512::Hash::clone(&self) -> bitcoin_hashes::sha512::Hash +pub fn bitcoin_hashes::sha512::Hash::cmp(&self, other: &bitcoin_hashes::sha512::Hash) -> core::cmp::Ordering +pub fn bitcoin_hashes::sha512::Hash::deserialize>(d: D) -> core::result::Result::Error> +pub fn bitcoin_hashes::sha512::Hash::engine() -> bitcoin_hashes::sha512::HashEngine +pub fn bitcoin_hashes::sha512::Hash::eq(&self, other: &bitcoin_hashes::sha512::Hash) -> bool +pub fn bitcoin_hashes::sha512::Hash::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_hashes::sha512::Hash::from_byte_array(bytes: Self::Bytes) -> Self +pub fn bitcoin_hashes::sha512::Hash::from_bytes_mut(bytes: &mut [u8; 64]) -> &mut Self +pub fn bitcoin_hashes::sha512::Hash::from_bytes_ref(bytes: &[u8; 64]) -> &Self +pub fn bitcoin_hashes::sha512::Hash::from_engine(e: bitcoin_hashes::sha512::HashEngine) -> bitcoin_hashes::sha512::Hash +pub fn bitcoin_hashes::sha512::Hash::from_slice(sl: &[u8]) -> core::result::Result +pub fn bitcoin_hashes::sha512::Hash::from_str(s: &str) -> core::result::Result +pub fn bitcoin_hashes::sha512::Hash::hash(data: &[u8]) -> Self +pub fn bitcoin_hashes::sha512::Hash::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_hashes::sha512::Hash::hash_byte_chunks(byte_slices: I) -> Self where B: core::convert::AsRef<[u8]>, I: core::iter::traits::collect::IntoIterator +pub fn bitcoin_hashes::sha512::Hash::hash_reader(reader: &mut R) -> core::result::Result +pub fn bitcoin_hashes::sha512::Hash::partial_cmp(&self, other: &bitcoin_hashes::sha512::Hash) -> core::option::Option +pub fn bitcoin_hashes::sha512::Hash::serialize(&self, s: S) -> core::result::Result<::Ok, ::Error> +pub fn bitcoin_hashes::sha512::Hash::to_byte_array(self) -> Self::Bytes +pub fn bitcoin_hashes::sha512::HashEngine::clone(&self) -> bitcoin_hashes::sha512::HashEngine +pub fn bitcoin_hashes::sha512::HashEngine::default() -> Self +pub fn bitcoin_hashes::sha512::HashEngine::flush(&mut self) -> bitcoin_io::Result<()> +pub fn bitcoin_hashes::sha512::HashEngine::flush(&mut self) -> std::io::error::Result<()> +pub fn bitcoin_hashes::sha512::HashEngine::input(&mut self, inp: &[u8]) +pub fn bitcoin_hashes::sha512::HashEngine::n_bytes_hashed(&self) -> u64 +pub fn bitcoin_hashes::sha512::HashEngine::write(&mut self, buf: &[u8]) -> bitcoin_io::Result +pub fn bitcoin_hashes::sha512::HashEngine::write(&mut self, buf: &[u8]) -> std::io::error::Result +pub fn bitcoin_hashes::sha512_256::Hash::as_byte_array(&self) -> &Self::Bytes +pub fn bitcoin_hashes::sha512_256::Hash::as_ref(&self) -> &[u8; 32] +pub fn bitcoin_hashes::sha512_256::Hash::as_ref(&self) -> &[u8] +pub fn bitcoin_hashes::sha512_256::Hash::borrow(&self) -> &[u8; 32] +pub fn bitcoin_hashes::sha512_256::Hash::borrow(&self) -> &[u8] +pub fn bitcoin_hashes::sha512_256::Hash::clone(&self) -> bitcoin_hashes::sha512_256::Hash +pub fn bitcoin_hashes::sha512_256::Hash::cmp(&self, other: &bitcoin_hashes::sha512_256::Hash) -> core::cmp::Ordering +pub fn bitcoin_hashes::sha512_256::Hash::deserialize>(d: D) -> core::result::Result::Error> +pub fn bitcoin_hashes::sha512_256::Hash::engine() -> bitcoin_hashes::sha512_256::HashEngine +pub fn bitcoin_hashes::sha512_256::Hash::eq(&self, other: &bitcoin_hashes::sha512_256::Hash) -> bool +pub fn bitcoin_hashes::sha512_256::Hash::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_hashes::sha512_256::Hash::from_byte_array(bytes: Self::Bytes) -> Self +pub fn bitcoin_hashes::sha512_256::Hash::from_bytes_mut(bytes: &mut [u8; 32]) -> &mut Self +pub fn bitcoin_hashes::sha512_256::Hash::from_bytes_ref(bytes: &[u8; 32]) -> &Self +pub fn bitcoin_hashes::sha512_256::Hash::from_engine(e: bitcoin_hashes::sha512_256::HashEngine) -> bitcoin_hashes::sha512_256::Hash +pub fn bitcoin_hashes::sha512_256::Hash::from_slice(sl: &[u8]) -> core::result::Result +pub fn bitcoin_hashes::sha512_256::Hash::from_str(s: &str) -> core::result::Result +pub fn bitcoin_hashes::sha512_256::Hash::hash(data: &[u8]) -> Self +pub fn bitcoin_hashes::sha512_256::Hash::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_hashes::sha512_256::Hash::hash_byte_chunks(byte_slices: I) -> Self where B: core::convert::AsRef<[u8]>, I: core::iter::traits::collect::IntoIterator +pub fn bitcoin_hashes::sha512_256::Hash::hash_reader(reader: &mut R) -> core::result::Result +pub fn bitcoin_hashes::sha512_256::Hash::partial_cmp(&self, other: &bitcoin_hashes::sha512_256::Hash) -> core::option::Option +pub fn bitcoin_hashes::sha512_256::Hash::serialize(&self, s: S) -> core::result::Result<::Ok, ::Error> +pub fn bitcoin_hashes::sha512_256::Hash::to_byte_array(self) -> Self::Bytes +pub fn bitcoin_hashes::sha512_256::HashEngine::clone(&self) -> bitcoin_hashes::sha512_256::HashEngine +pub fn bitcoin_hashes::sha512_256::HashEngine::default() -> Self +pub fn bitcoin_hashes::sha512_256::HashEngine::flush(&mut self) -> bitcoin_io::Result<()> +pub fn bitcoin_hashes::sha512_256::HashEngine::flush(&mut self) -> std::io::error::Result<()> +pub fn bitcoin_hashes::sha512_256::HashEngine::input(&mut self, inp: &[u8]) +pub fn bitcoin_hashes::sha512_256::HashEngine::n_bytes_hashed(&self) -> u64 +pub fn bitcoin_hashes::sha512_256::HashEngine::write(&mut self, buf: &[u8]) -> bitcoin_io::Result +pub fn bitcoin_hashes::sha512_256::HashEngine::write(&mut self, buf: &[u8]) -> std::io::error::Result +pub fn bitcoin_hashes::siphash24::Hash::as_byte_array(&self) -> &Self::Bytes +pub fn bitcoin_hashes::siphash24::Hash::as_ref(&self) -> &[u8; 8] +pub fn bitcoin_hashes::siphash24::Hash::as_ref(&self) -> &[u8] +pub fn bitcoin_hashes::siphash24::Hash::as_u64(&self) -> u64 +pub fn bitcoin_hashes::siphash24::Hash::borrow(&self) -> &[u8; 8] +pub fn bitcoin_hashes::siphash24::Hash::borrow(&self) -> &[u8] +pub fn bitcoin_hashes::siphash24::Hash::clone(&self) -> bitcoin_hashes::siphash24::Hash +pub fn bitcoin_hashes::siphash24::Hash::cmp(&self, other: &bitcoin_hashes::siphash24::Hash) -> core::cmp::Ordering +pub fn bitcoin_hashes::siphash24::Hash::deserialize>(d: D) -> core::result::Result::Error> +pub fn bitcoin_hashes::siphash24::Hash::eq(&self, other: &bitcoin_hashes::siphash24::Hash) -> bool +pub fn bitcoin_hashes::siphash24::Hash::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_hashes::siphash24::Hash::from_byte_array(bytes: Self::Bytes) -> Self +pub fn bitcoin_hashes::siphash24::Hash::from_bytes_mut(bytes: &mut [u8; 8]) -> &mut Self +pub fn bitcoin_hashes::siphash24::Hash::from_bytes_ref(bytes: &[u8; 8]) -> &Self +pub fn bitcoin_hashes::siphash24::Hash::from_engine(e: bitcoin_hashes::siphash24::HashEngine) -> bitcoin_hashes::siphash24::Hash +pub fn bitcoin_hashes::siphash24::Hash::from_engine_to_u64(e: bitcoin_hashes::siphash24::HashEngine) -> u64 +pub fn bitcoin_hashes::siphash24::Hash::from_slice(sl: &[u8]) -> core::result::Result +pub fn bitcoin_hashes::siphash24::Hash::from_str(s: &str) -> core::result::Result +pub fn bitcoin_hashes::siphash24::Hash::from_u64(hash: u64) -> bitcoin_hashes::siphash24::Hash +pub fn bitcoin_hashes::siphash24::Hash::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_hashes::siphash24::Hash::hash_to_u64_with_keys(k0: u64, k1: u64, data: &[u8]) -> u64 +pub fn bitcoin_hashes::siphash24::Hash::hash_with_keys(k0: u64, k1: u64, data: &[u8]) -> bitcoin_hashes::siphash24::Hash +pub fn bitcoin_hashes::siphash24::Hash::partial_cmp(&self, other: &bitcoin_hashes::siphash24::Hash) -> core::option::Option +pub fn bitcoin_hashes::siphash24::Hash::serialize(&self, s: S) -> core::result::Result<::Ok, ::Error> +pub fn bitcoin_hashes::siphash24::Hash::to_byte_array(self) -> Self::Bytes +pub fn bitcoin_hashes::siphash24::Hash::to_u64(self) -> u64 +pub fn bitcoin_hashes::siphash24::HashEngine::clone(&self) -> bitcoin_hashes::siphash24::HashEngine +pub fn bitcoin_hashes::siphash24::HashEngine::flush(&mut self) -> bitcoin_io::Result<()> +pub fn bitcoin_hashes::siphash24::HashEngine::flush(&mut self) -> std::io::error::Result<()> +pub fn bitcoin_hashes::siphash24::HashEngine::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_hashes::siphash24::HashEngine::input(&mut self, msg: &[u8]) +pub fn bitcoin_hashes::siphash24::HashEngine::keys(&self) -> (u64, u64) +pub fn bitcoin_hashes::siphash24::HashEngine::n_bytes_hashed(&self) -> u64 +pub fn bitcoin_hashes::siphash24::HashEngine::write(&mut self, buf: &[u8]) -> bitcoin_io::Result +pub fn bitcoin_hashes::siphash24::HashEngine::write(&mut self, buf: &[u8]) -> std::io::error::Result +pub fn bitcoin_hashes::siphash24::State::clone(&self) -> bitcoin_hashes::siphash24::State +pub fn bitcoin_hashes::siphash24::State::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub macro bitcoin_hashes::hash_newtype! +pub macro bitcoin_hashes::impl_debug_only_for_newtype! +pub macro bitcoin_hashes::impl_hex_for_newtype! +pub macro bitcoin_hashes::impl_serde_for_newtype! +pub macro bitcoin_hashes::sha256t_hash_newtype! +pub macro bitcoin_hashes::sha256t_tag! +pub mod bitcoin_hashes +pub mod bitcoin_hashes::cmp +pub mod bitcoin_hashes::error +pub mod bitcoin_hashes::hash160 +pub mod bitcoin_hashes::hkdf +pub mod bitcoin_hashes::hmac +pub mod bitcoin_hashes::macros +pub mod bitcoin_hashes::macros::serde_details +pub mod bitcoin_hashes::ripemd160 +pub mod bitcoin_hashes::serde_macros +pub mod bitcoin_hashes::serde_macros::serde_details +pub mod bitcoin_hashes::sha1 +pub mod bitcoin_hashes::sha256 +pub mod bitcoin_hashes::sha256d +pub mod bitcoin_hashes::sha256t +pub mod bitcoin_hashes::sha384 +pub mod bitcoin_hashes::sha512 +pub mod bitcoin_hashes::sha512_256 +pub mod bitcoin_hashes::siphash24 +pub struct bitcoin_hashes::FromSliceError(_) +pub struct bitcoin_hashes::Hkdf +pub struct bitcoin_hashes::HmacEngine +pub struct bitcoin_hashes::error::FromSliceError(_) +pub struct bitcoin_hashes::hash160::HashEngine(_) +pub struct bitcoin_hashes::hkdf::Hkdf +pub struct bitcoin_hashes::hkdf::MaxLengthError +pub struct bitcoin_hashes::hmac::HmacEngine +pub struct bitcoin_hashes::macros::serde_details::BytesVisitor(_) +pub struct bitcoin_hashes::macros::serde_details::HexVisitor(_) +pub struct bitcoin_hashes::ripemd160::HashEngine +pub struct bitcoin_hashes::serde_macros::serde_details::BytesVisitor(_) +pub struct bitcoin_hashes::serde_macros::serde_details::HexVisitor(_) +pub struct bitcoin_hashes::sha1::HashEngine +pub struct bitcoin_hashes::sha256::HashEngine +pub struct bitcoin_hashes::sha256::Midstate +pub struct bitcoin_hashes::sha256::MidstateError +pub struct bitcoin_hashes::sha256d::HashEngine(_) +pub struct bitcoin_hashes::sha384::HashEngine(_) +pub struct bitcoin_hashes::sha512::HashEngine +pub struct bitcoin_hashes::sha512_256::HashEngine(_) +pub struct bitcoin_hashes::siphash24::HashEngine +pub struct bitcoin_hashes::siphash24::State +pub trait bitcoin_hashes::GeneralHash: bitcoin_hashes::Hash +pub trait bitcoin_hashes::Hash: core::marker::Copy + core::clone::Clone + core::cmp::PartialEq + core::cmp::Eq + core::cmp::PartialOrd + core::cmp::Ord + core::hash::Hash + core::convert::AsRef<[u8]> +pub trait bitcoin_hashes::HashEngine: core::clone::Clone +pub trait bitcoin_hashes::IsByteArray: core::convert::AsRef<[u8]> + sealed::IsByteArray +pub trait bitcoin_hashes::sha256t::Tag +pub type bitcoin_hashes::GeneralHash::Engine: bitcoin_hashes::HashEngine +pub type bitcoin_hashes::Hash::Bytes: core::marker::Copy + bitcoin_hashes::IsByteArray +pub type bitcoin_hashes::HkdfSha256 = bitcoin_hashes::hkdf::Hkdf +pub type bitcoin_hashes::HkdfSha512 = bitcoin_hashes::hkdf::Hkdf +pub type bitcoin_hashes::HmacSha256 = bitcoin_hashes::hmac::Hmac +pub type bitcoin_hashes::HmacSha512 = bitcoin_hashes::hmac::Hmac +pub type bitcoin_hashes::Sha256t = bitcoin_hashes::sha256t::Hash +pub type bitcoin_hashes::hash160::Hash::Bytes = [u8; 20] +pub type bitcoin_hashes::hash160::Hash::Engine = bitcoin_hashes::hash160::HashEngine +pub type bitcoin_hashes::hash160::Hash::Err = hex_conservative::error::HexToArrayError +pub type bitcoin_hashes::hmac::Hmac::Bytes = ::Bytes +pub type bitcoin_hashes::hmac::Hmac::Engine = bitcoin_hashes::hmac::HmacEngine +pub type bitcoin_hashes::hmac::Hmac::Err = ::Err +pub type bitcoin_hashes::macros::serde_details::BytesVisitor::Value = ValueT +pub type bitcoin_hashes::macros::serde_details::HexVisitor::Value = ValueT +pub type bitcoin_hashes::ripemd160::Hash::Bytes = [u8; 20] +pub type bitcoin_hashes::ripemd160::Hash::Engine = bitcoin_hashes::ripemd160::HashEngine +pub type bitcoin_hashes::ripemd160::Hash::Err = hex_conservative::error::HexToArrayError +pub type bitcoin_hashes::sha1::Hash::Bytes = [u8; 20] +pub type bitcoin_hashes::sha1::Hash::Engine = bitcoin_hashes::sha1::HashEngine +pub type bitcoin_hashes::sha1::Hash::Err = hex_conservative::error::HexToArrayError +pub type bitcoin_hashes::sha256::Hash::Bytes = [u8; 32] +pub type bitcoin_hashes::sha256::Hash::Engine = bitcoin_hashes::sha256::HashEngine +pub type bitcoin_hashes::sha256::Hash::Err = hex_conservative::error::HexToArrayError +pub type bitcoin_hashes::sha256d::Hash::Bytes = [u8; 32] +pub type bitcoin_hashes::sha256d::Hash::Engine = bitcoin_hashes::sha256d::HashEngine +pub type bitcoin_hashes::sha256d::Hash::Err = hex_conservative::error::HexToArrayError +pub type bitcoin_hashes::sha256t::Hash::Bytes = [u8; 32] +pub type bitcoin_hashes::sha256t::Hash::Engine = bitcoin_hashes::sha256::HashEngine +pub type bitcoin_hashes::sha256t::Hash::Err = hex_conservative::error::HexToArrayError +pub type bitcoin_hashes::sha384::Hash::Bytes = [u8; 48] +pub type bitcoin_hashes::sha384::Hash::Engine = bitcoin_hashes::sha384::HashEngine +pub type bitcoin_hashes::sha384::Hash::Err = hex_conservative::error::HexToArrayError +pub type bitcoin_hashes::sha512::Hash::Bytes = [u8; 64] +pub type bitcoin_hashes::sha512::Hash::Engine = bitcoin_hashes::sha512::HashEngine +pub type bitcoin_hashes::sha512::Hash::Err = hex_conservative::error::HexToArrayError +pub type bitcoin_hashes::sha512_256::Hash::Bytes = [u8; 32] +pub type bitcoin_hashes::sha512_256::Hash::Engine = bitcoin_hashes::sha512_256::HashEngine +pub type bitcoin_hashes::sha512_256::Hash::Err = hex_conservative::error::HexToArrayError +pub type bitcoin_hashes::siphash24::Hash::Bytes = [u8; 8] +pub type bitcoin_hashes::siphash24::Hash::Engine = bitcoin_hashes::siphash24::HashEngine +pub type bitcoin_hashes::siphash24::Hash::Err = hex_conservative::error::HexToArrayError diff --git a/api/hashes/alloc-only.txt b/api/hashes/alloc-only.txt new file mode 100644 index 0000000000..50246e2d43 --- /dev/null +++ b/api/hashes/alloc-only.txt @@ -0,0 +1,945 @@ +#[repr(transparent)] pub struct bitcoin_hashes::Hash160(_) +#[repr(transparent)] pub struct bitcoin_hashes::Hmac(_) +#[repr(transparent)] pub struct bitcoin_hashes::Ripemd160(_) +#[repr(transparent)] pub struct bitcoin_hashes::Sha1(_) +#[repr(transparent)] pub struct bitcoin_hashes::Sha256(_) +#[repr(transparent)] pub struct bitcoin_hashes::Sha256d(_) +#[repr(transparent)] pub struct bitcoin_hashes::Sha384(_) +#[repr(transparent)] pub struct bitcoin_hashes::Sha512(_) +#[repr(transparent)] pub struct bitcoin_hashes::Sha512_256(_) +#[repr(transparent)] pub struct bitcoin_hashes::Siphash24(_) +#[repr(transparent)] pub struct bitcoin_hashes::hash160::Hash(_) +#[repr(transparent)] pub struct bitcoin_hashes::hmac::Hmac(_) +#[repr(transparent)] pub struct bitcoin_hashes::ripemd160::Hash(_) +#[repr(transparent)] pub struct bitcoin_hashes::sha1::Hash(_) +#[repr(transparent)] pub struct bitcoin_hashes::sha256::Hash(_) +#[repr(transparent)] pub struct bitcoin_hashes::sha256d::Hash(_) +#[repr(transparent)] pub struct bitcoin_hashes::sha256t::Hash(_, _) +#[repr(transparent)] pub struct bitcoin_hashes::sha384::Hash(_) +#[repr(transparent)] pub struct bitcoin_hashes::sha512::Hash(_) +#[repr(transparent)] pub struct bitcoin_hashes::sha512_256::Hash(_) +#[repr(transparent)] pub struct bitcoin_hashes::siphash24::Hash(_) +impl bitcoin_hashes::GeneralHash for bitcoin_hashes::hash160::Hash +impl bitcoin_hashes::GeneralHash for bitcoin_hashes::ripemd160::Hash +impl bitcoin_hashes::GeneralHash for bitcoin_hashes::sha1::Hash +impl bitcoin_hashes::GeneralHash for bitcoin_hashes::sha256::Hash +impl bitcoin_hashes::GeneralHash for bitcoin_hashes::sha256d::Hash +impl bitcoin_hashes::GeneralHash for bitcoin_hashes::sha384::Hash +impl bitcoin_hashes::GeneralHash for bitcoin_hashes::sha512::Hash +impl bitcoin_hashes::GeneralHash for bitcoin_hashes::sha512_256::Hash +impl bitcoin_hashes::GeneralHash for bitcoin_hashes::siphash24::Hash +impl bitcoin_hashes::Hash for bitcoin_hashes::hash160::Hash +impl bitcoin_hashes::Hash for bitcoin_hashes::ripemd160::Hash +impl bitcoin_hashes::Hash for bitcoin_hashes::sha1::Hash +impl bitcoin_hashes::Hash for bitcoin_hashes::sha256::Hash +impl bitcoin_hashes::Hash for bitcoin_hashes::sha256d::Hash +impl bitcoin_hashes::Hash for bitcoin_hashes::sha384::Hash +impl bitcoin_hashes::Hash for bitcoin_hashes::sha512::Hash +impl bitcoin_hashes::Hash for bitcoin_hashes::sha512_256::Hash +impl bitcoin_hashes::Hash for bitcoin_hashes::siphash24::Hash +impl bitcoin_hashes::HashEngine for bitcoin_hashes::hash160::HashEngine +impl bitcoin_hashes::HashEngine for bitcoin_hashes::ripemd160::HashEngine +impl bitcoin_hashes::HashEngine for bitcoin_hashes::sha1::HashEngine +impl bitcoin_hashes::HashEngine for bitcoin_hashes::sha256::HashEngine +impl bitcoin_hashes::HashEngine for bitcoin_hashes::sha256d::HashEngine +impl bitcoin_hashes::HashEngine for bitcoin_hashes::sha384::HashEngine +impl bitcoin_hashes::HashEngine for bitcoin_hashes::sha512::HashEngine +impl bitcoin_hashes::HashEngine for bitcoin_hashes::sha512_256::HashEngine +impl bitcoin_hashes::HashEngine for bitcoin_hashes::siphash24::HashEngine +impl bitcoin_hashes::error::FromSliceError +impl bitcoin_hashes::hash160::Hash +impl bitcoin_hashes::hash160::HashEngine +impl bitcoin_hashes::ripemd160::Hash +impl bitcoin_hashes::ripemd160::HashEngine +impl bitcoin_hashes::sha1::Hash +impl bitcoin_hashes::sha1::HashEngine +impl bitcoin_hashes::sha256::Hash +impl bitcoin_hashes::sha256::HashEngine +impl bitcoin_hashes::sha256::Midstate +impl bitcoin_hashes::sha256d::Hash +impl bitcoin_hashes::sha256d::HashEngine +impl bitcoin_hashes::sha384::Hash +impl bitcoin_hashes::sha384::HashEngine +impl bitcoin_hashes::sha512::Hash +impl bitcoin_hashes::sha512::HashEngine +impl bitcoin_hashes::sha512_256::Hash +impl bitcoin_hashes::sha512_256::HashEngine +impl bitcoin_hashes::siphash24::Hash +impl bitcoin_hashes::siphash24::HashEngine +impl core::borrow::Borrow<[u8; 20]> for bitcoin_hashes::hash160::Hash +impl core::borrow::Borrow<[u8; 20]> for bitcoin_hashes::ripemd160::Hash +impl core::borrow::Borrow<[u8; 20]> for bitcoin_hashes::sha1::Hash +impl core::borrow::Borrow<[u8; 32]> for bitcoin_hashes::sha256::Hash +impl core::borrow::Borrow<[u8; 32]> for bitcoin_hashes::sha256d::Hash +impl core::borrow::Borrow<[u8; 32]> for bitcoin_hashes::sha512_256::Hash +impl core::borrow::Borrow<[u8; 48]> for bitcoin_hashes::sha384::Hash +impl core::borrow::Borrow<[u8; 64]> for bitcoin_hashes::sha512::Hash +impl core::borrow::Borrow<[u8; 8]> for bitcoin_hashes::siphash24::Hash +impl core::borrow::Borrow<[u8]> for bitcoin_hashes::hash160::Hash +impl core::borrow::Borrow<[u8]> for bitcoin_hashes::ripemd160::Hash +impl core::borrow::Borrow<[u8]> for bitcoin_hashes::sha1::Hash +impl core::borrow::Borrow<[u8]> for bitcoin_hashes::sha256::Hash +impl core::borrow::Borrow<[u8]> for bitcoin_hashes::sha256d::Hash +impl core::borrow::Borrow<[u8]> for bitcoin_hashes::sha384::Hash +impl core::borrow::Borrow<[u8]> for bitcoin_hashes::sha512::Hash +impl core::borrow::Borrow<[u8]> for bitcoin_hashes::sha512_256::Hash +impl core::borrow::Borrow<[u8]> for bitcoin_hashes::siphash24::Hash +impl core::clone::Clone for bitcoin_hashes::error::FromSliceError +impl core::clone::Clone for bitcoin_hashes::hash160::Hash +impl core::clone::Clone for bitcoin_hashes::hash160::HashEngine +impl core::clone::Clone for bitcoin_hashes::hkdf::MaxLengthError +impl core::clone::Clone for bitcoin_hashes::ripemd160::Hash +impl core::clone::Clone for bitcoin_hashes::ripemd160::HashEngine +impl core::clone::Clone for bitcoin_hashes::sha1::Hash +impl core::clone::Clone for bitcoin_hashes::sha1::HashEngine +impl core::clone::Clone for bitcoin_hashes::sha256::Hash +impl core::clone::Clone for bitcoin_hashes::sha256::HashEngine +impl core::clone::Clone for bitcoin_hashes::sha256::Midstate +impl core::clone::Clone for bitcoin_hashes::sha256::MidstateError +impl core::clone::Clone for bitcoin_hashes::sha256d::Hash +impl core::clone::Clone for bitcoin_hashes::sha256d::HashEngine +impl core::clone::Clone for bitcoin_hashes::sha384::Hash +impl core::clone::Clone for bitcoin_hashes::sha384::HashEngine +impl core::clone::Clone for bitcoin_hashes::sha512::Hash +impl core::clone::Clone for bitcoin_hashes::sha512::HashEngine +impl core::clone::Clone for bitcoin_hashes::sha512_256::Hash +impl core::clone::Clone for bitcoin_hashes::sha512_256::HashEngine +impl core::clone::Clone for bitcoin_hashes::siphash24::Hash +impl core::clone::Clone for bitcoin_hashes::siphash24::HashEngine +impl core::clone::Clone for bitcoin_hashes::siphash24::State +impl core::cmp::Eq for bitcoin_hashes::error::FromSliceError +impl core::cmp::Eq for bitcoin_hashes::hash160::Hash +impl core::cmp::Eq for bitcoin_hashes::hkdf::MaxLengthError +impl core::cmp::Eq for bitcoin_hashes::ripemd160::Hash +impl core::cmp::Eq for bitcoin_hashes::sha1::Hash +impl core::cmp::Eq for bitcoin_hashes::sha256::Hash +impl core::cmp::Eq for bitcoin_hashes::sha256::Midstate +impl core::cmp::Eq for bitcoin_hashes::sha256::MidstateError +impl core::cmp::Eq for bitcoin_hashes::sha256d::Hash +impl core::cmp::Eq for bitcoin_hashes::sha384::Hash +impl core::cmp::Eq for bitcoin_hashes::sha512::Hash +impl core::cmp::Eq for bitcoin_hashes::sha512_256::Hash +impl core::cmp::Eq for bitcoin_hashes::siphash24::Hash +impl core::cmp::Ord for bitcoin_hashes::hash160::Hash +impl core::cmp::Ord for bitcoin_hashes::ripemd160::Hash +impl core::cmp::Ord for bitcoin_hashes::sha1::Hash +impl core::cmp::Ord for bitcoin_hashes::sha256::Hash +impl core::cmp::Ord for bitcoin_hashes::sha256::Midstate +impl core::cmp::Ord for bitcoin_hashes::sha256d::Hash +impl core::cmp::Ord for bitcoin_hashes::sha384::Hash +impl core::cmp::Ord for bitcoin_hashes::sha512::Hash +impl core::cmp::Ord for bitcoin_hashes::sha512_256::Hash +impl core::cmp::Ord for bitcoin_hashes::siphash24::Hash +impl core::cmp::PartialEq for bitcoin_hashes::error::FromSliceError +impl core::cmp::PartialEq for bitcoin_hashes::hash160::Hash +impl core::cmp::PartialEq for bitcoin_hashes::hkdf::MaxLengthError +impl core::cmp::PartialEq for bitcoin_hashes::ripemd160::Hash +impl core::cmp::PartialEq for bitcoin_hashes::sha1::Hash +impl core::cmp::PartialEq for bitcoin_hashes::sha256::Hash +impl core::cmp::PartialEq for bitcoin_hashes::sha256::Midstate +impl core::cmp::PartialEq for bitcoin_hashes::sha256::MidstateError +impl core::cmp::PartialEq for bitcoin_hashes::sha256d::Hash +impl core::cmp::PartialEq for bitcoin_hashes::sha384::Hash +impl core::cmp::PartialEq for bitcoin_hashes::sha512::Hash +impl core::cmp::PartialEq for bitcoin_hashes::sha512_256::Hash +impl core::cmp::PartialEq for bitcoin_hashes::siphash24::Hash +impl core::cmp::PartialOrd for bitcoin_hashes::hash160::Hash +impl core::cmp::PartialOrd for bitcoin_hashes::ripemd160::Hash +impl core::cmp::PartialOrd for bitcoin_hashes::sha1::Hash +impl core::cmp::PartialOrd for bitcoin_hashes::sha256::Hash +impl core::cmp::PartialOrd for bitcoin_hashes::sha256::Midstate +impl core::cmp::PartialOrd for bitcoin_hashes::sha256d::Hash +impl core::cmp::PartialOrd for bitcoin_hashes::sha384::Hash +impl core::cmp::PartialOrd for bitcoin_hashes::sha512::Hash +impl core::cmp::PartialOrd for bitcoin_hashes::sha512_256::Hash +impl core::cmp::PartialOrd for bitcoin_hashes::siphash24::Hash +impl core::convert::AsRef<[u8; 20]> for bitcoin_hashes::hash160::Hash +impl core::convert::AsRef<[u8; 20]> for bitcoin_hashes::ripemd160::Hash +impl core::convert::AsRef<[u8; 20]> for bitcoin_hashes::sha1::Hash +impl core::convert::AsRef<[u8; 32]> for bitcoin_hashes::sha256::Hash +impl core::convert::AsRef<[u8; 32]> for bitcoin_hashes::sha256d::Hash +impl core::convert::AsRef<[u8; 32]> for bitcoin_hashes::sha512_256::Hash +impl core::convert::AsRef<[u8; 48]> for bitcoin_hashes::sha384::Hash +impl core::convert::AsRef<[u8; 64]> for bitcoin_hashes::sha512::Hash +impl core::convert::AsRef<[u8; 8]> for bitcoin_hashes::siphash24::Hash +impl core::convert::AsRef<[u8]> for bitcoin_hashes::hash160::Hash +impl core::convert::AsRef<[u8]> for bitcoin_hashes::ripemd160::Hash +impl core::convert::AsRef<[u8]> for bitcoin_hashes::sha1::Hash +impl core::convert::AsRef<[u8]> for bitcoin_hashes::sha256::Hash +impl core::convert::AsRef<[u8]> for bitcoin_hashes::sha256::Midstate +impl core::convert::AsRef<[u8]> for bitcoin_hashes::sha256d::Hash +impl core::convert::AsRef<[u8]> for bitcoin_hashes::sha384::Hash +impl core::convert::AsRef<[u8]> for bitcoin_hashes::sha512::Hash +impl core::convert::AsRef<[u8]> for bitcoin_hashes::sha512_256::Hash +impl core::convert::AsRef<[u8]> for bitcoin_hashes::siphash24::Hash +impl core::convert::From for bitcoin_hashes::error::FromSliceError +impl core::default::Default for bitcoin_hashes::hash160::HashEngine +impl core::default::Default for bitcoin_hashes::ripemd160::HashEngine +impl core::default::Default for bitcoin_hashes::sha1::HashEngine +impl core::default::Default for bitcoin_hashes::sha256::HashEngine +impl core::default::Default for bitcoin_hashes::sha256::Midstate +impl core::default::Default for bitcoin_hashes::sha256d::HashEngine +impl core::default::Default for bitcoin_hashes::sha384::HashEngine +impl core::default::Default for bitcoin_hashes::sha512::HashEngine +impl core::default::Default for bitcoin_hashes::sha512_256::HashEngine +impl core::fmt::Debug for bitcoin_hashes::error::FromSliceError +impl core::fmt::Debug for bitcoin_hashes::hash160::Hash +impl core::fmt::Debug for bitcoin_hashes::hkdf::MaxLengthError +impl core::fmt::Debug for bitcoin_hashes::ripemd160::Hash +impl core::fmt::Debug for bitcoin_hashes::sha1::Hash +impl core::fmt::Debug for bitcoin_hashes::sha256::Hash +impl core::fmt::Debug for bitcoin_hashes::sha256::Midstate +impl core::fmt::Debug for bitcoin_hashes::sha256::MidstateError +impl core::fmt::Debug for bitcoin_hashes::sha256d::Hash +impl core::fmt::Debug for bitcoin_hashes::sha384::Hash +impl core::fmt::Debug for bitcoin_hashes::sha512::Hash +impl core::fmt::Debug for bitcoin_hashes::sha512_256::Hash +impl core::fmt::Debug for bitcoin_hashes::siphash24::Hash +impl core::fmt::Debug for bitcoin_hashes::siphash24::HashEngine +impl core::fmt::Debug for bitcoin_hashes::siphash24::State +impl core::fmt::Display for bitcoin_hashes::error::FromSliceError +impl core::fmt::Display for bitcoin_hashes::hash160::Hash +impl core::fmt::Display for bitcoin_hashes::hkdf::MaxLengthError +impl core::fmt::Display for bitcoin_hashes::ripemd160::Hash +impl core::fmt::Display for bitcoin_hashes::sha1::Hash +impl core::fmt::Display for bitcoin_hashes::sha256::Hash +impl core::fmt::Display for bitcoin_hashes::sha256::MidstateError +impl core::fmt::Display for bitcoin_hashes::sha256d::Hash +impl core::fmt::Display for bitcoin_hashes::sha384::Hash +impl core::fmt::Display for bitcoin_hashes::sha512::Hash +impl core::fmt::Display for bitcoin_hashes::sha512_256::Hash +impl core::fmt::Display for bitcoin_hashes::siphash24::Hash +impl core::fmt::LowerHex for bitcoin_hashes::hash160::Hash +impl core::fmt::LowerHex for bitcoin_hashes::ripemd160::Hash +impl core::fmt::LowerHex for bitcoin_hashes::sha1::Hash +impl core::fmt::LowerHex for bitcoin_hashes::sha256::Hash +impl core::fmt::LowerHex for bitcoin_hashes::sha256d::Hash +impl core::fmt::LowerHex for bitcoin_hashes::sha384::Hash +impl core::fmt::LowerHex for bitcoin_hashes::sha512::Hash +impl core::fmt::LowerHex for bitcoin_hashes::sha512_256::Hash +impl core::fmt::LowerHex for bitcoin_hashes::siphash24::Hash +impl core::fmt::UpperHex for bitcoin_hashes::hash160::Hash +impl core::fmt::UpperHex for bitcoin_hashes::ripemd160::Hash +impl core::fmt::UpperHex for bitcoin_hashes::sha1::Hash +impl core::fmt::UpperHex for bitcoin_hashes::sha256::Hash +impl core::fmt::UpperHex for bitcoin_hashes::sha256d::Hash +impl core::fmt::UpperHex for bitcoin_hashes::sha384::Hash +impl core::fmt::UpperHex for bitcoin_hashes::sha512::Hash +impl core::fmt::UpperHex for bitcoin_hashes::sha512_256::Hash +impl core::fmt::UpperHex for bitcoin_hashes::siphash24::Hash +impl core::hash::Hash for bitcoin_hashes::hash160::Hash +impl core::hash::Hash for bitcoin_hashes::ripemd160::Hash +impl core::hash::Hash for bitcoin_hashes::sha1::Hash +impl core::hash::Hash for bitcoin_hashes::sha256::Hash +impl core::hash::Hash for bitcoin_hashes::sha256::Midstate +impl core::hash::Hash for bitcoin_hashes::sha256d::Hash +impl core::hash::Hash for bitcoin_hashes::sha384::Hash +impl core::hash::Hash for bitcoin_hashes::sha512::Hash +impl core::hash::Hash for bitcoin_hashes::sha512_256::Hash +impl core::hash::Hash for bitcoin_hashes::siphash24::Hash +impl core::marker::Copy for bitcoin_hashes::hash160::Hash +impl core::marker::Copy for bitcoin_hashes::hkdf::MaxLengthError +impl core::marker::Copy for bitcoin_hashes::ripemd160::Hash +impl core::marker::Copy for bitcoin_hashes::sha1::Hash +impl core::marker::Copy for bitcoin_hashes::sha256::Hash +impl core::marker::Copy for bitcoin_hashes::sha256::Midstate +impl core::marker::Copy for bitcoin_hashes::sha256d::Hash +impl core::marker::Copy for bitcoin_hashes::sha384::Hash +impl core::marker::Copy for bitcoin_hashes::sha512::Hash +impl core::marker::Copy for bitcoin_hashes::sha512_256::Hash +impl core::marker::Copy for bitcoin_hashes::siphash24::Hash +impl core::marker::Freeze for bitcoin_hashes::error::FromSliceError +impl core::marker::Freeze for bitcoin_hashes::hash160::Hash +impl core::marker::Freeze for bitcoin_hashes::hash160::HashEngine +impl core::marker::Freeze for bitcoin_hashes::hkdf::MaxLengthError +impl core::marker::Freeze for bitcoin_hashes::ripemd160::Hash +impl core::marker::Freeze for bitcoin_hashes::ripemd160::HashEngine +impl core::marker::Freeze for bitcoin_hashes::sha1::Hash +impl core::marker::Freeze for bitcoin_hashes::sha1::HashEngine +impl core::marker::Freeze for bitcoin_hashes::sha256::Hash +impl core::marker::Freeze for bitcoin_hashes::sha256::HashEngine +impl core::marker::Freeze for bitcoin_hashes::sha256::Midstate +impl core::marker::Freeze for bitcoin_hashes::sha256::MidstateError +impl core::marker::Freeze for bitcoin_hashes::sha256d::Hash +impl core::marker::Freeze for bitcoin_hashes::sha256d::HashEngine +impl core::marker::Freeze for bitcoin_hashes::sha384::Hash +impl core::marker::Freeze for bitcoin_hashes::sha384::HashEngine +impl core::marker::Freeze for bitcoin_hashes::sha512::Hash +impl core::marker::Freeze for bitcoin_hashes::sha512::HashEngine +impl core::marker::Freeze for bitcoin_hashes::sha512_256::Hash +impl core::marker::Freeze for bitcoin_hashes::sha512_256::HashEngine +impl core::marker::Freeze for bitcoin_hashes::siphash24::Hash +impl core::marker::Freeze for bitcoin_hashes::siphash24::HashEngine +impl core::marker::Freeze for bitcoin_hashes::siphash24::State +impl core::marker::Send for bitcoin_hashes::error::FromSliceError +impl core::marker::Send for bitcoin_hashes::hash160::Hash +impl core::marker::Send for bitcoin_hashes::hash160::HashEngine +impl core::marker::Send for bitcoin_hashes::hkdf::MaxLengthError +impl core::marker::Send for bitcoin_hashes::ripemd160::Hash +impl core::marker::Send for bitcoin_hashes::ripemd160::HashEngine +impl core::marker::Send for bitcoin_hashes::sha1::Hash +impl core::marker::Send for bitcoin_hashes::sha1::HashEngine +impl core::marker::Send for bitcoin_hashes::sha256::Hash +impl core::marker::Send for bitcoin_hashes::sha256::HashEngine +impl core::marker::Send for bitcoin_hashes::sha256::Midstate +impl core::marker::Send for bitcoin_hashes::sha256::MidstateError +impl core::marker::Send for bitcoin_hashes::sha256d::Hash +impl core::marker::Send for bitcoin_hashes::sha256d::HashEngine +impl core::marker::Send for bitcoin_hashes::sha384::Hash +impl core::marker::Send for bitcoin_hashes::sha384::HashEngine +impl core::marker::Send for bitcoin_hashes::sha512::Hash +impl core::marker::Send for bitcoin_hashes::sha512::HashEngine +impl core::marker::Send for bitcoin_hashes::sha512_256::Hash +impl core::marker::Send for bitcoin_hashes::sha512_256::HashEngine +impl core::marker::Send for bitcoin_hashes::siphash24::Hash +impl core::marker::Send for bitcoin_hashes::siphash24::HashEngine +impl core::marker::Send for bitcoin_hashes::siphash24::State +impl core::marker::StructuralPartialEq for bitcoin_hashes::error::FromSliceError +impl core::marker::StructuralPartialEq for bitcoin_hashes::hash160::Hash +impl core::marker::StructuralPartialEq for bitcoin_hashes::hkdf::MaxLengthError +impl core::marker::StructuralPartialEq for bitcoin_hashes::ripemd160::Hash +impl core::marker::StructuralPartialEq for bitcoin_hashes::sha1::Hash +impl core::marker::StructuralPartialEq for bitcoin_hashes::sha256::Hash +impl core::marker::StructuralPartialEq for bitcoin_hashes::sha256::Midstate +impl core::marker::StructuralPartialEq for bitcoin_hashes::sha256::MidstateError +impl core::marker::StructuralPartialEq for bitcoin_hashes::sha256d::Hash +impl core::marker::StructuralPartialEq for bitcoin_hashes::sha384::Hash +impl core::marker::StructuralPartialEq for bitcoin_hashes::sha512::Hash +impl core::marker::StructuralPartialEq for bitcoin_hashes::sha512_256::Hash +impl core::marker::StructuralPartialEq for bitcoin_hashes::siphash24::Hash +impl core::marker::Sync for bitcoin_hashes::error::FromSliceError +impl core::marker::Sync for bitcoin_hashes::hash160::Hash +impl core::marker::Sync for bitcoin_hashes::hash160::HashEngine +impl core::marker::Sync for bitcoin_hashes::hkdf::MaxLengthError +impl core::marker::Sync for bitcoin_hashes::ripemd160::Hash +impl core::marker::Sync for bitcoin_hashes::ripemd160::HashEngine +impl core::marker::Sync for bitcoin_hashes::sha1::Hash +impl core::marker::Sync for bitcoin_hashes::sha1::HashEngine +impl core::marker::Sync for bitcoin_hashes::sha256::Hash +impl core::marker::Sync for bitcoin_hashes::sha256::HashEngine +impl core::marker::Sync for bitcoin_hashes::sha256::Midstate +impl core::marker::Sync for bitcoin_hashes::sha256::MidstateError +impl core::marker::Sync for bitcoin_hashes::sha256d::Hash +impl core::marker::Sync for bitcoin_hashes::sha256d::HashEngine +impl core::marker::Sync for bitcoin_hashes::sha384::Hash +impl core::marker::Sync for bitcoin_hashes::sha384::HashEngine +impl core::marker::Sync for bitcoin_hashes::sha512::Hash +impl core::marker::Sync for bitcoin_hashes::sha512::HashEngine +impl core::marker::Sync for bitcoin_hashes::sha512_256::Hash +impl core::marker::Sync for bitcoin_hashes::sha512_256::HashEngine +impl core::marker::Sync for bitcoin_hashes::siphash24::Hash +impl core::marker::Sync for bitcoin_hashes::siphash24::HashEngine +impl core::marker::Sync for bitcoin_hashes::siphash24::State +impl core::marker::Unpin for bitcoin_hashes::error::FromSliceError +impl core::marker::Unpin for bitcoin_hashes::hash160::Hash +impl core::marker::Unpin for bitcoin_hashes::hash160::HashEngine +impl core::marker::Unpin for bitcoin_hashes::hkdf::MaxLengthError +impl core::marker::Unpin for bitcoin_hashes::ripemd160::Hash +impl core::marker::Unpin for bitcoin_hashes::ripemd160::HashEngine +impl core::marker::Unpin for bitcoin_hashes::sha1::Hash +impl core::marker::Unpin for bitcoin_hashes::sha1::HashEngine +impl core::marker::Unpin for bitcoin_hashes::sha256::Hash +impl core::marker::Unpin for bitcoin_hashes::sha256::HashEngine +impl core::marker::Unpin for bitcoin_hashes::sha256::Midstate +impl core::marker::Unpin for bitcoin_hashes::sha256::MidstateError +impl core::marker::Unpin for bitcoin_hashes::sha256d::Hash +impl core::marker::Unpin for bitcoin_hashes::sha256d::HashEngine +impl core::marker::Unpin for bitcoin_hashes::sha384::Hash +impl core::marker::Unpin for bitcoin_hashes::sha384::HashEngine +impl core::marker::Unpin for bitcoin_hashes::sha512::Hash +impl core::marker::Unpin for bitcoin_hashes::sha512::HashEngine +impl core::marker::Unpin for bitcoin_hashes::sha512_256::Hash +impl core::marker::Unpin for bitcoin_hashes::sha512_256::HashEngine +impl core::marker::Unpin for bitcoin_hashes::siphash24::Hash +impl core::marker::Unpin for bitcoin_hashes::siphash24::HashEngine +impl core::marker::Unpin for bitcoin_hashes::siphash24::State +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_hashes::error::FromSliceError +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_hashes::hash160::Hash +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_hashes::hash160::HashEngine +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_hashes::hkdf::MaxLengthError +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_hashes::ripemd160::Hash +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_hashes::ripemd160::HashEngine +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_hashes::sha1::Hash +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_hashes::sha1::HashEngine +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_hashes::sha256::Hash +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_hashes::sha256::HashEngine +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_hashes::sha256::Midstate +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_hashes::sha256::MidstateError +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_hashes::sha256d::Hash +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_hashes::sha256d::HashEngine +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_hashes::sha384::Hash +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_hashes::sha384::HashEngine +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_hashes::sha512::Hash +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_hashes::sha512::HashEngine +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_hashes::sha512_256::Hash +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_hashes::sha512_256::HashEngine +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_hashes::siphash24::Hash +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_hashes::siphash24::HashEngine +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_hashes::siphash24::State +impl core::panic::unwind_safe::UnwindSafe for bitcoin_hashes::error::FromSliceError +impl core::panic::unwind_safe::UnwindSafe for bitcoin_hashes::hash160::Hash +impl core::panic::unwind_safe::UnwindSafe for bitcoin_hashes::hash160::HashEngine +impl core::panic::unwind_safe::UnwindSafe for bitcoin_hashes::hkdf::MaxLengthError +impl core::panic::unwind_safe::UnwindSafe for bitcoin_hashes::ripemd160::Hash +impl core::panic::unwind_safe::UnwindSafe for bitcoin_hashes::ripemd160::HashEngine +impl core::panic::unwind_safe::UnwindSafe for bitcoin_hashes::sha1::Hash +impl core::panic::unwind_safe::UnwindSafe for bitcoin_hashes::sha1::HashEngine +impl core::panic::unwind_safe::UnwindSafe for bitcoin_hashes::sha256::Hash +impl core::panic::unwind_safe::UnwindSafe for bitcoin_hashes::sha256::HashEngine +impl core::panic::unwind_safe::UnwindSafe for bitcoin_hashes::sha256::Midstate +impl core::panic::unwind_safe::UnwindSafe for bitcoin_hashes::sha256::MidstateError +impl core::panic::unwind_safe::UnwindSafe for bitcoin_hashes::sha256d::Hash +impl core::panic::unwind_safe::UnwindSafe for bitcoin_hashes::sha256d::HashEngine +impl core::panic::unwind_safe::UnwindSafe for bitcoin_hashes::sha384::Hash +impl core::panic::unwind_safe::UnwindSafe for bitcoin_hashes::sha384::HashEngine +impl core::panic::unwind_safe::UnwindSafe for bitcoin_hashes::sha512::Hash +impl core::panic::unwind_safe::UnwindSafe for bitcoin_hashes::sha512::HashEngine +impl core::panic::unwind_safe::UnwindSafe for bitcoin_hashes::sha512_256::Hash +impl core::panic::unwind_safe::UnwindSafe for bitcoin_hashes::sha512_256::HashEngine +impl core::panic::unwind_safe::UnwindSafe for bitcoin_hashes::siphash24::Hash +impl core::panic::unwind_safe::UnwindSafe for bitcoin_hashes::siphash24::HashEngine +impl core::panic::unwind_safe::UnwindSafe for bitcoin_hashes::siphash24::State +impl core::str::traits::FromStr for bitcoin_hashes::hash160::Hash +impl core::str::traits::FromStr for bitcoin_hashes::ripemd160::Hash +impl core::str::traits::FromStr for bitcoin_hashes::sha1::Hash +impl core::str::traits::FromStr for bitcoin_hashes::sha256::Hash +impl core::str::traits::FromStr for bitcoin_hashes::sha256d::Hash +impl core::str::traits::FromStr for bitcoin_hashes::sha384::Hash +impl core::str::traits::FromStr for bitcoin_hashes::sha512::Hash +impl core::str::traits::FromStr for bitcoin_hashes::sha512_256::Hash +impl core::str::traits::FromStr for bitcoin_hashes::siphash24::Hash +impl core::fmt::Debug for bitcoin_hashes::hmac::Hmac +impl core::fmt::Display for bitcoin_hashes::hmac::Hmac +impl core::fmt::LowerHex for bitcoin_hashes::hmac::Hmac +impl core::str::traits::FromStr for bitcoin_hashes::hmac::Hmac +impl bitcoin_hashes::GeneralHash for bitcoin_hashes::hmac::Hmac +impl bitcoin_hashes::Hash for bitcoin_hashes::hmac::Hmac +impl bitcoin_hashes::HashEngine for bitcoin_hashes::hmac::HmacEngine +impl bitcoin_hashes::hkdf::Hkdf where ::Engine: core::default::Default +impl bitcoin_hashes::hmac::HmacEngine +impl core::convert::AsRef<[u8]> for bitcoin_hashes::hmac::Hmac +impl core::default::Default for bitcoin_hashes::hmac::HmacEngine where ::Engine: core::default::Default +impl core::marker::StructuralPartialEq for bitcoin_hashes::hmac::Hmac +impl bitcoin_hashes::GeneralHash for bitcoin_hashes::sha256t::Hash +impl bitcoin_hashes::Hash for bitcoin_hashes::sha256t::Hash +impl core::borrow::Borrow<[u8; 32]> for bitcoin_hashes::sha256t::Hash +impl core::borrow::Borrow<[u8]> for bitcoin_hashes::sha256t::Hash +impl core::clone::Clone for bitcoin_hashes::sha256t::Hash +impl core::cmp::Eq for bitcoin_hashes::sha256t::Hash +impl core::cmp::Ord for bitcoin_hashes::sha256t::Hash +impl core::cmp::PartialEq for bitcoin_hashes::sha256t::Hash +impl core::cmp::PartialOrd for bitcoin_hashes::sha256t::Hash +impl core::convert::AsRef<[u8; 32]> for bitcoin_hashes::sha256t::Hash +impl core::convert::AsRef<[u8]> for bitcoin_hashes::sha256t::Hash +impl core::default::Default for bitcoin_hashes::sha256t::Hash +impl core::fmt::Debug for bitcoin_hashes::sha256t::Hash +impl core::fmt::Display for bitcoin_hashes::sha256t::Hash +impl core::fmt::LowerHex for bitcoin_hashes::sha256t::Hash +impl core::fmt::UpperHex for bitcoin_hashes::sha256t::Hash +impl core::hash::Hash for bitcoin_hashes::sha256t::Hash +impl core::marker::Copy for bitcoin_hashes::sha256t::Hash +impl core::str::traits::FromStr for bitcoin_hashes::sha256t::Hash +impl core::clone::Clone for bitcoin_hashes::hmac::Hmac +impl core::clone::Clone for bitcoin_hashes::hmac::HmacEngine where ::Engine: core::clone::Clone +impl core::cmp::Eq for bitcoin_hashes::hmac::Hmac +impl core::cmp::Ord for bitcoin_hashes::hmac::Hmac +impl core::cmp::PartialEq for bitcoin_hashes::hmac::Hmac +impl core::cmp::PartialOrd for bitcoin_hashes::hmac::Hmac +impl core::hash::Hash for bitcoin_hashes::hmac::Hmac +impl core::marker::Copy for bitcoin_hashes::hmac::Hmac +impl bitcoin_hashes::sha256t::Hash where T: bitcoin_hashes::sha256t::Tag +impl core::marker::Freeze for bitcoin_hashes::hkdf::Hkdf where T: core::marker::Freeze +impl core::marker::Freeze for bitcoin_hashes::hmac::Hmac where T: core::marker::Freeze +impl core::marker::Freeze for bitcoin_hashes::hmac::HmacEngine where ::Engine: core::marker::Freeze +impl core::marker::Freeze for bitcoin_hashes::sha256t::Hash +impl core::marker::Send for bitcoin_hashes::hkdf::Hkdf where T: core::marker::Send +impl core::marker::Send for bitcoin_hashes::hmac::Hmac where T: core::marker::Send +impl core::marker::Send for bitcoin_hashes::hmac::HmacEngine where ::Engine: core::marker::Send +impl core::marker::Send for bitcoin_hashes::sha256t::Hash where T: core::marker::Send +impl core::marker::Sync for bitcoin_hashes::hkdf::Hkdf where T: core::marker::Sync +impl core::marker::Sync for bitcoin_hashes::hmac::Hmac where T: core::marker::Sync +impl core::marker::Sync for bitcoin_hashes::hmac::HmacEngine where ::Engine: core::marker::Sync +impl core::marker::Sync for bitcoin_hashes::sha256t::Hash where T: core::marker::Sync +impl core::marker::Unpin for bitcoin_hashes::hkdf::Hkdf where T: core::marker::Unpin +impl core::marker::Unpin for bitcoin_hashes::hmac::Hmac where T: core::marker::Unpin +impl core::marker::Unpin for bitcoin_hashes::hmac::HmacEngine where ::Engine: core::marker::Unpin +impl core::marker::Unpin for bitcoin_hashes::sha256t::Hash where T: core::marker::Unpin +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_hashes::hkdf::Hkdf where T: core::panic::unwind_safe::RefUnwindSafe +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_hashes::hmac::Hmac where T: core::panic::unwind_safe::RefUnwindSafe +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_hashes::hmac::HmacEngine where ::Engine: core::panic::unwind_safe::RefUnwindSafe +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_hashes::sha256t::Hash where T: core::panic::unwind_safe::RefUnwindSafe +impl core::panic::unwind_safe::UnwindSafe for bitcoin_hashes::hkdf::Hkdf where T: core::panic::unwind_safe::UnwindSafe +impl core::panic::unwind_safe::UnwindSafe for bitcoin_hashes::hmac::Hmac where T: core::panic::unwind_safe::UnwindSafe +impl core::panic::unwind_safe::UnwindSafe for bitcoin_hashes::hmac::HmacEngine where ::Engine: core::panic::unwind_safe::UnwindSafe +impl core::panic::unwind_safe::UnwindSafe for bitcoin_hashes::sha256t::Hash where T: core::panic::unwind_safe::UnwindSafe +impl bitcoin_hashes::IsByteArray for [u8; N] +pub const [u8; N]::LEN: usize +pub const bitcoin_hashes::Hash::DISPLAY_BACKWARD: bool +pub const bitcoin_hashes::Hash::LEN: usize +pub const bitcoin_hashes::HashEngine::BLOCK_SIZE: usize +pub const bitcoin_hashes::IsByteArray::LEN: usize +pub const bitcoin_hashes::hash160::Hash::DISPLAY_BACKWARD: bool +pub const bitcoin_hashes::hash160::HashEngine::BLOCK_SIZE: usize +pub const bitcoin_hashes::hmac::HmacEngine::BLOCK_SIZE: usize +pub const bitcoin_hashes::ripemd160::Hash::DISPLAY_BACKWARD: bool +pub const bitcoin_hashes::ripemd160::HashEngine::BLOCK_SIZE: usize +pub const bitcoin_hashes::sha1::Hash::DISPLAY_BACKWARD: bool +pub const bitcoin_hashes::sha1::HashEngine::BLOCK_SIZE: usize +pub const bitcoin_hashes::sha256::Hash::DISPLAY_BACKWARD: bool +pub const bitcoin_hashes::sha256::HashEngine::BLOCK_SIZE: usize +pub const bitcoin_hashes::sha256d::Hash::DISPLAY_BACKWARD: bool +pub const bitcoin_hashes::sha256d::HashEngine::BLOCK_SIZE: usize +pub const bitcoin_hashes::sha256t::Hash::DISPLAY_BACKWARD: bool +pub const bitcoin_hashes::sha384::Hash::DISPLAY_BACKWARD: bool +pub const bitcoin_hashes::sha384::HashEngine::BLOCK_SIZE: usize +pub const bitcoin_hashes::sha512::Hash::DISPLAY_BACKWARD: bool +pub const bitcoin_hashes::sha512::HashEngine::BLOCK_SIZE: usize +pub const bitcoin_hashes::sha512_256::Hash::DISPLAY_BACKWARD: bool +pub const bitcoin_hashes::sha512_256::HashEngine::BLOCK_SIZE: usize +pub const bitcoin_hashes::siphash24::Hash::DISPLAY_BACKWARD: bool +pub const bitcoin_hashes::siphash24::HashEngine::BLOCK_SIZE: usize +pub const fn bitcoin_hashes::hash160::Hash::as_byte_array(&self) -> &[u8; 20] +pub const fn bitcoin_hashes::hash160::Hash::from_byte_array(bytes: [u8; 20]) -> Self +pub const fn bitcoin_hashes::hash160::Hash::to_byte_array(self) -> [u8; 20] +pub const fn bitcoin_hashes::hash160::HashEngine::new() -> Self +pub const fn bitcoin_hashes::ripemd160::Hash::as_byte_array(&self) -> &[u8; 20] +pub const fn bitcoin_hashes::ripemd160::Hash::from_byte_array(bytes: [u8; 20]) -> Self +pub const fn bitcoin_hashes::ripemd160::Hash::to_byte_array(self) -> [u8; 20] +pub const fn bitcoin_hashes::ripemd160::HashEngine::new() -> Self +pub const fn bitcoin_hashes::sha1::Hash::as_byte_array(&self) -> &[u8; 20] +pub const fn bitcoin_hashes::sha1::Hash::from_byte_array(bytes: [u8; 20]) -> Self +pub const fn bitcoin_hashes::sha1::Hash::to_byte_array(self) -> [u8; 20] +pub const fn bitcoin_hashes::sha1::HashEngine::new() -> Self +pub const fn bitcoin_hashes::sha256::Hash::as_byte_array(&self) -> &[u8; 32] +pub const fn bitcoin_hashes::sha256::Hash::const_hash(bytes: &[u8]) -> Self +pub const fn bitcoin_hashes::sha256::Hash::from_byte_array(bytes: [u8; 32]) -> Self +pub const fn bitcoin_hashes::sha256::Hash::hash_unoptimized(bytes: &[u8]) -> Self +pub const fn bitcoin_hashes::sha256::Hash::to_byte_array(self) -> [u8; 32] +pub const fn bitcoin_hashes::sha256::HashEngine::can_extract_midstate(&self) -> bool +pub const fn bitcoin_hashes::sha256::HashEngine::new() -> Self +pub const fn bitcoin_hashes::sha256::Midstate::as_parts(&self) -> (&[u8; 32], u64) +pub const fn bitcoin_hashes::sha256::Midstate::hash_tag(tag: &[u8]) -> Self +pub const fn bitcoin_hashes::sha256::Midstate::new(state: [u8; 32], bytes_hashed: u64) -> Self +pub const fn bitcoin_hashes::sha256::Midstate::to_parts(self) -> ([u8; 32], u64) +pub const fn bitcoin_hashes::sha256d::Hash::as_byte_array(&self) -> &[u8; 32] +pub const fn bitcoin_hashes::sha256d::Hash::from_byte_array(bytes: [u8; 32]) -> Self +pub const fn bitcoin_hashes::sha256d::Hash::to_byte_array(self) -> [u8; 32] +pub const fn bitcoin_hashes::sha256d::HashEngine::new() -> Self +pub const fn bitcoin_hashes::sha256t::Hash::as_byte_array(&self) -> &[u8; 32] +pub const fn bitcoin_hashes::sha256t::Hash::from_byte_array(bytes: [u8; 32]) -> Self +pub const fn bitcoin_hashes::sha256t::Hash::to_byte_array(self) -> [u8; 32] +pub const fn bitcoin_hashes::sha384::Hash::as_byte_array(&self) -> &[u8; 48] +pub const fn bitcoin_hashes::sha384::Hash::from_byte_array(bytes: [u8; 48]) -> Self +pub const fn bitcoin_hashes::sha384::Hash::to_byte_array(self) -> [u8; 48] +pub const fn bitcoin_hashes::sha384::HashEngine::new() -> Self +pub const fn bitcoin_hashes::sha512::Hash::as_byte_array(&self) -> &[u8; 64] +pub const fn bitcoin_hashes::sha512::Hash::from_byte_array(bytes: [u8; 64]) -> Self +pub const fn bitcoin_hashes::sha512::Hash::to_byte_array(self) -> [u8; 64] +pub const fn bitcoin_hashes::sha512::HashEngine::new() -> Self +pub const fn bitcoin_hashes::sha512_256::Hash::as_byte_array(&self) -> &[u8; 32] +pub const fn bitcoin_hashes::sha512_256::Hash::from_byte_array(bytes: [u8; 32]) -> Self +pub const fn bitcoin_hashes::sha512_256::Hash::to_byte_array(self) -> [u8; 32] +pub const fn bitcoin_hashes::sha512_256::HashEngine::new() -> Self +pub const fn bitcoin_hashes::siphash24::Hash::as_byte_array(&self) -> &[u8; 8] +pub const fn bitcoin_hashes::siphash24::Hash::from_byte_array(bytes: [u8; 8]) -> Self +pub const fn bitcoin_hashes::siphash24::Hash::to_byte_array(self) -> [u8; 8] +pub const fn bitcoin_hashes::siphash24::HashEngine::with_keys(k0: u64, k1: u64) -> bitcoin_hashes::siphash24::HashEngine +pub extern crate bitcoin_hashes::hex +pub fn bitcoin_hashes::GeneralHash::engine() -> Self::Engine where Self::Engine: core::default::Default +pub fn bitcoin_hashes::GeneralHash::from_engine(e: Self::Engine) -> Self +pub fn bitcoin_hashes::GeneralHash::hash(data: &[u8]) -> Self where Self::Engine: core::default::Default +pub fn bitcoin_hashes::GeneralHash::hash_byte_chunks(byte_slices: I) -> Self where B: core::convert::AsRef<[u8]>, I: core::iter::traits::collect::IntoIterator, Self::Engine: core::default::Default +pub fn bitcoin_hashes::Hash::as_byte_array(&self) -> &Self::Bytes +pub fn bitcoin_hashes::Hash::from_byte_array(bytes: Self::Bytes) -> Self +pub fn bitcoin_hashes::Hash::from_slice(sl: &[u8]) -> core::result::Result +pub fn bitcoin_hashes::Hash::to_byte_array(self) -> Self::Bytes +pub fn bitcoin_hashes::HashEngine::input(&mut self, data: &[u8]) +pub fn bitcoin_hashes::HashEngine::n_bytes_hashed(&self) -> u64 +pub fn bitcoin_hashes::cmp::fixed_time_eq(a: &[u8], b: &[u8]) -> bool +pub fn bitcoin_hashes::debug_hex(bytes: &[u8], f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_hashes::error::FromSliceError::clone(&self) -> bitcoin_hashes::error::FromSliceError +pub fn bitcoin_hashes::error::FromSliceError::eq(&self, other: &bitcoin_hashes::error::FromSliceError) -> bool +pub fn bitcoin_hashes::error::FromSliceError::expected_length(&self) -> usize +pub fn bitcoin_hashes::error::FromSliceError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_hashes::error::FromSliceError::from(never: core::convert::Infallible) -> Self +pub fn bitcoin_hashes::error::FromSliceError::invalid_length(&self) -> usize +pub fn bitcoin_hashes::hash160::Hash::as_byte_array(&self) -> &Self::Bytes +pub fn bitcoin_hashes::hash160::Hash::as_ref(&self) -> &[u8; 20] +pub fn bitcoin_hashes::hash160::Hash::as_ref(&self) -> &[u8] +pub fn bitcoin_hashes::hash160::Hash::borrow(&self) -> &[u8; 20] +pub fn bitcoin_hashes::hash160::Hash::borrow(&self) -> &[u8] +pub fn bitcoin_hashes::hash160::Hash::clone(&self) -> bitcoin_hashes::hash160::Hash +pub fn bitcoin_hashes::hash160::Hash::cmp(&self, other: &bitcoin_hashes::hash160::Hash) -> core::cmp::Ordering +pub fn bitcoin_hashes::hash160::Hash::engine() -> bitcoin_hashes::hash160::HashEngine +pub fn bitcoin_hashes::hash160::Hash::eq(&self, other: &bitcoin_hashes::hash160::Hash) -> bool +pub fn bitcoin_hashes::hash160::Hash::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_hashes::hash160::Hash::from_byte_array(bytes: Self::Bytes) -> Self +pub fn bitcoin_hashes::hash160::Hash::from_bytes_mut(bytes: &mut [u8; 20]) -> &mut Self +pub fn bitcoin_hashes::hash160::Hash::from_bytes_ref(bytes: &[u8; 20]) -> &Self +pub fn bitcoin_hashes::hash160::Hash::from_engine(e: bitcoin_hashes::hash160::HashEngine) -> bitcoin_hashes::hash160::Hash +pub fn bitcoin_hashes::hash160::Hash::from_slice(sl: &[u8]) -> core::result::Result +pub fn bitcoin_hashes::hash160::Hash::from_str(s: &str) -> core::result::Result +pub fn bitcoin_hashes::hash160::Hash::hash(data: &[u8]) -> Self +pub fn bitcoin_hashes::hash160::Hash::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_hashes::hash160::Hash::hash_byte_chunks(byte_slices: I) -> Self where B: core::convert::AsRef<[u8]>, I: core::iter::traits::collect::IntoIterator +pub fn bitcoin_hashes::hash160::Hash::partial_cmp(&self, other: &bitcoin_hashes::hash160::Hash) -> core::option::Option +pub fn bitcoin_hashes::hash160::Hash::to_byte_array(self) -> Self::Bytes +pub fn bitcoin_hashes::hash160::HashEngine::clone(&self) -> bitcoin_hashes::hash160::HashEngine +pub fn bitcoin_hashes::hash160::HashEngine::default() -> Self +pub fn bitcoin_hashes::hash160::HashEngine::input(&mut self, data: &[u8]) +pub fn bitcoin_hashes::hash160::HashEngine::n_bytes_hashed(&self) -> u64 +pub fn bitcoin_hashes::hkdf::Hkdf::expand(&self, info: &[u8], okm: &mut [u8]) -> core::result::Result<(), bitcoin_hashes::hkdf::MaxLengthError> +pub fn bitcoin_hashes::hkdf::Hkdf::expand_to_len(&self, info: &[u8], len: usize) -> core::result::Result, bitcoin_hashes::hkdf::MaxLengthError> +pub fn bitcoin_hashes::hkdf::Hkdf::new(salt: &[u8], ikm: &[u8]) -> Self +pub fn bitcoin_hashes::hkdf::MaxLengthError::clone(&self) -> bitcoin_hashes::hkdf::MaxLengthError +pub fn bitcoin_hashes::hkdf::MaxLengthError::eq(&self, other: &bitcoin_hashes::hkdf::MaxLengthError) -> bool +pub fn bitcoin_hashes::hkdf::MaxLengthError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_hashes::hmac::Hmac::as_byte_array(&self) -> &Self::Bytes +pub fn bitcoin_hashes::hmac::Hmac::as_ref(&self) -> &[u8] +pub fn bitcoin_hashes::hmac::Hmac::clone(&self) -> bitcoin_hashes::hmac::Hmac +pub fn bitcoin_hashes::hmac::Hmac::cmp(&self, other: &bitcoin_hashes::hmac::Hmac) -> core::cmp::Ordering +pub fn bitcoin_hashes::hmac::Hmac::eq(&self, other: &bitcoin_hashes::hmac::Hmac) -> bool +pub fn bitcoin_hashes::hmac::Hmac::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_hashes::hmac::Hmac::from_byte_array(bytes: ::Bytes) -> Self +pub fn bitcoin_hashes::hmac::Hmac::from_engine(e: bitcoin_hashes::hmac::HmacEngine) -> bitcoin_hashes::hmac::Hmac +pub fn bitcoin_hashes::hmac::Hmac::from_slice(sl: &[u8]) -> core::result::Result, bitcoin_hashes::error::FromSliceError> +pub fn bitcoin_hashes::hmac::Hmac::from_str(s: &str) -> core::result::Result +pub fn bitcoin_hashes::hmac::Hmac::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_hashes::hmac::Hmac::partial_cmp(&self, other: &bitcoin_hashes::hmac::Hmac) -> core::option::Option +pub fn bitcoin_hashes::hmac::Hmac::to_byte_array(self) -> Self::Bytes +pub fn bitcoin_hashes::hmac::HmacEngine::clone(&self) -> bitcoin_hashes::hmac::HmacEngine +pub fn bitcoin_hashes::hmac::HmacEngine::default() -> Self +pub fn bitcoin_hashes::hmac::HmacEngine::from_inner_engines(iengine: ::Engine, oengine: ::Engine) -> bitcoin_hashes::hmac::HmacEngine +pub fn bitcoin_hashes::hmac::HmacEngine::input(&mut self, buf: &[u8]) +pub fn bitcoin_hashes::hmac::HmacEngine::n_bytes_hashed(&self) -> u64 +pub fn bitcoin_hashes::hmac::HmacEngine::new(key: &[u8]) -> bitcoin_hashes::hmac::HmacEngine where ::Engine: core::default::Default +pub fn bitcoin_hashes::ripemd160::Hash::as_byte_array(&self) -> &Self::Bytes +pub fn bitcoin_hashes::ripemd160::Hash::as_ref(&self) -> &[u8; 20] +pub fn bitcoin_hashes::ripemd160::Hash::as_ref(&self) -> &[u8] +pub fn bitcoin_hashes::ripemd160::Hash::borrow(&self) -> &[u8; 20] +pub fn bitcoin_hashes::ripemd160::Hash::borrow(&self) -> &[u8] +pub fn bitcoin_hashes::ripemd160::Hash::clone(&self) -> bitcoin_hashes::ripemd160::Hash +pub fn bitcoin_hashes::ripemd160::Hash::cmp(&self, other: &bitcoin_hashes::ripemd160::Hash) -> core::cmp::Ordering +pub fn bitcoin_hashes::ripemd160::Hash::engine() -> bitcoin_hashes::ripemd160::HashEngine +pub fn bitcoin_hashes::ripemd160::Hash::eq(&self, other: &bitcoin_hashes::ripemd160::Hash) -> bool +pub fn bitcoin_hashes::ripemd160::Hash::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_hashes::ripemd160::Hash::from_byte_array(bytes: Self::Bytes) -> Self +pub fn bitcoin_hashes::ripemd160::Hash::from_bytes_mut(bytes: &mut [u8; 20]) -> &mut Self +pub fn bitcoin_hashes::ripemd160::Hash::from_bytes_ref(bytes: &[u8; 20]) -> &Self +pub fn bitcoin_hashes::ripemd160::Hash::from_engine(e: bitcoin_hashes::ripemd160::HashEngine) -> bitcoin_hashes::ripemd160::Hash +pub fn bitcoin_hashes::ripemd160::Hash::from_slice(sl: &[u8]) -> core::result::Result +pub fn bitcoin_hashes::ripemd160::Hash::from_str(s: &str) -> core::result::Result +pub fn bitcoin_hashes::ripemd160::Hash::hash(data: &[u8]) -> Self +pub fn bitcoin_hashes::ripemd160::Hash::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_hashes::ripemd160::Hash::hash_byte_chunks(byte_slices: I) -> Self where B: core::convert::AsRef<[u8]>, I: core::iter::traits::collect::IntoIterator +pub fn bitcoin_hashes::ripemd160::Hash::partial_cmp(&self, other: &bitcoin_hashes::ripemd160::Hash) -> core::option::Option +pub fn bitcoin_hashes::ripemd160::Hash::to_byte_array(self) -> Self::Bytes +pub fn bitcoin_hashes::ripemd160::HashEngine::clone(&self) -> bitcoin_hashes::ripemd160::HashEngine +pub fn bitcoin_hashes::ripemd160::HashEngine::default() -> Self +pub fn bitcoin_hashes::ripemd160::HashEngine::input(&mut self, inp: &[u8]) +pub fn bitcoin_hashes::ripemd160::HashEngine::n_bytes_hashed(&self) -> u64 +pub fn bitcoin_hashes::sha1::Hash::as_byte_array(&self) -> &Self::Bytes +pub fn bitcoin_hashes::sha1::Hash::as_ref(&self) -> &[u8; 20] +pub fn bitcoin_hashes::sha1::Hash::as_ref(&self) -> &[u8] +pub fn bitcoin_hashes::sha1::Hash::borrow(&self) -> &[u8; 20] +pub fn bitcoin_hashes::sha1::Hash::borrow(&self) -> &[u8] +pub fn bitcoin_hashes::sha1::Hash::clone(&self) -> bitcoin_hashes::sha1::Hash +pub fn bitcoin_hashes::sha1::Hash::cmp(&self, other: &bitcoin_hashes::sha1::Hash) -> core::cmp::Ordering +pub fn bitcoin_hashes::sha1::Hash::engine() -> bitcoin_hashes::sha1::HashEngine +pub fn bitcoin_hashes::sha1::Hash::eq(&self, other: &bitcoin_hashes::sha1::Hash) -> bool +pub fn bitcoin_hashes::sha1::Hash::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_hashes::sha1::Hash::from_byte_array(bytes: Self::Bytes) -> Self +pub fn bitcoin_hashes::sha1::Hash::from_bytes_mut(bytes: &mut [u8; 20]) -> &mut Self +pub fn bitcoin_hashes::sha1::Hash::from_bytes_ref(bytes: &[u8; 20]) -> &Self +pub fn bitcoin_hashes::sha1::Hash::from_engine(e: bitcoin_hashes::sha1::HashEngine) -> bitcoin_hashes::sha1::Hash +pub fn bitcoin_hashes::sha1::Hash::from_slice(sl: &[u8]) -> core::result::Result +pub fn bitcoin_hashes::sha1::Hash::from_str(s: &str) -> core::result::Result +pub fn bitcoin_hashes::sha1::Hash::hash(data: &[u8]) -> Self +pub fn bitcoin_hashes::sha1::Hash::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_hashes::sha1::Hash::hash_byte_chunks(byte_slices: I) -> Self where B: core::convert::AsRef<[u8]>, I: core::iter::traits::collect::IntoIterator +pub fn bitcoin_hashes::sha1::Hash::partial_cmp(&self, other: &bitcoin_hashes::sha1::Hash) -> core::option::Option +pub fn bitcoin_hashes::sha1::Hash::to_byte_array(self) -> Self::Bytes +pub fn bitcoin_hashes::sha1::HashEngine::clone(&self) -> bitcoin_hashes::sha1::HashEngine +pub fn bitcoin_hashes::sha1::HashEngine::default() -> Self +pub fn bitcoin_hashes::sha1::HashEngine::input(&mut self, inp: &[u8]) +pub fn bitcoin_hashes::sha1::HashEngine::n_bytes_hashed(&self) -> u64 +pub fn bitcoin_hashes::sha256::Hash::as_byte_array(&self) -> &Self::Bytes +pub fn bitcoin_hashes::sha256::Hash::as_ref(&self) -> &[u8; 32] +pub fn bitcoin_hashes::sha256::Hash::as_ref(&self) -> &[u8] +pub fn bitcoin_hashes::sha256::Hash::borrow(&self) -> &[u8; 32] +pub fn bitcoin_hashes::sha256::Hash::borrow(&self) -> &[u8] +pub fn bitcoin_hashes::sha256::Hash::clone(&self) -> bitcoin_hashes::sha256::Hash +pub fn bitcoin_hashes::sha256::Hash::cmp(&self, other: &bitcoin_hashes::sha256::Hash) -> core::cmp::Ordering +pub fn bitcoin_hashes::sha256::Hash::engine() -> bitcoin_hashes::sha256::HashEngine +pub fn bitcoin_hashes::sha256::Hash::eq(&self, other: &bitcoin_hashes::sha256::Hash) -> bool +pub fn bitcoin_hashes::sha256::Hash::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_hashes::sha256::Hash::from_byte_array(bytes: Self::Bytes) -> Self +pub fn bitcoin_hashes::sha256::Hash::from_bytes_mut(bytes: &mut [u8; 32]) -> &mut Self +pub fn bitcoin_hashes::sha256::Hash::from_bytes_ref(bytes: &[u8; 32]) -> &Self +pub fn bitcoin_hashes::sha256::Hash::from_engine(e: bitcoin_hashes::sha256::HashEngine) -> bitcoin_hashes::sha256::Hash +pub fn bitcoin_hashes::sha256::Hash::from_slice(sl: &[u8]) -> core::result::Result +pub fn bitcoin_hashes::sha256::Hash::from_str(s: &str) -> core::result::Result +pub fn bitcoin_hashes::sha256::Hash::hash(data: &[u8]) -> Self +pub fn bitcoin_hashes::sha256::Hash::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_hashes::sha256::Hash::hash_again(&self) -> bitcoin_hashes::sha256d::Hash +pub fn bitcoin_hashes::sha256::Hash::hash_byte_chunks(byte_slices: I) -> Self where B: core::convert::AsRef<[u8]>, I: core::iter::traits::collect::IntoIterator +pub fn bitcoin_hashes::sha256::Hash::partial_cmp(&self, other: &bitcoin_hashes::sha256::Hash) -> core::option::Option +pub fn bitcoin_hashes::sha256::Hash::to_byte_array(self) -> Self::Bytes +pub fn bitcoin_hashes::sha256::HashEngine::clone(&self) -> bitcoin_hashes::sha256::HashEngine +pub fn bitcoin_hashes::sha256::HashEngine::default() -> Self +pub fn bitcoin_hashes::sha256::HashEngine::from_midstate(midstate: bitcoin_hashes::sha256::Midstate) -> bitcoin_hashes::sha256::HashEngine +pub fn bitcoin_hashes::sha256::HashEngine::input(&mut self, inp: &[u8]) +pub fn bitcoin_hashes::sha256::HashEngine::midstate(&self) -> core::result::Result +pub fn bitcoin_hashes::sha256::HashEngine::n_bytes_hashed(&self) -> u64 +pub fn bitcoin_hashes::sha256::Midstate::as_ref(&self) -> &[u8] +pub fn bitcoin_hashes::sha256::Midstate::clone(&self) -> bitcoin_hashes::sha256::Midstate +pub fn bitcoin_hashes::sha256::Midstate::cmp(&self, other: &bitcoin_hashes::sha256::Midstate) -> core::cmp::Ordering +pub fn bitcoin_hashes::sha256::Midstate::default() -> bitcoin_hashes::sha256::Midstate +pub fn bitcoin_hashes::sha256::Midstate::eq(&self, other: &bitcoin_hashes::sha256::Midstate) -> bool +pub fn bitcoin_hashes::sha256::Midstate::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_hashes::sha256::Midstate::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_hashes::sha256::Midstate::partial_cmp(&self, other: &bitcoin_hashes::sha256::Midstate) -> core::option::Option +pub fn bitcoin_hashes::sha256::MidstateError::clone(&self) -> bitcoin_hashes::sha256::MidstateError +pub fn bitcoin_hashes::sha256::MidstateError::eq(&self, other: &bitcoin_hashes::sha256::MidstateError) -> bool +pub fn bitcoin_hashes::sha256::MidstateError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_hashes::sha256d::Hash::as_byte_array(&self) -> &Self::Bytes +pub fn bitcoin_hashes::sha256d::Hash::as_ref(&self) -> &[u8; 32] +pub fn bitcoin_hashes::sha256d::Hash::as_ref(&self) -> &[u8] +pub fn bitcoin_hashes::sha256d::Hash::borrow(&self) -> &[u8; 32] +pub fn bitcoin_hashes::sha256d::Hash::borrow(&self) -> &[u8] +pub fn bitcoin_hashes::sha256d::Hash::clone(&self) -> bitcoin_hashes::sha256d::Hash +pub fn bitcoin_hashes::sha256d::Hash::cmp(&self, other: &bitcoin_hashes::sha256d::Hash) -> core::cmp::Ordering +pub fn bitcoin_hashes::sha256d::Hash::engine() -> bitcoin_hashes::sha256d::HashEngine +pub fn bitcoin_hashes::sha256d::Hash::eq(&self, other: &bitcoin_hashes::sha256d::Hash) -> bool +pub fn bitcoin_hashes::sha256d::Hash::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_hashes::sha256d::Hash::from_byte_array(bytes: Self::Bytes) -> Self +pub fn bitcoin_hashes::sha256d::Hash::from_bytes_mut(bytes: &mut [u8; 32]) -> &mut Self +pub fn bitcoin_hashes::sha256d::Hash::from_bytes_ref(bytes: &[u8; 32]) -> &Self +pub fn bitcoin_hashes::sha256d::Hash::from_engine(e: bitcoin_hashes::sha256d::HashEngine) -> bitcoin_hashes::sha256d::Hash +pub fn bitcoin_hashes::sha256d::Hash::from_slice(sl: &[u8]) -> core::result::Result +pub fn bitcoin_hashes::sha256d::Hash::from_str(s: &str) -> core::result::Result +pub fn bitcoin_hashes::sha256d::Hash::hash(data: &[u8]) -> Self +pub fn bitcoin_hashes::sha256d::Hash::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_hashes::sha256d::Hash::hash_byte_chunks(byte_slices: I) -> Self where B: core::convert::AsRef<[u8]>, I: core::iter::traits::collect::IntoIterator +pub fn bitcoin_hashes::sha256d::Hash::partial_cmp(&self, other: &bitcoin_hashes::sha256d::Hash) -> core::option::Option +pub fn bitcoin_hashes::sha256d::Hash::to_byte_array(self) -> Self::Bytes +pub fn bitcoin_hashes::sha256d::HashEngine::clone(&self) -> bitcoin_hashes::sha256d::HashEngine +pub fn bitcoin_hashes::sha256d::HashEngine::default() -> Self +pub fn bitcoin_hashes::sha256d::HashEngine::input(&mut self, data: &[u8]) +pub fn bitcoin_hashes::sha256d::HashEngine::n_bytes_hashed(&self) -> u64 +pub fn bitcoin_hashes::sha256t::Hash::as_byte_array(&self) -> &Self::Bytes +pub fn bitcoin_hashes::sha256t::Hash::as_ref(&self) -> &[u8; 32] +pub fn bitcoin_hashes::sha256t::Hash::as_ref(&self) -> &[u8] +pub fn bitcoin_hashes::sha256t::Hash::borrow(&self) -> &[u8; 32] +pub fn bitcoin_hashes::sha256t::Hash::borrow(&self) -> &[u8] +pub fn bitcoin_hashes::sha256t::Hash::clone(&self) -> Self +pub fn bitcoin_hashes::sha256t::Hash::cmp(&self, other: &bitcoin_hashes::sha256t::Hash) -> core::cmp::Ordering +pub fn bitcoin_hashes::sha256t::Hash::default() -> Self +pub fn bitcoin_hashes::sha256t::Hash::engine() -> bitcoin_hashes::sha256::HashEngine +pub fn bitcoin_hashes::sha256t::Hash::eq(&self, other: &bitcoin_hashes::sha256t::Hash) -> bool +pub fn bitcoin_hashes::sha256t::Hash::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_hashes::sha256t::Hash::from_byte_array(bytes: Self::Bytes) -> Self +pub fn bitcoin_hashes::sha256t::Hash::from_bytes_mut(bytes: &mut [u8; 32]) -> &mut Self +pub fn bitcoin_hashes::sha256t::Hash::from_bytes_ref(bytes: &[u8; 32]) -> &Self +pub fn bitcoin_hashes::sha256t::Hash::from_engine(e: bitcoin_hashes::sha256::HashEngine) -> bitcoin_hashes::sha256t::Hash +pub fn bitcoin_hashes::sha256t::Hash::from_slice(sl: &[u8]) -> core::result::Result, bitcoin_hashes::error::FromSliceError> +pub fn bitcoin_hashes::sha256t::Hash::from_str(s: &str) -> core::result::Result +pub fn bitcoin_hashes::sha256t::Hash::hash(data: &[u8]) -> Self +pub fn bitcoin_hashes::sha256t::Hash::hash(&self, h: &mut H) +pub fn bitcoin_hashes::sha256t::Hash::hash_byte_chunks(byte_slices: I) -> Self where B: core::convert::AsRef<[u8]>, I: core::iter::traits::collect::IntoIterator +pub fn bitcoin_hashes::sha256t::Hash::partial_cmp(&self, other: &bitcoin_hashes::sha256t::Hash) -> core::option::Option +pub fn bitcoin_hashes::sha256t::Hash::to_byte_array(self) -> Self::Bytes +pub fn bitcoin_hashes::sha256t::Tag::engine() -> bitcoin_hashes::sha256::HashEngine +pub fn bitcoin_hashes::sha384::Hash::as_byte_array(&self) -> &Self::Bytes +pub fn bitcoin_hashes::sha384::Hash::as_ref(&self) -> &[u8; 48] +pub fn bitcoin_hashes::sha384::Hash::as_ref(&self) -> &[u8] +pub fn bitcoin_hashes::sha384::Hash::borrow(&self) -> &[u8; 48] +pub fn bitcoin_hashes::sha384::Hash::borrow(&self) -> &[u8] +pub fn bitcoin_hashes::sha384::Hash::clone(&self) -> bitcoin_hashes::sha384::Hash +pub fn bitcoin_hashes::sha384::Hash::cmp(&self, other: &bitcoin_hashes::sha384::Hash) -> core::cmp::Ordering +pub fn bitcoin_hashes::sha384::Hash::engine() -> bitcoin_hashes::sha384::HashEngine +pub fn bitcoin_hashes::sha384::Hash::eq(&self, other: &bitcoin_hashes::sha384::Hash) -> bool +pub fn bitcoin_hashes::sha384::Hash::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_hashes::sha384::Hash::from_byte_array(bytes: Self::Bytes) -> Self +pub fn bitcoin_hashes::sha384::Hash::from_bytes_mut(bytes: &mut [u8; 48]) -> &mut Self +pub fn bitcoin_hashes::sha384::Hash::from_bytes_ref(bytes: &[u8; 48]) -> &Self +pub fn bitcoin_hashes::sha384::Hash::from_engine(e: bitcoin_hashes::sha384::HashEngine) -> bitcoin_hashes::sha384::Hash +pub fn bitcoin_hashes::sha384::Hash::from_slice(sl: &[u8]) -> core::result::Result +pub fn bitcoin_hashes::sha384::Hash::from_str(s: &str) -> core::result::Result +pub fn bitcoin_hashes::sha384::Hash::hash(data: &[u8]) -> Self +pub fn bitcoin_hashes::sha384::Hash::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_hashes::sha384::Hash::hash_byte_chunks(byte_slices: I) -> Self where B: core::convert::AsRef<[u8]>, I: core::iter::traits::collect::IntoIterator +pub fn bitcoin_hashes::sha384::Hash::partial_cmp(&self, other: &bitcoin_hashes::sha384::Hash) -> core::option::Option +pub fn bitcoin_hashes::sha384::Hash::to_byte_array(self) -> Self::Bytes +pub fn bitcoin_hashes::sha384::HashEngine::clone(&self) -> bitcoin_hashes::sha384::HashEngine +pub fn bitcoin_hashes::sha384::HashEngine::default() -> Self +pub fn bitcoin_hashes::sha384::HashEngine::input(&mut self, inp: &[u8]) +pub fn bitcoin_hashes::sha384::HashEngine::n_bytes_hashed(&self) -> u64 +pub fn bitcoin_hashes::sha512::Hash::as_byte_array(&self) -> &Self::Bytes +pub fn bitcoin_hashes::sha512::Hash::as_ref(&self) -> &[u8; 64] +pub fn bitcoin_hashes::sha512::Hash::as_ref(&self) -> &[u8] +pub fn bitcoin_hashes::sha512::Hash::borrow(&self) -> &[u8; 64] +pub fn bitcoin_hashes::sha512::Hash::borrow(&self) -> &[u8] +pub fn bitcoin_hashes::sha512::Hash::clone(&self) -> bitcoin_hashes::sha512::Hash +pub fn bitcoin_hashes::sha512::Hash::cmp(&self, other: &bitcoin_hashes::sha512::Hash) -> core::cmp::Ordering +pub fn bitcoin_hashes::sha512::Hash::engine() -> bitcoin_hashes::sha512::HashEngine +pub fn bitcoin_hashes::sha512::Hash::eq(&self, other: &bitcoin_hashes::sha512::Hash) -> bool +pub fn bitcoin_hashes::sha512::Hash::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_hashes::sha512::Hash::from_byte_array(bytes: Self::Bytes) -> Self +pub fn bitcoin_hashes::sha512::Hash::from_bytes_mut(bytes: &mut [u8; 64]) -> &mut Self +pub fn bitcoin_hashes::sha512::Hash::from_bytes_ref(bytes: &[u8; 64]) -> &Self +pub fn bitcoin_hashes::sha512::Hash::from_engine(e: bitcoin_hashes::sha512::HashEngine) -> bitcoin_hashes::sha512::Hash +pub fn bitcoin_hashes::sha512::Hash::from_slice(sl: &[u8]) -> core::result::Result +pub fn bitcoin_hashes::sha512::Hash::from_str(s: &str) -> core::result::Result +pub fn bitcoin_hashes::sha512::Hash::hash(data: &[u8]) -> Self +pub fn bitcoin_hashes::sha512::Hash::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_hashes::sha512::Hash::hash_byte_chunks(byte_slices: I) -> Self where B: core::convert::AsRef<[u8]>, I: core::iter::traits::collect::IntoIterator +pub fn bitcoin_hashes::sha512::Hash::partial_cmp(&self, other: &bitcoin_hashes::sha512::Hash) -> core::option::Option +pub fn bitcoin_hashes::sha512::Hash::to_byte_array(self) -> Self::Bytes +pub fn bitcoin_hashes::sha512::HashEngine::clone(&self) -> bitcoin_hashes::sha512::HashEngine +pub fn bitcoin_hashes::sha512::HashEngine::default() -> Self +pub fn bitcoin_hashes::sha512::HashEngine::input(&mut self, inp: &[u8]) +pub fn bitcoin_hashes::sha512::HashEngine::n_bytes_hashed(&self) -> u64 +pub fn bitcoin_hashes::sha512_256::Hash::as_byte_array(&self) -> &Self::Bytes +pub fn bitcoin_hashes::sha512_256::Hash::as_ref(&self) -> &[u8; 32] +pub fn bitcoin_hashes::sha512_256::Hash::as_ref(&self) -> &[u8] +pub fn bitcoin_hashes::sha512_256::Hash::borrow(&self) -> &[u8; 32] +pub fn bitcoin_hashes::sha512_256::Hash::borrow(&self) -> &[u8] +pub fn bitcoin_hashes::sha512_256::Hash::clone(&self) -> bitcoin_hashes::sha512_256::Hash +pub fn bitcoin_hashes::sha512_256::Hash::cmp(&self, other: &bitcoin_hashes::sha512_256::Hash) -> core::cmp::Ordering +pub fn bitcoin_hashes::sha512_256::Hash::engine() -> bitcoin_hashes::sha512_256::HashEngine +pub fn bitcoin_hashes::sha512_256::Hash::eq(&self, other: &bitcoin_hashes::sha512_256::Hash) -> bool +pub fn bitcoin_hashes::sha512_256::Hash::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_hashes::sha512_256::Hash::from_byte_array(bytes: Self::Bytes) -> Self +pub fn bitcoin_hashes::sha512_256::Hash::from_bytes_mut(bytes: &mut [u8; 32]) -> &mut Self +pub fn bitcoin_hashes::sha512_256::Hash::from_bytes_ref(bytes: &[u8; 32]) -> &Self +pub fn bitcoin_hashes::sha512_256::Hash::from_engine(e: bitcoin_hashes::sha512_256::HashEngine) -> bitcoin_hashes::sha512_256::Hash +pub fn bitcoin_hashes::sha512_256::Hash::from_slice(sl: &[u8]) -> core::result::Result +pub fn bitcoin_hashes::sha512_256::Hash::from_str(s: &str) -> core::result::Result +pub fn bitcoin_hashes::sha512_256::Hash::hash(data: &[u8]) -> Self +pub fn bitcoin_hashes::sha512_256::Hash::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_hashes::sha512_256::Hash::hash_byte_chunks(byte_slices: I) -> Self where B: core::convert::AsRef<[u8]>, I: core::iter::traits::collect::IntoIterator +pub fn bitcoin_hashes::sha512_256::Hash::partial_cmp(&self, other: &bitcoin_hashes::sha512_256::Hash) -> core::option::Option +pub fn bitcoin_hashes::sha512_256::Hash::to_byte_array(self) -> Self::Bytes +pub fn bitcoin_hashes::sha512_256::HashEngine::clone(&self) -> bitcoin_hashes::sha512_256::HashEngine +pub fn bitcoin_hashes::sha512_256::HashEngine::default() -> Self +pub fn bitcoin_hashes::sha512_256::HashEngine::input(&mut self, inp: &[u8]) +pub fn bitcoin_hashes::sha512_256::HashEngine::n_bytes_hashed(&self) -> u64 +pub fn bitcoin_hashes::siphash24::Hash::as_byte_array(&self) -> &Self::Bytes +pub fn bitcoin_hashes::siphash24::Hash::as_ref(&self) -> &[u8; 8] +pub fn bitcoin_hashes::siphash24::Hash::as_ref(&self) -> &[u8] +pub fn bitcoin_hashes::siphash24::Hash::as_u64(&self) -> u64 +pub fn bitcoin_hashes::siphash24::Hash::borrow(&self) -> &[u8; 8] +pub fn bitcoin_hashes::siphash24::Hash::borrow(&self) -> &[u8] +pub fn bitcoin_hashes::siphash24::Hash::clone(&self) -> bitcoin_hashes::siphash24::Hash +pub fn bitcoin_hashes::siphash24::Hash::cmp(&self, other: &bitcoin_hashes::siphash24::Hash) -> core::cmp::Ordering +pub fn bitcoin_hashes::siphash24::Hash::eq(&self, other: &bitcoin_hashes::siphash24::Hash) -> bool +pub fn bitcoin_hashes::siphash24::Hash::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_hashes::siphash24::Hash::from_byte_array(bytes: Self::Bytes) -> Self +pub fn bitcoin_hashes::siphash24::Hash::from_bytes_mut(bytes: &mut [u8; 8]) -> &mut Self +pub fn bitcoin_hashes::siphash24::Hash::from_bytes_ref(bytes: &[u8; 8]) -> &Self +pub fn bitcoin_hashes::siphash24::Hash::from_engine(e: bitcoin_hashes::siphash24::HashEngine) -> bitcoin_hashes::siphash24::Hash +pub fn bitcoin_hashes::siphash24::Hash::from_engine_to_u64(e: bitcoin_hashes::siphash24::HashEngine) -> u64 +pub fn bitcoin_hashes::siphash24::Hash::from_slice(sl: &[u8]) -> core::result::Result +pub fn bitcoin_hashes::siphash24::Hash::from_str(s: &str) -> core::result::Result +pub fn bitcoin_hashes::siphash24::Hash::from_u64(hash: u64) -> bitcoin_hashes::siphash24::Hash +pub fn bitcoin_hashes::siphash24::Hash::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_hashes::siphash24::Hash::hash_to_u64_with_keys(k0: u64, k1: u64, data: &[u8]) -> u64 +pub fn bitcoin_hashes::siphash24::Hash::hash_with_keys(k0: u64, k1: u64, data: &[u8]) -> bitcoin_hashes::siphash24::Hash +pub fn bitcoin_hashes::siphash24::Hash::partial_cmp(&self, other: &bitcoin_hashes::siphash24::Hash) -> core::option::Option +pub fn bitcoin_hashes::siphash24::Hash::to_byte_array(self) -> Self::Bytes +pub fn bitcoin_hashes::siphash24::Hash::to_u64(self) -> u64 +pub fn bitcoin_hashes::siphash24::HashEngine::clone(&self) -> bitcoin_hashes::siphash24::HashEngine +pub fn bitcoin_hashes::siphash24::HashEngine::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_hashes::siphash24::HashEngine::input(&mut self, msg: &[u8]) +pub fn bitcoin_hashes::siphash24::HashEngine::keys(&self) -> (u64, u64) +pub fn bitcoin_hashes::siphash24::HashEngine::n_bytes_hashed(&self) -> u64 +pub fn bitcoin_hashes::siphash24::State::clone(&self) -> bitcoin_hashes::siphash24::State +pub fn bitcoin_hashes::siphash24::State::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub macro bitcoin_hashes::hash_newtype! +pub macro bitcoin_hashes::impl_debug_only_for_newtype! +pub macro bitcoin_hashes::impl_hex_for_newtype! +pub macro bitcoin_hashes::serde_impl! +pub macro bitcoin_hashes::sha256t_hash_newtype! +pub macro bitcoin_hashes::sha256t_tag! +pub mod bitcoin_hashes +pub mod bitcoin_hashes::cmp +pub mod bitcoin_hashes::error +pub mod bitcoin_hashes::hash160 +pub mod bitcoin_hashes::hkdf +pub mod bitcoin_hashes::hmac +pub mod bitcoin_hashes::macros +pub mod bitcoin_hashes::ripemd160 +pub mod bitcoin_hashes::serde_macros +pub mod bitcoin_hashes::sha1 +pub mod bitcoin_hashes::sha256 +pub mod bitcoin_hashes::sha256d +pub mod bitcoin_hashes::sha256t +pub mod bitcoin_hashes::sha384 +pub mod bitcoin_hashes::sha512 +pub mod bitcoin_hashes::sha512_256 +pub mod bitcoin_hashes::siphash24 +pub struct bitcoin_hashes::FromSliceError(_) +pub struct bitcoin_hashes::Hkdf +pub struct bitcoin_hashes::HmacEngine +pub struct bitcoin_hashes::error::FromSliceError(_) +pub struct bitcoin_hashes::hash160::HashEngine(_) +pub struct bitcoin_hashes::hkdf::Hkdf +pub struct bitcoin_hashes::hkdf::MaxLengthError +pub struct bitcoin_hashes::hmac::HmacEngine +pub struct bitcoin_hashes::ripemd160::HashEngine +pub struct bitcoin_hashes::sha1::HashEngine +pub struct bitcoin_hashes::sha256::HashEngine +pub struct bitcoin_hashes::sha256::Midstate +pub struct bitcoin_hashes::sha256::MidstateError +pub struct bitcoin_hashes::sha256d::HashEngine(_) +pub struct bitcoin_hashes::sha384::HashEngine(_) +pub struct bitcoin_hashes::sha512::HashEngine +pub struct bitcoin_hashes::sha512_256::HashEngine(_) +pub struct bitcoin_hashes::siphash24::HashEngine +pub struct bitcoin_hashes::siphash24::State +pub trait bitcoin_hashes::GeneralHash: bitcoin_hashes::Hash +pub trait bitcoin_hashes::Hash: core::marker::Copy + core::clone::Clone + core::cmp::PartialEq + core::cmp::Eq + core::cmp::PartialOrd + core::cmp::Ord + core::hash::Hash + core::convert::AsRef<[u8]> +pub trait bitcoin_hashes::HashEngine: core::clone::Clone +pub trait bitcoin_hashes::IsByteArray: core::convert::AsRef<[u8]> + sealed::IsByteArray +pub trait bitcoin_hashes::sha256t::Tag +pub type bitcoin_hashes::GeneralHash::Engine: bitcoin_hashes::HashEngine +pub type bitcoin_hashes::Hash::Bytes: core::marker::Copy + bitcoin_hashes::IsByteArray +pub type bitcoin_hashes::HkdfSha256 = bitcoin_hashes::hkdf::Hkdf +pub type bitcoin_hashes::HkdfSha512 = bitcoin_hashes::hkdf::Hkdf +pub type bitcoin_hashes::HmacSha256 = bitcoin_hashes::hmac::Hmac +pub type bitcoin_hashes::HmacSha512 = bitcoin_hashes::hmac::Hmac +pub type bitcoin_hashes::Sha256t = bitcoin_hashes::sha256t::Hash +pub type bitcoin_hashes::hash160::Hash::Bytes = [u8; 20] +pub type bitcoin_hashes::hash160::Hash::Engine = bitcoin_hashes::hash160::HashEngine +pub type bitcoin_hashes::hash160::Hash::Err = hex_conservative::error::HexToArrayError +pub type bitcoin_hashes::hmac::Hmac::Bytes = ::Bytes +pub type bitcoin_hashes::hmac::Hmac::Engine = bitcoin_hashes::hmac::HmacEngine +pub type bitcoin_hashes::hmac::Hmac::Err = ::Err +pub type bitcoin_hashes::ripemd160::Hash::Bytes = [u8; 20] +pub type bitcoin_hashes::ripemd160::Hash::Engine = bitcoin_hashes::ripemd160::HashEngine +pub type bitcoin_hashes::ripemd160::Hash::Err = hex_conservative::error::HexToArrayError +pub type bitcoin_hashes::sha1::Hash::Bytes = [u8; 20] +pub type bitcoin_hashes::sha1::Hash::Engine = bitcoin_hashes::sha1::HashEngine +pub type bitcoin_hashes::sha1::Hash::Err = hex_conservative::error::HexToArrayError +pub type bitcoin_hashes::sha256::Hash::Bytes = [u8; 32] +pub type bitcoin_hashes::sha256::Hash::Engine = bitcoin_hashes::sha256::HashEngine +pub type bitcoin_hashes::sha256::Hash::Err = hex_conservative::error::HexToArrayError +pub type bitcoin_hashes::sha256d::Hash::Bytes = [u8; 32] +pub type bitcoin_hashes::sha256d::Hash::Engine = bitcoin_hashes::sha256d::HashEngine +pub type bitcoin_hashes::sha256d::Hash::Err = hex_conservative::error::HexToArrayError +pub type bitcoin_hashes::sha256t::Hash::Bytes = [u8; 32] +pub type bitcoin_hashes::sha256t::Hash::Engine = bitcoin_hashes::sha256::HashEngine +pub type bitcoin_hashes::sha256t::Hash::Err = hex_conservative::error::HexToArrayError +pub type bitcoin_hashes::sha384::Hash::Bytes = [u8; 48] +pub type bitcoin_hashes::sha384::Hash::Engine = bitcoin_hashes::sha384::HashEngine +pub type bitcoin_hashes::sha384::Hash::Err = hex_conservative::error::HexToArrayError +pub type bitcoin_hashes::sha512::Hash::Bytes = [u8; 64] +pub type bitcoin_hashes::sha512::Hash::Engine = bitcoin_hashes::sha512::HashEngine +pub type bitcoin_hashes::sha512::Hash::Err = hex_conservative::error::HexToArrayError +pub type bitcoin_hashes::sha512_256::Hash::Bytes = [u8; 32] +pub type bitcoin_hashes::sha512_256::Hash::Engine = bitcoin_hashes::sha512_256::HashEngine +pub type bitcoin_hashes::sha512_256::Hash::Err = hex_conservative::error::HexToArrayError +pub type bitcoin_hashes::siphash24::Hash::Bytes = [u8; 8] +pub type bitcoin_hashes::siphash24::Hash::Engine = bitcoin_hashes::siphash24::HashEngine +pub type bitcoin_hashes::siphash24::Hash::Err = hex_conservative::error::HexToArrayError diff --git a/api/hashes/no-features.txt b/api/hashes/no-features.txt new file mode 100644 index 0000000000..5283250bd7 --- /dev/null +++ b/api/hashes/no-features.txt @@ -0,0 +1,882 @@ +#[repr(transparent)] pub struct bitcoin_hashes::Hash160(_) +#[repr(transparent)] pub struct bitcoin_hashes::Hmac(_) +#[repr(transparent)] pub struct bitcoin_hashes::Ripemd160(_) +#[repr(transparent)] pub struct bitcoin_hashes::Sha1(_) +#[repr(transparent)] pub struct bitcoin_hashes::Sha256(_) +#[repr(transparent)] pub struct bitcoin_hashes::Sha256d(_) +#[repr(transparent)] pub struct bitcoin_hashes::Sha384(_) +#[repr(transparent)] pub struct bitcoin_hashes::Sha512(_) +#[repr(transparent)] pub struct bitcoin_hashes::Sha512_256(_) +#[repr(transparent)] pub struct bitcoin_hashes::Siphash24(_) +#[repr(transparent)] pub struct bitcoin_hashes::hash160::Hash(_) +#[repr(transparent)] pub struct bitcoin_hashes::hmac::Hmac(_) +#[repr(transparent)] pub struct bitcoin_hashes::ripemd160::Hash(_) +#[repr(transparent)] pub struct bitcoin_hashes::sha1::Hash(_) +#[repr(transparent)] pub struct bitcoin_hashes::sha256::Hash(_) +#[repr(transparent)] pub struct bitcoin_hashes::sha256d::Hash(_) +#[repr(transparent)] pub struct bitcoin_hashes::sha256t::Hash(_, _) +#[repr(transparent)] pub struct bitcoin_hashes::sha384::Hash(_) +#[repr(transparent)] pub struct bitcoin_hashes::sha512::Hash(_) +#[repr(transparent)] pub struct bitcoin_hashes::sha512_256::Hash(_) +#[repr(transparent)] pub struct bitcoin_hashes::siphash24::Hash(_) +impl bitcoin_hashes::GeneralHash for bitcoin_hashes::hash160::Hash +impl bitcoin_hashes::GeneralHash for bitcoin_hashes::ripemd160::Hash +impl bitcoin_hashes::GeneralHash for bitcoin_hashes::sha1::Hash +impl bitcoin_hashes::GeneralHash for bitcoin_hashes::sha256::Hash +impl bitcoin_hashes::GeneralHash for bitcoin_hashes::sha256d::Hash +impl bitcoin_hashes::GeneralHash for bitcoin_hashes::sha384::Hash +impl bitcoin_hashes::GeneralHash for bitcoin_hashes::sha512::Hash +impl bitcoin_hashes::GeneralHash for bitcoin_hashes::sha512_256::Hash +impl bitcoin_hashes::GeneralHash for bitcoin_hashes::siphash24::Hash +impl bitcoin_hashes::Hash for bitcoin_hashes::hash160::Hash +impl bitcoin_hashes::Hash for bitcoin_hashes::ripemd160::Hash +impl bitcoin_hashes::Hash for bitcoin_hashes::sha1::Hash +impl bitcoin_hashes::Hash for bitcoin_hashes::sha256::Hash +impl bitcoin_hashes::Hash for bitcoin_hashes::sha256d::Hash +impl bitcoin_hashes::Hash for bitcoin_hashes::sha384::Hash +impl bitcoin_hashes::Hash for bitcoin_hashes::sha512::Hash +impl bitcoin_hashes::Hash for bitcoin_hashes::sha512_256::Hash +impl bitcoin_hashes::Hash for bitcoin_hashes::siphash24::Hash +impl bitcoin_hashes::HashEngine for bitcoin_hashes::hash160::HashEngine +impl bitcoin_hashes::HashEngine for bitcoin_hashes::ripemd160::HashEngine +impl bitcoin_hashes::HashEngine for bitcoin_hashes::sha1::HashEngine +impl bitcoin_hashes::HashEngine for bitcoin_hashes::sha256::HashEngine +impl bitcoin_hashes::HashEngine for bitcoin_hashes::sha256d::HashEngine +impl bitcoin_hashes::HashEngine for bitcoin_hashes::sha384::HashEngine +impl bitcoin_hashes::HashEngine for bitcoin_hashes::sha512::HashEngine +impl bitcoin_hashes::HashEngine for bitcoin_hashes::sha512_256::HashEngine +impl bitcoin_hashes::HashEngine for bitcoin_hashes::siphash24::HashEngine +impl bitcoin_hashes::error::FromSliceError +impl bitcoin_hashes::hash160::Hash +impl bitcoin_hashes::hash160::HashEngine +impl bitcoin_hashes::ripemd160::Hash +impl bitcoin_hashes::ripemd160::HashEngine +impl bitcoin_hashes::sha1::Hash +impl bitcoin_hashes::sha1::HashEngine +impl bitcoin_hashes::sha256::Hash +impl bitcoin_hashes::sha256::HashEngine +impl bitcoin_hashes::sha256::Midstate +impl bitcoin_hashes::sha256d::Hash +impl bitcoin_hashes::sha256d::HashEngine +impl bitcoin_hashes::sha384::Hash +impl bitcoin_hashes::sha384::HashEngine +impl bitcoin_hashes::sha512::Hash +impl bitcoin_hashes::sha512::HashEngine +impl bitcoin_hashes::sha512_256::Hash +impl bitcoin_hashes::sha512_256::HashEngine +impl bitcoin_hashes::siphash24::Hash +impl bitcoin_hashes::siphash24::HashEngine +impl core::borrow::Borrow<[u8; 20]> for bitcoin_hashes::hash160::Hash +impl core::borrow::Borrow<[u8; 20]> for bitcoin_hashes::ripemd160::Hash +impl core::borrow::Borrow<[u8; 20]> for bitcoin_hashes::sha1::Hash +impl core::borrow::Borrow<[u8; 32]> for bitcoin_hashes::sha256::Hash +impl core::borrow::Borrow<[u8; 32]> for bitcoin_hashes::sha256d::Hash +impl core::borrow::Borrow<[u8; 32]> for bitcoin_hashes::sha512_256::Hash +impl core::borrow::Borrow<[u8; 48]> for bitcoin_hashes::sha384::Hash +impl core::borrow::Borrow<[u8; 64]> for bitcoin_hashes::sha512::Hash +impl core::borrow::Borrow<[u8; 8]> for bitcoin_hashes::siphash24::Hash +impl core::borrow::Borrow<[u8]> for bitcoin_hashes::hash160::Hash +impl core::borrow::Borrow<[u8]> for bitcoin_hashes::ripemd160::Hash +impl core::borrow::Borrow<[u8]> for bitcoin_hashes::sha1::Hash +impl core::borrow::Borrow<[u8]> for bitcoin_hashes::sha256::Hash +impl core::borrow::Borrow<[u8]> for bitcoin_hashes::sha256d::Hash +impl core::borrow::Borrow<[u8]> for bitcoin_hashes::sha384::Hash +impl core::borrow::Borrow<[u8]> for bitcoin_hashes::sha512::Hash +impl core::borrow::Borrow<[u8]> for bitcoin_hashes::sha512_256::Hash +impl core::borrow::Borrow<[u8]> for bitcoin_hashes::siphash24::Hash +impl core::clone::Clone for bitcoin_hashes::error::FromSliceError +impl core::clone::Clone for bitcoin_hashes::hash160::Hash +impl core::clone::Clone for bitcoin_hashes::hash160::HashEngine +impl core::clone::Clone for bitcoin_hashes::hkdf::MaxLengthError +impl core::clone::Clone for bitcoin_hashes::ripemd160::Hash +impl core::clone::Clone for bitcoin_hashes::ripemd160::HashEngine +impl core::clone::Clone for bitcoin_hashes::sha1::Hash +impl core::clone::Clone for bitcoin_hashes::sha1::HashEngine +impl core::clone::Clone for bitcoin_hashes::sha256::Hash +impl core::clone::Clone for bitcoin_hashes::sha256::HashEngine +impl core::clone::Clone for bitcoin_hashes::sha256::Midstate +impl core::clone::Clone for bitcoin_hashes::sha256::MidstateError +impl core::clone::Clone for bitcoin_hashes::sha256d::Hash +impl core::clone::Clone for bitcoin_hashes::sha256d::HashEngine +impl core::clone::Clone for bitcoin_hashes::sha384::Hash +impl core::clone::Clone for bitcoin_hashes::sha384::HashEngine +impl core::clone::Clone for bitcoin_hashes::sha512::Hash +impl core::clone::Clone for bitcoin_hashes::sha512::HashEngine +impl core::clone::Clone for bitcoin_hashes::sha512_256::Hash +impl core::clone::Clone for bitcoin_hashes::sha512_256::HashEngine +impl core::clone::Clone for bitcoin_hashes::siphash24::Hash +impl core::clone::Clone for bitcoin_hashes::siphash24::HashEngine +impl core::clone::Clone for bitcoin_hashes::siphash24::State +impl core::cmp::Eq for bitcoin_hashes::error::FromSliceError +impl core::cmp::Eq for bitcoin_hashes::hash160::Hash +impl core::cmp::Eq for bitcoin_hashes::hkdf::MaxLengthError +impl core::cmp::Eq for bitcoin_hashes::ripemd160::Hash +impl core::cmp::Eq for bitcoin_hashes::sha1::Hash +impl core::cmp::Eq for bitcoin_hashes::sha256::Hash +impl core::cmp::Eq for bitcoin_hashes::sha256::Midstate +impl core::cmp::Eq for bitcoin_hashes::sha256::MidstateError +impl core::cmp::Eq for bitcoin_hashes::sha256d::Hash +impl core::cmp::Eq for bitcoin_hashes::sha384::Hash +impl core::cmp::Eq for bitcoin_hashes::sha512::Hash +impl core::cmp::Eq for bitcoin_hashes::sha512_256::Hash +impl core::cmp::Eq for bitcoin_hashes::siphash24::Hash +impl core::cmp::Ord for bitcoin_hashes::hash160::Hash +impl core::cmp::Ord for bitcoin_hashes::ripemd160::Hash +impl core::cmp::Ord for bitcoin_hashes::sha1::Hash +impl core::cmp::Ord for bitcoin_hashes::sha256::Hash +impl core::cmp::Ord for bitcoin_hashes::sha256::Midstate +impl core::cmp::Ord for bitcoin_hashes::sha256d::Hash +impl core::cmp::Ord for bitcoin_hashes::sha384::Hash +impl core::cmp::Ord for bitcoin_hashes::sha512::Hash +impl core::cmp::Ord for bitcoin_hashes::sha512_256::Hash +impl core::cmp::Ord for bitcoin_hashes::siphash24::Hash +impl core::cmp::PartialEq for bitcoin_hashes::error::FromSliceError +impl core::cmp::PartialEq for bitcoin_hashes::hash160::Hash +impl core::cmp::PartialEq for bitcoin_hashes::hkdf::MaxLengthError +impl core::cmp::PartialEq for bitcoin_hashes::ripemd160::Hash +impl core::cmp::PartialEq for bitcoin_hashes::sha1::Hash +impl core::cmp::PartialEq for bitcoin_hashes::sha256::Hash +impl core::cmp::PartialEq for bitcoin_hashes::sha256::Midstate +impl core::cmp::PartialEq for bitcoin_hashes::sha256::MidstateError +impl core::cmp::PartialEq for bitcoin_hashes::sha256d::Hash +impl core::cmp::PartialEq for bitcoin_hashes::sha384::Hash +impl core::cmp::PartialEq for bitcoin_hashes::sha512::Hash +impl core::cmp::PartialEq for bitcoin_hashes::sha512_256::Hash +impl core::cmp::PartialEq for bitcoin_hashes::siphash24::Hash +impl core::cmp::PartialOrd for bitcoin_hashes::hash160::Hash +impl core::cmp::PartialOrd for bitcoin_hashes::ripemd160::Hash +impl core::cmp::PartialOrd for bitcoin_hashes::sha1::Hash +impl core::cmp::PartialOrd for bitcoin_hashes::sha256::Hash +impl core::cmp::PartialOrd for bitcoin_hashes::sha256::Midstate +impl core::cmp::PartialOrd for bitcoin_hashes::sha256d::Hash +impl core::cmp::PartialOrd for bitcoin_hashes::sha384::Hash +impl core::cmp::PartialOrd for bitcoin_hashes::sha512::Hash +impl core::cmp::PartialOrd for bitcoin_hashes::sha512_256::Hash +impl core::cmp::PartialOrd for bitcoin_hashes::siphash24::Hash +impl core::convert::AsRef<[u8; 20]> for bitcoin_hashes::hash160::Hash +impl core::convert::AsRef<[u8; 20]> for bitcoin_hashes::ripemd160::Hash +impl core::convert::AsRef<[u8; 20]> for bitcoin_hashes::sha1::Hash +impl core::convert::AsRef<[u8; 32]> for bitcoin_hashes::sha256::Hash +impl core::convert::AsRef<[u8; 32]> for bitcoin_hashes::sha256d::Hash +impl core::convert::AsRef<[u8; 32]> for bitcoin_hashes::sha512_256::Hash +impl core::convert::AsRef<[u8; 48]> for bitcoin_hashes::sha384::Hash +impl core::convert::AsRef<[u8; 64]> for bitcoin_hashes::sha512::Hash +impl core::convert::AsRef<[u8; 8]> for bitcoin_hashes::siphash24::Hash +impl core::convert::AsRef<[u8]> for bitcoin_hashes::hash160::Hash +impl core::convert::AsRef<[u8]> for bitcoin_hashes::ripemd160::Hash +impl core::convert::AsRef<[u8]> for bitcoin_hashes::sha1::Hash +impl core::convert::AsRef<[u8]> for bitcoin_hashes::sha256::Hash +impl core::convert::AsRef<[u8]> for bitcoin_hashes::sha256::Midstate +impl core::convert::AsRef<[u8]> for bitcoin_hashes::sha256d::Hash +impl core::convert::AsRef<[u8]> for bitcoin_hashes::sha384::Hash +impl core::convert::AsRef<[u8]> for bitcoin_hashes::sha512::Hash +impl core::convert::AsRef<[u8]> for bitcoin_hashes::sha512_256::Hash +impl core::convert::AsRef<[u8]> for bitcoin_hashes::siphash24::Hash +impl core::convert::From for bitcoin_hashes::error::FromSliceError +impl core::default::Default for bitcoin_hashes::hash160::HashEngine +impl core::default::Default for bitcoin_hashes::ripemd160::HashEngine +impl core::default::Default for bitcoin_hashes::sha1::HashEngine +impl core::default::Default for bitcoin_hashes::sha256::HashEngine +impl core::default::Default for bitcoin_hashes::sha256::Midstate +impl core::default::Default for bitcoin_hashes::sha256d::HashEngine +impl core::default::Default for bitcoin_hashes::sha384::HashEngine +impl core::default::Default for bitcoin_hashes::sha512::HashEngine +impl core::default::Default for bitcoin_hashes::sha512_256::HashEngine +impl core::fmt::Debug for bitcoin_hashes::error::FromSliceError +impl core::fmt::Debug for bitcoin_hashes::hash160::Hash +impl core::fmt::Debug for bitcoin_hashes::hkdf::MaxLengthError +impl core::fmt::Debug for bitcoin_hashes::ripemd160::Hash +impl core::fmt::Debug for bitcoin_hashes::sha1::Hash +impl core::fmt::Debug for bitcoin_hashes::sha256::Hash +impl core::fmt::Debug for bitcoin_hashes::sha256::Midstate +impl core::fmt::Debug for bitcoin_hashes::sha256::MidstateError +impl core::fmt::Debug for bitcoin_hashes::sha256d::Hash +impl core::fmt::Debug for bitcoin_hashes::sha384::Hash +impl core::fmt::Debug for bitcoin_hashes::sha512::Hash +impl core::fmt::Debug for bitcoin_hashes::sha512_256::Hash +impl core::fmt::Debug for bitcoin_hashes::siphash24::Hash +impl core::fmt::Debug for bitcoin_hashes::siphash24::HashEngine +impl core::fmt::Debug for bitcoin_hashes::siphash24::State +impl core::fmt::Display for bitcoin_hashes::error::FromSliceError +impl core::fmt::Display for bitcoin_hashes::hkdf::MaxLengthError +impl core::fmt::Display for bitcoin_hashes::sha256::MidstateError +impl core::hash::Hash for bitcoin_hashes::hash160::Hash +impl core::hash::Hash for bitcoin_hashes::ripemd160::Hash +impl core::hash::Hash for bitcoin_hashes::sha1::Hash +impl core::hash::Hash for bitcoin_hashes::sha256::Hash +impl core::hash::Hash for bitcoin_hashes::sha256::Midstate +impl core::hash::Hash for bitcoin_hashes::sha256d::Hash +impl core::hash::Hash for bitcoin_hashes::sha384::Hash +impl core::hash::Hash for bitcoin_hashes::sha512::Hash +impl core::hash::Hash for bitcoin_hashes::sha512_256::Hash +impl core::hash::Hash for bitcoin_hashes::siphash24::Hash +impl core::marker::Copy for bitcoin_hashes::hash160::Hash +impl core::marker::Copy for bitcoin_hashes::hkdf::MaxLengthError +impl core::marker::Copy for bitcoin_hashes::ripemd160::Hash +impl core::marker::Copy for bitcoin_hashes::sha1::Hash +impl core::marker::Copy for bitcoin_hashes::sha256::Hash +impl core::marker::Copy for bitcoin_hashes::sha256::Midstate +impl core::marker::Copy for bitcoin_hashes::sha256d::Hash +impl core::marker::Copy for bitcoin_hashes::sha384::Hash +impl core::marker::Copy for bitcoin_hashes::sha512::Hash +impl core::marker::Copy for bitcoin_hashes::sha512_256::Hash +impl core::marker::Copy for bitcoin_hashes::siphash24::Hash +impl core::marker::Freeze for bitcoin_hashes::error::FromSliceError +impl core::marker::Freeze for bitcoin_hashes::hash160::Hash +impl core::marker::Freeze for bitcoin_hashes::hash160::HashEngine +impl core::marker::Freeze for bitcoin_hashes::hkdf::MaxLengthError +impl core::marker::Freeze for bitcoin_hashes::ripemd160::Hash +impl core::marker::Freeze for bitcoin_hashes::ripemd160::HashEngine +impl core::marker::Freeze for bitcoin_hashes::sha1::Hash +impl core::marker::Freeze for bitcoin_hashes::sha1::HashEngine +impl core::marker::Freeze for bitcoin_hashes::sha256::Hash +impl core::marker::Freeze for bitcoin_hashes::sha256::HashEngine +impl core::marker::Freeze for bitcoin_hashes::sha256::Midstate +impl core::marker::Freeze for bitcoin_hashes::sha256::MidstateError +impl core::marker::Freeze for bitcoin_hashes::sha256d::Hash +impl core::marker::Freeze for bitcoin_hashes::sha256d::HashEngine +impl core::marker::Freeze for bitcoin_hashes::sha384::Hash +impl core::marker::Freeze for bitcoin_hashes::sha384::HashEngine +impl core::marker::Freeze for bitcoin_hashes::sha512::Hash +impl core::marker::Freeze for bitcoin_hashes::sha512::HashEngine +impl core::marker::Freeze for bitcoin_hashes::sha512_256::Hash +impl core::marker::Freeze for bitcoin_hashes::sha512_256::HashEngine +impl core::marker::Freeze for bitcoin_hashes::siphash24::Hash +impl core::marker::Freeze for bitcoin_hashes::siphash24::HashEngine +impl core::marker::Freeze for bitcoin_hashes::siphash24::State +impl core::marker::Send for bitcoin_hashes::error::FromSliceError +impl core::marker::Send for bitcoin_hashes::hash160::Hash +impl core::marker::Send for bitcoin_hashes::hash160::HashEngine +impl core::marker::Send for bitcoin_hashes::hkdf::MaxLengthError +impl core::marker::Send for bitcoin_hashes::ripemd160::Hash +impl core::marker::Send for bitcoin_hashes::ripemd160::HashEngine +impl core::marker::Send for bitcoin_hashes::sha1::Hash +impl core::marker::Send for bitcoin_hashes::sha1::HashEngine +impl core::marker::Send for bitcoin_hashes::sha256::Hash +impl core::marker::Send for bitcoin_hashes::sha256::HashEngine +impl core::marker::Send for bitcoin_hashes::sha256::Midstate +impl core::marker::Send for bitcoin_hashes::sha256::MidstateError +impl core::marker::Send for bitcoin_hashes::sha256d::Hash +impl core::marker::Send for bitcoin_hashes::sha256d::HashEngine +impl core::marker::Send for bitcoin_hashes::sha384::Hash +impl core::marker::Send for bitcoin_hashes::sha384::HashEngine +impl core::marker::Send for bitcoin_hashes::sha512::Hash +impl core::marker::Send for bitcoin_hashes::sha512::HashEngine +impl core::marker::Send for bitcoin_hashes::sha512_256::Hash +impl core::marker::Send for bitcoin_hashes::sha512_256::HashEngine +impl core::marker::Send for bitcoin_hashes::siphash24::Hash +impl core::marker::Send for bitcoin_hashes::siphash24::HashEngine +impl core::marker::Send for bitcoin_hashes::siphash24::State +impl core::marker::StructuralPartialEq for bitcoin_hashes::error::FromSliceError +impl core::marker::StructuralPartialEq for bitcoin_hashes::hash160::Hash +impl core::marker::StructuralPartialEq for bitcoin_hashes::hkdf::MaxLengthError +impl core::marker::StructuralPartialEq for bitcoin_hashes::ripemd160::Hash +impl core::marker::StructuralPartialEq for bitcoin_hashes::sha1::Hash +impl core::marker::StructuralPartialEq for bitcoin_hashes::sha256::Hash +impl core::marker::StructuralPartialEq for bitcoin_hashes::sha256::Midstate +impl core::marker::StructuralPartialEq for bitcoin_hashes::sha256::MidstateError +impl core::marker::StructuralPartialEq for bitcoin_hashes::sha256d::Hash +impl core::marker::StructuralPartialEq for bitcoin_hashes::sha384::Hash +impl core::marker::StructuralPartialEq for bitcoin_hashes::sha512::Hash +impl core::marker::StructuralPartialEq for bitcoin_hashes::sha512_256::Hash +impl core::marker::StructuralPartialEq for bitcoin_hashes::siphash24::Hash +impl core::marker::Sync for bitcoin_hashes::error::FromSliceError +impl core::marker::Sync for bitcoin_hashes::hash160::Hash +impl core::marker::Sync for bitcoin_hashes::hash160::HashEngine +impl core::marker::Sync for bitcoin_hashes::hkdf::MaxLengthError +impl core::marker::Sync for bitcoin_hashes::ripemd160::Hash +impl core::marker::Sync for bitcoin_hashes::ripemd160::HashEngine +impl core::marker::Sync for bitcoin_hashes::sha1::Hash +impl core::marker::Sync for bitcoin_hashes::sha1::HashEngine +impl core::marker::Sync for bitcoin_hashes::sha256::Hash +impl core::marker::Sync for bitcoin_hashes::sha256::HashEngine +impl core::marker::Sync for bitcoin_hashes::sha256::Midstate +impl core::marker::Sync for bitcoin_hashes::sha256::MidstateError +impl core::marker::Sync for bitcoin_hashes::sha256d::Hash +impl core::marker::Sync for bitcoin_hashes::sha256d::HashEngine +impl core::marker::Sync for bitcoin_hashes::sha384::Hash +impl core::marker::Sync for bitcoin_hashes::sha384::HashEngine +impl core::marker::Sync for bitcoin_hashes::sha512::Hash +impl core::marker::Sync for bitcoin_hashes::sha512::HashEngine +impl core::marker::Sync for bitcoin_hashes::sha512_256::Hash +impl core::marker::Sync for bitcoin_hashes::sha512_256::HashEngine +impl core::marker::Sync for bitcoin_hashes::siphash24::Hash +impl core::marker::Sync for bitcoin_hashes::siphash24::HashEngine +impl core::marker::Sync for bitcoin_hashes::siphash24::State +impl core::marker::Unpin for bitcoin_hashes::error::FromSliceError +impl core::marker::Unpin for bitcoin_hashes::hash160::Hash +impl core::marker::Unpin for bitcoin_hashes::hash160::HashEngine +impl core::marker::Unpin for bitcoin_hashes::hkdf::MaxLengthError +impl core::marker::Unpin for bitcoin_hashes::ripemd160::Hash +impl core::marker::Unpin for bitcoin_hashes::ripemd160::HashEngine +impl core::marker::Unpin for bitcoin_hashes::sha1::Hash +impl core::marker::Unpin for bitcoin_hashes::sha1::HashEngine +impl core::marker::Unpin for bitcoin_hashes::sha256::Hash +impl core::marker::Unpin for bitcoin_hashes::sha256::HashEngine +impl core::marker::Unpin for bitcoin_hashes::sha256::Midstate +impl core::marker::Unpin for bitcoin_hashes::sha256::MidstateError +impl core::marker::Unpin for bitcoin_hashes::sha256d::Hash +impl core::marker::Unpin for bitcoin_hashes::sha256d::HashEngine +impl core::marker::Unpin for bitcoin_hashes::sha384::Hash +impl core::marker::Unpin for bitcoin_hashes::sha384::HashEngine +impl core::marker::Unpin for bitcoin_hashes::sha512::Hash +impl core::marker::Unpin for bitcoin_hashes::sha512::HashEngine +impl core::marker::Unpin for bitcoin_hashes::sha512_256::Hash +impl core::marker::Unpin for bitcoin_hashes::sha512_256::HashEngine +impl core::marker::Unpin for bitcoin_hashes::siphash24::Hash +impl core::marker::Unpin for bitcoin_hashes::siphash24::HashEngine +impl core::marker::Unpin for bitcoin_hashes::siphash24::State +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_hashes::error::FromSliceError +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_hashes::hash160::Hash +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_hashes::hash160::HashEngine +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_hashes::hkdf::MaxLengthError +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_hashes::ripemd160::Hash +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_hashes::ripemd160::HashEngine +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_hashes::sha1::Hash +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_hashes::sha1::HashEngine +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_hashes::sha256::Hash +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_hashes::sha256::HashEngine +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_hashes::sha256::Midstate +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_hashes::sha256::MidstateError +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_hashes::sha256d::Hash +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_hashes::sha256d::HashEngine +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_hashes::sha384::Hash +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_hashes::sha384::HashEngine +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_hashes::sha512::Hash +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_hashes::sha512::HashEngine +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_hashes::sha512_256::Hash +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_hashes::sha512_256::HashEngine +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_hashes::siphash24::Hash +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_hashes::siphash24::HashEngine +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_hashes::siphash24::State +impl core::panic::unwind_safe::UnwindSafe for bitcoin_hashes::error::FromSliceError +impl core::panic::unwind_safe::UnwindSafe for bitcoin_hashes::hash160::Hash +impl core::panic::unwind_safe::UnwindSafe for bitcoin_hashes::hash160::HashEngine +impl core::panic::unwind_safe::UnwindSafe for bitcoin_hashes::hkdf::MaxLengthError +impl core::panic::unwind_safe::UnwindSafe for bitcoin_hashes::ripemd160::Hash +impl core::panic::unwind_safe::UnwindSafe for bitcoin_hashes::ripemd160::HashEngine +impl core::panic::unwind_safe::UnwindSafe for bitcoin_hashes::sha1::Hash +impl core::panic::unwind_safe::UnwindSafe for bitcoin_hashes::sha1::HashEngine +impl core::panic::unwind_safe::UnwindSafe for bitcoin_hashes::sha256::Hash +impl core::panic::unwind_safe::UnwindSafe for bitcoin_hashes::sha256::HashEngine +impl core::panic::unwind_safe::UnwindSafe for bitcoin_hashes::sha256::Midstate +impl core::panic::unwind_safe::UnwindSafe for bitcoin_hashes::sha256::MidstateError +impl core::panic::unwind_safe::UnwindSafe for bitcoin_hashes::sha256d::Hash +impl core::panic::unwind_safe::UnwindSafe for bitcoin_hashes::sha256d::HashEngine +impl core::panic::unwind_safe::UnwindSafe for bitcoin_hashes::sha384::Hash +impl core::panic::unwind_safe::UnwindSafe for bitcoin_hashes::sha384::HashEngine +impl core::panic::unwind_safe::UnwindSafe for bitcoin_hashes::sha512::Hash +impl core::panic::unwind_safe::UnwindSafe for bitcoin_hashes::sha512::HashEngine +impl core::panic::unwind_safe::UnwindSafe for bitcoin_hashes::sha512_256::Hash +impl core::panic::unwind_safe::UnwindSafe for bitcoin_hashes::sha512_256::HashEngine +impl core::panic::unwind_safe::UnwindSafe for bitcoin_hashes::siphash24::Hash +impl core::panic::unwind_safe::UnwindSafe for bitcoin_hashes::siphash24::HashEngine +impl core::panic::unwind_safe::UnwindSafe for bitcoin_hashes::siphash24::State +impl core::fmt::Debug for bitcoin_hashes::hmac::Hmac +impl core::fmt::Display for bitcoin_hashes::hmac::Hmac +impl core::fmt::LowerHex for bitcoin_hashes::hmac::Hmac +impl core::str::traits::FromStr for bitcoin_hashes::hmac::Hmac +impl bitcoin_hashes::GeneralHash for bitcoin_hashes::hmac::Hmac +impl bitcoin_hashes::Hash for bitcoin_hashes::hmac::Hmac +impl bitcoin_hashes::HashEngine for bitcoin_hashes::hmac::HmacEngine +impl bitcoin_hashes::hkdf::Hkdf where ::Engine: core::default::Default +impl bitcoin_hashes::hmac::HmacEngine +impl core::convert::AsRef<[u8]> for bitcoin_hashes::hmac::Hmac +impl core::default::Default for bitcoin_hashes::hmac::HmacEngine where ::Engine: core::default::Default +impl core::marker::StructuralPartialEq for bitcoin_hashes::hmac::Hmac +impl bitcoin_hashes::GeneralHash for bitcoin_hashes::sha256t::Hash +impl bitcoin_hashes::Hash for bitcoin_hashes::sha256t::Hash +impl core::borrow::Borrow<[u8; 32]> for bitcoin_hashes::sha256t::Hash +impl core::borrow::Borrow<[u8]> for bitcoin_hashes::sha256t::Hash +impl core::clone::Clone for bitcoin_hashes::sha256t::Hash +impl core::cmp::Eq for bitcoin_hashes::sha256t::Hash +impl core::cmp::Ord for bitcoin_hashes::sha256t::Hash +impl core::cmp::PartialEq for bitcoin_hashes::sha256t::Hash +impl core::cmp::PartialOrd for bitcoin_hashes::sha256t::Hash +impl core::convert::AsRef<[u8; 32]> for bitcoin_hashes::sha256t::Hash +impl core::convert::AsRef<[u8]> for bitcoin_hashes::sha256t::Hash +impl core::default::Default for bitcoin_hashes::sha256t::Hash +impl core::fmt::Debug for bitcoin_hashes::sha256t::Hash +impl core::hash::Hash for bitcoin_hashes::sha256t::Hash +impl core::marker::Copy for bitcoin_hashes::sha256t::Hash +impl core::clone::Clone for bitcoin_hashes::hmac::Hmac +impl core::clone::Clone for bitcoin_hashes::hmac::HmacEngine where ::Engine: core::clone::Clone +impl core::cmp::Eq for bitcoin_hashes::hmac::Hmac +impl core::cmp::Ord for bitcoin_hashes::hmac::Hmac +impl core::cmp::PartialEq for bitcoin_hashes::hmac::Hmac +impl core::cmp::PartialOrd for bitcoin_hashes::hmac::Hmac +impl core::hash::Hash for bitcoin_hashes::hmac::Hmac +impl core::marker::Copy for bitcoin_hashes::hmac::Hmac +impl bitcoin_hashes::sha256t::Hash where T: bitcoin_hashes::sha256t::Tag +impl core::marker::Freeze for bitcoin_hashes::hkdf::Hkdf where T: core::marker::Freeze +impl core::marker::Freeze for bitcoin_hashes::hmac::Hmac where T: core::marker::Freeze +impl core::marker::Freeze for bitcoin_hashes::hmac::HmacEngine where ::Engine: core::marker::Freeze +impl core::marker::Freeze for bitcoin_hashes::sha256t::Hash +impl core::marker::Send for bitcoin_hashes::hkdf::Hkdf where T: core::marker::Send +impl core::marker::Send for bitcoin_hashes::hmac::Hmac where T: core::marker::Send +impl core::marker::Send for bitcoin_hashes::hmac::HmacEngine where ::Engine: core::marker::Send +impl core::marker::Send for bitcoin_hashes::sha256t::Hash where T: core::marker::Send +impl core::marker::Sync for bitcoin_hashes::hkdf::Hkdf where T: core::marker::Sync +impl core::marker::Sync for bitcoin_hashes::hmac::Hmac where T: core::marker::Sync +impl core::marker::Sync for bitcoin_hashes::hmac::HmacEngine where ::Engine: core::marker::Sync +impl core::marker::Sync for bitcoin_hashes::sha256t::Hash where T: core::marker::Sync +impl core::marker::Unpin for bitcoin_hashes::hkdf::Hkdf where T: core::marker::Unpin +impl core::marker::Unpin for bitcoin_hashes::hmac::Hmac where T: core::marker::Unpin +impl core::marker::Unpin for bitcoin_hashes::hmac::HmacEngine where ::Engine: core::marker::Unpin +impl core::marker::Unpin for bitcoin_hashes::sha256t::Hash where T: core::marker::Unpin +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_hashes::hkdf::Hkdf where T: core::panic::unwind_safe::RefUnwindSafe +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_hashes::hmac::Hmac where T: core::panic::unwind_safe::RefUnwindSafe +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_hashes::hmac::HmacEngine where ::Engine: core::panic::unwind_safe::RefUnwindSafe +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_hashes::sha256t::Hash where T: core::panic::unwind_safe::RefUnwindSafe +impl core::panic::unwind_safe::UnwindSafe for bitcoin_hashes::hkdf::Hkdf where T: core::panic::unwind_safe::UnwindSafe +impl core::panic::unwind_safe::UnwindSafe for bitcoin_hashes::hmac::Hmac where T: core::panic::unwind_safe::UnwindSafe +impl core::panic::unwind_safe::UnwindSafe for bitcoin_hashes::hmac::HmacEngine where ::Engine: core::panic::unwind_safe::UnwindSafe +impl core::panic::unwind_safe::UnwindSafe for bitcoin_hashes::sha256t::Hash where T: core::panic::unwind_safe::UnwindSafe +impl bitcoin_hashes::IsByteArray for [u8; N] +pub const [u8; N]::LEN: usize +pub const bitcoin_hashes::Hash::DISPLAY_BACKWARD: bool +pub const bitcoin_hashes::Hash::LEN: usize +pub const bitcoin_hashes::HashEngine::BLOCK_SIZE: usize +pub const bitcoin_hashes::IsByteArray::LEN: usize +pub const bitcoin_hashes::hash160::Hash::DISPLAY_BACKWARD: bool +pub const bitcoin_hashes::hash160::HashEngine::BLOCK_SIZE: usize +pub const bitcoin_hashes::hmac::HmacEngine::BLOCK_SIZE: usize +pub const bitcoin_hashes::ripemd160::Hash::DISPLAY_BACKWARD: bool +pub const bitcoin_hashes::ripemd160::HashEngine::BLOCK_SIZE: usize +pub const bitcoin_hashes::sha1::Hash::DISPLAY_BACKWARD: bool +pub const bitcoin_hashes::sha1::HashEngine::BLOCK_SIZE: usize +pub const bitcoin_hashes::sha256::Hash::DISPLAY_BACKWARD: bool +pub const bitcoin_hashes::sha256::HashEngine::BLOCK_SIZE: usize +pub const bitcoin_hashes::sha256d::Hash::DISPLAY_BACKWARD: bool +pub const bitcoin_hashes::sha256d::HashEngine::BLOCK_SIZE: usize +pub const bitcoin_hashes::sha256t::Hash::DISPLAY_BACKWARD: bool +pub const bitcoin_hashes::sha384::Hash::DISPLAY_BACKWARD: bool +pub const bitcoin_hashes::sha384::HashEngine::BLOCK_SIZE: usize +pub const bitcoin_hashes::sha512::Hash::DISPLAY_BACKWARD: bool +pub const bitcoin_hashes::sha512::HashEngine::BLOCK_SIZE: usize +pub const bitcoin_hashes::sha512_256::Hash::DISPLAY_BACKWARD: bool +pub const bitcoin_hashes::sha512_256::HashEngine::BLOCK_SIZE: usize +pub const bitcoin_hashes::siphash24::Hash::DISPLAY_BACKWARD: bool +pub const bitcoin_hashes::siphash24::HashEngine::BLOCK_SIZE: usize +pub const fn bitcoin_hashes::hash160::Hash::as_byte_array(&self) -> &[u8; 20] +pub const fn bitcoin_hashes::hash160::Hash::from_byte_array(bytes: [u8; 20]) -> Self +pub const fn bitcoin_hashes::hash160::Hash::to_byte_array(self) -> [u8; 20] +pub const fn bitcoin_hashes::hash160::HashEngine::new() -> Self +pub const fn bitcoin_hashes::ripemd160::Hash::as_byte_array(&self) -> &[u8; 20] +pub const fn bitcoin_hashes::ripemd160::Hash::from_byte_array(bytes: [u8; 20]) -> Self +pub const fn bitcoin_hashes::ripemd160::Hash::to_byte_array(self) -> [u8; 20] +pub const fn bitcoin_hashes::ripemd160::HashEngine::new() -> Self +pub const fn bitcoin_hashes::sha1::Hash::as_byte_array(&self) -> &[u8; 20] +pub const fn bitcoin_hashes::sha1::Hash::from_byte_array(bytes: [u8; 20]) -> Self +pub const fn bitcoin_hashes::sha1::Hash::to_byte_array(self) -> [u8; 20] +pub const fn bitcoin_hashes::sha1::HashEngine::new() -> Self +pub const fn bitcoin_hashes::sha256::Hash::as_byte_array(&self) -> &[u8; 32] +pub const fn bitcoin_hashes::sha256::Hash::const_hash(bytes: &[u8]) -> Self +pub const fn bitcoin_hashes::sha256::Hash::from_byte_array(bytes: [u8; 32]) -> Self +pub const fn bitcoin_hashes::sha256::Hash::hash_unoptimized(bytes: &[u8]) -> Self +pub const fn bitcoin_hashes::sha256::Hash::to_byte_array(self) -> [u8; 32] +pub const fn bitcoin_hashes::sha256::HashEngine::can_extract_midstate(&self) -> bool +pub const fn bitcoin_hashes::sha256::HashEngine::new() -> Self +pub const fn bitcoin_hashes::sha256::Midstate::as_parts(&self) -> (&[u8; 32], u64) +pub const fn bitcoin_hashes::sha256::Midstate::hash_tag(tag: &[u8]) -> Self +pub const fn bitcoin_hashes::sha256::Midstate::new(state: [u8; 32], bytes_hashed: u64) -> Self +pub const fn bitcoin_hashes::sha256::Midstate::to_parts(self) -> ([u8; 32], u64) +pub const fn bitcoin_hashes::sha256d::Hash::as_byte_array(&self) -> &[u8; 32] +pub const fn bitcoin_hashes::sha256d::Hash::from_byte_array(bytes: [u8; 32]) -> Self +pub const fn bitcoin_hashes::sha256d::Hash::to_byte_array(self) -> [u8; 32] +pub const fn bitcoin_hashes::sha256d::HashEngine::new() -> Self +pub const fn bitcoin_hashes::sha256t::Hash::as_byte_array(&self) -> &[u8; 32] +pub const fn bitcoin_hashes::sha256t::Hash::from_byte_array(bytes: [u8; 32]) -> Self +pub const fn bitcoin_hashes::sha256t::Hash::to_byte_array(self) -> [u8; 32] +pub const fn bitcoin_hashes::sha384::Hash::as_byte_array(&self) -> &[u8; 48] +pub const fn bitcoin_hashes::sha384::Hash::from_byte_array(bytes: [u8; 48]) -> Self +pub const fn bitcoin_hashes::sha384::Hash::to_byte_array(self) -> [u8; 48] +pub const fn bitcoin_hashes::sha384::HashEngine::new() -> Self +pub const fn bitcoin_hashes::sha512::Hash::as_byte_array(&self) -> &[u8; 64] +pub const fn bitcoin_hashes::sha512::Hash::from_byte_array(bytes: [u8; 64]) -> Self +pub const fn bitcoin_hashes::sha512::Hash::to_byte_array(self) -> [u8; 64] +pub const fn bitcoin_hashes::sha512::HashEngine::new() -> Self +pub const fn bitcoin_hashes::sha512_256::Hash::as_byte_array(&self) -> &[u8; 32] +pub const fn bitcoin_hashes::sha512_256::Hash::from_byte_array(bytes: [u8; 32]) -> Self +pub const fn bitcoin_hashes::sha512_256::Hash::to_byte_array(self) -> [u8; 32] +pub const fn bitcoin_hashes::sha512_256::HashEngine::new() -> Self +pub const fn bitcoin_hashes::siphash24::Hash::as_byte_array(&self) -> &[u8; 8] +pub const fn bitcoin_hashes::siphash24::Hash::from_byte_array(bytes: [u8; 8]) -> Self +pub const fn bitcoin_hashes::siphash24::Hash::to_byte_array(self) -> [u8; 8] +pub const fn bitcoin_hashes::siphash24::HashEngine::with_keys(k0: u64, k1: u64) -> bitcoin_hashes::siphash24::HashEngine +pub fn bitcoin_hashes::GeneralHash::engine() -> Self::Engine where Self::Engine: core::default::Default +pub fn bitcoin_hashes::GeneralHash::from_engine(e: Self::Engine) -> Self +pub fn bitcoin_hashes::GeneralHash::hash(data: &[u8]) -> Self where Self::Engine: core::default::Default +pub fn bitcoin_hashes::GeneralHash::hash_byte_chunks(byte_slices: I) -> Self where B: core::convert::AsRef<[u8]>, I: core::iter::traits::collect::IntoIterator, Self::Engine: core::default::Default +pub fn bitcoin_hashes::Hash::as_byte_array(&self) -> &Self::Bytes +pub fn bitcoin_hashes::Hash::from_byte_array(bytes: Self::Bytes) -> Self +pub fn bitcoin_hashes::Hash::from_slice(sl: &[u8]) -> core::result::Result +pub fn bitcoin_hashes::Hash::to_byte_array(self) -> Self::Bytes +pub fn bitcoin_hashes::HashEngine::input(&mut self, data: &[u8]) +pub fn bitcoin_hashes::HashEngine::n_bytes_hashed(&self) -> u64 +pub fn bitcoin_hashes::cmp::fixed_time_eq(a: &[u8], b: &[u8]) -> bool +pub fn bitcoin_hashes::debug_hex(bytes: &[u8], f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_hashes::error::FromSliceError::clone(&self) -> bitcoin_hashes::error::FromSliceError +pub fn bitcoin_hashes::error::FromSliceError::eq(&self, other: &bitcoin_hashes::error::FromSliceError) -> bool +pub fn bitcoin_hashes::error::FromSliceError::expected_length(&self) -> usize +pub fn bitcoin_hashes::error::FromSliceError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_hashes::error::FromSliceError::from(never: core::convert::Infallible) -> Self +pub fn bitcoin_hashes::error::FromSliceError::invalid_length(&self) -> usize +pub fn bitcoin_hashes::hash160::Hash::as_byte_array(&self) -> &Self::Bytes +pub fn bitcoin_hashes::hash160::Hash::as_ref(&self) -> &[u8; 20] +pub fn bitcoin_hashes::hash160::Hash::as_ref(&self) -> &[u8] +pub fn bitcoin_hashes::hash160::Hash::borrow(&self) -> &[u8; 20] +pub fn bitcoin_hashes::hash160::Hash::borrow(&self) -> &[u8] +pub fn bitcoin_hashes::hash160::Hash::clone(&self) -> bitcoin_hashes::hash160::Hash +pub fn bitcoin_hashes::hash160::Hash::cmp(&self, other: &bitcoin_hashes::hash160::Hash) -> core::cmp::Ordering +pub fn bitcoin_hashes::hash160::Hash::engine() -> bitcoin_hashes::hash160::HashEngine +pub fn bitcoin_hashes::hash160::Hash::eq(&self, other: &bitcoin_hashes::hash160::Hash) -> bool +pub fn bitcoin_hashes::hash160::Hash::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_hashes::hash160::Hash::from_byte_array(bytes: Self::Bytes) -> Self +pub fn bitcoin_hashes::hash160::Hash::from_bytes_mut(bytes: &mut [u8; 20]) -> &mut Self +pub fn bitcoin_hashes::hash160::Hash::from_bytes_ref(bytes: &[u8; 20]) -> &Self +pub fn bitcoin_hashes::hash160::Hash::from_engine(e: bitcoin_hashes::hash160::HashEngine) -> bitcoin_hashes::hash160::Hash +pub fn bitcoin_hashes::hash160::Hash::from_slice(sl: &[u8]) -> core::result::Result +pub fn bitcoin_hashes::hash160::Hash::hash(data: &[u8]) -> Self +pub fn bitcoin_hashes::hash160::Hash::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_hashes::hash160::Hash::hash_byte_chunks(byte_slices: I) -> Self where B: core::convert::AsRef<[u8]>, I: core::iter::traits::collect::IntoIterator +pub fn bitcoin_hashes::hash160::Hash::partial_cmp(&self, other: &bitcoin_hashes::hash160::Hash) -> core::option::Option +pub fn bitcoin_hashes::hash160::Hash::to_byte_array(self) -> Self::Bytes +pub fn bitcoin_hashes::hash160::HashEngine::clone(&self) -> bitcoin_hashes::hash160::HashEngine +pub fn bitcoin_hashes::hash160::HashEngine::default() -> Self +pub fn bitcoin_hashes::hash160::HashEngine::input(&mut self, data: &[u8]) +pub fn bitcoin_hashes::hash160::HashEngine::n_bytes_hashed(&self) -> u64 +pub fn bitcoin_hashes::hkdf::Hkdf::expand(&self, info: &[u8], okm: &mut [u8]) -> core::result::Result<(), bitcoin_hashes::hkdf::MaxLengthError> +pub fn bitcoin_hashes::hkdf::Hkdf::new(salt: &[u8], ikm: &[u8]) -> Self +pub fn bitcoin_hashes::hkdf::MaxLengthError::clone(&self) -> bitcoin_hashes::hkdf::MaxLengthError +pub fn bitcoin_hashes::hkdf::MaxLengthError::eq(&self, other: &bitcoin_hashes::hkdf::MaxLengthError) -> bool +pub fn bitcoin_hashes::hkdf::MaxLengthError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_hashes::hmac::Hmac::as_byte_array(&self) -> &Self::Bytes +pub fn bitcoin_hashes::hmac::Hmac::as_ref(&self) -> &[u8] +pub fn bitcoin_hashes::hmac::Hmac::clone(&self) -> bitcoin_hashes::hmac::Hmac +pub fn bitcoin_hashes::hmac::Hmac::cmp(&self, other: &bitcoin_hashes::hmac::Hmac) -> core::cmp::Ordering +pub fn bitcoin_hashes::hmac::Hmac::eq(&self, other: &bitcoin_hashes::hmac::Hmac) -> bool +pub fn bitcoin_hashes::hmac::Hmac::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_hashes::hmac::Hmac::from_byte_array(bytes: ::Bytes) -> Self +pub fn bitcoin_hashes::hmac::Hmac::from_engine(e: bitcoin_hashes::hmac::HmacEngine) -> bitcoin_hashes::hmac::Hmac +pub fn bitcoin_hashes::hmac::Hmac::from_slice(sl: &[u8]) -> core::result::Result, bitcoin_hashes::error::FromSliceError> +pub fn bitcoin_hashes::hmac::Hmac::from_str(s: &str) -> core::result::Result +pub fn bitcoin_hashes::hmac::Hmac::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_hashes::hmac::Hmac::partial_cmp(&self, other: &bitcoin_hashes::hmac::Hmac) -> core::option::Option +pub fn bitcoin_hashes::hmac::Hmac::to_byte_array(self) -> Self::Bytes +pub fn bitcoin_hashes::hmac::HmacEngine::clone(&self) -> bitcoin_hashes::hmac::HmacEngine +pub fn bitcoin_hashes::hmac::HmacEngine::default() -> Self +pub fn bitcoin_hashes::hmac::HmacEngine::from_inner_engines(iengine: ::Engine, oengine: ::Engine) -> bitcoin_hashes::hmac::HmacEngine +pub fn bitcoin_hashes::hmac::HmacEngine::input(&mut self, buf: &[u8]) +pub fn bitcoin_hashes::hmac::HmacEngine::n_bytes_hashed(&self) -> u64 +pub fn bitcoin_hashes::hmac::HmacEngine::new(key: &[u8]) -> bitcoin_hashes::hmac::HmacEngine where ::Engine: core::default::Default +pub fn bitcoin_hashes::ripemd160::Hash::as_byte_array(&self) -> &Self::Bytes +pub fn bitcoin_hashes::ripemd160::Hash::as_ref(&self) -> &[u8; 20] +pub fn bitcoin_hashes::ripemd160::Hash::as_ref(&self) -> &[u8] +pub fn bitcoin_hashes::ripemd160::Hash::borrow(&self) -> &[u8; 20] +pub fn bitcoin_hashes::ripemd160::Hash::borrow(&self) -> &[u8] +pub fn bitcoin_hashes::ripemd160::Hash::clone(&self) -> bitcoin_hashes::ripemd160::Hash +pub fn bitcoin_hashes::ripemd160::Hash::cmp(&self, other: &bitcoin_hashes::ripemd160::Hash) -> core::cmp::Ordering +pub fn bitcoin_hashes::ripemd160::Hash::engine() -> bitcoin_hashes::ripemd160::HashEngine +pub fn bitcoin_hashes::ripemd160::Hash::eq(&self, other: &bitcoin_hashes::ripemd160::Hash) -> bool +pub fn bitcoin_hashes::ripemd160::Hash::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_hashes::ripemd160::Hash::from_byte_array(bytes: Self::Bytes) -> Self +pub fn bitcoin_hashes::ripemd160::Hash::from_bytes_mut(bytes: &mut [u8; 20]) -> &mut Self +pub fn bitcoin_hashes::ripemd160::Hash::from_bytes_ref(bytes: &[u8; 20]) -> &Self +pub fn bitcoin_hashes::ripemd160::Hash::from_engine(e: bitcoin_hashes::ripemd160::HashEngine) -> bitcoin_hashes::ripemd160::Hash +pub fn bitcoin_hashes::ripemd160::Hash::from_slice(sl: &[u8]) -> core::result::Result +pub fn bitcoin_hashes::ripemd160::Hash::hash(data: &[u8]) -> Self +pub fn bitcoin_hashes::ripemd160::Hash::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_hashes::ripemd160::Hash::hash_byte_chunks(byte_slices: I) -> Self where B: core::convert::AsRef<[u8]>, I: core::iter::traits::collect::IntoIterator +pub fn bitcoin_hashes::ripemd160::Hash::partial_cmp(&self, other: &bitcoin_hashes::ripemd160::Hash) -> core::option::Option +pub fn bitcoin_hashes::ripemd160::Hash::to_byte_array(self) -> Self::Bytes +pub fn bitcoin_hashes::ripemd160::HashEngine::clone(&self) -> bitcoin_hashes::ripemd160::HashEngine +pub fn bitcoin_hashes::ripemd160::HashEngine::default() -> Self +pub fn bitcoin_hashes::ripemd160::HashEngine::input(&mut self, inp: &[u8]) +pub fn bitcoin_hashes::ripemd160::HashEngine::n_bytes_hashed(&self) -> u64 +pub fn bitcoin_hashes::sha1::Hash::as_byte_array(&self) -> &Self::Bytes +pub fn bitcoin_hashes::sha1::Hash::as_ref(&self) -> &[u8; 20] +pub fn bitcoin_hashes::sha1::Hash::as_ref(&self) -> &[u8] +pub fn bitcoin_hashes::sha1::Hash::borrow(&self) -> &[u8; 20] +pub fn bitcoin_hashes::sha1::Hash::borrow(&self) -> &[u8] +pub fn bitcoin_hashes::sha1::Hash::clone(&self) -> bitcoin_hashes::sha1::Hash +pub fn bitcoin_hashes::sha1::Hash::cmp(&self, other: &bitcoin_hashes::sha1::Hash) -> core::cmp::Ordering +pub fn bitcoin_hashes::sha1::Hash::engine() -> bitcoin_hashes::sha1::HashEngine +pub fn bitcoin_hashes::sha1::Hash::eq(&self, other: &bitcoin_hashes::sha1::Hash) -> bool +pub fn bitcoin_hashes::sha1::Hash::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_hashes::sha1::Hash::from_byte_array(bytes: Self::Bytes) -> Self +pub fn bitcoin_hashes::sha1::Hash::from_bytes_mut(bytes: &mut [u8; 20]) -> &mut Self +pub fn bitcoin_hashes::sha1::Hash::from_bytes_ref(bytes: &[u8; 20]) -> &Self +pub fn bitcoin_hashes::sha1::Hash::from_engine(e: bitcoin_hashes::sha1::HashEngine) -> bitcoin_hashes::sha1::Hash +pub fn bitcoin_hashes::sha1::Hash::from_slice(sl: &[u8]) -> core::result::Result +pub fn bitcoin_hashes::sha1::Hash::hash(data: &[u8]) -> Self +pub fn bitcoin_hashes::sha1::Hash::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_hashes::sha1::Hash::hash_byte_chunks(byte_slices: I) -> Self where B: core::convert::AsRef<[u8]>, I: core::iter::traits::collect::IntoIterator +pub fn bitcoin_hashes::sha1::Hash::partial_cmp(&self, other: &bitcoin_hashes::sha1::Hash) -> core::option::Option +pub fn bitcoin_hashes::sha1::Hash::to_byte_array(self) -> Self::Bytes +pub fn bitcoin_hashes::sha1::HashEngine::clone(&self) -> bitcoin_hashes::sha1::HashEngine +pub fn bitcoin_hashes::sha1::HashEngine::default() -> Self +pub fn bitcoin_hashes::sha1::HashEngine::input(&mut self, inp: &[u8]) +pub fn bitcoin_hashes::sha1::HashEngine::n_bytes_hashed(&self) -> u64 +pub fn bitcoin_hashes::sha256::Hash::as_byte_array(&self) -> &Self::Bytes +pub fn bitcoin_hashes::sha256::Hash::as_ref(&self) -> &[u8; 32] +pub fn bitcoin_hashes::sha256::Hash::as_ref(&self) -> &[u8] +pub fn bitcoin_hashes::sha256::Hash::borrow(&self) -> &[u8; 32] +pub fn bitcoin_hashes::sha256::Hash::borrow(&self) -> &[u8] +pub fn bitcoin_hashes::sha256::Hash::clone(&self) -> bitcoin_hashes::sha256::Hash +pub fn bitcoin_hashes::sha256::Hash::cmp(&self, other: &bitcoin_hashes::sha256::Hash) -> core::cmp::Ordering +pub fn bitcoin_hashes::sha256::Hash::engine() -> bitcoin_hashes::sha256::HashEngine +pub fn bitcoin_hashes::sha256::Hash::eq(&self, other: &bitcoin_hashes::sha256::Hash) -> bool +pub fn bitcoin_hashes::sha256::Hash::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_hashes::sha256::Hash::from_byte_array(bytes: Self::Bytes) -> Self +pub fn bitcoin_hashes::sha256::Hash::from_bytes_mut(bytes: &mut [u8; 32]) -> &mut Self +pub fn bitcoin_hashes::sha256::Hash::from_bytes_ref(bytes: &[u8; 32]) -> &Self +pub fn bitcoin_hashes::sha256::Hash::from_engine(e: bitcoin_hashes::sha256::HashEngine) -> bitcoin_hashes::sha256::Hash +pub fn bitcoin_hashes::sha256::Hash::from_slice(sl: &[u8]) -> core::result::Result +pub fn bitcoin_hashes::sha256::Hash::hash(data: &[u8]) -> Self +pub fn bitcoin_hashes::sha256::Hash::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_hashes::sha256::Hash::hash_again(&self) -> bitcoin_hashes::sha256d::Hash +pub fn bitcoin_hashes::sha256::Hash::hash_byte_chunks(byte_slices: I) -> Self where B: core::convert::AsRef<[u8]>, I: core::iter::traits::collect::IntoIterator +pub fn bitcoin_hashes::sha256::Hash::partial_cmp(&self, other: &bitcoin_hashes::sha256::Hash) -> core::option::Option +pub fn bitcoin_hashes::sha256::Hash::to_byte_array(self) -> Self::Bytes +pub fn bitcoin_hashes::sha256::HashEngine::clone(&self) -> bitcoin_hashes::sha256::HashEngine +pub fn bitcoin_hashes::sha256::HashEngine::default() -> Self +pub fn bitcoin_hashes::sha256::HashEngine::from_midstate(midstate: bitcoin_hashes::sha256::Midstate) -> bitcoin_hashes::sha256::HashEngine +pub fn bitcoin_hashes::sha256::HashEngine::input(&mut self, inp: &[u8]) +pub fn bitcoin_hashes::sha256::HashEngine::midstate(&self) -> core::result::Result +pub fn bitcoin_hashes::sha256::HashEngine::n_bytes_hashed(&self) -> u64 +pub fn bitcoin_hashes::sha256::Midstate::as_ref(&self) -> &[u8] +pub fn bitcoin_hashes::sha256::Midstate::clone(&self) -> bitcoin_hashes::sha256::Midstate +pub fn bitcoin_hashes::sha256::Midstate::cmp(&self, other: &bitcoin_hashes::sha256::Midstate) -> core::cmp::Ordering +pub fn bitcoin_hashes::sha256::Midstate::default() -> bitcoin_hashes::sha256::Midstate +pub fn bitcoin_hashes::sha256::Midstate::eq(&self, other: &bitcoin_hashes::sha256::Midstate) -> bool +pub fn bitcoin_hashes::sha256::Midstate::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_hashes::sha256::Midstate::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_hashes::sha256::Midstate::partial_cmp(&self, other: &bitcoin_hashes::sha256::Midstate) -> core::option::Option +pub fn bitcoin_hashes::sha256::MidstateError::clone(&self) -> bitcoin_hashes::sha256::MidstateError +pub fn bitcoin_hashes::sha256::MidstateError::eq(&self, other: &bitcoin_hashes::sha256::MidstateError) -> bool +pub fn bitcoin_hashes::sha256::MidstateError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_hashes::sha256d::Hash::as_byte_array(&self) -> &Self::Bytes +pub fn bitcoin_hashes::sha256d::Hash::as_ref(&self) -> &[u8; 32] +pub fn bitcoin_hashes::sha256d::Hash::as_ref(&self) -> &[u8] +pub fn bitcoin_hashes::sha256d::Hash::borrow(&self) -> &[u8; 32] +pub fn bitcoin_hashes::sha256d::Hash::borrow(&self) -> &[u8] +pub fn bitcoin_hashes::sha256d::Hash::clone(&self) -> bitcoin_hashes::sha256d::Hash +pub fn bitcoin_hashes::sha256d::Hash::cmp(&self, other: &bitcoin_hashes::sha256d::Hash) -> core::cmp::Ordering +pub fn bitcoin_hashes::sha256d::Hash::engine() -> bitcoin_hashes::sha256d::HashEngine +pub fn bitcoin_hashes::sha256d::Hash::eq(&self, other: &bitcoin_hashes::sha256d::Hash) -> bool +pub fn bitcoin_hashes::sha256d::Hash::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_hashes::sha256d::Hash::from_byte_array(bytes: Self::Bytes) -> Self +pub fn bitcoin_hashes::sha256d::Hash::from_bytes_mut(bytes: &mut [u8; 32]) -> &mut Self +pub fn bitcoin_hashes::sha256d::Hash::from_bytes_ref(bytes: &[u8; 32]) -> &Self +pub fn bitcoin_hashes::sha256d::Hash::from_engine(e: bitcoin_hashes::sha256d::HashEngine) -> bitcoin_hashes::sha256d::Hash +pub fn bitcoin_hashes::sha256d::Hash::from_slice(sl: &[u8]) -> core::result::Result +pub fn bitcoin_hashes::sha256d::Hash::hash(data: &[u8]) -> Self +pub fn bitcoin_hashes::sha256d::Hash::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_hashes::sha256d::Hash::hash_byte_chunks(byte_slices: I) -> Self where B: core::convert::AsRef<[u8]>, I: core::iter::traits::collect::IntoIterator +pub fn bitcoin_hashes::sha256d::Hash::partial_cmp(&self, other: &bitcoin_hashes::sha256d::Hash) -> core::option::Option +pub fn bitcoin_hashes::sha256d::Hash::to_byte_array(self) -> Self::Bytes +pub fn bitcoin_hashes::sha256d::HashEngine::clone(&self) -> bitcoin_hashes::sha256d::HashEngine +pub fn bitcoin_hashes::sha256d::HashEngine::default() -> Self +pub fn bitcoin_hashes::sha256d::HashEngine::input(&mut self, data: &[u8]) +pub fn bitcoin_hashes::sha256d::HashEngine::n_bytes_hashed(&self) -> u64 +pub fn bitcoin_hashes::sha256t::Hash::as_byte_array(&self) -> &Self::Bytes +pub fn bitcoin_hashes::sha256t::Hash::as_ref(&self) -> &[u8; 32] +pub fn bitcoin_hashes::sha256t::Hash::as_ref(&self) -> &[u8] +pub fn bitcoin_hashes::sha256t::Hash::borrow(&self) -> &[u8; 32] +pub fn bitcoin_hashes::sha256t::Hash::borrow(&self) -> &[u8] +pub fn bitcoin_hashes::sha256t::Hash::clone(&self) -> Self +pub fn bitcoin_hashes::sha256t::Hash::cmp(&self, other: &bitcoin_hashes::sha256t::Hash) -> core::cmp::Ordering +pub fn bitcoin_hashes::sha256t::Hash::default() -> Self +pub fn bitcoin_hashes::sha256t::Hash::engine() -> bitcoin_hashes::sha256::HashEngine +pub fn bitcoin_hashes::sha256t::Hash::eq(&self, other: &bitcoin_hashes::sha256t::Hash) -> bool +pub fn bitcoin_hashes::sha256t::Hash::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_hashes::sha256t::Hash::from_byte_array(bytes: Self::Bytes) -> Self +pub fn bitcoin_hashes::sha256t::Hash::from_bytes_mut(bytes: &mut [u8; 32]) -> &mut Self +pub fn bitcoin_hashes::sha256t::Hash::from_bytes_ref(bytes: &[u8; 32]) -> &Self +pub fn bitcoin_hashes::sha256t::Hash::from_engine(e: bitcoin_hashes::sha256::HashEngine) -> bitcoin_hashes::sha256t::Hash +pub fn bitcoin_hashes::sha256t::Hash::from_slice(sl: &[u8]) -> core::result::Result, bitcoin_hashes::error::FromSliceError> +pub fn bitcoin_hashes::sha256t::Hash::hash(data: &[u8]) -> Self +pub fn bitcoin_hashes::sha256t::Hash::hash(&self, h: &mut H) +pub fn bitcoin_hashes::sha256t::Hash::hash_byte_chunks(byte_slices: I) -> Self where B: core::convert::AsRef<[u8]>, I: core::iter::traits::collect::IntoIterator +pub fn bitcoin_hashes::sha256t::Hash::partial_cmp(&self, other: &bitcoin_hashes::sha256t::Hash) -> core::option::Option +pub fn bitcoin_hashes::sha256t::Hash::to_byte_array(self) -> Self::Bytes +pub fn bitcoin_hashes::sha256t::Tag::engine() -> bitcoin_hashes::sha256::HashEngine +pub fn bitcoin_hashes::sha384::Hash::as_byte_array(&self) -> &Self::Bytes +pub fn bitcoin_hashes::sha384::Hash::as_ref(&self) -> &[u8; 48] +pub fn bitcoin_hashes::sha384::Hash::as_ref(&self) -> &[u8] +pub fn bitcoin_hashes::sha384::Hash::borrow(&self) -> &[u8; 48] +pub fn bitcoin_hashes::sha384::Hash::borrow(&self) -> &[u8] +pub fn bitcoin_hashes::sha384::Hash::clone(&self) -> bitcoin_hashes::sha384::Hash +pub fn bitcoin_hashes::sha384::Hash::cmp(&self, other: &bitcoin_hashes::sha384::Hash) -> core::cmp::Ordering +pub fn bitcoin_hashes::sha384::Hash::engine() -> bitcoin_hashes::sha384::HashEngine +pub fn bitcoin_hashes::sha384::Hash::eq(&self, other: &bitcoin_hashes::sha384::Hash) -> bool +pub fn bitcoin_hashes::sha384::Hash::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_hashes::sha384::Hash::from_byte_array(bytes: Self::Bytes) -> Self +pub fn bitcoin_hashes::sha384::Hash::from_bytes_mut(bytes: &mut [u8; 48]) -> &mut Self +pub fn bitcoin_hashes::sha384::Hash::from_bytes_ref(bytes: &[u8; 48]) -> &Self +pub fn bitcoin_hashes::sha384::Hash::from_engine(e: bitcoin_hashes::sha384::HashEngine) -> bitcoin_hashes::sha384::Hash +pub fn bitcoin_hashes::sha384::Hash::from_slice(sl: &[u8]) -> core::result::Result +pub fn bitcoin_hashes::sha384::Hash::hash(data: &[u8]) -> Self +pub fn bitcoin_hashes::sha384::Hash::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_hashes::sha384::Hash::hash_byte_chunks(byte_slices: I) -> Self where B: core::convert::AsRef<[u8]>, I: core::iter::traits::collect::IntoIterator +pub fn bitcoin_hashes::sha384::Hash::partial_cmp(&self, other: &bitcoin_hashes::sha384::Hash) -> core::option::Option +pub fn bitcoin_hashes::sha384::Hash::to_byte_array(self) -> Self::Bytes +pub fn bitcoin_hashes::sha384::HashEngine::clone(&self) -> bitcoin_hashes::sha384::HashEngine +pub fn bitcoin_hashes::sha384::HashEngine::default() -> Self +pub fn bitcoin_hashes::sha384::HashEngine::input(&mut self, inp: &[u8]) +pub fn bitcoin_hashes::sha384::HashEngine::n_bytes_hashed(&self) -> u64 +pub fn bitcoin_hashes::sha512::Hash::as_byte_array(&self) -> &Self::Bytes +pub fn bitcoin_hashes::sha512::Hash::as_ref(&self) -> &[u8; 64] +pub fn bitcoin_hashes::sha512::Hash::as_ref(&self) -> &[u8] +pub fn bitcoin_hashes::sha512::Hash::borrow(&self) -> &[u8; 64] +pub fn bitcoin_hashes::sha512::Hash::borrow(&self) -> &[u8] +pub fn bitcoin_hashes::sha512::Hash::clone(&self) -> bitcoin_hashes::sha512::Hash +pub fn bitcoin_hashes::sha512::Hash::cmp(&self, other: &bitcoin_hashes::sha512::Hash) -> core::cmp::Ordering +pub fn bitcoin_hashes::sha512::Hash::engine() -> bitcoin_hashes::sha512::HashEngine +pub fn bitcoin_hashes::sha512::Hash::eq(&self, other: &bitcoin_hashes::sha512::Hash) -> bool +pub fn bitcoin_hashes::sha512::Hash::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_hashes::sha512::Hash::from_byte_array(bytes: Self::Bytes) -> Self +pub fn bitcoin_hashes::sha512::Hash::from_bytes_mut(bytes: &mut [u8; 64]) -> &mut Self +pub fn bitcoin_hashes::sha512::Hash::from_bytes_ref(bytes: &[u8; 64]) -> &Self +pub fn bitcoin_hashes::sha512::Hash::from_engine(e: bitcoin_hashes::sha512::HashEngine) -> bitcoin_hashes::sha512::Hash +pub fn bitcoin_hashes::sha512::Hash::from_slice(sl: &[u8]) -> core::result::Result +pub fn bitcoin_hashes::sha512::Hash::hash(data: &[u8]) -> Self +pub fn bitcoin_hashes::sha512::Hash::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_hashes::sha512::Hash::hash_byte_chunks(byte_slices: I) -> Self where B: core::convert::AsRef<[u8]>, I: core::iter::traits::collect::IntoIterator +pub fn bitcoin_hashes::sha512::Hash::partial_cmp(&self, other: &bitcoin_hashes::sha512::Hash) -> core::option::Option +pub fn bitcoin_hashes::sha512::Hash::to_byte_array(self) -> Self::Bytes +pub fn bitcoin_hashes::sha512::HashEngine::clone(&self) -> bitcoin_hashes::sha512::HashEngine +pub fn bitcoin_hashes::sha512::HashEngine::default() -> Self +pub fn bitcoin_hashes::sha512::HashEngine::input(&mut self, inp: &[u8]) +pub fn bitcoin_hashes::sha512::HashEngine::n_bytes_hashed(&self) -> u64 +pub fn bitcoin_hashes::sha512_256::Hash::as_byte_array(&self) -> &Self::Bytes +pub fn bitcoin_hashes::sha512_256::Hash::as_ref(&self) -> &[u8; 32] +pub fn bitcoin_hashes::sha512_256::Hash::as_ref(&self) -> &[u8] +pub fn bitcoin_hashes::sha512_256::Hash::borrow(&self) -> &[u8; 32] +pub fn bitcoin_hashes::sha512_256::Hash::borrow(&self) -> &[u8] +pub fn bitcoin_hashes::sha512_256::Hash::clone(&self) -> bitcoin_hashes::sha512_256::Hash +pub fn bitcoin_hashes::sha512_256::Hash::cmp(&self, other: &bitcoin_hashes::sha512_256::Hash) -> core::cmp::Ordering +pub fn bitcoin_hashes::sha512_256::Hash::engine() -> bitcoin_hashes::sha512_256::HashEngine +pub fn bitcoin_hashes::sha512_256::Hash::eq(&self, other: &bitcoin_hashes::sha512_256::Hash) -> bool +pub fn bitcoin_hashes::sha512_256::Hash::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_hashes::sha512_256::Hash::from_byte_array(bytes: Self::Bytes) -> Self +pub fn bitcoin_hashes::sha512_256::Hash::from_bytes_mut(bytes: &mut [u8; 32]) -> &mut Self +pub fn bitcoin_hashes::sha512_256::Hash::from_bytes_ref(bytes: &[u8; 32]) -> &Self +pub fn bitcoin_hashes::sha512_256::Hash::from_engine(e: bitcoin_hashes::sha512_256::HashEngine) -> bitcoin_hashes::sha512_256::Hash +pub fn bitcoin_hashes::sha512_256::Hash::from_slice(sl: &[u8]) -> core::result::Result +pub fn bitcoin_hashes::sha512_256::Hash::hash(data: &[u8]) -> Self +pub fn bitcoin_hashes::sha512_256::Hash::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_hashes::sha512_256::Hash::hash_byte_chunks(byte_slices: I) -> Self where B: core::convert::AsRef<[u8]>, I: core::iter::traits::collect::IntoIterator +pub fn bitcoin_hashes::sha512_256::Hash::partial_cmp(&self, other: &bitcoin_hashes::sha512_256::Hash) -> core::option::Option +pub fn bitcoin_hashes::sha512_256::Hash::to_byte_array(self) -> Self::Bytes +pub fn bitcoin_hashes::sha512_256::HashEngine::clone(&self) -> bitcoin_hashes::sha512_256::HashEngine +pub fn bitcoin_hashes::sha512_256::HashEngine::default() -> Self +pub fn bitcoin_hashes::sha512_256::HashEngine::input(&mut self, inp: &[u8]) +pub fn bitcoin_hashes::sha512_256::HashEngine::n_bytes_hashed(&self) -> u64 +pub fn bitcoin_hashes::siphash24::Hash::as_byte_array(&self) -> &Self::Bytes +pub fn bitcoin_hashes::siphash24::Hash::as_ref(&self) -> &[u8; 8] +pub fn bitcoin_hashes::siphash24::Hash::as_ref(&self) -> &[u8] +pub fn bitcoin_hashes::siphash24::Hash::as_u64(&self) -> u64 +pub fn bitcoin_hashes::siphash24::Hash::borrow(&self) -> &[u8; 8] +pub fn bitcoin_hashes::siphash24::Hash::borrow(&self) -> &[u8] +pub fn bitcoin_hashes::siphash24::Hash::clone(&self) -> bitcoin_hashes::siphash24::Hash +pub fn bitcoin_hashes::siphash24::Hash::cmp(&self, other: &bitcoin_hashes::siphash24::Hash) -> core::cmp::Ordering +pub fn bitcoin_hashes::siphash24::Hash::eq(&self, other: &bitcoin_hashes::siphash24::Hash) -> bool +pub fn bitcoin_hashes::siphash24::Hash::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_hashes::siphash24::Hash::from_byte_array(bytes: Self::Bytes) -> Self +pub fn bitcoin_hashes::siphash24::Hash::from_bytes_mut(bytes: &mut [u8; 8]) -> &mut Self +pub fn bitcoin_hashes::siphash24::Hash::from_bytes_ref(bytes: &[u8; 8]) -> &Self +pub fn bitcoin_hashes::siphash24::Hash::from_engine(e: bitcoin_hashes::siphash24::HashEngine) -> bitcoin_hashes::siphash24::Hash +pub fn bitcoin_hashes::siphash24::Hash::from_engine_to_u64(e: bitcoin_hashes::siphash24::HashEngine) -> u64 +pub fn bitcoin_hashes::siphash24::Hash::from_slice(sl: &[u8]) -> core::result::Result +pub fn bitcoin_hashes::siphash24::Hash::from_u64(hash: u64) -> bitcoin_hashes::siphash24::Hash +pub fn bitcoin_hashes::siphash24::Hash::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_hashes::siphash24::Hash::hash_to_u64_with_keys(k0: u64, k1: u64, data: &[u8]) -> u64 +pub fn bitcoin_hashes::siphash24::Hash::hash_with_keys(k0: u64, k1: u64, data: &[u8]) -> bitcoin_hashes::siphash24::Hash +pub fn bitcoin_hashes::siphash24::Hash::partial_cmp(&self, other: &bitcoin_hashes::siphash24::Hash) -> core::option::Option +pub fn bitcoin_hashes::siphash24::Hash::to_byte_array(self) -> Self::Bytes +pub fn bitcoin_hashes::siphash24::Hash::to_u64(self) -> u64 +pub fn bitcoin_hashes::siphash24::HashEngine::clone(&self) -> bitcoin_hashes::siphash24::HashEngine +pub fn bitcoin_hashes::siphash24::HashEngine::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_hashes::siphash24::HashEngine::input(&mut self, msg: &[u8]) +pub fn bitcoin_hashes::siphash24::HashEngine::keys(&self) -> (u64, u64) +pub fn bitcoin_hashes::siphash24::HashEngine::n_bytes_hashed(&self) -> u64 +pub fn bitcoin_hashes::siphash24::State::clone(&self) -> bitcoin_hashes::siphash24::State +pub fn bitcoin_hashes::siphash24::State::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub macro bitcoin_hashes::hash_newtype! +pub macro bitcoin_hashes::impl_debug_only_for_newtype! +pub macro bitcoin_hashes::serde_impl! +pub macro bitcoin_hashes::sha256t_hash_newtype! +pub macro bitcoin_hashes::sha256t_tag! +pub mod bitcoin_hashes +pub mod bitcoin_hashes::cmp +pub mod bitcoin_hashes::error +pub mod bitcoin_hashes::hash160 +pub mod bitcoin_hashes::hkdf +pub mod bitcoin_hashes::hmac +pub mod bitcoin_hashes::macros +pub mod bitcoin_hashes::ripemd160 +pub mod bitcoin_hashes::serde_macros +pub mod bitcoin_hashes::sha1 +pub mod bitcoin_hashes::sha256 +pub mod bitcoin_hashes::sha256d +pub mod bitcoin_hashes::sha256t +pub mod bitcoin_hashes::sha384 +pub mod bitcoin_hashes::sha512 +pub mod bitcoin_hashes::sha512_256 +pub mod bitcoin_hashes::siphash24 +pub struct bitcoin_hashes::FromSliceError(_) +pub struct bitcoin_hashes::Hkdf +pub struct bitcoin_hashes::HmacEngine +pub struct bitcoin_hashes::error::FromSliceError(_) +pub struct bitcoin_hashes::hash160::HashEngine(_) +pub struct bitcoin_hashes::hkdf::Hkdf +pub struct bitcoin_hashes::hkdf::MaxLengthError +pub struct bitcoin_hashes::hmac::HmacEngine +pub struct bitcoin_hashes::ripemd160::HashEngine +pub struct bitcoin_hashes::sha1::HashEngine +pub struct bitcoin_hashes::sha256::HashEngine +pub struct bitcoin_hashes::sha256::Midstate +pub struct bitcoin_hashes::sha256::MidstateError +pub struct bitcoin_hashes::sha256d::HashEngine(_) +pub struct bitcoin_hashes::sha384::HashEngine(_) +pub struct bitcoin_hashes::sha512::HashEngine +pub struct bitcoin_hashes::sha512_256::HashEngine(_) +pub struct bitcoin_hashes::siphash24::HashEngine +pub struct bitcoin_hashes::siphash24::State +pub trait bitcoin_hashes::GeneralHash: bitcoin_hashes::Hash +pub trait bitcoin_hashes::Hash: core::marker::Copy + core::clone::Clone + core::cmp::PartialEq + core::cmp::Eq + core::cmp::PartialOrd + core::cmp::Ord + core::hash::Hash + core::convert::AsRef<[u8]> +pub trait bitcoin_hashes::HashEngine: core::clone::Clone +pub trait bitcoin_hashes::IsByteArray: core::convert::AsRef<[u8]> + sealed::IsByteArray +pub trait bitcoin_hashes::sha256t::Tag +pub type bitcoin_hashes::GeneralHash::Engine: bitcoin_hashes::HashEngine +pub type bitcoin_hashes::Hash::Bytes: core::marker::Copy + bitcoin_hashes::IsByteArray +pub type bitcoin_hashes::HkdfSha256 = bitcoin_hashes::hkdf::Hkdf +pub type bitcoin_hashes::HkdfSha512 = bitcoin_hashes::hkdf::Hkdf +pub type bitcoin_hashes::HmacSha256 = bitcoin_hashes::hmac::Hmac +pub type bitcoin_hashes::HmacSha512 = bitcoin_hashes::hmac::Hmac +pub type bitcoin_hashes::Sha256t = bitcoin_hashes::sha256t::Hash +pub type bitcoin_hashes::hash160::Hash::Bytes = [u8; 20] +pub type bitcoin_hashes::hash160::Hash::Engine = bitcoin_hashes::hash160::HashEngine +pub type bitcoin_hashes::hmac::Hmac::Bytes = ::Bytes +pub type bitcoin_hashes::hmac::Hmac::Engine = bitcoin_hashes::hmac::HmacEngine +pub type bitcoin_hashes::hmac::Hmac::Err = ::Err +pub type bitcoin_hashes::ripemd160::Hash::Bytes = [u8; 20] +pub type bitcoin_hashes::ripemd160::Hash::Engine = bitcoin_hashes::ripemd160::HashEngine +pub type bitcoin_hashes::sha1::Hash::Bytes = [u8; 20] +pub type bitcoin_hashes::sha1::Hash::Engine = bitcoin_hashes::sha1::HashEngine +pub type bitcoin_hashes::sha256::Hash::Bytes = [u8; 32] +pub type bitcoin_hashes::sha256::Hash::Engine = bitcoin_hashes::sha256::HashEngine +pub type bitcoin_hashes::sha256d::Hash::Bytes = [u8; 32] +pub type bitcoin_hashes::sha256d::Hash::Engine = bitcoin_hashes::sha256d::HashEngine +pub type bitcoin_hashes::sha256t::Hash::Bytes = [u8; 32] +pub type bitcoin_hashes::sha256t::Hash::Engine = bitcoin_hashes::sha256::HashEngine +pub type bitcoin_hashes::sha384::Hash::Bytes = [u8; 48] +pub type bitcoin_hashes::sha384::Hash::Engine = bitcoin_hashes::sha384::HashEngine +pub type bitcoin_hashes::sha512::Hash::Bytes = [u8; 64] +pub type bitcoin_hashes::sha512::Hash::Engine = bitcoin_hashes::sha512::HashEngine +pub type bitcoin_hashes::sha512_256::Hash::Bytes = [u8; 32] +pub type bitcoin_hashes::sha512_256::Hash::Engine = bitcoin_hashes::sha512_256::HashEngine +pub type bitcoin_hashes::siphash24::Hash::Bytes = [u8; 8] +pub type bitcoin_hashes::siphash24::Hash::Engine = bitcoin_hashes::siphash24::HashEngine diff --git a/api/io/all-features.txt b/api/io/all-features.txt new file mode 100644 index 0000000000..aef13ac563 --- /dev/null +++ b/api/io/all-features.txt @@ -0,0 +1,377 @@ +#[repr(transparent)] pub struct bitcoin_io::FromStd(_) +#[repr(transparent)] pub struct bitcoin_io::ToStd(_) +impl !core::marker::Sync for bitcoin_io::Error +impl !core::panic::unwind_safe::RefUnwindSafe for bitcoin_io::Error +impl !core::panic::unwind_safe::UnwindSafe for bitcoin_io::Error +impl bitcoin_io::BufRead for &[u8] +impl bitcoin_io::BufRead for alloc::collections::vec_deque::VecDeque +impl bitcoin_io::BufRead for std::io::stdio::StdinLock<'_> +impl bitcoin_io::BufRead for std::io::util::Empty +impl bitcoin_io::Error +impl bitcoin_io::Read for &[u8] +impl bitcoin_io::Read for &std::fs::File +impl bitcoin_io::Read for &std::io::stdio::Stdin +impl bitcoin_io::Read for &std::net::tcp::TcpStream +impl bitcoin_io::Read for &std::os::unix::net::stream::UnixStream +impl bitcoin_io::Read for alloc::collections::vec_deque::VecDeque +impl bitcoin_io::Read for alloc::sync::Arc +impl bitcoin_io::Read for std::fs::File +impl bitcoin_io::Read for std::io::stdio::Stdin +impl bitcoin_io::Read for std::io::stdio::StdinLock<'_> +impl bitcoin_io::Read for std::io::util::Empty +impl bitcoin_io::Read for std::io::util::Repeat +impl bitcoin_io::Read for std::net::tcp::TcpStream +impl bitcoin_io::Read for std::os::unix::net::stream::UnixStream +impl bitcoin_io::Read for std::process::ChildStderr +impl bitcoin_io::Read for std::process::ChildStdout +impl bitcoin_io::Write for &mut [u8] +impl bitcoin_io::Write for &std::fs::File +impl bitcoin_io::Write for &std::io::stdio::Stderr +impl bitcoin_io::Write for &std::io::stdio::Stdout +impl bitcoin_io::Write for &std::io::util::Empty +impl bitcoin_io::Write for &std::net::tcp::TcpStream +impl bitcoin_io::Write for &std::os::unix::net::stream::UnixStream +impl bitcoin_io::Write for &std::process::ChildStdin +impl bitcoin_io::Write for alloc::collections::vec_deque::VecDeque +impl bitcoin_io::Write for alloc::sync::Arc +impl bitcoin_io::Write for alloc::vec::Vec +impl bitcoin_io::Write for bitcoin_io::Sink +impl bitcoin_io::Write for std::fs::File +impl bitcoin_io::Write for std::io::cursor::Cursor<&mut alloc::vec::Vec> +impl bitcoin_io::Write for std::io::cursor::Cursor> +impl bitcoin_io::Write for std::io::cursor::Cursor> +impl bitcoin_io::Write for std::io::stdio::Stderr +impl bitcoin_io::Write for std::io::stdio::Stdout +impl bitcoin_io::Write for std::io::util::Empty +impl bitcoin_io::Write for std::net::tcp::TcpStream +impl bitcoin_io::Write for std::os::unix::net::stream::UnixStream +impl bitcoin_io::Write for std::process::ChildStdin +impl core::clone::Clone for bitcoin_io::ErrorKind +impl core::cmp::Eq for bitcoin_io::ErrorKind +impl core::cmp::PartialEq for bitcoin_io::ErrorKind +impl core::convert::From for std::io::error::Error +impl core::convert::From for bitcoin_io::Error +impl core::convert::From for bitcoin_io::ErrorKind +impl core::convert::From for bitcoin_io::Error +impl core::error::Error for bitcoin_io::Error +impl core::fmt::Debug for bitcoin_io::Error +impl core::fmt::Debug for bitcoin_io::ErrorKind +impl core::fmt::Display for bitcoin_io::Error +impl core::hash::Hash for bitcoin_io::ErrorKind +impl core::marker::Copy for bitcoin_io::ErrorKind +impl core::marker::Freeze for bitcoin_io::Error +impl core::marker::Freeze for bitcoin_io::ErrorKind +impl core::marker::Freeze for bitcoin_io::Sink +impl core::marker::Send for bitcoin_io::Error +impl core::marker::Send for bitcoin_io::ErrorKind +impl core::marker::Send for bitcoin_io::Sink +impl core::marker::StructuralPartialEq for bitcoin_io::ErrorKind +impl core::marker::Sync for bitcoin_io::ErrorKind +impl core::marker::Sync for bitcoin_io::Sink +impl core::marker::Unpin for bitcoin_io::Error +impl core::marker::Unpin for bitcoin_io::ErrorKind +impl core::marker::Unpin for bitcoin_io::Sink +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_io::ErrorKind +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_io::Sink +impl core::panic::unwind_safe::UnwindSafe for bitcoin_io::ErrorKind +impl core::panic::unwind_safe::UnwindSafe for bitcoin_io::Sink +impl std::io::Write for bitcoin_io::Sink +impl<'a, R> !core::panic::unwind_safe::UnwindSafe for bitcoin_io::Take<'a, R> +impl<'a, R> core::marker::Freeze for bitcoin_io::Take<'a, R> where R: ?core::marker::Sized +impl<'a, R> core::marker::Send for bitcoin_io::Take<'a, R> where R: core::marker::Send + ?core::marker::Sized +impl<'a, R> core::marker::Sync for bitcoin_io::Take<'a, R> where R: core::marker::Sync + ?core::marker::Sized +impl<'a, R> core::marker::Unpin for bitcoin_io::Take<'a, R> where R: ?core::marker::Sized +impl<'a, R> core::panic::unwind_safe::RefUnwindSafe for bitcoin_io::Take<'a, R> where R: core::panic::unwind_safe::RefUnwindSafe + ?core::marker::Sized +impl bitcoin_io::BufRead for std::io::Chain +impl bitcoin_io::Read for std::io::Chain +impl bitcoin_io::BufRead for bitcoin_io::Take<'_, R> +impl bitcoin_io::Read for bitcoin_io::Take<'_, R> +impl bitcoin_io::Take<'_, R> +impl bitcoin_io::BufRead for std::io::Take +impl bitcoin_io::Read for std::io::Take +impl bitcoin_io::BufRead for std::io::buffered::bufreader::BufReader where R: ?core::marker::Sized + std::io::Read +impl bitcoin_io::Read for std::io::buffered::bufreader::BufReader where R: ?core::marker::Sized + std::io::Read +impl bitcoin_io::BufRead for &mut T +impl bitcoin_io::BufRead for bitcoin_io::ToStd +impl std::io::BufRead for bitcoin_io::ToStd +impl bitcoin_io::Read for &mut T +impl bitcoin_io::Read for bitcoin_io::ToStd +impl std::io::Read for bitcoin_io::ToStd +impl bitcoin_io::Write for &mut T +impl bitcoin_io::Write for bitcoin_io::ToStd +impl std::io::Write for bitcoin_io::ToStd +impl> bitcoin_io::BufRead for bitcoin_io::Cursor +impl> bitcoin_io::BufRead for std::io::cursor::Cursor +impl> bitcoin_io::Cursor +impl> bitcoin_io::Read for bitcoin_io::Cursor +impl> bitcoin_io::Read for std::io::cursor::Cursor +impl bitcoin_io::BufRead for bitcoin_io::FromStd +impl std::io::BufRead for bitcoin_io::FromStd +impl bitcoin_io::Read for bitcoin_io::FromStd +impl std::io::Read for bitcoin_io::FromStd +impl bitcoin_io::Write for bitcoin_io::FromStd +impl std::io::Write for bitcoin_io::FromStd +impl bitcoin_io::FromStd +impl bitcoin_io::ToStd +impl core::marker::Freeze for bitcoin_io::Cursor where T: core::marker::Freeze +impl core::marker::Freeze for bitcoin_io::FromStd where T: core::marker::Freeze +impl core::marker::Freeze for bitcoin_io::ToStd where T: core::marker::Freeze +impl core::marker::Send for bitcoin_io::Cursor where T: core::marker::Send +impl core::marker::Send for bitcoin_io::FromStd where T: core::marker::Send +impl core::marker::Send for bitcoin_io::ToStd where T: core::marker::Send +impl core::marker::Sync for bitcoin_io::Cursor where T: core::marker::Sync +impl core::marker::Sync for bitcoin_io::FromStd where T: core::marker::Sync +impl core::marker::Sync for bitcoin_io::ToStd where T: core::marker::Sync +impl core::marker::Unpin for bitcoin_io::Cursor where T: core::marker::Unpin +impl core::marker::Unpin for bitcoin_io::FromStd where T: core::marker::Unpin +impl core::marker::Unpin for bitcoin_io::ToStd where T: core::marker::Unpin +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_io::Cursor where T: core::panic::unwind_safe::RefUnwindSafe +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_io::FromStd where T: core::panic::unwind_safe::RefUnwindSafe +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_io::ToStd where T: core::panic::unwind_safe::RefUnwindSafe +impl core::panic::unwind_safe::UnwindSafe for bitcoin_io::Cursor where T: core::panic::unwind_safe::UnwindSafe +impl core::panic::unwind_safe::UnwindSafe for bitcoin_io::FromStd where T: core::panic::unwind_safe::UnwindSafe +impl core::panic::unwind_safe::UnwindSafe for bitcoin_io::ToStd where T: core::panic::unwind_safe::UnwindSafe +impl bitcoin_io::Write for std::io::buffered::bufwriter::BufWriter where W: ?core::marker::Sized + std::io::Write +impl bitcoin_io::Write for std::io::buffered::linewriter::LineWriter where W: ?core::marker::Sized + std::io::Write +pub bitcoin_io::ErrorKind::AddrInUse +pub bitcoin_io::ErrorKind::AddrNotAvailable +pub bitcoin_io::ErrorKind::AlreadyExists +pub bitcoin_io::ErrorKind::BrokenPipe +pub bitcoin_io::ErrorKind::ConnectionAborted +pub bitcoin_io::ErrorKind::ConnectionRefused +pub bitcoin_io::ErrorKind::ConnectionReset +pub bitcoin_io::ErrorKind::Interrupted +pub bitcoin_io::ErrorKind::InvalidData +pub bitcoin_io::ErrorKind::InvalidInput +pub bitcoin_io::ErrorKind::NotConnected +pub bitcoin_io::ErrorKind::NotFound +pub bitcoin_io::ErrorKind::Other +pub bitcoin_io::ErrorKind::PermissionDenied +pub bitcoin_io::ErrorKind::TimedOut +pub bitcoin_io::ErrorKind::UnexpectedEof +pub bitcoin_io::ErrorKind::WouldBlock +pub bitcoin_io::ErrorKind::WriteZero +pub const fn bitcoin_io::FromStd::new(inner: T) -> Self +pub const fn bitcoin_io::ToStd::new(inner: T) -> Self +pub const fn bitcoin_io::from_std(std_io: T) -> bitcoin_io::FromStd +pub enum bitcoin_io::ErrorKind +pub fn &[u8]::consume(&mut self, amount: usize) +pub fn &[u8]::fill_buf(&mut self) -> bitcoin_io::Result<&[u8]> +pub fn &[u8]::read(&mut self, buf: &mut [u8]) -> bitcoin_io::Result +pub fn &mut T::consume(&mut self, amount: usize) +pub fn &mut T::fill_buf(&mut self) -> bitcoin_io::Result<&[u8]> +pub fn &mut T::flush(&mut self) -> bitcoin_io::Result<()> +pub fn &mut T::read(&mut self, buf: &mut [u8]) -> bitcoin_io::Result +pub fn &mut T::read_exact(&mut self, buf: &mut [u8]) -> bitcoin_io::Result<()> +pub fn &mut T::write(&mut self, buf: &[u8]) -> bitcoin_io::Result +pub fn &mut T::write_all(&mut self, buf: &[u8]) -> bitcoin_io::Result<()> +pub fn &mut [u8]::flush(&mut self) -> bitcoin_io::Result<()> +pub fn &mut [u8]::write(&mut self, buf: &[u8]) -> bitcoin_io::Result +pub fn &std::fs::File::flush(&mut self) -> bitcoin_io::Result<()> +pub fn &std::fs::File::read(&mut self, buf: &mut [u8]) -> bitcoin_io::Result +pub fn &std::fs::File::read_exact(&mut self, buf: &mut [u8]) -> bitcoin_io::Result<()> +pub fn &std::fs::File::write(&mut self, buf: &[u8]) -> bitcoin_io::Result +pub fn &std::fs::File::write_all(&mut self, buf: &[u8]) -> bitcoin_io::Result<()> +pub fn &std::io::stdio::Stderr::flush(&mut self) -> bitcoin_io::Result<()> +pub fn &std::io::stdio::Stderr::write(&mut self, buf: &[u8]) -> bitcoin_io::Result +pub fn &std::io::stdio::Stderr::write_all(&mut self, buf: &[u8]) -> bitcoin_io::Result<()> +pub fn &std::io::stdio::Stdin::read(&mut self, buf: &mut [u8]) -> bitcoin_io::Result +pub fn &std::io::stdio::Stdin::read_exact(&mut self, buf: &mut [u8]) -> bitcoin_io::Result<()> +pub fn &std::io::stdio::Stdout::flush(&mut self) -> bitcoin_io::Result<()> +pub fn &std::io::stdio::Stdout::write(&mut self, buf: &[u8]) -> bitcoin_io::Result +pub fn &std::io::stdio::Stdout::write_all(&mut self, buf: &[u8]) -> bitcoin_io::Result<()> +pub fn &std::io::util::Empty::flush(&mut self) -> bitcoin_io::Result<()> +pub fn &std::io::util::Empty::write(&mut self, buf: &[u8]) -> bitcoin_io::Result +pub fn &std::io::util::Empty::write_all(&mut self, buf: &[u8]) -> bitcoin_io::Result<()> +pub fn &std::net::tcp::TcpStream::flush(&mut self) -> bitcoin_io::Result<()> +pub fn &std::net::tcp::TcpStream::read(&mut self, buf: &mut [u8]) -> bitcoin_io::Result +pub fn &std::net::tcp::TcpStream::read_exact(&mut self, buf: &mut [u8]) -> bitcoin_io::Result<()> +pub fn &std::net::tcp::TcpStream::write(&mut self, buf: &[u8]) -> bitcoin_io::Result +pub fn &std::net::tcp::TcpStream::write_all(&mut self, buf: &[u8]) -> bitcoin_io::Result<()> +pub fn &std::os::unix::net::stream::UnixStream::flush(&mut self) -> bitcoin_io::Result<()> +pub fn &std::os::unix::net::stream::UnixStream::read(&mut self, buf: &mut [u8]) -> bitcoin_io::Result +pub fn &std::os::unix::net::stream::UnixStream::read_exact(&mut self, buf: &mut [u8]) -> bitcoin_io::Result<()> +pub fn &std::os::unix::net::stream::UnixStream::write(&mut self, buf: &[u8]) -> bitcoin_io::Result +pub fn &std::os::unix::net::stream::UnixStream::write_all(&mut self, buf: &[u8]) -> bitcoin_io::Result<()> +pub fn &std::process::ChildStdin::flush(&mut self) -> bitcoin_io::Result<()> +pub fn &std::process::ChildStdin::write(&mut self, buf: &[u8]) -> bitcoin_io::Result +pub fn &std::process::ChildStdin::write_all(&mut self, buf: &[u8]) -> bitcoin_io::Result<()> +pub fn alloc::collections::vec_deque::VecDeque::consume(&mut self, amount: usize) +pub fn alloc::collections::vec_deque::VecDeque::fill_buf(&mut self) -> bitcoin_io::Result<&[u8]> +pub fn alloc::collections::vec_deque::VecDeque::flush(&mut self) -> bitcoin_io::Result<()> +pub fn alloc::collections::vec_deque::VecDeque::read(&mut self, buf: &mut [u8]) -> bitcoin_io::Result +pub fn alloc::collections::vec_deque::VecDeque::read_exact(&mut self, buf: &mut [u8]) -> bitcoin_io::Result<()> +pub fn alloc::collections::vec_deque::VecDeque::write(&mut self, buf: &[u8]) -> bitcoin_io::Result +pub fn alloc::collections::vec_deque::VecDeque::write_all(&mut self, buf: &[u8]) -> bitcoin_io::Result<()> +pub fn alloc::sync::Arc::flush(&mut self) -> bitcoin_io::Result<()> +pub fn alloc::sync::Arc::read(&mut self, buf: &mut [u8]) -> bitcoin_io::Result +pub fn alloc::sync::Arc::read_exact(&mut self, buf: &mut [u8]) -> bitcoin_io::Result<()> +pub fn alloc::sync::Arc::write(&mut self, buf: &[u8]) -> bitcoin_io::Result +pub fn alloc::sync::Arc::write_all(&mut self, buf: &[u8]) -> bitcoin_io::Result<()> +pub fn alloc::vec::Vec::flush(&mut self) -> bitcoin_io::Result<()> +pub fn alloc::vec::Vec::write(&mut self, buf: &[u8]) -> bitcoin_io::Result +pub fn bitcoin_io::BufRead::consume(&mut self, amount: usize) +pub fn bitcoin_io::BufRead::fill_buf(&mut self) -> bitcoin_io::Result<&[u8]> +pub fn bitcoin_io::Cursor::consume(&mut self, amount: usize) +pub fn bitcoin_io::Cursor::fill_buf(&mut self) -> bitcoin_io::Result<&[u8]> +pub fn bitcoin_io::Cursor::inner(&self) -> &T +pub fn bitcoin_io::Cursor::into_inner(self) -> T +pub fn bitcoin_io::Cursor::new(inner: T) -> Self +pub fn bitcoin_io::Cursor::position(&self) -> u64 +pub fn bitcoin_io::Cursor::read(&mut self, buf: &mut [u8]) -> bitcoin_io::Result +pub fn bitcoin_io::Cursor::set_position(&mut self, position: u64) +pub fn bitcoin_io::Error::cause(&self) -> core::option::Option<&dyn core::error::Error> +pub fn bitcoin_io::Error::description(&self) -> &str +pub fn bitcoin_io::Error::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_io::Error::fmt(&self, fmt: &mut core::fmt::Formatter<'_>) -> core::result::Result<(), core::fmt::Error> +pub fn bitcoin_io::Error::from(kind: bitcoin_io::ErrorKind) -> bitcoin_io::Error +pub fn bitcoin_io::Error::from(o: std::io::error::Error) -> bitcoin_io::Error +pub fn bitcoin_io::Error::get_ref(&self) -> core::option::Option<&(dyn core::error::Error + core::marker::Send + core::marker::Sync + 'static)> +pub fn bitcoin_io::Error::kind(&self) -> bitcoin_io::ErrorKind +pub fn bitcoin_io::Error::new(kind: bitcoin_io::ErrorKind, error: E) -> bitcoin_io::Error where E: core::convert::Into> +pub fn bitcoin_io::Error::source(&self) -> core::option::Option<&(dyn core::error::Error + 'static)> +pub fn bitcoin_io::ErrorKind::clone(&self) -> bitcoin_io::ErrorKind +pub fn bitcoin_io::ErrorKind::eq(&self, other: &bitcoin_io::ErrorKind) -> bool +pub fn bitcoin_io::ErrorKind::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_io::ErrorKind::from(never: core::convert::Infallible) -> Self +pub fn bitcoin_io::ErrorKind::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_io::FromStd::consume(&mut self, amount: usize) +pub fn bitcoin_io::FromStd::fill_buf(&mut self) -> bitcoin_io::Result<&[u8]> +pub fn bitcoin_io::FromStd::fill_buf(&mut self) -> std::io::error::Result<&[u8]> +pub fn bitcoin_io::FromStd::flush(&mut self) -> bitcoin_io::Result<()> +pub fn bitcoin_io::FromStd::flush(&mut self) -> std::io::error::Result<()> +pub fn bitcoin_io::FromStd::inner(&self) -> &T +pub fn bitcoin_io::FromStd::inner_mut(&mut self) -> &mut T +pub fn bitcoin_io::FromStd::into_inner(self) -> T +pub fn bitcoin_io::FromStd::new_boxed(inner: alloc::boxed::Box) -> alloc::boxed::Box +pub fn bitcoin_io::FromStd::new_mut(inner: &mut T) -> &mut Self +pub fn bitcoin_io::FromStd::read(&mut self, buf: &mut [u8]) -> bitcoin_io::Result +pub fn bitcoin_io::FromStd::read(&mut self, buf: &mut [u8]) -> std::io::error::Result +pub fn bitcoin_io::FromStd::read_exact(&mut self, buf: &mut [u8]) -> bitcoin_io::Result<()> +pub fn bitcoin_io::FromStd::read_exact(&mut self, buf: &mut [u8]) -> std::io::error::Result<()> +pub fn bitcoin_io::FromStd::write(&mut self, buf: &[u8]) -> bitcoin_io::Result +pub fn bitcoin_io::FromStd::write(&mut self, buf: &[u8]) -> std::io::error::Result +pub fn bitcoin_io::FromStd::write_all(&mut self, buf: &[u8]) -> bitcoin_io::Result<()> +pub fn bitcoin_io::FromStd::write_all(&mut self, buf: &[u8]) -> std::io::error::Result<()> +pub fn bitcoin_io::Read::read(&mut self, buf: &mut [u8]) -> bitcoin_io::Result +pub fn bitcoin_io::Read::read_exact(&mut self, buf: &mut [u8]) -> bitcoin_io::Result<()> +pub fn bitcoin_io::Read::read_to_limit(&mut self, buf: &mut alloc::vec::Vec, limit: u64) -> bitcoin_io::Result +pub fn bitcoin_io::Read::take(&mut self, limit: u64) -> bitcoin_io::Take<'_, Self> +pub fn bitcoin_io::Sink::flush(&mut self) -> bitcoin_io::Result<()> +pub fn bitcoin_io::Sink::flush(&mut self) -> std::io::error::Result<()> +pub fn bitcoin_io::Sink::write(&mut self, buf: &[u8]) -> bitcoin_io::Result +pub fn bitcoin_io::Sink::write(&mut self, buf: &[u8]) -> std::io::error::Result +pub fn bitcoin_io::Sink::write_all(&mut self, _: &[u8]) -> bitcoin_io::Result<()> +pub fn bitcoin_io::Sink::write_all(&mut self, _: &[u8]) -> std::io::error::Result<()> +pub fn bitcoin_io::Take<'_, R>::consume(&mut self, amount: usize) +pub fn bitcoin_io::Take<'_, R>::fill_buf(&mut self) -> bitcoin_io::Result<&[u8]> +pub fn bitcoin_io::Take<'_, R>::read(&mut self, buf: &mut [u8]) -> bitcoin_io::Result +pub fn bitcoin_io::Take<'_, R>::read_to_end(&mut self, buf: &mut alloc::vec::Vec) -> bitcoin_io::Result +pub fn bitcoin_io::ToStd::consume(&mut self, amount: usize) +pub fn bitcoin_io::ToStd::fill_buf(&mut self) -> bitcoin_io::Result<&[u8]> +pub fn bitcoin_io::ToStd::fill_buf(&mut self) -> std::io::error::Result<&[u8]> +pub fn bitcoin_io::ToStd::flush(&mut self) -> bitcoin_io::Result<()> +pub fn bitcoin_io::ToStd::flush(&mut self) -> std::io::error::Result<()> +pub fn bitcoin_io::ToStd::inner(&self) -> &T +pub fn bitcoin_io::ToStd::inner_mut(&mut self) -> &mut T +pub fn bitcoin_io::ToStd::into_inner(self) -> T +pub fn bitcoin_io::ToStd::new_boxed(inner: alloc::boxed::Box) -> alloc::boxed::Box +pub fn bitcoin_io::ToStd::new_mut(inner: &mut T) -> &mut Self +pub fn bitcoin_io::ToStd::read(&mut self, buf: &mut [u8]) -> bitcoin_io::Result +pub fn bitcoin_io::ToStd::read(&mut self, buf: &mut [u8]) -> std::io::error::Result +pub fn bitcoin_io::ToStd::read_exact(&mut self, buf: &mut [u8]) -> bitcoin_io::Result<()> +pub fn bitcoin_io::ToStd::read_exact(&mut self, buf: &mut [u8]) -> std::io::error::Result<()> +pub fn bitcoin_io::ToStd::write(&mut self, buf: &[u8]) -> bitcoin_io::Result +pub fn bitcoin_io::ToStd::write(&mut self, buf: &[u8]) -> std::io::error::Result +pub fn bitcoin_io::ToStd::write_all(&mut self, buf: &[u8]) -> bitcoin_io::Result<()> +pub fn bitcoin_io::ToStd::write_all(&mut self, buf: &[u8]) -> std::io::error::Result<()> +pub fn bitcoin_io::Write::flush(&mut self) -> bitcoin_io::Result<()> +pub fn bitcoin_io::Write::write(&mut self, buf: &[u8]) -> bitcoin_io::Result +pub fn bitcoin_io::Write::write_all(&mut self, buf: &[u8]) -> bitcoin_io::Result<()> +pub fn bitcoin_io::from_std_mut(std_io: &mut T) -> &mut bitcoin_io::FromStd +pub fn bitcoin_io::sink() -> bitcoin_io::Sink +pub fn std::fs::File::flush(&mut self) -> bitcoin_io::Result<()> +pub fn std::fs::File::read(&mut self, buf: &mut [u8]) -> bitcoin_io::Result +pub fn std::fs::File::read_exact(&mut self, buf: &mut [u8]) -> bitcoin_io::Result<()> +pub fn std::fs::File::write(&mut self, buf: &[u8]) -> bitcoin_io::Result +pub fn std::fs::File::write_all(&mut self, buf: &[u8]) -> bitcoin_io::Result<()> +pub fn std::io::Chain::consume(&mut self, amount: usize) +pub fn std::io::Chain::fill_buf(&mut self) -> bitcoin_io::Result<&[u8]> +pub fn std::io::Chain::read(&mut self, buf: &mut [u8]) -> bitcoin_io::Result +pub fn std::io::Chain::read_exact(&mut self, buf: &mut [u8]) -> bitcoin_io::Result<()> +pub fn std::io::Take::consume(&mut self, amount: usize) +pub fn std::io::Take::fill_buf(&mut self) -> bitcoin_io::Result<&[u8]> +pub fn std::io::Take::read(&mut self, buf: &mut [u8]) -> bitcoin_io::Result +pub fn std::io::Take::read_exact(&mut self, buf: &mut [u8]) -> bitcoin_io::Result<()> +pub fn std::io::buffered::bufreader::BufReader::consume(&mut self, amount: usize) +pub fn std::io::buffered::bufreader::BufReader::fill_buf(&mut self) -> bitcoin_io::Result<&[u8]> +pub fn std::io::buffered::bufreader::BufReader::read(&mut self, buf: &mut [u8]) -> bitcoin_io::Result +pub fn std::io::buffered::bufreader::BufReader::read_exact(&mut self, buf: &mut [u8]) -> bitcoin_io::Result<()> +pub fn std::io::buffered::bufwriter::BufWriter::flush(&mut self) -> bitcoin_io::Result<()> +pub fn std::io::buffered::bufwriter::BufWriter::write(&mut self, buf: &[u8]) -> bitcoin_io::Result +pub fn std::io::buffered::bufwriter::BufWriter::write_all(&mut self, buf: &[u8]) -> bitcoin_io::Result<()> +pub fn std::io::buffered::linewriter::LineWriter::flush(&mut self) -> bitcoin_io::Result<()> +pub fn std::io::buffered::linewriter::LineWriter::write(&mut self, buf: &[u8]) -> bitcoin_io::Result +pub fn std::io::buffered::linewriter::LineWriter::write_all(&mut self, buf: &[u8]) -> bitcoin_io::Result<()> +pub fn std::io::cursor::Cursor<&mut alloc::vec::Vec>::flush(&mut self) -> bitcoin_io::Result<()> +pub fn std::io::cursor::Cursor<&mut alloc::vec::Vec>::write(&mut self, buf: &[u8]) -> bitcoin_io::Result +pub fn std::io::cursor::Cursor<&mut alloc::vec::Vec>::write_all(&mut self, buf: &[u8]) -> bitcoin_io::Result<()> +pub fn std::io::cursor::Cursor::consume(&mut self, amount: usize) +pub fn std::io::cursor::Cursor::fill_buf(&mut self) -> bitcoin_io::Result<&[u8]> +pub fn std::io::cursor::Cursor::read(&mut self, buf: &mut [u8]) -> bitcoin_io::Result +pub fn std::io::cursor::Cursor::read_exact(&mut self, buf: &mut [u8]) -> bitcoin_io::Result<()> +pub fn std::io::cursor::Cursor>::flush(&mut self) -> bitcoin_io::Result<()> +pub fn std::io::cursor::Cursor>::write(&mut self, buf: &[u8]) -> bitcoin_io::Result +pub fn std::io::cursor::Cursor>::write_all(&mut self, buf: &[u8]) -> bitcoin_io::Result<()> +pub fn std::io::cursor::Cursor>::flush(&mut self) -> bitcoin_io::Result<()> +pub fn std::io::cursor::Cursor>::write(&mut self, buf: &[u8]) -> bitcoin_io::Result +pub fn std::io::cursor::Cursor>::write_all(&mut self, buf: &[u8]) -> bitcoin_io::Result<()> +pub fn std::io::error::Error::from(o: bitcoin_io::Error) -> std::io::error::Error +pub fn std::io::stdio::Stderr::flush(&mut self) -> bitcoin_io::Result<()> +pub fn std::io::stdio::Stderr::write(&mut self, buf: &[u8]) -> bitcoin_io::Result +pub fn std::io::stdio::Stderr::write_all(&mut self, buf: &[u8]) -> bitcoin_io::Result<()> +pub fn std::io::stdio::Stdin::read(&mut self, buf: &mut [u8]) -> bitcoin_io::Result +pub fn std::io::stdio::Stdin::read_exact(&mut self, buf: &mut [u8]) -> bitcoin_io::Result<()> +pub fn std::io::stdio::StdinLock<'_>::consume(&mut self, amount: usize) +pub fn std::io::stdio::StdinLock<'_>::fill_buf(&mut self) -> bitcoin_io::Result<&[u8]> +pub fn std::io::stdio::StdinLock<'_>::read(&mut self, buf: &mut [u8]) -> bitcoin_io::Result +pub fn std::io::stdio::StdinLock<'_>::read_exact(&mut self, buf: &mut [u8]) -> bitcoin_io::Result<()> +pub fn std::io::stdio::Stdout::flush(&mut self) -> bitcoin_io::Result<()> +pub fn std::io::stdio::Stdout::write(&mut self, buf: &[u8]) -> bitcoin_io::Result +pub fn std::io::stdio::Stdout::write_all(&mut self, buf: &[u8]) -> bitcoin_io::Result<()> +pub fn std::io::util::Empty::consume(&mut self, amount: usize) +pub fn std::io::util::Empty::fill_buf(&mut self) -> bitcoin_io::Result<&[u8]> +pub fn std::io::util::Empty::flush(&mut self) -> bitcoin_io::Result<()> +pub fn std::io::util::Empty::read(&mut self, buf: &mut [u8]) -> bitcoin_io::Result +pub fn std::io::util::Empty::read_exact(&mut self, buf: &mut [u8]) -> bitcoin_io::Result<()> +pub fn std::io::util::Empty::write(&mut self, buf: &[u8]) -> bitcoin_io::Result +pub fn std::io::util::Empty::write_all(&mut self, buf: &[u8]) -> bitcoin_io::Result<()> +pub fn std::io::util::Repeat::read(&mut self, buf: &mut [u8]) -> bitcoin_io::Result +pub fn std::io::util::Repeat::read_exact(&mut self, buf: &mut [u8]) -> bitcoin_io::Result<()> +pub fn std::net::tcp::TcpStream::flush(&mut self) -> bitcoin_io::Result<()> +pub fn std::net::tcp::TcpStream::read(&mut self, buf: &mut [u8]) -> bitcoin_io::Result +pub fn std::net::tcp::TcpStream::read_exact(&mut self, buf: &mut [u8]) -> bitcoin_io::Result<()> +pub fn std::net::tcp::TcpStream::write(&mut self, buf: &[u8]) -> bitcoin_io::Result +pub fn std::net::tcp::TcpStream::write_all(&mut self, buf: &[u8]) -> bitcoin_io::Result<()> +pub fn std::os::unix::net::stream::UnixStream::flush(&mut self) -> bitcoin_io::Result<()> +pub fn std::os::unix::net::stream::UnixStream::read(&mut self, buf: &mut [u8]) -> bitcoin_io::Result +pub fn std::os::unix::net::stream::UnixStream::read_exact(&mut self, buf: &mut [u8]) -> bitcoin_io::Result<()> +pub fn std::os::unix::net::stream::UnixStream::write(&mut self, buf: &[u8]) -> bitcoin_io::Result +pub fn std::os::unix::net::stream::UnixStream::write_all(&mut self, buf: &[u8]) -> bitcoin_io::Result<()> +pub fn std::process::ChildStderr::read(&mut self, buf: &mut [u8]) -> bitcoin_io::Result +pub fn std::process::ChildStderr::read_exact(&mut self, buf: &mut [u8]) -> bitcoin_io::Result<()> +pub fn std::process::ChildStdin::flush(&mut self) -> bitcoin_io::Result<()> +pub fn std::process::ChildStdin::write(&mut self, buf: &[u8]) -> bitcoin_io::Result +pub fn std::process::ChildStdin::write_all(&mut self, buf: &[u8]) -> bitcoin_io::Result<()> +pub fn std::process::ChildStdout::read(&mut self, buf: &mut [u8]) -> bitcoin_io::Result +pub fn std::process::ChildStdout::read_exact(&mut self, buf: &mut [u8]) -> bitcoin_io::Result<()> +pub macro bitcoin_io::impl_write! +pub mod bitcoin_io +pub struct bitcoin_io::Cursor +pub struct bitcoin_io::Error +pub struct bitcoin_io::Sink +pub struct bitcoin_io::Take<'a, R: bitcoin_io::Read + ?core::marker::Sized> +pub trait bitcoin_io::BufRead: bitcoin_io::Read +pub trait bitcoin_io::Read +pub trait bitcoin_io::Write +pub type bitcoin_io::Result = core::result::Result diff --git a/api/io/alloc-only.txt b/api/io/alloc-only.txt new file mode 100644 index 0000000000..b0aaeff4e2 --- /dev/null +++ b/api/io/alloc-only.txt @@ -0,0 +1,135 @@ +impl !core::marker::Sync for bitcoin_io::Error +impl !core::panic::unwind_safe::RefUnwindSafe for bitcoin_io::Error +impl !core::panic::unwind_safe::UnwindSafe for bitcoin_io::Error +impl bitcoin_io::BufRead for &[u8] +impl bitcoin_io::Error +impl bitcoin_io::Read for &[u8] +impl bitcoin_io::Write for &mut [u8] +impl bitcoin_io::Write for alloc::vec::Vec +impl bitcoin_io::Write for bitcoin_io::Sink +impl core::clone::Clone for bitcoin_io::ErrorKind +impl core::cmp::Eq for bitcoin_io::ErrorKind +impl core::cmp::PartialEq for bitcoin_io::ErrorKind +impl core::convert::From for bitcoin_io::Error +impl core::convert::From for bitcoin_io::ErrorKind +impl core::fmt::Debug for bitcoin_io::Error +impl core::fmt::Debug for bitcoin_io::ErrorKind +impl core::fmt::Display for bitcoin_io::Error +impl core::hash::Hash for bitcoin_io::ErrorKind +impl core::marker::Copy for bitcoin_io::ErrorKind +impl core::marker::Freeze for bitcoin_io::Error +impl core::marker::Freeze for bitcoin_io::ErrorKind +impl core::marker::Freeze for bitcoin_io::Sink +impl core::marker::Send for bitcoin_io::Error +impl core::marker::Send for bitcoin_io::ErrorKind +impl core::marker::Send for bitcoin_io::Sink +impl core::marker::StructuralPartialEq for bitcoin_io::ErrorKind +impl core::marker::Sync for bitcoin_io::ErrorKind +impl core::marker::Sync for bitcoin_io::Sink +impl core::marker::Unpin for bitcoin_io::Error +impl core::marker::Unpin for bitcoin_io::ErrorKind +impl core::marker::Unpin for bitcoin_io::Sink +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_io::ErrorKind +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_io::Sink +impl core::panic::unwind_safe::UnwindSafe for bitcoin_io::ErrorKind +impl core::panic::unwind_safe::UnwindSafe for bitcoin_io::Sink +impl<'a, R> !core::panic::unwind_safe::UnwindSafe for bitcoin_io::Take<'a, R> +impl<'a, R> core::marker::Freeze for bitcoin_io::Take<'a, R> where R: ?core::marker::Sized +impl<'a, R> core::marker::Send for bitcoin_io::Take<'a, R> where R: core::marker::Send + ?core::marker::Sized +impl<'a, R> core::marker::Sync for bitcoin_io::Take<'a, R> where R: core::marker::Sync + ?core::marker::Sized +impl<'a, R> core::marker::Unpin for bitcoin_io::Take<'a, R> where R: ?core::marker::Sized +impl<'a, R> core::panic::unwind_safe::RefUnwindSafe for bitcoin_io::Take<'a, R> where R: core::panic::unwind_safe::RefUnwindSafe + ?core::marker::Sized +impl bitcoin_io::BufRead for bitcoin_io::Take<'_, R> +impl bitcoin_io::Read for bitcoin_io::Take<'_, R> +impl bitcoin_io::Take<'_, R> +impl bitcoin_io::BufRead for &mut T +impl bitcoin_io::Read for &mut T +impl bitcoin_io::Write for &mut T +impl> bitcoin_io::BufRead for bitcoin_io::Cursor +impl> bitcoin_io::Cursor +impl> bitcoin_io::Read for bitcoin_io::Cursor +impl core::marker::Freeze for bitcoin_io::Cursor where T: core::marker::Freeze +impl core::marker::Send for bitcoin_io::Cursor where T: core::marker::Send +impl core::marker::Sync for bitcoin_io::Cursor where T: core::marker::Sync +impl core::marker::Unpin for bitcoin_io::Cursor where T: core::marker::Unpin +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_io::Cursor where T: core::panic::unwind_safe::RefUnwindSafe +impl core::panic::unwind_safe::UnwindSafe for bitcoin_io::Cursor where T: core::panic::unwind_safe::UnwindSafe +pub bitcoin_io::ErrorKind::AddrInUse +pub bitcoin_io::ErrorKind::AddrNotAvailable +pub bitcoin_io::ErrorKind::AlreadyExists +pub bitcoin_io::ErrorKind::BrokenPipe +pub bitcoin_io::ErrorKind::ConnectionAborted +pub bitcoin_io::ErrorKind::ConnectionRefused +pub bitcoin_io::ErrorKind::ConnectionReset +pub bitcoin_io::ErrorKind::Interrupted +pub bitcoin_io::ErrorKind::InvalidData +pub bitcoin_io::ErrorKind::InvalidInput +pub bitcoin_io::ErrorKind::NotConnected +pub bitcoin_io::ErrorKind::NotFound +pub bitcoin_io::ErrorKind::Other +pub bitcoin_io::ErrorKind::PermissionDenied +pub bitcoin_io::ErrorKind::TimedOut +pub bitcoin_io::ErrorKind::UnexpectedEof +pub bitcoin_io::ErrorKind::WouldBlock +pub bitcoin_io::ErrorKind::WriteZero +pub enum bitcoin_io::ErrorKind +pub fn &[u8]::consume(&mut self, amount: usize) +pub fn &[u8]::fill_buf(&mut self) -> bitcoin_io::Result<&[u8]> +pub fn &[u8]::read(&mut self, buf: &mut [u8]) -> bitcoin_io::Result +pub fn &mut T::consume(&mut self, amount: usize) +pub fn &mut T::fill_buf(&mut self) -> bitcoin_io::Result<&[u8]> +pub fn &mut T::flush(&mut self) -> bitcoin_io::Result<()> +pub fn &mut T::read(&mut self, buf: &mut [u8]) -> bitcoin_io::Result +pub fn &mut T::read_exact(&mut self, buf: &mut [u8]) -> bitcoin_io::Result<()> +pub fn &mut T::write(&mut self, buf: &[u8]) -> bitcoin_io::Result +pub fn &mut T::write_all(&mut self, buf: &[u8]) -> bitcoin_io::Result<()> +pub fn &mut [u8]::flush(&mut self) -> bitcoin_io::Result<()> +pub fn &mut [u8]::write(&mut self, buf: &[u8]) -> bitcoin_io::Result +pub fn alloc::vec::Vec::flush(&mut self) -> bitcoin_io::Result<()> +pub fn alloc::vec::Vec::write(&mut self, buf: &[u8]) -> bitcoin_io::Result +pub fn bitcoin_io::BufRead::consume(&mut self, amount: usize) +pub fn bitcoin_io::BufRead::fill_buf(&mut self) -> bitcoin_io::Result<&[u8]> +pub fn bitcoin_io::Cursor::consume(&mut self, amount: usize) +pub fn bitcoin_io::Cursor::fill_buf(&mut self) -> bitcoin_io::Result<&[u8]> +pub fn bitcoin_io::Cursor::inner(&self) -> &T +pub fn bitcoin_io::Cursor::into_inner(self) -> T +pub fn bitcoin_io::Cursor::new(inner: T) -> Self +pub fn bitcoin_io::Cursor::position(&self) -> u64 +pub fn bitcoin_io::Cursor::read(&mut self, buf: &mut [u8]) -> bitcoin_io::Result +pub fn bitcoin_io::Cursor::set_position(&mut self, position: u64) +pub fn bitcoin_io::Error::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_io::Error::fmt(&self, fmt: &mut core::fmt::Formatter<'_>) -> core::result::Result<(), core::fmt::Error> +pub fn bitcoin_io::Error::from(kind: bitcoin_io::ErrorKind) -> bitcoin_io::Error +pub fn bitcoin_io::Error::get_ref(&self) -> core::option::Option<&(dyn core::fmt::Debug + core::marker::Send + core::marker::Sync + 'static)> +pub fn bitcoin_io::Error::kind(&self) -> bitcoin_io::ErrorKind +pub fn bitcoin_io::Error::new(kind: bitcoin_io::ErrorKind, error: E) -> bitcoin_io::Error +pub fn bitcoin_io::ErrorKind::clone(&self) -> bitcoin_io::ErrorKind +pub fn bitcoin_io::ErrorKind::eq(&self, other: &bitcoin_io::ErrorKind) -> bool +pub fn bitcoin_io::ErrorKind::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_io::ErrorKind::from(never: core::convert::Infallible) -> Self +pub fn bitcoin_io::ErrorKind::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_io::Read::read(&mut self, buf: &mut [u8]) -> bitcoin_io::Result +pub fn bitcoin_io::Read::read_exact(&mut self, buf: &mut [u8]) -> bitcoin_io::Result<()> +pub fn bitcoin_io::Read::read_to_limit(&mut self, buf: &mut alloc::vec::Vec, limit: u64) -> bitcoin_io::Result +pub fn bitcoin_io::Read::take(&mut self, limit: u64) -> bitcoin_io::Take<'_, Self> +pub fn bitcoin_io::Sink::flush(&mut self) -> bitcoin_io::Result<()> +pub fn bitcoin_io::Sink::write(&mut self, buf: &[u8]) -> bitcoin_io::Result +pub fn bitcoin_io::Sink::write_all(&mut self, _: &[u8]) -> bitcoin_io::Result<()> +pub fn bitcoin_io::Take<'_, R>::consume(&mut self, amount: usize) +pub fn bitcoin_io::Take<'_, R>::fill_buf(&mut self) -> bitcoin_io::Result<&[u8]> +pub fn bitcoin_io::Take<'_, R>::read(&mut self, buf: &mut [u8]) -> bitcoin_io::Result +pub fn bitcoin_io::Take<'_, R>::read_to_end(&mut self, buf: &mut alloc::vec::Vec) -> bitcoin_io::Result +pub fn bitcoin_io::Write::flush(&mut self) -> bitcoin_io::Result<()> +pub fn bitcoin_io::Write::write(&mut self, buf: &[u8]) -> bitcoin_io::Result +pub fn bitcoin_io::Write::write_all(&mut self, buf: &[u8]) -> bitcoin_io::Result<()> +pub fn bitcoin_io::sink() -> bitcoin_io::Sink +pub macro bitcoin_io::impl_write! +pub mod bitcoin_io +pub struct bitcoin_io::Cursor +pub struct bitcoin_io::Error +pub struct bitcoin_io::Sink +pub struct bitcoin_io::Take<'a, R: bitcoin_io::Read + ?core::marker::Sized> +pub trait bitcoin_io::BufRead: bitcoin_io::Read +pub trait bitcoin_io::Read +pub trait bitcoin_io::Write +pub type bitcoin_io::Result = core::result::Result diff --git a/api/io/no-features.txt b/api/io/no-features.txt new file mode 100644 index 0000000000..facd4c3ef6 --- /dev/null +++ b/api/io/no-features.txt @@ -0,0 +1,127 @@ +impl !core::marker::Sync for bitcoin_io::Error +impl !core::panic::unwind_safe::RefUnwindSafe for bitcoin_io::Error +impl !core::panic::unwind_safe::UnwindSafe for bitcoin_io::Error +impl bitcoin_io::BufRead for &[u8] +impl bitcoin_io::Error +impl bitcoin_io::Read for &[u8] +impl bitcoin_io::Write for &mut [u8] +impl bitcoin_io::Write for bitcoin_io::Sink +impl core::clone::Clone for bitcoin_io::ErrorKind +impl core::cmp::Eq for bitcoin_io::ErrorKind +impl core::cmp::PartialEq for bitcoin_io::ErrorKind +impl core::convert::From for bitcoin_io::Error +impl core::convert::From for bitcoin_io::ErrorKind +impl core::fmt::Debug for bitcoin_io::Error +impl core::fmt::Debug for bitcoin_io::ErrorKind +impl core::fmt::Display for bitcoin_io::Error +impl core::hash::Hash for bitcoin_io::ErrorKind +impl core::marker::Copy for bitcoin_io::ErrorKind +impl core::marker::Freeze for bitcoin_io::Error +impl core::marker::Freeze for bitcoin_io::ErrorKind +impl core::marker::Freeze for bitcoin_io::Sink +impl core::marker::Send for bitcoin_io::Error +impl core::marker::Send for bitcoin_io::ErrorKind +impl core::marker::Send for bitcoin_io::Sink +impl core::marker::StructuralPartialEq for bitcoin_io::ErrorKind +impl core::marker::Sync for bitcoin_io::ErrorKind +impl core::marker::Sync for bitcoin_io::Sink +impl core::marker::Unpin for bitcoin_io::Error +impl core::marker::Unpin for bitcoin_io::ErrorKind +impl core::marker::Unpin for bitcoin_io::Sink +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_io::ErrorKind +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_io::Sink +impl core::panic::unwind_safe::UnwindSafe for bitcoin_io::ErrorKind +impl core::panic::unwind_safe::UnwindSafe for bitcoin_io::Sink +impl<'a, R> !core::panic::unwind_safe::UnwindSafe for bitcoin_io::Take<'a, R> +impl<'a, R> core::marker::Freeze for bitcoin_io::Take<'a, R> where R: ?core::marker::Sized +impl<'a, R> core::marker::Send for bitcoin_io::Take<'a, R> where R: core::marker::Send + ?core::marker::Sized +impl<'a, R> core::marker::Sync for bitcoin_io::Take<'a, R> where R: core::marker::Sync + ?core::marker::Sized +impl<'a, R> core::marker::Unpin for bitcoin_io::Take<'a, R> where R: ?core::marker::Sized +impl<'a, R> core::panic::unwind_safe::RefUnwindSafe for bitcoin_io::Take<'a, R> where R: core::panic::unwind_safe::RefUnwindSafe + ?core::marker::Sized +impl bitcoin_io::BufRead for bitcoin_io::Take<'_, R> +impl bitcoin_io::Read for bitcoin_io::Take<'_, R> +impl bitcoin_io::BufRead for &mut T +impl bitcoin_io::Read for &mut T +impl bitcoin_io::Write for &mut T +impl> bitcoin_io::BufRead for bitcoin_io::Cursor +impl> bitcoin_io::Cursor +impl> bitcoin_io::Read for bitcoin_io::Cursor +impl core::marker::Freeze for bitcoin_io::Cursor where T: core::marker::Freeze +impl core::marker::Send for bitcoin_io::Cursor where T: core::marker::Send +impl core::marker::Sync for bitcoin_io::Cursor where T: core::marker::Sync +impl core::marker::Unpin for bitcoin_io::Cursor where T: core::marker::Unpin +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_io::Cursor where T: core::panic::unwind_safe::RefUnwindSafe +impl core::panic::unwind_safe::UnwindSafe for bitcoin_io::Cursor where T: core::panic::unwind_safe::UnwindSafe +pub bitcoin_io::ErrorKind::AddrInUse +pub bitcoin_io::ErrorKind::AddrNotAvailable +pub bitcoin_io::ErrorKind::AlreadyExists +pub bitcoin_io::ErrorKind::BrokenPipe +pub bitcoin_io::ErrorKind::ConnectionAborted +pub bitcoin_io::ErrorKind::ConnectionRefused +pub bitcoin_io::ErrorKind::ConnectionReset +pub bitcoin_io::ErrorKind::Interrupted +pub bitcoin_io::ErrorKind::InvalidData +pub bitcoin_io::ErrorKind::InvalidInput +pub bitcoin_io::ErrorKind::NotConnected +pub bitcoin_io::ErrorKind::NotFound +pub bitcoin_io::ErrorKind::Other +pub bitcoin_io::ErrorKind::PermissionDenied +pub bitcoin_io::ErrorKind::TimedOut +pub bitcoin_io::ErrorKind::UnexpectedEof +pub bitcoin_io::ErrorKind::WouldBlock +pub bitcoin_io::ErrorKind::WriteZero +pub enum bitcoin_io::ErrorKind +pub fn &[u8]::consume(&mut self, amount: usize) +pub fn &[u8]::fill_buf(&mut self) -> bitcoin_io::Result<&[u8]> +pub fn &[u8]::read(&mut self, buf: &mut [u8]) -> bitcoin_io::Result +pub fn &mut T::consume(&mut self, amount: usize) +pub fn &mut T::fill_buf(&mut self) -> bitcoin_io::Result<&[u8]> +pub fn &mut T::flush(&mut self) -> bitcoin_io::Result<()> +pub fn &mut T::read(&mut self, buf: &mut [u8]) -> bitcoin_io::Result +pub fn &mut T::read_exact(&mut self, buf: &mut [u8]) -> bitcoin_io::Result<()> +pub fn &mut T::write(&mut self, buf: &[u8]) -> bitcoin_io::Result +pub fn &mut T::write_all(&mut self, buf: &[u8]) -> bitcoin_io::Result<()> +pub fn &mut [u8]::flush(&mut self) -> bitcoin_io::Result<()> +pub fn &mut [u8]::write(&mut self, buf: &[u8]) -> bitcoin_io::Result +pub fn bitcoin_io::BufRead::consume(&mut self, amount: usize) +pub fn bitcoin_io::BufRead::fill_buf(&mut self) -> bitcoin_io::Result<&[u8]> +pub fn bitcoin_io::Cursor::consume(&mut self, amount: usize) +pub fn bitcoin_io::Cursor::fill_buf(&mut self) -> bitcoin_io::Result<&[u8]> +pub fn bitcoin_io::Cursor::inner(&self) -> &T +pub fn bitcoin_io::Cursor::into_inner(self) -> T +pub fn bitcoin_io::Cursor::new(inner: T) -> Self +pub fn bitcoin_io::Cursor::position(&self) -> u64 +pub fn bitcoin_io::Cursor::read(&mut self, buf: &mut [u8]) -> bitcoin_io::Result +pub fn bitcoin_io::Cursor::set_position(&mut self, position: u64) +pub fn bitcoin_io::Error::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_io::Error::fmt(&self, fmt: &mut core::fmt::Formatter<'_>) -> core::result::Result<(), core::fmt::Error> +pub fn bitcoin_io::Error::from(kind: bitcoin_io::ErrorKind) -> bitcoin_io::Error +pub fn bitcoin_io::Error::kind(&self) -> bitcoin_io::ErrorKind +pub fn bitcoin_io::ErrorKind::clone(&self) -> bitcoin_io::ErrorKind +pub fn bitcoin_io::ErrorKind::eq(&self, other: &bitcoin_io::ErrorKind) -> bool +pub fn bitcoin_io::ErrorKind::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_io::ErrorKind::from(never: core::convert::Infallible) -> Self +pub fn bitcoin_io::ErrorKind::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_io::Read::read(&mut self, buf: &mut [u8]) -> bitcoin_io::Result +pub fn bitcoin_io::Read::read_exact(&mut self, buf: &mut [u8]) -> bitcoin_io::Result<()> +pub fn bitcoin_io::Read::take(&mut self, limit: u64) -> bitcoin_io::Take<'_, Self> +pub fn bitcoin_io::Sink::flush(&mut self) -> bitcoin_io::Result<()> +pub fn bitcoin_io::Sink::write(&mut self, buf: &[u8]) -> bitcoin_io::Result +pub fn bitcoin_io::Sink::write_all(&mut self, _: &[u8]) -> bitcoin_io::Result<()> +pub fn bitcoin_io::Take<'_, R>::consume(&mut self, amount: usize) +pub fn bitcoin_io::Take<'_, R>::fill_buf(&mut self) -> bitcoin_io::Result<&[u8]> +pub fn bitcoin_io::Take<'_, R>::read(&mut self, buf: &mut [u8]) -> bitcoin_io::Result +pub fn bitcoin_io::Write::flush(&mut self) -> bitcoin_io::Result<()> +pub fn bitcoin_io::Write::write(&mut self, buf: &[u8]) -> bitcoin_io::Result +pub fn bitcoin_io::Write::write_all(&mut self, buf: &[u8]) -> bitcoin_io::Result<()> +pub fn bitcoin_io::sink() -> bitcoin_io::Sink +pub macro bitcoin_io::impl_write! +pub mod bitcoin_io +pub struct bitcoin_io::Cursor +pub struct bitcoin_io::Error +pub struct bitcoin_io::Sink +pub struct bitcoin_io::Take<'a, R: bitcoin_io::Read + ?core::marker::Sized> +pub trait bitcoin_io::BufRead: bitcoin_io::Read +pub trait bitcoin_io::Read +pub trait bitcoin_io::Write +pub type bitcoin_io::Result = core::result::Result diff --git a/api/primitives/all-features.txt b/api/primitives/all-features.txt new file mode 100644 index 0000000000..fddc60bcc6 --- /dev/null +++ b/api/primitives/all-features.txt @@ -0,0 +1,1873 @@ +#[non_exhaustive] pub enum bitcoin_primitives::transaction::ParseOutPointError +#[non_exhaustive] pub struct bitcoin_primitives::locktime::relative::IncompatibleHeightError +#[non_exhaustive] pub struct bitcoin_primitives::locktime::relative::IncompatibleTimeError +#[non_exhaustive] pub struct bitcoin_primitives::relative::IncompatibleHeightError +#[non_exhaustive] pub struct bitcoin_primitives::relative::IncompatibleTimeError +#[repr(transparent)] pub struct bitcoin_primitives::script::Script(_) +impl !core::marker::Sized for bitcoin_primitives::script::Script +impl alloc::borrow::ToOwned for bitcoin_primitives::script::Script +impl bitcoin_hashes::Hash for bitcoin_primitives::block::BlockHash +impl bitcoin_hashes::Hash for bitcoin_primitives::block::WitnessCommitment +impl bitcoin_hashes::Hash for bitcoin_primitives::merkle_tree::TxMerkleNode +impl bitcoin_hashes::Hash for bitcoin_primitives::merkle_tree::WitnessMerkleNode +impl bitcoin_hashes::Hash for bitcoin_primitives::taproot::TapLeafHash +impl bitcoin_hashes::Hash for bitcoin_primitives::taproot::TapNodeHash +impl bitcoin_hashes::Hash for bitcoin_primitives::taproot::TapTweakHash +impl bitcoin_hashes::Hash for bitcoin_primitives::transaction::Txid +impl bitcoin_hashes::Hash for bitcoin_primitives::transaction::Wtxid +impl bitcoin_hashes::sha256t::Tag for bitcoin_primitives::taproot::TapBranchTag +impl bitcoin_hashes::sha256t::Tag for bitcoin_primitives::taproot::TapLeafTag +impl bitcoin_hashes::sha256t::Tag for bitcoin_primitives::taproot::TapTweakTag +impl bitcoin_primitives::block::Block +impl bitcoin_primitives::block::Block +impl bitcoin_primitives::block::BlockHash +impl bitcoin_primitives::block::Header +impl bitcoin_primitives::block::Validation for bitcoin_primitives::block::Checked +impl bitcoin_primitives::block::Validation for bitcoin_primitives::block::Unchecked +impl bitcoin_primitives::block::Version +impl bitcoin_primitives::block::WitnessCommitment +impl bitcoin_primitives::locktime::absolute::LockTime +impl bitcoin_primitives::locktime::relative::DisabledLockTimeError +impl bitcoin_primitives::locktime::relative::LockTime +impl bitcoin_primitives::merkle_tree::TxMerkleNode +impl bitcoin_primitives::merkle_tree::WitnessMerkleNode +impl bitcoin_primitives::opcodes::Opcode +impl bitcoin_primitives::pow::CompactTarget +impl bitcoin_primitives::script::Script +impl bitcoin_primitives::script::ScriptBuf +impl bitcoin_primitives::sequence::Sequence +impl bitcoin_primitives::taproot::TapLeafHash +impl bitcoin_primitives::taproot::TapNodeHash +impl bitcoin_primitives::taproot::TapTweakHash +impl bitcoin_primitives::transaction::OutPoint +impl bitcoin_primitives::transaction::Transaction +impl bitcoin_primitives::transaction::TxIn +impl bitcoin_primitives::transaction::TxOut +impl bitcoin_primitives::transaction::Txid +impl bitcoin_primitives::transaction::Version +impl bitcoin_primitives::transaction::Wtxid +impl bitcoin_primitives::witness::Witness +impl core::borrow::Borrow<[u8; 32]> for bitcoin_primitives::block::BlockHash +impl core::borrow::Borrow<[u8; 32]> for bitcoin_primitives::block::WitnessCommitment +impl core::borrow::Borrow<[u8; 32]> for bitcoin_primitives::merkle_tree::TxMerkleNode +impl core::borrow::Borrow<[u8; 32]> for bitcoin_primitives::merkle_tree::WitnessMerkleNode +impl core::borrow::Borrow<[u8; 32]> for bitcoin_primitives::taproot::TapLeafHash +impl core::borrow::Borrow<[u8; 32]> for bitcoin_primitives::taproot::TapNodeHash +impl core::borrow::Borrow<[u8; 32]> for bitcoin_primitives::taproot::TapTweakHash +impl core::borrow::Borrow<[u8; 32]> for bitcoin_primitives::transaction::Txid +impl core::borrow::Borrow<[u8; 32]> for bitcoin_primitives::transaction::Wtxid +impl core::borrow::Borrow<[u8]> for bitcoin_primitives::block::BlockHash +impl core::borrow::Borrow<[u8]> for bitcoin_primitives::block::WitnessCommitment +impl core::borrow::Borrow<[u8]> for bitcoin_primitives::merkle_tree::TxMerkleNode +impl core::borrow::Borrow<[u8]> for bitcoin_primitives::merkle_tree::WitnessMerkleNode +impl core::borrow::Borrow<[u8]> for bitcoin_primitives::taproot::TapLeafHash +impl core::borrow::Borrow<[u8]> for bitcoin_primitives::taproot::TapNodeHash +impl core::borrow::Borrow<[u8]> for bitcoin_primitives::taproot::TapTweakHash +impl core::borrow::Borrow<[u8]> for bitcoin_primitives::transaction::Txid +impl core::borrow::Borrow<[u8]> for bitcoin_primitives::transaction::Wtxid +impl core::borrow::Borrow for bitcoin_primitives::script::ScriptBuf +impl core::borrow::BorrowMut for bitcoin_primitives::script::ScriptBuf +impl core::clone::Clone for bitcoin_primitives::block::BlockHash +impl core::clone::Clone for bitcoin_primitives::block::Checked +impl core::clone::Clone for bitcoin_primitives::block::Header +impl core::clone::Clone for bitcoin_primitives::block::Unchecked +impl core::clone::Clone for bitcoin_primitives::block::Version +impl core::clone::Clone for bitcoin_primitives::block::WitnessCommitment +impl core::clone::Clone for bitcoin_primitives::locktime::absolute::LockTime +impl core::clone::Clone for bitcoin_primitives::locktime::relative::DisabledLockTimeError +impl core::clone::Clone for bitcoin_primitives::locktime::relative::IncompatibleHeightError +impl core::clone::Clone for bitcoin_primitives::locktime::relative::IncompatibleTimeError +impl core::clone::Clone for bitcoin_primitives::locktime::relative::LockTime +impl core::clone::Clone for bitcoin_primitives::merkle_tree::TxMerkleNode +impl core::clone::Clone for bitcoin_primitives::merkle_tree::WitnessMerkleNode +impl core::clone::Clone for bitcoin_primitives::opcodes::Class +impl core::clone::Clone for bitcoin_primitives::opcodes::ClassifyContext +impl core::clone::Clone for bitcoin_primitives::opcodes::Opcode +impl core::clone::Clone for bitcoin_primitives::pow::CompactTarget +impl core::clone::Clone for bitcoin_primitives::script::ScriptBuf +impl core::clone::Clone for bitcoin_primitives::sequence::Sequence +impl core::clone::Clone for bitcoin_primitives::taproot::TapBranchTag +impl core::clone::Clone for bitcoin_primitives::taproot::TapLeafHash +impl core::clone::Clone for bitcoin_primitives::taproot::TapLeafTag +impl core::clone::Clone for bitcoin_primitives::taproot::TapNodeHash +impl core::clone::Clone for bitcoin_primitives::taproot::TapTweakHash +impl core::clone::Clone for bitcoin_primitives::taproot::TapTweakTag +impl core::clone::Clone for bitcoin_primitives::transaction::OutPoint +impl core::clone::Clone for bitcoin_primitives::transaction::ParseOutPointError +impl core::clone::Clone for bitcoin_primitives::transaction::Transaction +impl core::clone::Clone for bitcoin_primitives::transaction::TxIn +impl core::clone::Clone for bitcoin_primitives::transaction::TxOut +impl core::clone::Clone for bitcoin_primitives::transaction::Txid +impl core::clone::Clone for bitcoin_primitives::transaction::Version +impl core::clone::Clone for bitcoin_primitives::transaction::Wtxid +impl core::clone::Clone for bitcoin_primitives::witness::Witness +impl core::cmp::Eq for bitcoin_primitives::block::BlockHash +impl core::cmp::Eq for bitcoin_primitives::block::Checked +impl core::cmp::Eq for bitcoin_primitives::block::Header +impl core::cmp::Eq for bitcoin_primitives::block::Unchecked +impl core::cmp::Eq for bitcoin_primitives::block::Version +impl core::cmp::Eq for bitcoin_primitives::block::WitnessCommitment +impl core::cmp::Eq for bitcoin_primitives::locktime::absolute::LockTime +impl core::cmp::Eq for bitcoin_primitives::locktime::relative::DisabledLockTimeError +impl core::cmp::Eq for bitcoin_primitives::locktime::relative::IncompatibleHeightError +impl core::cmp::Eq for bitcoin_primitives::locktime::relative::IncompatibleTimeError +impl core::cmp::Eq for bitcoin_primitives::locktime::relative::LockTime +impl core::cmp::Eq for bitcoin_primitives::merkle_tree::TxMerkleNode +impl core::cmp::Eq for bitcoin_primitives::merkle_tree::WitnessMerkleNode +impl core::cmp::Eq for bitcoin_primitives::opcodes::Class +impl core::cmp::Eq for bitcoin_primitives::opcodes::ClassifyContext +impl core::cmp::Eq for bitcoin_primitives::opcodes::Opcode +impl core::cmp::Eq for bitcoin_primitives::pow::CompactTarget +impl core::cmp::Eq for bitcoin_primitives::script::Script +impl core::cmp::Eq for bitcoin_primitives::script::ScriptBuf +impl core::cmp::Eq for bitcoin_primitives::sequence::Sequence +impl core::cmp::Eq for bitcoin_primitives::taproot::TapBranchTag +impl core::cmp::Eq for bitcoin_primitives::taproot::TapLeafHash +impl core::cmp::Eq for bitcoin_primitives::taproot::TapLeafTag +impl core::cmp::Eq for bitcoin_primitives::taproot::TapNodeHash +impl core::cmp::Eq for bitcoin_primitives::taproot::TapTweakHash +impl core::cmp::Eq for bitcoin_primitives::taproot::TapTweakTag +impl core::cmp::Eq for bitcoin_primitives::transaction::OutPoint +impl core::cmp::Eq for bitcoin_primitives::transaction::ParseOutPointError +impl core::cmp::Eq for bitcoin_primitives::transaction::Transaction +impl core::cmp::Eq for bitcoin_primitives::transaction::TxIn +impl core::cmp::Eq for bitcoin_primitives::transaction::TxOut +impl core::cmp::Eq for bitcoin_primitives::transaction::Txid +impl core::cmp::Eq for bitcoin_primitives::transaction::Version +impl core::cmp::Eq for bitcoin_primitives::transaction::Wtxid +impl core::cmp::Eq for bitcoin_primitives::witness::Witness +impl core::cmp::Ord for bitcoin_primitives::block::BlockHash +impl core::cmp::Ord for bitcoin_primitives::block::Checked +impl core::cmp::Ord for bitcoin_primitives::block::Header +impl core::cmp::Ord for bitcoin_primitives::block::Unchecked +impl core::cmp::Ord for bitcoin_primitives::block::Version +impl core::cmp::Ord for bitcoin_primitives::block::WitnessCommitment +impl core::cmp::Ord for bitcoin_primitives::merkle_tree::TxMerkleNode +impl core::cmp::Ord for bitcoin_primitives::merkle_tree::WitnessMerkleNode +impl core::cmp::Ord for bitcoin_primitives::opcodes::ClassifyContext +impl core::cmp::Ord for bitcoin_primitives::pow::CompactTarget +impl core::cmp::Ord for bitcoin_primitives::script::Script +impl core::cmp::Ord for bitcoin_primitives::script::ScriptBuf +impl core::cmp::Ord for bitcoin_primitives::sequence::Sequence +impl core::cmp::Ord for bitcoin_primitives::taproot::TapBranchTag +impl core::cmp::Ord for bitcoin_primitives::taproot::TapLeafHash +impl core::cmp::Ord for bitcoin_primitives::taproot::TapLeafTag +impl core::cmp::Ord for bitcoin_primitives::taproot::TapNodeHash +impl core::cmp::Ord for bitcoin_primitives::taproot::TapTweakHash +impl core::cmp::Ord for bitcoin_primitives::taproot::TapTweakTag +impl core::cmp::Ord for bitcoin_primitives::transaction::OutPoint +impl core::cmp::Ord for bitcoin_primitives::transaction::Transaction +impl core::cmp::Ord for bitcoin_primitives::transaction::TxIn +impl core::cmp::Ord for bitcoin_primitives::transaction::TxOut +impl core::cmp::Ord for bitcoin_primitives::transaction::Txid +impl core::cmp::Ord for bitcoin_primitives::transaction::Version +impl core::cmp::Ord for bitcoin_primitives::transaction::Wtxid +impl core::cmp::Ord for bitcoin_primitives::witness::Witness +impl core::cmp::PartialEq for bitcoin_primitives::block::BlockHash +impl core::cmp::PartialEq for bitcoin_primitives::block::Checked +impl core::cmp::PartialEq for bitcoin_primitives::block::Header +impl core::cmp::PartialEq for bitcoin_primitives::block::Unchecked +impl core::cmp::PartialEq for bitcoin_primitives::block::Version +impl core::cmp::PartialEq for bitcoin_primitives::block::WitnessCommitment +impl core::cmp::PartialEq for bitcoin_primitives::locktime::absolute::LockTime +impl core::cmp::PartialEq for bitcoin_primitives::locktime::relative::DisabledLockTimeError +impl core::cmp::PartialEq for bitcoin_primitives::locktime::relative::IncompatibleHeightError +impl core::cmp::PartialEq for bitcoin_primitives::locktime::relative::IncompatibleTimeError +impl core::cmp::PartialEq for bitcoin_primitives::locktime::relative::LockTime +impl core::cmp::PartialEq for bitcoin_primitives::merkle_tree::TxMerkleNode +impl core::cmp::PartialEq for bitcoin_primitives::merkle_tree::WitnessMerkleNode +impl core::cmp::PartialEq for bitcoin_primitives::opcodes::Class +impl core::cmp::PartialEq for bitcoin_primitives::opcodes::ClassifyContext +impl core::cmp::PartialEq for bitcoin_primitives::opcodes::Opcode +impl core::cmp::PartialEq for bitcoin_primitives::pow::CompactTarget +impl core::cmp::PartialEq for bitcoin_primitives::script::Script +impl core::cmp::PartialEq for bitcoin_primitives::script::ScriptBuf +impl core::cmp::PartialEq for bitcoin_primitives::sequence::Sequence +impl core::cmp::PartialEq for bitcoin_primitives::taproot::TapBranchTag +impl core::cmp::PartialEq for bitcoin_primitives::taproot::TapLeafHash +impl core::cmp::PartialEq for bitcoin_primitives::taproot::TapLeafTag +impl core::cmp::PartialEq for bitcoin_primitives::taproot::TapNodeHash +impl core::cmp::PartialEq for bitcoin_primitives::taproot::TapTweakHash +impl core::cmp::PartialEq for bitcoin_primitives::taproot::TapTweakTag +impl core::cmp::PartialEq for bitcoin_primitives::transaction::OutPoint +impl core::cmp::PartialEq for bitcoin_primitives::transaction::ParseOutPointError +impl core::cmp::PartialEq for bitcoin_primitives::transaction::Transaction +impl core::cmp::PartialEq for bitcoin_primitives::transaction::TxIn +impl core::cmp::PartialEq for bitcoin_primitives::transaction::TxOut +impl core::cmp::PartialEq for bitcoin_primitives::transaction::Txid +impl core::cmp::PartialEq for bitcoin_primitives::transaction::Version +impl core::cmp::PartialEq for bitcoin_primitives::transaction::Wtxid +impl core::cmp::PartialEq for bitcoin_primitives::witness::Witness +impl core::cmp::PartialEq for bitcoin_primitives::script::ScriptBuf +impl core::cmp::PartialEq for bitcoin_primitives::script::Script +impl core::cmp::PartialOrd for bitcoin_primitives::block::BlockHash +impl core::cmp::PartialOrd for bitcoin_primitives::block::Checked +impl core::cmp::PartialOrd for bitcoin_primitives::block::Header +impl core::cmp::PartialOrd for bitcoin_primitives::block::Unchecked +impl core::cmp::PartialOrd for bitcoin_primitives::block::Version +impl core::cmp::PartialOrd for bitcoin_primitives::block::WitnessCommitment +impl core::cmp::PartialOrd for bitcoin_primitives::locktime::absolute::LockTime +impl core::cmp::PartialOrd for bitcoin_primitives::locktime::relative::LockTime +impl core::cmp::PartialOrd for bitcoin_primitives::merkle_tree::TxMerkleNode +impl core::cmp::PartialOrd for bitcoin_primitives::merkle_tree::WitnessMerkleNode +impl core::cmp::PartialOrd for bitcoin_primitives::opcodes::ClassifyContext +impl core::cmp::PartialOrd for bitcoin_primitives::pow::CompactTarget +impl core::cmp::PartialOrd for bitcoin_primitives::script::Script +impl core::cmp::PartialOrd for bitcoin_primitives::script::ScriptBuf +impl core::cmp::PartialOrd for bitcoin_primitives::sequence::Sequence +impl core::cmp::PartialOrd for bitcoin_primitives::taproot::TapBranchTag +impl core::cmp::PartialOrd for bitcoin_primitives::taproot::TapLeafHash +impl core::cmp::PartialOrd for bitcoin_primitives::taproot::TapLeafTag +impl core::cmp::PartialOrd for bitcoin_primitives::taproot::TapNodeHash +impl core::cmp::PartialOrd for bitcoin_primitives::taproot::TapTweakHash +impl core::cmp::PartialOrd for bitcoin_primitives::taproot::TapTweakTag +impl core::cmp::PartialOrd for bitcoin_primitives::transaction::OutPoint +impl core::cmp::PartialOrd for bitcoin_primitives::transaction::Transaction +impl core::cmp::PartialOrd for bitcoin_primitives::transaction::TxIn +impl core::cmp::PartialOrd for bitcoin_primitives::transaction::TxOut +impl core::cmp::PartialOrd for bitcoin_primitives::transaction::Txid +impl core::cmp::PartialOrd for bitcoin_primitives::transaction::Version +impl core::cmp::PartialOrd for bitcoin_primitives::transaction::Wtxid +impl core::cmp::PartialOrd for bitcoin_primitives::witness::Witness +impl core::cmp::PartialOrd for bitcoin_primitives::script::ScriptBuf +impl core::cmp::PartialOrd for bitcoin_primitives::script::Script +impl core::convert::AsMut<[u8]> for bitcoin_primitives::script::Script +impl core::convert::AsMut<[u8]> for bitcoin_primitives::script::ScriptBuf +impl core::convert::AsMut for bitcoin_primitives::script::Script +impl core::convert::AsMut for bitcoin_primitives::script::ScriptBuf +impl core::convert::AsRef<[u8; 32]> for bitcoin_primitives::block::BlockHash +impl core::convert::AsRef<[u8; 32]> for bitcoin_primitives::block::WitnessCommitment +impl core::convert::AsRef<[u8; 32]> for bitcoin_primitives::merkle_tree::TxMerkleNode +impl core::convert::AsRef<[u8; 32]> for bitcoin_primitives::merkle_tree::WitnessMerkleNode +impl core::convert::AsRef<[u8; 32]> for bitcoin_primitives::taproot::TapLeafHash +impl core::convert::AsRef<[u8; 32]> for bitcoin_primitives::taproot::TapNodeHash +impl core::convert::AsRef<[u8; 32]> for bitcoin_primitives::taproot::TapTweakHash +impl core::convert::AsRef<[u8; 32]> for bitcoin_primitives::transaction::Txid +impl core::convert::AsRef<[u8; 32]> for bitcoin_primitives::transaction::Wtxid +impl core::convert::AsRef<[u8]> for bitcoin_primitives::block::BlockHash +impl core::convert::AsRef<[u8]> for bitcoin_primitives::block::WitnessCommitment +impl core::convert::AsRef<[u8]> for bitcoin_primitives::merkle_tree::TxMerkleNode +impl core::convert::AsRef<[u8]> for bitcoin_primitives::merkle_tree::WitnessMerkleNode +impl core::convert::AsRef<[u8]> for bitcoin_primitives::script::Script +impl core::convert::AsRef<[u8]> for bitcoin_primitives::script::ScriptBuf +impl core::convert::AsRef<[u8]> for bitcoin_primitives::taproot::TapLeafHash +impl core::convert::AsRef<[u8]> for bitcoin_primitives::taproot::TapNodeHash +impl core::convert::AsRef<[u8]> for bitcoin_primitives::taproot::TapTweakHash +impl core::convert::AsRef<[u8]> for bitcoin_primitives::transaction::Txid +impl core::convert::AsRef<[u8]> for bitcoin_primitives::transaction::Wtxid +impl core::convert::AsRef for bitcoin_primitives::script::Script +impl core::convert::AsRef for bitcoin_primitives::script::ScriptBuf +impl core::convert::From<&[&[u8]]> for bitcoin_primitives::witness::Witness +impl core::convert::From<&[alloc::vec::Vec]> for bitcoin_primitives::witness::Witness +impl core::convert::From<&bitcoin_primitives::block::Block> for bitcoin_primitives::block::BlockHash +impl core::convert::From<&bitcoin_primitives::block::Header> for bitcoin_primitives::block::BlockHash +impl core::convert::From<&bitcoin_primitives::transaction::Transaction> for bitcoin_primitives::transaction::Txid +impl core::convert::From<&bitcoin_primitives::transaction::Transaction> for bitcoin_primitives::transaction::Wtxid +impl core::convert::From> for bitcoin_primitives::witness::Witness +impl core::convert::From>> for bitcoin_primitives::witness::Witness +impl core::convert::From> for bitcoin_primitives::script::ScriptBuf +impl core::convert::From for bitcoin_primitives::block::BlockHash +impl core::convert::From for bitcoin_primitives::block::WitnessCommitment +impl core::convert::From for bitcoin_primitives::merkle_tree::TxMerkleNode +impl core::convert::From for bitcoin_primitives::merkle_tree::WitnessMerkleNode +impl core::convert::From for bitcoin_primitives::transaction::Txid +impl core::convert::From for bitcoin_primitives::transaction::Wtxid +impl core::convert::From> for bitcoin_primitives::taproot::TapNodeHash +impl core::convert::From> for bitcoin_primitives::taproot::TapLeafHash +impl core::convert::From> for bitcoin_primitives::taproot::TapTweakHash +impl core::convert::From for bitcoin_primitives::block::BlockHash +impl core::convert::From for bitcoin_hashes::sha256d::Hash +impl core::convert::From for bitcoin_primitives::block::BlockHash +impl core::convert::From for bitcoin_hashes::sha256d::Hash +impl core::convert::From for bitcoin_primitives::sequence::Sequence +impl core::convert::From for bitcoin_hashes::sha256d::Hash +impl core::convert::From for bitcoin_hashes::sha256d::Hash +impl core::convert::From for alloc::borrow::Cow<'_, bitcoin_primitives::script::Script> +impl core::convert::From for alloc::boxed::Box +impl core::convert::From for alloc::vec::Vec +impl core::convert::From for u32 +impl core::convert::From for bitcoin_hashes::sha256t::Hash +impl core::convert::From for bitcoin_primitives::taproot::TapNodeHash +impl core::convert::From for bitcoin_hashes::sha256t::Hash +impl core::convert::From for bitcoin_hashes::sha256t::Hash +impl core::convert::From for bitcoin_primitives::transaction::Txid +impl core::convert::From for bitcoin_primitives::transaction::Wtxid +impl core::convert::From for bitcoin_hashes::sha256d::Hash +impl core::convert::From for bitcoin_hashes::sha256d::Hash +impl core::convert::From for bitcoin_primitives::locktime::absolute::LockTime +impl core::convert::From for bitcoin_primitives::locktime::absolute::LockTime +impl core::convert::From for bitcoin_primitives::locktime::relative::LockTime +impl core::convert::From for bitcoin_primitives::locktime::relative::LockTime +impl core::convert::From for bitcoin_primitives::transaction::ParseOutPointError +impl core::convert::From for bitcoin_primitives::opcodes::Opcode +impl core::convert::TryFrom<&str> for bitcoin_primitives::locktime::absolute::LockTime +impl core::convert::TryFrom<&str> for bitcoin_primitives::sequence::Sequence +impl core::convert::TryFrom> for bitcoin_primitives::locktime::absolute::LockTime +impl core::convert::TryFrom> for bitcoin_primitives::sequence::Sequence +impl core::convert::TryFrom for bitcoin_primitives::locktime::absolute::LockTime +impl core::convert::TryFrom for bitcoin_primitives::sequence::Sequence +impl core::convert::TryFrom for bitcoin_primitives::locktime::relative::LockTime +impl core::default::Default for bitcoin_primitives::block::Version +impl core::default::Default for bitcoin_primitives::pow::CompactTarget +impl core::default::Default for bitcoin_primitives::script::ScriptBuf +impl core::default::Default for bitcoin_primitives::sequence::Sequence +impl core::default::Default for bitcoin_primitives::taproot::TapBranchTag +impl core::default::Default for bitcoin_primitives::taproot::TapLeafTag +impl core::default::Default for bitcoin_primitives::taproot::TapTweakTag +impl core::default::Default for bitcoin_primitives::witness::Witness +impl core::error::Error for bitcoin_primitives::locktime::relative::DisabledLockTimeError +impl core::error::Error for bitcoin_primitives::locktime::relative::IncompatibleHeightError +impl core::error::Error for bitcoin_primitives::locktime::relative::IncompatibleTimeError +impl core::error::Error for bitcoin_primitives::transaction::ParseOutPointError +impl core::fmt::Debug for bitcoin_primitives::block::BlockHash +impl core::fmt::Debug for bitcoin_primitives::block::Checked +impl core::fmt::Debug for bitcoin_primitives::block::Header +impl core::fmt::Debug for bitcoin_primitives::block::Unchecked +impl core::fmt::Debug for bitcoin_primitives::block::Version +impl core::fmt::Debug for bitcoin_primitives::block::WitnessCommitment +impl core::fmt::Debug for bitcoin_primitives::locktime::absolute::LockTime +impl core::fmt::Debug for bitcoin_primitives::locktime::relative::DisabledLockTimeError +impl core::fmt::Debug for bitcoin_primitives::locktime::relative::IncompatibleHeightError +impl core::fmt::Debug for bitcoin_primitives::locktime::relative::IncompatibleTimeError +impl core::fmt::Debug for bitcoin_primitives::locktime::relative::LockTime +impl core::fmt::Debug for bitcoin_primitives::merkle_tree::TxMerkleNode +impl core::fmt::Debug for bitcoin_primitives::merkle_tree::WitnessMerkleNode +impl core::fmt::Debug for bitcoin_primitives::opcodes::Class +impl core::fmt::Debug for bitcoin_primitives::opcodes::ClassifyContext +impl core::fmt::Debug for bitcoin_primitives::opcodes::Opcode +impl core::fmt::Debug for bitcoin_primitives::pow::CompactTarget +impl core::fmt::Debug for bitcoin_primitives::script::Script +impl core::fmt::Debug for bitcoin_primitives::script::ScriptBuf +impl core::fmt::Debug for bitcoin_primitives::sequence::Sequence +impl core::fmt::Debug for bitcoin_primitives::taproot::TapLeafHash +impl core::fmt::Debug for bitcoin_primitives::taproot::TapNodeHash +impl core::fmt::Debug for bitcoin_primitives::taproot::TapTweakHash +impl core::fmt::Debug for bitcoin_primitives::transaction::OutPoint +impl core::fmt::Debug for bitcoin_primitives::transaction::ParseOutPointError +impl core::fmt::Debug for bitcoin_primitives::transaction::Transaction +impl core::fmt::Debug for bitcoin_primitives::transaction::TxIn +impl core::fmt::Debug for bitcoin_primitives::transaction::TxOut +impl core::fmt::Debug for bitcoin_primitives::transaction::Txid +impl core::fmt::Debug for bitcoin_primitives::transaction::Version +impl core::fmt::Debug for bitcoin_primitives::transaction::Wtxid +impl core::fmt::Debug for bitcoin_primitives::witness::Witness +impl core::fmt::Display for bitcoin_primitives::block::BlockHash +impl core::fmt::Display for bitcoin_primitives::block::WitnessCommitment +impl core::fmt::Display for bitcoin_primitives::locktime::absolute::LockTime +impl core::fmt::Display for bitcoin_primitives::locktime::relative::DisabledLockTimeError +impl core::fmt::Display for bitcoin_primitives::locktime::relative::IncompatibleHeightError +impl core::fmt::Display for bitcoin_primitives::locktime::relative::IncompatibleTimeError +impl core::fmt::Display for bitcoin_primitives::locktime::relative::LockTime +impl core::fmt::Display for bitcoin_primitives::merkle_tree::TxMerkleNode +impl core::fmt::Display for bitcoin_primitives::merkle_tree::WitnessMerkleNode +impl core::fmt::Display for bitcoin_primitives::opcodes::Opcode +impl core::fmt::Display for bitcoin_primitives::script::Script +impl core::fmt::Display for bitcoin_primitives::script::ScriptBuf +impl core::fmt::Display for bitcoin_primitives::sequence::Sequence +impl core::fmt::Display for bitcoin_primitives::taproot::TapLeafHash +impl core::fmt::Display for bitcoin_primitives::taproot::TapNodeHash +impl core::fmt::Display for bitcoin_primitives::taproot::TapTweakHash +impl core::fmt::Display for bitcoin_primitives::transaction::OutPoint +impl core::fmt::Display for bitcoin_primitives::transaction::ParseOutPointError +impl core::fmt::Display for bitcoin_primitives::transaction::Txid +impl core::fmt::Display for bitcoin_primitives::transaction::Version +impl core::fmt::Display for bitcoin_primitives::transaction::Wtxid +impl core::fmt::LowerHex for bitcoin_primitives::block::BlockHash +impl core::fmt::LowerHex for bitcoin_primitives::block::WitnessCommitment +impl core::fmt::LowerHex for bitcoin_primitives::merkle_tree::TxMerkleNode +impl core::fmt::LowerHex for bitcoin_primitives::merkle_tree::WitnessMerkleNode +impl core::fmt::LowerHex for bitcoin_primitives::pow::CompactTarget +impl core::fmt::LowerHex for bitcoin_primitives::script::Script +impl core::fmt::LowerHex for bitcoin_primitives::script::ScriptBuf +impl core::fmt::LowerHex for bitcoin_primitives::sequence::Sequence +impl core::fmt::LowerHex for bitcoin_primitives::taproot::TapLeafHash +impl core::fmt::LowerHex for bitcoin_primitives::taproot::TapNodeHash +impl core::fmt::LowerHex for bitcoin_primitives::taproot::TapTweakHash +impl core::fmt::LowerHex for bitcoin_primitives::transaction::Txid +impl core::fmt::LowerHex for bitcoin_primitives::transaction::Wtxid +impl core::fmt::UpperHex for bitcoin_primitives::block::BlockHash +impl core::fmt::UpperHex for bitcoin_primitives::block::WitnessCommitment +impl core::fmt::UpperHex for bitcoin_primitives::merkle_tree::TxMerkleNode +impl core::fmt::UpperHex for bitcoin_primitives::merkle_tree::WitnessMerkleNode +impl core::fmt::UpperHex for bitcoin_primitives::pow::CompactTarget +impl core::fmt::UpperHex for bitcoin_primitives::script::Script +impl core::fmt::UpperHex for bitcoin_primitives::script::ScriptBuf +impl core::fmt::UpperHex for bitcoin_primitives::sequence::Sequence +impl core::fmt::UpperHex for bitcoin_primitives::taproot::TapLeafHash +impl core::fmt::UpperHex for bitcoin_primitives::taproot::TapNodeHash +impl core::fmt::UpperHex for bitcoin_primitives::taproot::TapTweakHash +impl core::fmt::UpperHex for bitcoin_primitives::transaction::Txid +impl core::fmt::UpperHex for bitcoin_primitives::transaction::Wtxid +impl core::hash::Hash for bitcoin_primitives::block::BlockHash +impl core::hash::Hash for bitcoin_primitives::block::Checked +impl core::hash::Hash for bitcoin_primitives::block::Header +impl core::hash::Hash for bitcoin_primitives::block::Unchecked +impl core::hash::Hash for bitcoin_primitives::block::Version +impl core::hash::Hash for bitcoin_primitives::block::WitnessCommitment +impl core::hash::Hash for bitcoin_primitives::locktime::absolute::LockTime +impl core::hash::Hash for bitcoin_primitives::locktime::relative::LockTime +impl core::hash::Hash for bitcoin_primitives::merkle_tree::TxMerkleNode +impl core::hash::Hash for bitcoin_primitives::merkle_tree::WitnessMerkleNode +impl core::hash::Hash for bitcoin_primitives::opcodes::ClassifyContext +impl core::hash::Hash for bitcoin_primitives::pow::CompactTarget +impl core::hash::Hash for bitcoin_primitives::script::Script +impl core::hash::Hash for bitcoin_primitives::script::ScriptBuf +impl core::hash::Hash for bitcoin_primitives::sequence::Sequence +impl core::hash::Hash for bitcoin_primitives::taproot::TapBranchTag +impl core::hash::Hash for bitcoin_primitives::taproot::TapLeafHash +impl core::hash::Hash for bitcoin_primitives::taproot::TapLeafTag +impl core::hash::Hash for bitcoin_primitives::taproot::TapNodeHash +impl core::hash::Hash for bitcoin_primitives::taproot::TapTweakHash +impl core::hash::Hash for bitcoin_primitives::taproot::TapTweakTag +impl core::hash::Hash for bitcoin_primitives::transaction::OutPoint +impl core::hash::Hash for bitcoin_primitives::transaction::Transaction +impl core::hash::Hash for bitcoin_primitives::transaction::TxIn +impl core::hash::Hash for bitcoin_primitives::transaction::TxOut +impl core::hash::Hash for bitcoin_primitives::transaction::Txid +impl core::hash::Hash for bitcoin_primitives::transaction::Version +impl core::hash::Hash for bitcoin_primitives::transaction::Wtxid +impl core::hash::Hash for bitcoin_primitives::witness::Witness +impl core::iter::traits::exact_size::ExactSizeIterator for bitcoin_primitives::witness::Iter<'_> +impl core::marker::Copy for bitcoin_primitives::block::BlockHash +impl core::marker::Copy for bitcoin_primitives::block::Header +impl core::marker::Copy for bitcoin_primitives::block::Version +impl core::marker::Copy for bitcoin_primitives::block::WitnessCommitment +impl core::marker::Copy for bitcoin_primitives::locktime::absolute::LockTime +impl core::marker::Copy for bitcoin_primitives::locktime::relative::LockTime +impl core::marker::Copy for bitcoin_primitives::merkle_tree::TxMerkleNode +impl core::marker::Copy for bitcoin_primitives::merkle_tree::WitnessMerkleNode +impl core::marker::Copy for bitcoin_primitives::opcodes::Class +impl core::marker::Copy for bitcoin_primitives::opcodes::ClassifyContext +impl core::marker::Copy for bitcoin_primitives::opcodes::Opcode +impl core::marker::Copy for bitcoin_primitives::pow::CompactTarget +impl core::marker::Copy for bitcoin_primitives::sequence::Sequence +impl core::marker::Copy for bitcoin_primitives::taproot::TapBranchTag +impl core::marker::Copy for bitcoin_primitives::taproot::TapLeafHash +impl core::marker::Copy for bitcoin_primitives::taproot::TapLeafTag +impl core::marker::Copy for bitcoin_primitives::taproot::TapNodeHash +impl core::marker::Copy for bitcoin_primitives::taproot::TapTweakHash +impl core::marker::Copy for bitcoin_primitives::taproot::TapTweakTag +impl core::marker::Copy for bitcoin_primitives::transaction::OutPoint +impl core::marker::Copy for bitcoin_primitives::transaction::Txid +impl core::marker::Copy for bitcoin_primitives::transaction::Version +impl core::marker::Copy for bitcoin_primitives::transaction::Wtxid +impl core::marker::Freeze for bitcoin_primitives::block::BlockHash +impl core::marker::Freeze for bitcoin_primitives::block::Checked +impl core::marker::Freeze for bitcoin_primitives::block::Header +impl core::marker::Freeze for bitcoin_primitives::block::Unchecked +impl core::marker::Freeze for bitcoin_primitives::block::Version +impl core::marker::Freeze for bitcoin_primitives::block::WitnessCommitment +impl core::marker::Freeze for bitcoin_primitives::locktime::absolute::LockTime +impl core::marker::Freeze for bitcoin_primitives::locktime::relative::DisabledLockTimeError +impl core::marker::Freeze for bitcoin_primitives::locktime::relative::IncompatibleHeightError +impl core::marker::Freeze for bitcoin_primitives::locktime::relative::IncompatibleTimeError +impl core::marker::Freeze for bitcoin_primitives::locktime::relative::LockTime +impl core::marker::Freeze for bitcoin_primitives::merkle_tree::TxMerkleNode +impl core::marker::Freeze for bitcoin_primitives::merkle_tree::WitnessMerkleNode +impl core::marker::Freeze for bitcoin_primitives::opcodes::Class +impl core::marker::Freeze for bitcoin_primitives::opcodes::ClassifyContext +impl core::marker::Freeze for bitcoin_primitives::opcodes::Opcode +impl core::marker::Freeze for bitcoin_primitives::pow::CompactTarget +impl core::marker::Freeze for bitcoin_primitives::script::Script +impl core::marker::Freeze for bitcoin_primitives::script::ScriptBuf +impl core::marker::Freeze for bitcoin_primitives::sequence::Sequence +impl core::marker::Freeze for bitcoin_primitives::taproot::TapBranchTag +impl core::marker::Freeze for bitcoin_primitives::taproot::TapLeafHash +impl core::marker::Freeze for bitcoin_primitives::taproot::TapLeafTag +impl core::marker::Freeze for bitcoin_primitives::taproot::TapNodeHash +impl core::marker::Freeze for bitcoin_primitives::taproot::TapTweakHash +impl core::marker::Freeze for bitcoin_primitives::taproot::TapTweakTag +impl core::marker::Freeze for bitcoin_primitives::transaction::OutPoint +impl core::marker::Freeze for bitcoin_primitives::transaction::ParseOutPointError +impl core::marker::Freeze for bitcoin_primitives::transaction::Transaction +impl core::marker::Freeze for bitcoin_primitives::transaction::TxIn +impl core::marker::Freeze for bitcoin_primitives::transaction::TxOut +impl core::marker::Freeze for bitcoin_primitives::transaction::Txid +impl core::marker::Freeze for bitcoin_primitives::transaction::Version +impl core::marker::Freeze for bitcoin_primitives::transaction::Wtxid +impl core::marker::Freeze for bitcoin_primitives::witness::Witness +impl core::marker::Send for bitcoin_primitives::block::BlockHash +impl core::marker::Send for bitcoin_primitives::block::Checked +impl core::marker::Send for bitcoin_primitives::block::Header +impl core::marker::Send for bitcoin_primitives::block::Unchecked +impl core::marker::Send for bitcoin_primitives::block::Version +impl core::marker::Send for bitcoin_primitives::block::WitnessCommitment +impl core::marker::Send for bitcoin_primitives::locktime::absolute::LockTime +impl core::marker::Send for bitcoin_primitives::locktime::relative::DisabledLockTimeError +impl core::marker::Send for bitcoin_primitives::locktime::relative::IncompatibleHeightError +impl core::marker::Send for bitcoin_primitives::locktime::relative::IncompatibleTimeError +impl core::marker::Send for bitcoin_primitives::locktime::relative::LockTime +impl core::marker::Send for bitcoin_primitives::merkle_tree::TxMerkleNode +impl core::marker::Send for bitcoin_primitives::merkle_tree::WitnessMerkleNode +impl core::marker::Send for bitcoin_primitives::opcodes::Class +impl core::marker::Send for bitcoin_primitives::opcodes::ClassifyContext +impl core::marker::Send for bitcoin_primitives::opcodes::Opcode +impl core::marker::Send for bitcoin_primitives::pow::CompactTarget +impl core::marker::Send for bitcoin_primitives::script::Script +impl core::marker::Send for bitcoin_primitives::script::ScriptBuf +impl core::marker::Send for bitcoin_primitives::sequence::Sequence +impl core::marker::Send for bitcoin_primitives::taproot::TapBranchTag +impl core::marker::Send for bitcoin_primitives::taproot::TapLeafHash +impl core::marker::Send for bitcoin_primitives::taproot::TapLeafTag +impl core::marker::Send for bitcoin_primitives::taproot::TapNodeHash +impl core::marker::Send for bitcoin_primitives::taproot::TapTweakHash +impl core::marker::Send for bitcoin_primitives::taproot::TapTweakTag +impl core::marker::Send for bitcoin_primitives::transaction::OutPoint +impl core::marker::Send for bitcoin_primitives::transaction::ParseOutPointError +impl core::marker::Send for bitcoin_primitives::transaction::Transaction +impl core::marker::Send for bitcoin_primitives::transaction::TxIn +impl core::marker::Send for bitcoin_primitives::transaction::TxOut +impl core::marker::Send for bitcoin_primitives::transaction::Txid +impl core::marker::Send for bitcoin_primitives::transaction::Version +impl core::marker::Send for bitcoin_primitives::transaction::Wtxid +impl core::marker::Send for bitcoin_primitives::witness::Witness +impl core::marker::StructuralPartialEq for bitcoin_primitives::block::BlockHash +impl core::marker::StructuralPartialEq for bitcoin_primitives::block::Checked +impl core::marker::StructuralPartialEq for bitcoin_primitives::block::Header +impl core::marker::StructuralPartialEq for bitcoin_primitives::block::Unchecked +impl core::marker::StructuralPartialEq for bitcoin_primitives::block::Version +impl core::marker::StructuralPartialEq for bitcoin_primitives::block::WitnessCommitment +impl core::marker::StructuralPartialEq for bitcoin_primitives::locktime::absolute::LockTime +impl core::marker::StructuralPartialEq for bitcoin_primitives::locktime::relative::DisabledLockTimeError +impl core::marker::StructuralPartialEq for bitcoin_primitives::locktime::relative::IncompatibleHeightError +impl core::marker::StructuralPartialEq for bitcoin_primitives::locktime::relative::IncompatibleTimeError +impl core::marker::StructuralPartialEq for bitcoin_primitives::locktime::relative::LockTime +impl core::marker::StructuralPartialEq for bitcoin_primitives::merkle_tree::TxMerkleNode +impl core::marker::StructuralPartialEq for bitcoin_primitives::merkle_tree::WitnessMerkleNode +impl core::marker::StructuralPartialEq for bitcoin_primitives::opcodes::Class +impl core::marker::StructuralPartialEq for bitcoin_primitives::opcodes::ClassifyContext +impl core::marker::StructuralPartialEq for bitcoin_primitives::opcodes::Opcode +impl core::marker::StructuralPartialEq for bitcoin_primitives::pow::CompactTarget +impl core::marker::StructuralPartialEq for bitcoin_primitives::script::Script +impl core::marker::StructuralPartialEq for bitcoin_primitives::script::ScriptBuf +impl core::marker::StructuralPartialEq for bitcoin_primitives::sequence::Sequence +impl core::marker::StructuralPartialEq for bitcoin_primitives::taproot::TapBranchTag +impl core::marker::StructuralPartialEq for bitcoin_primitives::taproot::TapLeafHash +impl core::marker::StructuralPartialEq for bitcoin_primitives::taproot::TapLeafTag +impl core::marker::StructuralPartialEq for bitcoin_primitives::taproot::TapNodeHash +impl core::marker::StructuralPartialEq for bitcoin_primitives::taproot::TapTweakHash +impl core::marker::StructuralPartialEq for bitcoin_primitives::taproot::TapTweakTag +impl core::marker::StructuralPartialEq for bitcoin_primitives::transaction::OutPoint +impl core::marker::StructuralPartialEq for bitcoin_primitives::transaction::ParseOutPointError +impl core::marker::StructuralPartialEq for bitcoin_primitives::transaction::Transaction +impl core::marker::StructuralPartialEq for bitcoin_primitives::transaction::TxIn +impl core::marker::StructuralPartialEq for bitcoin_primitives::transaction::TxOut +impl core::marker::StructuralPartialEq for bitcoin_primitives::transaction::Txid +impl core::marker::StructuralPartialEq for bitcoin_primitives::transaction::Version +impl core::marker::StructuralPartialEq for bitcoin_primitives::transaction::Wtxid +impl core::marker::StructuralPartialEq for bitcoin_primitives::witness::Witness +impl core::marker::Sync for bitcoin_primitives::block::BlockHash +impl core::marker::Sync for bitcoin_primitives::block::Checked +impl core::marker::Sync for bitcoin_primitives::block::Header +impl core::marker::Sync for bitcoin_primitives::block::Unchecked +impl core::marker::Sync for bitcoin_primitives::block::Version +impl core::marker::Sync for bitcoin_primitives::block::WitnessCommitment +impl core::marker::Sync for bitcoin_primitives::locktime::absolute::LockTime +impl core::marker::Sync for bitcoin_primitives::locktime::relative::DisabledLockTimeError +impl core::marker::Sync for bitcoin_primitives::locktime::relative::IncompatibleHeightError +impl core::marker::Sync for bitcoin_primitives::locktime::relative::IncompatibleTimeError +impl core::marker::Sync for bitcoin_primitives::locktime::relative::LockTime +impl core::marker::Sync for bitcoin_primitives::merkle_tree::TxMerkleNode +impl core::marker::Sync for bitcoin_primitives::merkle_tree::WitnessMerkleNode +impl core::marker::Sync for bitcoin_primitives::opcodes::Class +impl core::marker::Sync for bitcoin_primitives::opcodes::ClassifyContext +impl core::marker::Sync for bitcoin_primitives::opcodes::Opcode +impl core::marker::Sync for bitcoin_primitives::pow::CompactTarget +impl core::marker::Sync for bitcoin_primitives::script::Script +impl core::marker::Sync for bitcoin_primitives::script::ScriptBuf +impl core::marker::Sync for bitcoin_primitives::sequence::Sequence +impl core::marker::Sync for bitcoin_primitives::taproot::TapBranchTag +impl core::marker::Sync for bitcoin_primitives::taproot::TapLeafHash +impl core::marker::Sync for bitcoin_primitives::taproot::TapLeafTag +impl core::marker::Sync for bitcoin_primitives::taproot::TapNodeHash +impl core::marker::Sync for bitcoin_primitives::taproot::TapTweakHash +impl core::marker::Sync for bitcoin_primitives::taproot::TapTweakTag +impl core::marker::Sync for bitcoin_primitives::transaction::OutPoint +impl core::marker::Sync for bitcoin_primitives::transaction::ParseOutPointError +impl core::marker::Sync for bitcoin_primitives::transaction::Transaction +impl core::marker::Sync for bitcoin_primitives::transaction::TxIn +impl core::marker::Sync for bitcoin_primitives::transaction::TxOut +impl core::marker::Sync for bitcoin_primitives::transaction::Txid +impl core::marker::Sync for bitcoin_primitives::transaction::Version +impl core::marker::Sync for bitcoin_primitives::transaction::Wtxid +impl core::marker::Sync for bitcoin_primitives::witness::Witness +impl core::marker::Unpin for bitcoin_primitives::block::BlockHash +impl core::marker::Unpin for bitcoin_primitives::block::Checked +impl core::marker::Unpin for bitcoin_primitives::block::Header +impl core::marker::Unpin for bitcoin_primitives::block::Unchecked +impl core::marker::Unpin for bitcoin_primitives::block::Version +impl core::marker::Unpin for bitcoin_primitives::block::WitnessCommitment +impl core::marker::Unpin for bitcoin_primitives::locktime::absolute::LockTime +impl core::marker::Unpin for bitcoin_primitives::locktime::relative::DisabledLockTimeError +impl core::marker::Unpin for bitcoin_primitives::locktime::relative::IncompatibleHeightError +impl core::marker::Unpin for bitcoin_primitives::locktime::relative::IncompatibleTimeError +impl core::marker::Unpin for bitcoin_primitives::locktime::relative::LockTime +impl core::marker::Unpin for bitcoin_primitives::merkle_tree::TxMerkleNode +impl core::marker::Unpin for bitcoin_primitives::merkle_tree::WitnessMerkleNode +impl core::marker::Unpin for bitcoin_primitives::opcodes::Class +impl core::marker::Unpin for bitcoin_primitives::opcodes::ClassifyContext +impl core::marker::Unpin for bitcoin_primitives::opcodes::Opcode +impl core::marker::Unpin for bitcoin_primitives::pow::CompactTarget +impl core::marker::Unpin for bitcoin_primitives::script::Script +impl core::marker::Unpin for bitcoin_primitives::script::ScriptBuf +impl core::marker::Unpin for bitcoin_primitives::sequence::Sequence +impl core::marker::Unpin for bitcoin_primitives::taproot::TapBranchTag +impl core::marker::Unpin for bitcoin_primitives::taproot::TapLeafHash +impl core::marker::Unpin for bitcoin_primitives::taproot::TapLeafTag +impl core::marker::Unpin for bitcoin_primitives::taproot::TapNodeHash +impl core::marker::Unpin for bitcoin_primitives::taproot::TapTweakHash +impl core::marker::Unpin for bitcoin_primitives::taproot::TapTweakTag +impl core::marker::Unpin for bitcoin_primitives::transaction::OutPoint +impl core::marker::Unpin for bitcoin_primitives::transaction::ParseOutPointError +impl core::marker::Unpin for bitcoin_primitives::transaction::Transaction +impl core::marker::Unpin for bitcoin_primitives::transaction::TxIn +impl core::marker::Unpin for bitcoin_primitives::transaction::TxOut +impl core::marker::Unpin for bitcoin_primitives::transaction::Txid +impl core::marker::Unpin for bitcoin_primitives::transaction::Version +impl core::marker::Unpin for bitcoin_primitives::transaction::Wtxid +impl core::marker::Unpin for bitcoin_primitives::witness::Witness +impl core::ops::deref::Deref for bitcoin_primitives::script::ScriptBuf +impl core::ops::deref::DerefMut for bitcoin_primitives::script::ScriptBuf +impl core::ops::index::Index<(core::ops::range::Bound, core::ops::range::Bound)> for bitcoin_primitives::script::Script +impl core::ops::index::Index> for bitcoin_primitives::script::Script +impl core::ops::index::Index> for bitcoin_primitives::script::Script +impl core::ops::index::Index for bitcoin_primitives::script::Script +impl core::ops::index::Index> for bitcoin_primitives::script::Script +impl core::ops::index::Index> for bitcoin_primitives::script::Script +impl core::ops::index::Index> for bitcoin_primitives::script::Script +impl core::ops::index::Index for bitcoin_primitives::witness::Witness +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_primitives::block::BlockHash +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_primitives::block::Checked +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_primitives::block::Header +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_primitives::block::Unchecked +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_primitives::block::Version +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_primitives::block::WitnessCommitment +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_primitives::locktime::absolute::LockTime +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_primitives::locktime::relative::DisabledLockTimeError +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_primitives::locktime::relative::IncompatibleHeightError +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_primitives::locktime::relative::IncompatibleTimeError +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_primitives::locktime::relative::LockTime +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_primitives::merkle_tree::TxMerkleNode +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_primitives::merkle_tree::WitnessMerkleNode +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_primitives::opcodes::Class +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_primitives::opcodes::ClassifyContext +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_primitives::opcodes::Opcode +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_primitives::pow::CompactTarget +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_primitives::script::Script +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_primitives::script::ScriptBuf +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_primitives::sequence::Sequence +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_primitives::taproot::TapBranchTag +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_primitives::taproot::TapLeafHash +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_primitives::taproot::TapLeafTag +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_primitives::taproot::TapNodeHash +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_primitives::taproot::TapTweakHash +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_primitives::taproot::TapTweakTag +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_primitives::transaction::OutPoint +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_primitives::transaction::ParseOutPointError +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_primitives::transaction::Transaction +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_primitives::transaction::TxIn +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_primitives::transaction::TxOut +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_primitives::transaction::Txid +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_primitives::transaction::Version +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_primitives::transaction::Wtxid +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_primitives::witness::Witness +impl core::panic::unwind_safe::UnwindSafe for bitcoin_primitives::block::BlockHash +impl core::panic::unwind_safe::UnwindSafe for bitcoin_primitives::block::Checked +impl core::panic::unwind_safe::UnwindSafe for bitcoin_primitives::block::Header +impl core::panic::unwind_safe::UnwindSafe for bitcoin_primitives::block::Unchecked +impl core::panic::unwind_safe::UnwindSafe for bitcoin_primitives::block::Version +impl core::panic::unwind_safe::UnwindSafe for bitcoin_primitives::block::WitnessCommitment +impl core::panic::unwind_safe::UnwindSafe for bitcoin_primitives::locktime::absolute::LockTime +impl core::panic::unwind_safe::UnwindSafe for bitcoin_primitives::locktime::relative::DisabledLockTimeError +impl core::panic::unwind_safe::UnwindSafe for bitcoin_primitives::locktime::relative::IncompatibleHeightError +impl core::panic::unwind_safe::UnwindSafe for bitcoin_primitives::locktime::relative::IncompatibleTimeError +impl core::panic::unwind_safe::UnwindSafe for bitcoin_primitives::locktime::relative::LockTime +impl core::panic::unwind_safe::UnwindSafe for bitcoin_primitives::merkle_tree::TxMerkleNode +impl core::panic::unwind_safe::UnwindSafe for bitcoin_primitives::merkle_tree::WitnessMerkleNode +impl core::panic::unwind_safe::UnwindSafe for bitcoin_primitives::opcodes::Class +impl core::panic::unwind_safe::UnwindSafe for bitcoin_primitives::opcodes::ClassifyContext +impl core::panic::unwind_safe::UnwindSafe for bitcoin_primitives::opcodes::Opcode +impl core::panic::unwind_safe::UnwindSafe for bitcoin_primitives::pow::CompactTarget +impl core::panic::unwind_safe::UnwindSafe for bitcoin_primitives::script::Script +impl core::panic::unwind_safe::UnwindSafe for bitcoin_primitives::script::ScriptBuf +impl core::panic::unwind_safe::UnwindSafe for bitcoin_primitives::sequence::Sequence +impl core::panic::unwind_safe::UnwindSafe for bitcoin_primitives::taproot::TapBranchTag +impl core::panic::unwind_safe::UnwindSafe for bitcoin_primitives::taproot::TapLeafHash +impl core::panic::unwind_safe::UnwindSafe for bitcoin_primitives::taproot::TapLeafTag +impl core::panic::unwind_safe::UnwindSafe for bitcoin_primitives::taproot::TapNodeHash +impl core::panic::unwind_safe::UnwindSafe for bitcoin_primitives::taproot::TapTweakHash +impl core::panic::unwind_safe::UnwindSafe for bitcoin_primitives::taproot::TapTweakTag +impl core::panic::unwind_safe::UnwindSafe for bitcoin_primitives::transaction::OutPoint +impl core::panic::unwind_safe::UnwindSafe for bitcoin_primitives::transaction::ParseOutPointError +impl core::panic::unwind_safe::UnwindSafe for bitcoin_primitives::transaction::Transaction +impl core::panic::unwind_safe::UnwindSafe for bitcoin_primitives::transaction::TxIn +impl core::panic::unwind_safe::UnwindSafe for bitcoin_primitives::transaction::TxOut +impl core::panic::unwind_safe::UnwindSafe for bitcoin_primitives::transaction::Txid +impl core::panic::unwind_safe::UnwindSafe for bitcoin_primitives::transaction::Version +impl core::panic::unwind_safe::UnwindSafe for bitcoin_primitives::transaction::Wtxid +impl core::panic::unwind_safe::UnwindSafe for bitcoin_primitives::witness::Witness +impl core::str::traits::FromStr for bitcoin_primitives::block::BlockHash +impl core::str::traits::FromStr for bitcoin_primitives::block::WitnessCommitment +impl core::str::traits::FromStr for bitcoin_primitives::locktime::absolute::LockTime +impl core::str::traits::FromStr for bitcoin_primitives::merkle_tree::TxMerkleNode +impl core::str::traits::FromStr for bitcoin_primitives::merkle_tree::WitnessMerkleNode +impl core::str::traits::FromStr for bitcoin_primitives::sequence::Sequence +impl core::str::traits::FromStr for bitcoin_primitives::taproot::TapLeafHash +impl core::str::traits::FromStr for bitcoin_primitives::taproot::TapNodeHash +impl core::str::traits::FromStr for bitcoin_primitives::taproot::TapTweakHash +impl core::str::traits::FromStr for bitcoin_primitives::transaction::OutPoint +impl core::str::traits::FromStr for bitcoin_primitives::transaction::Txid +impl core::str::traits::FromStr for bitcoin_primitives::transaction::Wtxid +impl ordered::ArbitraryOrd for bitcoin_primitives::locktime::absolute::LockTime +impl ordered::ArbitraryOrd for bitcoin_primitives::locktime::relative::LockTime +impl serde::ser::Serialize for bitcoin_primitives::block::BlockHash +impl serde::ser::Serialize for bitcoin_primitives::block::Header +impl serde::ser::Serialize for bitcoin_primitives::block::Version +impl serde::ser::Serialize for bitcoin_primitives::block::WitnessCommitment +impl serde::ser::Serialize for bitcoin_primitives::locktime::absolute::LockTime +impl serde::ser::Serialize for bitcoin_primitives::locktime::relative::LockTime +impl serde::ser::Serialize for bitcoin_primitives::merkle_tree::TxMerkleNode +impl serde::ser::Serialize for bitcoin_primitives::merkle_tree::WitnessMerkleNode +impl serde::ser::Serialize for bitcoin_primitives::opcodes::Opcode +impl serde::ser::Serialize for bitcoin_primitives::pow::CompactTarget +impl serde::ser::Serialize for bitcoin_primitives::script::Script +impl serde::ser::Serialize for bitcoin_primitives::script::ScriptBuf +impl serde::ser::Serialize for bitcoin_primitives::sequence::Sequence +impl serde::ser::Serialize for bitcoin_primitives::taproot::TapLeafHash +impl serde::ser::Serialize for bitcoin_primitives::taproot::TapNodeHash +impl serde::ser::Serialize for bitcoin_primitives::taproot::TapTweakHash +impl serde::ser::Serialize for bitcoin_primitives::transaction::OutPoint +impl serde::ser::Serialize for bitcoin_primitives::transaction::Transaction +impl serde::ser::Serialize for bitcoin_primitives::transaction::TxIn +impl serde::ser::Serialize for bitcoin_primitives::transaction::TxOut +impl serde::ser::Serialize for bitcoin_primitives::transaction::Txid +impl serde::ser::Serialize for bitcoin_primitives::transaction::Version +impl serde::ser::Serialize for bitcoin_primitives::transaction::Wtxid +impl serde::ser::Serialize for bitcoin_primitives::witness::Witness +impl<'a> arbitrary::Arbitrary<'a> for bitcoin_primitives::block::Block +impl<'a> arbitrary::Arbitrary<'a> for bitcoin_primitives::block::Header +impl<'a> arbitrary::Arbitrary<'a> for bitcoin_primitives::block::Version +impl<'a> arbitrary::Arbitrary<'a> for bitcoin_primitives::locktime::absolute::LockTime +impl<'a> arbitrary::Arbitrary<'a> for bitcoin_primitives::script::ScriptBuf +impl<'a> arbitrary::Arbitrary<'a> for bitcoin_primitives::sequence::Sequence +impl<'a> arbitrary::Arbitrary<'a> for bitcoin_primitives::transaction::OutPoint +impl<'a> arbitrary::Arbitrary<'a> for bitcoin_primitives::transaction::Transaction +impl<'a> arbitrary::Arbitrary<'a> for bitcoin_primitives::transaction::TxIn +impl<'a> arbitrary::Arbitrary<'a> for bitcoin_primitives::transaction::TxOut +impl<'a> arbitrary::Arbitrary<'a> for bitcoin_primitives::transaction::Txid +impl<'a> arbitrary::Arbitrary<'a> for bitcoin_primitives::transaction::Version +impl<'a> arbitrary::Arbitrary<'a> for bitcoin_primitives::witness::Witness +impl<'a> core::convert::From<&'a bitcoin_primitives::script::Script> for alloc::borrow::Cow<'a, bitcoin_primitives::script::Script> +impl<'a> core::convert::From<&'a bitcoin_primitives::script::Script> for alloc::boxed::Box +impl<'a> core::convert::From<&'a bitcoin_primitives::script::Script> for alloc::rc::Rc +impl<'a> core::convert::From<&'a bitcoin_primitives::script::Script> for alloc::sync::Arc +impl<'a> core::convert::From<&'a bitcoin_primitives::script::Script> for bitcoin_primitives::script::ScriptBuf +impl<'a> core::convert::From> for alloc::boxed::Box +impl<'a> core::convert::From> for bitcoin_primitives::script::ScriptBuf +impl<'a> core::iter::traits::collect::IntoIterator for &'a bitcoin_primitives::witness::Witness +impl<'a> core::iter::traits::iterator::Iterator for bitcoin_primitives::witness::Iter<'a> +impl<'a> core::marker::Freeze for bitcoin_primitives::witness::Iter<'a> +impl<'a> core::marker::Send for bitcoin_primitives::witness::Iter<'a> +impl<'a> core::marker::Sync for bitcoin_primitives::witness::Iter<'a> +impl<'a> core::marker::Unpin for bitcoin_primitives::witness::Iter<'a> +impl<'a> core::panic::unwind_safe::RefUnwindSafe for bitcoin_primitives::witness::Iter<'a> +impl<'a> core::panic::unwind_safe::UnwindSafe for bitcoin_primitives::witness::Iter<'a> +impl<'de, V> serde::de::Deserialize<'de> for bitcoin_primitives::block::Block where V: bitcoin_primitives::block::Validation +impl<'de> serde::de::Deserialize<'de> for &'de bitcoin_primitives::script::Script +impl<'de> serde::de::Deserialize<'de> for bitcoin_primitives::block::BlockHash +impl<'de> serde::de::Deserialize<'de> for bitcoin_primitives::block::Header +impl<'de> serde::de::Deserialize<'de> for bitcoin_primitives::block::Version +impl<'de> serde::de::Deserialize<'de> for bitcoin_primitives::block::WitnessCommitment +impl<'de> serde::de::Deserialize<'de> for bitcoin_primitives::locktime::absolute::LockTime +impl<'de> serde::de::Deserialize<'de> for bitcoin_primitives::locktime::relative::LockTime +impl<'de> serde::de::Deserialize<'de> for bitcoin_primitives::merkle_tree::TxMerkleNode +impl<'de> serde::de::Deserialize<'de> for bitcoin_primitives::merkle_tree::WitnessMerkleNode +impl<'de> serde::de::Deserialize<'de> for bitcoin_primitives::pow::CompactTarget +impl<'de> serde::de::Deserialize<'de> for bitcoin_primitives::script::ScriptBuf +impl<'de> serde::de::Deserialize<'de> for bitcoin_primitives::sequence::Sequence +impl<'de> serde::de::Deserialize<'de> for bitcoin_primitives::taproot::TapLeafHash +impl<'de> serde::de::Deserialize<'de> for bitcoin_primitives::taproot::TapNodeHash +impl<'de> serde::de::Deserialize<'de> for bitcoin_primitives::taproot::TapTweakHash +impl<'de> serde::de::Deserialize<'de> for bitcoin_primitives::transaction::OutPoint +impl<'de> serde::de::Deserialize<'de> for bitcoin_primitives::transaction::Transaction +impl<'de> serde::de::Deserialize<'de> for bitcoin_primitives::transaction::TxIn +impl<'de> serde::de::Deserialize<'de> for bitcoin_primitives::transaction::TxOut +impl<'de> serde::de::Deserialize<'de> for bitcoin_primitives::transaction::Txid +impl<'de> serde::de::Deserialize<'de> for bitcoin_primitives::transaction::Version +impl<'de> serde::de::Deserialize<'de> for bitcoin_primitives::transaction::Wtxid +impl<'de> serde::de::Deserialize<'de> for bitcoin_primitives::witness::Witness +impl bitcoin_primitives::block::Block +impl core::clone::Clone for bitcoin_primitives::block::Block where V: bitcoin_primitives::block::Validation + core::clone::Clone +impl core::cmp::Eq for bitcoin_primitives::block::Block where V: bitcoin_primitives::block::Validation + core::cmp::Eq +impl core::cmp::PartialEq for bitcoin_primitives::block::Block where V: bitcoin_primitives::block::Validation + core::cmp::PartialEq +impl core::fmt::Debug for bitcoin_primitives::block::Block where V: bitcoin_primitives::block::Validation + core::fmt::Debug +impl core::marker::Freeze for bitcoin_primitives::block::Block +impl core::marker::Send for bitcoin_primitives::block::Block +impl core::marker::StructuralPartialEq for bitcoin_primitives::block::Block where V: bitcoin_primitives::block::Validation +impl core::marker::Sync for bitcoin_primitives::block::Block +impl core::marker::Unpin for bitcoin_primitives::block::Block +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_primitives::block::Block where V: core::panic::unwind_safe::RefUnwindSafe +impl core::panic::unwind_safe::UnwindSafe for bitcoin_primitives::block::Block where V: core::panic::unwind_safe::UnwindSafe +impl serde::ser::Serialize for bitcoin_primitives::block::Block where V: bitcoin_primitives::block::Validation +pub bitcoin_primitives::BlockHeader::bits: bitcoin_primitives::pow::CompactTarget +pub bitcoin_primitives::BlockHeader::merkle_root: bitcoin_primitives::merkle_tree::TxMerkleNode +pub bitcoin_primitives::BlockHeader::nonce: u32 +pub bitcoin_primitives::BlockHeader::prev_blockhash: bitcoin_primitives::block::BlockHash +pub bitcoin_primitives::BlockHeader::time: u32 +pub bitcoin_primitives::BlockHeader::version: bitcoin_primitives::block::Version +pub bitcoin_primitives::Transaction::input: alloc::vec::Vec +pub bitcoin_primitives::Transaction::lock_time: bitcoin_primitives::locktime::absolute::LockTime +pub bitcoin_primitives::Transaction::output: alloc::vec::Vec +pub bitcoin_primitives::Transaction::version: bitcoin_primitives::transaction::Version +pub bitcoin_primitives::TxIn::previous_output: bitcoin_primitives::transaction::OutPoint +pub bitcoin_primitives::TxIn::script_sig: bitcoin_primitives::script::ScriptBuf +pub bitcoin_primitives::TxIn::sequence: bitcoin_primitives::sequence::Sequence +pub bitcoin_primitives::TxIn::witness: bitcoin_primitives::witness::Witness +pub bitcoin_primitives::TxOut::script_pubkey: bitcoin_primitives::script::ScriptBuf +pub bitcoin_primitives::TxOut::value: bitcoin_units::amount::unsigned::Amount +pub bitcoin_primitives::absolute::LockTime::Blocks(bitcoin_units::locktime::absolute::Height) +pub bitcoin_primitives::absolute::LockTime::Seconds(bitcoin_units::locktime::absolute::Time) +pub bitcoin_primitives::block::Header::bits: bitcoin_primitives::pow::CompactTarget +pub bitcoin_primitives::block::Header::merkle_root: bitcoin_primitives::merkle_tree::TxMerkleNode +pub bitcoin_primitives::block::Header::nonce: u32 +pub bitcoin_primitives::block::Header::prev_blockhash: bitcoin_primitives::block::BlockHash +pub bitcoin_primitives::block::Header::time: u32 +pub bitcoin_primitives::block::Header::version: bitcoin_primitives::block::Version +pub bitcoin_primitives::locktime::absolute::LockTime::Blocks(bitcoin_units::locktime::absolute::Height) +pub bitcoin_primitives::locktime::absolute::LockTime::Seconds(bitcoin_units::locktime::absolute::Time) +pub bitcoin_primitives::locktime::relative::IncompatibleHeightError::height: bitcoin_units::locktime::relative::Height +pub bitcoin_primitives::locktime::relative::IncompatibleHeightError::time: bitcoin_units::locktime::relative::Time +pub bitcoin_primitives::locktime::relative::IncompatibleTimeError::height: bitcoin_units::locktime::relative::Height +pub bitcoin_primitives::locktime::relative::IncompatibleTimeError::time: bitcoin_units::locktime::relative::Time +pub bitcoin_primitives::locktime::relative::LockTime::Blocks(bitcoin_units::locktime::relative::Height) +pub bitcoin_primitives::locktime::relative::LockTime::Time(bitcoin_units::locktime::relative::Time) +pub bitcoin_primitives::opcodes::Class::IllegalOp +pub bitcoin_primitives::opcodes::Class::NoOp +pub bitcoin_primitives::opcodes::Class::Ordinary(Ordinary) +pub bitcoin_primitives::opcodes::Class::PushBytes(u32) +pub bitcoin_primitives::opcodes::Class::PushNum(i32) +pub bitcoin_primitives::opcodes::Class::ReturnOp +pub bitcoin_primitives::opcodes::Class::SuccessOp +pub bitcoin_primitives::opcodes::ClassifyContext::Legacy +pub bitcoin_primitives::opcodes::ClassifyContext::TapScript +pub bitcoin_primitives::relative::IncompatibleHeightError::height: bitcoin_units::locktime::relative::Height +pub bitcoin_primitives::relative::IncompatibleHeightError::time: bitcoin_units::locktime::relative::Time +pub bitcoin_primitives::relative::IncompatibleTimeError::height: bitcoin_units::locktime::relative::Height +pub bitcoin_primitives::relative::IncompatibleTimeError::time: bitcoin_units::locktime::relative::Time +pub bitcoin_primitives::relative::LockTime::Blocks(bitcoin_units::locktime::relative::Height) +pub bitcoin_primitives::relative::LockTime::Time(bitcoin_units::locktime::relative::Time) +pub bitcoin_primitives::transaction::OutPoint::txid: bitcoin_primitives::transaction::Txid +pub bitcoin_primitives::transaction::OutPoint::vout: u32 +pub bitcoin_primitives::transaction::ParseOutPointError::Format +pub bitcoin_primitives::transaction::ParseOutPointError::TooLong +pub bitcoin_primitives::transaction::ParseOutPointError::Txid(hex_conservative::error::HexToArrayError) +pub bitcoin_primitives::transaction::ParseOutPointError::Vout(bitcoin_units::parse::ParseIntError) +pub bitcoin_primitives::transaction::ParseOutPointError::VoutNotCanonical +pub bitcoin_primitives::transaction::Transaction::input: alloc::vec::Vec +pub bitcoin_primitives::transaction::Transaction::lock_time: bitcoin_primitives::locktime::absolute::LockTime +pub bitcoin_primitives::transaction::Transaction::output: alloc::vec::Vec +pub bitcoin_primitives::transaction::Transaction::version: bitcoin_primitives::transaction::Version +pub bitcoin_primitives::transaction::TxIn::previous_output: bitcoin_primitives::transaction::OutPoint +pub bitcoin_primitives::transaction::TxIn::script_sig: bitcoin_primitives::script::ScriptBuf +pub bitcoin_primitives::transaction::TxIn::sequence: bitcoin_primitives::sequence::Sequence +pub bitcoin_primitives::transaction::TxIn::witness: bitcoin_primitives::witness::Witness +pub bitcoin_primitives::transaction::TxOut::script_pubkey: bitcoin_primitives::script::ScriptBuf +pub bitcoin_primitives::transaction::TxOut::value: bitcoin_units::amount::unsigned::Amount +pub const bitcoin_primitives::BlockValidation::IS_CHECKED: bool +pub const bitcoin_primitives::block::BlockHash::DISPLAY_BACKWARD: bool +pub const bitcoin_primitives::block::BlockHash::GENESIS_PREVIOUS_BLOCK_HASH: Self +pub const bitcoin_primitives::block::Checked::IS_CHECKED: bool +pub const bitcoin_primitives::block::Header::SIZE: usize +pub const bitcoin_primitives::block::Unchecked::IS_CHECKED: bool +pub const bitcoin_primitives::block::Validation::IS_CHECKED: bool +pub const bitcoin_primitives::block::Version::NO_SOFT_FORK_SIGNALLING: Self +pub const bitcoin_primitives::block::Version::ONE: Self +pub const bitcoin_primitives::block::Version::TWO: Self +pub const bitcoin_primitives::block::WitnessCommitment::DISPLAY_BACKWARD: bool +pub const bitcoin_primitives::locktime::absolute::LockTime::SIZE: usize +pub const bitcoin_primitives::locktime::absolute::LockTime::ZERO: bitcoin_primitives::locktime::absolute::LockTime +pub const bitcoin_primitives::locktime::relative::LockTime::SIZE: usize +pub const bitcoin_primitives::locktime::relative::LockTime::ZERO: bitcoin_primitives::locktime::relative::LockTime +pub const bitcoin_primitives::merkle_tree::TxMerkleNode::DISPLAY_BACKWARD: bool +pub const bitcoin_primitives::merkle_tree::WitnessMerkleNode::DISPLAY_BACKWARD: bool +pub const bitcoin_primitives::opcodes::all::OP_0NOTEQUAL: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_1ADD: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_1SUB: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_2DIV: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_2DROP: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_2DUP: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_2MUL: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_2OVER: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_2ROT: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_2SWAP: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_3DUP: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_ABS: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_ADD: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_AND: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_BOOLAND: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_BOOLOR: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_CAT: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_CHECKMULTISIG: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_CHECKMULTISIGVERIFY: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_CHECKSIG: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_CHECKSIGADD: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_CHECKSIGVERIFY: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_CLTV: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_CODESEPARATOR: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_CSV: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_DEPTH: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_DIV: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_DROP: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_DUP: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_ELSE: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_ENDIF: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_EQUAL: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_EQUALVERIFY: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_FROMALTSTACK: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_GREATERTHAN: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_GREATERTHANOREQUAL: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_HASH160: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_HASH256: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_IF: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_IFDUP: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_INVALIDOPCODE: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_INVERT: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_LEFT: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_LESSTHAN: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_LESSTHANOREQUAL: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_LSHIFT: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_MAX: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_MIN: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_MOD: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_MUL: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_NEGATE: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_NIP: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_NOP10: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_NOP1: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_NOP4: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_NOP5: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_NOP6: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_NOP7: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_NOP8: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_NOP9: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_NOP: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_NOT: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_NOTIF: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_NUMEQUAL: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_NUMEQUALVERIFY: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_NUMNOTEQUAL: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_OR: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_OVER: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PICK: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_0: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_10: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_11: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_12: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_13: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_14: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_15: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_16: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_17: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_18: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_19: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_1: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_20: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_21: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_22: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_23: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_24: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_25: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_26: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_27: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_28: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_29: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_2: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_30: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_31: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_32: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_33: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_34: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_35: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_36: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_37: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_38: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_39: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_3: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_40: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_41: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_42: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_43: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_44: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_45: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_46: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_47: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_48: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_49: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_4: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_50: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_51: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_52: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_53: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_54: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_55: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_56: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_57: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_58: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_59: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_5: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_60: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_61: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_62: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_63: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_64: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_65: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_66: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_67: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_68: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_69: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_6: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_70: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_71: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_72: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_73: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_74: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_75: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_7: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_8: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_9: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHDATA1: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHDATA2: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHDATA4: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHNUM_10: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHNUM_11: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHNUM_12: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHNUM_13: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHNUM_14: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHNUM_15: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHNUM_16: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHNUM_1: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHNUM_2: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHNUM_3: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHNUM_4: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHNUM_5: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHNUM_6: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHNUM_7: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHNUM_8: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHNUM_9: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHNUM_NEG1: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RESERVED1: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RESERVED2: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RESERVED: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_187: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_188: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_189: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_190: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_191: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_192: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_193: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_194: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_195: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_196: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_197: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_198: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_199: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_200: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_201: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_202: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_203: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_204: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_205: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_206: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_207: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_208: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_209: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_210: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_211: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_212: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_213: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_214: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_215: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_216: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_217: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_218: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_219: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_220: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_221: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_222: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_223: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_224: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_225: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_226: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_227: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_228: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_229: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_230: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_231: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_232: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_233: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_234: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_235: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_236: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_237: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_238: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_239: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_240: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_241: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_242: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_243: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_244: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_245: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_246: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_247: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_248: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_249: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_250: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_251: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_252: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_253: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_254: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RIGHT: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RIPEMD160: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_ROLL: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_ROT: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RSHIFT: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_SHA1: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_SHA256: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_SIZE: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_SUB: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_SUBSTR: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_SWAP: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_TOALTSTACK: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_TUCK: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_VER: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_VERIF: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_VERIFY: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_VERNOTIF: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_WITHIN: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_XOR: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::sequence::Sequence::ENABLE_LOCKTIME_AND_RBF: Self +pub const bitcoin_primitives::sequence::Sequence::ENABLE_LOCKTIME_NO_RBF: Self +pub const bitcoin_primitives::sequence::Sequence::ENABLE_RBF_NO_LOCKTIME: Self +pub const bitcoin_primitives::sequence::Sequence::FINAL: Self +pub const bitcoin_primitives::sequence::Sequence::MAX: Self +pub const bitcoin_primitives::sequence::Sequence::SIZE: usize +pub const bitcoin_primitives::sequence::Sequence::ZERO: Self +pub const bitcoin_primitives::taproot::TapLeafHash::DISPLAY_BACKWARD: bool +pub const bitcoin_primitives::taproot::TapNodeHash::DISPLAY_BACKWARD: bool +pub const bitcoin_primitives::taproot::TapTweakHash::DISPLAY_BACKWARD: bool +pub const bitcoin_primitives::transaction::OutPoint::COINBASE_PREVOUT: Self +pub const bitcoin_primitives::transaction::OutPoint::SIZE: usize +pub const bitcoin_primitives::transaction::Transaction::MAX_STANDARD_WEIGHT: bitcoin_units::weight::Weight +pub const bitcoin_primitives::transaction::TxIn::EMPTY_COINBASE: bitcoin_primitives::transaction::TxIn +pub const bitcoin_primitives::transaction::TxOut::NULL: Self +pub const bitcoin_primitives::transaction::Txid::COINBASE_PREVOUT: Self +pub const bitcoin_primitives::transaction::Txid::DISPLAY_BACKWARD: bool +pub const bitcoin_primitives::transaction::Version::ONE: Self +pub const bitcoin_primitives::transaction::Version::THREE: Self +pub const bitcoin_primitives::transaction::Version::TWO: Self +pub const bitcoin_primitives::transaction::Wtxid::COINBASE: Self +pub const bitcoin_primitives::transaction::Wtxid::DISPLAY_BACKWARD: bool +pub const fn bitcoin_primitives::block::BlockHash::as_byte_array(&self) -> &::Bytes +pub const fn bitcoin_primitives::block::BlockHash::from_byte_array(bytes: ::Bytes) -> Self +pub const fn bitcoin_primitives::block::BlockHash::to_byte_array(self) -> ::Bytes +pub const fn bitcoin_primitives::block::Version::from_consensus(v: i32) -> Self +pub const fn bitcoin_primitives::block::WitnessCommitment::as_byte_array(&self) -> &::Bytes +pub const fn bitcoin_primitives::block::WitnessCommitment::from_byte_array(bytes: ::Bytes) -> Self +pub const fn bitcoin_primitives::block::WitnessCommitment::to_byte_array(self) -> ::Bytes +pub const fn bitcoin_primitives::locktime::absolute::LockTime::is_block_height(&self) -> bool +pub const fn bitcoin_primitives::locktime::absolute::LockTime::is_block_time(&self) -> bool +pub const fn bitcoin_primitives::locktime::absolute::LockTime::is_same_unit(&self, other: bitcoin_primitives::locktime::absolute::LockTime) -> bool +pub const fn bitcoin_primitives::locktime::relative::LockTime::from_512_second_intervals(intervals: u16) -> Self +pub const fn bitcoin_primitives::locktime::relative::LockTime::from_height(n: u16) -> Self +pub const fn bitcoin_primitives::locktime::relative::LockTime::from_seconds_ceil(seconds: u32) -> core::result::Result +pub const fn bitcoin_primitives::locktime::relative::LockTime::from_seconds_floor(seconds: u32) -> core::result::Result +pub const fn bitcoin_primitives::locktime::relative::LockTime::is_block_height(&self) -> bool +pub const fn bitcoin_primitives::locktime::relative::LockTime::is_block_time(&self) -> bool +pub const fn bitcoin_primitives::locktime::relative::LockTime::is_same_unit(&self, other: bitcoin_primitives::locktime::relative::LockTime) -> bool +pub const fn bitcoin_primitives::merkle_tree::TxMerkleNode::as_byte_array(&self) -> &::Bytes +pub const fn bitcoin_primitives::merkle_tree::TxMerkleNode::from_byte_array(bytes: ::Bytes) -> Self +pub const fn bitcoin_primitives::merkle_tree::TxMerkleNode::to_byte_array(self) -> ::Bytes +pub const fn bitcoin_primitives::merkle_tree::WitnessMerkleNode::as_byte_array(&self) -> &::Bytes +pub const fn bitcoin_primitives::merkle_tree::WitnessMerkleNode::from_byte_array(bytes: ::Bytes) -> Self +pub const fn bitcoin_primitives::merkle_tree::WitnessMerkleNode::to_byte_array(self) -> ::Bytes +pub const fn bitcoin_primitives::opcodes::Opcode::decode_pushnum(self) -> core::option::Option +pub const fn bitcoin_primitives::opcodes::Opcode::to_u8(self) -> u8 +pub const fn bitcoin_primitives::script::ScriptBuf::new() -> Self +pub const fn bitcoin_primitives::taproot::TapLeafHash::as_byte_array(&self) -> & as bitcoin_hashes::Hash>::Bytes +pub const fn bitcoin_primitives::taproot::TapLeafHash::from_byte_array(bytes: as bitcoin_hashes::Hash>::Bytes) -> Self +pub const fn bitcoin_primitives::taproot::TapLeafHash::to_byte_array(self) -> as bitcoin_hashes::Hash>::Bytes +pub const fn bitcoin_primitives::taproot::TapNodeHash::as_byte_array(&self) -> & as bitcoin_hashes::Hash>::Bytes +pub const fn bitcoin_primitives::taproot::TapNodeHash::from_byte_array(bytes: as bitcoin_hashes::Hash>::Bytes) -> Self +pub const fn bitcoin_primitives::taproot::TapNodeHash::to_byte_array(self) -> as bitcoin_hashes::Hash>::Bytes +pub const fn bitcoin_primitives::taproot::TapTweakHash::as_byte_array(&self) -> & as bitcoin_hashes::Hash>::Bytes +pub const fn bitcoin_primitives::taproot::TapTweakHash::from_byte_array(bytes: as bitcoin_hashes::Hash>::Bytes) -> Self +pub const fn bitcoin_primitives::taproot::TapTweakHash::to_byte_array(self) -> as bitcoin_hashes::Hash>::Bytes +pub const fn bitcoin_primitives::transaction::Txid::as_byte_array(&self) -> &::Bytes +pub const fn bitcoin_primitives::transaction::Txid::from_byte_array(bytes: ::Bytes) -> Self +pub const fn bitcoin_primitives::transaction::Txid::to_byte_array(self) -> ::Bytes +pub const fn bitcoin_primitives::transaction::Wtxid::as_byte_array(&self) -> &::Bytes +pub const fn bitcoin_primitives::transaction::Wtxid::from_byte_array(bytes: ::Bytes) -> Self +pub const fn bitcoin_primitives::transaction::Wtxid::to_byte_array(self) -> ::Bytes +pub const fn bitcoin_primitives::witness::Witness::new() -> Self +pub enum bitcoin_primitives::BlockChecked +pub enum bitcoin_primitives::BlockUnchecked +pub enum bitcoin_primitives::absolute::LockTime +pub enum bitcoin_primitives::block::Checked +pub enum bitcoin_primitives::block::Unchecked +pub enum bitcoin_primitives::locktime::absolute::LockTime +pub enum bitcoin_primitives::locktime::relative::LockTime +pub enum bitcoin_primitives::opcodes::Class +pub enum bitcoin_primitives::opcodes::ClassifyContext +pub enum bitcoin_primitives::relative::LockTime +pub fn &'a bitcoin_primitives::witness::Witness::into_iter(self) -> Self::IntoIter +pub fn &'de bitcoin_primitives::script::Script::deserialize(deserializer: D) -> core::result::Result::Error> where D: serde::de::Deserializer<'de> +pub fn alloc::borrow::Cow<'_, bitcoin_primitives::script::Script>::from(value: bitcoin_primitives::script::ScriptBuf) -> Self +pub fn alloc::borrow::Cow<'a, bitcoin_primitives::script::Script>::from(value: &'a bitcoin_primitives::script::Script) -> Self +pub fn alloc::boxed::Box::from(v: bitcoin_primitives::script::ScriptBuf) -> Self +pub fn alloc::boxed::Box::from(value: &'a bitcoin_primitives::script::Script) -> Self +pub fn alloc::boxed::Box::from(value: alloc::borrow::Cow<'a, bitcoin_primitives::script::Script>) -> Self +pub fn alloc::rc::Rc::from(value: &'a bitcoin_primitives::script::Script) -> Self +pub fn alloc::sync::Arc::from(value: &'a bitcoin_primitives::script::Script) -> Self +pub fn alloc::vec::Vec::from(v: bitcoin_primitives::script::ScriptBuf) -> Self +pub fn bitcoin_hashes::sha256d::Hash::from(hashtype: bitcoin_primitives::block::BlockHash) -> bitcoin_hashes::sha256d::Hash +pub fn bitcoin_hashes::sha256d::Hash::from(hashtype: bitcoin_primitives::block::WitnessCommitment) -> bitcoin_hashes::sha256d::Hash +pub fn bitcoin_hashes::sha256d::Hash::from(hashtype: bitcoin_primitives::merkle_tree::TxMerkleNode) -> bitcoin_hashes::sha256d::Hash +pub fn bitcoin_hashes::sha256d::Hash::from(hashtype: bitcoin_primitives::merkle_tree::WitnessMerkleNode) -> bitcoin_hashes::sha256d::Hash +pub fn bitcoin_hashes::sha256d::Hash::from(hashtype: bitcoin_primitives::transaction::Txid) -> bitcoin_hashes::sha256d::Hash +pub fn bitcoin_hashes::sha256d::Hash::from(hashtype: bitcoin_primitives::transaction::Wtxid) -> bitcoin_hashes::sha256d::Hash +pub fn bitcoin_hashes::sha256t::Hash::from(hashtype: bitcoin_primitives::taproot::TapNodeHash) -> bitcoin_hashes::sha256t::Hash +pub fn bitcoin_hashes::sha256t::Hash::from(hashtype: bitcoin_primitives::taproot::TapLeafHash) -> bitcoin_hashes::sha256t::Hash +pub fn bitcoin_hashes::sha256t::Hash::from(hashtype: bitcoin_primitives::taproot::TapTweakHash) -> bitcoin_hashes::sha256t::Hash +pub fn bitcoin_primitives::block::Block::arbitrary(u: &mut arbitrary::unstructured::Unstructured<'a>) -> arbitrary::error::Result +pub fn bitcoin_primitives::block::Block::block_hash(&self) -> bitcoin_primitives::block::BlockHash +pub fn bitcoin_primitives::block::Block::clone(&self) -> bitcoin_primitives::block::Block +pub fn bitcoin_primitives::block::Block::deserialize<__D>(__deserializer: __D) -> core::result::Result::Error> where __D: serde::de::Deserializer<'de> +pub fn bitcoin_primitives::block::Block::eq(&self, other: &bitcoin_primitives::block::Block) -> bool +pub fn bitcoin_primitives::block::Block::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_primitives::block::Block::serialize<__S>(&self, __serializer: __S) -> core::result::Result<<__S as serde::ser::Serializer>::Ok, <__S as serde::ser::Serializer>::Error> where __S: serde::ser::Serializer +pub fn bitcoin_primitives::block::Block::cached_witness_root(&self) -> core::option::Option +pub fn bitcoin_primitives::block::Block::header(&self) -> &bitcoin_primitives::block::Header +pub fn bitcoin_primitives::block::Block::transactions(&self) -> &[bitcoin_primitives::transaction::Transaction] +pub fn bitcoin_primitives::block::Block::assume_checked(self, witness_root: core::option::Option) -> bitcoin_primitives::block::Block +pub fn bitcoin_primitives::block::Block::into_parts(self) -> (bitcoin_primitives::block::Header, alloc::vec::Vec) +pub fn bitcoin_primitives::block::Block::new_unchecked(header: bitcoin_primitives::block::Header, transactions: alloc::vec::Vec) -> bitcoin_primitives::block::Block +pub fn bitcoin_primitives::block::BlockHash::as_byte_array(&self) -> &Self::Bytes +pub fn bitcoin_primitives::block::BlockHash::as_ref(&self) -> &[u8; 32] +pub fn bitcoin_primitives::block::BlockHash::as_ref(&self) -> &[u8] +pub fn bitcoin_primitives::block::BlockHash::borrow(&self) -> &[u8; 32] +pub fn bitcoin_primitives::block::BlockHash::borrow(&self) -> &[u8] +pub fn bitcoin_primitives::block::BlockHash::clone(&self) -> bitcoin_primitives::block::BlockHash +pub fn bitcoin_primitives::block::BlockHash::cmp(&self, other: &bitcoin_primitives::block::BlockHash) -> core::cmp::Ordering +pub fn bitcoin_primitives::block::BlockHash::deserialize>(d: D) -> core::result::Result::Error> +pub fn bitcoin_primitives::block::BlockHash::eq(&self, other: &bitcoin_primitives::block::BlockHash) -> bool +pub fn bitcoin_primitives::block::BlockHash::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_primitives::block::BlockHash::from(block: &bitcoin_primitives::block::Block) -> bitcoin_primitives::block::BlockHash +pub fn bitcoin_primitives::block::BlockHash::from(block: bitcoin_primitives::block::Block) -> bitcoin_primitives::block::BlockHash +pub fn bitcoin_primitives::block::BlockHash::from(header: &bitcoin_primitives::block::Header) -> bitcoin_primitives::block::BlockHash +pub fn bitcoin_primitives::block::BlockHash::from(header: bitcoin_primitives::block::Header) -> bitcoin_primitives::block::BlockHash +pub fn bitcoin_primitives::block::BlockHash::from(inner: bitcoin_hashes::sha256d::Hash) -> bitcoin_primitives::block::BlockHash +pub fn bitcoin_primitives::block::BlockHash::from_byte_array(bytes: Self::Bytes) -> Self +pub fn bitcoin_primitives::block::BlockHash::from_slice(sl: &[u8]) -> core::result::Result +pub fn bitcoin_primitives::block::BlockHash::from_str(s: &str) -> core::result::Result +pub fn bitcoin_primitives::block::BlockHash::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_primitives::block::BlockHash::partial_cmp(&self, other: &bitcoin_primitives::block::BlockHash) -> core::option::Option +pub fn bitcoin_primitives::block::BlockHash::serialize(&self, s: S) -> core::result::Result<::Ok, ::Error> +pub fn bitcoin_primitives::block::BlockHash::to_byte_array(self) -> Self::Bytes +pub fn bitcoin_primitives::block::Checked::clone(&self) -> bitcoin_primitives::block::Checked +pub fn bitcoin_primitives::block::Checked::cmp(&self, other: &bitcoin_primitives::block::Checked) -> core::cmp::Ordering +pub fn bitcoin_primitives::block::Checked::eq(&self, other: &bitcoin_primitives::block::Checked) -> bool +pub fn bitcoin_primitives::block::Checked::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_primitives::block::Checked::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_primitives::block::Checked::partial_cmp(&self, other: &bitcoin_primitives::block::Checked) -> core::option::Option +pub fn bitcoin_primitives::block::Header::arbitrary(u: &mut arbitrary::unstructured::Unstructured<'a>) -> arbitrary::error::Result +pub fn bitcoin_primitives::block::Header::block_hash(&self) -> bitcoin_primitives::block::BlockHash +pub fn bitcoin_primitives::block::Header::clone(&self) -> bitcoin_primitives::block::Header +pub fn bitcoin_primitives::block::Header::cmp(&self, other: &bitcoin_primitives::block::Header) -> core::cmp::Ordering +pub fn bitcoin_primitives::block::Header::deserialize<__D>(__deserializer: __D) -> core::result::Result::Error> where __D: serde::de::Deserializer<'de> +pub fn bitcoin_primitives::block::Header::eq(&self, other: &bitcoin_primitives::block::Header) -> bool +pub fn bitcoin_primitives::block::Header::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_primitives::block::Header::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_primitives::block::Header::partial_cmp(&self, other: &bitcoin_primitives::block::Header) -> core::option::Option +pub fn bitcoin_primitives::block::Header::serialize<__S>(&self, __serializer: __S) -> core::result::Result<<__S as serde::ser::Serializer>::Ok, <__S as serde::ser::Serializer>::Error> where __S: serde::ser::Serializer +pub fn bitcoin_primitives::block::Unchecked::clone(&self) -> bitcoin_primitives::block::Unchecked +pub fn bitcoin_primitives::block::Unchecked::cmp(&self, other: &bitcoin_primitives::block::Unchecked) -> core::cmp::Ordering +pub fn bitcoin_primitives::block::Unchecked::eq(&self, other: &bitcoin_primitives::block::Unchecked) -> bool +pub fn bitcoin_primitives::block::Unchecked::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_primitives::block::Unchecked::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_primitives::block::Unchecked::partial_cmp(&self, other: &bitcoin_primitives::block::Unchecked) -> core::option::Option +pub fn bitcoin_primitives::block::Version::arbitrary(u: &mut arbitrary::unstructured::Unstructured<'a>) -> arbitrary::error::Result +pub fn bitcoin_primitives::block::Version::clone(&self) -> bitcoin_primitives::block::Version +pub fn bitcoin_primitives::block::Version::cmp(&self, other: &bitcoin_primitives::block::Version) -> core::cmp::Ordering +pub fn bitcoin_primitives::block::Version::default() -> bitcoin_primitives::block::Version +pub fn bitcoin_primitives::block::Version::deserialize<__D>(__deserializer: __D) -> core::result::Result::Error> where __D: serde::de::Deserializer<'de> +pub fn bitcoin_primitives::block::Version::eq(&self, other: &bitcoin_primitives::block::Version) -> bool +pub fn bitcoin_primitives::block::Version::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_primitives::block::Version::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_primitives::block::Version::is_signalling_soft_fork(&self, bit: u8) -> bool +pub fn bitcoin_primitives::block::Version::partial_cmp(&self, other: &bitcoin_primitives::block::Version) -> core::option::Option +pub fn bitcoin_primitives::block::Version::serialize<__S>(&self, __serializer: __S) -> core::result::Result<<__S as serde::ser::Serializer>::Ok, <__S as serde::ser::Serializer>::Error> where __S: serde::ser::Serializer +pub fn bitcoin_primitives::block::Version::to_consensus(self) -> i32 +pub fn bitcoin_primitives::block::WitnessCommitment::as_byte_array(&self) -> &Self::Bytes +pub fn bitcoin_primitives::block::WitnessCommitment::as_ref(&self) -> &[u8; 32] +pub fn bitcoin_primitives::block::WitnessCommitment::as_ref(&self) -> &[u8] +pub fn bitcoin_primitives::block::WitnessCommitment::borrow(&self) -> &[u8; 32] +pub fn bitcoin_primitives::block::WitnessCommitment::borrow(&self) -> &[u8] +pub fn bitcoin_primitives::block::WitnessCommitment::clone(&self) -> bitcoin_primitives::block::WitnessCommitment +pub fn bitcoin_primitives::block::WitnessCommitment::cmp(&self, other: &bitcoin_primitives::block::WitnessCommitment) -> core::cmp::Ordering +pub fn bitcoin_primitives::block::WitnessCommitment::deserialize>(d: D) -> core::result::Result::Error> +pub fn bitcoin_primitives::block::WitnessCommitment::eq(&self, other: &bitcoin_primitives::block::WitnessCommitment) -> bool +pub fn bitcoin_primitives::block::WitnessCommitment::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_primitives::block::WitnessCommitment::from(inner: bitcoin_hashes::sha256d::Hash) -> bitcoin_primitives::block::WitnessCommitment +pub fn bitcoin_primitives::block::WitnessCommitment::from_byte_array(bytes: Self::Bytes) -> Self +pub fn bitcoin_primitives::block::WitnessCommitment::from_slice(sl: &[u8]) -> core::result::Result +pub fn bitcoin_primitives::block::WitnessCommitment::from_str(s: &str) -> core::result::Result +pub fn bitcoin_primitives::block::WitnessCommitment::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_primitives::block::WitnessCommitment::partial_cmp(&self, other: &bitcoin_primitives::block::WitnessCommitment) -> core::option::Option +pub fn bitcoin_primitives::block::WitnessCommitment::serialize(&self, s: S) -> core::result::Result<::Ok, ::Error> +pub fn bitcoin_primitives::block::WitnessCommitment::to_byte_array(self) -> Self::Bytes +pub fn bitcoin_primitives::locktime::absolute::LockTime::arbitrary(u: &mut arbitrary::unstructured::Unstructured<'a>) -> arbitrary::error::Result +pub fn bitcoin_primitives::locktime::absolute::LockTime::arbitrary_cmp(&self, other: &Self) -> core::cmp::Ordering +pub fn bitcoin_primitives::locktime::absolute::LockTime::clone(&self) -> bitcoin_primitives::locktime::absolute::LockTime +pub fn bitcoin_primitives::locktime::absolute::LockTime::deserialize(deserializer: D) -> core::result::Result::Error> where D: serde::de::Deserializer<'de> +pub fn bitcoin_primitives::locktime::absolute::LockTime::eq(&self, other: &bitcoin_primitives::locktime::absolute::LockTime) -> bool +pub fn bitcoin_primitives::locktime::absolute::LockTime::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_primitives::locktime::absolute::LockTime::from(h: bitcoin_units::locktime::absolute::Height) -> Self +pub fn bitcoin_primitives::locktime::absolute::LockTime::from(t: bitcoin_units::locktime::absolute::Time) -> Self +pub fn bitcoin_primitives::locktime::absolute::LockTime::from_consensus(n: u32) -> Self +pub fn bitcoin_primitives::locktime::absolute::LockTime::from_height(n: u32) -> core::result::Result +pub fn bitcoin_primitives::locktime::absolute::LockTime::from_hex(s: &str) -> core::result::Result +pub fn bitcoin_primitives::locktime::absolute::LockTime::from_str(s: &str) -> core::result::Result +pub fn bitcoin_primitives::locktime::absolute::LockTime::from_time(n: u32) -> core::result::Result +pub fn bitcoin_primitives::locktime::absolute::LockTime::from_unprefixed_hex(s: &str) -> core::result::Result +pub fn bitcoin_primitives::locktime::absolute::LockTime::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_primitives::locktime::absolute::LockTime::is_implied_by(&self, other: bitcoin_primitives::locktime::absolute::LockTime) -> bool +pub fn bitcoin_primitives::locktime::absolute::LockTime::is_satisfied_by(&self, height: bitcoin_units::locktime::absolute::Height, time: bitcoin_units::locktime::absolute::Time) -> bool +pub fn bitcoin_primitives::locktime::absolute::LockTime::partial_cmp(&self, other: &bitcoin_primitives::locktime::absolute::LockTime) -> core::option::Option +pub fn bitcoin_primitives::locktime::absolute::LockTime::serialize(&self, serializer: S) -> core::result::Result<::Ok, ::Error> where S: serde::ser::Serializer +pub fn bitcoin_primitives::locktime::absolute::LockTime::to_consensus_u32(self) -> u32 +pub fn bitcoin_primitives::locktime::absolute::LockTime::try_from(s: &str) -> core::result::Result +pub fn bitcoin_primitives::locktime::absolute::LockTime::try_from(s: alloc::boxed::Box) -> core::result::Result +pub fn bitcoin_primitives::locktime::absolute::LockTime::try_from(s: alloc::string::String) -> core::result::Result +pub fn bitcoin_primitives::locktime::relative::DisabledLockTimeError::clone(&self) -> bitcoin_primitives::locktime::relative::DisabledLockTimeError +pub fn bitcoin_primitives::locktime::relative::DisabledLockTimeError::disabled_locktime_value(&self) -> u32 +pub fn bitcoin_primitives::locktime::relative::DisabledLockTimeError::eq(&self, other: &bitcoin_primitives::locktime::relative::DisabledLockTimeError) -> bool +pub fn bitcoin_primitives::locktime::relative::DisabledLockTimeError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_primitives::locktime::relative::IncompatibleHeightError::clone(&self) -> bitcoin_primitives::locktime::relative::IncompatibleHeightError +pub fn bitcoin_primitives::locktime::relative::IncompatibleHeightError::eq(&self, other: &bitcoin_primitives::locktime::relative::IncompatibleHeightError) -> bool +pub fn bitcoin_primitives::locktime::relative::IncompatibleHeightError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_primitives::locktime::relative::IncompatibleTimeError::clone(&self) -> bitcoin_primitives::locktime::relative::IncompatibleTimeError +pub fn bitcoin_primitives::locktime::relative::IncompatibleTimeError::eq(&self, other: &bitcoin_primitives::locktime::relative::IncompatibleTimeError) -> bool +pub fn bitcoin_primitives::locktime::relative::IncompatibleTimeError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_primitives::locktime::relative::LockTime::arbitrary_cmp(&self, other: &Self) -> core::cmp::Ordering +pub fn bitcoin_primitives::locktime::relative::LockTime::clone(&self) -> bitcoin_primitives::locktime::relative::LockTime +pub fn bitcoin_primitives::locktime::relative::LockTime::deserialize<__D>(__deserializer: __D) -> core::result::Result::Error> where __D: serde::de::Deserializer<'de> +pub fn bitcoin_primitives::locktime::relative::LockTime::eq(&self, other: &bitcoin_primitives::locktime::relative::LockTime) -> bool +pub fn bitcoin_primitives::locktime::relative::LockTime::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_primitives::locktime::relative::LockTime::from(h: bitcoin_units::locktime::relative::Height) -> Self +pub fn bitcoin_primitives::locktime::relative::LockTime::from(t: bitcoin_units::locktime::relative::Time) -> Self +pub fn bitcoin_primitives::locktime::relative::LockTime::from_consensus(n: u32) -> core::result::Result +pub fn bitcoin_primitives::locktime::relative::LockTime::from_sequence(n: bitcoin_primitives::sequence::Sequence) -> core::result::Result +pub fn bitcoin_primitives::locktime::relative::LockTime::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_primitives::locktime::relative::LockTime::is_implied_by(&self, other: bitcoin_primitives::locktime::relative::LockTime) -> bool +pub fn bitcoin_primitives::locktime::relative::LockTime::is_implied_by_sequence(&self, other: bitcoin_primitives::sequence::Sequence) -> bool +pub fn bitcoin_primitives::locktime::relative::LockTime::is_satisfied_by(&self, h: bitcoin_units::locktime::relative::Height, t: bitcoin_units::locktime::relative::Time) -> bool +pub fn bitcoin_primitives::locktime::relative::LockTime::is_satisfied_by_height(&self, height: bitcoin_units::locktime::relative::Height) -> core::result::Result +pub fn bitcoin_primitives::locktime::relative::LockTime::is_satisfied_by_time(&self, time: bitcoin_units::locktime::relative::Time) -> core::result::Result +pub fn bitcoin_primitives::locktime::relative::LockTime::partial_cmp(&self, other: &bitcoin_primitives::locktime::relative::LockTime) -> core::option::Option +pub fn bitcoin_primitives::locktime::relative::LockTime::serialize<__S>(&self, __serializer: __S) -> core::result::Result<<__S as serde::ser::Serializer>::Ok, <__S as serde::ser::Serializer>::Error> where __S: serde::ser::Serializer +pub fn bitcoin_primitives::locktime::relative::LockTime::to_consensus_u32(&self) -> u32 +pub fn bitcoin_primitives::locktime::relative::LockTime::to_sequence(&self) -> bitcoin_primitives::sequence::Sequence +pub fn bitcoin_primitives::locktime::relative::LockTime::try_from(seq: bitcoin_primitives::sequence::Sequence) -> core::result::Result +pub fn bitcoin_primitives::merkle_tree::TxMerkleNode::as_byte_array(&self) -> &Self::Bytes +pub fn bitcoin_primitives::merkle_tree::TxMerkleNode::as_ref(&self) -> &[u8; 32] +pub fn bitcoin_primitives::merkle_tree::TxMerkleNode::as_ref(&self) -> &[u8] +pub fn bitcoin_primitives::merkle_tree::TxMerkleNode::borrow(&self) -> &[u8; 32] +pub fn bitcoin_primitives::merkle_tree::TxMerkleNode::borrow(&self) -> &[u8] +pub fn bitcoin_primitives::merkle_tree::TxMerkleNode::clone(&self) -> bitcoin_primitives::merkle_tree::TxMerkleNode +pub fn bitcoin_primitives::merkle_tree::TxMerkleNode::cmp(&self, other: &bitcoin_primitives::merkle_tree::TxMerkleNode) -> core::cmp::Ordering +pub fn bitcoin_primitives::merkle_tree::TxMerkleNode::deserialize>(d: D) -> core::result::Result::Error> +pub fn bitcoin_primitives::merkle_tree::TxMerkleNode::eq(&self, other: &bitcoin_primitives::merkle_tree::TxMerkleNode) -> bool +pub fn bitcoin_primitives::merkle_tree::TxMerkleNode::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_primitives::merkle_tree::TxMerkleNode::from(inner: bitcoin_hashes::sha256d::Hash) -> bitcoin_primitives::merkle_tree::TxMerkleNode +pub fn bitcoin_primitives::merkle_tree::TxMerkleNode::from_byte_array(bytes: Self::Bytes) -> Self +pub fn bitcoin_primitives::merkle_tree::TxMerkleNode::from_slice(sl: &[u8]) -> core::result::Result +pub fn bitcoin_primitives::merkle_tree::TxMerkleNode::from_str(s: &str) -> core::result::Result +pub fn bitcoin_primitives::merkle_tree::TxMerkleNode::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_primitives::merkle_tree::TxMerkleNode::partial_cmp(&self, other: &bitcoin_primitives::merkle_tree::TxMerkleNode) -> core::option::Option +pub fn bitcoin_primitives::merkle_tree::TxMerkleNode::serialize(&self, s: S) -> core::result::Result<::Ok, ::Error> +pub fn bitcoin_primitives::merkle_tree::TxMerkleNode::to_byte_array(self) -> Self::Bytes +pub fn bitcoin_primitives::merkle_tree::WitnessMerkleNode::as_byte_array(&self) -> &Self::Bytes +pub fn bitcoin_primitives::merkle_tree::WitnessMerkleNode::as_ref(&self) -> &[u8; 32] +pub fn bitcoin_primitives::merkle_tree::WitnessMerkleNode::as_ref(&self) -> &[u8] +pub fn bitcoin_primitives::merkle_tree::WitnessMerkleNode::borrow(&self) -> &[u8; 32] +pub fn bitcoin_primitives::merkle_tree::WitnessMerkleNode::borrow(&self) -> &[u8] +pub fn bitcoin_primitives::merkle_tree::WitnessMerkleNode::clone(&self) -> bitcoin_primitives::merkle_tree::WitnessMerkleNode +pub fn bitcoin_primitives::merkle_tree::WitnessMerkleNode::cmp(&self, other: &bitcoin_primitives::merkle_tree::WitnessMerkleNode) -> core::cmp::Ordering +pub fn bitcoin_primitives::merkle_tree::WitnessMerkleNode::deserialize>(d: D) -> core::result::Result::Error> +pub fn bitcoin_primitives::merkle_tree::WitnessMerkleNode::eq(&self, other: &bitcoin_primitives::merkle_tree::WitnessMerkleNode) -> bool +pub fn bitcoin_primitives::merkle_tree::WitnessMerkleNode::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_primitives::merkle_tree::WitnessMerkleNode::from(inner: bitcoin_hashes::sha256d::Hash) -> bitcoin_primitives::merkle_tree::WitnessMerkleNode +pub fn bitcoin_primitives::merkle_tree::WitnessMerkleNode::from_byte_array(bytes: Self::Bytes) -> Self +pub fn bitcoin_primitives::merkle_tree::WitnessMerkleNode::from_slice(sl: &[u8]) -> core::result::Result +pub fn bitcoin_primitives::merkle_tree::WitnessMerkleNode::from_str(s: &str) -> core::result::Result +pub fn bitcoin_primitives::merkle_tree::WitnessMerkleNode::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_primitives::merkle_tree::WitnessMerkleNode::partial_cmp(&self, other: &bitcoin_primitives::merkle_tree::WitnessMerkleNode) -> core::option::Option +pub fn bitcoin_primitives::merkle_tree::WitnessMerkleNode::serialize(&self, s: S) -> core::result::Result<::Ok, ::Error> +pub fn bitcoin_primitives::merkle_tree::WitnessMerkleNode::to_byte_array(self) -> Self::Bytes +pub fn bitcoin_primitives::opcodes::Class::clone(&self) -> bitcoin_primitives::opcodes::Class +pub fn bitcoin_primitives::opcodes::Class::eq(&self, other: &bitcoin_primitives::opcodes::Class) -> bool +pub fn bitcoin_primitives::opcodes::Class::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_primitives::opcodes::ClassifyContext::clone(&self) -> bitcoin_primitives::opcodes::ClassifyContext +pub fn bitcoin_primitives::opcodes::ClassifyContext::cmp(&self, other: &bitcoin_primitives::opcodes::ClassifyContext) -> core::cmp::Ordering +pub fn bitcoin_primitives::opcodes::ClassifyContext::eq(&self, other: &bitcoin_primitives::opcodes::ClassifyContext) -> bool +pub fn bitcoin_primitives::opcodes::ClassifyContext::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_primitives::opcodes::ClassifyContext::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_primitives::opcodes::ClassifyContext::partial_cmp(&self, other: &bitcoin_primitives::opcodes::ClassifyContext) -> core::option::Option +pub fn bitcoin_primitives::opcodes::Opcode::classify(self, ctx: bitcoin_primitives::opcodes::ClassifyContext) -> bitcoin_primitives::opcodes::Class +pub fn bitcoin_primitives::opcodes::Opcode::clone(&self) -> bitcoin_primitives::opcodes::Opcode +pub fn bitcoin_primitives::opcodes::Opcode::eq(&self, other: &bitcoin_primitives::opcodes::Opcode) -> bool +pub fn bitcoin_primitives::opcodes::Opcode::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_primitives::opcodes::Opcode::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::result::Result<(), core::fmt::Error> +pub fn bitcoin_primitives::opcodes::Opcode::from(b: u8) -> bitcoin_primitives::opcodes::Opcode +pub fn bitcoin_primitives::opcodes::Opcode::serialize(&self, serializer: S) -> core::result::Result<::Ok, ::Error> where S: serde::ser::Serializer +pub fn bitcoin_primitives::pow::CompactTarget::clone(&self) -> bitcoin_primitives::pow::CompactTarget +pub fn bitcoin_primitives::pow::CompactTarget::cmp(&self, other: &bitcoin_primitives::pow::CompactTarget) -> core::cmp::Ordering +pub fn bitcoin_primitives::pow::CompactTarget::default() -> bitcoin_primitives::pow::CompactTarget +pub fn bitcoin_primitives::pow::CompactTarget::deserialize<__D>(__deserializer: __D) -> core::result::Result::Error> where __D: serde::de::Deserializer<'de> +pub fn bitcoin_primitives::pow::CompactTarget::eq(&self, other: &bitcoin_primitives::pow::CompactTarget) -> bool +pub fn bitcoin_primitives::pow::CompactTarget::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_primitives::pow::CompactTarget::from_consensus(bits: u32) -> Self +pub fn bitcoin_primitives::pow::CompactTarget::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_primitives::pow::CompactTarget::partial_cmp(&self, other: &bitcoin_primitives::pow::CompactTarget) -> core::option::Option +pub fn bitcoin_primitives::pow::CompactTarget::serialize<__S>(&self, __serializer: __S) -> core::result::Result<<__S as serde::ser::Serializer>::Ok, <__S as serde::ser::Serializer>::Error> where __S: serde::ser::Serializer +pub fn bitcoin_primitives::pow::CompactTarget::to_consensus(self) -> u32 +pub fn bitcoin_primitives::pow::CompactTarget::to_hex(&self) -> alloc::string::String +pub fn bitcoin_primitives::script::Script::as_bytes(&self) -> &[u8] +pub fn bitcoin_primitives::script::Script::as_mut(&mut self) -> &mut [u8] +pub fn bitcoin_primitives::script::Script::as_mut(&mut self) -> &mut bitcoin_primitives::script::Script +pub fn bitcoin_primitives::script::Script::as_mut_bytes(&mut self) -> &mut [u8] +pub fn bitcoin_primitives::script::Script::as_ref(&self) -> &[u8] +pub fn bitcoin_primitives::script::Script::as_ref(&self) -> &bitcoin_primitives::script::Script +pub fn bitcoin_primitives::script::Script::cmp(&self, other: &bitcoin_primitives::script::Script) -> core::cmp::Ordering +pub fn bitcoin_primitives::script::Script::eq(&self, other: &bitcoin_primitives::script::Script) -> bool +pub fn bitcoin_primitives::script::Script::eq(&self, other: &bitcoin_primitives::script::ScriptBuf) -> bool +pub fn bitcoin_primitives::script::Script::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_primitives::script::Script::from_bytes(bytes: &[u8]) -> &bitcoin_primitives::script::Script +pub fn bitcoin_primitives::script::Script::from_bytes_mut(bytes: &mut [u8]) -> &mut bitcoin_primitives::script::Script +pub fn bitcoin_primitives::script::Script::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_primitives::script::Script::index(&self, index: (core::ops::range::Bound, core::ops::range::Bound)) -> &Self::Output +pub fn bitcoin_primitives::script::Script::index(&self, index: core::ops::range::Range) -> &Self::Output +pub fn bitcoin_primitives::script::Script::index(&self, index: core::ops::range::RangeFrom) -> &Self::Output +pub fn bitcoin_primitives::script::Script::index(&self, index: core::ops::range::RangeFull) -> &Self::Output +pub fn bitcoin_primitives::script::Script::index(&self, index: core::ops::range::RangeInclusive) -> &Self::Output +pub fn bitcoin_primitives::script::Script::index(&self, index: core::ops::range::RangeTo) -> &Self::Output +pub fn bitcoin_primitives::script::Script::index(&self, index: core::ops::range::RangeToInclusive) -> &Self::Output +pub fn bitcoin_primitives::script::Script::into_script_buf(self: alloc::boxed::Box) -> bitcoin_primitives::script::ScriptBuf +pub fn bitcoin_primitives::script::Script::is_empty(&self) -> bool +pub fn bitcoin_primitives::script::Script::len(&self) -> usize +pub fn bitcoin_primitives::script::Script::new() -> &'static bitcoin_primitives::script::Script +pub fn bitcoin_primitives::script::Script::partial_cmp(&self, other: &bitcoin_primitives::script::Script) -> core::option::Option +pub fn bitcoin_primitives::script::Script::partial_cmp(&self, other: &bitcoin_primitives::script::ScriptBuf) -> core::option::Option +pub fn bitcoin_primitives::script::Script::serialize(&self, serializer: S) -> core::result::Result<::Ok, ::Error> where S: serde::ser::Serializer +pub fn bitcoin_primitives::script::Script::to_bytes(&self) -> alloc::vec::Vec +pub fn bitcoin_primitives::script::Script::to_hex(&self) -> alloc::string::String +pub fn bitcoin_primitives::script::Script::to_owned(&self) -> Self::Owned +pub fn bitcoin_primitives::script::Script::to_vec(&self) -> alloc::vec::Vec +pub fn bitcoin_primitives::script::ScriptBuf::arbitrary(u: &mut arbitrary::unstructured::Unstructured<'a>) -> arbitrary::error::Result +pub fn bitcoin_primitives::script::ScriptBuf::as_mut(&mut self) -> &mut [u8] +pub fn bitcoin_primitives::script::ScriptBuf::as_mut(&mut self) -> &mut bitcoin_primitives::script::Script +pub fn bitcoin_primitives::script::ScriptBuf::as_mut_script(&mut self) -> &mut bitcoin_primitives::script::Script +pub fn bitcoin_primitives::script::ScriptBuf::as_ref(&self) -> &[u8] +pub fn bitcoin_primitives::script::ScriptBuf::as_ref(&self) -> &bitcoin_primitives::script::Script +pub fn bitcoin_primitives::script::ScriptBuf::as_script(&self) -> &bitcoin_primitives::script::Script +pub fn bitcoin_primitives::script::ScriptBuf::borrow(&self) -> &bitcoin_primitives::script::Script +pub fn bitcoin_primitives::script::ScriptBuf::borrow_mut(&mut self) -> &mut bitcoin_primitives::script::Script +pub fn bitcoin_primitives::script::ScriptBuf::clone(&self) -> bitcoin_primitives::script::ScriptBuf +pub fn bitcoin_primitives::script::ScriptBuf::cmp(&self, other: &bitcoin_primitives::script::ScriptBuf) -> core::cmp::Ordering +pub fn bitcoin_primitives::script::ScriptBuf::default() -> bitcoin_primitives::script::ScriptBuf +pub fn bitcoin_primitives::script::ScriptBuf::deref(&self) -> &Self::Target +pub fn bitcoin_primitives::script::ScriptBuf::deref_mut(&mut self) -> &mut Self::Target +pub fn bitcoin_primitives::script::ScriptBuf::deserialize(deserializer: D) -> core::result::Result::Error> where D: serde::de::Deserializer<'de> +pub fn bitcoin_primitives::script::ScriptBuf::eq(&self, other: &bitcoin_primitives::script::Script) -> bool +pub fn bitcoin_primitives::script::ScriptBuf::eq(&self, other: &bitcoin_primitives::script::ScriptBuf) -> bool +pub fn bitcoin_primitives::script::ScriptBuf::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_primitives::script::ScriptBuf::from(v: alloc::vec::Vec) -> Self +pub fn bitcoin_primitives::script::ScriptBuf::from(value: &'a bitcoin_primitives::script::Script) -> Self +pub fn bitcoin_primitives::script::ScriptBuf::from(value: alloc::borrow::Cow<'a, bitcoin_primitives::script::Script>) -> Self +pub fn bitcoin_primitives::script::ScriptBuf::from_bytes(bytes: alloc::vec::Vec) -> Self +pub fn bitcoin_primitives::script::ScriptBuf::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_primitives::script::ScriptBuf::into_boxed_script(self) -> alloc::boxed::Box +pub fn bitcoin_primitives::script::ScriptBuf::into_bytes(self) -> alloc::vec::Vec +pub fn bitcoin_primitives::script::ScriptBuf::partial_cmp(&self, other: &bitcoin_primitives::script::Script) -> core::option::Option +pub fn bitcoin_primitives::script::ScriptBuf::partial_cmp(&self, other: &bitcoin_primitives::script::ScriptBuf) -> core::option::Option +pub fn bitcoin_primitives::script::ScriptBuf::reserve(&mut self, additional_len: usize) +pub fn bitcoin_primitives::script::ScriptBuf::reserve_exact(&mut self, additional_len: usize) +pub fn bitcoin_primitives::script::ScriptBuf::serialize(&self, serializer: S) -> core::result::Result<::Ok, ::Error> where S: serde::ser::Serializer +pub fn bitcoin_primitives::script::ScriptBuf::to_hex(&self) -> alloc::string::String +pub fn bitcoin_primitives::script::ScriptBuf::with_capacity(capacity: usize) -> Self +pub fn bitcoin_primitives::sequence::Sequence::arbitrary(u: &mut arbitrary::unstructured::Unstructured<'a>) -> arbitrary::error::Result +pub fn bitcoin_primitives::sequence::Sequence::clone(&self) -> bitcoin_primitives::sequence::Sequence +pub fn bitcoin_primitives::sequence::Sequence::cmp(&self, other: &bitcoin_primitives::sequence::Sequence) -> core::cmp::Ordering +pub fn bitcoin_primitives::sequence::Sequence::default() -> Self +pub fn bitcoin_primitives::sequence::Sequence::deserialize<__D>(__deserializer: __D) -> core::result::Result::Error> where __D: serde::de::Deserializer<'de> +pub fn bitcoin_primitives::sequence::Sequence::enables_absolute_lock_time(&self) -> bool +pub fn bitcoin_primitives::sequence::Sequence::eq(&self, other: &bitcoin_primitives::sequence::Sequence) -> bool +pub fn bitcoin_primitives::sequence::Sequence::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_primitives::sequence::Sequence::from(lt: bitcoin_primitives::locktime::relative::LockTime) -> bitcoin_primitives::sequence::Sequence +pub fn bitcoin_primitives::sequence::Sequence::from_512_second_intervals(intervals: u16) -> Self +pub fn bitcoin_primitives::sequence::Sequence::from_consensus(n: u32) -> Self +pub fn bitcoin_primitives::sequence::Sequence::from_height(height: u16) -> Self +pub fn bitcoin_primitives::sequence::Sequence::from_hex(s: &str) -> core::result::Result +pub fn bitcoin_primitives::sequence::Sequence::from_seconds_ceil(seconds: u32) -> core::result::Result +pub fn bitcoin_primitives::sequence::Sequence::from_seconds_floor(seconds: u32) -> core::result::Result +pub fn bitcoin_primitives::sequence::Sequence::from_str(s: &str) -> core::result::Result +pub fn bitcoin_primitives::sequence::Sequence::from_unprefixed_hex(s: &str) -> core::result::Result +pub fn bitcoin_primitives::sequence::Sequence::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_primitives::sequence::Sequence::is_final(&self) -> bool +pub fn bitcoin_primitives::sequence::Sequence::is_height_locked(&self) -> bool +pub fn bitcoin_primitives::sequence::Sequence::is_rbf(&self) -> bool +pub fn bitcoin_primitives::sequence::Sequence::is_relative_lock_time(&self) -> bool +pub fn bitcoin_primitives::sequence::Sequence::is_time_locked(&self) -> bool +pub fn bitcoin_primitives::sequence::Sequence::partial_cmp(&self, other: &bitcoin_primitives::sequence::Sequence) -> core::option::Option +pub fn bitcoin_primitives::sequence::Sequence::serialize<__S>(&self, __serializer: __S) -> core::result::Result<<__S as serde::ser::Serializer>::Ok, <__S as serde::ser::Serializer>::Error> where __S: serde::ser::Serializer +pub fn bitcoin_primitives::sequence::Sequence::to_consensus_u32(self) -> u32 +pub fn bitcoin_primitives::sequence::Sequence::to_hex(&self) -> alloc::string::String +pub fn bitcoin_primitives::sequence::Sequence::to_relative_lock_time(&self) -> core::option::Option +pub fn bitcoin_primitives::sequence::Sequence::try_from(s: &str) -> core::result::Result +pub fn bitcoin_primitives::sequence::Sequence::try_from(s: alloc::boxed::Box) -> core::result::Result +pub fn bitcoin_primitives::sequence::Sequence::try_from(s: alloc::string::String) -> core::result::Result +pub fn bitcoin_primitives::taproot::TapBranchTag::clone(&self) -> bitcoin_primitives::taproot::TapBranchTag +pub fn bitcoin_primitives::taproot::TapBranchTag::cmp(&self, other: &bitcoin_primitives::taproot::TapBranchTag) -> core::cmp::Ordering +pub fn bitcoin_primitives::taproot::TapBranchTag::default() -> bitcoin_primitives::taproot::TapBranchTag +pub fn bitcoin_primitives::taproot::TapBranchTag::engine() -> bitcoin_hashes::sha256::HashEngine +pub fn bitcoin_primitives::taproot::TapBranchTag::eq(&self, other: &bitcoin_primitives::taproot::TapBranchTag) -> bool +pub fn bitcoin_primitives::taproot::TapBranchTag::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_primitives::taproot::TapBranchTag::partial_cmp(&self, other: &bitcoin_primitives::taproot::TapBranchTag) -> core::option::Option +pub fn bitcoin_primitives::taproot::TapLeafHash::as_byte_array(&self) -> &Self::Bytes +pub fn bitcoin_primitives::taproot::TapLeafHash::as_ref(&self) -> &[u8; 32] +pub fn bitcoin_primitives::taproot::TapLeafHash::as_ref(&self) -> &[u8] +pub fn bitcoin_primitives::taproot::TapLeafHash::borrow(&self) -> &[u8; 32] +pub fn bitcoin_primitives::taproot::TapLeafHash::borrow(&self) -> &[u8] +pub fn bitcoin_primitives::taproot::TapLeafHash::clone(&self) -> bitcoin_primitives::taproot::TapLeafHash +pub fn bitcoin_primitives::taproot::TapLeafHash::cmp(&self, other: &bitcoin_primitives::taproot::TapLeafHash) -> core::cmp::Ordering +pub fn bitcoin_primitives::taproot::TapLeafHash::deserialize>(d: D) -> core::result::Result::Error> +pub fn bitcoin_primitives::taproot::TapLeafHash::eq(&self, other: &bitcoin_primitives::taproot::TapLeafHash) -> bool +pub fn bitcoin_primitives::taproot::TapLeafHash::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_primitives::taproot::TapLeafHash::from(inner: bitcoin_hashes::sha256t::Hash) -> bitcoin_primitives::taproot::TapLeafHash +pub fn bitcoin_primitives::taproot::TapLeafHash::from_byte_array(bytes: Self::Bytes) -> Self +pub fn bitcoin_primitives::taproot::TapLeafHash::from_slice(sl: &[u8]) -> core::result::Result +pub fn bitcoin_primitives::taproot::TapLeafHash::from_str(s: &str) -> core::result::Result +pub fn bitcoin_primitives::taproot::TapLeafHash::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_primitives::taproot::TapLeafHash::partial_cmp(&self, other: &bitcoin_primitives::taproot::TapLeafHash) -> core::option::Option +pub fn bitcoin_primitives::taproot::TapLeafHash::serialize(&self, s: S) -> core::result::Result<::Ok, ::Error> +pub fn bitcoin_primitives::taproot::TapLeafHash::to_byte_array(self) -> Self::Bytes +pub fn bitcoin_primitives::taproot::TapLeafTag::clone(&self) -> bitcoin_primitives::taproot::TapLeafTag +pub fn bitcoin_primitives::taproot::TapLeafTag::cmp(&self, other: &bitcoin_primitives::taproot::TapLeafTag) -> core::cmp::Ordering +pub fn bitcoin_primitives::taproot::TapLeafTag::default() -> bitcoin_primitives::taproot::TapLeafTag +pub fn bitcoin_primitives::taproot::TapLeafTag::engine() -> bitcoin_hashes::sha256::HashEngine +pub fn bitcoin_primitives::taproot::TapLeafTag::eq(&self, other: &bitcoin_primitives::taproot::TapLeafTag) -> bool +pub fn bitcoin_primitives::taproot::TapLeafTag::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_primitives::taproot::TapLeafTag::partial_cmp(&self, other: &bitcoin_primitives::taproot::TapLeafTag) -> core::option::Option +pub fn bitcoin_primitives::taproot::TapNodeHash::as_byte_array(&self) -> &Self::Bytes +pub fn bitcoin_primitives::taproot::TapNodeHash::as_ref(&self) -> &[u8; 32] +pub fn bitcoin_primitives::taproot::TapNodeHash::as_ref(&self) -> &[u8] +pub fn bitcoin_primitives::taproot::TapNodeHash::borrow(&self) -> &[u8; 32] +pub fn bitcoin_primitives::taproot::TapNodeHash::borrow(&self) -> &[u8] +pub fn bitcoin_primitives::taproot::TapNodeHash::clone(&self) -> bitcoin_primitives::taproot::TapNodeHash +pub fn bitcoin_primitives::taproot::TapNodeHash::cmp(&self, other: &bitcoin_primitives::taproot::TapNodeHash) -> core::cmp::Ordering +pub fn bitcoin_primitives::taproot::TapNodeHash::deserialize>(d: D) -> core::result::Result::Error> +pub fn bitcoin_primitives::taproot::TapNodeHash::eq(&self, other: &bitcoin_primitives::taproot::TapNodeHash) -> bool +pub fn bitcoin_primitives::taproot::TapNodeHash::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_primitives::taproot::TapNodeHash::from(inner: bitcoin_hashes::sha256t::Hash) -> bitcoin_primitives::taproot::TapNodeHash +pub fn bitcoin_primitives::taproot::TapNodeHash::from(leaf: bitcoin_primitives::taproot::TapLeafHash) -> bitcoin_primitives::taproot::TapNodeHash +pub fn bitcoin_primitives::taproot::TapNodeHash::from_byte_array(bytes: Self::Bytes) -> Self +pub fn bitcoin_primitives::taproot::TapNodeHash::from_slice(sl: &[u8]) -> core::result::Result +pub fn bitcoin_primitives::taproot::TapNodeHash::from_str(s: &str) -> core::result::Result +pub fn bitcoin_primitives::taproot::TapNodeHash::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_primitives::taproot::TapNodeHash::partial_cmp(&self, other: &bitcoin_primitives::taproot::TapNodeHash) -> core::option::Option +pub fn bitcoin_primitives::taproot::TapNodeHash::serialize(&self, s: S) -> core::result::Result<::Ok, ::Error> +pub fn bitcoin_primitives::taproot::TapNodeHash::to_byte_array(self) -> Self::Bytes +pub fn bitcoin_primitives::taproot::TapTweakHash::as_byte_array(&self) -> &Self::Bytes +pub fn bitcoin_primitives::taproot::TapTweakHash::as_ref(&self) -> &[u8; 32] +pub fn bitcoin_primitives::taproot::TapTweakHash::as_ref(&self) -> &[u8] +pub fn bitcoin_primitives::taproot::TapTweakHash::borrow(&self) -> &[u8; 32] +pub fn bitcoin_primitives::taproot::TapTweakHash::borrow(&self) -> &[u8] +pub fn bitcoin_primitives::taproot::TapTweakHash::clone(&self) -> bitcoin_primitives::taproot::TapTweakHash +pub fn bitcoin_primitives::taproot::TapTweakHash::cmp(&self, other: &bitcoin_primitives::taproot::TapTweakHash) -> core::cmp::Ordering +pub fn bitcoin_primitives::taproot::TapTweakHash::deserialize>(d: D) -> core::result::Result::Error> +pub fn bitcoin_primitives::taproot::TapTweakHash::eq(&self, other: &bitcoin_primitives::taproot::TapTweakHash) -> bool +pub fn bitcoin_primitives::taproot::TapTweakHash::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_primitives::taproot::TapTweakHash::from(inner: bitcoin_hashes::sha256t::Hash) -> bitcoin_primitives::taproot::TapTweakHash +pub fn bitcoin_primitives::taproot::TapTweakHash::from_byte_array(bytes: Self::Bytes) -> Self +pub fn bitcoin_primitives::taproot::TapTweakHash::from_slice(sl: &[u8]) -> core::result::Result +pub fn bitcoin_primitives::taproot::TapTweakHash::from_str(s: &str) -> core::result::Result +pub fn bitcoin_primitives::taproot::TapTweakHash::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_primitives::taproot::TapTweakHash::partial_cmp(&self, other: &bitcoin_primitives::taproot::TapTweakHash) -> core::option::Option +pub fn bitcoin_primitives::taproot::TapTweakHash::serialize(&self, s: S) -> core::result::Result<::Ok, ::Error> +pub fn bitcoin_primitives::taproot::TapTweakHash::to_byte_array(self) -> Self::Bytes +pub fn bitcoin_primitives::taproot::TapTweakTag::clone(&self) -> bitcoin_primitives::taproot::TapTweakTag +pub fn bitcoin_primitives::taproot::TapTweakTag::cmp(&self, other: &bitcoin_primitives::taproot::TapTweakTag) -> core::cmp::Ordering +pub fn bitcoin_primitives::taproot::TapTweakTag::default() -> bitcoin_primitives::taproot::TapTweakTag +pub fn bitcoin_primitives::taproot::TapTweakTag::engine() -> bitcoin_hashes::sha256::HashEngine +pub fn bitcoin_primitives::taproot::TapTweakTag::eq(&self, other: &bitcoin_primitives::taproot::TapTweakTag) -> bool +pub fn bitcoin_primitives::taproot::TapTweakTag::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_primitives::taproot::TapTweakTag::partial_cmp(&self, other: &bitcoin_primitives::taproot::TapTweakTag) -> core::option::Option +pub fn bitcoin_primitives::transaction::OutPoint::arbitrary(u: &mut arbitrary::unstructured::Unstructured<'a>) -> arbitrary::error::Result +pub fn bitcoin_primitives::transaction::OutPoint::clone(&self) -> bitcoin_primitives::transaction::OutPoint +pub fn bitcoin_primitives::transaction::OutPoint::cmp(&self, other: &bitcoin_primitives::transaction::OutPoint) -> core::cmp::Ordering +pub fn bitcoin_primitives::transaction::OutPoint::deserialize(deserializer: D) -> core::result::Result::Error> where D: serde::de::Deserializer<'de> +pub fn bitcoin_primitives::transaction::OutPoint::eq(&self, other: &bitcoin_primitives::transaction::OutPoint) -> bool +pub fn bitcoin_primitives::transaction::OutPoint::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_primitives::transaction::OutPoint::from_str(s: &str) -> core::result::Result +pub fn bitcoin_primitives::transaction::OutPoint::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_primitives::transaction::OutPoint::partial_cmp(&self, other: &bitcoin_primitives::transaction::OutPoint) -> core::option::Option +pub fn bitcoin_primitives::transaction::OutPoint::serialize(&self, serializer: S) -> core::result::Result<::Ok, ::Error> where S: serde::ser::Serializer +pub fn bitcoin_primitives::transaction::ParseOutPointError::clone(&self) -> bitcoin_primitives::transaction::ParseOutPointError +pub fn bitcoin_primitives::transaction::ParseOutPointError::eq(&self, other: &bitcoin_primitives::transaction::ParseOutPointError) -> bool +pub fn bitcoin_primitives::transaction::ParseOutPointError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_primitives::transaction::ParseOutPointError::from(never: core::convert::Infallible) -> Self +pub fn bitcoin_primitives::transaction::ParseOutPointError::source(&self) -> core::option::Option<&(dyn core::error::Error + 'static)> +pub fn bitcoin_primitives::transaction::Transaction::arbitrary(u: &mut arbitrary::unstructured::Unstructured<'a>) -> arbitrary::error::Result +pub fn bitcoin_primitives::transaction::Transaction::clone(&self) -> bitcoin_primitives::transaction::Transaction +pub fn bitcoin_primitives::transaction::Transaction::cmp(&self, other: &Self) -> core::cmp::Ordering +pub fn bitcoin_primitives::transaction::Transaction::compute_ntxid(&self) -> bitcoin_hashes::sha256d::Hash +pub fn bitcoin_primitives::transaction::Transaction::compute_txid(&self) -> bitcoin_primitives::transaction::Txid +pub fn bitcoin_primitives::transaction::Transaction::compute_wtxid(&self) -> bitcoin_primitives::transaction::Wtxid +pub fn bitcoin_primitives::transaction::Transaction::deserialize<__D>(__deserializer: __D) -> core::result::Result::Error> where __D: serde::de::Deserializer<'de> +pub fn bitcoin_primitives::transaction::Transaction::eq(&self, other: &bitcoin_primitives::transaction::Transaction) -> bool +pub fn bitcoin_primitives::transaction::Transaction::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_primitives::transaction::Transaction::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_primitives::transaction::Transaction::inputs(&self) -> &[bitcoin_primitives::transaction::TxIn] +pub fn bitcoin_primitives::transaction::Transaction::inputs_mut(&mut self) -> &mut [bitcoin_primitives::transaction::TxIn] +pub fn bitcoin_primitives::transaction::Transaction::outputs(&self) -> &[bitcoin_primitives::transaction::TxOut] +pub fn bitcoin_primitives::transaction::Transaction::outputs_mut(&mut self) -> &mut [bitcoin_primitives::transaction::TxOut] +pub fn bitcoin_primitives::transaction::Transaction::partial_cmp(&self, other: &Self) -> core::option::Option +pub fn bitcoin_primitives::transaction::Transaction::serialize<__S>(&self, __serializer: __S) -> core::result::Result<<__S as serde::ser::Serializer>::Ok, <__S as serde::ser::Serializer>::Error> where __S: serde::ser::Serializer +pub fn bitcoin_primitives::transaction::TxIn::arbitrary(u: &mut arbitrary::unstructured::Unstructured<'a>) -> arbitrary::error::Result +pub fn bitcoin_primitives::transaction::TxIn::clone(&self) -> bitcoin_primitives::transaction::TxIn +pub fn bitcoin_primitives::transaction::TxIn::cmp(&self, other: &bitcoin_primitives::transaction::TxIn) -> core::cmp::Ordering +pub fn bitcoin_primitives::transaction::TxIn::deserialize<__D>(__deserializer: __D) -> core::result::Result::Error> where __D: serde::de::Deserializer<'de> +pub fn bitcoin_primitives::transaction::TxIn::eq(&self, other: &bitcoin_primitives::transaction::TxIn) -> bool +pub fn bitcoin_primitives::transaction::TxIn::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_primitives::transaction::TxIn::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_primitives::transaction::TxIn::partial_cmp(&self, other: &bitcoin_primitives::transaction::TxIn) -> core::option::Option +pub fn bitcoin_primitives::transaction::TxIn::serialize<__S>(&self, __serializer: __S) -> core::result::Result<<__S as serde::ser::Serializer>::Ok, <__S as serde::ser::Serializer>::Error> where __S: serde::ser::Serializer +pub fn bitcoin_primitives::transaction::TxOut::arbitrary(u: &mut arbitrary::unstructured::Unstructured<'a>) -> arbitrary::error::Result +pub fn bitcoin_primitives::transaction::TxOut::clone(&self) -> bitcoin_primitives::transaction::TxOut +pub fn bitcoin_primitives::transaction::TxOut::cmp(&self, other: &bitcoin_primitives::transaction::TxOut) -> core::cmp::Ordering +pub fn bitcoin_primitives::transaction::TxOut::deserialize<__D>(__deserializer: __D) -> core::result::Result::Error> where __D: serde::de::Deserializer<'de> +pub fn bitcoin_primitives::transaction::TxOut::eq(&self, other: &bitcoin_primitives::transaction::TxOut) -> bool +pub fn bitcoin_primitives::transaction::TxOut::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_primitives::transaction::TxOut::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_primitives::transaction::TxOut::partial_cmp(&self, other: &bitcoin_primitives::transaction::TxOut) -> core::option::Option +pub fn bitcoin_primitives::transaction::TxOut::serialize<__S>(&self, __serializer: __S) -> core::result::Result<<__S as serde::ser::Serializer>::Ok, <__S as serde::ser::Serializer>::Error> where __S: serde::ser::Serializer +pub fn bitcoin_primitives::transaction::Txid::arbitrary(u: &mut arbitrary::unstructured::Unstructured<'a>) -> arbitrary::error::Result +pub fn bitcoin_primitives::transaction::Txid::as_byte_array(&self) -> &Self::Bytes +pub fn bitcoin_primitives::transaction::Txid::as_ref(&self) -> &[u8; 32] +pub fn bitcoin_primitives::transaction::Txid::as_ref(&self) -> &[u8] +pub fn bitcoin_primitives::transaction::Txid::borrow(&self) -> &[u8; 32] +pub fn bitcoin_primitives::transaction::Txid::borrow(&self) -> &[u8] +pub fn bitcoin_primitives::transaction::Txid::clone(&self) -> bitcoin_primitives::transaction::Txid +pub fn bitcoin_primitives::transaction::Txid::cmp(&self, other: &bitcoin_primitives::transaction::Txid) -> core::cmp::Ordering +pub fn bitcoin_primitives::transaction::Txid::deserialize>(d: D) -> core::result::Result::Error> +pub fn bitcoin_primitives::transaction::Txid::eq(&self, other: &bitcoin_primitives::transaction::Txid) -> bool +pub fn bitcoin_primitives::transaction::Txid::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_primitives::transaction::Txid::from(inner: bitcoin_hashes::sha256d::Hash) -> bitcoin_primitives::transaction::Txid +pub fn bitcoin_primitives::transaction::Txid::from(tx: &bitcoin_primitives::transaction::Transaction) -> bitcoin_primitives::transaction::Txid +pub fn bitcoin_primitives::transaction::Txid::from(tx: bitcoin_primitives::transaction::Transaction) -> bitcoin_primitives::transaction::Txid +pub fn bitcoin_primitives::transaction::Txid::from_byte_array(bytes: Self::Bytes) -> Self +pub fn bitcoin_primitives::transaction::Txid::from_slice(sl: &[u8]) -> core::result::Result +pub fn bitcoin_primitives::transaction::Txid::from_str(s: &str) -> core::result::Result +pub fn bitcoin_primitives::transaction::Txid::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_primitives::transaction::Txid::partial_cmp(&self, other: &bitcoin_primitives::transaction::Txid) -> core::option::Option +pub fn bitcoin_primitives::transaction::Txid::serialize(&self, s: S) -> core::result::Result<::Ok, ::Error> +pub fn bitcoin_primitives::transaction::Txid::to_byte_array(self) -> Self::Bytes +pub fn bitcoin_primitives::transaction::Version::arbitrary(u: &mut arbitrary::unstructured::Unstructured<'a>) -> arbitrary::error::Result +pub fn bitcoin_primitives::transaction::Version::clone(&self) -> bitcoin_primitives::transaction::Version +pub fn bitcoin_primitives::transaction::Version::cmp(&self, other: &bitcoin_primitives::transaction::Version) -> core::cmp::Ordering +pub fn bitcoin_primitives::transaction::Version::deserialize<__D>(__deserializer: __D) -> core::result::Result::Error> where __D: serde::de::Deserializer<'de> +pub fn bitcoin_primitives::transaction::Version::eq(&self, other: &bitcoin_primitives::transaction::Version) -> bool +pub fn bitcoin_primitives::transaction::Version::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_primitives::transaction::Version::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_primitives::transaction::Version::partial_cmp(&self, other: &bitcoin_primitives::transaction::Version) -> core::option::Option +pub fn bitcoin_primitives::transaction::Version::serialize<__S>(&self, __serializer: __S) -> core::result::Result<<__S as serde::ser::Serializer>::Ok, <__S as serde::ser::Serializer>::Error> where __S: serde::ser::Serializer +pub fn bitcoin_primitives::transaction::Wtxid::as_byte_array(&self) -> &Self::Bytes +pub fn bitcoin_primitives::transaction::Wtxid::as_ref(&self) -> &[u8; 32] +pub fn bitcoin_primitives::transaction::Wtxid::as_ref(&self) -> &[u8] +pub fn bitcoin_primitives::transaction::Wtxid::borrow(&self) -> &[u8; 32] +pub fn bitcoin_primitives::transaction::Wtxid::borrow(&self) -> &[u8] +pub fn bitcoin_primitives::transaction::Wtxid::clone(&self) -> bitcoin_primitives::transaction::Wtxid +pub fn bitcoin_primitives::transaction::Wtxid::cmp(&self, other: &bitcoin_primitives::transaction::Wtxid) -> core::cmp::Ordering +pub fn bitcoin_primitives::transaction::Wtxid::deserialize>(d: D) -> core::result::Result::Error> +pub fn bitcoin_primitives::transaction::Wtxid::eq(&self, other: &bitcoin_primitives::transaction::Wtxid) -> bool +pub fn bitcoin_primitives::transaction::Wtxid::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_primitives::transaction::Wtxid::from(inner: bitcoin_hashes::sha256d::Hash) -> bitcoin_primitives::transaction::Wtxid +pub fn bitcoin_primitives::transaction::Wtxid::from(tx: &bitcoin_primitives::transaction::Transaction) -> bitcoin_primitives::transaction::Wtxid +pub fn bitcoin_primitives::transaction::Wtxid::from(tx: bitcoin_primitives::transaction::Transaction) -> bitcoin_primitives::transaction::Wtxid +pub fn bitcoin_primitives::transaction::Wtxid::from_byte_array(bytes: Self::Bytes) -> Self +pub fn bitcoin_primitives::transaction::Wtxid::from_slice(sl: &[u8]) -> core::result::Result +pub fn bitcoin_primitives::transaction::Wtxid::from_str(s: &str) -> core::result::Result +pub fn bitcoin_primitives::transaction::Wtxid::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_primitives::transaction::Wtxid::partial_cmp(&self, other: &bitcoin_primitives::transaction::Wtxid) -> core::option::Option +pub fn bitcoin_primitives::transaction::Wtxid::serialize(&self, s: S) -> core::result::Result<::Ok, ::Error> +pub fn bitcoin_primitives::transaction::Wtxid::to_byte_array(self) -> Self::Bytes +pub fn bitcoin_primitives::witness::Iter<'a>::next(&mut self) -> core::option::Option +pub fn bitcoin_primitives::witness::Iter<'a>::size_hint(&self) -> (usize, core::option::Option) +pub fn bitcoin_primitives::witness::Witness::arbitrary(u: &mut arbitrary::unstructured::Unstructured<'a>) -> arbitrary::error::Result +pub fn bitcoin_primitives::witness::Witness::clear(&mut self) +pub fn bitcoin_primitives::witness::Witness::clone(&self) -> bitcoin_primitives::witness::Witness +pub fn bitcoin_primitives::witness::Witness::cmp(&self, other: &bitcoin_primitives::witness::Witness) -> core::cmp::Ordering +pub fn bitcoin_primitives::witness::Witness::default() -> Self +pub fn bitcoin_primitives::witness::Witness::deserialize(deserializer: D) -> core::result::Result::Error> where D: serde::de::Deserializer<'de> +pub fn bitcoin_primitives::witness::Witness::eq(&self, other: &bitcoin_primitives::witness::Witness) -> bool +pub fn bitcoin_primitives::witness::Witness::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::result::Result<(), core::fmt::Error> +pub fn bitcoin_primitives::witness::Witness::from(slice: &[&[u8]]) -> Self +pub fn bitcoin_primitives::witness::Witness::from(slice: &[alloc::vec::Vec]) -> Self +pub fn bitcoin_primitives::witness::Witness::from(vec: alloc::vec::Vec<&[u8]>) -> Self +pub fn bitcoin_primitives::witness::Witness::from(vec: alloc::vec::Vec>) -> Self +pub fn bitcoin_primitives::witness::Witness::from_slice>(slice: &[T]) -> Self +pub fn bitcoin_primitives::witness::Witness::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_primitives::witness::Witness::index(&self, index: usize) -> &Self::Output +pub fn bitcoin_primitives::witness::Witness::is_empty(&self) -> bool +pub fn bitcoin_primitives::witness::Witness::iter(&self) -> bitcoin_primitives::witness::Iter<'_> +pub fn bitcoin_primitives::witness::Witness::last(&self) -> core::option::Option<&[u8]> +pub fn bitcoin_primitives::witness::Witness::len(&self) -> usize +pub fn bitcoin_primitives::witness::Witness::nth(&self, index: usize) -> core::option::Option<&[u8]> +pub fn bitcoin_primitives::witness::Witness::partial_cmp(&self, other: &bitcoin_primitives::witness::Witness) -> core::option::Option +pub fn bitcoin_primitives::witness::Witness::push>(&mut self, new_element: T) +pub fn bitcoin_primitives::witness::Witness::second_to_last(&self) -> core::option::Option<&[u8]> +pub fn bitcoin_primitives::witness::Witness::serialize(&self, serializer: S) -> core::result::Result<::Ok, ::Error> where S: serde::ser::Serializer +pub fn bitcoin_primitives::witness::Witness::size(&self) -> usize +pub fn bitcoin_primitives::witness::Witness::third_to_last(&self) -> core::option::Option<&[u8]> +pub fn bitcoin_primitives::witness::Witness::to_vec(&self) -> alloc::vec::Vec> +pub fn u32::from(sequence: bitcoin_primitives::sequence::Sequence) -> u32 +pub mod bitcoin_primitives +pub mod bitcoin_primitives::absolute +pub mod bitcoin_primitives::block +pub mod bitcoin_primitives::locktime +pub mod bitcoin_primitives::locktime::absolute +pub mod bitcoin_primitives::locktime::relative +pub mod bitcoin_primitives::merkle_tree +pub mod bitcoin_primitives::opcodes +pub mod bitcoin_primitives::opcodes::all +pub mod bitcoin_primitives::pow +pub mod bitcoin_primitives::relative +pub mod bitcoin_primitives::script +pub mod bitcoin_primitives::sequence +pub mod bitcoin_primitives::taproot +pub mod bitcoin_primitives::transaction +pub mod bitcoin_primitives::witness +pub static bitcoin_primitives::opcodes::OP_0: bitcoin_primitives::opcodes::Opcode +pub static bitcoin_primitives::opcodes::OP_FALSE: bitcoin_primitives::opcodes::Opcode +pub static bitcoin_primitives::opcodes::OP_NOP2: bitcoin_primitives::opcodes::Opcode +pub static bitcoin_primitives::opcodes::OP_NOP3: bitcoin_primitives::opcodes::Opcode +pub static bitcoin_primitives::opcodes::OP_TRUE: bitcoin_primitives::opcodes::Opcode +pub struct bitcoin_primitives::Block where V: bitcoin_primitives::block::Validation +pub struct bitcoin_primitives::BlockHash(_) +pub struct bitcoin_primitives::BlockHeader +pub struct bitcoin_primitives::CompactTarget(_) +pub struct bitcoin_primitives::Sequence(pub u32) +pub struct bitcoin_primitives::TapBranchTag +pub struct bitcoin_primitives::TapLeafHash(_) +pub struct bitcoin_primitives::TapLeafTag +pub struct bitcoin_primitives::TapNodeHash(_) +pub struct bitcoin_primitives::TapTweakHash(_) +pub struct bitcoin_primitives::TapTweakTag +pub struct bitcoin_primitives::Transaction +pub struct bitcoin_primitives::TxIn +pub struct bitcoin_primitives::TxMerkleNode(_) +pub struct bitcoin_primitives::TxOut +pub struct bitcoin_primitives::Txid(_) +pub struct bitcoin_primitives::Witness +pub struct bitcoin_primitives::WitnessCommitment(_) +pub struct bitcoin_primitives::WitnessMerkleNode(_) +pub struct bitcoin_primitives::Wtxid(_) +pub struct bitcoin_primitives::block::Block where V: bitcoin_primitives::block::Validation +pub struct bitcoin_primitives::block::BlockHash(_) +pub struct bitcoin_primitives::block::Header +pub struct bitcoin_primitives::block::Version(_) +pub struct bitcoin_primitives::block::WitnessCommitment(_) +pub struct bitcoin_primitives::locktime::relative::DisabledLockTimeError(_) +pub struct bitcoin_primitives::merkle_tree::TxMerkleNode(_) +pub struct bitcoin_primitives::merkle_tree::WitnessMerkleNode(_) +pub struct bitcoin_primitives::opcodes::Opcode +pub struct bitcoin_primitives::pow::CompactTarget(_) +pub struct bitcoin_primitives::relative::DisabledLockTimeError(_) +pub struct bitcoin_primitives::script::ScriptBuf(_) +pub struct bitcoin_primitives::sequence::Sequence(pub u32) +pub struct bitcoin_primitives::taproot::TapBranchTag +pub struct bitcoin_primitives::taproot::TapLeafHash(_) +pub struct bitcoin_primitives::taproot::TapLeafTag +pub struct bitcoin_primitives::taproot::TapNodeHash(_) +pub struct bitcoin_primitives::taproot::TapTweakHash(_) +pub struct bitcoin_primitives::taproot::TapTweakTag +pub struct bitcoin_primitives::transaction::OutPoint +pub struct bitcoin_primitives::transaction::Transaction +pub struct bitcoin_primitives::transaction::TxIn +pub struct bitcoin_primitives::transaction::TxOut +pub struct bitcoin_primitives::transaction::Txid(_) +pub struct bitcoin_primitives::transaction::Version(pub i32) +pub struct bitcoin_primitives::transaction::Wtxid(_) +pub struct bitcoin_primitives::witness::Iter<'a> +pub struct bitcoin_primitives::witness::Witness +pub trait bitcoin_primitives::BlockValidation: sealed::Validation + core::marker::Sync + core::marker::Send + core::marker::Sized + core::marker::Unpin +pub trait bitcoin_primitives::block::Validation: sealed::Validation + core::marker::Sync + core::marker::Send + core::marker::Sized + core::marker::Unpin +pub type &'a bitcoin_primitives::witness::Witness::IntoIter = bitcoin_primitives::witness::Iter<'a> +pub type &'a bitcoin_primitives::witness::Witness::Item = &'a [u8] +pub type bitcoin_primitives::block::BlockHash::Bytes = ::Bytes +pub type bitcoin_primitives::block::BlockHash::Err = hex_conservative::error::HexToArrayError +pub type bitcoin_primitives::block::WitnessCommitment::Bytes = ::Bytes +pub type bitcoin_primitives::block::WitnessCommitment::Err = hex_conservative::error::HexToArrayError +pub type bitcoin_primitives::locktime::absolute::LockTime::Err = bitcoin_units::parse::ParseIntError +pub type bitcoin_primitives::locktime::absolute::LockTime::Error = bitcoin_units::parse::ParseIntError +pub type bitcoin_primitives::locktime::relative::LockTime::Error = bitcoin_primitives::locktime::relative::DisabledLockTimeError +pub type bitcoin_primitives::merkle_tree::TxMerkleNode::Bytes = ::Bytes +pub type bitcoin_primitives::merkle_tree::TxMerkleNode::Err = hex_conservative::error::HexToArrayError +pub type bitcoin_primitives::merkle_tree::WitnessMerkleNode::Bytes = ::Bytes +pub type bitcoin_primitives::merkle_tree::WitnessMerkleNode::Err = hex_conservative::error::HexToArrayError +pub type bitcoin_primitives::script::Script::Output = bitcoin_primitives::script::Script +pub type bitcoin_primitives::script::Script::Owned = bitcoin_primitives::script::ScriptBuf +pub type bitcoin_primitives::script::ScriptBuf::Target = bitcoin_primitives::script::Script +pub type bitcoin_primitives::sequence::Sequence::Err = bitcoin_units::parse::ParseIntError +pub type bitcoin_primitives::sequence::Sequence::Error = bitcoin_units::parse::ParseIntError +pub type bitcoin_primitives::taproot::TapLeafHash::Bytes = as bitcoin_hashes::Hash>::Bytes +pub type bitcoin_primitives::taproot::TapLeafHash::Err = hex_conservative::error::HexToArrayError +pub type bitcoin_primitives::taproot::TapNodeHash::Bytes = as bitcoin_hashes::Hash>::Bytes +pub type bitcoin_primitives::taproot::TapNodeHash::Err = hex_conservative::error::HexToArrayError +pub type bitcoin_primitives::taproot::TapTweakHash::Bytes = as bitcoin_hashes::Hash>::Bytes +pub type bitcoin_primitives::taproot::TapTweakHash::Err = hex_conservative::error::HexToArrayError +pub type bitcoin_primitives::transaction::OutPoint::Err = bitcoin_primitives::transaction::ParseOutPointError +pub type bitcoin_primitives::transaction::Txid::Bytes = ::Bytes +pub type bitcoin_primitives::transaction::Txid::Err = hex_conservative::error::HexToArrayError +pub type bitcoin_primitives::transaction::Wtxid::Bytes = ::Bytes +pub type bitcoin_primitives::transaction::Wtxid::Err = hex_conservative::error::HexToArrayError +pub type bitcoin_primitives::witness::Iter<'a>::Item = &'a [u8] +pub type bitcoin_primitives::witness::Witness::Output = [u8] +pub use bitcoin_primitives::Amount +pub use bitcoin_primitives::BlockHeight +pub use bitcoin_primitives::BlockInterval +pub use bitcoin_primitives::FeeRate +pub use bitcoin_primitives::SignedAmount +pub use bitcoin_primitives::Weight +pub use bitcoin_primitives::absolute::ConversionError +pub use bitcoin_primitives::absolute::Height +pub use bitcoin_primitives::absolute::LOCK_TIME_THRESHOLD +pub use bitcoin_primitives::absolute::ParseHeightError +pub use bitcoin_primitives::absolute::ParseTimeError +pub use bitcoin_primitives::absolute::Time +pub use bitcoin_primitives::amount +pub use bitcoin_primitives::fee_rate +pub use bitcoin_primitives::locktime::absolute::ConversionError +pub use bitcoin_primitives::locktime::absolute::Height +pub use bitcoin_primitives::locktime::absolute::LOCK_TIME_THRESHOLD +pub use bitcoin_primitives::locktime::absolute::ParseHeightError +pub use bitcoin_primitives::locktime::absolute::ParseTimeError +pub use bitcoin_primitives::locktime::absolute::Time +pub use bitcoin_primitives::locktime::relative::Height +pub use bitcoin_primitives::locktime::relative::Time +pub use bitcoin_primitives::locktime::relative::TimeOverflowError +pub use bitcoin_primitives::relative::Height +pub use bitcoin_primitives::relative::Time +pub use bitcoin_primitives::relative::TimeOverflowError +pub use bitcoin_primitives::weight diff --git a/api/primitives/alloc-only.txt b/api/primitives/alloc-only.txt new file mode 100644 index 0000000000..02441de462 --- /dev/null +++ b/api/primitives/alloc-only.txt @@ -0,0 +1,1740 @@ +#[non_exhaustive] pub enum bitcoin_primitives::transaction::ParseOutPointError +#[non_exhaustive] pub struct bitcoin_primitives::locktime::relative::IncompatibleHeightError +#[non_exhaustive] pub struct bitcoin_primitives::locktime::relative::IncompatibleTimeError +#[non_exhaustive] pub struct bitcoin_primitives::relative::IncompatibleHeightError +#[non_exhaustive] pub struct bitcoin_primitives::relative::IncompatibleTimeError +#[repr(transparent)] pub struct bitcoin_primitives::script::Script(_) +impl !core::marker::Sized for bitcoin_primitives::script::Script +impl alloc::borrow::ToOwned for bitcoin_primitives::script::Script +impl bitcoin_hashes::Hash for bitcoin_primitives::block::BlockHash +impl bitcoin_hashes::Hash for bitcoin_primitives::block::WitnessCommitment +impl bitcoin_hashes::Hash for bitcoin_primitives::merkle_tree::TxMerkleNode +impl bitcoin_hashes::Hash for bitcoin_primitives::merkle_tree::WitnessMerkleNode +impl bitcoin_hashes::Hash for bitcoin_primitives::taproot::TapLeafHash +impl bitcoin_hashes::Hash for bitcoin_primitives::taproot::TapNodeHash +impl bitcoin_hashes::Hash for bitcoin_primitives::taproot::TapTweakHash +impl bitcoin_hashes::Hash for bitcoin_primitives::transaction::Txid +impl bitcoin_hashes::Hash for bitcoin_primitives::transaction::Wtxid +impl bitcoin_hashes::sha256t::Tag for bitcoin_primitives::taproot::TapBranchTag +impl bitcoin_hashes::sha256t::Tag for bitcoin_primitives::taproot::TapLeafTag +impl bitcoin_hashes::sha256t::Tag for bitcoin_primitives::taproot::TapTweakTag +impl bitcoin_primitives::block::Block +impl bitcoin_primitives::block::Block +impl bitcoin_primitives::block::BlockHash +impl bitcoin_primitives::block::Header +impl bitcoin_primitives::block::Validation for bitcoin_primitives::block::Checked +impl bitcoin_primitives::block::Validation for bitcoin_primitives::block::Unchecked +impl bitcoin_primitives::block::Version +impl bitcoin_primitives::block::WitnessCommitment +impl bitcoin_primitives::locktime::absolute::LockTime +impl bitcoin_primitives::locktime::relative::DisabledLockTimeError +impl bitcoin_primitives::locktime::relative::LockTime +impl bitcoin_primitives::merkle_tree::TxMerkleNode +impl bitcoin_primitives::merkle_tree::WitnessMerkleNode +impl bitcoin_primitives::opcodes::Opcode +impl bitcoin_primitives::pow::CompactTarget +impl bitcoin_primitives::script::Script +impl bitcoin_primitives::script::ScriptBuf +impl bitcoin_primitives::sequence::Sequence +impl bitcoin_primitives::taproot::TapLeafHash +impl bitcoin_primitives::taproot::TapNodeHash +impl bitcoin_primitives::taproot::TapTweakHash +impl bitcoin_primitives::transaction::OutPoint +impl bitcoin_primitives::transaction::Transaction +impl bitcoin_primitives::transaction::TxIn +impl bitcoin_primitives::transaction::TxOut +impl bitcoin_primitives::transaction::Txid +impl bitcoin_primitives::transaction::Version +impl bitcoin_primitives::transaction::Wtxid +impl bitcoin_primitives::witness::Witness +impl core::borrow::Borrow<[u8; 32]> for bitcoin_primitives::block::BlockHash +impl core::borrow::Borrow<[u8; 32]> for bitcoin_primitives::block::WitnessCommitment +impl core::borrow::Borrow<[u8; 32]> for bitcoin_primitives::merkle_tree::TxMerkleNode +impl core::borrow::Borrow<[u8; 32]> for bitcoin_primitives::merkle_tree::WitnessMerkleNode +impl core::borrow::Borrow<[u8; 32]> for bitcoin_primitives::taproot::TapLeafHash +impl core::borrow::Borrow<[u8; 32]> for bitcoin_primitives::taproot::TapNodeHash +impl core::borrow::Borrow<[u8; 32]> for bitcoin_primitives::taproot::TapTweakHash +impl core::borrow::Borrow<[u8; 32]> for bitcoin_primitives::transaction::Txid +impl core::borrow::Borrow<[u8; 32]> for bitcoin_primitives::transaction::Wtxid +impl core::borrow::Borrow<[u8]> for bitcoin_primitives::block::BlockHash +impl core::borrow::Borrow<[u8]> for bitcoin_primitives::block::WitnessCommitment +impl core::borrow::Borrow<[u8]> for bitcoin_primitives::merkle_tree::TxMerkleNode +impl core::borrow::Borrow<[u8]> for bitcoin_primitives::merkle_tree::WitnessMerkleNode +impl core::borrow::Borrow<[u8]> for bitcoin_primitives::taproot::TapLeafHash +impl core::borrow::Borrow<[u8]> for bitcoin_primitives::taproot::TapNodeHash +impl core::borrow::Borrow<[u8]> for bitcoin_primitives::taproot::TapTweakHash +impl core::borrow::Borrow<[u8]> for bitcoin_primitives::transaction::Txid +impl core::borrow::Borrow<[u8]> for bitcoin_primitives::transaction::Wtxid +impl core::borrow::Borrow for bitcoin_primitives::script::ScriptBuf +impl core::borrow::BorrowMut for bitcoin_primitives::script::ScriptBuf +impl core::clone::Clone for bitcoin_primitives::block::BlockHash +impl core::clone::Clone for bitcoin_primitives::block::Checked +impl core::clone::Clone for bitcoin_primitives::block::Header +impl core::clone::Clone for bitcoin_primitives::block::Unchecked +impl core::clone::Clone for bitcoin_primitives::block::Version +impl core::clone::Clone for bitcoin_primitives::block::WitnessCommitment +impl core::clone::Clone for bitcoin_primitives::locktime::absolute::LockTime +impl core::clone::Clone for bitcoin_primitives::locktime::relative::DisabledLockTimeError +impl core::clone::Clone for bitcoin_primitives::locktime::relative::IncompatibleHeightError +impl core::clone::Clone for bitcoin_primitives::locktime::relative::IncompatibleTimeError +impl core::clone::Clone for bitcoin_primitives::locktime::relative::LockTime +impl core::clone::Clone for bitcoin_primitives::merkle_tree::TxMerkleNode +impl core::clone::Clone for bitcoin_primitives::merkle_tree::WitnessMerkleNode +impl core::clone::Clone for bitcoin_primitives::opcodes::Class +impl core::clone::Clone for bitcoin_primitives::opcodes::ClassifyContext +impl core::clone::Clone for bitcoin_primitives::opcodes::Opcode +impl core::clone::Clone for bitcoin_primitives::pow::CompactTarget +impl core::clone::Clone for bitcoin_primitives::script::ScriptBuf +impl core::clone::Clone for bitcoin_primitives::sequence::Sequence +impl core::clone::Clone for bitcoin_primitives::taproot::TapBranchTag +impl core::clone::Clone for bitcoin_primitives::taproot::TapLeafHash +impl core::clone::Clone for bitcoin_primitives::taproot::TapLeafTag +impl core::clone::Clone for bitcoin_primitives::taproot::TapNodeHash +impl core::clone::Clone for bitcoin_primitives::taproot::TapTweakHash +impl core::clone::Clone for bitcoin_primitives::taproot::TapTweakTag +impl core::clone::Clone for bitcoin_primitives::transaction::OutPoint +impl core::clone::Clone for bitcoin_primitives::transaction::ParseOutPointError +impl core::clone::Clone for bitcoin_primitives::transaction::Transaction +impl core::clone::Clone for bitcoin_primitives::transaction::TxIn +impl core::clone::Clone for bitcoin_primitives::transaction::TxOut +impl core::clone::Clone for bitcoin_primitives::transaction::Txid +impl core::clone::Clone for bitcoin_primitives::transaction::Version +impl core::clone::Clone for bitcoin_primitives::transaction::Wtxid +impl core::clone::Clone for bitcoin_primitives::witness::Witness +impl core::cmp::Eq for bitcoin_primitives::block::BlockHash +impl core::cmp::Eq for bitcoin_primitives::block::Checked +impl core::cmp::Eq for bitcoin_primitives::block::Header +impl core::cmp::Eq for bitcoin_primitives::block::Unchecked +impl core::cmp::Eq for bitcoin_primitives::block::Version +impl core::cmp::Eq for bitcoin_primitives::block::WitnessCommitment +impl core::cmp::Eq for bitcoin_primitives::locktime::absolute::LockTime +impl core::cmp::Eq for bitcoin_primitives::locktime::relative::DisabledLockTimeError +impl core::cmp::Eq for bitcoin_primitives::locktime::relative::IncompatibleHeightError +impl core::cmp::Eq for bitcoin_primitives::locktime::relative::IncompatibleTimeError +impl core::cmp::Eq for bitcoin_primitives::locktime::relative::LockTime +impl core::cmp::Eq for bitcoin_primitives::merkle_tree::TxMerkleNode +impl core::cmp::Eq for bitcoin_primitives::merkle_tree::WitnessMerkleNode +impl core::cmp::Eq for bitcoin_primitives::opcodes::Class +impl core::cmp::Eq for bitcoin_primitives::opcodes::ClassifyContext +impl core::cmp::Eq for bitcoin_primitives::opcodes::Opcode +impl core::cmp::Eq for bitcoin_primitives::pow::CompactTarget +impl core::cmp::Eq for bitcoin_primitives::script::Script +impl core::cmp::Eq for bitcoin_primitives::script::ScriptBuf +impl core::cmp::Eq for bitcoin_primitives::sequence::Sequence +impl core::cmp::Eq for bitcoin_primitives::taproot::TapBranchTag +impl core::cmp::Eq for bitcoin_primitives::taproot::TapLeafHash +impl core::cmp::Eq for bitcoin_primitives::taproot::TapLeafTag +impl core::cmp::Eq for bitcoin_primitives::taproot::TapNodeHash +impl core::cmp::Eq for bitcoin_primitives::taproot::TapTweakHash +impl core::cmp::Eq for bitcoin_primitives::taproot::TapTweakTag +impl core::cmp::Eq for bitcoin_primitives::transaction::OutPoint +impl core::cmp::Eq for bitcoin_primitives::transaction::ParseOutPointError +impl core::cmp::Eq for bitcoin_primitives::transaction::Transaction +impl core::cmp::Eq for bitcoin_primitives::transaction::TxIn +impl core::cmp::Eq for bitcoin_primitives::transaction::TxOut +impl core::cmp::Eq for bitcoin_primitives::transaction::Txid +impl core::cmp::Eq for bitcoin_primitives::transaction::Version +impl core::cmp::Eq for bitcoin_primitives::transaction::Wtxid +impl core::cmp::Eq for bitcoin_primitives::witness::Witness +impl core::cmp::Ord for bitcoin_primitives::block::BlockHash +impl core::cmp::Ord for bitcoin_primitives::block::Checked +impl core::cmp::Ord for bitcoin_primitives::block::Header +impl core::cmp::Ord for bitcoin_primitives::block::Unchecked +impl core::cmp::Ord for bitcoin_primitives::block::Version +impl core::cmp::Ord for bitcoin_primitives::block::WitnessCommitment +impl core::cmp::Ord for bitcoin_primitives::merkle_tree::TxMerkleNode +impl core::cmp::Ord for bitcoin_primitives::merkle_tree::WitnessMerkleNode +impl core::cmp::Ord for bitcoin_primitives::opcodes::ClassifyContext +impl core::cmp::Ord for bitcoin_primitives::pow::CompactTarget +impl core::cmp::Ord for bitcoin_primitives::script::Script +impl core::cmp::Ord for bitcoin_primitives::script::ScriptBuf +impl core::cmp::Ord for bitcoin_primitives::sequence::Sequence +impl core::cmp::Ord for bitcoin_primitives::taproot::TapBranchTag +impl core::cmp::Ord for bitcoin_primitives::taproot::TapLeafHash +impl core::cmp::Ord for bitcoin_primitives::taproot::TapLeafTag +impl core::cmp::Ord for bitcoin_primitives::taproot::TapNodeHash +impl core::cmp::Ord for bitcoin_primitives::taproot::TapTweakHash +impl core::cmp::Ord for bitcoin_primitives::taproot::TapTweakTag +impl core::cmp::Ord for bitcoin_primitives::transaction::OutPoint +impl core::cmp::Ord for bitcoin_primitives::transaction::Transaction +impl core::cmp::Ord for bitcoin_primitives::transaction::TxIn +impl core::cmp::Ord for bitcoin_primitives::transaction::TxOut +impl core::cmp::Ord for bitcoin_primitives::transaction::Txid +impl core::cmp::Ord for bitcoin_primitives::transaction::Version +impl core::cmp::Ord for bitcoin_primitives::transaction::Wtxid +impl core::cmp::Ord for bitcoin_primitives::witness::Witness +impl core::cmp::PartialEq for bitcoin_primitives::block::BlockHash +impl core::cmp::PartialEq for bitcoin_primitives::block::Checked +impl core::cmp::PartialEq for bitcoin_primitives::block::Header +impl core::cmp::PartialEq for bitcoin_primitives::block::Unchecked +impl core::cmp::PartialEq for bitcoin_primitives::block::Version +impl core::cmp::PartialEq for bitcoin_primitives::block::WitnessCommitment +impl core::cmp::PartialEq for bitcoin_primitives::locktime::absolute::LockTime +impl core::cmp::PartialEq for bitcoin_primitives::locktime::relative::DisabledLockTimeError +impl core::cmp::PartialEq for bitcoin_primitives::locktime::relative::IncompatibleHeightError +impl core::cmp::PartialEq for bitcoin_primitives::locktime::relative::IncompatibleTimeError +impl core::cmp::PartialEq for bitcoin_primitives::locktime::relative::LockTime +impl core::cmp::PartialEq for bitcoin_primitives::merkle_tree::TxMerkleNode +impl core::cmp::PartialEq for bitcoin_primitives::merkle_tree::WitnessMerkleNode +impl core::cmp::PartialEq for bitcoin_primitives::opcodes::Class +impl core::cmp::PartialEq for bitcoin_primitives::opcodes::ClassifyContext +impl core::cmp::PartialEq for bitcoin_primitives::opcodes::Opcode +impl core::cmp::PartialEq for bitcoin_primitives::pow::CompactTarget +impl core::cmp::PartialEq for bitcoin_primitives::script::Script +impl core::cmp::PartialEq for bitcoin_primitives::script::ScriptBuf +impl core::cmp::PartialEq for bitcoin_primitives::sequence::Sequence +impl core::cmp::PartialEq for bitcoin_primitives::taproot::TapBranchTag +impl core::cmp::PartialEq for bitcoin_primitives::taproot::TapLeafHash +impl core::cmp::PartialEq for bitcoin_primitives::taproot::TapLeafTag +impl core::cmp::PartialEq for bitcoin_primitives::taproot::TapNodeHash +impl core::cmp::PartialEq for bitcoin_primitives::taproot::TapTweakHash +impl core::cmp::PartialEq for bitcoin_primitives::taproot::TapTweakTag +impl core::cmp::PartialEq for bitcoin_primitives::transaction::OutPoint +impl core::cmp::PartialEq for bitcoin_primitives::transaction::ParseOutPointError +impl core::cmp::PartialEq for bitcoin_primitives::transaction::Transaction +impl core::cmp::PartialEq for bitcoin_primitives::transaction::TxIn +impl core::cmp::PartialEq for bitcoin_primitives::transaction::TxOut +impl core::cmp::PartialEq for bitcoin_primitives::transaction::Txid +impl core::cmp::PartialEq for bitcoin_primitives::transaction::Version +impl core::cmp::PartialEq for bitcoin_primitives::transaction::Wtxid +impl core::cmp::PartialEq for bitcoin_primitives::witness::Witness +impl core::cmp::PartialEq for bitcoin_primitives::script::ScriptBuf +impl core::cmp::PartialEq for bitcoin_primitives::script::Script +impl core::cmp::PartialOrd for bitcoin_primitives::block::BlockHash +impl core::cmp::PartialOrd for bitcoin_primitives::block::Checked +impl core::cmp::PartialOrd for bitcoin_primitives::block::Header +impl core::cmp::PartialOrd for bitcoin_primitives::block::Unchecked +impl core::cmp::PartialOrd for bitcoin_primitives::block::Version +impl core::cmp::PartialOrd for bitcoin_primitives::block::WitnessCommitment +impl core::cmp::PartialOrd for bitcoin_primitives::locktime::absolute::LockTime +impl core::cmp::PartialOrd for bitcoin_primitives::locktime::relative::LockTime +impl core::cmp::PartialOrd for bitcoin_primitives::merkle_tree::TxMerkleNode +impl core::cmp::PartialOrd for bitcoin_primitives::merkle_tree::WitnessMerkleNode +impl core::cmp::PartialOrd for bitcoin_primitives::opcodes::ClassifyContext +impl core::cmp::PartialOrd for bitcoin_primitives::pow::CompactTarget +impl core::cmp::PartialOrd for bitcoin_primitives::script::Script +impl core::cmp::PartialOrd for bitcoin_primitives::script::ScriptBuf +impl core::cmp::PartialOrd for bitcoin_primitives::sequence::Sequence +impl core::cmp::PartialOrd for bitcoin_primitives::taproot::TapBranchTag +impl core::cmp::PartialOrd for bitcoin_primitives::taproot::TapLeafHash +impl core::cmp::PartialOrd for bitcoin_primitives::taproot::TapLeafTag +impl core::cmp::PartialOrd for bitcoin_primitives::taproot::TapNodeHash +impl core::cmp::PartialOrd for bitcoin_primitives::taproot::TapTweakHash +impl core::cmp::PartialOrd for bitcoin_primitives::taproot::TapTweakTag +impl core::cmp::PartialOrd for bitcoin_primitives::transaction::OutPoint +impl core::cmp::PartialOrd for bitcoin_primitives::transaction::Transaction +impl core::cmp::PartialOrd for bitcoin_primitives::transaction::TxIn +impl core::cmp::PartialOrd for bitcoin_primitives::transaction::TxOut +impl core::cmp::PartialOrd for bitcoin_primitives::transaction::Txid +impl core::cmp::PartialOrd for bitcoin_primitives::transaction::Version +impl core::cmp::PartialOrd for bitcoin_primitives::transaction::Wtxid +impl core::cmp::PartialOrd for bitcoin_primitives::witness::Witness +impl core::cmp::PartialOrd for bitcoin_primitives::script::ScriptBuf +impl core::cmp::PartialOrd for bitcoin_primitives::script::Script +impl core::convert::AsMut<[u8]> for bitcoin_primitives::script::Script +impl core::convert::AsMut<[u8]> for bitcoin_primitives::script::ScriptBuf +impl core::convert::AsMut for bitcoin_primitives::script::Script +impl core::convert::AsMut for bitcoin_primitives::script::ScriptBuf +impl core::convert::AsRef<[u8; 32]> for bitcoin_primitives::block::BlockHash +impl core::convert::AsRef<[u8; 32]> for bitcoin_primitives::block::WitnessCommitment +impl core::convert::AsRef<[u8; 32]> for bitcoin_primitives::merkle_tree::TxMerkleNode +impl core::convert::AsRef<[u8; 32]> for bitcoin_primitives::merkle_tree::WitnessMerkleNode +impl core::convert::AsRef<[u8; 32]> for bitcoin_primitives::taproot::TapLeafHash +impl core::convert::AsRef<[u8; 32]> for bitcoin_primitives::taproot::TapNodeHash +impl core::convert::AsRef<[u8; 32]> for bitcoin_primitives::taproot::TapTweakHash +impl core::convert::AsRef<[u8; 32]> for bitcoin_primitives::transaction::Txid +impl core::convert::AsRef<[u8; 32]> for bitcoin_primitives::transaction::Wtxid +impl core::convert::AsRef<[u8]> for bitcoin_primitives::block::BlockHash +impl core::convert::AsRef<[u8]> for bitcoin_primitives::block::WitnessCommitment +impl core::convert::AsRef<[u8]> for bitcoin_primitives::merkle_tree::TxMerkleNode +impl core::convert::AsRef<[u8]> for bitcoin_primitives::merkle_tree::WitnessMerkleNode +impl core::convert::AsRef<[u8]> for bitcoin_primitives::script::Script +impl core::convert::AsRef<[u8]> for bitcoin_primitives::script::ScriptBuf +impl core::convert::AsRef<[u8]> for bitcoin_primitives::taproot::TapLeafHash +impl core::convert::AsRef<[u8]> for bitcoin_primitives::taproot::TapNodeHash +impl core::convert::AsRef<[u8]> for bitcoin_primitives::taproot::TapTweakHash +impl core::convert::AsRef<[u8]> for bitcoin_primitives::transaction::Txid +impl core::convert::AsRef<[u8]> for bitcoin_primitives::transaction::Wtxid +impl core::convert::AsRef for bitcoin_primitives::script::Script +impl core::convert::AsRef for bitcoin_primitives::script::ScriptBuf +impl core::convert::From<&[&[u8]]> for bitcoin_primitives::witness::Witness +impl core::convert::From<&[alloc::vec::Vec]> for bitcoin_primitives::witness::Witness +impl core::convert::From<&bitcoin_primitives::block::Block> for bitcoin_primitives::block::BlockHash +impl core::convert::From<&bitcoin_primitives::block::Header> for bitcoin_primitives::block::BlockHash +impl core::convert::From<&bitcoin_primitives::transaction::Transaction> for bitcoin_primitives::transaction::Txid +impl core::convert::From<&bitcoin_primitives::transaction::Transaction> for bitcoin_primitives::transaction::Wtxid +impl core::convert::From> for bitcoin_primitives::witness::Witness +impl core::convert::From>> for bitcoin_primitives::witness::Witness +impl core::convert::From> for bitcoin_primitives::script::ScriptBuf +impl core::convert::From for bitcoin_primitives::block::BlockHash +impl core::convert::From for bitcoin_primitives::block::WitnessCommitment +impl core::convert::From for bitcoin_primitives::merkle_tree::TxMerkleNode +impl core::convert::From for bitcoin_primitives::merkle_tree::WitnessMerkleNode +impl core::convert::From for bitcoin_primitives::transaction::Txid +impl core::convert::From for bitcoin_primitives::transaction::Wtxid +impl core::convert::From> for bitcoin_primitives::taproot::TapNodeHash +impl core::convert::From> for bitcoin_primitives::taproot::TapLeafHash +impl core::convert::From> for bitcoin_primitives::taproot::TapTweakHash +impl core::convert::From for bitcoin_primitives::block::BlockHash +impl core::convert::From for bitcoin_hashes::sha256d::Hash +impl core::convert::From for bitcoin_primitives::block::BlockHash +impl core::convert::From for bitcoin_hashes::sha256d::Hash +impl core::convert::From for bitcoin_primitives::sequence::Sequence +impl core::convert::From for bitcoin_hashes::sha256d::Hash +impl core::convert::From for bitcoin_hashes::sha256d::Hash +impl core::convert::From for alloc::borrow::Cow<'_, bitcoin_primitives::script::Script> +impl core::convert::From for alloc::boxed::Box +impl core::convert::From for alloc::vec::Vec +impl core::convert::From for u32 +impl core::convert::From for bitcoin_hashes::sha256t::Hash +impl core::convert::From for bitcoin_primitives::taproot::TapNodeHash +impl core::convert::From for bitcoin_hashes::sha256t::Hash +impl core::convert::From for bitcoin_hashes::sha256t::Hash +impl core::convert::From for bitcoin_primitives::transaction::Txid +impl core::convert::From for bitcoin_primitives::transaction::Wtxid +impl core::convert::From for bitcoin_hashes::sha256d::Hash +impl core::convert::From for bitcoin_hashes::sha256d::Hash +impl core::convert::From for bitcoin_primitives::locktime::absolute::LockTime +impl core::convert::From for bitcoin_primitives::locktime::absolute::LockTime +impl core::convert::From for bitcoin_primitives::locktime::relative::LockTime +impl core::convert::From for bitcoin_primitives::locktime::relative::LockTime +impl core::convert::From for bitcoin_primitives::transaction::ParseOutPointError +impl core::convert::From for bitcoin_primitives::opcodes::Opcode +impl core::convert::TryFrom<&str> for bitcoin_primitives::locktime::absolute::LockTime +impl core::convert::TryFrom<&str> for bitcoin_primitives::sequence::Sequence +impl core::convert::TryFrom> for bitcoin_primitives::locktime::absolute::LockTime +impl core::convert::TryFrom> for bitcoin_primitives::sequence::Sequence +impl core::convert::TryFrom for bitcoin_primitives::locktime::absolute::LockTime +impl core::convert::TryFrom for bitcoin_primitives::sequence::Sequence +impl core::convert::TryFrom for bitcoin_primitives::locktime::relative::LockTime +impl core::default::Default for bitcoin_primitives::block::Version +impl core::default::Default for bitcoin_primitives::pow::CompactTarget +impl core::default::Default for bitcoin_primitives::script::ScriptBuf +impl core::default::Default for bitcoin_primitives::sequence::Sequence +impl core::default::Default for bitcoin_primitives::taproot::TapBranchTag +impl core::default::Default for bitcoin_primitives::taproot::TapLeafTag +impl core::default::Default for bitcoin_primitives::taproot::TapTweakTag +impl core::default::Default for bitcoin_primitives::witness::Witness +impl core::fmt::Debug for bitcoin_primitives::block::BlockHash +impl core::fmt::Debug for bitcoin_primitives::block::Checked +impl core::fmt::Debug for bitcoin_primitives::block::Header +impl core::fmt::Debug for bitcoin_primitives::block::Unchecked +impl core::fmt::Debug for bitcoin_primitives::block::Version +impl core::fmt::Debug for bitcoin_primitives::block::WitnessCommitment +impl core::fmt::Debug for bitcoin_primitives::locktime::absolute::LockTime +impl core::fmt::Debug for bitcoin_primitives::locktime::relative::DisabledLockTimeError +impl core::fmt::Debug for bitcoin_primitives::locktime::relative::IncompatibleHeightError +impl core::fmt::Debug for bitcoin_primitives::locktime::relative::IncompatibleTimeError +impl core::fmt::Debug for bitcoin_primitives::locktime::relative::LockTime +impl core::fmt::Debug for bitcoin_primitives::merkle_tree::TxMerkleNode +impl core::fmt::Debug for bitcoin_primitives::merkle_tree::WitnessMerkleNode +impl core::fmt::Debug for bitcoin_primitives::opcodes::Class +impl core::fmt::Debug for bitcoin_primitives::opcodes::ClassifyContext +impl core::fmt::Debug for bitcoin_primitives::opcodes::Opcode +impl core::fmt::Debug for bitcoin_primitives::pow::CompactTarget +impl core::fmt::Debug for bitcoin_primitives::script::Script +impl core::fmt::Debug for bitcoin_primitives::script::ScriptBuf +impl core::fmt::Debug for bitcoin_primitives::sequence::Sequence +impl core::fmt::Debug for bitcoin_primitives::taproot::TapLeafHash +impl core::fmt::Debug for bitcoin_primitives::taproot::TapNodeHash +impl core::fmt::Debug for bitcoin_primitives::taproot::TapTweakHash +impl core::fmt::Debug for bitcoin_primitives::transaction::OutPoint +impl core::fmt::Debug for bitcoin_primitives::transaction::ParseOutPointError +impl core::fmt::Debug for bitcoin_primitives::transaction::Transaction +impl core::fmt::Debug for bitcoin_primitives::transaction::TxIn +impl core::fmt::Debug for bitcoin_primitives::transaction::TxOut +impl core::fmt::Debug for bitcoin_primitives::transaction::Txid +impl core::fmt::Debug for bitcoin_primitives::transaction::Version +impl core::fmt::Debug for bitcoin_primitives::transaction::Wtxid +impl core::fmt::Debug for bitcoin_primitives::witness::Witness +impl core::fmt::Display for bitcoin_primitives::block::BlockHash +impl core::fmt::Display for bitcoin_primitives::block::WitnessCommitment +impl core::fmt::Display for bitcoin_primitives::locktime::absolute::LockTime +impl core::fmt::Display for bitcoin_primitives::locktime::relative::DisabledLockTimeError +impl core::fmt::Display for bitcoin_primitives::locktime::relative::IncompatibleHeightError +impl core::fmt::Display for bitcoin_primitives::locktime::relative::IncompatibleTimeError +impl core::fmt::Display for bitcoin_primitives::locktime::relative::LockTime +impl core::fmt::Display for bitcoin_primitives::merkle_tree::TxMerkleNode +impl core::fmt::Display for bitcoin_primitives::merkle_tree::WitnessMerkleNode +impl core::fmt::Display for bitcoin_primitives::opcodes::Opcode +impl core::fmt::Display for bitcoin_primitives::script::Script +impl core::fmt::Display for bitcoin_primitives::script::ScriptBuf +impl core::fmt::Display for bitcoin_primitives::sequence::Sequence +impl core::fmt::Display for bitcoin_primitives::taproot::TapLeafHash +impl core::fmt::Display for bitcoin_primitives::taproot::TapNodeHash +impl core::fmt::Display for bitcoin_primitives::taproot::TapTweakHash +impl core::fmt::Display for bitcoin_primitives::transaction::OutPoint +impl core::fmt::Display for bitcoin_primitives::transaction::ParseOutPointError +impl core::fmt::Display for bitcoin_primitives::transaction::Txid +impl core::fmt::Display for bitcoin_primitives::transaction::Version +impl core::fmt::Display for bitcoin_primitives::transaction::Wtxid +impl core::fmt::LowerHex for bitcoin_primitives::block::BlockHash +impl core::fmt::LowerHex for bitcoin_primitives::block::WitnessCommitment +impl core::fmt::LowerHex for bitcoin_primitives::merkle_tree::TxMerkleNode +impl core::fmt::LowerHex for bitcoin_primitives::merkle_tree::WitnessMerkleNode +impl core::fmt::LowerHex for bitcoin_primitives::pow::CompactTarget +impl core::fmt::LowerHex for bitcoin_primitives::script::Script +impl core::fmt::LowerHex for bitcoin_primitives::script::ScriptBuf +impl core::fmt::LowerHex for bitcoin_primitives::sequence::Sequence +impl core::fmt::LowerHex for bitcoin_primitives::taproot::TapLeafHash +impl core::fmt::LowerHex for bitcoin_primitives::taproot::TapNodeHash +impl core::fmt::LowerHex for bitcoin_primitives::taproot::TapTweakHash +impl core::fmt::LowerHex for bitcoin_primitives::transaction::Txid +impl core::fmt::LowerHex for bitcoin_primitives::transaction::Wtxid +impl core::fmt::UpperHex for bitcoin_primitives::block::BlockHash +impl core::fmt::UpperHex for bitcoin_primitives::block::WitnessCommitment +impl core::fmt::UpperHex for bitcoin_primitives::merkle_tree::TxMerkleNode +impl core::fmt::UpperHex for bitcoin_primitives::merkle_tree::WitnessMerkleNode +impl core::fmt::UpperHex for bitcoin_primitives::pow::CompactTarget +impl core::fmt::UpperHex for bitcoin_primitives::script::Script +impl core::fmt::UpperHex for bitcoin_primitives::script::ScriptBuf +impl core::fmt::UpperHex for bitcoin_primitives::sequence::Sequence +impl core::fmt::UpperHex for bitcoin_primitives::taproot::TapLeafHash +impl core::fmt::UpperHex for bitcoin_primitives::taproot::TapNodeHash +impl core::fmt::UpperHex for bitcoin_primitives::taproot::TapTweakHash +impl core::fmt::UpperHex for bitcoin_primitives::transaction::Txid +impl core::fmt::UpperHex for bitcoin_primitives::transaction::Wtxid +impl core::hash::Hash for bitcoin_primitives::block::BlockHash +impl core::hash::Hash for bitcoin_primitives::block::Checked +impl core::hash::Hash for bitcoin_primitives::block::Header +impl core::hash::Hash for bitcoin_primitives::block::Unchecked +impl core::hash::Hash for bitcoin_primitives::block::Version +impl core::hash::Hash for bitcoin_primitives::block::WitnessCommitment +impl core::hash::Hash for bitcoin_primitives::locktime::absolute::LockTime +impl core::hash::Hash for bitcoin_primitives::locktime::relative::LockTime +impl core::hash::Hash for bitcoin_primitives::merkle_tree::TxMerkleNode +impl core::hash::Hash for bitcoin_primitives::merkle_tree::WitnessMerkleNode +impl core::hash::Hash for bitcoin_primitives::opcodes::ClassifyContext +impl core::hash::Hash for bitcoin_primitives::pow::CompactTarget +impl core::hash::Hash for bitcoin_primitives::script::Script +impl core::hash::Hash for bitcoin_primitives::script::ScriptBuf +impl core::hash::Hash for bitcoin_primitives::sequence::Sequence +impl core::hash::Hash for bitcoin_primitives::taproot::TapBranchTag +impl core::hash::Hash for bitcoin_primitives::taproot::TapLeafHash +impl core::hash::Hash for bitcoin_primitives::taproot::TapLeafTag +impl core::hash::Hash for bitcoin_primitives::taproot::TapNodeHash +impl core::hash::Hash for bitcoin_primitives::taproot::TapTweakHash +impl core::hash::Hash for bitcoin_primitives::taproot::TapTweakTag +impl core::hash::Hash for bitcoin_primitives::transaction::OutPoint +impl core::hash::Hash for bitcoin_primitives::transaction::Transaction +impl core::hash::Hash for bitcoin_primitives::transaction::TxIn +impl core::hash::Hash for bitcoin_primitives::transaction::TxOut +impl core::hash::Hash for bitcoin_primitives::transaction::Txid +impl core::hash::Hash for bitcoin_primitives::transaction::Version +impl core::hash::Hash for bitcoin_primitives::transaction::Wtxid +impl core::hash::Hash for bitcoin_primitives::witness::Witness +impl core::iter::traits::exact_size::ExactSizeIterator for bitcoin_primitives::witness::Iter<'_> +impl core::marker::Copy for bitcoin_primitives::block::BlockHash +impl core::marker::Copy for bitcoin_primitives::block::Header +impl core::marker::Copy for bitcoin_primitives::block::Version +impl core::marker::Copy for bitcoin_primitives::block::WitnessCommitment +impl core::marker::Copy for bitcoin_primitives::locktime::absolute::LockTime +impl core::marker::Copy for bitcoin_primitives::locktime::relative::LockTime +impl core::marker::Copy for bitcoin_primitives::merkle_tree::TxMerkleNode +impl core::marker::Copy for bitcoin_primitives::merkle_tree::WitnessMerkleNode +impl core::marker::Copy for bitcoin_primitives::opcodes::Class +impl core::marker::Copy for bitcoin_primitives::opcodes::ClassifyContext +impl core::marker::Copy for bitcoin_primitives::opcodes::Opcode +impl core::marker::Copy for bitcoin_primitives::pow::CompactTarget +impl core::marker::Copy for bitcoin_primitives::sequence::Sequence +impl core::marker::Copy for bitcoin_primitives::taproot::TapBranchTag +impl core::marker::Copy for bitcoin_primitives::taproot::TapLeafHash +impl core::marker::Copy for bitcoin_primitives::taproot::TapLeafTag +impl core::marker::Copy for bitcoin_primitives::taproot::TapNodeHash +impl core::marker::Copy for bitcoin_primitives::taproot::TapTweakHash +impl core::marker::Copy for bitcoin_primitives::taproot::TapTweakTag +impl core::marker::Copy for bitcoin_primitives::transaction::OutPoint +impl core::marker::Copy for bitcoin_primitives::transaction::Txid +impl core::marker::Copy for bitcoin_primitives::transaction::Version +impl core::marker::Copy for bitcoin_primitives::transaction::Wtxid +impl core::marker::Freeze for bitcoin_primitives::block::BlockHash +impl core::marker::Freeze for bitcoin_primitives::block::Checked +impl core::marker::Freeze for bitcoin_primitives::block::Header +impl core::marker::Freeze for bitcoin_primitives::block::Unchecked +impl core::marker::Freeze for bitcoin_primitives::block::Version +impl core::marker::Freeze for bitcoin_primitives::block::WitnessCommitment +impl core::marker::Freeze for bitcoin_primitives::locktime::absolute::LockTime +impl core::marker::Freeze for bitcoin_primitives::locktime::relative::DisabledLockTimeError +impl core::marker::Freeze for bitcoin_primitives::locktime::relative::IncompatibleHeightError +impl core::marker::Freeze for bitcoin_primitives::locktime::relative::IncompatibleTimeError +impl core::marker::Freeze for bitcoin_primitives::locktime::relative::LockTime +impl core::marker::Freeze for bitcoin_primitives::merkle_tree::TxMerkleNode +impl core::marker::Freeze for bitcoin_primitives::merkle_tree::WitnessMerkleNode +impl core::marker::Freeze for bitcoin_primitives::opcodes::Class +impl core::marker::Freeze for bitcoin_primitives::opcodes::ClassifyContext +impl core::marker::Freeze for bitcoin_primitives::opcodes::Opcode +impl core::marker::Freeze for bitcoin_primitives::pow::CompactTarget +impl core::marker::Freeze for bitcoin_primitives::script::Script +impl core::marker::Freeze for bitcoin_primitives::script::ScriptBuf +impl core::marker::Freeze for bitcoin_primitives::sequence::Sequence +impl core::marker::Freeze for bitcoin_primitives::taproot::TapBranchTag +impl core::marker::Freeze for bitcoin_primitives::taproot::TapLeafHash +impl core::marker::Freeze for bitcoin_primitives::taproot::TapLeafTag +impl core::marker::Freeze for bitcoin_primitives::taproot::TapNodeHash +impl core::marker::Freeze for bitcoin_primitives::taproot::TapTweakHash +impl core::marker::Freeze for bitcoin_primitives::taproot::TapTweakTag +impl core::marker::Freeze for bitcoin_primitives::transaction::OutPoint +impl core::marker::Freeze for bitcoin_primitives::transaction::ParseOutPointError +impl core::marker::Freeze for bitcoin_primitives::transaction::Transaction +impl core::marker::Freeze for bitcoin_primitives::transaction::TxIn +impl core::marker::Freeze for bitcoin_primitives::transaction::TxOut +impl core::marker::Freeze for bitcoin_primitives::transaction::Txid +impl core::marker::Freeze for bitcoin_primitives::transaction::Version +impl core::marker::Freeze for bitcoin_primitives::transaction::Wtxid +impl core::marker::Freeze for bitcoin_primitives::witness::Witness +impl core::marker::Send for bitcoin_primitives::block::BlockHash +impl core::marker::Send for bitcoin_primitives::block::Checked +impl core::marker::Send for bitcoin_primitives::block::Header +impl core::marker::Send for bitcoin_primitives::block::Unchecked +impl core::marker::Send for bitcoin_primitives::block::Version +impl core::marker::Send for bitcoin_primitives::block::WitnessCommitment +impl core::marker::Send for bitcoin_primitives::locktime::absolute::LockTime +impl core::marker::Send for bitcoin_primitives::locktime::relative::DisabledLockTimeError +impl core::marker::Send for bitcoin_primitives::locktime::relative::IncompatibleHeightError +impl core::marker::Send for bitcoin_primitives::locktime::relative::IncompatibleTimeError +impl core::marker::Send for bitcoin_primitives::locktime::relative::LockTime +impl core::marker::Send for bitcoin_primitives::merkle_tree::TxMerkleNode +impl core::marker::Send for bitcoin_primitives::merkle_tree::WitnessMerkleNode +impl core::marker::Send for bitcoin_primitives::opcodes::Class +impl core::marker::Send for bitcoin_primitives::opcodes::ClassifyContext +impl core::marker::Send for bitcoin_primitives::opcodes::Opcode +impl core::marker::Send for bitcoin_primitives::pow::CompactTarget +impl core::marker::Send for bitcoin_primitives::script::Script +impl core::marker::Send for bitcoin_primitives::script::ScriptBuf +impl core::marker::Send for bitcoin_primitives::sequence::Sequence +impl core::marker::Send for bitcoin_primitives::taproot::TapBranchTag +impl core::marker::Send for bitcoin_primitives::taproot::TapLeafHash +impl core::marker::Send for bitcoin_primitives::taproot::TapLeafTag +impl core::marker::Send for bitcoin_primitives::taproot::TapNodeHash +impl core::marker::Send for bitcoin_primitives::taproot::TapTweakHash +impl core::marker::Send for bitcoin_primitives::taproot::TapTweakTag +impl core::marker::Send for bitcoin_primitives::transaction::OutPoint +impl core::marker::Send for bitcoin_primitives::transaction::ParseOutPointError +impl core::marker::Send for bitcoin_primitives::transaction::Transaction +impl core::marker::Send for bitcoin_primitives::transaction::TxIn +impl core::marker::Send for bitcoin_primitives::transaction::TxOut +impl core::marker::Send for bitcoin_primitives::transaction::Txid +impl core::marker::Send for bitcoin_primitives::transaction::Version +impl core::marker::Send for bitcoin_primitives::transaction::Wtxid +impl core::marker::Send for bitcoin_primitives::witness::Witness +impl core::marker::StructuralPartialEq for bitcoin_primitives::block::BlockHash +impl core::marker::StructuralPartialEq for bitcoin_primitives::block::Checked +impl core::marker::StructuralPartialEq for bitcoin_primitives::block::Header +impl core::marker::StructuralPartialEq for bitcoin_primitives::block::Unchecked +impl core::marker::StructuralPartialEq for bitcoin_primitives::block::Version +impl core::marker::StructuralPartialEq for bitcoin_primitives::block::WitnessCommitment +impl core::marker::StructuralPartialEq for bitcoin_primitives::locktime::absolute::LockTime +impl core::marker::StructuralPartialEq for bitcoin_primitives::locktime::relative::DisabledLockTimeError +impl core::marker::StructuralPartialEq for bitcoin_primitives::locktime::relative::IncompatibleHeightError +impl core::marker::StructuralPartialEq for bitcoin_primitives::locktime::relative::IncompatibleTimeError +impl core::marker::StructuralPartialEq for bitcoin_primitives::locktime::relative::LockTime +impl core::marker::StructuralPartialEq for bitcoin_primitives::merkle_tree::TxMerkleNode +impl core::marker::StructuralPartialEq for bitcoin_primitives::merkle_tree::WitnessMerkleNode +impl core::marker::StructuralPartialEq for bitcoin_primitives::opcodes::Class +impl core::marker::StructuralPartialEq for bitcoin_primitives::opcodes::ClassifyContext +impl core::marker::StructuralPartialEq for bitcoin_primitives::opcodes::Opcode +impl core::marker::StructuralPartialEq for bitcoin_primitives::pow::CompactTarget +impl core::marker::StructuralPartialEq for bitcoin_primitives::script::Script +impl core::marker::StructuralPartialEq for bitcoin_primitives::script::ScriptBuf +impl core::marker::StructuralPartialEq for bitcoin_primitives::sequence::Sequence +impl core::marker::StructuralPartialEq for bitcoin_primitives::taproot::TapBranchTag +impl core::marker::StructuralPartialEq for bitcoin_primitives::taproot::TapLeafHash +impl core::marker::StructuralPartialEq for bitcoin_primitives::taproot::TapLeafTag +impl core::marker::StructuralPartialEq for bitcoin_primitives::taproot::TapNodeHash +impl core::marker::StructuralPartialEq for bitcoin_primitives::taproot::TapTweakHash +impl core::marker::StructuralPartialEq for bitcoin_primitives::taproot::TapTweakTag +impl core::marker::StructuralPartialEq for bitcoin_primitives::transaction::OutPoint +impl core::marker::StructuralPartialEq for bitcoin_primitives::transaction::ParseOutPointError +impl core::marker::StructuralPartialEq for bitcoin_primitives::transaction::Transaction +impl core::marker::StructuralPartialEq for bitcoin_primitives::transaction::TxIn +impl core::marker::StructuralPartialEq for bitcoin_primitives::transaction::TxOut +impl core::marker::StructuralPartialEq for bitcoin_primitives::transaction::Txid +impl core::marker::StructuralPartialEq for bitcoin_primitives::transaction::Version +impl core::marker::StructuralPartialEq for bitcoin_primitives::transaction::Wtxid +impl core::marker::StructuralPartialEq for bitcoin_primitives::witness::Witness +impl core::marker::Sync for bitcoin_primitives::block::BlockHash +impl core::marker::Sync for bitcoin_primitives::block::Checked +impl core::marker::Sync for bitcoin_primitives::block::Header +impl core::marker::Sync for bitcoin_primitives::block::Unchecked +impl core::marker::Sync for bitcoin_primitives::block::Version +impl core::marker::Sync for bitcoin_primitives::block::WitnessCommitment +impl core::marker::Sync for bitcoin_primitives::locktime::absolute::LockTime +impl core::marker::Sync for bitcoin_primitives::locktime::relative::DisabledLockTimeError +impl core::marker::Sync for bitcoin_primitives::locktime::relative::IncompatibleHeightError +impl core::marker::Sync for bitcoin_primitives::locktime::relative::IncompatibleTimeError +impl core::marker::Sync for bitcoin_primitives::locktime::relative::LockTime +impl core::marker::Sync for bitcoin_primitives::merkle_tree::TxMerkleNode +impl core::marker::Sync for bitcoin_primitives::merkle_tree::WitnessMerkleNode +impl core::marker::Sync for bitcoin_primitives::opcodes::Class +impl core::marker::Sync for bitcoin_primitives::opcodes::ClassifyContext +impl core::marker::Sync for bitcoin_primitives::opcodes::Opcode +impl core::marker::Sync for bitcoin_primitives::pow::CompactTarget +impl core::marker::Sync for bitcoin_primitives::script::Script +impl core::marker::Sync for bitcoin_primitives::script::ScriptBuf +impl core::marker::Sync for bitcoin_primitives::sequence::Sequence +impl core::marker::Sync for bitcoin_primitives::taproot::TapBranchTag +impl core::marker::Sync for bitcoin_primitives::taproot::TapLeafHash +impl core::marker::Sync for bitcoin_primitives::taproot::TapLeafTag +impl core::marker::Sync for bitcoin_primitives::taproot::TapNodeHash +impl core::marker::Sync for bitcoin_primitives::taproot::TapTweakHash +impl core::marker::Sync for bitcoin_primitives::taproot::TapTweakTag +impl core::marker::Sync for bitcoin_primitives::transaction::OutPoint +impl core::marker::Sync for bitcoin_primitives::transaction::ParseOutPointError +impl core::marker::Sync for bitcoin_primitives::transaction::Transaction +impl core::marker::Sync for bitcoin_primitives::transaction::TxIn +impl core::marker::Sync for bitcoin_primitives::transaction::TxOut +impl core::marker::Sync for bitcoin_primitives::transaction::Txid +impl core::marker::Sync for bitcoin_primitives::transaction::Version +impl core::marker::Sync for bitcoin_primitives::transaction::Wtxid +impl core::marker::Sync for bitcoin_primitives::witness::Witness +impl core::marker::Unpin for bitcoin_primitives::block::BlockHash +impl core::marker::Unpin for bitcoin_primitives::block::Checked +impl core::marker::Unpin for bitcoin_primitives::block::Header +impl core::marker::Unpin for bitcoin_primitives::block::Unchecked +impl core::marker::Unpin for bitcoin_primitives::block::Version +impl core::marker::Unpin for bitcoin_primitives::block::WitnessCommitment +impl core::marker::Unpin for bitcoin_primitives::locktime::absolute::LockTime +impl core::marker::Unpin for bitcoin_primitives::locktime::relative::DisabledLockTimeError +impl core::marker::Unpin for bitcoin_primitives::locktime::relative::IncompatibleHeightError +impl core::marker::Unpin for bitcoin_primitives::locktime::relative::IncompatibleTimeError +impl core::marker::Unpin for bitcoin_primitives::locktime::relative::LockTime +impl core::marker::Unpin for bitcoin_primitives::merkle_tree::TxMerkleNode +impl core::marker::Unpin for bitcoin_primitives::merkle_tree::WitnessMerkleNode +impl core::marker::Unpin for bitcoin_primitives::opcodes::Class +impl core::marker::Unpin for bitcoin_primitives::opcodes::ClassifyContext +impl core::marker::Unpin for bitcoin_primitives::opcodes::Opcode +impl core::marker::Unpin for bitcoin_primitives::pow::CompactTarget +impl core::marker::Unpin for bitcoin_primitives::script::Script +impl core::marker::Unpin for bitcoin_primitives::script::ScriptBuf +impl core::marker::Unpin for bitcoin_primitives::sequence::Sequence +impl core::marker::Unpin for bitcoin_primitives::taproot::TapBranchTag +impl core::marker::Unpin for bitcoin_primitives::taproot::TapLeafHash +impl core::marker::Unpin for bitcoin_primitives::taproot::TapLeafTag +impl core::marker::Unpin for bitcoin_primitives::taproot::TapNodeHash +impl core::marker::Unpin for bitcoin_primitives::taproot::TapTweakHash +impl core::marker::Unpin for bitcoin_primitives::taproot::TapTweakTag +impl core::marker::Unpin for bitcoin_primitives::transaction::OutPoint +impl core::marker::Unpin for bitcoin_primitives::transaction::ParseOutPointError +impl core::marker::Unpin for bitcoin_primitives::transaction::Transaction +impl core::marker::Unpin for bitcoin_primitives::transaction::TxIn +impl core::marker::Unpin for bitcoin_primitives::transaction::TxOut +impl core::marker::Unpin for bitcoin_primitives::transaction::Txid +impl core::marker::Unpin for bitcoin_primitives::transaction::Version +impl core::marker::Unpin for bitcoin_primitives::transaction::Wtxid +impl core::marker::Unpin for bitcoin_primitives::witness::Witness +impl core::ops::deref::Deref for bitcoin_primitives::script::ScriptBuf +impl core::ops::deref::DerefMut for bitcoin_primitives::script::ScriptBuf +impl core::ops::index::Index<(core::ops::range::Bound, core::ops::range::Bound)> for bitcoin_primitives::script::Script +impl core::ops::index::Index> for bitcoin_primitives::script::Script +impl core::ops::index::Index> for bitcoin_primitives::script::Script +impl core::ops::index::Index for bitcoin_primitives::script::Script +impl core::ops::index::Index> for bitcoin_primitives::script::Script +impl core::ops::index::Index> for bitcoin_primitives::script::Script +impl core::ops::index::Index> for bitcoin_primitives::script::Script +impl core::ops::index::Index for bitcoin_primitives::witness::Witness +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_primitives::block::BlockHash +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_primitives::block::Checked +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_primitives::block::Header +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_primitives::block::Unchecked +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_primitives::block::Version +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_primitives::block::WitnessCommitment +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_primitives::locktime::absolute::LockTime +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_primitives::locktime::relative::DisabledLockTimeError +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_primitives::locktime::relative::IncompatibleHeightError +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_primitives::locktime::relative::IncompatibleTimeError +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_primitives::locktime::relative::LockTime +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_primitives::merkle_tree::TxMerkleNode +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_primitives::merkle_tree::WitnessMerkleNode +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_primitives::opcodes::Class +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_primitives::opcodes::ClassifyContext +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_primitives::opcodes::Opcode +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_primitives::pow::CompactTarget +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_primitives::script::Script +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_primitives::script::ScriptBuf +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_primitives::sequence::Sequence +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_primitives::taproot::TapBranchTag +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_primitives::taproot::TapLeafHash +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_primitives::taproot::TapLeafTag +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_primitives::taproot::TapNodeHash +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_primitives::taproot::TapTweakHash +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_primitives::taproot::TapTweakTag +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_primitives::transaction::OutPoint +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_primitives::transaction::ParseOutPointError +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_primitives::transaction::Transaction +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_primitives::transaction::TxIn +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_primitives::transaction::TxOut +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_primitives::transaction::Txid +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_primitives::transaction::Version +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_primitives::transaction::Wtxid +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_primitives::witness::Witness +impl core::panic::unwind_safe::UnwindSafe for bitcoin_primitives::block::BlockHash +impl core::panic::unwind_safe::UnwindSafe for bitcoin_primitives::block::Checked +impl core::panic::unwind_safe::UnwindSafe for bitcoin_primitives::block::Header +impl core::panic::unwind_safe::UnwindSafe for bitcoin_primitives::block::Unchecked +impl core::panic::unwind_safe::UnwindSafe for bitcoin_primitives::block::Version +impl core::panic::unwind_safe::UnwindSafe for bitcoin_primitives::block::WitnessCommitment +impl core::panic::unwind_safe::UnwindSafe for bitcoin_primitives::locktime::absolute::LockTime +impl core::panic::unwind_safe::UnwindSafe for bitcoin_primitives::locktime::relative::DisabledLockTimeError +impl core::panic::unwind_safe::UnwindSafe for bitcoin_primitives::locktime::relative::IncompatibleHeightError +impl core::panic::unwind_safe::UnwindSafe for bitcoin_primitives::locktime::relative::IncompatibleTimeError +impl core::panic::unwind_safe::UnwindSafe for bitcoin_primitives::locktime::relative::LockTime +impl core::panic::unwind_safe::UnwindSafe for bitcoin_primitives::merkle_tree::TxMerkleNode +impl core::panic::unwind_safe::UnwindSafe for bitcoin_primitives::merkle_tree::WitnessMerkleNode +impl core::panic::unwind_safe::UnwindSafe for bitcoin_primitives::opcodes::Class +impl core::panic::unwind_safe::UnwindSafe for bitcoin_primitives::opcodes::ClassifyContext +impl core::panic::unwind_safe::UnwindSafe for bitcoin_primitives::opcodes::Opcode +impl core::panic::unwind_safe::UnwindSafe for bitcoin_primitives::pow::CompactTarget +impl core::panic::unwind_safe::UnwindSafe for bitcoin_primitives::script::Script +impl core::panic::unwind_safe::UnwindSafe for bitcoin_primitives::script::ScriptBuf +impl core::panic::unwind_safe::UnwindSafe for bitcoin_primitives::sequence::Sequence +impl core::panic::unwind_safe::UnwindSafe for bitcoin_primitives::taproot::TapBranchTag +impl core::panic::unwind_safe::UnwindSafe for bitcoin_primitives::taproot::TapLeafHash +impl core::panic::unwind_safe::UnwindSafe for bitcoin_primitives::taproot::TapLeafTag +impl core::panic::unwind_safe::UnwindSafe for bitcoin_primitives::taproot::TapNodeHash +impl core::panic::unwind_safe::UnwindSafe for bitcoin_primitives::taproot::TapTweakHash +impl core::panic::unwind_safe::UnwindSafe for bitcoin_primitives::taproot::TapTweakTag +impl core::panic::unwind_safe::UnwindSafe for bitcoin_primitives::transaction::OutPoint +impl core::panic::unwind_safe::UnwindSafe for bitcoin_primitives::transaction::ParseOutPointError +impl core::panic::unwind_safe::UnwindSafe for bitcoin_primitives::transaction::Transaction +impl core::panic::unwind_safe::UnwindSafe for bitcoin_primitives::transaction::TxIn +impl core::panic::unwind_safe::UnwindSafe for bitcoin_primitives::transaction::TxOut +impl core::panic::unwind_safe::UnwindSafe for bitcoin_primitives::transaction::Txid +impl core::panic::unwind_safe::UnwindSafe for bitcoin_primitives::transaction::Version +impl core::panic::unwind_safe::UnwindSafe for bitcoin_primitives::transaction::Wtxid +impl core::panic::unwind_safe::UnwindSafe for bitcoin_primitives::witness::Witness +impl core::str::traits::FromStr for bitcoin_primitives::block::BlockHash +impl core::str::traits::FromStr for bitcoin_primitives::block::WitnessCommitment +impl core::str::traits::FromStr for bitcoin_primitives::locktime::absolute::LockTime +impl core::str::traits::FromStr for bitcoin_primitives::merkle_tree::TxMerkleNode +impl core::str::traits::FromStr for bitcoin_primitives::merkle_tree::WitnessMerkleNode +impl core::str::traits::FromStr for bitcoin_primitives::sequence::Sequence +impl core::str::traits::FromStr for bitcoin_primitives::taproot::TapLeafHash +impl core::str::traits::FromStr for bitcoin_primitives::taproot::TapNodeHash +impl core::str::traits::FromStr for bitcoin_primitives::taproot::TapTweakHash +impl core::str::traits::FromStr for bitcoin_primitives::transaction::OutPoint +impl core::str::traits::FromStr for bitcoin_primitives::transaction::Txid +impl core::str::traits::FromStr for bitcoin_primitives::transaction::Wtxid +impl<'a> core::convert::From<&'a bitcoin_primitives::script::Script> for alloc::borrow::Cow<'a, bitcoin_primitives::script::Script> +impl<'a> core::convert::From<&'a bitcoin_primitives::script::Script> for alloc::boxed::Box +impl<'a> core::convert::From<&'a bitcoin_primitives::script::Script> for alloc::rc::Rc +impl<'a> core::convert::From<&'a bitcoin_primitives::script::Script> for alloc::sync::Arc +impl<'a> core::convert::From<&'a bitcoin_primitives::script::Script> for bitcoin_primitives::script::ScriptBuf +impl<'a> core::convert::From> for alloc::boxed::Box +impl<'a> core::convert::From> for bitcoin_primitives::script::ScriptBuf +impl<'a> core::iter::traits::collect::IntoIterator for &'a bitcoin_primitives::witness::Witness +impl<'a> core::iter::traits::iterator::Iterator for bitcoin_primitives::witness::Iter<'a> +impl<'a> core::marker::Freeze for bitcoin_primitives::witness::Iter<'a> +impl<'a> core::marker::Send for bitcoin_primitives::witness::Iter<'a> +impl<'a> core::marker::Sync for bitcoin_primitives::witness::Iter<'a> +impl<'a> core::marker::Unpin for bitcoin_primitives::witness::Iter<'a> +impl<'a> core::panic::unwind_safe::RefUnwindSafe for bitcoin_primitives::witness::Iter<'a> +impl<'a> core::panic::unwind_safe::UnwindSafe for bitcoin_primitives::witness::Iter<'a> +impl bitcoin_primitives::block::Block +impl core::clone::Clone for bitcoin_primitives::block::Block where V: bitcoin_primitives::block::Validation + core::clone::Clone +impl core::cmp::Eq for bitcoin_primitives::block::Block where V: bitcoin_primitives::block::Validation + core::cmp::Eq +impl core::cmp::PartialEq for bitcoin_primitives::block::Block where V: bitcoin_primitives::block::Validation + core::cmp::PartialEq +impl core::fmt::Debug for bitcoin_primitives::block::Block where V: bitcoin_primitives::block::Validation + core::fmt::Debug +impl core::marker::Freeze for bitcoin_primitives::block::Block +impl core::marker::Send for bitcoin_primitives::block::Block +impl core::marker::StructuralPartialEq for bitcoin_primitives::block::Block where V: bitcoin_primitives::block::Validation +impl core::marker::Sync for bitcoin_primitives::block::Block +impl core::marker::Unpin for bitcoin_primitives::block::Block +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_primitives::block::Block where V: core::panic::unwind_safe::RefUnwindSafe +impl core::panic::unwind_safe::UnwindSafe for bitcoin_primitives::block::Block where V: core::panic::unwind_safe::UnwindSafe +pub bitcoin_primitives::BlockHeader::bits: bitcoin_primitives::pow::CompactTarget +pub bitcoin_primitives::BlockHeader::merkle_root: bitcoin_primitives::merkle_tree::TxMerkleNode +pub bitcoin_primitives::BlockHeader::nonce: u32 +pub bitcoin_primitives::BlockHeader::prev_blockhash: bitcoin_primitives::block::BlockHash +pub bitcoin_primitives::BlockHeader::time: u32 +pub bitcoin_primitives::BlockHeader::version: bitcoin_primitives::block::Version +pub bitcoin_primitives::Transaction::input: alloc::vec::Vec +pub bitcoin_primitives::Transaction::lock_time: bitcoin_primitives::locktime::absolute::LockTime +pub bitcoin_primitives::Transaction::output: alloc::vec::Vec +pub bitcoin_primitives::Transaction::version: bitcoin_primitives::transaction::Version +pub bitcoin_primitives::TxIn::previous_output: bitcoin_primitives::transaction::OutPoint +pub bitcoin_primitives::TxIn::script_sig: bitcoin_primitives::script::ScriptBuf +pub bitcoin_primitives::TxIn::sequence: bitcoin_primitives::sequence::Sequence +pub bitcoin_primitives::TxIn::witness: bitcoin_primitives::witness::Witness +pub bitcoin_primitives::TxOut::script_pubkey: bitcoin_primitives::script::ScriptBuf +pub bitcoin_primitives::TxOut::value: bitcoin_units::amount::unsigned::Amount +pub bitcoin_primitives::absolute::LockTime::Blocks(bitcoin_units::locktime::absolute::Height) +pub bitcoin_primitives::absolute::LockTime::Seconds(bitcoin_units::locktime::absolute::Time) +pub bitcoin_primitives::block::Header::bits: bitcoin_primitives::pow::CompactTarget +pub bitcoin_primitives::block::Header::merkle_root: bitcoin_primitives::merkle_tree::TxMerkleNode +pub bitcoin_primitives::block::Header::nonce: u32 +pub bitcoin_primitives::block::Header::prev_blockhash: bitcoin_primitives::block::BlockHash +pub bitcoin_primitives::block::Header::time: u32 +pub bitcoin_primitives::block::Header::version: bitcoin_primitives::block::Version +pub bitcoin_primitives::locktime::absolute::LockTime::Blocks(bitcoin_units::locktime::absolute::Height) +pub bitcoin_primitives::locktime::absolute::LockTime::Seconds(bitcoin_units::locktime::absolute::Time) +pub bitcoin_primitives::locktime::relative::IncompatibleHeightError::height: bitcoin_units::locktime::relative::Height +pub bitcoin_primitives::locktime::relative::IncompatibleHeightError::time: bitcoin_units::locktime::relative::Time +pub bitcoin_primitives::locktime::relative::IncompatibleTimeError::height: bitcoin_units::locktime::relative::Height +pub bitcoin_primitives::locktime::relative::IncompatibleTimeError::time: bitcoin_units::locktime::relative::Time +pub bitcoin_primitives::locktime::relative::LockTime::Blocks(bitcoin_units::locktime::relative::Height) +pub bitcoin_primitives::locktime::relative::LockTime::Time(bitcoin_units::locktime::relative::Time) +pub bitcoin_primitives::opcodes::Class::IllegalOp +pub bitcoin_primitives::opcodes::Class::NoOp +pub bitcoin_primitives::opcodes::Class::Ordinary(Ordinary) +pub bitcoin_primitives::opcodes::Class::PushBytes(u32) +pub bitcoin_primitives::opcodes::Class::PushNum(i32) +pub bitcoin_primitives::opcodes::Class::ReturnOp +pub bitcoin_primitives::opcodes::Class::SuccessOp +pub bitcoin_primitives::opcodes::ClassifyContext::Legacy +pub bitcoin_primitives::opcodes::ClassifyContext::TapScript +pub bitcoin_primitives::relative::IncompatibleHeightError::height: bitcoin_units::locktime::relative::Height +pub bitcoin_primitives::relative::IncompatibleHeightError::time: bitcoin_units::locktime::relative::Time +pub bitcoin_primitives::relative::IncompatibleTimeError::height: bitcoin_units::locktime::relative::Height +pub bitcoin_primitives::relative::IncompatibleTimeError::time: bitcoin_units::locktime::relative::Time +pub bitcoin_primitives::relative::LockTime::Blocks(bitcoin_units::locktime::relative::Height) +pub bitcoin_primitives::relative::LockTime::Time(bitcoin_units::locktime::relative::Time) +pub bitcoin_primitives::transaction::OutPoint::txid: bitcoin_primitives::transaction::Txid +pub bitcoin_primitives::transaction::OutPoint::vout: u32 +pub bitcoin_primitives::transaction::ParseOutPointError::Format +pub bitcoin_primitives::transaction::ParseOutPointError::TooLong +pub bitcoin_primitives::transaction::ParseOutPointError::Txid(hex_conservative::error::HexToArrayError) +pub bitcoin_primitives::transaction::ParseOutPointError::Vout(bitcoin_units::parse::ParseIntError) +pub bitcoin_primitives::transaction::ParseOutPointError::VoutNotCanonical +pub bitcoin_primitives::transaction::Transaction::input: alloc::vec::Vec +pub bitcoin_primitives::transaction::Transaction::lock_time: bitcoin_primitives::locktime::absolute::LockTime +pub bitcoin_primitives::transaction::Transaction::output: alloc::vec::Vec +pub bitcoin_primitives::transaction::Transaction::version: bitcoin_primitives::transaction::Version +pub bitcoin_primitives::transaction::TxIn::previous_output: bitcoin_primitives::transaction::OutPoint +pub bitcoin_primitives::transaction::TxIn::script_sig: bitcoin_primitives::script::ScriptBuf +pub bitcoin_primitives::transaction::TxIn::sequence: bitcoin_primitives::sequence::Sequence +pub bitcoin_primitives::transaction::TxIn::witness: bitcoin_primitives::witness::Witness +pub bitcoin_primitives::transaction::TxOut::script_pubkey: bitcoin_primitives::script::ScriptBuf +pub bitcoin_primitives::transaction::TxOut::value: bitcoin_units::amount::unsigned::Amount +pub const bitcoin_primitives::BlockValidation::IS_CHECKED: bool +pub const bitcoin_primitives::block::BlockHash::DISPLAY_BACKWARD: bool +pub const bitcoin_primitives::block::BlockHash::GENESIS_PREVIOUS_BLOCK_HASH: Self +pub const bitcoin_primitives::block::Checked::IS_CHECKED: bool +pub const bitcoin_primitives::block::Header::SIZE: usize +pub const bitcoin_primitives::block::Unchecked::IS_CHECKED: bool +pub const bitcoin_primitives::block::Validation::IS_CHECKED: bool +pub const bitcoin_primitives::block::Version::NO_SOFT_FORK_SIGNALLING: Self +pub const bitcoin_primitives::block::Version::ONE: Self +pub const bitcoin_primitives::block::Version::TWO: Self +pub const bitcoin_primitives::block::WitnessCommitment::DISPLAY_BACKWARD: bool +pub const bitcoin_primitives::locktime::absolute::LockTime::SIZE: usize +pub const bitcoin_primitives::locktime::absolute::LockTime::ZERO: bitcoin_primitives::locktime::absolute::LockTime +pub const bitcoin_primitives::locktime::relative::LockTime::SIZE: usize +pub const bitcoin_primitives::locktime::relative::LockTime::ZERO: bitcoin_primitives::locktime::relative::LockTime +pub const bitcoin_primitives::merkle_tree::TxMerkleNode::DISPLAY_BACKWARD: bool +pub const bitcoin_primitives::merkle_tree::WitnessMerkleNode::DISPLAY_BACKWARD: bool +pub const bitcoin_primitives::opcodes::all::OP_0NOTEQUAL: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_1ADD: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_1SUB: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_2DIV: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_2DROP: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_2DUP: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_2MUL: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_2OVER: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_2ROT: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_2SWAP: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_3DUP: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_ABS: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_ADD: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_AND: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_BOOLAND: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_BOOLOR: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_CAT: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_CHECKMULTISIG: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_CHECKMULTISIGVERIFY: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_CHECKSIG: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_CHECKSIGADD: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_CHECKSIGVERIFY: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_CLTV: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_CODESEPARATOR: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_CSV: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_DEPTH: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_DIV: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_DROP: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_DUP: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_ELSE: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_ENDIF: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_EQUAL: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_EQUALVERIFY: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_FROMALTSTACK: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_GREATERTHAN: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_GREATERTHANOREQUAL: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_HASH160: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_HASH256: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_IF: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_IFDUP: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_INVALIDOPCODE: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_INVERT: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_LEFT: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_LESSTHAN: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_LESSTHANOREQUAL: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_LSHIFT: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_MAX: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_MIN: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_MOD: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_MUL: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_NEGATE: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_NIP: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_NOP10: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_NOP1: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_NOP4: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_NOP5: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_NOP6: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_NOP7: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_NOP8: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_NOP9: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_NOP: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_NOT: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_NOTIF: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_NUMEQUAL: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_NUMEQUALVERIFY: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_NUMNOTEQUAL: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_OR: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_OVER: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PICK: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_0: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_10: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_11: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_12: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_13: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_14: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_15: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_16: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_17: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_18: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_19: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_1: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_20: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_21: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_22: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_23: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_24: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_25: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_26: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_27: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_28: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_29: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_2: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_30: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_31: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_32: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_33: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_34: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_35: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_36: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_37: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_38: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_39: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_3: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_40: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_41: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_42: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_43: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_44: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_45: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_46: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_47: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_48: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_49: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_4: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_50: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_51: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_52: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_53: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_54: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_55: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_56: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_57: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_58: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_59: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_5: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_60: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_61: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_62: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_63: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_64: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_65: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_66: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_67: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_68: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_69: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_6: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_70: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_71: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_72: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_73: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_74: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_75: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_7: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_8: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_9: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHDATA1: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHDATA2: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHDATA4: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHNUM_10: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHNUM_11: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHNUM_12: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHNUM_13: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHNUM_14: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHNUM_15: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHNUM_16: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHNUM_1: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHNUM_2: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHNUM_3: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHNUM_4: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHNUM_5: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHNUM_6: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHNUM_7: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHNUM_8: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHNUM_9: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHNUM_NEG1: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RESERVED1: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RESERVED2: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RESERVED: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_187: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_188: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_189: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_190: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_191: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_192: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_193: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_194: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_195: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_196: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_197: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_198: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_199: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_200: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_201: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_202: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_203: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_204: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_205: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_206: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_207: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_208: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_209: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_210: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_211: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_212: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_213: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_214: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_215: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_216: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_217: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_218: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_219: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_220: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_221: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_222: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_223: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_224: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_225: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_226: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_227: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_228: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_229: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_230: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_231: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_232: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_233: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_234: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_235: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_236: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_237: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_238: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_239: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_240: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_241: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_242: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_243: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_244: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_245: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_246: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_247: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_248: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_249: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_250: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_251: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_252: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_253: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_254: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RIGHT: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RIPEMD160: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_ROLL: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_ROT: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RSHIFT: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_SHA1: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_SHA256: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_SIZE: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_SUB: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_SUBSTR: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_SWAP: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_TOALTSTACK: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_TUCK: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_VER: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_VERIF: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_VERIFY: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_VERNOTIF: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_WITHIN: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_XOR: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::sequence::Sequence::ENABLE_LOCKTIME_AND_RBF: Self +pub const bitcoin_primitives::sequence::Sequence::ENABLE_LOCKTIME_NO_RBF: Self +pub const bitcoin_primitives::sequence::Sequence::ENABLE_RBF_NO_LOCKTIME: Self +pub const bitcoin_primitives::sequence::Sequence::FINAL: Self +pub const bitcoin_primitives::sequence::Sequence::MAX: Self +pub const bitcoin_primitives::sequence::Sequence::SIZE: usize +pub const bitcoin_primitives::sequence::Sequence::ZERO: Self +pub const bitcoin_primitives::taproot::TapLeafHash::DISPLAY_BACKWARD: bool +pub const bitcoin_primitives::taproot::TapNodeHash::DISPLAY_BACKWARD: bool +pub const bitcoin_primitives::taproot::TapTweakHash::DISPLAY_BACKWARD: bool +pub const bitcoin_primitives::transaction::OutPoint::COINBASE_PREVOUT: Self +pub const bitcoin_primitives::transaction::OutPoint::SIZE: usize +pub const bitcoin_primitives::transaction::Transaction::MAX_STANDARD_WEIGHT: bitcoin_units::weight::Weight +pub const bitcoin_primitives::transaction::TxIn::EMPTY_COINBASE: bitcoin_primitives::transaction::TxIn +pub const bitcoin_primitives::transaction::TxOut::NULL: Self +pub const bitcoin_primitives::transaction::Txid::COINBASE_PREVOUT: Self +pub const bitcoin_primitives::transaction::Txid::DISPLAY_BACKWARD: bool +pub const bitcoin_primitives::transaction::Version::ONE: Self +pub const bitcoin_primitives::transaction::Version::THREE: Self +pub const bitcoin_primitives::transaction::Version::TWO: Self +pub const bitcoin_primitives::transaction::Wtxid::COINBASE: Self +pub const bitcoin_primitives::transaction::Wtxid::DISPLAY_BACKWARD: bool +pub const fn bitcoin_primitives::block::BlockHash::as_byte_array(&self) -> &::Bytes +pub const fn bitcoin_primitives::block::BlockHash::from_byte_array(bytes: ::Bytes) -> Self +pub const fn bitcoin_primitives::block::BlockHash::to_byte_array(self) -> ::Bytes +pub const fn bitcoin_primitives::block::Version::from_consensus(v: i32) -> Self +pub const fn bitcoin_primitives::block::WitnessCommitment::as_byte_array(&self) -> &::Bytes +pub const fn bitcoin_primitives::block::WitnessCommitment::from_byte_array(bytes: ::Bytes) -> Self +pub const fn bitcoin_primitives::block::WitnessCommitment::to_byte_array(self) -> ::Bytes +pub const fn bitcoin_primitives::locktime::absolute::LockTime::is_block_height(&self) -> bool +pub const fn bitcoin_primitives::locktime::absolute::LockTime::is_block_time(&self) -> bool +pub const fn bitcoin_primitives::locktime::absolute::LockTime::is_same_unit(&self, other: bitcoin_primitives::locktime::absolute::LockTime) -> bool +pub const fn bitcoin_primitives::locktime::relative::LockTime::from_512_second_intervals(intervals: u16) -> Self +pub const fn bitcoin_primitives::locktime::relative::LockTime::from_height(n: u16) -> Self +pub const fn bitcoin_primitives::locktime::relative::LockTime::from_seconds_ceil(seconds: u32) -> core::result::Result +pub const fn bitcoin_primitives::locktime::relative::LockTime::from_seconds_floor(seconds: u32) -> core::result::Result +pub const fn bitcoin_primitives::locktime::relative::LockTime::is_block_height(&self) -> bool +pub const fn bitcoin_primitives::locktime::relative::LockTime::is_block_time(&self) -> bool +pub const fn bitcoin_primitives::locktime::relative::LockTime::is_same_unit(&self, other: bitcoin_primitives::locktime::relative::LockTime) -> bool +pub const fn bitcoin_primitives::merkle_tree::TxMerkleNode::as_byte_array(&self) -> &::Bytes +pub const fn bitcoin_primitives::merkle_tree::TxMerkleNode::from_byte_array(bytes: ::Bytes) -> Self +pub const fn bitcoin_primitives::merkle_tree::TxMerkleNode::to_byte_array(self) -> ::Bytes +pub const fn bitcoin_primitives::merkle_tree::WitnessMerkleNode::as_byte_array(&self) -> &::Bytes +pub const fn bitcoin_primitives::merkle_tree::WitnessMerkleNode::from_byte_array(bytes: ::Bytes) -> Self +pub const fn bitcoin_primitives::merkle_tree::WitnessMerkleNode::to_byte_array(self) -> ::Bytes +pub const fn bitcoin_primitives::opcodes::Opcode::decode_pushnum(self) -> core::option::Option +pub const fn bitcoin_primitives::opcodes::Opcode::to_u8(self) -> u8 +pub const fn bitcoin_primitives::script::ScriptBuf::new() -> Self +pub const fn bitcoin_primitives::taproot::TapLeafHash::as_byte_array(&self) -> & as bitcoin_hashes::Hash>::Bytes +pub const fn bitcoin_primitives::taproot::TapLeafHash::from_byte_array(bytes: as bitcoin_hashes::Hash>::Bytes) -> Self +pub const fn bitcoin_primitives::taproot::TapLeafHash::to_byte_array(self) -> as bitcoin_hashes::Hash>::Bytes +pub const fn bitcoin_primitives::taproot::TapNodeHash::as_byte_array(&self) -> & as bitcoin_hashes::Hash>::Bytes +pub const fn bitcoin_primitives::taproot::TapNodeHash::from_byte_array(bytes: as bitcoin_hashes::Hash>::Bytes) -> Self +pub const fn bitcoin_primitives::taproot::TapNodeHash::to_byte_array(self) -> as bitcoin_hashes::Hash>::Bytes +pub const fn bitcoin_primitives::taproot::TapTweakHash::as_byte_array(&self) -> & as bitcoin_hashes::Hash>::Bytes +pub const fn bitcoin_primitives::taproot::TapTweakHash::from_byte_array(bytes: as bitcoin_hashes::Hash>::Bytes) -> Self +pub const fn bitcoin_primitives::taproot::TapTweakHash::to_byte_array(self) -> as bitcoin_hashes::Hash>::Bytes +pub const fn bitcoin_primitives::transaction::Txid::as_byte_array(&self) -> &::Bytes +pub const fn bitcoin_primitives::transaction::Txid::from_byte_array(bytes: ::Bytes) -> Self +pub const fn bitcoin_primitives::transaction::Txid::to_byte_array(self) -> ::Bytes +pub const fn bitcoin_primitives::transaction::Wtxid::as_byte_array(&self) -> &::Bytes +pub const fn bitcoin_primitives::transaction::Wtxid::from_byte_array(bytes: ::Bytes) -> Self +pub const fn bitcoin_primitives::transaction::Wtxid::to_byte_array(self) -> ::Bytes +pub const fn bitcoin_primitives::witness::Witness::new() -> Self +pub enum bitcoin_primitives::BlockChecked +pub enum bitcoin_primitives::BlockUnchecked +pub enum bitcoin_primitives::absolute::LockTime +pub enum bitcoin_primitives::block::Checked +pub enum bitcoin_primitives::block::Unchecked +pub enum bitcoin_primitives::locktime::absolute::LockTime +pub enum bitcoin_primitives::locktime::relative::LockTime +pub enum bitcoin_primitives::opcodes::Class +pub enum bitcoin_primitives::opcodes::ClassifyContext +pub enum bitcoin_primitives::relative::LockTime +pub fn &'a bitcoin_primitives::witness::Witness::into_iter(self) -> Self::IntoIter +pub fn alloc::borrow::Cow<'_, bitcoin_primitives::script::Script>::from(value: bitcoin_primitives::script::ScriptBuf) -> Self +pub fn alloc::borrow::Cow<'a, bitcoin_primitives::script::Script>::from(value: &'a bitcoin_primitives::script::Script) -> Self +pub fn alloc::boxed::Box::from(v: bitcoin_primitives::script::ScriptBuf) -> Self +pub fn alloc::boxed::Box::from(value: &'a bitcoin_primitives::script::Script) -> Self +pub fn alloc::boxed::Box::from(value: alloc::borrow::Cow<'a, bitcoin_primitives::script::Script>) -> Self +pub fn alloc::rc::Rc::from(value: &'a bitcoin_primitives::script::Script) -> Self +pub fn alloc::sync::Arc::from(value: &'a bitcoin_primitives::script::Script) -> Self +pub fn alloc::vec::Vec::from(v: bitcoin_primitives::script::ScriptBuf) -> Self +pub fn bitcoin_hashes::sha256d::Hash::from(hashtype: bitcoin_primitives::block::BlockHash) -> bitcoin_hashes::sha256d::Hash +pub fn bitcoin_hashes::sha256d::Hash::from(hashtype: bitcoin_primitives::block::WitnessCommitment) -> bitcoin_hashes::sha256d::Hash +pub fn bitcoin_hashes::sha256d::Hash::from(hashtype: bitcoin_primitives::merkle_tree::TxMerkleNode) -> bitcoin_hashes::sha256d::Hash +pub fn bitcoin_hashes::sha256d::Hash::from(hashtype: bitcoin_primitives::merkle_tree::WitnessMerkleNode) -> bitcoin_hashes::sha256d::Hash +pub fn bitcoin_hashes::sha256d::Hash::from(hashtype: bitcoin_primitives::transaction::Txid) -> bitcoin_hashes::sha256d::Hash +pub fn bitcoin_hashes::sha256d::Hash::from(hashtype: bitcoin_primitives::transaction::Wtxid) -> bitcoin_hashes::sha256d::Hash +pub fn bitcoin_hashes::sha256t::Hash::from(hashtype: bitcoin_primitives::taproot::TapNodeHash) -> bitcoin_hashes::sha256t::Hash +pub fn bitcoin_hashes::sha256t::Hash::from(hashtype: bitcoin_primitives::taproot::TapLeafHash) -> bitcoin_hashes::sha256t::Hash +pub fn bitcoin_hashes::sha256t::Hash::from(hashtype: bitcoin_primitives::taproot::TapTweakHash) -> bitcoin_hashes::sha256t::Hash +pub fn bitcoin_primitives::block::Block::block_hash(&self) -> bitcoin_primitives::block::BlockHash +pub fn bitcoin_primitives::block::Block::clone(&self) -> bitcoin_primitives::block::Block +pub fn bitcoin_primitives::block::Block::eq(&self, other: &bitcoin_primitives::block::Block) -> bool +pub fn bitcoin_primitives::block::Block::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_primitives::block::Block::cached_witness_root(&self) -> core::option::Option +pub fn bitcoin_primitives::block::Block::header(&self) -> &bitcoin_primitives::block::Header +pub fn bitcoin_primitives::block::Block::transactions(&self) -> &[bitcoin_primitives::transaction::Transaction] +pub fn bitcoin_primitives::block::Block::assume_checked(self, witness_root: core::option::Option) -> bitcoin_primitives::block::Block +pub fn bitcoin_primitives::block::Block::into_parts(self) -> (bitcoin_primitives::block::Header, alloc::vec::Vec) +pub fn bitcoin_primitives::block::Block::new_unchecked(header: bitcoin_primitives::block::Header, transactions: alloc::vec::Vec) -> bitcoin_primitives::block::Block +pub fn bitcoin_primitives::block::BlockHash::as_byte_array(&self) -> &Self::Bytes +pub fn bitcoin_primitives::block::BlockHash::as_ref(&self) -> &[u8; 32] +pub fn bitcoin_primitives::block::BlockHash::as_ref(&self) -> &[u8] +pub fn bitcoin_primitives::block::BlockHash::borrow(&self) -> &[u8; 32] +pub fn bitcoin_primitives::block::BlockHash::borrow(&self) -> &[u8] +pub fn bitcoin_primitives::block::BlockHash::clone(&self) -> bitcoin_primitives::block::BlockHash +pub fn bitcoin_primitives::block::BlockHash::cmp(&self, other: &bitcoin_primitives::block::BlockHash) -> core::cmp::Ordering +pub fn bitcoin_primitives::block::BlockHash::eq(&self, other: &bitcoin_primitives::block::BlockHash) -> bool +pub fn bitcoin_primitives::block::BlockHash::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_primitives::block::BlockHash::from(block: &bitcoin_primitives::block::Block) -> bitcoin_primitives::block::BlockHash +pub fn bitcoin_primitives::block::BlockHash::from(block: bitcoin_primitives::block::Block) -> bitcoin_primitives::block::BlockHash +pub fn bitcoin_primitives::block::BlockHash::from(header: &bitcoin_primitives::block::Header) -> bitcoin_primitives::block::BlockHash +pub fn bitcoin_primitives::block::BlockHash::from(header: bitcoin_primitives::block::Header) -> bitcoin_primitives::block::BlockHash +pub fn bitcoin_primitives::block::BlockHash::from(inner: bitcoin_hashes::sha256d::Hash) -> bitcoin_primitives::block::BlockHash +pub fn bitcoin_primitives::block::BlockHash::from_byte_array(bytes: Self::Bytes) -> Self +pub fn bitcoin_primitives::block::BlockHash::from_slice(sl: &[u8]) -> core::result::Result +pub fn bitcoin_primitives::block::BlockHash::from_str(s: &str) -> core::result::Result +pub fn bitcoin_primitives::block::BlockHash::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_primitives::block::BlockHash::partial_cmp(&self, other: &bitcoin_primitives::block::BlockHash) -> core::option::Option +pub fn bitcoin_primitives::block::BlockHash::to_byte_array(self) -> Self::Bytes +pub fn bitcoin_primitives::block::Checked::clone(&self) -> bitcoin_primitives::block::Checked +pub fn bitcoin_primitives::block::Checked::cmp(&self, other: &bitcoin_primitives::block::Checked) -> core::cmp::Ordering +pub fn bitcoin_primitives::block::Checked::eq(&self, other: &bitcoin_primitives::block::Checked) -> bool +pub fn bitcoin_primitives::block::Checked::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_primitives::block::Checked::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_primitives::block::Checked::partial_cmp(&self, other: &bitcoin_primitives::block::Checked) -> core::option::Option +pub fn bitcoin_primitives::block::Header::block_hash(&self) -> bitcoin_primitives::block::BlockHash +pub fn bitcoin_primitives::block::Header::clone(&self) -> bitcoin_primitives::block::Header +pub fn bitcoin_primitives::block::Header::cmp(&self, other: &bitcoin_primitives::block::Header) -> core::cmp::Ordering +pub fn bitcoin_primitives::block::Header::eq(&self, other: &bitcoin_primitives::block::Header) -> bool +pub fn bitcoin_primitives::block::Header::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_primitives::block::Header::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_primitives::block::Header::partial_cmp(&self, other: &bitcoin_primitives::block::Header) -> core::option::Option +pub fn bitcoin_primitives::block::Unchecked::clone(&self) -> bitcoin_primitives::block::Unchecked +pub fn bitcoin_primitives::block::Unchecked::cmp(&self, other: &bitcoin_primitives::block::Unchecked) -> core::cmp::Ordering +pub fn bitcoin_primitives::block::Unchecked::eq(&self, other: &bitcoin_primitives::block::Unchecked) -> bool +pub fn bitcoin_primitives::block::Unchecked::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_primitives::block::Unchecked::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_primitives::block::Unchecked::partial_cmp(&self, other: &bitcoin_primitives::block::Unchecked) -> core::option::Option +pub fn bitcoin_primitives::block::Version::clone(&self) -> bitcoin_primitives::block::Version +pub fn bitcoin_primitives::block::Version::cmp(&self, other: &bitcoin_primitives::block::Version) -> core::cmp::Ordering +pub fn bitcoin_primitives::block::Version::default() -> bitcoin_primitives::block::Version +pub fn bitcoin_primitives::block::Version::eq(&self, other: &bitcoin_primitives::block::Version) -> bool +pub fn bitcoin_primitives::block::Version::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_primitives::block::Version::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_primitives::block::Version::is_signalling_soft_fork(&self, bit: u8) -> bool +pub fn bitcoin_primitives::block::Version::partial_cmp(&self, other: &bitcoin_primitives::block::Version) -> core::option::Option +pub fn bitcoin_primitives::block::Version::to_consensus(self) -> i32 +pub fn bitcoin_primitives::block::WitnessCommitment::as_byte_array(&self) -> &Self::Bytes +pub fn bitcoin_primitives::block::WitnessCommitment::as_ref(&self) -> &[u8; 32] +pub fn bitcoin_primitives::block::WitnessCommitment::as_ref(&self) -> &[u8] +pub fn bitcoin_primitives::block::WitnessCommitment::borrow(&self) -> &[u8; 32] +pub fn bitcoin_primitives::block::WitnessCommitment::borrow(&self) -> &[u8] +pub fn bitcoin_primitives::block::WitnessCommitment::clone(&self) -> bitcoin_primitives::block::WitnessCommitment +pub fn bitcoin_primitives::block::WitnessCommitment::cmp(&self, other: &bitcoin_primitives::block::WitnessCommitment) -> core::cmp::Ordering +pub fn bitcoin_primitives::block::WitnessCommitment::eq(&self, other: &bitcoin_primitives::block::WitnessCommitment) -> bool +pub fn bitcoin_primitives::block::WitnessCommitment::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_primitives::block::WitnessCommitment::from(inner: bitcoin_hashes::sha256d::Hash) -> bitcoin_primitives::block::WitnessCommitment +pub fn bitcoin_primitives::block::WitnessCommitment::from_byte_array(bytes: Self::Bytes) -> Self +pub fn bitcoin_primitives::block::WitnessCommitment::from_slice(sl: &[u8]) -> core::result::Result +pub fn bitcoin_primitives::block::WitnessCommitment::from_str(s: &str) -> core::result::Result +pub fn bitcoin_primitives::block::WitnessCommitment::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_primitives::block::WitnessCommitment::partial_cmp(&self, other: &bitcoin_primitives::block::WitnessCommitment) -> core::option::Option +pub fn bitcoin_primitives::block::WitnessCommitment::to_byte_array(self) -> Self::Bytes +pub fn bitcoin_primitives::locktime::absolute::LockTime::clone(&self) -> bitcoin_primitives::locktime::absolute::LockTime +pub fn bitcoin_primitives::locktime::absolute::LockTime::eq(&self, other: &bitcoin_primitives::locktime::absolute::LockTime) -> bool +pub fn bitcoin_primitives::locktime::absolute::LockTime::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_primitives::locktime::absolute::LockTime::from(h: bitcoin_units::locktime::absolute::Height) -> Self +pub fn bitcoin_primitives::locktime::absolute::LockTime::from(t: bitcoin_units::locktime::absolute::Time) -> Self +pub fn bitcoin_primitives::locktime::absolute::LockTime::from_consensus(n: u32) -> Self +pub fn bitcoin_primitives::locktime::absolute::LockTime::from_height(n: u32) -> core::result::Result +pub fn bitcoin_primitives::locktime::absolute::LockTime::from_hex(s: &str) -> core::result::Result +pub fn bitcoin_primitives::locktime::absolute::LockTime::from_str(s: &str) -> core::result::Result +pub fn bitcoin_primitives::locktime::absolute::LockTime::from_time(n: u32) -> core::result::Result +pub fn bitcoin_primitives::locktime::absolute::LockTime::from_unprefixed_hex(s: &str) -> core::result::Result +pub fn bitcoin_primitives::locktime::absolute::LockTime::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_primitives::locktime::absolute::LockTime::is_implied_by(&self, other: bitcoin_primitives::locktime::absolute::LockTime) -> bool +pub fn bitcoin_primitives::locktime::absolute::LockTime::is_satisfied_by(&self, height: bitcoin_units::locktime::absolute::Height, time: bitcoin_units::locktime::absolute::Time) -> bool +pub fn bitcoin_primitives::locktime::absolute::LockTime::partial_cmp(&self, other: &bitcoin_primitives::locktime::absolute::LockTime) -> core::option::Option +pub fn bitcoin_primitives::locktime::absolute::LockTime::to_consensus_u32(self) -> u32 +pub fn bitcoin_primitives::locktime::absolute::LockTime::try_from(s: &str) -> core::result::Result +pub fn bitcoin_primitives::locktime::absolute::LockTime::try_from(s: alloc::boxed::Box) -> core::result::Result +pub fn bitcoin_primitives::locktime::absolute::LockTime::try_from(s: alloc::string::String) -> core::result::Result +pub fn bitcoin_primitives::locktime::relative::DisabledLockTimeError::clone(&self) -> bitcoin_primitives::locktime::relative::DisabledLockTimeError +pub fn bitcoin_primitives::locktime::relative::DisabledLockTimeError::disabled_locktime_value(&self) -> u32 +pub fn bitcoin_primitives::locktime::relative::DisabledLockTimeError::eq(&self, other: &bitcoin_primitives::locktime::relative::DisabledLockTimeError) -> bool +pub fn bitcoin_primitives::locktime::relative::DisabledLockTimeError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_primitives::locktime::relative::IncompatibleHeightError::clone(&self) -> bitcoin_primitives::locktime::relative::IncompatibleHeightError +pub fn bitcoin_primitives::locktime::relative::IncompatibleHeightError::eq(&self, other: &bitcoin_primitives::locktime::relative::IncompatibleHeightError) -> bool +pub fn bitcoin_primitives::locktime::relative::IncompatibleHeightError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_primitives::locktime::relative::IncompatibleTimeError::clone(&self) -> bitcoin_primitives::locktime::relative::IncompatibleTimeError +pub fn bitcoin_primitives::locktime::relative::IncompatibleTimeError::eq(&self, other: &bitcoin_primitives::locktime::relative::IncompatibleTimeError) -> bool +pub fn bitcoin_primitives::locktime::relative::IncompatibleTimeError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_primitives::locktime::relative::LockTime::clone(&self) -> bitcoin_primitives::locktime::relative::LockTime +pub fn bitcoin_primitives::locktime::relative::LockTime::eq(&self, other: &bitcoin_primitives::locktime::relative::LockTime) -> bool +pub fn bitcoin_primitives::locktime::relative::LockTime::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_primitives::locktime::relative::LockTime::from(h: bitcoin_units::locktime::relative::Height) -> Self +pub fn bitcoin_primitives::locktime::relative::LockTime::from(t: bitcoin_units::locktime::relative::Time) -> Self +pub fn bitcoin_primitives::locktime::relative::LockTime::from_consensus(n: u32) -> core::result::Result +pub fn bitcoin_primitives::locktime::relative::LockTime::from_sequence(n: bitcoin_primitives::sequence::Sequence) -> core::result::Result +pub fn bitcoin_primitives::locktime::relative::LockTime::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_primitives::locktime::relative::LockTime::is_implied_by(&self, other: bitcoin_primitives::locktime::relative::LockTime) -> bool +pub fn bitcoin_primitives::locktime::relative::LockTime::is_implied_by_sequence(&self, other: bitcoin_primitives::sequence::Sequence) -> bool +pub fn bitcoin_primitives::locktime::relative::LockTime::is_satisfied_by(&self, h: bitcoin_units::locktime::relative::Height, t: bitcoin_units::locktime::relative::Time) -> bool +pub fn bitcoin_primitives::locktime::relative::LockTime::is_satisfied_by_height(&self, height: bitcoin_units::locktime::relative::Height) -> core::result::Result +pub fn bitcoin_primitives::locktime::relative::LockTime::is_satisfied_by_time(&self, time: bitcoin_units::locktime::relative::Time) -> core::result::Result +pub fn bitcoin_primitives::locktime::relative::LockTime::partial_cmp(&self, other: &bitcoin_primitives::locktime::relative::LockTime) -> core::option::Option +pub fn bitcoin_primitives::locktime::relative::LockTime::to_consensus_u32(&self) -> u32 +pub fn bitcoin_primitives::locktime::relative::LockTime::to_sequence(&self) -> bitcoin_primitives::sequence::Sequence +pub fn bitcoin_primitives::locktime::relative::LockTime::try_from(seq: bitcoin_primitives::sequence::Sequence) -> core::result::Result +pub fn bitcoin_primitives::merkle_tree::TxMerkleNode::as_byte_array(&self) -> &Self::Bytes +pub fn bitcoin_primitives::merkle_tree::TxMerkleNode::as_ref(&self) -> &[u8; 32] +pub fn bitcoin_primitives::merkle_tree::TxMerkleNode::as_ref(&self) -> &[u8] +pub fn bitcoin_primitives::merkle_tree::TxMerkleNode::borrow(&self) -> &[u8; 32] +pub fn bitcoin_primitives::merkle_tree::TxMerkleNode::borrow(&self) -> &[u8] +pub fn bitcoin_primitives::merkle_tree::TxMerkleNode::clone(&self) -> bitcoin_primitives::merkle_tree::TxMerkleNode +pub fn bitcoin_primitives::merkle_tree::TxMerkleNode::cmp(&self, other: &bitcoin_primitives::merkle_tree::TxMerkleNode) -> core::cmp::Ordering +pub fn bitcoin_primitives::merkle_tree::TxMerkleNode::eq(&self, other: &bitcoin_primitives::merkle_tree::TxMerkleNode) -> bool +pub fn bitcoin_primitives::merkle_tree::TxMerkleNode::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_primitives::merkle_tree::TxMerkleNode::from(inner: bitcoin_hashes::sha256d::Hash) -> bitcoin_primitives::merkle_tree::TxMerkleNode +pub fn bitcoin_primitives::merkle_tree::TxMerkleNode::from_byte_array(bytes: Self::Bytes) -> Self +pub fn bitcoin_primitives::merkle_tree::TxMerkleNode::from_slice(sl: &[u8]) -> core::result::Result +pub fn bitcoin_primitives::merkle_tree::TxMerkleNode::from_str(s: &str) -> core::result::Result +pub fn bitcoin_primitives::merkle_tree::TxMerkleNode::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_primitives::merkle_tree::TxMerkleNode::partial_cmp(&self, other: &bitcoin_primitives::merkle_tree::TxMerkleNode) -> core::option::Option +pub fn bitcoin_primitives::merkle_tree::TxMerkleNode::to_byte_array(self) -> Self::Bytes +pub fn bitcoin_primitives::merkle_tree::WitnessMerkleNode::as_byte_array(&self) -> &Self::Bytes +pub fn bitcoin_primitives::merkle_tree::WitnessMerkleNode::as_ref(&self) -> &[u8; 32] +pub fn bitcoin_primitives::merkle_tree::WitnessMerkleNode::as_ref(&self) -> &[u8] +pub fn bitcoin_primitives::merkle_tree::WitnessMerkleNode::borrow(&self) -> &[u8; 32] +pub fn bitcoin_primitives::merkle_tree::WitnessMerkleNode::borrow(&self) -> &[u8] +pub fn bitcoin_primitives::merkle_tree::WitnessMerkleNode::clone(&self) -> bitcoin_primitives::merkle_tree::WitnessMerkleNode +pub fn bitcoin_primitives::merkle_tree::WitnessMerkleNode::cmp(&self, other: &bitcoin_primitives::merkle_tree::WitnessMerkleNode) -> core::cmp::Ordering +pub fn bitcoin_primitives::merkle_tree::WitnessMerkleNode::eq(&self, other: &bitcoin_primitives::merkle_tree::WitnessMerkleNode) -> bool +pub fn bitcoin_primitives::merkle_tree::WitnessMerkleNode::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_primitives::merkle_tree::WitnessMerkleNode::from(inner: bitcoin_hashes::sha256d::Hash) -> bitcoin_primitives::merkle_tree::WitnessMerkleNode +pub fn bitcoin_primitives::merkle_tree::WitnessMerkleNode::from_byte_array(bytes: Self::Bytes) -> Self +pub fn bitcoin_primitives::merkle_tree::WitnessMerkleNode::from_slice(sl: &[u8]) -> core::result::Result +pub fn bitcoin_primitives::merkle_tree::WitnessMerkleNode::from_str(s: &str) -> core::result::Result +pub fn bitcoin_primitives::merkle_tree::WitnessMerkleNode::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_primitives::merkle_tree::WitnessMerkleNode::partial_cmp(&self, other: &bitcoin_primitives::merkle_tree::WitnessMerkleNode) -> core::option::Option +pub fn bitcoin_primitives::merkle_tree::WitnessMerkleNode::to_byte_array(self) -> Self::Bytes +pub fn bitcoin_primitives::opcodes::Class::clone(&self) -> bitcoin_primitives::opcodes::Class +pub fn bitcoin_primitives::opcodes::Class::eq(&self, other: &bitcoin_primitives::opcodes::Class) -> bool +pub fn bitcoin_primitives::opcodes::Class::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_primitives::opcodes::ClassifyContext::clone(&self) -> bitcoin_primitives::opcodes::ClassifyContext +pub fn bitcoin_primitives::opcodes::ClassifyContext::cmp(&self, other: &bitcoin_primitives::opcodes::ClassifyContext) -> core::cmp::Ordering +pub fn bitcoin_primitives::opcodes::ClassifyContext::eq(&self, other: &bitcoin_primitives::opcodes::ClassifyContext) -> bool +pub fn bitcoin_primitives::opcodes::ClassifyContext::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_primitives::opcodes::ClassifyContext::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_primitives::opcodes::ClassifyContext::partial_cmp(&self, other: &bitcoin_primitives::opcodes::ClassifyContext) -> core::option::Option +pub fn bitcoin_primitives::opcodes::Opcode::classify(self, ctx: bitcoin_primitives::opcodes::ClassifyContext) -> bitcoin_primitives::opcodes::Class +pub fn bitcoin_primitives::opcodes::Opcode::clone(&self) -> bitcoin_primitives::opcodes::Opcode +pub fn bitcoin_primitives::opcodes::Opcode::eq(&self, other: &bitcoin_primitives::opcodes::Opcode) -> bool +pub fn bitcoin_primitives::opcodes::Opcode::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_primitives::opcodes::Opcode::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::result::Result<(), core::fmt::Error> +pub fn bitcoin_primitives::opcodes::Opcode::from(b: u8) -> bitcoin_primitives::opcodes::Opcode +pub fn bitcoin_primitives::pow::CompactTarget::clone(&self) -> bitcoin_primitives::pow::CompactTarget +pub fn bitcoin_primitives::pow::CompactTarget::cmp(&self, other: &bitcoin_primitives::pow::CompactTarget) -> core::cmp::Ordering +pub fn bitcoin_primitives::pow::CompactTarget::default() -> bitcoin_primitives::pow::CompactTarget +pub fn bitcoin_primitives::pow::CompactTarget::eq(&self, other: &bitcoin_primitives::pow::CompactTarget) -> bool +pub fn bitcoin_primitives::pow::CompactTarget::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_primitives::pow::CompactTarget::from_consensus(bits: u32) -> Self +pub fn bitcoin_primitives::pow::CompactTarget::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_primitives::pow::CompactTarget::partial_cmp(&self, other: &bitcoin_primitives::pow::CompactTarget) -> core::option::Option +pub fn bitcoin_primitives::pow::CompactTarget::to_consensus(self) -> u32 +pub fn bitcoin_primitives::pow::CompactTarget::to_hex(&self) -> alloc::string::String +pub fn bitcoin_primitives::script::Script::as_bytes(&self) -> &[u8] +pub fn bitcoin_primitives::script::Script::as_mut(&mut self) -> &mut [u8] +pub fn bitcoin_primitives::script::Script::as_mut(&mut self) -> &mut bitcoin_primitives::script::Script +pub fn bitcoin_primitives::script::Script::as_mut_bytes(&mut self) -> &mut [u8] +pub fn bitcoin_primitives::script::Script::as_ref(&self) -> &[u8] +pub fn bitcoin_primitives::script::Script::as_ref(&self) -> &bitcoin_primitives::script::Script +pub fn bitcoin_primitives::script::Script::cmp(&self, other: &bitcoin_primitives::script::Script) -> core::cmp::Ordering +pub fn bitcoin_primitives::script::Script::eq(&self, other: &bitcoin_primitives::script::Script) -> bool +pub fn bitcoin_primitives::script::Script::eq(&self, other: &bitcoin_primitives::script::ScriptBuf) -> bool +pub fn bitcoin_primitives::script::Script::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_primitives::script::Script::from_bytes(bytes: &[u8]) -> &bitcoin_primitives::script::Script +pub fn bitcoin_primitives::script::Script::from_bytes_mut(bytes: &mut [u8]) -> &mut bitcoin_primitives::script::Script +pub fn bitcoin_primitives::script::Script::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_primitives::script::Script::index(&self, index: (core::ops::range::Bound, core::ops::range::Bound)) -> &Self::Output +pub fn bitcoin_primitives::script::Script::index(&self, index: core::ops::range::Range) -> &Self::Output +pub fn bitcoin_primitives::script::Script::index(&self, index: core::ops::range::RangeFrom) -> &Self::Output +pub fn bitcoin_primitives::script::Script::index(&self, index: core::ops::range::RangeFull) -> &Self::Output +pub fn bitcoin_primitives::script::Script::index(&self, index: core::ops::range::RangeInclusive) -> &Self::Output +pub fn bitcoin_primitives::script::Script::index(&self, index: core::ops::range::RangeTo) -> &Self::Output +pub fn bitcoin_primitives::script::Script::index(&self, index: core::ops::range::RangeToInclusive) -> &Self::Output +pub fn bitcoin_primitives::script::Script::into_script_buf(self: alloc::boxed::Box) -> bitcoin_primitives::script::ScriptBuf +pub fn bitcoin_primitives::script::Script::is_empty(&self) -> bool +pub fn bitcoin_primitives::script::Script::len(&self) -> usize +pub fn bitcoin_primitives::script::Script::new() -> &'static bitcoin_primitives::script::Script +pub fn bitcoin_primitives::script::Script::partial_cmp(&self, other: &bitcoin_primitives::script::Script) -> core::option::Option +pub fn bitcoin_primitives::script::Script::partial_cmp(&self, other: &bitcoin_primitives::script::ScriptBuf) -> core::option::Option +pub fn bitcoin_primitives::script::Script::to_bytes(&self) -> alloc::vec::Vec +pub fn bitcoin_primitives::script::Script::to_hex(&self) -> alloc::string::String +pub fn bitcoin_primitives::script::Script::to_owned(&self) -> Self::Owned +pub fn bitcoin_primitives::script::Script::to_vec(&self) -> alloc::vec::Vec +pub fn bitcoin_primitives::script::ScriptBuf::as_mut(&mut self) -> &mut [u8] +pub fn bitcoin_primitives::script::ScriptBuf::as_mut(&mut self) -> &mut bitcoin_primitives::script::Script +pub fn bitcoin_primitives::script::ScriptBuf::as_mut_script(&mut self) -> &mut bitcoin_primitives::script::Script +pub fn bitcoin_primitives::script::ScriptBuf::as_ref(&self) -> &[u8] +pub fn bitcoin_primitives::script::ScriptBuf::as_ref(&self) -> &bitcoin_primitives::script::Script +pub fn bitcoin_primitives::script::ScriptBuf::as_script(&self) -> &bitcoin_primitives::script::Script +pub fn bitcoin_primitives::script::ScriptBuf::borrow(&self) -> &bitcoin_primitives::script::Script +pub fn bitcoin_primitives::script::ScriptBuf::borrow_mut(&mut self) -> &mut bitcoin_primitives::script::Script +pub fn bitcoin_primitives::script::ScriptBuf::clone(&self) -> bitcoin_primitives::script::ScriptBuf +pub fn bitcoin_primitives::script::ScriptBuf::cmp(&self, other: &bitcoin_primitives::script::ScriptBuf) -> core::cmp::Ordering +pub fn bitcoin_primitives::script::ScriptBuf::default() -> bitcoin_primitives::script::ScriptBuf +pub fn bitcoin_primitives::script::ScriptBuf::deref(&self) -> &Self::Target +pub fn bitcoin_primitives::script::ScriptBuf::deref_mut(&mut self) -> &mut Self::Target +pub fn bitcoin_primitives::script::ScriptBuf::eq(&self, other: &bitcoin_primitives::script::Script) -> bool +pub fn bitcoin_primitives::script::ScriptBuf::eq(&self, other: &bitcoin_primitives::script::ScriptBuf) -> bool +pub fn bitcoin_primitives::script::ScriptBuf::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_primitives::script::ScriptBuf::from(v: alloc::vec::Vec) -> Self +pub fn bitcoin_primitives::script::ScriptBuf::from(value: &'a bitcoin_primitives::script::Script) -> Self +pub fn bitcoin_primitives::script::ScriptBuf::from(value: alloc::borrow::Cow<'a, bitcoin_primitives::script::Script>) -> Self +pub fn bitcoin_primitives::script::ScriptBuf::from_bytes(bytes: alloc::vec::Vec) -> Self +pub fn bitcoin_primitives::script::ScriptBuf::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_primitives::script::ScriptBuf::into_boxed_script(self) -> alloc::boxed::Box +pub fn bitcoin_primitives::script::ScriptBuf::into_bytes(self) -> alloc::vec::Vec +pub fn bitcoin_primitives::script::ScriptBuf::partial_cmp(&self, other: &bitcoin_primitives::script::Script) -> core::option::Option +pub fn bitcoin_primitives::script::ScriptBuf::partial_cmp(&self, other: &bitcoin_primitives::script::ScriptBuf) -> core::option::Option +pub fn bitcoin_primitives::script::ScriptBuf::reserve(&mut self, additional_len: usize) +pub fn bitcoin_primitives::script::ScriptBuf::reserve_exact(&mut self, additional_len: usize) +pub fn bitcoin_primitives::script::ScriptBuf::to_hex(&self) -> alloc::string::String +pub fn bitcoin_primitives::script::ScriptBuf::with_capacity(capacity: usize) -> Self +pub fn bitcoin_primitives::sequence::Sequence::clone(&self) -> bitcoin_primitives::sequence::Sequence +pub fn bitcoin_primitives::sequence::Sequence::cmp(&self, other: &bitcoin_primitives::sequence::Sequence) -> core::cmp::Ordering +pub fn bitcoin_primitives::sequence::Sequence::default() -> Self +pub fn bitcoin_primitives::sequence::Sequence::enables_absolute_lock_time(&self) -> bool +pub fn bitcoin_primitives::sequence::Sequence::eq(&self, other: &bitcoin_primitives::sequence::Sequence) -> bool +pub fn bitcoin_primitives::sequence::Sequence::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_primitives::sequence::Sequence::from(lt: bitcoin_primitives::locktime::relative::LockTime) -> bitcoin_primitives::sequence::Sequence +pub fn bitcoin_primitives::sequence::Sequence::from_512_second_intervals(intervals: u16) -> Self +pub fn bitcoin_primitives::sequence::Sequence::from_consensus(n: u32) -> Self +pub fn bitcoin_primitives::sequence::Sequence::from_height(height: u16) -> Self +pub fn bitcoin_primitives::sequence::Sequence::from_hex(s: &str) -> core::result::Result +pub fn bitcoin_primitives::sequence::Sequence::from_seconds_ceil(seconds: u32) -> core::result::Result +pub fn bitcoin_primitives::sequence::Sequence::from_seconds_floor(seconds: u32) -> core::result::Result +pub fn bitcoin_primitives::sequence::Sequence::from_str(s: &str) -> core::result::Result +pub fn bitcoin_primitives::sequence::Sequence::from_unprefixed_hex(s: &str) -> core::result::Result +pub fn bitcoin_primitives::sequence::Sequence::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_primitives::sequence::Sequence::is_final(&self) -> bool +pub fn bitcoin_primitives::sequence::Sequence::is_height_locked(&self) -> bool +pub fn bitcoin_primitives::sequence::Sequence::is_rbf(&self) -> bool +pub fn bitcoin_primitives::sequence::Sequence::is_relative_lock_time(&self) -> bool +pub fn bitcoin_primitives::sequence::Sequence::is_time_locked(&self) -> bool +pub fn bitcoin_primitives::sequence::Sequence::partial_cmp(&self, other: &bitcoin_primitives::sequence::Sequence) -> core::option::Option +pub fn bitcoin_primitives::sequence::Sequence::to_consensus_u32(self) -> u32 +pub fn bitcoin_primitives::sequence::Sequence::to_hex(&self) -> alloc::string::String +pub fn bitcoin_primitives::sequence::Sequence::to_relative_lock_time(&self) -> core::option::Option +pub fn bitcoin_primitives::sequence::Sequence::try_from(s: &str) -> core::result::Result +pub fn bitcoin_primitives::sequence::Sequence::try_from(s: alloc::boxed::Box) -> core::result::Result +pub fn bitcoin_primitives::sequence::Sequence::try_from(s: alloc::string::String) -> core::result::Result +pub fn bitcoin_primitives::taproot::TapBranchTag::clone(&self) -> bitcoin_primitives::taproot::TapBranchTag +pub fn bitcoin_primitives::taproot::TapBranchTag::cmp(&self, other: &bitcoin_primitives::taproot::TapBranchTag) -> core::cmp::Ordering +pub fn bitcoin_primitives::taproot::TapBranchTag::default() -> bitcoin_primitives::taproot::TapBranchTag +pub fn bitcoin_primitives::taproot::TapBranchTag::engine() -> bitcoin_hashes::sha256::HashEngine +pub fn bitcoin_primitives::taproot::TapBranchTag::eq(&self, other: &bitcoin_primitives::taproot::TapBranchTag) -> bool +pub fn bitcoin_primitives::taproot::TapBranchTag::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_primitives::taproot::TapBranchTag::partial_cmp(&self, other: &bitcoin_primitives::taproot::TapBranchTag) -> core::option::Option +pub fn bitcoin_primitives::taproot::TapLeafHash::as_byte_array(&self) -> &Self::Bytes +pub fn bitcoin_primitives::taproot::TapLeafHash::as_ref(&self) -> &[u8; 32] +pub fn bitcoin_primitives::taproot::TapLeafHash::as_ref(&self) -> &[u8] +pub fn bitcoin_primitives::taproot::TapLeafHash::borrow(&self) -> &[u8; 32] +pub fn bitcoin_primitives::taproot::TapLeafHash::borrow(&self) -> &[u8] +pub fn bitcoin_primitives::taproot::TapLeafHash::clone(&self) -> bitcoin_primitives::taproot::TapLeafHash +pub fn bitcoin_primitives::taproot::TapLeafHash::cmp(&self, other: &bitcoin_primitives::taproot::TapLeafHash) -> core::cmp::Ordering +pub fn bitcoin_primitives::taproot::TapLeafHash::eq(&self, other: &bitcoin_primitives::taproot::TapLeafHash) -> bool +pub fn bitcoin_primitives::taproot::TapLeafHash::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_primitives::taproot::TapLeafHash::from(inner: bitcoin_hashes::sha256t::Hash) -> bitcoin_primitives::taproot::TapLeafHash +pub fn bitcoin_primitives::taproot::TapLeafHash::from_byte_array(bytes: Self::Bytes) -> Self +pub fn bitcoin_primitives::taproot::TapLeafHash::from_slice(sl: &[u8]) -> core::result::Result +pub fn bitcoin_primitives::taproot::TapLeafHash::from_str(s: &str) -> core::result::Result +pub fn bitcoin_primitives::taproot::TapLeafHash::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_primitives::taproot::TapLeafHash::partial_cmp(&self, other: &bitcoin_primitives::taproot::TapLeafHash) -> core::option::Option +pub fn bitcoin_primitives::taproot::TapLeafHash::to_byte_array(self) -> Self::Bytes +pub fn bitcoin_primitives::taproot::TapLeafTag::clone(&self) -> bitcoin_primitives::taproot::TapLeafTag +pub fn bitcoin_primitives::taproot::TapLeafTag::cmp(&self, other: &bitcoin_primitives::taproot::TapLeafTag) -> core::cmp::Ordering +pub fn bitcoin_primitives::taproot::TapLeafTag::default() -> bitcoin_primitives::taproot::TapLeafTag +pub fn bitcoin_primitives::taproot::TapLeafTag::engine() -> bitcoin_hashes::sha256::HashEngine +pub fn bitcoin_primitives::taproot::TapLeafTag::eq(&self, other: &bitcoin_primitives::taproot::TapLeafTag) -> bool +pub fn bitcoin_primitives::taproot::TapLeafTag::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_primitives::taproot::TapLeafTag::partial_cmp(&self, other: &bitcoin_primitives::taproot::TapLeafTag) -> core::option::Option +pub fn bitcoin_primitives::taproot::TapNodeHash::as_byte_array(&self) -> &Self::Bytes +pub fn bitcoin_primitives::taproot::TapNodeHash::as_ref(&self) -> &[u8; 32] +pub fn bitcoin_primitives::taproot::TapNodeHash::as_ref(&self) -> &[u8] +pub fn bitcoin_primitives::taproot::TapNodeHash::borrow(&self) -> &[u8; 32] +pub fn bitcoin_primitives::taproot::TapNodeHash::borrow(&self) -> &[u8] +pub fn bitcoin_primitives::taproot::TapNodeHash::clone(&self) -> bitcoin_primitives::taproot::TapNodeHash +pub fn bitcoin_primitives::taproot::TapNodeHash::cmp(&self, other: &bitcoin_primitives::taproot::TapNodeHash) -> core::cmp::Ordering +pub fn bitcoin_primitives::taproot::TapNodeHash::eq(&self, other: &bitcoin_primitives::taproot::TapNodeHash) -> bool +pub fn bitcoin_primitives::taproot::TapNodeHash::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_primitives::taproot::TapNodeHash::from(inner: bitcoin_hashes::sha256t::Hash) -> bitcoin_primitives::taproot::TapNodeHash +pub fn bitcoin_primitives::taproot::TapNodeHash::from(leaf: bitcoin_primitives::taproot::TapLeafHash) -> bitcoin_primitives::taproot::TapNodeHash +pub fn bitcoin_primitives::taproot::TapNodeHash::from_byte_array(bytes: Self::Bytes) -> Self +pub fn bitcoin_primitives::taproot::TapNodeHash::from_slice(sl: &[u8]) -> core::result::Result +pub fn bitcoin_primitives::taproot::TapNodeHash::from_str(s: &str) -> core::result::Result +pub fn bitcoin_primitives::taproot::TapNodeHash::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_primitives::taproot::TapNodeHash::partial_cmp(&self, other: &bitcoin_primitives::taproot::TapNodeHash) -> core::option::Option +pub fn bitcoin_primitives::taproot::TapNodeHash::to_byte_array(self) -> Self::Bytes +pub fn bitcoin_primitives::taproot::TapTweakHash::as_byte_array(&self) -> &Self::Bytes +pub fn bitcoin_primitives::taproot::TapTweakHash::as_ref(&self) -> &[u8; 32] +pub fn bitcoin_primitives::taproot::TapTweakHash::as_ref(&self) -> &[u8] +pub fn bitcoin_primitives::taproot::TapTweakHash::borrow(&self) -> &[u8; 32] +pub fn bitcoin_primitives::taproot::TapTweakHash::borrow(&self) -> &[u8] +pub fn bitcoin_primitives::taproot::TapTweakHash::clone(&self) -> bitcoin_primitives::taproot::TapTweakHash +pub fn bitcoin_primitives::taproot::TapTweakHash::cmp(&self, other: &bitcoin_primitives::taproot::TapTweakHash) -> core::cmp::Ordering +pub fn bitcoin_primitives::taproot::TapTweakHash::eq(&self, other: &bitcoin_primitives::taproot::TapTweakHash) -> bool +pub fn bitcoin_primitives::taproot::TapTweakHash::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_primitives::taproot::TapTweakHash::from(inner: bitcoin_hashes::sha256t::Hash) -> bitcoin_primitives::taproot::TapTweakHash +pub fn bitcoin_primitives::taproot::TapTweakHash::from_byte_array(bytes: Self::Bytes) -> Self +pub fn bitcoin_primitives::taproot::TapTweakHash::from_slice(sl: &[u8]) -> core::result::Result +pub fn bitcoin_primitives::taproot::TapTweakHash::from_str(s: &str) -> core::result::Result +pub fn bitcoin_primitives::taproot::TapTweakHash::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_primitives::taproot::TapTweakHash::partial_cmp(&self, other: &bitcoin_primitives::taproot::TapTweakHash) -> core::option::Option +pub fn bitcoin_primitives::taproot::TapTweakHash::to_byte_array(self) -> Self::Bytes +pub fn bitcoin_primitives::taproot::TapTweakTag::clone(&self) -> bitcoin_primitives::taproot::TapTweakTag +pub fn bitcoin_primitives::taproot::TapTweakTag::cmp(&self, other: &bitcoin_primitives::taproot::TapTweakTag) -> core::cmp::Ordering +pub fn bitcoin_primitives::taproot::TapTweakTag::default() -> bitcoin_primitives::taproot::TapTweakTag +pub fn bitcoin_primitives::taproot::TapTweakTag::engine() -> bitcoin_hashes::sha256::HashEngine +pub fn bitcoin_primitives::taproot::TapTweakTag::eq(&self, other: &bitcoin_primitives::taproot::TapTweakTag) -> bool +pub fn bitcoin_primitives::taproot::TapTweakTag::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_primitives::taproot::TapTweakTag::partial_cmp(&self, other: &bitcoin_primitives::taproot::TapTweakTag) -> core::option::Option +pub fn bitcoin_primitives::transaction::OutPoint::clone(&self) -> bitcoin_primitives::transaction::OutPoint +pub fn bitcoin_primitives::transaction::OutPoint::cmp(&self, other: &bitcoin_primitives::transaction::OutPoint) -> core::cmp::Ordering +pub fn bitcoin_primitives::transaction::OutPoint::eq(&self, other: &bitcoin_primitives::transaction::OutPoint) -> bool +pub fn bitcoin_primitives::transaction::OutPoint::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_primitives::transaction::OutPoint::from_str(s: &str) -> core::result::Result +pub fn bitcoin_primitives::transaction::OutPoint::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_primitives::transaction::OutPoint::partial_cmp(&self, other: &bitcoin_primitives::transaction::OutPoint) -> core::option::Option +pub fn bitcoin_primitives::transaction::ParseOutPointError::clone(&self) -> bitcoin_primitives::transaction::ParseOutPointError +pub fn bitcoin_primitives::transaction::ParseOutPointError::eq(&self, other: &bitcoin_primitives::transaction::ParseOutPointError) -> bool +pub fn bitcoin_primitives::transaction::ParseOutPointError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_primitives::transaction::ParseOutPointError::from(never: core::convert::Infallible) -> Self +pub fn bitcoin_primitives::transaction::Transaction::clone(&self) -> bitcoin_primitives::transaction::Transaction +pub fn bitcoin_primitives::transaction::Transaction::cmp(&self, other: &Self) -> core::cmp::Ordering +pub fn bitcoin_primitives::transaction::Transaction::compute_ntxid(&self) -> bitcoin_hashes::sha256d::Hash +pub fn bitcoin_primitives::transaction::Transaction::compute_txid(&self) -> bitcoin_primitives::transaction::Txid +pub fn bitcoin_primitives::transaction::Transaction::compute_wtxid(&self) -> bitcoin_primitives::transaction::Wtxid +pub fn bitcoin_primitives::transaction::Transaction::eq(&self, other: &bitcoin_primitives::transaction::Transaction) -> bool +pub fn bitcoin_primitives::transaction::Transaction::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_primitives::transaction::Transaction::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_primitives::transaction::Transaction::inputs(&self) -> &[bitcoin_primitives::transaction::TxIn] +pub fn bitcoin_primitives::transaction::Transaction::inputs_mut(&mut self) -> &mut [bitcoin_primitives::transaction::TxIn] +pub fn bitcoin_primitives::transaction::Transaction::outputs(&self) -> &[bitcoin_primitives::transaction::TxOut] +pub fn bitcoin_primitives::transaction::Transaction::outputs_mut(&mut self) -> &mut [bitcoin_primitives::transaction::TxOut] +pub fn bitcoin_primitives::transaction::Transaction::partial_cmp(&self, other: &Self) -> core::option::Option +pub fn bitcoin_primitives::transaction::TxIn::clone(&self) -> bitcoin_primitives::transaction::TxIn +pub fn bitcoin_primitives::transaction::TxIn::cmp(&self, other: &bitcoin_primitives::transaction::TxIn) -> core::cmp::Ordering +pub fn bitcoin_primitives::transaction::TxIn::eq(&self, other: &bitcoin_primitives::transaction::TxIn) -> bool +pub fn bitcoin_primitives::transaction::TxIn::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_primitives::transaction::TxIn::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_primitives::transaction::TxIn::partial_cmp(&self, other: &bitcoin_primitives::transaction::TxIn) -> core::option::Option +pub fn bitcoin_primitives::transaction::TxOut::clone(&self) -> bitcoin_primitives::transaction::TxOut +pub fn bitcoin_primitives::transaction::TxOut::cmp(&self, other: &bitcoin_primitives::transaction::TxOut) -> core::cmp::Ordering +pub fn bitcoin_primitives::transaction::TxOut::eq(&self, other: &bitcoin_primitives::transaction::TxOut) -> bool +pub fn bitcoin_primitives::transaction::TxOut::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_primitives::transaction::TxOut::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_primitives::transaction::TxOut::partial_cmp(&self, other: &bitcoin_primitives::transaction::TxOut) -> core::option::Option +pub fn bitcoin_primitives::transaction::Txid::as_byte_array(&self) -> &Self::Bytes +pub fn bitcoin_primitives::transaction::Txid::as_ref(&self) -> &[u8; 32] +pub fn bitcoin_primitives::transaction::Txid::as_ref(&self) -> &[u8] +pub fn bitcoin_primitives::transaction::Txid::borrow(&self) -> &[u8; 32] +pub fn bitcoin_primitives::transaction::Txid::borrow(&self) -> &[u8] +pub fn bitcoin_primitives::transaction::Txid::clone(&self) -> bitcoin_primitives::transaction::Txid +pub fn bitcoin_primitives::transaction::Txid::cmp(&self, other: &bitcoin_primitives::transaction::Txid) -> core::cmp::Ordering +pub fn bitcoin_primitives::transaction::Txid::eq(&self, other: &bitcoin_primitives::transaction::Txid) -> bool +pub fn bitcoin_primitives::transaction::Txid::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_primitives::transaction::Txid::from(inner: bitcoin_hashes::sha256d::Hash) -> bitcoin_primitives::transaction::Txid +pub fn bitcoin_primitives::transaction::Txid::from(tx: &bitcoin_primitives::transaction::Transaction) -> bitcoin_primitives::transaction::Txid +pub fn bitcoin_primitives::transaction::Txid::from(tx: bitcoin_primitives::transaction::Transaction) -> bitcoin_primitives::transaction::Txid +pub fn bitcoin_primitives::transaction::Txid::from_byte_array(bytes: Self::Bytes) -> Self +pub fn bitcoin_primitives::transaction::Txid::from_slice(sl: &[u8]) -> core::result::Result +pub fn bitcoin_primitives::transaction::Txid::from_str(s: &str) -> core::result::Result +pub fn bitcoin_primitives::transaction::Txid::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_primitives::transaction::Txid::partial_cmp(&self, other: &bitcoin_primitives::transaction::Txid) -> core::option::Option +pub fn bitcoin_primitives::transaction::Txid::to_byte_array(self) -> Self::Bytes +pub fn bitcoin_primitives::transaction::Version::clone(&self) -> bitcoin_primitives::transaction::Version +pub fn bitcoin_primitives::transaction::Version::cmp(&self, other: &bitcoin_primitives::transaction::Version) -> core::cmp::Ordering +pub fn bitcoin_primitives::transaction::Version::eq(&self, other: &bitcoin_primitives::transaction::Version) -> bool +pub fn bitcoin_primitives::transaction::Version::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_primitives::transaction::Version::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_primitives::transaction::Version::partial_cmp(&self, other: &bitcoin_primitives::transaction::Version) -> core::option::Option +pub fn bitcoin_primitives::transaction::Wtxid::as_byte_array(&self) -> &Self::Bytes +pub fn bitcoin_primitives::transaction::Wtxid::as_ref(&self) -> &[u8; 32] +pub fn bitcoin_primitives::transaction::Wtxid::as_ref(&self) -> &[u8] +pub fn bitcoin_primitives::transaction::Wtxid::borrow(&self) -> &[u8; 32] +pub fn bitcoin_primitives::transaction::Wtxid::borrow(&self) -> &[u8] +pub fn bitcoin_primitives::transaction::Wtxid::clone(&self) -> bitcoin_primitives::transaction::Wtxid +pub fn bitcoin_primitives::transaction::Wtxid::cmp(&self, other: &bitcoin_primitives::transaction::Wtxid) -> core::cmp::Ordering +pub fn bitcoin_primitives::transaction::Wtxid::eq(&self, other: &bitcoin_primitives::transaction::Wtxid) -> bool +pub fn bitcoin_primitives::transaction::Wtxid::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_primitives::transaction::Wtxid::from(inner: bitcoin_hashes::sha256d::Hash) -> bitcoin_primitives::transaction::Wtxid +pub fn bitcoin_primitives::transaction::Wtxid::from(tx: &bitcoin_primitives::transaction::Transaction) -> bitcoin_primitives::transaction::Wtxid +pub fn bitcoin_primitives::transaction::Wtxid::from(tx: bitcoin_primitives::transaction::Transaction) -> bitcoin_primitives::transaction::Wtxid +pub fn bitcoin_primitives::transaction::Wtxid::from_byte_array(bytes: Self::Bytes) -> Self +pub fn bitcoin_primitives::transaction::Wtxid::from_slice(sl: &[u8]) -> core::result::Result +pub fn bitcoin_primitives::transaction::Wtxid::from_str(s: &str) -> core::result::Result +pub fn bitcoin_primitives::transaction::Wtxid::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_primitives::transaction::Wtxid::partial_cmp(&self, other: &bitcoin_primitives::transaction::Wtxid) -> core::option::Option +pub fn bitcoin_primitives::transaction::Wtxid::to_byte_array(self) -> Self::Bytes +pub fn bitcoin_primitives::witness::Iter<'a>::next(&mut self) -> core::option::Option +pub fn bitcoin_primitives::witness::Iter<'a>::size_hint(&self) -> (usize, core::option::Option) +pub fn bitcoin_primitives::witness::Witness::clear(&mut self) +pub fn bitcoin_primitives::witness::Witness::clone(&self) -> bitcoin_primitives::witness::Witness +pub fn bitcoin_primitives::witness::Witness::cmp(&self, other: &bitcoin_primitives::witness::Witness) -> core::cmp::Ordering +pub fn bitcoin_primitives::witness::Witness::default() -> Self +pub fn bitcoin_primitives::witness::Witness::eq(&self, other: &bitcoin_primitives::witness::Witness) -> bool +pub fn bitcoin_primitives::witness::Witness::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::result::Result<(), core::fmt::Error> +pub fn bitcoin_primitives::witness::Witness::from(slice: &[&[u8]]) -> Self +pub fn bitcoin_primitives::witness::Witness::from(slice: &[alloc::vec::Vec]) -> Self +pub fn bitcoin_primitives::witness::Witness::from(vec: alloc::vec::Vec<&[u8]>) -> Self +pub fn bitcoin_primitives::witness::Witness::from(vec: alloc::vec::Vec>) -> Self +pub fn bitcoin_primitives::witness::Witness::from_slice>(slice: &[T]) -> Self +pub fn bitcoin_primitives::witness::Witness::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_primitives::witness::Witness::index(&self, index: usize) -> &Self::Output +pub fn bitcoin_primitives::witness::Witness::is_empty(&self) -> bool +pub fn bitcoin_primitives::witness::Witness::iter(&self) -> bitcoin_primitives::witness::Iter<'_> +pub fn bitcoin_primitives::witness::Witness::last(&self) -> core::option::Option<&[u8]> +pub fn bitcoin_primitives::witness::Witness::len(&self) -> usize +pub fn bitcoin_primitives::witness::Witness::nth(&self, index: usize) -> core::option::Option<&[u8]> +pub fn bitcoin_primitives::witness::Witness::partial_cmp(&self, other: &bitcoin_primitives::witness::Witness) -> core::option::Option +pub fn bitcoin_primitives::witness::Witness::push>(&mut self, new_element: T) +pub fn bitcoin_primitives::witness::Witness::second_to_last(&self) -> core::option::Option<&[u8]> +pub fn bitcoin_primitives::witness::Witness::size(&self) -> usize +pub fn bitcoin_primitives::witness::Witness::third_to_last(&self) -> core::option::Option<&[u8]> +pub fn bitcoin_primitives::witness::Witness::to_vec(&self) -> alloc::vec::Vec> +pub fn u32::from(sequence: bitcoin_primitives::sequence::Sequence) -> u32 +pub mod bitcoin_primitives +pub mod bitcoin_primitives::absolute +pub mod bitcoin_primitives::block +pub mod bitcoin_primitives::locktime +pub mod bitcoin_primitives::locktime::absolute +pub mod bitcoin_primitives::locktime::relative +pub mod bitcoin_primitives::merkle_tree +pub mod bitcoin_primitives::opcodes +pub mod bitcoin_primitives::opcodes::all +pub mod bitcoin_primitives::pow +pub mod bitcoin_primitives::relative +pub mod bitcoin_primitives::script +pub mod bitcoin_primitives::sequence +pub mod bitcoin_primitives::taproot +pub mod bitcoin_primitives::transaction +pub mod bitcoin_primitives::witness +pub static bitcoin_primitives::opcodes::OP_0: bitcoin_primitives::opcodes::Opcode +pub static bitcoin_primitives::opcodes::OP_FALSE: bitcoin_primitives::opcodes::Opcode +pub static bitcoin_primitives::opcodes::OP_NOP2: bitcoin_primitives::opcodes::Opcode +pub static bitcoin_primitives::opcodes::OP_NOP3: bitcoin_primitives::opcodes::Opcode +pub static bitcoin_primitives::opcodes::OP_TRUE: bitcoin_primitives::opcodes::Opcode +pub struct bitcoin_primitives::Block where V: bitcoin_primitives::block::Validation +pub struct bitcoin_primitives::BlockHash(_) +pub struct bitcoin_primitives::BlockHeader +pub struct bitcoin_primitives::CompactTarget(_) +pub struct bitcoin_primitives::Sequence(pub u32) +pub struct bitcoin_primitives::TapBranchTag +pub struct bitcoin_primitives::TapLeafHash(_) +pub struct bitcoin_primitives::TapLeafTag +pub struct bitcoin_primitives::TapNodeHash(_) +pub struct bitcoin_primitives::TapTweakHash(_) +pub struct bitcoin_primitives::TapTweakTag +pub struct bitcoin_primitives::Transaction +pub struct bitcoin_primitives::TxIn +pub struct bitcoin_primitives::TxMerkleNode(_) +pub struct bitcoin_primitives::TxOut +pub struct bitcoin_primitives::Txid(_) +pub struct bitcoin_primitives::Witness +pub struct bitcoin_primitives::WitnessCommitment(_) +pub struct bitcoin_primitives::WitnessMerkleNode(_) +pub struct bitcoin_primitives::Wtxid(_) +pub struct bitcoin_primitives::block::Block where V: bitcoin_primitives::block::Validation +pub struct bitcoin_primitives::block::BlockHash(_) +pub struct bitcoin_primitives::block::Header +pub struct bitcoin_primitives::block::Version(_) +pub struct bitcoin_primitives::block::WitnessCommitment(_) +pub struct bitcoin_primitives::locktime::relative::DisabledLockTimeError(_) +pub struct bitcoin_primitives::merkle_tree::TxMerkleNode(_) +pub struct bitcoin_primitives::merkle_tree::WitnessMerkleNode(_) +pub struct bitcoin_primitives::opcodes::Opcode +pub struct bitcoin_primitives::pow::CompactTarget(_) +pub struct bitcoin_primitives::relative::DisabledLockTimeError(_) +pub struct bitcoin_primitives::script::ScriptBuf(_) +pub struct bitcoin_primitives::sequence::Sequence(pub u32) +pub struct bitcoin_primitives::taproot::TapBranchTag +pub struct bitcoin_primitives::taproot::TapLeafHash(_) +pub struct bitcoin_primitives::taproot::TapLeafTag +pub struct bitcoin_primitives::taproot::TapNodeHash(_) +pub struct bitcoin_primitives::taproot::TapTweakHash(_) +pub struct bitcoin_primitives::taproot::TapTweakTag +pub struct bitcoin_primitives::transaction::OutPoint +pub struct bitcoin_primitives::transaction::Transaction +pub struct bitcoin_primitives::transaction::TxIn +pub struct bitcoin_primitives::transaction::TxOut +pub struct bitcoin_primitives::transaction::Txid(_) +pub struct bitcoin_primitives::transaction::Version(pub i32) +pub struct bitcoin_primitives::transaction::Wtxid(_) +pub struct bitcoin_primitives::witness::Iter<'a> +pub struct bitcoin_primitives::witness::Witness +pub trait bitcoin_primitives::BlockValidation: sealed::Validation + core::marker::Sync + core::marker::Send + core::marker::Sized + core::marker::Unpin +pub trait bitcoin_primitives::block::Validation: sealed::Validation + core::marker::Sync + core::marker::Send + core::marker::Sized + core::marker::Unpin +pub type &'a bitcoin_primitives::witness::Witness::IntoIter = bitcoin_primitives::witness::Iter<'a> +pub type &'a bitcoin_primitives::witness::Witness::Item = &'a [u8] +pub type bitcoin_primitives::block::BlockHash::Bytes = ::Bytes +pub type bitcoin_primitives::block::BlockHash::Err = hex_conservative::error::HexToArrayError +pub type bitcoin_primitives::block::WitnessCommitment::Bytes = ::Bytes +pub type bitcoin_primitives::block::WitnessCommitment::Err = hex_conservative::error::HexToArrayError +pub type bitcoin_primitives::locktime::absolute::LockTime::Err = bitcoin_units::parse::ParseIntError +pub type bitcoin_primitives::locktime::absolute::LockTime::Error = bitcoin_units::parse::ParseIntError +pub type bitcoin_primitives::locktime::relative::LockTime::Error = bitcoin_primitives::locktime::relative::DisabledLockTimeError +pub type bitcoin_primitives::merkle_tree::TxMerkleNode::Bytes = ::Bytes +pub type bitcoin_primitives::merkle_tree::TxMerkleNode::Err = hex_conservative::error::HexToArrayError +pub type bitcoin_primitives::merkle_tree::WitnessMerkleNode::Bytes = ::Bytes +pub type bitcoin_primitives::merkle_tree::WitnessMerkleNode::Err = hex_conservative::error::HexToArrayError +pub type bitcoin_primitives::script::Script::Output = bitcoin_primitives::script::Script +pub type bitcoin_primitives::script::Script::Owned = bitcoin_primitives::script::ScriptBuf +pub type bitcoin_primitives::script::ScriptBuf::Target = bitcoin_primitives::script::Script +pub type bitcoin_primitives::sequence::Sequence::Err = bitcoin_units::parse::ParseIntError +pub type bitcoin_primitives::sequence::Sequence::Error = bitcoin_units::parse::ParseIntError +pub type bitcoin_primitives::taproot::TapLeafHash::Bytes = as bitcoin_hashes::Hash>::Bytes +pub type bitcoin_primitives::taproot::TapLeafHash::Err = hex_conservative::error::HexToArrayError +pub type bitcoin_primitives::taproot::TapNodeHash::Bytes = as bitcoin_hashes::Hash>::Bytes +pub type bitcoin_primitives::taproot::TapNodeHash::Err = hex_conservative::error::HexToArrayError +pub type bitcoin_primitives::taproot::TapTweakHash::Bytes = as bitcoin_hashes::Hash>::Bytes +pub type bitcoin_primitives::taproot::TapTweakHash::Err = hex_conservative::error::HexToArrayError +pub type bitcoin_primitives::transaction::OutPoint::Err = bitcoin_primitives::transaction::ParseOutPointError +pub type bitcoin_primitives::transaction::Txid::Bytes = ::Bytes +pub type bitcoin_primitives::transaction::Txid::Err = hex_conservative::error::HexToArrayError +pub type bitcoin_primitives::transaction::Wtxid::Bytes = ::Bytes +pub type bitcoin_primitives::transaction::Wtxid::Err = hex_conservative::error::HexToArrayError +pub type bitcoin_primitives::witness::Iter<'a>::Item = &'a [u8] +pub type bitcoin_primitives::witness::Witness::Output = [u8] +pub use bitcoin_primitives::Amount +pub use bitcoin_primitives::BlockHeight +pub use bitcoin_primitives::BlockInterval +pub use bitcoin_primitives::FeeRate +pub use bitcoin_primitives::SignedAmount +pub use bitcoin_primitives::Weight +pub use bitcoin_primitives::absolute::ConversionError +pub use bitcoin_primitives::absolute::Height +pub use bitcoin_primitives::absolute::LOCK_TIME_THRESHOLD +pub use bitcoin_primitives::absolute::ParseHeightError +pub use bitcoin_primitives::absolute::ParseTimeError +pub use bitcoin_primitives::absolute::Time +pub use bitcoin_primitives::amount +pub use bitcoin_primitives::fee_rate +pub use bitcoin_primitives::locktime::absolute::ConversionError +pub use bitcoin_primitives::locktime::absolute::Height +pub use bitcoin_primitives::locktime::absolute::LOCK_TIME_THRESHOLD +pub use bitcoin_primitives::locktime::absolute::ParseHeightError +pub use bitcoin_primitives::locktime::absolute::ParseTimeError +pub use bitcoin_primitives::locktime::absolute::Time +pub use bitcoin_primitives::locktime::relative::Height +pub use bitcoin_primitives::locktime::relative::Time +pub use bitcoin_primitives::locktime::relative::TimeOverflowError +pub use bitcoin_primitives::relative::Height +pub use bitcoin_primitives::relative::Time +pub use bitcoin_primitives::relative::TimeOverflowError +pub use bitcoin_primitives::weight diff --git a/api/primitives/no-features.txt b/api/primitives/no-features.txt new file mode 100644 index 0000000000..0d63cb004f --- /dev/null +++ b/api/primitives/no-features.txt @@ -0,0 +1,1098 @@ +impl bitcoin_hashes::Hash for bitcoin_primitives::block::BlockHash +impl bitcoin_hashes::Hash for bitcoin_primitives::block::WitnessCommitment +impl bitcoin_hashes::Hash for bitcoin_primitives::merkle_tree::TxMerkleNode +impl bitcoin_hashes::Hash for bitcoin_primitives::merkle_tree::WitnessMerkleNode +impl bitcoin_hashes::Hash for bitcoin_primitives::taproot::TapLeafHash +impl bitcoin_hashes::Hash for bitcoin_primitives::taproot::TapNodeHash +impl bitcoin_hashes::Hash for bitcoin_primitives::taproot::TapTweakHash +impl bitcoin_hashes::Hash for bitcoin_primitives::transaction::Txid +impl bitcoin_hashes::Hash for bitcoin_primitives::transaction::Wtxid +impl bitcoin_hashes::sha256t::Tag for bitcoin_primitives::taproot::TapBranchTag +impl bitcoin_hashes::sha256t::Tag for bitcoin_primitives::taproot::TapLeafTag +impl bitcoin_hashes::sha256t::Tag for bitcoin_primitives::taproot::TapTweakTag +impl bitcoin_primitives::block::BlockHash +impl bitcoin_primitives::block::Header +impl bitcoin_primitives::block::Version +impl bitcoin_primitives::block::WitnessCommitment +impl bitcoin_primitives::merkle_tree::TxMerkleNode +impl bitcoin_primitives::merkle_tree::WitnessMerkleNode +impl bitcoin_primitives::opcodes::Opcode +impl bitcoin_primitives::pow::CompactTarget +impl bitcoin_primitives::sequence::Sequence +impl bitcoin_primitives::taproot::TapLeafHash +impl bitcoin_primitives::taproot::TapNodeHash +impl bitcoin_primitives::taproot::TapTweakHash +impl bitcoin_primitives::transaction::OutPoint +impl bitcoin_primitives::transaction::Txid +impl bitcoin_primitives::transaction::Version +impl bitcoin_primitives::transaction::Wtxid +impl core::borrow::Borrow<[u8; 32]> for bitcoin_primitives::block::BlockHash +impl core::borrow::Borrow<[u8; 32]> for bitcoin_primitives::block::WitnessCommitment +impl core::borrow::Borrow<[u8; 32]> for bitcoin_primitives::merkle_tree::TxMerkleNode +impl core::borrow::Borrow<[u8; 32]> for bitcoin_primitives::merkle_tree::WitnessMerkleNode +impl core::borrow::Borrow<[u8; 32]> for bitcoin_primitives::taproot::TapLeafHash +impl core::borrow::Borrow<[u8; 32]> for bitcoin_primitives::taproot::TapNodeHash +impl core::borrow::Borrow<[u8; 32]> for bitcoin_primitives::taproot::TapTweakHash +impl core::borrow::Borrow<[u8; 32]> for bitcoin_primitives::transaction::Txid +impl core::borrow::Borrow<[u8; 32]> for bitcoin_primitives::transaction::Wtxid +impl core::borrow::Borrow<[u8]> for bitcoin_primitives::block::BlockHash +impl core::borrow::Borrow<[u8]> for bitcoin_primitives::block::WitnessCommitment +impl core::borrow::Borrow<[u8]> for bitcoin_primitives::merkle_tree::TxMerkleNode +impl core::borrow::Borrow<[u8]> for bitcoin_primitives::merkle_tree::WitnessMerkleNode +impl core::borrow::Borrow<[u8]> for bitcoin_primitives::taproot::TapLeafHash +impl core::borrow::Borrow<[u8]> for bitcoin_primitives::taproot::TapNodeHash +impl core::borrow::Borrow<[u8]> for bitcoin_primitives::taproot::TapTweakHash +impl core::borrow::Borrow<[u8]> for bitcoin_primitives::transaction::Txid +impl core::borrow::Borrow<[u8]> for bitcoin_primitives::transaction::Wtxid +impl core::clone::Clone for bitcoin_primitives::block::BlockHash +impl core::clone::Clone for bitcoin_primitives::block::Header +impl core::clone::Clone for bitcoin_primitives::block::Version +impl core::clone::Clone for bitcoin_primitives::block::WitnessCommitment +impl core::clone::Clone for bitcoin_primitives::merkle_tree::TxMerkleNode +impl core::clone::Clone for bitcoin_primitives::merkle_tree::WitnessMerkleNode +impl core::clone::Clone for bitcoin_primitives::opcodes::Class +impl core::clone::Clone for bitcoin_primitives::opcodes::ClassifyContext +impl core::clone::Clone for bitcoin_primitives::opcodes::Opcode +impl core::clone::Clone for bitcoin_primitives::pow::CompactTarget +impl core::clone::Clone for bitcoin_primitives::sequence::Sequence +impl core::clone::Clone for bitcoin_primitives::taproot::TapBranchTag +impl core::clone::Clone for bitcoin_primitives::taproot::TapLeafHash +impl core::clone::Clone for bitcoin_primitives::taproot::TapLeafTag +impl core::clone::Clone for bitcoin_primitives::taproot::TapNodeHash +impl core::clone::Clone for bitcoin_primitives::taproot::TapTweakHash +impl core::clone::Clone for bitcoin_primitives::taproot::TapTweakTag +impl core::clone::Clone for bitcoin_primitives::transaction::OutPoint +impl core::clone::Clone for bitcoin_primitives::transaction::Txid +impl core::clone::Clone for bitcoin_primitives::transaction::Version +impl core::clone::Clone for bitcoin_primitives::transaction::Wtxid +impl core::cmp::Eq for bitcoin_primitives::block::BlockHash +impl core::cmp::Eq for bitcoin_primitives::block::Header +impl core::cmp::Eq for bitcoin_primitives::block::Version +impl core::cmp::Eq for bitcoin_primitives::block::WitnessCommitment +impl core::cmp::Eq for bitcoin_primitives::merkle_tree::TxMerkleNode +impl core::cmp::Eq for bitcoin_primitives::merkle_tree::WitnessMerkleNode +impl core::cmp::Eq for bitcoin_primitives::opcodes::Class +impl core::cmp::Eq for bitcoin_primitives::opcodes::ClassifyContext +impl core::cmp::Eq for bitcoin_primitives::opcodes::Opcode +impl core::cmp::Eq for bitcoin_primitives::pow::CompactTarget +impl core::cmp::Eq for bitcoin_primitives::sequence::Sequence +impl core::cmp::Eq for bitcoin_primitives::taproot::TapBranchTag +impl core::cmp::Eq for bitcoin_primitives::taproot::TapLeafHash +impl core::cmp::Eq for bitcoin_primitives::taproot::TapLeafTag +impl core::cmp::Eq for bitcoin_primitives::taproot::TapNodeHash +impl core::cmp::Eq for bitcoin_primitives::taproot::TapTweakHash +impl core::cmp::Eq for bitcoin_primitives::taproot::TapTweakTag +impl core::cmp::Eq for bitcoin_primitives::transaction::OutPoint +impl core::cmp::Eq for bitcoin_primitives::transaction::Txid +impl core::cmp::Eq for bitcoin_primitives::transaction::Version +impl core::cmp::Eq for bitcoin_primitives::transaction::Wtxid +impl core::cmp::Ord for bitcoin_primitives::block::BlockHash +impl core::cmp::Ord for bitcoin_primitives::block::Header +impl core::cmp::Ord for bitcoin_primitives::block::Version +impl core::cmp::Ord for bitcoin_primitives::block::WitnessCommitment +impl core::cmp::Ord for bitcoin_primitives::merkle_tree::TxMerkleNode +impl core::cmp::Ord for bitcoin_primitives::merkle_tree::WitnessMerkleNode +impl core::cmp::Ord for bitcoin_primitives::opcodes::ClassifyContext +impl core::cmp::Ord for bitcoin_primitives::pow::CompactTarget +impl core::cmp::Ord for bitcoin_primitives::sequence::Sequence +impl core::cmp::Ord for bitcoin_primitives::taproot::TapBranchTag +impl core::cmp::Ord for bitcoin_primitives::taproot::TapLeafHash +impl core::cmp::Ord for bitcoin_primitives::taproot::TapLeafTag +impl core::cmp::Ord for bitcoin_primitives::taproot::TapNodeHash +impl core::cmp::Ord for bitcoin_primitives::taproot::TapTweakHash +impl core::cmp::Ord for bitcoin_primitives::taproot::TapTweakTag +impl core::cmp::Ord for bitcoin_primitives::transaction::OutPoint +impl core::cmp::Ord for bitcoin_primitives::transaction::Txid +impl core::cmp::Ord for bitcoin_primitives::transaction::Version +impl core::cmp::Ord for bitcoin_primitives::transaction::Wtxid +impl core::cmp::PartialEq for bitcoin_primitives::block::BlockHash +impl core::cmp::PartialEq for bitcoin_primitives::block::Header +impl core::cmp::PartialEq for bitcoin_primitives::block::Version +impl core::cmp::PartialEq for bitcoin_primitives::block::WitnessCommitment +impl core::cmp::PartialEq for bitcoin_primitives::merkle_tree::TxMerkleNode +impl core::cmp::PartialEq for bitcoin_primitives::merkle_tree::WitnessMerkleNode +impl core::cmp::PartialEq for bitcoin_primitives::opcodes::Class +impl core::cmp::PartialEq for bitcoin_primitives::opcodes::ClassifyContext +impl core::cmp::PartialEq for bitcoin_primitives::opcodes::Opcode +impl core::cmp::PartialEq for bitcoin_primitives::pow::CompactTarget +impl core::cmp::PartialEq for bitcoin_primitives::sequence::Sequence +impl core::cmp::PartialEq for bitcoin_primitives::taproot::TapBranchTag +impl core::cmp::PartialEq for bitcoin_primitives::taproot::TapLeafHash +impl core::cmp::PartialEq for bitcoin_primitives::taproot::TapLeafTag +impl core::cmp::PartialEq for bitcoin_primitives::taproot::TapNodeHash +impl core::cmp::PartialEq for bitcoin_primitives::taproot::TapTweakHash +impl core::cmp::PartialEq for bitcoin_primitives::taproot::TapTweakTag +impl core::cmp::PartialEq for bitcoin_primitives::transaction::OutPoint +impl core::cmp::PartialEq for bitcoin_primitives::transaction::Txid +impl core::cmp::PartialEq for bitcoin_primitives::transaction::Version +impl core::cmp::PartialEq for bitcoin_primitives::transaction::Wtxid +impl core::cmp::PartialOrd for bitcoin_primitives::block::BlockHash +impl core::cmp::PartialOrd for bitcoin_primitives::block::Header +impl core::cmp::PartialOrd for bitcoin_primitives::block::Version +impl core::cmp::PartialOrd for bitcoin_primitives::block::WitnessCommitment +impl core::cmp::PartialOrd for bitcoin_primitives::merkle_tree::TxMerkleNode +impl core::cmp::PartialOrd for bitcoin_primitives::merkle_tree::WitnessMerkleNode +impl core::cmp::PartialOrd for bitcoin_primitives::opcodes::ClassifyContext +impl core::cmp::PartialOrd for bitcoin_primitives::pow::CompactTarget +impl core::cmp::PartialOrd for bitcoin_primitives::sequence::Sequence +impl core::cmp::PartialOrd for bitcoin_primitives::taproot::TapBranchTag +impl core::cmp::PartialOrd for bitcoin_primitives::taproot::TapLeafHash +impl core::cmp::PartialOrd for bitcoin_primitives::taproot::TapLeafTag +impl core::cmp::PartialOrd for bitcoin_primitives::taproot::TapNodeHash +impl core::cmp::PartialOrd for bitcoin_primitives::taproot::TapTweakHash +impl core::cmp::PartialOrd for bitcoin_primitives::taproot::TapTweakTag +impl core::cmp::PartialOrd for bitcoin_primitives::transaction::OutPoint +impl core::cmp::PartialOrd for bitcoin_primitives::transaction::Txid +impl core::cmp::PartialOrd for bitcoin_primitives::transaction::Version +impl core::cmp::PartialOrd for bitcoin_primitives::transaction::Wtxid +impl core::convert::AsRef<[u8; 32]> for bitcoin_primitives::block::BlockHash +impl core::convert::AsRef<[u8; 32]> for bitcoin_primitives::block::WitnessCommitment +impl core::convert::AsRef<[u8; 32]> for bitcoin_primitives::merkle_tree::TxMerkleNode +impl core::convert::AsRef<[u8; 32]> for bitcoin_primitives::merkle_tree::WitnessMerkleNode +impl core::convert::AsRef<[u8; 32]> for bitcoin_primitives::taproot::TapLeafHash +impl core::convert::AsRef<[u8; 32]> for bitcoin_primitives::taproot::TapNodeHash +impl core::convert::AsRef<[u8; 32]> for bitcoin_primitives::taproot::TapTweakHash +impl core::convert::AsRef<[u8; 32]> for bitcoin_primitives::transaction::Txid +impl core::convert::AsRef<[u8; 32]> for bitcoin_primitives::transaction::Wtxid +impl core::convert::AsRef<[u8]> for bitcoin_primitives::block::BlockHash +impl core::convert::AsRef<[u8]> for bitcoin_primitives::block::WitnessCommitment +impl core::convert::AsRef<[u8]> for bitcoin_primitives::merkle_tree::TxMerkleNode +impl core::convert::AsRef<[u8]> for bitcoin_primitives::merkle_tree::WitnessMerkleNode +impl core::convert::AsRef<[u8]> for bitcoin_primitives::taproot::TapLeafHash +impl core::convert::AsRef<[u8]> for bitcoin_primitives::taproot::TapNodeHash +impl core::convert::AsRef<[u8]> for bitcoin_primitives::taproot::TapTweakHash +impl core::convert::AsRef<[u8]> for bitcoin_primitives::transaction::Txid +impl core::convert::AsRef<[u8]> for bitcoin_primitives::transaction::Wtxid +impl core::convert::From<&bitcoin_primitives::block::Header> for bitcoin_primitives::block::BlockHash +impl core::convert::From for bitcoin_primitives::block::BlockHash +impl core::convert::From for bitcoin_primitives::block::WitnessCommitment +impl core::convert::From for bitcoin_primitives::merkle_tree::TxMerkleNode +impl core::convert::From for bitcoin_primitives::merkle_tree::WitnessMerkleNode +impl core::convert::From for bitcoin_primitives::transaction::Txid +impl core::convert::From for bitcoin_primitives::transaction::Wtxid +impl core::convert::From> for bitcoin_primitives::taproot::TapNodeHash +impl core::convert::From> for bitcoin_primitives::taproot::TapLeafHash +impl core::convert::From> for bitcoin_primitives::taproot::TapTweakHash +impl core::convert::From for bitcoin_hashes::sha256d::Hash +impl core::convert::From for bitcoin_primitives::block::BlockHash +impl core::convert::From for bitcoin_hashes::sha256d::Hash +impl core::convert::From for bitcoin_hashes::sha256d::Hash +impl core::convert::From for bitcoin_hashes::sha256d::Hash +impl core::convert::From for u32 +impl core::convert::From for bitcoin_hashes::sha256t::Hash +impl core::convert::From for bitcoin_primitives::taproot::TapNodeHash +impl core::convert::From for bitcoin_hashes::sha256t::Hash +impl core::convert::From for bitcoin_hashes::sha256t::Hash +impl core::convert::From for bitcoin_hashes::sha256d::Hash +impl core::convert::From for bitcoin_hashes::sha256d::Hash +impl core::convert::From for bitcoin_primitives::opcodes::Opcode +impl core::default::Default for bitcoin_primitives::block::Version +impl core::default::Default for bitcoin_primitives::pow::CompactTarget +impl core::default::Default for bitcoin_primitives::sequence::Sequence +impl core::default::Default for bitcoin_primitives::taproot::TapBranchTag +impl core::default::Default for bitcoin_primitives::taproot::TapLeafTag +impl core::default::Default for bitcoin_primitives::taproot::TapTweakTag +impl core::fmt::Debug for bitcoin_primitives::block::BlockHash +impl core::fmt::Debug for bitcoin_primitives::block::Header +impl core::fmt::Debug for bitcoin_primitives::block::Version +impl core::fmt::Debug for bitcoin_primitives::block::WitnessCommitment +impl core::fmt::Debug for bitcoin_primitives::merkle_tree::TxMerkleNode +impl core::fmt::Debug for bitcoin_primitives::merkle_tree::WitnessMerkleNode +impl core::fmt::Debug for bitcoin_primitives::opcodes::Class +impl core::fmt::Debug for bitcoin_primitives::opcodes::ClassifyContext +impl core::fmt::Debug for bitcoin_primitives::opcodes::Opcode +impl core::fmt::Debug for bitcoin_primitives::pow::CompactTarget +impl core::fmt::Debug for bitcoin_primitives::sequence::Sequence +impl core::fmt::Debug for bitcoin_primitives::taproot::TapLeafHash +impl core::fmt::Debug for bitcoin_primitives::taproot::TapNodeHash +impl core::fmt::Debug for bitcoin_primitives::taproot::TapTweakHash +impl core::fmt::Debug for bitcoin_primitives::transaction::OutPoint +impl core::fmt::Debug for bitcoin_primitives::transaction::Txid +impl core::fmt::Debug for bitcoin_primitives::transaction::Version +impl core::fmt::Debug for bitcoin_primitives::transaction::Wtxid +impl core::fmt::Display for bitcoin_primitives::block::BlockHash +impl core::fmt::Display for bitcoin_primitives::block::WitnessCommitment +impl core::fmt::Display for bitcoin_primitives::merkle_tree::TxMerkleNode +impl core::fmt::Display for bitcoin_primitives::merkle_tree::WitnessMerkleNode +impl core::fmt::Display for bitcoin_primitives::opcodes::Opcode +impl core::fmt::Display for bitcoin_primitives::sequence::Sequence +impl core::fmt::Display for bitcoin_primitives::taproot::TapLeafHash +impl core::fmt::Display for bitcoin_primitives::taproot::TapNodeHash +impl core::fmt::Display for bitcoin_primitives::taproot::TapTweakHash +impl core::fmt::Display for bitcoin_primitives::transaction::OutPoint +impl core::fmt::Display for bitcoin_primitives::transaction::Txid +impl core::fmt::Display for bitcoin_primitives::transaction::Version +impl core::fmt::Display for bitcoin_primitives::transaction::Wtxid +impl core::fmt::LowerHex for bitcoin_primitives::block::BlockHash +impl core::fmt::LowerHex for bitcoin_primitives::block::WitnessCommitment +impl core::fmt::LowerHex for bitcoin_primitives::merkle_tree::TxMerkleNode +impl core::fmt::LowerHex for bitcoin_primitives::merkle_tree::WitnessMerkleNode +impl core::fmt::LowerHex for bitcoin_primitives::pow::CompactTarget +impl core::fmt::LowerHex for bitcoin_primitives::sequence::Sequence +impl core::fmt::LowerHex for bitcoin_primitives::taproot::TapLeafHash +impl core::fmt::LowerHex for bitcoin_primitives::taproot::TapNodeHash +impl core::fmt::LowerHex for bitcoin_primitives::taproot::TapTweakHash +impl core::fmt::LowerHex for bitcoin_primitives::transaction::Txid +impl core::fmt::LowerHex for bitcoin_primitives::transaction::Wtxid +impl core::fmt::UpperHex for bitcoin_primitives::block::BlockHash +impl core::fmt::UpperHex for bitcoin_primitives::block::WitnessCommitment +impl core::fmt::UpperHex for bitcoin_primitives::merkle_tree::TxMerkleNode +impl core::fmt::UpperHex for bitcoin_primitives::merkle_tree::WitnessMerkleNode +impl core::fmt::UpperHex for bitcoin_primitives::pow::CompactTarget +impl core::fmt::UpperHex for bitcoin_primitives::sequence::Sequence +impl core::fmt::UpperHex for bitcoin_primitives::taproot::TapLeafHash +impl core::fmt::UpperHex for bitcoin_primitives::taproot::TapNodeHash +impl core::fmt::UpperHex for bitcoin_primitives::taproot::TapTweakHash +impl core::fmt::UpperHex for bitcoin_primitives::transaction::Txid +impl core::fmt::UpperHex for bitcoin_primitives::transaction::Wtxid +impl core::hash::Hash for bitcoin_primitives::block::BlockHash +impl core::hash::Hash for bitcoin_primitives::block::Header +impl core::hash::Hash for bitcoin_primitives::block::Version +impl core::hash::Hash for bitcoin_primitives::block::WitnessCommitment +impl core::hash::Hash for bitcoin_primitives::merkle_tree::TxMerkleNode +impl core::hash::Hash for bitcoin_primitives::merkle_tree::WitnessMerkleNode +impl core::hash::Hash for bitcoin_primitives::opcodes::ClassifyContext +impl core::hash::Hash for bitcoin_primitives::pow::CompactTarget +impl core::hash::Hash for bitcoin_primitives::sequence::Sequence +impl core::hash::Hash for bitcoin_primitives::taproot::TapBranchTag +impl core::hash::Hash for bitcoin_primitives::taproot::TapLeafHash +impl core::hash::Hash for bitcoin_primitives::taproot::TapLeafTag +impl core::hash::Hash for bitcoin_primitives::taproot::TapNodeHash +impl core::hash::Hash for bitcoin_primitives::taproot::TapTweakHash +impl core::hash::Hash for bitcoin_primitives::taproot::TapTweakTag +impl core::hash::Hash for bitcoin_primitives::transaction::OutPoint +impl core::hash::Hash for bitcoin_primitives::transaction::Txid +impl core::hash::Hash for bitcoin_primitives::transaction::Version +impl core::hash::Hash for bitcoin_primitives::transaction::Wtxid +impl core::marker::Copy for bitcoin_primitives::block::BlockHash +impl core::marker::Copy for bitcoin_primitives::block::Header +impl core::marker::Copy for bitcoin_primitives::block::Version +impl core::marker::Copy for bitcoin_primitives::block::WitnessCommitment +impl core::marker::Copy for bitcoin_primitives::merkle_tree::TxMerkleNode +impl core::marker::Copy for bitcoin_primitives::merkle_tree::WitnessMerkleNode +impl core::marker::Copy for bitcoin_primitives::opcodes::Class +impl core::marker::Copy for bitcoin_primitives::opcodes::ClassifyContext +impl core::marker::Copy for bitcoin_primitives::opcodes::Opcode +impl core::marker::Copy for bitcoin_primitives::pow::CompactTarget +impl core::marker::Copy for bitcoin_primitives::sequence::Sequence +impl core::marker::Copy for bitcoin_primitives::taproot::TapBranchTag +impl core::marker::Copy for bitcoin_primitives::taproot::TapLeafHash +impl core::marker::Copy for bitcoin_primitives::taproot::TapLeafTag +impl core::marker::Copy for bitcoin_primitives::taproot::TapNodeHash +impl core::marker::Copy for bitcoin_primitives::taproot::TapTweakHash +impl core::marker::Copy for bitcoin_primitives::taproot::TapTweakTag +impl core::marker::Copy for bitcoin_primitives::transaction::OutPoint +impl core::marker::Copy for bitcoin_primitives::transaction::Txid +impl core::marker::Copy for bitcoin_primitives::transaction::Version +impl core::marker::Copy for bitcoin_primitives::transaction::Wtxid +impl core::marker::Freeze for bitcoin_primitives::block::BlockHash +impl core::marker::Freeze for bitcoin_primitives::block::Header +impl core::marker::Freeze for bitcoin_primitives::block::Version +impl core::marker::Freeze for bitcoin_primitives::block::WitnessCommitment +impl core::marker::Freeze for bitcoin_primitives::merkle_tree::TxMerkleNode +impl core::marker::Freeze for bitcoin_primitives::merkle_tree::WitnessMerkleNode +impl core::marker::Freeze for bitcoin_primitives::opcodes::Class +impl core::marker::Freeze for bitcoin_primitives::opcodes::ClassifyContext +impl core::marker::Freeze for bitcoin_primitives::opcodes::Opcode +impl core::marker::Freeze for bitcoin_primitives::pow::CompactTarget +impl core::marker::Freeze for bitcoin_primitives::sequence::Sequence +impl core::marker::Freeze for bitcoin_primitives::taproot::TapBranchTag +impl core::marker::Freeze for bitcoin_primitives::taproot::TapLeafHash +impl core::marker::Freeze for bitcoin_primitives::taproot::TapLeafTag +impl core::marker::Freeze for bitcoin_primitives::taproot::TapNodeHash +impl core::marker::Freeze for bitcoin_primitives::taproot::TapTweakHash +impl core::marker::Freeze for bitcoin_primitives::taproot::TapTweakTag +impl core::marker::Freeze for bitcoin_primitives::transaction::OutPoint +impl core::marker::Freeze for bitcoin_primitives::transaction::Txid +impl core::marker::Freeze for bitcoin_primitives::transaction::Version +impl core::marker::Freeze for bitcoin_primitives::transaction::Wtxid +impl core::marker::Send for bitcoin_primitives::block::BlockHash +impl core::marker::Send for bitcoin_primitives::block::Header +impl core::marker::Send for bitcoin_primitives::block::Version +impl core::marker::Send for bitcoin_primitives::block::WitnessCommitment +impl core::marker::Send for bitcoin_primitives::merkle_tree::TxMerkleNode +impl core::marker::Send for bitcoin_primitives::merkle_tree::WitnessMerkleNode +impl core::marker::Send for bitcoin_primitives::opcodes::Class +impl core::marker::Send for bitcoin_primitives::opcodes::ClassifyContext +impl core::marker::Send for bitcoin_primitives::opcodes::Opcode +impl core::marker::Send for bitcoin_primitives::pow::CompactTarget +impl core::marker::Send for bitcoin_primitives::sequence::Sequence +impl core::marker::Send for bitcoin_primitives::taproot::TapBranchTag +impl core::marker::Send for bitcoin_primitives::taproot::TapLeafHash +impl core::marker::Send for bitcoin_primitives::taproot::TapLeafTag +impl core::marker::Send for bitcoin_primitives::taproot::TapNodeHash +impl core::marker::Send for bitcoin_primitives::taproot::TapTweakHash +impl core::marker::Send for bitcoin_primitives::taproot::TapTweakTag +impl core::marker::Send for bitcoin_primitives::transaction::OutPoint +impl core::marker::Send for bitcoin_primitives::transaction::Txid +impl core::marker::Send for bitcoin_primitives::transaction::Version +impl core::marker::Send for bitcoin_primitives::transaction::Wtxid +impl core::marker::StructuralPartialEq for bitcoin_primitives::block::BlockHash +impl core::marker::StructuralPartialEq for bitcoin_primitives::block::Header +impl core::marker::StructuralPartialEq for bitcoin_primitives::block::Version +impl core::marker::StructuralPartialEq for bitcoin_primitives::block::WitnessCommitment +impl core::marker::StructuralPartialEq for bitcoin_primitives::merkle_tree::TxMerkleNode +impl core::marker::StructuralPartialEq for bitcoin_primitives::merkle_tree::WitnessMerkleNode +impl core::marker::StructuralPartialEq for bitcoin_primitives::opcodes::Class +impl core::marker::StructuralPartialEq for bitcoin_primitives::opcodes::ClassifyContext +impl core::marker::StructuralPartialEq for bitcoin_primitives::opcodes::Opcode +impl core::marker::StructuralPartialEq for bitcoin_primitives::pow::CompactTarget +impl core::marker::StructuralPartialEq for bitcoin_primitives::sequence::Sequence +impl core::marker::StructuralPartialEq for bitcoin_primitives::taproot::TapBranchTag +impl core::marker::StructuralPartialEq for bitcoin_primitives::taproot::TapLeafHash +impl core::marker::StructuralPartialEq for bitcoin_primitives::taproot::TapLeafTag +impl core::marker::StructuralPartialEq for bitcoin_primitives::taproot::TapNodeHash +impl core::marker::StructuralPartialEq for bitcoin_primitives::taproot::TapTweakHash +impl core::marker::StructuralPartialEq for bitcoin_primitives::taproot::TapTweakTag +impl core::marker::StructuralPartialEq for bitcoin_primitives::transaction::OutPoint +impl core::marker::StructuralPartialEq for bitcoin_primitives::transaction::Txid +impl core::marker::StructuralPartialEq for bitcoin_primitives::transaction::Version +impl core::marker::StructuralPartialEq for bitcoin_primitives::transaction::Wtxid +impl core::marker::Sync for bitcoin_primitives::block::BlockHash +impl core::marker::Sync for bitcoin_primitives::block::Header +impl core::marker::Sync for bitcoin_primitives::block::Version +impl core::marker::Sync for bitcoin_primitives::block::WitnessCommitment +impl core::marker::Sync for bitcoin_primitives::merkle_tree::TxMerkleNode +impl core::marker::Sync for bitcoin_primitives::merkle_tree::WitnessMerkleNode +impl core::marker::Sync for bitcoin_primitives::opcodes::Class +impl core::marker::Sync for bitcoin_primitives::opcodes::ClassifyContext +impl core::marker::Sync for bitcoin_primitives::opcodes::Opcode +impl core::marker::Sync for bitcoin_primitives::pow::CompactTarget +impl core::marker::Sync for bitcoin_primitives::sequence::Sequence +impl core::marker::Sync for bitcoin_primitives::taproot::TapBranchTag +impl core::marker::Sync for bitcoin_primitives::taproot::TapLeafHash +impl core::marker::Sync for bitcoin_primitives::taproot::TapLeafTag +impl core::marker::Sync for bitcoin_primitives::taproot::TapNodeHash +impl core::marker::Sync for bitcoin_primitives::taproot::TapTweakHash +impl core::marker::Sync for bitcoin_primitives::taproot::TapTweakTag +impl core::marker::Sync for bitcoin_primitives::transaction::OutPoint +impl core::marker::Sync for bitcoin_primitives::transaction::Txid +impl core::marker::Sync for bitcoin_primitives::transaction::Version +impl core::marker::Sync for bitcoin_primitives::transaction::Wtxid +impl core::marker::Unpin for bitcoin_primitives::block::BlockHash +impl core::marker::Unpin for bitcoin_primitives::block::Header +impl core::marker::Unpin for bitcoin_primitives::block::Version +impl core::marker::Unpin for bitcoin_primitives::block::WitnessCommitment +impl core::marker::Unpin for bitcoin_primitives::merkle_tree::TxMerkleNode +impl core::marker::Unpin for bitcoin_primitives::merkle_tree::WitnessMerkleNode +impl core::marker::Unpin for bitcoin_primitives::opcodes::Class +impl core::marker::Unpin for bitcoin_primitives::opcodes::ClassifyContext +impl core::marker::Unpin for bitcoin_primitives::opcodes::Opcode +impl core::marker::Unpin for bitcoin_primitives::pow::CompactTarget +impl core::marker::Unpin for bitcoin_primitives::sequence::Sequence +impl core::marker::Unpin for bitcoin_primitives::taproot::TapBranchTag +impl core::marker::Unpin for bitcoin_primitives::taproot::TapLeafHash +impl core::marker::Unpin for bitcoin_primitives::taproot::TapLeafTag +impl core::marker::Unpin for bitcoin_primitives::taproot::TapNodeHash +impl core::marker::Unpin for bitcoin_primitives::taproot::TapTweakHash +impl core::marker::Unpin for bitcoin_primitives::taproot::TapTweakTag +impl core::marker::Unpin for bitcoin_primitives::transaction::OutPoint +impl core::marker::Unpin for bitcoin_primitives::transaction::Txid +impl core::marker::Unpin for bitcoin_primitives::transaction::Version +impl core::marker::Unpin for bitcoin_primitives::transaction::Wtxid +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_primitives::block::BlockHash +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_primitives::block::Header +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_primitives::block::Version +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_primitives::block::WitnessCommitment +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_primitives::merkle_tree::TxMerkleNode +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_primitives::merkle_tree::WitnessMerkleNode +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_primitives::opcodes::Class +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_primitives::opcodes::ClassifyContext +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_primitives::opcodes::Opcode +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_primitives::pow::CompactTarget +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_primitives::sequence::Sequence +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_primitives::taproot::TapBranchTag +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_primitives::taproot::TapLeafHash +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_primitives::taproot::TapLeafTag +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_primitives::taproot::TapNodeHash +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_primitives::taproot::TapTweakHash +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_primitives::taproot::TapTweakTag +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_primitives::transaction::OutPoint +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_primitives::transaction::Txid +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_primitives::transaction::Version +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_primitives::transaction::Wtxid +impl core::panic::unwind_safe::UnwindSafe for bitcoin_primitives::block::BlockHash +impl core::panic::unwind_safe::UnwindSafe for bitcoin_primitives::block::Header +impl core::panic::unwind_safe::UnwindSafe for bitcoin_primitives::block::Version +impl core::panic::unwind_safe::UnwindSafe for bitcoin_primitives::block::WitnessCommitment +impl core::panic::unwind_safe::UnwindSafe for bitcoin_primitives::merkle_tree::TxMerkleNode +impl core::panic::unwind_safe::UnwindSafe for bitcoin_primitives::merkle_tree::WitnessMerkleNode +impl core::panic::unwind_safe::UnwindSafe for bitcoin_primitives::opcodes::Class +impl core::panic::unwind_safe::UnwindSafe for bitcoin_primitives::opcodes::ClassifyContext +impl core::panic::unwind_safe::UnwindSafe for bitcoin_primitives::opcodes::Opcode +impl core::panic::unwind_safe::UnwindSafe for bitcoin_primitives::pow::CompactTarget +impl core::panic::unwind_safe::UnwindSafe for bitcoin_primitives::sequence::Sequence +impl core::panic::unwind_safe::UnwindSafe for bitcoin_primitives::taproot::TapBranchTag +impl core::panic::unwind_safe::UnwindSafe for bitcoin_primitives::taproot::TapLeafHash +impl core::panic::unwind_safe::UnwindSafe for bitcoin_primitives::taproot::TapLeafTag +impl core::panic::unwind_safe::UnwindSafe for bitcoin_primitives::taproot::TapNodeHash +impl core::panic::unwind_safe::UnwindSafe for bitcoin_primitives::taproot::TapTweakHash +impl core::panic::unwind_safe::UnwindSafe for bitcoin_primitives::taproot::TapTweakTag +impl core::panic::unwind_safe::UnwindSafe for bitcoin_primitives::transaction::OutPoint +impl core::panic::unwind_safe::UnwindSafe for bitcoin_primitives::transaction::Txid +impl core::panic::unwind_safe::UnwindSafe for bitcoin_primitives::transaction::Version +impl core::panic::unwind_safe::UnwindSafe for bitcoin_primitives::transaction::Wtxid +impl core::str::traits::FromStr for bitcoin_primitives::block::BlockHash +impl core::str::traits::FromStr for bitcoin_primitives::block::WitnessCommitment +impl core::str::traits::FromStr for bitcoin_primitives::merkle_tree::TxMerkleNode +impl core::str::traits::FromStr for bitcoin_primitives::merkle_tree::WitnessMerkleNode +impl core::str::traits::FromStr for bitcoin_primitives::taproot::TapLeafHash +impl core::str::traits::FromStr for bitcoin_primitives::taproot::TapNodeHash +impl core::str::traits::FromStr for bitcoin_primitives::taproot::TapTweakHash +impl core::str::traits::FromStr for bitcoin_primitives::transaction::Txid +impl core::str::traits::FromStr for bitcoin_primitives::transaction::Wtxid +pub bitcoin_primitives::BlockHeader::bits: bitcoin_primitives::pow::CompactTarget +pub bitcoin_primitives::BlockHeader::merkle_root: bitcoin_primitives::merkle_tree::TxMerkleNode +pub bitcoin_primitives::BlockHeader::nonce: u32 +pub bitcoin_primitives::BlockHeader::prev_blockhash: bitcoin_primitives::block::BlockHash +pub bitcoin_primitives::BlockHeader::time: u32 +pub bitcoin_primitives::BlockHeader::version: bitcoin_primitives::block::Version +pub bitcoin_primitives::block::Header::bits: bitcoin_primitives::pow::CompactTarget +pub bitcoin_primitives::block::Header::merkle_root: bitcoin_primitives::merkle_tree::TxMerkleNode +pub bitcoin_primitives::block::Header::nonce: u32 +pub bitcoin_primitives::block::Header::prev_blockhash: bitcoin_primitives::block::BlockHash +pub bitcoin_primitives::block::Header::time: u32 +pub bitcoin_primitives::block::Header::version: bitcoin_primitives::block::Version +pub bitcoin_primitives::opcodes::Class::IllegalOp +pub bitcoin_primitives::opcodes::Class::NoOp +pub bitcoin_primitives::opcodes::Class::Ordinary(Ordinary) +pub bitcoin_primitives::opcodes::Class::PushBytes(u32) +pub bitcoin_primitives::opcodes::Class::PushNum(i32) +pub bitcoin_primitives::opcodes::Class::ReturnOp +pub bitcoin_primitives::opcodes::Class::SuccessOp +pub bitcoin_primitives::opcodes::ClassifyContext::Legacy +pub bitcoin_primitives::opcodes::ClassifyContext::TapScript +pub bitcoin_primitives::transaction::OutPoint::txid: bitcoin_primitives::transaction::Txid +pub bitcoin_primitives::transaction::OutPoint::vout: u32 +pub const bitcoin_primitives::block::BlockHash::DISPLAY_BACKWARD: bool +pub const bitcoin_primitives::block::BlockHash::GENESIS_PREVIOUS_BLOCK_HASH: Self +pub const bitcoin_primitives::block::Header::SIZE: usize +pub const bitcoin_primitives::block::Version::NO_SOFT_FORK_SIGNALLING: Self +pub const bitcoin_primitives::block::Version::ONE: Self +pub const bitcoin_primitives::block::Version::TWO: Self +pub const bitcoin_primitives::block::WitnessCommitment::DISPLAY_BACKWARD: bool +pub const bitcoin_primitives::merkle_tree::TxMerkleNode::DISPLAY_BACKWARD: bool +pub const bitcoin_primitives::merkle_tree::WitnessMerkleNode::DISPLAY_BACKWARD: bool +pub const bitcoin_primitives::opcodes::all::OP_0NOTEQUAL: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_1ADD: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_1SUB: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_2DIV: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_2DROP: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_2DUP: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_2MUL: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_2OVER: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_2ROT: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_2SWAP: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_3DUP: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_ABS: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_ADD: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_AND: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_BOOLAND: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_BOOLOR: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_CAT: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_CHECKMULTISIG: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_CHECKMULTISIGVERIFY: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_CHECKSIG: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_CHECKSIGADD: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_CHECKSIGVERIFY: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_CLTV: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_CODESEPARATOR: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_CSV: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_DEPTH: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_DIV: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_DROP: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_DUP: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_ELSE: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_ENDIF: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_EQUAL: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_EQUALVERIFY: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_FROMALTSTACK: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_GREATERTHAN: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_GREATERTHANOREQUAL: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_HASH160: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_HASH256: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_IF: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_IFDUP: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_INVALIDOPCODE: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_INVERT: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_LEFT: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_LESSTHAN: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_LESSTHANOREQUAL: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_LSHIFT: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_MAX: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_MIN: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_MOD: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_MUL: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_NEGATE: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_NIP: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_NOP10: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_NOP1: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_NOP4: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_NOP5: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_NOP6: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_NOP7: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_NOP8: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_NOP9: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_NOP: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_NOT: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_NOTIF: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_NUMEQUAL: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_NUMEQUALVERIFY: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_NUMNOTEQUAL: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_OR: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_OVER: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PICK: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_0: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_10: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_11: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_12: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_13: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_14: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_15: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_16: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_17: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_18: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_19: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_1: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_20: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_21: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_22: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_23: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_24: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_25: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_26: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_27: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_28: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_29: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_2: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_30: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_31: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_32: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_33: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_34: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_35: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_36: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_37: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_38: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_39: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_3: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_40: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_41: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_42: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_43: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_44: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_45: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_46: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_47: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_48: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_49: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_4: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_50: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_51: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_52: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_53: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_54: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_55: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_56: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_57: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_58: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_59: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_5: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_60: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_61: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_62: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_63: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_64: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_65: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_66: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_67: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_68: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_69: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_6: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_70: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_71: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_72: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_73: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_74: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_75: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_7: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_8: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHBYTES_9: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHDATA1: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHDATA2: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHDATA4: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHNUM_10: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHNUM_11: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHNUM_12: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHNUM_13: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHNUM_14: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHNUM_15: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHNUM_16: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHNUM_1: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHNUM_2: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHNUM_3: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHNUM_4: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHNUM_5: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHNUM_6: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHNUM_7: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHNUM_8: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHNUM_9: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_PUSHNUM_NEG1: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RESERVED1: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RESERVED2: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RESERVED: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_187: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_188: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_189: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_190: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_191: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_192: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_193: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_194: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_195: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_196: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_197: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_198: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_199: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_200: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_201: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_202: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_203: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_204: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_205: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_206: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_207: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_208: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_209: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_210: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_211: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_212: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_213: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_214: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_215: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_216: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_217: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_218: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_219: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_220: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_221: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_222: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_223: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_224: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_225: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_226: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_227: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_228: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_229: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_230: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_231: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_232: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_233: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_234: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_235: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_236: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_237: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_238: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_239: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_240: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_241: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_242: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_243: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_244: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_245: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_246: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_247: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_248: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_249: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_250: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_251: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_252: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_253: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RETURN_254: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RIGHT: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RIPEMD160: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_ROLL: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_ROT: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_RSHIFT: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_SHA1: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_SHA256: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_SIZE: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_SUB: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_SUBSTR: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_SWAP: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_TOALTSTACK: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_TUCK: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_VER: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_VERIF: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_VERIFY: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_VERNOTIF: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_WITHIN: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::opcodes::all::OP_XOR: bitcoin_primitives::opcodes::Opcode +pub const bitcoin_primitives::sequence::Sequence::ENABLE_LOCKTIME_AND_RBF: Self +pub const bitcoin_primitives::sequence::Sequence::ENABLE_LOCKTIME_NO_RBF: Self +pub const bitcoin_primitives::sequence::Sequence::ENABLE_RBF_NO_LOCKTIME: Self +pub const bitcoin_primitives::sequence::Sequence::FINAL: Self +pub const bitcoin_primitives::sequence::Sequence::MAX: Self +pub const bitcoin_primitives::sequence::Sequence::SIZE: usize +pub const bitcoin_primitives::sequence::Sequence::ZERO: Self +pub const bitcoin_primitives::taproot::TapLeafHash::DISPLAY_BACKWARD: bool +pub const bitcoin_primitives::taproot::TapNodeHash::DISPLAY_BACKWARD: bool +pub const bitcoin_primitives::taproot::TapTweakHash::DISPLAY_BACKWARD: bool +pub const bitcoin_primitives::transaction::OutPoint::COINBASE_PREVOUT: Self +pub const bitcoin_primitives::transaction::OutPoint::SIZE: usize +pub const bitcoin_primitives::transaction::Txid::COINBASE_PREVOUT: Self +pub const bitcoin_primitives::transaction::Txid::DISPLAY_BACKWARD: bool +pub const bitcoin_primitives::transaction::Version::ONE: Self +pub const bitcoin_primitives::transaction::Version::THREE: Self +pub const bitcoin_primitives::transaction::Version::TWO: Self +pub const bitcoin_primitives::transaction::Wtxid::COINBASE: Self +pub const bitcoin_primitives::transaction::Wtxid::DISPLAY_BACKWARD: bool +pub const fn bitcoin_primitives::block::BlockHash::as_byte_array(&self) -> &::Bytes +pub const fn bitcoin_primitives::block::BlockHash::from_byte_array(bytes: ::Bytes) -> Self +pub const fn bitcoin_primitives::block::BlockHash::to_byte_array(self) -> ::Bytes +pub const fn bitcoin_primitives::block::Version::from_consensus(v: i32) -> Self +pub const fn bitcoin_primitives::block::WitnessCommitment::as_byte_array(&self) -> &::Bytes +pub const fn bitcoin_primitives::block::WitnessCommitment::from_byte_array(bytes: ::Bytes) -> Self +pub const fn bitcoin_primitives::block::WitnessCommitment::to_byte_array(self) -> ::Bytes +pub const fn bitcoin_primitives::merkle_tree::TxMerkleNode::as_byte_array(&self) -> &::Bytes +pub const fn bitcoin_primitives::merkle_tree::TxMerkleNode::from_byte_array(bytes: ::Bytes) -> Self +pub const fn bitcoin_primitives::merkle_tree::TxMerkleNode::to_byte_array(self) -> ::Bytes +pub const fn bitcoin_primitives::merkle_tree::WitnessMerkleNode::as_byte_array(&self) -> &::Bytes +pub const fn bitcoin_primitives::merkle_tree::WitnessMerkleNode::from_byte_array(bytes: ::Bytes) -> Self +pub const fn bitcoin_primitives::merkle_tree::WitnessMerkleNode::to_byte_array(self) -> ::Bytes +pub const fn bitcoin_primitives::opcodes::Opcode::decode_pushnum(self) -> core::option::Option +pub const fn bitcoin_primitives::opcodes::Opcode::to_u8(self) -> u8 +pub const fn bitcoin_primitives::taproot::TapLeafHash::as_byte_array(&self) -> & as bitcoin_hashes::Hash>::Bytes +pub const fn bitcoin_primitives::taproot::TapLeafHash::from_byte_array(bytes: as bitcoin_hashes::Hash>::Bytes) -> Self +pub const fn bitcoin_primitives::taproot::TapLeafHash::to_byte_array(self) -> as bitcoin_hashes::Hash>::Bytes +pub const fn bitcoin_primitives::taproot::TapNodeHash::as_byte_array(&self) -> & as bitcoin_hashes::Hash>::Bytes +pub const fn bitcoin_primitives::taproot::TapNodeHash::from_byte_array(bytes: as bitcoin_hashes::Hash>::Bytes) -> Self +pub const fn bitcoin_primitives::taproot::TapNodeHash::to_byte_array(self) -> as bitcoin_hashes::Hash>::Bytes +pub const fn bitcoin_primitives::taproot::TapTweakHash::as_byte_array(&self) -> & as bitcoin_hashes::Hash>::Bytes +pub const fn bitcoin_primitives::taproot::TapTweakHash::from_byte_array(bytes: as bitcoin_hashes::Hash>::Bytes) -> Self +pub const fn bitcoin_primitives::taproot::TapTweakHash::to_byte_array(self) -> as bitcoin_hashes::Hash>::Bytes +pub const fn bitcoin_primitives::transaction::Txid::as_byte_array(&self) -> &::Bytes +pub const fn bitcoin_primitives::transaction::Txid::from_byte_array(bytes: ::Bytes) -> Self +pub const fn bitcoin_primitives::transaction::Txid::to_byte_array(self) -> ::Bytes +pub const fn bitcoin_primitives::transaction::Wtxid::as_byte_array(&self) -> &::Bytes +pub const fn bitcoin_primitives::transaction::Wtxid::from_byte_array(bytes: ::Bytes) -> Self +pub const fn bitcoin_primitives::transaction::Wtxid::to_byte_array(self) -> ::Bytes +pub enum bitcoin_primitives::opcodes::Class +pub enum bitcoin_primitives::opcodes::ClassifyContext +pub fn bitcoin_hashes::sha256d::Hash::from(hashtype: bitcoin_primitives::block::BlockHash) -> bitcoin_hashes::sha256d::Hash +pub fn bitcoin_hashes::sha256d::Hash::from(hashtype: bitcoin_primitives::block::WitnessCommitment) -> bitcoin_hashes::sha256d::Hash +pub fn bitcoin_hashes::sha256d::Hash::from(hashtype: bitcoin_primitives::merkle_tree::TxMerkleNode) -> bitcoin_hashes::sha256d::Hash +pub fn bitcoin_hashes::sha256d::Hash::from(hashtype: bitcoin_primitives::merkle_tree::WitnessMerkleNode) -> bitcoin_hashes::sha256d::Hash +pub fn bitcoin_hashes::sha256d::Hash::from(hashtype: bitcoin_primitives::transaction::Txid) -> bitcoin_hashes::sha256d::Hash +pub fn bitcoin_hashes::sha256d::Hash::from(hashtype: bitcoin_primitives::transaction::Wtxid) -> bitcoin_hashes::sha256d::Hash +pub fn bitcoin_hashes::sha256t::Hash::from(hashtype: bitcoin_primitives::taproot::TapNodeHash) -> bitcoin_hashes::sha256t::Hash +pub fn bitcoin_hashes::sha256t::Hash::from(hashtype: bitcoin_primitives::taproot::TapLeafHash) -> bitcoin_hashes::sha256t::Hash +pub fn bitcoin_hashes::sha256t::Hash::from(hashtype: bitcoin_primitives::taproot::TapTweakHash) -> bitcoin_hashes::sha256t::Hash +pub fn bitcoin_primitives::block::BlockHash::as_byte_array(&self) -> &Self::Bytes +pub fn bitcoin_primitives::block::BlockHash::as_ref(&self) -> &[u8; 32] +pub fn bitcoin_primitives::block::BlockHash::as_ref(&self) -> &[u8] +pub fn bitcoin_primitives::block::BlockHash::borrow(&self) -> &[u8; 32] +pub fn bitcoin_primitives::block::BlockHash::borrow(&self) -> &[u8] +pub fn bitcoin_primitives::block::BlockHash::clone(&self) -> bitcoin_primitives::block::BlockHash +pub fn bitcoin_primitives::block::BlockHash::cmp(&self, other: &bitcoin_primitives::block::BlockHash) -> core::cmp::Ordering +pub fn bitcoin_primitives::block::BlockHash::eq(&self, other: &bitcoin_primitives::block::BlockHash) -> bool +pub fn bitcoin_primitives::block::BlockHash::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_primitives::block::BlockHash::from(header: &bitcoin_primitives::block::Header) -> bitcoin_primitives::block::BlockHash +pub fn bitcoin_primitives::block::BlockHash::from(header: bitcoin_primitives::block::Header) -> bitcoin_primitives::block::BlockHash +pub fn bitcoin_primitives::block::BlockHash::from(inner: bitcoin_hashes::sha256d::Hash) -> bitcoin_primitives::block::BlockHash +pub fn bitcoin_primitives::block::BlockHash::from_byte_array(bytes: Self::Bytes) -> Self +pub fn bitcoin_primitives::block::BlockHash::from_slice(sl: &[u8]) -> core::result::Result +pub fn bitcoin_primitives::block::BlockHash::from_str(s: &str) -> core::result::Result +pub fn bitcoin_primitives::block::BlockHash::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_primitives::block::BlockHash::partial_cmp(&self, other: &bitcoin_primitives::block::BlockHash) -> core::option::Option +pub fn bitcoin_primitives::block::BlockHash::to_byte_array(self) -> Self::Bytes +pub fn bitcoin_primitives::block::Header::block_hash(&self) -> bitcoin_primitives::block::BlockHash +pub fn bitcoin_primitives::block::Header::clone(&self) -> bitcoin_primitives::block::Header +pub fn bitcoin_primitives::block::Header::cmp(&self, other: &bitcoin_primitives::block::Header) -> core::cmp::Ordering +pub fn bitcoin_primitives::block::Header::eq(&self, other: &bitcoin_primitives::block::Header) -> bool +pub fn bitcoin_primitives::block::Header::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_primitives::block::Header::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_primitives::block::Header::partial_cmp(&self, other: &bitcoin_primitives::block::Header) -> core::option::Option +pub fn bitcoin_primitives::block::Version::clone(&self) -> bitcoin_primitives::block::Version +pub fn bitcoin_primitives::block::Version::cmp(&self, other: &bitcoin_primitives::block::Version) -> core::cmp::Ordering +pub fn bitcoin_primitives::block::Version::default() -> bitcoin_primitives::block::Version +pub fn bitcoin_primitives::block::Version::eq(&self, other: &bitcoin_primitives::block::Version) -> bool +pub fn bitcoin_primitives::block::Version::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_primitives::block::Version::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_primitives::block::Version::is_signalling_soft_fork(&self, bit: u8) -> bool +pub fn bitcoin_primitives::block::Version::partial_cmp(&self, other: &bitcoin_primitives::block::Version) -> core::option::Option +pub fn bitcoin_primitives::block::Version::to_consensus(self) -> i32 +pub fn bitcoin_primitives::block::WitnessCommitment::as_byte_array(&self) -> &Self::Bytes +pub fn bitcoin_primitives::block::WitnessCommitment::as_ref(&self) -> &[u8; 32] +pub fn bitcoin_primitives::block::WitnessCommitment::as_ref(&self) -> &[u8] +pub fn bitcoin_primitives::block::WitnessCommitment::borrow(&self) -> &[u8; 32] +pub fn bitcoin_primitives::block::WitnessCommitment::borrow(&self) -> &[u8] +pub fn bitcoin_primitives::block::WitnessCommitment::clone(&self) -> bitcoin_primitives::block::WitnessCommitment +pub fn bitcoin_primitives::block::WitnessCommitment::cmp(&self, other: &bitcoin_primitives::block::WitnessCommitment) -> core::cmp::Ordering +pub fn bitcoin_primitives::block::WitnessCommitment::eq(&self, other: &bitcoin_primitives::block::WitnessCommitment) -> bool +pub fn bitcoin_primitives::block::WitnessCommitment::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_primitives::block::WitnessCommitment::from(inner: bitcoin_hashes::sha256d::Hash) -> bitcoin_primitives::block::WitnessCommitment +pub fn bitcoin_primitives::block::WitnessCommitment::from_byte_array(bytes: Self::Bytes) -> Self +pub fn bitcoin_primitives::block::WitnessCommitment::from_slice(sl: &[u8]) -> core::result::Result +pub fn bitcoin_primitives::block::WitnessCommitment::from_str(s: &str) -> core::result::Result +pub fn bitcoin_primitives::block::WitnessCommitment::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_primitives::block::WitnessCommitment::partial_cmp(&self, other: &bitcoin_primitives::block::WitnessCommitment) -> core::option::Option +pub fn bitcoin_primitives::block::WitnessCommitment::to_byte_array(self) -> Self::Bytes +pub fn bitcoin_primitives::merkle_tree::TxMerkleNode::as_byte_array(&self) -> &Self::Bytes +pub fn bitcoin_primitives::merkle_tree::TxMerkleNode::as_ref(&self) -> &[u8; 32] +pub fn bitcoin_primitives::merkle_tree::TxMerkleNode::as_ref(&self) -> &[u8] +pub fn bitcoin_primitives::merkle_tree::TxMerkleNode::borrow(&self) -> &[u8; 32] +pub fn bitcoin_primitives::merkle_tree::TxMerkleNode::borrow(&self) -> &[u8] +pub fn bitcoin_primitives::merkle_tree::TxMerkleNode::clone(&self) -> bitcoin_primitives::merkle_tree::TxMerkleNode +pub fn bitcoin_primitives::merkle_tree::TxMerkleNode::cmp(&self, other: &bitcoin_primitives::merkle_tree::TxMerkleNode) -> core::cmp::Ordering +pub fn bitcoin_primitives::merkle_tree::TxMerkleNode::eq(&self, other: &bitcoin_primitives::merkle_tree::TxMerkleNode) -> bool +pub fn bitcoin_primitives::merkle_tree::TxMerkleNode::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_primitives::merkle_tree::TxMerkleNode::from(inner: bitcoin_hashes::sha256d::Hash) -> bitcoin_primitives::merkle_tree::TxMerkleNode +pub fn bitcoin_primitives::merkle_tree::TxMerkleNode::from_byte_array(bytes: Self::Bytes) -> Self +pub fn bitcoin_primitives::merkle_tree::TxMerkleNode::from_slice(sl: &[u8]) -> core::result::Result +pub fn bitcoin_primitives::merkle_tree::TxMerkleNode::from_str(s: &str) -> core::result::Result +pub fn bitcoin_primitives::merkle_tree::TxMerkleNode::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_primitives::merkle_tree::TxMerkleNode::partial_cmp(&self, other: &bitcoin_primitives::merkle_tree::TxMerkleNode) -> core::option::Option +pub fn bitcoin_primitives::merkle_tree::TxMerkleNode::to_byte_array(self) -> Self::Bytes +pub fn bitcoin_primitives::merkle_tree::WitnessMerkleNode::as_byte_array(&self) -> &Self::Bytes +pub fn bitcoin_primitives::merkle_tree::WitnessMerkleNode::as_ref(&self) -> &[u8; 32] +pub fn bitcoin_primitives::merkle_tree::WitnessMerkleNode::as_ref(&self) -> &[u8] +pub fn bitcoin_primitives::merkle_tree::WitnessMerkleNode::borrow(&self) -> &[u8; 32] +pub fn bitcoin_primitives::merkle_tree::WitnessMerkleNode::borrow(&self) -> &[u8] +pub fn bitcoin_primitives::merkle_tree::WitnessMerkleNode::clone(&self) -> bitcoin_primitives::merkle_tree::WitnessMerkleNode +pub fn bitcoin_primitives::merkle_tree::WitnessMerkleNode::cmp(&self, other: &bitcoin_primitives::merkle_tree::WitnessMerkleNode) -> core::cmp::Ordering +pub fn bitcoin_primitives::merkle_tree::WitnessMerkleNode::eq(&self, other: &bitcoin_primitives::merkle_tree::WitnessMerkleNode) -> bool +pub fn bitcoin_primitives::merkle_tree::WitnessMerkleNode::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_primitives::merkle_tree::WitnessMerkleNode::from(inner: bitcoin_hashes::sha256d::Hash) -> bitcoin_primitives::merkle_tree::WitnessMerkleNode +pub fn bitcoin_primitives::merkle_tree::WitnessMerkleNode::from_byte_array(bytes: Self::Bytes) -> Self +pub fn bitcoin_primitives::merkle_tree::WitnessMerkleNode::from_slice(sl: &[u8]) -> core::result::Result +pub fn bitcoin_primitives::merkle_tree::WitnessMerkleNode::from_str(s: &str) -> core::result::Result +pub fn bitcoin_primitives::merkle_tree::WitnessMerkleNode::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_primitives::merkle_tree::WitnessMerkleNode::partial_cmp(&self, other: &bitcoin_primitives::merkle_tree::WitnessMerkleNode) -> core::option::Option +pub fn bitcoin_primitives::merkle_tree::WitnessMerkleNode::to_byte_array(self) -> Self::Bytes +pub fn bitcoin_primitives::opcodes::Class::clone(&self) -> bitcoin_primitives::opcodes::Class +pub fn bitcoin_primitives::opcodes::Class::eq(&self, other: &bitcoin_primitives::opcodes::Class) -> bool +pub fn bitcoin_primitives::opcodes::Class::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_primitives::opcodes::ClassifyContext::clone(&self) -> bitcoin_primitives::opcodes::ClassifyContext +pub fn bitcoin_primitives::opcodes::ClassifyContext::cmp(&self, other: &bitcoin_primitives::opcodes::ClassifyContext) -> core::cmp::Ordering +pub fn bitcoin_primitives::opcodes::ClassifyContext::eq(&self, other: &bitcoin_primitives::opcodes::ClassifyContext) -> bool +pub fn bitcoin_primitives::opcodes::ClassifyContext::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_primitives::opcodes::ClassifyContext::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_primitives::opcodes::ClassifyContext::partial_cmp(&self, other: &bitcoin_primitives::opcodes::ClassifyContext) -> core::option::Option +pub fn bitcoin_primitives::opcodes::Opcode::classify(self, ctx: bitcoin_primitives::opcodes::ClassifyContext) -> bitcoin_primitives::opcodes::Class +pub fn bitcoin_primitives::opcodes::Opcode::clone(&self) -> bitcoin_primitives::opcodes::Opcode +pub fn bitcoin_primitives::opcodes::Opcode::eq(&self, other: &bitcoin_primitives::opcodes::Opcode) -> bool +pub fn bitcoin_primitives::opcodes::Opcode::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_primitives::opcodes::Opcode::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::result::Result<(), core::fmt::Error> +pub fn bitcoin_primitives::opcodes::Opcode::from(b: u8) -> bitcoin_primitives::opcodes::Opcode +pub fn bitcoin_primitives::pow::CompactTarget::clone(&self) -> bitcoin_primitives::pow::CompactTarget +pub fn bitcoin_primitives::pow::CompactTarget::cmp(&self, other: &bitcoin_primitives::pow::CompactTarget) -> core::cmp::Ordering +pub fn bitcoin_primitives::pow::CompactTarget::default() -> bitcoin_primitives::pow::CompactTarget +pub fn bitcoin_primitives::pow::CompactTarget::eq(&self, other: &bitcoin_primitives::pow::CompactTarget) -> bool +pub fn bitcoin_primitives::pow::CompactTarget::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_primitives::pow::CompactTarget::from_consensus(bits: u32) -> Self +pub fn bitcoin_primitives::pow::CompactTarget::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_primitives::pow::CompactTarget::partial_cmp(&self, other: &bitcoin_primitives::pow::CompactTarget) -> core::option::Option +pub fn bitcoin_primitives::pow::CompactTarget::to_consensus(self) -> u32 +pub fn bitcoin_primitives::sequence::Sequence::clone(&self) -> bitcoin_primitives::sequence::Sequence +pub fn bitcoin_primitives::sequence::Sequence::cmp(&self, other: &bitcoin_primitives::sequence::Sequence) -> core::cmp::Ordering +pub fn bitcoin_primitives::sequence::Sequence::default() -> Self +pub fn bitcoin_primitives::sequence::Sequence::enables_absolute_lock_time(&self) -> bool +pub fn bitcoin_primitives::sequence::Sequence::eq(&self, other: &bitcoin_primitives::sequence::Sequence) -> bool +pub fn bitcoin_primitives::sequence::Sequence::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_primitives::sequence::Sequence::from_512_second_intervals(intervals: u16) -> Self +pub fn bitcoin_primitives::sequence::Sequence::from_consensus(n: u32) -> Self +pub fn bitcoin_primitives::sequence::Sequence::from_height(height: u16) -> Self +pub fn bitcoin_primitives::sequence::Sequence::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_primitives::sequence::Sequence::is_final(&self) -> bool +pub fn bitcoin_primitives::sequence::Sequence::is_height_locked(&self) -> bool +pub fn bitcoin_primitives::sequence::Sequence::is_rbf(&self) -> bool +pub fn bitcoin_primitives::sequence::Sequence::is_relative_lock_time(&self) -> bool +pub fn bitcoin_primitives::sequence::Sequence::is_time_locked(&self) -> bool +pub fn bitcoin_primitives::sequence::Sequence::partial_cmp(&self, other: &bitcoin_primitives::sequence::Sequence) -> core::option::Option +pub fn bitcoin_primitives::sequence::Sequence::to_consensus_u32(self) -> u32 +pub fn bitcoin_primitives::taproot::TapBranchTag::clone(&self) -> bitcoin_primitives::taproot::TapBranchTag +pub fn bitcoin_primitives::taproot::TapBranchTag::cmp(&self, other: &bitcoin_primitives::taproot::TapBranchTag) -> core::cmp::Ordering +pub fn bitcoin_primitives::taproot::TapBranchTag::default() -> bitcoin_primitives::taproot::TapBranchTag +pub fn bitcoin_primitives::taproot::TapBranchTag::engine() -> bitcoin_hashes::sha256::HashEngine +pub fn bitcoin_primitives::taproot::TapBranchTag::eq(&self, other: &bitcoin_primitives::taproot::TapBranchTag) -> bool +pub fn bitcoin_primitives::taproot::TapBranchTag::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_primitives::taproot::TapBranchTag::partial_cmp(&self, other: &bitcoin_primitives::taproot::TapBranchTag) -> core::option::Option +pub fn bitcoin_primitives::taproot::TapLeafHash::as_byte_array(&self) -> &Self::Bytes +pub fn bitcoin_primitives::taproot::TapLeafHash::as_ref(&self) -> &[u8; 32] +pub fn bitcoin_primitives::taproot::TapLeafHash::as_ref(&self) -> &[u8] +pub fn bitcoin_primitives::taproot::TapLeafHash::borrow(&self) -> &[u8; 32] +pub fn bitcoin_primitives::taproot::TapLeafHash::borrow(&self) -> &[u8] +pub fn bitcoin_primitives::taproot::TapLeafHash::clone(&self) -> bitcoin_primitives::taproot::TapLeafHash +pub fn bitcoin_primitives::taproot::TapLeafHash::cmp(&self, other: &bitcoin_primitives::taproot::TapLeafHash) -> core::cmp::Ordering +pub fn bitcoin_primitives::taproot::TapLeafHash::eq(&self, other: &bitcoin_primitives::taproot::TapLeafHash) -> bool +pub fn bitcoin_primitives::taproot::TapLeafHash::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_primitives::taproot::TapLeafHash::from(inner: bitcoin_hashes::sha256t::Hash) -> bitcoin_primitives::taproot::TapLeafHash +pub fn bitcoin_primitives::taproot::TapLeafHash::from_byte_array(bytes: Self::Bytes) -> Self +pub fn bitcoin_primitives::taproot::TapLeafHash::from_slice(sl: &[u8]) -> core::result::Result +pub fn bitcoin_primitives::taproot::TapLeafHash::from_str(s: &str) -> core::result::Result +pub fn bitcoin_primitives::taproot::TapLeafHash::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_primitives::taproot::TapLeafHash::partial_cmp(&self, other: &bitcoin_primitives::taproot::TapLeafHash) -> core::option::Option +pub fn bitcoin_primitives::taproot::TapLeafHash::to_byte_array(self) -> Self::Bytes +pub fn bitcoin_primitives::taproot::TapLeafTag::clone(&self) -> bitcoin_primitives::taproot::TapLeafTag +pub fn bitcoin_primitives::taproot::TapLeafTag::cmp(&self, other: &bitcoin_primitives::taproot::TapLeafTag) -> core::cmp::Ordering +pub fn bitcoin_primitives::taproot::TapLeafTag::default() -> bitcoin_primitives::taproot::TapLeafTag +pub fn bitcoin_primitives::taproot::TapLeafTag::engine() -> bitcoin_hashes::sha256::HashEngine +pub fn bitcoin_primitives::taproot::TapLeafTag::eq(&self, other: &bitcoin_primitives::taproot::TapLeafTag) -> bool +pub fn bitcoin_primitives::taproot::TapLeafTag::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_primitives::taproot::TapLeafTag::partial_cmp(&self, other: &bitcoin_primitives::taproot::TapLeafTag) -> core::option::Option +pub fn bitcoin_primitives::taproot::TapNodeHash::as_byte_array(&self) -> &Self::Bytes +pub fn bitcoin_primitives::taproot::TapNodeHash::as_ref(&self) -> &[u8; 32] +pub fn bitcoin_primitives::taproot::TapNodeHash::as_ref(&self) -> &[u8] +pub fn bitcoin_primitives::taproot::TapNodeHash::borrow(&self) -> &[u8; 32] +pub fn bitcoin_primitives::taproot::TapNodeHash::borrow(&self) -> &[u8] +pub fn bitcoin_primitives::taproot::TapNodeHash::clone(&self) -> bitcoin_primitives::taproot::TapNodeHash +pub fn bitcoin_primitives::taproot::TapNodeHash::cmp(&self, other: &bitcoin_primitives::taproot::TapNodeHash) -> core::cmp::Ordering +pub fn bitcoin_primitives::taproot::TapNodeHash::eq(&self, other: &bitcoin_primitives::taproot::TapNodeHash) -> bool +pub fn bitcoin_primitives::taproot::TapNodeHash::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_primitives::taproot::TapNodeHash::from(inner: bitcoin_hashes::sha256t::Hash) -> bitcoin_primitives::taproot::TapNodeHash +pub fn bitcoin_primitives::taproot::TapNodeHash::from(leaf: bitcoin_primitives::taproot::TapLeafHash) -> bitcoin_primitives::taproot::TapNodeHash +pub fn bitcoin_primitives::taproot::TapNodeHash::from_byte_array(bytes: Self::Bytes) -> Self +pub fn bitcoin_primitives::taproot::TapNodeHash::from_slice(sl: &[u8]) -> core::result::Result +pub fn bitcoin_primitives::taproot::TapNodeHash::from_str(s: &str) -> core::result::Result +pub fn bitcoin_primitives::taproot::TapNodeHash::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_primitives::taproot::TapNodeHash::partial_cmp(&self, other: &bitcoin_primitives::taproot::TapNodeHash) -> core::option::Option +pub fn bitcoin_primitives::taproot::TapNodeHash::to_byte_array(self) -> Self::Bytes +pub fn bitcoin_primitives::taproot::TapTweakHash::as_byte_array(&self) -> &Self::Bytes +pub fn bitcoin_primitives::taproot::TapTweakHash::as_ref(&self) -> &[u8; 32] +pub fn bitcoin_primitives::taproot::TapTweakHash::as_ref(&self) -> &[u8] +pub fn bitcoin_primitives::taproot::TapTweakHash::borrow(&self) -> &[u8; 32] +pub fn bitcoin_primitives::taproot::TapTweakHash::borrow(&self) -> &[u8] +pub fn bitcoin_primitives::taproot::TapTweakHash::clone(&self) -> bitcoin_primitives::taproot::TapTweakHash +pub fn bitcoin_primitives::taproot::TapTweakHash::cmp(&self, other: &bitcoin_primitives::taproot::TapTweakHash) -> core::cmp::Ordering +pub fn bitcoin_primitives::taproot::TapTweakHash::eq(&self, other: &bitcoin_primitives::taproot::TapTweakHash) -> bool +pub fn bitcoin_primitives::taproot::TapTweakHash::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_primitives::taproot::TapTweakHash::from(inner: bitcoin_hashes::sha256t::Hash) -> bitcoin_primitives::taproot::TapTweakHash +pub fn bitcoin_primitives::taproot::TapTweakHash::from_byte_array(bytes: Self::Bytes) -> Self +pub fn bitcoin_primitives::taproot::TapTweakHash::from_slice(sl: &[u8]) -> core::result::Result +pub fn bitcoin_primitives::taproot::TapTweakHash::from_str(s: &str) -> core::result::Result +pub fn bitcoin_primitives::taproot::TapTweakHash::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_primitives::taproot::TapTweakHash::partial_cmp(&self, other: &bitcoin_primitives::taproot::TapTweakHash) -> core::option::Option +pub fn bitcoin_primitives::taproot::TapTweakHash::to_byte_array(self) -> Self::Bytes +pub fn bitcoin_primitives::taproot::TapTweakTag::clone(&self) -> bitcoin_primitives::taproot::TapTweakTag +pub fn bitcoin_primitives::taproot::TapTweakTag::cmp(&self, other: &bitcoin_primitives::taproot::TapTweakTag) -> core::cmp::Ordering +pub fn bitcoin_primitives::taproot::TapTweakTag::default() -> bitcoin_primitives::taproot::TapTweakTag +pub fn bitcoin_primitives::taproot::TapTweakTag::engine() -> bitcoin_hashes::sha256::HashEngine +pub fn bitcoin_primitives::taproot::TapTweakTag::eq(&self, other: &bitcoin_primitives::taproot::TapTweakTag) -> bool +pub fn bitcoin_primitives::taproot::TapTweakTag::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_primitives::taproot::TapTweakTag::partial_cmp(&self, other: &bitcoin_primitives::taproot::TapTweakTag) -> core::option::Option +pub fn bitcoin_primitives::transaction::OutPoint::clone(&self) -> bitcoin_primitives::transaction::OutPoint +pub fn bitcoin_primitives::transaction::OutPoint::cmp(&self, other: &bitcoin_primitives::transaction::OutPoint) -> core::cmp::Ordering +pub fn bitcoin_primitives::transaction::OutPoint::eq(&self, other: &bitcoin_primitives::transaction::OutPoint) -> bool +pub fn bitcoin_primitives::transaction::OutPoint::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_primitives::transaction::OutPoint::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_primitives::transaction::OutPoint::partial_cmp(&self, other: &bitcoin_primitives::transaction::OutPoint) -> core::option::Option +pub fn bitcoin_primitives::transaction::Txid::as_byte_array(&self) -> &Self::Bytes +pub fn bitcoin_primitives::transaction::Txid::as_ref(&self) -> &[u8; 32] +pub fn bitcoin_primitives::transaction::Txid::as_ref(&self) -> &[u8] +pub fn bitcoin_primitives::transaction::Txid::borrow(&self) -> &[u8; 32] +pub fn bitcoin_primitives::transaction::Txid::borrow(&self) -> &[u8] +pub fn bitcoin_primitives::transaction::Txid::clone(&self) -> bitcoin_primitives::transaction::Txid +pub fn bitcoin_primitives::transaction::Txid::cmp(&self, other: &bitcoin_primitives::transaction::Txid) -> core::cmp::Ordering +pub fn bitcoin_primitives::transaction::Txid::eq(&self, other: &bitcoin_primitives::transaction::Txid) -> bool +pub fn bitcoin_primitives::transaction::Txid::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_primitives::transaction::Txid::from(inner: bitcoin_hashes::sha256d::Hash) -> bitcoin_primitives::transaction::Txid +pub fn bitcoin_primitives::transaction::Txid::from_byte_array(bytes: Self::Bytes) -> Self +pub fn bitcoin_primitives::transaction::Txid::from_slice(sl: &[u8]) -> core::result::Result +pub fn bitcoin_primitives::transaction::Txid::from_str(s: &str) -> core::result::Result +pub fn bitcoin_primitives::transaction::Txid::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_primitives::transaction::Txid::partial_cmp(&self, other: &bitcoin_primitives::transaction::Txid) -> core::option::Option +pub fn bitcoin_primitives::transaction::Txid::to_byte_array(self) -> Self::Bytes +pub fn bitcoin_primitives::transaction::Version::clone(&self) -> bitcoin_primitives::transaction::Version +pub fn bitcoin_primitives::transaction::Version::cmp(&self, other: &bitcoin_primitives::transaction::Version) -> core::cmp::Ordering +pub fn bitcoin_primitives::transaction::Version::eq(&self, other: &bitcoin_primitives::transaction::Version) -> bool +pub fn bitcoin_primitives::transaction::Version::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_primitives::transaction::Version::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_primitives::transaction::Version::partial_cmp(&self, other: &bitcoin_primitives::transaction::Version) -> core::option::Option +pub fn bitcoin_primitives::transaction::Wtxid::as_byte_array(&self) -> &Self::Bytes +pub fn bitcoin_primitives::transaction::Wtxid::as_ref(&self) -> &[u8; 32] +pub fn bitcoin_primitives::transaction::Wtxid::as_ref(&self) -> &[u8] +pub fn bitcoin_primitives::transaction::Wtxid::borrow(&self) -> &[u8; 32] +pub fn bitcoin_primitives::transaction::Wtxid::borrow(&self) -> &[u8] +pub fn bitcoin_primitives::transaction::Wtxid::clone(&self) -> bitcoin_primitives::transaction::Wtxid +pub fn bitcoin_primitives::transaction::Wtxid::cmp(&self, other: &bitcoin_primitives::transaction::Wtxid) -> core::cmp::Ordering +pub fn bitcoin_primitives::transaction::Wtxid::eq(&self, other: &bitcoin_primitives::transaction::Wtxid) -> bool +pub fn bitcoin_primitives::transaction::Wtxid::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_primitives::transaction::Wtxid::from(inner: bitcoin_hashes::sha256d::Hash) -> bitcoin_primitives::transaction::Wtxid +pub fn bitcoin_primitives::transaction::Wtxid::from_byte_array(bytes: Self::Bytes) -> Self +pub fn bitcoin_primitives::transaction::Wtxid::from_slice(sl: &[u8]) -> core::result::Result +pub fn bitcoin_primitives::transaction::Wtxid::from_str(s: &str) -> core::result::Result +pub fn bitcoin_primitives::transaction::Wtxid::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_primitives::transaction::Wtxid::partial_cmp(&self, other: &bitcoin_primitives::transaction::Wtxid) -> core::option::Option +pub fn bitcoin_primitives::transaction::Wtxid::to_byte_array(self) -> Self::Bytes +pub fn u32::from(sequence: bitcoin_primitives::sequence::Sequence) -> u32 +pub mod bitcoin_primitives +pub mod bitcoin_primitives::block +pub mod bitcoin_primitives::merkle_tree +pub mod bitcoin_primitives::opcodes +pub mod bitcoin_primitives::opcodes::all +pub mod bitcoin_primitives::pow +pub mod bitcoin_primitives::sequence +pub mod bitcoin_primitives::taproot +pub mod bitcoin_primitives::transaction +pub static bitcoin_primitives::opcodes::OP_0: bitcoin_primitives::opcodes::Opcode +pub static bitcoin_primitives::opcodes::OP_FALSE: bitcoin_primitives::opcodes::Opcode +pub static bitcoin_primitives::opcodes::OP_NOP2: bitcoin_primitives::opcodes::Opcode +pub static bitcoin_primitives::opcodes::OP_NOP3: bitcoin_primitives::opcodes::Opcode +pub static bitcoin_primitives::opcodes::OP_TRUE: bitcoin_primitives::opcodes::Opcode +pub struct bitcoin_primitives::BlockHash(_) +pub struct bitcoin_primitives::BlockHeader +pub struct bitcoin_primitives::CompactTarget(_) +pub struct bitcoin_primitives::Sequence(pub u32) +pub struct bitcoin_primitives::TapBranchTag +pub struct bitcoin_primitives::TapLeafHash(_) +pub struct bitcoin_primitives::TapLeafTag +pub struct bitcoin_primitives::TapNodeHash(_) +pub struct bitcoin_primitives::TapTweakHash(_) +pub struct bitcoin_primitives::TapTweakTag +pub struct bitcoin_primitives::TxMerkleNode(_) +pub struct bitcoin_primitives::Txid(_) +pub struct bitcoin_primitives::WitnessCommitment(_) +pub struct bitcoin_primitives::WitnessMerkleNode(_) +pub struct bitcoin_primitives::Wtxid(_) +pub struct bitcoin_primitives::block::BlockHash(_) +pub struct bitcoin_primitives::block::Header +pub struct bitcoin_primitives::block::Version(_) +pub struct bitcoin_primitives::block::WitnessCommitment(_) +pub struct bitcoin_primitives::merkle_tree::TxMerkleNode(_) +pub struct bitcoin_primitives::merkle_tree::WitnessMerkleNode(_) +pub struct bitcoin_primitives::opcodes::Opcode +pub struct bitcoin_primitives::pow::CompactTarget(_) +pub struct bitcoin_primitives::sequence::Sequence(pub u32) +pub struct bitcoin_primitives::taproot::TapBranchTag +pub struct bitcoin_primitives::taproot::TapLeafHash(_) +pub struct bitcoin_primitives::taproot::TapLeafTag +pub struct bitcoin_primitives::taproot::TapNodeHash(_) +pub struct bitcoin_primitives::taproot::TapTweakHash(_) +pub struct bitcoin_primitives::taproot::TapTweakTag +pub struct bitcoin_primitives::transaction::OutPoint +pub struct bitcoin_primitives::transaction::Txid(_) +pub struct bitcoin_primitives::transaction::Version(pub i32) +pub struct bitcoin_primitives::transaction::Wtxid(_) +pub type bitcoin_primitives::block::BlockHash::Bytes = ::Bytes +pub type bitcoin_primitives::block::BlockHash::Err = hex_conservative::error::HexToArrayError +pub type bitcoin_primitives::block::WitnessCommitment::Bytes = ::Bytes +pub type bitcoin_primitives::block::WitnessCommitment::Err = hex_conservative::error::HexToArrayError +pub type bitcoin_primitives::merkle_tree::TxMerkleNode::Bytes = ::Bytes +pub type bitcoin_primitives::merkle_tree::TxMerkleNode::Err = hex_conservative::error::HexToArrayError +pub type bitcoin_primitives::merkle_tree::WitnessMerkleNode::Bytes = ::Bytes +pub type bitcoin_primitives::merkle_tree::WitnessMerkleNode::Err = hex_conservative::error::HexToArrayError +pub type bitcoin_primitives::taproot::TapLeafHash::Bytes = as bitcoin_hashes::Hash>::Bytes +pub type bitcoin_primitives::taproot::TapLeafHash::Err = hex_conservative::error::HexToArrayError +pub type bitcoin_primitives::taproot::TapNodeHash::Bytes = as bitcoin_hashes::Hash>::Bytes +pub type bitcoin_primitives::taproot::TapNodeHash::Err = hex_conservative::error::HexToArrayError +pub type bitcoin_primitives::taproot::TapTweakHash::Bytes = as bitcoin_hashes::Hash>::Bytes +pub type bitcoin_primitives::taproot::TapTweakHash::Err = hex_conservative::error::HexToArrayError +pub type bitcoin_primitives::transaction::Txid::Bytes = ::Bytes +pub type bitcoin_primitives::transaction::Txid::Err = hex_conservative::error::HexToArrayError +pub type bitcoin_primitives::transaction::Wtxid::Bytes = ::Bytes +pub type bitcoin_primitives::transaction::Wtxid::Err = hex_conservative::error::HexToArrayError +pub use bitcoin_primitives::Amount +pub use bitcoin_primitives::SignedAmount +pub use bitcoin_primitives::amount diff --git a/api/units/all-features.txt b/api/units/all-features.txt new file mode 100644 index 0000000000..60e32f3243 --- /dev/null +++ b/api/units/all-features.txt @@ -0,0 +1,1218 @@ +#[non_exhaustive] pub enum bitcoin_units::amount::Denomination +#[non_exhaustive] pub enum bitcoin_units::amount::ParseDenominationError +#[non_exhaustive] pub enum bitcoin_units::amount::error::ParseDenominationError +#[non_exhaustive] pub struct bitcoin_units::amount::MissingDenominationError +#[non_exhaustive] pub struct bitcoin_units::amount::PossiblyConfusingDenominationError(_) +#[non_exhaustive] pub struct bitcoin_units::amount::UnknownDenominationError(_) +#[non_exhaustive] pub struct bitcoin_units::amount::error::MissingDenominationError +#[non_exhaustive] pub struct bitcoin_units::amount::error::PossiblyConfusingDenominationError(_) +#[non_exhaustive] pub struct bitcoin_units::amount::error::UnknownDenominationError(_) +#[non_exhaustive] pub struct bitcoin_units::locktime::absolute::ConversionError +#[non_exhaustive] pub struct bitcoin_units::parse::ParseIntError +impl bitcoin_units::Amount +impl bitcoin_units::SignedAmount +impl bitcoin_units::amount::Denomination +impl bitcoin_units::amount::Display +impl bitcoin_units::amount::error::OutOfRangeError +impl bitcoin_units::amount::serde::SerdeAmount for bitcoin_units::Amount +impl bitcoin_units::amount::serde::SerdeAmount for bitcoin_units::SignedAmount +impl bitcoin_units::amount::serde::SerdeAmountForOpt for bitcoin_units::Amount +impl bitcoin_units::amount::serde::SerdeAmountForOpt for bitcoin_units::SignedAmount +impl bitcoin_units::block::BlockHeight +impl bitcoin_units::block::BlockInterval +impl bitcoin_units::fee_rate::FeeRate +impl bitcoin_units::locktime::absolute::Height +impl bitcoin_units::locktime::absolute::Time +impl bitcoin_units::locktime::relative::Height +impl bitcoin_units::locktime::relative::Time +impl bitcoin_units::locktime::relative::TimeOverflowError +impl bitcoin_units::parse::Integer for i128 +impl bitcoin_units::parse::Integer for i16 +impl bitcoin_units::parse::Integer for i32 +impl bitcoin_units::parse::Integer for i64 +impl bitcoin_units::parse::Integer for i8 +impl bitcoin_units::parse::Integer for u128 +impl bitcoin_units::parse::Integer for u16 +impl bitcoin_units::parse::Integer for u32 +impl bitcoin_units::parse::Integer for u64 +impl bitcoin_units::parse::Integer for u8 +impl bitcoin_units::weight::Weight +impl core::clone::Clone for bitcoin_units::Amount +impl core::clone::Clone for bitcoin_units::SignedAmount +impl core::clone::Clone for bitcoin_units::amount::Denomination +impl core::clone::Clone for bitcoin_units::amount::Display +impl core::clone::Clone for bitcoin_units::amount::error::InputTooLargeError +impl core::clone::Clone for bitcoin_units::amount::error::InvalidCharacterError +impl core::clone::Clone for bitcoin_units::amount::error::MissingDenominationError +impl core::clone::Clone for bitcoin_units::amount::error::MissingDigitsError +impl core::clone::Clone for bitcoin_units::amount::error::OutOfRangeError +impl core::clone::Clone for bitcoin_units::amount::error::ParseAmountError +impl core::clone::Clone for bitcoin_units::amount::error::ParseDenominationError +impl core::clone::Clone for bitcoin_units::amount::error::ParseError +impl core::clone::Clone for bitcoin_units::amount::error::PossiblyConfusingDenominationError +impl core::clone::Clone for bitcoin_units::amount::error::TooPreciseError +impl core::clone::Clone for bitcoin_units::amount::error::UnknownDenominationError +impl core::clone::Clone for bitcoin_units::block::BlockHeight +impl core::clone::Clone for bitcoin_units::block::BlockInterval +impl core::clone::Clone for bitcoin_units::block::TooBigForRelativeBlockHeightError +impl core::clone::Clone for bitcoin_units::fee_rate::FeeRate +impl core::clone::Clone for bitcoin_units::locktime::absolute::ConversionError +impl core::clone::Clone for bitcoin_units::locktime::absolute::Height +impl core::clone::Clone for bitcoin_units::locktime::absolute::ParseHeightError +impl core::clone::Clone for bitcoin_units::locktime::absolute::ParseTimeError +impl core::clone::Clone for bitcoin_units::locktime::absolute::Time +impl core::clone::Clone for bitcoin_units::locktime::relative::Height +impl core::clone::Clone for bitcoin_units::locktime::relative::Time +impl core::clone::Clone for bitcoin_units::locktime::relative::TimeOverflowError +impl core::clone::Clone for bitcoin_units::parse::ParseIntError +impl core::clone::Clone for bitcoin_units::parse::PrefixedHexError +impl core::clone::Clone for bitcoin_units::parse::UnprefixedHexError +impl core::clone::Clone for bitcoin_units::weight::Weight +impl core::cmp::Eq for bitcoin_units::Amount +impl core::cmp::Eq for bitcoin_units::SignedAmount +impl core::cmp::Eq for bitcoin_units::amount::Denomination +impl core::cmp::Eq for bitcoin_units::amount::error::InputTooLargeError +impl core::cmp::Eq for bitcoin_units::amount::error::InvalidCharacterError +impl core::cmp::Eq for bitcoin_units::amount::error::MissingDenominationError +impl core::cmp::Eq for bitcoin_units::amount::error::MissingDigitsError +impl core::cmp::Eq for bitcoin_units::amount::error::OutOfRangeError +impl core::cmp::Eq for bitcoin_units::amount::error::ParseAmountError +impl core::cmp::Eq for bitcoin_units::amount::error::ParseDenominationError +impl core::cmp::Eq for bitcoin_units::amount::error::ParseError +impl core::cmp::Eq for bitcoin_units::amount::error::PossiblyConfusingDenominationError +impl core::cmp::Eq for bitcoin_units::amount::error::TooPreciseError +impl core::cmp::Eq for bitcoin_units::amount::error::UnknownDenominationError +impl core::cmp::Eq for bitcoin_units::block::BlockHeight +impl core::cmp::Eq for bitcoin_units::block::BlockInterval +impl core::cmp::Eq for bitcoin_units::block::TooBigForRelativeBlockHeightError +impl core::cmp::Eq for bitcoin_units::fee_rate::FeeRate +impl core::cmp::Eq for bitcoin_units::locktime::absolute::ConversionError +impl core::cmp::Eq for bitcoin_units::locktime::absolute::Height +impl core::cmp::Eq for bitcoin_units::locktime::absolute::ParseHeightError +impl core::cmp::Eq for bitcoin_units::locktime::absolute::ParseTimeError +impl core::cmp::Eq for bitcoin_units::locktime::absolute::Time +impl core::cmp::Eq for bitcoin_units::locktime::relative::Height +impl core::cmp::Eq for bitcoin_units::locktime::relative::Time +impl core::cmp::Eq for bitcoin_units::locktime::relative::TimeOverflowError +impl core::cmp::Eq for bitcoin_units::parse::ParseIntError +impl core::cmp::Eq for bitcoin_units::parse::PrefixedHexError +impl core::cmp::Eq for bitcoin_units::parse::UnprefixedHexError +impl core::cmp::Eq for bitcoin_units::weight::Weight +impl core::cmp::Ord for bitcoin_units::Amount +impl core::cmp::Ord for bitcoin_units::SignedAmount +impl core::cmp::Ord for bitcoin_units::block::BlockHeight +impl core::cmp::Ord for bitcoin_units::block::BlockInterval +impl core::cmp::Ord for bitcoin_units::fee_rate::FeeRate +impl core::cmp::Ord for bitcoin_units::locktime::absolute::Height +impl core::cmp::Ord for bitcoin_units::locktime::absolute::Time +impl core::cmp::Ord for bitcoin_units::locktime::relative::Height +impl core::cmp::Ord for bitcoin_units::locktime::relative::Time +impl core::cmp::Ord for bitcoin_units::weight::Weight +impl core::cmp::PartialEq for bitcoin_units::Amount +impl core::cmp::PartialEq for bitcoin_units::SignedAmount +impl core::cmp::PartialEq for bitcoin_units::amount::Denomination +impl core::cmp::PartialEq for bitcoin_units::amount::error::InputTooLargeError +impl core::cmp::PartialEq for bitcoin_units::amount::error::InvalidCharacterError +impl core::cmp::PartialEq for bitcoin_units::amount::error::MissingDenominationError +impl core::cmp::PartialEq for bitcoin_units::amount::error::MissingDigitsError +impl core::cmp::PartialEq for bitcoin_units::amount::error::OutOfRangeError +impl core::cmp::PartialEq for bitcoin_units::amount::error::ParseAmountError +impl core::cmp::PartialEq for bitcoin_units::amount::error::ParseDenominationError +impl core::cmp::PartialEq for bitcoin_units::amount::error::ParseError +impl core::cmp::PartialEq for bitcoin_units::amount::error::PossiblyConfusingDenominationError +impl core::cmp::PartialEq for bitcoin_units::amount::error::TooPreciseError +impl core::cmp::PartialEq for bitcoin_units::amount::error::UnknownDenominationError +impl core::cmp::PartialEq for bitcoin_units::block::BlockHeight +impl core::cmp::PartialEq for bitcoin_units::block::BlockInterval +impl core::cmp::PartialEq for bitcoin_units::block::TooBigForRelativeBlockHeightError +impl core::cmp::PartialEq for bitcoin_units::fee_rate::FeeRate +impl core::cmp::PartialEq for bitcoin_units::locktime::absolute::ConversionError +impl core::cmp::PartialEq for bitcoin_units::locktime::absolute::Height +impl core::cmp::PartialEq for bitcoin_units::locktime::absolute::ParseHeightError +impl core::cmp::PartialEq for bitcoin_units::locktime::absolute::ParseTimeError +impl core::cmp::PartialEq for bitcoin_units::locktime::absolute::Time +impl core::cmp::PartialEq for bitcoin_units::locktime::relative::Height +impl core::cmp::PartialEq for bitcoin_units::locktime::relative::Time +impl core::cmp::PartialEq for bitcoin_units::locktime::relative::TimeOverflowError +impl core::cmp::PartialEq for bitcoin_units::parse::ParseIntError +impl core::cmp::PartialEq for bitcoin_units::parse::PrefixedHexError +impl core::cmp::PartialEq for bitcoin_units::parse::UnprefixedHexError +impl core::cmp::PartialEq for bitcoin_units::weight::Weight +impl core::cmp::PartialOrd for bitcoin_units::Amount +impl core::cmp::PartialOrd for bitcoin_units::SignedAmount +impl core::cmp::PartialOrd for bitcoin_units::block::BlockHeight +impl core::cmp::PartialOrd for bitcoin_units::block::BlockInterval +impl core::cmp::PartialOrd for bitcoin_units::fee_rate::FeeRate +impl core::cmp::PartialOrd for bitcoin_units::locktime::absolute::Height +impl core::cmp::PartialOrd for bitcoin_units::locktime::absolute::Time +impl core::cmp::PartialOrd for bitcoin_units::locktime::relative::Height +impl core::cmp::PartialOrd for bitcoin_units::locktime::relative::Time +impl core::cmp::PartialOrd for bitcoin_units::weight::Weight +impl core::convert::AsRef for bitcoin_units::parse::ParseIntError +impl core::convert::From for bitcoin_units::amount::error::ParseAmountError +impl core::convert::From for bitcoin_units::amount::error::ParseError +impl core::convert::From for bitcoin_units::amount::error::ParseAmountError +impl core::convert::From for bitcoin_units::amount::error::ParseError +impl core::convert::From for bitcoin_units::amount::error::ParseAmountError +impl core::convert::From for bitcoin_units::amount::error::ParseError +impl core::convert::From for bitcoin_units::amount::error::ParseAmountError +impl core::convert::From for bitcoin_units::amount::error::ParseError +impl core::convert::From for bitcoin_units::amount::error::ParseError +impl core::convert::From for bitcoin_units::amount::error::ParseError +impl core::convert::From for bitcoin_units::amount::error::ParseAmountError +impl core::convert::From for bitcoin_units::amount::error::ParseError +impl core::convert::From for u32 +impl core::convert::From for u32 +impl core::convert::From for u64 +impl core::convert::From for bitcoin_units::block::BlockHeight +impl core::convert::From for bitcoin_units::block::BlockInterval +impl core::convert::From for bitcoin_units::parse::PrefixedHexError +impl core::convert::From for bitcoin_units::parse::UnprefixedHexError +impl core::convert::From for core::num::error::ParseIntError +impl core::convert::From for u64 +impl core::convert::From for bitcoin_units::amount::error::ParseAmountError +impl core::convert::From for bitcoin_units::amount::error::ParseDenominationError +impl core::convert::From for bitcoin_units::amount::error::ParseError +impl core::convert::From for bitcoin_units::parse::PrefixedHexError +impl core::convert::From for bitcoin_units::parse::UnprefixedHexError +impl core::convert::From for bitcoin_units::locktime::relative::Height +impl core::convert::From for bitcoin_units::block::BlockHeight +impl core::convert::From for bitcoin_units::block::BlockInterval +impl core::convert::TryFrom<&str> for bitcoin_units::block::BlockHeight +impl core::convert::TryFrom<&str> for bitcoin_units::block::BlockInterval +impl core::convert::TryFrom<&str> for bitcoin_units::fee_rate::FeeRate +impl core::convert::TryFrom<&str> for bitcoin_units::locktime::absolute::Height +impl core::convert::TryFrom<&str> for bitcoin_units::locktime::absolute::Time +impl core::convert::TryFrom<&str> for bitcoin_units::locktime::relative::Height +impl core::convert::TryFrom<&str> for bitcoin_units::locktime::relative::Time +impl core::convert::TryFrom<&str> for bitcoin_units::weight::Weight +impl core::convert::TryFrom> for bitcoin_units::block::BlockHeight +impl core::convert::TryFrom> for bitcoin_units::block::BlockInterval +impl core::convert::TryFrom> for bitcoin_units::fee_rate::FeeRate +impl core::convert::TryFrom> for bitcoin_units::locktime::absolute::Height +impl core::convert::TryFrom> for bitcoin_units::locktime::absolute::Time +impl core::convert::TryFrom> for bitcoin_units::locktime::relative::Height +impl core::convert::TryFrom> for bitcoin_units::locktime::relative::Time +impl core::convert::TryFrom> for bitcoin_units::weight::Weight +impl core::convert::TryFrom for bitcoin_units::block::BlockHeight +impl core::convert::TryFrom for bitcoin_units::block::BlockInterval +impl core::convert::TryFrom for bitcoin_units::fee_rate::FeeRate +impl core::convert::TryFrom for bitcoin_units::locktime::absolute::Height +impl core::convert::TryFrom for bitcoin_units::locktime::absolute::Time +impl core::convert::TryFrom for bitcoin_units::locktime::relative::Height +impl core::convert::TryFrom for bitcoin_units::locktime::relative::Time +impl core::convert::TryFrom for bitcoin_units::weight::Weight +impl core::convert::TryFrom for bitcoin_units::SignedAmount +impl core::convert::TryFrom for bitcoin_units::Amount +impl core::convert::TryFrom for bitcoin_units::locktime::absolute::Height +impl core::convert::TryFrom for bitcoin_units::locktime::relative::Height +impl core::default::Default for bitcoin_units::Amount +impl core::default::Default for bitcoin_units::SignedAmount +impl core::default::Default for bitcoin_units::locktime::relative::Height +impl core::default::Default for bitcoin_units::locktime::relative::Time +impl core::error::Error for bitcoin_units::amount::error::InputTooLargeError +impl core::error::Error for bitcoin_units::amount::error::InvalidCharacterError +impl core::error::Error for bitcoin_units::amount::error::MissingDigitsError +impl core::error::Error for bitcoin_units::amount::error::OutOfRangeError +impl core::error::Error for bitcoin_units::amount::error::ParseAmountError +impl core::error::Error for bitcoin_units::amount::error::ParseDenominationError +impl core::error::Error for bitcoin_units::amount::error::ParseError +impl core::error::Error for bitcoin_units::amount::error::PossiblyConfusingDenominationError +impl core::error::Error for bitcoin_units::amount::error::TooPreciseError +impl core::error::Error for bitcoin_units::amount::error::UnknownDenominationError +impl core::error::Error for bitcoin_units::block::TooBigForRelativeBlockHeightError +impl core::error::Error for bitcoin_units::locktime::absolute::ConversionError +impl core::error::Error for bitcoin_units::locktime::absolute::ParseHeightError +impl core::error::Error for bitcoin_units::locktime::absolute::ParseTimeError +impl core::error::Error for bitcoin_units::locktime::relative::TimeOverflowError +impl core::error::Error for bitcoin_units::parse::ParseIntError +impl core::error::Error for bitcoin_units::parse::PrefixedHexError +impl core::error::Error for bitcoin_units::parse::UnprefixedHexError +impl core::fmt::Debug for bitcoin_units::Amount +impl core::fmt::Debug for bitcoin_units::SignedAmount +impl core::fmt::Debug for bitcoin_units::amount::Denomination +impl core::fmt::Debug for bitcoin_units::amount::Display +impl core::fmt::Debug for bitcoin_units::amount::error::InputTooLargeError +impl core::fmt::Debug for bitcoin_units::amount::error::InvalidCharacterError +impl core::fmt::Debug for bitcoin_units::amount::error::MissingDenominationError +impl core::fmt::Debug for bitcoin_units::amount::error::MissingDigitsError +impl core::fmt::Debug for bitcoin_units::amount::error::OutOfRangeError +impl core::fmt::Debug for bitcoin_units::amount::error::ParseAmountError +impl core::fmt::Debug for bitcoin_units::amount::error::ParseDenominationError +impl core::fmt::Debug for bitcoin_units::amount::error::ParseError +impl core::fmt::Debug for bitcoin_units::amount::error::PossiblyConfusingDenominationError +impl core::fmt::Debug for bitcoin_units::amount::error::TooPreciseError +impl core::fmt::Debug for bitcoin_units::amount::error::UnknownDenominationError +impl core::fmt::Debug for bitcoin_units::block::BlockHeight +impl core::fmt::Debug for bitcoin_units::block::BlockInterval +impl core::fmt::Debug for bitcoin_units::block::TooBigForRelativeBlockHeightError +impl core::fmt::Debug for bitcoin_units::fee_rate::FeeRate +impl core::fmt::Debug for bitcoin_units::locktime::absolute::ConversionError +impl core::fmt::Debug for bitcoin_units::locktime::absolute::Height +impl core::fmt::Debug for bitcoin_units::locktime::absolute::ParseHeightError +impl core::fmt::Debug for bitcoin_units::locktime::absolute::ParseTimeError +impl core::fmt::Debug for bitcoin_units::locktime::absolute::Time +impl core::fmt::Debug for bitcoin_units::locktime::relative::Height +impl core::fmt::Debug for bitcoin_units::locktime::relative::Time +impl core::fmt::Debug for bitcoin_units::locktime::relative::TimeOverflowError +impl core::fmt::Debug for bitcoin_units::parse::ParseIntError +impl core::fmt::Debug for bitcoin_units::parse::PrefixedHexError +impl core::fmt::Debug for bitcoin_units::parse::UnprefixedHexError +impl core::fmt::Debug for bitcoin_units::weight::Weight +impl core::fmt::Display for bitcoin_units::Amount +impl core::fmt::Display for bitcoin_units::SignedAmount +impl core::fmt::Display for bitcoin_units::amount::Denomination +impl core::fmt::Display for bitcoin_units::amount::Display +impl core::fmt::Display for bitcoin_units::amount::error::InputTooLargeError +impl core::fmt::Display for bitcoin_units::amount::error::InvalidCharacterError +impl core::fmt::Display for bitcoin_units::amount::error::MissingDigitsError +impl core::fmt::Display for bitcoin_units::amount::error::OutOfRangeError +impl core::fmt::Display for bitcoin_units::amount::error::ParseAmountError +impl core::fmt::Display for bitcoin_units::amount::error::ParseDenominationError +impl core::fmt::Display for bitcoin_units::amount::error::ParseError +impl core::fmt::Display for bitcoin_units::amount::error::PossiblyConfusingDenominationError +impl core::fmt::Display for bitcoin_units::amount::error::TooPreciseError +impl core::fmt::Display for bitcoin_units::amount::error::UnknownDenominationError +impl core::fmt::Display for bitcoin_units::block::BlockHeight +impl core::fmt::Display for bitcoin_units::block::BlockInterval +impl core::fmt::Display for bitcoin_units::block::TooBigForRelativeBlockHeightError +impl core::fmt::Display for bitcoin_units::fee_rate::FeeRate +impl core::fmt::Display for bitcoin_units::locktime::absolute::ConversionError +impl core::fmt::Display for bitcoin_units::locktime::absolute::Height +impl core::fmt::Display for bitcoin_units::locktime::absolute::ParseHeightError +impl core::fmt::Display for bitcoin_units::locktime::absolute::ParseTimeError +impl core::fmt::Display for bitcoin_units::locktime::absolute::Time +impl core::fmt::Display for bitcoin_units::locktime::relative::Height +impl core::fmt::Display for bitcoin_units::locktime::relative::Time +impl core::fmt::Display for bitcoin_units::locktime::relative::TimeOverflowError +impl core::fmt::Display for bitcoin_units::parse::ParseIntError +impl core::fmt::Display for bitcoin_units::parse::PrefixedHexError +impl core::fmt::Display for bitcoin_units::parse::UnprefixedHexError +impl core::fmt::Display for bitcoin_units::weight::Weight +impl core::hash::Hash for bitcoin_units::Amount +impl core::hash::Hash for bitcoin_units::SignedAmount +impl core::hash::Hash for bitcoin_units::amount::Denomination +impl core::hash::Hash for bitcoin_units::block::BlockHeight +impl core::hash::Hash for bitcoin_units::block::BlockInterval +impl core::hash::Hash for bitcoin_units::fee_rate::FeeRate +impl core::hash::Hash for bitcoin_units::locktime::absolute::Height +impl core::hash::Hash for bitcoin_units::locktime::absolute::Time +impl core::hash::Hash for bitcoin_units::locktime::relative::Height +impl core::hash::Hash for bitcoin_units::locktime::relative::Time +impl core::hash::Hash for bitcoin_units::weight::Weight +impl core::iter::traits::accum::Sum for bitcoin_units::Amount +impl core::iter::traits::accum::Sum for bitcoin_units::SignedAmount +impl core::iter::traits::accum::Sum for bitcoin_units::block::BlockInterval +impl core::iter::traits::accum::Sum for bitcoin_units::fee_rate::FeeRate +impl core::iter::traits::accum::Sum for bitcoin_units::weight::Weight +impl core::marker::Copy for bitcoin_units::Amount +impl core::marker::Copy for bitcoin_units::SignedAmount +impl core::marker::Copy for bitcoin_units::amount::Denomination +impl core::marker::Copy for bitcoin_units::amount::error::OutOfRangeError +impl core::marker::Copy for bitcoin_units::block::BlockHeight +impl core::marker::Copy for bitcoin_units::block::BlockInterval +impl core::marker::Copy for bitcoin_units::fee_rate::FeeRate +impl core::marker::Copy for bitcoin_units::locktime::absolute::Height +impl core::marker::Copy for bitcoin_units::locktime::absolute::Time +impl core::marker::Copy for bitcoin_units::locktime::relative::Height +impl core::marker::Copy for bitcoin_units::locktime::relative::Time +impl core::marker::Copy for bitcoin_units::weight::Weight +impl core::marker::Freeze for bitcoin_units::Amount +impl core::marker::Freeze for bitcoin_units::SignedAmount +impl core::marker::Freeze for bitcoin_units::amount::Denomination +impl core::marker::Freeze for bitcoin_units::amount::Display +impl core::marker::Freeze for bitcoin_units::amount::error::InputTooLargeError +impl core::marker::Freeze for bitcoin_units::amount::error::InvalidCharacterError +impl core::marker::Freeze for bitcoin_units::amount::error::MissingDenominationError +impl core::marker::Freeze for bitcoin_units::amount::error::MissingDigitsError +impl core::marker::Freeze for bitcoin_units::amount::error::OutOfRangeError +impl core::marker::Freeze for bitcoin_units::amount::error::ParseAmountError +impl core::marker::Freeze for bitcoin_units::amount::error::ParseDenominationError +impl core::marker::Freeze for bitcoin_units::amount::error::ParseError +impl core::marker::Freeze for bitcoin_units::amount::error::PossiblyConfusingDenominationError +impl core::marker::Freeze for bitcoin_units::amount::error::TooPreciseError +impl core::marker::Freeze for bitcoin_units::amount::error::UnknownDenominationError +impl core::marker::Freeze for bitcoin_units::block::BlockHeight +impl core::marker::Freeze for bitcoin_units::block::BlockInterval +impl core::marker::Freeze for bitcoin_units::block::TooBigForRelativeBlockHeightError +impl core::marker::Freeze for bitcoin_units::fee_rate::FeeRate +impl core::marker::Freeze for bitcoin_units::locktime::absolute::ConversionError +impl core::marker::Freeze for bitcoin_units::locktime::absolute::Height +impl core::marker::Freeze for bitcoin_units::locktime::absolute::ParseHeightError +impl core::marker::Freeze for bitcoin_units::locktime::absolute::ParseTimeError +impl core::marker::Freeze for bitcoin_units::locktime::absolute::Time +impl core::marker::Freeze for bitcoin_units::locktime::relative::Height +impl core::marker::Freeze for bitcoin_units::locktime::relative::Time +impl core::marker::Freeze for bitcoin_units::locktime::relative::TimeOverflowError +impl core::marker::Freeze for bitcoin_units::parse::ParseIntError +impl core::marker::Freeze for bitcoin_units::parse::PrefixedHexError +impl core::marker::Freeze for bitcoin_units::parse::UnprefixedHexError +impl core::marker::Freeze for bitcoin_units::weight::Weight +impl core::marker::Send for bitcoin_units::Amount +impl core::marker::Send for bitcoin_units::SignedAmount +impl core::marker::Send for bitcoin_units::amount::Denomination +impl core::marker::Send for bitcoin_units::amount::Display +impl core::marker::Send for bitcoin_units::amount::error::InputTooLargeError +impl core::marker::Send for bitcoin_units::amount::error::InvalidCharacterError +impl core::marker::Send for bitcoin_units::amount::error::MissingDenominationError +impl core::marker::Send for bitcoin_units::amount::error::MissingDigitsError +impl core::marker::Send for bitcoin_units::amount::error::OutOfRangeError +impl core::marker::Send for bitcoin_units::amount::error::ParseAmountError +impl core::marker::Send for bitcoin_units::amount::error::ParseDenominationError +impl core::marker::Send for bitcoin_units::amount::error::ParseError +impl core::marker::Send for bitcoin_units::amount::error::PossiblyConfusingDenominationError +impl core::marker::Send for bitcoin_units::amount::error::TooPreciseError +impl core::marker::Send for bitcoin_units::amount::error::UnknownDenominationError +impl core::marker::Send for bitcoin_units::block::BlockHeight +impl core::marker::Send for bitcoin_units::block::BlockInterval +impl core::marker::Send for bitcoin_units::block::TooBigForRelativeBlockHeightError +impl core::marker::Send for bitcoin_units::fee_rate::FeeRate +impl core::marker::Send for bitcoin_units::locktime::absolute::ConversionError +impl core::marker::Send for bitcoin_units::locktime::absolute::Height +impl core::marker::Send for bitcoin_units::locktime::absolute::ParseHeightError +impl core::marker::Send for bitcoin_units::locktime::absolute::ParseTimeError +impl core::marker::Send for bitcoin_units::locktime::absolute::Time +impl core::marker::Send for bitcoin_units::locktime::relative::Height +impl core::marker::Send for bitcoin_units::locktime::relative::Time +impl core::marker::Send for bitcoin_units::locktime::relative::TimeOverflowError +impl core::marker::Send for bitcoin_units::parse::ParseIntError +impl core::marker::Send for bitcoin_units::parse::PrefixedHexError +impl core::marker::Send for bitcoin_units::parse::UnprefixedHexError +impl core::marker::Send for bitcoin_units::weight::Weight +impl core::marker::StructuralPartialEq for bitcoin_units::Amount +impl core::marker::StructuralPartialEq for bitcoin_units::SignedAmount +impl core::marker::StructuralPartialEq for bitcoin_units::amount::Denomination +impl core::marker::StructuralPartialEq for bitcoin_units::amount::error::InputTooLargeError +impl core::marker::StructuralPartialEq for bitcoin_units::amount::error::InvalidCharacterError +impl core::marker::StructuralPartialEq for bitcoin_units::amount::error::MissingDenominationError +impl core::marker::StructuralPartialEq for bitcoin_units::amount::error::MissingDigitsError +impl core::marker::StructuralPartialEq for bitcoin_units::amount::error::OutOfRangeError +impl core::marker::StructuralPartialEq for bitcoin_units::amount::error::ParseAmountError +impl core::marker::StructuralPartialEq for bitcoin_units::amount::error::ParseDenominationError +impl core::marker::StructuralPartialEq for bitcoin_units::amount::error::ParseError +impl core::marker::StructuralPartialEq for bitcoin_units::amount::error::PossiblyConfusingDenominationError +impl core::marker::StructuralPartialEq for bitcoin_units::amount::error::TooPreciseError +impl core::marker::StructuralPartialEq for bitcoin_units::amount::error::UnknownDenominationError +impl core::marker::StructuralPartialEq for bitcoin_units::block::BlockHeight +impl core::marker::StructuralPartialEq for bitcoin_units::block::BlockInterval +impl core::marker::StructuralPartialEq for bitcoin_units::block::TooBigForRelativeBlockHeightError +impl core::marker::StructuralPartialEq for bitcoin_units::fee_rate::FeeRate +impl core::marker::StructuralPartialEq for bitcoin_units::locktime::absolute::ConversionError +impl core::marker::StructuralPartialEq for bitcoin_units::locktime::absolute::Height +impl core::marker::StructuralPartialEq for bitcoin_units::locktime::absolute::ParseHeightError +impl core::marker::StructuralPartialEq for bitcoin_units::locktime::absolute::ParseTimeError +impl core::marker::StructuralPartialEq for bitcoin_units::locktime::absolute::Time +impl core::marker::StructuralPartialEq for bitcoin_units::locktime::relative::Height +impl core::marker::StructuralPartialEq for bitcoin_units::locktime::relative::Time +impl core::marker::StructuralPartialEq for bitcoin_units::locktime::relative::TimeOverflowError +impl core::marker::StructuralPartialEq for bitcoin_units::parse::ParseIntError +impl core::marker::StructuralPartialEq for bitcoin_units::parse::PrefixedHexError +impl core::marker::StructuralPartialEq for bitcoin_units::parse::UnprefixedHexError +impl core::marker::StructuralPartialEq for bitcoin_units::weight::Weight +impl core::marker::Sync for bitcoin_units::Amount +impl core::marker::Sync for bitcoin_units::SignedAmount +impl core::marker::Sync for bitcoin_units::amount::Denomination +impl core::marker::Sync for bitcoin_units::amount::Display +impl core::marker::Sync for bitcoin_units::amount::error::InputTooLargeError +impl core::marker::Sync for bitcoin_units::amount::error::InvalidCharacterError +impl core::marker::Sync for bitcoin_units::amount::error::MissingDenominationError +impl core::marker::Sync for bitcoin_units::amount::error::MissingDigitsError +impl core::marker::Sync for bitcoin_units::amount::error::OutOfRangeError +impl core::marker::Sync for bitcoin_units::amount::error::ParseAmountError +impl core::marker::Sync for bitcoin_units::amount::error::ParseDenominationError +impl core::marker::Sync for bitcoin_units::amount::error::ParseError +impl core::marker::Sync for bitcoin_units::amount::error::PossiblyConfusingDenominationError +impl core::marker::Sync for bitcoin_units::amount::error::TooPreciseError +impl core::marker::Sync for bitcoin_units::amount::error::UnknownDenominationError +impl core::marker::Sync for bitcoin_units::block::BlockHeight +impl core::marker::Sync for bitcoin_units::block::BlockInterval +impl core::marker::Sync for bitcoin_units::block::TooBigForRelativeBlockHeightError +impl core::marker::Sync for bitcoin_units::fee_rate::FeeRate +impl core::marker::Sync for bitcoin_units::locktime::absolute::ConversionError +impl core::marker::Sync for bitcoin_units::locktime::absolute::Height +impl core::marker::Sync for bitcoin_units::locktime::absolute::ParseHeightError +impl core::marker::Sync for bitcoin_units::locktime::absolute::ParseTimeError +impl core::marker::Sync for bitcoin_units::locktime::absolute::Time +impl core::marker::Sync for bitcoin_units::locktime::relative::Height +impl core::marker::Sync for bitcoin_units::locktime::relative::Time +impl core::marker::Sync for bitcoin_units::locktime::relative::TimeOverflowError +impl core::marker::Sync for bitcoin_units::parse::ParseIntError +impl core::marker::Sync for bitcoin_units::parse::PrefixedHexError +impl core::marker::Sync for bitcoin_units::parse::UnprefixedHexError +impl core::marker::Sync for bitcoin_units::weight::Weight +impl core::marker::Unpin for bitcoin_units::Amount +impl core::marker::Unpin for bitcoin_units::SignedAmount +impl core::marker::Unpin for bitcoin_units::amount::Denomination +impl core::marker::Unpin for bitcoin_units::amount::Display +impl core::marker::Unpin for bitcoin_units::amount::error::InputTooLargeError +impl core::marker::Unpin for bitcoin_units::amount::error::InvalidCharacterError +impl core::marker::Unpin for bitcoin_units::amount::error::MissingDenominationError +impl core::marker::Unpin for bitcoin_units::amount::error::MissingDigitsError +impl core::marker::Unpin for bitcoin_units::amount::error::OutOfRangeError +impl core::marker::Unpin for bitcoin_units::amount::error::ParseAmountError +impl core::marker::Unpin for bitcoin_units::amount::error::ParseDenominationError +impl core::marker::Unpin for bitcoin_units::amount::error::ParseError +impl core::marker::Unpin for bitcoin_units::amount::error::PossiblyConfusingDenominationError +impl core::marker::Unpin for bitcoin_units::amount::error::TooPreciseError +impl core::marker::Unpin for bitcoin_units::amount::error::UnknownDenominationError +impl core::marker::Unpin for bitcoin_units::block::BlockHeight +impl core::marker::Unpin for bitcoin_units::block::BlockInterval +impl core::marker::Unpin for bitcoin_units::block::TooBigForRelativeBlockHeightError +impl core::marker::Unpin for bitcoin_units::fee_rate::FeeRate +impl core::marker::Unpin for bitcoin_units::locktime::absolute::ConversionError +impl core::marker::Unpin for bitcoin_units::locktime::absolute::Height +impl core::marker::Unpin for bitcoin_units::locktime::absolute::ParseHeightError +impl core::marker::Unpin for bitcoin_units::locktime::absolute::ParseTimeError +impl core::marker::Unpin for bitcoin_units::locktime::absolute::Time +impl core::marker::Unpin for bitcoin_units::locktime::relative::Height +impl core::marker::Unpin for bitcoin_units::locktime::relative::Time +impl core::marker::Unpin for bitcoin_units::locktime::relative::TimeOverflowError +impl core::marker::Unpin for bitcoin_units::parse::ParseIntError +impl core::marker::Unpin for bitcoin_units::parse::PrefixedHexError +impl core::marker::Unpin for bitcoin_units::parse::UnprefixedHexError +impl core::marker::Unpin for bitcoin_units::weight::Weight +impl core::ops::arith::Add for bitcoin_units::Amount +impl core::ops::arith::Add for bitcoin_units::SignedAmount +impl core::ops::arith::Add for bitcoin_units::block::BlockInterval +impl core::ops::arith::Add for bitcoin_units::fee_rate::FeeRate +impl core::ops::arith::Add for bitcoin_units::weight::Weight +impl core::ops::arith::Add<&bitcoin_units::fee_rate::FeeRate> for bitcoin_units::fee_rate::FeeRate +impl core::ops::arith::Add for bitcoin_units::block::BlockHeight +impl core::ops::arith::Add for &bitcoin_units::fee_rate::FeeRate +impl core::ops::arith::AddAssign for bitcoin_units::Amount +impl core::ops::arith::AddAssign for bitcoin_units::SignedAmount +impl core::ops::arith::AddAssign for bitcoin_units::block::BlockInterval +impl core::ops::arith::AddAssign for bitcoin_units::fee_rate::FeeRate +impl core::ops::arith::AddAssign for bitcoin_units::weight::Weight +impl core::ops::arith::AddAssign<&bitcoin_units::fee_rate::FeeRate> for bitcoin_units::fee_rate::FeeRate +impl core::ops::arith::Div for bitcoin_units::weight::Weight +impl core::ops::arith::Div for bitcoin_units::Amount +impl core::ops::arith::Div for bitcoin_units::SignedAmount +impl core::ops::arith::Div for bitcoin_units::Amount +impl core::ops::arith::Div for bitcoin_units::weight::Weight +impl core::ops::arith::DivAssign for bitcoin_units::SignedAmount +impl core::ops::arith::DivAssign for bitcoin_units::Amount +impl core::ops::arith::DivAssign for bitcoin_units::weight::Weight +impl core::ops::arith::Mul for bitcoin_units::weight::Weight +impl core::ops::arith::Mul for bitcoin_units::fee_rate::FeeRate +impl core::ops::arith::Mul for u64 +impl core::ops::arith::Mul for bitcoin_units::SignedAmount +impl core::ops::arith::Mul for bitcoin_units::Amount +impl core::ops::arith::Mul for bitcoin_units::weight::Weight +impl core::ops::arith::MulAssign for bitcoin_units::SignedAmount +impl core::ops::arith::MulAssign for bitcoin_units::Amount +impl core::ops::arith::MulAssign for bitcoin_units::weight::Weight +impl core::ops::arith::Neg for bitcoin_units::SignedAmount +impl core::ops::arith::Rem for bitcoin_units::SignedAmount +impl core::ops::arith::Rem for bitcoin_units::Amount +impl core::ops::arith::RemAssign for bitcoin_units::SignedAmount +impl core::ops::arith::RemAssign for bitcoin_units::Amount +impl core::ops::arith::Sub for bitcoin_units::Amount +impl core::ops::arith::Sub for bitcoin_units::SignedAmount +impl core::ops::arith::Sub for bitcoin_units::block::BlockHeight +impl core::ops::arith::Sub for bitcoin_units::block::BlockInterval +impl core::ops::arith::Sub for bitcoin_units::fee_rate::FeeRate +impl core::ops::arith::Sub for bitcoin_units::weight::Weight +impl core::ops::arith::Sub<&bitcoin_units::fee_rate::FeeRate> for bitcoin_units::fee_rate::FeeRate +impl core::ops::arith::Sub for bitcoin_units::block::BlockHeight +impl core::ops::arith::Sub for &bitcoin_units::fee_rate::FeeRate +impl core::ops::arith::SubAssign for bitcoin_units::Amount +impl core::ops::arith::SubAssign for bitcoin_units::SignedAmount +impl core::ops::arith::SubAssign for bitcoin_units::block::BlockInterval +impl core::ops::arith::SubAssign for bitcoin_units::fee_rate::FeeRate +impl core::ops::arith::SubAssign for bitcoin_units::weight::Weight +impl core::ops::arith::SubAssign<&bitcoin_units::fee_rate::FeeRate> for bitcoin_units::fee_rate::FeeRate +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_units::Amount +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_units::SignedAmount +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_units::amount::Denomination +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_units::amount::Display +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_units::amount::error::InputTooLargeError +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_units::amount::error::InvalidCharacterError +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_units::amount::error::MissingDenominationError +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_units::amount::error::MissingDigitsError +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_units::amount::error::OutOfRangeError +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_units::amount::error::ParseAmountError +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_units::amount::error::ParseDenominationError +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_units::amount::error::ParseError +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_units::amount::error::PossiblyConfusingDenominationError +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_units::amount::error::TooPreciseError +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_units::amount::error::UnknownDenominationError +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_units::block::BlockHeight +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_units::block::BlockInterval +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_units::block::TooBigForRelativeBlockHeightError +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_units::fee_rate::FeeRate +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_units::locktime::absolute::ConversionError +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_units::locktime::absolute::Height +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_units::locktime::absolute::ParseHeightError +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_units::locktime::absolute::ParseTimeError +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_units::locktime::absolute::Time +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_units::locktime::relative::Height +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_units::locktime::relative::Time +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_units::locktime::relative::TimeOverflowError +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_units::parse::ParseIntError +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_units::parse::PrefixedHexError +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_units::parse::UnprefixedHexError +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_units::weight::Weight +impl core::panic::unwind_safe::UnwindSafe for bitcoin_units::Amount +impl core::panic::unwind_safe::UnwindSafe for bitcoin_units::SignedAmount +impl core::panic::unwind_safe::UnwindSafe for bitcoin_units::amount::Denomination +impl core::panic::unwind_safe::UnwindSafe for bitcoin_units::amount::Display +impl core::panic::unwind_safe::UnwindSafe for bitcoin_units::amount::error::InputTooLargeError +impl core::panic::unwind_safe::UnwindSafe for bitcoin_units::amount::error::InvalidCharacterError +impl core::panic::unwind_safe::UnwindSafe for bitcoin_units::amount::error::MissingDenominationError +impl core::panic::unwind_safe::UnwindSafe for bitcoin_units::amount::error::MissingDigitsError +impl core::panic::unwind_safe::UnwindSafe for bitcoin_units::amount::error::OutOfRangeError +impl core::panic::unwind_safe::UnwindSafe for bitcoin_units::amount::error::ParseAmountError +impl core::panic::unwind_safe::UnwindSafe for bitcoin_units::amount::error::ParseDenominationError +impl core::panic::unwind_safe::UnwindSafe for bitcoin_units::amount::error::ParseError +impl core::panic::unwind_safe::UnwindSafe for bitcoin_units::amount::error::PossiblyConfusingDenominationError +impl core::panic::unwind_safe::UnwindSafe for bitcoin_units::amount::error::TooPreciseError +impl core::panic::unwind_safe::UnwindSafe for bitcoin_units::amount::error::UnknownDenominationError +impl core::panic::unwind_safe::UnwindSafe for bitcoin_units::block::BlockHeight +impl core::panic::unwind_safe::UnwindSafe for bitcoin_units::block::BlockInterval +impl core::panic::unwind_safe::UnwindSafe for bitcoin_units::block::TooBigForRelativeBlockHeightError +impl core::panic::unwind_safe::UnwindSafe for bitcoin_units::fee_rate::FeeRate +impl core::panic::unwind_safe::UnwindSafe for bitcoin_units::locktime::absolute::ConversionError +impl core::panic::unwind_safe::UnwindSafe for bitcoin_units::locktime::absolute::Height +impl core::panic::unwind_safe::UnwindSafe for bitcoin_units::locktime::absolute::ParseHeightError +impl core::panic::unwind_safe::UnwindSafe for bitcoin_units::locktime::absolute::ParseTimeError +impl core::panic::unwind_safe::UnwindSafe for bitcoin_units::locktime::absolute::Time +impl core::panic::unwind_safe::UnwindSafe for bitcoin_units::locktime::relative::Height +impl core::panic::unwind_safe::UnwindSafe for bitcoin_units::locktime::relative::Time +impl core::panic::unwind_safe::UnwindSafe for bitcoin_units::locktime::relative::TimeOverflowError +impl core::panic::unwind_safe::UnwindSafe for bitcoin_units::parse::ParseIntError +impl core::panic::unwind_safe::UnwindSafe for bitcoin_units::parse::PrefixedHexError +impl core::panic::unwind_safe::UnwindSafe for bitcoin_units::parse::UnprefixedHexError +impl core::panic::unwind_safe::UnwindSafe for bitcoin_units::weight::Weight +impl core::str::traits::FromStr for bitcoin_units::Amount +impl core::str::traits::FromStr for bitcoin_units::SignedAmount +impl core::str::traits::FromStr for bitcoin_units::amount::Denomination +impl core::str::traits::FromStr for bitcoin_units::block::BlockHeight +impl core::str::traits::FromStr for bitcoin_units::block::BlockInterval +impl core::str::traits::FromStr for bitcoin_units::fee_rate::FeeRate +impl core::str::traits::FromStr for bitcoin_units::locktime::absolute::Height +impl core::str::traits::FromStr for bitcoin_units::locktime::absolute::Time +impl core::str::traits::FromStr for bitcoin_units::locktime::relative::Height +impl core::str::traits::FromStr for bitcoin_units::locktime::relative::Time +impl core::str::traits::FromStr for bitcoin_units::weight::Weight +impl serde::ser::Serialize for bitcoin_units::block::BlockHeight +impl serde::ser::Serialize for bitcoin_units::block::BlockInterval +impl serde::ser::Serialize for bitcoin_units::fee_rate::FeeRate +impl serde::ser::Serialize for bitcoin_units::locktime::absolute::Height +impl serde::ser::Serialize for bitcoin_units::locktime::absolute::Time +impl serde::ser::Serialize for bitcoin_units::locktime::relative::Height +impl serde::ser::Serialize for bitcoin_units::locktime::relative::Time +impl serde::ser::Serialize for bitcoin_units::weight::Weight +impl<'a> arbitrary::Arbitrary<'a> for bitcoin_units::Amount +impl<'a> arbitrary::Arbitrary<'a> for bitcoin_units::SignedAmount +impl<'a> arbitrary::Arbitrary<'a> for bitcoin_units::fee_rate::FeeRate +impl<'a> arbitrary::Arbitrary<'a> for bitcoin_units::weight::Weight +impl<'a> core::iter::traits::accum::Sum<&'a bitcoin_units::Amount> for bitcoin_units::Amount +impl<'a> core::iter::traits::accum::Sum<&'a bitcoin_units::SignedAmount> for bitcoin_units::SignedAmount +impl<'a> core::iter::traits::accum::Sum<&'a bitcoin_units::block::BlockInterval> for bitcoin_units::block::BlockInterval +impl<'a> core::iter::traits::accum::Sum<&'a bitcoin_units::fee_rate::FeeRate> for bitcoin_units::fee_rate::FeeRate +impl<'a> core::iter::traits::accum::Sum<&'a bitcoin_units::weight::Weight> for bitcoin_units::weight::Weight +impl<'a> core::ops::arith::Add<&'a bitcoin_units::fee_rate::FeeRate> for &bitcoin_units::fee_rate::FeeRate +impl<'a> core::ops::arith::Sub<&'a bitcoin_units::fee_rate::FeeRate> for &bitcoin_units::fee_rate::FeeRate +impl<'de> serde::de::Deserialize<'de> for bitcoin_units::block::BlockHeight +impl<'de> serde::de::Deserialize<'de> for bitcoin_units::block::BlockInterval +impl<'de> serde::de::Deserialize<'de> for bitcoin_units::fee_rate::FeeRate +impl<'de> serde::de::Deserialize<'de> for bitcoin_units::locktime::absolute::Height +impl<'de> serde::de::Deserialize<'de> for bitcoin_units::locktime::absolute::Time +impl<'de> serde::de::Deserialize<'de> for bitcoin_units::locktime::relative::Height +impl<'de> serde::de::Deserialize<'de> for bitcoin_units::locktime::relative::Time +impl<'de> serde::de::Deserialize<'de> for bitcoin_units::weight::Weight +impl bitcoin_units::amount::CheckedSum for T where T: core::iter::traits::iterator::Iterator +impl bitcoin_units::amount::CheckedSum for T where T: core::iter::traits::iterator::Iterator +pub bitcoin_units::amount::Denomination::Bit +pub bitcoin_units::amount::Denomination::Bitcoin +pub bitcoin_units::amount::Denomination::CentiBitcoin +pub bitcoin_units::amount::Denomination::MicroBitcoin +pub bitcoin_units::amount::Denomination::MilliBitcoin +pub bitcoin_units::amount::Denomination::Satoshi +pub bitcoin_units::amount::ParseDenominationError::PossiblyConfusing(bitcoin_units::amount::error::PossiblyConfusingDenominationError) +pub bitcoin_units::amount::ParseDenominationError::Unknown(bitcoin_units::amount::error::UnknownDenominationError) +pub bitcoin_units::amount::error::ParseDenominationError::PossiblyConfusing(bitcoin_units::amount::error::PossiblyConfusingDenominationError) +pub bitcoin_units::amount::error::ParseDenominationError::Unknown(bitcoin_units::amount::error::UnknownDenominationError) +pub const bitcoin_units::Amount::MAX: bitcoin_units::Amount +pub const bitcoin_units::Amount::MAX_MONEY: bitcoin_units::Amount +pub const bitcoin_units::Amount::MIN: bitcoin_units::Amount +pub const bitcoin_units::Amount::ONE_BTC: bitcoin_units::Amount +pub const bitcoin_units::Amount::ONE_SAT: bitcoin_units::Amount +pub const bitcoin_units::Amount::SIZE: usize +pub const bitcoin_units::Amount::ZERO: bitcoin_units::Amount +pub const bitcoin_units::SignedAmount::MAX: bitcoin_units::SignedAmount +pub const bitcoin_units::SignedAmount::MAX_MONEY: bitcoin_units::SignedAmount +pub const bitcoin_units::SignedAmount::MIN: bitcoin_units::SignedAmount +pub const bitcoin_units::SignedAmount::ONE_BTC: bitcoin_units::SignedAmount +pub const bitcoin_units::SignedAmount::ONE_SAT: bitcoin_units::SignedAmount +pub const bitcoin_units::SignedAmount::ZERO: bitcoin_units::SignedAmount +pub const bitcoin_units::amount::Denomination::BTC: Self +pub const bitcoin_units::amount::Denomination::SAT: Self +pub const bitcoin_units::block::BlockHeight::MAX: Self +pub const bitcoin_units::block::BlockHeight::MIN: Self +pub const bitcoin_units::block::BlockHeight::ZERO: Self +pub const bitcoin_units::block::BlockInterval::MAX: Self +pub const bitcoin_units::block::BlockInterval::MIN: Self +pub const bitcoin_units::block::BlockInterval::ZERO: Self +pub const bitcoin_units::fee_rate::FeeRate::BROADCAST_MIN: bitcoin_units::fee_rate::FeeRate +pub const bitcoin_units::fee_rate::FeeRate::DUST: bitcoin_units::fee_rate::FeeRate +pub const bitcoin_units::fee_rate::FeeRate::MAX: bitcoin_units::fee_rate::FeeRate +pub const bitcoin_units::fee_rate::FeeRate::MIN: bitcoin_units::fee_rate::FeeRate +pub const bitcoin_units::fee_rate::FeeRate::ZERO: bitcoin_units::fee_rate::FeeRate +pub const bitcoin_units::locktime::absolute::Height::MAX: Self +pub const bitcoin_units::locktime::absolute::Height::MIN: Self +pub const bitcoin_units::locktime::absolute::Height::ZERO: Self +pub const bitcoin_units::locktime::absolute::LOCK_TIME_THRESHOLD: u32 +pub const bitcoin_units::locktime::absolute::Time::MAX: Self +pub const bitcoin_units::locktime::absolute::Time::MIN: Self +pub const bitcoin_units::locktime::relative::Height::MAX: Self +pub const bitcoin_units::locktime::relative::Height::MIN: Self +pub const bitcoin_units::locktime::relative::Height::ZERO: Self +pub const bitcoin_units::locktime::relative::Time::MAX: Self +pub const bitcoin_units::locktime::relative::Time::MIN: Self +pub const bitcoin_units::locktime::relative::Time::ZERO: Self +pub const bitcoin_units::weight::WITNESS_SCALE_FACTOR: usize +pub const bitcoin_units::weight::Weight::MAX: bitcoin_units::weight::Weight +pub const bitcoin_units::weight::Weight::MAX_BLOCK: bitcoin_units::weight::Weight +pub const bitcoin_units::weight::Weight::MIN: bitcoin_units::weight::Weight +pub const bitcoin_units::weight::Weight::MIN_TRANSACTION: bitcoin_units::weight::Weight +pub const bitcoin_units::weight::Weight::WITNESS_SCALE_FACTOR: u64 +pub const bitcoin_units::weight::Weight::ZERO: bitcoin_units::weight::Weight +pub const fn bitcoin_units::Amount::checked_add(self, rhs: bitcoin_units::Amount) -> core::option::Option +pub const fn bitcoin_units::Amount::checked_div(self, rhs: u64) -> core::option::Option +pub const fn bitcoin_units::Amount::checked_div_by_weight_ceil(self, rhs: bitcoin_units::weight::Weight) -> core::option::Option +pub const fn bitcoin_units::Amount::checked_div_by_weight_floor(self, rhs: bitcoin_units::weight::Weight) -> core::option::Option +pub const fn bitcoin_units::Amount::checked_mul(self, rhs: u64) -> core::option::Option +pub const fn bitcoin_units::Amount::checked_rem(self, rhs: u64) -> core::option::Option +pub const fn bitcoin_units::Amount::checked_sub(self, rhs: bitcoin_units::Amount) -> core::option::Option +pub const fn bitcoin_units::Amount::from_int_btc_const(btc: u64) -> bitcoin_units::Amount +pub const fn bitcoin_units::Amount::from_sat(satoshi: u64) -> bitcoin_units::Amount +pub const fn bitcoin_units::Amount::to_sat(self) -> u64 +pub const fn bitcoin_units::SignedAmount::checked_abs(self) -> core::option::Option +pub const fn bitcoin_units::SignedAmount::checked_add(self, rhs: bitcoin_units::SignedAmount) -> core::option::Option +pub const fn bitcoin_units::SignedAmount::checked_div(self, rhs: i64) -> core::option::Option +pub const fn bitcoin_units::SignedAmount::checked_mul(self, rhs: i64) -> core::option::Option +pub const fn bitcoin_units::SignedAmount::checked_rem(self, rhs: i64) -> core::option::Option +pub const fn bitcoin_units::SignedAmount::checked_sub(self, rhs: bitcoin_units::SignedAmount) -> core::option::Option +pub const fn bitcoin_units::SignedAmount::from_int_btc_const(btc: i64) -> bitcoin_units::SignedAmount +pub const fn bitcoin_units::SignedAmount::from_sat(satoshi: i64) -> bitcoin_units::SignedAmount +pub const fn bitcoin_units::SignedAmount::to_sat(self) -> i64 +pub const fn bitcoin_units::block::BlockHeight::from_u32(inner: u32) -> Self +pub const fn bitcoin_units::block::BlockHeight::to_u32(&self) -> u32 +pub const fn bitcoin_units::block::BlockInterval::from_u32(inner: u32) -> Self +pub const fn bitcoin_units::block::BlockInterval::to_u32(&self) -> u32 +pub const fn bitcoin_units::fee_rate::FeeRate::checked_add(self, rhs: u64) -> core::option::Option +pub const fn bitcoin_units::fee_rate::FeeRate::checked_div(self, rhs: u64) -> core::option::Option +pub const fn bitcoin_units::fee_rate::FeeRate::checked_mul(self, rhs: u64) -> core::option::Option +pub const fn bitcoin_units::fee_rate::FeeRate::checked_mul_by_weight(self, rhs: bitcoin_units::weight::Weight) -> core::option::Option +pub const fn bitcoin_units::fee_rate::FeeRate::checked_sub(self, rhs: u64) -> core::option::Option +pub const fn bitcoin_units::fee_rate::FeeRate::from_sat_per_kvb(sat_kvb: u64) -> Self +pub const fn bitcoin_units::fee_rate::FeeRate::from_sat_per_kwu(sat_kwu: u64) -> Self +pub const fn bitcoin_units::fee_rate::FeeRate::from_sat_per_vb_unchecked(sat_vb: u64) -> Self +pub const fn bitcoin_units::fee_rate::FeeRate::to_sat_per_kwu(self) -> u64 +pub const fn bitcoin_units::fee_rate::FeeRate::to_sat_per_vb_ceil(self) -> u64 +pub const fn bitcoin_units::fee_rate::FeeRate::to_sat_per_vb_floor(self) -> u64 +pub const fn bitcoin_units::locktime::absolute::Height::from_consensus(n: u32) -> core::result::Result +pub const fn bitcoin_units::locktime::absolute::Height::to_consensus_u32(self) -> u32 +pub const fn bitcoin_units::locktime::absolute::Time::from_consensus(n: u32) -> core::result::Result +pub const fn bitcoin_units::locktime::absolute::Time::to_consensus_u32(self) -> u32 +pub const fn bitcoin_units::locktime::absolute::is_block_height(n: u32) -> bool +pub const fn bitcoin_units::locktime::absolute::is_block_time(n: u32) -> bool +pub const fn bitcoin_units::locktime::relative::Height::from_height(blocks: u16) -> Self +pub const fn bitcoin_units::locktime::relative::Height::to_consensus_u32(&self) -> u32 +pub const fn bitcoin_units::locktime::relative::Height::value(self) -> u16 +pub const fn bitcoin_units::locktime::relative::Time::from_512_second_intervals(intervals: u16) -> Self +pub const fn bitcoin_units::locktime::relative::Time::from_seconds_ceil(seconds: u32) -> core::result::Result +pub const fn bitcoin_units::locktime::relative::Time::from_seconds_floor(seconds: u32) -> core::result::Result +pub const fn bitcoin_units::locktime::relative::Time::to_consensus_u32(&self) -> u32 +pub const fn bitcoin_units::locktime::relative::Time::value(self) -> u16 +pub const fn bitcoin_units::weight::Weight::checked_add(self, rhs: Self) -> core::option::Option +pub const fn bitcoin_units::weight::Weight::checked_div(self, rhs: u64) -> core::option::Option +pub const fn bitcoin_units::weight::Weight::checked_mul(self, rhs: u64) -> core::option::Option +pub const fn bitcoin_units::weight::Weight::checked_sub(self, rhs: Self) -> core::option::Option +pub const fn bitcoin_units::weight::Weight::from_non_witness_data_size(non_witness_size: u64) -> Self +pub const fn bitcoin_units::weight::Weight::from_vb(vb: u64) -> core::option::Option +pub const fn bitcoin_units::weight::Weight::from_vb_unchecked(vb: u64) -> Self +pub const fn bitcoin_units::weight::Weight::from_vb_unwrap(vb: u64) -> bitcoin_units::weight::Weight +pub const fn bitcoin_units::weight::Weight::from_witness_data_size(witness_size: u64) -> Self +pub const fn bitcoin_units::weight::Weight::from_wu(wu: u64) -> Self +pub const fn bitcoin_units::weight::Weight::from_wu_usize(wu: usize) -> Self +pub const fn bitcoin_units::weight::Weight::to_kwu_floor(self) -> u64 +pub const fn bitcoin_units::weight::Weight::to_vbytes_ceil(self) -> u64 +pub const fn bitcoin_units::weight::Weight::to_vbytes_floor(self) -> u64 +pub const fn bitcoin_units::weight::Weight::to_wu(self) -> u64 +pub fn &bitcoin_units::fee_rate::FeeRate::add(self, other: &'a bitcoin_units::fee_rate::FeeRate) -> ::Output +pub fn &bitcoin_units::fee_rate::FeeRate::add(self, other: bitcoin_units::fee_rate::FeeRate) -> ::Output +pub fn &bitcoin_units::fee_rate::FeeRate::sub(self, other: &'a bitcoin_units::fee_rate::FeeRate) -> ::Output +pub fn &bitcoin_units::fee_rate::FeeRate::sub(self, other: bitcoin_units::fee_rate::FeeRate) -> ::Output +pub fn T::checked_sum(self) -> core::option::Option +pub fn T::checked_sum(self) -> core::option::Option +pub fn bitcoin_units::Amount::add(self, rhs: bitcoin_units::Amount) -> Self::Output +pub fn bitcoin_units::Amount::add_assign(&mut self, other: bitcoin_units::Amount) +pub fn bitcoin_units::Amount::arbitrary(u: &mut arbitrary::unstructured::Unstructured<'a>) -> arbitrary::error::Result +pub fn bitcoin_units::Amount::clone(&self) -> bitcoin_units::Amount +pub fn bitcoin_units::Amount::cmp(&self, other: &bitcoin_units::Amount) -> core::cmp::Ordering +pub fn bitcoin_units::Amount::default() -> Self +pub fn bitcoin_units::Amount::des_btc<'d, D: serde::de::Deserializer<'d>>(d: D, _: private::Token) -> core::result::Result::Error> +pub fn bitcoin_units::Amount::des_sat<'d, D: serde::de::Deserializer<'d>>(d: D, _: private::Token) -> core::result::Result::Error> +pub fn bitcoin_units::Amount::display_dynamic(self) -> bitcoin_units::amount::Display +pub fn bitcoin_units::Amount::display_in(self, denomination: bitcoin_units::amount::Denomination) -> bitcoin_units::amount::Display +pub fn bitcoin_units::Amount::div(self, rhs: bitcoin_units::weight::Weight) -> Self::Output +pub fn bitcoin_units::Amount::div(self, rhs: u64) -> Self::Output +pub fn bitcoin_units::Amount::div_assign(&mut self, rhs: u64) +pub fn bitcoin_units::Amount::eq(&self, other: &bitcoin_units::Amount) -> bool +pub fn bitcoin_units::Amount::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_units::Amount::from_btc(btc: f64) -> core::result::Result +pub fn bitcoin_units::Amount::from_float_in(value: f64, denom: bitcoin_units::amount::Denomination) -> core::result::Result +pub fn bitcoin_units::Amount::from_int_btc(btc: u64) -> core::result::Result +pub fn bitcoin_units::Amount::from_str(s: &str) -> core::result::Result +pub fn bitcoin_units::Amount::from_str_in(s: &str, denom: bitcoin_units::amount::Denomination) -> core::result::Result +pub fn bitcoin_units::Amount::from_str_with_denomination(s: &str) -> core::result::Result +pub fn bitcoin_units::Amount::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_units::Amount::mul(self, rhs: u64) -> Self::Output +pub fn bitcoin_units::Amount::mul_assign(&mut self, rhs: u64) +pub fn bitcoin_units::Amount::partial_cmp(&self, other: &bitcoin_units::Amount) -> core::option::Option +pub fn bitcoin_units::Amount::rem(self, modulus: u64) -> Self +pub fn bitcoin_units::Amount::rem_assign(&mut self, modulus: u64) +pub fn bitcoin_units::Amount::ser_btc(self, s: S, _: private::Token) -> core::result::Result<::Ok, ::Error> +pub fn bitcoin_units::Amount::ser_btc_opt(self, s: S, _: private::Token) -> core::result::Result<::Ok, ::Error> +pub fn bitcoin_units::Amount::ser_sat(self, s: S, _: private::Token) -> core::result::Result<::Ok, ::Error> +pub fn bitcoin_units::Amount::ser_sat_opt(self, s: S, _: private::Token) -> core::result::Result<::Ok, ::Error> +pub fn bitcoin_units::Amount::sub(self, rhs: bitcoin_units::Amount) -> Self::Output +pub fn bitcoin_units::Amount::sub_assign(&mut self, other: bitcoin_units::Amount) +pub fn bitcoin_units::Amount::sum>(iter: I) -> Self +pub fn bitcoin_units::Amount::sum(iter: I) -> Self where I: core::iter::traits::iterator::Iterator +pub fn bitcoin_units::Amount::to_btc(self) -> f64 +pub fn bitcoin_units::Amount::to_float_in(self, denom: bitcoin_units::amount::Denomination) -> f64 +pub fn bitcoin_units::Amount::to_signed(self) -> core::result::Result +pub fn bitcoin_units::Amount::to_string_in(self, denom: bitcoin_units::amount::Denomination) -> alloc::string::String +pub fn bitcoin_units::Amount::to_string_with_denomination(self, denom: bitcoin_units::amount::Denomination) -> alloc::string::String +pub fn bitcoin_units::Amount::try_from(value: bitcoin_units::SignedAmount) -> core::result::Result +pub fn bitcoin_units::Amount::type_prefix(_: private::Token) -> &'static str +pub fn bitcoin_units::Amount::unchecked_add(self, rhs: bitcoin_units::Amount) -> bitcoin_units::Amount +pub fn bitcoin_units::Amount::unchecked_sub(self, rhs: bitcoin_units::Amount) -> bitcoin_units::Amount +pub fn bitcoin_units::SignedAmount::abs(self) -> bitcoin_units::SignedAmount +pub fn bitcoin_units::SignedAmount::add(self, rhs: bitcoin_units::SignedAmount) -> Self::Output +pub fn bitcoin_units::SignedAmount::add_assign(&mut self, other: bitcoin_units::SignedAmount) +pub fn bitcoin_units::SignedAmount::arbitrary(u: &mut arbitrary::unstructured::Unstructured<'a>) -> arbitrary::error::Result +pub fn bitcoin_units::SignedAmount::clone(&self) -> bitcoin_units::SignedAmount +pub fn bitcoin_units::SignedAmount::cmp(&self, other: &bitcoin_units::SignedAmount) -> core::cmp::Ordering +pub fn bitcoin_units::SignedAmount::default() -> Self +pub fn bitcoin_units::SignedAmount::des_btc<'d, D: serde::de::Deserializer<'d>>(d: D, _: private::Token) -> core::result::Result::Error> +pub fn bitcoin_units::SignedAmount::des_sat<'d, D: serde::de::Deserializer<'d>>(d: D, _: private::Token) -> core::result::Result::Error> +pub fn bitcoin_units::SignedAmount::display_dynamic(self) -> bitcoin_units::amount::Display +pub fn bitcoin_units::SignedAmount::display_in(self, denomination: bitcoin_units::amount::Denomination) -> bitcoin_units::amount::Display +pub fn bitcoin_units::SignedAmount::div(self, rhs: i64) -> Self::Output +pub fn bitcoin_units::SignedAmount::div_assign(&mut self, rhs: i64) +pub fn bitcoin_units::SignedAmount::eq(&self, other: &bitcoin_units::SignedAmount) -> bool +pub fn bitcoin_units::SignedAmount::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_units::SignedAmount::from_btc(btc: f64) -> core::result::Result +pub fn bitcoin_units::SignedAmount::from_float_in(value: f64, denom: bitcoin_units::amount::Denomination) -> core::result::Result +pub fn bitcoin_units::SignedAmount::from_int_btc(btc: i64) -> core::result::Result +pub fn bitcoin_units::SignedAmount::from_str(s: &str) -> core::result::Result +pub fn bitcoin_units::SignedAmount::from_str_in(s: &str, denom: bitcoin_units::amount::Denomination) -> core::result::Result +pub fn bitcoin_units::SignedAmount::from_str_with_denomination(s: &str) -> core::result::Result +pub fn bitcoin_units::SignedAmount::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_units::SignedAmount::is_negative(self) -> bool +pub fn bitcoin_units::SignedAmount::is_positive(self) -> bool +pub fn bitcoin_units::SignedAmount::mul(self, rhs: i64) -> Self::Output +pub fn bitcoin_units::SignedAmount::mul_assign(&mut self, rhs: i64) +pub fn bitcoin_units::SignedAmount::neg(self) -> Self::Output +pub fn bitcoin_units::SignedAmount::partial_cmp(&self, other: &bitcoin_units::SignedAmount) -> core::option::Option +pub fn bitcoin_units::SignedAmount::positive_sub(self, rhs: bitcoin_units::SignedAmount) -> core::option::Option +pub fn bitcoin_units::SignedAmount::rem(self, modulus: i64) -> Self +pub fn bitcoin_units::SignedAmount::rem_assign(&mut self, modulus: i64) +pub fn bitcoin_units::SignedAmount::ser_btc(self, s: S, _: private::Token) -> core::result::Result<::Ok, ::Error> +pub fn bitcoin_units::SignedAmount::ser_btc_opt(self, s: S, _: private::Token) -> core::result::Result<::Ok, ::Error> +pub fn bitcoin_units::SignedAmount::ser_sat(self, s: S, _: private::Token) -> core::result::Result<::Ok, ::Error> +pub fn bitcoin_units::SignedAmount::ser_sat_opt(self, s: S, _: private::Token) -> core::result::Result<::Ok, ::Error> +pub fn bitcoin_units::SignedAmount::signum(self) -> i64 +pub fn bitcoin_units::SignedAmount::sub(self, rhs: bitcoin_units::SignedAmount) -> Self::Output +pub fn bitcoin_units::SignedAmount::sub_assign(&mut self, other: bitcoin_units::SignedAmount) +pub fn bitcoin_units::SignedAmount::sum>(iter: I) -> Self +pub fn bitcoin_units::SignedAmount::sum(iter: I) -> Self where I: core::iter::traits::iterator::Iterator +pub fn bitcoin_units::SignedAmount::to_btc(self) -> f64 +pub fn bitcoin_units::SignedAmount::to_float_in(self, denom: bitcoin_units::amount::Denomination) -> f64 +pub fn bitcoin_units::SignedAmount::to_string_in(self, denom: bitcoin_units::amount::Denomination) -> alloc::string::String +pub fn bitcoin_units::SignedAmount::to_string_with_denomination(self, denom: bitcoin_units::amount::Denomination) -> alloc::string::String +pub fn bitcoin_units::SignedAmount::to_unsigned(self) -> core::result::Result +pub fn bitcoin_units::SignedAmount::try_from(value: bitcoin_units::Amount) -> core::result::Result +pub fn bitcoin_units::SignedAmount::type_prefix(_: private::Token) -> &'static str +pub fn bitcoin_units::SignedAmount::unchecked_add(self, rhs: bitcoin_units::SignedAmount) -> bitcoin_units::SignedAmount +pub fn bitcoin_units::SignedAmount::unchecked_sub(self, rhs: bitcoin_units::SignedAmount) -> bitcoin_units::SignedAmount +pub fn bitcoin_units::SignedAmount::unsigned_abs(self) -> bitcoin_units::Amount +pub fn bitcoin_units::amount::CheckedSum::checked_sum(self) -> core::option::Option +pub fn bitcoin_units::amount::Denomination::clone(&self) -> bitcoin_units::amount::Denomination +pub fn bitcoin_units::amount::Denomination::eq(&self, other: &bitcoin_units::amount::Denomination) -> bool +pub fn bitcoin_units::amount::Denomination::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_units::amount::Denomination::from_str(s: &str) -> core::result::Result +pub fn bitcoin_units::amount::Denomination::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_units::amount::Display::clone(&self) -> bitcoin_units::amount::Display +pub fn bitcoin_units::amount::Display::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_units::amount::Display::show_denomination(self) -> Self +pub fn bitcoin_units::amount::error::InputTooLargeError::clone(&self) -> bitcoin_units::amount::error::InputTooLargeError +pub fn bitcoin_units::amount::error::InputTooLargeError::eq(&self, other: &bitcoin_units::amount::error::InputTooLargeError) -> bool +pub fn bitcoin_units::amount::error::InputTooLargeError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_units::amount::error::InvalidCharacterError::clone(&self) -> bitcoin_units::amount::error::InvalidCharacterError +pub fn bitcoin_units::amount::error::InvalidCharacterError::eq(&self, other: &bitcoin_units::amount::error::InvalidCharacterError) -> bool +pub fn bitcoin_units::amount::error::InvalidCharacterError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_units::amount::error::MissingDenominationError::clone(&self) -> bitcoin_units::amount::error::MissingDenominationError +pub fn bitcoin_units::amount::error::MissingDenominationError::eq(&self, other: &bitcoin_units::amount::error::MissingDenominationError) -> bool +pub fn bitcoin_units::amount::error::MissingDenominationError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_units::amount::error::MissingDigitsError::clone(&self) -> bitcoin_units::amount::error::MissingDigitsError +pub fn bitcoin_units::amount::error::MissingDigitsError::eq(&self, other: &bitcoin_units::amount::error::MissingDigitsError) -> bool +pub fn bitcoin_units::amount::error::MissingDigitsError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_units::amount::error::OutOfRangeError::clone(&self) -> bitcoin_units::amount::error::OutOfRangeError +pub fn bitcoin_units::amount::error::OutOfRangeError::eq(&self, other: &bitcoin_units::amount::error::OutOfRangeError) -> bool +pub fn bitcoin_units::amount::error::OutOfRangeError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_units::amount::error::OutOfRangeError::is_above_max(&self) -> bool +pub fn bitcoin_units::amount::error::OutOfRangeError::is_below_min(&self) -> bool +pub fn bitcoin_units::amount::error::OutOfRangeError::valid_range(&self) -> (i64, u64) +pub fn bitcoin_units::amount::error::ParseAmountError::clone(&self) -> bitcoin_units::amount::error::ParseAmountError +pub fn bitcoin_units::amount::error::ParseAmountError::eq(&self, other: &bitcoin_units::amount::error::ParseAmountError) -> bool +pub fn bitcoin_units::amount::error::ParseAmountError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_units::amount::error::ParseAmountError::from(never: core::convert::Infallible) -> Self +pub fn bitcoin_units::amount::error::ParseAmountError::from(value: bitcoin_units::amount::error::InputTooLargeError) -> Self +pub fn bitcoin_units::amount::error::ParseAmountError::from(value: bitcoin_units::amount::error::InvalidCharacterError) -> Self +pub fn bitcoin_units::amount::error::ParseAmountError::from(value: bitcoin_units::amount::error::MissingDigitsError) -> Self +pub fn bitcoin_units::amount::error::ParseAmountError::from(value: bitcoin_units::amount::error::OutOfRangeError) -> Self +pub fn bitcoin_units::amount::error::ParseAmountError::from(value: bitcoin_units::amount::error::TooPreciseError) -> Self +pub fn bitcoin_units::amount::error::ParseAmountError::source(&self) -> core::option::Option<&(dyn core::error::Error + 'static)> +pub fn bitcoin_units::amount::error::ParseDenominationError::clone(&self) -> bitcoin_units::amount::error::ParseDenominationError +pub fn bitcoin_units::amount::error::ParseDenominationError::eq(&self, other: &bitcoin_units::amount::error::ParseDenominationError) -> bool +pub fn bitcoin_units::amount::error::ParseDenominationError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_units::amount::error::ParseDenominationError::from(never: core::convert::Infallible) -> Self +pub fn bitcoin_units::amount::error::ParseDenominationError::source(&self) -> core::option::Option<&(dyn core::error::Error + 'static)> +pub fn bitcoin_units::amount::error::ParseError::clone(&self) -> bitcoin_units::amount::error::ParseError +pub fn bitcoin_units::amount::error::ParseError::eq(&self, other: &bitcoin_units::amount::error::ParseError) -> bool +pub fn bitcoin_units::amount::error::ParseError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_units::amount::error::ParseError::from(e: bitcoin_units::amount::error::InputTooLargeError) -> Self +pub fn bitcoin_units::amount::error::ParseError::from(e: bitcoin_units::amount::error::InvalidCharacterError) -> Self +pub fn bitcoin_units::amount::error::ParseError::from(e: bitcoin_units::amount::error::MissingDigitsError) -> Self +pub fn bitcoin_units::amount::error::ParseError::from(e: bitcoin_units::amount::error::OutOfRangeError) -> Self +pub fn bitcoin_units::amount::error::ParseError::from(e: bitcoin_units::amount::error::ParseAmountError) -> Self +pub fn bitcoin_units::amount::error::ParseError::from(e: bitcoin_units::amount::error::ParseDenominationError) -> Self +pub fn bitcoin_units::amount::error::ParseError::from(e: bitcoin_units::amount::error::TooPreciseError) -> Self +pub fn bitcoin_units::amount::error::ParseError::from(never: core::convert::Infallible) -> Self +pub fn bitcoin_units::amount::error::ParseError::source(&self) -> core::option::Option<&(dyn core::error::Error + 'static)> +pub fn bitcoin_units::amount::error::PossiblyConfusingDenominationError::clone(&self) -> bitcoin_units::amount::error::PossiblyConfusingDenominationError +pub fn bitcoin_units::amount::error::PossiblyConfusingDenominationError::eq(&self, other: &bitcoin_units::amount::error::PossiblyConfusingDenominationError) -> bool +pub fn bitcoin_units::amount::error::PossiblyConfusingDenominationError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_units::amount::error::PossiblyConfusingDenominationError::source(&self) -> core::option::Option<&(dyn core::error::Error + 'static)> +pub fn bitcoin_units::amount::error::TooPreciseError::clone(&self) -> bitcoin_units::amount::error::TooPreciseError +pub fn bitcoin_units::amount::error::TooPreciseError::eq(&self, other: &bitcoin_units::amount::error::TooPreciseError) -> bool +pub fn bitcoin_units::amount::error::TooPreciseError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_units::amount::error::UnknownDenominationError::clone(&self) -> bitcoin_units::amount::error::UnknownDenominationError +pub fn bitcoin_units::amount::error::UnknownDenominationError::eq(&self, other: &bitcoin_units::amount::error::UnknownDenominationError) -> bool +pub fn bitcoin_units::amount::error::UnknownDenominationError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_units::amount::error::UnknownDenominationError::source(&self) -> core::option::Option<&(dyn core::error::Error + 'static)> +pub fn bitcoin_units::amount::serde::SerdeAmount::des_btc<'d, D: serde::de::Deserializer<'d>>(d: D, _: private::Token) -> core::result::Result::Error> +pub fn bitcoin_units::amount::serde::SerdeAmount::des_sat<'d, D: serde::de::Deserializer<'d>>(d: D, _: private::Token) -> core::result::Result::Error> +pub fn bitcoin_units::amount::serde::SerdeAmount::ser_btc(self, s: S, _: private::Token) -> core::result::Result<::Ok, ::Error> +pub fn bitcoin_units::amount::serde::SerdeAmount::ser_sat(self, s: S, _: private::Token) -> core::result::Result<::Ok, ::Error> +pub fn bitcoin_units::amount::serde::SerdeAmountForOpt::ser_btc_opt(self, s: S, _: private::Token) -> core::result::Result<::Ok, ::Error> +pub fn bitcoin_units::amount::serde::SerdeAmountForOpt::ser_sat_opt(self, s: S, _: private::Token) -> core::result::Result<::Ok, ::Error> +pub fn bitcoin_units::amount::serde::SerdeAmountForOpt::type_prefix(_: private::Token) -> &'static str +pub fn bitcoin_units::amount::serde::as_btc::deserialize<'d, A: bitcoin_units::amount::serde::SerdeAmount, D: serde::de::Deserializer<'d>>(d: D) -> core::result::Result::Error> +pub fn bitcoin_units::amount::serde::as_btc::opt::deserialize<'d, A: bitcoin_units::amount::serde::SerdeAmountForOpt, D: serde::de::Deserializer<'d>>(d: D) -> core::result::Result, ::Error> +pub fn bitcoin_units::amount::serde::as_btc::opt::serialize(a: &core::option::Option, s: S) -> core::result::Result<::Ok, ::Error> +pub fn bitcoin_units::amount::serde::as_btc::serialize(a: &A, s: S) -> core::result::Result<::Ok, ::Error> +pub fn bitcoin_units::amount::serde::as_sat::deserialize<'d, A: bitcoin_units::amount::serde::SerdeAmount, D: serde::de::Deserializer<'d>>(d: D) -> core::result::Result::Error> +pub fn bitcoin_units::amount::serde::as_sat::opt::deserialize<'d, A: bitcoin_units::amount::serde::SerdeAmountForOpt, D: serde::de::Deserializer<'d>>(d: D) -> core::result::Result, ::Error> +pub fn bitcoin_units::amount::serde::as_sat::opt::serialize(a: &core::option::Option, s: S) -> core::result::Result<::Ok, ::Error> +pub fn bitcoin_units::amount::serde::as_sat::serialize(a: &A, s: S) -> core::result::Result<::Ok, ::Error> +pub fn bitcoin_units::block::BlockHeight::add(self, rhs: bitcoin_units::block::BlockInterval) -> Self::Output +pub fn bitcoin_units::block::BlockHeight::clone(&self) -> bitcoin_units::block::BlockHeight +pub fn bitcoin_units::block::BlockHeight::cmp(&self, other: &bitcoin_units::block::BlockHeight) -> core::cmp::Ordering +pub fn bitcoin_units::block::BlockHeight::deserialize<__D>(__deserializer: __D) -> core::result::Result::Error> where __D: serde::de::Deserializer<'de> +pub fn bitcoin_units::block::BlockHeight::eq(&self, other: &bitcoin_units::block::BlockHeight) -> bool +pub fn bitcoin_units::block::BlockHeight::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_units::block::BlockHeight::from(h: bitcoin_units::locktime::absolute::Height) -> Self +pub fn bitcoin_units::block::BlockHeight::from(inner: u32) -> Self +pub fn bitcoin_units::block::BlockHeight::from_str(s: &str) -> core::result::Result +pub fn bitcoin_units::block::BlockHeight::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_units::block::BlockHeight::partial_cmp(&self, other: &bitcoin_units::block::BlockHeight) -> core::option::Option +pub fn bitcoin_units::block::BlockHeight::serialize<__S>(&self, __serializer: __S) -> core::result::Result<<__S as serde::ser::Serializer>::Ok, <__S as serde::ser::Serializer>::Error> where __S: serde::ser::Serializer +pub fn bitcoin_units::block::BlockHeight::sub(self, rhs: bitcoin_units::block::BlockHeight) -> Self::Output +pub fn bitcoin_units::block::BlockHeight::sub(self, rhs: bitcoin_units::block::BlockInterval) -> Self::Output +pub fn bitcoin_units::block::BlockHeight::try_from(s: &str) -> core::result::Result +pub fn bitcoin_units::block::BlockHeight::try_from(s: alloc::boxed::Box) -> core::result::Result +pub fn bitcoin_units::block::BlockHeight::try_from(s: alloc::string::String) -> core::result::Result +pub fn bitcoin_units::block::BlockInterval::add(self, rhs: bitcoin_units::block::BlockInterval) -> Self::Output +pub fn bitcoin_units::block::BlockInterval::add_assign(&mut self, rhs: bitcoin_units::block::BlockInterval) +pub fn bitcoin_units::block::BlockInterval::clone(&self) -> bitcoin_units::block::BlockInterval +pub fn bitcoin_units::block::BlockInterval::cmp(&self, other: &bitcoin_units::block::BlockInterval) -> core::cmp::Ordering +pub fn bitcoin_units::block::BlockInterval::deserialize<__D>(__deserializer: __D) -> core::result::Result::Error> where __D: serde::de::Deserializer<'de> +pub fn bitcoin_units::block::BlockInterval::eq(&self, other: &bitcoin_units::block::BlockInterval) -> bool +pub fn bitcoin_units::block::BlockInterval::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_units::block::BlockInterval::from(h: bitcoin_units::locktime::relative::Height) -> Self +pub fn bitcoin_units::block::BlockInterval::from(inner: u32) -> Self +pub fn bitcoin_units::block::BlockInterval::from_str(s: &str) -> core::result::Result +pub fn bitcoin_units::block::BlockInterval::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_units::block::BlockInterval::partial_cmp(&self, other: &bitcoin_units::block::BlockInterval) -> core::option::Option +pub fn bitcoin_units::block::BlockInterval::serialize<__S>(&self, __serializer: __S) -> core::result::Result<<__S as serde::ser::Serializer>::Ok, <__S as serde::ser::Serializer>::Error> where __S: serde::ser::Serializer +pub fn bitcoin_units::block::BlockInterval::sub(self, rhs: bitcoin_units::block::BlockInterval) -> Self::Output +pub fn bitcoin_units::block::BlockInterval::sub_assign(&mut self, rhs: bitcoin_units::block::BlockInterval) +pub fn bitcoin_units::block::BlockInterval::sum>(iter: I) -> Self +pub fn bitcoin_units::block::BlockInterval::sum(iter: I) -> Self where I: core::iter::traits::iterator::Iterator +pub fn bitcoin_units::block::BlockInterval::try_from(s: &str) -> core::result::Result +pub fn bitcoin_units::block::BlockInterval::try_from(s: alloc::boxed::Box) -> core::result::Result +pub fn bitcoin_units::block::BlockInterval::try_from(s: alloc::string::String) -> core::result::Result +pub fn bitcoin_units::block::TooBigForRelativeBlockHeightError::clone(&self) -> bitcoin_units::block::TooBigForRelativeBlockHeightError +pub fn bitcoin_units::block::TooBigForRelativeBlockHeightError::eq(&self, other: &bitcoin_units::block::TooBigForRelativeBlockHeightError) -> bool +pub fn bitcoin_units::block::TooBigForRelativeBlockHeightError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_units::fee_rate::FeeRate::add(self, other: &bitcoin_units::fee_rate::FeeRate) -> ::Output +pub fn bitcoin_units::fee_rate::FeeRate::add(self, rhs: bitcoin_units::fee_rate::FeeRate) -> Self::Output +pub fn bitcoin_units::fee_rate::FeeRate::add_assign(&mut self, rhs: &bitcoin_units::fee_rate::FeeRate) +pub fn bitcoin_units::fee_rate::FeeRate::add_assign(&mut self, rhs: Self) +pub fn bitcoin_units::fee_rate::FeeRate::arbitrary(u: &mut arbitrary::unstructured::Unstructured<'a>) -> arbitrary::error::Result +pub fn bitcoin_units::fee_rate::FeeRate::clone(&self) -> bitcoin_units::fee_rate::FeeRate +pub fn bitcoin_units::fee_rate::FeeRate::cmp(&self, other: &bitcoin_units::fee_rate::FeeRate) -> core::cmp::Ordering +pub fn bitcoin_units::fee_rate::FeeRate::deserialize<__D>(__deserializer: __D) -> core::result::Result::Error> where __D: serde::de::Deserializer<'de> +pub fn bitcoin_units::fee_rate::FeeRate::eq(&self, other: &bitcoin_units::fee_rate::FeeRate) -> bool +pub fn bitcoin_units::fee_rate::FeeRate::fee_vb(self, vb: u64) -> core::option::Option +pub fn bitcoin_units::fee_rate::FeeRate::fee_wu(self, weight: bitcoin_units::weight::Weight) -> core::option::Option +pub fn bitcoin_units::fee_rate::FeeRate::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_units::fee_rate::FeeRate::from_sat_per_vb(sat_vb: u64) -> core::option::Option +pub fn bitcoin_units::fee_rate::FeeRate::from_str(s: &str) -> core::result::Result +pub fn bitcoin_units::fee_rate::FeeRate::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_units::fee_rate::FeeRate::mul(self, rhs: bitcoin_units::weight::Weight) -> Self::Output +pub fn bitcoin_units::fee_rate::FeeRate::partial_cmp(&self, other: &bitcoin_units::fee_rate::FeeRate) -> core::option::Option +pub fn bitcoin_units::fee_rate::FeeRate::serialize<__S>(&self, __serializer: __S) -> core::result::Result<<__S as serde::ser::Serializer>::Ok, <__S as serde::ser::Serializer>::Error> where __S: serde::ser::Serializer +pub fn bitcoin_units::fee_rate::FeeRate::sub(self, other: &bitcoin_units::fee_rate::FeeRate) -> ::Output +pub fn bitcoin_units::fee_rate::FeeRate::sub(self, rhs: bitcoin_units::fee_rate::FeeRate) -> Self::Output +pub fn bitcoin_units::fee_rate::FeeRate::sub_assign(&mut self, rhs: &bitcoin_units::fee_rate::FeeRate) +pub fn bitcoin_units::fee_rate::FeeRate::sub_assign(&mut self, rhs: Self) +pub fn bitcoin_units::fee_rate::FeeRate::sum(iter: I) -> Self where I: core::iter::traits::iterator::Iterator +pub fn bitcoin_units::fee_rate::FeeRate::sum(iter: I) -> Self where I: core::iter::traits::iterator::Iterator +pub fn bitcoin_units::fee_rate::FeeRate::try_from(s: &str) -> core::result::Result +pub fn bitcoin_units::fee_rate::FeeRate::try_from(s: alloc::boxed::Box) -> core::result::Result +pub fn bitcoin_units::fee_rate::FeeRate::try_from(s: alloc::string::String) -> core::result::Result +pub fn bitcoin_units::locktime::absolute::ConversionError::clone(&self) -> bitcoin_units::locktime::absolute::ConversionError +pub fn bitcoin_units::locktime::absolute::ConversionError::eq(&self, other: &bitcoin_units::locktime::absolute::ConversionError) -> bool +pub fn bitcoin_units::locktime::absolute::ConversionError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_units::locktime::absolute::ConversionError::source(&self) -> core::option::Option<&(dyn core::error::Error + 'static)> +pub fn bitcoin_units::locktime::absolute::Height::clone(&self) -> bitcoin_units::locktime::absolute::Height +pub fn bitcoin_units::locktime::absolute::Height::cmp(&self, other: &bitcoin_units::locktime::absolute::Height) -> core::cmp::Ordering +pub fn bitcoin_units::locktime::absolute::Height::deserialize(deserializer: D) -> core::result::Result::Error> where D: serde::de::Deserializer<'de> +pub fn bitcoin_units::locktime::absolute::Height::eq(&self, other: &bitcoin_units::locktime::absolute::Height) -> bool +pub fn bitcoin_units::locktime::absolute::Height::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_units::locktime::absolute::Height::from_hex(s: &str) -> core::result::Result +pub fn bitcoin_units::locktime::absolute::Height::from_str(s: &str) -> core::result::Result +pub fn bitcoin_units::locktime::absolute::Height::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_units::locktime::absolute::Height::partial_cmp(&self, other: &bitcoin_units::locktime::absolute::Height) -> core::option::Option +pub fn bitcoin_units::locktime::absolute::Height::serialize(&self, serializer: S) -> core::result::Result<::Ok, ::Error> where S: serde::ser::Serializer +pub fn bitcoin_units::locktime::absolute::Height::try_from(h: bitcoin_units::block::BlockHeight) -> core::result::Result +pub fn bitcoin_units::locktime::absolute::Height::try_from(s: &str) -> core::result::Result +pub fn bitcoin_units::locktime::absolute::Height::try_from(s: alloc::boxed::Box) -> core::result::Result +pub fn bitcoin_units::locktime::absolute::Height::try_from(s: alloc::string::String) -> core::result::Result +pub fn bitcoin_units::locktime::absolute::ParseHeightError::clone(&self) -> bitcoin_units::locktime::absolute::ParseHeightError +pub fn bitcoin_units::locktime::absolute::ParseHeightError::eq(&self, other: &bitcoin_units::locktime::absolute::ParseHeightError) -> bool +pub fn bitcoin_units::locktime::absolute::ParseHeightError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_units::locktime::absolute::ParseHeightError::source(&self) -> core::option::Option<&(dyn core::error::Error + 'static)> +pub fn bitcoin_units::locktime::absolute::ParseTimeError::clone(&self) -> bitcoin_units::locktime::absolute::ParseTimeError +pub fn bitcoin_units::locktime::absolute::ParseTimeError::eq(&self, other: &bitcoin_units::locktime::absolute::ParseTimeError) -> bool +pub fn bitcoin_units::locktime::absolute::ParseTimeError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_units::locktime::absolute::ParseTimeError::source(&self) -> core::option::Option<&(dyn core::error::Error + 'static)> +pub fn bitcoin_units::locktime::absolute::Time::clone(&self) -> bitcoin_units::locktime::absolute::Time +pub fn bitcoin_units::locktime::absolute::Time::cmp(&self, other: &bitcoin_units::locktime::absolute::Time) -> core::cmp::Ordering +pub fn bitcoin_units::locktime::absolute::Time::deserialize(deserializer: D) -> core::result::Result::Error> where D: serde::de::Deserializer<'de> +pub fn bitcoin_units::locktime::absolute::Time::eq(&self, other: &bitcoin_units::locktime::absolute::Time) -> bool +pub fn bitcoin_units::locktime::absolute::Time::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_units::locktime::absolute::Time::from_hex(s: &str) -> core::result::Result +pub fn bitcoin_units::locktime::absolute::Time::from_str(s: &str) -> core::result::Result +pub fn bitcoin_units::locktime::absolute::Time::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_units::locktime::absolute::Time::partial_cmp(&self, other: &bitcoin_units::locktime::absolute::Time) -> core::option::Option +pub fn bitcoin_units::locktime::absolute::Time::serialize(&self, serializer: S) -> core::result::Result<::Ok, ::Error> where S: serde::ser::Serializer +pub fn bitcoin_units::locktime::absolute::Time::try_from(s: &str) -> core::result::Result +pub fn bitcoin_units::locktime::absolute::Time::try_from(s: alloc::boxed::Box) -> core::result::Result +pub fn bitcoin_units::locktime::absolute::Time::try_from(s: alloc::string::String) -> core::result::Result +pub fn bitcoin_units::locktime::relative::Height::clone(&self) -> bitcoin_units::locktime::relative::Height +pub fn bitcoin_units::locktime::relative::Height::cmp(&self, other: &bitcoin_units::locktime::relative::Height) -> core::cmp::Ordering +pub fn bitcoin_units::locktime::relative::Height::default() -> bitcoin_units::locktime::relative::Height +pub fn bitcoin_units::locktime::relative::Height::deserialize<__D>(__deserializer: __D) -> core::result::Result::Error> where __D: serde::de::Deserializer<'de> +pub fn bitcoin_units::locktime::relative::Height::eq(&self, other: &bitcoin_units::locktime::relative::Height) -> bool +pub fn bitcoin_units::locktime::relative::Height::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_units::locktime::relative::Height::from(value: u16) -> Self +pub fn bitcoin_units::locktime::relative::Height::from_str(s: &str) -> core::result::Result +pub fn bitcoin_units::locktime::relative::Height::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_units::locktime::relative::Height::partial_cmp(&self, other: &bitcoin_units::locktime::relative::Height) -> core::option::Option +pub fn bitcoin_units::locktime::relative::Height::serialize<__S>(&self, __serializer: __S) -> core::result::Result<<__S as serde::ser::Serializer>::Ok, <__S as serde::ser::Serializer>::Error> where __S: serde::ser::Serializer +pub fn bitcoin_units::locktime::relative::Height::try_from(h: bitcoin_units::block::BlockInterval) -> core::result::Result +pub fn bitcoin_units::locktime::relative::Height::try_from(s: &str) -> core::result::Result +pub fn bitcoin_units::locktime::relative::Height::try_from(s: alloc::boxed::Box) -> core::result::Result +pub fn bitcoin_units::locktime::relative::Height::try_from(s: alloc::string::String) -> core::result::Result +pub fn bitcoin_units::locktime::relative::Time::clone(&self) -> bitcoin_units::locktime::relative::Time +pub fn bitcoin_units::locktime::relative::Time::cmp(&self, other: &bitcoin_units::locktime::relative::Time) -> core::cmp::Ordering +pub fn bitcoin_units::locktime::relative::Time::default() -> bitcoin_units::locktime::relative::Time +pub fn bitcoin_units::locktime::relative::Time::deserialize<__D>(__deserializer: __D) -> core::result::Result::Error> where __D: serde::de::Deserializer<'de> +pub fn bitcoin_units::locktime::relative::Time::eq(&self, other: &bitcoin_units::locktime::relative::Time) -> bool +pub fn bitcoin_units::locktime::relative::Time::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_units::locktime::relative::Time::from_str(s: &str) -> core::result::Result +pub fn bitcoin_units::locktime::relative::Time::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_units::locktime::relative::Time::partial_cmp(&self, other: &bitcoin_units::locktime::relative::Time) -> core::option::Option +pub fn bitcoin_units::locktime::relative::Time::serialize<__S>(&self, __serializer: __S) -> core::result::Result<<__S as serde::ser::Serializer>::Ok, <__S as serde::ser::Serializer>::Error> where __S: serde::ser::Serializer +pub fn bitcoin_units::locktime::relative::Time::try_from(s: &str) -> core::result::Result +pub fn bitcoin_units::locktime::relative::Time::try_from(s: alloc::boxed::Box) -> core::result::Result +pub fn bitcoin_units::locktime::relative::Time::try_from(s: alloc::string::String) -> core::result::Result +pub fn bitcoin_units::locktime::relative::TimeOverflowError::clone(&self) -> bitcoin_units::locktime::relative::TimeOverflowError +pub fn bitcoin_units::locktime::relative::TimeOverflowError::eq(&self, other: &bitcoin_units::locktime::relative::TimeOverflowError) -> bool +pub fn bitcoin_units::locktime::relative::TimeOverflowError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_units::locktime::relative::TimeOverflowError::new(seconds: u32) -> Self +pub fn bitcoin_units::parse::ParseIntError::as_ref(&self) -> &core::num::error::ParseIntError +pub fn bitcoin_units::parse::ParseIntError::clone(&self) -> bitcoin_units::parse::ParseIntError +pub fn bitcoin_units::parse::ParseIntError::eq(&self, other: &bitcoin_units::parse::ParseIntError) -> bool +pub fn bitcoin_units::parse::ParseIntError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_units::parse::ParseIntError::source(&self) -> core::option::Option<&(dyn core::error::Error + 'static)> +pub fn bitcoin_units::parse::PrefixedHexError::clone(&self) -> bitcoin_units::parse::PrefixedHexError +pub fn bitcoin_units::parse::PrefixedHexError::eq(&self, other: &bitcoin_units::parse::PrefixedHexError) -> bool +pub fn bitcoin_units::parse::PrefixedHexError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_units::parse::PrefixedHexError::from(e: bitcoin_units::parse::ParseIntError) -> Self +pub fn bitcoin_units::parse::PrefixedHexError::from(never: core::convert::Infallible) -> Self +pub fn bitcoin_units::parse::PrefixedHexError::source(&self) -> core::option::Option<&(dyn core::error::Error + 'static)> +pub fn bitcoin_units::parse::UnprefixedHexError::clone(&self) -> bitcoin_units::parse::UnprefixedHexError +pub fn bitcoin_units::parse::UnprefixedHexError::eq(&self, other: &bitcoin_units::parse::UnprefixedHexError) -> bool +pub fn bitcoin_units::parse::UnprefixedHexError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_units::parse::UnprefixedHexError::from(e: bitcoin_units::parse::ParseIntError) -> Self +pub fn bitcoin_units::parse::UnprefixedHexError::from(never: core::convert::Infallible) -> Self +pub fn bitcoin_units::parse::UnprefixedHexError::source(&self) -> core::option::Option<&(dyn core::error::Error + 'static)> +pub fn bitcoin_units::parse::hex_check_unprefixed(s: &str) -> core::result::Result<&str, bitcoin_units::parse::UnprefixedHexError> +pub fn bitcoin_units::parse::hex_remove_prefix(s: &str) -> core::result::Result<&str, bitcoin_units::parse::PrefixedHexError> +pub fn bitcoin_units::parse::hex_u128(s: &str) -> core::result::Result +pub fn bitcoin_units::parse::hex_u128_prefixed(s: &str) -> core::result::Result +pub fn bitcoin_units::parse::hex_u128_unchecked(s: &str) -> core::result::Result +pub fn bitcoin_units::parse::hex_u128_unprefixed(s: &str) -> core::result::Result +pub fn bitcoin_units::parse::hex_u32(s: &str) -> core::result::Result +pub fn bitcoin_units::parse::hex_u32_prefixed(s: &str) -> core::result::Result +pub fn bitcoin_units::parse::hex_u32_unchecked(s: &str) -> core::result::Result +pub fn bitcoin_units::parse::hex_u32_unprefixed(s: &str) -> core::result::Result +pub fn bitcoin_units::parse::int + core::convert::Into>(s: S) -> core::result::Result +pub fn bitcoin_units::weight::Weight::add(self, rhs: bitcoin_units::weight::Weight) -> Self::Output +pub fn bitcoin_units::weight::Weight::add_assign(&mut self, rhs: Self) +pub fn bitcoin_units::weight::Weight::arbitrary(u: &mut arbitrary::unstructured::Unstructured<'a>) -> arbitrary::error::Result +pub fn bitcoin_units::weight::Weight::clone(&self) -> bitcoin_units::weight::Weight +pub fn bitcoin_units::weight::Weight::cmp(&self, other: &bitcoin_units::weight::Weight) -> core::cmp::Ordering +pub fn bitcoin_units::weight::Weight::deserialize<__D>(__deserializer: __D) -> core::result::Result::Error> where __D: serde::de::Deserializer<'de> +pub fn bitcoin_units::weight::Weight::div(self, rhs: bitcoin_units::weight::Weight) -> Self::Output +pub fn bitcoin_units::weight::Weight::div(self, rhs: u64) -> Self::Output +pub fn bitcoin_units::weight::Weight::div_assign(&mut self, rhs: u64) +pub fn bitcoin_units::weight::Weight::eq(&self, other: &bitcoin_units::weight::Weight) -> bool +pub fn bitcoin_units::weight::Weight::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_units::weight::Weight::from_kwu(wu: u64) -> core::option::Option +pub fn bitcoin_units::weight::Weight::from_str(s: &str) -> core::result::Result +pub fn bitcoin_units::weight::Weight::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_units::weight::Weight::mul(self, rhs: bitcoin_units::fee_rate::FeeRate) -> Self::Output +pub fn bitcoin_units::weight::Weight::mul(self, rhs: u64) -> Self::Output +pub fn bitcoin_units::weight::Weight::mul_assign(&mut self, rhs: u64) +pub fn bitcoin_units::weight::Weight::partial_cmp(&self, other: &bitcoin_units::weight::Weight) -> core::option::Option +pub fn bitcoin_units::weight::Weight::serialize<__S>(&self, __serializer: __S) -> core::result::Result<<__S as serde::ser::Serializer>::Ok, <__S as serde::ser::Serializer>::Error> where __S: serde::ser::Serializer +pub fn bitcoin_units::weight::Weight::sub(self, rhs: bitcoin_units::weight::Weight) -> Self::Output +pub fn bitcoin_units::weight::Weight::sub_assign(&mut self, rhs: Self) +pub fn bitcoin_units::weight::Weight::sum(iter: I) -> Self where I: core::iter::traits::iterator::Iterator +pub fn bitcoin_units::weight::Weight::sum(iter: I) -> Self where I: core::iter::traits::iterator::Iterator +pub fn bitcoin_units::weight::Weight::try_from(s: &str) -> core::result::Result +pub fn bitcoin_units::weight::Weight::try_from(s: alloc::boxed::Box) -> core::result::Result +pub fn bitcoin_units::weight::Weight::try_from(s: alloc::string::String) -> core::result::Result +pub fn core::num::error::ParseIntError::from(value: bitcoin_units::parse::ParseIntError) -> Self +pub fn u32::from(height: bitcoin_units::block::BlockHeight) -> Self +pub fn u32::from(height: bitcoin_units::block::BlockInterval) -> Self +pub fn u64::from(value: bitcoin_units::fee_rate::FeeRate) -> Self +pub fn u64::from(value: bitcoin_units::weight::Weight) -> Self +pub fn u64::mul(self, rhs: bitcoin_units::weight::Weight) -> Self::Output +pub macro bitcoin_units::impl_parse_str! +pub macro bitcoin_units::impl_parse_str_from_int_infallible! +pub macro bitcoin_units::impl_tryfrom_str! +pub macro bitcoin_units::impl_tryfrom_str_from_int_infallible! +pub mod bitcoin_units +pub mod bitcoin_units::amount +pub mod bitcoin_units::amount::error +pub mod bitcoin_units::amount::serde +pub mod bitcoin_units::amount::serde::as_btc +pub mod bitcoin_units::amount::serde::as_btc::opt +pub mod bitcoin_units::amount::serde::as_sat +pub mod bitcoin_units::amount::serde::as_sat::opt +pub mod bitcoin_units::block +pub mod bitcoin_units::fee_rate +pub mod bitcoin_units::locktime +pub mod bitcoin_units::locktime::absolute +pub mod bitcoin_units::locktime::relative +pub mod bitcoin_units::parse +pub mod bitcoin_units::weight +pub struct bitcoin_units::Amount(_) +pub struct bitcoin_units::BlockHeight(pub u32) +pub struct bitcoin_units::BlockInterval(pub u32) +pub struct bitcoin_units::FeeRate(_) +pub struct bitcoin_units::SignedAmount(_) +pub struct bitcoin_units::Weight(_) +pub struct bitcoin_units::amount::Amount(_) +pub struct bitcoin_units::amount::Display +pub struct bitcoin_units::amount::InputTooLargeError +pub struct bitcoin_units::amount::InvalidCharacterError +pub struct bitcoin_units::amount::MissingDigitsError +pub struct bitcoin_units::amount::OutOfRangeError +pub struct bitcoin_units::amount::ParseAmountError(_) +pub struct bitcoin_units::amount::ParseError(_) +pub struct bitcoin_units::amount::SignedAmount(_) +pub struct bitcoin_units::amount::TooPreciseError +pub struct bitcoin_units::amount::error::InputTooLargeError +pub struct bitcoin_units::amount::error::InvalidCharacterError +pub struct bitcoin_units::amount::error::MissingDigitsError +pub struct bitcoin_units::amount::error::OutOfRangeError +pub struct bitcoin_units::amount::error::ParseAmountError(_) +pub struct bitcoin_units::amount::error::ParseError(_) +pub struct bitcoin_units::amount::error::TooPreciseError +pub struct bitcoin_units::block::BlockHeight(pub u32) +pub struct bitcoin_units::block::BlockInterval(pub u32) +pub struct bitcoin_units::block::TooBigForRelativeBlockHeightError(_) +pub struct bitcoin_units::fee_rate::FeeRate(_) +pub struct bitcoin_units::locktime::absolute::Height(_) +pub struct bitcoin_units::locktime::absolute::ParseHeightError(_) +pub struct bitcoin_units::locktime::absolute::ParseTimeError(_) +pub struct bitcoin_units::locktime::absolute::Time(_) +pub struct bitcoin_units::locktime::relative::Height(_) +pub struct bitcoin_units::locktime::relative::Time(_) +pub struct bitcoin_units::locktime::relative::TimeOverflowError +pub struct bitcoin_units::parse::PrefixedHexError(_) +pub struct bitcoin_units::parse::UnprefixedHexError(_) +pub struct bitcoin_units::weight::Weight(_) +pub trait bitcoin_units::amount::CheckedSum: private::SumSeal +pub trait bitcoin_units::amount::serde::SerdeAmount: core::marker::Copy + core::marker::Sized +pub trait bitcoin_units::amount::serde::SerdeAmountForOpt: core::marker::Copy + core::marker::Sized + bitcoin_units::amount::serde::SerdeAmount +pub trait bitcoin_units::parse::Integer: core::str::traits::FromStr + core::convert::TryFrom + core::marker::Sized +pub type &bitcoin_units::fee_rate::FeeRate::Output = bitcoin_units::fee_rate::FeeRate +pub type bitcoin_units::Amount::Err = bitcoin_units::amount::error::ParseError +pub type bitcoin_units::Amount::Error = bitcoin_units::amount::error::OutOfRangeError +pub type bitcoin_units::Amount::Output = bitcoin_units::Amount +pub type bitcoin_units::Amount::Output = bitcoin_units::fee_rate::FeeRate +pub type bitcoin_units::SignedAmount::Err = bitcoin_units::amount::error::ParseError +pub type bitcoin_units::SignedAmount::Error = bitcoin_units::amount::error::OutOfRangeError +pub type bitcoin_units::SignedAmount::Output = bitcoin_units::SignedAmount +pub type bitcoin_units::amount::Denomination::Err = bitcoin_units::amount::error::ParseDenominationError +pub type bitcoin_units::block::BlockHeight::Err = bitcoin_units::parse::ParseIntError +pub type bitcoin_units::block::BlockHeight::Error = bitcoin_units::parse::ParseIntError +pub type bitcoin_units::block::BlockHeight::Output = bitcoin_units::block::BlockHeight +pub type bitcoin_units::block::BlockHeight::Output = bitcoin_units::block::BlockInterval +pub type bitcoin_units::block::BlockInterval::Err = bitcoin_units::parse::ParseIntError +pub type bitcoin_units::block::BlockInterval::Error = bitcoin_units::parse::ParseIntError +pub type bitcoin_units::block::BlockInterval::Output = bitcoin_units::block::BlockInterval +pub type bitcoin_units::fee_rate::FeeRate::Err = bitcoin_units::parse::ParseIntError +pub type bitcoin_units::fee_rate::FeeRate::Error = bitcoin_units::parse::ParseIntError +pub type bitcoin_units::fee_rate::FeeRate::Output = bitcoin_units::Amount +pub type bitcoin_units::fee_rate::FeeRate::Output = bitcoin_units::fee_rate::FeeRate +pub type bitcoin_units::locktime::absolute::Height::Err = bitcoin_units::locktime::absolute::ParseHeightError +pub type bitcoin_units::locktime::absolute::Height::Error = bitcoin_units::locktime::absolute::ConversionError +pub type bitcoin_units::locktime::absolute::Height::Error = bitcoin_units::locktime::absolute::ParseHeightError +pub type bitcoin_units::locktime::absolute::Time::Err = bitcoin_units::locktime::absolute::ParseTimeError +pub type bitcoin_units::locktime::absolute::Time::Error = bitcoin_units::locktime::absolute::ParseTimeError +pub type bitcoin_units::locktime::relative::Height::Err = bitcoin_units::parse::ParseIntError +pub type bitcoin_units::locktime::relative::Height::Error = bitcoin_units::block::TooBigForRelativeBlockHeightError +pub type bitcoin_units::locktime::relative::Height::Error = bitcoin_units::parse::ParseIntError +pub type bitcoin_units::locktime::relative::Time::Err = bitcoin_units::parse::ParseIntError +pub type bitcoin_units::locktime::relative::Time::Error = bitcoin_units::parse::ParseIntError +pub type bitcoin_units::weight::Weight::Err = bitcoin_units::parse::ParseIntError +pub type bitcoin_units::weight::Weight::Error = bitcoin_units::parse::ParseIntError +pub type bitcoin_units::weight::Weight::Output = bitcoin_units::Amount +pub type bitcoin_units::weight::Weight::Output = bitcoin_units::weight::Weight +pub type bitcoin_units::weight::Weight::Output = u64 +pub type u64::Output = bitcoin_units::weight::Weight diff --git a/api/units/alloc-only.txt b/api/units/alloc-only.txt new file mode 100644 index 0000000000..0555c7d432 --- /dev/null +++ b/api/units/alloc-only.txt @@ -0,0 +1,1109 @@ +#[non_exhaustive] pub enum bitcoin_units::amount::Denomination +#[non_exhaustive] pub enum bitcoin_units::amount::ParseDenominationError +#[non_exhaustive] pub enum bitcoin_units::amount::error::ParseDenominationError +#[non_exhaustive] pub struct bitcoin_units::amount::MissingDenominationError +#[non_exhaustive] pub struct bitcoin_units::amount::PossiblyConfusingDenominationError(_) +#[non_exhaustive] pub struct bitcoin_units::amount::UnknownDenominationError(_) +#[non_exhaustive] pub struct bitcoin_units::amount::error::MissingDenominationError +#[non_exhaustive] pub struct bitcoin_units::amount::error::PossiblyConfusingDenominationError(_) +#[non_exhaustive] pub struct bitcoin_units::amount::error::UnknownDenominationError(_) +#[non_exhaustive] pub struct bitcoin_units::locktime::absolute::ConversionError +#[non_exhaustive] pub struct bitcoin_units::parse::ParseIntError +impl bitcoin_units::Amount +impl bitcoin_units::SignedAmount +impl bitcoin_units::amount::Denomination +impl bitcoin_units::amount::Display +impl bitcoin_units::amount::error::OutOfRangeError +impl bitcoin_units::block::BlockHeight +impl bitcoin_units::block::BlockInterval +impl bitcoin_units::fee_rate::FeeRate +impl bitcoin_units::locktime::absolute::Height +impl bitcoin_units::locktime::absolute::Time +impl bitcoin_units::locktime::relative::Height +impl bitcoin_units::locktime::relative::Time +impl bitcoin_units::locktime::relative::TimeOverflowError +impl bitcoin_units::parse::Integer for i128 +impl bitcoin_units::parse::Integer for i16 +impl bitcoin_units::parse::Integer for i32 +impl bitcoin_units::parse::Integer for i64 +impl bitcoin_units::parse::Integer for i8 +impl bitcoin_units::parse::Integer for u128 +impl bitcoin_units::parse::Integer for u16 +impl bitcoin_units::parse::Integer for u32 +impl bitcoin_units::parse::Integer for u64 +impl bitcoin_units::parse::Integer for u8 +impl bitcoin_units::weight::Weight +impl core::clone::Clone for bitcoin_units::Amount +impl core::clone::Clone for bitcoin_units::SignedAmount +impl core::clone::Clone for bitcoin_units::amount::Denomination +impl core::clone::Clone for bitcoin_units::amount::Display +impl core::clone::Clone for bitcoin_units::amount::error::InputTooLargeError +impl core::clone::Clone for bitcoin_units::amount::error::InvalidCharacterError +impl core::clone::Clone for bitcoin_units::amount::error::MissingDenominationError +impl core::clone::Clone for bitcoin_units::amount::error::MissingDigitsError +impl core::clone::Clone for bitcoin_units::amount::error::OutOfRangeError +impl core::clone::Clone for bitcoin_units::amount::error::ParseAmountError +impl core::clone::Clone for bitcoin_units::amount::error::ParseDenominationError +impl core::clone::Clone for bitcoin_units::amount::error::ParseError +impl core::clone::Clone for bitcoin_units::amount::error::PossiblyConfusingDenominationError +impl core::clone::Clone for bitcoin_units::amount::error::TooPreciseError +impl core::clone::Clone for bitcoin_units::amount::error::UnknownDenominationError +impl core::clone::Clone for bitcoin_units::block::BlockHeight +impl core::clone::Clone for bitcoin_units::block::BlockInterval +impl core::clone::Clone for bitcoin_units::block::TooBigForRelativeBlockHeightError +impl core::clone::Clone for bitcoin_units::fee_rate::FeeRate +impl core::clone::Clone for bitcoin_units::locktime::absolute::ConversionError +impl core::clone::Clone for bitcoin_units::locktime::absolute::Height +impl core::clone::Clone for bitcoin_units::locktime::absolute::ParseHeightError +impl core::clone::Clone for bitcoin_units::locktime::absolute::ParseTimeError +impl core::clone::Clone for bitcoin_units::locktime::absolute::Time +impl core::clone::Clone for bitcoin_units::locktime::relative::Height +impl core::clone::Clone for bitcoin_units::locktime::relative::Time +impl core::clone::Clone for bitcoin_units::locktime::relative::TimeOverflowError +impl core::clone::Clone for bitcoin_units::parse::ParseIntError +impl core::clone::Clone for bitcoin_units::parse::PrefixedHexError +impl core::clone::Clone for bitcoin_units::parse::UnprefixedHexError +impl core::clone::Clone for bitcoin_units::weight::Weight +impl core::cmp::Eq for bitcoin_units::Amount +impl core::cmp::Eq for bitcoin_units::SignedAmount +impl core::cmp::Eq for bitcoin_units::amount::Denomination +impl core::cmp::Eq for bitcoin_units::amount::error::InputTooLargeError +impl core::cmp::Eq for bitcoin_units::amount::error::InvalidCharacterError +impl core::cmp::Eq for bitcoin_units::amount::error::MissingDenominationError +impl core::cmp::Eq for bitcoin_units::amount::error::MissingDigitsError +impl core::cmp::Eq for bitcoin_units::amount::error::OutOfRangeError +impl core::cmp::Eq for bitcoin_units::amount::error::ParseAmountError +impl core::cmp::Eq for bitcoin_units::amount::error::ParseDenominationError +impl core::cmp::Eq for bitcoin_units::amount::error::ParseError +impl core::cmp::Eq for bitcoin_units::amount::error::PossiblyConfusingDenominationError +impl core::cmp::Eq for bitcoin_units::amount::error::TooPreciseError +impl core::cmp::Eq for bitcoin_units::amount::error::UnknownDenominationError +impl core::cmp::Eq for bitcoin_units::block::BlockHeight +impl core::cmp::Eq for bitcoin_units::block::BlockInterval +impl core::cmp::Eq for bitcoin_units::block::TooBigForRelativeBlockHeightError +impl core::cmp::Eq for bitcoin_units::fee_rate::FeeRate +impl core::cmp::Eq for bitcoin_units::locktime::absolute::ConversionError +impl core::cmp::Eq for bitcoin_units::locktime::absolute::Height +impl core::cmp::Eq for bitcoin_units::locktime::absolute::ParseHeightError +impl core::cmp::Eq for bitcoin_units::locktime::absolute::ParseTimeError +impl core::cmp::Eq for bitcoin_units::locktime::absolute::Time +impl core::cmp::Eq for bitcoin_units::locktime::relative::Height +impl core::cmp::Eq for bitcoin_units::locktime::relative::Time +impl core::cmp::Eq for bitcoin_units::locktime::relative::TimeOverflowError +impl core::cmp::Eq for bitcoin_units::parse::ParseIntError +impl core::cmp::Eq for bitcoin_units::parse::PrefixedHexError +impl core::cmp::Eq for bitcoin_units::parse::UnprefixedHexError +impl core::cmp::Eq for bitcoin_units::weight::Weight +impl core::cmp::Ord for bitcoin_units::Amount +impl core::cmp::Ord for bitcoin_units::SignedAmount +impl core::cmp::Ord for bitcoin_units::block::BlockHeight +impl core::cmp::Ord for bitcoin_units::block::BlockInterval +impl core::cmp::Ord for bitcoin_units::fee_rate::FeeRate +impl core::cmp::Ord for bitcoin_units::locktime::absolute::Height +impl core::cmp::Ord for bitcoin_units::locktime::absolute::Time +impl core::cmp::Ord for bitcoin_units::locktime::relative::Height +impl core::cmp::Ord for bitcoin_units::locktime::relative::Time +impl core::cmp::Ord for bitcoin_units::weight::Weight +impl core::cmp::PartialEq for bitcoin_units::Amount +impl core::cmp::PartialEq for bitcoin_units::SignedAmount +impl core::cmp::PartialEq for bitcoin_units::amount::Denomination +impl core::cmp::PartialEq for bitcoin_units::amount::error::InputTooLargeError +impl core::cmp::PartialEq for bitcoin_units::amount::error::InvalidCharacterError +impl core::cmp::PartialEq for bitcoin_units::amount::error::MissingDenominationError +impl core::cmp::PartialEq for bitcoin_units::amount::error::MissingDigitsError +impl core::cmp::PartialEq for bitcoin_units::amount::error::OutOfRangeError +impl core::cmp::PartialEq for bitcoin_units::amount::error::ParseAmountError +impl core::cmp::PartialEq for bitcoin_units::amount::error::ParseDenominationError +impl core::cmp::PartialEq for bitcoin_units::amount::error::ParseError +impl core::cmp::PartialEq for bitcoin_units::amount::error::PossiblyConfusingDenominationError +impl core::cmp::PartialEq for bitcoin_units::amount::error::TooPreciseError +impl core::cmp::PartialEq for bitcoin_units::amount::error::UnknownDenominationError +impl core::cmp::PartialEq for bitcoin_units::block::BlockHeight +impl core::cmp::PartialEq for bitcoin_units::block::BlockInterval +impl core::cmp::PartialEq for bitcoin_units::block::TooBigForRelativeBlockHeightError +impl core::cmp::PartialEq for bitcoin_units::fee_rate::FeeRate +impl core::cmp::PartialEq for bitcoin_units::locktime::absolute::ConversionError +impl core::cmp::PartialEq for bitcoin_units::locktime::absolute::Height +impl core::cmp::PartialEq for bitcoin_units::locktime::absolute::ParseHeightError +impl core::cmp::PartialEq for bitcoin_units::locktime::absolute::ParseTimeError +impl core::cmp::PartialEq for bitcoin_units::locktime::absolute::Time +impl core::cmp::PartialEq for bitcoin_units::locktime::relative::Height +impl core::cmp::PartialEq for bitcoin_units::locktime::relative::Time +impl core::cmp::PartialEq for bitcoin_units::locktime::relative::TimeOverflowError +impl core::cmp::PartialEq for bitcoin_units::parse::ParseIntError +impl core::cmp::PartialEq for bitcoin_units::parse::PrefixedHexError +impl core::cmp::PartialEq for bitcoin_units::parse::UnprefixedHexError +impl core::cmp::PartialEq for bitcoin_units::weight::Weight +impl core::cmp::PartialOrd for bitcoin_units::Amount +impl core::cmp::PartialOrd for bitcoin_units::SignedAmount +impl core::cmp::PartialOrd for bitcoin_units::block::BlockHeight +impl core::cmp::PartialOrd for bitcoin_units::block::BlockInterval +impl core::cmp::PartialOrd for bitcoin_units::fee_rate::FeeRate +impl core::cmp::PartialOrd for bitcoin_units::locktime::absolute::Height +impl core::cmp::PartialOrd for bitcoin_units::locktime::absolute::Time +impl core::cmp::PartialOrd for bitcoin_units::locktime::relative::Height +impl core::cmp::PartialOrd for bitcoin_units::locktime::relative::Time +impl core::cmp::PartialOrd for bitcoin_units::weight::Weight +impl core::convert::AsRef for bitcoin_units::parse::ParseIntError +impl core::convert::From for bitcoin_units::amount::error::ParseAmountError +impl core::convert::From for bitcoin_units::amount::error::ParseError +impl core::convert::From for bitcoin_units::amount::error::ParseAmountError +impl core::convert::From for bitcoin_units::amount::error::ParseError +impl core::convert::From for bitcoin_units::amount::error::ParseAmountError +impl core::convert::From for bitcoin_units::amount::error::ParseError +impl core::convert::From for bitcoin_units::amount::error::ParseAmountError +impl core::convert::From for bitcoin_units::amount::error::ParseError +impl core::convert::From for bitcoin_units::amount::error::ParseError +impl core::convert::From for bitcoin_units::amount::error::ParseError +impl core::convert::From for bitcoin_units::amount::error::ParseAmountError +impl core::convert::From for bitcoin_units::amount::error::ParseError +impl core::convert::From for u32 +impl core::convert::From for u32 +impl core::convert::From for u64 +impl core::convert::From for bitcoin_units::block::BlockHeight +impl core::convert::From for bitcoin_units::block::BlockInterval +impl core::convert::From for bitcoin_units::parse::PrefixedHexError +impl core::convert::From for bitcoin_units::parse::UnprefixedHexError +impl core::convert::From for core::num::error::ParseIntError +impl core::convert::From for u64 +impl core::convert::From for bitcoin_units::amount::error::ParseAmountError +impl core::convert::From for bitcoin_units::amount::error::ParseDenominationError +impl core::convert::From for bitcoin_units::amount::error::ParseError +impl core::convert::From for bitcoin_units::parse::PrefixedHexError +impl core::convert::From for bitcoin_units::parse::UnprefixedHexError +impl core::convert::From for bitcoin_units::locktime::relative::Height +impl core::convert::From for bitcoin_units::block::BlockHeight +impl core::convert::From for bitcoin_units::block::BlockInterval +impl core::convert::TryFrom<&str> for bitcoin_units::block::BlockHeight +impl core::convert::TryFrom<&str> for bitcoin_units::block::BlockInterval +impl core::convert::TryFrom<&str> for bitcoin_units::fee_rate::FeeRate +impl core::convert::TryFrom<&str> for bitcoin_units::locktime::absolute::Height +impl core::convert::TryFrom<&str> for bitcoin_units::locktime::absolute::Time +impl core::convert::TryFrom<&str> for bitcoin_units::locktime::relative::Height +impl core::convert::TryFrom<&str> for bitcoin_units::locktime::relative::Time +impl core::convert::TryFrom<&str> for bitcoin_units::weight::Weight +impl core::convert::TryFrom> for bitcoin_units::block::BlockHeight +impl core::convert::TryFrom> for bitcoin_units::block::BlockInterval +impl core::convert::TryFrom> for bitcoin_units::fee_rate::FeeRate +impl core::convert::TryFrom> for bitcoin_units::locktime::absolute::Height +impl core::convert::TryFrom> for bitcoin_units::locktime::absolute::Time +impl core::convert::TryFrom> for bitcoin_units::locktime::relative::Height +impl core::convert::TryFrom> for bitcoin_units::locktime::relative::Time +impl core::convert::TryFrom> for bitcoin_units::weight::Weight +impl core::convert::TryFrom for bitcoin_units::block::BlockHeight +impl core::convert::TryFrom for bitcoin_units::block::BlockInterval +impl core::convert::TryFrom for bitcoin_units::fee_rate::FeeRate +impl core::convert::TryFrom for bitcoin_units::locktime::absolute::Height +impl core::convert::TryFrom for bitcoin_units::locktime::absolute::Time +impl core::convert::TryFrom for bitcoin_units::locktime::relative::Height +impl core::convert::TryFrom for bitcoin_units::locktime::relative::Time +impl core::convert::TryFrom for bitcoin_units::weight::Weight +impl core::convert::TryFrom for bitcoin_units::SignedAmount +impl core::convert::TryFrom for bitcoin_units::Amount +impl core::convert::TryFrom for bitcoin_units::locktime::absolute::Height +impl core::convert::TryFrom for bitcoin_units::locktime::relative::Height +impl core::default::Default for bitcoin_units::Amount +impl core::default::Default for bitcoin_units::SignedAmount +impl core::default::Default for bitcoin_units::locktime::relative::Height +impl core::default::Default for bitcoin_units::locktime::relative::Time +impl core::fmt::Debug for bitcoin_units::Amount +impl core::fmt::Debug for bitcoin_units::SignedAmount +impl core::fmt::Debug for bitcoin_units::amount::Denomination +impl core::fmt::Debug for bitcoin_units::amount::Display +impl core::fmt::Debug for bitcoin_units::amount::error::InputTooLargeError +impl core::fmt::Debug for bitcoin_units::amount::error::InvalidCharacterError +impl core::fmt::Debug for bitcoin_units::amount::error::MissingDenominationError +impl core::fmt::Debug for bitcoin_units::amount::error::MissingDigitsError +impl core::fmt::Debug for bitcoin_units::amount::error::OutOfRangeError +impl core::fmt::Debug for bitcoin_units::amount::error::ParseAmountError +impl core::fmt::Debug for bitcoin_units::amount::error::ParseDenominationError +impl core::fmt::Debug for bitcoin_units::amount::error::ParseError +impl core::fmt::Debug for bitcoin_units::amount::error::PossiblyConfusingDenominationError +impl core::fmt::Debug for bitcoin_units::amount::error::TooPreciseError +impl core::fmt::Debug for bitcoin_units::amount::error::UnknownDenominationError +impl core::fmt::Debug for bitcoin_units::block::BlockHeight +impl core::fmt::Debug for bitcoin_units::block::BlockInterval +impl core::fmt::Debug for bitcoin_units::block::TooBigForRelativeBlockHeightError +impl core::fmt::Debug for bitcoin_units::fee_rate::FeeRate +impl core::fmt::Debug for bitcoin_units::locktime::absolute::ConversionError +impl core::fmt::Debug for bitcoin_units::locktime::absolute::Height +impl core::fmt::Debug for bitcoin_units::locktime::absolute::ParseHeightError +impl core::fmt::Debug for bitcoin_units::locktime::absolute::ParseTimeError +impl core::fmt::Debug for bitcoin_units::locktime::absolute::Time +impl core::fmt::Debug for bitcoin_units::locktime::relative::Height +impl core::fmt::Debug for bitcoin_units::locktime::relative::Time +impl core::fmt::Debug for bitcoin_units::locktime::relative::TimeOverflowError +impl core::fmt::Debug for bitcoin_units::parse::ParseIntError +impl core::fmt::Debug for bitcoin_units::parse::PrefixedHexError +impl core::fmt::Debug for bitcoin_units::parse::UnprefixedHexError +impl core::fmt::Debug for bitcoin_units::weight::Weight +impl core::fmt::Display for bitcoin_units::Amount +impl core::fmt::Display for bitcoin_units::SignedAmount +impl core::fmt::Display for bitcoin_units::amount::Denomination +impl core::fmt::Display for bitcoin_units::amount::Display +impl core::fmt::Display for bitcoin_units::amount::error::InputTooLargeError +impl core::fmt::Display for bitcoin_units::amount::error::InvalidCharacterError +impl core::fmt::Display for bitcoin_units::amount::error::MissingDigitsError +impl core::fmt::Display for bitcoin_units::amount::error::OutOfRangeError +impl core::fmt::Display for bitcoin_units::amount::error::ParseAmountError +impl core::fmt::Display for bitcoin_units::amount::error::ParseDenominationError +impl core::fmt::Display for bitcoin_units::amount::error::ParseError +impl core::fmt::Display for bitcoin_units::amount::error::PossiblyConfusingDenominationError +impl core::fmt::Display for bitcoin_units::amount::error::TooPreciseError +impl core::fmt::Display for bitcoin_units::amount::error::UnknownDenominationError +impl core::fmt::Display for bitcoin_units::block::BlockHeight +impl core::fmt::Display for bitcoin_units::block::BlockInterval +impl core::fmt::Display for bitcoin_units::block::TooBigForRelativeBlockHeightError +impl core::fmt::Display for bitcoin_units::fee_rate::FeeRate +impl core::fmt::Display for bitcoin_units::locktime::absolute::ConversionError +impl core::fmt::Display for bitcoin_units::locktime::absolute::Height +impl core::fmt::Display for bitcoin_units::locktime::absolute::ParseHeightError +impl core::fmt::Display for bitcoin_units::locktime::absolute::ParseTimeError +impl core::fmt::Display for bitcoin_units::locktime::absolute::Time +impl core::fmt::Display for bitcoin_units::locktime::relative::Height +impl core::fmt::Display for bitcoin_units::locktime::relative::Time +impl core::fmt::Display for bitcoin_units::locktime::relative::TimeOverflowError +impl core::fmt::Display for bitcoin_units::parse::ParseIntError +impl core::fmt::Display for bitcoin_units::parse::PrefixedHexError +impl core::fmt::Display for bitcoin_units::parse::UnprefixedHexError +impl core::fmt::Display for bitcoin_units::weight::Weight +impl core::hash::Hash for bitcoin_units::Amount +impl core::hash::Hash for bitcoin_units::SignedAmount +impl core::hash::Hash for bitcoin_units::amount::Denomination +impl core::hash::Hash for bitcoin_units::block::BlockHeight +impl core::hash::Hash for bitcoin_units::block::BlockInterval +impl core::hash::Hash for bitcoin_units::fee_rate::FeeRate +impl core::hash::Hash for bitcoin_units::locktime::absolute::Height +impl core::hash::Hash for bitcoin_units::locktime::absolute::Time +impl core::hash::Hash for bitcoin_units::locktime::relative::Height +impl core::hash::Hash for bitcoin_units::locktime::relative::Time +impl core::hash::Hash for bitcoin_units::weight::Weight +impl core::iter::traits::accum::Sum for bitcoin_units::Amount +impl core::iter::traits::accum::Sum for bitcoin_units::SignedAmount +impl core::iter::traits::accum::Sum for bitcoin_units::block::BlockInterval +impl core::iter::traits::accum::Sum for bitcoin_units::fee_rate::FeeRate +impl core::iter::traits::accum::Sum for bitcoin_units::weight::Weight +impl core::marker::Copy for bitcoin_units::Amount +impl core::marker::Copy for bitcoin_units::SignedAmount +impl core::marker::Copy for bitcoin_units::amount::Denomination +impl core::marker::Copy for bitcoin_units::amount::error::OutOfRangeError +impl core::marker::Copy for bitcoin_units::block::BlockHeight +impl core::marker::Copy for bitcoin_units::block::BlockInterval +impl core::marker::Copy for bitcoin_units::fee_rate::FeeRate +impl core::marker::Copy for bitcoin_units::locktime::absolute::Height +impl core::marker::Copy for bitcoin_units::locktime::absolute::Time +impl core::marker::Copy for bitcoin_units::locktime::relative::Height +impl core::marker::Copy for bitcoin_units::locktime::relative::Time +impl core::marker::Copy for bitcoin_units::weight::Weight +impl core::marker::Freeze for bitcoin_units::Amount +impl core::marker::Freeze for bitcoin_units::SignedAmount +impl core::marker::Freeze for bitcoin_units::amount::Denomination +impl core::marker::Freeze for bitcoin_units::amount::Display +impl core::marker::Freeze for bitcoin_units::amount::error::InputTooLargeError +impl core::marker::Freeze for bitcoin_units::amount::error::InvalidCharacterError +impl core::marker::Freeze for bitcoin_units::amount::error::MissingDenominationError +impl core::marker::Freeze for bitcoin_units::amount::error::MissingDigitsError +impl core::marker::Freeze for bitcoin_units::amount::error::OutOfRangeError +impl core::marker::Freeze for bitcoin_units::amount::error::ParseAmountError +impl core::marker::Freeze for bitcoin_units::amount::error::ParseDenominationError +impl core::marker::Freeze for bitcoin_units::amount::error::ParseError +impl core::marker::Freeze for bitcoin_units::amount::error::PossiblyConfusingDenominationError +impl core::marker::Freeze for bitcoin_units::amount::error::TooPreciseError +impl core::marker::Freeze for bitcoin_units::amount::error::UnknownDenominationError +impl core::marker::Freeze for bitcoin_units::block::BlockHeight +impl core::marker::Freeze for bitcoin_units::block::BlockInterval +impl core::marker::Freeze for bitcoin_units::block::TooBigForRelativeBlockHeightError +impl core::marker::Freeze for bitcoin_units::fee_rate::FeeRate +impl core::marker::Freeze for bitcoin_units::locktime::absolute::ConversionError +impl core::marker::Freeze for bitcoin_units::locktime::absolute::Height +impl core::marker::Freeze for bitcoin_units::locktime::absolute::ParseHeightError +impl core::marker::Freeze for bitcoin_units::locktime::absolute::ParseTimeError +impl core::marker::Freeze for bitcoin_units::locktime::absolute::Time +impl core::marker::Freeze for bitcoin_units::locktime::relative::Height +impl core::marker::Freeze for bitcoin_units::locktime::relative::Time +impl core::marker::Freeze for bitcoin_units::locktime::relative::TimeOverflowError +impl core::marker::Freeze for bitcoin_units::parse::ParseIntError +impl core::marker::Freeze for bitcoin_units::parse::PrefixedHexError +impl core::marker::Freeze for bitcoin_units::parse::UnprefixedHexError +impl core::marker::Freeze for bitcoin_units::weight::Weight +impl core::marker::Send for bitcoin_units::Amount +impl core::marker::Send for bitcoin_units::SignedAmount +impl core::marker::Send for bitcoin_units::amount::Denomination +impl core::marker::Send for bitcoin_units::amount::Display +impl core::marker::Send for bitcoin_units::amount::error::InputTooLargeError +impl core::marker::Send for bitcoin_units::amount::error::InvalidCharacterError +impl core::marker::Send for bitcoin_units::amount::error::MissingDenominationError +impl core::marker::Send for bitcoin_units::amount::error::MissingDigitsError +impl core::marker::Send for bitcoin_units::amount::error::OutOfRangeError +impl core::marker::Send for bitcoin_units::amount::error::ParseAmountError +impl core::marker::Send for bitcoin_units::amount::error::ParseDenominationError +impl core::marker::Send for bitcoin_units::amount::error::ParseError +impl core::marker::Send for bitcoin_units::amount::error::PossiblyConfusingDenominationError +impl core::marker::Send for bitcoin_units::amount::error::TooPreciseError +impl core::marker::Send for bitcoin_units::amount::error::UnknownDenominationError +impl core::marker::Send for bitcoin_units::block::BlockHeight +impl core::marker::Send for bitcoin_units::block::BlockInterval +impl core::marker::Send for bitcoin_units::block::TooBigForRelativeBlockHeightError +impl core::marker::Send for bitcoin_units::fee_rate::FeeRate +impl core::marker::Send for bitcoin_units::locktime::absolute::ConversionError +impl core::marker::Send for bitcoin_units::locktime::absolute::Height +impl core::marker::Send for bitcoin_units::locktime::absolute::ParseHeightError +impl core::marker::Send for bitcoin_units::locktime::absolute::ParseTimeError +impl core::marker::Send for bitcoin_units::locktime::absolute::Time +impl core::marker::Send for bitcoin_units::locktime::relative::Height +impl core::marker::Send for bitcoin_units::locktime::relative::Time +impl core::marker::Send for bitcoin_units::locktime::relative::TimeOverflowError +impl core::marker::Send for bitcoin_units::parse::ParseIntError +impl core::marker::Send for bitcoin_units::parse::PrefixedHexError +impl core::marker::Send for bitcoin_units::parse::UnprefixedHexError +impl core::marker::Send for bitcoin_units::weight::Weight +impl core::marker::StructuralPartialEq for bitcoin_units::Amount +impl core::marker::StructuralPartialEq for bitcoin_units::SignedAmount +impl core::marker::StructuralPartialEq for bitcoin_units::amount::Denomination +impl core::marker::StructuralPartialEq for bitcoin_units::amount::error::InputTooLargeError +impl core::marker::StructuralPartialEq for bitcoin_units::amount::error::InvalidCharacterError +impl core::marker::StructuralPartialEq for bitcoin_units::amount::error::MissingDenominationError +impl core::marker::StructuralPartialEq for bitcoin_units::amount::error::MissingDigitsError +impl core::marker::StructuralPartialEq for bitcoin_units::amount::error::OutOfRangeError +impl core::marker::StructuralPartialEq for bitcoin_units::amount::error::ParseAmountError +impl core::marker::StructuralPartialEq for bitcoin_units::amount::error::ParseDenominationError +impl core::marker::StructuralPartialEq for bitcoin_units::amount::error::ParseError +impl core::marker::StructuralPartialEq for bitcoin_units::amount::error::PossiblyConfusingDenominationError +impl core::marker::StructuralPartialEq for bitcoin_units::amount::error::TooPreciseError +impl core::marker::StructuralPartialEq for bitcoin_units::amount::error::UnknownDenominationError +impl core::marker::StructuralPartialEq for bitcoin_units::block::BlockHeight +impl core::marker::StructuralPartialEq for bitcoin_units::block::BlockInterval +impl core::marker::StructuralPartialEq for bitcoin_units::block::TooBigForRelativeBlockHeightError +impl core::marker::StructuralPartialEq for bitcoin_units::fee_rate::FeeRate +impl core::marker::StructuralPartialEq for bitcoin_units::locktime::absolute::ConversionError +impl core::marker::StructuralPartialEq for bitcoin_units::locktime::absolute::Height +impl core::marker::StructuralPartialEq for bitcoin_units::locktime::absolute::ParseHeightError +impl core::marker::StructuralPartialEq for bitcoin_units::locktime::absolute::ParseTimeError +impl core::marker::StructuralPartialEq for bitcoin_units::locktime::absolute::Time +impl core::marker::StructuralPartialEq for bitcoin_units::locktime::relative::Height +impl core::marker::StructuralPartialEq for bitcoin_units::locktime::relative::Time +impl core::marker::StructuralPartialEq for bitcoin_units::locktime::relative::TimeOverflowError +impl core::marker::StructuralPartialEq for bitcoin_units::parse::ParseIntError +impl core::marker::StructuralPartialEq for bitcoin_units::parse::PrefixedHexError +impl core::marker::StructuralPartialEq for bitcoin_units::parse::UnprefixedHexError +impl core::marker::StructuralPartialEq for bitcoin_units::weight::Weight +impl core::marker::Sync for bitcoin_units::Amount +impl core::marker::Sync for bitcoin_units::SignedAmount +impl core::marker::Sync for bitcoin_units::amount::Denomination +impl core::marker::Sync for bitcoin_units::amount::Display +impl core::marker::Sync for bitcoin_units::amount::error::InputTooLargeError +impl core::marker::Sync for bitcoin_units::amount::error::InvalidCharacterError +impl core::marker::Sync for bitcoin_units::amount::error::MissingDenominationError +impl core::marker::Sync for bitcoin_units::amount::error::MissingDigitsError +impl core::marker::Sync for bitcoin_units::amount::error::OutOfRangeError +impl core::marker::Sync for bitcoin_units::amount::error::ParseAmountError +impl core::marker::Sync for bitcoin_units::amount::error::ParseDenominationError +impl core::marker::Sync for bitcoin_units::amount::error::ParseError +impl core::marker::Sync for bitcoin_units::amount::error::PossiblyConfusingDenominationError +impl core::marker::Sync for bitcoin_units::amount::error::TooPreciseError +impl core::marker::Sync for bitcoin_units::amount::error::UnknownDenominationError +impl core::marker::Sync for bitcoin_units::block::BlockHeight +impl core::marker::Sync for bitcoin_units::block::BlockInterval +impl core::marker::Sync for bitcoin_units::block::TooBigForRelativeBlockHeightError +impl core::marker::Sync for bitcoin_units::fee_rate::FeeRate +impl core::marker::Sync for bitcoin_units::locktime::absolute::ConversionError +impl core::marker::Sync for bitcoin_units::locktime::absolute::Height +impl core::marker::Sync for bitcoin_units::locktime::absolute::ParseHeightError +impl core::marker::Sync for bitcoin_units::locktime::absolute::ParseTimeError +impl core::marker::Sync for bitcoin_units::locktime::absolute::Time +impl core::marker::Sync for bitcoin_units::locktime::relative::Height +impl core::marker::Sync for bitcoin_units::locktime::relative::Time +impl core::marker::Sync for bitcoin_units::locktime::relative::TimeOverflowError +impl core::marker::Sync for bitcoin_units::parse::ParseIntError +impl core::marker::Sync for bitcoin_units::parse::PrefixedHexError +impl core::marker::Sync for bitcoin_units::parse::UnprefixedHexError +impl core::marker::Sync for bitcoin_units::weight::Weight +impl core::marker::Unpin for bitcoin_units::Amount +impl core::marker::Unpin for bitcoin_units::SignedAmount +impl core::marker::Unpin for bitcoin_units::amount::Denomination +impl core::marker::Unpin for bitcoin_units::amount::Display +impl core::marker::Unpin for bitcoin_units::amount::error::InputTooLargeError +impl core::marker::Unpin for bitcoin_units::amount::error::InvalidCharacterError +impl core::marker::Unpin for bitcoin_units::amount::error::MissingDenominationError +impl core::marker::Unpin for bitcoin_units::amount::error::MissingDigitsError +impl core::marker::Unpin for bitcoin_units::amount::error::OutOfRangeError +impl core::marker::Unpin for bitcoin_units::amount::error::ParseAmountError +impl core::marker::Unpin for bitcoin_units::amount::error::ParseDenominationError +impl core::marker::Unpin for bitcoin_units::amount::error::ParseError +impl core::marker::Unpin for bitcoin_units::amount::error::PossiblyConfusingDenominationError +impl core::marker::Unpin for bitcoin_units::amount::error::TooPreciseError +impl core::marker::Unpin for bitcoin_units::amount::error::UnknownDenominationError +impl core::marker::Unpin for bitcoin_units::block::BlockHeight +impl core::marker::Unpin for bitcoin_units::block::BlockInterval +impl core::marker::Unpin for bitcoin_units::block::TooBigForRelativeBlockHeightError +impl core::marker::Unpin for bitcoin_units::fee_rate::FeeRate +impl core::marker::Unpin for bitcoin_units::locktime::absolute::ConversionError +impl core::marker::Unpin for bitcoin_units::locktime::absolute::Height +impl core::marker::Unpin for bitcoin_units::locktime::absolute::ParseHeightError +impl core::marker::Unpin for bitcoin_units::locktime::absolute::ParseTimeError +impl core::marker::Unpin for bitcoin_units::locktime::absolute::Time +impl core::marker::Unpin for bitcoin_units::locktime::relative::Height +impl core::marker::Unpin for bitcoin_units::locktime::relative::Time +impl core::marker::Unpin for bitcoin_units::locktime::relative::TimeOverflowError +impl core::marker::Unpin for bitcoin_units::parse::ParseIntError +impl core::marker::Unpin for bitcoin_units::parse::PrefixedHexError +impl core::marker::Unpin for bitcoin_units::parse::UnprefixedHexError +impl core::marker::Unpin for bitcoin_units::weight::Weight +impl core::ops::arith::Add for bitcoin_units::Amount +impl core::ops::arith::Add for bitcoin_units::SignedAmount +impl core::ops::arith::Add for bitcoin_units::block::BlockInterval +impl core::ops::arith::Add for bitcoin_units::fee_rate::FeeRate +impl core::ops::arith::Add for bitcoin_units::weight::Weight +impl core::ops::arith::Add<&bitcoin_units::fee_rate::FeeRate> for bitcoin_units::fee_rate::FeeRate +impl core::ops::arith::Add for bitcoin_units::block::BlockHeight +impl core::ops::arith::Add for &bitcoin_units::fee_rate::FeeRate +impl core::ops::arith::AddAssign for bitcoin_units::Amount +impl core::ops::arith::AddAssign for bitcoin_units::SignedAmount +impl core::ops::arith::AddAssign for bitcoin_units::block::BlockInterval +impl core::ops::arith::AddAssign for bitcoin_units::fee_rate::FeeRate +impl core::ops::arith::AddAssign for bitcoin_units::weight::Weight +impl core::ops::arith::AddAssign<&bitcoin_units::fee_rate::FeeRate> for bitcoin_units::fee_rate::FeeRate +impl core::ops::arith::Div for bitcoin_units::weight::Weight +impl core::ops::arith::Div for bitcoin_units::Amount +impl core::ops::arith::Div for bitcoin_units::SignedAmount +impl core::ops::arith::Div for bitcoin_units::Amount +impl core::ops::arith::Div for bitcoin_units::weight::Weight +impl core::ops::arith::DivAssign for bitcoin_units::SignedAmount +impl core::ops::arith::DivAssign for bitcoin_units::Amount +impl core::ops::arith::DivAssign for bitcoin_units::weight::Weight +impl core::ops::arith::Mul for bitcoin_units::weight::Weight +impl core::ops::arith::Mul for bitcoin_units::fee_rate::FeeRate +impl core::ops::arith::Mul for u64 +impl core::ops::arith::Mul for bitcoin_units::SignedAmount +impl core::ops::arith::Mul for bitcoin_units::Amount +impl core::ops::arith::Mul for bitcoin_units::weight::Weight +impl core::ops::arith::MulAssign for bitcoin_units::SignedAmount +impl core::ops::arith::MulAssign for bitcoin_units::Amount +impl core::ops::arith::MulAssign for bitcoin_units::weight::Weight +impl core::ops::arith::Neg for bitcoin_units::SignedAmount +impl core::ops::arith::Rem for bitcoin_units::SignedAmount +impl core::ops::arith::Rem for bitcoin_units::Amount +impl core::ops::arith::RemAssign for bitcoin_units::SignedAmount +impl core::ops::arith::RemAssign for bitcoin_units::Amount +impl core::ops::arith::Sub for bitcoin_units::Amount +impl core::ops::arith::Sub for bitcoin_units::SignedAmount +impl core::ops::arith::Sub for bitcoin_units::block::BlockHeight +impl core::ops::arith::Sub for bitcoin_units::block::BlockInterval +impl core::ops::arith::Sub for bitcoin_units::fee_rate::FeeRate +impl core::ops::arith::Sub for bitcoin_units::weight::Weight +impl core::ops::arith::Sub<&bitcoin_units::fee_rate::FeeRate> for bitcoin_units::fee_rate::FeeRate +impl core::ops::arith::Sub for bitcoin_units::block::BlockHeight +impl core::ops::arith::Sub for &bitcoin_units::fee_rate::FeeRate +impl core::ops::arith::SubAssign for bitcoin_units::Amount +impl core::ops::arith::SubAssign for bitcoin_units::SignedAmount +impl core::ops::arith::SubAssign for bitcoin_units::block::BlockInterval +impl core::ops::arith::SubAssign for bitcoin_units::fee_rate::FeeRate +impl core::ops::arith::SubAssign for bitcoin_units::weight::Weight +impl core::ops::arith::SubAssign<&bitcoin_units::fee_rate::FeeRate> for bitcoin_units::fee_rate::FeeRate +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_units::Amount +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_units::SignedAmount +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_units::amount::Denomination +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_units::amount::Display +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_units::amount::error::InputTooLargeError +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_units::amount::error::InvalidCharacterError +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_units::amount::error::MissingDenominationError +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_units::amount::error::MissingDigitsError +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_units::amount::error::OutOfRangeError +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_units::amount::error::ParseAmountError +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_units::amount::error::ParseDenominationError +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_units::amount::error::ParseError +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_units::amount::error::PossiblyConfusingDenominationError +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_units::amount::error::TooPreciseError +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_units::amount::error::UnknownDenominationError +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_units::block::BlockHeight +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_units::block::BlockInterval +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_units::block::TooBigForRelativeBlockHeightError +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_units::fee_rate::FeeRate +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_units::locktime::absolute::ConversionError +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_units::locktime::absolute::Height +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_units::locktime::absolute::ParseHeightError +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_units::locktime::absolute::ParseTimeError +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_units::locktime::absolute::Time +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_units::locktime::relative::Height +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_units::locktime::relative::Time +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_units::locktime::relative::TimeOverflowError +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_units::parse::ParseIntError +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_units::parse::PrefixedHexError +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_units::parse::UnprefixedHexError +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_units::weight::Weight +impl core::panic::unwind_safe::UnwindSafe for bitcoin_units::Amount +impl core::panic::unwind_safe::UnwindSafe for bitcoin_units::SignedAmount +impl core::panic::unwind_safe::UnwindSafe for bitcoin_units::amount::Denomination +impl core::panic::unwind_safe::UnwindSafe for bitcoin_units::amount::Display +impl core::panic::unwind_safe::UnwindSafe for bitcoin_units::amount::error::InputTooLargeError +impl core::panic::unwind_safe::UnwindSafe for bitcoin_units::amount::error::InvalidCharacterError +impl core::panic::unwind_safe::UnwindSafe for bitcoin_units::amount::error::MissingDenominationError +impl core::panic::unwind_safe::UnwindSafe for bitcoin_units::amount::error::MissingDigitsError +impl core::panic::unwind_safe::UnwindSafe for bitcoin_units::amount::error::OutOfRangeError +impl core::panic::unwind_safe::UnwindSafe for bitcoin_units::amount::error::ParseAmountError +impl core::panic::unwind_safe::UnwindSafe for bitcoin_units::amount::error::ParseDenominationError +impl core::panic::unwind_safe::UnwindSafe for bitcoin_units::amount::error::ParseError +impl core::panic::unwind_safe::UnwindSafe for bitcoin_units::amount::error::PossiblyConfusingDenominationError +impl core::panic::unwind_safe::UnwindSafe for bitcoin_units::amount::error::TooPreciseError +impl core::panic::unwind_safe::UnwindSafe for bitcoin_units::amount::error::UnknownDenominationError +impl core::panic::unwind_safe::UnwindSafe for bitcoin_units::block::BlockHeight +impl core::panic::unwind_safe::UnwindSafe for bitcoin_units::block::BlockInterval +impl core::panic::unwind_safe::UnwindSafe for bitcoin_units::block::TooBigForRelativeBlockHeightError +impl core::panic::unwind_safe::UnwindSafe for bitcoin_units::fee_rate::FeeRate +impl core::panic::unwind_safe::UnwindSafe for bitcoin_units::locktime::absolute::ConversionError +impl core::panic::unwind_safe::UnwindSafe for bitcoin_units::locktime::absolute::Height +impl core::panic::unwind_safe::UnwindSafe for bitcoin_units::locktime::absolute::ParseHeightError +impl core::panic::unwind_safe::UnwindSafe for bitcoin_units::locktime::absolute::ParseTimeError +impl core::panic::unwind_safe::UnwindSafe for bitcoin_units::locktime::absolute::Time +impl core::panic::unwind_safe::UnwindSafe for bitcoin_units::locktime::relative::Height +impl core::panic::unwind_safe::UnwindSafe for bitcoin_units::locktime::relative::Time +impl core::panic::unwind_safe::UnwindSafe for bitcoin_units::locktime::relative::TimeOverflowError +impl core::panic::unwind_safe::UnwindSafe for bitcoin_units::parse::ParseIntError +impl core::panic::unwind_safe::UnwindSafe for bitcoin_units::parse::PrefixedHexError +impl core::panic::unwind_safe::UnwindSafe for bitcoin_units::parse::UnprefixedHexError +impl core::panic::unwind_safe::UnwindSafe for bitcoin_units::weight::Weight +impl core::str::traits::FromStr for bitcoin_units::Amount +impl core::str::traits::FromStr for bitcoin_units::SignedAmount +impl core::str::traits::FromStr for bitcoin_units::amount::Denomination +impl core::str::traits::FromStr for bitcoin_units::block::BlockHeight +impl core::str::traits::FromStr for bitcoin_units::block::BlockInterval +impl core::str::traits::FromStr for bitcoin_units::fee_rate::FeeRate +impl core::str::traits::FromStr for bitcoin_units::locktime::absolute::Height +impl core::str::traits::FromStr for bitcoin_units::locktime::absolute::Time +impl core::str::traits::FromStr for bitcoin_units::locktime::relative::Height +impl core::str::traits::FromStr for bitcoin_units::locktime::relative::Time +impl core::str::traits::FromStr for bitcoin_units::weight::Weight +impl<'a> core::iter::traits::accum::Sum<&'a bitcoin_units::Amount> for bitcoin_units::Amount +impl<'a> core::iter::traits::accum::Sum<&'a bitcoin_units::SignedAmount> for bitcoin_units::SignedAmount +impl<'a> core::iter::traits::accum::Sum<&'a bitcoin_units::block::BlockInterval> for bitcoin_units::block::BlockInterval +impl<'a> core::iter::traits::accum::Sum<&'a bitcoin_units::fee_rate::FeeRate> for bitcoin_units::fee_rate::FeeRate +impl<'a> core::iter::traits::accum::Sum<&'a bitcoin_units::weight::Weight> for bitcoin_units::weight::Weight +impl<'a> core::ops::arith::Add<&'a bitcoin_units::fee_rate::FeeRate> for &bitcoin_units::fee_rate::FeeRate +impl<'a> core::ops::arith::Sub<&'a bitcoin_units::fee_rate::FeeRate> for &bitcoin_units::fee_rate::FeeRate +impl bitcoin_units::amount::CheckedSum for T where T: core::iter::traits::iterator::Iterator +impl bitcoin_units::amount::CheckedSum for T where T: core::iter::traits::iterator::Iterator +pub bitcoin_units::amount::Denomination::Bit +pub bitcoin_units::amount::Denomination::Bitcoin +pub bitcoin_units::amount::Denomination::CentiBitcoin +pub bitcoin_units::amount::Denomination::MicroBitcoin +pub bitcoin_units::amount::Denomination::MilliBitcoin +pub bitcoin_units::amount::Denomination::Satoshi +pub bitcoin_units::amount::ParseDenominationError::PossiblyConfusing(bitcoin_units::amount::error::PossiblyConfusingDenominationError) +pub bitcoin_units::amount::ParseDenominationError::Unknown(bitcoin_units::amount::error::UnknownDenominationError) +pub bitcoin_units::amount::error::ParseDenominationError::PossiblyConfusing(bitcoin_units::amount::error::PossiblyConfusingDenominationError) +pub bitcoin_units::amount::error::ParseDenominationError::Unknown(bitcoin_units::amount::error::UnknownDenominationError) +pub const bitcoin_units::Amount::MAX: bitcoin_units::Amount +pub const bitcoin_units::Amount::MAX_MONEY: bitcoin_units::Amount +pub const bitcoin_units::Amount::MIN: bitcoin_units::Amount +pub const bitcoin_units::Amount::ONE_BTC: bitcoin_units::Amount +pub const bitcoin_units::Amount::ONE_SAT: bitcoin_units::Amount +pub const bitcoin_units::Amount::SIZE: usize +pub const bitcoin_units::Amount::ZERO: bitcoin_units::Amount +pub const bitcoin_units::SignedAmount::MAX: bitcoin_units::SignedAmount +pub const bitcoin_units::SignedAmount::MAX_MONEY: bitcoin_units::SignedAmount +pub const bitcoin_units::SignedAmount::MIN: bitcoin_units::SignedAmount +pub const bitcoin_units::SignedAmount::ONE_BTC: bitcoin_units::SignedAmount +pub const bitcoin_units::SignedAmount::ONE_SAT: bitcoin_units::SignedAmount +pub const bitcoin_units::SignedAmount::ZERO: bitcoin_units::SignedAmount +pub const bitcoin_units::amount::Denomination::BTC: Self +pub const bitcoin_units::amount::Denomination::SAT: Self +pub const bitcoin_units::block::BlockHeight::MAX: Self +pub const bitcoin_units::block::BlockHeight::MIN: Self +pub const bitcoin_units::block::BlockHeight::ZERO: Self +pub const bitcoin_units::block::BlockInterval::MAX: Self +pub const bitcoin_units::block::BlockInterval::MIN: Self +pub const bitcoin_units::block::BlockInterval::ZERO: Self +pub const bitcoin_units::fee_rate::FeeRate::BROADCAST_MIN: bitcoin_units::fee_rate::FeeRate +pub const bitcoin_units::fee_rate::FeeRate::DUST: bitcoin_units::fee_rate::FeeRate +pub const bitcoin_units::fee_rate::FeeRate::MAX: bitcoin_units::fee_rate::FeeRate +pub const bitcoin_units::fee_rate::FeeRate::MIN: bitcoin_units::fee_rate::FeeRate +pub const bitcoin_units::fee_rate::FeeRate::ZERO: bitcoin_units::fee_rate::FeeRate +pub const bitcoin_units::locktime::absolute::Height::MAX: Self +pub const bitcoin_units::locktime::absolute::Height::MIN: Self +pub const bitcoin_units::locktime::absolute::Height::ZERO: Self +pub const bitcoin_units::locktime::absolute::LOCK_TIME_THRESHOLD: u32 +pub const bitcoin_units::locktime::absolute::Time::MAX: Self +pub const bitcoin_units::locktime::absolute::Time::MIN: Self +pub const bitcoin_units::locktime::relative::Height::MAX: Self +pub const bitcoin_units::locktime::relative::Height::MIN: Self +pub const bitcoin_units::locktime::relative::Height::ZERO: Self +pub const bitcoin_units::locktime::relative::Time::MAX: Self +pub const bitcoin_units::locktime::relative::Time::MIN: Self +pub const bitcoin_units::locktime::relative::Time::ZERO: Self +pub const bitcoin_units::weight::WITNESS_SCALE_FACTOR: usize +pub const bitcoin_units::weight::Weight::MAX: bitcoin_units::weight::Weight +pub const bitcoin_units::weight::Weight::MAX_BLOCK: bitcoin_units::weight::Weight +pub const bitcoin_units::weight::Weight::MIN: bitcoin_units::weight::Weight +pub const bitcoin_units::weight::Weight::MIN_TRANSACTION: bitcoin_units::weight::Weight +pub const bitcoin_units::weight::Weight::WITNESS_SCALE_FACTOR: u64 +pub const bitcoin_units::weight::Weight::ZERO: bitcoin_units::weight::Weight +pub const fn bitcoin_units::Amount::checked_add(self, rhs: bitcoin_units::Amount) -> core::option::Option +pub const fn bitcoin_units::Amount::checked_div(self, rhs: u64) -> core::option::Option +pub const fn bitcoin_units::Amount::checked_div_by_weight_ceil(self, rhs: bitcoin_units::weight::Weight) -> core::option::Option +pub const fn bitcoin_units::Amount::checked_div_by_weight_floor(self, rhs: bitcoin_units::weight::Weight) -> core::option::Option +pub const fn bitcoin_units::Amount::checked_mul(self, rhs: u64) -> core::option::Option +pub const fn bitcoin_units::Amount::checked_rem(self, rhs: u64) -> core::option::Option +pub const fn bitcoin_units::Amount::checked_sub(self, rhs: bitcoin_units::Amount) -> core::option::Option +pub const fn bitcoin_units::Amount::from_int_btc_const(btc: u64) -> bitcoin_units::Amount +pub const fn bitcoin_units::Amount::from_sat(satoshi: u64) -> bitcoin_units::Amount +pub const fn bitcoin_units::Amount::to_sat(self) -> u64 +pub const fn bitcoin_units::SignedAmount::checked_abs(self) -> core::option::Option +pub const fn bitcoin_units::SignedAmount::checked_add(self, rhs: bitcoin_units::SignedAmount) -> core::option::Option +pub const fn bitcoin_units::SignedAmount::checked_div(self, rhs: i64) -> core::option::Option +pub const fn bitcoin_units::SignedAmount::checked_mul(self, rhs: i64) -> core::option::Option +pub const fn bitcoin_units::SignedAmount::checked_rem(self, rhs: i64) -> core::option::Option +pub const fn bitcoin_units::SignedAmount::checked_sub(self, rhs: bitcoin_units::SignedAmount) -> core::option::Option +pub const fn bitcoin_units::SignedAmount::from_int_btc_const(btc: i64) -> bitcoin_units::SignedAmount +pub const fn bitcoin_units::SignedAmount::from_sat(satoshi: i64) -> bitcoin_units::SignedAmount +pub const fn bitcoin_units::SignedAmount::to_sat(self) -> i64 +pub const fn bitcoin_units::block::BlockHeight::from_u32(inner: u32) -> Self +pub const fn bitcoin_units::block::BlockHeight::to_u32(&self) -> u32 +pub const fn bitcoin_units::block::BlockInterval::from_u32(inner: u32) -> Self +pub const fn bitcoin_units::block::BlockInterval::to_u32(&self) -> u32 +pub const fn bitcoin_units::fee_rate::FeeRate::checked_add(self, rhs: u64) -> core::option::Option +pub const fn bitcoin_units::fee_rate::FeeRate::checked_div(self, rhs: u64) -> core::option::Option +pub const fn bitcoin_units::fee_rate::FeeRate::checked_mul(self, rhs: u64) -> core::option::Option +pub const fn bitcoin_units::fee_rate::FeeRate::checked_mul_by_weight(self, rhs: bitcoin_units::weight::Weight) -> core::option::Option +pub const fn bitcoin_units::fee_rate::FeeRate::checked_sub(self, rhs: u64) -> core::option::Option +pub const fn bitcoin_units::fee_rate::FeeRate::from_sat_per_kvb(sat_kvb: u64) -> Self +pub const fn bitcoin_units::fee_rate::FeeRate::from_sat_per_kwu(sat_kwu: u64) -> Self +pub const fn bitcoin_units::fee_rate::FeeRate::from_sat_per_vb_unchecked(sat_vb: u64) -> Self +pub const fn bitcoin_units::fee_rate::FeeRate::to_sat_per_kwu(self) -> u64 +pub const fn bitcoin_units::fee_rate::FeeRate::to_sat_per_vb_ceil(self) -> u64 +pub const fn bitcoin_units::fee_rate::FeeRate::to_sat_per_vb_floor(self) -> u64 +pub const fn bitcoin_units::locktime::absolute::Height::from_consensus(n: u32) -> core::result::Result +pub const fn bitcoin_units::locktime::absolute::Height::to_consensus_u32(self) -> u32 +pub const fn bitcoin_units::locktime::absolute::Time::from_consensus(n: u32) -> core::result::Result +pub const fn bitcoin_units::locktime::absolute::Time::to_consensus_u32(self) -> u32 +pub const fn bitcoin_units::locktime::absolute::is_block_height(n: u32) -> bool +pub const fn bitcoin_units::locktime::absolute::is_block_time(n: u32) -> bool +pub const fn bitcoin_units::locktime::relative::Height::from_height(blocks: u16) -> Self +pub const fn bitcoin_units::locktime::relative::Height::to_consensus_u32(&self) -> u32 +pub const fn bitcoin_units::locktime::relative::Height::value(self) -> u16 +pub const fn bitcoin_units::locktime::relative::Time::from_512_second_intervals(intervals: u16) -> Self +pub const fn bitcoin_units::locktime::relative::Time::from_seconds_ceil(seconds: u32) -> core::result::Result +pub const fn bitcoin_units::locktime::relative::Time::from_seconds_floor(seconds: u32) -> core::result::Result +pub const fn bitcoin_units::locktime::relative::Time::to_consensus_u32(&self) -> u32 +pub const fn bitcoin_units::locktime::relative::Time::value(self) -> u16 +pub const fn bitcoin_units::weight::Weight::checked_add(self, rhs: Self) -> core::option::Option +pub const fn bitcoin_units::weight::Weight::checked_div(self, rhs: u64) -> core::option::Option +pub const fn bitcoin_units::weight::Weight::checked_mul(self, rhs: u64) -> core::option::Option +pub const fn bitcoin_units::weight::Weight::checked_sub(self, rhs: Self) -> core::option::Option +pub const fn bitcoin_units::weight::Weight::from_non_witness_data_size(non_witness_size: u64) -> Self +pub const fn bitcoin_units::weight::Weight::from_vb(vb: u64) -> core::option::Option +pub const fn bitcoin_units::weight::Weight::from_vb_unchecked(vb: u64) -> Self +pub const fn bitcoin_units::weight::Weight::from_vb_unwrap(vb: u64) -> bitcoin_units::weight::Weight +pub const fn bitcoin_units::weight::Weight::from_witness_data_size(witness_size: u64) -> Self +pub const fn bitcoin_units::weight::Weight::from_wu(wu: u64) -> Self +pub const fn bitcoin_units::weight::Weight::from_wu_usize(wu: usize) -> Self +pub const fn bitcoin_units::weight::Weight::to_kwu_floor(self) -> u64 +pub const fn bitcoin_units::weight::Weight::to_vbytes_ceil(self) -> u64 +pub const fn bitcoin_units::weight::Weight::to_vbytes_floor(self) -> u64 +pub const fn bitcoin_units::weight::Weight::to_wu(self) -> u64 +pub fn &bitcoin_units::fee_rate::FeeRate::add(self, other: &'a bitcoin_units::fee_rate::FeeRate) -> ::Output +pub fn &bitcoin_units::fee_rate::FeeRate::add(self, other: bitcoin_units::fee_rate::FeeRate) -> ::Output +pub fn &bitcoin_units::fee_rate::FeeRate::sub(self, other: &'a bitcoin_units::fee_rate::FeeRate) -> ::Output +pub fn &bitcoin_units::fee_rate::FeeRate::sub(self, other: bitcoin_units::fee_rate::FeeRate) -> ::Output +pub fn T::checked_sum(self) -> core::option::Option +pub fn T::checked_sum(self) -> core::option::Option +pub fn bitcoin_units::Amount::add(self, rhs: bitcoin_units::Amount) -> Self::Output +pub fn bitcoin_units::Amount::add_assign(&mut self, other: bitcoin_units::Amount) +pub fn bitcoin_units::Amount::clone(&self) -> bitcoin_units::Amount +pub fn bitcoin_units::Amount::cmp(&self, other: &bitcoin_units::Amount) -> core::cmp::Ordering +pub fn bitcoin_units::Amount::default() -> Self +pub fn bitcoin_units::Amount::display_dynamic(self) -> bitcoin_units::amount::Display +pub fn bitcoin_units::Amount::display_in(self, denomination: bitcoin_units::amount::Denomination) -> bitcoin_units::amount::Display +pub fn bitcoin_units::Amount::div(self, rhs: bitcoin_units::weight::Weight) -> Self::Output +pub fn bitcoin_units::Amount::div(self, rhs: u64) -> Self::Output +pub fn bitcoin_units::Amount::div_assign(&mut self, rhs: u64) +pub fn bitcoin_units::Amount::eq(&self, other: &bitcoin_units::Amount) -> bool +pub fn bitcoin_units::Amount::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_units::Amount::from_btc(btc: f64) -> core::result::Result +pub fn bitcoin_units::Amount::from_float_in(value: f64, denom: bitcoin_units::amount::Denomination) -> core::result::Result +pub fn bitcoin_units::Amount::from_int_btc(btc: u64) -> core::result::Result +pub fn bitcoin_units::Amount::from_str(s: &str) -> core::result::Result +pub fn bitcoin_units::Amount::from_str_in(s: &str, denom: bitcoin_units::amount::Denomination) -> core::result::Result +pub fn bitcoin_units::Amount::from_str_with_denomination(s: &str) -> core::result::Result +pub fn bitcoin_units::Amount::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_units::Amount::mul(self, rhs: u64) -> Self::Output +pub fn bitcoin_units::Amount::mul_assign(&mut self, rhs: u64) +pub fn bitcoin_units::Amount::partial_cmp(&self, other: &bitcoin_units::Amount) -> core::option::Option +pub fn bitcoin_units::Amount::rem(self, modulus: u64) -> Self +pub fn bitcoin_units::Amount::rem_assign(&mut self, modulus: u64) +pub fn bitcoin_units::Amount::sub(self, rhs: bitcoin_units::Amount) -> Self::Output +pub fn bitcoin_units::Amount::sub_assign(&mut self, other: bitcoin_units::Amount) +pub fn bitcoin_units::Amount::sum>(iter: I) -> Self +pub fn bitcoin_units::Amount::sum(iter: I) -> Self where I: core::iter::traits::iterator::Iterator +pub fn bitcoin_units::Amount::to_btc(self) -> f64 +pub fn bitcoin_units::Amount::to_float_in(self, denom: bitcoin_units::amount::Denomination) -> f64 +pub fn bitcoin_units::Amount::to_signed(self) -> core::result::Result +pub fn bitcoin_units::Amount::to_string_in(self, denom: bitcoin_units::amount::Denomination) -> alloc::string::String +pub fn bitcoin_units::Amount::to_string_with_denomination(self, denom: bitcoin_units::amount::Denomination) -> alloc::string::String +pub fn bitcoin_units::Amount::try_from(value: bitcoin_units::SignedAmount) -> core::result::Result +pub fn bitcoin_units::Amount::unchecked_add(self, rhs: bitcoin_units::Amount) -> bitcoin_units::Amount +pub fn bitcoin_units::Amount::unchecked_sub(self, rhs: bitcoin_units::Amount) -> bitcoin_units::Amount +pub fn bitcoin_units::SignedAmount::abs(self) -> bitcoin_units::SignedAmount +pub fn bitcoin_units::SignedAmount::add(self, rhs: bitcoin_units::SignedAmount) -> Self::Output +pub fn bitcoin_units::SignedAmount::add_assign(&mut self, other: bitcoin_units::SignedAmount) +pub fn bitcoin_units::SignedAmount::clone(&self) -> bitcoin_units::SignedAmount +pub fn bitcoin_units::SignedAmount::cmp(&self, other: &bitcoin_units::SignedAmount) -> core::cmp::Ordering +pub fn bitcoin_units::SignedAmount::default() -> Self +pub fn bitcoin_units::SignedAmount::display_dynamic(self) -> bitcoin_units::amount::Display +pub fn bitcoin_units::SignedAmount::display_in(self, denomination: bitcoin_units::amount::Denomination) -> bitcoin_units::amount::Display +pub fn bitcoin_units::SignedAmount::div(self, rhs: i64) -> Self::Output +pub fn bitcoin_units::SignedAmount::div_assign(&mut self, rhs: i64) +pub fn bitcoin_units::SignedAmount::eq(&self, other: &bitcoin_units::SignedAmount) -> bool +pub fn bitcoin_units::SignedAmount::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_units::SignedAmount::from_btc(btc: f64) -> core::result::Result +pub fn bitcoin_units::SignedAmount::from_float_in(value: f64, denom: bitcoin_units::amount::Denomination) -> core::result::Result +pub fn bitcoin_units::SignedAmount::from_int_btc(btc: i64) -> core::result::Result +pub fn bitcoin_units::SignedAmount::from_str(s: &str) -> core::result::Result +pub fn bitcoin_units::SignedAmount::from_str_in(s: &str, denom: bitcoin_units::amount::Denomination) -> core::result::Result +pub fn bitcoin_units::SignedAmount::from_str_with_denomination(s: &str) -> core::result::Result +pub fn bitcoin_units::SignedAmount::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_units::SignedAmount::is_negative(self) -> bool +pub fn bitcoin_units::SignedAmount::is_positive(self) -> bool +pub fn bitcoin_units::SignedAmount::mul(self, rhs: i64) -> Self::Output +pub fn bitcoin_units::SignedAmount::mul_assign(&mut self, rhs: i64) +pub fn bitcoin_units::SignedAmount::neg(self) -> Self::Output +pub fn bitcoin_units::SignedAmount::partial_cmp(&self, other: &bitcoin_units::SignedAmount) -> core::option::Option +pub fn bitcoin_units::SignedAmount::positive_sub(self, rhs: bitcoin_units::SignedAmount) -> core::option::Option +pub fn bitcoin_units::SignedAmount::rem(self, modulus: i64) -> Self +pub fn bitcoin_units::SignedAmount::rem_assign(&mut self, modulus: i64) +pub fn bitcoin_units::SignedAmount::signum(self) -> i64 +pub fn bitcoin_units::SignedAmount::sub(self, rhs: bitcoin_units::SignedAmount) -> Self::Output +pub fn bitcoin_units::SignedAmount::sub_assign(&mut self, other: bitcoin_units::SignedAmount) +pub fn bitcoin_units::SignedAmount::sum>(iter: I) -> Self +pub fn bitcoin_units::SignedAmount::sum(iter: I) -> Self where I: core::iter::traits::iterator::Iterator +pub fn bitcoin_units::SignedAmount::to_btc(self) -> f64 +pub fn bitcoin_units::SignedAmount::to_float_in(self, denom: bitcoin_units::amount::Denomination) -> f64 +pub fn bitcoin_units::SignedAmount::to_string_in(self, denom: bitcoin_units::amount::Denomination) -> alloc::string::String +pub fn bitcoin_units::SignedAmount::to_string_with_denomination(self, denom: bitcoin_units::amount::Denomination) -> alloc::string::String +pub fn bitcoin_units::SignedAmount::to_unsigned(self) -> core::result::Result +pub fn bitcoin_units::SignedAmount::try_from(value: bitcoin_units::Amount) -> core::result::Result +pub fn bitcoin_units::SignedAmount::unchecked_add(self, rhs: bitcoin_units::SignedAmount) -> bitcoin_units::SignedAmount +pub fn bitcoin_units::SignedAmount::unchecked_sub(self, rhs: bitcoin_units::SignedAmount) -> bitcoin_units::SignedAmount +pub fn bitcoin_units::SignedAmount::unsigned_abs(self) -> bitcoin_units::Amount +pub fn bitcoin_units::amount::CheckedSum::checked_sum(self) -> core::option::Option +pub fn bitcoin_units::amount::Denomination::clone(&self) -> bitcoin_units::amount::Denomination +pub fn bitcoin_units::amount::Denomination::eq(&self, other: &bitcoin_units::amount::Denomination) -> bool +pub fn bitcoin_units::amount::Denomination::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_units::amount::Denomination::from_str(s: &str) -> core::result::Result +pub fn bitcoin_units::amount::Denomination::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_units::amount::Display::clone(&self) -> bitcoin_units::amount::Display +pub fn bitcoin_units::amount::Display::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_units::amount::Display::show_denomination(self) -> Self +pub fn bitcoin_units::amount::error::InputTooLargeError::clone(&self) -> bitcoin_units::amount::error::InputTooLargeError +pub fn bitcoin_units::amount::error::InputTooLargeError::eq(&self, other: &bitcoin_units::amount::error::InputTooLargeError) -> bool +pub fn bitcoin_units::amount::error::InputTooLargeError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_units::amount::error::InvalidCharacterError::clone(&self) -> bitcoin_units::amount::error::InvalidCharacterError +pub fn bitcoin_units::amount::error::InvalidCharacterError::eq(&self, other: &bitcoin_units::amount::error::InvalidCharacterError) -> bool +pub fn bitcoin_units::amount::error::InvalidCharacterError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_units::amount::error::MissingDenominationError::clone(&self) -> bitcoin_units::amount::error::MissingDenominationError +pub fn bitcoin_units::amount::error::MissingDenominationError::eq(&self, other: &bitcoin_units::amount::error::MissingDenominationError) -> bool +pub fn bitcoin_units::amount::error::MissingDenominationError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_units::amount::error::MissingDigitsError::clone(&self) -> bitcoin_units::amount::error::MissingDigitsError +pub fn bitcoin_units::amount::error::MissingDigitsError::eq(&self, other: &bitcoin_units::amount::error::MissingDigitsError) -> bool +pub fn bitcoin_units::amount::error::MissingDigitsError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_units::amount::error::OutOfRangeError::clone(&self) -> bitcoin_units::amount::error::OutOfRangeError +pub fn bitcoin_units::amount::error::OutOfRangeError::eq(&self, other: &bitcoin_units::amount::error::OutOfRangeError) -> bool +pub fn bitcoin_units::amount::error::OutOfRangeError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_units::amount::error::OutOfRangeError::is_above_max(&self) -> bool +pub fn bitcoin_units::amount::error::OutOfRangeError::is_below_min(&self) -> bool +pub fn bitcoin_units::amount::error::OutOfRangeError::valid_range(&self) -> (i64, u64) +pub fn bitcoin_units::amount::error::ParseAmountError::clone(&self) -> bitcoin_units::amount::error::ParseAmountError +pub fn bitcoin_units::amount::error::ParseAmountError::eq(&self, other: &bitcoin_units::amount::error::ParseAmountError) -> bool +pub fn bitcoin_units::amount::error::ParseAmountError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_units::amount::error::ParseAmountError::from(never: core::convert::Infallible) -> Self +pub fn bitcoin_units::amount::error::ParseAmountError::from(value: bitcoin_units::amount::error::InputTooLargeError) -> Self +pub fn bitcoin_units::amount::error::ParseAmountError::from(value: bitcoin_units::amount::error::InvalidCharacterError) -> Self +pub fn bitcoin_units::amount::error::ParseAmountError::from(value: bitcoin_units::amount::error::MissingDigitsError) -> Self +pub fn bitcoin_units::amount::error::ParseAmountError::from(value: bitcoin_units::amount::error::OutOfRangeError) -> Self +pub fn bitcoin_units::amount::error::ParseAmountError::from(value: bitcoin_units::amount::error::TooPreciseError) -> Self +pub fn bitcoin_units::amount::error::ParseDenominationError::clone(&self) -> bitcoin_units::amount::error::ParseDenominationError +pub fn bitcoin_units::amount::error::ParseDenominationError::eq(&self, other: &bitcoin_units::amount::error::ParseDenominationError) -> bool +pub fn bitcoin_units::amount::error::ParseDenominationError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_units::amount::error::ParseDenominationError::from(never: core::convert::Infallible) -> Self +pub fn bitcoin_units::amount::error::ParseError::clone(&self) -> bitcoin_units::amount::error::ParseError +pub fn bitcoin_units::amount::error::ParseError::eq(&self, other: &bitcoin_units::amount::error::ParseError) -> bool +pub fn bitcoin_units::amount::error::ParseError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_units::amount::error::ParseError::from(e: bitcoin_units::amount::error::InputTooLargeError) -> Self +pub fn bitcoin_units::amount::error::ParseError::from(e: bitcoin_units::amount::error::InvalidCharacterError) -> Self +pub fn bitcoin_units::amount::error::ParseError::from(e: bitcoin_units::amount::error::MissingDigitsError) -> Self +pub fn bitcoin_units::amount::error::ParseError::from(e: bitcoin_units::amount::error::OutOfRangeError) -> Self +pub fn bitcoin_units::amount::error::ParseError::from(e: bitcoin_units::amount::error::ParseAmountError) -> Self +pub fn bitcoin_units::amount::error::ParseError::from(e: bitcoin_units::amount::error::ParseDenominationError) -> Self +pub fn bitcoin_units::amount::error::ParseError::from(e: bitcoin_units::amount::error::TooPreciseError) -> Self +pub fn bitcoin_units::amount::error::ParseError::from(never: core::convert::Infallible) -> Self +pub fn bitcoin_units::amount::error::PossiblyConfusingDenominationError::clone(&self) -> bitcoin_units::amount::error::PossiblyConfusingDenominationError +pub fn bitcoin_units::amount::error::PossiblyConfusingDenominationError::eq(&self, other: &bitcoin_units::amount::error::PossiblyConfusingDenominationError) -> bool +pub fn bitcoin_units::amount::error::PossiblyConfusingDenominationError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_units::amount::error::TooPreciseError::clone(&self) -> bitcoin_units::amount::error::TooPreciseError +pub fn bitcoin_units::amount::error::TooPreciseError::eq(&self, other: &bitcoin_units::amount::error::TooPreciseError) -> bool +pub fn bitcoin_units::amount::error::TooPreciseError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_units::amount::error::UnknownDenominationError::clone(&self) -> bitcoin_units::amount::error::UnknownDenominationError +pub fn bitcoin_units::amount::error::UnknownDenominationError::eq(&self, other: &bitcoin_units::amount::error::UnknownDenominationError) -> bool +pub fn bitcoin_units::amount::error::UnknownDenominationError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_units::block::BlockHeight::add(self, rhs: bitcoin_units::block::BlockInterval) -> Self::Output +pub fn bitcoin_units::block::BlockHeight::clone(&self) -> bitcoin_units::block::BlockHeight +pub fn bitcoin_units::block::BlockHeight::cmp(&self, other: &bitcoin_units::block::BlockHeight) -> core::cmp::Ordering +pub fn bitcoin_units::block::BlockHeight::eq(&self, other: &bitcoin_units::block::BlockHeight) -> bool +pub fn bitcoin_units::block::BlockHeight::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_units::block::BlockHeight::from(h: bitcoin_units::locktime::absolute::Height) -> Self +pub fn bitcoin_units::block::BlockHeight::from(inner: u32) -> Self +pub fn bitcoin_units::block::BlockHeight::from_str(s: &str) -> core::result::Result +pub fn bitcoin_units::block::BlockHeight::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_units::block::BlockHeight::partial_cmp(&self, other: &bitcoin_units::block::BlockHeight) -> core::option::Option +pub fn bitcoin_units::block::BlockHeight::sub(self, rhs: bitcoin_units::block::BlockHeight) -> Self::Output +pub fn bitcoin_units::block::BlockHeight::sub(self, rhs: bitcoin_units::block::BlockInterval) -> Self::Output +pub fn bitcoin_units::block::BlockHeight::try_from(s: &str) -> core::result::Result +pub fn bitcoin_units::block::BlockHeight::try_from(s: alloc::boxed::Box) -> core::result::Result +pub fn bitcoin_units::block::BlockHeight::try_from(s: alloc::string::String) -> core::result::Result +pub fn bitcoin_units::block::BlockInterval::add(self, rhs: bitcoin_units::block::BlockInterval) -> Self::Output +pub fn bitcoin_units::block::BlockInterval::add_assign(&mut self, rhs: bitcoin_units::block::BlockInterval) +pub fn bitcoin_units::block::BlockInterval::clone(&self) -> bitcoin_units::block::BlockInterval +pub fn bitcoin_units::block::BlockInterval::cmp(&self, other: &bitcoin_units::block::BlockInterval) -> core::cmp::Ordering +pub fn bitcoin_units::block::BlockInterval::eq(&self, other: &bitcoin_units::block::BlockInterval) -> bool +pub fn bitcoin_units::block::BlockInterval::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_units::block::BlockInterval::from(h: bitcoin_units::locktime::relative::Height) -> Self +pub fn bitcoin_units::block::BlockInterval::from(inner: u32) -> Self +pub fn bitcoin_units::block::BlockInterval::from_str(s: &str) -> core::result::Result +pub fn bitcoin_units::block::BlockInterval::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_units::block::BlockInterval::partial_cmp(&self, other: &bitcoin_units::block::BlockInterval) -> core::option::Option +pub fn bitcoin_units::block::BlockInterval::sub(self, rhs: bitcoin_units::block::BlockInterval) -> Self::Output +pub fn bitcoin_units::block::BlockInterval::sub_assign(&mut self, rhs: bitcoin_units::block::BlockInterval) +pub fn bitcoin_units::block::BlockInterval::sum>(iter: I) -> Self +pub fn bitcoin_units::block::BlockInterval::sum(iter: I) -> Self where I: core::iter::traits::iterator::Iterator +pub fn bitcoin_units::block::BlockInterval::try_from(s: &str) -> core::result::Result +pub fn bitcoin_units::block::BlockInterval::try_from(s: alloc::boxed::Box) -> core::result::Result +pub fn bitcoin_units::block::BlockInterval::try_from(s: alloc::string::String) -> core::result::Result +pub fn bitcoin_units::block::TooBigForRelativeBlockHeightError::clone(&self) -> bitcoin_units::block::TooBigForRelativeBlockHeightError +pub fn bitcoin_units::block::TooBigForRelativeBlockHeightError::eq(&self, other: &bitcoin_units::block::TooBigForRelativeBlockHeightError) -> bool +pub fn bitcoin_units::block::TooBigForRelativeBlockHeightError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_units::fee_rate::FeeRate::add(self, other: &bitcoin_units::fee_rate::FeeRate) -> ::Output +pub fn bitcoin_units::fee_rate::FeeRate::add(self, rhs: bitcoin_units::fee_rate::FeeRate) -> Self::Output +pub fn bitcoin_units::fee_rate::FeeRate::add_assign(&mut self, rhs: &bitcoin_units::fee_rate::FeeRate) +pub fn bitcoin_units::fee_rate::FeeRate::add_assign(&mut self, rhs: Self) +pub fn bitcoin_units::fee_rate::FeeRate::clone(&self) -> bitcoin_units::fee_rate::FeeRate +pub fn bitcoin_units::fee_rate::FeeRate::cmp(&self, other: &bitcoin_units::fee_rate::FeeRate) -> core::cmp::Ordering +pub fn bitcoin_units::fee_rate::FeeRate::eq(&self, other: &bitcoin_units::fee_rate::FeeRate) -> bool +pub fn bitcoin_units::fee_rate::FeeRate::fee_vb(self, vb: u64) -> core::option::Option +pub fn bitcoin_units::fee_rate::FeeRate::fee_wu(self, weight: bitcoin_units::weight::Weight) -> core::option::Option +pub fn bitcoin_units::fee_rate::FeeRate::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_units::fee_rate::FeeRate::from_sat_per_vb(sat_vb: u64) -> core::option::Option +pub fn bitcoin_units::fee_rate::FeeRate::from_str(s: &str) -> core::result::Result +pub fn bitcoin_units::fee_rate::FeeRate::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_units::fee_rate::FeeRate::mul(self, rhs: bitcoin_units::weight::Weight) -> Self::Output +pub fn bitcoin_units::fee_rate::FeeRate::partial_cmp(&self, other: &bitcoin_units::fee_rate::FeeRate) -> core::option::Option +pub fn bitcoin_units::fee_rate::FeeRate::sub(self, other: &bitcoin_units::fee_rate::FeeRate) -> ::Output +pub fn bitcoin_units::fee_rate::FeeRate::sub(self, rhs: bitcoin_units::fee_rate::FeeRate) -> Self::Output +pub fn bitcoin_units::fee_rate::FeeRate::sub_assign(&mut self, rhs: &bitcoin_units::fee_rate::FeeRate) +pub fn bitcoin_units::fee_rate::FeeRate::sub_assign(&mut self, rhs: Self) +pub fn bitcoin_units::fee_rate::FeeRate::sum(iter: I) -> Self where I: core::iter::traits::iterator::Iterator +pub fn bitcoin_units::fee_rate::FeeRate::sum(iter: I) -> Self where I: core::iter::traits::iterator::Iterator +pub fn bitcoin_units::fee_rate::FeeRate::try_from(s: &str) -> core::result::Result +pub fn bitcoin_units::fee_rate::FeeRate::try_from(s: alloc::boxed::Box) -> core::result::Result +pub fn bitcoin_units::fee_rate::FeeRate::try_from(s: alloc::string::String) -> core::result::Result +pub fn bitcoin_units::locktime::absolute::ConversionError::clone(&self) -> bitcoin_units::locktime::absolute::ConversionError +pub fn bitcoin_units::locktime::absolute::ConversionError::eq(&self, other: &bitcoin_units::locktime::absolute::ConversionError) -> bool +pub fn bitcoin_units::locktime::absolute::ConversionError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_units::locktime::absolute::Height::clone(&self) -> bitcoin_units::locktime::absolute::Height +pub fn bitcoin_units::locktime::absolute::Height::cmp(&self, other: &bitcoin_units::locktime::absolute::Height) -> core::cmp::Ordering +pub fn bitcoin_units::locktime::absolute::Height::eq(&self, other: &bitcoin_units::locktime::absolute::Height) -> bool +pub fn bitcoin_units::locktime::absolute::Height::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_units::locktime::absolute::Height::from_hex(s: &str) -> core::result::Result +pub fn bitcoin_units::locktime::absolute::Height::from_str(s: &str) -> core::result::Result +pub fn bitcoin_units::locktime::absolute::Height::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_units::locktime::absolute::Height::partial_cmp(&self, other: &bitcoin_units::locktime::absolute::Height) -> core::option::Option +pub fn bitcoin_units::locktime::absolute::Height::try_from(h: bitcoin_units::block::BlockHeight) -> core::result::Result +pub fn bitcoin_units::locktime::absolute::Height::try_from(s: &str) -> core::result::Result +pub fn bitcoin_units::locktime::absolute::Height::try_from(s: alloc::boxed::Box) -> core::result::Result +pub fn bitcoin_units::locktime::absolute::Height::try_from(s: alloc::string::String) -> core::result::Result +pub fn bitcoin_units::locktime::absolute::ParseHeightError::clone(&self) -> bitcoin_units::locktime::absolute::ParseHeightError +pub fn bitcoin_units::locktime::absolute::ParseHeightError::eq(&self, other: &bitcoin_units::locktime::absolute::ParseHeightError) -> bool +pub fn bitcoin_units::locktime::absolute::ParseHeightError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_units::locktime::absolute::ParseTimeError::clone(&self) -> bitcoin_units::locktime::absolute::ParseTimeError +pub fn bitcoin_units::locktime::absolute::ParseTimeError::eq(&self, other: &bitcoin_units::locktime::absolute::ParseTimeError) -> bool +pub fn bitcoin_units::locktime::absolute::ParseTimeError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_units::locktime::absolute::Time::clone(&self) -> bitcoin_units::locktime::absolute::Time +pub fn bitcoin_units::locktime::absolute::Time::cmp(&self, other: &bitcoin_units::locktime::absolute::Time) -> core::cmp::Ordering +pub fn bitcoin_units::locktime::absolute::Time::eq(&self, other: &bitcoin_units::locktime::absolute::Time) -> bool +pub fn bitcoin_units::locktime::absolute::Time::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_units::locktime::absolute::Time::from_hex(s: &str) -> core::result::Result +pub fn bitcoin_units::locktime::absolute::Time::from_str(s: &str) -> core::result::Result +pub fn bitcoin_units::locktime::absolute::Time::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_units::locktime::absolute::Time::partial_cmp(&self, other: &bitcoin_units::locktime::absolute::Time) -> core::option::Option +pub fn bitcoin_units::locktime::absolute::Time::try_from(s: &str) -> core::result::Result +pub fn bitcoin_units::locktime::absolute::Time::try_from(s: alloc::boxed::Box) -> core::result::Result +pub fn bitcoin_units::locktime::absolute::Time::try_from(s: alloc::string::String) -> core::result::Result +pub fn bitcoin_units::locktime::relative::Height::clone(&self) -> bitcoin_units::locktime::relative::Height +pub fn bitcoin_units::locktime::relative::Height::cmp(&self, other: &bitcoin_units::locktime::relative::Height) -> core::cmp::Ordering +pub fn bitcoin_units::locktime::relative::Height::default() -> bitcoin_units::locktime::relative::Height +pub fn bitcoin_units::locktime::relative::Height::eq(&self, other: &bitcoin_units::locktime::relative::Height) -> bool +pub fn bitcoin_units::locktime::relative::Height::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_units::locktime::relative::Height::from(value: u16) -> Self +pub fn bitcoin_units::locktime::relative::Height::from_str(s: &str) -> core::result::Result +pub fn bitcoin_units::locktime::relative::Height::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_units::locktime::relative::Height::partial_cmp(&self, other: &bitcoin_units::locktime::relative::Height) -> core::option::Option +pub fn bitcoin_units::locktime::relative::Height::try_from(h: bitcoin_units::block::BlockInterval) -> core::result::Result +pub fn bitcoin_units::locktime::relative::Height::try_from(s: &str) -> core::result::Result +pub fn bitcoin_units::locktime::relative::Height::try_from(s: alloc::boxed::Box) -> core::result::Result +pub fn bitcoin_units::locktime::relative::Height::try_from(s: alloc::string::String) -> core::result::Result +pub fn bitcoin_units::locktime::relative::Time::clone(&self) -> bitcoin_units::locktime::relative::Time +pub fn bitcoin_units::locktime::relative::Time::cmp(&self, other: &bitcoin_units::locktime::relative::Time) -> core::cmp::Ordering +pub fn bitcoin_units::locktime::relative::Time::default() -> bitcoin_units::locktime::relative::Time +pub fn bitcoin_units::locktime::relative::Time::eq(&self, other: &bitcoin_units::locktime::relative::Time) -> bool +pub fn bitcoin_units::locktime::relative::Time::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_units::locktime::relative::Time::from_str(s: &str) -> core::result::Result +pub fn bitcoin_units::locktime::relative::Time::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_units::locktime::relative::Time::partial_cmp(&self, other: &bitcoin_units::locktime::relative::Time) -> core::option::Option +pub fn bitcoin_units::locktime::relative::Time::try_from(s: &str) -> core::result::Result +pub fn bitcoin_units::locktime::relative::Time::try_from(s: alloc::boxed::Box) -> core::result::Result +pub fn bitcoin_units::locktime::relative::Time::try_from(s: alloc::string::String) -> core::result::Result +pub fn bitcoin_units::locktime::relative::TimeOverflowError::clone(&self) -> bitcoin_units::locktime::relative::TimeOverflowError +pub fn bitcoin_units::locktime::relative::TimeOverflowError::eq(&self, other: &bitcoin_units::locktime::relative::TimeOverflowError) -> bool +pub fn bitcoin_units::locktime::relative::TimeOverflowError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_units::locktime::relative::TimeOverflowError::new(seconds: u32) -> Self +pub fn bitcoin_units::parse::ParseIntError::as_ref(&self) -> &core::num::error::ParseIntError +pub fn bitcoin_units::parse::ParseIntError::clone(&self) -> bitcoin_units::parse::ParseIntError +pub fn bitcoin_units::parse::ParseIntError::eq(&self, other: &bitcoin_units::parse::ParseIntError) -> bool +pub fn bitcoin_units::parse::ParseIntError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_units::parse::PrefixedHexError::clone(&self) -> bitcoin_units::parse::PrefixedHexError +pub fn bitcoin_units::parse::PrefixedHexError::eq(&self, other: &bitcoin_units::parse::PrefixedHexError) -> bool +pub fn bitcoin_units::parse::PrefixedHexError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_units::parse::PrefixedHexError::from(e: bitcoin_units::parse::ParseIntError) -> Self +pub fn bitcoin_units::parse::PrefixedHexError::from(never: core::convert::Infallible) -> Self +pub fn bitcoin_units::parse::UnprefixedHexError::clone(&self) -> bitcoin_units::parse::UnprefixedHexError +pub fn bitcoin_units::parse::UnprefixedHexError::eq(&self, other: &bitcoin_units::parse::UnprefixedHexError) -> bool +pub fn bitcoin_units::parse::UnprefixedHexError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_units::parse::UnprefixedHexError::from(e: bitcoin_units::parse::ParseIntError) -> Self +pub fn bitcoin_units::parse::UnprefixedHexError::from(never: core::convert::Infallible) -> Self +pub fn bitcoin_units::parse::hex_check_unprefixed(s: &str) -> core::result::Result<&str, bitcoin_units::parse::UnprefixedHexError> +pub fn bitcoin_units::parse::hex_remove_prefix(s: &str) -> core::result::Result<&str, bitcoin_units::parse::PrefixedHexError> +pub fn bitcoin_units::parse::hex_u128(s: &str) -> core::result::Result +pub fn bitcoin_units::parse::hex_u128_prefixed(s: &str) -> core::result::Result +pub fn bitcoin_units::parse::hex_u128_unchecked(s: &str) -> core::result::Result +pub fn bitcoin_units::parse::hex_u128_unprefixed(s: &str) -> core::result::Result +pub fn bitcoin_units::parse::hex_u32(s: &str) -> core::result::Result +pub fn bitcoin_units::parse::hex_u32_prefixed(s: &str) -> core::result::Result +pub fn bitcoin_units::parse::hex_u32_unchecked(s: &str) -> core::result::Result +pub fn bitcoin_units::parse::hex_u32_unprefixed(s: &str) -> core::result::Result +pub fn bitcoin_units::parse::int + core::convert::Into>(s: S) -> core::result::Result +pub fn bitcoin_units::weight::Weight::add(self, rhs: bitcoin_units::weight::Weight) -> Self::Output +pub fn bitcoin_units::weight::Weight::add_assign(&mut self, rhs: Self) +pub fn bitcoin_units::weight::Weight::clone(&self) -> bitcoin_units::weight::Weight +pub fn bitcoin_units::weight::Weight::cmp(&self, other: &bitcoin_units::weight::Weight) -> core::cmp::Ordering +pub fn bitcoin_units::weight::Weight::div(self, rhs: bitcoin_units::weight::Weight) -> Self::Output +pub fn bitcoin_units::weight::Weight::div(self, rhs: u64) -> Self::Output +pub fn bitcoin_units::weight::Weight::div_assign(&mut self, rhs: u64) +pub fn bitcoin_units::weight::Weight::eq(&self, other: &bitcoin_units::weight::Weight) -> bool +pub fn bitcoin_units::weight::Weight::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_units::weight::Weight::from_kwu(wu: u64) -> core::option::Option +pub fn bitcoin_units::weight::Weight::from_str(s: &str) -> core::result::Result +pub fn bitcoin_units::weight::Weight::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_units::weight::Weight::mul(self, rhs: bitcoin_units::fee_rate::FeeRate) -> Self::Output +pub fn bitcoin_units::weight::Weight::mul(self, rhs: u64) -> Self::Output +pub fn bitcoin_units::weight::Weight::mul_assign(&mut self, rhs: u64) +pub fn bitcoin_units::weight::Weight::partial_cmp(&self, other: &bitcoin_units::weight::Weight) -> core::option::Option +pub fn bitcoin_units::weight::Weight::sub(self, rhs: bitcoin_units::weight::Weight) -> Self::Output +pub fn bitcoin_units::weight::Weight::sub_assign(&mut self, rhs: Self) +pub fn bitcoin_units::weight::Weight::sum(iter: I) -> Self where I: core::iter::traits::iterator::Iterator +pub fn bitcoin_units::weight::Weight::sum(iter: I) -> Self where I: core::iter::traits::iterator::Iterator +pub fn bitcoin_units::weight::Weight::try_from(s: &str) -> core::result::Result +pub fn bitcoin_units::weight::Weight::try_from(s: alloc::boxed::Box) -> core::result::Result +pub fn bitcoin_units::weight::Weight::try_from(s: alloc::string::String) -> core::result::Result +pub fn core::num::error::ParseIntError::from(value: bitcoin_units::parse::ParseIntError) -> Self +pub fn u32::from(height: bitcoin_units::block::BlockHeight) -> Self +pub fn u32::from(height: bitcoin_units::block::BlockInterval) -> Self +pub fn u64::from(value: bitcoin_units::fee_rate::FeeRate) -> Self +pub fn u64::from(value: bitcoin_units::weight::Weight) -> Self +pub fn u64::mul(self, rhs: bitcoin_units::weight::Weight) -> Self::Output +pub macro bitcoin_units::impl_parse_str! +pub macro bitcoin_units::impl_parse_str_from_int_infallible! +pub macro bitcoin_units::impl_tryfrom_str! +pub macro bitcoin_units::impl_tryfrom_str_from_int_infallible! +pub mod bitcoin_units +pub mod bitcoin_units::amount +pub mod bitcoin_units::amount::error +pub mod bitcoin_units::block +pub mod bitcoin_units::fee_rate +pub mod bitcoin_units::locktime +pub mod bitcoin_units::locktime::absolute +pub mod bitcoin_units::locktime::relative +pub mod bitcoin_units::parse +pub mod bitcoin_units::weight +pub struct bitcoin_units::Amount(_) +pub struct bitcoin_units::BlockHeight(pub u32) +pub struct bitcoin_units::BlockInterval(pub u32) +pub struct bitcoin_units::FeeRate(_) +pub struct bitcoin_units::SignedAmount(_) +pub struct bitcoin_units::Weight(_) +pub struct bitcoin_units::amount::Amount(_) +pub struct bitcoin_units::amount::Display +pub struct bitcoin_units::amount::InputTooLargeError +pub struct bitcoin_units::amount::InvalidCharacterError +pub struct bitcoin_units::amount::MissingDigitsError +pub struct bitcoin_units::amount::OutOfRangeError +pub struct bitcoin_units::amount::ParseAmountError(_) +pub struct bitcoin_units::amount::ParseError(_) +pub struct bitcoin_units::amount::SignedAmount(_) +pub struct bitcoin_units::amount::TooPreciseError +pub struct bitcoin_units::amount::error::InputTooLargeError +pub struct bitcoin_units::amount::error::InvalidCharacterError +pub struct bitcoin_units::amount::error::MissingDigitsError +pub struct bitcoin_units::amount::error::OutOfRangeError +pub struct bitcoin_units::amount::error::ParseAmountError(_) +pub struct bitcoin_units::amount::error::ParseError(_) +pub struct bitcoin_units::amount::error::TooPreciseError +pub struct bitcoin_units::block::BlockHeight(pub u32) +pub struct bitcoin_units::block::BlockInterval(pub u32) +pub struct bitcoin_units::block::TooBigForRelativeBlockHeightError(_) +pub struct bitcoin_units::fee_rate::FeeRate(_) +pub struct bitcoin_units::locktime::absolute::Height(_) +pub struct bitcoin_units::locktime::absolute::ParseHeightError(_) +pub struct bitcoin_units::locktime::absolute::ParseTimeError(_) +pub struct bitcoin_units::locktime::absolute::Time(_) +pub struct bitcoin_units::locktime::relative::Height(_) +pub struct bitcoin_units::locktime::relative::Time(_) +pub struct bitcoin_units::locktime::relative::TimeOverflowError +pub struct bitcoin_units::parse::PrefixedHexError(_) +pub struct bitcoin_units::parse::UnprefixedHexError(_) +pub struct bitcoin_units::weight::Weight(_) +pub trait bitcoin_units::amount::CheckedSum: private::SumSeal +pub trait bitcoin_units::parse::Integer: core::str::traits::FromStr + core::convert::TryFrom + core::marker::Sized +pub type &bitcoin_units::fee_rate::FeeRate::Output = bitcoin_units::fee_rate::FeeRate +pub type bitcoin_units::Amount::Err = bitcoin_units::amount::error::ParseError +pub type bitcoin_units::Amount::Error = bitcoin_units::amount::error::OutOfRangeError +pub type bitcoin_units::Amount::Output = bitcoin_units::Amount +pub type bitcoin_units::Amount::Output = bitcoin_units::fee_rate::FeeRate +pub type bitcoin_units::SignedAmount::Err = bitcoin_units::amount::error::ParseError +pub type bitcoin_units::SignedAmount::Error = bitcoin_units::amount::error::OutOfRangeError +pub type bitcoin_units::SignedAmount::Output = bitcoin_units::SignedAmount +pub type bitcoin_units::amount::Denomination::Err = bitcoin_units::amount::error::ParseDenominationError +pub type bitcoin_units::block::BlockHeight::Err = bitcoin_units::parse::ParseIntError +pub type bitcoin_units::block::BlockHeight::Error = bitcoin_units::parse::ParseIntError +pub type bitcoin_units::block::BlockHeight::Output = bitcoin_units::block::BlockHeight +pub type bitcoin_units::block::BlockHeight::Output = bitcoin_units::block::BlockInterval +pub type bitcoin_units::block::BlockInterval::Err = bitcoin_units::parse::ParseIntError +pub type bitcoin_units::block::BlockInterval::Error = bitcoin_units::parse::ParseIntError +pub type bitcoin_units::block::BlockInterval::Output = bitcoin_units::block::BlockInterval +pub type bitcoin_units::fee_rate::FeeRate::Err = bitcoin_units::parse::ParseIntError +pub type bitcoin_units::fee_rate::FeeRate::Error = bitcoin_units::parse::ParseIntError +pub type bitcoin_units::fee_rate::FeeRate::Output = bitcoin_units::Amount +pub type bitcoin_units::fee_rate::FeeRate::Output = bitcoin_units::fee_rate::FeeRate +pub type bitcoin_units::locktime::absolute::Height::Err = bitcoin_units::locktime::absolute::ParseHeightError +pub type bitcoin_units::locktime::absolute::Height::Error = bitcoin_units::locktime::absolute::ConversionError +pub type bitcoin_units::locktime::absolute::Height::Error = bitcoin_units::locktime::absolute::ParseHeightError +pub type bitcoin_units::locktime::absolute::Time::Err = bitcoin_units::locktime::absolute::ParseTimeError +pub type bitcoin_units::locktime::absolute::Time::Error = bitcoin_units::locktime::absolute::ParseTimeError +pub type bitcoin_units::locktime::relative::Height::Err = bitcoin_units::parse::ParseIntError +pub type bitcoin_units::locktime::relative::Height::Error = bitcoin_units::block::TooBigForRelativeBlockHeightError +pub type bitcoin_units::locktime::relative::Height::Error = bitcoin_units::parse::ParseIntError +pub type bitcoin_units::locktime::relative::Time::Err = bitcoin_units::parse::ParseIntError +pub type bitcoin_units::locktime::relative::Time::Error = bitcoin_units::parse::ParseIntError +pub type bitcoin_units::weight::Weight::Err = bitcoin_units::parse::ParseIntError +pub type bitcoin_units::weight::Weight::Error = bitcoin_units::parse::ParseIntError +pub type bitcoin_units::weight::Weight::Output = bitcoin_units::Amount +pub type bitcoin_units::weight::Weight::Output = bitcoin_units::weight::Weight +pub type bitcoin_units::weight::Weight::Output = u64 +pub type u64::Output = bitcoin_units::weight::Weight diff --git a/api/units/no-features.txt b/api/units/no-features.txt new file mode 100644 index 0000000000..cf4fddd59b --- /dev/null +++ b/api/units/no-features.txt @@ -0,0 +1,1063 @@ +#[non_exhaustive] pub enum bitcoin_units::amount::Denomination +#[non_exhaustive] pub enum bitcoin_units::amount::ParseDenominationError +#[non_exhaustive] pub enum bitcoin_units::amount::error::ParseDenominationError +#[non_exhaustive] pub struct bitcoin_units::amount::MissingDenominationError +#[non_exhaustive] pub struct bitcoin_units::amount::PossiblyConfusingDenominationError(_) +#[non_exhaustive] pub struct bitcoin_units::amount::UnknownDenominationError(_) +#[non_exhaustive] pub struct bitcoin_units::amount::error::MissingDenominationError +#[non_exhaustive] pub struct bitcoin_units::amount::error::PossiblyConfusingDenominationError(_) +#[non_exhaustive] pub struct bitcoin_units::amount::error::UnknownDenominationError(_) +#[non_exhaustive] pub struct bitcoin_units::locktime::absolute::ConversionError +#[non_exhaustive] pub struct bitcoin_units::parse::ParseIntError +impl bitcoin_units::Amount +impl bitcoin_units::SignedAmount +impl bitcoin_units::amount::Denomination +impl bitcoin_units::amount::Display +impl bitcoin_units::amount::error::OutOfRangeError +impl bitcoin_units::block::BlockHeight +impl bitcoin_units::block::BlockInterval +impl bitcoin_units::fee_rate::FeeRate +impl bitcoin_units::locktime::absolute::Height +impl bitcoin_units::locktime::absolute::Time +impl bitcoin_units::locktime::relative::Height +impl bitcoin_units::locktime::relative::Time +impl bitcoin_units::locktime::relative::TimeOverflowError +impl bitcoin_units::parse::Integer for i128 +impl bitcoin_units::parse::Integer for i16 +impl bitcoin_units::parse::Integer for i32 +impl bitcoin_units::parse::Integer for i64 +impl bitcoin_units::parse::Integer for i8 +impl bitcoin_units::parse::Integer for u128 +impl bitcoin_units::parse::Integer for u16 +impl bitcoin_units::parse::Integer for u32 +impl bitcoin_units::parse::Integer for u64 +impl bitcoin_units::parse::Integer for u8 +impl bitcoin_units::weight::Weight +impl core::clone::Clone for bitcoin_units::Amount +impl core::clone::Clone for bitcoin_units::SignedAmount +impl core::clone::Clone for bitcoin_units::amount::Denomination +impl core::clone::Clone for bitcoin_units::amount::Display +impl core::clone::Clone for bitcoin_units::amount::error::InputTooLargeError +impl core::clone::Clone for bitcoin_units::amount::error::InvalidCharacterError +impl core::clone::Clone for bitcoin_units::amount::error::MissingDenominationError +impl core::clone::Clone for bitcoin_units::amount::error::MissingDigitsError +impl core::clone::Clone for bitcoin_units::amount::error::OutOfRangeError +impl core::clone::Clone for bitcoin_units::amount::error::ParseAmountError +impl core::clone::Clone for bitcoin_units::amount::error::ParseDenominationError +impl core::clone::Clone for bitcoin_units::amount::error::ParseError +impl core::clone::Clone for bitcoin_units::amount::error::PossiblyConfusingDenominationError +impl core::clone::Clone for bitcoin_units::amount::error::TooPreciseError +impl core::clone::Clone for bitcoin_units::amount::error::UnknownDenominationError +impl core::clone::Clone for bitcoin_units::block::BlockHeight +impl core::clone::Clone for bitcoin_units::block::BlockInterval +impl core::clone::Clone for bitcoin_units::block::TooBigForRelativeBlockHeightError +impl core::clone::Clone for bitcoin_units::fee_rate::FeeRate +impl core::clone::Clone for bitcoin_units::locktime::absolute::ConversionError +impl core::clone::Clone for bitcoin_units::locktime::absolute::Height +impl core::clone::Clone for bitcoin_units::locktime::absolute::ParseHeightError +impl core::clone::Clone for bitcoin_units::locktime::absolute::ParseTimeError +impl core::clone::Clone for bitcoin_units::locktime::absolute::Time +impl core::clone::Clone for bitcoin_units::locktime::relative::Height +impl core::clone::Clone for bitcoin_units::locktime::relative::Time +impl core::clone::Clone for bitcoin_units::locktime::relative::TimeOverflowError +impl core::clone::Clone for bitcoin_units::parse::ParseIntError +impl core::clone::Clone for bitcoin_units::parse::PrefixedHexError +impl core::clone::Clone for bitcoin_units::parse::UnprefixedHexError +impl core::clone::Clone for bitcoin_units::weight::Weight +impl core::cmp::Eq for bitcoin_units::Amount +impl core::cmp::Eq for bitcoin_units::SignedAmount +impl core::cmp::Eq for bitcoin_units::amount::Denomination +impl core::cmp::Eq for bitcoin_units::amount::error::InputTooLargeError +impl core::cmp::Eq for bitcoin_units::amount::error::InvalidCharacterError +impl core::cmp::Eq for bitcoin_units::amount::error::MissingDenominationError +impl core::cmp::Eq for bitcoin_units::amount::error::MissingDigitsError +impl core::cmp::Eq for bitcoin_units::amount::error::OutOfRangeError +impl core::cmp::Eq for bitcoin_units::amount::error::ParseAmountError +impl core::cmp::Eq for bitcoin_units::amount::error::ParseDenominationError +impl core::cmp::Eq for bitcoin_units::amount::error::ParseError +impl core::cmp::Eq for bitcoin_units::amount::error::PossiblyConfusingDenominationError +impl core::cmp::Eq for bitcoin_units::amount::error::TooPreciseError +impl core::cmp::Eq for bitcoin_units::amount::error::UnknownDenominationError +impl core::cmp::Eq for bitcoin_units::block::BlockHeight +impl core::cmp::Eq for bitcoin_units::block::BlockInterval +impl core::cmp::Eq for bitcoin_units::block::TooBigForRelativeBlockHeightError +impl core::cmp::Eq for bitcoin_units::fee_rate::FeeRate +impl core::cmp::Eq for bitcoin_units::locktime::absolute::ConversionError +impl core::cmp::Eq for bitcoin_units::locktime::absolute::Height +impl core::cmp::Eq for bitcoin_units::locktime::absolute::ParseHeightError +impl core::cmp::Eq for bitcoin_units::locktime::absolute::ParseTimeError +impl core::cmp::Eq for bitcoin_units::locktime::absolute::Time +impl core::cmp::Eq for bitcoin_units::locktime::relative::Height +impl core::cmp::Eq for bitcoin_units::locktime::relative::Time +impl core::cmp::Eq for bitcoin_units::locktime::relative::TimeOverflowError +impl core::cmp::Eq for bitcoin_units::parse::ParseIntError +impl core::cmp::Eq for bitcoin_units::parse::PrefixedHexError +impl core::cmp::Eq for bitcoin_units::parse::UnprefixedHexError +impl core::cmp::Eq for bitcoin_units::weight::Weight +impl core::cmp::Ord for bitcoin_units::Amount +impl core::cmp::Ord for bitcoin_units::SignedAmount +impl core::cmp::Ord for bitcoin_units::block::BlockHeight +impl core::cmp::Ord for bitcoin_units::block::BlockInterval +impl core::cmp::Ord for bitcoin_units::fee_rate::FeeRate +impl core::cmp::Ord for bitcoin_units::locktime::absolute::Height +impl core::cmp::Ord for bitcoin_units::locktime::absolute::Time +impl core::cmp::Ord for bitcoin_units::locktime::relative::Height +impl core::cmp::Ord for bitcoin_units::locktime::relative::Time +impl core::cmp::Ord for bitcoin_units::weight::Weight +impl core::cmp::PartialEq for bitcoin_units::Amount +impl core::cmp::PartialEq for bitcoin_units::SignedAmount +impl core::cmp::PartialEq for bitcoin_units::amount::Denomination +impl core::cmp::PartialEq for bitcoin_units::amount::error::InputTooLargeError +impl core::cmp::PartialEq for bitcoin_units::amount::error::InvalidCharacterError +impl core::cmp::PartialEq for bitcoin_units::amount::error::MissingDenominationError +impl core::cmp::PartialEq for bitcoin_units::amount::error::MissingDigitsError +impl core::cmp::PartialEq for bitcoin_units::amount::error::OutOfRangeError +impl core::cmp::PartialEq for bitcoin_units::amount::error::ParseAmountError +impl core::cmp::PartialEq for bitcoin_units::amount::error::ParseDenominationError +impl core::cmp::PartialEq for bitcoin_units::amount::error::ParseError +impl core::cmp::PartialEq for bitcoin_units::amount::error::PossiblyConfusingDenominationError +impl core::cmp::PartialEq for bitcoin_units::amount::error::TooPreciseError +impl core::cmp::PartialEq for bitcoin_units::amount::error::UnknownDenominationError +impl core::cmp::PartialEq for bitcoin_units::block::BlockHeight +impl core::cmp::PartialEq for bitcoin_units::block::BlockInterval +impl core::cmp::PartialEq for bitcoin_units::block::TooBigForRelativeBlockHeightError +impl core::cmp::PartialEq for bitcoin_units::fee_rate::FeeRate +impl core::cmp::PartialEq for bitcoin_units::locktime::absolute::ConversionError +impl core::cmp::PartialEq for bitcoin_units::locktime::absolute::Height +impl core::cmp::PartialEq for bitcoin_units::locktime::absolute::ParseHeightError +impl core::cmp::PartialEq for bitcoin_units::locktime::absolute::ParseTimeError +impl core::cmp::PartialEq for bitcoin_units::locktime::absolute::Time +impl core::cmp::PartialEq for bitcoin_units::locktime::relative::Height +impl core::cmp::PartialEq for bitcoin_units::locktime::relative::Time +impl core::cmp::PartialEq for bitcoin_units::locktime::relative::TimeOverflowError +impl core::cmp::PartialEq for bitcoin_units::parse::ParseIntError +impl core::cmp::PartialEq for bitcoin_units::parse::PrefixedHexError +impl core::cmp::PartialEq for bitcoin_units::parse::UnprefixedHexError +impl core::cmp::PartialEq for bitcoin_units::weight::Weight +impl core::cmp::PartialOrd for bitcoin_units::Amount +impl core::cmp::PartialOrd for bitcoin_units::SignedAmount +impl core::cmp::PartialOrd for bitcoin_units::block::BlockHeight +impl core::cmp::PartialOrd for bitcoin_units::block::BlockInterval +impl core::cmp::PartialOrd for bitcoin_units::fee_rate::FeeRate +impl core::cmp::PartialOrd for bitcoin_units::locktime::absolute::Height +impl core::cmp::PartialOrd for bitcoin_units::locktime::absolute::Time +impl core::cmp::PartialOrd for bitcoin_units::locktime::relative::Height +impl core::cmp::PartialOrd for bitcoin_units::locktime::relative::Time +impl core::cmp::PartialOrd for bitcoin_units::weight::Weight +impl core::convert::AsRef for bitcoin_units::parse::ParseIntError +impl core::convert::From for bitcoin_units::amount::error::ParseAmountError +impl core::convert::From for bitcoin_units::amount::error::ParseError +impl core::convert::From for bitcoin_units::amount::error::ParseAmountError +impl core::convert::From for bitcoin_units::amount::error::ParseError +impl core::convert::From for bitcoin_units::amount::error::ParseAmountError +impl core::convert::From for bitcoin_units::amount::error::ParseError +impl core::convert::From for bitcoin_units::amount::error::ParseAmountError +impl core::convert::From for bitcoin_units::amount::error::ParseError +impl core::convert::From for bitcoin_units::amount::error::ParseError +impl core::convert::From for bitcoin_units::amount::error::ParseError +impl core::convert::From for bitcoin_units::amount::error::ParseAmountError +impl core::convert::From for bitcoin_units::amount::error::ParseError +impl core::convert::From for u32 +impl core::convert::From for u32 +impl core::convert::From for u64 +impl core::convert::From for bitcoin_units::block::BlockHeight +impl core::convert::From for bitcoin_units::block::BlockInterval +impl core::convert::From for bitcoin_units::parse::PrefixedHexError +impl core::convert::From for bitcoin_units::parse::UnprefixedHexError +impl core::convert::From for core::num::error::ParseIntError +impl core::convert::From for u64 +impl core::convert::From for bitcoin_units::amount::error::ParseAmountError +impl core::convert::From for bitcoin_units::amount::error::ParseDenominationError +impl core::convert::From for bitcoin_units::amount::error::ParseError +impl core::convert::From for bitcoin_units::parse::PrefixedHexError +impl core::convert::From for bitcoin_units::parse::UnprefixedHexError +impl core::convert::From for bitcoin_units::locktime::relative::Height +impl core::convert::From for bitcoin_units::block::BlockHeight +impl core::convert::From for bitcoin_units::block::BlockInterval +impl core::convert::TryFrom<&str> for bitcoin_units::block::BlockHeight +impl core::convert::TryFrom<&str> for bitcoin_units::block::BlockInterval +impl core::convert::TryFrom<&str> for bitcoin_units::fee_rate::FeeRate +impl core::convert::TryFrom<&str> for bitcoin_units::locktime::absolute::Height +impl core::convert::TryFrom<&str> for bitcoin_units::locktime::absolute::Time +impl core::convert::TryFrom<&str> for bitcoin_units::locktime::relative::Height +impl core::convert::TryFrom<&str> for bitcoin_units::locktime::relative::Time +impl core::convert::TryFrom<&str> for bitcoin_units::weight::Weight +impl core::convert::TryFrom for bitcoin_units::SignedAmount +impl core::convert::TryFrom for bitcoin_units::Amount +impl core::convert::TryFrom for bitcoin_units::locktime::absolute::Height +impl core::convert::TryFrom for bitcoin_units::locktime::relative::Height +impl core::default::Default for bitcoin_units::Amount +impl core::default::Default for bitcoin_units::SignedAmount +impl core::default::Default for bitcoin_units::locktime::relative::Height +impl core::default::Default for bitcoin_units::locktime::relative::Time +impl core::fmt::Debug for bitcoin_units::Amount +impl core::fmt::Debug for bitcoin_units::SignedAmount +impl core::fmt::Debug for bitcoin_units::amount::Denomination +impl core::fmt::Debug for bitcoin_units::amount::Display +impl core::fmt::Debug for bitcoin_units::amount::error::InputTooLargeError +impl core::fmt::Debug for bitcoin_units::amount::error::InvalidCharacterError +impl core::fmt::Debug for bitcoin_units::amount::error::MissingDenominationError +impl core::fmt::Debug for bitcoin_units::amount::error::MissingDigitsError +impl core::fmt::Debug for bitcoin_units::amount::error::OutOfRangeError +impl core::fmt::Debug for bitcoin_units::amount::error::ParseAmountError +impl core::fmt::Debug for bitcoin_units::amount::error::ParseDenominationError +impl core::fmt::Debug for bitcoin_units::amount::error::ParseError +impl core::fmt::Debug for bitcoin_units::amount::error::PossiblyConfusingDenominationError +impl core::fmt::Debug for bitcoin_units::amount::error::TooPreciseError +impl core::fmt::Debug for bitcoin_units::amount::error::UnknownDenominationError +impl core::fmt::Debug for bitcoin_units::block::BlockHeight +impl core::fmt::Debug for bitcoin_units::block::BlockInterval +impl core::fmt::Debug for bitcoin_units::block::TooBigForRelativeBlockHeightError +impl core::fmt::Debug for bitcoin_units::fee_rate::FeeRate +impl core::fmt::Debug for bitcoin_units::locktime::absolute::ConversionError +impl core::fmt::Debug for bitcoin_units::locktime::absolute::Height +impl core::fmt::Debug for bitcoin_units::locktime::absolute::ParseHeightError +impl core::fmt::Debug for bitcoin_units::locktime::absolute::ParseTimeError +impl core::fmt::Debug for bitcoin_units::locktime::absolute::Time +impl core::fmt::Debug for bitcoin_units::locktime::relative::Height +impl core::fmt::Debug for bitcoin_units::locktime::relative::Time +impl core::fmt::Debug for bitcoin_units::locktime::relative::TimeOverflowError +impl core::fmt::Debug for bitcoin_units::parse::ParseIntError +impl core::fmt::Debug for bitcoin_units::parse::PrefixedHexError +impl core::fmt::Debug for bitcoin_units::parse::UnprefixedHexError +impl core::fmt::Debug for bitcoin_units::weight::Weight +impl core::fmt::Display for bitcoin_units::Amount +impl core::fmt::Display for bitcoin_units::SignedAmount +impl core::fmt::Display for bitcoin_units::amount::Denomination +impl core::fmt::Display for bitcoin_units::amount::Display +impl core::fmt::Display for bitcoin_units::amount::error::InputTooLargeError +impl core::fmt::Display for bitcoin_units::amount::error::InvalidCharacterError +impl core::fmt::Display for bitcoin_units::amount::error::MissingDigitsError +impl core::fmt::Display for bitcoin_units::amount::error::OutOfRangeError +impl core::fmt::Display for bitcoin_units::amount::error::ParseAmountError +impl core::fmt::Display for bitcoin_units::amount::error::ParseDenominationError +impl core::fmt::Display for bitcoin_units::amount::error::ParseError +impl core::fmt::Display for bitcoin_units::amount::error::PossiblyConfusingDenominationError +impl core::fmt::Display for bitcoin_units::amount::error::TooPreciseError +impl core::fmt::Display for bitcoin_units::amount::error::UnknownDenominationError +impl core::fmt::Display for bitcoin_units::block::BlockHeight +impl core::fmt::Display for bitcoin_units::block::BlockInterval +impl core::fmt::Display for bitcoin_units::block::TooBigForRelativeBlockHeightError +impl core::fmt::Display for bitcoin_units::fee_rate::FeeRate +impl core::fmt::Display for bitcoin_units::locktime::absolute::ConversionError +impl core::fmt::Display for bitcoin_units::locktime::absolute::Height +impl core::fmt::Display for bitcoin_units::locktime::absolute::ParseHeightError +impl core::fmt::Display for bitcoin_units::locktime::absolute::ParseTimeError +impl core::fmt::Display for bitcoin_units::locktime::absolute::Time +impl core::fmt::Display for bitcoin_units::locktime::relative::Height +impl core::fmt::Display for bitcoin_units::locktime::relative::Time +impl core::fmt::Display for bitcoin_units::locktime::relative::TimeOverflowError +impl core::fmt::Display for bitcoin_units::parse::ParseIntError +impl core::fmt::Display for bitcoin_units::parse::PrefixedHexError +impl core::fmt::Display for bitcoin_units::parse::UnprefixedHexError +impl core::fmt::Display for bitcoin_units::weight::Weight +impl core::hash::Hash for bitcoin_units::Amount +impl core::hash::Hash for bitcoin_units::SignedAmount +impl core::hash::Hash for bitcoin_units::amount::Denomination +impl core::hash::Hash for bitcoin_units::block::BlockHeight +impl core::hash::Hash for bitcoin_units::block::BlockInterval +impl core::hash::Hash for bitcoin_units::fee_rate::FeeRate +impl core::hash::Hash for bitcoin_units::locktime::absolute::Height +impl core::hash::Hash for bitcoin_units::locktime::absolute::Time +impl core::hash::Hash for bitcoin_units::locktime::relative::Height +impl core::hash::Hash for bitcoin_units::locktime::relative::Time +impl core::hash::Hash for bitcoin_units::weight::Weight +impl core::iter::traits::accum::Sum for bitcoin_units::Amount +impl core::iter::traits::accum::Sum for bitcoin_units::SignedAmount +impl core::iter::traits::accum::Sum for bitcoin_units::block::BlockInterval +impl core::iter::traits::accum::Sum for bitcoin_units::fee_rate::FeeRate +impl core::iter::traits::accum::Sum for bitcoin_units::weight::Weight +impl core::marker::Copy for bitcoin_units::Amount +impl core::marker::Copy for bitcoin_units::SignedAmount +impl core::marker::Copy for bitcoin_units::amount::Denomination +impl core::marker::Copy for bitcoin_units::amount::error::OutOfRangeError +impl core::marker::Copy for bitcoin_units::block::BlockHeight +impl core::marker::Copy for bitcoin_units::block::BlockInterval +impl core::marker::Copy for bitcoin_units::fee_rate::FeeRate +impl core::marker::Copy for bitcoin_units::locktime::absolute::Height +impl core::marker::Copy for bitcoin_units::locktime::absolute::Time +impl core::marker::Copy for bitcoin_units::locktime::relative::Height +impl core::marker::Copy for bitcoin_units::locktime::relative::Time +impl core::marker::Copy for bitcoin_units::weight::Weight +impl core::marker::Freeze for bitcoin_units::Amount +impl core::marker::Freeze for bitcoin_units::SignedAmount +impl core::marker::Freeze for bitcoin_units::amount::Denomination +impl core::marker::Freeze for bitcoin_units::amount::Display +impl core::marker::Freeze for bitcoin_units::amount::error::InputTooLargeError +impl core::marker::Freeze for bitcoin_units::amount::error::InvalidCharacterError +impl core::marker::Freeze for bitcoin_units::amount::error::MissingDenominationError +impl core::marker::Freeze for bitcoin_units::amount::error::MissingDigitsError +impl core::marker::Freeze for bitcoin_units::amount::error::OutOfRangeError +impl core::marker::Freeze for bitcoin_units::amount::error::ParseAmountError +impl core::marker::Freeze for bitcoin_units::amount::error::ParseDenominationError +impl core::marker::Freeze for bitcoin_units::amount::error::ParseError +impl core::marker::Freeze for bitcoin_units::amount::error::PossiblyConfusingDenominationError +impl core::marker::Freeze for bitcoin_units::amount::error::TooPreciseError +impl core::marker::Freeze for bitcoin_units::amount::error::UnknownDenominationError +impl core::marker::Freeze for bitcoin_units::block::BlockHeight +impl core::marker::Freeze for bitcoin_units::block::BlockInterval +impl core::marker::Freeze for bitcoin_units::block::TooBigForRelativeBlockHeightError +impl core::marker::Freeze for bitcoin_units::fee_rate::FeeRate +impl core::marker::Freeze for bitcoin_units::locktime::absolute::ConversionError +impl core::marker::Freeze for bitcoin_units::locktime::absolute::Height +impl core::marker::Freeze for bitcoin_units::locktime::absolute::ParseHeightError +impl core::marker::Freeze for bitcoin_units::locktime::absolute::ParseTimeError +impl core::marker::Freeze for bitcoin_units::locktime::absolute::Time +impl core::marker::Freeze for bitcoin_units::locktime::relative::Height +impl core::marker::Freeze for bitcoin_units::locktime::relative::Time +impl core::marker::Freeze for bitcoin_units::locktime::relative::TimeOverflowError +impl core::marker::Freeze for bitcoin_units::parse::ParseIntError +impl core::marker::Freeze for bitcoin_units::parse::PrefixedHexError +impl core::marker::Freeze for bitcoin_units::parse::UnprefixedHexError +impl core::marker::Freeze for bitcoin_units::weight::Weight +impl core::marker::Send for bitcoin_units::Amount +impl core::marker::Send for bitcoin_units::SignedAmount +impl core::marker::Send for bitcoin_units::amount::Denomination +impl core::marker::Send for bitcoin_units::amount::Display +impl core::marker::Send for bitcoin_units::amount::error::InputTooLargeError +impl core::marker::Send for bitcoin_units::amount::error::InvalidCharacterError +impl core::marker::Send for bitcoin_units::amount::error::MissingDenominationError +impl core::marker::Send for bitcoin_units::amount::error::MissingDigitsError +impl core::marker::Send for bitcoin_units::amount::error::OutOfRangeError +impl core::marker::Send for bitcoin_units::amount::error::ParseAmountError +impl core::marker::Send for bitcoin_units::amount::error::ParseDenominationError +impl core::marker::Send for bitcoin_units::amount::error::ParseError +impl core::marker::Send for bitcoin_units::amount::error::PossiblyConfusingDenominationError +impl core::marker::Send for bitcoin_units::amount::error::TooPreciseError +impl core::marker::Send for bitcoin_units::amount::error::UnknownDenominationError +impl core::marker::Send for bitcoin_units::block::BlockHeight +impl core::marker::Send for bitcoin_units::block::BlockInterval +impl core::marker::Send for bitcoin_units::block::TooBigForRelativeBlockHeightError +impl core::marker::Send for bitcoin_units::fee_rate::FeeRate +impl core::marker::Send for bitcoin_units::locktime::absolute::ConversionError +impl core::marker::Send for bitcoin_units::locktime::absolute::Height +impl core::marker::Send for bitcoin_units::locktime::absolute::ParseHeightError +impl core::marker::Send for bitcoin_units::locktime::absolute::ParseTimeError +impl core::marker::Send for bitcoin_units::locktime::absolute::Time +impl core::marker::Send for bitcoin_units::locktime::relative::Height +impl core::marker::Send for bitcoin_units::locktime::relative::Time +impl core::marker::Send for bitcoin_units::locktime::relative::TimeOverflowError +impl core::marker::Send for bitcoin_units::parse::ParseIntError +impl core::marker::Send for bitcoin_units::parse::PrefixedHexError +impl core::marker::Send for bitcoin_units::parse::UnprefixedHexError +impl core::marker::Send for bitcoin_units::weight::Weight +impl core::marker::StructuralPartialEq for bitcoin_units::Amount +impl core::marker::StructuralPartialEq for bitcoin_units::SignedAmount +impl core::marker::StructuralPartialEq for bitcoin_units::amount::Denomination +impl core::marker::StructuralPartialEq for bitcoin_units::amount::error::InputTooLargeError +impl core::marker::StructuralPartialEq for bitcoin_units::amount::error::InvalidCharacterError +impl core::marker::StructuralPartialEq for bitcoin_units::amount::error::MissingDenominationError +impl core::marker::StructuralPartialEq for bitcoin_units::amount::error::MissingDigitsError +impl core::marker::StructuralPartialEq for bitcoin_units::amount::error::OutOfRangeError +impl core::marker::StructuralPartialEq for bitcoin_units::amount::error::ParseAmountError +impl core::marker::StructuralPartialEq for bitcoin_units::amount::error::ParseDenominationError +impl core::marker::StructuralPartialEq for bitcoin_units::amount::error::ParseError +impl core::marker::StructuralPartialEq for bitcoin_units::amount::error::PossiblyConfusingDenominationError +impl core::marker::StructuralPartialEq for bitcoin_units::amount::error::TooPreciseError +impl core::marker::StructuralPartialEq for bitcoin_units::amount::error::UnknownDenominationError +impl core::marker::StructuralPartialEq for bitcoin_units::block::BlockHeight +impl core::marker::StructuralPartialEq for bitcoin_units::block::BlockInterval +impl core::marker::StructuralPartialEq for bitcoin_units::block::TooBigForRelativeBlockHeightError +impl core::marker::StructuralPartialEq for bitcoin_units::fee_rate::FeeRate +impl core::marker::StructuralPartialEq for bitcoin_units::locktime::absolute::ConversionError +impl core::marker::StructuralPartialEq for bitcoin_units::locktime::absolute::Height +impl core::marker::StructuralPartialEq for bitcoin_units::locktime::absolute::ParseHeightError +impl core::marker::StructuralPartialEq for bitcoin_units::locktime::absolute::ParseTimeError +impl core::marker::StructuralPartialEq for bitcoin_units::locktime::absolute::Time +impl core::marker::StructuralPartialEq for bitcoin_units::locktime::relative::Height +impl core::marker::StructuralPartialEq for bitcoin_units::locktime::relative::Time +impl core::marker::StructuralPartialEq for bitcoin_units::locktime::relative::TimeOverflowError +impl core::marker::StructuralPartialEq for bitcoin_units::parse::ParseIntError +impl core::marker::StructuralPartialEq for bitcoin_units::parse::PrefixedHexError +impl core::marker::StructuralPartialEq for bitcoin_units::parse::UnprefixedHexError +impl core::marker::StructuralPartialEq for bitcoin_units::weight::Weight +impl core::marker::Sync for bitcoin_units::Amount +impl core::marker::Sync for bitcoin_units::SignedAmount +impl core::marker::Sync for bitcoin_units::amount::Denomination +impl core::marker::Sync for bitcoin_units::amount::Display +impl core::marker::Sync for bitcoin_units::amount::error::InputTooLargeError +impl core::marker::Sync for bitcoin_units::amount::error::InvalidCharacterError +impl core::marker::Sync for bitcoin_units::amount::error::MissingDenominationError +impl core::marker::Sync for bitcoin_units::amount::error::MissingDigitsError +impl core::marker::Sync for bitcoin_units::amount::error::OutOfRangeError +impl core::marker::Sync for bitcoin_units::amount::error::ParseAmountError +impl core::marker::Sync for bitcoin_units::amount::error::ParseDenominationError +impl core::marker::Sync for bitcoin_units::amount::error::ParseError +impl core::marker::Sync for bitcoin_units::amount::error::PossiblyConfusingDenominationError +impl core::marker::Sync for bitcoin_units::amount::error::TooPreciseError +impl core::marker::Sync for bitcoin_units::amount::error::UnknownDenominationError +impl core::marker::Sync for bitcoin_units::block::BlockHeight +impl core::marker::Sync for bitcoin_units::block::BlockInterval +impl core::marker::Sync for bitcoin_units::block::TooBigForRelativeBlockHeightError +impl core::marker::Sync for bitcoin_units::fee_rate::FeeRate +impl core::marker::Sync for bitcoin_units::locktime::absolute::ConversionError +impl core::marker::Sync for bitcoin_units::locktime::absolute::Height +impl core::marker::Sync for bitcoin_units::locktime::absolute::ParseHeightError +impl core::marker::Sync for bitcoin_units::locktime::absolute::ParseTimeError +impl core::marker::Sync for bitcoin_units::locktime::absolute::Time +impl core::marker::Sync for bitcoin_units::locktime::relative::Height +impl core::marker::Sync for bitcoin_units::locktime::relative::Time +impl core::marker::Sync for bitcoin_units::locktime::relative::TimeOverflowError +impl core::marker::Sync for bitcoin_units::parse::ParseIntError +impl core::marker::Sync for bitcoin_units::parse::PrefixedHexError +impl core::marker::Sync for bitcoin_units::parse::UnprefixedHexError +impl core::marker::Sync for bitcoin_units::weight::Weight +impl core::marker::Unpin for bitcoin_units::Amount +impl core::marker::Unpin for bitcoin_units::SignedAmount +impl core::marker::Unpin for bitcoin_units::amount::Denomination +impl core::marker::Unpin for bitcoin_units::amount::Display +impl core::marker::Unpin for bitcoin_units::amount::error::InputTooLargeError +impl core::marker::Unpin for bitcoin_units::amount::error::InvalidCharacterError +impl core::marker::Unpin for bitcoin_units::amount::error::MissingDenominationError +impl core::marker::Unpin for bitcoin_units::amount::error::MissingDigitsError +impl core::marker::Unpin for bitcoin_units::amount::error::OutOfRangeError +impl core::marker::Unpin for bitcoin_units::amount::error::ParseAmountError +impl core::marker::Unpin for bitcoin_units::amount::error::ParseDenominationError +impl core::marker::Unpin for bitcoin_units::amount::error::ParseError +impl core::marker::Unpin for bitcoin_units::amount::error::PossiblyConfusingDenominationError +impl core::marker::Unpin for bitcoin_units::amount::error::TooPreciseError +impl core::marker::Unpin for bitcoin_units::amount::error::UnknownDenominationError +impl core::marker::Unpin for bitcoin_units::block::BlockHeight +impl core::marker::Unpin for bitcoin_units::block::BlockInterval +impl core::marker::Unpin for bitcoin_units::block::TooBigForRelativeBlockHeightError +impl core::marker::Unpin for bitcoin_units::fee_rate::FeeRate +impl core::marker::Unpin for bitcoin_units::locktime::absolute::ConversionError +impl core::marker::Unpin for bitcoin_units::locktime::absolute::Height +impl core::marker::Unpin for bitcoin_units::locktime::absolute::ParseHeightError +impl core::marker::Unpin for bitcoin_units::locktime::absolute::ParseTimeError +impl core::marker::Unpin for bitcoin_units::locktime::absolute::Time +impl core::marker::Unpin for bitcoin_units::locktime::relative::Height +impl core::marker::Unpin for bitcoin_units::locktime::relative::Time +impl core::marker::Unpin for bitcoin_units::locktime::relative::TimeOverflowError +impl core::marker::Unpin for bitcoin_units::parse::ParseIntError +impl core::marker::Unpin for bitcoin_units::parse::PrefixedHexError +impl core::marker::Unpin for bitcoin_units::parse::UnprefixedHexError +impl core::marker::Unpin for bitcoin_units::weight::Weight +impl core::ops::arith::Add for bitcoin_units::Amount +impl core::ops::arith::Add for bitcoin_units::SignedAmount +impl core::ops::arith::Add for bitcoin_units::block::BlockInterval +impl core::ops::arith::Add for bitcoin_units::fee_rate::FeeRate +impl core::ops::arith::Add for bitcoin_units::weight::Weight +impl core::ops::arith::Add<&bitcoin_units::fee_rate::FeeRate> for bitcoin_units::fee_rate::FeeRate +impl core::ops::arith::Add for bitcoin_units::block::BlockHeight +impl core::ops::arith::Add for &bitcoin_units::fee_rate::FeeRate +impl core::ops::arith::AddAssign for bitcoin_units::Amount +impl core::ops::arith::AddAssign for bitcoin_units::SignedAmount +impl core::ops::arith::AddAssign for bitcoin_units::block::BlockInterval +impl core::ops::arith::AddAssign for bitcoin_units::fee_rate::FeeRate +impl core::ops::arith::AddAssign for bitcoin_units::weight::Weight +impl core::ops::arith::AddAssign<&bitcoin_units::fee_rate::FeeRate> for bitcoin_units::fee_rate::FeeRate +impl core::ops::arith::Div for bitcoin_units::weight::Weight +impl core::ops::arith::Div for bitcoin_units::Amount +impl core::ops::arith::Div for bitcoin_units::SignedAmount +impl core::ops::arith::Div for bitcoin_units::Amount +impl core::ops::arith::Div for bitcoin_units::weight::Weight +impl core::ops::arith::DivAssign for bitcoin_units::SignedAmount +impl core::ops::arith::DivAssign for bitcoin_units::Amount +impl core::ops::arith::DivAssign for bitcoin_units::weight::Weight +impl core::ops::arith::Mul for bitcoin_units::weight::Weight +impl core::ops::arith::Mul for bitcoin_units::fee_rate::FeeRate +impl core::ops::arith::Mul for u64 +impl core::ops::arith::Mul for bitcoin_units::SignedAmount +impl core::ops::arith::Mul for bitcoin_units::Amount +impl core::ops::arith::Mul for bitcoin_units::weight::Weight +impl core::ops::arith::MulAssign for bitcoin_units::SignedAmount +impl core::ops::arith::MulAssign for bitcoin_units::Amount +impl core::ops::arith::MulAssign for bitcoin_units::weight::Weight +impl core::ops::arith::Neg for bitcoin_units::SignedAmount +impl core::ops::arith::Rem for bitcoin_units::SignedAmount +impl core::ops::arith::Rem for bitcoin_units::Amount +impl core::ops::arith::RemAssign for bitcoin_units::SignedAmount +impl core::ops::arith::RemAssign for bitcoin_units::Amount +impl core::ops::arith::Sub for bitcoin_units::Amount +impl core::ops::arith::Sub for bitcoin_units::SignedAmount +impl core::ops::arith::Sub for bitcoin_units::block::BlockHeight +impl core::ops::arith::Sub for bitcoin_units::block::BlockInterval +impl core::ops::arith::Sub for bitcoin_units::fee_rate::FeeRate +impl core::ops::arith::Sub for bitcoin_units::weight::Weight +impl core::ops::arith::Sub<&bitcoin_units::fee_rate::FeeRate> for bitcoin_units::fee_rate::FeeRate +impl core::ops::arith::Sub for bitcoin_units::block::BlockHeight +impl core::ops::arith::Sub for &bitcoin_units::fee_rate::FeeRate +impl core::ops::arith::SubAssign for bitcoin_units::Amount +impl core::ops::arith::SubAssign for bitcoin_units::SignedAmount +impl core::ops::arith::SubAssign for bitcoin_units::block::BlockInterval +impl core::ops::arith::SubAssign for bitcoin_units::fee_rate::FeeRate +impl core::ops::arith::SubAssign for bitcoin_units::weight::Weight +impl core::ops::arith::SubAssign<&bitcoin_units::fee_rate::FeeRate> for bitcoin_units::fee_rate::FeeRate +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_units::Amount +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_units::SignedAmount +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_units::amount::Denomination +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_units::amount::Display +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_units::amount::error::InputTooLargeError +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_units::amount::error::InvalidCharacterError +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_units::amount::error::MissingDenominationError +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_units::amount::error::MissingDigitsError +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_units::amount::error::OutOfRangeError +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_units::amount::error::ParseAmountError +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_units::amount::error::ParseDenominationError +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_units::amount::error::ParseError +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_units::amount::error::PossiblyConfusingDenominationError +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_units::amount::error::TooPreciseError +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_units::amount::error::UnknownDenominationError +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_units::block::BlockHeight +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_units::block::BlockInterval +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_units::block::TooBigForRelativeBlockHeightError +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_units::fee_rate::FeeRate +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_units::locktime::absolute::ConversionError +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_units::locktime::absolute::Height +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_units::locktime::absolute::ParseHeightError +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_units::locktime::absolute::ParseTimeError +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_units::locktime::absolute::Time +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_units::locktime::relative::Height +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_units::locktime::relative::Time +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_units::locktime::relative::TimeOverflowError +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_units::parse::ParseIntError +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_units::parse::PrefixedHexError +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_units::parse::UnprefixedHexError +impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_units::weight::Weight +impl core::panic::unwind_safe::UnwindSafe for bitcoin_units::Amount +impl core::panic::unwind_safe::UnwindSafe for bitcoin_units::SignedAmount +impl core::panic::unwind_safe::UnwindSafe for bitcoin_units::amount::Denomination +impl core::panic::unwind_safe::UnwindSafe for bitcoin_units::amount::Display +impl core::panic::unwind_safe::UnwindSafe for bitcoin_units::amount::error::InputTooLargeError +impl core::panic::unwind_safe::UnwindSafe for bitcoin_units::amount::error::InvalidCharacterError +impl core::panic::unwind_safe::UnwindSafe for bitcoin_units::amount::error::MissingDenominationError +impl core::panic::unwind_safe::UnwindSafe for bitcoin_units::amount::error::MissingDigitsError +impl core::panic::unwind_safe::UnwindSafe for bitcoin_units::amount::error::OutOfRangeError +impl core::panic::unwind_safe::UnwindSafe for bitcoin_units::amount::error::ParseAmountError +impl core::panic::unwind_safe::UnwindSafe for bitcoin_units::amount::error::ParseDenominationError +impl core::panic::unwind_safe::UnwindSafe for bitcoin_units::amount::error::ParseError +impl core::panic::unwind_safe::UnwindSafe for bitcoin_units::amount::error::PossiblyConfusingDenominationError +impl core::panic::unwind_safe::UnwindSafe for bitcoin_units::amount::error::TooPreciseError +impl core::panic::unwind_safe::UnwindSafe for bitcoin_units::amount::error::UnknownDenominationError +impl core::panic::unwind_safe::UnwindSafe for bitcoin_units::block::BlockHeight +impl core::panic::unwind_safe::UnwindSafe for bitcoin_units::block::BlockInterval +impl core::panic::unwind_safe::UnwindSafe for bitcoin_units::block::TooBigForRelativeBlockHeightError +impl core::panic::unwind_safe::UnwindSafe for bitcoin_units::fee_rate::FeeRate +impl core::panic::unwind_safe::UnwindSafe for bitcoin_units::locktime::absolute::ConversionError +impl core::panic::unwind_safe::UnwindSafe for bitcoin_units::locktime::absolute::Height +impl core::panic::unwind_safe::UnwindSafe for bitcoin_units::locktime::absolute::ParseHeightError +impl core::panic::unwind_safe::UnwindSafe for bitcoin_units::locktime::absolute::ParseTimeError +impl core::panic::unwind_safe::UnwindSafe for bitcoin_units::locktime::absolute::Time +impl core::panic::unwind_safe::UnwindSafe for bitcoin_units::locktime::relative::Height +impl core::panic::unwind_safe::UnwindSafe for bitcoin_units::locktime::relative::Time +impl core::panic::unwind_safe::UnwindSafe for bitcoin_units::locktime::relative::TimeOverflowError +impl core::panic::unwind_safe::UnwindSafe for bitcoin_units::parse::ParseIntError +impl core::panic::unwind_safe::UnwindSafe for bitcoin_units::parse::PrefixedHexError +impl core::panic::unwind_safe::UnwindSafe for bitcoin_units::parse::UnprefixedHexError +impl core::panic::unwind_safe::UnwindSafe for bitcoin_units::weight::Weight +impl core::str::traits::FromStr for bitcoin_units::Amount +impl core::str::traits::FromStr for bitcoin_units::SignedAmount +impl core::str::traits::FromStr for bitcoin_units::amount::Denomination +impl core::str::traits::FromStr for bitcoin_units::block::BlockHeight +impl core::str::traits::FromStr for bitcoin_units::block::BlockInterval +impl core::str::traits::FromStr for bitcoin_units::fee_rate::FeeRate +impl core::str::traits::FromStr for bitcoin_units::locktime::absolute::Height +impl core::str::traits::FromStr for bitcoin_units::locktime::absolute::Time +impl core::str::traits::FromStr for bitcoin_units::locktime::relative::Height +impl core::str::traits::FromStr for bitcoin_units::locktime::relative::Time +impl core::str::traits::FromStr for bitcoin_units::weight::Weight +impl<'a> core::iter::traits::accum::Sum<&'a bitcoin_units::Amount> for bitcoin_units::Amount +impl<'a> core::iter::traits::accum::Sum<&'a bitcoin_units::SignedAmount> for bitcoin_units::SignedAmount +impl<'a> core::iter::traits::accum::Sum<&'a bitcoin_units::block::BlockInterval> for bitcoin_units::block::BlockInterval +impl<'a> core::iter::traits::accum::Sum<&'a bitcoin_units::fee_rate::FeeRate> for bitcoin_units::fee_rate::FeeRate +impl<'a> core::iter::traits::accum::Sum<&'a bitcoin_units::weight::Weight> for bitcoin_units::weight::Weight +impl<'a> core::ops::arith::Add<&'a bitcoin_units::fee_rate::FeeRate> for &bitcoin_units::fee_rate::FeeRate +impl<'a> core::ops::arith::Sub<&'a bitcoin_units::fee_rate::FeeRate> for &bitcoin_units::fee_rate::FeeRate +impl bitcoin_units::amount::CheckedSum for T where T: core::iter::traits::iterator::Iterator +impl bitcoin_units::amount::CheckedSum for T where T: core::iter::traits::iterator::Iterator +pub bitcoin_units::amount::Denomination::Bit +pub bitcoin_units::amount::Denomination::Bitcoin +pub bitcoin_units::amount::Denomination::CentiBitcoin +pub bitcoin_units::amount::Denomination::MicroBitcoin +pub bitcoin_units::amount::Denomination::MilliBitcoin +pub bitcoin_units::amount::Denomination::Satoshi +pub bitcoin_units::amount::ParseDenominationError::PossiblyConfusing(bitcoin_units::amount::error::PossiblyConfusingDenominationError) +pub bitcoin_units::amount::ParseDenominationError::Unknown(bitcoin_units::amount::error::UnknownDenominationError) +pub bitcoin_units::amount::error::ParseDenominationError::PossiblyConfusing(bitcoin_units::amount::error::PossiblyConfusingDenominationError) +pub bitcoin_units::amount::error::ParseDenominationError::Unknown(bitcoin_units::amount::error::UnknownDenominationError) +pub const bitcoin_units::Amount::MAX: bitcoin_units::Amount +pub const bitcoin_units::Amount::MAX_MONEY: bitcoin_units::Amount +pub const bitcoin_units::Amount::MIN: bitcoin_units::Amount +pub const bitcoin_units::Amount::ONE_BTC: bitcoin_units::Amount +pub const bitcoin_units::Amount::ONE_SAT: bitcoin_units::Amount +pub const bitcoin_units::Amount::SIZE: usize +pub const bitcoin_units::Amount::ZERO: bitcoin_units::Amount +pub const bitcoin_units::SignedAmount::MAX: bitcoin_units::SignedAmount +pub const bitcoin_units::SignedAmount::MAX_MONEY: bitcoin_units::SignedAmount +pub const bitcoin_units::SignedAmount::MIN: bitcoin_units::SignedAmount +pub const bitcoin_units::SignedAmount::ONE_BTC: bitcoin_units::SignedAmount +pub const bitcoin_units::SignedAmount::ONE_SAT: bitcoin_units::SignedAmount +pub const bitcoin_units::SignedAmount::ZERO: bitcoin_units::SignedAmount +pub const bitcoin_units::amount::Denomination::BTC: Self +pub const bitcoin_units::amount::Denomination::SAT: Self +pub const bitcoin_units::block::BlockHeight::MAX: Self +pub const bitcoin_units::block::BlockHeight::MIN: Self +pub const bitcoin_units::block::BlockHeight::ZERO: Self +pub const bitcoin_units::block::BlockInterval::MAX: Self +pub const bitcoin_units::block::BlockInterval::MIN: Self +pub const bitcoin_units::block::BlockInterval::ZERO: Self +pub const bitcoin_units::fee_rate::FeeRate::BROADCAST_MIN: bitcoin_units::fee_rate::FeeRate +pub const bitcoin_units::fee_rate::FeeRate::DUST: bitcoin_units::fee_rate::FeeRate +pub const bitcoin_units::fee_rate::FeeRate::MAX: bitcoin_units::fee_rate::FeeRate +pub const bitcoin_units::fee_rate::FeeRate::MIN: bitcoin_units::fee_rate::FeeRate +pub const bitcoin_units::fee_rate::FeeRate::ZERO: bitcoin_units::fee_rate::FeeRate +pub const bitcoin_units::locktime::absolute::Height::MAX: Self +pub const bitcoin_units::locktime::absolute::Height::MIN: Self +pub const bitcoin_units::locktime::absolute::Height::ZERO: Self +pub const bitcoin_units::locktime::absolute::LOCK_TIME_THRESHOLD: u32 +pub const bitcoin_units::locktime::absolute::Time::MAX: Self +pub const bitcoin_units::locktime::absolute::Time::MIN: Self +pub const bitcoin_units::locktime::relative::Height::MAX: Self +pub const bitcoin_units::locktime::relative::Height::MIN: Self +pub const bitcoin_units::locktime::relative::Height::ZERO: Self +pub const bitcoin_units::locktime::relative::Time::MAX: Self +pub const bitcoin_units::locktime::relative::Time::MIN: Self +pub const bitcoin_units::locktime::relative::Time::ZERO: Self +pub const bitcoin_units::weight::WITNESS_SCALE_FACTOR: usize +pub const bitcoin_units::weight::Weight::MAX: bitcoin_units::weight::Weight +pub const bitcoin_units::weight::Weight::MAX_BLOCK: bitcoin_units::weight::Weight +pub const bitcoin_units::weight::Weight::MIN: bitcoin_units::weight::Weight +pub const bitcoin_units::weight::Weight::MIN_TRANSACTION: bitcoin_units::weight::Weight +pub const bitcoin_units::weight::Weight::WITNESS_SCALE_FACTOR: u64 +pub const bitcoin_units::weight::Weight::ZERO: bitcoin_units::weight::Weight +pub const fn bitcoin_units::Amount::checked_add(self, rhs: bitcoin_units::Amount) -> core::option::Option +pub const fn bitcoin_units::Amount::checked_div(self, rhs: u64) -> core::option::Option +pub const fn bitcoin_units::Amount::checked_mul(self, rhs: u64) -> core::option::Option +pub const fn bitcoin_units::Amount::checked_rem(self, rhs: u64) -> core::option::Option +pub const fn bitcoin_units::Amount::checked_sub(self, rhs: bitcoin_units::Amount) -> core::option::Option +pub const fn bitcoin_units::Amount::from_int_btc_const(btc: u64) -> bitcoin_units::Amount +pub const fn bitcoin_units::Amount::from_sat(satoshi: u64) -> bitcoin_units::Amount +pub const fn bitcoin_units::Amount::to_sat(self) -> u64 +pub const fn bitcoin_units::SignedAmount::checked_abs(self) -> core::option::Option +pub const fn bitcoin_units::SignedAmount::checked_add(self, rhs: bitcoin_units::SignedAmount) -> core::option::Option +pub const fn bitcoin_units::SignedAmount::checked_div(self, rhs: i64) -> core::option::Option +pub const fn bitcoin_units::SignedAmount::checked_mul(self, rhs: i64) -> core::option::Option +pub const fn bitcoin_units::SignedAmount::checked_rem(self, rhs: i64) -> core::option::Option +pub const fn bitcoin_units::SignedAmount::checked_sub(self, rhs: bitcoin_units::SignedAmount) -> core::option::Option +pub const fn bitcoin_units::SignedAmount::from_int_btc_const(btc: i64) -> bitcoin_units::SignedAmount +pub const fn bitcoin_units::SignedAmount::from_sat(satoshi: i64) -> bitcoin_units::SignedAmount +pub const fn bitcoin_units::SignedAmount::to_sat(self) -> i64 +pub const fn bitcoin_units::block::BlockHeight::from_u32(inner: u32) -> Self +pub const fn bitcoin_units::block::BlockHeight::to_u32(&self) -> u32 +pub const fn bitcoin_units::block::BlockInterval::from_u32(inner: u32) -> Self +pub const fn bitcoin_units::block::BlockInterval::to_u32(&self) -> u32 +pub const fn bitcoin_units::fee_rate::FeeRate::checked_add(self, rhs: u64) -> core::option::Option +pub const fn bitcoin_units::fee_rate::FeeRate::checked_div(self, rhs: u64) -> core::option::Option +pub const fn bitcoin_units::fee_rate::FeeRate::checked_mul(self, rhs: u64) -> core::option::Option +pub const fn bitcoin_units::fee_rate::FeeRate::checked_mul_by_weight(self, rhs: bitcoin_units::weight::Weight) -> core::option::Option +pub const fn bitcoin_units::fee_rate::FeeRate::checked_sub(self, rhs: u64) -> core::option::Option +pub const fn bitcoin_units::fee_rate::FeeRate::from_sat_per_kvb(sat_kvb: u64) -> Self +pub const fn bitcoin_units::fee_rate::FeeRate::from_sat_per_kwu(sat_kwu: u64) -> Self +pub const fn bitcoin_units::fee_rate::FeeRate::from_sat_per_vb_unchecked(sat_vb: u64) -> Self +pub const fn bitcoin_units::fee_rate::FeeRate::to_sat_per_kwu(self) -> u64 +pub const fn bitcoin_units::fee_rate::FeeRate::to_sat_per_vb_ceil(self) -> u64 +pub const fn bitcoin_units::fee_rate::FeeRate::to_sat_per_vb_floor(self) -> u64 +pub const fn bitcoin_units::locktime::absolute::Height::from_consensus(n: u32) -> core::result::Result +pub const fn bitcoin_units::locktime::absolute::Height::to_consensus_u32(self) -> u32 +pub const fn bitcoin_units::locktime::absolute::Time::from_consensus(n: u32) -> core::result::Result +pub const fn bitcoin_units::locktime::absolute::Time::to_consensus_u32(self) -> u32 +pub const fn bitcoin_units::locktime::absolute::is_block_height(n: u32) -> bool +pub const fn bitcoin_units::locktime::absolute::is_block_time(n: u32) -> bool +pub const fn bitcoin_units::locktime::relative::Height::from_height(blocks: u16) -> Self +pub const fn bitcoin_units::locktime::relative::Height::to_consensus_u32(&self) -> u32 +pub const fn bitcoin_units::locktime::relative::Height::value(self) -> u16 +pub const fn bitcoin_units::locktime::relative::Time::from_512_second_intervals(intervals: u16) -> Self +pub const fn bitcoin_units::locktime::relative::Time::from_seconds_ceil(seconds: u32) -> core::result::Result +pub const fn bitcoin_units::locktime::relative::Time::from_seconds_floor(seconds: u32) -> core::result::Result +pub const fn bitcoin_units::locktime::relative::Time::to_consensus_u32(&self) -> u32 +pub const fn bitcoin_units::locktime::relative::Time::value(self) -> u16 +pub const fn bitcoin_units::weight::Weight::checked_add(self, rhs: Self) -> core::option::Option +pub const fn bitcoin_units::weight::Weight::checked_div(self, rhs: u64) -> core::option::Option +pub const fn bitcoin_units::weight::Weight::checked_mul(self, rhs: u64) -> core::option::Option +pub const fn bitcoin_units::weight::Weight::checked_sub(self, rhs: Self) -> core::option::Option +pub const fn bitcoin_units::weight::Weight::from_non_witness_data_size(non_witness_size: u64) -> Self +pub const fn bitcoin_units::weight::Weight::from_vb(vb: u64) -> core::option::Option +pub const fn bitcoin_units::weight::Weight::from_vb_unchecked(vb: u64) -> Self +pub const fn bitcoin_units::weight::Weight::from_vb_unwrap(vb: u64) -> bitcoin_units::weight::Weight +pub const fn bitcoin_units::weight::Weight::from_witness_data_size(witness_size: u64) -> Self +pub const fn bitcoin_units::weight::Weight::from_wu(wu: u64) -> Self +pub const fn bitcoin_units::weight::Weight::from_wu_usize(wu: usize) -> Self +pub const fn bitcoin_units::weight::Weight::to_kwu_floor(self) -> u64 +pub const fn bitcoin_units::weight::Weight::to_vbytes_ceil(self) -> u64 +pub const fn bitcoin_units::weight::Weight::to_vbytes_floor(self) -> u64 +pub const fn bitcoin_units::weight::Weight::to_wu(self) -> u64 +pub fn &bitcoin_units::fee_rate::FeeRate::add(self, other: &'a bitcoin_units::fee_rate::FeeRate) -> ::Output +pub fn &bitcoin_units::fee_rate::FeeRate::add(self, other: bitcoin_units::fee_rate::FeeRate) -> ::Output +pub fn &bitcoin_units::fee_rate::FeeRate::sub(self, other: &'a bitcoin_units::fee_rate::FeeRate) -> ::Output +pub fn &bitcoin_units::fee_rate::FeeRate::sub(self, other: bitcoin_units::fee_rate::FeeRate) -> ::Output +pub fn T::checked_sum(self) -> core::option::Option +pub fn T::checked_sum(self) -> core::option::Option +pub fn bitcoin_units::Amount::add(self, rhs: bitcoin_units::Amount) -> Self::Output +pub fn bitcoin_units::Amount::add_assign(&mut self, other: bitcoin_units::Amount) +pub fn bitcoin_units::Amount::clone(&self) -> bitcoin_units::Amount +pub fn bitcoin_units::Amount::cmp(&self, other: &bitcoin_units::Amount) -> core::cmp::Ordering +pub fn bitcoin_units::Amount::default() -> Self +pub fn bitcoin_units::Amount::display_dynamic(self) -> bitcoin_units::amount::Display +pub fn bitcoin_units::Amount::display_in(self, denomination: bitcoin_units::amount::Denomination) -> bitcoin_units::amount::Display +pub fn bitcoin_units::Amount::div(self, rhs: bitcoin_units::weight::Weight) -> Self::Output +pub fn bitcoin_units::Amount::div(self, rhs: u64) -> Self::Output +pub fn bitcoin_units::Amount::div_assign(&mut self, rhs: u64) +pub fn bitcoin_units::Amount::eq(&self, other: &bitcoin_units::Amount) -> bool +pub fn bitcoin_units::Amount::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_units::Amount::from_int_btc(btc: u64) -> core::result::Result +pub fn bitcoin_units::Amount::from_str(s: &str) -> core::result::Result +pub fn bitcoin_units::Amount::from_str_in(s: &str, denom: bitcoin_units::amount::Denomination) -> core::result::Result +pub fn bitcoin_units::Amount::from_str_with_denomination(s: &str) -> core::result::Result +pub fn bitcoin_units::Amount::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_units::Amount::mul(self, rhs: u64) -> Self::Output +pub fn bitcoin_units::Amount::mul_assign(&mut self, rhs: u64) +pub fn bitcoin_units::Amount::partial_cmp(&self, other: &bitcoin_units::Amount) -> core::option::Option +pub fn bitcoin_units::Amount::rem(self, modulus: u64) -> Self +pub fn bitcoin_units::Amount::rem_assign(&mut self, modulus: u64) +pub fn bitcoin_units::Amount::sub(self, rhs: bitcoin_units::Amount) -> Self::Output +pub fn bitcoin_units::Amount::sub_assign(&mut self, other: bitcoin_units::Amount) +pub fn bitcoin_units::Amount::sum>(iter: I) -> Self +pub fn bitcoin_units::Amount::sum(iter: I) -> Self where I: core::iter::traits::iterator::Iterator +pub fn bitcoin_units::Amount::to_signed(self) -> core::result::Result +pub fn bitcoin_units::Amount::try_from(value: bitcoin_units::SignedAmount) -> core::result::Result +pub fn bitcoin_units::Amount::unchecked_add(self, rhs: bitcoin_units::Amount) -> bitcoin_units::Amount +pub fn bitcoin_units::Amount::unchecked_sub(self, rhs: bitcoin_units::Amount) -> bitcoin_units::Amount +pub fn bitcoin_units::SignedAmount::abs(self) -> bitcoin_units::SignedAmount +pub fn bitcoin_units::SignedAmount::add(self, rhs: bitcoin_units::SignedAmount) -> Self::Output +pub fn bitcoin_units::SignedAmount::add_assign(&mut self, other: bitcoin_units::SignedAmount) +pub fn bitcoin_units::SignedAmount::clone(&self) -> bitcoin_units::SignedAmount +pub fn bitcoin_units::SignedAmount::cmp(&self, other: &bitcoin_units::SignedAmount) -> core::cmp::Ordering +pub fn bitcoin_units::SignedAmount::default() -> Self +pub fn bitcoin_units::SignedAmount::display_dynamic(self) -> bitcoin_units::amount::Display +pub fn bitcoin_units::SignedAmount::display_in(self, denomination: bitcoin_units::amount::Denomination) -> bitcoin_units::amount::Display +pub fn bitcoin_units::SignedAmount::div(self, rhs: i64) -> Self::Output +pub fn bitcoin_units::SignedAmount::div_assign(&mut self, rhs: i64) +pub fn bitcoin_units::SignedAmount::eq(&self, other: &bitcoin_units::SignedAmount) -> bool +pub fn bitcoin_units::SignedAmount::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_units::SignedAmount::from_int_btc(btc: i64) -> core::result::Result +pub fn bitcoin_units::SignedAmount::from_str(s: &str) -> core::result::Result +pub fn bitcoin_units::SignedAmount::from_str_in(s: &str, denom: bitcoin_units::amount::Denomination) -> core::result::Result +pub fn bitcoin_units::SignedAmount::from_str_with_denomination(s: &str) -> core::result::Result +pub fn bitcoin_units::SignedAmount::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_units::SignedAmount::is_negative(self) -> bool +pub fn bitcoin_units::SignedAmount::is_positive(self) -> bool +pub fn bitcoin_units::SignedAmount::mul(self, rhs: i64) -> Self::Output +pub fn bitcoin_units::SignedAmount::mul_assign(&mut self, rhs: i64) +pub fn bitcoin_units::SignedAmount::neg(self) -> Self::Output +pub fn bitcoin_units::SignedAmount::partial_cmp(&self, other: &bitcoin_units::SignedAmount) -> core::option::Option +pub fn bitcoin_units::SignedAmount::positive_sub(self, rhs: bitcoin_units::SignedAmount) -> core::option::Option +pub fn bitcoin_units::SignedAmount::rem(self, modulus: i64) -> Self +pub fn bitcoin_units::SignedAmount::rem_assign(&mut self, modulus: i64) +pub fn bitcoin_units::SignedAmount::signum(self) -> i64 +pub fn bitcoin_units::SignedAmount::sub(self, rhs: bitcoin_units::SignedAmount) -> Self::Output +pub fn bitcoin_units::SignedAmount::sub_assign(&mut self, other: bitcoin_units::SignedAmount) +pub fn bitcoin_units::SignedAmount::sum>(iter: I) -> Self +pub fn bitcoin_units::SignedAmount::sum(iter: I) -> Self where I: core::iter::traits::iterator::Iterator +pub fn bitcoin_units::SignedAmount::to_unsigned(self) -> core::result::Result +pub fn bitcoin_units::SignedAmount::try_from(value: bitcoin_units::Amount) -> core::result::Result +pub fn bitcoin_units::SignedAmount::unchecked_add(self, rhs: bitcoin_units::SignedAmount) -> bitcoin_units::SignedAmount +pub fn bitcoin_units::SignedAmount::unchecked_sub(self, rhs: bitcoin_units::SignedAmount) -> bitcoin_units::SignedAmount +pub fn bitcoin_units::SignedAmount::unsigned_abs(self) -> bitcoin_units::Amount +pub fn bitcoin_units::amount::CheckedSum::checked_sum(self) -> core::option::Option +pub fn bitcoin_units::amount::Denomination::clone(&self) -> bitcoin_units::amount::Denomination +pub fn bitcoin_units::amount::Denomination::eq(&self, other: &bitcoin_units::amount::Denomination) -> bool +pub fn bitcoin_units::amount::Denomination::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_units::amount::Denomination::from_str(s: &str) -> core::result::Result +pub fn bitcoin_units::amount::Denomination::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_units::amount::Display::clone(&self) -> bitcoin_units::amount::Display +pub fn bitcoin_units::amount::Display::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_units::amount::Display::show_denomination(self) -> Self +pub fn bitcoin_units::amount::error::InputTooLargeError::clone(&self) -> bitcoin_units::amount::error::InputTooLargeError +pub fn bitcoin_units::amount::error::InputTooLargeError::eq(&self, other: &bitcoin_units::amount::error::InputTooLargeError) -> bool +pub fn bitcoin_units::amount::error::InputTooLargeError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_units::amount::error::InvalidCharacterError::clone(&self) -> bitcoin_units::amount::error::InvalidCharacterError +pub fn bitcoin_units::amount::error::InvalidCharacterError::eq(&self, other: &bitcoin_units::amount::error::InvalidCharacterError) -> bool +pub fn bitcoin_units::amount::error::InvalidCharacterError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_units::amount::error::MissingDenominationError::clone(&self) -> bitcoin_units::amount::error::MissingDenominationError +pub fn bitcoin_units::amount::error::MissingDenominationError::eq(&self, other: &bitcoin_units::amount::error::MissingDenominationError) -> bool +pub fn bitcoin_units::amount::error::MissingDenominationError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_units::amount::error::MissingDigitsError::clone(&self) -> bitcoin_units::amount::error::MissingDigitsError +pub fn bitcoin_units::amount::error::MissingDigitsError::eq(&self, other: &bitcoin_units::amount::error::MissingDigitsError) -> bool +pub fn bitcoin_units::amount::error::MissingDigitsError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_units::amount::error::OutOfRangeError::clone(&self) -> bitcoin_units::amount::error::OutOfRangeError +pub fn bitcoin_units::amount::error::OutOfRangeError::eq(&self, other: &bitcoin_units::amount::error::OutOfRangeError) -> bool +pub fn bitcoin_units::amount::error::OutOfRangeError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_units::amount::error::OutOfRangeError::is_above_max(&self) -> bool +pub fn bitcoin_units::amount::error::OutOfRangeError::is_below_min(&self) -> bool +pub fn bitcoin_units::amount::error::OutOfRangeError::valid_range(&self) -> (i64, u64) +pub fn bitcoin_units::amount::error::ParseAmountError::clone(&self) -> bitcoin_units::amount::error::ParseAmountError +pub fn bitcoin_units::amount::error::ParseAmountError::eq(&self, other: &bitcoin_units::amount::error::ParseAmountError) -> bool +pub fn bitcoin_units::amount::error::ParseAmountError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_units::amount::error::ParseAmountError::from(never: core::convert::Infallible) -> Self +pub fn bitcoin_units::amount::error::ParseAmountError::from(value: bitcoin_units::amount::error::InputTooLargeError) -> Self +pub fn bitcoin_units::amount::error::ParseAmountError::from(value: bitcoin_units::amount::error::InvalidCharacterError) -> Self +pub fn bitcoin_units::amount::error::ParseAmountError::from(value: bitcoin_units::amount::error::MissingDigitsError) -> Self +pub fn bitcoin_units::amount::error::ParseAmountError::from(value: bitcoin_units::amount::error::OutOfRangeError) -> Self +pub fn bitcoin_units::amount::error::ParseAmountError::from(value: bitcoin_units::amount::error::TooPreciseError) -> Self +pub fn bitcoin_units::amount::error::ParseDenominationError::clone(&self) -> bitcoin_units::amount::error::ParseDenominationError +pub fn bitcoin_units::amount::error::ParseDenominationError::eq(&self, other: &bitcoin_units::amount::error::ParseDenominationError) -> bool +pub fn bitcoin_units::amount::error::ParseDenominationError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_units::amount::error::ParseDenominationError::from(never: core::convert::Infallible) -> Self +pub fn bitcoin_units::amount::error::ParseError::clone(&self) -> bitcoin_units::amount::error::ParseError +pub fn bitcoin_units::amount::error::ParseError::eq(&self, other: &bitcoin_units::amount::error::ParseError) -> bool +pub fn bitcoin_units::amount::error::ParseError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_units::amount::error::ParseError::from(e: bitcoin_units::amount::error::InputTooLargeError) -> Self +pub fn bitcoin_units::amount::error::ParseError::from(e: bitcoin_units::amount::error::InvalidCharacterError) -> Self +pub fn bitcoin_units::amount::error::ParseError::from(e: bitcoin_units::amount::error::MissingDigitsError) -> Self +pub fn bitcoin_units::amount::error::ParseError::from(e: bitcoin_units::amount::error::OutOfRangeError) -> Self +pub fn bitcoin_units::amount::error::ParseError::from(e: bitcoin_units::amount::error::ParseAmountError) -> Self +pub fn bitcoin_units::amount::error::ParseError::from(e: bitcoin_units::amount::error::ParseDenominationError) -> Self +pub fn bitcoin_units::amount::error::ParseError::from(e: bitcoin_units::amount::error::TooPreciseError) -> Self +pub fn bitcoin_units::amount::error::ParseError::from(never: core::convert::Infallible) -> Self +pub fn bitcoin_units::amount::error::PossiblyConfusingDenominationError::clone(&self) -> bitcoin_units::amount::error::PossiblyConfusingDenominationError +pub fn bitcoin_units::amount::error::PossiblyConfusingDenominationError::eq(&self, other: &bitcoin_units::amount::error::PossiblyConfusingDenominationError) -> bool +pub fn bitcoin_units::amount::error::PossiblyConfusingDenominationError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_units::amount::error::TooPreciseError::clone(&self) -> bitcoin_units::amount::error::TooPreciseError +pub fn bitcoin_units::amount::error::TooPreciseError::eq(&self, other: &bitcoin_units::amount::error::TooPreciseError) -> bool +pub fn bitcoin_units::amount::error::TooPreciseError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_units::amount::error::UnknownDenominationError::clone(&self) -> bitcoin_units::amount::error::UnknownDenominationError +pub fn bitcoin_units::amount::error::UnknownDenominationError::eq(&self, other: &bitcoin_units::amount::error::UnknownDenominationError) -> bool +pub fn bitcoin_units::amount::error::UnknownDenominationError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_units::block::BlockHeight::add(self, rhs: bitcoin_units::block::BlockInterval) -> Self::Output +pub fn bitcoin_units::block::BlockHeight::clone(&self) -> bitcoin_units::block::BlockHeight +pub fn bitcoin_units::block::BlockHeight::cmp(&self, other: &bitcoin_units::block::BlockHeight) -> core::cmp::Ordering +pub fn bitcoin_units::block::BlockHeight::eq(&self, other: &bitcoin_units::block::BlockHeight) -> bool +pub fn bitcoin_units::block::BlockHeight::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_units::block::BlockHeight::from(h: bitcoin_units::locktime::absolute::Height) -> Self +pub fn bitcoin_units::block::BlockHeight::from(inner: u32) -> Self +pub fn bitcoin_units::block::BlockHeight::from_str(s: &str) -> core::result::Result +pub fn bitcoin_units::block::BlockHeight::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_units::block::BlockHeight::partial_cmp(&self, other: &bitcoin_units::block::BlockHeight) -> core::option::Option +pub fn bitcoin_units::block::BlockHeight::sub(self, rhs: bitcoin_units::block::BlockHeight) -> Self::Output +pub fn bitcoin_units::block::BlockHeight::sub(self, rhs: bitcoin_units::block::BlockInterval) -> Self::Output +pub fn bitcoin_units::block::BlockHeight::try_from(s: &str) -> core::result::Result +pub fn bitcoin_units::block::BlockInterval::add(self, rhs: bitcoin_units::block::BlockInterval) -> Self::Output +pub fn bitcoin_units::block::BlockInterval::add_assign(&mut self, rhs: bitcoin_units::block::BlockInterval) +pub fn bitcoin_units::block::BlockInterval::clone(&self) -> bitcoin_units::block::BlockInterval +pub fn bitcoin_units::block::BlockInterval::cmp(&self, other: &bitcoin_units::block::BlockInterval) -> core::cmp::Ordering +pub fn bitcoin_units::block::BlockInterval::eq(&self, other: &bitcoin_units::block::BlockInterval) -> bool +pub fn bitcoin_units::block::BlockInterval::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_units::block::BlockInterval::from(h: bitcoin_units::locktime::relative::Height) -> Self +pub fn bitcoin_units::block::BlockInterval::from(inner: u32) -> Self +pub fn bitcoin_units::block::BlockInterval::from_str(s: &str) -> core::result::Result +pub fn bitcoin_units::block::BlockInterval::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_units::block::BlockInterval::partial_cmp(&self, other: &bitcoin_units::block::BlockInterval) -> core::option::Option +pub fn bitcoin_units::block::BlockInterval::sub(self, rhs: bitcoin_units::block::BlockInterval) -> Self::Output +pub fn bitcoin_units::block::BlockInterval::sub_assign(&mut self, rhs: bitcoin_units::block::BlockInterval) +pub fn bitcoin_units::block::BlockInterval::sum>(iter: I) -> Self +pub fn bitcoin_units::block::BlockInterval::sum(iter: I) -> Self where I: core::iter::traits::iterator::Iterator +pub fn bitcoin_units::block::BlockInterval::try_from(s: &str) -> core::result::Result +pub fn bitcoin_units::block::TooBigForRelativeBlockHeightError::clone(&self) -> bitcoin_units::block::TooBigForRelativeBlockHeightError +pub fn bitcoin_units::block::TooBigForRelativeBlockHeightError::eq(&self, other: &bitcoin_units::block::TooBigForRelativeBlockHeightError) -> bool +pub fn bitcoin_units::block::TooBigForRelativeBlockHeightError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_units::fee_rate::FeeRate::add(self, other: &bitcoin_units::fee_rate::FeeRate) -> ::Output +pub fn bitcoin_units::fee_rate::FeeRate::add(self, rhs: bitcoin_units::fee_rate::FeeRate) -> Self::Output +pub fn bitcoin_units::fee_rate::FeeRate::add_assign(&mut self, rhs: &bitcoin_units::fee_rate::FeeRate) +pub fn bitcoin_units::fee_rate::FeeRate::add_assign(&mut self, rhs: Self) +pub fn bitcoin_units::fee_rate::FeeRate::clone(&self) -> bitcoin_units::fee_rate::FeeRate +pub fn bitcoin_units::fee_rate::FeeRate::cmp(&self, other: &bitcoin_units::fee_rate::FeeRate) -> core::cmp::Ordering +pub fn bitcoin_units::fee_rate::FeeRate::eq(&self, other: &bitcoin_units::fee_rate::FeeRate) -> bool +pub fn bitcoin_units::fee_rate::FeeRate::fee_vb(self, vb: u64) -> core::option::Option +pub fn bitcoin_units::fee_rate::FeeRate::fee_wu(self, weight: bitcoin_units::weight::Weight) -> core::option::Option +pub fn bitcoin_units::fee_rate::FeeRate::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_units::fee_rate::FeeRate::from_sat_per_vb(sat_vb: u64) -> core::option::Option +pub fn bitcoin_units::fee_rate::FeeRate::from_str(s: &str) -> core::result::Result +pub fn bitcoin_units::fee_rate::FeeRate::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_units::fee_rate::FeeRate::mul(self, rhs: bitcoin_units::weight::Weight) -> Self::Output +pub fn bitcoin_units::fee_rate::FeeRate::partial_cmp(&self, other: &bitcoin_units::fee_rate::FeeRate) -> core::option::Option +pub fn bitcoin_units::fee_rate::FeeRate::sub(self, other: &bitcoin_units::fee_rate::FeeRate) -> ::Output +pub fn bitcoin_units::fee_rate::FeeRate::sub(self, rhs: bitcoin_units::fee_rate::FeeRate) -> Self::Output +pub fn bitcoin_units::fee_rate::FeeRate::sub_assign(&mut self, rhs: &bitcoin_units::fee_rate::FeeRate) +pub fn bitcoin_units::fee_rate::FeeRate::sub_assign(&mut self, rhs: Self) +pub fn bitcoin_units::fee_rate::FeeRate::sum(iter: I) -> Self where I: core::iter::traits::iterator::Iterator +pub fn bitcoin_units::fee_rate::FeeRate::sum(iter: I) -> Self where I: core::iter::traits::iterator::Iterator +pub fn bitcoin_units::fee_rate::FeeRate::try_from(s: &str) -> core::result::Result +pub fn bitcoin_units::locktime::absolute::ConversionError::clone(&self) -> bitcoin_units::locktime::absolute::ConversionError +pub fn bitcoin_units::locktime::absolute::ConversionError::eq(&self, other: &bitcoin_units::locktime::absolute::ConversionError) -> bool +pub fn bitcoin_units::locktime::absolute::ConversionError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_units::locktime::absolute::Height::clone(&self) -> bitcoin_units::locktime::absolute::Height +pub fn bitcoin_units::locktime::absolute::Height::cmp(&self, other: &bitcoin_units::locktime::absolute::Height) -> core::cmp::Ordering +pub fn bitcoin_units::locktime::absolute::Height::eq(&self, other: &bitcoin_units::locktime::absolute::Height) -> bool +pub fn bitcoin_units::locktime::absolute::Height::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_units::locktime::absolute::Height::from_hex(s: &str) -> core::result::Result +pub fn bitcoin_units::locktime::absolute::Height::from_str(s: &str) -> core::result::Result +pub fn bitcoin_units::locktime::absolute::Height::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_units::locktime::absolute::Height::partial_cmp(&self, other: &bitcoin_units::locktime::absolute::Height) -> core::option::Option +pub fn bitcoin_units::locktime::absolute::Height::try_from(h: bitcoin_units::block::BlockHeight) -> core::result::Result +pub fn bitcoin_units::locktime::absolute::Height::try_from(s: &str) -> core::result::Result +pub fn bitcoin_units::locktime::absolute::ParseHeightError::clone(&self) -> bitcoin_units::locktime::absolute::ParseHeightError +pub fn bitcoin_units::locktime::absolute::ParseHeightError::eq(&self, other: &bitcoin_units::locktime::absolute::ParseHeightError) -> bool +pub fn bitcoin_units::locktime::absolute::ParseHeightError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_units::locktime::absolute::ParseTimeError::clone(&self) -> bitcoin_units::locktime::absolute::ParseTimeError +pub fn bitcoin_units::locktime::absolute::ParseTimeError::eq(&self, other: &bitcoin_units::locktime::absolute::ParseTimeError) -> bool +pub fn bitcoin_units::locktime::absolute::ParseTimeError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_units::locktime::absolute::Time::clone(&self) -> bitcoin_units::locktime::absolute::Time +pub fn bitcoin_units::locktime::absolute::Time::cmp(&self, other: &bitcoin_units::locktime::absolute::Time) -> core::cmp::Ordering +pub fn bitcoin_units::locktime::absolute::Time::eq(&self, other: &bitcoin_units::locktime::absolute::Time) -> bool +pub fn bitcoin_units::locktime::absolute::Time::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_units::locktime::absolute::Time::from_hex(s: &str) -> core::result::Result +pub fn bitcoin_units::locktime::absolute::Time::from_str(s: &str) -> core::result::Result +pub fn bitcoin_units::locktime::absolute::Time::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_units::locktime::absolute::Time::partial_cmp(&self, other: &bitcoin_units::locktime::absolute::Time) -> core::option::Option +pub fn bitcoin_units::locktime::absolute::Time::try_from(s: &str) -> core::result::Result +pub fn bitcoin_units::locktime::relative::Height::clone(&self) -> bitcoin_units::locktime::relative::Height +pub fn bitcoin_units::locktime::relative::Height::cmp(&self, other: &bitcoin_units::locktime::relative::Height) -> core::cmp::Ordering +pub fn bitcoin_units::locktime::relative::Height::default() -> bitcoin_units::locktime::relative::Height +pub fn bitcoin_units::locktime::relative::Height::eq(&self, other: &bitcoin_units::locktime::relative::Height) -> bool +pub fn bitcoin_units::locktime::relative::Height::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_units::locktime::relative::Height::from(value: u16) -> Self +pub fn bitcoin_units::locktime::relative::Height::from_str(s: &str) -> core::result::Result +pub fn bitcoin_units::locktime::relative::Height::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_units::locktime::relative::Height::partial_cmp(&self, other: &bitcoin_units::locktime::relative::Height) -> core::option::Option +pub fn bitcoin_units::locktime::relative::Height::try_from(h: bitcoin_units::block::BlockInterval) -> core::result::Result +pub fn bitcoin_units::locktime::relative::Height::try_from(s: &str) -> core::result::Result +pub fn bitcoin_units::locktime::relative::Time::clone(&self) -> bitcoin_units::locktime::relative::Time +pub fn bitcoin_units::locktime::relative::Time::cmp(&self, other: &bitcoin_units::locktime::relative::Time) -> core::cmp::Ordering +pub fn bitcoin_units::locktime::relative::Time::default() -> bitcoin_units::locktime::relative::Time +pub fn bitcoin_units::locktime::relative::Time::eq(&self, other: &bitcoin_units::locktime::relative::Time) -> bool +pub fn bitcoin_units::locktime::relative::Time::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_units::locktime::relative::Time::from_str(s: &str) -> core::result::Result +pub fn bitcoin_units::locktime::relative::Time::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_units::locktime::relative::Time::partial_cmp(&self, other: &bitcoin_units::locktime::relative::Time) -> core::option::Option +pub fn bitcoin_units::locktime::relative::Time::try_from(s: &str) -> core::result::Result +pub fn bitcoin_units::locktime::relative::TimeOverflowError::clone(&self) -> bitcoin_units::locktime::relative::TimeOverflowError +pub fn bitcoin_units::locktime::relative::TimeOverflowError::eq(&self, other: &bitcoin_units::locktime::relative::TimeOverflowError) -> bool +pub fn bitcoin_units::locktime::relative::TimeOverflowError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_units::locktime::relative::TimeOverflowError::new(seconds: u32) -> Self +pub fn bitcoin_units::parse::ParseIntError::as_ref(&self) -> &core::num::error::ParseIntError +pub fn bitcoin_units::parse::ParseIntError::clone(&self) -> bitcoin_units::parse::ParseIntError +pub fn bitcoin_units::parse::ParseIntError::eq(&self, other: &bitcoin_units::parse::ParseIntError) -> bool +pub fn bitcoin_units::parse::ParseIntError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_units::parse::PrefixedHexError::clone(&self) -> bitcoin_units::parse::PrefixedHexError +pub fn bitcoin_units::parse::PrefixedHexError::eq(&self, other: &bitcoin_units::parse::PrefixedHexError) -> bool +pub fn bitcoin_units::parse::PrefixedHexError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_units::parse::PrefixedHexError::from(e: bitcoin_units::parse::ParseIntError) -> Self +pub fn bitcoin_units::parse::PrefixedHexError::from(never: core::convert::Infallible) -> Self +pub fn bitcoin_units::parse::UnprefixedHexError::clone(&self) -> bitcoin_units::parse::UnprefixedHexError +pub fn bitcoin_units::parse::UnprefixedHexError::eq(&self, other: &bitcoin_units::parse::UnprefixedHexError) -> bool +pub fn bitcoin_units::parse::UnprefixedHexError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_units::parse::UnprefixedHexError::from(e: bitcoin_units::parse::ParseIntError) -> Self +pub fn bitcoin_units::parse::UnprefixedHexError::from(never: core::convert::Infallible) -> Self +pub fn bitcoin_units::parse::hex_check_unprefixed(s: &str) -> core::result::Result<&str, bitcoin_units::parse::UnprefixedHexError> +pub fn bitcoin_units::parse::hex_remove_prefix(s: &str) -> core::result::Result<&str, bitcoin_units::parse::PrefixedHexError> +pub fn bitcoin_units::parse::hex_u128(s: &str) -> core::result::Result +pub fn bitcoin_units::parse::hex_u128_prefixed(s: &str) -> core::result::Result +pub fn bitcoin_units::parse::hex_u128_unchecked(s: &str) -> core::result::Result +pub fn bitcoin_units::parse::hex_u128_unprefixed(s: &str) -> core::result::Result +pub fn bitcoin_units::parse::hex_u32(s: &str) -> core::result::Result +pub fn bitcoin_units::parse::hex_u32_prefixed(s: &str) -> core::result::Result +pub fn bitcoin_units::parse::hex_u32_unchecked(s: &str) -> core::result::Result +pub fn bitcoin_units::parse::hex_u32_unprefixed(s: &str) -> core::result::Result +pub fn bitcoin_units::parse::int + core::convert::Into>(s: S) -> core::result::Result +pub fn bitcoin_units::weight::Weight::add(self, rhs: bitcoin_units::weight::Weight) -> Self::Output +pub fn bitcoin_units::weight::Weight::add_assign(&mut self, rhs: Self) +pub fn bitcoin_units::weight::Weight::clone(&self) -> bitcoin_units::weight::Weight +pub fn bitcoin_units::weight::Weight::cmp(&self, other: &bitcoin_units::weight::Weight) -> core::cmp::Ordering +pub fn bitcoin_units::weight::Weight::div(self, rhs: bitcoin_units::weight::Weight) -> Self::Output +pub fn bitcoin_units::weight::Weight::div(self, rhs: u64) -> Self::Output +pub fn bitcoin_units::weight::Weight::div_assign(&mut self, rhs: u64) +pub fn bitcoin_units::weight::Weight::eq(&self, other: &bitcoin_units::weight::Weight) -> bool +pub fn bitcoin_units::weight::Weight::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result +pub fn bitcoin_units::weight::Weight::from_kwu(wu: u64) -> core::option::Option +pub fn bitcoin_units::weight::Weight::from_str(s: &str) -> core::result::Result +pub fn bitcoin_units::weight::Weight::hash<__H: core::hash::Hasher>(&self, state: &mut __H) +pub fn bitcoin_units::weight::Weight::mul(self, rhs: bitcoin_units::fee_rate::FeeRate) -> Self::Output +pub fn bitcoin_units::weight::Weight::mul(self, rhs: u64) -> Self::Output +pub fn bitcoin_units::weight::Weight::mul_assign(&mut self, rhs: u64) +pub fn bitcoin_units::weight::Weight::partial_cmp(&self, other: &bitcoin_units::weight::Weight) -> core::option::Option +pub fn bitcoin_units::weight::Weight::sub(self, rhs: bitcoin_units::weight::Weight) -> Self::Output +pub fn bitcoin_units::weight::Weight::sub_assign(&mut self, rhs: Self) +pub fn bitcoin_units::weight::Weight::sum(iter: I) -> Self where I: core::iter::traits::iterator::Iterator +pub fn bitcoin_units::weight::Weight::sum(iter: I) -> Self where I: core::iter::traits::iterator::Iterator +pub fn bitcoin_units::weight::Weight::try_from(s: &str) -> core::result::Result +pub fn core::num::error::ParseIntError::from(value: bitcoin_units::parse::ParseIntError) -> Self +pub fn u32::from(height: bitcoin_units::block::BlockHeight) -> Self +pub fn u32::from(height: bitcoin_units::block::BlockInterval) -> Self +pub fn u64::from(value: bitcoin_units::fee_rate::FeeRate) -> Self +pub fn u64::from(value: bitcoin_units::weight::Weight) -> Self +pub fn u64::mul(self, rhs: bitcoin_units::weight::Weight) -> Self::Output +pub macro bitcoin_units::impl_parse_str! +pub macro bitcoin_units::impl_parse_str_from_int_infallible! +pub macro bitcoin_units::impl_tryfrom_str! +pub macro bitcoin_units::impl_tryfrom_str_from_int_infallible! +pub mod bitcoin_units +pub mod bitcoin_units::amount +pub mod bitcoin_units::amount::error +pub mod bitcoin_units::block +pub mod bitcoin_units::fee_rate +pub mod bitcoin_units::locktime +pub mod bitcoin_units::locktime::absolute +pub mod bitcoin_units::locktime::relative +pub mod bitcoin_units::parse +pub mod bitcoin_units::weight +pub struct bitcoin_units::Amount(_) +pub struct bitcoin_units::BlockHeight(pub u32) +pub struct bitcoin_units::BlockInterval(pub u32) +pub struct bitcoin_units::FeeRate(_) +pub struct bitcoin_units::SignedAmount(_) +pub struct bitcoin_units::Weight(_) +pub struct bitcoin_units::amount::Amount(_) +pub struct bitcoin_units::amount::Display +pub struct bitcoin_units::amount::InputTooLargeError +pub struct bitcoin_units::amount::InvalidCharacterError +pub struct bitcoin_units::amount::MissingDigitsError +pub struct bitcoin_units::amount::OutOfRangeError +pub struct bitcoin_units::amount::ParseAmountError(_) +pub struct bitcoin_units::amount::ParseError(_) +pub struct bitcoin_units::amount::SignedAmount(_) +pub struct bitcoin_units::amount::TooPreciseError +pub struct bitcoin_units::amount::error::InputTooLargeError +pub struct bitcoin_units::amount::error::InvalidCharacterError +pub struct bitcoin_units::amount::error::MissingDigitsError +pub struct bitcoin_units::amount::error::OutOfRangeError +pub struct bitcoin_units::amount::error::ParseAmountError(_) +pub struct bitcoin_units::amount::error::ParseError(_) +pub struct bitcoin_units::amount::error::TooPreciseError +pub struct bitcoin_units::block::BlockHeight(pub u32) +pub struct bitcoin_units::block::BlockInterval(pub u32) +pub struct bitcoin_units::block::TooBigForRelativeBlockHeightError(_) +pub struct bitcoin_units::fee_rate::FeeRate(_) +pub struct bitcoin_units::locktime::absolute::Height(_) +pub struct bitcoin_units::locktime::absolute::ParseHeightError(_) +pub struct bitcoin_units::locktime::absolute::ParseTimeError(_) +pub struct bitcoin_units::locktime::absolute::Time(_) +pub struct bitcoin_units::locktime::relative::Height(_) +pub struct bitcoin_units::locktime::relative::Time(_) +pub struct bitcoin_units::locktime::relative::TimeOverflowError +pub struct bitcoin_units::parse::PrefixedHexError(_) +pub struct bitcoin_units::parse::UnprefixedHexError(_) +pub struct bitcoin_units::weight::Weight(_) +pub trait bitcoin_units::amount::CheckedSum: private::SumSeal +pub trait bitcoin_units::parse::Integer: core::str::traits::FromStr + core::convert::TryFrom + core::marker::Sized +pub type &bitcoin_units::fee_rate::FeeRate::Output = bitcoin_units::fee_rate::FeeRate +pub type bitcoin_units::Amount::Err = bitcoin_units::amount::error::ParseError +pub type bitcoin_units::Amount::Error = bitcoin_units::amount::error::OutOfRangeError +pub type bitcoin_units::Amount::Output = bitcoin_units::Amount +pub type bitcoin_units::Amount::Output = bitcoin_units::fee_rate::FeeRate +pub type bitcoin_units::SignedAmount::Err = bitcoin_units::amount::error::ParseError +pub type bitcoin_units::SignedAmount::Error = bitcoin_units::amount::error::OutOfRangeError +pub type bitcoin_units::SignedAmount::Output = bitcoin_units::SignedAmount +pub type bitcoin_units::amount::Denomination::Err = bitcoin_units::amount::error::ParseDenominationError +pub type bitcoin_units::block::BlockHeight::Err = bitcoin_units::parse::ParseIntError +pub type bitcoin_units::block::BlockHeight::Error = bitcoin_units::parse::ParseIntError +pub type bitcoin_units::block::BlockHeight::Output = bitcoin_units::block::BlockHeight +pub type bitcoin_units::block::BlockHeight::Output = bitcoin_units::block::BlockInterval +pub type bitcoin_units::block::BlockInterval::Err = bitcoin_units::parse::ParseIntError +pub type bitcoin_units::block::BlockInterval::Error = bitcoin_units::parse::ParseIntError +pub type bitcoin_units::block::BlockInterval::Output = bitcoin_units::block::BlockInterval +pub type bitcoin_units::fee_rate::FeeRate::Err = bitcoin_units::parse::ParseIntError +pub type bitcoin_units::fee_rate::FeeRate::Error = bitcoin_units::parse::ParseIntError +pub type bitcoin_units::fee_rate::FeeRate::Output = bitcoin_units::Amount +pub type bitcoin_units::fee_rate::FeeRate::Output = bitcoin_units::fee_rate::FeeRate +pub type bitcoin_units::locktime::absolute::Height::Err = bitcoin_units::locktime::absolute::ParseHeightError +pub type bitcoin_units::locktime::absolute::Height::Error = bitcoin_units::locktime::absolute::ConversionError +pub type bitcoin_units::locktime::absolute::Height::Error = bitcoin_units::locktime::absolute::ParseHeightError +pub type bitcoin_units::locktime::absolute::Time::Err = bitcoin_units::locktime::absolute::ParseTimeError +pub type bitcoin_units::locktime::absolute::Time::Error = bitcoin_units::locktime::absolute::ParseTimeError +pub type bitcoin_units::locktime::relative::Height::Err = bitcoin_units::parse::ParseIntError +pub type bitcoin_units::locktime::relative::Height::Error = bitcoin_units::block::TooBigForRelativeBlockHeightError +pub type bitcoin_units::locktime::relative::Height::Error = bitcoin_units::parse::ParseIntError +pub type bitcoin_units::locktime::relative::Time::Err = bitcoin_units::parse::ParseIntError +pub type bitcoin_units::locktime::relative::Time::Error = bitcoin_units::parse::ParseIntError +pub type bitcoin_units::weight::Weight::Err = bitcoin_units::parse::ParseIntError +pub type bitcoin_units::weight::Weight::Error = bitcoin_units::parse::ParseIntError +pub type bitcoin_units::weight::Weight::Output = bitcoin_units::Amount +pub type bitcoin_units::weight::Weight::Output = bitcoin_units::weight::Weight +pub type bitcoin_units::weight::Weight::Output = u64 +pub type u64::Output = bitcoin_units::weight::Weight From e126a243074ffbe628a9c8425694db5fe93efb8a Mon Sep 17 00:00:00 2001 From: "Tobin C. Harding" Date: Fri, 6 Dec 2024 15:23:17 +1100 Subject: [PATCH 048/554] Add API script Add a script to generate API files using `cargo public-api` for the crates that we are trying to stabalise (the so called 'leaf crates'). - hashes - io - primitives - units We already ran the script and committed the files last patch. The fact that this patch does not include any changes to the `api/` directory and that CI passes is enough to convince us that last patch was valid. Add a CI job that runs the script and checks there are no changes to the committed text files thereby proving no API changes are made in a PR without explicitly modifying the API text files. Add documentation to `CONTRIBUTING.md` on what is expected of devs. --- .github/workflows/rust.yml | 20 +++++++ CONTRIBUTING.md | 12 +++++ contrib/check-for-api-changes.sh | 93 ++++++++++++++++++++++++++++++++ justfile | 4 ++ 4 files changed, 129 insertions(+) create mode 100755 contrib/check-for-api-changes.sh diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index cf06c57ae8..c9c230cd2d 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -305,3 +305,23 @@ jobs: with: args: "--only-codegen" + API: + name: API - nightly toolchain + needs: Prepare + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + dep: [recent] + steps: + - name: "Checkout repo" + uses: actions/checkout@v4 + - name: "Select toolchain" + uses: dtolnay/rust-toolchain@v1 + with: + toolchain: ${{ needs.Prepare.outputs.nightly_version }} + - name: "Install cargo-public-api" + # Pin version so that updates don't introduce changes to the text files. + run: cargo +stable install --locked cargo-public-api@0.42.0 + - name: "Run API checker script" + run: ./contrib/check-for-api-changes.sh diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index d9139bacc9..ff1d586650 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -145,6 +145,18 @@ test out the patch set and opine on the technical merits of the patch. Please, first review PR on the conceptual level before focusing on code style or grammar fixes. +### API changes + +The API of the following crates is almost stable. Changing it is supposed to be non-trivial. To +assist in this effort ll PRs that change the public API of any these crates must include a patch to +the `api/` text files. This should be a separate final patch to the PR that is the diff created by +running `just check-api`. + +- `hashes` +- `io` +- `primitives` +- `units` + ### Repository maintainers Pull request merge requirements: diff --git a/contrib/check-for-api-changes.sh b/contrib/check-for-api-changes.sh new file mode 100755 index 0000000000..dc305dca05 --- /dev/null +++ b/contrib/check-for-api-changes.sh @@ -0,0 +1,93 @@ +#!/usr/bin/env bash +# +# Checks the public API of crates, exits with non-zero if there are currently +# changes to the public API not already committed to in the various api/*.txt +# files. + +set -euo pipefail + +REPO_DIR=$(git rev-parse --show-toplevel) +API_DIR="$REPO_DIR/api" + +NIGHTLY=$(cat nightly-version) +# Our docs have broken intra doc links if all features are not enabled. +RUSTDOCFLAGS="-A rustdoc::broken_intra_doc_links" + +# `sort -n -u` doesn't work for some reason. +SORT="sort --numeric-sort" + +# Sort order is effected by locale. See `man sort`. +# > Set LC_ALL=C to get the traditional sort order that uses native byte values. +export LC_ALL=C + +main() { + need_nightly + + generate_api_files "hashes" + generate_api_files "io" + generate_api_files "primitives" + generate_api_files "units" + + check_for_changes +} + +# Uses `CARGO` to generate API files in the specified crate. +# +# Files: +# +# - no-features.txt +# - alloc-only.txt +# - all-features.txt +generate_api_files() { + local crate=$1 + pushd "$REPO_DIR/$crate" > /dev/null + + run_cargo --no-default-features | $SORT | uniq > "$API_DIR/$crate/no-features.txt" + run_cargo --no-default-features --features=alloc | $SORT | uniq > "$API_DIR/$crate/alloc-only.txt" + run_cargo_all_features | $SORT | uniq > "$API_DIR/$crate/all-features.txt" + + popd > /dev/null +} + +# Check if there are changes (dirty git index) to the `api/` directory. +check_for_changes() { + pushd "$REPO_DIR" > /dev/null + + if [[ $(git status --porcelain api) ]]; then + git diff --color=always + echo + err "You have introduced changes to the public API, commit the changes to api/ currently in your working directory" + else + echo "No changes to the current public API" + fi + + popd > /dev/null +} + +# Run cargo when --all-features is not used. +run_cargo() { + RUSTDOCFLAGS="$RUSTDOCFLAGS" cargo +"$NIGHTLY" public-api --simplified "$@" +} + +# Run cargo with all features enabled. +run_cargo_all_features() { + cargo +"$NIGHTLY" public-api --simplified --all-features +} + +need_nightly() { + cargo_ver=$(cargo +"$NIGHTLY" --version) + if echo "$cargo_ver" | grep -q -v nightly; then + err "Need a nightly compiler; have $cargo_ver" + fi +} + +err() { + echo "$1" >&2 + exit 1 +} + +# +# Main script +# +main "$@" +exit 0 diff --git a/justfile b/justfile index ce7af6170d..76f5f549e5 100644 --- a/justfile +++ b/justfile @@ -36,6 +36,10 @@ sane: lint # Make an attempt to catch feature gate problems in doctests cargo test --manifest-path bitcoin/Cargo.toml --doc --no-default-features > /dev/null || exit 1 +# Check for API changes. +check-api: + contrib/check-for-api-changes.sh + # Update the recent and minimal lock files. update-lock-files: contrib/update-lock-files.sh From 7e0501c03cbc02ccd9292a709b51deb96c74901d Mon Sep 17 00:00:00 2001 From: "Tobin C. Harding" Date: Wed, 4 Dec 2024 11:41:50 +1100 Subject: [PATCH 049/554] Add a script to query the API Add a simple script that allows one to query the current API. Done by parsing the API text files and grepping for things. This is useful as a dev tool as we try to stabalize the leaf crates. --- contrib/api.sh | 149 +++++++++++++++++++++++++++++++++++++++++++++++++ justfile | 6 ++ 2 files changed, 155 insertions(+) create mode 100755 contrib/api.sh diff --git a/contrib/api.sh b/contrib/api.sh new file mode 100755 index 0000000000..e4ec08116d --- /dev/null +++ b/contrib/api.sh @@ -0,0 +1,149 @@ +#!/usr/bin/env bash +# +# Script for querying the API. +# +# Shellcheck can't search dynamic paths +# shellcheck source=/dev/null + +set -euo pipefail + +file="" # File name of the all-features API text file. +crate_full_name="" # Full crate name using underscores e.g., `bitcoin_primitives`. +crate="" # Short name e.g., `primitives`. + +# Set to false to turn off verbose output. +flag_verbose=false + +usage() { + cat <&2 +} + +verbose_say() { + if [ "$flag_verbose" = true ]; then + say "$1" + fi +} + +err() { + echo "$1" >&2 + exit 1 +} + +need_cmd() { + if ! command -v "$1" > /dev/null 2>&1 + then err "need '$1' (command not found)" + fi +} + +# +# Main script +# +main "$@" +exit 0 diff --git a/justfile b/justfile index 76f5f549e5..0be4cd940a 100644 --- a/justfile +++ b/justfile @@ -1,3 +1,5 @@ +set positional-arguments + default: @just --list @@ -40,6 +42,10 @@ sane: lint check-api: contrib/check-for-api-changes.sh +# Query the current API. +@query-api crate command: + contrib/api.sh $1 $2 + # Update the recent and minimal lock files. update-lock-files: contrib/update-lock-files.sh From ac74ed2144e785fef7c395388a4fb7fb394e833e Mon Sep 17 00:00:00 2001 From: yancy Date: Fri, 6 Dec 2024 09:19:56 -0600 Subject: [PATCH 050/554] Range check against SignedAmount::MAX instead of i64::MAX Future proof this check by using SignedAmount::MAX in the case where the MAX SignedAmount changes to something other then i64::MAX. --- units/src/amount/signed.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/units/src/amount/signed.rs b/units/src/amount/signed.rs index 1af91950c9..4237ba0bb8 100644 --- a/units/src/amount/signed.rs +++ b/units/src/amount/signed.rs @@ -108,7 +108,7 @@ impl SignedAmount { pub fn from_str_in(s: &str, denom: Denomination) -> Result { match parse_signed_to_satoshi(s, denom).map_err(|error| error.convert(true))? { // (negative, amount) - (false, sat) if sat > i64::MAX as u64 => Err(ParseAmountError( + (false, sat) if sat > SignedAmount::MAX.to_sat() as u64 => Err(ParseAmountError( ParseAmountErrorInner::OutOfRange(OutOfRangeError::too_big(true)), )), (false, sat) => Ok(SignedAmount(sat as i64)), From 78f61f55de7d5c452939edf5b8509314a09d854b Mon Sep 17 00:00:00 2001 From: Update cargo-semver-checks Bot Date: Sat, 7 Dec 2024 01:10:28 +0000 Subject: [PATCH 051/554] Automated update to Github CI to cargo-semver-checks version-0.37.0 --- .github/workflows/cargo-semver-checks-version | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cargo-semver-checks-version b/.github/workflows/cargo-semver-checks-version index 93d4c1ef06..0f1a7dfc7c 100644 --- a/.github/workflows/cargo-semver-checks-version +++ b/.github/workflows/cargo-semver-checks-version @@ -1 +1 @@ -0.36.0 +0.37.0 From d3d20d3fb263e9d2034d4bef7823d027cc744af4 Mon Sep 17 00:00:00 2001 From: Update Nightly Rustc Bot Date: Sat, 7 Dec 2024 01:48:31 +0000 Subject: [PATCH 052/554] Automated update to Github CI to rustc nightly-2024-12-06 --- nightly-version | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nightly-version b/nightly-version index 67380bdf06..71ef52e171 100644 --- a/nightly-version +++ b/nightly-version @@ -1 +1 @@ -nightly-2024-12-01 +nightly-2024-12-06 From ffdd63fa8ec3575bc3087241ebdcbccc71818ab7 Mon Sep 17 00:00:00 2001 From: "Tobin C. Harding" Date: Mon, 9 Dec 2024 10:49:59 +1100 Subject: [PATCH 053/554] units: test for C-SEND-SYNC Done as part of the Rust API guidelines checklist. Add a unit test for `Send` and one for `Sync`. --- units/tests/api.rs | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/units/tests/api.rs b/units/tests/api.rs index 8649e7397d..eb6a9530ee 100644 --- a/units/tests/api.rs +++ b/units/tests/api.rs @@ -235,3 +235,17 @@ fn api_all_non_error_types_have_non_empty_debug() { let debug = format!("{:?}", t.b.k); assert!(!debug.is_empty()); } + +#[test] +fn test_send() { + fn assert_send() {} + assert_send::(); + assert_send::(); +} + +#[test] +fn test_sync() { + fn assert_sync() {} + assert_sync::(); + assert_sync::(); +} From 6ae35be0db84d2bf79ffe0cd63d616a55c036b12 Mon Sep 17 00:00:00 2001 From: "Tobin C. Harding" Date: Mon, 9 Dec 2024 13:57:26 +1100 Subject: [PATCH 054/554] primitives: Reduce alloc requirements Recently we reduced the `alloc` requirements in `units` but we did not propagate these changes up to `primitives`. Remove a bunch of `alloc` feature gating from `primitives`. --- primitives/src/lib.rs | 7 ++----- primitives/src/sequence.rs | 9 --------- 2 files changed, 2 insertions(+), 14 deletions(-) diff --git a/primitives/src/lib.rs b/primitives/src/lib.rs index b8a5204de6..032aebcdc0 100644 --- a/primitives/src/lib.rs +++ b/primitives/src/lib.rs @@ -31,7 +31,6 @@ extern crate std; extern crate serde; pub mod block; -#[cfg(feature = "alloc")] pub mod locktime; pub mod merkle_tree; pub mod opcodes; @@ -45,10 +44,8 @@ pub mod transaction; pub mod witness; #[doc(inline)] -pub use units::amount::{self, Amount, SignedAmount}; -#[doc(inline)] -#[cfg(feature = "alloc")] pub use units::{ + amount::{self, Amount, SignedAmount}, block::{BlockHeight, BlockInterval}, fee_rate::{self, FeeRate}, weight::{self, Weight}, @@ -60,13 +57,13 @@ pub use self::{ block::{ Block, Checked as BlockChecked, Unchecked as BlockUnchecked, Validation as BlockValidation, }, - locktime::{absolute, relative}, transaction::{Transaction, TxIn, TxOut}, witness::Witness, }; #[doc(inline)] pub use self::{ block::{BlockHash, Header as BlockHeader, WitnessCommitment}, + locktime::{absolute, relative}, merkle_tree::{TxMerkleNode, WitnessMerkleNode}, pow::CompactTarget, sequence::Sequence, diff --git a/primitives/src/sequence.rs b/primitives/src/sequence.rs index 5f0233c9cc..a0adab268e 100644 --- a/primitives/src/sequence.rs +++ b/primitives/src/sequence.rs @@ -20,12 +20,9 @@ use core::fmt; use arbitrary::{Arbitrary, Unstructured}; #[cfg(feature = "serde")] use serde::{Deserialize, Serialize}; -#[cfg(feature = "alloc")] use units::locktime::relative::TimeOverflowError; -#[cfg(feature = "alloc")] use units::parse::{self, PrefixedHexError, UnprefixedHexError}; -#[cfg(feature = "alloc")] use crate::locktime::relative; #[cfg(all(doc, feature = "alloc"))] use crate::transaction::Transaction; @@ -127,14 +124,12 @@ impl Sequence { } /// Constructs a new `Sequence` from a prefixed hex string. - #[cfg(feature = "alloc")] pub fn from_hex(s: &str) -> Result { let lock_time = parse::hex_u32_prefixed(s)?; Ok(Self::from_consensus(lock_time)) } /// Constructs a new `Sequence` from an unprefixed hex string. - #[cfg(feature = "alloc")] pub fn from_unprefixed_hex(s: &str) -> Result { let lock_time = parse::hex_u32_unprefixed(s)?; Ok(Self::from_consensus(lock_time)) @@ -158,7 +153,6 @@ impl Sequence { /// /// Will return an error if the input cannot be encoded in 16 bits. #[inline] - #[cfg(feature = "alloc")] pub fn from_seconds_floor(seconds: u32) -> Result { if let Ok(interval) = u16::try_from(seconds / 512) { Ok(Sequence::from_512_second_intervals(interval)) @@ -172,7 +166,6 @@ impl Sequence { /// /// Will return an error if the input cannot be encoded in 16 bits. #[inline] - #[cfg(feature = "alloc")] pub fn from_seconds_ceil(seconds: u32) -> Result { if let Ok(interval) = u16::try_from((seconds + 511) / 512) { Ok(Sequence::from_512_second_intervals(interval)) @@ -191,7 +184,6 @@ impl Sequence { /// Constructs a new [`relative::LockTime`] from this [`Sequence`] number. #[inline] - #[cfg(feature = "alloc")] pub fn to_relative_lock_time(&self) -> Option { use crate::locktime::relative::{Height, LockTime, Time}; @@ -211,7 +203,6 @@ impl Sequence { /// Returns the low 16 bits from sequence number. /// /// BIP-68 only uses the low 16 bits for relative lock value. - #[cfg(feature = "alloc")] fn low_u16(&self) -> u16 { self.0 as u16 } } From 428e9787d181a462d06a18b7a45701790cbc0929 Mon Sep 17 00:00:00 2001 From: Shing Him Ng Date: Wed, 27 Nov 2024 07:06:32 -0600 Subject: [PATCH 055/554] Explicitly define Ord for NodeInfo --- bitcoin/src/taproot/mod.rs | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/bitcoin/src/taproot/mod.rs b/bitcoin/src/taproot/mod.rs index dbcb65193a..88a6f1c556 100644 --- a/bitcoin/src/taproot/mod.rs +++ b/bitcoin/src/taproot/mod.rs @@ -7,7 +7,7 @@ pub mod merkle_branch; pub mod serialized_signature; -use core::cmp::Reverse; +use core::cmp::{Ordering, Reverse}; use core::fmt; use core::iter::FusedIterator; @@ -789,7 +789,7 @@ impl DoubleEndedIterator for LeafNodes<'_> { /// /// You can use [`TaprootSpendInfo::from_node_info`] to a get a [`TaprootSpendInfo`] from the Merkle /// root [`NodeInfo`]. -#[derive(Debug, Clone, PartialOrd, Ord)] +#[derive(Debug, Clone)] pub struct NodeInfo { /// Merkle hash for this node. pub(crate) hash: TapNodeHash, @@ -799,6 +799,24 @@ pub struct NodeInfo { pub(crate) has_hidden_nodes: bool, } +/// Explicitly implement Ord so future changes to NodeInfo (e.g. adding a new field) won't result in +/// potentially changing addresses out from under users +impl Ord for NodeInfo { + fn cmp(&self, other: &Self) -> Ordering { + match self.hash.cmp(&other.hash) { + Ordering::Equal => match self.leaves.cmp(&other.leaves) { + Ordering::Equal => self.has_hidden_nodes.cmp(&other.has_hidden_nodes), + other => other, + }, + other => other, + } + } +} + +impl PartialOrd for NodeInfo { + fn partial_cmp(&self, other: &NodeInfo) -> Option { Some(self.cmp(other)) } +} + impl PartialEq for NodeInfo { fn eq(&self, other: &Self) -> bool { self.hash.eq(&other.hash) } } From b9b8ddafdea286c5ed26abb04b966c77fdfa6d17 Mon Sep 17 00:00:00 2001 From: "Tobin C. Harding" Date: Tue, 10 Dec 2024 10:56:33 +1100 Subject: [PATCH 056/554] hashes: Add lint return_self_must_use Add the lint. No additional clippy warnings are introduced. --- hashes/src/lib.rs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/hashes/src/lib.rs b/hashes/src/lib.rs index 44b13523d1..920ce99731 100644 --- a/hashes/src/lib.rs +++ b/hashes/src/lib.rs @@ -58,6 +58,8 @@ #![warn(missing_docs)] #![warn(deprecated_in_future)] #![doc(test(attr(warn(unused))))] +// Pedantic lints that we enforce. +#![warn(clippy::return_self_not_must_use)] // Instead of littering the codebase for non-fuzzing and bench code just globally allow. #![cfg_attr(hashes_fuzz, allow(dead_code, unused_imports))] #![cfg_attr(bench, allow(dead_code, unused_imports))] From f4b9c06c8bdffccfe997135f7b6ec168978e9bcc Mon Sep 17 00:00:00 2001 From: "Tobin C. Harding" Date: Mon, 9 Dec 2024 17:05:27 +1100 Subject: [PATCH 057/554] hashes: Add additional must_use Run the linter with `must_use_candidate` enabled and check all the warnings. --- hashes/src/sha256.rs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/hashes/src/sha256.rs b/hashes/src/sha256.rs index 98e8ec1327..8770b332b6 100644 --- a/hashes/src/sha256.rs +++ b/hashes/src/sha256.rs @@ -135,6 +135,7 @@ impl crate::HashEngine for HashEngine { impl Hash { /// Iterate the sha256 algorithm to turn a sha256 hash into a sha256d hash + #[must_use] pub fn hash_again(&self) -> sha256d::Hash { crate::Hash::from_byte_array(::hash(&self.0).0) } @@ -202,6 +203,7 @@ impl Midstate { /// /// Computes non-finalized hash of `sha256(tag) || sha256(tag)` for use in [`sha256t`]. It's /// provided for use with [`sha256t`]. + #[must_use] pub const fn hash_tag(tag: &[u8]) -> Self { let hash = Hash::hash_unoptimized(tag); let mut buf = [0u8; 64]; From 199516b599fa11cfabf64b3e641db9fc162e2496 Mon Sep 17 00:00:00 2001 From: "Tobin C. Harding" Date: Tue, 10 Dec 2024 11:00:16 +1100 Subject: [PATCH 058/554] io: Add lint return_self_must_use Add the lint. No additional clippy warnings are introduced. --- io/src/lib.rs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/io/src/lib.rs b/io/src/lib.rs index b867be1919..9770f6ce84 100644 --- a/io/src/lib.rs +++ b/io/src/lib.rs @@ -14,6 +14,8 @@ // Coding conventions. #![warn(missing_docs)] #![doc(test(attr(warn(unused))))] +// Pedantic lints that we enforce. +#![warn(clippy::return_self_not_must_use)] // Exclude lints we don't think are valuable. #![allow(clippy::needless_question_mark)] // https://github.com/rust-bitcoin/rust-bitcoin/pull/2134 #![allow(clippy::manual_range_contains)] // More readable than clippy's format. From 549be547accdb13037bf3ef60310ca30d045dce0 Mon Sep 17 00:00:00 2001 From: "Tobin C. Harding" Date: Mon, 9 Dec 2024 16:50:16 +1100 Subject: [PATCH 059/554] primitives: Add must_use Enable lint `clippy::return_self_not_must_use` and add attribute `must_use` as required. Also run the linter with `clippy::must_use_candidate` enabled and manually check every warning site. While we are at it change the current `must_use` usages to have no message. We can always add a message later if needed. --- primitives/src/block.rs | 1 + primitives/src/lib.rs | 3 +++ primitives/src/opcodes.rs | 2 ++ primitives/src/script/borrowed.rs | 2 +- primitives/src/script/owned.rs | 2 +- primitives/src/witness.rs | 1 + 6 files changed, 9 insertions(+), 2 deletions(-) diff --git a/primitives/src/block.rs b/primitives/src/block.rs index 22d31c9ed6..7736fcf8f0 100644 --- a/primitives/src/block.rs +++ b/primitives/src/block.rs @@ -77,6 +77,7 @@ impl Block { /// Ignores block validation logic and just assumes you know what you are doing. /// /// You should only use this function if you trust the block i.e., it comes from a trusted node. + #[must_use] pub fn assume_checked(self, witness_root: Option) -> Block { Block { header: self.header, diff --git a/primitives/src/lib.rs b/primitives/src/lib.rs index b8a5204de6..f3cd95a7af 100644 --- a/primitives/src/lib.rs +++ b/primitives/src/lib.rs @@ -16,6 +16,9 @@ #![warn(missing_docs)] #![warn(deprecated_in_future)] #![doc(test(attr(warn(unused))))] +// Pedantic lints that we enforce. +// #![warn(clippy::must_use_candidate)] +#![warn(clippy::return_self_not_must_use)] // Exclude lints we don't think are valuable. #![allow(clippy::needless_question_mark)] // https://github.com/rust-bitcoin/rust-bitcoin/pull/2134 #![allow(clippy::manual_range_contains)] // More readable than clippy's format. diff --git a/primitives/src/opcodes.rs b/primitives/src/opcodes.rs index 498713fe2a..bd922e22c0 100644 --- a/primitives/src/opcodes.rs +++ b/primitives/src/opcodes.rs @@ -351,6 +351,7 @@ pub enum ClassifyContext { impl Opcode { /// Classifies an Opcode into a broad class. #[inline] + #[must_use] pub fn classify(self, ctx: ClassifyContext) -> Class { match (self, ctx) { // 3 opcodes illegal in all contexts @@ -424,6 +425,7 @@ impl Opcode { /// /// Returns `None` if `self` is not a PUSHNUM. #[inline] + #[must_use] pub const fn decode_pushnum(self) -> Option { const START: u8 = OP_PUSHNUM_1.code; const END: u8 = OP_PUSHNUM_16.code; diff --git a/primitives/src/script/borrowed.rs b/primitives/src/script/borrowed.rs index a7ea5e2f09..e8ea04bcd1 100644 --- a/primitives/src/script/borrowed.rs +++ b/primitives/src/script/borrowed.rs @@ -115,7 +115,7 @@ impl Script { pub fn is_empty(&self) -> bool { self.0.is_empty() } /// Converts a [`Box