bsv-sdk 0.2.1 → 0.3.1

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 (48) hide show
  1. checksums.yaml +4 -4
  2. data/lib/bsv/network/arc.rb +11 -2
  3. data/lib/bsv/network/broadcast_response.rb +1 -2
  4. data/lib/bsv/primitives/bsm.rb +2 -6
  5. data/lib/bsv/primitives/curve.rb +1 -2
  6. data/lib/bsv/primitives/encrypted_message.rb +100 -0
  7. data/lib/bsv/primitives/extended_key.rb +1 -2
  8. data/lib/bsv/primitives/key_shares.rb +83 -0
  9. data/lib/bsv/primitives/mnemonic.rb +1 -3
  10. data/lib/bsv/primitives/point_in_finite_field.rb +72 -0
  11. data/lib/bsv/primitives/polynomial.rb +95 -0
  12. data/lib/bsv/primitives/private_key.rb +100 -3
  13. data/lib/bsv/primitives/signed_message.rb +104 -0
  14. data/lib/bsv/primitives/symmetric_key.rb +128 -0
  15. data/lib/bsv/primitives.rb +18 -12
  16. data/lib/bsv/script/interpreter/interpreter.rb +1 -3
  17. data/lib/bsv/script/interpreter/operations/bitwise.rb +1 -3
  18. data/lib/bsv/script/interpreter/operations/crypto.rb +3 -9
  19. data/lib/bsv/script/interpreter/operations/flow_control.rb +2 -6
  20. data/lib/bsv/script/interpreter/operations/splice.rb +1 -3
  21. data/lib/bsv/script/interpreter/script_number.rb +2 -7
  22. data/lib/bsv/script/script.rb +252 -1
  23. data/lib/bsv/transaction/beef.rb +1 -4
  24. data/lib/bsv/transaction/transaction.rb +123 -45
  25. data/lib/bsv/transaction/transaction_input.rb +1 -2
  26. data/lib/bsv/transaction/transaction_output.rb +1 -2
  27. data/lib/bsv/transaction/var_int.rb +4 -16
  28. data/lib/bsv/transaction.rb +14 -14
  29. data/lib/bsv/version.rb +1 -1
  30. data/lib/bsv/wallet_interface/chain_provider.rb +37 -0
  31. data/lib/bsv/wallet_interface/errors/invalid_hmac_error.rb +11 -0
  32. data/lib/bsv/wallet_interface/errors/invalid_parameter_error.rb +14 -0
  33. data/lib/bsv/wallet_interface/errors/invalid_signature_error.rb +11 -0
  34. data/lib/bsv/wallet_interface/errors/unsupported_action_error.rb +11 -0
  35. data/lib/bsv/wallet_interface/errors/wallet_error.rb +14 -0
  36. data/lib/bsv/wallet_interface/interface.rb +384 -0
  37. data/lib/bsv/wallet_interface/key_deriver.rb +144 -0
  38. data/lib/bsv/wallet_interface/memory_store.rb +130 -0
  39. data/lib/bsv/wallet_interface/null_chain_provider.rb +22 -0
  40. data/lib/bsv/wallet_interface/proto_wallet.rb +361 -0
  41. data/lib/bsv/wallet_interface/storage_adapter.rb +55 -0
  42. data/lib/bsv/wallet_interface/validators.rb +126 -0
  43. data/lib/bsv/wallet_interface/version.rb +7 -0
  44. data/lib/bsv/wallet_interface/wallet_client.rb +748 -0
  45. data/lib/bsv/wallet_interface.rb +27 -0
  46. data/lib/bsv-wallet.rb +4 -0
  47. metadata +26 -3
  48. /data/{LICENCE → LICENSE} +0 -0
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ module BSV
4
+ module WalletInterface
5
+ autoload :VERSION, 'bsv/wallet_interface/version'
6
+ end
7
+
8
+ module Wallet
9
+ # BRC-100 Interface
10
+ autoload :Interface, 'bsv/wallet_interface/interface'
11
+ autoload :KeyDeriver, 'bsv/wallet_interface/key_deriver'
12
+ autoload :ProtoWallet, 'bsv/wallet_interface/proto_wallet'
13
+ autoload :Validators, 'bsv/wallet_interface/validators'
14
+ autoload :StorageAdapter, 'bsv/wallet_interface/storage_adapter'
15
+ autoload :MemoryStore, 'bsv/wallet_interface/memory_store'
16
+ autoload :ChainProvider, 'bsv/wallet_interface/chain_provider'
17
+ autoload :NullChainProvider, 'bsv/wallet_interface/null_chain_provider'
18
+ autoload :WalletClient, 'bsv/wallet_interface/wallet_client'
19
+
20
+ # Error classes
21
+ autoload :WalletError, 'bsv/wallet_interface/errors/wallet_error'
22
+ autoload :InvalidParameterError, 'bsv/wallet_interface/errors/invalid_parameter_error'
23
+ autoload :InvalidHmacError, 'bsv/wallet_interface/errors/invalid_hmac_error'
24
+ autoload :InvalidSignatureError, 'bsv/wallet_interface/errors/invalid_signature_error'
25
+ autoload :UnsupportedActionError, 'bsv/wallet_interface/errors/unsupported_action_error'
26
+ end
27
+ end
data/lib/bsv-wallet.rb ADDED
@@ -0,0 +1,4 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'bsv-sdk'
4
+ require_relative 'bsv/wallet_interface'
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bsv-sdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Simon Bettison
8
8
  bindir: bin
9
9
  cert_chain: []
10
- date: 2026-03-07 00:00:00.000000000 Z
10
+ date: 2026-03-27 00:00:00.000000000 Z
11
11
  dependencies: []
12
12
  description: A Ruby library for interacting with the BSV Blockchain — keys, scripts,
13
13
  transactions, and more.
@@ -16,10 +16,11 @@ extensions: []
16
16
  extra_rdoc_files: []
17
17
  files:
18
18
  - CHANGELOG.md
19
- - LICENCE
19
+ - LICENSE
20
20
  - README.md
21
21
  - lib/bsv-attest.rb
22
22
  - lib/bsv-sdk.rb
23
+ - lib/bsv-wallet.rb
23
24
  - lib/bsv/attest.rb
24
25
  - lib/bsv/attest/configuration.rb
25
26
  - lib/bsv/attest/response.rb
@@ -39,13 +40,19 @@ files:
39
40
  - lib/bsv/primitives/digest.rb
40
41
  - lib/bsv/primitives/ecdsa.rb
41
42
  - lib/bsv/primitives/ecies.rb
43
+ - lib/bsv/primitives/encrypted_message.rb
42
44
  - lib/bsv/primitives/extended_key.rb
45
+ - lib/bsv/primitives/key_shares.rb
43
46
  - lib/bsv/primitives/mnemonic.rb
44
47
  - lib/bsv/primitives/mnemonic/wordlist.rb
48
+ - lib/bsv/primitives/point_in_finite_field.rb
49
+ - lib/bsv/primitives/polynomial.rb
45
50
  - lib/bsv/primitives/private_key.rb
46
51
  - lib/bsv/primitives/public_key.rb
47
52
  - lib/bsv/primitives/schnorr.rb
48
53
  - lib/bsv/primitives/signature.rb
54
+ - lib/bsv/primitives/signed_message.rb
55
+ - lib/bsv/primitives/symmetric_key.rb
49
56
  - lib/bsv/script.rb
50
57
  - lib/bsv/script/builder.rb
51
58
  - lib/bsv/script/chunk.rb
@@ -83,6 +90,22 @@ files:
83
90
  - lib/bsv/wallet.rb
84
91
  - lib/bsv/wallet/insufficient_funds_error.rb
85
92
  - lib/bsv/wallet/wallet.rb
93
+ - lib/bsv/wallet_interface.rb
94
+ - lib/bsv/wallet_interface/chain_provider.rb
95
+ - lib/bsv/wallet_interface/errors/invalid_hmac_error.rb
96
+ - lib/bsv/wallet_interface/errors/invalid_parameter_error.rb
97
+ - lib/bsv/wallet_interface/errors/invalid_signature_error.rb
98
+ - lib/bsv/wallet_interface/errors/unsupported_action_error.rb
99
+ - lib/bsv/wallet_interface/errors/wallet_error.rb
100
+ - lib/bsv/wallet_interface/interface.rb
101
+ - lib/bsv/wallet_interface/key_deriver.rb
102
+ - lib/bsv/wallet_interface/memory_store.rb
103
+ - lib/bsv/wallet_interface/null_chain_provider.rb
104
+ - lib/bsv/wallet_interface/proto_wallet.rb
105
+ - lib/bsv/wallet_interface/storage_adapter.rb
106
+ - lib/bsv/wallet_interface/validators.rb
107
+ - lib/bsv/wallet_interface/version.rb
108
+ - lib/bsv/wallet_interface/wallet_client.rb
86
109
  homepage: https://github.com/sgbett/bsv-ruby-sdk
87
110
  licenses:
88
111
  - LicenseRef-OpenBSV
File without changes