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 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
type MessageHandler ¶
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.