2020-12-22 18:03:48 +00:00
|
|
|
# SPDX-License-Identifier: BSD-3-Clause
|
|
|
|
# Copyright (c) 2020, The Monero Project.
|
|
|
|
# Copyright (c) 2020, dsc@xmr.pm
|
|
|
|
|
|
|
|
import settings
|
2021-04-05 17:49:02 +00:00
|
|
|
from wowlet_backend.utils import httpget
|
|
|
|
from wowlet_backend.tasks import FeatherTask
|
2020-12-22 18:03:48 +00:00
|
|
|
|
|
|
|
|
|
|
|
class XmrToTask(FeatherTask):
|
|
|
|
def __init__(self, interval: int = 30):
|
|
|
|
super(XmrToTask, self).__init__(interval)
|
|
|
|
|
|
|
|
self._cache_key = "xmrto_rates"
|
|
|
|
self._cache_expiry = self.interval * 10
|
|
|
|
|
|
|
|
if settings.COIN_MODE == 'stagenet':
|
|
|
|
self._http_endpoint = "https://test.xmr.to/api/v3/xmr2btc/order_parameter_query/"
|
|
|
|
else:
|
|
|
|
self._http_endpoint = "https://xmr.to/api/v3/xmr2btc/order_parameter_query/"
|
|
|
|
|
|
|
|
async def task(self):
|
|
|
|
result = await httpget(self._http_endpoint)
|
|
|
|
if "error" in result:
|
|
|
|
raise Exception(f"${result['error']} ${result['error_msg']}")
|
|
|
|
return result
|