class Eth::Client

def call(contract, function_name, *args, **kwargs)

Returns:
  • (Object) - returns the result of the call.

Parameters:
  • legacy (Boolean) -- enables legacy transactions (pre-EIP-1559).
  • sender_key (Eth::Key) -- the sender private key.
  • value (Integer|String) -- function arguments.
  • function_name (String) -- method name to be called.
  • contract (Eth::Contract) -- subject contract to call.
  • value (Integer|String) -- function arguments.
  • function_name (String) -- method name to be called.
  • contract (Eth::Contract) -- subject contract to call.
  • function_name (String) -- method name to be called.
  • contract (Eth::Contract) -- subject contract to call.

Overloads:
  • call(contract, function_name, value, sender_key, legacy)
  • call(contract, function_name, value)
  • call(contract, function_name)
def call(contract, function_name, *args, **kwargs)
  func = contract.functions.select { |func| func.name == function_name }[0]
  raise ArgumentError, "function_name does not exist!" if func.nil?
  output = call_raw(contract, func, *args, **kwargs)
  if output.length == 1
    return output[0]
  else
    return output
  end
end