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.
- defi_services/__init__.py +1 -1
- defi_services/constants/entities/vault_constant.py +5 -0
- defi_services/constants/entities/vault_services.py +24 -0
- defi_services/constants/query_constant.py +1 -0
- defi_services/jobs/processors/state_processor.py +4 -2
- defi_services/services/lending/aave_v2_services.py +1 -1
- defi_services/services/lending/aave_v3_services.py +1 -1
- defi_services/services/lending/apeswap_services.py +1 -1
- defi_services/services/lending/compound_service.py +1 -1
- defi_services/services/lending/compound_v3_services.py +1 -4
- defi_services/services/lending/flux_services.py +1 -4
- defi_services/services/lending/granary_services.py +1 -4
- defi_services/services/lending/iron_bank_service.py +1 -4
- defi_services/services/lending/justlend_service.py +6 -6
- defi_services/services/lending/lending_info/bsc/liqee_bsc.py +154 -106
- defi_services/services/lending/lending_info/ethereum/liqee_eth.py +160 -110
- defi_services/services/lending/liqee_service.py +1 -1
- defi_services/services/lending/morpho_aave_v2_services.py +1 -1
- defi_services/services/lending/morpho_aave_v3_services.py +1 -4
- defi_services/services/lending/morpho_compound_services.py +1 -5
- defi_services/services/lending/onyx_service.py +1 -4
- defi_services/services/lending/radiant_v2_services.py +1 -4
- defi_services/services/lending/silo_services.py +1 -1
- defi_services/services/lending/strike_service.py +1 -1
- defi_services/services/lending/trava_services.py +5 -5
- defi_services/services/lending/uwu_services.py +1 -1
- defi_services/services/lending/valas_services.py +1 -1
- defi_services/services/lending/venus_services.py +6 -6
- defi_services/services/lending/wepiggy_services.py +1 -1
- defi_services/services/protocol_services.py +34 -2
- defi_services/services/vault/__init__.py +0 -0
- defi_services/services/vault/trava_vault_services.py +196 -0
- defi_services/services/vault/vault_info/__init__.py +0 -0
- defi_services/services/vault/vault_info/bsc/__init__.py +0 -0
- defi_services/services/vault/vault_info/bsc/trava_bsc.py +41 -0
- defi_services/services/vault/vault_info/ethereum/__init__.py +0 -0
- defi_services/services/vault/vault_info/ethereum/trava_eth.py +22 -0
- defi_services/services/vault/vault_info/fantom/__init__.py +0 -0
- defi_services/services/vault/vault_info/fantom/trava_ftm.py +31 -0
- defi_services/utils/init_services.py +5 -0
- {defi_state_querier-0.4.2.dist-info → defi_state_querier-0.4.3.dist-info}/METADATA +1 -1
- {defi_state_querier-0.4.2.dist-info → defi_state_querier-0.4.3.dist-info}/RECORD +45 -36
- defi_services/jobs/queriers/cosmos_state_querier.py +0 -82
- defi_services/services/cosmos_token_services.py +0 -46
- {defi_state_querier-0.4.2.dist-info → defi_state_querier-0.4.3.dist-info}/LICENSE +0 -0
- {defi_state_querier-0.4.2.dist-info → defi_state_querier-0.4.3.dist-info}/WHEEL +0 -0
- {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.
|
1
|
+
__version__ = "0.4.3"
|
@@ -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
|
+
}
|
@@ -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
|
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,
|
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,
|
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,
|
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,
|
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
|
-
|
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", [
|
100
|
-
get_reward_id = f"compAccrued_{self.name}_{
|
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(
|
104
|
-
|
105
|
-
get_reward_id = f"compAccrued_{self.name}_{
|
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
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
"
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
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
|
}
|