op-node,contracts-bedrock: dynamic gas limit via SystemConfig#3814
op-node,contracts-bedrock: dynamic gas limit via SystemConfig#3814
Conversation
|
|
This PR changes implementation code, but doesn't include a changeset. Did you forget to add one? |
85839b2 to
6de1f33
Compare
|
Hey @protolambda! This PR has merge conflicts. Please fix them before continuing review. |
6de1f33 to
66589e8
Compare
fad6efc to
4656d3b
Compare
|
This PR depends on ethereum-optimism/op-geth#22 I can pull in that commit in the go.work, but I'd prefer to first resolve the dependency stack of this PR, which also depend on open geth changes. |
|
Hey @protolambda! This PR has merge conflicts. Please fix them before continuing review. |
|
hey @protolambda, it seems like there's a lot of system config changes, this PR should just be the dynamic gas limit |
|
@trianglesphere yea, I was planning to rebase this once the sys config changes land (so close, just need op-geth PR). Github just exploded the diff here because the base branch changes. The actual changes are much smaller. I'll rebase it again |
4656d3b to
5a3f8f7
Compare
|
Hey @protolambda! This PR has merge conflicts. Please fix them before continuing review. |
5a3f8f7 to
9cc644c
Compare
9cc644c to
9c30c80
Compare
951a61a to
8a89e24
Compare
8a89e24 to
a577f20
Compare
a577f20 to
0bdfff5
Compare
|
Hmm, devnet is failing on contract deployment, meaning it's failing to deploy the system config. Likely hitting the new require statement on minimum gaslimit. What gas limit do we start it with? |
|
Found the issue: the L2 gas limit is set to 0, the genesis generator then uses 15M when it's unspecified, but does not implement this same fallback when inserting the gaslimit value into the initialize args. |
trianglesphere
left a comment
There was a problem hiding this comment.
This is looking pretty good. One contracts question to see if we can limit the foot guns with setting the L2 gas limit.
|
Merging so we can fix Hive. |
Description
Dynamic gas limit: we extend the SystemConfig on L1 with a setter that emits gas limit changes, which can then be picked up during derivation, and applied to the payload attributes for block building.
Changes:
This PR depends on ethereum-optimism/op-geth#22
Once the geth PR is merged we can update the geth dependencies, and marge this PR. A temporary
go.workentry points to the geth PR for now to make CI run.Tests
Added an action test to cover the derivation changes, and the block body validation changes in the engine.
Metadata
Fix ENG-2935
Fix ENG-2957