optimism: OP Stack getting started guide is broken

The OP Stack guide for deploying a Bedrock optimistic roll-up gets stuck during L1 contract deployment. Specifically, the initializing transactions do not go through.

To Reproduce Precisely follow the guide at https://stack.optimism.io/docs/build/getting-started/#deploy-the-l1-contracts

Deployment gets stuck around step 19, initialize SystemDictator

Running the script for the first time gets stuck after all contracts are deployed + one more transaction (upgradeToAndCall). Logs attached, “appendix 1”. Subsequent runs of the script get stuck on the next transaction (changeAdmin). Logs attached, “appendix 2”.

Reproducibility Looking on-chain, there seem to be several people who tried deploying the OP Stack and got stuck on the same step. Notice how all these addresses get stuck trying to call changeAdmin over and over. this person, 8 days ago this person, 5 days ago this person, 1 day ago

Appendix 1, logs of initial run

<...>
Deployed SystemDictator at 0x671870A12D48BC4F9212B2392934131CB9B715De
Upgrading the SystemDictator proxy...
Live deployer manually disabled

    Please transfer ProxyAdmin (proxy) owner to MSD
      - ProxyAdmin address: 0xEA279c896029051278476411b7b71598804ef102
      - MSD address: 0x9311EC21cB0541965CBE225a2B9E58D1B8E34a25

JSON transaction parameters:
{
  "from": "0xd4C54f52B5beC574AE113DfEfBc88999c3535bD2",
  "to": "0xEA279c896029051278476411b7b71598804ef102",
  "data": "0xf2fde38b0000000000000000000000009311ec21cb0541965cbe225a2b9e58d1b8e34a25"
}
cast send 0xEA279c896029051278476411b7b71598804ef102 0xf2fde38b0000000000000000000000009311ec21cb0541965cbe225a2b9e58d1b8e34a25 --from 0xd4C54f52B5beC574AE113DfEfBc88999c3535bD2

    Please transfer AddressManager (proxy) owner to MSD
      - AddressManager address: 0x3dE6faF81C1B11cD6ea6E7e1655b975e0785b83e
      - MSD address: 0x9311EC21cB0541965CBE225a2B9E58D1B8E34a25

JSON transaction parameters:
{
  "from": "0xd4C54f52B5beC574AE113DfEfBc88999c3535bD2",
  "to": "0x3dE6faF81C1B11cD6ea6E7e1655b975e0785b83e",
  "data": "0xf2fde38b0000000000000000000000009311ec21cb0541965cbe225a2b9e58d1b8e34a25"
}
cast send 0x3dE6faF81C1B11cD6ea6E7e1655b975e0785b83e 0xf2fde38b0000000000000000000000009311ec21cb0541965cbe225a2b9e58d1b8e34a25 --from 0xd4C54f52B5beC574AE113DfEfBc88999c3535bD2

    Please transfer L1StandardBridgeProxy (proxy) owner to MSD
      - L1StandardBridgeProxy address: 0xBC01e4EeF571EC46adDDCCc1a8288F4573e66a11
      - MSD address: 0x9311EC21cB0541965CBE225a2B9E58D1B8E34a25

JSON transaction parameters:
{
  "from": "0xd4C54f52B5beC574AE113DfEfBc88999c3535bD2",
  "to": "0xBC01e4EeF571EC46adDDCCc1a8288F4573e66a11",
  "data": "0x13af40350000000000000000000000009311ec21cb0541965cbe225a2b9e58d1b8e34a25"
}
cast send 0xBC01e4EeF571EC46adDDCCc1a8288F4573e66a11 0x13af40350000000000000000000000009311ec21cb0541965cbe225a2b9e58d1b8e34a25 --from 0xd4C54f52B5beC574AE113DfEfBc88999c3535bD2

    Please transfer L1ERC721BridgeProxy (proxy) owner to MSD
      - L1ERC721BridgeProxy address: 0x8Fc2551b37720f8846034aEa255A9454Fe053AE5
      - MSD address: 0x9311EC21cB0541965CBE225a2B9E58D1B8E34a25

JSON transaction parameters:
{
  "from": "0xd4C54f52B5beC574AE113DfEfBc88999c3535bD2",
  "to": "0x8Fc2551b37720f8846034aEa255A9454Fe053AE5",
  "data": "0x8f2839700000000000000000000000009311ec21cb0541965cbe225a2b9e58d1b8e34a25"
}
cast send 0x8Fc2551b37720f8846034aEa255A9454Fe053AE5 0x8f2839700000000000000000000000009311ec21cb0541965cbe225a2b9e58d1b8e34a25 --from 0xd4C54f52B5beC574AE113DfEfBc88999c3535bD2
<stuck here for 20 minutes, no changes>

Appendix 2, logs of subsequent runs

No files changed, compilation skipped
skipping ProxyAdmin, using existing at 0xEA279c896029051278476411b7b71598804ef102
skipping Lib_AddressManager, using existing at 0x3dE6faF81C1B11cD6ea6E7e1655b975e0785b83e
skipping Proxy__OVM_L1StandardBridge, using existing at 0xBC01e4EeF571EC46adDDCCc1a8288F4573e66a11
skipping L2OutputOracleProxy, using existing at 0x515Ac9A83F0e6690f0cbDdf31C69a57658d20bFe
skipping Proxy__OVM_L1CrossDomainMessenger, using existing at 0x9C3452b75d174E44936fD7CE54e514B9CDA7AB5A
skipping OptimismPortalProxy, using existing at 0x186800567BD3513a7d5Fa92B09F04F285999D569
skipping OptimismMintableERC20FactoryProxy, using existing at 0x57E85A732C4B386fFb665D9BbAfF15c5B45504Fb
skipping L1ERC721BridgeProxy, using existing at 0x8Fc2551b37720f8846034aEa255A9454Fe053AE5
skipping SystemConfigProxy, using existing at 0x617940b6a9715bbf64546C66d0B1b39fcA57C8B4
skipping SystemDictatorProxy, using existing at 0x9311EC21cB0541965CBE225a2B9E58D1B8E34a25
skipping L1CrossDomainMessenger, using existing at 0xE50036d9423c58D98cF546A3C610e5b70c9e3389
skipping L1StandardBridge, using existing at 0xb41cc07697794F4AcDD379C3977d206e3698e958
skipping L2OutputOracle, using existing at 0x68283f43CbE9dA77657a2F71acD4Fa70e1dfF38E
WARNING: setting OptimismPortal.GUARDIAN to 0xd4c54f52b5bec574ae113dfefbc88999c3535bd2 and it has no code
skipping OptimismPortal, using existing at 0x76f5B15E94aD58bB92Cb57dc68970b8f5B96d458
skipping OptimismMintableERC20Factory, using existing at 0xf85BF44F8E745E3a0C27d43468F3f92A4780B573
skipping L1ERC721Bridge, using existing at 0x3d2b13365A7FB751255e0Ac922994fF28226a75f
skipping PortalSender, using existing at 0x56fC18e7940f392694834319fB94881F83d1Ba65
skipping SystemConfig, using existing at 0xa525e382De4597e438ffD8e085151226DEBB378C
skipping SystemDictator, using existing at 0x671870A12D48BC4F9212B2392934131CB9B715De
Transferring ownership of the SystemDictator proxy...
<stuck here for 20 minutes, no changes>

About this issue

  • Original URL
  • State: closed
  • Created a year ago
  • Comments: 18 (8 by maintainers)

Most upvoted comments

Seems to be a valid report. Going to send this over to the docs squad to get this resolved.

Thanks @nitantchhajed : I tried the required changes mentioned in #5703 , process moves forward and start executing. Now it ended with following message can you please see if this is right message to finish the L1 contract deployment. image

Yes, try the next steps from OP-Stack guide

Yes, Process worked. Thanks @nitantchhajed

Can anyone look into this? This is critical step for anyone who wants to setup OP Stack and facing problem on L1 contracts deployment

I’m facing the same problem

I tried to find the bug and it seems there is problem in deployment scripts There is scripts file named ‘019-SystemDictatorInit.ts’ in code folder ‘\optimism\packages\contracts-bedrock\deploy\019-SystemDictatorInit.ts’ Whenever script reachs to line number 133 at which there is await call for ‘awaitCondition’ function this function keeps waiting for right condition, which never happens and code keep waiting for it Same goes for line number 187 of same file

Also in file ‘020-SystemDictatorSteps-1.ts’ and ‘021-SystemDictatorSteps-2.ts’ we have same problem. Script stuck on ‘awaitCondition’ And ‘awaitCondition’ is provided with very high repetition number like 1000

The third address belongs to me https://goerli.etherscan.io/address/0x115d0d47ec3c1237827ca6c79ba07a6fa0c7d552