listener

package
v1.0.27 Latest Latest
Warning

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

Go to latest
Published: Feb 7, 2024 License: LGPL-3.0 Imports: 19 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Erc20EventHandler

func Erc20EventHandler(sourceID, destId uint8, nonce uint64, resourceID types.ResourceID, calldata, handlerResponse []byte) (*message.Message, error)

Erc20EventHandler converts data pulled from event logs into message handlerResponse can be an empty slice

func Erc721EventHandler

func Erc721EventHandler(sourceID, destId uint8, nonce uint64, resourceID types.ResourceID, calldata, handlerResponse []byte) (*message.Message, error)

Erc721EventHandler converts data pulled from ERC721 deposit event logs into message

func GenericEventHandler

func GenericEventHandler(sourceID, destId uint8, nonce uint64, resourceID types.ResourceID, calldata, handlerResponse []byte) (*message.Message, error)

GenericEventHandler converts data pulled from generic deposit event logs into message

Types

type ChainClient

type ChainClient interface {
	LatestBlock() (*big.Int, error)
	LatestFinalizedBlock() (*big.Int, error)
	FetchDepositLogs(ctx context.Context, address common.Address, startBlock *big.Int, endBlock *big.Int) ([]*evmclient.DepositLogs, error)
	CallContract(ctx context.Context, callArgs map[string]interface{}, blockNumber *big.Int) ([]byte, error)
	FilterLogs(ctx context.Context, q ethereum.FilterQuery) ([]ethereumTypes.Log, error)
	UpdateEndpoint() (string, error)
}

type ETHEventHandler

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

func NewETHEventHandler

func NewETHEventHandler(bridgeContract bridge.BridgeContract) *ETHEventHandler

NewETHEventHandler creates an instance of ETHEventHandler that contains handler functions for processing deposit events

func (*ETHEventHandler) HandleEvent

func (e *ETHEventHandler) HandleEvent(sourceID, destID uint8, depositNonce uint64, resourceID types.ResourceID, calldata, handlerResponse []byte) (*message.Message, error)

func (*ETHEventHandler) RegisterEventHandler

func (e *ETHEventHandler) RegisterEventHandler(handlerAddress string, handler EventHandlerFunc)

RegisterEventHandler registers an event handler by associating a handler function to a specified address

type EVMListener

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

func NewEVMListener

func NewEVMListener(chainReader ChainClient, handler EventHandler, bridgeAddress common.Address, signatureAddress common.Address, fromAddr string, id uint8, openTelemetryInst *opentelemetry.OpenTelemetry) *EVMListener

NewEVMListener creates an EVMListener that listens to deposit events on chain and calls event handler when one occurs

func (*EVMListener) HandleEvent

func (v *EVMListener) HandleEvent(sourceID, destID uint8, nonce uint64, resourceID types.ResourceID, calldata, handlerResponse []byte) (*message.Message, error)

func (*EVMListener) ListenToEvents

func (l *EVMListener) ListenToEvents(
	startBlock, blockConfirmations *big.Int,
	blockWindow *big.Int,
	blockRetryInterval time.Duration,
	domainID uint8,
	blockstore *store.BlockStore,
	stopChn <-chan struct{},
	errChn chan<- error,
) <-chan *message.Message

type EventHandler

type EventHandler interface {
	HandleEvent(sourceID, destID uint8, nonce uint64, resourceID types.ResourceID, calldata, handlerResponse []byte) (*message.Message, error)
}

type EventHandlerFunc

type EventHandlerFunc func(sourceID, destId uint8, nonce uint64, resourceID types.ResourceID, calldata, handlerResponse []byte) (*message.Message, error)

type EventHandlers

type EventHandlers map[common.Address]EventHandlerFunc

Directories

Path Synopsis
Package mock_listener is a generated GoMock package.
Package mock_listener is a generated GoMock package.

Jump to

Keyboard shortcuts

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