-
Notifications
You must be signed in to change notification settings - Fork 3.4k
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
Bedrock -> Develop #2563
Bedrock -> Develop #2563
Conversation
* opnode: Switch to uint64 in FindL2Heads function * opnode: Properly initialize state loop This properly sets the L1 head, L2 Head, and L2 Unsafe Head during `state.Start()` in normal operation and when the current L1 head has not reached the L1 genesis. * opnode: Rename output functions The old names where not good. In addition, this standardizes the order of arguements and extends the returns. The returns are not fully used, but will be. * opnode: Add sanity check to L1 window in insertEpoch This make sure that the L1 window starts at the correct block. * opnode: Split out loop Now each action occurs in a seperate function. The state loop is still responsible for sequencing follow-up actions, but is not responsible for setting state. * opnode: Better name for batch prepare functions This name indicates that it provides missing batches. * opnode: Verify epochs as sequencer Sequencers now verify epochs and will reorg if they see that verified epochs do not match what they created. * opnode: Mute driver test * opnode: Set L2 Geth forkchoice on reorg This is required to handle L1 reorgs (rather than just missing batches). * opnode: Bump op-geth version Needed to fix a bug where the L2 geth node was missing the `mint` field in deposit transactions when returning them over the JSON RPC server. * opnode: Don't incorrectly advance safehead There is some L2 block that is possible to fully derive from L1; however, if it is ahead of the current state's safe head, do not advance the current state's safehead because the chain has not been verified up to that point. * opnode: Don't rebuild L1 Genesis Block ID Co-authored-by: Diederik Loerakker <proto@protolambda.com> * opnode: More comments Co-authored-by: Diederik Loerakker <proto@protolambda.com> * opnode: Don't cast slice Co-authored-by: Diederik Loerakker <proto@protolambda.com> * opnode: PR comments * opnode: Better error reason in attributesMatch Include the details of the mismatched fields in addition to what field it was. Will make diagnosing errors much easier. Co-authored-by: Diederik Loerakker <proto@protolambda.com>
… field (tx field, not info field) for uniqueness of deposit tx hash on L2
It is convenient for users to be able to deposit funds directly to L2 by simply doing an ETH send to an address. The prevents needing an ABI.
ops: Add contract code to Makefile and Dockerfile
I needed the trie contracts over here, so now the whole monorepo is a submodule of the specs repo. Happy now @norswap? Why, you ask, did I do this rather than the alternatives available to me? 1. Copying and pasting is gross. 2. `yarn add` would have installed a smaller dep, but it's also gross. 3. git submodules, while also gross in their own right, is at least consistent with how we're currently handling other dependencies, so I went with that.
Adds a check to ensure that withdrawal root is included in the l2 output root.
Adds a check to ensure that the withdrawal message hash is included in the mapping of withdrawals in the withdrawer contract
Docker fixes
Update l2geth
This changes the WithdrawalVerifier to be stateless, and moves all checks into the OptimismPortal
Known issues: - There are broken links that `lychee` picks up on. These still need to be updated. - Slither returns errors, both here and in `optimistic-specs`. - `go-bip39` was updated to a newer version. The newer version broke a `bss-core` test, which had to be fixed. - Forge is not compatible with Lerna. As a result, the `contracts-bedrock` package had to be moved out of the `packages` hierarchy. - The devnet itests don't work because the Go modules aren't on the default branch. We need to decide if we merge to develop, or stay on a feature branch before fixing this.
|
Hey @mslipper! This PR has merge conflicts. Please fix them before continuing review. |
This PR changes implementation code, but doesn't include a changeset. Did you forget to add one? |
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.
Looks good, couldn't see anything obviously missing
This PR has been added to the merge queue, and will be merged soon. |
This PR is next in line to be merged, and will be merged as soon as checks pass. |
strat
tostrategy
rollup_getInfo
endpoint for ctc address & more #339)watcher
#416)