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.
@@ -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
@@ -1,4 +1,4 @@
1
1
  module TonClient
2
- VERSION = "1.1.50"
2
+ VERSION = "1.1.60"
3
3
  end
4
4
 
@@ -3,7 +3,7 @@ require "base64"
3
3
  require 'json'
4
4
  require 'dotenv'
5
5
  require 'fileutils'
6
- require 'concurrent'
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.50
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-07 00:00:00.000000000 Z
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.0
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.0
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