everscale-client-ruby 1.1.50 → 1.1.60
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/lib/code_generator/api.json +13 -6
 - data/lib/code_generator/code_generator.rb +26 -9
 - data/lib/everscale-client-ruby/Binding/binding.rb +72 -63
 - data/lib/everscale-client-ruby/Binding/struct.rb +13 -0
 - data/lib/everscale-client-ruby/Client/Abi.rb +108 -17
 - data/lib/everscale-client-ruby/Client/Boc.rb +136 -21
 - data/lib/everscale-client-ruby/Client/Client.rb +50 -18
 - data/lib/everscale-client-ruby/Client/Crypto.rb +360 -53
 - data/lib/everscale-client-ruby/Client/Debot.rb +45 -8
 - data/lib/everscale-client-ruby/Client/Net.rb +157 -24
 - data/lib/everscale-client-ruby/Client/Processing.rb +24 -5
 - data/lib/everscale-client-ruby/Client/Proofs.rb +24 -5
 - data/lib/everscale-client-ruby/Client/Tvm.rb +24 -5
 - data/lib/everscale-client-ruby/Client/Utils.rb +38 -7
 - data/lib/everscale-client-ruby/Helpers/CommonHelpers.rb +38 -1
 - data/lib/everscale-client-ruby/version.rb +1 -1
 - data/lib/everscale-client-ruby.rb +1 -1
 - metadata +6 -20
 
| 
         @@ -3,13 +3,14 @@ module TonClient 
     | 
|
| 
       3 
3 
     | 
    
         
             
              class Utils
         
     | 
| 
       4 
4 
     | 
    
         
             
                include CommonInstanceHelpers
         
     | 
| 
       5 
5 
     | 
    
         | 
| 
       6 
     | 
    
         
            -
                attr_reader :context, :request_id, :requests
         
     | 
| 
      
 6 
     | 
    
         
            +
                attr_reader :context, :request_id, :requests, :monitor
         
     | 
| 
       7 
7 
     | 
    
         
             
                MODULE = self.to_s.downcase.gsub(/^(.+::|)(\w+)$/, '\2').freeze
         
     | 
| 
       8 
8 
     | 
    
         | 
| 
       9 
     | 
    
         
            -
                def initialize(context: nil, request_id: nil, requests: nil)
         
     | 
| 
      
 9 
     | 
    
         
            +
                def initialize(context: nil, request_id: nil, requests: nil, monitor: nil)
         
     | 
| 
       10 
10 
     | 
    
         
             
                  @context = context
         
     | 
| 
       11 
11 
     | 
    
         
             
                  @request_id = request_id
         
     | 
| 
       12 
12 
     | 
    
         
             
                  @requests = requests
         
     | 
| 
      
 13 
     | 
    
         
            +
                  @monitor = monitor
         
     | 
| 
       13 
14 
     | 
    
         
             
                end
         
     | 
| 
       14 
15 
     | 
    
         | 
| 
       15 
16 
     | 
    
         
             
                # INPUT: ParamsOfConvertAddress
         
     | 
| 
         @@ -17,16 +18,28 @@ module TonClient 
     | 
|
| 
       17 
18 
     | 
    
         
             
                # output_format: AddressStringFormat -     #     # Specify the format to convert to.
         
     | 
| 
       18 
19 
     | 
    
         
             
                # RESPONSE: ResultOfConvertAddress
         
     | 
| 
       19 
20 
     | 
    
         
             
                # address: String -     #     # Address in the specified format
         
     | 
| 
      
 21 
     | 
    
         
            +
                # Async
         
     | 
| 
       20 
22 
     | 
    
         
             
                def convert_address(payload, &block)
         
     | 
| 
       21 
     | 
    
         
            -
                  TonBinding.requestLibrary(context: context, request_id: request_id, requests: requests, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
         
     | 
| 
      
 23 
     | 
    
         
            +
                  TonBinding.requestLibrary(context: context, request_id: request_id, requests: requests, monitor: monitor, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
         
     | 
| 
      
 24 
     | 
    
         
            +
                end
         
     | 
| 
      
 25 
     | 
    
         
            +
             
     | 
| 
      
 26 
     | 
    
         
            +
                # Sync
         
     | 
| 
      
 27 
     | 
    
         
            +
                def convert_address_sync(payload)
         
     | 
| 
      
 28 
     | 
    
         
            +
                  TonBinding.send_request_sync(context: context, method_name: full_method_name(MODULE, __method__.to_s).sub(/_sync$/, ''), payload: payload)
         
     | 
| 
       22 
29 
     | 
    
         
             
                end
         
     | 
| 
       23 
30 
     | 
    
         | 
| 
       24 
31 
     | 
    
         
             
                # INPUT: ParamsOfGetAddressType
         
     | 
| 
       25 
32 
     | 
    
         
             
                # address: String -     #     # Account address in any TON format.
         
     | 
| 
       26 
33 
     | 
    
         
             
                # RESPONSE: ResultOfGetAddressType
         
     | 
| 
       27 
34 
     | 
    
         
             
                # address_type: AccountAddressType -     #     # Account address type.
         
     | 
| 
      
 35 
     | 
    
         
            +
                # Async
         
     | 
| 
       28 
36 
     | 
    
         
             
                def get_address_type(payload, &block)
         
     | 
| 
       29 
     | 
    
         
            -
                  TonBinding.requestLibrary(context: context, request_id: request_id, requests: requests, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
         
     | 
| 
      
 37 
     | 
    
         
            +
                  TonBinding.requestLibrary(context: context, request_id: request_id, requests: requests, monitor: monitor, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
         
     | 
| 
      
 38 
     | 
    
         
            +
                end
         
     | 
| 
      
 39 
     | 
    
         
            +
             
     | 
| 
      
 40 
     | 
    
         
            +
                # Sync
         
     | 
| 
      
 41 
     | 
    
         
            +
                def get_address_type_sync(payload)
         
     | 
| 
      
 42 
     | 
    
         
            +
                  TonBinding.send_request_sync(context: context, method_name: full_method_name(MODULE, __method__.to_s).sub(/_sync$/, ''), payload: payload)
         
     | 
| 
       30 
43 
     | 
    
         
             
                end
         
     | 
| 
       31 
44 
     | 
    
         | 
| 
       32 
45 
     | 
    
         
             
                # INPUT: ParamsOfCalcStorageFee
         
     | 
| 
         @@ -34,8 +47,14 @@ module TonClient 
     | 
|
| 
       34 
47 
     | 
    
         
             
                # period: Number - 
         
     | 
| 
       35 
48 
     | 
    
         
             
                # RESPONSE: ResultOfCalcStorageFee
         
     | 
| 
       36 
49 
     | 
    
         
             
                # fee: String - 
         
     | 
| 
      
 50 
     | 
    
         
            +
                # Async
         
     | 
| 
       37 
51 
     | 
    
         
             
                def calc_storage_fee(payload, &block)
         
     | 
| 
       38 
     | 
    
         
            -
                  TonBinding.requestLibrary(context: context, request_id: request_id, requests: requests, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
         
     | 
| 
      
 52 
     | 
    
         
            +
                  TonBinding.requestLibrary(context: context, request_id: request_id, requests: requests, monitor: monitor, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
         
     | 
| 
      
 53 
     | 
    
         
            +
                end
         
     | 
| 
      
 54 
     | 
    
         
            +
             
     | 
| 
      
 55 
     | 
    
         
            +
                # Sync
         
     | 
| 
      
 56 
     | 
    
         
            +
                def calc_storage_fee_sync(payload)
         
     | 
| 
      
 57 
     | 
    
         
            +
                  TonBinding.send_request_sync(context: context, method_name: full_method_name(MODULE, __method__.to_s).sub(/_sync$/, ''), payload: payload)
         
     | 
| 
       39 
58 
     | 
    
         
             
                end
         
     | 
| 
       40 
59 
     | 
    
         | 
| 
       41 
60 
     | 
    
         
             
                # INPUT: ParamsOfCompressZstd
         
     | 
| 
         @@ -43,16 +62,28 @@ module TonClient 
     | 
|
| 
       43 
62 
     | 
    
         
             
                # level: Number<Optional> -     #     # Compression level, from 1 to 21. Where: 1 - lowest compression level (fastest compression); 21 - highest compression level (slowest compression). If level is omitted, the default compression level is used (currently `3`).
         
     | 
| 
       44 
63 
     | 
    
         
             
                # RESPONSE: ResultOfCompressZstd
         
     | 
| 
       45 
64 
     | 
    
         
             
                # compressed: String -     #     # Compressed data.    #     # Must be encoded as base64.
         
     | 
| 
      
 65 
     | 
    
         
            +
                # Async
         
     | 
| 
       46 
66 
     | 
    
         
             
                def compress_zstd(payload, &block)
         
     | 
| 
       47 
     | 
    
         
            -
                  TonBinding.requestLibrary(context: context, request_id: request_id, requests: requests, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
         
     | 
| 
      
 67 
     | 
    
         
            +
                  TonBinding.requestLibrary(context: context, request_id: request_id, requests: requests, monitor: monitor, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
         
     | 
| 
      
 68 
     | 
    
         
            +
                end
         
     | 
| 
      
 69 
     | 
    
         
            +
             
     | 
| 
      
 70 
     | 
    
         
            +
                # Sync
         
     | 
| 
      
 71 
     | 
    
         
            +
                def compress_zstd_sync(payload)
         
     | 
| 
      
 72 
     | 
    
         
            +
                  TonBinding.send_request_sync(context: context, method_name: full_method_name(MODULE, __method__.to_s).sub(/_sync$/, ''), payload: payload)
         
     | 
| 
       48 
73 
     | 
    
         
             
                end
         
     | 
| 
       49 
74 
     | 
    
         | 
| 
       50 
75 
     | 
    
         
             
                # INPUT: ParamsOfDecompressZstd
         
     | 
| 
       51 
76 
     | 
    
         
             
                # compressed: String -     #     # Compressed data.    #     # Must be encoded as base64.
         
     | 
| 
       52 
77 
     | 
    
         
             
                # RESPONSE: ResultOfDecompressZstd
         
     | 
| 
       53 
78 
     | 
    
         
             
                # decompressed: String -     #     # Decompressed data.    #     # Must be encoded as base64.
         
     | 
| 
      
 79 
     | 
    
         
            +
                # Async
         
     | 
| 
       54 
80 
     | 
    
         
             
                def decompress_zstd(payload, &block)
         
     | 
| 
       55 
     | 
    
         
            -
                  TonBinding.requestLibrary(context: context, request_id: request_id, requests: requests, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
         
     | 
| 
      
 81 
     | 
    
         
            +
                  TonBinding.requestLibrary(context: context, request_id: request_id, requests: requests, monitor: monitor, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
         
     | 
| 
      
 82 
     | 
    
         
            +
                end
         
     | 
| 
      
 83 
     | 
    
         
            +
             
     | 
| 
      
 84 
     | 
    
         
            +
                # Sync
         
     | 
| 
      
 85 
     | 
    
         
            +
                def decompress_zstd_sync(payload)
         
     | 
| 
      
 86 
     | 
    
         
            +
                  TonBinding.send_request_sync(context: context, method_name: full_method_name(MODULE, __method__.to_s).sub(/_sync$/, ''), payload: payload)
         
     | 
| 
       56 
87 
     | 
    
         
             
                end
         
     | 
| 
       57 
88 
     | 
    
         | 
| 
       58 
89 
     | 
    
         
             
              end
         
     | 
| 
         @@ -1,4 +1,3 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
             
     | 
| 
       2 
1 
     | 
    
         
             
            module TonClient
         
     | 
| 
       3 
2 
     | 
    
         | 
| 
       4 
3 
     | 
    
         
             
              def self.read_abi(path_to_file)
         
     | 
| 
         @@ -24,6 +23,44 @@ module TonClient 
     | 
|
| 
       24 
23 
     | 
    
         
             
                end
         
     | 
| 
       25 
24 
     | 
    
         
             
                queue.pop
         
     | 
| 
       26 
25 
     | 
    
         
             
              end
         
     | 
| 
      
 26 
     | 
    
         
            +
             
     | 
| 
      
 27 
     | 
    
         
            +
              class RequestId
         
     | 
| 
      
 28 
     | 
    
         
            +
                include MonitorMixin
         
     | 
| 
      
 29 
     | 
    
         
            +
             
     | 
| 
      
 30 
     | 
    
         
            +
                def initialize
         
     | 
| 
      
 31 
     | 
    
         
            +
                  super
         
     | 
| 
      
 32 
     | 
    
         
            +
                  synchronize { @value = 1 }
         
     | 
| 
      
 33 
     | 
    
         
            +
                end
         
     | 
| 
      
 34 
     | 
    
         
            +
             
     | 
| 
      
 35 
     | 
    
         
            +
                def increment
         
     | 
| 
      
 36 
     | 
    
         
            +
                  synchronize { @value += 1}
         
     | 
| 
      
 37 
     | 
    
         
            +
                end
         
     | 
| 
      
 38 
     | 
    
         
            +
             
     | 
| 
      
 39 
     | 
    
         
            +
                def value
         
     | 
| 
      
 40 
     | 
    
         
            +
                  synchronize { @value }
         
     | 
| 
      
 41 
     | 
    
         
            +
                end
         
     | 
| 
      
 42 
     | 
    
         
            +
              end
         
     | 
| 
      
 43 
     | 
    
         
            +
             
     | 
| 
      
 44 
     | 
    
         
            +
              class Requests
         
     | 
| 
      
 45 
     | 
    
         
            +
                include MonitorMixin
         
     | 
| 
      
 46 
     | 
    
         
            +
             
     | 
| 
      
 47 
     | 
    
         
            +
                def initialize
         
     | 
| 
      
 48 
     | 
    
         
            +
                  super
         
     | 
| 
      
 49 
     | 
    
         
            +
                  synchronize { @value = {} }
         
     | 
| 
      
 50 
     | 
    
         
            +
                end
         
     | 
| 
      
 51 
     | 
    
         
            +
             
     | 
| 
      
 52 
     | 
    
         
            +
                def []=(key, value)
         
     | 
| 
      
 53 
     | 
    
         
            +
                  synchronize { @value[key] = value }
         
     | 
| 
      
 54 
     | 
    
         
            +
                end
         
     | 
| 
      
 55 
     | 
    
         
            +
             
     | 
| 
      
 56 
     | 
    
         
            +
                def [](key)
         
     | 
| 
      
 57 
     | 
    
         
            +
                  synchronize { @value[key] }
         
     | 
| 
      
 58 
     | 
    
         
            +
                end
         
     | 
| 
      
 59 
     | 
    
         
            +
             
     | 
| 
      
 60 
     | 
    
         
            +
                def delete(key)
         
     | 
| 
      
 61 
     | 
    
         
            +
                  synchronize { @value.delete(key) }
         
     | 
| 
      
 62 
     | 
    
         
            +
                end
         
     | 
| 
      
 63 
     | 
    
         
            +
              end
         
     | 
| 
       27 
64 
     | 
    
         
             
            end
         
     | 
| 
       28 
65 
     | 
    
         | 
| 
       29 
66 
     | 
    
         
             
            module CommonClassHelpers
         
     | 
| 
         @@ -3,7 +3,7 @@ require "base64" 
     | 
|
| 
       3 
3 
     | 
    
         
             
            require 'json'
         
     | 
| 
       4 
4 
     | 
    
         
             
            require 'dotenv'
         
     | 
| 
       5 
5 
     | 
    
         
             
            require 'fileutils'
         
     | 
| 
       6 
     | 
    
         
            -
            require ' 
     | 
| 
      
 6 
     | 
    
         
            +
            require 'monitor'
         
     | 
| 
       7 
7 
     | 
    
         
             
            require_relative './everscale-client-ruby/Helpers/CommonHelpers.rb'
         
     | 
| 
       8 
8 
     | 
    
         
             
            require_relative './everscale-client-ruby/Binding/struct.rb'
         
     | 
| 
       9 
9 
     | 
    
         
             
            require_relative './everscale-client-ruby/Binding/binding.rb'
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,29 +1,29 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: everscale-client-ruby
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 1.1. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 1.1.60
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - nerzh
         
     | 
| 
       8 
8 
     | 
    
         
             
            autorequire:
         
     | 
| 
       9 
9 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       10 
10 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       11 
     | 
    
         
            -
            date: 2022-10- 
     | 
| 
      
 11 
     | 
    
         
            +
            date: 2022-10-13 00:00:00.000000000 Z
         
     | 
| 
       12 
12 
     | 
    
         
             
            dependencies:
         
     | 
| 
       13 
13 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       14 
14 
     | 
    
         
             
              name: ffi
         
     | 
| 
       15 
15 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
       16 
16 
     | 
    
         
             
                requirements:
         
     | 
| 
       17 
     | 
    
         
            -
                - -  
     | 
| 
      
 17 
     | 
    
         
            +
                - - "~>"
         
     | 
| 
       18 
18 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       19 
     | 
    
         
            -
                    version: 1.15 
     | 
| 
      
 19 
     | 
    
         
            +
                    version: '1.15'
         
     | 
| 
       20 
20 
     | 
    
         
             
              type: :runtime
         
     | 
| 
       21 
21 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       22 
22 
     | 
    
         
             
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
       23 
23 
     | 
    
         
             
                requirements:
         
     | 
| 
       24 
     | 
    
         
            -
                - -  
     | 
| 
      
 24 
     | 
    
         
            +
                - - "~>"
         
     | 
| 
       25 
25 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       26 
     | 
    
         
            -
                    version: 1.15 
     | 
| 
      
 26 
     | 
    
         
            +
                    version: '1.15'
         
     | 
| 
       27 
27 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       28 
28 
     | 
    
         
             
              name: dotenv
         
     | 
| 
       29 
29 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
         @@ -38,20 +38,6 @@ dependencies: 
     | 
|
| 
       38 
38 
     | 
    
         
             
                - - "~>"
         
     | 
| 
       39 
39 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       40 
40 
     | 
    
         
             
                    version: 2.7.6
         
     | 
| 
       41 
     | 
    
         
            -
            - !ruby/object:Gem::Dependency
         
     | 
| 
       42 
     | 
    
         
            -
              name: concurrent-ruby
         
     | 
| 
       43 
     | 
    
         
            -
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
       44 
     | 
    
         
            -
                requirements:
         
     | 
| 
       45 
     | 
    
         
            -
                - - "~>"
         
     | 
| 
       46 
     | 
    
         
            -
                  - !ruby/object:Gem::Version
         
     | 
| 
       47 
     | 
    
         
            -
                    version: 1.1.10
         
     | 
| 
       48 
     | 
    
         
            -
              type: :runtime
         
     | 
| 
       49 
     | 
    
         
            -
              prerelease: false
         
     | 
| 
       50 
     | 
    
         
            -
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
       51 
     | 
    
         
            -
                requirements:
         
     | 
| 
       52 
     | 
    
         
            -
                - - "~>"
         
     | 
| 
       53 
     | 
    
         
            -
                  - !ruby/object:Gem::Version
         
     | 
| 
       54 
     | 
    
         
            -
                    version: 1.1.10
         
     | 
| 
       55 
41 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       56 
42 
     | 
    
         
             
              name: bundler
         
     | 
| 
       57 
43 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     |