#!/bin/bash _temp="./download/dialog.$$" _error="./.error.out" echo "please wait ..." # load raspiblitz config data (with backup from old config) source /home/admin/raspiblitz.info source /mnt/hdd/raspiblitz.conf if [ ${#network} -eq 0 ]; then network=`cat .network`; fi if [ ${#network} -eq 0 ]; then network="bitcoin"; fi if [ ${#chain} -eq 0 ]; then chain=$(${network}-cli -datadir=/home/bitcoin/.${network} getblockchaininfo | jq -r '.chain') fi # check if user has money in lightning channels - info about close all openChannels=$(lncli --chain=${network} --network=${chain}net listchannels 2>/dev/null | jq '.[] | length') if [ ${#openChannels} -eq 0 ]; then clear echo "*** IMPORTANT **********************************" echo "It looks like LND is not responding." echo "Still starting up, is locked or is not running?" echo "Try later, try reboot or check ./XXdebugLogs.sh" echo "************************************************" echo "Press ENTER to return to main menu." read key exit 1 fi if [ ${openChannels} -gt 0 ]; then whiptail --title 'Info' --yes-button='Cashout Anyway' --no-button='Go Back' --yesno 'You still have funds in open Lightning Channels.\nUse CLOSEALL first if you want to cashout all funds.\nNOTICE: Just confirmed on-chain funds can be moved' 10 56 if [ $? -eq 1 ]; then exit 1 fi echo "..." fi # check if money is waiting to get confirmed unconfirmed=$(lncli --chain=${network} --network=${chain}net walletbalance | grep '"unconfirmed_balance"' | cut -d '"' -f4) if [ ${unconfirmed} -gt 0 ]; then whiptail --title 'Info' --yes-button='Cashout Anyway' --no-button='Go Back' --yesno "Still waiting confirmation for (some of) your funds.\nNOTICE: Just confirmed on-chain funds can be moved." 8 58 if [ $? -eq 1 ]; then exit 1 fi echo "..." fi # let user enter the address l1="Enter on-chain address to send confirmed funds to:" dialog --title "Where to send funds?" --inputbox "\n$l1\n" 9 75 2>$_temp if test $? -eq 0 then echo "ok pressed" else echo "cancel pressed" exit 1 fi address=$(cat $_temp | xargs) shred $_temp if [ ${#address} -eq 0 ]; then echo "FAIL - not a valid address (${address})" echo "Press ENTER to return to main menu." read key exit 1 fi clear echo "******************************" echo "Sweep all possible Funds" echo "******************************" # execute command command="lncli --chain=${network} --network=${chain}net sendcoins --sweepall --addr=${address} --conf_target=6" echo "$command" result=$($command 2>$_error) error=`cat ${_error}` echo "" if [ ${#error} -gt 0 ]; then echo "FAIL: $error" echo "" echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" echo "FAIL --> Was not able to send transaction (see error above)" echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" else echo "Result: $result" echo "" echo "********************************************************************" fi echo "" echo "Press ENTER to return to main menu." read key