core/vm: remove panic when address is not present

This commit is contained in:
Dylan Vassallo 2024-09-09 12:50:00 +02:00
parent d71831255d
commit c173c1b73f

View file

@ -39,16 +39,10 @@ func makeGasSStoreFunc(clearingRefund uint64) gasFunc {
cost = uint64(0) cost = uint64(0)
) )
// Check slot presence in the access list // 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 cost = params.ColdSloadCostEIP2929
// If the caller cannot afford the cost, this change will be rolled back // If the caller cannot afford the cost, this change will be rolled back
evm.StateDB.AddSlotToAccessList(contract.Address(), slot) 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()) value := common.Hash(y.Bytes32())