solana-ruby-kit 7.1.1 → 7.1.1.2

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 (57) hide show
  1. checksums.yaml +4 -4
  2. data/lib/solana/ruby/kit/codecs/bytes.rb +5 -1
  3. data/lib/solana/ruby/kit/codecs/data_structures.rb +5 -1
  4. data/lib/solana/ruby/kit/codecs/numbers.rb +5 -1
  5. data/lib/solana/ruby/kit/codecs/strings.rb +5 -1
  6. data/lib/solana/ruby/kit/codecs.rb +3 -1
  7. data/lib/solana/ruby/kit/errors.rb +2 -0
  8. data/lib/solana/ruby/kit/functional.rb +1 -1
  9. data/lib/solana/ruby/kit/instruction_plans/instruction_plan.rb +13 -1
  10. data/lib/solana/ruby/kit/instruction_plans/transaction_plan.rb +9 -0
  11. data/lib/solana/ruby/kit/instruction_plans/transaction_plan_executor.rb +13 -3
  12. data/lib/solana/ruby/kit/instruction_plans/transaction_plan_result.rb +18 -0
  13. data/lib/solana/ruby/kit/instruction_plans/transaction_planner.rb +24 -2
  14. data/lib/solana/ruby/kit/rpc/api/get_account_info.rb +5 -0
  15. data/lib/solana/ruby/kit/rpc/api/get_balance.rb +4 -0
  16. data/lib/solana/ruby/kit/rpc/api/get_block_height.rb +5 -0
  17. data/lib/solana/ruby/kit/rpc/api/get_block_time.rb +5 -0
  18. data/lib/solana/ruby/kit/rpc/api/get_epoch_info.rb +5 -0
  19. data/lib/solana/ruby/kit/rpc/api/get_epoch_schedule.rb +5 -0
  20. data/lib/solana/ruby/kit/rpc/api/get_inflation_reward.rb +6 -1
  21. data/lib/solana/ruby/kit/rpc/api/get_latest_blockhash.rb +4 -0
  22. data/lib/solana/ruby/kit/rpc/api/get_minimum_balance_for_rent_exemption.rb +5 -0
  23. data/lib/solana/ruby/kit/rpc/api/get_multiple_accounts.rb +5 -0
  24. data/lib/solana/ruby/kit/rpc/api/get_program_accounts.rb +5 -0
  25. data/lib/solana/ruby/kit/rpc/api/get_signature_statuses.rb +4 -0
  26. data/lib/solana/ruby/kit/rpc/api/get_signatures_for_address.rb +5 -0
  27. data/lib/solana/ruby/kit/rpc/api/get_slot.rb +5 -0
  28. data/lib/solana/ruby/kit/rpc/api/get_token_account_balance.rb +5 -0
  29. data/lib/solana/ruby/kit/rpc/api/get_token_accounts_by_owner.rb +5 -0
  30. data/lib/solana/ruby/kit/rpc/api/get_token_supply.rb +43 -0
  31. data/lib/solana/ruby/kit/rpc/api/get_transaction.rb +5 -0
  32. data/lib/solana/ruby/kit/rpc/api/get_transactions_for_address.rb +5 -0
  33. data/lib/solana/ruby/kit/rpc/api/get_vote_accounts.rb +5 -0
  34. data/lib/solana/ruby/kit/rpc/api/has_transport.rb +25 -0
  35. data/lib/solana/ruby/kit/rpc/api/is_blockhash_valid.rb +4 -0
  36. data/lib/solana/ruby/kit/rpc/api/request_airdrop.rb +4 -0
  37. data/lib/solana/ruby/kit/rpc/api/send_transaction.rb +5 -0
  38. data/lib/solana/ruby/kit/rpc/api/simulate_transaction.rb +5 -0
  39. data/lib/solana/ruby/kit/rpc/client.rb +6 -1
  40. data/lib/solana/ruby/kit/rpc_subscriptions/api/account_notifications.rb +5 -0
  41. data/lib/solana/ruby/kit/rpc_subscriptions/api/has_transport.rb +35 -0
  42. data/lib/solana/ruby/kit/rpc_subscriptions/api/logs_notifications.rb +5 -0
  43. data/lib/solana/ruby/kit/rpc_subscriptions/api/program_notifications.rb +5 -0
  44. data/lib/solana/ruby/kit/rpc_subscriptions/api/root_notifications.rb +5 -0
  45. data/lib/solana/ruby/kit/rpc_subscriptions/api/signature_notifications.rb +5 -0
  46. data/lib/solana/ruby/kit/rpc_subscriptions/api/slot_notifications.rb +5 -0
  47. data/lib/solana/ruby/kit/rpc_subscriptions/client.rb +5 -2
  48. data/lib/solana/ruby/kit/rpc_types/sol.rb +8 -6
  49. data/lib/solana/ruby/kit/subscribable/reactive_action_store.rb +6 -6
  50. data/lib/solana/ruby/kit/subscribable/reactive_stream_store.rb +4 -4
  51. data/lib/solana/ruby/kit/transaction_messages/compute_budget.rb +4 -4
  52. data/lib/solana/ruby/kit/version.rb +1 -1
  53. data/lib/solana/ruby/kit/wallet_standard.rb +4 -4
  54. data/solana-ruby-kit.gemspec +6 -0
  55. metadata +24 -3
  56. data/lib/core_extensions/tapioca/name_patch.rb +0 -32
  57. data/lib/core_extensions/tapioca/required_ancestors.rb +0 -13
@@ -23,6 +23,12 @@ Gem::Specification.new do |spec|
23
23
  spec.files = Dir['lib/**/*.rb', 'lib/**/*.tt'] + ['LICENSE', 'README.md', 'solana-ruby-kit.gemspec']
24
24
  spec.extra_rdoc_files = ['LICENSE', 'README.md']
25
25
 
26
+ # `rpc_types/sol.rb` requires bigdecimal, which stopped being a default gem
27
+ # in Ruby 3.4. Without this the gem does not load at all on 3.4+; it went
28
+ # unnoticed because webmock -> crack pulls bigdecimal into development.
29
+ # Bounded rather than `~> 3.1` because 4.x is current and the only API used
30
+ # here is the Kernel#BigDecimal conversion, unchanged across both majors.
31
+ spec.add_dependency 'bigdecimal', '>= 3.1', '< 5'
26
32
  spec.add_dependency 'openssl', '~> 3.3'
27
33
  # Sorbet does not follow semver — the patch component is a build number, and the
28
34
  # runtime must track the compiler's series — so these are bounded at the minor level.
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: solana-ruby-kit
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.1.1
4
+ version: 7.1.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Paul Zupan, Idhra Inc.
@@ -9,6 +9,26 @@ bindir: bin
9
9
  cert_chain: []
10
10
  date: 1980-01-02 00:00:00.000000000 Z
11
11
  dependencies:
12
+ - !ruby/object:Gem::Dependency
13
+ name: bigdecimal
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - ">="
17
+ - !ruby/object:Gem::Version
18
+ version: '3.1'
19
+ - - "<"
20
+ - !ruby/object:Gem::Version
21
+ version: '5'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ requirements:
26
+ - - ">="
27
+ - !ruby/object:Gem::Version
28
+ version: '3.1'
29
+ - - "<"
30
+ - !ruby/object:Gem::Version
31
+ version: '5'
12
32
  - !ruby/object:Gem::Dependency
13
33
  name: openssl
14
34
  requirement: !ruby/object:Gem::Requirement
@@ -185,8 +205,6 @@ extra_rdoc_files:
185
205
  files:
186
206
  - LICENSE
187
207
  - README.md
188
- - lib/core_extensions/tapioca/name_patch.rb
189
- - lib/core_extensions/tapioca/required_ancestors.rb
190
208
  - lib/generators/solana/ruby/kit/install/install_generator.rb
191
209
  - lib/generators/solana/ruby/kit/install/templates/solana_ruby_kit.rb.tt
192
210
  - lib/solana/ruby/kit.rb
@@ -259,9 +277,11 @@ files:
259
277
  - lib/solana/ruby/kit/rpc/api/get_slot.rb
260
278
  - lib/solana/ruby/kit/rpc/api/get_token_account_balance.rb
261
279
  - lib/solana/ruby/kit/rpc/api/get_token_accounts_by_owner.rb
280
+ - lib/solana/ruby/kit/rpc/api/get_token_supply.rb
262
281
  - lib/solana/ruby/kit/rpc/api/get_transaction.rb
263
282
  - lib/solana/ruby/kit/rpc/api/get_transactions_for_address.rb
264
283
  - lib/solana/ruby/kit/rpc/api/get_vote_accounts.rb
284
+ - lib/solana/ruby/kit/rpc/api/has_transport.rb
265
285
  - lib/solana/ruby/kit/rpc/api/is_blockhash_valid.rb
266
286
  - lib/solana/ruby/kit/rpc/api/request_airdrop.rb
267
287
  - lib/solana/ruby/kit/rpc/api/send_transaction.rb
@@ -276,6 +296,7 @@ files:
276
296
  - lib/solana/ruby/kit/rpc_parsed_types/vote_account.rb
277
297
  - lib/solana/ruby/kit/rpc_subscriptions.rb
278
298
  - lib/solana/ruby/kit/rpc_subscriptions/api/account_notifications.rb
299
+ - lib/solana/ruby/kit/rpc_subscriptions/api/has_transport.rb
279
300
  - lib/solana/ruby/kit/rpc_subscriptions/api/logs_notifications.rb
280
301
  - lib/solana/ruby/kit/rpc_subscriptions/api/program_notifications.rb
281
302
  - lib/solana/ruby/kit/rpc_subscriptions/api/root_notifications.rb
@@ -1,32 +0,0 @@
1
- # typed: true
2
- # frozen_string_literal: true
3
-
4
- module T
5
- module Types
6
- class Simple
7
- module NamePatch
8
- NAME_METHOD = T.let(::Module.instance_method(:name), UnboundMethod)
9
-
10
- def name
11
- # Sorbet memoizes this method into the `@name` instance variable but
12
- # doing so means that types get memoized before this patch is applied
13
- qualified_name_of(@raw_type)
14
- end
15
-
16
- def qualified_name_of(constant)
17
- name = NAME_METHOD.bind_call(constant)
18
- name = nil if name&.start_with?("#<")
19
- return if name.nil?
20
-
21
- if name.start_with?("::")
22
- name
23
- else
24
- "::#{name}"
25
- end
26
- end
27
- end
28
-
29
- prepend NamePatch
30
- end
31
- end
32
- end
@@ -1,13 +0,0 @@
1
- module T
2
- module Helpers
3
- prepend(::Module.new do
4
- def requires_ancestor(&block)
5
- # We can't directly call the block since the ancestor might not be loaded yet.
6
- # We save the block in the map and will resolve it later.
7
- Tapioca::Runtime::Trackers::RequiredAncestor.register(self, block)
8
-
9
- super
10
- end
11
- end)
12
- end
13
- end