@defisaver/positions-sdk 1.0.11-fluid-dev10 → 1.0.11-fluid-dev12

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 (80) hide show
  1. package/.mocharc.json +4 -4
  2. package/.nvmrc +1 -1
  3. package/README.md +69 -69
  4. package/cjs/fluid/index.js +60 -20
  5. package/cjs/helpers/fluidHelpers/index.js +21 -2
  6. package/cjs/helpers/morphoBlueHelpers/index.js +66 -66
  7. package/cjs/types/fluid.d.ts +4 -0
  8. package/esm/fluid/index.js +60 -20
  9. package/esm/helpers/fluidHelpers/index.js +21 -2
  10. package/esm/helpers/morphoBlueHelpers/index.js +66 -66
  11. package/esm/types/fluid.d.ts +4 -0
  12. package/package.json +54 -54
  13. package/src/aaveV2/index.ts +227 -227
  14. package/src/aaveV3/index.ts +624 -624
  15. package/src/assets/index.ts +60 -60
  16. package/src/chickenBonds/index.ts +123 -123
  17. package/src/compoundV2/index.ts +220 -220
  18. package/src/compoundV3/index.ts +291 -291
  19. package/src/config/contracts.js +1155 -1155
  20. package/src/constants/index.ts +6 -6
  21. package/src/contracts.ts +135 -135
  22. package/src/curveUsd/index.ts +239 -239
  23. package/src/eulerV2/index.ts +303 -303
  24. package/src/exchange/index.ts +17 -17
  25. package/src/fluid/index.ts +1289 -1241
  26. package/src/helpers/aaveHelpers/index.ts +203 -203
  27. package/src/helpers/chickenBondsHelpers/index.ts +23 -23
  28. package/src/helpers/compoundHelpers/index.ts +248 -248
  29. package/src/helpers/curveUsdHelpers/index.ts +40 -40
  30. package/src/helpers/eulerHelpers/index.ts +234 -234
  31. package/src/helpers/fluidHelpers/index.ts +325 -294
  32. package/src/helpers/index.ts +11 -11
  33. package/src/helpers/liquityV2Helpers/index.ts +80 -80
  34. package/src/helpers/llamaLendHelpers/index.ts +53 -53
  35. package/src/helpers/makerHelpers/index.ts +94 -94
  36. package/src/helpers/morphoBlueHelpers/index.ts +367 -367
  37. package/src/helpers/sparkHelpers/index.ts +154 -154
  38. package/src/index.ts +52 -52
  39. package/src/liquity/index.ts +116 -116
  40. package/src/liquityV2/index.ts +295 -295
  41. package/src/llamaLend/index.ts +275 -275
  42. package/src/maker/index.ts +117 -117
  43. package/src/markets/aave/index.ts +152 -152
  44. package/src/markets/aave/marketAssets.ts +46 -46
  45. package/src/markets/compound/index.ts +213 -213
  46. package/src/markets/compound/marketsAssets.ts +82 -82
  47. package/src/markets/curveUsd/index.ts +69 -69
  48. package/src/markets/euler/index.ts +26 -26
  49. package/src/markets/fluid/index.ts +2454 -2454
  50. package/src/markets/index.ts +27 -27
  51. package/src/markets/liquityV2/index.ts +54 -54
  52. package/src/markets/llamaLend/contractAddresses.ts +141 -141
  53. package/src/markets/llamaLend/index.ts +235 -235
  54. package/src/markets/morphoBlue/index.ts +895 -895
  55. package/src/markets/spark/index.ts +29 -29
  56. package/src/markets/spark/marketAssets.ts +10 -10
  57. package/src/moneymarket/moneymarketCommonService.ts +80 -80
  58. package/src/morphoAaveV2/index.ts +256 -256
  59. package/src/morphoAaveV3/index.ts +630 -630
  60. package/src/morphoBlue/index.ts +202 -202
  61. package/src/multicall/index.ts +33 -33
  62. package/src/services/priceService.ts +130 -130
  63. package/src/services/utils.ts +59 -59
  64. package/src/setup.ts +8 -8
  65. package/src/spark/index.ts +460 -460
  66. package/src/staking/staking.ts +217 -217
  67. package/src/types/aave.ts +275 -275
  68. package/src/types/chickenBonds.ts +45 -45
  69. package/src/types/common.ts +84 -84
  70. package/src/types/compound.ts +133 -133
  71. package/src/types/curveUsd.ts +119 -119
  72. package/src/types/euler.ts +173 -173
  73. package/src/types/fluid.ts +330 -325
  74. package/src/types/index.ts +11 -11
  75. package/src/types/liquity.ts +30 -30
  76. package/src/types/liquityV2.ts +119 -119
  77. package/src/types/llamaLend.ts +155 -155
  78. package/src/types/maker.ts +50 -50
  79. package/src/types/morphoBlue.ts +194 -194
  80. package/src/types/spark.ts +135 -135
@@ -1,326 +1,331 @@
1
- import { NetworkNumber } from './common';
2
-
3
- export interface FluidMarketInfo {
4
- chainIds: number[]
5
- label: string
6
- shortLabel: string
7
- value: FluidVersions
8
- url: string
9
- id?: number
10
- marketAddress: string
11
- hasSmartCollateral: boolean
12
- hasSmartDebt: boolean
13
- collateralAsset0: string
14
- collateralAsset1?: string
15
- debtAsset0: string
16
- debtAsset1?: string
17
- ethBased?: boolean,
18
- btcBased?: boolean,
19
- wstETHBased?: boolean,
20
- stableBased?: boolean,
21
- type: FluidVaultType,
22
- isDeprecatingSoon?: boolean,
23
- }
24
-
25
- export enum FluidMainnetVersion {
26
- FLUID_ETH_USDC_1 = 'FLUID_ETH_USDC_1',
27
- FLUID_ETH_USDT_2 = 'FLUID_ETH_USDT_2',
28
- FLUID_WSTETH_ETH_3 = 'FLUID_WSTETH_ETH_3',
29
- FLUID_WSTETH_USDC_4 = 'FLUID_WSTETH_USDC_4',
30
- FLUID_WSTETH_USDT_5 = 'FLUID_WSTETH_USDT_5',
31
- FLUID_WEETH_WSTETH_6 = 'FLUID_WEETH_WSTETH_6',
32
- FLUID_SUSDE_USDC_7 = 'FLUID_SUSDE_USDC_7',
33
- FLUID_SUSDE_USDT_8 = 'FLUID_SUSDE_USDT_8',
34
- FLUID_WEETH_USDC_9 = 'FLUID_WEETH_USDC_9',
35
- FLUID_WEETH_USDT_10 = 'FLUID_WEETH_USDT_10',
36
- FLUID_ETH_USDC_11 = 'FLUID_ETH_USDC_11',
37
- FLUID_ETH_USDT_12 = 'FLUID_ETH_USDT_12',
38
- FLUID_WSTETH_ETH_13 = 'FLUID_WSTETH_ETH_13',
39
- FLUID_WSTETH_USDC_14 = 'FLUID_WSTETH_USDC_14',
40
- FLUID_WSTETH_USDT_15 = 'FLUID_WSTETH_USDT_15',
41
- FLUID_WEETH_WSTETH_16 = 'FLUID_WEETH_WSTETH_16',
42
- FLUID_SUSDE_USDC_17 = 'FLUID_SUSDE_USDC_17',
43
- FLUID_SUSDE_USDT_18 = 'FLUID_SUSDE_USDT_18',
44
- FLUID_WEETH_USDC_19 = 'FLUID_WEETH_USDC_19',
45
- FLUID_WEETH_USDT_20 = 'FLUID_WEETH_USDT_20',
46
- FLUID_WBTC_USDC_21 = 'FLUID_WBTC_USDC_21',
47
- FLUID_WBTC_USDT_22 = 'FLUID_WBTC_USDT_22',
48
- FLUID_WBTC_ETH_23 = 'FLUID_WBTC_ETH_23',
49
- FLUID_ETH_WBTC_24 = 'FLUID_ETH_WBTC_24',
50
- FLUID_WSTETH_WBTC_25 = 'FLUID_WSTETH_WBTC_25',
51
- FLUID_WEETH_WBTC_26 = 'FLUID_WEETH_WBTC_26',
52
- FLUID_WEETHS_WSTETH_27 = 'FLUID_WEETHS_WSTETH_27',
53
- FLUID_CBBTC_ETH_28 = 'FLUID_CBBTC_ETH_28',
54
- FLUID_CBBTC_USDC_29 = 'FLUID_CBBTC_USDC_29',
55
- FLUID_CBBTC_USDT_30 = 'FLUID_CBBTC_USDT_30',
56
- FLUID_ETH_CBBTC_31 = 'FLUID_ETH_CBBTC_31',
57
- FLUID_WEETH_CBBTC_32 = 'FLUID_WEETH_CBBTC_32',
58
- FLUID_WSTETH_CBBTC_33 = 'FLUID_WSTETH_CBBTC_33',
59
- FLUID_WSTETH_ETH_WSTETH_ETH_44 = 'FLUID_WSTETH_ETH_WSTETH_ETH_44',
60
- FLUID_ETH_USDC_USDT_45 = 'FLUID_ETH_USDC_USDT_45',
61
- FLUID_WSTETH_USDC_USDT_46 = 'FLUID_WSTETH_USDC_USDT_46',
62
- FLUID_WEETH_USDC_USDT_47 = 'FLUID_WEETH_USDC_USDT_47',
63
- FLUID_WBTC_USDC_USDT_48 = 'FLUID_WBTC_USDC_USDT_48',
64
- FLUID_CBBTC_USDC_USDT_49 = 'FLUID_CBBTC_USDC_USDT_49',
65
- FLUID_SUSDE_USDC_USDT_50 = 'FLUID_SUSDE_USDC_USDT_50',
66
- FLUID_WBTC_CBBTC_WBTC_CBBTC_51 = 'FLUID_WBTC_CBBTC_WBTC_CBBTC_51',
67
- FLUID_WBTC_CBBTC_USDC_52 = 'FLUID_WBTC_CBBTC_USDC_52',
68
- FLUID_WBTC_CBBTC_USDT_53 = 'FLUID_WBTC_CBBTC_USDT_53',
69
- FLUID_ETH_GHO_54 = 'FLUID_ETH_GHO_54',
70
- FLUID_WSTETH_GHO_55 = 'FLUID_WSTETH_GHO_55',
71
- FLUID_SUSDE_GHO_56 = 'FLUID_SUSDE_GHO_56',
72
- FLUID_WEETH_GHO_57 = 'FLUID_WEETH_GHO_57',
73
- FLUID_SUSDS_GHO_58 = 'FLUID_SUSDS_GHO_58',
74
- FLUID_WBTC_GHO_59 = 'FLUID_WBTC_GHO_59',
75
- FLUID_CBBTC_GHO_60 = 'FLUID_CBBTC_GHO_60',
76
- FLUID_GHO_USDC_GHO_USDC_61 = 'FLUID_GHO_USDC_GHO_USDC_61',
77
- FLUID_WEETH_ETH_WSTETH_74 = 'FLUID_WEETH_ETH_WSTETH_74',
78
- FLUID_USDC_ETH_USDC_ETH_77 = 'FLUID_USDC_ETH_USDC_ETH_77',
79
- FLUID_RSETH_ETH_WSTETH_78 = 'FLUID_RSETH_ETH_WSTETH_78',
80
- FLUID_RSETH_WSTETH_79 = 'FLUID_RSETH_WSTETH_79',
81
- FLUID_WEETHS_ETH_WSTETH_80 = 'FLUID_WEETHS_ETH_WSTETH_80',
82
- FLUID_SUSDE_USDT_USDT_92 = 'FLUID_SUSDE_USDT_USDT_92',
83
- FLUID_USDE_USDT_USDT_93 = 'FLUID_USDE_USDT_USDT_93',
84
- FLUID_LBTC_CBBTC_WBTC_97 = 'FLUID_LBTC_CBBTC_WBTC_97',
85
- FLUID_SUSDE_USDT_USDC_USDT_98 = 'FLUID_SUSDE_USDT_USDC_USDT_98',
86
- FLUID_USDE_USDT_USDC_USDT_99 = 'FLUID_USDE_USDT_USDC_USDT_99',
87
- FLUID_USDC_ETH_100 = 'FLUID_USDC_ETH_100',
88
- FLUID_USDC_WBTC_101 = 'FLUID_USDC_WBTC_101',
89
- FLUID_USDC_CBBTC_102 = 'FLUID_USDC_CBBTC_102',
90
- FLUID_EZETH_WSTETH_103 = 'FLUID_EZETH_WSTETH_103',
91
- FLUID_EZETH_ETH_WSTETH_104 = 'FLUID_EZETH_ETH_WSTETH_104',
92
- FLUID_LBTC_USDC_107 = 'FLUID_LBTC_USDC_107',
93
- FLUID_LBTC_USDT_108 = 'FLUID_LBTC_USDT_108',
94
- FLUID_LBTC_GHO_109 = 'FLUID_LBTC_GHO_109',
95
- FLUID_LBTC_CBBTC_CBBTC_114 = 'FLUID_LBTC_CBBTC_CBBTC_114',
96
- FLUID_WBTC_LBTC_WBTC_115 = 'FLUID_WBTC_LBTC_WBTC_115',
97
- }
98
-
99
- export enum FluidArbitrumVersion {
100
- FLUID_ETH_USDC_1_ARB = 'FLUID_ETH_USDC_1_ARB',
101
- FLUID_ETH_USDT_2_ARB = 'FLUID_ETH_USDT_2_ARB',
102
- FLUID_WSTETH_USDC_3_ARB = 'FLUID_WSTETH_USDC_3_ARB',
103
- FLUID_WSTETH_USDT_4_ARB = 'FLUID_WSTETH_USDT_4_ARB',
104
- FLUID_WSTETH_ETH_5_ARB = 'FLUID_WSTETH_ETH_5_ARB',
105
- FLUID_WEETH_WSTETH_6_ARB = 'FLUID_WEETH_WSTETH_6_ARB',
106
- FLUID_WEETH_USDC_7_ARB = 'FLUID_WEETH_USDC_7_ARB',
107
- FLUID_WEETH_USDT_8_ARB = 'FLUID_WEETH_USDT_8_ARB',
108
- FLUID_ETH_ARB_9_ARB = 'FLUID_ETH_ARB_9_ARB',
109
- FLUID_ARB_USDC_10_ARB = 'FLUID_ARB_USDC_10_ARB',
110
- FLUID_ARB_USDT_11_ARB = 'FLUID_ARB_USDT_11_ARB',
111
- FLUID_WBTC_USDC_12_ARB = 'FLUID_WBTC_USDC_12_ARB',
112
- FLUID_WBTC_USDT_13_ARB = 'FLUID_WBTC_USDT_13_ARB',
113
- FLUID_WSTETH_ETH_WSTETH_ETH_16_ARB = 'FLUID_WSTETH_ETH_WSTETH_ETH_16_ARB',
114
- FLUID_WEETH_ETH_WSTETH_17_ARB = 'FLUID_WEETH_ETH_WSTETH_17_ARB',
115
- FLUID_WBTC_ETH_18_ARB = 'FLUID_WBTC_ETH_18_ARB',
116
- FLUID_ETH_WBTC_19_ARB = 'FLUID_ETH_WBTC_19_ARB',
117
- FLUID_WSTETH_WBTC_20_ARB = 'FLUID_WSTETH_WBTC_20_ARB',
118
- FLUID_WEETH_WBTC_21_ARB = 'FLUID_WEETH_WBTC_21_ARB',
119
- FLUID_USDC_ETH_USDC_ETH_22_ARB = 'FLUID_USDC_ETH_USDC_ETH_22_ARB',
120
- FLUID_ETH_USDC_USDT_23_ARB = 'FLUID_ETH_USDC_USDT_23_ARB',
121
- FLUID_WSTETH_USDC_USDT_24_ARB = 'FLUID_WSTETH_USDC_USDT_24_ARB',
122
- FLUID_WEETH_USDC_USDT_25_ARB = 'FLUID_WEETH_USDC_USDT_25_ARB',
123
- FLUID_WBTC_USDC_USDT_26_ARB = 'FLUID_WBTC_USDC_USDT_26_ARB',
124
- FLUID_SUSDS_USDC_USDT_30_ARB = 'FLUID_SUSDS_USDC_USDT_30_ARB',
125
- }
126
-
127
- export enum FluidBaseVersions {
128
- FLUID_ETH_USDC_1_BASE = 'FLUID_ETH_USDC_1_BASE',
129
- FLUID_WSTETH_USDC_2_BASE = 'FLUID_WSTETH_USDC_2_BASE',
130
- FLUID_WSTETH_ETH_3_BASE = 'FLUID_WSTETH_ETH_3_BASE',
131
- FLUID_WEETH_WSTETH_4_BASE = 'FLUID_WEETH_WSTETH_4_BASE',
132
- FLUID_WEETH_USDC_5_BASE = 'FLUID_WEETH_USDC_5_BASE',
133
- FLUID_CBETH_USDC_6_BASE = 'FLUID_CBETH_USDC_6_BASE',
134
- FLUID_CBBTC_USDC_7_BASE = 'FLUID_CBBTC_USDC_7_BASE',
135
- FLUID_CBBTC_EURC_8_BASE = 'FLUID_CBBTC_EURC_8_BASE',
136
- FLUID_CBETH_EURC_9_BASE = 'FLUID_CBETH_EURC_9_BASE',
137
- FLUID_ETH_EURC_10_BASE = 'FLUID_ETH_EURC_10_BASE',
138
- FLUID_WEETH_EURC_11_BASE = 'FLUID_WEETH_EURC_11_BASE',
139
- FLUID_WSTETH_EURC_12_BASE = 'FLUID_WSTETH_EURC_12_BASE',
140
- FLUID_CBBTC_ETH_13_BASE = 'FLUID_CBBTC_ETH_13_BASE',
141
- FLUID_ETH_CBBTC_14_BASE = 'FLUID_ETH_CBBTC_14_BASE',
142
- FLUID_WEETH_CBBTC_15_BASE = 'FLUID_WEETH_CBBTC_15_BASE',
143
- FLUID_WSTETH_CBBTC_16_BASE = 'FLUID_WSTETH_CBBTC_16_BASE',
144
- FLUID_ETH_SUSDS_17_BASE = 'FLUID_ETH_SUSDS_17_BASE',
145
- FLUID_WSTETH_SUSDS_18_BASE = 'FLUID_WSTETH_SUSDS_18_BASE',
146
- FLUID_CBBTC_SUSDS_19_BASE = 'FLUID_CBBTC_SUSDS_19_BASE',
147
- FLUID_LBTC_USDC_21_BASE = 'FLUID_LBTC_USDC_21_BASE',
148
- FLUID_LBTC_SUSDS_22_BASE = 'FLUID_LBTC_SUSDS_22_BASE',
149
- }
150
-
151
- export type FluidVersions = FluidArbitrumVersion | FluidBaseVersions | FluidMainnetVersion;
152
-
153
- export enum FluidMainnetDepositToken {
154
- ETH = 'ETH',
155
- wstETH = 'wstETH',
156
- USDC = 'USDC',
157
- USDT = 'USDT',
158
- GHO = 'GHO',
159
- sUSDS = 'sUSDS',
160
- }
161
-
162
- export enum FluidArbitrumDepositToken {
163
- ETH = 'ETH',
164
- wstETH = 'wstETH',
165
- USDC = 'USDC',
166
- USDT = 'USDT',
167
- ARB = 'ARB',
168
- }
169
-
170
- export enum FluidBaseDepositToken {
171
- ETH = 'ETH',
172
- USDC = 'USDC',
173
- wstETH = 'wstETH',
174
- EURC = 'EURC',
175
- sUSDS = 'sUSDS',
176
- }
177
-
178
- export type FluidDepositTokenByNetwork = {
179
- [NetworkNumber.Eth]: FluidMainnetDepositToken;
180
- [NetworkNumber.Arb]: FluidArbitrumDepositToken;
181
- [NetworkNumber.Base]: FluidBaseDepositToken;
182
- };
183
-
184
- export enum FluidVaultType {
185
- T1 = 'T1',
186
- T2 = 'T2',
187
- T3 = 'T3',
188
- T4 = 'T4',
189
- Unknown = 'Unknown',
190
- }
191
-
192
- export interface FluidAssetData {
193
- symbol: string,
194
- address: string,
195
- price: string,
196
- incentiveSupplyApy?: string,
197
- incentiveSupplyToken?: string,
198
- incentiveBorrowApy?: string,
199
- incentiveBorrowToken?: string,
200
- totalSupply: string,
201
- totalBorrow: string,
202
- canBeSupplied: boolean,
203
- canBeBorrowed: boolean,
204
- supplyRate: string,
205
- borrowRate: string,
206
- utilization?: string,
207
- withdrawable?: string,
208
- borrowable?: string,
209
- tokenPerSupplyShare?: string,
210
- tokenPerBorrowShare?: string,
211
- supplyReserves?: string,
212
- borrowReserves?: string,
213
- }
214
- export type FluidAssetsData = { [key: string]: FluidAssetData };
215
-
216
- export interface InnerFluidMarketData {
217
- // Market specific data
218
- vaultId: number,
219
- isSmartColl: boolean,
220
- isSmartDebt: boolean,
221
- marketAddress: string,
222
- vaultType: FluidVaultType,
223
- vaultValue?: FluidVersions
224
- oracle: string,
225
- liquidationPenaltyPercent: string,
226
- collFactor: string,
227
- liquidationRatio: string,
228
- liqFactor: string,
229
- minRatio: string,
230
- collAsset0: string,
231
- collAsset1?: string,
232
- debtAsset0: string,
233
- debtAsset1?: string,
234
- totalPositions: string,
235
- totalSupplyVault: string,
236
- totalSupplyVaultUsd: string,
237
- totalBorrowVault: string,
238
- totalBorrowVaultUsd: string,
239
- withdrawalLimit?: string,
240
- withdrawableUntilLimit?: string,
241
- withdrawable: string,
242
- withdrawableDex?: string,
243
- borrowLimit?: string,
244
- borrowableUntilLimit?: string,
245
- borrowable: string,
246
- borrowableDex?: string,
247
- borrowLimitUtilization?: string,
248
- maxBorrowLimit?: string,
249
- baseBorrowLimit?: string,
250
- minimumBorrowing?: string,
251
- supplyRate: string,
252
- borrowRate: string,
253
- liquidationMaxLimit: string,
254
- oraclePrice: string,
255
- // T2 and T4 vaults
256
- collSharePrice?: string,
257
- maxSupplyShares?: string,
258
- maxSupplySharesUsd?: string,
259
- withdrawableUSD?: string,
260
- totalSupplyToken0?: string,
261
- totalSupplyToken1?: string,
262
- withdrawableToken0?: string,
263
- withdrawableToken1?: string,
264
- collDexFee?: string
265
- // T3 and T4 vaults
266
- debtSharePrice?: string,
267
- maxBorrowShares?: string,
268
- maxBorrowSharesUsd?: string,
269
- borrowableUSD?: string,
270
- borrowableToken0?: string,
271
- borrowableToken1?: string,
272
- totalBorrowToken0?: string,
273
- totalBorrowToken1?: string,
274
- borrowDexFee?: string,
275
- }
276
-
277
- export interface FluidMarketData {
278
- assetsData: FluidAssetsData,
279
- marketData: InnerFluidMarketData,
280
- }
281
-
282
- export interface FluidUsedAsset {
283
- symbol: string,
284
- collateral?: boolean,
285
- supplied: string,
286
- suppliedUsd: string,
287
- borrowed: string,
288
- borrowedUsd: string,
289
- isSupplied: boolean,
290
- isBorrowed: boolean,
291
- }
292
-
293
- export type FluidUsedAssets = { [key: string]: FluidUsedAsset };
294
-
295
- export interface FluidAggregatedVaultData {
296
- suppliedUsd: string,
297
- borrowedUsd: string,
298
- borrowLimitUsd: string,
299
- liquidationLimitUsd: string,
300
- leftToBorrowUsd: string,
301
- netApy: string,
302
- incentiveUsd: string,
303
- ratio: string,
304
- collRatio: string,
305
- minRatio: string
306
- totalInterestUsd: string,
307
- leveragedType?: string,
308
- leveragedAsset?: string,
309
- liquidationPrice?: string,
310
- leveragedLsdAssetRatio?: string,
311
- minCollRatio?: string,
312
- collLiquidationRatio?: string,
313
- }
314
-
315
- export interface BaseFluidVaultData {
316
- owner: string,
317
- vaultId: number,
318
- usedAssets: FluidUsedAssets,
319
- isSubscribedToAutomation: boolean,
320
- automationResubscribeRequired: boolean,
321
- lastUpdated: number,
322
- supplyShares?: string;
323
- borrowShares?: string;
324
- }
325
-
1
+ import { NetworkNumber } from './common';
2
+
3
+ export interface FluidMarketInfo {
4
+ chainIds: number[]
5
+ label: string
6
+ shortLabel: string
7
+ value: FluidVersions
8
+ url: string
9
+ id?: number
10
+ marketAddress: string
11
+ hasSmartCollateral: boolean
12
+ hasSmartDebt: boolean
13
+ collateralAsset0: string
14
+ collateralAsset1?: string
15
+ debtAsset0: string
16
+ debtAsset1?: string
17
+ ethBased?: boolean,
18
+ btcBased?: boolean,
19
+ wstETHBased?: boolean,
20
+ stableBased?: boolean,
21
+ type: FluidVaultType,
22
+ isDeprecatingSoon?: boolean,
23
+ }
24
+
25
+ export enum FluidMainnetVersion {
26
+ FLUID_ETH_USDC_1 = 'FLUID_ETH_USDC_1',
27
+ FLUID_ETH_USDT_2 = 'FLUID_ETH_USDT_2',
28
+ FLUID_WSTETH_ETH_3 = 'FLUID_WSTETH_ETH_3',
29
+ FLUID_WSTETH_USDC_4 = 'FLUID_WSTETH_USDC_4',
30
+ FLUID_WSTETH_USDT_5 = 'FLUID_WSTETH_USDT_5',
31
+ FLUID_WEETH_WSTETH_6 = 'FLUID_WEETH_WSTETH_6',
32
+ FLUID_SUSDE_USDC_7 = 'FLUID_SUSDE_USDC_7',
33
+ FLUID_SUSDE_USDT_8 = 'FLUID_SUSDE_USDT_8',
34
+ FLUID_WEETH_USDC_9 = 'FLUID_WEETH_USDC_9',
35
+ FLUID_WEETH_USDT_10 = 'FLUID_WEETH_USDT_10',
36
+ FLUID_ETH_USDC_11 = 'FLUID_ETH_USDC_11',
37
+ FLUID_ETH_USDT_12 = 'FLUID_ETH_USDT_12',
38
+ FLUID_WSTETH_ETH_13 = 'FLUID_WSTETH_ETH_13',
39
+ FLUID_WSTETH_USDC_14 = 'FLUID_WSTETH_USDC_14',
40
+ FLUID_WSTETH_USDT_15 = 'FLUID_WSTETH_USDT_15',
41
+ FLUID_WEETH_WSTETH_16 = 'FLUID_WEETH_WSTETH_16',
42
+ FLUID_SUSDE_USDC_17 = 'FLUID_SUSDE_USDC_17',
43
+ FLUID_SUSDE_USDT_18 = 'FLUID_SUSDE_USDT_18',
44
+ FLUID_WEETH_USDC_19 = 'FLUID_WEETH_USDC_19',
45
+ FLUID_WEETH_USDT_20 = 'FLUID_WEETH_USDT_20',
46
+ FLUID_WBTC_USDC_21 = 'FLUID_WBTC_USDC_21',
47
+ FLUID_WBTC_USDT_22 = 'FLUID_WBTC_USDT_22',
48
+ FLUID_WBTC_ETH_23 = 'FLUID_WBTC_ETH_23',
49
+ FLUID_ETH_WBTC_24 = 'FLUID_ETH_WBTC_24',
50
+ FLUID_WSTETH_WBTC_25 = 'FLUID_WSTETH_WBTC_25',
51
+ FLUID_WEETH_WBTC_26 = 'FLUID_WEETH_WBTC_26',
52
+ FLUID_WEETHS_WSTETH_27 = 'FLUID_WEETHS_WSTETH_27',
53
+ FLUID_CBBTC_ETH_28 = 'FLUID_CBBTC_ETH_28',
54
+ FLUID_CBBTC_USDC_29 = 'FLUID_CBBTC_USDC_29',
55
+ FLUID_CBBTC_USDT_30 = 'FLUID_CBBTC_USDT_30',
56
+ FLUID_ETH_CBBTC_31 = 'FLUID_ETH_CBBTC_31',
57
+ FLUID_WEETH_CBBTC_32 = 'FLUID_WEETH_CBBTC_32',
58
+ FLUID_WSTETH_CBBTC_33 = 'FLUID_WSTETH_CBBTC_33',
59
+ FLUID_WSTETH_ETH_WSTETH_ETH_44 = 'FLUID_WSTETH_ETH_WSTETH_ETH_44',
60
+ FLUID_ETH_USDC_USDT_45 = 'FLUID_ETH_USDC_USDT_45',
61
+ FLUID_WSTETH_USDC_USDT_46 = 'FLUID_WSTETH_USDC_USDT_46',
62
+ FLUID_WEETH_USDC_USDT_47 = 'FLUID_WEETH_USDC_USDT_47',
63
+ FLUID_WBTC_USDC_USDT_48 = 'FLUID_WBTC_USDC_USDT_48',
64
+ FLUID_CBBTC_USDC_USDT_49 = 'FLUID_CBBTC_USDC_USDT_49',
65
+ FLUID_SUSDE_USDC_USDT_50 = 'FLUID_SUSDE_USDC_USDT_50',
66
+ FLUID_WBTC_CBBTC_WBTC_CBBTC_51 = 'FLUID_WBTC_CBBTC_WBTC_CBBTC_51',
67
+ FLUID_WBTC_CBBTC_USDC_52 = 'FLUID_WBTC_CBBTC_USDC_52',
68
+ FLUID_WBTC_CBBTC_USDT_53 = 'FLUID_WBTC_CBBTC_USDT_53',
69
+ FLUID_ETH_GHO_54 = 'FLUID_ETH_GHO_54',
70
+ FLUID_WSTETH_GHO_55 = 'FLUID_WSTETH_GHO_55',
71
+ FLUID_SUSDE_GHO_56 = 'FLUID_SUSDE_GHO_56',
72
+ FLUID_WEETH_GHO_57 = 'FLUID_WEETH_GHO_57',
73
+ FLUID_SUSDS_GHO_58 = 'FLUID_SUSDS_GHO_58',
74
+ FLUID_WBTC_GHO_59 = 'FLUID_WBTC_GHO_59',
75
+ FLUID_CBBTC_GHO_60 = 'FLUID_CBBTC_GHO_60',
76
+ FLUID_GHO_USDC_GHO_USDC_61 = 'FLUID_GHO_USDC_GHO_USDC_61',
77
+ FLUID_WEETH_ETH_WSTETH_74 = 'FLUID_WEETH_ETH_WSTETH_74',
78
+ FLUID_USDC_ETH_USDC_ETH_77 = 'FLUID_USDC_ETH_USDC_ETH_77',
79
+ FLUID_RSETH_ETH_WSTETH_78 = 'FLUID_RSETH_ETH_WSTETH_78',
80
+ FLUID_RSETH_WSTETH_79 = 'FLUID_RSETH_WSTETH_79',
81
+ FLUID_WEETHS_ETH_WSTETH_80 = 'FLUID_WEETHS_ETH_WSTETH_80',
82
+ FLUID_SUSDE_USDT_USDT_92 = 'FLUID_SUSDE_USDT_USDT_92',
83
+ FLUID_USDE_USDT_USDT_93 = 'FLUID_USDE_USDT_USDT_93',
84
+ FLUID_LBTC_CBBTC_WBTC_97 = 'FLUID_LBTC_CBBTC_WBTC_97',
85
+ FLUID_SUSDE_USDT_USDC_USDT_98 = 'FLUID_SUSDE_USDT_USDC_USDT_98',
86
+ FLUID_USDE_USDT_USDC_USDT_99 = 'FLUID_USDE_USDT_USDC_USDT_99',
87
+ FLUID_USDC_ETH_100 = 'FLUID_USDC_ETH_100',
88
+ FLUID_USDC_WBTC_101 = 'FLUID_USDC_WBTC_101',
89
+ FLUID_USDC_CBBTC_102 = 'FLUID_USDC_CBBTC_102',
90
+ FLUID_EZETH_WSTETH_103 = 'FLUID_EZETH_WSTETH_103',
91
+ FLUID_EZETH_ETH_WSTETH_104 = 'FLUID_EZETH_ETH_WSTETH_104',
92
+ FLUID_LBTC_USDC_107 = 'FLUID_LBTC_USDC_107',
93
+ FLUID_LBTC_USDT_108 = 'FLUID_LBTC_USDT_108',
94
+ FLUID_LBTC_GHO_109 = 'FLUID_LBTC_GHO_109',
95
+ FLUID_LBTC_CBBTC_CBBTC_114 = 'FLUID_LBTC_CBBTC_CBBTC_114',
96
+ FLUID_WBTC_LBTC_WBTC_115 = 'FLUID_WBTC_LBTC_WBTC_115',
97
+ }
98
+
99
+ export enum FluidArbitrumVersion {
100
+ FLUID_ETH_USDC_1_ARB = 'FLUID_ETH_USDC_1_ARB',
101
+ FLUID_ETH_USDT_2_ARB = 'FLUID_ETH_USDT_2_ARB',
102
+ FLUID_WSTETH_USDC_3_ARB = 'FLUID_WSTETH_USDC_3_ARB',
103
+ FLUID_WSTETH_USDT_4_ARB = 'FLUID_WSTETH_USDT_4_ARB',
104
+ FLUID_WSTETH_ETH_5_ARB = 'FLUID_WSTETH_ETH_5_ARB',
105
+ FLUID_WEETH_WSTETH_6_ARB = 'FLUID_WEETH_WSTETH_6_ARB',
106
+ FLUID_WEETH_USDC_7_ARB = 'FLUID_WEETH_USDC_7_ARB',
107
+ FLUID_WEETH_USDT_8_ARB = 'FLUID_WEETH_USDT_8_ARB',
108
+ FLUID_ETH_ARB_9_ARB = 'FLUID_ETH_ARB_9_ARB',
109
+ FLUID_ARB_USDC_10_ARB = 'FLUID_ARB_USDC_10_ARB',
110
+ FLUID_ARB_USDT_11_ARB = 'FLUID_ARB_USDT_11_ARB',
111
+ FLUID_WBTC_USDC_12_ARB = 'FLUID_WBTC_USDC_12_ARB',
112
+ FLUID_WBTC_USDT_13_ARB = 'FLUID_WBTC_USDT_13_ARB',
113
+ FLUID_WSTETH_ETH_WSTETH_ETH_16_ARB = 'FLUID_WSTETH_ETH_WSTETH_ETH_16_ARB',
114
+ FLUID_WEETH_ETH_WSTETH_17_ARB = 'FLUID_WEETH_ETH_WSTETH_17_ARB',
115
+ FLUID_WBTC_ETH_18_ARB = 'FLUID_WBTC_ETH_18_ARB',
116
+ FLUID_ETH_WBTC_19_ARB = 'FLUID_ETH_WBTC_19_ARB',
117
+ FLUID_WSTETH_WBTC_20_ARB = 'FLUID_WSTETH_WBTC_20_ARB',
118
+ FLUID_WEETH_WBTC_21_ARB = 'FLUID_WEETH_WBTC_21_ARB',
119
+ FLUID_USDC_ETH_USDC_ETH_22_ARB = 'FLUID_USDC_ETH_USDC_ETH_22_ARB',
120
+ FLUID_ETH_USDC_USDT_23_ARB = 'FLUID_ETH_USDC_USDT_23_ARB',
121
+ FLUID_WSTETH_USDC_USDT_24_ARB = 'FLUID_WSTETH_USDC_USDT_24_ARB',
122
+ FLUID_WEETH_USDC_USDT_25_ARB = 'FLUID_WEETH_USDC_USDT_25_ARB',
123
+ FLUID_WBTC_USDC_USDT_26_ARB = 'FLUID_WBTC_USDC_USDT_26_ARB',
124
+ FLUID_SUSDS_USDC_USDT_30_ARB = 'FLUID_SUSDS_USDC_USDT_30_ARB',
125
+ }
126
+
127
+ export enum FluidBaseVersions {
128
+ FLUID_ETH_USDC_1_BASE = 'FLUID_ETH_USDC_1_BASE',
129
+ FLUID_WSTETH_USDC_2_BASE = 'FLUID_WSTETH_USDC_2_BASE',
130
+ FLUID_WSTETH_ETH_3_BASE = 'FLUID_WSTETH_ETH_3_BASE',
131
+ FLUID_WEETH_WSTETH_4_BASE = 'FLUID_WEETH_WSTETH_4_BASE',
132
+ FLUID_WEETH_USDC_5_BASE = 'FLUID_WEETH_USDC_5_BASE',
133
+ FLUID_CBETH_USDC_6_BASE = 'FLUID_CBETH_USDC_6_BASE',
134
+ FLUID_CBBTC_USDC_7_BASE = 'FLUID_CBBTC_USDC_7_BASE',
135
+ FLUID_CBBTC_EURC_8_BASE = 'FLUID_CBBTC_EURC_8_BASE',
136
+ FLUID_CBETH_EURC_9_BASE = 'FLUID_CBETH_EURC_9_BASE',
137
+ FLUID_ETH_EURC_10_BASE = 'FLUID_ETH_EURC_10_BASE',
138
+ FLUID_WEETH_EURC_11_BASE = 'FLUID_WEETH_EURC_11_BASE',
139
+ FLUID_WSTETH_EURC_12_BASE = 'FLUID_WSTETH_EURC_12_BASE',
140
+ FLUID_CBBTC_ETH_13_BASE = 'FLUID_CBBTC_ETH_13_BASE',
141
+ FLUID_ETH_CBBTC_14_BASE = 'FLUID_ETH_CBBTC_14_BASE',
142
+ FLUID_WEETH_CBBTC_15_BASE = 'FLUID_WEETH_CBBTC_15_BASE',
143
+ FLUID_WSTETH_CBBTC_16_BASE = 'FLUID_WSTETH_CBBTC_16_BASE',
144
+ FLUID_ETH_SUSDS_17_BASE = 'FLUID_ETH_SUSDS_17_BASE',
145
+ FLUID_WSTETH_SUSDS_18_BASE = 'FLUID_WSTETH_SUSDS_18_BASE',
146
+ FLUID_CBBTC_SUSDS_19_BASE = 'FLUID_CBBTC_SUSDS_19_BASE',
147
+ FLUID_LBTC_USDC_21_BASE = 'FLUID_LBTC_USDC_21_BASE',
148
+ FLUID_LBTC_SUSDS_22_BASE = 'FLUID_LBTC_SUSDS_22_BASE',
149
+ }
150
+
151
+ export type FluidVersions = FluidArbitrumVersion | FluidBaseVersions | FluidMainnetVersion;
152
+
153
+ export enum FluidMainnetDepositToken {
154
+ ETH = 'ETH',
155
+ wstETH = 'wstETH',
156
+ USDC = 'USDC',
157
+ USDT = 'USDT',
158
+ GHO = 'GHO',
159
+ sUSDS = 'sUSDS',
160
+ }
161
+
162
+ export enum FluidArbitrumDepositToken {
163
+ ETH = 'ETH',
164
+ wstETH = 'wstETH',
165
+ USDC = 'USDC',
166
+ USDT = 'USDT',
167
+ ARB = 'ARB',
168
+ }
169
+
170
+ export enum FluidBaseDepositToken {
171
+ ETH = 'ETH',
172
+ USDC = 'USDC',
173
+ wstETH = 'wstETH',
174
+ EURC = 'EURC',
175
+ sUSDS = 'sUSDS',
176
+ }
177
+
178
+ export type FluidDepositTokenByNetwork = {
179
+ [NetworkNumber.Eth]: FluidMainnetDepositToken;
180
+ [NetworkNumber.Arb]: FluidArbitrumDepositToken;
181
+ [NetworkNumber.Base]: FluidBaseDepositToken;
182
+ };
183
+
184
+ export enum FluidVaultType {
185
+ T1 = 'T1',
186
+ T2 = 'T2',
187
+ T3 = 'T3',
188
+ T4 = 'T4',
189
+ Unknown = 'Unknown',
190
+ }
191
+
192
+ export interface FluidAssetData {
193
+ symbol: string,
194
+ address: string,
195
+ price: string,
196
+ incentiveSupplyApy?: string,
197
+ incentiveSupplyToken?: string,
198
+ incentiveBorrowApy?: string,
199
+ incentiveBorrowToken?: string,
200
+ totalSupply: string,
201
+ totalBorrow: string,
202
+ canBeSupplied: boolean,
203
+ canBeBorrowed: boolean,
204
+ supplyRate: string,
205
+ borrowRate: string,
206
+ utilization?: string,
207
+ withdrawable?: string,
208
+ borrowable?: string,
209
+ tokenPerSupplyShare?: string,
210
+ tokenPerBorrowShare?: string,
211
+ supplyReserves?: string,
212
+ borrowReserves?: string,
213
+ }
214
+ export type FluidAssetsData = { [key: string]: FluidAssetData };
215
+
216
+ export interface InnerFluidMarketData {
217
+ // Market specific data
218
+ vaultId: number,
219
+ isSmartColl: boolean,
220
+ isSmartDebt: boolean,
221
+ marketAddress: string,
222
+ vaultType: FluidVaultType,
223
+ vaultValue?: FluidVersions
224
+ oracle: string,
225
+ liquidationPenaltyPercent: string,
226
+ collFactor: string,
227
+ liquidationRatio: string,
228
+ liqFactor: string,
229
+ minRatio: string,
230
+ collAsset0: string,
231
+ collAsset1?: string,
232
+ debtAsset0: string,
233
+ debtAsset1?: string,
234
+ totalPositions: string,
235
+ totalSupplyVault: string,
236
+ totalSupplyVaultUsd: string,
237
+ totalBorrowVault: string,
238
+ totalBorrowVaultUsd: string,
239
+ withdrawalLimit?: string,
240
+ withdrawableUntilLimit?: string,
241
+ withdrawable: string,
242
+ withdrawableDex?: string,
243
+ borrowLimit?: string,
244
+ borrowableUntilLimit?: string,
245
+ borrowable: string,
246
+ borrowableDex?: string,
247
+ borrowLimitUtilization?: string,
248
+ maxBorrowLimit?: string,
249
+ baseBorrowLimit?: string,
250
+ minimumBorrowing?: string,
251
+ supplyRate: string,
252
+ borrowRate: string,
253
+ liquidationMaxLimit: string,
254
+ oraclePrice: string,
255
+ incentiveBorrowRate?: string,
256
+ incentiveSupplyRate?: string,
257
+ // T2 and T4 vaults
258
+ collSharePrice?: string,
259
+ maxSupplyShares?: string,
260
+ maxSupplySharesUsd?: string,
261
+ withdrawableUSD?: string,
262
+ totalSupplyToken0?: string,
263
+ totalSupplyToken1?: string,
264
+ withdrawableToken0?: string,
265
+ withdrawableToken1?: string,
266
+ collDexFee?: string
267
+ // T3 and T4 vaults
268
+ debtSharePrice?: string,
269
+ maxBorrowShares?: string,
270
+ maxBorrowSharesUsd?: string,
271
+ borrowableUSD?: string,
272
+ borrowableToken0?: string,
273
+ borrowableToken1?: string,
274
+ totalBorrowToken0?: string,
275
+ totalBorrowToken1?: string,
276
+ borrowDexFee?: string,
277
+ // Dex vault
278
+ tradingBorrowRate?: string,
279
+ tradingSupplyRate?: string,
280
+ }
281
+
282
+ export interface FluidMarketData {
283
+ assetsData: FluidAssetsData,
284
+ marketData: InnerFluidMarketData,
285
+ }
286
+
287
+ export interface FluidUsedAsset {
288
+ symbol: string,
289
+ collateral?: boolean,
290
+ supplied: string,
291
+ suppliedUsd: string,
292
+ borrowed: string,
293
+ borrowedUsd: string,
294
+ isSupplied: boolean,
295
+ isBorrowed: boolean,
296
+ }
297
+
298
+ export type FluidUsedAssets = { [key: string]: FluidUsedAsset };
299
+
300
+ export interface FluidAggregatedVaultData {
301
+ suppliedUsd: string,
302
+ borrowedUsd: string,
303
+ borrowLimitUsd: string,
304
+ liquidationLimitUsd: string,
305
+ leftToBorrowUsd: string,
306
+ netApy: string,
307
+ incentiveUsd: string,
308
+ ratio: string,
309
+ collRatio: string,
310
+ minRatio: string
311
+ totalInterestUsd: string,
312
+ leveragedType?: string,
313
+ leveragedAsset?: string,
314
+ liquidationPrice?: string,
315
+ leveragedLsdAssetRatio?: string,
316
+ minCollRatio?: string,
317
+ collLiquidationRatio?: string,
318
+ }
319
+
320
+ export interface BaseFluidVaultData {
321
+ owner: string,
322
+ vaultId: number,
323
+ usedAssets: FluidUsedAssets,
324
+ isSubscribedToAutomation: boolean,
325
+ automationResubscribeRequired: boolean,
326
+ lastUpdated: number,
327
+ supplyShares?: string;
328
+ borrowShares?: string;
329
+ }
330
+
326
331
  export type FluidVaultData = FluidAggregatedVaultData & BaseFluidVaultData;