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
|