everscale-client-ruby 1.1.50 → 1.1.60

Sign up to get free protection for your applications and to get access to all the features.
@@ -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