@1delta/margin-fetcher 0.0.273 → 0.0.274
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 +635 -185
- package/dist/index.js.map +1 -1
- package/dist/vaults/classification.d.ts.map +1 -1
- package/dist/vaults/fetchVaultsAll.d.ts +5 -1
- package/dist/vaults/fetchVaultsAll.d.ts.map +1 -1
- package/dist/vaults/gmx/abis.d.ts +15 -0
- package/dist/vaults/gmx/abis.d.ts.map +1 -1
- package/dist/vaults/gmx/fetchPublic.d.ts.map +1 -1
- package/dist/vaults/gmx/index.d.ts +1 -1
- package/dist/vaults/gmx/index.d.ts.map +1 -1
- package/dist/vaults/gmx/keys.d.ts +20 -0
- package/dist/vaults/gmx/keys.d.ts.map +1 -1
- package/dist/vaults/gmx/pricing.d.ts +30 -3
- package/dist/vaults/gmx/pricing.d.ts.map +1 -1
- package/dist/vaults/gmx/types.d.ts +17 -0
- package/dist/vaults/gmx/types.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/lookup.d.ts.map +1 -1
- package/dist/vaults/morpho/allocationWalk.d.ts +11 -0
- package/dist/vaults/morpho/allocationWalk.d.ts.map +1 -1
- package/dist/vaults/morpho/fetchFromChain.d.ts +4 -3
- package/dist/vaults/morpho/fetchFromChain.d.ts.map +1 -1
- package/dist/vaults/morpho/fetchListaFromChain.d.ts.map +1 -1
- package/dist/vaults/morpho/fetchPublic.d.ts +8 -5
- package/dist/vaults/morpho/fetchPublic.d.ts.map +1 -1
- package/dist/vaults/morpho/index.d.ts +0 -1
- package/dist/vaults/morpho/index.d.ts.map +1 -1
- package/dist/vaults/savings/fetchPublic.d.ts.map +1 -1
- package/dist/vaults/savings/types.d.ts +12 -0
- package/dist/vaults/savings/types.d.ts.map +1 -1
- package/dist/vaults/silo/fetchPublic.d.ts.map +1 -1
- package/dist/vaults/yearn/api.d.ts +93 -0
- package/dist/vaults/yearn/api.d.ts.map +1 -0
- package/dist/vaults/yearn/fetchPublic.d.ts +21 -0
- package/dist/vaults/yearn/fetchPublic.d.ts.map +1 -0
- package/dist/vaults/yearn/index.d.ts +4 -0
- package/dist/vaults/yearn/index.d.ts.map +1 -0
- package/dist/vaults/yearn/types.d.ts +104 -0
- package/dist/vaults/yearn/types.d.ts.map +1 -0
- package/package.json +3 -3
- package/dist/vaults/morpho/fetchFromSubgraph.d.ts +0 -12
- package/dist/vaults/morpho/fetchFromSubgraph.d.ts.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"classification.d.ts","sourceRoot":"","sources":["../../src/vaults/classification.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAEzE;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,YAAY,GAAG,eAAe,GAAG,UAAU,CAAA;AACvD,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,UAAU,CAAA;AAEhD,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,YAAY,CAAA;IAC1B,YAAY,EAAE,YAAY,CAAA;CAC3B;AAED;;;;GAIG;AACH,MAAM,WAAW,yBAAyB;IACxC,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,YAAY,CAAC,EAAE,YAAY,CAAA;CAC5B;AAUD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,wBAAwB,aAEnC,CAAA;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,aAkF7B,CAAA;AAKF,mEAAmE;AACnE,eAAO,MAAM,kBAAkB,GAAI,QAAQ,MAAM,GAAG,SAAS,KAAG,OAS/D,CAAA;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,aAAa,GAAG,WAAW,CAAA;IACrC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAA;IACxB,OAAO,EAAE,MAAM,CAAA;IACf,mEAAmE;IACnE,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B;AAED;;;;GAIG;AACH,eAAO,MAAM,aAAa,GACxB,OAAO,kBAAkB,KACxB,mBAUF,CAAA;AASD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,wBAAwB,GACnC,MAAM,kBAAkB,EACxB,SAAS,MAAM,GAAG,MAAM,KACvB,
|
|
1
|
+
{"version":3,"file":"classification.d.ts","sourceRoot":"","sources":["../../src/vaults/classification.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAEzE;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,YAAY,GAAG,eAAe,GAAG,UAAU,CAAA;AACvD,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,UAAU,CAAA;AAEhD,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,YAAY,CAAA;IAC1B,YAAY,EAAE,YAAY,CAAA;CAC3B;AAED;;;;GAIG;AACH,MAAM,WAAW,yBAAyB;IACxC,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,YAAY,CAAC,EAAE,YAAY,CAAA;CAC5B;AAUD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,wBAAwB,aAEnC,CAAA;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,aAkF7B,CAAA;AAKF,mEAAmE;AACnE,eAAO,MAAM,kBAAkB,GAAI,QAAQ,MAAM,GAAG,SAAS,KAAG,OAS/D,CAAA;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,aAAa,GAAG,WAAW,CAAA;IACrC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAA;IACxB,OAAO,EAAE,MAAM,CAAA;IACf,mEAAmE;IACnE,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B;AAED;;;;GAIG;AACH,eAAO,MAAM,aAAa,GACxB,OAAO,kBAAkB,KACxB,mBAUF,CAAA;AASD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,wBAAwB,GACnC,MAAM,kBAAkB,EACxB,SAAS,MAAM,GAAG,MAAM,KACvB,IA2BF,CAAA"}
|
|
@@ -8,11 +8,12 @@ import type { EulerEarnVaults } from './euler-earn/types';
|
|
|
8
8
|
import type { LstShareTokens } from './lst';
|
|
9
9
|
import type { SavingsVaults } from './savings';
|
|
10
10
|
import type { LagoonVaults } from './lagoon';
|
|
11
|
+
import type { YearnVaults } from './yearn';
|
|
11
12
|
import type { HypercoreVaults } from './hypercore';
|
|
12
13
|
import type { GmxVaults, GmxExecutionFees } from './gmx';
|
|
13
14
|
import { type VaultLookupEntry } from './lookup';
|
|
14
15
|
/** Supported ERC-4626 vault providers. */
|
|
15
|
-
export type VaultProvider = 'fluid' | 'gearbox' | 'morpho' | 'lista' | 'silo' | 'euler-earn' | 'lst' | 'savings' | 'lagoon' | 'hypercore' | 'gmx';
|
|
16
|
+
export type VaultProvider = 'fluid' | 'gearbox' | 'morpho' | 'lista' | 'silo' | 'euler-earn' | 'lst' | 'savings' | 'lagoon' | 'yearn' | 'hypercore' | 'gmx';
|
|
16
17
|
/** Chain under which the Hyperliquid HyperCore (L1) vaults are surfaced.
|
|
17
18
|
* HyperCore is not an EVM chain; we attribute its vaults to the
|
|
18
19
|
* Hyperliquid umbrella chain (HyperEVM, 999) so a single
|
|
@@ -37,6 +38,9 @@ export interface VaultPublicDataAll {
|
|
|
37
38
|
lst?: LstShareTokens;
|
|
38
39
|
savings?: SavingsVaults;
|
|
39
40
|
lagoon?: LagoonVaults;
|
|
41
|
+
/** Yearn V3 vaults (VaultV3 + TokenizedStrategy ERC-4626). Discovered
|
|
42
|
+
* via the yDaemon API; keyed by lowercased vault address. */
|
|
43
|
+
yearn?: YearnVaults;
|
|
40
44
|
/** Hyperliquid HyperCore (L1) perp/HLP vaults. Only populated for the
|
|
41
45
|
* Hyperliquid chain ({@link HYPERCORE_PROVIDER_CHAIN}). Keyed by
|
|
42
46
|
* lowercased vault address. */
|
|
@@ -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;AAenD,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;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAC3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAC5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAC1C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAA;AACxD,OAAO,EAAoB,KAAK,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAUlE,0CAA0C;AAC1C,MAAM,MAAM,aAAa,GACrB,OAAO,GACP,SAAS,GACT,QAAQ,GACR,OAAO,GACP,MAAM,GACN,YAAY,GACZ,KAAK,GACL,SAAS,GACT,QAAQ,GACR,OAAO,GACP,WAAW,GACX,KAAK,CAAA;AAET;;;wDAGwD;AACxD,eAAO,MAAM,wBAAwB,QAAQ,CAAA;AAE7C;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,YAAY,CAAA;IACpB,OAAO,CAAC,EAAE,cAAc,CAAA;IACxB,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB;;2EAEuE;IACvE,KAAK,CAAC,EAAE,YAAY,CAAA;IACpB,IAAI,CAAC,EAAE,UAAU,CAAA;IACjB,YAAY,CAAC,EAAE,eAAe,CAAA;IAC9B,GAAG,CAAC,EAAE,cAAc,CAAA;IACpB,OAAO,CAAC,EAAE,aAAa,CAAA;IACvB,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB;kEAC8D;IAC9D,KAAK,CAAC,EAAE,WAAW,CAAA;IACnB;;oCAEgC;IAChC,SAAS,CAAC,EAAE,eAAe,CAAA;IAC3B;;iEAE6D;IAC7D,GAAG,CAAC,EAAE,SAAS,CAAA;IACf;0EACsE;IACtE,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;CACpC;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;;;;;;GAMG;AACH,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,kBAAkB,CAAA;IACxB,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;CACtC;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,qBAAqB,CAmO/B,CAAA"}
|
|
@@ -587,4 +587,19 @@ export declare const GmxErc20BalanceAbi: readonly [{
|
|
|
587
587
|
readonly type: "uint256";
|
|
588
588
|
}];
|
|
589
589
|
}];
|
|
590
|
+
/** GLV token's internally-tracked GM balance per market (the value GMX's
|
|
591
|
+
* per-market GLV cap is enforced against — not the ERC-20 `balanceOf`). */
|
|
592
|
+
export declare const GmxGlvTokenBalancesAbi: readonly [{
|
|
593
|
+
readonly name: "tokenBalances";
|
|
594
|
+
readonly type: "function";
|
|
595
|
+
readonly stateMutability: "view";
|
|
596
|
+
readonly inputs: readonly [{
|
|
597
|
+
readonly name: "token";
|
|
598
|
+
readonly type: "address";
|
|
599
|
+
}];
|
|
600
|
+
readonly outputs: readonly [{
|
|
601
|
+
readonly name: "";
|
|
602
|
+
readonly type: "uint256";
|
|
603
|
+
}];
|
|
604
|
+
}];
|
|
590
605
|
//# sourceMappingURL=abis.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abis.d.ts","sourceRoot":"","sources":["../../../src/vaults/gmx/abis.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAgFH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqBf,CAAA;AAwFV,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyBlB,CAAA;AAEV,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;EAYlB,CAAA;
|
|
1
|
+
{"version":3,"file":"abis.d.ts","sourceRoot":"","sources":["../../../src/vaults/gmx/abis.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAgFH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqBf,CAAA;AAwFV,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyBlB,CAAA;AAEV,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;EAYlB,CAAA;AAUV,8EAA8E;AAC9E,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6ChB,CAAA;AAEV,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+CnB,CAAA;AAEV,+EAA+E;AAC/E,eAAO,MAAM,mBAAmB;;;;;;;;;;;;EAQtB,CAAA;AAEV,eAAO,MAAM,kBAAkB;;;;;;;;;;;;EAQrB,CAAA;AAEV;4EAC4E;AAC5E,eAAO,MAAM,sBAAsB;;;;;;;;;;;;EAQzB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetchPublic.d.ts","sourceRoot":"","sources":["../../../src/vaults/gmx/fetchPublic.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"fetchPublic.d.ts","sourceRoot":"","sources":["../../../src/vaults/gmx/fetchPublic.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AASzD,OAAO,KAAK,EAAY,SAAS,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAmDzE;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,cAAc,GACzB,SAAS,MAAM,EACf,iBAAiB,sBAAsB,EACvC,UAAU,qBAAqB,KAC9B,OAAO,CAAC,SAAS,CAwKnB,CAAA"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { fetchGmxVaults } from './fetchPublic';
|
|
2
2
|
export { getGmxUserPositions } from './fetchUser';
|
|
3
3
|
export { fetchGmxTickerPrices, priceGmMarkets, priceGlvVaults, fetchGmxExecutionFees, } from './pricing';
|
|
4
|
-
export { GMX_API_HOSTS, GMX_SUPPORTED_CHAINS, getGmxApiHost
|
|
4
|
+
export { GMX_API_HOSTS, GMX_SUPPORTED_CHAINS, getGmxApiHost } from './registry';
|
|
5
5
|
export { GMX_READ_CONTRACTS, getGmxReadContracts, type GmxReadContracts, } from './contracts';
|
|
6
6
|
export { accountDepositListKey, accountWithdrawalListKey } from './keys';
|
|
7
7
|
export type { GmxVault, GmxVaults, GmxVaultKind, GmxVaultsFetchOptions, GmxUserBalance, GmxPendingDeposit, GmxPendingWithdrawal, GmxUserPositions, GmxUserPositionsOptions, GmxExecutionFees, } from './types';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/vaults/gmx/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,cAAc,EACd,qBAAqB,GACtB,MAAM,WAAW,CAAA;AAClB,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/vaults/gmx/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,cAAc,EACd,qBAAqB,GACtB,MAAM,WAAW,CAAA;AAClB,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAC/E,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,KAAK,gBAAgB,GACtB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,MAAM,QAAQ,CAAA;AACxE,YAAY,EACV,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,qBAAqB,EACrB,cAAc,EACd,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,EAChB,uBAAuB,EACvB,gBAAgB,GACjB,MAAM,SAAS,CAAA;AAChB,YAAY,EACV,WAAW,EACX,cAAc,EACd,aAAa,EACb,UAAU,EACV,YAAY,GACb,MAAM,OAAO,CAAA"}
|
|
@@ -22,4 +22,24 @@ export declare const GMX_GAS_KEYS: {
|
|
|
22
22
|
readonly glvWithdrawalGasLimit: `0x${string}`;
|
|
23
23
|
readonly glvPerMarketGasLimit: `0x${string}`;
|
|
24
24
|
};
|
|
25
|
+
/** Cap on a market's pool token amount (native units). `Keys.maxPoolAmountKey`. */
|
|
26
|
+
export declare const maxPoolAmountKey: (market: Address, token: Address) => Hex;
|
|
27
|
+
/** Cap on a market's pool value (USD, 1e30) for deposits.
|
|
28
|
+
* `Keys.maxPoolUsdForDepositKey`. */
|
|
29
|
+
export declare const maxPoolUsdForDepositKey: (market: Address, token: Address) => Hex;
|
|
30
|
+
/** Cap on the USD value of GM tokens a GLV may hold for one market.
|
|
31
|
+
* `Keys.glvMaxMarketTokenBalanceUsdKey` — keyed by (glv, market). */
|
|
32
|
+
export declare const glvMaxMarketTokenBalanceUsdKey: (glv: Address, market: Address) => Hex;
|
|
33
|
+
/** Cap on the GM token amount a GLV may hold for one market (native units).
|
|
34
|
+
* `Keys.glvMaxMarketTokenBalanceAmountKey` — keyed by (glv, market). */
|
|
35
|
+
export declare const glvMaxMarketTokenBalanceAmountKey: (glv: Address, market: Address) => Hex;
|
|
36
|
+
/** Market open interest (USD, 1e30) on one side, for positions collateralised
|
|
37
|
+
* in `collateralToken`. Mirrors `Keys.openInterestKey`. */
|
|
38
|
+
export declare const openInterestKey: (market: Address, collateralToken: Address, isLong: boolean) => Hex;
|
|
39
|
+
/** Market open interest in index tokens (native units) on one side, for
|
|
40
|
+
* positions collateralised in `collateralToken`. `Keys.openInterestInTokensKey`. */
|
|
41
|
+
export declare const openInterestInTokensKey: (market: Address, collateralToken: Address, isLong: boolean) => Hex;
|
|
42
|
+
/** Market reserve factor (1e30) on one side — the fraction of the side's pool
|
|
43
|
+
* value that may be reserved for open positions. `Keys.reserveFactorKey`. */
|
|
44
|
+
export declare const reserveFactorKey: (market: Address, isLong: boolean) => Hex;
|
|
25
45
|
//# sourceMappingURL=keys.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keys.d.ts","sourceRoot":"","sources":["../../../src/vaults/gmx/keys.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkC,KAAK,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,MAAM,CAAA;AA0B7E,0EAA0E;AAC1E,eAAO,MAAM,qBAAqB,GAAI,SAAS,OAAO,KAAG,GACV,CAAA;AAE/C,6EAA6E;AAC7E,eAAO,MAAM,wBAAwB,GAAI,SAAS,OAAO,KAAG,GACV,CAAA;AAElD;;;GAGG;AACH,eAAO,MAAM,0BAA0B,
|
|
1
|
+
{"version":3,"file":"keys.d.ts","sourceRoot":"","sources":["../../../src/vaults/gmx/keys.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkC,KAAK,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,MAAM,CAAA;AA0B7E,0EAA0E;AAC1E,eAAO,MAAM,qBAAqB,GAAI,SAAS,OAAO,KAAG,GACV,CAAA;AAE/C,6EAA6E;AAC7E,eAAO,MAAM,wBAAwB,GAAI,SAAS,OAAO,KAAG,GACV,CAAA;AAElD;;;GAGG;AACH,eAAO,MAAM,0BAA0B,eAEtC,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,YAAY;;;;;;;;CAUf,CAAA;AA0BV,mFAAmF;AACnF,eAAO,MAAM,gBAAgB,GAAI,QAAQ,OAAO,EAAE,OAAO,OAAO,KAAG,GACnB,CAAA;AAEhD;sCACsC;AACtC,eAAO,MAAM,uBAAuB,GAAI,QAAQ,OAAO,EAAE,OAAO,OAAO,KAAG,GACjB,CAAA;AAEzD;sEACsE;AACtE,eAAO,MAAM,8BAA8B,GACzC,KAAK,OAAO,EACZ,QAAQ,OAAO,KACd,GAAoE,CAAA;AAEvE;yEACyE;AACzE,eAAO,MAAM,iCAAiC,GAC5C,KAAK,OAAO,EACZ,QAAQ,OAAO,KACd,GAAuE,CAAA;AA8B1E;4DAC4D;AAC5D,eAAO,MAAM,eAAe,GAC1B,QAAQ,OAAO,EACf,iBAAiB,OAAO,EACxB,QAAQ,OAAO,KACd,GAA0E,CAAA;AAE7E;qFACqF;AACrF,eAAO,MAAM,uBAAuB,GAClC,QAAQ,OAAO,EACf,iBAAiB,OAAO,EACxB,QAAQ,OAAO,KACd,GAC4E,CAAA;AAE/E;8EAC8E;AAC9E,eAAO,MAAM,gBAAgB,GAAI,QAAQ,OAAO,EAAE,QAAQ,OAAO,KAAG,GAMjE,CAAA"}
|
|
@@ -14,6 +14,15 @@ export declare const fetchGmxTickerPrices: (chainId: string, apiUrlOverride?: st
|
|
|
14
14
|
export interface GmxUsdValue {
|
|
15
15
|
priceUsd: number;
|
|
16
16
|
tvlUsd: number;
|
|
17
|
+
/** Max withdrawable USD — what a holder of the whole vault could pull out
|
|
18
|
+
* now: pool value minus the part reserved to back open trader positions,
|
|
19
|
+
* capped at {@link tvlUsd}. The withdrawal-side liquidity. Absent when the
|
|
20
|
+
* reserve reads failed; see {@link priceGmMarkets}. */
|
|
21
|
+
liquidityUsd?: number;
|
|
22
|
+
/** Remaining deposit capacity in USD — how much more liquidity the market
|
|
23
|
+
* can accept before hitting GMX's pool caps. Absent when the cap reads
|
|
24
|
+
* failed or no cap is configured; see {@link priceGmMarkets}. */
|
|
25
|
+
depositCapacityUsd?: number;
|
|
17
26
|
}
|
|
18
27
|
interface GmMarketInput {
|
|
19
28
|
marketToken: string;
|
|
@@ -31,16 +40,34 @@ export declare const priceGmMarkets: (chainId: string, multicallRetry: Multicall
|
|
|
31
40
|
/**
|
|
32
41
|
* Value GLV tokens in USD. Two stages: `getGlvInfo` (each GLV → its
|
|
33
42
|
* constituent GM markets), then `getGlvTokenPrice` with the per-market
|
|
34
|
-
* index-price array assembled from `/prices/tickers`. Returns the value map
|
|
35
|
-
*
|
|
36
|
-
* estimate)
|
|
43
|
+
* index-price array assembled from `/prices/tickers`. Returns the value map,
|
|
44
|
+
* the largest GLV market count (used to size the GLV execution-fee gas
|
|
45
|
+
* estimate), and each GLV's constituent GM markets (lowercased) so callers
|
|
46
|
+
* can approximate GLV withdrawable liquidity from the per-market figures.
|
|
47
|
+
* Best-effort — empty on failure.
|
|
37
48
|
*/
|
|
38
49
|
export declare const priceGlvVaults: (chainId: string, multicallRetry: MulticallRetryFunction, glvTokens: string[], prices: TickerPrices,
|
|
39
50
|
/** market address (lowercased) → its index token address. From `/markets`. */
|
|
40
51
|
marketIndexToken: Map<string, string>) => Promise<{
|
|
41
52
|
values: Map<string, GmxUsdValue>;
|
|
42
53
|
maxMarketCount: number;
|
|
54
|
+
/** GLV address (lowercased) → its constituent GM markets (lowercased). */
|
|
55
|
+
glvMarkets: Map<string, string[]>;
|
|
56
|
+
/** GLV address (lowercased) → its per-market balance caps + current holding,
|
|
57
|
+
* for the GLV deposit-capacity approximation. */
|
|
58
|
+
glvCaps: Map<string, GlvMarketCap[]>;
|
|
43
59
|
}>;
|
|
60
|
+
/** Per-(glv, market) GLV deposit-cap state. Balances/amounts in GM-token
|
|
61
|
+
* native units (18-dec); `maxBalUsd` in GMX 1e30 USD. A `0n` cap means that
|
|
62
|
+
* cap is not enforced. */
|
|
63
|
+
export interface GlvMarketCap {
|
|
64
|
+
/** GM market token address, lowercased. */
|
|
65
|
+
market: string;
|
|
66
|
+
maxBalUsd: bigint;
|
|
67
|
+
maxBalAmount: bigint;
|
|
68
|
+
/** GLV's current GM-token holding for this market. */
|
|
69
|
+
balanceAmount: bigint;
|
|
70
|
+
}
|
|
44
71
|
/**
|
|
45
72
|
* Estimate per-chain minimum execution fees for the four GM/GLV request
|
|
46
73
|
* types. Reads the DataStore gas-limit + multiplier config in one multicall
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pricing.d.ts","sourceRoot":"","sources":["../../../src/vaults/gmx/pricing.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"pricing.d.ts","sourceRoot":"","sources":["../../../src/vaults/gmx/pricing.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAoBzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAa/C,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;CACZ;AACD,MAAM,MAAM,YAAY,GAAG,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;AAQnD;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,GAC/B,SAAS,MAAM,EACf,iBAAiB,MAAM,KACtB,OAAO,CAAC,YAAY,CAoBtB,CAAA;AAKD,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd;;;4DAGwD;IACxD,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB;;sEAEkE;IAClE,kBAAkB,CAAC,EAAE,MAAM,CAAA;CAC5B;AAED,UAAU,aAAa;IACrB,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;CACnB;AAED;;;;;GAKG;AACH,eAAO,MAAM,cAAc,GACzB,SAAS,MAAM,EACf,gBAAgB,sBAAsB,EACtC,SAAS,aAAa,EAAE,EACxB,QAAQ,YAAY,KACnB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAsIlC,CAAA;AAwED;;;;;;;;GAQG;AACH,eAAO,MAAM,cAAc,GACzB,SAAS,MAAM,EACf,gBAAgB,sBAAsB,EACtC,WAAW,MAAM,EAAE,EACnB,QAAQ,YAAY;AACpB,8EAA8E;AAC9E,kBAAkB,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,KACpC,OAAO,CAAC;IACT,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;IAChC,cAAc,EAAE,MAAM,CAAA;IACtB,0EAA0E;IAC1E,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;IACjC;sDACkD;IAClD,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC,CAAA;CACrC,CAmKA,CAAA;AAED;;2BAE2B;AAC3B,MAAM,WAAW,YAAY;IAC3B,2CAA2C;IAC3C,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,YAAY,EAAE,MAAM,CAAA;IACpB,sDAAsD;IACtD,aAAa,EAAE,MAAM,CAAA;CACtB;AAED;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,GAChC,SAAS,MAAM,EACf,gBAAgB,sBAAsB,EACtC,aAAa,MAAM,KAClB,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAiDtC,CAAA"}
|
|
@@ -56,6 +56,23 @@ export interface GmxVault {
|
|
|
56
56
|
/** Total pool value (TVL) in USD, from the same call. Absent under the
|
|
57
57
|
* same conditions as {@link priceUsd}. */
|
|
58
58
|
tvlUsd?: number;
|
|
59
|
+
/**
|
|
60
|
+
* Withdrawal-side liquidity in USD — the most a holder of the entire vault
|
|
61
|
+
* could withdraw right now: pool value minus the part reserved to back open
|
|
62
|
+
* trader positions, capped at {@link tvlUsd}. For GLV this is an
|
|
63
|
+
* approximation (the constituent markets' blended liquidity ratio applied to
|
|
64
|
+
* the GLV's value). Absent when the reserve reads were unavailable. */
|
|
65
|
+
liquidityUsd?: number;
|
|
66
|
+
/**
|
|
67
|
+
* Remaining deposit capacity in USD — how much more liquidity the pool can
|
|
68
|
+
* accept before GMX rejects the deposit. Per leg it's the unused room under
|
|
69
|
+
* the absolute token cap (`MAX_POOL_AMOUNT`) and the USD cap
|
|
70
|
+
* (`MAX_POOL_USD_FOR_DEPOSIT`), whichever binds first, summed across legs.
|
|
71
|
+
* For GLV this also folds in the per-market GM-balance cap the GLV may hold
|
|
72
|
+
* (`min(market room, GLV room)` across constituents) — an approximation
|
|
73
|
+
* that ignores deposit price-impact. Absent when the cap reads were
|
|
74
|
+
* unavailable or no cap is configured. */
|
|
75
|
+
depositCapacityUsd?: number;
|
|
59
76
|
}
|
|
60
77
|
/** Vault-level listing keyed by lowercased address. */
|
|
61
78
|
export type GmxVaults = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/vaults/gmx/types.ts"],"names":[],"mappings":"AAAA,2CAA2C;AAE3C;;;;;;GAMG;AACH,MAAM,MAAM,YAAY,GAAG,IAAI,GAAG,KAAK,CAAA;AAEvC;;;;;;;;;GASG;AACH,MAAM,WAAW,QAAQ;IACvB,uDAAuD;IACvD,OAAO,EAAE,MAAM,CAAA;IACf,mFAAmF;IACnF,IAAI,EAAE,MAAM,CAAA;IACZ,8BAA8B;IAC9B,IAAI,EAAE,YAAY,CAAA;IAClB,8EAA8E;IAC9E,MAAM,EAAE,MAAM,CAAA;IACd,kEAAkE;IAClE,QAAQ,EAAE,MAAM,CAAA;IAChB,0CAA0C;IAC1C,SAAS,EAAE,MAAM,CAAA;IACjB,2EAA2E;IAC3E,UAAU,EAAE,MAAM,CAAA;IAClB,0EAA0E;IAC1E,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,qEAAqE;IACrE,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,sEAAsE;IACtE,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,4EAA4E;IAC5E,GAAG,EAAE,MAAM,CAAA;IACX,oCAAoC;IACpC,OAAO,EAAE,MAAM,CAAA;IACf,4CAA4C;IAC5C,QAAQ,EAAE,MAAM,CAAA;IAChB,sDAAsD;IACtD,YAAY,EAAE,UAAU,CAAA;IACxB,0EAA0E;IAC1E,YAAY,EAAE,QAAQ,GAAG,UAAU,CAAA;IACnC;;;2CAGuC;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB;+CAC2C;IAC3C,MAAM,CAAC,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/vaults/gmx/types.ts"],"names":[],"mappings":"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"}
|
package/dist/vaults/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/vaults/index.ts"],"names":[],"mappings":"AAEA,YAAY,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAC3C,cAAc,SAAS,CAAA;AACvB,cAAc,WAAW,CAAA;AACzB,cAAc,UAAU,CAAA;AACxB,cAAc,QAAQ,CAAA;AACtB,cAAc,cAAc,CAAA;AAC5B,cAAc,OAAO,CAAA;AACrB,cAAc,WAAW,CAAA;AACzB,cAAc,UAAU,CAAA;AACxB,cAAc,aAAa,CAAA;AAC3B,cAAc,OAAO,CAAA;AACrB,cAAc,SAAS,CAAA;AACvB,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAA;AACvD,OAAO,EACL,qBAAqB,EACrB,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC1B,KAAK,4BAA4B,GAClC,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,gBAAgB,EAAE,KAAK,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAClE,OAAO,EACL,oBAAoB,EACpB,aAAa,EACb,KAAK,aAAa,GACnB,MAAM,iBAAiB,CAAA;AACxB,OAAO,EACL,aAAa,EACb,wBAAwB,EACxB,kBAAkB,EAClB,kBAAkB,EAClB,wBAAwB,EACxB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACxB,KAAK,yBAAyB,GAC/B,MAAM,kBAAkB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/vaults/index.ts"],"names":[],"mappings":"AAEA,YAAY,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAC3C,cAAc,SAAS,CAAA;AACvB,cAAc,WAAW,CAAA;AACzB,cAAc,UAAU,CAAA;AACxB,cAAc,QAAQ,CAAA;AACtB,cAAc,cAAc,CAAA;AAC5B,cAAc,OAAO,CAAA;AACrB,cAAc,WAAW,CAAA;AACzB,cAAc,UAAU,CAAA;AACxB,cAAc,SAAS,CAAA;AACvB,cAAc,aAAa,CAAA;AAC3B,cAAc,OAAO,CAAA;AACrB,cAAc,SAAS,CAAA;AACvB,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAA;AACvD,OAAO,EACL,qBAAqB,EACrB,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC1B,KAAK,4BAA4B,GAClC,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,gBAAgB,EAAE,KAAK,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAClE,OAAO,EACL,oBAAoB,EACpB,aAAa,EACb,KAAK,aAAa,GACnB,MAAM,iBAAiB,CAAA;AACxB,OAAO,EACL,aAAa,EACb,wBAAwB,EACxB,kBAAkB,EAClB,kBAAkB,EAClB,wBAAwB,EACxB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACxB,KAAK,yBAAyB,GAC/B,MAAM,kBAAkB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lookup.d.ts","sourceRoot":"","sources":["../../src/vaults/lookup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AACzE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAElE;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,gBAAgB;IAC/B,oEAAoE;IACpE,QAAQ,EAAE,aAAa,CAAA;IACvB,+CAA+C;IAC/C,OAAO,EAAE,MAAM,CAAA;IACf,6CAA6C;IAC7C,UAAU,EAAE,MAAM,CAAA;IAClB,oDAAoD;IACpD,MAAM,EAAE,MAAM,CAAA;IACd,wBAAwB;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,yEAAyE;IACzE,QAAQ,EAAE,MAAM,CAAA;IAChB;;;;+DAI2D;IAC3D,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,8DAA8D;IAC9D,WAAW,EAAE,MAAM,CAAA;IACnB,+CAA+C;IAC/C,WAAW,EAAE,MAAM,CAAA;IACnB;;;yBAGqB;IACrB,aAAa,CAAC,EAAE,aAAa,CAAA;IAC7B;;sEAEkE;IAClE,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B;oDACgD;IAChD,YAAY,CAAC,EAAE,YAAY,CAAA;CAC5B;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,kBAAkB,GACvB,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,
|
|
1
|
+
{"version":3,"file":"lookup.d.ts","sourceRoot":"","sources":["../../src/vaults/lookup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AACzE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAElE;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,gBAAgB;IAC/B,oEAAoE;IACpE,QAAQ,EAAE,aAAa,CAAA;IACvB,+CAA+C;IAC/C,OAAO,EAAE,MAAM,CAAA;IACf,6CAA6C;IAC7C,UAAU,EAAE,MAAM,CAAA;IAClB,oDAAoD;IACpD,MAAM,EAAE,MAAM,CAAA;IACd,wBAAwB;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,yEAAyE;IACzE,QAAQ,EAAE,MAAM,CAAA;IAChB;;;;+DAI2D;IAC3D,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,8DAA8D;IAC9D,WAAW,EAAE,MAAM,CAAA;IACnB,+CAA+C;IAC/C,WAAW,EAAE,MAAM,CAAA;IACnB;;;yBAGqB;IACrB,aAAa,CAAC,EAAE,aAAa,CAAA;IAC7B;;sEAEkE;IAClE,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B;oDACgD;IAChD,YAAY,CAAC,EAAE,YAAY,CAAA;CAC5B;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,kBAAkB,GACvB,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CA2D/B"}
|
|
@@ -26,6 +26,11 @@ export interface MarketRate {
|
|
|
26
26
|
totalSupplyShares: bigint;
|
|
27
27
|
/** Lowercased collateral token backing the market, '' if unknown. */
|
|
28
28
|
collateralAddress: string;
|
|
29
|
+
/** Currently-withdrawable assets in the market — `totalSupplyAssets −
|
|
30
|
+
* totalBorrowAssets`, raw integer. Drives the vault's real withdrawable
|
|
31
|
+
* liquidity; omit/0 when the borrow side is unknown (degrades to
|
|
32
|
+
* treating the allocation as fully liquid). */
|
|
33
|
+
liquidity?: bigint;
|
|
29
34
|
}
|
|
30
35
|
/**
|
|
31
36
|
* Read `<core>.position(marketId, vault).supplyShares` for every
|
|
@@ -43,9 +48,15 @@ export declare function fetchVaultSupplyShares(chainId: string, core: string | u
|
|
|
43
48
|
* assets (idle balances dilute it), net of the vault performance fee —
|
|
44
49
|
* matching how MetaMorpho-style `netApy` is derived.
|
|
45
50
|
* - `exposures`: per-market breakdown, ordered by weight descending.
|
|
51
|
+
* - `liquidityFormatted`: real withdrawable underlying — idle deposits plus,
|
|
52
|
+
* from each allocation, at most the market's liquid cash
|
|
53
|
+
* (`min(allocation, market.liquidity)`), clamped to `totalAssets`. When no
|
|
54
|
+
* market exposes a `liquidity`, this equals `totalAssets` (the previous
|
|
55
|
+
* optimistic ceiling).
|
|
46
56
|
*/
|
|
47
57
|
export declare function computeVaultAllocation(vaultAddress: string, decimals: number, totalAssetsFormatted: number, feePercent: number, priceUsd: number, marketIds: string[], rateMap: Map<string, MarketRate>, positionMap: Map<string, bigint>, tokenList: GenericTokenList, uidCtx?: MarketUidContext): {
|
|
48
58
|
depositRate: number;
|
|
49
59
|
exposures: VaultMarketExposure[];
|
|
60
|
+
liquidityFormatted: number;
|
|
50
61
|
};
|
|
51
62
|
//# sourceMappingURL=allocationWalk.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"allocationWalk.d.ts","sourceRoot":"","sources":["../../../src/vaults/morpho/allocationWalk.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AAC5D,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAItE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAElD;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,MAAM,CAAA;IAClB,+DAA+D;IAC/D,QAAQ,EAAE,MAAM,CAAA;CACjB;AAkBD;;;;;;GAMG;AACH,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAA;IACjB,iBAAiB,EAAE,MAAM,CAAA;IACzB,iBAAiB,EAAE,MAAM,CAAA;IACzB,qEAAqE;IACrE,iBAAiB,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"allocationWalk.d.ts","sourceRoot":"","sources":["../../../src/vaults/morpho/allocationWalk.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AAC5D,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAItE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAElD;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,MAAM,CAAA;IAClB,+DAA+D;IAC/D,QAAQ,EAAE,MAAM,CAAA;CACjB;AAkBD;;;;;;GAMG;AACH,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAA;IACjB,iBAAiB,EAAE,MAAM,CAAA;IACzB,iBAAiB,EAAE,MAAM,CAAA;IACzB,qEAAqE;IACrE,iBAAiB,EAAE,MAAM,CAAA;IACzB;;;oDAGgD;IAChD,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED;;;;;;;GAOG;AACH,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,OAAO,EAAE,oBAAoB,EAAE,EAC/B,gBAAgB,EAAE,MAAM,EAAE,EAAE,EAC5B,cAAc,EAAE,sBAAsB,GACrC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAgC9B;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,sBAAsB,CACpC,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,EAChB,oBAAoB,EAAE,MAAM,EAC5B,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EAAE,EACnB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,EAChC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAChC,SAAS,EAAE,gBAAgB,EAC3B,MAAM,CAAC,EAAE,gBAAgB,GACxB;IACD,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,mBAAmB,EAAE,CAAA;IAChC,kBAAkB,EAAE,MAAM,CAAA;CAC3B,CA+DA"}
|
|
@@ -20,9 +20,10 @@ export interface FetchMorphoVaultsFromChainOptions {
|
|
|
20
20
|
* Goldsky subgraph are unreachable. The supply rate isn't computable from
|
|
21
21
|
* vault state alone (it requires walking the underlying market allocations),
|
|
22
22
|
* so `supplyRate` and `rewardsRate` are surfaced as `0` — same convention
|
|
23
|
-
* used by the Goldsky path when rewards aren't indexed. `liquidity`
|
|
24
|
-
*
|
|
25
|
-
*
|
|
23
|
+
* used by the Goldsky path when rewards aren't indexed. `liquidity` is the
|
|
24
|
+
* real withdrawable amount from the allocation walk (idle + Σ min(allocation,
|
|
25
|
+
* market liquidity)); it falls back to `totalAssets` only when no lens/core is
|
|
26
|
+
* available for the chain.
|
|
26
27
|
*/
|
|
27
28
|
export declare const fetchMorphoVaultsFromChain: (chainId: string, multicallRetry: MulticallRetryFunction, prices?: {
|
|
28
29
|
[asset: string]: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetchFromChain.d.ts","sourceRoot":"","sources":["../../../src/vaults/morpho/fetchFromChain.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,oBAAoB,EAC1B,MAAM,kBAAkB,CAAA;AAIzB,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAGtE,OAAO,EAAe,YAAY,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"fetchFromChain.d.ts","sourceRoot":"","sources":["../../../src/vaults/morpho/fetchFromChain.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,oBAAoB,EAC1B,MAAM,kBAAkB,CAAA;AAIzB,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAGtE,OAAO,EAAe,YAAY,EAAE,MAAM,SAAS,CAAA;AAgHnD,MAAM,WAAW,iCAAiC;IAChD,4EAA4E;IAC5E,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;IACpB;;;OAGG;IACH,cAAc,CAAC,EAAE,oBAAoB,EAAE,CAAA;CACxC;AAED;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,0BAA0B,GACrC,SAAS,MAAM,EACf,gBAAgB,sBAAsB,EACtC,SAAQ;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAO,EACxC,YAAW,gBAAqB,EAChC,OAAM,iCAAsC,KAC3C,OAAO,CAAC,YAAY,CAuFtB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetchListaFromChain.d.ts","sourceRoot":"","sources":["../../../src/vaults/morpho/fetchListaFromChain.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,oBAAoB,EAC1B,MAAM,kBAAkB,CAAA;AAUzB,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAItE,OAAO,EAAe,YAAY,EAAuB,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"fetchListaFromChain.d.ts","sourceRoot":"","sources":["../../../src/vaults/morpho/fetchListaFromChain.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,oBAAoB,EAC1B,MAAM,kBAAkB,CAAA;AAUzB,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAItE,OAAO,EAAe,YAAY,EAAuB,MAAM,SAAS,CAAA;AAsFxE,MAAM,WAAW,gCAAgC;IAC/C;;;;OAIG;IACH,cAAc,CAAC,EAAE,oBAAoB,EAAE,CAAA;CACxC;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,yBAAyB,GACpC,SAAS,MAAM,EACf,gBAAgB,sBAAsB,EACtC,SAAQ;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAO,EACxC,YAAW,gBAAqB,EAChC,OAAM,gCAAqC,KAC1C,OAAO,CAAC,YAAY,CA0GtB,CAAA"}
|
|
@@ -3,13 +3,16 @@ import { MorphoVaults } from './types';
|
|
|
3
3
|
/**
|
|
4
4
|
* One-shot fetcher for all MetaMorpho vaults on a chain.
|
|
5
5
|
*
|
|
6
|
-
* Routes between
|
|
6
|
+
* Routes between two data sources, normalized to the same `MorphoVault`
|
|
7
7
|
* shape: the curated **on-chain** path (via the `morphoTypeVaults` registry)
|
|
8
|
-
* for chains the hosted
|
|
9
|
-
* chains it indexes
|
|
8
|
+
* for chains the hosted API doesn't cover, and the public **Morpho API**
|
|
9
|
+
* for chains it indexes. The on-chain branch needs a `multicallRetry`
|
|
10
|
+
* executor; the API branch ignores it (HTTP GraphQL).
|
|
10
11
|
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
12
|
+
* (A Goldsky-subgraph branch used to serve SEI / Celo / Lisk / Soneium / TAC
|
|
13
|
+
* / Hemi, but all of those now have on-chain registry entries — and the
|
|
14
|
+
* upstream subgraph endpoints were retired — so the on-chain path covers them
|
|
15
|
+
* with real `liquidity`/APR and the subgraph path was removed.)
|
|
13
16
|
*
|
|
14
17
|
* @param chainId target chain
|
|
15
18
|
* @param multicallRetry provider-level multicall executor (on-chain branch)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetchPublic.d.ts","sourceRoot":"","sources":["../../../src/vaults/morpho/fetchPublic.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"fetchPublic.d.ts","sourceRoot":"","sources":["../../../src/vaults/morpho/fetchPublic.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAGtE,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAatC;;;;;;;;;;;;;;;;;;;;;GAqBG;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,CAUtB,CAAA"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
export { fetchMorphoVaults } from './fetchPublic';
|
|
2
2
|
export { fetchMorphoVaultsFromApi } from './fetchFromApi';
|
|
3
|
-
export { fetchMorphoVaultsFromSubgraph, hasMorphoVaultSubgraph, } from './fetchFromSubgraph';
|
|
4
3
|
export { fetchMorphoVaultsFromChain, type FetchMorphoVaultsFromChainOptions, } from './fetchFromChain';
|
|
5
4
|
export { fetchListaVaultsFromChain, type FetchListaVaultsFromChainOptions, } from './fetchListaFromChain';
|
|
6
5
|
export type { MorphoVault, MorphoVaults, VaultCuratorMeta } from './types';
|
|
@@ -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,
|
|
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,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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetchPublic.d.ts","sourceRoot":"","sources":["../../../src/vaults/savings/fetchPublic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAKtE,OAAO,KAAK,EAAgB,aAAa,EAAE,MAAM,SAAS,CAAA;AAI1D;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,kBAAkB,GAC7B,SAAS,MAAM,EACf,gBAAgB,sBAAsB,EACtC,SAAQ;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAO,EACxC,YAAW,gBAAqB,KAC/B,OAAO,CAAC,aAAa,
|
|
1
|
+
{"version":3,"file":"fetchPublic.d.ts","sourceRoot":"","sources":["../../../src/vaults/savings/fetchPublic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAKtE,OAAO,KAAK,EAAgB,aAAa,EAAE,MAAM,SAAS,CAAA;AAI1D;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,kBAAkB,GAC7B,SAAS,MAAM,EACf,gBAAgB,sBAAsB,EACtC,SAAQ;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAO,EACxC,YAAW,gBAAqB,KAC/B,OAAO,CAAC,aAAa,CAsHvB,CAAA"}
|
|
@@ -96,6 +96,18 @@ export interface SavingsVault extends VaultClassificationFields {
|
|
|
96
96
|
totalAssetsFormatted: number;
|
|
97
97
|
/** Human-formatted total assets in USD. */
|
|
98
98
|
totalAssetsUsd: number;
|
|
99
|
+
/** Instantly-withdrawable underlying right now, raw integer string,
|
|
100
|
+
* derived from `withdrawalMode`: `instant` vaults are fully liquid
|
|
101
|
+
* (`= totalAssets`); `fixed-cooldown` / `queued` / `request-based` /
|
|
102
|
+
* `fee-or-queued` vaults require a waiting period, so their
|
|
103
|
+
* instantaneous withdrawable is `0`. (A cooldown vault's underlying
|
|
104
|
+
* may still be redeemable after the wait — this field is the *right
|
|
105
|
+
* now* figure, matching the cross-provider `liquidity` semantic.) */
|
|
106
|
+
liquidity: string;
|
|
107
|
+
/** Human-formatted withdrawable liquidity. */
|
|
108
|
+
liquidityFormatted: number;
|
|
109
|
+
/** Withdrawable liquidity in USD. */
|
|
110
|
+
liquidityUsd: number;
|
|
99
111
|
}
|
|
100
112
|
/**
|
|
101
113
|
* Full parsed payload: per-share-token-address map.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/vaults/savings/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAA;AAElE;;;;;;;;GAQG;AACH,MAAM,MAAM,qBAAqB,GAC7B,SAAS,GACT,gBAAgB,GAChB,QAAQ,GACR,eAAe,GACf,eAAe,CAAA;AAEnB;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,YAAa,SAAQ,yBAAyB;IAC7D,gDAAgD;IAChD,OAAO,EAAE,MAAM,CAAA;IACf,6CAA6C;IAC7C,UAAU,EAAE,MAAM,CAAA;IAClB,yDAAyD;IACzD,MAAM,EAAE,MAAM,CAAA;IACd;yCACqC;IACrC,IAAI,EAAE,MAAM,CAAA;IACZ;gEAC4D;IAC5D,WAAW,EAAE,MAAM,CAAA;IACnB,mEAAmE;IACnE,KAAK,EAAE,MAAM,CAAA;IACb;8DAC0D;IAC1D,WAAW,EAAE,MAAM,CAAA;IACnB,wDAAwD;IACxD,QAAQ,EAAE,MAAM,CAAA;IAEhB;2BACuB;IACvB,WAAW,EAAE,MAAM,CAAA;IACnB,kDAAkD;IAClD,WAAW,EAAE,MAAM,CAAA;IACnB,qEAAqE;IACrE,eAAe,EAAE,MAAM,CAAA;IACvB,oEAAoE;IACpE,eAAe,EAAE,MAAM,CAAA;IACvB;wEACoE;IACpE,YAAY,EAAE,MAAM,CAAA;IAEpB;4CACwC;IACxC,UAAU,EAAE,MAAM,CAAA;IAClB;2DACuD;IACvD,WAAW,EAAE,MAAM,CAAA;IACnB;iBACa;IACb,WAAW,EAAE,MAAM,CAAA;IAEnB;yDACqD;IACrD,SAAS,EAAE,IAAI,CAAA;IACf;;mEAE+D;IAC/D,UAAU,EAAE,OAAO,CAAA;IACnB;iDAC6C;IAC7C,UAAU,EAAE,OAAO,CAAA;IAEnB;;4DAEwD;IACxD,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,4BAA4B;IAC5B,cAAc,EAAE,qBAAqB,CAAA;IACrC;;;;iBAIa;IACb,yBAAyB,CAAC,EAAE,MAAM,CAAA;IAElC,oEAAoE;IACpE,KAAK,CAAC,EAAE,eAAe,CAAA;IACvB,iEAAiE;IACjE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,mEAAmE;IACnE,oBAAoB,EAAE,MAAM,CAAA;IAC5B,2CAA2C;IAC3C,cAAc,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/vaults/savings/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAA;AAElE;;;;;;;;GAQG;AACH,MAAM,MAAM,qBAAqB,GAC7B,SAAS,GACT,gBAAgB,GAChB,QAAQ,GACR,eAAe,GACf,eAAe,CAAA;AAEnB;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,YAAa,SAAQ,yBAAyB;IAC7D,gDAAgD;IAChD,OAAO,EAAE,MAAM,CAAA;IACf,6CAA6C;IAC7C,UAAU,EAAE,MAAM,CAAA;IAClB,yDAAyD;IACzD,MAAM,EAAE,MAAM,CAAA;IACd;yCACqC;IACrC,IAAI,EAAE,MAAM,CAAA;IACZ;gEAC4D;IAC5D,WAAW,EAAE,MAAM,CAAA;IACnB,mEAAmE;IACnE,KAAK,EAAE,MAAM,CAAA;IACb;8DAC0D;IAC1D,WAAW,EAAE,MAAM,CAAA;IACnB,wDAAwD;IACxD,QAAQ,EAAE,MAAM,CAAA;IAEhB;2BACuB;IACvB,WAAW,EAAE,MAAM,CAAA;IACnB,kDAAkD;IAClD,WAAW,EAAE,MAAM,CAAA;IACnB,qEAAqE;IACrE,eAAe,EAAE,MAAM,CAAA;IACvB,oEAAoE;IACpE,eAAe,EAAE,MAAM,CAAA;IACvB;wEACoE;IACpE,YAAY,EAAE,MAAM,CAAA;IAEpB;4CACwC;IACxC,UAAU,EAAE,MAAM,CAAA;IAClB;2DACuD;IACvD,WAAW,EAAE,MAAM,CAAA;IACnB;iBACa;IACb,WAAW,EAAE,MAAM,CAAA;IAEnB;yDACqD;IACrD,SAAS,EAAE,IAAI,CAAA;IACf;;mEAE+D;IAC/D,UAAU,EAAE,OAAO,CAAA;IACnB;iDAC6C;IAC7C,UAAU,EAAE,OAAO,CAAA;IAEnB;;4DAEwD;IACxD,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,4BAA4B;IAC5B,cAAc,EAAE,qBAAqB,CAAA;IACrC;;;;iBAIa;IACb,yBAAyB,CAAC,EAAE,MAAM,CAAA;IAElC,oEAAoE;IACpE,KAAK,CAAC,EAAE,eAAe,CAAA;IACvB,iEAAiE;IACjE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,mEAAmE;IACnE,oBAAoB,EAAE,MAAM,CAAA;IAC5B,2CAA2C;IAC3C,cAAc,EAAE,MAAM,CAAA;IAEtB;;;;;;0EAMsE;IACtE,SAAS,EAAE,MAAM,CAAA;IACjB,8CAA8C;IAC9C,kBAAkB,EAAE,MAAM,CAAA;IAC1B,qCAAqC;IACrC,YAAY,EAAE,MAAM,CAAA;CACrB;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,CAAC,YAAY,EAAE,MAAM,GAAG,YAAY,CAAA;CACrC,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;AAI9C,OAAO,EAAa,UAAU,EAAE,MAAM,SAAS,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;AAI9C,OAAO,EAAa,UAAU,EAAE,MAAM,SAAS,CAAA;AAsT/C;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,eAAe,GAC1B,SAAS,MAAM,EACf,SAAQ;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAO,EACxC,YAAW,gBAAqB,EAChC,UAAU;IAAE,eAAe,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,KAC1D,OAAO,CAAC,UAAU,CA8FpB,CAAA"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Yearn V3 discovery via the public **yDaemon** API.
|
|
3
|
+
*
|
|
4
|
+
* yDaemon is Yearn's metadata service: one GET per chain returns every
|
|
5
|
+
* vault it indexes — V3 *and* legacy V2 — already enriched with USD TVL,
|
|
6
|
+
* realized APR, price-per-share and the underlying token. We fetch it
|
|
7
|
+
* directly (no multicall, no archival RPC) and keep only the **V3**
|
|
8
|
+
* vaults, mirroring the Lagoon fetcher's HTTP-only shape.
|
|
9
|
+
*
|
|
10
|
+
* Endpoint and chain coverage:
|
|
11
|
+
* https://ydaemon.yearn.fi/{chainId}/vaults/all (REST, no auth)
|
|
12
|
+
* Chains are gated by {@link YEARN_CHAIN_IDS} so we don't fire a request
|
|
13
|
+
* at chains where Yearn has no V3 factory. yDaemon paginates with
|
|
14
|
+
* `?limit=N&page=M` (1-indexed); we loop until a short page.
|
|
15
|
+
*
|
|
16
|
+
* V3 vs V2: every vault carries a `version`. V3 vaults are `3.x.y`
|
|
17
|
+
* (`kind` is `Single Strategy` / `Multi Strategy`); V2/legacy are `0.x`
|
|
18
|
+
* (`kind: Legacy`). We keep only `version` starting `3.` so this provider
|
|
19
|
+
* stays a clean ERC-4626 (VaultV3 / TokenizedStrategy) surface.
|
|
20
|
+
*/
|
|
21
|
+
export declare const YEARN_YDAEMON_BASE = "https://ydaemon.yearn.fi";
|
|
22
|
+
/**
|
|
23
|
+
* Chains with endorsed Yearn **V3** vaults indexed by yDaemon (numeric
|
|
24
|
+
* chain ids as strings). Verified against
|
|
25
|
+
* `ydaemon.yearn.fi/{chainId}/vaults/all` — only chains that actually
|
|
26
|
+
* return `version: 3.x` vaults are listed, so we don't waste a round-trip.
|
|
27
|
+
* Extend as Yearn deploys V3 to more chains — the parser is
|
|
28
|
+
* chain-agnostic, this set only decides whether to issue the request.
|
|
29
|
+
*/
|
|
30
|
+
export declare const YEARN_CHAIN_IDS: Set<string>;
|
|
31
|
+
export declare const hasYearnVaults: (chainId: string) => boolean;
|
|
32
|
+
/** True when a yDaemon vault is a V3 (TokenizedStrategy / VaultV3) vault. */
|
|
33
|
+
export declare const isYearnV3: (v: YDaemonVault) => boolean;
|
|
34
|
+
/** Shape of a single yDaemon `/vaults/all` entry (fields we consume). */
|
|
35
|
+
export interface YDaemonVault {
|
|
36
|
+
address: string | null;
|
|
37
|
+
/** Vault kind — `Single Strategy` | `Multi Strategy` (V3) | `Legacy` (V2). */
|
|
38
|
+
kind: string | null;
|
|
39
|
+
symbol: string | null;
|
|
40
|
+
name: string | null;
|
|
41
|
+
/** Semver — `3.0.4`, `0.4.6`, … Drives the V3 filter. */
|
|
42
|
+
version: string | null;
|
|
43
|
+
/** Yearn product category, e.g. `Pendle`, `Curve`, `Velodrome`. */
|
|
44
|
+
category: string | null;
|
|
45
|
+
/** Share-token decimals. */
|
|
46
|
+
decimals: number | null;
|
|
47
|
+
chainID: number | null;
|
|
48
|
+
/** Curated/whitelisted by Yearn. We keep only endorsed V3 vaults. */
|
|
49
|
+
endorsed: boolean | null;
|
|
50
|
+
/** Raw price-per-share — `convertToAssets(10**decimals)`, asset-scaled. */
|
|
51
|
+
pricePerShare: string | null;
|
|
52
|
+
/** Underlying asset token. */
|
|
53
|
+
token: {
|
|
54
|
+
address: string | null;
|
|
55
|
+
symbol: string | null;
|
|
56
|
+
name: string | null;
|
|
57
|
+
decimals: number | null;
|
|
58
|
+
} | null;
|
|
59
|
+
tvl: {
|
|
60
|
+
/** Total underlying held, raw integer string (asset-decimal scaled). */
|
|
61
|
+
totalAssets: string | null;
|
|
62
|
+
/** TVL in USD (decimal number). */
|
|
63
|
+
tvl: number | null;
|
|
64
|
+
/** USD price of one underlying unit. */
|
|
65
|
+
price: number | null;
|
|
66
|
+
} | null;
|
|
67
|
+
apr: {
|
|
68
|
+
/** Realized net APR as a FRACTION (e.g. 0.0512 = 5.12 %). */
|
|
69
|
+
netAPR: number | null;
|
|
70
|
+
fees: {
|
|
71
|
+
/** Performance fee as a fraction (0.1 = 10 %). */
|
|
72
|
+
performance: number | null;
|
|
73
|
+
management: number | null;
|
|
74
|
+
} | null;
|
|
75
|
+
extra: {
|
|
76
|
+
/** Extra staking-rewards APR, fraction. */
|
|
77
|
+
stakingRewardsAPR: number | null;
|
|
78
|
+
} | null;
|
|
79
|
+
/** Forward-looking (expected) net APR, fraction. Fallback for new
|
|
80
|
+
* vaults with no realized `netAPR` history yet. */
|
|
81
|
+
forwardAPR: {
|
|
82
|
+
netAPR: number | null;
|
|
83
|
+
} | null;
|
|
84
|
+
} | null;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Fetch every endorsed Yearn **V3** vault on a chain, paginating until
|
|
88
|
+
* yDaemon returns a short page. Returns the raw yDaemon items already
|
|
89
|
+
* filtered to V3 + endorsed; normalization to `YearnVault` happens in
|
|
90
|
+
* `fetchPublic`.
|
|
91
|
+
*/
|
|
92
|
+
export declare function fetchYearnApiVaults(chainId: string): Promise<YDaemonVault[]>;
|
|
93
|
+
//# sourceMappingURL=api.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/vaults/yearn/api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,eAAO,MAAM,kBAAkB,6BAA6B,CAAA;AAE5D;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,aAQ1B,CAAA;AAEF,eAAO,MAAM,cAAc,GAAI,SAAS,MAAM,KAAG,OACX,CAAA;AAEtC,6EAA6E;AAC7E,eAAO,MAAM,SAAS,GAAI,GAAG,YAAY,KAAG,OACkB,CAAA;AAE9D,yEAAyE;AACzE,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,8EAA8E;IAC9E,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,yDAAyD;IACzD,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,mEAAmE;IACnE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,4BAA4B;IAC5B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,qEAAqE;IACrE,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAA;IACxB,2EAA2E;IAC3E,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,8BAA8B;IAC9B,KAAK,EAAE;QACL,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;QACtB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;QACrB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;QACnB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;KACxB,GAAG,IAAI,CAAA;IACR,GAAG,EAAE;QACH,wEAAwE;QACxE,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;QAC1B,mCAAmC;QACnC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;QAClB,wCAAwC;QACxC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;KACrB,GAAG,IAAI,CAAA;IACR,GAAG,EAAE;QACH,6DAA6D;QAC7D,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;QACrB,IAAI,EAAE;YACJ,kDAAkD;YAClD,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;YAC1B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;SAC1B,GAAG,IAAI,CAAA;QACR,KAAK,EAAE;YACL,2CAA2C;YAC3C,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAA;SACjC,GAAG,IAAI,CAAA;QACR;4DACoD;QACpD,UAAU,EAAE;YACV,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;SACtB,GAAG,IAAI,CAAA;KACT,GAAG,IAAI,CAAA;CACT;AAID;;;;;GAKG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,YAAY,EAAE,CAAC,CAoBzB"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { GenericTokenList, MulticallRetryFunction } from '../../types';
|
|
2
|
+
import { YearnVaults } from './types';
|
|
3
|
+
/**
|
|
4
|
+
* One-shot fetcher for all endorsed Yearn V3 vaults on a chain.
|
|
5
|
+
*
|
|
6
|
+
* Discovery is HTTP (yDaemon REST), then a best-effort on-chain multicall
|
|
7
|
+
* adds withdrawable `liquidity` per vault (see {@link attachYearnLiquidity}).
|
|
8
|
+
* Returns an empty map for chains without a Yearn V3 deployment.
|
|
9
|
+
*
|
|
10
|
+
* @param chainId target chain
|
|
11
|
+
* @param multicallRetry provider-level multicall executor (used only for
|
|
12
|
+
* the liquidity leg; discovery is HTTP)
|
|
13
|
+
* @param prices optional price map keyed by oracle key / underlying
|
|
14
|
+
* @param tokenList optional token list for hydrating `asset` metadata
|
|
15
|
+
*
|
|
16
|
+
* @returns `YearnVaults` — map keyed by lowercased vault address.
|
|
17
|
+
*/
|
|
18
|
+
export declare const fetchYearnVaults: (chainId: string, multicallRetry: MulticallRetryFunction, prices?: {
|
|
19
|
+
[asset: string]: number;
|
|
20
|
+
}, tokenList?: GenericTokenList) => Promise<YearnVaults>;
|
|
21
|
+
//# sourceMappingURL=fetchPublic.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetchPublic.d.ts","sourceRoot":"","sources":["../../../src/vaults/yearn/fetchPublic.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAItE,OAAO,EAAc,WAAW,EAAE,MAAM,SAAS,CAAA;AA8QjD;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,gBAAgB,GAC3B,SAAS,MAAM,EACf,gBAAgB,sBAAsB,EACtC,SAAQ;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAO,EACxC,YAAW,gBAAqB,KAC/B,OAAO,CAAC,WAAW,CAmBrB,CAAA"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { fetchYearnVaults } from './fetchPublic';
|
|
2
|
+
export { YEARN_YDAEMON_BASE, YEARN_CHAIN_IDS, hasYearnVaults, isYearnV3, fetchYearnApiVaults, type YDaemonVault, } from './api';
|
|
3
|
+
export type { YearnVault, YearnVaults, YearnVaultKind } from './types';
|
|
4
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/vaults/yearn/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAChD,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,SAAS,EACT,mBAAmB,EACnB,KAAK,YAAY,GAClB,MAAM,OAAO,CAAA;AACd,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA"}
|