class Ethereum::SpecialContract::Identity

Public Instance Methods

call(ext, msg) click to toggle source
# File lib/ethereum/special_contract.rb, line 68
def call(ext, msg)
  gas_cost = Opcodes::GIDENTITYBASE +
    (Utils.ceil32(msg.data.size) / 32) * Opcodes::GIDENTITYWORD
  return 0, 0, [] if msg.gas < gas_cost

  o = []
  msg.data.extract_copy(o, 0, 0, msg.data.size)

  return 1, msg.gas - gas_cost, o
end