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