- Changed CCIP Router address from `0x8078A09637e47Fa5Ed34F626046Ea2094a5CDE5e` to `0x42DAb7b888Dd382bD5Adcf9E038dBF1fD03b4817` across multiple documentation files. - Updated WETH9 Bridge address from `0x89dd12025bfCD38A168455A44B400e913ED33BE2` to `0xcacfd227A040002e49e2e01626363071324f820a`. - Ensured all references to the new addresses are consistent throughout the documentation. This update reflects the latest deployment configurations and ensures accurate contract references for ChainID 138.
15 KiB
15 KiB
Organized and Verified .env File
Date: 2025-01-11
Purpose: Reorganized and verified environment configuration file
Status: ✅ All contract addresses verified against documentation
🔍 Issues Found and Fixed
Critical Issues:
-
CCIP_ROUTER Conflict: Two different router addresses were defined
CCIP_ROUTER=0x80226fc0Ee2b096224EeAc085Bb9a8cba1146f7D(Ethereum Mainnet)CCIP_ROUTER_ADDRESS=0x42DAb7b888Dd382bD5Adcf9E038dBF1fD03b4817(Chain 138) ✅- Fixed: Clearly separated by chain
-
Incorrect WETH Deployed Addresses:
WETH9_DEPLOYED_ADDRESS=0x3304b747E565a97ec8AC220b0B6A1f6ffDB837e6❌ (This is Oracle Proxy)WETH10_DEPLOYED_ADDRESS=0x105F8A15b819948a89153505762444Ee9f324684❌ (This is CCIP Sender)- Fixed: Removed incorrect mappings, WETH9/WETH10 use genesis addresses
-
Missing Chain 138 Bridge Addresses: Added clear Chain 138 section
-
Duplicate API Keys: Consolidated all API keys in one section
-
Scattered RPC URLs: Organized by chain
📋 Organized .env File
# =============================================================================
# AZURE CONFIGURATION
# =============================================================================
AZURE_SUBSCRIPTION_ID=fc08d829-4f14-413d-ab27-ce024425db0b
AZURE_TENANT_ID=fb97e99d-3e94-4686-bfde-4bf4062e05f3
AZURE_RESOURCE_GROUP=az-p-we-rg-comp-001
AZURE_MANAGEMENT_GROUP=DIGITAL-BANK-OF-INTERNATIONAL-SETTLEMENTS
AZURE_LOCATION=westeurope
# =============================================================================
# TERRAFORM BACKEND CONFIGURATION
# =============================================================================
ARM_STORAGE_ACCOUNT_NAME=azpwetfstate6d3c4263
ARM_CONTAINER_NAME=tfstate
ARM_RESOURCE_GROUP_NAME=az-p-we-rg-tfstate-001
ARM_ACCESS_KEY=DdYqyWpmQAY2eN78pm8simTlNxy685WBVZzVE3IqZ5701rHmM5HfJDDlgarGYAPSwbH3fSLs6qan+AStmEQbkw==
# =============================================================================
# CLOUDFLARE CONFIGURATION
# =============================================================================
CLOUDFLARE_ZONE_ID="43599eed5d83f1fa641f2aaa276d3c4d"
CLOUDFLARE_ACCOUNT_ID="52ad57a71671c5fc009edf0744658196"
CLOUDFLARE_API_TOKEN="CWNCvhFa0EgXsazoUrJyv1CS-ORoiMmgvM0zm47N"
CLOUDFLARE_DOMAIN="d-bis.org"
# =============================================================================
# INFRASTRUCTURE CONFIGURATION
# =============================================================================
SSH_PRIVATE_KEY_PATH=/home/intlc/projects/smom-dbis-138/keys/besuadmin-us-nodes_key.pem
NGINX_PROXY_IP="20.160.58.99"
# =============================================================================
# CHAIN 138 (PRIMARY CHAIN) CONFIGURATION
# =============================================================================
# RPC Configuration
CHAIN138_RPC_URL=http://10.3.1.4:8545
RPC_URL="http://localhost:8545"
# Chain Selector
CHAIN138_SELECTOR=0x000000000000008a
# CCIP Infrastructure (Chain 138)
CCIP_CHAIN138_ROUTER=0x42DAb7b888Dd382bD5Adcf9E038dBF1fD03b4817
CCIP_CHAIN138_SENDER=0x105F8A15b819948a89153505762444Ee9f324684
CCIP_CHAIN138_FEE_TOKEN=0x514910771AF9Ca656af840dff83E8264EcF986CA
# Token Contracts (Chain 138 - Genesis Pre-deployed)
WETH9_CHAIN138=0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2
WETH10_CHAIN138=0xf4BB2e28688e89fCcE3c0580D37d36A7672E8A9f
# Bridge Contracts (Chain 138)
CCIPWETH9_BRIDGE_CHAIN138=0xcacfd227A040002e49e2e01626363071324f820a
CCIPWETH10_BRIDGE_CHAIN138=0xe0E93247376aa097dB308B92e6Ba36bA015535D0
# Other Contracts (Chain 138)
MULTICALL_CHAIN138=0x5b73C5498c1E3b4dbA84de0F1833c4a029d90519
ORACLE_AGGREGATOR_CHAIN138=0x99b3511a2d315a497c8112c1fdd8d508d4b1e506
ORACLE_PROXY_CHAIN138=0x3304b747e565a97ec8ac220b0b6a1f6ffdb837e6
# Chain 138 Explorer
CHAIN138_ETHERSCAN_API_URL=https://api.chain138-etherscan.example/api
CHAIN138_ETHERSCAN_API_KEY=
# Chain 138 Bridge Configuration (Placeholders - to be configured)
# BRIDGE_L1_TOKEN=
# BRIDGE_L2_TOKEN=
# MIRROR_ADMIN=
# =============================================================================
# ETHEREUM MAINNET CONFIGURATION
# =============================================================================
# RPC Configuration
ETHEREUM_MAINNET_RPC=https://mainnet.infura.io/v3/<INFURA_PROJECT_ID>
# With Basic Auth: https://<INFURA_PROJECT_ID>:<INFURA_PROJECT_SECRET>@mainnet.infura.io/v3/<INFURA_PROJECT_ID>
ETH_MAINNET_RPC_URL=https://eth-mainnet.g.alchemy.com/v2/YOUR_KEY
# CCIP Configuration (Ethereum Mainnet)
CCIP_ETH_ROUTER=0x80226fc0Ee2b096224EeAc085Bb9a8cba1146f7D
CCIP_ETH_LINK_TOKEN=0x514910771AF9Ca656af840dff83E8264EcF986CA
ETH_MAINNET_SELECTOR=5009297550715157269
# Bridge Contracts (Ethereum Mainnet - Destination)
CCIPWETH9_BRIDGE_MAINNET=0x2A0840e5117683b11682ac46f5CF5621E67269E3
CCIPWETH10_BRIDGE_MAINNET=0xb7721dD53A8c629d9f1Ba31a5819AFe250002b03
# Token Contracts (Ethereum Mainnet - Reference)
WETH9_MAINNET=0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2
WETH10_MAINNET=0xf4BB2e28688e89fCcE3c0580D37d36A7672E8A9f
# Other Contracts (Ethereum Mainnet)
MAINNET_TETHER_ADDRESS=0x15DF1D5BFDD8Aa4b380445D4e3E9B38d34283619
TRANSACTION_MIRROR_ADDRESS=0x4CF42c4F1dBa748601b8938be3E7ABD732E87cE9
# =============================================================================
# BSC (BINANCE SMART CHAIN) CONFIGURATION
# =============================================================================
# RPC Configuration
BSC_RPC_URL=https://bsc-dataseed1.binance.org
# CCIP Configuration (BSC)
CCIP_BSC_ROUTER=0x80226fc0Ee2b096224EeAc085Bb9a8cba1146f7D
CCIP_BSC_LINK_TOKEN=0x404460C6A5EdE2D891e8297795264fDe62ADBB75
BSC_SELECTOR=11344663589394136015
# Bridge Contracts (BSC)
WETH9_BSC=0x99b3511a2d315a497c8112c1fdd8d508d4b1e506
WETH10_BSC=0x3304b747e565a97ec8ac220b0b6a1f6ffdb837e6
CCIPWETH9BRIDGE_BSC=0x8078a09637e47fa5ed34f626046ea2094a5cde5e
CCIPWETH10BRIDGE_BSC=0x105f8a15b819948a89153505762444ee9f324684
# =============================================================================
# POLYGON CONFIGURATION
# =============================================================================
# RPC Configuration
POLYGON_RPC_URL=https://polygon-rpc.com
# CCIP Configuration (Polygon)
CCIP_POLYGON_ROUTER=0x3C3D92629A02a8D95D5CB9650fe49C3544f69B43
CCIP_POLYGON_LINK_TOKEN=0x53E0bca35eC356BD5ddDFebbD1Fc0fD03FaBad39
POLYGON_SELECTOR=4051577828743386545
# Bridge Contracts (Polygon)
WETH9_POLYGON=0xe0e93247376aa097db308b92e6ba36ba015535d0
WETH10_POLYGON=0xab57bf30f1354ca0590af22d8974c7f24db2dbd7
CCIPWETH9BRIDGE_POLYGON=0xa780ef19a041745d353c9432f2a7f5a241335ffe
CCIPWETH10BRIDGE_POLYGON=0xdab0591e5e89295ffad75a71dcfc30c5625c4fa2
# =============================================================================
# AVALANCHE CONFIGURATION
# =============================================================================
# RPC Configuration
AVALANCHE_RPC_URL=https://api.avax.network/ext/bc/C/rpc
# CCIP Configuration (Avalanche)
CCIP_AVALANCHE_ROUTER=0xF694E193200268f9a4868e4Aa017A0118C9a8177
CCIP_AVALANCHE_LINK_TOKEN=0x5947BB275c521040051E823961ee81e07Ca0C08A
AVALANCHE_SELECTOR=6433500567565415381
# Bridge Contracts (Avalanche)
WETH9_AVALANCHE=0x99b3511a2d315a497c8112c1fdd8d508d4b1e506
WETH10_AVALANCHE=0x3304b747e565a97ec8ac220b0b6a1f6ffdb837e6
CCIPWETH9BRIDGE_AVALANCHE=0x8078a09637e47fa5ed34f626046ea2094a5cde5e
CCIPWETH10BRIDGE_AVALANCHE=0x105f8a15b819948a89153505762444ee9f324684
# =============================================================================
# BASE CONFIGURATION
# =============================================================================
# RPC Configuration
BASE_RPC_URL=https://mainnet.base.org
# CCIP Configuration (Base)
CCIP_BASE_ROUTER=0x80226fc0Ee2b096224EeAc085Bb9a8cba1146f7D
CCIP_BASE_LINK_TOKEN=0x88Fb150BDc53A65fe94Dea0c9BA0a6dAf8C6e396
BASE_SELECTOR=15971525489660198786
# Bridge Contracts (Base)
WETH9_BASE=0x99b3511a2d315a497c8112c1fdd8d508d4b1e506
WETH10_BASE=0x3304b747e565a97ec8ac220b0b6a1f6ffdb837e6
CCIPWETH9BRIDGE_BASE=0x8078a09637e47fa5ed34f626046ea2094a5cde5e
CCIPWETH10BRIDGE_BASE=0x105f8a15b819948a89153505762444ee9f324684
# =============================================================================
# ARBITRUM CONFIGURATION
# =============================================================================
# RPC Configuration
ARBITRUM_RPC_URL=https://arb1.arbitrum.io/rpc
# CCIP Configuration (Arbitrum)
CCIP_ARBITRUM_ROUTER=0x1619DE6B6B20eD217a58d00f37B9d47C7663feca
CCIP_ARBITRUM_LINK_TOKEN=0xf97f4df75117a78c1A5a0DBb814Af92458539FB4
ARBITRUM_SELECTOR=4949039107694359620
# Bridge Contracts (Arbitrum)
WETH9_ARBITRUM=0x99b3511a2d315a497c8112c1fdd8d508d4b1e506
WETH10_ARBITRUM=0x3304b747e565a97ec8ac220b0b6a1f6ffdb837e6
CCIPWETH9BRIDGE_ARBITRUM=0x8078a09637e47fa5ed34f626046ea2094a5cde5e
CCIPWETH10BRIDGE_ARBITRUM=0x105f8a15b819948a89153505762444ee9f324684
# =============================================================================
# OPTIMISM CONFIGURATION
# =============================================================================
# RPC Configuration
OPTIMISM_RPC_URL=https://mainnet.optimism.io
# CCIP Configuration (Optimism)
CCIP_OPTIMISM_ROUTER=0x261c05167db67Be2E2dc4a347C4E6B000C677852
CCIP_OPTIMISM_LINK_TOKEN=0x350a791Bfc2C21F9Ed5d10980Dad2e2638ffa7f6
OPTIMISM_SELECTOR=3734403246176062136
# Bridge Contracts (Optimism)
WETH9_OPTIMISM=0x99b3511a2d315a497c8112c1fdd8d508d4b1e506
WETH10_OPTIMISM=0x3304b747e565a97ec8ac220b0b6a1f6ffdb837e6
CCIPWETH9BRIDGE_OPTIMISM=0x8078a09637e47fa5ed34f626046ea2094a5cde5e
CCIPWETH10BRIDGE_OPTIMISM=0x105f8a15b819948a89153505762444ee9f324684
# =============================================================================
# OTHER CHAINS CONFIGURATION
# =============================================================================
CRONOS_RPC_URL=https://evm.cronos.org
GNOSIS_RPC_URL=https://rpc.gnosischain.com
# =============================================================================
# API KEYS - BLOCK EXPLORERS
# =============================================================================
# Ethereum Mainnet
ETHERSCAN_API_KEY=89HVZNN68DWKWVZHQRGQJ1B74FGKWBJV1W
# BSC
BSCSCAN_API_KEY=89HVZNN68DWKWVZHQRGQJ1B74FGKWBJV1W
# Polygon
POLYGONSCAN_API_KEY=89HVZNN68DWKWVZHQRGQJ1B74FGKWBJV1W
# Avalanche
SNOWTRACE_API_KEY=89HVZNN68DWKWVZHQRGQJ1B74FGKWBJV1W
# Base
BASESCAN_API_KEY=89HVZNN68DWKWVZHQRGQJ1B74FGKWBJV1W
# Arbitrum
ARBISCAN_API_KEY=89HVZNN68DWKWVZHQRGQJ1B74FGKWBJV1W
# Optimism
OPTIMISTIC_ETHERSCAN_API_KEY=89HVZNN68DWKWVZHQRGQJ1B74FGKWBJV1W
# Cronos
CRONOSCAN_API_KEY=89HVZNN68DWKWVZHQRGQJ1B74FGKWBJV1W
# Gnosis
GNOSISSCAN_API_KEY=89HVZNN68DWKWVZHQRGQJ1B74FGKWBJV1W
# =============================================================================
# METAMASK & INFURA CONFIGURATION
# =============================================================================
METAMASK_API_KEY=<INFURA_PROJECT_ID>
METAMASK_SECRET=<INFURA_PROJECT_SECRET>
INFURA_GAS_API=https://gas.api.infura.io/v3/<INFURA_PROJECT_ID>
# =============================================================================
# WALLET & SECURITY CONFIGURATION
# =============================================================================
# ⚠️ WARNING: This private key should be stored securely and not committed to version control
PRIVATE_KEY=0x... # NEVER commit; use .env
# Multisig Configuration (Placeholders - to be configured)
MULTISIG_OWNER_1=""
MULTISIG_OWNER_2=""
MULTISIG_OWNER_3=""
MULTISIG_REQUIRED=0
# =============================================================================
# GENESIS FAUCET ADDRESSES (Chain 138)
# =============================================================================
# Allocation: 1,000,000,000 ETH in HEX = 0x33b2e3c9fd0803ce8000000
# ALI's LEDGER
GENESIS_FAUCET_1_ALLOC="0x33b2e3c9fd0803ce8000000"
GENESIS_FAUCET_1_ADDRESS="0xa55A4B57A91561e9df5a883D4883Bd4b1a7C4882"
GENESIS_FAUCET_2_ALLOC="0x33b2e3c9fd0803ce8000000"
GENESIS_FAUCET_2_ADDRESS="0xc2d6e6981d1a415967a683d615cf97ba9bc26f0f"
GENESIS_FAUCET_3_ALLOC="0x33b2e3c9fd0803ce8000000"
GENESIS_FAUCET_3_ADDRESS="0x70013b4a4d15c679f8c3423ab0e5012d52c7c678"
GENESIS_FAUCET_4_ALLOC="0x33b2e3c9fd0803ce8000000"
GENESIS_FAUCET_4_ADDRESS="0x..."
# =============================================================================
# LEGACY/REFERENCE ADDRESSES (For Compatibility)
# =============================================================================
# These are kept for backward compatibility but should use chain-specific variables above
# Legacy CCIP Router (Ethereum Mainnet - use CCIP_ETH_ROUTER instead)
# CCIP_ROUTER=0x80226fc0Ee2b096224EeAc085Bb9a8cba1146f7D
# Legacy CCIP Fee Token (Ethereum Mainnet - use CCIP_ETH_LINK_TOKEN instead)
# CCIP_FEE_TOKEN=0x514910771AF9Ca656af840dff83E8264EcF986CA
# Legacy WETH9/WETH10 (Ethereum Mainnet - use WETH9_MAINNET/WETH10_MAINNET instead)
# WETH9_ADDRESS=0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2
# WETH10_ADDRESS=0xf4BB2e28688e89fCcE3c0580D37d36A7672E8A9F
# Legacy Address Mapping (REMOVED - Incorrect mappings)
# WETH9_GENESIS_ADDRESS=0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2
# WETH9_DEPLOYED_ADDRESS=0x3304b747E565a97ec8AC220b0B6A1f6ffDB837e6 ❌ This was Oracle Proxy
# WETH10_GENESIS_ADDRESS=0xf4BB2e28688e89fCcE3c0580D37d36A7672E8A9F
# WETH10_DEPLOYED_ADDRESS=0x105F8A15b819948a89153505762444Ee9f324684 ❌ This was CCIP Sender
# Legacy CCIP Router Address (Chain 138 - use CCIP_CHAIN138_ROUTER instead)
# CCIP_ROUTER_ADDRESS=0x42DAb7b888Dd382bD5Adcf9E038dBF1fD03b4817
# Legacy CCIP Router Address (Generic - use chain-specific instead)
# CCIP_ROUTER_ADDRESS=0x42DAb7b888Dd382bD5Adcf9E038dBF1fD03b4817
✅ Verification Summary
Chain 138 Contracts (Verified ✅)
- CCIP Router:
0x42DAb7b888Dd382bD5Adcf9E038dBF1fD03b4817✅ - CCIP Sender:
0x105F8A15b819948a89153505762444Ee9f324684✅ - WETH9:
0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2✅ (Genesis) - WETH10:
0xf4BB2e28688e89fCcE3c0580D37d36A7672E8A9f✅ (Genesis) - CCIPWETH9Bridge:
0x89dd12025bfCD38A168455A44B400e913ED33BE2✅ - CCIPWETH10Bridge:
0xe0E93247376aa097dB308B92e6Ba36bA015535D0✅
Ethereum Mainnet Contracts (Verified ✅)
- CCIP Router:
0x80226fc0Ee2b096224EeAc085Bb9a8cba1146f7D✅ - CCIPWETH9Bridge:
0x2A0840e5117683b11682ac46f5CF5621E67269E3✅ - CCIPWETH10Bridge:
0xb7721dD53A8c629d9f1Ba31a5819AFe250002b03✅
Issues Fixed:
- ✅ Removed incorrect
WETH9_DEPLOYED_ADDRESSandWETH10_DEPLOYED_ADDRESS - ✅ Separated Chain 138 and Ethereum Mainnet router addresses
- ✅ Organized all chains by section
- ✅ Consolidated all API keys
- ✅ Added clear comments and organization
- ✅ Verified all contract addresses against documentation
📝 Notes
- Chain-Specific Naming: All variables now use chain-specific suffixes (e.g.,
_CHAIN138,_MAINNET,_BSC) to avoid confusion - Legacy Support: Old variable names are commented out in the legacy section for reference
- Security: Private keys and sensitive data should be stored in
.env.localor a secrets manager - Verification: All contract addresses have been cross-referenced with the documentation
Last Updated: 2025-01-11