@defisaver/positions-sdk 2.1.54 → 2.1.56-dev-exposure

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 (184) hide show
  1. package/.mocharc.json +4 -4
  2. package/.nvmrc +1 -1
  3. package/README.md +64 -64
  4. package/cjs/aaveV3/index.d.ts +1 -0
  5. package/cjs/aaveV3/index.js +5 -2
  6. package/cjs/compoundV2/index.d.ts +1 -0
  7. package/cjs/compoundV2/index.js +1 -0
  8. package/cjs/compoundV3/index.d.ts +1 -0
  9. package/cjs/compoundV3/index.js +1 -0
  10. package/cjs/eulerV2/index.d.ts +1 -0
  11. package/cjs/eulerV2/index.js +1 -0
  12. package/cjs/fluid/index.d.ts +3 -0
  13. package/cjs/helpers/aaveHelpers/index.js +1 -0
  14. package/cjs/helpers/compoundHelpers/index.js +2 -0
  15. package/cjs/helpers/curveUsdHelpers/index.js +1 -0
  16. package/cjs/helpers/eulerHelpers/index.js +1 -0
  17. package/cjs/helpers/fluidHelpers/index.js +1 -0
  18. package/cjs/helpers/liquityV2Helpers/index.js +1 -0
  19. package/cjs/helpers/llamaLendHelpers/index.js +1 -0
  20. package/cjs/helpers/morphoBlueHelpers/index.js +67 -66
  21. package/cjs/helpers/sparkHelpers/index.js +1 -0
  22. package/cjs/liquity/index.js +2 -0
  23. package/cjs/maker/index.js +2 -0
  24. package/cjs/markets/morphoBlue/index.d.ts +4 -0
  25. package/cjs/markets/morphoBlue/index.js +36 -2
  26. package/cjs/moneymarket/moneymarketCommonService.d.ts +1 -0
  27. package/cjs/moneymarket/moneymarketCommonService.js +8 -1
  28. package/cjs/savings/morphoVaults/index.js +17 -17
  29. package/cjs/spark/index.d.ts +1 -0
  30. package/cjs/spark/index.js +1 -0
  31. package/cjs/types/aave.d.ts +1 -0
  32. package/cjs/types/common.d.ts +1 -0
  33. package/cjs/types/compound.d.ts +1 -0
  34. package/cjs/types/curveUsd.d.ts +2 -0
  35. package/cjs/types/euler.d.ts +1 -0
  36. package/cjs/types/fluid.d.ts +1 -0
  37. package/cjs/types/liquity.d.ts +1 -0
  38. package/cjs/types/liquityV2.d.ts +2 -0
  39. package/cjs/types/llamaLend.d.ts +2 -0
  40. package/cjs/types/maker.d.ts +1 -0
  41. package/cjs/types/morphoBlue.d.ts +4 -0
  42. package/cjs/types/morphoBlue.js +2 -0
  43. package/cjs/types/spark.d.ts +1 -0
  44. package/esm/aaveV3/index.d.ts +1 -0
  45. package/esm/aaveV3/index.js +5 -2
  46. package/esm/compoundV2/index.d.ts +1 -0
  47. package/esm/compoundV2/index.js +1 -0
  48. package/esm/compoundV3/index.d.ts +1 -0
  49. package/esm/compoundV3/index.js +1 -0
  50. package/esm/eulerV2/index.d.ts +1 -0
  51. package/esm/eulerV2/index.js +1 -0
  52. package/esm/fluid/index.d.ts +3 -0
  53. package/esm/helpers/aaveHelpers/index.js +2 -1
  54. package/esm/helpers/compoundHelpers/index.js +3 -1
  55. package/esm/helpers/curveUsdHelpers/index.js +2 -1
  56. package/esm/helpers/eulerHelpers/index.js +2 -1
  57. package/esm/helpers/fluidHelpers/index.js +2 -1
  58. package/esm/helpers/liquityV2Helpers/index.js +2 -1
  59. package/esm/helpers/llamaLendHelpers/index.js +2 -1
  60. package/esm/helpers/morphoBlueHelpers/index.js +68 -67
  61. package/esm/helpers/sparkHelpers/index.js +2 -1
  62. package/esm/liquity/index.js +2 -0
  63. package/esm/maker/index.js +2 -0
  64. package/esm/markets/morphoBlue/index.d.ts +4 -0
  65. package/esm/markets/morphoBlue/index.js +32 -0
  66. package/esm/moneymarket/moneymarketCommonService.d.ts +1 -0
  67. package/esm/moneymarket/moneymarketCommonService.js +6 -0
  68. package/esm/savings/morphoVaults/index.js +17 -17
  69. package/esm/spark/index.d.ts +1 -0
  70. package/esm/spark/index.js +1 -0
  71. package/esm/types/aave.d.ts +1 -0
  72. package/esm/types/common.d.ts +1 -0
  73. package/esm/types/compound.d.ts +1 -0
  74. package/esm/types/curveUsd.d.ts +2 -0
  75. package/esm/types/euler.d.ts +1 -0
  76. package/esm/types/fluid.d.ts +1 -0
  77. package/esm/types/liquity.d.ts +1 -0
  78. package/esm/types/liquityV2.d.ts +2 -0
  79. package/esm/types/llamaLend.d.ts +2 -0
  80. package/esm/types/maker.d.ts +1 -0
  81. package/esm/types/morphoBlue.d.ts +4 -0
  82. package/esm/types/morphoBlue.js +2 -0
  83. package/esm/types/spark.d.ts +1 -0
  84. package/package.json +48 -48
  85. package/src/aaveV2/index.ts +240 -240
  86. package/src/aaveV3/index.ts +638 -635
  87. package/src/aaveV3/merit.ts +97 -97
  88. package/src/aaveV3/merkl.ts +74 -74
  89. package/src/claiming/aaveV3.ts +154 -154
  90. package/src/claiming/compV3.ts +22 -22
  91. package/src/claiming/ethena.ts +61 -61
  92. package/src/claiming/index.ts +12 -12
  93. package/src/claiming/king.ts +66 -66
  94. package/src/claiming/morphoBlue.ts +118 -118
  95. package/src/claiming/spark.ts +225 -225
  96. package/src/compoundV2/index.ts +245 -244
  97. package/src/compoundV3/index.ts +275 -274
  98. package/src/config/contracts.ts +1320 -1320
  99. package/src/constants/index.ts +10 -10
  100. package/src/contracts.ts +171 -171
  101. package/src/curveUsd/index.ts +254 -254
  102. package/src/eulerV2/index.ts +325 -324
  103. package/src/exchange/index.ts +25 -25
  104. package/src/fluid/index.ts +1800 -1800
  105. package/src/helpers/aaveHelpers/index.ts +203 -202
  106. package/src/helpers/compoundHelpers/index.ts +278 -276
  107. package/src/helpers/curveUsdHelpers/index.ts +44 -40
  108. package/src/helpers/eulerHelpers/index.ts +230 -229
  109. package/src/helpers/fluidHelpers/index.ts +338 -335
  110. package/src/helpers/index.ts +10 -10
  111. package/src/helpers/liquityV2Helpers/index.ts +85 -82
  112. package/src/helpers/llamaLendHelpers/index.ts +56 -53
  113. package/src/helpers/makerHelpers/index.ts +52 -52
  114. package/src/helpers/morphoBlueHelpers/index.ts +406 -405
  115. package/src/helpers/sparkHelpers/index.ts +170 -169
  116. package/src/index.ts +49 -49
  117. package/src/liquity/index.ts +161 -159
  118. package/src/liquityV2/index.ts +703 -703
  119. package/src/llamaLend/index.ts +305 -305
  120. package/src/maker/index.ts +225 -223
  121. package/src/markets/aave/index.ts +118 -118
  122. package/src/markets/aave/marketAssets.ts +54 -54
  123. package/src/markets/compound/index.ts +243 -243
  124. package/src/markets/compound/marketsAssets.ts +97 -97
  125. package/src/markets/curveUsd/index.ts +69 -69
  126. package/src/markets/euler/index.ts +26 -26
  127. package/src/markets/fluid/index.ts +2900 -2900
  128. package/src/markets/index.ts +25 -25
  129. package/src/markets/liquityV2/index.ts +102 -102
  130. package/src/markets/llamaLend/contractAddresses.ts +141 -141
  131. package/src/markets/llamaLend/index.ts +235 -235
  132. package/src/markets/morphoBlue/index.ts +1020 -988
  133. package/src/markets/spark/index.ts +29 -29
  134. package/src/markets/spark/marketAssets.ts +12 -12
  135. package/src/moneymarket/moneymarketCommonService.ts +90 -84
  136. package/src/morphoBlue/index.ts +274 -274
  137. package/src/portfolio/index.ts +586 -586
  138. package/src/savings/index.ts +95 -95
  139. package/src/savings/makerDsr/index.ts +53 -53
  140. package/src/savings/makerDsr/options.ts +9 -9
  141. package/src/savings/morphoVaults/index.ts +80 -80
  142. package/src/savings/morphoVaults/options.ts +193 -193
  143. package/src/savings/skyOptions/index.ts +95 -95
  144. package/src/savings/skyOptions/options.ts +10 -10
  145. package/src/savings/sparkSavingsVaults/index.ts +60 -60
  146. package/src/savings/sparkSavingsVaults/options.ts +35 -35
  147. package/src/savings/yearnV3Vaults/index.ts +61 -61
  148. package/src/savings/yearnV3Vaults/options.ts +55 -55
  149. package/src/savings/yearnVaults/index.ts +73 -73
  150. package/src/savings/yearnVaults/options.ts +32 -32
  151. package/src/services/priceService.ts +278 -278
  152. package/src/services/utils.ts +115 -115
  153. package/src/services/viem.ts +57 -57
  154. package/src/setup.ts +8 -8
  155. package/src/spark/index.ts +460 -459
  156. package/src/staking/eligibility.ts +53 -53
  157. package/src/staking/index.ts +1 -1
  158. package/src/staking/staking.ts +192 -192
  159. package/src/types/aave.ts +200 -199
  160. package/src/types/claiming.ts +114 -114
  161. package/src/types/common.ts +116 -115
  162. package/src/types/compound.ts +146 -145
  163. package/src/types/curveUsd.ts +125 -123
  164. package/src/types/euler.ts +177 -176
  165. package/src/types/fluid.ts +486 -485
  166. package/src/types/index.ts +15 -15
  167. package/src/types/liquity.ts +31 -30
  168. package/src/types/liquityV2.ts +130 -128
  169. package/src/types/llamaLend.ts +163 -161
  170. package/src/types/maker.ts +64 -63
  171. package/src/types/merit.ts +1 -1
  172. package/src/types/merkl.ts +70 -70
  173. package/src/types/morphoBlue.ts +206 -202
  174. package/src/types/portfolio.ts +60 -60
  175. package/src/types/savings/index.ts +23 -23
  176. package/src/types/savings/makerDsr.ts +13 -13
  177. package/src/types/savings/morphoVaults.ts +32 -32
  178. package/src/types/savings/sky.ts +14 -14
  179. package/src/types/savings/sparkSavingsVaults.ts +15 -15
  180. package/src/types/savings/yearnV3Vaults.ts +17 -17
  181. package/src/types/savings/yearnVaults.ts +14 -14
  182. package/src/types/spark.ts +136 -135
  183. package/src/umbrella/index.ts +69 -69
  184. package/src/umbrella/umbrellaUtils.ts +29 -29
@@ -1,124 +1,126 @@
1
- import { EthAddress, LeverageType, NetworkNumber } from './common';
2
-
3
- export enum CrvUSDVersions {
4
- 'crvUSDwstETH' = 'wstETH',
5
- 'crvUSDWBTC' = 'WBTC',
6
- 'crvUSDETH' = 'ETH',
7
- 'crvUSDtBTC' = 'tBTC',
8
- 'crvUSDsfrxETH' = 'sfrxETH',
9
- }
10
-
11
- export enum CrvUSDStatus {
12
- Nonexistant = 'Nonexistant',
13
- Safe = 'Safe',
14
- Risk = 'Risk',
15
- SoftLiquidating = 'SoftLiquidating',
16
- SoftLiquidated = 'SoftLiquidated',
17
- }
18
-
19
- export interface CrvUSDMarketData {
20
- chainIds: NetworkNumber[],
21
- label: string,
22
- shortLabel: string,
23
- value: CrvUSDVersions,
24
- collAsset: string,
25
- baseAsset: string,
26
- controllerAddress: EthAddress,
27
- ammAddress: EthAddress,
28
- createCollAssets: string[],
29
- }
30
-
31
- export interface BandData {
32
- id: string,
33
- collAmount: string,
34
- debtAmount: string,
35
- lowPrice: string,
36
- highPrice: string,
37
- }
38
-
39
- export interface UserBandData {
40
- id: string,
41
- collAmount: string,
42
- debtAmount: string,
43
- lowPrice: string,
44
- highPrice: string,
45
- userDebtAmount: string,
46
- userCollAmount: string,
47
- }
48
-
49
- export interface CrvUSDGlobalMarketData {
50
- collateral: string,
51
- decimals: string,
52
- activeBand: string,
53
- totalDebt: string,
54
- ammPrice: string,
55
- basePrice: string,
56
- oraclePrice: string,
57
- minted: string,
58
- redeemed: string,
59
- monetaryPolicyRate: string,
60
- ammRate: string,
61
- minBand: string,
62
- maxBand: string,
63
- debtCeiling: string,
64
- borrowRate: string,
65
- futureBorrowRate: string,
66
- leftToBorrow: string,
67
- bands: BandData[],
68
- loanDiscount: string;
69
- }
70
-
71
- export interface CrvUSDAggregatedPositionData {
72
- ratio: string,
73
- supplied: string,
74
- suppliedUsd: string,
75
- borrowedUsd: string,
76
- borrowed: string,
77
- safetyRatio: string,
78
- borrowLimitUsd: string,
79
- minAllowedRatio: number,
80
- collFactor: string,
81
- leveragedType: LeverageType,
82
- leveragedAsset?: string,
83
- liquidationPrice?: string,
84
- }
85
-
86
- export interface CrvUSDUsedAsset {
87
- isSupplied: boolean,
88
- supplied: string,
89
- suppliedUsd: string,
90
- borrowed: string,
91
- borrowedUsd: string,
92
- isBorrowed: boolean,
93
- symbol: string,
94
- collateral: boolean,
95
- price: string,
96
- interestRate?: string,
97
- }
98
-
99
- export interface CrvUSDUsedAssets {
100
- [key: string]: CrvUSDUsedAsset,
101
- }
102
-
103
- export interface CrvUSDUserData {
104
- debtAmount: string,
105
- health: string,
106
- healthPercent: string,
107
- priceHigh: string,
108
- priceLow: string,
109
- liquidationDiscount: string,
110
- numOfBands: string,
111
- usedAssets: CrvUSDUsedAssets,
112
- status: CrvUSDStatus,
113
- ratio: string,
114
- supplied: string,
115
- suppliedUsd: string,
116
- borrowedUsd: string,
117
- borrowed: string,
118
- safetyRatio: string,
119
- userBands: UserBandData[],
120
- loanExists: boolean,
121
- borrowRate?: string,
122
- collateralPrice: string,
123
- collRatio: string,
1
+ import { EthAddress, LeverageType, NetworkNumber } from './common';
2
+
3
+ export enum CrvUSDVersions {
4
+ 'crvUSDwstETH' = 'wstETH',
5
+ 'crvUSDWBTC' = 'WBTC',
6
+ 'crvUSDETH' = 'ETH',
7
+ 'crvUSDtBTC' = 'tBTC',
8
+ 'crvUSDsfrxETH' = 'sfrxETH',
9
+ }
10
+
11
+ export enum CrvUSDStatus {
12
+ Nonexistant = 'Nonexistant',
13
+ Safe = 'Safe',
14
+ Risk = 'Risk',
15
+ SoftLiquidating = 'SoftLiquidating',
16
+ SoftLiquidated = 'SoftLiquidated',
17
+ }
18
+
19
+ export interface CrvUSDMarketData {
20
+ chainIds: NetworkNumber[],
21
+ label: string,
22
+ shortLabel: string,
23
+ value: CrvUSDVersions,
24
+ collAsset: string,
25
+ baseAsset: string,
26
+ controllerAddress: EthAddress,
27
+ ammAddress: EthAddress,
28
+ createCollAssets: string[],
29
+ }
30
+
31
+ export interface BandData {
32
+ id: string,
33
+ collAmount: string,
34
+ debtAmount: string,
35
+ lowPrice: string,
36
+ highPrice: string,
37
+ }
38
+
39
+ export interface UserBandData {
40
+ id: string,
41
+ collAmount: string,
42
+ debtAmount: string,
43
+ lowPrice: string,
44
+ highPrice: string,
45
+ userDebtAmount: string,
46
+ userCollAmount: string,
47
+ }
48
+
49
+ export interface CrvUSDGlobalMarketData {
50
+ collateral: string,
51
+ decimals: string,
52
+ activeBand: string,
53
+ totalDebt: string,
54
+ ammPrice: string,
55
+ basePrice: string,
56
+ oraclePrice: string,
57
+ minted: string,
58
+ redeemed: string,
59
+ monetaryPolicyRate: string,
60
+ ammRate: string,
61
+ minBand: string,
62
+ maxBand: string,
63
+ debtCeiling: string,
64
+ borrowRate: string,
65
+ futureBorrowRate: string,
66
+ leftToBorrow: string,
67
+ bands: BandData[],
68
+ loanDiscount: string;
69
+ }
70
+
71
+ export interface CrvUSDAggregatedPositionData {
72
+ ratio: string,
73
+ supplied: string,
74
+ suppliedUsd: string,
75
+ borrowedUsd: string,
76
+ borrowed: string,
77
+ safetyRatio: string,
78
+ borrowLimitUsd: string,
79
+ minAllowedRatio: number,
80
+ collFactor: string,
81
+ leveragedType: LeverageType,
82
+ exposure: string,
83
+ leveragedAsset?: string,
84
+ liquidationPrice?: string,
85
+ }
86
+
87
+ export interface CrvUSDUsedAsset {
88
+ isSupplied: boolean,
89
+ supplied: string,
90
+ suppliedUsd: string,
91
+ borrowed: string,
92
+ borrowedUsd: string,
93
+ isBorrowed: boolean,
94
+ symbol: string,
95
+ collateral: boolean,
96
+ price: string,
97
+ interestRate?: string,
98
+ }
99
+
100
+ export interface CrvUSDUsedAssets {
101
+ [key: string]: CrvUSDUsedAsset,
102
+ }
103
+
104
+ export interface CrvUSDUserData {
105
+ debtAmount: string,
106
+ health: string,
107
+ healthPercent: string,
108
+ priceHigh: string,
109
+ priceLow: string,
110
+ liquidationDiscount: string,
111
+ numOfBands: string,
112
+ usedAssets: CrvUSDUsedAssets,
113
+ status: CrvUSDStatus,
114
+ ratio: string,
115
+ supplied: string,
116
+ suppliedUsd: string,
117
+ borrowedUsd: string,
118
+ borrowed: string,
119
+ safetyRatio: string,
120
+ userBands: UserBandData[],
121
+ loanExists: boolean,
122
+ borrowRate?: string,
123
+ collateralPrice: string,
124
+ collRatio: string,
125
+ exposure: string,
124
126
  }
@@ -1,177 +1,178 @@
1
- import {
2
- EthAddress,
3
- IncentiveData,
4
- LeverageType,
5
- MMPositionData, NetworkNumber,
6
- } from './common';
7
-
8
- export enum EulerV2Versions {
9
- eUSDC2 = 'eUSDC-2',
10
- eWETH2 = 'eWETH-2',
11
- }
12
-
13
- export enum EulerV2VaultType {
14
- Escrow = 'Escrow',
15
- Governed = 'Governed',
16
- Ungoverned = 'Ungoverned',
17
- }
18
-
19
- export interface EulerV2Market {
20
- chainIds: NetworkNumber[],
21
- label: string,
22
- shortLabel: string,
23
- asset: string,
24
- value: EulerV2Versions,
25
- secondLabel: string,
26
- marketAddress: EthAddress,
27
- }
28
-
29
- export interface EulerV2PositionData extends MMPositionData {
30
- ratio: string,
31
- minRatio: string,
32
- suppliedUsd: string,
33
- borrowedUsd: string,
34
- borrowLimitUsd: string,
35
- incentiveUsd: string,
36
- totalInterestUsd: string,
37
- isSubscribedToAutomation?: boolean,
38
- automationResubscribeRequired?: boolean,
39
- }
40
-
41
- export interface EulerV2AssetData {
42
- vaultAddress: string,
43
- vaultSymbol: string
44
- sortIndex?: number
45
- liquidationRatio: string
46
- cash: string
47
- supplyCap: string
48
- assetAddress: string
49
- decimals: string
50
- symbol: string
51
- price: string
52
- borrowCap: string
53
- canBeBorrowed: boolean
54
- canBeSupplied: boolean
55
- supplyIncentives: IncentiveData[]
56
- borrowIncentives: IncentiveData[]
57
- totalBorrow: string
58
- collateralFactor: string
59
- borrowRate: string
60
- supplyRate: string
61
- utilization: string
62
- governorAdmin: string
63
- vaultType: EulerV2VaultType
64
- }
65
-
66
- export interface EulerV2UsedAsset {
67
- isSupplied: boolean
68
- isBorrowed: boolean
69
- supplied: string
70
- suppliedUsd: string
71
- borrowed: string
72
- borrowedUsd: string
73
- symbol: string
74
- collateral: boolean
75
- vaultAddress: string
76
- }
77
-
78
- export interface EulerV2MarketInfoData {
79
- name: string,
80
- symbol: string,
81
- decimals: string,
82
- vaultAddress: string,
83
- irm: string,
84
- creator: string,
85
- governorAdmin: string,
86
- unitOfAccount: string,
87
- unitOfAccountUsdPrice: string,
88
- isInUSD: boolean,
89
- oracle: string,
90
- collaterals: string[],
91
- isEscrow: boolean,
92
- isGoverned: boolean,
93
- vaultType: EulerV2VaultType,
94
- }
95
-
96
- export type EulerV2AssetsData = { [key: string]: EulerV2AssetData };
97
- export type EulerV2UsedAssets = { [key: string]: EulerV2UsedAsset };
98
-
99
-
100
- export interface EulerV2CollateralInfo {
101
- lltv: string
102
- borrowLtv: string
103
- totalBorrows: string
104
- cash: string
105
- supplyCap: string
106
- }
107
-
108
- export interface EulerV2MarketData {
109
- name: string
110
- symbol: string
111
- decimals: number
112
-
113
- totalSupplyShares: string
114
- cash: string
115
- totalBorrows: string
116
- totalAssets: string
117
- supplyCap: string
118
- borrowCap: string
119
-
120
- collaterals: string[]
121
-
122
- badDebtSocializationEnabled: boolean
123
-
124
- unitOfAccount: string
125
- oracle: string
126
- assetPrice: string
127
-
128
- interestRate: string
129
- irm: string
130
-
131
- creator: string
132
-
133
- governorAdmin: string
134
-
135
- interestFee: string
136
- }
137
-
138
- export interface EulerV2FullMarketData {
139
- marketData: EulerV2MarketInfoData
140
- assetsData: EulerV2AssetsData
141
- }
142
-
143
- export interface EulerV2AccountData {
144
- owner: string
145
- inLockDownMode: boolean
146
- inPermitDisabledMode: boolean
147
-
148
- borrowVault: string
149
- borrowAmountInUnit: string
150
-
151
- collaterals: string[] // all collaterals user has enabled on main evc contract (globally - not only collaterals for his borrow market)
152
- collateralAmountsInUnit: string[] // only amounts used as collateral for his debt (empty array if no debt)
153
- }
154
-
155
- export interface EulerV2AggregatedPositionData {
156
- suppliedUsd: string,
157
- suppliedCollateralUsd: string,
158
- borrowedUsd: string,
159
- borrowLimitUsd: string,
160
- liquidationLimitUsd: string,
161
- leftToBorrowUsd: string,
162
- ratio: string,
163
- collRatio: string,
164
- netApy: string,
165
- incentiveUsd: string,
166
- totalInterestUsd: string,
167
- liqRatio: string,
168
- liqPercent: string,
169
- leveragedType: LeverageType,
170
- leveragedAsset?: string,
171
- currentVolatilePairRatio?: string,
172
- liquidationPrice?: string,
173
- minRatio: string,
174
- minDebt: string,
175
- minCollRatio: string,
176
- collLiquidationRatio: string,
1
+ import {
2
+ EthAddress,
3
+ IncentiveData,
4
+ LeverageType,
5
+ MMPositionData, NetworkNumber,
6
+ } from './common';
7
+
8
+ export enum EulerV2Versions {
9
+ eUSDC2 = 'eUSDC-2',
10
+ eWETH2 = 'eWETH-2',
11
+ }
12
+
13
+ export enum EulerV2VaultType {
14
+ Escrow = 'Escrow',
15
+ Governed = 'Governed',
16
+ Ungoverned = 'Ungoverned',
17
+ }
18
+
19
+ export interface EulerV2Market {
20
+ chainIds: NetworkNumber[],
21
+ label: string,
22
+ shortLabel: string,
23
+ asset: string,
24
+ value: EulerV2Versions,
25
+ secondLabel: string,
26
+ marketAddress: EthAddress,
27
+ }
28
+
29
+ export interface EulerV2PositionData extends MMPositionData {
30
+ ratio: string,
31
+ minRatio: string,
32
+ suppliedUsd: string,
33
+ borrowedUsd: string,
34
+ borrowLimitUsd: string,
35
+ incentiveUsd: string,
36
+ totalInterestUsd: string,
37
+ isSubscribedToAutomation?: boolean,
38
+ automationResubscribeRequired?: boolean,
39
+ }
40
+
41
+ export interface EulerV2AssetData {
42
+ vaultAddress: string,
43
+ vaultSymbol: string
44
+ sortIndex?: number
45
+ liquidationRatio: string
46
+ cash: string
47
+ supplyCap: string
48
+ assetAddress: string
49
+ decimals: string
50
+ symbol: string
51
+ price: string
52
+ borrowCap: string
53
+ canBeBorrowed: boolean
54
+ canBeSupplied: boolean
55
+ supplyIncentives: IncentiveData[]
56
+ borrowIncentives: IncentiveData[]
57
+ totalBorrow: string
58
+ collateralFactor: string
59
+ borrowRate: string
60
+ supplyRate: string
61
+ utilization: string
62
+ governorAdmin: string
63
+ vaultType: EulerV2VaultType
64
+ }
65
+
66
+ export interface EulerV2UsedAsset {
67
+ isSupplied: boolean
68
+ isBorrowed: boolean
69
+ supplied: string
70
+ suppliedUsd: string
71
+ borrowed: string
72
+ borrowedUsd: string
73
+ symbol: string
74
+ collateral: boolean
75
+ vaultAddress: string
76
+ }
77
+
78
+ export interface EulerV2MarketInfoData {
79
+ name: string,
80
+ symbol: string,
81
+ decimals: string,
82
+ vaultAddress: string,
83
+ irm: string,
84
+ creator: string,
85
+ governorAdmin: string,
86
+ unitOfAccount: string,
87
+ unitOfAccountUsdPrice: string,
88
+ isInUSD: boolean,
89
+ oracle: string,
90
+ collaterals: string[],
91
+ isEscrow: boolean,
92
+ isGoverned: boolean,
93
+ vaultType: EulerV2VaultType,
94
+ }
95
+
96
+ export type EulerV2AssetsData = { [key: string]: EulerV2AssetData };
97
+ export type EulerV2UsedAssets = { [key: string]: EulerV2UsedAsset };
98
+
99
+
100
+ export interface EulerV2CollateralInfo {
101
+ lltv: string
102
+ borrowLtv: string
103
+ totalBorrows: string
104
+ cash: string
105
+ supplyCap: string
106
+ }
107
+
108
+ export interface EulerV2MarketData {
109
+ name: string
110
+ symbol: string
111
+ decimals: number
112
+
113
+ totalSupplyShares: string
114
+ cash: string
115
+ totalBorrows: string
116
+ totalAssets: string
117
+ supplyCap: string
118
+ borrowCap: string
119
+
120
+ collaterals: string[]
121
+
122
+ badDebtSocializationEnabled: boolean
123
+
124
+ unitOfAccount: string
125
+ oracle: string
126
+ assetPrice: string
127
+
128
+ interestRate: string
129
+ irm: string
130
+
131
+ creator: string
132
+
133
+ governorAdmin: string
134
+
135
+ interestFee: string
136
+ }
137
+
138
+ export interface EulerV2FullMarketData {
139
+ marketData: EulerV2MarketInfoData
140
+ assetsData: EulerV2AssetsData
141
+ }
142
+
143
+ export interface EulerV2AccountData {
144
+ owner: string
145
+ inLockDownMode: boolean
146
+ inPermitDisabledMode: boolean
147
+
148
+ borrowVault: string
149
+ borrowAmountInUnit: string
150
+
151
+ collaterals: string[] // all collaterals user has enabled on main evc contract (globally - not only collaterals for his borrow market)
152
+ collateralAmountsInUnit: string[] // only amounts used as collateral for his debt (empty array if no debt)
153
+ }
154
+
155
+ export interface EulerV2AggregatedPositionData {
156
+ suppliedUsd: string,
157
+ suppliedCollateralUsd: string,
158
+ borrowedUsd: string,
159
+ borrowLimitUsd: string,
160
+ liquidationLimitUsd: string,
161
+ leftToBorrowUsd: string,
162
+ ratio: string,
163
+ collRatio: string,
164
+ netApy: string,
165
+ incentiveUsd: string,
166
+ totalInterestUsd: string,
167
+ liqRatio: string,
168
+ liqPercent: string,
169
+ leveragedType: LeverageType,
170
+ leveragedAsset?: string,
171
+ currentVolatilePairRatio?: string,
172
+ liquidationPrice?: string,
173
+ minRatio: string,
174
+ minDebt: string,
175
+ minCollRatio: string,
176
+ collLiquidationRatio: string,
177
+ exposure: string,
177
178
  }