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 |