Skip to content

Commit 7d48d0a

Browse files
Merge pull request #229 from BitGo/BTC-0.fix-reversed-txid
fix(wasm-utxo): display txid as string instead of reversed bytes
2 parents 397599a + a9af734 commit 7d48d0a

3 files changed

Lines changed: 28 additions & 29 deletions

File tree

packages/wasm-utxo/cli/test/fixtures/psbt_bitcoin_fullsigned.txt

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,37 +2,37 @@ psbt: None
22
├─ tx: None
33
│ ├─ version: 2i32
44
│ ├─ lock_time: 0u32
5-
│ ├─ txid: a74380ecd12e5c6e66f608c790daa4be6870f499581b3951cd65b4dcdfae7316 (32 bytes)
6-
│ ├─ ntxid: a74380ecd12e5c6e66f608c790daa4be6870f499581b3951cd65b4dcdfae7316 (32 bytes)
7-
│ ├─ wtxid: a74380ecd12e5c6e66f608c790daa4be6870f499581b3951cd65b4dcdfae7316 (32 bytes)
5+
│ ├─ txid: 1673aedfdcb465cd51391b5899f47068bea4da90c708f6666e5c2ed1ec8043a7
6+
│ ├─ ntxid: 1673aedfdcb465cd51391b5899f47068bea4da90c708f6666e5c2ed1ec8043a7
7+
│ ├─ wtxid: 1673aedfdcb465cd51391b5899f47068bea4da90c708f6666e5c2ed1ec8043a7
88
│ ├─ inputs: 6u64
99
│ │ ├─ input_0: None
10-
│ │ │ ├─ prev_txid: 0000000000000000000000000000000000000000000000000000000000000000 (32 bytes)
10+
│ │ │ ├─ prev_txid: 0000000000000000000000000000000000000000000000000000000000000000
1111
│ │ │ ├─ prev_vout: 0u32
1212
│ │ │ ├─ sequence: 4294967294u32
1313
│ │ │ └─ script_sig: (0 bytes)
1414
│ │ ├─ input_1: None
15-
│ │ │ ├─ prev_txid: 0000000000000000000000000000000000000000000000000000000000000000 (32 bytes)
15+
│ │ │ ├─ prev_txid: 0000000000000000000000000000000000000000000000000000000000000000
1616
│ │ │ ├─ prev_vout: 1u32
1717
│ │ │ ├─ sequence: 4294967294u32
1818
│ │ │ └─ script_sig: (0 bytes)
1919
│ │ ├─ input_2: None
20-
│ │ │ ├─ prev_txid: 0000000000000000000000000000000000000000000000000000000000000000 (32 bytes)
20+
│ │ │ ├─ prev_txid: 0000000000000000000000000000000000000000000000000000000000000000
2121
│ │ │ ├─ prev_vout: 2u32
2222
│ │ │ ├─ sequence: 4294967294u32
2323
│ │ │ └─ script_sig: (0 bytes)
2424
│ │ ├─ input_3: None
25-
│ │ │ ├─ prev_txid: 0000000000000000000000000000000000000000000000000000000000000000 (32 bytes)
25+
│ │ │ ├─ prev_txid: 0000000000000000000000000000000000000000000000000000000000000000
2626
│ │ │ ├─ prev_vout: 3u32
2727
│ │ │ ├─ sequence: 4294967294u32
2828
│ │ │ └─ script_sig: (0 bytes)
2929
│ │ ├─ input_4: None
30-
│ │ │ ├─ prev_txid: 0000000000000000000000000000000000000000000000000000000000000000 (32 bytes)
30+
│ │ │ ├─ prev_txid: 0000000000000000000000000000000000000000000000000000000000000000
3131
│ │ │ ├─ prev_vout: 4u32
3232
│ │ │ ├─ sequence: 4294967294u32
3333
│ │ │ └─ script_sig: (0 bytes)
3434
│ │ └─ input_5: None
35-
│ │ ├─ prev_txid: 0000000000000000000000000000000000000000000000000000000000000000 (32 bytes)
35+
│ │ ├─ prev_txid: 0000000000000000000000000000000000000000000000000000000000000000
3636
│ │ ├─ prev_vout: 5u32
3737
│ │ ├─ sequence: 4294967294u32
3838
│ │ └─ script_sig: (0 bytes)
@@ -84,7 +84,7 @@ psbt: None
8484
├─ version: 0u32
8585
├─ inputs: 6u64
8686
│ ├─ input_0: None
87-
│ │ ├─ non_witness_utxo: 4d1eb5dbcc8a214b5b448ce4497225c44a2963445fc5b1f5bd4526a36749677d (32 bytes)
87+
│ │ ├─ non_witness_utxo: 7d674967a32645bdf5b1c55f4463294ac4257249e48c445b4b218accdbb51e4d
8888
│ │ ├─ redeem_script: 210336ef228ffe9b8efffba052c32d334660dd1f8366cf8fe44ae5aa672b6b629095ac (35 bytes)
8989
│ │ │ └─ asm: OP_PUSHBYTES_33 0336ef228ffe9b8efffba052c32d334660dd1f8366cf8fe44ae5aa672b6b629095 OP_CHECKSIG
9090
│ │ ├─ signatures: 1u64
@@ -94,7 +94,7 @@ psbt: None
9494
│ │ ├─ sighash_type: 1u32
9595
│ │ └─ sighash_type: SIGHASH_ALL
9696
│ ├─ input_1: None
97-
│ │ ├─ non_witness_utxo: 15d5aba694f147bb8c4f12bbf60d331b183576c20bc2b779f44f35d2e3468906 (32 bytes)
97+
│ │ ├─ non_witness_utxo: 068946e3d2354ff479b7c20bc27635181b330df6bb124f8cbb47f194a6abd515
9898
│ │ ├─ redeem_script: 522102dd86907236b77a3bb7b64ce668cae4a25d48253f32e6ee0c3a34eaf89becfe142103f7b6baf47cbc61cda968fe73d78cb3bce0c88e7a9bc9abba5dac739d25b2046721033c34f9b46ff91498c3a56b8b2a8b752ecd0079337028bdd4e48045f8c6560e0253ae (105 bytes)
9999
│ │ │ └─ asm: OP_PUSHNUM_2 OP_PUSHBYTES_33 02dd86907236b77a3bb7b64ce668cae4a25d48253f32e6ee0c3a34eaf89becfe14 OP_PUSHBYTES_33 03f7b6baf47cbc61cda968fe73d78cb3bce0c88e7a9bc9abba5dac739d25b20467 OP_PUSHBYTES_33 033c34f9b46ff91498c3a56b8b2a8b752ecd0079337028bdd4e48045f8c6560e02 OP_PUSHNUM_3 OP_CHECKMULTISIG
100100
│ │ ├─ signatures: 2u64

packages/wasm-utxo/cli/test/fixtures/tx_bitcoin_fullsigned.txt

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,22 @@
11
tx: None
22
├─ version: 2i32
33
├─ lock_time: 0u32
4-
├─ txid: a4552cc9ccc8db06c214f1ae814e23f729c7697ff0a79e0de3aab9ec14eebfe4 (32 bytes)
5-
├─ ntxid: a74380ecd12e5c6e66f608c790daa4be6870f499581b3951cd65b4dcdfae7316 (32 bytes)
6-
├─ wtxid: a079ce928e643ded05e589af154aec4d821911a252e95a9c0eb1ae276722787a (32 bytes)
4+
├─ txid: e4bfee14ecb9aae30d9ea7f07f69c729f7234e81aef114c206dbc8ccc92c55a4
5+
├─ ntxid: 1673aedfdcb465cd51391b5899f47068bea4da90c708f6666e5c2ed1ec8043a7
6+
├─ wtxid: 7a78226727aeb10e9c5ae952a21119824dec4a15af89e505ed3d648e92ce79a0
77
├─ inputs: 6u64
88
│ ├─ input_0: None
9-
│ │ ├─ prev_txid: 0000000000000000000000000000000000000000000000000000000000000000 (32 bytes)
9+
│ │ ├─ prev_txid: 0000000000000000000000000000000000000000000000000000000000000000
1010
│ │ ├─ prev_vout: 0u32
1111
│ │ ├─ sequence: 4294967294u32
1212
│ │ └─ script_sig: 47304402203780ddb8eaddcbf7f2328996f9a827eab7fcca9e7e8e30e07a922f64f0d7af5a0220203ce27c1194638fbb2155f2e635293966e636a586362cfadbdaadcbdb7bac610123210336ef228ffe9b8efffba052c32d334660dd1f8366cf8fe44ae5aa672b6b629095ac (108 bytes)
1313
│ ├─ input_1: None
14-
│ │ ├─ prev_txid: 0000000000000000000000000000000000000000000000000000000000000000 (32 bytes)
14+
│ │ ├─ prev_txid: 0000000000000000000000000000000000000000000000000000000000000000
1515
│ │ ├─ prev_vout: 1u32
1616
│ │ ├─ sequence: 4294967294u32
1717
│ │ └─ script_sig: 0047304402206f0db45dc265718b44e1c0a5f5f986bd55c304fee8470d47baaa58b5905cb92d0220587758f798d87db5df57ea0424740e818f796be3381ee3dd25e18fa58f6d311901473044022056d4c049b474025c7c1d34125b02b2f3806b1007d42fba3cdb030383e2807b43022043246ddaad87b30e48d9c8a47341d292ff8a9890d595d7aa02773eb64ac33e77014c69522102dd86907236b77a3bb7b64ce668cae4a25d48253f32e6ee0c3a34eaf89becfe142103f7b6baf47cbc61cda968fe73d78cb3bce0c88e7a9bc9abba5dac739d25b2046721033c34f9b46ff91498c3a56b8b2a8b752ecd0079337028bdd4e48045f8c6560e0253ae (252 bytes)
1818
│ ├─ input_2: None
19-
│ │ ├─ prev_txid: 0000000000000000000000000000000000000000000000000000000000000000 (32 bytes)
19+
│ │ ├─ prev_txid: 0000000000000000000000000000000000000000000000000000000000000000
2020
│ │ ├─ prev_vout: 2u32
2121
│ │ ├─ sequence: 4294967294u32
2222
│ │ ├─ script_sig: 2200208224f2e5de25d91de7ae08f8744f98ac30a7c86e9c0fcf169279e520c2b8313a (35 bytes)
@@ -26,7 +26,7 @@ tx: None
2626
│ │ ├─ item_2: 304402206a7419475c4d18dfdb2fce7a0dfaefc8b1aad1af41d38431aa935d29bb7d91e0022077252e9ef649298616e7086006fa838578047c88257c31defe01a934d8edba1801 (71 bytes)
2727
│ │ └─ item_3: 522102d5878a4d1c23ea735d7146ef2e1094f08d118bf0e20ea09366077c6b086c49d62102804dae97fd1acbb46d2816f530f83119dccdcaf3f5dd4c4dabb8edccd04bc65c21022ddee7d0b3f7f894fca44650a72137908eb843432e6874cb873cc0f2d27a54d653ae (105 bytes)
2828
│ ├─ input_3: None
29-
│ │ ├─ prev_txid: 0000000000000000000000000000000000000000000000000000000000000000 (32 bytes)
29+
│ │ ├─ prev_txid: 0000000000000000000000000000000000000000000000000000000000000000
3030
│ │ ├─ prev_vout: 3u32
3131
│ │ ├─ sequence: 4294967294u32
3232
│ │ ├─ script_sig: (0 bytes)
@@ -36,7 +36,7 @@ tx: None
3636
│ │ ├─ item_2: 3044022066ab38e9f4ad3becba92a8a755acd761d469aaa96b689e86317bcab8f826a99302205f8a78d0cd2674fdf0fbcf709f2898f4543c0907a8670afbb743502d15aa15ca01 (71 bytes)
3737
│ │ └─ item_3: 522102e91c97d46914b51550679e3d2fa32f4faa3de76663d1fcc2d86ead788e852d642102ab00aad496ca72ffac27a32820636eaa4f8fe59cdc09500097a6d221bd00c20e2102794b2cbc176d694d8160b3c42d640b125aee2ce92d8c1f3055ab90b8ec4f800053ae (105 bytes)
3838
│ ├─ input_4: None
39-
│ │ ├─ prev_txid: 0000000000000000000000000000000000000000000000000000000000000000 (32 bytes)
39+
│ │ ├─ prev_txid: 0000000000000000000000000000000000000000000000000000000000000000
4040
│ │ ├─ prev_vout: 4u32
4141
│ │ ├─ sequence: 4294967294u32
4242
│ │ ├─ script_sig: (0 bytes)
@@ -46,7 +46,7 @@ tx: None
4646
│ │ ├─ item_2: 20bce391a0851301fad14c722167c15d78d55819f21f7ad246eacfd29840ff75c3ad207ea42acbb09754f509aeca81e87c37060b74d1146ef57ada9fcb78f1078f5467ac (68 bytes)
4747
│ │ └─ item_3: c1c8dcc9df48aeb7699370d871dbd787da545aeb249b4f46be8f6dceb26e411899aa0761196e48e5e008fa70fa593639a09acf1cb8a1761af965c2f78ad0d8e68c (65 bytes)
4848
│ └─ input_5: None
49-
│ ├─ prev_txid: 0000000000000000000000000000000000000000000000000000000000000000 (32 bytes)
49+
│ ├─ prev_txid: 0000000000000000000000000000000000000000000000000000000000000000
5050
│ ├─ prev_vout: 5u32
5151
│ ├─ sequence: 4294967294u32
5252
│ ├─ script_sig: (0 bytes)

packages/wasm-utxo/src/inspect/psbt.rs

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
/// This contains low-level parsing of PSBT into a node structure suitable for display
22
use crate::address::from_output_script_with_network;
33
use crate::bitcoin::consensus::Decodable;
4-
use crate::bitcoin::hashes::Hash;
54
use crate::bitcoin::psbt::Psbt;
65
use crate::bitcoin::{ScriptBuf, Transaction};
76
use crate::fixed_script_wallet::bitgo_psbt::{
@@ -250,7 +249,7 @@ fn tx_input_to_node(input: &crate::bitcoin::TxIn, index: usize) -> Node {
250249

251250
input_node.add_child(Node::new(
252251
"prev_txid",
253-
Primitive::Buffer(input.previous_output.txid.to_byte_array().to_vec()),
252+
Primitive::String(input.previous_output.txid.to_string()),
254253
));
255254
input_node.add_child(Node::new(
256255
"prev_vout",
@@ -325,7 +324,7 @@ fn psbt_input_to_node(input: &crate::bitcoin::psbt::Input, index: usize, network
325324
if let Some(utxo) = &input.non_witness_utxo {
326325
input_node.add_child(Node::new(
327326
"non_witness_utxo",
328-
Primitive::Buffer(utxo.compute_txid().to_byte_array().to_vec()),
327+
Primitive::String(utxo.compute_txid().to_string()),
329328
));
330329
}
331330

@@ -483,15 +482,15 @@ pub fn tx_to_node(tx: &Transaction, network: Network) -> Node {
483482
));
484483
tx_node.add_child(Node::new(
485484
"txid",
486-
Primitive::Buffer(tx.compute_txid().to_byte_array().to_vec()),
485+
Primitive::String(tx.compute_txid().to_string()),
487486
));
488487
tx_node.add_child(Node::new(
489488
"ntxid",
490-
Primitive::Buffer(tx.compute_ntxid().to_byte_array().to_vec()),
489+
Primitive::String(tx.compute_ntxid().to_string()),
491490
));
492491
tx_node.add_child(Node::new(
493492
"wtxid",
494-
Primitive::Buffer(tx.compute_wtxid().to_byte_array().to_vec()),
493+
Primitive::String(tx.compute_wtxid().to_string()),
495494
));
496495
tx_node.add_child(tx_inputs_to_node(&tx.input));
497496
tx_node.add_child(tx_outputs_to_node(&tx.output, network));
@@ -529,15 +528,15 @@ pub fn zcash_tx_to_node(parts: &ZcashTransactionParts, network: Network) -> Node
529528
));
530529
tx_node.add_child(Node::new(
531530
"txid",
532-
Primitive::Buffer(tx.compute_txid().to_byte_array().to_vec()),
531+
Primitive::String(tx.compute_txid().to_string()),
533532
));
534533
tx_node.add_child(Node::new(
535534
"ntxid",
536-
Primitive::Buffer(tx.compute_ntxid().to_byte_array().to_vec()),
535+
Primitive::String(tx.compute_ntxid().to_string()),
537536
));
538537
tx_node.add_child(Node::new(
539538
"wtxid",
540-
Primitive::Buffer(tx.compute_wtxid().to_byte_array().to_vec()),
539+
Primitive::String(tx.compute_wtxid().to_string()),
541540
));
542541
tx_node.add_child(tx_inputs_to_node(&tx.input));
543542
tx_node.add_child(tx_outputs_to_node(&tx.output, network));

0 commit comments

Comments
 (0)