feat(scripts): resolve CCIP/LINK addresses via config inventory
- Add scripts/lib/address-inventory.sh (jq + JSON inventory fallback) - Wire deployment helper scripts to load_explorer_runtime_env + resolve_address_value - Persist new LINK to address-inventory.json via persist_inventory_value - Document config/*.json in config/README.md Made-with: Cursor
This commit is contained in:
@@ -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/address-inventory.sh"
|
||||
|
||||
# Colors
|
||||
RED='\033[0;31m'
|
||||
@@ -20,15 +21,15 @@ log_warn() { echo -e "${YELLOW}[⚠]${NC} $1"; }
|
||||
log_error() { echo -e "${RED}[✗]${NC} $1"; }
|
||||
log_header() { echo -e "${CYAN}[CHECK]${NC} $1"; }
|
||||
|
||||
# Load environment
|
||||
source "$PROJECT_ROOT/.env" 2>/dev/null || source "$PROJECT_ROOT/../.env" 2>/dev/null || true
|
||||
# Load runtime env plus address inventory.
|
||||
load_explorer_runtime_env
|
||||
|
||||
RPC_URL="${RPC_URL_138:-http://192.168.11.250:8545}"
|
||||
LINK_TOKEN="${LINK_TOKEN:-0x73ADaF7dBa95221c080db5631466d2bC54f6a76B}"
|
||||
WETH9="0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2"
|
||||
WETH10="0xf4BB2e28688e89fCcE3c0580D37d36A7672E8A9f"
|
||||
WETH9_BRIDGE="0x971cD9D156f193df8051E48043C476e53ECd4693"
|
||||
WETH10_BRIDGE="0xe0E93247376aa097dB308B92e6Ba36bA015535D0"
|
||||
LINK_TOKEN="$(resolve_address_value LINK_TOKEN LINK_TOKEN 0x73ADaF7dBa95221c080db5631466d2bC54f6a76B)"
|
||||
WETH9="$(resolve_address_value WETH9_ADDRESS WETH9_ADDRESS 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2)"
|
||||
WETH10="$(resolve_address_value WETH10_ADDRESS WETH10_ADDRESS 0xf4BB2e28688e89fCcE3c0580D37d36A7672E8A9f)"
|
||||
WETH9_BRIDGE="$(resolve_address_value CCIPWETH9_BRIDGE CCIPWETH9_BRIDGE 0x971cD9D156f193df8051E48043C476e53ECd4693)"
|
||||
WETH10_BRIDGE="$(resolve_address_value CCIPWETH10_BRIDGE CCIPWETH10_BRIDGE 0xe0E93247376aa097dB308B92e6Ba36bA015535D0)"
|
||||
|
||||
PASSED=0
|
||||
FAILED=0
|
||||
@@ -63,7 +64,7 @@ echo ""
|
||||
# 2. Account Status
|
||||
log_header "2. Account Status"
|
||||
if [ -z "${PRIVATE_KEY:-}" ]; then
|
||||
check_fail "PRIVATE_KEY not set in .env"
|
||||
check_fail "PRIVATE_KEY not available in effective environment"
|
||||
ACCOUNT=""
|
||||
else
|
||||
ACCOUNT=$(cast wallet address "$PRIVATE_KEY" 2>/dev/null || echo "")
|
||||
@@ -211,18 +212,18 @@ echo ""
|
||||
log_header "8. Configuration Files"
|
||||
if [ -f "$PROJECT_ROOT/.env" ]; then
|
||||
check_pass ".env file exists"
|
||||
if grep -q "^PRIVATE_KEY=" "$PROJECT_ROOT/.env"; then
|
||||
check_pass "PRIVATE_KEY configured"
|
||||
else
|
||||
check_fail "PRIVATE_KEY not in .env"
|
||||
fi
|
||||
if grep -q "^LINK_TOKEN=" "$PROJECT_ROOT/.env"; then
|
||||
check_pass "LINK_TOKEN configured"
|
||||
else
|
||||
check_warn "LINK_TOKEN not in .env"
|
||||
fi
|
||||
else
|
||||
check_fail ".env file not found"
|
||||
check_warn ".env file not found"
|
||||
fi
|
||||
if [ -n "${PRIVATE_KEY:-}" ]; then
|
||||
check_pass "PRIVATE_KEY available in effective environment"
|
||||
else
|
||||
check_fail "PRIVATE_KEY not available in effective environment"
|
||||
fi
|
||||
if [ -f "$EXPLORER_ADDRESS_INVENTORY_FILE" ] && [ -n "$(inventory_get LINK_TOKEN 2>/dev/null || true)" ]; then
|
||||
check_pass "LINK_TOKEN configured in address inventory"
|
||||
else
|
||||
check_warn "LINK_TOKEN not in address inventory"
|
||||
fi
|
||||
echo ""
|
||||
|
||||
@@ -264,4 +265,3 @@ else
|
||||
log_error "✗ SYSTEM NOT READY - $FAILED critical issues found"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
Reference in New Issue
Block a user