@1delta/margin-fetcher 0.0.247 → 0.0.251
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/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +900 -77
- package/dist/index.js.map +1 -1
- package/dist/lending/index.d.ts +1 -1
- package/dist/lending/index.d.ts.map +1 -1
- package/dist/lending/public-data/aave-v3-type/publicCallBuild.d.ts.map +1 -1
- package/dist/lending/public-data/aave-v3-type/publicCallParse.d.ts.map +1 -1
- package/dist/lending/user-data/aave-v4-type/createAaveV4UserState.d.ts.map +1 -1
- package/dist/lending/user-data/gearbox/userCallParse.d.ts.map +1 -1
- package/dist/lending/user-data/morpho/fetchUserPositionsFromSubgraph.d.ts +44 -0
- package/dist/lending/user-data/morpho/fetchUserPositionsFromSubgraph.d.ts.map +1 -0
- package/dist/lending/user-data/morpho/index.d.ts +1 -0
- package/dist/lending/user-data/morpho/index.d.ts.map +1 -1
- package/dist/lending/user-data/with-permissions/types.d.ts +6 -0
- package/dist/lending/user-data/with-permissions/types.d.ts.map +1 -1
- package/dist/types/lenderTypes.d.ts +16 -1
- package/dist/types/lenderTypes.d.ts.map +1 -1
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/vaults/fetchVaultsAll.d.ts +56 -0
- package/dist/vaults/fetchVaultsAll.d.ts.map +1 -0
- package/dist/vaults/fluid/types.d.ts +9 -0
- package/dist/vaults/fluid/types.d.ts.map +1 -1
- package/dist/vaults/gearbox/types.d.ts +9 -0
- package/dist/vaults/gearbox/types.d.ts.map +1 -1
- package/dist/vaults/index.d.ts +3 -0
- package/dist/vaults/index.d.ts.map +1 -1
- package/dist/vaults/morpho/fetchFromApi.d.ts +14 -0
- package/dist/vaults/morpho/fetchFromApi.d.ts.map +1 -0
- package/dist/vaults/morpho/fetchFromSubgraph.d.ts +12 -0
- package/dist/vaults/morpho/fetchFromSubgraph.d.ts.map +1 -0
- package/dist/vaults/morpho/fetchPublic.d.ts +24 -0
- package/dist/vaults/morpho/fetchPublic.d.ts.map +1 -0
- package/dist/vaults/morpho/index.d.ts +5 -0
- package/dist/vaults/morpho/index.d.ts.map +1 -0
- package/dist/vaults/morpho/types.d.ts +82 -0
- package/dist/vaults/morpho/types.d.ts.map +1 -0
- package/dist/vaults/silo/fetchPublic.d.ts +22 -0
- package/dist/vaults/silo/fetchPublic.d.ts.map +1 -0
- package/dist/vaults/silo/index.d.ts +3 -0
- package/dist/vaults/silo/index.d.ts.map +1 -0
- package/dist/vaults/silo/types.d.ts +84 -0
- package/dist/vaults/silo/types.d.ts.map +1 -0
- package/package.json +5 -4
package/dist/lending/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { getLenderPublicData, getMorphoTypeMarketConverter, } from './public-data/fetchLender';
|
|
2
2
|
export { getLenderPublicDataViaApi } from './public-data/fetchLenderExt';
|
|
3
3
|
export { getLenderPublicDataAll } from './public-data/fetchLenderAll';
|
|
4
|
-
export { getLenderUserDataResult, convertLenderUserDataResult, prepareLenderUserDataRpcCalls, type PreparedUserDataRpcCalls, prepareMergedRpcCalls, parseMergedResult, type PreparedMergedRpcCalls, type MergedUserData, type PermissionParams, prepareMergedMulticallParams, type PreparedMergedMulticallParams, getMergedUserData, needsLenderApproval, needsTokenApproval, type TokenApprovalParams, type TokenApprovalMeta, getLenderUserDataMulti, type ChainQuery, type ProviderOptions, type BaseLendingPosition, type BasicReserveResponse, type AprData, type BalanceData, type UserConfig, type UserData, MORPHO_LENS, buildMorphoTypeUserCallWithLens, decodePackedMorphoUserDataset, decodePackedListaUserDataset, buildSummaries, buildPortfolioTotals, fuseLenderData, filterActiveLenders, type PortfolioTotals, type PortfolioSummary, type LenderSummary, type LenderDataEntry, type ChainSummary, type SubAccountSummary, type SummaryBalanceData, type SummaryAprData, type UserDataResult, calculateWeightedAverage, calculateNetApr, calculateLeverage, calculateOverallNetApr, getBalanceForMarketUid, } from './user-data';
|
|
4
|
+
export { getLenderUserDataResult, convertLenderUserDataResult, prepareLenderUserDataRpcCalls, type PreparedUserDataRpcCalls, prepareMergedRpcCalls, parseMergedResult, type PreparedMergedRpcCalls, type MergedUserData, type PermissionParams, prepareMergedMulticallParams, type PreparedMergedMulticallParams, getMergedUserData, needsLenderApproval, needsTokenApproval, type TokenApprovalParams, type TokenApprovalMeta, getLenderUserDataMulti, type ChainQuery, type ProviderOptions, type BaseLendingPosition, type BasicReserveResponse, type AprData, type BalanceData, type UserConfig, type UserData, MORPHO_LENS, buildMorphoTypeUserCallWithLens, decodePackedMorphoUserDataset, decodePackedListaUserDataset, fetchMorphoUserPositionMarkets, fetchMorphoUserBalances, hasMorphoUserSubgraph, hasMorphoUserApi, hasMorphoPositionIndex, type MorphoSubgraphProxyConfig, type MorphoUserMarketBalance, buildSummaries, buildPortfolioTotals, fuseLenderData, filterActiveLenders, type PortfolioTotals, type PortfolioSummary, type LenderSummary, type LenderDataEntry, type ChainSummary, type SubAccountSummary, type SummaryBalanceData, type SummaryAprData, type UserDataResult, calculateWeightedAverage, calculateNetApr, calculateLeverage, calculateOverallNetApr, getBalanceForMarketUid, } from './user-data';
|
|
5
5
|
export { decodeMarkets, decodeListaMarkets, normalizeToBytes, buildMorphoTypeCall, } from './public-data/morpho';
|
|
6
6
|
export * from './margin/base';
|
|
7
7
|
export * from './margin/loop';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lending/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,4BAA4B,GAC7B,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAA;AACxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAA;AACrE,OAAO,EACL,uBAAuB,EACvB,2BAA2B,EAC3B,6BAA6B,EAC7B,KAAK,wBAAwB,EAC7B,qBAAqB,EACrB,iBAAiB,EACjB,KAAK,sBAAsB,EAC3B,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,4BAA4B,EAC5B,KAAK,6BAA6B,EAClC,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EAClB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,sBAAsB,EACtB,KAAK,UAAU,EACf,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,OAAO,EACZ,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,QAAQ,EACb,WAAW,EACX,+BAA+B,EAC/B,6BAA6B,EAC7B,4BAA4B,EAE5B,cAAc,EACd,oBAAoB,EACpB,cAAc,EACd,mBAAmB,EAEnB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,cAAc,EAEnB,wBAAwB,EACxB,eAAe,EACf,iBAAiB,EACjB,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,aAAa,CAAA;AACpB,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,sBAAsB,CAAA;AAC7B,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lending/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,4BAA4B,GAC7B,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAA;AACxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAA;AACrE,OAAO,EACL,uBAAuB,EACvB,2BAA2B,EAC3B,6BAA6B,EAC7B,KAAK,wBAAwB,EAC7B,qBAAqB,EACrB,iBAAiB,EACjB,KAAK,sBAAsB,EAC3B,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,4BAA4B,EAC5B,KAAK,6BAA6B,EAClC,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EAClB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,sBAAsB,EACtB,KAAK,UAAU,EACf,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,OAAO,EACZ,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,QAAQ,EACb,WAAW,EACX,+BAA+B,EAC/B,6BAA6B,EAC7B,4BAA4B,EAC5B,8BAA8B,EAC9B,uBAAuB,EACvB,qBAAqB,EACrB,gBAAgB,EAChB,sBAAsB,EACtB,KAAK,yBAAyB,EAC9B,KAAK,uBAAuB,EAE5B,cAAc,EACd,oBAAoB,EACpB,cAAc,EACd,mBAAmB,EAEnB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,cAAc,EAEnB,wBAAwB,EACxB,eAAe,EACf,iBAAiB,EACjB,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,aAAa,CAAA;AACpB,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,sBAAsB,CAAA;AAC7B,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publicCallBuild.d.ts","sourceRoot":"","sources":["../../../../src/lending/public-data/aave-v3-type/publicCallBuild.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"publicCallBuild.d.ts","sourceRoot":"","sources":["../../../../src/lending/public-data/aave-v3-type/publicCallBuild.ts"],"names":[],"mappings":"AAwCA,0EAA0E;AAC1E,eAAO,MAAM,cAAc,GAAI,OAAO,MAAM,EAAE,QAAQ,MAAM,aAiB3D,CAAA;AAsFD,eAAO,MAAM,iCAAiC,GAC5C,SAAS,MAAM,EACf,QAAQ,MAAM,2CAwEf,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publicCallParse.d.ts","sourceRoot":"","sources":["../../../../src/lending/public-data/aave-v3-type/publicCallParse.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,2BAA2B,EAK5B,MAAM,qCAAqC,CAAA;AAE5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAejD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAKjD,eAAO,MAAM,8BAA8B,GACzC,QAAQ,MAAM,EACd,SAAS,MAAM,EACf,QAAQ;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,EACnC,kBAAkB,gBAAgB,EAClC,YAAW,gBAAqB,KAC/B,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,2BAA2B,GAAG,SAAS,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"publicCallParse.d.ts","sourceRoot":"","sources":["../../../../src/lending/public-data/aave-v3-type/publicCallParse.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,2BAA2B,EAK5B,MAAM,qCAAqC,CAAA;AAE5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAejD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAKjD,eAAO,MAAM,8BAA8B,GACzC,QAAQ,MAAM,EACd,SAAS,MAAM,EACf,QAAQ;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,EACnC,kBAAkB,gBAAgB,EAClC,YAAW,gBAAqB,KAC/B,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,2BAA2B,GAAG,SAAS,EAAE,MAAM,CA2PnE,CAAA;AAyHD,wBAAgB,aAAa,CAC3B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,gBAAgB,EAAE,GAAG,EACrB,MAAM,EAAE,GAAG,EACX,SAAS,EAAE,GAAG,GACb,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,GAAG,SAAS,EAAE,MAAM,CAAC,CA6J5C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createAaveV4UserState.d.ts","sourceRoot":"","sources":["../../../../src/lending/user-data/aave-v4-type/createAaveV4UserState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAKH,OAAO,EAGL,mBAAmB,EAEnB,QAAQ,EACT,MAAM,gBAAgB,CAAA;AAgCvB,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,GAAG,EACZ,UAAU,EAAE,mBAAmB,EAC/B,gBAAgB,GAAE,MAAU,EAC5B,YAAY,GAAE,MAAU,GACvB,QAAQ,
|
|
1
|
+
{"version":3,"file":"createAaveV4UserState.d.ts","sourceRoot":"","sources":["../../../../src/lending/user-data/aave-v4-type/createAaveV4UserState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAKH,OAAO,EAGL,mBAAmB,EAEnB,QAAQ,EACT,MAAM,gBAAgB,CAAA;AAgCvB,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,GAAG,EACZ,UAAU,EAAE,mBAAmB,EAC/B,gBAAgB,GAAE,MAAU,EAC5B,YAAY,GAAE,MAAU,GACvB,QAAQ,CAsVV"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"userCallParse.d.ts","sourceRoot":"","sources":["../../../../src/lending/user-data/gearbox/userCallParse.ts"],"names":[],"mappings":"AAKA,OAAO,EAEL,2BAA2B,EAC3B,QAAQ,EACT,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"userCallParse.d.ts","sourceRoot":"","sources":["../../../../src/lending/user-data/gearbox/userCallParse.ts"],"names":[],"mappings":"AAKA,OAAO,EAEL,2BAA2B,EAC3B,QAAQ,EACT,MAAM,gBAAgB,CAAA;AAuDvB;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,6BAA6B,GACxC,SAAS,MAAM,EACf,SAAS,MAAM,EACf,SAAS,MAAM,EACf,OAAO,2BAA2B,KACjC,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK;IAAE,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAA;CAAE,GAAG,SAAS,EAAE,MAAM,CAuPtE,CAAA"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { type RelayProxyConfig } from '@1delta/proxy-fetch';
|
|
2
|
+
/**
|
|
3
|
+
* Back-compat alias. New callers should use `RelayProxyConfig` directly from
|
|
4
|
+
* `@1delta/proxy-fetch`.
|
|
5
|
+
*/
|
|
6
|
+
export type MorphoSubgraphProxyConfig = RelayProxyConfig;
|
|
7
|
+
export interface MorphoUserMarketBalance {
|
|
8
|
+
/** 0x-prefixed lowercase 66-char market key */
|
|
9
|
+
marketId: string;
|
|
10
|
+
/** Raw supply shares as decimal string */
|
|
11
|
+
supplyShares: string;
|
|
12
|
+
/** Raw borrow shares as decimal string */
|
|
13
|
+
borrowShares: string;
|
|
14
|
+
/** Raw collateral amount as decimal string */
|
|
15
|
+
collateral: string;
|
|
16
|
+
}
|
|
17
|
+
export declare function hasMorphoUserSubgraph(chainId: string): boolean;
|
|
18
|
+
export declare function hasMorphoUserApi(chainId: string): boolean;
|
|
19
|
+
export declare function hasMorphoPositionIndex(chainId: string): boolean;
|
|
20
|
+
/**
|
|
21
|
+
* Fetches per-market balance data (supply shares, borrow shares, collateral)
|
|
22
|
+
* for all markets where the account has active positions. Queries the Goldsky
|
|
23
|
+
* subgraph or the Morpho Blue API depending on the chain.
|
|
24
|
+
*
|
|
25
|
+
* Returns undefined when the chain has no index OR the request fails (timeout,
|
|
26
|
+
* non-2xx, etc.) — caller should fall back to querying all markets on-chain.
|
|
27
|
+
* Returns an empty array when the account has no positions on that chain.
|
|
28
|
+
*
|
|
29
|
+
* Concurrent callers for the same (chainId, account) share a single upstream
|
|
30
|
+
* request, and results are memoized for a short window (see `CACHE_TTL_MS`).
|
|
31
|
+
*/
|
|
32
|
+
export declare function fetchMorphoUserBalances(chainId: string, account: string, proxyConfig?: RelayProxyConfig): Promise<MorphoUserMarketBalance[] | undefined>;
|
|
33
|
+
/**
|
|
34
|
+
* Convenience wrapper — returns only the set of market IDs where the account
|
|
35
|
+
* has active positions. Use `fetchMorphoUserBalances` when you also need the
|
|
36
|
+
* shares/collateral amounts.
|
|
37
|
+
*/
|
|
38
|
+
export declare function fetchMorphoUserPositionMarkets(chainId: string, account: string, proxyConfig?: RelayProxyConfig): Promise<Set<string> | undefined>;
|
|
39
|
+
/**
|
|
40
|
+
* Test-only helper: drops the in-memory cache so assertions don't interact
|
|
41
|
+
* across tests. Safe to call at runtime, just wastes the next upstream call.
|
|
42
|
+
*/
|
|
43
|
+
export declare function __clearMorphoPositionCacheForTests(): void;
|
|
44
|
+
//# sourceMappingURL=fetchUserPositionsFromSubgraph.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetchUserPositionsFromSubgraph.d.ts","sourceRoot":"","sources":["../../../../src/lending/user-data/morpho/fetchUserPositionsFromSubgraph.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,gBAAgB,EACtB,MAAM,qBAAqB,CAAA;AAE5B;;;GAGG;AACH,MAAM,MAAM,yBAAyB,GAAG,gBAAgB,CAAA;AAExD,MAAM,WAAW,uBAAuB;IACtC,+CAA+C;IAC/C,QAAQ,EAAE,MAAM,CAAA;IAChB,0CAA0C;IAC1C,YAAY,EAAE,MAAM,CAAA;IACpB,0CAA0C;IAC1C,YAAY,EAAE,MAAM,CAAA;IACpB,8CAA8C;IAC9C,UAAU,EAAE,MAAM,CAAA;CACnB;AA4ND,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAE9D;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEzD;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAE/D;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,WAAW,CAAC,EAAE,gBAAgB,GAC7B,OAAO,CAAC,uBAAuB,EAAE,GAAG,SAAS,CAAC,CAYhD;AAED;;;;GAIG;AACH,wBAAsB,8BAA8B,CAClD,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,WAAW,CAAC,EAAE,gBAAgB,GAC7B,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC,CAIlC;AA4FD;;;GAGG;AACH,wBAAgB,kCAAkC,IAAI,IAAI,CAGzD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lending/user-data/morpho/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,SAAS,CAAA;AACvB,cAAc,iBAAiB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lending/user-data/morpho/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,SAAS,CAAA;AACvB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,kCAAkC,CAAA"}
|
|
@@ -17,6 +17,12 @@ export interface PermissionParams {
|
|
|
17
17
|
};
|
|
18
18
|
/** Silo: withdraw from protected (non-borrowable) collateral share token */
|
|
19
19
|
siloIsProtected?: boolean;
|
|
20
|
+
/**
|
|
21
|
+
* Gearbox V3: BotListV3 contract address (resolved from
|
|
22
|
+
* `AddressProviderV310`). Required when any lender is GEARBOX_V3 — passed
|
|
23
|
+
* through to `prepareLenderDebitMulticall`.
|
|
24
|
+
*/
|
|
25
|
+
gearboxBotList?: string;
|
|
20
26
|
}
|
|
21
27
|
export interface PermissionMeta {
|
|
22
28
|
chainId: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/lending/user-data/with-permissions/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAChD,OAAO,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AACtE,OAAO,KAAK,EACV,iBAAiB,EACjB,YAAY,EACZ,UAAU,EACX,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AACjE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAE9C,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC,CAAA;IAC9D,OAAO,EAAE,MAAM,CAAA;IACf,aAAa,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAA;IAClD,4EAA4E;IAC5E,eAAe,CAAC,EAAE,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/lending/user-data/with-permissions/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,7 +11,22 @@ export interface LenderUserQuery {
|
|
|
11
11
|
/** custom parameters for spceifying assets */
|
|
12
12
|
assets?: any[];
|
|
13
13
|
}
|
|
14
|
-
/**
|
|
14
|
+
/**
|
|
15
|
+
* Collapse per-market queries whose builder + RPC call are identical
|
|
16
|
+
* across every market key into a single query. Without this, a chain
|
|
17
|
+
* with N Gearbox CMs (or N Morpho markets) would fan out into N
|
|
18
|
+
* identical RPC calls — all returning the same owner-scoped data.
|
|
19
|
+
*
|
|
20
|
+
* - **Morpho** (`MORPHO_BLUE_*` / `LISTA_DAO_*`): one query per family,
|
|
21
|
+
* `params` carries the original per-market lender keys.
|
|
22
|
+
* - **Gearbox V3** (`GEARBOX_V3_*`): one `Lender.GEARBOX_V3` query per
|
|
23
|
+
* chain; `AccountCompressor.getCreditAccounts` already scopes by
|
|
24
|
+
* `configurators` + `owner`, so we only need to run the call once.
|
|
25
|
+
* `params` carries the requested per-CM lender keys in case the
|
|
26
|
+
* parser wants to emit empty buckets for CMs the user has no CAs
|
|
27
|
+
* in (currently it only emits populated ones — same outcome, but
|
|
28
|
+
* without the 24-duplicate-RPC-call penalty).
|
|
29
|
+
*/
|
|
15
30
|
export declare function organizeUserQueries(queries: LenderUserQuery[]): LenderUserQuery[];
|
|
16
31
|
export interface UserLendingPosition {
|
|
17
32
|
deposits: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lenderTypes.d.ts","sourceRoot":"","sources":["../../src/types/lenderTypes.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AACzD,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAA;AACxC,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAA;AAErC,MAAM,WAAW,eAAe;IAC9B,6FAA6F;IAC7F,MAAM,EAAE,GAAG,CAAA;IACX,mBAAmB;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,+DAA+D;IAC/D,MAAM,CAAC,EAAE,GAAG,EAAE,CAAA;IACd,8CAA8C;IAC9C,MAAM,CAAC,EAAE,GAAG,EAAE,CAAA;CACf;AAED
|
|
1
|
+
{"version":3,"file":"lenderTypes.d.ts","sourceRoot":"","sources":["../../src/types/lenderTypes.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAI9C,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,MAAM,EACN,YAAY,EACZ,OAAO,EACP,YAAY,EACZ,YAAY,EACZ,MAAM,EACN,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,cAAc,EACd,WAAW,EACX,aAAa,EACb,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,OAAO,EACP,WAAW,GACZ,MAAM,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAI9C,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,MAAM,EACN,YAAY,EACZ,OAAO,EACP,YAAY,EACZ,YAAY,EACZ,MAAM,EACN,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,cAAc,EACd,WAAW,EACX,aAAa,EACb,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,OAAO,EACP,WAAW,GACZ,MAAM,yBAAyB,CAAA;AA6ChC,eAAO,MAAM,uBAAuB,EAAE,MAAM,EAgB3C,CAAA;AAED,eAAO,MAAM,kBAAkB,GAAI,GAAG,MAAM,aAkF3C,CAAA;AAED,sCAAsC;AACtC,eAAO,MAAM,uBAAuB,GAClC,YAAY,MAAM,EAAE,EACpB,eAAe,MAAM,EAAE,KACtB,MAAM,EAmBR,CAAA;AAED,mCAAmC;AACnC,eAAO,MAAM,gBAAgB;;CAS5B,CAAA;AAED,eAAO,MAAM,eAAe,GAC1B,SAAS,MAAM,GAAG,MAAM,GAAG,SAAS,EACpC,kBAAiB,MAAuB,KACvC,MAAM,EAOR,CAAA"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { MulticallRetryFunction } from '../types';
|
|
2
|
+
import { GenericTokenList } from '../types/general';
|
|
3
|
+
import type { FluidFTokens } from './fluid/types';
|
|
4
|
+
import type { GearboxV3Pools } from './gearbox/types';
|
|
5
|
+
import type { MorphoVaults } from './morpho/types';
|
|
6
|
+
import type { SiloVaults } from './silo/types';
|
|
7
|
+
/** Supported ERC-4626 vault providers. */
|
|
8
|
+
export type VaultProvider = 'fluid' | 'gearbox' | 'morpho' | 'silo';
|
|
9
|
+
/**
|
|
10
|
+
* Per-provider payload returned by `getVaultPublicDataAll`. Each entry is
|
|
11
|
+
* present only when the matching provider was requested AND its fetch
|
|
12
|
+
* resolved (not when the chain has no deployment — those return an empty
|
|
13
|
+
* map, which is still recorded here).
|
|
14
|
+
*/
|
|
15
|
+
export interface VaultPublicDataAll {
|
|
16
|
+
fluid?: FluidFTokens;
|
|
17
|
+
gearbox?: GearboxV3Pools;
|
|
18
|
+
morpho?: MorphoVaults;
|
|
19
|
+
silo?: SiloVaults;
|
|
20
|
+
}
|
|
21
|
+
export interface GetVaultPublicDataAllOptions {
|
|
22
|
+
/** Narrow Silo to a single protocol version (`v2` or `v3`). */
|
|
23
|
+
siloProtocolVersion?: 'v2' | 'v3';
|
|
24
|
+
/** Page size hint for Silo's GraphQL query. */
|
|
25
|
+
siloLimit?: number;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Universal vault fetcher — the vaults-side analogue of
|
|
29
|
+
* `getLenderPublicDataAll`.
|
|
30
|
+
*
|
|
31
|
+
* Dispatches each requested provider to its dedicated fetcher and runs
|
|
32
|
+
* them concurrently. Sources are mixed (Fluid + Gearbox use multicall;
|
|
33
|
+
* Morpho + Silo are HTTP GraphQL), so there's no API-vs-on-chain split
|
|
34
|
+
* like the lender path — every provider runs in parallel and a single
|
|
35
|
+
* provider's failure does not sink the others.
|
|
36
|
+
*
|
|
37
|
+
* @param chainId target chain
|
|
38
|
+
* @param providers which providers to fetch (any subset of
|
|
39
|
+
* `'fluid' | 'gearbox' | 'morpho' | 'silo'`)
|
|
40
|
+
* @param multicallRetry provider-level multicall executor — used by
|
|
41
|
+
* Fluid and Gearbox; ignored when only HTTP
|
|
42
|
+
* providers are requested
|
|
43
|
+
* @param prices optional price map keyed by oracle key /
|
|
44
|
+
* underlying address
|
|
45
|
+
* @param tokenList optional token list for hydrating `asset`
|
|
46
|
+
* metadata on each parsed vault
|
|
47
|
+
* @param options provider-specific knobs (Silo version filter, …)
|
|
48
|
+
*
|
|
49
|
+
* @returns `VaultPublicDataAll` — one key per requested provider that
|
|
50
|
+
* resolved successfully; failed providers are omitted (and
|
|
51
|
+
* logged when `VAULTS_DEBUG` is on).
|
|
52
|
+
*/
|
|
53
|
+
export declare const getVaultPublicDataAll: (chainId: string, providers: VaultProvider[], multicallRetry: MulticallRetryFunction, prices?: {
|
|
54
|
+
[asset: string]: number;
|
|
55
|
+
}, tokenList?: GenericTokenList, options?: GetVaultPublicDataAllOptions) => Promise<VaultPublicDataAll>;
|
|
56
|
+
//# sourceMappingURL=fetchVaultsAll.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetchVaultsAll.d.ts","sourceRoot":"","sources":["../../src/vaults/fetchVaultsAll.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAA;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAKnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AACjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAS9C,0CAA0C;AAC1C,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAA;AAEnE;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,YAAY,CAAA;IACpB,OAAO,CAAC,EAAE,cAAc,CAAA;IACxB,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB,IAAI,CAAC,EAAE,UAAU,CAAA;CAClB;AAED,MAAM,WAAW,4BAA4B;IAC3C,+DAA+D;IAC/D,mBAAmB,CAAC,EAAE,IAAI,GAAG,IAAI,CAAA;IACjC,+CAA+C;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,eAAO,MAAM,qBAAqB,GAChC,SAAS,MAAM,EACf,WAAW,aAAa,EAAE,EAC1B,gBAAgB,sBAAsB,EACtC,SAAQ;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAO,EACxC,YAAW,gBAAqB,EAChC,UAAU,4BAA4B,KACrC,OAAO,CAAC,kBAAkB,CAwE5B,CAAA"}
|
|
@@ -48,6 +48,15 @@ export interface FluidFToken {
|
|
|
48
48
|
totalAssetsFormatted: number;
|
|
49
49
|
/** Human-formatted total assets in USD (`totalAssetsFormatted * priceUsd`). */
|
|
50
50
|
totalAssetsUsd: number;
|
|
51
|
+
/** Currently withdrawable underlying (raw integer as string), sourced
|
|
52
|
+
* from the Liquidity Layer's `withdrawable` field — the fToken's own
|
|
53
|
+
* supply bounded by the shared-liquidity withdrawal limit. Caps
|
|
54
|
+
* immediate exits. */
|
|
55
|
+
liquidity: string;
|
|
56
|
+
/** Human-formatted immediate withdrawable liquidity. */
|
|
57
|
+
liquidityFormatted: number;
|
|
58
|
+
/** Human-formatted immediate withdrawable liquidity in USD. */
|
|
59
|
+
liquidityUsd: number;
|
|
51
60
|
}
|
|
52
61
|
/** Full parsed payload: per-underlying map for easy UI lookup. */
|
|
53
62
|
export type FluidFTokens = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/vaults/fluid/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAErD;;;;;;;GAOG;AACH,MAAM,WAAW,WAAW;IAC1B,yEAAyE;IACzE,OAAO,EAAE,MAAM,CAAA;IACf;;8DAE0D;IAC1D,UAAU,EAAE,MAAM,CAAA;IAClB,gDAAgD;IAChD,MAAM,EAAE,MAAM,CAAA;IACd,2CAA2C;IAC3C,IAAI,EAAE,MAAM,CAAA;IACZ,0EAA0E;IAC1E,QAAQ,EAAE,MAAM,CAAA;IAEhB,mFAAmF;IACnF,WAAW,EAAE,MAAM,CAAA;IACnB,kDAAkD;IAClD,WAAW,EAAE,MAAM,CAAA;IACnB,0EAA0E;IAC1E,eAAe,EAAE,MAAM,CAAA;IACvB,yEAAyE;IACzE,eAAe,EAAE,MAAM,CAAA;IAEvB,2FAA2F;IAC3F,UAAU,EAAE,MAAM,CAAA;IAClB,4DAA4D;IAC5D,WAAW,EAAE,MAAM,CAAA;IACnB,2EAA2E;IAC3E,WAAW,EAAE,MAAM,CAAA;IAEnB;;wDAEoD;IACpD,kBAAkB,EAAE,OAAO,CAAA;IAC3B,+DAA+D;IAC/D,eAAe,EAAE,OAAO,CAAA;IAExB,oEAAoE;IACpE,KAAK,CAAC,EAAE,eAAe,CAAA;IACvB,iEAAiE;IACjE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,kEAAkE;IAClE,oBAAoB,EAAE,MAAM,CAAA;IAC5B,+EAA+E;IAC/E,cAAc,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/vaults/fluid/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAErD;;;;;;;GAOG;AACH,MAAM,WAAW,WAAW;IAC1B,yEAAyE;IACzE,OAAO,EAAE,MAAM,CAAA;IACf;;8DAE0D;IAC1D,UAAU,EAAE,MAAM,CAAA;IAClB,gDAAgD;IAChD,MAAM,EAAE,MAAM,CAAA;IACd,2CAA2C;IAC3C,IAAI,EAAE,MAAM,CAAA;IACZ,0EAA0E;IAC1E,QAAQ,EAAE,MAAM,CAAA;IAEhB,mFAAmF;IACnF,WAAW,EAAE,MAAM,CAAA;IACnB,kDAAkD;IAClD,WAAW,EAAE,MAAM,CAAA;IACnB,0EAA0E;IAC1E,eAAe,EAAE,MAAM,CAAA;IACvB,yEAAyE;IACzE,eAAe,EAAE,MAAM,CAAA;IAEvB,2FAA2F;IAC3F,UAAU,EAAE,MAAM,CAAA;IAClB,4DAA4D;IAC5D,WAAW,EAAE,MAAM,CAAA;IACnB,2EAA2E;IAC3E,WAAW,EAAE,MAAM,CAAA;IAEnB;;wDAEoD;IACpD,kBAAkB,EAAE,OAAO,CAAA;IAC3B,+DAA+D;IAC/D,eAAe,EAAE,OAAO,CAAA;IAExB,oEAAoE;IACpE,KAAK,CAAC,EAAE,eAAe,CAAA;IACvB,iEAAiE;IACjE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,kEAAkE;IAClE,oBAAoB,EAAE,MAAM,CAAA;IAC5B,+EAA+E;IAC/E,cAAc,EAAE,MAAM,CAAA;IAEtB;;;2BAGuB;IACvB,SAAS,EAAE,MAAM,CAAA;IACjB,wDAAwD;IACxD,kBAAkB,EAAE,MAAM,CAAA;IAC1B,+DAA+D;IAC/D,YAAY,EAAE,MAAM,CAAA;CACrB;AAED,kEAAkE;AAClE,MAAM,MAAM,YAAY,GAAG;IACzB,6EAA6E;IAC7E,CAAC,UAAU,EAAE,MAAM,GAAG,WAAW,CAAA;CAClC,CAAA"}
|
|
@@ -52,6 +52,15 @@ export interface GearboxV3Pool {
|
|
|
52
52
|
totalAssetsFormatted: number;
|
|
53
53
|
/** Human-formatted total assets in USD. */
|
|
54
54
|
totalAssetsUsd: number;
|
|
55
|
+
/** Currently withdrawable underlying, raw integer as string. Mirrors
|
|
56
|
+
* `availableLiquidity` (= expectedLiquidity − totalBorrowed); exposed
|
|
57
|
+
* under the cross-vault `liquidity*` names for parity with Morpho /
|
|
58
|
+
* Fluid / Silo. */
|
|
59
|
+
liquidity: string;
|
|
60
|
+
/** Human-formatted immediate withdrawable liquidity. */
|
|
61
|
+
liquidityFormatted: number;
|
|
62
|
+
/** Human-formatted immediate withdrawable liquidity in USD. */
|
|
63
|
+
liquidityUsd: number;
|
|
55
64
|
}
|
|
56
65
|
/** Full parsed payload: per-underlying map for easy UI lookup. */
|
|
57
66
|
export type GearboxV3Pools = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/vaults/gearbox/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAErD;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,aAAa;IAC5B,wDAAwD;IACxD,OAAO,EAAE,MAAM,CAAA;IACf;;8EAE0E;IAC1E,UAAU,EAAE,MAAM,CAAA;IAClB,sDAAsD;IACtD,MAAM,EAAE,MAAM,CAAA;IACd,iDAAiD;IACjD,IAAI,EAAE,MAAM,CAAA;IACZ;oBACgB;IAChB,QAAQ,EAAE,MAAM,CAAA;IAEhB,uEAAuE;IACvE,WAAW,EAAE,MAAM,CAAA;IACnB,yDAAyD;IACzD,WAAW,EAAE,MAAM,CAAA;IACnB,2EAA2E;IAC3E,aAAa,EAAE,MAAM,CAAA;IACrB,+EAA+E;IAC/E,kBAAkB,EAAE,MAAM,CAAA;IAC1B,oEAAoE;IACpE,iBAAiB,EAAE,MAAM,CAAA;IAEzB,2EAA2E;IAC3E,UAAU,EAAE,MAAM,CAAA;IAClB,yDAAyD;IACzD,cAAc,EAAE,MAAM,CAAA;IAEtB;6CACyC;IACzC,UAAU,EAAE,MAAM,CAAA;IAClB,kCAAkC;IAClC,gBAAgB,EAAE,MAAM,CAAA;IAExB,oEAAoE;IACpE,KAAK,CAAC,EAAE,eAAe,CAAA;IACvB,iEAAiE;IACjE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,kEAAkE;IAClE,oBAAoB,EAAE,MAAM,CAAA;IAC5B,2CAA2C;IAC3C,cAAc,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/vaults/gearbox/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAErD;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,aAAa;IAC5B,wDAAwD;IACxD,OAAO,EAAE,MAAM,CAAA;IACf;;8EAE0E;IAC1E,UAAU,EAAE,MAAM,CAAA;IAClB,sDAAsD;IACtD,MAAM,EAAE,MAAM,CAAA;IACd,iDAAiD;IACjD,IAAI,EAAE,MAAM,CAAA;IACZ;oBACgB;IAChB,QAAQ,EAAE,MAAM,CAAA;IAEhB,uEAAuE;IACvE,WAAW,EAAE,MAAM,CAAA;IACnB,yDAAyD;IACzD,WAAW,EAAE,MAAM,CAAA;IACnB,2EAA2E;IAC3E,aAAa,EAAE,MAAM,CAAA;IACrB,+EAA+E;IAC/E,kBAAkB,EAAE,MAAM,CAAA;IAC1B,oEAAoE;IACpE,iBAAiB,EAAE,MAAM,CAAA;IAEzB,2EAA2E;IAC3E,UAAU,EAAE,MAAM,CAAA;IAClB,yDAAyD;IACzD,cAAc,EAAE,MAAM,CAAA;IAEtB;6CACyC;IACzC,UAAU,EAAE,MAAM,CAAA;IAClB,kCAAkC;IAClC,gBAAgB,EAAE,MAAM,CAAA;IAExB,oEAAoE;IACpE,KAAK,CAAC,EAAE,eAAe,CAAA;IACvB,iEAAiE;IACjE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,kEAAkE;IAClE,oBAAoB,EAAE,MAAM,CAAA;IAC5B,2CAA2C;IAC3C,cAAc,EAAE,MAAM,CAAA;IAEtB;;;wBAGoB;IACpB,SAAS,EAAE,MAAM,CAAA;IACjB,wDAAwD;IACxD,kBAAkB,EAAE,MAAM,CAAA;IAC1B,+DAA+D;IAC/D,YAAY,EAAE,MAAM,CAAA;CACrB;AAED,kEAAkE;AAClE,MAAM,MAAM,cAAc,GAAG;IAC3B,6EAA6E;IAC7E,CAAC,UAAU,EAAE,MAAM,GAAG,aAAa,CAAA;CACpC,CAAA"}
|
package/dist/vaults/index.d.ts
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
1
|
export * from './fluid';
|
|
2
2
|
export * from './gearbox';
|
|
3
|
+
export * from './morpho';
|
|
4
|
+
export * from './silo';
|
|
5
|
+
export { getVaultPublicDataAll, type VaultProvider, type VaultPublicDataAll, type GetVaultPublicDataAllOptions, } from './fetchVaultsAll';
|
|
3
6
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/vaults/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA;AACvB,cAAc,WAAW,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/vaults/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA;AACvB,cAAc,WAAW,CAAA;AACzB,cAAc,UAAU,CAAA;AACxB,cAAc,QAAQ,CAAA;AACtB,OAAO,EACL,qBAAqB,EACrB,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,4BAA4B,GAClC,MAAM,kBAAkB,CAAA"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { GenericTokenList } from '../../types';
|
|
2
|
+
import { MorphoVaults } from './types';
|
|
3
|
+
/**
|
|
4
|
+
* Fetches MetaMorpho vaults from the public Morpho API for a single chain.
|
|
5
|
+
*
|
|
6
|
+
* Covers all chains indexed by `blue-api.morpho.org` (Ethereum mainnet,
|
|
7
|
+
* Base, Arbitrum, Polygon, Unichain, etc.). Pages through at most
|
|
8
|
+
* `maxItems` entries — vault counts per chain are well under 200 in
|
|
9
|
+
* practice but we loop defensively for mainnet where count is highest.
|
|
10
|
+
*/
|
|
11
|
+
export declare function fetchMorphoVaultsFromApi(chainId: string, prices?: {
|
|
12
|
+
[asset: string]: number;
|
|
13
|
+
}, tokenList?: GenericTokenList, maxItems?: number): Promise<MorphoVaults>;
|
|
14
|
+
//# sourceMappingURL=fetchFromApi.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetchFromApi.d.ts","sourceRoot":"","sources":["../../../src/vaults/morpho/fetchFromApi.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAE9C,OAAO,EAAe,YAAY,EAAE,MAAM,SAAS,CAAA;AA8LnD;;;;;;;GAOG;AACH,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,MAAM,EACf,MAAM,GAAE;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAO,EACxC,SAAS,GAAE,gBAAqB,EAChC,QAAQ,SAAM,GACb,OAAO,CAAC,YAAY,CAAC,CAkBvB"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { GenericTokenList } from '../../types';
|
|
2
|
+
import { MorphoVaults } from './types';
|
|
3
|
+
/** True when the chain has a Morpho Goldsky subgraph instead of main-API coverage. */
|
|
4
|
+
export declare const hasMorphoVaultSubgraph: (chainId: string) => boolean;
|
|
5
|
+
/**
|
|
6
|
+
* Fetches MetaMorpho vaults from the Goldsky subgraph for chains not
|
|
7
|
+
* indexed by the main Morpho API (SEI, Celo, Lisk, Soneium, TAC, Hemi).
|
|
8
|
+
*/
|
|
9
|
+
export declare function fetchMorphoVaultsFromSubgraph(chainId: string, prices?: {
|
|
10
|
+
[asset: string]: number;
|
|
11
|
+
}, tokenList?: GenericTokenList): Promise<MorphoVaults>;
|
|
12
|
+
//# sourceMappingURL=fetchFromSubgraph.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetchFromSubgraph.d.ts","sourceRoot":"","sources":["../../../src/vaults/morpho/fetchFromSubgraph.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAE9C,OAAO,EAAe,YAAY,EAAE,MAAM,SAAS,CAAA;AAyBnD,sFAAsF;AACtF,eAAO,MAAM,sBAAsB,GAAI,SAAS,MAAM,KAAG,OAClB,CAAA;AAiHvC;;;GAGG;AACH,wBAAsB,6BAA6B,CACjD,OAAO,EAAE,MAAM,EACf,MAAM,GAAE;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAO,EACxC,SAAS,GAAE,gBAAqB,GAC/B,OAAO,CAAC,YAAY,CAAC,CAwBvB"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { GenericTokenList } from '../../types';
|
|
2
|
+
import { MorphoVaults } from './types';
|
|
3
|
+
/**
|
|
4
|
+
* One-shot fetcher for all MetaMorpho vaults on a chain.
|
|
5
|
+
*
|
|
6
|
+
* Routes between two data sources — the public Morpho API for chains it
|
|
7
|
+
* indexes, and Goldsky subgraphs for alt chains (Sei, Celo, Lisk,
|
|
8
|
+
* Soneium, TAC, Hemi). Data is normalized to the same `MorphoVault`
|
|
9
|
+
* shape regardless of source.
|
|
10
|
+
*
|
|
11
|
+
* Unlike `fetchFluidFTokens` / `fetchGearboxV3Pools`, no multicall
|
|
12
|
+
* executor is needed — both sources are HTTP GraphQL.
|
|
13
|
+
*
|
|
14
|
+
* @param chainId target chain
|
|
15
|
+
* @param prices optional price map keyed by oracle key / underlying
|
|
16
|
+
* @param tokenList optional token list for hydrating `asset` metadata
|
|
17
|
+
*
|
|
18
|
+
* @returns `MorphoVaults` — map keyed by lowercased vault address, or
|
|
19
|
+
* an empty object when the chain has no Morpho deployment.
|
|
20
|
+
*/
|
|
21
|
+
export declare const fetchMorphoVaults: (chainId: string, prices?: {
|
|
22
|
+
[asset: string]: number;
|
|
23
|
+
}, tokenList?: GenericTokenList) => Promise<MorphoVaults>;
|
|
24
|
+
//# sourceMappingURL=fetchPublic.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetchPublic.d.ts","sourceRoot":"","sources":["../../../src/vaults/morpho/fetchPublic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAM9C,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAEtC;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,iBAAiB,GAC5B,SAAS,MAAM,EACf,SAAQ;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAO,EACxC,YAAW,gBAAqB,KAC/B,OAAO,CAAC,YAAY,CAKtB,CAAA"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { fetchMorphoVaults } from './fetchPublic';
|
|
2
|
+
export { fetchMorphoVaultsFromApi } from './fetchFromApi';
|
|
3
|
+
export { fetchMorphoVaultsFromSubgraph, hasMorphoVaultSubgraph, } from './fetchFromSubgraph';
|
|
4
|
+
export type { MorphoVault, MorphoVaults } from './types';
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/vaults/morpho/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AACjD,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAA;AACzD,OAAO,EACL,6BAA6B,EAC7B,sBAAsB,GACvB,MAAM,qBAAqB,CAAA;AAC5B,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { GenericCurrency } from '../../types/general';
|
|
2
|
+
/**
|
|
3
|
+
* Parsed MetaMorpho vault entry.
|
|
4
|
+
*
|
|
5
|
+
* MetaMorpho vaults are standalone ERC-4626 yield vaults that allocate
|
|
6
|
+
* their deposits across one or more Morpho Blue markets (per-vault
|
|
7
|
+
* strategy configured by a curator). They are NOT a lending market — no
|
|
8
|
+
* collateral, no borrow, no liquidation — just a deposit → earn shape,
|
|
9
|
+
* modeled separately from the per-market borrow side in
|
|
10
|
+
* `src/lending/public-data/morpho/`.
|
|
11
|
+
*
|
|
12
|
+
* Multiple vaults typically exist per underlying (different curators /
|
|
13
|
+
* risk profiles), so the top-level map is keyed by vault address rather
|
|
14
|
+
* than underlying — differs from Fluid/Gearbox where one vault per
|
|
15
|
+
* underlying is the norm.
|
|
16
|
+
*/
|
|
17
|
+
export interface MorphoVault {
|
|
18
|
+
/** MetaMorpho vault (share token) contract address, lowercased. */
|
|
19
|
+
address: string;
|
|
20
|
+
/** Lowercased underlying ERC20 address. */
|
|
21
|
+
underlying: string;
|
|
22
|
+
/** Vault share-token symbol, e.g. `bbUSDC`, `steakUSDC`. */
|
|
23
|
+
symbol: string;
|
|
24
|
+
/** Vault share-token name, e.g. `Morpho USDC Steakhouse`. */
|
|
25
|
+
name: string;
|
|
26
|
+
/** Share and underlying decimals (ERC-4626 keeps them aligned). */
|
|
27
|
+
decimals: number;
|
|
28
|
+
/** Total underlying assets held by the vault, raw integer as string. */
|
|
29
|
+
totalAssets: string;
|
|
30
|
+
/** Total shares minted, raw integer as string. */
|
|
31
|
+
totalSupply: string;
|
|
32
|
+
/** Supply APR in percent, net of vault fee (e.g. `4.12` = 4.12 %). */
|
|
33
|
+
supplyRate: number;
|
|
34
|
+
/** Extra rewards APR in percent, on top of `supplyRate`. */
|
|
35
|
+
rewardsRate: number;
|
|
36
|
+
/** Sum of `supplyRate + rewardsRate` — what a depositor actually earns. */
|
|
37
|
+
depositRate: number;
|
|
38
|
+
/** Performance fee in percent (e.g. `5.0` = 5 %). */
|
|
39
|
+
fee: number;
|
|
40
|
+
/** Timelock for vault config changes, in seconds. */
|
|
41
|
+
timelock: number;
|
|
42
|
+
/** Whether the vault is listed by the Morpho frontend. Goldsky-sourced
|
|
43
|
+
* chains default to `true` (listing is Morpho-API-only). */
|
|
44
|
+
whitelisted: boolean;
|
|
45
|
+
/** Owner address, lowercased — may be absent if not set. */
|
|
46
|
+
owner?: string;
|
|
47
|
+
/** Curator address, lowercased — may be absent if not set. */
|
|
48
|
+
curator?: string;
|
|
49
|
+
/** Guardian address, lowercased — may be absent if not set. */
|
|
50
|
+
guardian?: string;
|
|
51
|
+
/** Hydrated asset metadata from the provided token list, if any. */
|
|
52
|
+
asset?: GenericCurrency;
|
|
53
|
+
/** USD price of one underlying unit, if prices were supplied / returned. */
|
|
54
|
+
priceUsd?: number;
|
|
55
|
+
/** Human-formatted total assets (`totalAssets / 10^decimals`). */
|
|
56
|
+
totalAssetsFormatted: number;
|
|
57
|
+
/** Human-formatted total assets in USD. */
|
|
58
|
+
totalAssetsUsd: number;
|
|
59
|
+
/** Underlying currently withdrawable *right now*, raw integer as string.
|
|
60
|
+
* Caps immediate withdrawals — the rest of `totalAssets` is locked in
|
|
61
|
+
* markets up to their utilisation. A vault's `publicAllocatorConfig`
|
|
62
|
+
* (when present) can expand this at tx time by reallocating between
|
|
63
|
+
* markets before the exit. Not a withdrawal timelock — MetaMorpho has
|
|
64
|
+
* no per-deposit timelock; the `timelock` field is governance-only. */
|
|
65
|
+
liquidity: string;
|
|
66
|
+
/** Human-formatted immediate withdrawable liquidity. */
|
|
67
|
+
liquidityFormatted: number;
|
|
68
|
+
/** Human-formatted immediate withdrawable liquidity in USD. */
|
|
69
|
+
liquidityUsd: number;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Full parsed payload: per-vault-address map.
|
|
73
|
+
*
|
|
74
|
+
* Morpho has many vaults per underlying (one per curator strategy), so
|
|
75
|
+
* keying by vault address keeps every entry distinct. Callers that want a
|
|
76
|
+
* per-underlying view can group by `underlying` downstream.
|
|
77
|
+
*/
|
|
78
|
+
export type MorphoVaults = {
|
|
79
|
+
/** Keyed by lowercased vault address. */
|
|
80
|
+
[vaultAddress: string]: MorphoVault;
|
|
81
|
+
};
|
|
82
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/vaults/morpho/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAErD;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,WAAW;IAC1B,mEAAmE;IACnE,OAAO,EAAE,MAAM,CAAA;IACf,2CAA2C;IAC3C,UAAU,EAAE,MAAM,CAAA;IAClB,4DAA4D;IAC5D,MAAM,EAAE,MAAM,CAAA;IACd,6DAA6D;IAC7D,IAAI,EAAE,MAAM,CAAA;IACZ,mEAAmE;IACnE,QAAQ,EAAE,MAAM,CAAA;IAEhB,wEAAwE;IACxE,WAAW,EAAE,MAAM,CAAA;IACnB,kDAAkD;IAClD,WAAW,EAAE,MAAM,CAAA;IAEnB,sEAAsE;IACtE,UAAU,EAAE,MAAM,CAAA;IAClB,4DAA4D;IAC5D,WAAW,EAAE,MAAM,CAAA;IACnB,2EAA2E;IAC3E,WAAW,EAAE,MAAM,CAAA;IAEnB,qDAAqD;IACrD,GAAG,EAAE,MAAM,CAAA;IACX,qDAAqD;IACrD,QAAQ,EAAE,MAAM,CAAA;IAChB;iEAC6D;IAC7D,WAAW,EAAE,OAAO,CAAA;IAEpB,4DAA4D;IAC5D,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,8DAA8D;IAC9D,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB,oEAAoE;IACpE,KAAK,CAAC,EAAE,eAAe,CAAA;IACvB,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,kEAAkE;IAClE,oBAAoB,EAAE,MAAM,CAAA;IAC5B,2CAA2C;IAC3C,cAAc,EAAE,MAAM,CAAA;IAEtB;;;;;4EAKwE;IACxE,SAAS,EAAE,MAAM,CAAA;IACjB,wDAAwD;IACxD,kBAAkB,EAAE,MAAM,CAAA;IAC1B,+DAA+D;IAC/D,YAAY,EAAE,MAAM,CAAA;CACrB;AAED;;;;;;GAMG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,yCAAyC;IACzC,CAAC,YAAY,EAAE,MAAM,GAAG,WAAW,CAAA;CACpC,CAAA"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { GenericTokenList } from '../../types';
|
|
2
|
+
import { SiloVaults } from './types';
|
|
3
|
+
/**
|
|
4
|
+
* One-shot fetcher for all Silo v2/v3 vaults on a chain via the public
|
|
5
|
+
* `api-v3.silo.finance` GraphQL indexer.
|
|
6
|
+
*
|
|
7
|
+
* The same endpoint serves both protocol versions — pass
|
|
8
|
+
* `protocolVersion` to narrow to just one. Returns `{}` for any chain not
|
|
9
|
+
* in `SILO_API_SUPPORTED_CHAIN_IDS` (Ethereum, Arbitrum, Avalanche, XDC,
|
|
10
|
+
* Injective at time of writing). Silo vaults on Sonic must still be
|
|
11
|
+
* fetched via a dedicated path when the indexer adds coverage.
|
|
12
|
+
*
|
|
13
|
+
* Unlike `fetchFluidFTokens` / `fetchGearboxV3Pools`, no multicall
|
|
14
|
+
* executor is needed — the source is HTTP GraphQL.
|
|
15
|
+
*/
|
|
16
|
+
export declare const fetchSiloVaults: (chainId: string, prices?: {
|
|
17
|
+
[asset: string]: number;
|
|
18
|
+
}, tokenList?: GenericTokenList, options?: {
|
|
19
|
+
protocolVersion?: "v2" | "v3";
|
|
20
|
+
limit?: number;
|
|
21
|
+
}) => Promise<SiloVaults>;
|
|
22
|
+
//# sourceMappingURL=fetchPublic.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetchPublic.d.ts","sourceRoot":"","sources":["../../../src/vaults/silo/fetchPublic.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAE9C,OAAO,EAAa,UAAU,EAAE,MAAM,SAAS,CAAA;AA4I/C;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,eAAe,GAC1B,SAAS,MAAM,EACf,SAAQ;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAO,EACxC,YAAW,gBAAqB,EAChC,UAAU;IAAE,eAAe,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,KAC1D,OAAO,CAAC,UAAU,CAoCpB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/vaults/silo/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAC/C,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { GenericCurrency } from '../../types/general';
|
|
2
|
+
/**
|
|
3
|
+
* Parsed Silo vault entry.
|
|
4
|
+
*
|
|
5
|
+
* Silo vaults ("soToken" / curated vaults) are standalone ERC-4626 yield
|
|
6
|
+
* vaults that allocate deposits across one or more Silo v2/v3 lending
|
|
7
|
+
* silos. They are NOT a lending market — no collateral, no borrow, no
|
|
8
|
+
* liquidation — just a deposit → earn shape, modeled separately from the
|
|
9
|
+
* per-silo borrow side in `src/lending/public-data/silo-v{2,3}/`.
|
|
10
|
+
*
|
|
11
|
+
* The same `api-v3.silo.finance` endpoint serves vaults for both protocol
|
|
12
|
+
* versions; `protocolVersion` distinguishes them. Multiple vaults may
|
|
13
|
+
* share an underlying (different curators / strategies), so the map is
|
|
14
|
+
* keyed by vault address like `MorphoVaults`.
|
|
15
|
+
*/
|
|
16
|
+
export interface SiloVault {
|
|
17
|
+
/** Vault (share-token) contract address, lowercased. */
|
|
18
|
+
address: string;
|
|
19
|
+
/** Lowercased underlying ERC20 address. */
|
|
20
|
+
underlying: string;
|
|
21
|
+
/** Vault share-token symbol, e.g. `soUSDC`, `soETH`. */
|
|
22
|
+
symbol: string;
|
|
23
|
+
/** Vault share-token name. */
|
|
24
|
+
name: string;
|
|
25
|
+
/** Share and underlying decimals (ERC-4626 keeps them aligned). */
|
|
26
|
+
decimals: number;
|
|
27
|
+
/** Silo protocol version this vault allocates into. */
|
|
28
|
+
protocolVersion: 'v2' | 'v3' | string;
|
|
29
|
+
/** Parent `lendingProtocol.id` from the Silo indexer, lowercased. */
|
|
30
|
+
protocolId: string;
|
|
31
|
+
/** Total underlying assets held by the vault, raw integer as string.
|
|
32
|
+
* The Silo indexer returns decimal-formatted values; we re-encode to
|
|
33
|
+
* raw wei for parity with `MorphoVault` / `FluidFToken` / `GearboxV3Pool`. */
|
|
34
|
+
totalAssets: string;
|
|
35
|
+
/** Total shares minted, raw integer as string. */
|
|
36
|
+
totalSupply: string;
|
|
37
|
+
/** Supply APR in percent, net of performance fee (mirrors Silo's `userApr`).
|
|
38
|
+
* Includes any rewards rolled into the indexer-reported user yield. */
|
|
39
|
+
supplyRate: number;
|
|
40
|
+
/** Gross pre-fee APR in percent (mirrors Silo's `apr`). Present for
|
|
41
|
+
* vaults with a non-zero performance fee where `supplyRate < grossRate`. */
|
|
42
|
+
grossRate: number;
|
|
43
|
+
/** Extra rewards APR in percent — not separately surfaced by the Silo
|
|
44
|
+
* indexer, so always 0. Kept for cross-vault API parity. */
|
|
45
|
+
rewardsRate: number;
|
|
46
|
+
/** Sum of `supplyRate + rewardsRate` — what a depositor actually earns. */
|
|
47
|
+
depositRate: number;
|
|
48
|
+
/** Performance fee in percent (e.g. `15.0` = 15 %). */
|
|
49
|
+
fee: number;
|
|
50
|
+
/** Timelock for vault config changes, in seconds. */
|
|
51
|
+
timelock: number;
|
|
52
|
+
/** Owner address, lowercased. */
|
|
53
|
+
owner?: string;
|
|
54
|
+
/** Curator address, lowercased — may be absent if not set. */
|
|
55
|
+
curator?: string;
|
|
56
|
+
/** Guardian address, lowercased — may be absent if not set. */
|
|
57
|
+
guardian?: string;
|
|
58
|
+
/** Fee recipient, lowercased — may be absent. */
|
|
59
|
+
feeRecipient?: string;
|
|
60
|
+
/** Hydrated asset metadata from the provided token list, if any. */
|
|
61
|
+
asset?: GenericCurrency;
|
|
62
|
+
/** USD price of one underlying unit, if prices were supplied / returned. */
|
|
63
|
+
priceUsd?: number;
|
|
64
|
+
/** Human-formatted total assets (`totalAssets / 10^decimals`). */
|
|
65
|
+
totalAssetsFormatted: number;
|
|
66
|
+
/** Human-formatted total assets in USD (authoritative value from the
|
|
67
|
+
* indexer when present). */
|
|
68
|
+
totalAssetsUsd: number;
|
|
69
|
+
/** Currently withdrawable underlying, raw integer as string. Silo's
|
|
70
|
+
* indexer doesn't expose an immediate-withdraw figure, so this is a
|
|
71
|
+
* `totalAssets` fallback — optimistic ceiling, not a hard withdraw
|
|
72
|
+
* cap. Kept for cross-vault field parity. */
|
|
73
|
+
liquidity: string;
|
|
74
|
+
/** Human-formatted immediate withdrawable liquidity. */
|
|
75
|
+
liquidityFormatted: number;
|
|
76
|
+
/** Human-formatted immediate withdrawable liquidity in USD. */
|
|
77
|
+
liquidityUsd: number;
|
|
78
|
+
}
|
|
79
|
+
/** Full parsed payload: per-vault-address map. */
|
|
80
|
+
export type SiloVaults = {
|
|
81
|
+
/** Keyed by lowercased vault address. */
|
|
82
|
+
[vaultAddress: string]: SiloVault;
|
|
83
|
+
};
|
|
84
|
+
//# sourceMappingURL=types.d.ts.map
|