bitcoin-ruby 0.0.14 → 0.0.15

Sign up to get free protection for your applications and to get access to all the features.
@@ -90,6 +90,8 @@ describe 'Bitcoin Address/Hash160/PubKey' do
90
90
  .should == "00000090c66372823859c935149e2e32d276a1e6"
91
91
  Bitcoin.hash160_from_address("1111136sgL8UNSTVL9ize2uGFPxFDGwFp")
92
92
  .should == "0000000096d3ad65d030a36e2c23f7fdd5dfcadb"
93
+ Bitcoin.hash160_from_address("bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4")
94
+ .should == "751e76e8199196d454941c45d1b3a323f1433bd6"
93
95
  end
94
96
 
95
97
  it 'should survive rounds of hash160 <-> address' do
@@ -187,6 +189,9 @@ describe 'Bitcoin Address/Hash160/PubKey' do
187
189
  Bitcoin.address_type("3CkxTG25waxsmd13FFgRChPuGYba3ar36B").should == :p2sh
188
190
  Bitcoin.address_type("1D3KpY5kXnYhTbdCbZ9kXb2ZY7ZapD85cW").should == :hash160
189
191
  Bitcoin.address_type("mpXwg4jMtRhuSpVq4xS3HFHmCmWp9NyGKt").should == nil
192
+ Bitcoin.address_type("bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4").should == :witness_v0_keyhash
193
+ Bitcoin.address_type("bc1qw508d6qejxtdg4y5r3zarvayr0c5xw7kv8f3t4").should == nil
194
+ Bitcoin.address_type("bc1qrp33g0q5c5txsp9arysrx4k6zdkfs4nce4xj0gdcccefvpysxf3qccfmv3").should == :witness_v0_scripthash
190
195
  end
191
196
 
192
197
  it 'Bitcoin#checksum' do
@@ -561,6 +566,61 @@ describe 'Bitcoin Address/Hash160/PubKey' do
561
566
  }.should == [ 5000000000, 5000000000, 2500000000, 2500000000, 1250000000, 19531250 ]
562
567
  end
563
568
 
569
+ # Port of Bitcoin Core test vectors.
570
+ # https://github.com/bitcoin/bitcoin/blob/595a7bab23bc21049526229054ea1fff1a29c0bf/src/test/base58_tests.cpp#L139
571
+ it "valid address JSON tests" do
572
+ restore_network = Bitcoin.network_name
573
+
574
+ test_cases = JSON.parse(fixtures_file('base58_keys_valid.json'))
575
+ test_cases.each do |test_case|
576
+ # Single element arrays in tests are comments.
577
+ next if test_case.length == 1
578
+
579
+ address = test_case[0]
580
+ script = test_case[1].htb
581
+ is_privkey = test_case[2].fetch('isPrivkey')
582
+ is_swapcase_valid = test_case[2].fetch('tryCaseFlip', false)
583
+
584
+ Bitcoin.network =
585
+ case test_case[2].fetch('chain').to_sym
586
+ when :main then :bitcoin
587
+ when :test then :testnet3
588
+ when :regtest then :regtest
589
+ end
590
+
591
+ # This spec only tests address generation, not base58 private key encoding
592
+ next if is_privkey
593
+
594
+ computed_script = Bitcoin::Script.to_address_script(address)
595
+ computed_script.should == script
596
+
597
+ Bitcoin.valid_address?(address.swapcase).should == is_swapcase_valid
598
+
599
+ computed_address = Bitcoin::Script.new(script).get_address
600
+ computed_address.should == address
601
+ end
602
+
603
+ Bitcoin.network = restore_network
604
+ end
605
+
606
+ # Port of Bitcoin Core test vectors.
607
+ # https://github.com/bitcoin/bitcoin/blob/595a7bab23bc21049526229054ea1fff1a29c0bf/src/test/base58_tests.cpp#L179
608
+ it "invalid address JSON tests" do
609
+ restore_network = Bitcoin.network_name
610
+
611
+ test_cases = JSON.parse(fixtures_file('base58_keys_invalid.json'))
612
+ test_cases.each do |test_case|
613
+ address = test_case[0]
614
+
615
+ %i(bitcoin testnet3 regtest).each do |network_name|
616
+ Bitcoin.network = network_name
617
+
618
+ Bitcoin.valid_address?(address).should == false
619
+ end
620
+ end
621
+
622
+ Bitcoin.network = restore_network
623
+ end
564
624
  end
565
625
 
566
626
 
@@ -339,4 +339,37 @@ describe "Bitcoin::Builder" do
339
339
  tx2.verify_input_signature(0, tx1).should == true
340
340
  end
341
341
 
342
+ it "should build and sign bcash transaction" do
343
+ tx = build_tx do |t|
344
+ t.input do |i|
345
+ prev_tx = @block.tx[0]
346
+ utxo = prev_tx.out[0]
347
+ i.prev_out prev_tx.hash, 0, utxo.script, utxo.amount, 0
348
+ i.signature_key @keys[0]
349
+ end
350
+
351
+ t.output do |o|
352
+ o.value 4999900000
353
+
354
+ o.script do |s|
355
+ s.type :address
356
+ s.recipient @keys[1].addr
357
+ end
358
+ end
359
+ end
360
+
361
+ tx.in[0].prev_out.reverse_hth.should == block.tx[0].hash
362
+ tx.in[0].prev_out_index.should == 0
363
+ Bitcoin::Script.new(tx.in[0].script_sig).chunks[1].unpack("H*")[0].should == @keys[0].pub
364
+ tx.out[0].value.should == 4999900000
365
+
366
+ script = Bitcoin::Script.new(tx.out[0].pk_script)
367
+ script.type.should == :hash160
368
+ script.get_address.should == @keys[1].addr
369
+
370
+ tx.verify_input_signature(0, block.tx[0], Time.now.to_i, {fork_id: 0}).should == true
371
+ Bitcoin::Script.new(tx.out[0].pk_script).to_string.should ==
372
+ "OP_DUP OP_HASH160 #{@keys[1].hash160} OP_EQUALVERIFY OP_CHECKSIG"
373
+ end
374
+
342
375
  end
@@ -0,0 +1,182 @@
1
+ [
2
+ [
3
+ ""
4
+ ],
5
+ [
6
+ "x"
7
+ ],
8
+ [
9
+ "37qgekLpCCHrQuSjvX3fs496FWTGsHFHizjJAs6NPcR47aefnnCWECAhHV6E3g4YN7u7Yuwod5Y"
10
+ ],
11
+ [
12
+ "dzb7VV1Ui55BARxv7ATxAtCUeJsANKovDGWFVgpTbhq9gvPqP3yv"
13
+ ],
14
+ [
15
+ "MuNu7ZAEDFiHthiunm7dPjwKqrVNCM3mAz6rP9zFveQu14YA8CxExSJTHcVP9DErn6u84E6Ej7S"
16
+ ],
17
+ [
18
+ "rPpQpYknyNQ5AEHuY6H8ijJJrYc2nDKKk9jjmKEXsWzyAQcFGpDLU2Zvsmoi8JLR7hAwoy3RQWf"
19
+ ],
20
+ [
21
+ "4Uc3FmN6NQ6zLBK5QQBXRBUREaaHwCZYsGCueHauuDmJpZKn6jkEskMB2Zi2CNgtb5r6epWEFfUJq"
22
+ ],
23
+ [
24
+ "7aQgR5DFQ25vyXmqZAWmnVCjL3PkBcdVkBUpjrjMTcghHx3E8wb"
25
+ ],
26
+ [
27
+ "17QpPprjeg69fW1DV8DcYYCKvWjYhXvWkov6MJ1iTTvMFj6weAqW7wybZeH57WTNxXVCRH4veVs"
28
+ ],
29
+ [
30
+ "KxuACDviz8Xvpn1xAh9MfopySZNuyajYMZWz16Dv2mHHryznWUp3"
31
+ ],
32
+ [
33
+ "7nK3GSmqdXJQtdohvGfJ7KsSmn3TmGqExug49583bDAL91pVSGq5xS9SHoAYL3Wv3ijKTit65th"
34
+ ],
35
+ [
36
+ "cTivdBmq7bay3RFGEBBuNfMh2P1pDCgRYN2Wbxmgwr4ki3jNUL2va"
37
+ ],
38
+ [
39
+ "gjMV4vjNjyMrna4fsAr8bWxAbwtmMUBXJS3zL4NJt5qjozpbQLmAfK1uA3CquSqsZQMpoD1g2nk"
40
+ ],
41
+ [
42
+ "emXm1naBMoVzPjbk7xpeTVMFy4oDEe25UmoyGgKEB1gGWsK8kRGs"
43
+ ],
44
+ [
45
+ "7VThQnNRj1o3Zyvc7XHPRrjDf8j2oivPTeDXnRPYWeYGE4pXeRJDZgf28ppti5hsHWXS2GSobdqyo"
46
+ ],
47
+ [
48
+ "1G9u6oCVCPh2o8m3t55ACiYvG1y5BHewUkDSdiQarDcYXXhFHYdzMdYfUAhfxn5vNZBwpgUNpso"
49
+ ],
50
+ [
51
+ "31QQ7ZMLkScDiB4VyZjuptr7AEc9j1SjstF7pRoLhHTGkW4Q2y9XELobQmhhWxeRvqcukGd1XCq"
52
+ ],
53
+ [
54
+ "DHqKSnpxa8ZdQyH8keAhvLTrfkyBMQxqngcQA5N8LQ9KVt25kmGN"
55
+ ],
56
+ [
57
+ "2LUHcJPbwLCy9GLH1qXmfmAwvadWw4bp4PCpDfduLqV17s6iDcy1imUwhQJhAoNoN1XNmweiJP4i"
58
+ ],
59
+ [
60
+ "7USRzBXAnmck8fX9HmW7RAb4qt92VFX6soCnts9s74wxm4gguVhtG5of8fZGbNPJA83irHVY6bCos"
61
+ ],
62
+ [
63
+ "1DGezo7BfVebZxAbNT3XGujdeHyNNBF3vnficYoTSp4PfK2QaML9bHzAMxke3wdKdHYWmsMTJVu"
64
+ ],
65
+ [
66
+ "2D12DqDZKwCxxkzs1ZATJWvgJGhQ4cFi3WrizQ5zLAyhN5HxuAJ1yMYaJp8GuYsTLLxTAz6otCfb"
67
+ ],
68
+ [
69
+ "8AFJzuTujXjw1Z6M3fWhQ1ujDW7zsV4ePeVjVo7D1egERqSW9nZ"
70
+ ],
71
+ [
72
+ "163Q17qLbTCue8YY3AvjpUhotuaodLm2uqMhpYirsKjVqnxJRWTEoywMVY3NbBAHuhAJ2cF9GAZ"
73
+ ],
74
+ [
75
+ "2MnmgiRH4eGLyLc9eAqStzk7dFgBjFtUCtu"
76
+ ],
77
+ [
78
+ "461QQ2sYWxU7H2PV4oBwJGNch8XVTYYbZxU"
79
+ ],
80
+ [
81
+ "2UCtv53VttmQYkVU4VMtXB31REvQg4ABzs41AEKZ8UcB7DAfVzdkV9JDErwGwyj5AUHLkmgZeobs"
82
+ ],
83
+ [
84
+ "cSNjAsnhgtiFMi6MtfvgscMB2Cbhn2v1FUYfviJ1CdjfidvmeW6mn"
85
+ ],
86
+ [
87
+ "gmsow2Y6EWAFDFE1CE4Hd3Tpu2BvfmBfG1SXsuRARbnt1WjkZnFh1qGTiptWWbjsq2Q6qvpgJVj"
88
+ ],
89
+ [
90
+ "nksUKSkzS76v8EsSgozXGMoQFiCoCHzCVajFKAXqzK5on9ZJYVHMD5CKwgmX3S3c7M1U3xabUny"
91
+ ],
92
+ [
93
+ "L3favK1UzFGgdzYBF2oBT5tbayCo4vtVBLJhg2iYuMeePxWG8SQc"
94
+ ],
95
+ [
96
+ "7VxLxGGtYT6N99GdEfi6xz56xdQ8nP2dG1CavuXx7Rf2PrvNMTBNevjkfgs9JmkcGm6EXpj8ipyPZ"
97
+ ],
98
+ [
99
+ "2mbZwFXF6cxShaCo2czTRB62WTx9LxhTtpP"
100
+ ],
101
+ [
102
+ "dB7cwYdcPSgiyAwKWL3JwCVwSk6epU2txw"
103
+ ],
104
+ [
105
+ "HPhFUhUAh8ZQQisH8QQWafAxtQYju3SFTX"
106
+ ],
107
+ [
108
+ "4ctAH6AkHzq5ioiM1m9T3E2hiYEev5mTsB"
109
+ ],
110
+ [
111
+ "Hn1uFi4dNexWrqARpjMqgT6cX1UsNPuV3cHdGg9ExyXw8HTKadbktRDtdeVmY3M1BxJStiL4vjJ"
112
+ ],
113
+ [
114
+ "Sq3fDbvutABmnAHHExJDgPLQn44KnNC7UsXuT7KZecpaYDMU9Txs"
115
+ ],
116
+ [
117
+ "6TqWyrqdgUEYDQU1aChMuFMMEimHX44qHFzCUgGfqxGgZNMUVWJ"
118
+ ],
119
+ [
120
+ "giqJo7oWqFxNKWyrgcBxAVHXnjJ1t6cGoEffce5Y1y7u649Noj5wJ4mmiUAKEVVrYAGg2KPB3Y4"
121
+ ],
122
+ [
123
+ "cNzHY5e8vcmM3QVJUcjCyiKMYfeYvyueq5qCMV3kqcySoLyGLYUK"
124
+ ],
125
+ [
126
+ "37uTe568EYc9WLoHEd9jXEvUiWbq5LFLscNyqvAzLU5vBArUJA6eydkLmnMwJDjkL5kXc2VK7ig"
127
+ ],
128
+ [
129
+ "EsYbG4tWWWY45G31nox838qNdzksbPySWc"
130
+ ],
131
+ [
132
+ "nbuzhfwMoNzA3PaFnyLcRxE9bTJPDkjZ6Rf6Y6o2ckXZfzZzXBT"
133
+ ],
134
+ [
135
+ "cQN9PoxZeCWK1x56xnz6QYAsvR11XAce3Ehp3gMUdfSQ53Y2mPzx"
136
+ ],
137
+ [
138
+ "1Gm3N3rkef6iMbx4voBzaxtXcmmiMTqZPhcuAepRzYUJQW4qRpEnHvMojzof42hjFRf8PE2jPde"
139
+ ],
140
+ [
141
+ "2TAq2tuN6x6m233bpT7yqdYQPELdTDJn1eU"
142
+ ],
143
+ [
144
+ "ntEtnnGhqPii4joABvBtSEJG6BxjT2tUZqE8PcVYgk3RHpgxgHDCQxNbLJf7ardf1dDk2oCQ7Cf"
145
+ ],
146
+ [
147
+ "Ky1YjoZNgQ196HJV3HpdkecfhRBmRZdMJk89Hi5KGfpfPwS2bUbfd"
148
+ ],
149
+ [
150
+ "2A1q1YsMZowabbvta7kTy2Fd6qN4r5ZCeG3qLpvZBMzCixMUdkN2Y4dHB1wPsZAeVXUGD83MfRED"
151
+ ],
152
+ [
153
+ "tc1qw508d6qejxtdg4y5r3zarvary0c5xw7kg3g4ty"
154
+ ],
155
+ [
156
+ "bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t5"
157
+ ],
158
+ [
159
+ "BC13W508D6QEJXTDG4Y5R3ZARVARY0C5XW7KN40WF2"
160
+ ],
161
+ [
162
+ "bc1rw5uspcuh"
163
+ ],
164
+ [
165
+ "bc10w508d6qejxtdg4y5r3zarvary0c5xw7kw508d6qejxtdg4y5r3zarvary0c5xw7kw5rljs90"
166
+ ],
167
+ [
168
+ "BC1QR508D6QEJXTDG4Y5R3ZARVARYV98GJ9P"
169
+ ],
170
+ [
171
+ "tb1qrp33g0q5c5txsp9arysrx4k6zdkfs4nce4xj0gdcccefvpysxf3q0sL5k7"
172
+ ],
173
+ [
174
+ "bc1zw508d6qejxtdg4y5r3zarvaryvqyzf3du"
175
+ ],
176
+ [
177
+ "tb1qrp33g0q5c5txsp9arysrx4k6zdkfs4nce4xj0gdcccefvpysxf3pjxtptv"
178
+ ],
179
+ [
180
+ "bc1gmk9yu"
181
+ ]
182
+ ]
@@ -0,0 +1,488 @@
1
+ [
2
+ [
3
+ "1AGNa15ZQXAZUgFiqJ2i7Z2DPU2J6hW62i",
4
+ "76a91465a16059864a2fdbc7c99a4723a8395bc6f188eb88ac",
5
+ {
6
+ "isPrivkey": false,
7
+ "chain": "main"
8
+ }
9
+ ],
10
+ [
11
+ "3CMNFxN1oHBc4R1EpboAL5yzHGgE611Xou",
12
+ "a91474f209f6ea907e2ea48f74fae05782ae8a66525787",
13
+ {
14
+ "isPrivkey": false,
15
+ "chain": "main"
16
+ }
17
+ ],
18
+ [
19
+ "mo9ncXisMeAoXwqcV5EWuyncbmCcQN4rVs",
20
+ "76a91453c0307d6851aa0ce7825ba883c6bd9ad242b48688ac",
21
+ {
22
+ "isPrivkey": false,
23
+ "chain": "test"
24
+ }
25
+ ],
26
+ [
27
+ "mo9ncXisMeAoXwqcV5EWuyncbmCcQN4rVs",
28
+ "76a91453c0307d6851aa0ce7825ba883c6bd9ad242b48688ac",
29
+ {
30
+ "isPrivkey": false,
31
+ "chain": "regtest"
32
+ }
33
+ ],
34
+ [
35
+ "2N2JD6wb56AfK4tfmM6PwdVmoYk2dCKf4Br",
36
+ "a9146349a418fc4578d10a372b54b45c280cc8c4382f87",
37
+ {
38
+ "isPrivkey": false,
39
+ "chain": "test"
40
+ }
41
+ ],
42
+ [
43
+ "5Kd3NBUAdUnhyzenEwVLy9pBKxSwXvE9FMPyR4UKZvpe6E3AgLr",
44
+ "eddbdc1168f1daeadbd3e44c1e3f8f5a284c2029f78ad26af98583a499de5b19",
45
+ {
46
+ "isCompressed": false,
47
+ "isPrivkey": true,
48
+ "chain": "main"
49
+ }
50
+ ],
51
+ [
52
+ "Kz6UJmQACJmLtaQj5A3JAge4kVTNQ8gbvXuwbmCj7bsaabudb3RD",
53
+ "55c9bccb9ed68446d1b75273bbce89d7fe013a8acd1625514420fb2aca1a21c4",
54
+ {
55
+ "isCompressed": true,
56
+ "isPrivkey": true,
57
+ "chain": "main"
58
+ }
59
+ ],
60
+ [
61
+ "9213qJab2HNEpMpYNBa7wHGFKKbkDn24jpANDs2huN3yi4J11ko",
62
+ "36cb93b9ab1bdabf7fb9f2c04f1b9cc879933530ae7842398eef5a63a56800c2",
63
+ {
64
+ "isCompressed": false,
65
+ "isPrivkey": true,
66
+ "chain": "test"
67
+ }
68
+ ],
69
+ [
70
+ "9213qJab2HNEpMpYNBa7wHGFKKbkDn24jpANDs2huN3yi4J11ko",
71
+ "36cb93b9ab1bdabf7fb9f2c04f1b9cc879933530ae7842398eef5a63a56800c2",
72
+ {
73
+ "isCompressed": false,
74
+ "isPrivkey": true,
75
+ "chain": "regtest"
76
+ }
77
+ ],
78
+ [
79
+ "cTpB4YiyKiBcPxnefsDpbnDxFDffjqJob8wGCEDXxgQ7zQoMXJdH",
80
+ "b9f4892c9e8282028fea1d2667c4dc5213564d41fc5783896a0d843fc15089f3",
81
+ {
82
+ "isCompressed": true,
83
+ "isPrivkey": true,
84
+ "chain": "test"
85
+ }
86
+ ],
87
+ [
88
+ "cTpB4YiyKiBcPxnefsDpbnDxFDffjqJob8wGCEDXxgQ7zQoMXJdH",
89
+ "b9f4892c9e8282028fea1d2667c4dc5213564d41fc5783896a0d843fc15089f3",
90
+ {
91
+ "isCompressed": true,
92
+ "isPrivkey": true,
93
+ "chain": "regtest"
94
+ }
95
+ ],
96
+ [
97
+ "1Ax4gZtb7gAit2TivwejZHYtNNLT18PUXJ",
98
+ "76a9146d23156cbbdcc82a5a47eee4c2c7c583c18b6bf488ac",
99
+ {
100
+ "isPrivkey": false,
101
+ "chain": "main"
102
+ }
103
+ ],
104
+ [
105
+ "3QjYXhTkvuj8qPaXHTTWb5wjXhdsLAAWVy",
106
+ "a914fcc5460dd6e2487c7d75b1963625da0e8f4c597587",
107
+ {
108
+ "isPrivkey": false,
109
+ "chain": "main"
110
+ }
111
+ ],
112
+ [
113
+ "n3ZddxzLvAY9o7184TB4c6FJasAybsw4HZ",
114
+ "76a914f1d470f9b02370fdec2e6b708b08ac431bf7a5f788ac",
115
+ {
116
+ "isPrivkey": false,
117
+ "chain": "test"
118
+ }
119
+ ],
120
+ [
121
+ "2NBFNJTktNa7GZusGbDbGKRZTxdK9VVez3n",
122
+ "a914c579342c2c4c9220205e2cdc285617040c924a0a87",
123
+ {
124
+ "isPrivkey": false,
125
+ "chain": "test"
126
+ }
127
+ ],
128
+ [
129
+ "5K494XZwps2bGyeL71pWid4noiSNA2cfCibrvRWqcHSptoFn7rc",
130
+ "a326b95ebae30164217d7a7f57d72ab2b54e3be64928a19da0210b9568d4015e",
131
+ {
132
+ "isCompressed": false,
133
+ "isPrivkey": true,
134
+ "chain": "main"
135
+ }
136
+ ],
137
+ [
138
+ "L1RrrnXkcKut5DEMwtDthjwRcTTwED36thyL1DebVrKuwvohjMNi",
139
+ "7d998b45c219a1e38e99e7cbd312ef67f77a455a9b50c730c27f02c6f730dfb4",
140
+ {
141
+ "isCompressed": true,
142
+ "isPrivkey": true,
143
+ "chain": "main"
144
+ }
145
+ ],
146
+ [
147
+ "93DVKyFYwSN6wEo3E2fCrFPUp17FtrtNi2Lf7n4G3garFb16CRj",
148
+ "d6bca256b5abc5602ec2e1c121a08b0da2556587430bcf7e1898af2224885203",
149
+ {
150
+ "isCompressed": false,
151
+ "isPrivkey": true,
152
+ "chain": "test"
153
+ }
154
+ ],
155
+ [
156
+ "cTDVKtMGVYWTHCb1AFjmVbEbWjvKpKqKgMaR3QJxToMSQAhmCeTN",
157
+ "a81ca4e8f90181ec4b61b6a7eb998af17b2cb04de8a03b504b9e34c4c61db7d9",
158
+ {
159
+ "isCompressed": true,
160
+ "isPrivkey": true,
161
+ "chain": "test"
162
+ }
163
+ ],
164
+ [
165
+ "1C5bSj1iEGUgSTbziymG7Cn18ENQuT36vv",
166
+ "76a9147987ccaa53d02c8873487ef919677cd3db7a691288ac",
167
+ {
168
+ "isPrivkey": false,
169
+ "chain": "main"
170
+ }
171
+ ],
172
+ [
173
+ "3AnNxabYGoTxYiTEZwFEnerUoeFXK2Zoks",
174
+ "a91463bcc565f9e68ee0189dd5cc67f1b0e5f02f45cb87",
175
+ {
176
+ "isPrivkey": false,
177
+ "chain": "main"
178
+ }
179
+ ],
180
+ [
181
+ "n3LnJXCqbPjghuVs8ph9CYsAe4Sh4j97wk",
182
+ "76a914ef66444b5b17f14e8fae6e7e19b045a78c54fd7988ac",
183
+ {
184
+ "isPrivkey": false,
185
+ "chain": "test"
186
+ }
187
+ ],
188
+ [
189
+ "2NB72XtkjpnATMggui83aEtPawyyKvnbX2o",
190
+ "a914c3e55fceceaa4391ed2a9677f4a4d34eacd021a087",
191
+ {
192
+ "isPrivkey": false,
193
+ "chain": "test"
194
+ }
195
+ ],
196
+ [
197
+ "5KaBW9vNtWNhc3ZEDyNCiXLPdVPHCikRxSBWwV9NrpLLa4LsXi9",
198
+ "e75d936d56377f432f404aabb406601f892fd49da90eb6ac558a733c93b47252",
199
+ {
200
+ "isCompressed": false,
201
+ "isPrivkey": true,
202
+ "chain": "main"
203
+ }
204
+ ],
205
+ [
206
+ "L1axzbSyynNYA8mCAhzxkipKkfHtAXYF4YQnhSKcLV8YXA874fgT",
207
+ "8248bd0375f2f75d7e274ae544fb920f51784480866b102384190b1addfbaa5c",
208
+ {
209
+ "isCompressed": true,
210
+ "isPrivkey": true,
211
+ "chain": "main"
212
+ }
213
+ ],
214
+ [
215
+ "927CnUkUbasYtDwYwVn2j8GdTuACNnKkjZ1rpZd2yBB1CLcnXpo",
216
+ "44c4f6a096eac5238291a94cc24c01e3b19b8d8cef72874a079e00a242237a52",
217
+ {
218
+ "isCompressed": false,
219
+ "isPrivkey": true,
220
+ "chain": "test"
221
+ }
222
+ ],
223
+ [
224
+ "cUcfCMRjiQf85YMzzQEk9d1s5A4K7xL5SmBCLrezqXFuTVefyhY7",
225
+ "d1de707020a9059d6d3abaf85e17967c6555151143db13dbb06db78df0f15c69",
226
+ {
227
+ "isCompressed": true,
228
+ "isPrivkey": true,
229
+ "chain": "test"
230
+ }
231
+ ],
232
+ [
233
+ "1Gqk4Tv79P91Cc1STQtU3s1W6277M2CVWu",
234
+ "76a914adc1cc2081a27206fae25792f28bbc55b831549d88ac",
235
+ {
236
+ "isPrivkey": false,
237
+ "chain": "main"
238
+ }
239
+ ],
240
+ [
241
+ "33vt8ViH5jsr115AGkW6cEmEz9MpvJSwDk",
242
+ "a914188f91a931947eddd7432d6e614387e32b24470987",
243
+ {
244
+ "isPrivkey": false,
245
+ "chain": "main"
246
+ }
247
+ ],
248
+ [
249
+ "mhaMcBxNh5cqXm4aTQ6EcVbKtfL6LGyK2H",
250
+ "76a9141694f5bc1a7295b600f40018a618a6ea48eeb49888ac",
251
+ {
252
+ "isPrivkey": false,
253
+ "chain": "test"
254
+ }
255
+ ],
256
+ [
257
+ "2MxgPqX1iThW3oZVk9KoFcE5M4JpiETssVN",
258
+ "a9143b9b3fd7a50d4f08d1a5b0f62f644fa7115ae2f387",
259
+ {
260
+ "isPrivkey": false,
261
+ "chain": "test"
262
+ }
263
+ ],
264
+ [
265
+ "5HtH6GdcwCJA4ggWEL1B3jzBBUB8HPiBi9SBc5h9i4Wk4PSeApR",
266
+ "091035445ef105fa1bb125eccfb1882f3fe69592265956ade751fd095033d8d0",
267
+ {
268
+ "isCompressed": false,
269
+ "isPrivkey": true,
270
+ "chain": "main"
271
+ }
272
+ ],
273
+ [
274
+ "L2xSYmMeVo3Zek3ZTsv9xUrXVAmrWxJ8Ua4cw8pkfbQhcEFhkXT8",
275
+ "ab2b4bcdfc91d34dee0ae2a8c6b6668dadaeb3a88b9859743156f462325187af",
276
+ {
277
+ "isCompressed": true,
278
+ "isPrivkey": true,
279
+ "chain": "main"
280
+ }
281
+ ],
282
+ [
283
+ "92xFEve1Z9N8Z641KQQS7ByCSb8kGjsDzw6fAmjHN1LZGKQXyMq",
284
+ "b4204389cef18bbe2b353623cbf93e8678fbc92a475b664ae98ed594e6cf0856",
285
+ {
286
+ "isCompressed": false,
287
+ "isPrivkey": true,
288
+ "chain": "test"
289
+ }
290
+ ],
291
+ [
292
+ "92xFEve1Z9N8Z641KQQS7ByCSb8kGjsDzw6fAmjHN1LZGKQXyMq",
293
+ "b4204389cef18bbe2b353623cbf93e8678fbc92a475b664ae98ed594e6cf0856",
294
+ {
295
+ "isCompressed": false,
296
+ "isPrivkey": true,
297
+ "chain": "regtest"
298
+ }
299
+ ],
300
+ [
301
+ "cVM65tdYu1YK37tNoAyGoJTR13VBYFva1vg9FLuPAsJijGvG6NEA",
302
+ "e7b230133f1b5489843260236b06edca25f66adb1be455fbd38d4010d48faeef",
303
+ {
304
+ "isCompressed": true,
305
+ "isPrivkey": true,
306
+ "chain": "test"
307
+ }
308
+ ],
309
+ [
310
+ "1JwMWBVLtiqtscbaRHai4pqHokhFCbtoB4",
311
+ "76a914c4c1b72491ede1eedaca00618407ee0b772cad0d88ac",
312
+ {
313
+ "isPrivkey": false,
314
+ "chain": "main"
315
+ }
316
+ ],
317
+ [
318
+ "3QCzvfL4ZRvmJFiWWBVwxfdaNBT8EtxB5y",
319
+ "a914f6fe69bcb548a829cce4c57bf6fff8af3a5981f987",
320
+ {
321
+ "isPrivkey": false,
322
+ "chain": "main"
323
+ }
324
+ ],
325
+ [
326
+ "mizXiucXRCsEriQCHUkCqef9ph9qtPbZZ6",
327
+ "76a914261f83568a098a8638844bd7aeca039d5f2352c088ac",
328
+ {
329
+ "isPrivkey": false,
330
+ "chain": "test"
331
+ }
332
+ ],
333
+ [
334
+ "2NEWDzHWwY5ZZp8CQWbB7ouNMLqCia6YRda",
335
+ "a914e930e1834a4d234702773951d627cce82fbb5d2e87",
336
+ {
337
+ "isPrivkey": false,
338
+ "chain": "test"
339
+ }
340
+ ],
341
+ [
342
+ "5KQmDryMNDcisTzRp3zEq9e4awRmJrEVU1j5vFRTKpRNYPqYrMg",
343
+ "d1fab7ab7385ad26872237f1eb9789aa25cc986bacc695e07ac571d6cdac8bc0",
344
+ {
345
+ "isCompressed": false,
346
+ "isPrivkey": true,
347
+ "chain": "main"
348
+ }
349
+ ],
350
+ [
351
+ "L39Fy7AC2Hhj95gh3Yb2AU5YHh1mQSAHgpNixvm27poizcJyLtUi",
352
+ "b0bbede33ef254e8376aceb1510253fc3550efd0fcf84dcd0c9998b288f166b3",
353
+ {
354
+ "isCompressed": true,
355
+ "isPrivkey": true,
356
+ "chain": "main"
357
+ }
358
+ ],
359
+ [
360
+ "91cTVUcgydqyZLgaANpf1fvL55FH53QMm4BsnCADVNYuWuqdVys",
361
+ "037f4192c630f399d9271e26c575269b1d15be553ea1a7217f0cb8513cef41cb",
362
+ {
363
+ "isCompressed": false,
364
+ "isPrivkey": true,
365
+ "chain": "test"
366
+ }
367
+ ],
368
+ [
369
+ "cQspfSzsgLeiJGB2u8vrAiWpCU4MxUT6JseWo2SjXy4Qbzn2fwDw",
370
+ "6251e205e8ad508bab5596bee086ef16cd4b239e0cc0c5d7c4e6035441e7d5de",
371
+ {
372
+ "isCompressed": true,
373
+ "isPrivkey": true,
374
+ "chain": "test"
375
+ }
376
+ ],
377
+ [
378
+ "19dcawoKcZdQz365WpXWMhX6QCUpR9SY4r",
379
+ "76a9145eadaf9bb7121f0f192561a5a62f5e5f5421029288ac",
380
+ {
381
+ "isPrivkey": false,
382
+ "chain": "main"
383
+ }
384
+ ],
385
+ [
386
+ "37Sp6Rv3y4kVd1nQ1JV5pfqXccHNyZm1x3",
387
+ "a9143f210e7277c899c3a155cc1c90f4106cbddeec6e87",
388
+ {
389
+ "isPrivkey": false,
390
+ "chain": "main"
391
+ }
392
+ ],
393
+ [
394
+ "myoqcgYiehufrsnnkqdqbp69dddVDMopJu",
395
+ "76a914c8a3c2a09a298592c3e180f02487cd91ba3400b588ac",
396
+ {
397
+ "isPrivkey": false,
398
+ "chain": "test"
399
+ }
400
+ ],
401
+ [
402
+ "2N7FuwuUuoTBrDFdrAZ9KxBmtqMLxce9i1C",
403
+ "a91499b31df7c9068d1481b596578ddbb4d3bd90baeb87",
404
+ {
405
+ "isPrivkey": false,
406
+ "chain": "test"
407
+ }
408
+ ],
409
+ [
410
+ "5KL6zEaMtPRXZKo1bbMq7JDjjo1bJuQcsgL33je3oY8uSJCR5b4",
411
+ "c7666842503db6dc6ea061f092cfb9c388448629a6fe868d068c42a488b478ae",
412
+ {
413
+ "isCompressed": false,
414
+ "isPrivkey": true,
415
+ "chain": "main"
416
+ }
417
+ ],
418
+ [
419
+ "KwV9KAfwbwt51veZWNscRTeZs9CKpojyu1MsPnaKTF5kz69H1UN2",
420
+ "07f0803fc5399e773555ab1e8939907e9badacc17ca129e67a2f5f2ff84351dd",
421
+ {
422
+ "isCompressed": true,
423
+ "isPrivkey": true,
424
+ "chain": "main"
425
+ }
426
+ ],
427
+ [
428
+ "93N87D6uxSBzwXvpokpzg8FFmfQPmvX4xHoWQe3pLdYpbiwT5YV",
429
+ "ea577acfb5d1d14d3b7b195c321566f12f87d2b77ea3a53f68df7ebf8604a801",
430
+ {
431
+ "isCompressed": false,
432
+ "isPrivkey": true,
433
+ "chain": "test"
434
+ }
435
+ ],
436
+ [
437
+ "cMxXusSihaX58wpJ3tNuuUcZEQGt6DKJ1wEpxys88FFaQCYjku9h",
438
+ "0b3b34f0958d8a268193a9814da92c3e8b58b4a4378a542863e34ac289cd830c",
439
+ {
440
+ "isCompressed": true,
441
+ "isPrivkey": true,
442
+ "chain": "test"
443
+ }
444
+ ],
445
+ [
446
+ "13p1ijLwsnrcuyqcTvJXkq2ASdXqcnEBLE",
447
+ "76a9141ed467017f043e91ed4c44b4e8dd674db211c4e688ac",
448
+ {
449
+ "isPrivkey": false,
450
+ "chain": "main"
451
+ }
452
+ ],
453
+ [
454
+ "3ALJH9Y951VCGcVZYAdpA3KchoP9McEj1G",
455
+ "a9145ece0cadddc415b1980f001785947120acdb36fc87",
456
+ {
457
+ "isPrivkey": false,
458
+ "chain": "main"
459
+ }
460
+ ],
461
+ [
462
+ "bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4",
463
+ "0014751e76e8199196d454941c45d1b3a323f1433bd6",
464
+ {
465
+ "isPrivkey": false,
466
+ "chain": "main",
467
+ "tryCaseFlip": true
468
+ }
469
+ ],
470
+ [
471
+ "bcrt1qw508d6qejxtdg4y5r3zarvary0c5xw7kygt080",
472
+ "0014751e76e8199196d454941c45d1b3a323f1433bd6",
473
+ {
474
+ "isPrivkey": false,
475
+ "chain": "regtest",
476
+ "tryCaseFlip": true
477
+ }
478
+ ],
479
+ [
480
+ "tb1qrp33g0q5c5txsp9arysrx4k6zdkfs4nce4xj0gdcccefvpysxf3q0sl5k7",
481
+ "00201863143c14c5166804bd19203356da136c985678cd4d27a1b8c6329604903262",
482
+ {
483
+ "isPrivkey": false,
484
+ "chain": "test",
485
+ "tryCaseFlip": true
486
+ }
487
+ ]
488
+ ]