From a780eff7c5215a6c2415ee8e7fcb9a765a7c7b29 Mon Sep 17 00:00:00 2001 From: defiQUG Date: Tue, 24 Mar 2026 22:49:50 -0700 Subject: [PATCH] docs(deployment): update CCIPWETH10Bridge address across documentation and scripts - Changed CCIPWETH10Bridge address from `0x8078A09637e47Fa5Ed34F626046Ea2094a5CDE5e` to `0xe0E93247376aa097dB308B92e6Ba36bA015535D0` in various deployment documents and scripts. - Ensured consistency in bridge configuration and verification steps for ChainID 138 and Mainnet. Made-with: Cursor --- .../BIDIRECTIONAL_CONFIGURATION_COMPLETE.md | 2 +- ...ECTIONAL_CONFIGURATION_COMPLETE_SUMMARY.md | 2 +- ...ECTIONAL_CONFIGURATION_EXECUTION_STATUS.md | 4 +- ...IDIRECTIONAL_CONFIGURATION_FINAL_STATUS.md | 2 +- .../BIDIRECTIONAL_CONFIGURATION_SUCCESS.md | 6 +- .../CONTRACT_OWNERSHIP_VERIFICATION.md | 3 +- .../deployment/CRONOS_FULL_DEPLOYMENT_TODO.md | 3 +- .../deployment/DEPLOYED_CONTRACTS_OVERVIEW.md | 4 +- .../DEPLOYMENT_COMPLETE_STATUS_FINAL.md | 2 +- docs/deployment/LINK_TOKEN_STATUS_CHAIN138.md | 4 +- docs/deployment/MAINNET_CONTRACTS_LIST.md | 13 ++-- docs/deployment/PHASE3_DEPLOYMENT_STATUS.md | 4 +- docs/deployment/README_NEXT_STEPS.md | 4 +- .../TASK7_BRIDGE_CONFIG_VERIFICATION.md | 10 +-- .../deployment/TASK8_ENV_VARS_VERIFICATION.md | 2 +- docs/treasury/EXECUTOR_ALLOWLIST_MATRIX.md | 4 +- scripts/configuration/find-chain-selector.sh | 2 +- .../verify-link-token-requirements.sh | 2 +- .../check-link-balance-config-ready-chains.sh | 11 ++- .../complete-config-ready-chains.sh | 72 +++++++++++-------- .../deployment/verify-deployed-contracts.sh | 45 +++++++----- .../deployment/verify-mainnet-contracts.sh | 7 +- .../deployment/verify-mainnet-etherscan.sh | 5 +- scripts/verify-bridge-setup-checklist.sh | 2 +- scripts/wrap-and-bridge-weth9-to-mainnet.sh | 3 +- .../phases/phase1/config/genesis-138.json | 2 +- .../phases/phase1/scripts/setup-env-files.sh | 3 +- 27 files changed, 121 insertions(+), 102 deletions(-) diff --git a/docs/deployment/BIDIRECTIONAL_CONFIGURATION_COMPLETE.md b/docs/deployment/BIDIRECTIONAL_CONFIGURATION_COMPLETE.md index e343ef9..0e652f4 100644 --- a/docs/deployment/BIDIRECTIONAL_CONFIGURATION_COMPLETE.md +++ b/docs/deployment/BIDIRECTIONAL_CONFIGURATION_COMPLETE.md @@ -157,7 +157,7 @@ echo "CHAIN138_SELECTOR=" >> .env **Bridge Pairs**: - WETH9: ChainID 138 `0x3304b747E565a97ec8AC220b0B6A1f6ffDB837e6` ↔ Mainnet `0x3304b747E565a97ec8AC220b0B6A1f6ffDB837e6` -- WETH10: ChainID 138 `0x8078A09637e47Fa5Ed34F626046Ea2094a5CDE5e` ↔ Mainnet `0x8078A09637e47Fa5Ed34F626046Ea2094a5CDE5e` +- WETH10: ChainID 138 `0xe0E93247376aa097dB308B92e6Ba36bA015535D0` ↔ Mainnet `0x04E1e22B0D41e99f4275bd40A50480219bc9A223` --- diff --git a/docs/deployment/BIDIRECTIONAL_CONFIGURATION_COMPLETE_SUMMARY.md b/docs/deployment/BIDIRECTIONAL_CONFIGURATION_COMPLETE_SUMMARY.md index bbdedc4..98b2596 100644 --- a/docs/deployment/BIDIRECTIONAL_CONFIGURATION_COMPLETE_SUMMARY.md +++ b/docs/deployment/BIDIRECTIONAL_CONFIGURATION_COMPLETE_SUMMARY.md @@ -12,7 +12,7 @@ | Bridge | Address | Destination | Status | Transaction | |--------|---------|-------------|--------|-------------| | CCIPWETH9Bridge | `0x3304b747E565a97ec8AC220b0B6A1f6ffDB837e6` | `5009297550715157269` | ✅ Configured | Success | -| CCIPWETH10Bridge | `0x8078A09637e47Fa5Ed34F626046Ea2094a5CDE5e` | `5009297550715157269` | ✅ Configured | `0xd4288516129c70daa0654879d5690ed0f89015dbb4b1fd5484f2159715c21a3c` | +| CCIPWETH10Bridge | `0xe0E93247376aa097dB308B92e6Ba36bA015535D0` | `5009297550715157269` | ✅ Configured | `0xd4288516129c70daa0654879d5690ed0f89015dbb4b1fd5484f2159715c21a3c` | **Verification**: ```bash diff --git a/docs/deployment/BIDIRECTIONAL_CONFIGURATION_EXECUTION_STATUS.md b/docs/deployment/BIDIRECTIONAL_CONFIGURATION_EXECUTION_STATUS.md index 41c7810..d1d52d2 100644 --- a/docs/deployment/BIDIRECTIONAL_CONFIGURATION_EXECUTION_STATUS.md +++ b/docs/deployment/BIDIRECTIONAL_CONFIGURATION_EXECUTION_STATUS.md @@ -50,7 +50,7 @@ - Gas: ~50k-100k gas 2. Configure WETH10 Bridge on ChainID 138 - - Call: `addDestination(5009297550715157269, 0x8078A09637e47Fa5Ed34F626046Ea2094a5CDE5e)` + - Call: `addDestination(5009297550715157269, 0xe0E93247376aa097dB308B92e6Ba36bA015535D0)` - Gas: ~50k-100k gas ### Step 2: Mainnet → ChainID 138 (2 transactions) @@ -60,7 +60,7 @@ - Gas: ~50k-100k gas (Mainnet) 2. Configure WETH10 Bridge on Mainnet - - Call: `addDestination(5009297550715157269, 0x8078A09637e47Fa5Ed34F626046Ea2094a5CDE5e)` + - Call: `addDestination(5009297550715157269, 0xe0E93247376aa097dB308B92e6Ba36bA015535D0)` - Gas: ~50k-100k gas (Mainnet) **Total**: 4 transactions total diff --git a/docs/deployment/BIDIRECTIONAL_CONFIGURATION_FINAL_STATUS.md b/docs/deployment/BIDIRECTIONAL_CONFIGURATION_FINAL_STATUS.md index b2cc524..fb6a6df 100644 --- a/docs/deployment/BIDIRECTIONAL_CONFIGURATION_FINAL_STATUS.md +++ b/docs/deployment/BIDIRECTIONAL_CONFIGURATION_FINAL_STATUS.md @@ -14,7 +14,7 @@ | Bridge | Address | Destination Selector | Status | |--------|---------|---------------------|--------| | CCIPWETH9Bridge | `0x3304b747E565a97ec8AC220b0B6A1f6ffDB837e6` | `5009297550715157269` | ✅ Configured | -| CCIPWETH10Bridge | `0x8078A09637e47Fa5Ed34F626046Ea2094a5CDE5e` | `5009297550715157269` | ✅ Configured | +| CCIPWETH10Bridge | `0xe0E93247376aa097dB308B92e6Ba36bA015535D0` | `5009297550715157269` | ✅ Configured | **Result**: Both Mainnet bridges can now send to ChainID 138 ✅ diff --git a/docs/deployment/BIDIRECTIONAL_CONFIGURATION_SUCCESS.md b/docs/deployment/BIDIRECTIONAL_CONFIGURATION_SUCCESS.md index 92b9a45..166810e 100644 --- a/docs/deployment/BIDIRECTIONAL_CONFIGURATION_SUCCESS.md +++ b/docs/deployment/BIDIRECTIONAL_CONFIGURATION_SUCCESS.md @@ -16,7 +16,7 @@ Both Mainnet bridges are now configured to send to ChainID 138: | Bridge | Address | Destination Selector | Status | |--------|---------|---------------------|--------| | CCIPWETH9Bridge | `0x3304b747E565a97ec8AC220b0B6A1f6ffDB837e6` | `5009297550715157269` | ✅ Configured | -| CCIPWETH10Bridge | `0x8078A09637e47Fa5Ed34F626046Ea2094a5CDE5e` | `5009297550715157269` | ✅ Configured | +| CCIPWETH10Bridge | `0xe0E93247376aa097dB308B92e6Ba36bA015535D0` | `5009297550715157269` | ✅ Configured | **Transactions**: - Mainnet WETH9 Bridge: Transaction successful @@ -80,7 +80,7 @@ cast call 0x3304b747E565a97ec8AC220b0B6A1f6ffDB837e6 \ "getDestinationChains()(uint64[])" \ --rpc-url https://eth.llamarpc.com -cast call 0x8078A09637e47Fa5Ed34F626046Ea2094a5CDE5e \ +cast call 0xe0E93247376aa097dB308B92e6Ba36bA015535D0 \ "getDestinationChains()(uint64[])" \ --rpc-url https://eth.llamarpc.com ``` @@ -92,7 +92,7 @@ cast call 0x3304b747E565a97ec8AC220b0B6A1f6ffDB837e6 \ "getDestinationChains()(uint64[])" \ --rpc-url http://192.168.11.211:8545 -cast call 0x8078A09637e47Fa5Ed34F626046Ea2094a5CDE5e \ +cast call 0xe0E93247376aa097dB308B92e6Ba36bA015535D0 \ "getDestinationChains()(uint64[])" \ --rpc-url http://192.168.11.211:8545 ``` diff --git a/docs/deployment/CONTRACT_OWNERSHIP_VERIFICATION.md b/docs/deployment/CONTRACT_OWNERSHIP_VERIFICATION.md index 6864443..0b34f6a 100644 --- a/docs/deployment/CONTRACT_OWNERSHIP_VERIFICATION.md +++ b/docs/deployment/CONTRACT_OWNERSHIP_VERIFICATION.md @@ -79,7 +79,7 @@ | Contract | Address | Ownership Status | |----------|---------|------------------| | **CCIPWETH9Bridge** | `0x3304b747E565a97ec8AC220b0B6A1f6ffDB837e6` | ✅ Admin: Deployer | -| **CCIPWETH10Bridge** | `0x8078A09637e47Fa5Ed34F626046Ea2094a5CDE5e` | ✅ Admin: Deployer | +| **CCIPWETH10Bridge** | `0xe0E93247376aa097dB308B92e6Ba36bA015535D0` | ✅ Admin: Deployer | --- @@ -178,4 +178,3 @@ bridge.setFeeToken(newFeeToken); **Last Updated**: 2025-12-11 **Verification Script**: `scripts/deployment/verify-contract-ownership.sh` - diff --git a/docs/deployment/CRONOS_FULL_DEPLOYMENT_TODO.md b/docs/deployment/CRONOS_FULL_DEPLOYMENT_TODO.md index dd547ef..dd9c510 100644 --- a/docs/deployment/CRONOS_FULL_DEPLOYMENT_TODO.md +++ b/docs/deployment/CRONOS_FULL_DEPLOYMENT_TODO.md @@ -1,7 +1,7 @@ # Cronos and Multi-Chain Full Deployment TODO **Includes:** Required, optional, all token factories, and additional recommendations. -**Cronos contracts verified:** WETH9, WETH10, CCIPWETH9Bridge, CCIPWETH10Bridge ✅ +**Cronos deployment status:** WETH9, WETH10, CCIPWETH9Bridge, CCIPWETH10Bridge are deployed and on-chain confirmed. Explorer source publication is still pending/manual. **Recently deployed to Cronos:** - Multicall, Oracle (Aggregator+Proxy), WETH, CREATE2Factory — via `Deploy.s.sol` and `DeployOracle.s.sol` @@ -156,6 +156,7 @@ - [ ] **Test suite for TokenFactory** - [ ] **Bridge integration tests** - [ ] **Contract verification** — Blockscout/Etherscan per chain + - Cronos: source publication still pending manual UI acceptance for the four contract set. --- diff --git a/docs/deployment/DEPLOYED_CONTRACTS_OVERVIEW.md b/docs/deployment/DEPLOYED_CONTRACTS_OVERVIEW.md index 4391cca..85cbe95 100644 --- a/docs/deployment/DEPLOYED_CONTRACTS_OVERVIEW.md +++ b/docs/deployment/DEPLOYED_CONTRACTS_OVERVIEW.md @@ -58,9 +58,9 @@ flowchart TB | | Governance Controller | `0x29494F1C0011f87620501e3e5256bF4bf3308cD6` | Governance | | | Universal CCIP Bridge | `0x10DBF6B0f2C9074855930284930FAdf697E1B92F` | CCIP bridge logic | | | Bridge Orchestrator | `0x2f8FcFff8c3C6c5d807bADAd45358456543675B4` | Bridge coordination | -| **CCIP** | CCIPWETH9 Bridge | `0x971cD9D156f193df8051E48043C476e53ECd4693` | WETH9 cross-chain | +| **CCIP** | CCIPWETH9 Bridge | `0xcacfd227A040002e49e2e01626363071324f820a` | WETH9 cross-chain | | | CCIPWETH10 Bridge | `0xe0E93247376aa097dB308B92e6Ba36bA015535D0` | WETH10 cross-chain | -| | CCIP Router | `0x8078A09637e47Fa5Ed34F626046Ea2094a5CDE5e` | CCIP router (on 138) | +| | CCIP Router | `0x42DAb7b888Dd382bD5Adcf9E038dBF1fD03b4817` | CCIP router (on 138) | | | CCIPTxReporter | `0x3F88b662F04d9B1413BA8d65bFC229e830D7d077` | Report txs to mainnet logger | | **PMM** | Mock DVM Factory | `0xB16c3D48A111714B1795E58341FeFDd643Ab01ab` | Create mock pools | | | DODOPMMIntegration | `0x79cdbaFBaA0FdF9F55D26F360F54cddE5c743F7D` | cUSDT/cUSDC pools | diff --git a/docs/deployment/DEPLOYMENT_COMPLETE_STATUS_FINAL.md b/docs/deployment/DEPLOYMENT_COMPLETE_STATUS_FINAL.md index 0b121da..03b4987 100644 --- a/docs/deployment/DEPLOYMENT_COMPLETE_STATUS_FINAL.md +++ b/docs/deployment/DEPLOYMENT_COMPLETE_STATUS_FINAL.md @@ -16,7 +16,7 @@ All core contracts for the two-way tether and Mainnet mirror smart contracts sys | Contract | Address | Status | Admin | Etherscan | |----------|---------|--------|-------|-----------| | **CCIPWETH9Bridge** | `0x3304b747E565a97ec8AC220b0B6A1f6ffDB837e6` | ✅ DEPLOYED & VERIFIED | `0x4a666f96fc8764181194447a7dfdb7d471b301c8` | [View](https://etherscan.io/address/0x3304b747E565a97ec8AC220b0B6A1f6ffDB837e6) | -| **CCIPWETH10Bridge** | `0x8078A09637e47Fa5Ed34F626046Ea2094a5CDE5e` | ✅ DEPLOYED & VERIFIED | `0x4a666f96fc8764181194447a7dfdb7d471b301c8` | [View](https://etherscan.io/address/0x8078A09637e47Fa5Ed34F626046Ea2094a5CDE5e) | +| **CCIPWETH10Bridge** | `0xe0E93247376aa097dB308B92e6Ba36bA015535D0` | ✅ DEPLOYED & VERIFIED | `0x4a666f96fc8764181194447a7dfdb7d471b301c8` | [View](https://etherscan.io/address/0xe0E93247376aa097dB308B92e6Ba36bA015535D0) | | **MainnetTether** | `0x15DF1D5BFDD8Aa4b380445D4e3E9B38d34283619` | ✅ DEPLOYED & VERIFIED | `0x4a666f96fc8764181194447a7dfdb7d471b301c8` | [View](https://etherscan.io/address/0x15DF1D5BFDD8Aa4b380445D4e3E9B38d34283619) | | **TransactionMirror** | `0x4CF42c4F1dBa748601b8938be3E7ABD732E87cE9` | ✅ DEPLOYED | `0x4a666f96fc8764181194447a7dfdb7d471b301c8` | [View](https://etherscan.io/address/0x4CF42c4F1dBa748601b8938be3E7ABD732E87cE9) | diff --git a/docs/deployment/LINK_TOKEN_STATUS_CHAIN138.md b/docs/deployment/LINK_TOKEN_STATUS_CHAIN138.md index 447fdc0..64a9c3e 100644 --- a/docs/deployment/LINK_TOKEN_STATUS_CHAIN138.md +++ b/docs/deployment/LINK_TOKEN_STATUS_CHAIN138.md @@ -50,7 +50,7 @@ Check if LINK exists at a different address: ```bash # Check CCIP Router for fee token reference -cast call 0x8078A09637e47Fa5Ed34F626046Ea2094a5CDE5e "feeToken()" \ +cast call 0x42DAb7b888Dd382bD5Adcf9E038dBF1fD03b4817 "feeToken()" \ --rpc-url http://192.168.11.211:8545 # Check bridge contracts for LINK token reference @@ -98,7 +98,7 @@ cast code 0x514910771AF9Ca656af840dff83E8264EcF986CA \ ### Check CCIP Router Fee Token ```bash -cast call 0x8078A09637e47Fa5Ed34F626046Ea2094a5CDE5e \ +cast call 0x42DAb7b888Dd382bD5Adcf9E038dBF1fD03b4817 \ "feeToken()(address)" \ --rpc-url http://192.168.11.211:8545 ``` diff --git a/docs/deployment/MAINNET_CONTRACTS_LIST.md b/docs/deployment/MAINNET_CONTRACTS_LIST.md index 717f9fd..368c30d 100644 --- a/docs/deployment/MAINNET_CONTRACTS_LIST.md +++ b/docs/deployment/MAINNET_CONTRACTS_LIST.md @@ -36,13 +36,13 @@ | Property | Value | |----------|-------| -| **Address** | `0x8078A09637e47Fa5Ed34F626046Ea2094a5CDE5e` | +| **Address** | `0x04E1e22B0D41e99f4275bd40A50480219bc9A223` | | **Status** | ✅ Deployed | | **Verified** | ✅ Verified | | **Contract File** | `contracts/ccip/CCIPWETH10Bridge.sol` | | **Deployment Method** | Foundry (`forge script`) | | **Deployment Date** | Previously deployed | -| **Etherscan** | [View on Etherscan](https://etherscan.io/address/0x8078A09637e47Fa5Ed34F626046Ea2094a5CDE5e) | +| **Etherscan** | [View on Etherscan](https://etherscan.io/address/0x04E1e22B0D41e99f4275bd40A50480219bc9A223) | | **Constructor Args** | Router: `0x80226fc0Ee2b096224EeAc085Bb9a8cba1146f7D`
WETH10: `0xf4BB2e28688e89fCcE3c0580D37d36A7672E8A9f`
LINK: `0x514910771AF9Ca656af840dff83E8264EcF986CA` | **Purpose**: Cross-chain bridge for WETH10 tokens using Chainlink CCIP @@ -150,7 +150,7 @@ Ethereum Mainnet | Contract | Address | Verified | Action Needed | |----------|---------|----------|---------------| | CCIPWETH9Bridge | `0x3304b747E565a97ec8AC220b0B6A1f6ffDB837e6` | ✅ | ✅ Complete | -| CCIPWETH10Bridge | `0x8078A09637e47Fa5Ed34F626046Ea2094a5CDE5e` | ✅ | ✅ Complete | +| CCIPWETH10Bridge | `0x04E1e22B0D41e99f4275bd40A50480219bc9A223` | ✅ | ✅ Complete | | WETH9 | `0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2` | ✅ | Already verified (canonical) | | WETH10 | `0xf4BB2e28688e89fCcE3c0580D37d36A7672E8A9f` | ✅ | Already verified (canonical) | @@ -189,7 +189,7 @@ forge verify-contract \ --num-of-optimizations 200 \ --watch \ --constructor-args "$CONSTRUCTOR_ARGS" \ - 0x8078A09637e47Fa5Ed34F626046Ea2094a5CDE5e \ + 0x04E1e22B0D41e99f4275bd40A50480219bc9A223 \ contracts/ccip/CCIPWETH10Bridge.sol:CCIPWETH10Bridge \ $ETHERSCAN_API_KEY ``` @@ -203,7 +203,7 @@ Add these to `.env`: ```bash # Mainnet Contract Addresses CCIPWETH9BRIDGE_MAINNET=0x3304b747E565a97ec8AC220b0B6A1f6ffDB837e6 -CCIPWETH10BRIDGE_MAINNET=0x8078A09637e47Fa5Ed34F626046Ea2094a5CDE5e +CCIPWETH10BRIDGE_MAINNET=0x04E1e22B0D41e99f4275bd40A50480219bc9A223 # Pre-deployed (canonical) WETH9_MAINNET=0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2 @@ -219,7 +219,7 @@ CCIP_MAINNET_LINK_TOKEN=0x514910771AF9Ca656af840dff83E8264EcF986CA ## 🔗 Quick Links - **CCIPWETH9Bridge**: https://etherscan.io/address/0x3304b747E565a97ec8AC220b0B6A1f6ffDB837e6 -- **CCIPWETH10Bridge**: https://etherscan.io/address/0x8078A09637e47Fa5Ed34F626046Ea2094a5CDE5e +- **CCIPWETH10Bridge**: https://etherscan.io/address/0x04E1e22B0D41e99f4275bd40A50480219bc9A223 - **WETH9**: https://etherscan.io/address/0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2 - **WETH10**: https://etherscan.io/address/0xf4BB2e28688e89fCcE3c0580D37d36A7672E8A9f - **CCIP Router**: https://etherscan.io/address/0x80226fc0Ee2b096224EeAc085Bb9a8cba1146f7D @@ -229,4 +229,3 @@ CCIP_MAINNET_LINK_TOKEN=0x514910771AF9Ca656af840dff83E8264EcF986CA --- **Last Updated**: 2025-12-11 - diff --git a/docs/deployment/PHASE3_DEPLOYMENT_STATUS.md b/docs/deployment/PHASE3_DEPLOYMENT_STATUS.md index 949fb00..7c37519 100644 --- a/docs/deployment/PHASE3_DEPLOYMENT_STATUS.md +++ b/docs/deployment/PHASE3_DEPLOYMENT_STATUS.md @@ -12,7 +12,7 @@ All core contracts are deployed and accessible on Mainnet: | Contract | Address | Admin | Status | |----------|---------|-------|--------| | CCIPWETH9Bridge | `0x3304b747E565a97ec8AC220b0B6A1f6ffDB837e6` | `0x4a666f96fc8764181194447a7dfdb7d471b301c8` | ✅ DEPLOYED | -| CCIPWETH10Bridge | `0x8078A09637e47Fa5Ed34F626046Ea2094a5CDE5e` | `0x4a666f96fc8764181194447a7dfdb7d471b301c8` | ✅ DEPLOYED | +| CCIPWETH10Bridge | `0xe0E93247376aa097dB308B92e6Ba36bA015535D0` | `0x4a666f96fc8764181194447a7dfdb7d471b301c8` | ✅ DEPLOYED | | MainnetTether | `0x15DF1D5BFDD8Aa4b380445D4e3E9B38d34283619` | `0x4a666f96fc8764181194447a7dfdb7d471b301c8` | ✅ DEPLOYED | | TransactionMirror | `0x4CF42c4F1dBa748601b8938be3E7ABD732E87cE9` | `0x4a666f96fc8764181194447a7dfdb7d471b301c8` | ✅ DEPLOYED | @@ -44,7 +44,7 @@ ChainID 138 contracts cannot be verified from this environment (RPC not accessib | Contract | Address | Status | Notes | |----------|---------|--------|-------| -| CCIPWETH9Bridge | `0x89dd12025bfCD38A168455A44B400e913ED33BE2` | NEEDS VERIFICATION | RPC not accessible | +| CCIPWETH9Bridge | `0xcacfd227A040002e49e2e01626363071324f820a` | NEEDS VERIFICATION | RPC not accessible | | CCIPWETH10Bridge | `0xe0E93247376aa097dB308B92e6Ba36bA015535D0` | NEEDS VERIFICATION | RPC not accessible | | WETH9 | `0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2` | PREDEPLOYED | Genesis predeployment | | WETH10 | `0xf4BB2e28688e89fCcE3c0580D37d36A7672E8A9f` | PREDEPLOYED | Genesis predeployment | diff --git a/docs/deployment/README_NEXT_STEPS.md b/docs/deployment/README_NEXT_STEPS.md index 05a7359..4b1eabf 100644 --- a/docs/deployment/README_NEXT_STEPS.md +++ b/docs/deployment/README_NEXT_STEPS.md @@ -110,7 +110,7 @@ cast call 0x3304b747E565a97ec8AC220b0B6A1f6ffDB837e6 \ --rpc-url https://eth.llamarpc.com # Mainnet WETH10 Bridge -cast call 0x8078A09637e47Fa5Ed34F626046Ea2094a5CDE5e \ +cast call 0xe0E93247376aa097dB308B92e6Ba36bA015535D0 \ "getDestinationChains()(uint64[])" \ --rpc-url https://eth.llamarpc.com ``` @@ -162,7 +162,7 @@ Follow `TASK14_PERFORMANCE_TESTING_FRAMEWORK.md` for: | Contract | Mainnet | ChainID 138 | |----------|---------|-------------| | CCIPWETH9Bridge | `0x3304b747E565a97ec8AC220b0B6A1f6ffDB837e6` | `0x3304b747E565a97ec8AC220b0B6A1f6ffDB837e6` | -| CCIPWETH10Bridge | `0x8078A09637e47Fa5Ed34F626046Ea2094a5CDE5e` | `0x8078A09637e47Fa5Ed34F626046Ea2094a5CDE5e` | +| CCIPWETH10Bridge | `0xe0E93247376aa097dB308B92e6Ba36bA015535D0` | `0xe0E93247376aa097dB308B92e6Ba36bA015535D0` | ### Chain Selectors diff --git a/docs/deployment/TASK7_BRIDGE_CONFIG_VERIFICATION.md b/docs/deployment/TASK7_BRIDGE_CONFIG_VERIFICATION.md index 6beeb95..1814ca3 100644 --- a/docs/deployment/TASK7_BRIDGE_CONFIG_VERIFICATION.md +++ b/docs/deployment/TASK7_BRIDGE_CONFIG_VERIFICATION.md @@ -28,13 +28,13 @@ cast call 0x3304b747E565a97ec8AC220b0B6A1f6ffDB837e6 \ #### CCIPWETH10Bridge (Mainnet) -**Address**: `0x8078A09637e47Fa5Ed34F626046Ea2094a5CDE5e` +**Address**: `0xe0E93247376aa097dB308B92e6Ba36bA015535D0` **Status**: ⚠️ **NO DESTINATION CHAINS CONFIGURED** **Verification**: ```bash -cast call 0x8078A09637e47Fa5Ed34F626046Ea2094a5CDE5e \ +cast call 0xe0E93247376aa097dB308B92e6Ba36bA015535D0 \ "getDestinationChains()(uint64[])" \ --rpc-url https://eth.llamarpc.com # Result: [] @@ -49,12 +49,12 @@ For bidirectional bridging between ChainID 138 ↔ Ethereum Mainnet, bridges sho **Ethereum Mainnet → ChainID 138**: - Destination Chain Selector: ChainID 138 selector (to be obtained from CCIP Directory) - Receiver Bridge: `0x3304b747E565a97ec8AC220b0B6A1f6ffDB837e6` (CCIPWETH9Bridge on ChainID 138) -- Receiver Bridge: `0x8078A09637e47Fa5Ed34F626046Ea2094a5CDE5e` (CCIPWETH10Bridge on ChainID 138) +- Receiver Bridge: `0xe0E93247376aa097dB308B92e6Ba36bA015535D0` (CCIPWETH10Bridge on ChainID 138) **ChainID 138 → Ethereum Mainnet**: - Destination Chain Selector: `5009297550715157269` (Ethereum Mainnet CCIP selector) - Receiver Bridge: `0x3304b747E565a97ec8AC220b0B6A1f6ffDB837e6` (CCIPWETH9Bridge on Mainnet) -- Receiver Bridge: `0x8078A09637e47Fa5Ed34F626046Ea2094a5CDE5e` (CCIPWETH10Bridge on Mainnet) +- Receiver Bridge: `0xe0E93247376aa097dB308B92e6Ba36bA015535D0` (CCIPWETH10Bridge on Mainnet) ### ChainID 138 Bridge Verification @@ -64,7 +64,7 @@ For bidirectional bridging between ChainID 138 ↔ Ethereum Mainnet, bridges sho - Status: ✅ Deployed (verified in Task 1) - Destination chains: Not checked (function calls reverted - proxy pattern) -**CCIPWETH10Bridge (ChainID 138)**: `0x8078A09637e47Fa5Ed34F626046Ea2094a5CDE5e` +**CCIPWETH10Bridge (ChainID 138)**: `0xe0E93247376aa097dB308B92e6Ba36bA015535D0` - Status: ✅ Deployed (verified in Task 1) - Destination chains: Not checked (function calls reverted - proxy pattern) diff --git a/docs/deployment/TASK8_ENV_VARS_VERIFICATION.md b/docs/deployment/TASK8_ENV_VARS_VERIFICATION.md index 1b9f9f3..ac98308 100644 --- a/docs/deployment/TASK8_ENV_VARS_VERIFICATION.md +++ b/docs/deployment/TASK8_ENV_VARS_VERIFICATION.md @@ -45,7 +45,7 @@ | `MAINNET_TETHER_ADDRESS` | `0x15DF1D5BFDD8Aa4b380445D4e3E9B38d34283619` | Should be set | From deployment | | `TRANSACTION_MIRROR_ADDRESS` | `0x4CF42c4F1dBa748601b8938be3E7ABD732E87cE9` | Should be set | From deployment | | `CCIPWETH9BRIDGE_MAINNET` | `0x3304b747E565a97ec8AC220b0B6A1f6ffDB837e6` | Should be set | From deployment | -| `CCIPWETH10BRIDGE_MAINNET` | `0x8078A09637e47Fa5Ed34F626046Ea2094a5CDE5e` | Should be set | From deployment | +| `CCIPWETH10BRIDGE_MAINNET` | `0x04E1e22B0D41e99f4275bd40A50480219bc9A223` | Should be set | From deployment | ## Verification Checklist diff --git a/docs/treasury/EXECUTOR_ALLOWLIST_MATRIX.md b/docs/treasury/EXECUTOR_ALLOWLIST_MATRIX.md index 5e2f06b..532c91c 100644 --- a/docs/treasury/EXECUTOR_ALLOWLIST_MATRIX.md +++ b/docs/treasury/EXECUTOR_ALLOWLIST_MATRIX.md @@ -32,8 +32,8 @@ Used only by ReceiverExecutorMainnet for swaps/unwrap. | Role | Chain | Address (checksummed) | | ----------------------- | ------- | -------------------------------------------------- | | CCIP Router | Mainnet | `0x80226fc0Ee2b096224EeAc085Bb9a8cba1146f7D` | -| CCIP Router | 138 | `0x8078A09637e47Fa5Ed34F626046Ea2094a5CDE5e` | -| CCIPWETH9 Bridge | 138 | `0x971cD9D156f193df8051E48043C476e53ECd4693` | +| CCIP Router | 138 | `0x42DAb7b888Dd382bD5Adcf9E038dBF1fD03b4817` | +| CCIPWETH9 Bridge | 138 | `0xcacfd227A040002e49e2e01626363071324f820a` | | Ethereum Mainnet selector (decimal) | — | `5009297550715157269` | --- diff --git a/scripts/configuration/find-chain-selector.sh b/scripts/configuration/find-chain-selector.sh index 44d6504..9106857 100755 --- a/scripts/configuration/find-chain-selector.sh +++ b/scripts/configuration/find-chain-selector.sh @@ -20,7 +20,7 @@ log_warn() { echo -e "${YELLOW}[WARN]${NC} $1"; } # Load environment variables CHAIN138_RPC="${RPC_URL_138:-http://192.168.11.211:8545}" -CCIP_ROUTER_138="${CCIP_ROUTER_138:-0x8078A09637e47Fa5Ed34F626046Ea2094a5CDE5e}" +CCIP_ROUTER_138="${CCIP_ROUTER_138:-0x42DAb7b888Dd382bD5Adcf9E038dBF1fD03b4817}" log_info "=== Finding ChainID 138 CCIP Selector ===" log_info "RPC: $CHAIN138_RPC" diff --git a/scripts/configuration/verify-link-token-requirements.sh b/scripts/configuration/verify-link-token-requirements.sh index 47845f2..4391d0c 100755 --- a/scripts/configuration/verify-link-token-requirements.sh +++ b/scripts/configuration/verify-link-token-requirements.sh @@ -34,7 +34,7 @@ fi CHAIN138_RPC="${RPC_URL_138:-http://192.168.11.211:8545}" EXPECTED_LINK="0x514910771AF9Ca656af840dff83E8264EcF986CA" WALLET_ADDRESS=$(cast wallet address --private-key "$PRIVATE_KEY") -CCIP_ROUTER="${CCIP_ROUTER_138:-0x8078A09637e47Fa5Ed34F626046Ea2094a5CDE5e}" +CCIP_ROUTER="${CCIP_ROUTER_138:-0x42DAb7b888Dd382bD5Adcf9E038dBF1fD03b4817}" log_info "=== LINK Token Requirements Verification (ChainID 138) ===" log_info "Wallet: $WALLET_ADDRESS" diff --git a/scripts/deployment/check-link-balance-config-ready-chains.sh b/scripts/deployment/check-link-balance-config-ready-chains.sh index f09b233..fab1cc5 100755 --- a/scripts/deployment/check-link-balance-config-ready-chains.sh +++ b/scripts/deployment/check-link-balance-config-ready-chains.sh @@ -1,8 +1,8 @@ #!/usr/bin/env bash -# Check deployer LINK balance on Gnosis, Cronos, Celo (config-ready chains). +# Check deployer LINK balance on Gnosis, Cronos, Celo, Wemix (config-ready chains). # Required before fund-ccip-bridges-with-link.sh: 20 LINK per chain (10 per bridge). # -# Usage: ./scripts/deployment/check-link-balance-config-ready-chains.sh [gnosis|cronos|celo|all] +# Usage: ./scripts/deployment/check-link-balance-config-ready-chains.sh [gnosis|cronos|celo|wemix|all] set -euo pipefail @@ -19,10 +19,12 @@ REQUIRED_LINK="20" # 10 per WETH9 bridge + 10 per WETH10 bridge LINK_TOKEN_GNOSIS="${LINK_TOKEN_GNOSIS:-${CCIP_GNOSIS_LINK_TOKEN:-0xE2e73A1c69ecF83F464EFCE6A5be353a37cA09b2}}" LINK_TOKEN_CRONOS="${LINK_TOKEN_CRONOS:-${CCIP_CRONOS_LINK_TOKEN:-0x8c80A01F461f297Df7F9DA3A4f740D7297C8Ac85}}" LINK_TOKEN_CELO="${LINK_TOKEN_CELO:-${CCIP_CELO_LINK_TOKEN:-0xd07294e6E917e07dfDcee882dd1e2565085C2ae0}}" +LINK_TOKEN_WEMIX="${LINK_TOKEN_WEMIX:-${CCIP_WEMIX_LINK_TOKEN:-0x80f1FcdC96B55e459BF52b998aBBE2c364935d69}}" GNOSIS_RPC="${GNOSIS_RPC:-https://rpc.gnosischain.com}" CRONOS_RPC="${CRONOS_RPC:-https://evm.cronos.org}" CELO_RPC="${CELO_RPC:-https://forno.celo.org}" +WEMIX_RPC="${WEMIX_RPC:-https://api.wemix.com}" if [[ -z "${PRIVATE_KEY:-}" ]]; then echo "Error: Set PRIVATE_KEY in .env" >&2 @@ -65,12 +67,14 @@ case "$CHAIN" in gnosis) check_link "Gnosis" "$GNOSIS_RPC" "$LINK_TOKEN_GNOSIS" || failed=1 ;; cronos) check_link "Cronos" "$CRONOS_RPC" "$LINK_TOKEN_CRONOS" || failed=1 ;; celo) check_link "Celo" "$CELO_RPC" "$LINK_TOKEN_CELO" || failed=1 ;; + wemix) check_link "Wemix" "$WEMIX_RPC" "$LINK_TOKEN_WEMIX" || failed=1 ;; all) check_link "Gnosis" "$GNOSIS_RPC" "$LINK_TOKEN_GNOSIS" || failed=1 check_link "Cronos" "$CRONOS_RPC" "$LINK_TOKEN_CRONOS" || failed=1 check_link "Celo" "$CELO_RPC" "$LINK_TOKEN_CELO" || failed=1 + check_link "Wemix" "$WEMIX_RPC" "$LINK_TOKEN_WEMIX" || failed=1 ;; - *) echo "Usage: $0 [gnosis|cronos|celo|all]"; exit 1 ;; + *) echo "Usage: $0 [gnosis|cronos|celo|wemix|all]"; exit 1 ;; esac echo "" @@ -82,5 +86,6 @@ else echo " Gnosis: $LINK_TOKEN_GNOSIS" echo " Cronos: $LINK_TOKEN_CRONOS" echo " Celo: $LINK_TOKEN_CELO" + echo " Wemix: $LINK_TOKEN_WEMIX" exit 1 fi diff --git a/scripts/deployment/complete-config-ready-chains.sh b/scripts/deployment/complete-config-ready-chains.sh index aefa486..843c88f 100755 --- a/scripts/deployment/complete-config-ready-chains.sh +++ b/scripts/deployment/complete-config-ready-chains.sh @@ -77,16 +77,17 @@ run_or_echo() { fi } -# ---- Step A: On Chain 138, add Gnosis/Cronos/Celo/Wemix as destinations ---- -echo "" -echo "Step A: Chain 138 bridges → add Gnosis, Cronos, Celo, Wemix as destinations" +configure_chain_138_destination() { + local label="$1" + local selector="$2" + local addr9="$3" + local addr10="$4" -while IFS= read -r line; do - read -r label selector addr9 addr10 rpc <<< "$line" if [[ -z "$addr9" && -z "$addr10" ]]; then echo " Skip $label (no bridge addresses in .env)" - continue + return 0 fi + echo " Configuring Chain 138 → $label..." if [[ -n "$addr9" ]]; then run_or_echo "cast send $WETH9_138 \"addDestination(uint64,address)\" $selector $addr9 --rpc-url $CHAIN138_RPC --private-key \$PRIVATE_KEY --legacy --gas-limit 200000" @@ -94,12 +95,36 @@ while IFS= read -r line; do if [[ -n "$addr10" ]]; then run_or_echo "cast send $WETH10_138 \"addDestination(uint64,address)\" $selector $addr10 --rpc-url $CHAIN138_RPC --private-key \$PRIVATE_KEY --legacy --gas-limit 200000" fi -done << EOF -Gnosis $GNOSIS_SELECTOR $WETH9_GNOSIS $WETH10_GNOSIS $GNOSIS_RPC -Cronos $CRONOS_SELECTOR $WETH9_CRONOS $WETH10_CRONOS $CRONOS_RPC -Celo $CELO_SELECTOR $WETH9_CELO $WETH10_CELO $CELO_RPC -Wemix $WEMIX_SELECTOR $WETH9_WEMIX $WETH10_WEMIX $WEMIX_RPC -EOF +} + +configure_remote_chain_destination() { + local label="$1" + local rpc="$2" + local addr9="$3" + local addr10="$4" + + if [[ -z "$addr9" && -z "$addr10" ]]; then + echo " Skip $label (no bridge addresses)" + return 0 + fi + + echo " Configuring $label → Chain 138..." + if [[ -n "$addr9" ]]; then + run_or_echo "cast send $addr9 \"addDestination(uint64,address)\" $CHAIN138_SELECTOR $WETH9_138 --rpc-url $rpc --private-key \$PRIVATE_KEY --legacy" + fi + if [[ -n "$addr10" ]]; then + run_or_echo "cast send $addr10 \"addDestination(uint64,address)\" $CHAIN138_SELECTOR $WETH10_138 --rpc-url $rpc --private-key \$PRIVATE_KEY --legacy" + fi +} + +# ---- Step A: On Chain 138, add Gnosis/Cronos/Celo/Wemix as destinations ---- +echo "" +echo "Step A: Chain 138 bridges → add Gnosis, Cronos, Celo, Wemix as destinations" + +configure_chain_138_destination "Gnosis" "$GNOSIS_SELECTOR" "$WETH9_GNOSIS" "$WETH10_GNOSIS" +configure_chain_138_destination "Cronos" "$CRONOS_SELECTOR" "$WETH9_CRONOS" "$WETH10_CRONOS" +configure_chain_138_destination "Celo" "$CELO_SELECTOR" "$WETH9_CELO" "$WETH10_CELO" +configure_chain_138_destination "Wemix" "$WEMIX_SELECTOR" "$WETH9_WEMIX" "$WETH10_WEMIX" # ---- Step B: On Gnosis/Cronos/Celo/Wemix, add Chain 138 as destination ---- if [[ -z "$CHAIN138_SELECTOR" ]]; then @@ -110,25 +135,10 @@ else echo "" echo "Step B: Gnosis/Cronos/Celo/Wemix bridges → add Chain 138 as destination" - while IFS= read -r line; do - read -r label rpc addr9 addr10 <<< "$line" - if [[ -z "$addr9" && -z "$addr10" ]]; then - echo " Skip $label (no bridge addresses)" - continue - fi - echo " Configuring $label → Chain 138..." - if [[ -n "$addr9" ]]; then - run_or_echo "cast send $addr9 \"addDestination(uint64,address)\" $CHAIN138_SELECTOR $WETH9_138 --rpc-url $rpc --private-key \$PRIVATE_KEY --legacy" - fi - if [[ -n "$addr10" ]]; then - run_or_echo "cast send $addr10 \"addDestination(uint64,address)\" $CHAIN138_SELECTOR $WETH10_138 --rpc-url $rpc --private-key \$PRIVATE_KEY --legacy" - fi - done << EOF -Gnosis $GNOSIS_RPC $WETH9_GNOSIS $WETH10_GNOSIS -Cronos $CRONOS_RPC $WETH9_CRONOS $WETH10_CRONOS -Celo $CELO_RPC $WETH9_CELO $WETH10_CELO -Wemix $WEMIX_RPC $WETH9_WEMIX $WETH10_WEMIX -EOF + configure_remote_chain_destination "Gnosis" "$GNOSIS_RPC" "$WETH9_GNOSIS" "$WETH10_GNOSIS" + configure_remote_chain_destination "Cronos" "$CRONOS_RPC" "$WETH9_CRONOS" "$WETH10_CRONOS" + configure_remote_chain_destination "Celo" "$CELO_RPC" "$WETH9_CELO" "$WETH10_CELO" + configure_remote_chain_destination "Wemix" "$WEMIX_RPC" "$WETH9_WEMIX" "$WETH10_WEMIX" fi echo "" diff --git a/scripts/deployment/verify-deployed-contracts.sh b/scripts/deployment/verify-deployed-contracts.sh index f89ff42..a6a42e4 100755 --- a/scripts/deployment/verify-deployed-contracts.sh +++ b/scripts/deployment/verify-deployed-contracts.sh @@ -24,33 +24,42 @@ verify_one() { local contract="$2" local chain_arg="$3" local chain_name="$4" + local api_key="${5:-${ETHERSCAN_API_KEY}}" echo "Verifying $contract at $addr on $chain_name..." # shellcheck disable=SC2086 forge verify-contract "$addr" "$contract" $chain_arg \ - --etherscan-api-key "${ETHERSCAN_API_KEY}" \ + --etherscan-api-key "${api_key}" \ --watch 2>/dev/null || echo " (may already be verified or need chain-specific API key)" } # Avalanche 43114 -for addr in 0xa4B9DD039565AeD9641D45b57061f99d9cA6Df08 0x89dd12025bfCD38A168455A44B400e913ED33BE2 0xe0E93247376aa097dB308B92e6Ba36bA015535D0 0xAb57BF30F1354CA0590af22D8974c7f24DB2DbD7; do - case "$addr" in - 0xa4B9DD039565AeD9641D45b57061f99d9cA6Df08) c="contracts/tokens/WETH.sol:WETH" ;; - 0x89dd12025bfCD38A168455A44B400e913ED33BE2) c="contracts/tokens/WETH10.sol:WETH10" ;; - 0xe0E93247376aa097dB308B92e6Ba36bA015535D0) c="contracts/ccip/CCIPWETH9Bridge.sol:CCIPWETH9Bridge" ;; - 0xAb57BF30F1354CA0590af22D8974c7f24DB2DbD7) c="contracts/ccip/CCIPWETH10Bridge.sol:CCIPWETH10Bridge" ;; - esac - verify_one "$addr" "$c" "--chain avalanche" "Avalanche" +for item in \ + "${WETH9_AVALANCHE:-}:contracts/tokens/WETH.sol:WETH" \ + "${WETH10_AVALANCHE:-}:contracts/tokens/WETH10.sol:WETH10" \ + "${CCIPWETH9_BRIDGE_AVALANCHE:-}:contracts/ccip/CCIPWETH9Bridge.sol:CCIPWETH9Bridge" \ + "${CCIPWETH10_BRIDGE_AVALANCHE:-}:contracts/ccip/CCIPWETH10Bridge.sol:CCIPWETH10Bridge"; do + addr="${item%%:*}" + rest="${item#*:}" + contract="${rest%%:*}" + if [ -z "$addr" ]; then + continue + fi + verify_one "$addr" "$contract" "--chain avalanche" "Avalanche" "${SNOWTRACE_API_KEY:-$ETHERSCAN_API_KEY}" done # Arbitrum 42161 -for addr in 0x89dd12025bfCD38A168455A44B400e913ED33BE2 0xe0E93247376aa097dB308B92e6Ba36bA015535D0 0xAb57BF30F1354CA0590af22D8974c7f24DB2DbD7 0xa780ef19A041745d353c9432f2a7f5A241335ffE; do - case "$addr" in - 0x89dd12025bfCD38A168455A44B400e913ED33BE2) c="contracts/tokens/WETH.sol:WETH" ;; - 0xe0E93247376aa097dB308B92e6Ba36bA015535D0) c="contracts/tokens/WETH10.sol:WETH10" ;; - 0xAb57BF30F1354CA0590af22D8974c7f24DB2DbD7) c="contracts/ccip/CCIPWETH9Bridge.sol:CCIPWETH9Bridge" ;; - 0xa780ef19A041745d353c9432f2a7f5A241335ffE) c="contracts/ccip/CCIPWETH10Bridge.sol:CCIPWETH10Bridge" ;; - esac - verify_one "$addr" "$c" "--chain arbitrum" "Arbitrum" +for item in \ + "${WETH9_ARBITRUM:-}:contracts/tokens/WETH.sol:WETH" \ + "${WETH10_ARBITRUM:-}:contracts/tokens/WETH10.sol:WETH10" \ + "${CCIPWETH9_BRIDGE_ARBITRUM:-}:contracts/ccip/CCIPWETH9Bridge.sol:CCIPWETH9Bridge" \ + "${CCIPWETH10_BRIDGE_ARBITRUM:-}:contracts/ccip/CCIPWETH10Bridge.sol:CCIPWETH10Bridge"; do + addr="${item%%:*}" + rest="${item#*:}" + contract="${rest%%:*}" + if [ -z "$addr" ]; then + continue + fi + verify_one "$addr" "$contract" "--chain arbitrum" "Arbitrum" "${ARBISCAN_API_KEY:-$ETHERSCAN_API_KEY}" done # Cronos 25 — API: explorer-api.cronos.org/mainnet. Forge Blockscout verifier incompatible. @@ -62,7 +71,7 @@ if [ -n "${CRONOSCAN_API_KEY:-}" ]; then echo "If that fails, manual verification: export-cronos-verification-sources.sh then CRONOS_VERIFICATION_RUNBOOK.md" echo " WETH9: 0x99B3511A2d315A497C8112C1fdd8D508d4B1E506" echo " WETH10: 0x3304b747E565a97ec8AC220b0B6A1f6ffDB837e6" - echo " CCIPWETH9: 0x8078A09637e47Fa5Ed34F626046Ea2094a5CDE5e" + echo " CCIPWETH9: 0x3Cc23d086fCcbAe1e5f3FE2bA4A263E1D27d8Cab" echo " CCIPWETH10: 0x105F8A15b819948a89153505762444Ee9f324684" echo "" else diff --git a/scripts/deployment/verify-mainnet-contracts.sh b/scripts/deployment/verify-mainnet-contracts.sh index 33e2a98..a691176 100755 --- a/scripts/deployment/verify-mainnet-contracts.sh +++ b/scripts/deployment/verify-mainnet-contracts.sh @@ -15,9 +15,9 @@ echo "Ethereum Mainnet Contract Verification" echo "==========================================" echo "" -# Mainnet contract addresses (from deployment logs) -CCIPWETH9BRIDGE_MAINNET="0x3304b747E565a97ec8AC220b0B6A1f6ffDB837e6" -CCIPWETH10BRIDGE_MAINNET="0x8078A09637e47Fa5Ed34F626046Ea2094a5CDE5e" +# Mainnet contract addresses (prefer env-backed canonical values) +CCIPWETH9BRIDGE_MAINNET="${MAINNET_CCIP_WETH9_BRIDGE:-0xc9901ce2Ddb6490FAA183645147a87496d8b20B6}" +CCIPWETH10BRIDGE_MAINNET="${MAINNET_CCIP_WETH10_BRIDGE:-0x04E1e22B0D41e99f4275bd40A50480219bc9A223}" # Check verification status check_verification() { @@ -92,4 +92,3 @@ echo " • CCIPWETH9Bridge: https://etherscan.io/address/$CCIPWETH9BRIDGE_MAINN echo " • CCIPWETH10Bridge: https://etherscan.io/address/$CCIPWETH10BRIDGE_MAINNET" echo " • Verify Contracts: https://etherscan.io/myverify_address" echo "" - diff --git a/scripts/deployment/verify-mainnet-etherscan.sh b/scripts/deployment/verify-mainnet-etherscan.sh index 4ed6348..49933ce 100755 --- a/scripts/deployment/verify-mainnet-etherscan.sh +++ b/scripts/deployment/verify-mainnet-etherscan.sh @@ -16,8 +16,8 @@ echo "==========================================" echo "" # Mainnet contract addresses -CCIPWETH9BRIDGE_MAINNET="0x3304b747E565a97ec8AC220b0B6A1f6ffDB837e6" -CCIPWETH10BRIDGE_MAINNET="0x8078A09637e47Fa5Ed34F626046Ea2094a5CDE5e" +CCIPWETH9BRIDGE_MAINNET="${MAINNET_CCIP_WETH9_BRIDGE:-0xc9901ce2Ddb6490FAA183645147a87496d8b20B6}" +CCIPWETH10BRIDGE_MAINNET="${MAINNET_CCIP_WETH10_BRIDGE:-0x04E1e22B0D41e99f4275bd40A50480219bc9A223}" # Constructor arguments CCIP_ROUTER="${CCIP_MAINNET_ROUTER:-0x80226fc0Ee2b096224EeAc085Bb9a8cba1146f7D}" @@ -88,4 +88,3 @@ echo "📄 View contracts:" echo " • CCIPWETH9Bridge: https://etherscan.io/address/$CCIPWETH9BRIDGE_MAINNET" echo " • CCIPWETH10Bridge: https://etherscan.io/address/$CCIPWETH10BRIDGE_MAINNET" echo "" - diff --git a/scripts/verify-bridge-setup-checklist.sh b/scripts/verify-bridge-setup-checklist.sh index 281c94e..161224d 100755 --- a/scripts/verify-bridge-setup-checklist.sh +++ b/scripts/verify-bridge-setup-checklist.sh @@ -31,7 +31,7 @@ fi RPC_URL="${RPC_URL:-${RPC_URL_138:-http://192.168.11.250:8545}}" BRIDGE_ADDRESS="${CCIPWETH9_BRIDGE_CHAIN138:-0x971cD9D156f193df8051E48043C476e53ECd4693}" LINK_TOKEN="${LINK_TOKEN:-0xb7721dD53A8c629d9f1Ba31a5819AFe250002b03}" -CCIP_ROUTER="${CCIP_ROUTER:-0x8078A09637e47Fa5Ed34F626046Ea2094a5CDE5e}" +CCIP_ROUTER="${CCIP_ROUTER:-0x42DAb7b888Dd382bD5Adcf9E038dBF1fD03b4817}" ETH_SELECTOR="5009297550715157269" # Ethereum Mainnet echo "=========================================" diff --git a/scripts/wrap-and-bridge-weth9-to-mainnet.sh b/scripts/wrap-and-bridge-weth9-to-mainnet.sh index 78c5889..b5a0cf3 100755 --- a/scripts/wrap-and-bridge-weth9-to-mainnet.sh +++ b/scripts/wrap-and-bridge-weth9-to-mainnet.sh @@ -232,7 +232,7 @@ fi # Chain 138 LINK - approve for CCIP fees (bridge or router pulls). Canonical on 138: 0xb7721dD53A8c629d9f1Ba31a5819AFe250002b03 (see CHAIN138_TOKEN_ADDRESSES.md, LINK_TOKEN_STATUS_FINAL.md). LINK_TOKEN_138="${LINK_TOKEN_CHAIN138:-${LINK_TOKEN:-0xb7721dD53A8c629d9f1Ba31a5819AFe250002b03}}" -CCIP_ROUTER_138="${CCIP_ROUTER_ADDRESS:-0x8078A09637e47Fa5Ed34F626046Ea2094a5CDE5e}" +CCIP_ROUTER_138="${CCIP_ROUTER_ADDRESS:-0x42DAb7b888Dd382bD5Adcf9E038dBF1fD03b4817}" MAX_UINT256="115792089237316195423570985008687907853269984665640564039457584007913129639935" log_info "Approving LINK for CCIP fees (bridge + router)..." cast send "$LINK_TOKEN_138" "approve(address,uint256)" "$WETH9_BRIDGE" "$MAX_UINT256" \ @@ -314,4 +314,3 @@ else log_info "Output: $BRIDGE_TX" exit 1 fi - diff --git a/terraform/phases/phase1/config/genesis-138.json b/terraform/phases/phase1/config/genesis-138.json index c95578b..c6debb7 100644 --- a/terraform/phases/phase1/config/genesis-138.json +++ b/terraform/phases/phase1/config/genesis-138.json @@ -81,7 +81,7 @@ "code": "0x", "storage": {} }, - "0x8078A09637e47Fa5Ed34F626046Ea2094a5CDE5e": { + "0x42DAb7b888Dd382bD5Adcf9E038dBF1fD03b4817": { "balance": "0xd3c21bcecceda1000000", "code": "0x", "storage": {} diff --git a/terraform/phases/phase1/scripts/setup-env-files.sh b/terraform/phases/phase1/scripts/setup-env-files.sh index 1a439f9..75b50fd 100755 --- a/terraform/phases/phase1/scripts/setup-env-files.sh +++ b/terraform/phases/phase1/scripts/setup-env-files.sh @@ -85,7 +85,7 @@ WETH10_ADDRESS=${WETH10_ADDRESS:-0xf4BB2e28688e89fCcE3c0580D37d36A7672E8A9f} # Bridges CCIPWETH9_BRIDGE_CHAIN138=${CCIPWETH9_BRIDGE_CHAIN138:-0x971cD9D156f193df8051E48043C476e53ECd4693} -CCIPWETH10_BRIDGE_CHAIN138=${CCIPWETH10_BRIDGE_CHAIN138:-0x8078A09637e47Fa5Ed34F626046Ea2094a5CDE5e} +CCIPWETH10_BRIDGE_CHAIN138=${CCIPWETH10_BRIDGE_CHAIN138:-0xe0E93247376aa097dB308B92e6Ba36bA015535D0} # CCIP Chain Selectors ETHEREUM_MAINNET_SELECTOR=${ETHEREUM_MAINNET_SELECTOR:-5009297550715157269} @@ -104,4 +104,3 @@ echo " - .env.mainnet" echo " - .env.chain138" echo "" echo "Review and update these files with any missing values." -