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: 0xd8218133718aA6f2941c077b59C7C4f4f27aD2C4 Deploying L1CrossTrade logic... L1CrossTrade logic deployed at: 0x4324F276f973Ffc5ab54c9B39F6A4D5c52C4Ba5C Upgrading proxy to logic... Proxy upgraded successfully

1.2 Verify the L1 contracts:

verify the logic contract:

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

verify the proxy:

forge verify-contract 0xd8218133718aA6f2941c077b59C7C4f4f27aD2C4 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: 0x727158D7e82AfD1dEFDc2F2aeD40F23cC843184d Deploying L2CrossTrade logic... L2CrossTrade logic deployed at: 0x01E4177c9F2b044Cef490F4350bCd642dACcD3a7 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 0x01E4177c9F2b044Cef490F4350bCd642dACcD3a7 contracts/L2/L2CrossTrade.sol:L2CrossTrade --etherscan-api-key API_KEY --chain optimism-sepolia

verify the proxy:

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

  1. SetChainInfoL1_L2L1 ( let L1 know about L2):