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.
- checksums.yaml +4 -4
- data/.travis.yml +1 -0
- data/COPYING +1 -1
- data/Gemfile.lock +9 -10
- data/README.rdoc +1 -1
- data/Rakefile +4 -2
- data/lib/bitcoin.rb +4 -2
- data/lib/bitcoin/bloom_filter.rb +125 -0
- data/lib/bitcoin/builder.rb +34 -9
- data/lib/bitcoin/ext_key.rb +191 -0
- data/lib/bitcoin/ffi/openssl.rb +1 -1
- data/lib/bitcoin/key.rb +6 -4
- data/lib/bitcoin/protocol.rb +13 -11
- data/lib/bitcoin/protocol/block.rb +38 -2
- data/lib/bitcoin/protocol/parser.rb +8 -0
- data/lib/bitcoin/protocol/partial_merkle_tree.rb +61 -0
- data/lib/bitcoin/protocol/script_witness.rb +31 -0
- data/lib/bitcoin/protocol/tx.rb +170 -10
- data/lib/bitcoin/protocol/txin.rb +8 -0
- data/lib/bitcoin/protocol/version.rb +2 -1
- data/lib/bitcoin/script.rb +58 -8
- data/lib/bitcoin/version.rb +1 -1
- data/spec/bitcoin/bloom_filter_spec.rb +23 -0
- data/spec/bitcoin/builder_spec.rb +12 -0
- data/spec/bitcoin/ext_key_spec.rb +180 -0
- data/spec/bitcoin/fixtures/filteredblock-0.bin +0 -0
- data/spec/bitcoin/fixtures/rawblock-testnet-1151351.bin +0 -0
- data/spec/bitcoin/fixtures/rawtx-p2wpkh.bin +0 -0
- data/spec/bitcoin/fixtures/rawtx-p2wpkh.json +67 -0
- data/spec/bitcoin/fixtures/tx-0a6a357e2f7796444e02638749d9611c008b253fb55f5dc88b739b230ed0c4c3.json +139 -0
- data/spec/bitcoin/fixtures/tx-28204cad1d7fc1d199e8ef4fa22f182de6258a3eaafe1bbe56ebdcacd3069a5f.json +34 -0
- data/spec/bitcoin/protocol/bip143_spec.rb +116 -0
- data/spec/bitcoin/protocol/block_spec.rb +27 -0
- data/spec/bitcoin/protocol/partial_merkle_tree_spec.rb +38 -0
- data/spec/bitcoin/protocol/tx_spec.rb +134 -1
- data/spec/bitcoin/script/script_spec.rb +53 -2
- 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.
|
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-
|
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.
|
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
|