Skip to content

Conversation

@Wazabie
Copy link
Contributor

@Wazabie Wazabie commented Oct 26, 2025

Jovian U17 upgrade task for Base Sepolia

@Wazabie Wazabie requested review from a team as code owners October 26, 2025 14:26
Comment on lines 17 to 32
absolutePrestate = "0x038dca684026d946d1d0ddb05d50685d1a0dab350b89d10b6705e83c41ec8755" # prestates."1.7.0-rc.5" https://github.com/ethereum-optimism/devnets/issues/123#issuecomment-3444735369
expectedValidationErrors = "PDDG-VM-30,PLDG-VM-30"

# Soneium Testnet Minato (Permissioned)

[[opcmUpgrades]]
chainId = 1946
absolutePrestate = "0x038dca684026d946d1d0ddb05d50685d1a0dab350b89d10b6705e83c41ec8755" # prestates."1.7.0-rc.5" https://github.com/ethereum-optimism/devnets/issues/123#issuecomment-3444735369
expectedValidationErrors = "PDDG-VM-30,PDDG-130,PLDG-10"

# Ink Sepolia Testnet (Permissionless)

[[opcmUpgrades]]
chainId = 763373
absolutePrestate = "0x038dca684026d946d1d0ddb05d50685d1a0dab350b89d10b6705e83c41ec8755" # prestates."1.7.0-rc.5" https://github.com/ethereum-optimism/devnets/issues/123#issuecomment-3444735369
expectedValidationErrors = "PDDG-VM-30,PLDG-VM-30"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The identical absolutePrestate values across all three chains (OP Sepolia, Soneium Testnet Minato, and Ink Sepolia) present a potential safety risk. Each chain should have its own validated prestate hash specific to that network's state.

Issues identified:

  1. All chains use the same prestate hash: 0x038dca684026d946d1d0ddb05d50685d1a0dab350b89d10b6705e83c41ec8755
  2. The GitHub issue reference provides insufficient verification details
  3. No safeguards against copy-paste errors between chain configurations

Recommendations:

  1. Verify each chain has the correct individual prestate hash for its specific network state
  2. Add explicit validation steps in documentation to confirm prestate hashes match expected values per chain
  3. Implement checksums or additional verification mechanisms to prevent configuration errors between different chains

Spotted by Graphite Agent (based on custom rule: Superchain Ops task/template review)

Fix in Graphite


Is this helpful? React 👍 or 👎 to let us know.

In this section, through a sequence of commands, we will successfully sign this task’s upgrade transaction from the 'base-nested' (`0x646132A1667ca7aD00d36616AFBA1A28116C770A`) safe.

```bash
cd src/tasks/sep/029-U16a-opcm-upgrade-v410-base
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The command references an incorrect directory path 'src/tasks/sep/029-U16a-opcm-upgrade-v410-base' instead of the current task directory 'src/tasks/sep/042-U17-sep-base'. This makes the task less robust as users will encounter errors when following the instructions. To fix this, update all directory references throughout the README to point to the correct task directory.

Suggested change
cd src/tasks/sep/029-U16a-opcm-upgrade-v410-base
cd src/tasks/sep/042-U17-sep-base

Spotted by Graphite Agent (based on custom rule: Superchain Ops task/template review)

Fix in Graphite


Is this helpful? React 👍 or 👎 to let us know.


## Objective

Upgrade Base Sepolia to U16a. More context on U16a can be found in the Optimism docs [here](https://docs.optimism.io/notices/upgrade-16a).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The PR description states this is a U17 upgrade, but the README incorrectly refers to upgrading "Base Sepolia to U16a" in the Objective section. This should be updated to "Upgrade Base Sepolia to U17" to maintain consistency with the PR title and description. The linked documentation should also be updated to point to U17 documentation rather than U16a.

Suggested change
Upgrade Base Sepolia to U16a. More context on U16a can be found in the Optimism docs [here](https://docs.optimism.io/notices/upgrade-16a).
Upgrade Base Sepolia to U17. More context on U17 can be found in the Optimism docs [here](https://docs.optimism.io/notices/upgrade-17).

Spotted by Graphite Agent

Fix in Graphite


Is this helpful? React 👍 or 👎 to let us know.

@Wazabie Wazabie self-assigned this Oct 27, 2025

# Base Operations Safe
0x6AF0674791925f767060Dd52f7fB20984E8639d8 = [
{key = "0x0000000000000000000000000000000000000000000000000000000000000005", value = 10} # <--- THIS MUST BE CHANGED TO '11' FOR STEP 1A IN README.md FILE.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The hardcoded nonce value 10 creates a safety risk as operators must manually change it to 11 for Step 1a execution. This manual requirement increases the likelihood of execution errors or incorrect transaction ordering if the nonce update is forgotten. Consider either setting the correct nonce value directly in the configuration or implementing validation checks to verify the nonce has been properly updated before task execution.

Suggested change
{key = "0x0000000000000000000000000000000000000000000000000000000000000005", value = 10} # <--- THIS MUST BE CHANGED TO '11' FOR STEP 1A IN README.md FILE.
{key = "0x0000000000000000000000000000000000000000000000000000000000000005", value = 11}

Spotted by Graphite Agent (based on custom rule: Superchain Ops task/template review)

Fix in Graphite


Is this helpful? React 👍 or 👎 to let us know.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant