bitcoin-ruby 0.0.10 → 0.0.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +1 -0
  3. data/COPYING +1 -1
  4. data/Gemfile.lock +9 -10
  5. data/README.rdoc +1 -1
  6. data/Rakefile +4 -2
  7. data/lib/bitcoin.rb +4 -2
  8. data/lib/bitcoin/bloom_filter.rb +125 -0
  9. data/lib/bitcoin/builder.rb +34 -9
  10. data/lib/bitcoin/ext_key.rb +191 -0
  11. data/lib/bitcoin/ffi/openssl.rb +1 -1
  12. data/lib/bitcoin/key.rb +6 -4
  13. data/lib/bitcoin/protocol.rb +13 -11
  14. data/lib/bitcoin/protocol/block.rb +38 -2
  15. data/lib/bitcoin/protocol/parser.rb +8 -0
  16. data/lib/bitcoin/protocol/partial_merkle_tree.rb +61 -0
  17. data/lib/bitcoin/protocol/script_witness.rb +31 -0
  18. data/lib/bitcoin/protocol/tx.rb +170 -10
  19. data/lib/bitcoin/protocol/txin.rb +8 -0
  20. data/lib/bitcoin/protocol/version.rb +2 -1
  21. data/lib/bitcoin/script.rb +58 -8
  22. data/lib/bitcoin/version.rb +1 -1
  23. data/spec/bitcoin/bloom_filter_spec.rb +23 -0
  24. data/spec/bitcoin/builder_spec.rb +12 -0
  25. data/spec/bitcoin/ext_key_spec.rb +180 -0
  26. data/spec/bitcoin/fixtures/filteredblock-0.bin +0 -0
  27. data/spec/bitcoin/fixtures/rawblock-testnet-1151351.bin +0 -0
  28. data/spec/bitcoin/fixtures/rawtx-p2wpkh.bin +0 -0
  29. data/spec/bitcoin/fixtures/rawtx-p2wpkh.json +67 -0
  30. data/spec/bitcoin/fixtures/tx-0a6a357e2f7796444e02638749d9611c008b253fb55f5dc88b739b230ed0c4c3.json +139 -0
  31. data/spec/bitcoin/fixtures/tx-28204cad1d7fc1d199e8ef4fa22f182de6258a3eaafe1bbe56ebdcacd3069a5f.json +34 -0
  32. data/spec/bitcoin/protocol/bip143_spec.rb +116 -0
  33. data/spec/bitcoin/protocol/block_spec.rb +27 -0
  34. data/spec/bitcoin/protocol/partial_merkle_tree_spec.rb +38 -0
  35. data/spec/bitcoin/protocol/tx_spec.rb +134 -1
  36. data/spec/bitcoin/script/script_spec.rb +53 -2
  37. metadata +27 -3
@@ -13,7 +13,9 @@ describe 'Bitcoin::Script' do
13
13
  "524104573b6e9f3a714440048a7b87d606bcbf9e45b8586e70a67a3665ea720c095658471a523e5d923f3f3e015626e7c900bd08560ddffeb17d33c5b52c96edb875954104039c2f4e413a26901e67ad4adbb6a4759af87bc16c7120459ecc9482fed3dd4a4502947f7b4c7782dcadc2bed513ed14d5e770452b97ae246ac2030f13b80a5141048b0f9d04e495c3c754f8c3c109196d713d0778882ef098f785570ee6043f8c192d8f84df43ebafbcc168f5d95a074dc4010b62c003e560abc163c312966b74b653ae", # multisig 2 of 3
14
14
  "5141040ee607b584b36e995f2e96dec35457dbb40845d0ce0782c84002134e816a6b8cbc65e9eed047ae05e10760e4113f690fd49ad73b86b04a1d7813d843f8690ace4104220a78f5f6741bb0739675c2cc200643516b02cfdfda5cba21edeaa62c0f954936b30dfd956e3e99af0a8e7665cff6ac5b429c54c418184c81fbcd4bde4088f552ae", # multisig 1 of 2
15
15
  "a9149471864495192e39f5f74574b6c8c513588a820487", # p2sh
16
- "6a04deadbeef" # OP_RETURN deadbeef
16
+ "6a04deadbeef", # OP_RETURN deadbeef
17
+ "00141e205151c90c16475363d11b7b8c235cf6c7d695", # p2wpkh
18
+ "00205d1b56b63d714eebe542309525f484b7e9d6f686b3781b6f61ef925d66d6f6a0" # p2wsh
17
19
  ].map{|s|[s].pack("H*")}
18
20
  PUBKEYS = [
19
21
  "04fb0123fe2c399981bc77d522e2ae3268d2ab15e9a84ae49338a4b1db3886a1ea04cdab955d81e9fa1fcb0c062cb9a5af1ad5dd5064f4afcca322402b07030ec2",
@@ -144,6 +146,7 @@ describe 'Bitcoin::Script' do
144
146
  "17977bca1b6287a5e6559c57ef4b6525e9d7ded6"
145
147
  Script.from_string("OP_DUP OP_HASH160 0 OP_EQUALVERIFY OP_CHECKSIG")
146
148
  .get_hash160.should == nil
149
+ Script.new(SCRIPT[7]).get_hash160.should == "1e205151c90c16475363d11b7b8c235cf6c7d695"
147
150
  end
148
151
 
149
152
  it "#get_hash160_address" do
@@ -210,7 +213,6 @@ describe 'Bitcoin::Script' do
210
213
  Script.from_string("OP_RETURN deadbeef").get_op_return_data.should == "deadbeef"
211
214
  Script.from_string("OP_RETURN OP_CHECKSIG").get_op_return_data.should == "ac00"
212
215
  end
213
-
214
216
  end
215
217
 
216
218
  describe "determine type" do
@@ -223,6 +225,8 @@ describe 'Bitcoin::Script' do
223
225
  Script.new(SCRIPT[4]).is_standard?.should == true
224
226
  Script.new(SCRIPT[5]).is_standard?.should == true
225
227
  Script.new(SCRIPT[6]).is_standard?.should == true
228
+ Script.new(SCRIPT[7]).is_standard?.should == true
229
+ Script.new(SCRIPT[8]).is_standard?.should == true
226
230
  end
227
231
 
228
232
  it '#is_pubkey?' do
@@ -233,6 +237,8 @@ describe 'Bitcoin::Script' do
233
237
  Script.new(SCRIPT[4]).is_send_to_ip?.should == false
234
238
  Script.new(SCRIPT[5]).is_pubkey?.should == false
235
239
  Script.new(SCRIPT[6]).is_pubkey?.should == false
240
+ Script.new(SCRIPT[7]).is_pubkey?.should == false
241
+ Script.new(SCRIPT[8]).is_pubkey?.should == false
236
242
  Script.from_string("0 OP_CHECKSIG").is_pubkey?.should == false # testnet aba0441c4c9933dcd7db789c39053739ec435ab742ed2c23c05f22f1488c0bfd
237
243
  end
238
244
 
@@ -244,6 +250,8 @@ describe 'Bitcoin::Script' do
244
250
  .is_hash160?.should == false
245
251
  Script.new(SCRIPT[5]).is_hash160?.should == false
246
252
  Script.new(SCRIPT[6]).is_hash160?.should == false
253
+ Script.new(SCRIPT[7]).is_hash160?.should == false
254
+ Script.new(SCRIPT[8]).is_hash160?.should == false
247
255
  end
248
256
 
249
257
  it "#is_multisig?" do
@@ -251,6 +259,8 @@ describe 'Bitcoin::Script' do
251
259
  Script.new(SCRIPT[4]).is_multisig?.should == true
252
260
  Script.new(SCRIPT[0]).is_multisig?.should == false
253
261
  Script.new(SCRIPT[6]).is_multisig?.should == false
262
+ Script.new(SCRIPT[7]).is_multisig?.should == false
263
+ Script.new(SCRIPT[8]).is_multisig?.should == false
254
264
  Script.new("OP_DUP OP_DROP 2 #{PUBKEYS[0..2].join(' ')} 3 OP_CHECKMULTISIG")
255
265
  .is_multisig?.should == false
256
266
  Script.new("OP_DROP OP_CHECKMULTISIG").is_multisig?.should == false
@@ -265,6 +275,8 @@ describe 'Bitcoin::Script' do
265
275
  Script.new(SCRIPT[4]).is_p2sh?.should == false
266
276
  Script.new(SCRIPT[5]).is_p2sh?.should == true
267
277
  Script.new(SCRIPT[6]).is_p2sh?.should == false
278
+ Script.new(SCRIPT[7]).is_p2sh?.should == false
279
+ Script.new(SCRIPT[8]).is_p2sh?.should == false
268
280
  Script.from_string("OP_DUP OP_HASH160 b689ebc262f50297139e7d16c4f8909e14ed4322 OP_EQUALVERIFY OP_CHECKSIGVERIFY OP_HASH160 1b6246121883816fc0637e4aa280aca1df219b1a OP_EQUAL")
269
281
  .is_p2sh?.should == false
270
282
  end
@@ -277,11 +289,37 @@ describe 'Bitcoin::Script' do
277
289
  Script.new(SCRIPT[4]).is_op_return?.should == false
278
290
  Script.new(SCRIPT[5]).is_op_return?.should == false
279
291
  Script.new(SCRIPT[6]).is_op_return?.should == true
292
+ Script.new(SCRIPT[7]).is_op_return?.should == false
293
+ Script.new(SCRIPT[8]).is_op_return?.should == false
280
294
  Script.from_string("OP_RETURN dead beef").is_op_return?.should == false
281
295
  Script.from_string("OP_RETURN deadbeef").is_op_return?.should == true
282
296
  Script.from_string("OP_RETURN OP_CHECKSIG").is_op_return?.should == true
283
297
  end
284
298
 
299
+ it '#is_witness_v0_keyhash?' do
300
+ Script.new(SCRIPT[0]).is_witness_v0_keyhash?.should == false
301
+ Script.new(SCRIPT[1]).is_witness_v0_keyhash?.should == false
302
+ Script.new(SCRIPT[2]).is_witness_v0_keyhash?.should == false
303
+ Script.new(SCRIPT[3]).is_witness_v0_keyhash?.should == false
304
+ Script.new(SCRIPT[4]).is_witness_v0_keyhash?.should == false
305
+ Script.new(SCRIPT[5]).is_witness_v0_keyhash?.should == false
306
+ Script.new(SCRIPT[6]).is_witness_v0_keyhash?.should == false
307
+ Script.new(SCRIPT[7]).is_witness_v0_keyhash?.should == true
308
+ Script.new(SCRIPT[8]).is_witness_v0_keyhash?.should == false
309
+ end
310
+
311
+ it '#is_witness_v0_scripthash?' do
312
+ Script.new(SCRIPT[0]).is_witness_v0_scripthash?.should == false
313
+ Script.new(SCRIPT[1]).is_witness_v0_scripthash?.should == false
314
+ Script.new(SCRIPT[2]).is_witness_v0_scripthash?.should == false
315
+ Script.new(SCRIPT[3]).is_witness_v0_scripthash?.should == false
316
+ Script.new(SCRIPT[4]).is_witness_v0_scripthash?.should == false
317
+ Script.new(SCRIPT[5]).is_witness_v0_scripthash?.should == false
318
+ Script.new(SCRIPT[6]).is_witness_v0_scripthash?.should == false
319
+ Script.new(SCRIPT[7]).is_witness_v0_scripthash?.should == false
320
+ Script.new(SCRIPT[8]).is_witness_v0_scripthash?.should == true
321
+ end
322
+
285
323
  it "#type" do
286
324
  Script.new(SCRIPT[0]).type.should == :pubkey
287
325
  Script.new(SCRIPT[1]).type.should == :unknown
@@ -290,6 +328,8 @@ describe 'Bitcoin::Script' do
290
328
  Script.new(SCRIPT[4]).type.should == :multisig
291
329
  Script.new(SCRIPT[5]).type.should == :p2sh
292
330
  Script.new(SCRIPT[6]).type.should == :op_return
331
+ Script.new(SCRIPT[7]).type.should == :witness_v0_keyhash
332
+ Script.new(SCRIPT[8]).type.should == :witness_v0_scripthash
293
333
  Script.from_string("OP_RETURN OP_CHECKSIG").type.should == :op_return
294
334
  Script.from_string("OP_RETURN dead beef").type.should == :unknown
295
335
  end
@@ -336,6 +376,17 @@ describe 'Bitcoin::Script' do
336
376
  Script.from_string("OP_HASH160 #{hash160} OP_EQUAL").raw
337
377
  end
338
378
 
379
+ it "to_witness_hash160_script" do
380
+ hash160 = Bitcoin.hash160('025476c2e83188368da1ff3e292e7acafcdb3566bb0ad253f62fc70f07aeee6357')
381
+ Script.to_witness_hash160_script(hash160).should == Script.new("00141d0f172a0ecb48aee1be1f2687d2963ae33f71a1".htb).raw
382
+ end
383
+
384
+ it "should generate p2wsh script" do
385
+ witness_script = '21026dccc749adc2a9d0d89497ac511f760f45c47dc5ed9cf352a58ac706453880aeadab210255a9626aebf5e29c0e6538428ba0d1dcf6ca98ffdf086aa8ced5e0d0215ea465ac'
386
+ sha256 = Bitcoin.sha256(witness_script)
387
+ Script.to_witness_p2sh_script(sha256).should == Script.new("00205d1b56b63d714eebe542309525f484b7e9d6f686b3781b6f61ef925d66d6f6a0".htb).raw
388
+ end
389
+
339
390
  it "should generate op_return script" do
340
391
  Script.to_op_return_script("deadbeef").should == SCRIPT[6]
341
392
  Script.to_op_return_script.should == Script.from_string("OP_RETURN").raw
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bitcoin-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.10
4
+ version: 0.0.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - lian
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-01-16 00:00:00.000000000 Z
11
+ date: 2017-07-05 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: This is a ruby library for interacting with the bitcoin protocol/network
14
14
  email:
@@ -33,11 +33,13 @@ files:
33
33
  - examples/generate_tx.rb
34
34
  - examples/simple_network_monitor_and_util.rb
35
35
  - lib/bitcoin.rb
36
+ - lib/bitcoin/bloom_filter.rb
36
37
  - lib/bitcoin/builder.rb
37
38
  - lib/bitcoin/connection.rb
38
39
  - lib/bitcoin/contracthash.rb
39
40
  - lib/bitcoin/dogecoin.rb
40
41
  - lib/bitcoin/electrum/mnemonic.rb
42
+ - lib/bitcoin/ext_key.rb
41
43
  - lib/bitcoin/ffi/bitcoinconsensus.rb
42
44
  - lib/bitcoin/ffi/openssl.rb
43
45
  - lib/bitcoin/ffi/secp256k1.rb
@@ -51,7 +53,9 @@ files:
51
53
  - lib/bitcoin/protocol/block.rb
52
54
  - lib/bitcoin/protocol/handler.rb
53
55
  - lib/bitcoin/protocol/parser.rb
56
+ - lib/bitcoin/protocol/partial_merkle_tree.rb
54
57
  - lib/bitcoin/protocol/reject.rb
58
+ - lib/bitcoin/protocol/script_witness.rb
55
59
  - lib/bitcoin/protocol/tx.rb
56
60
  - lib/bitcoin/protocol/txin.rb
57
61
  - lib/bitcoin/protocol/txout.rb
@@ -60,9 +64,11 @@ files:
60
64
  - lib/bitcoin/trezor/mnemonic.rb
61
65
  - lib/bitcoin/version.rb
62
66
  - spec/bitcoin/bitcoin_spec.rb
67
+ - spec/bitcoin/bloom_filter_spec.rb
63
68
  - spec/bitcoin/builder_spec.rb
64
69
  - spec/bitcoin/contracthash_spec.rb
65
70
  - spec/bitcoin/dogecoin_spec.rb
71
+ - spec/bitcoin/ext_key_spec.rb
66
72
  - spec/bitcoin/ffi_openssl.rb
67
73
  - spec/bitcoin/fixtures/000000000000056b1a3d84a1e2b33cde8915a4b61c0cae14fca6d3e1490b4f98.json
68
74
  - spec/bitcoin/fixtures/03d7e1fa4d5fefa169431f24f7798552861b255cd55d377066fedcd088fb0e99.json
@@ -91,6 +97,7 @@ files:
91
97
  - spec/bitcoin/fixtures/coinbase.json
92
98
  - spec/bitcoin/fixtures/dogecoin-block-60323982f9c5ff1b5a954eac9dc1269352835f47c2c5222691d80f0d50dcf053.bin
93
99
  - spec/bitcoin/fixtures/f003f0c1193019db2497a675fd05d9f2edddf9b67c59e677c48d3dbd4ed5f00b.json
100
+ - spec/bitcoin/fixtures/filteredblock-0.bin
94
101
  - spec/bitcoin/fixtures/litecoin-block-80ca095ed10b02e53d769eb6eaf92cd04e9e0759e5be4a8477b42911ba49c78f.bin
95
102
  - spec/bitcoin/fixtures/litecoin-block-80ca095ed10b02e53d769eb6eaf92cd04e9e0759e5be4a8477b42911ba49c78f.json
96
103
  - spec/bitcoin/fixtures/litecoin-genesis-block-12a765e31ffd4059bada1e25190f6e98c99d9714d334efa41a195a7e7e04bfe2.bin
@@ -107,6 +114,7 @@ files:
107
114
  - spec/bitcoin/fixtures/rawblock-9.bin
108
115
  - spec/bitcoin/fixtures/rawblock-9.json
109
116
  - spec/bitcoin/fixtures/rawblock-auxpow.bin
117
+ - spec/bitcoin/fixtures/rawblock-testnet-1151351.bin
110
118
  - spec/bitcoin/fixtures/rawblock-testnet-26478.bin
111
119
  - spec/bitcoin/fixtures/rawblock-testnet-26478.json
112
120
  - spec/bitcoin/fixtures/rawblock-testnet-265322.bin
@@ -132,6 +140,8 @@ files:
132
140
  - spec/bitcoin/fixtures/rawtx-c99c49da4c38af669dea436d3e73780dfdb6c1ecf9958baa52960e8baee30e73.json
133
141
  - spec/bitcoin/fixtures/rawtx-de35d060663750b3975b7997bde7fb76307cec5b270d12fcd9c4ad98b279c28c.json
134
142
  - spec/bitcoin/fixtures/rawtx-f4184fc596403b9d638783cf57adfe4c75c605f6356fbc91338530e9831e9e16.bin
143
+ - spec/bitcoin/fixtures/rawtx-p2wpkh.bin
144
+ - spec/bitcoin/fixtures/rawtx-p2wpkh.json
135
145
  - spec/bitcoin/fixtures/rawtx-testnet-04fdc38d6722ab4b12d79113fc4b2896bdcc5169710690ee4e78541b98e467b4.bin
136
146
  - spec/bitcoin/fixtures/rawtx-testnet-0b294c7d11dd21bcccb8393e6744fed7d4d1981a08c00e3e88838cc421f33c9f.bin
137
147
  - spec/bitcoin/fixtures/rawtx-testnet-3bc52ac063291ad92d95ddda5fd776a342083b95607ad32ed8bc6f8f7d30449e.bin
@@ -153,6 +163,7 @@ files:
153
163
  - spec/bitcoin/fixtures/testnet/block_5.bin
154
164
  - spec/bitcoin/fixtures/tx-0295028ef826b2a188409cb905b631faebb9bb3cdf14510571c5f4bd8591338f.json
155
165
  - spec/bitcoin/fixtures/tx-03339a725007a279484fb6f5361f522dd1cf4d0923d30e6b973290dba4275f92.json
166
+ - spec/bitcoin/fixtures/tx-0a6a357e2f7796444e02638749d9611c008b253fb55f5dc88b739b230ed0c4c3.json
156
167
  - spec/bitcoin/fixtures/tx-0ce7e5238fbdb6c086cf1b384b21b827e91cc23f360417265874a5a0d86ce367.json
157
168
  - spec/bitcoin/fixtures/tx-0ef34c49f630aea17df0080728b0fc67bf5f87fbda936934a4b11b4a69d7821e.json
158
169
  - spec/bitcoin/fixtures/tx-1129d2a8bd5bb3a81e54dc96a90f1f6b2544575748caa17243470935c5dd91b7.json
@@ -160,6 +171,7 @@ files:
160
171
  - spec/bitcoin/fixtures/tx-1a4f3b9dc4494aeedeb39f30dd37e60541b2abe3ed4977992017cc0ad4f44956.json
161
172
  - spec/bitcoin/fixtures/tx-1f9191dcf2b1844ca28c6ef4b969e1d5fab70a5e3c56b7007949e55851cb0c4f.json
162
173
  - spec/bitcoin/fixtures/tx-22cd5fef23684d7b304e119bedffde6f54538d3d54a5bfa237e20dc2d9b4b5ad.json
174
+ - spec/bitcoin/fixtures/tx-28204cad1d7fc1d199e8ef4fa22f182de6258a3eaafe1bbe56ebdcacd3069a5f.json
163
175
  - spec/bitcoin/fixtures/tx-2958fb00b4fd6fe0353503b886eb9a193d502f4fd5fc042d5e03216ba918bbd6.json
164
176
  - spec/bitcoin/fixtures/tx-29f277145749ad6efbed3ae6ce301f8d33c585ec26b7c044ad93c2f866e9e942.json
165
177
  - spec/bitcoin/fixtures/tx-2c5e5376c20e9cc78d0fb771730e5d840cc2096eff0ef045b599fe92475ace1c.json
@@ -210,11 +222,13 @@ files:
210
222
  - spec/bitcoin/protocol/addr_spec.rb
211
223
  - spec/bitcoin/protocol/alert_spec.rb
212
224
  - spec/bitcoin/protocol/aux_pow_spec.rb
225
+ - spec/bitcoin/protocol/bip143_spec.rb
213
226
  - spec/bitcoin/protocol/block_spec.rb
214
227
  - spec/bitcoin/protocol/getblocks_spec.rb
215
228
  - spec/bitcoin/protocol/inv_spec.rb
216
229
  - spec/bitcoin/protocol/notfound_spec.rb
217
230
  - spec/bitcoin/protocol/parser_spec.rb
231
+ - spec/bitcoin/protocol/partial_merkle_tree_spec.rb
218
232
  - spec/bitcoin/protocol/ping_spec.rb
219
233
  - spec/bitcoin/protocol/reject.rb
220
234
  - spec/bitcoin/protocol/tx_spec.rb
@@ -245,15 +259,17 @@ required_rubygems_version: !ruby/object:Gem::Requirement
245
259
  version: 1.3.6
246
260
  requirements: []
247
261
  rubyforge_project: bitcoin-ruby
248
- rubygems_version: 2.5.2
262
+ rubygems_version: 2.6.11
249
263
  signing_key:
250
264
  specification_version: 4
251
265
  summary: bitcoin utils and protocol in ruby
252
266
  test_files:
253
267
  - spec/bitcoin/bitcoin_spec.rb
268
+ - spec/bitcoin/bloom_filter_spec.rb
254
269
  - spec/bitcoin/builder_spec.rb
255
270
  - spec/bitcoin/contracthash_spec.rb
256
271
  - spec/bitcoin/dogecoin_spec.rb
272
+ - spec/bitcoin/ext_key_spec.rb
257
273
  - spec/bitcoin/ffi_openssl.rb
258
274
  - spec/bitcoin/fixtures/000000000000056b1a3d84a1e2b33cde8915a4b61c0cae14fca6d3e1490b4f98.json
259
275
  - spec/bitcoin/fixtures/03d7e1fa4d5fefa169431f24f7798552861b255cd55d377066fedcd088fb0e99.json
@@ -282,6 +298,7 @@ test_files:
282
298
  - spec/bitcoin/fixtures/coinbase.json
283
299
  - spec/bitcoin/fixtures/dogecoin-block-60323982f9c5ff1b5a954eac9dc1269352835f47c2c5222691d80f0d50dcf053.bin
284
300
  - spec/bitcoin/fixtures/f003f0c1193019db2497a675fd05d9f2edddf9b67c59e677c48d3dbd4ed5f00b.json
301
+ - spec/bitcoin/fixtures/filteredblock-0.bin
285
302
  - spec/bitcoin/fixtures/litecoin-block-80ca095ed10b02e53d769eb6eaf92cd04e9e0759e5be4a8477b42911ba49c78f.bin
286
303
  - spec/bitcoin/fixtures/litecoin-block-80ca095ed10b02e53d769eb6eaf92cd04e9e0759e5be4a8477b42911ba49c78f.json
287
304
  - spec/bitcoin/fixtures/litecoin-genesis-block-12a765e31ffd4059bada1e25190f6e98c99d9714d334efa41a195a7e7e04bfe2.bin
@@ -298,6 +315,7 @@ test_files:
298
315
  - spec/bitcoin/fixtures/rawblock-9.bin
299
316
  - spec/bitcoin/fixtures/rawblock-9.json
300
317
  - spec/bitcoin/fixtures/rawblock-auxpow.bin
318
+ - spec/bitcoin/fixtures/rawblock-testnet-1151351.bin
301
319
  - spec/bitcoin/fixtures/rawblock-testnet-26478.bin
302
320
  - spec/bitcoin/fixtures/rawblock-testnet-26478.json
303
321
  - spec/bitcoin/fixtures/rawblock-testnet-265322.bin
@@ -323,6 +341,8 @@ test_files:
323
341
  - spec/bitcoin/fixtures/rawtx-c99c49da4c38af669dea436d3e73780dfdb6c1ecf9958baa52960e8baee30e73.json
324
342
  - spec/bitcoin/fixtures/rawtx-de35d060663750b3975b7997bde7fb76307cec5b270d12fcd9c4ad98b279c28c.json
325
343
  - spec/bitcoin/fixtures/rawtx-f4184fc596403b9d638783cf57adfe4c75c605f6356fbc91338530e9831e9e16.bin
344
+ - spec/bitcoin/fixtures/rawtx-p2wpkh.bin
345
+ - spec/bitcoin/fixtures/rawtx-p2wpkh.json
326
346
  - spec/bitcoin/fixtures/rawtx-testnet-04fdc38d6722ab4b12d79113fc4b2896bdcc5169710690ee4e78541b98e467b4.bin
327
347
  - spec/bitcoin/fixtures/rawtx-testnet-0b294c7d11dd21bcccb8393e6744fed7d4d1981a08c00e3e88838cc421f33c9f.bin
328
348
  - spec/bitcoin/fixtures/rawtx-testnet-3bc52ac063291ad92d95ddda5fd776a342083b95607ad32ed8bc6f8f7d30449e.bin
@@ -344,6 +364,7 @@ test_files:
344
364
  - spec/bitcoin/fixtures/testnet/block_5.bin
345
365
  - spec/bitcoin/fixtures/tx-0295028ef826b2a188409cb905b631faebb9bb3cdf14510571c5f4bd8591338f.json
346
366
  - spec/bitcoin/fixtures/tx-03339a725007a279484fb6f5361f522dd1cf4d0923d30e6b973290dba4275f92.json
367
+ - spec/bitcoin/fixtures/tx-0a6a357e2f7796444e02638749d9611c008b253fb55f5dc88b739b230ed0c4c3.json
347
368
  - spec/bitcoin/fixtures/tx-0ce7e5238fbdb6c086cf1b384b21b827e91cc23f360417265874a5a0d86ce367.json
348
369
  - spec/bitcoin/fixtures/tx-0ef34c49f630aea17df0080728b0fc67bf5f87fbda936934a4b11b4a69d7821e.json
349
370
  - spec/bitcoin/fixtures/tx-1129d2a8bd5bb3a81e54dc96a90f1f6b2544575748caa17243470935c5dd91b7.json
@@ -351,6 +372,7 @@ test_files:
351
372
  - spec/bitcoin/fixtures/tx-1a4f3b9dc4494aeedeb39f30dd37e60541b2abe3ed4977992017cc0ad4f44956.json
352
373
  - spec/bitcoin/fixtures/tx-1f9191dcf2b1844ca28c6ef4b969e1d5fab70a5e3c56b7007949e55851cb0c4f.json
353
374
  - spec/bitcoin/fixtures/tx-22cd5fef23684d7b304e119bedffde6f54538d3d54a5bfa237e20dc2d9b4b5ad.json
375
+ - spec/bitcoin/fixtures/tx-28204cad1d7fc1d199e8ef4fa22f182de6258a3eaafe1bbe56ebdcacd3069a5f.json
354
376
  - spec/bitcoin/fixtures/tx-2958fb00b4fd6fe0353503b886eb9a193d502f4fd5fc042d5e03216ba918bbd6.json
355
377
  - spec/bitcoin/fixtures/tx-29f277145749ad6efbed3ae6ce301f8d33c585ec26b7c044ad93c2f866e9e942.json
356
378
  - spec/bitcoin/fixtures/tx-2c5e5376c20e9cc78d0fb771730e5d840cc2096eff0ef045b599fe92475ace1c.json
@@ -401,11 +423,13 @@ test_files:
401
423
  - spec/bitcoin/protocol/addr_spec.rb
402
424
  - spec/bitcoin/protocol/alert_spec.rb
403
425
  - spec/bitcoin/protocol/aux_pow_spec.rb
426
+ - spec/bitcoin/protocol/bip143_spec.rb
404
427
  - spec/bitcoin/protocol/block_spec.rb
405
428
  - spec/bitcoin/protocol/getblocks_spec.rb
406
429
  - spec/bitcoin/protocol/inv_spec.rb
407
430
  - spec/bitcoin/protocol/notfound_spec.rb
408
431
  - spec/bitcoin/protocol/parser_spec.rb
432
+ - spec/bitcoin/protocol/partial_merkle_tree_spec.rb
409
433
  - spec/bitcoin/protocol/ping_spec.rb
410
434
  - spec/bitcoin/protocol/reject.rb
411
435
  - spec/bitcoin/protocol/tx_spec.rb