ton_sdk_client 1.18.0 → 1.21.5

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 93ce3efefeae7a25614a74726af1c93fa4a8f8eb0ad897ea0ba6d41b76946102
4
- data.tar.gz: 87f3ebd814144ac4967711f626e6fcc948c8e12042a76ab93f472ac99cc68669
3
+ metadata.gz: 68951575793a97c1bd43193216359e97cff46220c011f849d08ce2b8b8adc269
4
+ data.tar.gz: 22be1357cf2604bfaa02fa09818c173f8766383b0cc76086c815946a0cf5deb9
5
5
  SHA512:
6
- metadata.gz: 2f33cc5939351b95af854b363bb5064db95a201ce674b90264fe261313c73e8d0faacc18de8b2cfae6d2f0fabde134eaa3b11011685db868423ae51c3ae85665
7
- data.tar.gz: d557d9920669edfa03f2b5ccf395897fd56970bb9f78c3a58e24e32cd07d3478600f9f34d834ac15e18ad1a951c942d2b7bc03235cd51c8e53b22b0bae3a4acf
6
+ metadata.gz: 3cb0f85cd65c4baee5cd8949cc915393c561b1a2054d2f3b059c77d25ccb501c87283038deaa949b7a07fdad50c99ebe57c897e09fcd144061b613d14459c833
7
+ data.tar.gz: edbd614c0895b29e1acd55d6d53e303958cb86528d80bcfc420b7b99fe2892241cc5263191912d4a68822b26bae92c913404e6d829c85819e87198016b1c956f
data/CHANGELOG.md CHANGED
@@ -2,6 +2,10 @@
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.20.x
6
+ -----
7
+ * NetworkConfig and AbiContract have been changed (not mentioned explicitly in Changelog of TON SDK )
8
+
5
9
 
6
10
  1.15.x
7
11
  -----
data/README.md CHANGED
@@ -1,7 +1,7 @@
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.18.0-green)](https://github.com/tonlabs/TON-SDK/tree/1.18.0)
4
+ [![TON SDK version](https://img.shields.io/badge/TON%20SDK%20version-1.21.5-green)](https://github.com/tonlabs/TON-SDK/tree/1.21.5)
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 don't necessarily have to match each other.
12
+ and they may not always match each other.
13
13
 
14
14
 
15
15
 
@@ -549,43 +549,36 @@ 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, :version, :header, :functions, :events, :data, :fields
553
553
 
554
- def initialize(abi_version: nil, header: [], functions: [], events: [], data: [])
554
+ def initialize(
555
+ abi_version: nil,
556
+ version: nil,
557
+ header: [],
558
+ functions: [],
559
+ events: [],
560
+ data: [],
561
+ fields: []
562
+ )
555
563
  @abi_version = abi_version
556
-
557
- # in case if an argument has been passed as nil,
558
- # a default value should be used instead
559
-
560
- @header = header || []
561
- @functions = functions || []
562
- @events = events || []
563
- @data = data || []
564
+ @version = version
565
+ @header = header
566
+ @functions = functions
567
+ @events = events
568
+ @data = data
569
+ @fields = fields
564
570
  end
565
571
 
566
572
  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
573
  {
582
574
  abi_version: @abi_version,
583
575
  :"ABI version" => @abi_version, #TODO
584
-
576
+ version: @version,
585
577
  header: @header,
586
- functions: fn_h_s,
587
- events: ev_h_s,
588
- data: dt_h_s,
578
+ functions: @functions&.map(&:to_h),
579
+ events: @events&.map(&:to_h),
580
+ data: @data&.map(&:to_h),
581
+ fields: @fields&.map(&:to_h)
589
582
  }
590
583
  end
591
584
 
@@ -610,12 +603,20 @@ module TonSdk
610
603
  j["data"].compact.map {|x| AbiData.from_json(x) }
611
604
  end
612
605
 
606
+ fl_s = if j["fields"].nil?
607
+ []
608
+ else
609
+ j["fields"].compact.map {|x| AbiParam.from_json(x) }
610
+ end
611
+
613
612
  self.new(
614
613
  abi_version: j["ABI version"],
614
+ version: j["version"],
615
615
  header: j["header"],
616
616
  functions: fn_s,
617
617
  events: ev_s,
618
- data: dt_s
618
+ data: dt_s,
619
+ fields: fl_s
619
620
  )
620
621
  end
621
622
  end
@@ -656,6 +657,9 @@ module TonSdk
656
657
  end
657
658
  end
658
659
 
660
+ ParamsOfDecodeAccountData = Struct.new(:abi, :data, keyword_init: true)
661
+ ResultOfDecodeData = Struct.new(:data)
662
+
659
663
 
660
664
  #
661
665
  # functions
@@ -772,5 +776,22 @@ module TonSdk
772
776
  end
773
777
  end
774
778
  end
779
+
780
+ def self.decode_account_data(ctx, params)
781
+ Interop::request_to_native_lib(ctx, "abi.decode_account_data", params) do |resp|
782
+ if resp.success?
783
+ yield NativeLibResponsetResult.new(
784
+ result: ResultOfDecodeData.new(
785
+ resp.result["data"]
786
+ )
787
+ )
788
+ else
789
+ yield resp
790
+ end
791
+ end
792
+ end
793
+
794
+
795
+
775
796
  end
776
797
  end
@@ -5,15 +5,16 @@ module TonSdk
5
5
  :server_address,
6
6
  :endpoints,
7
7
  :network_retries_count,
8
+ :max_reconnect_timeout,
9
+ :reconnect_timeout,
8
10
  :message_retries_count,
9
11
  :message_processing_timeout,
10
12
  :wait_for_timeout,
11
13
  :out_of_sync_threshold,
12
- :reconnect_timeout,
13
- :max_reconnect_timeout,
14
14
  :sending_endpoint_count,
15
15
  :latency_detection_interval,
16
16
  :max_latency,
17
+ :query_timeout,
17
18
  :access_key,
18
19
  keyword_init: true
19
20
  ) do
@@ -30,6 +31,7 @@ module TonSdk
30
31
  sending_endpoint_count: 2,
31
32
  latency_detection_interval: 60000,
32
33
  max_latency: 60000,
34
+ query_timeout: 60000,
33
35
  access_key: nil
34
36
  )
35
37
  super
@@ -25,6 +25,13 @@ module TonSdk
25
25
  MNEMONICFROMENTROPY_FAILED = 120
26
26
  SIGNING_BOX_NOT_REGISTERED = 121
27
27
  INVALID_SIGNATURE = 122
28
+ ENCRYPTION_BOX_NOT_REGISTERED = 123
29
+ INVALID_IV_SIZE = 124
30
+ UNSUPPORTED_CIPHER_MODE = 125
31
+ CANNOT_CREATE_CIPHER = 126
32
+ ENCRYPT_DATA_ERROR = 127
33
+ DECRYPT_DATA_ERROR = 128
34
+ IV_REQUIRED = 129
28
35
  end
29
36
 
30
37
  ParamsOfFactorize = Struct.new(:composite)
@@ -269,6 +276,19 @@ module TonSdk
269
276
  ParamsOfEncryptionBoxGetInfo = Struct.new(:encryption_box)
270
277
  ResultOfEncryptionBoxGetInfo = Struct.new(:info)
271
278
  RegisteredEncryptionBox = Struct.new(:handle)
279
+ ParamsOfCreateEncryptionBox = Struct.new(:algorithm)
280
+
281
+ class EncryptionAlgorithm
282
+ private_class_method :new
283
+
284
+ attr_reader :type_, :aes_params
285
+
286
+ def self.new_with_type_aes(aes_params:)
287
+ @type_ = :aes
288
+ @aes_params = aes_params
289
+ end
290
+ end
291
+
272
292
 
273
293
 
274
294
  #
@@ -819,5 +839,17 @@ module TonSdk
819
839
  end
820
840
  end
821
841
  end
842
+
843
+ def self.create_encryption_box(ctx, params)
844
+ Interop::request_to_native_lib(ctx, "crypto.create_encryption_box", params) do |resp|
845
+ if resp.success?
846
+ yield NativeLibResponsetResult.new(
847
+ result: RegisteredEncryptionBox.new(resp.result["handle"])
848
+ )
849
+ else
850
+ yield resp
851
+ end
852
+ end
853
+ end
822
854
  end
823
855
  end
@@ -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: Utils::ResultOfConvertAddress.new(resp.result["address"])
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: Utils::ResultOfCalcStorageFee.new(resp.result["fee"])
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: Utils::ResultOfCompressZstd.new(resp.result["compressed"])
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: Utils::ParamsOfDecompressZstd.new(resp.result["decompressed"])
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
@@ -1,4 +1,4 @@
1
1
  module TonSdk
2
- VERSION = "1.18.0"
3
- NATIVE_SDK_VERSION = "1.18.0"
2
+ VERSION = "1.21.5"
3
+ NATIVE_SDK_VERSION = "1.21.5"
4
4
  end
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.18.0
4
+ version: 1.21.5
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-05 00:00:00.000000000 Z
11
+ date: 2021-09-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ffi