- 23 Dec, 2022 11 commits
-
-
protolambda authored
-
Matthew Slipper authored
-
Matthew Slipper authored
-
Matthew Slipper authored
-
Matthew Slipper authored
-
Matthew Slipper authored
-
smartcontracts authored
Breaks out the SystemDictator steps into two files so that the steps that get executed before the system is shut down can easily be separated from the steps that executed after the system gets spun back up. Idea here is that you would execute with the tag "steps1", wait for the legacy system to come down, migrate the L2, then execute with the tags "steps2" to complete the upgrade.
-
protolambda authored
* op-node,op-e2e: optimize receipts fetching by supporting different kinds of rpc providers and receipts-fetching method alternatives * op-node: rpc provider kinds / fetching methods review fixes * op-e2e: add missing arg - fix lint
-
Matthew Slipper authored
* op-chain-ops: Fix state migration, add post-checks This PR fixes a bug in `op-chain-ops` that could cause state to become erroneously erased during the L2 migration. While testing the Goerli migration in check mode, I encountered an issue where `db.GetState` was returning null storage slots for the legacy message passer during the withdrawals portion of the migration. Upon further inspection, I discovered that we were using `db.CreateAccount` in the `setProxies` method. `db.CreateAccount` will erase the state associated with the passed-in address, so I updated `setProxies` to check if the account exists first. I also added a map of predeploys that should _not_ be touched as part of the migration process at all. At the end of the migration process, I iterate over these "untouchable" contracts and make sure that their code matches a preset list of code hashes and sample up to 5,000 storage slots before and after the migration to make sure the match. Additionally, I found a bug in the witness generation data within `l2geth`. The witness generation code for the message passer does not take reverts into account. There's no easy way to do this, since we don't have access to the call frame in which the revert occurred. To work around this, I added the ability to ignore reverted storage slots in the `ParamsByChainId` structure. Lastly, I made a few miscellaneous changes to improve our confidence in the migration script: - I added checks to the OVM ETH migration to ensure that state slots are properly preserved. - I added a read cache to the underlying state DB so that repeated read calls are faster. I have verified that this migration script works end-to-end with check mode enabled against a forked Goerli L1. * Add hash checking in addition to sampling
-
mergify[bot] authored
ci: Add more codeowners to specs
-
Maurelian authored
-
- 22 Dec, 2022 11 commits
-
-
protolambda authored
* op-node: remove p2p sequencer addr rollup config value, load during startup from L1 * op-node: use trie.VerifyProof instead of trie.Trie.TryGet Co-authored-by:
Matthew Slipper <me@matthewslipper.com>
-
mergify[bot] authored
specs: Document starting timestamp and block num vars
-
mergify[bot] authored
-
Matthew Slipper authored
Failed devnet jobs will now dump op-node, op-geth, batcher, proposer, and l1 logs in distinct steps in order to make debugging easier. Also disables CCI's Docker Layer Caching, which was introducing issues. The cache sometimes gets stale, leading to situations where the tested software doesn't match the source being pulled.
-
mergify[bot] authored
op-e2e: Add Large L1 gap blocktime test
-
mergify[bot] authored
-
Joshua Gutow authored
TestLargeL1Gaps tests the case that there is a gap between two L1 blocks which is larger than the sequencer drift. This test has the following parameters: L1 Block time: 4s. L2 Block time: 2s. Sequencer Drift: 32s It generates 8 L1 blocks & 16 L2 blocks. Then generates an L1 block that has a time delta of 48s. It then generates the 24 L2 blocks. Then it generates 3 more L1 blocks. At this point it can verify that the batches where properly generated. Note: It batches submits when possible.
-
mergify[bot] authored
[op-batcher / op-proposer] Provide context to signer function
-
mergify[bot] authored
-
Maurelian authored
ctb: Document starting timestamp and block num vars
-
smartcontracts authored
Adds a new "setup" tag to deploy steps that can be executed ahead of the Bedrock migration. Runs everything except the SystemDictator steps.
-
- 21 Dec, 2022 18 commits
-
-
Michael de Hoog authored
-
Matthew Slipper authored
This caused unnecessary build errors.
-
mergify[bot] authored
ctb: Live migration utilities
-
mergify[bot] authored
-
Maurelian authored
-
mergify[bot] authored
-
Matthew Slipper authored
-
mergify[bot] authored
specs: Update links
-
mergify[bot] authored
-
mergify[bot] authored
op-batcher/op-proposer: New package structure
-
mergify[bot] authored
-
Joshua Gutow authored
-
Joshua Gutow authored
-
Joshua Gutow authored
-
Matthew Slipper authored
-
Maurelian authored
-
Maurelian authored
-
Maurelian authored
-