Versions in this module Expand all Collapse all v0 v0.1.1 Dec 22, 2025 v0.1.0 Dec 22, 2025 Changes in this version + const Chain + var ErrReorgDetected = errors.New("reorg detected") + func FindEvent(abis map[string]*abi.ABI, eventName string) (*abi.Event, bool) + func LoadABIs(dirs []string) (map[string]*abi.ABI, error) + type BlockClient interface + FilterLogs func(ctx context.Context, q ethereum.FilterQuery) ([]types.Log, error) + HeaderByNumber func(ctx context.Context, number *big.Int) (*types.Header, error) + type NormalizedEvent struct + Args map[string]any + Chain string + Contract string + Hash string + Height uint64 + LogIndex *uint + Name string + RuleID string + SourceID string + TxHash string + type RPCClient struct + func NewRPCClient(rpcURL string) (*RPCClient, error) + type RuleMatcher struct + func NewRuleMatcher(rule config.Rule, abis map[string]*abi.ABI) (*RuleMatcher, error) + func (m *RuleMatcher) Match(log types.Log) (*NormalizedEvent, bool, error) + type Scanner struct + func NewScanner(client BlockClient, store *storage.Store, source config.Source, ...) (*Scanner, error) + func (s *Scanner) ProcessNext(ctx context.Context) ([]NormalizedEvent, error)