@1delta/margin-fetcher 0.0.226 → 0.0.228

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.
Files changed (53) hide show
  1. package/dist/abis/silo-v2/Silo.d.ts +101 -0
  2. package/dist/abis/silo-v2/Silo.d.ts.map +1 -0
  3. package/dist/abis/silo-v2/SiloConfig.d.ts +78 -0
  4. package/dist/abis/silo-v2/SiloConfig.d.ts.map +1 -0
  5. package/dist/abis/silo-v2/SiloLens.d.ts +50 -0
  6. package/dist/abis/silo-v2/SiloLens.d.ts.map +1 -0
  7. package/dist/abis/silo-v2/index.d.ts +4 -0
  8. package/dist/abis/silo-v2/index.d.ts.map +1 -0
  9. package/dist/index.js +1848 -94
  10. package/dist/index.js.map +1 -1
  11. package/dist/lending/public-data/fetchLender.d.ts.map +1 -1
  12. package/dist/lending/public-data/fetchLenderAll.d.ts.map +1 -1
  13. package/dist/lending/public-data/fetchLenderExt.d.ts.map +1 -1
  14. package/dist/lending/public-data/lista/getMarketsFromChain.d.ts.map +1 -1
  15. package/dist/lending/public-data/silo-v2/convertPublic.d.ts +28 -0
  16. package/dist/lending/public-data/silo-v2/convertPublic.d.ts.map +1 -0
  17. package/dist/lending/public-data/silo-v2/fetchPublic.d.ts +70 -0
  18. package/dist/lending/public-data/silo-v2/fetchPublic.d.ts.map +1 -0
  19. package/dist/lending/public-data/silo-v2/publicCallBuild.d.ts +23 -0
  20. package/dist/lending/public-data/silo-v2/publicCallBuild.d.ts.map +1 -0
  21. package/dist/lending/public-data/silo-v2/publicCallParse.d.ts +25 -0
  22. package/dist/lending/public-data/silo-v2/publicCallParse.d.ts.map +1 -0
  23. package/dist/lending/public-data/silo-v3/convertPublic.d.ts +18 -0
  24. package/dist/lending/public-data/silo-v3/convertPublic.d.ts.map +1 -0
  25. package/dist/lending/public-data/silo-v3/publicCallBuild.d.ts +19 -0
  26. package/dist/lending/public-data/silo-v3/publicCallBuild.d.ts.map +1 -0
  27. package/dist/lending/public-data/silo-v3/publicCallParse.d.ts +16 -0
  28. package/dist/lending/public-data/silo-v3/publicCallParse.d.ts.map +1 -0
  29. package/dist/lending/user-data/abis.d.ts.map +1 -1
  30. package/dist/lending/user-data/fetch-balances/parse.d.ts.map +1 -1
  31. package/dist/lending/user-data/fetch-balances/prepare.d.ts.map +1 -1
  32. package/dist/lending/user-data/silo-v2/userCallBuild.d.ts +21 -0
  33. package/dist/lending/user-data/silo-v2/userCallBuild.d.ts.map +1 -0
  34. package/dist/lending/user-data/silo-v2/userCallParse.d.ts +23 -0
  35. package/dist/lending/user-data/silo-v2/userCallParse.d.ts.map +1 -0
  36. package/dist/lending/user-data/utils/types.d.ts +20 -0
  37. package/dist/lending/user-data/utils/types.d.ts.map +1 -1
  38. package/dist/prices/oracle-prices/fetchOraclePrices.d.ts.map +1 -1
  39. package/dist/prices/oracle-prices/fetchers/index.d.ts +2 -0
  40. package/dist/prices/oracle-prices/fetchers/index.d.ts.map +1 -1
  41. package/dist/prices/oracle-prices/fetchers/siloV2.d.ts +108 -0
  42. package/dist/prices/oracle-prices/fetchers/siloV2.d.ts.map +1 -0
  43. package/dist/prices/oracle-prices/fetchers/siloV2Graphql.d.ts +36 -0
  44. package/dist/prices/oracle-prices/fetchers/siloV2Graphql.d.ts.map +1 -0
  45. package/dist/prices/oracle-prices/fetchers/siloV3.d.ts +52 -0
  46. package/dist/prices/oracle-prices/fetchers/siloV3.d.ts.map +1 -0
  47. package/dist/prices/oracle-prices/fetchers/siloV3Graphql.d.ts +19 -0
  48. package/dist/prices/oracle-prices/fetchers/siloV3Graphql.d.ts.map +1 -0
  49. package/dist/prices/oracle-prices/index.d.ts +2 -0
  50. package/dist/prices/oracle-prices/index.d.ts.map +1 -1
  51. package/dist/utils/index.d.ts +1 -1
  52. package/dist/utils/index.d.ts.map +1 -1
  53. package/package.json +6 -6
@@ -1 +1 @@
1
- {"version":3,"file":"fetchLender.d.ts","sourceRoot":"","sources":["../../../src/lending/public-data/fetchLender.ts"],"names":[],"mappings":"AA8BA,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAkBtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAsBtD,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,MAAM,EAAE;IAAE,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,EAC/B,gBAAgB,EAAE,gBAAgB,EAClC,SAAS,GAAE,gBAAqB,EAChC,eAAe,CAAC,EAAE,MAAM,EAAE,8CAmB3B;AAgID,eAAO,MAAM,mBAAmB,GAC9B,SAAS,MAAM,EACf,SAAS,MAAM,EAAE,EACjB,QAAQ;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,EACnC,kBAAkB,gBAAgB,EAClC,gBAAgB,sBAAsB,EACtC,YAAW,MAAM,OAAO,CAAC,gBAAgB,CAExC,KACA,OAAO,CAAC;IAAE,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,CA+DnC,CAAA"}
1
+ {"version":3,"file":"fetchLender.d.ts","sourceRoot":"","sources":["../../../src/lending/public-data/fetchLender.ts"],"names":[],"mappings":"AA8BA,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAkBtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAmCtD,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,MAAM,EAAE;IAAE,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,EAC/B,gBAAgB,EAAE,gBAAgB,EAClC,SAAS,GAAE,gBAAqB,EAChC,eAAe,CAAC,EAAE,MAAM,EAAE,8CAmB3B;AAoJD,eAAO,MAAM,mBAAmB,GAC9B,SAAS,MAAM,EACf,SAAS,MAAM,EAAE,EACjB,QAAQ;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,EACnC,kBAAkB,gBAAgB,EAClC,gBAAgB,sBAAsB,EACtC,YAAW,MAAM,OAAO,CAAC,gBAAgB,CAExC,KACA,OAAO,CAAC;IAAE,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,CA+DnC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"fetchLenderAll.d.ts","sourceRoot":"","sources":["../../../src/lending/public-data/fetchLenderAll.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAKtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AActD,eAAO,MAAM,sBAAsB,GACjC,SAAS,MAAM,EACf,SAAS,MAAM,EAAE,EACjB,QAAQ;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,EACnC,kBAAkB,gBAAgB,EAClC,gBAAgB,sBAAsB,EACtC,YAAY,MAAM,OAAO,CAAC,gBAAgB,CAAC,EAC3C,sCAAoC,KACnC,OAAO,CAAC;IAAE,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,CA8CnC,CAAA"}
1
+ {"version":3,"file":"fetchLenderAll.d.ts","sourceRoot":"","sources":["../../../src/lending/public-data/fetchLenderAll.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAUtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAmCtD,eAAO,MAAM,sBAAsB,GACjC,SAAS,MAAM,EACf,SAAS,MAAM,EAAE,EACjB,QAAQ;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,EACnC,kBAAkB,gBAAgB,EAClC,gBAAgB,sBAAsB,EACtC,YAAY,MAAM,OAAO,CAAC,gBAAgB,CAAC,EAC3C,sCAAoC,KACnC,OAAO,CAAC;IAAE,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,CAoDnC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"fetchLenderExt.d.ts","sourceRoot":"","sources":["../../../src/lending/public-data/fetchLenderExt.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAI9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AA2BtD,eAAO,MAAM,yBAAyB,GACpC,SAAS,MAAM,EACf,SAAS,MAAM,EAAE,EACjB,QAAQ;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,EACnC,kBAAkB,gBAAgB,EAClC,YAAW,MAAM,OAAO,CAAC,gBAAgB,CAExC,EACD,yBAAuB,KACtB,OAAO,CAAC;IAAE,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,CAiEnC,CAAA"}
1
+ {"version":3,"file":"fetchLenderExt.d.ts","sourceRoot":"","sources":["../../../src/lending/public-data/fetchLenderExt.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAM9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AA2BtD,eAAO,MAAM,yBAAyB,GACpC,SAAS,MAAM,EACf,SAAS,MAAM,EAAE,EACjB,QAAQ;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,EACnC,kBAAkB,gBAAgB,EAClC,YAAW,MAAM,OAAO,CAAC,gBAAgB,CAExC,EACD,yBAAuB,KACtB,OAAO,CAAC;IAAE,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,CA4JnC,CAAA"}
@@ -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;AAUjD,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,CAyN5C"}
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;AAUjD,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,CA+N5C"}
@@ -0,0 +1,28 @@
1
+ import type { AdditionalYields } from '../../../types';
2
+ import type { GenericTokenList } from '../../../types/general';
3
+ import type { SiloApiEntry } from './fetchPublic';
4
+ /**
5
+ * Convert a Silo GraphQL `silos.items` response into the same per-pair
6
+ * shape emitted by the on-chain Silo v2 parser
7
+ * (`getSiloV2ReservesDataConverter`).
8
+ *
9
+ * Per API silo entry we emit exactly one per-pair lender key
10
+ * (`SILO_V2_<configAddress>`) carrying BOTH sides of the pair as reserve
11
+ * entries, keyed by `createMarketUid(chainId, lender, siloAddress)`.
12
+ *
13
+ * The API's dynamic fields (`supply`, `borrowed`, `borrowRate`,
14
+ * `depositRate`, `supplyUsd`, `borrowedUsd`) are decimal strings already
15
+ * denominated in token units — we consume them directly without any wei /
16
+ * 1e18 shifting. `lt` and `maxLtv` stay as 1e18-scaled bigint strings.
17
+ *
18
+ * Static metadata the API does not expose (protected share token, per-side
19
+ * IRM address unless present, hook receiver) is pulled from the data-sdk
20
+ * registry via `getSiloV2MarketEntry`. If the registry has no entry for a
21
+ * given `configAddress` we skip it — the on-chain path owns discovery.
22
+ */
23
+ export declare function convertSiloMarketsToPublicResponse(apiItems: SiloApiEntry[], chainId: string, prices: {
24
+ [asset: string]: number;
25
+ }, additionalYields?: AdditionalYields, tokenList?: GenericTokenList): {
26
+ [lender: string]: any;
27
+ };
28
+ //# sourceMappingURL=convertPublic.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"convertPublic.d.ts","sourceRoot":"","sources":["../../../../src/lending/public-data/silo-v2/convertPublic.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAG9D,OAAO,KAAK,EAAE,YAAY,EAAiB,MAAM,eAAe,CAAA;AAEhE;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,kCAAkC,CAChD,QAAQ,EAAE,YAAY,EAAE,EACxB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,EACnC,gBAAgB,GAAE,gBAIjB,EACD,SAAS,GAAE,gBAAqB,GAC/B;IAAE,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,CA+K3B"}
@@ -0,0 +1,70 @@
1
+ /**
2
+ * Chains for which the Silo GraphQL indexer has data. For any chain not in
3
+ * this set, the caller must fall back to the on-chain path.
4
+ */
5
+ export declare const SILO_API_SUPPORTED_CHAIN_IDS: Set<string>;
6
+ export type SiloApiMarket = {
7
+ index: number;
8
+ inputTokenId: string;
9
+ inputToken?: {
10
+ id: string;
11
+ symbol: string;
12
+ decimals: number;
13
+ } | null;
14
+ lt: string;
15
+ maxLtv: string;
16
+ liquidationTargetLtv?: string | null;
17
+ daoFee?: string | null;
18
+ deployerFee?: string | null;
19
+ liquidationFee?: string | null;
20
+ flashLoanFee?: string | null;
21
+ borrowRate: string;
22
+ depositRate: string;
23
+ supply: string;
24
+ borrowed: string;
25
+ supplyUsd: number | null;
26
+ borrowedUsd: number | null;
27
+ liquidityUsd?: number | null;
28
+ utilization: string;
29
+ solvencyOracleAddress?: string | null;
30
+ maxLtvOracleAddress?: string | null;
31
+ interestRateModelId?: string | null;
32
+ sTokenId?: string | null;
33
+ spTokenId?: string | null;
34
+ dTokenId?: string | null;
35
+ solvencyOracle?: {
36
+ id: string;
37
+ quote: string;
38
+ quoteTimestamp: string;
39
+ baseTokenId: string;
40
+ quoteTokenId: string;
41
+ } | null;
42
+ maxLtvOracle?: {
43
+ id: string;
44
+ quote: string;
45
+ quoteTimestamp: string;
46
+ } | null;
47
+ };
48
+ export type SiloApiEntry = {
49
+ id: string;
50
+ chainId: number;
51
+ configAddress: string;
52
+ name?: string | null;
53
+ protocol?: {
54
+ protocolVersion: string;
55
+ } | null;
56
+ market1: SiloApiMarket;
57
+ market2: SiloApiMarket;
58
+ };
59
+ /**
60
+ * Fetch all Silo v2/v3 silos for a single chain from the GraphQL indexer.
61
+ *
62
+ * Returns the raw `silos.items` list (optionally filtered to a specific
63
+ * protocol version). Throws on HTTP / GraphQL errors so the caller can
64
+ * distinguish "API failed → fall back to RPC" from "API returned nothing".
65
+ */
66
+ export declare function fetchSiloMarkets(chainId: string, options?: {
67
+ protocolVersion?: 'v2' | 'v3';
68
+ limit?: number;
69
+ }): Promise<SiloApiEntry[]>;
70
+ //# sourceMappingURL=fetchPublic.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetchPublic.d.ts","sourceRoot":"","sources":["../../../../src/lending/public-data/silo-v2/fetchPublic.ts"],"names":[],"mappings":"AAkBA;;;GAGG;AACH,eAAO,MAAM,4BAA4B,aAMvC,CAAA;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,EAAE,MAAM,CAAA;IACb,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE;QACX,EAAE,EAAE,MAAM,CAAA;QACV,MAAM,EAAE,MAAM,CAAA;QACd,QAAQ,EAAE,MAAM,CAAA;KACjB,GAAG,IAAI,CAAA;IACR,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,MAAM,CAAA;IACd,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACpC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,WAAW,EAAE,MAAM,CAAA;IACnB,qBAAqB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACrC,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACnC,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACnC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,cAAc,CAAC,EAAE;QACf,EAAE,EAAE,MAAM,CAAA;QACV,KAAK,EAAE,MAAM,CAAA;QACb,cAAc,EAAE,MAAM,CAAA;QACtB,WAAW,EAAE,MAAM,CAAA;QACnB,YAAY,EAAE,MAAM,CAAA;KACrB,GAAG,IAAI,CAAA;IACR,YAAY,CAAC,EAAE;QACb,EAAE,EAAE,MAAM,CAAA;QACV,KAAK,EAAE,MAAM,CAAA;QACb,cAAc,EAAE,MAAM,CAAA;KACvB,GAAG,IAAI,CAAA;CACT,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,EAAE,MAAM,CAAA;IACf,aAAa,EAAE,MAAM,CAAA;IACrB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,QAAQ,CAAC,EAAE;QACT,eAAe,EAAE,MAAM,CAAA;KACxB,GAAG,IAAI,CAAA;IACR,OAAO,EAAE,aAAa,CAAA;IACtB,OAAO,EAAE,aAAa,CAAA;CACvB,CAAA;AA8FD;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;IACR,eAAe,CAAC,EAAE,IAAI,GAAG,IAAI,CAAA;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,GACA,OAAO,CAAC,YAAY,EAAE,CAAC,CA8BzB"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Per Silo v2 pair we emit 4 multicall entries (2 per side):
3
+ * silo0.totalAssets() — total deposits incl. accrued interest
4
+ * silo0.getDebtAssets() — total borrows
5
+ * silo1.totalAssets()
6
+ * silo1.getDebtAssets()
7
+ *
8
+ * Each pair lives under its own per-pair lender key (`SILO_V2_<HEX>`),
9
+ * resolved via `getSiloV2MarketEntry`. All static metadata (oracle, irm, lt,
10
+ * fees, decimals, share tokens) lives on the entry so it's never fetched.
11
+ *
12
+ * NOTE on rates: we deliberately do NOT call `SiloLens.get{Deposit,Borrow}APR`
13
+ * here. The lens address is per-chain and is shipped via lender-metadata —
14
+ * if it's misconfigured (or the deployed lens is on a different version
15
+ * with a different ABI), one revert poisons the whole multicall batch.
16
+ * Rates can be reconstructed in the parser via the IRM (static `irm`
17
+ * address on each `SiloHalfStatic`) by an off-multicall path, or surfaced
18
+ * later as a separate optional call once the lens situation is settled.
19
+ */
20
+ export declare const SILO_V2_CALLS_PER_SIDE = 2;
21
+ export declare const SILO_V2_CALLS_PER_PAIR: number;
22
+ export declare function buildSiloV2LenderReserveCall(_chainId: string, lender: string): any[];
23
+ //# sourceMappingURL=publicCallBuild.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publicCallBuild.d.ts","sourceRoot":"","sources":["../../../../src/lending/public-data/silo-v2/publicCallBuild.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,sBAAsB,IAAI,CAAA;AACvC,eAAO,MAAM,sBAAsB,QAA6B,CAAA;AAEhE,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,SAuBf"}
@@ -0,0 +1,25 @@
1
+ import type { AdditionalYields } from '../../../types';
2
+ import type { GenericTokenList } from '../../../types/general';
3
+ /**
4
+ * Parse the dynamic state returned by `buildSiloV2LenderReserveCall` for a
5
+ * single Silo v2 pair (one per-pair lender key `SILO_V2_<HEX>`).
6
+ *
7
+ * Result layout (6 slots):
8
+ * [totalAssets0, debtAssets0, depositAPR0, totalAssets1, debtAssets1, depositAPR1]
9
+ *
10
+ * Both sides are borrowable and serve as collateral for the OPPOSITE side, so
11
+ * each silo emits a reserve entry whose `borrowingEnabled` and
12
+ * `collateralActive` flags are both true. The collateral factor / LLTV used
13
+ * for the reserve is the LLTV of the *other* silo (the side that holds the
14
+ * collateral when borrowing this asset).
15
+ *
16
+ * Static metadata (decimals, oracle, lt, fees, share tokens) comes entirely
17
+ * from `getSiloV2MarketEntry()` and never hits the chain on this code path.
18
+ */
19
+ export declare const getSiloV2ReservesDataConverter: (lender: string, chainId: string, prices: {
20
+ [asset: string]: number;
21
+ }, additionalYields: AdditionalYields, tokenList?: GenericTokenList) => [(data: any[]) => {
22
+ data: any;
23
+ chainId: string;
24
+ } | undefined, number];
25
+ //# sourceMappingURL=publicCallParse.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publicCallParse.d.ts","sourceRoot":"","sources":["../../../../src/lending/public-data/silo-v2/publicCallParse.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAQ9D;;;;;;;;;;;;;;;GAeG;AACH,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;IAAE,IAAI,EAAE,GAAG,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,EAAE,MAAM,CA2JtE,CAAA"}
@@ -0,0 +1,18 @@
1
+ import type { AdditionalYields } from '../../../types';
2
+ import type { GenericTokenList } from '../../../types/general';
3
+ import type { SiloApiEntry } from '../silo-v2/fetchPublic';
4
+ /**
5
+ * Silo v3 GraphQL → public-data converter. Mirrors the v2 converter
6
+ * (`silo-v2/convertPublic.ts`) exactly — the only differences are the
7
+ * protocol-version filter (`v3`), the registry lookup
8
+ * (`getSiloV3MarketEntry`) and the synthesized lender key
9
+ * (`SILO_V3_<HEX>`). The API payload shape is identical for both versions,
10
+ * so we reuse the `SiloApiEntry` / `SiloApiMarket` types from the v2
11
+ * module rather than duplicating them.
12
+ */
13
+ export declare function convertSiloV3MarketsToPublicResponse(apiItems: SiloApiEntry[], chainId: string, prices: {
14
+ [asset: string]: number;
15
+ }, additionalYields?: AdditionalYields, tokenList?: GenericTokenList): {
16
+ [lender: string]: any;
17
+ };
18
+ //# sourceMappingURL=convertPublic.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"convertPublic.d.ts","sourceRoot":"","sources":["../../../../src/lending/public-data/silo-v3/convertPublic.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAG9D,OAAO,KAAK,EACV,YAAY,EAEb,MAAM,wBAAwB,CAAA;AAE/B;;;;;;;;GAQG;AACH,wBAAgB,oCAAoC,CAClD,QAAQ,EAAE,YAAY,EAAE,EACxB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,EACnC,gBAAgB,GAAE,gBAIjB,EACD,SAAS,GAAE,gBAAqB,GAC/B;IAAE,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,CA8J3B"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Silo v3 on-chain public-data call builder.
3
+ *
4
+ * Mirror of `silo-v2/publicCallBuild.ts` — v3 shares the exact same on-chain
5
+ * ABI (`Silo.sol` → `totalAssets()` / `getDebtAssets()`) and per-pair shape,
6
+ * so we reuse the v2 Silo ABI directly. The only difference is the registry
7
+ * getter (`getSiloV3MarketEntry`) so v3 and v2 pairs stay in disjoint
8
+ * namespaces even when deployed on the same chain.
9
+ *
10
+ * Per Silo v3 pair we emit 4 multicall entries (2 per side):
11
+ * silo0.totalAssets()
12
+ * silo0.getDebtAssets()
13
+ * silo1.totalAssets()
14
+ * silo1.getDebtAssets()
15
+ */
16
+ export declare const SILO_V3_CALLS_PER_SIDE = 2;
17
+ export declare const SILO_V3_CALLS_PER_PAIR: number;
18
+ export declare function buildSiloV3LenderReserveCall(_chainId: string, lender: string): any[];
19
+ //# sourceMappingURL=publicCallBuild.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publicCallBuild.d.ts","sourceRoot":"","sources":["../../../../src/lending/public-data/silo-v3/publicCallBuild.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,sBAAsB,IAAI,CAAA;AACvC,eAAO,MAAM,sBAAsB,QAA6B,CAAA;AAEhE,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,SAuBf"}
@@ -0,0 +1,16 @@
1
+ import type { AdditionalYields } from '../../../types';
2
+ import type { GenericTokenList } from '../../../types/general';
3
+ /**
4
+ * Parser for the Silo v3 dynamic-state multicall. Byte-for-byte identical to
5
+ * the v2 parser (`silo-v2/publicCallParse.ts`) aside from the registry
6
+ * lookup and the `SILO_V3` branding — v3 shares the same on-chain data
7
+ * layout and fee/LTV semantics as v2, so every downstream consumer of the
8
+ * reserve payload sees the same shape regardless of version.
9
+ */
10
+ export declare const getSiloV3ReservesDataConverter: (lender: string, chainId: string, prices: {
11
+ [asset: string]: number;
12
+ }, additionalYields: AdditionalYields, tokenList?: GenericTokenList) => [(data: any[]) => {
13
+ data: any;
14
+ chainId: string;
15
+ } | undefined, number];
16
+ //# sourceMappingURL=publicCallParse.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publicCallParse.d.ts","sourceRoot":"","sources":["../../../../src/lending/public-data/silo-v3/publicCallParse.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAQ9D;;;;;;GAMG;AACH,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;IAAE,IAAI,EAAE,GAAG,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,EAAE,MAAM,CAoItE,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"abis.d.ts","sourceRoot":"","sources":["../../../src/lending/user-data/abis.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAiChD,eAAO,MAAM,MAAM,GAAI,QAAQ,MAAM,QA8BpC,CAAA"}
1
+ {"version":3,"file":"abis.d.ts","sourceRoot":"","sources":["../../../src/lending/user-data/abis.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAmChD,eAAO,MAAM,MAAM,GAAI,QAAQ,MAAM,QA+BpC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../../../src/lending/user-data/fetch-balances/parse.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,eAAe,EAAuB,MAAM,4BAA4B,CAAA;AAUjF,OAAO,EAAE,2BAA2B,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AA2EtE;;;;;;;GAOG;AACH,eAAO,MAAM,2BAA2B,GACtC,SAAS,MAAM,EACf,YAAY,eAAe,EAAE,EAC7B,YAAY,GAAG,EAAE,EACjB,aAAa,2BAA2B,KACvC;IAAE,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAA;CAwC9B,CAAA"}
1
+ {"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../../../src/lending/user-data/fetch-balances/parse.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,eAAe,EAAuB,MAAM,4BAA4B,CAAA;AAWjF,OAAO,EAAE,2BAA2B,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AA6EtE;;;;;;;GAOG;AACH,eAAO,MAAM,2BAA2B,GACtC,SAAS,MAAM,EACf,YAAY,eAAe,EAAE,EAC7B,YAAY,GAAG,EAAE,EACjB,aAAa,2BAA2B,KACvC;IAAE,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAA;CAwC9B,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"prepare.d.ts","sourceRoot":"","sources":["../../../../src/lending/user-data/fetch-balances/prepare.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AAmB/C,wBAAsB,aAAa,CACjC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,GAAG,GACX,OAAO,CAAC,IAAI,EAAE,CAAC,CAajB"}
1
+ {"version":3,"file":"prepare.d.ts","sourceRoot":"","sources":["../../../../src/lending/user-data/fetch-balances/prepare.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AAqB/C,wBAAsB,aAAa,CACjC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,GAAG,GACX,OAAO,CAAC,IAAI,EAAE,CAAC,CAejB"}
@@ -0,0 +1,21 @@
1
+ import { Call } from '../../../utils/multicall';
2
+ /**
3
+ * Per Silo v2 pair we emit 10 user-data calls (5 per side):
4
+ * silo.balanceOf(account) — collateral shares
5
+ * protectedShareToken.balanceOf(account) — protected shares
6
+ * silo.convertToAssets(10^decimals, COLLATERAL) — collateral rate
7
+ * silo.convertToAssets(10^decimals, PROTECTED) — protected rate
8
+ * silo.maxRepay(account) — debt (assets)
9
+ *
10
+ * We do NOT use `maxWithdraw(account)` because it is health-constrained
11
+ * and returns 0 for fully-leveraged positions.
12
+ *
13
+ * The `convertToAssets` calls use the 2-arg overload with a per-call `abi`
14
+ * override (`SiloConvertToAssetsTypedAbi`) because viem cannot disambiguate
15
+ * overloaded function names within a single ABI. Same pattern as
16
+ * `CreamLensV2Abi` in compound-v2. The e2e layer picks `call.abi ?? abi`.
17
+ */
18
+ export declare const SILO_V2_USER_CALLS_PER_SIDE = 5;
19
+ export declare const SILO_V2_USER_CALLS_PER_PAIR: number;
20
+ export declare const buildSiloV2UserCall: (chainId: string, lender: string, account: string) => Call[];
21
+ //# sourceMappingURL=userCallBuild.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"userCallBuild.d.ts","sourceRoot":"","sources":["../../../../src/lending/user-data/silo-v2/userCallBuild.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AAQ/C;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,2BAA2B,IAAI,CAAA;AAC5C,eAAO,MAAM,2BAA2B,QAAkC,CAAA;AAE1E,eAAO,MAAM,mBAAmB,GAC9B,SAAS,MAAM,EACf,QAAQ,MAAM,EACd,SAAS,MAAM,KACd,IAAI,EA2CN,CAAA"}
@@ -0,0 +1,23 @@
1
+ import { LenderCrossPoolMeta, UserData } from '../utils/types';
2
+ /**
3
+ * Returns a [converter, expectedCallCount] tuple for Silo v2 user data.
4
+ *
5
+ * Result layout (10 slots per pair, 5 per side):
6
+ * [collateralShares0, protectedShares0, collateralRate0, protectedRate0, maxRepay0,
7
+ * collateralShares1, protectedShares1, collateralRate1, protectedRate1, maxRepay1]
8
+ *
9
+ * Deposits are computed off-chain per deposit type with separate rates:
10
+ * collateralAssets = collateralShares * collateralRate / 10^decimals
11
+ * protectedAssets = protectedShares * protectedRate / 10^decimals
12
+ * totalDeposits = collateralAssets + protectedAssets
13
+ *
14
+ * Rates differ because collateral deposits accrue borrower interest while
15
+ * protected deposits don't.
16
+ *
17
+ * `collateralEnabled` is set to `true` when the silo has deposits and its
18
+ * `lt > 0` (its side can back borrows on the other silo).
19
+ *
20
+ * Aggregation goes through `createBaseTypeUserState` using config mode `'0'`.
21
+ */
22
+ export declare const getSiloV2UserDataConverter: (lender: string, chainId: string, account: string, metaMap?: LenderCrossPoolMeta) => [(data: any[]) => UserData | undefined, number];
23
+ //# sourceMappingURL=userCallParse.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"userCallParse.d.ts","sourceRoot":"","sources":["../../../../src/lending/user-data/silo-v2/userCallParse.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAM9D;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,0BAA0B,GACrC,QAAQ,MAAM,EACd,SAAS,MAAM,EACf,SAAS,MAAM,EACf,UAAU,mBAAmB,KAC5B,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,QAAQ,GAAG,SAAS,EAAE,MAAM,CA6GhD,CAAA"}
@@ -71,6 +71,24 @@ export type EulerV2Metadata = {
71
71
  unitOfAccount: string | undefined;
72
72
  governorAdmin: string | undefined;
73
73
  };
74
+ export type SiloV2Metadata = {
75
+ silo: string;
76
+ counterpartySilo: string;
77
+ siloConfig: string;
78
+ oracle: string;
79
+ irm: string;
80
+ shareTokens: {
81
+ collateral: string;
82
+ protected: string;
83
+ debt: string;
84
+ };
85
+ fees: {
86
+ dao: string;
87
+ deployer: string;
88
+ liquidation: string;
89
+ flashloan: string;
90
+ };
91
+ };
74
92
  export type ProtocolParams = {
75
93
  metadata: CompoundV2Metadata;
76
94
  } | {
@@ -79,6 +97,8 @@ export type ProtocolParams = {
79
97
  metadata: InitMetadata;
80
98
  } | {
81
99
  metadata: EulerV2Metadata;
100
+ } | {
101
+ metadata: SiloV2Metadata;
82
102
  };
83
103
  export type LenderYieldComplete = {
84
104
  depositRate: number | null;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/lending/user-data/utils/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/lending/user-data/utils/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"fetchOraclePrices.d.ts","sourceRoot":"","sources":["../../../src/prices/oracle-prices/fetchOraclePrices.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,WAAW,EAEX,YAAY,EAKZ,kBAAkB,EAEnB,MAAM,SAAS,CAAA;AAChB,OAAO,EASL,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EAC1B,MAAM,YAAY,CAAA;AAQnB;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,CAAA;CAChC,CAAA;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,2CAA2C;IAC3C,YAAY,CAAC,EAAE;QAAE,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,CAAA;IAC9C,sEAAsE;IACtE,KAAK,CAAC,EAAE,cAAc,CAAA;IACtB,sCAAsC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,mDAAmD;IACnD,SAAS,CAAC,EAAE;QAAE,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAA;IACzC,gEAAgE;IAChE,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,gEAAgE;IAChE,UAAU,CAAC,EAAE,WAAW,CAAA;IACxB,oDAAoD;IACpD,qBAAqB,CAAC,EAAE,qBAAqB,CAAA;IAC7C,mDAAmD;IACnD,oBAAoB,CAAC,EAAE,oBAAoB,CAAA;IAC3C;;;;OAIG;IACH,yBAAyB,CAAC,EAAE,MAAM,CAAA;IAClC;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;CACxB;AA+KD;;;;;;;;;;GAUG;AACH,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,MAAM,EAAE,EAClB,YAAY,CAAC,EAAE;IAAE,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;CAAE,EAC9C,KAAK,GAAE,cAAmB,EAC1B,OAAO,SAAI,EACX,SAAS,GAAE;IAAE,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,GAAG,SAAqB,EAChE,YAAY,UAAO,EACnB,UAAU,GAAE,WAAgB,EAC5B,qBAAqB,CAAC,EAAE,qBAAqB,EAC7C,oBAAoB,CAAC,EAAE,oBAAoB,EAC3C,yBAAyB,SAAO,EAChC,YAAY,CAAC,EAAE,MAAM,EAAE,GACtB,OAAO,CAAC,kBAAkB,CAAC,CAoe7B"}
1
+ {"version":3,"file":"fetchOraclePrices.d.ts","sourceRoot":"","sources":["../../../src/prices/oracle-prices/fetchOraclePrices.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,WAAW,EAEX,YAAY,EAKZ,kBAAkB,EAEnB,MAAM,SAAS,CAAA;AAChB,OAAO,EAWL,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EAC1B,MAAM,YAAY,CAAA;AAkBnB;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,CAAA;CAChC,CAAA;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,2CAA2C;IAC3C,YAAY,CAAC,EAAE;QAAE,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,CAAA;IAC9C,sEAAsE;IACtE,KAAK,CAAC,EAAE,cAAc,CAAA;IACtB,sCAAsC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,mDAAmD;IACnD,SAAS,CAAC,EAAE;QAAE,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAA;IACzC,gEAAgE;IAChE,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,gEAAgE;IAChE,UAAU,CAAC,EAAE,WAAW,CAAA;IACxB,oDAAoD;IACpD,qBAAqB,CAAC,EAAE,qBAAqB,CAAA;IAC7C,mDAAmD;IACnD,oBAAoB,CAAC,EAAE,oBAAoB,CAAA;IAC3C;;;;OAIG;IACH,yBAAyB,CAAC,EAAE,MAAM,CAAA;IAClC;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;CACxB;AA2KD;;;;;;;;;;GAUG;AACH,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,MAAM,EAAE,EAClB,YAAY,CAAC,EAAE;IAAE,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;CAAE,EAC9C,KAAK,GAAE,cAAmB,EAC1B,OAAO,SAAI,EACX,SAAS,GAAE;IAAE,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,GAAG,SAAqB,EAChE,YAAY,UAAO,EACnB,UAAU,GAAE,WAAgB,EAC5B,qBAAqB,CAAC,EAAE,qBAAqB,EAC7C,oBAAoB,CAAC,EAAE,oBAAoB,EAC3C,yBAAyB,SAAO,EAChC,YAAY,CAAC,EAAE,MAAM,EAAE,GACtB,OAAO,CAAC,kBAAkB,CAAC,CA0mB7B"}
@@ -5,4 +5,6 @@ export { compoundV3Fetcher, getCompoundV3Calls, parseCompoundV3Results, getCompo
5
5
  export { listaFetcher, getListaCalls, parseListaResults, getListaAbi, type ListaMarketOverrides, type ListaFetcherContext, } from './lista';
6
6
  export { eulerV2Fetcher, getEulerV2Calls, parseEulerV2Results, getEulerV2Abi, } from './euler';
7
7
  export { aaveV4Fetcher, getAaveV4Calls, parseAaveV4Results, getAaveV4Abi, } from './aaveV4';
8
+ export { siloV2Fetcher, getSiloV2Calls, parseSiloV2Results, getSiloV2Abi, } from './siloV2';
9
+ export { siloV3Fetcher, getSiloV3Calls, parseSiloV3Results, getSiloV3Abi, } from './siloV3';
8
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/prices/oracle-prices/fetchers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AAChF,OAAO,EACL,aAAa,EACb,cAAc,EACd,kBAAkB,EAClB,YAAY,EACZ,wBAAwB,EACxB,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,GAC1B,MAAM,UAAU,CAAA;AACjB,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,gBAAgB,GACjB,MAAM,cAAc,CAAA;AACrB,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,gBAAgB,GACjB,MAAM,cAAc,CAAA;AACrB,OAAO,EACL,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,WAAW,EACX,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,GACzB,MAAM,SAAS,CAAA;AAChB,OAAO,EACL,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,aAAa,GACd,MAAM,SAAS,CAAA;AAChB,OAAO,EACL,aAAa,EACb,cAAc,EACd,kBAAkB,EAClB,YAAY,GACb,MAAM,UAAU,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/prices/oracle-prices/fetchers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AAChF,OAAO,EACL,aAAa,EACb,cAAc,EACd,kBAAkB,EAClB,YAAY,EACZ,wBAAwB,EACxB,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,GAC1B,MAAM,UAAU,CAAA;AACjB,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,gBAAgB,GACjB,MAAM,cAAc,CAAA;AACrB,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,gBAAgB,GACjB,MAAM,cAAc,CAAA;AACrB,OAAO,EACL,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,WAAW,EACX,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,GACzB,MAAM,SAAS,CAAA;AAChB,OAAO,EACL,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,aAAa,GACd,MAAM,SAAS,CAAA;AAChB,OAAO,EACL,aAAa,EACb,cAAc,EACd,kBAAkB,EAClB,YAAY,GACb,MAAM,UAAU,CAAA;AACjB,OAAO,EACL,aAAa,EACb,cAAc,EACd,kBAAkB,EAClB,YAAY,GACb,MAAM,UAAU,CAAA;AACjB,OAAO,EACL,aAAa,EACb,cAAc,EACd,kBAAkB,EAClB,YAAY,GACb,MAAM,UAAU,CAAA"}
@@ -0,0 +1,108 @@
1
+ import type { FetcherResult, OraclePriceEntry, ParseContext } from '../types';
2
+ /**
3
+ * Metadata carried alongside the multicall batch so the parser can
4
+ * reassemble results without re-reading on-chain state.
5
+ */
6
+ interface SiloV2OracleMeta {
7
+ /** Entries to process, one per silo half */
8
+ entries: {
9
+ token: string;
10
+ decimals: number;
11
+ silo: string;
12
+ lenderKey: string;
13
+ oracle: string;
14
+ /** Other half's token — used for 1:1 fallback when this side is static */
15
+ partnerToken: string;
16
+ /**
17
+ * True when this side has a zero-address oracle (constant price = 1.0).
18
+ * Treated like a Morpho loan asset: priced via the partner token's USD
19
+ * (or its own, if independently known) and flagged with `staticBase`.
20
+ */
21
+ isStatic: boolean;
22
+ }[];
23
+ /**
24
+ * Dedup map: "oracleLc:tokenLc" → index into the calls array.
25
+ * The same oracle+token pair only needs one `quote` call even if it
26
+ * appears in multiple markets.
27
+ */
28
+ callIndexMap: {
29
+ [key: string]: number;
30
+ };
31
+ /**
32
+ * "oracleLc" → index of the quoteToken() call for that oracle.
33
+ */
34
+ quoteTokenIndexMap: {
35
+ [key: string]: number;
36
+ };
37
+ }
38
+ /**
39
+ * Build multicall calls for all Silo V2 oracle prices on the given chain.
40
+ *
41
+ * Three cases per pair:
42
+ * 1. Both halves have a real oracle → standard `quote` + `quoteToken` calls.
43
+ * 2. Exactly one half is zero-address (constant = 1.0) → emit that side as
44
+ * `staticBase` (priced via the partner token's USD) and run the normal
45
+ * flow on the other side. The non-static oracle is expected to quote in
46
+ * the static side's token, so the existing `quote * qtUSD` math just
47
+ * works once the partner USD price is in `usdPrices`.
48
+ * 3. Both halves are zero-address → the pair is 1:1 in its own terms. Only
49
+ * emit if at least one of the two tokens has a real oracle elsewhere on
50
+ * the chain (e.g. WBTC priced by another silo); otherwise (the WBTC-LBTC
51
+ * case where neither has a non-constant feed) skip the pair entirely.
52
+ *
53
+ * Calls are deduplicated at the (oracle, token) level for `quote` and at
54
+ * the oracle level for `quoteToken`.
55
+ */
56
+ export declare function getSiloV2Calls(chainId: string): FetcherResult<SiloV2OracleMeta>[];
57
+ /**
58
+ * Parse Silo V2 oracle multicall results into price entries.
59
+ *
60
+ * Static halves (zero-address oracle) are resolved by looking up the USD
61
+ * price of the side's own token, falling back to the partner token (the
62
+ * relationship is 1:1 by definition). They are flagged with `staticBase`
63
+ * + `baseAsset = self`, mirroring the Morpho loan-asset entries.
64
+ *
65
+ * Non-static halves use `quote(1.0, token) → priceInQuoteToken × qtUSD`.
66
+ * When the static side's token IS the partner oracle's quoteToken, the
67
+ * non-static math automatically picks up the right USD via the shared
68
+ * `usdPrices` map (populated by other lenders earlier in the parse order).
69
+ */
70
+ export declare function parseSiloV2Results(data: any[], meta: SiloV2OracleMeta, context: ParseContext): OraclePriceEntry[];
71
+ /**
72
+ * ABI fragments needed for Silo V2 oracle calls
73
+ */
74
+ export declare function getSiloV2Abi(): readonly [{
75
+ readonly inputs: readonly [{
76
+ readonly name: "_baseAmount";
77
+ readonly type: "uint256";
78
+ }, {
79
+ readonly name: "_baseToken";
80
+ readonly type: "address";
81
+ }];
82
+ readonly name: "quote";
83
+ readonly outputs: readonly [{
84
+ readonly name: "quoteAmount";
85
+ readonly type: "uint256";
86
+ }];
87
+ readonly stateMutability: "view";
88
+ readonly type: "function";
89
+ }, {
90
+ readonly inputs: readonly [];
91
+ readonly name: "quoteToken";
92
+ readonly outputs: readonly [{
93
+ readonly name: "";
94
+ readonly type: "address";
95
+ }];
96
+ readonly stateMutability: "view";
97
+ readonly type: "function";
98
+ }];
99
+ /**
100
+ * Silo V2 Oracle Fetcher module
101
+ */
102
+ export declare const siloV2Fetcher: {
103
+ getCalls: typeof getSiloV2Calls;
104
+ parse: typeof parseSiloV2Results;
105
+ getAbi: typeof getSiloV2Abi;
106
+ };
107
+ export {};
108
+ //# sourceMappingURL=siloV2.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"siloV2.d.ts","sourceRoot":"","sources":["../../../../src/prices/oracle-prices/fetchers/siloV2.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,aAAa,EAEb,gBAAgB,EAChB,YAAY,EACb,MAAM,UAAU,CAAA;AAgCjB;;;GAGG;AACH,UAAU,gBAAgB;IACxB,4CAA4C;IAC5C,OAAO,EAAE;QACP,KAAK,EAAE,MAAM,CAAA;QACb,QAAQ,EAAE,MAAM,CAAA;QAChB,IAAI,EAAE,MAAM,CAAA;QACZ,SAAS,EAAE,MAAM,CAAA;QACjB,MAAM,EAAE,MAAM,CAAA;QACd,0EAA0E;QAC1E,YAAY,EAAE,MAAM,CAAA;QACpB;;;;WAIG;QACH,QAAQ,EAAE,OAAO,CAAA;KAClB,EAAE,CAAA;IACH;;;;OAIG;IACH,YAAY,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAA;IACvC;;OAEG;IACH,kBAAkB,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAA;CAC9C;AAUD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,MAAM,GACd,aAAa,CAAC,gBAAgB,CAAC,EAAE,CAoGnC;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,GAAG,EAAE,EACX,IAAI,EAAE,gBAAgB,EACtB,OAAO,EAAE,YAAY,GACpB,gBAAgB,EAAE,CA8EpB;AAED;;GAEG;AACH,wBAAgB,YAAY;;;;;;;;;;;;;;;;;;;;;;;;GAE3B;AAED;;GAEG;AACH,eAAO,MAAM,aAAa;;;;CAIzB,CAAA"}
@@ -0,0 +1,36 @@
1
+ import { type SiloApiEntry } from '../../../lending/public-data/silo-v2/fetchPublic';
2
+ import type { OraclePriceEntry, ParseContext } from '../types';
3
+ /**
4
+ * Narrowed Silo v2 oracle-price prefetch via `api-v3.silo.finance`.
5
+ *
6
+ * The `silos.market{1,2}.solvencyOracle.quote` field already exposes the
7
+ * same "1 baseToken in quoteToken units" value the on-chain `ISiloOracle.quote`
8
+ * call produces, so when the indexer has data for a chain we can skip the
9
+ * Silo v2 multicall entirely and emit the price entries from the GraphQL
10
+ * response instead.
11
+ *
12
+ * This mirrors the Morpho GraphQL prefetch in `morpho.ts`: the prefetch
13
+ * runs in parallel with the on-chain multicall, and the caller decides —
14
+ * after both are settled — which source to feed into the parse pipeline.
15
+ *
16
+ * Returns `null` when the indexer has no data for the chain (caller must
17
+ * fall back to on-chain) and throws on transport / GraphQL errors so the
18
+ * caller can log and fall back.
19
+ */
20
+ export declare function fetchSiloV2GraphQLMarkets(chainId: string): Promise<SiloApiEntry[] | null>;
21
+ /**
22
+ * Convert a GraphQL-fetched silos list into oracle price entries.
23
+ *
24
+ * For each silo half:
25
+ * - If the solvencyOracle is the zero address → emit a `staticBase` entry
26
+ * priced via the partner token's USD (mirrors the on-chain parser).
27
+ * - Otherwise, `priceUSD = Number(quote) * quoteTokenUSD`. The raw price
28
+ * surfaced to consumers is `Number(quote)` so downstream math matches
29
+ * the on-chain output.
30
+ *
31
+ * Entries whose quote token has no resolved USD are skipped — the parse
32
+ * order in `fetchOraclePrices.ts` must run this AFTER the base-USD tier
33
+ * (Aave / Chainlink / Compound) so the cross-asset prices are available.
34
+ */
35
+ export declare function parseSiloV2GraphQLResults(items: SiloApiEntry[], context: ParseContext): OraclePriceEntry[];
36
+ //# sourceMappingURL=siloV2Graphql.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"siloV2Graphql.d.ts","sourceRoot":"","sources":["../../../../src/prices/oracle-prices/fetchers/siloV2Graphql.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,KAAK,YAAY,EAClB,MAAM,kDAAkD,CAAA;AACzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAE9D;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,yBAAyB,CAC7C,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC,CAYhC;AAeD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,YAAY,EAAE,EACrB,OAAO,EAAE,YAAY,GACpB,gBAAgB,EAAE,CA8HpB"}
@@ -0,0 +1,52 @@
1
+ import type { FetcherResult, OraclePriceEntry, ParseContext } from '../types';
2
+ interface SiloV3OracleMeta {
3
+ entries: {
4
+ token: string;
5
+ decimals: number;
6
+ silo: string;
7
+ lenderKey: string;
8
+ oracle: string;
9
+ partnerToken: string;
10
+ isStatic: boolean;
11
+ }[];
12
+ callIndexMap: {
13
+ [key: string]: number;
14
+ };
15
+ quoteTokenIndexMap: {
16
+ [key: string]: number;
17
+ };
18
+ }
19
+ export declare function getSiloV3Calls(chainId: string): FetcherResult<SiloV3OracleMeta>[];
20
+ export declare function parseSiloV3Results(data: any[], meta: SiloV3OracleMeta, context: ParseContext): OraclePriceEntry[];
21
+ export declare function getSiloV3Abi(): readonly [{
22
+ readonly inputs: readonly [{
23
+ readonly name: "_baseAmount";
24
+ readonly type: "uint256";
25
+ }, {
26
+ readonly name: "_baseToken";
27
+ readonly type: "address";
28
+ }];
29
+ readonly name: "quote";
30
+ readonly outputs: readonly [{
31
+ readonly name: "quoteAmount";
32
+ readonly type: "uint256";
33
+ }];
34
+ readonly stateMutability: "view";
35
+ readonly type: "function";
36
+ }, {
37
+ readonly inputs: readonly [];
38
+ readonly name: "quoteToken";
39
+ readonly outputs: readonly [{
40
+ readonly name: "";
41
+ readonly type: "address";
42
+ }];
43
+ readonly stateMutability: "view";
44
+ readonly type: "function";
45
+ }];
46
+ export declare const siloV3Fetcher: {
47
+ getCalls: typeof getSiloV3Calls;
48
+ parse: typeof parseSiloV3Results;
49
+ getAbi: typeof getSiloV3Abi;
50
+ };
51
+ export {};
52
+ //# sourceMappingURL=siloV3.d.ts.map