@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.
- package/cjs/config/contracts.d.ts +5 -5
- package/cjs/config/contracts.js +2 -2
- package/cjs/fluid/index.d.ts +1 -0
- package/cjs/fluid/index.js +65 -12
- package/cjs/markets/fluid/index.d.ts +2 -0
- package/cjs/markets/fluid/index.js +345 -1
- package/cjs/markets/index.d.ts +1 -1
- package/cjs/markets/index.js +3 -1
- package/cjs/morphoBlue/index.js +1 -2
- package/cjs/multicall/index.d.ts +1 -0
- package/cjs/multicall/index.js +8 -1
- package/cjs/services/utils.d.ts +1 -0
- package/cjs/services/utils.js +3 -1
- package/cjs/types/contracts/generated/FluidView.d.ts +0 -42
- package/cjs/types/fluid.d.ts +11 -0
- package/esm/config/contracts.d.ts +5 -5
- package/esm/config/contracts.js +2 -2
- package/esm/fluid/index.d.ts +1 -0
- package/esm/fluid/index.js +65 -13
- package/esm/markets/fluid/index.d.ts +2 -0
- package/esm/markets/fluid/index.js +343 -1
- package/esm/markets/index.d.ts +1 -1
- package/esm/markets/index.js +1 -1
- package/esm/morphoBlue/index.js +1 -2
- package/esm/multicall/index.d.ts +1 -0
- package/esm/multicall/index.js +6 -0
- package/esm/services/utils.d.ts +1 -0
- package/esm/services/utils.js +1 -0
- package/esm/types/contracts/generated/FluidView.d.ts +0 -42
- package/esm/types/fluid.d.ts +11 -0
- package/package.json +5 -3
- package/src/config/contracts.js +2 -2
- package/src/fluid/index.ts +69 -12
- package/src/markets/fluid/index.ts +347 -2
- package/src/markets/index.ts +1 -1
- package/src/morphoBlue/index.ts +1 -3
- package/src/multicall/index.ts +10 -1
- package/src/services/utils.ts +3 -1
- package/src/types/contracts/generated/FluidView.ts +0 -82
- package/src/types/fluid.ts +11 -0
package/src/markets/index.ts
CHANGED
|
@@ -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';
|
package/src/morphoBlue/index.ts
CHANGED
|
@@ -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,
|
package/src/multicall/index.ts
CHANGED
|
@@ -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
|
+
};
|
package/src/services/utils.ts
CHANGED
|
@@ -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;
|
package/src/types/fluid.ts
CHANGED
|
@@ -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 {
|