- 08 Dec, 2023 40 commits
-
-
Mark Tyneway authored
Makes the L1 starting blocknumber concrete. See commit message in https://github.com/ethereum-optimism/optimism/pull/8515 for an explanation. The value in the config comes from here: https://sepolia.etherscan.io/address/0x84457ca9D0163FbC4bbfe4Dfbb20ba46e48DF254#readProxyContract The contract address sourced from here: https://github.com/base-org/contract-deployments/blob/910151eb2eed3542efbb4ccf7e38d1ed3b79d8f5/sepolia/2023-09-26-deploy/deployed/addresses.json#L10C27-L10C69
-
Mark Tyneway authored
Updates the `l2OutputOracleStartingTimestamp` to a concrete value rather than using `-1` which symbolizes "grab the latest L1 timestamp". We often want to simplify the initial deployment but then do not want to overwrite the value in storage when generating an upgrade transaction. Right now `op-upgrade` uses the values in these config files. The code enforces that it is not -1 to ensure that we do not write over the value. The value really should be exactly the same. The state diff tooling will be able to make assertions on this in the `superchain-ops` post hook. This commit simply updates the starting timestamp to the exact value that was set on sepolia. The etherscan link can be found here: https://sepolia.etherscan.io/address/0x90E9c4f8a994a250F6aEfd61CAFb4F2e895D458F#readProxyContract
-
Mark Tyneway authored
-
Mark Tyneway authored
-
Mark Tyneway authored
-
Mark Tyneway authored
-
Mark Tyneway authored
The new storage setter contract with ability to set multiple slots in a single call is deployed at [0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC](https://etherscan.io/address/0xd81f43edbcacb4c29a9ba38a13ee5d79278270cc#code). It was deployed with create2 and should also be on goerli + sepolia and ay other chain that has a superchain deployed on it. Manual calls to `upgradeAndCall` are made. There isn't a great way to support multiple upgrades at a time within `op-upgrade` so adopting a "release" model where `op-upgrade` supports building a single version to another single version makes the most sense. It is too difficult given the current abstractions to build something that supports any upgrade to any upgrade arbitrarily. This sort of system is certainly possible to build but we would need to think more about the abstractions. One thing is this does not support a reverse upgrade aka downgrade. Each storage slot that was set as part of the upgrade to MCP is removed using the `StorageSetter` contract. A link to the storage layout file is included for each call to `setStorage`.
-
Mark Tyneway authored
-
Mark Tyneway authored
The call to `initialize` for building calldata isn't type safe. This is why we should move to solidity for building this stuff longer term. It is able to produce a valid bundle though ``` { "version": "", "chainId": null, "createdAt": 0, "meta": { "createdFromSafeAddress": "", "createdFromOwnerAddress": "", "name": "", "description": "" }, "transactions": [ { "to": "0x189aBAAaa82DfC015A588A7dbaD6F13b1D3485Bc", "value": "0", "data": "0x9623609d00000000000000000000000058cc85b8d04ea49cc6dbd3cbffd00b4b8d6cb3ef000000000000000000000000c3c7e6f4ad6a593a9731a39fa883ec1999d7d87300000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024c4d66de800000000000000000000000016fc5058f25648194471939df75cf27a2fdc48bc00000000000000000000000000000000000000000000000000000000", "contractMethod": { "inputs": [ { "internalType": "address", "name": "_proxy", "type": "address" }, { "internalType": "address", "name": "_implementation", "type": "address" }, { "internalType": "bytes", "name": "_data", "type": "bytes" } ], "name": "upgradeAndCall", "payable": false }, "contractInputsValues": { "_data": "0xc4d66de800000000000000000000000016fc5058f25648194471939df75cf27a2fdc48bc", "_implementation": "0xC3c7E6f4ad6a593a9731a39FA883eC1999d7D873", "_proxy": "0x58Cc85b8D04EA49cC6DBd3CbFFd00B4B8D6cb3ef" } }, { "to": "0x189aBAAaa82DfC015A588A7dbaD6F13b1D3485Bc", "value": "0", "data": "0x9623609d000000000000000000000000d83e03d576d23c9aeab8cc44fa98d058d2176d1f000000000000000000000000532cad52e1f812eeb9c9a9571e07fef55993fefa00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024c4d66de800000000000000000000000058cc85b8d04ea49cc6dbd3cbffd00b4b8d6cb3ef00000000000000000000000000000000000000000000000000000000", "contractMethod": { "inputs": [ { "internalType": "address", "name": "_proxy", "type": "address" }, { "internalType": "address", "name": "_implementation", "type": "address" }, { "internalType": "bytes", "name": "_data", "type": "bytes" } ], "name": "upgradeAndCall", "payable": false }, "contractInputsValues": { "_data": "0xc4d66de800000000000000000000000058cc85b8d04ea49cc6dbd3cbffd00b4b8d6cb3ef", "_implementation": "0x532Cad52e1f812EEB9c9A9571E07Fef55993FEfA", "_proxy": "0xd83e03D576d23C9AEab8cC44Fa98d058D2176D1f" } }, { "to": "0x189aBAAaa82DfC015A588A7dbaD6F13b1D3485Bc", "value": "0", "data": "0x9623609d000000000000000000000000fbb0621e0b23b5478b630bd55a5f21f67730b0f1000000000000000000000000e19c7a2c0bb32287731ea75da9b1c836815964f100000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024c4d66de800000000000000000000000058cc85b8d04ea49cc6dbd3cbffd00b4b8d6cb3ef00000000000000000000000000000000000000000000000000000000", "contractMethod": { "inputs": [ { "internalType": "address", "name": "_proxy", "type": "address" }, { "internalType": "address", "name": "_implementation", "type": "address" }, { "internalType": "bytes", "name": "_data", "type": "bytes" } ], "name": "upgradeAndCall", "payable": false }, "contractInputsValues": { "_data": "0xc4d66de800000000000000000000000058cc85b8d04ea49cc6dbd3cbffd00b4b8d6cb3ef", "_implementation": "0xE19C7a2C0Bb32287731Ea75dA9B1C836815964F1", "_proxy": "0xFBb0621E0B23b5478B630BD55a5f21f67730B0F1" } }, { "to": "0x189aBAAaa82DfC015A588A7dbaD6F13b1D3485Bc", "value": "0", "data": "0x9623609d00000000000000000000000016fc5058f25648194471939df75cf27a2fdc48bc000000000000000000000000592b7d3255a8037307d23c16cc8c13a9563c8ab100000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024c4d66de8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "contractMethod": { "inputs": [ { "internalType": "address", "name": "_proxy", "type": "address" }, { "internalType": "address", "name": "_implementation", "type": "address" }, { "internalType": "bytes", "name": "_data", "type": "bytes" } ], "name": "upgradeAndCall", "payable": false }, "contractInputsValues": { "_data": "0xc4d66de80000000000000000000000000000000000000000000000000000000000000000", "_implementation": "0x592B7D3255a8037307d23C16cC8c13a9563c8Ab1", "_proxy": "0x16Fc5058F25648194471939df75CF27A2fdC48BC" } }, { "to": "0x189aBAAaa82DfC015A588A7dbaD6F13b1D3485Bc", "value": "0", "data": "0x9623609d000000000000000000000000034edd2a225f7f429a63e0f1d2084b9e0a93b538000000000000000000000000ce77d580e0befbb1561376a722217017651b9dbf00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000184f975e925000000000000000000000000fd1d2e729ae8eee2e146c033bf4400fe7528430100000000000000000000000000000000000000000000000000000000000000bc00000000000000000000000000000000000000000000000000000000000a6fe00000000000000000000000008f23bb38f531600e5d8fddaaec41f13fab46e98c0000000000000000000000000000000000000000000000000000000001c9c38000000000000000000000000057cacbb0d30b01eb2462e5dc940c161aff3230d30000000000000000000000000000000000000000000000000000000001312d00000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000003b9aca0000000000000000000000000000000000000000000000000000000000000f424000000000000000000000000000000000ffffffffffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000", "contractMethod": { "inputs": [ { "internalType": "address", "name": "_proxy", "type": "address" }, { "internalType": "address", "name": "_implementation", "type": "address" }, { "internalType": "bytes", "name": "_data", "type": "bytes" } ], "name": "upgradeAndCall", "payable": false }, "contractInputsValues": { "_data": "0xf975e925000000000000000000000000fd1d2e729ae8eee2e146c033bf4400fe7528430100000000000000000000000000000000000000000000000000000000000000bc00000000000000000000000000000000000000000000000000000000000a6fe00000000000000000000000008f23bb38f531600e5d8fddaaec41f13fab46e98c0000000000000000000000000000000000000000000000000000000001c9c38000000000000000000000000057cacbb0d30b01eb2462e5dc940c161aff3230d30000000000000000000000000000000000000000000000000000000001312d00000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000003b9aca0000000000000000000000000000000000000000000000000000000000000f424000000000000000000000000000000000ffffffffffffffffffffffffffffffff", "_implementation": "0xce77d580E0bEFbb1561376A722217017651B9dbF", "_proxy": "0x034edD2A225f7f429A63E0f1D2084B9E0A93b538" } } ] } ```
-
Mark Tyneway authored
All of the contracts for the sepolia networks are deployed. Run the command using: ```bash go run op-chain-ops/cmd/op-upgrade-extended-pause/main.go --help ``` It needs a deploy config to know what values to pass to initialize. I do not believe we have deploy configs in contracts bedrock for each of the networks. The deploy process can be found in this notion link: https://www.notion.so/oplabs/Extended-Pause-Contract-Deployments-9a8c9547f1884c4e90e023c135288178?pvs=4 This also depends on https://github.com/ethereum-optimism/optimism/pull/8344 which zeros out values from the old upgrade to MCP. We need to update 8344 such that it zeros out all initialize storage slots
-
Mark Tyneway authored
Create a one off script that can be used to generate the upgrade JSON files. This still needs to have the addresses for each network added in the `addresses` mapping at the top of the script. It uses a subset of the `op-upgrade` code.
-
Mark Tyneway authored
chore: apply shellcheck auto fixes
-
Adrian Sutton authored
op-e2e: Adjust withdrawal_helper to reuse existing clients instead of dialling new ones
-
Joshua Gutow authored
Fix typos in README.md
-
Mark Tyneway authored
feat(ctb): specify pausability of L1 contracts
-
Mark Tyneway authored
Merge pull request #8507 from ethereum-optimism/dependabot/npm_and_yarn/vitest/coverage-istanbul-1.0.2 build(deps-dev): bump @vitest/coverage-istanbul from 1.0.1 to 1.0.2
-
refcell.eth authored
build(deps): bump @sentry/node from 7.85.0 to 7.86.0
-
Mark Tyneway authored
build(deps-dev): bump @types/node from 20.10.3 to 20.10.4
-
Mark Tyneway authored
contracts-bedrock: deploy OptimismMintableERC20Factory sepolia
-
refcell.eth authored
build(deps-dev): bump @wagmi/core from 1.4.8 to 1.4.10
-
Maurelian authored
contracts-bedrock: deploy OptimismPortal extended pause
-
Joshua Gutow authored
fix one typo
-
Joshua Gutow authored
Co-authored-by:
refcell.eth <abigger87@gmail.com>
-
Matthew Slipper authored
proxyd: Delete bad test
-
Adrian Sutton authored
The gethclient wrapper still needs to be created but it reuses the existing RPC client and doesn't have it's own Close function.
-
dependabot[bot] authored
Bumps [@wagmi/core](https://github.com/wagmi-dev/wagmi/tree/HEAD/packages/core) from 1.4.8 to 1.4.10. - [Release notes](https://github.com/wagmi-dev/wagmi/releases) - [Changelog](https://github.com/wevm/wagmi/blob/main/packages/core/CHANGELOG.md) - [Commits](https://github.com/wagmi-dev/wagmi/commits/@wagmi/core@1.4.10/packages/core) --- updated-dependencies: - dependency-name: "@wagmi/core" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by:
dependabot[bot] <support@github.com>
-
Maurelian authored
contracts-bedrock: add base sepolia deploy config
-
Maurelian authored
contracts-bedrock: fix pgn sepolia config
-
dependabot[bot] authored
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 20.10.3 to 20.10.4. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node) --- updated-dependencies: - dependency-name: "@types/node" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by:
dependabot[bot] <support@github.com>
-
dependabot[bot] authored
Bumps [@sentry/node](https://github.com/getsentry/sentry-javascript) from 7.85.0 to 7.86.0. - [Release notes](https://github.com/getsentry/sentry-javascript/releases) - [Changelog](https://github.com/getsentry/sentry-javascript/blob/develop/CHANGELOG.md) - [Commits](https://github.com/getsentry/sentry-javascript/compare/7.85.0...7.86.0) --- updated-dependencies: - dependency-name: "@sentry/node" dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by:
dependabot[bot] <support@github.com>
-
dependabot[bot] authored
Bumps [@vitest/coverage-istanbul](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-istanbul) from 1.0.1 to 1.0.2. - [Release notes](https://github.com/vitest-dev/vitest/releases) - [Commits](https://github.com/vitest-dev/vitest/commits/v1.0.2/packages/coverage-istanbul) --- updated-dependencies: - dependency-name: "@vitest/coverage-istanbul" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by:
dependabot[bot] <support@github.com>
-
Matthew Slipper authored
This test was originally checking for a panic in the websocket code. However, we have since re-architected this code and have coverage for this issue elsewhere. Therefore, this test is now superfluous and can be removed. It causes a lot of spam in the logs, and makes debugging other tests harder.
-
Maurelian authored
contracts-bedrock: zora-sepolia deploy config
-
Mark Tyneway authored
OP sepolia OptimismMintableERC20Factory deployment Using the following command: ``` export IMPL_SALT="op/acc" export ADDRESSES=/Users/tynes/Projects/github.com/ethereum-optimism/superchain-registry/superchain/extra/addresses/sepolia/op.json forge script scripts/Deploy.s.sol:Deploy \ --sig 'deployOptimismMintableERC20Factory()' --rpc-url $ETH_RPC_URL \ --private-key $PRIVATE_KEY \ --broadcast \ --verify ```
-
Maurelian authored
-
Mark Tyneway authored
contracts-bedrock: L2OutputOracle deployment
-
Mark Tyneway authored
Updates the deploy config for pgn sepolia to be conformant to the deploy config spec. Not sure why CI is passing as the go code is supposed to check for non compliant deploy config. It is likely because the solidity and the go got out of sync. We could use a rethinking of how we do deploy config. Ideally the entire thing can be simplified now that deploy config contains op stack chain specific config, superchain target specific config and also config values that go into L1 and also config values that go into L2. This change wouldn't be necessary if the lazy deploy config change https://github.com/ethereum-optimism/optimism/issues/7711 was implemented. It was attempted https://github.com/ethereum-optimism/optimism/pull/7776 but became stale and added a lot of overhead.
-
Mark Tyneway authored
-
Sukey authored
-
Matthew Slipper authored
fix(multisig-mon): add onepass cli to dockerfile
-