@defisaver/positions-sdk 0.0.200 → 0.0.201-fluid-dev

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 (125) hide show
  1. package/.mocharc.json +4 -4
  2. package/.nvmrc +1 -1
  3. package/README.md +69 -69
  4. package/cjs/config/contracts.d.ts +43 -0
  5. package/cjs/config/contracts.js +6 -0
  6. package/cjs/contracts.d.ts +1 -0
  7. package/cjs/contracts.js +2 -1
  8. package/cjs/fluid/index.d.ts +38 -0
  9. package/cjs/fluid/index.js +163 -0
  10. package/cjs/helpers/fluidHelpers/index.d.ts +6 -0
  11. package/cjs/helpers/fluidHelpers/index.js +40 -0
  12. package/cjs/helpers/index.d.ts +1 -0
  13. package/cjs/helpers/index.js +2 -1
  14. package/cjs/helpers/morphoBlueHelpers/index.js +66 -66
  15. package/cjs/index.d.ts +2 -1
  16. package/cjs/index.js +3 -1
  17. package/cjs/markets/aave/marketAssets.js +1 -1
  18. package/cjs/markets/fluid/index.d.ts +174 -0
  19. package/cjs/markets/fluid/index.js +1286 -0
  20. package/cjs/markets/index.d.ts +1 -0
  21. package/cjs/markets/index.js +3 -1
  22. package/cjs/types/contracts/generated/FluidView.d.ts +318 -0
  23. package/cjs/types/contracts/generated/FluidView.js +5 -0
  24. package/cjs/types/contracts/generated/index.d.ts +1 -0
  25. package/cjs/types/fluid.d.ts +225 -0
  26. package/cjs/types/fluid.js +129 -0
  27. package/cjs/types/index.d.ts +1 -0
  28. package/cjs/types/index.js +1 -0
  29. package/esm/config/contracts.d.ts +43 -0
  30. package/esm/config/contracts.js +6 -0
  31. package/esm/contracts.d.ts +1 -0
  32. package/esm/contracts.js +1 -0
  33. package/esm/fluid/index.d.ts +38 -0
  34. package/esm/fluid/index.js +153 -0
  35. package/esm/helpers/fluidHelpers/index.d.ts +6 -0
  36. package/esm/helpers/fluidHelpers/index.js +33 -0
  37. package/esm/helpers/index.d.ts +1 -0
  38. package/esm/helpers/index.js +1 -0
  39. package/esm/helpers/morphoBlueHelpers/index.js +66 -66
  40. package/esm/index.d.ts +2 -1
  41. package/esm/index.js +2 -1
  42. package/esm/markets/aave/marketAssets.js +1 -1
  43. package/esm/markets/fluid/index.d.ts +174 -0
  44. package/esm/markets/fluid/index.js +1196 -0
  45. package/esm/markets/index.d.ts +1 -0
  46. package/esm/markets/index.js +1 -0
  47. package/esm/types/contracts/generated/FluidView.d.ts +318 -0
  48. package/esm/types/contracts/generated/FluidView.js +4 -0
  49. package/esm/types/contracts/generated/index.d.ts +1 -0
  50. package/esm/types/fluid.d.ts +225 -0
  51. package/esm/types/fluid.js +126 -0
  52. package/esm/types/index.d.ts +1 -0
  53. package/esm/types/index.js +1 -0
  54. package/package.json +49 -49
  55. package/src/aaveV2/index.ts +227 -227
  56. package/src/aaveV3/index.ts +625 -625
  57. package/src/assets/index.ts +60 -60
  58. package/src/chickenBonds/index.ts +123 -123
  59. package/src/compoundV2/index.ts +220 -220
  60. package/src/compoundV3/index.ts +291 -291
  61. package/src/config/contracts.js +1115 -1109
  62. package/src/constants/index.ts +6 -6
  63. package/src/contracts.ts +134 -133
  64. package/src/curveUsd/index.ts +229 -229
  65. package/src/eulerV2/index.ts +303 -303
  66. package/src/exchange/index.ts +17 -17
  67. package/src/fluid/index.ts +220 -0
  68. package/src/helpers/aaveHelpers/index.ts +198 -198
  69. package/src/helpers/chickenBondsHelpers/index.ts +23 -23
  70. package/src/helpers/compoundHelpers/index.ts +246 -246
  71. package/src/helpers/curveUsdHelpers/index.ts +40 -40
  72. package/src/helpers/eulerHelpers/index.ts +232 -232
  73. package/src/helpers/fluidHelpers/index.ts +54 -0
  74. package/src/helpers/index.ts +11 -10
  75. package/src/helpers/liquityV2Helpers/index.ts +79 -79
  76. package/src/helpers/llamaLendHelpers/index.ts +53 -53
  77. package/src/helpers/makerHelpers/index.ts +94 -94
  78. package/src/helpers/morphoBlueHelpers/index.ts +365 -365
  79. package/src/helpers/sparkHelpers/index.ts +150 -150
  80. package/src/index.ts +52 -50
  81. package/src/liquity/index.ts +116 -116
  82. package/src/liquityV2/index.ts +227 -227
  83. package/src/llamaLend/index.ts +275 -275
  84. package/src/maker/index.ts +117 -117
  85. package/src/markets/aave/index.ts +152 -152
  86. package/src/markets/aave/marketAssets.ts +44 -44
  87. package/src/markets/compound/index.ts +213 -213
  88. package/src/markets/compound/marketsAssets.ts +82 -82
  89. package/src/markets/curveUsd/index.ts +69 -69
  90. package/src/markets/euler/index.ts +26 -26
  91. package/src/markets/fluid/index.ts +1290 -0
  92. package/src/markets/index.ts +25 -24
  93. package/src/markets/liquityV2/index.ts +43 -43
  94. package/src/markets/llamaLend/contractAddresses.ts +141 -141
  95. package/src/markets/llamaLend/index.ts +235 -235
  96. package/src/markets/morphoBlue/index.ts +895 -895
  97. package/src/markets/spark/index.ts +29 -29
  98. package/src/markets/spark/marketAssets.ts +10 -10
  99. package/src/moneymarket/moneymarketCommonService.ts +80 -80
  100. package/src/morphoAaveV2/index.ts +256 -256
  101. package/src/morphoAaveV3/index.ts +631 -631
  102. package/src/morphoBlue/index.ts +204 -204
  103. package/src/multicall/index.ts +22 -22
  104. package/src/services/dsrService.ts +15 -15
  105. package/src/services/priceService.ts +62 -62
  106. package/src/services/utils.ts +56 -56
  107. package/src/setup.ts +8 -8
  108. package/src/spark/index.ts +461 -461
  109. package/src/staking/staking.ts +220 -220
  110. package/src/types/aave.ts +271 -271
  111. package/src/types/chickenBonds.ts +45 -45
  112. package/src/types/common.ts +84 -84
  113. package/src/types/compound.ts +131 -131
  114. package/src/types/contracts/generated/FluidView.ts +399 -0
  115. package/src/types/contracts/generated/index.ts +1 -0
  116. package/src/types/curveUsd.ts +118 -118
  117. package/src/types/euler.ts +171 -171
  118. package/src/types/fluid.ts +240 -0
  119. package/src/types/index.ts +12 -11
  120. package/src/types/liquity.ts +30 -30
  121. package/src/types/liquityV2.ts +118 -118
  122. package/src/types/llamaLend.ts +155 -155
  123. package/src/types/maker.ts +50 -50
  124. package/src/types/morphoBlue.ts +192 -192
  125. package/src/types/spark.ts +131 -131
@@ -0,0 +1,399 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+
5
+ import type BN from "bn.js";
6
+ import type { ContractOptions } from "web3-eth-contract";
7
+ import type { EventLog } from "web3-core";
8
+ import type { EventEmitter } from "events";
9
+ import type {
10
+ Callback,
11
+ PayableTransactionObject,
12
+ NonPayableTransactionObject,
13
+ BlockType,
14
+ ContractEventLog,
15
+ BaseContract,
16
+ } from "./types";
17
+
18
+ export interface EventOptions {
19
+ filter?: object;
20
+ fromBlock?: BlockType;
21
+ topics?: string[];
22
+ }
23
+
24
+ export declare namespace FluidView {
25
+ export type UserPositionStruct =
26
+ | [
27
+ number | string | BN,
28
+ string,
29
+ boolean,
30
+ boolean,
31
+ number | string | BN,
32
+ number | string | BN,
33
+ number | string | BN,
34
+ number | string | BN,
35
+ number | string | BN
36
+ ]
37
+ | {
38
+ nftId: number | string | BN;
39
+ owner: string;
40
+ isLiquidated: boolean;
41
+ isSupplyPosition: boolean;
42
+ supply: number | string | BN;
43
+ borrow: number | string | BN;
44
+ ratio: number | string | BN;
45
+ tick: number | string | BN;
46
+ tickId: number | string | BN;
47
+ };
48
+
49
+ export type UserPositionStructOutputArray = [
50
+ string,
51
+ string,
52
+ boolean,
53
+ boolean,
54
+ string,
55
+ string,
56
+ string,
57
+ string,
58
+ string
59
+ ];
60
+ export type UserPositionStructOutputStruct = {
61
+ nftId: string;
62
+ owner: string;
63
+ isLiquidated: boolean;
64
+ isSupplyPosition: boolean;
65
+ supply: string;
66
+ borrow: string;
67
+ ratio: string;
68
+ tick: string;
69
+ tickId: string;
70
+ };
71
+ export type UserPositionStructOutput = UserPositionStructOutputArray &
72
+ UserPositionStructOutputStruct;
73
+
74
+ export type VaultDataStruct =
75
+ | [
76
+ string,
77
+ number | string | BN,
78
+ number | string | BN,
79
+ boolean,
80
+ boolean,
81
+ string,
82
+ string,
83
+ string,
84
+ string,
85
+ number | string | BN,
86
+ number | string | BN,
87
+ number | string | BN,
88
+ number | string | BN,
89
+ number | string | BN,
90
+ number | string | BN,
91
+ number | string | BN,
92
+ number | string | BN,
93
+ number | string | BN,
94
+ number | string | BN,
95
+ string,
96
+ number | string | BN,
97
+ number | string | BN,
98
+ number | string | BN,
99
+ number | string | BN,
100
+ number | string | BN,
101
+ number | string | BN,
102
+ number | string | BN,
103
+ number | string | BN,
104
+ number | string | BN,
105
+ number | string | BN,
106
+ number | string | BN,
107
+ number | string | BN,
108
+ number | string | BN,
109
+ number | string | BN,
110
+ number | string | BN,
111
+ number | string | BN,
112
+ number | string | BN,
113
+ number | string | BN,
114
+ number | string | BN,
115
+ number | string | BN,
116
+ number | string | BN,
117
+ number | string | BN,
118
+ number | string | BN,
119
+ number | string | BN,
120
+ number | string | BN,
121
+ number | string | BN,
122
+ number | string | BN,
123
+ number | string | BN,
124
+ number | string | BN,
125
+ number | string | BN
126
+ ]
127
+ | {
128
+ vault: string;
129
+ vaultId: number | string | BN;
130
+ vaultType: number | string | BN;
131
+ isSmartColl: boolean;
132
+ isSmartDebt: boolean;
133
+ supplyToken0: string;
134
+ supplyToken1: string;
135
+ borrowToken0: string;
136
+ borrowToken1: string;
137
+ supplyToken0Decimals: number | string | BN;
138
+ supplyToken1Decimals: number | string | BN;
139
+ borrowToken0Decimals: number | string | BN;
140
+ borrowToken1Decimals: number | string | BN;
141
+ collateralFactor: number | string | BN;
142
+ liquidationThreshold: number | string | BN;
143
+ liquidationMaxLimit: number | string | BN;
144
+ withdrawalGap: number | string | BN;
145
+ liquidationPenalty: number | string | BN;
146
+ borrowFee: number | string | BN;
147
+ oracle: string;
148
+ oraclePriceOperate: number | string | BN;
149
+ oraclePriceLiquidate: number | string | BN;
150
+ priceOfSupplyToken0InUSD: number | string | BN;
151
+ priceOfSupplyToken1InUSD: number | string | BN;
152
+ priceOfBorrowToken0InUSD: number | string | BN;
153
+ priceOfBorrowToken1InUSD: number | string | BN;
154
+ vaultSupplyExchangePrice: number | string | BN;
155
+ vaultBorrowExchangePrice: number | string | BN;
156
+ supplyRateVault: number | string | BN;
157
+ borrowRateVault: number | string | BN;
158
+ rewardsOrFeeRateSupply: number | string | BN;
159
+ rewardsOrFeeRateBorrow: number | string | BN;
160
+ totalPositions: number | string | BN;
161
+ totalSupplyVault: number | string | BN;
162
+ totalBorrowVault: number | string | BN;
163
+ withdrawalLimit: number | string | BN;
164
+ withdrawableUntilLimit: number | string | BN;
165
+ withdrawable: number | string | BN;
166
+ baseWithdrawalLimit: number | string | BN;
167
+ withdrawExpandPercent: number | string | BN;
168
+ withdrawExpandDuration: number | string | BN;
169
+ borrowLimit: number | string | BN;
170
+ borrowableUntilLimit: number | string | BN;
171
+ borrowable: number | string | BN;
172
+ borrowLimitUtilization: number | string | BN;
173
+ maxBorrowLimit: number | string | BN;
174
+ borrowExpandPercent: number | string | BN;
175
+ borrowExpandDuration: number | string | BN;
176
+ baseBorrowLimit: number | string | BN;
177
+ minimumBorrowing: number | string | BN;
178
+ };
179
+
180
+ export type VaultDataStructOutputArray = [
181
+ string,
182
+ string,
183
+ string,
184
+ boolean,
185
+ boolean,
186
+ string,
187
+ string,
188
+ string,
189
+ string,
190
+ string,
191
+ string,
192
+ string,
193
+ string,
194
+ string,
195
+ string,
196
+ string,
197
+ string,
198
+ string,
199
+ string,
200
+ string,
201
+ string,
202
+ string,
203
+ string,
204
+ string,
205
+ string,
206
+ string,
207
+ string,
208
+ string,
209
+ string,
210
+ string,
211
+ string,
212
+ string,
213
+ string,
214
+ string,
215
+ string,
216
+ string,
217
+ string,
218
+ string,
219
+ string,
220
+ string,
221
+ string,
222
+ string,
223
+ string,
224
+ string,
225
+ string,
226
+ string,
227
+ string,
228
+ string,
229
+ string,
230
+ string
231
+ ];
232
+ export type VaultDataStructOutputStruct = {
233
+ vault: string;
234
+ vaultId: string;
235
+ vaultType: string;
236
+ isSmartColl: boolean;
237
+ isSmartDebt: boolean;
238
+ supplyToken0: string;
239
+ supplyToken1: string;
240
+ borrowToken0: string;
241
+ borrowToken1: string;
242
+ supplyToken0Decimals: string;
243
+ supplyToken1Decimals: string;
244
+ borrowToken0Decimals: string;
245
+ borrowToken1Decimals: string;
246
+ collateralFactor: string;
247
+ liquidationThreshold: string;
248
+ liquidationMaxLimit: string;
249
+ withdrawalGap: string;
250
+ liquidationPenalty: string;
251
+ borrowFee: string;
252
+ oracle: string;
253
+ oraclePriceOperate: string;
254
+ oraclePriceLiquidate: string;
255
+ priceOfSupplyToken0InUSD: string;
256
+ priceOfSupplyToken1InUSD: string;
257
+ priceOfBorrowToken0InUSD: string;
258
+ priceOfBorrowToken1InUSD: string;
259
+ vaultSupplyExchangePrice: string;
260
+ vaultBorrowExchangePrice: string;
261
+ supplyRateVault: string;
262
+ borrowRateVault: string;
263
+ rewardsOrFeeRateSupply: string;
264
+ rewardsOrFeeRateBorrow: string;
265
+ totalPositions: string;
266
+ totalSupplyVault: string;
267
+ totalBorrowVault: string;
268
+ withdrawalLimit: string;
269
+ withdrawableUntilLimit: string;
270
+ withdrawable: string;
271
+ baseWithdrawalLimit: string;
272
+ withdrawExpandPercent: string;
273
+ withdrawExpandDuration: string;
274
+ borrowLimit: string;
275
+ borrowableUntilLimit: string;
276
+ borrowable: string;
277
+ borrowLimitUtilization: string;
278
+ maxBorrowLimit: string;
279
+ borrowExpandPercent: string;
280
+ borrowExpandDuration: string;
281
+ baseBorrowLimit: string;
282
+ minimumBorrowing: string;
283
+ };
284
+ export type VaultDataStructOutput = VaultDataStructOutputArray &
285
+ VaultDataStructOutputStruct;
286
+ }
287
+
288
+ export interface FluidView extends BaseContract {
289
+ constructor(
290
+ jsonInterface: any[],
291
+ address?: string,
292
+ options?: ContractOptions
293
+ ): FluidView;
294
+ clone(): FluidView;
295
+ methods: {
296
+ feedRegistry(): NonPayableTransactionObject<string>;
297
+
298
+ getAaveTokenPriceInETH(
299
+ _tokenAddr: string
300
+ ): NonPayableTransactionObject<string>;
301
+
302
+ getAaveTokenPriceInUSD(
303
+ _tokenAddr: string
304
+ ): NonPayableTransactionObject<string>;
305
+
306
+ getAaveV3TokenPriceInETH(
307
+ _tokenAddr: string
308
+ ): NonPayableTransactionObject<string>;
309
+
310
+ getAaveV3TokenPriceInUSD(
311
+ _tokenAddr: string
312
+ ): NonPayableTransactionObject<string>;
313
+
314
+ getAddrForChainlinkOracle(
315
+ _inputTokenAddr: string
316
+ ): NonPayableTransactionObject<string>;
317
+
318
+ getChainlinkPriceInETH(
319
+ _inputTokenAddr: string
320
+ ): NonPayableTransactionObject<string>;
321
+
322
+ getChainlinkPriceInUSD(
323
+ _inputTokenAddr: string,
324
+ _useFallback: boolean
325
+ ): NonPayableTransactionObject<string>;
326
+
327
+ getPositionByNftId(
328
+ _nftId: number | string | BN
329
+ ): NonPayableTransactionObject<
330
+ [FluidView.UserPositionStructOutput, FluidView.VaultDataStructOutput] & {
331
+ position: FluidView.UserPositionStructOutput;
332
+ vault: FluidView.VaultDataStructOutput;
333
+ }
334
+ >;
335
+
336
+ getPriceInETH(_inputTokenAddr: string): NonPayableTransactionObject<string>;
337
+
338
+ getPriceInUSD(_inputTokenAddr: string): NonPayableTransactionObject<string>;
339
+
340
+ getRatio(_nftId: number | string | BN): NonPayableTransactionObject<string>;
341
+
342
+ "getRoundInfo(address,uint80,address)"(
343
+ _inputTokenAddr: string,
344
+ _roundId: number | string | BN,
345
+ aggregator: string
346
+ ): NonPayableTransactionObject<
347
+ [string, string] & { updateTimestamp: string }
348
+ >;
349
+
350
+ "getRoundInfo(address,uint80)"(
351
+ _inputTokenAddr: string,
352
+ _roundId: number | string | BN
353
+ ): NonPayableTransactionObject<
354
+ [string, string] & { updateTimestamp: string }
355
+ >;
356
+
357
+ getSparkTokenPriceInETH(
358
+ _tokenAddr: string
359
+ ): NonPayableTransactionObject<string>;
360
+
361
+ getSparkTokenPriceInUSD(
362
+ _tokenAddr: string
363
+ ): NonPayableTransactionObject<string>;
364
+
365
+ getUserNftIds(_user: string): NonPayableTransactionObject<string[]>;
366
+
367
+ getUserPositions(
368
+ _user: string
369
+ ): NonPayableTransactionObject<
370
+ [
371
+ FluidView.UserPositionStructOutput[],
372
+ FluidView.VaultDataStructOutput[]
373
+ ] & {
374
+ positions: FluidView.UserPositionStructOutput[];
375
+ vaults: FluidView.VaultDataStructOutput[];
376
+ }
377
+ >;
378
+
379
+ getVaultAddresses(
380
+ _ids: number | string | BN[],
381
+ _fetchAll: boolean
382
+ ): NonPayableTransactionObject<string[]>;
383
+
384
+ getVaultData(
385
+ _vault: string
386
+ ): NonPayableTransactionObject<FluidView.VaultDataStructOutput>;
387
+
388
+ getWBtcPrice(
389
+ _btcPrice: number | string | BN
390
+ ): NonPayableTransactionObject<string>;
391
+
392
+ getWStEthPrice(
393
+ _stEthPrice: number | string | BN
394
+ ): NonPayableTransactionObject<string>;
395
+ };
396
+ events: {
397
+ allEvents(options?: EventOptions, cb?: Callback<EventLog>): EventEmitter;
398
+ };
399
+ }
@@ -32,6 +32,7 @@ export type { ETHPriceFeed } from "./ETHPriceFeed";
32
32
  export type { Erc20 } from "./Erc20";
33
33
  export type { EulerV2View } from "./EulerV2View";
34
34
  export type { FeedRegistry } from "./FeedRegistry";
35
+ export type { FluidView } from "./FluidView";
35
36
  export type { GHO } from "./GHO";
36
37
  export type { GhoDiscountRateStrategy } from "./GhoDiscountRateStrategy";
37
38
  export type { IAToken } from "./IAToken";
@@ -1,119 +1,119 @@
1
- import { 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: string,
27
- ammAddress: string,
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
- }
69
-
70
- export interface CrvUSDAggregatedPositionData {
71
- ratio: string,
72
- supplied: string,
73
- suppliedUsd: string,
74
- borrowedUsd: string,
75
- borrowed: string,
76
- safetyRatio: string,
77
- borrowLimitUsd: string,
78
- minAllowedRatio: number,
79
- collFactor: string,
80
- leveragedType: string,
81
- leveragedAsset?: string,
82
- liquidationPrice?: string,
83
- }
84
-
85
- export interface CrvUSDUsedAsset {
86
- isSupplied: boolean,
87
- supplied: string,
88
- suppliedUsd: string,
89
- borrowed: string,
90
- borrowedUsd: string,
91
- isBorrowed: boolean,
92
- symbol: string,
93
- collateral: boolean,
94
- price: string,
95
- interestRate?: string,
96
- }
97
-
98
- export interface CrvUSDUsedAssets {
99
- [key: string]: CrvUSDUsedAsset,
100
- }
101
-
102
- export interface CrvUSDUserData {
103
- debtAmount: string,
104
- health: string,
105
- healthPercent: string,
106
- priceHigh: string,
107
- priceLow: string,
108
- liquidationDiscount: string,
109
- numOfBands: string,
110
- usedAssets: CrvUSDUsedAssets,
111
- status: CrvUSDStatus,
112
- ratio: string,
113
- supplied: string,
114
- suppliedUsd: string,
115
- borrowedUsd: string,
116
- borrowed: string,
117
- safetyRatio: string,
118
- userBands: UserBandData[],
1
+ import { 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: string,
27
+ ammAddress: string,
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
+ }
69
+
70
+ export interface CrvUSDAggregatedPositionData {
71
+ ratio: string,
72
+ supplied: string,
73
+ suppliedUsd: string,
74
+ borrowedUsd: string,
75
+ borrowed: string,
76
+ safetyRatio: string,
77
+ borrowLimitUsd: string,
78
+ minAllowedRatio: number,
79
+ collFactor: string,
80
+ leveragedType: string,
81
+ leveragedAsset?: string,
82
+ liquidationPrice?: string,
83
+ }
84
+
85
+ export interface CrvUSDUsedAsset {
86
+ isSupplied: boolean,
87
+ supplied: string,
88
+ suppliedUsd: string,
89
+ borrowed: string,
90
+ borrowedUsd: string,
91
+ isBorrowed: boolean,
92
+ symbol: string,
93
+ collateral: boolean,
94
+ price: string,
95
+ interestRate?: string,
96
+ }
97
+
98
+ export interface CrvUSDUsedAssets {
99
+ [key: string]: CrvUSDUsedAsset,
100
+ }
101
+
102
+ export interface CrvUSDUserData {
103
+ debtAmount: string,
104
+ health: string,
105
+ healthPercent: string,
106
+ priceHigh: string,
107
+ priceLow: string,
108
+ liquidationDiscount: string,
109
+ numOfBands: string,
110
+ usedAssets: CrvUSDUsedAssets,
111
+ status: CrvUSDStatus,
112
+ ratio: string,
113
+ supplied: string,
114
+ suppliedUsd: string,
115
+ borrowedUsd: string,
116
+ borrowed: string,
117
+ safetyRatio: string,
118
+ userBands: UserBandData[],
119
119
  }