2020-05-01 15:19:51 +02:00
|
|
|
#!/bin/bash
|
2020-05-07 02:27:11 +02:00
|
|
|
################################################################################
|
|
|
|
# Author: Fred (support@qo-op.com)
|
|
|
|
# Version: 1.0
|
|
|
|
# License: AGPL-3.0 (https://choosealicense.com/licenses/agpl-3.0/)
|
|
|
|
################################################################################
|
2020-05-01 15:19:51 +02:00
|
|
|
# If 4 words provided => Check if Billet exists and return BILLET AMOUNT VALUE
|
|
|
|
# If 7 words provided => if Billet exists, transfer AMOUNT to PHONE & destroy BILLET
|
|
|
|
# License: AGPL-3.0 (https://choosealicense.com/licenses/agpl-3.0/)
|
2020-05-12 23:25:52 +02:00
|
|
|
MY_PATH="`dirname \"$0\"`" # relative
|
|
|
|
MY_PATH="`( cd \"$MY_PATH\" && pwd )`" # absolutized and normalized
|
|
|
|
source $MY_PATH/init.sh
|
|
|
|
source $MY_PATH/functions.sh
|
|
|
|
|
2020-05-01 15:19:51 +02:00
|
|
|
log "X sms_BILLETCHK.sh $0"
|
|
|
|
|
|
|
|
PHONE="$1"
|
|
|
|
CODE="$2 $3"
|
|
|
|
SEC="$4 $5 $6 $7"
|
|
|
|
|
|
|
|
# Construct billet path
|
|
|
|
bpath=$(echo "$CODE" | sed 's/ /_/g')
|
|
|
|
|
2020-05-11 07:04:18 +02:00
|
|
|
if [ -d "/home/$YOU/.zen/g1billets/$bpath" ]
|
2020-05-01 15:19:51 +02:00
|
|
|
then
|
2020-05-11 07:04:18 +02:00
|
|
|
SECRET=$(cat "/home/$YOU/.zen/g1billets/$bpath/note.secret")
|
|
|
|
SALT=$(cat "/home/$YOU/.zen/g1billets/$bpath/note.salt")
|
|
|
|
VALbillet=$(cat "/home/$YOU/.zen/g1billets/$bpath/note.value")
|
|
|
|
UNIT=$(cat "/home/$YOU/.zen/g1billets/$bpath/note.unit")
|
|
|
|
BILLETPUBKEY=$(cat "/home/$YOU/.zen/g1billets/$bpath/note.pubkey")
|
2020-05-01 15:19:51 +02:00
|
|
|
|
2020-05-07 03:14:26 +02:00
|
|
|
# Check account amount
|
|
|
|
declare -a accounting
|
|
|
|
accounting=($(check_account))
|
|
|
|
log "$(declare -p accounting)"
|
|
|
|
AMOUNTG1=${accounting[0]}
|
|
|
|
AMOUNT=${accounting[1]}
|
|
|
|
UNIT=${accounting[2]}
|
2020-05-01 15:19:51 +02:00
|
|
|
log "Billet: $AMOUNTG1 ($VALbillet $UNIT): $BILLETPUBKEY"
|
|
|
|
|
|
|
|
# NO GOOD SECRET
|
|
|
|
if [[ "$SEC" != "$SECRET" ]]; then
|
|
|
|
# SEND ACTUAL BILLET VALUE
|
|
|
|
mess="[G1SMS]
|
|
|
|
Billet de $VALbillet $UNIT Valide!
|
|
|
|
Valeur: $AMOUNTG1 G1
|
|
|
|
https://www.g1sms.fr/contact"
|
|
|
|
sms_SEND "$PHONE" "$mess"
|
2020-05-12 11:01:52 +02:00
|
|
|
log "BILLETCHK: $VALbillet $UNIT ($AMOUNTG1 G1) $bpath"
|
2020-05-01 15:19:51 +02:00
|
|
|
else
|
|
|
|
# TRANSFER & DESTROY
|
|
|
|
sms_INIT_ACCOUNT "$PHONE" "NOSMS"
|
|
|
|
if [[ "$UNKNOWN" == "unknown" ]]; then
|
|
|
|
# Account creation
|
|
|
|
sms_INIT_ACCOUNT "$PHONE"
|
|
|
|
fi
|
|
|
|
|
2020-05-11 07:04:18 +02:00
|
|
|
echo "${IPFSPrivKey}" | gpg -d -q --output "/tmp/note.dunikey" --yes --pinentry-mode loopback --passphrase-fd 0 "/home/$YOU/.zen/g1billets/$bpath/note.dunikey.IPFSPrivKey.gpg"
|
2020-05-07 03:14:26 +02:00
|
|
|
|
2020-05-13 13:03:56 +02:00
|
|
|
duniter_server=$($MY_PATH/tools/duniter_getnode.sh)
|
2020-05-07 03:14:26 +02:00
|
|
|
PAY=$(silkaj -p "$duniter_server" -af --file /tmp/note.dunikey tx --output "$PUBKEY" --amount "$AMOUNTG1" --comment "[G1sms+] $NODE_G1PUBKEY:RAZ:$CODE" -y)
|
|
|
|
if [[ "$(echo $PAY | grep 'successful')" != "" && "$PAY" != "" ]]; then
|
2020-05-01 15:19:51 +02:00
|
|
|
# DESTROY BILLET
|
2020-05-11 07:04:18 +02:00
|
|
|
rm -Rf /home/$YOU/.zen/g1billets/$bpath
|
2020-05-01 15:19:51 +02:00
|
|
|
# DESTROY PUBLIC CACHE in /tmp
|
|
|
|
if [ -d "/tmp/billets_valides/$bpath" ]; then
|
|
|
|
rm -Rf /tmp/billets_valides/$bpath
|
|
|
|
fi
|
|
|
|
|
2020-05-07 03:14:26 +02:00
|
|
|
SOLDE=$(silkaj_balance $PUBKEY)
|
2020-05-01 15:19:51 +02:00
|
|
|
|
|
|
|
mess="[G1SMS]
|
|
|
|
ENCAISSEMENT de $VALbillet $UNIT ($AMOUNTG1 G1)
|
|
|
|
dans portefeuille $UIDNA ($PHONE)
|
|
|
|
OK!
|
|
|
|
Solde: $SOLDE G1"
|
|
|
|
sms_SEND "$PHONE" "$mess"
|
|
|
|
log "BILLETCHK DESTROY: $VALbillet $UNIT ($AMOUNTG1 G1)"
|
|
|
|
log "=> $PUBKEY"
|
|
|
|
else
|
|
|
|
sms_ERROR "$PHONE" "Erreur! Transaction Impossible! Valeur du G1Billet $AMOUNTG1 G1. Contactez $ADMINPSEUDO : $ADMINPHONE"
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
else
|
|
|
|
sms_SEND "$PHONE" "BILLET \"$CODE\" INCONNU !!"
|
|
|
|
fi
|
|
|
|
|
2020-05-21 02:34:16 +02:00
|
|
|
[[ -d /home/$YOU/.zen/g1sms/$PHONE ]] && [[ $(whoami) == "root" ]] && chown -R $YOU /home/$YOU/.zen/g1sms/$PHONE
|
2020-05-12 22:37:53 +02:00
|
|
|
|
2020-05-01 15:19:51 +02:00
|
|
|
log "END sms_BILLETCHK.sh"
|
|
|
|
log "~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
|