Merge rust-bitcoin/rust-bitcoin#2765: Flesh out hex unit parsing API

cf3e1eb198 api: Run just check-api (Tobin C. Harding)
98bf213c52 bitcoin: Remove error module (Tobin C. Harding)
a5b93cb159 Flesh out hex unit parsing API (Tobin C. Harding)

Pull request description:

  Add to `units::parse` the complete suit of hex unit parsing functions:

  - remove prefix
  - assert without prefix
  - parse with or without prefix
  - parse with prefix
  - parse without prefix
  - parse prefix unchecked

  Refactor `bitcoin` to use the exact function we need, removing code duplication.

  This is a breaking change to `units`, it does however keep the current re-exports from the public, now empty, `bitcoin::error` module.

ACKs for top commit:
  apoelstra:
    ACK cf3e1eb198

Tree-SHA512: 1778108d4364e290e8956cfea6f23fcdd82c835844d034a00b4cf5cab5552e3efbe853dfbf8a3e0a4bd53a8e3da9d6f7c7408d332d18cd7090aec16fc1f02fe7
This commit is contained in:
Andrew Poelstra 2024-05-25 00:25:01 +00:00
commit 8d5399f881
No known key found for this signature in database
GPG Key ID: C588D63CE41B97C1
12 changed files with 496 additions and 520 deletions

View File

@ -626,10 +626,6 @@ impl core::clone::Clone for bitcoin::consensus::validation::TxVerifyError
impl core::clone::Clone for bitcoin::ecdsa::Error
impl core::clone::Clone for bitcoin::ecdsa::SerializedSignature
impl core::clone::Clone for bitcoin::ecdsa::Signature
impl core::clone::Clone for bitcoin::error::ContainsPrefixError
impl core::clone::Clone for bitcoin::error::MissingPrefixError
impl core::clone::Clone for bitcoin::error::PrefixedHexError
impl core::clone::Clone for bitcoin::error::UnprefixedHexError
impl core::clone::Clone for bitcoin::key::FromSliceError
impl core::clone::Clone for bitcoin::key::FromWifError
impl core::clone::Clone for bitcoin::key::InvalidAddressVersionError
@ -828,10 +824,6 @@ impl core::cmp::Eq for bitcoin::consensus::validation::TxVerifyError
impl core::cmp::Eq for bitcoin::ecdsa::Error
impl core::cmp::Eq for bitcoin::ecdsa::SerializedSignature
impl core::cmp::Eq for bitcoin::ecdsa::Signature
impl core::cmp::Eq for bitcoin::error::ContainsPrefixError
impl core::cmp::Eq for bitcoin::error::MissingPrefixError
impl core::cmp::Eq for bitcoin::error::PrefixedHexError
impl core::cmp::Eq for bitcoin::error::UnprefixedHexError
impl core::cmp::Eq for bitcoin::key::FromSliceError
impl core::cmp::Eq for bitcoin::key::FromWifError
impl core::cmp::Eq for bitcoin::key::InvalidAddressVersionError
@ -1118,10 +1110,6 @@ impl core::cmp::PartialEq for bitcoin::consensus::validation::TxVerifyError
impl core::cmp::PartialEq for bitcoin::ecdsa::Error
impl core::cmp::PartialEq for bitcoin::ecdsa::SerializedSignature
impl core::cmp::PartialEq for bitcoin::ecdsa::Signature
impl core::cmp::PartialEq for bitcoin::error::ContainsPrefixError
impl core::cmp::PartialEq for bitcoin::error::MissingPrefixError
impl core::cmp::PartialEq for bitcoin::error::PrefixedHexError
impl core::cmp::PartialEq for bitcoin::error::UnprefixedHexError
impl core::cmp::PartialEq for bitcoin::key::FromSliceError
impl core::cmp::PartialEq for bitcoin::key::FromWifError
impl core::cmp::PartialEq for bitcoin::key::InvalidAddressVersionError
@ -1856,8 +1844,6 @@ impl core::convert::From<bitcoin::blockdata::transaction::Wtxid> for bitcoin::bl
impl core::convert::From<bitcoin::blockdata::transaction::Wtxid> for bitcoin_hashes::sha256d::Hash
impl core::convert::From<bitcoin::consensus::encode::Error> for bitcoin::psbt::Error
impl core::convert::From<bitcoin::consensus::validation::BitcoinconsensusError> for bitcoin::consensus::validation::TxVerifyError
impl core::convert::From<bitcoin::error::ContainsPrefixError> for bitcoin::error::UnprefixedHexError
impl core::convert::From<bitcoin::error::MissingPrefixError> for bitcoin::error::PrefixedHexError
impl core::convert::From<bitcoin::key::FromSliceError> for bitcoin::key::ParsePublicKeyError
impl core::convert::From<bitcoin::key::InvalidAddressVersionError> for bitcoin::key::FromWifError
impl core::convert::From<bitcoin::key::InvalidBase58PayloadLengthError> for bitcoin::key::FromWifError
@ -1916,8 +1902,6 @@ impl core::convert::From<bitcoin_units::locktime::absolute::Time> for bitcoin::b
impl core::convert::From<bitcoin_units::locktime::relative::Height> for bitcoin::blockdata::locktime::relative::LockTime
impl core::convert::From<bitcoin_units::locktime::relative::Time> for bitcoin::blockdata::locktime::relative::LockTime
impl core::convert::From<bitcoin_units::parse::ParseIntError> for bitcoin::blockdata::script::witness_version::FromStrError
impl core::convert::From<bitcoin_units::parse::ParseIntError> for bitcoin::error::PrefixedHexError
impl core::convert::From<bitcoin_units::parse::ParseIntError> for bitcoin::error::UnprefixedHexError
impl core::convert::From<core::convert::Infallible> for bitcoin::address::error::FromScriptError
impl core::convert::From<core::convert::Infallible> for bitcoin::address::error::P2shError
impl core::convert::From<core::convert::Infallible> for bitcoin::address::error::ParseError
@ -2052,10 +2036,6 @@ impl core::error::Error for bitcoin::consensus::encode::FromHexError
impl core::error::Error for bitcoin::consensus::validation::BitcoinconsensusError
impl core::error::Error for bitcoin::consensus::validation::TxVerifyError
impl core::error::Error for bitcoin::ecdsa::Error
impl core::error::Error for bitcoin::error::ContainsPrefixError
impl core::error::Error for bitcoin::error::MissingPrefixError
impl core::error::Error for bitcoin::error::PrefixedHexError
impl core::error::Error for bitcoin::error::UnprefixedHexError
impl core::error::Error for bitcoin::key::FromSliceError
impl core::error::Error for bitcoin::key::FromWifError
impl core::error::Error for bitcoin::key::InvalidAddressVersionError
@ -2194,10 +2174,6 @@ impl core::fmt::Debug for bitcoin::consensus::validation::TxVerifyError
impl core::fmt::Debug for bitcoin::ecdsa::Error
impl core::fmt::Debug for bitcoin::ecdsa::SerializedSignature
impl core::fmt::Debug for bitcoin::ecdsa::Signature
impl core::fmt::Debug for bitcoin::error::ContainsPrefixError
impl core::fmt::Debug for bitcoin::error::MissingPrefixError
impl core::fmt::Debug for bitcoin::error::PrefixedHexError
impl core::fmt::Debug for bitcoin::error::UnprefixedHexError
impl core::fmt::Debug for bitcoin::key::FromSliceError
impl core::fmt::Debug for bitcoin::key::FromWifError
impl core::fmt::Debug for bitcoin::key::InvalidAddressVersionError
@ -2374,10 +2350,6 @@ impl core::fmt::Display for bitcoin::consensus::validation::TxVerifyError
impl core::fmt::Display for bitcoin::ecdsa::Error
impl core::fmt::Display for bitcoin::ecdsa::SerializedSignature
impl core::fmt::Display for bitcoin::ecdsa::Signature
impl core::fmt::Display for bitcoin::error::ContainsPrefixError
impl core::fmt::Display for bitcoin::error::MissingPrefixError
impl core::fmt::Display for bitcoin::error::PrefixedHexError
impl core::fmt::Display for bitcoin::error::UnprefixedHexError
impl core::fmt::Display for bitcoin::key::FromSliceError
impl core::fmt::Display for bitcoin::key::FromWifError
impl core::fmt::Display for bitcoin::key::InvalidAddressVersionError
@ -2797,10 +2769,6 @@ impl core::marker::Freeze for bitcoin::consensus::validation::TxVerifyError
impl core::marker::Freeze for bitcoin::ecdsa::Error
impl core::marker::Freeze for bitcoin::ecdsa::SerializedSignature
impl core::marker::Freeze for bitcoin::ecdsa::Signature
impl core::marker::Freeze for bitcoin::error::ContainsPrefixError
impl core::marker::Freeze for bitcoin::error::MissingPrefixError
impl core::marker::Freeze for bitcoin::error::PrefixedHexError
impl core::marker::Freeze for bitcoin::error::UnprefixedHexError
impl core::marker::Freeze for bitcoin::key::FromSliceError
impl core::marker::Freeze for bitcoin::key::FromWifError
impl core::marker::Freeze for bitcoin::key::InvalidAddressVersionError
@ -3011,10 +2979,6 @@ impl core::marker::Send for bitcoin::consensus::validation::TxVerifyError
impl core::marker::Send for bitcoin::ecdsa::Error
impl core::marker::Send for bitcoin::ecdsa::SerializedSignature
impl core::marker::Send for bitcoin::ecdsa::Signature
impl core::marker::Send for bitcoin::error::ContainsPrefixError
impl core::marker::Send for bitcoin::error::MissingPrefixError
impl core::marker::Send for bitcoin::error::PrefixedHexError
impl core::marker::Send for bitcoin::error::UnprefixedHexError
impl core::marker::Send for bitcoin::key::FromSliceError
impl core::marker::Send for bitcoin::key::FromWifError
impl core::marker::Send for bitcoin::key::InvalidAddressVersionError
@ -3215,10 +3179,6 @@ impl core::marker::StructuralPartialEq for bitcoin::consensus::validation::Bitco
impl core::marker::StructuralPartialEq for bitcoin::consensus::validation::TxVerifyError
impl core::marker::StructuralPartialEq for bitcoin::ecdsa::Error
impl core::marker::StructuralPartialEq for bitcoin::ecdsa::Signature
impl core::marker::StructuralPartialEq for bitcoin::error::ContainsPrefixError
impl core::marker::StructuralPartialEq for bitcoin::error::MissingPrefixError
impl core::marker::StructuralPartialEq for bitcoin::error::PrefixedHexError
impl core::marker::StructuralPartialEq for bitcoin::error::UnprefixedHexError
impl core::marker::StructuralPartialEq for bitcoin::key::FromSliceError
impl core::marker::StructuralPartialEq for bitcoin::key::FromWifError
impl core::marker::StructuralPartialEq for bitcoin::key::InvalidAddressVersionError
@ -3423,10 +3383,6 @@ impl core::marker::Sync for bitcoin::consensus::validation::TxVerifyError
impl core::marker::Sync for bitcoin::ecdsa::Error
impl core::marker::Sync for bitcoin::ecdsa::SerializedSignature
impl core::marker::Sync for bitcoin::ecdsa::Signature
impl core::marker::Sync for bitcoin::error::ContainsPrefixError
impl core::marker::Sync for bitcoin::error::MissingPrefixError
impl core::marker::Sync for bitcoin::error::PrefixedHexError
impl core::marker::Sync for bitcoin::error::UnprefixedHexError
impl core::marker::Sync for bitcoin::key::FromSliceError
impl core::marker::Sync for bitcoin::key::FromWifError
impl core::marker::Sync for bitcoin::key::InvalidAddressVersionError
@ -3637,10 +3593,6 @@ impl core::marker::Unpin for bitcoin::consensus::validation::TxVerifyError
impl core::marker::Unpin for bitcoin::ecdsa::Error
impl core::marker::Unpin for bitcoin::ecdsa::SerializedSignature
impl core::marker::Unpin for bitcoin::ecdsa::Signature
impl core::marker::Unpin for bitcoin::error::ContainsPrefixError
impl core::marker::Unpin for bitcoin::error::MissingPrefixError
impl core::marker::Unpin for bitcoin::error::PrefixedHexError
impl core::marker::Unpin for bitcoin::error::UnprefixedHexError
impl core::marker::Unpin for bitcoin::key::FromSliceError
impl core::marker::Unpin for bitcoin::key::FromWifError
impl core::marker::Unpin for bitcoin::key::InvalidAddressVersionError
@ -3880,10 +3832,6 @@ impl core::panic::unwind_safe::RefUnwindSafe for bitcoin::consensus::validation:
impl core::panic::unwind_safe::RefUnwindSafe for bitcoin::ecdsa::Error
impl core::panic::unwind_safe::RefUnwindSafe for bitcoin::ecdsa::SerializedSignature
impl core::panic::unwind_safe::RefUnwindSafe for bitcoin::ecdsa::Signature
impl core::panic::unwind_safe::RefUnwindSafe for bitcoin::error::ContainsPrefixError
impl core::panic::unwind_safe::RefUnwindSafe for bitcoin::error::MissingPrefixError
impl core::panic::unwind_safe::RefUnwindSafe for bitcoin::error::PrefixedHexError
impl core::panic::unwind_safe::RefUnwindSafe for bitcoin::error::UnprefixedHexError
impl core::panic::unwind_safe::RefUnwindSafe for bitcoin::key::FromSliceError
impl core::panic::unwind_safe::RefUnwindSafe for bitcoin::key::FromWifError
impl core::panic::unwind_safe::RefUnwindSafe for bitcoin::key::InvalidAddressVersionError
@ -4089,10 +4037,6 @@ impl core::panic::unwind_safe::UnwindSafe for bitcoin::consensus::validation::Tx
impl core::panic::unwind_safe::UnwindSafe for bitcoin::ecdsa::Error
impl core::panic::unwind_safe::UnwindSafe for bitcoin::ecdsa::SerializedSignature
impl core::panic::unwind_safe::UnwindSafe for bitcoin::ecdsa::Signature
impl core::panic::unwind_safe::UnwindSafe for bitcoin::error::ContainsPrefixError
impl core::panic::unwind_safe::UnwindSafe for bitcoin::error::MissingPrefixError
impl core::panic::unwind_safe::UnwindSafe for bitcoin::error::PrefixedHexError
impl core::panic::unwind_safe::UnwindSafe for bitcoin::error::UnprefixedHexError
impl core::panic::unwind_safe::UnwindSafe for bitcoin::key::FromSliceError
impl core::panic::unwind_safe::UnwindSafe for bitcoin::key::FromWifError
impl core::panic::unwind_safe::UnwindSafe for bitcoin::key::InvalidAddressVersionError
@ -5242,10 +5186,6 @@ pub bitcoin::ecdsa::Error::Secp256k1(secp256k1::Error)
pub bitcoin::ecdsa::Error::SighashType(bitcoin::sighash::NonStandardSighashTypeError)
pub bitcoin::ecdsa::Signature::sighash_type: bitcoin::EcdsaSighashType
pub bitcoin::ecdsa::Signature::signature: secp256k1::ecdsa::Signature
pub bitcoin::error::PrefixedHexError::MissingPrefix(bitcoin::error::MissingPrefixError)
pub bitcoin::error::PrefixedHexError::ParseInt(bitcoin_units::parse::ParseIntError)
pub bitcoin::error::UnprefixedHexError::ContainsPrefix(bitcoin::error::ContainsPrefixError)
pub bitcoin::error::UnprefixedHexError::ParseInt(bitcoin_units::parse::ParseIntError)
pub bitcoin::key::FromSliceError::InvalidKeyPrefix(u8)
pub bitcoin::key::FromSliceError::InvalidLength(usize)
pub bitcoin::key::FromSliceError::Secp256k1(secp256k1::Error)
@ -6424,8 +6364,6 @@ pub enum bitcoin::consensus::DecodeError<E>
pub enum bitcoin::consensus::encode::FromHexError
pub enum bitcoin::consensus::serde::hex::Lower
pub enum bitcoin::consensus::serde::hex::Upper
pub enum bitcoin::error::PrefixedHexError
pub enum bitcoin::error::UnprefixedHexError
pub enum bitcoin::key::ParseCompressedPublicKeyError
pub enum bitcoin::key::ParsePublicKeyError
pub enum bitcoin::locktime::absolute::LockTime
@ -7774,10 +7712,10 @@ pub fn bitcoin::blockdata::locktime::absolute::LockTime::from(h: bitcoin_units::
pub fn bitcoin::blockdata::locktime::absolute::LockTime::from(t: bitcoin_units::locktime::absolute::Time) -> Self
pub fn bitcoin::blockdata::locktime::absolute::LockTime::from_consensus(n: u32) -> Self
pub fn bitcoin::blockdata::locktime::absolute::LockTime::from_height(n: u32) -> core::result::Result<Self, bitcoin_units::locktime::absolute::ConversionError>
pub fn bitcoin::blockdata::locktime::absolute::LockTime::from_hex(s: &str) -> core::result::Result<Self, bitcoin::error::PrefixedHexError>
pub fn bitcoin::blockdata::locktime::absolute::LockTime::from_hex(s: &str) -> core::result::Result<Self, bitcoin_units::parse::PrefixedHexError>
pub fn bitcoin::blockdata::locktime::absolute::LockTime::from_str(s: &str) -> core::result::Result<Self, Self::Err>
pub fn bitcoin::blockdata::locktime::absolute::LockTime::from_time(n: u32) -> core::result::Result<Self, bitcoin_units::locktime::absolute::ConversionError>
pub fn bitcoin::blockdata::locktime::absolute::LockTime::from_unprefixed_hex(s: &str) -> core::result::Result<Self, bitcoin::error::UnprefixedHexError>
pub fn bitcoin::blockdata::locktime::absolute::LockTime::from_unprefixed_hex(s: &str) -> core::result::Result<Self, bitcoin_units::parse::UnprefixedHexError>
pub fn bitcoin::blockdata::locktime::absolute::LockTime::hash<__H: core::hash::Hasher>(&self, state: &mut __H)
pub fn bitcoin::blockdata::locktime::absolute::LockTime::is_implied_by(&self, other: bitcoin::blockdata::locktime::absolute::LockTime) -> bool
pub fn bitcoin::blockdata::locktime::absolute::LockTime::is_satisfied_by(&self, height: bitcoin_units::locktime::absolute::Height, time: bitcoin_units::locktime::absolute::Time) -> bool
@ -8370,11 +8308,11 @@ pub fn bitcoin::blockdata::transaction::Sequence::from(lt: bitcoin::blockdata::l
pub fn bitcoin::blockdata::transaction::Sequence::from_512_second_intervals(intervals: u16) -> Self
pub fn bitcoin::blockdata::transaction::Sequence::from_consensus(n: u32) -> Self
pub fn bitcoin::blockdata::transaction::Sequence::from_height(height: u16) -> Self
pub fn bitcoin::blockdata::transaction::Sequence::from_hex(s: &str) -> core::result::Result<Self, bitcoin::error::PrefixedHexError>
pub fn bitcoin::blockdata::transaction::Sequence::from_hex(s: &str) -> core::result::Result<Self, bitcoin_units::parse::PrefixedHexError>
pub fn bitcoin::blockdata::transaction::Sequence::from_seconds_ceil(seconds: u32) -> core::result::Result<Self, bitcoin_units::locktime::relative::TimeOverflowError>
pub fn bitcoin::blockdata::transaction::Sequence::from_seconds_floor(seconds: u32) -> core::result::Result<Self, bitcoin_units::locktime::relative::TimeOverflowError>
pub fn bitcoin::blockdata::transaction::Sequence::from_str(s: &str) -> core::result::Result<Self, Self::Err>
pub fn bitcoin::blockdata::transaction::Sequence::from_unprefixed_hex(s: &str) -> core::result::Result<Self, bitcoin::error::UnprefixedHexError>
pub fn bitcoin::blockdata::transaction::Sequence::from_unprefixed_hex(s: &str) -> core::result::Result<Self, bitcoin_units::parse::UnprefixedHexError>
pub fn bitcoin::blockdata::transaction::Sequence::hash<__H: core::hash::Hasher>(&self, state: &mut __H)
pub fn bitcoin::blockdata::transaction::Sequence::is_final(&self) -> bool
pub fn bitcoin::blockdata::transaction::Sequence::is_height_locked(&self) -> bool
@ -8718,24 +8656,6 @@ pub fn bitcoin::ecdsa::Signature::serialize<__S>(&self, __serializer: __S) -> co
pub fn bitcoin::ecdsa::Signature::serialize_to_writer<W: bitcoin_io::Write + core::marker::Sized>(&self, writer: &mut W) -> core::result::Result<(), bitcoin_io::error::Error>
pub fn bitcoin::ecdsa::Signature::sighash_all(signature: secp256k1::ecdsa::Signature) -> bitcoin::ecdsa::Signature
pub fn bitcoin::ecdsa::Signature::to_vec(self) -> alloc::vec::Vec<u8>
pub fn bitcoin::error::ContainsPrefixError::clone(&self) -> bitcoin::error::ContainsPrefixError
pub fn bitcoin::error::ContainsPrefixError::eq(&self, other: &bitcoin::error::ContainsPrefixError) -> bool
pub fn bitcoin::error::ContainsPrefixError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result
pub fn bitcoin::error::MissingPrefixError::clone(&self) -> bitcoin::error::MissingPrefixError
pub fn bitcoin::error::MissingPrefixError::eq(&self, other: &bitcoin::error::MissingPrefixError) -> bool
pub fn bitcoin::error::MissingPrefixError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result
pub fn bitcoin::error::PrefixedHexError::clone(&self) -> bitcoin::error::PrefixedHexError
pub fn bitcoin::error::PrefixedHexError::eq(&self, other: &bitcoin::error::PrefixedHexError) -> bool
pub fn bitcoin::error::PrefixedHexError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result
pub fn bitcoin::error::PrefixedHexError::from(e: bitcoin::error::MissingPrefixError) -> Self
pub fn bitcoin::error::PrefixedHexError::from(e: bitcoin_units::parse::ParseIntError) -> Self
pub fn bitcoin::error::PrefixedHexError::source(&self) -> core::option::Option<&(dyn core::error::Error + 'static)>
pub fn bitcoin::error::UnprefixedHexError::clone(&self) -> bitcoin::error::UnprefixedHexError
pub fn bitcoin::error::UnprefixedHexError::eq(&self, other: &bitcoin::error::UnprefixedHexError) -> bool
pub fn bitcoin::error::UnprefixedHexError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result
pub fn bitcoin::error::UnprefixedHexError::from(e: bitcoin::error::ContainsPrefixError) -> Self
pub fn bitcoin::error::UnprefixedHexError::from(e: bitcoin_units::parse::ParseIntError) -> Self
pub fn bitcoin::error::UnprefixedHexError::source(&self) -> core::option::Option<&(dyn core::error::Error + 'static)>
pub fn bitcoin::key::FromSliceError::clone(&self) -> bitcoin::key::FromSliceError
pub fn bitcoin::key::FromSliceError::eq(&self, other: &bitcoin::key::FromSliceError) -> bool
pub fn bitcoin::key::FromSliceError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result
@ -9111,9 +9031,9 @@ pub fn bitcoin::pow::CompactTarget::eq(&self, other: &bitcoin::pow::CompactTarge
pub fn bitcoin::pow::CompactTarget::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result
pub fn bitcoin::pow::CompactTarget::from_consensus(bits: u32) -> Self
pub fn bitcoin::pow::CompactTarget::from_header_difficulty_adjustment(last_epoch_boundary: bitcoin::blockdata::block::Header, current: bitcoin::blockdata::block::Header, params: impl core::convert::AsRef<bitcoin::consensus::params::Params>) -> bitcoin::pow::CompactTarget
pub fn bitcoin::pow::CompactTarget::from_hex(s: &str) -> core::result::Result<Self, bitcoin::error::PrefixedHexError>
pub fn bitcoin::pow::CompactTarget::from_hex(s: &str) -> core::result::Result<Self, bitcoin_units::parse::PrefixedHexError>
pub fn bitcoin::pow::CompactTarget::from_next_work_required(last: bitcoin::pow::CompactTarget, timespan: u64, params: impl core::convert::AsRef<bitcoin::consensus::params::Params>) -> bitcoin::pow::CompactTarget
pub fn bitcoin::pow::CompactTarget::from_unprefixed_hex(s: &str) -> core::result::Result<Self, bitcoin::error::UnprefixedHexError>
pub fn bitcoin::pow::CompactTarget::from_unprefixed_hex(s: &str) -> core::result::Result<Self, bitcoin_units::parse::UnprefixedHexError>
pub fn bitcoin::pow::CompactTarget::hash<__H: core::hash::Hasher>(&self, state: &mut __H)
pub fn bitcoin::pow::CompactTarget::partial_cmp(&self, other: &bitcoin::pow::CompactTarget) -> core::option::Option<core::cmp::Ordering>
pub fn bitcoin::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
@ -9128,9 +9048,9 @@ pub fn bitcoin::pow::Target::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> cor
pub fn bitcoin::pow::Target::from(c: bitcoin::pow::CompactTarget) -> Self
pub fn bitcoin::pow::Target::from_be_bytes(bytes: [u8; 32]) -> bitcoin::pow::Target
pub fn bitcoin::pow::Target::from_compact(c: bitcoin::pow::CompactTarget) -> bitcoin::pow::Target
pub fn bitcoin::pow::Target::from_hex(s: &str) -> core::result::Result<Self, bitcoin::error::PrefixedHexError>
pub fn bitcoin::pow::Target::from_hex(s: &str) -> core::result::Result<Self, bitcoin_units::parse::PrefixedHexError>
pub fn bitcoin::pow::Target::from_le_bytes(bytes: [u8; 32]) -> bitcoin::pow::Target
pub fn bitcoin::pow::Target::from_unprefixed_hex(s: &str) -> core::result::Result<Self, bitcoin::error::UnprefixedHexError>
pub fn bitcoin::pow::Target::from_unprefixed_hex(s: &str) -> core::result::Result<Self, bitcoin_units::parse::UnprefixedHexError>
pub fn bitcoin::pow::Target::hash<__H: core::hash::Hasher>(&self, state: &mut __H)
pub fn bitcoin::pow::Target::is_met_by(&self, hash: bitcoin::blockdata::block::BlockHash) -> bool
pub fn bitcoin::pow::Target::max_difficulty_transition_threshold(&self) -> Self
@ -9151,9 +9071,9 @@ pub fn bitcoin::pow::Work::deserialize<__D>(__deserializer: __D) -> core::result
pub fn bitcoin::pow::Work::eq(&self, other: &bitcoin::pow::Work) -> bool
pub fn bitcoin::pow::Work::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result
pub fn bitcoin::pow::Work::from_be_bytes(bytes: [u8; 32]) -> bitcoin::pow::Work
pub fn bitcoin::pow::Work::from_hex(s: &str) -> core::result::Result<Self, bitcoin::error::PrefixedHexError>
pub fn bitcoin::pow::Work::from_hex(s: &str) -> core::result::Result<Self, bitcoin_units::parse::PrefixedHexError>
pub fn bitcoin::pow::Work::from_le_bytes(bytes: [u8; 32]) -> bitcoin::pow::Work
pub fn bitcoin::pow::Work::from_unprefixed_hex(s: &str) -> core::result::Result<Self, bitcoin::error::UnprefixedHexError>
pub fn bitcoin::pow::Work::from_unprefixed_hex(s: &str) -> core::result::Result<Self, bitcoin_units::parse::UnprefixedHexError>
pub fn bitcoin::pow::Work::hash<__H: core::hash::Hasher>(&self, state: &mut __H)
pub fn bitcoin::pow::Work::log2(self) -> f64
pub fn bitcoin::pow::Work::partial_cmp(&self, other: &bitcoin::pow::Work) -> core::option::Option<core::cmp::Ordering>
@ -9977,7 +9897,6 @@ pub mod bitcoin::consensus::serde::hex
pub mod bitcoin::consensus::validation
pub mod bitcoin::constants
pub mod bitcoin::ecdsa
pub mod bitcoin::error
pub mod bitcoin::hash_types
pub mod bitcoin::key
pub mod bitcoin::locktime
@ -10158,8 +10077,6 @@ pub struct bitcoin::consensus::serde::hex::Encoder<C: bitcoin::consensus::serde:
pub struct bitcoin::constants::ChainHash(_)
pub struct bitcoin::ecdsa::SerializedSignature
pub struct bitcoin::ecdsa::Signature
pub struct bitcoin::error::ContainsPrefixError
pub struct bitcoin::error::MissingPrefixError
pub struct bitcoin::hash_types::BlockHash(_)
pub struct bitcoin::hash_types::FilterHash(_)
pub struct bitcoin::hash_types::FilterHeader(_)
@ -10524,7 +10441,6 @@ pub use bitcoin::blockdata::locktime::relative::Height
pub use bitcoin::blockdata::locktime::relative::Time
pub use bitcoin::blockdata::locktime::relative::TimeOverflowError
pub use bitcoin::blockdata::weight::<<units::weight::*>>
pub use bitcoin::error::ParseIntError
pub use bitcoin::key::Keypair
pub use bitcoin::key::Parity
pub use bitcoin::key::Secp256k1

View File

@ -594,10 +594,6 @@ impl core::clone::Clone for bitcoin::consensus::params::Params
impl core::clone::Clone for bitcoin::ecdsa::Error
impl core::clone::Clone for bitcoin::ecdsa::SerializedSignature
impl core::clone::Clone for bitcoin::ecdsa::Signature
impl core::clone::Clone for bitcoin::error::ContainsPrefixError
impl core::clone::Clone for bitcoin::error::MissingPrefixError
impl core::clone::Clone for bitcoin::error::PrefixedHexError
impl core::clone::Clone for bitcoin::error::UnprefixedHexError
impl core::clone::Clone for bitcoin::key::FromSliceError
impl core::clone::Clone for bitcoin::key::FromWifError
impl core::clone::Clone for bitcoin::key::InvalidAddressVersionError
@ -792,10 +788,6 @@ impl core::cmp::Eq for bitcoin::consensus::encode::VarInt
impl core::cmp::Eq for bitcoin::ecdsa::Error
impl core::cmp::Eq for bitcoin::ecdsa::SerializedSignature
impl core::cmp::Eq for bitcoin::ecdsa::Signature
impl core::cmp::Eq for bitcoin::error::ContainsPrefixError
impl core::cmp::Eq for bitcoin::error::MissingPrefixError
impl core::cmp::Eq for bitcoin::error::PrefixedHexError
impl core::cmp::Eq for bitcoin::error::UnprefixedHexError
impl core::cmp::Eq for bitcoin::key::FromSliceError
impl core::cmp::Eq for bitcoin::key::FromWifError
impl core::cmp::Eq for bitcoin::key::InvalidAddressVersionError
@ -1078,10 +1070,6 @@ impl core::cmp::PartialEq for bitcoin::consensus::encode::VarInt
impl core::cmp::PartialEq for bitcoin::ecdsa::Error
impl core::cmp::PartialEq for bitcoin::ecdsa::SerializedSignature
impl core::cmp::PartialEq for bitcoin::ecdsa::Signature
impl core::cmp::PartialEq for bitcoin::error::ContainsPrefixError
impl core::cmp::PartialEq for bitcoin::error::MissingPrefixError
impl core::cmp::PartialEq for bitcoin::error::PrefixedHexError
impl core::cmp::PartialEq for bitcoin::error::UnprefixedHexError
impl core::cmp::PartialEq for bitcoin::key::FromSliceError
impl core::cmp::PartialEq for bitcoin::key::FromWifError
impl core::cmp::PartialEq for bitcoin::key::InvalidAddressVersionError
@ -1815,8 +1803,6 @@ impl core::convert::From<bitcoin::blockdata::transaction::Txid> for bitcoin_hash
impl core::convert::From<bitcoin::blockdata::transaction::Wtxid> for bitcoin::blockdata::block::WitnessMerkleNode
impl core::convert::From<bitcoin::blockdata::transaction::Wtxid> for bitcoin_hashes::sha256d::Hash
impl core::convert::From<bitcoin::consensus::encode::Error> for bitcoin::psbt::Error
impl core::convert::From<bitcoin::error::ContainsPrefixError> for bitcoin::error::UnprefixedHexError
impl core::convert::From<bitcoin::error::MissingPrefixError> for bitcoin::error::PrefixedHexError
impl core::convert::From<bitcoin::key::FromSliceError> for bitcoin::key::ParsePublicKeyError
impl core::convert::From<bitcoin::key::InvalidAddressVersionError> for bitcoin::key::FromWifError
impl core::convert::From<bitcoin::key::InvalidBase58PayloadLengthError> for bitcoin::key::FromWifError
@ -1875,8 +1861,6 @@ impl core::convert::From<bitcoin_units::locktime::absolute::Time> for bitcoin::b
impl core::convert::From<bitcoin_units::locktime::relative::Height> for bitcoin::blockdata::locktime::relative::LockTime
impl core::convert::From<bitcoin_units::locktime::relative::Time> for bitcoin::blockdata::locktime::relative::LockTime
impl core::convert::From<bitcoin_units::parse::ParseIntError> for bitcoin::blockdata::script::witness_version::FromStrError
impl core::convert::From<bitcoin_units::parse::ParseIntError> for bitcoin::error::PrefixedHexError
impl core::convert::From<bitcoin_units::parse::ParseIntError> for bitcoin::error::UnprefixedHexError
impl core::convert::From<core::convert::Infallible> for bitcoin::address::error::FromScriptError
impl core::convert::From<core::convert::Infallible> for bitcoin::address::error::P2shError
impl core::convert::From<core::convert::Infallible> for bitcoin::address::error::ParseError
@ -2007,10 +1991,6 @@ impl core::error::Error for bitcoin::blockdata::transaction::ParseOutPointError
impl core::error::Error for bitcoin::consensus::encode::Error
impl core::error::Error for bitcoin::consensus::encode::FromHexError
impl core::error::Error for bitcoin::ecdsa::Error
impl core::error::Error for bitcoin::error::ContainsPrefixError
impl core::error::Error for bitcoin::error::MissingPrefixError
impl core::error::Error for bitcoin::error::PrefixedHexError
impl core::error::Error for bitcoin::error::UnprefixedHexError
impl core::error::Error for bitcoin::key::FromSliceError
impl core::error::Error for bitcoin::key::FromWifError
impl core::error::Error for bitcoin::key::InvalidAddressVersionError
@ -2144,10 +2124,6 @@ impl core::fmt::Debug for bitcoin::consensus::params::Params
impl core::fmt::Debug for bitcoin::ecdsa::Error
impl core::fmt::Debug for bitcoin::ecdsa::SerializedSignature
impl core::fmt::Debug for bitcoin::ecdsa::Signature
impl core::fmt::Debug for bitcoin::error::ContainsPrefixError
impl core::fmt::Debug for bitcoin::error::MissingPrefixError
impl core::fmt::Debug for bitcoin::error::PrefixedHexError
impl core::fmt::Debug for bitcoin::error::UnprefixedHexError
impl core::fmt::Debug for bitcoin::key::FromSliceError
impl core::fmt::Debug for bitcoin::key::FromWifError
impl core::fmt::Debug for bitcoin::key::InvalidAddressVersionError
@ -2321,10 +2297,6 @@ impl core::fmt::Display for bitcoin::consensus::encode::FromHexError
impl core::fmt::Display for bitcoin::ecdsa::Error
impl core::fmt::Display for bitcoin::ecdsa::SerializedSignature
impl core::fmt::Display for bitcoin::ecdsa::Signature
impl core::fmt::Display for bitcoin::error::ContainsPrefixError
impl core::fmt::Display for bitcoin::error::MissingPrefixError
impl core::fmt::Display for bitcoin::error::PrefixedHexError
impl core::fmt::Display for bitcoin::error::UnprefixedHexError
impl core::fmt::Display for bitcoin::key::FromSliceError
impl core::fmt::Display for bitcoin::key::FromWifError
impl core::fmt::Display for bitcoin::key::InvalidAddressVersionError
@ -2735,10 +2707,6 @@ impl core::marker::Freeze for bitcoin::consensus::params::Params
impl core::marker::Freeze for bitcoin::ecdsa::Error
impl core::marker::Freeze for bitcoin::ecdsa::SerializedSignature
impl core::marker::Freeze for bitcoin::ecdsa::Signature
impl core::marker::Freeze for bitcoin::error::ContainsPrefixError
impl core::marker::Freeze for bitcoin::error::MissingPrefixError
impl core::marker::Freeze for bitcoin::error::PrefixedHexError
impl core::marker::Freeze for bitcoin::error::UnprefixedHexError
impl core::marker::Freeze for bitcoin::key::FromSliceError
impl core::marker::Freeze for bitcoin::key::FromWifError
impl core::marker::Freeze for bitcoin::key::InvalidAddressVersionError
@ -2942,10 +2910,6 @@ impl core::marker::Send for bitcoin::consensus::params::Params
impl core::marker::Send for bitcoin::ecdsa::Error
impl core::marker::Send for bitcoin::ecdsa::SerializedSignature
impl core::marker::Send for bitcoin::ecdsa::Signature
impl core::marker::Send for bitcoin::error::ContainsPrefixError
impl core::marker::Send for bitcoin::error::MissingPrefixError
impl core::marker::Send for bitcoin::error::PrefixedHexError
impl core::marker::Send for bitcoin::error::UnprefixedHexError
impl core::marker::Send for bitcoin::key::FromSliceError
impl core::marker::Send for bitcoin::key::FromWifError
impl core::marker::Send for bitcoin::key::InvalidAddressVersionError
@ -3141,10 +3105,6 @@ impl core::marker::StructuralPartialEq for bitcoin::consensus::encode::CheckedDa
impl core::marker::StructuralPartialEq for bitcoin::consensus::encode::VarInt
impl core::marker::StructuralPartialEq for bitcoin::ecdsa::Error
impl core::marker::StructuralPartialEq for bitcoin::ecdsa::Signature
impl core::marker::StructuralPartialEq for bitcoin::error::ContainsPrefixError
impl core::marker::StructuralPartialEq for bitcoin::error::MissingPrefixError
impl core::marker::StructuralPartialEq for bitcoin::error::PrefixedHexError
impl core::marker::StructuralPartialEq for bitcoin::error::UnprefixedHexError
impl core::marker::StructuralPartialEq for bitcoin::key::FromSliceError
impl core::marker::StructuralPartialEq for bitcoin::key::FromWifError
impl core::marker::StructuralPartialEq for bitcoin::key::InvalidAddressVersionError
@ -3343,10 +3303,6 @@ impl core::marker::Sync for bitcoin::consensus::params::Params
impl core::marker::Sync for bitcoin::ecdsa::Error
impl core::marker::Sync for bitcoin::ecdsa::SerializedSignature
impl core::marker::Sync for bitcoin::ecdsa::Signature
impl core::marker::Sync for bitcoin::error::ContainsPrefixError
impl core::marker::Sync for bitcoin::error::MissingPrefixError
impl core::marker::Sync for bitcoin::error::PrefixedHexError
impl core::marker::Sync for bitcoin::error::UnprefixedHexError
impl core::marker::Sync for bitcoin::key::FromSliceError
impl core::marker::Sync for bitcoin::key::FromWifError
impl core::marker::Sync for bitcoin::key::InvalidAddressVersionError
@ -3550,10 +3506,6 @@ impl core::marker::Unpin for bitcoin::consensus::params::Params
impl core::marker::Unpin for bitcoin::ecdsa::Error
impl core::marker::Unpin for bitcoin::ecdsa::SerializedSignature
impl core::marker::Unpin for bitcoin::ecdsa::Signature
impl core::marker::Unpin for bitcoin::error::ContainsPrefixError
impl core::marker::Unpin for bitcoin::error::MissingPrefixError
impl core::marker::Unpin for bitcoin::error::PrefixedHexError
impl core::marker::Unpin for bitcoin::error::UnprefixedHexError
impl core::marker::Unpin for bitcoin::key::FromSliceError
impl core::marker::Unpin for bitcoin::key::FromWifError
impl core::marker::Unpin for bitcoin::key::InvalidAddressVersionError
@ -3786,10 +3738,6 @@ impl core::panic::unwind_safe::RefUnwindSafe for bitcoin::consensus::params::Par
impl core::panic::unwind_safe::RefUnwindSafe for bitcoin::ecdsa::Error
impl core::panic::unwind_safe::RefUnwindSafe for bitcoin::ecdsa::SerializedSignature
impl core::panic::unwind_safe::RefUnwindSafe for bitcoin::ecdsa::Signature
impl core::panic::unwind_safe::RefUnwindSafe for bitcoin::error::ContainsPrefixError
impl core::panic::unwind_safe::RefUnwindSafe for bitcoin::error::MissingPrefixError
impl core::panic::unwind_safe::RefUnwindSafe for bitcoin::error::PrefixedHexError
impl core::panic::unwind_safe::RefUnwindSafe for bitcoin::error::UnprefixedHexError
impl core::panic::unwind_safe::RefUnwindSafe for bitcoin::key::FromSliceError
impl core::panic::unwind_safe::RefUnwindSafe for bitcoin::key::FromWifError
impl core::panic::unwind_safe::RefUnwindSafe for bitcoin::key::InvalidAddressVersionError
@ -3989,10 +3937,6 @@ impl core::panic::unwind_safe::UnwindSafe for bitcoin::consensus::params::Params
impl core::panic::unwind_safe::UnwindSafe for bitcoin::ecdsa::Error
impl core::panic::unwind_safe::UnwindSafe for bitcoin::ecdsa::SerializedSignature
impl core::panic::unwind_safe::UnwindSafe for bitcoin::ecdsa::Signature
impl core::panic::unwind_safe::UnwindSafe for bitcoin::error::ContainsPrefixError
impl core::panic::unwind_safe::UnwindSafe for bitcoin::error::MissingPrefixError
impl core::panic::unwind_safe::UnwindSafe for bitcoin::error::PrefixedHexError
impl core::panic::unwind_safe::UnwindSafe for bitcoin::error::UnprefixedHexError
impl core::panic::unwind_safe::UnwindSafe for bitcoin::key::FromSliceError
impl core::panic::unwind_safe::UnwindSafe for bitcoin::key::FromWifError
impl core::panic::unwind_safe::UnwindSafe for bitcoin::key::InvalidAddressVersionError
@ -4964,10 +4908,6 @@ pub bitcoin::ecdsa::Error::Secp256k1(secp256k1::Error)
pub bitcoin::ecdsa::Error::SighashType(bitcoin::sighash::NonStandardSighashTypeError)
pub bitcoin::ecdsa::Signature::sighash_type: bitcoin::EcdsaSighashType
pub bitcoin::ecdsa::Signature::signature: secp256k1::ecdsa::Signature
pub bitcoin::error::PrefixedHexError::MissingPrefix(bitcoin::error::MissingPrefixError)
pub bitcoin::error::PrefixedHexError::ParseInt(bitcoin_units::parse::ParseIntError)
pub bitcoin::error::UnprefixedHexError::ContainsPrefix(bitcoin::error::ContainsPrefixError)
pub bitcoin::error::UnprefixedHexError::ParseInt(bitcoin_units::parse::ParseIntError)
pub bitcoin::key::FromSliceError::InvalidKeyPrefix(u8)
pub bitcoin::key::FromSliceError::InvalidLength(usize)
pub bitcoin::key::FromSliceError::Secp256k1(secp256k1::Error)
@ -6121,8 +6061,6 @@ pub enum bitcoin::blockdata::opcodes::ClassifyContext
pub enum bitcoin::blockdata::script::Instruction<'a>
pub enum bitcoin::consensus::DecodeError<E>
pub enum bitcoin::consensus::encode::FromHexError
pub enum bitcoin::error::PrefixedHexError
pub enum bitcoin::error::UnprefixedHexError
pub enum bitcoin::key::ParseCompressedPublicKeyError
pub enum bitcoin::key::ParsePublicKeyError
pub enum bitcoin::locktime::absolute::LockTime
@ -7395,10 +7333,10 @@ pub fn bitcoin::blockdata::locktime::absolute::LockTime::from(h: bitcoin_units::
pub fn bitcoin::blockdata::locktime::absolute::LockTime::from(t: bitcoin_units::locktime::absolute::Time) -> Self
pub fn bitcoin::blockdata::locktime::absolute::LockTime::from_consensus(n: u32) -> Self
pub fn bitcoin::blockdata::locktime::absolute::LockTime::from_height(n: u32) -> core::result::Result<Self, bitcoin_units::locktime::absolute::ConversionError>
pub fn bitcoin::blockdata::locktime::absolute::LockTime::from_hex(s: &str) -> core::result::Result<Self, bitcoin::error::PrefixedHexError>
pub fn bitcoin::blockdata::locktime::absolute::LockTime::from_hex(s: &str) -> core::result::Result<Self, bitcoin_units::parse::PrefixedHexError>
pub fn bitcoin::blockdata::locktime::absolute::LockTime::from_str(s: &str) -> core::result::Result<Self, Self::Err>
pub fn bitcoin::blockdata::locktime::absolute::LockTime::from_time(n: u32) -> core::result::Result<Self, bitcoin_units::locktime::absolute::ConversionError>
pub fn bitcoin::blockdata::locktime::absolute::LockTime::from_unprefixed_hex(s: &str) -> core::result::Result<Self, bitcoin::error::UnprefixedHexError>
pub fn bitcoin::blockdata::locktime::absolute::LockTime::from_unprefixed_hex(s: &str) -> core::result::Result<Self, bitcoin_units::parse::UnprefixedHexError>
pub fn bitcoin::blockdata::locktime::absolute::LockTime::hash<__H: core::hash::Hasher>(&self, state: &mut __H)
pub fn bitcoin::blockdata::locktime::absolute::LockTime::is_implied_by(&self, other: bitcoin::blockdata::locktime::absolute::LockTime) -> bool
pub fn bitcoin::blockdata::locktime::absolute::LockTime::is_satisfied_by(&self, height: bitcoin_units::locktime::absolute::Height, time: bitcoin_units::locktime::absolute::Time) -> bool
@ -7972,11 +7910,11 @@ pub fn bitcoin::blockdata::transaction::Sequence::from(lt: bitcoin::blockdata::l
pub fn bitcoin::blockdata::transaction::Sequence::from_512_second_intervals(intervals: u16) -> Self
pub fn bitcoin::blockdata::transaction::Sequence::from_consensus(n: u32) -> Self
pub fn bitcoin::blockdata::transaction::Sequence::from_height(height: u16) -> Self
pub fn bitcoin::blockdata::transaction::Sequence::from_hex(s: &str) -> core::result::Result<Self, bitcoin::error::PrefixedHexError>
pub fn bitcoin::blockdata::transaction::Sequence::from_hex(s: &str) -> core::result::Result<Self, bitcoin_units::parse::PrefixedHexError>
pub fn bitcoin::blockdata::transaction::Sequence::from_seconds_ceil(seconds: u32) -> core::result::Result<Self, bitcoin_units::locktime::relative::TimeOverflowError>
pub fn bitcoin::blockdata::transaction::Sequence::from_seconds_floor(seconds: u32) -> core::result::Result<Self, bitcoin_units::locktime::relative::TimeOverflowError>
pub fn bitcoin::blockdata::transaction::Sequence::from_str(s: &str) -> core::result::Result<Self, Self::Err>
pub fn bitcoin::blockdata::transaction::Sequence::from_unprefixed_hex(s: &str) -> core::result::Result<Self, bitcoin::error::UnprefixedHexError>
pub fn bitcoin::blockdata::transaction::Sequence::from_unprefixed_hex(s: &str) -> core::result::Result<Self, bitcoin_units::parse::UnprefixedHexError>
pub fn bitcoin::blockdata::transaction::Sequence::hash<__H: core::hash::Hasher>(&self, state: &mut __H)
pub fn bitcoin::blockdata::transaction::Sequence::is_final(&self) -> bool
pub fn bitcoin::blockdata::transaction::Sequence::is_height_locked(&self) -> bool
@ -8260,24 +8198,6 @@ pub fn bitcoin::ecdsa::Signature::serialize(&self) -> bitcoin::ecdsa::Serialized
pub fn bitcoin::ecdsa::Signature::serialize_to_writer<W: bitcoin_io::Write + core::marker::Sized>(&self, writer: &mut W) -> core::result::Result<(), bitcoin_io::error::Error>
pub fn bitcoin::ecdsa::Signature::sighash_all(signature: secp256k1::ecdsa::Signature) -> bitcoin::ecdsa::Signature
pub fn bitcoin::ecdsa::Signature::to_vec(self) -> alloc::vec::Vec<u8>
pub fn bitcoin::error::ContainsPrefixError::clone(&self) -> bitcoin::error::ContainsPrefixError
pub fn bitcoin::error::ContainsPrefixError::eq(&self, other: &bitcoin::error::ContainsPrefixError) -> bool
pub fn bitcoin::error::ContainsPrefixError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result
pub fn bitcoin::error::MissingPrefixError::clone(&self) -> bitcoin::error::MissingPrefixError
pub fn bitcoin::error::MissingPrefixError::eq(&self, other: &bitcoin::error::MissingPrefixError) -> bool
pub fn bitcoin::error::MissingPrefixError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result
pub fn bitcoin::error::PrefixedHexError::clone(&self) -> bitcoin::error::PrefixedHexError
pub fn bitcoin::error::PrefixedHexError::eq(&self, other: &bitcoin::error::PrefixedHexError) -> bool
pub fn bitcoin::error::PrefixedHexError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result
pub fn bitcoin::error::PrefixedHexError::from(e: bitcoin::error::MissingPrefixError) -> Self
pub fn bitcoin::error::PrefixedHexError::from(e: bitcoin_units::parse::ParseIntError) -> Self
pub fn bitcoin::error::PrefixedHexError::source(&self) -> core::option::Option<&(dyn core::error::Error + 'static)>
pub fn bitcoin::error::UnprefixedHexError::clone(&self) -> bitcoin::error::UnprefixedHexError
pub fn bitcoin::error::UnprefixedHexError::eq(&self, other: &bitcoin::error::UnprefixedHexError) -> bool
pub fn bitcoin::error::UnprefixedHexError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result
pub fn bitcoin::error::UnprefixedHexError::from(e: bitcoin::error::ContainsPrefixError) -> Self
pub fn bitcoin::error::UnprefixedHexError::from(e: bitcoin_units::parse::ParseIntError) -> Self
pub fn bitcoin::error::UnprefixedHexError::source(&self) -> core::option::Option<&(dyn core::error::Error + 'static)>
pub fn bitcoin::key::FromSliceError::clone(&self) -> bitcoin::key::FromSliceError
pub fn bitcoin::key::FromSliceError::eq(&self, other: &bitcoin::key::FromSliceError) -> bool
pub fn bitcoin::key::FromSliceError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result
@ -8644,9 +8564,9 @@ pub fn bitcoin::pow::CompactTarget::eq(&self, other: &bitcoin::pow::CompactTarge
pub fn bitcoin::pow::CompactTarget::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result
pub fn bitcoin::pow::CompactTarget::from_consensus(bits: u32) -> Self
pub fn bitcoin::pow::CompactTarget::from_header_difficulty_adjustment(last_epoch_boundary: bitcoin::blockdata::block::Header, current: bitcoin::blockdata::block::Header, params: impl core::convert::AsRef<bitcoin::consensus::params::Params>) -> bitcoin::pow::CompactTarget
pub fn bitcoin::pow::CompactTarget::from_hex(s: &str) -> core::result::Result<Self, bitcoin::error::PrefixedHexError>
pub fn bitcoin::pow::CompactTarget::from_hex(s: &str) -> core::result::Result<Self, bitcoin_units::parse::PrefixedHexError>
pub fn bitcoin::pow::CompactTarget::from_next_work_required(last: bitcoin::pow::CompactTarget, timespan: u64, params: impl core::convert::AsRef<bitcoin::consensus::params::Params>) -> bitcoin::pow::CompactTarget
pub fn bitcoin::pow::CompactTarget::from_unprefixed_hex(s: &str) -> core::result::Result<Self, bitcoin::error::UnprefixedHexError>
pub fn bitcoin::pow::CompactTarget::from_unprefixed_hex(s: &str) -> core::result::Result<Self, bitcoin_units::parse::UnprefixedHexError>
pub fn bitcoin::pow::CompactTarget::hash<__H: core::hash::Hasher>(&self, state: &mut __H)
pub fn bitcoin::pow::CompactTarget::partial_cmp(&self, other: &bitcoin::pow::CompactTarget) -> core::option::Option<core::cmp::Ordering>
pub fn bitcoin::pow::CompactTarget::to_consensus(self) -> u32
@ -8659,9 +8579,9 @@ pub fn bitcoin::pow::Target::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> cor
pub fn bitcoin::pow::Target::from(c: bitcoin::pow::CompactTarget) -> Self
pub fn bitcoin::pow::Target::from_be_bytes(bytes: [u8; 32]) -> bitcoin::pow::Target
pub fn bitcoin::pow::Target::from_compact(c: bitcoin::pow::CompactTarget) -> bitcoin::pow::Target
pub fn bitcoin::pow::Target::from_hex(s: &str) -> core::result::Result<Self, bitcoin::error::PrefixedHexError>
pub fn bitcoin::pow::Target::from_hex(s: &str) -> core::result::Result<Self, bitcoin_units::parse::PrefixedHexError>
pub fn bitcoin::pow::Target::from_le_bytes(bytes: [u8; 32]) -> bitcoin::pow::Target
pub fn bitcoin::pow::Target::from_unprefixed_hex(s: &str) -> core::result::Result<Self, bitcoin::error::UnprefixedHexError>
pub fn bitcoin::pow::Target::from_unprefixed_hex(s: &str) -> core::result::Result<Self, bitcoin_units::parse::UnprefixedHexError>
pub fn bitcoin::pow::Target::hash<__H: core::hash::Hasher>(&self, state: &mut __H)
pub fn bitcoin::pow::Target::is_met_by(&self, hash: bitcoin::blockdata::block::BlockHash) -> bool
pub fn bitcoin::pow::Target::max_difficulty_transition_threshold(&self) -> Self
@ -8680,9 +8600,9 @@ pub fn bitcoin::pow::Work::cmp(&self, other: &bitcoin::pow::Work) -> core::cmp::
pub fn bitcoin::pow::Work::eq(&self, other: &bitcoin::pow::Work) -> bool
pub fn bitcoin::pow::Work::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result
pub fn bitcoin::pow::Work::from_be_bytes(bytes: [u8; 32]) -> bitcoin::pow::Work
pub fn bitcoin::pow::Work::from_hex(s: &str) -> core::result::Result<Self, bitcoin::error::PrefixedHexError>
pub fn bitcoin::pow::Work::from_hex(s: &str) -> core::result::Result<Self, bitcoin_units::parse::PrefixedHexError>
pub fn bitcoin::pow::Work::from_le_bytes(bytes: [u8; 32]) -> bitcoin::pow::Work
pub fn bitcoin::pow::Work::from_unprefixed_hex(s: &str) -> core::result::Result<Self, bitcoin::error::UnprefixedHexError>
pub fn bitcoin::pow::Work::from_unprefixed_hex(s: &str) -> core::result::Result<Self, bitcoin_units::parse::UnprefixedHexError>
pub fn bitcoin::pow::Work::hash<__H: core::hash::Hasher>(&self, state: &mut __H)
pub fn bitcoin::pow::Work::log2(self) -> f64
pub fn bitcoin::pow::Work::partial_cmp(&self, other: &bitcoin::pow::Work) -> core::option::Option<core::cmp::Ordering>
@ -9458,7 +9378,6 @@ pub mod bitcoin::consensus::encode
pub mod bitcoin::consensus::params
pub mod bitcoin::constants
pub mod bitcoin::ecdsa
pub mod bitcoin::error
pub mod bitcoin::hash_types
pub mod bitcoin::key
pub mod bitcoin::locktime
@ -9632,8 +9551,6 @@ pub struct bitcoin::consensus::encode::VarInt(pub u64)
pub struct bitcoin::constants::ChainHash(_)
pub struct bitcoin::ecdsa::SerializedSignature
pub struct bitcoin::ecdsa::Signature
pub struct bitcoin::error::ContainsPrefixError
pub struct bitcoin::error::MissingPrefixError
pub struct bitcoin::hash_types::BlockHash(_)
pub struct bitcoin::hash_types::FilterHash(_)
pub struct bitcoin::hash_types::FilterHeader(_)
@ -9981,7 +9898,6 @@ pub use bitcoin::blockdata::locktime::relative::Height
pub use bitcoin::blockdata::locktime::relative::Time
pub use bitcoin::blockdata::locktime::relative::TimeOverflowError
pub use bitcoin::blockdata::weight::<<units::weight::*>>
pub use bitcoin::error::ParseIntError
pub use bitcoin::key::Keypair
pub use bitcoin::key::Parity
pub use bitcoin::key::Secp256k1

View File

@ -525,10 +525,6 @@ impl core::clone::Clone for bitcoin::consensus::params::Params
impl core::clone::Clone for bitcoin::ecdsa::Error
impl core::clone::Clone for bitcoin::ecdsa::SerializedSignature
impl core::clone::Clone for bitcoin::ecdsa::Signature
impl core::clone::Clone for bitcoin::error::ContainsPrefixError
impl core::clone::Clone for bitcoin::error::MissingPrefixError
impl core::clone::Clone for bitcoin::error::PrefixedHexError
impl core::clone::Clone for bitcoin::error::UnprefixedHexError
impl core::clone::Clone for bitcoin::key::FromSliceError
impl core::clone::Clone for bitcoin::key::FromWifError
impl core::clone::Clone for bitcoin::key::InvalidAddressVersionError
@ -695,10 +691,6 @@ impl core::cmp::Eq for bitcoin::consensus::encode::VarInt
impl core::cmp::Eq for bitcoin::ecdsa::Error
impl core::cmp::Eq for bitcoin::ecdsa::SerializedSignature
impl core::cmp::Eq for bitcoin::ecdsa::Signature
impl core::cmp::Eq for bitcoin::error::ContainsPrefixError
impl core::cmp::Eq for bitcoin::error::MissingPrefixError
impl core::cmp::Eq for bitcoin::error::PrefixedHexError
impl core::cmp::Eq for bitcoin::error::UnprefixedHexError
impl core::cmp::Eq for bitcoin::key::FromSliceError
impl core::cmp::Eq for bitcoin::key::FromWifError
impl core::cmp::Eq for bitcoin::key::InvalidAddressVersionError
@ -948,10 +940,6 @@ impl core::cmp::PartialEq for bitcoin::consensus::encode::VarInt
impl core::cmp::PartialEq for bitcoin::ecdsa::Error
impl core::cmp::PartialEq for bitcoin::ecdsa::SerializedSignature
impl core::cmp::PartialEq for bitcoin::ecdsa::Signature
impl core::cmp::PartialEq for bitcoin::error::ContainsPrefixError
impl core::cmp::PartialEq for bitcoin::error::MissingPrefixError
impl core::cmp::PartialEq for bitcoin::error::PrefixedHexError
impl core::cmp::PartialEq for bitcoin::error::UnprefixedHexError
impl core::cmp::PartialEq for bitcoin::key::FromSliceError
impl core::cmp::PartialEq for bitcoin::key::FromWifError
impl core::cmp::PartialEq for bitcoin::key::InvalidAddressVersionError
@ -1651,8 +1639,6 @@ impl core::convert::From<bitcoin::blockdata::transaction::Txid> for bitcoin_hash
impl core::convert::From<bitcoin::blockdata::transaction::Wtxid> for bitcoin::blockdata::block::WitnessMerkleNode
impl core::convert::From<bitcoin::blockdata::transaction::Wtxid> for bitcoin_hashes::sha256d::Hash
impl core::convert::From<bitcoin::consensus::encode::Error> for bitcoin::psbt::Error
impl core::convert::From<bitcoin::error::ContainsPrefixError> for bitcoin::error::UnprefixedHexError
impl core::convert::From<bitcoin::error::MissingPrefixError> for bitcoin::error::PrefixedHexError
impl core::convert::From<bitcoin::key::FromSliceError> for bitcoin::key::ParsePublicKeyError
impl core::convert::From<bitcoin::key::InvalidAddressVersionError> for bitcoin::key::FromWifError
impl core::convert::From<bitcoin::key::InvalidBase58PayloadLengthError> for bitcoin::key::FromWifError
@ -1711,8 +1697,6 @@ impl core::convert::From<bitcoin_units::locktime::absolute::Time> for bitcoin::b
impl core::convert::From<bitcoin_units::locktime::relative::Height> for bitcoin::blockdata::locktime::relative::LockTime
impl core::convert::From<bitcoin_units::locktime::relative::Time> for bitcoin::blockdata::locktime::relative::LockTime
impl core::convert::From<bitcoin_units::parse::ParseIntError> for bitcoin::blockdata::script::witness_version::FromStrError
impl core::convert::From<bitcoin_units::parse::ParseIntError> for bitcoin::error::PrefixedHexError
impl core::convert::From<bitcoin_units::parse::ParseIntError> for bitcoin::error::UnprefixedHexError
impl core::convert::From<core::convert::Infallible> for bitcoin::address::error::FromScriptError
impl core::convert::From<core::convert::Infallible> for bitcoin::address::error::P2shError
impl core::convert::From<core::convert::Infallible> for bitcoin::address::error::ParseError
@ -1900,10 +1884,6 @@ impl core::fmt::Debug for bitcoin::consensus::params::Params
impl core::fmt::Debug for bitcoin::ecdsa::Error
impl core::fmt::Debug for bitcoin::ecdsa::SerializedSignature
impl core::fmt::Debug for bitcoin::ecdsa::Signature
impl core::fmt::Debug for bitcoin::error::ContainsPrefixError
impl core::fmt::Debug for bitcoin::error::MissingPrefixError
impl core::fmt::Debug for bitcoin::error::PrefixedHexError
impl core::fmt::Debug for bitcoin::error::UnprefixedHexError
impl core::fmt::Debug for bitcoin::key::FromSliceError
impl core::fmt::Debug for bitcoin::key::FromWifError
impl core::fmt::Debug for bitcoin::key::InvalidAddressVersionError
@ -2049,10 +2029,6 @@ impl core::fmt::Display for bitcoin::consensus::encode::FromHexError
impl core::fmt::Display for bitcoin::ecdsa::Error
impl core::fmt::Display for bitcoin::ecdsa::SerializedSignature
impl core::fmt::Display for bitcoin::ecdsa::Signature
impl core::fmt::Display for bitcoin::error::ContainsPrefixError
impl core::fmt::Display for bitcoin::error::MissingPrefixError
impl core::fmt::Display for bitcoin::error::PrefixedHexError
impl core::fmt::Display for bitcoin::error::UnprefixedHexError
impl core::fmt::Display for bitcoin::key::FromSliceError
impl core::fmt::Display for bitcoin::key::FromWifError
impl core::fmt::Display for bitcoin::key::InvalidAddressVersionError
@ -2447,10 +2423,6 @@ impl core::marker::Freeze for bitcoin::consensus::params::Params
impl core::marker::Freeze for bitcoin::ecdsa::Error
impl core::marker::Freeze for bitcoin::ecdsa::SerializedSignature
impl core::marker::Freeze for bitcoin::ecdsa::Signature
impl core::marker::Freeze for bitcoin::error::ContainsPrefixError
impl core::marker::Freeze for bitcoin::error::MissingPrefixError
impl core::marker::Freeze for bitcoin::error::PrefixedHexError
impl core::marker::Freeze for bitcoin::error::UnprefixedHexError
impl core::marker::Freeze for bitcoin::key::FromSliceError
impl core::marker::Freeze for bitcoin::key::FromWifError
impl core::marker::Freeze for bitcoin::key::InvalidAddressVersionError
@ -2626,10 +2598,6 @@ impl core::marker::Send for bitcoin::consensus::params::Params
impl core::marker::Send for bitcoin::ecdsa::Error
impl core::marker::Send for bitcoin::ecdsa::SerializedSignature
impl core::marker::Send for bitcoin::ecdsa::Signature
impl core::marker::Send for bitcoin::error::ContainsPrefixError
impl core::marker::Send for bitcoin::error::MissingPrefixError
impl core::marker::Send for bitcoin::error::PrefixedHexError
impl core::marker::Send for bitcoin::error::UnprefixedHexError
impl core::marker::Send for bitcoin::key::FromSliceError
impl core::marker::Send for bitcoin::key::FromWifError
impl core::marker::Send for bitcoin::key::InvalidAddressVersionError
@ -2797,10 +2765,6 @@ impl core::marker::StructuralPartialEq for bitcoin::consensus::encode::CheckedDa
impl core::marker::StructuralPartialEq for bitcoin::consensus::encode::VarInt
impl core::marker::StructuralPartialEq for bitcoin::ecdsa::Error
impl core::marker::StructuralPartialEq for bitcoin::ecdsa::Signature
impl core::marker::StructuralPartialEq for bitcoin::error::ContainsPrefixError
impl core::marker::StructuralPartialEq for bitcoin::error::MissingPrefixError
impl core::marker::StructuralPartialEq for bitcoin::error::PrefixedHexError
impl core::marker::StructuralPartialEq for bitcoin::error::UnprefixedHexError
impl core::marker::StructuralPartialEq for bitcoin::key::FromSliceError
impl core::marker::StructuralPartialEq for bitcoin::key::FromWifError
impl core::marker::StructuralPartialEq for bitcoin::key::InvalidAddressVersionError
@ -2971,10 +2935,6 @@ impl core::marker::Sync for bitcoin::consensus::params::Params
impl core::marker::Sync for bitcoin::ecdsa::Error
impl core::marker::Sync for bitcoin::ecdsa::SerializedSignature
impl core::marker::Sync for bitcoin::ecdsa::Signature
impl core::marker::Sync for bitcoin::error::ContainsPrefixError
impl core::marker::Sync for bitcoin::error::MissingPrefixError
impl core::marker::Sync for bitcoin::error::PrefixedHexError
impl core::marker::Sync for bitcoin::error::UnprefixedHexError
impl core::marker::Sync for bitcoin::key::FromSliceError
impl core::marker::Sync for bitcoin::key::FromWifError
impl core::marker::Sync for bitcoin::key::InvalidAddressVersionError
@ -3150,10 +3110,6 @@ impl core::marker::Unpin for bitcoin::consensus::params::Params
impl core::marker::Unpin for bitcoin::ecdsa::Error
impl core::marker::Unpin for bitcoin::ecdsa::SerializedSignature
impl core::marker::Unpin for bitcoin::ecdsa::Signature
impl core::marker::Unpin for bitcoin::error::ContainsPrefixError
impl core::marker::Unpin for bitcoin::error::MissingPrefixError
impl core::marker::Unpin for bitcoin::error::PrefixedHexError
impl core::marker::Unpin for bitcoin::error::UnprefixedHexError
impl core::marker::Unpin for bitcoin::key::FromSliceError
impl core::marker::Unpin for bitcoin::key::FromWifError
impl core::marker::Unpin for bitcoin::key::InvalidAddressVersionError
@ -3358,10 +3314,6 @@ impl core::panic::unwind_safe::RefUnwindSafe for bitcoin::consensus::params::Par
impl core::panic::unwind_safe::RefUnwindSafe for bitcoin::ecdsa::Error
impl core::panic::unwind_safe::RefUnwindSafe for bitcoin::ecdsa::SerializedSignature
impl core::panic::unwind_safe::RefUnwindSafe for bitcoin::ecdsa::Signature
impl core::panic::unwind_safe::RefUnwindSafe for bitcoin::error::ContainsPrefixError
impl core::panic::unwind_safe::RefUnwindSafe for bitcoin::error::MissingPrefixError
impl core::panic::unwind_safe::RefUnwindSafe for bitcoin::error::PrefixedHexError
impl core::panic::unwind_safe::RefUnwindSafe for bitcoin::error::UnprefixedHexError
impl core::panic::unwind_safe::RefUnwindSafe for bitcoin::key::FromSliceError
impl core::panic::unwind_safe::RefUnwindSafe for bitcoin::key::FromWifError
impl core::panic::unwind_safe::RefUnwindSafe for bitcoin::key::InvalidAddressVersionError
@ -3533,10 +3485,6 @@ impl core::panic::unwind_safe::UnwindSafe for bitcoin::consensus::params::Params
impl core::panic::unwind_safe::UnwindSafe for bitcoin::ecdsa::Error
impl core::panic::unwind_safe::UnwindSafe for bitcoin::ecdsa::SerializedSignature
impl core::panic::unwind_safe::UnwindSafe for bitcoin::ecdsa::Signature
impl core::panic::unwind_safe::UnwindSafe for bitcoin::error::ContainsPrefixError
impl core::panic::unwind_safe::UnwindSafe for bitcoin::error::MissingPrefixError
impl core::panic::unwind_safe::UnwindSafe for bitcoin::error::PrefixedHexError
impl core::panic::unwind_safe::UnwindSafe for bitcoin::error::UnprefixedHexError
impl core::panic::unwind_safe::UnwindSafe for bitcoin::key::FromSliceError
impl core::panic::unwind_safe::UnwindSafe for bitcoin::key::FromWifError
impl core::panic::unwind_safe::UnwindSafe for bitcoin::key::InvalidAddressVersionError
@ -4474,10 +4422,6 @@ pub bitcoin::ecdsa::Error::Secp256k1(secp256k1::Error)
pub bitcoin::ecdsa::Error::SighashType(bitcoin::sighash::NonStandardSighashTypeError)
pub bitcoin::ecdsa::Signature::sighash_type: bitcoin::EcdsaSighashType
pub bitcoin::ecdsa::Signature::signature: secp256k1::ecdsa::Signature
pub bitcoin::error::PrefixedHexError::MissingPrefix(bitcoin::error::MissingPrefixError)
pub bitcoin::error::PrefixedHexError::ParseInt(bitcoin_units::parse::ParseIntError)
pub bitcoin::error::UnprefixedHexError::ContainsPrefix(bitcoin::error::ContainsPrefixError)
pub bitcoin::error::UnprefixedHexError::ParseInt(bitcoin_units::parse::ParseIntError)
pub bitcoin::key::FromSliceError::InvalidKeyPrefix(u8)
pub bitcoin::key::FromSliceError::InvalidLength(usize)
pub bitcoin::key::FromSliceError::Secp256k1(secp256k1::Error)
@ -5499,8 +5443,6 @@ pub enum bitcoin::blockdata::opcodes::ClassifyContext
pub enum bitcoin::blockdata::script::Instruction<'a>
pub enum bitcoin::consensus::DecodeError<E>
pub enum bitcoin::consensus::encode::FromHexError
pub enum bitcoin::error::PrefixedHexError
pub enum bitcoin::error::UnprefixedHexError
pub enum bitcoin::key::ParseCompressedPublicKeyError
pub enum bitcoin::key::ParsePublicKeyError
pub enum bitcoin::locktime::absolute::LockTime
@ -6751,10 +6693,10 @@ pub fn bitcoin::blockdata::locktime::absolute::LockTime::from(h: bitcoin_units::
pub fn bitcoin::blockdata::locktime::absolute::LockTime::from(t: bitcoin_units::locktime::absolute::Time) -> Self
pub fn bitcoin::blockdata::locktime::absolute::LockTime::from_consensus(n: u32) -> Self
pub fn bitcoin::blockdata::locktime::absolute::LockTime::from_height(n: u32) -> core::result::Result<Self, bitcoin_units::locktime::absolute::ConversionError>
pub fn bitcoin::blockdata::locktime::absolute::LockTime::from_hex(s: &str) -> core::result::Result<Self, bitcoin::error::PrefixedHexError>
pub fn bitcoin::blockdata::locktime::absolute::LockTime::from_hex(s: &str) -> core::result::Result<Self, bitcoin_units::parse::PrefixedHexError>
pub fn bitcoin::blockdata::locktime::absolute::LockTime::from_str(s: &str) -> core::result::Result<Self, Self::Err>
pub fn bitcoin::blockdata::locktime::absolute::LockTime::from_time(n: u32) -> core::result::Result<Self, bitcoin_units::locktime::absolute::ConversionError>
pub fn bitcoin::blockdata::locktime::absolute::LockTime::from_unprefixed_hex(s: &str) -> core::result::Result<Self, bitcoin::error::UnprefixedHexError>
pub fn bitcoin::blockdata::locktime::absolute::LockTime::from_unprefixed_hex(s: &str) -> core::result::Result<Self, bitcoin_units::parse::UnprefixedHexError>
pub fn bitcoin::blockdata::locktime::absolute::LockTime::hash<__H: core::hash::Hasher>(&self, state: &mut __H)
pub fn bitcoin::blockdata::locktime::absolute::LockTime::is_implied_by(&self, other: bitcoin::blockdata::locktime::absolute::LockTime) -> bool
pub fn bitcoin::blockdata::locktime::absolute::LockTime::is_satisfied_by(&self, height: bitcoin_units::locktime::absolute::Height, time: bitcoin_units::locktime::absolute::Time) -> bool
@ -7316,11 +7258,11 @@ pub fn bitcoin::blockdata::transaction::Sequence::from(lt: bitcoin::blockdata::l
pub fn bitcoin::blockdata::transaction::Sequence::from_512_second_intervals(intervals: u16) -> Self
pub fn bitcoin::blockdata::transaction::Sequence::from_consensus(n: u32) -> Self
pub fn bitcoin::blockdata::transaction::Sequence::from_height(height: u16) -> Self
pub fn bitcoin::blockdata::transaction::Sequence::from_hex(s: &str) -> core::result::Result<Self, bitcoin::error::PrefixedHexError>
pub fn bitcoin::blockdata::transaction::Sequence::from_hex(s: &str) -> core::result::Result<Self, bitcoin_units::parse::PrefixedHexError>
pub fn bitcoin::blockdata::transaction::Sequence::from_seconds_ceil(seconds: u32) -> core::result::Result<Self, bitcoin_units::locktime::relative::TimeOverflowError>
pub fn bitcoin::blockdata::transaction::Sequence::from_seconds_floor(seconds: u32) -> core::result::Result<Self, bitcoin_units::locktime::relative::TimeOverflowError>
pub fn bitcoin::blockdata::transaction::Sequence::from_str(s: &str) -> core::result::Result<Self, Self::Err>
pub fn bitcoin::blockdata::transaction::Sequence::from_unprefixed_hex(s: &str) -> core::result::Result<Self, bitcoin::error::UnprefixedHexError>
pub fn bitcoin::blockdata::transaction::Sequence::from_unprefixed_hex(s: &str) -> core::result::Result<Self, bitcoin_units::parse::UnprefixedHexError>
pub fn bitcoin::blockdata::transaction::Sequence::hash<__H: core::hash::Hasher>(&self, state: &mut __H)
pub fn bitcoin::blockdata::transaction::Sequence::is_final(&self) -> bool
pub fn bitcoin::blockdata::transaction::Sequence::is_height_locked(&self) -> bool
@ -7597,22 +7539,6 @@ pub fn bitcoin::ecdsa::Signature::serialize(&self) -> bitcoin::ecdsa::Serialized
pub fn bitcoin::ecdsa::Signature::serialize_to_writer<W: bitcoin_io::Write + core::marker::Sized>(&self, writer: &mut W) -> core::result::Result<(), bitcoin_io::error::Error>
pub fn bitcoin::ecdsa::Signature::sighash_all(signature: secp256k1::ecdsa::Signature) -> bitcoin::ecdsa::Signature
pub fn bitcoin::ecdsa::Signature::to_vec(self) -> alloc::vec::Vec<u8>
pub fn bitcoin::error::ContainsPrefixError::clone(&self) -> bitcoin::error::ContainsPrefixError
pub fn bitcoin::error::ContainsPrefixError::eq(&self, other: &bitcoin::error::ContainsPrefixError) -> bool
pub fn bitcoin::error::ContainsPrefixError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result
pub fn bitcoin::error::MissingPrefixError::clone(&self) -> bitcoin::error::MissingPrefixError
pub fn bitcoin::error::MissingPrefixError::eq(&self, other: &bitcoin::error::MissingPrefixError) -> bool
pub fn bitcoin::error::MissingPrefixError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result
pub fn bitcoin::error::PrefixedHexError::clone(&self) -> bitcoin::error::PrefixedHexError
pub fn bitcoin::error::PrefixedHexError::eq(&self, other: &bitcoin::error::PrefixedHexError) -> bool
pub fn bitcoin::error::PrefixedHexError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result
pub fn bitcoin::error::PrefixedHexError::from(e: bitcoin::error::MissingPrefixError) -> Self
pub fn bitcoin::error::PrefixedHexError::from(e: bitcoin_units::parse::ParseIntError) -> Self
pub fn bitcoin::error::UnprefixedHexError::clone(&self) -> bitcoin::error::UnprefixedHexError
pub fn bitcoin::error::UnprefixedHexError::eq(&self, other: &bitcoin::error::UnprefixedHexError) -> bool
pub fn bitcoin::error::UnprefixedHexError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result
pub fn bitcoin::error::UnprefixedHexError::from(e: bitcoin::error::ContainsPrefixError) -> Self
pub fn bitcoin::error::UnprefixedHexError::from(e: bitcoin_units::parse::ParseIntError) -> Self
pub fn bitcoin::key::FromSliceError::clone(&self) -> bitcoin::key::FromSliceError
pub fn bitcoin::key::FromSliceError::eq(&self, other: &bitcoin::key::FromSliceError) -> bool
pub fn bitcoin::key::FromSliceError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result
@ -7784,9 +7710,9 @@ pub fn bitcoin::pow::CompactTarget::eq(&self, other: &bitcoin::pow::CompactTarge
pub fn bitcoin::pow::CompactTarget::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result
pub fn bitcoin::pow::CompactTarget::from_consensus(bits: u32) -> Self
pub fn bitcoin::pow::CompactTarget::from_header_difficulty_adjustment(last_epoch_boundary: bitcoin::blockdata::block::Header, current: bitcoin::blockdata::block::Header, params: impl core::convert::AsRef<bitcoin::consensus::params::Params>) -> bitcoin::pow::CompactTarget
pub fn bitcoin::pow::CompactTarget::from_hex(s: &str) -> core::result::Result<Self, bitcoin::error::PrefixedHexError>
pub fn bitcoin::pow::CompactTarget::from_hex(s: &str) -> core::result::Result<Self, bitcoin_units::parse::PrefixedHexError>
pub fn bitcoin::pow::CompactTarget::from_next_work_required(last: bitcoin::pow::CompactTarget, timespan: u64, params: impl core::convert::AsRef<bitcoin::consensus::params::Params>) -> bitcoin::pow::CompactTarget
pub fn bitcoin::pow::CompactTarget::from_unprefixed_hex(s: &str) -> core::result::Result<Self, bitcoin::error::UnprefixedHexError>
pub fn bitcoin::pow::CompactTarget::from_unprefixed_hex(s: &str) -> core::result::Result<Self, bitcoin_units::parse::UnprefixedHexError>
pub fn bitcoin::pow::CompactTarget::hash<__H: core::hash::Hasher>(&self, state: &mut __H)
pub fn bitcoin::pow::CompactTarget::partial_cmp(&self, other: &bitcoin::pow::CompactTarget) -> core::option::Option<core::cmp::Ordering>
pub fn bitcoin::pow::CompactTarget::to_consensus(self) -> u32
@ -7799,9 +7725,9 @@ pub fn bitcoin::pow::Target::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> cor
pub fn bitcoin::pow::Target::from(c: bitcoin::pow::CompactTarget) -> Self
pub fn bitcoin::pow::Target::from_be_bytes(bytes: [u8; 32]) -> bitcoin::pow::Target
pub fn bitcoin::pow::Target::from_compact(c: bitcoin::pow::CompactTarget) -> bitcoin::pow::Target
pub fn bitcoin::pow::Target::from_hex(s: &str) -> core::result::Result<Self, bitcoin::error::PrefixedHexError>
pub fn bitcoin::pow::Target::from_hex(s: &str) -> core::result::Result<Self, bitcoin_units::parse::PrefixedHexError>
pub fn bitcoin::pow::Target::from_le_bytes(bytes: [u8; 32]) -> bitcoin::pow::Target
pub fn bitcoin::pow::Target::from_unprefixed_hex(s: &str) -> core::result::Result<Self, bitcoin::error::UnprefixedHexError>
pub fn bitcoin::pow::Target::from_unprefixed_hex(s: &str) -> core::result::Result<Self, bitcoin_units::parse::UnprefixedHexError>
pub fn bitcoin::pow::Target::hash<__H: core::hash::Hasher>(&self, state: &mut __H)
pub fn bitcoin::pow::Target::is_met_by(&self, hash: bitcoin::blockdata::block::BlockHash) -> bool
pub fn bitcoin::pow::Target::max_difficulty_transition_threshold(&self) -> Self
@ -7820,9 +7746,9 @@ pub fn bitcoin::pow::Work::cmp(&self, other: &bitcoin::pow::Work) -> core::cmp::
pub fn bitcoin::pow::Work::eq(&self, other: &bitcoin::pow::Work) -> bool
pub fn bitcoin::pow::Work::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result
pub fn bitcoin::pow::Work::from_be_bytes(bytes: [u8; 32]) -> bitcoin::pow::Work
pub fn bitcoin::pow::Work::from_hex(s: &str) -> core::result::Result<Self, bitcoin::error::PrefixedHexError>
pub fn bitcoin::pow::Work::from_hex(s: &str) -> core::result::Result<Self, bitcoin_units::parse::PrefixedHexError>
pub fn bitcoin::pow::Work::from_le_bytes(bytes: [u8; 32]) -> bitcoin::pow::Work
pub fn bitcoin::pow::Work::from_unprefixed_hex(s: &str) -> core::result::Result<Self, bitcoin::error::UnprefixedHexError>
pub fn bitcoin::pow::Work::from_unprefixed_hex(s: &str) -> core::result::Result<Self, bitcoin_units::parse::UnprefixedHexError>
pub fn bitcoin::pow::Work::hash<__H: core::hash::Hasher>(&self, state: &mut __H)
pub fn bitcoin::pow::Work::partial_cmp(&self, other: &bitcoin::pow::Work) -> core::option::Option<core::cmp::Ordering>
pub fn bitcoin::pow::Work::sub(self, rhs: Self) -> Self
@ -8560,7 +8486,6 @@ pub mod bitcoin::consensus::encode
pub mod bitcoin::consensus::params
pub mod bitcoin::constants
pub mod bitcoin::ecdsa
pub mod bitcoin::error
pub mod bitcoin::hash_types
pub mod bitcoin::key
pub mod bitcoin::locktime
@ -8727,8 +8652,6 @@ pub struct bitcoin::consensus::encode::VarInt(pub u64)
pub struct bitcoin::constants::ChainHash(_)
pub struct bitcoin::ecdsa::SerializedSignature
pub struct bitcoin::ecdsa::Signature
pub struct bitcoin::error::ContainsPrefixError
pub struct bitcoin::error::MissingPrefixError
pub struct bitcoin::hash_types::BlockHash(_)
pub struct bitcoin::hash_types::FilterHash(_)
pub struct bitcoin::hash_types::FilterHeader(_)
@ -9046,7 +8969,6 @@ pub use bitcoin::blockdata::locktime::relative::Height
pub use bitcoin::blockdata::locktime::relative::Time
pub use bitcoin::blockdata::locktime::relative::TimeOverflowError
pub use bitcoin::blockdata::weight::<<units::weight::*>>
pub use bitcoin::error::ParseIntError
pub use bitcoin::key::Keypair
pub use bitcoin::key::Parity
pub use bitcoin::key::Secp256k1

View File

@ -60,7 +60,11 @@ 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::ContainsPrefixError
impl core::clone::Clone for bitcoin_units::parse::MissingPrefixError
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::Amount
impl core::cmp::Eq for bitcoin_units::amount::Denomination
@ -85,7 +89,11 @@ 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::ContainsPrefixError
impl core::cmp::Eq for bitcoin_units::parse::MissingPrefixError
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::Amount
impl core::cmp::Ord for bitcoin_units::amount::SignedAmount
@ -118,7 +126,11 @@ 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::ContainsPrefixError
impl core::cmp::PartialEq for bitcoin_units::parse::MissingPrefixError
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::Amount
impl core::cmp::PartialOrd for bitcoin_units::amount::SignedAmount
@ -142,6 +154,10 @@ impl core::convert::From<bitcoin_units::amount::ParseDenominationError> for bitc
impl core::convert::From<bitcoin_units::amount::TooPreciseError> for bitcoin_units::amount::ParseAmountError
impl core::convert::From<bitcoin_units::amount::TooPreciseError> for bitcoin_units::amount::ParseError
impl core::convert::From<bitcoin_units::fee_rate::FeeRate> for u64
impl core::convert::From<bitcoin_units::parse::ContainsPrefixError> for bitcoin_units::parse::UnprefixedHexError
impl core::convert::From<bitcoin_units::parse::MissingPrefixError> for bitcoin_units::parse::PrefixedHexError
impl core::convert::From<bitcoin_units::parse::ParseIntError> for bitcoin_units::parse::PrefixedHexError
impl core::convert::From<bitcoin_units::parse::ParseIntError> for bitcoin_units::parse::UnprefixedHexError
impl core::convert::From<bitcoin_units::parse::ParseIntError> for core::num::error::ParseIntError
impl core::convert::From<bitcoin_units::weight::Weight> for u64
impl core::convert::From<core::convert::Infallible> for bitcoin_units::amount::ParseAmountError
@ -186,7 +202,11 @@ 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::ContainsPrefixError
impl core::error::Error for bitcoin_units::parse::MissingPrefixError
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::Amount
impl core::fmt::Debug for bitcoin_units::amount::Denomination
impl core::fmt::Debug for bitcoin_units::amount::Display
@ -211,7 +231,11 @@ 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::ContainsPrefixError
impl core::fmt::Debug for bitcoin_units::parse::MissingPrefixError
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::Amount
impl core::fmt::Display for bitcoin_units::amount::Denomination
@ -236,7 +260,11 @@ 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::ContainsPrefixError
impl core::fmt::Display for bitcoin_units::parse::MissingPrefixError
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::Amount
impl core::hash::Hash for bitcoin_units::amount::Denomination
@ -284,7 +312,11 @@ 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::ContainsPrefixError
impl core::marker::Freeze for bitcoin_units::parse::MissingPrefixError
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::Amount
impl core::marker::Send for bitcoin_units::amount::Denomination
@ -310,7 +342,11 @@ 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::ContainsPrefixError
impl core::marker::Send for bitcoin_units::parse::MissingPrefixError
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::Amount
impl core::marker::StructuralPartialEq for bitcoin_units::amount::Denomination
@ -335,7 +371,11 @@ impl core::marker::StructuralPartialEq for bitcoin_units::locktime::absolute::Ti
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::ContainsPrefixError
impl core::marker::StructuralPartialEq for bitcoin_units::parse::MissingPrefixError
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::Amount
impl core::marker::Sync for bitcoin_units::amount::Denomination
@ -361,7 +401,11 @@ 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::ContainsPrefixError
impl core::marker::Sync for bitcoin_units::parse::MissingPrefixError
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::Amount
impl core::marker::Unpin for bitcoin_units::amount::Denomination
@ -387,7 +431,11 @@ 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::ContainsPrefixError
impl core::marker::Unpin for bitcoin_units::parse::MissingPrefixError
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::Amount
impl core::ops::arith::Add for bitcoin_units::amount::SignedAmount
@ -447,7 +495,11 @@ impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_units::locktime::absolu
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::ContainsPrefixError
impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_units::parse::MissingPrefixError
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::Amount
impl core::panic::unwind_safe::UnwindSafe for bitcoin_units::amount::Denomination
@ -473,7 +525,11 @@ impl core::panic::unwind_safe::UnwindSafe for bitcoin_units::locktime::absolute:
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::ContainsPrefixError
impl core::panic::unwind_safe::UnwindSafe for bitcoin_units::parse::MissingPrefixError
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::Amount
impl core::str::traits::FromStr for bitcoin_units::amount::Denomination
@ -525,6 +581,10 @@ pub bitcoin_units::amount::ParseDenominationError::Unknown(bitcoin_units::amount
pub bitcoin_units::amount::ParseError::Amount(bitcoin_units::amount::ParseAmountError)
pub bitcoin_units::amount::ParseError::Denomination(bitcoin_units::amount::ParseDenominationError)
pub bitcoin_units::amount::ParseError::MissingDenomination(bitcoin_units::amount::MissingDenominationError)
pub bitcoin_units::parse::PrefixedHexError::MissingPrefix(bitcoin_units::parse::MissingPrefixError)
pub bitcoin_units::parse::PrefixedHexError::ParseInt(bitcoin_units::parse::ParseIntError)
pub bitcoin_units::parse::UnprefixedHexError::ContainsPrefix(bitcoin_units::parse::ContainsPrefixError)
pub bitcoin_units::parse::UnprefixedHexError::ParseInt(bitcoin_units::parse::ParseIntError)
pub const bitcoin_units::amount::Amount::MAX: bitcoin_units::amount::Amount
pub const bitcoin_units::amount::Amount::MAX_MONEY: bitcoin_units::amount::Amount
pub const bitcoin_units::amount::Amount::MIN: bitcoin_units::amount::Amount
@ -586,6 +646,8 @@ 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 enum bitcoin_units::parse::PrefixedHexError
pub enum bitcoin_units::parse::UnprefixedHexError
pub extern crate bitcoin_units::serde
pub fn T::checked_sum(self) -> core::option::Option<bitcoin_units::amount::Amount>
pub fn T::checked_sum(self) -> core::option::Option<bitcoin_units::amount::SignedAmount>
@ -872,14 +934,40 @@ pub fn bitcoin_units::locktime::relative::TimeOverflowError::clone(&self) -> bit
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::ContainsPrefixError::clone(&self) -> bitcoin_units::parse::ContainsPrefixError
pub fn bitcoin_units::parse::ContainsPrefixError::eq(&self, other: &bitcoin_units::parse::ContainsPrefixError) -> bool
pub fn bitcoin_units::parse::ContainsPrefixError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result
pub fn bitcoin_units::parse::MissingPrefixError::clone(&self) -> bitcoin_units::parse::MissingPrefixError
pub fn bitcoin_units::parse::MissingPrefixError::eq(&self, other: &bitcoin_units::parse::MissingPrefixError) -> bool
pub fn bitcoin_units::parse::MissingPrefixError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result
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::input(&self) -> &str
pub fn bitcoin_units::parse::ParseIntError::source(&self) -> core::option::Option<&(dyn core::error::Error + 'static)>
pub fn bitcoin_units::parse::hex_u128<S: core::convert::AsRef<str> + core::convert::Into<alloc::string::String>>(s: S) -> core::result::Result<u128, bitcoin_units::parse::ParseIntError>
pub fn bitcoin_units::parse::hex_u32<S: core::convert::AsRef<str> + core::convert::Into<alloc::string::String>>(s: S) -> core::result::Result<u32, bitcoin_units::parse::ParseIntError>
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::MissingPrefixError) -> Self
pub fn bitcoin_units::parse::PrefixedHexError::from(e: bitcoin_units::parse::ParseIntError) -> 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::ContainsPrefixError) -> Self
pub fn bitcoin_units::parse::UnprefixedHexError::from(e: bitcoin_units::parse::ParseIntError) -> 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<u128, bitcoin_units::parse::ParseIntError>
pub fn bitcoin_units::parse::hex_u128_prefixed(s: &str) -> core::result::Result<u128, bitcoin_units::parse::PrefixedHexError>
pub fn bitcoin_units::parse::hex_u128_unchecked(s: &str) -> core::result::Result<u128, bitcoin_units::parse::ParseIntError>
pub fn bitcoin_units::parse::hex_u128_unprefixed(s: &str) -> core::result::Result<u128, bitcoin_units::parse::UnprefixedHexError>
pub fn bitcoin_units::parse::hex_u32(s: &str) -> core::result::Result<u32, bitcoin_units::parse::ParseIntError>
pub fn bitcoin_units::parse::hex_u32_prefixed(s: &str) -> core::result::Result<u32, bitcoin_units::parse::PrefixedHexError>
pub fn bitcoin_units::parse::hex_u32_unchecked(s: &str) -> core::result::Result<u32, bitcoin_units::parse::ParseIntError>
pub fn bitcoin_units::parse::hex_u32_unprefixed(s: &str) -> core::result::Result<u32, bitcoin_units::parse::UnprefixedHexError>
pub fn bitcoin_units::parse::int<T: bitcoin_units::parse::Integer, S: core::convert::AsRef<str> + core::convert::Into<alloc::string::String>>(s: S) -> core::result::Result<T, bitcoin_units::parse::ParseIntError>
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)
@ -953,6 +1041,8 @@ 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::ContainsPrefixError
pub struct bitcoin_units::parse::MissingPrefixError
pub struct bitcoin_units::weight::Weight(_)
pub trait bitcoin_units::amount::CheckedSum<R>: private::SumSeal<R>
pub trait bitcoin_units::amount::serde::SerdeAmount: core::marker::Copy + core::marker::Sized

View File

@ -56,7 +56,11 @@ 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::ContainsPrefixError
impl core::clone::Clone for bitcoin_units::parse::MissingPrefixError
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::Amount
impl core::cmp::Eq for bitcoin_units::amount::Denomination
@ -81,7 +85,11 @@ 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::ContainsPrefixError
impl core::cmp::Eq for bitcoin_units::parse::MissingPrefixError
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::Amount
impl core::cmp::Ord for bitcoin_units::amount::SignedAmount
@ -114,7 +122,11 @@ 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::ContainsPrefixError
impl core::cmp::PartialEq for bitcoin_units::parse::MissingPrefixError
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::Amount
impl core::cmp::PartialOrd for bitcoin_units::amount::SignedAmount
@ -138,6 +150,10 @@ impl core::convert::From<bitcoin_units::amount::ParseDenominationError> for bitc
impl core::convert::From<bitcoin_units::amount::TooPreciseError> for bitcoin_units::amount::ParseAmountError
impl core::convert::From<bitcoin_units::amount::TooPreciseError> for bitcoin_units::amount::ParseError
impl core::convert::From<bitcoin_units::fee_rate::FeeRate> for u64
impl core::convert::From<bitcoin_units::parse::ContainsPrefixError> for bitcoin_units::parse::UnprefixedHexError
impl core::convert::From<bitcoin_units::parse::MissingPrefixError> for bitcoin_units::parse::PrefixedHexError
impl core::convert::From<bitcoin_units::parse::ParseIntError> for bitcoin_units::parse::PrefixedHexError
impl core::convert::From<bitcoin_units::parse::ParseIntError> for bitcoin_units::parse::UnprefixedHexError
impl core::convert::From<bitcoin_units::parse::ParseIntError> for core::num::error::ParseIntError
impl core::convert::From<bitcoin_units::weight::Weight> for u64
impl core::convert::From<core::convert::Infallible> for bitcoin_units::amount::ParseAmountError
@ -192,7 +208,11 @@ 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::ContainsPrefixError
impl core::fmt::Debug for bitcoin_units::parse::MissingPrefixError
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::Amount
impl core::fmt::Display for bitcoin_units::amount::Denomination
@ -217,7 +237,11 @@ 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::ContainsPrefixError
impl core::fmt::Display for bitcoin_units::parse::MissingPrefixError
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::Amount
impl core::hash::Hash for bitcoin_units::amount::Denomination
@ -265,7 +289,11 @@ 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::ContainsPrefixError
impl core::marker::Freeze for bitcoin_units::parse::MissingPrefixError
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::Amount
impl core::marker::Send for bitcoin_units::amount::Denomination
@ -291,7 +319,11 @@ 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::ContainsPrefixError
impl core::marker::Send for bitcoin_units::parse::MissingPrefixError
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::Amount
impl core::marker::StructuralPartialEq for bitcoin_units::amount::Denomination
@ -316,7 +348,11 @@ impl core::marker::StructuralPartialEq for bitcoin_units::locktime::absolute::Ti
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::ContainsPrefixError
impl core::marker::StructuralPartialEq for bitcoin_units::parse::MissingPrefixError
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::Amount
impl core::marker::Sync for bitcoin_units::amount::Denomination
@ -342,7 +378,11 @@ 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::ContainsPrefixError
impl core::marker::Sync for bitcoin_units::parse::MissingPrefixError
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::Amount
impl core::marker::Unpin for bitcoin_units::amount::Denomination
@ -368,7 +408,11 @@ 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::ContainsPrefixError
impl core::marker::Unpin for bitcoin_units::parse::MissingPrefixError
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::Amount
impl core::ops::arith::Add for bitcoin_units::amount::SignedAmount
@ -428,7 +472,11 @@ impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_units::locktime::absolu
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::ContainsPrefixError
impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_units::parse::MissingPrefixError
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::Amount
impl core::panic::unwind_safe::UnwindSafe for bitcoin_units::amount::Denomination
@ -454,7 +502,11 @@ impl core::panic::unwind_safe::UnwindSafe for bitcoin_units::locktime::absolute:
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::ContainsPrefixError
impl core::panic::unwind_safe::UnwindSafe for bitcoin_units::parse::MissingPrefixError
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::Amount
impl core::str::traits::FromStr for bitcoin_units::amount::Denomination
@ -492,6 +544,10 @@ pub bitcoin_units::amount::ParseDenominationError::Unknown(bitcoin_units::amount
pub bitcoin_units::amount::ParseError::Amount(bitcoin_units::amount::ParseAmountError)
pub bitcoin_units::amount::ParseError::Denomination(bitcoin_units::amount::ParseDenominationError)
pub bitcoin_units::amount::ParseError::MissingDenomination(bitcoin_units::amount::MissingDenominationError)
pub bitcoin_units::parse::PrefixedHexError::MissingPrefix(bitcoin_units::parse::MissingPrefixError)
pub bitcoin_units::parse::PrefixedHexError::ParseInt(bitcoin_units::parse::ParseIntError)
pub bitcoin_units::parse::UnprefixedHexError::ContainsPrefix(bitcoin_units::parse::ContainsPrefixError)
pub bitcoin_units::parse::UnprefixedHexError::ParseInt(bitcoin_units::parse::ParseIntError)
pub const bitcoin_units::amount::Amount::MAX: bitcoin_units::amount::Amount
pub const bitcoin_units::amount::Amount::MAX_MONEY: bitcoin_units::amount::Amount
pub const bitcoin_units::amount::Amount::MIN: bitcoin_units::amount::Amount
@ -553,6 +609,8 @@ 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 enum bitcoin_units::parse::PrefixedHexError
pub enum bitcoin_units::parse::UnprefixedHexError
pub fn T::checked_sum(self) -> core::option::Option<bitcoin_units::amount::Amount>
pub fn T::checked_sum(self) -> core::option::Option<bitcoin_units::amount::SignedAmount>
pub fn bitcoin_units::amount::Amount::add(self, rhs: bitcoin_units::amount::Amount) -> Self::Output
@ -789,13 +847,37 @@ pub fn bitcoin_units::locktime::relative::TimeOverflowError::clone(&self) -> bit
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::ContainsPrefixError::clone(&self) -> bitcoin_units::parse::ContainsPrefixError
pub fn bitcoin_units::parse::ContainsPrefixError::eq(&self, other: &bitcoin_units::parse::ContainsPrefixError) -> bool
pub fn bitcoin_units::parse::ContainsPrefixError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result
pub fn bitcoin_units::parse::MissingPrefixError::clone(&self) -> bitcoin_units::parse::MissingPrefixError
pub fn bitcoin_units::parse::MissingPrefixError::eq(&self, other: &bitcoin_units::parse::MissingPrefixError) -> bool
pub fn bitcoin_units::parse::MissingPrefixError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result
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::input(&self) -> &str
pub fn bitcoin_units::parse::hex_u128<S: core::convert::AsRef<str> + core::convert::Into<alloc::string::String>>(s: S) -> core::result::Result<u128, bitcoin_units::parse::ParseIntError>
pub fn bitcoin_units::parse::hex_u32<S: core::convert::AsRef<str> + core::convert::Into<alloc::string::String>>(s: S) -> core::result::Result<u32, bitcoin_units::parse::ParseIntError>
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::MissingPrefixError) -> Self
pub fn bitcoin_units::parse::PrefixedHexError::from(e: bitcoin_units::parse::ParseIntError) -> 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::ContainsPrefixError) -> Self
pub fn bitcoin_units::parse::UnprefixedHexError::from(e: bitcoin_units::parse::ParseIntError) -> 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<u128, bitcoin_units::parse::ParseIntError>
pub fn bitcoin_units::parse::hex_u128_prefixed(s: &str) -> core::result::Result<u128, bitcoin_units::parse::PrefixedHexError>
pub fn bitcoin_units::parse::hex_u128_unchecked(s: &str) -> core::result::Result<u128, bitcoin_units::parse::ParseIntError>
pub fn bitcoin_units::parse::hex_u128_unprefixed(s: &str) -> core::result::Result<u128, bitcoin_units::parse::UnprefixedHexError>
pub fn bitcoin_units::parse::hex_u32(s: &str) -> core::result::Result<u32, bitcoin_units::parse::ParseIntError>
pub fn bitcoin_units::parse::hex_u32_prefixed(s: &str) -> core::result::Result<u32, bitcoin_units::parse::PrefixedHexError>
pub fn bitcoin_units::parse::hex_u32_unchecked(s: &str) -> core::result::Result<u32, bitcoin_units::parse::ParseIntError>
pub fn bitcoin_units::parse::hex_u32_unprefixed(s: &str) -> core::result::Result<u32, bitcoin_units::parse::UnprefixedHexError>
pub fn bitcoin_units::parse::int<T: bitcoin_units::parse::Integer, S: core::convert::AsRef<str> + core::convert::Into<alloc::string::String>>(s: S) -> core::result::Result<T, bitcoin_units::parse::ParseIntError>
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)
@ -862,6 +944,8 @@ 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::ContainsPrefixError
pub struct bitcoin_units::parse::MissingPrefixError
pub struct bitcoin_units::weight::Weight(_)
pub trait bitcoin_units::amount::CheckedSum<R>: private::SumSeal<R>
pub trait bitcoin_units::parse::Integer: core::str::traits::FromStr<Err = core::num::error::ParseIntError> + core::convert::TryFrom<i8> + core::marker::Sized

View File

@ -11,12 +11,11 @@ use core::fmt;
use io::{BufRead, Write};
#[cfg(all(test, mutate))]
use mutagen::mutate;
use units::parse;
use units::parse::{self, PrefixedHexError, UnprefixedHexError};
#[cfg(doc)]
use crate::absolute;
use crate::consensus::encode::{self, Decodable, Encodable};
use crate::error::{ContainsPrefixError, MissingPrefixError, PrefixedHexError, UnprefixedHexError};
#[rustfmt::skip] // Keep public re-exports separate.
#[doc(inline)]
@ -92,26 +91,15 @@ impl LockTime {
/// The number of bytes that the locktime contributes to the size of a transaction.
pub const SIZE: usize = 4; // Serialized length of a u32.
/// Creates a `LockTime` from an prefixed hex string.
/// Creates a `LockTime` from a prefixed hex string.
pub fn from_hex(s: &str) -> Result<Self, PrefixedHexError> {
let stripped = if let Some(stripped) = s.strip_prefix("0x") {
stripped
} else if let Some(stripped) = s.strip_prefix("0X") {
stripped
} else {
return Err(MissingPrefixError::new(s).into());
};
let lock_time = parse::hex_u32(stripped)?;
let lock_time = parse::hex_u32_prefixed(s)?;
Ok(Self::from_consensus(lock_time))
}
/// Creates a `LockTime` from an unprefixed hex string.
pub fn from_unprefixed_hex(s: &str) -> Result<Self, UnprefixedHexError> {
if s.starts_with("0x") || s.starts_with("0X") {
return Err(ContainsPrefixError::new(s).into());
}
let lock_time = parse::hex_u32(s)?;
let lock_time = parse::hex_u32_unprefixed(s)?;
Ok(Self::from_consensus(lock_time))
}

View File

@ -15,7 +15,7 @@ use core::{cmp, fmt, str};
use hashes::{sha256d, Hash};
use internals::write_err;
use io::{BufRead, Write};
use units::parse;
use units::parse::{self, PrefixedHexError, UnprefixedHexError};
use super::Weight;
use crate::blockdata::locktime::absolute::{self, Height, Time};
@ -24,7 +24,6 @@ use crate::blockdata::script::{Script, ScriptBuf};
use crate::blockdata::witness::Witness;
use crate::blockdata::FeeRate;
use crate::consensus::{encode, Decodable, Encodable};
use crate::error::{ContainsPrefixError, MissingPrefixError, PrefixedHexError, UnprefixedHexError};
use crate::internal_macros::{impl_consensus_encoding, impl_hashencode};
use crate::prelude::*;
#[cfg(doc)]
@ -121,7 +120,7 @@ pub enum ParseOutPointError {
/// Error in TXID part.
Txid(hex::HexToArrayError),
/// Error in vout part.
Vout(crate::error::ParseIntError),
Vout(parse::ParseIntError),
/// Error in general format.
Format,
/// Size exceeds max.
@ -404,26 +403,15 @@ impl Sequence {
self.is_relative_lock_time() & (self.0 & Sequence::LOCK_TYPE_MASK > 0)
}
/// Creates a `Sequence` from an prefixed hex string.
/// Creates a `Sequence` from a prefixed hex string.
pub fn from_hex(s: &str) -> Result<Self, PrefixedHexError> {
let stripped = if let Some(stripped) = s.strip_prefix("0x") {
stripped
} else if let Some(stripped) = s.strip_prefix("0X") {
stripped
} else {
return Err(MissingPrefixError::new(s).into());
};
let sequence = parse::hex_u32(stripped)?;
Ok(Self::from_consensus(sequence))
let lock_time = parse::hex_u32_prefixed(s)?;
Ok(Self::from_consensus(lock_time))
}
/// Creates a `Sequence` from an unprefixed hex string.
pub fn from_unprefixed_hex(s: &str) -> Result<Self, UnprefixedHexError> {
if s.starts_with("0x") || s.starts_with("0X") {
return Err(ContainsPrefixError::new(s).into());
}
let lock_time = parse::hex_u32(s)?;
let lock_time = parse::hex_u32_unprefixed(s)?;
Ok(Self::from_consensus(lock_time))
}

View File

@ -1,132 +0,0 @@
// SPDX-License-Identifier: CC0-1.0
//! Contains error types and other error handling tools.
use core::fmt;
use internals::write_err;
use crate::prelude::*;
#[rustfmt::skip] // Keep public re-exports separate.
#[doc(inline)]
pub use crate::parse::ParseIntError;
/// Error returned when parsing integer from an supposedly prefixed hex string for
/// a type that can be created infallibly from an integer.
#[derive(Debug, Clone, Eq, PartialEq)]
pub enum PrefixedHexError {
/// Hex string is missing prefix.
MissingPrefix(MissingPrefixError),
/// Error parsing integer from hex string.
ParseInt(ParseIntError),
}
impl fmt::Display for PrefixedHexError {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
use PrefixedHexError::*;
match *self {
MissingPrefix(ref e) => write_err!(f, "hex string is missing prefix"; e),
ParseInt(ref e) => write_err!(f, "prefixed hex string invalid int"; e),
}
}
}
#[cfg(feature = "std")]
impl std::error::Error for PrefixedHexError {
fn source(&self) -> Option<&(dyn std::error::Error + 'static)> {
use PrefixedHexError::*;
match *self {
MissingPrefix(ref e) => Some(e),
ParseInt(ref e) => Some(e),
}
}
}
impl From<MissingPrefixError> for PrefixedHexError {
fn from(e: MissingPrefixError) -> Self { Self::MissingPrefix(e) }
}
impl From<ParseIntError> for PrefixedHexError {
fn from(e: ParseIntError) -> Self { Self::ParseInt(e) }
}
/// Error returned when parsing integer from an supposedly un-prefixed hex string.
#[derive(Debug, Clone, Eq, PartialEq)]
pub enum UnprefixedHexError {
/// Hex string contains prefix.
ContainsPrefix(ContainsPrefixError),
/// Error parsing integer from string.
ParseInt(ParseIntError),
}
impl fmt::Display for UnprefixedHexError {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
use UnprefixedHexError::*;
match *self {
ContainsPrefix(ref e) => write_err!(f, "hex string is contains prefix"; e),
ParseInt(ref e) => write_err!(f, "hex string parse int"; e),
}
}
}
#[cfg(feature = "std")]
impl std::error::Error for UnprefixedHexError {
fn source(&self) -> Option<&(dyn std::error::Error + 'static)> {
use UnprefixedHexError::*;
match *self {
ContainsPrefix(ref e) => Some(e),
ParseInt(ref e) => Some(e),
}
}
}
impl From<ContainsPrefixError> for UnprefixedHexError {
fn from(e: ContainsPrefixError) -> Self { Self::ContainsPrefix(e) }
}
impl From<ParseIntError> for UnprefixedHexError {
fn from(e: ParseIntError) -> Self { Self::ParseInt(e) }
}
/// Error when hex string is missing a prefix (e.g. 0x).
#[derive(Debug, Clone, Eq, PartialEq)]
pub struct MissingPrefixError {
hex: String,
}
impl MissingPrefixError {
pub(crate) fn new(s: &str) -> Self { Self { hex: s.into() } }
}
impl fmt::Display for MissingPrefixError {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
write!(f, "hex string is missing a prefix (e.g. 0x): {}", self.hex)
}
}
#[cfg(feature = "std")]
impl std::error::Error for MissingPrefixError {}
/// Error when hex string contains a prefix (e.g. 0x).
#[derive(Debug, Clone, Eq, PartialEq)]
pub struct ContainsPrefixError {
hex: String,
}
impl ContainsPrefixError {
pub(crate) fn new(s: &str) -> Self { Self { hex: s.into() } }
}
impl fmt::Display for ContainsPrefixError {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
write!(f, "hex string contains a prefix: {}", self.hex)
}
}
#[cfg(feature = "std")]
impl std::error::Error for ContainsPrefixError {}

View File

@ -100,7 +100,6 @@ pub mod blockdata;
pub mod consensus;
// Private until we either make this a crate or flatten it - still to be decided.
pub(crate) mod crypto;
pub mod error;
pub mod hash_types;
pub mod merkle_tree;
pub mod network;

View File

@ -12,15 +12,12 @@ use core::ops::{Add, Div, Mul, Not, Rem, Shl, Shr, Sub};
use io::{BufRead, Write};
#[cfg(all(test, mutate))]
use mutagen::mutate;
use units::parse;
use units::parse::{self, ParseIntError, PrefixedHexError, UnprefixedHexError};
use crate::block::Header;
use crate::blockdata::block::BlockHash;
use crate::consensus::encode::{self, Decodable, Encodable};
use crate::consensus::Params;
use crate::error::{
ContainsPrefixError, MissingPrefixError, ParseIntError, PrefixedHexError, UnprefixedHexError,
};
/// Implement traits and methods shared by `Target` and `Work`.
macro_rules! do_impl {
@ -350,27 +347,16 @@ do_impl!(Target);
pub struct CompactTarget(u32);
impl CompactTarget {
/// Creates a `CompactTarget` from an prefixed hex string.
/// Creates a `CompactTarget` from a prefixed hex string.
pub fn from_hex(s: &str) -> Result<Self, PrefixedHexError> {
let stripped = if let Some(stripped) = s.strip_prefix("0x") {
stripped
} else if let Some(stripped) = s.strip_prefix("0X") {
stripped
} else {
return Err(MissingPrefixError::new(s).into());
};
let target = parse::hex_u32(stripped)?;
let target = parse::hex_u32_prefixed(s)?;
Ok(Self::from_consensus(target))
}
/// Creates a `CompactTarget` from an unprefixed hex string.
pub fn from_unprefixed_hex(s: &str) -> Result<Self, UnprefixedHexError> {
if s.starts_with("0x") || s.starts_with("0X") {
return Err(ContainsPrefixError::new(s).into());
}
let lock_time = parse::hex_u32(s)?;
Ok(Self::from_consensus(lock_time))
let target = parse::hex_u32_unprefixed(s)?;
Ok(Self::from_consensus(target))
}
/// Computes the [`CompactTarget`] from a difficulty adjustment.
@ -499,36 +485,28 @@ impl U256 {
/// Creates a `U256` from a prefixed hex string.
fn from_hex(s: &str) -> Result<Self, PrefixedHexError> {
let stripped = if let Some(stripped) = s.strip_prefix("0x") {
stripped
} else if let Some(stripped) = s.strip_prefix("0X") {
stripped
} else {
return Err(MissingPrefixError::new(s).into());
};
Ok(U256::from_hex_internal(stripped)?)
let checked = parse::hex_remove_prefix(s)?;
Ok(U256::from_hex_internal(checked)?)
}
/// Creates a `U256` from an unprefixed hex string.
fn from_unprefixed_hex(s: &str) -> Result<Self, UnprefixedHexError> {
if s.starts_with("0x") || s.starts_with("0X") {
return Err(ContainsPrefixError::new(s).into());
}
Ok(U256::from_hex_internal(s)?)
let checked = parse::hex_check_unprefixed(s)?;
Ok(U256::from_hex_internal(checked)?)
}
// Caller to ensure `s` does not contain a prefix.
fn from_hex_internal(s: &str) -> Result<Self, ParseIntError> {
let (high, low) = if s.len() < 32 {
let low = parse::hex_u128(s)?;
let low = parse::hex_u128_unchecked(s)?;
(0, low)
} else {
let high_len = s.len() - 32;
let high_s = &s[..high_len];
let low_s = &s[high_len..];
let high = parse::hex_u128(high_s)?;
let low = parse::hex_u128(low_s)?;
let high = parse::hex_u128_unchecked(high_s)?;
let low = parse::hex_u128_unchecked(low_s)?;
(high, low)
};

View File

@ -6,7 +6,9 @@ use core::fmt;
use internals::write_err;
use crate::parse::{self, ParseIntError};
use crate::parse::ParseIntError;
#[cfg(feature = "alloc")]
use crate::parse;
#[cfg(feature = "alloc")]
use crate::prelude::*;
@ -233,7 +235,7 @@ where
S: AsRef<str> + Into<String>,
F: FnOnce(u32) -> Result<T, ConversionError>,
{
let n = i64::from_str_radix(parse::strip_hex_prefix(s.as_ref()), 16)
let n = i64::from_str_radix(parse::hex_remove_optional_prefix(s.as_ref()), 16)
.map_err(ParseError::invalid_int(s))?;
let n = u32::try_from(n).map_err(|_| ParseError::Conversion(n))?;
f(n).map_err(ParseError::from).map_err(Into::into)

View File

@ -88,43 +88,6 @@ pub fn int<T: Integer, S: AsRef<str> + Into<String>>(s: S) -> Result<T, ParseInt
})
}
/// Parses a `u32` from a hex string.
///
/// Input string may or may not contain a `0x` prefix.
pub fn hex_u32<S: AsRef<str> + Into<String>>(s: S) -> Result<u32, ParseIntError> {
let stripped = strip_hex_prefix(s.as_ref());
u32::from_str_radix(stripped, 16).map_err(|error| ParseIntError {
input: s.into(),
bits: 32,
is_signed: false,
source: error,
})
}
/// Parses a `u128` from a hex string.
///
/// Input string may or may not contain a `0x` prefix.
pub fn hex_u128<S: AsRef<str> + Into<String>>(s: S) -> Result<u128, ParseIntError> {
let stripped = strip_hex_prefix(s.as_ref());
u128::from_str_radix(stripped, 16).map_err(|error| ParseIntError {
input: s.into(),
bits: 128,
is_signed: false,
source: error,
})
}
/// Strips the hex prefix off `s` if one is present.
pub(crate) fn strip_hex_prefix(s: &str) -> &str {
if let Some(stripped) = s.strip_prefix("0x") {
stripped
} else if let Some(stripped) = s.strip_prefix("0X") {
stripped
} else {
s
}
}
/// Implements `TryFrom<$from> for $to` using `parse::int`, mapping the output using infallible
/// conversion function `fn`.
#[macro_export]
@ -197,6 +160,263 @@ macro_rules! impl_parse_str {
}
}
/// Removes the prefix `0x` (or `0X`) from hex string.
///
/// # Errors
///
/// If input string does not contain a prefix.
pub fn hex_remove_prefix(s: &str) -> Result<&str, PrefixedHexError> {
if let Some(checked) = s.strip_prefix("0x") {
Ok(checked)
} else if let Some(checked) = s.strip_prefix("0X") {
Ok(checked)
} else {
Err(MissingPrefixError::new(s.into()).into())
}
}
/// Checks hex string does not have a prefix `0x` (or `0X`).
///
/// # Errors
///
/// If input string contains a prefix.
pub fn hex_check_unprefixed(s: &str) -> Result<&str, UnprefixedHexError> {
if s.starts_with("0x") || s.starts_with("0X") {
return Err(ContainsPrefixError::new(s.into()).into());
}
Ok(s)
}
/// Parses a `u32` from a hex string.
///
/// Input string may or may not contain a `0x` (or `0X`) prefix.
///
/// # Errors
///
/// If the input string is not a valid hex encoding of a `u32`.
pub fn hex_u32(s: &str) -> Result<u32, ParseIntError> {
let unchecked = hex_remove_optional_prefix(s);
Ok(hex_u32_unchecked(unchecked)?)
}
/// Parses a `u32` from a prefixed hex string.
///
/// # Errors
///
/// - If input string does not contain a `0x` (or `0X`) prefix.
/// - If input string is not a valid hex encoding of a `u32`.
pub fn hex_u32_prefixed(s: &str) -> Result<u32, PrefixedHexError> {
let checked = hex_remove_prefix(s)?;
Ok(hex_u32_unchecked(checked)?)
}
/// Parses a `u32` from an unprefixed hex string.
///
/// # Errors
///
/// - If input string contains a `0x` (or `0X`) prefix.
/// - If input string is not a valid hex encoding of a `u32`.
pub fn hex_u32_unprefixed(s: &str) -> Result<u32, UnprefixedHexError> {
let checked = hex_check_unprefixed(s)?;
Ok(hex_u32_unchecked(checked)?)
}
/// Parses a `u32` from a hex string.
///
/// # Errors
///
/// - If input string is not a valid hex encoding of a `u32`.
/// - With `InvalidDigit` due to the `x` if there is a prefix.
pub fn hex_u32_unchecked(s: &str) -> Result<u32, ParseIntError> {
u32::from_str_radix(s, 16).map_err(|error| ParseIntError {
input: s.into(),
bits: 32,
is_signed: false,
source: error,
})
}
/// Parses a `u128` from a hex string.
///
/// Input string may or may not contain a `0x` (or `0X`) prefix.
///
/// # Errors
///
/// If the input string is not a valid hex encoding of a `u128`.
pub fn hex_u128(s: &str) -> Result<u128, ParseIntError> {
let unchecked = hex_remove_optional_prefix(s);
Ok(hex_u128_unchecked(unchecked)?)
}
/// Parses a `u128` from a hex string.
///
/// # Errors
///
/// - If input string does not contain a `0x` (or `0X`) prefix.
/// - If input string is not a valid hex encoding of a `u128`.
pub fn hex_u128_prefixed(s: &str) -> Result<u128, PrefixedHexError> {
let checked = hex_remove_prefix(s)?;
Ok(hex_u128_unchecked(checked)?)
}
/// Parses a `u128` from a hex string.
///
/// # Errors
///
/// - If input string contains a `0x` (or `0X`) prefix.
/// - If input string is not a valid hex encoding of a `u128`.
pub fn hex_u128_unprefixed(s: &str) -> Result<u128, UnprefixedHexError> {
let checked = hex_check_unprefixed(s)?;
Ok(hex_u128_unchecked(checked)?)
}
/// Parses a `u128` from a hex string.
///
/// # Errors
///
/// - If input string is not a valid hex encoding of a `u128`.
/// - With `InvalidDigit` due to the `x` if there is a prefix.
pub fn hex_u128_unchecked(s: &str) -> Result<u128, ParseIntError> {
u128::from_str_radix(s, 16).map_err(|error| ParseIntError {
input: s.into(),
bits: 128,
is_signed: false,
source: error,
})
}
/// Strips the hex prefix off `s` if one is present.
pub(crate) fn hex_remove_optional_prefix(s: &str) -> &str {
if let Some(stripped) = s.strip_prefix("0x") {
stripped
} else if let Some(stripped) = s.strip_prefix("0X") {
stripped
} else {
s
}
}
/// Error returned when parsing integer from an supposedly prefixed hex string for
/// a type that can be created infallibly from an integer.
#[derive(Debug, Clone, Eq, PartialEq)]
pub enum PrefixedHexError {
/// Hex string is missing prefix.
MissingPrefix(MissingPrefixError),
/// Error parsing integer from hex string.
ParseInt(ParseIntError),
}
impl fmt::Display for PrefixedHexError {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
use PrefixedHexError::*;
match *self {
MissingPrefix(ref e) => write_err!(f, "hex string is missing prefix"; e),
ParseInt(ref e) => write_err!(f, "prefixed hex string invalid int"; e),
}
}
}
#[cfg(feature = "std")]
impl std::error::Error for PrefixedHexError {
fn source(&self) -> Option<&(dyn std::error::Error + 'static)> {
use PrefixedHexError::*;
match *self {
MissingPrefix(ref e) => Some(e),
ParseInt(ref e) => Some(e),
}
}
}
impl From<MissingPrefixError> for PrefixedHexError {
fn from(e: MissingPrefixError) -> Self { Self::MissingPrefix(e) }
}
impl From<ParseIntError> for PrefixedHexError {
fn from(e: ParseIntError) -> Self { Self::ParseInt(e) }
}
/// Error returned when parsing integer from an supposedly un-prefixed hex string.
#[derive(Debug, Clone, Eq, PartialEq)]
pub enum UnprefixedHexError {
/// Hex string contains prefix.
ContainsPrefix(ContainsPrefixError),
/// Error parsing integer from string.
ParseInt(ParseIntError),
}
impl fmt::Display for UnprefixedHexError {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
use UnprefixedHexError::*;
match *self {
ContainsPrefix(ref e) => write_err!(f, "hex string is contains prefix"; e),
ParseInt(ref e) => write_err!(f, "hex string parse int"; e),
}
}
}
#[cfg(feature = "std")]
impl std::error::Error for UnprefixedHexError {
fn source(&self) -> Option<&(dyn std::error::Error + 'static)> {
use UnprefixedHexError::*;
match *self {
ContainsPrefix(ref e) => Some(e),
ParseInt(ref e) => Some(e),
}
}
}
impl From<ContainsPrefixError> for UnprefixedHexError {
fn from(e: ContainsPrefixError) -> Self { Self::ContainsPrefix(e) }
}
impl From<ParseIntError> for UnprefixedHexError {
fn from(e: ParseIntError) -> Self { Self::ParseInt(e) }
}
/// Error when hex string is missing a prefix (e.g. 0x).
#[derive(Debug, Clone, Eq, PartialEq)]
pub struct MissingPrefixError {
hex: String,
}
impl MissingPrefixError {
/// Creates an error from the string with the missing prefix.
pub(crate) fn new(hex: String) -> Self { Self { hex } }
}
impl fmt::Display for MissingPrefixError {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
write!(f, "hex string is missing a prefix (e.g. 0x): {}", self.hex)
}
}
#[cfg(feature = "std")]
impl std::error::Error for MissingPrefixError {}
/// Error when hex string contains a prefix (e.g. 0x).
#[derive(Debug, Clone, Eq, PartialEq)]
pub struct ContainsPrefixError {
hex: String,
}
impl ContainsPrefixError {
/// Creates an error from the string that contains the prefix.
pub(crate) fn new(hex: String) -> Self { Self { hex } }
}
impl fmt::Display for ContainsPrefixError {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
write!(f, "hex string contains a prefix: {}", self.hex)
}
}
#[cfg(feature = "std")]
impl std::error::Error for ContainsPrefixError {}
#[cfg(test)]
mod tests {
use super::*;
@ -228,4 +448,9 @@ mod tests {
let got = hex_u128("deadbeef").expect("failed to parse non-prefixed hex");
assert_eq!(got, want);
}
#[test]
fn parse_u32_from_hex_unchecked_errors_on_prefix() {
assert!(hex_u32_unchecked("0xab").is_err());
}
}