Skip to content

Commit b8fb61b

Browse files
committed
fix use currency properties
1 parent 536a483 commit b8fb61b

1 file changed

Lines changed: 14 additions & 16 deletions

File tree

kubot.py

Lines changed: 14 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -33,39 +33,39 @@ def schedule_checks(self, interval):
3333
self.__scheduler.enter(interval, 1, self.schedule_checks, argument=(interval,))
3434
for currency in self.__currencies:
3535
try:
36-
min_int_rate = self.get_min_daily_interest_rate(currency.name)
36+
min_int_rate = self.get_min_daily_interest_rate(currency)
3737
min_int_rate_charge = float(format(min_int_rate + config.charge, '.5f'))
3838
if min_int_rate_charge <= config.minimum_rate:
3939
self.__minimum_rate = config.minimum_rate
4040
elif self.__minimum_rate == const.DEFAULT_MIN_RATE or abs(min_int_rate_charge - self.__minimum_rate) >= config.correction:
4141
self.__minimum_rate = min_int_rate_charge
42-
self.check_active_loans(min_int_rate, currency.name)
43-
self.lend_loans(min_int_rate, currency.name)
44-
self.check_active_lendings(currency.name)
42+
self.check_active_loans(min_int_rate, currency)
43+
self.lend_loans(min_int_rate, currency)
44+
self.check_active_lendings(currency)
4545
except (socket.timeout, requests.exceptions.Timeout) as e:
4646
Logger().logger.error("Currency: %s, Transport Exception occurred: %s", currency.name, e)
4747
except Exception as e:
4848
Logger().logger.error("Currency: %s, Generic Error occurred: %s", currency.name, e)
4949

5050
def lend_loans(self, min_int_rate, currency):
51-
account_list = self.__user.get_account_list(currency, 'main')
52-
account = next((x for x in account_list if x['currency'] == currency), None)
51+
account_list = self.__user.get_account_list(currency.name, 'main')
52+
account = next((x for x in account_list if x['currency'] == currency.name), None)
5353
if account:
5454
available = int(float(account['available']))
5555
if const.MIN_LEND_SIZE <= available <= const.MAX_LEND_SIZE:
5656
if min_int_rate >= self.__minimum_rate:
5757
rate = float(format(min_int_rate + config.charge, '.5f'))
5858
else:
5959
rate = self.__minimum_rate
60-
result = self.__client.create_lend_order(currency, str(available), str(rate), currency.term)
60+
result = self.__client.create_lend_order(currency.name, str(available), str(rate), currency.term)
6161
self.push_message("Currency: {}, OrderId: {}, Amount: {}, Rate: {}".format(
62-
currency, result['orderId'], available, convert_float_to_percentage(rate)
62+
currency.name, result['orderId'], available, convert_float_to_percentage(rate)
6363
), title="Create Lend Order")
6464
else:
65-
Logger().logger.info("Insufficient Amount on %s Main Account: %s", currency, available)
65+
Logger().logger.info("Insufficient Amount on %s Main Account: %s", currency.name, available)
6666

6767
def check_active_loans(self, min_int_rate, currency):
68-
active_orders = self.__client.get_active_order(currency=currency)
68+
active_orders = self.__client.get_active_order(currency=currency.name)
6969
items = active_orders.get('items')
7070

7171
for a in items:
@@ -80,7 +80,7 @@ def check_active_loans(self, min_int_rate, currency):
8080
self.__client.cancel_lend_order(a['orderId'])
8181
Logger().logger.info("Cancel Lend Order: Currency: %s, Amount: %s, DailyIntRate: %s, "
8282
"MinIntRate: %s, DiffRate: %s, Correction: %s",
83-
currency,
83+
currency.name,
8484
a['size'],
8585
convert_float_to_percentage(daily_int_rate),
8686
convert_float_to_percentage(min_int_rate),
@@ -89,27 +89,25 @@ def check_active_loans(self, min_int_rate, currency):
8989
)
9090

9191
def get_min_daily_interest_rate(self, currency):
92-
lending_market = self.__client.get_lending_market(currency)
92+
lending_market = self.__client.get_lending_market(currency.name)
9393
lending_market = lending_market['data'] if 'data' in lending_market else lending_market
9494
if lending_market:
9595
return float(lending_market[0]['dailyIntRate'])
9696
else:
9797
return config.default_interest
9898

9999
def check_active_lendings(self, currency):
100-
active_list = self.__client.get_active_list(pageSize=50)
100+
active_list = self.__client.get_active_list(pageSize=50, currency=currency.name)
101101
if active_list and active_list['items']:
102102
utc_now = datetime.utcnow()
103103
dt = timedelta(seconds=config.interval).total_seconds()
104104
for a in active_list['items']:
105-
if a['currency'] != currency:
106-
continue
107105
maturity_timestamp = a['maturityTime'] / 1000
108106
time_diff = (utc_now - (datetime.utcfromtimestamp(maturity_timestamp) - timedelta(a['term']))).total_seconds()
109107
if time_diff <= dt:
110108
maturity_date = datetime.fromtimestamp(maturity_timestamp).strftime("%Y-%m-%d %H:%M:%S")
111109
self.push_message("Currency: {}, Amount: {}, DailyIntRate: {}, MaturityDate: {}, AccruedInterest: {}".format(
112-
currency,
110+
currency.name,
113111
a['size'],
114112
convert_float_to_percentage(a['dailyIntRate']),
115113
maturity_date,

0 commit comments

Comments
 (0)