ripple: deployable mainnet + testnet rippled with health checks

Fix mainnet rippled.cfg (ws,http RPC, port_peer 13331), strip eth-isms
from x-upstreams, add testnet chain assets/compose, and wire --ripple
sync-status via check-health.sh server_info probe.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-07-02 11:46:03 +00:00
parent b8752b0c7e
commit 0c8a3cc4b0
8 changed files with 261 additions and 19 deletions

View File

@@ -54,7 +54,7 @@ for path in $pathlist; do
fi
case "$protocol" in
eth|starknet|aztec|cosmos)
eth|starknet|aztec|cosmos|ripple)
;;
*)
# Protocol family known from the registry but no probe support
@@ -68,9 +68,11 @@ for path in $pathlist; do
is_starknet=false
is_aztec=false
is_cosmos=false
is_ripple=false
[ "$protocol" = "starknet" ] && is_starknet=true
[ "$protocol" = "aztec" ] && is_aztec=true
[ "$protocol" = "cosmos" ] && is_cosmos=true
[ "$protocol" = "ripple" ] && is_ripple=true
ref=''
if [ -n "$2" ]; then
@@ -135,6 +137,12 @@ for path in $pathlist; do
if [ -n "$chain_slug" ]; then
ref=$($BASEPATH/reference-rpc-endpoint.sh --chain "$chain_slug" 2>/dev/null) || ref=""
fi
elif $is_ripple; then
# XRPL: no chainid. Reference by drpc slug (optional — server_state is
# authoritative; ref only adds a validated-ledger seq gap check).
if [ -n "$chain_slug" ]; then
ref=$($BASEPATH/reference-rpc-endpoint.sh --chain "$chain_slug" 2>/dev/null) || ref=""
fi
else
# Ethereum chain ID detection
chain_id_response=$(curl -L --ipv4 -m 1 -s -X POST -H "Content-Type: application/json" --data '{"jsonrpc":"2.0","method":"eth_chainId","params":[],"id":1}' $RPC_URL)
@@ -186,6 +194,8 @@ for path in $pathlist; do
timeout "$HC_TIMEOUT" $BASEPATH/check-health.sh "$RPC_URL" --starknet $ref
elif $is_cosmos; then
timeout "$HC_TIMEOUT" $BASEPATH/check-health.sh "$RPC_URL" --cosmos $ref
elif $is_ripple; then
timeout "$HC_TIMEOUT" $BASEPATH/check-health.sh "$RPC_URL" --ripple $ref
else
timeout "$HC_TIMEOUT" $BASEPATH/check-health.sh "$RPC_URL" $ref
fi