fix(baseapp): return events from preblocker in FinalizeBlockResponse (#21159)
This commit is contained in:
parent
04bedcd32b
commit
c312d99ea0
@ -108,6 +108,7 @@ Every module contains its own CHANGELOG.md. Please refer to the module you are i
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* (baseapp) [#21159](https://github.com/cosmos/cosmos-sdk/pull/21159) Return PreBlocker events in FinalizeBlockResponse.
|
||||
* (baseapp) [#18727](https://github.com/cosmos/cosmos-sdk/pull/18727) Ensure that `BaseApp.Init` firstly returns any errors from a nil commit multistore instead of panicking on nil dereferencing and before sealing the app.
|
||||
* (client) [#18622](https://github.com/cosmos/cosmos-sdk/pull/18622) Fixed a potential under/overflow from `uint64->int64` when computing gas fees as a LegacyDec.
|
||||
* (client/keys) [#18562](https://github.com/cosmos/cosmos-sdk/pull/18562) `keys delete` won't terminate when a key is not found.
|
||||
|
||||
@ -789,6 +789,7 @@ func (app *BaseApp) internalFinalizeBlock(ctx context.Context, req *abci.Finaliz
|
||||
if err := app.preBlock(req); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
events = append(events, app.finalizeBlockState.ctx.EventManager().ABCIEvents()...)
|
||||
|
||||
beginBlock, err := app.beginBlock(req)
|
||||
if err != nil {
|
||||
|
||||
@ -2298,13 +2298,16 @@ func TestBaseApp_PreBlocker(t *testing.T) {
|
||||
wasHookCalled := false
|
||||
app.SetPreBlocker(func(ctx sdk.Context, req *abci.FinalizeBlockRequest) error {
|
||||
wasHookCalled = true
|
||||
ctx.EventManager().EmitEvent(sdk.NewEvent("preblockertest", sdk.NewAttribute("height", fmt.Sprintf("%d", req.Height))))
|
||||
return nil
|
||||
})
|
||||
app.Seal()
|
||||
|
||||
_, err = app.FinalizeBlock(&abci.FinalizeBlockRequest{Height: 1})
|
||||
res, err := app.FinalizeBlock(&abci.FinalizeBlockRequest{Height: 1})
|
||||
require.NoError(t, err)
|
||||
require.Equal(t, true, wasHookCalled)
|
||||
require.Len(t, res.Events, 1)
|
||||
require.Equal(t, "preblockertest", res.Events[0].Type)
|
||||
|
||||
// Now try erroring
|
||||
app = baseapp.NewBaseApp(name, logger, db, nil)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user