Simplify filter method
This commit is contained in:
@@ -102,7 +102,7 @@ func (d MessageDispatcher) DispatchSubmessages(ctx sdk.Context, contractAddr sdk
|
|||||||
var filteredEvents []sdk.Event
|
var filteredEvents []sdk.Event
|
||||||
if err == nil {
|
if err == nil {
|
||||||
commit()
|
commit()
|
||||||
filteredEvents = filterEvents(em.Events(), events)
|
filteredEvents = filterEvents(append(em.Events(), events...))
|
||||||
ctx.EventManager().EmitEvents(filteredEvents)
|
ctx.EventManager().EmitEvents(filteredEvents)
|
||||||
} // on failure, revert state from sandbox, and ignore events (just skip doing the above)
|
} // on failure, revert state from sandbox, and ignore events (just skip doing the above)
|
||||||
|
|
||||||
@@ -154,19 +154,12 @@ func (d MessageDispatcher) DispatchSubmessages(ctx sdk.Context, contractAddr sdk
|
|||||||
return rsp, nil
|
return rsp, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func filterEvents(events ...[]sdk.Event) []sdk.Event {
|
func filterEvents(events []sdk.Event) []sdk.Event {
|
||||||
// pre-allocate space for efficiency
|
// pre-allocate space for efficiency
|
||||||
cap := 0
|
res := make([]sdk.Event, 0, len(events))
|
||||||
for _, evts := range events {
|
for _, ev := range events {
|
||||||
cap += len(evts)
|
if ev.Type != "message" {
|
||||||
}
|
res = append(res, ev)
|
||||||
res := make([]sdk.Event, 0, cap)
|
|
||||||
|
|
||||||
for _, evts := range events {
|
|
||||||
for _, ev := range evts {
|
|
||||||
if ev.Type != "message" {
|
|
||||||
res = append(res, ev)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return res
|
return res
|
||||||
|
|||||||
Reference in New Issue
Block a user