-
Notifications
You must be signed in to change notification settings - Fork 4
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
Flaky withdraw e2e test #235
Comments
Some insight into how viem / our e2e testsuite deals with the withdrawal on L1The part affected by the error in CI seems to be the withdraw flow on L1: optimism/packages/contracts-bedrock/src/L1/OptimismPortal.sol Lines 304 to 308 in 3d7ab07
and the block-timestamp at the time of the call is persisted as the proven withdrawals timestamp. The e2e-testsuite uses viem, which calculates the theoretical wall-time until the L1 block of the withdrawals finalization period is elapsed based on the The contract itself checks the passed time based on the block-timestamp and reverts with the condition that the finalization period hasn't in fact elapsed: optimism/packages/contracts-bedrock/src/L1/OptimismPortal.sol Lines 339 to 346 in 3d7ab07
So to me it seems likely that there is a gradually increasing gap in produced blocks measured in wall-time vs. the theoretical production of L1 blocks when assuming constant block production time. |
The npm e2e test occasionally fails with
Example from CI: https://app.circleci.com/pipelines/github/celo-org/optimism/1882/workflows/c8d6dc1b-9f24-4fac-9025-2a27052b9584/jobs/34786
Trying it out locally, it only fails for me if place a sleep between the node startup and the test:
Increasing the
l2OutputOracleSubmissionInterval
to prevent the L2OO from falling behind does not solve the issue, which is expected since that should not matter when fault proofs are turned on (which is the case for the devnet).The flakyness started with the celo8 rebase.
@ezdac knows more about how viem deals with the withdrawal finalization period.
The text was updated successfully, but these errors were encountered: