#!/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" SEC="$4 $5 $6 $7" # 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:$NODE_G1PUBKEY:G1SMS:ENCAISSEMENT:$CODE\" -y" PAY=$(./silkaj/silkaj transaction --auth-scrypt -salt="$CODE" -password="$SEC$SALT" --amount="$AMOUNTG1" --output="$PUBKEY" --comment="THIRD_PARTY_MANAGER:$NODE_G1PUBKEY:ENCAISSEMENT:$CODE" -y) if [[ "$(echo $PAY | cut -d '|' -f 1)" != "KO" ]]; then # DESTROY BILLET rm -Rf ./billets/$bpath # DESTROY PUBLIC CACHE in /tmp if [ -d "/tmp/billets_valides/$bpath" ]; then rm -Rf /tmp/billets_valides/$bpath fi SOLDE=$(./silkaj/silkaj amount "$PUBKEY") 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" log_history $PHONE "BILLET_CHK, $AMOUNTG1, $bpath, $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 !!" log_history $PHONE "BILLET_CHK, ERROR, $bpath" fi log "END sms_BILLETCHK.sh" log "~~~~~~~~~~~~~~~~~~~~~~~~~~~~"