Merge PR #5208: remove duplicate events from previous messages

This commit is contained in:
Alexander Bezobchuk 2019-10-16 11:00:44 -04:00 committed by GitHub
parent 28347bf5f7
commit 97eac176a5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 11 additions and 5 deletions

View File

@ -178,6 +178,7 @@ to detail this new feature and how state transitions occur.
* (cli) [\#4763](https://github.com/cosmos/cosmos-sdk/issues/4763) Fix flag `--min-self-delegation` for staking `EditValidator`
* (keys) Fix ledger custom coin type support bug
* (baseapp) [\#5200](https://github.com/cosmos/cosmos-sdk/issues/5200) Remove duplicate events from previous messages.
## [v0.37.2] - 2019-10-10

View File

@ -648,7 +648,7 @@ func (app *BaseApp) runMsgs(ctx sdk.Context, msgs []sdk.Msg, mode runTxMode) (re
msgRoute := msg.Route()
handler := app.router.Route(msgRoute)
if handler == nil {
return sdk.ErrUnknownRequest("unrecognized Msg type: " + msgRoute).Result()
return sdk.ErrUnknownRequest("unrecognized message type: " + msgRoute).Result()
}
var msgResult sdk.Result
@ -662,20 +662,25 @@ func (app *BaseApp) runMsgs(ctx sdk.Context, msgs []sdk.Msg, mode runTxMode) (re
// each result.
data = append(data, msgResult.Data...)
msgEvents := msgResult.Events
// append events from the message's execution and a message action event
events = events.AppendEvent(sdk.NewEvent(sdk.EventTypeMessage, sdk.NewAttribute(sdk.AttributeKeyAction, msg.Type())))
events = events.AppendEvents(msgResult.Events)
msgEvents = msgEvents.AppendEvent(
sdk.NewEvent(sdk.EventTypeMessage, sdk.NewAttribute(sdk.AttributeKeyAction, msg.Type())),
)
events = events.AppendEvents(msgEvents)
// stop execution and return on first failed message
if !msgResult.IsOK() {
msgLogs = append(msgLogs, sdk.NewABCIMessageLog(uint16(i), false, msgResult.Log, events))
msgLogs = append(msgLogs, sdk.NewABCIMessageLog(uint16(i), false, msgResult.Log, msgEvents))
code = msgResult.Code
codespace = msgResult.Codespace
break
}
msgLogs = append(msgLogs, sdk.NewABCIMessageLog(uint16(i), true, msgResult.Log, events))
msgLogs = append(msgLogs, sdk.NewABCIMessageLog(uint16(i), true, msgResult.Log, msgEvents))
}
result = sdk.Result{