Class: TonClient::Abi
- Includes:
- CommonInstanceHelpers
- Defined in:
- lib/everscale-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.
-
#calc_function_id(payload, &block) ⇒ Object
INPUT: ParamsOfCalcFunctionId abi: Value - # # Contract ABI.
-
#decode_account_data(payload, &block) ⇒ Object
INPUT: ParamsOfDecodeAccountData abi: Value - # # Contract ABI data: String - # # Data BOC or BOC handle allow_partial: Boolean<Optional> - # # Flag allowing partial BOC decoding when ABI doesn’t describe the full body BOC.
-
#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 allow_partial: Boolean<Optional> - # # Flag allowing partial BOC decoding when ABI doesn’t describe the full body BOC.
-
#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_boc(payload, &block) ⇒ Object
INPUT: ParamsOfAbiEncodeBoc params: Array - # # Parameters to encode into BOC data: Value - # # Parameters and values as a JSON structure boc_cache: BocCacheType<Optional> - # # Cache type to put the result.
-
#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/everscale-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/everscale-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/everscale-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
91 92 93 |
# File 'lib/everscale-client-ruby/Client/Abi.rb', line 91 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 -
40 41 42 |
# File 'lib/everscale-client-ruby/Client/Abi.rb', line 40 def (payload, &block) core.requestLibrary(context: context.id, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block) end |
#calc_function_id(payload, &block) ⇒ Object
INPUT: ParamsOfCalcFunctionId abi: Value - # # Contract ABI. function_name: String - # # Contract function name output: Boolean<Optional> - # # If set to true output function ID will be returned which is used in contract response. Default is false RESPONSE: ResultOfCalcFunctionId function_id: Number - # # Contract function ID
205 206 207 |
# File 'lib/everscale-client-ruby/Client/Abi.rb', line 205 def calc_function_id(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 allow_partial: Boolean<Optional> - # # Flag allowing partial BOC decoding when ABI doesn’t describe the full body BOC. Controls decoder behaviour when after decoding all described in ABI params there are some data left in BOC: true - return decoded values false - return error of incomplete BOC deserialization (default) RESPONSE: ResultOfDecodeAccountData data: Value - # # Decoded data as a JSON structure.
141 142 143 |
# File 'lib/everscale-client-ruby/Client/Abi.rb', line 141 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.
185 186 187 |
# File 'lib/everscale-client-ruby/Client/Abi.rb', line 185 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 allow_partial: Boolean<Optional> - # # Flag allowing partial BOC decoding when ABI doesn’t describe the full body BOC. Controls decoder behaviour when after decoding all described in ABI params there are some data left in BOC: true - return decoded values false - return error of incomplete BOC deserialization (default) 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
175 176 177 |
# File 'lib/everscale-client-ruby/Client/Abi.rb', line 175 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 allow_partial: Boolean<Optional> - # # Flag allowing partial BOC decoding when ABI doesn’t describe the full body BOC. Controls decoder behaviour when after decoding all described in ABI params there are some data left in BOC: true - return decoded values false - return error of incomplete BOC deserialization (default) 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.
104 105 106 |
# File 'lib/everscale-client-ruby/Client/Abi.rb', line 104 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. allow_partial: Boolean<Optional> - # # Flag allowing partial BOC decoding when ABI doesn’t describe the full body BOC. Controls decoder behaviour when after decoding all described in ABI params there are some data left in BOC: true - return decoded values false - return error of incomplete BOC deserialization (default) 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.
118 119 120 |
# File 'lib/everscale-client-ruby/Client/Abi.rb', line 118 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.
131 132 133 |
# File 'lib/everscale-client-ruby/Client/Abi.rb', line 131 def encode_account(payload, &block) core.requestLibrary(context: context.id, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block) end |
#encode_boc(payload, &block) ⇒ Object
INPUT: ParamsOfAbiEncodeBoc params: Array - # # Parameters to encode into BOC data: Value - # # Parameters and values as a JSON structure boc_cache: BocCacheType<Optional> - # # Cache type to put the result. # # The BOC itself returned if no cache type provided RESPONSE: ResultOfAbiEncodeBoc boc: String - # # BOC encoded as base64
195 196 197 |
# File 'lib/everscale-client-ruby/Client/Abi.rb', line 195 def encode_boc(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
164 165 166 |
# File 'lib/everscale-client-ruby/Client/Abi.rb', line 164 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.
79 80 81 |
# File 'lib/everscale-client-ruby/Client/Abi.rb', line 79 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.
61 62 63 |
# File 'lib/everscale-client-ruby/Client/Abi.rb', line 61 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. address: String<Optional> - # # Destination address of the message # # Since ABI version 2.3 destination address of external inbound message is used in messagebody signature calculation. Should be provided when signed external inbound message body iscreated. Otherwise can be omitted. 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.
29 30 31 |
# File 'lib/everscale-client-ruby/Client/Abi.rb', line 29 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
153 154 155 |
# File 'lib/everscale-client-ruby/Client/Abi.rb', line 153 def update_initial_data(payload, &block) core.requestLibrary(context: context.id, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block) end |