-
Notifications
You must be signed in to change notification settings - Fork 471
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
Build against geth merge-v1.11.2 branch #1517
Conversation
Geth b4ea2bf7dd (PR #26003) renames Prepare to SetTxContext, and PrepareAccessList becomes Prepare. Geth 1f35988a00 (PR #26291) removes the time field from trace output.
This test was failing when we only waited on the last tx of each batch of 30 after upgrading to geth 1.11.2.
Codecov Report
@@ Coverage Diff @@
## master #1517 +/- ##
==========================================
- Coverage 53.05% 49.65% -3.40%
==========================================
Files 281 268 -13
Lines 36029 31864 -4165
Branches 555 555
==========================================
- Hits 19114 15823 -3291
+ Misses 14744 13872 -872
+ Partials 2171 2169 -2 |
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.
only 1 small comment
_, err := EnsureTxSucceeded(ctx, l1client, tx) | ||
if err != nil { | ||
Fail(t, err) | ||
_, err = EnsureTxSucceeded(ctx, l1client, tx) |
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.
EnsureTxSucceeded was done outside the loop on purpose. That way we only we for a transaction one time and not 30 times. Probably deserves a comment.
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.
I moved it inside the loop since it started failing with timeouts if it was outside the loop.
arbnode/execution/tx_pre_checker.go
Outdated
@@ -135,7 +135,7 @@ func PreCheckTx(bc *core.BlockChain, chainConfig *params.ChainConfig, header *ty | |||
if tx.Nonce() < stateNonce { | |||
return MakeNonceError(sender, tx.Nonce(), stateNonce) | |||
} | |||
intrinsic, err := core.IntrinsicGas(tx.Data(), tx.AccessList(), tx.To() == nil, chainConfig.IsHomestead(header.Number), true) | |||
intrinsic, err := core.IntrinsicGas(tx.Data(), tx.AccessList(), tx.To() == nil, chainConfig.IsHomestead(header.Number), true, true) |
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.
These last two parameters should be replaced with chainConfig.IsIstanbul(header.Number)
(always true) and the new one with chainConfig.IsShanghai(header.Number)
(always false for now, but will eventually become true on new blocks -- this is important because it's a breaking change).
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.
Thanks. Fixed it.
Now that v1.11.2 is merged in to master, we can set the submodule to point back to master.
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
This PR contains the changes needed to Nitro to use the OffchainLabs geth fork with upstream's v.1.11.2 merged into it.
The most notable change was that upstream implemented JWT auth, so we use that instead of our custom implementation.
Note: This PR currently changes the git submodule for
go-ethereum
to use themerge-v1.11.2
branch, which is being reviewed in OffchainLabs/go-ethereum#205. We'll have to change it back to usingmaster
after the other PR is merged.