@1delta/margin-fetcher 0.0.323 → 0.0.325
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 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8956 -8975
- package/dist/index.js.map +1 -1
- package/dist/lending/public-data/compound-v2/convert/sumer.d.ts +1 -1
- package/dist/lending/public-data/lista/getMarketsFromChain.d.ts.map +1 -1
- package/dist/lending/public-data/midnight/convertPublic.d.ts.map +1 -1
- package/dist/lending/public-data/midnight/fetchPublic.d.ts +3 -2
- package/dist/lending/public-data/midnight/fetchPublic.d.ts.map +1 -1
- package/dist/lending/public-data/midnight/fetchPublic.test.d.ts +2 -0
- package/dist/lending/public-data/midnight/fetchPublic.test.d.ts.map +1 -0
- package/dist/types/lenderTypes.d.ts +16 -0
- package/dist/types/lenderTypes.d.ts.map +1 -1
- package/dist/vaults/gmx/api.d.ts +12 -0
- package/dist/vaults/gmx/api.d.ts.map +1 -1
- package/dist/vaults/gmx/fetchPublic.d.ts.map +1 -1
- package/dist/vaults/lst/yieldBinding.d.ts +9 -16
- package/dist/vaults/lst/yieldBinding.d.ts.map +1 -1
- package/dist/vaults/savings/yieldBinding.d.ts +7 -10
- package/dist/vaults/savings/yieldBinding.d.ts.map +1 -1
- package/dist/vaults/yield/sharePrice.d.ts +4 -0
- package/dist/vaults/yield/sharePrice.d.ts.map +1 -1
- package/dist/yields/intrinsic/annualizeRate.d.ts +31 -0
- package/dist/yields/intrinsic/annualizeRate.d.ts.map +1 -0
- package/dist/yields/intrinsic/fetcherRegistry.d.ts +24 -0
- package/dist/yields/intrinsic/fetcherRegistry.d.ts.map +1 -0
- package/dist/yields/intrinsic/fetchers/core.d.ts.map +1 -1
- package/dist/yields/intrinsic/fetchers/dinero.d.ts.map +1 -1
- package/dist/yields/intrinsic/fetchers/gmx.d.ts.map +1 -1
- package/dist/yields/intrinsic/fetchers/lair.d.ts.map +1 -1
- package/dist/yields/intrinsic/fetchers/morphoVaults.d.ts.map +1 -1
- package/dist/yields/intrinsic/fetchers/primestaking.d.ts.map +1 -1
- package/dist/yields/intrinsic/fetchers/sparkSavings.d.ts.map +1 -1
- package/dist/yields/intrinsic/fetchers/stcelo.d.ts.map +1 -1
- package/dist/yields/intrinsic/fetchers/stella.d.ts.map +1 -1
- package/dist/yields/intrinsic/fetchers/swBTC.d.ts.map +1 -1
- package/dist/yields/intrinsic/fetchers/upshift.d.ts +9 -0
- package/dist/yields/intrinsic/fetchers/upshift.d.ts.map +1 -1
- package/dist/yields/intrinsic/index.d.ts +17 -1
- package/dist/yields/intrinsic/index.d.ts.map +1 -1
- package/dist/yields/intrinsic/resolveYieldApr.d.ts +36 -0
- package/dist/yields/intrinsic/resolveYieldApr.d.ts.map +1 -0
- package/package.json +4 -4
|
@@ -22,7 +22,7 @@ export declare function convertSumerEntry(opts: ConvertEntryOpts & {
|
|
|
22
22
|
totalDebtStable: number;
|
|
23
23
|
totalDebtStableUSD: number;
|
|
24
24
|
utilization: number;
|
|
25
|
-
|
|
25
|
+
intrinsicYield: number;
|
|
26
26
|
config: {
|
|
27
27
|
[modeId: string]: LenderConfigData;
|
|
28
28
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getMarketsFromChain.d.ts","sourceRoot":"","sources":["../../../../src/lending/public-data/lista/getMarketsFromChain.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAgBjD,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,GAAG,EACX,gBAAgB,GAAE,gBAIjB,EACD,MAAM,GAAE,gBAAqB,EAC7B,eAAe,CAAC,EAAE,MAAM,EAAE,GACzB,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,GAAG,SAAS,EAAE,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"getMarketsFromChain.d.ts","sourceRoot":"","sources":["../../../../src/lending/public-data/lista/getMarketsFromChain.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAgBjD,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,GAAG,EACX,gBAAgB,GAAE,gBAIjB,EACD,MAAM,GAAE,gBAAqB,EAC7B,eAAe,CAAC,EAAE,MAAM,EAAE,GACzB,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,GAAG,SAAS,EAAE,MAAM,CAAC,CAuR5C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"convertPublic.d.ts","sourceRoot":"","sources":["../../../../src/lending/public-data/midnight/convertPublic.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AAC5D,OAAO,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAA;AAChF,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAenE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAchD,sFAAsF;AACtF,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE1D;AAkBD;;;;;;;;;;;GAWG;AACH,wBAAgB,gCAAgC,CAC9C,GAAG,EAAE,iBAAiB,EAAE,EACxB,OAAO,EAAE,MAAM,EACf,MAAM,GAAE;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAO,EACxC,iBAAiB,GAAE,gBAIlB,EACD,MAAM,GAAE,gBAAqB,GAC5B;IAAE,CAAC,CAAC,EAAE,MAAM,GAAG,2BAA2B,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"convertPublic.d.ts","sourceRoot":"","sources":["../../../../src/lending/public-data/midnight/convertPublic.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AAC5D,OAAO,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAA;AAChF,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAenE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAchD,sFAAsF;AACtF,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE1D;AAkBD;;;;;;;;;;;GAWG;AACH,wBAAgB,gCAAgC,CAC9C,GAAG,EAAE,iBAAiB,EAAE,EACxB,OAAO,EAAE,MAAM,EACf,MAAM,GAAE;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAO,EACxC,iBAAiB,GAAE,gBAIlB,EACD,MAAM,GAAE,gBAAqB,GAC5B;IAAE,CAAC,CAAC,EAAE,MAAM,GAAG,2BAA2B,CAAA;CAAE,CA2O9C;AAED,YAAY,EAAE,oBAAoB,EAAE,CAAA"}
|
|
@@ -5,8 +5,9 @@ import type { MidnightBookSource, MidnightMarketRaw } from './types';
|
|
|
5
5
|
* Public data = static market config (from `midnightMarkets` registry) + live
|
|
6
6
|
* order-book rates/depth (from the book source). No RPC is required for the
|
|
7
7
|
* public view: LLTVs / maturities / decimals come from config, rates from the
|
|
8
|
-
* API. Returns one entry per configured market (with `top: null` when its
|
|
9
|
-
* fetch failed — the converter still emits
|
|
8
|
+
* API. Returns one entry per configured market (with `top: null` only when its
|
|
9
|
+
* book fetch failed AND no recent snapshot is cached — the converter still emits
|
|
10
|
+
* the market with zeroed rates in that case).
|
|
10
11
|
*/
|
|
11
12
|
export declare function fetchMidnightMarkets(chainId: string, source?: MidnightBookSource): Promise<MidnightMarketRaw[]>;
|
|
12
13
|
//# sourceMappingURL=fetchPublic.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetchPublic.d.ts","sourceRoot":"","sources":["../../../../src/lending/public-data/midnight/fetchPublic.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"fetchPublic.d.ts","sourceRoot":"","sources":["../../../../src/lending/public-data/midnight/fetchPublic.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,kBAAkB,EAElB,iBAAiB,EAClB,MAAM,SAAS,CAAA;AAuChB;;;;;;;;;GASG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,MAAM,EACf,MAAM,GAAE,kBAAsD,GAC7D,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAgB9B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetchPublic.test.d.ts","sourceRoot":"","sources":["../../../../src/lending/public-data/midnight/fetchPublic.test.ts"],"names":[],"mappings":""}
|
|
@@ -131,6 +131,20 @@ export interface BaseLendingPositions {
|
|
|
131
131
|
export type FixedTermEarlyRepay = {
|
|
132
132
|
kind: 'none' | 'penalty';
|
|
133
133
|
};
|
|
134
|
+
/**
|
|
135
|
+
* Who fronts a fixed term — the cross-protocol answer to "who is offering these
|
|
136
|
+
* borrow/lend terms". Consistent across lenders even though the shape differs:
|
|
137
|
+
* - `broker`: a single market broker sets the term (Lista LendingBroker proxy).
|
|
138
|
+
* `address` is that broker contract — one per market, stable, public.
|
|
139
|
+
* - `orderbook`: the term is an aggregate of many signed maker offers (Morpho
|
|
140
|
+
* Midnight). There is no single provider at the market level, so `address` is
|
|
141
|
+
* omitted; the concrete maker(s) are per-offer and only known at quote time.
|
|
142
|
+
*/
|
|
143
|
+
export interface FixedTermProvider {
|
|
144
|
+
kind: 'broker' | 'orderbook';
|
|
145
|
+
/** The single counterparty/venue contract, when there is one (Lista broker). */
|
|
146
|
+
address?: string;
|
|
147
|
+
}
|
|
134
148
|
/**
|
|
135
149
|
* Canonical fixed-term market descriptor, emitted on `params.market.fixedTerm`
|
|
136
150
|
* for EVERY fixed-rate / fixed-maturity market (Lista brokered + Morpho
|
|
@@ -152,6 +166,8 @@ export interface FixedTermInfo {
|
|
|
152
166
|
};
|
|
153
167
|
/** Early-repayment policy. */
|
|
154
168
|
earlyRepay: FixedTermEarlyRepay;
|
|
169
|
+
/** Who offers the term (Lista broker vs Midnight order book). */
|
|
170
|
+
provider?: FixedTermProvider;
|
|
155
171
|
}
|
|
156
172
|
/** A Lista loan, attached to its own entry in the positions array. */
|
|
157
173
|
export interface ListaTermLoan {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lenderTypes.d.ts","sourceRoot":"","sources":["../../src/types/lenderTypes.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AACzD,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAA;AACxC,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAA;AAErC,MAAM,WAAW,eAAe;IAC9B,6FAA6F;IAC7F,MAAM,EAAE,GAAG,CAAA;IACX,mBAAmB;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,+DAA+D;IAC/D,MAAM,CAAC,EAAE,GAAG,EAAE,CAAA;IACd,8CAA8C;IAC9C,MAAM,CAAC,EAAE,GAAG,EAAE,CAAA;CACf;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,eAAe,EAAE,
|
|
1
|
+
{"version":3,"file":"lenderTypes.d.ts","sourceRoot":"","sources":["../../src/types/lenderTypes.ts"],"names":[],"mappings":"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"}
|
package/dist/vaults/gmx/api.d.ts
CHANGED
|
@@ -1,3 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Canonical `/apy` window for GMX yields, shared by the vault provider
|
|
3
|
+
* (`fetchGmxVaults`) and the intrinsic-yield fetcher
|
|
4
|
+
* (`yields/intrinsic/fetchers/gmx`) so the two surfaces can't drift to
|
|
5
|
+
* different windows.
|
|
6
|
+
*
|
|
7
|
+
* `1d` on purpose: it is the finest window the API serves and the one we
|
|
8
|
+
* record, so longer windows (7d/30d/90d) can be re-derived from stored
|
|
9
|
+
* history rather than pinned here. Callers that want a specific window can
|
|
10
|
+
* still pass `options.period` to `fetchGmxVaults`.
|
|
11
|
+
*/
|
|
12
|
+
export declare const GMX_DEFAULT_APY_PERIOD = "1d";
|
|
1
13
|
/** `/apy` entry — fractions (e.g. `0.16` = 16%). */
|
|
2
14
|
export interface GmxApyEntry {
|
|
3
15
|
apy: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/vaults/gmx/api.ts"],"names":[],"mappings":"AAEA,oDAAoD;AACpD,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,6EAA6E;AAC7E,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE;QAAE,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,CAAA;KAAE,CAAA;IAC3C,IAAI,EAAE;QAAE,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,CAAA;KAAE,CAAA;CACzC;AAED,wBAAwB;AACxB,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,OAAO,CAAA;CAClB;AAED,qBAAqB;AACrB,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,OAAO,CAAA;CAClB;AAED,uBAAuB;AACvB,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AAWD;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,GAC1B,SAAS,MAAM,EACf,QAAQ,MAAM,EACd,iBAAiB,MAAM,KACtB,OAAO,CAAC;IACT,GAAG,EAAE,cAAc,CAAA;IACnB,OAAO,EAAE,aAAa,EAAE,CAAA;IACxB,IAAI,EAAE,UAAU,EAAE,CAAA;IAClB,MAAM,EAAE,YAAY,EAAE,CAAA;CACvB,CAqBA,CAAA"}
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/vaults/gmx/api.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AACH,eAAO,MAAM,sBAAsB,OAAO,CAAA;AAE1C,oDAAoD;AACpD,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,6EAA6E;AAC7E,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE;QAAE,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,CAAA;KAAE,CAAA;IAC3C,IAAI,EAAE;QAAE,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,CAAA;KAAE,CAAA;CACzC;AAED,wBAAwB;AACxB,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,OAAO,CAAA;CAClB;AAED,qBAAqB;AACrB,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,OAAO,CAAA;CAClB;AAED,uBAAuB;AACvB,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AAWD;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,GAC1B,SAAS,MAAM,EACf,QAAQ,MAAM,EACd,iBAAiB,MAAM,KACtB,OAAO,CAAC;IACT,GAAG,EAAE,cAAc,CAAA;IACnB,OAAO,EAAE,aAAa,EAAE,CAAA;IACxB,IAAI,EAAE,UAAU,EAAE,CAAA;IAClB,MAAM,EAAE,YAAY,EAAE,CAAA;CACvB,CAqBA,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;AAazD,OAAO,KAAK,EAAY,SAAS,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAkDzE;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,cAAc,GACzB,SAAS,MAAM,EACf,iBAAiB,sBAAsB,EACvC,UAAU,qBAAqB,KAC9B,OAAO,CAAC,SAAS,CAwKnB,CAAA"}
|
|
@@ -3,24 +3,17 @@ import type { LstRegistryEntry } from './registry';
|
|
|
3
3
|
* Runs every yield source referenced by an LST registry slice and
|
|
4
4
|
* returns a flat `address → apr%` map.
|
|
5
5
|
*
|
|
6
|
-
*
|
|
6
|
+
* The dedup + parallel-fetch + per-entry key lookup is the shared
|
|
7
|
+
* {@link resolveEntryApr} core. LST adds one protocol-specific twist on
|
|
8
|
+
* top:
|
|
7
9
|
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
* when reading per-entry keys.
|
|
10
|
+
* **weETH special case** — EtherFi's APR is `wstETH APR + LRT2 bonus`,
|
|
11
|
+
* so it can't be a plain `yieldKey` lookup. We force `wstethFetcher`
|
|
12
|
+
* into the run via `extraFetchers`, then compose weETH from the same
|
|
13
|
+
* wstETH result (`createWeethFetcher`) — no second wstETH fetch.
|
|
13
14
|
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
* bonus`. We compute it here using the same wstETH result we
|
|
17
|
-
* already fetched (or a fresh one) — the registry can't pre-bind
|
|
18
|
-
* it cleanly because `wstethFetcher` is a `YieldFetcher` not a
|
|
19
|
-
* `Promise`.
|
|
20
|
-
*
|
|
21
|
-
* Returns `{ [shareAddressLowercase]: aprPercent }`. Missing keys
|
|
22
|
-
* become `0` downstream — never `undefined` — so the parser doesn't
|
|
23
|
-
* have to branch.
|
|
15
|
+
* Returns `{ [shareAddressLowercase]: aprPercent }`. Missing keys become
|
|
16
|
+
* `0` downstream — never `undefined`.
|
|
24
17
|
*/
|
|
25
18
|
export declare const resolveYieldApr: (entries: LstRegistryEntry[]) => Promise<Record<string, number>>;
|
|
26
19
|
//# sourceMappingURL=yieldBinding.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"yieldBinding.d.ts","sourceRoot":"","sources":["../../../src/vaults/lst/yieldBinding.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAElD
|
|
1
|
+
{"version":3,"file":"yieldBinding.d.ts","sourceRoot":"","sources":["../../../src/vaults/lst/yieldBinding.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAElD;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,eAAe,GAC1B,SAAS,gBAAgB,EAAE,KAC1B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAyBhC,CAAA"}
|
|
@@ -3,17 +3,14 @@ import type { SavingsRegistryEntry } from './registry';
|
|
|
3
3
|
* Runs every yield source referenced by a savings-registry slice and
|
|
4
4
|
* returns a flat `address → apr%` map.
|
|
5
5
|
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
6
|
+
* A thin wrapper over the shared {@link resolveEntryApr} core — savings
|
|
7
|
+
* entries need no protocol-specific composition (every APR is a direct
|
|
8
|
+
* fetcher-key lookup), unlike `lst/yieldBinding.ts` which adds the weETH
|
|
9
|
+
* case. Dedup by fetcher ref (Angle stUSD+stEUR, Sky sUSDS+stUSDS, Maple
|
|
10
|
+
* syrup* all share one upstream call) lives in the shared core.
|
|
9
11
|
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
* a direct fetcher-key lookup.
|
|
13
|
-
*
|
|
14
|
-
* Returns `{ [shareAddressLowercase]: aprPercent }`. Missing keys
|
|
15
|
-
* become `0` downstream — never `undefined` — so the parser doesn't
|
|
16
|
-
* have to branch.
|
|
12
|
+
* Returns `{ [shareAddressLowercase]: aprPercent }`. Missing keys become
|
|
13
|
+
* `0` downstream — never `undefined`.
|
|
17
14
|
*/
|
|
18
15
|
export declare const resolveYieldApr: (entries: SavingsRegistryEntry[]) => Promise<Record<string, number>>;
|
|
19
16
|
//# sourceMappingURL=yieldBinding.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"yieldBinding.d.ts","sourceRoot":"","sources":["../../../src/vaults/savings/yieldBinding.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"yieldBinding.d.ts","sourceRoot":"","sources":["../../../src/vaults/savings/yieldBinding.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAEtD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,eAAe,GAC1B,SAAS,oBAAoB,EAAE,KAC9B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAyC,CAAA"}
|
|
@@ -16,6 +16,10 @@ export declare const VAULT_SHARE_PRICE_PROBE: bigint;
|
|
|
16
16
|
* Returns a map of lowercased address → raw share price (string). Vaults
|
|
17
17
|
* whose call reverts or returns 0 (non-4626, empty, or paused) are
|
|
18
18
|
* omitted rather than throwing — the caller records what it can.
|
|
19
|
+
*
|
|
20
|
+
* This is the *realized* yield signal. See [./README.md](./README.md) for
|
|
21
|
+
* how it ranks against a vault's *published* intrinsic APR (the published
|
|
22
|
+
* fetcher wins at the display layer; this is the fallback / drift check).
|
|
19
23
|
*/
|
|
20
24
|
export declare const readVaultSharePrices: (chainId: string, addresses: string[], multicallRetry: MulticallRetryFunction) => Promise<Record<string, string>>;
|
|
21
25
|
//# sourceMappingURL=sharePrice.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sharePrice.d.ts","sourceRoot":"","sources":["../../../src/vaults/yield/sharePrice.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAEzD;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,QAAa,CAAA;AAYjD
|
|
1
|
+
{"version":3,"file":"sharePrice.d.ts","sourceRoot":"","sources":["../../../src/vaults/yield/sharePrice.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAEzD;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,QAAa,CAAA;AAYjD;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,oBAAoB,GAC/B,SAAS,MAAM,EACf,WAAW,MAAM,EAAE,EACnB,gBAAgB,sBAAsB,KACrC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAsBhC,CAAA"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/** Seconds in a 365-day year — the annualisation basis every rate-delta
|
|
2
|
+
* intrinsic fetcher uses. */
|
|
3
|
+
export declare const YEAR_SECONDS: number;
|
|
4
|
+
/**
|
|
5
|
+
* Annualise a fractional growth measured over `elapsedSeconds` into an
|
|
6
|
+
* APR **percent**:
|
|
7
|
+
*
|
|
8
|
+
* apr% = growth × (yearSeconds / elapsedSeconds) × 100
|
|
9
|
+
*
|
|
10
|
+
* The shared tail of every rate-delta / rewards-over-window fetcher.
|
|
11
|
+
*/
|
|
12
|
+
export declare const annualizeGrowthPercent: (growth: number, elapsedSeconds: number) => number;
|
|
13
|
+
/**
|
|
14
|
+
* Annualise the growth of a monotonic exchange rate into an APR percent:
|
|
15
|
+
*
|
|
16
|
+
* apr% = (rateNow / rateThen − 1) × (yearSeconds / elapsedSeconds) × 100
|
|
17
|
+
*
|
|
18
|
+
* The single source for the pattern that stCELO, stDOT, swBTC, apxETH,
|
|
19
|
+
* iBERA, stKAIA, spUSDG and stCORE each used to hand-roll inline. When
|
|
20
|
+
* both rates are `bigint` the delta is divided *first*
|
|
21
|
+
* (`Number(rateNow − rateThen) / Number(rateThen)`) so the small
|
|
22
|
+
* per-window growth survives — on ~1e18-scale rates,
|
|
23
|
+
* `Number(rateNow) / Number(rateThen) − 1` loses it to float
|
|
24
|
+
* cancellation. `number` inputs (already-scaled, possibly fractional)
|
|
25
|
+
* fall back to the direct ratio.
|
|
26
|
+
*
|
|
27
|
+
* Callers still own their sanity checks (rates ≥ floor, non-decreasing,
|
|
28
|
+
* positive elapsed) — this only does the arithmetic.
|
|
29
|
+
*/
|
|
30
|
+
export declare const annualizeRateDeltaPercent: (rateNow: bigint | number, rateThen: bigint | number, elapsedSeconds: number) => number;
|
|
31
|
+
//# sourceMappingURL=annualizeRate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"annualizeRate.d.ts","sourceRoot":"","sources":["../../../src/yields/intrinsic/annualizeRate.ts"],"names":[],"mappings":"AAAA;8BAC8B;AAC9B,eAAO,MAAM,YAAY,QAAqB,CAAA;AAE9C;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,GACjC,QAAQ,MAAM,EACd,gBAAgB,MAAM,KACrB,MAAwD,CAAA;AAE3D;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,yBAAyB,GACpC,SAAS,MAAM,GAAG,MAAM,EACxB,UAAU,MAAM,GAAG,MAAM,EACzB,gBAAgB,MAAM,KACrB,MAMF,CAAA"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { YieldFetcher } from '../types';
|
|
2
|
+
/** Fetchers surfaced only via the global intrinsic map (no vault provider). */
|
|
3
|
+
export declare const LENDING_ONLY_FETCHERS: YieldFetcher[];
|
|
4
|
+
/**
|
|
5
|
+
* Every `YieldFetcher` referenced by an LST or savings vault registry
|
|
6
|
+
* entry, deduped by reference. Registry entries can point many rows at
|
|
7
|
+
* one fetcher (Maple syrup* → `mapleFetcher`, Angle stUSD/stEUR →
|
|
8
|
+
* `angleFetcher`, Sky sUSDS/stUSDS → `susdsFetcher`), so the same ref
|
|
9
|
+
* appears repeatedly across chains — the `Set` collapses them.
|
|
10
|
+
*
|
|
11
|
+
* This is the mechanism that keeps the vault providers and the global
|
|
12
|
+
* intrinsic map in lockstep: the global union derives its LST/savings
|
|
13
|
+
* slice from here rather than a hand-maintained parallel list.
|
|
14
|
+
*/
|
|
15
|
+
export declare const collectVaultFetchers: () => YieldFetcher[];
|
|
16
|
+
/**
|
|
17
|
+
* The single canonical set of intrinsic-yield fetchers: the union of
|
|
18
|
+
* every vault-registry fetcher and the lending-only extras, deduped by
|
|
19
|
+
* reference. `fetchIntrinsicYields` runs this; the vault bindings run
|
|
20
|
+
* their per-entry subset of the *same* fetcher objects — so there is one
|
|
21
|
+
* source of truth and no drift.
|
|
22
|
+
*/
|
|
23
|
+
export declare const INTRINSIC_FETCHERS: YieldFetcher[];
|
|
24
|
+
//# sourceMappingURL=fetcherRegistry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetcherRegistry.d.ts","sourceRoot":"","sources":["../../../src/yields/intrinsic/fetcherRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AA6C5C,+EAA+E;AAC/E,eAAO,MAAM,qBAAqB,EAAE,YAAY,EAyB/C,CAAA;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,oBAAoB,QAAO,YAAY,EAUnD,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,EAAE,YAAY,EAMzC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../../src/yields/intrinsic/fetchers/core.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../../src/yields/intrinsic/fetchers/core.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAoJ1C,eAAO,MAAM,cAAc,EAAE,YAe5B,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dinero.d.ts","sourceRoot":"","sources":["../../../../src/yields/intrinsic/fetchers/dinero.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"dinero.d.ts","sourceRoot":"","sources":["../../../../src/yields/intrinsic/fetchers/dinero.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAoG1C,eAAO,MAAM,cAAc,EAAE,YAW5B,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gmx.d.ts","sourceRoot":"","sources":["../../../../src/yields/intrinsic/fetchers/gmx.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"gmx.d.ts","sourceRoot":"","sources":["../../../../src/yields/intrinsic/fetchers/gmx.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AA0B1C,eAAO,MAAM,UAAU,EAAE,YAqBxB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lair.d.ts","sourceRoot":"","sources":["../../../../src/yields/intrinsic/fetchers/lair.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"lair.d.ts","sourceRoot":"","sources":["../../../../src/yields/intrinsic/fetchers/lair.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAgG1C,eAAO,MAAM,aAAa,EAAE,YAS3B,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"morphoVaults.d.ts","sourceRoot":"","sources":["../../../../src/yields/intrinsic/fetchers/morphoVaults.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"morphoVaults.d.ts","sourceRoot":"","sources":["../../../../src/yields/intrinsic/fetchers/morphoVaults.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AA6B1C,eAAO,MAAM,aAAa,EAAE,YAsB3B,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"primestaking.d.ts","sourceRoot":"","sources":["../../../../src/yields/intrinsic/fetchers/primestaking.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"primestaking.d.ts","sourceRoot":"","sources":["../../../../src/yields/intrinsic/fetchers/primestaking.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AA8H1C,eAAO,MAAM,YAAY,EAAE,YAY1B,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sparkSavings.d.ts","sourceRoot":"","sources":["../../../../src/yields/intrinsic/fetchers/sparkSavings.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"sparkSavings.d.ts","sourceRoot":"","sources":["../../../../src/yields/intrinsic/fetchers/sparkSavings.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AA+B1C,4DAA4D;AAC5D,eAAO,MAAM,sBAAsB,WAAW,CAAA;AA2E9C,eAAO,MAAM,uBAAuB,EAAE,YAMrC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stcelo.d.ts","sourceRoot":"","sources":["../../../../src/yields/intrinsic/fetchers/stcelo.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"stcelo.d.ts","sourceRoot":"","sources":["../../../../src/yields/intrinsic/fetchers/stcelo.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAuG1C,eAAO,MAAM,aAAa,EAAE,YAM3B,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stella.d.ts","sourceRoot":"","sources":["../../../../src/yields/intrinsic/fetchers/stella.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"stella.d.ts","sourceRoot":"","sources":["../../../../src/yields/intrinsic/fetchers/stella.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAwH1C,eAAO,MAAM,YAAY,EAAE,YAM1B,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"swBTC.d.ts","sourceRoot":"","sources":["../../../../src/yields/intrinsic/fetchers/swBTC.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"swBTC.d.ts","sourceRoot":"","sources":["../../../../src/yields/intrinsic/fetchers/swBTC.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAoG1C,eAAO,MAAM,YAAY,EAAE,YAS1B,CAAA"}
|
|
@@ -1,3 +1,12 @@
|
|
|
1
1
|
import { YieldFetcher } from '../../types';
|
|
2
|
+
/**
|
|
3
|
+
* earnAUSD intrinsic APR for the global intrinsic map.
|
|
4
|
+
*
|
|
5
|
+
* Reuses the Upshift vault provider's `fetchUpshiftApiVaults` client (the
|
|
6
|
+
* same global listing `vaults/upshift/fetchPublic` parses) and the same
|
|
7
|
+
* `apyToAprPercent` conversion, so this value can't drift from the vault
|
|
8
|
+
* surface. Previously this fetcher re-declared the URL and re-implemented
|
|
9
|
+
* the parse.
|
|
10
|
+
*/
|
|
2
11
|
export declare const upshiftFetcher: YieldFetcher;
|
|
3
12
|
//# sourceMappingURL=upshift.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upshift.d.ts","sourceRoot":"","sources":["../../../../src/yields/intrinsic/fetchers/upshift.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"upshift.d.ts","sourceRoot":"","sources":["../../../../src/yields/intrinsic/fetchers/upshift.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAQ1C;;;;;;;;GAQG;AACH,eAAO,MAAM,cAAc,EAAE,YAU5B,CAAA"}
|
|
@@ -1,4 +1,20 @@
|
|
|
1
|
-
|
|
1
|
+
export { INTRINSIC_FETCHERS, LENDING_ONLY_FETCHERS, collectVaultFetchers, } from './fetcherRegistry';
|
|
2
|
+
/**
|
|
3
|
+
* Fetch all intrinsic yields and merge into a single map keyed by asset
|
|
4
|
+
* group (`"Display Name::SYMBOL"`), value = APR percent.
|
|
5
|
+
*
|
|
6
|
+
* Runs the single canonical `INTRINSIC_FETCHERS` set (see
|
|
7
|
+
* `fetcherRegistry.ts`), which is the union of every vault-registry
|
|
8
|
+
* fetcher and the lending-only extras — so this map and the LST/savings
|
|
9
|
+
* vault providers always agree.
|
|
10
|
+
*
|
|
11
|
+
* Two fetchers are driven manually rather than from the array:
|
|
12
|
+
* - `wstETH` runs first because `weETH` composes off its result
|
|
13
|
+
* (EtherFi APR = wstETH APR + LRT2 bonus), and we must not fetch it
|
|
14
|
+
* twice — it is filtered out of the array run below.
|
|
15
|
+
* - `weETH` is composed via `createWeethFetcher` and has no plain array
|
|
16
|
+
* entry.
|
|
17
|
+
*/
|
|
2
18
|
export declare function fetchIntrinsicYields(): Promise<{
|
|
3
19
|
[asset: string]: number | undefined;
|
|
4
20
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/yields/intrinsic/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/yields/intrinsic/index.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,mBAAmB,CAAA;AAE1B;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC;IACpD,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;CACpC,CAAC,CAuBD"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { YieldFetcher, YieldResult } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* Minimal shape a vault-registry entry needs to bind an intrinsic-yield
|
|
4
|
+
* fetcher to its share address. Both `LstRegistryEntry` and
|
|
5
|
+
* `SavingsRegistryEntry` are structurally assignable to this.
|
|
6
|
+
*/
|
|
7
|
+
export interface YieldBindingEntry {
|
|
8
|
+
/** Share-token address (any case). */
|
|
9
|
+
address: string;
|
|
10
|
+
/** The shared intrinsic-yield fetcher this entry's APR comes from. */
|
|
11
|
+
yieldFetcher?: YieldFetcher;
|
|
12
|
+
/** Key inside the fetcher's `YieldResult` to read. */
|
|
13
|
+
yieldKey?: string;
|
|
14
|
+
}
|
|
15
|
+
export interface ResolveEntryAprResult {
|
|
16
|
+
/** `{ [shareAddressLowercase]: aprPercent }`. Missing keys are `0`,
|
|
17
|
+
* never `undefined` — parsers don't have to branch. */
|
|
18
|
+
apr: Record<string, number>;
|
|
19
|
+
/** Per-fetcher raw results, so callers can post-compose values that
|
|
20
|
+
* aren't a plain key lookup (e.g. LST weETH = wstETH APR + bonus). */
|
|
21
|
+
byFetcher: Map<YieldFetcher, YieldResult | undefined>;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* The shared core behind both `lst/yieldBinding` and
|
|
25
|
+
* `savings/yieldBinding`: collect the unique `YieldFetcher` refs across
|
|
26
|
+
* the entries (many entries can point at one fetcher — Maple syrup*,
|
|
27
|
+
* Angle stUSD/stEUR, Sky sUSDS/stUSDS), run each **once** via `safeFetch`
|
|
28
|
+
* (timeouts, logging, no throws), and map every entry's `yieldKey` to its
|
|
29
|
+
* APR.
|
|
30
|
+
*
|
|
31
|
+
* `extraFetchers` forces additional fetchers into the run even when no
|
|
32
|
+
* entry references them by key — used by the LST binding to fetch wstETH
|
|
33
|
+
* as the input to the weETH composition.
|
|
34
|
+
*/
|
|
35
|
+
export declare const resolveEntryApr: (entries: YieldBindingEntry[], extraFetchers?: YieldFetcher[]) => Promise<ResolveEntryAprResult>;
|
|
36
|
+
//# sourceMappingURL=resolveYieldApr.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolveYieldApr.d.ts","sourceRoot":"","sources":["../../../src/yields/intrinsic/resolveYieldApr.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAGzD;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,sCAAsC;IACtC,OAAO,EAAE,MAAM,CAAA;IACf,sEAAsE;IACtE,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,sDAAsD;IACtD,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,qBAAqB;IACpC;4DACwD;IACxD,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC3B;2EACuE;IACvE,SAAS,EAAE,GAAG,CAAC,YAAY,EAAE,WAAW,GAAG,SAAS,CAAC,CAAA;CACtD;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,eAAe,GAC1B,SAAS,iBAAiB,EAAE,EAC5B,gBAAe,YAAY,EAAO,KACjC,OAAO,CAAC,qBAAqB,CAuB/B,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.325",
|
|
4
4
|
"description": "",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"files": [
|
|
@@ -23,12 +23,12 @@
|
|
|
23
23
|
"async-retry": "^1.3.3",
|
|
24
24
|
"lodash": "^4.17.23",
|
|
25
25
|
"@1delta/abis": "0.0.23",
|
|
26
|
-
"@1delta/calldata-sdk": "0.0.157",
|
|
27
26
|
"@1delta/dex-registry": "0.0.103",
|
|
28
27
|
"@1delta/data-sdk": "0.0.31",
|
|
29
28
|
"@1delta/lender-registry": "0.0.34",
|
|
30
|
-
"@1delta/
|
|
31
|
-
"@1delta/providers": "0.0.62"
|
|
29
|
+
"@1delta/calldata-sdk": "0.0.157",
|
|
30
|
+
"@1delta/providers": "0.0.62",
|
|
31
|
+
"@1delta/proxy-fetch": "0.0.1"
|
|
32
32
|
},
|
|
33
33
|
"devDependencies": {
|
|
34
34
|
"@types/async-retry": "^1.4.9",
|