defi-state-querier 0.4.2__py3-none-any.whl → 0.4.3__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 (47) hide show
  1. defi_services/__init__.py +1 -1
  2. defi_services/constants/entities/vault_constant.py +5 -0
  3. defi_services/constants/entities/vault_services.py +24 -0
  4. defi_services/constants/query_constant.py +1 -0
  5. defi_services/jobs/processors/state_processor.py +4 -2
  6. defi_services/services/lending/aave_v2_services.py +1 -1
  7. defi_services/services/lending/aave_v3_services.py +1 -1
  8. defi_services/services/lending/apeswap_services.py +1 -1
  9. defi_services/services/lending/compound_service.py +1 -1
  10. defi_services/services/lending/compound_v3_services.py +1 -4
  11. defi_services/services/lending/flux_services.py +1 -4
  12. defi_services/services/lending/granary_services.py +1 -4
  13. defi_services/services/lending/iron_bank_service.py +1 -4
  14. defi_services/services/lending/justlend_service.py +6 -6
  15. defi_services/services/lending/lending_info/bsc/liqee_bsc.py +154 -106
  16. defi_services/services/lending/lending_info/ethereum/liqee_eth.py +160 -110
  17. defi_services/services/lending/liqee_service.py +1 -1
  18. defi_services/services/lending/morpho_aave_v2_services.py +1 -1
  19. defi_services/services/lending/morpho_aave_v3_services.py +1 -4
  20. defi_services/services/lending/morpho_compound_services.py +1 -5
  21. defi_services/services/lending/onyx_service.py +1 -4
  22. defi_services/services/lending/radiant_v2_services.py +1 -4
  23. defi_services/services/lending/silo_services.py +1 -1
  24. defi_services/services/lending/strike_service.py +1 -1
  25. defi_services/services/lending/trava_services.py +5 -5
  26. defi_services/services/lending/uwu_services.py +1 -1
  27. defi_services/services/lending/valas_services.py +1 -1
  28. defi_services/services/lending/venus_services.py +6 -6
  29. defi_services/services/lending/wepiggy_services.py +1 -1
  30. defi_services/services/protocol_services.py +34 -2
  31. defi_services/services/vault/__init__.py +0 -0
  32. defi_services/services/vault/trava_vault_services.py +196 -0
  33. defi_services/services/vault/vault_info/__init__.py +0 -0
  34. defi_services/services/vault/vault_info/bsc/__init__.py +0 -0
  35. defi_services/services/vault/vault_info/bsc/trava_bsc.py +41 -0
  36. defi_services/services/vault/vault_info/ethereum/__init__.py +0 -0
  37. defi_services/services/vault/vault_info/ethereum/trava_eth.py +22 -0
  38. defi_services/services/vault/vault_info/fantom/__init__.py +0 -0
  39. defi_services/services/vault/vault_info/fantom/trava_ftm.py +31 -0
  40. defi_services/utils/init_services.py +5 -0
  41. {defi_state_querier-0.4.2.dist-info → defi_state_querier-0.4.3.dist-info}/METADATA +1 -1
  42. {defi_state_querier-0.4.2.dist-info → defi_state_querier-0.4.3.dist-info}/RECORD +45 -36
  43. defi_services/jobs/queriers/cosmos_state_querier.py +0 -82
  44. defi_services/services/cosmos_token_services.py +0 -46
  45. {defi_state_querier-0.4.2.dist-info → defi_state_querier-0.4.3.dist-info}/LICENSE +0 -0
  46. {defi_state_querier-0.4.2.dist-info → defi_state_querier-0.4.3.dist-info}/WHEEL +0 -0
  47. {defi_state_querier-0.4.2.dist-info → defi_state_querier-0.4.3.dist-info}/top_level.txt +0 -0
defi_services/__init__.py CHANGED
@@ -1 +1 @@
1
- __version__ = "0.4.2"
1
+ __version__ = "0.4.3"
@@ -0,0 +1,5 @@
1
+ class Vault:
2
+ # service
3
+ trava_vault = "trava-vault"
4
+
5
+ all = [trava_vault]
@@ -0,0 +1,24 @@
1
+ from defi_services.constants.chain_constant import Chain
2
+ from defi_services.constants.entities.vault_constant import Vault
3
+ from defi_services.services.vault.trava_vault_services import TravaVaultStateService
4
+
5
+
6
+ class VaultServices:
7
+ # chain
8
+ bsc = {
9
+ Vault.trava_vault: TravaVaultStateService
10
+ }
11
+
12
+ ethereum = {
13
+ Vault.trava_vault: TravaVaultStateService
14
+ }
15
+
16
+ fantom = {
17
+ Vault.trava_vault: TravaVaultStateService
18
+ }
19
+
20
+ mapping = {
21
+ Chain.bsc: bsc,
22
+ Chain.ethereum: ethereum,
23
+ Chain.fantom: fantom
24
+ }
@@ -10,6 +10,7 @@ class Query:
10
10
  token_balance = 'token_balance'
11
11
  nft_balance = 'nft_balance'
12
12
  deposit_borrow = 'deposit_borrow'
13
+ staking_reward = 'staking_reward'
13
14
  protocol_reward = 'protocol_reward'
14
15
  protocol_apy = 'protocol_apy'
15
16
  health_factor = 'health_factor'
@@ -4,12 +4,13 @@ from web3 import Web3
4
4
 
5
5
  from defi_services.constants.chain_constant import Chain
6
6
  from defi_services.constants.entities.lending_services import LendingServices
7
+ from defi_services.constants.entities.vault_services import VaultServices
7
8
  from defi_services.constants.query_constant import Query
8
9
  from defi_services.jobs.queriers.state_querier import StateQuerier
9
10
  from defi_services.services.nft_services import NFTServices
10
11
  from defi_services.services.protocol_services import ProtocolServices
11
12
  from defi_services.services.token_services import TokenServices
12
- from defi_services.utils.convert_address import base58_to_hex, convert_address_dict
13
+ from defi_services.utils.convert_address import base58_to_hex
13
14
  from defi_services.utils.init_services import init_services
14
15
 
15
16
  logger = logging.getLogger("StateProcessor")
@@ -23,6 +24,7 @@ class StateProcessor:
23
24
  self.token_service = TokenServices(self.state_querier, chain_id)
24
25
  self.nft_service = NFTServices(self.state_querier, chain_id)
25
26
  self.lending_services = LendingServices.mapping.get(chain_id)
27
+ self.vault_services = VaultServices.mapping.get(chain_id, {})
26
28
 
27
29
  def get_service_info(self):
28
30
  info = self.nft_service.get_service_info()
@@ -104,7 +106,7 @@ class StateProcessor:
104
106
  if Query.nft_balance == query_type:
105
107
  data = self.nft_service.get_data(wallet, entity, entity_value, block_number)
106
108
 
107
- elif entity in self.lending_services:
109
+ elif (entity in self.lending_services) or (entity in self.vault_services):
108
110
  entity_service: ProtocolServices = self.services.get(entity)
109
111
  data = entity_service.get_data(
110
112
  [query_type], wallet, entity_value, block_number, **kwargs)
@@ -438,7 +438,7 @@ class AaveV2StateService(ProtocolServices):
438
438
  return rpc_calls
439
439
 
440
440
  def calculate_rewards_balance(
441
- self, decoded_data: dict, wallet: str, block_number: int = "latest"):
441
+ self, wallet: str, reserves_info: dict, decoded_data: dict, block_number: int = "latest"):
442
442
  reward_token = self.pool_info['rewardToken']
443
443
  key = f"getRewardsBalance_{self.name}_{wallet}_{block_number}".lower()
444
444
  rewards = decoded_data.get(key) / 10 ** 18
@@ -299,7 +299,7 @@ class AaveV3StateService(AaveV2StateService):
299
299
  return rpc_calls
300
300
 
301
301
  def calculate_rewards_balance(
302
- self, decoded_data: dict, wallet: str, block_number: int = "latest"):
302
+ self, wallet: str, reserves_info: dict, decoded_data: dict, block_number: int = "latest"):
303
303
  key = f"getAllUserRewards_{self.name}_{wallet}_{block_number}".lower()
304
304
  rewards = decoded_data.get(key)
305
305
  result = dict(zip(*rewards))
@@ -116,7 +116,7 @@ class ApeSwapStateService(CompoundStateService):
116
116
  return {}
117
117
 
118
118
  def calculate_rewards_balance(
119
- self, decoded_data: dict, wallet: str, block_number: int = "latest"):
119
+ self, wallet: str, reserves_info: dict, decoded_data: dict, block_number: int = "latest"):
120
120
  return {}
121
121
 
122
122
  def get_ctoken_function_info(self, ctoken: str, fn_name: str, fn_paras: list = None, block_number: int = "latest"):
@@ -282,7 +282,7 @@ class CompoundStateService(ProtocolServices):
282
282
  get_reward_id = f"getCompBalanceMetadataExt_{self.name}_{wallet}_{block_number}".lower()
283
283
  return {get_reward_id: rpc_call}
284
284
 
285
- def calculate_rewards_balance(self, decoded_data: dict, wallet: str, block_number: int = "latest"):
285
+ def calculate_rewards_balance(self, wallet: str, reserves_info: dict, decoded_data: dict, block_number: int = "latest"):
286
286
  get_reward_id = f"getCompBalanceMetadataExt_{self.name}_{wallet}_{block_number}".lower()
287
287
  rewards = decoded_data.get(get_reward_id)[-1] / 10 ** 18
288
288
  reward_token = self.pool_info.get("rewardToken")
@@ -258,10 +258,7 @@ class CompoundV3StateService(CompoundStateService):
258
258
  return result
259
259
 
260
260
  def calculate_rewards_balance(
261
- self,
262
- decoded_data: dict,
263
- wallet: str,
264
- block_number: int = "latest"):
261
+ self, wallet: str, reserves_info: dict, decoded_data: dict, block_number: int = "latest"):
265
262
  reward_amount = 0
266
263
  reward_address = self.pool_info.get("rewardAddress")
267
264
  for token, value in self.pool_info.get("reservesList").items():
@@ -89,10 +89,7 @@ class FluxStateService(CompoundStateService):
89
89
  return {get_reward_id: rpc_call}
90
90
 
91
91
  def calculate_rewards_balance(
92
- self,
93
- decoded_data: dict,
94
- wallet: str,
95
- block_number: int = "latest"):
92
+ self, wallet: str, reserves_info: dict, decoded_data: dict, block_number: int = "latest"):
96
93
  get_reward_id = f"compAccrued_{self.name}_{wallet}_{block_number}".lower()
97
94
  rewards = decoded_data.get(get_reward_id) / 10 ** 18
98
95
  reward_token = self.pool_info.get("rewardToken")
@@ -331,10 +331,7 @@ class GranaryStateService(ProtocolServices):
331
331
  return rpc_calls
332
332
 
333
333
  def calculate_rewards_balance(
334
- self,
335
- decoded_data: dict,
336
- wallet: str,
337
- block_number: int = "latest"):
334
+ self, wallet: str, reserves_info: dict, decoded_data: dict, block_number: int = "latest"):
338
335
  reward_tokens = self.pool_info.get("rewardToken")
339
336
  if not reward_tokens:
340
337
  return {}
@@ -153,10 +153,7 @@ class IronBankStateService(CompoundStateService):
153
153
  return {get_reward_id: rpc_call}
154
154
 
155
155
  def calculate_rewards_balance(
156
- self,
157
- decoded_data: dict,
158
- wallet: str,
159
- block_number: int = "latest"):
156
+ self, wallet: str, reserves_info: dict, decoded_data: dict, block_number: int = "latest"):
160
157
  if self.chain_id in [Chain.optimism, Chain.avalanche]:
161
158
  return {}
162
159
  get_reward_id = f"compAccrued_{self.name}_{wallet}_{block_number}".lower()
@@ -92,17 +92,17 @@ class JustLendStateService(CompoundStateService):
92
92
  # REWARDS BALANCE
93
93
  def get_rewards_balance_function_info(
94
94
  self,
95
- wallets: str,
95
+ wallet: str,
96
96
  reserves_info: dict = None,
97
97
  block_number: int = "latest",
98
98
  ):
99
- rpc_call = self.get_comptroller_function_info("compAccrued", [wallets])
100
- get_reward_id = f"compAccrued_{self.name}_{wallets}_{block_number}".lower()
99
+ rpc_call = self.get_comptroller_function_info("compAccrued", [wallet])
100
+ get_reward_id = f"compAccrued_{self.name}_{wallet}_{block_number}".lower()
101
101
  return {get_reward_id: rpc_call}
102
102
 
103
- def calculate_rewards_balance(self, decoded_data: dict, wallets: str,
104
- block_number: int = "latest"):
105
- get_reward_id = f"compAccrued_{self.name}_{wallets}_{block_number}".lower()
103
+ def calculate_rewards_balance(
104
+ self, wallet: str, reserves_info: dict, decoded_data: dict, block_number: int = "latest"):
105
+ get_reward_id = f"compAccrued_{self.name}_{wallet}_{block_number}".lower()
106
106
  rewards = decoded_data.get(get_reward_id) / 10 ** 18
107
107
  reward_token = self.pool_info.get("rewardToken")
108
108
  result = {
@@ -1,109 +1,157 @@
1
1
  LIQEE_BSC = {
2
- "name": "Liqee Lending Pool",
3
- "rewardToken": "0x4a9a2b2b04549c3927dd2c9668a5ef3fca473623",
4
- "comptrollerAddress": "",
5
- "lensAddress": "",
6
- "controllerAddress": "0x0b53e608bd058bb54748c35148484fd627e6dc0a",
7
- "lendingDataAddress": "0xeb92b72272e66be56b74392519cf81e150bfae0e",
8
- "poolToken": "0x4a9a2b2b04549c3927dd2c9668a5ef3fca473623",
9
- "type": "LENDING_POOL",
10
- "forked": "compound",
11
- "reservesList": {
12
- "0xe9e7cea3dedca5984780bafc599bd69add087d56": {
13
- "cToken": "0x5511b64ae77452c7130670c79298dec978204a47",
14
- "liquidationThreshold": 0.75
15
- },
16
- "0x8ac76a51cc950d9822d68b83fe1ad97b32cd580d": {
17
- "cToken": "0xaf9c10b341f55465e8785f0f81dbb52a9bfe005d",
18
- "liquidationThreshold": 0.85
19
- },
20
- "0x55d398326f99059ff775485246999027b3197955": {
21
- "cToken": "0x0bf8c72d618b5d46b055165e21d661400008fa0f",
22
- "liquidationThreshold": 0.85
23
- },
24
- "0x1af3f329e8be154074d8769d1ffa4ee058b1dbc3": {
25
- "cToken": "0xad5ec11426970c32da48f58c92b1039bc50e5492",
26
- "liquidationThreshold": 0.85
27
- },
28
- "0x4a9a2b2b04549c3927dd2c9668a5ef3fca473623": {
29
- "cToken": "0xec3fd540a2dee6f479be539d64da593a59e12d08",
30
- "liquidationThreshold": 0.6
31
- },
32
- "0xa05478b34fad86cc86f07eb6698c69ea60b266e3": {
33
- "cToken": "0xc35acaeedb814f42b2214378d8950f8555b2d670",
34
- "liquidationThreshold": 0.8
35
- },
36
- "0x7130d2a12b9bcbfae4f2634d864a1ee1ce3ead9c": {
37
- "cToken": "0x0b66a250dadf3237ddb38d485082a7bfe400356e",
38
- "liquidationThreshold": 0.8
39
- },
40
- "0x2170ed0880ac9a755fd29b2688956bd959f933f8": {
41
- "cToken": "0x390bf37355e9df6ea2e16eed5686886da6f47669",
42
- "liquidationThreshold": 0.8
43
- },
44
- "0xbf5140a22578168fd562dccf235e5d43a02ce9b1": {
45
- "cToken": "0xee9099c1318cf960651b3196747640eb84b8806b",
46
- "liquidationThreshold": 0.7
47
- },
48
- "0x0eb3a705fc54725037cc9e008bdede697f62f335": {
49
- "cToken": "0x55012ad2f0a50195aef44f403536df2465009ef7",
50
- "liquidationThreshold": 0.7
51
- },
52
- "0x7083609fce4d1d8dc0c979aab8c869ea2c873402": {
53
- "cToken": "0x9ab060ba568b86848bf19577226184db6192725b",
54
- "liquidationThreshold": 0.7
55
- },
56
- "0x0d8ce2a99bb6e3b7db580ed848240e4a0f9ae153": {
57
- "cToken": "0xd739a569ec254d6a20ecf029f024816be58fb810",
58
- "liquidationThreshold": 0.7
59
- },
60
- "0x3ee2200efb3400fabb9aacf31297cbdd1d435d47": {
61
- "cToken": "0xfc5bb1e8c29b100ef8f12773f972477bcab68862",
62
- "liquidationThreshold": 0.7
63
- },
64
- "0x0000000000000000000000000000000000000000": {
65
- "cToken": "0xd57e1425837567f74a35d07669b23bfb67aa4a93",
66
- "liquidationThreshold": 0.8
67
- },
68
- "0xb5102cee1528ce2c760893034a4603663495fd72": {
69
- "cToken": "0x36f4c36d1f6e8418ecb2402f896b2a8fedde0991",
70
- "liquidationThreshold": 0.7
71
- },
72
- "0x367c17d19fcd0f7746764455497d63c8e8b2bba3": {
73
- "cToken": "0xb22ef996c0a2d262a19db2a66a256067f51511eb",
74
- "liquidationThreshold": 0.7
75
- },
76
- "0x20ecc92f0a33e16e8cf0417dfc3f586cf597f3a9": {
77
- "cToken": "0x6e42423e1bcb6a093a58e203b5eb6e8a8023b4e5",
78
- "liquidationThreshold": 0.7
79
- },
80
- "0x463e3d1e01d048fdf872710f7f3745b5cdf50d0e": {
81
- "cToken": "0x6ac0a0b3959c1e5fcbd09b59b09abf7c53c72346",
82
- "liquidationThreshold": 0.7
83
- },
84
- "0x1d2f0da169ceb9fc7b3144628db156f3f6c60dbe": {
85
- "cToken": "0x6d64effe3af8697336fc57efd5a7517ad526dd6d",
86
- "liquidationThreshold": 0.7
87
- },
88
- "0x4338665cbb7b2485a8855a139b75d5e34ab0db94": {
89
- "cToken": "0xd957bea67aadb8a72061ce94d033c631d1c1e6ac",
90
- "liquidationThreshold": 0.7
91
- },
92
- "0xf8a0bf9cf54bb92f17374d9e9a321e6a111a51bd": {
93
- "cToken": "0x50e894894809f642de1e11b4076451734c963087",
94
- "liquidationThreshold": 0.7
95
- },
96
- "0x0e09fabb73bd3ade0a17ecc321fd13a19e81ce82": {
97
- "cToken": "0xefae8f7af4bada590d4e707d900258fc72194d73",
98
- "liquidationThreshold": 0.7
99
- },
100
- "0x8ff795a6f4d97e7887c79bea79aba5cc76444adf": {
101
- "cToken": "0x9747e26c5ad01d3594ea49ccf00790f564193c15",
102
- "liquidationThreshold": 0.7
103
- },
104
- "0x16939ef78684453bfdfb47825f8a5f714f12623a": {
105
- "cToken": "0x8be8cd81737b282c909f1911f3f0ade630c335aa",
106
- "liquidationThreshold": 0.7
107
- }
2
+ "comptrollerAddress": "",
3
+ "controllerAddress": "0x0b53e608bd058bb54748c35148484fd627e6dc0a",
4
+ "forked": "compound",
5
+ "lendingDataAddress": "0xeb92b72272e66be56b74392519cf81e150bfae0e",
6
+ "lensAddress": "",
7
+ "name": "Liqee Lending Pool",
8
+ "poolToken": "0x4a9a2b2b04549c3927dd2c9668a5ef3fca473623",
9
+ "reservesList": {
10
+ "0xe9e7cea3dedca5984780bafc599bd69add087d56": {
11
+ "cToken": "0x5511b64ae77452c7130670c79298dec978204a47",
12
+ "exchangeRate": 1.0727907490506678,
13
+ "liquidationThreshold": 0.75,
14
+ "loanToValue": 0.75
15
+ },
16
+ "0x8ac76a51cc950d9822d68b83fe1ad97b32cd580d": {
17
+ "cToken": "0xaf9c10b341f55465e8785f0f81dbb52a9bfe005d",
18
+ "exchangeRate": 1.0915276103263118,
19
+ "liquidationThreshold": 0.85,
20
+ "loanToValue": 0.85
21
+ },
22
+ "0x55d398326f99059ff775485246999027b3197955": {
23
+ "cToken": "0x0bf8c72d618b5d46b055165e21d661400008fa0f",
24
+ "exchangeRate": 1.107541263208309,
25
+ "liquidationThreshold": 0.85,
26
+ "loanToValue": 0.85
27
+ },
28
+ "0x1af3f329e8be154074d8769d1ffa4ee058b1dbc3": {
29
+ "cToken": "0xad5ec11426970c32da48f58c92b1039bc50e5492",
30
+ "exchangeRate": 1.090369296984632,
31
+ "liquidationThreshold": 0.85,
32
+ "loanToValue": 0.85
33
+ },
34
+ "0x4a9a2b2b04549c3927dd2c9668a5ef3fca473623": {
35
+ "cToken": "0xec3fd540a2dee6f479be539d64da593a59e12d08",
36
+ "exchangeRate": 1.023706366745555,
37
+ "liquidationThreshold": 0.6,
38
+ "loanToValue": 0.6
39
+ },
40
+ "0xa05478b34fad86cc86f07eb6698c69ea60b266e3": {
41
+ "cToken": "0xc35acaeedb814f42b2214378d8950f8555b2d670",
42
+ "exchangeRate": 1,
43
+ "liquidationThreshold": 0.8,
44
+ "loanToValue": 0.8
45
+ },
46
+ "0x7130d2a12b9bcbfae4f2634d864a1ee1ce3ead9c": {
47
+ "cToken": "0x0b66a250dadf3237ddb38d485082a7bfe400356e",
48
+ "exchangeRate": 1.0008955018668733,
49
+ "liquidationThreshold": 0.8,
50
+ "loanToValue": 0.8
51
+ },
52
+ "0x2170ed0880ac9a755fd29b2688956bd959f933f8": {
53
+ "cToken": "0x390bf37355e9df6ea2e16eed5686886da6f47669",
54
+ "exchangeRate": 1.0180063558704127,
55
+ "liquidationThreshold": 0.8,
56
+ "loanToValue": 0.8
57
+ },
58
+ "0xbf5140a22578168fd562dccf235e5d43a02ce9b1": {
59
+ "cToken": "0xee9099c1318cf960651b3196747640eb84b8806b",
60
+ "exchangeRate": 1.0014743731623101,
61
+ "liquidationThreshold": 0.7,
62
+ "loanToValue": 0.7
63
+ },
64
+ "0x0eb3a705fc54725037cc9e008bdede697f62f335": {
65
+ "cToken": "0x55012ad2f0a50195aef44f403536df2465009ef7",
66
+ "exchangeRate": 1.0253052659477702,
67
+ "liquidationThreshold": 0.7,
68
+ "loanToValue": 0.7
69
+ },
70
+ "0x7083609fce4d1d8dc0c979aab8c869ea2c873402": {
71
+ "cToken": "0x9ab060ba568b86848bf19577226184db6192725b",
72
+ "exchangeRate": 1.0615419244367703,
73
+ "liquidationThreshold": 0.7,
74
+ "loanToValue": 0.7
75
+ },
76
+ "0x0d8ce2a99bb6e3b7db580ed848240e4a0f9ae153": {
77
+ "cToken": "0xd739a569ec254d6a20ecf029f024816be58fb810",
78
+ "exchangeRate": 1.0066415558494175,
79
+ "liquidationThreshold": 0.7,
80
+ "loanToValue": 0.7
81
+ },
82
+ "0x3ee2200efb3400fabb9aacf31297cbdd1d435d47": {
83
+ "cToken": "0xfc5bb1e8c29b100ef8f12773f972477bcab68862",
84
+ "exchangeRate": 1.0138756837775817,
85
+ "liquidationThreshold": 0.7,
86
+ "loanToValue": 0.7
87
+ },
88
+ "0x0000000000000000000000000000000000000000": {
89
+ "cToken": "0xd57e1425837567f74a35d07669b23bfb67aa4a93",
90
+ "exchangeRate": 1.1026774278138651,
91
+ "liquidationThreshold": 0.8,
92
+ "loanToValue": 0.8
93
+ },
94
+ "0xb5102cee1528ce2c760893034a4603663495fd72": {
95
+ "cToken": "0x36f4c36d1f6e8418ecb2402f896b2a8fedde0991",
96
+ "exchangeRate": 1,
97
+ "liquidationThreshold": 0.7,
98
+ "loanToValue": 0.7
99
+ },
100
+ "0x367c17d19fcd0f7746764455497d63c8e8b2bba3": {
101
+ "cToken": "0xb22ef996c0a2d262a19db2a66a256067f51511eb",
102
+ "exchangeRate": 1,
103
+ "liquidationThreshold": 0.7,
104
+ "loanToValue": 0.7
105
+ },
106
+ "0x20ecc92f0a33e16e8cf0417dfc3f586cf597f3a9": {
107
+ "cToken": "0x6e42423e1bcb6a093a58e203b5eb6e8a8023b4e5",
108
+ "exchangeRate": 1,
109
+ "liquidationThreshold": 0.7,
110
+ "loanToValue": 0.7
111
+ },
112
+ "0x463e3d1e01d048fdf872710f7f3745b5cdf50d0e": {
113
+ "cToken": "0x6ac0a0b3959c1e5fcbd09b59b09abf7c53c72346",
114
+ "exchangeRate": 1,
115
+ "liquidationThreshold": 0.7,
116
+ "loanToValue": 0.7
117
+ },
118
+ "0x1d2f0da169ceb9fc7b3144628db156f3f6c60dbe": {
119
+ "cToken": "0x6d64effe3af8697336fc57efd5a7517ad526dd6d",
120
+ "exchangeRate": 1.0095313806387172,
121
+ "liquidationThreshold": 0.7,
122
+ "loanToValue": 0.7
123
+ },
124
+ "0x4338665cbb7b2485a8855a139b75d5e34ab0db94": {
125
+ "cToken": "0xd957bea67aadb8a72061ce94d033c631d1c1e6ac",
126
+ "exchangeRate": 1.009766921268889,
127
+ "liquidationThreshold": 0.7,
128
+ "loanToValue": 0.7
129
+ },
130
+ "0xf8a0bf9cf54bb92f17374d9e9a321e6a111a51bd": {
131
+ "cToken": "0x50e894894809f642de1e11b4076451734c963087",
132
+ "exchangeRate": 1.0113349577900335,
133
+ "liquidationThreshold": 0.7,
134
+ "loanToValue": 0.7
135
+ },
136
+ "0x0e09fabb73bd3ade0a17ecc321fd13a19e81ce82": {
137
+ "cToken": "0xefae8f7af4bada590d4e707d900258fc72194d73",
138
+ "exchangeRate": 1.3218997732331732,
139
+ "liquidationThreshold": 0.7,
140
+ "loanToValue": 0.7
141
+ },
142
+ "0x8ff795a6f4d97e7887c79bea79aba5cc76444adf": {
143
+ "cToken": "0x9747e26c5ad01d3594ea49ccf00790f564193c15",
144
+ "exchangeRate": 1.086362444236688,
145
+ "liquidationThreshold": 0.7,
146
+ "loanToValue": 0.7
147
+ },
148
+ "0x16939ef78684453bfdfb47825f8a5f714f12623a": {
149
+ "cToken": "0x8be8cd81737b282c909f1911f3f0ade630c335aa",
150
+ "exchangeRate": 1.0046816669180731,
151
+ "liquidationThreshold": 0.7,
152
+ "loanToValue": 0.7
108
153
  }
154
+ },
155
+ "rewardToken": "0x4a9a2b2b04549c3927dd2c9668a5ef3fca473623",
156
+ "type": "LENDING_POOL"
109
157
  }