everscale-client-ruby 1.1.43 → 1.1.47

Sign up to get free protection for your applications and to get access to all the features.
@@ -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