Add pay meca
This commit is contained in:
parent
c93b5bc661
commit
8edca7d441
|
@ -6,8 +6,8 @@ MY_PATH="`( cd \"$MY_PATH\" && pwd )`" # absolutized and normalized
|
||||||
[[ -n $MY_PATH/.env ]] && source $MY_PATH/.env || (echo "Please create $MY_PATH/.env as $MY_PATH/.env.example" && exit 1)
|
[[ -n $MY_PATH/.env ]] && source $MY_PATH/.env || (echo "Please create $MY_PATH/.env as $MY_PATH/.env.example" && exit 1)
|
||||||
|
|
||||||
sendmsg() {
|
sendmsg() {
|
||||||
chan="$1"
|
local chan="$1"
|
||||||
msg="${@:2}"
|
local msg="${@:2}"
|
||||||
|
|
||||||
[[ ! $chan || ! $msg ]] && echo "Please select user and message." && exit 0
|
[[ ! $chan || ! $msg ]] && echo "Please select user and message." && exit 0
|
||||||
|
|
||||||
|
@ -19,35 +19,41 @@ sendmsg() {
|
||||||
}
|
}
|
||||||
|
|
||||||
info_account() {
|
info_account() {
|
||||||
chan="$1"
|
local chan="$1"
|
||||||
[[ ! $chan ]] && echo "Please select user." && exit 0
|
[[ ! $chan ]] && echo "Please select user." && exit 0
|
||||||
homedir="$HOME/.bog/ids/axiomchat/$chan"
|
local homedir="$HOME/.bog/ids/axiomchat/$chan"
|
||||||
|
|
||||||
if [[ -d $homedir ]]; then
|
if [[ -d $homedir ]]; then
|
||||||
source $homedir/db
|
source $homedir/db
|
||||||
echo "Voici les identifiants de connexion de votre ḠCompte:"
|
sendmsg $chan "Voici les identifiants de connexion de votre ḠCompte: \n \
|
||||||
echo -e "Login: **$salt**\nMot de passe: **$pepper**\nClé publique: **$pubkey**"
|
Login: **$salt**\nMot de passe: **$pepper**\nClé publique: **$pubkey** \n \
|
||||||
|
Calcul du solde de votre compte en cours ..."
|
||||||
|
|
||||||
|
local solde=$($silkaj balance $pubkey | grep "Total Quantitative" | awk -F= '{ print $2 }' | cut -c2-)
|
||||||
|
echo "Votre solde est de **$solde**"
|
||||||
else
|
else
|
||||||
echo "Vous n'avez pas de compte chez nous."
|
echo "Vous n'avez pas de compte chez nous."
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
init_account() {
|
init_account() {
|
||||||
chan="$1"
|
local chan="$1"
|
||||||
[[ ! $chan ]] && echo "Please select user." && exit 0
|
[[ ! $chan ]] && echo "Please select user." && exit 0
|
||||||
homedir="$HOME/.bog/ids/axiomchat/$chan"
|
local homedir="$HOME/.bog/ids/axiomchat/$chan"
|
||||||
if [[ -f $homedir/secret.dunikey ]]; then
|
if [[ -f $homedir/secret.dunikey ]]; then
|
||||||
pubkey=$(cat $homedir/secret.dunikey| grep "pub: " | awk '{ print $2 }')
|
pubkey=$(cat $homedir/secret.dunikey| grep "pub: " | awk '{ print $2 }')
|
||||||
echo "Vous disposez déjà d'un portefeuille Ḡ1: **$pubkey**"
|
echo "Vous disposez déjà d'un portefeuille Ḡ1: **$pubkey**"
|
||||||
exit 0
|
exit 0
|
||||||
|
else
|
||||||
|
sendmsg $dest "Création de votre portefeuille..."
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# LOGIN (=SALT)
|
# LOGIN (=SALT)
|
||||||
salt="$($MY_PATH/../dunikey/diceware.sh 6)"
|
local salt="$($MY_PATH/../dunikey/diceware.sh 6)"
|
||||||
# PASS (=PEPPER)
|
# PASS (=PEPPER)
|
||||||
pepper="$($MY_PATH/../dunikey/diceware.sh 4)"
|
local pepper="$($MY_PATH/../dunikey/diceware.sh 4)"
|
||||||
# The pubkey for this salt/papper peer
|
# The pubkey for this salt/papper peer
|
||||||
pubkey=$(python3 $MY_PATH/../dunikey/key_create_dunikey.py "$salt" "$pepper")
|
local pubkey=$(python3 $MY_PATH/../dunikey/key_create_dunikey.py "$salt" "$pepper")
|
||||||
|
|
||||||
[[ ! -f /tmp/secret.dunikey ]] && echo "Arf, problem happens making your secret.dunikey" && exit 0
|
[[ ! -f /tmp/secret.dunikey ]] && echo "Arf, problem happens making your secret.dunikey" && exit 0
|
||||||
[[ ! -d $homedir ]] && mkdir -p $homedir
|
[[ ! -d $homedir ]] && mkdir -p $homedir
|
||||||
|
@ -55,14 +61,14 @@ init_account() {
|
||||||
|
|
||||||
echo -e "salt=\"$salt\"\npepper=\"$pepper\"\npubkey=\"$pubkey\"" > $homedir/db
|
echo -e "salt=\"$salt\"\npepper=\"$pepper\"\npubkey=\"$pubkey\"" > $homedir/db
|
||||||
|
|
||||||
info_account $chan
|
# info_account $chan
|
||||||
# echo "Pubkey: **$pubkey**"
|
echo -e "Votre ḠCompte a bien été créé.\nPubkey: **$pubkey**"
|
||||||
}
|
}
|
||||||
|
|
||||||
rm_account() {
|
rm_account() {
|
||||||
chan="$1"
|
local chan="$1"
|
||||||
[[ ! $chan ]] && echo "Please select user." && exit 0
|
[[ ! $chan ]] && echo "Please select user." && exit 0
|
||||||
homedir="$HOME/.bog/ids/axiomchat/$chan"
|
local homedir="$HOME/.bog/ids/axiomchat/$chan"
|
||||||
|
|
||||||
if [[ -d $homedir ]]; then
|
if [[ -d $homedir ]]; then
|
||||||
source $homedir/db
|
source $homedir/db
|
||||||
|
@ -75,4 +81,30 @@ rm_account() {
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
tx() {
|
||||||
|
local chan="$1"
|
||||||
|
local dest="$2"
|
||||||
|
local amount=$(echo "$3" | tr ',' '.')
|
||||||
|
local comment="${@:4}"
|
||||||
|
local homedir="$HOME/.bog/ids/axiomchat/$chan"
|
||||||
|
|
||||||
|
! [[ $dest && $amount ]] && echo "Des arguments sont manquants. Ex: pay Do99s6wQR2JLfhirPdpAERSjNbmjjECzGxHNJMiNKT3p 10 Merci pour la tarte" && exit 0
|
||||||
|
|
||||||
|
#This shoudl works, but accents are ok and should not... [[ ! "$comment" =~ [^a-zA-Z0-9\ ] ]] && echo OK
|
||||||
|
[[ "$comment" =~ [^abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789/-?:'('')'.+\ ] ]] && echo "Votre commentaire contient des charactères non autorisés." && exit 0
|
||||||
|
[[ -z "$comment" ]] && local comment="Transaction effectuee avec BoG."
|
||||||
|
|
||||||
|
local result=$($silkaj --auth-file --file ~/.bog/ids/axiomchat/$chan/secret.dunikey tx --amount $amount --output $dest --comment "$comment" -y)
|
||||||
|
echo "\`\`\`$result\`\`\`"
|
||||||
|
}
|
||||||
|
|
||||||
|
history() {
|
||||||
|
local chan="$1"
|
||||||
|
local homedir="$HOME/.bog/ids/axiomchat/$chan"
|
||||||
|
source $homedir/db
|
||||||
|
|
||||||
|
local result=$($silkaj history $pubkey)
|
||||||
|
echo "\`\`\`$result\`\`\`"
|
||||||
|
}
|
||||||
|
|
||||||
#[[ $(type $@ | grep "est une fonction") ]] && $@ || echo "Veuillez préciser votre commande"
|
#[[ $(type $@ | grep "est une fonction") ]] && $@ || echo "Veuillez préciser votre commande"
|
||||||
|
|
|
@ -1,7 +1,12 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
node="http://192.168.9.54:45000"
|
MY_PATH="`dirname \"$0\"`" # relative
|
||||||
|
MY_PATH="`( cd \"$MY_PATH\" && pwd )`" # absolutized and normalized
|
||||||
|
|
||||||
|
[[ -n $MY_PATH/.env ]] && source $MY_PATH/.env || (echo "Please create $MY_PATH/.env as $MY_PATH/.env.example" && exit 1)
|
||||||
|
source $MY_PATH/functions.sh
|
||||||
|
|
||||||
|
# Get Ḡ1 pubkey base on pseudo
|
||||||
pubkey() {
|
pubkey() {
|
||||||
url="$node/wot/members"
|
url="$node/wot/members"
|
||||||
args=$(echo $@ | tr ' ' '\n' | grep -v 'biz' | tr '\n' ' ')
|
args=$(echo $@ | tr ' ' '\n' | grep -v 'biz' | tr '\n' ' ')
|
||||||
|
@ -12,6 +17,7 @@ pubkey() {
|
||||||
[[ $pubkey ]] && echo "@$username Ta clé publique Ğ1 est: $pubkey" || echo "@$username n'est pas pseudo membre de la Ḡ1"
|
[[ $pubkey ]] && echo "@$username Ta clé publique Ğ1 est: $pubkey" || echo "@$username n'est pas pseudo membre de la Ḡ1"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Get Ḡ1 pseudo base on pubkey
|
||||||
pseudo() {
|
pseudo() {
|
||||||
url="$node/wot/members"
|
url="$node/wot/members"
|
||||||
args=$(echo $@ | tr ' ' '\n' | grep -v 'biz' | tr '\n' ' ')
|
args=$(echo $@ | tr ' ' '\n' | grep -v 'biz' | tr '\n' ' ')
|
||||||
|
@ -25,7 +31,7 @@ pseudo() {
|
||||||
|
|
||||||
silkaj() {
|
silkaj() {
|
||||||
args=$(echo "$@" | tr ' ' '\n' | grep -vEw 'silkaj|biz' | tr '\n' ' ')
|
args=$(echo "$@" | tr ' ' '\n' | grep -vEw 'silkaj|biz' | tr '\n' ' ')
|
||||||
/usr/bin/silkaj $args || echo "Silkaj ne comprends cette commande."
|
$silkaj $args || echo "Silkaj ne comprends cette commande."
|
||||||
}
|
}
|
||||||
|
|
||||||
membres() {
|
membres() {
|
||||||
|
|
|
@ -5,24 +5,19 @@ MY_PATH="`( cd \"$MY_PATH\" && pwd )`" # absolutized and normalized
|
||||||
|
|
||||||
source $MY_PATH/functions.sh
|
source $MY_PATH/functions.sh
|
||||||
|
|
||||||
#args=$(echo "$@" | tr ' ' '\n' | grep -vEwi 'gbanque|gb|biz' | tr '\n' ' ')
|
|
||||||
args=$(echo "$@" | awk -F '~~~' '{ print $2 }' | tr ' ' '\n' | grep -vEwi 'gbanque|gb|biz' | tr '\n' ' ')
|
args=$(echo "$@" | awk -F '~~~' '{ print $2 }' | tr ' ' '\n' | grep -vEwi 'gbanque|gb|biz' | tr '\n' ' ')
|
||||||
cmd=$(echo $args | awk '{ print $1 }')
|
cmd=$(echo "$args" | awk '{ print $1 }')
|
||||||
user=$(echo $@ | awk -F '~~~' '{ print $3 }')
|
args=$(echo "$args" | awk '{$1=""; print $0}')
|
||||||
room=$(echo $@ | awk -F '~~~' '{ print $4 }')
|
user=$(echo "$@" | awk -F '~~~' '{ print $3 }')
|
||||||
|
room=$(echo "$@" | awk -F '~~~' '{ print $4 }')
|
||||||
|
|
||||||
[[ $room == "undefined" ]] && dest="@$user" || dest="#$room"
|
[[ $room == "undefined" ]] && dest="@$user" || dest="#$room"
|
||||||
|
|
||||||
test() {
|
|
||||||
echo "Je suis là."
|
|
||||||
}
|
|
||||||
|
|
||||||
init() {
|
init() {
|
||||||
## Récupération depuis Ḡ1SMS
|
## Récupération depuis Ḡ1SMS
|
||||||
## ./shell/sms_NEW.sh "$PHONE" "$MEMBERUID" &
|
## ./shell/sms_NEW.sh "$PHONE" "$MEMBERUID" &
|
||||||
## ./silkaj/silkaj generate_auth_file --auth-scrypt -salt="$PHONE" -password="$PIN"
|
## ./silkaj/silkaj generate_auth_file --auth-scrypt -salt="$PHONE" -password="$PIN"
|
||||||
|
|
||||||
sendmsg $dest "Création de votre portefeuille..."
|
|
||||||
# echo "Cette conversation continue en privé @$user - @biz"
|
# echo "Cette conversation continue en privé @$user - @biz"
|
||||||
|
|
||||||
## TODO: Définir le workflow g1sms
|
## TODO: Définir le workflow g1sms
|
||||||
|
@ -30,15 +25,11 @@ init() {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
remove() {
|
remove() { rm_account $dest; }
|
||||||
rm_account $dest
|
info() { info_account $dest; }
|
||||||
}
|
pay() { tx $dest $args; }
|
||||||
|
history() { history $dest; }
|
||||||
|
|
||||||
info() {
|
[[ "$cmd" =~ ^(init|remove|info|pay|history)$ ]] && "$cmd" || echo "Veuillez indiquer une commande valide"
|
||||||
info_account $dest
|
|
||||||
}
|
|
||||||
|
|
||||||
[[ "$cmd" =~ ^(init|remove|info)$ ]] && $cmd || echo "Veuillez indiquer une commande valide"
|
|
||||||
#[[ $(type $cmd | grep "est une fonction") ]] && $cmd || echo "Veuillez préciser votre commande"
|
|
||||||
|
|
||||||
exit 0
|
exit 0
|
||||||
|
|
Reference in New Issue