filters

package
v1.7.2 Latest Latest
Warning

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

Go to latest
Published: Jan 14, 2022 License: GPL-3.0 Imports: 17 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrInvalidSubscriptionID = errors.New("invalid id")
)

Functions

This section is empty.

Types

type Backend

type Backend interface {
	ChainDb() neatdb.Database
	EventMux() *event.TypeMux
	HeaderByNumber(ctx context.Context, blockNr rpc.BlockNumber) (*types.Header, error)
	GetReceipts(ctx context.Context, blockHash common.Hash) (types.Receipts, error)
	GetLogs(ctx context.Context, blockHash common.Hash) ([][]*types.Log, error)

	SubscribeTxPreEvent(chan<- core.TxPreEvent) event.Subscription
	SubscribeChainEvent(ch chan<- core.ChainEvent) event.Subscription
	SubscribeRemovedLogsEvent(ch chan<- core.RemovedLogsEvent) event.Subscription
	SubscribeLogsEvent(ch chan<- []*types.Log) event.Subscription

	BloomStatus() (uint64, uint64)
	ServiceFilter(ctx context.Context, session *bloombits.MatcherSession)
}

type EventSystem

type EventSystem struct {
	// contains filtered or unexported fields
}

func NewEventSystem

func NewEventSystem(mux *event.TypeMux, backend Backend, lightMode bool) *EventSystem

func (*EventSystem) SubscribeLogs

func (es *EventSystem) SubscribeLogs(crit neatio.FilterQuery, logs chan []*types.Log) (*Subscription, error)

func (*EventSystem) SubscribeNewHeads

func (es *EventSystem) SubscribeNewHeads(headers chan *types.Header) *Subscription

func (*EventSystem) SubscribePendingTxEvents

func (es *EventSystem) SubscribePendingTxEvents(hashes chan common.Hash) *Subscription

type Filter

type Filter struct {
	// contains filtered or unexported fields
}

func New

func New(backend Backend, begin, end int64, addresses []common.Address, topics [][]common.Hash) *Filter

func (*Filter) Logs

func (f *Filter) Logs(ctx context.Context) ([]*types.Log, error)

type FilterCriteria

type FilterCriteria struct {
	FromBlock *big.Int
	ToBlock   *big.Int
	Addresses []common.Address
	Topics    [][]common.Hash
}

func (*FilterCriteria) UnmarshalJSON

func (args *FilterCriteria) UnmarshalJSON(data []byte) error

type PublicFilterAPI

type PublicFilterAPI struct {
	// contains filtered or unexported fields
}

func NewPublicFilterAPI

func NewPublicFilterAPI(backend Backend, lightMode bool) *PublicFilterAPI

func (*PublicFilterAPI) GetFilterChanges

func (api *PublicFilterAPI) GetFilterChanges(id rpc.ID) (interface{}, error)

func (*PublicFilterAPI) GetFilterLogs

func (api *PublicFilterAPI) GetFilterLogs(ctx context.Context, id rpc.ID) ([]*types.Log, error)

func (*PublicFilterAPI) GetLogs

func (api *PublicFilterAPI) GetLogs(ctx context.Context, crit FilterCriteria) ([]*types.Log, error)

func (*PublicFilterAPI) Logs

func (*PublicFilterAPI) NewBlockFilter

func (api *PublicFilterAPI) NewBlockFilter() rpc.ID

func (*PublicFilterAPI) NewFilter

func (api *PublicFilterAPI) NewFilter(crit FilterCriteria) (rpc.ID, error)

func (*PublicFilterAPI) NewHeads

func (api *PublicFilterAPI) NewHeads(ctx context.Context) (*rpc.Subscription, error)

func (*PublicFilterAPI) NewPendingTransactionFilter

func (api *PublicFilterAPI) NewPendingTransactionFilter() rpc.ID

func (*PublicFilterAPI) NewPendingTransactions

func (api *PublicFilterAPI) NewPendingTransactions(ctx context.Context) (*rpc.Subscription, error)

func (*PublicFilterAPI) UninstallFilter

func (api *PublicFilterAPI) UninstallFilter(id rpc.ID) bool

type Subscription

type Subscription struct {
	ID rpc.ID
	// contains filtered or unexported fields
}

func (*Subscription) Err

func (sub *Subscription) Err() <-chan error

func (*Subscription) Unsubscribe

func (sub *Subscription) Unsubscribe()

type Type

type Type byte
const (
	UnknownSubscription Type = iota

	LogsSubscription

	PendingLogsSubscription

	MinedAndPendingLogsSubscription

	PendingTransactionsSubscription

	BlocksSubscription

	LastIndexSubscription
)

Jump to

Keyboard shortcuts

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