bitcoinrb 0.5.0 → 0.9.0
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/.github/workflows/ruby.yml +37 -0
- data/.rspec_parallel +2 -0
- data/.ruby-version +1 -1
- data/README.md +11 -1
- data/bitcoinrb.gemspec +7 -6
- data/lib/bitcoin/block_filter.rb +14 -0
- data/lib/bitcoin/chain_params.rb +9 -0
- data/lib/bitcoin/chainparams/signet.yml +39 -0
- data/lib/bitcoin/constants.rb +45 -4
- data/lib/bitcoin/descriptor.rb +1 -1
- data/lib/bitcoin/errors.rb +19 -0
- data/lib/bitcoin/ext/array_ext.rb +22 -0
- data/lib/bitcoin/ext/ecdsa.rb +36 -0
- data/lib/bitcoin/ext.rb +1 -0
- data/lib/bitcoin/ext_key.rb +36 -20
- data/lib/bitcoin/key.rb +85 -28
- data/lib/bitcoin/message/addr_v2.rb +34 -0
- data/lib/bitcoin/message/base.rb +16 -0
- data/lib/bitcoin/message/cfcheckpt.rb +2 -2
- data/lib/bitcoin/message/cfheaders.rb +1 -1
- data/lib/bitcoin/message/cfilter.rb +1 -1
- data/lib/bitcoin/message/fee_filter.rb +1 -1
- data/lib/bitcoin/message/filter_load.rb +3 -3
- data/lib/bitcoin/message/header_and_short_ids.rb +1 -1
- data/lib/bitcoin/message/inventory.rb +1 -1
- data/lib/bitcoin/message/merkle_block.rb +1 -1
- data/lib/bitcoin/message/network_addr.rb +141 -18
- data/lib/bitcoin/message/ping.rb +1 -1
- data/lib/bitcoin/message/pong.rb +1 -1
- data/lib/bitcoin/message/send_addr_v2.rb +13 -0
- data/lib/bitcoin/message/send_cmpct.rb +2 -2
- data/lib/bitcoin/message/tx.rb +1 -1
- data/lib/bitcoin/message.rb +72 -0
- data/lib/bitcoin/message_sign.rb +47 -0
- data/lib/bitcoin/mnemonic.rb +2 -2
- data/lib/bitcoin/network/peer_discovery.rb +1 -3
- data/lib/bitcoin/node/configuration.rb +3 -1
- data/lib/bitcoin/node/spv.rb +8 -0
- data/lib/bitcoin/opcodes.rb +14 -1
- data/lib/bitcoin/payment_code.rb +2 -2
- data/lib/bitcoin/payments/payment.pb.rb +1 -1
- data/lib/bitcoin/psbt/hd_key_path.rb +1 -1
- data/lib/bitcoin/psbt/input.rb +4 -4
- data/lib/bitcoin/psbt/output.rb +1 -1
- data/lib/bitcoin/psbt/tx.rb +14 -5
- data/lib/bitcoin/psbt.rb +8 -0
- data/lib/bitcoin/rpc/bitcoin_core_client.rb +1 -1
- data/lib/bitcoin/rpc/request_handler.rb +3 -3
- data/lib/bitcoin/script/script.rb +80 -30
- data/lib/bitcoin/script/script_error.rb +27 -1
- data/lib/bitcoin/script/script_interpreter.rb +164 -62
- data/lib/bitcoin/script/tx_checker.rb +62 -14
- data/lib/bitcoin/secp256k1/native.rb +184 -17
- data/lib/bitcoin/secp256k1/ruby.rb +108 -21
- data/lib/bitcoin/sighash_generator.rb +157 -0
- data/lib/bitcoin/taproot/leaf_node.rb +23 -0
- data/lib/bitcoin/taproot/simple_builder.rb +155 -0
- data/lib/bitcoin/taproot.rb +45 -0
- data/lib/bitcoin/tx.rb +30 -96
- data/lib/bitcoin/tx_in.rb +1 -1
- data/lib/bitcoin/tx_out.rb +2 -3
- data/lib/bitcoin/util.rb +15 -6
- data/lib/bitcoin/version.rb +1 -1
- data/lib/bitcoin/wallet/account.rb +1 -1
- data/lib/bitcoin.rb +32 -24
- metadata +58 -18
- data/.travis.yml +0 -12
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bitcoinrb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.9.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- azuchi
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-11-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: ecdsa
|
@@ -58,14 +58,14 @@ dependencies:
|
|
58
58
|
requirements:
|
59
59
|
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: 1.0
|
61
|
+
version: 1.1.0
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: 1.0
|
68
|
+
version: 1.1.0
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: daemon-spawn
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -179,33 +179,47 @@ dependencies:
|
|
179
179
|
- !ruby/object:Gem::Version
|
180
180
|
version: 3.8.5
|
181
181
|
- !ruby/object:Gem::Dependency
|
182
|
-
name:
|
182
|
+
name: json_pure
|
183
183
|
requirement: !ruby/object:Gem::Requirement
|
184
184
|
requirements:
|
185
185
|
- - ">="
|
186
186
|
- !ruby/object:Gem::Version
|
187
|
-
version:
|
187
|
+
version: 2.3.1
|
188
188
|
type: :runtime
|
189
189
|
prerelease: false
|
190
190
|
version_requirements: !ruby/object:Gem::Requirement
|
191
191
|
requirements:
|
192
192
|
- - ">="
|
193
193
|
- !ruby/object:Gem::Version
|
194
|
-
version:
|
194
|
+
version: 2.3.1
|
195
195
|
- !ruby/object:Gem::Dependency
|
196
|
-
name:
|
196
|
+
name: bip-schnorr
|
197
197
|
requirement: !ruby/object:Gem::Requirement
|
198
198
|
requirements:
|
199
199
|
- - ">="
|
200
200
|
- !ruby/object:Gem::Version
|
201
|
-
version:
|
201
|
+
version: 0.4.0
|
202
202
|
type: :runtime
|
203
203
|
prerelease: false
|
204
204
|
version_requirements: !ruby/object:Gem::Requirement
|
205
205
|
requirements:
|
206
206
|
- - ">="
|
207
207
|
- !ruby/object:Gem::Version
|
208
|
-
version:
|
208
|
+
version: 0.4.0
|
209
|
+
- !ruby/object:Gem::Dependency
|
210
|
+
name: base32
|
211
|
+
requirement: !ruby/object:Gem::Requirement
|
212
|
+
requirements:
|
213
|
+
- - ">="
|
214
|
+
- !ruby/object:Gem::Version
|
215
|
+
version: 0.3.4
|
216
|
+
type: :runtime
|
217
|
+
prerelease: false
|
218
|
+
version_requirements: !ruby/object:Gem::Requirement
|
219
|
+
requirements:
|
220
|
+
- - ">="
|
221
|
+
- !ruby/object:Gem::Version
|
222
|
+
version: 0.3.4
|
209
223
|
- !ruby/object:Gem::Dependency
|
210
224
|
name: leveldb-native
|
211
225
|
requirement: !ruby/object:Gem::Requirement
|
@@ -280,17 +294,31 @@ dependencies:
|
|
280
294
|
name: webmock
|
281
295
|
requirement: !ruby/object:Gem::Requirement
|
282
296
|
requirements:
|
283
|
-
- - "
|
297
|
+
- - ">="
|
284
298
|
- !ruby/object:Gem::Version
|
285
|
-
version:
|
299
|
+
version: 3.11.1
|
286
300
|
type: :development
|
287
301
|
prerelease: false
|
288
302
|
version_requirements: !ruby/object:Gem::Requirement
|
289
303
|
requirements:
|
290
|
-
- - "
|
304
|
+
- - ">="
|
291
305
|
- !ruby/object:Gem::Version
|
292
|
-
version:
|
293
|
-
|
306
|
+
version: 3.11.1
|
307
|
+
- !ruby/object:Gem::Dependency
|
308
|
+
name: parallel
|
309
|
+
requirement: !ruby/object:Gem::Requirement
|
310
|
+
requirements:
|
311
|
+
- - ">="
|
312
|
+
- !ruby/object:Gem::Version
|
313
|
+
version: 1.20.1
|
314
|
+
type: :development
|
315
|
+
prerelease: false
|
316
|
+
version_requirements: !ruby/object:Gem::Requirement
|
317
|
+
requirements:
|
318
|
+
- - ">="
|
319
|
+
- !ruby/object:Gem::Version
|
320
|
+
version: 1.20.1
|
321
|
+
description: The implementation of Bitcoin Protocol for Ruby.
|
294
322
|
email:
|
295
323
|
- azuchi@chaintope.com
|
296
324
|
executables:
|
@@ -299,11 +327,12 @@ executables:
|
|
299
327
|
extensions: []
|
300
328
|
extra_rdoc_files: []
|
301
329
|
files:
|
330
|
+
- ".github/workflows/ruby.yml"
|
302
331
|
- ".gitignore"
|
303
332
|
- ".rspec"
|
333
|
+
- ".rspec_parallel"
|
304
334
|
- ".ruby-gemset"
|
305
335
|
- ".ruby-version"
|
306
|
-
- ".travis.yml"
|
307
336
|
- CODE_OF_CONDUCT.md
|
308
337
|
- Gemfile
|
309
338
|
- LICENSE.txt
|
@@ -326,10 +355,14 @@ files:
|
|
326
355
|
- lib/bitcoin/chain_params.rb
|
327
356
|
- lib/bitcoin/chainparams/mainnet.yml
|
328
357
|
- lib/bitcoin/chainparams/regtest.yml
|
358
|
+
- lib/bitcoin/chainparams/signet.yml
|
329
359
|
- lib/bitcoin/chainparams/testnet.yml
|
330
360
|
- lib/bitcoin/constants.rb
|
331
361
|
- lib/bitcoin/descriptor.rb
|
362
|
+
- lib/bitcoin/errors.rb
|
332
363
|
- lib/bitcoin/ext.rb
|
364
|
+
- lib/bitcoin/ext/array_ext.rb
|
365
|
+
- lib/bitcoin/ext/ecdsa.rb
|
333
366
|
- lib/bitcoin/ext/json_parser.rb
|
334
367
|
- lib/bitcoin/ext_key.rb
|
335
368
|
- lib/bitcoin/gcs_filter.rb
|
@@ -339,6 +372,7 @@ files:
|
|
339
372
|
- lib/bitcoin/merkle_tree.rb
|
340
373
|
- lib/bitcoin/message.rb
|
341
374
|
- lib/bitcoin/message/addr.rb
|
375
|
+
- lib/bitcoin/message/addr_v2.rb
|
342
376
|
- lib/bitcoin/message/base.rb
|
343
377
|
- lib/bitcoin/message/block.rb
|
344
378
|
- lib/bitcoin/message/block_transaction_request.rb
|
@@ -376,11 +410,13 @@ files:
|
|
376
410
|
- lib/bitcoin/message/pong.rb
|
377
411
|
- lib/bitcoin/message/prefilled_tx.rb
|
378
412
|
- lib/bitcoin/message/reject.rb
|
413
|
+
- lib/bitcoin/message/send_addr_v2.rb
|
379
414
|
- lib/bitcoin/message/send_cmpct.rb
|
380
415
|
- lib/bitcoin/message/send_headers.rb
|
381
416
|
- lib/bitcoin/message/tx.rb
|
382
417
|
- lib/bitcoin/message/ver_ack.rb
|
383
418
|
- lib/bitcoin/message/version.rb
|
419
|
+
- lib/bitcoin/message_sign.rb
|
384
420
|
- lib/bitcoin/mnemonic.rb
|
385
421
|
- lib/bitcoin/mnemonic/wordlist/chinese_simplified.txt
|
386
422
|
- lib/bitcoin/mnemonic/wordlist/chinese_traditional.txt
|
@@ -429,6 +465,7 @@ files:
|
|
429
465
|
- lib/bitcoin/secp256k1/native.rb
|
430
466
|
- lib/bitcoin/secp256k1/rfc6979.rb
|
431
467
|
- lib/bitcoin/secp256k1/ruby.rb
|
468
|
+
- lib/bitcoin/sighash_generator.rb
|
432
469
|
- lib/bitcoin/slip39.rb
|
433
470
|
- lib/bitcoin/slip39/share.rb
|
434
471
|
- lib/bitcoin/slip39/sss.rb
|
@@ -439,6 +476,9 @@ files:
|
|
439
476
|
- lib/bitcoin/store/db/level_db.rb
|
440
477
|
- lib/bitcoin/store/spv_chain.rb
|
441
478
|
- lib/bitcoin/store/utxo_db.rb
|
479
|
+
- lib/bitcoin/taproot.rb
|
480
|
+
- lib/bitcoin/taproot/leaf_node.rb
|
481
|
+
- lib/bitcoin/taproot/simple_builder.rb
|
442
482
|
- lib/bitcoin/tx.rb
|
443
483
|
- lib/bitcoin/tx_in.rb
|
444
484
|
- lib/bitcoin/tx_out.rb
|
@@ -474,8 +514,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
474
514
|
- !ruby/object:Gem::Version
|
475
515
|
version: '0'
|
476
516
|
requirements: []
|
477
|
-
rubygems_version: 3.
|
517
|
+
rubygems_version: 3.2.22
|
478
518
|
signing_key:
|
479
519
|
specification_version: 4
|
480
|
-
summary:
|
520
|
+
summary: The implementation of Bitcoin Protocol for Ruby.
|
481
521
|
test_files: []
|