mirror of
https://github.com/RoboSats/robosats.git
synced 2025-01-18 20:21:35 +00:00
Remodel price endpoint to only return latest markettick
This commit is contained in:
parent
f383d20c37
commit
806a56c7f9
@ -86,7 +86,7 @@ class Telegram():
|
|||||||
if lang == 'es':
|
if lang == 'es':
|
||||||
text = f'¡Tu orden con ID {order.id} ha sido tomada por {taker_nick}!🥳 El tomador ya ha bloqueado su fianza. Visita http://{site}/order/{order.id} para continuar.'
|
text = f'¡Tu orden con ID {order.id} ha sido tomada por {taker_nick}!🥳 El tomador ya ha bloqueado su fianza. Visita http://{site}/order/{order.id} para continuar.'
|
||||||
else:
|
else:
|
||||||
text = f'Your order with ID {order.id} was taken by {taker_nick}!🥳 The taker bond has been already locked. Visit http://{site}/order/{order.id} to proceed with the trade.'
|
text = f'Your order with ID {order.id} was taken by {taker_nick}!🥳 The taker bond has already been locked. Visit http://{site}/order/{order.id} to proceed with the trade.'
|
||||||
|
|
||||||
self.send_message(user, text)
|
self.send_message(user, text)
|
||||||
return
|
return
|
||||||
|
27
api/views.py
27
api/views.py
@ -730,25 +730,20 @@ class PriceView(CreateAPIView):
|
|||||||
|
|
||||||
def get(self, request):
|
def get(self, request):
|
||||||
|
|
||||||
# Compute average premium and volume of last 24 h
|
|
||||||
start_datetime = timezone.now() - timedelta(days=1)
|
|
||||||
queryset = MarketTick.objects.filter(timestamp__gt=start_datetime)
|
|
||||||
if not len(queryset) == 0:
|
|
||||||
avg_premium, _ = compute_avg_premium(queryset)
|
|
||||||
|
|
||||||
# If no contracts exists in the last 24 h, fallback to lifetime average premium.
|
|
||||||
else:
|
|
||||||
queryset = MarketTick.objects.all()
|
|
||||||
avg_premium, _ = compute_avg_premium(queryset)
|
|
||||||
|
|
||||||
payload = {}
|
payload = {}
|
||||||
queryset = Currency.objects.all().order_by('currency')
|
queryset = Currency.objects.all().order_by('currency')
|
||||||
|
|
||||||
for currency in queryset:
|
for currency in queryset:
|
||||||
code = Currency.currency_dict[str(currency.currency)]
|
code = Currency.currency_dict[str(currency.currency)]
|
||||||
payload[code] = {'price': currency.exchange_rate * (1 + avg_premium / 100),
|
try:
|
||||||
'premium': avg_premium}
|
last_tick = MarketTick.objects.filter(currency=currency).latest('timestamp')
|
||||||
|
payload[code] = {
|
||||||
# A hack here. BTC swaps have usually no premium (at least, they are totally different)
|
'price': last_tick.price,
|
||||||
payload['BTC'] = {'price': 1, 'premium': 0}
|
'volume': last_tick.volume,
|
||||||
|
'premium': last_tick.premium,
|
||||||
|
'timestamp': last_tick.timestamp,
|
||||||
|
}
|
||||||
|
except:
|
||||||
|
payload[code] = None
|
||||||
|
|
||||||
return Response(payload, status.HTTP_200_OK)
|
return Response(payload, status.HTTP_200_OK)
|
Loading…
Reference in New Issue
Block a user