Skip to content

Commit d9bb1b6

Browse files
mmsqeValarDragonyihuang
authored
perf: Make recheck not re-run validate basic (cosmos#20208) (#871)
Signed-off-by: yihuang <[email protected]> Co-authored-by: Dev Ojha <[email protected]> Co-authored-by: yihuang <[email protected]>
1 parent cfbca9f commit d9bb1b6

File tree

2 files changed

+7
-2
lines changed

2 files changed

+7
-2
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@ Ref: https://keepachangelog.com/en/1.0.0/
6868
* (server) [#21941](https://github.com/cosmos/cosmos-sdk/pull/21941) Regenerate addrbook.json for in place testnet.
6969
* (store) [#923](https://github.com/crypto-org-chain/cosmos-sdk/pull/923) Enable iavl async pruning.
7070
* (store) [#934](https://github.com/crypto-org-chain/cosmos-sdk/pull/934) Add pause pruning.
71+
* (baseapp) [#20208](https://github.com/cosmos/cosmos-sdk/pull/20208) Skip running validateBasic for rechecking txs.
7172

7273
### Bug Fixes
7374

baseapp/baseapp.go

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -915,8 +915,12 @@ func (app *BaseApp) runTxWithMultiStore(
915915
}
916916

917917
msgs := tx.GetMsgs()
918-
if err := validateBasicTxMsgs(msgs); err != nil {
919-
return sdk.GasInfo{}, nil, nil, err
918+
// run validate basic if mode != recheck.
919+
// as validate basic is stateless, it is guaranteed to pass recheck, given that its passed checkTx.
920+
if mode != execModeReCheck {
921+
if err := validateBasicTxMsgs(msgs); err != nil {
922+
return sdk.GasInfo{}, nil, nil, err
923+
}
920924
}
921925

922926
for _, msg := range msgs {

0 commit comments

Comments
 (0)