ton_sdk_client 1.7.1 → 1.13.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8505ce01575830f2e890e5c22c4791b48c937110ad1dc6f2b9d190de3badc380
4
- data.tar.gz: dfd3dcc6169961fa4f1f612c9b174972b6b227deba397e7ac3e3bc31dd510d52
3
+ metadata.gz: 3d1c48c5f27ebe774498f9a6a471e384aa658c48d51a834bf09a9d62407b5b9a
4
+ data.tar.gz: cb6369381b1aaf376a19dddea4b3d2e3a6b32b681dde8e0ce7a9fa3358bbb630
5
5
  SHA512:
6
- metadata.gz: 44c4491a906aae4df0cdb1caa14c1e3678d0e131eb2af2c5d9b5a24fd3deb181e1eaa7ae05c3b5ba7a46e011b3a1ceb7a67e6b01a549ba0457e2efbbc7a62606
7
- data.tar.gz: f64f87a6370c6f6e95e6c65a0b5a1a09eb8cc8b71147b6bbe7ca65b7abd9ba57ef4cdf3359a858e836609427d3b5ebb73b5fb0667b36243a52eb131e569f893c
6
+ metadata.gz: 2e2c8829e03117c75787b63f414a4e04dbf0466d27b4f25c7767b429942a2732db56e6ced5b91a2c7ee50e863a36843b356631a2164494dfb8c1f855f2ec2069
7
+ data.tar.gz: 495f0ac60ff7a8ea641afdf1169bc6accc5748fb7c01240f9246f5e47633bf24f222100ca5eff2a4c31df683b4b411076d3d095fc843c5cc2c7bbdccf03e796a
data/CHANGELOG.md CHANGED
@@ -1,5 +1,36 @@
1
1
  # Changelog
2
2
 
3
+ 1.13.x
4
+ -----
5
+ * TON SDK version: 1.13.0
6
+ * internal refactoring
7
+ * the changes are according the ones of TON SDK
8
+
9
+ 1.12.x
10
+ -----
11
+ * TON SDK version: 1.12.0
12
+ * internal refactoring
13
+ * the changes are according the ones of TON SDK
14
+
15
+ 1.11.x
16
+ -----
17
+ * TON SDK version: 1.11.0
18
+ * the changes are according the ones of TON SDK
19
+
20
+
21
+ 1.10.x
22
+ -----
23
+ * TON SDK version: 1.10.0
24
+ * the changes are according the ones of TON SDK
25
+
26
+
27
+ 1.9.x
28
+ -----
29
+ * TON SDK version: 1.9.0
30
+ * remove TonSdk::NATIVE_LIB_VERSION, rename TonSdk::SDK_VERSION to TonSdk::NATIVE_SDK_VERSION
31
+ * the changes are according the ones of TON SDK
32
+
33
+
3
34
  1.7.x
4
35
  -----
5
36
  * TON SDK version: 1.7.0
data/README.md CHANGED
@@ -1,16 +1,15 @@
1
1
  # TON SDK client in Ruby and for Ruby
2
2
 
3
3
  [![Gem Version](https://badge.fury.io/rb/ton_sdk_client.png)](https://badge.fury.io/rb/ton_sdk_client)
4
- [![TON SDK version](https://img.shields.io/badge/TON%20SDK%20version-1.7.0-green)](https://github.com/tonlabs/TON-SDK/tree/1.7.0)
4
+ [![TON SDK version](https://img.shields.io/badge/TON%20SDK%20version-1.13.0-green)](https://github.com/tonlabs/TON-SDK/tree/1.13.0)
5
5
 
6
6
  Ruby gem-client bindings for [TON SDK](https://github.com/tonlabs/TON-SDK) which allows one to communicate with [FreeTON](https://freeton.org) blockchain in Ruby.
7
7
 
8
- Note that there're 3 types of versions:
8
+ Note that there're 2 types of versions:
9
9
  * `TonSdk::VERSION` - the version of the gem
10
- * `TonSdk::NATIVE_LIB_VERSION` - the version of native library (dll, dylib, so) shipped with SDK
11
- * `TonSdk::SDK_VERSION` - the version of SDK
10
+ * `TonSdk::NATIVE_SDK_VERSION` - the version of the original SDK
12
11
 
13
- and they don't necessarily match each other.
12
+ and they don't necessarily have to match each other.
14
13
 
15
14
 
16
15
 
@@ -185,7 +184,7 @@ factorize
185
184
 
186
185
  * MacOS Catalina 10.15.5
187
186
  * Arch Linux x86_64
188
- * TON client native library: `TonSdk::NATIVE_LIB_VERSION`
187
+ * TON client native library: `TonSdk::NATIVE_SDK_VERSION`
189
188
 
190
189
 
191
190
  ## References
@@ -777,7 +777,7 @@ module TonSdk
777
777
  attr_reader :abi, :address, :src_address, :deploy_set, :call_set, :value, :bounce, :enable_ihr
778
778
 
779
779
  def initialize(
780
- abi:,
780
+ abi: nil,
781
781
  address: nil,
782
782
  src_address: nil,
783
783
  deploy_set: nil,
@@ -798,7 +798,7 @@ module TonSdk
798
798
 
799
799
  def to_h
800
800
  {
801
- abi: @abi,
801
+ abi: @abi.nil? ? nil : @abi.to_h,
802
802
  address: @address,
803
803
  src_address: @src_address,
804
804
  deploy_set: @deploy_set.nil? ? nil : @deploy_set.to_h,
@@ -5,33 +5,13 @@ module TonSdk
5
5
  # types
6
6
  #
7
7
 
8
- class ParamsOfParse
9
- attr_reader :boc
10
-
11
- def initialize(a)
12
- @boc = a
13
- end
14
-
8
+ ParamsOfParse = Struct.new(:boc) do
15
9
  def to_h = { boc: @boc }
16
10
  end
17
11
 
18
- class ResultOfParse
19
- attr_reader :parsed
20
-
21
- def initialize(a)
22
- @parsed = a
23
- end
24
- end
25
-
26
- class ParamsOfParseShardstate
27
- attr_reader :boc, :id, :workchain_id
28
-
29
- def initialize(boc:, id_:, workchain_id:)
30
- @boc = boc
31
- @id_ = id_
32
- @workchain_id = workchain_id
33
- end
12
+ ResultOfParse = Struct.new(:parsed)
34
13
 
14
+ ParamsOfParseShardstate = Struct.new(:boc, :id, :workchain_id) do
35
15
  def to_h
36
16
  {
37
17
  boc: @boc,
@@ -41,35 +21,13 @@ module TonSdk
41
21
  end
42
22
  end
43
23
 
44
- class ParamsOfGetBlockchainConfig
45
- attr_reader :block_boc
46
-
47
- def initialize(a)
48
- @block_boc = a
49
- end
50
-
51
- def to_h
52
- {
53
- block_boc: @block_boc
54
- }
55
- end
56
- end
57
-
58
- class ResultOfGetBlockchainConfig
59
- attr_reader :config_boc
60
-
61
- def initialize(a)
62
- @config_boc = a
63
- end
24
+ ParamsOfGetBlockchainConfig = Struct.new(:block_boc) do
25
+ def to_h = { block_boc: @block_boc }
64
26
  end
65
27
 
66
- class ParamsOfGetBocHash
67
- attr_reader :boc
68
-
69
- def initialize(a)
70
- @boc = a
71
- end
28
+ ResultOfGetBlockchainConfig = Struct.new(:config_boc)
72
29
 
30
+ ParamsOfGetBocHash = Struct.new(:boc) do
73
31
  def to_h
74
32
  {
75
33
  boc: @boc
@@ -77,53 +35,19 @@ module TonSdk
77
35
  end
78
36
  end
79
37
 
80
- class ResultOfGetBocHash
81
- attr_reader :hash
38
+ ResultOfGetBocHash = Struct.new(:hash)
82
39
 
83
- def initialize(a)
84
- @hash = a
85
- end
40
+ ParamsOfGetCodeFromTvc = Struct.new(:hash) do
41
+ def to_h = { tvc: @tvc }
86
42
  end
87
43
 
88
- class ParamsOfGetCodeFromTvc
89
- attr_reader :tvc
90
-
91
- def initialize(a)
92
- @tvc = a
93
- end
94
-
95
- def to_h
96
- {
97
- tvc: @tvc
98
- }
99
- end
100
- end
101
-
102
- class ResultOfGetCodeFromTvc
103
- attr_reader :code
104
-
105
- def initialize(a)
106
- @code = a
107
- end
108
- end
109
-
110
- class ParamsOfBocCacheGet
111
- attr_reader :boc_ref
112
-
113
- def initialize(a)
114
- @boc_ref = a
115
- end
44
+ ResultOfGetCodeFromTvc = Struct.new(:code)
116
45
 
46
+ ParamsOfBocCacheGet = Struct.new(:boc_ref) do
117
47
  def to_h = { boc_ref: @boc_ref }
118
48
  end
119
49
 
120
- class ResultOfBocCacheGet
121
- attr_reader :boc
122
-
123
- def initialize(boc: nil)
124
- @boc = boc
125
- end
126
- end
50
+ ResultOfBocCacheGet = Struct.new(:boc)
127
51
 
128
52
  class BocCacheType
129
53
  TYPES = [
@@ -159,14 +83,7 @@ module TonSdk
159
83
  end
160
84
  end
161
85
 
162
- class ParamsOfBocCacheSet
163
- attr_reader :boc, :cache_type
164
-
165
- def initialize(boc:, cache_type:)
166
- @boc = boc
167
- @cache_type = cache_type
168
- end
169
-
86
+ ParamsOfBocCacheSet = Struct.new(:boc, :cache_type) do
170
87
  def to_h
171
88
  {
172
89
  boc: @boc,
@@ -175,22 +92,18 @@ module TonSdk
175
92
  end
176
93
  end
177
94
 
178
- class ResultOfBocCacheGet
179
- attr_reader :boc_ref
95
+ ResultOfBocCacheSet = Struct.new(:boc_ref)
180
96
 
181
- def initialize(a)
182
- @boc_ref = a
97
+ ParamsOfBocCacheUnpin = Struct.new(:boc, :boc_ref) do
98
+ def to_h
99
+ {
100
+ boc: @boc,
101
+ boc_ref: @boc_ref
102
+ }
183
103
  end
184
104
  end
185
105
 
186
- class ParamsOfBocCacheUnpin
187
- attr_reader :boc, :boc_ref
188
-
189
- def initialize(boc:, boc_ref: nil)
190
- @boc = boc
191
- @boc_ref = boc_ref
192
- end
193
-
106
+ ParamsOfEncodeBoc = Struct.new(:builder, :boc_cache) do
194
107
  def to_h
195
108
  {
196
109
  boc: @boc,
@@ -199,6 +112,8 @@ module TonSdk
199
112
  end
200
113
  end
201
114
 
115
+ ResultOfEncodeBoc = Struct.new(:boc)
116
+
202
117
 
203
118
 
204
119
  #
@@ -340,5 +255,33 @@ module TonSdk
340
255
  end
341
256
  end
342
257
  end
258
+
259
+ def self.encode_boc(ctx, params)
260
+ Interop::request_to_native_lib(ctx, "boc.encode_boc", params.to_h.to_json) do |resp|
261
+ if resp.success?
262
+ yield NativeLibResponsetResult.new(
263
+ result: ResultOfEncodeBoc.new(
264
+ resp.result["boc"]
265
+ )
266
+ )
267
+ else
268
+ yield resp
269
+ end
270
+ end
271
+ end
272
+
273
+ def self.get_blockchain_config(ctx, params)
274
+ Interop::request_to_native_lib(ctx, "boc.get_blockchain_config", params.to_h.to_json) do |resp|
275
+ if resp.success?
276
+ yield NativeLibResponsetResult.new(
277
+ result: ResultOfGetBlockchainConfig.new(
278
+ resp.result["config_boc"]
279
+ )
280
+ )
281
+ else
282
+ yield resp
283
+ end
284
+ end
285
+ end
343
286
  end
344
287
  end
@@ -44,57 +44,23 @@ module TonSdk
44
44
  INTERNAL_ERROR = 33
45
45
  end
46
46
 
47
- class ResultOfVersion
48
- attr_reader :version
47
+ ResultOfVersion = Struct.new(:version)
49
48
 
50
- def initialize(a)
51
- @version = a
52
- end
53
- end
54
-
55
- class ResultOfGetApiReference
56
- attr_reader :api
57
-
58
- def initialize(a)
59
- @api = a
60
- end
61
- end
62
-
63
- class BuildInfoDependency
64
- attr_reader :name, :git_commit
65
-
66
- def initialize(name:, git_commit:)
67
- @name = name
68
- @git_commit = git_commit
69
- end
49
+ ResultOfGetApiReference = Struct.new(:api)
70
50
 
51
+ BuildInfoDependency = Struct.new(:name, :git_commit, keyword_init: true) do
71
52
  def self.from_json(j)
72
53
  return nil if j.nil?
73
54
 
74
55
  self.new(
75
- name: j["name"],
76
- git_commit: j["git_commit"]
56
+ j["name"],
57
+ j["git_commit"]
77
58
  )
78
59
  end
79
60
  end
80
61
 
81
- class ResultOfBuildInfo
82
- attr_reader :build_number, :dependencies
83
-
84
- def initialize(build_number:, dependencies:)
85
- @build_number = build_number
86
- @dependencies = dependencies
87
- end
88
- end
89
-
90
- class ParamsOfAppRequest
91
- attr_reader :app_request_id, :request_data
92
-
93
- def initialize(app_request_id:, request_data:)
94
- @app_request_id = app_request_id
95
- @request_data = request_data
96
- end
97
- end
62
+ ResultOfBuildInfo = Struct.new(:build_number, :dependencies, keyword_init: true)
63
+ ParamsOfAppRequest = Struct.new(:app_request_id, :request_data, keyword_init: true)
98
64
 
99
65
  class AppRequestResult
100
66
  TYPES = [:ok, :error]
@@ -128,14 +94,7 @@ module TonSdk
128
94
  end
129
95
  end
130
96
 
131
- class ParamsOfResolveAppRequest
132
- attr_reader :app_request_id, :result
133
-
134
- def initialize(app_request_id:, result:)
135
- @app_request_id = app_request_id
136
- @result = result
137
- end
138
-
97
+ ParamsOfResolveAppRequest = Struct.new(:app_request_id, :result, keyword_init: true) do
139
98
  def to_h
140
99
  {
141
100
  app_request_id: @app_request_id,
@@ -22,65 +22,77 @@ module TonSdk
22
22
  end
23
23
 
24
24
  class NetworkConfig
25
- DEFAULT_RETRIES_COUNT = 5
26
- DEFAULT_PROCESSING_TIMEOUT = 40000
25
+ DEFAULT_NETWORK_RETRIES_COUNT = 5
26
+ DEFAULT_MAX_RECONNECT_TIMEOUT = 120000
27
+ DEFAULT_RECONNECT_TIMEOUT = 1000
28
+ DEFAULT_MESSAGE_RETRIES_COUNT = 5
29
+
30
+ DEFAULT_MESSAGE_PROCESSING_TIMEOUT = 40000
27
31
  DEFAULT_WAIT_TIMEOUT = 40000
28
32
  DEFAULT_OUT_OF_SYNC_THRESHOLD = 15000
29
- DEFAULT_NETWORK_RETRIES_COUNT = 5
30
- DEFAULT_MAX_RECONNECT_TIMEOUT = 2
33
+ DEFAULT_SENDING_ENDPOINT_COUNT = 2
31
34
 
32
35
  attr_reader :server_address, :endpoints, :network_retries_count,
33
36
  :message_retries_count, :message_processing_timeout,
34
37
  :wait_for_timeout, :out_of_sync_threshold, :reconnect_timeout,
35
- :access_key, :max_reconnect_timeout
38
+ :max_reconnect_timeout,
39
+ :sending_endpoint_count,
40
+ :access_key
36
41
 
37
42
  def initialize(
38
43
  server_address: "",
39
44
  endpoints: [],
45
+
40
46
  network_retries_count: DEFAULT_NETWORK_RETRIES_COUNT,
41
- message_retries_count: DEFAULT_RETRIES_COUNT,
42
- message_processing_timeout: DEFAULT_PROCESSING_TIMEOUT,
47
+ max_reconnect_timeout: DEFAULT_MAX_RECONNECT_TIMEOUT,
48
+ reconnect_timeout: DEFAULT_RECONNECT_TIMEOUT,
49
+ message_retries_count: DEFAULT_MESSAGE_RETRIES_COUNT,
50
+
51
+ message_processing_timeout: DEFAULT_MESSAGE_PROCESSING_TIMEOUT,
43
52
  wait_for_timeout: DEFAULT_WAIT_TIMEOUT,
44
53
  out_of_sync_threshold: DEFAULT_OUT_OF_SYNC_THRESHOLD,
45
- reconnect_timeout: 0,
46
- access_key: nil,
47
- max_reconnect_timeout: DEFAULT_MAX_RECONNECT_TIMEOUT
54
+ sending_endpoint_count: DEFAULT_SENDING_ENDPOINT_COUNT,
55
+
56
+ access_key: nil
48
57
  )
58
+
49
59
  @server_address = server_address
50
60
  @endpoints = endpoints
61
+
51
62
  @network_retries_count = network_retries_count
63
+ @max_reconnect_timeout = max_reconnect_timeout
64
+ @reconnect_timeout = reconnect_timeout
52
65
  @message_retries_count = message_retries_count
66
+
53
67
  @message_processing_timeout = message_processing_timeout
54
68
  @wait_for_timeout = wait_for_timeout
55
69
  @out_of_sync_threshold = out_of_sync_threshold
56
- @reconnect_timeout = reconnect_timeout
70
+ @sending_endpoint_count = sending_endpoint_count
71
+
57
72
  @access_key = access_key
58
- @max_reconnect_timeout = max_reconnect_timeout
59
73
  end
60
74
 
61
75
  def to_h
62
76
  {
63
77
  server_address: @server_address,
64
78
  endpoints: @endpoints,
79
+
65
80
  network_retries_count: @network_retries_count,
81
+ max_reconnect_timeout: @max_reconnect_timeout,
82
+ reconnect_timeout: @reconnect_timeout,
66
83
  message_retries_count: @message_retries_count,
84
+
67
85
  message_processing_timeout: @message_processing_timeout,
68
86
  wait_for_timeout: @wait_for_timeout,
69
87
  out_of_sync_threshold: @out_of_sync_threshold,
70
- reconnect_timeout: @reconnect_timeout,
71
- access_key: @access_key,
72
- max_reconnect_timeout: @max_reconnect_timeout
88
+ sending_endpoint_count: @sending_endpoint_count,
89
+
90
+ access_key: @access_key
73
91
  }
74
92
  end
75
93
  end
76
94
 
77
- class CryptoConfig
78
- attr_reader :fish_param
79
-
80
- def initialize(a)
81
- @fish_param = a
82
- end
83
-
95
+ CryptoConfig = Struct.new(:fish_param) do
84
96
  def to_h = { fish_param: @fish_param }
85
97
  end
86
98