@1delta/margin-fetcher 0.0.273 → 0.0.275

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 (58) hide show
  1. package/dist/index.d.ts +1 -1
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +895 -202
  4. package/dist/index.js.map +1 -1
  5. package/dist/vaults/assetDecimals.d.ts +14 -0
  6. package/dist/vaults/assetDecimals.d.ts.map +1 -0
  7. package/dist/vaults/classification.d.ts.map +1 -1
  8. package/dist/vaults/fetchVaultsAll.d.ts +5 -1
  9. package/dist/vaults/fetchVaultsAll.d.ts.map +1 -1
  10. package/dist/vaults/fluid/fetchPublic.d.ts.map +1 -1
  11. package/dist/vaults/gmx/abis.d.ts +15 -0
  12. package/dist/vaults/gmx/abis.d.ts.map +1 -1
  13. package/dist/vaults/gmx/fetchPublic.d.ts.map +1 -1
  14. package/dist/vaults/gmx/index.d.ts +1 -1
  15. package/dist/vaults/gmx/index.d.ts.map +1 -1
  16. package/dist/vaults/gmx/keys.d.ts +20 -0
  17. package/dist/vaults/gmx/keys.d.ts.map +1 -1
  18. package/dist/vaults/gmx/pricing.d.ts +30 -3
  19. package/dist/vaults/gmx/pricing.d.ts.map +1 -1
  20. package/dist/vaults/gmx/types.d.ts +17 -0
  21. package/dist/vaults/gmx/types.d.ts.map +1 -1
  22. package/dist/vaults/index.d.ts +1 -0
  23. package/dist/vaults/index.d.ts.map +1 -1
  24. package/dist/vaults/lookup.d.ts.map +1 -1
  25. package/dist/vaults/lst/abis/etherfi.d.ts +14 -1
  26. package/dist/vaults/lst/abis/etherfi.d.ts.map +1 -1
  27. package/dist/vaults/lst/fetchPublic.d.ts.map +1 -1
  28. package/dist/vaults/lst/readers/etherfi.d.ts +8 -6
  29. package/dist/vaults/lst/readers/etherfi.d.ts.map +1 -1
  30. package/dist/vaults/lst/readers/shared.d.ts +20 -0
  31. package/dist/vaults/lst/readers/shared.d.ts.map +1 -1
  32. package/dist/vaults/lst/types.d.ts +13 -7
  33. package/dist/vaults/lst/types.d.ts.map +1 -1
  34. package/dist/vaults/lst/withdrawals/registry.d.ts.map +1 -1
  35. package/dist/vaults/morpho/allocationWalk.d.ts +11 -0
  36. package/dist/vaults/morpho/allocationWalk.d.ts.map +1 -1
  37. package/dist/vaults/morpho/fetchFromChain.d.ts +4 -3
  38. package/dist/vaults/morpho/fetchFromChain.d.ts.map +1 -1
  39. package/dist/vaults/morpho/fetchListaFromChain.d.ts.map +1 -1
  40. package/dist/vaults/morpho/fetchPublic.d.ts +8 -5
  41. package/dist/vaults/morpho/fetchPublic.d.ts.map +1 -1
  42. package/dist/vaults/morpho/index.d.ts +0 -1
  43. package/dist/vaults/morpho/index.d.ts.map +1 -1
  44. package/dist/vaults/savings/fetchPublic.d.ts.map +1 -1
  45. package/dist/vaults/savings/types.d.ts +12 -0
  46. package/dist/vaults/savings/types.d.ts.map +1 -1
  47. package/dist/vaults/silo/fetchPublic.d.ts.map +1 -1
  48. package/dist/vaults/yearn/api.d.ts +93 -0
  49. package/dist/vaults/yearn/api.d.ts.map +1 -0
  50. package/dist/vaults/yearn/fetchPublic.d.ts +21 -0
  51. package/dist/vaults/yearn/fetchPublic.d.ts.map +1 -0
  52. package/dist/vaults/yearn/index.d.ts +4 -0
  53. package/dist/vaults/yearn/index.d.ts.map +1 -0
  54. package/dist/vaults/yearn/types.d.ts +104 -0
  55. package/dist/vaults/yearn/types.d.ts.map +1 -0
  56. package/package.json +4 -4
  57. package/dist/vaults/morpho/fetchFromSubgraph.d.ts +0 -12
  58. package/dist/vaults/morpho/fetchFromSubgraph.d.ts.map +0 -1
@@ -0,0 +1,14 @@
1
+ import { MulticallRetryFunction } from '../types';
2
+ /**
3
+ * Read each underlying token's ERC-20 `decimals()`, keyed by lowercased
4
+ * address. Used by the on-chain vault fetchers to format `totalAssets`
5
+ * (denominated in *underlying* units) with the asset's own decimals rather
6
+ * than the vault's share `decimals()` — which, for ERC-4626 vaults with a
7
+ * decimals offset (e.g. MetaMorpho's 18-decimal shares over a 6-decimal
8
+ * asset), would blow the formatted value up/down by 10^offset.
9
+ *
10
+ * `allowFailure` + range-checked so a flaky read on one token can't poison the
11
+ * batch; callers fall back to the share decimals when an entry is missing.
12
+ */
13
+ export declare function fetchAssetDecimals(chainId: string, underlyings: string[], multicallRetry: MulticallRetryFunction): Promise<Map<string, number>>;
14
+ //# sourceMappingURL=assetDecimals.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assetDecimals.d.ts","sourceRoot":"","sources":["../../src/vaults/assetDecimals.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAA;AAOjD;;;;;;;;;;GAUG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EAAE,EACrB,cAAc,EAAE,sBAAsB,GACrC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAkB9B"}
@@ -1 +1 @@
1
- {"version":3,"file":"classification.d.ts","sourceRoot":"","sources":["../../src/vaults/classification.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAEzE;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,YAAY,GAAG,eAAe,GAAG,UAAU,CAAA;AACvD,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,UAAU,CAAA;AAEhD,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,YAAY,CAAA;IAC1B,YAAY,EAAE,YAAY,CAAA;CAC3B;AAED;;;;GAIG;AACH,MAAM,WAAW,yBAAyB;IACxC,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,YAAY,CAAC,EAAE,YAAY,CAAA;CAC5B;AAUD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,wBAAwB,aAEnC,CAAA;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,aAkF7B,CAAA;AAKF,mEAAmE;AACnE,eAAO,MAAM,kBAAkB,GAAI,QAAQ,MAAM,GAAG,SAAS,KAAG,OAS/D,CAAA;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,aAAa,GAAG,WAAW,CAAA;IACrC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAA;IACxB,OAAO,EAAE,MAAM,CAAA;IACf,mEAAmE;IACnE,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B;AAED;;;;GAIG;AACH,eAAO,MAAM,aAAa,GACxB,OAAO,kBAAkB,KACxB,mBAUF,CAAA;AASD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,wBAAwB,GACnC,MAAM,kBAAkB,EACxB,SAAS,MAAM,GAAG,MAAM,KACvB,IA0BF,CAAA"}
1
+ {"version":3,"file":"classification.d.ts","sourceRoot":"","sources":["../../src/vaults/classification.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAEzE;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,YAAY,GAAG,eAAe,GAAG,UAAU,CAAA;AACvD,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,UAAU,CAAA;AAEhD,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,YAAY,CAAA;IAC1B,YAAY,EAAE,YAAY,CAAA;CAC3B;AAED;;;;GAIG;AACH,MAAM,WAAW,yBAAyB;IACxC,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,YAAY,CAAC,EAAE,YAAY,CAAA;CAC5B;AAUD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,wBAAwB,aAEnC,CAAA;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,aAkF7B,CAAA;AAKF,mEAAmE;AACnE,eAAO,MAAM,kBAAkB,GAAI,QAAQ,MAAM,GAAG,SAAS,KAAG,OAS/D,CAAA;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,aAAa,GAAG,WAAW,CAAA;IACrC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAA;IACxB,OAAO,EAAE,MAAM,CAAA;IACf,mEAAmE;IACnE,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B;AAED;;;;GAIG;AACH,eAAO,MAAM,aAAa,GACxB,OAAO,kBAAkB,KACxB,mBAUF,CAAA;AASD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,wBAAwB,GACnC,MAAM,kBAAkB,EACxB,SAAS,MAAM,GAAG,MAAM,KACvB,IA2BF,CAAA"}
@@ -8,11 +8,12 @@ import type { EulerEarnVaults } from './euler-earn/types';
8
8
  import type { LstShareTokens } from './lst';
9
9
  import type { SavingsVaults } from './savings';
10
10
  import type { LagoonVaults } from './lagoon';
11
+ import type { YearnVaults } from './yearn';
11
12
  import type { HypercoreVaults } from './hypercore';
12
13
  import type { GmxVaults, GmxExecutionFees } from './gmx';
13
14
  import { type VaultLookupEntry } from './lookup';
14
15
  /** Supported ERC-4626 vault providers. */
15
- export type VaultProvider = 'fluid' | 'gearbox' | 'morpho' | 'lista' | 'silo' | 'euler-earn' | 'lst' | 'savings' | 'lagoon' | 'hypercore' | 'gmx';
16
+ export type VaultProvider = 'fluid' | 'gearbox' | 'morpho' | 'lista' | 'silo' | 'euler-earn' | 'lst' | 'savings' | 'lagoon' | 'yearn' | 'hypercore' | 'gmx';
16
17
  /** Chain under which the Hyperliquid HyperCore (L1) vaults are surfaced.
17
18
  * HyperCore is not an EVM chain; we attribute its vaults to the
18
19
  * Hyperliquid umbrella chain (HyperEVM, 999) so a single
@@ -37,6 +38,9 @@ export interface VaultPublicDataAll {
37
38
  lst?: LstShareTokens;
38
39
  savings?: SavingsVaults;
39
40
  lagoon?: LagoonVaults;
41
+ /** Yearn V3 vaults (VaultV3 + TokenizedStrategy ERC-4626). Discovered
42
+ * via the yDaemon API; keyed by lowercased vault address. */
43
+ yearn?: YearnVaults;
40
44
  /** Hyperliquid HyperCore (L1) perp/HLP vaults. Only populated for the
41
45
  * Hyperliquid chain ({@link HYPERCORE_PROVIDER_CHAIN}). Keyed by
42
46
  * lowercased vault address. */
@@ -1 +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;AAcnD,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;AAC9C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAC3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAC5C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAA;AACxD,OAAO,EAAoB,KAAK,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAUlE,0CAA0C;AAC1C,MAAM,MAAM,aAAa,GACrB,OAAO,GACP,SAAS,GACT,QAAQ,GACR,OAAO,GACP,MAAM,GACN,YAAY,GACZ,KAAK,GACL,SAAS,GACT,QAAQ,GACR,WAAW,GACX,KAAK,CAAA;AAET;;;wDAGwD;AACxD,eAAO,MAAM,wBAAwB,QAAQ,CAAA;AAE7C;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,YAAY,CAAA;IACpB,OAAO,CAAC,EAAE,cAAc,CAAA;IACxB,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB;;2EAEuE;IACvE,KAAK,CAAC,EAAE,YAAY,CAAA;IACpB,IAAI,CAAC,EAAE,UAAU,CAAA;IACjB,YAAY,CAAC,EAAE,eAAe,CAAA;IAC9B,GAAG,CAAC,EAAE,cAAc,CAAA;IACpB,OAAO,CAAC,EAAE,aAAa,CAAA;IACvB,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB;;oCAEgC;IAChC,SAAS,CAAC,EAAE,eAAe,CAAA;IAC3B;;iEAE6D;IAC7D,GAAG,CAAC,EAAE,SAAS,CAAA;IACf;0EACsE;IACtE,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;CACpC;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;;;;;;GAMG;AACH,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,kBAAkB,CAAA;IACxB,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;CACtC;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,qBAAqB,CAoN/B,CAAA"}
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;AAenD,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;AAC9C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAC3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAC5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAC1C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAA;AACxD,OAAO,EAAoB,KAAK,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAUlE,0CAA0C;AAC1C,MAAM,MAAM,aAAa,GACrB,OAAO,GACP,SAAS,GACT,QAAQ,GACR,OAAO,GACP,MAAM,GACN,YAAY,GACZ,KAAK,GACL,SAAS,GACT,QAAQ,GACR,OAAO,GACP,WAAW,GACX,KAAK,CAAA;AAET;;;wDAGwD;AACxD,eAAO,MAAM,wBAAwB,QAAQ,CAAA;AAE7C;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,YAAY,CAAA;IACpB,OAAO,CAAC,EAAE,cAAc,CAAA;IACxB,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB;;2EAEuE;IACvE,KAAK,CAAC,EAAE,YAAY,CAAA;IACpB,IAAI,CAAC,EAAE,UAAU,CAAA;IACjB,YAAY,CAAC,EAAE,eAAe,CAAA;IAC9B,GAAG,CAAC,EAAE,cAAc,CAAA;IACpB,OAAO,CAAC,EAAE,aAAa,CAAA;IACvB,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB;kEAC8D;IAC9D,KAAK,CAAC,EAAE,WAAW,CAAA;IACnB;;oCAEgC;IAChC,SAAS,CAAC,EAAE,eAAe,CAAA;IAC3B;;iEAE6D;IAC7D,GAAG,CAAC,EAAE,SAAS,CAAA;IACf;0EACsE;IACtE,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;CACpC;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;;;;;;GAMG;AACH,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,kBAAkB,CAAA;IACxB,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;CACtC;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,qBAAqB,CAmO/B,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"fetchPublic.d.ts","sourceRoot":"","sources":["../../../src/vaults/fluid/fetchPublic.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAItE,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAEtC;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,iBAAiB,GAC5B,SAAS,MAAM,EACf,gBAAgB,sBAAsB,EACtC,SAAQ;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAO,EACxC,YAAW,gBAAqB,KAC/B,OAAO,CAAC,YAAY,CA+BtB,CAAA"}
1
+ {"version":3,"file":"fetchPublic.d.ts","sourceRoot":"","sources":["../../../src/vaults/fluid/fetchPublic.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAMtE,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAEtC;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,iBAAiB,GAC5B,SAAS,MAAM,EACf,gBAAgB,sBAAsB,EACtC,SAAQ;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAO,EACxC,YAAW,gBAAqB,KAC/B,OAAO,CAAC,YAAY,CA2DtB,CAAA"}
@@ -587,4 +587,19 @@ export declare const GmxErc20BalanceAbi: readonly [{
587
587
  readonly type: "uint256";
588
588
  }];
589
589
  }];
590
+ /** GLV token's internally-tracked GM balance per market (the value GMX's
591
+ * per-market GLV cap is enforced against — not the ERC-20 `balanceOf`). */
592
+ export declare const GmxGlvTokenBalancesAbi: readonly [{
593
+ readonly name: "tokenBalances";
594
+ readonly type: "function";
595
+ readonly stateMutability: "view";
596
+ readonly inputs: readonly [{
597
+ readonly name: "token";
598
+ readonly type: "address";
599
+ }];
600
+ readonly outputs: readonly [{
601
+ readonly name: "";
602
+ readonly type: "uint256";
603
+ }];
604
+ }];
590
605
  //# sourceMappingURL=abis.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"abis.d.ts","sourceRoot":"","sources":["../../../src/vaults/gmx/abis.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAgFH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqBf,CAAA;AAwFV,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyBlB,CAAA;AAEV,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;EAYlB,CAAA;AAOV,8EAA8E;AAC9E,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6ChB,CAAA;AAEV,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+CnB,CAAA;AAEV,+EAA+E;AAC/E,eAAO,MAAM,mBAAmB;;;;;;;;;;;;EAQtB,CAAA;AAEV,eAAO,MAAM,kBAAkB;;;;;;;;;;;;EAQrB,CAAA"}
1
+ {"version":3,"file":"abis.d.ts","sourceRoot":"","sources":["../../../src/vaults/gmx/abis.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAgFH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqBf,CAAA;AAwFV,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyBlB,CAAA;AAEV,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;EAYlB,CAAA;AAUV,8EAA8E;AAC9E,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6ChB,CAAA;AAEV,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+CnB,CAAA;AAEV,+EAA+E;AAC/E,eAAO,MAAM,mBAAmB;;;;;;;;;;;;EAQtB,CAAA;AAEV,eAAO,MAAM,kBAAkB;;;;;;;;;;;;EAQrB,CAAA;AAEV;4EAC4E;AAC5E,eAAO,MAAM,sBAAsB;;;;;;;;;;;;EAQzB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"fetchPublic.d.ts","sourceRoot":"","sources":["../../../src/vaults/gmx/fetchPublic.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAQzD,OAAO,KAAK,EAAY,SAAS,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAsBzE;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,cAAc,GACzB,SAAS,MAAM,EACf,iBAAiB,sBAAsB,EACvC,UAAU,qBAAqB,KAC9B,OAAO,CAAC,SAAS,CAmInB,CAAA"}
1
+ {"version":3,"file":"fetchPublic.d.ts","sourceRoot":"","sources":["../../../src/vaults/gmx/fetchPublic.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AASzD,OAAO,KAAK,EAAY,SAAS,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAmDzE;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,cAAc,GACzB,SAAS,MAAM,EACf,iBAAiB,sBAAsB,EACvC,UAAU,qBAAqB,KAC9B,OAAO,CAAC,SAAS,CAwKnB,CAAA"}
@@ -1,7 +1,7 @@
1
1
  export { fetchGmxVaults } from './fetchPublic';
2
2
  export { getGmxUserPositions } from './fetchUser';
3
3
  export { fetchGmxTickerPrices, priceGmMarkets, priceGlvVaults, fetchGmxExecutionFees, } from './pricing';
4
- export { GMX_API_HOSTS, GMX_SUPPORTED_CHAINS, getGmxApiHost, } from './registry';
4
+ export { GMX_API_HOSTS, GMX_SUPPORTED_CHAINS, getGmxApiHost } from './registry';
5
5
  export { GMX_READ_CONTRACTS, getGmxReadContracts, type GmxReadContracts, } from './contracts';
6
6
  export { accountDepositListKey, accountWithdrawalListKey } from './keys';
7
7
  export type { GmxVault, GmxVaults, GmxVaultKind, GmxVaultsFetchOptions, GmxUserBalance, GmxPendingDeposit, GmxPendingWithdrawal, GmxUserPositions, GmxUserPositionsOptions, GmxExecutionFees, } from './types';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/vaults/gmx/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,cAAc,EACd,qBAAqB,GACtB,MAAM,WAAW,CAAA;AAClB,OAAO,EACL,aAAa,EACb,oBAAoB,EACpB,aAAa,GACd,MAAM,YAAY,CAAA;AACnB,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,KAAK,gBAAgB,GACtB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,MAAM,QAAQ,CAAA;AACxE,YAAY,EACV,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,qBAAqB,EACrB,cAAc,EACd,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,EAChB,uBAAuB,EACvB,gBAAgB,GACjB,MAAM,SAAS,CAAA;AAChB,YAAY,EACV,WAAW,EACX,cAAc,EACd,aAAa,EACb,UAAU,EACV,YAAY,GACb,MAAM,OAAO,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/vaults/gmx/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,cAAc,EACd,qBAAqB,GACtB,MAAM,WAAW,CAAA;AAClB,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAC/E,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,KAAK,gBAAgB,GACtB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,MAAM,QAAQ,CAAA;AACxE,YAAY,EACV,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,qBAAqB,EACrB,cAAc,EACd,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,EAChB,uBAAuB,EACvB,gBAAgB,GACjB,MAAM,SAAS,CAAA;AAChB,YAAY,EACV,WAAW,EACX,cAAc,EACd,aAAa,EACb,UAAU,EACV,YAAY,GACb,MAAM,OAAO,CAAA"}
@@ -22,4 +22,24 @@ export declare const GMX_GAS_KEYS: {
22
22
  readonly glvWithdrawalGasLimit: `0x${string}`;
23
23
  readonly glvPerMarketGasLimit: `0x${string}`;
24
24
  };
25
+ /** Cap on a market's pool token amount (native units). `Keys.maxPoolAmountKey`. */
26
+ export declare const maxPoolAmountKey: (market: Address, token: Address) => Hex;
27
+ /** Cap on a market's pool value (USD, 1e30) for deposits.
28
+ * `Keys.maxPoolUsdForDepositKey`. */
29
+ export declare const maxPoolUsdForDepositKey: (market: Address, token: Address) => Hex;
30
+ /** Cap on the USD value of GM tokens a GLV may hold for one market.
31
+ * `Keys.glvMaxMarketTokenBalanceUsdKey` — keyed by (glv, market). */
32
+ export declare const glvMaxMarketTokenBalanceUsdKey: (glv: Address, market: Address) => Hex;
33
+ /** Cap on the GM token amount a GLV may hold for one market (native units).
34
+ * `Keys.glvMaxMarketTokenBalanceAmountKey` — keyed by (glv, market). */
35
+ export declare const glvMaxMarketTokenBalanceAmountKey: (glv: Address, market: Address) => Hex;
36
+ /** Market open interest (USD, 1e30) on one side, for positions collateralised
37
+ * in `collateralToken`. Mirrors `Keys.openInterestKey`. */
38
+ export declare const openInterestKey: (market: Address, collateralToken: Address, isLong: boolean) => Hex;
39
+ /** Market open interest in index tokens (native units) on one side, for
40
+ * positions collateralised in `collateralToken`. `Keys.openInterestInTokensKey`. */
41
+ export declare const openInterestInTokensKey: (market: Address, collateralToken: Address, isLong: boolean) => Hex;
42
+ /** Market reserve factor (1e30) on one side — the fraction of the side's pool
43
+ * value that may be reserved for open positions. `Keys.reserveFactorKey`. */
44
+ export declare const reserveFactorKey: (market: Address, isLong: boolean) => Hex;
25
45
  //# sourceMappingURL=keys.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"keys.d.ts","sourceRoot":"","sources":["../../../src/vaults/gmx/keys.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkC,KAAK,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,MAAM,CAAA;AA0B7E,0EAA0E;AAC1E,eAAO,MAAM,qBAAqB,GAAI,SAAS,OAAO,KAAG,GACV,CAAA;AAE/C,6EAA6E;AAC7E,eAAO,MAAM,wBAAwB,GAAI,SAAS,OAAO,KAAG,GACV,CAAA;AAElD;;;GAGG;AACH,eAAO,MAAM,0BAA0B,eAA2C,CAAA;AAElF;;;;GAIG;AACH,eAAO,MAAM,YAAY;;;;;;;;CAUf,CAAA"}
1
+ {"version":3,"file":"keys.d.ts","sourceRoot":"","sources":["../../../src/vaults/gmx/keys.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkC,KAAK,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,MAAM,CAAA;AA0B7E,0EAA0E;AAC1E,eAAO,MAAM,qBAAqB,GAAI,SAAS,OAAO,KAAG,GACV,CAAA;AAE/C,6EAA6E;AAC7E,eAAO,MAAM,wBAAwB,GAAI,SAAS,OAAO,KAAG,GACV,CAAA;AAElD;;;GAGG;AACH,eAAO,MAAM,0BAA0B,eAEtC,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,YAAY;;;;;;;;CAUf,CAAA;AA0BV,mFAAmF;AACnF,eAAO,MAAM,gBAAgB,GAAI,QAAQ,OAAO,EAAE,OAAO,OAAO,KAAG,GACnB,CAAA;AAEhD;sCACsC;AACtC,eAAO,MAAM,uBAAuB,GAAI,QAAQ,OAAO,EAAE,OAAO,OAAO,KAAG,GACjB,CAAA;AAEzD;sEACsE;AACtE,eAAO,MAAM,8BAA8B,GACzC,KAAK,OAAO,EACZ,QAAQ,OAAO,KACd,GAAoE,CAAA;AAEvE;yEACyE;AACzE,eAAO,MAAM,iCAAiC,GAC5C,KAAK,OAAO,EACZ,QAAQ,OAAO,KACd,GAAuE,CAAA;AA8B1E;4DAC4D;AAC5D,eAAO,MAAM,eAAe,GAC1B,QAAQ,OAAO,EACf,iBAAiB,OAAO,EACxB,QAAQ,OAAO,KACd,GAA0E,CAAA;AAE7E;qFACqF;AACrF,eAAO,MAAM,uBAAuB,GAClC,QAAQ,OAAO,EACf,iBAAiB,OAAO,EACxB,QAAQ,OAAO,KACd,GAC4E,CAAA;AAE/E;8EAC8E;AAC9E,eAAO,MAAM,gBAAgB,GAAI,QAAQ,OAAO,EAAE,QAAQ,OAAO,KAAG,GAMjE,CAAA"}
@@ -14,6 +14,15 @@ export declare const fetchGmxTickerPrices: (chainId: string, apiUrlOverride?: st
14
14
  export interface GmxUsdValue {
15
15
  priceUsd: number;
16
16
  tvlUsd: number;
17
+ /** Max withdrawable USD — what a holder of the whole vault could pull out
18
+ * now: pool value minus the part reserved to back open trader positions,
19
+ * capped at {@link tvlUsd}. The withdrawal-side liquidity. Absent when the
20
+ * reserve reads failed; see {@link priceGmMarkets}. */
21
+ liquidityUsd?: number;
22
+ /** Remaining deposit capacity in USD — how much more liquidity the market
23
+ * can accept before hitting GMX's pool caps. Absent when the cap reads
24
+ * failed or no cap is configured; see {@link priceGmMarkets}. */
25
+ depositCapacityUsd?: number;
17
26
  }
18
27
  interface GmMarketInput {
19
28
  marketToken: string;
@@ -31,16 +40,34 @@ export declare const priceGmMarkets: (chainId: string, multicallRetry: Multicall
31
40
  /**
32
41
  * Value GLV tokens in USD. Two stages: `getGlvInfo` (each GLV → its
33
42
  * constituent GM markets), then `getGlvTokenPrice` with the per-market
34
- * index-price array assembled from `/prices/tickers`. Returns the value map
35
- * plus the largest GLV market count (used to size the GLV execution-fee gas
36
- * estimate). Best-effort empty on failure.
43
+ * index-price array assembled from `/prices/tickers`. Returns the value map,
44
+ * the largest GLV market count (used to size the GLV execution-fee gas
45
+ * estimate), and each GLV's constituent GM markets (lowercased) so callers
46
+ * can approximate GLV withdrawable liquidity from the per-market figures.
47
+ * Best-effort — empty on failure.
37
48
  */
38
49
  export declare const priceGlvVaults: (chainId: string, multicallRetry: MulticallRetryFunction, glvTokens: string[], prices: TickerPrices,
39
50
  /** market address (lowercased) → its index token address. From `/markets`. */
40
51
  marketIndexToken: Map<string, string>) => Promise<{
41
52
  values: Map<string, GmxUsdValue>;
42
53
  maxMarketCount: number;
54
+ /** GLV address (lowercased) → its constituent GM markets (lowercased). */
55
+ glvMarkets: Map<string, string[]>;
56
+ /** GLV address (lowercased) → its per-market balance caps + current holding,
57
+ * for the GLV deposit-capacity approximation. */
58
+ glvCaps: Map<string, GlvMarketCap[]>;
43
59
  }>;
60
+ /** Per-(glv, market) GLV deposit-cap state. Balances/amounts in GM-token
61
+ * native units (18-dec); `maxBalUsd` in GMX 1e30 USD. A `0n` cap means that
62
+ * cap is not enforced. */
63
+ export interface GlvMarketCap {
64
+ /** GM market token address, lowercased. */
65
+ market: string;
66
+ maxBalUsd: bigint;
67
+ maxBalAmount: bigint;
68
+ /** GLV's current GM-token holding for this market. */
69
+ balanceAmount: bigint;
70
+ }
44
71
  /**
45
72
  * Estimate per-chain minimum execution fees for the four GM/GLV request
46
73
  * types. Reads the DataStore gas-limit + multiplier config in one multicall
@@ -1 +1 @@
1
- {"version":3,"file":"pricing.d.ts","sourceRoot":"","sources":["../../../src/vaults/gmx/pricing.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AASzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAW/C,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;CACZ;AACD,MAAM,MAAM,YAAY,GAAG,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;AAQnD;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,GAC/B,SAAS,MAAM,EACf,iBAAiB,MAAM,KACtB,OAAO,CAAC,YAAY,CAoBtB,CAAA;AAKD,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;CACf;AAED,UAAU,aAAa;IACrB,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;CACnB;AAED;;;;;GAKG;AACH,eAAO,MAAM,cAAc,GACzB,SAAS,MAAM,EACf,gBAAgB,sBAAsB,EACtC,SAAS,aAAa,EAAE,EACxB,QAAQ,YAAY,KACnB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CA0DlC,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,GACzB,SAAS,MAAM,EACf,gBAAgB,sBAAsB,EACtC,WAAW,MAAM,EAAE,EACnB,QAAQ,YAAY;AACpB,8EAA8E;AAC9E,kBAAkB,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,KACpC,OAAO,CAAC;IAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE,CAuFtE,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,GAChC,SAAS,MAAM,EACf,gBAAgB,sBAAsB,EACtC,aAAa,MAAM,KAClB,OAAO,CAAC,gBAAgB,GAAG,SAAS,CA6CtC,CAAA"}
1
+ {"version":3,"file":"pricing.d.ts","sourceRoot":"","sources":["../../../src/vaults/gmx/pricing.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAoBzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAa/C,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;CACZ;AACD,MAAM,MAAM,YAAY,GAAG,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;AAQnD;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,GAC/B,SAAS,MAAM,EACf,iBAAiB,MAAM,KACtB,OAAO,CAAC,YAAY,CAoBtB,CAAA;AAKD,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd;;;4DAGwD;IACxD,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB;;sEAEkE;IAClE,kBAAkB,CAAC,EAAE,MAAM,CAAA;CAC5B;AAED,UAAU,aAAa;IACrB,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;CACnB;AAED;;;;;GAKG;AACH,eAAO,MAAM,cAAc,GACzB,SAAS,MAAM,EACf,gBAAgB,sBAAsB,EACtC,SAAS,aAAa,EAAE,EACxB,QAAQ,YAAY,KACnB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAsIlC,CAAA;AAwED;;;;;;;;GAQG;AACH,eAAO,MAAM,cAAc,GACzB,SAAS,MAAM,EACf,gBAAgB,sBAAsB,EACtC,WAAW,MAAM,EAAE,EACnB,QAAQ,YAAY;AACpB,8EAA8E;AAC9E,kBAAkB,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,KACpC,OAAO,CAAC;IACT,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;IAChC,cAAc,EAAE,MAAM,CAAA;IACtB,0EAA0E;IAC1E,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;IACjC;sDACkD;IAClD,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC,CAAA;CACrC,CAmKA,CAAA;AAED;;2BAE2B;AAC3B,MAAM,WAAW,YAAY;IAC3B,2CAA2C;IAC3C,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,YAAY,EAAE,MAAM,CAAA;IACpB,sDAAsD;IACtD,aAAa,EAAE,MAAM,CAAA;CACtB;AAED;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,GAChC,SAAS,MAAM,EACf,gBAAgB,sBAAsB,EACtC,aAAa,MAAM,KAClB,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAiDtC,CAAA"}
@@ -56,6 +56,23 @@ export interface GmxVault {
56
56
  /** Total pool value (TVL) in USD, from the same call. Absent under the
57
57
  * same conditions as {@link priceUsd}. */
58
58
  tvlUsd?: number;
59
+ /**
60
+ * Withdrawal-side liquidity in USD — the most a holder of the entire vault
61
+ * could withdraw right now: pool value minus the part reserved to back open
62
+ * trader positions, capped at {@link tvlUsd}. For GLV this is an
63
+ * approximation (the constituent markets' blended liquidity ratio applied to
64
+ * the GLV's value). Absent when the reserve reads were unavailable. */
65
+ liquidityUsd?: number;
66
+ /**
67
+ * Remaining deposit capacity in USD — how much more liquidity the pool can
68
+ * accept before GMX rejects the deposit. Per leg it's the unused room under
69
+ * the absolute token cap (`MAX_POOL_AMOUNT`) and the USD cap
70
+ * (`MAX_POOL_USD_FOR_DEPOSIT`), whichever binds first, summed across legs.
71
+ * For GLV this also folds in the per-market GM-balance cap the GLV may hold
72
+ * (`min(market room, GLV room)` across constituents) — an approximation
73
+ * that ignores deposit price-impact. Absent when the cap reads were
74
+ * unavailable or no cap is configured. */
75
+ depositCapacityUsd?: number;
59
76
  }
60
77
  /** Vault-level listing keyed by lowercased address. */
61
78
  export type GmxVaults = {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/vaults/gmx/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/vaults/gmx/types.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ export * from './euler-earn';
8
8
  export * from './lst';
9
9
  export * from './savings';
10
10
  export * from './lagoon';
11
+ export * from './yearn';
11
12
  export * from './hypercore';
12
13
  export * from './gmx';
13
14
  export * from './yield';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/vaults/index.ts"],"names":[],"mappings":"AAEA,YAAY,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAC3C,cAAc,SAAS,CAAA;AACvB,cAAc,WAAW,CAAA;AACzB,cAAc,UAAU,CAAA;AACxB,cAAc,QAAQ,CAAA;AACtB,cAAc,cAAc,CAAA;AAC5B,cAAc,OAAO,CAAA;AACrB,cAAc,WAAW,CAAA;AACzB,cAAc,UAAU,CAAA;AACxB,cAAc,aAAa,CAAA;AAC3B,cAAc,OAAO,CAAA;AACrB,cAAc,SAAS,CAAA;AACvB,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAA;AACvD,OAAO,EACL,qBAAqB,EACrB,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC1B,KAAK,4BAA4B,GAClC,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,gBAAgB,EAAE,KAAK,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAClE,OAAO,EACL,oBAAoB,EACpB,aAAa,EACb,KAAK,aAAa,GACnB,MAAM,iBAAiB,CAAA;AACxB,OAAO,EACL,aAAa,EACb,wBAAwB,EACxB,kBAAkB,EAClB,kBAAkB,EAClB,wBAAwB,EACxB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACxB,KAAK,yBAAyB,GAC/B,MAAM,kBAAkB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/vaults/index.ts"],"names":[],"mappings":"AAEA,YAAY,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAC3C,cAAc,SAAS,CAAA;AACvB,cAAc,WAAW,CAAA;AACzB,cAAc,UAAU,CAAA;AACxB,cAAc,QAAQ,CAAA;AACtB,cAAc,cAAc,CAAA;AAC5B,cAAc,OAAO,CAAA;AACrB,cAAc,WAAW,CAAA;AACzB,cAAc,UAAU,CAAA;AACxB,cAAc,SAAS,CAAA;AACvB,cAAc,aAAa,CAAA;AAC3B,cAAc,OAAO,CAAA;AACrB,cAAc,SAAS,CAAA;AACvB,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAA;AACvD,OAAO,EACL,qBAAqB,EACrB,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC1B,KAAK,4BAA4B,GAClC,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,gBAAgB,EAAE,KAAK,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAClE,OAAO,EACL,oBAAoB,EACpB,aAAa,EACb,KAAK,aAAa,GACnB,MAAM,iBAAiB,CAAA;AACxB,OAAO,EACL,aAAa,EACb,wBAAwB,EACxB,kBAAkB,EAClB,kBAAkB,EAClB,wBAAwB,EACxB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACxB,KAAK,yBAAyB,GAC/B,MAAM,kBAAkB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"lookup.d.ts","sourceRoot":"","sources":["../../src/vaults/lookup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AACzE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAElE;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,gBAAgB;IAC/B,oEAAoE;IACpE,QAAQ,EAAE,aAAa,CAAA;IACvB,+CAA+C;IAC/C,OAAO,EAAE,MAAM,CAAA;IACf,6CAA6C;IAC7C,UAAU,EAAE,MAAM,CAAA;IAClB,oDAAoD;IACpD,MAAM,EAAE,MAAM,CAAA;IACd,wBAAwB;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,yEAAyE;IACzE,QAAQ,EAAE,MAAM,CAAA;IAChB;;;;+DAI2D;IAC3D,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,8DAA8D;IAC9D,WAAW,EAAE,MAAM,CAAA;IACnB,+CAA+C;IAC/C,WAAW,EAAE,MAAM,CAAA;IACnB;;;yBAGqB;IACrB,aAAa,CAAC,EAAE,aAAa,CAAA;IAC7B;;sEAEkE;IAClE,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B;oDACgD;IAChD,YAAY,CAAC,EAAE,YAAY,CAAA;CAC5B;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,kBAAkB,GACvB,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CA0D/B"}
1
+ {"version":3,"file":"lookup.d.ts","sourceRoot":"","sources":["../../src/vaults/lookup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AACzE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAElE;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,gBAAgB;IAC/B,oEAAoE;IACpE,QAAQ,EAAE,aAAa,CAAA;IACvB,+CAA+C;IAC/C,OAAO,EAAE,MAAM,CAAA;IACf,6CAA6C;IAC7C,UAAU,EAAE,MAAM,CAAA;IAClB,oDAAoD;IACpD,MAAM,EAAE,MAAM,CAAA;IACd,wBAAwB;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,yEAAyE;IACzE,QAAQ,EAAE,MAAM,CAAA;IAChB;;;;+DAI2D;IAC3D,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,8DAA8D;IAC9D,WAAW,EAAE,MAAM,CAAA;IACnB,+CAA+C;IAC/C,WAAW,EAAE,MAAM,CAAA;IACnB;;;yBAGqB;IACrB,aAAa,CAAC,EAAE,aAAa,CAAA;IAC7B;;sEAEkE;IAClE,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B;oDACgD;IAChD,YAAY,CAAC,EAAE,YAAY,CAAA;CAC5B;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,kBAAkB,GACvB,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CA2D/B"}
@@ -8,7 +8,12 @@ export declare const EtherFiWeEthAbi: readonly [{
8
8
  readonly type: "uint256";
9
9
  }];
10
10
  }];
11
- /** EtherFi LiquidityPool — pooled ETH (instant-exit buffer estimate). */
11
+ /**
12
+ * EtherFi LiquidityPool. `ethAmountLockedForWithdrawal` is the ETH reserved to
13
+ * back already-requested withdrawals; the LP's free ETH balance minus this is
14
+ * the genuine instant-exit buffer. (`getTotalPooledEther` is the protocol's
15
+ * *total* pooled ETH ≈ TVL — NOT a buffer; intentionally unused for liquidity.)
16
+ */
12
17
  export declare const EtherFiLiquidityPoolAbi: readonly [{
13
18
  readonly name: "getTotalPooledEther";
14
19
  readonly type: "function";
@@ -17,5 +22,13 @@ export declare const EtherFiLiquidityPoolAbi: readonly [{
17
22
  readonly outputs: readonly [{
18
23
  readonly type: "uint256";
19
24
  }];
25
+ }, {
26
+ readonly name: "ethAmountLockedForWithdrawal";
27
+ readonly type: "function";
28
+ readonly stateMutability: "view";
29
+ readonly inputs: readonly [];
30
+ readonly outputs: readonly [{
31
+ readonly type: "uint256";
32
+ }];
20
33
  }];
21
34
  //# sourceMappingURL=etherfi.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"etherfi.d.ts","sourceRoot":"","sources":["../../../../src/vaults/lst/abis/etherfi.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,eAAO,MAAM,eAAe;;;;;;;;EAQlB,CAAA;AAEV,yEAAyE;AACzE,eAAO,MAAM,uBAAuB;;;;;;;;EAQ1B,CAAA"}
1
+ {"version":3,"file":"etherfi.d.ts","sourceRoot":"","sources":["../../../../src/vaults/lst/abis/etherfi.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,eAAO,MAAM,eAAe;;;;;;;;EAQlB,CAAA;AAEV;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;EAe1B,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"fetchPublic.d.ts","sourceRoot":"","sources":["../../../src/vaults/lst/fetchPublic.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAKtE,OAAO,KAAK,EAAiB,cAAc,EAAE,MAAM,SAAS,CAAA;AA8B5D;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,mBAAmB,GAC9B,SAAS,MAAM,EACf,gBAAgB,sBAAsB,EACtC,SAAQ;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAO,EACxC,YAAW,gBAAqB,KAC/B,OAAO,CAAC,cAAc,CAyJxB,CAAA"}
1
+ {"version":3,"file":"fetchPublic.d.ts","sourceRoot":"","sources":["../../../src/vaults/lst/fetchPublic.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAUtE,OAAO,KAAK,EAAiB,cAAc,EAAE,MAAM,SAAS,CAAA;AA4C5D;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,mBAAmB,GAC9B,SAAS,MAAM,EACf,gBAAgB,sBAAsB,EACtC,SAAQ;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAO,EACxC,YAAW,gBAAqB,KAC/B,OAAO,CAAC,cAAc,CA8MxB,CAAA"}
@@ -3,13 +3,15 @@ import { type LstReader } from './shared';
3
3
  /**
4
4
  * EtherFi weETH reader.
5
5
  *
6
- * Two required calls: `weETH.totalSupply()` + `weETH.getRate()` (eETH
7
- * per weETH). Optional third call:
8
- * `LiquidityPool.getTotalPooledEther()` buffer indicator.
6
+ * Required calls: `weETH.totalSupply()` + `weETH.getRate()` (eETH per weETH).
7
+ * When `readerExtras.etherFiLiquidityPool` is set, two more compute the real
8
+ * instant-exit buffer: `Multicall3.getEthBalance(LP)` (the LP's free ETH) minus
9
+ * `LP.ethAmountLockedForWithdrawal()` (ETH reserved for pending requests).
9
10
  *
10
- * `getRate()` returns eETH-per-weETH (rebasing underlying); we treat
11
- * eETH ETH for the exchange-rate surface close enough for vault
12
- * display, the eETH/ETH peg is invariant by construction.
11
+ * We do **not** use `LiquidityPool.getTotalPooledEther()` that's the
12
+ * protocol's *total* pooled ETH (≈ TVL, ~1.87M ETH), ~100× the real buffer
13
+ * (~1k ETH). `getRate()` returns eETH-per-weETH (rebasing underlying); we treat
14
+ * eETH ≈ ETH for the rate surface — the peg is invariant by construction.
13
15
  */
14
16
  export declare const readerEtherFiWeEth: (entry: LstRegistryEntry) => LstReader;
15
17
  //# sourceMappingURL=etherfi.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"etherfi.d.ts","sourceRoot":"","sources":["../../../../src/vaults/lst/readers/etherfi.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AACnD,OAAO,EAAmC,KAAK,SAAS,EAAE,MAAM,UAAU,CAAA;AAE1E;;;;;;;;;;GAUG;AACH,eAAO,MAAM,kBAAkB,GAAI,OAAO,gBAAgB,KAAG,SA6B5D,CAAA"}
1
+ {"version":3,"file":"etherfi.d.ts","sourceRoot":"","sources":["../../../../src/vaults/lst/readers/etherfi.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AACnD,OAAO,EAML,KAAK,SAAS,EACf,MAAM,UAAU,CAAA;AAEjB;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,kBAAkB,GAAI,OAAO,gBAAgB,KAAG,SAgD5D,CAAA"}
@@ -12,6 +12,26 @@
12
12
  * the registry today has 18 decimals; if that ever changes, swap to
13
13
  * `10n ** BigInt(entry.decimals)` per call site. */
14
14
  export declare const ONE_E18: bigint;
15
+ /** Canonical Multicall3 address (same on ~all EVM chains). `getEthBalance`
16
+ * lets us read a contract's *native* balance inside the same multicall —
17
+ * used for instant-exit buffers held as native coin (e.g. EtherFi's
18
+ * LiquidityPool ETH, native-underlying ERC-4626 LSTs). Absent on a few
19
+ * non-standard chains (e.g. XDC) — the call then fails under `allowFailure`
20
+ * and the buffer degrades to 0. */
21
+ export declare const MULTICALL3_ADDRESS = "0xcA11bde05977b3631167028862bE2a173976CA11";
22
+ /** Minimal Multicall3 surface — native balance of any address. */
23
+ export declare const Multicall3BalanceAbi: readonly [{
24
+ readonly name: "getEthBalance";
25
+ readonly type: "function";
26
+ readonly stateMutability: "view";
27
+ readonly inputs: readonly [{
28
+ readonly name: "addr";
29
+ readonly type: "address";
30
+ }];
31
+ readonly outputs: readonly [{
32
+ readonly type: "uint256";
33
+ }];
34
+ }];
15
35
  /** One multicall item — matches the shape the existing vault providers
16
36
  * pass to `multicallRetry` (`{ address, name, params }` with a
17
37
  * parallel ABI array). */
@@ -1 +1 @@
1
- {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../../src/vaults/lst/readers/shared.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;;qDAGqD;AACrD,eAAO,MAAM,OAAO,QAAa,CAAA;AAEjC;;2BAE2B;AAC3B,MAAM,WAAW,OAAO;IACtB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,SAAS,OAAO,EAAE,CAAA;IAC1B;;;;4DAIwD;IACxD,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,kEAAkE;AAClE,MAAM,WAAW,eAAe;IAC9B,kCAAkC;IAClC,WAAW,EAAE,MAAM,CAAA;IACnB,gCAAgC;IAChC,WAAW,EAAE,MAAM,CAAA;IACnB,yDAAyD;IACzD,YAAY,EAAE,MAAM,CAAA;IACpB;iCAC6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED;;;;GAIG;AACH,MAAM,WAAW,SAAS;IACxB,+CAA+C;IAC/C,KAAK,EAAE,OAAO,EAAE,CAAA;IAChB;;0DAEsD;IAEtD,IAAI,EAAE,GAAG,EAAE,CAAA;IACX;;sEAEkE;IAClE,KAAK,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,eAAe,GAAG,SAAS,CAAA;CACzD;AAED;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,GAAI,GAAG,OAAO,KAAG,MAAM,GAAG,SAgB9C,CAAA"}
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../../src/vaults/lst/readers/shared.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;;qDAGqD;AACrD,eAAO,MAAM,OAAO,QAAa,CAAA;AAEjC;;;;;oCAKoC;AACpC,eAAO,MAAM,kBAAkB,+CAA+C,CAAA;AAE9E,kEAAkE;AAClE,eAAO,MAAM,oBAAoB;;;;;;;;;;;EAQvB,CAAA;AAEV;;2BAE2B;AAC3B,MAAM,WAAW,OAAO;IACtB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,SAAS,OAAO,EAAE,CAAA;IAC1B;;;;4DAIwD;IACxD,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,kEAAkE;AAClE,MAAM,WAAW,eAAe;IAC9B,kCAAkC;IAClC,WAAW,EAAE,MAAM,CAAA;IACnB,gCAAgC;IAChC,WAAW,EAAE,MAAM,CAAA;IACnB,yDAAyD;IACzD,YAAY,EAAE,MAAM,CAAA;IACpB;iCAC6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED;;;;GAIG;AACH,MAAM,WAAW,SAAS;IACxB,+CAA+C;IAC/C,KAAK,EAAE,OAAO,EAAE,CAAA;IAChB;;0DAEsD;IAEtD,IAAI,EAAE,GAAG,EAAE,CAAA;IACX;;sEAEkE;IAClE,KAAK,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,eAAe,GAAG,SAAS,CAAA;CACzD;AAED;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,GAAI,GAAG,OAAO,KAAG,MAAM,GAAG,SAgB9C,CAAA"}
@@ -110,14 +110,20 @@ export interface LstShareToken extends VaultClassificationFields {
110
110
  totalAssetsFormatted: number;
111
111
  /** Human-formatted total assets in USD. */
112
112
  totalAssetsUsd: number;
113
- /** Instant-exit liquidity estimate, raw integer as string. Populated
114
- * only when a protocol exposes a queryable buffer (e.g. Rocket Pool
115
- * `RocketDepositPool.getBalance()`, EtherFi `LiquidityPool` buffer). */
116
- liquidity?: string;
117
- /** Human-formatted instant-exit liquidity. */
118
- liquidityFormatted?: number;
113
+ /** Instantly-withdrawable underlying right now, raw integer as string
114
+ * **always populated** (parity with the 4626 vault providers). It is the
115
+ * amount a holder of all shares could redeem on-chain this block:
116
+ * - a protocol redemption buffer where one is exposed (Rocket Pool
117
+ * `RocketDepositPool.getBalance()`, Beets stS `totalPool()`);
118
+ * - the vault's idle underlying for instant-capable ERC-4626 LSTs;
119
+ * - `0` for queue / fixed-cooldown / dex-only / off-chain LSTs, which
120
+ * have no same-block on-chain redemption (the wait *is* the exit).
121
+ * Like the vault `liquidity`, it's a right-now estimate, not a guarantee. */
122
+ liquidity: string;
123
+ /** Human-formatted instant-exit liquidity (`liquidity / 10**decimals`). */
124
+ liquidityFormatted: number;
119
125
  /** Human-formatted instant-exit liquidity in USD. */
120
- liquidityUsd?: number;
126
+ liquidityUsd: number;
121
127
  }
122
128
  /**
123
129
  * Full parsed payload: per-share-token-address map.
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/vaults/lst/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAA;AAElE;;;;;;GAMG;AACH,MAAM,MAAM,iBAAiB,GACzB,QAAQ,GACR,gBAAgB,GAChB,mBAAmB,GACnB,eAAe,GACf,WAAW,GACX,UAAU,CAAA;AAEd;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,aAAc,SAAQ,yBAAyB;IAC9D,gDAAgD;IAChD,OAAO,EAAE,MAAM,CAAA;IACf;;gCAE4B;IAC5B,UAAU,EAAE,MAAM,CAAA;IAClB,0DAA0D;IAC1D,MAAM,EAAE,MAAM,CAAA;IACd;4CACwC;IACxC,IAAI,EAAE,MAAM,CAAA;IACZ;8CAC0C;IAC1C,WAAW,EAAE,MAAM,CAAA;IACnB,wDAAwD;IACxD,KAAK,EAAE,MAAM,CAAA;IACb;8DAC0D;IAC1D,WAAW,EAAE,MAAM,CAAA;IACnB,wEAAwE;IACxE,QAAQ,EAAE,MAAM,CAAA;IAEhB;;gEAE4D;IAC5D,WAAW,EAAE,MAAM,CAAA;IACnB,kDAAkD;IAClD,WAAW,EAAE,MAAM,CAAA;IACnB,qEAAqE;IACrE,eAAe,EAAE,MAAM,CAAA;IACvB,oEAAoE;IACpE,eAAe,EAAE,MAAM,CAAA;IACvB;;4BAEwB;IACxB,YAAY,EAAE,MAAM,CAAA;IAEpB;4CACwC;IACxC,UAAU,EAAE,MAAM,CAAA;IAClB;oEACgE;IAChE,WAAW,EAAE,MAAM,CAAA;IACnB;iBACa;IACb,WAAW,EAAE,MAAM,CAAA;IAEnB;;mCAE+B;IAC/B,SAAS,EAAE,OAAO,CAAA;IAClB;kEAC8D;IAC9D,UAAU,EAAE,OAAO,CAAA;IACnB;2DACuD;IACvD,UAAU,EAAE,OAAO,CAAA;IACnB,6DAA6D;IAC7D,kBAAkB,EAAE,OAAO,CAAA;IAE3B;kCAC8B;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB;;8EAE0E;IAC1E,cAAc,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAA;IAClC;;;;;;8DAM0D;IAC1D,cAAc,EAAE,gBAAgB,EAAE,CAAA;IAElC,sDAAsD;IACtD,cAAc,EAAE,iBAAiB,CAAA;IACjC;;2EAEuE;IACvE,yBAAyB,CAAC,EAAE,MAAM,CAAA;IAElC,oEAAoE;IACpE,KAAK,CAAC,EAAE,eAAe,CAAA;IACvB,iEAAiE;IACjE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,mEAAmE;IACnE,oBAAoB,EAAE,MAAM,CAAA;IAC5B,2CAA2C;IAC3C,cAAc,EAAE,MAAM,CAAA;IAEtB;;6EAEyE;IACzE,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,8CAA8C;IAC9C,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,qDAAqD;IACrD,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,CAAC,YAAY,EAAE,MAAM,GAAG,aAAa,CAAA;CACtC,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/vaults/lst/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAA;AAElE;;;;;;GAMG;AACH,MAAM,MAAM,iBAAiB,GACzB,QAAQ,GACR,gBAAgB,GAChB,mBAAmB,GACnB,eAAe,GACf,WAAW,GACX,UAAU,CAAA;AAEd;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,aAAc,SAAQ,yBAAyB;IAC9D,gDAAgD;IAChD,OAAO,EAAE,MAAM,CAAA;IACf;;gCAE4B;IAC5B,UAAU,EAAE,MAAM,CAAA;IAClB,0DAA0D;IAC1D,MAAM,EAAE,MAAM,CAAA;IACd;4CACwC;IACxC,IAAI,EAAE,MAAM,CAAA;IACZ;8CAC0C;IAC1C,WAAW,EAAE,MAAM,CAAA;IACnB,wDAAwD;IACxD,KAAK,EAAE,MAAM,CAAA;IACb;8DAC0D;IAC1D,WAAW,EAAE,MAAM,CAAA;IACnB,wEAAwE;IACxE,QAAQ,EAAE,MAAM,CAAA;IAEhB;;gEAE4D;IAC5D,WAAW,EAAE,MAAM,CAAA;IACnB,kDAAkD;IAClD,WAAW,EAAE,MAAM,CAAA;IACnB,qEAAqE;IACrE,eAAe,EAAE,MAAM,CAAA;IACvB,oEAAoE;IACpE,eAAe,EAAE,MAAM,CAAA;IACvB;;4BAEwB;IACxB,YAAY,EAAE,MAAM,CAAA;IAEpB;4CACwC;IACxC,UAAU,EAAE,MAAM,CAAA;IAClB;oEACgE;IAChE,WAAW,EAAE,MAAM,CAAA;IACnB;iBACa;IACb,WAAW,EAAE,MAAM,CAAA;IAEnB;;mCAE+B;IAC/B,SAAS,EAAE,OAAO,CAAA;IAClB;kEAC8D;IAC9D,UAAU,EAAE,OAAO,CAAA;IACnB;2DACuD;IACvD,UAAU,EAAE,OAAO,CAAA;IACnB,6DAA6D;IAC7D,kBAAkB,EAAE,OAAO,CAAA;IAE3B;kCAC8B;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB;;8EAE0E;IAC1E,cAAc,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAA;IAClC;;;;;;8DAM0D;IAC1D,cAAc,EAAE,gBAAgB,EAAE,CAAA;IAElC,sDAAsD;IACtD,cAAc,EAAE,iBAAiB,CAAA;IACjC;;2EAEuE;IACvE,yBAAyB,CAAC,EAAE,MAAM,CAAA;IAElC,oEAAoE;IACpE,KAAK,CAAC,EAAE,eAAe,CAAA;IACvB,iEAAiE;IACjE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,mEAAmE;IACnE,oBAAoB,EAAE,MAAM,CAAA;IAC5B,2CAA2C;IAC3C,cAAc,EAAE,MAAM,CAAA;IAEtB;;;;;;;;kFAQ8E;IAC9E,SAAS,EAAE,MAAM,CAAA;IACjB,2EAA2E;IAC3E,kBAAkB,EAAE,MAAM,CAAA;IAC1B,qDAAqD;IACrD,YAAY,EAAE,MAAM,CAAA;CACrB;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,CAAC,YAAY,EAAE,MAAM,GAAG,aAAa,CAAA;CACtC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../../src/vaults/lst/withdrawals/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAA;AAEtD;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,0BAA0B;IACzC;wDACoD;IACpD,GAAG,EAAE,MAAM,CAAA;IACX,mBAAmB;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,+DAA+D;IAC/D,MAAM,EAAE,MAAM,CAAA;IACd,mBAAmB;IACnB,MAAM,EAAE,uBAAuB,CAAA;IAC/B;;;;;;;;;;wEAUoE;IACpE,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B;uEACmE;IACnE,mBAAmB,CAAC,EAAE,MAAM,CAAA;CAC7B;AAED,iDAAiD;AACjD,eAAO,MAAM,uBAAuB,EAAE;IACpC,CAAC,OAAO,EAAE,MAAM,GAAG,0BAA0B,EAAE,CAAA;CAoYhD,CAAA;AAED,oEAAoE;AACpE,eAAO,MAAM,wBAAwB,GACnC,SAAS,MAAM,EACf,eAAe,0BAA0B,EAAE,KAC1C,0BAA0B,EAQ5B,CAAA"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../../src/vaults/lst/withdrawals/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAA;AAEtD;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,0BAA0B;IACzC;wDACoD;IACpD,GAAG,EAAE,MAAM,CAAA;IACX,mBAAmB;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,+DAA+D;IAC/D,MAAM,EAAE,MAAM,CAAA;IACd,mBAAmB;IACnB,MAAM,EAAE,uBAAuB,CAAA;IAC/B;;;;;;;;;;wEAUoE;IACpE,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B;uEACmE;IACnE,mBAAmB,CAAC,EAAE,MAAM,CAAA;CAC7B;AAED,iDAAiD;AACjD,eAAO,MAAM,uBAAuB,EAAE;IACpC,CAAC,OAAO,EAAE,MAAM,GAAG,0BAA0B,EAAE,CAAA;CAufhD,CAAA;AAED,oEAAoE;AACpE,eAAO,MAAM,wBAAwB,GACnC,SAAS,MAAM,EACf,eAAe,0BAA0B,EAAE,KAC1C,0BAA0B,EAQ5B,CAAA"}
@@ -26,6 +26,11 @@ export interface MarketRate {
26
26
  totalSupplyShares: bigint;
27
27
  /** Lowercased collateral token backing the market, '' if unknown. */
28
28
  collateralAddress: string;
29
+ /** Currently-withdrawable assets in the market — `totalSupplyAssets −
30
+ * totalBorrowAssets`, raw integer. Drives the vault's real withdrawable
31
+ * liquidity; omit/0 when the borrow side is unknown (degrades to
32
+ * treating the allocation as fully liquid). */
33
+ liquidity?: bigint;
29
34
  }
30
35
  /**
31
36
  * Read `<core>.position(marketId, vault).supplyShares` for every
@@ -43,9 +48,15 @@ export declare function fetchVaultSupplyShares(chainId: string, core: string | u
43
48
  * assets (idle balances dilute it), net of the vault performance fee —
44
49
  * matching how MetaMorpho-style `netApy` is derived.
45
50
  * - `exposures`: per-market breakdown, ordered by weight descending.
51
+ * - `liquidityFormatted`: real withdrawable underlying — idle deposits plus,
52
+ * from each allocation, at most the market's liquid cash
53
+ * (`min(allocation, market.liquidity)`), clamped to `totalAssets`. When no
54
+ * market exposes a `liquidity`, this equals `totalAssets` (the previous
55
+ * optimistic ceiling).
46
56
  */
47
57
  export declare function computeVaultAllocation(vaultAddress: string, decimals: number, totalAssetsFormatted: number, feePercent: number, priceUsd: number, marketIds: string[], rateMap: Map<string, MarketRate>, positionMap: Map<string, bigint>, tokenList: GenericTokenList, uidCtx?: MarketUidContext): {
48
58
  depositRate: number;
49
59
  exposures: VaultMarketExposure[];
60
+ liquidityFormatted: number;
50
61
  };
51
62
  //# sourceMappingURL=allocationWalk.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"allocationWalk.d.ts","sourceRoot":"","sources":["../../../src/vaults/morpho/allocationWalk.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AAC5D,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAItE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAElD;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,MAAM,CAAA;IAClB,+DAA+D;IAC/D,QAAQ,EAAE,MAAM,CAAA;CACjB;AAkBD;;;;;;GAMG;AACH,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAA;IACjB,iBAAiB,EAAE,MAAM,CAAA;IACzB,iBAAiB,EAAE,MAAM,CAAA;IACzB,qEAAqE;IACrE,iBAAiB,EAAE,MAAM,CAAA;CAC1B;AAED;;;;;;;GAOG;AACH,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,OAAO,EAAE,oBAAoB,EAAE,EAC/B,gBAAgB,EAAE,MAAM,EAAE,EAAE,EAC5B,cAAc,EAAE,sBAAsB,GACrC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAgC9B;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CACpC,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,EAChB,oBAAoB,EAAE,MAAM,EAC5B,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EAAE,EACnB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,EAChC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAChC,SAAS,EAAE,gBAAgB,EAC3B,MAAM,CAAC,EAAE,gBAAgB,GACxB;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,mBAAmB,EAAE,CAAA;CAAE,CA+C3D"}
1
+ {"version":3,"file":"allocationWalk.d.ts","sourceRoot":"","sources":["../../../src/vaults/morpho/allocationWalk.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AAC5D,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAItE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAElD;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,MAAM,CAAA;IAClB,+DAA+D;IAC/D,QAAQ,EAAE,MAAM,CAAA;CACjB;AAkBD;;;;;;GAMG;AACH,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAA;IACjB,iBAAiB,EAAE,MAAM,CAAA;IACzB,iBAAiB,EAAE,MAAM,CAAA;IACzB,qEAAqE;IACrE,iBAAiB,EAAE,MAAM,CAAA;IACzB;;;oDAGgD;IAChD,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED;;;;;;;GAOG;AACH,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,OAAO,EAAE,oBAAoB,EAAE,EAC/B,gBAAgB,EAAE,MAAM,EAAE,EAAE,EAC5B,cAAc,EAAE,sBAAsB,GACrC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAgC9B;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,sBAAsB,CACpC,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,EAChB,oBAAoB,EAAE,MAAM,EAC5B,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EAAE,EACnB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,EAChC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAChC,SAAS,EAAE,gBAAgB,EAC3B,MAAM,CAAC,EAAE,gBAAgB,GACxB;IACD,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,mBAAmB,EAAE,CAAA;IAChC,kBAAkB,EAAE,MAAM,CAAA;CAC3B,CA+DA"}
@@ -20,9 +20,10 @@ export interface FetchMorphoVaultsFromChainOptions {
20
20
  * Goldsky subgraph are unreachable. The supply rate isn't computable from
21
21
  * vault state alone (it requires walking the underlying market allocations),
22
22
  * so `supplyRate` and `rewardsRate` are surfaced as `0` — same convention
23
- * used by the Goldsky path when rewards aren't indexed. `liquidity` defaults
24
- * to `totalAssets` (optimistic upper bound don't use for hard withdraw
25
- * validation), matching Silo / Euler-Earn / Morpho-Goldsky.
23
+ * used by the Goldsky path when rewards aren't indexed. `liquidity` is the
24
+ * real withdrawable amount from the allocation walk (idle + Σ min(allocation,
25
+ * market liquidity)); it falls back to `totalAssets` only when no lens/core is
26
+ * available for the chain.
26
27
  */
27
28
  export declare const fetchMorphoVaultsFromChain: (chainId: string, multicallRetry: MulticallRetryFunction, prices?: {
28
29
  [asset: string]: number;
@@ -1 +1 @@
1
- {"version":3,"file":"fetchFromChain.d.ts","sourceRoot":"","sources":["../../../src/vaults/morpho/fetchFromChain.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,oBAAoB,EAC1B,MAAM,kBAAkB,CAAA;AAIzB,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAGtE,OAAO,EAAe,YAAY,EAAE,MAAM,SAAS,CAAA;AAsGnD,MAAM,WAAW,iCAAiC;IAChD,4EAA4E;IAC5E,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;IACpB;;;OAGG;IACH,cAAc,CAAC,EAAE,oBAAoB,EAAE,CAAA;CACxC;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,0BAA0B,GACrC,SAAS,MAAM,EACf,gBAAgB,sBAAsB,EACtC,SAAQ;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAO,EACxC,YAAW,gBAAqB,EAChC,OAAM,iCAAsC,KAC3C,OAAO,CAAC,YAAY,CAuFtB,CAAA"}
1
+ {"version":3,"file":"fetchFromChain.d.ts","sourceRoot":"","sources":["../../../src/vaults/morpho/fetchFromChain.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,oBAAoB,EAC1B,MAAM,kBAAkB,CAAA;AAIzB,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAGtE,OAAO,EAAe,YAAY,EAAE,MAAM,SAAS,CAAA;AAiHnD,MAAM,WAAW,iCAAiC;IAChD,4EAA4E;IAC5E,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;IACpB;;;OAGG;IACH,cAAc,CAAC,EAAE,oBAAoB,EAAE,CAAA;CACxC;AAED;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,0BAA0B,GACrC,SAAS,MAAM,EACf,gBAAgB,sBAAsB,EACtC,SAAQ;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAO,EACxC,YAAW,gBAAqB,EAChC,OAAM,iCAAsC,KAC3C,OAAO,CAAC,YAAY,CAgGtB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"fetchListaFromChain.d.ts","sourceRoot":"","sources":["../../../src/vaults/morpho/fetchListaFromChain.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,oBAAoB,EAC1B,MAAM,kBAAkB,CAAA;AAUzB,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAItE,OAAO,EAAe,YAAY,EAAuB,MAAM,SAAS,CAAA;AA4ExE,MAAM,WAAW,gCAAgC;IAC/C;;;;OAIG;IACH,cAAc,CAAC,EAAE,oBAAoB,EAAE,CAAA;CACxC;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,yBAAyB,GACpC,SAAS,MAAM,EACf,gBAAgB,sBAAsB,EACtC,SAAQ;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAO,EACxC,YAAW,gBAAqB,EAChC,OAAM,gCAAqC,KAC1C,OAAO,CAAC,YAAY,CA0GtB,CAAA"}
1
+ {"version":3,"file":"fetchListaFromChain.d.ts","sourceRoot":"","sources":["../../../src/vaults/morpho/fetchListaFromChain.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,oBAAoB,EAC1B,MAAM,kBAAkB,CAAA;AAUzB,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAItE,OAAO,EAAe,YAAY,EAAuB,MAAM,SAAS,CAAA;AAuFxE,MAAM,WAAW,gCAAgC;IAC/C;;;;OAIG;IACH,cAAc,CAAC,EAAE,oBAAoB,EAAE,CAAA;CACxC;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,yBAAyB,GACpC,SAAS,MAAM,EACf,gBAAgB,sBAAsB,EACtC,SAAQ;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAO,EACxC,YAAW,gBAAqB,EAChC,OAAM,gCAAqC,KAC1C,OAAO,CAAC,YAAY,CAmHtB,CAAA"}
@@ -3,13 +3,16 @@ import { MorphoVaults } from './types';
3
3
  /**
4
4
  * One-shot fetcher for all MetaMorpho vaults on a chain.
5
5
  *
6
- * Routes between three data sources, normalized to the same `MorphoVault`
6
+ * Routes between two data sources, normalized to the same `MorphoVault`
7
7
  * shape: the curated **on-chain** path (via the `morphoTypeVaults` registry)
8
- * for chains the hosted indexers don't cover; the public **Morpho API** for
9
- * chains it indexes; and **Goldsky subgraphs** for the remaining alt chains.
8
+ * for chains the hosted API doesn't cover, and the public **Morpho API**
9
+ * for chains it indexes. The on-chain branch needs a `multicallRetry`
10
+ * executor; the API branch ignores it (HTTP GraphQL).
10
11
  *
11
- * The on-chain branch needs a `multicallRetry` executor; the API/subgraph
12
- * branches ignore it (both are HTTP GraphQL).
12
+ * (A Goldsky-subgraph branch used to serve SEI / Celo / Lisk / Soneium / TAC
13
+ * / Hemi, but all of those now have on-chain registry entries — and the
14
+ * upstream subgraph endpoints were retired — so the on-chain path covers them
15
+ * with real `liquidity`/APR and the subgraph path was removed.)
13
16
  *
14
17
  * @param chainId target chain
15
18
  * @param multicallRetry provider-level multicall executor (on-chain branch)
@@ -1 +1 @@
1
- {"version":3,"file":"fetchPublic.d.ts","sourceRoot":"","sources":["../../../src/vaults/morpho/fetchPublic.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAOtE,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAatC;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,iBAAiB,GAC5B,SAAS,MAAM,EACf,gBAAgB,sBAAsB,EACtC,SAAQ;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAO,EACxC,YAAW,gBAAqB,KAC/B,OAAO,CAAC,YAAY,CAatB,CAAA"}
1
+ {"version":3,"file":"fetchPublic.d.ts","sourceRoot":"","sources":["../../../src/vaults/morpho/fetchPublic.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAGtE,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAatC;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,iBAAiB,GAC5B,SAAS,MAAM,EACf,gBAAgB,sBAAsB,EACtC,SAAQ;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAO,EACxC,YAAW,gBAAqB,KAC/B,OAAO,CAAC,YAAY,CAUtB,CAAA"}
@@ -1,6 +1,5 @@
1
1
  export { fetchMorphoVaults } from './fetchPublic';
2
2
  export { fetchMorphoVaultsFromApi } from './fetchFromApi';
3
- export { fetchMorphoVaultsFromSubgraph, hasMorphoVaultSubgraph, } from './fetchFromSubgraph';
4
3
  export { fetchMorphoVaultsFromChain, type FetchMorphoVaultsFromChainOptions, } from './fetchFromChain';
5
4
  export { fetchListaVaultsFromChain, type FetchListaVaultsFromChainOptions, } from './fetchListaFromChain';
6
5
  export type { MorphoVault, MorphoVaults, VaultCuratorMeta } from './types';
@@ -1 +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,OAAO,EACL,0BAA0B,EAC1B,KAAK,iCAAiC,GACvC,MAAM,kBAAkB,CAAA;AACzB,OAAO,EACL,yBAAyB,EACzB,KAAK,gCAAgC,GACtC,MAAM,uBAAuB,CAAA;AAC9B,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA"}
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,0BAA0B,EAC1B,KAAK,iCAAiC,GACvC,MAAM,kBAAkB,CAAA;AACzB,OAAO,EACL,yBAAyB,EACzB,KAAK,gCAAgC,GACtC,MAAM,uBAAuB,CAAA;AAC9B,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"fetchPublic.d.ts","sourceRoot":"","sources":["../../../src/vaults/savings/fetchPublic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAKtE,OAAO,KAAK,EAAgB,aAAa,EAAE,MAAM,SAAS,CAAA;AAI1D;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,kBAAkB,GAC7B,SAAS,MAAM,EACf,gBAAgB,sBAAsB,EACtC,SAAQ;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAO,EACxC,YAAW,gBAAqB,KAC/B,OAAO,CAAC,aAAa,CAyGvB,CAAA"}
1
+ {"version":3,"file":"fetchPublic.d.ts","sourceRoot":"","sources":["../../../src/vaults/savings/fetchPublic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAKtE,OAAO,KAAK,EAAgB,aAAa,EAAE,MAAM,SAAS,CAAA;AAI1D;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,kBAAkB,GAC7B,SAAS,MAAM,EACf,gBAAgB,sBAAsB,EACtC,SAAQ;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAO,EACxC,YAAW,gBAAqB,KAC/B,OAAO,CAAC,aAAa,CAsHvB,CAAA"}
@@ -96,6 +96,18 @@ export interface SavingsVault extends VaultClassificationFields {
96
96
  totalAssetsFormatted: number;
97
97
  /** Human-formatted total assets in USD. */
98
98
  totalAssetsUsd: number;
99
+ /** Instantly-withdrawable underlying right now, raw integer string,
100
+ * derived from `withdrawalMode`: `instant` vaults are fully liquid
101
+ * (`= totalAssets`); `fixed-cooldown` / `queued` / `request-based` /
102
+ * `fee-or-queued` vaults require a waiting period, so their
103
+ * instantaneous withdrawable is `0`. (A cooldown vault's underlying
104
+ * may still be redeemable after the wait — this field is the *right
105
+ * now* figure, matching the cross-provider `liquidity` semantic.) */
106
+ liquidity: string;
107
+ /** Human-formatted withdrawable liquidity. */
108
+ liquidityFormatted: number;
109
+ /** Withdrawable liquidity in USD. */
110
+ liquidityUsd: number;
99
111
  }
100
112
  /**
101
113
  * Full parsed payload: per-share-token-address map.
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/vaults/savings/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAA;AAElE;;;;;;;;GAQG;AACH,MAAM,MAAM,qBAAqB,GAC7B,SAAS,GACT,gBAAgB,GAChB,QAAQ,GACR,eAAe,GACf,eAAe,CAAA;AAEnB;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,YAAa,SAAQ,yBAAyB;IAC7D,gDAAgD;IAChD,OAAO,EAAE,MAAM,CAAA;IACf,6CAA6C;IAC7C,UAAU,EAAE,MAAM,CAAA;IAClB,yDAAyD;IACzD,MAAM,EAAE,MAAM,CAAA;IACd;yCACqC;IACrC,IAAI,EAAE,MAAM,CAAA;IACZ;gEAC4D;IAC5D,WAAW,EAAE,MAAM,CAAA;IACnB,mEAAmE;IACnE,KAAK,EAAE,MAAM,CAAA;IACb;8DAC0D;IAC1D,WAAW,EAAE,MAAM,CAAA;IACnB,wDAAwD;IACxD,QAAQ,EAAE,MAAM,CAAA;IAEhB;2BACuB;IACvB,WAAW,EAAE,MAAM,CAAA;IACnB,kDAAkD;IAClD,WAAW,EAAE,MAAM,CAAA;IACnB,qEAAqE;IACrE,eAAe,EAAE,MAAM,CAAA;IACvB,oEAAoE;IACpE,eAAe,EAAE,MAAM,CAAA;IACvB;wEACoE;IACpE,YAAY,EAAE,MAAM,CAAA;IAEpB;4CACwC;IACxC,UAAU,EAAE,MAAM,CAAA;IAClB;2DACuD;IACvD,WAAW,EAAE,MAAM,CAAA;IACnB;iBACa;IACb,WAAW,EAAE,MAAM,CAAA;IAEnB;yDACqD;IACrD,SAAS,EAAE,IAAI,CAAA;IACf;;mEAE+D;IAC/D,UAAU,EAAE,OAAO,CAAA;IACnB;iDAC6C;IAC7C,UAAU,EAAE,OAAO,CAAA;IAEnB;;4DAEwD;IACxD,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,4BAA4B;IAC5B,cAAc,EAAE,qBAAqB,CAAA;IACrC;;;;iBAIa;IACb,yBAAyB,CAAC,EAAE,MAAM,CAAA;IAElC,oEAAoE;IACpE,KAAK,CAAC,EAAE,eAAe,CAAA;IACvB,iEAAiE;IACjE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,mEAAmE;IACnE,oBAAoB,EAAE,MAAM,CAAA;IAC5B,2CAA2C;IAC3C,cAAc,EAAE,MAAM,CAAA;CACvB;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,CAAC,YAAY,EAAE,MAAM,GAAG,YAAY,CAAA;CACrC,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/vaults/savings/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAA;AAElE;;;;;;;;GAQG;AACH,MAAM,MAAM,qBAAqB,GAC7B,SAAS,GACT,gBAAgB,GAChB,QAAQ,GACR,eAAe,GACf,eAAe,CAAA;AAEnB;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,YAAa,SAAQ,yBAAyB;IAC7D,gDAAgD;IAChD,OAAO,EAAE,MAAM,CAAA;IACf,6CAA6C;IAC7C,UAAU,EAAE,MAAM,CAAA;IAClB,yDAAyD;IACzD,MAAM,EAAE,MAAM,CAAA;IACd;yCACqC;IACrC,IAAI,EAAE,MAAM,CAAA;IACZ;gEAC4D;IAC5D,WAAW,EAAE,MAAM,CAAA;IACnB,mEAAmE;IACnE,KAAK,EAAE,MAAM,CAAA;IACb;8DAC0D;IAC1D,WAAW,EAAE,MAAM,CAAA;IACnB,wDAAwD;IACxD,QAAQ,EAAE,MAAM,CAAA;IAEhB;2BACuB;IACvB,WAAW,EAAE,MAAM,CAAA;IACnB,kDAAkD;IAClD,WAAW,EAAE,MAAM,CAAA;IACnB,qEAAqE;IACrE,eAAe,EAAE,MAAM,CAAA;IACvB,oEAAoE;IACpE,eAAe,EAAE,MAAM,CAAA;IACvB;wEACoE;IACpE,YAAY,EAAE,MAAM,CAAA;IAEpB;4CACwC;IACxC,UAAU,EAAE,MAAM,CAAA;IAClB;2DACuD;IACvD,WAAW,EAAE,MAAM,CAAA;IACnB;iBACa;IACb,WAAW,EAAE,MAAM,CAAA;IAEnB;yDACqD;IACrD,SAAS,EAAE,IAAI,CAAA;IACf;;mEAE+D;IAC/D,UAAU,EAAE,OAAO,CAAA;IACnB;iDAC6C;IAC7C,UAAU,EAAE,OAAO,CAAA;IAEnB;;4DAEwD;IACxD,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,4BAA4B;IAC5B,cAAc,EAAE,qBAAqB,CAAA;IACrC;;;;iBAIa;IACb,yBAAyB,CAAC,EAAE,MAAM,CAAA;IAElC,oEAAoE;IACpE,KAAK,CAAC,EAAE,eAAe,CAAA;IACvB,iEAAiE;IACjE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,mEAAmE;IACnE,oBAAoB,EAAE,MAAM,CAAA;IAC5B,2CAA2C;IAC3C,cAAc,EAAE,MAAM,CAAA;IAEtB;;;;;;0EAMsE;IACtE,SAAS,EAAE,MAAM,CAAA;IACjB,8CAA8C;IAC9C,kBAAkB,EAAE,MAAM,CAAA;IAC1B,qCAAqC;IACrC,YAAY,EAAE,MAAM,CAAA;CACrB;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,CAAC,YAAY,EAAE,MAAM,GAAG,YAAY,CAAA;CACrC,CAAA"}