packages/contracts-bedrock folder. L2 (Celo) contracts became available with the transition.
1. Prerequisites
- Foundry Installed: Ensure you have Foundry installed and updated (via foundryup).
- JQ Installed: jq cli tool for handling json files is required later.
- API Key: Obtain an Etherscan (or corresponding block explorer) API key.
2. Verify Smart Contracts bytecode
Check that on chain bytecode correspond to compiled bytecode from smart contract release. Smart contract release is: https://github.com/celo-org/optimism/releases/tag/celo-contracts.L1%2Fv1.8.0—1 Clone thecelo-org/optimism repository and checkout release tag
scripts/compare_bytecode.sh with following content:
3. Verify Contract are correctly configured
Preliminary. On a terminal set up RPC and Etherscan variables:3.1 ProxyAdmin is owned by SystemOwnerSafe
3.2 Check SystemConfigProxy is correctly configured
SystemConfigProxy is0x89E31965D844a309231B1f17759Ccaf1b7c09861
3.3 Check SuperChainConfig correctly configured
CeloSuperChainConfig is0xa440975E5A6BB19Bc3Bee901d909BB24b0f43D33
3.4 Bridge Contracts are correctly configured
Bridge Contracts:- L1CrossDomainMessengerProxy
0x1AC1181fc4e4F877963680587AEAa2C90D7EbB95 - L1ERC721BridgeProxy
0x3C519816C5BdC0a0199147594F83feD4F5847f13 - L1StandardBridgeProxy
0x9C4955b92F34148dbcfDCD82e9c9eCe5CF2badfe - OptimismPortalProxy
0xc5c5D157928BDBD2ACf6d0777626b6C75a9EAEDC - OptimismPortal2
0x3Da872782f9fB696fD72Af2ec9313a56bDA6f06d
4 Verify CELO L1 Token is correctly deployed
Start by checking onSystemConfig that customGasToken is enabled and pointing to CELO ERC20