@1delta/margin-fetcher 0.0.273 → 0.0.274

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 (45) hide show
  1. package/dist/index.d.ts +1 -1
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +635 -185
  4. package/dist/index.js.map +1 -1
  5. package/dist/vaults/classification.d.ts.map +1 -1
  6. package/dist/vaults/fetchVaultsAll.d.ts +5 -1
  7. package/dist/vaults/fetchVaultsAll.d.ts.map +1 -1
  8. package/dist/vaults/gmx/abis.d.ts +15 -0
  9. package/dist/vaults/gmx/abis.d.ts.map +1 -1
  10. package/dist/vaults/gmx/fetchPublic.d.ts.map +1 -1
  11. package/dist/vaults/gmx/index.d.ts +1 -1
  12. package/dist/vaults/gmx/index.d.ts.map +1 -1
  13. package/dist/vaults/gmx/keys.d.ts +20 -0
  14. package/dist/vaults/gmx/keys.d.ts.map +1 -1
  15. package/dist/vaults/gmx/pricing.d.ts +30 -3
  16. package/dist/vaults/gmx/pricing.d.ts.map +1 -1
  17. package/dist/vaults/gmx/types.d.ts +17 -0
  18. package/dist/vaults/gmx/types.d.ts.map +1 -1
  19. package/dist/vaults/index.d.ts +1 -0
  20. package/dist/vaults/index.d.ts.map +1 -1
  21. package/dist/vaults/lookup.d.ts.map +1 -1
  22. package/dist/vaults/morpho/allocationWalk.d.ts +11 -0
  23. package/dist/vaults/morpho/allocationWalk.d.ts.map +1 -1
  24. package/dist/vaults/morpho/fetchFromChain.d.ts +4 -3
  25. package/dist/vaults/morpho/fetchFromChain.d.ts.map +1 -1
  26. package/dist/vaults/morpho/fetchListaFromChain.d.ts.map +1 -1
  27. package/dist/vaults/morpho/fetchPublic.d.ts +8 -5
  28. package/dist/vaults/morpho/fetchPublic.d.ts.map +1 -1
  29. package/dist/vaults/morpho/index.d.ts +0 -1
  30. package/dist/vaults/morpho/index.d.ts.map +1 -1
  31. package/dist/vaults/savings/fetchPublic.d.ts.map +1 -1
  32. package/dist/vaults/savings/types.d.ts +12 -0
  33. package/dist/vaults/savings/types.d.ts.map +1 -1
  34. package/dist/vaults/silo/fetchPublic.d.ts.map +1 -1
  35. package/dist/vaults/yearn/api.d.ts +93 -0
  36. package/dist/vaults/yearn/api.d.ts.map +1 -0
  37. package/dist/vaults/yearn/fetchPublic.d.ts +21 -0
  38. package/dist/vaults/yearn/fetchPublic.d.ts.map +1 -0
  39. package/dist/vaults/yearn/index.d.ts +4 -0
  40. package/dist/vaults/yearn/index.d.ts.map +1 -0
  41. package/dist/vaults/yearn/types.d.ts +104 -0
  42. package/dist/vaults/yearn/types.d.ts.map +1 -0
  43. package/package.json +3 -3
  44. package/dist/vaults/morpho/fetchFromSubgraph.d.ts +0 -12
  45. package/dist/vaults/morpho/fetchFromSubgraph.d.ts.map +0 -1
@@ -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"}
@@ -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"}
@@ -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;AAgHnD,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,CAuFtB,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;AAsFxE,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"}
@@ -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"}
@@ -1 +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;AAI9C,OAAO,EAAa,UAAU,EAAE,MAAM,SAAS,CAAA;AAqQ/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,CAgFpB,CAAA"}
1
+ {"version":3,"file":"fetchPublic.d.ts","sourceRoot":"","sources":["../../../src/vaults/silo/fetchPublic.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAI9C,OAAO,EAAa,UAAU,EAAE,MAAM,SAAS,CAAA;AAsT/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,CA8FpB,CAAA"}
@@ -0,0 +1,93 @@
1
+ /**
2
+ * Yearn V3 discovery via the public **yDaemon** API.
3
+ *
4
+ * yDaemon is Yearn's metadata service: one GET per chain returns every
5
+ * vault it indexes — V3 *and* legacy V2 — already enriched with USD TVL,
6
+ * realized APR, price-per-share and the underlying token. We fetch it
7
+ * directly (no multicall, no archival RPC) and keep only the **V3**
8
+ * vaults, mirroring the Lagoon fetcher's HTTP-only shape.
9
+ *
10
+ * Endpoint and chain coverage:
11
+ * https://ydaemon.yearn.fi/{chainId}/vaults/all (REST, no auth)
12
+ * Chains are gated by {@link YEARN_CHAIN_IDS} so we don't fire a request
13
+ * at chains where Yearn has no V3 factory. yDaemon paginates with
14
+ * `?limit=N&page=M` (1-indexed); we loop until a short page.
15
+ *
16
+ * V3 vs V2: every vault carries a `version`. V3 vaults are `3.x.y`
17
+ * (`kind` is `Single Strategy` / `Multi Strategy`); V2/legacy are `0.x`
18
+ * (`kind: Legacy`). We keep only `version` starting `3.` so this provider
19
+ * stays a clean ERC-4626 (VaultV3 / TokenizedStrategy) surface.
20
+ */
21
+ export declare const YEARN_YDAEMON_BASE = "https://ydaemon.yearn.fi";
22
+ /**
23
+ * Chains with endorsed Yearn **V3** vaults indexed by yDaemon (numeric
24
+ * chain ids as strings). Verified against
25
+ * `ydaemon.yearn.fi/{chainId}/vaults/all` — only chains that actually
26
+ * return `version: 3.x` vaults are listed, so we don't waste a round-trip.
27
+ * Extend as Yearn deploys V3 to more chains — the parser is
28
+ * chain-agnostic, this set only decides whether to issue the request.
29
+ */
30
+ export declare const YEARN_CHAIN_IDS: Set<string>;
31
+ export declare const hasYearnVaults: (chainId: string) => boolean;
32
+ /** True when a yDaemon vault is a V3 (TokenizedStrategy / VaultV3) vault. */
33
+ export declare const isYearnV3: (v: YDaemonVault) => boolean;
34
+ /** Shape of a single yDaemon `/vaults/all` entry (fields we consume). */
35
+ export interface YDaemonVault {
36
+ address: string | null;
37
+ /** Vault kind — `Single Strategy` | `Multi Strategy` (V3) | `Legacy` (V2). */
38
+ kind: string | null;
39
+ symbol: string | null;
40
+ name: string | null;
41
+ /** Semver — `3.0.4`, `0.4.6`, … Drives the V3 filter. */
42
+ version: string | null;
43
+ /** Yearn product category, e.g. `Pendle`, `Curve`, `Velodrome`. */
44
+ category: string | null;
45
+ /** Share-token decimals. */
46
+ decimals: number | null;
47
+ chainID: number | null;
48
+ /** Curated/whitelisted by Yearn. We keep only endorsed V3 vaults. */
49
+ endorsed: boolean | null;
50
+ /** Raw price-per-share — `convertToAssets(10**decimals)`, asset-scaled. */
51
+ pricePerShare: string | null;
52
+ /** Underlying asset token. */
53
+ token: {
54
+ address: string | null;
55
+ symbol: string | null;
56
+ name: string | null;
57
+ decimals: number | null;
58
+ } | null;
59
+ tvl: {
60
+ /** Total underlying held, raw integer string (asset-decimal scaled). */
61
+ totalAssets: string | null;
62
+ /** TVL in USD (decimal number). */
63
+ tvl: number | null;
64
+ /** USD price of one underlying unit. */
65
+ price: number | null;
66
+ } | null;
67
+ apr: {
68
+ /** Realized net APR as a FRACTION (e.g. 0.0512 = 5.12 %). */
69
+ netAPR: number | null;
70
+ fees: {
71
+ /** Performance fee as a fraction (0.1 = 10 %). */
72
+ performance: number | null;
73
+ management: number | null;
74
+ } | null;
75
+ extra: {
76
+ /** Extra staking-rewards APR, fraction. */
77
+ stakingRewardsAPR: number | null;
78
+ } | null;
79
+ /** Forward-looking (expected) net APR, fraction. Fallback for new
80
+ * vaults with no realized `netAPR` history yet. */
81
+ forwardAPR: {
82
+ netAPR: number | null;
83
+ } | null;
84
+ } | null;
85
+ }
86
+ /**
87
+ * Fetch every endorsed Yearn **V3** vault on a chain, paginating until
88
+ * yDaemon returns a short page. Returns the raw yDaemon items already
89
+ * filtered to V3 + endorsed; normalization to `YearnVault` happens in
90
+ * `fetchPublic`.
91
+ */
92
+ export declare function fetchYearnApiVaults(chainId: string): Promise<YDaemonVault[]>;
93
+ //# sourceMappingURL=api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/vaults/yearn/api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,eAAO,MAAM,kBAAkB,6BAA6B,CAAA;AAE5D;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,aAQ1B,CAAA;AAEF,eAAO,MAAM,cAAc,GAAI,SAAS,MAAM,KAAG,OACX,CAAA;AAEtC,6EAA6E;AAC7E,eAAO,MAAM,SAAS,GAAI,GAAG,YAAY,KAAG,OACkB,CAAA;AAE9D,yEAAyE;AACzE,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,8EAA8E;IAC9E,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,yDAAyD;IACzD,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,mEAAmE;IACnE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,4BAA4B;IAC5B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,qEAAqE;IACrE,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAA;IACxB,2EAA2E;IAC3E,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,8BAA8B;IAC9B,KAAK,EAAE;QACL,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;QACtB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;QACrB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;QACnB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;KACxB,GAAG,IAAI,CAAA;IACR,GAAG,EAAE;QACH,wEAAwE;QACxE,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;QAC1B,mCAAmC;QACnC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;QAClB,wCAAwC;QACxC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;KACrB,GAAG,IAAI,CAAA;IACR,GAAG,EAAE;QACH,6DAA6D;QAC7D,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;QACrB,IAAI,EAAE;YACJ,kDAAkD;YAClD,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;YAC1B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;SAC1B,GAAG,IAAI,CAAA;QACR,KAAK,EAAE;YACL,2CAA2C;YAC3C,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAA;SACjC,GAAG,IAAI,CAAA;QACR;4DACoD;QACpD,UAAU,EAAE;YACV,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;SACtB,GAAG,IAAI,CAAA;KACT,GAAG,IAAI,CAAA;CACT;AAID;;;;;GAKG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,YAAY,EAAE,CAAC,CAoBzB"}
@@ -0,0 +1,21 @@
1
+ import { GenericTokenList, MulticallRetryFunction } from '../../types';
2
+ import { YearnVaults } from './types';
3
+ /**
4
+ * One-shot fetcher for all endorsed Yearn V3 vaults on a chain.
5
+ *
6
+ * Discovery is HTTP (yDaemon REST), then a best-effort on-chain multicall
7
+ * adds withdrawable `liquidity` per vault (see {@link attachYearnLiquidity}).
8
+ * Returns an empty map for chains without a Yearn V3 deployment.
9
+ *
10
+ * @param chainId target chain
11
+ * @param multicallRetry provider-level multicall executor (used only for
12
+ * the liquidity leg; discovery is HTTP)
13
+ * @param prices optional price map keyed by oracle key / underlying
14
+ * @param tokenList optional token list for hydrating `asset` metadata
15
+ *
16
+ * @returns `YearnVaults` — map keyed by lowercased vault address.
17
+ */
18
+ export declare const fetchYearnVaults: (chainId: string, multicallRetry: MulticallRetryFunction, prices?: {
19
+ [asset: string]: number;
20
+ }, tokenList?: GenericTokenList) => Promise<YearnVaults>;
21
+ //# sourceMappingURL=fetchPublic.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetchPublic.d.ts","sourceRoot":"","sources":["../../../src/vaults/yearn/fetchPublic.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAItE,OAAO,EAAc,WAAW,EAAE,MAAM,SAAS,CAAA;AA8QjD;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,gBAAgB,GAC3B,SAAS,MAAM,EACf,gBAAgB,sBAAsB,EACtC,SAAQ;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAO,EACxC,YAAW,gBAAqB,KAC/B,OAAO,CAAC,WAAW,CAmBrB,CAAA"}
@@ -0,0 +1,4 @@
1
+ export { fetchYearnVaults } from './fetchPublic';
2
+ export { YEARN_YDAEMON_BASE, YEARN_CHAIN_IDS, hasYearnVaults, isYearnV3, fetchYearnApiVaults, type YDaemonVault, } from './api';
3
+ export type { YearnVault, YearnVaults, YearnVaultKind } from './types';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/vaults/yearn/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAChD,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,SAAS,EACT,mBAAmB,EACnB,KAAK,YAAY,GAClB,MAAM,OAAO,CAAA;AACd,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA"}