Commit dfa882e4 authored by Hamdi Allam's avatar Hamdi Allam

make contract address a searchable field

parent 5c8ff3d9
...@@ -16,9 +16,10 @@ import ( ...@@ -16,9 +16,10 @@ import (
*/ */
type ContractEvent struct { type ContractEvent struct {
GUID uuid.UUID `gorm:"primaryKey"` GUID uuid.UUID `gorm:"primaryKey"`
BlockHash common.Hash `gorm:"serializer:json"` BlockHash common.Hash `gorm:"serializer:json"`
TransactionHash common.Hash `gorm:"serializer:json"` ContractAddress common.Address `gorm:"serializer:json"`
TransactionHash common.Hash `gorm:"serializer:json"`
EventSignature common.Hash `gorm:"serializer:json"` EventSignature common.Hash `gorm:"serializer:json"`
LogIndex uint64 LogIndex uint64
...@@ -37,6 +38,7 @@ func ContractEventFromGethLog(log *types.Log, timestamp uint64) ContractEvent { ...@@ -37,6 +38,7 @@ func ContractEventFromGethLog(log *types.Log, timestamp uint64) ContractEvent {
GUID: uuid.New(), GUID: uuid.New(),
BlockHash: log.BlockHash, BlockHash: log.BlockHash,
ContractAddress: log.Address,
TransactionHash: log.TxHash, TransactionHash: log.TxHash,
EventSignature: eventSig, EventSignature: eventSig,
......
...@@ -120,6 +120,7 @@ func TestE2EBlockHeaders(t *testing.T) { ...@@ -120,6 +120,7 @@ func TestE2EBlockHeaders(t *testing.T) {
require.NoError(t, err) require.NoError(t, err)
require.Equal(t, log.Topics[0], contractEvent.EventSignature) require.Equal(t, log.Topics[0], contractEvent.EventSignature)
require.Equal(t, log.BlockHash, contractEvent.BlockHash) require.Equal(t, log.BlockHash, contractEvent.BlockHash)
require.Equal(t, log.Address, contractEvent.ContractAddress)
require.Equal(t, log.TxHash, contractEvent.TransactionHash) require.Equal(t, log.TxHash, contractEvent.TransactionHash)
require.Equal(t, log.Index, uint(contractEvent.LogIndex)) require.Equal(t, log.Index, uint(contractEvent.LogIndex))
......
...@@ -36,6 +36,7 @@ CREATE TABLE IF NOT EXISTS l1_contract_events ( ...@@ -36,6 +36,7 @@ CREATE TABLE IF NOT EXISTS l1_contract_events (
-- Searchable fields -- Searchable fields
guid VARCHAR NOT NULL PRIMARY KEY, guid VARCHAR NOT NULL PRIMARY KEY,
block_hash VARCHAR NOT NULL REFERENCES l1_block_headers(hash), block_hash VARCHAR NOT NULL REFERENCES l1_block_headers(hash),
contract_address VARCHAR NOT NULL,
transaction_hash VARCHAR NOT NULL, transaction_hash VARCHAR NOT NULL,
log_index INTEGER NOT NULL, log_index INTEGER NOT NULL,
event_signature VARCHAR NOT NULL, -- bytes32(0x0) when topics are missing event_signature VARCHAR NOT NULL, -- bytes32(0x0) when topics are missing
...@@ -49,6 +50,7 @@ CREATE TABLE IF NOT EXISTS l2_contract_events ( ...@@ -49,6 +50,7 @@ CREATE TABLE IF NOT EXISTS l2_contract_events (
-- Searchable fields -- Searchable fields
guid VARCHAR NOT NULL PRIMARY KEY, guid VARCHAR NOT NULL PRIMARY KEY,
block_hash VARCHAR NOT NULL REFERENCES l2_block_headers(hash), block_hash VARCHAR NOT NULL REFERENCES l2_block_headers(hash),
contract_address VARCHAR NOT NULL,
transaction_hash VARCHAR NOT NULL, transaction_hash VARCHAR NOT NULL,
log_index INTEGER NOT NULL, log_index INTEGER NOT NULL,
event_signature VARCHAR NOT NULL, -- bytes32(0x0) when topics are missing event_signature VARCHAR NOT NULL, -- bytes32(0x0) when topics are missing
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment