bitcoin-ruby 0.0.10 → 0.0.11

Sign up to get free protection for your applications and to get access to all the features.
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