@defisaver/positions-sdk 2.1.145 → 2.1.147

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.
@@ -165,6 +165,31 @@ export const MORPHO_MIDNIGHT_CBBTC_USDC_860_20261225 = (networkId = NetworkNumbe
165
165
  curator: 'Morpho',
166
166
  });
167
167
 
168
+ export const MORPHO_MIDNIGHT_CBBTC_USDC_860_20270129 = (networkId = NetworkNumber.Base): MorphoMidnightMarketData => ({
169
+ // This public term is also listed by Tenor, but has no Tenor curator vault and
170
+ // therefore uses the same Morpho market ID as the generic market entry.
171
+ chainIds: [NetworkNumber.Base],
172
+ label: 'Morpho Midnight cbBTC/USDC',
173
+ shortLabel: 'cbBTC/USDC',
174
+ url: 'cbbtc-usdc-20270129',
175
+ value: MorphoMidnightVersions.MorphoMidnightCbBTCUSDC_860_20270129_Base,
176
+ midnight: MIDNIGHT_BASE,
177
+ loanToken: USDC_BASE,
178
+ collaterals: [{
179
+ token: CBBTC_BASE,
180
+ lltv: 0.86,
181
+ liquidationCursor: '300000000000000000',
182
+ oracle: '0x663BECd10daE6C4A3Dcd89F1d76c1174199639B9',
183
+ }],
184
+ maturity: 1801234800, // 2027-01-29T15:00:00Z
185
+ rcfThreshold: '3000000000',
186
+ enterGate: ZERO_ADDRESS,
187
+ liquidatorGate: ZERO_ADDRESS,
188
+ marketId: '0xfbbdc1b3e507fc738bca29973750ecb3f2357159191fa4d01f59cea1a895dcfd',
189
+ protocolName: 'morpho-midnight',
190
+ curator: 'Morpho',
191
+ });
192
+
168
193
  // ── Tenor-curated ────────────────────────────────────────────────────────────────────────────────
169
194
 
170
195
  // Tenor Midnight markets are the same structs as Morpho's (`MorphoMidnightMarketData`), on the same core
@@ -621,6 +646,138 @@ export const MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261217 = (networkId = Networ
621
646
  curator: 'Tenor',
622
647
  });
623
648
 
649
+ // Tenor rolls the WETH/USDC and cbETH/WETH ladders monthly. These terms supersede the
650
+ // older Aug–Dec ladder in Tenor's UI, but remain distinct on-chain markets and order books.
651
+ const createTenorWethUsdcRollingMarket = (
652
+ value: MorphoMidnightVersions,
653
+ url: string,
654
+ maturity: number,
655
+ marketId: string,
656
+ ): MorphoMidnightMarketData => ({
657
+ chainIds: [NetworkNumber.Base],
658
+ label: 'Tenor WETH/USDC',
659
+ shortLabel: 'Tenor WETH/USDC',
660
+ url,
661
+ value,
662
+ midnight: MIDNIGHT_BASE,
663
+ loanToken: USDC_BASE,
664
+ collaterals: [{
665
+ token: WETH_BASE,
666
+ lltv: 0.86,
667
+ liquidationCursor: '300000000000000000',
668
+ oracle: '0xFEa2D58cEfCb9fcb597723c6bAE66fFE4193aFE4',
669
+ }],
670
+ hiddenCollaterals: [{
671
+ token: TENOR_WETH_USDC_VAULT_BASE,
672
+ lltv: 0.98,
673
+ liquidationCursor: '300000000000000000',
674
+ oracle: '0x784519B1b59A1e1498f077066bB9336672bcc3EE',
675
+ }],
676
+ maturity,
677
+ rcfThreshold: '3000000000',
678
+ enterGate: ZERO_ADDRESS,
679
+ liquidatorGate: ZERO_ADDRESS,
680
+ marketId,
681
+ protocolName: 'morpho-midnight',
682
+ curator: 'Tenor',
683
+ });
684
+
685
+ const createTenorCbEthWethRollingMarket = (
686
+ value: MorphoMidnightVersions,
687
+ url: string,
688
+ maturity: number,
689
+ marketId: string,
690
+ ): MorphoMidnightMarketData => ({
691
+ chainIds: [NetworkNumber.Base],
692
+ label: 'Tenor cbETH/WETH',
693
+ shortLabel: 'Tenor cbETH/WETH',
694
+ url,
695
+ value,
696
+ midnight: MIDNIGHT_BASE,
697
+ loanToken: WETH_BASE,
698
+ collaterals: [{
699
+ token: CBETH_BASE,
700
+ lltv: 0.945,
701
+ liquidationCursor: '300000000000000000',
702
+ oracle: '0xB03855Ad5AFD6B8db8091DD5551CAC4ed621d9E6',
703
+ }],
704
+ hiddenCollaterals: [{
705
+ token: TENOR_CBETH_WETH_VAULT_BASE,
706
+ lltv: 0.98,
707
+ liquidationCursor: '300000000000000000',
708
+ oracle: '0xa02f629871be35d6db0F88C944cF955554Ec87c0',
709
+ }],
710
+ maturity,
711
+ rcfThreshold: '4000000000000000000',
712
+ enterGate: ZERO_ADDRESS,
713
+ liquidatorGate: ZERO_ADDRESS,
714
+ marketId,
715
+ protocolName: 'morpho-midnight',
716
+ curator: 'Tenor',
717
+ });
718
+
719
+ export const MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20260925 = () => createTenorWethUsdcRollingMarket(
720
+ MorphoMidnightVersions.MorphoMidnightTenorWETHUSDC_20260925_Base,
721
+ 'tenor-weth-usdc-20260925',
722
+ 1790348400,
723
+ '0x436fa08b0c46b961d3021117919919d9224157f6a9efd8e371c04008feeb0597',
724
+ );
725
+ export const MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261030 = () => createTenorWethUsdcRollingMarket(
726
+ MorphoMidnightVersions.MorphoMidnightTenorWETHUSDC_20261030_Base,
727
+ 'tenor-weth-usdc-20261030',
728
+ 1793372400,
729
+ '0x379ae30c5fcb8988c4aac92ddabb13e15c247dd0104157257e6ecf686b7a69dd',
730
+ );
731
+ export const MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261127 = () => createTenorWethUsdcRollingMarket(
732
+ MorphoMidnightVersions.MorphoMidnightTenorWETHUSDC_20261127_Base,
733
+ 'tenor-weth-usdc-20261127',
734
+ 1795791600,
735
+ '0xb0513c347a3535d22afcbe697feb5790ab4254b4f885a6e9e77926682c6cc3f5',
736
+ );
737
+ export const MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261225 = () => createTenorWethUsdcRollingMarket(
738
+ MorphoMidnightVersions.MorphoMidnightTenorWETHUSDC_20261225_Base,
739
+ 'tenor-weth-usdc-20261225',
740
+ 1798210800,
741
+ '0xdc209b64f909313bd3f54133ac5716a0a3ea03f7faa6332f75d906de16bd2893',
742
+ );
743
+ export const MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20270129 = () => createTenorWethUsdcRollingMarket(
744
+ MorphoMidnightVersions.MorphoMidnightTenorWETHUSDC_20270129_Base,
745
+ 'tenor-weth-usdc-20270129',
746
+ 1801234800,
747
+ '0x5f21188cf50dcd269250911a64824736d09770d56796cae432a529a679351475',
748
+ );
749
+
750
+ export const MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20260925 = () => createTenorCbEthWethRollingMarket(
751
+ MorphoMidnightVersions.MorphoMidnightTenorCbETHWETH_20260925_Base,
752
+ 'tenor-cbeth-weth-20260925',
753
+ 1790348400,
754
+ '0x65db922379427ec777fc55650b8f6cc31ab3a3f2f86a9798fc898c81cf936e17',
755
+ );
756
+ export const MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261030 = () => createTenorCbEthWethRollingMarket(
757
+ MorphoMidnightVersions.MorphoMidnightTenorCbETHWETH_20261030_Base,
758
+ 'tenor-cbeth-weth-20261030',
759
+ 1793372400,
760
+ '0xcdea4ca06837feca3026b23a95f0bd96c3eabdc77d1211472ce0346fcc200649',
761
+ );
762
+ export const MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261127 = () => createTenorCbEthWethRollingMarket(
763
+ MorphoMidnightVersions.MorphoMidnightTenorCbETHWETH_20261127_Base,
764
+ 'tenor-cbeth-weth-20261127',
765
+ 1795791600,
766
+ '0xbb9ee13ffe52f4d52311775b1bd4fa309e402fd01ddfa165023c42dd6e5c051d',
767
+ );
768
+ export const MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261225 = () => createTenorCbEthWethRollingMarket(
769
+ MorphoMidnightVersions.MorphoMidnightTenorCbETHWETH_20261225_Base,
770
+ 'tenor-cbeth-weth-20261225',
771
+ 1798210800,
772
+ '0x80530386795c88ba8c1ea6d686ae6168525c819ce4e0ea6017cb59afe34fb6d2',
773
+ );
774
+ export const MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20270129 = () => createTenorCbEthWethRollingMarket(
775
+ MorphoMidnightVersions.MorphoMidnightTenorCbETHWETH_20270129_Base,
776
+ 'tenor-cbeth-weth-20270129',
777
+ 1801234800,
778
+ '0x3cfda244eeec7e5cda2a07ef23e2a5e3fe6ba17882417cafbf3f3c432377ff1d',
779
+ );
780
+
624
781
  export const MorphoMidnightMarkets = (networkId: NetworkNumber) => ({
625
782
  // BASE — Morpho-curated
626
783
  [MorphoMidnightVersions.MorphoMidnightCbBTCUSDC_860_20260731_Base]: MORPHO_MIDNIGHT_CBBTC_USDC_860_20260731(networkId),
@@ -629,6 +786,7 @@ export const MorphoMidnightMarkets = (networkId: NetworkNumber) => ({
629
786
  [MorphoMidnightVersions.MorphoMidnightCbBTCUSDC_860_20261030_Base]: MORPHO_MIDNIGHT_CBBTC_USDC_860_20261030(networkId),
630
787
  [MorphoMidnightVersions.MorphoMidnightCbBTCUSDC_860_20261127_Base]: MORPHO_MIDNIGHT_CBBTC_USDC_860_20261127(networkId),
631
788
  [MorphoMidnightVersions.MorphoMidnightCbBTCUSDC_860_20261225_Base]: MORPHO_MIDNIGHT_CBBTC_USDC_860_20261225(networkId),
789
+ [MorphoMidnightVersions.MorphoMidnightCbBTCUSDC_860_20270129_Base]: MORPHO_MIDNIGHT_CBBTC_USDC_860_20270129(networkId),
632
790
  // BASE — Tenor-curated
633
791
  [MorphoMidnightVersions.MorphoMidnightTenorCbBTCUSDC_20260827_Base]: MORPHO_MIDNIGHT_TENOR_CBBTC_USDC_860_20260827(networkId),
634
792
  [MorphoMidnightVersions.MorphoMidnightTenorCbBTCUSDC_20260924_Base]: MORPHO_MIDNIGHT_TENOR_CBBTC_USDC_860_20260924(networkId),
@@ -640,11 +798,21 @@ export const MorphoMidnightMarkets = (networkId: NetworkNumber) => ({
640
798
  [MorphoMidnightVersions.MorphoMidnightTenorWETHUSDC_20261022_Base]: MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261022(networkId),
641
799
  [MorphoMidnightVersions.MorphoMidnightTenorWETHUSDC_20261119_Base]: MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261119(networkId),
642
800
  [MorphoMidnightVersions.MorphoMidnightTenorWETHUSDC_20261217_Base]: MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261217(networkId),
801
+ [MorphoMidnightVersions.MorphoMidnightTenorWETHUSDC_20260925_Base]: MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20260925(),
802
+ [MorphoMidnightVersions.MorphoMidnightTenorWETHUSDC_20261030_Base]: MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261030(),
803
+ [MorphoMidnightVersions.MorphoMidnightTenorWETHUSDC_20261127_Base]: MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261127(),
804
+ [MorphoMidnightVersions.MorphoMidnightTenorWETHUSDC_20261225_Base]: MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261225(),
805
+ [MorphoMidnightVersions.MorphoMidnightTenorWETHUSDC_20270129_Base]: MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20270129(),
643
806
  [MorphoMidnightVersions.MorphoMidnightTenorCbETHWETH_20260827_Base]: MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20260827(networkId),
644
807
  [MorphoMidnightVersions.MorphoMidnightTenorCbETHWETH_20260924_Base]: MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20260924(networkId),
645
808
  [MorphoMidnightVersions.MorphoMidnightTenorCbETHWETH_20261022_Base]: MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261022(networkId),
646
809
  [MorphoMidnightVersions.MorphoMidnightTenorCbETHWETH_20261119_Base]: MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261119(networkId),
647
810
  [MorphoMidnightVersions.MorphoMidnightTenorCbETHWETH_20261217_Base]: MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261217(networkId),
811
+ [MorphoMidnightVersions.MorphoMidnightTenorCbETHWETH_20260925_Base]: MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20260925(),
812
+ [MorphoMidnightVersions.MorphoMidnightTenorCbETHWETH_20261030_Base]: MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261030(),
813
+ [MorphoMidnightVersions.MorphoMidnightTenorCbETHWETH_20261127_Base]: MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261127(),
814
+ [MorphoMidnightVersions.MorphoMidnightTenorCbETHWETH_20261225_Base]: MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261225(),
815
+ [MorphoMidnightVersions.MorphoMidnightTenorCbETHWETH_20270129_Base]: MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20270129(),
648
816
  }) as const;
649
817
 
650
818
  // Which markets Tenor's router quotes, by id, for the quote helpers that only receive one.
@@ -12,6 +12,7 @@ export enum MorphoMidnightVersions {
12
12
  MorphoMidnightCbBTCUSDC_860_20261030_Base = 'morphomidnightcbbtcusdc_860_20261030_base',
13
13
  MorphoMidnightCbBTCUSDC_860_20261127_Base = 'morphomidnightcbbtcusdc_860_20261127_base',
14
14
  MorphoMidnightCbBTCUSDC_860_20261225_Base = 'morphomidnightcbbtcusdc_860_20261225_base',
15
+ MorphoMidnightCbBTCUSDC_860_20270129_Base = 'morphomidnightcbbtcusdc_860_20270129_base',
15
16
  // Tenor-hosted Midnight markets (same core, different order book)
16
17
  MorphoMidnightTenorCbBTCUSDC_20260827_Base = 'morphomidnighttenorcbbtcusdc_20260827_base',
17
18
  MorphoMidnightTenorCbBTCUSDC_20260924_Base = 'morphomidnighttenorcbbtcusdc_20260924_base',
@@ -23,11 +24,21 @@ export enum MorphoMidnightVersions {
23
24
  MorphoMidnightTenorWETHUSDC_20261022_Base = 'morphomidnighttenorwethusdc_20261022_base',
24
25
  MorphoMidnightTenorWETHUSDC_20261119_Base = 'morphomidnighttenorwethusdc_20261119_base',
25
26
  MorphoMidnightTenorWETHUSDC_20261217_Base = 'morphomidnighttenorwethusdc_20261217_base',
27
+ MorphoMidnightTenorWETHUSDC_20260925_Base = 'morphomidnighttenorwethusdc_20260925_base',
28
+ MorphoMidnightTenorWETHUSDC_20261030_Base = 'morphomidnighttenorwethusdc_20261030_base',
29
+ MorphoMidnightTenorWETHUSDC_20261127_Base = 'morphomidnighttenorwethusdc_20261127_base',
30
+ MorphoMidnightTenorWETHUSDC_20261225_Base = 'morphomidnighttenorwethusdc_20261225_base',
31
+ MorphoMidnightTenorWETHUSDC_20270129_Base = 'morphomidnighttenorwethusdc_20270129_base',
26
32
  MorphoMidnightTenorCbETHWETH_20260827_Base = 'morphomidnighttenorcbethweth_20260827_base',
27
33
  MorphoMidnightTenorCbETHWETH_20260924_Base = 'morphomidnighttenorcbethweth_20260924_base',
28
34
  MorphoMidnightTenorCbETHWETH_20261022_Base = 'morphomidnighttenorcbethweth_20261022_base',
29
35
  MorphoMidnightTenorCbETHWETH_20261119_Base = 'morphomidnighttenorcbethweth_20261119_base',
30
36
  MorphoMidnightTenorCbETHWETH_20261217_Base = 'morphomidnighttenorcbethweth_20261217_base',
37
+ MorphoMidnightTenorCbETHWETH_20260925_Base = 'morphomidnighttenorcbethweth_20260925_base',
38
+ MorphoMidnightTenorCbETHWETH_20261030_Base = 'morphomidnighttenorcbethweth_20261030_base',
39
+ MorphoMidnightTenorCbETHWETH_20261127_Base = 'morphomidnighttenorcbethweth_20261127_base',
40
+ MorphoMidnightTenorCbETHWETH_20261225_Base = 'morphomidnighttenorcbethweth_20261225_base',
41
+ MorphoMidnightTenorCbETHWETH_20270129_Base = 'morphomidnighttenorcbethweth_20270129_base',
31
42
  }
32
43
 
33
44
  export type MorphoMidnightCurator = 'Morpho' | 'Tenor';