-
Notifications
You must be signed in to change notification settings - Fork 88
Add an event handlers interface in the worker #129
Copy link
Copy link
Open
Description
Feature description
In our use case, we need to use different modules to handle tx.Events and distribute code logic based on different events, like this:
// in module A
func (m *Module) HandleTx(tx *juno.Transaction) error {
for _, event := range tx.Events {
if event.Type != "tx_log" {
continue
}
// in module B
func (m *Module) HandleTx(tx *juno.Transaction) error {
for _, event := range tx.Events {
if event.Type != "evm_tx_log" {
continue
}
So I think there needs to be an event handler in the Module interface?
Implementation proposal
After handle tx: https://github.com/forbole/juno/blob/cosmos/v0.50.x/parser/worker.go#L342
// call the event handlers
for i, event := range tx.Events {
w.handEvnet(i, event)
}
Add a handleEvents method to allow the module to control the process based on events?
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels