Finish implementation and tests for the cheat system #3
|
@ -450,3 +450,13 @@ class IRCCommands(object):
|
|||
currency = spl[1]
|
||||
rtrn = revolut.shuffle(currency)
|
||||
msg(dumps(rtrn))
|
||||
|
||||
class remaining(object):
|
||||
name = "r"
|
||||
authed = True
|
||||
helptext = "Show how much is left before we are able to withdraw funds."
|
||||
|
||||
@staticmethod
|
||||
def run(cmd, spl, length, authed, msg, agora, revolut, tx, notify):
|
||||
remaining = tx.get_remaining()
|
||||
msg(f"Remaining: {remaining}USD")
|
||||
|
|
|
@ -392,6 +392,35 @@ class Transactions(object):
|
|||
return False
|
||||
return ref_data["id"]
|
||||
|
||||
def get_total_usd(self):
|
||||
total_usd_revolut = self.revolut.get_total_usd()
|
||||
if total_usd_revolut is False:
|
||||
return False
|
||||
agora_wallet_xmr = self.agora.agora.wallet_balance_xmr()
|
||||
if not agora_wallet_xmr["success"]:
|
||||
return False
|
||||
agora_wallet_btc = self.agora.agora.wallet_balance()
|
||||
if not agora_wallet_btc["success"]:
|
||||
return False
|
||||
total_xmr_agora = agora_wallet_xmr["response"]["data"]["total"]["balance"]
|
||||
total_btc_agora = agora_wallet_btc["response"]["data"]["total"]["balance"]
|
||||
# Get the XMR -> USD exchange rate
|
||||
xmr_usd = self.agora.cg.get_price(ids="monero", vs_currencies=["USD"])
|
||||
|
||||
# Get the BTC -> USD exchange rate
|
||||
btc_usd = self.agora.cg.get_price(ids="bitcoin", vs_currencies=["USD"])
|
||||
|
||||
# Convert the Agora XMR total to USD
|
||||
total_usd_agora_xmr = float(total_xmr_agora) * xmr_usd["monero"]["usd"]
|
||||
|
||||
# Convert the Agora BTC total to USD
|
||||
total_usd_agora_btc = float(total_btc_agora) * btc_usd["bitcoin"]["usd"]
|
||||
|
||||
# Add it all up
|
||||
total_usd_agora = total_usd_agora_xmr + total_usd_agora_btc
|
||||
total_usd = total_usd_agora + total_usd_revolut
|
||||
return total_usd
|
||||
|
||||
def get_total(self):
|
||||
total_usd_revolut = self.revolut.get_total_usd()
|
||||
if total_usd_revolut is False:
|
||||
|
@ -431,3 +460,13 @@ class Transactions(object):
|
|||
(total_usd_agora_xmr, total_usd_agora_btc), # Total USD balance in only Agora
|
||||
(total_xmr_agora, total_btc_agora),
|
||||
) # Total XMR and BTC balance in Agora
|
||||
|
||||
def get_remaining(self):
|
||||
total_usd = self.get_total_usd()
|
||||
if not total_usd:
|
||||
return False
|
||||
|
||||
withdraw_threshold = float(settings.Money.BaseUSD) + float(settings.Money.WithdrawLimit)
|
||||
remaining = withdraw_threshold - total_usd
|
||||
|
||||
return remaining
|
||||
|
|
Loading…
Reference in New Issue