47 lines
1.8 KiB
Bash
47 lines
1.8 KiB
Bash
|
#!/bin/bash
|
||
|
|
||
|
function binance_convert_dust {
|
||
|
|
||
|
# find BNB Balance of an conversion which ran before - Balance takes a while to be shown on BNB
|
||
|
# get BNB balance
|
||
|
binance-api-call GET sapi/v1/capital/config/getall
|
||
|
local f_bnb_balance=$(cat ${g_tmp}/API_CMD_OUT | jq -r '.[] | .coin + "," + .free' | grep "^BNB," | cut -d, -f2)
|
||
|
# convert BNB to $CURRENCY
|
||
|
#if echo "${f_bnb_balance}" | egrep -q "[0-9]\.[0-9]"
|
||
|
if [ $(echo "${f_bnb_balance} > 0.004" | bc -l) -ne 0 ]
|
||
|
then
|
||
|
binance-api-call POST /sapi/v1/convert/getQuote "&fromAsset=BNB&toAsset=${CURRENCY}&fromAmount=${f_bnb_balance}&walletType=SPOT&validTime=30s"
|
||
|
local f_quoteid=$(cat ${g_tmp}/API_CMD_OUT | jq -r '.quoteId')
|
||
|
g_signal-notify "Converting dust from ${f_bnb_balance} BNB to ${CURRENCY}
|
||
|
$(cat ${g_tmp}/API_CMD_OUT)"
|
||
|
binance-api-call POST /sapi/v1/convert/acceptQuote ""eId=${f_quoteid}"
|
||
|
fi
|
||
|
|
||
|
# Only run every 6 houres - binance doesn't allow to do it more often
|
||
|
[ -s BINANCE_LAST_DUST_RUN ] || date >BINANCE_LAST_DUST_RUN
|
||
|
find BINANCE_LAST_DUST_RUN -mmin +362 -delete
|
||
|
[ -s BINANCE_LAST_DUST_RUN ] && return 0
|
||
|
date >BINANCE_LAST_DUST_RUN
|
||
|
|
||
|
g_echo_note "RUNNING FUNCTION ${FUNCNAME} $@"
|
||
|
|
||
|
# find dust
|
||
|
local f_dust_assets=""
|
||
|
local f_dust
|
||
|
binance-api-call POST /sapi/v1/asset/dust-btc
|
||
|
# ignore $CURRENCY and assets in open trades
|
||
|
for f_dust in $(cat ${g_tmp}/API_CMD_OUT | jq -r '.details[].asset' | egrep -v "${CURRENCY}")
|
||
|
do
|
||
|
ls trade-histories/trade-*.${f_dust}${CURRENCY}-open.history.csv >/dev/null 2>&1 && continue
|
||
|
f_dust_assets="${f_dust_assets},$f_dust"
|
||
|
done
|
||
|
f_dust_assets=$(echo ${f_dust_assets} | sed 's/^,//')
|
||
|
|
||
|
# convert dust to BNB
|
||
|
if [ -n "${f_dust_assets}" ]
|
||
|
then
|
||
|
g_signal-notify "Converting dust from ${f_dust_assets} to BNB"
|
||
|
binance-api-call POST /sapi/v1/asset/dust "&asset=${f_dust_assets}"
|
||
|
fi
|
||
|
}
|