-
Notifications
You must be signed in to change notification settings - Fork 45
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
Bug in SystemConfig Holocene Upgrade #394
Comments
Decision: we are going to redo the upgrade and call The post checks should assert specifically on |
@tynes what should we do for chains that have a |
Can you give more details? I don't understand why you cant decode |
That makes sense. I had thought there was a problem because I couldn't get the |
Just to point out that initialize will reencode with version 1 of the scalar encoder, meaning that chains with a version 0 scalar will get a non trivial change to the raw data of |
I discussed this with George. I believe it should be fine because both encodings lead to the same outcome (if blob base fee is 0). We're not emitting a config change event during |
What does non trivial mean? From the pov of bytes32, its a single bit. From the pov of uint256, its a massively different number. Is this what you mean? This is expected behavior. |
The Holocene SystemConfig upgrade simply modified the implementations of the
SystemConfig
contracts rather than callinginitialize
on them. This means that there are two functions that currently do not work as expected.This is because these values are their own storage slots rather than functions that read from a single source of truth (the
scalar
). Without callinginitialize
or callingsetGasConfigEcotone
, they will return0
.We have a few options:
initialize
as part of the upgradesetGasConfigEcotone
to set the values equal to what they are currentlySystemConfig
to parse from thescalar
value when calling these functionsThese functions would implement the inverse of this:
So the
basefeeScalar
function would sload thescalar
, and mask out the least significant 32 bits. TheblobBasefeeScalar
function would mask out the next least most significant 32 bits.The text was updated successfully, but these errors were encountered: