Skip to content

Commit 25e1d8d

Browse files
committed
Inline script_pubkey ScriptBuf extension trait
The separation of extension traits into the `script_pubkey` module does not assist clarity and makes it less ergonomic for users having to import traits from different locations. We can put these methods on the `script::ScriptBufExt` and fix both issues. Once this is done we can remove the `script_pubkey` module entirely.
1 parent afd3607 commit 25e1d8d

File tree

14 files changed

+127
-157
lines changed

14 files changed

+127
-157
lines changed

bitcoin/examples/ecdsa-psbt-simple.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,11 @@
2424
//! The miner's fee will be 10,000 satoshis.
2525
use std::collections::BTreeMap;
2626

27-
use bitcoin::address::script_pubkey::ScriptBufExt as _;
2827
use bitcoin::bip32::{ChildNumber, DerivationPath, Fingerprint, IntoDerivationPath, Xpriv, Xpub};
2928
use bitcoin::key::WPubkeyHash;
3029
use bitcoin::locktime::absolute;
3130
use bitcoin::psbt::Input;
31+
use bitcoin::script::ScriptBufExt as _;
3232
use bitcoin::secp256k1::{Secp256k1, Signing};
3333
use bitcoin::witness::WitnessExt as _;
3434
use bitcoin::{

bitcoin/examples/ecdsa-psbt.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@
3131
use std::collections::BTreeMap;
3232
use std::fmt;
3333

34-
use bitcoin::address::script_pubkey::ScriptBufExt as _;
3534
use bitcoin::bip32::{ChildNumber, DerivationPath, Fingerprint, IntoDerivationPath, Xpriv, Xpub};
3635
use bitcoin::consensus::encode;
3736
use bitcoin::consensus_validation::TransactionExt as _;

bitcoin/examples/sighash.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
use bitcoin::address::script_pubkey::ScriptBufExt as _;
2-
use bitcoin::script::ScriptExt as _;
1+
use bitcoin::script::{ScriptBufExt as _, ScriptExt as _};
32
use bitcoin::{
43
consensus, ecdsa, sighash, Amount, CompressedPublicKey, Script, ScriptBuf, Transaction,
54
};

bitcoin/examples/sign-tx-segwit-v0.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22

33
//! Demonstrate creating a transaction that spends to and from p2wpkh outputs.
44
5-
use bitcoin::address::script_pubkey::ScriptBufExt as _;
65
use bitcoin::key::WPubkeyHash;
76
use bitcoin::locktime::absolute;
7+
use bitcoin::script::ScriptBufExt as _;
88
use bitcoin::secp256k1::{rand, Message, Secp256k1, SecretKey, Signing};
99
use bitcoin::sighash::{EcdsaSighashType, SighashCache};
1010
use bitcoin::witness::WitnessExt as _;

bitcoin/examples/sign-tx-taproot.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22

33
//! Demonstrate creating a transaction that spends to and from p2tr outputs.
44
5-
use bitcoin::address::script_pubkey::ScriptBufExt as _;
65
use bitcoin::key::{Keypair, TapTweak, TweakedKeypair, UntweakedPublicKey};
76
use bitcoin::locktime::absolute;
7+
use bitcoin::script::ScriptBufExt as _;
88
use bitcoin::secp256k1::{rand, Message, Secp256k1, SecretKey, Signing, Verification};
99
use bitcoin::sighash::{Prevouts, SighashCache, TapSighashType};
1010
use bitcoin::witness::WitnessExt as _;

bitcoin/examples/taproot-psbt-simple.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,11 @@
2222
//! The miner's fee will be 10,000 satoshis.
2323
use std::collections::BTreeMap;
2424

25-
use bitcoin::address::script_pubkey::ScriptBufExt as _;
2625
use bitcoin::bip32::{ChildNumber, DerivationPath, Fingerprint, IntoDerivationPath, Xpriv, Xpub};
2726
use bitcoin::key::UntweakedPublicKey;
2827
use bitcoin::locktime::absolute;
2928
use bitcoin::psbt::Input;
29+
use bitcoin::script::ScriptBufExt as _;
3030
use bitcoin::secp256k1::{Secp256k1, Signing};
3131
use bitcoin::witness::WitnessExt as _;
3232
use bitcoin::{

bitcoin/examples/taproot-psbt.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,6 @@ const UTXO_3: P2trUtxo = P2trUtxo {
7777

7878
use std::collections::BTreeMap;
7979

80-
use bitcoin::address::script_pubkey::ScriptBufExt as _;
8180
use bitcoin::bip32::{ChildNumber, DerivationPath, Fingerprint, Xpriv, Xpub};
8281
use bitcoin::consensus::encode;
8382
use bitcoin::consensus_validation::TransactionExt as _;

bitcoin/src/address/mod.rs

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@
4040
//! ```
4141
4242
pub mod error;
43-
pub mod script_pubkey;
4443

4544
use core::fmt;
4645
use core::marker::PhantomData;
@@ -52,7 +51,6 @@ use hashes::{hash160, HashEngine};
5251
use internals::array::ArrayExt;
5352
use secp256k1::{Secp256k1, Verification};
5453

55-
use crate::address::script_pubkey::ScriptBufExt as _;
5654
use crate::constants::{
5755
PUBKEY_ADDRESS_PREFIX_MAIN, PUBKEY_ADDRESS_PREFIX_TEST, SCRIPT_ADDRESS_PREFIX_MAIN,
5856
SCRIPT_ADDRESS_PREFIX_TEST,
@@ -66,8 +64,8 @@ use crate::prelude::{String, ToOwned};
6664
use crate::script::witness_program::WitnessProgram;
6765
use crate::script::witness_version::WitnessVersion;
6866
use crate::script::{
69-
self, RedeemScriptSizeError, Script, ScriptBuf, ScriptExt as _, ScriptHash, WScriptHash,
70-
WitnessScriptSizeError,
67+
self, RedeemScriptSizeError, Script, ScriptBuf, ScriptBufExt as _, ScriptExt as _, ScriptHash,
68+
WScriptHash, WitnessScriptSizeError,
7169
};
7270
use crate::taproot::TapNodeHash;
7371

@@ -714,7 +712,7 @@ impl Address {
714712
Segwit { ref program, hrp: _ } => {
715713
let prog = program.program();
716714
let version = program.version();
717-
script_pubkey::new_witness_program_unchecked(version, prog)
715+
script::new_witness_program_unchecked(version, prog)
718716
}
719717
}
720718
}
@@ -1022,7 +1020,6 @@ mod tests {
10221020
use super::*;
10231021
use crate::network::Network::{Bitcoin, Testnet};
10241022
use crate::network::{params, TestnetVersion};
1025-
use crate::script::ScriptBufExt as _;
10261023

10271024
fn roundtrips(addr: &Address, network: Network) {
10281025
assert_eq!(

bitcoin/src/address/script_pubkey.rs

Lines changed: 0 additions & 139 deletions
This file was deleted.

bitcoin/src/blockdata/script/borrowed.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,15 @@ use super::{
1212
Builder, Instruction, InstructionIndices, Instructions, PushBytes, RedeemScriptSizeError,
1313
ScriptHash, WScriptHash, WitnessScriptSizeError,
1414
};
15-
use crate::address::script_pubkey::ScriptBufExt as _;
1615
use crate::consensus::{self, Encodable};
1716
use crate::key::{PublicKey, UntweakedPublicKey, WPubkeyHash};
1817
use crate::opcodes::all::*;
1918
use crate::opcodes::{self, Opcode};
2019
use crate::policy::{DUST_RELAY_TX_FEE, MAX_OP_RETURN_RELAY};
2120
use crate::prelude::{sink, String, ToString};
21+
use crate::script::{self, ScriptBufExt as _};
2222
use crate::taproot::{LeafVersion, TapLeafHash, TapNodeHash};
23-
use crate::{script, Amount, FeeRate, ScriptBuf};
23+
use crate::{Amount, FeeRate, ScriptBuf};
2424

2525
#[rustfmt::skip] // Keep public re-exports separate.
2626
#[doc(inline)]

0 commit comments

Comments
 (0)