eth

package
v0.0.0-...-412d469 Latest Latest
Warning

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

Go to latest
Published: Dec 17, 2021 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type EventHandler

type EventHandler interface {
	Handle(event interface{}) error
}

type EventTransformer

type EventTransformer interface {
	// ToMessage converts a given event to a relayer message
	ToMessage(event interface{}) (*v1.Message, error)
}

type EventWatcher

type EventWatcher interface {
	Watch()
}

EventWatcher listens to blockchain events

type EventWatcherConfig

type EventWatcherConfig struct {
	Start   *uint64
	Context context.Context
	Handler EventHandler
}

type MessageEnqueueHandler

type MessageEnqueueHandler struct {
	MQ mqserver.MessageQueue
}

MessageEnqueueHandler enqueues relayer messages onto a configured message queue server

func NewMessageEnqueueHandler

func NewMessageEnqueueHandler(qServer mqserver.MessageQueue) *MessageEnqueueHandler

func (*MessageEnqueueHandler) Handle

func (mq *MessageEnqueueHandler) Handle(m *v1.Message) error

Handle sends the provided message to the configured message queue. The method assumes that the message queue is configured and started.

type MessageHandler

type MessageHandler interface {
	Handle(m *v1.Message) error
}

MessageHandler processes relayer messages

type SFCBridgeObserver

type SFCBridgeObserver struct {
	EventWatcher  *SFCCrossCallWatcher
	EventHandler  *SimpleEventHandler
	SourceNetwork string
}

SFCBridgeObserver listens to incoming events from an SFC contract, transforms them into relayer messages and then enqueues them onto a message queue them for further processing by other Relayer components

func NewSFCBridgeObserver

func NewSFCBridgeObserver(source string, contract *sfc.Sfc, mq mqserver.MessageQueue) (*SFCBridgeObserver, error)

func (*SFCBridgeObserver) Start

func (o *SFCBridgeObserver) Start()

type SFCCrossCallWatcher

type SFCCrossCallWatcher struct {
	EventWatcherConfig
	SfcContract *sfc.Sfc
}

SFCCrossCallWatcher subscribes and listens to events from a simple-function-call bridge contract

func NewSFCCrossCallWatcher

func NewSFCCrossCallWatcher(context context.Context, handler EventHandler, contract *sfc.Sfc) *SFCCrossCallWatcher

func (*SFCCrossCallWatcher) Watch

func (l *SFCCrossCallWatcher) Watch()

Watch subscribes and starts listening to 'CrossCall' events from a given simple-function-call contract. Events received are passed to an event handler for processing. The method fails if subscribing to the event with the underlying network is not successful.

type SFCEventTransformer

type SFCEventTransformer struct {
	Source string
}

SFCEventTransformer converts events from a simple-function-call bridge contract to relayer messages

func NewSFCEventTransformer

func NewSFCEventTransformer(sourceNetwork string) *SFCEventTransformer

func (*SFCEventTransformer) ToMessage

func (t *SFCEventTransformer) ToMessage(event interface{}) (*v1.Message, error)

ToMessage converts a 'CrossCall' event emited from a simple-function-call bridge contract to relayer message It returns an error if the event contains an invalid timestamp or destination information It panics if the event is not of an sfc.SfcCrossCall type

type SimpleEventHandler

type SimpleEventHandler struct {
	// EventTransformer transforms a given event to a relayer message (v1.Message)
	EventTransformer EventTransformer
	// MessageHandler processes a relayer message that has been created from a event
	MessageHandler MessageHandler
}

SimpleEventHandler first transforms an event to a relayer message then passes it to a handler to process

func NewSimpleEventHandler

func NewSimpleEventHandler(transformer EventTransformer, sender MessageHandler) *SimpleEventHandler

func (*SimpleEventHandler) Handle

func (h *SimpleEventHandler) Handle(event interface{}) error

Handle transforms the provided event to a message then forwards it to a message handler to process.

Jump to

Keyboard shortcuts

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