Skip to content

Fix Optimism scenarios#721

Merged
kevincheng96 merged 9 commits intosilver/optimism-deployment-testnetfrom
kevin/refactor-gov-scenarios
Mar 21, 2023
Merged

Fix Optimism scenarios#721
kevincheng96 merged 9 commits intosilver/optimism-deployment-testnetfrom
kevin/refactor-gov-scenarios

Conversation

@kevincheng96
Copy link
Copy Markdown
Contributor

@kevincheng96 kevincheng96 commented Mar 20, 2023

This PR refactors the cross-chain governance scenarios so that a single scenario can be used for all L2s/sidechains. We also move cross-chain governance scenarios into their own file.

This PR fixes a lot of different errors that are cropping up for Optimism scenarios.

@kevincheng96 kevincheng96 marked this pull request as ready for review March 20, 2023 22:38
@kevincheng96
Copy link
Copy Markdown
Contributor Author

Fixed up all the immediately fixable scenarios for Optimism.

The one remaining failure for Optimism is due to our scenario code using a Bedrock-only interface when Optimism mainnet hasn't been upgraded yet. The one remaining failure for Optimism-goerli is due to the fact that we only have a single collateral asset in the deploy script right now, which would fail for any scenarios that try to bump the supply cap for a collateral asset that is not asset 0.

@kevincheng96 kevincheng96 changed the title Simplify cross-chain governance scenarios Fix Optimism scenarios Mar 20, 2023
Copy link
Copy Markdown
Contributor

@jflatow jflatow left a comment

Choose a reason for hiding this comment

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

Great work 💯

case 'optimism-goerli': {
const sendMessageCalldata = utils.defaultAbiCoder.encode(
['address', 'bytes', 'uint32'],
[bridgeReceiver.address, l2ProposalData, 1_000_000] // XXX find a reliable way to estimate the gasLimit
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🤔

@kevincheng96 kevincheng96 force-pushed the silver/optimism-deployment-testnet branch 2 times, most recently from 5c34177 to fcde1d6 Compare March 21, 2023 18:33
@kevincheng96 kevincheng96 force-pushed the kevin/refactor-gov-scenarios branch from 7f1d847 to 22c4a34 Compare March 21, 2023 20:16
@kevincheng96 kevincheng96 force-pushed the kevin/refactor-gov-scenarios branch from 22c4a34 to 1577f9f Compare March 21, 2023 20:20
Copy link
Copy Markdown
Contributor

@scott-silver scott-silver left a comment

Choose a reason for hiding this comment

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

👍

@kevincheng96 kevincheng96 merged commit ae9a43b into silver/optimism-deployment-testnet Mar 21, 2023
@kevincheng96 kevincheng96 deleted the kevin/refactor-gov-scenarios branch March 21, 2023 21:30
kevincheng96 added a commit that referenced this pull request Mar 31, 2023
* Add logs when executing a bridged proposal

* Add new regex to custom error checker

* Use separate Etherscan API key for optimism

* Add USDC whale for optimism-goerli

* Add revert error message for WETH

* More scenario fixes

* Fix remaining scenario errors

* Add case for optimism-goerli to createCrossChainProposal

* Add optimism etherscan key to forge test job
kevincheng96 added a commit that referenced this pull request Mar 31, 2023
* Add logs when executing a bridged proposal

* Add new regex to custom error checker

* Use separate Etherscan API key for optimism

* Add USDC whale for optimism-goerli

* Add revert error message for WETH

* More scenario fixes

* Fix remaining scenario errors

* Add case for optimism-goerli to createCrossChainProposal

* Add optimism etherscan key to forge test job
kevincheng96 added a commit that referenced this pull request Apr 4, 2023
* Add logs when executing a bridged proposal

* Add new regex to custom error checker

* Use separate Etherscan API key for optimism

* Add USDC whale for optimism-goerli

* Add revert error message for WETH

* More scenario fixes

* Fix remaining scenario errors

* Add case for optimism-goerli to createCrossChainProposal

* Add optimism etherscan key to forge test job
kevincheng96 added a commit that referenced this pull request Apr 4, 2023
* Add logs when executing a bridged proposal

* Add new regex to custom error checker

* Use separate Etherscan API key for optimism

* Add USDC whale for optimism-goerli

* Add revert error message for WETH

* More scenario fixes

* Fix remaining scenario errors

* Add case for optimism-goerli to createCrossChainProposal

* Add optimism etherscan key to forge test job
kevincheng96 added a commit that referenced this pull request Apr 5, 2023
* Optimism testnet deploy

* WIP

* Allow `existing` to merge into a proxy and use for optimism-goerli

* Fix cross-chain scenario by passing in gasLimit from the L1 txn

* Update deploy and bump hardhat

* Fix Optimism scenarios (#721)

* Add logs when executing a bridged proposal

* Add new regex to custom error checker

* Use separate Etherscan API key for optimism

* Add USDC whale for optimism-goerli

* Add revert error message for WETH

* More scenario fixes

* Fix remaining scenario errors

* Add case for optimism-goerli to createCrossChainProposal

* Add optimism etherscan key to forge test job

* Update collateral assets and deploy script

* Update WBTC supply cap decimals

* Deploy Comet to Optimism-Goerli and upload VerifyArgs when deploy fails (#728)

We deploy Comet to Optimism-Goerli and update the roots in this PR. This PR also improves the deploy step by allowing us to recover the `VerifyArgs` if a deploy job fails mid-deploy. This also includes a fix for verifying contracts in Optimism-Goerli.

---------

Co-authored-by: GitHub Actions Bot <>
Co-authored-by: Jared Flatow <jflatow@gmail.com>

* Update timelock constructor params in deploy script

* Remove roots for re-deploy

* Modified deployment roots from GitHub Actions

* Optimism-Goerli proposal (#726)

This PR creates the Optimism-Goerli migration script for launching cUSDCv3. This PR also updates the Optimism message-passing bridge relayer logic in our scenarios so we can test token bridging using scenarios.

Proposal 70 created and executed: https://goerli.etherscan.io/tx/0x6defeea621b4778cfab509ea5ed5ce2ed4da78535dc75e787312b78413e88aaf

Execution of proposal on Optimism Goerli: https://goerli-optimism.etherscan.io/tx/0x465b0e6863afeb1640336b6843b4b03ce51a13b01cae51f04638cd4054a41392

---------

Co-authored-by: GitHub Actions Bot <>

---------

Co-authored-by: Jared Flatow <jflatow@gmail.com>
Co-authored-by: kevincheng96 <kevincheng96@hotmail.com>
Co-authored-by: GitHub Actions Bot <>
kevincheng96 added a commit that referenced this pull request May 22, 2023
* Optimism testnet deploy

* WIP

* Allow `existing` to merge into a proxy and use for optimism-goerli

* Fix cross-chain scenario by passing in gasLimit from the L1 txn

* Update deploy and bump hardhat

* Fix Optimism scenarios (#721)

* Add logs when executing a bridged proposal

* Add new regex to custom error checker

* Use separate Etherscan API key for optimism

* Add USDC whale for optimism-goerli

* Add revert error message for WETH

* More scenario fixes

* Fix remaining scenario errors

* Add case for optimism-goerli to createCrossChainProposal

* Add optimism etherscan key to forge test job

* Update collateral assets and deploy script

* Update WBTC supply cap decimals

* Deploy Comet to Optimism-Goerli and upload VerifyArgs when deploy fails (#728)

We deploy Comet to Optimism-Goerli and update the roots in this PR. This PR also improves the deploy step by allowing us to recover the `VerifyArgs` if a deploy job fails mid-deploy. This also includes a fix for verifying contracts in Optimism-Goerli.

---------

Co-authored-by: GitHub Actions Bot <>
Co-authored-by: Jared Flatow <jflatow@gmail.com>

* Update timelock constructor params in deploy script

* Remove roots for re-deploy

* Modified deployment roots from GitHub Actions

* Optimism-Goerli proposal (#726)

This PR creates the Optimism-Goerli migration script for launching cUSDCv3. This PR also updates the Optimism message-passing bridge relayer logic in our scenarios so we can test token bridging using scenarios.

Proposal 70 created and executed: https://goerli.etherscan.io/tx/0x6defeea621b4778cfab509ea5ed5ce2ed4da78535dc75e787312b78413e88aaf

Execution of proposal on Optimism Goerli: https://goerli-optimism.etherscan.io/tx/0x465b0e6863afeb1640336b6843b4b03ce51a13b01cae51f04638cd4054a41392

---------

Co-authored-by: GitHub Actions Bot <>

---------

Co-authored-by: Jared Flatow <jflatow@gmail.com>
Co-authored-by: kevincheng96 <kevincheng96@hotmail.com>
Co-authored-by: GitHub Actions Bot <>
kevincheng96 added a commit that referenced this pull request Jun 1, 2023
* Optimism Deployment

base configuration.json

add optimism values to etherscan.ts

relations

base relayPolygonMessage

add isBridgeProposal

rename to relayOptimismMessage

add optimismL1CrossDomainMessenger to mainnet/usdc deploy

partial relayOptimismMessage impl

relayOptimismMessage impl cont'd

optimism deploy script

complete relayOptimismMessage impl

bump supply caps

rename iface

applyL1ToL2Alias helper

bridge receiver contract

add crossDomainMessenger arg to constructor in deplooy.ts

add scenario, matchesDeployment helper

reuse CROSS_DOMAIN_MESSENGER

lint

update Github Actions

update asset information

* Incorporate Optimism audit feedback (#699)

update comment in Optimism deploy script

update Bulker path

I for Interface

Optimism deployment misc fixes (#701)

* WETH whale

* add optimismL1CrossDomainManager to roots

* Optimism testnet deployment (#710)

* Optimism testnet deploy

* WIP

* Allow `existing` to merge into a proxy and use for optimism-goerli

* Fix cross-chain scenario by passing in gasLimit from the L1 txn

* Update deploy and bump hardhat

* Fix Optimism scenarios (#721)

* Add logs when executing a bridged proposal

* Add new regex to custom error checker

* Use separate Etherscan API key for optimism

* Add USDC whale for optimism-goerli

* Add revert error message for WETH

* More scenario fixes

* Fix remaining scenario errors

* Add case for optimism-goerli to createCrossChainProposal

* Add optimism etherscan key to forge test job

* Update collateral assets and deploy script

* Update WBTC supply cap decimals

* Deploy Comet to Optimism-Goerli and upload VerifyArgs when deploy fails (#728)

We deploy Comet to Optimism-Goerli and update the roots in this PR. This PR also improves the deploy step by allowing us to recover the `VerifyArgs` if a deploy job fails mid-deploy. This also includes a fix for verifying contracts in Optimism-Goerli.

---------

Co-authored-by: GitHub Actions Bot <>
Co-authored-by: Jared Flatow <jflatow@gmail.com>

* Update timelock constructor params in deploy script

* Remove roots for re-deploy

* Modified deployment roots from GitHub Actions

* Optimism-Goerli proposal (#726)

This PR creates the Optimism-Goerli migration script for launching cUSDCv3. This PR also updates the Optimism message-passing bridge relayer logic in our scenarios so we can test token bridging using scenarios.

Proposal 70 created and executed: https://goerli.etherscan.io/tx/0x6defeea621b4778cfab509ea5ed5ce2ed4da78535dc75e787312b78413e88aaf

Execution of proposal on Optimism Goerli: https://goerli-optimism.etherscan.io/tx/0x465b0e6863afeb1640336b6843b4b03ce51a13b01cae51f04638cd4054a41392

---------

Co-authored-by: GitHub Actions Bot <>

---------

Co-authored-by: Jared Flatow <jflatow@gmail.com>
Co-authored-by: kevincheng96 <kevincheng96@hotmail.com>
Co-authored-by: GitHub Actions Bot <>

* Fix comment

* Support Base Goerli

* Address feedback for Base Goerli

* Remove all codepaths related to Optimism Mainnet

* Add cbETH as collateral asset and set supply caps to 0 for deploy

* Formatting

* Re-order asset configuration because WETH being the first asset breaks the bulker scenario

* Modified deployment roots from GitHub Actions

* Update configuration for pause guardian and supply caps; check diffState in proposal

* Modified migration from GitHub Actions

---------

Co-authored-by: Scott Silver <scott@compound.finance>
Co-authored-by: Jared Flatow <jflatow@gmail.com>
Co-authored-by: GitHub Actions Bot <>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants