fix(core): remove panic when address is not present #30414 (#2029)

This commit is contained in:
Daniel Liu 2026-02-10 19:22:38 +08:00 committed by GitHub
parent 81d0db2344
commit 35d5bbd240
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -43,16 +43,10 @@ func makeGasSStoreFunc(clearingRefund uint64) gasFunc {
cost = uint64(0)
)
// Check slot presence in the access list
if addrPresent, slotPresent := evm.StateDB.SlotInAccessList(contract.Address(), slot); !slotPresent {
if _, slotPresent := evm.StateDB.SlotInAccessList(contract.Address(), slot); !slotPresent {
cost = params.ColdSloadCostEIP2929
// If the caller cannot afford the cost, this change will be rolled back
evm.StateDB.AddSlotToAccessList(contract.Address(), slot)
if !addrPresent {
// Once we're done with YOLOv2 and schedule this for mainnet, might
// be good to remove this panic here, which is just really a
// canary to have during testing
panic("impossible case: address was not present in access list during sstore op")
}
}
value := common.Hash(y.Bytes32())