core-lightning/contrib/lightning-pay
Rusty Russell 8375857116 common: absorb remaining files from daemon/
Also, we split the more sophisticated json_add helpers to avoid pulling in
everything into lightning-cli, and unify the routines to print struct
short_channel_id (it's ':',  not '/' too).

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2017-08-29 17:54:14 +02:00

33 lines
824 B
Bash
Executable File

#! /bin/sh -e
# A terrible script to make a payment.
if [ $# -ne 3 ]; then
echo "Usage: <destination-id> <amount-in-milli-satoshi> <payment-hash>" >&2
exit 1
fi
DEST="$1"
AMOUNT="$2"
PHASH="$3"
if ROUTE=`cli/lightning-cli getroute $DEST $AMOUNT 1`; then
# Strip down to raw array.
ROUTE=`echo $ROUTE | sed 's/^{ "route" : \(.*\) }$/\1/'`
# Get first amount.
PAID=`echo $ROUTE | tr , '\012' | sed -n 's/.*msatoshi[^0-9]*\([0-9]*\).*/\1/p' | head -n1`
echo -n "Paying fee $(($PAID - $AMOUNT)) on $AMOUNT ("`echo "scale=3; ($PAID - $AMOUNT) * 100 / $AMOUNT" | bc`"%). Send [Y/n]? "
read REPLY
case $REPLY in
""|y*|Y)
cli/lightning-cli sendpay "$ROUTE" "$PHASH"
exit
;;
*)
echo Not sending.
exit 1
;;
esac
else
echo Routing failed >&2
exit 1
fi