ton_sdk_client 1.21.5 → 1.26.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 +13 -0
- data/README.md +2 -2
- data/lib/ton_sdk_client/abi.rb +236 -78
- data/lib/ton_sdk_client/boc.rb +213 -63
- data/lib/ton_sdk_client/client.rb +17 -19
- data/lib/ton_sdk_client/client_context.rb +3 -1
- data/lib/ton_sdk_client/config.rb +7 -9
- data/lib/ton_sdk_client/crypto.rb +183 -225
- data/lib/ton_sdk_client/debot.rb +19 -20
- data/lib/ton_sdk_client/interop.rb +4 -4
- data/lib/ton_sdk_client/kw_struct.rb +7 -0
- data/lib/ton_sdk_client/net.rb +65 -67
- data/lib/ton_sdk_client/processing.rb +10 -10
- data/lib/ton_sdk_client/proofs.rb +61 -0
- data/lib/ton_sdk_client/tvm.rb +13 -15
- data/lib/ton_sdk_client/types.rb +3 -2
- data/lib/ton_sdk_client/utils.rb +23 -23
- data/lib/ton_sdk_client/version.rb +2 -2
- metadata +8 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6089c778489c542c5be6b2f08aaa25b658b0de1bc82cea166a36fe6005e6430e
|
4
|
+
data.tar.gz: 05511b5132c85588c2f2d9c9c26fc1681fa08ebecbf4445f7d4171ae997e9fc7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a5287864732773d988a8a668e6a19a99d8c199bfbf59ddd913924c334771bcaf43b64ed1ed423ceb67270c5dfe1ad2a534cfb5251d2562981b2ff15351e9cc92
|
7
|
+
data.tar.gz: d058acfb7188d6e5c96a2b01294d90494138254ebfbf991f9ba97990c1b191cb10a0746a9247302bb610a6b42ce050af5b8e48cc12992c374c9ee30ab1d8b79d
|
data/CHANGELOG.md
CHANGED
@@ -2,6 +2,19 @@
|
|
2
2
|
|
3
3
|
all the changes are always according to the ones of the main TON SDK library; and on top on that, there may be additional ones
|
4
4
|
|
5
|
+
1.26.0
|
6
|
+
-----
|
7
|
+
* Changes `1.26.0` https://github.com/tonlabs/TON-SDK/blob/master/CHANGELOG.md#1260--2021-11-25
|
8
|
+
|
9
|
+
1.25.0
|
10
|
+
-----
|
11
|
+
* Changes `1.25.0` https://github.com/tonlabs/TON-SDK/blob/master/CHANGELOG.md#1250--2021-11-08
|
12
|
+
|
13
|
+
1.24.0
|
14
|
+
-----
|
15
|
+
* Changes `1.24.0` https://github.com/tonlabs/TON-SDK/blob/master/CHANGELOG.md#1240--2021-10-18
|
16
|
+
* **BREAKING CHANGE** All Params now require keyword arguments
|
17
|
+
|
5
18
|
1.20.x
|
6
19
|
-----
|
7
20
|
* NetworkConfig and AbiContract have been changed (not mentioned explicitly in Changelog of TON SDK )
|
data/README.md
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
# TON SDK client in Ruby and for Ruby
|
2
2
|
|
3
|
-
[![Gem Version](https://badge.fury.io/rb/ton_sdk_client.
|
4
|
-
[![TON SDK version](https://img.shields.io/badge/TON%20SDK%20version-1.
|
3
|
+
[![Gem Version](https://badge.fury.io/rb/ton_sdk_client.svg)](https://rubygems.org/gems/ton_sdk_client)
|
4
|
+
[![TON SDK version](https://img.shields.io/badge/TON%20SDK%20version-1.26.0-green)](https://github.com/tonlabs/TON-SDK/tree/1.26.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
|
|
data/lib/ton_sdk_client/abi.rb
CHANGED
@@ -39,15 +39,23 @@ module TonSdk
|
|
39
39
|
end
|
40
40
|
end
|
41
41
|
|
42
|
-
FunctionHeader =
|
42
|
+
FunctionHeader = KwStruct.new(:expire, :time, :pubkey)
|
43
43
|
|
44
|
-
CallSet =
|
44
|
+
CallSet = KwStruct.new(:function_name, :header, :input) do
|
45
45
|
def initialize(function_name:, header: nil, input: nil)
|
46
46
|
super
|
47
47
|
end
|
48
|
+
|
49
|
+
def to_h
|
50
|
+
{
|
51
|
+
function_name: function_name,
|
52
|
+
header: header.to_h,
|
53
|
+
input: input
|
54
|
+
}
|
55
|
+
end
|
48
56
|
end
|
49
57
|
|
50
|
-
DeploySet =
|
58
|
+
DeploySet = KwStruct.new(:tvc, :workchain_id, :initial_data, :initial_pubkey) do
|
51
59
|
def initialize(tvc:, workchain_id: nil, initial_data: nil, initial_pubkey: nil)
|
52
60
|
super
|
53
61
|
end
|
@@ -95,19 +103,19 @@ module TonSdk
|
|
95
103
|
end
|
96
104
|
|
97
105
|
STATIC_INIT_SOURCE_TYPES = [:message, :state_init, :tvc]
|
98
|
-
|
99
|
-
|
106
|
+
# TODO: Refactor with subclasses?
|
107
|
+
StateInitSource = KwStruct.new(
|
108
|
+
:type,
|
100
109
|
:source,
|
101
110
|
:code,
|
102
111
|
:data,
|
103
112
|
:library,
|
104
113
|
:tvc,
|
105
114
|
:public_key,
|
106
|
-
:init_params
|
107
|
-
keyword_init: true
|
115
|
+
:init_params
|
108
116
|
) do
|
109
117
|
def initialize(
|
110
|
-
|
118
|
+
type:,
|
111
119
|
source: nil,
|
112
120
|
code: nil,
|
113
121
|
data: nil,
|
@@ -116,42 +124,42 @@ module TonSdk
|
|
116
124
|
public_key: nil,
|
117
125
|
init_params: nil
|
118
126
|
)
|
119
|
-
unless STATIC_INIT_SOURCE_TYPES.include?(
|
120
|
-
raise ArgumentError.new("unknown type: #{
|
127
|
+
unless STATIC_INIT_SOURCE_TYPES.include?(type)
|
128
|
+
raise ArgumentError.new("unknown type: #{type}; known types: #{STATIC_INIT_SOURCE_TYPES}")
|
121
129
|
end
|
122
130
|
super
|
123
131
|
end
|
124
132
|
|
125
133
|
def to_h
|
126
134
|
h1 = {
|
127
|
-
type: Helper.sym_to_capitalized_case_str(
|
135
|
+
type: Helper.sym_to_capitalized_case_str(type)
|
128
136
|
}
|
129
137
|
|
130
|
-
h2 = case
|
138
|
+
h2 = case type
|
131
139
|
when :message
|
132
140
|
{
|
133
|
-
source:
|
141
|
+
source: source.to_h
|
134
142
|
}
|
135
143
|
when :state_init
|
136
144
|
{
|
137
|
-
code:
|
138
|
-
data:
|
139
|
-
library:
|
145
|
+
code: code,
|
146
|
+
data: data,
|
147
|
+
library: library
|
140
148
|
}
|
141
149
|
when :tvc
|
142
150
|
{
|
143
|
-
public_key:
|
144
|
-
init_params:
|
151
|
+
public_key: public_key,
|
152
|
+
init_params: init_params.to_h
|
145
153
|
}
|
146
154
|
else
|
147
|
-
raise ArgumentError.new("unknown type: #{
|
155
|
+
raise ArgumentError.new("unknown type: #{type}; known types: #{STATIC_INIT_SOURCE_TYPES}")
|
148
156
|
end
|
149
157
|
|
150
158
|
h1.merge(h2)
|
151
159
|
end
|
152
160
|
end
|
153
161
|
|
154
|
-
StateInitParams =
|
162
|
+
StateInitParams = KwStruct.new(:abi, :value) do
|
155
163
|
def initialize(abi:, value:)
|
156
164
|
super
|
157
165
|
end
|
@@ -159,19 +167,18 @@ module TonSdk
|
|
159
167
|
|
160
168
|
|
161
169
|
MESSAGE_SOURCE_TYPES = [:encoded, :encoding_params]
|
162
|
-
MessageSource =
|
163
|
-
:
|
170
|
+
MessageSource = KwStruct.new(
|
171
|
+
:type,
|
164
172
|
:message,
|
165
173
|
:abi,
|
166
174
|
:address,
|
167
175
|
:deploy_set,
|
168
176
|
:call_set,
|
169
177
|
:signer,
|
170
|
-
:processing_try_index
|
171
|
-
keyword_init: true
|
178
|
+
:processing_try_index
|
172
179
|
) do
|
173
180
|
def initialize(
|
174
|
-
|
181
|
+
type:,
|
175
182
|
message: nil,
|
176
183
|
abi: nil,
|
177
184
|
address: nil,
|
@@ -180,8 +187,8 @@ module TonSdk
|
|
180
187
|
signer: nil,
|
181
188
|
processing_try_index: 0
|
182
189
|
)
|
183
|
-
unless MESSAGE_SOURCE_TYPES.include?(
|
184
|
-
raise ArgumentError.new("unknown type: #{
|
190
|
+
unless MESSAGE_SOURCE_TYPES.include?(type)
|
191
|
+
raise ArgumentError.new("unknown type: #{type}; known types: #{MESSAGE_SOURCE_TYPES}")
|
185
192
|
end
|
186
193
|
|
187
194
|
super
|
@@ -189,23 +196,23 @@ module TonSdk
|
|
189
196
|
|
190
197
|
def to_h
|
191
198
|
h1 = {
|
192
|
-
type: Helper.sym_to_capitalized_case_str(
|
199
|
+
type: Helper.sym_to_capitalized_case_str(type)
|
193
200
|
}
|
194
201
|
|
195
|
-
h2 = case
|
202
|
+
h2 = case type
|
196
203
|
when :encoded
|
197
204
|
{
|
198
|
-
message:
|
199
|
-
abi:
|
205
|
+
message: message,
|
206
|
+
abi: abi&.to_h
|
200
207
|
}
|
201
208
|
when :encoding_params
|
202
209
|
{
|
203
|
-
abi:
|
204
|
-
address:
|
205
|
-
deploy_set:
|
206
|
-
call_set:
|
207
|
-
signer:
|
208
|
-
processing_try_index:
|
210
|
+
abi: abi.to_h,
|
211
|
+
address: address,
|
212
|
+
deploy_set: deploy_set&.to_h,
|
213
|
+
call_set: call_set&.to_h,
|
214
|
+
signer: signer&.to_h,
|
215
|
+
processing_try_index: processing_try_index
|
209
216
|
}
|
210
217
|
end
|
211
218
|
|
@@ -213,34 +220,50 @@ module TonSdk
|
|
213
220
|
end
|
214
221
|
end
|
215
222
|
|
216
|
-
ParamsOfEncodeMessageBody =
|
217
|
-
|
218
|
-
|
223
|
+
ParamsOfEncodeMessageBody = KwStruct.new(
|
224
|
+
:abi,
|
225
|
+
:call_set,
|
226
|
+
:is_internal,
|
227
|
+
:signer,
|
228
|
+
:processing_try_index
|
229
|
+
) do
|
230
|
+
def to_h
|
231
|
+
{
|
232
|
+
abi: abi.to_h,
|
233
|
+
call_set: call_set.to_h,
|
234
|
+
is_internal: is_internal,
|
235
|
+
signer: signer.to_h,
|
236
|
+
processing_try_index: processing_try_index
|
237
|
+
}
|
219
238
|
end
|
220
239
|
end
|
221
240
|
|
222
|
-
ResultOfEncodeMessageBody =
|
241
|
+
ResultOfEncodeMessageBody = KwStruct.new(:body, :data_to_sign) do
|
223
242
|
def initialize(body:, data_to_sign: nil)
|
224
243
|
super
|
225
244
|
end
|
226
245
|
end
|
227
246
|
|
228
|
-
ParamsOfAttachSignatureToMessageBody =
|
229
|
-
def
|
230
|
-
|
247
|
+
ParamsOfAttachSignatureToMessageBody = KwStruct.new(:abi, :public_key, :message, :signature) do
|
248
|
+
def to_h
|
249
|
+
{
|
250
|
+
abi: abi.to_h,
|
251
|
+
public_key: public_key,
|
252
|
+
message: message,
|
253
|
+
signature: signature
|
254
|
+
}
|
231
255
|
end
|
232
256
|
end
|
233
257
|
|
234
|
-
ResultOfAttachSignatureToMessageBody =
|
258
|
+
ResultOfAttachSignatureToMessageBody = KwStruct.new(:body)
|
235
259
|
|
236
|
-
ParamsOfEncodeMessage =
|
260
|
+
ParamsOfEncodeMessage = KwStruct.new(
|
237
261
|
:abi,
|
238
262
|
:address,
|
239
263
|
:deploy_set,
|
240
264
|
:call_set,
|
241
265
|
:signer,
|
242
|
-
:processing_try_index
|
243
|
-
keyword_init: true
|
266
|
+
:processing_try_index
|
244
267
|
) do
|
245
268
|
def initialize(
|
246
269
|
abi:,
|
@@ -252,30 +275,57 @@ module TonSdk
|
|
252
275
|
)
|
253
276
|
super
|
254
277
|
end
|
278
|
+
|
279
|
+
def to_h
|
280
|
+
{
|
281
|
+
abi: abi.to_h,
|
282
|
+
address: address,
|
283
|
+
deploy_set: deploy_set&.to_h,
|
284
|
+
call_set: call_set&.to_h,
|
285
|
+
signer: signer.to_h,
|
286
|
+
processing_try_index: processing_try_index
|
287
|
+
}
|
288
|
+
end
|
255
289
|
end
|
256
290
|
|
257
|
-
ResultOfEncodeMessage =
|
291
|
+
ResultOfEncodeMessage = KwStruct.new(:message, :data_to_sign, :address, :message_id) do
|
258
292
|
def initialize(message:, data_to_sign: nil, address:, message_id:)
|
259
293
|
super
|
260
294
|
end
|
261
295
|
end
|
262
296
|
|
263
|
-
ParamsOfAttachSignature =
|
297
|
+
ParamsOfAttachSignature = KwStruct.new(:abi, :public_key, :message, :signature) do
|
264
298
|
def initialize(abi:, public_key:, message:, signature:)
|
265
299
|
super
|
266
300
|
end
|
301
|
+
|
302
|
+
def to_h
|
303
|
+
{
|
304
|
+
abi: abi&.to_h,
|
305
|
+
public_key: public_key,
|
306
|
+
message: message,
|
307
|
+
signature: signature
|
308
|
+
}
|
309
|
+
end
|
267
310
|
end
|
268
311
|
|
269
|
-
ResultOfAttachSignature =
|
312
|
+
ResultOfAttachSignature = KwStruct.new(:message, :message_id) do
|
270
313
|
def initialize(message:, message_id:)
|
271
314
|
super
|
272
315
|
end
|
273
316
|
end
|
274
317
|
|
275
|
-
ParamsOfDecodeMessage =
|
318
|
+
ParamsOfDecodeMessage = KwStruct.new(:abi, :message) do
|
276
319
|
def initialize(abi:, message:)
|
277
320
|
super
|
278
321
|
end
|
322
|
+
|
323
|
+
def to_h
|
324
|
+
{
|
325
|
+
abi: abi&.to_h,
|
326
|
+
message: message
|
327
|
+
}
|
328
|
+
end
|
279
329
|
end
|
280
330
|
|
281
331
|
class DecodedMessageBody
|
@@ -341,19 +391,39 @@ module TonSdk
|
|
341
391
|
end
|
342
392
|
end
|
343
393
|
|
344
|
-
ParamsOfDecodeMessageBody =
|
394
|
+
ParamsOfDecodeMessageBody = KwStruct.new(:abi, :body, :is_internal) do
|
345
395
|
def initialize(abi:, body:, is_internal:)
|
346
396
|
super
|
347
397
|
end
|
398
|
+
|
399
|
+
def to_h
|
400
|
+
{
|
401
|
+
abi: abi&.to_h,
|
402
|
+
body: body,
|
403
|
+
is_internal: is_internal
|
404
|
+
}
|
405
|
+
end
|
348
406
|
end
|
349
407
|
|
350
|
-
ParamsOfEncodeAccount =
|
351
|
-
|
352
|
-
|
408
|
+
ParamsOfEncodeAccount = KwStruct.new(
|
409
|
+
:state_init,
|
410
|
+
:balance,
|
411
|
+
:last_trans_lt,
|
412
|
+
:last_paid,
|
413
|
+
:boc_cache
|
414
|
+
) do
|
415
|
+
def to_h
|
416
|
+
{
|
417
|
+
state_init: state_init.to_h,
|
418
|
+
balance: balance,
|
419
|
+
last_trans_lt: last_trans_lt,
|
420
|
+
last_paid: last_paid,
|
421
|
+
boc_cache: boc_cache&.to_h
|
422
|
+
}
|
353
423
|
end
|
354
424
|
end
|
355
425
|
|
356
|
-
ResultOfEncodeAccount =
|
426
|
+
ResultOfEncodeAccount = KwStruct.new(:account, :id_) do
|
357
427
|
def initialize(account:, id_:)
|
358
428
|
super
|
359
429
|
end
|
@@ -621,7 +691,7 @@ module TonSdk
|
|
621
691
|
end
|
622
692
|
end
|
623
693
|
|
624
|
-
ParamsOfEncodeInternalMessage =
|
694
|
+
ParamsOfEncodeInternalMessage = KwStruct.new(
|
625
695
|
:abi,
|
626
696
|
:address,
|
627
697
|
:src_address,
|
@@ -629,8 +699,7 @@ module TonSdk
|
|
629
699
|
:call_set,
|
630
700
|
:value,
|
631
701
|
:bounce,
|
632
|
-
:enable_ihr
|
633
|
-
keyword_init: true
|
702
|
+
:enable_ihr
|
634
703
|
) do
|
635
704
|
def initialize(
|
636
705
|
abi: nil,
|
@@ -646,20 +715,69 @@ module TonSdk
|
|
646
715
|
end
|
647
716
|
end
|
648
717
|
|
649
|
-
ResultOfEncodeInternalMessage =
|
718
|
+
ResultOfEncodeInternalMessage = KwStruct.new(
|
650
719
|
:message,
|
651
720
|
:address,
|
652
|
-
:message_id
|
653
|
-
keyword_init: true
|
721
|
+
:message_id
|
654
722
|
) do
|
655
723
|
def initialize(message:, address:, message_id:)
|
656
724
|
super
|
657
725
|
end
|
658
726
|
end
|
659
727
|
|
660
|
-
ParamsOfDecodeAccountData =
|
661
|
-
|
728
|
+
ParamsOfDecodeAccountData = KwStruct.new(:abi, :data) do
|
729
|
+
def to_h
|
730
|
+
{
|
731
|
+
abi: abi&.to_h,
|
732
|
+
data: data
|
733
|
+
}
|
734
|
+
end
|
735
|
+
end
|
736
|
+
|
737
|
+
ResultOfDecodeAccountData = KwStruct.new(:data)
|
738
|
+
|
739
|
+
ParamsOfUpdateInitialData = KwStruct.new(
|
740
|
+
:data,
|
741
|
+
:abi,
|
742
|
+
:initial_data,
|
743
|
+
:initial_pubkey,
|
744
|
+
:boc_cache
|
745
|
+
) do
|
746
|
+
def to_h
|
747
|
+
{
|
748
|
+
data: data,
|
749
|
+
abi: abi&.to_h,
|
750
|
+
initial_data: initial_data,
|
751
|
+
initial_pubkey: initial_pubkey,
|
752
|
+
boc_cache: boc_cache&.to_h
|
753
|
+
}
|
754
|
+
end
|
755
|
+
end
|
756
|
+
|
757
|
+
ResultOfUpdateInitialData = KwStruct.new(:data)
|
758
|
+
|
759
|
+
ParamsOfDecodeInitialData = KwStruct.new(:data, :abi) do
|
760
|
+
def to_h
|
761
|
+
{
|
762
|
+
data: data,
|
763
|
+
abi: abi&.to_h
|
764
|
+
}
|
765
|
+
end
|
766
|
+
end
|
767
|
+
|
768
|
+
ResultOfDecodeInitialData = KwStruct.new(:initial_pubkey, :initial_data)
|
769
|
+
|
770
|
+
ParamsOfDecodeBoc = KwStruct.new(:params, :boc, :allow_partial) do
|
771
|
+
def to_h
|
772
|
+
{
|
773
|
+
params: params&.map(&:to_h),
|
774
|
+
boc: boc,
|
775
|
+
allow_partial: allow_partial
|
776
|
+
}
|
777
|
+
end
|
778
|
+
end
|
662
779
|
|
780
|
+
ResultOfDecodeBoc = KwStruct.new(:data)
|
663
781
|
|
664
782
|
#
|
665
783
|
# functions
|
@@ -668,7 +786,7 @@ module TonSdk
|
|
668
786
|
def self.encode_message_body(ctx, params)
|
669
787
|
Interop::request_to_native_lib(ctx, "abi.encode_message_body", params) do |resp|
|
670
788
|
if resp.success?
|
671
|
-
yield
|
789
|
+
yield NativeLibResponseResult.new(
|
672
790
|
result: ResultOfEncodeMessageBody.new(
|
673
791
|
body: resp.result["body"],
|
674
792
|
data_to_sign: resp.result["data_to_sign"])
|
@@ -682,8 +800,8 @@ module TonSdk
|
|
682
800
|
def self.attach_signature_to_message_body(ctx, params)
|
683
801
|
Interop::request_to_native_lib(ctx, "abi.attach_signature_to_message_body", params) do |resp|
|
684
802
|
if resp.success?
|
685
|
-
yield
|
686
|
-
result: ResultOfAttachSignatureToMessageBody.new(resp.result["body"])
|
803
|
+
yield NativeLibResponseResult.new(
|
804
|
+
result: ResultOfAttachSignatureToMessageBody.new(body: resp.result["body"])
|
687
805
|
)
|
688
806
|
else
|
689
807
|
yield resp
|
@@ -694,7 +812,7 @@ module TonSdk
|
|
694
812
|
def self.encode_message(ctx, params)
|
695
813
|
Interop::request_to_native_lib(ctx, "abi.encode_message", params) do |resp|
|
696
814
|
if resp.success?
|
697
|
-
yield
|
815
|
+
yield NativeLibResponseResult.new(
|
698
816
|
result: ResultOfEncodeMessage.new(
|
699
817
|
message: resp.result["message"],
|
700
818
|
data_to_sign: resp.result["data_to_sign"],
|
@@ -711,7 +829,7 @@ module TonSdk
|
|
711
829
|
def self.attach_signature(ctx, params)
|
712
830
|
Interop::request_to_native_lib(ctx, "abi.attach_signature", params) do |resp|
|
713
831
|
if resp.success?
|
714
|
-
yield
|
832
|
+
yield NativeLibResponseResult.new(
|
715
833
|
result: ResultOfAttachSignature.new(
|
716
834
|
message: resp.result["message"],
|
717
835
|
message_id: resp.result["message_id"])
|
@@ -725,7 +843,7 @@ module TonSdk
|
|
725
843
|
def self.decode_message(ctx, params)
|
726
844
|
Interop::request_to_native_lib(ctx, "abi.decode_message", params) do |resp|
|
727
845
|
if resp.success?
|
728
|
-
yield
|
846
|
+
yield NativeLibResponseResult.new(
|
729
847
|
result: DecodedMessageBody.from_json(resp.result)
|
730
848
|
)
|
731
849
|
else
|
@@ -737,7 +855,7 @@ module TonSdk
|
|
737
855
|
def self.decode_message_body(ctx, params)
|
738
856
|
Interop::request_to_native_lib(ctx, "abi.decode_message_body", params) do |resp|
|
739
857
|
if resp.success?
|
740
|
-
yield
|
858
|
+
yield NativeLibResponseResult.new(
|
741
859
|
result: DecodedMessageBody.from_json(resp.result)
|
742
860
|
)
|
743
861
|
else
|
@@ -749,7 +867,7 @@ module TonSdk
|
|
749
867
|
def self.encode_account(ctx, params)
|
750
868
|
Interop::request_to_native_lib(ctx, "abi.encode_account", params) do |resp|
|
751
869
|
if resp.success?
|
752
|
-
yield
|
870
|
+
yield NativeLibResponseResult.new(
|
753
871
|
result: ResultOfEncodeAccount.new(
|
754
872
|
account: resp.result["account"],
|
755
873
|
id_: resp.result["id"]
|
@@ -764,7 +882,7 @@ module TonSdk
|
|
764
882
|
def self.encode_internal_message(ctx, params)
|
765
883
|
Interop::request_to_native_lib(ctx, "abi.encode_internal_message", params) do |resp|
|
766
884
|
if resp.success?
|
767
|
-
yield
|
885
|
+
yield NativeLibResponseResult.new(
|
768
886
|
result: ResultOfEncodeInternalMessage.new(
|
769
887
|
message: resp.result["message"],
|
770
888
|
address: resp.result["address"],
|
@@ -780,9 +898,9 @@ module TonSdk
|
|
780
898
|
def self.decode_account_data(ctx, params)
|
781
899
|
Interop::request_to_native_lib(ctx, "abi.decode_account_data", params) do |resp|
|
782
900
|
if resp.success?
|
783
|
-
yield
|
784
|
-
result:
|
785
|
-
resp.result["data"]
|
901
|
+
yield NativeLibResponseResult.new(
|
902
|
+
result: ResultOfDecodeAccountData.new(
|
903
|
+
data: resp.result["data"]
|
786
904
|
)
|
787
905
|
)
|
788
906
|
else
|
@@ -791,7 +909,47 @@ module TonSdk
|
|
791
909
|
end
|
792
910
|
end
|
793
911
|
|
912
|
+
def self.update_initial_data(ctx, params)
|
913
|
+
Interop::request_to_native_lib(ctx, "abi.update_initial_data", params) do |resp|
|
914
|
+
if resp.success?
|
915
|
+
yield NativeLibResponseResult.new(
|
916
|
+
result: ResultOfUpdateInitialData.new(
|
917
|
+
data: resp.result["data"]
|
918
|
+
)
|
919
|
+
)
|
920
|
+
else
|
921
|
+
yield resp
|
922
|
+
end
|
923
|
+
end
|
924
|
+
end
|
794
925
|
|
926
|
+
def self.decode_initial_data(ctx, params)
|
927
|
+
Interop::request_to_native_lib(ctx, "abi.decode_initial_data", params) do |resp|
|
928
|
+
if resp.success?
|
929
|
+
yield NativeLibResponseResult.new(
|
930
|
+
result: ResultOfDecodeInitialData.new(
|
931
|
+
initial_pubkey: resp.result["initial_pubkey"],
|
932
|
+
initial_data: resp.result["initial_data"]
|
933
|
+
)
|
934
|
+
)
|
935
|
+
else
|
936
|
+
yield resp
|
937
|
+
end
|
938
|
+
end
|
939
|
+
end
|
795
940
|
|
941
|
+
def self.decode_boc(ctx, params)
|
942
|
+
Interop::request_to_native_lib(ctx, "abi.decode_boc", params) do |resp|
|
943
|
+
if resp.success?
|
944
|
+
yield NativeLibResponseResult.new(
|
945
|
+
result: ResultOfDecodeBoc.new(
|
946
|
+
data: resp.result["data"]
|
947
|
+
)
|
948
|
+
)
|
949
|
+
else
|
950
|
+
yield resp
|
951
|
+
end
|
952
|
+
end
|
953
|
+
end
|
796
954
|
end
|
797
|
-
end
|
955
|
+
end
|