diff --git a/libraries/earner.py b/libraries/earner.py index 352c37a..aa83613 100644 --- a/libraries/earner.py +++ b/libraries/earner.py @@ -166,6 +166,9 @@ class earner: position = self.connector.get_position(self.currency) if "Error" not in position: redemption = self.connector.redeem_product(position["positionId"],amount=amount) + time.sleep(1) + #The funds go to the funding account - transfer them to the trading account. + transfer_step = self.connector.transfer_to_trading(self.currency, amount) else: print(f"{str(self.connector)} - Position not found!") self.write_to_log("Position not found! " + str(position)) diff --git a/libraries/wrappers/earn_kucoin.py b/libraries/wrappers/earn_kucoin.py index f2c466f..89dd545 100644 --- a/libraries/wrappers/earn_kucoin.py +++ b/libraries/wrappers/earn_kucoin.py @@ -13,6 +13,7 @@ from kucoin_universal_sdk.generate.earn.earn.model_get_account_holding_req impor from kucoin_universal_sdk.generate.earn.earn.model_purchase_req import PurchaseReqBuilder from kucoin_universal_sdk.generate.earn.earn.model_redeem_req import RedeemReqBuilder from kucoin_universal_sdk.generate.account.account.model_get_spot_account_list_req import GetSpotAccountListReqBuilder +from kucoin_universal_sdk.generate.account.transfer.model_flex_transfer_req import FlexTransferReqBuilder class kucoin_earn: def __init__(self): @@ -42,6 +43,7 @@ class kucoin_earn: kucoin_rest_service = self.client.rest_service() self.account_api = kucoin_rest_service.get_account_service().get_account_api self.earn_api = kucoin_rest_service.get_earn_service().get_earn_api + self.transfer_api = kucoin_rest_service.get_account_service().get_transfer_api def __str__(self): @@ -127,6 +129,27 @@ class kucoin_earn: return {"Error": response} + def transfer_to_trading(self, coin, amount): + ''' + Args: + coin (str): The coin to transfer to trading + amount (float): The amount to transfer + Returns: + dict: The response from the api + ''' + request = FlexTransferReqBuilder().set_from_account_type("MAIN").set_to_account_type("TRADE").set_currency(coin).set_amount(str(amount)).set_type("INTERNAL").set_client_oid("1234").build() + response = self.transfer_api().flex_transfer(request).to_dict() + response_dict = response["common_response"]["data"] + if "orderId" in response_dict: + return {"Success": "", + "orderId": response["orderId"], + "txId": "", + "amount": amount + } + else: + return {"Error": response} + + def get_position(self, coin): ''' Return {'common_response': {'code': '200000', 'data': {'totalNum': 1, 'items': [{'orderId': '2987632', 'productId': '2152', 'productCategory': 'DEMAND', 'productType': 'DEMAND', 'currency': 'USDT', 'incomeCurrency': 'USDT', 'returnRate': '0.04767484', 'holdAmount': '20', 'redeemedAmount': '0', 'redeemingAmount': '0', 'lockStartTime': 1641806718000, 'lockEndTime': None, 'purchaseTime': 1736027283000, 'redeemPeriod': 0, 'status': 'LOCKED', 'earlyRedeemSupported': 0}], 'currentPage': 1, 'pageSize': 15, 'totalPage': 1}, 'rate_limit': {'limit': 2000, 'remaining': 1995, 'reset': 16550}}, 'totalNum': 1, 'items': [{'orderId': '2987632', 'productId': '2152', 'productCategory': 'DEMAND', 'productType': 'DEMAND', 'currency': 'USDT', 'incomeCurrency': 'USDT', 'returnRate': '0.04767484', 'holdAmount': '20', 'redeemedAmount': '0', 'redeemingAmount': '0', 'lockStartTime': 1641806718000, 'purchaseTime': 1736027283000, 'redeemPeriod': 0, 'status': , 'earlyRedeemSupported': }], 'currentPage': 1, 'pageSize': 15, 'totalPage': 1} diff --git a/profits.py b/profits.py index 1327ef1..a55d05c 100644 --- a/profits.py +++ b/profits.py @@ -8,16 +8,19 @@ binance = earn_binance.binance_earn() gateio = earn_gateio.gateio_earn() okx = earn_okx.okx_earn() - +total_profits = [] print("Profits OKX:") total_rewards = Decimal(0) rewards = okx.get_lending_history("USDT") for item in rewards["data"]: total_rewards += Decimal(item["earnings"]) print(total_rewards) +total_profits.append(total_rewards) print("Profits Gate.io:") -print(gateio.get_rewards_history("USDT")["interest"]) +total_rewards = gateio.get_rewards_history("USDT")["interest"] +print(total_rewards) +total_profits.append(Decimal(total_rewards)) print("Profits Binance:") total_rewards = Decimal(0) @@ -25,3 +28,6 @@ rewards = binance.get_rewards_history() for item in rewards["rows"]: total_rewards += Decimal(item["rewards"]) print(total_rewards) +total_profits.append(total_rewards) + +print(f"Total: {sum(total_profits)}")