@1delta/margin-fetcher 0.0.247 → 0.0.250
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 +531 -71
- package/dist/index.js.map +1 -1
- package/dist/lending/public-data/aave-v3-type/publicCallBuild.d.ts.map +1 -1
- package/dist/lending/public-data/aave-v3-type/publicCallParse.d.ts.map +1 -1
- package/dist/lending/user-data/aave-v4-type/createAaveV4UserState.d.ts.map +1 -1
- package/dist/lending/user-data/gearbox/userCallParse.d.ts.map +1 -1
- package/dist/types/lenderTypes.d.ts +16 -1
- package/dist/types/lenderTypes.d.ts.map +1 -1
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/vaults/fluid/types.d.ts +9 -0
- package/dist/vaults/fluid/types.d.ts.map +1 -1
- package/dist/vaults/gearbox/types.d.ts +9 -0
- package/dist/vaults/gearbox/types.d.ts.map +1 -1
- package/dist/vaults/index.d.ts +2 -0
- package/dist/vaults/index.d.ts.map +1 -1
- package/dist/vaults/morpho/fetchFromApi.d.ts +14 -0
- package/dist/vaults/morpho/fetchFromApi.d.ts.map +1 -0
- package/dist/vaults/morpho/fetchFromSubgraph.d.ts +12 -0
- package/dist/vaults/morpho/fetchFromSubgraph.d.ts.map +1 -0
- package/dist/vaults/morpho/fetchPublic.d.ts +24 -0
- package/dist/vaults/morpho/fetchPublic.d.ts.map +1 -0
- package/dist/vaults/morpho/index.d.ts +5 -0
- package/dist/vaults/morpho/index.d.ts.map +1 -0
- package/dist/vaults/morpho/types.d.ts +82 -0
- package/dist/vaults/morpho/types.d.ts.map +1 -0
- package/dist/vaults/silo/fetchPublic.d.ts +22 -0
- package/dist/vaults/silo/fetchPublic.d.ts.map +1 -0
- package/dist/vaults/silo/index.d.ts +3 -0
- package/dist/vaults/silo/index.d.ts.map +1 -0
- package/dist/vaults/silo/types.d.ts +84 -0
- package/dist/vaults/silo/types.d.ts.map +1 -0
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publicCallBuild.d.ts","sourceRoot":"","sources":["../../../../src/lending/public-data/aave-v3-type/publicCallBuild.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"publicCallBuild.d.ts","sourceRoot":"","sources":["../../../../src/lending/public-data/aave-v3-type/publicCallBuild.ts"],"names":[],"mappings":"AAwCA,0EAA0E;AAC1E,eAAO,MAAM,cAAc,GAAI,OAAO,MAAM,EAAE,QAAQ,MAAM,aAiB3D,CAAA;AAsFD,eAAO,MAAM,iCAAiC,GAC5C,SAAS,MAAM,EACf,QAAQ,MAAM,2CAwEf,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publicCallParse.d.ts","sourceRoot":"","sources":["../../../../src/lending/public-data/aave-v3-type/publicCallParse.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,2BAA2B,EAK5B,MAAM,qCAAqC,CAAA;AAE5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAejD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAKjD,eAAO,MAAM,8BAA8B,GACzC,QAAQ,MAAM,EACd,SAAS,MAAM,EACf,QAAQ;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,EACnC,kBAAkB,gBAAgB,EAClC,YAAW,gBAAqB,KAC/B,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,2BAA2B,GAAG,SAAS,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"publicCallParse.d.ts","sourceRoot":"","sources":["../../../../src/lending/public-data/aave-v3-type/publicCallParse.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,2BAA2B,EAK5B,MAAM,qCAAqC,CAAA;AAE5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAejD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAKjD,eAAO,MAAM,8BAA8B,GACzC,QAAQ,MAAM,EACd,SAAS,MAAM,EACf,QAAQ;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,EACnC,kBAAkB,gBAAgB,EAClC,YAAW,gBAAqB,KAC/B,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,2BAA2B,GAAG,SAAS,EAAE,MAAM,CA2PnE,CAAA;AAyHD,wBAAgB,aAAa,CAC3B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,gBAAgB,EAAE,GAAG,EACrB,MAAM,EAAE,GAAG,EACX,SAAS,EAAE,GAAG,GACb,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,GAAG,SAAS,EAAE,MAAM,CAAC,CA6J5C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createAaveV4UserState.d.ts","sourceRoot":"","sources":["../../../../src/lending/user-data/aave-v4-type/createAaveV4UserState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAKH,OAAO,EAGL,mBAAmB,EAEnB,QAAQ,EACT,MAAM,gBAAgB,CAAA;AAgCvB,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,GAAG,EACZ,UAAU,EAAE,mBAAmB,EAC/B,gBAAgB,GAAE,MAAU,EAC5B,YAAY,GAAE,MAAU,GACvB,QAAQ,
|
|
1
|
+
{"version":3,"file":"createAaveV4UserState.d.ts","sourceRoot":"","sources":["../../../../src/lending/user-data/aave-v4-type/createAaveV4UserState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAKH,OAAO,EAGL,mBAAmB,EAEnB,QAAQ,EACT,MAAM,gBAAgB,CAAA;AAgCvB,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,GAAG,EACZ,UAAU,EAAE,mBAAmB,EAC/B,gBAAgB,GAAE,MAAU,EAC5B,YAAY,GAAE,MAAU,GACvB,QAAQ,CAsVV"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"userCallParse.d.ts","sourceRoot":"","sources":["../../../../src/lending/user-data/gearbox/userCallParse.ts"],"names":[],"mappings":"AAKA,OAAO,EAEL,2BAA2B,EAC3B,QAAQ,EACT,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"userCallParse.d.ts","sourceRoot":"","sources":["../../../../src/lending/user-data/gearbox/userCallParse.ts"],"names":[],"mappings":"AAKA,OAAO,EAEL,2BAA2B,EAC3B,QAAQ,EACT,MAAM,gBAAgB,CAAA;AAuDvB;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,6BAA6B,GACxC,SAAS,MAAM,EACf,SAAS,MAAM,EACf,SAAS,MAAM,EACf,OAAO,2BAA2B,KACjC,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK;IAAE,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAA;CAAE,GAAG,SAAS,EAAE,MAAM,CAuPtE,CAAA"}
|
|
@@ -11,7 +11,22 @@ export interface LenderUserQuery {
|
|
|
11
11
|
/** custom parameters for spceifying assets */
|
|
12
12
|
assets?: any[];
|
|
13
13
|
}
|
|
14
|
-
/**
|
|
14
|
+
/**
|
|
15
|
+
* Collapse per-market queries whose builder + RPC call are identical
|
|
16
|
+
* across every market key into a single query. Without this, a chain
|
|
17
|
+
* with N Gearbox CMs (or N Morpho markets) would fan out into N
|
|
18
|
+
* identical RPC calls — all returning the same owner-scoped data.
|
|
19
|
+
*
|
|
20
|
+
* - **Morpho** (`MORPHO_BLUE_*` / `LISTA_DAO_*`): one query per family,
|
|
21
|
+
* `params` carries the original per-market lender keys.
|
|
22
|
+
* - **Gearbox V3** (`GEARBOX_V3_*`): one `Lender.GEARBOX_V3` query per
|
|
23
|
+
* chain; `AccountCompressor.getCreditAccounts` already scopes by
|
|
24
|
+
* `configurators` + `owner`, so we only need to run the call once.
|
|
25
|
+
* `params` carries the requested per-CM lender keys in case the
|
|
26
|
+
* parser wants to emit empty buckets for CMs the user has no CAs
|
|
27
|
+
* in (currently it only emits populated ones — same outcome, but
|
|
28
|
+
* without the 24-duplicate-RPC-call penalty).
|
|
29
|
+
*/
|
|
15
30
|
export declare function organizeUserQueries(queries: LenderUserQuery[]): LenderUserQuery[];
|
|
16
31
|
export interface UserLendingPosition {
|
|
17
32
|
deposits: string;
|
|
@@ -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
|
|
1
|
+
{"version":3,"file":"lenderTypes.d.ts","sourceRoot":"","sources":["../../src/types/lenderTypes.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAI9C,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,MAAM,EACN,YAAY,EACZ,OAAO,EACP,YAAY,EACZ,YAAY,EACZ,MAAM,EACN,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,cAAc,EACd,WAAW,EACX,aAAa,EACb,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,OAAO,EACP,WAAW,GACZ,MAAM,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAI9C,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,MAAM,EACN,YAAY,EACZ,OAAO,EACP,YAAY,EACZ,YAAY,EACZ,MAAM,EACN,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,cAAc,EACd,WAAW,EACX,aAAa,EACb,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,OAAO,EACP,WAAW,GACZ,MAAM,yBAAyB,CAAA;AA6ChC,eAAO,MAAM,uBAAuB,EAAE,MAAM,EAgB3C,CAAA;AAED,eAAO,MAAM,kBAAkB,GAAI,GAAG,MAAM,aAkF3C,CAAA;AAED,sCAAsC;AACtC,eAAO,MAAM,uBAAuB,GAClC,YAAY,MAAM,EAAE,EACpB,eAAe,MAAM,EAAE,KACtB,MAAM,EAmBR,CAAA;AAED,mCAAmC;AACnC,eAAO,MAAM,gBAAgB;;CAS5B,CAAA;AAED,eAAO,MAAM,eAAe,GAC1B,SAAS,MAAM,GAAG,MAAM,GAAG,SAAS,EACpC,kBAAiB,MAAuB,KACvC,MAAM,EAOR,CAAA"}
|
|
@@ -48,6 +48,15 @@ export interface FluidFToken {
|
|
|
48
48
|
totalAssetsFormatted: number;
|
|
49
49
|
/** Human-formatted total assets in USD (`totalAssetsFormatted * priceUsd`). */
|
|
50
50
|
totalAssetsUsd: number;
|
|
51
|
+
/** Currently withdrawable underlying (raw integer as string), sourced
|
|
52
|
+
* from the Liquidity Layer's `withdrawable` field — the fToken's own
|
|
53
|
+
* supply bounded by the shared-liquidity withdrawal limit. Caps
|
|
54
|
+
* immediate exits. */
|
|
55
|
+
liquidity: string;
|
|
56
|
+
/** Human-formatted immediate withdrawable liquidity. */
|
|
57
|
+
liquidityFormatted: number;
|
|
58
|
+
/** Human-formatted immediate withdrawable liquidity in USD. */
|
|
59
|
+
liquidityUsd: number;
|
|
51
60
|
}
|
|
52
61
|
/** Full parsed payload: per-underlying map for easy UI lookup. */
|
|
53
62
|
export type FluidFTokens = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/vaults/fluid/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAErD;;;;;;;GAOG;AACH,MAAM,WAAW,WAAW;IAC1B,yEAAyE;IACzE,OAAO,EAAE,MAAM,CAAA;IACf;;8DAE0D;IAC1D,UAAU,EAAE,MAAM,CAAA;IAClB,gDAAgD;IAChD,MAAM,EAAE,MAAM,CAAA;IACd,2CAA2C;IAC3C,IAAI,EAAE,MAAM,CAAA;IACZ,0EAA0E;IAC1E,QAAQ,EAAE,MAAM,CAAA;IAEhB,mFAAmF;IACnF,WAAW,EAAE,MAAM,CAAA;IACnB,kDAAkD;IAClD,WAAW,EAAE,MAAM,CAAA;IACnB,0EAA0E;IAC1E,eAAe,EAAE,MAAM,CAAA;IACvB,yEAAyE;IACzE,eAAe,EAAE,MAAM,CAAA;IAEvB,2FAA2F;IAC3F,UAAU,EAAE,MAAM,CAAA;IAClB,4DAA4D;IAC5D,WAAW,EAAE,MAAM,CAAA;IACnB,2EAA2E;IAC3E,WAAW,EAAE,MAAM,CAAA;IAEnB;;wDAEoD;IACpD,kBAAkB,EAAE,OAAO,CAAA;IAC3B,+DAA+D;IAC/D,eAAe,EAAE,OAAO,CAAA;IAExB,oEAAoE;IACpE,KAAK,CAAC,EAAE,eAAe,CAAA;IACvB,iEAAiE;IACjE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,kEAAkE;IAClE,oBAAoB,EAAE,MAAM,CAAA;IAC5B,+EAA+E;IAC/E,cAAc,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/vaults/fluid/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAErD;;;;;;;GAOG;AACH,MAAM,WAAW,WAAW;IAC1B,yEAAyE;IACzE,OAAO,EAAE,MAAM,CAAA;IACf;;8DAE0D;IAC1D,UAAU,EAAE,MAAM,CAAA;IAClB,gDAAgD;IAChD,MAAM,EAAE,MAAM,CAAA;IACd,2CAA2C;IAC3C,IAAI,EAAE,MAAM,CAAA;IACZ,0EAA0E;IAC1E,QAAQ,EAAE,MAAM,CAAA;IAEhB,mFAAmF;IACnF,WAAW,EAAE,MAAM,CAAA;IACnB,kDAAkD;IAClD,WAAW,EAAE,MAAM,CAAA;IACnB,0EAA0E;IAC1E,eAAe,EAAE,MAAM,CAAA;IACvB,yEAAyE;IACzE,eAAe,EAAE,MAAM,CAAA;IAEvB,2FAA2F;IAC3F,UAAU,EAAE,MAAM,CAAA;IAClB,4DAA4D;IAC5D,WAAW,EAAE,MAAM,CAAA;IACnB,2EAA2E;IAC3E,WAAW,EAAE,MAAM,CAAA;IAEnB;;wDAEoD;IACpD,kBAAkB,EAAE,OAAO,CAAA;IAC3B,+DAA+D;IAC/D,eAAe,EAAE,OAAO,CAAA;IAExB,oEAAoE;IACpE,KAAK,CAAC,EAAE,eAAe,CAAA;IACvB,iEAAiE;IACjE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,kEAAkE;IAClE,oBAAoB,EAAE,MAAM,CAAA;IAC5B,+EAA+E;IAC/E,cAAc,EAAE,MAAM,CAAA;IAEtB;;;2BAGuB;IACvB,SAAS,EAAE,MAAM,CAAA;IACjB,wDAAwD;IACxD,kBAAkB,EAAE,MAAM,CAAA;IAC1B,+DAA+D;IAC/D,YAAY,EAAE,MAAM,CAAA;CACrB;AAED,kEAAkE;AAClE,MAAM,MAAM,YAAY,GAAG;IACzB,6EAA6E;IAC7E,CAAC,UAAU,EAAE,MAAM,GAAG,WAAW,CAAA;CAClC,CAAA"}
|
|
@@ -52,6 +52,15 @@ export interface GearboxV3Pool {
|
|
|
52
52
|
totalAssetsFormatted: number;
|
|
53
53
|
/** Human-formatted total assets in USD. */
|
|
54
54
|
totalAssetsUsd: number;
|
|
55
|
+
/** Currently withdrawable underlying, raw integer as string. Mirrors
|
|
56
|
+
* `availableLiquidity` (= expectedLiquidity − totalBorrowed); exposed
|
|
57
|
+
* under the cross-vault `liquidity*` names for parity with Morpho /
|
|
58
|
+
* Fluid / Silo. */
|
|
59
|
+
liquidity: string;
|
|
60
|
+
/** Human-formatted immediate withdrawable liquidity. */
|
|
61
|
+
liquidityFormatted: number;
|
|
62
|
+
/** Human-formatted immediate withdrawable liquidity in USD. */
|
|
63
|
+
liquidityUsd: number;
|
|
55
64
|
}
|
|
56
65
|
/** Full parsed payload: per-underlying map for easy UI lookup. */
|
|
57
66
|
export type GearboxV3Pools = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/vaults/gearbox/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAErD;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,aAAa;IAC5B,wDAAwD;IACxD,OAAO,EAAE,MAAM,CAAA;IACf;;8EAE0E;IAC1E,UAAU,EAAE,MAAM,CAAA;IAClB,sDAAsD;IACtD,MAAM,EAAE,MAAM,CAAA;IACd,iDAAiD;IACjD,IAAI,EAAE,MAAM,CAAA;IACZ;oBACgB;IAChB,QAAQ,EAAE,MAAM,CAAA;IAEhB,uEAAuE;IACvE,WAAW,EAAE,MAAM,CAAA;IACnB,yDAAyD;IACzD,WAAW,EAAE,MAAM,CAAA;IACnB,2EAA2E;IAC3E,aAAa,EAAE,MAAM,CAAA;IACrB,+EAA+E;IAC/E,kBAAkB,EAAE,MAAM,CAAA;IAC1B,oEAAoE;IACpE,iBAAiB,EAAE,MAAM,CAAA;IAEzB,2EAA2E;IAC3E,UAAU,EAAE,MAAM,CAAA;IAClB,yDAAyD;IACzD,cAAc,EAAE,MAAM,CAAA;IAEtB;6CACyC;IACzC,UAAU,EAAE,MAAM,CAAA;IAClB,kCAAkC;IAClC,gBAAgB,EAAE,MAAM,CAAA;IAExB,oEAAoE;IACpE,KAAK,CAAC,EAAE,eAAe,CAAA;IACvB,iEAAiE;IACjE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,kEAAkE;IAClE,oBAAoB,EAAE,MAAM,CAAA;IAC5B,2CAA2C;IAC3C,cAAc,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/vaults/gearbox/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAErD;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,aAAa;IAC5B,wDAAwD;IACxD,OAAO,EAAE,MAAM,CAAA;IACf;;8EAE0E;IAC1E,UAAU,EAAE,MAAM,CAAA;IAClB,sDAAsD;IACtD,MAAM,EAAE,MAAM,CAAA;IACd,iDAAiD;IACjD,IAAI,EAAE,MAAM,CAAA;IACZ;oBACgB;IAChB,QAAQ,EAAE,MAAM,CAAA;IAEhB,uEAAuE;IACvE,WAAW,EAAE,MAAM,CAAA;IACnB,yDAAyD;IACzD,WAAW,EAAE,MAAM,CAAA;IACnB,2EAA2E;IAC3E,aAAa,EAAE,MAAM,CAAA;IACrB,+EAA+E;IAC/E,kBAAkB,EAAE,MAAM,CAAA;IAC1B,oEAAoE;IACpE,iBAAiB,EAAE,MAAM,CAAA;IAEzB,2EAA2E;IAC3E,UAAU,EAAE,MAAM,CAAA;IAClB,yDAAyD;IACzD,cAAc,EAAE,MAAM,CAAA;IAEtB;6CACyC;IACzC,UAAU,EAAE,MAAM,CAAA;IAClB,kCAAkC;IAClC,gBAAgB,EAAE,MAAM,CAAA;IAExB,oEAAoE;IACpE,KAAK,CAAC,EAAE,eAAe,CAAA;IACvB,iEAAiE;IACjE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,kEAAkE;IAClE,oBAAoB,EAAE,MAAM,CAAA;IAC5B,2CAA2C;IAC3C,cAAc,EAAE,MAAM,CAAA;IAEtB;;;wBAGoB;IACpB,SAAS,EAAE,MAAM,CAAA;IACjB,wDAAwD;IACxD,kBAAkB,EAAE,MAAM,CAAA;IAC1B,+DAA+D;IAC/D,YAAY,EAAE,MAAM,CAAA;CACrB;AAED,kEAAkE;AAClE,MAAM,MAAM,cAAc,GAAG;IAC3B,6EAA6E;IAC7E,CAAC,UAAU,EAAE,MAAM,GAAG,aAAa,CAAA;CACpC,CAAA"}
|
package/dist/vaults/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/vaults/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA;AACvB,cAAc,WAAW,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/vaults/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA;AACvB,cAAc,WAAW,CAAA;AACzB,cAAc,UAAU,CAAA;AACxB,cAAc,QAAQ,CAAA"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { GenericTokenList } from '../../types';
|
|
2
|
+
import { MorphoVaults } from './types';
|
|
3
|
+
/**
|
|
4
|
+
* Fetches MetaMorpho vaults from the public Morpho API for a single chain.
|
|
5
|
+
*
|
|
6
|
+
* Covers all chains indexed by `blue-api.morpho.org` (Ethereum mainnet,
|
|
7
|
+
* Base, Arbitrum, Polygon, Unichain, etc.). Pages through at most
|
|
8
|
+
* `maxItems` entries — vault counts per chain are well under 200 in
|
|
9
|
+
* practice but we loop defensively for mainnet where count is highest.
|
|
10
|
+
*/
|
|
11
|
+
export declare function fetchMorphoVaultsFromApi(chainId: string, prices?: {
|
|
12
|
+
[asset: string]: number;
|
|
13
|
+
}, tokenList?: GenericTokenList, maxItems?: number): Promise<MorphoVaults>;
|
|
14
|
+
//# sourceMappingURL=fetchFromApi.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetchFromApi.d.ts","sourceRoot":"","sources":["../../../src/vaults/morpho/fetchFromApi.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAE9C,OAAO,EAAe,YAAY,EAAE,MAAM,SAAS,CAAA;AA8LnD;;;;;;;GAOG;AACH,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,MAAM,EACf,MAAM,GAAE;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAO,EACxC,SAAS,GAAE,gBAAqB,EAChC,QAAQ,SAAM,GACb,OAAO,CAAC,YAAY,CAAC,CAkBvB"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { GenericTokenList } from '../../types';
|
|
2
|
+
import { MorphoVaults } from './types';
|
|
3
|
+
/** True when the chain has a Morpho Goldsky subgraph instead of main-API coverage. */
|
|
4
|
+
export declare const hasMorphoVaultSubgraph: (chainId: string) => boolean;
|
|
5
|
+
/**
|
|
6
|
+
* Fetches MetaMorpho vaults from the Goldsky subgraph for chains not
|
|
7
|
+
* indexed by the main Morpho API (SEI, Celo, Lisk, Soneium, TAC, Hemi).
|
|
8
|
+
*/
|
|
9
|
+
export declare function fetchMorphoVaultsFromSubgraph(chainId: string, prices?: {
|
|
10
|
+
[asset: string]: number;
|
|
11
|
+
}, tokenList?: GenericTokenList): Promise<MorphoVaults>;
|
|
12
|
+
//# sourceMappingURL=fetchFromSubgraph.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetchFromSubgraph.d.ts","sourceRoot":"","sources":["../../../src/vaults/morpho/fetchFromSubgraph.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAE9C,OAAO,EAAe,YAAY,EAAE,MAAM,SAAS,CAAA;AAyBnD,sFAAsF;AACtF,eAAO,MAAM,sBAAsB,GAAI,SAAS,MAAM,KAAG,OAClB,CAAA;AAiHvC;;;GAGG;AACH,wBAAsB,6BAA6B,CACjD,OAAO,EAAE,MAAM,EACf,MAAM,GAAE;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAO,EACxC,SAAS,GAAE,gBAAqB,GAC/B,OAAO,CAAC,YAAY,CAAC,CAwBvB"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { GenericTokenList } from '../../types';
|
|
2
|
+
import { MorphoVaults } from './types';
|
|
3
|
+
/**
|
|
4
|
+
* One-shot fetcher for all MetaMorpho vaults on a chain.
|
|
5
|
+
*
|
|
6
|
+
* Routes between two data sources — the public Morpho API for chains it
|
|
7
|
+
* indexes, and Goldsky subgraphs for alt chains (Sei, Celo, Lisk,
|
|
8
|
+
* Soneium, TAC, Hemi). Data is normalized to the same `MorphoVault`
|
|
9
|
+
* shape regardless of source.
|
|
10
|
+
*
|
|
11
|
+
* Unlike `fetchFluidFTokens` / `fetchGearboxV3Pools`, no multicall
|
|
12
|
+
* executor is needed — both sources are HTTP GraphQL.
|
|
13
|
+
*
|
|
14
|
+
* @param chainId target chain
|
|
15
|
+
* @param prices optional price map keyed by oracle key / underlying
|
|
16
|
+
* @param tokenList optional token list for hydrating `asset` metadata
|
|
17
|
+
*
|
|
18
|
+
* @returns `MorphoVaults` — map keyed by lowercased vault address, or
|
|
19
|
+
* an empty object when the chain has no Morpho deployment.
|
|
20
|
+
*/
|
|
21
|
+
export declare const fetchMorphoVaults: (chainId: string, prices?: {
|
|
22
|
+
[asset: string]: number;
|
|
23
|
+
}, tokenList?: GenericTokenList) => Promise<MorphoVaults>;
|
|
24
|
+
//# sourceMappingURL=fetchPublic.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetchPublic.d.ts","sourceRoot":"","sources":["../../../src/vaults/morpho/fetchPublic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAM9C,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAEtC;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,iBAAiB,GAC5B,SAAS,MAAM,EACf,SAAQ;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAO,EACxC,YAAW,gBAAqB,KAC/B,OAAO,CAAC,YAAY,CAKtB,CAAA"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { fetchMorphoVaults } from './fetchPublic';
|
|
2
|
+
export { fetchMorphoVaultsFromApi } from './fetchFromApi';
|
|
3
|
+
export { fetchMorphoVaultsFromSubgraph, hasMorphoVaultSubgraph, } from './fetchFromSubgraph';
|
|
4
|
+
export type { MorphoVault, MorphoVaults } from './types';
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/vaults/morpho/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AACjD,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAA;AACzD,OAAO,EACL,6BAA6B,EAC7B,sBAAsB,GACvB,MAAM,qBAAqB,CAAA;AAC5B,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { GenericCurrency } from '../../types/general';
|
|
2
|
+
/**
|
|
3
|
+
* Parsed MetaMorpho vault entry.
|
|
4
|
+
*
|
|
5
|
+
* MetaMorpho vaults are standalone ERC-4626 yield vaults that allocate
|
|
6
|
+
* their deposits across one or more Morpho Blue markets (per-vault
|
|
7
|
+
* strategy configured by a curator). They are NOT a lending market — no
|
|
8
|
+
* collateral, no borrow, no liquidation — just a deposit → earn shape,
|
|
9
|
+
* modeled separately from the per-market borrow side in
|
|
10
|
+
* `src/lending/public-data/morpho/`.
|
|
11
|
+
*
|
|
12
|
+
* Multiple vaults typically exist per underlying (different curators /
|
|
13
|
+
* risk profiles), so the top-level map is keyed by vault address rather
|
|
14
|
+
* than underlying — differs from Fluid/Gearbox where one vault per
|
|
15
|
+
* underlying is the norm.
|
|
16
|
+
*/
|
|
17
|
+
export interface MorphoVault {
|
|
18
|
+
/** MetaMorpho vault (share token) contract address, lowercased. */
|
|
19
|
+
address: string;
|
|
20
|
+
/** Lowercased underlying ERC20 address. */
|
|
21
|
+
underlying: string;
|
|
22
|
+
/** Vault share-token symbol, e.g. `bbUSDC`, `steakUSDC`. */
|
|
23
|
+
symbol: string;
|
|
24
|
+
/** Vault share-token name, e.g. `Morpho USDC Steakhouse`. */
|
|
25
|
+
name: string;
|
|
26
|
+
/** Share and underlying decimals (ERC-4626 keeps them aligned). */
|
|
27
|
+
decimals: number;
|
|
28
|
+
/** Total underlying assets held by the vault, raw integer as string. */
|
|
29
|
+
totalAssets: string;
|
|
30
|
+
/** Total shares minted, raw integer as string. */
|
|
31
|
+
totalSupply: string;
|
|
32
|
+
/** Supply APR in percent, net of vault fee (e.g. `4.12` = 4.12 %). */
|
|
33
|
+
supplyRate: number;
|
|
34
|
+
/** Extra rewards APR in percent, on top of `supplyRate`. */
|
|
35
|
+
rewardsRate: number;
|
|
36
|
+
/** Sum of `supplyRate + rewardsRate` — what a depositor actually earns. */
|
|
37
|
+
depositRate: number;
|
|
38
|
+
/** Performance fee in percent (e.g. `5.0` = 5 %). */
|
|
39
|
+
fee: number;
|
|
40
|
+
/** Timelock for vault config changes, in seconds. */
|
|
41
|
+
timelock: number;
|
|
42
|
+
/** Whether the vault is listed by the Morpho frontend. Goldsky-sourced
|
|
43
|
+
* chains default to `true` (listing is Morpho-API-only). */
|
|
44
|
+
whitelisted: boolean;
|
|
45
|
+
/** Owner address, lowercased — may be absent if not set. */
|
|
46
|
+
owner?: string;
|
|
47
|
+
/** Curator address, lowercased — may be absent if not set. */
|
|
48
|
+
curator?: string;
|
|
49
|
+
/** Guardian address, lowercased — may be absent if not set. */
|
|
50
|
+
guardian?: string;
|
|
51
|
+
/** Hydrated asset metadata from the provided token list, if any. */
|
|
52
|
+
asset?: GenericCurrency;
|
|
53
|
+
/** USD price of one underlying unit, if prices were supplied / returned. */
|
|
54
|
+
priceUsd?: number;
|
|
55
|
+
/** Human-formatted total assets (`totalAssets / 10^decimals`). */
|
|
56
|
+
totalAssetsFormatted: number;
|
|
57
|
+
/** Human-formatted total assets in USD. */
|
|
58
|
+
totalAssetsUsd: number;
|
|
59
|
+
/** Underlying currently withdrawable *right now*, raw integer as string.
|
|
60
|
+
* Caps immediate withdrawals — the rest of `totalAssets` is locked in
|
|
61
|
+
* markets up to their utilisation. A vault's `publicAllocatorConfig`
|
|
62
|
+
* (when present) can expand this at tx time by reallocating between
|
|
63
|
+
* markets before the exit. Not a withdrawal timelock — MetaMorpho has
|
|
64
|
+
* no per-deposit timelock; the `timelock` field is governance-only. */
|
|
65
|
+
liquidity: string;
|
|
66
|
+
/** Human-formatted immediate withdrawable liquidity. */
|
|
67
|
+
liquidityFormatted: number;
|
|
68
|
+
/** Human-formatted immediate withdrawable liquidity in USD. */
|
|
69
|
+
liquidityUsd: number;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Full parsed payload: per-vault-address map.
|
|
73
|
+
*
|
|
74
|
+
* Morpho has many vaults per underlying (one per curator strategy), so
|
|
75
|
+
* keying by vault address keeps every entry distinct. Callers that want a
|
|
76
|
+
* per-underlying view can group by `underlying` downstream.
|
|
77
|
+
*/
|
|
78
|
+
export type MorphoVaults = {
|
|
79
|
+
/** Keyed by lowercased vault address. */
|
|
80
|
+
[vaultAddress: string]: MorphoVault;
|
|
81
|
+
};
|
|
82
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/vaults/morpho/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAErD;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,WAAW;IAC1B,mEAAmE;IACnE,OAAO,EAAE,MAAM,CAAA;IACf,2CAA2C;IAC3C,UAAU,EAAE,MAAM,CAAA;IAClB,4DAA4D;IAC5D,MAAM,EAAE,MAAM,CAAA;IACd,6DAA6D;IAC7D,IAAI,EAAE,MAAM,CAAA;IACZ,mEAAmE;IACnE,QAAQ,EAAE,MAAM,CAAA;IAEhB,wEAAwE;IACxE,WAAW,EAAE,MAAM,CAAA;IACnB,kDAAkD;IAClD,WAAW,EAAE,MAAM,CAAA;IAEnB,sEAAsE;IACtE,UAAU,EAAE,MAAM,CAAA;IAClB,4DAA4D;IAC5D,WAAW,EAAE,MAAM,CAAA;IACnB,2EAA2E;IAC3E,WAAW,EAAE,MAAM,CAAA;IAEnB,qDAAqD;IACrD,GAAG,EAAE,MAAM,CAAA;IACX,qDAAqD;IACrD,QAAQ,EAAE,MAAM,CAAA;IAChB;iEAC6D;IAC7D,WAAW,EAAE,OAAO,CAAA;IAEpB,4DAA4D;IAC5D,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,8DAA8D;IAC9D,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB,oEAAoE;IACpE,KAAK,CAAC,EAAE,eAAe,CAAA;IACvB,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,kEAAkE;IAClE,oBAAoB,EAAE,MAAM,CAAA;IAC5B,2CAA2C;IAC3C,cAAc,EAAE,MAAM,CAAA;IAEtB;;;;;4EAKwE;IACxE,SAAS,EAAE,MAAM,CAAA;IACjB,wDAAwD;IACxD,kBAAkB,EAAE,MAAM,CAAA;IAC1B,+DAA+D;IAC/D,YAAY,EAAE,MAAM,CAAA;CACrB;AAED;;;;;;GAMG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,yCAAyC;IACzC,CAAC,YAAY,EAAE,MAAM,GAAG,WAAW,CAAA;CACpC,CAAA"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { GenericTokenList } from '../../types';
|
|
2
|
+
import { SiloVaults } from './types';
|
|
3
|
+
/**
|
|
4
|
+
* One-shot fetcher for all Silo v2/v3 vaults on a chain via the public
|
|
5
|
+
* `api-v3.silo.finance` GraphQL indexer.
|
|
6
|
+
*
|
|
7
|
+
* The same endpoint serves both protocol versions — pass
|
|
8
|
+
* `protocolVersion` to narrow to just one. Returns `{}` for any chain not
|
|
9
|
+
* in `SILO_API_SUPPORTED_CHAIN_IDS` (Ethereum, Arbitrum, Avalanche, XDC,
|
|
10
|
+
* Injective at time of writing). Silo vaults on Sonic must still be
|
|
11
|
+
* fetched via a dedicated path when the indexer adds coverage.
|
|
12
|
+
*
|
|
13
|
+
* Unlike `fetchFluidFTokens` / `fetchGearboxV3Pools`, no multicall
|
|
14
|
+
* executor is needed — the source is HTTP GraphQL.
|
|
15
|
+
*/
|
|
16
|
+
export declare const fetchSiloVaults: (chainId: string, prices?: {
|
|
17
|
+
[asset: string]: number;
|
|
18
|
+
}, tokenList?: GenericTokenList, options?: {
|
|
19
|
+
protocolVersion?: "v2" | "v3";
|
|
20
|
+
limit?: number;
|
|
21
|
+
}) => Promise<SiloVaults>;
|
|
22
|
+
//# sourceMappingURL=fetchPublic.d.ts.map
|
|
@@ -0,0 +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;AAE9C,OAAO,EAAa,UAAU,EAAE,MAAM,SAAS,CAAA;AA4I/C;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,eAAe,GAC1B,SAAS,MAAM,EACf,SAAQ;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAO,EACxC,YAAW,gBAAqB,EAChC,UAAU;IAAE,eAAe,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,KAC1D,OAAO,CAAC,UAAU,CAoCpB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/vaults/silo/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAC/C,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { GenericCurrency } from '../../types/general';
|
|
2
|
+
/**
|
|
3
|
+
* Parsed Silo vault entry.
|
|
4
|
+
*
|
|
5
|
+
* Silo vaults ("soToken" / curated vaults) are standalone ERC-4626 yield
|
|
6
|
+
* vaults that allocate deposits across one or more Silo v2/v3 lending
|
|
7
|
+
* silos. They are NOT a lending market — no collateral, no borrow, no
|
|
8
|
+
* liquidation — just a deposit → earn shape, modeled separately from the
|
|
9
|
+
* per-silo borrow side in `src/lending/public-data/silo-v{2,3}/`.
|
|
10
|
+
*
|
|
11
|
+
* The same `api-v3.silo.finance` endpoint serves vaults for both protocol
|
|
12
|
+
* versions; `protocolVersion` distinguishes them. Multiple vaults may
|
|
13
|
+
* share an underlying (different curators / strategies), so the map is
|
|
14
|
+
* keyed by vault address like `MorphoVaults`.
|
|
15
|
+
*/
|
|
16
|
+
export interface SiloVault {
|
|
17
|
+
/** Vault (share-token) contract address, lowercased. */
|
|
18
|
+
address: string;
|
|
19
|
+
/** Lowercased underlying ERC20 address. */
|
|
20
|
+
underlying: string;
|
|
21
|
+
/** Vault share-token symbol, e.g. `soUSDC`, `soETH`. */
|
|
22
|
+
symbol: string;
|
|
23
|
+
/** Vault share-token name. */
|
|
24
|
+
name: string;
|
|
25
|
+
/** Share and underlying decimals (ERC-4626 keeps them aligned). */
|
|
26
|
+
decimals: number;
|
|
27
|
+
/** Silo protocol version this vault allocates into. */
|
|
28
|
+
protocolVersion: 'v2' | 'v3' | string;
|
|
29
|
+
/** Parent `lendingProtocol.id` from the Silo indexer, lowercased. */
|
|
30
|
+
protocolId: string;
|
|
31
|
+
/** Total underlying assets held by the vault, raw integer as string.
|
|
32
|
+
* The Silo indexer returns decimal-formatted values; we re-encode to
|
|
33
|
+
* raw wei for parity with `MorphoVault` / `FluidFToken` / `GearboxV3Pool`. */
|
|
34
|
+
totalAssets: string;
|
|
35
|
+
/** Total shares minted, raw integer as string. */
|
|
36
|
+
totalSupply: string;
|
|
37
|
+
/** Supply APR in percent, net of performance fee (mirrors Silo's `userApr`).
|
|
38
|
+
* Includes any rewards rolled into the indexer-reported user yield. */
|
|
39
|
+
supplyRate: number;
|
|
40
|
+
/** Gross pre-fee APR in percent (mirrors Silo's `apr`). Present for
|
|
41
|
+
* vaults with a non-zero performance fee where `supplyRate < grossRate`. */
|
|
42
|
+
grossRate: number;
|
|
43
|
+
/** Extra rewards APR in percent — not separately surfaced by the Silo
|
|
44
|
+
* indexer, so always 0. Kept for cross-vault API parity. */
|
|
45
|
+
rewardsRate: number;
|
|
46
|
+
/** Sum of `supplyRate + rewardsRate` — what a depositor actually earns. */
|
|
47
|
+
depositRate: number;
|
|
48
|
+
/** Performance fee in percent (e.g. `15.0` = 15 %). */
|
|
49
|
+
fee: number;
|
|
50
|
+
/** Timelock for vault config changes, in seconds. */
|
|
51
|
+
timelock: number;
|
|
52
|
+
/** Owner address, lowercased. */
|
|
53
|
+
owner?: string;
|
|
54
|
+
/** Curator address, lowercased — may be absent if not set. */
|
|
55
|
+
curator?: string;
|
|
56
|
+
/** Guardian address, lowercased — may be absent if not set. */
|
|
57
|
+
guardian?: string;
|
|
58
|
+
/** Fee recipient, lowercased — may be absent. */
|
|
59
|
+
feeRecipient?: string;
|
|
60
|
+
/** Hydrated asset metadata from the provided token list, if any. */
|
|
61
|
+
asset?: GenericCurrency;
|
|
62
|
+
/** USD price of one underlying unit, if prices were supplied / returned. */
|
|
63
|
+
priceUsd?: number;
|
|
64
|
+
/** Human-formatted total assets (`totalAssets / 10^decimals`). */
|
|
65
|
+
totalAssetsFormatted: number;
|
|
66
|
+
/** Human-formatted total assets in USD (authoritative value from the
|
|
67
|
+
* indexer when present). */
|
|
68
|
+
totalAssetsUsd: number;
|
|
69
|
+
/** Currently withdrawable underlying, raw integer as string. Silo's
|
|
70
|
+
* indexer doesn't expose an immediate-withdraw figure, so this is a
|
|
71
|
+
* `totalAssets` fallback — optimistic ceiling, not a hard withdraw
|
|
72
|
+
* cap. Kept for cross-vault field parity. */
|
|
73
|
+
liquidity: string;
|
|
74
|
+
/** Human-formatted immediate withdrawable liquidity. */
|
|
75
|
+
liquidityFormatted: number;
|
|
76
|
+
/** Human-formatted immediate withdrawable liquidity in USD. */
|
|
77
|
+
liquidityUsd: number;
|
|
78
|
+
}
|
|
79
|
+
/** Full parsed payload: per-vault-address map. */
|
|
80
|
+
export type SiloVaults = {
|
|
81
|
+
/** Keyed by lowercased vault address. */
|
|
82
|
+
[vaultAddress: string]: SiloVault;
|
|
83
|
+
};
|
|
84
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/vaults/silo/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAErD;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,SAAS;IACxB,wDAAwD;IACxD,OAAO,EAAE,MAAM,CAAA;IACf,2CAA2C;IAC3C,UAAU,EAAE,MAAM,CAAA;IAClB,wDAAwD;IACxD,MAAM,EAAE,MAAM,CAAA;IACd,8BAA8B;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,mEAAmE;IACnE,QAAQ,EAAE,MAAM,CAAA;IAChB,uDAAuD;IACvD,eAAe,EAAE,IAAI,GAAG,IAAI,GAAG,MAAM,CAAA;IACrC,qEAAqE;IACrE,UAAU,EAAE,MAAM,CAAA;IAElB;;mFAE+E;IAC/E,WAAW,EAAE,MAAM,CAAA;IACnB,kDAAkD;IAClD,WAAW,EAAE,MAAM,CAAA;IAEnB;4EACwE;IACxE,UAAU,EAAE,MAAM,CAAA;IAClB;iFAC6E;IAC7E,SAAS,EAAE,MAAM,CAAA;IACjB;iEAC6D;IAC7D,WAAW,EAAE,MAAM,CAAA;IACnB,2EAA2E;IAC3E,WAAW,EAAE,MAAM,CAAA;IAEnB,uDAAuD;IACvD,GAAG,EAAE,MAAM,CAAA;IACX,qDAAqD;IACrD,QAAQ,EAAE,MAAM,CAAA;IAChB,iCAAiC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,8DAA8D;IAC9D,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,iDAAiD;IACjD,YAAY,CAAC,EAAE,MAAM,CAAA;IAErB,oEAAoE;IACpE,KAAK,CAAC,EAAE,eAAe,CAAA;IACvB,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,kEAAkE;IAClE,oBAAoB,EAAE,MAAM,CAAA;IAC5B;iCAC6B;IAC7B,cAAc,EAAE,MAAM,CAAA;IAEtB;;;kDAG8C;IAC9C,SAAS,EAAE,MAAM,CAAA;IACjB,wDAAwD;IACxD,kBAAkB,EAAE,MAAM,CAAA;IAC1B,+DAA+D;IAC/D,YAAY,EAAE,MAAM,CAAA;CACrB;AAED,kDAAkD;AAClD,MAAM,MAAM,UAAU,GAAG;IACvB,yCAAyC;IACzC,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,CAAA;CAClC,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@1delta/margin-fetcher",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.250",
|
|
4
4
|
"description": "",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"files": [
|
|
@@ -24,9 +24,9 @@
|
|
|
24
24
|
"lodash": "^4.17.23",
|
|
25
25
|
"@1delta/abis": "0.0.15",
|
|
26
26
|
"@1delta/dex-registry": "0.0.99",
|
|
27
|
-
"@1delta/calldata-sdk": "0.0.
|
|
27
|
+
"@1delta/calldata-sdk": "0.0.146",
|
|
28
28
|
"@1delta/providers": "0.0.56",
|
|
29
|
-
"@1delta/lender-registry": "0.0.
|
|
29
|
+
"@1delta/lender-registry": "0.0.26"
|
|
30
30
|
},
|
|
31
31
|
"devDependencies": {
|
|
32
32
|
"@types/async-retry": "^1.4.9",
|