@1delta/margin-fetcher 0.0.321 → 0.0.322

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.
@@ -6,14 +6,18 @@ export declare const VAULT_CHUNK_SIZE = 25;
6
6
  /**
7
7
  * Builds the multicall descriptor for Fluid public data.
8
8
  *
9
- * Returns a single call to VaultResolver.getVaultsEntireData() — the
10
- * resolver returns every vault on the chain in one shot.
9
+ * Two calls:
10
+ * [0] VaultResolver.getVaultsEntireData() — every vault in one shot
11
+ * [1] LiquidityResolver.getAllOverallTokensData() — per-token Liquidity-layer
12
+ * state. Vaults borrow from the shared Liquidity Layer, so the IRM input
13
+ * for every vault rate is the **Liquidity-layer token utilization**
14
+ * (`lastStoredUtilization`), not any vault-level ratio.
11
15
  *
12
16
  * fTokens are intentionally NOT fetched: they are standalone ERC-4626 vaults
13
17
  * on the shared Liquidity Layer (not a lending market), so they live outside
14
18
  * this module.
15
19
  *
16
- * Resolver address is constant across chains but sourced via the SDK so a
20
+ * Resolver addresses are constant across chains but sourced via the SDK so a
17
21
  * future chain with a divergent address can be added without code changes.
18
22
  */
19
23
  export declare const buildFluidCall: (chainId: string, _lender?: string) => {
@@ -21,16 +25,6 @@ export declare const buildFluidCall: (chainId: string, _lender?: string) => {
21
25
  name: string;
22
26
  params: never[];
23
27
  }[];
24
- /**
25
- * Variant that also pulls the Liquidity resolver overall token data.
26
- * Use when you need per-token utilization / rate curves separate from
27
- * what's already embedded in the vault response.
28
- */
29
- export declare const buildFluidCallWithLiquidity: (chainId: string) => {
30
- address: string;
31
- name: string;
32
- params: never[];
33
- }[];
34
28
  /**
35
29
  * Chunked fallback for chains where the single `getVaultsEntireData()` call
36
30
  * exceeds eth_call gas limits. Uses the cached vault address list from
@@ -1 +1 @@
1
- {"version":3,"file":"publicCallBuild.d.ts","sourceRoot":"","sources":["../../../../src/lending/public-data/fluid/publicCallBuild.ts"],"names":[],"mappings":"AACA,OAAO,MAAM,MAAM,QAAQ,CAAA;AAE3B,QAAA,MAAQ,KAAK,uEAAW,CAAA;AAExB;oEACoE;AACpE,eAAO,MAAM,gBAAgB,KAAK,CAAA;AAElC;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,cAAc,GAAI,SAAS,MAAM,EAAE,UAAU,MAAM;;;;GAW/D,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,GAAI,SAAS,MAAM;;;;GAY1D,CAAA;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,qBAAqB,GAAI,SAAS,MAAM;;;;GAWpD,CAAA;AAID,OAAO,EAAE,KAAK,EAAE,CAAA"}
1
+ {"version":3,"file":"publicCallBuild.d.ts","sourceRoot":"","sources":["../../../../src/lending/public-data/fluid/publicCallBuild.ts"],"names":[],"mappings":"AACA,OAAO,MAAM,MAAM,QAAQ,CAAA;AAE3B,QAAA,MAAQ,KAAK,uEAAW,CAAA;AAExB;oEACoE;AACpE,eAAO,MAAM,gBAAgB,KAAK,CAAA;AAElC;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,cAAc,GAAI,SAAS,MAAM,EAAE,UAAU,MAAM;;;;GAgB/D,CAAA;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,qBAAqB,GAAI,SAAS,MAAM;;;;GAWpD,CAAA;AAID,OAAO,EAAE,KAAK,EAAE,CAAA"}
@@ -1,8 +1,33 @@
1
1
  import { AdditionalYields, GenericTokenList } from '../../../types';
2
2
  /**
3
- * Parser for the single-call Fluid public data fetch built by `buildFluidCall`.
3
+ * Per-token Liquidity-layer state relevant for the IRM.
4
4
  *
5
- * data[0] = VaultEntireData[] (from VaultResolver.getVaultsEntireData)
5
+ * `utilization` is `lastStoredUtilization` scaled to a 0-1 fraction. It is
6
+ * read from the same packed storage slot as the current borrow rate, so it is
7
+ * the exact x-coordinate on the token's rate curve that produced the rate —
8
+ * the canonical "current utilization" for IRM charts and simulations.
9
+ */
10
+ export interface FluidLiquidityTokenState {
11
+ /** Liquidity-layer utilization (0-1 fraction; the IRM input) */
12
+ utilization: number;
13
+ /** Liquidity revenue fee (0-1 fraction of borrow interest) */
14
+ fee: number;
15
+ /** Utilization cap (0-1 fraction; 1 when unset) */
16
+ maxUtilization: number;
17
+ /** Total token supply at the Liquidity layer (raw token units, string) */
18
+ totalSupply: string;
19
+ /** Total token borrow at the Liquidity layer (raw token units, string) */
20
+ totalBorrow: string;
21
+ /** Liquidity-layer borrow APR % */
22
+ borrowRate: number;
23
+ /** Liquidity-layer supply APR % */
24
+ supplyRate: number;
25
+ }
26
+ /**
27
+ * Parser for the two-call Fluid public data fetch built by `buildFluidCall`.
28
+ *
29
+ * data[0] = VaultEntireData[] (VaultResolver.getVaultsEntireData)
30
+ * data[1] = OverallTokenData[] (LiquidityResolver.getAllOverallTokensData)
6
31
  *
7
32
  * Emits one bucket per vault under lender key `FLUID_<vaultId>` (mirrors the
8
33
  * Morpho Blue pattern of one lender per isolated market).
@@ -1 +1 @@
1
- {"version":3,"file":"publicCallParse.d.ts","sourceRoot":"","sources":["../../../../src/lending/public-data/fluid/publicCallParse.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAyBnE;;;;;;;;;;GAUG;AACH,eAAO,MAAM,2BAA2B,GACtC,SAAS,MAAM,EACf,SAAS,MAAM,EACf,QAAQ;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,EACnC,kBAAkB,gBAAgB,EAClC,YAAW,gBAAqB,KAC/B,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK;IAAE,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,GAAG,SAAS,EAAE,MAAM,CA+BjE,CAAA"}
1
+ {"version":3,"file":"publicCallParse.d.ts","sourceRoot":"","sources":["../../../../src/lending/public-data/fluid/publicCallParse.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAyBnE;;;;;;;GAOG;AACH,MAAM,WAAW,wBAAwB;IACvC,gEAAgE;IAChE,WAAW,EAAE,MAAM,CAAA;IACnB,8DAA8D;IAC9D,GAAG,EAAE,MAAM,CAAA;IACX,mDAAmD;IACnD,cAAc,EAAE,MAAM,CAAA;IACtB,0EAA0E;IAC1E,WAAW,EAAE,MAAM,CAAA;IACnB,0EAA0E;IAC1E,WAAW,EAAE,MAAM,CAAA;IACnB,mCAAmC;IACnC,UAAU,EAAE,MAAM,CAAA;IAClB,mCAAmC;IACnC,UAAU,EAAE,MAAM,CAAA;CACnB;AA4CD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,2BAA2B,GACtC,SAAS,MAAM,EACf,SAAS,MAAM,EACf,QAAQ;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,EACnC,kBAAkB,gBAAgB,EAClC,YAAW,gBAAqB,KAC/B,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK;IAAE,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,GAAG,SAAS,EAAE,MAAM,CAmCjE,CAAA"}
@@ -64,8 +64,20 @@ export interface PoolData {
64
64
  totalDebtUSD: number;
65
65
  totalLiquidityUSD: number;
66
66
  borrowLiquidityUSD: number;
67
- /** Borrow utilization as a 0..1 fraction (totalDebt / totalDeposits). */
67
+ /**
68
+ * Borrow utilization as a 0..1 fraction — the IRM input for this market.
69
+ * Pool protocols: `totalDebt / totalDeposits` of the market itself.
70
+ * Shared-liquidity protocols (Fluid): the Liquidity-layer utilization of
71
+ * this row's token, since rates are set at that layer — never a
72
+ * vault-level ratio.
73
+ */
68
74
  utilization: number;
75
+ /**
76
+ * Fluid collateral rows only: share of the vault's collateral currently
77
+ * locked below the Liquidity-layer withdrawal limit
78
+ * (`withdrawLimit / totalSupplyVault`, 0..1).
79
+ */
80
+ lockupRatio?: number;
69
81
  depositRate: number;
70
82
  variableBorrowRate: number;
71
83
  stableBorrowRate: number;
@@ -1 +1 @@
1
- {"version":3,"file":"apiReturnType.d.ts","sourceRoot":"","sources":["../../src/types/apiReturnType.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAE3C,MAAM,WAAW,UAAU;IAEzB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,gBAAgB,EAAE,MAAM,CAAA;IAExB,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,MAAM,UAAU,GAAG;IAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,CAAA;CAAE,CAAA;AAE3D,MAAM,WAAW,WAAY,SAAQ,UAAU;IAC7C,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,MAAM,WAAW,GAAG,WAAW,EAAE,CAAA;AAEvC,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAA;IAChB,sBAAsB,EAAE,MAAM,CAAA;IAC9B,gBAAgB,EAAE,MAAM,CAAA;IACxB,YAAY,EAAE,MAAM,CAAA;IACpB;;;;;;OAMG;IACH,kBAAkB,EAAE,MAAM,CAAA;IAC1B;;;;;OAKG;IACH,WAAW,EAAE,MAAM,CAAA;IACnB;;;;;;OAMG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB;AAED,UAAU,UAAU;IAClB,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,CAAA;CAChC;AAED,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,eAAe,CAAA;IACtB,aAAa,EAAE,MAAM,CAAA;IACrB,eAAe,EAAE,MAAM,CAAA;IACvB,SAAS,EAAE,MAAM,CAAA;IACjB,cAAc,EAAE,MAAM,CAAA;IACtB;;;;OAIG;IACH,eAAe,EAAE,MAAM,CAAA;IACvB,gBAAgB,EAAE,MAAM,CAAA;IACxB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,YAAY,EAAE,MAAM,CAAA;IACpB,iBAAiB,EAAE,MAAM,CAAA;IACzB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,yEAAyE;IACzE,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,gBAAgB,EAAE,MAAM,CAAA;IACxB,cAAc,EAAE,MAAM,CAAA;IACtB,OAAO,EAAE,WAAW,CAAA;IACpB,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,UAAU,CAAA;IAClB,gBAAgB,EAAE,OAAO,CAAA;IACzB,gBAAgB,EAAE,OAAO,CAAA;IACzB,eAAe,EAAE,OAAO,CAAA;IACxB,SAAS,EAAE,OAAO,CAAA;IAClB,QAAQ,EAAE,OAAO,CAAA;IACjB,QAAQ,EAAE,OAAO,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB;;;;;;;OAOG;IACH,WAAW,EAAE,MAAM,CAAA;IACnB;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAA;CAC5B;AAED,MAAM,MAAM,UAAU,GAAG;IACvB,CAAC,OAAO,EAAE,MAAM,GAAG;QACjB,IAAI,EAAE;YACJ,CAAC,MAAM,EAAE,MAAM,GAAG;gBAChB,IAAI,EAAE;oBACJ,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAA;iBAC3B,CAAA;gBACD,OAAO,EAAE,MAAM,CAAA;aAChB,CAAA;SACF,CAAA;QACD,WAAW,EAAE,MAAM,CAAA;KACpB,CAAA;CACF,CAAA"}
1
+ {"version":3,"file":"apiReturnType.d.ts","sourceRoot":"","sources":["../../src/types/apiReturnType.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAE3C,MAAM,WAAW,UAAU;IAEzB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,gBAAgB,EAAE,MAAM,CAAA;IAExB,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,MAAM,UAAU,GAAG;IAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,CAAA;CAAE,CAAA;AAE3D,MAAM,WAAW,WAAY,SAAQ,UAAU;IAC7C,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,MAAM,WAAW,GAAG,WAAW,EAAE,CAAA;AAEvC,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAA;IAChB,sBAAsB,EAAE,MAAM,CAAA;IAC9B,gBAAgB,EAAE,MAAM,CAAA;IACxB,YAAY,EAAE,MAAM,CAAA;IACpB;;;;;;OAMG;IACH,kBAAkB,EAAE,MAAM,CAAA;IAC1B;;;;;OAKG;IACH,WAAW,EAAE,MAAM,CAAA;IACnB;;;;;;OAMG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB;AAED,UAAU,UAAU;IAClB,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,CAAA;CAChC;AAED,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,eAAe,CAAA;IACtB,aAAa,EAAE,MAAM,CAAA;IACrB,eAAe,EAAE,MAAM,CAAA;IACvB,SAAS,EAAE,MAAM,CAAA;IACjB,cAAc,EAAE,MAAM,CAAA;IACtB;;;;OAIG;IACH,eAAe,EAAE,MAAM,CAAA;IACvB,gBAAgB,EAAE,MAAM,CAAA;IACxB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,YAAY,EAAE,MAAM,CAAA;IACpB,iBAAiB,EAAE,MAAM,CAAA;IACzB,kBAAkB,EAAE,MAAM,CAAA;IAC1B;;;;;;OAMG;IACH,WAAW,EAAE,MAAM,CAAA;IACnB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,WAAW,EAAE,MAAM,CAAA;IACnB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,gBAAgB,EAAE,MAAM,CAAA;IACxB,cAAc,EAAE,MAAM,CAAA;IACtB,OAAO,EAAE,WAAW,CAAA;IACpB,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,UAAU,CAAA;IAClB,gBAAgB,EAAE,OAAO,CAAA;IACzB,gBAAgB,EAAE,OAAO,CAAA;IACzB,eAAe,EAAE,OAAO,CAAA;IACxB,SAAS,EAAE,OAAO,CAAA;IAClB,QAAQ,EAAE,OAAO,CAAA;IACjB,QAAQ,EAAE,OAAO,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB;;;;;;;OAOG;IACH,WAAW,EAAE,MAAM,CAAA;IACnB;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAA;CAC5B;AAED,MAAM,MAAM,UAAU,GAAG;IACvB,CAAC,OAAO,EAAE,MAAM,GAAG;QACjB,IAAI,EAAE;YACJ,CAAC,MAAM,EAAE,MAAM,GAAG;gBAChB,IAAI,EAAE;oBACJ,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAA;iBAC3B,CAAA;gBACD,OAAO,EAAE,MAAM,CAAA;aAChB,CAAA;SACF,CAAA;QACD,WAAW,EAAE,MAAM,CAAA;KACpB,CAAA;CACF,CAAA"}
@@ -1 +1 @@
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
+ {"version":3,"file":"fetchPublic.d.ts","sourceRoot":"","sources":["../../../src/vaults/fluid/fetchPublic.ts"],"names":[],"mappings":"AAUA,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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@1delta/margin-fetcher",
3
- "version": "0.0.321",
3
+ "version": "0.0.322",
4
4
  "description": "",
5
5
  "type": "module",
6
6
  "files": [
@@ -22,12 +22,12 @@
22
22
  "dependencies": {
23
23
  "async-retry": "^1.3.3",
24
24
  "lodash": "^4.17.23",
25
- "@1delta/abis": "0.0.22",
26
- "@1delta/dex-registry": "0.0.103",
25
+ "@1delta/abis": "0.0.23",
27
26
  "@1delta/calldata-sdk": "0.0.157",
28
- "@1delta/data-sdk": "0.0.30",
29
- "@1delta/providers": "0.0.62",
27
+ "@1delta/data-sdk": "0.0.31",
28
+ "@1delta/dex-registry": "0.0.103",
30
29
  "@1delta/lender-registry": "0.0.34",
30
+ "@1delta/providers": "0.0.62",
31
31
  "@1delta/proxy-fetch": "0.0.1"
32
32
  },
33
33
  "devDependencies": {