|
|
|
@ -423,6 +423,8 @@ class Agora(object):
|
|
|
|
|
def update_prices(self, assets=None):
|
|
|
|
|
# Get all public ads for the given assets
|
|
|
|
|
public_ads = self.get_all_public_ads(assets)
|
|
|
|
|
if not public_ads:
|
|
|
|
|
return False
|
|
|
|
|
|
|
|
|
|
# Get the ads to update
|
|
|
|
|
to_update = self.markets.get_new_ad_equations(public_ads, assets)
|
|
|
|
@ -449,7 +451,6 @@ class Agora(object):
|
|
|
|
|
if not providers:
|
|
|
|
|
providers = self.markets.get_all_providers()
|
|
|
|
|
# We want to get the ads for each of these currencies and return the result
|
|
|
|
|
|
|
|
|
|
rates = self.cg.get_price(ids=["monero", "bitcoin"], vs_currencies=currencies)
|
|
|
|
|
for asset in assets:
|
|
|
|
|
for currency in currencies:
|
|
|
|
@ -460,6 +461,8 @@ class Agora(object):
|
|
|
|
|
self.log.error("Error getting public ads for currency {currency}", currency=currency)
|
|
|
|
|
continue
|
|
|
|
|
ads_list = self.enum_public_ads(asset, currency, providers)
|
|
|
|
|
if not ads_list:
|
|
|
|
|
continue
|
|
|
|
|
ads = self.lookup_rates(ads_list, rates=rates)
|
|
|
|
|
if not ads:
|
|
|
|
|
continue
|
|
|
|
@ -469,6 +472,7 @@ class Agora(object):
|
|
|
|
|
public_ads[currency].append(ad)
|
|
|
|
|
else:
|
|
|
|
|
public_ads[currency] = ads
|
|
|
|
|
|
|
|
|
|
return public_ads
|
|
|
|
|
|
|
|
|
|
def slow_ad_update(self, ads):
|
|
|
|
@ -486,7 +490,6 @@ class Agora(object):
|
|
|
|
|
ad_id, new_formula, asset, currency, actioned = ads[ad_index]
|
|
|
|
|
assets.add(asset)
|
|
|
|
|
currencies.add(currency)
|
|
|
|
|
self.log.error("ASSET {a}", a=asset)
|
|
|
|
|
if not actioned:
|
|
|
|
|
rtrn = self.agora.ad_equation(ad_id, new_formula)
|
|
|
|
|
if rtrn["success"]:
|
|
|
|
@ -732,7 +735,7 @@ class Agora(object):
|
|
|
|
|
@handle_exceptions
|
|
|
|
|
def withdraw_funds(self):
|
|
|
|
|
"""
|
|
|
|
|
Withdraw excess funds to our XMR/BTC wallets.
|
|
|
|
|
Withdraw excess funds to our XMR wallets.
|
|
|
|
|
"""
|
|
|
|
|
totals_all = self.tx.get_total()
|
|
|
|
|
if totals_all is False:
|
|
|
|
@ -742,9 +745,11 @@ class Agora(object):
|
|
|
|
|
|
|
|
|
|
# Get the wallet balances in USD
|
|
|
|
|
total_usd = totals_all[0][1]
|
|
|
|
|
|
|
|
|
|
total_trades_usd = self.tx.get_open_trades_usd()
|
|
|
|
|
if not total_usd:
|
|
|
|
|
return False
|
|
|
|
|
total_usd += total_trades_usd
|
|
|
|
|
profit_usd = total_usd - float(settings.Money.BaseUSD)
|
|
|
|
|
|
|
|
|
|
# Get the XMR -> USD exchange rate
|
|
|
|
|
xmr_usd = self.cg.get_price(ids="monero", vs_currencies=["USD"])
|
|
|
|
|
|
|
|
|
|