@1delta/margin-fetcher 0.0.277 → 0.0.278

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"fetchPublic.d.ts","sourceRoot":"","sources":["../../../src/vaults/lst/fetchPublic.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAUtE,OAAO,KAAK,EAAiB,cAAc,EAAE,MAAM,SAAS,CAAA;AA4C5D;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,mBAAmB,GAC9B,SAAS,MAAM,EACf,gBAAgB,sBAAsB,EACtC,SAAQ;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAO,EACxC,YAAW,gBAAqB,KAC/B,OAAO,CAAC,cAAc,CAiNxB,CAAA"}
1
+ {"version":3,"file":"fetchPublic.d.ts","sourceRoot":"","sources":["../../../src/vaults/lst/fetchPublic.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAUtE,OAAO,KAAK,EAAiB,cAAc,EAAE,MAAM,SAAS,CAAA;AA6C5D;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,mBAAmB,GAC9B,SAAS,MAAM,EACf,gBAAgB,sBAAsB,EACtC,SAAQ;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAO,EACxC,YAAW,gBAAqB,KAC/B,OAAO,CAAC,cAAc,CA8NxB,CAAA"}
@@ -5,7 +5,11 @@ import { type LstReader } from './shared';
5
5
  * non-zero state even when no rate getter is available on-chain.
6
6
  *
7
7
  * Used when an LST publishes its exchange rate exclusively off-chain
8
- * and the rest of the on-chain surface is the bare ERC-20.
8
+ * and the rest of the on-chain surface is the bare ERC-20. The value
9
+ * rate is a flat 1:1 (`exchangeRate = 1e18`), but `totalAssets` is in
10
+ * the *underlying* asset's decimals — so when share ≠ underlying
11
+ * decimals (e.g. 18-dec SolvBTC over 8-dec WBTC) the share-denominated
12
+ * supply is rescaled to the underlying.
9
13
  */
10
14
  export declare const readerOffChain: (entry: LstRegistryEntry) => LstReader;
11
15
  //# sourceMappingURL=offChain.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"offChain.d.ts","sourceRoot":"","sources":["../../../../src/vaults/lst/readers/offChain.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AACnD,OAAO,EAAqB,KAAK,SAAS,EAAE,MAAM,UAAU,CAAA;AAE5D;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,GAAI,OAAO,gBAAgB,KAAG,SAQvD,CAAA"}
1
+ {"version":3,"file":"offChain.d.ts","sourceRoot":"","sources":["../../../../src/vaults/lst/readers/offChain.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AACnD,OAAO,EAAsC,KAAK,SAAS,EAAE,MAAM,UAAU,CAAA;AAE7E;;;;;;;;;;GAUG;AACH,eAAO,MAAM,cAAc,GAAI,OAAO,gBAAgB,KAAG,SAgBxD,CAAA"}
@@ -12,6 +12,12 @@
12
12
  * the registry today has 18 decimals; if that ever changes, swap to
13
13
  * `10n ** BigInt(entry.decimals)` per call site. */
14
14
  export declare const ONE_E18: bigint;
15
+ /** Rescale a raw integer amount from `fromDec` to `toDec` decimals.
16
+ * Used by readers whose `totalAssets` is naturally share-denominated
17
+ * (computed from `totalSupply`) but must be reported in the *underlying*
18
+ * asset's decimals when share ≠ underlying (e.g. 18-dec SolvBTC over
19
+ * 8-dec WBTC). A no-op when the two coincide. */
20
+ export declare const rescaleDecimals: (v: bigint, fromDec: number, toDec: number) => bigint;
15
21
  /** Canonical Multicall3 address (same on ~all EVM chains). `getEthBalance`
16
22
  * lets us read a contract's *native* balance inside the same multicall —
17
23
  * used for instant-exit buffers held as native coin (e.g. EtherFi's
@@ -1 +1 @@
1
- {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../../src/vaults/lst/readers/shared.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;;qDAGqD;AACrD,eAAO,MAAM,OAAO,QAAa,CAAA;AAEjC;;;;;oCAKoC;AACpC,eAAO,MAAM,kBAAkB,+CAA+C,CAAA;AAE9E,kEAAkE;AAClE,eAAO,MAAM,oBAAoB;;;;;;;;;;;EAQvB,CAAA;AAEV;;2BAE2B;AAC3B,MAAM,WAAW,OAAO;IACtB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,SAAS,OAAO,EAAE,CAAA;IAC1B;;;;4DAIwD;IACxD,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,kEAAkE;AAClE,MAAM,WAAW,eAAe;IAC9B,kCAAkC;IAClC,WAAW,EAAE,MAAM,CAAA;IACnB,gCAAgC;IAChC,WAAW,EAAE,MAAM,CAAA;IACnB,yDAAyD;IACzD,YAAY,EAAE,MAAM,CAAA;IACpB;iCAC6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED;;;;GAIG;AACH,MAAM,WAAW,SAAS;IACxB,+CAA+C;IAC/C,KAAK,EAAE,OAAO,EAAE,CAAA;IAChB;;0DAEsD;IAEtD,IAAI,EAAE,GAAG,EAAE,CAAA;IACX;;sEAEkE;IAClE,KAAK,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,eAAe,GAAG,SAAS,CAAA;CACzD;AAED;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,GAAI,GAAG,OAAO,KAAG,MAAM,GAAG,SAgB9C,CAAA"}
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../../src/vaults/lst/readers/shared.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;;qDAGqD;AACrD,eAAO,MAAM,OAAO,QAAa,CAAA;AAEjC;;;;kDAIkD;AAClD,eAAO,MAAM,eAAe,GAC1B,GAAG,MAAM,EACT,SAAS,MAAM,EACf,OAAO,MAAM,KACZ,MAGqC,CAAA;AAExC;;;;;oCAKoC;AACpC,eAAO,MAAM,kBAAkB,+CAA+C,CAAA;AAE9E,kEAAkE;AAClE,eAAO,MAAM,oBAAoB;;;;;;;;;;;EAQvB,CAAA;AAEV;;2BAE2B;AAC3B,MAAM,WAAW,OAAO;IACtB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,SAAS,OAAO,EAAE,CAAA;IAC1B;;;;4DAIwD;IACxD,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,kEAAkE;AAClE,MAAM,WAAW,eAAe;IAC9B,kCAAkC;IAClC,WAAW,EAAE,MAAM,CAAA;IACnB,gCAAgC;IAChC,WAAW,EAAE,MAAM,CAAA;IACnB,yDAAyD;IACzD,YAAY,EAAE,MAAM,CAAA;IACpB;iCAC6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED;;;;GAIG;AACH,MAAM,WAAW,SAAS;IACxB,+CAA+C;IAC/C,KAAK,EAAE,OAAO,EAAE,CAAA;IAChB;;0DAEsD;IAEtD,IAAI,EAAE,GAAG,EAAE,CAAA;IACX;;sEAEkE;IAClE,KAAK,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,eAAe,GAAG,SAAS,CAAA;CACzD;AAED;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,GAAI,GAAG,OAAO,KAAG,MAAM,GAAG,SAgB9C,CAAA"}
@@ -9,11 +9,15 @@ import { type LstReader } from './shared';
9
9
  * 1. `vault.totalSupply()`
10
10
  * 2. `Accountant.getRate()` — assets-per-share, base-asset decimals.
11
11
  *
12
- * The rate is normalised to the 1e18 scale the rest of the pipeline
13
- * expects via `10 ** (18 - entry.decimals)` (rate decimals == the
14
- * token's decimals for these single-base-asset BTC vaults). Requires
12
+ * The rate is normalised to the 1e18 value-ratio scale the rest of the
13
+ * pipeline expects via `10 ** (18 - underlyingDecimals)` (the Accountant
14
+ * denominates the rate in the *underlying* asset's decimals). Requires
15
15
  * `readerExtras.vedaAccountant`; without it the reader degrades to a
16
16
  * bare `totalSupply()` at a 1:1 rate so the entry still surfaces.
17
+ *
18
+ * `totalAssets` is reported in the underlying asset's decimals, so the
19
+ * share-denominated `totalSupply * rate` product is rescaled to the
20
+ * underlying when share ≠ underlying decimals.
17
21
  */
18
22
  export declare const readerVedaAccountant: (entry: LstRegistryEntry) => LstReader;
19
23
  //# sourceMappingURL=veda.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"veda.d.ts","sourceRoot":"","sources":["../../../../src/vaults/lst/readers/veda.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AACnD,OAAO,EAAqB,KAAK,SAAS,EAAE,MAAM,UAAU,CAAA;AAE5D;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,oBAAoB,GAAI,OAAO,gBAAgB,KAAG,SAgC9D,CAAA"}
1
+ {"version":3,"file":"veda.d.ts","sourceRoot":"","sources":["../../../../src/vaults/lst/readers/veda.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AACnD,OAAO,EAAsC,KAAK,SAAS,EAAE,MAAM,UAAU,CAAA;AAE7E;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,oBAAoB,GAAI,OAAO,gBAAgB,KAAG,SA0C9D,CAAA"}
@@ -35,6 +35,13 @@ export interface LstRegistryEntry {
35
35
  brand: string;
36
36
  /** Share decimals. */
37
37
  decimals: number;
38
+ /** Underlying asset decimals. Defaults to `decimals` when omitted — set
39
+ * it only when the share token and its underlying differ, e.g. 18-dec
40
+ * SolvBTC over 8-dec WBTC, or 8-dec bridged pumpBTC over 18-dec
41
+ * SolvBTC.CORE. Load-bearing for share→asset conversion
42
+ * (`convertToAssets`/`convertToShares`, `totalAssets` scaling, and the
43
+ * cross-provider `sharePrice`). Mirrors `SavingsRegistryEntry.underlyingDecimals`. */
44
+ underlyingDecimals?: number;
38
45
  /** Reader strategy — drives the multicall payload. */
39
46
  reader: LstReaderKind;
40
47
  /** Whether this is a real ERC-4626 (informational; the reader still
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/vaults/lst/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/vaults/lst/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AA4CtD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAEhD;0EAC0E;AAC1E,MAAM,MAAM,aAAa,GACrB,SAAS,GACT,sBAAsB,GACtB,YAAY,GACZ,YAAY,GACZ,cAAc,GACd,YAAY,GACZ,WAAW,GACX,cAAc,GACd,gBAAgB,GAChB,YAAY,GACZ,cAAc,GACd,YAAY,GACZ,UAAU,GACV,YAAY,GACZ,cAAc,GACd,iBAAiB,GACjB,iBAAiB,GACjB,eAAe,GACf,YAAY,GACZ,cAAc,GACd,eAAe,GACf,gBAAgB,GAChB,WAAW,GACX,cAAc,GACd,iBAAiB,GACjB,aAAa,GACb,gBAAgB,GAChB,UAAU,CAAA;AAEd;;;;;;;;;GASG;AACH,MAAM,WAAW,gBAAgB;IAC/B,gDAAgD;IAChD,OAAO,EAAE,MAAM,CAAA;IACf;;;qDAGiD;IACjD,UAAU,EAAE,MAAM,CAAA;IAClB;;;;;gFAK4E;IAC5E,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,0BAA0B;IAC1B,MAAM,EAAE,MAAM,CAAA;IACd;2BACuB;IACvB,KAAK,EAAE,MAAM,CAAA;IACb,sBAAsB;IACtB,QAAQ,EAAE,MAAM,CAAA;IAChB;;;;;2FAKuF;IACvF,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,sDAAsD;IACtD,MAAM,EAAE,aAAa,CAAA;IACrB;mCAC+B;IAC/B,SAAS,EAAE,OAAO,CAAA;IAClB,uCAAuC;IACvC,UAAU,EAAE,OAAO,CAAA;IACnB,+DAA+D;IAC/D,UAAU,EAAE,OAAO,CAAA;IACnB,iDAAiD;IACjD,kBAAkB,EAAE,OAAO,CAAA;IAC3B,uEAAuE;IACvE,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,wBAAwB;IACxB,cAAc,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAA;IAClC,4BAA4B;IAC5B,cAAc,EAAE,iBAAiB,CAAA;IACjC,kEAAkE;IAClE,yBAAyB,CAAC,EAAE,MAAM,CAAA;IAClC;;mBAEe;IACf,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B;;iCAE6B;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB;oCACgC;IAChC,YAAY,CAAC,EAAE;QACb,sFAAsF;QACtF,cAAc,CAAC,EAAE,MAAM,CAAA;QACvB,gFAAgF;QAChF,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB;2DACmD;QACnD,iBAAiB,CAAC,EAAE,MAAM,CAAA;QAC1B;2DACmD;QACnD,uBAAuB,CAAC,EAAE,MAAM,CAAA;QAChC,gFAAgF;QAChF,aAAa,CAAC,EAAE,MAAM,CAAA;QACtB;mEAC2D;QAC3D,iBAAiB,CAAC,EAAE,MAAM,CAAA;QAC1B,+DAA+D;QAC/D,oBAAoB,CAAC,EAAE,MAAM,CAAA;QAC7B;;sCAE8B;QAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAA;QAC1B;;gEAEwD;QACxD,cAAc,CAAC,EAAE,MAAM,CAAA;QACvB;;uCAE+B;QAC/B,oBAAoB,CAAC,EAAE,MAAM,CAAA;QAC7B;;+DAEuD;QACvD,aAAa,CAAC,EAAE,MAAM,CAAA;QACtB;;;iEAGyD;QACzD,wBAAwB,CAAC,EAAE,MAAM,CAAA;QACjC;0CACkC;QAClC,uBAAuB,CAAC,EAAE,MAAM,CAAA;QAChC;;;+EAGuE;QACvE,iBAAiB,CAAC,EAAE,MAAM,CAAA;QAC1B;;;4DAGoD;QACpD,cAAc,CAAC,EAAE,MAAM,CAAA;QACvB;;;8DAGsD;QACtD,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB;;;iEAGyD;QACzD,iBAAiB,CAAC,EAAE,MAAM,CAAA;KAC3B,CAAA;CACF;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,YAAY,EAAE;IAAE,CAAC,OAAO,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAAA;CAgsCjE,CAAA;AAED,0EAA0E;AAC1E,eAAO,MAAM,cAAc,GAAI,SAAS,MAAM,KAAG,gBAAgB,EACpC,CAAA"}
@@ -44,21 +44,31 @@ export interface LstShareToken extends VaultClassificationFields {
44
44
  /** Alias for `brand` to match `curatorName` on the other providers'
45
45
  * vault types — keeps cross-provider UI code uniform. */
46
46
  curatorName: string;
47
- /** Share decimals (always 18 in practice for the LSTs covered here). */
47
+ /** Share decimals. */
48
48
  decimals: number;
49
- /** Total underlying held, raw integer (wei-like) as string.
50
- * Computed as `totalSupply * exchangeRate / 10**decimals` when the
51
- * share token does not expose a direct `totalAssets()`. */
49
+ /** Underlying asset decimals. Equals `decimals` for the vast majority
50
+ * of LSTs (share and underlying share a decimal count); diverges for
51
+ * e.g. 18-dec SolvBTC over 8-dec WBTC, or 8-dec bridged pumpBTC over
52
+ * 18-dec SolvBTC.CORE. Load-bearing for share→asset formatting and the
53
+ * cross-provider `sharePrice` (parity with Lagoon/Yearn). */
54
+ assetDecimals: number;
55
+ /** Total underlying held, raw integer in **underlying** units as string.
56
+ * Computed as `totalSupply * exchangeRate / 1e18` (rescaled to the
57
+ * underlying decimals) when the share token does not expose a direct
58
+ * `totalAssets()`. */
52
59
  totalAssets: string;
53
- /** Total shares minted, raw integer as string. */
60
+ /** Total shares minted, raw integer in **share** units as string. */
54
61
  totalSupply: string;
55
- /** Raw `convertToShares(10**decimals)` — 1 underlying → X shares. */
62
+ /** Raw `convertToShares(10**assetDecimals)` — 1 underlying → X shares,
63
+ * in raw share units. */
56
64
  convertToShares: string;
57
- /** Raw `convertToAssets(10**decimals)` — 1 share → X underlying. */
65
+ /** Raw `convertToAssets(10**decimals)` — 1 share → X underlying, in raw
66
+ * underlying units. */
58
67
  convertToAssets: string;
59
- /** 1e18-scaled exchange rate: 1 share X underlying. The canonical
60
- * pricing primitive — `convertToAssets` is derived from this when
61
- * `decimals != 18`. */
68
+ /** 1e18-scaled exchange rate: value of 1 whole share in whole underlying
69
+ * (decimal-agnostic). The canonical pricing primitive —
70
+ * `convertToAssets`/`convertToShares` are derived from it together with
71
+ * the share/underlying decimals. */
62
72
  exchangeRate: string;
63
73
  /** Supply APR in percent (e.g. `3.12` = 3.12 %). Sourced from the
64
74
  * matching intrinsic-yield fetcher. */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/vaults/lst/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAA;AAElE;;;;;;GAMG;AACH,MAAM,MAAM,iBAAiB,GACzB,QAAQ,GACR,gBAAgB,GAChB,mBAAmB,GACnB,eAAe,GACf,WAAW,GACX,UAAU,CAAA;AAEd;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,aAAc,SAAQ,yBAAyB;IAC9D,gDAAgD;IAChD,OAAO,EAAE,MAAM,CAAA;IACf;;gCAE4B;IAC5B,UAAU,EAAE,MAAM,CAAA;IAClB,0DAA0D;IAC1D,MAAM,EAAE,MAAM,CAAA;IACd;4CACwC;IACxC,IAAI,EAAE,MAAM,CAAA;IACZ;8CAC0C;IAC1C,WAAW,EAAE,MAAM,CAAA;IACnB,wDAAwD;IACxD,KAAK,EAAE,MAAM,CAAA;IACb;8DAC0D;IAC1D,WAAW,EAAE,MAAM,CAAA;IACnB,wEAAwE;IACxE,QAAQ,EAAE,MAAM,CAAA;IAEhB;;gEAE4D;IAC5D,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;;4BAEwB;IACxB,YAAY,EAAE,MAAM,CAAA;IAEpB;4CACwC;IACxC,UAAU,EAAE,MAAM,CAAA;IAClB;oEACgE;IAChE,WAAW,EAAE,MAAM,CAAA;IACnB;iBACa;IACb,WAAW,EAAE,MAAM,CAAA;IAEnB;;mCAE+B;IAC/B,SAAS,EAAE,OAAO,CAAA;IAClB;kEAC8D;IAC9D,UAAU,EAAE,OAAO,CAAA;IACnB;2DACuD;IACvD,UAAU,EAAE,OAAO,CAAA;IACnB,6DAA6D;IAC7D,kBAAkB,EAAE,OAAO,CAAA;IAE3B;kCAC8B;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB;;8EAE0E;IAC1E,cAAc,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAA;IAClC;;;;;;8DAM0D;IAC1D,cAAc,EAAE,gBAAgB,EAAE,CAAA;IAElC,sDAAsD;IACtD,cAAc,EAAE,iBAAiB,CAAA;IACjC;;2EAEuE;IACvE,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;;;;;;;;kFAQ8E;IAC9E,SAAS,EAAE,MAAM,CAAA;IACjB,2EAA2E;IAC3E,kBAAkB,EAAE,MAAM,CAAA;IAC1B,qDAAqD;IACrD,YAAY,EAAE,MAAM,CAAA;CACrB;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,CAAC,YAAY,EAAE,MAAM,GAAG,aAAa,CAAA;CACtC,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/vaults/lst/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAA;AAElE;;;;;;GAMG;AACH,MAAM,MAAM,iBAAiB,GACzB,QAAQ,GACR,gBAAgB,GAChB,mBAAmB,GACnB,eAAe,GACf,WAAW,GACX,UAAU,CAAA;AAEd;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,aAAc,SAAQ,yBAAyB;IAC9D,gDAAgD;IAChD,OAAO,EAAE,MAAM,CAAA;IACf;;gCAE4B;IAC5B,UAAU,EAAE,MAAM,CAAA;IAClB,0DAA0D;IAC1D,MAAM,EAAE,MAAM,CAAA;IACd;4CACwC;IACxC,IAAI,EAAE,MAAM,CAAA;IACZ;8CAC0C;IAC1C,WAAW,EAAE,MAAM,CAAA;IACnB,wDAAwD;IACxD,KAAK,EAAE,MAAM,CAAA;IACb;8DAC0D;IAC1D,WAAW,EAAE,MAAM,CAAA;IACnB,sBAAsB;IACtB,QAAQ,EAAE,MAAM,CAAA;IAChB;;;;kEAI8D;IAC9D,aAAa,EAAE,MAAM,CAAA;IAErB;;;2BAGuB;IACvB,WAAW,EAAE,MAAM,CAAA;IACnB,qEAAqE;IACrE,WAAW,EAAE,MAAM,CAAA;IACnB;8BAC0B;IAC1B,eAAe,EAAE,MAAM,CAAA;IACvB;4BACwB;IACxB,eAAe,EAAE,MAAM,CAAA;IACvB;;;yCAGqC;IACrC,YAAY,EAAE,MAAM,CAAA;IAEpB;4CACwC;IACxC,UAAU,EAAE,MAAM,CAAA;IAClB;oEACgE;IAChE,WAAW,EAAE,MAAM,CAAA;IACnB;iBACa;IACb,WAAW,EAAE,MAAM,CAAA;IAEnB;;mCAE+B;IAC/B,SAAS,EAAE,OAAO,CAAA;IAClB;kEAC8D;IAC9D,UAAU,EAAE,OAAO,CAAA;IACnB;2DACuD;IACvD,UAAU,EAAE,OAAO,CAAA;IACnB,6DAA6D;IAC7D,kBAAkB,EAAE,OAAO,CAAA;IAE3B;kCAC8B;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB;;8EAE0E;IAC1E,cAAc,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAA;IAClC;;;;;;8DAM0D;IAC1D,cAAc,EAAE,gBAAgB,EAAE,CAAA;IAElC,sDAAsD;IACtD,cAAc,EAAE,iBAAiB,CAAA;IACjC;;2EAEuE;IACvE,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;;;;;;;;kFAQ8E;IAC9E,SAAS,EAAE,MAAM,CAAA;IACjB,2EAA2E;IAC3E,kBAAkB,EAAE,MAAM,CAAA;IAC1B,qDAAqD;IACrD,YAAY,EAAE,MAAM,CAAA;CACrB;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,CAAC,YAAY,EAAE,MAAM,GAAG,aAAa,CAAA;CACtC,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,CAsHvB,CAAA"}
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,CAuHvB,CAAA"}
@@ -45,6 +45,11 @@ export interface SavingsVault extends VaultClassificationFields {
45
45
  curatorName: string;
46
46
  /** Share decimals (most are 18; Maple syrup* are 6). */
47
47
  decimals: number;
48
+ /** Underlying asset decimals. Equals `decimals` for nearly every entry;
49
+ * diverges for e.g. yUSD (18-dec shares over 6-dec USDC). Load-bearing
50
+ * for share→asset formatting and the cross-provider `sharePrice`
51
+ * (parity with the LST/Lagoon/Yearn providers). */
52
+ assetDecimals: number;
48
53
  /** Total underlying held, raw integer (wei-like) as string. From
49
54
  * `totalAssets()`. */
50
55
  totalAssets: string;
@@ -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;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
+ {"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;IAChB;;;wDAGoD;IACpD,aAAa,EAAE,MAAM,CAAA;IAErB;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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@1delta/margin-fetcher",
3
- "version": "0.0.277",
3
+ "version": "0.0.278",
4
4
  "description": "",
5
5
  "type": "module",
6
6
  "files": [
@@ -22,12 +22,12 @@
22
22
  "dependencies": {
23
23
  "async-retry": "^1.3.3",
24
24
  "lodash": "^4.17.23",
25
- "@1delta/lender-registry": "0.0.32",
26
25
  "@1delta/abis": "0.0.19",
27
26
  "@1delta/calldata-sdk": "0.0.151",
28
27
  "@1delta/dex-registry": "0.0.101",
29
28
  "@1delta/providers": "0.0.59",
30
- "@1delta/proxy-fetch": "0.0.1"
29
+ "@1delta/proxy-fetch": "0.0.1",
30
+ "@1delta/lender-registry": "0.0.32"
31
31
  },
32
32
  "devDependencies": {
33
33
  "@types/async-retry": "^1.4.9",