Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refactor(abci)!: move Events from FinalizeBlock to ResponseProcessProposal #770

Merged
merged 7 commits into from
Mar 27, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 3 additions & 4 deletions abci/example/kvstore/kvstore.go
Original file line number Diff line number Diff line change
Expand Up @@ -373,12 +373,14 @@ func (app *Application) ProcessProposal(_ context.Context, req *abci.RequestProc
Status: abci.ResponseProcessProposal_REJECT,
}, err
}

resp := &abci.ResponseProcessProposal{
Status: abci.ResponseProcessProposal_ACCEPT,
AppHash: roundState.GetAppHash(),
TxResults: txResults,
ConsensusParamUpdates: app.getConsensusParamsUpdate(req.Height),
ValidatorSetUpdate: app.getValidatorSetUpdate(req.Height),
Events: []abci.Event{app.eventValUpdate(req.Height)},
}

if app.cfg.ProcessProposalDelayMS != 0 {
Expand Down Expand Up @@ -425,10 +427,7 @@ func (app *Application) FinalizeBlock(_ context.Context, req *abci.RequestFinali
return nil, err
}
}
events := []abci.Event{app.eventValUpdate(req.Height)}
resp := &abci.ResponseFinalizeBlock{
Events: events,
}
resp := &abci.ResponseFinalizeBlock{}
if app.RetainBlocks > 0 && app.LastCommittedState.GetHeight() >= app.RetainBlocks {
resp.RetainHeight = app.LastCommittedState.GetHeight() - app.RetainBlocks + 1
}
Expand Down
8 changes: 4 additions & 4 deletions abci/example/kvstore/kvstore_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -55,16 +55,16 @@ func testKVStore(ctx context.Context, t *testing.T, app types.Application, tx []
require.NoError(t, err)
require.Len(t, respProcess.TxResults, 1)
require.False(t, respProcess.TxResults[0].IsErr(), respProcess.TxResults[0].Log)
require.Len(t, respProcess.Events, 1)

// Duplicate ProcessProposal calls should return error
_, err = app.ProcessProposal(ctx, reqProcess)
require.ErrorContains(t, err, "duplicate ProcessProposal call")

reqFin := &types.RequestFinalizeBlock{Height: height}
reqFin.Block, reqFin.BlockID = makeBlock(t, height, [][]byte{tx}, respPrep.AppHash)
respFin, err := app.FinalizeBlock(ctx, reqFin)
_, err = app.FinalizeBlock(ctx, reqFin)
require.NoError(t, err)
require.Equal(t, 1, len(respFin.Events))

// repeating tx raises an error
_, err = app.FinalizeBlock(ctx, reqFin)
Expand Down Expand Up @@ -290,12 +290,12 @@ func makeApplyBlock(
require.NoError(t, err)
require.NotZero(t, respProcessProposal)
require.Equal(t, types.ResponseProcessProposal_ACCEPT, respProcessProposal.Status)
require.Len(t, respProcessProposal.Events, 1)

rfb := &types.RequestFinalizeBlock{Hash: hash, Height: height}
rfb.Block, rfb.BlockID = makeBlock(t, height, txs, respProcessProposal.AppHash)
resFinalizeBlock, err := kvstore.FinalizeBlock(ctx, rfb)
require.NoError(t, err)
require.Len(t, resFinalizeBlock.Events, 1)

return respProcessProposal, resFinalizeBlock
}
Expand Down Expand Up @@ -413,13 +413,13 @@ func testClient(ctx context.Context, t *testing.T, app abciclient.Client, height
require.NotZero(t, rpp)
require.Equal(t, 1, len(rpp.TxResults))
require.False(t, rpp.TxResults[0].IsErr())
require.Len(t, rpp.Events, 1)

rfb := &types.RequestFinalizeBlock{Height: height}
rfb.Block, rfb.BlockID = makeBlock(t, height, [][]byte{tx}, rpp.AppHash)
ar, err := app.FinalizeBlock(ctx, rfb)
require.NoError(t, err)
require.Zero(t, ar.RetainHeight)
require.Len(t, ar.Events, 1)

info, err := app.Info(ctx, &types.RequestInfo{})
require.NoError(t, err)
Expand Down
4 changes: 2 additions & 2 deletions abci/example/kvstore/verify_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@ func TestVerifyBlockCommit(t *testing.T) {
assert.Len(t, respPrep.TxRecords, 1)
require.Equal(t, 1, len(respPrep.TxResults))
require.False(t, respPrep.TxResults[0].IsErr(), respPrep.TxResults[0].Log)

pbBlock, err := block.ToProto()
require.NoError(t, err)
blockID := block.BlockID(nil)
Expand All @@ -70,9 +71,8 @@ func TestVerifyBlockCommit(t *testing.T) {
Block: pbBlock,
BlockID: &pbBlockID,
}
respFb, err := kvstore.FinalizeBlock(ctx, reqFb)
_, err = kvstore.FinalizeBlock(ctx, reqFb)
require.NoError(t, err)
require.Equal(t, 1, len(respFb.Events))
}

type blockExecutor struct {
Expand Down
3 changes: 0 additions & 3 deletions abci/tests/test_cli/ex1.abci.out
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@

> finalize_block 1 0000000000000000000000000000000000000000000000000000000000000000 "abc"
-> code: OK
-> data.hex: 0x6576656E74733A3C747970653A2276616C5F757064617465732220617474726962757465733A3C6B65793A2273697A65222076616C75653A223022203E20617474726962757465733A3C6B65793A22686569676874222076616C75653A223122203E203E20

> info
-> code: OK
Expand Down Expand Up @@ -56,7 +55,6 @@

> finalize_block 2 3C868EF29ED961094EE2C48BDD78CDC83C7AA426E763024985AF9F0F569EEFBE "def=xyz" "ghi=123"
-> code: OK
-> data.hex: 0x6576656E74733A3C747970653A2276616C5F757064617465732220617474726962757465733A3C6B65793A2273697A65222076616C75653A223022203E20617474726962757465733A3C6B65793A22686569676874222076616C75653A223222203E203E20

> query "def"
-> code: OK
Expand Down Expand Up @@ -101,5 +99,4 @@

> finalize_block 3 243BA0AC2622E2E7ACFEF366E85E503ACEBA1C950357436B554CA253492420AB
-> code: OK
-> data.hex: 0x6576656E74733A3C747970653A2276616C5F757064617465732220617474726962757465733A3C6B65793A2273697A65222076616C75653A223022203E20617474726962757465733A3C6B65793A22686569676874222076616C75653A223322203E203E20

Loading
Loading