watcher

package
v0.0.70 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 26, 2023 License: MIT Imports: 18 Imported by: 0

Documentation

Overview

Package watcher watches the chain for events

Index

Constants

View Source
const ObservedContractEventsMetricName = "contract_watcher_observed_event_total"

ObservedContractEventsMetricName is the count of observed counts on the events metric.

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.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL