ton_sdk_client 1.24.0 → 1.28.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +18 -2
- data/README.md +1 -1
- data/lib/ton_sdk_client/abi.rb +66 -13
- data/lib/ton_sdk_client/boc.rb +18 -18
- data/lib/ton_sdk_client/client.rb +5 -4
- data/lib/ton_sdk_client/client_context.rb +1 -0
- data/lib/ton_sdk_client/crypto.rb +41 -41
- data/lib/ton_sdk_client/debot.rb +112 -111
- data/lib/ton_sdk_client/helper.rb +1 -1
- data/lib/ton_sdk_client/interop.rb +3 -3
- data/lib/ton_sdk_client/net.rb +25 -25
- data/lib/ton_sdk_client/processing.rb +28 -18
- data/lib/ton_sdk_client/proofs.rb +61 -0
- data/lib/ton_sdk_client/tvm.rb +3 -3
- data/lib/ton_sdk_client/types.rb +1 -1
- data/lib/ton_sdk_client/utils.rb +5 -5
- data/lib/ton_sdk_client/version.rb +2 -2
- metadata +3 -2
data/lib/ton_sdk_client/debot.rb
CHANGED
@@ -1,7 +1,4 @@
|
|
1
1
|
module TonSdk
|
2
|
-
|
3
|
-
# NOTE
|
4
|
-
# as of 28 apr 2021, in the main repository this module is still unstable
|
5
2
|
module Debot
|
6
3
|
|
7
4
|
#
|
@@ -21,22 +18,23 @@ module TonSdk
|
|
21
18
|
EXTERNAL_CALL_FAILED = 810
|
22
19
|
BROWSER_CALLBACK_FAILED = 811
|
23
20
|
OPERATION_REJECTED = 812
|
21
|
+
DEBOT_NO_CODE = 813
|
24
22
|
end
|
25
23
|
|
26
24
|
DebotAction = KwStruct.new(:description, :name, :action_type, :to, :attributes, :misc) do
|
27
25
|
def to_h
|
28
26
|
{
|
29
|
-
description:
|
30
|
-
name:
|
31
|
-
action_type:
|
32
|
-
to:
|
33
|
-
attributes:
|
34
|
-
misc:
|
27
|
+
description: description,
|
28
|
+
name: name,
|
29
|
+
action_type: action_type,
|
30
|
+
to: to,
|
31
|
+
attributes: attributes,
|
32
|
+
misc: misc
|
35
33
|
}
|
36
34
|
end
|
37
35
|
|
38
36
|
def self.from_json(j)
|
39
|
-
return
|
37
|
+
return if j.nil?
|
40
38
|
|
41
39
|
self.new(
|
42
40
|
description: j["description"],
|
@@ -49,20 +47,59 @@ module TonSdk
|
|
49
47
|
end
|
50
48
|
end
|
51
49
|
|
52
|
-
|
50
|
+
DebotInfo = KwStruct.new(
|
51
|
+
:name,
|
52
|
+
:version,
|
53
|
+
:publisher,
|
54
|
+
:caption,
|
55
|
+
:author,
|
56
|
+
:support,
|
57
|
+
:hello,
|
58
|
+
:language,
|
59
|
+
:dabi,
|
60
|
+
:icon,
|
61
|
+
:interfaces,
|
62
|
+
:dabi_version
|
63
|
+
) do
|
64
|
+
def initialize(
|
65
|
+
name: nil,
|
66
|
+
version: nil,
|
67
|
+
publisher: nil,
|
68
|
+
caption: nil,
|
69
|
+
author: nil,
|
70
|
+
support: nil,
|
71
|
+
hello: nil,
|
72
|
+
language: nil,
|
73
|
+
dabi: nil,
|
74
|
+
icon: nil,
|
75
|
+
interfaces: [],
|
76
|
+
dabi_version: nil
|
77
|
+
)
|
78
|
+
super
|
79
|
+
end
|
80
|
+
end
|
81
|
+
|
82
|
+
class DebotActivity
|
83
|
+
attr_reader :type, :msg, :dst, :out, :fee, :setcode, :signkey, :signing_box_handle
|
84
|
+
end
|
85
|
+
|
86
|
+
Spending = KwStruct.new(:amount, :dst)
|
87
|
+
|
88
|
+
ParamsOfInit = KwStruct.new(:address)
|
53
89
|
|
54
90
|
RegisteredDebot = KwStruct.new(:debot_handle, :debot_abi, :info) do
|
55
|
-
def to_h
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
91
|
+
def to_h
|
92
|
+
{
|
93
|
+
debot_handle: debot_handle,
|
94
|
+
debot_abi: debot_abi,
|
95
|
+
info: info.to_h
|
96
|
+
}
|
97
|
+
end
|
60
98
|
end
|
61
99
|
|
62
100
|
class ParamsOfAppDebotBrowser
|
63
101
|
private_class_method :new
|
64
102
|
|
65
|
-
# todo remove?
|
66
103
|
TYPE_VALUES = [
|
67
104
|
:log,
|
68
105
|
:switch,
|
@@ -75,61 +112,61 @@ module TonSdk
|
|
75
112
|
:approve
|
76
113
|
]
|
77
114
|
|
78
|
-
attr_reader :
|
115
|
+
attr_reader :type, :msg, :context_id, :action, :prompt, :debot_addr, :message, :activity
|
79
116
|
|
80
117
|
def self.new_with_type_log(msg)
|
81
|
-
@
|
118
|
+
@type = :log
|
82
119
|
@msg = msg
|
83
120
|
end
|
84
121
|
|
85
122
|
def self.new_with_type_switch(context_id)
|
86
|
-
@
|
123
|
+
@type = :switch
|
87
124
|
@context_id = context_id
|
88
125
|
end
|
89
126
|
|
90
127
|
def self.new_with_type_switch_completed
|
91
|
-
@
|
128
|
+
@type = :switch_completed
|
92
129
|
end
|
93
130
|
|
94
131
|
def self.new_with_type_show_action(action)
|
95
|
-
@
|
132
|
+
@type = :show_action
|
96
133
|
@action = action
|
97
134
|
end
|
98
135
|
|
99
136
|
def self.new_with_type_input(prompt)
|
100
|
-
@
|
137
|
+
@type = :input
|
101
138
|
@prompt = prompt
|
102
139
|
end
|
103
140
|
|
104
141
|
def self.new_with_type_get_signing_box
|
105
|
-
@
|
142
|
+
@type = :get_signing_box
|
106
143
|
end
|
107
144
|
|
108
145
|
def self.new_with_type_invoke_debot(debot_addr, action)
|
109
|
-
@
|
146
|
+
@type = :invoke_debot
|
110
147
|
@debot_addr = debot_addr
|
111
148
|
@action = action
|
112
149
|
end
|
113
150
|
|
114
151
|
def self.new_with_type_send(message)
|
115
|
-
@
|
152
|
+
@type = :send
|
116
153
|
@message = message
|
117
154
|
end
|
118
155
|
|
119
156
|
def self.new_with_type_approve(activity)
|
120
|
-
@
|
157
|
+
@type = :approve
|
121
158
|
@activity = activity
|
122
159
|
end
|
123
160
|
|
124
161
|
def to_h
|
125
162
|
{
|
126
|
-
type: Helper.sym_to_capitalized_case_str(
|
127
|
-
msg:
|
128
|
-
context_id:
|
129
|
-
action:
|
130
|
-
prompt:
|
131
|
-
debot_addr:
|
132
|
-
message:
|
163
|
+
type: Helper.sym_to_capitalized_case_str(type),
|
164
|
+
msg: msg,
|
165
|
+
context_id: context_id,
|
166
|
+
action: action,
|
167
|
+
prompt: prompt,
|
168
|
+
debot_addr: debot_addr,
|
169
|
+
message: message
|
133
170
|
}
|
134
171
|
end
|
135
172
|
|
@@ -173,118 +210,79 @@ module TonSdk
|
|
173
210
|
private
|
174
211
|
|
175
212
|
def self.parse_type(type_str)
|
176
|
-
|
177
|
-
|
178
|
-
|
213
|
+
parsed_type = Helper.capitalized_case_str_to_snake_case_sym(type_str)
|
214
|
+
|
215
|
+
unless TYPE_VALUES.include?(type_str)
|
216
|
+
raise ArgumentError.new("type #{type_str} is unknown; known types: #{TYPE_VALUES}")
|
179
217
|
end
|
180
218
|
|
181
|
-
|
219
|
+
parsed_type
|
182
220
|
end
|
183
221
|
end
|
184
222
|
|
185
223
|
class ResultOfAppDebotBrowser
|
186
224
|
private_class_method :new
|
187
225
|
|
188
|
-
attr_reader :
|
226
|
+
attr_reader :type, :value, :signing_box, :is_approved
|
189
227
|
|
190
228
|
def self.new_with_type_input(a)
|
191
|
-
@
|
229
|
+
@type = :input
|
192
230
|
@value = a
|
193
231
|
end
|
194
232
|
|
195
233
|
def self.new_with_type_get_signing_box(a)
|
196
|
-
@
|
234
|
+
@type = :get_signing_box
|
197
235
|
@signing_box = signing_box
|
198
236
|
end
|
199
237
|
|
200
238
|
def self.new_with_type_invoke_debot
|
201
|
-
@
|
239
|
+
@type = :invoke_debot
|
202
240
|
end
|
203
241
|
|
204
242
|
def self.new_with_type_approve(a)
|
205
|
-
@
|
243
|
+
@type = :approve
|
206
244
|
@is_approved = a
|
207
245
|
end
|
208
246
|
end
|
209
247
|
|
248
|
+
ParamsOfStart = KwStruct.new(:debot_handle)
|
249
|
+
|
210
250
|
ParamsOfFetch = KwStruct.new(:address)
|
211
251
|
|
252
|
+
ResultOfFetch = KwStruct.new(:info)
|
253
|
+
|
212
254
|
ParamsOfExecute = KwStruct.new(:debot_handle, :action) do
|
213
255
|
def to_h
|
214
256
|
{
|
215
|
-
debot_handle:
|
216
|
-
action:
|
257
|
+
debot_handle: debot_handle,
|
258
|
+
action: action.to_h
|
217
259
|
}
|
218
260
|
end
|
219
261
|
end
|
220
262
|
|
221
263
|
ParamsOfSend = KwStruct.new(:debot_handle, :message)
|
222
|
-
ParamsOfInit = KwStruct.new(:address)
|
223
|
-
DebotInfo = KwStruct.new(
|
224
|
-
:name,
|
225
|
-
:version,
|
226
|
-
:publisher,
|
227
|
-
:caption,
|
228
|
-
:author,
|
229
|
-
:support,
|
230
|
-
:hello,
|
231
|
-
:language,
|
232
|
-
:dabi,
|
233
|
-
:icon,
|
234
|
-
:interfaces
|
235
|
-
) do
|
236
|
-
def initialize(
|
237
|
-
name: nil,
|
238
|
-
version: nil,
|
239
|
-
publisher: nil,
|
240
|
-
caption: nil,
|
241
|
-
author: nil,
|
242
|
-
support: nil,
|
243
|
-
hello: nil,
|
244
|
-
language: nil,
|
245
|
-
dabi: nil,
|
246
|
-
icon: nil,
|
247
|
-
interfaces: []
|
248
|
-
)
|
249
|
-
super
|
250
|
-
end
|
251
|
-
end
|
252
|
-
|
253
|
-
ResultOfFetch = KwStruct.new(:info)
|
254
|
-
Spending = KwStruct.new(:amount, :dst)
|
255
|
-
|
256
|
-
class DebotActivity
|
257
|
-
private_class_method :new
|
258
|
-
|
259
|
-
attr_reader :type_, :msg, :dst, :out, :fee, :setcode, :signkey, :signing_box_handle
|
260
|
-
|
261
|
-
def self.new_with_type_transaction(msg:, dst:, out:, fee:, setcode:, signkey:, signing_box_handle:)
|
262
|
-
@type_ = :transaction
|
263
|
-
@msg = msg
|
264
|
-
@dst = dst
|
265
|
-
@out = out
|
266
|
-
@fee = fee
|
267
|
-
@setcode = setcode
|
268
|
-
@signkey = signkey
|
269
|
-
@signing_box_handle = signing_box_handle
|
270
|
-
end
|
271
|
-
|
272
|
-
def self.from_json(j)
|
273
|
-
# todo
|
274
|
-
end
|
275
|
-
end
|
276
|
-
|
277
264
|
|
265
|
+
ParamsOfRemove = KwStruct.new(:debot_handle)
|
278
266
|
|
279
267
|
#
|
280
268
|
# functions
|
281
269
|
#
|
282
270
|
|
283
|
-
def self.init(ctx, params, app_browser_obj)
|
284
|
-
Interop::request_to_native_lib(
|
271
|
+
def self.init(ctx, params, app_browser_obj = nil)
|
272
|
+
Interop::request_to_native_lib(
|
273
|
+
ctx,
|
274
|
+
"debot.init",
|
275
|
+
params
|
276
|
+
) do |resp|
|
285
277
|
if resp.success?
|
286
|
-
|
287
|
-
|
278
|
+
debot_info = resp.result["info"].transform_keys(&:to_sym)
|
279
|
+
debot_info[:dabi_version] = debot_info.delete(:dabiVersion)
|
280
|
+
yield NativeLibResponseResult.new(
|
281
|
+
result: RegisteredDebot.new(
|
282
|
+
debot_handle: resp.result["debot_handle"],
|
283
|
+
debot_abi: resp.result["debot_abi"],
|
284
|
+
info: DebotInfo.new(**debot_info)
|
285
|
+
)
|
288
286
|
)
|
289
287
|
else
|
290
288
|
yield resp
|
@@ -300,7 +298,7 @@ module TonSdk
|
|
300
298
|
is_single_thread_only: false
|
301
299
|
) do |resp|
|
302
300
|
if resp.success?
|
303
|
-
yield
|
301
|
+
yield NativeLibResponseResult.new(
|
304
302
|
result: nil
|
305
303
|
)
|
306
304
|
else
|
@@ -317,9 +315,12 @@ module TonSdk
|
|
317
315
|
is_single_thread_only: false
|
318
316
|
) do |resp|
|
319
317
|
if resp.success?
|
320
|
-
|
321
|
-
|
322
|
-
|
318
|
+
debot_info = resp.result["info"].transform_keys(&:to_sym)
|
319
|
+
debot_info[:dabi_version] = debot_info.delete(:dabiVersion)
|
320
|
+
yield NativeLibResponseResult.new(
|
321
|
+
result: ResultOfFetch.new(
|
322
|
+
info: DebotInfo.new(**debot_info)
|
323
|
+
)
|
323
324
|
)
|
324
325
|
else
|
325
326
|
yield resp
|
@@ -330,7 +331,7 @@ module TonSdk
|
|
330
331
|
def self.execute(ctx, params)
|
331
332
|
Interop::request_to_native_lib(ctx, "debot.execute", params) do |resp|
|
332
333
|
if resp.success?
|
333
|
-
yield
|
334
|
+
yield NativeLibResponseResult.new(
|
334
335
|
result: nil
|
335
336
|
)
|
336
337
|
else
|
@@ -342,7 +343,7 @@ module TonSdk
|
|
342
343
|
def self.remove(ctx, params)
|
343
344
|
Interop::request_to_native_lib(ctx, "debot.remove", params) do |resp|
|
344
345
|
if resp.success?
|
345
|
-
yield
|
346
|
+
yield NativeLibResponseResult.new(
|
346
347
|
result: nil
|
347
348
|
)
|
348
349
|
else
|
@@ -354,7 +355,7 @@ module TonSdk
|
|
354
355
|
def self.send(ctx, params)
|
355
356
|
Interop::request_to_native_lib(ctx, "debot.send", params) do |resp|
|
356
357
|
if resp.success?
|
357
|
-
yield
|
358
|
+
yield NativeLibResponseResult.new(
|
358
359
|
result: nil
|
359
360
|
)
|
360
361
|
else
|
@@ -148,7 +148,7 @@ module TonSdk
|
|
148
148
|
|
149
149
|
# using @@request_counter here to pass a @@request_counter and handlers and then retrieve them
|
150
150
|
# is probably isn't needed.
|
151
|
-
# Thanks to the way Ruby is, the same affect can be
|
151
|
+
# Thanks to the way Ruby is, the same affect can be achieved by a block which is an easier way.
|
152
152
|
# Nonetheless, @@request_counter is incremented with each request and then sent out to a server
|
153
153
|
# in order to keep a server happy,
|
154
154
|
# because otherwise a server will, probably, reply in a wrong way.
|
@@ -172,12 +172,12 @@ module TonSdk
|
|
172
172
|
|
173
173
|
when TcResponseCodes::SUCCESS
|
174
174
|
if block_given?
|
175
|
-
yield
|
175
|
+
yield NativeLibResponseResult.new(result: tc_data_json_content)
|
176
176
|
end
|
177
177
|
|
178
178
|
when TcResponseCodes::ERROR
|
179
179
|
if block_given?
|
180
|
-
yield
|
180
|
+
yield NativeLibResponseResult.new(error: tc_data_json_content)
|
181
181
|
end
|
182
182
|
|
183
183
|
when TcResponseCodes::NOP
|
data/lib/ton_sdk_client/net.rb
CHANGED
@@ -135,7 +135,7 @@ module TonSdk
|
|
135
135
|
|
136
136
|
def to_h
|
137
137
|
h = super
|
138
|
-
h[:fields] =
|
138
|
+
h[:fields] = fields.map(&:to_h)
|
139
139
|
h
|
140
140
|
end
|
141
141
|
end
|
@@ -222,7 +222,7 @@ module TonSdk
|
|
222
222
|
|
223
223
|
def to_h
|
224
224
|
h = super
|
225
|
-
h[:abi_registry] =
|
225
|
+
h[:abi_registry] = abi_registry&.map(&:to_h)
|
226
226
|
h
|
227
227
|
end
|
228
228
|
end
|
@@ -261,7 +261,7 @@ module TonSdk
|
|
261
261
|
is_single_thread_only: false
|
262
262
|
) do |resp|
|
263
263
|
if resp.success?
|
264
|
-
yield
|
264
|
+
yield NativeLibResponseResult.new(
|
265
265
|
result: ResultOfQueryCollection.new(result: resp.result["result"])
|
266
266
|
)
|
267
267
|
else
|
@@ -278,7 +278,7 @@ module TonSdk
|
|
278
278
|
is_single_thread_only: false
|
279
279
|
) do |resp|
|
280
280
|
if resp.success?
|
281
|
-
yield
|
281
|
+
yield NativeLibResponseResult.new(
|
282
282
|
result: ResultOfWaitForCollection.new(result: resp.result["result"])
|
283
283
|
)
|
284
284
|
else
|
@@ -290,7 +290,7 @@ module TonSdk
|
|
290
290
|
def self.unsubscribe(ctx, params)
|
291
291
|
Interop::request_to_native_lib(ctx, "net.unsubscribe", params) do |resp|
|
292
292
|
if resp.success?
|
293
|
-
yield
|
293
|
+
yield NativeLibResponseResult.new(
|
294
294
|
result: ""
|
295
295
|
)
|
296
296
|
else
|
@@ -308,7 +308,7 @@ module TonSdk
|
|
308
308
|
is_single_thread_only: false
|
309
309
|
) do |resp|
|
310
310
|
if resp.success?
|
311
|
-
yield
|
311
|
+
yield NativeLibResponseResult.new(
|
312
312
|
result: ResultOfSubscribeCollection.new(handle: resp.result["handle"])
|
313
313
|
)
|
314
314
|
else
|
@@ -320,7 +320,7 @@ module TonSdk
|
|
320
320
|
def self.query(ctx, params)
|
321
321
|
Interop::request_to_native_lib(ctx, "net.query", params) do |resp|
|
322
322
|
if resp.success?
|
323
|
-
yield
|
323
|
+
yield NativeLibResponseResult.new(
|
324
324
|
result: ResultOfQuery.new(result: resp.result["result"])
|
325
325
|
)
|
326
326
|
else
|
@@ -332,7 +332,7 @@ module TonSdk
|
|
332
332
|
def self.suspend(ctx)
|
333
333
|
Interop::request_to_native_lib(ctx, "net.suspend") do |resp|
|
334
334
|
if resp.success?
|
335
|
-
yield
|
335
|
+
yield NativeLibResponseResult.new(result: "")
|
336
336
|
else
|
337
337
|
yield resp
|
338
338
|
end
|
@@ -342,7 +342,7 @@ module TonSdk
|
|
342
342
|
def self.resume(ctx)
|
343
343
|
Interop::request_to_native_lib(ctx, "net.resume") do |resp|
|
344
344
|
if resp.success?
|
345
|
-
yield
|
345
|
+
yield NativeLibResponseResult.new(result: "")
|
346
346
|
else
|
347
347
|
yield resp
|
348
348
|
end
|
@@ -352,7 +352,7 @@ module TonSdk
|
|
352
352
|
def self.find_last_shard_block(ctx, params)
|
353
353
|
Interop::request_to_native_lib(ctx, "net.find_last_shard_block", params) do |resp|
|
354
354
|
if resp.success?
|
355
|
-
yield
|
355
|
+
yield NativeLibResponseResult.new(
|
356
356
|
result: ResultOfFindLastShardBlock.new(block_id: resp.result["block_id"])
|
357
357
|
)
|
358
358
|
else
|
@@ -364,7 +364,7 @@ module TonSdk
|
|
364
364
|
def self.fetch_endpoints(ctx)
|
365
365
|
Interop::request_to_native_lib(ctx, "net.fetch_endpoints") do |resp|
|
366
366
|
if resp.success?
|
367
|
-
yield
|
367
|
+
yield NativeLibResponseResult.new(
|
368
368
|
result: EndpointsSet.new(endpoints: resp.result["endpoints"])
|
369
369
|
)
|
370
370
|
else
|
@@ -376,7 +376,7 @@ module TonSdk
|
|
376
376
|
def self.set_endpoints(ctx, params)
|
377
377
|
Interop::request_to_native_lib(ctx, "net.set_endpoints", params) do |resp|
|
378
378
|
if resp.success?
|
379
|
-
yield
|
379
|
+
yield NativeLibResponseResult.new(
|
380
380
|
result: nil
|
381
381
|
)
|
382
382
|
else
|
@@ -388,7 +388,7 @@ module TonSdk
|
|
388
388
|
def self.batch_query(ctx, params)
|
389
389
|
Interop::request_to_native_lib(ctx, "net.batch_query", params) do |resp|
|
390
390
|
if resp.success?
|
391
|
-
yield
|
391
|
+
yield NativeLibResponseResult.new(
|
392
392
|
result: ResultOfBatchQuery.new(results: resp.result["results"])
|
393
393
|
)
|
394
394
|
else
|
@@ -400,7 +400,7 @@ module TonSdk
|
|
400
400
|
def self.aggregate_collection(ctx, params)
|
401
401
|
Interop::request_to_native_lib(ctx, "net.aggregate_collection", params) do |resp|
|
402
402
|
if resp.success?
|
403
|
-
yield
|
403
|
+
yield NativeLibResponseResult.new(
|
404
404
|
result: ResultOfAggregateCollection.new(values: resp.result["values"])
|
405
405
|
)
|
406
406
|
else
|
@@ -409,10 +409,10 @@ module TonSdk
|
|
409
409
|
end
|
410
410
|
end
|
411
411
|
|
412
|
-
def self.get_endpoints(ctx
|
413
|
-
Interop::request_to_native_lib(ctx, "net.get_endpoints"
|
412
|
+
def self.get_endpoints(ctx)
|
413
|
+
Interop::request_to_native_lib(ctx, "net.get_endpoints") do |resp|
|
414
414
|
if resp.success?
|
415
|
-
yield
|
415
|
+
yield NativeLibResponseResult.new(
|
416
416
|
result: ResultOfGetEndpoints.new(
|
417
417
|
query: resp.result["query"],
|
418
418
|
endpoints: resp.result["endpoints"],
|
@@ -427,7 +427,7 @@ module TonSdk
|
|
427
427
|
def self.query_counterparties(ctx, params)
|
428
428
|
Interop::request_to_native_lib(ctx, "net.query_counterparties", params) do |resp|
|
429
429
|
if resp.success?
|
430
|
-
yield
|
430
|
+
yield NativeLibResponseResult.new(
|
431
431
|
result: ResultOfQueryCollection.new(result: resp.result["result"])
|
432
432
|
)
|
433
433
|
else
|
@@ -439,7 +439,7 @@ module TonSdk
|
|
439
439
|
def self.query_transaction_tree(ctx, params)
|
440
440
|
Interop::request_to_native_lib(ctx, "net.query_transaction_tree", params) do |resp|
|
441
441
|
if resp.success?
|
442
|
-
yield
|
442
|
+
yield NativeLibResponseResult.new(
|
443
443
|
result: ResultOfQueryTransactionTree.new(
|
444
444
|
messages: resp.result["messages"],
|
445
445
|
transactions: resp.result["transactions"],
|
@@ -454,7 +454,7 @@ module TonSdk
|
|
454
454
|
def self.create_block_iterator(ctx, params)
|
455
455
|
Interop::request_to_native_lib(ctx, "net.create_block_iterator", params) do |resp|
|
456
456
|
if resp.success?
|
457
|
-
yield
|
457
|
+
yield NativeLibResponseResult.new(
|
458
458
|
result: RegisteredIterator.new(handle: resp.result["handle"])
|
459
459
|
)
|
460
460
|
else
|
@@ -466,7 +466,7 @@ module TonSdk
|
|
466
466
|
def self.resume_block_iterator(ctx, params)
|
467
467
|
Interop::request_to_native_lib(ctx, "net.resume_block_iterator", params) do |resp|
|
468
468
|
if resp.success?
|
469
|
-
yield
|
469
|
+
yield NativeLibResponseResult.new(
|
470
470
|
result: RegisteredIterator.new(handle: resp.result["handle"])
|
471
471
|
)
|
472
472
|
else
|
@@ -478,7 +478,7 @@ module TonSdk
|
|
478
478
|
def self.create_transaction_iterator(ctx, params)
|
479
479
|
Interop::request_to_native_lib(ctx, "net.create_transaction_iterator", params) do |resp|
|
480
480
|
if resp.success?
|
481
|
-
yield
|
481
|
+
yield NativeLibResponseResult.new(
|
482
482
|
result: RegisteredIterator.new(handle: resp.result["handle"])
|
483
483
|
)
|
484
484
|
else
|
@@ -490,7 +490,7 @@ module TonSdk
|
|
490
490
|
def self.resume_transaction_iterator(ctx, params)
|
491
491
|
Interop::request_to_native_lib(ctx, "net.resume_transaction_iterator", params) do |resp|
|
492
492
|
if resp.success?
|
493
|
-
yield
|
493
|
+
yield NativeLibResponseResult.new(
|
494
494
|
result: RegisteredIterator.new(handle: resp.result["handle"])
|
495
495
|
)
|
496
496
|
else
|
@@ -502,7 +502,7 @@ module TonSdk
|
|
502
502
|
def self.iterator_next(ctx, params)
|
503
503
|
Interop::request_to_native_lib(ctx, "net.iterator_next", params) do |resp|
|
504
504
|
if resp.success?
|
505
|
-
yield
|
505
|
+
yield NativeLibResponseResult.new(
|
506
506
|
result: ResultOfIteratorNext.new(
|
507
507
|
items: resp.result["items"],
|
508
508
|
has_more: resp.result["has_more"],
|
@@ -518,7 +518,7 @@ module TonSdk
|
|
518
518
|
def self.remove_iterator(ctx, params)
|
519
519
|
Interop::request_to_native_lib(ctx, "net.remove_iterator", params) do |resp|
|
520
520
|
if resp.success?
|
521
|
-
yield
|
521
|
+
yield NativeLibResponseResult.new(
|
522
522
|
result: nil
|
523
523
|
)
|
524
524
|
else
|