You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
b3f4c184e73ca5ea0afb6b09e956e0f0d66c2833 Correct redeem script/script code caluclation (sanket1729)
e9b53e95fa2435526b9b63f3108356d233d3b569 Update psbt finalize_* APIs to consume self (sanket1729)
472f803abb68046f004253ab470d08e3e2b99109 Update Psbt APIs with _mut and _input support (sanket1729)
daa80b7723cb313f549ac5975865bc9cdade1b4e Update finalize API to return vector of errors (sanket1729)
68cccb32a3e96048b57b26a697f54b14b0ada9c2 Add support for finalize input (sanket1729)
5fa86b25e46a57f5c90d9d2f8b5abbeed5ba4ddf Move input sighash type match checks into sanity_check (sanket1729)
49fe1cacee06e7fa771a0720a3bc5285f63863e9 Introduce PsbtExt trait (sanket1729)
0c64a7014c69a6cc8b9882b8866d138fd8db37f9 Add more auto-derives to conversion error (sanket1729)
30fa4093387694848e6b06890cd2bdf88a808b4b Remove local function script_is_v1_p2tr (sanket1729)
Pull request description:
Based on #301
ACKs for top commit:
apoelstra:
ACK b3f4c184e73ca5ea0afb6b09e956e0f0d66c2833
Tree-SHA512: eaee7b50357c8dad94f11baf6f7116fe982c17b284f3d10f64d85cf4cd91b1c696d46f50b2f8b223dd5abd6d1243e77fa1f57f19a4253c78df747f90b423e3d9
Copy file name to clipboardExpand all lines: examples/psbt.rs
+3-4Lines changed: 3 additions & 4 deletions
Original file line number
Diff line number
Diff line change
@@ -3,8 +3,7 @@ extern crate miniscript;
3
3
4
4
use bitcoin::consensus::encode::deserialize;
5
5
use bitcoin::hashes::hex::FromHex;
6
-
7
-
use miniscript::psbt::{extract, finalize};
6
+
use miniscript::psbt::PsbtExt;
8
7
9
8
fnmain(){
10
9
// Test vectors from BIP 174
@@ -18,13 +17,13 @@ fn main() {
18
17
let secp = bitcoin::secp256k1::Secp256k1::verification_only();
19
18
// Assuming all partial sigs are filled in.
20
19
// Construct a generic finalizer
21
-
finalize(&mutpsbt,&secp).unwrap();
20
+
psbt.finalize_mut(&secp).unwrap();
22
21
// println!("{:?}", psbt);
23
22
24
23
assert_eq!(psbt, expected_finalized_psbt);
25
24
26
25
// Extract the transaction from the psbt
27
-
let tx = extract(&psbt,&secp).unwrap();
26
+
let tx = psbt.extract(&secp).unwrap();
28
27
29
28
let expected: bitcoin::Transaction = deserialize(&Vec::<u8>::from_hex("0200000000010258e87a21b56daf0c23be8e7070456c336f7cbaa5c8757924f545887bb2abdd7500000000da00473044022074018ad4180097b873323c0015720b3684cc8123891048e7dbcd9b55ad679c99022073d369b740e3eb53dcefa33823c8070514ca55a7dd9544f157c167913261118c01483045022100f61038b308dc1da865a34852746f015772934208c6d24454393cd99bdf2217770220056e675a675a6d0a02b85b14e5e29074d8a25a9b5760bea2816f661910a006ea01475221029583bf39ae0a609747ad199addd634fa6108559d6c5cd39b4c2183f1ab96e07f2102dab61ff49a14db6a7d02b0cd1fbb78fc4b18312b5b4e54dae4dba2fbfef536d752aeffffffff838d0427d0ec650a68aa46bb0b098aea4422c071b2ca78352a077959d07cea1d01000000232200208c2353173743b595dfb4a07b72ba8e42e3797da74e87fe7d9d7497e3b2028903ffffffff0270aaf00800000000160014d85c2b71d0060b09c9886aeb815e50991dda124d00e1f5050000000016001400aea9a2e5f0f876a588df5546e8742d1d87008f000400473044022062eb7a556107a7c73f45ac4ab5a1dddf6f7075fb1275969a7f383efff784bcb202200c05dbb7470dbf2f08557dd356c7325c1ed30913e996cd3840945db12228da5f01473044022065f45ba5998b59a27ffe1a7bed016af1f1f90d54b3aa8f7450aa5f56a25103bd02207f724703ad1edb96680b284b56d4ffcb88f7fb759eabbe08aa30f29b851383d20147522103089dc10c7ac6db54f91329af617333db388cead0c231f723379d1b99030b02dc21023add904f3d6dcf59ddb906b0dee23529b7ffb9ed50e5e86151926860221f0e7352ae00000000").unwrap()).unwrap();
let expected: bitcoin::util::psbt::PartiallySignedTransaction = deserialize(&Vec::<u8>::from_hex("70736274ff01009a020000000258e87a21b56daf0c23be8e7070456c336f7cbaa5c8757924f545887bb2abdd750000000000ffffffff838d0427d0ec650a68aa46bb0b098aea4422c071b2ca78352a077959d07cea1d0100000000ffffffff0270aaf00800000000160014d85c2b71d0060b09c9886aeb815e50991dda124d00e1f5050000000016001400aea9a2e5f0f876a588df5546e8742d1d87008f00000000000100bb0200000001aad73931018bd25f84ae400b68848be09db706eac2ac18298babee71ab656f8b0000000048473044022058f6fc7c6a33e1b31548d481c826c015bd30135aad42cd67790dab66d2ad243b02204a1ced2604c6735b6393e5b41691dd78b00f0c5942fb9f751856faa938157dba01feffffff0280f0fa020000000017a9140fb9463421696b82c833af241c78c17ddbde493487d0f20a270100000017a91429ca74f8a08f81999428185c97b5d852e4063f6187650000000107da00473044022074018ad4180097b873323c0015720b3684cc8123891048e7dbcd9b55ad679c99022073d369b740e3eb53dcefa33823c8070514ca55a7dd9544f157c167913261118c01483045022100f61038b308dc1da865a34852746f015772934208c6d24454393cd99bdf2217770220056e675a675a6d0a02b85b14e5e29074d8a25a9b5760bea2816f661910a006ea01475221029583bf39ae0a609747ad199addd634fa6108559d6c5cd39b4c2183f1ab96e07f2102dab61ff49a14db6a7d02b0cd1fbb78fc4b18312b5b4e54dae4dba2fbfef536d752ae0001012000c2eb0b0000000017a914b7f5faf40e3d40a5a459b1db3535f2b72fa921e8870107232200208c2353173743b595dfb4a07b72ba8e42e3797da74e87fe7d9d7497e3b20289030108da0400473044022062eb7a556107a7c73f45ac4ab5a1dddf6f7075fb1275969a7f383efff784bcb202200c05dbb7470dbf2f08557dd356c7325c1ed30913e996cd3840945db12228da5f01473044022065f45ba5998b59a27ffe1a7bed016af1f1f90d54b3aa8f7450aa5f56a25103bd02207f724703ad1edb96680b284b56d4ffcb88f7fb759eabbe08aa30f29b851383d20147522103089dc10c7ac6db54f91329af617333db388cead0c231f723379d1b99030b02dc21023add904f3d6dcf59ddb906b0dee23529b7ffb9ed50e5e86151926860221f0e7352ae00220203a9a4c37f5996d3aa25dbac6b570af0650394492942460b354753ed9eeca5877110d90c6a4f000000800000008004000080002202027f6399757d2eff55a136ad02c684b1838b6556e5f1b6b34282a94b6b5005109610d90c6a4f00000080000000800500008000").unwrap()).unwrap();
0 commit comments