Copy disabled (too large)
Download .txt
Showing preview only (13,954K chars total). Download the full file to get everything.
Repository: base-org/contract-deployments
Branch: main
Commit: e76fde63ff26
Files: 1659
Total size: 12.9 MB
Directory structure:
gitextract_axrthmtg/
├── .codeflow.yml
├── .github/
│ └── workflows/
│ └── validate-templates.yml
├── .gitignore
├── LICENSE
├── Makefile
├── Multisig.mk
├── README.md
├── SECURITY.md
├── mainnet/
│ ├── 2023-06-14-deploy/
│ │ ├── Makefile
│ │ ├── deployed/
│ │ │ └── addresses.json
│ │ ├── execute/
│ │ │ └── RunDeployBedrock.s.sol
│ │ ├── foundry.toml
│ │ ├── inputs/
│ │ │ ├── construct-config.sh
│ │ │ ├── deploy-config.json
│ │ │ └── misc-config.json
│ │ └── remappings.txt
│ ├── 2023-06-14-deploy-deterministic-proxy/
│ │ ├── Makefile
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── DeterministicProxyDeploy.s.sol/
│ │ │ └── 84531/
│ │ │ └── run-1686756835.json
│ │ ├── remappings.txt
│ │ └── script/
│ │ └── DeterministicProxyDeploy.s.sol
│ ├── 2023-06-14-test-tx/
│ │ ├── Makefile
│ │ ├── foundry.toml
│ │ ├── remappings.txt
│ │ ├── script/
│ │ │ └── Test.s.sol
│ │ └── src/
│ │ └── Test.sol
│ ├── 2023-06-15-unpause-portal/
│ │ ├── Makefile
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── UnpausePortal.s.sol/
│ │ │ └── 1/
│ │ │ ├── run-1686800969.json
│ │ │ ├── run-1686801711.json
│ │ │ └── run-1686802144.json
│ │ ├── remappings.txt
│ │ └── script/
│ │ └── UnpausePortal.s.sol
│ ├── 2023-06-15-validate-deploy/
│ │ ├── Makefile
│ │ ├── foundry.toml
│ │ ├── remappings.txt
│ │ └── script/
│ │ └── ValidateDeploy.s.sol
│ ├── 2023-06-21-transfer-system-cfg-owner/
│ │ ├── Makefile
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── TransferOwner.s.sol/
│ │ │ └── 1/
│ │ │ └── run-1687552190.json
│ │ ├── remappings.txt
│ │ ├── script/
│ │ │ └── TransferOwner.s.sol
│ │ └── sign.sh
│ ├── 2023-07-11-test-l2-safe/
│ │ ├── Makefile
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ ├── DeployTestProxy.s.sol/
│ │ │ │ └── 8453/
│ │ │ │ └── run-1689807430.json
│ │ │ └── TestL2Safe.s.sol/
│ │ │ └── 8453/
│ │ │ └── run-1689855846.json
│ │ └── script/
│ │ ├── DeployTestProxy.s.sol
│ │ └── TestL2Safe.s.sol
│ ├── 2023-07-17-test-l1-nested-safe/
│ │ ├── Makefile
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ ├── DeployTestProxy.s.sol/
│ │ │ │ └── 1/
│ │ │ │ ├── run-1689870341.json
│ │ │ │ ├── run-1690069785.json
│ │ │ │ ├── run-1690244404.json
│ │ │ │ └── run-1690245053.json
│ │ │ └── TestL1NestedSafe.s.sol/
│ │ │ └── 1/
│ │ │ ├── approve-1691353255.json
│ │ │ ├── approve-1691353718.json
│ │ │ └── run-1691353817.json
│ │ └── script/
│ │ ├── DeployTestProxy.s.sol
│ │ └── TestL1NestedSafe.s.sol
│ ├── 2023-07-19-challenger-1-of-2/
│ │ ├── Makefile
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ ├── DeleteL2OutputsCB.s.sol/
│ │ │ │ └── 1/
│ │ │ │ └── run-1690499220.json
│ │ │ ├── DeleteL2OutputsOP.s.sol/
│ │ │ │ └── 1/
│ │ │ │ └── run-1691703002.json
│ │ │ ├── DeployChallenger.s.sol/
│ │ │ │ └── run-1689808110.json
│ │ │ └── UpgradeL2OO.s.sol/
│ │ │ └── 1/
│ │ │ └── run-1690314255.json
│ │ └── script/
│ │ ├── DeleteL2OutputsCB.s.sol
│ │ ├── DeleteL2OutputsOP.s.sol
│ │ ├── DeployChallenger.s.sol
│ │ └── UpgradeL2OO.s.sol
│ ├── 2023-07-19-test-l2-nested-safe/
│ │ ├── Makefile
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ ├── DeployTestProxy.s.sol/
│ │ │ │ └── 8453/
│ │ │ │ └── run-1689883950.json
│ │ │ └── TestNestedL2Safe.s.sol/
│ │ │ └── 8453/
│ │ │ ├── approve-1691008217.json
│ │ │ ├── approve-1691008879.json
│ │ │ └── run-1691009077.json
│ │ └── script/
│ │ ├── DeployTestProxy.s.sol
│ │ └── TestNestedL2Safe.s.sol
│ ├── 2023-07-26-transfer-owner-nested-safes/
│ │ ├── Makefile
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ ├── TransferOwnerL1.s.sol/
│ │ │ │ └── 1/
│ │ │ │ └── run-1691523415.json
│ │ │ └── TransferOwnerL2.s.sol/
│ │ │ └── 8453/
│ │ │ └── run-1691524273.json
│ │ └── script/
│ │ ├── TransferOwnerL1.s.sol
│ │ └── TransferOwnerL2.s.sol
│ ├── 2023-08-07-test-op-fee-nested-safe/
│ │ ├── Makefile
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── TestNestedL2Safe.s.sol/
│ │ │ └── 10/
│ │ │ ├── run-1692981334.json
│ │ │ ├── run-1692981492.json
│ │ │ └── run-1692981620.json
│ │ └── script/
│ │ └── TestNestedL2Safe.s.sol
│ ├── 2023-08-15-support-eas/
│ │ ├── Makefile
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── UpgradeToEAS.s.sol/
│ │ │ └── 8453/
│ │ │ ├── run-1694183897.json
│ │ │ ├── run-1694184082.json
│ │ │ └── run-1694184181.json
│ │ └── script/
│ │ └── UpgradeToEAS.s.sol
│ ├── 2023-08-22-fee-vault-fix/
│ │ ├── Makefile
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── FixFeeVaultsL2.s.sol/
│ │ │ └── 8453/
│ │ │ ├── run-1693342112.json
│ │ │ ├── run-1693585668.json
│ │ │ └── run-1693589726.json
│ │ └── script/
│ │ ├── DeployNewFeeVaultsL2.s.sol
│ │ └── FixFeeVaultsL2.s.sol
│ ├── 2023-08-28-deploy-revshare/
│ │ ├── Makefile
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── UpgradeToFeeDisburser.s.sol/
│ │ │ └── 8453/
│ │ │ └── run-1693609606.json
│ │ └── script/
│ │ ├── DeployBalanceTracker.s.sol
│ │ ├── DeployFeeDisburser.s.sol
│ │ ├── FeeDisburserOwnershipTransfer.s.sol
│ │ └── UpgradeToFeeDisburser.s.sol
│ ├── 2024-02-21-setup-smart-escrow/
│ │ ├── Makefile
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── DeploySmartEscrow.s.sol/
│ │ │ └── 10/
│ │ │ └── run-1709074703.json
│ │ └── script/
│ │ └── DeploySmartEscrow.s.sol
│ ├── 2024-02-23-transfer-op/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ └── script/
│ │ ├── TransferAndDelegateOPTokens.s.sol
│ │ └── TransferUpfrontOPTokens.s.sol
│ ├── 2024-03-05-pause-unpause-test/
│ │ ├── Makefile
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ ├── PausePortal.s.sol/
│ │ │ │ └── 1/
│ │ │ │ ├── run-1711563045.json
│ │ │ │ └── run-1711563069.json
│ │ │ └── UnpausePortal.s.sol/
│ │ │ └── 1/
│ │ │ ├── run-1711567810.json
│ │ │ └── run-1711567828.json
│ │ └── script/
│ │ ├── PausePortal.s.sol
│ │ └── UnpausePortal.s.sol
│ ├── 2024-03-07-ecotone-sysconfig-updates/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── UpdateGasConfig.sol/
│ │ │ └── 1/
│ │ │ └── run-1710375473.json
│ │ └── script/
│ │ ├── RollbackGasConfig.sol
│ │ └── UpdateGasConfig.sol
│ ├── 2024-03-26-increase-gas-limit/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── UpdateGasLimit.sol/
│ │ │ └── 1/
│ │ │ ├── run-1711570739.json
│ │ │ └── run-1711570882.json
│ │ └── script/
│ │ ├── RollbackGasLimit.sol
│ │ └── UpdateGasLimit.sol
│ ├── 2024-04-01-increase-gas-limit/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── UpdateGasLimit.sol/
│ │ │ └── 1/
│ │ │ └── run-1712005481.json
│ │ └── script/
│ │ ├── RollbackGasLimit.sol
│ │ └── UpdateGasLimit.sol
│ ├── 2024-04-12-deployERC20Factory/
│ │ ├── Makefile
│ │ ├── deployed/
│ │ │ └── addresses.json
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── RunERC20FactoryDeploy.s.sol/
│ │ │ └── 8453/
│ │ │ └── run-1713280196.json
│ │ └── script/
│ │ └── RunERC20FactoryDeploy.s.sol
│ ├── 2024-04-15-redeploy-smart-escrow/
│ │ ├── Makefile
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── DeploySmartEscrow.s.sol/
│ │ │ └── 10/
│ │ │ └── run-1713902413.json
│ │ └── script/
│ │ └── DeploySmartEscrow.s.sol
│ ├── 2024-04-17-upgrade-erc20-factory/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── UpgradeOptimismMintableERC20Factory.s.sol/
│ │ │ └── 8453/
│ │ │ ├── approve-latest.json
│ │ │ ├── run-1716225695.json
│ │ │ ├── run-1716225767.json
│ │ │ └── run-1716225813.json
│ │ └── script/
│ │ └── UpgradeOptimismMintableERC20Factory.s.sol
│ ├── 2024-04-30-deployTempERC20Factory/
│ │ ├── Makefile
│ │ ├── deployed/
│ │ │ └── addresses.json
│ │ ├── foundry.toml
│ │ ├── inputs/
│ │ │ ├── construct-config.sh
│ │ │ ├── deploy-config.json
│ │ │ └── misc-config.json
│ │ ├── records/
│ │ │ └── RunDeployERC20Factory.sol/
│ │ │ └── 8453/
│ │ │ └── run-1714483769.json
│ │ ├── script/
│ │ │ └── RunDeployERC20Factory.sol
│ │ └── src/
│ │ └── ERC20Factory.sol
│ ├── 2024-05-28-increase-gas-limit/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── UpdateGasLimit.sol/
│ │ │ └── 1/
│ │ │ └── run-1716922926.json
│ │ └── script/
│ │ ├── RollbackGasLimit.sol
│ │ └── UpdateGasLimit.sol
│ ├── 2024-05-30-increase-gas-limit/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ └── script/
│ │ ├── RollbackGasLimit.sol
│ │ └── UpdateGasLimit.sol
│ ├── 2024-06-05-reredeploy-smart-escrow/
│ │ ├── Makefile
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── DeploySmartEscrow.s.sol/
│ │ │ └── 10/
│ │ │ ├── run-1719275042.json
│ │ │ ├── run-1719275101.json
│ │ │ └── run-1722111961.json
│ │ └── script/
│ │ └── DeploySmartEscrow.s.sol
│ ├── 2024-06-17-increase-gas-limit/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ └── script/
│ │ ├── RollbackGasLimit.sol
│ │ └── UpdateGasLimit.sol
│ ├── 2024-06-25-update-gas-config/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ └── script/
│ │ ├── RollbackGasConfig.sol
│ │ └── UpdateGasConfig.sol
│ ├── 2024-06-28-update-gas-config/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ └── script/
│ │ ├── RollbackGasConfig.sol
│ │ └── UpdateGasConfig.sol
│ ├── 2024-07-10-update-gas-config/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ └── script/
│ │ ├── RollbackGasConfig.sol
│ │ └── UpdateGasConfig.sol
│ ├── 2024-07-16-increase-gas-limit/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ └── script/
│ │ ├── RollbackGasLimit.sol
│ │ └── UpdateGasLimit.sol
│ ├── 2024-07-23-set-l1-resolver/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ └── script/
│ │ └── SetL1Resolver.sol
│ ├── 2024-07-23-transfer-owner-balance-tracker/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── BalanceTrackerOwnershipTransfer.sol/
│ │ │ └── 1/
│ │ │ └── run-1721845061.json
│ │ └── script/
│ │ └── BalanceTrackerOwnershipTransfer.sol
│ ├── 2024-07-24-increase-gas-limit/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ └── script/
│ │ ├── RollbackGasLimit.sol
│ │ └── UpdateGasLimit.sol
│ ├── 2024-07-24-reduce-batcher-proposer-balance-targets/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── DeployBalanceTracker.s.sol/
│ │ │ └── 1/
│ │ │ └── run-1721866466.json
│ │ └── script/
│ │ ├── DeployBalanceTracker.s.sol
│ │ └── UpgradeBalanceTracker.s.sol
│ ├── 2024-07-30-set-new-l1-resolver/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── SetL1Resolver.sol/
│ │ │ └── 1/
│ │ │ └── run-1722367323.json
│ │ └── script/
│ │ └── SetL1Resolver.sol
│ ├── 2024-07-30-transfer-op/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── TransferOPTokens.s.sol/
│ │ │ └── 10/
│ │ │ ├── run-1723148142.json
│ │ │ ├── run-1723148655.json
│ │ │ └── run-1723148770.json
│ │ └── script/
│ │ └── TransferOPTokens.s.sol
│ ├── 2024-07-31-increase-gas-limit/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ └── script/
│ │ ├── RollbackGasLimit.sol
│ │ └── UpdateGasLimit.sol
│ ├── 2024-08-27-disburse-basenames/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── disbursement.json
│ │ ├── disbursement1.csv
│ │ ├── disbursement10.csv
│ │ ├── disbursement11.csv
│ │ ├── disbursement12.csv
│ │ ├── disbursement13.csv
│ │ ├── disbursement14.csv
│ │ ├── disbursement15.csv
│ │ ├── disbursement2.csv
│ │ ├── disbursement3.csv
│ │ ├── disbursement4.csv
│ │ ├── disbursement5.csv
│ │ ├── disbursement6.csv
│ │ ├── disbursement7.csv
│ │ ├── disbursement8.csv
│ │ ├── disbursement9.csv
│ │ ├── foundry.toml
│ │ ├── parser.sh
│ │ ├── records/
│ │ │ └── DisburseBasenames.sol/
│ │ │ └── 8453/
│ │ │ ├── executeWithNonce-latest.json
│ │ │ ├── run-1724878834.json
│ │ │ ├── run-1724878939.json
│ │ │ ├── run-1725393994.json
│ │ │ ├── run-1725654743.json
│ │ │ ├── run-1745611292.json
│ │ │ ├── run-1749233082.json
│ │ │ └── run-1757534662694.json
│ │ └── script/
│ │ └── DisburseBasenames.sol
│ ├── 2024-09-23-increase-gas-limit/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ └── records/
│ │ └── UpgradeGasLimit.sol/
│ │ └── 1/
│ │ └── run-1727285381.json
│ ├── 2024-10-01-increase-gas-limit/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ └── records/
│ │ └── UpgradeGasLimit.sol/
│ │ └── 1/
│ │ └── run-1727888979.json
│ ├── 2024-10-08-increase-gas-limit/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ └── records/
│ │ └── UpgradeGasLimit.sol/
│ │ └── 1/
│ │ └── run-1728494142.json
│ ├── 2024-10-15-increase-gas-limit/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ └── records/
│ │ └── UpgradeGasLimit.sol/
│ │ └── 1/
│ │ └── run-1729105634.json
│ ├── 2024-10-22-increase-gas-limit/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ └── records/
│ │ └── UpgradeGasLimit.sol/
│ │ └── 1/
│ │ └── run-1729703140.json
│ ├── 2024-11-18-increase-max-gas-limit/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ ├── output
│ │ ├── patch/
│ │ │ └── max-gas-limit.patch
│ │ ├── records/
│ │ │ ├── DeploySystemConfig.s.sol/
│ │ │ │ └── 1/
│ │ │ │ └── run-1733860170.json
│ │ │ └── UpgradeSystemConfig.s.sol/
│ │ │ └── 1/
│ │ │ ├── run-1733947633.json
│ │ │ ├── run-1733957906.json
│ │ │ └── run-1733958067.json
│ │ └── script/
│ │ ├── DeploySystemConfig.s.sol
│ │ └── UpgradeSystemConfig.s.sol
│ ├── 2024-12-04-increase-gas-limit/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ └── records/
│ │ └── UpgradeGasLimit.sol/
│ │ └── 1/
│ │ └── run-1733328181.json
│ ├── 2024-12-11-increase-gas-limit/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ └── records/
│ │ └── UpgradeGasLimit.sol/
│ │ └── 1/
│ │ └── run-1733962358.json
│ ├── 2024-12-18-holocene-deployments/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── deployed/
│ │ │ └── addresses.json
│ │ ├── foundry.toml
│ │ ├── inputs/
│ │ │ ├── construct-config.sh
│ │ │ ├── deploy-config.json
│ │ │ └── misc-config.json
│ │ ├── records/
│ │ │ └── DeployHoloceneContracts.s.sol/
│ │ │ └── 1/
│ │ │ └── run-1734652451.json
│ │ └── script/
│ │ └── DeployHoloceneContracts.s.sol
│ ├── 2024-12-18-increase-gas-limit/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ └── records/
│ │ └── UpgradeGasLimit.sol/
│ │ └── 1/
│ │ └── run-1734551212.json
│ ├── 2025-01-08-transfer-proxyadmin-owner-L1alias/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── VALIDATION.MD
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── TransferOwner.s.sol/
│ │ │ └── 8453/
│ │ │ ├── run-1738699790.json
│ │ │ ├── run-1738702467.json
│ │ │ └── run-1738702575.json
│ │ └── script/
│ │ └── TransferOwner.s.sol
│ ├── 2025-01-15-increase-gas-limit/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ └── records/
│ │ └── UpgradeGasLimit.sol/
│ │ └── 1/
│ │ └── run-1736968347.json
│ ├── 2025-01-15-nested-ownership-transfer/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── VALIDATION.md
│ │ ├── addresses.json
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ ├── DeploySafes.s.sol/
│ │ │ │ └── 1/
│ │ │ │ └── run-1745514205.json
│ │ │ └── UpdateSigners.s.sol/
│ │ │ └── 1/
│ │ │ └── run-1745938970.json
│ │ ├── script/
│ │ │ ├── DeploySafes.s.sol
│ │ │ └── UpdateSigners.s.sol
│ │ └── signers.json
│ ├── 2025-01-22-increase-gas-limit/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ └── records/
│ │ └── UpgradeGasLimit.sol/
│ │ └── 1/
│ │ └── run-1737568790.json
│ ├── 2025-01-29-increase-gas-limit/
│ │ ├── Makefile
│ │ ├── README.md
│ │ └── foundry.toml
│ ├── 2025-02-12-increase-gas-limit/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ └── records/
│ │ └── SetGasLimit.sol/
│ │ └── 1/
│ │ └── run-1739387882.json
│ ├── 2025-02-19-increase-gas-limit/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ └── records/
│ │ └── SetGasLimit.sol/
│ │ └── 1/
│ │ └── run-1739987678.json
│ ├── 2025-02-25-increase-gas-limit/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ └── records/
│ │ └── SetGasLimit.sol/
│ │ └── 1/
│ │ └── run-1740593054.json
│ ├── 2025-03-05-increase-gas-limit/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ └── records/
│ │ └── SetGasLimit.sol/
│ │ └── 1/
│ │ └── run-1741194410.json
│ ├── 2025-03-05-upgrade-fault-proofs/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── VALIDATION.md
│ │ ├── addresses.json
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── DeployDisputeGames.s.sol/
│ │ │ └── 1/
│ │ │ └── run-1742911814.json
│ │ └── script/
│ │ ├── DeployDisputeGames.s.sol
│ │ └── UpgradeDGF.s.sol
│ ├── 2025-03-19-increase-gas-limit/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ └── records/
│ │ └── SetGasLimit.sol/
│ │ └── 1/
│ │ └── run-1742400711.json
│ ├── 2025-03-26-increase-gas-limit/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ └── records/
│ │ └── SetGasLimit.sol/
│ │ └── 1/
│ │ └── run-1743002773.json
│ ├── 2025-04-07-init-smart-escrow-ownership-transfer/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── VALIDATION.md
│ │ ├── foundry.toml
│ │ └── script/
│ │ └── InitOwnershipTransfer.s.sol
│ ├── 2025-04-07-update-fee-disperser-ownership/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── VALIDATION.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── OwnershipTransfer.s.sol/
│ │ │ └── 8453/
│ │ │ └── run-1749317765.json
│ │ └── script/
│ │ └── OwnershipTransfer.s.sol
│ ├── 2025-04-23-upgrade-fault-proofs/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── addresses.json
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ ├── DeployDisputeGames.s.sol/
│ │ │ │ └── 1/
│ │ │ │ └── run-1745860191.json
│ │ │ └── UpgradeDGF.s.sol/
│ │ │ └── 1/
│ │ │ ├── approve-latest.json
│ │ │ ├── run-1746550202.json
│ │ │ ├── run-1746550275.json
│ │ │ ├── run-1746553742.json
│ │ │ └── run-1746643611.json
│ │ ├── script/
│ │ │ ├── DeployDisputeGames.s.sol
│ │ │ └── UpgradeDGF.s.sol
│ │ └── validations/
│ │ ├── CB.md
│ │ ├── OP.md
│ │ └── SC.md
│ ├── 2025-04-29-increase-gas-limit/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ └── records/
│ │ └── SetGasLimit.sol/
│ │ └── 1/
│ │ └── run-1746038678.json
│ ├── 2025-05-06-fund-ledgers/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── VALIDATION.md
│ │ ├── foundry.toml
│ │ ├── funding.json
│ │ ├── records/
│ │ │ └── Fund.s.sol/
│ │ │ └── 1/
│ │ │ └── run-1747176781.json
│ │ └── script/
│ │ └── Fund.s.sol
│ ├── 2025-05-07-increase-gas-limit/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ └── records/
│ │ └── SetGasLimit.sol/
│ │ └── 1/
│ │ └── run-1746637693.json
│ ├── 2025-05-13-incident-multisig-signers/
│ │ ├── Makefile
│ │ ├── OwnerDiff.json
│ │ ├── README.md
│ │ ├── VALIDATION.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── UpdateSigners.s.sol/
│ │ │ └── 1/
│ │ │ └── run-1749035499.json
│ │ └── script/
│ │ └── UpdateSigners.s.sol
│ ├── 2025-05-15-eip1559-denominator-reduction/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── VALIDATION.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── ReduceEip1559Denominator.s.sol/
│ │ │ └── 1/
│ │ │ └── run-1748379182.json
│ │ └── script/
│ │ └── ReduceEip1559Denominator.s.sol
│ ├── 2025-06-04-upgrade-system-config/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── addresses.json
│ │ ├── foundry.toml
│ │ ├── patch/
│ │ │ └── max-gas-limit.patch
│ │ ├── records/
│ │ │ ├── DeploySystemConfig.s.sol/
│ │ │ │ └── 1/
│ │ │ │ └── run-1749474907.json
│ │ │ └── UpgradeSystemConfig.s.sol/
│ │ │ └── 1/
│ │ │ ├── approve-latest.json
│ │ │ ├── run-1750783683.json
│ │ │ ├── run-1750783800.json
│ │ │ ├── run-1750783885.json
│ │ │ ├── run-1750783934.json
│ │ │ └── run-1750797290.json
│ │ ├── script/
│ │ │ ├── DeploySystemConfig.s.sol
│ │ │ └── UpgradeSystemConfig.s.sol
│ │ └── validations/
│ │ ├── BASE_NESTED_VALIDATION.md
│ │ ├── BASE_SC_VALIDATION.md
│ │ └── OP_VALIDATION.md
│ ├── 2025-06-18-eip1559-elasticity-increase/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── VALIDATION.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── IncreaseEip1559ElasticityAndIncreaseGasLimit.s.sol/
│ │ │ └── 1/
│ │ │ └── run-1750283342.json
│ │ └── script/
│ │ └── IncreaseEip1559ElasticityAndIncreaseGasLimit.s.sol
│ ├── 2025-06-25-safe-swap-owner/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── SwapOwner.s.sol/
│ │ │ └── 1/
│ │ │ └── run-1752508958.json
│ │ ├── script/
│ │ │ └── SwapOwner.s.sol
│ │ └── validations/
│ │ └── VALIDATION.md
│ ├── 2025-07-24-eth-recovery/
│ │ ├── ARBITRUM_VALIDATION.md
│ │ ├── BASE_VALIDATION.md
│ │ ├── Makefile
│ │ ├── OPTIMISM_VALIDATION.md
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ ├── output/
│ │ │ ├── arbitrum/
│ │ │ │ └── recovery_addresses.json
│ │ │ ├── base/
│ │ │ │ └── recovery_addresses.json
│ │ │ └── optimism/
│ │ │ └── recovery_addresses.json
│ │ ├── records/
│ │ │ ├── ArbitrumExecuteRecovery.s.sol/
│ │ │ │ └── 1/
│ │ │ │ ├── run-1754080993.json
│ │ │ │ ├── run-1754082985.json
│ │ │ │ ├── run-1754083142.json
│ │ │ │ ├── run-1754083249.json
│ │ │ │ ├── run-1754083348.json
│ │ │ │ └── run-1754083422.json
│ │ │ ├── DeployRecoveryImplementation.s.sol/
│ │ │ │ ├── 10/
│ │ │ │ │ └── run-1753908210.json
│ │ │ │ ├── 42161/
│ │ │ │ │ └── run-1753908149.json
│ │ │ │ └── 8453/
│ │ │ │ └── run-1753908081.json
│ │ │ └── OPStackExecuteRecovery.s.sol/
│ │ │ └── 1/
│ │ │ ├── run-1754081221.json
│ │ │ ├── run-1754081917.json
│ │ │ ├── run-1754082409.json
│ │ │ ├── run-1754082458.json
│ │ │ ├── run-1754082505.json
│ │ │ ├── run-1754084018.json
│ │ │ ├── run-1754084077.json
│ │ │ ├── run-1754084126.json
│ │ │ ├── run-1754084197.json
│ │ │ ├── run-1754084245.json
│ │ │ ├── run-1754084306.json
│ │ │ ├── run-1754084378.json
│ │ │ ├── run-1754084425.json
│ │ │ ├── run-1754084474.json
│ │ │ ├── run-1754084558.json
│ │ │ ├── run-1754084607.json
│ │ │ ├── run-1754084632.json
│ │ │ ├── run-1754084678.json
│ │ │ └── run-1754084725.json
│ │ └── script/
│ │ ├── ArbitrumExecuteRecovery.s.sol
│ │ ├── DeployRecoveryImplementation.s.sol
│ │ ├── DeployRecoveryProxies.s.sol
│ │ └── OPStackExecuteRecovery.s.sol
│ ├── 2025-08-13-safe-swap-owner/
│ │ ├── Makefile
│ │ ├── OwnerDiff.json
│ │ ├── README.md
│ │ ├── VALIDATION.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── SwapOwner.s.sol/
│ │ │ └── 8453/
│ │ │ ├── run-1757436536544.json
│ │ │ └── run-1757436608629.json
│ │ └── script/
│ │ └── SwapOwner.s.sol
│ ├── 2025-10-06-funding/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── VALIDATION.md
│ │ ├── foundry.toml
│ │ ├── funding.json
│ │ └── script/
│ │ └── Fund.s.sol
│ ├── 2025-10-07-upgrade-to-U16a/
│ │ ├── README.md
│ │ └── records/
│ │ └── OPCMUpgradeV410.sol/
│ │ └── 1/
│ │ ├── run-1759861934.json
│ │ ├── run-1759862413.json
│ │ ├── run-1759862485.json
│ │ └── run-1759862580.json
│ ├── 2025-10-20-incident-multisig-signers/
│ │ ├── FACILITATORS.md
│ │ ├── Makefile
│ │ ├── OwnerDiff.json
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── UpdateSigners.s.sol/
│ │ │ └── 1/
│ │ │ └── run-1761579001803.json
│ │ ├── script/
│ │ │ └── UpdateSigners.s.sol
│ │ └── validations/
│ │ └── base-signer.json
│ ├── 2025-10-28-increase-gas-and-elasticity-limit/
│ │ ├── FACILITATOR.md
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── IncreaseEip1559ElasticityAndIncreaseGasLimit.s.sol/
│ │ │ └── 1/
│ │ │ └── run-1761755774673.json
│ │ ├── script/
│ │ │ └── IncreaseEip1559ElasticityAndIncreaseGasLimit.s.sol
│ │ └── validations/
│ │ └── base-signer.json
│ ├── 2025-11-05-increase-gas-limit/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ └── validations/
│ │ └── base-signer.json
│ ├── 2025-11-10-increase-gas-and-elasticity-limit/
│ │ ├── FACILITATOR.md
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── UpdateGasParams.s.sol/
│ │ │ └── 1/
│ │ │ └── run-1762965805898.json
│ │ ├── script/
│ │ │ └── UpdateGasParams.s.sol
│ │ └── validations/
│ │ ├── base-signer-rollback.json
│ │ └── base-signer.json
│ ├── 2025-11-15-deploy-cb-multicall/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── addresses.json
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── DeployCBMulticall.s.sol/
│ │ │ └── 8453/
│ │ │ └── run-1763160551942.json
│ │ └── script/
│ │ └── DeployCBMulticall.s.sol
│ ├── 2025-11-20-deploy-cb-multicall/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── addresses.json
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── DeployCBMulticall.s.sol/
│ │ │ ├── 1/
│ │ │ │ └── run-1763649491942.json
│ │ │ └── 8453/
│ │ │ └── run-1763649543610.json
│ │ └── script/
│ │ └── DeployCBMulticall.s.sol
│ ├── 2025-11-21-u17-jovian-upgrade/
│ │ ├── FACILITATORS.md
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── UpgradeWithOpSmartContractManager.sol/
│ │ │ └── 1/
│ │ │ ├── approve-latest.json
│ │ │ ├── run-1764604369938.json
│ │ │ ├── run-1764604491152.json
│ │ │ ├── run-1764604526281.json
│ │ │ └── run-1764604704970.json
│ │ ├── script/
│ │ │ ├── MultisigScript.sol
│ │ │ └── UpgradeWithOpSmartContractManager.sol
│ │ └── validations/
│ │ ├── base-security-council-signer.json
│ │ ├── coinbase-signer.json
│ │ └── optimism-signer.json
│ ├── 2025-11-25-base-bridge-deployment/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── addresses.json
│ │ ├── config.json
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── DeployBridge.s.sol/
│ │ │ └── 8453/
│ │ │ └── run-1764164771386.json
│ │ └── script/
│ │ └── DeployBridge.s.sol
│ ├── 2025-12-01-pause-bridge-base/
│ │ ├── FACILITATORS.md
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── PauseBridge.s.sol/
│ │ │ └── 1/
│ │ │ ├── run-1764695666667.json
│ │ │ └── run-1764696374577.json
│ │ ├── script/
│ │ │ └── PauseBridge.s.sol
│ │ └── validations/
│ │ └── base-signer.json
│ ├── 2025-12-04-set-jovian-parameters/
│ │ ├── FACILITATORS.md
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── SetJovianParameters.s.sol/
│ │ │ └── 1/
│ │ │ └── run-1764871622342.json
│ │ ├── script/
│ │ │ └── SetJovianParameters.s.sol
│ │ └── validations/
│ │ └── base-signer.json
│ ├── 2025-12-08-increase-gas-and-elasticity-limit/
│ │ ├── FACILITATOR.md
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── IncreaseEip1559ElasticityAndIncreaseGasLimit.s.sol/
│ │ │ └── 1/
│ │ │ └── run-1766084929.json
│ │ ├── script/
│ │ │ └── IncreaseEip1559ElasticityAndIncreaseGasLimit.s.sol
│ │ └── validations/
│ │ ├── base-signer-rollback.json
│ │ └── base-signer.json
│ ├── 2025-12-15-increase-min-base-fee/
│ │ ├── FACILITATOR.md
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── IncreaseMinBaseFee.s.sol/
│ │ │ └── 1/
│ │ │ └── run-1766085218628.json
│ │ ├── script/
│ │ │ └── IncreaseMinBaseFee.s.sol
│ │ └── validations/
│ │ └── base-signer.json
│ ├── 2026-01-09-op-stack-upgrade-18/
│ │ ├── FACILITATORS.md
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── ExecuteOPCM.s.sol/
│ │ │ └── 1/
│ │ │ ├── run-1770741422696.json
│ │ │ ├── run-1770741733158.json
│ │ │ ├── run-1770742081453.json
│ │ │ └── run-1770742201070.json
│ │ ├── script/
│ │ │ └── ExecuteOPCM.s.sol
│ │ └── validations/
│ │ ├── coinbase-signer.json
│ │ ├── optimism-signer.json
│ │ └── security-council-signer.json
│ ├── 2026-01-20-update-basefee-da-footprint/
│ │ ├── FACILITATOR.md
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── SetMinBaseFeeAndDAFootprint.s.sol/
│ │ │ └── 1/
│ │ │ └── run-1769112998506.json
│ │ ├── script/
│ │ │ └── SetMinBaseFeeAndDAFootprint.s.sol
│ │ └── validations/
│ │ ├── base-signer-rollback.json
│ │ └── base-signer.json
│ ├── 2026-01-28-update-min-base-fee/
│ │ ├── FACILITATOR.md
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── SetMinBaseFee.s.sol/
│ │ │ └── 1/
│ │ │ └── run-1770084530335.json
│ │ ├── script/
│ │ │ └── SetMinBaseFee.s.sol
│ │ └── validations/
│ │ ├── base-signer-rollback.json
│ │ └── base-signer.json
│ ├── 2026-02-03-eip1559-denominator-increase/
│ │ ├── FACILITATORS.md
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── IncreaseEip1559Denominator.s.sol/
│ │ │ └── 1/
│ │ │ └── run-1770211645877.json
│ │ ├── script/
│ │ │ └── IncreaseEip1559Denominator.s.sol
│ │ └── validations/
│ │ ├── base-signer-rollback.json
│ │ └── base-signer.json
│ ├── 2026-02-17-update-min-base-fee/
│ │ ├── FACILITATOR.md
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── SetMinBaseFee.s.sol/
│ │ │ └── 1/
│ │ │ └── run-1771531755195.json
│ │ ├── script/
│ │ │ └── SetMinBaseFee.s.sol
│ │ └── validations/
│ │ ├── base-signer-rollback.json
│ │ └── base-signer.json
│ ├── 2026-02-19-superchain-separation/
│ │ ├── FACILITATORS.md
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ ├── AddSecurityCouncilSigner.s.sol/
│ │ │ │ └── 1/
│ │ │ │ └── run-1772559435293.json
│ │ │ ├── DeployFeeDisburser.s.sol/
│ │ │ │ └── 8453/
│ │ │ │ └── run-1771962505194.json
│ │ │ ├── DeploySuperchainConfigAndSystemConfig.s.sol/
│ │ │ │ └── 1/
│ │ │ │ └── run-1771973281770.json
│ │ │ ├── TerminateSmartEscrow.s.sol/
│ │ │ │ └── 10/
│ │ │ │ └── run-1772559267231.json
│ │ │ ├── UpdateCBSafeSigners.s.sol/
│ │ │ │ └── 1/
│ │ │ │ ├── approve-latest.json
│ │ │ │ ├── run-1772558762154.json
│ │ │ │ ├── run-1772558857931.json
│ │ │ │ └── run-1772558895941.json
│ │ │ ├── UpdateProxyAdminOwnerSigners.s.sol/
│ │ │ │ └── 1/
│ │ │ │ ├── approve-latest.json
│ │ │ │ ├── run-1772558365917.json
│ │ │ │ ├── run-1772558522364.json
│ │ │ │ ├── run-1772558558823.json
│ │ │ │ ├── run-1772558642511.json
│ │ │ │ └── run-1772558678595.json
│ │ │ ├── UpgradeFeeDisburser.s.sol/
│ │ │ │ └── 1/
│ │ │ │ └── run-1772559195571.json
│ │ │ ├── UpgradeSystemConfig.s.sol/
│ │ │ │ └── 1/
│ │ │ │ ├── approve-latest.json
│ │ │ │ ├── run-1772558954723.json
│ │ │ │ ├── run-1772559037725.json
│ │ │ │ └── run-1772559062275.json
│ │ │ └── WithdrawSmartEscrow.s.sol/
│ │ │ └── 10/
│ │ │ ├── approve-latest.json
│ │ │ ├── run-1772559325436.json
│ │ │ └── run-1773681700867.json
│ │ ├── script/
│ │ │ ├── AddSecurityCouncilSigner.s.sol
│ │ │ ├── DeployFeeDisburser.s.sol
│ │ │ ├── DeploySuperchainConfigAndSystemConfig.s.sol
│ │ │ ├── TerminateSmartEscrow.s.sol
│ │ │ ├── UpdateCBSafeSigners.s.sol
│ │ │ ├── UpdateProxyAdminOwnerSigners.s.sol
│ │ │ ├── UpgradeFeeDisburser.s.sol
│ │ │ ├── UpgradeSystemConfig.s.sol
│ │ │ └── WithdrawSmartEscrow.s.sol
│ │ └── validations/
│ │ ├── coinbase-signer-part-1.json
│ │ ├── coinbase-signer-part-2.json
│ │ ├── coinbase-signer-part-3.json
│ │ ├── coinbase-signer-part-4.json
│ │ ├── coinbase-signer-part-5.json
│ │ ├── coinbase-signer-part-6.json
│ │ ├── optimism-op-mainnet-signer.json
│ │ ├── optimism-signer.json
│ │ ├── security-council-signer-part-1.json
│ │ ├── security-council-signer-part-2.json
│ │ ├── security-council-signer-part-3.json
│ │ └── security-council-signer-part-4.json
│ ├── 2026-02-27-pause-superchain-config/
│ │ ├── FACILITATOR.md
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ └── script/
│ │ └── PauseSuperchainConfig.s.sol
│ ├── 2026-03-11-patch-fee-disburser/
│ │ ├── FACILITATOR.md
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ ├── patch/
│ │ │ ├── fee-disburser-semver.patch
│ │ │ └── ifee-vault-withdraw.patch
│ │ ├── records/
│ │ │ ├── DeployFeeDisburser.s.sol/
│ │ │ │ └── 8453/
│ │ │ │ └── run-1773254584772.json
│ │ │ └── UpgradeFeeDisburser.s.sol/
│ │ │ └── 1/
│ │ │ └── run-1773435817460.json
│ │ ├── script/
│ │ │ ├── DeployFeeDisburser.s.sol
│ │ │ └── UpgradeFeeDisburser.s.sol
│ │ └── validations/
│ │ └── base-signer.json
│ ├── 2026-03-25-increase-gas-and-elasticity-limit/
│ │ ├── FACILITATOR.md
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── IncreaseEip1559ElasticityAndIncreaseGasLimit.s.sol/
│ │ │ └── 1/
│ │ │ └── run-1774471597995.json
│ │ ├── script/
│ │ │ └── IncreaseEip1559ElasticityAndIncreaseGasLimit.s.sol
│ │ └── validations/
│ │ ├── base-signer-rollback.json
│ │ └── base-signer.json
│ └── addresses.json
├── sepolia/
│ ├── 2023-09-26-deploy/
│ │ ├── Makefile
│ │ ├── deploy-config/
│ │ │ └── deploy-config.json
│ │ ├── deployed/
│ │ │ └── addresses.json
│ │ └── foundry.toml
│ ├── 2023-10-07-upgrade-l1-standard-bridge/
│ │ ├── .gitignore
│ │ ├── Makefile
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ ├── DeployL1StandardBridge.s.sol/
│ │ │ │ └── 11155111/
│ │ │ │ └── run-1696724294.json
│ │ │ └── UpgradeL1StandardBridge.s.sol/
│ │ │ └── 11155111/
│ │ │ └── run-1696724395.json
│ │ └── script/
│ │ ├── DeployL1StandardBridge.s.sol
│ │ └── UpgradeL1StandardBridge.s.sol
│ ├── 2024-01-22-deploy-revshare/
│ │ ├── Makefile
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ ├── DeployBalanceTracker.s.sol/
│ │ │ │ └── 11155111/
│ │ │ │ └── run-1706212422.json
│ │ │ ├── DeployFeeDisburser.s.sol/
│ │ │ │ └── 84532/
│ │ │ │ └── run-1706221009.json
│ │ │ ├── DeployNewFeeVaults.s.sol/
│ │ │ │ └── 84532/
│ │ │ │ ├── run-1706826531.json
│ │ │ │ └── run-1706826537.json
│ │ │ ├── UpdateFeeVaultRecipient.s.sol/
│ │ │ │ └── 84532/
│ │ │ │ └── run-1706556198.json
│ │ │ └── UpgradeFeeVaultProxy.s.sol/
│ │ │ └── 84532/
│ │ │ └── run-1706827667.json
│ │ └── script/
│ │ ├── DeployBalanceTracker.s.sol
│ │ ├── DeployFeeDisburser.s.sol
│ │ ├── DeployNewFeeVaults.s.sol
│ │ └── UpgradeFeeVaultProxy.s.sol
│ ├── 2024-02-28-pause-unpause-portal/
│ │ ├── Makefile
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ ├── PausePortal.s.sol/
│ │ │ │ └── 11155111/
│ │ │ │ └── run-1709751738.json
│ │ │ └── UnpausePortal.s.sol/
│ │ │ └── 11155111/
│ │ │ └── run-1709755240.json
│ │ └── script/
│ │ ├── PausePortal.s.sol
│ │ └── UnpausePortal.s.sol
│ ├── 2024-03-07-ecotone-sysconfig-updates/
│ │ ├── Makefile
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── UpdateGasConfig.sol/
│ │ │ └── 11155111/
│ │ │ └── run-1709934684.json
│ │ └── script/
│ │ └── UpdateGasConfig.sol
│ ├── 2024-03-26-increase-gas-limit/
│ │ ├── Makefile
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── UpdateGasLimit.sol/
│ │ │ └── 11155111/
│ │ │ └── run-1711511753.json
│ │ └── script/
│ │ └── UpdateGasLimit.sol
│ ├── 2024-04-10-deploy-ERC20Factory/
│ │ ├── Makefile
│ │ ├── deployed/
│ │ │ └── addresses.json
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── RunERC20FactoryDeploy.s.sol/
│ │ │ └── 84532/
│ │ │ ├── run-1712769228.json
│ │ │ ├── run-1712947267.json
│ │ │ └── run-1713280540.json
│ │ └── script/
│ │ └── RunERC20FactoryDeploy.s.sol
│ ├── 2024-04-30-deployTempERC20Factory/
│ │ ├── Makefile
│ │ ├── deployed/
│ │ │ └── addresses.json
│ │ ├── foundry.toml
│ │ ├── inputs/
│ │ │ ├── construct-config.sh
│ │ │ ├── deploy-config.json
│ │ │ └── misc-config.json
│ │ ├── records/
│ │ │ └── RunDeployERC20Factory.sol/
│ │ │ └── 84532/
│ │ │ └── run-1714484076.json
│ │ ├── script/
│ │ │ └── RunDeployERC20Factory.sol
│ │ └── src/
│ │ └── ERC20Factory.sol
│ ├── 2024-05-30-transfer-proxyadmin-owners/
│ │ ├── Makefile
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ ├── TransferL1ProxyAdminOwner.s.sol/
│ │ │ │ └── 11155111/
│ │ │ │ └── run-1717448862.json
│ │ │ ├── TransferL2ProxyAdminOwner.s.sol/
│ │ │ │ └── 84532/
│ │ │ │ └── run-1717448942.json
│ │ │ └── TransferSystemConfigProxyOwner.s.sol/
│ │ │ └── 11155111/
│ │ │ └── run-1717449020.json
│ │ └── script/
│ │ ├── TransferL1ProxyAdminOwner.s.sol
│ │ ├── TransferL2ProxyAdminOwner.s.sol
│ │ └── TransferSystemConfigProxyOwner.s.sol
│ ├── 2024-08-26-update-batcher-hash/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── UpdateBatcherHash.s.sol/
│ │ │ └── 11155111/
│ │ │ └── run-1724971345.json
│ │ └── script/
│ │ ├── RollbackBatcherHash.s.sol
│ │ └── UpdateBatcherHash.s.sol
│ ├── 2024-09-11-deploy-new-PDG/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── DeployNewPDG.s.sol/
│ │ │ └── 11155111/
│ │ │ └── run-1726092565.json
│ │ └── script/
│ │ └── DeployNewPDG.s.sol
│ ├── 2024-09-11-update-proposer/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── UpdateProposer.s.sol/
│ │ │ └── 11155111/
│ │ │ └── run-1726095157.json
│ │ └── script/
│ │ ├── RollbackProposer.s.sol
│ │ └── UpdateProposer.s.sol
│ ├── 2024-10-09-increase-gas-limit/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ └── records/
│ │ └── UpgradeGasLimit.sol/
│ │ └── 11155111/
│ │ └── run-1728578106.json
│ ├── 2024-12-06-increase-max-gas-limit/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ ├── patch/
│ │ │ └── max-gas-limit.patch
│ │ ├── records/
│ │ │ └── UpgradeSystemConfig.s.sol/
│ │ │ └── 11155111/
│ │ │ └── run-1733527237.json
│ │ └── script/
│ │ ├── DeploySystemConfig.s.sol
│ │ └── UpgradeSystemConfig.s.sol
│ ├── 2025-01-23-upgrade-balance-tracker/
│ │ ├── Makefile
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── UpgradeBalanceTracker.s.sol/
│ │ │ └── 11155111/
│ │ │ └── run-1738252251.json
│ │ └── script/
│ │ └── UpgradeBalanceTracker.s.sol
│ ├── 2025-02-14-upgrade-fault-proofs/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── VALIDATION.md
│ │ ├── addresses.json
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ ├── DeployDisputeGames.s.sol/
│ │ │ │ └── 11155111/
│ │ │ │ └── run-1740598045.json
│ │ │ └── UpgradeDGF.s.sol/
│ │ │ └── 11155111/
│ │ │ └── run-1740768733.json
│ │ └── script/
│ │ ├── DeployDisputeGames.s.sol
│ │ └── UpgradeDGF.s.sol
│ ├── 2025-03-12-upgrade-fault-proofs/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── VALIDATION.md
│ │ ├── addresses.json
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ ├── DeployDisputeGames.s.sol/
│ │ │ │ └── 11155111/
│ │ │ │ ├── run-1741808714.json
│ │ │ │ └── run-1743014041.json
│ │ │ └── UpgradeDGF.s.sol/
│ │ │ └── 11155111/
│ │ │ ├── approve-latest.json
│ │ │ ├── run-1741902924.json
│ │ │ ├── run-1743022548.json
│ │ │ ├── run-1743022789.json
│ │ │ └── run-1743022908.json
│ │ └── script/
│ │ ├── DeployDisputeGames.s.sol
│ │ └── UpgradeDGF.s.sol
│ ├── 2025-03-14-mirror-mainnet-hierarchy/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── Validation.md
│ │ ├── addresses.json
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ ├── DeploySafes.s.sol/
│ │ │ │ └── 11155111/
│ │ │ │ ├── run-1742037481.json
│ │ │ │ └── run-1742418121.json
│ │ │ └── UpdateSigners.s.sol/
│ │ │ └── 11155111/
│ │ │ └── run-1742902176.json
│ │ └── script/
│ │ ├── DeploySafes.s.sol
│ │ └── UpdateSigners.s.sol
│ ├── 2025-04-01-nested-ownership-transfer/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── VALIDATION.md
│ │ ├── addresses.json
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ ├── DeploySafes.s.sol/
│ │ │ │ └── 11155111/
│ │ │ │ └── run-1744716601.json
│ │ │ └── UpdateSigners.s.sol/
│ │ │ └── 11155111/
│ │ │ └── run-1744741044.json
│ │ └── script/
│ │ ├── DeploySafes.s.sol
│ │ └── UpdateSigners.s.sol
│ ├── 2025-04-09-testnet-multisig-signers/
│ │ ├── Makefile
│ │ ├── OwnerDiff.json
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── UpdateSigners.s.sol/
│ │ │ └── 11155111/
│ │ │ ├── run-1744919029.json
│ │ │ └── run-1744919545.json
│ │ ├── script/
│ │ │ └── UpdateSigners.s.sol
│ │ └── validations/
│ │ ├── SafeA.md
│ │ └── SafeB.md
│ ├── 2025-04-14-upgrade-fault-proofs/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── addresses.json
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ ├── DeployDisputeGames.s.sol/
│ │ │ │ └── 11155111/
│ │ │ │ └── run-1744743721.json
│ │ │ └── UpgradeDGF.s.sol/
│ │ │ └── 11155111/
│ │ │ ├── approve-latest.json
│ │ │ ├── approveOnBehalfOfIntermediateSafe-latest.json
│ │ │ ├── approveOnBehalfOfSignerSafe-latest.json
│ │ │ ├── run-1744822945.json
│ │ │ ├── run-1744823305.json
│ │ │ ├── run-1744823401.json
│ │ │ ├── run-1744823689.json
│ │ │ └── run-1744823785.json
│ │ ├── script/
│ │ │ ├── DeployDisputeGames.s.sol
│ │ │ └── UpgradeDGF.s.sol
│ │ └── validations/
│ │ ├── NestedSafeB.md
│ │ ├── SafeA.md
│ │ └── SafeB.md
│ ├── 2025-05-08-update-fee-disperser-ownership/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── VALIDATION.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── OwnershipTransfer.s.sol/
│ │ │ └── 84532/
│ │ │ └── run-1748360700.json
│ │ └── script/
│ │ └── OwnershipTransfer.s.sol
│ ├── 2025-05-15-eip1559-denominator-reduction/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── ReduceEip1559Denominator.s.sol/
│ │ │ └── 11155111/
│ │ │ ├── approve-latest.json
│ │ │ ├── run-1748365405.json
│ │ │ ├── run-1748365537.json
│ │ │ ├── run-1748366042.json
│ │ │ ├── run-1748366112.json
│ │ │ └── run-1748366149.json
│ │ ├── script/
│ │ │ └── ReduceEip1559Denominator.s.sol
│ │ └── validations/
│ │ ├── CB_NESTED_COORDINATOR.md
│ │ ├── MOCK_OP_NESTED.md
│ │ └── MOCK_OP_NESTED_COORDINATOR.md
│ ├── 2025-06-04-upgrade-system-config/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── addresses.json
│ │ ├── foundry.toml
│ │ ├── patch/
│ │ │ └── max-gas-limit.patch
│ │ ├── records/
│ │ │ └── UpgradeSystemConfig.s.sol/
│ │ │ └── 11155111/
│ │ │ ├── approve-latest.json
│ │ │ ├── run-1749236088.json
│ │ │ ├── run-1749236197.json
│ │ │ ├── run-1749236268.json
│ │ │ ├── run-1749236318.json
│ │ │ └── run-1749236365.json
│ │ ├── script/
│ │ │ ├── DeploySystemConfig.s.sol
│ │ │ └── UpgradeSystemConfig.s.sol
│ │ └── validations/
│ │ ├── BASE_NESTED_VALIDATION.md
│ │ ├── BASE_SC_VALIDATION.md
│ │ └── OP_VALIDATION.md
│ ├── 2025-09-22-upgrade-to-U16a/
│ │ ├── README.md
│ │ ├── records/
│ │ │ └── OPCMUpgradeV410.sol/
│ │ │ └── 11155111/
│ │ │ ├── approve-latest.json
│ │ │ └── execute-latest.json
│ │ └── validation.yml
│ ├── 2025-10-09-fusaka-defense/
│ │ ├── FACILITATOR.md
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── addresses.json
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ ├── DeployDisputeGames.s.sol/
│ │ │ │ └── 11155111/
│ │ │ │ └── run-1760020249278.json
│ │ │ └── UpgradeDGF.s.sol/
│ │ │ └── 11155111/
│ │ │ ├── approve-latest.json
│ │ │ ├── run-1760121901524.json
│ │ │ ├── run-1760122214430.json
│ │ │ ├── run-1760122500830.json
│ │ │ ├── run-1760122572937.json
│ │ │ └── run-1760122597545.json
│ │ ├── script/
│ │ │ ├── DeployDisputeGames.s.sol
│ │ │ └── UpgradeDGF.s.sol
│ │ └── validations/
│ │ ├── BASE_NESTED_VALIDATION.json
│ │ ├── BASE_SC_VALIDATION.json
│ │ └── OP_VALIDATION.json
│ ├── 2025-10-17-base-bridge-alpha-deployment/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── addresses.json
│ │ ├── config.json
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── DeployBridge.s.sol/
│ │ │ └── 84532/
│ │ │ └── run-1761064051180.json
│ │ └── script/
│ │ └── DeployBridge.s.sol
│ ├── 2025-10-17-base-bridge-deployment/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── addresses.json
│ │ ├── config.json
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── DeployBridge.s.sol/
│ │ │ └── 84532/
│ │ │ └── run-1761256132305.json
│ │ └── script/
│ │ └── DeployBridge.s.sol
│ ├── 2025-10-23-pause-bridge-base/
│ │ ├── FACILITATOR.md
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── PauseBridge.s.sol/
│ │ │ └── 11155111/
│ │ │ ├── run-1761250009978.json
│ │ │ └── run-1761251184644.json
│ │ ├── script/
│ │ │ └── PauseBridge.s.sol
│ │ └── validations/
│ │ └── base-signer.json
│ ├── 2025-10-24-pause-bridge-base/
│ │ ├── FACILITATOR.md
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── PauseBridge.s.sol/
│ │ │ └── 11155111/
│ │ │ ├── run-1761340416907.json
│ │ │ └── run-1761340908642.json
│ │ └── script/
│ │ └── PauseBridge.s.sol
│ ├── 2025-11-03-incident-multisig-signers/
│ │ ├── Makefile
│ │ ├── OwnerDiff.json
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── UpdateSigners.s.sol/
│ │ │ └── 11155111/
│ │ │ ├── run-1763579592746.json
│ │ │ └── run-1763579822181.json
│ │ ├── script/
│ │ │ └── UpdateSigners.s.sol
│ │ └── validations/
│ │ ├── base-signer-safe-b.json
│ │ └── base-signer.json
│ ├── 2025-11-07-deploy-cb-multicall/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── addresses.json
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── DeployCBMulticall.s.sol/
│ │ │ └── 84532/
│ │ │ └── run-1763158491374.json
│ │ └── script/
│ │ └── DeployCBMulticall.s.sol
│ ├── 2025-11-07-upgrade-fault-proofs/
│ │ ├── FACILITATORS.md
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── UpgradeWithOpSmartContractManager.sol/
│ │ │ └── 11155111/
│ │ │ ├── approve-latest.json
│ │ │ ├── run-1763474377488.json
│ │ │ ├── run-1763474533668.json
│ │ │ ├── run-1763474617427.json
│ │ │ ├── run-1763475097893.json
│ │ │ └── run-1763475193401.json
│ │ ├── script/
│ │ │ └── UpgradeWithOpSmartContractManager.sol
│ │ └── validations/
│ │ ├── cb-sc-signer.json
│ │ ├── cb-signer.json
│ │ └── op-signer.json
│ ├── 2025-11-13-update-bridge-alpha-config/
│ │ ├── FACILITATOR.md
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── addresses.json
│ │ ├── config.json
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ ├── DeployBridgeUpdates.s.sol/
│ │ │ │ └── 84532/
│ │ │ │ └── run-1763085530401.json
│ │ │ ├── DeployRelayerOrchestrator.s.sol/
│ │ │ │ └── 84532/
│ │ │ │ └── run-1763155993182.json
│ │ │ └── UpdateConfig.s.sol/
│ │ │ └── 11155111/
│ │ │ └── run-1763153760858.json
│ │ ├── script/
│ │ │ ├── DeployBridgeUpdates.s.sol
│ │ │ ├── DeployRelayerOrchestrator.s.sol
│ │ │ └── UpdateConfig.s.sol
│ │ └── validations/
│ │ └── base-signer.json
│ ├── 2025-11-17-deploy-cb-multicall/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── addresses.json
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── DeployCBMulticall.s.sol/
│ │ │ ├── 11155111/
│ │ │ │ └── run-1763419468025.json
│ │ │ └── 84532/
│ │ │ └── run-1763646033790.json
│ │ └── script/
│ │ └── DeployCBMulticall.s.sol
│ ├── 2025-11-18-set-jovian-parameters/
│ │ ├── FACILITATORS.md
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── SetJovianParameters.s.sol/
│ │ │ └── 11155111/
│ │ │ ├── approve-latest.json
│ │ │ ├── run-1763670505775.json
│ │ │ ├── run-1763670600765.json
│ │ │ ├── run-1763670925854.json
│ │ │ ├── run-1763671068364.json
│ │ │ └── run-1763671153225.json
│ │ ├── script/
│ │ │ └── SetJovianParameters.s.sol
│ │ └── validations/
│ │ ├── cb-sc-signer.json
│ │ ├── cb-signer.json
│ │ └── op-signer.json
│ ├── 2025-11-30-systemconfig-ownership-transfer/
│ │ ├── FACILITATORS.md
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── TransferSystemConfigOwnership.s.sol/
│ │ │ └── 11155111/
│ │ │ ├── run-1765915333831.json
│ │ │ ├── run-1765915416897.json
│ │ │ ├── run-1765915501219.json
│ │ │ ├── run-1765921561047.json
│ │ │ └── run-1765921633335.json
│ │ ├── script/
│ │ │ └── TransferSystemConfigOwnership.s.sol
│ │ └── validations/
│ │ ├── base-security-council-signer.json
│ │ ├── coinbase-signer.json
│ │ └── optimism-signer.json
│ ├── 2025-12-22-update-bridge-alpha-config/
│ │ ├── FACILITATOR.md
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── addresses.json
│ │ ├── config.json
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ ├── DeployBridgeUpdates.s.sol/
│ │ │ │ └── 84532/
│ │ │ │ └── run-1766435915533.json
│ │ │ └── UpdateConfig.s.sol/
│ │ │ └── 11155111/
│ │ │ └── run-1768497928010.json
│ │ ├── script/
│ │ │ ├── DeployBridgeUpdates.s.sol
│ │ │ └── UpdateConfig.s.sol
│ │ └── validations/
│ │ └── base-signer.json
│ ├── 2026-01-08-op-stack-upgrade-18/
│ │ ├── FACILITATORS.md
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── ExecuteOPCM.s.sol/
│ │ │ └── 11155111/
│ │ │ ├── approve-latest.json
│ │ │ ├── run-1769124709630.json
│ │ │ ├── run-1769124924971.json
│ │ │ ├── run-1769124949237.json
│ │ │ ├── run-1769125249283.json
│ │ │ └── run-1769125284359.json
│ │ ├── script/
│ │ │ └── ExecuteOPCM.s.sol
│ │ └── validations/
│ │ ├── coinbase-signer.json
│ │ ├── optimism-signer.json
│ │ └── security-council-signer.json
│ ├── 2026-02-10-update-system-config-params/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── UpdateSystemConfigParams.s.sol/
│ │ │ └── 11155111/
│ │ │ └── run-1770758365511.json
│ │ ├── script/
│ │ │ └── UpdateSystemConfigParams.s.sol
│ │ └── validations/
│ │ └── base-signer.json
│ ├── 2026-02-17-update-min-base-fee/
│ │ ├── FACILITATOR.md
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── SetMinBaseFee.s.sol/
│ │ │ └── 11155111/
│ │ │ └── run-1771531286745.json
│ │ ├── script/
│ │ │ └── SetMinBaseFee.s.sol
│ │ └── validations/
│ │ ├── base-signer-rollback.json
│ │ └── base-signer.json
│ ├── 2026-02-19-superchain-separation/
│ │ ├── FACILITATORS.md
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ ├── DeployFeeDisburser.s.sol/
│ │ │ │ └── 84532/
│ │ │ │ └── run-1771950276941.json
│ │ │ ├── DeploySuperchainConfigAndSystemConfig.s.sol/
│ │ │ │ └── 11155111/
│ │ │ │ └── run-1771980781445.json
│ │ │ ├── UpdateCBSafeSigners.s.sol/
│ │ │ │ └── 11155111/
│ │ │ │ ├── approve-latest.json
│ │ │ │ ├── run-1772144713483.json
│ │ │ │ ├── run-1772144796912.json
│ │ │ │ └── run-1772144844778.json
│ │ │ ├── UpgradeFeeDisburser.s.sol/
│ │ │ │ └── 11155111/
│ │ │ │ └── run-1772145098001.json
│ │ │ └── UpgradeSystemConfig.s.sol/
│ │ │ └── 11155111/
│ │ │ ├── approve-latest.json
│ │ │ ├── run-1772144904683.json
│ │ │ ├── run-1772144942393.json
│ │ │ └── run-1772144989624.json
│ │ ├── script/
│ │ │ ├── DeployFeeDisburser.s.sol
│ │ │ ├── DeploySuperchainConfigAndSystemConfig.s.sol
│ │ │ ├── UpdateCBSafeSigners.s.sol
│ │ │ ├── UpgradeFeeDisburser.s.sol
│ │ │ └── UpgradeSystemConfig.s.sol
│ │ └── validations/
│ │ ├── base-signer-part-1.json
│ │ ├── base-signer-part-2.json
│ │ ├── base-signer-part-3.json
│ │ ├── security-council-signer-part-1.json
│ │ └── security-council-signer-part-2.json
│ ├── 2026-02-27-pause-superchain-config/
│ │ ├── FACILITATOR.md
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ └── script/
│ │ └── PauseSuperchainConfig.s.sol
│ ├── 2026-03-06-transfer-system-config-ownership/
│ │ ├── FACILITATOR.md
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── TransferSystemConfigOwnership.s.sol/
│ │ │ └── 11155111/
│ │ │ └── run-1773937909385.json
│ │ ├── script/
│ │ │ └── TransferSystemConfigOwnership.s.sol
│ │ └── validations/
│ │ └── coinbase-signer.json
│ ├── 2026-03-11-patch-fee-disburser/
│ │ ├── FACILITATOR.md
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ ├── patch/
│ │ │ ├── fee-disburser-semver.patch
│ │ │ └── ifee-vault-withdraw.patch
│ │ ├── records/
│ │ │ ├── DeployFeeDisburser.s.sol/
│ │ │ │ └── 84532/
│ │ │ │ └── run-1773252087364.json
│ │ │ └── UpgradeFeeDisburser.s.sol/
│ │ │ └── 11155111/
│ │ │ └── run-1773335017410.json
│ │ ├── script/
│ │ │ ├── DeployFeeDisburser.s.sol
│ │ │ └── UpgradeFeeDisburser.s.sol
│ │ └── validations/
│ │ └── base-signer.json
│ ├── 2026-03-25-increase-gas-and-elasticity-limit/
│ │ ├── FACILITATOR.md
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── IncreaseEip1559ElasticityAndIncreaseGasLimit.s.sol/
│ │ │ └── 11155111/
│ │ │ └── run-1774464540781.json
│ │ ├── script/
│ │ │ └── IncreaseEip1559ElasticityAndIncreaseGasLimit.s.sol
│ │ └── validations/
│ │ ├── base-signer-rollback.json
│ │ └── base-signer.json
│ ├── 2026-04-20-activate-multiproof/
│ │ ├── FACILITATOR.md
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── addresses.json
│ │ ├── foundry.toml
│ │ ├── patch/
│ │ │ └── asr-reset-anchor-game.patch
│ │ ├── records/
│ │ │ ├── ActivateMultiproofStack.s.sol/
│ │ │ │ └── 11155111/
│ │ │ │ ├── approve-latest.json
│ │ │ │ ├── run-1776392629127.json
│ │ │ │ ├── run-1776392724858.json
│ │ │ │ └── run-1776392808986.json
│ │ │ ├── DeployMultiproofStack.s.sol/
│ │ │ │ └── 11155111/
│ │ │ │ ├── run-1776362103158.json
│ │ │ │ └── run-1776380209255.json
│ │ │ ├── DeployNitroVerifier.s.sol/
│ │ │ │ └── 11155111/
│ │ │ │ ├── run-1776361698333.json
│ │ │ │ └── run-1776379902060.json
│ │ │ └── SetupNitroEnclaveVerifier.s.sol/
│ │ │ └── 11155111/
│ │ │ ├── run-1776362557749.json
│ │ │ └── run-1776380244914.json
│ │ ├── script/
│ │ │ ├── ActivateMultiproofStack.s.sol
│ │ │ ├── DeployMultiproofStack.s.sol
│ │ │ ├── DeployNitroVerifier.s.sol
│ │ │ └── SetupNitroEnclaveVerifier.s.sol
│ │ └── validations/
│ │ ├── multiproof-cb-signer.json
│ │ └── multiproof-sc-signer.json
│ ├── 2026-04-23-update-zk-config/
│ │ ├── FACILITATOR.md
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── addresses.json
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ ├── DeployAggregateVerifier.s.sol/
│ │ │ │ └── 11155111/
│ │ │ │ └── run-1777030531899.json
│ │ │ ├── DeployZkVerifier.s.sol/
│ │ │ │ └── 11155111/
│ │ │ │ └── run-1777030330468.json
│ │ │ └── UpdateZkConfig.s.sol/
│ │ │ └── 11155111/
│ │ │ ├── approve-latest.json
│ │ │ ├── run-1777051057133.json
│ │ │ ├── run-1777051117884.json
│ │ │ └── run-1777051382241.json
│ │ ├── script/
│ │ │ ├── DeployAggregateVerifier.s.sol
│ │ │ ├── DeployZkVerifier.s.sol
│ │ │ └── UpdateZkConfig.s.sol
│ │ └── validations/
│ │ ├── update-zk-config-cb-signer.json
│ │ └── update-zk-config-sc-signer.json
│ └── signatures/
│ ├── 2026-02-19-superchain-separation/
│ │ ├── base-facilitator-signature.json
│ │ ├── base-sc-facilitator-signature.json
│ │ └── creator-signature.json
│ ├── 2026-03-06-transfer-system-config-ownership/
│ │ ├── base-facilitator-signature.json
│ │ ├── base-sc-facilitator-signature.json
│ │ └── creator-signature.json
│ ├── 2026-03-11-patch-fee-disburser/
│ │ ├── base-facilitator-signature.json
│ │ ├── base-sc-facilitator-signature.json
│ │ └── creator-signature.json
│ └── 2026-03-25-increase-gas-and-elasticity-limit/
│ ├── base-facilitator-signature.json
│ ├── base-sc-facilitator-signature.json
│ └── creator-signature.json
├── sepolia-alpha/
│ ├── 2023-09-20-deploy/
│ │ ├── Makefile
│ │ ├── deploy-config/
│ │ │ └── deploy-config.json
│ │ ├── deployed/
│ │ │ └── addresses.json
│ │ └── foundry.toml
│ ├── 2023-10-06-upgrade-l1-standard-bridge/
│ │ ├── .gitignore
│ │ ├── Makefile
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ ├── DeployL1StandardBridge.s.sol/
│ │ │ │ └── 11155111/
│ │ │ │ └── run-1696723112.json
│ │ │ └── UpgradeL1StandardBridge.s.sol/
│ │ │ └── 11155111/
│ │ │ └── run-1696723324.json
│ │ └── script/
│ │ ├── DeployL1StandardBridge.s.sol
│ │ └── UpgradeL1StandardBridge.s.sol
│ ├── 2024-05-15-update-scalars/
│ │ ├── Makefile
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── UpdateGasConfig.s.sol/
│ │ │ └── 11155111/
│ │ │ └── run-1715900079.json
│ │ └── script/
│ │ └── UpdateGasConfig.s.sol
│ ├── 2024-08-21-update-batcher-proposer/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── UpdateProposer.s.sol/
│ │ │ └── 11155111/
│ │ │ └── run-1724856389.json
│ │ └── script/
│ │ ├── RollbackBatcherHash.s.sol
│ │ ├── RollbackProposer.s.sol
│ │ ├── UpdateBatcherHash.s.sol
│ │ └── UpdateProposer.s.sol
│ ├── 2024-11-19-holocene-contracts/
│ │ ├── .gitignore
│ │ ├── Makefile
│ │ ├── foundry.toml
│ │ └── script/
│ │ ├── DeploySystemConfig.s.sol
│ │ ├── SetEIP1559Params.s.sol
│ │ └── UpgradeSystemConfig.s.sol
│ ├── 2025-04-08-transfer-proxy-admin-ownership-to-safe/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── VALIDATION.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── TransferOwnership.s.sol/
│ │ │ └── 11155111/
│ │ │ ├── run-1744830889.json
│ │ │ └── run-1744830912.json
│ │ └── script/
│ │ └── TransferOwnership.s.sol
│ ├── 2025-11-03-transfer-systemconfig-ownership-to-safe/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── VALIDATION.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── TransferSystemConfigOwnership.s.sol/
│ │ │ └── 11155111/
│ │ │ └── run-1764627721931.json
│ │ └── script/
│ │ └── TransferSystemConfigOwnership.s.sol
│ └── 2026-02-23-update-system-config-params/
│ ├── Makefile
│ ├── README.md
│ ├── foundry.toml
│ ├── records/
│ │ └── UpdateSystemConfigParams.s.sol/
│ │ └── 11155111/
│ │ ├── approve-latest.json
│ │ ├── run-1771883161260.json
│ │ ├── run-1771883761465.json
│ │ ├── run-1771883845778.json
│ │ ├── run-1771884061108.json
│ │ └── run-1771884193061.json
│ ├── script/
│ │ └── UpdateSystemConfigParams.s.sol
│ └── validations/
│ ├── base-signer.json
│ ├── optimism-signer.json
│ └── security-council-signer.json
├── setup-templates/
│ ├── template-funding/
│ │ ├── FACILITATOR.md
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ ├── funding.json
│ │ └── script/
│ │ └── Fund.s.sol
│ ├── template-gas-and-elasticity-increase/
│ │ ├── FACILITATOR.md
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ └── script/
│ │ └── IncreaseEip1559ElasticityAndIncreaseGasLimit.s.sol
│ ├── template-gas-increase/
│ │ ├── FACILITATOR.md
│ │ ├── Makefile
│ │ ├── README.md
│ │ └── foundry.toml
│ ├── template-generic/
│ │ ├── FACILITATOR.md
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ └── script/
│ │ ├── BasicScript.s.sol
│ │ └── CounterMultisigScript.s.sol
│ ├── template-pause-bridge-base/
│ │ ├── FACILITATOR.md
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ └── script/
│ │ └── PauseBridge.s.sol
│ ├── template-pause-superchain-config/
│ │ ├── FACILITATOR.md
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ └── script/
│ │ └── PauseSuperchainConfig.s.sol
│ ├── template-safe-management/
│ │ ├── FACILITATOR.md
│ │ ├── Makefile
│ │ ├── OwnerDiff.json
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ └── script/
│ │ └── UpdateSigners.s.sol
│ ├── template-set-bridge-partner-threshold/
│ │ ├── FACILITATOR.md
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ └── script/
│ │ └── SetThreshold.s.sol
│ ├── template-switch-to-permissioned-game/
│ │ ├── FACILITATOR.md
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ └── script/
│ │ └── SwitchToPermissionedGame.sol
│ └── template-upgrade-fault-proofs/
│ ├── FACILITATOR.md
│ ├── Makefile
│ ├── README.md
│ ├── foundry.toml
│ └── script/
│ ├── DeployDisputeGames.s.sol
│ └── UpgradeDGF.s.sol
├── solana/
│ ├── MCM.mk
│ ├── Makefile
│ ├── devnet/
│ │ ├── 2025-10-20-deploy-mcm/
│ │ │ ├── .gitignore
│ │ │ ├── Makefile
│ │ │ ├── accept_ownership_proposal.json
│ │ │ ├── artifacts/
│ │ │ │ ├── mcm-deploy-artifacts.json
│ │ │ │ ├── mcm-multisig-init.json
│ │ │ │ ├── mcm-ownership-transfer.json
│ │ │ │ ├── mcm-proposal-execute.json
│ │ │ │ ├── mcm-proposal-set-root.json
│ │ │ │ ├── mcm-signatures-append.json
│ │ │ │ ├── mcm-signatures-finalize.json
│ │ │ │ ├── mcm-signatures-init.json
│ │ │ │ ├── mcm-signers-append.json
│ │ │ │ ├── mcm-signers-finalize.json
│ │ │ │ ├── mcm-signers-init.json
│ │ │ │ ├── mcm-signers-set-config.json
│ │ │ │ └── set-upgrade-authority-artifacts.json
│ │ │ └── patches/
│ │ │ ├── eip712.patch
│ │ │ └── invoke_signed.patch
│ │ ├── 2025-10-22-mcm-upgrade/
│ │ │ ├── .gitignore
│ │ │ ├── FACILITATORS.md
│ │ │ ├── Makefile
│ │ │ ├── README.md
│ │ │ ├── artifacts/
│ │ │ │ ├── mcm-proposal-execute.json
│ │ │ │ ├── mcm-proposal-set-root.json
│ │ │ │ ├── mcm-signatures-append.json
│ │ │ │ ├── mcm-signatures-finalize.json
│ │ │ │ ├── mcm-signatures-init.json
│ │ │ │ └── set-buffer-authority-artifacts.json
│ │ │ ├── patches/
│ │ │ │ ├── eip712.patch
│ │ │ │ ├── id.patch
│ │ │ │ ├── invoke_signed.patch
│ │ │ │ └── simplify_eip712.patch
│ │ │ └── proposal.json
│ │ ├── 2025-10-23-deploy-bridge/
│ │ │ ├── .gitignore
│ │ │ ├── Makefile
│ │ │ └── artifacts/
│ │ │ ├── base-relayer-deploy-artifacts.json
│ │ │ ├── bridge-deploy-artifacts.json
│ │ │ ├── fund-gas-fee-receiver.json
│ │ │ ├── fund-sol-vault.json
│ │ │ ├── init-base-relayer.json
│ │ │ ├── init-bridge.json
│ │ │ ├── set-base-relayer-upgrade-authority-artifacts.json
│ │ │ └── set-bridge-upgrade-authority-artifacts.json
│ │ ├── 2025-10-24-mcm-pause-unpause-bridge/
│ │ │ ├── FACILITATORS.md
│ │ │ ├── Makefile
│ │ │ ├── README.md
│ │ │ ├── artifacts/
│ │ │ │ ├── mcm-pause-proposal-execute.json
│ │ │ │ ├── mcm-proposal-set-root.json
│ │ │ │ ├── mcm-signatures-append.json
│ │ │ │ ├── mcm-signatures-finalize.json
│ │ │ │ ├── mcm-signatures-init.json
│ │ │ │ └── mcm-unpause-proposal-execute.json
│ │ │ └── proposal.json
│ │ └── 2025-10-24-mcm-program-upgrade/
│ │ ├── .gitignore
│ │ ├── FACILITATORS.md
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── artifacts/
│ │ │ ├── mcm-proposal-execute.json
│ │ │ ├── mcm-proposal-set-root.json
│ │ │ ├── mcm-signatures-append.json
│ │ │ ├── mcm-signatures-finalize.json
│ │ │ ├── mcm-signatures-init.json
│ │ │ └── set-buffer-authority-artifacts.json
│ │ ├── patches/
│ │ │ └── id.patch
│ │ └── proposal.json
│ ├── devnet-alpha/
│ │ ├── 2025-10-20-deploy-bridge/
│ │ │ ├── .gitignore
│ │ │ ├── Makefile
│ │ │ └── artifacts/
│ │ │ ├── base-relayer-deploy-artifacts.json
│ │ │ ├── bridge-deploy-artifacts.json
│ │ │ ├── fund-gas-fee-receiver.json
│ │ │ ├── fund-sol-vault.json
│ │ │ ├── init-base-relayer.json
│ │ │ ├── init-bridge.json
│ │ │ ├── set-base-relayer-upgrade-authority-artifacts.json
│ │ │ └── set-bridge-upgrade-authority-artifacts.json
│ │ ├── 2025-10-23-mcm-set-pause-bridge/
│ │ │ ├── FACILITATORS.md
│ │ │ ├── Makefile
│ │ │ ├── README.md
│ │ │ ├── artifacts/
│ │ │ │ ├── mcm-proposal-execute.json
│ │ │ │ ├── mcm-proposal-set-root.json
│ │ │ │ ├── mcm-signatures-append.json
│ │ │ │ ├── mcm-signatures-finalize.json
│ │ │ │ └── mcm-signatures-init.json
│ │ │ └── proposal.json
│ │ ├── 2025-10-23-mcm-unpause-bridge/
│ │ │ ├── FACILITATORS.md
│ │ │ ├── Makefile
│ │ │ ├── README.md
│ │ │ ├── artifacts/
│ │ │ │ ├── mcm-proposal-execute.json
│ │ │ │ ├── mcm-proposal-set-root.json
│ │ │ │ ├── mcm-signatures-append.json
│ │ │ │ ├── mcm-signatures-finalize.json
│ │ │ │ └── mcm-signatures-init.json
│ │ │ └── proposal.json
│ │ ├── 2025-10-24-mcm-pause-unpause-bridge/
│ │ │ ├── FACILITATORS.md
│ │ │ ├── Makefile
│ │ │ ├── README.md
│ │ │ ├── artifacts/
│ │ │ │ ├── mcm-pause-proposal-execute.json
│ │ │ │ ├── mcm-proposal-set-root.json
│ │ │ │ ├── mcm-signatures-append.json
│ │ │ │ ├── mcm-signatures-finalize.json
│ │ │ │ ├── mcm-signatures-init.json
│ │ │ │ └── mcm-unpause-proposal-execute.json
│ │ │ └── proposal.json
│ │ ├── 2025-11-14-update-bridge-config/
│ │ │ ├── .gitignore
│ │ │ ├── FACILITATORS.md
│ │ │ ├── Makefile
│ │ │ ├── README.md
│ │ │ ├── artifacts/
│ │ │ │ ├── mcm-proposal-execute-op1.json
│ │ │ │ ├── mcm-proposal-execute-op2.json
│ │ │ │ ├── mcm-proposal-set-root.json
│ │ │ │ ├── mcm-signatures-append.json
│ │ │ │ ├── mcm-signatures-finalize.json
│ │ │ │ ├── mcm-signatures-init.json
│ │ │ │ └── set-buffer-authority-artifacts.json
│ │ │ ├── patches/
│ │ │ │ └── id.patch
│ │ │ └── proposal.json
│ │ ├── 2025-12-01-upgrade-bridge-and-rollback/
│ │ │ ├── .gitignore
│ │ │ ├── FACILITATORS.md
│ │ │ ├── Makefile
│ │ │ ├── README.md
│ │ │ ├── artifacts/
│ │ │ │ ├── mcm-proposal-set-root.json
│ │ │ │ ├── mcm-rollback-execute.json
│ │ │ │ ├── mcm-signatures-append.json
│ │ │ │ ├── mcm-signatures-finalize.json
│ │ │ │ ├── mcm-signatures-init.json
│ │ │ │ ├── mcm-upgrade-execute.json
│ │ │ │ ├── set-buffer-authority-artifacts.json
│ │ │ │ └── set-rollback-buffer-authority-artifacts.json
│ │ │ ├── patches/
│ │ │ │ └── upgrade.patch
│ │ │ └── proposal.json
│ │ └── 2025-12-22-update-bridge-config/
│ │ ├── .gitignore
│ │ ├── FACILITATORS.md
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── artifacts/
│ │ │ ├── mcm-proposal-execute.json
│ │ │ ├── mcm-proposal-set-root.json
│ │ │ ├── mcm-signatures-append.json
│ │ │ ├── mcm-signatures-finalize.json
│ │ │ └── mcm-signatures-init.json
│ │ └── proposal.json
│ ├── mainnet/
│ │ ├── 2025-10-27-deploy-mcm/
│ │ │ ├── .gitignore
│ │ │ ├── Makefile
│ │ │ ├── README.md
│ │ │ ├── accept_ownership_proposal_0.json
│ │ │ ├── accept_ownership_proposal_1.json
│ │ │ └── artifacts/
│ │ │ ├── fund-mcm-authority-0.json
│ │ │ ├── fund-mcm-authority-1.json
│ │ │ ├── mcm-deploy-artifacts.json
│ │ │ ├── mcm-multisig-init-0.json
│ │ │ ├── mcm-multisig-init-1.json
│ │ │ ├── mcm-ownership-transfer-0.json
│ │ │ ├── mcm-ownership-transfer-1.json
│ │ │ ├── mcm-proposal-execute-0.json
│ │ │ ├── mcm-proposal-execute-1.json
│ │ │ ├── mcm-proposal-set-root-0.json
│ │ │ ├── mcm-proposal-set-root-1.json
│ │ │ ├── mcm-signatures-append-0.json
│ │ │ ├── mcm-signatures-append-1.json
│ │ │ ├── mcm-signatures-finalize-0.json
│ │ │ ├── mcm-signatures-finalize-1.json
│ │ │ ├── mcm-signatures-init-0.json
│ │ │ ├── mcm-signatures-init-1.json
│ │ │ ├── mcm-signers-append-0.json
│ │ │ ├── mcm-signers-append-1.json
│ │ │ ├── mcm-signers-finalize-0.json
│ │ │ ├── mcm-signers-finalize-1.json
│ │ │ ├── mcm-signers-init-0.json
│ │ │ ├── mcm-signers-init-1.json
│ │ │ ├── mcm-signers-set-config-0.json
│ │ │ ├── mcm-signers-set-config-1.json
│ │ │ └── set-upgrade-authority-artifacts.json
│ │ ├── 2025-10-27-signers-update-mcm-0/
│ │ │ ├── FACILITATORS.md
│ │ │ ├── Makefile
│ │ │ ├── README.md
│ │ │ ├── artifacts/
│ │ │ │ ├── mcm-proposal-execute.json
│ │ │ │ ├── mcm-proposal-set-root.json
│ │ │ │ ├── mcm-signatures-append.json
│ │ │ │ ├── mcm-signatures-finalize.json
│ │ │ │ └── mcm-signatures-init.json
│ │ │ └── proposal.json
│ │ ├── 2025-10-27-signers-update-mcm-1/
│ │ │ ├── FACILITATORS.md
│ │ │ ├── Makefile
│ │ │ ├── README.md
│ │ │ ├── artifacts/
│ │ │ │ ├── mcm-proposal-execute.json
│ │ │ │ ├── mcm-proposal-set-root.json
│ │ │ │ ├── mcm-signatures-append.json
│ │ │ │ ├── mcm-signatures-finalize.json
│ │ │ │ └── mcm-signatures-init.json
│ │ │ └── proposal.json
│ │ ├── 2025-10-29-deploy-bridge/
│ │ │ ├── .gitignore
│ │ │ ├── Makefile
│ │ │ ├── README.md
│ │ │ └── artifacts/
│ │ │ ├── base-relayer-deploy-artifacts.json
│ │ │ ├── bridge-deploy-artifacts.json
│ │ │ ├── fund-gas-fee-receiver.json
│ │ │ ├── fund-sol-vault.json
│ │ │ ├── init-base-relayer.json
│ │ │ ├── init-bridge.json
│ │ │ ├── set-base-relayer-upgrade-authority-artifacts.json
│ │ │ └── set-bridge-upgrade-authority-artifacts.json
│ │ ├── 2025-12-01-set-pause-bridge/
│ │ │ ├── FACILITATORS.md
│ │ │ ├── Makefile
│ │ │ ├── README.md
│ │ │ ├── artifacts/
│ │ │ │ ├── mcm-proposal-execute.json
│ │ │ │ ├── mcm-proposal-set-root.json
│ │ │ │ ├── mcm-signatures-append.json
│ │ │ │ ├── mcm-signatures-clear.json
│ │ │ │ ├── mcm-signatures-finalize.json
│ │ │ │ └── mcm-signatures-init.json
│ │ │ ├── proposal-pause.json
│ │ │ └── proposal-unpause.json
│ │ └── 2025-12-01-upgrade-bridge-and-rollback/
│ │ ├── .gitignore
│ │ ├── FACILITATORS.md
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── artifacts/
│ │ │ ├── mcm-proposal-set-root.json
│ │ │ ├── mcm-rollback-execute.json
│ │ │ ├── mcm-signatures-append.json
│ │ │ ├── mcm-signatures-finalize.json
│ │ │ ├── mcm-signatures-init.json
│ │ │ ├── mcm-upgrade-execute.json
│ │ │ ├── set-buffer-authority-artifacts.json
│ │ │ └── set-rollback-buffer-authority-artifacts.json
│ │ ├── patches/
│ │ │ └── upgrade.patch
│ │ └── proposal.json
│ └── setup-templates/
│ ├── template-set-pause-bridge/
│ │ ├── FACILITATORS.md
│ │ ├── Makefile
│ │ └── README.md
│ ├── template-update-signers-mcm/
│ │ ├── FACILITATORS.md
│ │ ├── Makefile
│ │ └── README.md
│ └── template-upgrade-bridge/
│ ├── .gitignore
│ ├── FACILITATORS.md
│ ├── Makefile
│ └── README.md
└── zeronet/
├── 2026-03-19-deploy-proxy-admin/
│ ├── DeployNestedOwnership.sol
│ ├── Makefile
│ ├── README.md
│ ├── addresses.json
│ ├── deployed-addresses.json
│ ├── foundry.toml
│ └── records/
│ └── DeployNestedOwnership.sol/
│ └── 560048/
│ └── run-1773955648605.json
├── 2026-04-01-activate-multiproof/
│ ├── FACILITATOR.md
│ ├── Makefile
│ ├── README.md
│ ├── addresses.json
│ ├── foundry.toml
│ ├── patch/
│ │ └── asr-reset-anchor-game.patch
│ ├── records/
│ │ ├── ActivateMultiproofStack.s.sol/
│ │ │ └── 560048/
│ │ │ ├── approve-latest.json
│ │ │ ├── run-1775141210100.json
│ │ │ ├── run-1775141247929.json
│ │ │ └── run-1775141298391.json
│ │ ├── DeployMultiproofStack.s.sol/
│ │ │ └── 560048/
│ │ │ └── run-1775133494692.json
│ │ ├── DeployNitroVerifier.s.sol/
│ │ │ └── 560048/
│ │ │ └── run-1775133374708.json
│ │ └── SetupNitroEnclaveVerifier.s.sol/
│ │ └── 560048/
│ │ └── run-1775133542995.json
│ ├── script/
│ │ ├── ActivateMultiproofStack.s.sol
│ │ ├── DeployCBMulticall.s.sol
│ │ ├── DeployMultiproofStack.s.sol
│ │ ├── DeployNitroVerifier.s.sol
│ │ └── SetupNitroEnclaveVerifier.s.sol
│ └── validations/
│ ├── multiproof-cb-signer.json
│ └── multiproof-sc-signer.json
├── 2026-04-07-upgrade-tee-registry-nitro/
│ ├── FACILITATOR.md
│ ├── Makefile
│ ├── README.md
│ ├── addresses.json
│ ├── foundry.toml
│ ├── records/
│ │ ├── DeployAggregateVerifier.s.sol/
│ │ │ └── 560048/
│ │ │ ├── run-1776099026069.json
│ │ │ └── run-1776283494080.json
│ │ ├── DeployAndSetupNitro.s.sol/
│ │ │ └── 560048/
│ │ │ ├── run-1776098805552.json
│ │ │ └── run-1776283373418.json
│ │ ├── DeployTeeProverRegistryImpl.s.sol/
│ │ │ └── 560048/
│ │ │ ├── run-1776098855904.json
│ │ │ └── run-1776283437409.json
│ │ └── UpgradeTEEProverRegistry.s.sol/
│ │ └── 560048/
│ │ ├── approve-latest.json
│ │ ├── run-1776366039649.json
│ │ ├── run-1776366145163.json
│ │ └── run-1776366338393.json
│ ├── script/
│ │ ├── DeployAggregateVerifier.s.sol
│ │ ├── DeployAndSetupNitro.s.sol
│ │ ├── DeployTEEProverRegistryImpl.s.sol
│ │ └── UpgradeTEEProverRegistry.s.sol
│ └── validations/
│ ├── upgrade-tee-registry-cb-signer.json
│ └── upgrade-tee-registry-sc-signer.json
├── 2026-04-17-fix-nitro-verifier/
│ ├── FACILITATOR.md
│ ├── Makefile
│ ├── README.md
│ ├── foundry.toml
│ ├── records/
│ │ └── FixNitroVerifierId.s.sol/
│ │ └── 560048/
│ │ └── run-1776445069900.json
│ ├── script/
│ │ └── FixNitroVerifierId.s.sol
│ └── validations/
│ └── fix-nitro-verifier-cb-signer.json
├── 2026-04-17-fix-tee-image-hash/
│ ├── FACILITATOR.md
│ ├── Makefile
│ ├── README.md
│ ├── addresses.json
│ ├── foundry.toml
│ ├── records/
│ │ ├── DeployAggregateVerifier.s.sol/
│ │ │ └── 560048/
│ │ │ └── run-1776453426877.json
│ │ └── FixTeeImageHash.s.sol/
│ │ └── 560048/
│ │ ├── approve-latest.json
│ │ ├── run-1776456290482.json
│ │ ├── run-1776456325644.json
│ │ └── run-1776456384746.json
│ ├── script/
│ │ ├── DeployAggregateVerifier.s.sol
│ │ └── FixTeeImageHash.s.sol
│ └── validations/
│ ├── fix-tee-image-hash-cb-signer.json
│ └── fix-tee-image-hash-sc-signer.json
├── 2026-04-21-update-zk-config/
│ ├── FACILITATOR.md
│ ├── Makefile
│ ├── README.md
│ ├── addresses.json
│ ├── foundry.toml
│ ├── patch/
│ │ └── asr-reset-anchor-game.patch
│ ├── records/
│ │ ├── DeployAggregateVerifier.s.sol/
│ │ │ └── 560048/
│ │ │ └── run-1776963810337.json
│ │ ├── DeployAnchorStateRegistry.s.sol/
│ │ │ └── 560048/
│ │ │ └── run-1776963870263.json
│ │ ├── DeployZkVerifier.s.sol/
│ │ │ └── 560048/
│ │ │ └── run-1776963357472.json
│ │ └── UpdateZkConfig.s.sol/
│ │ └── 560048/
│ │ ├── approve-latest.json
│ │ ├── run-1776973851527.json
│ │ ├── run-1776974090194.json
│ │ └── run-1776974497944.json
│ ├── script/
│ │ ├── DeployAggregateVerifier.s.sol
│ │ ├── DeployAnchorStateRegistry.s.sol
│ │ ├── DeployZkVerifier.s.sol
│ │ └── UpdateZkConfig.s.sol
│ └── validations/
│ ├── update-zk-config-cb-signer.json
│ └── update-zk-config-sc-signer.json
└── 2026-04-23-fix-starting-anchor-root/
├── FACILITATOR.md
├── Makefile
├── README.md
├── addresses.json
├── foundry.toml
├── patch/
│ └── asr-reset-anchor-game.patch
├── records/
│ ├── DeployAnchorStateRegistry.s.sol/
│ │ └── 560048/
│ │ └── run-1776984413388.json
│ └── FixStartingAnchorRoot.s.sol/
│ └── 560048/
│ ├── approve-latest.json
│ ├── run-1776985056998.json
│ ├── run-1776985945169.json
│ └── run-1776985969684.json
├── script/
│ ├── DeployAnchorStateRegistry.s.sol
│ └── FixStartingAnchorRoot.s.sol
└── validations/
├── fix-starting-anchor-root-cb-signer.json
└── fix-starting-anchor-root-sc-signer.json
================================================
FILE CONTENTS
================================================
================================================
FILE: .codeflow.yml
================================================
secure:
required_reviews: 2
requires_mfa: true
================================================
FILE: .github/workflows/validate-templates.yml
================================================
name: Validate Templates
on:
pull_request:
push:
branches: [main]
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
validate-template:
name: ${{ matrix.template }}
runs-on: ubuntu-latest
strategy:
matrix:
include:
- template: template-generic
setup_target: "setup-task"
setup_args: "network=sepolia task=ci-test"
task_dir_suffix: ci-test
- template: template-funding
setup_target: "setup-funding"
setup_args: "network=sepolia"
task_dir_suffix: funding
- template: template-gas-increase
setup_target: "setup-gas-increase"
setup_args: "network=sepolia"
task_dir_suffix: increase-gas-limit
- template: template-gas-and-elasticity-increase
setup_target: "setup-gas-and-elasticity-increase"
setup_args: "network=sepolia"
task_dir_suffix: increase-gas-and-elasticity-limit
- template: template-safe-management
setup_target: "setup-safe-management"
setup_args: "network=sepolia"
task_dir_suffix: safe-management
- template: template-upgrade-fault-proofs
setup_target: "setup-upgrade-fault-proofs"
setup_args: "network=sepolia"
task_dir_suffix: upgrade-fault-proofs
- template: template-pause-bridge-base
setup_target: "setup-bridge-pause"
setup_args: "network=sepolia"
task_dir_suffix: pause-bridge-base
- template: template-pause-superchain-config
setup_target: "setup-superchain-config-pause"
setup_args: "network=sepolia"
task_dir_suffix: pause-superchain-config
- template: template-set-bridge-partner-threshold
setup_target: "setup-bridge-partner-threshold"
setup_args: "network=sepolia"
task_dir_suffix: pause-bridge-base
- template: template-switch-to-permissioned-game
setup_target: "setup-switch-to-permissioned-game"
setup_args: "network=sepolia"
task_dir_suffix: switch-to-permissioned-game
fail-fast: false
steps:
- name: Harden the runner (Audit all outbound calls)
uses: step-security/harden-runner@a90bcbc6539c36a85cdfeb73f7e2f433735f215b # v2.15.0
with:
egress-policy: audit
- name: Checkout repository
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1
# ── Foundry ──────────────────────────────────────────────────────
- name: Install Foundry
uses: foundry-rs/foundry-toolchain@82dee4ba654bd2146511f85f0d013af94670c4de # v1.4.0
with:
version: stable
# ── Setup & Dependencies ────────────────────────────────────────
- name: Create sample task from template
id: setup
run: |
make ${{ matrix.setup_target }} ${{ matrix.setup_args }}
TASK_DIR="sepolia/$(date +'%Y-%m-%d')-${{ matrix.task_dir_suffix }}"
echo "task_dir=$TASK_DIR" >> "$GITHUB_OUTPUT"
- name: Install dependencies
working-directory: ${{ steps.setup.outputs.task_dir }}
run: make deps
# ── Validation ───────────────────────────────────────────────────
- name: Check Solidity formatting
working-directory: ${{ steps.setup.outputs.task_dir }}
run: |
echo "==> forge fmt --check script/ (${{ matrix.template }})"
if ! forge fmt --check script/; then
echo ""
echo "::error::Formatting check failed for ${{ matrix.template }}. Run 'forge fmt script/' in the template directory to fix."
exit 1
fi
- name: Build (forge build)
working-directory: ${{ steps.setup.outputs.task_dir }}
run: |
echo "==> forge build (${{ matrix.template }})"
if ! forge build; then
echo ""
echo "::error::Compilation failed for ${{ matrix.template }}. Check imports, types, and dependency versions."
exit 1
fi
================================================
FILE: .gitignore
================================================
# Executable cli binary
bin/
cache/
out/
lib/
# Localhost and run-latest deploy scripts
**/records/**/**/run-latest.json
localhost/*/records/
**/records/**/**/dry-run/
# Test binary, built with `go test -c`
*.test
# Output of the go coverage tool, specifically when used with LiteIDE
*.out
out/
/.idea/
yarn-error.log
.env.local
.gitmodules
.DS_Store
signer-tool/
================================================
FILE: LICENSE
================================================
MIT License
Copyright (c) 2023-2026 Base
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
================================================
FILE: Makefile
================================================
FOUNDRY_COMMIT ?= 3b1129b5bc43ba22a9bcf4e4323c5a9df0023140
PROJECT_DIR = $(network)/$(shell date +'%Y-%m-%d')-$(task)
GAS_INCREASE_DIR = $(network)/$(shell date +'%Y-%m-%d')-increase-gas-limit
GAS_AND_ELASTICITY_INCREASE_DIR = $(network)/$(shell date +'%Y-%m-%d')-increase-gas-and-elasticity-limit
FAULT_PROOF_UPGRADE_DIR = $(network)/$(shell date +'%Y-%m-%d')-upgrade-fault-proofs
SAFE_MANAGEMENT_DIR = $(network)/$(shell date +'%Y-%m-%d')-safe-management
FUNDING_DIR = $(network)/$(shell date +'%Y-%m-%d')-funding
SET_BASE_BRIDGE_PARTNER_THRESHOLD_DIR = $(network)/$(shell date +'%Y-%m-%d')-pause-bridge-base
PAUSE_BRIDGE_BASE_DIR = $(network)/$(shell date +'%Y-%m-%d')-pause-bridge-base
SWITCH_TO_PERMISSIONED_GAME_DIR=$(network)/$(shell date +'%Y-%m-%d')-switch-to-permissioned-game
PAUSE_SUPERCHAIN_CONFIG_DIR = $(network)/$(shell date +'%Y-%m-%d')-pause-superchain-config
TEMPLATE_GENERIC = setup-templates/template-generic
TEMPLATE_GAS_INCREASE = setup-templates/template-gas-increase
TEMPLATE_GAS_AND_ELASTICITY_INCREASE = setup-templates/template-gas-and-elasticity-increase
TEMPLATE_UPGRADE_FAULT_PROOFS = setup-templates/template-upgrade-fault-proofs
TEMPLATE_SAFE_MANAGEMENT = setup-templates/template-safe-management
TEMPLATE_FUNDING = setup-templates/template-funding
TEMPLATE_SET_BASE_BRIDGE_PARTNER_THRESHOLD = setup-templates/template-set-bridge-partner-threshold
TEMPLATE_PAUSE_BRIDGE_BASE = setup-templates/template-pause-bridge-base
TEMPLATE_SWITCH_TO_PERMISSIONED_GAME = setup-templates/template-switch-to-permissioned-game
TEMPLATE_PAUSE_SUPERCHAIN_CONFIG = setup-templates/template-pause-superchain-config
ifndef $(GOPATH)
GOPATH=$(shell go env GOPATH)
export GOPATH
endif
.PHONY: install-foundry
install-foundry:
curl -L https://foundry.paradigm.xyz | bash
~/.foundry/bin/foundryup --commit $(FOUNDRY_COMMIT)
##
# Project Setup
##
# Run `make setup-task network=<network> task=<task>`
setup-task:
rm -rf $(TEMPLATE_GENERIC)/cache $(TEMPLATE_GENERIC)/lib $(TEMPLATE_GENERIC)/out
cp -r $(TEMPLATE_GENERIC) $(PROJECT_DIR)
mkdir -p $(network)/signatures/$(notdir $(PROJECT_DIR))
# Run `make setup-gas-increase network=<network>`
setup-gas-increase:
rm -rf $(TEMPLATE_GAS_INCREASE)/cache $(TEMPLATE_GAS_INCREASE)/lib $(TEMPLATE_GAS_INCREASE)/out
cp -r $(TEMPLATE_GAS_INCREASE) $(GAS_INCREASE_DIR)
mkdir -p $(network)/signatures/$(notdir $(GAS_INCREASE_DIR))
# Run `make setup-gas-increase network=<network>`
setup-gas-and-elasticity-increase:
rm -rf $(TEMPLATE_GAS_AND_ELASTICITY_INCREASE)/cache $(TEMPLATE_GAS_AND_ELASTICITY_INCREASE)/lib $(TEMPLATE_GAS_AND_ELASTICITY_INCREASE)/out
cp -r $(TEMPLATE_GAS_AND_ELASTICITY_INCREASE) $(GAS_AND_ELASTICITY_INCREASE_DIR)
mkdir -p $(network)/signatures/$(notdir $(GAS_AND_ELASTICITY_INCREASE_DIR))
# Run `make setup-upgrade-fault-proofs network=<network>`
setup-upgrade-fault-proofs:
cp -r $(TEMPLATE_UPGRADE_FAULT_PROOFS) $(FAULT_PROOF_UPGRADE_DIR)
mkdir -p $(network)/signatures/$(notdir $(FAULT_PROOF_UPGRADE_DIR))
# Run `make setup-safe-management network=<network>`
setup-safe-management:
rm -rf $(TEMPLATE_SAFE_MANAGEMENT)/cache $(TEMPLATE_SAFE_MANAGEMENT)/lib $(TEMPLATE_SAFE_MANAGEMENT)/out
cp -r $(TEMPLATE_SAFE_MANAGEMENT) $(SAFE_MANAGEMENT_DIR)
mkdir -p $(network)/signatures/$(notdir $(SAFE_MANAGEMENT_DIR))
# Run `make setup-funding network=<network>`
setup-funding:
rm -rf $(TEMPLATE_FUNDING)/cache $(TEMPLATE_FUNDING)/lib $(TEMPLATE_FUNDING)/out
cp -r $(TEMPLATE_FUNDING) $(FUNDING_DIR)
mkdir -p $(network)/signatures/$(notdir $(FUNDING_DIR))
# Run `make setup-bridge-partner-threshold network=<network>`
setup-bridge-partner-threshold:
rm -rf $(TEMPLATE_SET_BASE_BRIDGE_PARTNER_THRESHOLD)/cache $(TEMPLATE_SET_BASE_BRIDGE_PARTNER_THRESHOLD)/lib $(TEMPLATE_SET_BASE_BRIDGE_PARTNER_THRESHOLD)/out
cp -r $(TEMPLATE_SET_BASE_BRIDGE_PARTNER_THRESHOLD) $(SET_BASE_BRIDGE_PARTNER_THRESHOLD_DIR)
mkdir -p $(network)/signatures/$(notdir $(SET_BASE_BRIDGE_PARTNER_THRESHOLD_DIR))
# Run `make setup-bridge-pause network=<network>`
setup-bridge-pause:
rm -rf $(TEMPLATE_PAUSE_BRIDGE_BASE)/cache $(TEMPLATE_PAUSE_BRIDGE_BASE)/lib $(TEMPLATE_PAUSE_BRIDGE_BASE)/out
cp -r $(TEMPLATE_PAUSE_BRIDGE_BASE) $(PAUSE_BRIDGE_BASE_DIR)
mkdir -p $(network)/signatures/$(notdir $(PAUSE_BRIDGE_BASE_DIR))
setup-switch-to-permissioned-game:
rm -rf $(TEMPLATE_SWITCH_TO_PERMISSIONED_GAME)/cache $(TEMPLATE_SWITCH_TO_PERMISSIONED_GAME)/lib $(TEMPLATE_SWITCH_TO_PERMISSIONED_GAME)/out
cp -r $(TEMPLATE_SWITCH_TO_PERMISSIONED_GAME) $(SWITCH_TO_PERMISSIONED_GAME_DIR)
mkdir -p $(network)/signatures/$(notdir $(SWITCH_TO_PERMISSIONED_GAME_DIR))
# Run `make setup-superchain-config-pause network=<network>`
setup-superchain-config-pause:
rm -rf $(TEMPLATE_PAUSE_SUPERCHAIN_CONFIG)/cache $(TEMPLATE_PAUSE_SUPERCHAIN_CONFIG)/lib $(TEMPLATE_PAUSE_SUPERCHAIN_CONFIG)/out
cp -r $(TEMPLATE_PAUSE_SUPERCHAIN_CONFIG) $(PAUSE_SUPERCHAIN_CONFIG_DIR)
mkdir -p $(network)/signatures/$(notdir $(PAUSE_SUPERCHAIN_CONFIG_DIR))
##
# Solidity Setup
##
# Pinned tag for openzeppelin-contracts-upgradeable, installed via clone-oz-upgradeable.
OZ_UPGRADEABLE_TAG=v4.7.3
.PHONY: deps
deps: install-eip712sign clean-lib forge-deps clone-oz-upgradeable checkout-base-contracts-commit
.PHONY: install-eip712sign
install-eip712sign:
go install github.com/base/eip712sign@v0.0.11
.PHONY: clean-lib
clean-lib:
rm -rf lib
.PHONY: forge-deps
forge-deps:
forge install --no-git github.com/foundry-rs/forge-std@0844d7e1fc5e60d77b68e469bff60265f236c398 \
github.com/OpenZeppelin/openzeppelin-contracts@v4.9.3 \
github.com/rari-capital/solmate@8f9b23f8838670afda0fd8983f2c41e8037ae6bc \
github.com/Saw-mon-and-Natalie/clones-with-immutable-args@105efee1b9127ed7f6fedf139e1fc796ce8791f2 \
github.com/Vectorized/solady@502cc1ea718e6fa73b380635ee0868b0740595f0 \
github.com/ethereum-optimism/lib-keccak@3b1e7bbb4cc23e9228097cfebe42aedaf3b8f2b9
# Clone openzeppelin-contracts-upgradeable at the pinned tag without submodules.
# This replaces `forge install --no-git` for this dependency because forge's
# internal `git clone --recursive` populates the transitive lib/openzeppelin-contracts
# submodule from master before checking out the tag. Git does not remove the
# already-populated submodule directory on checkout, leaving an orphaned,
# non-deterministic directory that changes day-to-day as master receives new commits.
# Using --no-recurse-submodules avoids this entirely and ensures byte-identical
# output across runs.
.PHONY: clone-oz-upgradeable
clone-oz-upgradeable:
rm -rf lib/openzeppelin-contracts-upgradeable
git clone --no-recurse-submodules --depth 1 --branch $(OZ_UPGRADEABLE_TAG) \
https://github.com/OpenZeppelin/openzeppelin-contracts-upgradeable.git \
lib/openzeppelin-contracts-upgradeable
rm -rf lib/openzeppelin-contracts-upgradeable/.git
.PHONY: checkout-base-contracts-commit
checkout-base-contracts-commit:
[ -n "$(BASE_CONTRACTS_COMMIT)" ] || (echo "BASE_CONTRACTS_COMMIT must be set in .env" && exit 1)
forge install --no-git github.com/base/contracts@$(BASE_CONTRACTS_COMMIT)
##
# Task Signer Tool
##
SIGNER_TOOL_COMMIT=db50e4234a5475a3f109e61a83fd047924916b41
SIGNER_TOOL_PATH=signer-tool
.PHONY: checkout-signer-tool
checkout-signer-tool:
[ -n "$(SIGNER_TOOL_COMMIT)" ] || (echo "SIGNER_TOOL_COMMIT must be set in .env" && exit 1)
rm -rf $(SIGNER_TOOL_PATH)
mkdir -p $(SIGNER_TOOL_PATH)
cd $(SIGNER_TOOL_PATH); \
git init; \
git remote add origin https://github.com/base/task-signing-tool.git; \
git fetch --depth=1 origin $(SIGNER_TOOL_COMMIT); \
git reset --hard FETCH_HEAD
# Checkout and install signer-tool dependencies (used as a prerequisite by gen-validation targets)
.PHONY: deps-signer-tool
deps-signer-tool: checkout-signer-tool
cd $(SIGNER_TOOL_PATH) && npm ci
.PHONY: sign-task
sign-task: checkout-signer-tool
cd $(SIGNER_TOOL_PATH); \
npm ci; \
npm run dev
# Task origin signature variables (auto-derived, overridable).
# These targets are designed to be invoked from task subdirectories
# (e.g. sepolia/2026-02-19-superchain-separation/) that include this Makefile.
TASK_NAME ?= $(notdir $(CURDIR))
SIGNATURE_DIR ?= $(CURDIR)/../signatures/$(TASK_NAME)
.PHONY: sign-as-task-creator
sign-as-task-creator: deps-signer-tool
cd $(SIGNER_TOOL_PATH) && \
npx tsx scripts/genTaskOriginSig.ts sign \
--task-folder $(CURDIR) \
--signature-path $(SIGNATURE_DIR)
.PHONY: sign-as-base-facilitator
sign-as-base-facilitator: deps-signer-tool
cd $(SIGNER_TOOL_PATH) && \
npx tsx scripts/genTaskOriginSig.ts sign \
--task-folder $(CURDIR) \
--signature-path $(SIGNATURE_DIR) \
--facilitator base
.PHONY: sign-as-sc-facilitator
sign-as-sc-facilitator: deps-signer-tool
cd $(SIGNER_TOOL_PATH) && \
npx tsx scripts/genTaskOriginSig.ts sign \
--task-folder $(CURDIR) \
--signature-path $(SIGNATURE_DIR) \
--facilitator security-council
##
# Solidity Testing
##
.PHONY: solidity-test
solidity-test:
forge test --ffi -vvv
================================================
FILE: Multisig.mk
================================================
# Multisig.mk — Global macros for multisig approve / execute workflows.
#
# Every task template should `include ../../Multisig.mk` and define at minimum:
# RPC_URL — the RPC endpoint (typically $(L1_RPC_URL) or $(L2_RPC_URL))
# SCRIPT_NAME — the Forge script class name or .sol file path
#
# The two macros below (MULTISIG_APPROVE, MULTISIG_EXECUTE) are the canonical
# way to invoke multisig operations. Signing is handled externally by the
# task-signing-tool.
#
# ---------- Common fragments ----------
LEDGER_HD_PATH = "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0"
empty :=
space := $(empty) $(empty)
comma := ,
# Join a whitespace-separated list with ", " and normalize whitespace
comma_join = $(subst $(space),$(comma) ,$(strip $(foreach w,$(1),$(w))))
# Validation helper for required variables
require_vars = $(foreach _var,$(2),$(if $(strip $($(_var))),,$(error $(1): required variable $(_var) is not defined)))
# ---------- Procedures ----------
# MULTISIG_APPROVE: $(1)=address list (space-separated), $(2)=signatures (e.g., 0x or $(SIGNATURES))
define MULTISIG_APPROVE
$(call require_vars,MULTISIG_APPROVE,LEDGER_ACCOUNT RPC_URL SCRIPT_NAME) \
forge script --rpc-url $(RPC_URL) $(SCRIPT_NAME) \
--sig "approve(address[],bytes)" "[$(call comma_join,$(1))]" $(2) \
--ledger --hd-paths $(LEDGER_HD_PATH) --broadcast -vvvv
endef
# MULTISIG_EXECUTE: $(1)=signatures for run(bytes) (e.g., 0x or $(SIGNATURES))
define MULTISIG_EXECUTE
$(call require_vars,MULTISIG_EXECUTE,LEDGER_ACCOUNT RPC_URL SCRIPT_NAME) \
forge script --rpc-url $(RPC_URL) $(SCRIPT_NAME) \
--sig "run(bytes)" $(1) \
--ledger --hd-paths $(LEDGER_HD_PATH) --broadcast -vvvv
endef
# ---------- Validation file generation ----------
# GEN_VALIDATION: Generate a validation JSON file for multisig signing.
# $(1)=script_name, $(2)=safe_addr (comma-separated, or empty for []),
# $(3)=sender, $(4)=output_file, $(5)=env_vars (optional prefix)
define GEN_VALIDATION
$(call require_vars,GEN_VALIDATION,RPC_URL LEDGER_ACCOUNT) \
cd $(SIGNER_TOOL_PATH) && \
npx tsx scripts/genValidationFile.ts \
--rpc-url $(RPC_URL) \
--workdir $(CURDIR) \
--forge-cmd '$(if $(5),$(5) )forge script --rpc-url $(RPC_URL) $(1) --sig "sign(address[])" "[$(2)]" --sender $(3)' \
--ledger-id $(LEDGER_ACCOUNT) \
--out $(CURDIR)/validations/$(4)
endef
# ---------- Helpers ----------
# GET_NONCE: Fetch the current nonce of a Safe contract.
# $(1)=safe_address
define GET_NONCE
$(shell cast call $(1) "nonce()" --rpc-url $(RPC_URL) | cast to-dec)
endef
# ADDR_UPPER: Convert an address to uppercase (for env var construction).
# Used to build per-Safe nonce override env vars passed to forge scripts,
# e.g. SAFE_NONCE_$(call ADDR_UPPER,$(SAFE_ADDR))=$(NONCE_VALUE)
# See mainnet/2026-02-19-superchain-separation for real-world usage.
# $(1)=address
define ADDR_UPPER
$(shell echo "$(1)" | tr '[:lower:]' '[:upper:]')
endef
================================================
FILE: README.md
================================================

# contract-deployments
This repo contains execution code and artifacts related to Base contract deployments, upgrades, and calls. For actual contract implementations, see [base/contracts](https://github.com/base/contracts).
This repo is structured with each network having a high-level directory which contains subdirectories of any "tasks" (contract deployments/calls) that have happened for that network. Supported networks are `mainnet`, `sepolia`, `sepolia-alpha`, and `zeronet`.
<!-- Badge row 1 - status -->
[](https://github.com/base/contract-deployments/graphs/contributors)
[](https://github.com/base/contract-deployments/graphs/contributors)
[](https://github.com/base/contract-deployments/stargazers)

[](https://github.com/base/contract-deployments/blob/main/LICENSE)
<!-- Badge row 2 - links and profiles -->
[](https://base.org)
[](https://base.mirror.xyz/)
[](https://docs.base.org/)
[](https://base.org/discord)
[](https://x.com/BuildOnBase)
<!-- Badge row 3 - detailed status -->
[](https://github.com/base/contract-deployments/pulls)
[](https://github.com/base/contract-deployments/issues)
## Setup
First, install forge if you don't have it already:
- Run `make install-foundry` to install [`Foundry`](https://github.com/foundry-rs/foundry/commit/3b1129b5bc43ba22a9bcf4e4323c5a9df0023140).
To execute a new task, run one of the following commands (depending on the type of change you're making):
- For a generic task: `make setup-task network=<network> task=<task-name>`
- For gas increase tasks: `make setup-gas-increase network=<network>`
- For combined gas, elasticity, and DA footprint gas scalar tasks: `make setup-gas-and-elasticity-increase network=<network>`
- For fault proof upgrade: `make setup-upgrade-fault-proofs network=<network>`
- For safe management tasks: `make setup-safe-management network=<network>`
- For funding tasks: `make setup-funding network=<network>`
- For updating the partner threshold in Base Bridge: `make setup-bridge-partner-threshold network=<network>`
- For pausing / un-pausing Base Bridge: `make setup-bridge-pause network=<network>`
- For switching to a permissioned game and retiring dispute games: `make setup-switch-to-permissioned-game network=<network>`
- For pausing SuperchainConfig: `make setup-superchain-config-pause network=<network>`
Each `setup-*` command also creates a matching `<network>/signatures/<task-dir-basename>/` directory for [task origin signing](#task-origin-signing). The parent `signatures/` directory is created automatically via `mkdir -p` for networks that do not yet have one.
Next, `cd` into the directory that was created for you and follow the steps listed below for the relevant template.
Please note, for some older tasks (that have not yet been adapted to use the signer tool) you will need to manually create validation file(s) for your task as they are bespoke to each task and therefore not created automatically as a part of the templates. We use one validation Markdown file per multisig involved in the task, so if there's only one multisig involved in your task, then you can simply create a `VALIDATION.md` file at the root of your task containing the validation instructions, while if there are multiple multisigs involved in the task, then create a `validations/` sub-directory at the root of your task containing the corresponding validation Markdown files. If you need examples to work from, you can browse through similar past tasks in this repo and adapt them to your specific task. Also, please note that we have tooling to generate these files (like the `task-signer-tool`) which removes the manual aspect of creating these validation files, we will soon update these instructions to reflect how this process can be automated.
## Network configuration
Each network directory (`mainnet/`, `sepolia/`, `sepolia-alpha/`, `zeronet/`) contains a `.env` file that defines all contract addresses and network metadata for that chain. These variables are automatically available to every task via the `include ../.env` directive in each task's Makefile, so there is no need to manually load addresses in individual tasks or templates.
The network `.env` files contain:
- **Network metadata** — `NETWORK`, `L1_RPC_URL`, `L2_RPC_URL`, `L1_CHAIN_ID`, `L2_CHAIN_ID`, `LEDGER_ACCOUNT`
- **Admin addresses** — multisig addresses, proposer, challenger, batch sender, etc.
- **L1 contract addresses** — proxy admin, bridges, dispute game factories, system config, etc.
- **L2 contract addresses** — fee vaults, cross-domain messenger, standard bridge, etc.
All address variables are prefixed with `export` so they are available to child shell processes (Forge scripts, shell commands, etc.). Foundry scripts can access them via `vm.envAddress("VARIABLE_NAME")`.
> **Note:** If you need to add or update a contract address, edit the corresponding `{network}/.env` file directly. Do not create per-task address definitions unless they are truly task-specific.
## Directory structure
Each task will have a directory structure similar to the following:
- **records/** Foundry will autogenerate files here from running commands
- **script/** place to store any one-off Foundry scripts
- **src/** place to store any one-off smart contracts (long-lived contracts should go in [base/contracts](https://github.com/base/contracts))
- **.env** place to store task-specific environment variables (contract addresses are inherited from the network-level `.env`)
## CI — Template Validation
A GitHub Actions workflow automatically validates all 10 setup-templates on every pull request and on pushes to `main`.
**What CI checks for each template:**
1. **Solidity formatting** — `forge fmt --check script/` ensures formatting consistency.
2. **Compilation** — `forge build` verifies that imports resolve, types are correct, and all dependencies are present.
Templates are validated in parallel using a matrix strategy, so failures are isolated per-template with clear error messages identifying the template and failure type.
**How it works:**
- Foundry stable is installed via the `foundry-rs/foundry-toolchain` GitHub Action.
- For each template, the corresponding `make setup-*` target creates a task directory from the template.
- `make deps` installs all dependencies (including base-contracts at the commit pinned in the template's `.env`).
**What CI does NOT do:**
- Does not run `forge script` (requires RPC URLs, env vars, and hardware wallets).
- Does not run `forge test` (no test files exist in templates).
- Does not run signing or execution targets (they depend on network state and hardware wallets).
> See [`.github/workflows/validate-templates.yml`](.github/workflows/validate-templates.yml) for the full workflow definition.
## Multisig macro convention
All task templates use global macros defined in [`Multisig.mk`](Multisig.mk) for multisig operations:
| Macro | Purpose | Key arguments |
| ------------------ | -------------------------------------------------------------- | -------------------------------------------------------------- |
| `MULTISIG_APPROVE` | Approve a transaction (nested safe hierarchy) | `(address_list, signatures)` |
| `MULTISIG_EXECUTE` | Execute an approved transaction on-chain | `(signatures)` |
| `GEN_VALIDATION` | Generate a validation JSON file for signers via the signer-tool | `(script_name, safe_addr, sender, output_file, env_vars)` |
Two helper macros are also available for tasks that need nonce offset calculations or address manipulation:
| Macro | Purpose | Key arguments |
| ------------ | ------------------------------------------------------- | ---------------- |
| `GET_NONCE` | Fetch the current nonce of a Safe contract on-chain | `(safe_address)` |
| `ADDR_UPPER` | Convert an address to uppercase (for env var construction) | `(address)` |
Signing is handled externally by the [task-signing-tool](https://github.com/base/task-signing-tool).
Every template Makefile should include `Multisig.mk` and define at least two variables for the macros to work:
```makefile
include ../../Makefile
include ../../Multisig.mk
include ../.env
include .env
RPC_URL = $(L1_RPC_URL) # or $(L2_RPC_URL)
SCRIPT_NAME = MyScript # class name or .sol file path
```
Templates that generate validation files should use `GEN_VALIDATION` with the `deps-signer-tool` prerequisite (which checks out and installs the signer-tool):
```makefile
gen-validation: validate-config deps-signer-tool
$(call GEN_VALIDATION,$(SCRIPT_NAME),,$(SENDER),base-signer.json,)
```
Templates should use these macros rather than inline `forge script` / `eip712sign` / `bun run` invocations. The known exceptions are the incident-response pause templates, which pre-sign 20 future nonces in a loop using inline `eip712sign`; only their `execute-*` targets use `MULTISIG_EXECUTE`.
## Task origin signing
The root Makefile provides three targets for generating cryptographic attestations (sigstore bundles) that prove who created and facilitated a task. These are inherited by all task Makefiles via `include ../../Makefile`.
| Target | Purpose |
| ------------------------------ | ------------------------------------------------ |
| `make sign-as-task-creator` | Attest authorship of the task (run after setup) |
| `make sign-as-base-facilitator`| Attest Base team facilitation |
| `make sign-as-sc-facilitator` | Attest Security Council facilitation |
Signatures are stored in `<network>/signatures/<task-name>/`, where `<task-name>` is auto-derived from the task directory name. This directory is created automatically when you run any `setup-*` target (in both the root and Solana Makefiles), so it is ready for the signing tool when you invoke one of the targets below. Two variables control this behavior and can be overridden in a task's Makefile if the defaults are not appropriate:
| Variable | Default | Description |
| --------------- | ------------------------------------------------- | ---------------------------------- |
| `TASK_NAME` | `$(notdir $(CURDIR))` (directory basename) | Name used to locate signature dir |
| `SIGNATURE_DIR` | `$(CURDIR)/../signatures/$(TASK_NAME)` | Directory where signatures are stored |
All three targets depend on `deps-signer-tool`, which checks out and installs the [task-signing-tool](https://github.com/base/task-signing-tool) automatically.
## Using the incident response template
This template contains scripts that will help us respond to incidents efficiently.
To use the template during an incident:
1. Fill in the `.env` file with dependency commit numbers and any variables that need to be defined for the script you're running.
1. Delete the other scripts that are not being used so that you don't run into build issues.
1. Make sure the code compiles and check in the code.
1. Have each signer pull the branch, and run the relevant signing command from the Makefile.
To add new incident response scripts:
1. Any incident response-related scripts should be included in this template (should be generic, not specific to network), with specific TODOs wherever addresses or other details need to be filled in.
1. Add the relevant make commands that would need to be run for the script to the template Makefile
1. Add relevant mainnet addresses in comments to increase efficiency responding to an incident.
## Using the generic template
This template can be used to do contract calls, upgrades, or one-off deployments.
1. Specify the commit of [Base contracts code](https://github.com/base/contracts) you intend to use in the `.env` file
1. Run `make deps`
1. Put scripts in the `script` directory (see examples that are part of the template, for example, there is a file `BasicScript.s.sol`). See note below if running a task that requires a multisig to sign.
1. Call scripts from the Makefile (see examples in the template Makefile that's copied over).
## Using the gas limit increase template
This template is increasing the throughput on Base Chain.
1. Ensure you have followed the instructions above in `setup`
1. Go to the folder that was created using the `make setup-gas-increase network=<network>` step
1. Fill in all TODOs (search for "TODO" in the folder) in the `.env` and `README` files. Tip: you can run `make deps` followed by `make sign-upgrade` to produce a Tenderly simulation which will help fill in several of the TODOs in the README (and also `make sign-rollback`).
1. Check in the task when it's ready to sign and collect signatures from signers
1. Once executed, check in the records files and mark the task `EXECUTED` in the README.
## Using the combined gas limit, elasticity, and DA footprint gas scalar template
This template is used to update the gas limit, elasticity, and DA footprint gas scalar, or roll back the changes (if needed).
1. Ensure you have followed the instructions above in `setup`, including running `make setup-gas-and-elasticity-increase network=<network>` and then go to the folder that was created by this command.
1. Specify the commit of [Base contracts code](https://github.com/base/contracts) in the `.env` file.
1. Run `make deps`.
1. Fill in any task-specific variables in the `.env` file that have per-network comments (e.g., `OWNER_SAFE`, `SENDER`), using the value for your target network.
1. Ensure the `SENDER` variable in the `.env` file is set to a signer of `OWNER_SAFE`.
1. Set the `FROM_*` and `TO_*` values for gas limit and elasticity in the `.env` file.
1. Calculate the DA footprint gas scalar with `make da-scalar TARGET_BLOB_COUNT=<value>` and set the `FROM_DA_FOOTPRINT_GAS_SCALAR` and `TO_DA_FOOTPRINT_GAS_SCALAR` values in the `.env` file.
1. Build the contracts with `forge build`.
1. Generate the validation file for signers with `make gen-validation`.
1. Generate the rollback validation file for signers with `make gen-validation-rollback`.
1. Double check the `cmd` field at the top of both of the generated validation files and ensure that the value passed to the `--sender` flag matches the `SENDER` env var already defined in the `.env` file.
1. Ensure that all of the fields marked as `TODO` in the tasks's `README.md` have been properly filled out.
1. Check in the task when it's ready to sign and request the facilitators to collect signatures from signers.
1. Once executed, check in the records files and mark the task `EXECUTED` in the README.
## Using the fault proof upgrade template
This template is used to upgrade the fault proof contracts. This is commonly done in conjunction with a hard fork.
1. Ensure you have followed the instructions above in `setup`
1. Go to the folder that was created using the `make setup-upgrade-fault-proofs network=<network>` step
1. Specify the commit of [Base contracts code](https://github.com/base/contracts) you intend to use in the `.env` file
1. Run `make deps`
1. Add the new absolute prestate to the `.env` file. This can be found in the op-program prestates [standard-prestates.toml](https://github.com/ethereum-optimism/superchain-registry/blob/main/validation/standard/standard-prestates.toml) file.
1. Network-specific contract addresses are loaded automatically from the network `.env` file. Fill in any remaining task-specific variables in the task's `.env` file.
1. Build the contracts with `forge build`
1. Remove the unneeded validations from `VALIDATION.md` and update the relevant validations accordingly
1. Check in the task when it's ready to sign and collect signatures from signers
1. Once executed, check in the records files and mark the task `EXECUTED` in the README.
## Using the safe management template
This template is used to perform ownership management on a Gnosis Safe, like the incident multisig, specifically it can be used to change the owners of the multisig.
1. Ensure you have followed the instructions above in `setup`, including running `make setup-safe-management network=<network>` and go to the folder that was created by this command.
1. Specify the commit of [Base contracts code](https://github.com/base/contracts) you intend to use in the `.env` file.
1. Enter the directory that was generated for the task (in the first step) and then run `make deps`.
1. Specify the `OWNER_SAFE`, which is the safe multisig where an owner will be replaced and the `SENDER` which should be the address of a current signer of the multisig.
1. Fill in the `OwnerDiff.json` inside the task's directory with the addresses to add to, and remove from, the multisig in their respective fields.
1. Ensure that the `EXISTING_OWNERS_LENGTH` constant value inside the `script/UpdateSigners.s.sol` script is set appropriately, in particular that it equals the exact number of current members of the Incident Multisig Safe (prior to running the task).
1. Build the contracts with `forge build`.
1. Generate the validation file for signers with `make gen-validation`.
1. Double check the `cmd` field at the top of the generated validation file at `validations/base-signer.json` and ensure that the value passed to the `--sender` flag matches the `SENDER` env var already defined in the `.env` file.
1. Check in the task when it's ready to sign and request the facilitators to collect signatures from signers.
1. Once executed, check in the records files and mark the task `EXECUTED` in the README.
## Using the funding template
This template is used to fund addresses from a Gnosis Safe.
1. Ensure you have followed the instructions above in `setup`.
1. Run `make setup-funding network=<network>` and go to the folder that was created by this command.
1. Specify the commit of [Base contracts code](https://github.com/base/contracts) you intend to use in the `.env` file.
1. Run `make deps`.
1. Specify the `SAFE`, which is the safe that will fund the addresses in the `.env` file.
1. Specify the `recipients` and `funds` arrays (in 1e18 units) in the `funding.json` file.
1. Build the contracts with `forge build`.
1. Simulate the task with `make sign` and update the generic validations in `VALIDATION.md` with the real values.
1. Check in the task when it's ready to sign and request the facilitators to collect signatures from signers.
1. Once executed, check in the records files and mark the task `EXECUTED` in the README.
## Using the Base Bridge set partner threshold template
This template is used to update the partner threshold in [Base Bridge](https://github.com/base/bridge), affecting the amount of required partner signatures to approve bridge messages.
1. Ensure you have followed the instructions above in `setup`.
1. Run `make setup-bridge-partner-threshold network=<network>` and go to the folder that was created by this command.
1. Specify the commit of [Base contracts code](https://github.com/base/contracts) you intend to use in the `.env` file.
1. Run `make deps`.
1. Fill in any task-specific variables in the `.env` file that have per-network comments, using the value for your target network.
1. Set the `NEW_THRESHOLD` variable in the `.env` file.
1. Ensure the `--sender` flag in the `make gen-validation` command in the `Makefile` file is set to a signer for `OWNER_SAFE` in `.env`.
1. Build the contracts with `forge build`.
1. Generate the validation file for signers with `make gen-validation`.
1. Check in the task when it's ready to sign and request the facilitators to collect signatures from signers.
1. Once executed, check in the records files and mark the task `EXECUTED` in the README.
## Using the pause Base Bridge template
This template is used to pause or un-pause [Base Bridge](https://github.com/base/bridge).
1. Ensure you have followed the instructions above in `setup`.
1. Run `make setup-bridge-pause network=<network>` and go to the folder that was created by this command.
1. Specify the commit of [Base contracts code](https://github.com/base/contracts) you intend to use in the `.env` file.
1. Run `make deps`.
1. Fill in any task-specific variables in the `.env` file that have per-network comments (e.g., `L2_BRIDGE`), using the value for your target network.
1. Set the `IS_PAUSED` variable to `true` or `false` in the `.env` file depending on if you intend to pause or unpause the bridge.
1. Ensure the `SENDER` variable in the Makefile is set to a signer for `OWNER_SAFE`.
1. Build the contracts with `forge build`.
1. Generate the validation file for signers with `make gen-validation`.
1. Check in the task when it's ready to sign and request the facilitators to collect signatures from signers.
1. Once executed, check in the records files and mark the task `EXECUTED` in the README.
## Using the Switch to Permissioned Game template
This template is used to switch Base to a Permissioned Game.
1. Ensure you have followed the instructions above in `setup`.
1. Run `make setup-switch-to-permissioned-game network=<network>` and go to the folder that was created by this command.
1. Specify the commit of [Base contracts code](https://github.com/base/contracts) you intend to use in the `.env` file.
1. Run `make deps`.
1. Fill in any task-specific variables in the `.env` file that have per-network comments (e.g., `OWNER_SAFE`, `OP_SECURITY_COUNCIL_SAFE`, `SENDER`), using the value for your target network.
1. Build the contracts with `forge build`.
1. Generate the validation file for signers with `make gen-validation`.
1. Check in the task when it's ready to sign and request the facilitators to collect signatures from signers.
1. Once executed, check in the records files and mark the task `EXECUTED` in the README.
## Using the pause SuperchainConfig template
This template is used to pause or un-pause the L1 SuperchainConfig contract.
1. Ensure you have followed the instructions above in `setup`.
1. Run `make setup-superchain-config-pause network=<network>` and go to the folder that was created by this command.
1. Specify the commit of [Base contracts code](https://github.com/base/contracts) you intend to use in the `.env` file.
1. Run `make deps`.
1. Fill in any task-specific variables in the `.env` file that have per-network comments, using the value for your target network.
1. Build the contracts with `forge build`.
1. Sign the pause transaction with `make sign-pause` or generate the validation file for un-pausing with `make gen-validation-unpause`.
1. Check in the task when it's ready to sign and request the facilitators to collect signatures from signers.
1. Once executed, check in the records files and mark the task `EXECUTED` in the README.
================================================
FILE: SECURITY.md
================================================
# Security
## Bug bounty program
In line with our strategy of being the safest way for users to access crypto:
+ Coinbase is extending our [best-in-industry][1] million-dollar [HackerOne bug bounty program][2]
to cover the Base network, the Base bridge contracts, and Base infrastructure.
+ Coinbase's bug bounty program runs alongside Optimism's existing [Immunefi Bedrock bounty program][4]
to support the open source [Bedrock][5] OP Stack framework.
## Reporting vulnerabilities
All potential vulnerability reports can be submitted via the [HackerOne][6]
platform.
The HackerOne platform allows us to have a centralized and single reporting
source for us to deliver optimized SLA's and results. All reports submitted to
the platform are triaged around the clock by our team of Coinbase engineers
with domain knowledge, assuring the best quality of review.
For more information on reporting vulnerabilities and our HackerOne bug bounty
program, view our [security program policies][7].
[1]: https://www.coinbase.com/blog/celebrating-10-years-of-our-bug-bounty-program
[2]: https://hackerone.com/coinbase?type=team
[3]: https://stack.optimism.io/
[4]: https://immunefi.com/bounty/optimism/
[5]: https://stack.optimism.io/docs/releases/bedrock/
[6]: https://hackerone.com/coinbase
[7]: https://hackerone.com/coinbase?view_policy=true
================================================
FILE: mainnet/2023-06-14-deploy/Makefile
================================================
include ../../Makefile
include ../.env
include .env
##
# Foundry commands
##
.PHONY: deploy
deploy:
./inputs/construct-config.sh && \
forge script --rpc-url $(L1_RPC_URL) RunDeployBedrock
jq --sort-keys . unsorted.json > deployed/addresses.json
cp deployed/addresses.json ../addresses.json
rm unsorted.json inputs/foundry-config.json
================================================
FILE: mainnet/2023-06-14-deploy/deployed/addresses.json
================================================
{
"AddressManager": "0x8EfB6B5c4767B09Dc9AA6Af4eAA89F749522BaE2",
"L1CrossDomainMessengerProxy": "0x866E82a600A1414e583f7F13623F1aC5d58b0Afa",
"L1ERC721BridgeProxy": "0x608d94945A64503E642E6370Ec598e519a2C1E53",
"L1StandardBridgeProxy": "0x3154Cf16ccdb4C6d922629664174b904d80F2C35",
"L2OutputOracleProxy": "0x56315b90c40730925ec5485cf004d835058518A0",
"OptimismMintableERC20FactoryProxy": "0x05cc379EBD9B30BbA19C6fA282AB29218EC61D84",
"OptimismPortalProxy": "0x49048044D57e1C92A77f79988d21Fa8fAF74E97e",
"ProxyAdmin": "0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E",
"SystemConfigProxy": "0x73a79Fab69143498Ed3712e519A88a918e1f4072",
"SystemDictatorProxy": "0x1fE3fdd1F0193Dd657C0a9AAC37314D6B479E557"
}
================================================
FILE: mainnet/2023-06-14-deploy/execute/RunDeployBedrock.s.sol
================================================
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.13;
import "forge-std/Script.sol";
import "forge-std/StdJson.sol";
import "@base-contracts/script/deploy/l1/DeployBedrock.s.sol";
contract RunDeployBedrock is Script {
function run() public {
DeployBedrock deployBedrock = new DeployBedrock();
deployBedrock.run();
}
}
================================================
FILE: mainnet/2023-06-14-deploy/foundry.toml
================================================
[profile.default]
src = 'src'
out = 'out'
libs = ['lib']
script = 'execute'
broadcast = 'records'
fs_permissions = [ {access = "read-write", path = "./"} ]
optimizer = true
optimizer_runs = 999999
solc_version = "0.8.15"
# See more config options https://github.com/foundry-rs/foundry/tree/master/config
================================================
FILE: mainnet/2023-06-14-deploy/inputs/construct-config.sh
================================================
#!/bin/bash
DEPLOY_FIELDS='"baseFeeVaultRecipient","batchSenderAddress","controller","deployerAddress","finalSystemOwner","finalizationPeriodSeconds","gasPriceOracleOverhead","gasPriceOracleScalar","l1ChainID","l1FeeVaultRecipient","l2BlockTime","l2ChainID","l2OutputOracleChallenger","l2OutputOracleProposer","l2OutputOracleStartingBlockNumber","l2OutputOracleStartingTimestamp","l2OutputOracleSubmissionInterval","p2pSequencerAddress","portalGuardian","proxyAdminOwnerL2","sequencerFeeVaultRecipient"'
DEPLOY_CONFIG_FILE="inputs/deploy-config.json"
MISC_CONFIG_FILE="inputs/misc-config.json"
FOUNDRY_CONFIG_FILE="inputs/foundry-config.json"
# Convert field from hex to decimal
VALUE=$(jq -r '.l2GenesisBlockGasLimit' "$DEPLOY_CONFIG_FILE")
GAS_LIMIT=$(printf %d $VALUE)
# Construct config file which will be the input in deploy script
jq -s '.[0] * .[1]' "$DEPLOY_CONFIG_FILE" "$MISC_CONFIG_FILE" | \
jq "with_entries(select([.key] | inside([$DEPLOY_FIELDS])))" | \
jq --arg l2GenesisBlockGasLimit $GAS_LIMIT '. + {l2GenesisBlockGasLimit: $l2GenesisBlockGasLimit | tonumber}' | \
jq --sort-keys | \
jq '{"deployConfig": .}' > "$FOUNDRY_CONFIG_FILE"
================================================
FILE: mainnet/2023-06-14-deploy/inputs/deploy-config.json
================================================
{
"numDeployConfirmations": 1,
"finalSystemOwner": "0x9855054731540A48b28990B63DcF4f33d8AE46A1",
"portalGuardian": "0x14536667Cd30e52C0b458BaACcB9faDA7046E056",
"controller": "0x6606d3c20cc94cc7aa1d430c0e83a5129976153a",
"l1StartingBlockTag": "0x5c13d307623a926cd31415036c8b7fa14572f9dac64528e857a470511fc30771",
"l2GenesisBlockExtraData": "YWxsIHlvdXIgYmFzZSBhcmUgYmVsb25nIHRvIHlvdS4=",
"l1ChainID": 1,
"l2ChainID": 8453,
"l2BlockTime": 2,
"maxSequencerDrift": 600,
"sequencerWindowSize": 3600,
"channelTimeout": 300,
"p2pSequencerAddress": "0xAf6E19BE0F9cE7f8afd49a1824851023A8249e8a",
"batchInboxAddress": "0xFf00000000000000000000000000000000008453",
"batchSenderAddress": "0x5050F69a9786F081509234F1a7F4684b5E5b76C9",
"l2OutputOracleSubmissionInterval": 1800,
"l2OutputOracleStartingBlockNumber": 0,
"l2OutputOracleStartingTimestamp": 1686789348,
"l2OutputOracleProposer": "0x642229f238fb9dE03374Be34B0eD8D9De80752c5",
"l2OutputOracleChallenger": "0x14536667Cd30e52C0b458BaACcB9faDA7046E056",
"finalizationPeriodSeconds": 604800,
"proxyAdminOwner": "0x76A737DAC0c4eB926bd7d2D68b958A1ae6Ad6993",
"baseFeeVaultRecipient": "0x09C7bAD99688a55a2e83644BFAed09e62bDcCcBA",
"l1FeeVaultRecipient": "0x09C7bAD99688a55a2e83644BFAed09e62bDcCcBA",
"sequencerFeeVaultRecipient": "0x09C7bAD99688a55a2e83644BFAed09e62bDcCcBA",
"baseFeeVaultMinimumWithdrawalAmount": "0x1bc16d674ec80000",
"l1FeeVaultMinimumWithdrawalAmount": "0x1bc16d674ec80000",
"sequencerFeeVaultMinimumWithdrawalAmount": "0x1bc16d674ec80000",
"baseFeeVaultWithdrawalNetwork": 1,
"l1FeeVaultWithdrawalNetwork": 1,
"sequencerFeeVaultWithdrawalNetwork": 1,
"gasPriceOracleOverhead": 188,
"gasPriceOracleScalar": 684000,
"l2GenesisBlockGasLimit": "0x1c9c380",
"l2GenesisBlockBaseFeePerGas": "0x3b9aca00",
"l2GenesisBlockCoinbase": "0x4200000000000000000000000000000000000011",
"enableGovernance": false,
"eip1559Denominator": 50,
"eip1559Elasticity": 6,
"l2GenesisRegolithTimeOffset": "0x0"
}
================================================
FILE: mainnet/2023-06-14-deploy/inputs/misc-config.json
================================================
{
"deployerAddress": "0x6606d3c20cc94cc7aa1d430c0e83a5129976153a"
}
================================================
FILE: mainnet/2023-06-14-deploy/remappings.txt
================================================
@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/
@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts
@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts
@rari-capital/solmate/=lib/solmate/
@base-contracts/=lib/base-contracts
================================================
FILE: mainnet/2023-06-14-deploy-deterministic-proxy/Makefile
================================================
include ../../Makefile
include ../.env
include .env
include .env.local
##
# Foundry commands
##
.PHONY: deploy-proxy
deploy-proxy:
forge script DeterministicProxyDeploy --rpc-url $(L2_RPC_URL) --sig "run(address,address,string)" $(DEPLOYER) $(ADMIN) $(SALT) \
--private-key $(SIGNER_PRIVATE_KEY) --broadcast
================================================
FILE: mainnet/2023-06-14-deploy-deterministic-proxy/foundry.toml
================================================
[profile.default]
src = 'src'
out = 'out'
libs = ['lib']
broadcast = 'records'
fs_permissions = [ {access = "read-write", path = "./"} ]
optimizer = true
optimizer_runs = 999999
solc_version = "0.8.15"
# See more config options https://github.com/foundry-rs/foundry/tree/master/config
================================================
FILE: mainnet/2023-06-14-deploy-deterministic-proxy/records/DeterministicProxyDeploy.s.sol/84531/run-1686756835.json
================================================
{
"transactions": [
{
"hash": "0x9b3bc49600a04a77f0960a7e58ea3e5e0582c3eb3cb6fd29b9aea772ca3f991a",
"transactionType": "CREATE2",
"contractName": "Proxy",
"contractAddress": "0x09C7bAD99688a55a2e83644BFAed09e62bDcCcBA",
"function": null,
"arguments": null,
"rpc": "https://base-goerli.cbhq.net",
"transaction": {
"type": "0x02",
"from": "0x21856935e5689490c72865f34cc665d0ff25664b",
"to": "0x4e59b44847b379578588920ca78fbf26c0b4956c",
"gas": "0xb4238",
"value": "0x0",
"data": "0xbf4491d8f9f2e3e841563ec19c29afb358f86d5bec100ce006569acd46b846d3608060405234801561001057600080fd5b5060405161094138038061094183398101604081905261002f916100b2565b6100388161003e565b506100e2565b60006100566000805160206109218339815191525490565b600080516020610921833981519152839055604080516001600160a01b038084168252851660208201529192507f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a15050565b6000602082840312156100c457600080fd5b81516001600160a01b03811681146100db57600080fd5b9392505050565b610830806100f16000396000f3fe60806040526004361061005e5760003560e01c80635c60da1b116100435780635c60da1b146100be5780638f283970146100f8578063f851a440146101185761006d565b80633659cfe6146100755780634f1ef286146100955761006d565b3661006d5761006b61012d565b005b61006b61012d565b34801561008157600080fd5b5061006b6100903660046106d9565b610224565b6100a86100a33660046106f4565b610296565b6040516100b59190610777565b60405180910390f35b3480156100ca57600080fd5b506100d3610419565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100b5565b34801561010457600080fd5b5061006b6101133660046106d9565b6104b0565b34801561012457600080fd5b506100d3610517565b60006101577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905073ffffffffffffffffffffffffffffffffffffffff8116610201576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f50726f78793a20696d706c656d656e746174696f6e206e6f7420696e6974696160448201527f6c697a656400000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3660008037600080366000845af43d6000803e8061021e573d6000fd5b503d6000f35b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061027d575033155b1561028e5761028b816105a3565b50565b61028b61012d565b60606102c07fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806102f7575033155b1561040a57610305846105a3565b6000808573ffffffffffffffffffffffffffffffffffffffff16858560405161032f9291906107ea565b600060405180830381855af49150503d806000811461036a576040519150601f19603f3d011682016040523d82523d6000602084013e61036f565b606091505b509150915081610401576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f50726f78793a2064656c656761746563616c6c20746f206e657720696d706c6560448201527f6d656e746174696f6e20636f6e7472616374206661696c65640000000000000060648201526084016101f8565b91506104129050565b61041261012d565b9392505050565b60006104437fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061047a575033155b156104a557507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6104ad61012d565b90565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610509575033155b1561028e5761028b8161060b565b60006105417fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610578575033155b156104a557507fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81905560405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60006106357fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61038390556040805173ffffffffffffffffffffffffffffffffffffffff8084168252851660208201529192507f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a15050565b803573ffffffffffffffffffffffffffffffffffffffff811681146106d457600080fd5b919050565b6000602082840312156106eb57600080fd5b610412826106b0565b60008060006040848603121561070957600080fd5b610712846106b0565b9250602084013567ffffffffffffffff8082111561072f57600080fd5b818601915086601f83011261074357600080fd5b81358181111561075257600080fd5b87602082850101111561076457600080fd5b6020830194508093505050509250925092565b600060208083528351808285015260005b818110156107a457858101830151858201604001528201610788565b818111156107b6576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b818382376000910190815291905056fea26469706673582212203e9545bbd92f25742cbe30879c764c7ecf7eb84d039a044082903938bc50f48364736f6c634300080f0033b53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610300000000000000000000000076a737dac0c4eb926bd7d2d68b958a1ae6ad6993",
"nonce": "0x6b",
"accessList": []
},
"additionalContracts": [],
"isFixedGasLimit": false
}
],
"receipts": [
{
"transactionHash": "0x9b3bc49600a04a77f0960a7e58ea3e5e0582c3eb3cb6fd29b9aea772ca3f991a",
"transactionIndex": "0x1",
"blockHash": "0x93a3b7c84f3f9f292bf076cb24ab7185896f4a66c893caf1f50939d64de73e3e",
"blockNumber": "0x583868",
"from": "0x21856935e5689490c72865f34CC665D0FF25664b",
"to": "0x4e59b44847b379578588920cA78FbF26c0B4956C",
"cumulativeGasUsed": "0x8dde3",
"gasUsed": "0x826ae",
"contractAddress": null,
"logs": [
{
"address": "0x09C7bAD99688a55a2e83644BFAed09e62bDcCcBA",
"topics": [
"0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f"
],
"data": "0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000076a737dac0c4eb926bd7d2d68b958a1ae6ad6993",
"blockHash": "0x93a3b7c84f3f9f292bf076cb24ab7185896f4a66c893caf1f50939d64de73e3e",
"blockNumber": "0x583868",
"transactionHash": "0x9b3bc49600a04a77f0960a7e58ea3e5e0582c3eb3cb6fd29b9aea772ca3f991a",
"transactionIndex": "0x1",
"logIndex": "0x0",
"removed": false
}
],
"status": "0x1",
"logsBloom": "0x00000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000010000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000100000000000000000000000000000000000000000000000",
"type": "0x2",
"effectiveGasPrice": "0xb2d05e32"
}
],
"libraries": [],
"pending": [],
"path": "/Users/davidknott/Coinbase/base/contract-deployments/mainnet/2023-06-14-deploy-deterministic-proxy/records/DeterministicProxyDeploy.s.sol/84531/run-latest.json",
"returns": {},
"timestamp": 1686756835,
"chain": 84531,
"multi": false,
"commit": "f5b9bf2"
}
================================================
FILE: mainnet/2023-06-14-deploy-deterministic-proxy/remappings.txt
================================================
@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/
@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts
@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts
@rari-capital/solmate/=lib/solmate/
@base-contracts/=lib/base-contracts
================================================
FILE: mainnet/2023-06-14-deploy-deterministic-proxy/script/DeterministicProxyDeploy.s.sol
================================================
// SPDX-License-Identifier: MIT
pragma solidity 0.8.15;
import { console } from "forge-std/console.sol";
import { Script } from "forge-std/Script.sol";
import { Proxy } from "@eth-optimism-bedrock/contracts/universal/Proxy.sol";
/**
* @title DeterministicProxyDeploy
* @notice Script for setting deploying deterministic proxies.
*/
contract DeterministicProxyDeploy is Script {
function run(address deployer, address admin, string calldata salt) external {
console.log("Deployer: %s", deployer);
console.log("Admin: %s", admin);
console.log("salt: %s", salt);
vm.startBroadcast(deployer);
Proxy proxy = new Proxy{ salt: keccak256(abi.encode(salt))}(admin);
vm.stopBroadcast();
console.log("Proxy address: %s", address(proxy));
}
}
================================================
FILE: mainnet/2023-06-14-test-tx/Makefile
================================================
include ../../Makefile
include ../.env
include .env
##
# Foundry commands
##
.PHONY: test
test:
forge script TestScript --rpc-url $(L1_RPC_URL)
================================================
FILE: mainnet/2023-06-14-test-tx/foundry.toml
================================================
[profile.default]
src = 'src'
out = 'out'
libs = ['lib']
broadcast = 'records'
fs_permissions = [ {access = "read-write", path = "./"} ]
optimizer = true
optimizer_runs = 999999
solc_version = "0.8.15"
# See more config options https://github.com/foundry-rs/foundry/tree/master/config
================================================
FILE: mainnet/2023-06-14-test-tx/remappings.txt
================================================
@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/
@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts
@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts
@rari-capital/solmate/=lib/solmate/
@base-contracts/=lib/base-contracts
================================================
FILE: mainnet/2023-06-14-test-tx/script/Test.s.sol
================================================
// SPDX-License-Identifier: MIT
pragma solidity 0.8.15;
import "forge-std/Script.sol";
import "src/Test.sol";
contract TestScript is Script {
function run() public {
vm.broadcast(0x0996bb0F5d56BB72c85C50Bd92A950E9756dF117);
Test test = new Test();
vm.broadcast(0x0996bb0F5d56BB72c85C50Bd92A950E9756dF117);
test.increment();
}
}
================================================
FILE: mainnet/2023-06-14-test-tx/src/Test.sol
================================================
// SPDX-License-Identifier: MIT
pragma solidity 0.8.15;
contract Test {
uint256 public number;
function setNumber(uint256 newNumber) public {
number = newNumber;
}
function increment() public {
number++;
}
}
================================================
FILE: mainnet/2023-06-15-unpause-portal/Makefile
================================================
include ../../Makefile
include ../.env
include .env
##
# Foundry commands
##
ifndef LEDGER_ACCOUNT
override LEDGER_ACCOUNT = 0
endif
.PHONY: unpause-portal
unpause-portal:
forge script --rpc-url $(L1_RPC_URL) RunUnpausePortal --sender $(SENDER) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --sig "run(address)" $(INCIDENT_MULTISIG)
================================================
FILE: mainnet/2023-06-15-unpause-portal/foundry.toml
================================================
[profile.default]
src = 'src'
out = 'out'
libs = ['lib']
broadcast = 'records'
fs_permissions = [ {access = "read-write", path = "./"} ]
optimizer = true
optimizer_runs = 999999
solc_version = "0.8.15"
# See more config options https://github.com/foundry-rs/foundry/tree/master/config
================================================
FILE: mainnet/2023-06-15-unpause-portal/records/UnpausePortal.s.sol/1/run-1686800969.json
================================================
{
"transactions": [
{
"hash": "0x3306847757bd7c4c25e45c72b23e9a5e17d061bc7b9998b2ec752deae0703371",
"transactionType": "CALL",
"contractName": null,
"contractAddress": "0x14536667Cd30e52C0b458BaACcB9faDA7046E056",
"function": null,
"arguments": null,
"rpc": "https://nodes-proxy-development.cbhq.net/geth/mainnet-full-lighthouse",
"transaction": {
"type": "0x02",
"from": "0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f",
"to": "0x14536667cd30e52c0b458baaccb9fada7046e056",
"gas": "0x11ccb",
"value": "0x0",
"data": "0xd4d9bdcd46d4e76ba5ee7ce00812736a4c1b49a37842384ab0e36c51d04e49fa169090f8",
"nonce": "0x1",
"accessList": []
},
"additionalContracts": []
}
],
"receipts": [
{
"transactionHash": "0x3306847757bd7c4c25e45c72b23e9a5e17d061bc7b9998b2ec752deae0703371",
"transactionIndex": "0x16",
"blockHash": "0x108ebacb907288da33f41bef2de58b6c26b7c4828de9ce56a1b1b92006a44410",
"blockNumber": "0x10ac3e6",
"from": "0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F",
"to": "0x14536667Cd30e52C0b458BaACcB9faDA7046E056",
"cumulativeGasUsed": "0x38bda4",
"gasUsed": "0xce30",
"contractAddress": null,
"logs": [
{
"address": "0x14536667Cd30e52C0b458BaACcB9faDA7046E056",
"topics": [
"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c",
"0x46d4e76ba5ee7ce00812736a4c1b49a37842384ab0e36c51d04e49fa169090f8",
"0x0000000000000000000000008e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f"
],
"data": "0x",
"blockHash": "0x108ebacb907288da33f41bef2de58b6c26b7c4828de9ce56a1b1b92006a44410",
"blockNumber": "0x10ac3e6",
"transactionHash": "0x3306847757bd7c4c25e45c72b23e9a5e17d061bc7b9998b2ec752deae0703371",
"transactionIndex": "0x16",
"logIndex": "0x52",
"removed": false
}
],
"status": "0x1",
"logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000800000000100000000000000000000000000000000000000000000000000000000000000000000000040000000008000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000800008000000000000000000000000080000000000000000100000000000000000",
"type": "0x2",
"effectiveGasPrice": "0x48d190b05"
}
],
"libraries": [],
"pending": [],
"path": "/Users/anikaraghuvanshi/Documents/protocols/base-deployments/mainnet/2023-06-15-unpause-portal/records/UnpausePortal.s.sol/1/run-latest.json",
"returns": {},
"timestamp": 1686800969,
"chain": 1,
"multi": false,
"commit": "f826d66"
}
================================================
FILE: mainnet/2023-06-15-unpause-portal/records/UnpausePortal.s.sol/1/run-1686801711.json
================================================
{
"transactions": [
{
"hash": "0x994fac4468406b1a1b13a84278a99a497a9bbc3716f5cc60b3f35562e6f8d9ac",
"transactionType": "CALL",
"contractName": null,
"contractAddress": "0x14536667Cd30e52C0b458BaACcB9faDA7046E056",
"function": null,
"arguments": null,
"rpc": "https://nodes-proxy-development.cbhq.net/geth/mainnet-full-lighthouse",
"transaction": {
"type": "0x02",
"from": "0xa7a5e47d3959bf134e3ecdeb1f62e054f0d58a18",
"to": "0x14536667cd30e52c0b458baaccb9fada7046e056",
"gas": "0x11ccb",
"value": "0x0",
"data": "0xd4d9bdcd46d4e76ba5ee7ce00812736a4c1b49a37842384ab0e36c51d04e49fa169090f8",
"nonce": "0x1",
"accessList": []
},
"additionalContracts": [],
"isFixedGasLimit": false
}
],
"receipts": [
{
"transactionHash": "0x994fac4468406b1a1b13a84278a99a497a9bbc3716f5cc60b3f35562e6f8d9ac",
"transactionIndex": "0x13",
"blockHash": "0x3b6ee9386c81bbc3e673647663c0de837263e403b0d779a654e8fcb5b92b0c7a",
"blockNumber": "0x10ac424",
"from": "0xa7a5e47D3959bf134e3EcdEb1f62e054f0D58a18",
"to": "0x14536667Cd30e52C0b458BaACcB9faDA7046E056",
"cumulativeGasUsed": "0x13dd6d",
"gasUsed": "0xce30",
"contractAddress": null,
"logs": [
{
"address": "0x14536667Cd30e52C0b458BaACcB9faDA7046E056",
"topics": [
"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c",
"0x46d4e76ba5ee7ce00812736a4c1b49a37842384ab0e36c51d04e49fa169090f8",
"0x000000000000000000000000a7a5e47d3959bf134e3ecdeb1f62e054f0d58a18"
],
"data": "0x",
"blockHash": "0x3b6ee9386c81bbc3e673647663c0de837263e403b0d779a654e8fcb5b92b0c7a",
"blockNumber": "0x10ac424",
"transactionHash": "0x994fac4468406b1a1b13a84278a99a497a9bbc3716f5cc60b3f35562e6f8d9ac",
"transactionIndex": "0x13",
"logIndex": "0x15",
"removed": false
}
],
"status": "0x1",
"logsBloom": "0x00400000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000100000000000000000000000000800000000000000000000000000000000000000000000040000000008000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000100000000000000000",
"type": "0x2",
"effectiveGasPrice": "0x4412869cc"
}
],
"libraries": [],
"pending": [],
"path": "/Users/michaeldehoog/src/contract-deployments/mainnet/2023-06-15-unpause-portal/records/UnpausePortal.s.sol/1/run-latest.json",
"returns": {},
"timestamp": 1686801711,
"chain": 1,
"multi": false,
"commit": "f826d66"
}
================================================
FILE: mainnet/2023-06-15-unpause-portal/records/UnpausePortal.s.sol/1/run-1686802144.json
================================================
{
"transactions": [
{
"hash": "0xe7e8f2173546f69c7cf6e4f5e7ce196b2a901b30899b425f8be4b738f276f6fd",
"transactionType": "CALL",
"contractName": null,
"contractAddress": "0x14536667Cd30e52C0b458BaACcB9faDA7046E056",
"function": null,
"arguments": null,
"rpc": "https://nodes-proxy-development.cbhq.net/geth/mainnet-full-lighthouse",
"transaction": {
"type": "0x02",
"from": "0x969ffd102fbf304d4e401999333fe9397dac653d",
"to": "0x14536667cd30e52c0b458baaccb9fada7046e056",
"gas": "0x11ccb",
"value": "0x0",
"data": "0xd4d9bdcd46d4e76ba5ee7ce00812736a4c1b49a37842384ab0e36c51d04e49fa169090f8",
"nonce": "0x0",
"accessList": []
},
"additionalContracts": [],
"isFixedGasLimit": false
},
{
"hash": "0x2d34cf9e52ee11f6cc681a98d44e277e71dccf46b0491671051dce189f0122dc",
"transactionType": "CALL",
"contractName": null,
"contractAddress": "0x14536667Cd30e52C0b458BaACcB9faDA7046E056",
"function": null,
"arguments": null,
"rpc": "https://nodes-proxy-development.cbhq.net/geth/mainnet-full-lighthouse",
"transaction": {
"type": "0x02",
"from": "0x969ffd102fbf304d4e401999333fe9397dac653d",
"to": "0x14536667cd30e52c0b458baaccb9fada7046e056",
"gas": "0x18506",
"value": "0x0",
"data": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000280000000000000000000000000000000000000000000000000000000000000010482ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000043f4ba83a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c30000000000000000000000008e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000969ffd102fbf304d4e401999333fe9397dac653d000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000a7a5e47d3959bf134e3ecdeb1f62e054f0d58a180000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000",
"nonce": "0x1",
"accessList": []
},
"additionalContracts": [],
"isFixedGasLimit": false
}
],
"receipts": [
{
"transactionHash": "0xe7e8f2173546f69c7cf6e4f5e7ce196b2a901b30899b425f8be4b738f276f6fd",
"transactionIndex": "0x11",
"blockHash": "0x69161d41d6fbaa911c1dfedae1ac9836b821c03c5eedc46707795d11d4d33261",
"blockNumber": "0x10ac446",
"from": "0x969ffD102fbF304d4e401999333FE9397DaC653D",
"to": "0x14536667Cd30e52C0b458BaACcB9faDA7046E056",
"cumulativeGasUsed": "0x1e3ae9",
"gasUsed": "0xce30",
"contractAddress": null,
"logs": [
{
"address": "0x14536667Cd30e52C0b458BaACcB9faDA7046E056",
"topics": [
"0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c",
"0x46d4e76ba5ee7ce00812736a4c1b49a37842384ab0e36c51d04e49fa169090f8",
"0x000000000000000000000000969ffd102fbf304d4e401999333fe9397dac653d"
],
"data": "0x",
"blockHash": "0x69161d41d6fbaa911c1dfedae1ac9836b821c03c5eedc46707795d11d4d33261",
"blockNumber": "0x10ac446",
"transactionHash": "0xe7e8f2173546f69c7cf6e4f5e7ce196b2a901b30899b425f8be4b738f276f6fd",
"transactionIndex": "0x11",
"logIndex": "0x3a",
"removed": false
}
],
"status": "0x1",
"logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000040000000008000000400000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000004000000100000000000000000",
"type": "0x2",
"effectiveGasPrice": "0x4320d2797"
},
{
"transactionHash": "0x2d34cf9e52ee11f6cc681a98d44e277e71dccf46b0491671051dce189f0122dc",
"transactionIndex": "0x10",
"blockHash": "0x6f03c2363fd0313344194353f08fd308873a28f073fd6d3fc3d616cd8deca273",
"blockNumber": "0x10ac447",
"from": "0x969ffD102fbF304d4e401999333FE9397DaC653D",
"to": "0x14536667Cd30e52C0b458BaACcB9faDA7046E056",
"cumulativeGasUsed": "0x12ff6e",
"gasUsed": "0x119a6",
"contractAddress": null,
"logs": [
{
"address": "0x49048044D57e1C92A77f79988d21Fa8fAF74E97e",
"topics": [
"0x5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa"
],
"data": "0x00000000000000000000000014536667cd30e52c0b458baaccb9fada7046e056",
"blockHash": "0x6f03c2363fd0313344194353f08fd308873a28f073fd6d3fc3d616cd8deca273",
"blockNumber": "0x10ac447",
"transactionHash": "0x2d34cf9e52ee11f6cc681a98d44e277e71dccf46b0491671051dce189f0122dc",
"transactionIndex": "0x10",
"logIndex": "0x18",
"removed": false
},
{
"address": "0x14536667Cd30e52C0b458BaACcB9faDA7046E056",
"topics": [
"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e"
],
"data": "0x46d4e76ba5ee7ce00812736a4c1b49a37842384ab0e36c51d04e49fa169090f80000000000000000000000000000000000000000000000000000000000000000",
"blockHash": "0x6f03c2363fd0313344194353f08fd308873a28f073fd6d3fc3d616cd8deca273",
"blockNumber": "0x10ac447",
"transactionHash": "0x2d34cf9e52ee11f6cc681a98d44e277e71dccf46b0491671051dce189f0122dc",
"transactionIndex": "0x10",
"logIndex": "0x19",
"removed": false
}
],
"status": "0x1",
"logsBloom": "0x00000000400000000000000000000000000000000000000080000000040000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000008000000000000000000000000000000080000000004000000000000000000000000000000000000000000000000000000000000000020000000000000000000400",
"type": "0x2",
"effectiveGasPrice": "0x42b80e8c1"
}
],
"libraries": [],
"pending": [],
"path": "/Users/andrewflockhart/src/opensource/contract-deployments/mainnet/2023-06-15-unpause-portal/records/UnpausePortal.s.sol/1/run-latest.json",
"returns": {},
"timestamp": 1686802144,
"chain": 1,
"multi": false,
"commit": "f826d66"
}
================================================
FILE: mainnet/2023-06-15-unpause-portal/remappings.txt
================================================
@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/
@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts
@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts
@rari-capital/solmate/=lib/solmate/
@base-contracts/=lib/base-contracts
================================================
FILE: mainnet/2023-06-15-unpause-portal/script/UnpausePortal.s.sol
================================================
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.13;
import "forge-std/Script.sol";
import "@base-contracts/script/calls/UnpausePortal.s.sol";
contract RunUnpausePortal is Script {
function run(address _safe) public {
UnpausePortal unpausePortal = new UnpausePortal();
unpausePortal.run(_safe);
}
}
================================================
FILE: mainnet/2023-06-15-validate-deploy/Makefile
================================================
include ../../Makefile
include ../.env
include .env
##
# Foundry commands
##
.PHONY: validate-deploy
validate-deploy:
forge script --rpc-url $(L1_RPC_URL) ValidateDeploy
================================================
FILE: mainnet/2023-06-15-validate-deploy/foundry.toml
================================================
[profile.default]
src = 'src'
out = 'out'
libs = ['lib']
broadcast = 'records'
fs_permissions = [ {access = "read-write", path = "./"} ]
optimizer = true
optimizer_runs = 999999
solc_version = "0.8.15"
# See more config options https://github.com/foundry-rs/foundry/tree/master/config
================================================
FILE: mainnet/2023-06-15-validate-deploy/remappings.txt
================================================
@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/
@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts
@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts
@rari-capital/solmate/=lib/solmate/
@base-contracts/=lib/base-contracts
================================================
FILE: mainnet/2023-06-15-validate-deploy/script/ValidateDeploy.s.sol
================================================
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.13;
import "forge-std/Script.sol";
import "@base-contracts/script/deploy/l1/CheckBedrockDeploy.s.sol";
contract ValidateDeploy is Script {
function run() public {
CheckBedrockDeploy checkBedrockDeploy = new CheckBedrockDeploy();
checkBedrockDeploy.setup();
checkBedrockDeploy.run();
}
}
================================================
FILE: mainnet/2023-06-21-transfer-system-cfg-owner/Makefile
================================================
include ../../Makefile
include ../.env
include .env
##
# Foundry commands
##
.PHONY: sign
sign:
chmod +x ./sign.sh && ./sign.sh
.PHONY: run
run:
forge script --via-ir --rpc-url $(L1_RPC_URL) TransferSystemConfigOwner \
--sender $(SENDER) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" \
--sig "run(bytes)" $(SIGNATURES) --broadcast
================================================
FILE: mainnet/2023-06-21-transfer-system-cfg-owner/foundry.toml
================================================
[profile.default]
src = 'src'
out = 'out'
libs = ['lib']
broadcast = 'records'
fs_permissions = [ {access = "read-write", path = "./"} ]
optimizer = true
optimizer_runs = 999999
solc_version = "0.8.15"
# See more config options https://github.com/foundry-rs/foundry/tree/master/config
================================================
FILE: mainnet/2023-06-21-transfer-system-cfg-owner/records/TransferOwner.s.sol/1/run-1687552190.json
================================================
{
"transactions": [
{
"hash": "0x642679522ea3b74d7a28f73c27cda0f669b5027a24e08bc908c0b1de2cd16c5e",
"transactionType": "CALL",
"contractName": null,
"contractAddress": "0x9855054731540A48b28990B63DcF4f33d8AE46A1",
"function": null,
"arguments": null,
"rpc": "https://nodes-proxy-development.cbhq.net/geth/mainnet-full-lighthouse",
"transaction": {
"type": "0x02",
"from": "0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f",
"to": "0x9855054731540a48b28990b63dcf4f33d8ae46a1",
"gas": "0x1e599",
"value": "0x0",
"data": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024f2fde38b00000000000000000000000014536667cd30e52c0b458baaccb9fada7046e056000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3142cedf9b438319df9e829087bcd24a29d59b0579d58ba7b3b2b63acd4300bb73eecf54d338a8bc64e8e2a10207fffb6f17bcec589be52f1e74e9dcc53f240881c491f929936e170ded4a37cb21d257776f6852b0d3ea6b54a1b9de949d88ef37e63c5e9bc67a279c51c4c84b96bdcc84ecb99edf6a3a58caa8afc5f2cf516474a1b15494416f2221546887108a50742844226e74c990fccab0b7881b1115101ef410d702a584750cf4deace25375fa94ed5360ef6438ec3914f249d5028ede702621b0000000000000000000000000000000000000000000000000000000000",
"nonce": "0x2",
"accessList": []
},
"additionalContracts": []
}
],
"receipts": [
{
"transactionHash": "0x642679522ea3b74d7a28f73c27cda0f669b5027a24e08bc908c0b1de2cd16c5e",
"transactionIndex": "0x16",
"blockHash": "0x2ae62c42c8fd33312e47dbf12e8c81b918f6791abd6529603a66699b671db13a",
"blockNumber": "0x10bb5ce",
"from": "0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F",
"to": "0x9855054731540A48b28990B63DcF4f33d8AE46A1",
"cumulativeGasUsed": "0x2ab71d",
"gasUsed": "0x14c09",
"contractAddress": null,
"logs": [
{
"address": "0x73a79Fab69143498Ed3712e519A88a918e1f4072",
"topics": [
"0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0",
"0x0000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1",
"0x00000000000000000000000014536667cd30e52c0b458baaccb9fada7046e056"
],
"data": "0x",
"blockHash": "0x2ae62c42c8fd33312e47dbf12e8c81b918f6791abd6529603a66699b671db13a",
"blockNumber": "0x10bb5ce",
"transactionHash": "0x642679522ea3b74d7a28f73c27cda0f669b5027a24e08bc908c0b1de2cd16c5e",
"transactionIndex": "0x16",
"logIndex": "0x64",
"removed": false
},
{
"address": "0x9855054731540A48b28990B63DcF4f33d8AE46A1",
"topics": [
"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e"
],
"data": "0x41137f1c029bce8204a3dd563cbe824b5b30a215bdcef2f1fbff8ec92e68f4fc0000000000000000000000000000000000000000000000000000000000000000",
"blockHash": "0x2ae62c42c8fd33312e47dbf12e8c81b918f6791abd6529603a66699b671db13a",
"blockNumber": "0x10bb5ce",
"transactionHash": "0x642679522ea3b74d7a28f73c27cda0f669b5027a24e08bc908c0b1de2cd16c5e",
"transactionIndex": "0x16",
"logIndex": "0x65",
"removed": false
}
],
"status": "0x1",
"logsBloom": "0x00000000400000000000000010000000000000000008000000800000040000000000008020000000000101000000000000000000000000000000000000000000000000000000000000000000000000000001000008000000000000000000000000000002000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000020000000000000000000000000000000000000000000000000000020000000000000000000000000000000000040000000000000000000000000000000000000000000000000",
"type": "0x2",
"effectiveGasPrice": "0x4115a849a"
}
],
"libraries": [],
"pending": [],
"path": "/Users/anikaraghuvanshi/Documents/protocols/base-deployments/mainnet/2023-06-21-transfer-system-cfg-owner/records/TransferOwner.s.sol/1/run-latest.json",
"returns": {
"0": {
"internal_type": "bool",
"value": "true"
}
},
"timestamp": 1687552190,
"chain": 1,
"multi": false,
"commit": "b381618"
}
================================================
FILE: mainnet/2023-06-21-transfer-system-cfg-owner/remappings.txt
================================================
@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/
@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts
@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts
@rari-capital/solmate/=lib/solmate/
@base-contracts/=lib/base-contracts
================================================
FILE: mainnet/2023-06-21-transfer-system-cfg-owner/script/TransferOwner.s.sol
================================================
// SPDX-License-Identifier: MIT
pragma solidity 0.8.15;
import "forge-std/Script.sol";
import {
OwnableUpgradeable
} from "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol";
import { IMulticall3 } from "forge-std/interfaces/IMulticall3.sol";
import { SystemConfig } from "@eth-optimism-bedrock/contracts/L1/SystemConfig.sol";
import { MultisigBuilder } from "@base-contracts/script/universal/MultisigBuilder.sol";
contract TransferSystemConfigOwner is MultisigBuilder {
address constant internal SYSTEM_CONFIG_ADDR = 0x73a79Fab69143498Ed3712e519A88a918e1f4072;
address constant internal NEW_OWNER = 0x14536667Cd30e52C0b458BaACcB9faDA7046E056;
address constant internal CB_OWNER_SAFE = 0x9855054731540A48b28990B63DcF4f33d8AE46A1;
/**
* @notice Follow up assertions to ensure that the script ran to completion.
*/
function _postCheck() internal override view {
require(OwnableUpgradeable(SYSTEM_CONFIG_ADDR).owner() == NEW_OWNER, "Owner did not change");
}
/**
* @notice Returns the safe address to execute the transaction from
*/
function _ownerSafe() internal override view returns (address) {
return CB_OWNER_SAFE;
}
/**
* @notice Creates the calldata
*/
function _buildCalls() internal override pure returns (IMulticall3.Call3[] memory) {
IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1);
calls[0] = IMulticall3.Call3({
target: SYSTEM_CONFIG_ADDR,
allowFailure: false,
callData: abi.encodeCall(
OwnableUpgradeable.transferOwnership,
(NEW_OWNER)
)
});
return calls;
}
}
================================================
FILE: mainnet/2023-06-21-transfer-system-cfg-owner/sign.sh
================================================
#!/bin/bash
set -e
source ../.env
source .env
payload=$(forge script --via-ir --rpc-url ${L1_RPC_URL} TransferSystemConfigOwner --sig "sign()" | tee /dev/stderr | grep -A1 vvvvvvvv | grep -v vvvvvvvv)
cd lib/base-contracts
echo "${payload}" | go run ./cmd/sign --ledger --hd-path "m/44'/60'/${LEDGER_ACCOUNT}'/0/0"
================================================
FILE: mainnet/2023-07-11-test-l2-safe/Makefile
================================================
include ../../Makefile
include ../.env
include .env
ifndef LEDGER_ACCOUNT
override LEDGER_ACCOUNT = 0
endif
##
# Foundry commands
##
.PHONY: deploy-test
deploy-test:
forge script --rpc-url $(L2_RPC_URL) DeployTestProxy \
--sig "run(address, address)" $(DEPLOYER) $(L2_SAFE) \
--ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast
##
# MultisigBuilder commands
##
.PHONY: sign
sign:
cd lib/base-contracts && \
go run ./cmd/sign --workdir ../.. --ledger -- forge script --via-ir --rpc-url $(L2_RPC_URL) TestL2Safe --sig "sign()"
.PHONY: run
run:
forge script --via-ir --rpc-url $(L2_RPC_URL) \
TestL2Safe --sig "run(bytes)" $(SIGNATURES) --sender $(SENDER) \
--ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast
================================================
FILE: mainnet/2023-07-11-test-l2-safe/foundry.toml
================================================
[profile.default]
src = 'src'
out = 'out'
libs = ['lib']
broadcast = 'records'
fs_permissions = [ {access = "read-write", path = "./"} ]
optimizer = true
optimizer_runs = 999999
solc_version = "0.8.15"
via-ir = true
remappings = [
'@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',
'@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',
'@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',
'@rari-capital/solmate/=lib/solmate/',
'@base-contracts/=lib/base-contracts'
]
# See more config options https://github.com/foundry-rs/foundry/tree/master/config
================================================
FILE: mainnet/2023-07-11-test-l2-safe/records/DeployTestProxy.s.sol/8453/run-1689807430.json
================================================
{
"transactions": [
{
"hash": "0x822d55506eb5af76227a2db3a2f5e459d2acb35cc4a983617b190dcfd1d018f2",
"transactionType": "CREATE",
"contractName": "ProxyAdmin",
"contractAddress": "0x21EB1F4C0b15336b83Ec574842C1fcfC9DF6d698",
"function": null,
"arguments": [
"0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F"
],
"rpc": "https://base-mainnet.cbhq.net",
"transaction": {
"type": "0x02",
"from": "0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f",
"gas": "0x1ee52c",
"value": "0x0",
"data": "0x60803461007257601f62001bbd38819003918201601f19168301916001600160401b038311848410176100775780849260209460405283398101031261007257516001600160a01b0381168103610072576100629061005d3361008d565b61008d565b604051611ae39081620000da8239f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b600080546001600160a01b039283166001600160a01b03198216811783556040519093909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a356fe6040608081526004908136101561001557600080fd5b600091823560e01c9081630652b57a1461124a57816307c8f7b0146111be578163204e1c7a14611165578163238181ae146110ea5781633ab76e9f146110975781636bd9f51614610ffa578163715018a614610f5b5781637eff275e14610d4e578163860f7cda14610b465781638d52d4a014610aa55781638da5cb5b14610a545781639623609d146105cc57816399a88ec4146103b3578382639b2ea4bd146102c657508163b794726214610281578163f2fde38b14610143575063f3b7dead146100e057600080fd5b3461013f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f5760209073ffffffffffffffffffffffffffffffffffffffff6101376101326112ce565b61192f565b915191168152f35b5080fd5b90503461027d5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261027d5761017c6112ce565b6101846115bc565b73ffffffffffffffffffffffffffffffffffffffff8091169182156101fa575060005492827fffffffffffffffffffffffff00000000000000000000000000000000000000008516176000555192167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600084a3f35b60849060208551917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152fd5b8280fd5b50503461013f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f5760209060ff60035460a01c1690519015158152f35b91503461013f57827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f57803567ffffffffffffffff811161027d57610314903690830161159e565b9061031d6112f6565b6103256115bc565b73ffffffffffffffffffffffffffffffffffffffff60035416803b156103af5761037f938580948851968795869485937f9b2ea4bd000000000000000000000000000000000000000000000000000000008552840161163b565b03925af180156103a25761039257505051f35b61039b9061136c565b61013f5751f35b50505051903d90823e3d90fd5b8480fd5b83833461013f57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f576103eb6112ce565b926103f46112f6565b6103fc6115bc565b73ffffffffffffffffffffffffffffffffffffffff80951694858552600160205260ff84862054169560038710156105a0578686979695961560001461048a5750803b156103af57849283602492885196879586947f3659cfe600000000000000000000000000000000000000000000000000000000865216908401525af180156103a25761039257505051f35b929392600181036105095750803b156103af578492836044927f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc94895197889687957f9b0b0fda0000000000000000000000000000000000000000000000000000000087528601521660248401525af180156103a25761039257505051f35b919450919291906002036105745790859392918452600260205261052e8585206113f0565b9260035416803b156103af5761037f938580948851968795869485937f9b2ea4bd000000000000000000000000000000000000000000000000000000008552840161163b565b6024866001857f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b6024866021867f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b905060607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261027d576106006112ce565b6106086112f6565b6044359267ffffffffffffffff91828511610a505736602386011215610a505761063c602495369087818601359101611567565b936106456115bc565b73ffffffffffffffffffffffffffffffffffffffff809116918289526020956001875260ff898b2054166003811015610a25578a959493929190610756576106c6908a80519a8b97889687967f4f1ef286000000000000000000000000000000000000000000000000000000008852169086015284015260448301906114ea565b039134905af1801561074c576106dd575b50505051f35b3d8086853e6106ec81856113af565b8301928281850312610748578051918211610748570182601f820112156103af578051916107198361152d565b93610726865195866113af565b8385528184840101116107485780610740940191016114b5565b3880806106d7565b8580fd5b84513d87823e3d90fd5b939796955093506107656115bc565b8189526001855260ff888a20541660038110156109fa57899493929190806108b45750813b156103af578851937f3659cfe600000000000000000000000000000000000000000000000000000000855216878401528383878183855af19283156108aa578493610892575b505b84825192019034905af13d1561088d573d6107ec8161152d565b906107f9875192836113af565b815286833d92013e5b1561080d5750505051f35b90602e9160849451937f08c379a00000000000000000000000000000000000000000000000000000000085528401528201527f50726f787941646d696e3a2063616c6c20746f2070726f78792061667465722060448201527f75706772616465206661696c65640000000000000000000000000000000000006064820152fd5b610802565b61089e9093919361136c565b61027d578291386107d0565b88513d86823e3d90fd5b600181036109495750813b156103af578851937f9b0b0fda0000000000000000000000000000000000000000000000000000000085527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc898601521686840152838360448183855af19283156108aa578493610931575b506107d2565b61093d9093919361136c565b61027d5782913861092b565b6002919293949550146000146109cf579088939291818552600286526109708986206113f0565b906003541693843b15610748576109b8948692838b8d51988995869485937f9b2ea4bd000000000000000000000000000000000000000000000000000000008552840161163b565b03925af19283156108aa57849361093157506107d2565b85896001897f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b868a60218a7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b888b6021887f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b8680fd5b50503461013f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f5773ffffffffffffffffffffffffffffffffffffffff60209254169051908152f35b50503461013f57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f57610add6112ce565b602435906003821015610b425773ffffffffffffffffffffffffffffffffffffffff90610b086115bc565b16835260016020528183209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00835416911617905551f35b8380fd5b83833461013f57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f57610b7e6112ce565b9267ffffffffffffffff6024358181116103af57610bb473ffffffffffffffffffffffffffffffffffffffff913690850161159e565b95610bbd6115bc565b168452602060028152838520928651928311610d225750610bde8354611319565b601f8111610cdf575b5080601f8311600114610c40575084958293949592610c35575b50507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8260011b9260031b1c191617905551f35b015190508580610c01565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08316968487528287209287905b898210610cc75750508360019596979810610c90575b505050811b01905551f35b01517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88460031b161c19169055858080610c85565b80600185968294968601518155019501930190610c6f565b838652818620601f840160051c810191838510610d18575b601f0160051c01905b818110610d0d5750610be7565b868155600101610d00565b9091508190610cf7565b8560416024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b83833461013f57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f57610d866112ce565b92610d8f6112f6565b610d976115bc565b73ffffffffffffffffffffffffffffffffffffffff80951694858552600160205260ff848620541660038110156105a05780610e2057508585969594953b156103af57849283602492885196879586947f8f28397000000000000000000000000000000000000000000000000000000000865216908401525af180156103a25761039257505051f35b60018103610e7b57508585969594953b156103af57849283602492885196879586947f13af403500000000000000000000000000000000000000000000000000000000865216908401525af180156103a25761039257505051f35b9395509192600203610ef1578160035416803b156103af5784929183602492885196879586947ff2fde38b00000000000000000000000000000000000000000000000000000000865216908401525af18015610ee757610eda57509051f35b610ee39061136c565b9051f35b83513d84823e3d90fd5b610f578386519182917f08c379a0000000000000000000000000000000000000000000000000000000008352820160609060208152601e60208201527f50726f787941646d696e3a20756e6b6e6f776e2070726f78792074797065000060408201520190565b0390fd5b50503461013f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f57610f936115bc565b8173ffffffffffffffffffffffffffffffffffffffff8154927fffffffffffffffffffffffff0000000000000000000000000000000000000000841683555192167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08284a3f35b83833461013f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f5773ffffffffffffffffffffffffffffffffffffffff6110486112ce565b168252600160205260ff8183205416905191600382101561106b57602083838152f35b806021857f4e487b71000000000000000000000000000000000000000000000000000000006024945252fd5b50503461013f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f5760209073ffffffffffffffffffffffffffffffffffffffff600354169051908152f35b50503461013f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f5761114e816111619373ffffffffffffffffffffffffffffffffffffffff6111406112ce565b1681526002602052206113f0565b90519182916020835260208301906114ea565b0390f35b50503461013f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f5760209073ffffffffffffffffffffffffffffffffffffffff6101376111b96112ce565b61169b565b90503461027d5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261027d573580151580910361027d576112026115bc565b7fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff74ff00000000000000000000000000000000000000006003549260a01b1691161760035551f35b90503461027d5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261027d573573ffffffffffffffffffffffffffffffffffffffff811680910361027d576112a26115bc565b7fffffffffffffffffffffffff0000000000000000000000000000000000000000600354161760035551f35b6004359073ffffffffffffffffffffffffffffffffffffffff821682036112f157565b600080fd5b6024359073ffffffffffffffffffffffffffffffffffffffff821682036112f157565b90600182811c92168015611362575b602083101461133357565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b91607f1691611328565b67ffffffffffffffff811161138057604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761138057604052565b906040519182600082549261140484611319565b9081845260019485811690816000146114735750600114611430575b505061142e925003836113af565b565b9093915060005260209081600020936000915b81831061145b57505061142e93508201013880611420565b85548884018501529485019487945091830191611443565b905061142e9550602093507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b8201013880611420565b918091926000905b8282106114d55750116114ce575050565b6000910152565b915080602091830151818601520182916114bd565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602093611526815180928187528780880191016114b5565b0116010190565b67ffffffffffffffff811161138057601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b9291926115738261152d565b9161158160405193846113af565b8294818452818301116112f1578281602093846000960137010152565b9080601f830112156112f1578160206115b993359101611567565b90565b73ffffffffffffffffffffffffffffffffffffffff6000541633036115dd57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b9073ffffffffffffffffffffffffffffffffffffffff6116686020929594956040855260408501906114ea565b9416910152565b908160209103126112f1575173ffffffffffffffffffffffffffffffffffffffff811681036112f15790565b600073ffffffffffffffffffffffffffffffffffffffff80921680825260019160209183835260409460ff86842054166003811015611902578061174e5750506004935082908551948580927f5c60da1b0000000000000000000000000000000000000000000000000000000082525afa93841561174457509261171e57505090565b6115b99250803d1061173d575b61173581836113af565b81019061166f565b503d61172b565b51903d90823e3d90fd5b80860361179a5750506004935082908551948580927faaf10f420000000000000000000000000000000000000000000000000000000082525afa93841561174457509261171e57505090565b6002036118a45790839160035416908352600282528583209086519586927fbf40fac100000000000000000000000000000000000000000000000000000000845284600485015285918154916117ef83611319565b92836024880152868382169182600014611862575050600114611829575b50505082809103915afa93841561174457509261171e57505090565b87528587208793505b82841061184957505050820160440182803861180d565b80546044858c01015288968a9650909301928101611832565b90955060449350859492507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b820101913861180d565b85517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f50726f787941646d696e3a20756e6b6e6f776e2070726f7879207479706500006044820152606490fd5b6024847f4e487b710000000000000000000000000000000000000000000000000000000081526021600452fd5b600073ffffffffffffffffffffffffffffffffffffffff809216908181526020916001835260409360ff8584205416600381101561190257806119b15750509082600493928551948580927ff851a4400000000000000000000000000000000000000000000000000000000082525afa93841561174457509261171e57505090565b600181036119fe5750509082600493928551948580927f893d20e80000000000000000000000000000000000000000000000000000000082525afa93841561174457509261171e57505090565b909150600203611a4f57908260049392600354168551948580927f8da5cb5b0000000000000000000000000000000000000000000000000000000082525afa93841561174457509261171e57505090565b83517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f50726f787941646d696e3a20756e6b6e6f776e2070726f7879207479706500006044820152606490fdfea26469706673582212206ce3996d0020ca145f7585b749245fa3ea49757895d59304087276c7fae1e40f64736f6c634300080f00330000000000000000000000008e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f",
"nonce": "0x0",
"accessList": []
},
"additionalContracts": []
},
{
"hash": "0xc0434db4f363b1a8487b962c09e86f91d0b41d1829cba196dfc252b428ee2ac0",
"transactionType": "CREATE",
"contractName": "Proxy",
"contractAddress": "0xCFf6EbA9DD666C6AE51Ec35a3999A9715e5aAa87",
"function": null,
"arguments": [
"0x21EB1F4C0b15336b83Ec574842C1fcfC9DF6d698"
],
"rpc": "https://base-mainnet.cbhq.net",
"transaction": {
"type": "0x02",
"from": "0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f",
"gas": "0xa12fb",
"value": "0x0",
"data": "0x6080346100b857601f61089638819003918201601f19168301916001600160401b038311848410176100bd578084926020946040528339810103126100b857516001600160a01b03808216918281036100b8577f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f926040927fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610392835493558351921682526020820152a16040516107c290816100d48239f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6080604052600436101561002c575b361561001f575b61001d6106aa565b005b6100276106aa565b610015565b6000803560e01c9081633659cfe614610093575080634f1ef2861461008a5780635c60da1b146100815780638f283970146100785763f851a4400361000e576100736104f0565b61000e565b50610073610422565b50610073610362565b506100736101d0565b3461012f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012f576100ca610132565b73ffffffffffffffffffffffffffffffffffffffff7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103541633148015610127575b1561011e5761011990610647565b604051f35b506101196106aa565b50331561010b565b80fd5b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361015557565b600080fd5b919091602080825283519081818401526000945b8286106101ba575050601f817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09260409596116101ad575b0116010190565b60008582860101526101a6565b858101820151848701604001529481019461016e565b5060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015557610203610132565b6024359067ffffffffffffffff908183116101555736602384011215610155578260040135908282116101555736602483860101116101555761031f9360609273ffffffffffffffffffffffffffffffffffffffff7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610354163314801561035a575b156103485791602460009392849361029b84610647565b80604051938493018337810184815203915af4903d1561033d5750610313903d838111610330575b604051937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f81601f850116011685019085821090821117610323575b60405283523d6000602085013e6105bc565b6040519182918261015a565b0390f35b61032b61058c565b610301565b61033861058c565b6102c3565b9150610313906105bc565b50505090506103556106aa565b610313565b503315610284565b50346101555760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610155576020600073ffffffffffffffffffffffffffffffffffffffff90817fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610354163314801561041a575b1561040c57507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc54905b60405191168152f35b906104156106aa565b610403565b5033156103d9565b50346101555760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101555761045a610132565b73ffffffffffffffffffffffffffffffffffffffff907fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610382815416331480156104e8575b156104dd577f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f92826040938354935581845193168352166020820152a1005b50505061001d6106aa565b50331561049e565b50346101555760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610155576020600073ffffffffffffffffffffffffffffffffffffffff907fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103908282541633148015610584575b1561057957505460405191168152f35b9190506104156106aa565b503315610569565b507f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b156105c357565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f50726f78793a2064656c656761746563616c6c20746f206e657720696d706c6560448201527f6d656e746174696f6e20636f6e7472616374206661696c6564000000000000006064820152fd5b73ffffffffffffffffffffffffffffffffffffffff90807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b6000604051a2565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff811615610708576000808092368280378136915af43d82803e15610704573d90f35b3d90fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f50726f78793a20696d706c656d656e746174696f6e206e6f7420696e6974696160448201527f6c697a65640000000000000000000000000000000000000000000000000000006064820152fdfea2646970667358221220cda8c84ad0f53d583bdbfd81c99ffd0cc3a0dbb096a3ac63c6e408997f19a56d64736f6c634300080f003300000000000000000000000021eb1f4c0b15336b83ec574842c1fcfc9df6d698",
"nonce": "0x1",
"accessList": []
},
"additionalContracts": []
},
{
"hash": "0x64491dc2d6222f24e7e64eabc033b48427837516ce071f478580c0a4f917c8ba",
"transactionType": "CREATE",
"contractName": "GasPriceOracle",
"contractAddress": "0x0a9F0F5B38951955ff68263510AD45Af71468D55",
"function": null,
"arguments": null,
"rpc": "https://base-mainnet.cbhq.net",
"transaction": {
"type": "0x02",
"from": "0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f",
"gas": "0xb54b4",
"value": "0x0",
"data": "0x60e08060405234610040576001608052600060a052600060c0526109739081610046823960805181610135015260a0518161015f015260c051816101ac0152f35b600080fdfe604060808152600436101561001357600080fd5b6000803560e01c9182630c18c1621461032c5782632e0f2625146102f4578263313ce567146102f457826349948e0e146102b8578263519b4bd31461027f57826354fd4d50146101005782636ef25c3a146100f5578263de26c4a1146100dc578263f45e65d81461009857505063fe173b9714610090575b600080fd5b61008b6104cb565b346100d857817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d8576020906100d16105f4565b9051908152f35b5080fd5b346100d8576020906100d16100f03661040f565b61070b565b50505061008b6104cb565b903461027c57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261027c57506101597f0000000000000000000000000000000000000000000000000000000000000000610800565b906101837f0000000000000000000000000000000000000000000000000000000000000000610800565b917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f6101d07f0000000000000000000000000000000000000000000000000000000000000000610800565b926102576022865180966020998a6101f18185019788815193849201610496565b8301907f2e0000000000000000000000000000000000000000000000000000000000000091828d82015261022f8d8351938491602185019101610496565b01906021820152610248825180938d8785019101610496565b01036002810187520185610365565b6102738551968795818752519283809288015287870190610496565b01168101030190f35b80fd5b346100d857817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d8576020906100d1610649565b346100d857602090620f42406102ec6102e46102d66100f03661040f565b6102de610649565b90610505565b6102de6105f4565b049051908152f35b346100d857817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d8576020905160068152f35b346100d857817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d8576020906100d1610565565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176103a657604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b67ffffffffffffffff81116103a657601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc82011261008b5760043567ffffffffffffffff811161008b578160238201121561008b57806004013590610465826103d5565b926104736040519485610365565b8284526024838301011161008b5781600092602460209301838601378301015290565b918091926000905b8282106104b65750116104af575050565b6000910152565b9150806020918301518186015201829161049e565b503461008b5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261008b576020604051488152f35b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821181151516610536570290565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6040517f8b239f730000000000000000000000000000000000000000000000000000000081526020816004817342000000000000000000000000000000000000155afa9081156105e8576000916105ba575090565b906020823d82116105e0575b816105d360209383610365565b8101031261027c57505190565b3d91506105c6565b6040513d6000823e3d90fd5b6040517f9e8c49660000000000000000000000000000000000000000000000000000000081526020816004817342000000000000000000000000000000000000155afa9081156105e8576000916105ba575090565b6040517f5cf249690000000000000000000000000000000000000000000000000000000081526020816004817342000000000000000000000000000000000000155afa9081156105e8576000916105ba575090565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146105365760010190565b9081518110156106dc570160200190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600090805182915b81831061075d57505050610725610565565b908119811161053657017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbbf8111610536576104400190565b9091927fff0000000000000000000000000000000000000000000000000000000000000061078b85846106cb565b51166107cc577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb81116105365760046107c591019361069e565b9190610713565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffef81116105365760106107c591019361069e565b80156108f25780816000925b6108de575061081a826103d5565b916108286040519384610365565b808352817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0610856836103d5565b013660208601375b61086757505090565b60018110610536577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190600a90603082820680198211610536570160f81b7fff000000000000000000000000000000000000000000000000000000000000001660001a6108d584866106cb565b5304908161085e565b916108ea600a9161069e565b92048061080c565b506040516040810181811067ffffffffffffffff8211176103a657604052600181527f300000000000000000000000000000000000000000000000000000000000000060208201529056fea2646970667358221220423e3494542a9935d3dd426265981eff23ee66563b708723970c29eca792028664736f6c634300080f0033",
"nonce": "0x2",
"accessList": []
},
"additionalContracts": []
},
{
"hash": "0xfde936c2d7931991c489377399d507da4031d4d1df42e852d616a61383e97daf",
"transactionType": "CREATE",
"contractName": "GasPriceOracle",
"contractAddress": "0x25afe4249e4410DB5F20c6421d96E0F02C0f4E3B",
"function": null,
"arguments": null,
"rpc": "https://base-mainnet.cbhq.net",
"transaction": {
"type": "0x02",
"from": "0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f",
"gas": "0xb54b4",
"value": "0x0",
"data": "0x60e08060405234610040576001608052600060a052600060c0526109739081610046823960805181610135015260a0518161015f015260c051816101ac0152f35b600080fdfe604060808152600436101561001357600080fd5b6000803560e01c9182630c18c1621461032c5782632e0f2625146102f4578263313ce567146102f457826349948e0e146102b8578263519b4bd31461027f57826354fd4d50146101005782636ef25c3a146100f5578263de26c4a1146100dc578263f45e65d81461009857505063fe173b9714610090575b600080fd5b61008b6104cb565b346100d857817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d8576020906100d16105f4565b9051908152f35b5080fd5b346100d8576020906100d16100f03661040f565b61070b565b50505061008b6104cb565b903461027c57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261027c57506101597f0000000000000000000000000000000000000000000000000000000000000000610800565b906101837f0000000000000000000000000000000000000000000000000000000000000000610800565b917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f6101d07f0000000000000000000000000000000000000000000000000000000000000000610800565b926102576022865180966020998a6101f18185019788815193849201610496565b8301907f2e0000000000000000000000000000000000000000000000000000000000000091828d82015261022f8d8351938491602185019101610496565b01906021820152610248825180938d8785019101610496565b01036002810187520185610365565b6102738551968795818752519283809288015287870190610496565b01168101030190f35b80fd5b346100d857817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d8576020906100d1610649565b346100d857602090620f42406102ec6102e46102d66100f03661040f565b6102de610649565b90610505565b6102de6105f4565b049051908152f35b346100d857817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d8576020905160068152f35b346100d857817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d8576020906100d1610565565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176103a657604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b67ffffffffffffffff81116103a657601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc82011261008b5760043567ffffffffffffffff811161008b578160238201121561008b57806004013590610465826103d5565b926104736040519485610365565b8284526024838301011161008b5781600092602460209301838601378301015290565b918091926000905b8282106104b65750116104af575050565b6000910152565b9150806020918301518186015201829161049e565b503461008b5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261008b576020604051488152f35b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821181151516610536570290565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6040517f8b239f730000000000000000000000000000000000000000000000000000000081526020816004817342000000000000000000000000000000000000155afa9081156105e8576000916105ba575090565b906020823d82116105e0575b816105d360209383610365565b8101031261027c57505190565b3d91506105c6565b6040513d6000823e3d90fd5b6040517f9e8c49660000000000000000000000000000000000000000000000000000000081526020816004817342000000000000000000000000000000000000155afa9081156105e8576000916105ba575090565b6040517f5cf249690000000000000000000000000000000000000000000000000000000081526020816004817342000000000000000000000000000000000000155afa9081156105e8576000916105ba575090565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146105365760010190565b9081518110156106dc570160200190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600090805182915b81831061075d57505050610725610565565b908119811161053657017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbbf8111610536576104400190565b9091927fff0000000000000000000000000000000000000000000000000000000000000061078b85846106cb565b51166107cc577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb81116105365760046107c591019361069e565b9190610713565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffef81116105365760106107c591019361069e565b80156108f25780816000925b6108de575061081a826103d5565b916108286040519384610365565b808352817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0610856836103d5565b013660208601375b61086757505090565b60018110610536577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190600a90603082820680198211610536570160f81b7fff000000000000000000000000000000000000000000000000000000000000001660001a6108d584866106cb565b5304908161085e565b916108ea600a9161069e565b92048061080c565b506040516040810181811067ffffffffffffffff8211176103a657604052600181527f300000000000000000000000000000000000000000000000000000000000000060208201529056fea2646970667358221220423e3494542a9935d3dd426265981eff23ee66563b708723970c29eca792028664736f6c634300080f0033",
"nonce": "0x3",
"accessList": []
},
"additionalContracts": []
},
{
"hash": "0xc7200f26d576867650850a2246de2e54f423a6d48ab89f0349e594e94c9de413",
"transactionType": "CALL",
"contractName": "ProxyAdmin",
"contractAddress": "0x21EB1F4C0b15336b83Ec574842C1fcfC9DF6d698",
"function": "upgrade(address,address)",
"arguments": [
"0xCFf6EbA9DD666C6AE51Ec35a3999A9715e5aAa87",
"0x0a9F0F5B38951955ff68263510AD45Af71468D55"
],
"rpc": "https://base-mainnet.cbhq.net",
"transaction": {
"type": "0x02",
"from": "0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f",
"to": "0x21eb1f4c0b15336b83ec574842c1fcfc9df6d698",
"gas": "0x13bad",
"value": "0x0",
"data": "0x99a88ec4000000000000000000000000cff6eba9dd666c6ae51ec35a3999a9715e5aaa870000000000000000000000000a9f0f5b38951955ff68263510ad45af71468d55",
"nonce": "0x4",
"accessList": []
},
"additionalContracts": []
},
{
"hash": "0xaa1a94bea1643e7f9c889bc0b35ee081d7af1388314becfa171343b5ec19ee34",
"transactionType": "CALL",
"contractName": "ProxyAdmin",
"contractAddress": "0x21EB1F4C0b15336b83Ec574842C1fcfC9DF6d698",
"function": "transferOwnership(address)",
"arguments": [
"0xd94E416cf2c7167608B2515B7e4102B41efff94f"
],
"rpc": "https://base-mainnet.cbhq.net",
"transaction": {
"type": "0x02",
"from": "0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f",
"to": "0x21eb1f4c0b15336b83ec574842c1fcfc9df6d698",
"gas": "0x9ad8",
"value": "0x0",
"data": "0xf2fde38b000000000000000000000000d94e416cf2c7167608b2515b7e4102b41efff94f",
"nonce": "0x5",
"accessList": []
},
"additionalContracts": []
}
],
"receipts": [
{
"transactionHash": "0x822d55506eb5af76227a2db3a2f5e459d2acb35cc4a983617b190dcfd1d018f2",
"transactionIndex": "0x1",
"blockHash": "0x5f5eb64d649db23786041200b8afc4f8ebb4050f4508fb5a151973ee7a378188",
"blockNumber": "0x1706a0",
"from": "0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F",
"to": null,
"cumulativeGasUsed": "0x18be08",
"gasUsed": "0x17c3fb",
"contractAddress": "0x21EB1F4C0b15336b83Ec574842C1fcfC9DF6d698",
"logs": [
{
"address": "0x21EB1F4C0b15336b83Ec574842C1fcfC9DF6d698",
"topics": [
"0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0",
"0x0000000000000000000000000000000000000000000000000000000000000000",
"0x0000000000000000000000008e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f"
],
"data": "0x",
"blockHash": "0x5f5eb64d649db23786041200b8afc4f8ebb4050f4508fb5a151973ee7a378188",
"blockNumber": "0x1706a0",
"transactionHash": "0x822d55506eb5af76227a2db3a2f5e459d2acb35cc4a983617b190dcfd1d018f2",
"transactionIndex": "0x1",
"logIndex": "0x0",
"removed": false
},
{
"address": "0x21EB1F4C0b15336b83Ec574842C1fcfC9DF6d698",
"topics": [
"0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0",
"0x0000000000000000000000008e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f",
"0x0000000000000000000000008e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f"
],
"data": "0x",
"blockHash": "0x5f5eb64d649db23786041200b8afc4f8ebb4050f4508fb5a151973ee7a378188",
"blockNumber": "0x1706a0",
"transactionHash": "0x822d55506eb5af76227a2db3a2f5e459d2acb35cc4a983617b190dcfd1d018f2",
"transactionIndex": "0x1",
"logIndex": "0x1",
"removed": false
}
],
"status": "0x1",
"logsBloom": "0x00000000000000000000000000000000000000000000080000800000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001000000000000000001000000000000000000020000000000000000000800000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020800008000000000000000000000000000000000000000000000000000000000000",
"type": "0x2",
"effectiveGasPrice": "0xb2d05e32"
},
{
"transactionHash": "0xc0434db4f363b1a8487b962c09e86f91d0b41d1829cba196dfc252b428ee2ac0",
"transactionIndex": "0x3",
"blockHash": "0xcf8fc146f6a54d89d3a8e54a9787c60b7d414b6a6707674f7865083d87fe278c",
"blockNumber": "0x1706a5",
"from": "0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F",
"to": null,
"cumulativeGasUsed": "0x9292a",
"gasUsed": "0x7bfd5",
"contractAddress": "0xCFf6EbA9DD666C6AE51Ec35a3999A9715e5aAa87",
"logs": [
{
"address": "0xCFf6EbA9DD666C6AE51Ec35a3999A9715e5aAa87",
"topics": [
"0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f"
],
"data": "0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000021eb1f4c0b15336b83ec574842c1fcfc9df6d698",
"blockHash": "0xcf8fc146f6a54d89d3a8e54a9787c60b7d414b6a6707674f7865083d87fe278c",
"blockNumber": "0x1706a5",
"transactionHash": "0xc0434db4f363b1a8487b962c09e86f91d0b41d1829cba196dfc252b428ee2ac0",
"transactionIndex": "0x3",
"logIndex": "0x0",
"removed": false
}
],
"status": "0x1",
"logsBloom": "0x00000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000020000000000000000000000000000000000000000000000000000000000000000000000000",
"type": "0x2",
"effectiveGasPrice": "0xb2d05e32"
},
{
"transactionHash": "0x64491dc2d6222f24e7e64eabc033b48427837516ce071f478580c0a4f917c8ba",
"transactionIndex": "0x1",
"blockHash": "0x1187ae22e09b89111578e3c12a0e3021c03a5f3201b91c011066d4a53b01de92",
"blockNumber": "0x1706a7",
"from": "0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F",
"to": null,
"cumulativeGasUsed": "0x96e91",
"gasUsed": "0x8b750",
"contractAddress": "0x0a9F0F5B38951955ff68263510AD45Af71468D55",
"logs": [],
"status": "0x1",
"logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"type": "0x2",
"effectiveGasPrice": "0xb2d05e32"
},
{
"transactionHash": "0xfde936c2d7931991c489377399d507da4031d4d1df42e852d616a61383e97daf",
"transactionIndex": "0x1",
"blockHash": "0x3bebe921b6c6b816942227fe40e5110c448d2fda44793d74c3819749e1cd4c76",
"blockNumber": "0x1706a8",
"from": "0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F",
"to": null,
"cumulativeGasUsed": "0x96e91",
"gasUsed": "0x8b750",
"contractAddress": "0x25afe4249e4410DB5F20c6421d96E0F02C0f4E3B",
"logs": [],
"status": "0x1",
"logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"type": "0x2",
"effectiveGasPrice": "0xb2d05e32"
},
{
"transactionHash": "0xc7200f26d576867650850a2246de2e54f423a6d48ab89f0349e594e94c9de413",
"transactionIndex": "0x1",
"blockHash": "0x8587560f96c5de1e581b908bef0a3f8eb04a5775a819769f61cf931ccfaeb7ab",
"blockNumber": "0x1706ad",
"from": "0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F",
"to": "0x21EB1F4C0b15336b83Ec574842C1fcfC9DF6d698",
"cumulativeGasUsed": "0x18f1a",
"gasUsed": "0xd7d9",
"contractAddress": null,
"logs": [
{
"address": "0xCFf6EbA9DD666C6AE51Ec35a3999A9715e5aAa87",
"topics": [
"0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b",
"0x0000000000000000000000000a9f0f5b38951955ff68263510ad45af71468d55"
],
"data": "0x",
"blockHash": "0x8587560f96c5de1e581b908bef0a3f8eb04a5775a819769f61cf931ccfaeb7ab",
"blockNumber": "0x1706ad",
"transactionHash": "0xc7200f26d576867650850a2246de2e54f423a6d48ab89f0349e594e94c9de413",
"transactionIndex": "0x1",
"logIndex": "0x0",
"removed": false
}
],
"status": "0x1",
"logsBloom": "0x00000000000000000000000000000002400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000020000000000000000000000000100000000000000000000000000000000010000000000000",
"type": "0x2",
"effectiveGasPrice": "0xb2d05e32"
},
{
"transactionHash": "0xaa1a94bea1643e7f9c889bc0b35ee081d7af1388314becfa171343b5ec19ee34",
"transactionIndex": "0x1",
"blockHash": "0xd72906a17efd61f22eb642ad006f719c853a8e17bc1ff12c49cc12c7c9a62c2c",
"blockNumber": "0x1706b0",
"from": "0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F",
"to": "0x21EB1F4C0b15336b83Ec574842C1fcfC9DF6d698",
"cumulativeGasUsed": "0x1275d",
"gasUsed": "0x701c",
"contractAddress": null,
"logs": [
{
"address": "0x21EB1F4C0b15336b83Ec574842C1fcfC9DF6d698",
"topics": [
"0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0",
"0x0000000000000000000000008e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f",
"0x000000000000000000000000d94e416cf2c7167608b2515b7e4102b41efff94f"
],
"data": "0x",
"blockHash": "0xd72906a17efd61f22eb642ad006f719c853a8e17bc1ff12c49cc12c7c9a62c2c",
"blockNumber": "0x1706b0",
"transactionHash": "0xaa1a94bea1643e7f9c889bc0b35ee081d7af1388314becfa171343b5ec19ee34",
"transactionIndex": "0x1",
"logIndex": "0x0",
"removed": false
}
],
"status": "0x1",
"logsBloom": "0x00000000000000000000000000000000000000000080080000800000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000200000000000000000000000000800008000000000000000000000000000000000000000000000000000000000000",
"type": "0x2",
"effectiveGasPrice": "0xb2d05e32"
}
],
"libraries": [],
"pending": [],
"path": "/Users/anikaraghuvanshi/Documents/protocols/base-deployments/mainnet/2023-07-11-test-l2-safe/records/DeployTestProxy.s.sol/8453/run-latest.json",
"returns": {},
"timestamp": 1689807430,
"chain": 8453,
"multi": false,
"commit": "0fa628c"
}
================================================
FILE: mainnet/2023-07-11-test-l2-safe/records/TestL2Safe.s.sol/8453/run-1689855846.json
================================================
{
"transactions": [
{
"hash": "0x683052176787193038fcb49ee4593837792c43ff2ad4d9f0592d75cb52250f81",
"transactionType": "CALL",
"contractName": null,
"contractAddress": "0xd94E416cf2c7167608B2515B7e4102B41efff94f",
"function": null,
"arguments": null,
"rpc": "https://base-mainnet.cbhq.net",
"transaction": {
"type": "0x02",
"from": "0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f",
"to": "0xd94e416cf2c7167608b2515b7e4102b41efff94f",
"gas": "0x27f56",
"value": "0x0",
"data": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c0000000000000000000000000000000000000000000000000000000000000014482ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000021eb1f4c0b15336b83ec574842c1fcfc9df6d69800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004499a88ec4000000000000000000000000cff6eba9dd666c6ae51ec35a3999a9715e5aaa87000000000000000000000000004bc95c786dc50b42cc573458cc39ba82d98c09000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3bac938ef494c80e6855b16a6a9d2c46550f07b0c169bb07ced7e0e8e8a2161446caea17596af341eba8a5457c65022119d02b7dbe2c3f87972dcbf96b0f47fd31cccdd869fb6d98aed3761c124ec13c503e433e42308ad450cce9e31dc0c5315e916dc0ddd10d958e4127093ffd1fd2e3f73544bc77bcf0fa3a4851cda099a9bb21ccb9074ae44edf2c2037092dc4625f0c7e492b118344580e67b8e3190612b1ce541e76f3a54a2b7419f0b09b3ccc0ee90fd6667145c0c7b476b5f1dbcec21cea61b0000000000000000000000000000000000000000000000000000000000",
"nonce": "0x6",
"accessList": []
},
"additionalContracts": []
}
],
"receipts": [
{
"transactionHash": "0x683052176787193038fcb49ee4593837792c43ff2ad4d9f0592d75cb52250f81",
"transactionIndex": "0x1",
"blockHash": "0x23d4e026976b0bf91fe9db3cefbb227ccf59deaca81d77605293b3cdf7e1e61c",
"blockNumber": "0x176540",
"from": "0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F",
"to": "0xd94E416cf2c7167608B2515B7e4102B41efff94f",
"cumulativeGasUsed": "0x28620",
"gasUsed": "0x1cedf",
"contractAddress": null,
"logs": [
{
"address": "0xd94E416cf2c7167608B2515B7e4102B41efff94f",
"topics": [
"0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed"
],
"data": "0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e000000000000000000000000000000000000000000000000000000000000003e0000000000000000000000000000000000000000000000000000000000000014482ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000021eb1f4c0b15336b83ec574842c1fcfc9df6d69800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004499a88ec4000000000000000000000000cff6eba9dd666c6ae51ec35a3999a9715e5aaa87000000000000000000000000004bc95c786dc50b42cc573458cc39ba82d98c09000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3bac938ef494c80e6855b16a6a9d2c46550f07b0c169bb07ced7e0e8e8a2161446caea17596af341eba8a5457c65022119d02b7dbe2c3f87972dcbf96b0f47fd31cccdd869fb6d98aed3761c124ec13c503e433e42308ad450cce9e31dc0c5315e916dc0ddd10d958e4127093ffd1fd2e3f73544bc77bcf0fa3a4851cda099a9bb21ccb9074ae44edf2c2037092dc4625f0c7e492b118344580e67b8e3190612b1ce541e76f3a54a2b7419f0b09b3ccc0ee90fd6667145c0c7b476b5f1dbcec21cea61b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f0000000000000000000000000000000000000000000000000000000000000003",
"blockHash": "0x23d4e026976b0bf91fe9db3cefbb227ccf59deaca81d77605293b3cdf7e1e61c",
"blockNumber": "0x176540",
"transactionHash": "0x683052176787193038fcb49ee4593837792c43ff2ad4d9f0592d75cb52250f81",
"transactionIndex": "0x1",
"logIndex": "0x0",
"removed": false
},
{
"address": "0xCFf6EbA9DD666C6AE51Ec35a3999A9715e5aAa87",
"topics": [
"0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b",
"0x000000000000000000000000004bc95c786dc50b42cc573458cc39ba82d98c09"
],
"data": "0x",
"blockHash": "0x23d4e026976b0bf91fe9db3cefbb227ccf59deaca81d77605293b3cdf7e1e61c",
"blockNumber": "0x176540",
"transactionHash": "0x683052176787193038fcb49ee4593837792c43ff2ad4d9f0592d75cb52250f81",
"transactionIndex": "0x1",
"logIndex": "0x1",
"removed": false
},
{
"address": "0xd94E416cf2c7167608B2515B7e4102B41efff94f",
"topics": [
"0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e"
],
"data": "0xbdceb5cc27348442e4edc1b32489e3f7caca4fe7a502a186de1dc1a4337ac6050000000000000000000000000000000000000000000000000000000000000000",
"blockHash": "0x23d4e026976b0bf91fe9db3cefbb227ccf59deaca81d77605293b3cdf7e1e61c",
"blockNumber": "0x176540",
"transactionHash": "0x683052176787193038fcb49ee4593837792c43ff2ad4d9f0592d75cb52250f81",
"transactionIndex": "0x1",
"logIndex": "0x2",
"removed": false
}
],
"status": "0x1",
"logsBloom": "0x00000000400000000000000000000002400000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000040000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000400080200000000000004000000000000000000000000800000000000000020000000000000000000020000000000000000000000000020020000000000020000000000000000000000000000000000000000000000000000000000",
"type": "0x2",
"effectiveGasPrice": "0xb2d05e32"
}
],
"libraries": [],
"pending": [],
"path": "/Users/anikaraghuvanshi/Documents/protocols/base-deployments/mainnet/2023-07-11-test-l2-safe/records/TestL2Safe.s.sol/8453/run-latest.json",
"returns": {
"0": {
"internal_type": "bool",
"value": "true"
}
},
"timestamp": 1689855846,
"chain": 8453,
"multi": false,
"commit": "97ebacb"
}
================================================
FILE: mainnet/2023-07-11-test-l2-safe/script/DeployTestProxy.s.sol
================================================
// SPDX-License-Identifier: MIT
pragma solidity 0.8.15;
import "forge-std/Script.sol";
import "@eth-optimism-bedrock/contracts/universal/ProxyAdmin.sol";
import "@eth-optimism-bedrock/contracts/l2/GasPriceOracle.sol";
contract DeployTestProxy is Script {
function run(address deployer, address safeToTest) public {
// Deploy proxy admin contract
vm.broadcast(deployer);
ProxyAdmin proxyAdmin = new ProxyAdmin({
_owner: deployer
});
require(proxyAdmin.owner() == deployer, "DeployTestProxy: proxyAdmin owner is incorrect");
// Deploy an example proxy contract
vm.broadcast(deployer);
Proxy proxy = new Proxy({
_admin: address(proxyAdmin)
});
vm.prank(address(0));
require(proxy.admin() == address(proxyAdmin), "DeployTestProxy: admin is incorrect");
// Deploy 2 implementations - 1 will be set initially, 1 will be used in test upgrade
vm.broadcast(deployer);
GasPriceOracle implementation = new GasPriceOracle();
vm.broadcast(deployer);
GasPriceOracle implementation2 = new GasPriceOracle();
// Set implementation of proxy contract to first implementation
vm.broadcast(deployer);
proxyAdmin.upgrade({
_proxy: payable(proxy),
_implementation: address(implementation)
});
require(
proxyAdmin.getProxyImplementation(address(proxy)) == address(implementation),
"DeployTestProxy: implementation did not get set"
);
// Set safe we are testing to be the proxy admin owner
vm.broadcast(deployer);
proxyAdmin.transferOwnership(safeToTest);
require(proxyAdmin.owner() == safeToTest, "DeployTestProxy: proxyAdmin owner did not transfer correctly");
console.log("Deployed Addresses");
console.log("ProxyAdmin: ", address(proxyAdmin));
console.log("Proxy: ", address(proxy));
console.log("Implementation: ", address(implementation));
console.log("Implementation2: ", address(implementation2));
}
}
================================================
FILE: mainnet/2023-07-11-test-l2-safe/script/TestL2Safe.s.sol
================================================
// SPDX-License-Identifier: MIT
pragma solidity 0.8.15;
import {
OwnableUpgradeable
} from "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol";
import "@base-contracts/script/universal/MultisigBuilder.sol";
import "@eth-optimism-bedrock/contracts/universal/ProxyAdmin.sol";
contract TestL2Safe is MultisigBuilder {
address constant internal PROXY_ADMIN_CONTRACT = 0x21EB1F4C0b15336b83Ec574842C1fcfC9DF6d698;
address constant internal PROXY_CONTRACT = 0xCFf6EbA9DD666C6AE51Ec35a3999A9715e5aAa87;
address constant internal OLD_IMPLEMENTATION = 0x0a9F0F5B38951955ff68263510AD45Af71468D55;
address constant internal NEW_IMPLEMENTATION = 0x004BC95c786dc50b42cC573458cC39ba82d98C09;
address constant internal L2_SAFE = 0xd94E416cf2c7167608B2515B7e4102B41efff94f;
function _postCheck() internal override view {
ProxyAdmin proxyAdmin = ProxyAdmin(PROXY_ADMIN_CONTRACT);
// Check contract was upgraded
require(
proxyAdmin.getProxyImplementation(PROXY_CONTRACT) == NEW_IMPLEMENTATION,
"TestL2Safe: implementation did not get set"
);
}
function _buildCalls() internal override view returns (IMulticall3.Call3[] memory) {
ProxyAdmin proxyAdmin = ProxyAdmin(PROXY_ADMIN_CONTRACT);
require(
proxyAdmin.getProxyImplementation(PROXY_CONTRACT) == OLD_IMPLEMENTATION,
"TestL2Safe: implementation did not get set"
);
IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1);
// Upgrade a contract implementation
calls[0] = IMulticall3.Call3({
target: PROXY_ADMIN_CONTRACT,
allowFailure: false,
callData: abi.encodeCall(
ProxyAdmin.upgrade,
(payable(PROXY_CONTRACT), NEW_IMPLEMENTATION)
)
});
return calls;
}
function _ownerSafe() internal override view returns (address) {
return L2_SAFE;
}
}
================================================
FILE: mainnet/2023-07-17-test-l1-nested-safe/Makefile
================================================
include ../../Makefile
include ../.env
include .env
ifndef LEDGER_ACCOUNT
override LEDGER_ACCOUNT = 0
endif
.PHONY: deploy-test
deploy-test:
forge script --rpc-url $(L1_RPC_URL) DeployTestProxy \
--sig "run(address, address)" $(DEPLOYER) $(NESTED_L1_SAFE_ADDR) \
--ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --slow --broadcast
##
# Commands for signers to run to test the nested safe
##
.PHONY: sign-op
sign-op: deps
$(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \
forge script --rpc-url $(L1_RPC_URL) TestL1NestedSafe \
--sig "sign(address)" $(OP_SAFE_ADDR)
.PHONY: sign-cb
sign-cb: deps
$(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \
forge script --via-ir --rpc-url $(L1_RPC_URL) TestL1NestedSafe \
--sig "sign(address)" $(CB_SAFE_ADDR)
##
# Commands for faciliators to run to test the nested safe
##
.PHONY: run
run: deps approve-op approve-cb execute
.PHONY: approve-op
approve-op:
forge script --rpc-url $(L1_RPC_URL) TestL1NestedSafe \
--sig "approve(address,bytes)" $(OP_SAFE_ADDR) $(SIGNATURES) \
--ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast
.PHONY: approve-cb
approve-cb:
forge script --rpc-url $(L1_RPC_URL) TestL1NestedSafe \
--sig "approve(address,bytes)" $(CB_SAFE_ADDR) $(SIGNATURES) \
--ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast
execute:
forge script --rpc-url $(L1_RPC_URL) TestL1NestedSafe \
--sig "run()" --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast
================================================
FILE: mainnet/2023-07-17-test-l1-nested-safe/foundry.toml
================================================
[profile.default]
src = 'src'
out = 'out'
libs = ['lib']
broadcast = 'records'
fs_permissions = [ {access = "read-write", path = "./"} ]
optimizer = true
optimizer_runs = 999999
solc_version = "0.8.15"
via-ir = true
remappings = [
'@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',
'@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',
'@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',
'@rari-capital/solmate/=lib/solmate/',
'@base-contracts/=lib/base-contracts'
]
# See more config options https://github.com/foundry-rs/foundry/tree/master/config
================================================
FILE: mainnet/2023-07-17-test-l1-nested-safe/records/DeployTestProxy.s.sol/1/run-1689870341.json
================================================
{
"transactions": [
{
"hash": "0xa8add070454091833554a71bacbbd28819c8fae2dee8bf2262285025545ee920",
"transactionType": "CREATE",
"contractName": "ProxyAdmin",
"contractAddress": "0x8735F6e34c3C97B2e1a1a9C9BbBf0D9b290c4151",
"function": null,
"arguments": [
"0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F"
],
"rpc": "https://nodes-proxy-development.cbhq.net/geth/mainnet-full-lighthouse",
"transaction": {
"type": "0x02",
"from": "0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f",
"gas": "0x1ee52c",
"value": "0x0",
"data": "0x60803461007257601f62001bbd38819003918201601f19168301916001600160401b038311848410176100775780849260209460405283398101031261007257516001600160a01b0381168103610072576100629061005d3361008d565b61008d565b604051611ae39081620000da8239f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b600080546001600160a01b039283166001600160a01b03198216811783556040519093909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a356fe6040608081526004908136101561001557600080fd5b600091823560e01c9081630652b57a1461124a57816307c8f7b0146111be578163204e1c7a14611165578163238181ae146110ea5781633ab76e9f146110975781636bd9f51614610ffa578163715018a614610f5b5781637eff275e14610d4e578163860f7cda14610b465781638d52d4a014610aa55781638da5cb5b14610a545781639623609d146105cc57816399a88ec4146103b3578382639b2ea4bd146102c657508163b794726214610281578163f2fde38b14610143575063f3b7dead146100e057600080fd5b3461013f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f5760209073ffffffffffffffffffffffffffffffffffffffff6101376101326112ce565b61192f565b915191168152f35b5080fd5b90503461027d5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261027d5761017c6112ce565b6101846115bc565b73ffffffffffffffffffffffffffffffffffffffff8091169182156101fa575060005492827fffffffffffffffffffffffff00000000000000000000000000000000000000008516176000555192167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600084a3f35b60849060208551917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152fd5b8280fd5b50503461013f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f5760209060ff60035460a01c1690519015158152f35b91503461013f57827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f57803567ffffffffffffffff811161027d57610314903690830161159e565b9061031d6112f6565b6103256115bc565b73ffffffffffffffffffffffffffffffffffffffff60035416803b156103af5761037f938580948851968795869485937f9b2ea4bd000000000000000000000000000000000000000000000000000000008552840161163b565b03925af180156103a25761039257505051f35b61039b9061136c565b61013f5751f35b50505051903d90823e3d90fd5b8480fd5b83833461013f57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f576103eb6112ce565b926103f46112f6565b6103fc6115bc565b73ffffffffffffffffffffffffffffffffffffffff80951694858552600160205260ff84862054169560038710156105a0578686979695961560001461048a5750803b156103af57849283602492885196879586947f3659cfe600000000000000000000000000000000000000000000000000000000865216908401525af180156103a25761039257505051f35b929392600181036105095750803b156103af578492836044927f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc94895197889687957f9b0b0fda0000000000000000000000000000000000000000000000000000000087528601521660248401525af180156103a25761039257505051f35b919450919291906002036105745790859392918452600260205261052e8585206113f0565b9260035416803b156103af5761037f938580948851968795869485937f9b2ea4bd000000000000000000000000000000000000000000000000000000008552840161163b565b6024866001857f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b6024866021867f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b905060607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261027d576106006112ce565b6106086112f6565b6044359267ffffffffffffffff91828511610a505736602386011215610a505761063c602495369087818601359101611567565b936106456115bc565b73ffffffffffffffffffffffffffffffffffffffff809116918289526020956001875260ff898b2054166003811015610a25578a959493929190610756576106c6908a80519a8b97889687967f4f1ef286000000000000000000000000000000000000000000000000000000008852169086015284015260448301906114ea565b039134905af1801561074c576106dd575b50505051f35b3d8086853e6106ec81856113af565b8301928281850312610748578051918211610748570182601f820112156103af578051916107198361152d565b93610726865195866113af565b8385528184840101116107485780610740940191016114b5565b3880806106d7565b8580fd5b84513d87823e3d90fd5b939796955093506107656115bc565b8189526001855260ff888a20541660038110156109fa57899493929190806108b45750813b156103af578851937f3659cfe600000000000000000000000000000000000000000000000000000000855216878401528383878183855af19283156108aa578493610892575b505b84825192019034905af13d1561088d573d6107ec8161152d565b906107f9875192836113af565b815286833d92013e5b1561080d5750505051f35b90602e9160849451937f08c379a00000000000000000000000000000000000000000000000000000000085528401528201527f50726f787941646d696e3a2063616c6c20746f2070726f78792061667465722060448201527f75706772616465206661696c65640000000000000000000000000000000000006064820152fd5b610802565b61089e9093919361136c565b61027d578291386107d0565b88513d86823e3d90fd5b600181036109495750813b156103af578851937f9b0b0fda0000000000000000000000000000000000000000000000000000000085527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc898601521686840152838360448183855af19283156108aa578493610931575b506107d2565b61093d9093919361136c565b61027d5782913861092b565b6002919293949550146000146109cf579088939291818552600286526109708986206113f0565b906003541693843b15610748576109b8948692838b8d51988995869485937f9b2ea4bd000000000000000000000000000000000000000000000000000000008552840161163b565b03925af19283156108aa57849361093157506107d2565b85896001897f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b868a60218a7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b888b6021887f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b8680fd5b50503461013f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f5773ffffffffffffffffffffffffffffffffffffffff60209254169051908152f35b50503461013f57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f57610add6112ce565b602435906003821015610b425773ffffffffffffffffffffffffffffffffffffffff90610b086115bc565b16835260016020528183209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00835416911617905551f35b8380fd5b83833461013f57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f57610b7e6112ce565b9267ffffffffffffffff6024358181116103af57610bb473ffffffffffffffffffffffffffffffffffffffff913690850161159e565b95610bbd6115bc565b168452602060028152838520928651928311610d225750610bde8354611319565b601f8111610cdf575b5080601f8311600114610c40575084958293949592610c35575b50507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8260011b9260031b1c191617905551f35b015190508580610c01565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08316968487528287209287905b898210610cc75750508360019596979810610c90575b505050811b01905551f35b01517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88460031b161c19169055858080610c85565b80600185968294968601518155019501930190610c6f565b838652818620601f840160051c810191838510610d18575b601f0160051c01905b818110610d0d5750610be7565b868155600101610d00565b9091508190610cf7565b8560416024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b83833461013f57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f57610d866112ce565b92610d8f6112f6565b610d976115bc565b73ffffffffffffffffffffffffffffffffffffffff80951694858552600160205260ff848620541660038110156105a05780610e2057508585969594953b156103af57849283602492885196879586947f8f28397000000000000000000000000000000000000000000000000000000000865216908401525af180156103a25761039257505051f35b60018103610e7b57508585969594953b156103af57849283602492885196879586947f13af403500000000000000000000000000000000000000000000000000000000865216908401525af180156103a25761039257505051f35b9395509192600203610ef1578160035416803b156103af5784929183602492885196879586947ff2fde38b00000000000000000000000000000000000000000000000000000000865216908401525af18015610ee757610eda57509051f35b610ee39061136c565b9051f35b83513d84823e3d90fd5b610f578386519182917f08c379a0000000000000000000000000000000000000000000000000000000008352820160609060208152601e60208201527f50726f787941646d696e3a20756e6b6e6f776e2070726f78792074797065000060408201520190565b0390fd5b50503461013f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f57610f936115bc565b8173ffffffffffffffffffffffffffffffffffffffff8154927fffffffffffffffffffffffff0000000000000000000000000000000000000000841683555192167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08284a3f35b83833461013f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f5773ffffffffffffffffffffffffffffffffffffffff6110486112ce565b168252600160205260ff8183205416905191600382101561106b57602083838152f35b806021857f4e487b71000000000000000000000000000000000000000000000000000000006024945252fd5b50503461013f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f5760209073ffffffffffffffffffffffffffffffffffffffff600354169051908152f35b50503461013f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f5761114e816111619373ffffffffffffffffffffffffffffffffffffffff6111406112ce565b1681526002602052206113f0565b90519182916020835260208301906114ea565b0390f35b50503461013f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f5760209073ffffffffffffffffffffffffffffffffffffffff6101376111b96112ce565b61169b565b90503461027d5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261027d573580151580910361027d576112026115bc565b7fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff74ff00000000000000000000000000000000000000006003549260a01b1691161760035551f35b90503461027d5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261027d573573ffffffffffffffffffffffffffffffffffffffff811680910361027d576112a26115bc565b7fffffffffffffffffffffffff0000000000000000000000000000000000000000600354161760035551f35b6004359073ffffffffffffffffffffffffffffffffffffffff821682036112f157565b600080fd5b6024359073ffffffffffffffffffffffffffffffffffffffff821682036112f157565b90600182811c92168015611362575b602083101461133357565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b91607f1691611328565b67ffffffffffffffff811161138057604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761138057604052565b906040519182600082549261140484611319565b9081845260019485811690816000146114735750600114611430575b505061142e925003836113af565b565b9093915060005260209081600020936000915b81831061145b57505061142e93508201013880611420565b85548884018501529485019487945091830191611443565b905061142e9550602093507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b8201013880611420565b918091926000905b8282106114d55750116114ce575050565b6000910152565b915080602091830151818601520182916114bd565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602093611526815180928187528780880191016114b5565b0116010190565b67ffffffffffffffff811161138057601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b9291926115738261152d565b9161158160405193846113af565b8294818452818301116112f1578281602093846000960137010152565b9080601f830112156112f1578160206115b993359101611567565b90565b73ffffffffffffffffffffffffffffffffffffffff6000541633036115dd57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b9073ffffffffffffffffffffffffffffffffffffffff6116686020929594956040855260408501906114ea565b9416910152565b908160209103126112f1575173ffffffffffffffffffffffffffffffffffffffff811681036112f15790565b600073ffffffffffffffffffffffffffffffffffffffff80921680825260019160209183835260409460ff86842054166003811015611902578061174e5750506004935082908551948580927f5c60da1b0000000000000000000000000000000000000000000000000000000082525afa93841561174457509261171e57505090565b6115b99250803d1061173d575b61173581836113af565b81019061166f565b503d61172b565b51903d90823e3d90fd5b80860361179a5750506004935082908551948580927faaf10f420000000000000000000000000000000000000000000000000000000082525afa93841561174457509261171e57505090565b6002036118a45790839160035416908352600282528583209086519586927fbf40fac100000000000000000000000000000000000000000000000000000000845284600485015285918154916117ef83611319565b92836024880152868382169182600014611862575050600114611829575b50505082809103915afa93841561174457509261171e57505090565b87528587208793505b82841061184957505050820160440182803861180d565b80546044858c01015288968a9650909301928101611832565b90955060449350859492507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b820101913861180d565b85517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f50726f787941646d696e3a20756e6b6e6f776e2070726f7879207479706500006044820152606490fd5b6024847f4e487b710000000000000000000000000000000000000000000000000000000081526021600452fd5b600073ffffffffffffffffffffffffffffffffffffffff809216908181526020916001835260409360ff8584205416600381101561190257806119b15750509082600493928551948580927ff851a4400000000000000000000000000000000000000000000000000000000082525afa93841561174457509261171e57505090565b600181036119fe5750509082600493928551948580927f893d20e80000000000000000000000000000000000000000000000000000000082525afa93841561174457509261171e57505090565b909150600203611a4f57908260049392600354168551948580927f8da5cb5b0000000000000000000000000000000000000000000000000000000082525afa93841561174457509261171e57505090565b83517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f50726f787941646d696e3a20756e6b6e6f776e2070726f7879207479706500006044820152606490fdfea26469706673582212206ce3996d0020ca145f7585b749245fa3ea49757895d59304087276c7fae1e40f64736f6c634300080f00330000000000000000000000008e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f",
"nonce": "0x5",
"accessList": []
},
"additionalContracts": []
},
{
"hash": null,
"transactionType": "CREATE",
"contractName": "Proxy",
"contractAddress": "0xB49D362028A668f5f29338361453D56BEB76d9F5",
"function": null,
"arguments": [
"0x8735F6e34c3C97B2e1a1a9C9BbBf0D9b290c4151"
],
"rpc": "https://nodes-proxy-development.cbhq.net/geth/mainnet-full-lighthouse",
"transaction": {
"type": "0x02",
"from": "0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f",
"gas": "0xa12fb",
"value": "0x0",
"data": "0x6080346100b857601f61089638819003918201601f19168301916001600160401b038311848410176100bd578084926020946040528339810103126100b857516001600160a01b03808216918281036100b8577f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f926040927fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610392835493558351921682526020820152a16040516107c290816100d48239f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6080604052600436101561002c575b361561001f575b61001d6106aa565b005b6100276106aa565b610015565b6000803560e01c9081633659cfe614610093575080634f1ef2861461008a5780635c60da1b146100815780638f283970146100785763f851a4400361000e576100736104f0565b61000e565b50610073610422565b50610073610362565b506100736101d0565b3461012f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012f576100ca610132565b73ffffffffffffffffffffffffffffffffffffffff7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103541633148015610127575b1561011e5761011990610647565b604051f35b506101196106aa565b50331561010b565b80fd5b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361015557565b600080fd5b919091602080825283519081818401526000945b8286106101ba575050601f817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09260409596116101ad575b0116010190565b60008582860101526101a6565b858101820151848701604001529481019461016e565b5060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015557610203610132565b6024359067ffffffffffffffff908183116101555736602384011215610155578260040135908282116101555736602483860101116101555761031f9360609273ffffffffffffffffffffffffffffffffffffffff7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610354163314801561035a575b156103485791602460009392849361029b84610647565b80604051938493018337810184815203915af4903d1561033d5750610313903d838111610330575b604051937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f81601f850116011685019085821090821117610323575b60405283523d6000602085013e6105bc565b6040519182918261015a565b0390f35b61032b61058c565b610301565b61033861058c565b6102c3565b9150610313906105bc565b50505090506103556106aa565b610313565b503315610284565b50346101555760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610155576020600073ffffffffffffffffffffffffffffffffffffffff90817fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610354163314801561041a575b1561040c57507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc54905b60405191168152f35b906104156106aa565b610403565b5033156103d9565b50346101555760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101555761045a610132565b73ffffffffffffffffffffffffffffffffffffffff907fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610382815416331480156104e8575b156104dd577f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f92826040938354935581845193168352166020820152a1005b50505061001d6106aa565b50331561049e565b50346101555760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610155576020600073ffffffffffffffffffffffffffffffffffffffff907fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103908282541633148015610584575b1561057957505460405191168152f35b9190506104156106aa565b503315610569565b507f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b156105c357565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f50726f78793a2064656c656761746563616c6c20746f206e657720696d706c6560448201527f6d656e746174696f6e20636f6e7472616374206661696c6564000000000000006064820152fd5b73ffffffffffffffffffffffffffffffffffffffff90807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b6000604051a2565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff811615610708576000808092368280378136915af43d82803e15610704573d90f35b3d90fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f50726f78793a20696d706c656d656e746174696f6e206e6f7420696e6974696160448201527f6c697a65640000000000000000000000000000000000000000000000000000006064820152fdfea2646970667358221220cda8c84ad0f53d583bdbfd81c99ffd0cc3a0dbb096a3ac63c6e408997f19a56d64736f6c634300080f00330000000000000000000000008735f6e34c3c97b2e1a1a9c9bbbf0d9b290c4151",
"nonce": "0x6",
"accessList": []
},
"additionalContracts": []
},
{
"hash": null,
"transactionType": "CREATE",
"contractName": "Test",
"contractAddress": "0x4A466E4a2b5106bD7f2d3B39d35ded2ACDF491a2",
"function": null,
"arguments": null,
"rpc": "https://nodes-proxy-development.cbhq.net/geth/mainnet-full-lighthouse",
"transaction": {
"type": "0x02",
"from": "0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f",
"gas": "0x2af6b",
"value": "0x0",
"data": "0x608080604052346100165761017d908161001c8239f35b600080fdfe608080604052600436101561001357600080fd5b600090813560e01c9081633fb5c1cb1461010f5781638381f58a146100d3575063d09de08a1461004257600080fd5b346100d057807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d05780547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146100a3576001018155604051f35b6024827f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b80fd5b90503461010b57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010b57602091548152f35b5080fd5b90503461010b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010b576004358255f3fea26469706673582212203aca407a88fb8972c737d9f028180c06c0092ccf80f40d83e1811d19ff2bf6bc64736f6c634300080f0033",
"nonce": "0x7",
"accessList": []
},
"additionalContracts": []
},
{
"hash": null,
"transactionType": "CREATE",
"contractName": "Test",
"contractAddress": "0xEACccF3894Ef189A29a557F1B533932bf1ad8d11",
"function": null,
"arguments": null,
"rpc": "https://nodes-proxy-development.cbhq.net/geth/mainnet-full-lighthouse",
"transaction": {
"type": "0x02",
"from": "0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f",
"gas": "0x2af6b",
"value": "0x0",
"data": "0x608080604052346100165761017d908161001c8239f35b600080fdfe608080604052600436101561001357600080fd5b600090813560e01c9081633fb5c1cb1461010f5781638381f58a146100d3575063d09de08a1461004257600080fd5b346100d057807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d05780547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146100a3576001018155604051f35b6024827f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b80fd5b90503461010b57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010b57602091548152f35b5080fd5b90503461010b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010b576004358255f3fea26469706673582212203aca407a88fb8972c737d9f028180c06c0092ccf80f40d83e1811d19ff2bf6bc64736f6c634300080f0033",
"nonce": "0x8",
"accessList": []
},
"additionalContracts": []
},
{
"hash": null,
"transactionType": "CALL",
"contractName": "ProxyAdmin",
"contractAddress": "0x8735F6e34c3C97B2e1a1a9C9BbBf0D9b290c4151",
"function": "upgrade(address,address)",
"arguments": [
"0xB49D362028A668f5f29338361453D56BEB76d9F5",
"0x4A466E4a2b5106bD7f2d3B39d35ded2ACDF491a2"
],
"rpc": "https://nodes-proxy-development.cbhq.net/geth/mainnet-full-lighthouse",
"transaction": {
"type": "0x02",
"from": "0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f",
"to": "0x8735f6e34c3c97b2e1a1a9c9bbbf0d9b290c4151",
"gas": "0x13bad",
"value": "0x0",
"data": "0x99a88ec4000000000000000000000000b49d362028a668f5f29338361453d56beb76d9f50000000000000000000000004a466e4a2b5106bd7f2d3b39d35ded2acdf491a2",
"nonce": "0x9",
"accessList": []
},
"additionalContracts": []
},
{
"hash": null,
"transactionType": "CALL",
"contractName": "ProxyAdmin",
"contractAddress": "0x8735F6e34c3C97B2e1a1a9C9BbBf0D9b290c4151",
"function": "transferOwnership(address)",
"arguments": [
"0x9B3245a57C339FC711921894c012A4FA53F5F343"
],
"rpc": "https://nodes-proxy-development.cbhq.net/geth/mainnet-full-lighthouse",
"transaction": {
"type": "0x02",
"from": "0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f",
"to": "0x8735f6e34c3c97b2e1a1a9c9bbbf0d9b290c4151",
"gas": "0x9ad8",
"value": "0x0",
"data": "0xf2fde38b0000000000000000000000009b3245a57c339fc711921894c012a4fa53f5f343",
"nonce": "0xa",
"accessList": []
},
"additionalContracts": []
}
],
"receipts": [],
"libraries": [],
"pending": [
"0xa8add070454091833554a71bacbbd28819c8fae2dee8bf2262285025545ee920"
],
"path": "/Users/anikaraghuvanshi/Documents/protocols/base-deployments/mainnet/2023-07-17-test-l1-nested-safe/records/DeployTestProxy.s.sol/1/run-latest.json",
"returns": {},
"timestamp": 1689870341,
"chain": 1,
"multi": false,
"commit": "f353845"
}
================================================
FILE: mainnet/2023-07-17-test-l1-nested-safe/records/DeployTestProxy.s.sol/1/run-1690069785.json
================================================
{
"transactions": [
{
"hash": "0x40f6df638e6cfc0b9f1493642eed13e0ea484a31814aebfd43a49fa6cd7fe97e",
"transactionType": "CREATE",
"contractName": "Proxy",
"contractAddress": "0xB49D362028A668f5f29338361453D56BEB76d9F5",
"function": null,
"arguments": [
"0x8735F6e34c3C97B2e1a1a9C9BbBf0D9b290c4151"
],
"rpc": "https://nodes-proxy-development.cbhq.net/geth/mainnet-full-lighthouse",
"transaction": {
"type": "0x02",
"from": "0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f",
"gas": "0xa12fb",
"value": "0x0",
"data": "0x6080346100b857601f61089638819003918201601f19168301916001600160401b038311848410176100bd578084926020946040528339810103126100b857516001600160a01b03808216918281036100b8577f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f926040927fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610392835493558351921682526020820152a16040516107c290816100d48239f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6080604052600436101561002c575b361561001f575b61001d6106aa565b005b6100276106aa565b610015565b6000803560e01c9081633659cfe614610093575080634f1ef2861461008a5780635c60da1b146100815780638f283970146100785763f851a4400361000e576100736104f0565b61000e565b50610073610422565b50610073610362565b506100736101d0565b3461012f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012f576100ca610132565b73ffffffffffffffffffffffffffffffffffffffff7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103541633148015610127575b1561011e5761011990610647565b604051f35b506101196106aa565b50331561010b565b80fd5b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361015557565b600080fd5b919091602080825283519081818401526000945b8286106101ba575050601f817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09260409596116101ad575b0116010190565b60008582860101526101a6565b858101820151848701604001529481019461016e565b5060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015557610203610132565b6024359067ffffffffffffffff908183116101555736602384011215610155578260040135908282116101555736602483860101116101555761031f9360609273ffffffffffffffffffffffffffffffffffffffff7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610354163314801561035a575b156103485791602460009392849361029b84610647565b80604051938493018337810184815203915af4903d1561033d5750610313903d838111610330575b604051937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f81601f850116011685019085821090821117610323575b60405283523d6000602085013e6105bc565b6040519182918261015a565b0390f35b61032b61058c565b610301565b61033861058c565b6102c3565b9150610313906105bc565b50505090506103556106aa565b610313565b503315610284565b50346101555760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610155576020600073ffffffffffffffffffffffffffffffffffffffff90817fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610354163314801561041a575b1561040c57507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc54905b60405191168152f35b906104156106aa565b610403565b5033156103d9565b50346101555760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101555761045a610132565b73ffffffffffffffffffffffffffffffffffffffff907fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610382815416331480156104e8575b156104dd577f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f92826040938354935581845193168352166020820152a1005b50505061001d6106aa565b50331561049e565b50346101555760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610155576020600073ffffffffffffffffffffffffffffffffffffffff907fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103908282541633148015610584575b1561057957505460405191168152f35b9190506104156106aa565b503315610569565b507f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b156105c357565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f50726f78793a2064656c656761746563616c6c20746f206e657720696d706c6560448201527f6d656e746174696f6e20636f6e7472616374206661696c6564000000000000006064820152fd5b73ffffffffffffffffffffffffffffffffffffffff90807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b6000604051a2565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff811615610708576000808092368280378136915af43d82803e15610704573d90f35b3d90fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f50726f78793a20696d706c656d656e746174696f6e206e6f7420696e6974696160448201527f6c697a65640000000000000000000000000000000000000000000000000000006064820152fdfea2646970667358221220cda8c84ad0f53d583bdbfd81c99ffd0cc3a0dbb096a3ac63c6e408997f19a56d64736f6c634300080f00330000000000000000000000008735f6e34c3c97b2e1a1a9c9bbbf0d9b290c4151",
"nonce": "0x6",
"accessList": []
},
"additionalContracts": []
},
{
"hash": null,
"transactionType": "CREATE",
"contractName": "Test",
"contractAddress": "0x4A466E4a2b5106bD7f2d3B39d35ded2ACDF491a2",
"function": null,
"arguments": null,
"rpc": "https://nodes-proxy-development.cbhq.net/geth/mainnet-full-lighthouse",
"transaction": {
"type": "0x02",
"from": "0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f",
"gas": "0x2af6b",
"value": "0x0",
"data": "0x608080604052346100165761017d908161001c8239f35b600080fdfe608080604052600436101561001357600080fd5b600090813560e01c9081633fb5c1cb1461010f5781638381f58a146100d3575063d09de08a1461004257600080fd5b346100d057807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d05780547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146100a3576001018155604051f35b6024827f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b80fd5b90503461010b57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010b57602091548152f35b5080fd5b90503461010b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010b576004358255f3fea26469706673582212203aca407a88fb8972c737d9f028180c06c0092ccf80f40d83e1811d19ff2bf6bc64736f6c634300080f0033",
"nonce": "0x7",
"accessList": []
},
"additionalContracts": []
},
{
"hash": null,
"transactionType": "CREATE",
"contractName": "Test",
"contractAddress": "0xEACccF3894Ef189A29a557F1B533932bf1ad8d11",
"function": null,
"arguments": null,
"rpc": "https://nodes-proxy-development.cbhq.net/geth/mainnet-full-lighthouse",
"transaction": {
"type": "0x02",
"from": "0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f",
"gas": "0x2af6b",
"value": "0x0",
"data": "0x608080604052346100165761017d908161001c8239f35b600080fdfe608080604052600436101561001357600080fd5b600090813560e01c9081633fb5c1cb1461010f5781638381f58a146100d3575063d09de08a1461004257600080fd5b346100d057807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d05780547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146100a3576001018155604051f35b6024827f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b80fd5b90503461010b57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010b57602091548152f35b5080fd5b90503461010b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010b576004358255f3fea26469706673582212203aca407a88fb8972c737d9f028180c06c0092ccf80f40d83e1811d19ff2bf6bc64736f6c634300080f0033",
"nonce": "0x8",
"accessList": []
},
"additionalContracts": []
},
{
"hash": null,
"transactionType": "CALL",
"contractName": null,
"contractAddress": "0x8735F6e34c3C97B2e1a1a9C9BbBf0D9b290c4151",
"function": null,
"arguments": null,
"rpc": "https://nodes-proxy-development.cbhq.net/geth/mainnet-full-lighthouse",
"transaction": {
"type": "0x02",
"from": "0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f",
"to": "0x8735f6e34c3c97b2e1a1a9c9bbbf0d9b290c4151",
"gas": "0x13bad",
"value": "0x0",
"data": "0x99a88ec4000000000000000000000000b49d362028a668f5f29338361453d56beb76d9f50000000000000000000000004a466e4a2b5106bd7f2d3b39d35ded2acdf491a2",
"nonce": "0x9",
"accessList": []
},
"additionalContracts": []
},
{
"hash": null,
"transactionType": "CALL",
"contractName": null,
"contractAddress": "0x8735F6e34c3C97B2e1a1a9C9BbBf0D9b290c4151",
"function": null,
"arguments": null,
"rpc": "https://nodes-proxy-development.cbhq.net/geth/mainnet-full-lighthouse",
"transaction": {
"type": "0x02",
"from": "0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f",
"to": "0x8735f6e34c3c97b2e1a1a9c9bbbf0d9b290c4151",
"gas": "0x9ad8",
"value": "0x0",
"data": "0xf2fde38b0000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c",
"nonce": "0xa",
"accessList": []
},
"additionalContracts": []
}
],
"receipts": [],
"libraries": [],
"pending": [
"0x40f6df638e6cfc0b9f1493642eed13e0ea484a31814aebfd43a49fa6cd7fe97e"
],
"path": "/Users/anikaraghuvanshi/Documents/protocols/base-deployments/mainnet/2023-07-17-test-l1-nested-safe/records/DeployTestProxy.s.sol/1/run-latest.json",
"returns": {},
"timestamp": 1690069785,
"chain": 1,
"multi": false,
"commit": "fcfde61"
}
================================================
FILE: mainnet/2023-07-17-test-l1-nested-safe/records/DeployTestProxy.s.sol/1/run-1690244404.json
================================================
{
"transactions": [
{
"hash": "0x0cf02d29a6cdf3ab0d0c64106c55a21c52ffea784bb0f7d069199919f9567828",
"transactionType": "CREATE",
"contractName": "ProxyAdmin",
"contractAddress": "0x22dE20d08660628d0f089aE45140DAEB7adbfc43",
"function": null,
"arguments": [
"0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F"
],
"transaction": {
"type": "0x02",
"from": "0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f",
"gas": "0x1ee52c",
"value": "0x0",
"data": "0x60803461007257601f62001bbd38819003918201601f19168301916001600160401b038311848410176100775780849260209460405283398101031261007257516001600160a01b0381168103610072576100629061005d3361008d565b61008d565b604051611ae39081620000da8239f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b600080546001600160a01b039283166001600160a01b03198216811783556040519093909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a356fe6040608081526004908136101561001557600080fd5b600091823560e01c9081630652b57a1461124a57816307c8f7b0146111be578163204e1c7a14611165578163238181ae146110ea5781633ab76e9f146110975781636bd9f51614610ffa578163715018a614610f5b5781637eff275e14610d4e578163860f7cda14610b465781638d52d4a014610aa55781638da5cb5b14610a545781639623609d146105cc57816399a88ec4146103b3578382639b2ea4bd146102c657508163b794726214610281578163f2fde38b14610143575063f3b7dead146100e057600080fd5b3461013f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f5760209073ffffffffffffffffffffffffffffffffffffffff6101376101326112ce565b61192f565b915191168152f35b5080fd5b90503461027d5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261027d5761017c6112ce565b6101846115bc565b73ffffffffffffffffffffffffffffffffffffffff8091169182156101fa575060005492827fffffffffffffffffffffffff00000000000000000000000000000000000000008516176000555192167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600084a3f35b60849060208551917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152fd5b8280fd5b50503461013f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f5760209060ff60035460a01c1690519015158152f35b91503461013f57827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f57803567ffffffffffffffff811161027d57610314903690830161159e565b9061031d6112f6565b6103256115bc565b73ffffffffffffffffffffffffffffffffffffffff60035416803b156103af5761037f938580948851968795869485937f9b2ea4bd000000000000000000000000000000000000000000000000000000008552840161163b565b03925af180156103a25761039257505051f35b61039b9061136c565b61013f5751f35b50505051903d90823e3d90fd5b8480fd5b83833461013f57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f576103eb6112ce565b926103f46112f6565b6103fc6115bc565b73ffffffffffffffffffffffffffffffffffffffff80951694858552600160205260ff84862054169560038710156105a0578686979695961560001461048a5750803b156103af57849283602492885196879586947f3659cfe600000000000000000000000000000000000000000000000000000000865216908401525af180156103a25761039257505051f35b929392600181036105095750803b156103af578492836044927f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc94895197889687957f9b0b0fda0000000000000000000000000000000000000000000000000000000087528601521660248401525af180156103a25761039257505051f35b919450919291906002036105745790859392918452600260205261052e8585206113f0565b9260035416803b156103af5761037f938580948851968795869485937f9b2ea4bd000000000000000000000000000000000000000000000000000000008552840161163b565b6024866001857f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b6024866021867f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b905060607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261027d576106006112ce565b6106086112f6565b6044359267ffffffffffffffff91828511610a505736602386011215610a505761063c602495369087818601359101611567565b936106456115bc565b73ffffffffffffffffffffffffffffffffffffffff809116918289526020956001875260ff898b2054166003811015610a25578a959493929190610756576106c6908a80519a8b97889687967f4f1ef286000000000000000000000000000000000000000000000000000000008852169086015284015260448301906114ea565b039134905af1801561074c576106dd575b50505051f35b3d8086853e6106ec81856113af565b8301928281850312610748578051918211610748570182601f820112156103af578051916107198361152d565b93610726865195866113af565b8385528184840101116107485780610740940191016114b5565b3880806106d7565b8580fd5b84513d87823e3d90fd5b939796955093506107656115bc565b8189526001855260ff888a20541660038110156109fa57899493929190806108b45750813b156103af578851937f3659cfe600000000000000000000000000000000000000000000000000000000855216878401528383878183855af19283156108aa578493610892575b505b84825192019034905af13d1561088d573d6107ec8161152d565b906107f9875192836113af565b815286833d92013e5b1561080d5750505051f35b90602e9160849451937f08c379a00000000000000000000000000000000000000000000000000000000085528401528201527f50726f787941646d696e3a2063616c6c20746f2070726f78792061667465722060448201527f75706772616465206661696c65640000000000000000000000000000000000006064820152fd5b610802565b61089e9093919361136c565b61027d578291386107d0565b88513d86823e3d90fd5b600181036109495750813b156103af578851937f9b0b0fda0000000000000000000000000000000000000000000000000000000085527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc898601521686840152838360448183855af19283156108aa578493610931575b506107d2565b61093d9093919361136c565b61027d5782913861092b565b6002919293949550146000146109cf579088939291818552600286526109708986206113f0565b906003541693843b15610748576109b8948692838b8d51988995869485937f9b2ea4bd000000000000000000000000000000000000000000000000000000008552840161163b565b03925af19283156108aa57849361093157506107d2565b85896001897f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b868a60218a7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b888b6021887f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b8680fd5b50503461013f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f5773ffffffffffffffffffffffffffffffffffffffff60209254169051908152f35b50503461013f57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f57610add6112ce565b602435906003821015610b425773ffffffffffffffffffffffffffffffffffffffff90610b086115bc565b16835260016020528183209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00835416911617905551f35b8380fd5b83833461013f57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f57610b7e6112ce565b9267ffffffffffffffff6024358181116103af57610bb473ffffffffffffffffffffffffffffffffffffffff913690850161159e565b95610bbd6115bc565b168452602060028152838520928651928311610d225750610bde8354611319565b601f8111610cdf575b5080601f8311600114610c40575084958293949592610c35575b50507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8260011b9260031b1c191617905551f35b015190508580610c01565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08316968487528287209287905b898210610cc75750508360019596979810610c90575b505050811b01905551f35b01517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88460031b161c19169055858080610c85565b80600185968294968601518155019501930190610c6f565b838652818620601f840160051c810191838510610d18575b601f0160051c01905b818110610d0d5750610be7565b868155600101610d00565b9091508190610cf7565b8560416024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b83833461013f57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f57610d866112ce565b92610d8f6112f6565b610d976115bc565b73ffffffffffffffffffffffffffffffffffffffff80951694858552600160205260ff848620541660038110156105a05780610e2057508585969594953b156103af57849283602492885196879586947f8f28397000000000000000000000000000000000000000000000000000000000865216908401525af180156103a25761039257505051f35b60018103610e7b57508585969594953b156103af57849283602492885196879586947f13af403500000000000000000000000000000000000000000000000000000000865216908401525af180156103a25761039257505051f35b9395509192600203610ef1578160035416803b156103af5784929183602492885196879586947ff2fde38b00000000000000000000000000000000000000000000000000000000865216908401525af18015610ee757610eda57509051f35b610ee39061136c565b9051f35b83513d84823e3d90fd5b610f578386519182917f08c379a0000000000000000000000000000000000000000000000000000000008352820160609060208152601e60208201527f50726f787941646d696e3a20756e6b6e6f776e2070726f78792074797065000060408201520190565b0390fd5b50503461013f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f57610f936115bc565b8173ffffffffffffffffffffffffffffffffffffffff8154927fffffffffffffffffffffffff0000000000000000000000000000000000000000841683555192167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08284a3f35b83833461013f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f5773ffffffffffffffffffffffffffffffffffffffff6110486112ce565b168252600160205260ff8183205416905191600382101561106b57602083838152f35b806021857f4e487b71000000000000000000000000000000000000000000000000000000006024945252fd5b50503461013f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f5760209073ffffffffffffffffffffffffffffffffffffffff600354169051908152f35b50503461013f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f5761114e816111619373ffffffffffffffffffffffffffffffffffffffff6111406112ce565b1681526002602052206113f0565b90519182916020835260208301906114ea565b0390f35b50503461013f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f5760209073ffffffffffffffffffffffffffffffffffffffff6101376111b96112ce565b61169b565b90503461027d5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261027d573580151580910361027d576112026115bc565b7fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff74ff00000000000000000000000000000000000000006003549260a01b1691161760035551f35b90503461027d5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261027d573573ffffffffffffffffffffffffffffffffffffffff811680910361027d576112a26115bc565b7fffffffffffffffffffffffff0000000000000000000000000000000000000000600354161760035551f35b6004359073ffffffffffffffffffffffffffffffffffffffff821682036112f157565b600080fd5b6024359073ffffffffffffffffffffffffffffffffffffffff821682036112f157565b90600182811c92168015611362575b602083101461133357565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b91607f1691611328565b67ffffffffffffffff811161138057604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761138057604052565b906040519182600082549261140484611319565b9081845260019485811690816000146114735750600114611430575b505061142e925003836113af565b565b9093915060005260209081600020936000915b81831061145b57505061142e93508201013880611420565b85548884018501529485019487945091830191611443565b905061142e9550602093507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b8201013880611420565b918091926000905b8282106114d55750116114ce575050565b6000910152565b915080602091830151818601520182916114bd565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602093611526815180928187528780880191016114b5565b0116010190565b67ffffffffffffffff811161138057601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b9291926115738261152d565b9161158160405193846113af565b8294818452818301116112f1578281602093846000960137010152565b9080601f830112156112f1578160206115b993359101611567565b90565b73ffffffffffffffffffffffffffffffffffffffff6000541633036115dd57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b9073ffffffffffffffffffffffffffffffffffffffff6116686020929594956040855260408501906114ea565b9416910152565b908160209103126112f1575173ffffffffffffffffffffffffffffffffffffffff811681036112f15790565b600073ffffffffffffffffffffffffffffffffffffffff80921680825260019160209183835260409460ff86842054166003811015611902578061174e5750506004935082908551948580927f5c60da1b0000000000000000000000000000000000000000000000000000000082525afa93841561174457509261171e57505090565b6115b99250803d1061173d575b61173581836113af565b81019061166f565b503d61172b565b51903d90823e3d90fd5b80860361179a5750506004935082908551948580927faaf10f420000000000000000000000000000000000000000000000000000000082525afa93841561174457509261171e57505090565b6002036118a45790839160035416908352600282528583209086519586927fbf40fac100000000000000000000000000000000000000000000000000000000845284600485015285918154916117ef83611319565b92836024880152868382169182600014611862575050600114611829575b50505082809103915afa93841561174457509261171e57505090565b87528587208793505b82841061184957505050820160440182803861180d565b80546044858c01015288968a9650909301928101611832565b90955060449350859492507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b820101913861180d565b8551
gitextract_axrthmtg/
├── .codeflow.yml
├── .github/
│ └── workflows/
│ └── validate-templates.yml
├── .gitignore
├── LICENSE
├── Makefile
├── Multisig.mk
├── README.md
├── SECURITY.md
├── mainnet/
│ ├── 2023-06-14-deploy/
│ │ ├── Makefile
│ │ ├── deployed/
│ │ │ └── addresses.json
│ │ ├── execute/
│ │ │ └── RunDeployBedrock.s.sol
│ │ ├── foundry.toml
│ │ ├── inputs/
│ │ │ ├── construct-config.sh
│ │ │ ├── deploy-config.json
│ │ │ └── misc-config.json
│ │ └── remappings.txt
│ ├── 2023-06-14-deploy-deterministic-proxy/
│ │ ├── Makefile
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── DeterministicProxyDeploy.s.sol/
│ │ │ └── 84531/
│ │ │ └── run-1686756835.json
│ │ ├── remappings.txt
│ │ └── script/
│ │ └── DeterministicProxyDeploy.s.sol
│ ├── 2023-06-14-test-tx/
│ │ ├── Makefile
│ │ ├── foundry.toml
│ │ ├── remappings.txt
│ │ ├── script/
│ │ │ └── Test.s.sol
│ │ └── src/
│ │ └── Test.sol
│ ├── 2023-06-15-unpause-portal/
│ │ ├── Makefile
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── UnpausePortal.s.sol/
│ │ │ └── 1/
│ │ │ ├── run-1686800969.json
│ │ │ ├── run-1686801711.json
│ │ │ └── run-1686802144.json
│ │ ├── remappings.txt
│ │ └── script/
│ │ └── UnpausePortal.s.sol
│ ├── 2023-06-15-validate-deploy/
│ │ ├── Makefile
│ │ ├── foundry.toml
│ │ ├── remappings.txt
│ │ └── script/
│ │ └── ValidateDeploy.s.sol
│ ├── 2023-06-21-transfer-system-cfg-owner/
│ │ ├── Makefile
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── TransferOwner.s.sol/
│ │ │ └── 1/
│ │ │ └── run-1687552190.json
│ │ ├── remappings.txt
│ │ ├── script/
│ │ │ └── TransferOwner.s.sol
│ │ └── sign.sh
│ ├── 2023-07-11-test-l2-safe/
│ │ ├── Makefile
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ ├── DeployTestProxy.s.sol/
│ │ │ │ └── 8453/
│ │ │ │ └── run-1689807430.json
│ │ │ └── TestL2Safe.s.sol/
│ │ │ └── 8453/
│ │ │ └── run-1689855846.json
│ │ └── script/
│ │ ├── DeployTestProxy.s.sol
│ │ └── TestL2Safe.s.sol
│ ├── 2023-07-17-test-l1-nested-safe/
│ │ ├── Makefile
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ ├── DeployTestProxy.s.sol/
│ │ │ │ └── 1/
│ │ │ │ ├── run-1689870341.json
│ │ │ │ ├── run-1690069785.json
│ │ │ │ ├── run-1690244404.json
│ │ │ │ └── run-1690245053.json
│ │ │ └── TestL1NestedSafe.s.sol/
│ │ │ └── 1/
│ │ │ ├── approve-1691353255.json
│ │ │ ├── approve-1691353718.json
│ │ │ └── run-1691353817.json
│ │ └── script/
│ │ ├── DeployTestProxy.s.sol
│ │ └── TestL1NestedSafe.s.sol
│ ├── 2023-07-19-challenger-1-of-2/
│ │ ├── Makefile
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ ├── DeleteL2OutputsCB.s.sol/
│ │ │ │ └── 1/
│ │ │ │ └── run-1690499220.json
│ │ │ ├── DeleteL2OutputsOP.s.sol/
│ │ │ │ └── 1/
│ │ │ │ └── run-1691703002.json
│ │ │ ├── DeployChallenger.s.sol/
│ │ │ │ └── run-1689808110.json
│ │ │ └── UpgradeL2OO.s.sol/
│ │ │ └── 1/
│ │ │ └── run-1690314255.json
│ │ └── script/
│ │ ├── DeleteL2OutputsCB.s.sol
│ │ ├── DeleteL2OutputsOP.s.sol
│ │ ├── DeployChallenger.s.sol
│ │ └── UpgradeL2OO.s.sol
│ ├── 2023-07-19-test-l2-nested-safe/
│ │ ├── Makefile
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ ├── DeployTestProxy.s.sol/
│ │ │ │ └── 8453/
│ │ │ │ └── run-1689883950.json
│ │ │ └── TestNestedL2Safe.s.sol/
│ │ │ └── 8453/
│ │ │ ├── approve-1691008217.json
│ │ │ ├── approve-1691008879.json
│ │ │ └── run-1691009077.json
│ │ └── script/
│ │ ├── DeployTestProxy.s.sol
│ │ └── TestNestedL2Safe.s.sol
│ ├── 2023-07-26-transfer-owner-nested-safes/
│ │ ├── Makefile
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ ├── TransferOwnerL1.s.sol/
│ │ │ │ └── 1/
│ │ │ │ └── run-1691523415.json
│ │ │ └── TransferOwnerL2.s.sol/
│ │ │ └── 8453/
│ │ │ └── run-1691524273.json
│ │ └── script/
│ │ ├── TransferOwnerL1.s.sol
│ │ └── TransferOwnerL2.s.sol
│ ├── 2023-08-07-test-op-fee-nested-safe/
│ │ ├── Makefile
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── TestNestedL2Safe.s.sol/
│ │ │ └── 10/
│ │ │ ├── run-1692981334.json
│ │ │ ├── run-1692981492.json
│ │ │ └── run-1692981620.json
│ │ └── script/
│ │ └── TestNestedL2Safe.s.sol
│ ├── 2023-08-15-support-eas/
│ │ ├── Makefile
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── UpgradeToEAS.s.sol/
│ │ │ └── 8453/
│ │ │ ├── run-1694183897.json
│ │ │ ├── run-1694184082.json
│ │ │ └── run-1694184181.json
│ │ └── script/
│ │ └── UpgradeToEAS.s.sol
│ ├── 2023-08-22-fee-vault-fix/
│ │ ├── Makefile
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── FixFeeVaultsL2.s.sol/
│ │ │ └── 8453/
│ │ │ ├── run-1693342112.json
│ │ │ ├── run-1693585668.json
│ │ │ └── run-1693589726.json
│ │ └── script/
│ │ ├── DeployNewFeeVaultsL2.s.sol
│ │ └── FixFeeVaultsL2.s.sol
│ ├── 2023-08-28-deploy-revshare/
│ │ ├── Makefile
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── UpgradeToFeeDisburser.s.sol/
│ │ │ └── 8453/
│ │ │ └── run-1693609606.json
│ │ └── script/
│ │ ├── DeployBalanceTracker.s.sol
│ │ ├── DeployFeeDisburser.s.sol
│ │ ├── FeeDisburserOwnershipTransfer.s.sol
│ │ └── UpgradeToFeeDisburser.s.sol
│ ├── 2024-02-21-setup-smart-escrow/
│ │ ├── Makefile
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── DeploySmartEscrow.s.sol/
│ │ │ └── 10/
│ │ │ └── run-1709074703.json
│ │ └── script/
│ │ └── DeploySmartEscrow.s.sol
│ ├── 2024-02-23-transfer-op/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ └── script/
│ │ ├── TransferAndDelegateOPTokens.s.sol
│ │ └── TransferUpfrontOPTokens.s.sol
│ ├── 2024-03-05-pause-unpause-test/
│ │ ├── Makefile
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ ├── PausePortal.s.sol/
│ │ │ │ └── 1/
│ │ │ │ ├── run-1711563045.json
│ │ │ │ └── run-1711563069.json
│ │ │ └── UnpausePortal.s.sol/
│ │ │ └── 1/
│ │ │ ├── run-1711567810.json
│ │ │ └── run-1711567828.json
│ │ └── script/
│ │ ├── PausePortal.s.sol
│ │ └── UnpausePortal.s.sol
│ ├── 2024-03-07-ecotone-sysconfig-updates/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── UpdateGasConfig.sol/
│ │ │ └── 1/
│ │ │ └── run-1710375473.json
│ │ └── script/
│ │ ├── RollbackGasConfig.sol
│ │ └── UpdateGasConfig.sol
│ ├── 2024-03-26-increase-gas-limit/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── UpdateGasLimit.sol/
│ │ │ └── 1/
│ │ │ ├── run-1711570739.json
│ │ │ └── run-1711570882.json
│ │ └── script/
│ │ ├── RollbackGasLimit.sol
│ │ └── UpdateGasLimit.sol
│ ├── 2024-04-01-increase-gas-limit/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── UpdateGasLimit.sol/
│ │ │ └── 1/
│ │ │ └── run-1712005481.json
│ │ └── script/
│ │ ├── RollbackGasLimit.sol
│ │ └── UpdateGasLimit.sol
│ ├── 2024-04-12-deployERC20Factory/
│ │ ├── Makefile
│ │ ├── deployed/
│ │ │ └── addresses.json
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── RunERC20FactoryDeploy.s.sol/
│ │ │ └── 8453/
│ │ │ └── run-1713280196.json
│ │ └── script/
│ │ └── RunERC20FactoryDeploy.s.sol
│ ├── 2024-04-15-redeploy-smart-escrow/
│ │ ├── Makefile
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── DeploySmartEscrow.s.sol/
│ │ │ └── 10/
│ │ │ └── run-1713902413.json
│ │ └── script/
│ │ └── DeploySmartEscrow.s.sol
│ ├── 2024-04-17-upgrade-erc20-factory/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── UpgradeOptimismMintableERC20Factory.s.sol/
│ │ │ └── 8453/
│ │ │ ├── approve-latest.json
│ │ │ ├── run-1716225695.json
│ │ │ ├── run-1716225767.json
│ │ │ └── run-1716225813.json
│ │ └── script/
│ │ └── UpgradeOptimismMintableERC20Factory.s.sol
│ ├── 2024-04-30-deployTempERC20Factory/
│ │ ├── Makefile
│ │ ├── deployed/
│ │ │ └── addresses.json
│ │ ├── foundry.toml
│ │ ├── inputs/
│ │ │ ├── construct-config.sh
│ │ │ ├── deploy-config.json
│ │ │ └── misc-config.json
│ │ ├── records/
│ │ │ └── RunDeployERC20Factory.sol/
│ │ │ └── 8453/
│ │ │ └── run-1714483769.json
│ │ ├── script/
│ │ │ └── RunDeployERC20Factory.sol
│ │ └── src/
│ │ └── ERC20Factory.sol
│ ├── 2024-05-28-increase-gas-limit/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── UpdateGasLimit.sol/
│ │ │ └── 1/
│ │ │ └── run-1716922926.json
│ │ └── script/
│ │ ├── RollbackGasLimit.sol
│ │ └── UpdateGasLimit.sol
│ ├── 2024-05-30-increase-gas-limit/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ └── script/
│ │ ├── RollbackGasLimit.sol
│ │ └── UpdateGasLimit.sol
│ ├── 2024-06-05-reredeploy-smart-escrow/
│ │ ├── Makefile
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── DeploySmartEscrow.s.sol/
│ │ │ └── 10/
│ │ │ ├── run-1719275042.json
│ │ │ ├── run-1719275101.json
│ │ │ └── run-1722111961.json
│ │ └── script/
│ │ └── DeploySmartEscrow.s.sol
│ ├── 2024-06-17-increase-gas-limit/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ └── script/
│ │ ├── RollbackGasLimit.sol
│ │ └── UpdateGasLimit.sol
│ ├── 2024-06-25-update-gas-config/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ └── script/
│ │ ├── RollbackGasConfig.sol
│ │ └── UpdateGasConfig.sol
│ ├── 2024-06-28-update-gas-config/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ └── script/
│ │ ├── RollbackGasConfig.sol
│ │ └── UpdateGasConfig.sol
│ ├── 2024-07-10-update-gas-config/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ └── script/
│ │ ├── RollbackGasConfig.sol
│ │ └── UpdateGasConfig.sol
│ ├── 2024-07-16-increase-gas-limit/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ └── script/
│ │ ├── RollbackGasLimit.sol
│ │ └── UpdateGasLimit.sol
│ ├── 2024-07-23-set-l1-resolver/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ └── script/
│ │ └── SetL1Resolver.sol
│ ├── 2024-07-23-transfer-owner-balance-tracker/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── BalanceTrackerOwnershipTransfer.sol/
│ │ │ └── 1/
│ │ │ └── run-1721845061.json
│ │ └── script/
│ │ └── BalanceTrackerOwnershipTransfer.sol
│ ├── 2024-07-24-increase-gas-limit/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ └── script/
│ │ ├── RollbackGasLimit.sol
│ │ └── UpdateGasLimit.sol
│ ├── 2024-07-24-reduce-batcher-proposer-balance-targets/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── DeployBalanceTracker.s.sol/
│ │ │ └── 1/
│ │ │ └── run-1721866466.json
│ │ └── script/
│ │ ├── DeployBalanceTracker.s.sol
│ │ └── UpgradeBalanceTracker.s.sol
│ ├── 2024-07-30-set-new-l1-resolver/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── SetL1Resolver.sol/
│ │ │ └── 1/
│ │ │ └── run-1722367323.json
│ │ └── script/
│ │ └── SetL1Resolver.sol
│ ├── 2024-07-30-transfer-op/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── TransferOPTokens.s.sol/
│ │ │ └── 10/
│ │ │ ├── run-1723148142.json
│ │ │ ├── run-1723148655.json
│ │ │ └── run-1723148770.json
│ │ └── script/
│ │ └── TransferOPTokens.s.sol
│ ├── 2024-07-31-increase-gas-limit/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ └── script/
│ │ ├── RollbackGasLimit.sol
│ │ └── UpdateGasLimit.sol
│ ├── 2024-08-27-disburse-basenames/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── disbursement.json
│ │ ├── disbursement1.csv
│ │ ├── disbursement10.csv
│ │ ├── disbursement11.csv
│ │ ├── disbursement12.csv
│ │ ├── disbursement13.csv
│ │ ├── disbursement14.csv
│ │ ├── disbursement15.csv
│ │ ├── disbursement2.csv
│ │ ├── disbursement3.csv
│ │ ├── disbursement4.csv
│ │ ├── disbursement5.csv
│ │ ├── disbursement6.csv
│ │ ├── disbursement7.csv
│ │ ├── disbursement8.csv
│ │ ├── disbursement9.csv
│ │ ├── foundry.toml
│ │ ├── parser.sh
│ │ ├── records/
│ │ │ └── DisburseBasenames.sol/
│ │ │ └── 8453/
│ │ │ ├── executeWithNonce-latest.json
│ │ │ ├── run-1724878834.json
│ │ │ ├── run-1724878939.json
│ │ │ ├── run-1725393994.json
│ │ │ ├── run-1725654743.json
│ │ │ ├── run-1745611292.json
│ │ │ ├── run-1749233082.json
│ │ │ └── run-1757534662694.json
│ │ └── script/
│ │ └── DisburseBasenames.sol
│ ├── 2024-09-23-increase-gas-limit/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ └── records/
│ │ └── UpgradeGasLimit.sol/
│ │ └── 1/
│ │ └── run-1727285381.json
│ ├── 2024-10-01-increase-gas-limit/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ └── records/
│ │ └── UpgradeGasLimit.sol/
│ │ └── 1/
│ │ └── run-1727888979.json
│ ├── 2024-10-08-increase-gas-limit/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ └── records/
│ │ └── UpgradeGasLimit.sol/
│ │ └── 1/
│ │ └── run-1728494142.json
│ ├── 2024-10-15-increase-gas-limit/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ └── records/
│ │ └── UpgradeGasLimit.sol/
│ │ └── 1/
│ │ └── run-1729105634.json
│ ├── 2024-10-22-increase-gas-limit/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ └── records/
│ │ └── UpgradeGasLimit.sol/
│ │ └── 1/
│ │ └── run-1729703140.json
│ ├── 2024-11-18-increase-max-gas-limit/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ ├── output
│ │ ├── patch/
│ │ │ └── max-gas-limit.patch
│ │ ├── records/
│ │ │ ├── DeploySystemConfig.s.sol/
│ │ │ │ └── 1/
│ │ │ │ └── run-1733860170.json
│ │ │ └── UpgradeSystemConfig.s.sol/
│ │ │ └── 1/
│ │ │ ├── run-1733947633.json
│ │ │ ├── run-1733957906.json
│ │ │ └── run-1733958067.json
│ │ └── script/
│ │ ├── DeploySystemConfig.s.sol
│ │ └── UpgradeSystemConfig.s.sol
│ ├── 2024-12-04-increase-gas-limit/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ └── records/
│ │ └── UpgradeGasLimit.sol/
│ │ └── 1/
│ │ └── run-1733328181.json
│ ├── 2024-12-11-increase-gas-limit/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ └── records/
│ │ └── UpgradeGasLimit.sol/
│ │ └── 1/
│ │ └── run-1733962358.json
│ ├── 2024-12-18-holocene-deployments/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── deployed/
│ │ │ └── addresses.json
│ │ ├── foundry.toml
│ │ ├── inputs/
│ │ │ ├── construct-config.sh
│ │ │ ├── deploy-config.json
│ │ │ └── misc-config.json
│ │ ├── records/
│ │ │ └── DeployHoloceneContracts.s.sol/
│ │ │ └── 1/
│ │ │ └── run-1734652451.json
│ │ └── script/
│ │ └── DeployHoloceneContracts.s.sol
│ ├── 2024-12-18-increase-gas-limit/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ └── records/
│ │ └── UpgradeGasLimit.sol/
│ │ └── 1/
│ │ └── run-1734551212.json
│ ├── 2025-01-08-transfer-proxyadmin-owner-L1alias/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── VALIDATION.MD
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── TransferOwner.s.sol/
│ │ │ └── 8453/
│ │ │ ├── run-1738699790.json
│ │ │ ├── run-1738702467.json
│ │ │ └── run-1738702575.json
│ │ └── script/
│ │ └── TransferOwner.s.sol
│ ├── 2025-01-15-increase-gas-limit/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ └── records/
│ │ └── UpgradeGasLimit.sol/
│ │ └── 1/
│ │ └── run-1736968347.json
│ ├── 2025-01-15-nested-ownership-transfer/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── VALIDATION.md
│ │ ├── addresses.json
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ ├── DeploySafes.s.sol/
│ │ │ │ └── 1/
│ │ │ │ └── run-1745514205.json
│ │ │ └── UpdateSigners.s.sol/
│ │ │ └── 1/
│ │ │ └── run-1745938970.json
│ │ ├── script/
│ │ │ ├── DeploySafes.s.sol
│ │ │ └── UpdateSigners.s.sol
│ │ └── signers.json
│ ├── 2025-01-22-increase-gas-limit/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ └── records/
│ │ └── UpgradeGasLimit.sol/
│ │ └── 1/
│ │ └── run-1737568790.json
│ ├── 2025-01-29-increase-gas-limit/
│ │ ├── Makefile
│ │ ├── README.md
│ │ └── foundry.toml
│ ├── 2025-02-12-increase-gas-limit/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ └── records/
│ │ └── SetGasLimit.sol/
│ │ └── 1/
│ │ └── run-1739387882.json
│ ├── 2025-02-19-increase-gas-limit/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ └── records/
│ │ └── SetGasLimit.sol/
│ │ └── 1/
│ │ └── run-1739987678.json
│ ├── 2025-02-25-increase-gas-limit/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ └── records/
│ │ └── SetGasLimit.sol/
│ │ └── 1/
│ │ └── run-1740593054.json
│ ├── 2025-03-05-increase-gas-limit/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ └── records/
│ │ └── SetGasLimit.sol/
│ │ └── 1/
│ │ └── run-1741194410.json
│ ├── 2025-03-05-upgrade-fault-proofs/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── VALIDATION.md
│ │ ├── addresses.json
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── DeployDisputeGames.s.sol/
│ │ │ └── 1/
│ │ │ └── run-1742911814.json
│ │ └── script/
│ │ ├── DeployDisputeGames.s.sol
│ │ └── UpgradeDGF.s.sol
│ ├── 2025-03-19-increase-gas-limit/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ └── records/
│ │ └── SetGasLimit.sol/
│ │ └── 1/
│ │ └── run-1742400711.json
│ ├── 2025-03-26-increase-gas-limit/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ └── records/
│ │ └── SetGasLimit.sol/
│ │ └── 1/
│ │ └── run-1743002773.json
│ ├── 2025-04-07-init-smart-escrow-ownership-transfer/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── VALIDATION.md
│ │ ├── foundry.toml
│ │ └── script/
│ │ └── InitOwnershipTransfer.s.sol
│ ├── 2025-04-07-update-fee-disperser-ownership/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── VALIDATION.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── OwnershipTransfer.s.sol/
│ │ │ └── 8453/
│ │ │ └── run-1749317765.json
│ │ └── script/
│ │ └── OwnershipTransfer.s.sol
│ ├── 2025-04-23-upgrade-fault-proofs/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── addresses.json
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ ├── DeployDisputeGames.s.sol/
│ │ │ │ └── 1/
│ │ │ │ └── run-1745860191.json
│ │ │ └── UpgradeDGF.s.sol/
│ │ │ └── 1/
│ │ │ ├── approve-latest.json
│ │ │ ├── run-1746550202.json
│ │ │ ├── run-1746550275.json
│ │ │ ├── run-1746553742.json
│ │ │ └── run-1746643611.json
│ │ ├── script/
│ │ │ ├── DeployDisputeGames.s.sol
│ │ │ └── UpgradeDGF.s.sol
│ │ └── validations/
│ │ ├── CB.md
│ │ ├── OP.md
│ │ └── SC.md
│ ├── 2025-04-29-increase-gas-limit/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ └── records/
│ │ └── SetGasLimit.sol/
│ │ └── 1/
│ │ └── run-1746038678.json
│ ├── 2025-05-06-fund-ledgers/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── VALIDATION.md
│ │ ├── foundry.toml
│ │ ├── funding.json
│ │ ├── records/
│ │ │ └── Fund.s.sol/
│ │ │ └── 1/
│ │ │ └── run-1747176781.json
│ │ └── script/
│ │ └── Fund.s.sol
│ ├── 2025-05-07-increase-gas-limit/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ └── records/
│ │ └── SetGasLimit.sol/
│ │ └── 1/
│ │ └── run-1746637693.json
│ ├── 2025-05-13-incident-multisig-signers/
│ │ ├── Makefile
│ │ ├── OwnerDiff.json
│ │ ├── README.md
│ │ ├── VALIDATION.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── UpdateSigners.s.sol/
│ │ │ └── 1/
│ │ │ └── run-1749035499.json
│ │ └── script/
│ │ └── UpdateSigners.s.sol
│ ├── 2025-05-15-eip1559-denominator-reduction/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── VALIDATION.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── ReduceEip1559Denominator.s.sol/
│ │ │ └── 1/
│ │ │ └── run-1748379182.json
│ │ └── script/
│ │ └── ReduceEip1559Denominator.s.sol
│ ├── 2025-06-04-upgrade-system-config/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── addresses.json
│ │ ├── foundry.toml
│ │ ├── patch/
│ │ │ └── max-gas-limit.patch
│ │ ├── records/
│ │ │ ├── DeploySystemConfig.s.sol/
│ │ │ │ └── 1/
│ │ │ │ └── run-1749474907.json
│ │ │ └── UpgradeSystemConfig.s.sol/
│ │ │ └── 1/
│ │ │ ├── approve-latest.json
│ │ │ ├── run-1750783683.json
│ │ │ ├── run-1750783800.json
│ │ │ ├── run-1750783885.json
│ │ │ ├── run-1750783934.json
│ │ │ └── run-1750797290.json
│ │ ├── script/
│ │ │ ├── DeploySystemConfig.s.sol
│ │ │ └── UpgradeSystemConfig.s.sol
│ │ └── validations/
│ │ ├── BASE_NESTED_VALIDATION.md
│ │ ├── BASE_SC_VALIDATION.md
│ │ └── OP_VALIDATION.md
│ ├── 2025-06-18-eip1559-elasticity-increase/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── VALIDATION.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── IncreaseEip1559ElasticityAndIncreaseGasLimit.s.sol/
│ │ │ └── 1/
│ │ │ └── run-1750283342.json
│ │ └── script/
│ │ └── IncreaseEip1559ElasticityAndIncreaseGasLimit.s.sol
│ ├── 2025-06-25-safe-swap-owner/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── SwapOwner.s.sol/
│ │ │ └── 1/
│ │ │ └── run-1752508958.json
│ │ ├── script/
│ │ │ └── SwapOwner.s.sol
│ │ └── validations/
│ │ └── VALIDATION.md
│ ├── 2025-07-24-eth-recovery/
│ │ ├── ARBITRUM_VALIDATION.md
│ │ ├── BASE_VALIDATION.md
│ │ ├── Makefile
│ │ ├── OPTIMISM_VALIDATION.md
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ ├── output/
│ │ │ ├── arbitrum/
│ │ │ │ └── recovery_addresses.json
│ │ │ ├── base/
│ │ │ │ └── recovery_addresses.json
│ │ │ └── optimism/
│ │ │ └── recovery_addresses.json
│ │ ├── records/
│ │ │ ├── ArbitrumExecuteRecovery.s.sol/
│ │ │ │ └── 1/
│ │ │ │ ├── run-1754080993.json
│ │ │ │ ├── run-1754082985.json
│ │ │ │ ├── run-1754083142.json
│ │ │ │ ├── run-1754083249.json
│ │ │ │ ├── run-1754083348.json
│ │ │ │ └── run-1754083422.json
│ │ │ ├── DeployRecoveryImplementation.s.sol/
│ │ │ │ ├── 10/
│ │ │ │ │ └── run-1753908210.json
│ │ │ │ ├── 42161/
│ │ │ │ │ └── run-1753908149.json
│ │ │ │ └── 8453/
│ │ │ │ └── run-1753908081.json
│ │ │ └── OPStackExecuteRecovery.s.sol/
│ │ │ └── 1/
│ │ │ ├── run-1754081221.json
│ │ │ ├── run-1754081917.json
│ │ │ ├── run-1754082409.json
│ │ │ ├── run-1754082458.json
│ │ │ ├── run-1754082505.json
│ │ │ ├── run-1754084018.json
│ │ │ ├── run-1754084077.json
│ │ │ ├── run-1754084126.json
│ │ │ ├── run-1754084197.json
│ │ │ ├── run-1754084245.json
│ │ │ ├── run-1754084306.json
│ │ │ ├── run-1754084378.json
│ │ │ ├── run-1754084425.json
│ │ │ ├── run-1754084474.json
│ │ │ ├── run-1754084558.json
│ │ │ ├── run-1754084607.json
│ │ │ ├── run-1754084632.json
│ │ │ ├── run-1754084678.json
│ │ │ └── run-1754084725.json
│ │ └── script/
│ │ ├── ArbitrumExecuteRecovery.s.sol
│ │ ├── DeployRecoveryImplementation.s.sol
│ │ ├── DeployRecoveryProxies.s.sol
│ │ └── OPStackExecuteRecovery.s.sol
│ ├── 2025-08-13-safe-swap-owner/
│ │ ├── Makefile
│ │ ├── OwnerDiff.json
│ │ ├── README.md
│ │ ├── VALIDATION.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── SwapOwner.s.sol/
│ │ │ └── 8453/
│ │ │ ├── run-1757436536544.json
│ │ │ └── run-1757436608629.json
│ │ └── script/
│ │ └── SwapOwner.s.sol
│ ├── 2025-10-06-funding/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── VALIDATION.md
│ │ ├── foundry.toml
│ │ ├── funding.json
│ │ └── script/
│ │ └── Fund.s.sol
│ ├── 2025-10-07-upgrade-to-U16a/
│ │ ├── README.md
│ │ └── records/
│ │ └── OPCMUpgradeV410.sol/
│ │ └── 1/
│ │ ├── run-1759861934.json
│ │ ├── run-1759862413.json
│ │ ├── run-1759862485.json
│ │ └── run-1759862580.json
│ ├── 2025-10-20-incident-multisig-signers/
│ │ ├── FACILITATORS.md
│ │ ├── Makefile
│ │ ├── OwnerDiff.json
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── UpdateSigners.s.sol/
│ │ │ └── 1/
│ │ │ └── run-1761579001803.json
│ │ ├── script/
│ │ │ └── UpdateSigners.s.sol
│ │ └── validations/
│ │ └── base-signer.json
│ ├── 2025-10-28-increase-gas-and-elasticity-limit/
│ │ ├── FACILITATOR.md
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── IncreaseEip1559ElasticityAndIncreaseGasLimit.s.sol/
│ │ │ └── 1/
│ │ │ └── run-1761755774673.json
│ │ ├── script/
│ │ │ └── IncreaseEip1559ElasticityAndIncreaseGasLimit.s.sol
│ │ └── validations/
│ │ └── base-signer.json
│ ├── 2025-11-05-increase-gas-limit/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ └── validations/
│ │ └── base-signer.json
│ ├── 2025-11-10-increase-gas-and-elasticity-limit/
│ │ ├── FACILITATOR.md
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── UpdateGasParams.s.sol/
│ │ │ └── 1/
│ │ │ └── run-1762965805898.json
│ │ ├── script/
│ │ │ └── UpdateGasParams.s.sol
│ │ └── validations/
│ │ ├── base-signer-rollback.json
│ │ └── base-signer.json
│ ├── 2025-11-15-deploy-cb-multicall/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── addresses.json
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── DeployCBMulticall.s.sol/
│ │ │ └── 8453/
│ │ │ └── run-1763160551942.json
│ │ └── script/
│ │ └── DeployCBMulticall.s.sol
│ ├── 2025-11-20-deploy-cb-multicall/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── addresses.json
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── DeployCBMulticall.s.sol/
│ │ │ ├── 1/
│ │ │ │ └── run-1763649491942.json
│ │ │ └── 8453/
│ │ │ └── run-1763649543610.json
│ │ └── script/
│ │ └── DeployCBMulticall.s.sol
│ ├── 2025-11-21-u17-jovian-upgrade/
│ │ ├── FACILITATORS.md
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── UpgradeWithOpSmartContractManager.sol/
│ │ │ └── 1/
│ │ │ ├── approve-latest.json
│ │ │ ├── run-1764604369938.json
│ │ │ ├── run-1764604491152.json
│ │ │ ├── run-1764604526281.json
│ │ │ └── run-1764604704970.json
│ │ ├── script/
│ │ │ ├── MultisigScript.sol
│ │ │ └── UpgradeWithOpSmartContractManager.sol
│ │ └── validations/
│ │ ├── base-security-council-signer.json
│ │ ├── coinbase-signer.json
│ │ └── optimism-signer.json
│ ├── 2025-11-25-base-bridge-deployment/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── addresses.json
│ │ ├── config.json
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── DeployBridge.s.sol/
│ │ │ └── 8453/
│ │ │ └── run-1764164771386.json
│ │ └── script/
│ │ └── DeployBridge.s.sol
│ ├── 2025-12-01-pause-bridge-base/
│ │ ├── FACILITATORS.md
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── PauseBridge.s.sol/
│ │ │ └── 1/
│ │ │ ├── run-1764695666667.json
│ │ │ └── run-1764696374577.json
│ │ ├── script/
│ │ │ └── PauseBridge.s.sol
│ │ └── validations/
│ │ └── base-signer.json
│ ├── 2025-12-04-set-jovian-parameters/
│ │ ├── FACILITATORS.md
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── SetJovianParameters.s.sol/
│ │ │ └── 1/
│ │ │ └── run-1764871622342.json
│ │ ├── script/
│ │ │ └── SetJovianParameters.s.sol
│ │ └── validations/
│ │ └── base-signer.json
│ ├── 2025-12-08-increase-gas-and-elasticity-limit/
│ │ ├── FACILITATOR.md
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── IncreaseEip1559ElasticityAndIncreaseGasLimit.s.sol/
│ │ │ └── 1/
│ │ │ └── run-1766084929.json
│ │ ├── script/
│ │ │ └── IncreaseEip1559ElasticityAndIncreaseGasLimit.s.sol
│ │ └── validations/
│ │ ├── base-signer-rollback.json
│ │ └── base-signer.json
│ ├── 2025-12-15-increase-min-base-fee/
│ │ ├── FACILITATOR.md
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── IncreaseMinBaseFee.s.sol/
│ │ │ └── 1/
│ │ │ └── run-1766085218628.json
│ │ ├── script/
│ │ │ └── IncreaseMinBaseFee.s.sol
│ │ └── validations/
│ │ └── base-signer.json
│ ├── 2026-01-09-op-stack-upgrade-18/
│ │ ├── FACILITATORS.md
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── ExecuteOPCM.s.sol/
│ │ │ └── 1/
│ │ │ ├── run-1770741422696.json
│ │ │ ├── run-1770741733158.json
│ │ │ ├── run-1770742081453.json
│ │ │ └── run-1770742201070.json
│ │ ├── script/
│ │ │ └── ExecuteOPCM.s.sol
│ │ └── validations/
│ │ ├── coinbase-signer.json
│ │ ├── optimism-signer.json
│ │ └── security-council-signer.json
│ ├── 2026-01-20-update-basefee-da-footprint/
│ │ ├── FACILITATOR.md
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── SetMinBaseFeeAndDAFootprint.s.sol/
│ │ │ └── 1/
│ │ │ └── run-1769112998506.json
│ │ ├── script/
│ │ │ └── SetMinBaseFeeAndDAFootprint.s.sol
│ │ └── validations/
│ │ ├── base-signer-rollback.json
│ │ └── base-signer.json
│ ├── 2026-01-28-update-min-base-fee/
│ │ ├── FACILITATOR.md
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── SetMinBaseFee.s.sol/
│ │ │ └── 1/
│ │ │ └── run-1770084530335.json
│ │ ├── script/
│ │ │ └── SetMinBaseFee.s.sol
│ │ └── validations/
│ │ ├── base-signer-rollback.json
│ │ └── base-signer.json
│ ├── 2026-02-03-eip1559-denominator-increase/
│ │ ├── FACILITATORS.md
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── IncreaseEip1559Denominator.s.sol/
│ │ │ └── 1/
│ │ │ └── run-1770211645877.json
│ │ ├── script/
│ │ │ └── IncreaseEip1559Denominator.s.sol
│ │ └── validations/
│ │ ├── base-signer-rollback.json
│ │ └── base-signer.json
│ ├── 2026-02-17-update-min-base-fee/
│ │ ├── FACILITATOR.md
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── SetMinBaseFee.s.sol/
│ │ │ └── 1/
│ │ │ └── run-1771531755195.json
│ │ ├── script/
│ │ │ └── SetMinBaseFee.s.sol
│ │ └── validations/
│ │ ├── base-signer-rollback.json
│ │ └── base-signer.json
│ ├── 2026-02-19-superchain-separation/
│ │ ├── FACILITATORS.md
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ ├── AddSecurityCouncilSigner.s.sol/
│ │ │ │ └── 1/
│ │ │ │ └── run-1772559435293.json
│ │ │ ├── DeployFeeDisburser.s.sol/
│ │ │ │ └── 8453/
│ │ │ │ └── run-1771962505194.json
│ │ │ ├── DeploySuperchainConfigAndSystemConfig.s.sol/
│ │ │ │ └── 1/
│ │ │ │ └── run-1771973281770.json
│ │ │ ├── TerminateSmartEscrow.s.sol/
│ │ │ │ └── 10/
│ │ │ │ └── run-1772559267231.json
│ │ │ ├── UpdateCBSafeSigners.s.sol/
│ │ │ │ └── 1/
│ │ │ │ ├── approve-latest.json
│ │ │ │ ├── run-1772558762154.json
│ │ │ │ ├── run-1772558857931.json
│ │ │ │ └── run-1772558895941.json
│ │ │ ├── UpdateProxyAdminOwnerSigners.s.sol/
│ │ │ │ └── 1/
│ │ │ │ ├── approve-latest.json
│ │ │ │ ├── run-1772558365917.json
│ │ │ │ ├── run-1772558522364.json
│ │ │ │ ├── run-1772558558823.json
│ │ │ │ ├── run-1772558642511.json
│ │ │ │ └── run-1772558678595.json
│ │ │ ├── UpgradeFeeDisburser.s.sol/
│ │ │ │ └── 1/
│ │ │ │ └── run-1772559195571.json
│ │ │ ├── UpgradeSystemConfig.s.sol/
│ │ │ │ └── 1/
│ │ │ │ ├── approve-latest.json
│ │ │ │ ├── run-1772558954723.json
│ │ │ │ ├── run-1772559037725.json
│ │ │ │ └── run-1772559062275.json
│ │ │ └── WithdrawSmartEscrow.s.sol/
│ │ │ └── 10/
│ │ │ ├── approve-latest.json
│ │ │ ├── run-1772559325436.json
│ │ │ └── run-1773681700867.json
│ │ ├── script/
│ │ │ ├── AddSecurityCouncilSigner.s.sol
│ │ │ ├── DeployFeeDisburser.s.sol
│ │ │ ├── DeploySuperchainConfigAndSystemConfig.s.sol
│ │ │ ├── TerminateSmartEscrow.s.sol
│ │ │ ├── UpdateCBSafeSigners.s.sol
│ │ │ ├── UpdateProxyAdminOwnerSigners.s.sol
│ │ │ ├── UpgradeFeeDisburser.s.sol
│ │ │ ├── UpgradeSystemConfig.s.sol
│ │ │ └── WithdrawSmartEscrow.s.sol
│ │ └── validations/
│ │ ├── coinbase-signer-part-1.json
│ │ ├── coinbase-signer-part-2.json
│ │ ├── coinbase-signer-part-3.json
│ │ ├── coinbase-signer-part-4.json
│ │ ├── coinbase-signer-part-5.json
│ │ ├── coinbase-signer-part-6.json
│ │ ├── optimism-op-mainnet-signer.json
│ │ ├── optimism-signer.json
│ │ ├── security-council-signer-part-1.json
│ │ ├── security-council-signer-part-2.json
│ │ ├── security-council-signer-part-3.json
│ │ └── security-council-signer-part-4.json
│ ├── 2026-02-27-pause-superchain-config/
│ │ ├── FACILITATOR.md
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ └── script/
│ │ └── PauseSuperchainConfig.s.sol
│ ├── 2026-03-11-patch-fee-disburser/
│ │ ├── FACILITATOR.md
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ ├── patch/
│ │ │ ├── fee-disburser-semver.patch
│ │ │ └── ifee-vault-withdraw.patch
│ │ ├── records/
│ │ │ ├── DeployFeeDisburser.s.sol/
│ │ │ │ └── 8453/
│ │ │ │ └── run-1773254584772.json
│ │ │ └── UpgradeFeeDisburser.s.sol/
│ │ │ └── 1/
│ │ │ └── run-1773435817460.json
│ │ ├── script/
│ │ │ ├── DeployFeeDisburser.s.sol
│ │ │ └── UpgradeFeeDisburser.s.sol
│ │ └── validations/
│ │ └── base-signer.json
│ ├── 2026-03-25-increase-gas-and-elasticity-limit/
│ │ ├── FACILITATOR.md
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── IncreaseEip1559ElasticityAndIncreaseGasLimit.s.sol/
│ │ │ └── 1/
│ │ │ └── run-1774471597995.json
│ │ ├── script/
│ │ │ └── IncreaseEip1559ElasticityAndIncreaseGasLimit.s.sol
│ │ └── validations/
│ │ ├── base-signer-rollback.json
│ │ └── base-signer.json
│ └── addresses.json
├── sepolia/
│ ├── 2023-09-26-deploy/
│ │ ├── Makefile
│ │ ├── deploy-config/
│ │ │ └── deploy-config.json
│ │ ├── deployed/
│ │ │ └── addresses.json
│ │ └── foundry.toml
│ ├── 2023-10-07-upgrade-l1-standard-bridge/
│ │ ├── .gitignore
│ │ ├── Makefile
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ ├── DeployL1StandardBridge.s.sol/
│ │ │ │ └── 11155111/
│ │ │ │ └── run-1696724294.json
│ │ │ └── UpgradeL1StandardBridge.s.sol/
│ │ │ └── 11155111/
│ │ │ └── run-1696724395.json
│ │ └── script/
│ │ ├── DeployL1StandardBridge.s.sol
│ │ └── UpgradeL1StandardBridge.s.sol
│ ├── 2024-01-22-deploy-revshare/
│ │ ├── Makefile
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ ├── DeployBalanceTracker.s.sol/
│ │ │ │ └── 11155111/
│ │ │ │ └── run-1706212422.json
│ │ │ ├── DeployFeeDisburser.s.sol/
│ │ │ │ └── 84532/
│ │ │ │ └── run-1706221009.json
│ │ │ ├── DeployNewFeeVaults.s.sol/
│ │ │ │ └── 84532/
│ │ │ │ ├── run-1706826531.json
│ │ │ │ └── run-1706826537.json
│ │ │ ├── UpdateFeeVaultRecipient.s.sol/
│ │ │ │ └── 84532/
│ │ │ │ └── run-1706556198.json
│ │ │ └── UpgradeFeeVaultProxy.s.sol/
│ │ │ └── 84532/
│ │ │ └── run-1706827667.json
│ │ └── script/
│ │ ├── DeployBalanceTracker.s.sol
│ │ ├── DeployFeeDisburser.s.sol
│ │ ├── DeployNewFeeVaults.s.sol
│ │ └── UpgradeFeeVaultProxy.s.sol
│ ├── 2024-02-28-pause-unpause-portal/
│ │ ├── Makefile
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ ├── PausePortal.s.sol/
│ │ │ │ └── 11155111/
│ │ │ │ └── run-1709751738.json
│ │ │ └── UnpausePortal.s.sol/
│ │ │ └── 11155111/
│ │ │ └── run-1709755240.json
│ │ └── script/
│ │ ├── PausePortal.s.sol
│ │ └── UnpausePortal.s.sol
│ ├── 2024-03-07-ecotone-sysconfig-updates/
│ │ ├── Makefile
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── UpdateGasConfig.sol/
│ │ │ └── 11155111/
│ │ │ └── run-1709934684.json
│ │ └── script/
│ │ └── UpdateGasConfig.sol
│ ├── 2024-03-26-increase-gas-limit/
│ │ ├── Makefile
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── UpdateGasLimit.sol/
│ │ │ └── 11155111/
│ │ │ └── run-1711511753.json
│ │ └── script/
│ │ └── UpdateGasLimit.sol
│ ├── 2024-04-10-deploy-ERC20Factory/
│ │ ├── Makefile
│ │ ├── deployed/
│ │ │ └── addresses.json
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── RunERC20FactoryDeploy.s.sol/
│ │ │ └── 84532/
│ │ │ ├── run-1712769228.json
│ │ │ ├── run-1712947267.json
│ │ │ └── run-1713280540.json
│ │ └── script/
│ │ └── RunERC20FactoryDeploy.s.sol
│ ├── 2024-04-30-deployTempERC20Factory/
│ │ ├── Makefile
│ │ ├── deployed/
│ │ │ └── addresses.json
│ │ ├── foundry.toml
│ │ ├── inputs/
│ │ │ ├── construct-config.sh
│ │ │ ├── deploy-config.json
│ │ │ └── misc-config.json
│ │ ├── records/
│ │ │ └── RunDeployERC20Factory.sol/
│ │ │ └── 84532/
│ │ │ └── run-1714484076.json
│ │ ├── script/
│ │ │ └── RunDeployERC20Factory.sol
│ │ └── src/
│ │ └── ERC20Factory.sol
│ ├── 2024-05-30-transfer-proxyadmin-owners/
│ │ ├── Makefile
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ ├── TransferL1ProxyAdminOwner.s.sol/
│ │ │ │ └── 11155111/
│ │ │ │ └── run-1717448862.json
│ │ │ ├── TransferL2ProxyAdminOwner.s.sol/
│ │ │ │ └── 84532/
│ │ │ │ └── run-1717448942.json
│ │ │ └── TransferSystemConfigProxyOwner.s.sol/
│ │ │ └── 11155111/
│ │ │ └── run-1717449020.json
│ │ └── script/
│ │ ├── TransferL1ProxyAdminOwner.s.sol
│ │ ├── TransferL2ProxyAdminOwner.s.sol
│ │ └── TransferSystemConfigProxyOwner.s.sol
│ ├── 2024-08-26-update-batcher-hash/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── UpdateBatcherHash.s.sol/
│ │ │ └── 11155111/
│ │ │ └── run-1724971345.json
│ │ └── script/
│ │ ├── RollbackBatcherHash.s.sol
│ │ └── UpdateBatcherHash.s.sol
│ ├── 2024-09-11-deploy-new-PDG/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── DeployNewPDG.s.sol/
│ │ │ └── 11155111/
│ │ │ └── run-1726092565.json
│ │ └── script/
│ │ └── DeployNewPDG.s.sol
│ ├── 2024-09-11-update-proposer/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── UpdateProposer.s.sol/
│ │ │ └── 11155111/
│ │ │ └── run-1726095157.json
│ │ └── script/
│ │ ├── RollbackProposer.s.sol
│ │ └── UpdateProposer.s.sol
│ ├── 2024-10-09-increase-gas-limit/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ └── records/
│ │ └── UpgradeGasLimit.sol/
│ │ └── 11155111/
│ │ └── run-1728578106.json
│ ├── 2024-12-06-increase-max-gas-limit/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ ├── patch/
│ │ │ └── max-gas-limit.patch
│ │ ├── records/
│ │ │ └── UpgradeSystemConfig.s.sol/
│ │ │ └── 11155111/
│ │ │ └── run-1733527237.json
│ │ └── script/
│ │ ├── DeploySystemConfig.s.sol
│ │ └── UpgradeSystemConfig.s.sol
│ ├── 2025-01-23-upgrade-balance-tracker/
│ │ ├── Makefile
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── UpgradeBalanceTracker.s.sol/
│ │ │ └── 11155111/
│ │ │ └── run-1738252251.json
│ │ └── script/
│ │ └── UpgradeBalanceTracker.s.sol
│ ├── 2025-02-14-upgrade-fault-proofs/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── VALIDATION.md
│ │ ├── addresses.json
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ ├── DeployDisputeGames.s.sol/
│ │ │ │ └── 11155111/
│ │ │ │ └── run-1740598045.json
│ │ │ └── UpgradeDGF.s.sol/
│ │ │ └── 11155111/
│ │ │ └── run-1740768733.json
│ │ └── script/
│ │ ├── DeployDisputeGames.s.sol
│ │ └── UpgradeDGF.s.sol
│ ├── 2025-03-12-upgrade-fault-proofs/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── VALIDATION.md
│ │ ├── addresses.json
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ ├── DeployDisputeGames.s.sol/
│ │ │ │ └── 11155111/
│ │ │ │ ├── run-1741808714.json
│ │ │ │ └── run-1743014041.json
│ │ │ └── UpgradeDGF.s.sol/
│ │ │ └── 11155111/
│ │ │ ├── approve-latest.json
│ │ │ ├── run-1741902924.json
│ │ │ ├── run-1743022548.json
│ │ │ ├── run-1743022789.json
│ │ │ └── run-1743022908.json
│ │ └── script/
│ │ ├── DeployDisputeGames.s.sol
│ │ └── UpgradeDGF.s.sol
│ ├── 2025-03-14-mirror-mainnet-hierarchy/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── Validation.md
│ │ ├── addresses.json
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ ├── DeploySafes.s.sol/
│ │ │ │ └── 11155111/
│ │ │ │ ├── run-1742037481.json
│ │ │ │ └── run-1742418121.json
│ │ │ └── UpdateSigners.s.sol/
│ │ │ └── 11155111/
│ │ │ └── run-1742902176.json
│ │ └── script/
│ │ ├── DeploySafes.s.sol
│ │ └── UpdateSigners.s.sol
│ ├── 2025-04-01-nested-ownership-transfer/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── VALIDATION.md
│ │ ├── addresses.json
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ ├── DeploySafes.s.sol/
│ │ │ │ └── 11155111/
│ │ │ │ └── run-1744716601.json
│ │ │ └── UpdateSigners.s.sol/
│ │ │ └── 11155111/
│ │ │ └── run-1744741044.json
│ │ └── script/
│ │ ├── DeploySafes.s.sol
│ │ └── UpdateSigners.s.sol
│ ├── 2025-04-09-testnet-multisig-signers/
│ │ ├── Makefile
│ │ ├── OwnerDiff.json
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── UpdateSigners.s.sol/
│ │ │ └── 11155111/
│ │ │ ├── run-1744919029.json
│ │ │ └── run-1744919545.json
│ │ ├── script/
│ │ │ └── UpdateSigners.s.sol
│ │ └── validations/
│ │ ├── SafeA.md
│ │ └── SafeB.md
│ ├── 2025-04-14-upgrade-fault-proofs/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── addresses.json
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ ├── DeployDisputeGames.s.sol/
│ │ │ │ └── 11155111/
│ │ │ │ └── run-1744743721.json
│ │ │ └── UpgradeDGF.s.sol/
│ │ │ └── 11155111/
│ │ │ ├── approve-latest.json
│ │ │ ├── approveOnBehalfOfIntermediateSafe-latest.json
│ │ │ ├── approveOnBehalfOfSignerSafe-latest.json
│ │ │ ├── run-1744822945.json
│ │ │ ├── run-1744823305.json
│ │ │ ├── run-1744823401.json
│ │ │ ├── run-1744823689.json
│ │ │ └── run-1744823785.json
│ │ ├── script/
│ │ │ ├── DeployDisputeGames.s.sol
│ │ │ └── UpgradeDGF.s.sol
│ │ └── validations/
│ │ ├── NestedSafeB.md
│ │ ├── SafeA.md
│ │ └── SafeB.md
│ ├── 2025-05-08-update-fee-disperser-ownership/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── VALIDATION.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── OwnershipTransfer.s.sol/
│ │ │ └── 84532/
│ │ │ └── run-1748360700.json
│ │ └── script/
│ │ └── OwnershipTransfer.s.sol
│ ├── 2025-05-15-eip1559-denominator-reduction/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── ReduceEip1559Denominator.s.sol/
│ │ │ └── 11155111/
│ │ │ ├── approve-latest.json
│ │ │ ├── run-1748365405.json
│ │ │ ├── run-1748365537.json
│ │ │ ├── run-1748366042.json
│ │ │ ├── run-1748366112.json
│ │ │ └── run-1748366149.json
│ │ ├── script/
│ │ │ └── ReduceEip1559Denominator.s.sol
│ │ └── validations/
│ │ ├── CB_NESTED_COORDINATOR.md
│ │ ├── MOCK_OP_NESTED.md
│ │ └── MOCK_OP_NESTED_COORDINATOR.md
│ ├── 2025-06-04-upgrade-system-config/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── addresses.json
│ │ ├── foundry.toml
│ │ ├── patch/
│ │ │ └── max-gas-limit.patch
│ │ ├── records/
│ │ │ └── UpgradeSystemConfig.s.sol/
│ │ │ └── 11155111/
│ │ │ ├── approve-latest.json
│ │ │ ├── run-1749236088.json
│ │ │ ├── run-1749236197.json
│ │ │ ├── run-1749236268.json
│ │ │ ├── run-1749236318.json
│ │ │ └── run-1749236365.json
│ │ ├── script/
│ │ │ ├── DeploySystemConfig.s.sol
│ │ │ └── UpgradeSystemConfig.s.sol
│ │ └── validations/
│ │ ├── BASE_NESTED_VALIDATION.md
│ │ ├── BASE_SC_VALIDATION.md
│ │ └── OP_VALIDATION.md
│ ├── 2025-09-22-upgrade-to-U16a/
│ │ ├── README.md
│ │ ├── records/
│ │ │ └── OPCMUpgradeV410.sol/
│ │ │ └── 11155111/
│ │ │ ├── approve-latest.json
│ │ │ └── execute-latest.json
│ │ └── validation.yml
│ ├── 2025-10-09-fusaka-defense/
│ │ ├── FACILITATOR.md
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── addresses.json
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ ├── DeployDisputeGames.s.sol/
│ │ │ │ └── 11155111/
│ │ │ │ └── run-1760020249278.json
│ │ │ └── UpgradeDGF.s.sol/
│ │ │ └── 11155111/
│ │ │ ├── approve-latest.json
│ │ │ ├── run-1760121901524.json
│ │ │ ├── run-1760122214430.json
│ │ │ ├── run-1760122500830.json
│ │ │ ├── run-1760122572937.json
│ │ │ └── run-1760122597545.json
│ │ ├── script/
│ │ │ ├── DeployDisputeGames.s.sol
│ │ │ └── UpgradeDGF.s.sol
│ │ └── validations/
│ │ ├── BASE_NESTED_VALIDATION.json
│ │ ├── BASE_SC_VALIDATION.json
│ │ └── OP_VALIDATION.json
│ ├── 2025-10-17-base-bridge-alpha-deployment/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── addresses.json
│ │ ├── config.json
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── DeployBridge.s.sol/
│ │ │ └── 84532/
│ │ │ └── run-1761064051180.json
│ │ └── script/
│ │ └── DeployBridge.s.sol
│ ├── 2025-10-17-base-bridge-deployment/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── addresses.json
│ │ ├── config.json
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── DeployBridge.s.sol/
│ │ │ └── 84532/
│ │ │ └── run-1761256132305.json
│ │ └── script/
│ │ └── DeployBridge.s.sol
│ ├── 2025-10-23-pause-bridge-base/
│ │ ├── FACILITATOR.md
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── PauseBridge.s.sol/
│ │ │ └── 11155111/
│ │ │ ├── run-1761250009978.json
│ │ │ └── run-1761251184644.json
│ │ ├── script/
│ │ │ └── PauseBridge.s.sol
│ │ └── validations/
│ │ └── base-signer.json
│ ├── 2025-10-24-pause-bridge-base/
│ │ ├── FACILITATOR.md
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── PauseBridge.s.sol/
│ │ │ └── 11155111/
│ │ │ ├── run-1761340416907.json
│ │ │ └── run-1761340908642.json
│ │ └── script/
│ │ └── PauseBridge.s.sol
│ ├── 2025-11-03-incident-multisig-signers/
│ │ ├── Makefile
│ │ ├── OwnerDiff.json
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── UpdateSigners.s.sol/
│ │ │ └── 11155111/
│ │ │ ├── run-1763579592746.json
│ │ │ └── run-1763579822181.json
│ │ ├── script/
│ │ │ └── UpdateSigners.s.sol
│ │ └── validations/
│ │ ├── base-signer-safe-b.json
│ │ └── base-signer.json
│ ├── 2025-11-07-deploy-cb-multicall/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── addresses.json
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── DeployCBMulticall.s.sol/
│ │ │ └── 84532/
│ │ │ └── run-1763158491374.json
│ │ └── script/
│ │ └── DeployCBMulticall.s.sol
│ ├── 2025-11-07-upgrade-fault-proofs/
│ │ ├── FACILITATORS.md
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── UpgradeWithOpSmartContractManager.sol/
│ │ │ └── 11155111/
│ │ │ ├── approve-latest.json
│ │ │ ├── run-1763474377488.json
│ │ │ ├── run-1763474533668.json
│ │ │ ├── run-1763474617427.json
│ │ │ ├── run-1763475097893.json
│ │ │ └── run-1763475193401.json
│ │ ├── script/
│ │ │ └── UpgradeWithOpSmartContractManager.sol
│ │ └── validations/
│ │ ├── cb-sc-signer.json
│ │ ├── cb-signer.json
│ │ └── op-signer.json
│ ├── 2025-11-13-update-bridge-alpha-config/
│ │ ├── FACILITATOR.md
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── addresses.json
│ │ ├── config.json
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ ├── DeployBridgeUpdates.s.sol/
│ │ │ │ └── 84532/
│ │ │ │ └── run-1763085530401.json
│ │ │ ├── DeployRelayerOrchestrator.s.sol/
│ │ │ │ └── 84532/
│ │ │ │ └── run-1763155993182.json
│ │ │ └── UpdateConfig.s.sol/
│ │ │ └── 11155111/
│ │ │ └── run-1763153760858.json
│ │ ├── script/
│ │ │ ├── DeployBridgeUpdates.s.sol
│ │ │ ├── DeployRelayerOrchestrator.s.sol
│ │ │ └── UpdateConfig.s.sol
│ │ └── validations/
│ │ └── base-signer.json
│ ├── 2025-11-17-deploy-cb-multicall/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── addresses.json
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── DeployCBMulticall.s.sol/
│ │ │ ├── 11155111/
│ │ │ │ └── run-1763419468025.json
│ │ │ └── 84532/
│ │ │ └── run-1763646033790.json
│ │ └── script/
│ │ └── DeployCBMulticall.s.sol
│ ├── 2025-11-18-set-jovian-parameters/
│ │ ├── FACILITATORS.md
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── SetJovianParameters.s.sol/
│ │ │ └── 11155111/
│ │ │ ├── approve-latest.json
│ │ │ ├── run-1763670505775.json
│ │ │ ├── run-1763670600765.json
│ │ │ ├── run-1763670925854.json
│ │ │ ├── run-1763671068364.json
│ │ │ └── run-1763671153225.json
│ │ ├── script/
│ │ │ └── SetJovianParameters.s.sol
│ │ └── validations/
│ │ ├── cb-sc-signer.json
│ │ ├── cb-signer.json
│ │ └── op-signer.json
│ ├── 2025-11-30-systemconfig-ownership-transfer/
│ │ ├── FACILITATORS.md
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── TransferSystemConfigOwnership.s.sol/
│ │ │ └── 11155111/
│ │ │ ├── run-1765915333831.json
│ │ │ ├── run-1765915416897.json
│ │ │ ├── run-1765915501219.json
│ │ │ ├── run-1765921561047.json
│ │ │ └── run-1765921633335.json
│ │ ├── script/
│ │ │ └── TransferSystemConfigOwnership.s.sol
│ │ └── validations/
│ │ ├── base-security-council-signer.json
│ │ ├── coinbase-signer.json
│ │ └── optimism-signer.json
│ ├── 2025-12-22-update-bridge-alpha-config/
│ │ ├── FACILITATOR.md
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── addresses.json
│ │ ├── config.json
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ ├── DeployBridgeUpdates.s.sol/
│ │ │ │ └── 84532/
│ │ │ │ └── run-1766435915533.json
│ │ │ └── UpdateConfig.s.sol/
│ │ │ └── 11155111/
│ │ │ └── run-1768497928010.json
│ │ ├── script/
│ │ │ ├── DeployBridgeUpdates.s.sol
│ │ │ └── UpdateConfig.s.sol
│ │ └── validations/
│ │ └── base-signer.json
│ ├── 2026-01-08-op-stack-upgrade-18/
│ │ ├── FACILITATORS.md
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── ExecuteOPCM.s.sol/
│ │ │ └── 11155111/
│ │ │ ├── approve-latest.json
│ │ │ ├── run-1769124709630.json
│ │ │ ├── run-1769124924971.json
│ │ │ ├── run-1769124949237.json
│ │ │ ├── run-1769125249283.json
│ │ │ └── run-1769125284359.json
│ │ ├── script/
│ │ │ └── ExecuteOPCM.s.sol
│ │ └── validations/
│ │ ├── coinbase-signer.json
│ │ ├── optimism-signer.json
│ │ └── security-council-signer.json
│ ├── 2026-02-10-update-system-config-params/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── UpdateSystemConfigParams.s.sol/
│ │ │ └── 11155111/
│ │ │ └── run-1770758365511.json
│ │ ├── script/
│ │ │ └── UpdateSystemConfigParams.s.sol
│ │ └── validations/
│ │ └── base-signer.json
│ ├── 2026-02-17-update-min-base-fee/
│ │ ├── FACILITATOR.md
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── SetMinBaseFee.s.sol/
│ │ │ └── 11155111/
│ │ │ └── run-1771531286745.json
│ │ ├── script/
│ │ │ └── SetMinBaseFee.s.sol
│ │ └── validations/
│ │ ├── base-signer-rollback.json
│ │ └── base-signer.json
│ ├── 2026-02-19-superchain-separation/
│ │ ├── FACILITATORS.md
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ ├── DeployFeeDisburser.s.sol/
│ │ │ │ └── 84532/
│ │ │ │ └── run-1771950276941.json
│ │ │ ├── DeploySuperchainConfigAndSystemConfig.s.sol/
│ │ │ │ └── 11155111/
│ │ │ │ └── run-1771980781445.json
│ │ │ ├── UpdateCBSafeSigners.s.sol/
│ │ │ │ └── 11155111/
│ │ │ │ ├── approve-latest.json
│ │ │ │ ├── run-1772144713483.json
│ │ │ │ ├── run-1772144796912.json
│ │ │ │ └── run-1772144844778.json
│ │ │ ├── UpgradeFeeDisburser.s.sol/
│ │ │ │ └── 11155111/
│ │ │ │ └── run-1772145098001.json
│ │ │ └── UpgradeSystemConfig.s.sol/
│ │ │ └── 11155111/
│ │ │ ├── approve-latest.json
│ │ │ ├── run-1772144904683.json
│ │ │ ├── run-1772144942393.json
│ │ │ └── run-1772144989624.json
│ │ ├── script/
│ │ │ ├── DeployFeeDisburser.s.sol
│ │ │ ├── DeploySuperchainConfigAndSystemConfig.s.sol
│ │ │ ├── UpdateCBSafeSigners.s.sol
│ │ │ ├── UpgradeFeeDisburser.s.sol
│ │ │ └── UpgradeSystemConfig.s.sol
│ │ └── validations/
│ │ ├── base-signer-part-1.json
│ │ ├── base-signer-part-2.json
│ │ ├── base-signer-part-3.json
│ │ ├── security-council-signer-part-1.json
│ │ └── security-council-signer-part-2.json
│ ├── 2026-02-27-pause-superchain-config/
│ │ ├── FACILITATOR.md
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ └── script/
│ │ └── PauseSuperchainConfig.s.sol
│ ├── 2026-03-06-transfer-system-config-ownership/
│ │ ├── FACILITATOR.md
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── TransferSystemConfigOwnership.s.sol/
│ │ │ └── 11155111/
│ │ │ └── run-1773937909385.json
│ │ ├── script/
│ │ │ └── TransferSystemConfigOwnership.s.sol
│ │ └── validations/
│ │ └── coinbase-signer.json
│ ├── 2026-03-11-patch-fee-disburser/
│ │ ├── FACILITATOR.md
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ ├── patch/
│ │ │ ├── fee-disburser-semver.patch
│ │ │ └── ifee-vault-withdraw.patch
│ │ ├── records/
│ │ │ ├── DeployFeeDisburser.s.sol/
│ │ │ │ └── 84532/
│ │ │ │ └── run-1773252087364.json
│ │ │ └── UpgradeFeeDisburser.s.sol/
│ │ │ └── 11155111/
│ │ │ └── run-1773335017410.json
│ │ ├── script/
│ │ │ ├── DeployFeeDisburser.s.sol
│ │ │ └── UpgradeFeeDisburser.s.sol
│ │ └── validations/
│ │ └── base-signer.json
│ ├── 2026-03-25-increase-gas-and-elasticity-limit/
│ │ ├── FACILITATOR.md
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── IncreaseEip1559ElasticityAndIncreaseGasLimit.s.sol/
│ │ │ └── 11155111/
│ │ │ └── run-1774464540781.json
│ │ ├── script/
│ │ │ └── IncreaseEip1559ElasticityAndIncreaseGasLimit.s.sol
│ │ └── validations/
│ │ ├── base-signer-rollback.json
│ │ └── base-signer.json
│ ├── 2026-04-20-activate-multiproof/
│ │ ├── FACILITATOR.md
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── addresses.json
│ │ ├── foundry.toml
│ │ ├── patch/
│ │ │ └── asr-reset-anchor-game.patch
│ │ ├── records/
│ │ │ ├── ActivateMultiproofStack.s.sol/
│ │ │ │ └── 11155111/
│ │ │ │ ├── approve-latest.json
│ │ │ │ ├── run-1776392629127.json
│ │ │ │ ├── run-1776392724858.json
│ │ │ │ └── run-1776392808986.json
│ │ │ ├── DeployMultiproofStack.s.sol/
│ │ │ │ └── 11155111/
│ │ │ │ ├── run-1776362103158.json
│ │ │ │ └── run-1776380209255.json
│ │ │ ├── DeployNitroVerifier.s.sol/
│ │ │ │ └── 11155111/
│ │ │ │ ├── run-1776361698333.json
│ │ │ │ └── run-1776379902060.json
│ │ │ └── SetupNitroEnclaveVerifier.s.sol/
│ │ │ └── 11155111/
│ │ │ ├── run-1776362557749.json
│ │ │ └── run-1776380244914.json
│ │ ├── script/
│ │ │ ├── ActivateMultiproofStack.s.sol
│ │ │ ├── DeployMultiproofStack.s.sol
│ │ │ ├── DeployNitroVerifier.s.sol
│ │ │ └── SetupNitroEnclaveVerifier.s.sol
│ │ └── validations/
│ │ ├── multiproof-cb-signer.json
│ │ └── multiproof-sc-signer.json
│ ├── 2026-04-23-update-zk-config/
│ │ ├── FACILITATOR.md
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── addresses.json
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ ├── DeployAggregateVerifier.s.sol/
│ │ │ │ └── 11155111/
│ │ │ │ └── run-1777030531899.json
│ │ │ ├── DeployZkVerifier.s.sol/
│ │ │ │ └── 11155111/
│ │ │ │ └── run-1777030330468.json
│ │ │ └── UpdateZkConfig.s.sol/
│ │ │ └── 11155111/
│ │ │ ├── approve-latest.json
│ │ │ ├── run-1777051057133.json
│ │ │ ├── run-1777051117884.json
│ │ │ └── run-1777051382241.json
│ │ ├── script/
│ │ │ ├── DeployAggregateVerifier.s.sol
│ │ │ ├── DeployZkVerifier.s.sol
│ │ │ └── UpdateZkConfig.s.sol
│ │ └── validations/
│ │ ├── update-zk-config-cb-signer.json
│ │ └── update-zk-config-sc-signer.json
│ └── signatures/
│ ├── 2026-02-19-superchain-separation/
│ │ ├── base-facilitator-signature.json
│ │ ├── base-sc-facilitator-signature.json
│ │ └── creator-signature.json
│ ├── 2026-03-06-transfer-system-config-ownership/
│ │ ├── base-facilitator-signature.json
│ │ ├── base-sc-facilitator-signature.json
│ │ └── creator-signature.json
│ ├── 2026-03-11-patch-fee-disburser/
│ │ ├── base-facilitator-signature.json
│ │ ├── base-sc-facilitator-signature.json
│ │ └── creator-signature.json
│ └── 2026-03-25-increase-gas-and-elasticity-limit/
│ ├── base-facilitator-signature.json
│ ├── base-sc-facilitator-signature.json
│ └── creator-signature.json
├── sepolia-alpha/
│ ├── 2023-09-20-deploy/
│ │ ├── Makefile
│ │ ├── deploy-config/
│ │ │ └── deploy-config.json
│ │ ├── deployed/
│ │ │ └── addresses.json
│ │ └── foundry.toml
│ ├── 2023-10-06-upgrade-l1-standard-bridge/
│ │ ├── .gitignore
│ │ ├── Makefile
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ ├── DeployL1StandardBridge.s.sol/
│ │ │ │ └── 11155111/
│ │ │ │ └── run-1696723112.json
│ │ │ └── UpgradeL1StandardBridge.s.sol/
│ │ │ └── 11155111/
│ │ │ └── run-1696723324.json
│ │ └── script/
│ │ ├── DeployL1StandardBridge.s.sol
│ │ └── UpgradeL1StandardBridge.s.sol
│ ├── 2024-05-15-update-scalars/
│ │ ├── Makefile
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── UpdateGasConfig.s.sol/
│ │ │ └── 11155111/
│ │ │ └── run-1715900079.json
│ │ └── script/
│ │ └── UpdateGasConfig.s.sol
│ ├── 2024-08-21-update-batcher-proposer/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── UpdateProposer.s.sol/
│ │ │ └── 11155111/
│ │ │ └── run-1724856389.json
│ │ └── script/
│ │ ├── RollbackBatcherHash.s.sol
│ │ ├── RollbackProposer.s.sol
│ │ ├── UpdateBatcherHash.s.sol
│ │ └── UpdateProposer.s.sol
│ ├── 2024-11-19-holocene-contracts/
│ │ ├── .gitignore
│ │ ├── Makefile
│ │ ├── foundry.toml
│ │ └── script/
│ │ ├── DeploySystemConfig.s.sol
│ │ ├── SetEIP1559Params.s.sol
│ │ └── UpgradeSystemConfig.s.sol
│ ├── 2025-04-08-transfer-proxy-admin-ownership-to-safe/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── VALIDATION.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── TransferOwnership.s.sol/
│ │ │ └── 11155111/
│ │ │ ├── run-1744830889.json
│ │ │ └── run-1744830912.json
│ │ └── script/
│ │ └── TransferOwnership.s.sol
│ ├── 2025-11-03-transfer-systemconfig-ownership-to-safe/
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── VALIDATION.md
│ │ ├── foundry.toml
│ │ ├── records/
│ │ │ └── TransferSystemConfigOwnership.s.sol/
│ │ │ └── 11155111/
│ │ │ └── run-1764627721931.json
│ │ └── script/
│ │ └── TransferSystemConfigOwnership.s.sol
│ └── 2026-02-23-update-system-config-params/
│ ├── Makefile
│ ├── README.md
│ ├── foundry.toml
│ ├── records/
│ │ └── UpdateSystemConfigParams.s.sol/
│ │ └── 11155111/
│ │ ├── approve-latest.json
│ │ ├── run-1771883161260.json
│ │ ├── run-1771883761465.json
│ │ ├── run-1771883845778.json
│ │ ├── run-1771884061108.json
│ │ └── run-1771884193061.json
│ ├── script/
│ │ └── UpdateSystemConfigParams.s.sol
│ └── validations/
│ ├── base-signer.json
│ ├── optimism-signer.json
│ └── security-council-signer.json
├── setup-templates/
│ ├── template-funding/
│ │ ├── FACILITATOR.md
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ ├── funding.json
│ │ └── script/
│ │ └── Fund.s.sol
│ ├── template-gas-and-elasticity-increase/
│ │ ├── FACILITATOR.md
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ └── script/
│ │ └── IncreaseEip1559ElasticityAndIncreaseGasLimit.s.sol
│ ├── template-gas-increase/
│ │ ├── FACILITATOR.md
│ │ ├── Makefile
│ │ ├── README.md
│ │ └── foundry.toml
│ ├── template-generic/
│ │ ├── FACILITATOR.md
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ └── script/
│ │ ├── BasicScript.s.sol
│ │ └── CounterMultisigScript.s.sol
│ ├── template-pause-bridge-base/
│ │ ├── FACILITATOR.md
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ └── script/
│ │ └── PauseBridge.s.sol
│ ├── template-pause-superchain-config/
│ │ ├── FACILITATOR.md
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ └── script/
│ │ └── PauseSuperchainConfig.s.sol
│ ├── template-safe-management/
│ │ ├── FACILITATOR.md
│ │ ├── Makefile
│ │ ├── OwnerDiff.json
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ └── script/
│ │ └── UpdateSigners.s.sol
│ ├── template-set-bridge-partner-threshold/
│ │ ├── FACILITATOR.md
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ └── script/
│ │ └── SetThreshold.s.sol
│ ├── template-switch-to-permissioned-game/
│ │ ├── FACILITATOR.md
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── foundry.toml
│ │ └── script/
│ │ └── SwitchToPermissionedGame.sol
│ └── template-upgrade-fault-proofs/
│ ├── FACILITATOR.md
│ ├── Makefile
│ ├── README.md
│ ├── foundry.toml
│ └── script/
│ ├── DeployDisputeGames.s.sol
│ └── UpgradeDGF.s.sol
├── solana/
│ ├── MCM.mk
│ ├── Makefile
│ ├── devnet/
│ │ ├── 2025-10-20-deploy-mcm/
│ │ │ ├── .gitignore
│ │ │ ├── Makefile
│ │ │ ├── accept_ownership_proposal.json
│ │ │ ├── artifacts/
│ │ │ │ ├── mcm-deploy-artifacts.json
│ │ │ │ ├── mcm-multisig-init.json
│ │ │ │ ├── mcm-ownership-transfer.json
│ │ │ │ ├── mcm-proposal-execute.json
│ │ │ │ ├── mcm-proposal-set-root.json
│ │ │ │ ├── mcm-signatures-append.json
│ │ │ │ ├── mcm-signatures-finalize.json
│ │ │ │ ├── mcm-signatures-init.json
│ │ │ │ ├── mcm-signers-append.json
│ │ │ │ ├── mcm-signers-finalize.json
│ │ │ │ ├── mcm-signers-init.json
│ │ │ │ ├── mcm-signers-set-config.json
│ │ │ │ └── set-upgrade-authority-artifacts.json
│ │ │ └── patches/
│ │ │ ├── eip712.patch
│ │ │ └── invoke_signed.patch
│ │ ├── 2025-10-22-mcm-upgrade/
│ │ │ ├── .gitignore
│ │ │ ├── FACILITATORS.md
│ │ │ ├── Makefile
│ │ │ ├── README.md
│ │ │ ├── artifacts/
│ │ │ │ ├── mcm-proposal-execute.json
│ │ │ │ ├── mcm-proposal-set-root.json
│ │ │ │ ├── mcm-signatures-append.json
│ │ │ │ ├── mcm-signatures-finalize.json
│ │ │ │ ├── mcm-signatures-init.json
│ │ │ │ └── set-buffer-authority-artifacts.json
│ │ │ ├── patches/
│ │ │ │ ├── eip712.patch
│ │ │ │ ├── id.patch
│ │ │ │ ├── invoke_signed.patch
│ │ │ │ └── simplify_eip712.patch
│ │ │ └── proposal.json
│ │ ├── 2025-10-23-deploy-bridge/
│ │ │ ├── .gitignore
│ │ │ ├── Makefile
│ │ │ └── artifacts/
│ │ │ ├── base-relayer-deploy-artifacts.json
│ │ │ ├── bridge-deploy-artifacts.json
│ │ │ ├── fund-gas-fee-receiver.json
│ │ │ ├── fund-sol-vault.json
│ │ │ ├── init-base-relayer.json
│ │ │ ├── init-bridge.json
│ │ │ ├── set-base-relayer-upgrade-authority-artifacts.json
│ │ │ └── set-bridge-upgrade-authority-artifacts.json
│ │ ├── 2025-10-24-mcm-pause-unpause-bridge/
│ │ │ ├── FACILITATORS.md
│ │ │ ├── Makefile
│ │ │ ├── README.md
│ │ │ ├── artifacts/
│ │ │ │ ├── mcm-pause-proposal-execute.json
│ │ │ │ ├── mcm-proposal-set-root.json
│ │ │ │ ├── mcm-signatures-append.json
│ │ │ │ ├── mcm-signatures-finalize.json
│ │ │ │ ├── mcm-signatures-init.json
│ │ │ │ └── mcm-unpause-proposal-execute.json
│ │ │ └── proposal.json
│ │ └── 2025-10-24-mcm-program-upgrade/
│ │ ├── .gitignore
│ │ ├── FACILITATORS.md
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── artifacts/
│ │ │ ├── mcm-proposal-execute.json
│ │ │ ├── mcm-proposal-set-root.json
│ │ │ ├── mcm-signatures-append.json
│ │ │ ├── mcm-signatures-finalize.json
│ │ │ ├── mcm-signatures-init.json
│ │ │ └── set-buffer-authority-artifacts.json
│ │ ├── patches/
│ │ │ └── id.patch
│ │ └── proposal.json
│ ├── devnet-alpha/
│ │ ├── 2025-10-20-deploy-bridge/
│ │ │ ├── .gitignore
│ │ │ ├── Makefile
│ │ │ └── artifacts/
│ │ │ ├── base-relayer-deploy-artifacts.json
│ │ │ ├── bridge-deploy-artifacts.json
│ │ │ ├── fund-gas-fee-receiver.json
│ │ │ ├── fund-sol-vault.json
│ │ │ ├── init-base-relayer.json
│ │ │ ├── init-bridge.json
│ │ │ ├── set-base-relayer-upgrade-authority-artifacts.json
│ │ │ └── set-bridge-upgrade-authority-artifacts.json
│ │ ├── 2025-10-23-mcm-set-pause-bridge/
│ │ │ ├── FACILITATORS.md
│ │ │ ├── Makefile
│ │ │ ├── README.md
│ │ │ ├── artifacts/
│ │ │ │ ├── mcm-proposal-execute.json
│ │ │ │ ├── mcm-proposal-set-root.json
│ │ │ │ ├── mcm-signatures-append.json
│ │ │ │ ├── mcm-signatures-finalize.json
│ │ │ │ └── mcm-signatures-init.json
│ │ │ └── proposal.json
│ │ ├── 2025-10-23-mcm-unpause-bridge/
│ │ │ ├── FACILITATORS.md
│ │ │ ├── Makefile
│ │ │ ├── README.md
│ │ │ ├── artifacts/
│ │ │ │ ├── mcm-proposal-execute.json
│ │ │ │ ├── mcm-proposal-set-root.json
│ │ │ │ ├── mcm-signatures-append.json
│ │ │ │ ├── mcm-signatures-finalize.json
│ │ │ │ └── mcm-signatures-init.json
│ │ │ └── proposal.json
│ │ ├── 2025-10-24-mcm-pause-unpause-bridge/
│ │ │ ├── FACILITATORS.md
│ │ │ ├── Makefile
│ │ │ ├── README.md
│ │ │ ├── artifacts/
│ │ │ │ ├── mcm-pause-proposal-execute.json
│ │ │ │ ├── mcm-proposal-set-root.json
│ │ │ │ ├── mcm-signatures-append.json
│ │ │ │ ├── mcm-signatures-finalize.json
│ │ │ │ ├── mcm-signatures-init.json
│ │ │ │ └── mcm-unpause-proposal-execute.json
│ │ │ └── proposal.json
│ │ ├── 2025-11-14-update-bridge-config/
│ │ │ ├── .gitignore
│ │ │ ├── FACILITATORS.md
│ │ │ ├── Makefile
│ │ │ ├── README.md
│ │ │ ├── artifacts/
│ │ │ │ ├── mcm-proposal-execute-op1.json
│ │ │ │ ├── mcm-proposal-execute-op2.json
│ │ │ │ ├── mcm-proposal-set-root.json
│ │ │ │ ├── mcm-signatures-append.json
│ │ │ │ ├── mcm-signatures-finalize.json
│ │ │ │ ├── mcm-signatures-init.json
│ │ │ │ └── set-buffer-authority-artifacts.json
│ │ │ ├── patches/
│ │ │ │ └── id.patch
│ │ │ └── proposal.json
│ │ ├── 2025-12-01-upgrade-bridge-and-rollback/
│ │ │ ├── .gitignore
│ │ │ ├── FACILITATORS.md
│ │ │ ├── Makefile
│ │ │ ├── README.md
│ │ │ ├── artifacts/
│ │ │ │ ├── mcm-proposal-set-root.json
│ │ │ │ ├── mcm-rollback-execute.json
│ │ │ │ ├── mcm-signatures-append.json
│ │ │ │ ├── mcm-signatures-finalize.json
│ │ │ │ ├── mcm-signatures-init.json
│ │ │ │ ├── mcm-upgrade-execute.json
│ │ │ │ ├── set-buffer-authority-artifacts.json
│ │ │ │ └── set-rollback-buffer-authority-artifacts.json
│ │ │ ├── patches/
│ │ │ │ └── upgrade.patch
│ │ │ └── proposal.json
│ │ └── 2025-12-22-update-bridge-config/
│ │ ├── .gitignore
│ │ ├── FACILITATORS.md
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── artifacts/
│ │ │ ├── mcm-proposal-execute.json
│ │ │ ├── mcm-proposal-set-root.json
│ │ │ ├── mcm-signatures-append.json
│ │ │ ├── mcm-signatures-finalize.json
│ │ │ └── mcm-signatures-init.json
│ │ └── proposal.json
│ ├── mainnet/
│ │ ├── 2025-10-27-deploy-mcm/
│ │ │ ├── .gitignore
│ │ │ ├── Makefile
│ │ │ ├── README.md
│ │ │ ├── accept_ownership_proposal_0.json
│ │ │ ├── accept_ownership_proposal_1.json
│ │ │ └── artifacts/
│ │ │ ├── fund-mcm-authority-0.json
│ │ │ ├── fund-mcm-authority-1.json
│ │ │ ├── mcm-deploy-artifacts.json
│ │ │ ├── mcm-multisig-init-0.json
│ │ │ ├── mcm-multisig-init-1.json
│ │ │ ├── mcm-ownership-transfer-0.json
│ │ │ ├── mcm-ownership-transfer-1.json
│ │ │ ├── mcm-proposal-execute-0.json
│ │ │ ├── mcm-proposal-execute-1.json
│ │ │ ├── mcm-proposal-set-root-0.json
│ │ │ ├── mcm-proposal-set-root-1.json
│ │ │ ├── mcm-signatures-append-0.json
│ │ │ ├── mcm-signatures-append-1.json
│ │ │ ├── mcm-signatures-finalize-0.json
│ │ │ ├── mcm-signatures-finalize-1.json
│ │ │ ├── mcm-signatures-init-0.json
│ │ │ ├── mcm-signatures-init-1.json
│ │ │ ├── mcm-signers-append-0.json
│ │ │ ├── mcm-signers-append-1.json
│ │ │ ├── mcm-signers-finalize-0.json
│ │ │ ├── mcm-signers-finalize-1.json
│ │ │ ├── mcm-signers-init-0.json
│ │ │ ├── mcm-signers-init-1.json
│ │ │ ├── mcm-signers-set-config-0.json
│ │ │ ├── mcm-signers-set-config-1.json
│ │ │ └── set-upgrade-authority-artifacts.json
│ │ ├── 2025-10-27-signers-update-mcm-0/
│ │ │ ├── FACILITATORS.md
│ │ │ ├── Makefile
│ │ │ ├── README.md
│ │ │ ├── artifacts/
│ │ │ │ ├── mcm-proposal-execute.json
│ │ │ │ ├── mcm-proposal-set-root.json
│ │ │ │ ├── mcm-signatures-append.json
│ │ │ │ ├── mcm-signatures-finalize.json
│ │ │ │ └── mcm-signatures-init.json
│ │ │ └── proposal.json
│ │ ├── 2025-10-27-signers-update-mcm-1/
│ │ │ ├── FACILITATORS.md
│ │ │ ├── Makefile
│ │ │ ├── README.md
│ │ │ ├── artifacts/
│ │ │ │ ├── mcm-proposal-execute.json
│ │ │ │ ├── mcm-proposal-set-root.json
│ │ │ │ ├── mcm-signatures-append.json
│ │ │ │ ├── mcm-signatures-finalize.json
│ │ │ │ └── mcm-signatures-init.json
│ │ │ └── proposal.json
│ │ ├── 2025-10-29-deploy-bridge/
│ │ │ ├── .gitignore
│ │ │ ├── Makefile
│ │ │ ├── README.md
│ │ │ └── artifacts/
│ │ │ ├── base-relayer-deploy-artifacts.json
│ │ │ ├── bridge-deploy-artifacts.json
│ │ │ ├── fund-gas-fee-receiver.json
│ │ │ ├── fund-sol-vault.json
│ │ │ ├── init-base-relayer.json
│ │ │ ├── init-bridge.json
│ │ │ ├── set-base-relayer-upgrade-authority-artifacts.json
│ │ │ └── set-bridge-upgrade-authority-artifacts.json
│ │ ├── 2025-12-01-set-pause-bridge/
│ │ │ ├── FACILITATORS.md
│ │ │ ├── Makefile
│ │ │ ├── README.md
│ │ │ ├── artifacts/
│ │ │ │ ├── mcm-proposal-execute.json
│ │ │ │ ├── mcm-proposal-set-root.json
│ │ │ │ ├── mcm-signatures-append.json
│ │ │ │ ├── mcm-signatures-clear.json
│ │ │ │ ├── mcm-signatures-finalize.json
│ │ │ │ └── mcm-signatures-init.json
│ │ │ ├── proposal-pause.json
│ │ │ └── proposal-unpause.json
│ │ └── 2025-12-01-upgrade-bridge-and-rollback/
│ │ ├── .gitignore
│ │ ├── FACILITATORS.md
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── artifacts/
│ │ │ ├── mcm-proposal-set-root.json
│ │ │ ├── mcm-rollback-execute.json
│ │ │ ├── mcm-signatures-append.json
│ │ │ ├── mcm-signatures-finalize.json
│ │ │ ├── mcm-signatures-init.json
│ │ │ ├── mcm-upgrade-execute.json
│ │ │ ├── set-buffer-authority-artifacts.json
│ │ │ └── set-rollback-buffer-authority-artifacts.json
│ │ ├── patches/
│ │ │ └── upgrade.patch
│ │ └── proposal.json
│ └── setup-templates/
│ ├── template-set-pause-bridge/
│ │ ├── FACILITATORS.md
│ │ ├── Makefile
│ │ └── README.md
│ ├── template-update-signers-mcm/
│ │ ├── FACILITATORS.md
│ │ ├── Makefile
│ │ └── README.md
│ └── template-upgrade-bridge/
│ ├── .gitignore
│ ├── FACILITATORS.md
│ ├── Makefile
│ └── README.md
└── zeronet/
├── 2026-03-19-deploy-proxy-admin/
│ ├── DeployNestedOwnership.sol
│ ├── Makefile
│ ├── README.md
│ ├── addresses.json
│ ├── deployed-addresses.json
│ ├── foundry.toml
│ └── records/
│ └── DeployNestedOwnership.sol/
│ └── 560048/
│ └── run-1773955648605.json
├── 2026-04-01-activate-multiproof/
│ ├── FACILITATOR.md
│ ├── Makefile
│ ├── README.md
│ ├── addresses.json
│ ├── foundry.toml
│ ├── patch/
│ │ └── asr-reset-anchor-game.patch
│ ├── records/
│ │ ├── ActivateMultiproofStack.s.sol/
│ │ │ └── 560048/
│ │ │ ├── approve-latest.json
│ │ │ ├── run-1775141210100.json
│ │ │ ├── run-1775141247929.json
│ │ │ └── run-1775141298391.json
│ │ ├── DeployMultiproofStack.s.sol/
│ │ │ └── 560048/
│ │ │ └── run-1775133494692.json
│ │ ├── DeployNitroVerifier.s.sol/
│ │ │ └── 560048/
│ │ │ └── run-1775133374708.json
│ │ └── SetupNitroEnclaveVerifier.s.sol/
│ │ └── 560048/
│ │ └── run-1775133542995.json
│ ├── script/
│ │ ├── ActivateMultiproofStack.s.sol
│ │ ├── DeployCBMulticall.s.sol
│ │ ├── DeployMultiproofStack.s.sol
│ │ ├── DeployNitroVerifier.s.sol
│ │ └── SetupNitroEnclaveVerifier.s.sol
│ └── validations/
│ ├── multiproof-cb-signer.json
│ └── multiproof-sc-signer.json
├── 2026-04-07-upgrade-tee-registry-nitro/
│ ├── FACILITATOR.md
│ ├── Makefile
│ ├── README.md
│ ├── addresses.json
│ ├── foundry.toml
│ ├── records/
│ │ ├── DeployAggregateVerifier.s.sol/
│ │ │ └── 560048/
│ │ │ ├── run-1776099026069.json
│ │ │ └── run-1776283494080.json
│ │ ├── DeployAndSetupNitro.s.sol/
│ │ │ └── 560048/
│ │ │ ├── run-1776098805552.json
│ │ │ └── run-1776283373418.json
│ │ ├── DeployTeeProverRegistryImpl.s.sol/
│ │ │ └── 560048/
│ │ │ ├── run-1776098855904.json
│ │ │ └── run-1776283437409.json
│ │ └── UpgradeTEEProverRegistry.s.sol/
│ │ └── 560048/
│ │ ├── approve-latest.json
│ │ ├── run-1776366039649.json
│ │ ├── run-1776366145163.json
│ │ └── run-1776366338393.json
│ ├── script/
│ │ ├── DeployAggregateVerifier.s.sol
│ │ ├── DeployAndSetupNitro.s.sol
│ │ ├── DeployTEEProverRegistryImpl.s.sol
│ │ └── UpgradeTEEProverRegistry.s.sol
│ └── validations/
│ ├── upgrade-tee-registry-cb-signer.json
│ └── upgrade-tee-registry-sc-signer.json
├── 2026-04-17-fix-nitro-verifier/
│ ├── FACILITATOR.md
│ ├── Makefile
│ ├── README.md
│ ├── foundry.toml
│ ├── records/
│ │ └── FixNitroVerifierId.s.sol/
│ │ └── 560048/
│ │ └── run-1776445069900.json
│ ├── script/
│ │ └── FixNitroVerifierId.s.sol
│ └── validations/
│ └── fix-nitro-verifier-cb-signer.json
├── 2026-04-17-fix-tee-image-hash/
│ ├── FACILITATOR.md
│ ├── Makefile
│ ├── README.md
│ ├── addresses.json
│ ├── foundry.toml
│ ├── records/
│ │ ├── DeployAggregateVerifier.s.sol/
│ │ │ └── 560048/
│ │ │ └── run-1776453426877.json
│ │ └── FixTeeImageHash.s.sol/
│ │ └── 560048/
│ │ ├── approve-latest.json
│ │ ├── run-1776456290482.json
│ │ ├── run-1776456325644.json
│ │ └── run-1776456384746.json
│ ├── script/
│ │ ├── DeployAggregateVerifier.s.sol
│ │ └── FixTeeImageHash.s.sol
│ └── validations/
│ ├── fix-tee-image-hash-cb-signer.json
│ └── fix-tee-image-hash-sc-signer.json
├── 2026-04-21-update-zk-config/
│ ├── FACILITATOR.md
│ ├── Makefile
│ ├── README.md
│ ├── addresses.json
│ ├── foundry.toml
│ ├── patch/
│ │ └── asr-reset-anchor-game.patch
│ ├── records/
│ │ ├── DeployAggregateVerifier.s.sol/
│ │ │ └── 560048/
│ │ │ └── run-1776963810337.json
│ │ ├── DeployAnchorStateRegistry.s.sol/
│ │ │ └── 560048/
│ │ │ └── run-1776963870263.json
│ │ ├── DeployZkVerifier.s.sol/
│ │ │ └── 560048/
│ │ │ └── run-1776963357472.json
│ │ └── UpdateZkConfig.s.sol/
│ │ └── 560048/
│ │ ├── approve-latest.json
│ │ ├── run-1776973851527.json
│ │ ├── run-1776974090194.json
│ │ └── run-1776974497944.json
│ ├── script/
│ │ ├── DeployAggregateVerifier.s.sol
│ │ ├── DeployAnchorStateRegistry.s.sol
│ │ ├── DeployZkVerifier.s.sol
│ │ └── UpdateZkConfig.s.sol
│ └── validations/
│ ├── update-zk-config-cb-signer.json
│ └── update-zk-config-sc-signer.json
└── 2026-04-23-fix-starting-anchor-root/
├── FACILITATOR.md
├── Makefile
├── README.md
├── addresses.json
├── foundry.toml
├── patch/
│ └── asr-reset-anchor-game.patch
├── records/
│ ├── DeployAnchorStateRegistry.s.sol/
│ │ └── 560048/
│ │ └── run-1776984413388.json
│ └── FixStartingAnchorRoot.s.sol/
│ └── 560048/
│ ├── approve-latest.json
│ ├── run-1776985056998.json
│ ├── run-1776985945169.json
│ └── run-1776985969684.json
├── script/
│ ├── DeployAnchorStateRegistry.s.sol
│ └── FixStartingAnchorRoot.s.sol
└── validations/
├── fix-starting-anchor-root-cb-signer.json
└── fix-starting-anchor-root-sc-signer.json
Copy disabled (too large)
Download .json
Condensed preview — 1659 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (14,108K chars).
[
{
"path": ".codeflow.yml",
"chars": 51,
"preview": "secure:\n required_reviews: 2\n requires_mfa: true\n"
},
{
"path": ".github/workflows/validate-templates.yml",
"chars": 4220,
"preview": "name: Validate Templates\n\non:\n pull_request:\n push:\n branches: [main]\n\nconcurrency:\n group: ${{ github.workflow }}"
},
{
"path": ".gitignore",
"chars": 372,
"preview": "# Executable cli binary\nbin/\n\ncache/\nout/\nlib/\n\n# Localhost and run-latest deploy scripts\n**/records/**/**/run-latest.js"
},
{
"path": "LICENSE",
"chars": 1066,
"preview": "MIT License\n\nCopyright (c) 2023-2026 Base\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\n"
},
{
"path": "Makefile",
"chars": 8984,
"preview": "FOUNDRY_COMMIT ?= 3b1129b5bc43ba22a9bcf4e4323c5a9df0023140\n\nPROJECT_DIR = $(network)/$(shell date +'%Y-%m-%d')-$(task)\nG"
},
{
"path": "Multisig.mk",
"chars": 2902,
"preview": "# Multisig.mk — Global macros for multisig approve / execute workflows.\n#\n# Every task template should `include ../../Mu"
},
{
"path": "README.md",
"chars": 23964,
"preview": "\n\n# contract-deployments\n\nThis repo contains execution code and artifacts related to Base contract depl"
},
{
"path": "SECURITY.md",
"chars": 1344,
"preview": "# Security\n\n## Bug bounty program\n\nIn line with our strategy of being the safest way for users to access crypto:\n\n+ Coin"
},
{
"path": "mainnet/2023-06-14-deploy/Makefile",
"chars": 340,
"preview": "include ../../Makefile\ninclude ../.env\ninclude .env\n\n##\n# Foundry commands\n##\n.PHONY: deploy\ndeploy:\n\t./inputs/construct"
},
{
"path": "mainnet/2023-06-14-deploy/deployed/addresses.json",
"chars": 721,
"preview": "{\n \"AddressManager\": \"0x8EfB6B5c4767B09Dc9AA6Af4eAA89F749522BaE2\",\n \"L1CrossDomainMessengerProxy\": \"0x866E82a600A1414e"
},
{
"path": "mainnet/2023-06-14-deploy/execute/RunDeployBedrock.s.sol",
"chars": 347,
"preview": "\n// SPDX-License-Identifier: MIT\npragma solidity ^0.8.13;\n\nimport \"forge-std/Script.sol\";\nimport \"forge-std/StdJson.sol\""
},
{
"path": "mainnet/2023-06-14-deploy/foundry.toml",
"chars": 305,
"preview": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nscript = 'execute'\nbroadcast = 'records'\nfs_permissions = [ {ac"
},
{
"path": "mainnet/2023-06-14-deploy/inputs/construct-config.sh",
"chars": 1155,
"preview": "#!/bin/bash\n\nDEPLOY_FIELDS='\"baseFeeVaultRecipient\",\"batchSenderAddress\",\"controller\",\"deployerAddress\",\"finalSystemOwne"
},
{
"path": "mainnet/2023-06-14-deploy/inputs/deploy-config.json",
"chars": 2149,
"preview": "{\n \"numDeployConfirmations\": 1,\n \n \"finalSystemOwner\": \"0x9855054731540A48b28990B63DcF4f33d8AE46A1\",\n \"portalG"
},
{
"path": "mainnet/2023-06-14-deploy/inputs/misc-config.json",
"chars": 71,
"preview": "{\n \"deployerAddress\": \"0x6606d3c20cc94cc7aa1d430c0e83a5129976153a\"\n}"
},
{
"path": "mainnet/2023-06-14-deploy/remappings.txt",
"chars": 283,
"preview": "@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/\n@openzeppelin/contracts/=lib/openzeppelin-contracts/cont"
},
{
"path": "mainnet/2023-06-14-deploy-deterministic-proxy/Makefile",
"chars": 310,
"preview": "include ../../Makefile\ninclude ../.env\ninclude .env\ninclude .env.local\n\n##\n# Foundry commands\n##\n.PHONY: deploy-proxy\nde"
},
{
"path": "mainnet/2023-06-14-deploy-deterministic-proxy/foundry.toml",
"chars": 285,
"preview": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\""
},
{
"path": "mainnet/2023-06-14-deploy-deterministic-proxy/records/DeterministicProxyDeploy.s.sol/84531/run-1686756835.json",
"chars": 7718,
"preview": "{\n \"transactions\": [\n {\n \"hash\": \"0x9b3bc49600a04a77f0960a7e58ea3e5e0582c3eb3cb6fd29b9aea772ca3f991a\",\n \"t"
},
{
"path": "mainnet/2023-06-14-deploy-deterministic-proxy/remappings.txt",
"chars": 284,
"preview": "@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/\n@openzeppelin/contracts/=lib/openzeppelin-contracts/cont"
},
{
"path": "mainnet/2023-06-14-deploy-deterministic-proxy/script/DeterministicProxyDeploy.s.sol",
"chars": 802,
"preview": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport { console } from \"forge-std/console.sol\";\nimport { Scrip"
},
{
"path": "mainnet/2023-06-14-test-tx/Makefile",
"chars": 146,
"preview": "include ../../Makefile\ninclude ../.env\ninclude .env\n\n##\n# Foundry commands\n##\n.PHONY: test\ntest:\n\tforge script TestScrip"
},
{
"path": "mainnet/2023-06-14-test-tx/foundry.toml",
"chars": 285,
"preview": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\""
},
{
"path": "mainnet/2023-06-14-test-tx/remappings.txt",
"chars": 284,
"preview": "@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/\n@openzeppelin/contracts/=lib/openzeppelin-contracts/cont"
},
{
"path": "mainnet/2023-06-14-test-tx/script/Test.s.sol",
"chars": 370,
"preview": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport \"forge-std/Script.sol\";\nimport \"src/Test.sol\";\n\ncontract"
},
{
"path": "mainnet/2023-06-14-test-tx/src/Test.sol",
"chars": 247,
"preview": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\ncontract Test {\n uint256 public number;\n\n function setNum"
},
{
"path": "mainnet/2023-06-15-unpause-portal/Makefile",
"chars": 346,
"preview": "include ../../Makefile\ninclude ../.env\ninclude .env\n\n##\n# Foundry commands\n##\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCO"
},
{
"path": "mainnet/2023-06-15-unpause-portal/foundry.toml",
"chars": 285,
"preview": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\""
},
{
"path": "mainnet/2023-06-15-unpause-portal/records/UnpausePortal.s.sol/1/run-1686800969.json",
"chars": 2945,
"preview": "{\n \"transactions\": [\n {\n \"hash\": \"0x3306847757bd7c4c25e45c72b23e9a5e17d061bc7b9998b2ec752deae0703371\",\n \"t"
},
{
"path": "mainnet/2023-06-15-unpause-portal/records/UnpausePortal.s.sol/1/run-1686801711.json",
"chars": 2962,
"preview": "{\n \"transactions\": [\n {\n \"hash\": \"0x994fac4468406b1a1b13a84278a99a497a9bbc3716f5cc60b3f35562e6f8d9ac\",\n \"t"
},
{
"path": "mainnet/2023-06-15-unpause-portal/records/UnpausePortal.s.sol/1/run-1686802144.json",
"chars": 7927,
"preview": "{\n \"transactions\": [\n {\n \"hash\": \"0xe7e8f2173546f69c7cf6e4f5e7ce196b2a901b30899b425f8be4b738f276f6fd\",\n \"t"
},
{
"path": "mainnet/2023-06-15-unpause-portal/remappings.txt",
"chars": 284,
"preview": "@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/\n@openzeppelin/contracts/=lib/openzeppelin-contracts/cont"
},
{
"path": "mainnet/2023-06-15-unpause-portal/script/UnpausePortal.s.sol",
"chars": 328,
"preview": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.13;\n\nimport \"forge-std/Script.sol\";\nimport \"@base-contracts/script/"
},
{
"path": "mainnet/2023-06-15-validate-deploy/Makefile",
"chars": 172,
"preview": "include ../../Makefile\ninclude ../.env\ninclude .env\n\n##\n# Foundry commands\n##\n.PHONY: validate-deploy\nvalidate-deploy:\n\t"
},
{
"path": "mainnet/2023-06-15-validate-deploy/foundry.toml",
"chars": 285,
"preview": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\""
},
{
"path": "mainnet/2023-06-15-validate-deploy/remappings.txt",
"chars": 284,
"preview": "@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/\n@openzeppelin/contracts/=lib/openzeppelin-contracts/cont"
},
{
"path": "mainnet/2023-06-15-validate-deploy/script/ValidateDeploy.s.sol",
"chars": 374,
"preview": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.13;\n\nimport \"forge-std/Script.sol\";\nimport \"@base-contracts/script/"
},
{
"path": "mainnet/2023-06-21-transfer-system-cfg-owner/Makefile",
"chars": 345,
"preview": "include ../../Makefile\ninclude ../.env\ninclude .env\n\n##\n# Foundry commands\n##\n.PHONY: sign\nsign:\n\tchmod +x ./sign.sh && "
},
{
"path": "mainnet/2023-06-21-transfer-system-cfg-owner/foundry.toml",
"chars": 285,
"preview": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\""
},
{
"path": "mainnet/2023-06-21-transfer-system-cfg-owner/records/TransferOwner.s.sol/1/run-1687552190.json",
"chars": 5503,
"preview": "{\n \"transactions\": [\n {\n \"hash\": \"0x642679522ea3b74d7a28f73c27cda0f669b5027a24e08bc908c0b1de2cd16c5e\",\n \"t"
},
{
"path": "mainnet/2023-06-21-transfer-system-cfg-owner/remappings.txt",
"chars": 284,
"preview": "@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/\n@openzeppelin/contracts/=lib/openzeppelin-contracts/cont"
},
{
"path": "mainnet/2023-06-21-transfer-system-cfg-owner/script/TransferOwner.s.sol",
"chars": 1718,
"preview": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport \"forge-std/Script.sol\";\nimport {\n OwnableUpgradeable\n"
},
{
"path": "mainnet/2023-06-21-transfer-system-cfg-owner/sign.sh",
"chars": 317,
"preview": "#!/bin/bash\nset -e\n\nsource ../.env\nsource .env\n\npayload=$(forge script --via-ir --rpc-url ${L1_RPC_URL} TransferSystemCo"
},
{
"path": "mainnet/2023-07-11-test-l2-safe/Makefile",
"chars": 750,
"preview": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\n##\n# Found"
},
{
"path": "mainnet/2023-07-11-test-l2-safe/foundry.toml",
"chars": 634,
"preview": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\""
},
{
"path": "mainnet/2023-07-11-test-l2-safe/records/DeployTestProxy.s.sol/8453/run-1689807430.json",
"chars": 43490,
"preview": "{\n \"transactions\": [\n {\n \"hash\": \"0x822d55506eb5af76227a2db3a2f5e459d2acb35cc4a983617b190dcfd1d018f2\",\n \"t"
},
{
"path": "mainnet/2023-07-11-test-l2-safe/records/TestL2Safe.s.sol/8453/run-1689855846.json",
"chars": 8215,
"preview": "{\n \"transactions\": [\n {\n \"hash\": \"0x683052176787193038fcb49ee4593837792c43ff2ad4d9f0592d75cb52250f81\",\n \"t"
},
{
"path": "mainnet/2023-07-11-test-l2-safe/script/DeployTestProxy.s.sol",
"chars": 2120,
"preview": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport \"forge-std/Script.sol\";\nimport \"@eth-optimism-bedrock/co"
},
{
"path": "mainnet/2023-07-11-test-l2-safe/script/TestL2Safe.s.sol",
"chars": 1983,
"preview": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {\n OwnableUpgradeable\n} from \"@openzeppelin/contracts"
},
{
"path": "mainnet/2023-07-17-test-l1-nested-safe/Makefile",
"chars": 1548,
"preview": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\n.PHONY: de"
},
{
"path": "mainnet/2023-07-17-test-l1-nested-safe/foundry.toml",
"chars": 634,
"preview": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\""
},
{
"path": "mainnet/2023-07-17-test-l1-nested-safe/records/DeployTestProxy.s.sol/1/run-1689870341.json",
"chars": 24967,
"preview": "{\n \"transactions\": [\n {\n \"hash\": \"0xa8add070454091833554a71bacbbd28819c8fae2dee8bf2262285025545ee920\",\n \"t"
},
{
"path": "mainnet/2023-07-17-test-l1-nested-safe/records/DeployTestProxy.s.sol/1/run-1690069785.json",
"chars": 9829,
"preview": "{\n \"transactions\": [\n {\n \"hash\": \"0x40f6df638e6cfc0b9f1493642eed13e0ea484a31814aebfd43a49fa6cd7fe97e\",\n \"t"
},
{
"path": "mainnet/2023-07-17-test-l1-nested-safe/records/DeployTestProxy.s.sol/1/run-1690244404.json",
"chars": 33036,
"preview": "{\n \"transactions\": [\n {\n \"hash\": \"0x0cf02d29a6cdf3ab0d0c64106c55a21c52ffea784bb0f7d069199919f9567828\",\n \"t"
},
{
"path": "mainnet/2023-07-17-test-l1-nested-safe/records/DeployTestProxy.s.sol/1/run-1690245053.json",
"chars": 2738,
"preview": "{\n \"transactions\": [\n {\n \"hash\": \"0xf9caf546327eba313e80555c1182b22162bee9ff147e8a7532ecb89d12306035\",\n \"t"
},
{
"path": "mainnet/2023-07-17-test-l1-nested-safe/records/TestL1NestedSafe.s.sol/1/approve-1691353255.json",
"chars": 2988,
"preview": "{\n \"transactions\": [\n {\n \"hash\": \"0xa8894a76cb72ef4c37cdc8826b5627a4765f7de4c2e2d71ebf58dce1b8750cdd\",\n \"t"
},
{
"path": "mainnet/2023-07-17-test-l1-nested-safe/records/TestL1NestedSafe.s.sol/1/approve-1691353718.json",
"chars": 5261,
"preview": "{\n \"transactions\": [\n {\n \"hash\": \"0x18854ee5440147455d65d7f6da40f15abc3775ebda37081a99f0af0245b24d15\",\n \"t"
},
{
"path": "mainnet/2023-07-17-test-l1-nested-safe/records/TestL1NestedSafe.s.sol/1/run-1691353817.json",
"chars": 5119,
"preview": "{\n \"transactions\": [\n {\n \"hash\": \"0xb0d5eb05338c8ca7f2cedcc3181dadebd30a1dff2806ac93f169fe477de67750\",\n \"t"
},
{
"path": "mainnet/2023-07-17-test-l1-nested-safe/script/DeployTestProxy.s.sol",
"chars": 2071,
"preview": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport \"forge-std/Script.sol\";\nimport \"@eth-optimism-bedrock/co"
},
{
"path": "mainnet/2023-07-17-test-l1-nested-safe/script/TestL1NestedSafe.s.sol",
"chars": 2339,
"preview": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {\n OwnableUpgradeable\n} from \"@openzeppelin/contracts"
},
{
"path": "mainnet/2023-07-19-challenger-1-of-2/Makefile",
"chars": 1823,
"preview": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\n##\n# Found"
},
{
"path": "mainnet/2023-07-19-challenger-1-of-2/foundry.toml",
"chars": 634,
"preview": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\""
},
{
"path": "mainnet/2023-07-19-challenger-1-of-2/records/DeleteL2OutputsCB.s.sol/1/run-1690499220.json",
"chars": 6496,
"preview": "{\n \"transactions\": [\n {\n \"hash\": \"0x6eea8a16853a52479be6d86bbfb6a188432965b2158523b4b5f3086e6139fa34\",\n \"t"
},
{
"path": "mainnet/2023-07-19-challenger-1-of-2/records/DeleteL2OutputsOP.s.sol/1/run-1691703002.json",
"chars": 6752,
"preview": "{\n \"transactions\": [\n {\n \"hash\": \"0x53827bc628182c8bb7ba33bb9ab38afc6e5d452a7c9295dcd789026472ff42ab\",\n \"t"
},
{
"path": "mainnet/2023-07-19-challenger-1-of-2/records/DeployChallenger.s.sol/run-1689808110.json",
"chars": 21219,
"preview": "{\n \"transactions\": [\n {\n \"hash\": null,\n \"transactionType\": \"CREATE\",\n \"contractName\": \"Challenger1of2"
},
{
"path": "mainnet/2023-07-19-challenger-1-of-2/records/UpgradeL2OO.s.sol/1/run-1690314255.json",
"chars": 5267,
"preview": "{\n \"transactions\": [\n {\n \"hash\": \"0xb9c57e888d31644af161cd5766236250977ef94ecff01d26e47ec10255777059\",\n \"t"
},
{
"path": "mainnet/2023-07-19-challenger-1-of-2/script/DeleteL2OutputsCB.s.sol",
"chars": 1367,
"preview": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport \"@eth-optimism-bedrock/contracts/L1/L2OutputOracle.sol\";"
},
{
"path": "mainnet/2023-07-19-challenger-1-of-2/script/DeleteL2OutputsOP.s.sol",
"chars": 1367,
"preview": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport \"@eth-optimism-bedrock/contracts/L1/L2OutputOracle.sol\";"
},
{
"path": "mainnet/2023-07-19-challenger-1-of-2/script/DeployChallenger.s.sol",
"chars": 2815,
"preview": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport \"forge-std/Script.sol\";\nimport { Challenger1of2 } from \""
},
{
"path": "mainnet/2023-07-19-challenger-1-of-2/script/UpgradeL2OO.s.sol",
"chars": 2172,
"preview": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport \"@eth-optimism-bedrock/contracts/L1/L2OutputOracle.sol\";"
},
{
"path": "mainnet/2023-07-19-test-l2-nested-safe/Makefile",
"chars": 1555,
"preview": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\n.PHONY: de"
},
{
"path": "mainnet/2023-07-19-test-l2-nested-safe/foundry.toml",
"chars": 634,
"preview": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\""
},
{
"path": "mainnet/2023-07-19-test-l2-nested-safe/records/DeployTestProxy.s.sol/8453/run-1689883950.json",
"chars": 35229,
"preview": "{\n \"transactions\": [\n {\n \"hash\": \"0x8331009ddb5ce69868002134222fc0f8dd21e4bab01cb416ac5996e7bfe1c9a1\",\n \"t"
},
{
"path": "mainnet/2023-07-19-test-l2-nested-safe/records/TestNestedL2Safe.s.sol/8453/approve-1691008217.json",
"chars": 8515,
"preview": "{\n \"transactions\": [\n {\n \"hash\": \"0xd4f905a1f4960008a3179b8e851e58c882cd77fb247ad6cfe78d16243c83ec73\",\n \"t"
},
{
"path": "mainnet/2023-07-19-test-l2-nested-safe/records/TestNestedL2Safe.s.sol/8453/approve-1691008879.json",
"chars": 8003,
"preview": "{\n \"transactions\": [\n {\n \"hash\": \"0x8b8684b0c2468cba82232892c1206f7e764966146d189c97b4e9e2f62306fcac\",\n \"t"
},
{
"path": "mainnet/2023-07-19-test-l2-nested-safe/records/TestNestedL2Safe.s.sol/8453/run-1691009077.json",
"chars": 7794,
"preview": "{\n \"transactions\": [\n {\n \"hash\": \"0x26d0b3a007b9ee526240c776dc5ecdc028fb4c7324a1ec2424ef677dac249a04\",\n \"t"
},
{
"path": "mainnet/2023-07-19-test-l2-nested-safe/script/DeployTestProxy.s.sol",
"chars": 2054,
"preview": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport \"forge-std/Script.sol\";\nimport \"@eth-optimism-bedrock/co"
},
{
"path": "mainnet/2023-07-19-test-l2-nested-safe/script/TestNestedL2Safe.s.sol",
"chars": 2339,
"preview": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {\n OwnableUpgradeable\n} from \"@openzeppelin/contracts"
},
{
"path": "mainnet/2023-07-26-transfer-owner-nested-safes/Makefile",
"chars": 2560,
"preview": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\n##\n# Comma"
},
{
"path": "mainnet/2023-07-26-transfer-owner-nested-safes/foundry.toml",
"chars": 634,
"preview": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\""
},
{
"path": "mainnet/2023-07-26-transfer-owner-nested-safes/records/TransferOwnerL1.s.sol/1/run-1691523415.json",
"chars": 5285,
"preview": "{\n \"transactions\": [\n {\n \"hash\": \"0x655d851a6318c97851af75a9f7008ec439fbb2c6fa56adadc6aced045bdccb96\",\n \"t"
},
{
"path": "mainnet/2023-07-26-transfer-owner-nested-safes/records/TransferOwnerL2.s.sol/8453/run-1691524273.json",
"chars": 8004,
"preview": "{\n \"transactions\": [\n {\n \"hash\": \"0x719155702451385469e37c49b3321e6038ad512f8504400b7de4d07a4239cd77\",\n \"t"
},
{
"path": "mainnet/2023-07-26-transfer-owner-nested-safes/script/TransferOwnerL1.s.sol",
"chars": 1362,
"preview": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {\n OwnableUpgradeable\n} from \"@openzeppelin/contracts"
},
{
"path": "mainnet/2023-07-26-transfer-owner-nested-safes/script/TransferOwnerL2.s.sol",
"chars": 1362,
"preview": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {\n OwnableUpgradeable\n} from \"@openzeppelin/contracts"
},
{
"path": "mainnet/2023-08-07-test-op-fee-nested-safe/Makefile",
"chars": 1334,
"preview": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\n##\n# Comma"
},
{
"path": "mainnet/2023-08-07-test-op-fee-nested-safe/foundry.toml",
"chars": 634,
"preview": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\""
},
{
"path": "mainnet/2023-08-07-test-op-fee-nested-safe/records/TestNestedL2Safe.s.sol/10/run-1692981334.json",
"chars": 8005,
"preview": "{\n \"transactions\": [\n {\n \"hash\": \"0x3c6048e644c83e90275654a711319ab836cbb27d163a33ee652249d39311a6ec\",\n \"t"
},
{
"path": "mainnet/2023-08-07-test-op-fee-nested-safe/records/TestNestedL2Safe.s.sol/10/run-1692981492.json",
"chars": 8005,
"preview": "{\n \"transactions\": [\n {\n \"hash\": \"0xc9e02dfb85a447ced5fc23321520c453b9c98bd47ea17c353d03c071b50ec724\",\n \"t"
},
{
"path": "mainnet/2023-08-07-test-op-fee-nested-safe/records/TestNestedL2Safe.s.sol/10/run-1692981620.json",
"chars": 7941,
"preview": "{\n \"transactions\": [\n {\n \"hash\": \"0xa338d314e57e6895077b9d9926989dd56a8d6c0fccc3c1847dc12dcb10ebdc30\",\n \"t"
},
{
"path": "mainnet/2023-08-07-test-op-fee-nested-safe/script/TestNestedL2Safe.s.sol",
"chars": 1772,
"preview": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport \"@base-contracts/script/universal/NestedMultisigBuilder."
},
{
"path": "mainnet/2023-08-15-support-eas/Makefile",
"chars": 1279,
"preview": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\n##\n# Comma"
},
{
"path": "mainnet/2023-08-15-support-eas/foundry.toml",
"chars": 610,
"preview": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\""
},
{
"path": "mainnet/2023-08-15-support-eas/records/UpgradeToEAS.s.sol/8453/run-1694183897.json",
"chars": 8516,
"preview": "{\n \"transactions\": [\n {\n \"hash\": \"0x31f7e7bf3f6de2cc1b517cabff654f7a19ab707604016bdd0f9beeebd0a0c9fa\",\n \"t"
},
{
"path": "mainnet/2023-08-15-support-eas/records/UpgradeToEAS.s.sol/8453/run-1694184082.json",
"chars": 8004,
"preview": "{\n \"transactions\": [\n {\n \"hash\": \"0x57a4401e7ebd03f00febb1572904dbfad58b7269417b1def771e7e372b470ec5\",\n \"t"
},
{
"path": "mainnet/2023-08-15-support-eas/records/UpgradeToEAS.s.sol/8453/run-1694184181.json",
"chars": 9450,
"preview": "{\n \"transactions\": [\n {\n \"hash\": \"0x582b0cae963bb1ae3f7ec048fbc359b6dbff0dbfdcc033f301ff58c097755a27\",\n \"t"
},
{
"path": "mainnet/2023-08-15-support-eas/script/UpgradeToEAS.s.sol",
"chars": 1956,
"preview": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport \"@eth-optimism-bedrock/src/universal/ProxyAdmin.sol\";\nim"
},
{
"path": "mainnet/2023-08-22-fee-vault-fix/Makefile",
"chars": 3118,
"preview": "include ../../Makefile\ninclude ../.env\ninclude .env\n\n##\n# Foundry commands\n##\n.PHONY: deploy-new-implementations\ndeploy-"
},
{
"path": "mainnet/2023-08-22-fee-vault-fix/foundry.toml",
"chars": 634,
"preview": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\""
},
{
"path": "mainnet/2023-08-22-fee-vault-fix/records/FixFeeVaultsL2.s.sol/8453/run-1693342112.json",
"chars": 8004,
"preview": "{\n \"transactions\": [\n {\n \"hash\": \"0xc7b75ac23ff02c6f089079af1b17446f8f3d705740186cdd117f36ab7a1b175c\",\n \"t"
},
{
"path": "mainnet/2023-08-22-fee-vault-fix/records/FixFeeVaultsL2.s.sol/8453/run-1693585668.json",
"chars": 8516,
"preview": "{\n \"transactions\": [\n {\n \"hash\": \"0x092c643590d69c41f9dd764176f7052f10ac074ebce7a1102827de5a28644a27\",\n \"t"
},
{
"path": "mainnet/2023-08-22-fee-vault-fix/records/FixFeeVaultsL2.s.sol/8453/run-1693589726.json",
"chars": 17610,
"preview": "{\n \"transactions\": [\n {\n \"hash\": \"0xe56b939e6eed472f168be6942f7b08af959d3777eee8b8508f82ef5ade47d528\",\n \"t"
},
{
"path": "mainnet/2023-08-22-fee-vault-fix/script/DeployNewFeeVaultsL2.s.sol",
"chars": 2497,
"preview": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport \"forge-std/Script.sol\";\n\nimport { FeeVault } from \"@base"
},
{
"path": "mainnet/2023-08-22-fee-vault-fix/script/FixFeeVaultsL2.s.sol",
"chars": 6977,
"preview": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport \"@eth-optimism-bedrock/src/libraries/Predeploys.sol\";\n\ni"
},
{
"path": "mainnet/2023-08-28-deploy-revshare/Makefile",
"chars": 2674,
"preview": "include ../../Makefile\ninclude ../.env\ninclude .env\n\n##\n# Foundry commands\n##\n.PHONY: fee-disburser-ownership-transfer\nf"
},
{
"path": "mainnet/2023-08-28-deploy-revshare/foundry.toml",
"chars": 634,
"preview": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\""
},
{
"path": "mainnet/2023-08-28-deploy-revshare/records/UpgradeToFeeDisburser.s.sol/8453/run-1693609606.json",
"chars": 7922,
"preview": "{\n \"transactions\": [\n {\n \"hash\": \"0x49e50b94dd7c45505380b0015b912b001354b9103fc5549d05a2b4bb7e433278\",\n \"t"
},
{
"path": "mainnet/2023-08-28-deploy-revshare/script/DeployBalanceTracker.s.sol",
"chars": 3466,
"preview": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport { console } from \"forge-std/console.sol\";\nimport { Scrip"
},
{
"path": "mainnet/2023-08-28-deploy-revshare/script/DeployFeeDisburser.s.sol",
"chars": 1806,
"preview": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport { console } from \"forge-std/console.sol\";\nimport { Scrip"
},
{
"path": "mainnet/2023-08-28-deploy-revshare/script/FeeDisburserOwnershipTransfer.s.sol",
"chars": 836,
"preview": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport \"forge-std/Script.sol\";\nimport { Proxy } from \"@eth-opti"
},
{
"path": "mainnet/2023-08-28-deploy-revshare/script/UpgradeToFeeDisburser.s.sol",
"chars": 2020,
"preview": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport { IMulticall3 } from \"forge-std/interfaces/IMulticall3.s"
},
{
"path": "mainnet/2024-02-21-setup-smart-escrow/Makefile",
"chars": 785,
"preview": "include ../../Makefile\ninclude ../.env\ninclude .env\n\n.PHONY: deploy-new-implementation\ndeploy-new-implementation:\n\tforge"
},
{
"path": "mainnet/2024-02-21-setup-smart-escrow/foundry.toml",
"chars": 634,
"preview": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\""
},
{
"path": "mainnet/2024-02-21-setup-smart-escrow/records/DeploySmartEscrow.s.sol/10/run-1709074703.json",
"chars": 28821,
"preview": "{\n \"transactions\": [\n {\n \"hash\": null,\n \"transactionType\": \"CREATE\",\n \"contractName\": \"SmartEscrow\",\n"
},
{
"path": "mainnet/2024-02-21-setup-smart-escrow/script/DeploySmartEscrow.s.sol",
"chars": 2319,
"preview": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport \"forge-std/Script.sol\";\nimport \"@base-contracts/src/smar"
},
{
"path": "mainnet/2024-02-23-transfer-op/Makefile",
"chars": 1259,
"preview": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\ninstall-ag"
},
{
"path": "mainnet/2024-02-23-transfer-op/README.md",
"chars": 10618,
"preview": "# Transfer and Delegate OP Tokens\n\nStatus: WILL NOT EXECUTE - see updated task in 2024-07-30-transfer-op\n\n## Objective\n\n"
},
{
"path": "mainnet/2024-02-23-transfer-op/foundry.toml",
"chars": 701,
"preview": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\""
},
{
"path": "mainnet/2024-02-23-transfer-op/script/TransferAndDelegateOPTokens.s.sol",
"chars": 4253,
"preview": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.19;\n\nimport \"@base-contracts/script/universal/NestedMultisigBuilder."
},
{
"path": "mainnet/2024-02-23-transfer-op/script/TransferUpfrontOPTokens.s.sol",
"chars": 1815,
"preview": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.19;\n\nimport \"@base-contracts/script/universal/NestedMultisigBuilder."
},
{
"path": "mainnet/2024-03-05-pause-unpause-test/Makefile",
"chars": 1137,
"preview": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\n##\n# Incid"
},
{
"path": "mainnet/2024-03-05-pause-unpause-test/foundry.toml",
"chars": 666,
"preview": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\""
},
{
"path": "mainnet/2024-03-05-pause-unpause-test/records/PausePortal.s.sol/1/run-1711563045.json",
"chars": 2769,
"preview": "{\n \"transactions\": [\n {\n \"hash\": \"0x1b192d40318c7d6913e7018aaf473e52da0d20f16edfdd66037bd3f4db355725\",\n \"t"
},
{
"path": "mainnet/2024-03-05-pause-unpause-test/records/PausePortal.s.sol/1/run-1711563069.json",
"chars": 5120,
"preview": "{\n \"transactions\": [\n {\n \"hash\": \"0x1b192d40318c7d6913e7018aaf473e52da0d20f16edfdd66037bd3f4db355725\",\n \"t"
},
{
"path": "mainnet/2024-03-05-pause-unpause-test/records/UnpausePortal.s.sol/1/run-1711567810.json",
"chars": 2769,
"preview": "{\n \"transactions\": [\n {\n \"hash\": \"0x034df7b1db78a9fd6c3ce69e3e289d8bb40a3c62afa1896f565febd436cb097d\",\n \"t"
},
{
"path": "mainnet/2024-03-05-pause-unpause-test/records/UnpausePortal.s.sol/1/run-1711567828.json",
"chars": 5126,
"preview": "{\n \"transactions\": [\n {\n \"hash\": \"0x034df7b1db78a9fd6c3ce69e3e289d8bb40a3c62afa1896f565febd436cb097d\",\n \"t"
},
{
"path": "mainnet/2024-03-05-pause-unpause-test/script/PausePortal.s.sol",
"chars": 1301,
"preview": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport \"@base-contracts/script/universal/MultisigBuilder.sol\";\n"
},
{
"path": "mainnet/2024-03-05-pause-unpause-test/script/UnpausePortal.s.sol",
"chars": 1710,
"preview": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport \"@base-contracts/script/universal/MultisigBuilder.sol\";\n"
},
{
"path": "mainnet/2024-03-07-ecotone-sysconfig-updates/Makefile",
"chars": 933,
"preview": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\n.PHONY: si"
},
{
"path": "mainnet/2024-03-07-ecotone-sysconfig-updates/README.md",
"chars": 11888,
"preview": "# Update Gas Config in L1 `SystemConfig`\n\nStatus: [EXECUTED](https://etherscan.io/tx/0xbdfcc812b029df5160b36b447eb90dfa8"
},
{
"path": "mainnet/2024-03-07-ecotone-sysconfig-updates/foundry.toml",
"chars": 665,
"preview": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\""
},
{
"path": "mainnet/2024-03-07-ecotone-sysconfig-updates/records/UpdateGasConfig.sol/1/run-1710375473.json",
"chars": 6971,
"preview": "{\n \"transactions\": [\n {\n \"hash\": \"0xbdfcc812b029df5160b36b447eb90dfa85f0d1822995c835aed55cafc7097ace\",\n \"t"
},
{
"path": "mainnet/2024-03-07-ecotone-sysconfig-updates/script/RollbackGasConfig.sol",
"chars": 2216,
"preview": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {SystemConfig} from \"@eth-optimism-bedrock/src/L1/System"
},
{
"path": "mainnet/2024-03-07-ecotone-sysconfig-updates/script/UpdateGasConfig.sol",
"chars": 1564,
"preview": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {SystemConfig} from \"@eth-optimism-bedrock/src/L1/System"
},
{
"path": "mainnet/2024-03-26-increase-gas-limit/Makefile",
"chars": 925,
"preview": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\n.PHONY: si"
},
{
"path": "mainnet/2024-03-26-increase-gas-limit/README.md",
"chars": 10482,
"preview": "# Update Gas Limit in L1 `SystemConfig` \n\nStatus: IN TEST\n\n## Objective\n\nWe are updating the gas limit to improve TPS an"
},
{
"path": "mainnet/2024-03-26-increase-gas-limit/foundry.toml",
"chars": 665,
"preview": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\""
},
{
"path": "mainnet/2024-03-26-increase-gas-limit/records/UpdateGasLimit.sol/1/run-1711570739.json",
"chars": 2675,
"preview": "{\n \"transactions\": [\n {\n \"hash\": null,\n \"transactionType\": \"CALL\",\n \"contractName\": null,\n \"cont"
},
{
"path": "mainnet/2024-03-26-increase-gas-limit/records/UpdateGasLimit.sol/1/run-1711570882.json",
"chars": 5458,
"preview": "{\n \"transactions\": [\n {\n \"hash\": \"0xc094dde815aeebd14ac9fb6d7612434aa9da6113ea7d74add0ed59655a964871\",\n \"t"
},
{
"path": "mainnet/2024-03-26-increase-gas-limit/script/RollbackGasLimit.sol",
"chars": 2702,
"preview": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {SystemConfig} from \"@eth-optimism-bedrock/src/L1/System"
},
{
"path": "mainnet/2024-03-26-increase-gas-limit/script/UpdateGasLimit.sol",
"chars": 1704,
"preview": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {SystemConfig} from \"@eth-optimism-bedrock/src/L1/System"
},
{
"path": "mainnet/2024-04-01-increase-gas-limit/Makefile",
"chars": 925,
"preview": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\n.PHONY: si"
},
{
"path": "mainnet/2024-04-01-increase-gas-limit/README.md",
"chars": 10482,
"preview": "# Update Gas Limit in L1 `SystemConfig` \n\nStatus: DONE\n\n## Objective\n\nWe are updating the gas limit to improve TPS and r"
},
{
"path": "mainnet/2024-04-01-increase-gas-limit/foundry.toml",
"chars": 665,
"preview": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\""
},
{
"path": "mainnet/2024-04-01-increase-gas-limit/records/UpdateGasLimit.sol/1/run-1712005481.json",
"chars": 5458,
"preview": "{\n \"transactions\": [\n {\n \"hash\": \"0xd50a84ace00e13b5d3c484869ee1cc2403c69b0ac082589b854bedb2596c9b2c\",\n \"t"
},
{
"path": "mainnet/2024-04-01-increase-gas-limit/script/RollbackGasLimit.sol",
"chars": 2583,
"preview": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {SystemConfig} from \"@eth-optimism-bedrock/src/L1/System"
},
{
"path": "mainnet/2024-04-01-increase-gas-limit/script/UpdateGasLimit.sol",
"chars": 1486,
"preview": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {SystemConfig} from \"@eth-optimism-bedrock/src/L1/System"
},
{
"path": "mainnet/2024-04-12-deployERC20Factory/Makefile",
"chars": 409,
"preview": "include ../../Makefile\ninclude ../.env\ninclude .env\n\n##\n# Deploy command\n##\n.PHONY: deploy\ndeploy:\n\tforge script RunERC2"
},
{
"path": "mainnet/2024-04-12-deployERC20Factory/deployed/addresses.json",
"chars": 3,
"preview": "{}\n"
},
{
"path": "mainnet/2024-04-12-deployERC20Factory/foundry.toml",
"chars": 779,
"preview": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\""
},
{
"path": "mainnet/2024-04-12-deployERC20Factory/records/RunERC20FactoryDeploy.s.sol/8453/run-1713280196.json",
"chars": 20198,
"preview": "{\n \"transactions\": [\n {\n \"hash\": \"0xc46a22b5db8660781f89f3223d16e0551e867f68ecd3cebc649bc326fe7bf0ed\",\n \"t"
},
{
"path": "mainnet/2024-04-12-deployERC20Factory/script/RunERC20FactoryDeploy.s.sol",
"chars": 455,
"preview": "\n// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport \"forge-std/Script.sol\";\nimport {OptimismMintableERC20Fa"
},
{
"path": "mainnet/2024-04-15-redeploy-smart-escrow/Makefile",
"chars": 835,
"preview": "include ../../Makefile\ninclude ../.env\ninclude .env\n\n.PHONY: deploy-new-implementation\ndeploy-new-implementation:\n\tforge"
},
{
"path": "mainnet/2024-04-15-redeploy-smart-escrow/foundry.toml",
"chars": 634,
"preview": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\""
},
{
"path": "mainnet/2024-04-15-redeploy-smart-escrow/records/DeploySmartEscrow.s.sol/10/run-1713902413.json",
"chars": 33980,
"preview": "{\n \"transactions\": [\n {\n \"hash\": \"0x64cc5975e6cb70883d8510243c7d5a1d32e61c2fdab221b5b7e8c9b814dbd3ca\",\n \"t"
},
{
"path": "mainnet/2024-04-15-redeploy-smart-escrow/script/DeploySmartEscrow.s.sol",
"chars": 2252,
"preview": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport \"forge-std/Script.sol\";\nimport \"@base-contracts/src/smar"
},
{
"path": "mainnet/2024-04-17-upgrade-erc20-factory/Makefile",
"chars": 1053,
"preview": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\n.PHONY: si"
},
{
"path": "mainnet/2024-04-17-upgrade-erc20-factory/README.md",
"chars": 8069,
"preview": "# Upgrade OptimismMintableERC20Factory implementation\n\nStatus: DONE\n\n## Objective\n\nThis task upgrades the `OptimismMinta"
},
{
"path": "mainnet/2024-04-17-upgrade-erc20-factory/foundry.toml",
"chars": 667,
"preview": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [{ access = \"read-write\""
},
{
"path": "mainnet/2024-04-17-upgrade-erc20-factory/records/UpgradeOptimismMintableERC20Factory.s.sol/8453/approve-latest.json",
"chars": 8044,
"preview": "{\n \"transactions\": [\n {\n \"hash\": \"0x992c0522bcf6382fe21ee72fba6de17089041f9bbbe74969b9469c4528ad35f5\",\n \"t"
},
{
"path": "mainnet/2024-04-17-upgrade-erc20-factory/records/UpgradeOptimismMintableERC20Factory.s.sol/8453/run-1716225695.json",
"chars": 8556,
"preview": "{\n \"transactions\": [\n {\n \"hash\": \"0x8b7f5768820ab7e43551d41678a6bb4821790d55fc518049b252aef22a788268\",\n \"t"
},
{
"path": "mainnet/2024-04-17-upgrade-erc20-factory/records/UpgradeOptimismMintableERC20Factory.s.sol/8453/run-1716225767.json",
"chars": 8044,
"preview": "{\n \"transactions\": [\n {\n \"hash\": \"0x992c0522bcf6382fe21ee72fba6de17089041f9bbbe74969b9469c4528ad35f5\",\n \"t"
},
{
"path": "mainnet/2024-04-17-upgrade-erc20-factory/records/UpgradeOptimismMintableERC20Factory.s.sol/8453/run-1716225813.json",
"chars": 8962,
"preview": "{\n \"transactions\": [\n {\n \"hash\": \"0xf433ab504bcdb633914551cb2410aa89683d05db0062dca76fbe7a48297745c0\",\n \"t"
},
{
"path": "mainnet/2024-04-17-upgrade-erc20-factory/script/UpgradeOptimismMintableERC20Factory.s.sol",
"chars": 1988,
"preview": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.19;\n\nimport \"@base-contracts/script/universal/NestedMultisigBuilder."
},
{
"path": "mainnet/2024-04-30-deployTempERC20Factory/Makefile",
"chars": 179,
"preview": "include ../../Makefile\ninclude ../.env\ninclude .env\n\n##\n# Deploy command\n##\n.PHONY: deploy\ndeploy:\n\tforge script RunERC2"
},
{
"path": "mainnet/2024-04-30-deployTempERC20Factory/deployed/addresses.json",
"chars": 3,
"preview": "{}\n"
},
{
"path": "mainnet/2024-04-30-deployTempERC20Factory/foundry.toml",
"chars": 779,
"preview": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\""
},
{
"path": "mainnet/2024-04-30-deployTempERC20Factory/inputs/construct-config.sh",
"chars": 1155,
"preview": "#!/bin/bash\n\nDEPLOY_FIELDS='\"baseFeeVaultRecipient\",\"batchSenderAddress\",\"controller\",\"deployerAddress\",\"finalSystemOwne"
},
{
"path": "mainnet/2024-04-30-deployTempERC20Factory/inputs/deploy-config.json",
"chars": 0,
"preview": ""
},
{
"path": "mainnet/2024-04-30-deployTempERC20Factory/inputs/misc-config.json",
"chars": 0,
"preview": ""
},
{
"path": "mainnet/2024-04-30-deployTempERC20Factory/records/RunDeployERC20Factory.sol/8453/run-1714483769.json",
"chars": 20856,
"preview": "{\n \"transactions\": [\n {\n \"hash\": \"0xd267280e459e3323d71da55c3f98543c5bc0c4a568de7e7233a7b709310797b8\",\n \"t"
},
{
"path": "mainnet/2024-04-30-deployTempERC20Factory/script/RunDeployERC20Factory.sol",
"chars": 378,
"preview": "\n// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport \"forge-std/Script.sol\";\nimport {ERC20Factory} from \"../"
},
{
"path": "mainnet/2024-04-30-deployTempERC20Factory/src/ERC20Factory.sol",
"chars": 335,
"preview": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {OptimismMintableERC20Factory} from \"@eth-optimism-bedro"
},
{
"path": "mainnet/2024-05-28-increase-gas-limit/Makefile",
"chars": 925,
"preview": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\n.PHONY: si"
},
{
"path": "mainnet/2024-05-28-increase-gas-limit/README.md",
"chars": 10481,
"preview": "# Update Gas Limit in L1 `SystemConfig` \n\nStatus: DONE\n\n## Objective\n\nWe are updating the gas limit to improve TPS and r"
},
{
"path": "mainnet/2024-05-28-increase-gas-limit/foundry.toml",
"chars": 665,
"preview": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\""
},
{
"path": "mainnet/2024-05-28-increase-gas-limit/records/UpdateGasLimit.sol/1/run-1716922926.json",
"chars": 6767,
"preview": "{\n \"transactions\": [\n {\n \"hash\": \"0x2d67ceecd5e7e9630c530628b5cd11377768d87cb82ca20afabaf6b91380d3b6\",\n \"t"
},
{
"path": "mainnet/2024-05-28-increase-gas-limit/script/RollbackGasLimit.sol",
"chars": 2672,
"preview": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {SystemConfig} from \"@eth-optimism-bedrock/src/L1/System"
},
{
"path": "mainnet/2024-05-28-increase-gas-limit/script/UpdateGasLimit.sol",
"chars": 1575,
"preview": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {SystemConfig} from \"@eth-optimism-bedrock/src/L1/System"
},
{
"path": "mainnet/2024-05-30-increase-gas-limit/Makefile",
"chars": 925,
"preview": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\n.PHONY: si"
},
{
"path": "mainnet/2024-05-30-increase-gas-limit/README.md",
"chars": 10481,
"preview": "# Update Gas Limit in L1 `SystemConfig` \n\nStatus: DONE\n\n## Objective\n\nWe are updating the gas limit to improve TPS and r"
},
{
"path": "mainnet/2024-05-30-increase-gas-limit/foundry.toml",
"chars": 665,
"preview": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\""
},
{
"path": "mainnet/2024-05-30-increase-gas-limit/script/RollbackGasLimit.sol",
"chars": 2672,
"preview": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {SystemConfig} from \"@eth-optimism-bedrock/src/L1/System"
},
{
"path": "mainnet/2024-05-30-increase-gas-limit/script/UpdateGasLimit.sol",
"chars": 1575,
"preview": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {SystemConfig} from \"@eth-optimism-bedrock/src/L1/System"
},
{
"path": "mainnet/2024-06-05-reredeploy-smart-escrow/Makefile",
"chars": 868,
"preview": "include ../../Makefile\ninclude ../.env\ninclude .env\n\n.PHONY: deploy-new-implementation\ndeploy-new-implementation:\n\tforge"
},
{
"path": "mainnet/2024-06-05-reredeploy-smart-escrow/foundry.toml",
"chars": 634,
"preview": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\""
},
{
"path": "mainnet/2024-06-05-reredeploy-smart-escrow/records/DeploySmartEscrow.s.sol/10/run-1719275042.json",
"chars": 29232,
"preview": "{\n \"transactions\": [\n {\n \"hash\": null,\n \"transactionType\": \"CREATE\",\n \"contractName\": \"SmartEscrow\",\n"
},
{
"path": "mainnet/2024-06-05-reredeploy-smart-escrow/records/DeploySmartEscrow.s.sol/10/run-1719275101.json",
"chars": 34508,
"preview": "{\n \"transactions\": [\n {\n \"hash\": \"0xfbf363d04cecc1d6eff88341741b430d478c75e957e5f0af8cbf6473c745fa79\",\n \"t"
},
{
"path": "mainnet/2024-06-05-reredeploy-smart-escrow/records/DeploySmartEscrow.s.sol/10/run-1722111961.json",
"chars": 34544,
"preview": "{\n \"transactions\": [\n {\n \"hash\": \"0xcec091a1fc84128278aec22d0ff93eefcc2da4f84b7641df8c2f13d50533a45a\",\n \"t"
},
{
"path": "mainnet/2024-06-05-reredeploy-smart-escrow/script/DeploySmartEscrow.s.sol",
"chars": 2453,
"preview": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport \"forge-std/Script.sol\";\nimport \"@base-contracts/src/smar"
},
{
"path": "mainnet/2024-06-17-increase-gas-limit/Makefile",
"chars": 925,
"preview": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\n.PHONY: si"
},
{
"path": "mainnet/2024-06-17-increase-gas-limit/README.md",
"chars": 10485,
"preview": "# Update Gas Limit in L1 `SystemConfig` \n\nStatus: DONE\n\n## Objective\n\nWe are updating the gas limit to improve TPS and r"
},
{
"path": "mainnet/2024-06-17-increase-gas-limit/foundry.toml",
"chars": 665,
"preview": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\""
},
{
"path": "mainnet/2024-06-17-increase-gas-limit/script/RollbackGasLimit.sol",
"chars": 2672,
"preview": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {SystemConfig} from \"@eth-optimism-bedrock/src/L1/System"
},
{
"path": "mainnet/2024-06-17-increase-gas-limit/script/UpdateGasLimit.sol",
"chars": 1575,
"preview": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {SystemConfig} from \"@eth-optimism-bedrock/src/L1/System"
},
{
"path": "mainnet/2024-06-25-update-gas-config/Makefile",
"chars": 909,
"preview": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\n.PHONY: si"
},
{
"path": "mainnet/2024-06-25-update-gas-config/README.md",
"chars": 11337,
"preview": "# Update Gas Config in L1 `SystemConfig`\n\nStatus: EXECUTED\n\n## Objective\n\nBecause of the recently blob market fee dynami"
},
{
"path": "mainnet/2024-06-25-update-gas-config/foundry.toml",
"chars": 665,
"preview": "[profile.default]\nsrc = 'src'\nout = 'out'\nlibs = ['lib']\nbroadcast = 'records'\nfs_permissions = [ {access = \"read-write\""
},
{
"path": "mainnet/2024-06-25-update-gas-config/script/RollbackGasConfig.sol",
"chars": 2309,
"preview": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {SystemConfig} from \"@eth-optimism-bedrock/src/L1/System"
},
{
"path": "mainnet/2024-06-25-update-gas-config/script/UpdateGasConfig.sol",
"chars": 1653,
"preview": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.15;\n\nimport {SystemConfig} from \"@eth-optimism-bedrock/src/L1/System"
},
{
"path": "mainnet/2024-06-28-update-gas-config/Makefile",
"chars": 909,
"preview": "include ../../Makefile\ninclude ../.env\ninclude .env\n\nifndef LEDGER_ACCOUNT\noverride LEDGER_ACCOUNT = 0\nendif\n\n.PHONY: si"
}
]
// ... and 1459 more files (download for full content)
About this extraction
This page contains the full source code of the base-org/contract-deployments GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 1659 files (12.9 MB), approximately 3.5M tokens. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.