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
This commit is contained in:
@@ -157,7 +157,7 @@ echo "CHAIN138_SELECTOR=<official-selector>" >> .env
|
||||
|
||||
**Bridge Pairs**:
|
||||
- WETH9: ChainID 138 `0x3304b747E565a97ec8AC220b0B6A1f6ffDB837e6` ↔ Mainnet `0x3304b747E565a97ec8AC220b0B6A1f6ffDB837e6`
|
||||
- WETH10: ChainID 138 `0x8078A09637e47Fa5Ed34F626046Ea2094a5CDE5e` ↔ Mainnet `0x8078A09637e47Fa5Ed34F626046Ea2094a5CDE5e`
|
||||
- WETH10: ChainID 138 `0xe0E93247376aa097dB308B92e6Ba36bA015535D0` ↔ Mainnet `0x04E1e22B0D41e99f4275bd40A50480219bc9A223`
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 ✅
|
||||
|
||||
|
||||
@@ -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
|
||||
```
|
||||
|
||||
@@ -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`
|
||||
|
||||
|
||||
@@ -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.
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -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 |
|
||||
|
||||
@@ -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) |
|
||||
|
||||
|
||||
@@ -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
|
||||
```
|
||||
|
||||
@@ -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`<br>WETH10: `0xf4BB2e28688e89fCcE3c0580D37d36A7672E8A9f`<br>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
|
||||
|
||||
|
||||
@@ -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 |
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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` |
|
||||
|
||||
---
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 ""
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 ""
|
||||
|
||||
|
||||
@@ -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 ""
|
||||
|
||||
|
||||
@@ -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 "========================================="
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -81,7 +81,7 @@
|
||||
"code": "0x",
|
||||
"storage": {}
|
||||
},
|
||||
"0x8078A09637e47Fa5Ed34F626046Ea2094a5CDE5e": {
|
||||
"0x42DAb7b888Dd382bD5Adcf9E038dBF1fD03b4817": {
|
||||
"balance": "0xd3c21bcecceda1000000",
|
||||
"code": "0x",
|
||||
"storage": {}
|
||||
|
||||
@@ -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."
|
||||
|
||||
|
||||
Reference in New Issue
Block a user