op-node: Use unmetered L1 Attributes Transaction#3157
Conversation
🦋 Changeset detectedLatest commit: 1a543cf The changes in this PR will be included in the next version bump. This PR includes changesets to release 9 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
|
This PR changes implementation code, but doesn't include a changeset. Did you forget to add one? |
007ab5f to
9b7aecb
Compare
This enables the IsSystemTransaction flag in the L1 Attributes deposit & updates to the latest version of geth.
9b7aecb to
ab50558
Compare
protolambda
left a comment
There was a problem hiding this comment.
Can you update the specs?
deposits doc needs the system tx format bool: https://github.com/ethereum-optimism/optimism/blob/develop/specs/deposits.md
and derivation doc needs to set it to true for block info, false for user deposits: https://github.com/ethereum-optimism/optimism/blob/develop/specs/derivation.md
protolambda
left a comment
There was a problem hiding this comment.
need to rerun CI, op-e2e seems to have failed to start / output anything.
mslipper
left a comment
There was a problem hiding this comment.
CI is flagging a real bug, so requesting change until we fix it.
|
Ah, I think this breaks the deposit hash calculation in TS (used in devnet test), because of the new deposit systemTx field. The op-e2e timing out happens sometimes in CI though, I think that's unrelated. |
|
The devnet |
|
Cancelled CI, |
|
Geth repo nows builds docker images for the new default |
|
We need to merge this because its breaking the devnet for other PRs |
|
I think either the CI is running an older docker image, or my JS change is not good, I'm seeing this in CI logs: Which I think is because of the depsit-tx hash computation not matching between Go and JS. cc @tynes |
This means the JS isn't computing the hash of the deposit tx correctly |
|
Just checked the CI logs. Pulled down the exact docker image that is being used, and grepped the symbols in the geth binary to make sure it includes the latest updates, and it does. So it's some code in our testing that can't find the deposit correctly. Likely JS/solidity updates I missed. |
|
Devnet stuck due to *remaining fixes, cancelled CI job because it didn't time out automatically (1h...) |
|
Fixed a bug in deposit tx decoding (it was still skipping an extra byte, from when deposits had a version byte) + fixed encoding/decoding of the new boolean. |
…and encoding to handle isSystemTransaction bool
unmetered fixes + more tests
contracts-bedrock: fix test
|
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. |
* op-node: Use unmetered L1 Attributes Transaction This enables the IsSystemTransaction flag in the L1 Attributes deposit & updates to the latest version of geth. * specs updates * Update specs/deposits.md * feat: bedrock deposit transaction type update * bedrock: update geth dependency * fix(core-utils): bedrock deposit tx encode/decode typescript fixes * feat(packages/contracts-bedrock): update UserDepositTransaction type and encoding to handle isSystemTransaction bool * contracts-bedrock: update differential deposit tx solidity <> js fuzzing * core-utils * contracts-bedrock * contracts-bedrock: fix test * contracts-bedrock: fix differential tests * contracts-bedrock: fix broken test * contracts-bedrock: gas snapshot Co-authored-by: protolambda <proto@protolambda.com> Co-authored-by: Mark Tyneway <mark.tyneway@gmail.com>
* op-node: Use unmetered L1 Attributes Transaction This enables the IsSystemTransaction flag in the L1 Attributes deposit & updates to the latest version of geth. * specs updates * Update specs/deposits.md * feat: bedrock deposit transaction type update * bedrock: update geth dependency * fix(core-utils): bedrock deposit tx encode/decode typescript fixes * feat(packages/contracts-bedrock): update UserDepositTransaction type and encoding to handle isSystemTransaction bool * contracts-bedrock: update differential deposit tx solidity <> js fuzzing * core-utils * contracts-bedrock * contracts-bedrock: fix test * contracts-bedrock: fix differential tests * contracts-bedrock: fix broken test * contracts-bedrock: gas snapshot Co-authored-by: protolambda <proto@protolambda.com> Co-authored-by: Mark Tyneway <mark.tyneway@gmail.com>
* op-node: Use unmetered L1 Attributes Transaction This enables the IsSystemTransaction flag in the L1 Attributes deposit & updates to the latest version of geth. * specs updates * Update specs/deposits.md * feat: bedrock deposit transaction type update * bedrock: update geth dependency * fix(core-utils): bedrock deposit tx encode/decode typescript fixes * feat(packages/contracts-bedrock): update UserDepositTransaction type and encoding to handle isSystemTransaction bool * contracts-bedrock: update differential deposit tx solidity <> js fuzzing * core-utils * contracts-bedrock * contracts-bedrock: fix test * contracts-bedrock: fix differential tests * contracts-bedrock: fix broken test * contracts-bedrock: gas snapshot Co-authored-by: protolambda <proto@protolambda.com> Co-authored-by: Mark Tyneway <mark.tyneway@gmail.com>
Description
This enables the IsSystemTransaction flag in the L1 Attributes
deposit & updates to the latest version of geth.