Method: EvmClient::ContractEvent#initialize

Defined in:
lib/evm_client/contract_event.rb

#initialize(data) ⇒ ContractEvent

Returns a new instance of ContractEvent.



9
10
11
12
13
14
15
16
17
18
19
20
21
# 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