From 7add241cc26d717168cd855a6b029b78f00a79f0 Mon Sep 17 00:00:00 2001 From: Ubuntu Date: Sun, 23 May 2021 19:50:04 +0000 Subject: [PATCH 1/4] Simplified table view --- myorders_tab.sh | 38 ++++++++++++++++++++++++++++++++++++++ orderbook_tab.sh | 19 +++++++++++++++++++ 2 files changed, 57 insertions(+) create mode 100755 myorders_tab.sh create mode 100755 orderbook_tab.sh diff --git a/myorders_tab.sh b/myorders_tab.sh new file mode 100755 index 0000000..b4645d9 --- /dev/null +++ b/myorders_tab.sh @@ -0,0 +1,38 @@ +#!/bin/bash +source userpass + +# Simplified table view of my orders +# ---------------------------------- +# - no param provided +# - first param provided +# - first and second param provided + +MY_ORDERS=$(curl -Ss --url "http://127.0.0.1:7783" --data "{\"userpass\":\"$userpass\",\"method\":\"my_orders\"}"); + +printf "%s\n"; +printf "%sUUID Base Rel Price Volume \n"; +printf "%s--------------------------------------------------------------------------\n"; + +# var1 unset = no params provided -> list all records +if [ -z "$1" ]; then + + printf $MY_ORDERS | jq ".result.maker_orders | [map(.) | .[] | {uuid: .uuid, base: .base, rel: .rel, price: .price|tonumber, amount: .available_amount|tonumber}] | sort_by(.price) | sort_by(.rel) | sort_by(.base)" | jq -r '.[]|flatten|@tsv'; + printf "%s\n"; + exit 0; +fi + +# var2 unset = one param provided -> list var1 found in records +if [ -z "$2" ]; then + + printf $MY_ORDERS | jq ".result.maker_orders | [map(.) | .[] | {uuid: .uuid, base: .base, rel: .rel, price: .price|tonumber, amount: .available_amount|tonumber}] | sort_by(.price) | sort_by(.rel) | sort_by(.base) | .[] | select(.base==\"$1\" or .rel==\"$1\")" | jq -r 'flatten|@tsv'; + printf "%s\n"; + +# var2 set = two params provided -> list var1/var2 pair records +else + + printf $MY_ORDERS | jq ".result.maker_orders | [map(.) | .[] | {uuid: .uuid, base: .base, rel: .rel, price: .price|tonumber, amount: .available_amount|tonumber}] | sort_by(.price) | sort_by(.rel) | sort_by(.base) | .[] | select(.base==\"$1\" and .rel==\"$2\")" | jq -r 'flatten|@tsv'; + printf "%s\n"; + +fi + + diff --git a/orderbook_tab.sh b/orderbook_tab.sh new file mode 100755 index 0000000..2cd8196 --- /dev/null +++ b/orderbook_tab.sh @@ -0,0 +1,19 @@ +#!/bin/bash +source userpass + +# Simplified table view of the orderbook +# --------------------------------------------------- +# Adding trailing zeros to price needs to be improved + +ORDERBOOK=$(curl -Ss --url "http://127.0.0.1:7783" --data "{\"userpass\":\"$userpass\",\"method\":\"orderbook\",\"base\":\"$1\",\"rel\":\"$2\"}"); + +#printf "$ORDERBOOK"; + +printf "%s\n"; +printf "%sAddress Coin Price Max. Volume \n"; +printf "%s--------------------------------------------------------------------------------\n"; +printf "$ORDERBOOK" | jq ".asks | [map(.) | .[] | {address: .address, coin: .coin, price: (((.price|tonumber + 0.0000000001) * 10000000000)|round | . / 10000000000), maxvol: ((.maxvolume|tonumber * 1000000)|round| . / 1000000)}]" | jq -r '.[]|flatten|@tsv' +printf "%s--------------------------------------------------------------------------------\n"; +printf "$ORDERBOOK" | jq ".bids | [map(.) | .[] | {address: .address, coin: .coin, price: (((.price|tonumber + 0.0000000001) * 10000000000)|round | . / 10000000000), maxvol: ((.maxvolume|tonumber * 1000000)|round| . / 1000000)}]" | jq -r '.[]|flatten|@tsv' +printf "%s\n"; + From 70624842ff5cf05ab39beb9f0a95cd30eb7b617a Mon Sep 17 00:00:00 2001 From: phideas Date: Tue, 25 May 2021 09:11:55 +0000 Subject: [PATCH 2/4] Added table view of MyBalance for all enabled coins --- mybalance_tab.sh | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100755 mybalance_tab.sh diff --git a/mybalance_tab.sh b/mybalance_tab.sh new file mode 100755 index 0000000..214b991 --- /dev/null +++ b/mybalance_tab.sh @@ -0,0 +1,24 @@ +#!/bin/bash +source userpass + +# Simplified table view of the enabled coins +# --------------------------------------------------- + +ENABLED_COINS=$(curl -Ss --url "http://127.0.0.1:7783" --data "{\"userpass\":\"$userpass\",\"method\":\"get_enabled_coins\"}"); + +for k in $(jq '.result | keys | .[]' <<< "$ENABLED_COINS"); do + + ticker=$(jq -r ".result[$k] | .ticker" <<< "$ENABLED_COINS"); + mybalance=$(curl -Ss --url "http://127.0.0.1:7783" --data "{\"userpass\":\"$userpass\",\"method\":\"my_balance\",\"coin\":\"$ticker\"}"); + ENABLED_COINS=$(jq -r ".result[$k].mybalance |= . + [$mybalance]" <<< "$ENABLED_COINS"); + +done + +# printf "$ENABLED_COINS"; + +printf "\n"; +printf "Coin Balance Unspendable Address\n"; +printf "%s----------------------------------------------------------------------\n"; +printf "$ENABLED_COINS" | jq -r '.result | sort_by(.ticker) | .[] | .mybalance | .[] | flatten|@tsv'; +printf "\n"; + From fe9b0f5aa0c8d37224c7d2c3883d3867115f9bf5 Mon Sep 17 00:00:00 2001 From: phideas Date: Thu, 27 May 2021 21:04:31 +0000 Subject: [PATCH 3/4] Refactor code --- mybalance_tab.sh | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/mybalance_tab.sh b/mybalance_tab.sh index 214b991..a9825dd 100755 --- a/mybalance_tab.sh +++ b/mybalance_tab.sh @@ -10,15 +10,21 @@ for k in $(jq '.result | keys | .[]' <<< "$ENABLED_COINS"); do ticker=$(jq -r ".result[$k] | .ticker" <<< "$ENABLED_COINS"); mybalance=$(curl -Ss --url "http://127.0.0.1:7783" --data "{\"userpass\":\"$userpass\",\"method\":\"my_balance\",\"coin\":\"$ticker\"}"); - ENABLED_COINS=$(jq -r ".result[$k].mybalance |= . + [$mybalance]" <<< "$ENABLED_COINS"); - + ENABLED_COINS=$(jq -r ".result[$k].mybalance |= . + $mybalance" <<< "$ENABLED_COINS"); done -# printf "$ENABLED_COINS"; +ENABLED_COINS=$(jq -r ' + + [.result | .[] | .mybalance] + | map({address: .address,coin: .coin|tostring, balance: .balance|tonumber}) + | sort_by(.coin) | .[] | flatten | @tsv + +' <<< "$ENABLED_COINS"); printf "\n"; -printf "Coin Balance Unspendable Address\n"; +printf "Address Coin Balance\n"; printf "%s----------------------------------------------------------------------\n"; -printf "$ENABLED_COINS" | jq -r '.result | sort_by(.ticker) | .[] | .mybalance | .[] | flatten|@tsv'; +printf "$ENABLED_COINS"; +printf "\n"; printf "\n"; From 29bf5d3fb7b8bdd6370044c0ef95b1ee7b7e320d Mon Sep 17 00:00:00 2001 From: phideas Date: Mon, 31 May 2021 11:31:47 +0000 Subject: [PATCH 4/4] Implemented padding to align columns --- mybalance_pad.sh | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100755 mybalance_pad.sh diff --git a/mybalance_pad.sh b/mybalance_pad.sh new file mode 100755 index 0000000..e3c017e --- /dev/null +++ b/mybalance_pad.sh @@ -0,0 +1,40 @@ +#!/bin/bash +source userpass + +# Simplified table view of the enabled coins +# --------------------------------------------------- + +ENABLED_COINS=$(curl -Ss --url "http://127.0.0.1:7783" --data "{\"userpass\":\"$userpass\",\"method\":\"get_enabled_coins\"}"); + +for k in $(jq '.result | keys | .[]' <<< "$ENABLED_COINS"); do + + ticker=$(jq -r ".result[$k] | .ticker" <<< "$ENABLED_COINS"); + mybalance=$(curl -Ss --url "http://127.0.0.1:7783" --data "{\"userpass\":\"$userpass\",\"method\":\"my_balance\",\"coin\":\"$ticker\"}"); + ENABLED_COINS=$(jq -r ".result[$k].mybalance |= . + $mybalance" <<< "$ENABLED_COINS"); +done + +BALANCES=$(jq -r ' + + def width: map( . | map(length) | max) | max ; + def pad($w): . + (($w-length)*" ") ; + def padnum($w): ( . |tonumber as $b | $b|floor as $n | ($b - $n) as $f | if $f == 0 then "0.0" else $f end | . as $f | (20 - ($f|tostring|length|tonumber)) as $l | ($f|tostring + ($l*"0")) | ltrimstr("0") as $f | (10 - ($n|tostring|length|tonumber)) as $l | (($l*" ") + ($n|tostring)) as $n | ($n + $f) | . ) ; + + [.result | .[] | .mybalance] + | . as $mb | + ([ + ( [ $mb | .[] | {"address"}] | width as $w | map({ address: .address|pad($w) }) ), + ( [ $mb | .[] | {"coin"}] | width as $w | map({ coin: .coin|pad($w) }) ), + ( [ $mb | .[] | {"balance"}] | width as $w | map({ balance: .balance|padnum($w) }) ), + ( [ $mb | .[] | {"unspendable_balance"}] | width as $w | map({ unspendable_balance: .unspendable_balance|pad($w) }) ) + ]) + | [transpose | .[] | add] | sort_by(.coin) | .[] | flatten | @tsv + +' <<< "$ENABLED_COINS"); + +printf "\n"; +printf "Address Coin Balance Unspendable\n"; +printf "%s-----------------------------------------------------------------------------------------\n"; +printf "$BALANCES"; +printf "\n"; +printf "\n"; +