everscale-client-ruby 1.1.43 → 1.1.47

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.
@@ -3,12 +3,11 @@ module TonClient
3
3
  class Boc
4
4
  include CommonInstanceHelpers
5
5
 
6
- attr_reader :core, :context
6
+ attr_reader :context
7
7
  MODULE = self.to_s.downcase.gsub(/^(.+::|)(\w+)$/, '\2').freeze
8
8
 
9
- def initialize(context: Context.new, core: TonClient::TonBinding)
9
+ def initialize(context: nil)
10
10
  @context = context
11
- @core = core
12
11
  end
13
12
 
14
13
  # INPUT: ParamsOfParse
@@ -16,7 +15,7 @@ module TonClient
16
15
  # RESPONSE: ResultOfParse
17
16
  # parsed: Value - # # JSON containing parsed BOC
18
17
  def parse_message(payload, &block)
19
- core.requestLibrary(context: context.id, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
18
+ TonBinding.requestLibrary(context: context, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
20
19
  end
21
20
 
22
21
  # INPUT: ParamsOfParse
@@ -24,7 +23,7 @@ module TonClient
24
23
  # RESPONSE: ResultOfParse
25
24
  # parsed: Value - # # JSON containing parsed BOC
26
25
  def parse_transaction(payload, &block)
27
- core.requestLibrary(context: context.id, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
26
+ TonBinding.requestLibrary(context: context, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
28
27
  end
29
28
 
30
29
  # INPUT: ParamsOfParse
@@ -32,7 +31,7 @@ module TonClient
32
31
  # RESPONSE: ResultOfParse
33
32
  # parsed: Value - # # JSON containing parsed BOC
34
33
  def parse_account(payload, &block)
35
- core.requestLibrary(context: context.id, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
34
+ TonBinding.requestLibrary(context: context, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
36
35
  end
37
36
 
38
37
  # INPUT: ParamsOfParse
@@ -40,7 +39,7 @@ module TonClient
40
39
  # RESPONSE: ResultOfParse
41
40
  # parsed: Value - # # JSON containing parsed BOC
42
41
  def parse_block(payload, &block)
43
- core.requestLibrary(context: context.id, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
42
+ TonBinding.requestLibrary(context: context, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
44
43
  end
45
44
 
46
45
  # INPUT: ParamsOfParseShardstate
@@ -50,7 +49,7 @@ module TonClient
50
49
  # RESPONSE: ResultOfParse
51
50
  # parsed: Value - # # JSON containing parsed BOC
52
51
  def parse_shardstate(payload, &block)
53
- core.requestLibrary(context: context.id, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
52
+ TonBinding.requestLibrary(context: context, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
54
53
  end
55
54
 
56
55
  # INPUT: ParamsOfGetBlockchainConfig
@@ -58,7 +57,7 @@ module TonClient
58
57
  # RESPONSE: ResultOfGetBlockchainConfig
59
58
  # config_boc: String - # # Blockchain config BOC encoded as base64
60
59
  def get_blockchain_config(payload, &block)
61
- core.requestLibrary(context: context.id, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
60
+ TonBinding.requestLibrary(context: context, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
62
61
  end
63
62
 
64
63
  # INPUT: ParamsOfGetBocHash
@@ -66,7 +65,7 @@ module TonClient
66
65
  # RESPONSE: ResultOfGetBocHash
67
66
  # hash: String - # # BOC root hash encoded with hex
68
67
  def get_boc_hash(payload, &block)
69
- core.requestLibrary(context: context.id, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
68
+ TonBinding.requestLibrary(context: context, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
70
69
  end
71
70
 
72
71
  # INPUT: ParamsOfGetBocDepth
@@ -74,7 +73,7 @@ module TonClient
74
73
  # RESPONSE: ResultOfGetBocDepth
75
74
  # depth: Number - # # BOC root cell depth
76
75
  def get_boc_depth(payload, &block)
77
- core.requestLibrary(context: context.id, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
76
+ TonBinding.requestLibrary(context: context, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
78
77
  end
79
78
 
80
79
  # INPUT: ParamsOfGetCodeFromTvc
@@ -82,7 +81,7 @@ module TonClient
82
81
  # RESPONSE: ResultOfGetCodeFromTvc
83
82
  # code: String - # # Contract code encoded as base64
84
83
  def get_code_from_tvc(payload, &block)
85
- core.requestLibrary(context: context.id, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
84
+ TonBinding.requestLibrary(context: context, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
86
85
  end
87
86
 
88
87
  # INPUT: ParamsOfBocCacheGet
@@ -90,7 +89,7 @@ module TonClient
90
89
  # RESPONSE: ResultOfBocCacheGet
91
90
  # boc: String<Optional> - # # BOC encoded as base64.
92
91
  def cache_get(payload, &block)
93
- core.requestLibrary(context: context.id, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
92
+ TonBinding.requestLibrary(context: context, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
94
93
  end
95
94
 
96
95
  # INPUT: ParamsOfBocCacheSet
@@ -99,14 +98,14 @@ module TonClient
99
98
  # RESPONSE: ResultOfBocCacheSet
100
99
  # boc_ref: String - # # Reference to the cached BOC
101
100
  def cache_set(payload, &block)
102
- core.requestLibrary(context: context.id, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
101
+ TonBinding.requestLibrary(context: context, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
103
102
  end
104
103
 
105
104
  # INPUT: ParamsOfBocCacheUnpin
106
105
  # pin: String - # # Pinned name
107
106
  # boc_ref: String<Optional> - # # Reference to the cached BOC. # # If it is provided then only referenced BOC is unpinned
108
107
  def cache_unpin(payload, &block)
109
- core.requestLibrary(context: context.id, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
108
+ TonBinding.requestLibrary(context: context, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
110
109
  end
111
110
 
112
111
  # INPUT: ParamsOfEncodeBoc
@@ -115,7 +114,7 @@ module TonClient
115
114
  # RESPONSE: ResultOfEncodeBoc
116
115
  # boc: String - # # Encoded cell BOC or BOC cache key.
117
116
  def encode_boc(payload, &block)
118
- core.requestLibrary(context: context.id, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
117
+ TonBinding.requestLibrary(context: context, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
119
118
  end
120
119
 
121
120
  # INPUT: ParamsOfGetCodeSalt
@@ -124,7 +123,7 @@ module TonClient
124
123
  # RESPONSE: ResultOfGetCodeSalt
125
124
  # salt: String<Optional> - # # Contract code salt if present. # # BOC encoded as base64 or BOC handle
126
125
  def get_code_salt(payload, &block)
127
- core.requestLibrary(context: context.id, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
126
+ TonBinding.requestLibrary(context: context, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
128
127
  end
129
128
 
130
129
  # INPUT: ParamsOfSetCodeSalt
@@ -134,7 +133,7 @@ module TonClient
134
133
  # RESPONSE: ResultOfSetCodeSalt
135
134
  # code: String - # # Contract code with salt set. # # BOC encoded as base64 or BOC handle
136
135
  def set_code_salt(payload, &block)
137
- core.requestLibrary(context: context.id, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
136
+ TonBinding.requestLibrary(context: context, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
138
137
  end
139
138
 
140
139
  # INPUT: ParamsOfDecodeTvc
@@ -153,7 +152,7 @@ module TonClient
153
152
  # split_depth: Number<Optional> - # # Is present and non-zero only in instances of large smart contracts
154
153
  # compiler_version: String<Optional> - # # Compiler version, for example 'sol 0.49.0'
155
154
  def decode_tvc(payload, &block)
156
- core.requestLibrary(context: context.id, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
155
+ TonBinding.requestLibrary(context: context, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
157
156
  end
158
157
 
159
158
  # INPUT: ParamsOfEncodeTvc
@@ -167,7 +166,7 @@ module TonClient
167
166
  # RESPONSE: ResultOfEncodeTvc
168
167
  # tvc: String - # # Contract TVC image BOC encoded as base64 or BOC handle of boc_cache parameter was specified
169
168
  def encode_tvc(payload, &block)
170
- core.requestLibrary(context: context.id, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
169
+ TonBinding.requestLibrary(context: context, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
171
170
  end
172
171
 
173
172
  # INPUT: ParamsOfEncodeExternalInMessage
@@ -180,7 +179,7 @@ module TonClient
180
179
  # message: String - # # Message BOC encoded with `base64`.
181
180
  # message_id: String - # # Message id.
182
181
  def encode_external_in_message(payload, &block)
183
- core.requestLibrary(context: context.id, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
182
+ TonBinding.requestLibrary(context: context, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
184
183
  end
185
184
 
186
185
  # INPUT: ParamsOfGetCompilerVersion
@@ -188,7 +187,7 @@ module TonClient
188
187
  # RESPONSE: ResultOfGetCompilerVersion
189
188
  # version: String<Optional> - # # Compiler version, for example 'sol 0.49.0'
190
189
  def get_compiler_version(payload, &block)
191
- core.requestLibrary(context: context.id, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
190
+ TonBinding.requestLibrary(context: context, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
192
191
  end
193
192
 
194
193
  end
@@ -3,17 +3,19 @@ module TonClient
3
3
  class Client
4
4
  include CommonInstanceHelpers
5
5
 
6
- attr_reader :core, :context
6
+ attr_reader :context, :context_config
7
7
  private_accessor :_crypto, :_abi, :_boc, :_processing, :_utils, :_tvm, :_net, :_debot, :_proofs
8
8
  MODULE = self.to_s.downcase.gsub(/^(.+::|)(\w+)$/, '\2').freeze
9
9
 
10
- def initialize(context: Context.new, core: TonClient::TonBinding)
11
- @context = context
12
- @core = core
10
+ def initialize(context_config: {})
11
+ @context_config = context_config
12
+ config = TonBinding.make_string(context_config.to_json)
13
+ context_ptr = TonBinding.tc_create_context(config)
14
+ @context = TonBinding.read_string_to_hash(context_ptr)['result']
13
15
  end
14
16
 
15
17
  def destroy_context
16
- core.tc_destroy_context(context.id)
18
+ TonBinding.tc_destroy_context(context)
17
19
  end
18
20
 
19
21
  def crypto
@@ -55,13 +57,13 @@ module TonClient
55
57
  # RESPONSE: ResultOfGetApiReference
56
58
  # api: Value -
57
59
  def get_api_reference(&block)
58
- core.requestLibrary(context: context.id, method_name: full_method_name(MODULE, __method__.to_s), payload: {}, &block)
60
+ TonBinding.requestLibrary(context: context, method_name: full_method_name(MODULE, __method__.to_s), payload: {}, &block)
59
61
  end
60
62
 
61
63
  # RESPONSE: ResultOfVersion
62
64
  # version: String - # # Core Library version
63
65
  def version(&block)
64
- core.requestLibrary(context: context.id, method_name: full_method_name(MODULE, __method__.to_s), payload: {}, &block)
66
+ TonBinding.requestLibrary(context: context, method_name: full_method_name(MODULE, __method__.to_s), payload: {}, &block)
65
67
  end
66
68
 
67
69
  # RESPONSE: ClientConfig
@@ -72,21 +74,21 @@ module TonClient
72
74
  # proofs: ProofsConfig<Optional> -
73
75
  # local_storage_path: String<Optional> - # # For file based storage is a folder name where SDK will store its data. For browser based is a browser async storage key prefix. Default (recommended) value is "~/.tonclient" for native environments and ".tonclient" for web-browser.
74
76
  def config(&block)
75
- core.requestLibrary(context: context.id, method_name: full_method_name(MODULE, __method__.to_s), payload: {}, &block)
77
+ TonBinding.requestLibrary(context: context, method_name: full_method_name(MODULE, __method__.to_s), payload: {}, &block)
76
78
  end
77
79
 
78
80
  # RESPONSE: ResultOfBuildInfo
79
81
  # build_number: Number - # # Build number assigned to this build by the CI.
80
82
  # dependencies: Array - # # Fingerprint of the most important dependencies.
81
83
  def build_info(&block)
82
- core.requestLibrary(context: context.id, method_name: full_method_name(MODULE, __method__.to_s), payload: {}, &block)
84
+ TonBinding.requestLibrary(context: context, method_name: full_method_name(MODULE, __method__.to_s), payload: {}, &block)
83
85
  end
84
86
 
85
87
  # INPUT: ParamsOfResolveAppRequest
86
88
  # app_request_id: Number - # # Request ID received from SDK
87
89
  # result: AppRequestResult - # # Result of request processing
88
90
  def resolve_app_request(payload, &block)
89
- core.requestLibrary(context: context.id, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
91
+ TonBinding.requestLibrary(context: context, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
90
92
  end
91
93
 
92
94
  end