mirror of
https://gitlab.com/pulsechaincom/erigon-pulse.git
synced 2024-12-22 11:41:19 +00:00
2793ef6ec1
* move mocks to the owner packages * squash single file packages * move types to more appropriate files * remove unused mocks
55 lines
1.4 KiB
Go
55 lines
1.4 KiB
Go
package heimdall
|
|
|
|
import (
|
|
"fmt"
|
|
"time"
|
|
|
|
libcommon "github.com/ledgerwatch/erigon-lib/common"
|
|
"github.com/ledgerwatch/erigon-lib/common/hexutility"
|
|
)
|
|
|
|
// EventRecord represents state record
|
|
type EventRecord struct {
|
|
ID uint64 `json:"id" yaml:"id"`
|
|
Contract libcommon.Address `json:"contract" yaml:"contract"`
|
|
Data hexutility.Bytes `json:"data" yaml:"data"`
|
|
TxHash libcommon.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 representatin of a state record
|
|
func (e *EventRecordWithTime) String() string {
|
|
return fmt.Sprintf(
|
|
"id %v, contract %v, data: %v, txHash: %v, logIndex: %v, chainId: %v, time %s",
|
|
e.ID,
|
|
e.Contract.String(),
|
|
e.Data.String(),
|
|
e.TxHash.Hex(),
|
|
e.LogIndex,
|
|
e.ChainID,
|
|
e.Time.Format(time.RFC3339),
|
|
)
|
|
}
|
|
|
|
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,
|
|
}
|
|
}
|
|
|
|
type StateSyncEventsResponse struct {
|
|
Height string `json:"height"`
|
|
Result []*EventRecordWithTime `json:"result"`
|
|
}
|