#!/bin/bash # 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/) source ./shell/init.sh source ./shell/functions.sh log "X sms_BILLETCHK.sh $0" PHONE="$1" CODE="$2 $3 $4 $5" SEC="$6 $7 $8" # Construct billet path bpath=$(echo "$CODE" | sed 's/ /_/g') if [ -d "./billets/$bpath" ] then SECRET=$(cat "./billets/$bpath/note.secret") SALT=$(cat "./billets/$bpath/note.salt") VALbillet=$(cat "./billets/$bpath/note.value") UNIT=$(cat "./billets/$bpath/note.unit") BILLETPUBKEY=$(cat "./billets/$bpath/note.pubkey") AMOUNTG1=$(./silkaj/silkaj amount "$BILLETPUBKEY") 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" log "BILLETCHK: $VALbillet $UNIT ($AMOUNTG1 G1)" log_history $PHONE "BILLET_CHK, $AMOUNTG1, $bpath" else # TRANSFER & DESTROY sms_INIT_ACCOUNT "$PHONE" "NOSMS" if [[ "$UNKNOWN" == "unknown" ]]; then # Account creation sms_INIT_ACCOUNT "$PHONE" fi log "./silkaj/silkaj transaction --auth-scrypt -salt=\"$CODE\" -password=\"$SEC $SALT\" --amount=\"$AMOUNTG1\" --output=\"$PUBKEY\" --comment=\"THIRD_PARTY_MANAGER:$MASTERPUB:G1SMS:ENCAISSEMENT:$CODE\" -y" PAY=$(./silkaj/silkaj transaction --auth-scrypt -salt="$CODE" -password="$SEC $SALT" --amount="$AMOUNTG1" --output="$PUBKEY" --comment="THIRD_PARTY_MANAGER:$MASTERPUB:ENCAISSEMENT:$CODE" -y) if [[ "$(echo $PAY | cut -d '|' -f 1)" != "KO" ]]; then # DESTROY BILLET rm -f ./billets/$bpath/note.* rmdir ./billets/$bpath # DESTROY PUBLIC CACHE in /tmp if [ -d "/tmp/billets_valides/$bpath" ]; then rm -f /tmp/billets_valides/$bpath/* rmdir /tmp/billets_valides/$bpath fi SOLDE=$(./silkaj/silkaj amount "$PUBKEY") mess="[G1SMS] ENCAISSEMENT de $VALbillet $UNIT ($AMOUNTG1 G1) ds le porte-monnaie $PHONE ($PUBKEY) OK! Solde: $SOLDE G1" sms_SEND "$PHONE" "$mess" log "BILLETCHK DESTROY: $VALbillet $UNIT ($AMOUNTG1 G1)" log "=> $PUBKEY" log_history $PHONE "BILLET_CHK, $AMOUNTG1, $bpath, $PUBKEY" else sms_ERROR "$PHONE" "Erreur! Transaction Impossible... Réessayez plus tard ou contactez $ADMINPSEUDO : $ADMINPHONE" fi fi else sms_SEND "$PHONE" "BILLET \"$CODE\" INCONNU !!" log_history $PHONE "BILLET_CHK, ERROR, $bpath" fi log "END sms_BILLETCHK.sh" log "~~~~~~~~~~~~~~~~~~~~~~~~~~~~"