class EvmClient::ContractEvent

Attributes

address[RW]
client[RW]
event_string[RW]
indexed_inputs[RW]
indexed_outputs[RW]
input_types[RW]
inputs[RW]
name[RW]
non_indexed_inputs[RW]
non_indexed_outputs[RW]
signature[RW]

Public Class Methods

new(data) click to toggle source
# File lib/evm_client/contract_event.rb, line 9
def initialize(data)
  @name           = data['name']
  @input_types    = data['inputs'].map {|x| x['type']}
  @inputs         = data['inputs'].map {|x| x['name']}
  @event_string   = "#{@name}(#{@input_types.join(",")})"
  @signature      = Digest::SHA3.hexdigest(@event_string, 256)

  @indexed_inputs     = Array(data['inputs']).select { |input| input['indexed'] == true  }
  @non_indexed_inputs = Array(data['inputs']).select { |input| input['indexed'] == false }

  @indexed_outputs     = Array(data['outputs']).select { |output| output['indexed'] == true  }
  @non_indexed_outputs = Array(data['outputs']).select { |output| output['indexed'] == false }
end

Public Instance Methods

set_address(address) click to toggle source
# File lib/evm_client/contract_event.rb, line 23
def set_address(address)
  @address = address
end
set_client(client) click to toggle source
# File lib/evm_client/contract_event.rb, line 27
def set_client(client)
  @client = client
end