package clerk import ( "fmt" "time" "github.com/ethereum/go-ethereum/common" "github.com/ethereum/go-ethereum/common/hexutil" ) // EventRecord represents state record type EventRecord struct { ID uint64 `json:"id" yaml:"id"` Contract common.Address `json:"contract" yaml:"contract"` Data hexutil.Bytes `json:"data" yaml:"data"` TxHash common.Hash `json:"tx_hash" yaml:"tx_hash"` LogIndex uint64 `json:"log_index" yaml:"log_index"` ChainID string `json:"bor_chain_id" yaml:"bor_chain_id"` } type EventRecordWithTime struct { EventRecord Time time.Time `json:"record_time" yaml:"record_time"` } // String returns the string representation of EventRecord func (e *EventRecordWithTime) String(gasUsed uint64) string { return fmt.Sprintf( "id %v, contract %v, data: %v, txHash: %v, logIndex: %v, chainId: %v, time %s, gasUsed %d", e.ID, e.Contract.String(), e.Data.String(), e.TxHash.Hex(), e.LogIndex, e.ChainID, e.Time.Format(time.RFC3339), gasUsed, ) } func (e *EventRecordWithTime) BuildEventRecord() *EventRecord { return &EventRecord{ ID: e.ID, Contract: e.Contract, Data: e.Data, TxHash: e.TxHash, LogIndex: e.LogIndex, ChainID: e.ChainID, } }