summaryrefslogtreecommitdiff
path: root/bin
diff options
context:
space:
mode:
Diffstat (limited to 'bin')
-rw-r--r--bin/rates24
-rwxr-xr-xbin/xchg.buy89
-rwxr-xr-xbin/xchg.getdoublerate3
-rwxr-xr-xbin/xchg.getrate3
-rwxr-xr-xbin/xchg.getrates3
-rwxr-xr-xbin/xchg.give90
-rw-r--r--bin/xchg.help10
-rwxr-xr-xbin/xchg.init4
-rwxr-xr-xbin/xchg.list5
9 files changed, 231 insertions, 0 deletions
diff --git a/bin/rates b/bin/rates
new file mode 100644
index 0000000..5a92b59
--- /dev/null
+++ b/bin/rates
@@ -0,0 +1,24 @@
+{
+ "USD" : {"15m" : 6427.15, "last" : 6427.15, "buy" : 6427.15, "sell" : 6427.15, "symbol" : "$"},
+ "AUD" : {"15m" : 8790.79, "last" : 8790.79, "buy" : 8790.79, "sell" : 8790.79, "symbol" : "$"},
+ "BRL" : {"15m" : 25277.38, "last" : 25277.38, "buy" : 25277.38, "sell" : 25277.38, "symbol" : "R$"},
+ "CAD" : {"15m" : 8399.3, "last" : 8399.3, "buy" : 8399.3, "sell" : 8399.3, "symbol" : "$"},
+ "CHF" : {"15m" : 6385.05, "last" : 6385.05, "buy" : 6385.05, "sell" : 6385.05, "symbol" : "CHF"},
+ "CLP" : {"15m" : 4292375.13, "last" : 4292375.13, "buy" : 4292375.13, "sell" : 4292375.13, "symbol" : "$"},
+ "CNY" : {"15m" : 44082.89, "last" : 44082.89, "buy" : 44082.89, "sell" : 44082.89, "symbol" : "¥"},
+ "DKK" : {"15m" : 41914.54, "last" : 41914.54, "buy" : 41914.54, "sell" : 41914.54, "symbol" : "kr"},
+ "EUR" : {"15m" : 5628.79, "last" : 5628.79, "buy" : 5628.79, "sell" : 5628.79, "symbol" : "€"},
+ "GBP" : {"15m" : 5031.26, "last" : 5031.26, "buy" : 5031.26, "sell" : 5031.26, "symbol" : "£"},
+ "HKD" : {"15m" : 50451.56, "last" : 50451.56, "buy" : 50451.56, "sell" : 50451.56, "symbol" : "$"},
+ "INR" : {"15m" : 448702.8, "last" : 448702.8, "buy" : 448702.8, "sell" : 448702.8, "symbol" : "₹"},
+ "ISK" : {"15m" : 696961.02, "last" : 696961.02, "buy" : 696961.02, "sell" : 696961.02, "symbol" : "kr"},
+ "JPY" : {"15m" : 712850.89, "last" : 712850.89, "buy" : 712850.89, "sell" : 712850.89, "symbol" : "¥"},
+ "KRW" : {"15m" : 7208053.77, "last" : 7208053.77, "buy" : 7208053.77, "sell" : 7208053.77, "symbol" : "₩"},
+ "NZD" : {"15m" : 9696.83, "last" : 9696.83, "buy" : 9696.83, "sell" : 9696.83, "symbol" : "$"},
+ "PLN" : {"15m" : 24194.07, "last" : 24194.07, "buy" : 24194.07, "sell" : 24194.07, "symbol" : "zł"},
+ "RUB" : {"15m" : 432235.78, "last" : 432235.78, "buy" : 432235.78, "sell" : 432235.78, "symbol" : "RUB"},
+ "SEK" : {"15m" : 58987.13, "last" : 58987.13, "buy" : 58987.13, "sell" : 58987.13, "symbol" : "kr"},
+ "SGD" : {"15m" : 8812.36, "last" : 8812.36, "buy" : 8812.36, "sell" : 8812.36, "symbol" : "$"},
+ "THB" : {"15m" : 212144.3, "last" : 212144.3, "buy" : 212144.3, "sell" : 212144.3, "symbol" : "฿"},
+ "TWD" : {"15m" : 197782.91, "last" : 197782.91, "buy" : 197782.91, "sell" : 197782.91, "symbol" : "NT$"}
+} \ No newline at end of file
diff --git a/bin/xchg.buy b/bin/xchg.buy
new file mode 100755
index 0000000..a0a3a8a
--- /dev/null
+++ b/bin/xchg.buy
@@ -0,0 +1,89 @@
+#!/usr/bin/env bash
+nick=$1
+amount=$2
+target=$3
+source=$4
+if [ "$nick" = "" ];then
+ echo missing argument for nick
+ exit 1
+fi
+if [ ! -d /var/cache/segfault/xchg/$nick/ ];then
+ /home/segfault/bin/xchg.init $nick
+fi
+if [ "$amount" = "" ];then
+ echo missing argument for amount
+ exit 1
+fi
+if [ "$target" = "" ];then
+ echo missing argument for target currency
+ exit 1
+fi
+if [ "$source" = "" ];then
+ echo missing argument for source currency
+ exit 1
+fi
+
+rate=1
+
+#if [ $target != BTC ];then
+# rate2=$(/home/segfault/bin/xchg.getrate $target)
+# if [ "$rate2" = "null" ];then
+# echo "invalid currency type $target used"
+# exit 1
+# fi
+# rate=$(echo | awk "{print $rate / $rate2}")
+#fi
+
+#if [ $source != BTC ];then
+# rate2=$(/home/segfault/bin/xchg.getrate $source)
+# if [ "$rate2" = "null" ];then
+# echo "invalid currency type $source used"
+# exit 1
+# fi
+# rate=$(echo | awk "{print $rate * $rate2}")
+#fi
+
+rate=$(/home/segfault/bin/xchg.getdoublerate $source $target)
+
+walletsrc=$(cat /var/cache/segfault/xchg/$nick/$source 2>&-)
+walletdst=$(cat /var/cache/segfault/xchg/$nick/$target 2>&-)
+
+if [ "$walletsrc" = "" ];then
+ walletsrc=0
+fi
+if [ "$walletdst" = "" ];then
+ walletdst=0
+fi
+
+### if other types of ways of specifying how much are added, remember to set both srcamt and amount.
+if [ $amount = "all" ];then
+ amount="100%"
+fi
+if grep '%' <<< "$amount" 2>&1 > /dev/null;then
+ percentage="$(printf "%s\n" "$amount" | tr -cd '0-9.')"
+ srcamt="$(echo | awk "{print ($percentage / 100) * $walletsrc}")"
+ amount=$(echo | awk "{print $srcamt / $rate}")
+else
+ srcamt=$(echo | awk "{print $amount * $rate}")
+fi
+
+if [ "$srcamt" = "" ];then
+ srcamt=0
+fi
+
+echo trying to buy $amount of $target for $srcamt $source...
+
+
+postwalletsrc=$(echo | awk "{print $walletsrc - $srcamt}")
+
+if printf "%s\n" $postwalletsrc | grep ^- 2>&1 > /dev/null;then
+ echo you, $1, would need to have $srcamt $source to buy $amount $target. you only have $walletsrc $source.
+ exit 1
+fi
+
+### if we got here we have enough money... guess make the purchase
+#echo updating your source wallet...
+echo $(echo | awk "{print $walletsrc - $srcamt}") > /var/cache/segfault/xchg/$nick/$source
+#echo updating your target wallet...
+echo $(echo | awk "{print $walletdst + $amount}") > /var/cache/segfault/xchg/$nick/$target
+echo done
diff --git a/bin/xchg.getdoublerate b/bin/xchg.getdoublerate
new file mode 100755
index 0000000..2a29c8c
--- /dev/null
+++ b/bin/xchg.getdoublerate
@@ -0,0 +1,3 @@
+#!/bin/sh
+wget -qO- "https://min-api.cryptocompare.com/data/price?fsym=$2&tsyms=$1" | jq '.["'"$1"'"]'
+#/home/segfault/bin/xchg.getrates | jq '.["'"$1"'"].last'
diff --git a/bin/xchg.getrate b/bin/xchg.getrate
new file mode 100755
index 0000000..b545667
--- /dev/null
+++ b/bin/xchg.getrate
@@ -0,0 +1,3 @@
+#!/bin/sh
+wget -qO- "https://min-api.cryptocompare.com/data/price?fsym=BTC&tsyms=$1" | jq '.["'"$1"'"]'
+#/home/segfault/bin/xchg.getrates | jq '.["'"$1"'"].last'
diff --git a/bin/xchg.getrates b/bin/xchg.getrates
new file mode 100755
index 0000000..3a73af2
--- /dev/null
+++ b/bin/xchg.getrates
@@ -0,0 +1,3 @@
+#!/bin/sh
+#cat /home/segfault/bin/rates
+wget -qO- https://blockchain.info/ticker
diff --git a/bin/xchg.give b/bin/xchg.give
new file mode 100755
index 0000000..11f6158
--- /dev/null
+++ b/bin/xchg.give
@@ -0,0 +1,90 @@
+#!/usr/bin/env bash
+nick=$1
+amount=$2
+type=$3
+dstnick=$4
+if [ "$nick" = "" ];then
+ echo missing argument for nick
+ exit 1
+fi
+if [ ! -d /var/cache/segfault/xchg/$nick/ ];then
+ /home/segfault/bin/xchg.init $nick
+fi
+if [ "$amount" = "" ];then
+ echo missing argument for amount
+ exit 1
+fi
+if [ "$type" = "" ];then
+ echo missing argument for type of currency
+ exit 1
+fi
+if [ "$dstnick" = "" ];then
+ echo missing argument for who is to receive the money
+ exit 1
+fi
+
+rate=1
+
+#if [ $target != BTC ];then
+# rate2=$(/home/segfault/bin/xchg.getrate $target)
+# if [ "$rate2" = "null" ];then
+# echo "invalid currency type $target used"
+# exit 1
+# fi
+# rate=$(echo | awk "{print $rate / $rate2}")
+#fi
+
+#if [ $source != BTC ];then
+# rate2=$(/home/segfault/bin/xchg.getrate $source)
+# if [ "$rate2" = "null" ];then
+# echo "invalid currency type $source used"
+# exit 1
+# fi
+# rate=$(echo | awk "{print $rate * $rate2}")
+#fi
+
+#rate=$(/home/segfault/bin/xchg.getdoublerate $source $target)
+rate=1
+
+walletsrc=$(cat /var/cache/segfault/xchg/$nick/$type 2>&-)
+walletdst=$(cat /var/cache/segfault/xchg/$dstnick/$type 2>&-)
+
+if [ "$walletsrc" = "" ];then
+ walletsrc=0
+fi
+if [ "$walletdst" = "" ];then
+ walletdst=0
+fi
+
+### if other types of ways of specifying how much are added, remember to set both srcamt and amount.
+if [ $amount = "all" ];then
+ amount="100%"
+fi
+if grep '%' <<< "$amount" 2>&1 > /dev/null;then
+ percentage="$(printf "%s\n" "$amount" | tr -cd '0-9.')"
+ srcamt="$(echo | awk "{print ($percentage / 100) * $walletsrc}")"
+ amount=$srcamt
+else
+ srcamt=$amount
+fi
+
+if [ "$srcamt" = "" ];then
+ srcamt=0
+fi
+
+echo trying to give $srcamt $type to $dstnick...
+
+
+postwalletsrc=$(echo | awk "{print $walletsrc - $srcamt}")
+
+if printf "%s\n" $postwalletsrc | grep ^- 2>&1 > /dev/null;then
+ echo you, $1, would need to have $srcamt $source to give $amount $type to $dstnick. you only have $walletsrc $source.
+ exit 1
+fi
+
+### if we got here we have enough money... guess make the purchase
+#echo updating your source wallet...
+echo $(echo | awk "{print $walletsrc - $srcamt}") > /var/cache/segfault/xchg/$nick/$type
+#echo updating your target wallet...
+echo $(echo | awk "{print $walletdst + $amount}") > /var/cache/segfault/xchg/$dstnick/$type
+echo done
diff --git a/bin/xchg.help b/bin/xchg.help
new file mode 100644
index 0000000..fb40ba8
--- /dev/null
+++ b/bin/xchg.help
@@ -0,0 +1,10 @@
+ $list Shows how many coin you have
+ $buy [amount] [what_you_want] [what_you_dont]
+ I think of it like: xchg, I want to buy 100 bitcoins with US dollars.
+ example: $but 100 BTC USD
+ $sell [amount] [what_you_want] [what_you_dont]
+ $give [amount] [type] [their_nick]
+ I think of this one like: xchg, I want to give 100 bitcoins to my_bro
+ example: $give 20 ETH epoch
+ amounts can also be percentages or "all" which just gets turned into 100%
+ these percentages are based on the amount of money of the type that is being spent.
diff --git a/bin/xchg.init b/bin/xchg.init
new file mode 100755
index 0000000..b449ba7
--- /dev/null
+++ b/bin/xchg.init
@@ -0,0 +1,4 @@
+#!/bin/sh
+rm -r /var/cache/segfault/xchg/$1 2>/dev/null
+mkdir -p /var/cache/segfault/xchg/$1
+echo 1000 > /var/cache/segfault/xchg/$1/BTC
diff --git a/bin/xchg.list b/bin/xchg.list
new file mode 100755
index 0000000..cad49f4
--- /dev/null
+++ b/bin/xchg.list
@@ -0,0 +1,5 @@
+#!/bin/sh
+if [ ! -d /var/cache/segfault/xchg/$1 ];then
+ /home/segfault/bin/xchg.init $1
+fi
+grep -H . /var/cache/segfault/xchg/$1/* | grep -v ':0$' | cut -d/ -f6-