@1delta/margin-fetcher 0.0.251 → 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.
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +504 -6
- package/dist/index.js.map +1 -1
- package/dist/lending/public-data/fetchLender.d.ts.map +1 -1
- package/dist/vaults/displayName.d.ts +19 -0
- package/dist/vaults/displayName.d.ts.map +1 -0
- package/dist/vaults/euler-earn/fetchFromSubgraph.d.ts +12 -0
- package/dist/vaults/euler-earn/fetchFromSubgraph.d.ts.map +1 -0
- package/dist/vaults/euler-earn/fetchPublic.d.ts +24 -0
- package/dist/vaults/euler-earn/fetchPublic.d.ts.map +1 -0
- package/dist/vaults/euler-earn/index.d.ts +4 -0
- package/dist/vaults/euler-earn/index.d.ts.map +1 -0
- package/dist/vaults/euler-earn/types.d.ts +70 -0
- package/dist/vaults/euler-earn/types.d.ts.map +1 -0
- package/dist/vaults/fetchVaultsAll.d.ts +4 -2
- package/dist/vaults/fetchVaultsAll.d.ts.map +1 -1
- package/dist/vaults/fluid/publicCallParse.d.ts.map +1 -1
- package/dist/vaults/fluid/types.d.ts +11 -1
- package/dist/vaults/fluid/types.d.ts.map +1 -1
- package/dist/vaults/gearbox/publicCallParse.d.ts.map +1 -1
- package/dist/vaults/gearbox/types.d.ts +14 -1
- package/dist/vaults/gearbox/types.d.ts.map +1 -1
- package/dist/vaults/index.d.ts +2 -0
- package/dist/vaults/index.d.ts.map +1 -1
- package/dist/vaults/morpho/fetchFromApi.d.ts.map +1 -1
- package/dist/vaults/morpho/fetchFromChain.d.ts +30 -0
- package/dist/vaults/morpho/fetchFromChain.d.ts.map +1 -0
- package/dist/vaults/morpho/fetchFromSubgraph.d.ts.map +1 -1
- package/dist/vaults/morpho/fetchListaFromChain.d.ts +34 -0
- package/dist/vaults/morpho/fetchListaFromChain.d.ts.map +1 -0
- package/dist/vaults/morpho/index.d.ts +3 -1
- package/dist/vaults/morpho/index.d.ts.map +1 -1
- package/dist/vaults/morpho/types.d.ts +28 -1
- package/dist/vaults/morpho/types.d.ts.map +1 -1
- package/dist/vaults/silo/fetchPublic.d.ts.map +1 -1
- package/dist/vaults/silo/types.d.ts +12 -1
- package/dist/vaults/silo/types.d.ts.map +1 -1
- package/package.json +6 -6
|
@@ -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,
|
|
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,19 @@
|
|
|
1
|
+
import { GenericCurrency } from '../types/general';
|
|
2
|
+
/**
|
|
3
|
+
* Compose a clean UI label for a vault: `${curator-or-brand} ${asset.symbol}`.
|
|
4
|
+
*
|
|
5
|
+
* Used by every vault parser to populate the cross-provider `displayName`
|
|
6
|
+
* field. Keeps the synthesis rules in one place so output stays uniform —
|
|
7
|
+
* `Steakhouse USDC`, `Gauntlet WETH`, `cp0x USDC`, `Fluid USDC`, `Silo USDC` —
|
|
8
|
+
* regardless of which provider the entry came from.
|
|
9
|
+
*
|
|
10
|
+
* Fallback ladder:
|
|
11
|
+
* 1. `${curatorName ?? brand} ${asset.symbol}` when the asset symbol
|
|
12
|
+
* is known (preferred path — both halves human-readable).
|
|
13
|
+
* 2. `fallbackName` when the asset symbol is missing — preserves the
|
|
14
|
+
* raw on-chain share-token name rather than emitting `Morpho ` with
|
|
15
|
+
* a trailing space.
|
|
16
|
+
* 3. The brand alone when even `fallbackName` is empty.
|
|
17
|
+
*/
|
|
18
|
+
export declare const composeVaultDisplayName: (brand: string, curatorName: string | undefined, asset: GenericCurrency | undefined, fallbackName: string | undefined) => string;
|
|
19
|
+
//# sourceMappingURL=displayName.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"displayName.d.ts","sourceRoot":"","sources":["../../src/vaults/displayName.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAElD;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,uBAAuB,GAClC,OAAO,MAAM,EACb,aAAa,MAAM,GAAG,SAAS,EAC/B,OAAO,eAAe,GAAG,SAAS,EAClC,cAAc,MAAM,GAAG,SAAS,KAC/B,MAMF,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 @@
|
|
|
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;
|
|
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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publicCallParse.d.ts","sourceRoot":"","sources":["../../../src/vaults/fluid/publicCallParse.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"publicCallParse.d.ts","sourceRoot":"","sources":["../../../src/vaults/fluid/publicCallParse.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAE9C,OAAO,EAAe,YAAY,EAAE,MAAM,SAAS,CAAA;AAgBnD;;;;;;;;GAQG;AACH,eAAO,MAAM,wBAAwB,GACnC,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,YAAY,GAAG,SAAS,EAAE,MAAM,CAWpD,CAAA"}
|
|
@@ -16,8 +16,18 @@ export interface FluidFToken {
|
|
|
16
16
|
underlying: string;
|
|
17
17
|
/** Share-token symbol, e.g. `fUSDC`, `fETH`. */
|
|
18
18
|
symbol: string;
|
|
19
|
-
/** Share-token name
|
|
19
|
+
/** Share-token name as returned by `name()`. Falls back to
|
|
20
|
+
* `Fluid <underlyingSymbol>` when the resolver returns an empty name. */
|
|
20
21
|
name: string;
|
|
22
|
+
/** Cross-provider UI label — `Fluid ${asset.symbol}` (e.g. `Fluid USDC`).
|
|
23
|
+
* Always non-empty. Mirrors `name` on most chains since Fluid's
|
|
24
|
+
* on-chain `name()` already returns the same shape; kept as a separate
|
|
25
|
+
* field for parity with the other vault providers. */
|
|
26
|
+
displayName: string;
|
|
27
|
+
/** Brand label for cross-provider UI parity with `MorphoVault.curatorName`
|
|
28
|
+
* / `GearboxV3Pool.curatorName`. Fluid is single-curator (the Fluid
|
|
29
|
+
* team / Instadapp), so this is the constant `'Fluid'`. */
|
|
30
|
+
curatorName: string;
|
|
21
31
|
/** Share and underlying decimals (same — ERC-4626 keeps them aligned). */
|
|
22
32
|
decimals: number;
|
|
23
33
|
/** Total underlying assets held by the vault, raw integer (wei-like) as string. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/vaults/fluid/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAErD;;;;;;;GAOG;AACH,MAAM,WAAW,WAAW;IAC1B,yEAAyE;IACzE,OAAO,EAAE,MAAM,CAAA;IACf;;8DAE0D;IAC1D,UAAU,EAAE,MAAM,CAAA;IAClB,gDAAgD;IAChD,MAAM,EAAE,MAAM,CAAA;IACd
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/vaults/fluid/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAErD;;;;;;;GAOG;AACH,MAAM,WAAW,WAAW;IAC1B,yEAAyE;IACzE,OAAO,EAAE,MAAM,CAAA;IACf;;8DAE0D;IAC1D,UAAU,EAAE,MAAM,CAAA;IAClB,gDAAgD;IAChD,MAAM,EAAE,MAAM,CAAA;IACd;8EAC0E;IAC1E,IAAI,EAAE,MAAM,CAAA;IACZ;;;2DAGuD;IACvD,WAAW,EAAE,MAAM,CAAA;IAEnB;;gEAE4D;IAC5D,WAAW,EAAE,MAAM,CAAA;IACnB,0EAA0E;IAC1E,QAAQ,EAAE,MAAM,CAAA;IAEhB,mFAAmF;IACnF,WAAW,EAAE,MAAM,CAAA;IACnB,kDAAkD;IAClD,WAAW,EAAE,MAAM,CAAA;IACnB,0EAA0E;IAC1E,eAAe,EAAE,MAAM,CAAA;IACvB,yEAAyE;IACzE,eAAe,EAAE,MAAM,CAAA;IAEvB,2FAA2F;IAC3F,UAAU,EAAE,MAAM,CAAA;IAClB,4DAA4D;IAC5D,WAAW,EAAE,MAAM,CAAA;IACnB,2EAA2E;IAC3E,WAAW,EAAE,MAAM,CAAA;IAEnB;;wDAEoD;IACpD,kBAAkB,EAAE,OAAO,CAAA;IAC3B,+DAA+D;IAC/D,eAAe,EAAE,OAAO,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,+EAA+E;IAC/E,cAAc,EAAE,MAAM,CAAA;IAEtB;;;2BAGuB;IACvB,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,YAAY,GAAG;IACzB,6EAA6E;IAC7E,CAAC,UAAU,EAAE,MAAM,GAAG,WAAW,CAAA;CAClC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publicCallParse.d.ts","sourceRoot":"","sources":["../../../src/vaults/gearbox/publicCallParse.ts"],"names":[],"mappings":"
|
|
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"}
|
|
@@ -20,8 +20,12 @@ export interface GearboxV3Pool {
|
|
|
20
20
|
underlying: string;
|
|
21
21
|
/** Diesel share symbol, e.g. `dUSDCV3`, `dWETHV3`. */
|
|
22
22
|
symbol: string;
|
|
23
|
-
/** Diesel share name
|
|
23
|
+
/** Diesel share name as returned by `name()`, e.g. `Gearbox USDC V3`.
|
|
24
|
+
* Raw — use `displayName` for UI. */
|
|
24
25
|
name: string;
|
|
26
|
+
/** Cross-provider UI label — `${curatorName ?? 'Gearbox'} ${asset.symbol}`
|
|
27
|
+
* (e.g. `cp0x USDC`, `Re7 WETH`). Always non-empty. */
|
|
28
|
+
displayName: string;
|
|
25
29
|
/** Pool / Diesel decimals (ERC-4626 keeps share and asset decimals
|
|
26
30
|
* aligned). */
|
|
27
31
|
decimals: number;
|
|
@@ -39,6 +43,15 @@ export interface GearboxV3Pool {
|
|
|
39
43
|
dieselRate: string;
|
|
40
44
|
/** Withdraw-fee in basis points (e.g. `10` = 0.10 %). */
|
|
41
45
|
withdrawFeeBps: number;
|
|
46
|
+
/** MarketConfigurator address (lowercased) that deployed this pool's
|
|
47
|
+
* market. Each configurator is operated by a known curator (cp0x, Re7,
|
|
48
|
+
* Chaos Labs, …); maps 1:1 to `curatorName` via
|
|
49
|
+
* `gearboxMarketConfigurators(chainId)` in `@1delta/data-sdk`. */
|
|
50
|
+
curator?: string;
|
|
51
|
+
/** Human-readable curator label for UI (e.g. `cp0x`, `Re7`,
|
|
52
|
+
* `Chaos Labs`). Resolved from the configurator address via the
|
|
53
|
+
* `gearboxResolvers.chains[chainId].marketConfigurators` registry. */
|
|
54
|
+
curatorName?: string;
|
|
42
55
|
/** Base supply APR in percent (e.g. `3.41` = 3.41 %). Pool-level rate,
|
|
43
56
|
* same value every attached CM sees. */
|
|
44
57
|
supplyRate: number;
|
|
@@ -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;AAErD;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,aAAa;IAC5B,wDAAwD;IACxD,OAAO,EAAE,MAAM,CAAA;IACf;;8EAE0E;IAC1E,UAAU,EAAE,MAAM,CAAA;IAClB,sDAAsD;IACtD,MAAM,EAAE,MAAM,CAAA;IACd
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/vaults/gearbox/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAErD;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,aAAa;IAC5B,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"}
|
package/dist/vaults/index.d.ts
CHANGED
|
@@ -2,5 +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';
|
|
6
|
+
export { composeVaultDisplayName } from './displayName';
|
|
5
7
|
export { getVaultPublicDataAll, type VaultProvider, type VaultPublicDataAll, type GetVaultPublicDataAllOptions, } from './fetchVaultsAll';
|
|
6
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,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"}
|
|
@@ -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;
|
|
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;AA2OrE;;;;;;;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"}
|
|
@@ -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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetchFromSubgraph.d.ts","sourceRoot":"","sources":["../../../src/vaults/morpho/fetchFromSubgraph.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"fetchFromSubgraph.d.ts","sourceRoot":"","sources":["../../../src/vaults/morpho/fetchFromSubgraph.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAG9C,OAAO,EAAe,YAAY,EAAE,MAAM,SAAS,CAAA;AAyBnD,sFAAsF;AACtF,eAAO,MAAM,sBAAsB,GAAI,SAAS,MAAM,KAAG,OAClB,CAAA;AAuHvC;;;GAGG;AACH,wBAAsB,6BAA6B,CACjD,OAAO,EAAE,MAAM,EACf,MAAM,GAAE;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAO,EACxC,SAAS,GAAE,gBAAqB,GAC/B,OAAO,CAAC,YAAY,CAAC,CAwBvB"}
|
|
@@ -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
|
|
4
|
+
export { fetchMorphoVaultsFromChain, type FetchMorphoVaultsFromChainOptions, } from './fetchFromChain';
|
|
5
|
+
export { fetchListaVaultsFromChain, type FetchListaVaultsFromChainOptions, } from './fetchListaFromChain';
|
|
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,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"}
|
|
@@ -1,4 +1,15 @@
|
|
|
1
1
|
import { GenericCurrency } from '../../types/general';
|
|
2
|
+
/** Curator metadata as surfaced by the Morpho API. */
|
|
3
|
+
export interface VaultCuratorMeta {
|
|
4
|
+
/** Curator slug, e.g. `gauntlet`, `kpk`, `steakhouse`. */
|
|
5
|
+
id: string;
|
|
6
|
+
/** Display name, e.g. `Gauntlet`, `KPK`, `Steakhouse Financial`. */
|
|
7
|
+
name: string;
|
|
8
|
+
/** Logo URL (typically a CDN-hosted SVG). */
|
|
9
|
+
image?: string;
|
|
10
|
+
/** Whether Morpho has verified this curator. */
|
|
11
|
+
verified?: boolean;
|
|
12
|
+
}
|
|
2
13
|
/**
|
|
3
14
|
* Parsed MetaMorpho vault entry.
|
|
4
15
|
*
|
|
@@ -21,8 +32,13 @@ export interface MorphoVault {
|
|
|
21
32
|
underlying: string;
|
|
22
33
|
/** Vault share-token symbol, e.g. `bbUSDC`, `steakUSDC`. */
|
|
23
34
|
symbol: string;
|
|
24
|
-
/** Vault share-token name
|
|
35
|
+
/** Vault share-token name as returned by `name()`, e.g.
|
|
36
|
+
* `Morpho USDC Steakhouse`. Raw — may be inconsistently formatted
|
|
37
|
+
* across vaults; use `displayName` for UI. */
|
|
25
38
|
name: string;
|
|
39
|
+
/** Cross-provider UI label — `${curatorName ?? 'Morpho'} ${asset.symbol}`
|
|
40
|
+
* (e.g. `Steakhouse USDC`, `Gauntlet WETH`). Always non-empty. */
|
|
41
|
+
displayName: string;
|
|
26
42
|
/** Share and underlying decimals (ERC-4626 keeps them aligned). */
|
|
27
43
|
decimals: number;
|
|
28
44
|
/** Total underlying assets held by the vault, raw integer as string. */
|
|
@@ -48,6 +64,17 @@ export interface MorphoVault {
|
|
|
48
64
|
curator?: string;
|
|
49
65
|
/** Guardian address, lowercased — may be absent if not set. */
|
|
50
66
|
guardian?: string;
|
|
67
|
+
/** Human-readable curator label for UI (e.g. `Steakhouse`, `Gauntlet`).
|
|
68
|
+
* Populated from the Morpho API's `state.curators[].name`; undefined on
|
|
69
|
+
* Goldsky-sourced chains where the subgraph carries only the address. */
|
|
70
|
+
curatorName?: string;
|
|
71
|
+
/** Curator logo URL from the Morpho API (CDN-hosted SVG). Undefined on
|
|
72
|
+
* Goldsky-sourced chains. */
|
|
73
|
+
curatorImage?: string;
|
|
74
|
+
/** Full curator list — set when a vault has co-curators. First entry
|
|
75
|
+
* matches `curatorName` / `curatorImage`. Undefined on Goldsky-sourced
|
|
76
|
+
* chains. */
|
|
77
|
+
curators?: VaultCuratorMeta[];
|
|
51
78
|
/** Hydrated asset metadata from the provided token list, if any. */
|
|
52
79
|
asset?: GenericCurrency;
|
|
53
80
|
/** USD price of one underlying unit, if prices were supplied / returned. */
|
|
@@ -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;AAErD;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,WAAW;IAC1B,mEAAmE;IACnE,OAAO,EAAE,MAAM,CAAA;IACf,2CAA2C;IAC3C,UAAU,EAAE,MAAM,CAAA;IAClB,4DAA4D;IAC5D,MAAM,EAAE,MAAM,CAAA;IACd
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/vaults/morpho/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAErD,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,WAAW;IAC1B,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;CACrB;AAED;;;;;;GAMG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,yCAAyC;IACzC,CAAC,YAAY,EAAE,MAAM,GAAG,WAAW,CAAA;CACpC,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;
|
|
1
|
+
{"version":3,"file":"fetchPublic.d.ts","sourceRoot":"","sources":["../../../src/vaults/silo/fetchPublic.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAG9C,OAAO,EAAa,UAAU,EAAE,MAAM,SAAS,CAAA;AAkJ/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,CAoCpB,CAAA"}
|
|
@@ -20,8 +20,14 @@ export interface SiloVault {
|
|
|
20
20
|
underlying: string;
|
|
21
21
|
/** Vault share-token symbol, e.g. `soUSDC`, `soETH`. */
|
|
22
22
|
symbol: string;
|
|
23
|
-
/** Vault share-token name
|
|
23
|
+
/** Vault share-token name as returned by `name()`. Raw — use
|
|
24
|
+
* `displayName` for UI. */
|
|
24
25
|
name: string;
|
|
26
|
+
/** Cross-provider UI label — `${curatorName ?? 'Silo'} ${asset.symbol}`
|
|
27
|
+
* (e.g. `Silo USDC`). `curatorName` is currently always undefined for
|
|
28
|
+
* Silo, so this resolves to `Silo <symbol>` until the indexer adds
|
|
29
|
+
* curator-name support. Always non-empty. */
|
|
30
|
+
displayName: string;
|
|
25
31
|
/** Share and underlying decimals (ERC-4626 keeps them aligned). */
|
|
26
32
|
decimals: number;
|
|
27
33
|
/** Silo protocol version this vault allocates into. */
|
|
@@ -57,6 +63,11 @@ export interface SiloVault {
|
|
|
57
63
|
guardian?: string;
|
|
58
64
|
/** Fee recipient, lowercased — may be absent. */
|
|
59
65
|
feeRecipient?: string;
|
|
66
|
+
/** Human-readable curator label for UI. Always undefined today: the
|
|
67
|
+
* Silo indexer (`api-v3.silo.finance`) only exposes `curatorId` (the
|
|
68
|
+
* on-chain address). Field is kept for cross-provider parity with
|
|
69
|
+
* `MorphoVault.curatorName` so consumers can write generic UI code. */
|
|
70
|
+
curatorName?: string;
|
|
60
71
|
/** Hydrated asset metadata from the provided token list, if any. */
|
|
61
72
|
asset?: GenericCurrency;
|
|
62
73
|
/** USD price of one underlying unit, if prices were supplied / returned. */
|
|
@@ -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;AAErD;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,SAAS;IACxB,wDAAwD;IACxD,OAAO,EAAE,MAAM,CAAA;IACf,2CAA2C;IAC3C,UAAU,EAAE,MAAM,CAAA;IAClB,wDAAwD;IACxD,MAAM,EAAE,MAAM,CAAA;IACd
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/vaults/silo/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAErD;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,SAAS;IACxB,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;CACrB;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.
|
|
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/lender-registry": "0.0.26",
|
|
27
|
-
"@1delta/dex-registry": "0.0.99",
|
|
28
25
|
"@1delta/calldata-sdk": "0.0.146",
|
|
26
|
+
"@1delta/dex-registry": "0.0.99",
|
|
27
|
+
"@1delta/abis": "0.0.16",
|
|
29
28
|
"@1delta/proxy-fetch": "0.0.1",
|
|
30
|
-
"@1delta/providers": "0.0.58"
|
|
29
|
+
"@1delta/providers": "0.0.58",
|
|
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.
|
|
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",
|