-
Notifications
You must be signed in to change notification settings - Fork 41
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
Isthmus: L1BlockInfoTx with Operator Fees #130
base: main
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this looks correct to me,
pending @refcell sanity check
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Isthmus is a different hardfork than Holocene. We'll need to add an entirely new L1BlockInfo
type for Isthmus.
This should be done by:
- Leaving holocene types unchanged.
- Introducing a new variant in the
L1BlockInfo
enum calledIsthmus
that wraps a newL1BlockInfoIsthmus
struct. - Add a
is_isthmus_active
method to theRollupConfig
withisthmus_time
field. - Add the operator fee parsing inside
try_new
when creating a newL1BlockInfoTx
behind aif rollup_config.is_isthmus_active(l2_block_time)
branch above the holocene check since it follows the holocene hardfork.
Sorry for the miscommunication -- since this feature is almost ready, I have verbal confirmation from tynes that it's very likely to be included in the Holocene hardfork. I'll update the spec shortly. |
I don't believe tynes is correct here. The Holocene feature set has been frozen for a little while now with implementation well on the way. It's most likely these changes will need to be a part of Isthmus. We have channels in our discord to discuss hardfork changes. I'd recommend joining the discord and kicking off a thread in |
We have general consensus on these changes being included in a future hardfork when they are ready. We should all make sure we agree on the design before saying anything is ready for inclusion |
76db74d
to
4a90bbf
Compare
Hey @yuwen01, since there were a ton of merge conflicts due to changes I've introduced over the past month or so, I've went ahead and updated this based off your spec pr in ethereum-optimism/specs. Feel free to push changes if the spec changes or callout anything that doesn't look right to you :D |
Warning This is blocked from merging until the spec has been merged. |
4a90bbf
to
7a3016c
Compare
cc @emhane if you haven't seen this pr yet |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm
let L1BlockInfoTx::Isthmus(decoded) = | ||
L1BlockInfoTx::decode_calldata(RAW_ISTHMUS_INFO_TX.as_ref()).unwrap() | ||
else { | ||
panic!("Wrong fork"); | ||
}; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
let L1BlockInfoTx::Isthmus(decoded) = | |
L1BlockInfoTx::decode_calldata(RAW_ISTHMUS_INFO_TX.as_ref()).unwrap() | |
else { | |
panic!("Wrong fork"); | |
}; | |
let L1BlockInfoTx::Isthmus(decoded) = | |
L1BlockInfoTx::decode_calldata(RAW_ISTHMUS_INFO_TX.as_ref()).expect("Wrong fork"); |
Overview
Updates the L1BlockInfoHolocene in op-alloy-protocol to include the new operator fee scalar and operator fee constant.
Additional Context
Design Doc
Spec.