Class: TonClient::Abi
- Includes:
- CommonInstanceHelpers
- Defined in:
- lib/ton-client-ruby/Client/Abi.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.
-
#core ⇒ Object
readonly
Returns the value of attribute core.
Instance Method Summary collapse
-
#attach_signature(payload, &block) ⇒ Object
INPUT: ParamsOfAttachSignature abi: Value - # # Contract ABI public_key: String - # # Public key encoded in ‘hex`.
-
#attach_signature_to_message_body(payload, &block) ⇒ Object
INPUT: ParamsOfAttachSignatureToMessageBody abi: Value - # # Contract ABI public_key: String - # # Public key.
-
#decode_account_data(payload, &block) ⇒ Object
INPUT: ParamsOfDecodeAccountData abi: Value - # # Contract ABI data: String - # # Data BOC or BOC handle RESPONSE: ResultOfDecodeAccountData data: Value - # # Decoded data as a JSON structure.
-
#decode_boc(payload, &block) ⇒ Object
INPUT: ParamsOfDecodeBoc params: Array - # # Parameters to decode from BOC boc: String - # # Data BOC or BOC handle allow_partial: Boolean - RESPONSE: ResultOfDecodeBoc data: Value - # # Decoded data as a JSON structure.
-
#decode_initial_data(payload, &block) ⇒ Object
INPUT: ParamsOfDecodeInitialData abi: Value<Optional> - # # Contract ABI.
-
#decode_message(payload, &block) ⇒ Object
INPUT: ParamsOfDecodeMessage abi: Value - # # contract ABI message: String - # # Message BOC RESPONSE: DecodedMessageBody body_type: MessageBodyType - # # Type of the message body content.
-
#decode_message_body(payload, &block) ⇒ Object
INPUT: ParamsOfDecodeMessageBody abi: Value - # # Contract ABI used to decode.
-
#encode_account(payload, &block) ⇒ Object
INPUT: ParamsOfEncodeAccount state_init: StateInitSource - # # Source of the account state init.
-
#encode_initial_data(payload, &block) ⇒ Object
INPUT: ParamsOfEncodeInitialData abi: Value<Optional> - # # Contract ABI initial_data: Value - # # List of initial values for contract’s static variables.
-
#encode_internal_message(payload, &block) ⇒ Object
INPUT: ParamsOfEncodeInternalMessage abi: Value<Optional> - # # Contract ABI.
-
#encode_message(payload, &block) ⇒ Object
INPUT: ParamsOfEncodeMessage abi: Value - # # Contract ABI.
-
#encode_message_body(payload, &block) ⇒ Object
INPUT: ParamsOfEncodeMessageBody abi: Value - # # Contract ABI.
-
#initialize(context: Context.new, core: TonClient::TonBinding) ⇒ Abi
constructor
A new instance of Abi.
-
#update_initial_data(payload, &block) ⇒ Object
INPUT: ParamsOfUpdateInitialData abi: Value<Optional> - # # Contract ABI data: String - # # Data BOC or BOC handle initial_data: Value - # # List of initial values for contract’s static variables.
Methods included from CommonInstanceHelpers
#base64?, #encode_to_base64, #full_method_name
Constructor Details
#initialize(context: Context.new, core: TonClient::TonBinding) ⇒ Abi
Returns a new instance of Abi.
9 10 11 12 |
# File 'lib/ton-client-ruby/Client/Abi.rb', line 9 def initialize(context: Context.new, core: TonClient::TonBinding) @context = context @core = core end |
Instance Attribute Details
#context ⇒ Object (readonly)
Returns the value of attribute context.
6 7 8 |
# File 'lib/ton-client-ruby/Client/Abi.rb', line 6 def context @context end |
#core ⇒ Object (readonly)
Returns the value of attribute core.
6 7 8 |
# File 'lib/ton-client-ruby/Client/Abi.rb', line 6 def core @core end |
Instance Method Details
#attach_signature(payload, &block) ⇒ Object
INPUT: ParamsOfAttachSignature abi: Value - # # Contract ABI public_key: String - # # Public key encoded in ‘hex`. message: String - # # Unsigned message BOC encoded in `base64`. signature: String - # # Signature encoded in `hex`. RESPONSE: ResultOfAttachSignature message: String - # # Signed message BOC message_id: String - # # Message ID
90 91 92 |
# File 'lib/ton-client-ruby/Client/Abi.rb', line 90 def attach_signature(payload, &block) core.requestLibrary(context: context.id, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block) end |
#attach_signature_to_message_body(payload, &block) ⇒ Object
INPUT: ParamsOfAttachSignatureToMessageBody abi: Value - # # Contract ABI public_key: String - # # Public key. # # Must be encoded with ‘hex`. message: String - # # Unsigned message body BOC. # # Must be encoded with `base64`. signature: String - # # Signature. # # Must be encoded with `hex`. RESPONSE: ResultOfAttachSignatureToMessageBody body: String -
39 40 41 |
# File 'lib/ton-client-ruby/Client/Abi.rb', line 39 def (payload, &block) core.requestLibrary(context: context.id, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block) end |
#decode_account_data(payload, &block) ⇒ Object
INPUT: ParamsOfDecodeAccountData abi: Value - # # Contract ABI data: String - # # Data BOC or BOC handle RESPONSE: ResultOfDecodeAccountData data: Value - # # Decoded data as a JSON structure.
137 138 139 |
# File 'lib/ton-client-ruby/Client/Abi.rb', line 137 def decode_account_data(payload, &block) core.requestLibrary(context: context.id, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block) end |
#decode_boc(payload, &block) ⇒ Object
INPUT: ParamsOfDecodeBoc params: Array - # # Parameters to decode from BOC boc: String - # # Data BOC or BOC handle allow_partial: Boolean - RESPONSE: ResultOfDecodeBoc data: Value - # # Decoded data as a JSON structure.
180 181 182 |
# File 'lib/ton-client-ruby/Client/Abi.rb', line 180 def decode_boc(payload, &block) core.requestLibrary(context: context.id, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block) end |
#decode_initial_data(payload, &block) ⇒ Object
INPUT: ParamsOfDecodeInitialData abi: Value<Optional> - # # Contract ABI. # # Initial data is decoded if this parameter is provided data: String - # # Data BOC or BOC handle RESPONSE: ResultOfDecodeInitialData initial_data: Value<Optional> - # # List of initial values of contract’s public variables. # # Initial data is decoded if ‘abi` input parameter is provided initial_pubkey: String - # # Initial account owner’s public key
170 171 172 |
# File 'lib/ton-client-ruby/Client/Abi.rb', line 170 def decode_initial_data(payload, &block) core.requestLibrary(context: context.id, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block) end |
#decode_message(payload, &block) ⇒ Object
INPUT: ParamsOfDecodeMessage abi: Value - # # contract ABI message: String - # # Message BOC RESPONSE: DecodedMessageBody body_type: MessageBodyType - # # Type of the message body content. name: String - # # Function or event name. value: Value<Optional> - # # Parameters or result value. header: FunctionHeader<Optional> - # # Function header.
102 103 104 |
# File 'lib/ton-client-ruby/Client/Abi.rb', line 102 def (payload, &block) core.requestLibrary(context: context.id, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block) end |
#decode_message_body(payload, &block) ⇒ Object
INPUT: ParamsOfDecodeMessageBody abi: Value - # # Contract ABI used to decode. body: String - # # Message body BOC encoded in ‘base64`. is_internal: Boolean - # # True if the body belongs to the internal message. RESPONSE: DecodedMessageBody body_type: MessageBodyType - # # Type of the message body content. name: String - # # Function or event name. value: Value<Optional> - # # Parameters or result value. header: FunctionHeader<Optional> - # # Function header.
115 116 117 |
# File 'lib/ton-client-ruby/Client/Abi.rb', line 115 def (payload, &block) core.requestLibrary(context: context.id, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block) end |
#encode_account(payload, &block) ⇒ Object
INPUT: ParamsOfEncodeAccount state_init: StateInitSource - # # Source of the account state init. balance: BigInt<Optional> - # # Initial balance. last_trans_lt: BigInt<Optional> - # # Initial value for the ‘last_trans_lt`. last_paid: Number<Optional> - # # Initial value for the `last_paid`. boc_cache: BocCacheType<Optional> - # # Cache type to put the result. # # The BOC itself returned if no cache type provided RESPONSE: ResultOfEncodeAccount account: String - # # Account BOC encoded in `base64`. id: String - # # Account ID encoded in `hex`.
128 129 130 |
# File 'lib/ton-client-ruby/Client/Abi.rb', line 128 def encode_account(payload, &block) core.requestLibrary(context: context.id, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block) end |
#encode_initial_data(payload, &block) ⇒ Object
INPUT: ParamsOfEncodeInitialData abi: Value<Optional> - # # Contract ABI initial_data: Value - # # List of initial values for contract’s static variables. # # ‘abi` parameter should be provided to set initial data initial_pubkey: String<Optional> - # # Initial account owner’s public key to set into account data boc_cache: BocCacheType<Optional> - # # Cache type to put the result. The BOC itself returned if no cache type provided. RESPONSE: ResultOfEncodeInitialData data: String - # # Updated data BOC or BOC handle
160 161 162 |
# File 'lib/ton-client-ruby/Client/Abi.rb', line 160 def encode_initial_data(payload, &block) core.requestLibrary(context: context.id, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block) end |
#encode_internal_message(payload, &block) ⇒ Object
INPUT: ParamsOfEncodeInternalMessage abi: Value<Optional> - # # Contract ABI. # # Can be None if both deploy_set and call_set are None. address: String<Optional> - # # Target address the message will be sent to. # # Must be specified in case of non-deploy message. src_address: String<Optional> - # # Source address of the message. deploy_set: DeploySet<Optional> - # # Deploy parameters. # # Must be specified in case of deploy message. call_set: CallSet<Optional> - # # Function call parameters. # # Must be specified in case of non-deploy message. In case of deploy message it is optional and contains parametersof the functions that will to be called upon deploy transaction. value: String - # # Value in nanotokens to be sent with message. bounce: Boolean<Optional> - # # Flag of bounceable message. # # Default is true. enable_ihr: Boolean<Optional> - # # Enable Instant Hypercube Routing for the message. # # Default is false. RESPONSE: ResultOfEncodeInternalMessage message: String - # # Message BOC encoded with ‘base64`. address: String - # # Destination address. message_id: String - # # Message id.
78 79 80 |
# File 'lib/ton-client-ruby/Client/Abi.rb', line 78 def (payload, &block) core.requestLibrary(context: context.id, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block) end |
#encode_message(payload, &block) ⇒ Object
INPUT: ParamsOfEncodeMessage abi: Value - # # Contract ABI. address: String<Optional> - # # Target address the message will be sent to. # # Must be specified in case of non-deploy message. deploy_set: DeploySet<Optional> - # # Deploy parameters. # # Must be specified in case of deploy message. call_set: CallSet<Optional> - # # Function call parameters. # # Must be specified in case of non-deploy message. In case of deploy message it is optional and contains parametersof the functions that will to be called upon deploy transaction. signer: Signer - # # Signing parameters. processing_try_index: Number<Optional> - # # Processing try index. # # Used in message processing with retries (if contract’s ABI includes “expire” header). Encoder uses the provided try index to calculate messageexpiration time. The 1st message expiration time is specified inClient config. Expiration timeouts will grow with every retry. Retry grow factor is set in Client config: <.….add config parameter with default value here>Default value is 0. RESPONSE: ResultOfEncodeMessage message: String - # # Message BOC encoded with ‘base64`. data_to_sign: String<Optional> - # # Optional data to be signed encoded in `base64`. # # Returned in case of `Signer::External`. Can be used for externalmessage signing. Is this case you need to use this data to create signature andthen produce signed message using `abi.attach_signature`. address: String - # # Destination address. message_id: String - # # Message id.
60 61 62 |
# File 'lib/ton-client-ruby/Client/Abi.rb', line 60 def (payload, &block) core.requestLibrary(context: context.id, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block) end |
#encode_message_body(payload, &block) ⇒ Object
INPUT: ParamsOfEncodeMessageBody abi: Value - # # Contract ABI. call_set: CallSet - # # Function call parameters. # # Must be specified in non deploy message. In case of deploy message contains parameters of constructor. is_internal: Boolean - # # True if internal message body must be encoded. signer: Signer - # # Signing parameters. processing_try_index: Number<Optional> - # # Processing try index. # # Used in message processing with retries. Encoder uses the provided try index to calculate messageexpiration time. Expiration timeouts will grow with every retry. Default value is 0. RESPONSE: ResultOfEncodeMessageBody body: String - # # Message body BOC encoded with ‘base64`. data_to_sign: String<Optional> - # # Optional data to sign. # # Encoded with `base64`. # Presents when `message` is unsigned. Can be used for externalmessage signing. Is this case you need to sing this data andproduce signed message using `abi.attach_signature`.
28 29 30 |
# File 'lib/ton-client-ruby/Client/Abi.rb', line 28 def (payload, &block) core.requestLibrary(context: context.id, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block) end |
#update_initial_data(payload, &block) ⇒ Object
INPUT: ParamsOfUpdateInitialData abi: Value<Optional> - # # Contract ABI data: String - # # Data BOC or BOC handle initial_data: Value - # # List of initial values for contract’s static variables. # # ‘abi` parameter should be provided to set initial data initial_pubkey: String<Optional> - # # Initial account owner’s public key to set into account data boc_cache: BocCacheType<Optional> - # # Cache type to put the result. The BOC itself returned if no cache type provided. RESPONSE: ResultOfUpdateInitialData data: String - # # Updated data BOC or BOC handle
149 150 151 |
# File 'lib/ton-client-ruby/Client/Abi.rb', line 149 def update_initial_data(payload, &block) core.requestLibrary(context: context.id, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block) end |