@1delta/margin-fetcher 0.0.252 → 0.0.253

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.
@@ -1 +1 @@
1
- {"version":3,"file":"fetchLender.d.ts","sourceRoot":"","sources":["../../../src/lending/public-data/fetchLender.ts"],"names":[],"mappings":"AAgCA,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAkBtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AA8CtD,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,MAAM,EAAE;IAAE,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,EAC/B,gBAAgB,EAAE,gBAAgB,EAClC,SAAS,GAAE,gBAAqB,EAChC,eAAe,CAAC,EAAE,MAAM,EAAE,8CAmB3B;AAkLD,eAAO,MAAM,mBAAmB,GAC9B,SAAS,MAAM,EACf,SAAS,MAAM,EAAE,EACjB,QAAQ;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,EACnC,kBAAkB,gBAAgB,EAClC,gBAAgB,sBAAsB,EACtC,YAAW,MAAM,OAAO,CAAC,gBAAgB,CAExC,KACA,OAAO,CAAC;IAAE,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,CA+DnC,CAAA"}
1
+ {"version":3,"file":"fetchLender.d.ts","sourceRoot":"","sources":["../../../src/lending/public-data/fetchLender.ts"],"names":[],"mappings":"AAgCA,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAkBtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AA8CtD,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,MAAM,EAAE;IAAE,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,EAC/B,gBAAgB,EAAE,gBAAgB,EAClC,SAAS,GAAE,gBAAqB,EAChC,eAAe,CAAC,EAAE,MAAM,EAAE,8CAmB3B;AAkLD,eAAO,MAAM,mBAAmB,GAC9B,SAAS,MAAM,EACf,SAAS,MAAM,EAAE,EACjB,QAAQ;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,EACnC,kBAAkB,gBAAgB,EAClC,gBAAgB,sBAAsB,EACtC,YAAW,MAAM,OAAO,CAAC,gBAAgB,CAExC,KACA,OAAO,CAAC;IAAE,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,CAwEnC,CAAA"}
@@ -0,0 +1,12 @@
1
+ import { GenericTokenList } from '../../types';
2
+ import { EulerEarnVaults } from './types';
3
+ /** True when the chain has an Euler Earn Goldsky subgraph configured. */
4
+ export declare const hasEulerEarnVaultSubgraph: (chainId: string) => boolean;
5
+ /**
6
+ * Fetches Euler Earn vaults from the Goldsky subgraph for chains
7
+ * configured in `EULER_EARN_SUBGRAPH_URLS`.
8
+ */
9
+ export declare function fetchEulerEarnVaultsFromSubgraph(chainId: string, prices?: {
10
+ [asset: string]: number;
11
+ }, tokenList?: GenericTokenList): Promise<EulerEarnVaults>;
12
+ //# sourceMappingURL=fetchFromSubgraph.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetchFromSubgraph.d.ts","sourceRoot":"","sources":["../../../src/vaults/euler-earn/fetchFromSubgraph.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAE9C,OAAO,EAAkB,eAAe,EAAE,MAAM,SAAS,CAAA;AAyBzD,yEAAyE;AACzE,eAAO,MAAM,yBAAyB,GAAI,SAAS,MAAM,KAAG,OACvB,CAAA;AAyIrC;;;GAGG;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,CAwB1B"}
@@ -0,0 +1,24 @@
1
+ import { GenericTokenList } from '../../types';
2
+ import { EulerEarnVaults } from './types';
3
+ /**
4
+ * One-shot fetcher for all Euler Earn vaults on a chain.
5
+ *
6
+ * Currently sourced exclusively from Goldsky subgraphs (Euler does not
7
+ * expose a public REST API for earn vaults the way Morpho does). Returns
8
+ * `{}` when the chain has no subgraph entry configured — same fallback
9
+ * shape as the other vault fetchers in this directory.
10
+ *
11
+ * Unlike `fetchFluidFTokens` / `fetchGearboxV3Pools`, no multicall
12
+ * executor is needed — the source is HTTP GraphQL.
13
+ *
14
+ * @param chainId target chain
15
+ * @param prices optional price map keyed by oracle key / underlying
16
+ * @param tokenList optional token list for hydrating `asset` metadata
17
+ *
18
+ * @returns `EulerEarnVaults` — map keyed by lowercased vault address, or
19
+ * an empty object when the chain has no Euler Earn subgraph.
20
+ */
21
+ export declare const fetchEulerEarnVaults: (chainId: string, prices?: {
22
+ [asset: string]: number;
23
+ }, tokenList?: GenericTokenList) => Promise<EulerEarnVaults>;
24
+ //# sourceMappingURL=fetchPublic.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetchPublic.d.ts","sourceRoot":"","sources":["../../../src/vaults/euler-earn/fetchPublic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAE9C,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAEzC;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,oBAAoB,GAC/B,SAAS,MAAM,EACf,SAAQ;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAO,EACxC,YAAW,gBAAqB,KAC/B,OAAO,CAAC,eAAe,CAEzB,CAAA"}
@@ -0,0 +1,4 @@
1
+ export { fetchEulerEarnVaults } from './fetchPublic';
2
+ export { fetchEulerEarnVaultsFromSubgraph, hasEulerEarnVaultSubgraph, } from './fetchFromSubgraph';
3
+ export type { EulerEarnVault, EulerEarnVaults } from './types';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/vaults/euler-earn/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAA;AACpD,OAAO,EACL,gCAAgC,EAChC,yBAAyB,GAC1B,MAAM,qBAAqB,CAAA;AAC5B,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA"}
@@ -0,0 +1,70 @@
1
+ import { GenericCurrency } from '../../types/general';
2
+ /**
3
+ * Parsed Euler Earn vault entry.
4
+ *
5
+ * Euler Earn is the curated-allocator side of Euler V2: standalone ERC-4626
6
+ * vaults that route deposits into one or more Euler V2 EVaults via a
7
+ * curator-defined strategy. They are NOT a lending market — no collateral,
8
+ * no borrow, no liquidation — just a deposit → earn shape, modeled
9
+ * separately from the borrow side in `src/lending/public-data/euler/`.
10
+ *
11
+ * Multiple earn vaults typically exist per underlying (different curators /
12
+ * risk profiles), so the top-level map is keyed by vault address rather
13
+ * than underlying — same convention as `MorphoVaults` and `SiloVaults`.
14
+ */
15
+ export interface EulerEarnVault {
16
+ /** Earn vault (share-token) contract address, lowercased. */
17
+ address: string;
18
+ /** Lowercased underlying ERC-20 address. */
19
+ underlying: string;
20
+ /** Vault share-token symbol, e.g. `eUSDC-1`. */
21
+ symbol: string;
22
+ /** Vault share-token name. */
23
+ name: string;
24
+ /** Share and underlying decimals (ERC-4626 keeps them aligned). */
25
+ decimals: number;
26
+ /** Total underlying assets held by the vault, raw integer as string. */
27
+ totalAssets: string;
28
+ /** Total shares minted, raw integer as string. */
29
+ totalSupply: string;
30
+ /** Supply APR in percent, net of performance fee. */
31
+ supplyRate: number;
32
+ /** Extra rewards APR in percent, on top of `supplyRate`.
33
+ * Goldsky doesn't surface rewards directly — defaults to 0. */
34
+ rewardsRate: number;
35
+ /** Sum of `supplyRate + rewardsRate` — what a depositor actually earns. */
36
+ depositRate: number;
37
+ /** Performance fee in percent (e.g. `5.0` = 5 %). */
38
+ fee: number;
39
+ /** Owner address, lowercased — may be absent if not set. */
40
+ owner?: string;
41
+ /** Curator / fee-recipient address, lowercased. */
42
+ curator?: string;
43
+ /** Guardian address, lowercased — may be absent. */
44
+ guardian?: string;
45
+ /** Fee recipient, lowercased — may be absent. */
46
+ feeRecipient?: string;
47
+ /** Hydrated asset metadata from the provided token list, if any. */
48
+ asset?: GenericCurrency;
49
+ /** USD price of one underlying unit, if prices were supplied. */
50
+ priceUsd?: number;
51
+ /** Human-formatted total assets (`totalAssets / 10^decimals`). */
52
+ totalAssetsFormatted: number;
53
+ /** Human-formatted total assets in USD. */
54
+ totalAssetsUsd: number;
55
+ /** Currently withdrawable underlying, raw integer as string. The
56
+ * subgraph snapshot is `totalAssets`; an "immediate withdraw" figure
57
+ * would require a per-strategy traversal. Optimistic upper bound,
58
+ * not a hard withdraw cap. Kept for cross-vault field parity. */
59
+ liquidity: string;
60
+ /** Human-formatted immediate withdrawable liquidity. */
61
+ liquidityFormatted: number;
62
+ /** Human-formatted immediate withdrawable liquidity in USD. */
63
+ liquidityUsd: number;
64
+ }
65
+ /** Full parsed payload: per-vault-address map. */
66
+ export type EulerEarnVaults = {
67
+ /** Keyed by lowercased vault address. */
68
+ [vaultAddress: string]: EulerEarnVault;
69
+ };
70
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +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;AAErD;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,cAAc;IAC7B,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,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;;;sEAGkE;IAClE,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"}
@@ -4,8 +4,9 @@ import type { FluidFTokens } from './fluid/types';
4
4
  import type { GearboxV3Pools } from './gearbox/types';
5
5
  import type { MorphoVaults } from './morpho/types';
6
6
  import type { SiloVaults } from './silo/types';
7
+ import type { EulerEarnVaults } from './euler-earn/types';
7
8
  /** Supported ERC-4626 vault providers. */
8
- export type VaultProvider = 'fluid' | 'gearbox' | 'morpho' | 'silo';
9
+ export type VaultProvider = 'fluid' | 'gearbox' | 'morpho' | 'silo' | 'euler-earn';
9
10
  /**
10
11
  * Per-provider payload returned by `getVaultPublicDataAll`. Each entry is
11
12
  * present only when the matching provider was requested AND its fetch
@@ -17,6 +18,7 @@ export interface VaultPublicDataAll {
17
18
  gearbox?: GearboxV3Pools;
18
19
  morpho?: MorphoVaults;
19
20
  silo?: SiloVaults;
21
+ 'euler-earn'?: EulerEarnVaults;
20
22
  }
21
23
  export interface GetVaultPublicDataAllOptions {
22
24
  /** Narrow Silo to a single protocol version (`v2` or `v3`). */
@@ -36,7 +38,7 @@ export interface GetVaultPublicDataAllOptions {
36
38
  *
37
39
  * @param chainId target chain
38
40
  * @param providers which providers to fetch (any subset of
39
- * `'fluid' | 'gearbox' | 'morpho' | 'silo'`)
41
+ * `'fluid' | 'gearbox' | 'morpho' | 'silo' | 'euler-earn'`)
40
42
  * @param multicallRetry provider-level multicall executor — used by
41
43
  * Fluid and Gearbox; ignored when only HTTP
42
44
  * providers are requested
@@ -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;AAKnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AACjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAS9C,0CAA0C;AAC1C,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAA;AAEnE;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,YAAY,CAAA;IACpB,OAAO,CAAC,EAAE,cAAc,CAAA;IACxB,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB,IAAI,CAAC,EAAE,UAAU,CAAA;CAClB;AAED,MAAM,WAAW,4BAA4B;IAC3C,+DAA+D;IAC/D,mBAAmB,CAAC,EAAE,IAAI,GAAG,IAAI,CAAA;IACjC,+CAA+C;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,eAAO,MAAM,qBAAqB,GAChC,SAAS,MAAM,EACf,WAAW,aAAa,EAAE,EAC1B,gBAAgB,sBAAsB,EACtC,SAAQ;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAO,EACxC,YAAW,gBAAqB,EAChC,UAAU,4BAA4B,KACrC,OAAO,CAAC,kBAAkB,CAwE5B,CAAA"}
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;AAMnD,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;AASzD,0CAA0C;AAC1C,MAAM,MAAM,aAAa,GACrB,OAAO,GACP,SAAS,GACT,QAAQ,GACR,MAAM,GACN,YAAY,CAAA;AAEhB;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,YAAY,CAAA;IACpB,OAAO,CAAC,EAAE,cAAc,CAAA;IACxB,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB,IAAI,CAAC,EAAE,UAAU,CAAA;IACjB,YAAY,CAAC,EAAE,eAAe,CAAA;CAC/B;AAED,MAAM,WAAW,4BAA4B;IAC3C,+DAA+D;IAC/D,mBAAmB,CAAC,EAAE,IAAI,GAAG,IAAI,CAAA;IACjC,+CAA+C;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,eAAO,MAAM,qBAAqB,GAChC,SAAS,MAAM,EACf,WAAW,aAAa,EAAE,EAC1B,gBAAgB,sBAAsB,EACtC,SAAQ;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAO,EACxC,YAAW,gBAAqB,EAChC,UAAU,4BAA4B,KACrC,OAAO,CAAC,kBAAkB,CAuF5B,CAAA"}
@@ -2,6 +2,7 @@ export * from './fluid';
2
2
  export * from './gearbox';
3
3
  export * from './morpho';
4
4
  export * from './silo';
5
+ export * from './euler-earn';
5
6
  export { composeVaultDisplayName } from './displayName';
6
7
  export { getVaultPublicDataAll, type VaultProvider, type VaultPublicDataAll, type GetVaultPublicDataAllOptions, } from './fetchVaultsAll';
7
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/vaults/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA;AACvB,cAAc,WAAW,CAAA;AACzB,cAAc,UAAU,CAAA;AACxB,cAAc,QAAQ,CAAA;AACtB,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAA;AACvD,OAAO,EACL,qBAAqB,EACrB,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,4BAA4B,GAClC,MAAM,kBAAkB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/vaults/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA;AACvB,cAAc,WAAW,CAAA;AACzB,cAAc,UAAU,CAAA;AACxB,cAAc,QAAQ,CAAA;AACtB,cAAc,cAAc,CAAA;AAC5B,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAA;AACvD,OAAO,EACL,qBAAqB,EACrB,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,4BAA4B,GAClC,MAAM,kBAAkB,CAAA"}
@@ -0,0 +1,30 @@
1
+ import { type MorphoTypeVaultEntry } from '@1delta/data-sdk';
2
+ import { GenericTokenList, MulticallRetryFunction } from '../../types';
3
+ import { MorphoVaults } from './types';
4
+ export interface FetchMorphoVaultsFromChainOptions {
5
+ /** Restrict to a subset of curator-protocol keys (e.g. `['LISTA_DAO']`). */
6
+ protocols?: string[];
7
+ /**
8
+ * Override the registry — `[{ vault, underlying, name? }]`. Lets fork tests
9
+ * point at a specific vault list without populating the global registry.
10
+ */
11
+ vaultsOverride?: MorphoTypeVaultEntry[];
12
+ }
13
+ /**
14
+ * On-chain MetaMorpho vault fetcher — multicalls every vault listed in
15
+ * `morphoTypeVaults()` for the chain (or in `opts.vaultsOverride`) and
16
+ * normalizes the results to the same `MorphoVaults` shape produced by the
17
+ * Morpho API and Goldsky paths.
18
+ *
19
+ * Intended as a fallback for forks / chains where the Morpho public API and
20
+ * Goldsky subgraph are unreachable. The supply rate isn't computable from
21
+ * vault state alone (it requires walking the underlying market allocations),
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.
26
+ */
27
+ export declare const fetchMorphoVaultsFromChain: (chainId: string, multicallRetry: MulticallRetryFunction, prices?: {
28
+ [asset: string]: number;
29
+ }, tokenList?: GenericTokenList, opts?: FetchMorphoVaultsFromChainOptions) => Promise<MorphoVaults>;
30
+ //# sourceMappingURL=fetchFromChain.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetchFromChain.d.ts","sourceRoot":"","sources":["../../../src/vaults/morpho/fetchFromChain.ts"],"names":[],"mappings":"AACA,OAAO,EAAoB,KAAK,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AAE9E,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAGtE,OAAO,EAAe,YAAY,EAAE,MAAM,SAAS,CAAA;AAoEnD,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,CA8BtB,CAAA"}
@@ -0,0 +1,34 @@
1
+ import { type MorphoTypeVaultEntry } from '@1delta/data-sdk';
2
+ import { GenericTokenList, MulticallRetryFunction } from '../../types';
3
+ import { MorphoVaults } from './types';
4
+ export interface FetchListaVaultsFromChainOptions {
5
+ /**
6
+ * Override the registry — `[{ vault, underlying, name? }]`. Lets fork
7
+ * tests point at a specific vault list without populating the global
8
+ * registry.
9
+ */
10
+ vaultsOverride?: MorphoTypeVaultEntry[];
11
+ }
12
+ /**
13
+ * On-chain Lista DAO (Moolah-fork) vault fetcher. Same output shape as
14
+ * `fetchMorphoVaultsFromChain`, different read path:
15
+ *
16
+ * - Phase 1 multicall: `name / symbol / decimals / totalAssets /
17
+ * totalSupply / fee / feeRecipient / CURATOR` per vault. The role hash
18
+ * returned by `CURATOR()` is contract-defined, not derivable, so it
19
+ * must be read on-chain.
20
+ * - Phase 2 multicall: `getRoleMember(CURATOR_ROLE, 0)` per vault →
21
+ * surfaces the curator address (Moolah uses
22
+ * `AccessControlEnumerable`, no direct `curator()` getter).
23
+ *
24
+ * `owner` / `guardian` are surfaced as `undefined` (Moolah uses
25
+ * `DEFAULT_ADMIN_ROLE` for admin and has no guardian role; left out to
26
+ * avoid extra round-trips). `timelock` is `0` — no timelock pattern in
27
+ * Moolah. APR fields are `0` like the standard on-chain path: rates need
28
+ * an allocation walk against Moolah's underlying market list and aren't
29
+ * derivable from vault state alone.
30
+ */
31
+ export declare const fetchListaVaultsFromChain: (chainId: string, multicallRetry: MulticallRetryFunction, prices?: {
32
+ [asset: string]: number;
33
+ }, tokenList?: GenericTokenList, opts?: FetchListaVaultsFromChainOptions) => Promise<MorphoVaults>;
34
+ //# sourceMappingURL=fetchListaFromChain.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetchListaFromChain.d.ts","sourceRoot":"","sources":["../../../src/vaults/morpho/fetchListaFromChain.ts"],"names":[],"mappings":"AACA,OAAO,EAAoB,KAAK,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AAG9E,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAGtE,OAAO,EAAe,YAAY,EAAE,MAAM,SAAS,CAAA;AA0DnD,MAAM,WAAW,gCAAgC;IAC/C;;;;OAIG;IACH,cAAc,CAAC,EAAE,oBAAoB,EAAE,CAAA;CACxC;AAED;;;;;;;;;;;;;;;;;;GAkBG;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,CA6DtB,CAAA"}
@@ -1,5 +1,7 @@
1
1
  export { fetchMorphoVaults } from './fetchPublic';
2
2
  export { fetchMorphoVaultsFromApi } from './fetchFromApi';
3
3
  export { fetchMorphoVaultsFromSubgraph, hasMorphoVaultSubgraph, } from './fetchFromSubgraph';
4
+ export { fetchMorphoVaultsFromChain, type FetchMorphoVaultsFromChainOptions, } from './fetchFromChain';
5
+ export { fetchListaVaultsFromChain, type FetchListaVaultsFromChainOptions, } from './fetchListaFromChain';
4
6
  export type { MorphoVault, MorphoVaults, VaultCuratorMeta } from './types';
5
7
  //# sourceMappingURL=index.d.ts.map
@@ -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,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,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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@1delta/margin-fetcher",
3
- "version": "0.0.252",
3
+ "version": "0.0.253",
4
4
  "description": "",
5
5
  "type": "module",
6
6
  "files": [
@@ -22,19 +22,19 @@
22
22
  "dependencies": {
23
23
  "async-retry": "^1.3.3",
24
24
  "lodash": "^4.17.23",
25
- "@1delta/abis": "0.0.15",
26
- "@1delta/dex-registry": "0.0.99",
27
25
  "@1delta/calldata-sdk": "0.0.146",
28
- "@1delta/lender-registry": "0.0.26",
26
+ "@1delta/dex-registry": "0.0.99",
27
+ "@1delta/abis": "0.0.16",
28
+ "@1delta/proxy-fetch": "0.0.1",
29
29
  "@1delta/providers": "0.0.58",
30
- "@1delta/proxy-fetch": "0.0.1"
30
+ "@1delta/lender-registry": "0.0.26"
31
31
  },
32
32
  "devDependencies": {
33
33
  "@types/async-retry": "^1.4.9",
34
34
  "@types/lodash": "^4.17.23",
35
35
  "tsup": "^8.5.1",
36
36
  "typescript": "^5.9.3",
37
- "@1delta/initializer-sdk": "0.0.13"
37
+ "@1delta/initializer-sdk": "0.0.14"
38
38
  },
39
39
  "scripts": {
40
40
  "build": "tsup src/index.ts --format esm --clean && tsc -p tsconfig.dts.json",