Some checks failed
Deploy to Phoenix / deploy (push) Has been cancelled
- ADD_CHAIN138_TO_LEDGER_LIVE: Ledger form done; public code review repo bis-innovations/LedgerLive; init/push commands - CONTRACT_DEPLOYMENT_RUNBOOK: Chain 138 gas price 1 gwei, 36-addr check, TransactionMirror workaround - CONTRACT_*: AddressMapper, MirrorManager deployed 2026-02-12; 36-address on-chain check - NEXT_STEPS_FOR_YOU: Ledger done; steps completable now (no LAN); run-completable-tasks-from-anywhere - MASTER_INDEX, OPERATOR_OPTIONAL, SMART_CONTRACTS_INVENTORY_SIMPLE: updates - LEDGER_BLOCKCHAIN_INTEGRATION_COMPLETE: bis-innovations/LedgerLive reference Co-authored-by: Cursor <cursoragent@cursor.com>
111 lines
4.2 KiB
Bash
Executable File
111 lines
4.2 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
# Load IP configuration
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
|
|
source "${PROJECT_ROOT}/config/ip-addresses.conf" 2>/dev/null || true
|
|
|
|
|
|
|
|
# Final Fix: Remove Old Nodes, Keep Valid, Collect Missing
|
|
# Simplified approach to clean and update node lists
|
|
|
|
set -e
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"
|
|
|
|
STATIC_NODES_FILE="$PROJECT_ROOT/smom-dbis-138/config/static-nodes.json"
|
|
PERMISSIONED_NODES_FILE="$PROJECT_ROOT/smom-dbis-138-proxmox/config/permissioned-nodes.json"
|
|
|
|
# Valid IPs to keep (current configuration)
|
|
VALID_IPS=(
|
|
"${IP_VALIDATOR_0:-${IP_VALIDATOR_0:-${IP_VALIDATOR_0:-${IP_VALIDATOR_0:-192.168.11.100}}}}" # Validator 1000
|
|
"${IP_VALIDATOR_1:-${IP_VALIDATOR_1:-${IP_VALIDATOR_1:-${IP_VALIDATOR_1:-192.168.11.101}}}}" # Validator 1001
|
|
"${IP_VALIDATOR_2:-${IP_VALIDATOR_2:-${IP_VALIDATOR_2:-${IP_VALIDATOR_2:-192.168.11.102}}}}" # Validator 1002
|
|
"${IP_VALIDATOR_3:-${IP_VALIDATOR_3:-${IP_VALIDATOR_3:-${IP_VALIDATOR_3:-192.168.11.103}}}}" # Validator 1003
|
|
"${IP_VALIDATOR_4:-${IP_VALIDATOR_4:-${IP_VALIDATOR_4:-${IP_VALIDATOR_4:-192.168.11.104}}}}" # Validator 1004
|
|
"${IP_BESU_RPC_0:-${IP_BESU_RPC_0:-${IP_BESU_RPC_0:-${IP_BESU_RPC_0:-192.168.11.150}}}}" # Sentry 1500
|
|
"${IP_BESU_RPC_1:-${IP_BESU_RPC_1:-${IP_BESU_RPC_1:-${IP_BESU_RPC_1:-192.168.11.151}}}}" # Sentry 1501
|
|
"${IP_BESU_RPC_2:-${IP_BESU_RPC_2:-${IP_BESU_RPC_2:-${IP_BESU_RPC_2:-192.168.11.152}}}}" # Sentry 1502
|
|
"${IP_BESU_RPC_3:-${IP_BESU_RPC_3:-${IP_BESU_RPC_3:-${IP_BESU_RPC_3:-192.168.11.153}}}}" # Sentry 1503
|
|
"${RPC_CORE_1:-${IP_SERVICE_21:-${IP_SERVICE_21:-${IP_SERVICE_21:-192.168.11.21}}}1}" # RPC 2101
|
|
"${RPC_THIRDWEB_PRIMARY:-192.168.11.240}" # RPC 2400
|
|
"${RPC_THIRDWEB_1:-${RPC_THIRDWEB_1:-${RPC_THIRDWEB_1:-${RPC_THIRDWEB_1:-192.168.11.241}}}}" # RPC 2401
|
|
"${RPC_THIRDWEB_2:-${RPC_THIRDWEB_2:-${RPC_THIRDWEB_2:-${RPC_THIRDWEB_2:-192.168.11.242}}}}" # RPC 2402
|
|
"${RPC_ALLTRA_1:-192.168.11.250}" # RPC 2500
|
|
"${RPC_ALI_1:-${RPC_ALI_1:-${RPC_ALI_1:-${RPC_ALI_1:-192.168.11.251}}}}" # RPC 2501
|
|
"${RPC_ALI_2:-${RPC_ALI_2:-${RPC_ALI_2:-${RPC_ALI_2:-192.168.11.252}}}}" # RPC 2502
|
|
"192.168.11.253" # RPC 2503
|
|
"192.168.11.254" # RPC 2504
|
|
"${IP_VAULT_PHOENIX_2:-192.168.11.201}" # RPC 2505
|
|
"192.168.11.202" # RPC 2506
|
|
"192.168.11.203" # RPC 2507
|
|
"192.168.11.204" # RPC 2508
|
|
)
|
|
|
|
echo "=== Filtering Node Lists ==="
|
|
echo ""
|
|
|
|
# Create associative array of valid IPs
|
|
declare -A VALID_IP_MAP
|
|
for ip in "${VALID_IPS[@]}"; do
|
|
VALID_IP_MAP["$ip"]=1
|
|
done
|
|
|
|
# Parse current file and keep only valid IPs
|
|
declare -A KEPT_ENODES
|
|
KEPT_COUNT=0
|
|
REMOVED_COUNT=0
|
|
|
|
while IFS= read -r line; do
|
|
enode=$(echo "$line" | grep -o 'enode://[^"]*' || echo "")
|
|
if [ -n "$enode" ]; then
|
|
ip=$(echo "$enode" | sed -n 's/.*@\([0-9.]*\):.*/\1/p')
|
|
if [ -n "${VALID_IP_MAP[$ip]}" ]; then
|
|
KEPT_ENODES["$ip"]="$enode"
|
|
((KEPT_COUNT++))
|
|
else
|
|
echo "Removing old/migrated IP: $ip"
|
|
((REMOVED_COUNT++))
|
|
fi
|
|
fi
|
|
done < <(cat "$STATIC_NODES_FILE" | jq -r '.[]' 2>/dev/null || grep -o 'enode://[^"]*' "$STATIC_NODES_FILE" 2>/dev/null || echo "")
|
|
|
|
echo ""
|
|
echo "Kept: $KEPT_COUNT enodes"
|
|
echo "Removed: $REMOVED_COUNT old/migrated enodes"
|
|
echo ""
|
|
|
|
# Generate cleaned file
|
|
OUTPUT_FILE="${STATIC_NODES_FILE}.fixed"
|
|
echo "[" > "$OUTPUT_FILE"
|
|
|
|
FIRST=true
|
|
for ip in "${VALID_IPS[@]}"; do
|
|
if [ -n "${KEPT_ENODES[$ip]}" ]; then
|
|
if [ "$FIRST" = false ]; then
|
|
echo "," >> "$OUTPUT_FILE"
|
|
fi
|
|
echo -n " \"${KEPT_ENODES[$ip]}\"" >> "$OUTPUT_FILE"
|
|
FIRST=false
|
|
fi
|
|
done
|
|
|
|
echo "" >> "$OUTPUT_FILE"
|
|
echo "]" >> "$OUTPUT_FILE"
|
|
|
|
# Verify and update
|
|
if jq empty "$OUTPUT_FILE" 2>/dev/null; then
|
|
BACKUP="${STATIC_NODES_FILE}.backup.$(date +%Y%m%d_%H%M%S)"
|
|
cp "$STATIC_NODES_FILE" "$BACKUP"
|
|
cp "$OUTPUT_FILE" "$STATIC_NODES_FILE"
|
|
cp "$OUTPUT_FILE" "$PERMISSIONED_NODES_FILE"
|
|
echo "✓ Files updated (backup: $BACKUP)"
|
|
echo "✓ Kept $KEPT_COUNT enodes, removed $REMOVED_COUNT old entries"
|
|
else
|
|
echo "✗ Generated invalid JSON"
|
|
exit 1
|
|
fi
|