class Lorentz::Contract::Call

Attributes

burn_cap[RW]
config[RW]
contract_address[RW]
expect_failure[RW]

Public Class Methods

new(config, contract_address, command, parameters, burn_cap, expect_failure=false) click to toggle source
# File lib/lorentz/contract/param.rb, line 300
def initialize(config, contract_address, command, parameters, burn_cap, expect_failure=false)
  @config = config
  @contract_address = contract_address
  @storage_command = command
  @storage_params = parameters
  @burn_cap = burn_cap
  @expect_failure = expect_failure.to_s.match(/t(rue)?/i)
end

Public Instance Methods

contract_call(tezos_client, contract_call_alias) click to toggle source
# File lib/lorentz/contract/param.rb, line 332
def contract_call(tezos_client, contract_call_alias)
  begin
    tezos_client.contract_call(self.contract_address,
                               self.michelson_parameters,
                               self.burn_cap)
  rescue Lorentz::Contract::Kernel::SystemError => e
    if self.expect_failure
      return { 'error_message': e.message_list.map(&:chomp) }
    else
      raise e
    end
  end
end
contract_call_cmd(tezos_client, contract_call_alias) click to toggle source
# File lib/lorentz/contract/param.rb, line 326
def contract_call_cmd(tezos_client, contract_call_alias)
  tezos_client.contract_call_cmd(self.contract_address,
                                 self.michelson_parameters,
                                 self.burn_cap)
end
michelson_parameters() click to toggle source
# File lib/lorentz/contract/param.rb, line 322
def michelson_parameters
  Param.instance_method(:storage).bind(self).call(Param.all_names)
end