Class: TonClient::Client
- Includes:
- CommonInstanceHelpers
- Defined in:
- lib/everscale-client-ruby/Client/Client.rb
Constant Summary collapse
- MODULE =
self.to_s.downcase.gsub(/^(.+::|)(\w+)$/, '\2').freeze
Instance Attribute Summary collapse
-
#context ⇒ Object
readonly
Returns the value of attribute context.
-
#context_config ⇒ Object
readonly
Returns the value of attribute context_config.
-
#request_id ⇒ Object
readonly
Returns the value of attribute request_id.
-
#requests ⇒ Object
readonly
Returns the value of attribute requests.
Class Method Summary collapse
Instance Method Summary collapse
- #abi ⇒ Object
- #boc ⇒ Object
-
#build_info(&block) ⇒ Object
RESPONSE: ResultOfBuildInfo build_number: Number - # # Build number assigned to this build by the CI.
-
#config(&block) ⇒ Object
RESPONSE: ClientConfig network: NetworkConfig<Optional> - crypto: CryptoConfig<Optional> - abi: Value - boc: BocConfig<Optional> - proofs: ProofsConfig<Optional> - local_storage_path: String<Optional> - # # For file based storage is a folder name where SDK will store its data.
- #crypto ⇒ Object
- #debot ⇒ Object
-
#get_api_reference(&block) ⇒ Object
RESPONSE: ResultOfGetApiReference api: Value -.
-
#initialize(context_config: {}) ⇒ Client
constructor
A new instance of Client.
- #net ⇒ Object
- #processing ⇒ Object
- #proofs ⇒ Object
-
#resolve_app_request(payload, &block) ⇒ Object
INPUT: ParamsOfResolveAppRequest app_request_id: Number - # # Request ID received from SDK result: AppRequestResult - # # Result of request processing.
- #tvm ⇒ Object
- #utils ⇒ Object
-
#version(&block) ⇒ Object
RESPONSE: ResultOfVersion version: String - # # Core Library version.
Methods included from CommonInstanceHelpers
#base64?, #encode_to_base64, #full_method_name
Constructor Details
#initialize(context_config: {}) ⇒ Client
10 11 12 13 14 15 16 17 18 |
# File 'lib/everscale-client-ruby/Client/Client.rb', line 10 def initialize(context_config: {}) @context_config = context_config @request_id = Concurrent::AtomicFixnum.new(1) @requests = Concurrent::Hash.new() config = TonBinding.make_string(context_config.to_json) context_ptr = TonBinding.tc_create_context(config) @context = TonBinding.read_string_to_hash(context_ptr)['result'] ObjectSpace.define_finalizer(self, self.class.finalize(@context)) end |
Instance Attribute Details
#context ⇒ Object (readonly)
Returns the value of attribute context.
6 7 8 |
# File 'lib/everscale-client-ruby/Client/Client.rb', line 6 def context @context end |
#context_config ⇒ Object (readonly)
Returns the value of attribute context_config.
6 7 8 |
# File 'lib/everscale-client-ruby/Client/Client.rb', line 6 def context_config @context_config end |
#request_id ⇒ Object (readonly)
Returns the value of attribute request_id.
6 7 8 |
# File 'lib/everscale-client-ruby/Client/Client.rb', line 6 def request_id @request_id end |
#requests ⇒ Object (readonly)
Returns the value of attribute requests.
6 7 8 |
# File 'lib/everscale-client-ruby/Client/Client.rb', line 6 def requests @requests end |
Class Method Details
.finalize(ctx) ⇒ Object
20 21 22 23 24 25 26 |
# File 'lib/everscale-client-ruby/Client/Client.rb', line 20 def self.finalize(ctx) Proc.new do if (ctx != nil) && (ctx > 0) TonBinding.tc_destroy_context(ctx) end end end |
Instance Method Details
#abi ⇒ Object
32 33 34 |
# File 'lib/everscale-client-ruby/Client/Client.rb', line 32 def abi _abi ||= Abi.new(context: context, request_id: request_id, requests: requests) end |
#boc ⇒ Object
36 37 38 |
# File 'lib/everscale-client-ruby/Client/Client.rb', line 36 def boc _boc ||= Boc.new(context: context, request_id: request_id, requests: requests) end |
#build_info(&block) ⇒ Object
RESPONSE: ResultOfBuildInfo build_number: Number - # # Build number assigned to this build by the CI. dependencies: Array - # # Fingerprint of the most important dependencies.
90 91 92 |
# File 'lib/everscale-client-ruby/Client/Client.rb', line 90 def build_info(&block) TonBinding.requestLibrary(context: context, request_id: request_id, requests: requests, method_name: full_method_name(MODULE, __method__.to_s), payload: {}, &block) end |
#config(&block) ⇒ Object
RESPONSE: ClientConfig network: NetworkConfig<Optional> - crypto: CryptoConfig<Optional> - abi: Value - boc: BocConfig<Optional> - proofs: ProofsConfig<Optional> - 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.
83 84 85 |
# File 'lib/everscale-client-ruby/Client/Client.rb', line 83 def config(&block) TonBinding.requestLibrary(context: context, request_id: request_id, requests: requests, method_name: full_method_name(MODULE, __method__.to_s), payload: {}, &block) end |
#crypto ⇒ Object
28 29 30 |
# File 'lib/everscale-client-ruby/Client/Client.rb', line 28 def crypto _crypto ||= Crypto.new(context: context, request_id: request_id, requests: requests) end |
#debot ⇒ Object
56 57 58 |
# File 'lib/everscale-client-ruby/Client/Client.rb', line 56 def debot _debot ||= Debot.new(context: context, request_id: request_id, requests: requests) end |
#get_api_reference(&block) ⇒ Object
RESPONSE: ResultOfGetApiReference api: Value -
66 67 68 |
# File 'lib/everscale-client-ruby/Client/Client.rb', line 66 def get_api_reference(&block) TonBinding.requestLibrary(context: context, request_id: request_id, requests: requests, method_name: full_method_name(MODULE, __method__.to_s), payload: {}, &block) end |
#net ⇒ Object
52 53 54 |
# File 'lib/everscale-client-ruby/Client/Client.rb', line 52 def net _net ||= Net.new(context: context, request_id: request_id, requests: requests) end |
#processing ⇒ Object
40 41 42 |
# File 'lib/everscale-client-ruby/Client/Client.rb', line 40 def processing _processing ||= Processing.new(context: context, request_id: request_id, requests: requests) end |
#proofs ⇒ Object
60 61 62 |
# File 'lib/everscale-client-ruby/Client/Client.rb', line 60 def proofs _proofs ||= Proofs.new(context: context, request_id: request_id, requests: requests) end |
#resolve_app_request(payload, &block) ⇒ Object
INPUT: ParamsOfResolveAppRequest app_request_id: Number - # # Request ID received from SDK result: AppRequestResult - # # Result of request processing
97 98 99 |
# File 'lib/everscale-client-ruby/Client/Client.rb', line 97 def resolve_app_request(payload, &block) TonBinding.requestLibrary(context: context, request_id: request_id, requests: requests, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block) end |
#tvm ⇒ Object
48 49 50 |
# File 'lib/everscale-client-ruby/Client/Client.rb', line 48 def tvm _tvm ||= Tvm.new(context: context, request_id: request_id, requests: requests) end |
#utils ⇒ Object
44 45 46 |
# File 'lib/everscale-client-ruby/Client/Client.rb', line 44 def utils _utils ||= Utils.new(context: context, request_id: request_id, requests: requests) end |
#version(&block) ⇒ Object
RESPONSE: ResultOfVersion version: String - # # Core Library version
72 73 74 |
# File 'lib/everscale-client-ruby/Client/Client.rb', line 72 def version(&block) TonBinding.requestLibrary(context: context, request_id: request_id, requests: requests, method_name: full_method_name(MODULE, __method__.to_s), payload: {}, &block) end |