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>
105 lines
3.0 KiB
Bash
Executable File
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
|