@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.
Files changed (44) hide show
  1. package/dist/index.d.ts +2 -2
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +900 -77
  4. package/dist/index.js.map +1 -1
  5. package/dist/lending/index.d.ts +1 -1
  6. package/dist/lending/index.d.ts.map +1 -1
  7. package/dist/lending/public-data/aave-v3-type/publicCallBuild.d.ts.map +1 -1
  8. package/dist/lending/public-data/aave-v3-type/publicCallParse.d.ts.map +1 -1
  9. package/dist/lending/user-data/aave-v4-type/createAaveV4UserState.d.ts.map +1 -1
  10. package/dist/lending/user-data/gearbox/userCallParse.d.ts.map +1 -1
  11. package/dist/lending/user-data/morpho/fetchUserPositionsFromSubgraph.d.ts +44 -0
  12. package/dist/lending/user-data/morpho/fetchUserPositionsFromSubgraph.d.ts.map +1 -0
  13. package/dist/lending/user-data/morpho/index.d.ts +1 -0
  14. package/dist/lending/user-data/morpho/index.d.ts.map +1 -1
  15. package/dist/lending/user-data/with-permissions/types.d.ts +6 -0
  16. package/dist/lending/user-data/with-permissions/types.d.ts.map +1 -1
  17. package/dist/types/lenderTypes.d.ts +16 -1
  18. package/dist/types/lenderTypes.d.ts.map +1 -1
  19. package/dist/utils/index.d.ts.map +1 -1
  20. package/dist/vaults/fetchVaultsAll.d.ts +56 -0
  21. package/dist/vaults/fetchVaultsAll.d.ts.map +1 -0
  22. package/dist/vaults/fluid/types.d.ts +9 -0
  23. package/dist/vaults/fluid/types.d.ts.map +1 -1
  24. package/dist/vaults/gearbox/types.d.ts +9 -0
  25. package/dist/vaults/gearbox/types.d.ts.map +1 -1
  26. package/dist/vaults/index.d.ts +3 -0
  27. package/dist/vaults/index.d.ts.map +1 -1
  28. package/dist/vaults/morpho/fetchFromApi.d.ts +14 -0
  29. package/dist/vaults/morpho/fetchFromApi.d.ts.map +1 -0
  30. package/dist/vaults/morpho/fetchFromSubgraph.d.ts +12 -0
  31. package/dist/vaults/morpho/fetchFromSubgraph.d.ts.map +1 -0
  32. package/dist/vaults/morpho/fetchPublic.d.ts +24 -0
  33. package/dist/vaults/morpho/fetchPublic.d.ts.map +1 -0
  34. package/dist/vaults/morpho/index.d.ts +5 -0
  35. package/dist/vaults/morpho/index.d.ts.map +1 -0
  36. package/dist/vaults/morpho/types.d.ts +82 -0
  37. package/dist/vaults/morpho/types.d.ts.map +1 -0
  38. package/dist/vaults/silo/fetchPublic.d.ts +22 -0
  39. package/dist/vaults/silo/fetchPublic.d.ts.map +1 -0
  40. package/dist/vaults/silo/index.d.ts +3 -0
  41. package/dist/vaults/silo/index.d.ts.map +1 -0
  42. package/dist/vaults/silo/types.d.ts +84 -0
  43. package/dist/vaults/silo/types.d.ts.map +1 -0
  44. package/package.json +5 -4
@@ -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":"AAcA,0EAA0E;AAC1E,eAAO,MAAM,cAAc,GAAI,OAAO,MAAM,EAAE,QAAQ,MAAM,aAiB3D,CAAA;AA+ED,eAAO,MAAM,iCAAiC,GAC5C,SAAS,MAAM,EACf,QAAQ,MAAM,2CAqEf,CAAA"}
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,CA2OnE,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,CAmJ5C"}
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,CA0VV"}
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;AAiBvB;;;;;;;;;;;;;;;;;;;;;;;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,CAsNtE,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,4 +1,5 @@
1
1
  export * from './decoder';
2
2
  export * from './types';
3
3
  export * from './userCallBuild';
4
+ export * from './fetchUserPositionsFromSubgraph';
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -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;CAC1B;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,QAAQ,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE,EAAE,CAAA;CACjD;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAA;IACf,cAAc,EAAE,MAAM,EAAE,CAAA;IACxB,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,iBAAiB,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,GAAG,CAAA;KAAE,CAAA;CACnC;AAED,MAAM,WAAW,iBAAiB;IAChC,cAAc,EAAE,MAAM,EAAE,CAAA;IACxB,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,iBAAiB,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,GAAG,CAAA;KAAE,CAAA;CACnC;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,iBAAiB,EAAE,CAAA;IAC5B,aAAa,EAAE,YAAY,EAAE,CAAA;IAC7B,QAAQ,EAAE,UAAU,EAAE,CAAA;IACtB,yDAAyD;IACzD,sBAAsB,EAAE,MAAM,CAAA;IAC9B,6DAA6D;IAC7D,mBAAmB,EAAE,MAAM,CAAA;IAC3B,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,cAAc,EAAE,cAAc,CAAA;IAC9B,cAAc,EAAE,eAAe,EAAE,CAAA;CAClC;AAED,MAAM,WAAW,6BAA6B;IAC5C,qFAAqF;IACrF,KAAK,EAAE,IAAI,EAAE,CAAA;IACb,+CAA+C;IAC/C,IAAI,EAAE,GAAG,EAAE,CAAA;IACX,yDAAyD;IACzD,sBAAsB,EAAE,MAAM,CAAA;IAC9B,6DAA6D;IAC7D,mBAAmB,EAAE,MAAM,CAAA;IAC3B,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,cAAc,EAAE,cAAc,CAAA;IAC9B,cAAc,EAAE,eAAe,EAAE,CAAA;CAClC;AAED,MAAM,WAAW,cAAc;IAC7B,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IACzC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;IAC5C,QAAQ,EAAE;QAAE,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAA;KAAE,CAAA;CACzC"}
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
- /** Filter all morphos into one for querying */
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":"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"}
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;AAgChC,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"}
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;CACvB;AAED,kEAAkE;AAClE,MAAM,MAAM,YAAY,GAAG;IACzB,6EAA6E;IAC7E,CAAC,UAAU,EAAE,MAAM,GAAG,WAAW,CAAA;CAClC,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;CACvB;AAED,kEAAkE;AAClE,MAAM,MAAM,cAAc,GAAG;IAC3B,6EAA6E;IAC7E,CAAC,UAAU,EAAE,MAAM,GAAG,aAAa,CAAA;CACpC,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"}
@@ -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,3 @@
1
+ export { fetchSiloVaults } from './fetchPublic';
2
+ export type { SiloVault, SiloVaults } from './types';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -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