Method: EvmClient::EventLog.build

Defined in:
lib/evm_client/event_log.rb

.build(raw_response:, contract:) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/evm_client/event_log.rb', line 6

def self.build(raw_response:, contract:)
  signature = raw_response['topics'][0]
  event     = contract.events.find { |event| signature.match(event.signature) }

  new(
    address:           raw_response['address'],
    block_hash:        raw_response['blockHash'],
    block_number:      raw_response['blockNumber'].to_i(16),
    data:              raw_response['data'],
    log_index:         raw_response['logIndex'],
    removed:           raw_response['removed'],
    topics:            raw_response['topics'],
    transaction_hash:  raw_response['transactionHash'],
    transaction_index: raw_response['transactionIndex'],
    signature:         signature,
    contract:          contract,
    event:             event
  )
end