What changed, and why it matters
This commit only updates generated API snapshot files that list what public types and functions exist in the rust-bitcoin 'primitives' crate. No actual source code was changed, and nothing in the commit message or diff suggests a security fix or vulnerability. It is a routine housekeeping change.
No action required. This is a non-functional API-snapshot update.
Security signals we found
No strong security signals were identified.
Evidence from the diff
The diff adds entries for newly public decoder types (BlockDecoder, HeaderDecoder, TxInDecoder, TxOutDecoder) and their Default/constructor implementations to three api/primitives/*.txt files. These files are public-API tracking snapshots, typically maintained with cargo-public-api or similar tooling. There is no logic change, no bug fix, and no security-relevant behavior modification.
Changed components
api/primitives/all-features.txtapi/primitives/alloc-only.txtapi/primitives/no-features.txtInspect captured patch +36 / −0
diff --git a/api/primitives/all-features.txt b/api/primitives/all-features.txt
index 312c5f61..f9a81dd6 100644
--- a/api/primitives/all-features.txt
+++ b/api/primitives/all-features.txt
@@ -47,8 +47,10 @@ impl bitcoin_primitives::WitnessMerkleNode
impl bitcoin_primitives::Wtxid
impl bitcoin_primitives::block::Block<bitcoin_primitives::block::Checked>
impl bitcoin_primitives::block::Block<bitcoin_primitives::block::Unchecked>
+impl bitcoin_primitives::block::BlockDecoder
impl bitcoin_primitives::block::BlockHashDecoder
impl bitcoin_primitives::block::Header
+impl bitcoin_primitives::block::HeaderDecoder
impl bitcoin_primitives::block::Validation for bitcoin_primitives::block::Checked
impl bitcoin_primitives::block::Validation for bitcoin_primitives::block::Unchecked
impl bitcoin_primitives::block::Version
@@ -70,6 +72,8 @@ impl bitcoin_primitives::transaction::OutPointDecoder
impl bitcoin_primitives::transaction::Transaction
impl bitcoin_primitives::transaction::TransactionDecoder
impl bitcoin_primitives::transaction::TxIn
+impl bitcoin_primitives::transaction::TxInDecoder
+impl bitcoin_primitives::transaction::TxOutDecoder
impl bitcoin_primitives::transaction::Version
impl bitcoin_primitives::transaction::VersionDecoder
impl bitcoin_primitives::witness::Witness
@@ -321,12 +325,16 @@ impl core::convert::From<core::convert::Infallible> for bitcoin_primitives::witn
impl core::convert::TryFrom<&bitcoin_primitives::script::Script<bitcoin_primitives::script::WitnessScriptTag>> for bitcoin_primitives::script::WScriptHash
impl core::convert::TryFrom<&bitcoin_primitives::script::ScriptBuf<bitcoin_primitives::script::WitnessScriptTag>> for bitcoin_primitives::script::WScriptHash
impl core::convert::TryFrom<bitcoin_primitives::script::ScriptBuf<bitcoin_primitives::script::WitnessScriptTag>> for bitcoin_primitives::script::WScriptHash
+impl core::default::Default for bitcoin_primitives::block::BlockDecoder
impl core::default::Default for bitcoin_primitives::block::BlockHashDecoder
+impl core::default::Default for bitcoin_primitives::block::HeaderDecoder
impl core::default::Default for bitcoin_primitives::block::Version
impl core::default::Default for bitcoin_primitives::block::VersionDecoder
impl core::default::Default for bitcoin_primitives::merkle_tree::TxMerkleNodeDecoder
impl core::default::Default for bitcoin_primitives::transaction::OutPointDecoder
impl core::default::Default for bitcoin_primitives::transaction::TransactionDecoder
+impl core::default::Default for bitcoin_primitives::transaction::TxInDecoder
+impl core::default::Default for bitcoin_primitives::transaction::TxOutDecoder
impl core::default::Default for bitcoin_primitives::transaction::VersionDecoder
impl core::default::Default for bitcoin_primitives::witness::Witness
impl core::default::Default for bitcoin_primitives::witness::WitnessDecoder
@@ -1326,7 +1334,9 @@ pub const fn bitcoin_primitives::WitnessMerkleNode::to_byte_array(self) -> [u8;
pub const fn bitcoin_primitives::Wtxid::as_byte_array(&self) -> &[u8; 32]
pub const fn bitcoin_primitives::Wtxid::from_byte_array(bytes: [u8; 32]) -> Self
pub const fn bitcoin_primitives::Wtxid::to_byte_array(self) -> [u8; 32]
+pub const fn bitcoin_primitives::block::BlockDecoder::new() -> Self
pub const fn bitcoin_primitives::block::BlockHashDecoder::new() -> Self
+pub const fn bitcoin_primitives::block::HeaderDecoder::new() -> Self
pub const fn bitcoin_primitives::block::Version::from_consensus(v: i32) -> Self
pub const fn bitcoin_primitives::block::Version::to_consensus(self) -> i32
pub const fn bitcoin_primitives::block::VersionDecoder::new() -> Self
@@ -1347,6 +1357,8 @@ pub const fn bitcoin_primitives::script::WScriptHash::from_byte_array(bytes: [u8
pub const fn bitcoin_primitives::script::WScriptHash::to_byte_array(self) -> [u8; 32]
pub const fn bitcoin_primitives::transaction::OutPointDecoder::new() -> Self
pub const fn bitcoin_primitives::transaction::TransactionDecoder::new() -> Self
+pub const fn bitcoin_primitives::transaction::TxInDecoder::new() -> Self
+pub const fn bitcoin_primitives::transaction::TxOutDecoder::new() -> Self
pub const fn bitcoin_primitives::transaction::Version::is_standard(self) -> bool
pub const fn bitcoin_primitives::transaction::Version::maybe_non_standard(version: u32) -> Self
pub const fn bitcoin_primitives::transaction::Version::to_u32(self) -> u32
@@ -1524,6 +1536,7 @@ pub fn bitcoin_primitives::block::Block<bitcoin_primitives::block::Unchecked>::f
pub fn bitcoin_primitives::block::Block<bitcoin_primitives::block::Unchecked>::into_parts(self) -> (bitcoin_primitives::block::Header, alloc::vec::Vec<bitcoin_primitives::transaction::Transaction>)
pub fn bitcoin_primitives::block::Block<bitcoin_primitives::block::Unchecked>::new_unchecked(header: bitcoin_primitives::block::Header, transactions: alloc::vec::Vec<bitcoin_primitives::transaction::Transaction>) -> Self
pub fn bitcoin_primitives::block::Block<bitcoin_primitives::block::Unchecked>::validate(self) -> core::result::Result<bitcoin_primitives::block::Block<bitcoin_primitives::block::Checked>, bitcoin_primitives::block::InvalidBlockError>
+pub fn bitcoin_primitives::block::BlockDecoder::default() -> Self
pub fn bitcoin_primitives::block::BlockDecoder::end(self) -> core::result::Result<Self::Output, Self::Error>
pub fn bitcoin_primitives::block::BlockDecoder::push_bytes(&mut self, bytes: &mut &[u8]) -> core::result::Result<bool, Self::Error>
pub fn bitcoin_primitives::block::BlockDecoder::read_limit(&self) -> usize
@@ -1563,6 +1576,7 @@ pub fn bitcoin_primitives::block::Header::fmt(&self, f: &mut core::fmt::Formatte
pub fn bitcoin_primitives::block::Header::from_str(s: &str) -> core::result::Result<Self, Self::Err>
pub fn bitcoin_primitives::block::Header::hash<__H: core::hash::Hasher>(&self, state: &mut __H)
pub fn bitcoin_primitives::block::Header::partial_cmp(&self, other: &bitcoin_primitives::block::Header) -> core::option::Option<core::cmp::Ordering>
+pub fn bitcoin_primitives::block::HeaderDecoder::default() -> Self
pub fn bitcoin_primitives::block::HeaderDecoder::end(self) -> core::result::Result<Self::Output, Self::Error>
pub fn bitcoin_primitives::block::HeaderDecoder::push_bytes(&mut self, bytes: &mut &[u8]) -> core::result::Result<bool, Self::Error>
pub fn bitcoin_primitives::block::HeaderDecoder::read_limit(&self) -> usize
@@ -1849,6 +1863,7 @@ pub fn bitcoin_primitives::transaction::TxIn::eq(&self, other: &bitcoin_primitiv
pub fn bitcoin_primitives::transaction::TxIn::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result
pub fn bitcoin_primitives::transaction::TxIn::hash<__H: core::hash::Hasher>(&self, state: &mut __H)
pub fn bitcoin_primitives::transaction::TxIn::partial_cmp(&self, other: &bitcoin_primitives::transaction::TxIn) -> core::option::Option<core::cmp::Ordering>
+pub fn bitcoin_primitives::transaction::TxInDecoder::default() -> Self
pub fn bitcoin_primitives::transaction::TxInDecoder::end(self) -> core::result::Result<Self::Output, Self::Error>
pub fn bitcoin_primitives::transaction::TxInDecoder::push_bytes(&mut self, bytes: &mut &[u8]) -> core::result::Result<bool, Self::Error>
pub fn bitcoin_primitives::transaction::TxInDecoder::read_limit(&self) -> usize
@@ -1868,6 +1883,7 @@ pub fn bitcoin_primitives::transaction::TxOut::eq(&self, other: &bitcoin_primiti
pub fn bitcoin_primitives::transaction::TxOut::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result
pub fn bitcoin_primitives::transaction::TxOut::hash<__H: core::hash::Hasher>(&self, state: &mut __H)
pub fn bitcoin_primitives::transaction::TxOut::partial_cmp(&self, other: &bitcoin_primitives::transaction::TxOut) -> core::option::Option<core::cmp::Ordering>
+pub fn bitcoin_primitives::transaction::TxOutDecoder::default() -> Self
pub fn bitcoin_primitives::transaction::TxOutDecoder::end(self) -> core::result::Result<Self::Output, Self::Error>
pub fn bitcoin_primitives::transaction::TxOutDecoder::push_bytes(&mut self, bytes: &mut &[u8]) -> core::result::Result<bool, Self::Error>
pub fn bitcoin_primitives::transaction::TxOutDecoder::read_limit(&self) -> usize
diff --git a/api/primitives/alloc-only.txt b/api/primitives/alloc-only.txt
index 6b5b82c1..ee04407e 100644
--- a/api/primitives/alloc-only.txt
+++ b/api/primitives/alloc-only.txt
@@ -46,8 +46,10 @@ impl bitcoin_primitives::WitnessMerkleNode
impl bitcoin_primitives::Wtxid
impl bitcoin_primitives::block::Block<bitcoin_primitives::block::Checked>
impl bitcoin_primitives::block::Block<bitcoin_primitives::block::Unchecked>
+impl bitcoin_primitives::block::BlockDecoder
impl bitcoin_primitives::block::BlockHashDecoder
impl bitcoin_primitives::block::Header
+impl bitcoin_primitives::block::HeaderDecoder
impl bitcoin_primitives::block::Validation for bitcoin_primitives::block::Checked
impl bitcoin_primitives::block::Validation for bitcoin_primitives::block::Unchecked
impl bitcoin_primitives::block::Version
@@ -69,6 +71,8 @@ impl bitcoin_primitives::transaction::OutPointDecoder
impl bitcoin_primitives::transaction::Transaction
impl bitcoin_primitives::transaction::TransactionDecoder
impl bitcoin_primitives::transaction::TxIn
+impl bitcoin_primitives::transaction::TxInDecoder
+impl bitcoin_primitives::transaction::TxOutDecoder
impl bitcoin_primitives::transaction::Version
impl bitcoin_primitives::transaction::VersionDecoder
impl bitcoin_primitives::witness::Witness
@@ -313,12 +317,16 @@ impl core::convert::From<core::convert::Infallible> for bitcoin_primitives::witn
impl core::convert::TryFrom<&bitcoin_primitives::script::Script<bitcoin_primitives::script::WitnessScriptTag>> for bitcoin_primitives::script::WScriptHash
impl core::convert::TryFrom<&bitcoin_primitives::script::ScriptBuf<bitcoin_primitives::script::WitnessScriptTag>> for bitcoin_primitives::script::WScriptHash
impl core::convert::TryFrom<bitcoin_primitives::script::ScriptBuf<bitcoin_primitives::script::WitnessScriptTag>> for bitcoin_primitives::script::WScriptHash
+impl core::default::Default for bitcoin_primitives::block::BlockDecoder
impl core::default::Default for bitcoin_primitives::block::BlockHashDecoder
+impl core::default::Default for bitcoin_primitives::block::HeaderDecoder
impl core::default::Default for bitcoin_primitives::block::Version
impl core::default::Default for bitcoin_primitives::block::VersionDecoder
impl core::default::Default for bitcoin_primitives::merkle_tree::TxMerkleNodeDecoder
impl core::default::Default for bitcoin_primitives::transaction::OutPointDecoder
impl core::default::Default for bitcoin_primitives::transaction::TransactionDecoder
+impl core::default::Default for bitcoin_primitives::transaction::TxInDecoder
+impl core::default::Default for bitcoin_primitives::transaction::TxOutDecoder
impl core::default::Default for bitcoin_primitives::transaction::VersionDecoder
impl core::default::Default for bitcoin_primitives::witness::Witness
impl core::default::Default for bitcoin_primitives::witness::WitnessDecoder
@@ -1152,7 +1160,9 @@ pub const fn bitcoin_primitives::WitnessMerkleNode::to_byte_array(self) -> [u8;
pub const fn bitcoin_primitives::Wtxid::as_byte_array(&self) -> &[u8; 32]
pub const fn bitcoin_primitives::Wtxid::from_byte_array(bytes: [u8; 32]) -> Self
pub const fn bitcoin_primitives::Wtxid::to_byte_array(self) -> [u8; 32]
+pub const fn bitcoin_primitives::block::BlockDecoder::new() -> Self
pub const fn bitcoin_primitives::block::BlockHashDecoder::new() -> Self
+pub const fn bitcoin_primitives::block::HeaderDecoder::new() -> Self
pub const fn bitcoin_primitives::block::Version::from_consensus(v: i32) -> Self
pub const fn bitcoin_primitives::block::Version::to_consensus(self) -> i32
pub const fn bitcoin_primitives::block::VersionDecoder::new() -> Self
@@ -1173,6 +1183,8 @@ pub const fn bitcoin_primitives::script::WScriptHash::from_byte_array(bytes: [u8
pub const fn bitcoin_primitives::script::WScriptHash::to_byte_array(self) -> [u8; 32]
pub const fn bitcoin_primitives::transaction::OutPointDecoder::new() -> Self
pub const fn bitcoin_primitives::transaction::TransactionDecoder::new() -> Self
+pub const fn bitcoin_primitives::transaction::TxInDecoder::new() -> Self
+pub const fn bitcoin_primitives::transaction::TxOutDecoder::new() -> Self
pub const fn bitcoin_primitives::transaction::Version::is_standard(self) -> bool
pub const fn bitcoin_primitives::transaction::Version::maybe_non_standard(version: u32) -> Self
pub const fn bitcoin_primitives::transaction::Version::to_u32(self) -> u32
@@ -1315,6 +1327,7 @@ pub fn bitcoin_primitives::block::Block<bitcoin_primitives::block::Unchecked>::d
pub fn bitcoin_primitives::block::Block<bitcoin_primitives::block::Unchecked>::into_parts(self) -> (bitcoin_primitives::block::Header, alloc::vec::Vec<bitcoin_primitives::transaction::Transaction>)
pub fn bitcoin_primitives::block::Block<bitcoin_primitives::block::Unchecked>::new_unchecked(header: bitcoin_primitives::block::Header, transactions: alloc::vec::Vec<bitcoin_primitives::transaction::Transaction>) -> Self
pub fn bitcoin_primitives::block::Block<bitcoin_primitives::block::Unchecked>::validate(self) -> core::result::Result<bitcoin_primitives::block::Block<bitcoin_primitives::block::Checked>, bitcoin_primitives::block::InvalidBlockError>
+pub fn bitcoin_primitives::block::BlockDecoder::default() -> Self
pub fn bitcoin_primitives::block::BlockDecoder::end(self) -> core::result::Result<Self::Output, Self::Error>
pub fn bitcoin_primitives::block::BlockDecoder::push_bytes(&mut self, bytes: &mut &[u8]) -> core::result::Result<bool, Self::Error>
pub fn bitcoin_primitives::block::BlockDecoder::read_limit(&self) -> usize
@@ -1350,6 +1363,7 @@ pub fn bitcoin_primitives::block::Header::eq(&self, other: &bitcoin_primitives::
pub fn bitcoin_primitives::block::Header::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result
pub fn bitcoin_primitives::block::Header::hash<__H: core::hash::Hasher>(&self, state: &mut __H)
pub fn bitcoin_primitives::block::Header::partial_cmp(&self, other: &bitcoin_primitives::block::Header) -> core::option::Option<core::cmp::Ordering>
+pub fn bitcoin_primitives::block::HeaderDecoder::default() -> Self
pub fn bitcoin_primitives::block::HeaderDecoder::end(self) -> core::result::Result<Self::Output, Self::Error>
pub fn bitcoin_primitives::block::HeaderDecoder::push_bytes(&mut self, bytes: &mut &[u8]) -> core::result::Result<bool, Self::Error>
pub fn bitcoin_primitives::block::HeaderDecoder::read_limit(&self) -> usize
@@ -1588,6 +1602,7 @@ pub fn bitcoin_primitives::transaction::TxIn::eq(&self, other: &bitcoin_primitiv
pub fn bitcoin_primitives::transaction::TxIn::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result
pub fn bitcoin_primitives::transaction::TxIn::hash<__H: core::hash::Hasher>(&self, state: &mut __H)
pub fn bitcoin_primitives::transaction::TxIn::partial_cmp(&self, other: &bitcoin_primitives::transaction::TxIn) -> core::option::Option<core::cmp::Ordering>
+pub fn bitcoin_primitives::transaction::TxInDecoder::default() -> Self
pub fn bitcoin_primitives::transaction::TxInDecoder::end(self) -> core::result::Result<Self::Output, Self::Error>
pub fn bitcoin_primitives::transaction::TxInDecoder::push_bytes(&mut self, bytes: &mut &[u8]) -> core::result::Result<bool, Self::Error>
pub fn bitcoin_primitives::transaction::TxInDecoder::read_limit(&self) -> usize
@@ -1605,6 +1620,7 @@ pub fn bitcoin_primitives::transaction::TxOut::eq(&self, other: &bitcoin_primiti
pub fn bitcoin_primitives::transaction::TxOut::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result
pub fn bitcoin_primitives::transaction::TxOut::hash<__H: core::hash::Hasher>(&self, state: &mut __H)
pub fn bitcoin_primitives::transaction::TxOut::partial_cmp(&self, other: &bitcoin_primitives::transaction::TxOut) -> core::option::Option<core::cmp::Ordering>
+pub fn bitcoin_primitives::transaction::TxOutDecoder::default() -> Self
pub fn bitcoin_primitives::transaction::TxOutDecoder::end(self) -> core::result::Result<Self::Output, Self::Error>
pub fn bitcoin_primitives::transaction::TxOutDecoder::push_bytes(&mut self, bytes: &mut &[u8]) -> core::result::Result<bool, Self::Error>
pub fn bitcoin_primitives::transaction::TxOutDecoder::read_limit(&self) -> usize
diff --git a/api/primitives/no-features.txt b/api/primitives/no-features.txt
index f2693072..d88b934f 100644
--- a/api/primitives/no-features.txt
+++ b/api/primitives/no-features.txt
@@ -28,6 +28,7 @@ impl bitcoin_primitives::WitnessMerkleNode
impl bitcoin_primitives::Wtxid
impl bitcoin_primitives::block::BlockHashDecoder
impl bitcoin_primitives::block::Header
+impl bitcoin_primitives::block::HeaderDecoder
impl bitcoin_primitives::block::Version
impl bitcoin_primitives::block::VersionDecoder
impl bitcoin_primitives::merkle_tree::TxMerkleNodeDecoder
@@ -145,6 +146,7 @@ impl core::convert::From<core::convert::Infallible> for bitcoin_primitives::bloc
impl core::convert::From<core::convert::Infallible> for bitcoin_primitives::merkle_tree::TxMerkleNodeDecoderError
impl core::convert::From<core::convert::Infallible> for bitcoin_primitives::transaction::VersionDecoderError
impl core::default::Default for bitcoin_primitives::block::BlockHashDecoder
+impl core::default::Default for bitcoin_primitives::block::HeaderDecoder
impl core::default::Default for bitcoin_primitives::block::Version
impl core::default::Default for bitcoin_primitives::block::VersionDecoder
impl core::default::Default for bitcoin_primitives::merkle_tree::TxMerkleNodeDecoder
@@ -494,6 +496,7 @@ pub const fn bitcoin_primitives::Wtxid::as_byte_array(&self) -> &[u8; 32]
pub const fn bitcoin_primitives::Wtxid::from_byte_array(bytes: [u8; 32]) -> Self
pub const fn bitcoin_primitives::Wtxid::to_byte_array(self) -> [u8; 32]
pub const fn bitcoin_primitives::block::BlockHashDecoder::new() -> Self
+pub const fn bitcoin_primitives::block::HeaderDecoder::new() -> Self
pub const fn bitcoin_primitives::block::Version::from_consensus(v: i32) -> Self
pub const fn bitcoin_primitives::block::Version::to_consensus(self) -> i32
pub const fn bitcoin_primitives::block::VersionDecoder::new() -> Self
@@ -608,6 +611,7 @@ pub fn bitcoin_primitives::block::Header::eq(&self, other: &bitcoin_primitives::
pub fn bitcoin_primitives::block::Header::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result
pub fn bitcoin_primitives::block::Header::hash<__H: core::hash::Hasher>(&self, state: &mut __H)
pub fn bitcoin_primitives::block::Header::partial_cmp(&self, other: &bitcoin_primitives::block::Header) -> core::option::Option<core::cmp::Ordering>
+pub fn bitcoin_primitives::block::HeaderDecoder::default() -> Self
pub fn bitcoin_primitives::block::HeaderDecoder::end(self) -> core::result::Result<Self::Output, Self::Error>
pub fn bitcoin_primitives::block::HeaderDecoder::push_bytes(&mut self, bytes: &mut &[u8]) -> core::result::Result<bool, Self::Error>
pub fn bitcoin_primitives::block::HeaderDecoder::read_limit(&self) -> usize
Why this scored 15/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.