45 lines
1.8 KiB
Bash
Executable File
45 lines
1.8 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Script d'intégration pour vérifier et transférer des fonds automatiquement
|
|
# Usage: ./check_and_transfer_funds.sh [min_amount]
|
|
|
|
set -e
|
|
|
|
MIN_AMOUNT=${1:-0.001} # Montant minimum en BTC (par défaut 0.001 BTC = 100,000 sats)
|
|
COOKIE_FILE="/home/bitcoin/.bitcoin/signet/.cookie"
|
|
RELAY_WALLET="default"
|
|
|
|
echo "=== VÉRIFICATION ET TRANSFERT AUTOMATIQUE DE FONDS ==="
|
|
|
|
# Vérifier les fonds du relay dans la configuration
|
|
echo "Vérification des fonds du relay..."
|
|
OUTPUTS_COUNT=$(docker exec sdk_relay cat /home/bitcoin/.4nk/default 2>/dev/null | jq -r '.outputs | length // 0' 2>/dev/null || echo "0")
|
|
|
|
if [ "$OUTPUTS_COUNT" -gt 0 ]; then
|
|
echo "Le relay a déjà des fonds ($OUTPUTS_COUNT outputs). Aucun transfert nécessaire."
|
|
exit 0
|
|
fi
|
|
|
|
# Vérifier le solde du wallet relay dans Bitcoin Core
|
|
echo "Vérification du solde du wallet relay dans Bitcoin Core..."
|
|
docker exec bitcoin-signet bitcoin-cli -signet -rpccookiefile="$COOKIE_FILE" loadwallet "$RELAY_WALLET" > /dev/null 2>&1 || true
|
|
RELAY_BALANCE=$(docker exec bitcoin-signet bitcoin-cli -signet -rpccookiefile="$COOKIE_FILE" -rpcwallet="$RELAY_WALLET" getbalance 2>/dev/null || echo "0")
|
|
|
|
if [ "$(echo "$RELAY_BALANCE >= $MIN_AMOUNT" | bc -l)" = "1" ]; then
|
|
echo "Le relay a suffisamment de fonds ($RELAY_BALANCE BTC >= $MIN_AMOUNT BTC). Aucun transfert nécessaire."
|
|
exit 0
|
|
fi
|
|
|
|
echo "Fonds insuffisants détectés. Lancement du transfert automatique..."
|
|
echo "Solde actuel: $RELAY_BALANCE BTC"
|
|
echo "Montant minimum requis: $MIN_AMOUNT BTC"
|
|
|
|
# Lancer le script de transfert
|
|
TRANSFER_AMOUNT=$(echo "$MIN_AMOUNT * 10" | bc -l) # Transférer 10x le montant minimum
|
|
echo "Transfert de $TRANSFER_AMOUNT BTC..."
|
|
|
|
# Exécuter le script de transfert
|
|
./scripts/funds/simple_transfer.sh "$TRANSFER_AMOUNT"
|
|
|
|
echo "=== VÉRIFICATION ET TRANSFERT TERMINÉ ==="
|