Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 0 additions & 17 deletions Jenkinsfile.yaml

This file was deleted.

10 changes: 3 additions & 7 deletions components/cruize_data_manager.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,4 @@
from rest_framework.exceptions import ValidationError

from components import FirebaseDataManager
from utilities import cruize_constants


class CruizeDataManager(object):
def save_asset_tvl(self, asset_data):
firebase_db_manager_obj = FirebaseDataManager()
Expand Down Expand Up @@ -35,7 +30,7 @@ def save_asset_tvl(self, asset_data):
def fetch_user_transactions(self, user_data):
firebase_db_obj = FirebaseDataManager()
firebase_data = firebase_db_obj.fetch_sub_collections(
cruize_constants.CRUIZE_USER, user_data["wallet_address"], "transactions"
"cruize_users", user_data["wallet_address"], "transactions"
)
if not firebase_data:
return f"No data found for wallet address: {user_data['wallet_address']}"
Expand All @@ -49,4 +44,5 @@ def fetch_user_transactions(self, user_data):

if __name__ == "__main__":
d = CruizeDataManager()
d.save_asset_tvl({"asset_name": "WBTC", "amount": "0.1", "type": "protect"})
d = d.fetch_user_transactions({"wallet_address":"0x9A3310233aaFe8930d63145CC821FF286c7829e1"})
print(d)
2 changes: 0 additions & 2 deletions components/dydx_order_manager.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import time
from datetime import datetime, timedelta

import pandas
from dateutil.relativedelta import relativedelta
from dydx3 import constants
Expand All @@ -14,7 +13,6 @@
from utilities import cruize_constants
from utilities.enums import AssetCodes


# class: DydxOrderManager - is responsible for managing order on dydx.


Expand Down
1 change: 0 additions & 1 deletion cruize_operations/urls.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,5 @@
),
path("price_floor", CruizeOperations.as_view({"get": "price_floor"})),
path("price_floor/", CruizeOperations.as_view({"put": "set_price_floor"})),
path("apy", CruizeOperations.as_view({"get": "fetch_asset_apy"})),
path("asset_tvl", CruizeOperations.as_view({"post": "save_asset_tvl"})),
]
14 changes: 1 addition & 13 deletions cruize_operations/views.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
from rest_framework import status
from rest_framework.exceptions import ValidationError
from rest_framework.response import Response
from rest_framework.viewsets import GenericViewSet
from components import PriceFloorManager, FirebaseDataManager, CruizeDataManager
Expand All @@ -11,9 +10,8 @@
SetPriceFloorSerializer,
)
from cruize_operations.serilaizer import TvlSerializer
from services.avve_asset_apy import AaveApy
from services.contracts.cruize.cruize_contract import Cruize
from utilities import cruize_constants


price_floor_manager = PriceFloorManager()

Expand Down Expand Up @@ -120,16 +118,6 @@ def set_price_floor(self, request):
result["error"] = e
return Response(result, status.HTTP_500_INTERNAL_SERVER_ERROR)

def fetch_asset_apy(self, request):
result = {"result": None, "error": None}
try:
aave_apy_obj = AaveApy()
result["result"] = aave_apy_obj.fetch_asset_apys()
return Response(result, status.HTTP_200_OK)
except Exception as e:
result["error"] = e
return Response(result, status.HTTP_500_INTERNAL_SERVER_ERROR)

def save_asset_tvl(self, request):
serializer_class = TvlSerializer
serializer = serializer_class(data=request.data)
Expand Down
2 changes: 1 addition & 1 deletion dydx_operations/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,5 @@
FastWithdrawalSerializer,
TransferSerializer,
DepositSerializer,
DepositTestSerializer,
DepositTestSerializer,PositionidSerializers,RegisterUserSerializers
)
2 changes: 1 addition & 1 deletion dydx_operations/serializer/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,5 @@
SlowWithdrawalSerializer,
TransferSerializer,
FastWithdrawalSerializer,
DepositTestSerializer,
DepositTestSerializer,PositionidSerializers,RegisterUserSerializers
)
7 changes: 7 additions & 0 deletions dydx_operations/serializer/dydx_oprations_serializer.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,3 +32,10 @@ class DepositSerializer(serializers.Serializer):

class DepositTestSerializer(serializers.Serializer):
asset = serializers.CharField(required=True)

class PositionidSerializers(serializers.Serializer):
asset_pair = serializers.CharField(required=True)


class RegisterUserSerializers(serializers.Serializer):
asset_pair = serializers.CharField(required=True)
2 changes: 2 additions & 0 deletions dydx_operations/urls.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,6 @@
path("transfer", DydxOprations.as_view({"get": "transfer_information"})),
path("deposit", DydxOprations.as_view({"post": "deposit"})),
path("deposit/test", DydxOprations.as_view({"post": "deposit_test_fund"})),
path("position_id", DydxOprations.as_view({"get": "position_id"})),
path("register", DydxOprations.as_view({"post": "register_user"})),
]
47 changes: 45 additions & 2 deletions dydx_operations/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
FastWithdrawalSerializer,
TransferSerializer,
DepositSerializer,
DepositTestSerializer,
DepositTestSerializer,RegisterUserSerializers,PositionidSerializers
)

from services import DydxWithdrawal, DydxAdmin
Expand Down Expand Up @@ -139,4 +139,47 @@ def deposit_test_fund(self, request):
result["error"] = e["errors"][0]["msg"]
return Response(result, status.HTTP_500_INTERNAL_SERVER_ERROR)

# TODO : write an api for withdrawing fund from dydx.
# TODO : write an api for withdrawing fund from dydx.
def position_id(self, request):
# query params will contain the asset pair name ex ETH-USD BTC-USD .
request_body = request.query_params
serializer_class = PositionidSerializers
serializer = serializer_class(data=request_body)
serializer.is_valid(raise_exception=True)
data = serializer.validated_data
self.initialize()

result = {"message": None, "error": None}
try:
position_id = self.dydx_admin_obj.get_position_id(
asset_dydx_instance[data["asset_pair"]]
)
result["message"] = {"position_id": position_id}
return Response(result, status.HTTP_200_OK)
except DydxApiError or ValueError as e:

return Response(result, status.HTTP_500_INTERNAL_SERVER_ERROR)

def register_user(self, request):
# query params will contain the asset pair name ex ETH-USD BTC-USD .
self.initialize()
request_body = request.query_params
serializer_class = RegisterUserSerializers
serializer = serializer_class(data=request_body)
serializer.is_valid(raise_exception=True)
data = serializer.validated_data
result = {"message": None, "error": None}
try:
user = self.dydx_admin_obj.register_user(
asset_dydx_instance[data["asset_pair"]]
)
if user is None:
raise Exception("Fail to register")
result["message"] = user["data"]["signature"]
return Response(result, status.HTTP_200_OK)
except DydxApiError or ValueError as e:
result["error"] = self.error_handler.dydx_error_decoder(e)
return Response(result, status.HTTP_400_BAD_REQUEST)
except Exception as e:
result["error"] = str(e)
return Response(result, status.HTTP_500_INTERNAL_SERVER_ERROR)
Empty file removed dydx_user/__init__.py
Empty file.
3 changes: 0 additions & 3 deletions dydx_user/admin.py

This file was deleted.

6 changes: 0 additions & 6 deletions dydx_user/apps.py

This file was deleted.

Empty file removed dydx_user/migrations/__init__.py
Empty file.
3 changes: 0 additions & 3 deletions dydx_user/models.py

This file was deleted.

3 changes: 0 additions & 3 deletions dydx_user/tests.py

This file was deleted.

8 changes: 0 additions & 8 deletions dydx_user/urls.py

This file was deleted.

43 changes: 0 additions & 43 deletions dydx_user/views.py

This file was deleted.

5 changes: 1 addition & 4 deletions market_data/serializers/__init__.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,2 @@
from .serializers import (
MarketDataDayRequestSerializer,
MarketDataTimestampRequestSerializer,
AssetPriceRequestSerializer,
)
AssetPriceRequestSerializer)
14 changes: 0 additions & 14 deletions market_data/serializers/serializers.py
Original file line number Diff line number Diff line change
@@ -1,18 +1,4 @@
from rest_framework import serializers


class MarketDataDayRequestSerializer(serializers.Serializer):
asset = serializers.CharField(required=True)
vs_currency = serializers.CharField(required=False)
days = serializers.IntegerField(required=True)


class MarketDataTimestampRequestSerializer(serializers.Serializer):
asset = serializers.CharField(required=True)
vs_currency = serializers.CharField(required=False)
time_from = serializers.IntegerField(required=True)
time_to = serializers.IntegerField(required=True)


class AssetPriceRequestSerializer(serializers.Serializer):
asset_name = serializers.CharField(required=True)
2 changes: 0 additions & 2 deletions market_data/urls.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,5 @@
from market_data.views import MarketData

urlpatterns = [
path("day/", MarketData.as_view({"post": "market_chart_day"})),
path("timestamp/", MarketData.as_view({"post": "market_chart_timestamp"})),
path("asset_price", MarketData.as_view({"get": "asset_price"})),
]
32 changes: 0 additions & 32 deletions market_data/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,45 +4,13 @@
from rest_framework import status
from rest_framework.viewsets import GenericViewSet
from market_data.serializers import (
MarketDataDayRequestSerializer,
MarketDataTimestampRequestSerializer,
AssetPriceRequestSerializer,
)
from services.market_data.coingecko import CoinGecko
from utilities.enums import AssetCodes


class MarketData(GenericViewSet):
def market_chart_day(self, request):
result = {"prices": None, "error": None}
coin_gecko = CoinGecko()
self.serializer_class = MarketDataDayRequestSerializer
serializer = self.serializer_class(data=request.data)
serializer.is_valid(raise_exception=True)
data = serializer.data
try:
market_chart_day_result = coin_gecko.market_chart_day(**data)
result["prices"] = market_chart_day_result["prices"]
return Response(data=result, status=status.HTTP_200_OK)
except Exception as e:
result["error"] = str(e)
return Response(data=result, status=status.HTTP_500_INTERNAL_SERVER_ERROR)

def market_chart_timestamp(self, request):
result = {"prices": None, "error": None}
coin_gecko = CoinGecko()
self.serializer_class = MarketDataTimestampRequestSerializer
serializer = self.serializer_class(data=request.data)
serializer.is_valid(raise_exception=True)
data = serializer.data
try:
market_chart_day_result = coin_gecko.market_chart_timestamp(**data)
result["prices"] = market_chart_day_result["prices"]
return Response(data=result, status=status.HTTP_200_OK)
except Exception as e:
result["error"] = str(e)
return Response(data=result, status=status.HTTP_500_INTERNAL_SERVER_ERROR)

def asset_price(self, request):
result = {"price": None, "error": None}
request_body = request.query_params
Expand Down
4 changes: 1 addition & 3 deletions order/serializers/__init__.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
from .order_serializer import (
OrderRequestSerializer,
CancelOrderRequestSerializer,
FirestoreOrdersRequestSerializer,
OrderRequestSerializer,DydxAllOrdersRequestSerializer
)
8 changes: 2 additions & 6 deletions order/serializers/order_serializer.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,5 @@ def validate(self, data):
return data


class CancelOrderRequestSerializer(serializers.Serializer):
order_id = serializers.CharField(required=True)


class FirestoreOrdersRequestSerializer(serializers.Serializer):
order_id = serializers.CharField(required=False)
class DydxAllOrdersRequestSerializer(serializers.Serializer):
type = serializers.CharField(required=True)
1 change: 0 additions & 1 deletion order/urls.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,4 @@
path("create", Order.as_view({"post": "create"})),
path("cancel", Order.as_view({"post": "cancel"})),
path("", Order.as_view({"get": "dydx_order"})),
path("firestore", Order.as_view({"get": "orders"})),
]
Loading