Skip to content

Commit ae1a2c6

Browse files
committed
fix(evm): ensure stateDB doesn't persist after upgrade handler
1 parent cff55c5 commit ae1a2c6

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

app/upgrades/v2_5_0/v2_5_0.go

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -149,8 +149,14 @@ func UpgradeStNibiContractOnMainnet(
149149
SkipNonceChecks: false,
150150
SkipFromEOACheck: false,
151151
}
152-
sdb := keepers.EvmKeeper.NewStateDB(ctx, keepers.EvmKeeper.TxConfig(ctx, gethcommon.Hash{}))
153-
evmObj := keepers.EvmKeeper.NewEVM(ctx, evmMsg, keepers.EvmKeeper.GetEVMConfig(ctx), nil, sdb)
152+
stateDB := keepers.EvmKeeper.Bank.StateDB
153+
if stateDB == nil {
154+
stateDB = keepers.EvmKeeper.NewStateDB(ctx, keepers.EvmKeeper.TxConfig(ctx, gethcommon.Hash{}))
155+
}
156+
defer func() {
157+
keepers.EvmKeeper.Bank.StateDB = nil
158+
}()
159+
evmObj := keepers.EvmKeeper.NewEVM(ctx, evmMsg, keepers.EvmKeeper.GetEVMConfig(ctx), nil, stateDB)
154160

155161
evmResp, err := keepers.EvmKeeper.CallContractWithInput(
156162
ctx, evmObj, evmMsg.From, nil, true /*commit*/, contractInput,

0 commit comments

Comments
 (0)