1
|
|
|
var assert = require('assert'); |
2
|
|
|
var BtccomConverter = require("../lib/btccom.convert"); |
3
|
|
|
var network = { |
4
|
|
|
messagePrefix: '\u0018Bitcoin Signed Message:\n', |
5
|
|
|
bech32: 'bc', |
6
|
|
|
bip32: { public: 76067358, private: 76066276 }, |
7
|
|
|
pubKeyHash: 0, |
8
|
|
|
scriptHash: 5, |
9
|
|
|
wif: 128 |
10
|
|
|
}; |
11
|
|
|
var useNewCashAddr = true; |
12
|
|
|
var converter = new BtccomConverter(network, useNewCashAddr); |
13
|
|
|
|
14
|
|
|
describe("btccom.convert", function() { |
15
|
|
|
describe("convertBlock", function() { |
16
|
|
|
it("works", function(cb) { |
17
|
|
|
var input = { |
18
|
|
|
"data": { |
19
|
|
|
"height": 200000, |
20
|
|
|
"version": 2, |
21
|
|
|
"mrkl_root": "a08f8101f50fd9c9b3e5252aff4c1c1bd668f878fffaf3d0dbddeb029c307e88", |
22
|
|
|
"timestamp": 1348310759, |
23
|
|
|
"bits": 436591499, |
24
|
|
|
"nonce": 4158183488, |
25
|
|
|
"hash": "000000000000034a7dedef4a161fa058a2d67a173a90155f3a2fe6fc132e0ebf", |
26
|
|
|
"prev_block_hash": "00000000000003a20def7a05a77361b9657ff954b2f2080e135ea6f5970da215", |
27
|
|
|
"next_block_hash": "00000000000002e3269b8a00caf315115297c626f954770e8398470d7f387e1c", |
28
|
|
|
"size": 247533, |
29
|
|
|
"pool_difficulty": 5097877, |
30
|
|
|
"difficulty": 2864140.5078109736, |
31
|
|
|
"tx_count": 388, |
32
|
|
|
"reward_block": 5000000000, |
33
|
|
|
"reward_fees": 63517500, |
34
|
|
|
"created_at": 1492101215, |
35
|
|
|
"confirmations": 310251, |
36
|
|
|
"is_orphan": false, |
37
|
|
|
"curr_max_timestamp": 1348310759, |
38
|
|
|
"is_sw_block": false, |
39
|
|
|
"stripped_size": 247533, |
40
|
|
|
"weight": 990132, |
41
|
|
|
"extras": { |
42
|
|
|
"pool_name": "unknown", |
43
|
|
|
"pool_link": "" |
44
|
|
|
} |
45
|
|
|
}, |
46
|
|
|
"err_no": 0, |
47
|
|
|
"err_msg": null |
48
|
|
|
}; |
49
|
|
|
|
50
|
|
|
var output = converter.convertBlock(input); |
51
|
|
|
|
52
|
|
|
// assert fields match |
53
|
|
|
[ |
54
|
|
|
["height", "height"], |
55
|
|
|
["is_orphan", "is_orphan"], |
56
|
|
|
["merkleroot", "mrkl_root"], |
57
|
|
|
["hash", "hash"], |
58
|
|
|
["prev_block", "prev_block_hash"], |
59
|
|
|
["next_block", "next_block_hash"], |
60
|
|
|
["transactions", "tx_count"], |
61
|
|
|
].forEach(function(keyAssoc) { |
62
|
|
|
var blocktrailKey = keyAssoc[0]; |
63
|
|
|
var btccomKey = keyAssoc[1]; |
64
|
|
|
assert.ok(blocktrailKey in output); |
65
|
|
|
assert.ok(input.data[btccomKey] == output[blocktrailKey]) |
66
|
|
|
}); |
67
|
|
|
|
68
|
|
|
cb(); |
69
|
|
|
}); |
70
|
|
|
}); |
71
|
|
|
|
72
|
|
|
describe("convertBlockTxs", function() { |
73
|
|
|
it("works", function(cb) { |
74
|
|
|
var input = { |
75
|
|
|
"data": { |
76
|
|
|
"total_count": 388, |
77
|
|
|
"page": 1, |
78
|
|
|
"pagesize": 50, |
79
|
|
|
"list": [ |
80
|
|
|
{ |
81
|
|
|
"confirmations": 310251, |
82
|
|
|
"block_height": 200000, |
83
|
|
|
"block_time": 1348310759, |
84
|
|
|
"created_at": 1492101215, |
85
|
|
|
"fee": 63517500, |
86
|
|
|
"hash": "dbaf14e1c476e76ea05a8b71921a46d6b06f0a950f17c5f9f1a03b8fae467f10", |
87
|
|
|
"inputs_count": 1, |
88
|
|
|
"inputs_value": 0, |
89
|
|
|
"is_coinbase": true, |
90
|
|
|
"is_double_spend": false, |
91
|
|
|
"is_sw_tx": false, |
92
|
|
|
"weight": 768, |
93
|
|
|
"vsize": 192, |
94
|
|
|
"witness_hash": "dbaf14e1c476e76ea05a8b71921a46d6b06f0a950f17c5f9f1a03b8fae467f10", |
95
|
|
|
"lock_time": 0, |
96
|
|
|
"outputs_count": 1, |
97
|
|
|
"outputs_value": 5063517500, |
98
|
|
|
"size": 192, |
99
|
|
|
"sigops": 4, |
100
|
|
|
"version": 1, |
101
|
|
|
"inputs": [ |
102
|
|
|
{ |
103
|
|
|
"prev_addresses": [], |
104
|
|
|
"prev_position": -1, |
105
|
|
|
"prev_tx_hash": "0000000000000000000000000000000000000000000000000000000000000000", |
106
|
|
|
"prev_type": "NONSTANDARD", |
107
|
|
|
"prev_value": 0, |
108
|
|
|
"sequence": 4294967295, |
109
|
|
|
"script_asm": "", |
110
|
|
|
"script_hex": "03400d0302ef02062f503253482f522cfabe6d6dd90d39663d10f8fd25ec88338295d4c6ce1c90d4aeb368d8bdbadcc1da3b635801000000000000000474073e03", |
111
|
|
|
"witness": [] |
112
|
|
|
} |
113
|
|
|
], |
114
|
|
|
"outputs": [ |
115
|
|
|
{ |
116
|
|
|
"addresses": [ |
117
|
|
|
"1MdYC22Gmjp2ejVPCxyYjFyWbQCYTGhGq8" |
118
|
|
|
], |
119
|
|
|
"value": 5063517500, |
120
|
|
|
"type": "P2PKH_PUBKEY", |
121
|
|
|
"script_asm": "04b0bd634234abbb1ba1e986e884185c61cf43e001f9137f23c2c409273eb16e6537a576782eba668a7ef8bd3b3cfb1edb7117ab65129b8a2e681f3c1e0908ef7b OP_CHECKSIG", |
122
|
|
|
"script_hex": "4104b0bd634234abbb1ba1e986e884185c61cf43e001f9137f23c2c409273eb16e6537a576782eba668a7ef8bd3b3cfb1edb7117ab65129b8a2e681f3c1e0908ef7bac", |
123
|
|
|
"spent_by_tx": "5c76eb4dfb0941856a229833ef05b2f5c669dadc98ed2a34ea11974cacba9dc7", |
124
|
|
|
"spent_by_tx_position": 0 |
125
|
|
|
} |
126
|
|
|
] |
127
|
|
|
}, |
128
|
|
|
{ |
129
|
|
|
"confirmations": 310251, |
130
|
|
|
"block_height": 200000, |
131
|
|
|
"block_time": 1348310759, |
132
|
|
|
"created_at": 1492101215, |
133
|
|
|
"fee": 0, |
134
|
|
|
"hash": "ee475443f1fbfff84ffba43ba092a70d291df233bd1428f3d09f7bd1a6054a1f", |
135
|
|
|
"inputs_count": 1, |
136
|
|
|
"inputs_value": 10212000000, |
137
|
|
|
"is_coinbase": false, |
138
|
|
|
"is_double_spend": false, |
139
|
|
|
"is_sw_tx": false, |
140
|
|
|
"weight": 904, |
141
|
|
|
"vsize": 226, |
142
|
|
|
"witness_hash": "ee475443f1fbfff84ffba43ba092a70d291df233bd1428f3d09f7bd1a6054a1f", |
143
|
|
|
"lock_time": 0, |
144
|
|
|
"outputs_count": 2, |
145
|
|
|
"outputs_value": 10212000000, |
146
|
|
|
"size": 226, |
147
|
|
|
"sigops": 8, |
148
|
|
|
"version": 1, |
149
|
|
|
"inputs": [ |
150
|
|
|
{ |
151
|
|
|
"prev_addresses": [ |
152
|
|
|
"1CfD77hupeUvFwBPxZ2fA8iyWmVwQY22oh" |
153
|
|
|
], |
154
|
|
|
"prev_position": 1, |
155
|
|
|
"prev_tx_hash": "6e046b9c7683b5887bbde42ec358542ffe9c250306edb2d0cf386394aa96ee10", |
156
|
|
|
"prev_type": "P2PKH", |
157
|
|
|
"prev_value": 10212000000, |
158
|
|
|
"sequence": 4294967295, |
159
|
|
|
"script_asm": "3045022100e5e4749d539a163039769f52e1ebc8e6f62e39387d61e1a305bd722116cded6c022014924b745dd02194fe6b5cb8ac88ee8e9a2aede89e680dcea6169ea696e24d52[ALL] 02b4b754609b46b5d09644c2161f1767b72b93847ce8154d795f95d31031a08aa2", |
160
|
|
|
"script_hex": "483045022100e5e4749d539a163039769f52e1ebc8e6f62e39387d61e1a305bd722116cded6c022014924b745dd02194fe6b5cb8ac88ee8e9a2aede89e680dcea6169ea696e24d52012102b4b754609b46b5d09644c2161f1767b72b93847ce8154d795f95d31031a08aa2", |
161
|
|
|
"witness": [] |
162
|
|
|
} |
163
|
|
|
], |
164
|
|
|
"outputs": [ |
165
|
|
|
{ |
166
|
|
|
"addresses": [ |
167
|
|
|
"1FhNPRh1TxVidoKkWFEpdmK5RXw9vG1KUb" |
168
|
|
|
], |
169
|
|
|
"value": 5586000000, |
170
|
|
|
"type": "P2PKH", |
171
|
|
|
"script_asm": "OP_DUP OP_HASH160 a134408afa258a50ed7a1d9817f26b63cc9002cc OP_EQUALVERIFY OP_CHECKSIG", |
172
|
|
|
"script_hex": "76a914a134408afa258a50ed7a1d9817f26b63cc9002cc88ac", |
173
|
|
|
"spent_by_tx": "12c7db0b0f4baae58ee1be0fd925fbbf7588ea3339f38557978015ba120ca086", |
174
|
|
|
"spent_by_tx_position": 0 |
175
|
|
|
}, |
176
|
|
|
{ |
177
|
|
|
"addresses": [ |
178
|
|
|
"1QE7Tazy1uHD1utCb1fCW6aLF3RZ1sNwd2" |
179
|
|
|
], |
180
|
|
|
"value": 4626000000, |
181
|
|
|
"type": "P2PKH", |
182
|
|
|
"script_asm": "OP_DUP OP_HASH160 fec5b1145596b35f59f8be1daf169f3759421433 OP_EQUALVERIFY OP_CHECKSIG", |
183
|
|
|
"script_hex": "76a914fec5b1145596b35f59f8be1daf169f375942143388ac", |
184
|
|
|
"spent_by_tx": "6cf0a98e6290c343c8eed9373ec63329a5147a491974d3a146bdbf466978b306", |
185
|
|
|
"spent_by_tx_position": 0 |
186
|
|
|
} |
187
|
|
|
] |
188
|
|
|
}, |
189
|
|
|
{ |
190
|
|
|
"confirmations": 310251, |
191
|
|
|
"block_height": 200000, |
192
|
|
|
"block_time": 1348310759, |
193
|
|
|
"created_at": 1492101215, |
194
|
|
|
"fee": 0, |
195
|
|
|
"hash": "e03a9a4b5c557f6ee3400a29ff1475d1df73e9cddb48c2391abdc391d8c1504a", |
196
|
|
|
"inputs_count": 1, |
197
|
|
|
"inputs_value": 9500000000, |
198
|
|
|
"is_coinbase": false, |
199
|
|
|
"is_double_spend": false, |
200
|
|
|
"is_sw_tx": false, |
201
|
|
|
"weight": 900, |
202
|
|
|
"vsize": 225, |
203
|
|
|
"witness_hash": "e03a9a4b5c557f6ee3400a29ff1475d1df73e9cddb48c2391abdc391d8c1504a", |
204
|
|
|
"lock_time": 0, |
205
|
|
|
"outputs_count": 2, |
206
|
|
|
"outputs_value": 9500000000, |
207
|
|
|
"size": 225, |
208
|
|
|
"sigops": 8, |
209
|
|
|
"version": 1, |
210
|
|
|
"inputs": [ |
211
|
|
|
{ |
212
|
|
|
"prev_addresses": [ |
213
|
|
|
"1DC8mbgdVFNZn7ie6wUVGegKHsqvKkN7Qn" |
214
|
|
|
], |
215
|
|
|
"prev_position": 0, |
216
|
|
|
"prev_tx_hash": "0530375a5bf4ea9a82494fcb5ef4a61076c2af807982076fa810851f4bc31c09", |
217
|
|
|
"prev_type": "P2PKH", |
218
|
|
|
"prev_value": 9500000000, |
219
|
|
|
"sequence": 4294967295, |
220
|
|
|
"script_asm": "304402202b5869e0b4e711784daecd511f9dadf28e37113ef5054a6898d0367034afb067022014dfd2f58da949550ddc4ebb1135527cdbc48b25c6eb6388cc88231fd7ea04a9[ALL] 02fec863d4d0baf5e01a9bd9c59b790bbf683c5b7b6624d7aa7ab9405c5fdb9786", |
221
|
|
|
"script_hex": "47304402202b5869e0b4e711784daecd511f9dadf28e37113ef5054a6898d0367034afb067022014dfd2f58da949550ddc4ebb1135527cdbc48b25c6eb6388cc88231fd7ea04a9012102fec863d4d0baf5e01a9bd9c59b790bbf683c5b7b6624d7aa7ab9405c5fdb9786", |
222
|
|
|
"witness": [] |
223
|
|
|
} |
224
|
|
|
], |
225
|
|
|
"outputs": [ |
226
|
|
|
{ |
227
|
|
|
"addresses": [ |
228
|
|
|
"1HtF7xbaDwJu1j5sKpetG91xr4AZHYmJTL" |
229
|
|
|
], |
230
|
|
|
"value": 9400000000, |
231
|
|
|
"type": "P2PKH", |
232
|
|
|
"script_asm": "OP_DUP OP_HASH160 b933036b1f143e6ee5f9038c4205f6bbe41e49cc OP_EQUALVERIFY OP_CHECKSIG", |
233
|
|
|
"script_hex": "76a914b933036b1f143e6ee5f9038c4205f6bbe41e49cc88ac", |
234
|
|
|
"spent_by_tx": "360c0ee799aa6e00032f87d62751d5a20cd9e6c6245f6420971647c45aca59e9", |
235
|
|
|
"spent_by_tx_position": 0 |
236
|
|
|
}, |
237
|
|
|
{ |
238
|
|
|
"addresses": [ |
239
|
|
|
"1AQHgGfYswNkput7vzGzCUUzH4wQQkWKXr" |
240
|
|
|
], |
241
|
|
|
"value": 100000000, |
242
|
|
|
"type": "P2PKH", |
243
|
|
|
"script_asm": "OP_DUP OP_HASH160 67209ed8971b9bdf4147cd25e5f09c77f43c0dac OP_EQUALVERIFY OP_CHECKSIG", |
244
|
|
|
"script_hex": "76a91467209ed8971b9bdf4147cd25e5f09c77f43c0dac88ac", |
245
|
|
|
"spent_by_tx": "4f67254491474ae03d8e023fae4bf249e1f81b07efb6ea763a13c9bc7b4210b3", |
246
|
|
|
"spent_by_tx_position": 1 |
247
|
|
|
} |
248
|
|
|
] |
249
|
|
|
}, |
250
|
|
|
{ |
251
|
|
|
"confirmations": 310251, |
252
|
|
|
"block_height": 200000, |
253
|
|
|
"block_time": 1348310759, |
254
|
|
|
"created_at": 1492101215, |
255
|
|
|
"fee": 0, |
256
|
|
|
"hash": "ffa0267c8f2af736858894d6f3e5081a05e2ec16dc98f78a80f376ce35077491", |
257
|
|
|
"inputs_count": 1, |
258
|
|
|
"inputs_value": 37325663465, |
259
|
|
|
"is_coinbase": false, |
260
|
|
|
"is_double_spend": false, |
261
|
|
|
"is_sw_tx": false, |
262
|
|
|
"weight": 1032, |
263
|
|
|
"vsize": 258, |
264
|
|
|
"witness_hash": "ffa0267c8f2af736858894d6f3e5081a05e2ec16dc98f78a80f376ce35077491", |
265
|
|
|
"lock_time": 0, |
266
|
|
|
"outputs_count": 2, |
267
|
|
|
"outputs_value": 37325663465, |
268
|
|
|
"size": 258, |
269
|
|
|
"sigops": 8, |
270
|
|
|
"version": 1, |
271
|
|
|
"inputs": [ |
272
|
|
|
{ |
273
|
|
|
"prev_addresses": [ |
274
|
|
|
"1AGt1P3fhCF9MUue3dheegBZgGVHeLAtLr" |
275
|
|
|
], |
276
|
|
|
"prev_position": 1, |
277
|
|
|
"prev_tx_hash": "1fa6ecf02e5de2001e4aec6d3e90b5ef6d81aead39e7f04f303e6c8415547bba", |
278
|
|
|
"prev_type": "P2PKH", |
279
|
|
|
"prev_value": 37325663465, |
280
|
|
|
"sequence": 4294967295, |
281
|
|
|
"script_asm": "3045022001b572518fe610121b777286b424d89ba73fe503ff440458f01361a29348248b022100fa1afae0ccf3007d208605662685dd57e6940066ae6be81aa8b2af319060fceb[ALL] 04f28840b52c60c0fa041b9f4b2fa3dd00bccd71c0ab03f4db3c4295a23b117535fdd6d34787f95870d51ec245c800d851dd8509de42c47a0dc7a09300053110b8", |
282
|
|
|
"script_hex": "483045022001b572518fe610121b777286b424d89ba73fe503ff440458f01361a29348248b022100fa1afae0ccf3007d208605662685dd57e6940066ae6be81aa8b2af319060fceb014104f28840b52c60c0fa041b9f4b2fa3dd00bccd71c0ab03f4db3c4295a23b117535fdd6d34787f95870d51ec245c800d851dd8509de42c47a0dc7a09300053110b8", |
283
|
|
|
"witness": [] |
284
|
|
|
} |
285
|
|
|
], |
286
|
|
|
"outputs": [ |
287
|
|
|
{ |
288
|
|
|
"addresses": [ |
289
|
|
|
"1D5Em12TqtZtX3LJHYiGjarKCVss4nMmGP" |
290
|
|
|
], |
291
|
|
|
"value": 17749527722, |
292
|
|
|
"type": "P2PKH", |
293
|
|
|
"script_asm": "OP_DUP OP_HASH160 846ea88b63aa1dbf265a33127f518974402870bd OP_EQUALVERIFY OP_CHECKSIG", |
294
|
|
|
"script_hex": "76a914846ea88b63aa1dbf265a33127f518974402870bd88ac", |
295
|
|
|
"spent_by_tx": "0e6641d59cbcbbb2df61f1f80b044642dd68916096de00f9d9e4f0106e148d2c", |
296
|
|
|
"spent_by_tx_position": 1 |
297
|
|
|
}, |
298
|
|
|
{ |
299
|
|
|
"addresses": [ |
300
|
|
|
"13b9rHKTNBMdKWmoiKM8o7Gx5zkvJwZG6x" |
301
|
|
|
], |
302
|
|
|
"value": 19576135743, |
303
|
|
|
"type": "P2PKH", |
304
|
|
|
"script_asm": "OP_DUP OP_HASH160 1c65c81774aa85e123b0e5c51bc7cda6805f154e OP_EQUALVERIFY OP_CHECKSIG", |
305
|
|
|
"script_hex": "76a9141c65c81774aa85e123b0e5c51bc7cda6805f154e88ac", |
306
|
|
|
"spent_by_tx": "93ee77570a26841bc55a76a0739024b6521183a7d2fee3a0320570c41d01b76f", |
307
|
|
|
"spent_by_tx_position": 0 |
308
|
|
|
} |
309
|
|
|
] |
310
|
|
|
}, |
311
|
|
|
{ |
312
|
|
|
"confirmations": 310251, |
313
|
|
|
"block_height": 200000, |
314
|
|
|
"block_time": 1348310759, |
315
|
|
|
"created_at": 1492101215, |
316
|
|
|
"fee": 50000, |
317
|
|
|
"hash": "2674c8a46b75e5a5e3287a34d7999a1e5e6f052be36f63f3cb483ec148c9b86c", |
318
|
|
|
"inputs_count": 1, |
319
|
|
|
"inputs_value": 946622517855, |
320
|
|
|
"is_coinbase": false, |
321
|
|
|
"is_double_spend": false, |
322
|
|
|
"is_sw_tx": false, |
323
|
|
|
"weight": 908, |
324
|
|
|
"vsize": 227, |
325
|
|
|
"witness_hash": "2674c8a46b75e5a5e3287a34d7999a1e5e6f052be36f63f3cb483ec148c9b86c", |
326
|
|
|
"lock_time": 0, |
327
|
|
|
"outputs_count": 2, |
328
|
|
|
"outputs_value": 946622467855, |
329
|
|
|
"size": 227, |
330
|
|
|
"sigops": 8, |
331
|
|
|
"version": 1, |
332
|
|
|
"inputs": [ |
333
|
|
|
{ |
334
|
|
|
"prev_addresses": [ |
335
|
|
|
"14DeXEwWrpo7urTz76LgQpxXtF8SAQMTbe" |
336
|
|
|
], |
337
|
|
|
"prev_position": 0, |
338
|
|
|
"prev_tx_hash": "a8d4bb8395b6a59ff0355a145b3c0a63d42966af02c373e4c86e4d2779f514e2", |
339
|
|
|
"prev_type": "P2PKH", |
340
|
|
|
"prev_value": 946622517855, |
341
|
|
|
"sequence": 4294967295, |
342
|
|
|
"script_asm": "3046022100d9331c464433c16e59947d6d36df23cd6d29160e97e2707c27bd7641d291a3380221008b1927354afb5a1bd0412fdbde7a3141cba991342ac17505bf13452dac4a533a[ALL] 0319a9a55c1e4dfd168adae85af834ec0db91ae1c164c7286316155a9135afcee8", |
343
|
|
|
"script_hex": "493046022100d9331c464433c16e59947d6d36df23cd6d29160e97e2707c27bd7641d291a3380221008b1927354afb5a1bd0412fdbde7a3141cba991342ac17505bf13452dac4a533a01210319a9a55c1e4dfd168adae85af834ec0db91ae1c164c7286316155a9135afcee8", |
344
|
|
|
"witness": [] |
345
|
|
|
} |
346
|
|
|
], |
347
|
|
|
"outputs": [ |
348
|
|
|
{ |
349
|
|
|
"addresses": [ |
350
|
|
|
"1Fg7BsVkTk1gWnWTpgyb26Zo6NGNsx2gcQ" |
351
|
|
|
], |
352
|
|
|
"value": 945815591855, |
353
|
|
|
"type": "P2PKH", |
354
|
|
|
"script_asm": "OP_DUP OP_HASH160 a0f7260313ab5798391cb610bc4fe0a6be883d59 OP_EQUALVERIFY OP_CHECKSIG", |
355
|
|
|
"script_hex": "76a914a0f7260313ab5798391cb610bc4fe0a6be883d5988ac", |
356
|
|
|
"spent_by_tx": "981db136c4efaa9f91db680bf16aa2e38a0bc13e70f56d5f10b1b86903973f51", |
357
|
|
|
"spent_by_tx_position": 0 |
358
|
|
|
}, |
359
|
|
|
{ |
360
|
|
|
"addresses": [ |
361
|
|
|
"1Q22kYfL81iaAZZLj4epvUQ3yLv57Mgd56" |
362
|
|
|
], |
363
|
|
|
"value": 806876000, |
364
|
|
|
"type": "P2PKH", |
365
|
|
|
"script_asm": "OP_DUP OP_HASH160 fc7cc53ddff31d4c6b18ea7331b80f2b76d7a45d OP_EQUALVERIFY OP_CHECKSIG", |
366
|
|
|
"script_hex": "76a914fc7cc53ddff31d4c6b18ea7331b80f2b76d7a45d88ac", |
367
|
|
|
"spent_by_tx": "a68c971e3666c36717fe2ec80e6ebbefd5045601476d5c845b90c26c4fa2a71d", |
368
|
|
|
"spent_by_tx_position": 9 |
369
|
|
|
} |
370
|
|
|
] |
371
|
|
|
} |
372
|
|
|
] |
373
|
|
|
}, |
374
|
|
|
"err_no": 0, |
375
|
|
|
"err_msg": null |
376
|
|
|
}; |
377
|
|
|
|
378
|
|
|
var output = converter.convertBlockTxs(input); |
379
|
|
|
assert.ok("current_page" in output); |
380
|
|
|
assert.ok("per_page" in output); |
381
|
|
|
assert.ok("total" in output); |
382
|
|
|
|
383
|
|
|
// assert fields match |
384
|
|
|
[ |
385
|
|
|
["size", "size"], |
386
|
|
|
["hash", "hash"], |
387
|
|
|
["confirmations", "confirmations"], |
388
|
|
|
["is_coinbase", "is_coinbase"], |
389
|
|
|
["total_fee", "fee"], |
390
|
|
|
["size", "size"], |
391
|
|
|
["is_double_spend", "is_double_spend"] |
392
|
|
|
|
393
|
|
|
].forEach(function(keyAssoc) { |
394
|
|
|
var blocktrailKey = keyAssoc[0]; |
395
|
|
|
var btccomKey = keyAssoc[1]; |
396
|
|
|
var blockTx = output.data[0]; |
397
|
|
|
assert.ok(blocktrailKey in blockTx); |
398
|
|
|
assert.ok(input.data.list[0][btccomKey] == blockTx[blocktrailKey]) |
399
|
|
|
}); |
400
|
|
|
|
401
|
|
|
cb(); |
402
|
|
|
}); |
403
|
|
|
}); |
404
|
|
|
|
405
|
|
|
describe("convertTx", function() { |
406
|
|
|
it("works", function(cb) { |
407
|
|
|
var input = { |
408
|
|
|
"err_no": 0, |
409
|
|
|
"data": { |
410
|
|
|
"confirmations": 310251, |
411
|
|
|
"block_height": 200000, |
412
|
|
|
"block_time": 1348310759, |
413
|
|
|
"created_at": 1492101215, |
414
|
|
|
"fee": 63517500, |
415
|
|
|
"hash": "dbaf14e1c476e76ea05a8b71921a46d6b06f0a950f17c5f9f1a03b8fae467f10", |
416
|
|
|
"inputs_count": 1, |
417
|
|
|
"inputs_value": 0, |
418
|
|
|
"is_coinbase": true, |
419
|
|
|
"is_double_spend": false, |
420
|
|
|
"is_sw_tx": false, |
421
|
|
|
"weight": 768, |
422
|
|
|
"vsize": 192, |
423
|
|
|
"witness_hash": "dbaf14e1c476e76ea05a8b71921a46d6b06f0a950f17c5f9f1a03b8fae467f10", |
424
|
|
|
"lock_time": 0, |
425
|
|
|
"outputs_count": 1, |
426
|
|
|
"outputs_value": 5063517500, |
427
|
|
|
"size": 192, |
428
|
|
|
"sigops": 4, |
429
|
|
|
"version": 1, |
430
|
|
|
"inputs": [ |
431
|
|
|
{ |
432
|
|
|
"prev_addresses": [], |
433
|
|
|
"prev_position": -1, |
434
|
|
|
"prev_tx_hash": "0000000000000000000000000000000000000000000000000000000000000000", |
435
|
|
|
"prev_type": "NONSTANDARD", |
436
|
|
|
"prev_value": 0, |
437
|
|
|
"sequence": 4294967295, |
438
|
|
|
"script_asm": "", |
439
|
|
|
"script_hex": "03400d0302ef02062f503253482f522cfabe6d6dd90d39663d10f8fd25ec88338295d4c6ce1c90d4aeb368d8bdbadcc1da3b635801000000000000000474073e03", |
440
|
|
|
"witness": [] |
441
|
|
|
} |
442
|
|
|
], |
443
|
|
|
"outputs": [ |
444
|
|
|
{ |
445
|
|
|
"addresses": [ |
446
|
|
|
"1MdYC22Gmjp2ejVPCxyYjFyWbQCYTGhGq8" |
447
|
|
|
], |
448
|
|
|
"value": 5063517500, |
449
|
|
|
"type": "P2PKH_PUBKEY", |
450
|
|
|
"script_asm": "04b0bd634234abbb1ba1e986e884185c61cf43e001f9137f23c2c409273eb16e6537a576782eba668a7ef8bd3b3cfb1edb7117ab65129b8a2e681f3c1e0908ef7b OP_CHECKSIG", |
451
|
|
|
"script_hex": "4104b0bd634234abbb1ba1e986e884185c61cf43e001f9137f23c2c409273eb16e6537a576782eba668a7ef8bd3b3cfb1edb7117ab65129b8a2e681f3c1e0908ef7bac", |
452
|
|
|
"spent_by_tx": "5c76eb4dfb0941856a229833ef05b2f5c669dadc98ed2a34ea11974cacba9dc7", |
453
|
|
|
"spent_by_tx_position": 0 |
454
|
|
|
} |
455
|
|
|
] |
456
|
|
|
} |
457
|
|
|
}; |
458
|
|
|
|
459
|
|
|
var output = converter.convertTx(input); |
460
|
|
|
assert.ok("hash" in output); |
461
|
|
|
|
462
|
|
|
// assert fields match |
463
|
|
|
[ |
464
|
|
|
["size", "size"], |
465
|
|
|
["hash", "hash"], |
466
|
|
|
["confirmations", "confirmations"], |
467
|
|
|
["is_coinbase", "is_coinbase"], |
468
|
|
|
["block_height", "block_height"], |
469
|
|
|
["total_fee", "fee"], |
470
|
|
|
["size", "size"], |
471
|
|
|
["is_double_spend", "is_double_spend"] |
472
|
|
|
|
473
|
|
|
].forEach(function(keyAssoc) { |
474
|
|
|
var blocktrailKey = keyAssoc[0]; |
475
|
|
|
var btccomKey = keyAssoc[1] |
476
|
|
|
var blockTx = output; |
477
|
|
|
assert.ok(blocktrailKey in blockTx); |
478
|
|
|
assert.ok(input.data[btccomKey] == blockTx[blocktrailKey]) |
479
|
|
|
}); |
480
|
|
|
|
481
|
|
|
cb(); |
482
|
|
|
}); |
483
|
|
|
|
484
|
|
|
}); |
485
|
|
|
|
486
|
|
|
describe("convertAddress", function() { |
487
|
|
|
it("works", function(cb) { |
488
|
|
|
var input = { |
489
|
|
|
"err_no": 0, |
490
|
|
|
"data": { |
491
|
|
|
"address": "3EU8LRmo5PgcSwnkn6Msbqc8BKNoQ7Xief", |
492
|
|
|
"received": 190000, |
493
|
|
|
"sent": 100000, |
494
|
|
|
"balance": 90000, |
495
|
|
|
"tx_count": 3, |
496
|
|
|
"unconfirmed_tx_count": 0, |
497
|
|
|
"unconfirmed_received": 0, |
498
|
|
|
"unconfirmed_sent": 0, |
499
|
|
|
"unspent_tx_count": 1, |
500
|
|
|
"first_tx": "2613f3f7ccf6ca8beb68f72469905048120d7fc353bb02e81b1b4f570c5ce490", |
501
|
|
|
"last_tx": "bd430d52f35166a7dd6251c73a48559ad8b5f41b6c5bc4a6c4c1a3e3702f4287" |
502
|
|
|
} |
503
|
|
|
}; |
504
|
|
|
|
505
|
|
|
var output = converter.convertAddress(input); |
506
|
|
|
|
507
|
|
|
// assert fields match |
508
|
|
|
[ |
509
|
|
|
["address", "address"], |
510
|
|
|
["balance", "balance"], |
511
|
|
|
["received", "received"], |
512
|
|
|
["sent", "sent"], |
513
|
|
|
["transactions", "tx_count"], |
514
|
|
|
["unconfirmed_received", "unconfirmed_received"], |
515
|
|
|
["unconfirmed_sent", "unconfirmed_sent"], |
516
|
|
|
["unconfirmed_transactions", "unconfirmed_tx_count"], |
517
|
|
|
["unconfirmed_utxos", "unspent_tx_count"], |
518
|
|
|
["first_tx", "first_tx"], |
519
|
|
|
["last_tx", "last_tx"] |
520
|
|
|
|
521
|
|
|
].forEach(function(keyAssoc) { |
522
|
|
|
var blocktrailKey = keyAssoc[0]; |
523
|
|
|
var btccomKey = keyAssoc[1]; |
524
|
|
|
|
525
|
|
|
var addressData = output.data; |
526
|
|
|
assert.ok(blocktrailKey in addressData); |
527
|
|
|
assert.ok(input.data[btccomKey] == addressData[blocktrailKey]) |
528
|
|
|
}); |
529
|
|
|
|
530
|
|
|
cb(); |
531
|
|
|
}); |
532
|
|
|
}); |
533
|
|
|
|
534
|
|
|
describe("convertAddressTxs", function() { |
535
|
|
|
it("works", function(cb) { |
536
|
|
|
var input = { |
537
|
|
|
"data": { |
538
|
|
|
"total_count": 3, |
539
|
|
|
"page": 1, |
540
|
|
|
"pagesize": 50, |
541
|
|
|
"list": [ |
542
|
|
|
{ |
543
|
|
|
"confirmations": 28118, |
544
|
|
|
"block_height": 482133, |
545
|
|
|
"block_time": 1503801123, |
546
|
|
|
"created_at": 1503563229, |
547
|
|
|
"fee": 13409, |
548
|
|
|
"hash": "bd430d52f35166a7dd6251c73a48559ad8b5f41b6c5bc4a6c4c1a3e3702f4287", |
549
|
|
|
"inputs_count": 1, |
550
|
|
|
"inputs_value": 100000, |
551
|
|
|
"is_coinbase": false, |
552
|
|
|
"is_double_spend": false, |
553
|
|
|
"is_sw_tx": true, |
554
|
|
|
"weight": 578, |
555
|
|
|
"vsize": 145, |
556
|
|
|
"witness_hash": "8d558281ffc88ca7c294e15ce0b778b9c85490dd1ff3121305c4f51b86a758f1", |
557
|
|
|
"lock_time": 0, |
558
|
|
|
"outputs_count": 1, |
559
|
|
|
"outputs_value": 86591, |
560
|
|
|
"size": 227, |
561
|
|
|
"sigops": 1, |
562
|
|
|
"version": 1, |
563
|
|
|
"inputs": [ |
564
|
|
|
{ |
565
|
|
|
"prev_addresses": [ |
566
|
|
|
"3EU8LRmo5PgcSwnkn6Msbqc8BKNoQ7Xief" |
567
|
|
|
], |
568
|
|
|
"prev_position": 1, |
569
|
|
|
"prev_tx_hash": "4de2b03b46c8c1ab5e582ea3ab4f1b055c91798ffd8e9cbe05010c99bc914947", |
570
|
|
|
"prev_type": "P2SH", |
571
|
|
|
"prev_value": 100000, |
572
|
|
|
"sequence": 4294967295, |
573
|
|
|
"script_asm": "00145d6f02f47dc6c57093df246e3742cfe1e22ab410", |
574
|
|
|
"script_hex": "1600145d6f02f47dc6c57093df246e3742cfe1e22ab410", |
575
|
|
|
"witness": [ |
576
|
|
|
"3045022100a1707fff61f5add9ca4cf7cdb39aa0b3fd9f672274715749c9356d4eda57becd02201aea20e0ba29adc67fba8fdcf727297b841017cb8b0ff58ea5c5160037975f0201", |
577
|
|
|
"03534da516a0ab32f30246620fdfbfaf1921228c1e222c6bd2fcddbcfd9024a1b6" |
578
|
|
|
] |
579
|
|
|
} |
580
|
|
|
], |
581
|
|
|
"outputs": [ |
582
|
|
|
{ |
583
|
|
|
"addresses": [ |
584
|
|
|
"916ff972855bf7589caf8c46a31f7f33b07d0100d953fde95a8354ac36e98165" |
585
|
|
|
], |
586
|
|
|
"value": 86591, |
587
|
|
|
"type": "P2WSH_V0", |
588
|
|
|
"script_asm": "0 916ff972855bf7589caf8c46a31f7f33b07d0100d953fde95a8354ac36e98165", |
589
|
|
|
"script_hex": "0020916ff972855bf7589caf8c46a31f7f33b07d0100d953fde95a8354ac36e98165", |
590
|
|
|
"spent_by_tx": "cab75da6d7fe1531c881d4efdb4826410a2604aa9e6442ab12a08363f34fb408", |
591
|
|
|
"spent_by_tx_position": 0 |
592
|
|
|
} |
593
|
|
|
], |
594
|
|
|
"balance_diff": -100000 |
595
|
|
|
}, |
596
|
|
|
{ |
597
|
|
|
"confirmations": 28162, |
598
|
|
|
"block_height": 482089, |
599
|
|
|
"block_time": 1503765455, |
600
|
|
|
"created_at": 1503560516, |
601
|
|
|
"fee": 83409, |
602
|
|
|
"hash": "4de2b03b46c8c1ab5e582ea3ab4f1b055c91798ffd8e9cbe05010c99bc914947", |
603
|
|
|
"inputs_count": 1, |
604
|
|
|
"inputs_value": 316400, |
605
|
|
|
"is_coinbase": false, |
606
|
|
|
"is_double_spend": false, |
607
|
|
|
"is_sw_tx": false, |
608
|
|
|
"weight": 1484, |
609
|
|
|
"vsize": 371, |
610
|
|
|
"witness_hash": "4de2b03b46c8c1ab5e582ea3ab4f1b055c91798ffd8e9cbe05010c99bc914947", |
611
|
|
|
"lock_time": 0, |
612
|
|
|
"outputs_count": 2, |
613
|
|
|
"outputs_value": 232991, |
614
|
|
|
"size": 371, |
615
|
|
|
"sigops": 12, |
616
|
|
|
"version": 1, |
617
|
|
|
"inputs": [ |
618
|
|
|
{ |
619
|
|
|
"prev_addresses": [ |
620
|
|
|
"3Fzr53M54N8nWwTPt7btU4pcXQ3kNUUtrx" |
621
|
|
|
], |
622
|
|
|
"prev_position": 0, |
623
|
|
|
"prev_tx_hash": "d37f2a922c3e03d5c8e3bbb5e8f704d4eb221e4c9e1e3165201e58ddea54b440", |
624
|
|
|
"prev_type": "P2SH", |
625
|
|
|
"prev_value": 316400, |
626
|
|
|
"sequence": 4294967295, |
627
|
|
|
"script_asm": "0 3045022100dc0eb9ebb44e21a2334b1a9936ff2d3e6f85b6a8b0bae2462640ad574d5653570220591365f8795c68b788d3949e9d6a984dae2f79d49bf3b0b184edf9f676732524[ALL] 3045022100aac67f935a52fd961b404dd4d273600924f74498062e237fec3ef50416440e3d02204fcf8deaee86c5a95c8c8c235bb252a5d4d304b9bd3e01d9c7098fae3c9172cf[ALL] 522102ef6587d4850890bd42e7779365ed2baeec17824b84a285894ec090edf0b604e4210322f35f79c76036a68746d8e3804b9097a6575ae6d7fc9dfb99c06280b656dfc12103f73d0f5d4f8919a74d4b0cc72fc0ef5ee9eaf759d3731319294491883d97881b53ae", |
628
|
|
|
"script_hex": "00483045022100dc0eb9ebb44e21a2334b1a9936ff2d3e6f85b6a8b0bae2462640ad574d5653570220591365f8795c68b788d3949e9d6a984dae2f79d49bf3b0b184edf9f67673252401483045022100aac67f935a52fd961b404dd4d273600924f74498062e237fec3ef50416440e3d02204fcf8deaee86c5a95c8c8c235bb252a5d4d304b9bd3e01d9c7098fae3c9172cf014c69522102ef6587d4850890bd42e7779365ed2baeec17824b84a285894ec090edf0b604e4210322f35f79c76036a68746d8e3804b9097a6575ae6d7fc9dfb99c06280b656dfc12103f73d0f5d4f8919a74d4b0cc72fc0ef5ee9eaf759d3731319294491883d97881b53ae", |
629
|
|
|
"witness": [] |
630
|
|
|
} |
631
|
|
|
], |
632
|
|
|
"outputs": [ |
633
|
|
|
{ |
634
|
|
|
"addresses": [ |
635
|
|
|
"32bH64DNFHV3y74Qyx3FSAKykUauUB94as" |
636
|
|
|
], |
637
|
|
|
"value": 132991, |
638
|
|
|
"type": "P2SH", |
639
|
|
|
"script_asm": "OP_HASH160 09e249cd56381853743834cf7c367093f4f84970 OP_EQUAL", |
640
|
|
|
"script_hex": "a91409e249cd56381853743834cf7c367093f4f8497087", |
641
|
|
|
"spent_by_tx": "2562317b87aeddd42fff89ecd0802f4c7cfb0cc404c37534b33a10fa4391878e", |
642
|
|
|
"spent_by_tx_position": 2 |
643
|
|
|
}, |
644
|
|
|
{ |
645
|
|
|
"addresses": [ |
646
|
|
|
"3EU8LRmo5PgcSwnkn6Msbqc8BKNoQ7Xief" |
647
|
|
|
], |
648
|
|
|
"value": 100000, |
649
|
|
|
"type": "P2SH", |
650
|
|
|
"script_asm": "OP_HASH160 8c299479cf35311569d8c1450a85de22d206ab49 OP_EQUAL", |
651
|
|
|
"script_hex": "a9148c299479cf35311569d8c1450a85de22d206ab4987", |
652
|
|
|
"spent_by_tx": "bd430d52f35166a7dd6251c73a48559ad8b5f41b6c5bc4a6c4c1a3e3702f4287", |
653
|
|
|
"spent_by_tx_position": 0 |
654
|
|
|
} |
655
|
|
|
], |
656
|
|
|
"balance_diff": 100000 |
657
|
|
|
}, |
658
|
|
|
{ |
659
|
|
|
"confirmations": 28319, |
660
|
|
|
"block_height": 481932, |
661
|
|
|
"block_time": 1503632682, |
662
|
|
|
"created_at": 1503562862, |
663
|
|
|
"fee": 159820, |
664
|
|
|
"hash": "2613f3f7ccf6ca8beb68f72469905048120d7fc353bb02e81b1b4f570c5ce490", |
665
|
|
|
"inputs_count": 1, |
666
|
|
|
"inputs_value": 9223832, |
667
|
|
|
"is_coinbase": false, |
668
|
|
|
"is_double_spend": false, |
669
|
|
|
"is_sw_tx": false, |
670
|
|
|
"weight": 1468, |
671
|
|
|
"vsize": 367, |
672
|
|
|
"witness_hash": "2613f3f7ccf6ca8beb68f72469905048120d7fc353bb02e81b1b4f570c5ce490", |
673
|
|
|
"lock_time": 0, |
674
|
|
|
"outputs_count": 2, |
675
|
|
|
"outputs_value": 9064012, |
676
|
|
|
"size": 367, |
677
|
|
|
"sigops": 12, |
678
|
|
|
"version": 1, |
679
|
|
|
"inputs": [ |
680
|
|
|
{ |
681
|
|
|
"prev_addresses": [ |
682
|
|
|
"36398e4nx2uXBw83wFusq2u6CwrAYMRUd6" |
683
|
|
|
], |
684
|
|
|
"prev_position": 0, |
685
|
|
|
"prev_tx_hash": "317f62e894f112bd7042e3352f4e5fc546dfa1a55e7d86da13de3feb800f1991", |
686
|
|
|
"prev_type": "P2SH", |
687
|
|
|
"prev_value": 9223832, |
688
|
|
|
"sequence": 4294967295, |
689
|
|
|
"script_asm": "0 304402206578aea3eecb83bb9727257e3b1a798d2cc6bf177e2f0e55b81dccb99c52d58602201af4ba5938dc290a1d3b380d120b468258a01abb035b3f8d451564927d668fae[ALL] 304402204910eec198eb9476c7e1d352b3fe3e4a3307422a442f7972d6a0eb838346bf4102205f18db326d81ca8dc4cadbc817551bab3fad369b245e8d7e30d8aa00a642ea82[ALL] 522102a75a0a36bbd4bc4ef4b015d1ecf477558fd13024e5de28eb4ce1db8bd9b1c92c2102d34d25fffe77d7142e2b2b4937bf970a3fc2c01e8200bd05172c6ce7b85ed1282103b04a7f2da2f3b16fcf9b7472a053cf89251b64636f6b2c55bf9e34026a4c756553ae", |
690
|
|
|
"script_hex": "0047304402206578aea3eecb83bb9727257e3b1a798d2cc6bf177e2f0e55b81dccb99c52d58602201af4ba5938dc290a1d3b380d120b468258a01abb035b3f8d451564927d668fae0147304402204910eec198eb9476c7e1d352b3fe3e4a3307422a442f7972d6a0eb838346bf4102205f18db326d81ca8dc4cadbc817551bab3fad369b245e8d7e30d8aa00a642ea82014c69522102a75a0a36bbd4bc4ef4b015d1ecf477558fd13024e5de28eb4ce1db8bd9b1c92c2102d34d25fffe77d7142e2b2b4937bf970a3fc2c01e8200bd05172c6ce7b85ed1282103b04a7f2da2f3b16fcf9b7472a053cf89251b64636f6b2c55bf9e34026a4c756553ae", |
691
|
|
|
"witness": [] |
692
|
|
|
} |
693
|
|
|
], |
694
|
|
|
"outputs": [ |
695
|
|
|
{ |
696
|
|
|
"addresses": [ |
697
|
|
|
"3EU8LRmo5PgcSwnkn6Msbqc8BKNoQ7Xief" |
698
|
|
|
], |
699
|
|
|
"value": 90000, |
700
|
|
|
"type": "P2SH", |
701
|
|
|
"script_asm": "OP_HASH160 8c299479cf35311569d8c1450a85de22d206ab49 OP_EQUAL", |
702
|
|
|
"script_hex": "a9148c299479cf35311569d8c1450a85de22d206ab4987", |
703
|
|
|
"spent_by_tx": null, |
704
|
|
|
"spent_by_tx_position": -1 |
705
|
|
|
}, |
706
|
|
|
{ |
707
|
|
|
"addresses": [ |
708
|
|
|
"3Qfkqzpd6EjGSzDXQXNcYCJE78BH7poKoD" |
709
|
|
|
], |
710
|
|
|
"value": 8974012, |
711
|
|
|
"type": "P2SH", |
712
|
|
|
"script_asm": "OP_HASH160 fc0de3e893c40ae834ee970d5178eba47c37b642 OP_EQUAL", |
713
|
|
|
"script_hex": "a914fc0de3e893c40ae834ee970d5178eba47c37b64287", |
714
|
|
|
"spent_by_tx": "7b7462ade8518268c2cf89d2b5750a8058f18e40d224ee55ab38ebeb1d696e26", |
715
|
|
|
"spent_by_tx_position": 0 |
716
|
|
|
} |
717
|
|
|
], |
718
|
|
|
"balance_diff": 90000 |
719
|
|
|
} |
720
|
|
|
] |
721
|
|
|
}, |
722
|
|
|
"err_no": 0, |
723
|
|
|
"err_msg": null |
724
|
|
|
}; |
725
|
|
|
|
726
|
|
|
var output = converter.convertAddressTxs(input); |
727
|
|
|
assert.ok("total" in output); |
728
|
|
|
cb(); |
729
|
|
|
}); |
730
|
|
|
}); |
731
|
|
|
|
732
|
|
|
describe ("convertAddressUnspentOutputs", function() { |
733
|
|
|
it("works", function(cb) { |
734
|
|
|
var input = { |
735
|
|
|
"data": { |
736
|
|
|
"total_count": 1200, |
737
|
|
|
"page": 1, |
738
|
|
|
"pagesize": 50, |
739
|
|
|
"list": [ |
740
|
|
|
{ |
741
|
|
|
"tx_hash": "4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b", |
742
|
|
|
"tx_output_n": 0, |
743
|
|
|
"tx_output_n2": 0, |
744
|
|
|
"value": 5000000000, |
745
|
|
|
"confirmations": 510251 |
746
|
|
|
}, |
747
|
|
|
{ |
748
|
|
|
"tx_hash": "3387418aaddb4927209c5032f515aa442a6587d6e54677f08a03b8fa7789e688", |
749
|
|
|
"tx_output_n": 1, |
750
|
|
|
"tx_output_n2": 0, |
751
|
|
|
"value": 1000000, |
752
|
|
|
"confirmations": 386528 |
753
|
|
|
}, |
754
|
|
|
{ |
755
|
|
|
"tx_hash": "8f6b63012753005236b1b76e4884e4dee7415e05ab96604d353001662cde6b53", |
756
|
|
|
"tx_output_n": 1, |
757
|
|
|
"tx_output_n2": 0, |
758
|
|
|
"value": 222222, |
759
|
|
|
"confirmations": 382308 |
760
|
|
|
}, |
761
|
|
|
{ |
762
|
|
|
"tx_hash": "60ff2dfdf67917040139903a0141f7525a7d152365b371b35fd1cf83f1d7f704", |
763
|
|
|
"tx_output_n": 1, |
764
|
|
|
"tx_output_n2": 0, |
765
|
|
|
"value": 333333, |
766
|
|
|
"confirmations": 382308 |
767
|
|
|
}, |
768
|
|
|
{ |
769
|
|
|
"tx_hash": "1b703ca32b2da08cf896081a96c48f6433641e2c7d805fd170a31b0cbfb900df", |
770
|
|
|
"tx_output_n": 1, |
771
|
|
|
"tx_output_n2": 0, |
772
|
|
|
"value": 500000, |
773
|
|
|
"confirmations": 381697 |
774
|
|
|
}, |
775
|
|
|
{ |
776
|
|
|
"tx_hash": "495167f5b9d55519717cb171208a98ffd347410169f258b598b1b65447d8e078", |
777
|
|
|
"tx_output_n": 1, |
778
|
|
|
"tx_output_n2": 0, |
779
|
|
|
"value": 500000, |
780
|
|
|
"confirmations": 381697 |
781
|
|
|
}, |
782
|
|
|
{ |
783
|
|
|
"tx_hash": "2c484eaaf9bdaa42caee501523c631b1ceaef89838ea93bd5d199ac275469d22", |
784
|
|
|
"tx_output_n": 1, |
785
|
|
|
"tx_output_n2": 0, |
786
|
|
|
"value": 1000000, |
787
|
|
|
"confirmations": 378843 |
788
|
|
|
}, |
789
|
|
|
{ |
790
|
|
|
"tx_hash": "02a206264aecaf9f45f725533496b1b80bdd5a239194d8dd8100eed5415b6a14", |
791
|
|
|
"tx_output_n": 1, |
792
|
|
|
"tx_output_n2": 0, |
793
|
|
|
"value": 6660000, |
794
|
|
|
"confirmations": 375256 |
795
|
|
|
}, |
796
|
|
|
{ |
797
|
|
|
"tx_hash": "fd3c66b9c981a3ccc40ae0f631f45286e7b31cf6d9afa1acaf8be1261f133690", |
798
|
|
|
"tx_output_n": 0, |
799
|
|
|
"tx_output_n2": 0, |
800
|
|
|
"value": 100000, |
801
|
|
|
"confirmations": 375016 |
802
|
|
|
} |
803
|
|
|
] |
804
|
|
|
}, |
805
|
|
|
"err_no": 0, |
806
|
|
|
"err_msg": null |
807
|
|
|
}; |
808
|
|
|
|
809
|
|
|
var output = converter.convertAddressUnspentOutputs(input, "1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa"); |
810
|
|
|
|
811
|
|
|
// assert fields match |
812
|
|
|
[ |
813
|
|
|
["hash", "tx_hash"], |
814
|
|
|
["confirmations", "confirmations"], |
815
|
|
|
["value", "value"], |
816
|
|
|
["index", "tx_output_n"] |
817
|
|
|
|
818
|
|
|
].forEach(function(keyAssoc) { |
819
|
|
|
var blocktrailKey = keyAssoc[0]; |
820
|
|
|
var btccomKey = keyAssoc[1]; |
821
|
|
|
|
822
|
|
|
var blockTx = output.data[0]; |
823
|
|
|
assert.ok(blocktrailKey in blockTx); |
824
|
|
|
assert.ok(input.data.list[0][btccomKey] == blockTx[blocktrailKey]); |
825
|
|
|
}); |
826
|
|
|
|
827
|
|
|
assert.ok("total" in output); |
828
|
|
|
cb(); |
829
|
|
|
}); |
830
|
|
|
}); |
831
|
|
|
}); |
832
|
|
|
|
833
|
|
|
|
834
|
|
|
|
835
|
|
|
|
836
|
|
|
|