From a2beda3db433a6784531e0f61eb9f8f50fb8a9e6 Mon Sep 17 00:00:00 2001 From: defiQUG Date: Fri, 27 Mar 2026 22:10:38 -0700 Subject: [PATCH] chore(scripts): use load_explorer_runtime_env + address-inventory helper Align remaining shell scripts with shared env loading (no direct .env source). Made-with: Cursor --- scripts/bridge-100-eth.sh | 15 +++++-------- scripts/check-block-explorer-tx.sh | 7 ++++--- scripts/check-fee-requirements.sh | 17 ++++++--------- scripts/check-network-restrictions.sh | 7 ++++--- scripts/compare-weth9-standard.sh | 11 +++------- scripts/complete-ccip-setup.sh | 17 ++++++--------- scripts/complete-prerequisites.sh | 13 ++++-------- scripts/configure-all-bridge-destinations.sh | 15 +++++-------- scripts/configure-all-destinations-auto.sh | 17 ++++++--------- ...onfigure-ethereum-mainnet-with-high-gas.sh | 15 +++++-------- scripts/deploy-link-token.sh | 15 +++++-------- scripts/deploy-via-remix-instructions.sh | 13 ++++++------ scripts/dry-run-bridge-to-ethereum.sh | 13 ++++-------- scripts/fix-bridge-errors.sh | 15 +++++-------- scripts/fix-wallet-display.sh | 7 ++++--- scripts/fund-bridge-contracts.sh | 17 ++++++--------- scripts/get-funding-report.sh | 21 +++++++------------ scripts/get-token-info.sh | 13 ++++-------- scripts/implement-all-recommendations.sh | 17 ++++++--------- scripts/inspect-weth10-contract.sh | 11 +++------- scripts/inspect-weth9-contract.sh | 11 +++------- scripts/monitor-fees.sh | 17 ++++++--------- scripts/send-with-optimal-gas.sh | 11 +++------- scripts/setup-complete-bridge.sh | 11 +++------- scripts/test-weth9-deposit.sh | 11 +++------- scripts/verify-token-admin-registry.sh | 15 +++++-------- scripts/verify-weth9-ratio.sh | 11 +++------- scripts/wrap-and-bridge-to-ethereum.sh | 13 ++++-------- 28 files changed, 130 insertions(+), 246 deletions(-) diff --git a/scripts/bridge-100-eth.sh b/scripts/bridge-100-eth.sh index fd1e1dd..e036f59 100755 --- a/scripts/bridge-100-eth.sh +++ b/scripts/bridge-100-eth.sh @@ -6,6 +6,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" # Colors RED='\033[0;31m' @@ -21,19 +22,14 @@ log_warn() { echo -e "${YELLOW}[WARN]${NC} $1"; } log_error() { echo -e "${RED}[ERROR]${NC} $1"; } log_step() { echo -e "${CYAN}[STEP]${NC} $1"; } -# Load environment variables -if [ -f "$PROJECT_ROOT/.env" ]; then - source "$PROJECT_ROOT/.env" -elif [ -f "$PROJECT_ROOT/../.env" ]; then - source "$PROJECT_ROOT/../.env" -fi +load_explorer_runtime_env # Check for private key if [ -z "${PRIVATE_KEY:-}" ]; then - log_error "PRIVATE_KEY not found in .env file" + log_error "PRIVATE_KEY not available in effective environment" log_info "" - log_info "Please add your private key to .env file:" - log_info " echo 'PRIVATE_KEY=0x...' >> $PROJECT_ROOT/.env" + log_info "Please export your private key before running:" + log_info " export PRIVATE_KEY=0x..." log_info "" log_info "Or provide it as an argument:" log_info " $0 [private_key]" @@ -89,4 +85,3 @@ log_step "Bridging 100 ETH to Ethereum Mainnet..." log_info "" "$SCRIPT_DIR/wrap-and-bridge-to-ethereum.sh" 100 "$PRIVATE_KEY" - diff --git a/scripts/check-block-explorer-tx.sh b/scripts/check-block-explorer-tx.sh index 278fbb5..0d10e64 100755 --- a/scripts/check-block-explorer-tx.sh +++ b/scripts/check-block-explorer-tx.sh @@ -5,9 +5,11 @@ set -euo pipefail SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" -cd "$SCRIPT_DIR/.." +PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)" +source "$PROJECT_ROOT/scripts/lib/address-inventory.sh" +cd "$PROJECT_ROOT" -source .env 2>/dev/null || true +load_explorer_runtime_env RPC_URL="${RPC_URL_138:-http://192.168.11.250:8545}" EXPLORER_URL="${EXPLORER_URL:-https://explorer.d-bis.org}" @@ -126,4 +128,3 @@ if [ -n "${TX_HASH:-}" ]; then echo " Transaction: $EXPLORER_URL/tx/$TX_HASH" fi echo "" - diff --git a/scripts/check-fee-requirements.sh b/scripts/check-fee-requirements.sh index 1a72487..e99bd25 100755 --- a/scripts/check-fee-requirements.sh +++ b/scripts/check-fee-requirements.sh @@ -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/address-inventory.sh" # Colors RED='\033[0;31m' @@ -20,12 +21,7 @@ log_success() { echo -e "${GREEN}[✓]${NC} $1"; } log_warn() { echo -e "${YELLOW}[WARN]${NC} $1"; } log_error() { echo -e "${RED}[ERROR]${NC} $1"; } -# Load environment variables -if [ -f "$PROJECT_ROOT/.env" ]; then - source "$PROJECT_ROOT/.env" -elif [ -f "$PROJECT_ROOT/../.env" ]; then - source "$PROJECT_ROOT/../.env" -fi +load_explorer_runtime_env # Configuration RPC_URL="${RPC_URL_138:-http://192.168.11.250:8545}" @@ -38,13 +34,13 @@ if [ -z "$AMOUNT_WEI" ]; then fi # Contract addresses -LINK_TOKEN="0x326C977E6efc84E512bB9C30f76E30c160eD06FB" -WETH9_BRIDGE="0x971cD9D156f193df8051E48043C476e53ECd4693" -WETH10_BRIDGE="0xe0E93247376aa097dB308B92e6Ba36bA015535D0" +LINK_TOKEN="$(resolve_address_value LINK_TOKEN LINK_TOKEN 0x326C977E6efc84E512bB9C30f76E30c160eD06FB)" +WETH9_BRIDGE="$(resolve_address_value CCIPWETH9_BRIDGE CCIPWETH9_BRIDGE 0x971cD9D156f193df8051E48043C476e53ECd4693)" +WETH10_BRIDGE="$(resolve_address_value CCIPWETH10_BRIDGE CCIPWETH10_BRIDGE 0xe0E93247376aa097dB308B92e6Ba36bA015535D0)" # Get account if [ -z "${PRIVATE_KEY:-}" ]; then - log_error "PRIVATE_KEY not found in .env" + log_error "PRIVATE_KEY not available in effective environment" exit 1 fi @@ -208,4 +204,3 @@ else fi exit 1 fi - diff --git a/scripts/check-network-restrictions.sh b/scripts/check-network-restrictions.sh index 84d032a..a099c8e 100755 --- a/scripts/check-network-restrictions.sh +++ b/scripts/check-network-restrictions.sh @@ -5,9 +5,11 @@ set -euo pipefail SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" -cd "$SCRIPT_DIR/.." +PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)" +source "$PROJECT_ROOT/scripts/lib/address-inventory.sh" +cd "$PROJECT_ROOT" -source .env 2>/dev/null || true +load_explorer_runtime_env RPC_URL="${RPC_URL_138:-http://192.168.11.250:8545}" ACCOUNT=$(cast wallet address "$PRIVATE_KEY" 2>/dev/null || echo "") @@ -151,4 +153,3 @@ echo " 1. Check network configuration" echo " 2. Verify CREATE opcode is enabled" echo " 3. Contact network administrators" echo "" - diff --git a/scripts/compare-weth9-standard.sh b/scripts/compare-weth9-standard.sh index 3aa5ff4..2f3207d 100755 --- a/scripts/compare-weth9-standard.sh +++ b/scripts/compare-weth9-standard.sh @@ -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/address-inventory.sh" # Colors RED='\033[0;31m' @@ -20,16 +21,11 @@ log_success() { echo -e "${GREEN}[✓]${NC} $1"; } log_warn() { echo -e "${YELLOW}[WARN]${NC} $1"; } log_error() { echo -e "${RED}[ERROR]${NC} $1"; } -# Load environment variables if .env exists -if [ -f "$PROJECT_ROOT/.env" ]; then - source "$PROJECT_ROOT/.env" -elif [ -f "$PROJECT_ROOT/../.env" ]; then - source "$PROJECT_ROOT/../.env" -fi +load_explorer_runtime_env # Configuration RPC_URL="${RPC_URL_138:-http://192.168.11.250:8545}" -WETH9_ADDRESS="0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" +WETH9_ADDRESS="$(resolve_address_value WETH9_ADDRESS WETH9_ADDRESS 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2)" STANDARD_WETH9_MAINNET="0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" # Same address on Ethereum mainnet log_info "=========================================" @@ -164,4 +160,3 @@ log_info "" log_info "For bytecode comparison:" log_info " cast code $WETH9_ADDRESS --rpc-url $RPC_URL > local_weth9.bin" log_info " Compare hash: cast keccak local_weth9.bin" - diff --git a/scripts/complete-ccip-setup.sh b/scripts/complete-ccip-setup.sh index 09014c2..2431148 100755 --- a/scripts/complete-ccip-setup.sh +++ b/scripts/complete-ccip-setup.sh @@ -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/address-inventory.sh" # Colors RED='\033[0;31m' @@ -22,12 +23,7 @@ log_warn() { echo -e "${YELLOW}[WARN]${NC} $1"; } log_error() { echo -e "${RED}[ERROR]${NC} $1"; } log_step() { echo -e "${CYAN}[STEP]${NC} $1"; } -# Load environment variables if .env exists -if [ -f "$PROJECT_ROOT/.env" ]; then - source "$PROJECT_ROOT/.env" -elif [ -f "$PROJECT_ROOT/../.env" ]; then - source "$PROJECT_ROOT/../.env" -fi +load_explorer_runtime_env log_info "=========================================" log_info "Complete CCIP Setup Workflow" @@ -59,11 +55,11 @@ log_step "Step 2: Configure All Bridge Destinations" log_info "" if [ -z "${PRIVATE_KEY:-}" ]; then - log_error "PRIVATE_KEY not found in .env file" + log_error "PRIVATE_KEY not available in effective environment" exit 1 fi -log_info "Using PRIVATE_KEY from .env file" +log_info "Using PRIVATE_KEY from effective environment" log_info "" if ! "$SCRIPT_DIR/configure-all-destinations-auto.sh"; then @@ -105,8 +101,8 @@ WETH9_CONFIGURED=0 WETH10_CONFIGURED=0 RPC_URL="${RPC_URL_138:-http://192.168.11.250:8545}" -WETH9_BRIDGE="0x971cD9D156f193df8051E48043C476e53ECd4693" -WETH10_BRIDGE="0xe0E93247376aa097dB308B92e6Ba36bA015535D0" +WETH9_BRIDGE="$(resolve_address_value CCIPWETH9_BRIDGE CCIPWETH9_BRIDGE 0x971cD9D156f193df8051E48043C476e53ECd4693)" +WETH10_BRIDGE="$(resolve_address_value CCIPWETH10_BRIDGE CCIPWETH10_BRIDGE 0xe0E93247376aa097dB308B92e6Ba36bA015535D0)" declare -A CHAIN_SELECTORS=( ["BSC"]="11344663589394136015" @@ -161,4 +157,3 @@ else log_info " Review output above for details" exit 1 fi - diff --git a/scripts/complete-prerequisites.sh b/scripts/complete-prerequisites.sh index 4243a1e..5e445c2 100755 --- a/scripts/complete-prerequisites.sh +++ b/scripts/complete-prerequisites.sh @@ -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/address-inventory.sh" # Colors RED='\033[0;31m' @@ -22,15 +23,10 @@ log_warn() { echo -e "${YELLOW}[WARN]${NC} $1"; } log_error() { echo -e "${RED}[ERROR]${NC} $1"; } log_header() { echo -e "${CYAN}[HEADER]${NC} $1"; } -# Load environment variables -if [ -f "$PROJECT_ROOT/.env" ]; then - source "$PROJECT_ROOT/.env" -elif [ -f "$PROJECT_ROOT/../.env" ]; then - source "$PROJECT_ROOT/../.env" -fi +load_explorer_runtime_env RPC_URL="${RPC_URL_138:-http://192.168.11.250:8545}" -LINK_TOKEN="0x326C977E6efc84E512bB9C30f76E30c160eD06FB" +LINK_TOKEN="$(resolve_address_value LINK_TOKEN LINK_TOKEN 0x326C977E6efc84E512bB9C30f76E30c160eD06FB)" log_header "=========================================" log_header "Complete Prerequisites for Bridge Funding" @@ -83,7 +79,7 @@ log_header "Step 2: Check Account LINK Balance" log_info "" if [ -z "${PRIVATE_KEY:-}" ]; then - log_error "PRIVATE_KEY not found in .env" + log_error "PRIVATE_KEY not available in effective environment" exit 1 fi @@ -158,4 +154,3 @@ log_success "✓ Bridge contracts funded" log_info "" log_info "You can now proceed with bridge operations!" log_info "" - diff --git a/scripts/configure-all-bridge-destinations.sh b/scripts/configure-all-bridge-destinations.sh index 7843cd0..96f1c78 100755 --- a/scripts/configure-all-bridge-destinations.sh +++ b/scripts/configure-all-bridge-destinations.sh @@ -6,6 +6,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" # Colors RED='\033[0;31m' @@ -21,17 +22,12 @@ log_warn() { echo -e "${YELLOW}[WARN]${NC} $1"; } log_error() { echo -e "${RED}[ERROR]${NC} $1"; } log_fix() { echo -e "${CYAN}[FIX]${NC} $1"; } -# Load environment variables if .env exists -if [ -f "$PROJECT_ROOT/.env" ]; then - source "$PROJECT_ROOT/.env" -elif [ -f "$PROJECT_ROOT/../.env" ]; then - source "$PROJECT_ROOT/../.env" -fi +load_explorer_runtime_env # Configuration RPC_URL="${RPC_URL_138:-http://192.168.11.250:8545}" -WETH9_BRIDGE="0x971cD9D156f193df8051E48043C476e53ECd4693" -WETH10_BRIDGE="0xe0E93247376aa097dB308B92e6Ba36bA015535D0" +WETH9_BRIDGE="$(resolve_address_value CCIPWETH9_BRIDGE CCIPWETH9_BRIDGE 0x971cD9D156f193df8051E48043C476e53ECd4693)" +WETH10_BRIDGE="$(resolve_address_value CCIPWETH10_BRIDGE CCIPWETH10_BRIDGE 0xe0E93247376aa097dB308B92e6Ba36bA015535D0)" # Parse arguments PRIVATE_KEY_ARG="${1:-}" @@ -43,7 +39,7 @@ if [ -n "$PRIVATE_KEY_ARG" ]; then PRIVATE_KEY="$PRIVATE_KEY_ARG" elif [ -z "${PRIVATE_KEY:-}" ]; then log_error "PRIVATE_KEY not provided. Usage: $0 [private_key] [weth9_eth_mainnet] [weth10_eth_mainnet]" - log_info "Or set PRIVATE_KEY in .env file" + log_info "Or export PRIVATE_KEY before running" exit 1 fi @@ -241,4 +237,3 @@ else fi log_info "" - diff --git a/scripts/configure-all-destinations-auto.sh b/scripts/configure-all-destinations-auto.sh index 8dbae53..9eaedff 100755 --- a/scripts/configure-all-destinations-auto.sh +++ b/scripts/configure-all-destinations-auto.sh @@ -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/address-inventory.sh" # Colors RED='\033[0;31m' @@ -22,22 +23,17 @@ log_warn() { echo -e "${YELLOW}[WARN]${NC} $1"; } log_error() { echo -e "${RED}[ERROR]${NC} $1"; } log_fix() { echo -e "${CYAN}[FIX]${NC} $1"; } -# Load environment variables if .env exists -if [ -f "$PROJECT_ROOT/.env" ]; then - source "$PROJECT_ROOT/.env" -elif [ -f "$PROJECT_ROOT/../.env" ]; then - source "$PROJECT_ROOT/../.env" -fi +load_explorer_runtime_env # Configuration RPC_URL="${RPC_URL_138:-http://192.168.11.250:8545}" -WETH9_BRIDGE="0x971cD9D156f193df8051E48043C476e53ECd4693" -WETH10_BRIDGE="0xe0E93247376aa097dB308B92e6Ba36bA015535D0" +WETH9_BRIDGE="$(resolve_address_value CCIPWETH9_BRIDGE CCIPWETH9_BRIDGE 0x971cD9D156f193df8051E48043C476e53ECd4693)" +WETH10_BRIDGE="$(resolve_address_value CCIPWETH10_BRIDGE CCIPWETH10_BRIDGE 0xe0E93247376aa097dB308B92e6Ba36bA015535D0)" # Check PRIVATE_KEY if [ -z "${PRIVATE_KEY:-}" ]; then - log_error "PRIVATE_KEY not found in .env file" - log_info "Add to .env: PRIVATE_KEY=0x..." + log_error "PRIVATE_KEY not available in effective environment" + log_info "Export PRIVATE_KEY or place it in a sourced parent env file" exit 1 fi @@ -283,4 +279,3 @@ else log_info " Check transaction outputs above for details" exit 1 fi - diff --git a/scripts/configure-ethereum-mainnet-with-high-gas.sh b/scripts/configure-ethereum-mainnet-with-high-gas.sh index 0f9b335..3754cac 100755 --- a/scripts/configure-ethereum-mainnet-with-high-gas.sh +++ b/scripts/configure-ethereum-mainnet-with-high-gas.sh @@ -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/address-inventory.sh" # Colors RED='\033[0;31m' @@ -20,19 +21,14 @@ log_success() { echo -e "${GREEN}[✓]${NC} $1"; } log_warn() { echo -e "${YELLOW}[WARN]${NC} $1"; } log_error() { echo -e "${RED}[ERROR]${NC} $1"; } -# Load environment variables if .env exists -if [ -f "$PROJECT_ROOT/.env" ]; then - source "$PROJECT_ROOT/.env" -elif [ -f "$PROJECT_ROOT/../.env" ]; then - source "$PROJECT_ROOT/../.env" -fi +load_explorer_runtime_env # Configuration RPC_URL="${RPC_URL_138:-http://192.168.11.250:8545}" PRIVATE_KEY="${PRIVATE_KEY:-}" if [ -z "$PRIVATE_KEY" ]; then - log_error "PRIVATE_KEY not found in .env file" + log_error "PRIVATE_KEY not available in effective environment" exit 1 fi @@ -46,8 +42,8 @@ WETH9_MAINNET_BRIDGE="0x2A0840e5117683b11682ac46f5CF5621E67269E3" WETH10_MAINNET_BRIDGE="0xb7721dD53A8c629d9f1Ba31a5819AFe250002b03" # Bridge addresses on ChainID 138 -WETH9_BRIDGE="0x971cD9D156f193df8051E48043C476e53ECd4693" -WETH10_BRIDGE="0xe0E93247376aa097dB308B92e6Ba36bA015535D0" +WETH9_BRIDGE="$(resolve_address_value CCIPWETH9_BRIDGE CCIPWETH9_BRIDGE 0x971cD9D156f193df8051E48043C476e53ECd4693)" +WETH10_BRIDGE="$(resolve_address_value CCIPWETH10_BRIDGE CCIPWETH10_BRIDGE 0xe0E93247376aa097dB308B92e6Ba36bA015535D0)" log_info "=========================================" log_info "Configure Ethereum Mainnet (High Gas)" @@ -130,4 +126,3 @@ log_info "" log_info "=========================================" log_info "Configuration Complete" log_info "=========================================" - diff --git a/scripts/deploy-link-token.sh b/scripts/deploy-link-token.sh index c1c8943..75eb47b 100755 --- a/scripts/deploy-link-token.sh +++ b/scripts/deploy-link-token.sh @@ -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/address-inventory.sh" # Colors RED='\033[0;31m' @@ -20,19 +21,14 @@ log_success() { echo -e "${GREEN}[✓]${NC} $1"; } log_warn() { echo -e "${YELLOW}[WARN]${NC} $1"; } log_error() { echo -e "${RED}[ERROR]${NC} $1"; } -# Load environment variables -if [ -f "$PROJECT_ROOT/.env" ]; then - source "$PROJECT_ROOT/.env" -elif [ -f "$PROJECT_ROOT/../.env" ]; then - source "$PROJECT_ROOT/../.env" -fi +load_explorer_runtime_env # Configuration RPC_URL="${RPC_URL_138:-http://192.168.11.250:8545}" -EXPECTED_LINK_ADDRESS="0x326C977E6efc84E512bB9C30f76E30c160eD06FB" +EXPECTED_LINK_ADDRESS="$(resolve_address_value LINK_TOKEN LINK_TOKEN 0x326C977E6efc84E512bB9C30f76E30c160eD06FB)" if [ -z "${PRIVATE_KEY:-}" ]; then - log_error "PRIVATE_KEY not found in .env" + log_error "PRIVATE_KEY not available in effective environment" exit 1 fi @@ -257,7 +253,7 @@ if [ -n "$DEPLOYED_ADDRESS" ] && [ "$DEPLOYED_ADDRESS" != "0x0000000000000000000 log_info "" log_info "Next steps:" - log_info "1. Update .env file with LINK token address" + log_info "1. Update config/address-inventory.json with LINK token address" log_info "2. Fund bridge contracts: ./scripts/fund-bridge-contracts.sh 10" log_info "3. Verify contract on explorer: https://explorer.d-bis.org/address/$DEPLOYED_ADDRESS" @@ -272,4 +268,3 @@ else log_error "$DEPLOY_OUTPUT" exit 1 fi - diff --git a/scripts/deploy-via-remix-instructions.sh b/scripts/deploy-via-remix-instructions.sh index 7997d13..6f51fa2 100755 --- a/scripts/deploy-via-remix-instructions.sh +++ b/scripts/deploy-via-remix-instructions.sh @@ -4,9 +4,11 @@ set -euo pipefail SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" -cd "$SCRIPT_DIR/.." +PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)" +source "$PROJECT_ROOT/scripts/lib/address-inventory.sh" +cd "$PROJECT_ROOT" -source .env 2>/dev/null || true +load_explorer_runtime_env RPC_URL="${RPC_URL_138:-http://192.168.11.250:8545}" ACCOUNT=$(cast wallet address "$PRIVATE_KEY" 2>/dev/null || echo "") @@ -89,14 +91,14 @@ echo "" echo "6. After deployment:" echo " - Copy the deployed contract address" echo " - Mint tokens: call mint($ACCOUNT, 1000000000000000000000000)" -echo " - Update .env: LINK_TOKEN=" +echo " - Update config/address-inventory.json: LINK_TOKEN=" echo "" echo "7. Alternative: Use Custom RPC in Remix" echo " - Environment: 'Custom'" echo " - RPC URL: $RPC_URL" echo " - Chain ID: 138" echo " - Currency Symbol: ETH" -echo " - Use private key from .env (import account in MetaMask first)" +echo " - Use the same private key from your effective environment (import account in MetaMask first)" echo "" echo "╔══════════════════════════════════════════════════════════════╗" echo "║ QUICK REFERENCE ║" @@ -107,10 +109,9 @@ echo " RPC URL: $RPC_URL" echo " Chain ID: 138" echo " Account: $ACCOUNT" echo "" -echo "After deployment, update .env:" +echo "After deployment, update config/address-inventory.json:" echo " LINK_TOKEN=" echo "" echo "Then run:" echo " ./scripts/fund-bridge-contracts.sh 10" echo "" - diff --git a/scripts/dry-run-bridge-to-ethereum.sh b/scripts/dry-run-bridge-to-ethereum.sh index d8a0fd6..f337e83 100755 --- a/scripts/dry-run-bridge-to-ethereum.sh +++ b/scripts/dry-run-bridge-to-ethereum.sh @@ -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/address-inventory.sh" # Colors RED='\033[0;31m' @@ -22,17 +23,12 @@ log_warn() { echo -e "${YELLOW}[WARN]${NC} $1"; } log_error() { echo -e "${RED}[ERROR]${NC} $1"; } log_dryrun() { echo -e "${CYAN}[DRY RUN]${NC} $1"; } -# Load environment variables if .env exists -if [ -f "$PROJECT_ROOT/.env" ]; then - source "$PROJECT_ROOT/.env" -elif [ -f "$PROJECT_ROOT/../.env" ]; then - source "$PROJECT_ROOT/../.env" -fi +load_explorer_runtime_env # Configuration RPC_URL="${RPC_URL_138:-http://192.168.11.250:8545}" -WETH9_ADDRESS="0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" -WETH9_BRIDGE="0x971cD9D156f193df8051E48043C476e53ECd4693" +WETH9_ADDRESS="$(resolve_address_value WETH9_ADDRESS WETH9_ADDRESS 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2)" +WETH9_BRIDGE="$(resolve_address_value CCIPWETH9_BRIDGE CCIPWETH9_BRIDGE 0x971cD9D156f193df8051E48043C476e53ECd4693)" ETHEREUM_MAINNET_SELECTOR="5009297550715157269" # Parse arguments @@ -388,4 +384,3 @@ fi log_info "" log_info "This was a DRY RUN - no transactions were sent" log_info "" - diff --git a/scripts/fix-bridge-errors.sh b/scripts/fix-bridge-errors.sh index baf9953..7fa29e6 100755 --- a/scripts/fix-bridge-errors.sh +++ b/scripts/fix-bridge-errors.sh @@ -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/address-inventory.sh" # Colors RED='\033[0;31m' @@ -22,17 +23,12 @@ log_warn() { echo -e "${YELLOW}[WARN]${NC} $1"; } log_error() { echo -e "${RED}[ERROR]${NC} $1"; } log_fix() { echo -e "${CYAN}[FIX]${NC} $1"; } -# Load environment variables if .env exists -if [ -f "$PROJECT_ROOT/.env" ]; then - source "$PROJECT_ROOT/.env" -elif [ -f "$PROJECT_ROOT/../.env" ]; then - source "$PROJECT_ROOT/../.env" -fi +load_explorer_runtime_env # Configuration RPC_URL="${RPC_URL_138:-http://192.168.11.250:8545}" -WETH9_BRIDGE="0x971cD9D156f193df8051E48043C476e53ECd4693" -WETH10_BRIDGE="0xe0E93247376aa097dB308B92e6Ba36bA015535D0" +WETH9_BRIDGE="$(resolve_address_value CCIPWETH9_BRIDGE CCIPWETH9_BRIDGE 0x971cD9D156f193df8051E48043C476e53ECd4693)" +WETH10_BRIDGE="$(resolve_address_value CCIPWETH10_BRIDGE CCIPWETH10_BRIDGE 0xe0E93247376aa097dB308B92e6Ba36bA015535D0)" ETHEREUM_MAINNET_SELECTOR="5009297550715157269" # Parse arguments @@ -44,7 +40,7 @@ if [ -n "$PRIVATE_KEY_ARG" ]; then PRIVATE_KEY="$PRIVATE_KEY_ARG" elif [ -z "${PRIVATE_KEY:-}" ]; then log_error "PRIVATE_KEY not provided. Usage: $0 [private_key] [weth9_mainnet_bridge_address]" - log_info "Or set PRIVATE_KEY in .env file" + log_info "Or export PRIVATE_KEY before running" exit 1 fi @@ -200,4 +196,3 @@ else fi log_info "" - diff --git a/scripts/fix-wallet-display.sh b/scripts/fix-wallet-display.sh index 39bab26..db7e2ba 100755 --- a/scripts/fix-wallet-display.sh +++ b/scripts/fix-wallet-display.sh @@ -6,6 +6,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" # Colors RED='\033[0;31m' @@ -18,8 +19,9 @@ log_info() { echo -e "${BLUE}[INFO]${NC} $1"; } log_success() { echo -e "${GREEN}[✓]${NC} $1"; } log_warn() { echo -e "${YELLOW}[WARN]${NC} $1"; } -WETH9_ADDRESS="0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" -WETH10_ADDRESS="0xf4BB2e28688e89fCcE3c0580D37d36A7672E8A9f" +load_explorer_runtime_env +WETH9_ADDRESS="$(resolve_address_value WETH9_ADDRESS WETH9_ADDRESS 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2)" +WETH10_ADDRESS="$(resolve_address_value WETH10_ADDRESS WETH10_ADDRESS 0xf4BB2e28688e89fCcE3c0580D37d36A7672E8A9f)" TOKEN="${1:-both}" @@ -74,4 +76,3 @@ log_info " - Don't read decimals() from WETH9 contract" log_info " - Always hardcode: const decimals = 18;" log_info " - WETH10 decimals() is correct, but still use 18 for consistency" log_info "" - diff --git a/scripts/fund-bridge-contracts.sh b/scripts/fund-bridge-contracts.sh index 6b52ed1..bfdfcfb 100755 --- a/scripts/fund-bridge-contracts.sh +++ b/scripts/fund-bridge-contracts.sh @@ -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/address-inventory.sh" # Colors RED='\033[0;31m' @@ -20,23 +21,18 @@ log_success() { echo -e "${GREEN}[✓]${NC} $1"; } log_warn() { echo -e "${YELLOW}[WARN]${NC} $1"; } log_error() { echo -e "${RED}[ERROR]${NC} $1"; } -# Load environment variables -if [ -f "$PROJECT_ROOT/.env" ]; then - source "$PROJECT_ROOT/.env" -elif [ -f "$PROJECT_ROOT/../.env" ]; then - source "$PROJECT_ROOT/../.env" -fi +load_explorer_runtime_env # Configuration RPC_URL="${RPC_URL_138:-http://192.168.11.250:8545}" -LINK_TOKEN="${LINK_TOKEN:-0x326C977E6efc84E512bB9C30f76E30c160eD06FB}" -WETH9_BRIDGE="0x971cD9D156f193df8051E48043C476e53ECd4693" -WETH10_BRIDGE="0xe0E93247376aa097dB308B92e6Ba36bA015535D0" +LINK_TOKEN="$(resolve_address_value LINK_TOKEN LINK_TOKEN 0x326C977E6efc84E512bB9C30f76E30c160eD06FB)" +WETH9_BRIDGE="$(resolve_address_value CCIPWETH9_BRIDGE CCIPWETH9_BRIDGE 0x971cD9D156f193df8051E48043C476e53ECd4693)" +WETH10_BRIDGE="$(resolve_address_value CCIPWETH10_BRIDGE CCIPWETH10_BRIDGE 0xe0E93247376aa097dB308B92e6Ba36bA015535D0)" AMOUNT_PER_BRIDGE="${1:-10}" # Default 10 LINK per bridge if [ -z "${PRIVATE_KEY:-}" ]; then - log_error "PRIVATE_KEY not found in .env" + log_error "PRIVATE_KEY not available in effective environment" exit 1 fi @@ -171,4 +167,3 @@ else log_info "Wait a few minutes and check again" exit 0 fi - diff --git a/scripts/get-funding-report.sh b/scripts/get-funding-report.sh index 446c9c5..fe5dad5 100755 --- a/scripts/get-funding-report.sh +++ b/scripts/get-funding-report.sh @@ -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/address-inventory.sh" # Colors RED='\033[0;31m' @@ -22,23 +23,18 @@ log_warn() { echo -e "${YELLOW}[WARN]${NC} $1"; } log_error() { echo -e "${RED}[ERROR]${NC} $1"; } log_header() { echo -e "${CYAN}[HEADER]${NC} $1"; } -# Load environment variables -if [ -f "$PROJECT_ROOT/.env" ]; then - source "$PROJECT_ROOT/.env" -elif [ -f "$PROJECT_ROOT/../.env" ]; then - source "$PROJECT_ROOT/../.env" -fi +load_explorer_runtime_env # Configuration RPC_URL="${RPC_URL_138:-http://192.168.11.250:8545}" -LINK_TOKEN="0x326C977E6efc84E512bB9C30f76E30c160eD06FB" -WETH9="0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" -WETH10="0xf4BB2e28688e89fCcE3c0580D37d36A7672E8A9f" -WETH9_BRIDGE="0x971cD9D156f193df8051E48043C476e53ECd4693" -WETH10_BRIDGE="0xe0E93247376aa097dB308B92e6Ba36bA015535D0" +LINK_TOKEN="$(resolve_address_value LINK_TOKEN LINK_TOKEN 0x326C977E6efc84E512bB9C30f76E30c160eD06FB)" +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)" if [ -z "${PRIVATE_KEY:-}" ]; then - log_error "PRIVATE_KEY not found in .env" + log_error "PRIVATE_KEY not available in effective environment" exit 1 fi @@ -279,4 +275,3 @@ fi log_info "" log_info "Total Funding Required: \$$TOTAL_REQUIRED_USD USD" log_info "" - diff --git a/scripts/get-token-info.sh b/scripts/get-token-info.sh index e0801d4..ac88b81 100755 --- a/scripts/get-token-info.sh +++ b/scripts/get-token-info.sh @@ -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/address-inventory.sh" # Colors RED='\033[0;31m' @@ -18,17 +19,12 @@ NC='\033[0m' log_info() { echo -e "${BLUE}[INFO]${NC} $1"; } log_success() { echo -e "${GREEN}[✓]${NC} $1"; } -# Load environment variables if .env exists -if [ -f "$PROJECT_ROOT/.env" ]; then - source "$PROJECT_ROOT/.env" -elif [ -f "$PROJECT_ROOT/../.env" ]; then - source "$PROJECT_ROOT/../.env" -fi +load_explorer_runtime_env # Configuration RPC_URL="${RPC_URL_138:-http://192.168.11.250:8545}" -WETH9_ADDRESS="0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" -WETH10_ADDRESS="0xf4BB2e28688e89fCcE3c0580D37d36A7672E8A9f" +WETH9_ADDRESS="$(resolve_address_value WETH9_ADDRESS WETH9_ADDRESS 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2)" +WETH10_ADDRESS="$(resolve_address_value WETH10_ADDRESS WETH10_ADDRESS 0xf4BB2e28688e89fCcE3c0580D37d36A7672E8A9f)" # Correct decimals (contract may return wrong value) WETH9_DECIMALS=18 @@ -123,4 +119,3 @@ log_info " decimals = 18 # Always use 18" log_info " balance = contract.functions.balanceOf(address).call()" log_info " formatted = Web3.fromWei(balance, 'ether')" log_info "" - diff --git a/scripts/implement-all-recommendations.sh b/scripts/implement-all-recommendations.sh index 65682a1..cfeee0a 100755 --- a/scripts/implement-all-recommendations.sh +++ b/scripts/implement-all-recommendations.sh @@ -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/address-inventory.sh" # Colors RED='\033[0;31m' @@ -22,21 +23,16 @@ log_warn() { echo -e "${YELLOW}[WARN]${NC} $1"; } log_error() { echo -e "${RED}[ERROR]${NC} $1"; } log_step() { echo -e "${CYAN}[STEP]${NC} $1"; } -# Load environment variables -if [ -f "$PROJECT_ROOT/.env" ]; then - source "$PROJECT_ROOT/.env" -elif [ -f "$PROJECT_ROOT/../.env" ]; then - source "$PROJECT_ROOT/../.env" -fi +load_explorer_runtime_env # Configuration RPC_URL="${RPC_URL_138:-http://192.168.11.250:8545}" -LINK_TOKEN="0x326C977E6efc84E512bB9C30f76E30c160eD06FB" -WETH9_BRIDGE="0x971cD9D156f193df8051E48043C476e53ECd4693" -WETH10_BRIDGE="0xe0E93247376aa097dB308B92e6Ba36bA015535D0" +LINK_TOKEN="$(resolve_address_value LINK_TOKEN LINK_TOKEN 0x326C977E6efc84E512bB9C30f76E30c160eD06FB)" +WETH9_BRIDGE="$(resolve_address_value CCIPWETH9_BRIDGE CCIPWETH9_BRIDGE 0x971cD9D156f193df8051E48043C476e53ECd4693)" +WETH10_BRIDGE="$(resolve_address_value CCIPWETH10_BRIDGE CCIPWETH10_BRIDGE 0xe0E93247376aa097dB308B92e6Ba36bA015535D0)" if [ -z "${PRIVATE_KEY:-}" ]; then - log_error "PRIVATE_KEY not found in .env" + log_error "PRIVATE_KEY not available in effective environment" exit 1 fi @@ -179,4 +175,3 @@ else log_error "✗ Some recommendations failed" exit 1 fi - diff --git a/scripts/inspect-weth10-contract.sh b/scripts/inspect-weth10-contract.sh index 054ba58..c0b80c6 100755 --- a/scripts/inspect-weth10-contract.sh +++ b/scripts/inspect-weth10-contract.sh @@ -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/address-inventory.sh" # Colors RED='\033[0;31m' @@ -20,16 +21,11 @@ log_success() { echo -e "${GREEN}[✓]${NC} $1"; } log_warn() { echo -e "${YELLOW}[WARN]${NC} $1"; } log_error() { echo -e "${RED}[ERROR]${NC} $1"; } -# Load environment variables if .env exists -if [ -f "$PROJECT_ROOT/.env" ]; then - source "$PROJECT_ROOT/.env" -elif [ -f "$PROJECT_ROOT/../.env" ]; then - source "$PROJECT_ROOT/../.env" -fi +load_explorer_runtime_env # Configuration RPC_URL="${RPC_URL_138:-http://192.168.11.250:8545}" -WETH10_ADDRESS="0xf4BB2e28688e89fCcE3c0580D37d36A7672E8A9f" +WETH10_ADDRESS="$(resolve_address_value WETH10_ADDRESS WETH10_ADDRESS 0xf4BB2e28688e89fCcE3c0580D37d36A7672E8A9f)" log_info "=========================================" log_info "WETH10 Contract Inspection" @@ -123,4 +119,3 @@ fi log_info "" log_info "For detailed analysis, use:" log_info " cast code $WETH10_ADDRESS --rpc-url $RPC_URL > weth10_bytecode.bin" - diff --git a/scripts/inspect-weth9-contract.sh b/scripts/inspect-weth9-contract.sh index 73d1879..6cb4922 100755 --- a/scripts/inspect-weth9-contract.sh +++ b/scripts/inspect-weth9-contract.sh @@ -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/address-inventory.sh" # Colors RED='\033[0;31m' @@ -20,16 +21,11 @@ log_success() { echo -e "${GREEN}[✓]${NC} $1"; } log_warn() { echo -e "${YELLOW}[WARN]${NC} $1"; } log_error() { echo -e "${RED}[ERROR]${NC} $1"; } -# Load environment variables if .env exists -if [ -f "$PROJECT_ROOT/.env" ]; then - source "$PROJECT_ROOT/.env" -elif [ -f "$PROJECT_ROOT/../.env" ]; then - source "$PROJECT_ROOT/../.env" -fi +load_explorer_runtime_env # Configuration RPC_URL="${RPC_URL_138:-http://192.168.11.250:8545}" -WETH9_ADDRESS="0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" +WETH9_ADDRESS="$(resolve_address_value WETH9_ADDRESS WETH9_ADDRESS 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2)" log_info "=========================================" log_info "WETH9 Contract Inspection" @@ -175,4 +171,3 @@ log_info "" log_info "For detailed bytecode analysis, use:" log_info " cast code $WETH9_ADDRESS --rpc-url $RPC_URL > weth9_bytecode.bin" log_info " Then use a decompiler (e.g., ethervm.io, panoramix.tools) to analyze" - diff --git a/scripts/monitor-fees.sh b/scripts/monitor-fees.sh index 47fc456..d94d9e6 100755 --- a/scripts/monitor-fees.sh +++ b/scripts/monitor-fees.sh @@ -6,6 +6,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" # Colors RED='\033[0;31m' @@ -19,22 +20,17 @@ log_success() { echo -e "${GREEN}[✓]${NC} $1"; } log_warn() { echo -e "${YELLOW}[WARN]${NC} $1"; } log_error() { echo -e "${RED}[ERROR]${NC} $1"; } -# Load environment variables -if [ -f "$PROJECT_ROOT/.env" ]; then - source "$PROJECT_ROOT/.env" -elif [ -f "$PROJECT_ROOT/../.env" ]; then - source "$PROJECT_ROOT/../.env" -fi +load_explorer_runtime_env # Configuration RPC_URL="${RPC_URL_138:-http://192.168.11.250:8545}" -LINK_TOKEN="0x326C977E6efc84E512bB9C30f76E30c160eD06FB" -WETH9_BRIDGE="0x971cD9D156f193df8051E48043C476e53ECd4693" -WETH10_BRIDGE="0xe0E93247376aa097dB308B92e6Ba36bA015535D0" +LINK_TOKEN="$(resolve_address_value LINK_TOKEN LINK_TOKEN 0x326C977E6efc84E512bB9C30f76E30c160eD06FB)" +WETH9_BRIDGE="$(resolve_address_value CCIPWETH9_BRIDGE CCIPWETH9_BRIDGE 0x971cD9D156f193df8051E48043C476e53ECd4693)" +WETH10_BRIDGE="$(resolve_address_value CCIPWETH10_BRIDGE CCIPWETH10_BRIDGE 0xe0E93247376aa097dB308B92e6Ba36bA015535D0)" ALERT_THRESHOLD="${1:-1.0}" # Default 1 LINK if [ -z "${PRIVATE_KEY:-}" ]; then - log_error "PRIVATE_KEY not found in .env" + log_error "PRIVATE_KEY not available in effective environment" exit 1 fi @@ -121,4 +117,3 @@ else fi exit 1 fi - diff --git a/scripts/send-with-optimal-gas.sh b/scripts/send-with-optimal-gas.sh index a27a59a..1a57aa1 100755 --- a/scripts/send-with-optimal-gas.sh +++ b/scripts/send-with-optimal-gas.sh @@ -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/address-inventory.sh" # Colors RED='\033[0;31m' @@ -20,19 +21,14 @@ log_success() { echo -e "${GREEN}[✓]${NC} $1"; } log_warn() { echo -e "${YELLOW}[WARN]${NC} $1"; } log_error() { echo -e "${RED}[ERROR]${NC} $1"; } -# Load environment variables -if [ -f "$PROJECT_ROOT/.env" ]; then - source "$PROJECT_ROOT/.env" -elif [ -f "$PROJECT_ROOT/../.env" ]; then - source "$PROJECT_ROOT/../.env" -fi +load_explorer_runtime_env # Configuration RPC_URL="${RPC_URL_138:-http://192.168.11.250:8545}" GAS_MULTIPLIER="${GAS_MULTIPLIER:-1.5}" # Use 1.5x current gas for faster inclusion if [ -z "${PRIVATE_KEY:-}" ]; then - log_error "PRIVATE_KEY not found in .env" + log_error "PRIVATE_KEY not available in effective environment" exit 1 fi @@ -151,4 +147,3 @@ else exit 1 fi - diff --git a/scripts/setup-complete-bridge.sh b/scripts/setup-complete-bridge.sh index 1d4c566..ca14954 100755 --- a/scripts/setup-complete-bridge.sh +++ b/scripts/setup-complete-bridge.sh @@ -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/address-inventory.sh" # Colors RED='\033[0;31m' @@ -24,12 +25,7 @@ log_error() { echo -e "${RED}[ERROR]${NC} $1"; } log_step() { echo -e "${CYAN}[STEP]${NC} $1"; } log_header() { echo -e "${MAGENTA}=========================================${NC}"; } -# Load environment variables if .env exists -if [ -f "$PROJECT_ROOT/.env" ]; then - source "$PROJECT_ROOT/.env" -elif [ -f "$PROJECT_ROOT/../.env" ]; then - source "$PROJECT_ROOT/../.env" -fi +load_explorer_runtime_env # Parse arguments PRIVATE_KEY_ARG="${1:-}" @@ -50,7 +46,7 @@ if [ -n "$PRIVATE_KEY_ARG" ]; then elif [ -z "${PRIVATE_KEY:-}" ]; then log_error "PRIVATE_KEY not provided" log_info "Usage: $0 [private_key] [weth9_eth_mainnet] [weth10_eth_mainnet]" - log_info "Or set PRIVATE_KEY in .env file" + log_info "Or export PRIVATE_KEY before running" exit 1 fi @@ -160,4 +156,3 @@ log_info " 1. Review dry run results above" log_info " 2. If all checks pass, bridge tokens:" log_info " ./scripts/wrap-and-bridge-to-ethereum.sh [amount] [private_key]" log_info "" - diff --git a/scripts/test-weth9-deposit.sh b/scripts/test-weth9-deposit.sh index d81aa5e..265556e 100755 --- a/scripts/test-weth9-deposit.sh +++ b/scripts/test-weth9-deposit.sh @@ -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" # Colors RED='\033[0;31m' @@ -21,16 +22,11 @@ log_success() { echo -e "${GREEN}[✓]${NC} $1"; } log_warn() { echo -e "${YELLOW}[WARN]${NC} $1"; } log_error() { echo -e "${RED}[ERROR]${NC} $1"; } -# Load environment variables if .env exists -if [ -f "$PROJECT_ROOT/.env" ]; then - source "$PROJECT_ROOT/.env" -elif [ -f "$PROJECT_ROOT/../.env" ]; then - source "$PROJECT_ROOT/../.env" -fi +load_explorer_runtime_env # Configuration RPC_URL="${RPC_URL_138:-http://192.168.11.250:8545}" -WETH9_ADDRESS="0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" +WETH9_ADDRESS="$(resolve_address_value WETH9_ADDRESS WETH9_ADDRESS 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2)" # Parse arguments PRIVATE_KEY="${1:-${PRIVATE_KEY:-}}" @@ -202,4 +198,3 @@ else log_info "Recommendation: Inspect contract bytecode and compare with standard WETH9" exit 1 fi - diff --git a/scripts/verify-token-admin-registry.sh b/scripts/verify-token-admin-registry.sh index 56ba6a6..8450abd 100755 --- a/scripts/verify-token-admin-registry.sh +++ b/scripts/verify-token-admin-registry.sh @@ -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/address-inventory.sh" # Colors RED='\033[0;31m' @@ -20,18 +21,13 @@ log_success() { echo -e "${GREEN}[✓]${NC} $1"; } log_warn() { echo -e "${YELLOW}[WARN]${NC} $1"; } log_error() { echo -e "${RED}[ERROR]${NC} $1"; } -# Load environment variables if .env exists -if [ -f "$PROJECT_ROOT/.env" ]; then - source "$PROJECT_ROOT/.env" -elif [ -f "$PROJECT_ROOT/../.env" ]; then - source "$PROJECT_ROOT/../.env" -fi +load_explorer_runtime_env # Configuration RPC_URL="${RPC_URL_138:-http://192.168.11.250:8545}" -WETH9_ADDRESS="0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" -WETH10_ADDRESS="0xf4BB2e28688e89fCcE3c0580D37d36A7672E8A9f" -CCIP_ROUTER="0x8078A09637e47Fa5Ed34F626046Ea2094a5CDE5e" +WETH9_ADDRESS="$(resolve_address_value WETH9_ADDRESS WETH9_ADDRESS 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2)" +WETH10_ADDRESS="$(resolve_address_value WETH10_ADDRESS WETH10_ADDRESS 0xf4BB2e28688e89fCcE3c0580D37d36A7672E8A9f)" +CCIP_ROUTER="$(resolve_address_value CCIP_ROUTER_ADDRESS CCIP_ROUTER_ADDRESS 0x8078A09637e47Fa5Ed34F626046Ea2094a5CDE5e)" log_info "=========================================" log_info "TokenAdminRegistry Verification" @@ -124,4 +120,3 @@ else log_info " Manual verification required" fi log_info "" - diff --git a/scripts/verify-weth9-ratio.sh b/scripts/verify-weth9-ratio.sh index 8968ab1..c6ab34c 100755 --- a/scripts/verify-weth9-ratio.sh +++ b/scripts/verify-weth9-ratio.sh @@ -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/address-inventory.sh" # Colors RED='\033[0;31m' @@ -20,16 +21,11 @@ log_success() { echo -e "${GREEN}[✓]${NC} $1"; } log_warn() { echo -e "${YELLOW}[WARN]${NC} $1"; } log_error() { echo -e "${RED}[ERROR]${NC} $1"; } -# Load environment variables if .env exists -if [ -f "$PROJECT_ROOT/.env" ]; then - source "$PROJECT_ROOT/.env" -elif [ -f "$PROJECT_ROOT/../.env" ]; then - source "$PROJECT_ROOT/../.env" -fi +load_explorer_runtime_env # Configuration RPC_URL="${RPC_URL_138:-http://192.168.11.250:8545}" -WETH9_ADDRESS="0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" +WETH9_ADDRESS="$(resolve_address_value WETH9_ADDRESS WETH9_ADDRESS 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2)" # Parse arguments PRIVATE_KEY="${1:-${PRIVATE_KEY:-}}" @@ -192,4 +188,3 @@ fi log_info "" log_success "Verification complete!" - diff --git a/scripts/wrap-and-bridge-to-ethereum.sh b/scripts/wrap-and-bridge-to-ethereum.sh index 2a26af6..1bfae5f 100755 --- a/scripts/wrap-and-bridge-to-ethereum.sh +++ b/scripts/wrap-and-bridge-to-ethereum.sh @@ -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" # Colors RED='\033[0;31m' @@ -21,17 +22,12 @@ log_success() { echo -e "${GREEN}[✓]${NC} $1"; } log_warn() { echo -e "${YELLOW}[WARN]${NC} $1"; } log_error() { echo -e "${RED}[ERROR]${NC} $1"; } -# Load environment variables if .env exists -if [ -f "$PROJECT_ROOT/.env" ]; then - source "$PROJECT_ROOT/.env" -elif [ -f "$PROJECT_ROOT/../.env" ]; then - source "$PROJECT_ROOT/../.env" -fi +load_explorer_runtime_env # Configuration RPC_URL="${RPC_URL_138:-http://192.168.11.250:8545}" -WETH9_ADDRESS="0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" -WETH9_BRIDGE="0x971cD9D156f193df8051E48043C476e53ECd4693" +WETH9_ADDRESS="$(resolve_address_value WETH9_ADDRESS WETH9_ADDRESS 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2)" +WETH9_BRIDGE="$(resolve_address_value CCIPWETH9_BRIDGE CCIPWETH9_BRIDGE 0x971cD9D156f193df8051E48043C476e53ECd4693)" ETHEREUM_MAINNET_SELECTOR="5009297550715157269" # Parse arguments @@ -285,4 +281,3 @@ else log_info "Transaction output: $SEND_TX" exit 1 fi -