defi-state-querier 0.5.32__py3-none-any.whl → 0.5.34__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. defi_services/__init__.py +1 -1
  2. defi_services/abis/lending/venus/venus_comptroller_optimism_abi.py +2125 -0
  3. defi_services/abis/lending/yldr/__init__.py +0 -0
  4. defi_services/abis/lending/yldr/yldr_lending_abi.py +1725 -0
  5. defi_services/constants/chain_constant.py +4 -0
  6. defi_services/constants/entities/lending_constant.py +2 -1
  7. defi_services/constants/entities/lending_services.py +5 -2
  8. defi_services/jobs/queriers/state_querier.py +1 -1
  9. defi_services/services/lending/aave_v3_services.py +11 -1
  10. defi_services/services/lending/lending_info/arbitrum/radiant_arbitrum.py +51 -30
  11. defi_services/services/lending/lending_info/arbitrum/venus_arbitrum.py +46 -2
  12. defi_services/services/lending/lending_info/arbitrum/yldr_arbitrum.py +51 -2
  13. defi_services/services/lending/lending_info/avalanche/benqi_avalanche.py +2 -2
  14. defi_services/services/lending/lending_info/base/venus_base.py +42 -0
  15. defi_services/services/lending/lending_info/bsc/avalon_bsc.py +1 -1
  16. defi_services/services/lending/lending_info/bsc/radiant_bsc.py +48 -28
  17. defi_services/services/lending/lending_info/celo/__init__.py +0 -0
  18. defi_services/services/lending/lending_info/celo/aave_v3_celo.py +47 -0
  19. defi_services/services/lending/lending_info/ethereum/radiant_eth.py +55 -55
  20. defi_services/services/lending/lending_info/ethereum/spark_eth.py +1 -1
  21. defi_services/services/lending/lending_info/ethereum/venus_eth.py +124 -2
  22. defi_services/services/lending/lending_info/ethereum/yldr_ethereum.py +38 -2
  23. defi_services/services/lending/lending_info/gnosis/__init__.py +0 -0
  24. defi_services/services/lending/lending_info/gnosis/aave_v3_gnoisis.py +69 -0
  25. defi_services/services/lending/lending_info/gnosis/spark_gnosis.py +75 -0
  26. defi_services/services/lending/lending_info/harmony/__init__.py +0 -0
  27. defi_services/services/lending/lending_info/harmony/aave_v3_harmony.py +69 -0
  28. defi_services/services/lending/lending_info/opBNB/__init__.py +0 -0
  29. defi_services/services/lending/lending_info/opBNB/venus_opbnb.py +42 -0
  30. defi_services/services/lending/lending_info/optimism/moonwell_optimism.py +86 -0
  31. defi_services/services/lending/lending_info/optimism/venus_optimism.py +42 -0
  32. defi_services/services/lending/lending_info/scroll/__init__.py +0 -0
  33. defi_services/services/lending/lending_info/scroll/aave_v3_scroll.py +48 -0
  34. defi_services/services/lending/lending_info/sonic/__init__.py +0 -0
  35. defi_services/services/lending/lending_info/sonic/aave_v3_sonic.py +41 -0
  36. defi_services/services/lending/lending_info/zksync/venus_zksync.py +58 -2
  37. defi_services/services/lending/moonwell_service.py +3 -1
  38. defi_services/services/lending/spark_services.py +3 -1
  39. defi_services/services/lending/venus_services.py +18 -2
  40. defi_services/services/lending/xlend_services.py +2 -10
  41. defi_services/services/lending/yldr_services.py +394 -0
  42. {defi_state_querier-0.5.32.dist-info → defi_state_querier-0.5.34.dist-info}/METADATA +1 -1
  43. {defi_state_querier-0.5.32.dist-info → defi_state_querier-0.5.34.dist-info}/RECORD +46 -27
  44. {defi_state_querier-0.5.32.dist-info → defi_state_querier-0.5.34.dist-info}/WHEEL +1 -1
  45. {defi_state_querier-0.5.32.dist-info → defi_state_querier-0.5.34.dist-info}/licenses/LICENSE +0 -0
  46. {defi_state_querier-0.5.32.dist-info → defi_state_querier-0.5.34.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,394 @@
1
+ import logging
2
+
3
+ from web3 import Web3
4
+
5
+ from defi_services.abis.lending.aave.aave_v3.aave_v3_incentives_abi import AAVE_V3_INCENTIVES_ABI
6
+ from defi_services.abis.lending.aave.aave_v3.aave_v3_lending_pool_abi import AAVE_V3_LENDING_POOL_ABI
7
+ from defi_services.abis.lending.aave.aave_v3.aave_v3_oracle_abi import AAVE_V3_ORACLE_ABI
8
+ from defi_services.abis.lending.morpho.morpho_aave_v3_comptroller_abi import MORPHO_AAVE_V3_COMPTROLLER_ABI
9
+ from defi_services.abis.lending.yldr.yldr_lending_abi import YLDR_LENDING_ABI
10
+ from defi_services.abis.token.erc20_abi import ERC20_ABI
11
+ from defi_services.constants.chain_constant import Chain
12
+ from defi_services.constants.db_constant import DBConst
13
+ from defi_services.constants.entities.lending_constant import Lending
14
+ from defi_services.constants.network_constants import NATIVE_TOKEN
15
+ from defi_services.constants.time_constant import TimeConstants
16
+ from defi_services.jobs.queriers.state_querier import StateQuerier
17
+ from defi_services.services.lending.aave_v2_services import AaveV2StateService
18
+ from defi_services.services.lending.lending_info.arbitrum.yldr_arbitrum import YLDR_ARBITRUM
19
+ from defi_services.services.lending.lending_info.base.xlend_base import XLEND_BASE
20
+ from defi_services.services.lending.lending_info.ethereum.yldr_ethereum import YLDR_ETHEREUM
21
+ from defi_services.services.lending.lending_info.optimism.xlend_optimism import XLEND_OPTIMISM
22
+
23
+ logger = logging.getLogger("YLDR Lending Pool State Service")
24
+
25
+
26
+ class YLDRInfo:
27
+ mapping = {
28
+ Chain.arbitrum: YLDR_ARBITRUM,
29
+ Chain.ethereum: YLDR_ETHEREUM
30
+ }
31
+
32
+
33
+ class YLDRStateService(AaveV2StateService):
34
+ def __init__(self, state_service: StateQuerier, chain_id: str = "0x1"):
35
+ super().__init__(state_service, chain_id)
36
+ self.name = f"{chain_id}_{Lending.xlend}"
37
+ self.chain_id = chain_id
38
+ self.pool_info = YLDRInfo.mapping.get(chain_id)
39
+ self.lending_abi = YLDR_LENDING_ABI
40
+ self.incentive_abi = AAVE_V3_INCENTIVES_ABI
41
+ self.oracle_abi = AAVE_V3_ORACLE_ABI
42
+ self.comptroller_abi = MORPHO_AAVE_V3_COMPTROLLER_ABI
43
+ self.state_service = state_service
44
+
45
+ def get_service_info(self):
46
+ info = {
47
+ Lending.yldr: {
48
+ "chain_id": self.chain_id,
49
+ "type": "lending",
50
+ "protocol_info": self.pool_info
51
+ }
52
+ }
53
+ return info
54
+
55
+ def get_dapp_asset_info(self, block_number: int = 'latest'):
56
+ _w3 = self.state_service.get_w3()
57
+ pool_address = self.pool_info.get("address")
58
+ pool_contract = _w3.eth.contract(address=_w3.to_checksum_address(pool_address), abi=self.lending_abi)
59
+ reserve_list = pool_contract.functions.getReservesList().call(block_identifier=block_number)
60
+ reserves_info = {}
61
+ for token in reserve_list:
62
+ token = token.lower()
63
+ reserve_data = pool_contract.functions.getReserveData(
64
+ _w3.to_checksum_address(token)).call(block_identifier=block_number)
65
+ reserves_info[token] = {}
66
+ reserves_info[token]["tToken"] = reserve_data[7].lower()
67
+ reserves_info[token]["dToken"] = reserve_data[8].lower()
68
+ risk_param = bin(reserve_data[0][0])[2:]
69
+ reserves_info[token]["loanToValue"] = int(risk_param[-15:], 2) / 10 ** 4
70
+ reserves_info[token]["liquidationThreshold"] = int(risk_param[-31:-16], 2) / 10 ** 4
71
+
72
+ return reserves_info
73
+
74
+ # CALCULATE APY LENDING POOL
75
+ def get_apy_lending_pool_function_info(
76
+ self,
77
+ reserves_info: dict,
78
+ block_number: int = "latest"
79
+ ):
80
+ rpc_calls = {}
81
+ for token_address, value in reserves_info.items():
82
+ reserve_key = f"getReserveData_{self.name}_{token_address}_{block_number}".lower()
83
+ atoken_total_supply_key = f'totalSupply_{value["tToken"]}_{block_number}'.lower()
84
+ debt_token_total_supply_key = f'totalSupply_{value["dToken"]}_{block_number}'.lower()
85
+ decimals_key = f"decimals_{token_address}_{block_number}".lower()
86
+ rpc_calls[reserve_key] = self.get_function_lending_pool_info("getReserveData", [token_address])
87
+ rpc_calls[atoken_total_supply_key] = self.state_service.get_function_info(
88
+ value["tToken"], ERC20_ABI, "totalSupply", block_number=block_number)
89
+ rpc_calls[debt_token_total_supply_key] = self.state_service.get_function_info(
90
+ value["dToken"], ERC20_ABI, "totalSupply", block_number=block_number)
91
+ rpc_calls[decimals_key] = self.state_service.get_function_info(
92
+ token_address, ERC20_ABI, "decimals", block_number=block_number)
93
+
94
+ return rpc_calls
95
+
96
+ def get_reserve_tokens_metadata(
97
+ self,
98
+ decoded_data: dict,
99
+ reserves_info: dict,
100
+ block_number: int = "latest"
101
+ ):
102
+ reserve_tokens_info = []
103
+ for token_address, reserve_info in reserves_info.items():
104
+ get_reserve_data_call_id = f'getReserveData_{self.name}_{token_address}_{block_number}'.lower()
105
+ reserve_data = decoded_data.get(get_reserve_data_call_id)
106
+ atoken = reserve_data[7].lower()
107
+ debt_token = reserve_data[8].lower()
108
+ decimals_call_id = f"decimals_{token_address}_{block_number}".lower()
109
+ atoken_total_supply_key = f'totalSupply_{atoken}_{block_number}'.lower()
110
+ debt_token_total_supply_key = f'totalSupply_{debt_token}_{block_number}'.lower()
111
+ data = {
112
+ 'underlying': token_address,
113
+ 'underlying_decimals': decoded_data.get(decimals_call_id),
114
+ 'a_token_supply': decoded_data.get(atoken_total_supply_key),
115
+ 'd_token_supply': decoded_data.get(debt_token_total_supply_key),
116
+ 'supply_apy': reserve_data[2],
117
+ 'borrow_apy': reserve_data[4],
118
+
119
+ }
120
+
121
+ reserve_tokens_info.append(data)
122
+
123
+ return reserve_tokens_info
124
+
125
+ def get_apy_lending_pool_function_info_deprecated(
126
+ self,
127
+ reserves_info: dict,
128
+ block_number: int = "latest",
129
+ ):
130
+ rpc_calls = {}
131
+ reward_tokens = self.pool_info.get("rewardTokensList")
132
+ for token_address, value in reserves_info.items():
133
+ reserve_key = f"getReserveData_{self.name}_{token_address}_{block_number}".lower()
134
+ atoken_total_supply_key = f'totalSupply_{value["tToken"]}_{block_number}'.lower()
135
+ debt_token_total_supply_key = f'totalSupply_{value["dToken"]}_{block_number}'.lower()
136
+ decimals_key = f"decimals_{token_address}_{block_number}".lower()
137
+ for reward_token in reward_tokens:
138
+ atoken_assets_key = f"getRewardsData_{value['tToken']}_{reward_token}_{block_number}".lower()
139
+ debt_token_assets_key = f"getRewardsData_{value['dToken']}_{reward_token}_{block_number}".lower()
140
+ rpc_calls[atoken_assets_key] = self.get_function_incentive_info(
141
+ "getRewardsData", [value['tToken'], reward_token], block_number)
142
+ rpc_calls[debt_token_assets_key] = self.get_function_incentive_info(
143
+ "getRewardsData", [value['dToken'], reward_token], block_number)
144
+
145
+ rpc_calls[reserve_key] = self.get_function_lending_pool_info("getReserveData", [token_address])
146
+ rpc_calls[atoken_total_supply_key] = self.state_service.get_function_info(
147
+ value["tToken"], ERC20_ABI, "totalSupply", block_number=block_number)
148
+ rpc_calls[debt_token_total_supply_key] = self.state_service.get_function_info(
149
+ value["dToken"], ERC20_ABI, "totalSupply", block_number=block_number)
150
+ rpc_calls[decimals_key] = self.state_service.get_function_info(
151
+ token_address, ERC20_ABI, "decimals", block_number=block_number)
152
+
153
+ return rpc_calls
154
+
155
+ def get_apy_lending_pool_deprecated(
156
+ self,
157
+ atokens: dict,
158
+ debt_tokens: dict,
159
+ decimals: dict,
160
+ reserves_info: dict,
161
+ asset_data_tokens: dict,
162
+ total_supply_tokens: dict,
163
+ interest_rate: dict,
164
+ token_prices: dict,
165
+ pool_token_price: float,
166
+ pool_decimals: int = 18,
167
+ ):
168
+ reward_tokens = self.pool_info.get("rewardTokensList")
169
+ for token_address in reserves_info:
170
+ atoken = atokens.get(token_address)
171
+ debt_token = debt_tokens.get(token_address)
172
+ decimal = decimals.get(token_address)
173
+ total_supply_t = total_supply_tokens.get(atoken, 0)
174
+ total_supply_d = total_supply_tokens.get(debt_token, 0)
175
+ # update deposit, borrow apy
176
+ total_supply_t = total_supply_t / 10 ** decimal
177
+ total_supply_d = total_supply_d / 10 ** decimal
178
+ token_price = token_prices.get(token_address)
179
+ interest_rate[token_address].update({
180
+ "utilization": total_supply_d / total_supply_t,
181
+ })
182
+ total_supply_t_in_usd = total_supply_t * token_price
183
+ total_supply_d_in_usd = total_supply_d * token_price
184
+ if reward_tokens:
185
+ interest_rate[token_address][DBConst.reward_deposit_apy] = {}
186
+ interest_rate[token_address][DBConst.reward_borrow_apy] = {}
187
+ asset_data_t = asset_data_tokens.get(atoken)
188
+ asset_data_d = asset_data_tokens.get(debt_token)
189
+ # update deposit, borrow apy
190
+ for reward_address in reward_tokens:
191
+ eps_t = asset_data_t[reward_address][1] / 10 ** 18
192
+ eps_d = asset_data_d[reward_address][1] / 10 ** 18
193
+ if total_supply_t:
194
+ deposit_apr = eps_t * TimeConstants.A_YEAR * pool_token_price / (
195
+ total_supply_t * token_price)
196
+ else:
197
+ deposit_apr = 0
198
+ if total_supply_d:
199
+ borrow_apr = eps_d * TimeConstants.A_YEAR * pool_token_price / (
200
+ total_supply_d * token_price)
201
+ else:
202
+ borrow_apr = 0
203
+ interest_rate[token_address][DBConst.reward_deposit_apy].update({
204
+ DBConst.reward_borrow_apy: deposit_apr}
205
+ )
206
+ interest_rate[token_address][DBConst.reward_borrow_apy].update({
207
+ reward_address: borrow_apr}
208
+ )
209
+ # update liquidity
210
+ liquidity_log = {
211
+ 'total_borrow': {
212
+ DBConst.amount: total_supply_d,
213
+ DBConst.value_in_usd: total_supply_d_in_usd},
214
+ 'total_deposit': {
215
+ DBConst.amount: total_supply_t,
216
+ DBConst.value_in_usd: total_supply_t_in_usd}
217
+ }
218
+ interest_rate[token_address].update({DBConst.liquidity_change_logs: liquidity_log})
219
+
220
+ return interest_rate
221
+
222
+ def calculate_apy_lending_pool_function_call_deprecated(
223
+ self,
224
+ reserves_info: dict,
225
+ decoded_data: dict,
226
+ token_prices: dict,
227
+ pool_token_price: float,
228
+ pool_decimals: int = 18,
229
+ block_number: int = 'latest',
230
+ ):
231
+ reserves_data = {}
232
+ for token in reserves_info:
233
+ get_reserve_data_call_id = f'getReserveData_{self.name}_{token}_{block_number}'.lower()
234
+ reserves_data[token.lower()] = decoded_data.get(get_reserve_data_call_id)
235
+ reward_tokens = self.pool_info.get("rewardTokensList")
236
+ interest_rate, atokens, debt_tokens, sdebt_tokens, decimals, asset_data_tokens = {}, {}, {}, {}, {}, {}
237
+ total_supply_tokens = {}
238
+ for token_address in reserves_info:
239
+ lower_address = token_address.lower()
240
+ reserve_data = reserves_data[lower_address]
241
+ interest_rate[lower_address] = {
242
+ 'deposit_apy': float(reserve_data[3]) / 10 ** 27,
243
+ 'borrow_apy': float(reserve_data[4]) / 10 ** 27,
244
+ 'stable_borrow_apy': float(reserve_data[5]) / 10 ** 27}
245
+ atoken = reserve_data[7].lower()
246
+ sdebt_token = reserve_data[8].lower()
247
+ debt_token = reserve_data[9].lower()
248
+ decimals_call_id = f"decimals_{token_address}_{block_number}".lower()
249
+ atoken_total_supply_key = f'totalSupply_{atoken}_{block_number}'.lower()
250
+ debt_token_total_supply_key = f'totalSupply_{debt_token}_{block_number}'.lower()
251
+ asset_data_tokens[atoken] = {}
252
+ asset_data_tokens[debt_token] = {}
253
+ if sdebt_token != NATIVE_TOKEN:
254
+ asset_data_tokens[sdebt_token] = {}
255
+
256
+ total_supply_tokens[atoken] = {}
257
+ for reward_token in reward_tokens:
258
+ atoken_assets_key = f"getRewardsData_{atoken}_{reward_token}_{block_number}".lower()
259
+ debt_token_assets_key = f"getRewardsData_{debt_token}_{reward_token}_{block_number}".lower()
260
+ asset_data_tokens[atoken][reward_token] = decoded_data.get(atoken_assets_key)
261
+ asset_data_tokens[debt_token][reward_token] = decoded_data.get(debt_token_assets_key)
262
+ total_supply_tokens[atoken][reward_token] = decoded_data.get(atoken_total_supply_key)
263
+ if sdebt_token != NATIVE_TOKEN:
264
+ sdebt_token_assets_key = f"getRewardsData_{sdebt_tokens}_{reward_token}_{block_number}".lower()
265
+ asset_data_tokens[sdebt_token][reward_token] = decoded_data.get(sdebt_token_assets_key)
266
+
267
+ atokens[lower_address] = atoken
268
+ debt_tokens[lower_address] = debt_token
269
+ sdebt_tokens[lower_address] = sdebt_token
270
+ decimals[lower_address] = decoded_data.get(decimals_call_id)
271
+ total_supply_tokens[debt_token] = decoded_data.get(debt_token_total_supply_key)
272
+ if sdebt_token != NATIVE_TOKEN:
273
+ sdebt_token_total_supply_key = f'totalSupply_{sdebt_token}_{block_number}'.lower()
274
+ total_supply_tokens[sdebt_token] = decoded_data.get(sdebt_token_total_supply_key)
275
+
276
+ asset_price_key = f"getAssetsPrices_{self.name}_{block_number}".lower()
277
+ if not token_prices and asset_price_key in decoded_data:
278
+ token_prices = {}
279
+ prices = decoded_data.get(asset_price_key)
280
+ for pos in range(len(reserves_info.keys())):
281
+ token_prices[reserves_info[pos].lower()] = prices[pos] / 10 ** pool_decimals
282
+
283
+ data = self.get_apy_lending_pool_deprecated(
284
+ atokens, debt_tokens, decimals, reserves_info, asset_data_tokens, total_supply_tokens, interest_rate,
285
+ token_prices, pool_token_price, pool_decimals
286
+ )
287
+
288
+ return data
289
+
290
+ # REWARDS BALANCE
291
+ def get_rewards_balance_function_info(
292
+ self,
293
+ wallet,
294
+ reserves_info: dict = None,
295
+ block_number: int = "latest"
296
+ ):
297
+ return {}
298
+
299
+ def calculate_rewards_balance(
300
+ self, wallet: str, reserves_info: dict, decoded_data: dict, block_number: int = "latest"):
301
+ return {}
302
+
303
+ # WALLET DEPOSIT BORROW BALANCE
304
+ def get_wallet_deposit_borrow_balance_function_info(
305
+ self,
306
+ wallet: str,
307
+ reserves_info: dict,
308
+ block_number: int = "latest",
309
+ health_factor: bool = False
310
+ ):
311
+ rpc_calls = {}
312
+ for token in reserves_info:
313
+ value = reserves_info[token]
314
+ atoken_balance_of_key = f'balanceOf_{value["tToken"]}_{wallet}_{block_number}'.lower()
315
+ debt_token_balance_of_key = f'balanceOf_{value["dToken"]}_{wallet}_{block_number}'.lower()
316
+ decimals_key = f"decimals_{token}_{block_number}".lower()
317
+
318
+ rpc_calls[atoken_balance_of_key] = self.state_service.get_function_info(
319
+ value["tToken"], ERC20_ABI, "balanceOf", [wallet], block_number=block_number)
320
+ rpc_calls[debt_token_balance_of_key] = self.state_service.get_function_info(
321
+ value["dToken"], ERC20_ABI, "balanceOf", [wallet], block_number=block_number)
322
+ rpc_calls[decimals_key] = self.state_service.get_function_info(
323
+ token, ERC20_ABI, "decimals", block_number=block_number)
324
+
325
+ if health_factor:
326
+ rpc_calls.update(self.get_health_factor_function_info(wallet, reserves_info, block_number))
327
+
328
+ return rpc_calls
329
+
330
+ def get_wallet_deposit_borrow_balance(
331
+ self,
332
+ reserves_info: dict,
333
+ token_prices,
334
+ decimals,
335
+ deposit_amount,
336
+ borrow_amount,
337
+ stable_borrow_amount
338
+ ):
339
+ result = {}
340
+ for token, info in reserves_info.items():
341
+ decimals_token = decimals.get(token)
342
+ deposit_amount_wallet = deposit_amount.get(token) / 10 ** decimals_token
343
+ borrow_amount_wallet = borrow_amount.get(token) / 10 ** decimals_token
344
+ result[token] = {
345
+ "borrow_amount": borrow_amount_wallet,
346
+ "deposit_amount": deposit_amount_wallet,
347
+ "is_collateral": True if info.get('liquidationThreshold') > 0 else False
348
+ }
349
+ if token_prices:
350
+ deposit_amount_in_usd = deposit_amount_wallet * token_prices.get(token, 0)
351
+ borrow_amount_in_usd = borrow_amount_wallet * token_prices.get(token, 0)
352
+ result[token].update({
353
+ "borrow_amount_in_usd": borrow_amount_in_usd,
354
+ "deposit_amount_in_usd": deposit_amount_in_usd,
355
+ })
356
+
357
+ return {self.pool_info.get("address"): result}
358
+
359
+ def calculate_wallet_deposit_borrow_balance(
360
+ self,
361
+ wallet: str,
362
+ reserves_info: dict,
363
+ decoded_data: dict,
364
+ token_prices: dict,
365
+ pool_decimals: int = 18,
366
+ block_number: int = 'latest',
367
+ health_factor: bool = False
368
+ ):
369
+ asset_price_key = f"getAssetsPrices_{self.name}_{block_number}".lower()
370
+ if not token_prices and asset_price_key in decoded_data:
371
+ token_prices = {}
372
+ prices = decoded_data.get(asset_price_key)
373
+ for pos in range(len(reserves_info.keys())):
374
+ token_prices[reserves_info[pos].lower()] = prices[pos] / 10 ** pool_decimals
375
+
376
+ decimals, deposit_amount, borrow_amount, stable_borrow_amount = {}, {}, {}, {}
377
+ for token in reserves_info:
378
+ value = reserves_info[token]
379
+ get_total_deposit_id = f"balanceOf_{value['tToken']}_{wallet}_{block_number}".lower()
380
+ get_total_borrow_id = f"balanceOf_{value['dToken']}_{wallet}_{block_number}".lower()
381
+ get_decimals_id = f"decimals_{token}_{block_number}".lower()
382
+ deposit_amount[token] = decoded_data.get(get_total_deposit_id)
383
+ borrow_amount[token] = decoded_data.get(get_total_borrow_id)
384
+ decimals[token] = decoded_data.get(get_decimals_id)
385
+
386
+ data = self.get_wallet_deposit_borrow_balance(
387
+ reserves_info, token_prices, decimals, deposit_amount,
388
+ borrow_amount, stable_borrow_amount
389
+ )
390
+ if health_factor:
391
+ hf = self.calculate_health_factor(
392
+ wallet, reserves_info, decoded_data, token_prices, pool_decimals, block_number)
393
+ data.update(hf)
394
+ return data
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: defi-state-querier
3
- Version: 0.5.32
3
+ Version: 0.5.34
4
4
  Summary: Calculate apy, apr, and wallet information,... in decentralized applications.
5
5
  Home-page: https://github.com/Centic-io/defi-state-querier
6
6
  Author: Viet-Bang Pham
@@ -1,4 +1,4 @@
1
- defi_services/__init__.py,sha256=zRBKyOU0DiJN_VNZQUawZ7-WJzZsLSLydzPhK6ijatA,23
1
+ defi_services/__init__.py,sha256=9RlTD2u16fQWmY_zyktDekB5DUUsVdkeqlbWEGg3FNE,23
2
2
  defi_services/abis/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
3
  defi_services/abis/multicall_v3_abi.py,sha256=0aPxjrJJFU17fODjvYFRDn5Y5J1yi_AJKc8v1uohNGY,12352
4
4
  defi_services/abis/dex/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -197,6 +197,7 @@ defi_services/abis/lending/valas/valas_multi_fee_distribution.py,sha256=AgNlFfDS
197
197
  defi_services/abis/lending/venus/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
198
198
  defi_services/abis/lending/venus/all_venus_abi.py,sha256=i3_glR-2nVLxUQ1tFGjrf_QS-L-IFEG3yW8DSmhbXio,9064
199
199
  defi_services/abis/lending/venus/venus_comptroller_abi.py,sha256=e8H50OSNAIl69aj4VF8kyp6i3s9CtlcuAwNDN8hWpeo,43234
200
+ defi_services/abis/lending/venus/venus_comptroller_optimism_abi.py,sha256=Wlbd0GwkOWEhkNaWy1Xqp4kGdc5a3DwslxfOEivcftI,41708
200
201
  defi_services/abis/lending/venus/venus_lens_abi.py,sha256=2-XqvZLQ10pCCmntqUsjhwo0j6906BdyJ9pPywmSfEQ,19566
201
202
  defi_services/abis/lending/venus/venus_lens_abi_v1.py,sha256=uI1GPBVVgEAT3ZZ4GM4waM6gAQuIR3r0HUsbsOtdTs0,14433
202
203
  defi_services/abis/lending/venus/vtoken_abi.py,sha256=T1IQXbhJWWdY3AJ88T8EJywbt5bmK_AE3HXtC3AA2I0,30070
@@ -238,6 +239,8 @@ defi_services/abis/lending/wepiggy/wepiggy_comptroller_abi.py,sha256=qU1C06IBWo5
238
239
  defi_services/abis/lending/wepiggy/wepiggy_distribution_abi.py,sha256=Eqyd2JNd7R0DZKBssE_67j9uIP6ViUvwJzSVtFuIv1I,18497
239
240
  defi_services/abis/lending/wepiggy/wepiggy_lens_abi.py,sha256=pQlkGoTXOiUIWeC2esc2wXx1mtOtpNAuPeJvDTHyg6s,26448
240
241
  defi_services/abis/lending/wepiggy/wepiggy_lens_abi_v2.py,sha256=1xmoKjwEzGiu5rujm1fmGHI2gHiiGHNPs7vbw0jkOO8,9533
242
+ defi_services/abis/lending/yldr/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
243
+ defi_services/abis/lending/yldr/yldr_lending_abi.py,sha256=A8zRe83M_RxIgpY5kFbhcv5w1Y_JyLcHN_l5a7mLDgc,35373
241
244
  defi_services/abis/token/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
242
245
  defi_services/abis/token/ctoken_abi.py,sha256=rEyzs_TttNG56CPM-M_F_HfaPPRvLL1E9HR0EdV4Lyc,23605
243
246
  defi_services/abis/token/erc20_abi.py,sha256=BQKzaRjwCdc7Pt1X0GqHlnXTmec6f67wIpWbiYOe6c8,5636
@@ -309,7 +312,7 @@ defi_services/abis/vault/lido/lido_withdrawl_queue.py,sha256=qKdsXQLKlNU3a_Nk68q
309
312
  defi_services/abis/vault/lido/lido_wsteth.py,sha256=DJhMToJS43vV2r5WP2kZSiagt7R8MtKFT8u1xJBjZKU,8780
310
313
  defi_services/abis/vault/lido/lidor_accounting_oracle_hash_consensus.py,sha256=TWCLaccDgvWJZZKLAeoznYgGi3g3M_hFqoo3KE_L7K8,21039
311
314
  defi_services/constants/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
312
- defi_services/constants/chain_constant.py,sha256=zA17Ihi5b8K99H0DsraAL-8-a_5_h37DbJ0OKA2qRys,1221
315
+ defi_services/constants/chain_constant.py,sha256=ir60fhS3gJmJOz4fFiKlr4drmLp5EiNCgWWDgjV98JA,1309
313
316
  defi_services/constants/cosmos_decimals_constant.py,sha256=SjFkFbkvxVAk0jtok_1EaBh69ZE8S1fFAbVn6bdJO4s,13635
314
317
  defi_services/constants/db_constant.py,sha256=gDMFFjhPOgQHuS9sPOTFbsfSdIfdWQEE4tGlxHQhNsE,2566
315
318
  defi_services/constants/mongo_constant.py,sha256=qsDIq2Gg5MkBGaEOh4Fd9y6fOOidF4gGPnQwtaPon3E,398
@@ -322,8 +325,8 @@ defi_services/constants/entities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRk
322
325
  defi_services/constants/entities/dex_constant.py,sha256=oCt8RS-0KjFW5zR5IU1Ys49nYCCAraY8pTivOpXoyvs,343
323
326
  defi_services/constants/entities/dex_info_constant.py,sha256=gFjF6gWLZ-e_iLoUeSF-bPZKOwbmxVoMeyaA2wGZESM,1653
324
327
  defi_services/constants/entities/dex_services.py,sha256=Ip3ww6OBA3RQHMrtPE86uoPv2iv-oLh38cKGPtrpKMA,2383
325
- defi_services/constants/entities/lending_constant.py,sha256=7WndqWnTKAD7rNP-qwppJE0y_m537aKGmhmbftZW3Rs,1298
326
- defi_services/constants/entities/lending_services.py,sha256=9A_9N6--MFMfX7p_K_ZBvQVO_SCjgSeViHwb_z1nKhI,6552
328
+ defi_services/constants/entities/lending_constant.py,sha256=H6sxuB4gY3e_h4UOnkdGGQR0ADwNhWhe9zXnvXfFVbw,1322
329
+ defi_services/constants/entities/lending_services.py,sha256=A9Gcrw9DbDr00B9za7zMDUahC5B1L_2YNGMG1fH19Hs,6706
327
330
  defi_services/constants/entities/vault_constant.py,sha256=XaFp2VpmePfym42Gn-5IeT8qnQBq1JcRNrH7r2_tWxo,122
328
331
  defi_services/constants/entities/vault_services.py,sha256=uwcvxwnyXNU3_3mcI6PGWyvGe40tzHmTrmigotLWeMM,752
329
332
  defi_services/jobs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -340,7 +343,7 @@ defi_services/jobs/processors/ton_state_processor.py,sha256=iKgY04iH0MHCwrJOqdAp
340
343
  defi_services/jobs/queriers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
341
344
  defi_services/jobs/queriers/call_state_querier.py,sha256=1aTPFwX28dY6SDQ7wHDAdwSGxYHMR7sZzaIJl8bJqZw,4880
342
345
  defi_services/jobs/queriers/solana_state_querier.py,sha256=TQELYo6GUoF8s-LfetqYbclNaH8bakQqC7y2ifACIb8,3239
343
- defi_services/jobs/queriers/state_querier.py,sha256=kvZv0UTUTcGCpBk-YqWSJt6gh_luit46FHP1Ycfvbi0,7446
346
+ defi_services/jobs/queriers/state_querier.py,sha256=SfGPZdn6E62pl4_UtBm6BWxnBQ4tudlY0ohUqw7A0Lg,7453
344
347
  defi_services/jobs/queriers/substrate_state_querier.py,sha256=_T0Dk06sP_uBKaxgj2J_EBtJDoq-hi8jU7Np4iuO0LA,3858
345
348
  defi_services/jobs/queriers/ton_state_querier.py,sha256=IkCMGwFgERcX7M_DzBxHxD-nKzbwSWrg8gxuKSERiJw,1148
346
349
  defi_services/services/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -373,7 +376,7 @@ defi_services/services/eth/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJ
373
376
  defi_services/services/eth/eth_services.py,sha256=b6nEcgGHVFdRjqT2RZqvjfRuh56yjWgwLj74YNhiHGM,3719
374
377
  defi_services/services/lending/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
375
378
  defi_services/services/lending/aave_v2_services.py,sha256=I3Z0FH8OLCiMmODzpu63F1x9vHnQMMOU9obhyUdOMKI,22300
376
- defi_services/services/lending/aave_v3_services.py,sha256=aGXhVSrQM2Eui5DH1Ghf-XDNcUAxHISDECZ99FPDuhA,17077
379
+ defi_services/services/lending/aave_v3_services.py,sha256=4JVVG1jxeCzGxNCZBm65cfhWDMjtOyF_m1kaLa8Cl2A,17723
377
380
  defi_services/services/lending/apeswap_services.py,sha256=UrLhXVzGvim_xfs54hSJ1qeTH6ber4xh01j5PWFl4C8,4737
378
381
  defi_services/services/lending/avalon_services.py,sha256=M1H7JIGCrucr_5KiJUgYC4i6YO4UuvZjArRNPAl6AFU,1118
379
382
  defi_services/services/lending/compound_service.py,sha256=8r7pAs8KaaakDuHg4BUICW4zLD-ihm_DQETYwnAFc98,21917
@@ -387,7 +390,7 @@ defi_services/services/lending/iron_bank_service.py,sha256=GuXoXEbR4gkkNYfAyFkDt
387
390
  defi_services/services/lending/justlend_service.py,sha256=p1iHiMxZest5YmXwUZ-69g5LW30IG-F9_z1TiPBO2gU,8875
388
391
  defi_services/services/lending/kinza_services.py,sha256=qsoCgvb-tX9Z3XMCfBzx0lnqgWL_nWqKDgNZ8lBApjA,15908
389
392
  defi_services/services/lending/liqee_service.py,sha256=o7g_HX_QDMBP0YVn7wx0Kl_aWtoLI-65w2ttXP6dlz0,17140
390
- defi_services/services/lending/moonwell_service.py,sha256=V8UCQPN8jv_QwvXLsTUpbpgYk4_JmdhNhyckvNONErI,5468
393
+ defi_services/services/lending/moonwell_service.py,sha256=bfzi9LzzJn8X3qGFfcVMkNEhbfc3r5lApDNMjWY0xII,5612
391
394
  defi_services/services/lending/morpho_aave_v2_services.py,sha256=C8mfClb_KVbSr08YReVjhPzP4FTurGsitE9a4isEMn8,8471
392
395
  defi_services/services/lending/morpho_aave_v3_services.py,sha256=5p-_1rpFnjaY55gRJWxdQ1qHuKDrQDMY-6PdRDpfJIo,8268
393
396
  defi_services/services/lending/morpho_compound_services.py,sha256=38AXwi-7yxSrRghS3OCRZrOy9cfJnC3k-yNf1Ep27Ds,14912
@@ -396,29 +399,30 @@ defi_services/services/lending/radiant_v2_services.py,sha256=OEwocsl3ZCWE9OySXBB
396
399
  defi_services/services/lending/seamless_services.py,sha256=hg9kg3609dxXN04ek_ui9uFUe1pOujnQyXWlLL693Eo,15853
397
400
  defi_services/services/lending/silo_services.py,sha256=yLw90u_IXEqE3NbfhVAhG1y8qQqo26xSbYXXlh4lL3g,16726
398
401
  defi_services/services/lending/sonne_service.py,sha256=KQ0CbMVLK-peJZE2_xJtFTK2lBx6Mnijhlwo0BVU4ug,2203
399
- defi_services/services/lending/spark_services.py,sha256=68_egY0yOT7YIOVbd8rbHJBJEsL0sOr0zSsTSdw0BUY,1042
402
+ defi_services/services/lending/spark_services.py,sha256=8qn46WZ2EoXaReH3f9_3p3BZSWcaJv-n_cBOremYec4,1167
400
403
  defi_services/services/lending/strike_service.py,sha256=ZQ9B6Xngo64njwqABOO3CH-ESFmUmQWbisCgVXYKjak,13797
401
404
  defi_services/services/lending/trava_services.py,sha256=XakGhWzEcrEbKxPsAzZz-X8JVtMBkU2hem-AGWTHCvk,19101
402
405
  defi_services/services/lending/uwu_services.py,sha256=umv1YKsFBrOybPgX69ybzzEVOkAsmIAT8YL3UWlaxEk,13842
403
406
  defi_services/services/lending/valas_services.py,sha256=KlguY7dg58jK2LbJn79c6Tsu_gYmIlSLfC3U81YfI5E,22445
404
- defi_services/services/lending/venus_services.py,sha256=nkgr0s8DjDWfZo1kq1pvE-0Mo2S9bk5Ofb6F7Q-x0rk,16624
407
+ defi_services/services/lending/venus_services.py,sha256=1zthddetP_nLA2fnERAH_-bOj1LbGdjJe69-tVg0MiE,17577
405
408
  defi_services/services/lending/wepiggy_services.py,sha256=x10QkYpn47wgNvmDeMGgmzJxv7WPte6hqR3MCBRgMbM,15684
406
- defi_services/services/lending/xlend_services.py,sha256=arYyKtEvS_egSZ5_z7GsaeSao-ym96Ic8AanwoKdNqg,16886
409
+ defi_services/services/lending/xlend_services.py,sha256=Jc8ACHvBNC_5brahzasqjvnAsTu_FEFRL6zeif4q27o,16144
410
+ defi_services/services/lending/yldr_services.py,sha256=sVSwl2DObPq0JNqFKwk6TweEH8P4QHeDOl7vK5hjuEQ,19527
407
411
  defi_services/services/lending/zerolend_services.py,sha256=7ESBKXhUtV-xCnbx_Om8ys3X6ChTICNzbljWnPHBn-k,1334
408
412
  defi_services/services/lending/lending_info/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
409
413
  defi_services/services/lending/lending_info/arbitrum/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
410
414
  defi_services/services/lending/lending_info/arbitrum/aave_v3_arbitrum.py,sha256=VfEs1oLTSqs4GTnghtHrkqcCBHd7C_xyzD849TOwmd0,3553
411
415
  defi_services/services/lending/lending_info/arbitrum/compound_v3_arbitrum.py,sha256=Aq90E-CIvHvKGDzjiqYwyLKUBUPZ-PPrBOJ_hHjR80Y,7123
412
416
  defi_services/services/lending/lending_info/arbitrum/granary_arbitrum.py,sha256=AxMfKkbOhHGObzaDNNqTDv52WpbGA4MIyzZCItXvicg,3355
413
- defi_services/services/lending/lending_info/arbitrum/radiant_arbitrum.py,sha256=1iXoZml8c1iVdshqzZ7YRVcS5lc2RK6A2AnPfO4s49U,2662
417
+ defi_services/services/lending/lending_info/arbitrum/radiant_arbitrum.py,sha256=-Blgf_D1pMN3TBZBXuqGo3JhOTqyT4mzolT7fLdzn0o,3580
414
418
  defi_services/services/lending/lending_info/arbitrum/silo_arbitrum.py,sha256=XJWbE3xmIiNP44OF_ElXZ8m4FMIoGpesX_HgoG8AKLo,6513
415
- defi_services/services/lending/lending_info/arbitrum/venus_arbitrum.py,sha256=uY7BXnvJEBiqZHnQm8J9ONI9ng4Pl5PWMKvo0okKsac,312
419
+ defi_services/services/lending/lending_info/arbitrum/venus_arbitrum.py,sha256=pxmgbDCnbvgVX2wIn523ucDCdW5M4BilVbhVOs9dOo0,2170
416
420
  defi_services/services/lending/lending_info/arbitrum/wepiggy_arbitrum.py,sha256=Wysawoam2d9pMhaED8EhPJhwNlWV4_r9j6diikI275k,1523
417
- defi_services/services/lending/lending_info/arbitrum/yldr_arbitrum.py,sha256=bnRntZIO1A0ARtjBDQaeVJDidjLmSyOps_vxT18ko2A,340
421
+ defi_services/services/lending/lending_info/arbitrum/yldr_arbitrum.py,sha256=jumi3tQf9xAqNb91OZm_eCQuQNa1PSCSKaFJzZTjMvA,2508
418
422
  defi_services/services/lending/lending_info/avalanche/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
419
423
  defi_services/services/lending/lending_info/avalanche/aave_v2_avalanche.py,sha256=Md3n217lm7ZZadGqXmSooYKesYPXx5mGaW2BEuz1i_Y,2668
420
424
  defi_services/services/lending/lending_info/avalanche/aave_v3_avalanche.py,sha256=WrWBjJ88_5jKm3qmd1F_txnZaPE9uXIXBKG8sHvqcR4,4236
421
- defi_services/services/lending/lending_info/avalanche/benqi_avalanche.py,sha256=lueulxqlstcLejriraNOT4dfcuaN1cWEiFDtm3IXeT0,320
425
+ defi_services/services/lending/lending_info/avalanche/benqi_avalanche.py,sha256=8789BKpIuIiWERELNYhgESo7dR_Z2oi9lWqXJ8aA6Xs,320
422
426
  defi_services/services/lending/lending_info/avalanche/granary_avalanche.py,sha256=rfUF9HaW5yJQP2sRHbVf9nnFWi5YqEHPF905iFdhDbU,2640
423
427
  defi_services/services/lending/lending_info/avalanche/iron_bank_avalanche.py,sha256=r06sFd-UyLXPlzAn3-A4ukJhix0OSkqLy7vsFU3KHvE,2343
424
428
  defi_services/services/lending/lending_info/base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -430,21 +434,24 @@ defi_services/services/lending/lending_info/base/moonwell_base.py,sha256=ayUp4NQ
430
434
  defi_services/services/lending/lending_info/base/radiant_v2_base.py,sha256=PDj2AWIB_aNav80q_RRxKHSpNi2zzdu3FB2dO2z4FKA,2713
431
435
  defi_services/services/lending/lending_info/base/seamless_base.py,sha256=K0UXs_VEm86ATlaLKjCXu-mWcY4vaRPB0YMK-t8iWXg,6904
432
436
  defi_services/services/lending/lending_info/base/sonne_base.py,sha256=7t2XMWhlTgAdx-v6Z9GSKLwap1ENjcTeHHZkPo0ldvA,2165
437
+ defi_services/services/lending/lending_info/base/venus_base.py,sha256=i7xN_Mr8WsihVimGwwpJCZjKNjdA_aJCAn7vaLHJQ9U,1590
433
438
  defi_services/services/lending/lending_info/base/xlend_base.py,sha256=_cDptfawzZtULsGqn9Qr5S0TGRkHMdn6GxwTQVZevIY,4275
434
439
  defi_services/services/lending/lending_info/base/zerolend_base.py,sha256=rOaAXq0LYGOKcTI79B77prvID3PLHwF4rXKMOaUCxyk,5198
435
440
  defi_services/services/lending/lending_info/bsc/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
436
441
  defi_services/services/lending/lending_info/bsc/aave_v3_bsc.py,sha256=g4A6fJVqzx6ly5qcI1Ifx7yECa4UuoX9Qa282vP3KD0,3168
437
442
  defi_services/services/lending/lending_info/bsc/apeswap_bsc.py,sha256=rsI_alrZat120bWAgwMmjpcYvJAFYBWHlYWdPt4Or3g,2109
438
- defi_services/services/lending/lending_info/bsc/avalon_bsc.py,sha256=VgWTYYQjymt3FXC4AYMGU8oAbMw5jJIRYujQ10s9lU8,3488
443
+ defi_services/services/lending/lending_info/bsc/avalon_bsc.py,sha256=yB13i8B0wF92EQ3hnlYX2JKhJnLYFT9uHpdKPIKSlEA,3481
439
444
  defi_services/services/lending/lending_info/bsc/cream_bsc.py,sha256=X7CoQxOfRQjsRjsxKhiSBm5W-MO9TXKTXP93oxtwA_c,8372
440
445
  defi_services/services/lending/lending_info/bsc/granary_bsc.py,sha256=OrD7P_YNRtDu0PN5QtCUYVTMojrIKfjQO-YKet_ZN0c,2322
441
446
  defi_services/services/lending/lending_info/bsc/kinza_bsc.py,sha256=qtRt6whVlSr5NTkovr1onqrP9AG5YgB-cmbT86xO2mc,8649
442
447
  defi_services/services/lending/lending_info/bsc/liqee_bsc.py,sha256=eah38sX4DBwQTw-kPUEE_dP-VC8JDodwBDTkLuMEEns,5703
443
- defi_services/services/lending/lending_info/bsc/radiant_bsc.py,sha256=1hVXd78h1o_ckoWFtHVnLJB3w0dcORMAUeZor7RcRsk,2415
448
+ defi_services/services/lending/lending_info/bsc/radiant_bsc.py,sha256=B66grFM0JHvswyUKrK8tSZfi0S8_UHYbcAZuGG_HZOw,3299
444
449
  defi_services/services/lending/lending_info/bsc/trava_bsc.py,sha256=TKV62KPn8kxZ3OB6q_aN7wedrmKdNO8_i8Xv000baLA,3845
445
450
  defi_services/services/lending/lending_info/bsc/valas_bsc.py,sha256=Fg6RwssuVflWVUHX_OIf0e2xVDz8zZHnzLA_r-7U4-4,3728
446
451
  defi_services/services/lending/lending_info/bsc/venus_bsc.py,sha256=RZc_W62fq0PtLz7i6APCALFHow-iPHLhqPIkclY9g5k,4832
447
452
  defi_services/services/lending/lending_info/bsc/wepiggy_bsc.py,sha256=dq2bU6zYgNv72mnvqKBBF187_2JJzrf0SqbDHDllInY,3340
453
+ defi_services/services/lending/lending_info/celo/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
454
+ defi_services/services/lending/lending_info/celo/aave_v3_celo.py,sha256=x0LHAY-9fXQgDt_m5TkLYbybG6COey7naocm3FtJpEs,2070
448
455
  defi_services/services/lending/lending_info/ethereum/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
449
456
  defi_services/services/lending/lending_info/ethereum/aave_v2_eth.py,sha256=4Zsn42p7lLaKNJz9eahPky5uCax-pV4qchuzDaf7yww,12032
450
457
  defi_services/services/lending/lending_info/ethereum/aave_v3_eth.py,sha256=FUnN4yom6X6FUmeDjYzn7EABaAjgoo6dF-AvNaRBXtY,10060
@@ -460,28 +467,36 @@ defi_services/services/lending/lending_info/ethereum/morpho_aave_v3_eth.py,sha25
460
467
  defi_services/services/lending/lending_info/ethereum/morpho_compound_eth.py,sha256=q9ZpCb0qLi5amKtL7EL27NDxJ6FBkF14iXYEPhMebfo,1879
461
468
  defi_services/services/lending/lending_info/ethereum/old_aave_v3_eth.py,sha256=tXe5QlEvQzQHgAJjug0MNo1m5bIyThiM7OavhQMsmok,7620
462
469
  defi_services/services/lending/lending_info/ethereum/onyx_eth.py,sha256=3KzLJKNENtnNhk5LjLqgxiIxHwv6BCOcEwqNVR87r8w,3369
463
- defi_services/services/lending/lending_info/ethereum/radiant_eth.py,sha256=Re35yFu518L6laEmMv2pKjlsC0iOfFNeck7QDC3xtlU,3234
470
+ defi_services/services/lending/lending_info/ethereum/radiant_eth.py,sha256=FyxMDbejNkgfsvuZdt4f2ni2xSwqUjw-FupQ0afsWd0,3299
464
471
  defi_services/services/lending/lending_info/ethereum/silo_eth.py,sha256=XQHpo37RS7DJ4Xjc8n0YK6WeGj5xn5ZOPRIlgTiSkH4,16770
465
472
  defi_services/services/lending/lending_info/ethereum/silo_llama_eth.py,sha256=w9iqoaZgMMO7_v6FKYN7vHLGcliBWcQLRKVDA9dYG_g,3696
466
- defi_services/services/lending/lending_info/ethereum/spark_eth.py,sha256=si0P5P2Nl4MSBatRMCJ6reJ6-5D_lqV48n7rfcktrcE,2991
473
+ defi_services/services/lending/lending_info/ethereum/spark_eth.py,sha256=zQDiIPJvDXXHaOtfvbgqkcvXko6JiLAYT5LClj9HnRo,2949
467
474
  defi_services/services/lending/lending_info/ethereum/strike_eth.py,sha256=tdtisQnjheDC3EO4zHIDOYHHtwABDGGSK-x70gpo2s0,2849
468
475
  defi_services/services/lending/lending_info/ethereum/trava_eth.py,sha256=ycPAsnq6aaeYMZyD3YsQ43N9u14-tbRym1_zmNmMn64,1653
469
476
  defi_services/services/lending/lending_info/ethereum/uwu_eth.py,sha256=l_LMKCUjy3JlSXS7pMr34FNpqedFQheO-QhUWxUA1OE,4837
470
- defi_services/services/lending/lending_info/ethereum/venus_eth.py,sha256=Xxww3KuI5elm8342UgbuyP28GA7ZwBcFRlVanBLyaTQ,312
477
+ defi_services/services/lending/lending_info/ethereum/venus_eth.py,sha256=qm0D6_ZaJHt4ckQPY14kcqS5eOFXTZw77FqNkGIIH9k,5361
471
478
  defi_services/services/lending/lending_info/ethereum/wepiggy_eth.py,sha256=yyi2l5PpxUUSM3irLVDdhocANW7rHqmwSJM_KRTsy_Y,2224
472
- defi_services/services/lending/lending_info/ethereum/yldr_ethereum.py,sha256=UmwogvzrngXC3v6dZ1MQczftUTcE6rmhZJYo7XIwy_c,340
479
+ defi_services/services/lending/lending_info/ethereum/yldr_ethereum.py,sha256=FbEzxV__1hdD_MZBmmn5KIDx6unWYNqOWPpL58yuH9c,1980
473
480
  defi_services/services/lending/lending_info/ethereum/zerolend_eth.py,sha256=Ddyti8DccOVgWka3jpxas7LbsI-RGwv4zHzfjAVIG88,4465
474
481
  defi_services/services/lending/lending_info/fantom/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
475
482
  defi_services/services/lending/lending_info/fantom/aave_v3_ftm.py,sha256=Oukfb-f-p3Y_MLoyVqj-f6yl_1QxAyjHdyz02BkxyEU,3556
476
483
  defi_services/services/lending/lending_info/fantom/geist_ftm.py,sha256=zpwT5Qcw3ha8nlX8T474YTpSdQDdjDgGWO1CXdVycoI,3347
477
484
  defi_services/services/lending/lending_info/fantom/granary_ftm.py,sha256=88fLJi4lsjvzL96DNDX_RgYl9PTbgCbIEm_wGq57CWg,3259
478
485
  defi_services/services/lending/lending_info/fantom/trava_ftm.py,sha256=JjZpJlEFIGg_duBophOPBxJLAA7oJpeCA7OY0VvkltE,1896
486
+ defi_services/services/lending/lending_info/gnosis/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
487
+ defi_services/services/lending/lending_info/gnosis/aave_v3_gnoisis.py,sha256=Q8YYrDIKbnZaIV4ybwYiV91n6gqHeerTt9qJco90jow,3088
488
+ defi_services/services/lending/lending_info/gnosis/spark_gnosis.py,sha256=k8FPr6tXKfjrfDCzVH5q0Pbl38MCCJc2SVZplrfDRJU,3160
489
+ defi_services/services/lending/lending_info/harmony/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
490
+ defi_services/services/lending/lending_info/harmony/aave_v3_harmony.py,sha256=lXs-Yo9S9N8vm4torKlCS7AKg2cuKu3_1WJYjUEfw78,3081
491
+ defi_services/services/lending/lending_info/opBNB/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
492
+ defi_services/services/lending/lending_info/opBNB/venus_opbnb.py,sha256=dvxqv0yc_i-ZMl7-vY1CkeLGEpZBRk_bQzb8VGkQq4Q,1589
479
493
  defi_services/services/lending/lending_info/optimism/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
480
494
  defi_services/services/lending/lending_info/optimism/aave_v3_optimism.py,sha256=QdzbWsI3Ou9cDwYEPHdjkoHEywQi3DcblzjpRqJ-WhQ,4245
481
495
  defi_services/services/lending/lending_info/optimism/compound_v3_optimism.py,sha256=ayc3pVTnLSddCkO4HusQlf_W58Qmv2bABbQF6UJGEV8,5448
482
496
  defi_services/services/lending/lending_info/optimism/granary_optimism.py,sha256=Dv9gZ9qjclgygrhQp-PDmj_1KSV6uOuN1O0ePk4ibjI,4109
483
497
  defi_services/services/lending/lending_info/optimism/iron_bank_optimism.py,sha256=A1UU86MeNtOzApgzz8bKuqCro17hcbt3Tkyi6hzhAq4,1812
484
- defi_services/services/lending/lending_info/optimism/moonwell_optimism.py,sha256=sLNS13uR4YhGMJ4Ey2r0_EVaLbLCoUgi5ayiZ0qF62Y,295
498
+ defi_services/services/lending/lending_info/optimism/moonwell_optimism.py,sha256=dHr-xfIHFGgs8KkIS8_F2YLR9Bnr0mjsMdIVixfIjkE,3824
499
+ defi_services/services/lending/lending_info/optimism/venus_optimism.py,sha256=rzkqtf36l8E5h1sL3vzUTeLyaodMPhGLdL4WKG8AqBY,1594
485
500
  defi_services/services/lending/lending_info/optimism/wepiggy_optimism.py,sha256=zIP-bmSx-CTJVN8Ma4fvpUPrR7sibeobq5Kk8g0eADA,1703
486
501
  defi_services/services/lending/lending_info/optimism/xlend_optimism.py,sha256=shqicmGpZwNECiaJb0Hpn2cMZj2lrLqi_Yz966xZVsk,5330
487
502
  defi_services/services/lending/lending_info/polygon/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -489,11 +504,15 @@ defi_services/services/lending/lending_info/polygon/aave_v2_polygon.py,sha256=BI
489
504
  defi_services/services/lending/lending_info/polygon/aave_v3_polygon.py,sha256=2qaU-H8o7-tZRDRSVua72GOwJTUBDpYdVW5DekKMIvs,6907
490
505
  defi_services/services/lending/lending_info/polygon/compound_v3_polygon.py,sha256=K3JfTYDNFtMrMenoOxEONKmpxl37Mc14bvfw666w2tw,3265
491
506
  defi_services/services/lending/lending_info/polygon/wepiggy_polygon.py,sha256=2yj2M-VVNbxkGL4zEErIQGUdDIqlnA9gLOqGVX0stWM,2227
507
+ defi_services/services/lending/lending_info/scroll/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
508
+ defi_services/services/lending/lending_info/scroll/aave_v3_scroll.py,sha256=6femOpQcupv3YY5Ie2bDiV9zS9mJW6zxiWnSwCBJ0vk,2075
509
+ defi_services/services/lending/lending_info/sonic/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
510
+ defi_services/services/lending/lending_info/sonic/aave_v3_sonic.py,sha256=AhIwmGuCtw8HClEwd4MSvqMJ2Kn6DaTJu5e0XXsHfUQ,1736
492
511
  defi_services/services/lending/lending_info/tron/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
493
512
  defi_services/services/lending/lending_info/tron/justlend_tron.py,sha256=2F4M8zFEE6-gqDKi82M-Xd6kcb2HP8-qmpNzDYorpXE,3741
494
513
  defi_services/services/lending/lending_info/zksync/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
495
514
  defi_services/services/lending/lending_info/zksync/aave_v3_zksync.py,sha256=TwKI2lo5nELQRTdOeo4NUJ92HMB7CTqp5P0bJ2-KlZg,2116
496
- defi_services/services/lending/lending_info/zksync/venus_zksync.py,sha256=z-W8EsbvzwqZPmRMfj_hufJlsNlwNXh2ZUBv6c251ig,315
515
+ defi_services/services/lending/lending_info/zksync/venus_zksync.py,sha256=9wCLd-4B3oCm6P9hfNvXO_GlVPgzAJS4YmbVoITOVig,2682
497
516
  defi_services/services/lending/lending_info/zksync/zerolend_zksync.py,sha256=avcmFVCMQHHYLZ6EmSdXMkByFa6W8Nt_GRFP0ZvLfYI,6487
498
517
  defi_services/services/multicall/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
499
518
  defi_services/services/multicall/batch_queries_service.py,sha256=HzgKOdkP6kpjR7gySD78aZfX2Bkln3JM3OQ8ehjGWx0,3457
@@ -525,8 +544,8 @@ defi_services/utils/memory_storage.py,sha256=BOT8laB0iVSCGE-oDlpWJQLbSC6X2blKX4z
525
544
  defi_services/utils/sqrt_price_math.py,sha256=9lgUeWFT4wjl3Vq3b7-jZ2bGvvZx7dDBSfVnM3lsZ8o,5575
526
545
  defi_services/utils/thread_proxy.py,sha256=5Z8biAyEReUkh3vfJSvEv7GwMe3CsE5M8CbghkQtePw,2951
527
546
  defi_services/utils/ton_decode_address.py,sha256=EWKwmC7KtbXpdKgiNK-5j-5lX7fCr17I4EWYs9b43eU,443
528
- defi_state_querier-0.5.32.dist-info/licenses/LICENSE,sha256=6jmfxa8nUIwfKnzZUxAHJSJ_IS7h7mpbJq26cWjoo-o,1063
529
- defi_state_querier-0.5.32.dist-info/METADATA,sha256=IKXupw7jMsPsPXWFAINCtIDYihaLyKNcbLk0lCy8rM8,4653
530
- defi_state_querier-0.5.32.dist-info/WHEEL,sha256=0CuiUZ_p9E4cD6NyLD6UG80LBXYyiSYZOKDm5lp32xk,91
531
- defi_state_querier-0.5.32.dist-info/top_level.txt,sha256=C-OTxHK6MknKK-nAbEzCPDUl1M6pktRhgJrmsozdf6g,14
532
- defi_state_querier-0.5.32.dist-info/RECORD,,
547
+ defi_state_querier-0.5.34.dist-info/licenses/LICENSE,sha256=6jmfxa8nUIwfKnzZUxAHJSJ_IS7h7mpbJq26cWjoo-o,1063
548
+ defi_state_querier-0.5.34.dist-info/METADATA,sha256=tWiZOnZablaUA6bpBXjv8YXWDJ6SFHzuzqHd1cbO7iM,4653
549
+ defi_state_querier-0.5.34.dist-info/WHEEL,sha256=Nw36Djuh_5VDukK0H78QzOX-_FQEo6V37m3nkm96gtU,91
550
+ defi_state_querier-0.5.34.dist-info/top_level.txt,sha256=C-OTxHK6MknKK-nAbEzCPDUl1M6pktRhgJrmsozdf6g,14
551
+ defi_state_querier-0.5.34.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (80.3.1)
2
+ Generator: setuptools (80.7.1)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5