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

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 (40) hide show
  1. package/cjs/config/contracts.d.ts +5 -5
  2. package/cjs/config/contracts.js +2 -2
  3. package/cjs/fluid/index.d.ts +1 -0
  4. package/cjs/fluid/index.js +65 -12
  5. package/cjs/markets/fluid/index.d.ts +2 -0
  6. package/cjs/markets/fluid/index.js +345 -1
  7. package/cjs/markets/index.d.ts +1 -1
  8. package/cjs/markets/index.js +3 -1
  9. package/cjs/morphoBlue/index.js +1 -2
  10. package/cjs/multicall/index.d.ts +1 -0
  11. package/cjs/multicall/index.js +8 -1
  12. package/cjs/services/utils.d.ts +1 -0
  13. package/cjs/services/utils.js +3 -1
  14. package/cjs/types/contracts/generated/FluidView.d.ts +0 -42
  15. package/cjs/types/fluid.d.ts +11 -0
  16. package/esm/config/contracts.d.ts +5 -5
  17. package/esm/config/contracts.js +2 -2
  18. package/esm/fluid/index.d.ts +1 -0
  19. package/esm/fluid/index.js +65 -13
  20. package/esm/markets/fluid/index.d.ts +2 -0
  21. package/esm/markets/fluid/index.js +343 -1
  22. package/esm/markets/index.d.ts +1 -1
  23. package/esm/markets/index.js +1 -1
  24. package/esm/morphoBlue/index.js +1 -2
  25. package/esm/multicall/index.d.ts +1 -0
  26. package/esm/multicall/index.js +6 -0
  27. package/esm/services/utils.d.ts +1 -0
  28. package/esm/services/utils.js +1 -0
  29. package/esm/types/contracts/generated/FluidView.d.ts +0 -42
  30. package/esm/types/fluid.d.ts +11 -0
  31. package/package.json +5 -3
  32. package/src/config/contracts.js +2 -2
  33. package/src/fluid/index.ts +69 -12
  34. package/src/markets/fluid/index.ts +347 -2
  35. package/src/markets/index.ts +1 -1
  36. package/src/morphoBlue/index.ts +1 -3
  37. package/src/multicall/index.ts +10 -1
  38. package/src/services/utils.ts +3 -1
  39. package/src/types/contracts/generated/FluidView.ts +0 -82
  40. package/src/types/fluid.ts +11 -0
@@ -22,4 +22,4 @@ export { MorphoBlueMarkets, findMorphoBlueMarket } from './morphoBlue';
22
22
  export { LlamaLendMarkets } from './llamaLend';
23
23
  export { LiquityV2Markets } from './liquityV2';
24
24
  export { EulerV2Markets } from './euler';
25
- export { FluidMarkets } from './fluid';
25
+ export { FluidMarkets, getFluidVersionsDataForNetwork, getFluidMarketInfoById } from './fluid';
@@ -10,14 +10,12 @@ import {
10
10
  } from '../types';
11
11
  import { USD_QUOTE, WAD } from '../constants';
12
12
  import { getStakingApy, STAKING_ASSETS } from '../staking';
13
- import { wethToEth } from '../services/utils';
13
+ import { isMainnetNetwork, wethToEth } from '../services/utils';
14
14
  import {
15
15
  getBorrowRate, getMorphoBlueAggregatedPositionData, getRewardsForMarket, getSupplyRate,
16
16
  } from '../helpers/morphoBlueHelpers';
17
17
  import { getChainlinkAssetAddress } from '../services/priceService';
18
18
 
19
- const isMainnetNetwork = (network: NetworkNumber) => network === NetworkNumber.Eth;
20
-
21
19
  export async function getMorphoBlueMarketData(web3: Web3, network: NetworkNumber, selectedMarket: MorphoBlueMarketData, mainnetWeb3: Web3): Promise<MorphoBlueMarketInfo> {
22
20
  const {
23
21
  loanToken, collateralToken, oracle, irm, lltv, oracleType,
@@ -1,4 +1,5 @@
1
1
  import Web3 from 'web3';
2
+ import { chunk } from 'lodash';
2
3
  import { UniMulticallContract } from '../contracts';
3
4
  import { NetworkNumber } from '../types/common';
4
5
 
@@ -20,4 +21,12 @@ export const multicall = async (calls: any[], web3: Web3, network: NetworkNumber
20
21
  });
21
22
 
22
23
  return formattedResult;
23
- };
24
+ };
25
+
26
+ export const chunkAndMulticall = async (calls: any[], chunkSize: number, blockNumber: 'latest' | number = 'latest', web3: Web3, network: NetworkNumber = NetworkNumber.Eth) => {
27
+ const chunkedCalls = chunk(calls, chunkSize);
28
+
29
+ const results = await Promise.all(chunkedCalls.map((cnk) => multicall(cnk, web3, network, blockNumber)));
30
+
31
+ return results.flat(1);
32
+ };
@@ -54,4 +54,6 @@ export const isEnabledOnBitmap = (bitmap: number, assetId: number) => (BigInt(bi
54
54
 
55
55
  export const MAXUINT:string = '115792089237316195423570985008687907853269984665640564039457584007913129639935';
56
56
 
57
- export const isMaxuint = (amount: string) => compareAddresses(MAXUINT, amount);
57
+ export const isMaxuint = (amount: string) => compareAddresses(MAXUINT, amount);
58
+
59
+ export const isMainnetNetwork = (network: NetworkNumber) => network === NetworkNumber.Eth;
@@ -118,10 +118,6 @@ export declare namespace FluidView {
118
118
  number | string | BN,
119
119
  number | string | BN,
120
120
  number | string | BN,
121
- number | string | BN,
122
- number | string | BN,
123
- number | string | BN,
124
- number | string | BN,
125
121
  number | string | BN
126
122
  ]
127
123
  | {
@@ -147,10 +143,6 @@ export declare namespace FluidView {
147
143
  oracle: string;
148
144
  oraclePriceOperate: number | string | BN;
149
145
  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
146
  vaultSupplyExchangePrice: number | string | BN;
155
147
  vaultBorrowExchangePrice: number | string | BN;
156
148
  supplyRateVault: number | string | BN;
@@ -223,10 +215,6 @@ export declare namespace FluidView {
223
215
  string,
224
216
  string,
225
217
  string,
226
- string,
227
- string,
228
- string,
229
- string,
230
218
  string
231
219
  ];
232
220
  export type VaultDataStructOutputStruct = {
@@ -252,10 +240,6 @@ export declare namespace FluidView {
252
240
  oracle: string;
253
241
  oraclePriceOperate: string;
254
242
  oraclePriceLiquidate: string;
255
- priceOfSupplyToken0InUSD: string;
256
- priceOfSupplyToken1InUSD: string;
257
- priceOfBorrowToken0InUSD: string;
258
- priceOfBorrowToken1InUSD: string;
259
243
  vaultSupplyExchangePrice: string;
260
244
  vaultBorrowExchangePrice: string;
261
245
  supplyRateVault: string;
@@ -293,37 +277,6 @@ export interface FluidView extends BaseContract {
293
277
  ): FluidView;
294
278
  clone(): FluidView;
295
279
  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
280
  getPositionByNftId(
328
281
  _nftId: number | string | BN
329
282
  ): NonPayableTransactionObject<
@@ -333,35 +286,8 @@ export interface FluidView extends BaseContract {
333
286
  }
334
287
  >;
335
288
 
336
- getPriceInETH(_inputTokenAddr: string): NonPayableTransactionObject<string>;
337
-
338
- getPriceInUSD(_inputTokenAddr: string): NonPayableTransactionObject<string>;
339
-
340
289
  getRatio(_nftId: number | string | BN): NonPayableTransactionObject<string>;
341
290
 
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
291
  getUserNftIds(_user: string): NonPayableTransactionObject<string[]>;
366
292
 
367
293
  getUserPositions(
@@ -384,14 +310,6 @@ export interface FluidView extends BaseContract {
384
310
  getVaultData(
385
311
  _vault: string
386
312
  ): 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
313
  };
396
314
  events: {
397
315
  allEvents(options?: EventOptions, cb?: Callback<EventLog>): EventEmitter;
@@ -12,6 +12,10 @@ export interface FluidMarketInfo {
12
12
  hasSmartDebt: boolean
13
13
  collateralAsset: string
14
14
  debtAsset: string
15
+ ethBased?: boolean,
16
+ btcBased?: boolean,
17
+ wstETHBased?: boolean,
18
+ type: FluidVaultType
15
19
  }
16
20
 
17
21
  export enum FluidMainnetVersion {
@@ -169,17 +173,22 @@ export interface InnerFluidMarketData {
169
173
  isSmartDebt: boolean,
170
174
  marketAddress: string,
171
175
  vaultType: FluidVaultType,
176
+ vaultValue?: FluidVersions
172
177
  oracle: string,
173
178
  liquidationPenaltyPercent: string,
174
179
  collFactor: string,
175
180
  liquidationRatio: string,
181
+ liqFactor: string,
182
+ minRatio: string,
176
183
  collAsset0: string,
177
184
  collAsset1?: string,
178
185
  debtAsset0: string,
179
186
  debtAsset1?: string,
180
187
  totalPositions: string,
181
188
  totalSupplyVault: string,
189
+ totalSupplyVaultUsd: string,
182
190
  totalBorrowVault: string,
191
+ totalBorrowVaultUsd: string,
183
192
  withdrawalLimit: string,
184
193
  withdrawableUntilLimit: string,
185
194
  withdrawable: string,
@@ -190,6 +199,8 @@ export interface InnerFluidMarketData {
190
199
  maxBorrowLimit: string,
191
200
  baseBorrowLimit: string,
192
201
  minimumBorrowing: string,
202
+ supplyRate: string,
203
+ borrowRate: string,
193
204
  }
194
205
 
195
206
  export interface FluidMarketData {