@defisaver/positions-sdk 2.1.52 → 2.1.53-aave-v4

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 (201) hide show
  1. package/.mocharc.json +4 -4
  2. package/.nvmrc +1 -1
  3. package/README.md +64 -64
  4. package/cjs/aaveV4/index.d.ts +7 -0
  5. package/cjs/aaveV4/index.js +174 -0
  6. package/cjs/config/contracts.d.ts +1277 -0
  7. package/cjs/config/contracts.js +9 -0
  8. package/cjs/contracts.d.ts +23120 -0
  9. package/cjs/contracts.js +2 -1
  10. package/cjs/fluid/index.d.ts +6 -6
  11. package/cjs/helpers/aaveHelpers/index.d.ts +2 -2
  12. package/cjs/helpers/aaveHelpers/index.js +16 -5
  13. package/cjs/helpers/aaveV4Helpers/index.d.ts +13 -0
  14. package/cjs/helpers/aaveV4Helpers/index.js +117 -0
  15. package/cjs/helpers/compoundHelpers/index.js +15 -18
  16. package/cjs/helpers/eulerHelpers/index.d.ts +2 -2
  17. package/cjs/helpers/eulerHelpers/index.js +21 -13
  18. package/cjs/helpers/fluidHelpers/index.js +16 -5
  19. package/cjs/helpers/index.d.ts +1 -0
  20. package/cjs/helpers/index.js +2 -1
  21. package/cjs/helpers/morphoBlueHelpers/index.js +81 -71
  22. package/cjs/helpers/sparkHelpers/index.d.ts +2 -2
  23. package/cjs/helpers/sparkHelpers/index.js +15 -5
  24. package/cjs/index.d.ts +2 -1
  25. package/cjs/index.js +3 -1
  26. package/cjs/markets/aaveV4/index.d.ts +13 -0
  27. package/cjs/markets/aaveV4/index.js +39 -0
  28. package/cjs/markets/index.d.ts +1 -0
  29. package/cjs/markets/index.js +3 -1
  30. package/cjs/moneymarket/moneymarketCommonService.d.ts +3 -3
  31. package/cjs/moneymarket/moneymarketCommonService.js +9 -9
  32. package/cjs/portfolio/index.js +20 -0
  33. package/cjs/savings/morphoVaults/index.js +17 -17
  34. package/cjs/types/aave.d.ts +3 -3
  35. package/cjs/types/aaveV4.d.ts +137 -0
  36. package/cjs/types/aaveV4.js +11 -0
  37. package/cjs/types/common.d.ts +7 -0
  38. package/cjs/types/common.js +9 -1
  39. package/cjs/types/compound.d.ts +3 -3
  40. package/cjs/types/curveUsd.d.ts +2 -2
  41. package/cjs/types/euler.d.ts +3 -3
  42. package/cjs/types/fluid.d.ts +3 -3
  43. package/cjs/types/index.d.ts +2 -0
  44. package/cjs/types/index.js +2 -0
  45. package/cjs/types/liquityV2.d.ts +3 -3
  46. package/cjs/types/llamaLend.d.ts +2 -2
  47. package/cjs/types/morphoBlue.d.ts +5 -5
  48. package/cjs/types/portfolio.d.ts +4 -0
  49. package/cjs/types/spark.d.ts +3 -3
  50. package/esm/aaveV4/index.d.ts +7 -0
  51. package/esm/aaveV4/index.js +165 -0
  52. package/esm/config/contracts.d.ts +1277 -0
  53. package/esm/config/contracts.js +8 -0
  54. package/esm/contracts.d.ts +23120 -0
  55. package/esm/contracts.js +1 -0
  56. package/esm/fluid/index.d.ts +6 -6
  57. package/esm/helpers/aaveHelpers/index.d.ts +2 -2
  58. package/esm/helpers/aaveHelpers/index.js +16 -5
  59. package/esm/helpers/aaveV4Helpers/index.d.ts +13 -0
  60. package/esm/helpers/aaveV4Helpers/index.js +108 -0
  61. package/esm/helpers/compoundHelpers/index.js +16 -19
  62. package/esm/helpers/eulerHelpers/index.d.ts +2 -2
  63. package/esm/helpers/eulerHelpers/index.js +21 -13
  64. package/esm/helpers/fluidHelpers/index.js +16 -5
  65. package/esm/helpers/index.d.ts +1 -0
  66. package/esm/helpers/index.js +1 -0
  67. package/esm/helpers/morphoBlueHelpers/index.js +82 -72
  68. package/esm/helpers/sparkHelpers/index.d.ts +2 -2
  69. package/esm/helpers/sparkHelpers/index.js +16 -6
  70. package/esm/index.d.ts +2 -1
  71. package/esm/index.js +2 -1
  72. package/esm/markets/aaveV4/index.d.ts +13 -0
  73. package/esm/markets/aaveV4/index.js +29 -0
  74. package/esm/markets/index.d.ts +1 -0
  75. package/esm/markets/index.js +1 -0
  76. package/esm/moneymarket/moneymarketCommonService.d.ts +3 -3
  77. package/esm/moneymarket/moneymarketCommonService.js +9 -9
  78. package/esm/portfolio/index.js +21 -1
  79. package/esm/savings/morphoVaults/index.js +17 -17
  80. package/esm/types/aave.d.ts +3 -3
  81. package/esm/types/aaveV4.d.ts +137 -0
  82. package/esm/types/aaveV4.js +8 -0
  83. package/esm/types/common.d.ts +7 -0
  84. package/esm/types/common.js +8 -0
  85. package/esm/types/compound.d.ts +3 -3
  86. package/esm/types/curveUsd.d.ts +2 -2
  87. package/esm/types/euler.d.ts +3 -3
  88. package/esm/types/fluid.d.ts +3 -3
  89. package/esm/types/fluid.js +1 -1
  90. package/esm/types/index.d.ts +2 -0
  91. package/esm/types/index.js +2 -0
  92. package/esm/types/liquityV2.d.ts +3 -3
  93. package/esm/types/llamaLend.d.ts +2 -2
  94. package/esm/types/morphoBlue.d.ts +5 -5
  95. package/esm/types/portfolio.d.ts +4 -0
  96. package/esm/types/spark.d.ts +3 -3
  97. package/package.json +48 -48
  98. package/src/aaveV2/index.ts +240 -240
  99. package/src/aaveV3/index.ts +635 -635
  100. package/src/aaveV3/merit.ts +97 -97
  101. package/src/aaveV3/merkl.ts +74 -74
  102. package/src/aaveV4/index.ts +176 -0
  103. package/src/claiming/aaveV3.ts +154 -154
  104. package/src/claiming/compV3.ts +22 -22
  105. package/src/claiming/ethena.ts +61 -61
  106. package/src/claiming/index.ts +12 -12
  107. package/src/claiming/king.ts +66 -66
  108. package/src/claiming/morphoBlue.ts +118 -118
  109. package/src/claiming/spark.ts +225 -225
  110. package/src/compoundV2/index.ts +244 -244
  111. package/src/compoundV3/index.ts +274 -274
  112. package/src/config/contracts.ts +1328 -1320
  113. package/src/constants/index.ts +10 -10
  114. package/src/contracts.ts +174 -172
  115. package/src/curveUsd/index.ts +254 -254
  116. package/src/eulerV2/index.ts +324 -324
  117. package/src/exchange/index.ts +25 -25
  118. package/src/fluid/index.ts +1800 -1800
  119. package/src/helpers/aaveHelpers/index.ts +202 -191
  120. package/src/helpers/aaveV4Helpers/index.ts +128 -0
  121. package/src/helpers/compoundHelpers/index.ts +276 -283
  122. package/src/helpers/curveUsdHelpers/index.ts +40 -40
  123. package/src/helpers/eulerHelpers/index.ts +229 -222
  124. package/src/helpers/fluidHelpers/index.ts +335 -326
  125. package/src/helpers/index.ts +11 -10
  126. package/src/helpers/liquityV2Helpers/index.ts +82 -82
  127. package/src/helpers/llamaLendHelpers/index.ts +53 -53
  128. package/src/helpers/makerHelpers/index.ts +52 -52
  129. package/src/helpers/morphoBlueHelpers/index.ts +405 -396
  130. package/src/helpers/sparkHelpers/index.ts +169 -158
  131. package/src/index.ts +51 -49
  132. package/src/liquity/index.ts +159 -159
  133. package/src/liquityV2/index.ts +703 -703
  134. package/src/llamaLend/index.ts +305 -305
  135. package/src/maker/index.ts +223 -223
  136. package/src/markets/aave/index.ts +118 -118
  137. package/src/markets/aave/marketAssets.ts +54 -54
  138. package/src/markets/aaveV4/index.ts +42 -0
  139. package/src/markets/compound/index.ts +243 -243
  140. package/src/markets/compound/marketsAssets.ts +97 -97
  141. package/src/markets/curveUsd/index.ts +69 -69
  142. package/src/markets/euler/index.ts +26 -26
  143. package/src/markets/fluid/index.ts +2900 -2900
  144. package/src/markets/index.ts +26 -25
  145. package/src/markets/liquityV2/index.ts +102 -102
  146. package/src/markets/llamaLend/contractAddresses.ts +141 -141
  147. package/src/markets/llamaLend/index.ts +235 -235
  148. package/src/markets/morphoBlue/index.ts +988 -988
  149. package/src/markets/spark/index.ts +29 -29
  150. package/src/markets/spark/marketAssets.ts +12 -12
  151. package/src/moneymarket/moneymarketCommonService.ts +84 -85
  152. package/src/morphoBlue/index.ts +274 -274
  153. package/src/portfolio/index.ts +606 -586
  154. package/src/savings/index.ts +95 -95
  155. package/src/savings/makerDsr/index.ts +53 -53
  156. package/src/savings/makerDsr/options.ts +9 -9
  157. package/src/savings/morphoVaults/index.ts +80 -80
  158. package/src/savings/morphoVaults/options.ts +193 -193
  159. package/src/savings/skyOptions/index.ts +95 -95
  160. package/src/savings/skyOptions/options.ts +10 -10
  161. package/src/savings/sparkSavingsVaults/index.ts +60 -60
  162. package/src/savings/sparkSavingsVaults/options.ts +35 -35
  163. package/src/savings/yearnV3Vaults/index.ts +61 -61
  164. package/src/savings/yearnV3Vaults/options.ts +55 -55
  165. package/src/savings/yearnVaults/index.ts +73 -73
  166. package/src/savings/yearnVaults/options.ts +32 -32
  167. package/src/services/priceService.ts +278 -278
  168. package/src/services/utils.ts +115 -115
  169. package/src/services/viem.ts +57 -57
  170. package/src/setup.ts +8 -8
  171. package/src/spark/index.ts +459 -459
  172. package/src/staking/eligibility.ts +53 -53
  173. package/src/staking/index.ts +1 -1
  174. package/src/staking/staking.ts +192 -192
  175. package/src/types/aave.ts +199 -198
  176. package/src/types/aaveV4.ts +153 -0
  177. package/src/types/claiming.ts +114 -114
  178. package/src/types/common.ts +115 -107
  179. package/src/types/compound.ts +145 -144
  180. package/src/types/curveUsd.ts +123 -123
  181. package/src/types/euler.ts +176 -175
  182. package/src/types/fluid.ts +485 -483
  183. package/src/types/index.ts +17 -15
  184. package/src/types/liquity.ts +30 -30
  185. package/src/types/liquityV2.ts +128 -126
  186. package/src/types/llamaLend.ts +161 -159
  187. package/src/types/maker.ts +63 -63
  188. package/src/types/merit.ts +1 -1
  189. package/src/types/merkl.ts +70 -70
  190. package/src/types/morphoBlue.ts +202 -202
  191. package/src/types/portfolio.ts +64 -60
  192. package/src/types/savings/index.ts +23 -23
  193. package/src/types/savings/makerDsr.ts +13 -13
  194. package/src/types/savings/morphoVaults.ts +32 -32
  195. package/src/types/savings/sky.ts +14 -14
  196. package/src/types/savings/sparkSavingsVaults.ts +15 -15
  197. package/src/types/savings/yearnV3Vaults.ts +17 -17
  198. package/src/types/savings/yearnVaults.ts +14 -14
  199. package/src/types/spark.ts +135 -134
  200. package/src/umbrella/index.ts +69 -69
  201. package/src/umbrella/umbrellaUtils.ts +29 -29
package/src/types/aave.ts CHANGED
@@ -1,198 +1,199 @@
1
- import {
2
- IncentiveData,
3
- MMAssetData, MMPositionData, MMUsedAsset, NetworkNumber,
4
- } from './common';
5
-
6
- export enum AaveVersions {
7
- AaveV1 = 'v1',
8
- AaveV2 = 'v2default',
9
- AaveV3 = 'v3default',
10
- AaveV3Lido = 'v3lido',
11
- AaveV3Etherfi = 'v3etherfi',
12
- }
13
-
14
- export enum AaveVersionType {
15
- V1 = 'v1',
16
- V2 = 'v2',
17
- V3 = 'v3',
18
- }
19
-
20
- export type AaveMarketInfo = {
21
- chainIds: NetworkNumber[],
22
- label: string,
23
- shortLabel: string,
24
- url: string,
25
- value: AaveVersions,
26
- assets: readonly string[],
27
- provider: '' | 'LendingPoolAddressesProvider' | 'AaveV3PoolAddressesProvider' | 'AaveV3LidoPoolAddressesProvider' | 'AaveV3EtherfiPoolAddressesProvider',
28
- providerAddress: `0x${string}`,
29
- lendingPool: '' | 'AaveLendingPoolV2' | 'AaveV3LendingPool' | 'AaveV3LidoLendingPool' | 'AaveV3EtherfiLendingPool',
30
- lendingPoolAddress: string,
31
- protocolData: '' | 'AaveProtocolDataProvider' | 'AaveV3ProtocolDataProvider' | 'AaveV3LidoProtocolDataProvider' | 'AaveV3EtherfiProtocolDataProvider',
32
- protocolDataAddress: string
33
- subVersionLabel?: string
34
- protocolName: string,
35
- disabled?: boolean,
36
- };
37
-
38
- export interface EModeCategoryData {
39
- label: string,
40
- id: number,
41
- liquidationBonus: string,
42
- liquidationRatio: string,
43
- collateralFactor: string,
44
- borrowableBitmap?: string,
45
- collateralBitmap?: string,
46
- collateralAssets: string[],
47
- borrowAssets: string[],
48
- ltvzeroBitmap?: string,
49
- ltvZeroAssets: string[],
50
- }
51
- export interface EModeCategoryDataMapping {
52
- enteringTerms: boolean[],
53
- canEnterCategory: boolean,
54
- id: number,
55
- enabledData: {
56
- ratio: string,
57
- liqRatio: string,
58
- liqPercent: string,
59
- collRatio: string,
60
- }
61
- }
62
-
63
- export interface AaveAssetData extends MMAssetData {
64
- sortIndex?: number,
65
- isIsolated?: boolean,
66
- usageAsCollateralEnabled: boolean,
67
- isInactive: boolean,
68
- canBeWithdrawn: boolean,
69
- canBePayBacked: boolean,
70
- liquidationRatio: string,
71
- supplyCap: string,
72
- disabledStableBorrowing: boolean,
73
- borrowRateStable: string,
74
- totalBorrowVar: string,
75
- }
76
-
77
-
78
- export interface AaveV2AssetData extends AaveAssetData {
79
- priceInEth: string,
80
- isFrozen: boolean,
81
- }
82
-
83
- export interface AaveV3AssetData extends AaveAssetData {
84
- isIsolated: boolean,
85
- isSiloed: boolean,
86
- debtCeilingForIsolationMode: string,
87
- isolationModeTotalDebt: string,
88
- isolationModeBorrowingEnabled: boolean,
89
- supplyRateP2P?: string,
90
- borrowRateP2P?: string,
91
- isFrozen: boolean,
92
- isPaused: boolean,
93
- isFlashLoanEnabled: boolean,
94
- assetId: string | number | null,
95
- liquidationBonus: string,
96
- supplyIncentives: IncentiveData[];
97
- borrowIncentives: IncentiveData[];
98
- }
99
-
100
- export type EModeCategoriesData = Record<number, EModeCategoryData>;
101
-
102
- export type AaveAssetsData<T> = { [key: string]: T };
103
-
104
- export type AaveV2AssetsData = AaveAssetsData<AaveV2AssetData>;
105
-
106
- export type AaveV2MarketData = { assetsData: AaveV2AssetsData };
107
-
108
- export type AaveV3AssetsData = AaveAssetsData<AaveV3AssetData>;
109
-
110
- export type AaveV3MarketData = { assetsData: AaveV3AssetsData, eModeCategoriesData: EModeCategoriesData };
111
-
112
- export interface AaveUsedAsset extends MMUsedAsset {
113
- stableBorrowRate: string,
114
- borrowedStable: string,
115
- borrowedVariable: string,
116
- borrowedUsdStable: string,
117
- borrowedUsdVariable: string,
118
- stableLimit: string,
119
- variableLimit: string,
120
- limit: string,
121
- }
122
-
123
- export interface AaveV2UsedAsset extends AaveUsedAsset {
124
- }
125
-
126
- export interface AaveV3UsedAsset extends AaveUsedAsset {
127
- supplyRate: string,
128
- borrowRate: string,
129
- interestMode: string,
130
- collateral: boolean,
131
- }
132
-
133
- export type AaveUsedAssets<T> = { [key: string]: T };
134
-
135
- export type AaveV2UsedAssets = AaveUsedAssets<AaveV2UsedAsset>;
136
-
137
- export type AaveV3UsedAssets = AaveUsedAssets<AaveV3UsedAsset>;
138
-
139
- export interface AavePositionData extends MMPositionData {
140
- ratio: string,
141
- minRatio: string,
142
- collRatio: string,
143
- suppliedUsd: string,
144
- borrowedUsd: string,
145
- borrowLimitUsd: string,
146
- suppliedCollateralUsd: string,
147
- incentiveUsd: string,
148
- totalInterestUsd: string,
149
- isSubscribedToAutomation?: boolean,
150
- automationResubscribeRequired?: boolean,
151
- totalSupplied: string,
152
- }
153
-
154
- export interface AaveV2PositionData extends AavePositionData {
155
- usedAssets: AaveV2UsedAssets,
156
- }
157
-
158
- export interface AaveV3PositionData extends AavePositionData {
159
- usedAssets: AaveV3UsedAssets,
160
- eModeCategory: number,
161
- isInIsolationMode: boolean,
162
- isInSiloedMode: boolean,
163
- eModeCategories: { [key: number]: EModeCategoryDataMapping },
164
- }
165
-
166
- export interface AaveV3AggregatedPositionData {
167
- suppliedUsd: string,
168
- suppliedCollateralUsd: string,
169
- borrowedUsd: string,
170
- borrowLimitUsd: string,
171
- liquidationLimitUsd: string,
172
- leftToBorrowUsd: string,
173
- ratio: string,
174
- collRatio: string,
175
- netApy: string,
176
- incentiveUsd: string,
177
- totalInterestUsd: string,
178
- liqRatio: string,
179
- liqPercent: string,
180
- leveragedType: string,
181
- leveragedAsset?: string,
182
- leveragedLsdAssetRatio?: string,
183
- liquidationPrice?: string,
184
- minCollRatio?: string,
185
- collLiquidationRatio?: string,
186
- healthRatio?: string,
187
- minHealthRatio?: string,
188
- }
189
-
190
- export interface AaveHelperCommon {
191
- usedAssets: any,
192
- eModeCategory: number,
193
- eModeCategories?: { [key: number]: EModeCategoryDataMapping },
194
- eModeCategoriesData?: EModeCategoriesData,
195
- assetsData: any,
196
- selectedMarket: Partial<AaveMarketInfo>,
197
- network?: NetworkNumber,
198
- }
1
+ import {
2
+ IncentiveData,
3
+ LeverageType,
4
+ MMAssetData, MMPositionData, MMUsedAsset, NetworkNumber,
5
+ } from './common';
6
+
7
+ export enum AaveVersions {
8
+ AaveV1 = 'v1',
9
+ AaveV2 = 'v2default',
10
+ AaveV3 = 'v3default',
11
+ AaveV3Lido = 'v3lido',
12
+ AaveV3Etherfi = 'v3etherfi',
13
+ }
14
+
15
+ export enum AaveVersionType {
16
+ V1 = 'v1',
17
+ V2 = 'v2',
18
+ V3 = 'v3',
19
+ }
20
+
21
+ export type AaveMarketInfo = {
22
+ chainIds: NetworkNumber[],
23
+ label: string,
24
+ shortLabel: string,
25
+ url: string,
26
+ value: AaveVersions,
27
+ assets: readonly string[],
28
+ provider: '' | 'LendingPoolAddressesProvider' | 'AaveV3PoolAddressesProvider' | 'AaveV3LidoPoolAddressesProvider' | 'AaveV3EtherfiPoolAddressesProvider',
29
+ providerAddress: `0x${string}`,
30
+ lendingPool: '' | 'AaveLendingPoolV2' | 'AaveV3LendingPool' | 'AaveV3LidoLendingPool' | 'AaveV3EtherfiLendingPool',
31
+ lendingPoolAddress: string,
32
+ protocolData: '' | 'AaveProtocolDataProvider' | 'AaveV3ProtocolDataProvider' | 'AaveV3LidoProtocolDataProvider' | 'AaveV3EtherfiProtocolDataProvider',
33
+ protocolDataAddress: string
34
+ subVersionLabel?: string
35
+ protocolName: string,
36
+ disabled?: boolean,
37
+ };
38
+
39
+ export interface EModeCategoryData {
40
+ label: string,
41
+ id: number,
42
+ liquidationBonus: string,
43
+ liquidationRatio: string,
44
+ collateralFactor: string,
45
+ borrowableBitmap?: string,
46
+ collateralBitmap?: string,
47
+ collateralAssets: string[],
48
+ borrowAssets: string[],
49
+ ltvzeroBitmap?: string,
50
+ ltvZeroAssets: string[],
51
+ }
52
+ export interface EModeCategoryDataMapping {
53
+ enteringTerms: boolean[],
54
+ canEnterCategory: boolean,
55
+ id: number,
56
+ enabledData: {
57
+ ratio: string,
58
+ liqRatio: string,
59
+ liqPercent: string,
60
+ collRatio: string,
61
+ }
62
+ }
63
+
64
+ export interface AaveAssetData extends MMAssetData {
65
+ sortIndex?: number,
66
+ isIsolated?: boolean,
67
+ usageAsCollateralEnabled: boolean,
68
+ isInactive: boolean,
69
+ canBeWithdrawn: boolean,
70
+ canBePayBacked: boolean,
71
+ liquidationRatio: string,
72
+ supplyCap: string,
73
+ disabledStableBorrowing: boolean,
74
+ borrowRateStable: string,
75
+ totalBorrowVar: string,
76
+ }
77
+
78
+
79
+ export interface AaveV2AssetData extends AaveAssetData {
80
+ priceInEth: string,
81
+ isFrozen: boolean,
82
+ }
83
+
84
+ export interface AaveV3AssetData extends AaveAssetData {
85
+ isIsolated: boolean,
86
+ isSiloed: boolean,
87
+ debtCeilingForIsolationMode: string,
88
+ isolationModeTotalDebt: string,
89
+ isolationModeBorrowingEnabled: boolean,
90
+ supplyRateP2P?: string,
91
+ borrowRateP2P?: string,
92
+ isFrozen: boolean,
93
+ isPaused: boolean,
94
+ isFlashLoanEnabled: boolean,
95
+ assetId: string | number | null,
96
+ liquidationBonus: string,
97
+ supplyIncentives: IncentiveData[];
98
+ borrowIncentives: IncentiveData[];
99
+ }
100
+
101
+ export type EModeCategoriesData = Record<number, EModeCategoryData>;
102
+
103
+ export type AaveAssetsData<T> = { [key: string]: T };
104
+
105
+ export type AaveV2AssetsData = AaveAssetsData<AaveV2AssetData>;
106
+
107
+ export type AaveV2MarketData = { assetsData: AaveV2AssetsData };
108
+
109
+ export type AaveV3AssetsData = AaveAssetsData<AaveV3AssetData>;
110
+
111
+ export type AaveV3MarketData = { assetsData: AaveV3AssetsData, eModeCategoriesData: EModeCategoriesData };
112
+
113
+ export interface AaveUsedAsset extends MMUsedAsset {
114
+ stableBorrowRate: string,
115
+ borrowedStable: string,
116
+ borrowedVariable: string,
117
+ borrowedUsdStable: string,
118
+ borrowedUsdVariable: string,
119
+ stableLimit: string,
120
+ variableLimit: string,
121
+ limit: string,
122
+ }
123
+
124
+ export interface AaveV2UsedAsset extends AaveUsedAsset {
125
+ }
126
+
127
+ export interface AaveV3UsedAsset extends AaveUsedAsset {
128
+ supplyRate: string,
129
+ borrowRate: string,
130
+ interestMode: string,
131
+ collateral: boolean,
132
+ }
133
+
134
+ export type AaveUsedAssets<T> = { [key: string]: T };
135
+
136
+ export type AaveV2UsedAssets = AaveUsedAssets<AaveV2UsedAsset>;
137
+
138
+ export type AaveV3UsedAssets = AaveUsedAssets<AaveV3UsedAsset>;
139
+
140
+ export interface AavePositionData extends MMPositionData {
141
+ ratio: string,
142
+ minRatio: string,
143
+ collRatio: string,
144
+ suppliedUsd: string,
145
+ borrowedUsd: string,
146
+ borrowLimitUsd: string,
147
+ suppliedCollateralUsd: string,
148
+ incentiveUsd: string,
149
+ totalInterestUsd: string,
150
+ isSubscribedToAutomation?: boolean,
151
+ automationResubscribeRequired?: boolean,
152
+ totalSupplied: string,
153
+ }
154
+
155
+ export interface AaveV2PositionData extends AavePositionData {
156
+ usedAssets: AaveV2UsedAssets,
157
+ }
158
+
159
+ export interface AaveV3PositionData extends AavePositionData {
160
+ usedAssets: AaveV3UsedAssets,
161
+ eModeCategory: number,
162
+ isInIsolationMode: boolean,
163
+ isInSiloedMode: boolean,
164
+ eModeCategories: { [key: number]: EModeCategoryDataMapping },
165
+ }
166
+
167
+ export interface AaveV3AggregatedPositionData {
168
+ suppliedUsd: string,
169
+ suppliedCollateralUsd: string,
170
+ borrowedUsd: string,
171
+ borrowLimitUsd: string,
172
+ liquidationLimitUsd: string,
173
+ leftToBorrowUsd: string,
174
+ ratio: string,
175
+ collRatio: string,
176
+ netApy: string,
177
+ incentiveUsd: string,
178
+ totalInterestUsd: string,
179
+ liqRatio: string,
180
+ liqPercent: string,
181
+ leveragedType: LeverageType,
182
+ leveragedAsset?: string,
183
+ liquidationPrice?: string,
184
+ minCollRatio?: string,
185
+ collLiquidationRatio?: string,
186
+ healthRatio?: string,
187
+ minHealthRatio?: string,
188
+ currentVolatilePairRatio?: string,
189
+ }
190
+
191
+ export interface AaveHelperCommon {
192
+ usedAssets: any,
193
+ eModeCategory: number,
194
+ eModeCategories?: { [key: number]: EModeCategoryDataMapping },
195
+ eModeCategoriesData?: EModeCategoriesData,
196
+ assetsData: any,
197
+ selectedMarket: Partial<AaveMarketInfo>,
198
+ network?: NetworkNumber,
199
+ }
@@ -0,0 +1,153 @@
1
+ import {
2
+ EthAddress, IncentiveData, LeverageType, NetworkNumber,
3
+ } from './common';
4
+
5
+ export enum AaveV4SpokesType {
6
+ AaveV4CoreSpoke = 'aave_v4_core_spoke',
7
+ }
8
+
9
+ export enum AaveV4HubsType {
10
+ AaveV4CoreHub = 'aave_v4_core_hub',
11
+ }
12
+
13
+ export interface AaveV4SpokeInfo {
14
+ chainIds: NetworkNumber[],
15
+ label: string,
16
+ value: AaveV4SpokesType,
17
+ url: string,
18
+ address: EthAddress,
19
+ hubs: EthAddress[],
20
+ }
21
+
22
+ export interface AaveV4HubInfo {
23
+ chainIds: NetworkNumber[],
24
+ label: string,
25
+ value: AaveV4HubsType,
26
+ address: EthAddress,
27
+ }
28
+
29
+ export interface AaveV4HubAssetOnChainData {
30
+ assetId: number,
31
+ drawnRate: bigint,
32
+ }
33
+
34
+ export interface AaveV4HubOnChainData {
35
+ assets: Record<number, AaveV4HubAssetOnChainData>,
36
+ }
37
+
38
+ export interface AaveV4ReserveAssetOnChain {
39
+ underlying: EthAddress,
40
+ hub: EthAddress,
41
+ assetId: number,
42
+ decimals: number,
43
+ paused: boolean,
44
+ frozen: boolean,
45
+ borrowable: boolean,
46
+ collateralRisk: number,
47
+ collateralFactor: number,
48
+ maxLiquidationBonus: number,
49
+ liquidationFee: number,
50
+ price: bigint,
51
+ totalSupplied: bigint,
52
+ totalDrawn: bigint,
53
+ totalPremium: bigint,
54
+ totalDebt: bigint,
55
+ supplyCap: bigint,
56
+ borrowCap: bigint,
57
+ deficitRay: bigint,
58
+ spokeActive: boolean,
59
+ spokePaused: boolean
60
+ }
61
+
62
+ export interface AaveV4ReserveAssetData {
63
+ symbol: string,
64
+ underlying: EthAddress,
65
+ hub: EthAddress,
66
+ hubName: string,
67
+ assetId: number,
68
+ reserveId: number,
69
+ paused: boolean,
70
+ frozen: boolean,
71
+ borrowable: boolean,
72
+ collateralRisk: number,
73
+ collateralFactor: number,
74
+ liquidationFee: number,
75
+ price: string,
76
+ totalSupplied: string,
77
+ totalDrawn: string,
78
+ totalPremium: string,
79
+ totalDebt: string,
80
+ supplyCap: string,
81
+ borrowCap: string,
82
+ spokeActive: boolean,
83
+ spokePaused: boolean,
84
+ drawnRate: string,
85
+ supplyRate: string,
86
+ supplyIncentives: IncentiveData[];
87
+ borrowIncentives: IncentiveData[];
88
+ canBeBorrowed: boolean;
89
+ canBeSupplied: boolean;
90
+ canBeWithdrawn: boolean;
91
+ canBePayBacked: boolean;
92
+ utilization: string;
93
+ }
94
+
95
+ export type AaveV4AssetsData = Record<string, AaveV4ReserveAssetData>;
96
+
97
+ export interface AaveV4SpokeData {
98
+ assetsData: AaveV4AssetsData,
99
+ oracle: EthAddress,
100
+ oracleDecimals: number,
101
+ address: EthAddress,
102
+ }
103
+
104
+ export interface AaveV4UsedReserveAsset {
105
+ symbol: string,
106
+ hubName: string,
107
+ assetId: number,
108
+ reserveId: number,
109
+ supplied: string,
110
+ suppliedUsd: string,
111
+ drawn: string,
112
+ drawnUsd: string,
113
+ premium: string,
114
+ premiumUsd: string,
115
+ borrowed: string,
116
+ borrowedUsd: string,
117
+ isSupplied: boolean,
118
+ isBorrowed: boolean,
119
+ collateral: boolean,
120
+ collateralFactor: number,
121
+ }
122
+
123
+ export interface AaveV4AggregatedPositionData {
124
+ suppliedUsd: string,
125
+ suppliedCollateralUsd: string,
126
+ borrowLimitUsd: string,
127
+ liquidationLimitUsd: string,
128
+ borrowedUsd: string,
129
+ drawnUsd: string,
130
+ premiumUsd: string,
131
+ leftToBorrowUsd: string,
132
+ ratio: string,
133
+ collRatio: string,
134
+ liqRatio: string,
135
+ liqPercent: string,
136
+ leveragedType: LeverageType,
137
+ leveragedAsset: string,
138
+ liquidationPrice: string,
139
+ minCollRatio: string,
140
+ collLiquidationRatio: string,
141
+ minHealthRatio: string,
142
+ netApy: string,
143
+ incentiveUsd: string,
144
+ totalInterestUsd: string,
145
+ currentVolatilePairRatio?: string,
146
+ }
147
+
148
+ export type AaveV4UsedReserveAssets = Record<string, AaveV4UsedReserveAsset>;
149
+
150
+ export interface AaveV4AccountData extends AaveV4AggregatedPositionData {
151
+ usedAssets: AaveV4UsedReserveAssets,
152
+ healthFactor: string,
153
+ }