@1delta/margin-fetcher 0.0.274 → 0.0.276

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 (36) hide show
  1. package/dist/index.js +324 -24
  2. package/dist/index.js.map +1 -1
  3. package/dist/vaults/assetDecimals.d.ts +14 -0
  4. package/dist/vaults/assetDecimals.d.ts.map +1 -0
  5. package/dist/vaults/classification.d.ts +22 -4
  6. package/dist/vaults/classification.d.ts.map +1 -1
  7. package/dist/vaults/euler-earn/fetchFromSubgraph.d.ts.map +1 -1
  8. package/dist/vaults/euler-earn/types.d.ts +3 -0
  9. package/dist/vaults/euler-earn/types.d.ts.map +1 -1
  10. package/dist/vaults/fluid/fetchPublic.d.ts.map +1 -1
  11. package/dist/vaults/gearbox/publicCallParse.d.ts.map +1 -1
  12. package/dist/vaults/gearbox/types.d.ts +3 -0
  13. package/dist/vaults/gearbox/types.d.ts.map +1 -1
  14. package/dist/vaults/lookup.d.ts +5 -0
  15. package/dist/vaults/lookup.d.ts.map +1 -1
  16. package/dist/vaults/lst/abis/etherfi.d.ts +14 -1
  17. package/dist/vaults/lst/abis/etherfi.d.ts.map +1 -1
  18. package/dist/vaults/lst/fetchPublic.d.ts.map +1 -1
  19. package/dist/vaults/lst/readers/etherfi.d.ts +8 -6
  20. package/dist/vaults/lst/readers/etherfi.d.ts.map +1 -1
  21. package/dist/vaults/lst/readers/shared.d.ts +20 -0
  22. package/dist/vaults/lst/readers/shared.d.ts.map +1 -1
  23. package/dist/vaults/lst/types.d.ts +13 -7
  24. package/dist/vaults/lst/types.d.ts.map +1 -1
  25. package/dist/vaults/lst/withdrawals/registry.d.ts.map +1 -1
  26. package/dist/vaults/morpho/fetchFromApi.d.ts.map +1 -1
  27. package/dist/vaults/morpho/fetchFromChain.d.ts.map +1 -1
  28. package/dist/vaults/morpho/fetchListaFromChain.d.ts.map +1 -1
  29. package/dist/vaults/morpho/types.d.ts +3 -0
  30. package/dist/vaults/morpho/types.d.ts.map +1 -1
  31. package/dist/vaults/sharePrice.d.ts +18 -0
  32. package/dist/vaults/sharePrice.d.ts.map +1 -0
  33. package/dist/vaults/silo/fetchPublic.d.ts.map +1 -1
  34. package/dist/vaults/silo/types.d.ts +3 -0
  35. package/dist/vaults/silo/types.d.ts.map +1 -1
  36. package/package.json +3 -3
@@ -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,4 +1,5 @@
1
1
  import type { VaultProvider, VaultPublicDataAll } from './fetchVaultsAll';
2
+ import type { GenericCurrency, GenericTokenList } from '../types/general';
2
3
  /**
3
4
  * Two orthogonal axes for separating savings-like vaults from volatile ones.
4
5
  *
@@ -18,13 +19,30 @@ export interface VaultClassification {
18
19
  denomination: Denomination;
19
20
  }
20
21
  /**
21
- * Optional classification fields mixed into every per-provider vault type
22
- * (and `VaultLookupEntry`). Populated by `stampVaultClassification`; absent
23
- * until then, so consumers treat absent as "unclassified".
22
+ * Optional cross-provider fields mixed into every per-provider vault type
23
+ * (and `VaultLookupEntry`) and stamped by `stampVaultClassification`; absent
24
+ * until then.
25
+ *
26
+ * `sharePrice` is the **uniform** share price — `convertToAssets`
27
+ * (fluid/savings/lst/morpho/lista/silo/gearbox/euler-earn) or `pricePerShare`
28
+ * (lagoon/yearn), whichever the provider exposes — so consumers read one field
29
+ * instead of `convertToAssets ?? pricePerShare`. Raw `convertToAssets(10^share
30
+ * Decimals)`; `'0'` for an empty vault; absent on hypercore/gmx (no share/asset
31
+ * ratio).
24
32
  */
25
33
  export interface VaultClassificationFields {
26
34
  yieldProfile?: YieldProfile;
27
35
  denomination?: Denomination;
36
+ sharePrice?: string;
37
+ /**
38
+ * The **share token's own** token-list entry (hydrated from the provided
39
+ * `tokenList` by `stampVaultClassification`). Unlike `asset` — which is the
40
+ * *underlying* — this is what the vault/LST *actually is* (e.g. pumpBTC, with
41
+ * its branded `logoURI` + `assetGroup`), so a UI can show the right icon.
42
+ * Absent when the caller passed no token list, or the share token isn't in
43
+ * it.
44
+ */
45
+ shareAsset?: GenericCurrency;
28
46
  }
29
47
  /**
30
48
  * Per-vault overrides for strategy vaults that are volatile despite living
@@ -74,5 +92,5 @@ export declare const classifyVault: (input: ClassifyVaultInput) => VaultClassifi
74
92
  * vaults embed the stablecoin in their share symbol (`steakUSDC`), and
75
93
  * volatile shares rarely contain a stable token name.
76
94
  */
77
- export declare const stampVaultClassification: (data: VaultPublicDataAll, chainId: string | number) => void;
95
+ export declare const stampVaultClassification: (data: VaultPublicDataAll, chainId: string | number, tokenList?: GenericTokenList) => void;
78
96
  //# sourceMappingURL=classification.d.ts.map
@@ -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,IA2BF,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;AACzE,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,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;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,yBAAyB;IACxC,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,eAAe,CAAA;CAC7B;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;AAYD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,wBAAwB,GACnC,MAAM,kBAAkB,EACxB,SAAS,MAAM,GAAG,MAAM,EACxB,YAAW,gBAAqB,KAC/B,IAgCF,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"fetchFromSubgraph.d.ts","sourceRoot":"","sources":["../../../src/vaults/euler-earn/fetchFromSubgraph.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAG9C,OAAO,EAAkB,eAAe,EAAE,MAAM,SAAS,CAAA;AA2BzD,yEAAyE;AACzE,eAAO,MAAM,yBAAyB,GAAI,SAAS,MAAM,KAAG,OACvB,CAAA;AAqYrC;;;;;;;;;;;;;GAaG;AACH,wBAAsB,gCAAgC,CACpD,OAAO,EAAE,MAAM,EACf,MAAM,GAAE;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAO,EACxC,SAAS,GAAE,gBAAqB,GAC/B,OAAO,CAAC,eAAe,CAAC,CAqB1B"}
1
+ {"version":3,"file":"fetchFromSubgraph.d.ts","sourceRoot":"","sources":["../../../src/vaults/euler-earn/fetchFromSubgraph.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAI9C,OAAO,EAAkB,eAAe,EAAE,MAAM,SAAS,CAAA;AA2BzD,yEAAyE;AACzE,eAAO,MAAM,yBAAyB,GAAI,SAAS,MAAM,KAAG,OACvB,CAAA;AA4YrC;;;;;;;;;;;;;GAaG;AACH,wBAAsB,gCAAgC,CACpD,OAAO,EAAE,MAAM,EACf,MAAM,GAAE;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAO,EACxC,SAAS,GAAE,gBAAqB,GAC/B,OAAO,CAAC,eAAe,CAAC,CAqB1B"}
@@ -28,6 +28,9 @@ export interface EulerEarnVault extends VaultClassificationFields {
28
28
  totalAssets: string;
29
29
  /** Total shares minted, raw integer as string. */
30
30
  totalSupply: string;
31
+ /** Raw `convertToAssets(10**shareDecimals)` — 1 share → X underlying,
32
+ * asset-scaled. Derived from `totalAssets / totalSupply`. */
33
+ convertToAssets: string;
31
34
  /** Supply APR in percent, net of performance fee. */
32
35
  supplyRate: number;
33
36
  /** Extra rewards APR in percent, on top of `supplyRate`.
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/vaults/euler-earn/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAA;AAElE;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,cAAe,SAAQ,yBAAyB;IAC/D,6DAA6D;IAC7D,OAAO,EAAE,MAAM,CAAA;IACf,4CAA4C;IAC5C,UAAU,EAAE,MAAM,CAAA;IAClB,gDAAgD;IAChD,MAAM,EAAE,MAAM,CAAA;IACd,8BAA8B;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,mEAAmE;IACnE,QAAQ,EAAE,MAAM,CAAA;IAEhB,wEAAwE;IACxE,WAAW,EAAE,MAAM,CAAA;IACnB,kDAAkD;IAClD,WAAW,EAAE,MAAM,CAAA;IAEnB,qDAAqD;IACrD,UAAU,EAAE,MAAM,CAAA;IAClB;oEACgE;IAChE,WAAW,EAAE,MAAM,CAAA;IACnB,2EAA2E;IAC3E,WAAW,EAAE,MAAM,CAAA;IAEnB,qDAAqD;IACrD,GAAG,EAAE,MAAM,CAAA;IACX,4DAA4D;IAC5D,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,mDAAmD;IACnD,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;+EAE2E;IAC3E,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,oDAAoD;IACpD,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,iDAAiD;IACjD,YAAY,CAAC,EAAE,MAAM,CAAA;IAErB,oEAAoE;IACpE,KAAK,CAAC,EAAE,eAAe,CAAA;IACvB,iEAAiE;IACjE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,kEAAkE;IAClE,oBAAoB,EAAE,MAAM,CAAA;IAC5B,2CAA2C;IAC3C,cAAc,EAAE,MAAM,CAAA;IAEtB;;;;oDAIgD;IAChD,SAAS,EAAE,MAAM,CAAA;IACjB,wDAAwD;IACxD,kBAAkB,EAAE,MAAM,CAAA;IAC1B,+DAA+D;IAC/D,YAAY,EAAE,MAAM,CAAA;CACrB;AAED,kDAAkD;AAClD,MAAM,MAAM,eAAe,GAAG;IAC5B,yCAAyC;IACzC,CAAC,YAAY,EAAE,MAAM,GAAG,cAAc,CAAA;CACvC,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/vaults/euler-earn/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAA;AAElE;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,cAAe,SAAQ,yBAAyB;IAC/D,6DAA6D;IAC7D,OAAO,EAAE,MAAM,CAAA;IACf,4CAA4C;IAC5C,UAAU,EAAE,MAAM,CAAA;IAClB,gDAAgD;IAChD,MAAM,EAAE,MAAM,CAAA;IACd,8BAA8B;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,mEAAmE;IACnE,QAAQ,EAAE,MAAM,CAAA;IAEhB,wEAAwE;IACxE,WAAW,EAAE,MAAM,CAAA;IACnB,kDAAkD;IAClD,WAAW,EAAE,MAAM,CAAA;IACnB;kEAC8D;IAC9D,eAAe,EAAE,MAAM,CAAA;IAEvB,qDAAqD;IACrD,UAAU,EAAE,MAAM,CAAA;IAClB;oEACgE;IAChE,WAAW,EAAE,MAAM,CAAA;IACnB,2EAA2E;IAC3E,WAAW,EAAE,MAAM,CAAA;IAEnB,qDAAqD;IACrD,GAAG,EAAE,MAAM,CAAA;IACX,4DAA4D;IAC5D,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,mDAAmD;IACnD,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;+EAE2E;IAC3E,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,oDAAoD;IACpD,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,iDAAiD;IACjD,YAAY,CAAC,EAAE,MAAM,CAAA;IAErB,oEAAoE;IACpE,KAAK,CAAC,EAAE,eAAe,CAAA;IACvB,iEAAiE;IACjE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,kEAAkE;IAClE,oBAAoB,EAAE,MAAM,CAAA;IAC5B,2CAA2C;IAC3C,cAAc,EAAE,MAAM,CAAA;IAEtB;;;;oDAIgD;IAChD,SAAS,EAAE,MAAM,CAAA;IACjB,wDAAwD;IACxD,kBAAkB,EAAE,MAAM,CAAA;IAC1B,+DAA+D;IAC/D,YAAY,EAAE,MAAM,CAAA;CACrB;AAED,kDAAkD;AAClD,MAAM,MAAM,eAAe,GAAG;IAC5B,yCAAyC;IACzC,CAAC,YAAY,EAAE,MAAM,GAAG,cAAc,CAAA;CACvC,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"}
@@ -1 +1 @@
1
- {"version":3,"file":"publicCallParse.d.ts","sourceRoot":"","sources":["../../../src/vaults/gearbox/publicCallParse.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAE9C,OAAO,EAAiB,cAAc,EAAE,MAAM,SAAS,CAAA;AAmBvD;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,0BAA0B,GACrC,SAAS,MAAM,EACf,SAAQ;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAO,EACxC,YAAW,gBAAqB,KAC/B,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,cAAc,GAAG,SAAS,EAAE,MAAM,CAWtD,CAAA"}
1
+ {"version":3,"file":"publicCallParse.d.ts","sourceRoot":"","sources":["../../../src/vaults/gearbox/publicCallParse.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAG9C,OAAO,EAAiB,cAAc,EAAE,MAAM,SAAS,CAAA;AAmBvD;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,0BAA0B,GACrC,SAAS,MAAM,EACf,SAAQ;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAO,EACxC,YAAW,gBAAqB,KAC/B,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,cAAc,GAAG,SAAS,EAAE,MAAM,CAWtD,CAAA"}
@@ -34,6 +34,9 @@ export interface GearboxV3Pool extends VaultClassificationFields {
34
34
  totalAssets: string;
35
35
  /** Total Diesel shares minted, raw integer as string. */
36
36
  totalSupply: string;
37
+ /** Raw `convertToAssets(10**shareDecimals)` — 1 share → X underlying,
38
+ * asset-scaled. Derived from `totalAssets / totalSupply`. */
39
+ convertToAssets: string;
37
40
  /** Total underlying currently lent out by all attached Credit Managers. */
38
41
  totalBorrowed: string;
39
42
  /** Underlying freely withdrawable by lenders (totalAssets − totalBorrowed). */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/vaults/gearbox/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAA;AAElE;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,aAAc,SAAQ,yBAAyB;IAC9D,wDAAwD;IACxD,OAAO,EAAE,MAAM,CAAA;IACf;;8EAE0E;IAC1E,UAAU,EAAE,MAAM,CAAA;IAClB,sDAAsD;IACtD,MAAM,EAAE,MAAM,CAAA;IACd;0CACsC;IACtC,IAAI,EAAE,MAAM,CAAA;IACZ;4DACwD;IACxD,WAAW,EAAE,MAAM,CAAA;IACnB;oBACgB;IAChB,QAAQ,EAAE,MAAM,CAAA;IAEhB,uEAAuE;IACvE,WAAW,EAAE,MAAM,CAAA;IACnB,yDAAyD;IACzD,WAAW,EAAE,MAAM,CAAA;IACnB,2EAA2E;IAC3E,aAAa,EAAE,MAAM,CAAA;IACrB,+EAA+E;IAC/E,kBAAkB,EAAE,MAAM,CAAA;IAC1B,oEAAoE;IACpE,iBAAiB,EAAE,MAAM,CAAA;IAEzB,2EAA2E;IAC3E,UAAU,EAAE,MAAM,CAAA;IAClB,yDAAyD;IACzD,cAAc,EAAE,MAAM,CAAA;IAEtB;;;uEAGmE;IACnE,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;2EAEuE;IACvE,WAAW,CAAC,EAAE,MAAM,CAAA;IAEpB;6CACyC;IACzC,UAAU,EAAE,MAAM,CAAA;IAClB,kCAAkC;IAClC,gBAAgB,EAAE,MAAM,CAAA;IAExB,oEAAoE;IACpE,KAAK,CAAC,EAAE,eAAe,CAAA;IACvB,iEAAiE;IACjE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,kEAAkE;IAClE,oBAAoB,EAAE,MAAM,CAAA;IAC5B,2CAA2C;IAC3C,cAAc,EAAE,MAAM,CAAA;IAEtB;;;wBAGoB;IACpB,SAAS,EAAE,MAAM,CAAA;IACjB,wDAAwD;IACxD,kBAAkB,EAAE,MAAM,CAAA;IAC1B,+DAA+D;IAC/D,YAAY,EAAE,MAAM,CAAA;CACrB;AAED,kEAAkE;AAClE,MAAM,MAAM,cAAc,GAAG;IAC3B,6EAA6E;IAC7E,CAAC,UAAU,EAAE,MAAM,GAAG,aAAa,CAAA;CACpC,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/vaults/gearbox/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAA;AAElE;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,aAAc,SAAQ,yBAAyB;IAC9D,wDAAwD;IACxD,OAAO,EAAE,MAAM,CAAA;IACf;;8EAE0E;IAC1E,UAAU,EAAE,MAAM,CAAA;IAClB,sDAAsD;IACtD,MAAM,EAAE,MAAM,CAAA;IACd;0CACsC;IACtC,IAAI,EAAE,MAAM,CAAA;IACZ;4DACwD;IACxD,WAAW,EAAE,MAAM,CAAA;IACnB;oBACgB;IAChB,QAAQ,EAAE,MAAM,CAAA;IAEhB,uEAAuE;IACvE,WAAW,EAAE,MAAM,CAAA;IACnB,yDAAyD;IACzD,WAAW,EAAE,MAAM,CAAA;IACnB;kEAC8D;IAC9D,eAAe,EAAE,MAAM,CAAA;IACvB,2EAA2E;IAC3E,aAAa,EAAE,MAAM,CAAA;IACrB,+EAA+E;IAC/E,kBAAkB,EAAE,MAAM,CAAA;IAC1B,oEAAoE;IACpE,iBAAiB,EAAE,MAAM,CAAA;IAEzB,2EAA2E;IAC3E,UAAU,EAAE,MAAM,CAAA;IAClB,yDAAyD;IACzD,cAAc,EAAE,MAAM,CAAA;IAEtB;;;uEAGmE;IACnE,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;2EAEuE;IACvE,WAAW,CAAC,EAAE,MAAM,CAAA;IAEpB;6CACyC;IACzC,UAAU,EAAE,MAAM,CAAA;IAClB,kCAAkC;IAClC,gBAAgB,EAAE,MAAM,CAAA;IAExB,oEAAoE;IACpE,KAAK,CAAC,EAAE,eAAe,CAAA;IACvB,iEAAiE;IACjE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,kEAAkE;IAClE,oBAAoB,EAAE,MAAM,CAAA;IAC5B,2CAA2C;IAC3C,cAAc,EAAE,MAAM,CAAA;IAEtB;;;wBAGoB;IACpB,SAAS,EAAE,MAAM,CAAA;IACjB,wDAAwD;IACxD,kBAAkB,EAAE,MAAM,CAAA;IAC1B,+DAA+D;IAC/D,YAAY,EAAE,MAAM,CAAA;CACrB;AAED,kEAAkE;AAClE,MAAM,MAAM,cAAc,GAAG;IAC3B,6EAA6E;IAC7E,CAAC,UAAU,EAAE,MAAM,GAAG,aAAa,CAAA;CACpC,CAAA"}
@@ -48,6 +48,11 @@ export interface VaultLookupEntry {
48
48
  /** Underlying denomination — `stable` (stablecoin underlying) vs
49
49
  * `volatile`. Orthogonal to `yieldProfile`. */
50
50
  denomination?: Denomination;
51
+ /** Uniform share price — raw `convertToAssets(10^shareDecimals)` (1 share →
52
+ * underlying). Folded from the provider's `convertToAssets`/`pricePerShare`
53
+ * by `stampVaultClassification`. `'0'` for empty vaults; absent on
54
+ * hypercore/gmx. */
55
+ sharePrice?: string;
51
56
  }
52
57
  /**
53
58
  * Flattens the per-provider maps from `VaultPublicDataAll` into a
@@ -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,CA2D/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;IAC3B;;;yBAGqB;IACrB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,kBAAkB,GACvB,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CA6D/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"}
@@ -1 +1 @@
1
- {"version":3,"file":"fetchFromApi.d.ts","sourceRoot":"","sources":["../../../src/vaults/morpho/fetchFromApi.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAG9C,OAAO,EAAe,YAAY,EAAoB,MAAM,SAAS,CAAA;AAqPrE;;;;;;;GAOG;AACH,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,MAAM,EACf,MAAM,GAAE;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAO,EACxC,SAAS,GAAE,gBAAqB,EAChC,QAAQ,SAAM,GACb,OAAO,CAAC,YAAY,CAAC,CAkBvB"}
1
+ {"version":3,"file":"fetchFromApi.d.ts","sourceRoot":"","sources":["../../../src/vaults/morpho/fetchFromApi.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAI9C,OAAO,EAAe,YAAY,EAAoB,MAAM,SAAS,CAAA;AA+PrE;;;;;;;GAOG;AACH,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,MAAM,EACf,MAAM,GAAE;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAO,EACxC,SAAS,GAAE,gBAAqB,EAChC,QAAQ,SAAM,GACb,OAAO,CAAC,YAAY,CAAC,CAkBvB"}
@@ -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;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
+ {"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;AAkHnD,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;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"}
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;AAwFxE,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"}
@@ -48,6 +48,9 @@ export interface MorphoVault extends VaultClassificationFields {
48
48
  totalAssets: string;
49
49
  /** Total shares minted, raw integer as string. */
50
50
  totalSupply: string;
51
+ /** Raw `convertToAssets(10**shareDecimals)` — 1 share → X underlying,
52
+ * asset-scaled. Derived from `totalAssets / totalSupply`. */
53
+ convertToAssets: string;
51
54
  /** Supply APR in percent, net of vault fee (e.g. `4.12` = 4.12 %). */
52
55
  supplyRate: number;
53
56
  /** Extra rewards APR in percent, on top of `supplyRate`. */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/vaults/morpho/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAA;AAClE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAEtD,YAAY,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAEtD,sDAAsD;AACtD,MAAM,WAAW,gBAAgB;IAC/B,0DAA0D;IAC1D,EAAE,EAAE,MAAM,CAAA;IACV,oEAAoE;IACpE,IAAI,EAAE,MAAM,CAAA;IACZ,6CAA6C;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,gDAAgD;IAChD,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,WAAY,SAAQ,yBAAyB;IAC5D,mEAAmE;IACnE,OAAO,EAAE,MAAM,CAAA;IACf,2CAA2C;IAC3C,UAAU,EAAE,MAAM,CAAA;IAClB,4DAA4D;IAC5D,MAAM,EAAE,MAAM,CAAA;IACd;;mDAE+C;IAC/C,IAAI,EAAE,MAAM,CAAA;IACZ;uEACmE;IACnE,WAAW,EAAE,MAAM,CAAA;IACnB,mEAAmE;IACnE,QAAQ,EAAE,MAAM,CAAA;IAEhB,wEAAwE;IACxE,WAAW,EAAE,MAAM,CAAA;IACnB,kDAAkD;IAClD,WAAW,EAAE,MAAM,CAAA;IAEnB,sEAAsE;IACtE,UAAU,EAAE,MAAM,CAAA;IAClB,4DAA4D;IAC5D,WAAW,EAAE,MAAM,CAAA;IACnB,2EAA2E;IAC3E,WAAW,EAAE,MAAM,CAAA;IAEnB,qDAAqD;IACrD,GAAG,EAAE,MAAM,CAAA;IACX,qDAAqD;IACrD,QAAQ,EAAE,MAAM,CAAA;IAChB;iEAC6D;IAC7D,WAAW,EAAE,OAAO,CAAA;IAEpB,4DAA4D;IAC5D,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,8DAA8D;IAC9D,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB;;8EAE0E;IAC1E,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;kCAC8B;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB;;kBAEc;IACd,QAAQ,CAAC,EAAE,gBAAgB,EAAE,CAAA;IAE7B,oEAAoE;IACpE,KAAK,CAAC,EAAE,eAAe,CAAA;IACvB,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,kEAAkE;IAClE,oBAAoB,EAAE,MAAM,CAAA;IAC5B,2CAA2C;IAC3C,cAAc,EAAE,MAAM,CAAA;IAEtB;;;;;4EAKwE;IACxE,SAAS,EAAE,MAAM,CAAA;IACjB,wDAAwD;IACxD,kBAAkB,EAAE,MAAM,CAAA;IAC1B,+DAA+D;IAC/D,YAAY,EAAE,MAAM,CAAA;IAEpB;;;gEAG4D;IAC5D,SAAS,CAAC,EAAE,mBAAmB,EAAE,CAAA;CAClC;AAED;;;;;;GAMG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,yCAAyC;IACzC,CAAC,YAAY,EAAE,MAAM,GAAG,WAAW,CAAA;CACpC,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/vaults/morpho/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAA;AAClE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAEtD,YAAY,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAEtD,sDAAsD;AACtD,MAAM,WAAW,gBAAgB;IAC/B,0DAA0D;IAC1D,EAAE,EAAE,MAAM,CAAA;IACV,oEAAoE;IACpE,IAAI,EAAE,MAAM,CAAA;IACZ,6CAA6C;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,gDAAgD;IAChD,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,WAAY,SAAQ,yBAAyB;IAC5D,mEAAmE;IACnE,OAAO,EAAE,MAAM,CAAA;IACf,2CAA2C;IAC3C,UAAU,EAAE,MAAM,CAAA;IAClB,4DAA4D;IAC5D,MAAM,EAAE,MAAM,CAAA;IACd;;mDAE+C;IAC/C,IAAI,EAAE,MAAM,CAAA;IACZ;uEACmE;IACnE,WAAW,EAAE,MAAM,CAAA;IACnB,mEAAmE;IACnE,QAAQ,EAAE,MAAM,CAAA;IAEhB,wEAAwE;IACxE,WAAW,EAAE,MAAM,CAAA;IACnB,kDAAkD;IAClD,WAAW,EAAE,MAAM,CAAA;IACnB;kEAC8D;IAC9D,eAAe,EAAE,MAAM,CAAA;IAEvB,sEAAsE;IACtE,UAAU,EAAE,MAAM,CAAA;IAClB,4DAA4D;IAC5D,WAAW,EAAE,MAAM,CAAA;IACnB,2EAA2E;IAC3E,WAAW,EAAE,MAAM,CAAA;IAEnB,qDAAqD;IACrD,GAAG,EAAE,MAAM,CAAA;IACX,qDAAqD;IACrD,QAAQ,EAAE,MAAM,CAAA;IAChB;iEAC6D;IAC7D,WAAW,EAAE,OAAO,CAAA;IAEpB,4DAA4D;IAC5D,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,8DAA8D;IAC9D,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB;;8EAE0E;IAC1E,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;kCAC8B;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB;;kBAEc;IACd,QAAQ,CAAC,EAAE,gBAAgB,EAAE,CAAA;IAE7B,oEAAoE;IACpE,KAAK,CAAC,EAAE,eAAe,CAAA;IACvB,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,kEAAkE;IAClE,oBAAoB,EAAE,MAAM,CAAA;IAC5B,2CAA2C;IAC3C,cAAc,EAAE,MAAM,CAAA;IAEtB;;;;;4EAKwE;IACxE,SAAS,EAAE,MAAM,CAAA;IACjB,wDAAwD;IACxD,kBAAkB,EAAE,MAAM,CAAA;IAC1B,+DAA+D;IAC/D,YAAY,EAAE,MAAM,CAAA;IAEpB;;;gEAG4D;IAC5D,SAAS,CAAC,EAAE,mBAAmB,EAAE,CAAA;CAClC;AAED;;;;;;GAMG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,yCAAyC;IACzC,CAAC,YAAY,EAAE,MAAM,GAAG,WAAW,CAAA;CACpC,CAAA"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Raw `convertToAssets(10^shareDecimals)` derived from a vault's totals — how
3
+ * much underlying one share is worth, in raw asset units. Provider-agnostic
4
+ * share price for the ERC-4626 vaults whose data source doesn't surface a
5
+ * `convertToShares`/`convertToAssets`/`pricePerShare` field directly
6
+ * (Morpho/Lista, Silo, Gearbox, Euler-Earn).
7
+ *
8
+ * It's the `totalAssets / totalSupply` ratio scaled by the share unit, so it
9
+ * ignores ERC-4626 virtual-share rounding — a negligible difference for
10
+ * display, and the same quantity the realised-APY recorder reads on-chain via
11
+ * `convertToAssets(1e18)`. Returns `'0'` when supply is zero or inputs are
12
+ * malformed.
13
+ *
14
+ * @param shareDecimals the vault's *share* decimals (e.g. 18 for MetaMorpho,
15
+ * the asset decimals for offset-free vaults like Silo/Gearbox/Euler).
16
+ */
17
+ export declare function deriveConvertToAssets(totalAssetsRaw: string | bigint | number | undefined, totalSupplyRaw: string | bigint | number | undefined, shareDecimals: number): string;
18
+ //# sourceMappingURL=sharePrice.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sharePrice.d.ts","sourceRoot":"","sources":["../../src/vaults/sharePrice.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,qBAAqB,CACnC,cAAc,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,EACpD,cAAc,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,EACpD,aAAa,EAAE,MAAM,GACpB,MAAM,CAWR"}
@@ -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;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"}
1
+ {"version":3,"file":"fetchPublic.d.ts","sourceRoot":"","sources":["../../../src/vaults/silo/fetchPublic.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAK9C,OAAO,EAAa,UAAU,EAAE,MAAM,SAAS,CAAA;AA8T/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"}
@@ -43,6 +43,9 @@ export interface SiloVault extends VaultClassificationFields {
43
43
  totalAssets: string;
44
44
  /** Total shares minted, raw integer as string. */
45
45
  totalSupply: string;
46
+ /** Raw `convertToAssets(10**shareDecimals)` — 1 share → X underlying,
47
+ * asset-scaled. Derived from `totalAssets / totalSupply`. */
48
+ convertToAssets: string;
46
49
  /** Supply APR in percent, net of performance fee (mirrors Silo's `userApr`).
47
50
  * Includes any rewards rolled into the indexer-reported user yield. */
48
51
  supplyRate: number;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/vaults/silo/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAA;AAClE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAEtD,YAAY,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAEtD;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,SAAU,SAAQ,yBAAyB;IAC1D,wDAAwD;IACxD,OAAO,EAAE,MAAM,CAAA;IACf,2CAA2C;IAC3C,UAAU,EAAE,MAAM,CAAA;IAClB,wDAAwD;IACxD,MAAM,EAAE,MAAM,CAAA;IACd;gCAC4B;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ;;;kDAG8C;IAC9C,WAAW,EAAE,MAAM,CAAA;IACnB,mEAAmE;IACnE,QAAQ,EAAE,MAAM,CAAA;IAChB,uDAAuD;IACvD,eAAe,EAAE,IAAI,GAAG,IAAI,GAAG,MAAM,CAAA;IACrC,qEAAqE;IACrE,UAAU,EAAE,MAAM,CAAA;IAElB;;mFAE+E;IAC/E,WAAW,EAAE,MAAM,CAAA;IACnB,kDAAkD;IAClD,WAAW,EAAE,MAAM,CAAA;IAEnB;4EACwE;IACxE,UAAU,EAAE,MAAM,CAAA;IAClB;iFAC6E;IAC7E,SAAS,EAAE,MAAM,CAAA;IACjB;iEAC6D;IAC7D,WAAW,EAAE,MAAM,CAAA;IACnB,2EAA2E;IAC3E,WAAW,EAAE,MAAM,CAAA;IAEnB,uDAAuD;IACvD,GAAG,EAAE,MAAM,CAAA;IACX,qDAAqD;IACrD,QAAQ,EAAE,MAAM,CAAA;IAChB,iCAAiC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,8DAA8D;IAC9D,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,iDAAiD;IACjD,YAAY,CAAC,EAAE,MAAM,CAAA;IAErB;;;4EAGwE;IACxE,WAAW,CAAC,EAAE,MAAM,CAAA;IAEpB,oEAAoE;IACpE,KAAK,CAAC,EAAE,eAAe,CAAA;IACvB,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,kEAAkE;IAClE,oBAAoB,EAAE,MAAM,CAAA;IAC5B;iCAC6B;IAC7B,cAAc,EAAE,MAAM,CAAA;IAEtB;;;kDAG8C;IAC9C,SAAS,EAAE,MAAM,CAAA;IACjB,wDAAwD;IACxD,kBAAkB,EAAE,MAAM,CAAA;IAC1B,+DAA+D;IAC/D,YAAY,EAAE,MAAM,CAAA;IAEpB;;;8CAG0C;IAC1C,SAAS,CAAC,EAAE,mBAAmB,EAAE,CAAA;CAClC;AAED,kDAAkD;AAClD,MAAM,MAAM,UAAU,GAAG;IACvB,yCAAyC;IACzC,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,CAAA;CAClC,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/vaults/silo/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAA;AAClE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAEtD,YAAY,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAEtD;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,SAAU,SAAQ,yBAAyB;IAC1D,wDAAwD;IACxD,OAAO,EAAE,MAAM,CAAA;IACf,2CAA2C;IAC3C,UAAU,EAAE,MAAM,CAAA;IAClB,wDAAwD;IACxD,MAAM,EAAE,MAAM,CAAA;IACd;gCAC4B;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ;;;kDAG8C;IAC9C,WAAW,EAAE,MAAM,CAAA;IACnB,mEAAmE;IACnE,QAAQ,EAAE,MAAM,CAAA;IAChB,uDAAuD;IACvD,eAAe,EAAE,IAAI,GAAG,IAAI,GAAG,MAAM,CAAA;IACrC,qEAAqE;IACrE,UAAU,EAAE,MAAM,CAAA;IAElB;;mFAE+E;IAC/E,WAAW,EAAE,MAAM,CAAA;IACnB,kDAAkD;IAClD,WAAW,EAAE,MAAM,CAAA;IACnB;kEAC8D;IAC9D,eAAe,EAAE,MAAM,CAAA;IAEvB;4EACwE;IACxE,UAAU,EAAE,MAAM,CAAA;IAClB;iFAC6E;IAC7E,SAAS,EAAE,MAAM,CAAA;IACjB;iEAC6D;IAC7D,WAAW,EAAE,MAAM,CAAA;IACnB,2EAA2E;IAC3E,WAAW,EAAE,MAAM,CAAA;IAEnB,uDAAuD;IACvD,GAAG,EAAE,MAAM,CAAA;IACX,qDAAqD;IACrD,QAAQ,EAAE,MAAM,CAAA;IAChB,iCAAiC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,8DAA8D;IAC9D,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,iDAAiD;IACjD,YAAY,CAAC,EAAE,MAAM,CAAA;IAErB;;;4EAGwE;IACxE,WAAW,CAAC,EAAE,MAAM,CAAA;IAEpB,oEAAoE;IACpE,KAAK,CAAC,EAAE,eAAe,CAAA;IACvB,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,kEAAkE;IAClE,oBAAoB,EAAE,MAAM,CAAA;IAC5B;iCAC6B;IAC7B,cAAc,EAAE,MAAM,CAAA;IAEtB;;;kDAG8C;IAC9C,SAAS,EAAE,MAAM,CAAA;IACjB,wDAAwD;IACxD,kBAAkB,EAAE,MAAM,CAAA;IAC1B,+DAA+D;IAC/D,YAAY,EAAE,MAAM,CAAA;IAEpB;;;8CAG0C;IAC1C,SAAS,CAAC,EAAE,mBAAmB,EAAE,CAAA;CAClC;AAED,kDAAkD;AAClD,MAAM,MAAM,UAAU,GAAG;IACvB,yCAAyC;IACzC,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,CAAA;CAClC,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@1delta/margin-fetcher",
3
- "version": "0.0.274",
3
+ "version": "0.0.276",
4
4
  "description": "",
5
5
  "type": "module",
6
6
  "files": [
@@ -23,10 +23,10 @@
23
23
  "async-retry": "^1.3.3",
24
24
  "lodash": "^4.17.23",
25
25
  "@1delta/abis": "0.0.19",
26
+ "@1delta/dex-registry": "0.0.101",
27
+ "@1delta/lender-registry": "0.0.32",
26
28
  "@1delta/providers": "0.0.59",
27
29
  "@1delta/calldata-sdk": "0.0.151",
28
- "@1delta/lender-registry": "0.0.32",
29
- "@1delta/dex-registry": "0.0.101",
30
30
  "@1delta/proxy-fetch": "0.0.1"
31
31
  },
32
32
  "devDependencies": {