@defisaver/positions-sdk 2.1.127-dev → 2.1.127-midnight-1-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 (73) hide show
  1. package/cjs/config/contracts.d.ts +249 -0
  2. package/cjs/config/contracts.js +11 -1
  3. package/cjs/contracts.d.ts +1510 -0
  4. package/cjs/contracts.js +3 -2
  5. package/cjs/helpers/index.d.ts +1 -0
  6. package/cjs/helpers/index.js +2 -1
  7. package/cjs/helpers/morphoBlueHelpers/index.js +0 -1
  8. package/cjs/helpers/morphoMidnightHelpers/index.d.ts +50 -0
  9. package/cjs/helpers/morphoMidnightHelpers/index.js +170 -0
  10. package/cjs/index.d.ts +2 -1
  11. package/cjs/index.js +3 -1
  12. package/cjs/markets/index.d.ts +1 -0
  13. package/cjs/markets/index.js +4 -1
  14. package/cjs/markets/morphoMidnight/index.d.ts +16 -0
  15. package/cjs/markets/morphoMidnight/index.js +159 -0
  16. package/cjs/morphoBlue/index.d.ts +6 -8
  17. package/cjs/morphoBlue/index.js +40 -69
  18. package/cjs/morphoMidnight/index.d.ts +14 -0
  19. package/cjs/morphoMidnight/index.js +244 -0
  20. package/cjs/portfolio/discovery.js +4 -0
  21. package/cjs/portfolio/index.js +45 -1
  22. package/cjs/services/viem.d.ts +11 -11
  23. package/cjs/types/index.d.ts +1 -0
  24. package/cjs/types/index.js +1 -0
  25. package/cjs/types/morphoBlue.d.ts +0 -9
  26. package/cjs/types/morphoMidnight.d.ts +94 -0
  27. package/cjs/types/morphoMidnight.js +15 -0
  28. package/cjs/types/portfolio.d.ts +4 -0
  29. package/esm/config/contracts.d.ts +249 -0
  30. package/esm/config/contracts.js +9 -0
  31. package/esm/contracts.d.ts +1510 -0
  32. package/esm/contracts.js +1 -0
  33. package/esm/helpers/index.d.ts +1 -0
  34. package/esm/helpers/index.js +1 -0
  35. package/esm/helpers/morphoBlueHelpers/index.js +0 -1
  36. package/esm/helpers/morphoMidnightHelpers/index.d.ts +50 -0
  37. package/esm/helpers/morphoMidnightHelpers/index.js +159 -0
  38. package/esm/index.d.ts +2 -1
  39. package/esm/index.js +2 -1
  40. package/esm/markets/index.d.ts +1 -0
  41. package/esm/markets/index.js +1 -0
  42. package/esm/markets/morphoMidnight/index.d.ts +16 -0
  43. package/esm/markets/morphoMidnight/index.js +148 -0
  44. package/esm/morphoBlue/index.d.ts +6 -8
  45. package/esm/morphoBlue/index.js +39 -62
  46. package/esm/morphoMidnight/index.d.ts +14 -0
  47. package/esm/morphoMidnight/index.js +231 -0
  48. package/esm/portfolio/discovery.js +5 -1
  49. package/esm/portfolio/index.js +47 -3
  50. package/esm/services/viem.d.ts +11 -11
  51. package/esm/types/index.d.ts +1 -0
  52. package/esm/types/index.js +1 -0
  53. package/esm/types/morphoBlue.d.ts +0 -9
  54. package/esm/types/morphoMidnight.d.ts +94 -0
  55. package/esm/types/morphoMidnight.js +12 -0
  56. package/esm/types/portfolio.d.ts +4 -0
  57. package/package.json +1 -1
  58. package/src/config/contracts.ts +9 -0
  59. package/src/contracts.ts +1 -0
  60. package/src/helpers/index.ts +1 -0
  61. package/src/helpers/morphoBlueHelpers/index.ts +0 -1
  62. package/src/helpers/morphoMidnightHelpers/index.ts +219 -0
  63. package/src/index.ts +2 -0
  64. package/src/markets/index.ts +1 -0
  65. package/src/markets/morphoMidnight/index.ts +161 -0
  66. package/src/morphoBlue/index.ts +44 -101
  67. package/src/morphoMidnight/index.ts +261 -0
  68. package/src/portfolio/discovery.ts +6 -0
  69. package/src/portfolio/index.ts +46 -2
  70. package/src/types/index.ts +1 -0
  71. package/src/types/morphoBlue.ts +0 -11
  72. package/src/types/morphoMidnight.ts +110 -0
  73. package/src/types/portfolio.ts +4 -0
@@ -833,6 +833,7 @@ export declare const getViemProvider: (provider: EthereumProvider, network: Netw
833
833
  s: import("viem").Hex;
834
834
  value: bigint;
835
835
  v: bigint;
836
+ chainId?: number | undefined;
836
837
  type: "legacy";
837
838
  gas: bigint;
838
839
  nonce: number;
@@ -847,7 +848,6 @@ export declare const getViemProvider: (provider: EthereumProvider, network: Netw
847
848
  yParity?: undefined | undefined;
848
849
  input: import("viem").Hex;
849
850
  typeHex: import("viem").Hex | null;
850
- chainId?: number | undefined;
851
851
  blockNumber: (blockTag extends "pending" ? true : false) extends infer T ? T extends (blockTag extends "pending" ? true : false) ? T extends true ? null : bigint : never : never;
852
852
  blockHash: (blockTag extends "pending" ? true : false) extends infer T_1 ? T_1 extends (blockTag extends "pending" ? true : false) ? T_1 extends true ? null : `0x${string}` : never : never;
853
853
  transactionIndex: (blockTag extends "pending" ? true : false) extends infer T_2 ? T_2 extends (blockTag extends "pending" ? true : false) ? T_2 extends true ? null : number : never : never;
@@ -858,6 +858,7 @@ export declare const getViemProvider: (provider: EthereumProvider, network: Netw
858
858
  s: import("viem").Hex;
859
859
  value: bigint;
860
860
  v: bigint;
861
+ chainId: number;
861
862
  type: "eip2930";
862
863
  gas: bigint;
863
864
  nonce: number;
@@ -872,7 +873,6 @@ export declare const getViemProvider: (provider: EthereumProvider, network: Netw
872
873
  yParity: number;
873
874
  input: import("viem").Hex;
874
875
  typeHex: import("viem").Hex | null;
875
- chainId: number;
876
876
  blockNumber: (blockTag extends "pending" ? true : false) extends infer T_3 ? T_3 extends (blockTag extends "pending" ? true : false) ? T_3 extends true ? null : bigint : never : never;
877
877
  blockHash: (blockTag extends "pending" ? true : false) extends infer T_4 ? T_4 extends (blockTag extends "pending" ? true : false) ? T_4 extends true ? null : `0x${string}` : never : never;
878
878
  transactionIndex: (blockTag extends "pending" ? true : false) extends infer T_5 ? T_5 extends (blockTag extends "pending" ? true : false) ? T_5 extends true ? null : number : never : never;
@@ -883,6 +883,7 @@ export declare const getViemProvider: (provider: EthereumProvider, network: Netw
883
883
  s: import("viem").Hex;
884
884
  value: bigint;
885
885
  v: bigint;
886
+ chainId: number;
886
887
  type: "eip1559";
887
888
  gas: bigint;
888
889
  nonce: number;
@@ -897,7 +898,6 @@ export declare const getViemProvider: (provider: EthereumProvider, network: Netw
897
898
  yParity: number;
898
899
  input: import("viem").Hex;
899
900
  typeHex: import("viem").Hex | null;
900
- chainId: number;
901
901
  blockNumber: (blockTag extends "pending" ? true : false) extends infer T_6 ? T_6 extends (blockTag extends "pending" ? true : false) ? T_6 extends true ? null : bigint : never : never;
902
902
  blockHash: (blockTag extends "pending" ? true : false) extends infer T_7 ? T_7 extends (blockTag extends "pending" ? true : false) ? T_7 extends true ? null : `0x${string}` : never : never;
903
903
  transactionIndex: (blockTag extends "pending" ? true : false) extends infer T_8 ? T_8 extends (blockTag extends "pending" ? true : false) ? T_8 extends true ? null : number : never : never;
@@ -908,6 +908,7 @@ export declare const getViemProvider: (provider: EthereumProvider, network: Netw
908
908
  s: import("viem").Hex;
909
909
  value: bigint;
910
910
  v: bigint;
911
+ chainId: number;
911
912
  type: "eip4844";
912
913
  gas: bigint;
913
914
  nonce: number;
@@ -922,7 +923,6 @@ export declare const getViemProvider: (provider: EthereumProvider, network: Netw
922
923
  yParity: number;
923
924
  input: import("viem").Hex;
924
925
  typeHex: import("viem").Hex | null;
925
- chainId: number;
926
926
  blockNumber: (blockTag extends "pending" ? true : false) extends infer T_9 ? T_9 extends (blockTag extends "pending" ? true : false) ? T_9 extends true ? null : bigint : never : never;
927
927
  blockHash: (blockTag extends "pending" ? true : false) extends infer T_10 ? T_10 extends (blockTag extends "pending" ? true : false) ? T_10 extends true ? null : `0x${string}` : never : never;
928
928
  transactionIndex: (blockTag extends "pending" ? true : false) extends infer T_11 ? T_11 extends (blockTag extends "pending" ? true : false) ? T_11 extends true ? null : number : never : never;
@@ -933,6 +933,7 @@ export declare const getViemProvider: (provider: EthereumProvider, network: Netw
933
933
  s: import("viem").Hex;
934
934
  value: bigint;
935
935
  v: bigint;
936
+ chainId: number;
936
937
  type: "eip7702";
937
938
  gas: bigint;
938
939
  nonce: number;
@@ -947,7 +948,6 @@ export declare const getViemProvider: (provider: EthereumProvider, network: Netw
947
948
  yParity: number;
948
949
  input: import("viem").Hex;
949
950
  typeHex: import("viem").Hex | null;
950
- chainId: number;
951
951
  blockNumber: (blockTag extends "pending" ? true : false) extends infer T_12 ? T_12 extends (blockTag extends "pending" ? true : false) ? T_12 extends true ? null : bigint : never : never;
952
952
  blockHash: (blockTag extends "pending" ? true : false) extends infer T_13 ? T_13 extends (blockTag extends "pending" ? true : false) ? T_13 extends true ? null : `0x${string}` : never : never;
953
953
  transactionIndex: (blockTag extends "pending" ? true : false) extends infer T_14 ? T_14 extends (blockTag extends "pending" ? true : false) ? T_14 extends true ? null : number : never : never;
@@ -983,6 +983,7 @@ export declare const getViemProvider: (provider: EthereumProvider, network: Netw
983
983
  s: import("viem").Hex;
984
984
  value: bigint;
985
985
  v: bigint;
986
+ chainId?: number | undefined;
986
987
  type: "legacy";
987
988
  gas: bigint;
988
989
  nonce: number;
@@ -997,7 +998,6 @@ export declare const getViemProvider: (provider: EthereumProvider, network: Netw
997
998
  yParity?: undefined | undefined;
998
999
  input: import("viem").Hex;
999
1000
  typeHex: import("viem").Hex | null;
1000
- chainId?: number | undefined;
1001
1001
  blockNumber: (blockTag extends "pending" ? true : false) extends infer T ? T extends (blockTag extends "pending" ? true : false) ? T extends true ? null : bigint : never : never;
1002
1002
  blockHash: (blockTag extends "pending" ? true : false) extends infer T_1 ? T_1 extends (blockTag extends "pending" ? true : false) ? T_1 extends true ? null : `0x${string}` : never : never;
1003
1003
  transactionIndex: (blockTag extends "pending" ? true : false) extends infer T_2 ? T_2 extends (blockTag extends "pending" ? true : false) ? T_2 extends true ? null : number : never : never;
@@ -1008,6 +1008,7 @@ export declare const getViemProvider: (provider: EthereumProvider, network: Netw
1008
1008
  s: import("viem").Hex;
1009
1009
  value: bigint;
1010
1010
  v: bigint;
1011
+ chainId: number;
1011
1012
  type: "eip2930";
1012
1013
  gas: bigint;
1013
1014
  nonce: number;
@@ -1022,7 +1023,6 @@ export declare const getViemProvider: (provider: EthereumProvider, network: Netw
1022
1023
  yParity: number;
1023
1024
  input: import("viem").Hex;
1024
1025
  typeHex: import("viem").Hex | null;
1025
- chainId: number;
1026
1026
  blockNumber: (blockTag extends "pending" ? true : false) extends infer T_3 ? T_3 extends (blockTag extends "pending" ? true : false) ? T_3 extends true ? null : bigint : never : never;
1027
1027
  blockHash: (blockTag extends "pending" ? true : false) extends infer T_4 ? T_4 extends (blockTag extends "pending" ? true : false) ? T_4 extends true ? null : `0x${string}` : never : never;
1028
1028
  transactionIndex: (blockTag extends "pending" ? true : false) extends infer T_5 ? T_5 extends (blockTag extends "pending" ? true : false) ? T_5 extends true ? null : number : never : never;
@@ -1033,6 +1033,7 @@ export declare const getViemProvider: (provider: EthereumProvider, network: Netw
1033
1033
  s: import("viem").Hex;
1034
1034
  value: bigint;
1035
1035
  v: bigint;
1036
+ chainId: number;
1036
1037
  type: "eip1559";
1037
1038
  gas: bigint;
1038
1039
  nonce: number;
@@ -1047,7 +1048,6 @@ export declare const getViemProvider: (provider: EthereumProvider, network: Netw
1047
1048
  yParity: number;
1048
1049
  input: import("viem").Hex;
1049
1050
  typeHex: import("viem").Hex | null;
1050
- chainId: number;
1051
1051
  blockNumber: (blockTag extends "pending" ? true : false) extends infer T_6 ? T_6 extends (blockTag extends "pending" ? true : false) ? T_6 extends true ? null : bigint : never : never;
1052
1052
  blockHash: (blockTag extends "pending" ? true : false) extends infer T_7 ? T_7 extends (blockTag extends "pending" ? true : false) ? T_7 extends true ? null : `0x${string}` : never : never;
1053
1053
  transactionIndex: (blockTag extends "pending" ? true : false) extends infer T_8 ? T_8 extends (blockTag extends "pending" ? true : false) ? T_8 extends true ? null : number : never : never;
@@ -1058,6 +1058,7 @@ export declare const getViemProvider: (provider: EthereumProvider, network: Netw
1058
1058
  s: import("viem").Hex;
1059
1059
  value: bigint;
1060
1060
  v: bigint;
1061
+ chainId: number;
1061
1062
  type: "eip4844";
1062
1063
  gas: bigint;
1063
1064
  nonce: number;
@@ -1072,7 +1073,6 @@ export declare const getViemProvider: (provider: EthereumProvider, network: Netw
1072
1073
  yParity: number;
1073
1074
  input: import("viem").Hex;
1074
1075
  typeHex: import("viem").Hex | null;
1075
- chainId: number;
1076
1076
  blockNumber: (blockTag extends "pending" ? true : false) extends infer T_9 ? T_9 extends (blockTag extends "pending" ? true : false) ? T_9 extends true ? null : bigint : never : never;
1077
1077
  blockHash: (blockTag extends "pending" ? true : false) extends infer T_10 ? T_10 extends (blockTag extends "pending" ? true : false) ? T_10 extends true ? null : `0x${string}` : never : never;
1078
1078
  transactionIndex: (blockTag extends "pending" ? true : false) extends infer T_11 ? T_11 extends (blockTag extends "pending" ? true : false) ? T_11 extends true ? null : number : never : never;
@@ -1083,6 +1083,7 @@ export declare const getViemProvider: (provider: EthereumProvider, network: Netw
1083
1083
  s: import("viem").Hex;
1084
1084
  value: bigint;
1085
1085
  v: bigint;
1086
+ chainId: number;
1086
1087
  type: "eip7702";
1087
1088
  gas: bigint;
1088
1089
  nonce: number;
@@ -1097,7 +1098,6 @@ export declare const getViemProvider: (provider: EthereumProvider, network: Netw
1097
1098
  yParity: number;
1098
1099
  input: import("viem").Hex;
1099
1100
  typeHex: import("viem").Hex | null;
1100
- chainId: number;
1101
1101
  blockNumber: (blockTag extends "pending" ? true : false) extends infer T_12 ? T_12 extends (blockTag extends "pending" ? true : false) ? T_12 extends true ? null : bigint : never : never;
1102
1102
  blockHash: (blockTag extends "pending" ? true : false) extends infer T_13 ? T_13 extends (blockTag extends "pending" ? true : false) ? T_13 extends true ? null : `0x${string}` : never : never;
1103
1103
  transactionIndex: (blockTag extends "pending" ? true : false) extends infer T_14 ? T_14 extends (blockTag extends "pending" ? true : false) ? T_14 extends true ? null : number : never : never;
@@ -4358,7 +4358,7 @@ export declare const getViemProvider: (provider: EthereumProvider, network: Netw
4358
4358
  authorizationList: import("viem").TransactionSerializableEIP7702["authorizationList"];
4359
4359
  } ? "eip7702" : never) | (request["type"] extends string | undefined ? Extract<request["type"], string> : never)>) ? T_12 extends "eip7702" ? import("viem").TransactionRequestEIP7702 : never : never : never)>> & {
4360
4360
  chainId?: number | undefined;
4361
- }, (request["parameters"] extends readonly import("viem").PrepareTransactionRequestParameterType[] ? request["parameters"][number] : "type" | "gas" | "nonce" | "blobVersionedHashes" | "fees" | "chainId") extends infer T_13 ? T_13 extends (request["parameters"] extends readonly import("viem").PrepareTransactionRequestParameterType[] ? request["parameters"][number] : "type" | "gas" | "nonce" | "blobVersionedHashes" | "fees" | "chainId") ? T_13 extends "fees" ? "gasPrice" | "maxFeePerGas" | "maxPriorityFeePerGas" : T_13 : never : never> & (unknown extends request["kzg"] ? {} : Pick<request, "kzg">) extends infer T ? { [K in keyof T]: T[K]; } : never>;
4361
+ }, (request["parameters"] extends readonly import("viem").PrepareTransactionRequestParameterType[] ? request["parameters"][number] : "chainId" | "type" | "gas" | "nonce" | "blobVersionedHashes" | "fees") extends infer T_13 ? T_13 extends (request["parameters"] extends readonly import("viem").PrepareTransactionRequestParameterType[] ? request["parameters"][number] : "chainId" | "type" | "gas" | "nonce" | "blobVersionedHashes" | "fees") ? T_13 extends "fees" ? "gasPrice" | "maxFeePerGas" | "maxPriorityFeePerGas" : T_13 : never : never> & (unknown extends request["kzg"] ? {} : Pick<request, "kzg">) extends infer T ? { [K in keyof T]: T[K]; } : never>;
4362
4362
  readContract: <const abi extends Abi | readonly unknown[], functionName extends import("viem").ContractFunctionName<abi, "pure" | "view">, const args extends import("viem").ContractFunctionArgs<abi, "pure" | "view", functionName>>(args: import("viem").ReadContractParameters<abi, functionName, args>) => Promise<import("viem").ReadContractReturnType<abi, functionName, args>>;
4363
4363
  sendRawTransaction: (args: import("viem").SendRawTransactionParameters) => Promise<import("viem").SendRawTransactionReturnType>;
4364
4364
  simulate: <const calls extends readonly unknown[]>(args: import("viem").SimulateBlocksParameters<calls>) => Promise<import("viem").SimulateBlocksReturnType<calls>>;
@@ -6,6 +6,7 @@ export * from './liquity';
6
6
  export * from './liquityV2';
7
7
  export * from './maker';
8
8
  export * from './morphoBlue';
9
+ export * from './morphoMidnight';
9
10
  export * from './llamaLend';
10
11
  export * from './euler';
11
12
  export * from './fluid';
@@ -22,6 +22,7 @@ __exportStar(require("./liquity"), exports);
22
22
  __exportStar(require("./liquityV2"), exports);
23
23
  __exportStar(require("./maker"), exports);
24
24
  __exportStar(require("./morphoBlue"), exports);
25
+ __exportStar(require("./morphoMidnight"), exports);
25
26
  __exportStar(require("./llamaLend"), exports);
26
27
  __exportStar(require("./euler"), exports);
27
28
  __exportStar(require("./fluid"), exports);
@@ -212,15 +212,6 @@ export interface MorphoBluePositionData {
212
212
  borrowShares: string;
213
213
  exposure: string;
214
214
  }
215
- export interface MorphoBlueEarnData {
216
- apy: string;
217
- amount: string;
218
- amountUsd: string;
219
- }
220
- export interface MorphoBlueMarketRewards {
221
- supplyApy: string;
222
- borrowApy: string;
223
- }
224
215
  export interface MorphoBlueVault {
225
216
  address: string;
226
217
  }
@@ -0,0 +1,94 @@
1
+ import { EthAddress, IncentiveData, LeverageType, MMUsedAssets, NetworkNumber } from './common';
2
+ export declare enum MorphoMidnightVersions {
3
+ MorphoMidnightCbBTCUSDC_860_20260731_Base = "morphomidnightcbbtcusdc_860_20260731_base",
4
+ MorphoMidnightCbBTCUSDC_860_20260828_Base = "morphomidnightcbbtcusdc_860_20260828_base",
5
+ MorphoMidnightCbBTCUSDC_860_20260925_Base = "morphomidnightcbbtcusdc_860_20260925_base",
6
+ MorphoMidnightCbBTCUSDC_860_20261030_Base = "morphomidnightcbbtcusdc_860_20261030_base",
7
+ MorphoMidnightCbBTCUSDC_860_20261127_Base = "morphomidnightcbbtcusdc_860_20261127_base",
8
+ MorphoMidnightCbBTCUSDC_860_20261225_Base = "morphomidnightcbbtcusdc_860_20261225_base"
9
+ }
10
+ export interface MorphoMidnightCollateralParams {
11
+ token: EthAddress;
12
+ lltv: number | string;
13
+ liquidationCursor: number | string;
14
+ oracle: EthAddress;
15
+ }
16
+ export interface MorphoMidnightMarketData {
17
+ chainIds: NetworkNumber[];
18
+ label: string;
19
+ shortLabel: string;
20
+ url: string;
21
+ value: MorphoMidnightVersions;
22
+ midnight: EthAddress;
23
+ loanToken: EthAddress;
24
+ collaterals: MorphoMidnightCollateralParams[];
25
+ maturity: number;
26
+ rcfThreshold: number | string;
27
+ enterGate: EthAddress;
28
+ liquidatorGate: EthAddress;
29
+ marketId: string;
30
+ protocolName: string;
31
+ }
32
+ export interface MorphoMidnightAssetData {
33
+ symbol: string;
34
+ address: string;
35
+ price: string;
36
+ supplyRate: string;
37
+ borrowRate: string;
38
+ supplyIncentives: IncentiveData[];
39
+ borrowIncentives: IncentiveData[];
40
+ totalSupply?: string;
41
+ totalBorrow?: string;
42
+ canBeSupplied?: boolean;
43
+ canBeBorrowed?: boolean;
44
+ lltv?: string;
45
+ }
46
+ export type MorphoMidnightAssetsData = {
47
+ [key: string]: MorphoMidnightAssetData;
48
+ };
49
+ export interface MorphoMidnightMarketInfo {
50
+ id: string;
51
+ loanToken: string;
52
+ collaterals: string[];
53
+ maturity: number;
54
+ isMatured: boolean;
55
+ totalUnits: string;
56
+ withdrawable: string;
57
+ totalDebt: string;
58
+ lossFactor: string;
59
+ tickSpacing: number;
60
+ utillization: string;
61
+ assetsData: MorphoMidnightAssetsData;
62
+ }
63
+ export interface MorphoMidnightAggregatedPositionData {
64
+ suppliedUsd: string;
65
+ suppliedCollateralUsd: string;
66
+ borrowedUsd: string;
67
+ borrowLimitUsd: string;
68
+ liquidationLimitUsd: string;
69
+ leftToBorrowUsd: string;
70
+ leftToBorrow: string;
71
+ netApy: string;
72
+ incentiveUsd: string;
73
+ totalInterestUsd: string;
74
+ ltv: string;
75
+ ratio: string;
76
+ healthRatio: string;
77
+ leveragedType: LeverageType;
78
+ leveragedAsset?: string;
79
+ currentVolatilePairRatio?: string;
80
+ liquidationPrice?: string;
81
+ minCollRatio?: string;
82
+ collLiquidationRatio?: string;
83
+ exposure: string;
84
+ }
85
+ export interface MorphoMidnightPositionData extends MorphoMidnightAggregatedPositionData {
86
+ usedAssets: MMUsedAssets;
87
+ credit: string;
88
+ debt: string;
89
+ borrowRate: string;
90
+ debtBase: string;
91
+ debtInterest: string;
92
+ maturity: number;
93
+ isMatured: boolean;
94
+ }
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MorphoMidnightVersions = void 0;
4
+ var MorphoMidnightVersions;
5
+ (function (MorphoMidnightVersions) {
6
+ // BASE
7
+ // Fixed-term markets are disambiguated by maturity (YYYYMMDD), so the same pair recurs across dates.
8
+ // Sourced from the official listing at https://markets.morpho.org/fixed/base (see sitemap.xml).
9
+ MorphoMidnightVersions["MorphoMidnightCbBTCUSDC_860_20260731_Base"] = "morphomidnightcbbtcusdc_860_20260731_base";
10
+ MorphoMidnightVersions["MorphoMidnightCbBTCUSDC_860_20260828_Base"] = "morphomidnightcbbtcusdc_860_20260828_base";
11
+ MorphoMidnightVersions["MorphoMidnightCbBTCUSDC_860_20260925_Base"] = "morphomidnightcbbtcusdc_860_20260925_base";
12
+ MorphoMidnightVersions["MorphoMidnightCbBTCUSDC_860_20261030_Base"] = "morphomidnightcbbtcusdc_860_20261030_base";
13
+ MorphoMidnightVersions["MorphoMidnightCbBTCUSDC_860_20261127_Base"] = "morphomidnightcbbtcusdc_860_20261127_base";
14
+ MorphoMidnightVersions["MorphoMidnightCbBTCUSDC_860_20261225_Base"] = "morphomidnightcbbtcusdc_860_20261225_base";
15
+ })(MorphoMidnightVersions || (exports.MorphoMidnightVersions = MorphoMidnightVersions = {}));
@@ -9,6 +9,7 @@ import { LiquityTroveInfo } from './liquity';
9
9
  import { LlamaLendUserData, LlamaLendVersionsType } from './llamaLend';
10
10
  import { CdpData } from './maker';
11
11
  import { MorphoBluePositionData, MorphoBlueVersions } from './morphoBlue';
12
+ import { MorphoMidnightPositionData, MorphoMidnightVersions } from './morphoMidnight';
12
13
  import { SparkPositionData, SparkVersions } from './spark';
13
14
  export interface PortfolioProtocolData<T> {
14
15
  error: string;
@@ -21,6 +22,9 @@ export interface PortfolioPositionsDataForAddress {
21
22
  morphoBlue: {
22
23
  [key in MorphoBlueVersions]?: PortfolioProtocolData<MorphoBluePositionData>;
23
24
  };
25
+ morphoMidnight: {
26
+ [key in MorphoMidnightVersions]?: PortfolioProtocolData<MorphoMidnightPositionData>;
27
+ };
24
28
  compoundV3: {
25
29
  [key in CompoundVersions]?: PortfolioProtocolData<CompoundV3PositionData>;
26
30
  };
@@ -87015,6 +87015,255 @@ export declare const MorphoBlueView: {
87015
87015
  };
87016
87016
  };
87017
87017
  };
87018
+ export declare const MidnightView: {
87019
+ readonly abi: readonly [{
87020
+ readonly inputs: readonly [{
87021
+ readonly internalType: "bytes32";
87022
+ readonly name: "_id";
87023
+ readonly type: "bytes32";
87024
+ }];
87025
+ readonly name: "getMarketInfo";
87026
+ readonly outputs: readonly [{
87027
+ readonly components: readonly [{
87028
+ readonly internalType: "bytes32";
87029
+ readonly name: "id";
87030
+ readonly type: "bytes32";
87031
+ }, {
87032
+ readonly internalType: "uint128";
87033
+ readonly name: "totalUnits";
87034
+ readonly type: "uint128";
87035
+ }, {
87036
+ readonly internalType: "uint128";
87037
+ readonly name: "lossFactor";
87038
+ readonly type: "uint128";
87039
+ }, {
87040
+ readonly internalType: "uint128";
87041
+ readonly name: "withdrawable";
87042
+ readonly type: "uint128";
87043
+ }, {
87044
+ readonly internalType: "uint128";
87045
+ readonly name: "continuousFeeCredit";
87046
+ readonly type: "uint128";
87047
+ }, {
87048
+ readonly internalType: "uint16[7]";
87049
+ readonly name: "settlementFees";
87050
+ readonly type: "uint16[7]";
87051
+ }, {
87052
+ readonly internalType: "uint32";
87053
+ readonly name: "continuousFee";
87054
+ readonly type: "uint32";
87055
+ }, {
87056
+ readonly internalType: "uint8";
87057
+ readonly name: "tickSpacing";
87058
+ readonly type: "uint8";
87059
+ }, {
87060
+ readonly internalType: "uint256[]";
87061
+ readonly name: "prices";
87062
+ readonly type: "uint256[]";
87063
+ }];
87064
+ readonly internalType: "struct MidnightView.MarketInfo";
87065
+ readonly name: "info";
87066
+ readonly type: "tuple";
87067
+ }];
87068
+ readonly stateMutability: "view";
87069
+ readonly type: "function";
87070
+ }, {
87071
+ readonly inputs: readonly [{
87072
+ readonly internalType: "bytes32";
87073
+ readonly name: "_id";
87074
+ readonly type: "bytes32";
87075
+ }, {
87076
+ readonly internalType: "address";
87077
+ readonly name: "_user";
87078
+ readonly type: "address";
87079
+ }];
87080
+ readonly name: "getPositionInfo";
87081
+ readonly outputs: readonly [{
87082
+ readonly components: readonly [{
87083
+ readonly internalType: "uint128";
87084
+ readonly name: "credit";
87085
+ readonly type: "uint128";
87086
+ }, {
87087
+ readonly internalType: "uint128";
87088
+ readonly name: "pendingFee";
87089
+ readonly type: "uint128";
87090
+ }, {
87091
+ readonly internalType: "uint128";
87092
+ readonly name: "debt";
87093
+ readonly type: "uint128";
87094
+ }, {
87095
+ readonly internalType: "uint128";
87096
+ readonly name: "collateralBitmap";
87097
+ readonly type: "uint128";
87098
+ }, {
87099
+ readonly internalType: "uint128[]";
87100
+ readonly name: "collateral";
87101
+ readonly type: "uint128[]";
87102
+ }, {
87103
+ readonly internalType: "uint256";
87104
+ readonly name: "ratio";
87105
+ readonly type: "uint256";
87106
+ }];
87107
+ readonly internalType: "struct MidnightView.PositionInfo";
87108
+ readonly name: "pos";
87109
+ readonly type: "tuple";
87110
+ }];
87111
+ readonly stateMutability: "view";
87112
+ readonly type: "function";
87113
+ }, {
87114
+ readonly inputs: readonly [{
87115
+ readonly internalType: "bytes32";
87116
+ readonly name: "_id";
87117
+ readonly type: "bytes32";
87118
+ }, {
87119
+ readonly internalType: "address";
87120
+ readonly name: "_user";
87121
+ readonly type: "address";
87122
+ }];
87123
+ readonly name: "getRatio";
87124
+ readonly outputs: readonly [{
87125
+ readonly internalType: "uint256";
87126
+ readonly name: "ratio";
87127
+ readonly type: "uint256";
87128
+ }];
87129
+ readonly stateMutability: "view";
87130
+ readonly type: "function";
87131
+ }, {
87132
+ readonly inputs: readonly [{
87133
+ readonly components: readonly [{
87134
+ readonly internalType: "uint256";
87135
+ readonly name: "chainId";
87136
+ readonly type: "uint256";
87137
+ }, {
87138
+ readonly internalType: "address";
87139
+ readonly name: "midnight";
87140
+ readonly type: "address";
87141
+ }, {
87142
+ readonly internalType: "address";
87143
+ readonly name: "loanToken";
87144
+ readonly type: "address";
87145
+ }, {
87146
+ readonly components: readonly [{
87147
+ readonly internalType: "address";
87148
+ readonly name: "token";
87149
+ readonly type: "address";
87150
+ }, {
87151
+ readonly internalType: "uint256";
87152
+ readonly name: "lltv";
87153
+ readonly type: "uint256";
87154
+ }, {
87155
+ readonly internalType: "uint256";
87156
+ readonly name: "liquidationCursor";
87157
+ readonly type: "uint256";
87158
+ }, {
87159
+ readonly internalType: "address";
87160
+ readonly name: "oracle";
87161
+ readonly type: "address";
87162
+ }];
87163
+ readonly internalType: "struct CollateralParams[]";
87164
+ readonly name: "collateralParams";
87165
+ readonly type: "tuple[]";
87166
+ }, {
87167
+ readonly internalType: "uint256";
87168
+ readonly name: "maturity";
87169
+ readonly type: "uint256";
87170
+ }, {
87171
+ readonly internalType: "uint256";
87172
+ readonly name: "rcfThreshold";
87173
+ readonly type: "uint256";
87174
+ }, {
87175
+ readonly internalType: "address";
87176
+ readonly name: "enterGate";
87177
+ readonly type: "address";
87178
+ }, {
87179
+ readonly internalType: "address";
87180
+ readonly name: "liquidatorGate";
87181
+ readonly type: "address";
87182
+ }];
87183
+ readonly internalType: "struct Market";
87184
+ readonly name: "_market";
87185
+ readonly type: "tuple";
87186
+ }];
87187
+ readonly name: "toId";
87188
+ readonly outputs: readonly [{
87189
+ readonly internalType: "bytes32";
87190
+ readonly name: "id";
87191
+ readonly type: "bytes32";
87192
+ }];
87193
+ readonly stateMutability: "pure";
87194
+ readonly type: "function";
87195
+ }, {
87196
+ readonly inputs: readonly [{
87197
+ readonly internalType: "bytes32";
87198
+ readonly name: "_id";
87199
+ readonly type: "bytes32";
87200
+ }];
87201
+ readonly name: "toMarket";
87202
+ readonly outputs: readonly [{
87203
+ readonly components: readonly [{
87204
+ readonly internalType: "uint256";
87205
+ readonly name: "chainId";
87206
+ readonly type: "uint256";
87207
+ }, {
87208
+ readonly internalType: "address";
87209
+ readonly name: "midnight";
87210
+ readonly type: "address";
87211
+ }, {
87212
+ readonly internalType: "address";
87213
+ readonly name: "loanToken";
87214
+ readonly type: "address";
87215
+ }, {
87216
+ readonly components: readonly [{
87217
+ readonly internalType: "address";
87218
+ readonly name: "token";
87219
+ readonly type: "address";
87220
+ }, {
87221
+ readonly internalType: "uint256";
87222
+ readonly name: "lltv";
87223
+ readonly type: "uint256";
87224
+ }, {
87225
+ readonly internalType: "uint256";
87226
+ readonly name: "liquidationCursor";
87227
+ readonly type: "uint256";
87228
+ }, {
87229
+ readonly internalType: "address";
87230
+ readonly name: "oracle";
87231
+ readonly type: "address";
87232
+ }];
87233
+ readonly internalType: "struct CollateralParams[]";
87234
+ readonly name: "collateralParams";
87235
+ readonly type: "tuple[]";
87236
+ }, {
87237
+ readonly internalType: "uint256";
87238
+ readonly name: "maturity";
87239
+ readonly type: "uint256";
87240
+ }, {
87241
+ readonly internalType: "uint256";
87242
+ readonly name: "rcfThreshold";
87243
+ readonly type: "uint256";
87244
+ }, {
87245
+ readonly internalType: "address";
87246
+ readonly name: "enterGate";
87247
+ readonly type: "address";
87248
+ }, {
87249
+ readonly internalType: "address";
87250
+ readonly name: "liquidatorGate";
87251
+ readonly type: "address";
87252
+ }];
87253
+ readonly internalType: "struct Market";
87254
+ readonly name: "market";
87255
+ readonly type: "tuple";
87256
+ }];
87257
+ readonly stateMutability: "view";
87258
+ readonly type: "function";
87259
+ }];
87260
+ readonly networks: {
87261
+ readonly "8453": {
87262
+ readonly address: "0x3aa272f329E8B562A3bA56Bb6979a44D23A28839";
87263
+ readonly createdBlock: 48932293;
87264
+ };
87265
+ };
87266
+ };
87018
87267
  export declare const FeedRegistry: {
87019
87268
  readonly abi: readonly [{
87020
87269
  readonly anonymous: false;