L2L1 optimism sepolia ⇒ eth sepolia:

  1. DeployL1CrossTrade_L2L1 forge script scripts/foundry_scripts/L2L1/DeployL1CrossTrade_L2L1.s.sol:DeployL1CrossTrade_L2L1 --rpc-url <https://ethereum-sepolia-rpc.publicnode.com> --broadcast --chain sepolia

== Logs == Deploying L1CrossTradeProxy... L1CrossTradeProxy deployed at: 0x5697EEc2882286CfEe09c0Bc1a66da1083C78312 Deploying L1CrossTrade logic... L1CrossTrade logic deployed at: 0x692549f23F00Cb3aFe6DB8F29d2A8cbe573387b5 Upgrading proxy to logic... Proxy upgraded successfully

1.2 Verify the L1 contracts:

verify the logic contract:

forge verify-contract 0x692549f23F00Cb3aFe6DB8F29d2A8cbe573387b5 contracts/L1/L1CrossTrade.sol:L1CrossTrade --etherscan-api-key API_KEY --chain sepolia

verify the proxy:

forge verify-contract 0x5697EEc2882286CfEe09c0Bc1a66da1083C78312 contracts/L2/L2CrossTradeProxy.sol:L2CrossTradeProxy --etherscan-api-key API_KEY --chain sepolia

  1. DeployL2CrossTrade_L2L1 deploy the L2:

forge script scripts/foundry_scripts/L2L1/DeployL2CrossTrade_L2L1.s.sol:DeployL2CrossTrade_L2L1 --rpc-url <https://sepolia.optimism.io> --broadcast --chain optimism-sepolia

== Logs == Deploying L2CrossTradeProxy... L2CrossTradeProxy deployed at: 0x49169e9Dcb703a31ECd3E994494E3Bc228AAD8c7 Deploying L2CrossTrade logic... L2CrossTrade logic deployed at: 0x227968FE3357b462f4C12022772694C096f76868 Upgrading proxy to logic... Proxy upgraded successfully Initializing proxy... Proxy initialized with crossDomainMessenger: 0x4200000000000000000000000000000000000007

2.1 Verify the contracts.

verify the logic contract: forge verify-contract 0x227968FE3357b462f4C12022772694C096f76868 contracts/L2/L2CrossTrade.sol:L2CrossTrade --etherscan-api-key API_KEY --chain optimism-sepolia

verify the proxy:

forge verify-contract 0x49169e9Dcb703a31ECd3E994494E3Bc228AAD8c7 contracts/L2/L2CrossTradeProxy.sol:L2CrossTradeProxy --etherscan-api-key API_KEY --chain optimism-sepolia

  1. SetChainInfoL1_L2L1 ( let L1 know about L2):