Documentation ¶
Overview ¶
Package watcher watches the chain for events
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewBlockHeightWatcher ¶
func NewBlockHeightWatcher(ctx context.Context, chainID uint64, reader EthHeadClient) chainwatcher.BlockHeightWatcher
NewBlockHeightWatcher creates a new height watcher.
func NewContractWatcher ¶
func NewContractWatcher(ctx context.Context, contractListener ContractFilterer, heightWatcher chainwatcher.BlockHeightWatcher, requiredConfirmations uint) chainwatcher.ContractWatcher
NewContractWatcher creates a new contract contractWatcher. A contract contractWatcher defines two types: a listener, and a producer. A producer is responsible for emitting events on a contract to listeners. There can only be one producer per contract. A listener processes these events. there can be (theoretically) unlimited listeners per producer. Listeners are responsible for registering and unregistering themselves. TODO: consider replacing with: https://pkg.go.dev/github.com/cryptoriums/telliot@v0.3.0/pkg/tracker/events#New
Types ¶
type ContractFilterer ¶
type ContractFilterer interface { bind.ContractFilterer GetBigChainID() *big.Int }
ContractFilterer is the filterer object.
type EthHeadClient ¶
type EthHeadClient interface { // HeaderByNumber gets a block by its number, If nil is passed for number, the most recent // block is returned. HeaderByNumber(ctx context.Context, number *big.Int) (*types.Header, error) }
EthHeadClient defines a method for getting a subscription to the chain-tip height on geth based rpc clients.