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.
- 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
|