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)
|
||||
|
||||
sendmsg() {
|
||||
chan="$1"
|
||||
msg="${@:2}"
|
||||
local chan="$1"
|
||||
local msg="${@:2}"
|
||||
|
||||
[[ ! $chan || ! $msg ]] && echo "Please select user and message." && exit 0
|
||||
|
||||
|
@ -19,35 +19,41 @@ sendmsg() {
|
|||
}
|
||||
|
||||
info_account() {
|
||||
chan="$1"
|
||||
local chan="$1"
|
||||
[[ ! $chan ]] && echo "Please select user." && exit 0
|
||||
homedir="$HOME/.bog/ids/axiomchat/$chan"
|
||||
local homedir="$HOME/.bog/ids/axiomchat/$chan"
|
||||
|
||||
if [[ -d $homedir ]]; then
|
||||
source $homedir/db
|
||||
echo "Voici les identifiants de connexion de votre ḠCompte:"
|
||||
echo -e "Login: **$salt**\nMot de passe: **$pepper**\nClé publique: **$pubkey**"
|
||||
sendmsg $chan "Voici les identifiants de connexion de votre ḠCompte: \n \
|
||||
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
|
||||
echo "Vous n'avez pas de compte chez nous."
|
||||
fi
|
||||
}
|
||||
|
||||
init_account() {
|
||||
chan="$1"
|
||||
local chan="$1"
|
||||
[[ ! $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
|
||||
pubkey=$(cat $homedir/secret.dunikey| grep "pub: " | awk '{ print $2 }')
|
||||
echo "Vous disposez déjà d'un portefeuille Ḡ1: **$pubkey**"
|
||||
exit 0
|
||||
else
|
||||
sendmsg $dest "Création de votre portefeuille..."
|
||||
fi
|
||||
|
||||
# LOGIN (=SALT)
|
||||
salt="$($MY_PATH/../dunikey/diceware.sh 6)"
|
||||
local salt="$($MY_PATH/../dunikey/diceware.sh 6)"
|
||||
# PASS (=PEPPER)
|
||||
pepper="$($MY_PATH/../dunikey/diceware.sh 4)"
|
||||
local pepper="$($MY_PATH/../dunikey/diceware.sh 4)"
|
||||
# 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
|
||||
[[ ! -d $homedir ]] && mkdir -p $homedir
|
||||
|
@ -55,14 +61,14 @@ init_account() {
|
|||
|
||||
echo -e "salt=\"$salt\"\npepper=\"$pepper\"\npubkey=\"$pubkey\"" > $homedir/db
|
||||
|
||||
info_account $chan
|
||||
# echo "Pubkey: **$pubkey**"
|
||||
# info_account $chan
|
||||
echo -e "Votre ḠCompte a bien été créé.\nPubkey: **$pubkey**"
|
||||
}
|
||||
|
||||
rm_account() {
|
||||
chan="$1"
|
||||
local chan="$1"
|
||||
[[ ! $chan ]] && echo "Please select user." && exit 0
|
||||
homedir="$HOME/.bog/ids/axiomchat/$chan"
|
||||
local homedir="$HOME/.bog/ids/axiomchat/$chan"
|
||||
|
||||
if [[ -d $homedir ]]; then
|
||||
source $homedir/db
|
||||
|
@ -75,4 +81,30 @@ rm_account() {
|
|||
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"
|
||||
|
|
|
@ -1,7 +1,12 @@
|
|||
#!/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() {
|
||||
url="$node/wot/members"
|
||||
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"
|
||||
}
|
||||
|
||||
# Get Ḡ1 pseudo base on pubkey
|
||||
pseudo() {
|
||||
url="$node/wot/members"
|
||||
args=$(echo $@ | tr ' ' '\n' | grep -v 'biz' | tr '\n' ' ')
|
||||
|
@ -25,7 +31,7 @@ pseudo() {
|
|||
|
||||
silkaj() {
|
||||
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() {
|
||||
|
|
|
@ -5,24 +5,19 @@ MY_PATH="`( cd \"$MY_PATH\" && pwd )`" # absolutized and normalized
|
|||
|
||||
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' ' ')
|
||||
cmd=$(echo $args | awk '{ print $1 }')
|
||||
user=$(echo $@ | awk -F '~~~' '{ print $3 }')
|
||||
room=$(echo $@ | awk -F '~~~' '{ print $4 }')
|
||||
cmd=$(echo "$args" | awk '{ print $1 }')
|
||||
args=$(echo "$args" | awk '{$1=""; print $0}')
|
||||
user=$(echo "$@" | awk -F '~~~' '{ print $3 }')
|
||||
room=$(echo "$@" | awk -F '~~~' '{ print $4 }')
|
||||
|
||||
[[ $room == "undefined" ]] && dest="@$user" || dest="#$room"
|
||||
|
||||
test() {
|
||||
echo "Je suis là."
|
||||
}
|
||||
|
||||
init() {
|
||||
## Récupération depuis Ḡ1SMS
|
||||
## ./shell/sms_NEW.sh "$PHONE" "$MEMBERUID" &
|
||||
## ./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"
|
||||
|
||||
## TODO: Définir le workflow g1sms
|
||||
|
@ -30,15 +25,11 @@ init() {
|
|||
|
||||
}
|
||||
|
||||
remove() {
|
||||
rm_account $dest
|
||||
}
|
||||
remove() { rm_account $dest; }
|
||||
info() { info_account $dest; }
|
||||
pay() { tx $dest $args; }
|
||||
history() { history $dest; }
|
||||
|
||||
info() {
|
||||
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"
|
||||
[[ "$cmd" =~ ^(init|remove|info|pay|history)$ ]] && "$cmd" || echo "Veuillez indiquer une commande valide"
|
||||
|
||||
exit 0
|
||||
|
|
Reference in New Issue