Centralize explorer bridge destination selectors

This commit is contained in:
defiQUG
2026-03-28 15:18:49 -07:00
parent e5f038c9db
commit ff8d94383c
13 changed files with 28 additions and 96 deletions

View File

@@ -55,16 +55,17 @@ while IFS=$'\t' read -r chain_name selector weth9_dest weth10_dest _rpc_url; do
done < <(ccip_destination_rows)
# Preserve the manual flow: Ethereum stays TBD unless explicitly provided.
WETH9_DESTINATIONS["5009297550715157269"]="TBD"
WETH10_DESTINATIONS["5009297550715157269"]="TBD"
ETHEREUM_MAINNET_SELECTOR="${ETHEREUM_MAINNET_SELECTOR:-$(ccip_destination_selector_by_name "Ethereum Mainnet")}"
WETH9_DESTINATIONS["$ETHEREUM_MAINNET_SELECTOR"]="TBD"
WETH10_DESTINATIONS["$ETHEREUM_MAINNET_SELECTOR"]="TBD"
if [ -n "$WETH9_ETH_MAINNET" ] && echo "$WETH9_ETH_MAINNET" | grep -qE "^0x[0-9a-fA-F]{40}$"; then
WETH9_DESTINATIONS["5009297550715157269"]="$WETH9_ETH_MAINNET"
WETH9_DESTINATIONS["$ETHEREUM_MAINNET_SELECTOR"]="$WETH9_ETH_MAINNET"
log_info "Using provided WETH9 Ethereum Mainnet address: $WETH9_ETH_MAINNET"
fi
if [ -n "$WETH10_ETH_MAINNET" ] && echo "$WETH10_ETH_MAINNET" | grep -qE "^0x[0-9a-fA-F]{40}$"; then
WETH10_DESTINATIONS["5009297550715157269"]="$WETH10_ETH_MAINNET"
WETH10_DESTINATIONS["$ETHEREUM_MAINNET_SELECTOR"]="$WETH10_ETH_MAINNET"
log_info "Using provided WETH10 Ethereum Mainnet address: $WETH10_ETH_MAINNET"
fi

View File

@@ -7,6 +7,7 @@ set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
source "$PROJECT_ROOT/scripts/lib/ccip-destinations.sh"
# Colors
RED='\033[0;31m'
@@ -39,7 +40,7 @@ if [ -z "$PRIVATE_KEY" ]; then
fi
# Ethereum Mainnet configuration
ETHEREUM_MAINNET_SELECTOR="5009297550715157269"
ETHEREUM_MAINNET_SELECTOR="${ETHEREUM_MAINNET_SELECTOR:-$(ccip_destination_selector_by_name "Ethereum Mainnet")}"
WETH9_MAINNET_BRIDGE="0x2A0840e5117683b11682ac46f5CF5621E67269E3"
WETH10_MAINNET_BRIDGE="0xb7721dD53A8c629d9f1Ba31a5819AFe250002b03"
@@ -245,4 +246,3 @@ log_info ""
log_info "To verify all destinations:"
log_info " ./scripts/check-bridge-config.sh"
log_info ""

View File

@@ -7,6 +7,7 @@ set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
source "$PROJECT_ROOT/scripts/lib/ccip-destinations.sh"
source "$PROJECT_ROOT/scripts/lib/address-inventory.sh"
# Colors
@@ -37,7 +38,7 @@ GAS_PRICE_GWEI="${1:-50}"
GAS_PRICE_WEI=$(echo "$GAS_PRICE_GWEI * 1000000000" | bc 2>/dev/null || echo "50000000000")
# Ethereum Mainnet configuration
ETHEREUM_MAINNET_SELECTOR="5009297550715157269"
ETHEREUM_MAINNET_SELECTOR="${ETHEREUM_MAINNET_SELECTOR:-$(ccip_destination_selector_by_name "Ethereum Mainnet")}"
WETH9_MAINNET_BRIDGE="0x2A0840e5117683b11682ac46f5CF5621E67269E3"
WETH10_MAINNET_BRIDGE="0xb7721dD53A8c629d9f1Ba31a5819AFe250002b03"

View File

@@ -8,6 +8,7 @@ set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
source "$PROJECT_ROOT/scripts/lib/address-inventory.sh"
source "$PROJECT_ROOT/scripts/lib/ccip-destinations.sh"
# Colors
RED='\033[0;31m'
@@ -29,7 +30,7 @@ load_explorer_runtime_env
RPC_URL="${RPC_URL_138:-http://192.168.11.250:8545}"
WETH9_ADDRESS="$(resolve_address_value WETH9_ADDRESS WETH9_ADDRESS 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2)"
WETH9_BRIDGE="$(resolve_address_value CCIPWETH9_BRIDGE CCIPWETH9_BRIDGE 0x971cD9D156f193df8051E48043C476e53ECd4693)"
ETHEREUM_MAINNET_SELECTOR="5009297550715157269"
ETHEREUM_MAINNET_SELECTOR="${ETHEREUM_MAINNET_SELECTOR:-$(ccip_destination_selector_by_name "Ethereum Mainnet")}"
# Parse arguments
AMOUNT="${1:-1.0}"

View File

@@ -8,6 +8,7 @@ set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
source "$PROJECT_ROOT/scripts/lib/address-inventory.sh"
source "$PROJECT_ROOT/scripts/lib/ccip-destinations.sh"
# Colors
RED='\033[0;31m'
@@ -29,7 +30,7 @@ load_explorer_runtime_env
RPC_URL="${RPC_URL_138:-http://192.168.11.250:8545}"
WETH9_BRIDGE="$(resolve_address_value CCIPWETH9_BRIDGE CCIPWETH9_BRIDGE 0x971cD9D156f193df8051E48043C476e53ECd4693)"
WETH10_BRIDGE="$(resolve_address_value CCIPWETH10_BRIDGE CCIPWETH10_BRIDGE 0xe0E93247376aa097dB308B92e6Ba36bA015535D0)"
ETHEREUM_MAINNET_SELECTOR="5009297550715157269"
ETHEREUM_MAINNET_SELECTOR="${ETHEREUM_MAINNET_SELECTOR:-$(ccip_destination_selector_by_name "Ethereum Mainnet")}"
# Parse arguments
PRIVATE_KEY_ARG="${1:-}"

View File

@@ -5,6 +5,7 @@ set -uo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
source "$PROJECT_ROOT/scripts/lib/ccip-destinations.sh"
source "$PROJECT_ROOT/scripts/lib/address-inventory.sh"
# Colors
@@ -176,7 +177,7 @@ echo ""
# 7. Bridge Destination Configuration
log_header "7. Bridge Destination Configuration"
ETHEREUM_SELECTOR="5009297550715157269"
ETHEREUM_SELECTOR="${ETHEREUM_SELECTOR:-$(ccip_destination_selector_by_name "Ethereum Mainnet")}"
if [ -n "$WETH9_BRIDGE_CODE" ] && [ "$WETH9_BRIDGE_CODE" != "0x" ]; then
DEST=$(cast call "$WETH9_BRIDGE" "destinations(uint64)" "$ETHEREUM_SELECTOR" --rpc-url "$RPC_URL" 2>/dev/null || echo "")
DEST_HEX=$(echo "$DEST" | sed 's/0x//')

View File

@@ -36,3 +36,8 @@ ccip_destination_field_by_name() {
'.chains[] | select(.name == $name) | .[$field] // empty' \
"$CCIP_DESTINATION_MATRIX_FILE"
}
ccip_destination_selector_by_name() {
local chain_name="${1:-}"
ccip_destination_field_by_name "$chain_name" selector
}

View File

@@ -7,6 +7,7 @@ set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
source "$PROJECT_ROOT/scripts/lib/ccip-destinations.sh"
# Colors
RED='\033[0;31m'
@@ -30,7 +31,7 @@ fi
# Configuration
RPC_URL="${RPC_URL_138:-http://192.168.11.250:8545}"
AMOUNT_ETH="${1:-0.001}"
DESTINATION_SELECTOR="5009297550715157269" # Ethereum Mainnet
DESTINATION_SELECTOR="${DESTINATION_SELECTOR:-$(ccip_destination_selector_by_name "Ethereum Mainnet")}" # Ethereum Mainnet
log_info "========================================="
log_info "End-to-End Bridge Test"
@@ -146,4 +147,3 @@ fi
log_info ""
log_success "✓ Pre-flight checks completed"
log_info ""

View File

@@ -7,8 +7,8 @@ set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
source "$PROJECT_ROOT/scripts/lib/address-inventory.sh"
source "$PROJECT_ROOT/scripts/lib/ccip-destinations.sh"
source "$PROJECT_ROOT/scripts/lib/address-inventory.sh"
# Colors
RED='\033[0;31m'
@@ -225,7 +225,7 @@ fi
# D.2: Fee Calculation
log_info ""
log_info "D.2: Fee Calculation"
ETHEREUM_SELECTOR="5009297550715157269"
ETHEREUM_SELECTOR="${ETHEREUM_SELECTOR:-$(ccip_destination_selector_by_name "Ethereum Mainnet")}"
FEE_RESULT=$(cast call "$ROUTER" "getFee(uint64,bytes)" "$ETHEREUM_SELECTOR" "0x" --rpc-url "$RPC_URL" 2>/dev/null || echo "")
if [ -n "$FEE_RESULT" ] && [ "$FEE_RESULT" != "0x" ]; then
check_pass "Fee calculation accessible"

View File

@@ -7,6 +7,7 @@ set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
source "$PROJECT_ROOT/scripts/lib/ccip-destinations.sh"
# Colors
RED='\033[0;31m'
@@ -34,7 +35,7 @@ LINK_TOKEN="0x514910771AF9Ca656af840dff83E8264EcF986CA"
# Default values
AMOUNT_ETH="${1:-0.001}"
DEST_SELECTOR="${2:-5009297550715157269}" # Ethereum Mainnet
DEST_SELECTOR="${2:-$(ccip_destination_selector_by_name "Ethereum Mainnet")}" # Ethereum Mainnet
log_info "========================================="
log_info "Fee Calculation Verification"
@@ -147,4 +148,3 @@ else
log_info " 3. Fee calculation is handled by a separate contract"
fi
log_info ""

View File

@@ -9,6 +9,7 @@ set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
source "$PROJECT_ROOT/scripts/lib/address-inventory.sh"
source "$PROJECT_ROOT/scripts/lib/ccip-destinations.sh"
# Colors
RED='\033[0;31m'
@@ -28,7 +29,7 @@ load_explorer_runtime_env
RPC_URL="${RPC_URL_138:-http://192.168.11.250:8545}"
WETH9_ADDRESS="$(resolve_address_value WETH9_ADDRESS WETH9_ADDRESS 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2)"
WETH9_BRIDGE="$(resolve_address_value CCIPWETH9_BRIDGE CCIPWETH9_BRIDGE 0x971cD9D156f193df8051E48043C476e53ECd4693)"
ETHEREUM_MAINNET_SELECTOR="5009297550715157269"
ETHEREUM_MAINNET_SELECTOR="${ETHEREUM_MAINNET_SELECTOR:-$(ccip_destination_selector_by_name "Ethereum Mainnet")}"
# Parse arguments
AMOUNT="${1:-}"