ton_sdk_client 1.18.0 → 1.19.0
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/README.md +2 -2
- data/lib/ton_sdk_client/abi.rb +46 -29
- data/lib/ton_sdk_client/utils.rb +19 -4
- data/lib/ton_sdk_client/version.rb +2 -2
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c6868c6fe12ffd4126d1eeb38b3030a3ed5d7f035dae0fec74b9d84db10114c4
|
4
|
+
data.tar.gz: e54ded382e777172f4c55f900900b8bb05c8eb92e446a7a14da9940183cf84a6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7d72968fce6441bc33b7c39eb1901acbeeea916aeb44975775bbe2bd95d0bd45d5cba2b80a175a5b259f00c171e5b1868fb22cdaa947a9c2786a62aad42548f5
|
7
|
+
data.tar.gz: 2677cd3d469893a7404b23df694fd756650ca90775d80d990556fa39d2fd3c36e19539be190031b17d291d466c7f14b74c32255f7a4fac1787c1b6109ddb5442
|
data/README.md
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
# TON SDK client in Ruby and for Ruby
|
2
2
|
|
3
3
|
[](https://badge.fury.io/rb/ton_sdk_client)
|
4
|
-
[](https://github.com/tonlabs/TON-SDK/tree/1.19.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
|
|
@@ -9,7 +9,7 @@ Note that there're 2 types of versions:
|
|
9
9
|
* `TonSdk::VERSION` - the version of the gem
|
10
10
|
* `TonSdk::NATIVE_SDK_VERSION` - the version of the original SDK
|
11
11
|
|
12
|
-
and they
|
12
|
+
and they may not always match each other.
|
13
13
|
|
14
14
|
|
15
15
|
|
data/lib/ton_sdk_client/abi.rb
CHANGED
@@ -549,43 +549,33 @@ module TonSdk
|
|
549
549
|
end
|
550
550
|
|
551
551
|
class AbiContract
|
552
|
-
attr_reader :abi_version, :header, :functions, :events, :data
|
552
|
+
attr_reader :abi_version, :header, :functions, :events, :data, :fields
|
553
553
|
|
554
|
-
def initialize(
|
554
|
+
def initialize(
|
555
|
+
abi_version: nil,
|
556
|
+
header: [],
|
557
|
+
functions: [],
|
558
|
+
events: [],
|
559
|
+
data: [],
|
560
|
+
fields: []
|
561
|
+
)
|
555
562
|
@abi_version = abi_version
|
556
|
-
|
557
|
-
|
558
|
-
|
559
|
-
|
560
|
-
@
|
561
|
-
@functions = functions || []
|
562
|
-
@events = events || []
|
563
|
-
@data = data || []
|
563
|
+
@header = header
|
564
|
+
@functions = functions
|
565
|
+
@events = events
|
566
|
+
@data = data
|
567
|
+
@fields = fields
|
564
568
|
end
|
565
569
|
|
566
570
|
def to_h
|
567
|
-
@header.compact! if !@header.nil?
|
568
|
-
|
569
|
-
fn_h_s = if !@functions.nil?
|
570
|
-
@functions.compact.map(&:to_h)
|
571
|
-
end
|
572
|
-
|
573
|
-
ev_h_s = if !@events.nil?
|
574
|
-
@events.compact.map(&:to_h)
|
575
|
-
end
|
576
|
-
|
577
|
-
dt_h_s = if !@data.nil?
|
578
|
-
@data.compact.map(&:to_h)
|
579
|
-
end
|
580
|
-
|
581
571
|
{
|
582
572
|
abi_version: @abi_version,
|
583
573
|
:"ABI version" => @abi_version, #TODO
|
584
|
-
|
585
574
|
header: @header,
|
586
|
-
functions:
|
587
|
-
events:
|
588
|
-
data:
|
575
|
+
functions: @functions&.map(&:to_h),
|
576
|
+
events: @events&.map(&:to_h),
|
577
|
+
data: @data&.map(&:to_h),
|
578
|
+
fields: @fields
|
589
579
|
}
|
590
580
|
end
|
591
581
|
|
@@ -610,12 +600,19 @@ module TonSdk
|
|
610
600
|
j["data"].compact.map {|x| AbiData.from_json(x) }
|
611
601
|
end
|
612
602
|
|
603
|
+
fl_s = if j["fields"].nil?
|
604
|
+
[]
|
605
|
+
else
|
606
|
+
j["fields"].compact.map {|x| AbiParam.from_json(x) }
|
607
|
+
end
|
608
|
+
|
613
609
|
self.new(
|
614
610
|
abi_version: j["ABI version"],
|
615
611
|
header: j["header"],
|
616
612
|
functions: fn_s,
|
617
613
|
events: ev_s,
|
618
|
-
data: dt_s
|
614
|
+
data: dt_s,
|
615
|
+
fields: fl_s
|
619
616
|
)
|
620
617
|
end
|
621
618
|
end
|
@@ -656,6 +653,9 @@ module TonSdk
|
|
656
653
|
end
|
657
654
|
end
|
658
655
|
|
656
|
+
ParamsOfDecodeAccountData = Struct.new(:abi, :data, keyword_init: true)
|
657
|
+
ResultOfDecodeData = Struct.new(:data)
|
658
|
+
|
659
659
|
|
660
660
|
#
|
661
661
|
# functions
|
@@ -772,5 +772,22 @@ module TonSdk
|
|
772
772
|
end
|
773
773
|
end
|
774
774
|
end
|
775
|
+
|
776
|
+
def self.decode_account_data(ctx, params)
|
777
|
+
Interop::request_to_native_lib(ctx, "abi.decode_account_data", params) do |resp|
|
778
|
+
if resp.success?
|
779
|
+
yield NativeLibResponsetResult.new(
|
780
|
+
result: ResultOfDecodeData.new(
|
781
|
+
resp.result["data"]
|
782
|
+
)
|
783
|
+
)
|
784
|
+
else
|
785
|
+
yield resp
|
786
|
+
end
|
787
|
+
end
|
788
|
+
end
|
789
|
+
|
790
|
+
|
791
|
+
|
775
792
|
end
|
776
793
|
end
|
data/lib/ton_sdk_client/utils.rb
CHANGED
@@ -51,6 +51,9 @@ module TonSdk
|
|
51
51
|
ParamsOfDecompressZstd = Struct.new(:compressed)
|
52
52
|
ResultOfDecompressZstd = Struct.new(:decompressed)
|
53
53
|
|
54
|
+
ParamsOfGetAddressType = Struct.new(:address)
|
55
|
+
ResultOfGetAddressType = Struct.new(:address_type)
|
56
|
+
|
54
57
|
|
55
58
|
#
|
56
59
|
# functions
|
@@ -60,7 +63,7 @@ module TonSdk
|
|
60
63
|
Interop::request_to_native_lib(ctx, "utils.convert_address", params) do |resp|
|
61
64
|
if resp.success?
|
62
65
|
yield NativeLibResponsetResult.new(
|
63
|
-
result:
|
66
|
+
result: ResultOfConvertAddress.new(resp.result["address"])
|
64
67
|
)
|
65
68
|
else
|
66
69
|
yield resp
|
@@ -72,7 +75,7 @@ module TonSdk
|
|
72
75
|
Interop::request_to_native_lib(ctx, "utils.calc_storage_fee", params) do |resp|
|
73
76
|
if resp.success?
|
74
77
|
yield NativeLibResponsetResult.new(
|
75
|
-
result:
|
78
|
+
result: ResultOfCalcStorageFee.new(resp.result["fee"])
|
76
79
|
)
|
77
80
|
else
|
78
81
|
yield resp
|
@@ -84,7 +87,7 @@ module TonSdk
|
|
84
87
|
Interop::request_to_native_lib(ctx, "utils.compress_zstd", params) do |resp|
|
85
88
|
if resp.success?
|
86
89
|
yield NativeLibResponsetResult.new(
|
87
|
-
result:
|
90
|
+
result: ResultOfCompressZstd.new(resp.result["compressed"])
|
88
91
|
)
|
89
92
|
else
|
90
93
|
yield resp
|
@@ -96,7 +99,19 @@ module TonSdk
|
|
96
99
|
Interop::request_to_native_lib(ctx, "utils.decompress_zstd", params) do |resp|
|
97
100
|
if resp.success?
|
98
101
|
yield NativeLibResponsetResult.new(
|
99
|
-
result:
|
102
|
+
result: ParamsOfDecompressZstd.new(resp.result["decompressed"])
|
103
|
+
)
|
104
|
+
else
|
105
|
+
yield resp
|
106
|
+
end
|
107
|
+
end
|
108
|
+
end
|
109
|
+
|
110
|
+
def self.get_address_type(ctx, params)
|
111
|
+
Interop::request_to_native_lib(ctx, "utils.get_address_type", params) do |resp|
|
112
|
+
if resp.success?
|
113
|
+
yield NativeLibResponsetResult.new(
|
114
|
+
result: ResultOfGetAddressType.new(resp.result["address_type"])
|
100
115
|
)
|
101
116
|
else
|
102
117
|
yield resp
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ton_sdk_client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.19.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Alex Maslakov
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-07-
|
11
|
+
date: 2021-07-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: ffi
|