@1delta/margin-fetcher 0.0.252 → 0.0.254
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 +443 -6
- package/dist/index.js.map +1 -1
- package/dist/lending/public-data/fetchLender.d.ts.map +1 -1
- package/dist/lending/public-data/fetchLenderAll.d.ts.map +1 -1
- package/dist/lending/public-data/morpho/publicCallBuild.d.ts.map +1 -1
- package/dist/lending/user-data/morpho/userCallBuild.d.ts.map +1 -1
- package/dist/prices/oracle-prices/fetchers/morpho.d.ts.map +1 -1
- 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/index.d.ts +1 -0
- package/dist/vaults/index.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/fetchListaFromChain.d.ts +34 -0
- package/dist/vaults/morpho/fetchListaFromChain.d.ts.map +1 -0
- package/dist/vaults/morpho/index.d.ts +2 -0
- package/dist/vaults/morpho/index.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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetchLenderAll.d.ts","sourceRoot":"","sources":["../../../src/lending/public-data/fetchLenderAll.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"fetchLenderAll.d.ts","sourceRoot":"","sources":["../../../src/lending/public-data/fetchLenderAll.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAMtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AA2CtD,eAAO,MAAM,sBAAsB,GACjC,SAAS,MAAM,EACf,SAAS,MAAM,EAAE,EACjB,QAAQ;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,EACnC,kBAAkB,gBAAgB,EAClC,gBAAgB,sBAAsB,EACtC,YAAY,MAAM,OAAO,CAAC,gBAAgB,CAAC,EAC3C,sCAAoC,KACnC,OAAO,CAAC;IAAE,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,CAgEnC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publicCallBuild.d.ts","sourceRoot":"","sources":["../../../../src/lending/public-data/morpho/publicCallBuild.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AASjD,eAAO,MAAM,iBAAiB,KAAK,CAAA;AAEnC,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,MAAM,EACf,MAAM,GAAE,gBAIP;;GAIF;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,EAAE;;;;
|
|
1
|
+
{"version":3,"file":"publicCallBuild.d.ts","sourceRoot":"","sources":["../../../../src/lending/public-data/morpho/publicCallBuild.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AASjD,eAAO,MAAM,iBAAiB,KAAK,CAAA;AAEnC,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,MAAM,EACf,MAAM,GAAE,gBAIP;;GAIF;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,EAAE;;;;IAa1E;AAED,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,eAAe,CAAC,EAAE,MAAM,EAAE;;;;IAK3B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"userCallBuild.d.ts","sourceRoot":"","sources":["../../../../src/lending/user-data/morpho/userCallBuild.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AAO/C,eAAO,MAAM,WAAW,EAAE;IAAE,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"userCallBuild.d.ts","sourceRoot":"","sources":["../../../../src/lending/user-data/morpho/userCallBuild.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AAO/C,eAAO,MAAM,WAAW,EAAE;IAAE,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CAuB9C,CAAA;AAED,eAAO,MAAM,2BAA2B,GACtC,SAAS,MAAM,EACf,SAAS,MAAM,EACf,QAAQ,MAAM,EACd,gBAAgB,MAAM,EAAE,KACvB,IAAI,EAeN,CAAA;AAED,eAAO,MAAM,+BAA+B,GAC1C,SAAS,MAAM,EACf,SAAS,MAAM,EACf,QAAQ,MAAM,EACd,gBAAgB,MAAM,EAAE,KACvB,IAAI,EAIN,CAAA;AAED,eAAO,MAAM,0BAA0B,GACrC,SAAS,MAAM,EACf,SAAS,MAAM,EACf,QAAQ,MAAM,EACd,gBAAgB,MAAM,EAAE,KACvB,IAAI,EAaN,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"morpho.d.ts","sourceRoot":"","sources":["../../../../src/prices/oracle-prices/fetchers/morpho.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,aAAa,EAEb,gBAAgB,EAChB,YAAY,EACb,MAAM,UAAU,CAAA;AAQjB;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,
|
|
1
|
+
{"version":3,"file":"morpho.d.ts","sourceRoot":"","sources":["../../../../src/prices/oracle-prices/fetchers/morpho.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,aAAa,EAEb,gBAAgB,EAChB,YAAY,EACb,MAAM,UAAU,CAAA;AAQjB;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAY3D;AAED;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAClC,CAAC,OAAO,EAAE,MAAM,GAAG,oBAAoB,EAAE,CAAA;CAC1C,CAAA;AAyBD;;;GAGG;AACH,UAAU,iBAAiB;IACzB,OAAO,EAAE,eAAe,EAAE,CAAA;CAC3B;AAgCD;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,eAAe,CAAC,EAAE,qBAAqB,CAAA;CACxC;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,oBAAoB,GAC7B,aAAa,CAAC,iBAAiB,CAAC,EAAE,CA6BpC;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,GAAG,EAAE,EACX,IAAI,EAAE,iBAAiB,EACvB,OAAO,EAAE,YAAY,GACpB,gBAAgB,EAAE,CAgEpB;AAED;;GAEG;AACH,wBAAgB,YAAY;;;;;;;;;;;;;;;;;;;;;;;;GAE3B;AA+CD;;;;;GAKG;AACH,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,gBAAgB,EAAE,GAAG,IAAI,CAAC,CA4DpC;AA+JD;;GAEG;AACH,eAAO,MAAM,aAAa;;;;CAIzB,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"}
|
package/dist/vaults/index.d.ts
CHANGED
|
@@ -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.
|
|
3
|
+
"version": "0.0.254",
|
|
4
4
|
"description": "",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"files": [
|
|
@@ -22,11 +22,11 @@
|
|
|
22
22
|
"dependencies": {
|
|
23
23
|
"async-retry": "^1.3.3",
|
|
24
24
|
"lodash": "^4.17.23",
|
|
25
|
-
"@1delta/abis": "0.0.
|
|
26
|
-
"@1delta/
|
|
27
|
-
"@1delta/
|
|
25
|
+
"@1delta/abis": "0.0.16",
|
|
26
|
+
"@1delta/calldata-sdk": "0.0.147",
|
|
27
|
+
"@1delta/dex-registry": "0.0.100",
|
|
28
28
|
"@1delta/lender-registry": "0.0.26",
|
|
29
|
-
"@1delta/providers": "0.0.
|
|
29
|
+
"@1delta/providers": "0.0.59",
|
|
30
30
|
"@1delta/proxy-fetch": "0.0.1"
|
|
31
31
|
},
|
|
32
32
|
"devDependencies": {
|
|
@@ -34,7 +34,7 @@
|
|
|
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",
|