ethereum-optimism / optimism

Optimism is Ethereum, scaled.
https://optimism.io
MIT License
5.63k stars 3.27k forks source link

Failed to deploy contract when create L2 Rollup #8655

Closed fewensa closed 4 months ago

fewensa commented 10 months ago

Describe the bug

forge script scripts/Deploy.s.sol:Deploy --private-key $GS_ADMIN_PRIVATE_KEY --broadcast --rpc-url $L1_RPC_URL
# forge script scripts/Deploy.s.sol:Deploy --private-key $GS_ADMIN_PRIVATE_KEY --broadcast --rpc-url $L1_RPC_URL
[⠘] Compiling...
No files changed, compilation skipped
Traces:
  [55754328] → new Deploy@0x5b73C5498c1E3b4dbA84de0F1833c4a029d90519
    └─ ← 277665 bytes of code

  [0] Deploy::setUp()
    ├─ [0] VM::projectRoot() [staticcall]
    │   └─ ← ()
    ├─ [0] VM::envOr(DEPLOY_SCRIPT, Deploy)
    │   └─ ← ()
    ├─ [0] VM::envOr(DEPLOYMENT_CONTEXT, )
    │   └─ ← ()
    ├─ [0] VM::envOr(SIG, run)
    │   └─ ← ()
    ├─ [0] VM::envOr(DEPLOY_FILE, run-latest.json)
    │   └─ ← ()
    ├─ [0] VM::envOr(CHAIN_ID, 11155111 [1.115e7])
    │   └─ ← ()
    ├─ [0] VM::toString(11155111 [1.115e7]) [staticcall]
    │   └─ ← ()
    ├─ [0] VM::createDir(/data/dev/darwinia-network/optimism/packages/contracts-bedrock/deployments/getting-started, true)
    │   └─ ← ()
    ├─ [0] VM::readFile(/data/dev/darwinia-network/optimism/packages/contracts-bedrock/deployments/getting-started/.chainId) [staticcall]
    │   └─ ← ()
    ├─ [0] VM::envOr(STRICT_DEPLOYMENT, true)
    │   └─ ← ()
    ├─ [0] VM::parseUint(11155111) [staticcall]
    │   └─ ← ()
    ├─ [0] VM::toString(11155111 [1.115e7]) [staticcall]
    │   └─ ← ()
    ├─ [0] console::log(Connected to network with chainid %s, 11155111 [1.115e7]) [staticcall]
    │   └─ ← ()
    ├─ [0] VM::readFile(/data/dev/darwinia-network/optimism/packages/contracts-bedrock/deployments/getting-started/.deploy) [staticcall]
    │   └─ ← ()
    ├─ [0] console::log(Storing temp deployment data in %s, /data/dev/darwinia-network/optimism/packages/contracts-bedrock/deployments/getting-started/.deploy) [staticcall]
    │   └─ ← ()
    ├─ [0] VM::envOr(CONTRACT_ADDRESSES_PATH, )
    │   └─ ← ()
    ├─ [0] VM::projectRoot() [staticcall]
    │   └─ ← ()
    ├─ [0] → new <Unknown>@0xC7f2Cf4845C6db0e1a1e91ED41Bcd0FcC1b0E141
    │   ├─ [0] console::log(DeployConfig: reading file %s, /data/dev/darwinia-network/optimism/packages/contracts-bedrock/deploy-config/getting-started.json) [staticcall]
    │   │   └─ ← ()
    │   ├─ [0] VM::readFile(/data/dev/darwinia-network/optimism/packages/contracts-bedrock/deploy-config/getting-started.json) [staticcall]
    │   │   └─ ← ()
    │   ├─ [0] VM::parseJsonAddress(<stringified JSON>, $.finalSystemOwner) [staticcall]
    │   │   └─ ← ()
    │   ├─ [0] VM::parseJsonAddress(<stringified JSON>, $.superchainConfigGuardian) [staticcall]
    │   │   └─ ← ()
    │   ├─ [0] VM::parseJsonUint(<stringified JSON>, $.l1ChainID) [staticcall]
    │   │   └─ ← ()
    │   ├─ [0] VM::parseJsonUint(<stringified JSON>, $.l2ChainID) [staticcall]
    │   │   └─ ← ()
    │   ├─ [0] VM::parseJsonUint(<stringified JSON>, $.l2BlockTime) [staticcall]
    │   │   └─ ← ()
    │   ├─ [0] VM::parseJsonUint(<stringified JSON>, $.maxSequencerDrift) [staticcall]
    │   │   └─ ← ()
    │   ├─ [0] VM::parseJsonUint(<stringified JSON>, $.sequencerWindowSize) [staticcall]
    │   │   └─ ← ()
    │   ├─ [0] VM::parseJsonUint(<stringified JSON>, $.channelTimeout) [staticcall]
    │   │   └─ ← ()
    │   ├─ [0] VM::parseJsonAddress(<stringified JSON>, $.p2pSequencerAddress) [staticcall]
    │   │   └─ ← ()
    │   ├─ [0] VM::parseJsonAddress(<stringified JSON>, $.batchInboxAddress) [staticcall]
    │   │   └─ ← ()
    │   ├─ [0] VM::parseJsonAddress(<stringified JSON>, $.batchSenderAddress) [staticcall]
    │   │   └─ ← ()
    │   ├─ [0] VM::parseJsonUint(<stringified JSON>, $.l2OutputOracleSubmissionInterval) [staticcall]
    │   │   └─ ← ()
    │   ├─ [0] VM::parseJsonInt(<stringified JSON>, $.l2OutputOracleStartingTimestamp) [staticcall]
    │   │   └─ ← ()
    │   ├─ [0] VM::parseJsonUint(<stringified JSON>, $.l2OutputOracleStartingBlockNumber) [staticcall]
    │   │   └─ ← ()
    │   ├─ [0] VM::parseJsonAddress(<stringified JSON>, $.l2OutputOracleProposer) [staticcall]
    │   │   └─ ← ()
    │   ├─ [0] VM::parseJsonAddress(<stringified JSON>, $.l2OutputOracleChallenger) [staticcall]
    │   │   └─ ← ()
    │   ├─ [0] VM::parseJsonUint(<stringified JSON>, $.finalizationPeriodSeconds) [staticcall]
    │   │   └─ ← ()
    │   ├─ [0] VM::parseJsonAddress(<stringified JSON>, $.proxyAdminOwner) [staticcall]
    │   │   └─ ← ()
    │   ├─ [0] VM::parseJsonAddress(<stringified JSON>, $.baseFeeVaultRecipient) [staticcall]
    │   │   └─ ← ()
    │   ├─ [0] VM::parseJsonUint(<stringified JSON>, $.baseFeeVaultMinimumWithdrawalAmount) [staticcall]
    │   │   └─ ← ()
    │   ├─ [0] VM::parseJsonAddress(<stringified JSON>, $.l1FeeVaultRecipient) [staticcall]
    │   │   └─ ← ()
    │   ├─ [0] VM::parseJsonUint(<stringified JSON>, $.l1FeeVaultMinimumWithdrawalAmount) [staticcall]
    │   │   └─ ← ()
    │   ├─ [0] VM::parseJsonAddress(<stringified JSON>, $.sequencerFeeVaultRecipient) [staticcall]
    │   │   └─ ← ()
    │   ├─ [0] VM::parseJsonUint(<stringified JSON>, $.sequencerFeeVaultMinimumWithdrawalAmount) [staticcall]
    │   │   └─ ← ()
    │   ├─ [0] VM::parseJsonString(<stringified JSON>, $.governanceTokenName) [staticcall]
    │   │   └─ ← ()
    │   ├─ [0] VM::parseJsonString(<stringified JSON>, $.governanceTokenSymbol) [staticcall]
    │   │   └─ ← ()
    │   ├─ [0] VM::parseJsonAddress(<stringified JSON>, $.governanceTokenOwner) [staticcall]
    │   │   └─ ← ()
    │   ├─ [0] VM::parseJsonUint(<stringified JSON>, $.l2GenesisBlockGasLimit) [staticcall]
    │   │   └─ ← ()
    │   ├─ [0] VM::parseJsonUint(<stringified JSON>, $.l2GenesisBlockBaseFeePerGas) [staticcall]
    │   │   └─ ← ()
    │   ├─ [0] VM::parseJsonUint(<stringified JSON>, $.gasPriceOracleOverhead) [staticcall]
    │   │   └─ ← ()
    │   ├─ [0] VM::parseJsonUint(<stringified JSON>, $.gasPriceOracleScalar) [staticcall]
    │   │   └─ ← ()
    │   ├─ [0] VM::parseJsonUint(<stringified JSON>, $.eip1559Denominator) [staticcall]
    │   │   └─ ← ()
    │   ├─ [0] VM::parseJsonUint(<stringified JSON>, $.eip1559Elasticity) [staticcall]
    │   │   └─ ← ()
    │   ├─ [0] VM::parseJsonUint(<stringified JSON>, $.systemConfigStartBlock) [staticcall]
    │   │   └─ ← ()
    │   ├─ [4717869] VM::parseJsonUint(<stringified JSON>, $.requiredProtocolVersion) [staticcall]
    │   │   └─ ← ()
    │   ├─ [4266097] 0xC7f2Cf4845C6db0e1a1e91ED41Bcd0FcC1b0E141::parseJsonUint({
  "finalSystemOwner": "0xe0F2186d6dEa7B034072DDFDfF9c2037c911Bc89",
  "superchainConfigGuardian": "0xe0F2186d6dEa7B034072DDFDfF9c2037c911Bc89",

  "l1StartingBlockTag": "0x1340a43c86ad512bd9414d8c1e6d6908d90d7ffd700633df1f39edd7d89bf9df",

  "l1ChainID": 11155111,
  "l2ChainID": 42069,
  "l2BlockTime": 2,
  "l1BlockTime": 12,

  "maxSequencerDrift": 600,
  "sequencerWindowSize": 3600,
  "channelTimeout": 300,

  "p2pSequencerAddress": "0x5EEbC999B29Ab1b85c33aB4381D3d21fBD7d7Bc6",
  "batchInboxAddress": "0xff00000000000000000000000000000000042069",
  "batchSenderAddress": "0x534d556388682e093c8473c9e9C2fd9BBd4BfAD9",

  "l2OutputOracleSubmissionInterval": 120,
  "l2OutputOracleStartingBlockNumber": 0,
  "l2OutputOracleStartingTimestamp": 1702878048,

  "l2OutputOracleProposer": "0x8ee541d093f36EE2c4b7aBF8CaA4847760b84EB8",
  "l2OutputOracleChallenger": "0xe0F2186d6dEa7B034072DDFDfF9c2037c911Bc89",

  "finalizationPeriodSeconds": 12,

  "proxyAdminOwner": "0xe0F2186d6dEa7B034072DDFDfF9c2037c911Bc89",
  "baseFeeVaultRecipient": "0xe0F2186d6dEa7B034072DDFDfF9c2037c911Bc89",
  "l1FeeVaultRecipient": "0xe0F2186d6dEa7B034072DDFDfF9c2037c911Bc89",
  "sequencerFeeVaultRecipient": "0xe0F2186d6dEa7B034072DDFDfF9c2037c911Bc89",

  "baseFeeVaultMinimumWithdrawalAmount": "0x8ac7230489e80000",
  "l1FeeVaultMinimumWithdrawalAmount": "0x8ac7230489e80000",
  "sequencerFeeVaultMinimumWithdrawalAmount": "0x8ac7230489e80000",
  "baseFeeVaultWithdrawalNetwork": 0,
  "l1FeeVaultWithdrawalNetwork": 0,
  "sequencerFeeVaultWithdrawalNetwork": 0,

  "gasPriceOracleOverhead": 2100,
  "gasPriceOracleScalar": 1000000,

  "enableGovernance": true,
  "governanceTokenSymbol": "OP",
  "governanceTokenName": "Optimism",
  "governanceTokenOwner": "0xe0F2186d6dEa7B034072DDFDfF9c2037c911Bc89",

  "l2GenesisBlockGasLimit": "0x1c9c380",
  "l2GenesisBlockBaseFeePerGas": "0x3b9aca00",
  "l2GenesisRegolithTimeOffset": "0x0",

  "eip1559Denominator": 50,
  "eip1559DenominatorCanyon": 250,
  "eip1559Elasticity": 10,

  "systemConfigStartBlock": 0,

  "requiredProtocolVersion": "0x0000000000000000000000000000000000000000000000000000000000000000",
  "recommendedProtocolVersion": "0x0000000000000000000000000000000000000000000000000000000000000000"
}
, $.recommendedProtocolVersion) [staticcall]
    │   │   └─ ← 43648854190028290368124427828690944273759144372138548774652161029783284670492 [4.364e76]
    │   └─ ← 0 bytes of code
    ├─ [0] console::log(Deploying from %s, Deploy) [staticcall]
    │   └─ ← ()
    ├─ [0] console::log(Deployment context: %s, getting-started) [staticcall]
    │   └─ ← ()
    └─ ← ()

  [5284241] Deploy::run()
    ├─ [0] console::log(Deploying a fresh OP Stack including SuperchainConfig) [staticcall]
    │   └─ ← ()
    ├─ [0] VM::startBroadcast(0x3E07b31b9Ae2DD9127BA81bed8B5cd2354657E61)
    │   └─ ← ()
    ├─ [0] console::log(Deploying Safe) [staticcall]
    │   └─ ← ()
    ├─ [0] VM::serializeAddress(<stringified JSON>, SafeProxyFactory, 0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2)
    │   └─ ← ()
    ├─ [0] VM::writeJson(<stringified JSON>, /data/dev/darwinia-network/optimism/packages/contracts-bedrock/deployments/getting-started/.deploy)
    │   └─ ← ()
    ├─ [0] VM::serializeAddress(<stringified JSON>, SafeSingleton, 0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552)
    │   └─ ← ()
    ├─ [0] VM::writeJson(<stringified JSON>, /data/dev/darwinia-network/optimism/packages/contracts-bedrock/deployments/getting-started/.deploy)
    │   └─ ← ()
    ├─ [209904] GnosisSafeProxyFactory::createProxyWithNonce(GnosisSafe: [0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552], 0xb63e800d0000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000003e07b31b9ae2dd9127ba81bed8b5cd2354657e610000000000000000000000000000000000000000000000000000000000000000, 1702884876 [1.702e9])
    │   ├─ [56609] → new <Unknown>@0xC60C124e349Fa21079b2e4B90e3b0B2DD19d0522
    │   │   └─ ← 171 bytes of code
    │   ├─ [116646] 0xC60C124e349Fa21079b2e4B90e3b0B2DD19d0522::setup([0x3E07b31b9Ae2DD9127BA81bed8B5cd2354657E61], 1, 0x0000000000000000000000000000000000000000, 0x, 0x0000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000, 0, 0x0000000000000000000000000000000000000000)
    │   │   ├─ [116258] GnosisSafe::setup([0x3E07b31b9Ae2DD9127BA81bed8B5cd2354657E61], 1, 0x0000000000000000000000000000000000000000, 0x, 0x0000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000, 0, 0x0000000000000000000000000000000000000000) [delegatecall]
    │   │   │   ├─ emit SafeSetup(initiator: GnosisSafeProxyFactory: [0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2], owners: [0x3E07b31b9Ae2DD9127BA81bed8B5cd2354657E61], threshold: 1, initializer: 0x0000000000000000000000000000000000000000, fallbackHandler: 0x0000000000000000000000000000000000000000)
    │   │   │   └─ ← ()
    │   │   └─ ← ()
    │   ├─ emit ProxyCreation(proxy: 0xC60C124e349Fa21079b2e4B90e3b0B2DD19d0522, singleton: GnosisSafe: [0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552])
    │   └─ ← 0xC60C124e349Fa21079b2e4B90e3b0B2DD19d0522
    ├─ [0] VM::serializeAddress(<stringified JSON>, SystemOwnerSafe, 0xC60C124e349Fa21079b2e4B90e3b0B2DD19d0522)
    │   └─ ← ()
    ├─ [0] VM::writeJson(<stringified JSON>, /data/dev/darwinia-network/optimism/packages/contracts-bedrock/deployments/getting-started/.deploy)
    │   └─ ← ()
    ├─ [0] console::log(New SystemOwnerSafe deployed at %s, 0xC60C124e349Fa21079b2e4B90e3b0B2DD19d0522) [staticcall]
    │   └─ ← ()
    ├─ [0] VM::stopBroadcast()
    │   └─ ← ()
    ├─ [0] console::log(Setting up Superchain) [staticcall]
    │   └─ ← ()
    ├─ [0] VM::startBroadcast(0x3E07b31b9Ae2DD9127BA81bed8B5cd2354657E61)
    │   └─ ← ()
    ├─ [0] console::log(Deploying AddressManager) [staticcall]
    │   └─ ← ()
    ├─ [327884] → new AddressManager@0x0883057921424c9E8a62cD7a5A82d8f6Ef28FFD1
    │   ├─ emit OwnershipTransferred(previousOwner: 0x0000000000000000000000000000000000000000, newOwner: 0x3E07b31b9Ae2DD9127BA81bed8B5cd2354657E61)
    │   └─ ← 1519 bytes of code
    ├─ [307] AddressManager::owner() [staticcall]
    │   └─ ← 0x3E07b31b9Ae2DD9127BA81bed8B5cd2354657E61
    ├─ [0] VM::serializeAddress(<stringified JSON>, AddressManager, 0x0883057921424c9E8a62cD7a5A82d8f6Ef28FFD1)
    │   └─ ← ()
    ├─ [0] VM::writeJson(<stringified JSON>, /data/dev/darwinia-network/optimism/packages/contracts-bedrock/deployments/getting-started/.deploy)
    │   └─ ← ()
    ├─ [0] console::log(AddressManager deployed at %s, AddressManager: [0x0883057921424c9E8a62cD7a5A82d8f6Ef28FFD1]) [staticcall]
    │   └─ ← ()
    ├─ [0] VM::stopBroadcast()
    │   └─ ← ()
    ├─ [0] VM::startBroadcast(0x3E07b31b9Ae2DD9127BA81bed8B5cd2354657E61)
    │   └─ ← ()
    ├─ [0] console::log(Deploying ProxyAdmin) [staticcall]
    │   └─ ← ()
    ├─ [1331897] → new ProxyAdmin@0x3D027235Ec26000ce92b008719723238786805CB
    │   ├─ emit OwnershipTransferred(previousOwner: 0x0000000000000000000000000000000000000000, newOwner: 0x3E07b31b9Ae2DD9127BA81bed8B5cd2354657E61)
    │   ├─ emit OwnershipTransferred(previousOwner: 0x3E07b31b9Ae2DD9127BA81bed8B5cd2354657E61, newOwner: 0x3E07b31b9Ae2DD9127BA81bed8B5cd2354657E61)
    │   └─ ← 6524 bytes of code
    ├─ [363] ProxyAdmin::owner() [staticcall]
    │   └─ ← 0x3E07b31b9Ae2DD9127BA81bed8B5cd2354657E61
    ├─ [2325] ProxyAdmin::addressManager() [staticcall]
    │   └─ ← 0x0000000000000000000000000000000000000000
    ├─ [20602] ProxyAdmin::setAddressManager(AddressManager: [0x0883057921424c9E8a62cD7a5A82d8f6Ef28FFD1])
    │   └─ ← ()
    ├─ [325] ProxyAdmin::addressManager() [staticcall]
    │   └─ ← AddressManager: [0x0883057921424c9E8a62cD7a5A82d8f6Ef28FFD1]
    ├─ [0] VM::serializeAddress(<stringified JSON>, ProxyAdmin, 0x3D027235Ec26000ce92b008719723238786805CB)
    │   └─ ← ()
    ├─ [0] VM::writeJson(<stringified JSON>, /data/dev/darwinia-network/optimism/packages/contracts-bedrock/deployments/getting-started/.deploy)
    │   └─ ← ()
    ├─ [0] console::log(ProxyAdmin deployed at %s, ProxyAdmin: [0x3D027235Ec26000ce92b008719723238786805CB]) [staticcall]
    │   └─ ← ()
    ├─ [0] VM::stopBroadcast()
    │   └─ ← ()
    ├─ [0] VM::startBroadcast(0x3E07b31b9Ae2DD9127BA81bed8B5cd2354657E61)
    │   └─ ← ()
    ├─ [363] ProxyAdmin::owner() [staticcall]
    │   └─ ← 0x3E07b31b9Ae2DD9127BA81bed8B5cd2354657E61
    ├─ [2330] ProxyAdmin::transferOwnership(0xC60C124e349Fa21079b2e4B90e3b0B2DD19d0522)
    │   ├─ emit OwnershipTransferred(previousOwner: 0x3E07b31b9Ae2DD9127BA81bed8B5cd2354657E61, newOwner: 0xC60C124e349Fa21079b2e4B90e3b0B2DD19d0522)
    │   └─ ← ()
    ├─ [0] console::log(ProxyAdmin ownership transferred to Safe at: %s, 0xC60C124e349Fa21079b2e4B90e3b0B2DD19d0522) [staticcall]
    │   └─ ← ()
    ├─ [0] VM::stopBroadcast()
    │   └─ ← ()
    ├─ [0] VM::startBroadcast(0x3E07b31b9Ae2DD9127BA81bed8B5cd2354657E61)
    │   └─ ← ()
    ├─ [0] console::log(Deploying ERC1967 proxy forSuperchainConfigProxy) [staticcall]
    │   └─ ← ()
    ├─ [436020] → new Proxy@0xB119423a3ca601376CC5626bd17E16Cb78B8662D
    │   ├─ emit AdminChanged(previousAdmin: 0x0000000000000000000000000000000000000000, newAdmin: ProxyAdmin: [0x3D027235Ec26000ce92b008719723238786805CB])
    │   └─ ← 2059 bytes of code
    ├─ [0] VM::load(Proxy: [0xB119423a3ca601376CC5626bd17E16Cb78B8662D], 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103) [staticcall]
    │   └─ ← ()
    ├─ [0] VM::serializeAddress(<stringified JSON>, SuperchainConfigProxy, 0xB119423a3ca601376CC5626bd17E16Cb78B8662D)
    │   └─ ← ()
    ├─ [0] VM::writeJson(<stringified JSON>, /data/dev/darwinia-network/optimism/packages/contracts-bedrock/deployments/getting-started/.deploy)
    │   └─ ← ()
    ├─ [0] console::log(   at %s, Proxy: [0xB119423a3ca601376CC5626bd17E16Cb78B8662D]) [staticcall]
    │   └─ ← ()
    ├─ [0] VM::stopBroadcast()
    │   └─ ← ()
    ├─ [0] VM::startBroadcast(0x3E07b31b9Ae2DD9127BA81bed8B5cd2354657E61)
    │   └─ ← ()
    ├─ [0] VM::envOr(IMPL_SALT, ethers phoenix)
    │   └─ ← ()
    ├─ [511388] → new SuperchainConfig@0x9dC06dA2a99aa892EA1a9E199E7854b33df19093
    │   ├─ emit ConfigUpdate(updateType: 0, data: 0x0000000000000000000000000000000000000000000000000000000000000000)
    │   ├─ emit Initialized(version: 1)
    │   └─ ← 2411 bytes of code
    ├─ [437] SuperchainConfig::guardian() [staticcall]
    │   └─ ← 0x0000000000000000000000000000000000000000
    ├─ [0] VM::load(SuperchainConfig: [0x9dC06dA2a99aa892EA1a9E199E7854b33df19093], 0x0000000000000000000000000000000000000000000000000000000000000000) [staticcall]
    │   └─ ← ()
    ├─ [0] VM::serializeAddress(<stringified JSON>, SuperchainConfig, 0x9dC06dA2a99aa892EA1a9E199E7854b33df19093)
    │   └─ ← ()
    ├─ [0] VM::writeJson(<stringified JSON>, /data/dev/darwinia-network/optimism/packages/contracts-bedrock/deployments/getting-started/.deploy)
    │   └─ ← ()
    ├─ [0] console::log(SuperchainConfig deployed at %s, SuperchainConfig: [0x9dC06dA2a99aa892EA1a9E199E7854b33df19093]) [staticcall]
    │   └─ ← ()
    ├─ [0] VM::stopBroadcast()
    │   └─ ← ()
    ├─ [0] VM::startBroadcast(0x3E07b31b9Ae2DD9127BA81bed8B5cd2354657E61)
    │   └─ ← ()
    ├─ [2423] 0xC7f2Cf4845C6db0e1a1e91ED41Bcd0FcC1b0E141::fa60f9b2() [staticcall]
    │   └─ ← 0x000000000000000000000000e0f2186d6dea7b034072ddfdff9c2037c911bc89
    ├─ [108667] 0xC60C124e349Fa21079b2e4B90e3b0B2DD19d0522::execTransaction(ProxyAdmin: [0x3D027235Ec26000ce92b008719723238786805CB], 0, 0x9623609d000000000000000000000000b119423a3ca601376cc5626bd17e16cb78b8662d0000000000000000000000009dc06da2a99aa892ea1a9e199e7854b33df1909300000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000044400ada75000000000000000000000000e0f2186d6dea7b034072ddfdff9c2037c911bc89000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, 0, 0, 0, 0, 0x0000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000, 0x0000000000000000000000003e07b31b9ae2dd9127ba81bed8b5cd2354657e61000000000000000000000000000000000000000000000000000000000000000001)
    │   ├─ [108203] GnosisSafe::execTransaction(ProxyAdmin: [0x3D027235Ec26000ce92b008719723238786805CB], 0, 0x9623609d000000000000000000000000b119423a3ca601376cc5626bd17e16cb78b8662d0000000000000000000000009dc06da2a99aa892ea1a9e199e7854b33df1909300000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000044400ada75000000000000000000000000e0f2186d6dea7b034072ddfdff9c2037c911bc89000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, 0, 0, 0, 0, 0x0000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000, 0x0000000000000000000000003e07b31b9ae2dd9127ba81bed8b5cd2354657e61000000000000000000000000000000000000000000000000000000000000000001) [delegatecall]
    │   │   ├─ [77865] ProxyAdmin::upgradeAndCall(Proxy: [0xB119423a3ca601376CC5626bd17E16Cb78B8662D], SuperchainConfig: [0x9dC06dA2a99aa892EA1a9E199E7854b33df19093], 0x400ada75000000000000000000000000e0f2186d6dea7b034072ddfdff9c2037c911bc890000000000000000000000000000000000000000000000000000000000000000)
    │   │   │   ├─ [73315] Proxy::upgradeToAndCall(SuperchainConfig: [0x9dC06dA2a99aa892EA1a9E199E7854b33df19093], 0x400ada75000000000000000000000000e0f2186d6dea7b034072ddfdff9c2037c911bc890000000000000000000000000000000000000000000000000000000000000000)
    │   │   │   │   ├─ emit Upgraded(implementation: SuperchainConfig: [0x9dC06dA2a99aa892EA1a9E199E7854b33df19093])
    │   │   │   │   ├─ [48821] SuperchainConfig::initialize(0xe0F2186d6dEa7B034072DDFDfF9c2037c911Bc89, false) [delegatecall]
    │   │   │   │   │   ├─ emit ConfigUpdate(updateType: 0, data: 0x000000000000000000000000e0f2186d6dea7b034072ddfdff9c2037c911bc89)
    │   │   │   │   │   ├─ emit Initialized(version: 1)
    │   │   │   │   │   └─ ← ()
    │   │   │   │   └─ ← 0x
    │   │   │   └─ ← ()
    │   │   ├─ emit ExecutionSuccess(txHash: 0x19bfcbd9c71c9218f3956dc13143fdc0c6513935391a59ee519d352230d4264a, payment: 0)
    │   │   └─ ← true
    │   └─ ← true
    ├─ [0] VM::readFile(/data/dev/darwinia-network/optimism/packages/contracts-bedrock/deployments/getting-started/L1CrossDomainMessengerProxy.json) [staticcall]
    │   └─ ← ()
    ├─ [0] VM::readFile(/data/dev/darwinia-network/optimism/packages/contracts-bedrock/deployments/getting-started/L1StandardBridgeProxy.json) [staticcall]
    │   └─ ← ()
    ├─ [0] VM::readFile(/data/dev/darwinia-network/optimism/packages/contracts-bedrock/deployments/getting-started/L2OutputOracleProxy.json) [staticcall]
    │   └─ ← ()
    ├─ [0] VM::readFile(/data/dev/darwinia-network/optimism/packages/contracts-bedrock/deployments/getting-started/OptimismMintableERC20FactoryProxy.json) [staticcall]
    │   └─ ← ()
    ├─ [0] VM::readFile(/data/dev/darwinia-network/optimism/packages/contracts-bedrock/deployments/getting-started/OptimismPortalProxy.json) [staticcall]
    │   └─ ← ()
    ├─ [0] VM::readFile(/data/dev/darwinia-network/optimism/packages/contracts-bedrock/deployments/getting-started/SystemConfigProxy.json) [staticcall]
    │   └─ ← ()
    ├─ [0] VM::readFile(/data/dev/darwinia-network/optimism/packages/contracts-bedrock/deployments/getting-started/L1ERC721BridgeProxy.json) [staticcall]
    │   └─ ← ()
    ├─ [0] VM::readFile(/data/dev/darwinia-network/optimism/packages/contracts-bedrock/deployments/getting-started/ProtocolVersionsProxy.json) [staticcall]
    │   └─ ← ()
    ├─ [423] 0xC7f2Cf4845C6db0e1a1e91ED41Bcd0FcC1b0E141::fa60f9b2() [staticcall]
    │   └─ ← 0x000000000000000000000000e0f2186d6dea7b034072ddfdff9c2037c911bc89
    ├─ [899] Proxy::guardian() [staticcall]
    │   ├─ [437] SuperchainConfig::guardian() [delegatecall]
    │   │   └─ ← 0xe0F2186d6dEa7B034072DDFDfF9c2037c911Bc89
    │   └─ ← 0xe0F2186d6dEa7B034072DDFDfF9c2037c911Bc89
    ├─ [2883] Proxy::paused() [staticcall]
    │   ├─ [2400] SuperchainConfig::paused() [delegatecall]
    │   │   └─ ← false
    │   └─ ← false
    ├─ [0] VM::stopBroadcast()
    │   └─ ← ()
    ├─ [0] VM::startBroadcast(0x3E07b31b9Ae2DD9127BA81bed8B5cd2354657E61)
    │   └─ ← ()
    ├─ [0] console::log(Deploying ERC1967 proxy forProtocolVersionsProxy) [staticcall]
    │   └─ ← ()
    ├─ [436020] → new Proxy@0x1FB68b3B21fcF460b8c05A96aFe5850190f74fE0
    │   ├─ emit AdminChanged(previousAdmin: 0x0000000000000000000000000000000000000000, newAdmin: ProxyAdmin: [0x3D027235Ec26000ce92b008719723238786805CB])
    │   └─ ← 2059 bytes of code
    ├─ [0] VM::load(Proxy: [0x1FB68b3B21fcF460b8c05A96aFe5850190f74fE0], 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103) [staticcall]
    │   └─ ← ()
    ├─ [0] VM::serializeAddress(<stringified JSON>, ProtocolVersionsProxy, 0x1FB68b3B21fcF460b8c05A96aFe5850190f74fE0)
    │   └─ ← ()
    ├─ [0] VM::writeJson(<stringified JSON>, /data/dev/darwinia-network/optimism/packages/contracts-bedrock/deployments/getting-started/.deploy)
    │   └─ ← ()
    ├─ [0] console::log(   at %s, Proxy: [0x1FB68b3B21fcF460b8c05A96aFe5850190f74fE0]) [staticcall]
    │   └─ ← ()
    ├─ [0] VM::stopBroadcast()
    │   └─ ← ()
    ├─ [0] VM::startBroadcast(0x3E07b31b9Ae2DD9127BA81bed8B5cd2354657E61)
    │   └─ ← ()
    ├─ [0] console::log(Deploying ProtocolVersions implementation) [staticcall]
    │   └─ ← ()
    ├─ [0] VM::envOr(IMPL_SALT, ethers phoenix)
    │   └─ ← ()
    ├─ [579686] → new ProtocolVersions@0xAa7980CDFE8064bcaE4125EbE2b98fa8c4E147C9
    │   ├─ emit OwnershipTransferred(previousOwner: 0x0000000000000000000000000000000000000000, newOwner: Create2Deployer: [0x4e59b44847b379578588920cA78FbF26c0B4956C])
    │   ├─ emit OwnershipTransferred(previousOwner: Create2Deployer: [0x4e59b44847b379578588920cA78FbF26c0B4956C], newOwner: 0x000000000000000000000000000000000000dEaD)
    │   ├─ emit ConfigUpdate(version: 0, updateType: 0, data: 0x0000000000000000000000000000000000000000000000000000000000000000)
    │   ├─ emit ConfigUpdate(version: 0, updateType: 1, data: 0x0000000000000000000000000000000000000000000000000000000000000000)
    │   ├─ emit Initialized(version: 1)
    │   └─ ← 2595 bytes of code
    ├─ [0] VM::serializeAddress(<stringified JSON>, ProtocolVersions, 0xAa7980CDFE8064bcaE4125EbE2b98fa8c4E147C9)
    │   └─ ← ()
    ├─ [0] VM::writeJson(<stringified JSON>, /data/dev/darwinia-network/optimism/packages/contracts-bedrock/deployments/getting-started/.deploy)
    │   └─ ← ()
    ├─ [0] console::log(ProtocolVersions deployed at %s, ProtocolVersions: [0xAa7980CDFE8064bcaE4125EbE2b98fa8c4E147C9]) [staticcall]
    │   └─ ← ()
    ├─ [0] VM::readFile(/data/dev/darwinia-network/optimism/packages/contracts-bedrock/deployments/getting-started/L1CrossDomainMessengerProxy.json) [staticcall]
    │   └─ ← ()
    ├─ [0] VM::readFile(/data/dev/darwinia-network/optimism/packages/contracts-bedrock/deployments/getting-started/L1StandardBridgeProxy.json) [staticcall]
    │   └─ ← ()
    ├─ [0] VM::readFile(/data/dev/darwinia-network/optimism/packages/contracts-bedrock/deployments/getting-started/L2OutputOracleProxy.json) [staticcall]
    │   └─ ← ()
    ├─ [0] VM::readFile(/data/dev/darwinia-network/optimism/packages/contracts-bedrock/deployments/getting-started/OptimismMintableERC20FactoryProxy.json) [staticcall]
    │   └─ ← ()
    ├─ [0] VM::readFile(/data/dev/darwinia-network/optimism/packages/contracts-bedrock/deployments/getting-started/OptimismPortalProxy.json) [staticcall]
    │   └─ ← ()
    ├─ [0] VM::readFile(/data/dev/darwinia-network/optimism/packages/contracts-bedrock/deployments/getting-started/SystemConfigProxy.json) [staticcall]
    │   └─ ← ()
    ├─ [0] VM::readFile(/data/dev/darwinia-network/optimism/packages/contracts-bedrock/deployments/getting-started/L1ERC721BridgeProxy.json) [staticcall]
    │   └─ ← ()
    ├─ [312] ProtocolVersions::owner() [staticcall]
    │   └─ ← 0x000000000000000000000000000000000000dEaD
    ├─ [450] ProtocolVersions::required() [staticcall]
    │   └─ ← 0
    ├─ [428] ProtocolVersions::recommended() [staticcall]
    │   └─ ← 0
    ├─ [0] VM::ffi([bash, -c, forge config --json | jq -r .out])
    │   └─ ← ()
    ├─ [0] VM::ffi([bash, -c, echo ProtocolVersions | sed -E 's/[.][0-9]+\.[0-9]+\.[0-9]+//g'])
    │   └─ ← ()
    ├─ [0] VM::projectRoot() [staticcall]
    │   └─ ← ()
    ├─ [5263177] VM::exists(/data/dev/darwinia-network/optimism/packages/contracts-bedrock/forge-artifacts/ProtocolVersions.sol/ProtocolVersions.json)
    │   └─ ← "Invalid data"
    └─ ← ()

== Logs ==
  Connected to network with chainid 11155111
  Storing temp deployment data in /data/dev/darwinia-network/optimism/packages/contracts-bedrock/deployments/getting-started/.deploy
  DeployConfig: reading file /data/dev/darwinia-network/optimism/packages/contracts-bedrock/deploy-config/getting-started.json
  Deploying from Deploy
  Deployment context: getting-started
  Deploying a fresh OP Stack including SuperchainConfig
  Deploying Safe
  New SystemOwnerSafe deployed at 0xC60C124e349Fa21079b2e4B90e3b0B2DD19d0522
  Setting up Superchain
  Deploying AddressManager
  AddressManager deployed at 0x0883057921424c9E8a62cD7a5A82d8f6Ef28FFD1
  Deploying ProxyAdmin
  ProxyAdmin deployed at 0x3D027235Ec26000ce92b008719723238786805CB
  ProxyAdmin ownership transferred to Safe at: 0xC60C124e349Fa21079b2e4B90e3b0B2DD19d0522
  Deploying ERC1967 proxy forSuperchainConfigProxy
     at 0xB119423a3ca601376CC5626bd17E16Cb78B8662D
  SuperchainConfig deployed at 0x9dC06dA2a99aa892EA1a9E199E7854b33df19093
  Deploying ERC1967 proxy forProtocolVersionsProxy
     at 0x1FB68b3B21fcF460b8c05A96aFe5850190f74fE0
  Deploying ProtocolVersions implementation
  ProtocolVersions deployed at 0xAa7980CDFE8064bcaE4125EbE2b98fa8c4E147C9
Error:
Invalid data

To Reproduce Steps to reproduce the behavior:

Flow this documents https://docs.optimism.io/builders/chain-operators/tutorials/create-l2-rollup#deploy-the-l1-contracts

Expected behavior Deploy success

Screenshots If applicable, add screenshots to help explain your problem.

System Specs:

Additional context Add any other context about the problem here.

tynes commented 10 months ago

Make sure that you are using the version of foundry defined in .foundryrc. This issue does not exist in our CI