Files
proxmox/scripts/archive/consolidated/fix/fix-node-lists-final.sh.bak
defiQUG fbda1b4beb
Some checks failed
Deploy to Phoenix / deploy (push) Has been cancelled
docs: Ledger Live integration, contract deploy learnings, NEXT_STEPS updates
- 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>
2026-02-12 15:46:57 -08:00

105 lines
3.0 KiB
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
# 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=(
"192.168.11.100" # Validator 1000
"192.168.11.101" # Validator 1001
"192.168.11.102" # Validator 1002
"192.168.11.103" # Validator 1003
"192.168.11.104" # Validator 1004
"192.168.11.150" # Sentry 1500
"192.168.11.151" # Sentry 1501
"192.168.11.152" # Sentry 1502
"192.168.11.153" # Sentry 1503
"192.168.11.211" # RPC 2101
"192.168.11.240" # RPC 2400
"192.168.11.241" # RPC 2401
"192.168.11.242" # RPC 2402
"192.168.11.250" # RPC 2500
"192.168.11.251" # RPC 2501
"192.168.11.252" # RPC 2502
"192.168.11.253" # RPC 2503
"192.168.11.254" # RPC 2504
"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