@defisaver/positions-sdk 2.1.151 → 2.1.152-shifter-v2-dev-dev

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 (55) hide show
  1. package/cjs/claiming/compV3.js +0 -1
  2. package/cjs/config/contracts.d.ts +4 -0
  3. package/cjs/config/contracts.js +4 -0
  4. package/cjs/fluid/index.d.ts +2 -0
  5. package/cjs/fluid/index.js +36 -1
  6. package/cjs/helpers/morphoMidnightHelpers/tenor.d.ts +6 -2
  7. package/cjs/helpers/morphoMidnightHelpers/tenor.js +5 -1
  8. package/cjs/maker/index.d.ts +7 -2
  9. package/cjs/maker/index.js +27 -10
  10. package/cjs/markets/index.d.ts +2 -1
  11. package/cjs/markets/index.js +4 -1
  12. package/cjs/markets/maker/index.d.ts +1 -0
  13. package/cjs/markets/maker/index.js +13 -0
  14. package/cjs/markets/morphoMidnight/index.d.ts +92 -10
  15. package/cjs/markets/morphoMidnight/index.js +519 -60
  16. package/cjs/morphoMidnight/index.js +11 -1
  17. package/cjs/portfolio/index.d.ts +5 -1
  18. package/cjs/portfolio/index.js +287 -0
  19. package/cjs/types/morphoMidnight.d.ts +57 -4
  20. package/cjs/types/morphoMidnight.js +45 -0
  21. package/cjs/types/portfolio.d.ts +26 -10
  22. package/esm/claiming/compV3.js +0 -1
  23. package/esm/config/contracts.d.ts +4 -0
  24. package/esm/config/contracts.js +4 -0
  25. package/esm/fluid/index.d.ts +2 -0
  26. package/esm/fluid/index.js +33 -0
  27. package/esm/helpers/morphoMidnightHelpers/tenor.d.ts +6 -2
  28. package/esm/helpers/morphoMidnightHelpers/tenor.js +6 -2
  29. package/esm/maker/index.d.ts +7 -2
  30. package/esm/maker/index.js +26 -11
  31. package/esm/markets/index.d.ts +2 -1
  32. package/esm/markets/index.js +2 -1
  33. package/esm/markets/maker/index.d.ts +1 -0
  34. package/esm/markets/maker/index.js +10 -0
  35. package/esm/markets/morphoMidnight/index.d.ts +92 -10
  36. package/esm/markets/morphoMidnight/index.js +473 -59
  37. package/esm/morphoMidnight/index.js +11 -1
  38. package/esm/portfolio/index.d.ts +5 -1
  39. package/esm/portfolio/index.js +289 -3
  40. package/esm/types/morphoMidnight.d.ts +57 -4
  41. package/esm/types/morphoMidnight.js +45 -0
  42. package/esm/types/portfolio.d.ts +26 -10
  43. package/package.json +1 -1
  44. package/src/claiming/compV3.ts +0 -1
  45. package/src/config/contracts.ts +4 -0
  46. package/src/fluid/index.ts +40 -0
  47. package/src/helpers/morphoMidnightHelpers/tenor.ts +6 -2
  48. package/src/maker/index.ts +56 -28
  49. package/src/markets/index.ts +3 -1
  50. package/src/markets/maker/index.ts +10 -0
  51. package/src/markets/morphoMidnight/index.ts +724 -61
  52. package/src/morphoMidnight/index.ts +8 -1
  53. package/src/portfolio/index.ts +270 -2
  54. package/src/types/morphoMidnight.ts +59 -3
  55. package/src/types/portfolio.ts +31 -12
@@ -41,11 +41,15 @@ interface TenorOfferFill {
41
41
  /**
42
42
  * Tenor's offer JSON is flat (market fields live on the offer). Morpho's is nested, and that nested
43
43
  * shape is what the app encodes for `Midnight.take`. Map Tenor into that shape so recipes stay on one encoder.
44
+ *
45
+ * The core address is the one field Tenor's offer does not carry, so it is derived from the offer's own
46
+ * `chain_id` rather than the caller's network — an offer names the chain it was made on, and taking it
47
+ * against another chain's core would address a market that does not exist.
44
48
  */
45
49
  export declare const tenorOfferToApiOffer: (offer: TenorOffer) => {
46
50
  market: {
47
51
  chain_id: string | number;
48
- midnight: "0xAdedD8ab6dE832766Fedf0FaC4992E5C4D3EA18A";
52
+ midnight: "0xAdedD8ab6dE832766Fedf0FaC4992E5C4D3EA18A" | "0x471686c42792F93528B000beF54bC10E3aa2045f";
49
53
  loan_token: string;
50
54
  collaterals: TenorOfferCollateral[];
51
55
  maturity: string | number;
@@ -73,7 +77,7 @@ export declare const tenorOfferFillToApiFill: (fill: TenorOfferFill) => {
73
77
  offer: {
74
78
  market: {
75
79
  chain_id: string | number;
76
- midnight: "0xAdedD8ab6dE832766Fedf0FaC4992E5C4D3EA18A";
80
+ midnight: "0xAdedD8ab6dE832766Fedf0FaC4992E5C4D3EA18A" | "0x471686c42792F93528B000beF54bC10E3aa2045f";
77
81
  loan_token: string;
78
82
  collaterals: TenorOfferCollateral[];
79
83
  maturity: string | number;
@@ -11,7 +11,7 @@ import Dec from 'decimal.js';
11
11
  import { assetAmountInEth, getAssetInfoByAddress } from '@defisaver/tokens';
12
12
  import { ZERO_ADDRESS, ZERO_BYTES32 } from '../../constants';
13
13
  import { NetworkNumber, } from '../../types';
14
- import { isTenorMidnightMarket, MIDNIGHT_BASE } from '../../markets/morphoMidnight';
14
+ import { isTenorMidnightMarket, midnightCoreAddress } from '../../markets/morphoMidnight';
15
15
  import { buildMidnightParsedBook, midnightApyFromPrice, midnightBoundPrice, midnightTimeToMaturityDays, } from './rate';
16
16
  // Notion doc by Rajko: https://app.notion.com/p/defisaver/Tenor-API-3ba0be682adc80dfad35c81a9a4cb442
17
17
  const TENOR_QUOTES_URL = 'https://router.tenor.finance/v1/quotes';
@@ -26,11 +26,15 @@ const tenorFillPrice = (assets, units) => (new Dec(units).lte(0) ? '0' : new Dec
26
26
  /**
27
27
  * Tenor's offer JSON is flat (market fields live on the offer). Morpho's is nested, and that nested
28
28
  * shape is what the app encodes for `Midnight.take`. Map Tenor into that shape so recipes stay on one encoder.
29
+ *
30
+ * The core address is the one field Tenor's offer does not carry, so it is derived from the offer's own
31
+ * `chain_id` rather than the caller's network — an offer names the chain it was made on, and taking it
32
+ * against another chain's core would address a market that does not exist.
29
33
  */
30
34
  export const tenorOfferToApiOffer = (offer) => ({
31
35
  market: {
32
36
  chain_id: offer.chain_id,
33
- midnight: MIDNIGHT_BASE,
37
+ midnight: midnightCoreAddress(Number(offer.chain_id)),
34
38
  loan_token: offer.loan_token_address,
35
39
  collaterals: offer.collaterals || [],
36
40
  maturity: offer.maturity,
@@ -1,9 +1,14 @@
1
1
  import { Client, PublicClient } from 'viem';
2
2
  import { Blockish, EthAddress, EthereumProvider, NetworkNumber, PositionBalances } from '../types/common';
3
- import { CdpData, CdpInfo } from '../types';
3
+ import { CdpData, CdpInfo, IlkInfo } from '../types';
4
4
  export declare const _getMakerAccountBalances: (provider: PublicClient, network: NetworkNumber, block: Blockish, addressMapping: boolean, cdpId: string, _managerAddress?: EthAddress) => Promise<PositionBalances>;
5
5
  export declare const getMakerAccountBalances: (provider: EthereumProvider, network: NetworkNumber, block: Blockish, addressMapping: boolean, cdpId: string, _managerAddress?: EthAddress) => Promise<PositionBalances>;
6
6
  export declare const _getUserCdps: (provider: Client, network: NetworkNumber, userAddress: EthAddress) => Promise<CdpInfo[]>;
7
7
  export declare const getUserCdps: (provider: EthereumProvider, network: NetworkNumber, userAddress: EthAddress) => Promise<CdpInfo[]>;
8
- export declare const _getMakerCdpData: (provider: Client, network: NetworkNumber, cdp: CdpInfo) => Promise<CdpData>;
8
+ export declare const _getMakerIlksData: (provider: Client, network: NetworkNumber, ilkLabels: string[]) => Promise<Record<string, IlkInfo>>;
9
+ export declare const getMakerIlksData: (provider: EthereumProvider, network: NetworkNumber, ilkLabels: string[]) => Promise<Record<string, IlkInfo>>;
10
+ /**
11
+ * @param ilkInfo optional precomputed ilk data (from `_getMakerIlksData`); when provided the per-ilk reads are skipped
12
+ */
13
+ export declare const _getMakerCdpData: (provider: Client, network: NetworkNumber, cdp: CdpInfo, ilkInfo?: IlkInfo) => Promise<CdpData>;
9
14
  export declare const getMakerCdpData: (provider: EthereumProvider, network: NetworkNumber, cdp: CdpInfo) => Promise<CdpData>;
@@ -8,9 +8,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  });
9
9
  };
10
10
  import Dec from 'decimal.js';
11
- import { assetAmountInEth, bytesToString, getAssetInfo, ilkToAsset, } from '@defisaver/tokens';
11
+ import { assetAmountInEth, bytesToString, getAssetInfo, ilkToAsset, stringToBytes, } from '@defisaver/tokens';
12
12
  import { getConfigContractAddress, McdDogContractViem, McdGetCdpsContractViem, McdJugContractViem, McdSpotterContractViem, McdVatContractViem, McdViewContractViem, } from '../contracts';
13
- import { CdpType } from '../types';
13
+ import { CdpType, } from '../types';
14
14
  import { wethToEth } from '../services/utils';
15
15
  import { parseCollateralInfo } from '../helpers/makerHelpers';
16
16
  import { getViemProvider, setViemBlockNumber } from '../services/viem';
@@ -80,22 +80,37 @@ export const _getUserCdps = (provider, network, userAddress) => __awaiter(void 0
80
80
  return parsedStandardCdps;
81
81
  });
82
82
  export const getUserCdps = (provider, network, userAddress) => __awaiter(void 0, void 0, void 0, function* () { return _getUserCdps(getViemProvider(provider, network), network, userAddress); });
83
- export const _getMakerCdpData = (provider, network, cdp) => __awaiter(void 0, void 0, void 0, function* () {
83
+ export const _getMakerIlksData = (provider, network, ilkLabels) => __awaiter(void 0, void 0, void 0, function* () {
84
84
  const vatContract = McdVatContractViem(provider, network);
85
85
  const spotterContract = McdSpotterContractViem(provider, network);
86
86
  const dogContract = McdDogContractViem(provider, network);
87
87
  const jugContract = McdJugContractViem(provider, network);
88
- const [[ink, art], coll, par, [_, mat], [artGlobal, rate, spot, line], [duty], futureRate, chop,] = yield Promise.all([
88
+ const par = yield spotterContract.read.par();
89
+ const ilksInfo = yield Promise.all(ilkLabels.map((ilkLabel) => __awaiter(void 0, void 0, void 0, function* () {
90
+ const ilk = stringToBytes(ilkLabel);
91
+ const [[_, mat], [artGlobal, rate, spot, line], [duty], futureRate, chop,] = yield Promise.all([
92
+ spotterContract.read.ilks([ilk]),
93
+ vatContract.read.ilks([ilk]),
94
+ jugContract.read.ilks([ilk]),
95
+ jugContract.read.drip([ilk]),
96
+ dogContract.read.chop([ilk]),
97
+ ]);
98
+ return parseCollateralInfo(ilk, par.toString(), mat.toString(), artGlobal.toString(), rate.toString(), spot.toString(), line.toString(), duty.toString(), futureRate.toString(), chop.toString());
99
+ })));
100
+ return Object.fromEntries(ilksInfo.map((ilkInfo) => [ilkInfo.ilkLabel, ilkInfo]));
101
+ });
102
+ export const getMakerIlksData = (provider, network, ilkLabels) => __awaiter(void 0, void 0, void 0, function* () { return _getMakerIlksData(getViemProvider(provider, network, { batch: { multicall: true } }), network, ilkLabels); });
103
+ /**
104
+ * @param ilkInfo optional precomputed ilk data (from `_getMakerIlksData`); when provided the per-ilk reads are skipped
105
+ */
106
+ export const _getMakerCdpData = (provider, network, cdp, ilkInfo) => __awaiter(void 0, void 0, void 0, function* () {
107
+ const vatContract = McdVatContractViem(provider, network);
108
+ const [[ink, art], coll, fetchedIlkInfo,] = yield Promise.all([
89
109
  vatContract.read.urns([cdp.ilk, cdp.urn]),
90
110
  vatContract.read.gem([cdp.ilk, cdp.urn]),
91
- spotterContract.read.par(),
92
- spotterContract.read.ilks([cdp.ilk]),
93
- vatContract.read.ilks([cdp.ilk]),
94
- jugContract.read.ilks([cdp.ilk]),
95
- jugContract.read.drip([cdp.ilk]),
96
- dogContract.read.chop([cdp.ilk]),
111
+ ilkInfo || _getMakerIlksData(provider, network, [cdp.ilkLabel]).then((ilks) => ilks[cdp.ilkLabel]),
97
112
  ]);
98
- const collInfo = parseCollateralInfo(cdp.ilk, par.toString(), mat.toString(), artGlobal.toString(), rate.toString(), spot.toString(), line.toString(), duty.toString(), futureRate.toString(), chop.toString());
113
+ const collInfo = fetchedIlkInfo;
99
114
  const collateral = assetAmountInEth(ink.toString(), `MCD-${cdp.asset}`);
100
115
  const collateralUsd = new Dec(collateral).mul(collInfo.assetPrice).toString();
101
116
  const debt = new Dec(art).times(collInfo.currentRate).div(1e27).floor()
@@ -3,8 +3,9 @@ export { CompoundMarkets, compoundV2CollateralAssets, v3ETHCollAssets, v3USDbCCo
3
3
  export { SparkMarkets } from './spark';
4
4
  export { CrvUsdMarkets } from './curveUsd';
5
5
  export { MorphoBlueMarkets, findMorphoBlueMarket } from './morphoBlue';
6
- export { MorphoMidnightMarkets, findMorphoMidnightMarket, isTenorMidnightMarket, morphoMidnightMarketCollateralParams, } from './morphoMidnight';
6
+ export { MorphoMidnightMarkets, findMorphoMidnightMarket, isTenorMidnightMarket, morphoMidnightMarketCollateralParams, morphoMidnightVisibleCollaterals, } from './morphoMidnight';
7
7
  export { LlamaLendMarkets } from './llamaLend';
8
8
  export { LiquityV2Markets, findLiquityV2MarketByAddress } from './liquityV2';
9
9
  export { FluidMarkets, getFluidVersionsDataForNetwork, getFluidMarketInfoById, getFTokenAddress, getFluidMarketInfoByAddress, } from './fluid';
10
10
  export { AaveV4Spokes, findAaveV4SpokeByAddress } from './aaveV4';
11
+ export { MakerActiveIlks } from './maker';
@@ -3,8 +3,9 @@ export { CompoundMarkets, compoundV2CollateralAssets, v3ETHCollAssets, v3USDbCCo
3
3
  export { SparkMarkets } from './spark';
4
4
  export { CrvUsdMarkets } from './curveUsd';
5
5
  export { MorphoBlueMarkets, findMorphoBlueMarket } from './morphoBlue';
6
- export { MorphoMidnightMarkets, findMorphoMidnightMarket, isTenorMidnightMarket, morphoMidnightMarketCollateralParams, } from './morphoMidnight';
6
+ export { MorphoMidnightMarkets, findMorphoMidnightMarket, isTenorMidnightMarket, morphoMidnightMarketCollateralParams, morphoMidnightVisibleCollaterals, } from './morphoMidnight';
7
7
  export { LlamaLendMarkets } from './llamaLend';
8
8
  export { LiquityV2Markets, findLiquityV2MarketByAddress } from './liquityV2';
9
9
  export { FluidMarkets, getFluidVersionsDataForNetwork, getFluidMarketInfoById, getFTokenAddress, getFluidMarketInfoByAddress, } from './fluid';
10
10
  export { AaveV4Spokes, findAaveV4SpokeByAddress } from './aaveV4';
11
+ export { MakerActiveIlks } from './maker';
@@ -0,0 +1 @@
1
+ export declare const MakerActiveIlks: string[];
@@ -0,0 +1,10 @@
1
+ export const MakerActiveIlks = [
2
+ 'ETH-A',
3
+ 'ETH-B',
4
+ 'ETH-C',
5
+ 'WSTETH-A',
6
+ 'WSTETH-B',
7
+ 'WBTC-A',
8
+ 'WBTC-B',
9
+ 'WBTC-C',
10
+ ];
@@ -1,10 +1,13 @@
1
1
  import { MorphoMidnightCollateralParams, MorphoMidnightMarketData, NetworkNumber } from '../../types';
2
2
  /**
3
- * Morpho Midnight core contract on Base. Every Midnight market trades against this one, whoever curates
4
- * its order book — it is part of the market struct the id is hashed from, and it is what offer tuples
5
- * encode for `Midnight.take`.
3
+ * Morpho Midnight core contract, one per chain. Every Midnight market on a chain trades against its core,
4
+ * whoever curates the order book — it is part of the market struct the id is hashed from, and it is what
5
+ * offer tuples encode for `Midnight.take`. Listed at
6
+ * https://docs.morpho.org/get-started/resources/addresses/.
6
7
  */
7
8
  export declare const MIDNIGHT_BASE: "0xAdedD8ab6dE832766Fedf0FaC4992E5C4D3EA18A";
9
+ export declare const MIDNIGHT_ETH: "0x471686c42792F93528B000beF54bC10E3aa2045f";
10
+ export declare const midnightCoreAddress: (network: NetworkNumber) => "0xAdedD8ab6dE832766Fedf0FaC4992E5C4D3EA18A" | "0x471686c42792F93528B000beF54bC10E3aa2045f";
8
11
  export declare const MORPHO_MIDNIGHT_CBBTC_USDC_860_20260731: (networkId?: NetworkNumber) => MorphoMidnightMarketData;
9
12
  export declare const MORPHO_MIDNIGHT_CBBTC_USDC_860_20260828: (networkId?: NetworkNumber) => MorphoMidnightMarketData;
10
13
  export declare const MORPHO_MIDNIGHT_CBBTC_USDC_860_20260925: (networkId?: NetworkNumber) => MorphoMidnightMarketData;
@@ -37,6 +40,48 @@ export declare const MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261030: () => Morpho
37
40
  export declare const MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261127: () => MorphoMidnightMarketData;
38
41
  export declare const MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261225: () => MorphoMidnightMarketData;
39
42
  export declare const MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20270129: () => MorphoMidnightMarketData;
43
+ export declare const MORPHO_MIDNIGHT_WBTC_USDC_860_20260925_ETH: () => MorphoMidnightMarketData;
44
+ export declare const MORPHO_MIDNIGHT_WBTC_USDC_860_20261030_ETH: () => MorphoMidnightMarketData;
45
+ export declare const MORPHO_MIDNIGHT_WBTC_USDC_860_20261127_ETH: () => MorphoMidnightMarketData;
46
+ export declare const MORPHO_MIDNIGHT_WBTC_USDC_860_20261225_ETH: () => MorphoMidnightMarketData;
47
+ export declare const MORPHO_MIDNIGHT_WBTC_USDC_860_20270129_ETH: () => MorphoMidnightMarketData;
48
+ export declare const MORPHO_MIDNIGHT_WBTC_USDC_860_20270226_ETH: () => MorphoMidnightMarketData;
49
+ export declare const MORPHO_MIDNIGHT_WBTC_USDC_860_20270326_ETH: () => MorphoMidnightMarketData;
50
+ export declare const MORPHO_MIDNIGHT_CBBTC_USDC_860_20260925_ETH: () => MorphoMidnightMarketData;
51
+ export declare const MORPHO_MIDNIGHT_CBBTC_USDC_860_20261030_ETH: () => MorphoMidnightMarketData;
52
+ export declare const MORPHO_MIDNIGHT_CBBTC_USDC_860_20261127_ETH: () => MorphoMidnightMarketData;
53
+ export declare const MORPHO_MIDNIGHT_CBBTC_USDC_860_20261225_ETH: () => MorphoMidnightMarketData;
54
+ export declare const MORPHO_MIDNIGHT_CBBTC_USDC_860_20270129_ETH: () => MorphoMidnightMarketData;
55
+ export declare const MORPHO_MIDNIGHT_CBBTC_USDC_860_20270226_ETH: () => MorphoMidnightMarketData;
56
+ export declare const MORPHO_MIDNIGHT_CBBTC_USDC_860_20270326_ETH: () => MorphoMidnightMarketData;
57
+ export declare const MORPHO_MIDNIGHT_TENOR_REUSD_USDC_915_20260925_ETH: () => MorphoMidnightMarketData;
58
+ export declare const MORPHO_MIDNIGHT_TENOR_REUSD_USDC_915_20261030_ETH: () => MorphoMidnightMarketData;
59
+ export declare const MORPHO_MIDNIGHT_TENOR_REUSD_USDC_915_20261127_ETH: () => MorphoMidnightMarketData;
60
+ export declare const MORPHO_MIDNIGHT_TENOR_REUSD_USDC_915_20261225_ETH: () => MorphoMidnightMarketData;
61
+ export declare const MORPHO_MIDNIGHT_TENOR_SIUSD_USDC_915_20260925_ETH: () => MorphoMidnightMarketData;
62
+ export declare const MORPHO_MIDNIGHT_TENOR_SIUSD_USDC_915_20261030_ETH: () => MorphoMidnightMarketData;
63
+ export declare const MORPHO_MIDNIGHT_TENOR_SIUSD_USDC_915_20261127_ETH: () => MorphoMidnightMarketData;
64
+ export declare const MORPHO_MIDNIGHT_TENOR_SIUSD_USDC_915_20261225_ETH: () => MorphoMidnightMarketData;
65
+ export declare const MORPHO_MIDNIGHT_TENOR_STRUSD_USDC_860_20260925_ETH: () => MorphoMidnightMarketData;
66
+ export declare const MORPHO_MIDNIGHT_TENOR_STRUSD_USDC_860_20261030_ETH: () => MorphoMidnightMarketData;
67
+ export declare const MORPHO_MIDNIGHT_TENOR_STRUSD_USDC_860_20261127_ETH: () => MorphoMidnightMarketData;
68
+ export declare const MORPHO_MIDNIGHT_TENOR_STRUSD_USDC_860_20261225_ETH: () => MorphoMidnightMarketData;
69
+ export declare const MORPHO_MIDNIGHT_TENOR_USD3_USDC_915_20260925_ETH: () => MorphoMidnightMarketData;
70
+ export declare const MORPHO_MIDNIGHT_TENOR_USD3_USDC_915_20261030_ETH: () => MorphoMidnightMarketData;
71
+ export declare const MORPHO_MIDNIGHT_TENOR_USD3_USDC_915_20261127_ETH: () => MorphoMidnightMarketData;
72
+ export declare const MORPHO_MIDNIGHT_TENOR_USD3_USDC_915_20261225_ETH: () => MorphoMidnightMarketData;
73
+ export declare const MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20260925_ETH: () => MorphoMidnightMarketData;
74
+ export declare const MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261030_ETH: () => MorphoMidnightMarketData;
75
+ export declare const MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261127_ETH: () => MorphoMidnightMarketData;
76
+ export declare const MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261225_ETH: () => MorphoMidnightMarketData;
77
+ export declare const MORPHO_MIDNIGHT_TENOR_WSRUSD_USDC_945_20260925_ETH: () => MorphoMidnightMarketData;
78
+ export declare const MORPHO_MIDNIGHT_TENOR_WSRUSD_USDC_945_20261030_ETH: () => MorphoMidnightMarketData;
79
+ export declare const MORPHO_MIDNIGHT_TENOR_WSRUSD_USDC_945_20261127_ETH: () => MorphoMidnightMarketData;
80
+ export declare const MORPHO_MIDNIGHT_TENOR_WSRUSD_USDC_945_20261225_ETH: () => MorphoMidnightMarketData;
81
+ export declare const MORPHO_MIDNIGHT_TENOR_WSTETH_WETH_965_20260925_ETH: () => MorphoMidnightMarketData;
82
+ export declare const MORPHO_MIDNIGHT_TENOR_WSTETH_WETH_965_20261030_ETH: () => MorphoMidnightMarketData;
83
+ export declare const MORPHO_MIDNIGHT_TENOR_WSTETH_WETH_965_20261127_ETH: () => MorphoMidnightMarketData;
84
+ export declare const MORPHO_MIDNIGHT_TENOR_WSTETH_WETH_965_20261225_ETH: () => MorphoMidnightMarketData;
40
85
  export declare const MorphoMidnightMarkets: (networkId: NetworkNumber) => {
41
86
  readonly morphomidnightcbbtcusdc_860_20260731_base: MorphoMidnightMarketData;
42
87
  readonly morphomidnightcbbtcusdc_860_20260828_base: MorphoMidnightMarketData;
@@ -70,13 +115,50 @@ export declare const MorphoMidnightMarkets: (networkId: NetworkNumber) => {
70
115
  readonly morphomidnighttenorcbethweth_20261127_base: MorphoMidnightMarketData;
71
116
  readonly morphomidnighttenorcbethweth_20261225_base: MorphoMidnightMarketData;
72
117
  readonly morphomidnighttenorcbethweth_20270129_base: MorphoMidnightMarketData;
118
+ readonly morphomidnightwbtcusdc_860_20260925_eth: MorphoMidnightMarketData;
119
+ readonly morphomidnightwbtcusdc_860_20261030_eth: MorphoMidnightMarketData;
120
+ readonly morphomidnightwbtcusdc_860_20261127_eth: MorphoMidnightMarketData;
121
+ readonly morphomidnightwbtcusdc_860_20261225_eth: MorphoMidnightMarketData;
122
+ readonly morphomidnightwbtcusdc_860_20270129_eth: MorphoMidnightMarketData;
123
+ readonly morphomidnightwbtcusdc_860_20270226_eth: MorphoMidnightMarketData;
124
+ readonly morphomidnightwbtcusdc_860_20270326_eth: MorphoMidnightMarketData;
125
+ readonly morphomidnightcbbtcusdc_860_20260925_eth: MorphoMidnightMarketData;
126
+ readonly morphomidnightcbbtcusdc_860_20261030_eth: MorphoMidnightMarketData;
127
+ readonly morphomidnightcbbtcusdc_860_20261127_eth: MorphoMidnightMarketData;
128
+ readonly morphomidnightcbbtcusdc_860_20261225_eth: MorphoMidnightMarketData;
129
+ readonly morphomidnightcbbtcusdc_860_20270129_eth: MorphoMidnightMarketData;
130
+ readonly morphomidnightcbbtcusdc_860_20270226_eth: MorphoMidnightMarketData;
131
+ readonly morphomidnightcbbtcusdc_860_20270326_eth: MorphoMidnightMarketData;
132
+ readonly morphomidnighttenorreusdusdc_20260925_eth: MorphoMidnightMarketData;
133
+ readonly morphomidnighttenorreusdusdc_20261030_eth: MorphoMidnightMarketData;
134
+ readonly morphomidnighttenorreusdusdc_20261127_eth: MorphoMidnightMarketData;
135
+ readonly morphomidnighttenorreusdusdc_20261225_eth: MorphoMidnightMarketData;
136
+ readonly morphomidnighttenorsiusdusdc_20260925_eth: MorphoMidnightMarketData;
137
+ readonly morphomidnighttenorsiusdusdc_20261030_eth: MorphoMidnightMarketData;
138
+ readonly morphomidnighttenorsiusdusdc_20261127_eth: MorphoMidnightMarketData;
139
+ readonly morphomidnighttenorsiusdusdc_20261225_eth: MorphoMidnightMarketData;
140
+ readonly morphomidnighttenorstrusdusdc_20260925_eth: MorphoMidnightMarketData;
141
+ readonly morphomidnighttenorstrusdusdc_20261030_eth: MorphoMidnightMarketData;
142
+ readonly morphomidnighttenorstrusdusdc_20261127_eth: MorphoMidnightMarketData;
143
+ readonly morphomidnighttenorstrusdusdc_20261225_eth: MorphoMidnightMarketData;
144
+ readonly morphomidnighttenorusd3usdc_20260925_eth: MorphoMidnightMarketData;
145
+ readonly morphomidnighttenorusd3usdc_20261030_eth: MorphoMidnightMarketData;
146
+ readonly morphomidnighttenorusd3usdc_20261127_eth: MorphoMidnightMarketData;
147
+ readonly morphomidnighttenorusd3usdc_20261225_eth: MorphoMidnightMarketData;
148
+ readonly morphomidnighttenorwethusdc_20260925_eth: MorphoMidnightMarketData;
149
+ readonly morphomidnighttenorwethusdc_20261030_eth: MorphoMidnightMarketData;
150
+ readonly morphomidnighttenorwethusdc_20261127_eth: MorphoMidnightMarketData;
151
+ readonly morphomidnighttenorwethusdc_20261225_eth: MorphoMidnightMarketData;
152
+ readonly morphomidnighttenorwsrusdusdc_20260925_eth: MorphoMidnightMarketData;
153
+ readonly morphomidnighttenorwsrusdusdc_20261030_eth: MorphoMidnightMarketData;
154
+ readonly morphomidnighttenorwsrusdusdc_20261127_eth: MorphoMidnightMarketData;
155
+ readonly morphomidnighttenorwsrusdusdc_20261225_eth: MorphoMidnightMarketData;
156
+ readonly morphomidnighttenorwstethweth_20260925_eth: MorphoMidnightMarketData;
157
+ readonly morphomidnighttenorwstethweth_20261030_eth: MorphoMidnightMarketData;
158
+ readonly morphomidnighttenorwstethweth_20261127_eth: MorphoMidnightMarketData;
159
+ readonly morphomidnighttenorwstethweth_20261225_eth: MorphoMidnightMarketData;
73
160
  };
74
161
  export declare const isTenorMidnightMarket: (market: Pick<MorphoMidnightMarketData, "curator"> | string) => boolean;
75
162
  export declare const findMorphoMidnightMarket: (marketId: string, network?: NetworkNumber) => MorphoMidnightMarketData | undefined;
76
- /**
77
- * The market's collateral set as the chain knows it: the listed collaterals followed by the curator's
78
- * hidden ones. This — not `collaterals` — is what a `Market` struct takes, since the market id is the hash
79
- * of that struct. Anything assembling one for a contract call goes through here so it can't quietly build
80
- * a market of its own instead.
81
- */
82
- export declare const morphoMidnightMarketCollateralParams: (market: Pick<MorphoMidnightMarketData, "collaterals" | "hiddenCollaterals">) => MorphoMidnightCollateralParams[];
163
+ export declare const morphoMidnightMarketCollateralParams: (market: Pick<MorphoMidnightMarketData, "collaterals">) => MorphoMidnightCollateralParams[];
164
+ export declare const morphoMidnightVisibleCollaterals: (market: Pick<MorphoMidnightMarketData, "collaterals">) => MorphoMidnightCollateralParams[];