Documentation ¶
Index ¶
- func EvmWord(i uint64) common.Hash
- func NewLogPoller(orm *ORM, ec client.Client, lggr logger.Logger, pollPeriod time.Duration, ...) *logPoller
- type Log
- type LogPoller
- type LogPollerBlock
- type ORM
- func (o *ORM) DeleteLogs(start, end int64, qopts ...pg.QOpt) error
- func (o *ORM) DeleteRangeBlocks(start, end int64, qopts ...pg.QOpt) error
- func (o *ORM) InsertBlock(h common.Hash, n int64, qopts ...pg.QOpt) error
- func (o *ORM) InsertLogs(logs []Log, qopts ...pg.QOpt) error
- func (o *ORM) LatestLogEventSigsAddrs(fromBlock int64, addresses []common.Address, eventSigs []common.Hash, ...) ([]Log, error)
- func (o *ORM) SelectBlockByHash(h common.Hash, qopts ...pg.QOpt) (*LogPollerBlock, error)
- func (o *ORM) SelectBlockByNumber(n int64, qopts ...pg.QOpt) (*LogPollerBlock, error)
- func (o *ORM) SelectDataWordGreaterThan(address common.Address, eventSig []byte, wordIndex int, ...) ([]Log, error)
- func (o *ORM) SelectDataWordRange(address common.Address, eventSig []byte, wordIndex int, ...) ([]Log, error)
- func (o *ORM) SelectIndexLogsTopicGreaterThan(address common.Address, eventSig []byte, topicIndex int, ...) ([]Log, error)
- func (o *ORM) SelectIndexLogsTopicRange(address common.Address, eventSig []byte, topicIndex int, ...) ([]Log, error)
- func (o *ORM) SelectIndexedLogs(address common.Address, eventSig []byte, topicIndex int, ...) ([]Log, error)
- func (o *ORM) SelectLatestBlock(qopts ...pg.QOpt) (*LogPollerBlock, error)
- func (o *ORM) SelectLatestLogEventSigWithConfs(eventSig common.Hash, address common.Address, confs int, qopts ...pg.QOpt) (*Log, error)
- func (o *ORM) SelectLogsByBlockRangeFilter(start, end int64, address common.Address, eventSig []byte, qopts ...pg.QOpt) ([]Log, error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Log ¶
type Log struct { EvmChainId *utils.Big LogIndex int64 BlockHash common.Hash BlockNumber int64 Topics pq.ByteaArray EventSig []byte Address common.Address TxHash common.Hash Data []byte CreatedAt time.Time }
Log represents an EVM log.
type LogPoller ¶
type LogPoller interface { services.ServiceCtx Replay(ctx context.Context, fromBlock int64) error MergeFilter(topics []common.Hash, address common.Address) LatestBlock(qopts ...pg.QOpt) (int64, error) // General queries Logs(start, end int64, eventSig common.Hash, address common.Address, qopts ...pg.QOpt) ([]Log, error) LatestLogByEventSigWithConfs(eventSig common.Hash, address common.Address, confs int, qopts ...pg.QOpt) (*Log, error) LatestLogEventSigsAddrs(fromBlock int64, eventSigs []common.Hash, addresses []common.Address, qopts ...pg.QOpt) ([]Log, error) // Content based querying IndexedLogs(eventSig common.Hash, address common.Address, topicIndex int, topicValues []common.Hash, confs int, qopts ...pg.QOpt) ([]Log, error) IndexedLogsTopicGreaterThan(eventSig common.Hash, address common.Address, topicIndex int, topicValueMin common.Hash, confs int, qopts ...pg.QOpt) ([]Log, error) IndexedLogsTopicRange(eventSig common.Hash, address common.Address, topicIndex int, topicValueMin common.Hash, topicValueMax common.Hash, confs int, qopts ...pg.QOpt) ([]Log, error) LogsDataWordGreaterThan(eventSig common.Hash, address common.Address, wordIndex int, wordValueMin common.Hash, confs int, qopts ...pg.QOpt) ([]Log, error) LogsDataWordRange(eventSig common.Hash, address common.Address, wordIndex int, wordValueMin, wordValueMax common.Hash, confs int, qopts ...pg.QOpt) ([]Log, error) }
type LogPollerBlock ¶
type LogPollerBlock struct { EvmChainId *utils.Big BlockHash common.Hash // Note geth uses int64 internally https://github.com/ethereum/go-ethereum/blob/f66f1a16b3c480d3a43ac7e8a09ab3e362e96ae4/eth/filters/api.go#L340 BlockNumber int64 CreatedAt time.Time }
LogPollerBlock represents an unfinalized block used for reorg detection when polling.
type ORM ¶
type ORM struct {
// contains filtered or unexported fields
}
func (*ORM) DeleteRangeBlocks ¶
func (*ORM) InsertBlock ¶
InsertBlock is idempotent to support replays.
func (*ORM) InsertLogs ¶
InsertLogs is idempotent to support replays.
func (*ORM) LatestLogEventSigsAddrs ¶ added in v1.5.0
func (o *ORM) LatestLogEventSigsAddrs(fromBlock int64, addresses []common.Address, eventSigs []common.Hash, qopts ...pg.QOpt) ([]Log, error)
LatestLogEventSigsAddrs finds the latest log by (address, event) combination that matches a list of addresses and list of events
func (*ORM) SelectBlockByHash ¶
func (*ORM) SelectBlockByNumber ¶
func (*ORM) SelectDataWordGreaterThan ¶ added in v1.5.0
func (*ORM) SelectDataWordRange ¶ added in v1.5.0
func (*ORM) SelectIndexLogsTopicGreaterThan ¶ added in v1.5.0
func (*ORM) SelectIndexLogsTopicRange ¶ added in v1.5.0
func (*ORM) SelectIndexedLogs ¶ added in v1.5.0
func (*ORM) SelectLatestBlock ¶
func (o *ORM) SelectLatestBlock(qopts ...pg.QOpt) (*LogPollerBlock, error)
func (*ORM) SelectLatestLogEventSigWithConfs ¶
Click to show internal directories.
Click to hide internal directories.