@defisaver/positions-sdk 2.1.161-portfolio-api-2-dev → 2.1.161-portfolio-api-3-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 (166) hide show
  1. package/cjs/aaveV2/index.js +2 -0
  2. package/cjs/aaveV3/index.d.ts +39 -0
  3. package/cjs/aaveV3/index.js +237 -2
  4. package/cjs/aaveV4/lend.d.ts +2 -43
  5. package/cjs/curveUsd/index.d.ts +5 -2
  6. package/cjs/curveUsd/index.js +30 -15
  7. package/cjs/fluid/index.d.ts +5 -0
  8. package/cjs/fluid/index.js +36 -1
  9. package/cjs/helpers/aaveHelpers/index.d.ts +9 -1
  10. package/cjs/helpers/aaveHelpers/index.js +26 -6
  11. package/cjs/helpers/aaveV4Helpers/index.js +1 -0
  12. package/cjs/helpers/compoundHelpers/index.js +2 -0
  13. package/cjs/helpers/curveUsdHelpers/index.d.ts +3 -1
  14. package/cjs/helpers/curveUsdHelpers/index.js +15 -2
  15. package/cjs/helpers/fluidHelpers/index.js +1 -0
  16. package/cjs/helpers/liquityV2Helpers/index.js +1 -0
  17. package/cjs/helpers/llamaLendHelpers/index.js +1 -0
  18. package/cjs/helpers/makerHelpers/index.d.ts +1 -1
  19. package/cjs/helpers/makerHelpers/index.js +2 -2
  20. package/cjs/helpers/morphoBlueHelpers/index.js +2 -0
  21. package/cjs/helpers/morphoMidnightHelpers/index.js +2 -0
  22. package/cjs/helpers/sparkHelpers/index.js +1 -0
  23. package/cjs/liquity/index.js +15 -2
  24. package/cjs/liquityV2/index.d.ts +5 -0
  25. package/cjs/liquityV2/index.js +37 -19
  26. package/cjs/maker/index.d.ts +7 -2
  27. package/cjs/maker/index.js +44 -12
  28. package/cjs/markets/index.d.ts +1 -0
  29. package/cjs/markets/index.js +3 -1
  30. package/cjs/markets/maker/index.d.ts +1 -0
  31. package/cjs/markets/maker/index.js +13 -0
  32. package/cjs/moneymarket/moneymarketCommonService.d.ts +9 -0
  33. package/cjs/moneymarket/moneymarketCommonService.js +13 -1
  34. package/cjs/portfolio/index.d.ts +17 -5
  35. package/cjs/portfolio/index.js +583 -394
  36. package/cjs/portfolio/lendingProtocols.d.ts +184 -0
  37. package/cjs/portfolio/lendingProtocols.js +196 -0
  38. package/cjs/savings/index.d.ts +8 -2
  39. package/cjs/savings/index.js +37 -5
  40. package/cjs/savings/morphoVaults/index.d.ts +1 -1
  41. package/cjs/savings/morphoVaults/index.js +56 -18
  42. package/cjs/savings/morphoVaults/options.d.ts +2 -0
  43. package/cjs/savings/morphoVaults/options.js +61 -1
  44. package/cjs/spark/index.js +1 -0
  45. package/cjs/staking/staking.d.ts +20 -0
  46. package/cjs/staking/staking.js +19 -1
  47. package/cjs/types/aave.d.ts +3 -0
  48. package/cjs/types/aaveV4.d.ts +45 -0
  49. package/cjs/types/compound.d.ts +2 -0
  50. package/cjs/types/curveUsd.d.ts +6 -0
  51. package/cjs/types/fluid.d.ts +1 -0
  52. package/cjs/types/liquity.d.ts +4 -0
  53. package/cjs/types/liquityV2.d.ts +2 -0
  54. package/cjs/types/maker.d.ts +4 -0
  55. package/cjs/types/morphoBlue.d.ts +2 -0
  56. package/cjs/types/morphoMidnight.d.ts +1 -0
  57. package/cjs/types/portfolio.d.ts +64 -6
  58. package/cjs/types/savings/index.d.ts +9 -1
  59. package/cjs/types/savings/morphoVaults.d.ts +10 -2
  60. package/cjs/types/savings/morphoVaults.js +9 -1
  61. package/cjs/types/spark.d.ts +2 -0
  62. package/esm/aaveV2/index.js +2 -0
  63. package/esm/aaveV3/index.d.ts +39 -0
  64. package/esm/aaveV3/index.js +231 -2
  65. package/esm/aaveV4/lend.d.ts +2 -43
  66. package/esm/curveUsd/index.d.ts +5 -2
  67. package/esm/curveUsd/index.js +30 -15
  68. package/esm/fluid/index.d.ts +5 -0
  69. package/esm/fluid/index.js +33 -0
  70. package/esm/helpers/aaveHelpers/index.d.ts +9 -1
  71. package/esm/helpers/aaveHelpers/index.js +23 -5
  72. package/esm/helpers/aaveV4Helpers/index.js +1 -0
  73. package/esm/helpers/compoundHelpers/index.js +2 -0
  74. package/esm/helpers/curveUsdHelpers/index.d.ts +3 -1
  75. package/esm/helpers/curveUsdHelpers/index.js +16 -3
  76. package/esm/helpers/fluidHelpers/index.js +1 -0
  77. package/esm/helpers/liquityV2Helpers/index.js +1 -0
  78. package/esm/helpers/llamaLendHelpers/index.js +2 -1
  79. package/esm/helpers/makerHelpers/index.d.ts +1 -1
  80. package/esm/helpers/makerHelpers/index.js +2 -2
  81. package/esm/helpers/morphoBlueHelpers/index.js +2 -0
  82. package/esm/helpers/morphoMidnightHelpers/index.js +2 -0
  83. package/esm/helpers/sparkHelpers/index.js +1 -0
  84. package/esm/liquity/index.js +16 -3
  85. package/esm/liquityV2/index.d.ts +5 -0
  86. package/esm/liquityV2/index.js +35 -18
  87. package/esm/maker/index.d.ts +7 -2
  88. package/esm/maker/index.js +44 -14
  89. package/esm/markets/index.d.ts +1 -0
  90. package/esm/markets/index.js +1 -0
  91. package/esm/markets/maker/index.d.ts +1 -0
  92. package/esm/markets/maker/index.js +10 -0
  93. package/esm/moneymarket/moneymarketCommonService.d.ts +9 -0
  94. package/esm/moneymarket/moneymarketCommonService.js +11 -0
  95. package/esm/portfolio/index.d.ts +17 -5
  96. package/esm/portfolio/index.js +584 -398
  97. package/esm/portfolio/lendingProtocols.d.ts +184 -0
  98. package/esm/portfolio/lendingProtocols.js +189 -0
  99. package/esm/savings/index.d.ts +8 -2
  100. package/esm/savings/index.js +35 -4
  101. package/esm/savings/morphoVaults/index.d.ts +1 -1
  102. package/esm/savings/morphoVaults/index.js +57 -19
  103. package/esm/savings/morphoVaults/options.d.ts +2 -0
  104. package/esm/savings/morphoVaults/options.js +61 -1
  105. package/esm/spark/index.js +1 -0
  106. package/esm/staking/staking.d.ts +20 -0
  107. package/esm/staking/staking.js +17 -0
  108. package/esm/types/aave.d.ts +3 -0
  109. package/esm/types/aaveV4.d.ts +45 -0
  110. package/esm/types/compound.d.ts +2 -0
  111. package/esm/types/curveUsd.d.ts +6 -0
  112. package/esm/types/fluid.d.ts +1 -0
  113. package/esm/types/liquity.d.ts +4 -0
  114. package/esm/types/liquityV2.d.ts +2 -0
  115. package/esm/types/maker.d.ts +4 -0
  116. package/esm/types/morphoBlue.d.ts +2 -0
  117. package/esm/types/morphoMidnight.d.ts +1 -0
  118. package/esm/types/portfolio.d.ts +64 -6
  119. package/esm/types/savings/index.d.ts +9 -1
  120. package/esm/types/savings/morphoVaults.d.ts +10 -2
  121. package/esm/types/savings/morphoVaults.js +8 -0
  122. package/esm/types/spark.d.ts +2 -0
  123. package/package.json +3 -2
  124. package/src/aaveV2/index.ts +2 -0
  125. package/src/aaveV3/index.ts +291 -1
  126. package/src/aaveV4/lend.ts +2 -48
  127. package/src/curveUsd/index.ts +33 -16
  128. package/src/fluid/index.ts +40 -0
  129. package/src/helpers/aaveHelpers/index.ts +27 -7
  130. package/src/helpers/aaveV4Helpers/index.ts +1 -0
  131. package/src/helpers/compoundHelpers/index.ts +2 -0
  132. package/src/helpers/curveUsdHelpers/index.ts +23 -3
  133. package/src/helpers/fluidHelpers/index.ts +1 -0
  134. package/src/helpers/liquityV2Helpers/index.ts +1 -0
  135. package/src/helpers/llamaLendHelpers/index.ts +2 -1
  136. package/src/helpers/makerHelpers/index.ts +2 -1
  137. package/src/helpers/morphoBlueHelpers/index.ts +2 -0
  138. package/src/helpers/morphoMidnightHelpers/index.ts +2 -0
  139. package/src/helpers/sparkHelpers/index.ts +1 -0
  140. package/src/liquity/index.ts +17 -3
  141. package/src/liquityV2/index.ts +45 -19
  142. package/src/maker/index.ts +77 -30
  143. package/src/markets/index.ts +2 -1
  144. package/src/markets/maker/index.ts +10 -0
  145. package/src/moneymarket/moneymarketCommonService.ts +15 -0
  146. package/src/portfolio/index.ts +428 -215
  147. package/src/portfolio/lendingProtocols.ts +281 -0
  148. package/src/savings/index.ts +45 -5
  149. package/src/savings/morphoVaults/index.ts +73 -21
  150. package/src/savings/morphoVaults/options.ts +67 -1
  151. package/src/spark/index.ts +1 -0
  152. package/src/staking/staking.ts +28 -0
  153. package/src/types/aave.ts +4 -0
  154. package/src/types/aaveV4.ts +50 -0
  155. package/src/types/compound.ts +2 -0
  156. package/src/types/curveUsd.ts +7 -0
  157. package/src/types/fluid.ts +1 -0
  158. package/src/types/liquity.ts +6 -0
  159. package/src/types/liquityV2.ts +2 -0
  160. package/src/types/maker.ts +6 -0
  161. package/src/types/morphoBlue.ts +2 -0
  162. package/src/types/morphoMidnight.ts +1 -0
  163. package/src/types/portfolio.ts +71 -6
  164. package/src/types/savings/index.ts +12 -1
  165. package/src/types/savings/morphoVaults.ts +11 -1
  166. package/src/types/spark.ts +2 -0
@@ -17,5 +17,7 @@ export declare const MORPHO_VAULT_STEAKHOUSE_PYUSD: MorphoVault;
17
17
  export declare const MORPHO_VAULT_SMOKEHOUSE_USDT: MorphoVault;
18
18
  export declare const MORPHO_VAULT_SMOKEHOUSE_USDC: MorphoVault;
19
19
  export declare const MORPHO_VAULT_SMOKEHOUSE_DAI: MorphoVault;
20
+ export declare const MORPHO_VAULT_GAUNTLET_USDG_PREMIUM: MorphoVault;
21
+ export declare const MORPHO_VAULT_STEAKHOUSE_USDG_PRO: MorphoVault;
20
22
  export declare const MORPHO_VAULTS: Record<MorphoVaultType, MorphoVault>;
21
23
  export declare const getMorphoVault: (type: MorphoVaultType) => MorphoVault;
@@ -1,12 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getMorphoVault = exports.MORPHO_VAULTS = exports.MORPHO_VAULT_SMOKEHOUSE_DAI = exports.MORPHO_VAULT_SMOKEHOUSE_USDC = exports.MORPHO_VAULT_SMOKEHOUSE_USDT = exports.MORPHO_VAULT_STEAKHOUSE_PYUSD = exports.MORPHO_VAULT_STEAKHOUSE_ETH = exports.MORPHO_VAULT_STEAKHOUSE_USDC = exports.MORPHO_VAULT_STEAKHOUSE_USDT = exports.MORPHO_VAULT_GAUNTLET_RESOLV_USDC = exports.MORPHO_VAULT_GAUNTLET_USDT_PRIME = exports.MORPHO_VAULT_GAUNTLET_USDA_CORE = exports.MORPHO_VAULT_FLAGSHIP_USDT = exports.MORPHO_VAULT_BOOSTED_USDC = exports.MORPHO_VAULT_GAUNTLET_WETH_PRIME = exports.MORPHO_VAULT_GAUNTLET_WETH_CORE = exports.MORPHO_VAULT_RE7_WETH = exports.MORPHO_VAULT_GAUNTLET_USDC_PRIME = exports.MORPHO_VAULT_GAUNTLET_USDC_CORE = exports.MORPHO_VAULT_FLAGSHIP_ETH = void 0;
3
+ exports.getMorphoVault = exports.MORPHO_VAULTS = exports.MORPHO_VAULT_STEAKHOUSE_USDG_PRO = exports.MORPHO_VAULT_GAUNTLET_USDG_PREMIUM = exports.MORPHO_VAULT_SMOKEHOUSE_DAI = exports.MORPHO_VAULT_SMOKEHOUSE_USDC = exports.MORPHO_VAULT_SMOKEHOUSE_USDT = exports.MORPHO_VAULT_STEAKHOUSE_PYUSD = exports.MORPHO_VAULT_STEAKHOUSE_ETH = exports.MORPHO_VAULT_STEAKHOUSE_USDC = exports.MORPHO_VAULT_STEAKHOUSE_USDT = exports.MORPHO_VAULT_GAUNTLET_RESOLV_USDC = exports.MORPHO_VAULT_GAUNTLET_USDT_PRIME = exports.MORPHO_VAULT_GAUNTLET_USDA_CORE = exports.MORPHO_VAULT_FLAGSHIP_USDT = exports.MORPHO_VAULT_BOOSTED_USDC = exports.MORPHO_VAULT_GAUNTLET_WETH_PRIME = exports.MORPHO_VAULT_GAUNTLET_WETH_CORE = exports.MORPHO_VAULT_RE7_WETH = exports.MORPHO_VAULT_GAUNTLET_USDC_PRIME = exports.MORPHO_VAULT_GAUNTLET_USDC_CORE = exports.MORPHO_VAULT_FLAGSHIP_ETH = void 0;
4
4
  const types_1 = require("../../types");
5
5
  exports.MORPHO_VAULT_FLAGSHIP_ETH = {
6
6
  type: types_1.MorphoVaultType.MorphoVaultFlagshipEth,
7
7
  name: 'Flagship ETH',
8
8
  address: '0x38989BBA00BDF8181F4082995b3DEAe96163aC5D',
9
9
  asset: 'WETH',
10
+ network: types_1.NetworkNumber.Eth,
11
+ version: types_1.MorphoVaultVersion.V1,
10
12
  deploymentBlock: 18927491,
11
13
  isLegacy: true,
12
14
  };
@@ -15,6 +17,8 @@ exports.MORPHO_VAULT_GAUNTLET_USDC_CORE = {
15
17
  name: 'Gauntlet USDC Core',
16
18
  address: '0x8eB67A509616cd6A7c1B3c8C21D48FF57df3d458',
17
19
  asset: 'USDC',
20
+ network: types_1.NetworkNumber.Eth,
21
+ version: types_1.MorphoVaultVersion.V1,
18
22
  deploymentBlock: 19777569,
19
23
  isLegacy: true,
20
24
  };
@@ -23,6 +27,8 @@ exports.MORPHO_VAULT_GAUNTLET_USDC_PRIME = {
23
27
  name: 'Gauntlet USDC Prime',
24
28
  address: '0xdd0f28e19C1780eb6396170735D45153D261490d',
25
29
  asset: 'USDC',
30
+ network: types_1.NetworkNumber.Eth,
31
+ version: types_1.MorphoVaultVersion.V1,
26
32
  deploymentBlock: 19777569,
27
33
  isLegacy: true,
28
34
  };
@@ -31,6 +37,8 @@ exports.MORPHO_VAULT_RE7_WETH = {
31
37
  name: 'RE7 WETH',
32
38
  address: '0x78Fc2c2eD1A4cDb5402365934aE5648aDAd094d0',
33
39
  asset: 'WETH',
40
+ network: types_1.NetworkNumber.Eth,
41
+ version: types_1.MorphoVaultVersion.V1,
34
42
  deploymentBlock: 19121118,
35
43
  isLegacy: true,
36
44
  };
@@ -39,6 +47,8 @@ exports.MORPHO_VAULT_GAUNTLET_WETH_CORE = {
39
47
  name: 'Gauntlet WETH Core',
40
48
  address: '0x4881Ef0BF6d2365D3dd6499ccd7532bcdBCE0658',
41
49
  asset: 'WETH',
50
+ network: types_1.NetworkNumber.Eth,
51
+ version: types_1.MorphoVaultVersion.V1,
42
52
  deploymentBlock: 19541126,
43
53
  isLegacy: true,
44
54
  };
@@ -47,6 +57,8 @@ exports.MORPHO_VAULT_GAUNTLET_WETH_PRIME = {
47
57
  name: 'Gauntlet WETH Prime',
48
58
  address: '0x2371e134e3455e0593363cBF89d3b6cf53740618',
49
59
  asset: 'WETH',
60
+ network: types_1.NetworkNumber.Eth,
61
+ version: types_1.MorphoVaultVersion.V1,
50
62
  deploymentBlock: 19372149,
51
63
  isLegacy: true,
52
64
  };
@@ -55,6 +67,8 @@ exports.MORPHO_VAULT_BOOSTED_USDC = {
55
67
  name: 'Boosted USDC',
56
68
  address: '0xd63070114470f685b75B74D60EEc7c1113d33a3D',
57
69
  asset: 'USDC',
70
+ network: types_1.NetworkNumber.Eth,
71
+ version: types_1.MorphoVaultVersion.V1,
58
72
  deploymentBlock: 20377233,
59
73
  isLegacy: true,
60
74
  };
@@ -63,6 +77,8 @@ exports.MORPHO_VAULT_FLAGSHIP_USDT = {
63
77
  name: 'Flagship USDT',
64
78
  address: '0x2C25f6C25770fFEC5959D34B94Bf898865e5D6b1',
65
79
  asset: 'USDT',
80
+ network: types_1.NetworkNumber.Eth,
81
+ version: types_1.MorphoVaultVersion.V1,
66
82
  deploymentBlock: 19127039,
67
83
  isLegacy: true,
68
84
  };
@@ -71,6 +87,8 @@ exports.MORPHO_VAULT_GAUNTLET_USDA_CORE = {
71
87
  name: 'Gauntlet USDA Core',
72
88
  address: '0x125D41A6e5dbf455cD9Df8F80BCC6fd172D52Cc6',
73
89
  asset: 'USDA',
90
+ network: types_1.NetworkNumber.Eth,
91
+ version: types_1.MorphoVaultVersion.V1,
74
92
  deploymentBlock: 19633608,
75
93
  isLegacy: true,
76
94
  };
@@ -79,6 +97,8 @@ exports.MORPHO_VAULT_GAUNTLET_USDT_PRIME = {
79
97
  name: 'Gauntlet USDT Prime',
80
98
  address: '0x8CB3649114051cA5119141a34C200D65dc0Faa73',
81
99
  asset: 'USDT',
100
+ network: types_1.NetworkNumber.Eth,
101
+ version: types_1.MorphoVaultVersion.V1,
82
102
  deploymentBlock: 19486541,
83
103
  isLegacy: true,
84
104
  };
@@ -87,6 +107,8 @@ exports.MORPHO_VAULT_GAUNTLET_RESOLV_USDC = {
87
107
  name: 'Gauntlet Resolv USDC',
88
108
  address: '0x132E6C9C33A62D7727cd359b1f51e5B566E485Eb',
89
109
  asset: 'USDC',
110
+ network: types_1.NetworkNumber.Eth,
111
+ version: types_1.MorphoVaultVersion.V1,
90
112
  deploymentBlock: 21487882,
91
113
  isLegacy: true,
92
114
  };
@@ -96,6 +118,8 @@ exports.MORPHO_VAULT_STEAKHOUSE_USDT = {
96
118
  name: 'Steakhouse USDT',
97
119
  address: '0xbEef047a543E45807105E51A8BBEFCc5950fcfBa',
98
120
  asset: 'USDT',
121
+ network: types_1.NetworkNumber.Eth,
122
+ version: types_1.MorphoVaultVersion.V1,
99
123
  deploymentBlock: 19043398,
100
124
  isLegacy: false,
101
125
  };
@@ -104,6 +128,8 @@ exports.MORPHO_VAULT_STEAKHOUSE_USDC = {
104
128
  name: 'Steakhouse USDC',
105
129
  address: '0xBEEF01735c132Ada46AA9aA4c54623cAA92A64CB',
106
130
  asset: 'USDC',
131
+ network: types_1.NetworkNumber.Eth,
132
+ version: types_1.MorphoVaultVersion.V1,
107
133
  deploymentBlock: 18928285,
108
134
  isLegacy: false,
109
135
  };
@@ -112,6 +138,8 @@ exports.MORPHO_VAULT_STEAKHOUSE_ETH = {
112
138
  name: 'Steakhouse WETH',
113
139
  address: '0xBEEf050ecd6a16c4e7bfFbB52Ebba7846C4b8cD4',
114
140
  asset: 'WETH',
141
+ network: types_1.NetworkNumber.Eth,
142
+ version: types_1.MorphoVaultVersion.V1,
115
143
  deploymentBlock: 19380443,
116
144
  isLegacy: false,
117
145
  };
@@ -120,6 +148,8 @@ exports.MORPHO_VAULT_STEAKHOUSE_PYUSD = {
120
148
  name: 'Steakhouse PYUSD',
121
149
  address: '0xbEEF02e5E13584ab96848af90261f0C8Ee04722a',
122
150
  asset: 'PYUSD',
151
+ network: types_1.NetworkNumber.Eth,
152
+ version: types_1.MorphoVaultVersion.V1,
123
153
  deploymentBlock: 19043398,
124
154
  isLegacy: false,
125
155
  };
@@ -129,6 +159,8 @@ exports.MORPHO_VAULT_SMOKEHOUSE_USDT = {
129
159
  name: 'Smokehouse USDT',
130
160
  address: '0xA0804346780b4c2e3bE118ac957D1DB82F9d7484',
131
161
  asset: 'USDT',
162
+ network: types_1.NetworkNumber.Eth,
163
+ version: types_1.MorphoVaultVersion.V1,
132
164
  deploymentBlock: 21522238,
133
165
  isLegacy: false,
134
166
  };
@@ -137,6 +169,8 @@ exports.MORPHO_VAULT_SMOKEHOUSE_USDC = {
137
169
  name: 'Smokehouse USDC',
138
170
  address: '0xBEeFFF209270748ddd194831b3fa287a5386f5bC',
139
171
  asset: 'USDC',
172
+ network: types_1.NetworkNumber.Eth,
173
+ version: types_1.MorphoVaultVersion.V1,
140
174
  deploymentBlock: 21337719,
141
175
  isLegacy: false,
142
176
  };
@@ -145,9 +179,32 @@ exports.MORPHO_VAULT_SMOKEHOUSE_DAI = {
145
179
  name: 'Smokehouse DAI',
146
180
  address: '0xbeeFfF68CC520D68f82641EFF84330C631E2490E',
147
181
  asset: 'DAI',
182
+ network: types_1.NetworkNumber.Eth,
183
+ version: types_1.MorphoVaultVersion.V1,
148
184
  deploymentBlock: 21343808,
149
185
  isLegacy: false,
150
186
  };
187
+ // Vault V2
188
+ exports.MORPHO_VAULT_GAUNTLET_USDG_PREMIUM = {
189
+ type: types_1.MorphoVaultType.MorphoVaultGauntletUSDGPremium,
190
+ name: 'Gauntlet USDG Premium',
191
+ address: '0x390c1bb01F3F627144a40617e287d4cE3D5aBCfa',
192
+ asset: 'USDG',
193
+ network: types_1.NetworkNumber.Arb,
194
+ version: types_1.MorphoVaultVersion.V2,
195
+ deploymentBlock: 510799903,
196
+ isLegacy: false,
197
+ };
198
+ exports.MORPHO_VAULT_STEAKHOUSE_USDG_PRO = {
199
+ type: types_1.MorphoVaultType.MorphoVaultSteakhouseUSDGPro,
200
+ name: 'Steakhouse USDG Pro',
201
+ address: '0xbeeFf72B77e7584a450E887125F25E8D8819016a',
202
+ asset: 'USDG',
203
+ network: types_1.NetworkNumber.Arb,
204
+ version: types_1.MorphoVaultVersion.V2,
205
+ deploymentBlock: 512247107,
206
+ isLegacy: false,
207
+ };
151
208
  exports.MORPHO_VAULTS = {
152
209
  [types_1.MorphoVaultType.MorphoVaultFlagshipEth]: exports.MORPHO_VAULT_FLAGSHIP_ETH,
153
210
  [types_1.MorphoVaultType.MorphoVaultGauntletUSDCCore]: exports.MORPHO_VAULT_GAUNTLET_USDC_CORE,
@@ -169,6 +226,9 @@ exports.MORPHO_VAULTS = {
169
226
  [types_1.MorphoVaultType.MorphoVaultSmokehouseUSDT]: exports.MORPHO_VAULT_SMOKEHOUSE_USDT,
170
227
  [types_1.MorphoVaultType.MorphoVaultSmokehouseUSDC]: exports.MORPHO_VAULT_SMOKEHOUSE_USDC,
171
228
  [types_1.MorphoVaultType.MorphoVaultSmokehouseDAI]: exports.MORPHO_VAULT_SMOKEHOUSE_DAI,
229
+ // Vault V2
230
+ [types_1.MorphoVaultType.MorphoVaultGauntletUSDGPremium]: exports.MORPHO_VAULT_GAUNTLET_USDG_PREMIUM,
231
+ [types_1.MorphoVaultType.MorphoVaultSteakhouseUSDGPro]: exports.MORPHO_VAULT_STEAKHOUSE_USDG_PRO,
172
232
  };
173
233
  const getMorphoVault = (type) => exports.MORPHO_VAULTS[type];
174
234
  exports.getMorphoVault = getMorphoVault;
@@ -88,6 +88,7 @@ const _getSparkMarketsData = (provider, network, selectedMarket) => __awaiter(vo
88
88
  collateralAssets: eModeCategoriesData[emodeCategoryId] ? [...eModeCategoriesData[emodeCategoryId].collateralAssets, selectedMarket.assets[i]] : [selectedMarket.assets[i]],
89
89
  borrowAssets: eModeCategoriesData[emodeCategoryId] ? [...eModeCategoriesData[emodeCategoryId].borrowAssets, selectedMarket.assets[i]] : [selectedMarket.assets[i]],
90
90
  ltvZeroAssets: [],
91
+ isolated: false,
91
92
  };
92
93
  return ({
93
94
  symbol: selectedMarket.assets[i],
@@ -3,6 +3,26 @@ import { MMAssetsData, MMUsedAssets } from '../types/common';
3
3
  export declare const STAKING_ASSETS: string[];
4
4
  export declare const getStakingApy: ((asset: string, network?: number) => Promise<string>) & memoize.Memoized<(asset: string, network?: number) => Promise<string>>;
5
5
  export declare const calculateInterestEarned: (principal: string, interest: string, type: string, apy?: boolean) => number;
6
+ /**
7
+ * Net APY for positions that have a single known borrow rate (and optionally a single supply rate)
8
+ * instead of per-asset `assetsData` to feed into `calculateNetApy` (Maker, crvUSD, Liquity v1).
9
+ * All rates are yearly percentages that are already compounded. `incentives` are extra yields
10
+ * (e.g. the native staking yield of the collateral) applied to their own USD base and summed into `incentiveUsd`.
11
+ */
12
+ export declare const calculateNetApyFromRates: ({ suppliedUsd, borrowedUsd, supplyRate, borrowRate, incentives, }: {
13
+ suppliedUsd: string;
14
+ borrowedUsd: string;
15
+ supplyRate?: string;
16
+ borrowRate?: string;
17
+ incentives?: {
18
+ apy: string;
19
+ amountUsd: string;
20
+ }[];
21
+ }) => {
22
+ netApy: string;
23
+ totalInterestUsd: string;
24
+ incentiveUsd: string;
25
+ };
6
26
  export declare const calculateNetApy: ({ usedAssets, assetsData, optionalData, }: {
7
27
  usedAssets: MMUsedAssets;
8
28
  assetsData: MMAssetsData;
@@ -12,7 +12,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
12
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.calculateNetApy = exports.calculateInterestEarned = exports.getStakingApy = exports.STAKING_ASSETS = void 0;
15
+ exports.calculateNetApy = exports.calculateNetApyFromRates = exports.calculateInterestEarned = exports.getStakingApy = exports.STAKING_ASSETS = void 0;
16
16
  const decimal_js_1 = __importDefault(require("decimal.js"));
17
17
  const memoizee_1 = __importDefault(require("memoizee"));
18
18
  const common_1 = require("../types/common");
@@ -189,6 +189,24 @@ const calculateInterestEarned = (principal, interest, type, apy = false) => {
189
189
  return (+principal * (Math.pow(((1 + (+interest / 100) / constants_1.BLOCKS_IN_A_YEAR)), (constants_1.BLOCKS_IN_A_YEAR * interval)))) - +principal; // eslint-disable-line
190
190
  };
191
191
  exports.calculateInterestEarned = calculateInterestEarned;
192
+ /**
193
+ * Net APY for positions that have a single known borrow rate (and optionally a single supply rate)
194
+ * instead of per-asset `assetsData` to feed into `calculateNetApy` (Maker, crvUSD, Liquity v1).
195
+ * All rates are yearly percentages that are already compounded. `incentives` are extra yields
196
+ * (e.g. the native staking yield of the collateral) applied to their own USD base and summed into `incentiveUsd`.
197
+ */
198
+ const calculateNetApyFromRates = ({ suppliedUsd, borrowedUsd, supplyRate = '0', borrowRate = '0', incentives = [], }) => {
199
+ const supplyInterest = new decimal_js_1.default((0, exports.calculateInterestEarned)(suppliedUsd, supplyRate, 'year', true));
200
+ const borrowInterest = new decimal_js_1.default((0, exports.calculateInterestEarned)(borrowedUsd, borrowRate, 'year', true));
201
+ const incentiveUsd = incentives
202
+ .reduce((acc, { apy, amountUsd }) => acc.add((0, exports.calculateInterestEarned)(amountUsd, apy, 'year', true)), new decimal_js_1.default(0))
203
+ .toString();
204
+ const totalInterestUsd = supplyInterest.sub(borrowInterest).add(incentiveUsd).toString();
205
+ const balance = new decimal_js_1.default(suppliedUsd).sub(borrowedUsd);
206
+ const netApy = balance.isZero() ? '0' : new decimal_js_1.default(totalInterestUsd).div(balance).times(100).toString();
207
+ return { netApy, totalInterestUsd, incentiveUsd };
208
+ };
209
+ exports.calculateNetApyFromRates = calculateNetApyFromRates;
192
210
  const calculateNetApy = ({ usedAssets, assetsData, optionalData, }) => {
193
211
  const sumValues = Object.values(usedAssets).reduce((_acc, usedAsset) => {
194
212
  const acc = Object.assign({}, _acc);
@@ -40,6 +40,7 @@ export interface EModeCategoryData {
40
40
  borrowAssets: string[];
41
41
  ltvzeroBitmap?: string;
42
42
  ltvZeroAssets: string[];
43
+ isolated: boolean;
43
44
  }
44
45
  export interface EModeCategoryDataMapping {
45
46
  enteringTerms: boolean[];
@@ -133,6 +134,7 @@ export interface AavePositionData extends MMPositionData, AavePositionAggregated
133
134
  minRatio: string;
134
135
  collRatio: string;
135
136
  safetyRatioWithLtvZeroFallback?: string;
137
+ safetyRatio?: string;
136
138
  suppliedUsd: string;
137
139
  borrowedUsd: string;
138
140
  borrowLimitUsd: string;
@@ -172,6 +174,7 @@ export interface AaveV3AggregatedPositionData {
172
174
  collRatio: string;
173
175
  borrowLimitWithLtvZeroFallbackUsd: string;
174
176
  safetyRatioWithLtvZeroFallback: string;
177
+ safetyRatio: string;
175
178
  netApy: string;
176
179
  incentiveUsd: string;
177
180
  totalInterestUsd: string;
@@ -169,6 +169,7 @@ export interface AaveV4AggregatedPositionData {
169
169
  leftToBorrowUsd: string;
170
170
  ratio: string;
171
171
  collRatio: string;
172
+ safetyRatio: string;
172
173
  liqRatio: string;
173
174
  liqPercent: string;
174
175
  leveragedType: LeverageType;
@@ -190,3 +191,47 @@ export interface AaveV4AccountData extends AaveV4AggregatedPositionData {
190
191
  healthFactor: string;
191
192
  riskPremiumBps: number;
192
193
  }
194
+ /** One Aave V4 tokenized spoke (Lend vault) as the view contract returns it for a user. */
195
+ export interface AaveV4TokenizationSpokeData {
196
+ underlyingAsset: EthAddress;
197
+ assetId: string;
198
+ decimals: number;
199
+ spoke: EthAddress;
200
+ spokeActive: boolean;
201
+ spokeHalted: boolean;
202
+ spokeDepositCap: string;
203
+ spokeTotalAssets: string;
204
+ spokeTotalShares: string;
205
+ hub: EthAddress;
206
+ hubLiquidity: string;
207
+ hubDrawnRate: string;
208
+ convertToShares: string;
209
+ convertToAssets: string;
210
+ user: EthAddress;
211
+ userSuppliedAssets: string;
212
+ userSuppliedShares: string;
213
+ }
214
+ /** Parsed tokenization spoke data with human-readable supplied amounts for display */
215
+ export interface AaveV4TokenizationSpokeDataParsed {
216
+ vaultAddress: EthAddress;
217
+ key: string | null;
218
+ symbol: string;
219
+ hubKey: string;
220
+ spokeActive: boolean;
221
+ spokeHalted: boolean;
222
+ /** Deposit cap in asset units (wei string) */
223
+ spokeDepositCap: string;
224
+ /** Total assets currently in spoke in asset units (wei string) */
225
+ spokeTotalAssets: string;
226
+ /** Available hub liquidity in asset units (wei string) */
227
+ hubLiquidity: string;
228
+ /** The conversion rate from assets to shares expressed in asset units. */
229
+ convertToShares: string;
230
+ userSuppliedAssetsEth: string;
231
+ userSuppliedSharesEth: string;
232
+ userSuppliedAssets: string;
233
+ userSuppliedShares: string;
234
+ underlyingAsset: EthAddress;
235
+ spoke: EthAddress;
236
+ decimals: number;
237
+ }
@@ -108,6 +108,7 @@ export interface CompoundAggregatedPositionData {
108
108
  leftToBorrowUsd: string;
109
109
  ratio: string;
110
110
  collRatio: string;
111
+ safetyRatio: string;
111
112
  netApy: string;
112
113
  incentiveUsd: string;
113
114
  totalInterestUsd: string;
@@ -127,6 +128,7 @@ export interface CompoundAggregatedPositionData {
127
128
  export interface CompoundPositionData extends MMPositionData {
128
129
  ratio: string;
129
130
  minRatio: string;
131
+ safetyRatio?: string;
130
132
  suppliedUsd: string;
131
133
  borrowedUsd: string;
132
134
  borrowLimitUsd: string;
@@ -74,6 +74,9 @@ export interface CrvUSDAggregatedPositionData {
74
74
  collFactor: string;
75
75
  leveragedType: LeverageType;
76
76
  exposure: string;
77
+ netApy: string;
78
+ totalInterestUsd: string;
79
+ incentiveUsd: string;
77
80
  leveragedAsset?: string;
78
81
  liquidationPrice?: string;
79
82
  }
@@ -115,6 +118,9 @@ export interface CrvUSDUserData extends CrvUSDPositionAggregatedFields {
115
118
  collateralPrice: string;
116
119
  collRatio: string;
117
120
  exposure: string;
121
+ netApy: string;
122
+ totalInterestUsd: string;
123
+ incentiveUsd: string;
118
124
  marketCollateralAmount?: bigint;
119
125
  curveUsdCollateralAmount?: bigint;
120
126
  N?: bigint;
@@ -323,6 +323,7 @@ export interface FluidAggregatedVaultData {
323
323
  merklBorrowIncentives: IncentiveData[];
324
324
  ratio: string;
325
325
  collRatio: string;
326
+ safetyRatio: string;
326
327
  minRatio: string;
327
328
  totalInterestUsd: string;
328
329
  leveragedType?: LeverageType;
@@ -24,9 +24,13 @@ export interface LiquityTroveInfo {
24
24
  totalETH: string;
25
25
  totalLUSD: string;
26
26
  minCollateralRatio: number;
27
+ safetyRatio: string;
27
28
  priceForRecovery: string;
28
29
  debtInFront: string;
29
30
  exposure: string;
31
+ netApy: string;
32
+ totalInterestUsd: string;
33
+ incentiveUsd: string;
30
34
  }
31
35
  /** LQTY staking and the LUSD stability pool deposit of an address, from getLiquityStakingData. */
32
36
  export interface LiquityStakingData {
@@ -94,6 +94,7 @@ export interface LiquityV2AggregatedTroveData {
94
94
  liquidationPrice: string;
95
95
  ratio: string;
96
96
  collRatio: string;
97
+ safetyRatio: string;
97
98
  exposure: string;
98
99
  }
99
100
  export interface LiquityV2TroveData {
@@ -101,6 +102,7 @@ export interface LiquityV2TroveData {
101
102
  troveId: string;
102
103
  ratio: string;
103
104
  collRatio: string;
105
+ safetyRatio?: string;
104
106
  liqRatio: string;
105
107
  borrowLimitRatio: string;
106
108
  interestRate: string;
@@ -43,6 +43,7 @@ export interface CdpData {
43
43
  debtAssetMarketPrice: string;
44
44
  liquidationPrice: string;
45
45
  ratio: string;
46
+ safetyRatio: string;
46
47
  liqRatio: string;
47
48
  liqPercent: number;
48
49
  assetPrice: string;
@@ -58,4 +59,7 @@ export interface CdpData {
58
59
  liquidationFee: string;
59
60
  lastUpdated: number;
60
61
  exposure: string;
62
+ netApy: string;
63
+ totalInterestUsd: string;
64
+ incentiveUsd: string;
61
65
  }
@@ -185,6 +185,7 @@ export interface MorphoBlueAggregatedPositionData {
185
185
  totalInterestUsd: string;
186
186
  ltv: string;
187
187
  ratio: string;
188
+ safetyRatio: string;
188
189
  leveragedType: LeverageType;
189
190
  leveragedAsset?: string;
190
191
  currentVolatilePairRatio?: string;
@@ -207,6 +208,7 @@ export interface MorphoBluePositionData {
207
208
  totalInterestUsd: string;
208
209
  ltv: string;
209
210
  ratio: string;
211
+ safetyRatio?: string;
210
212
  leveragedType: LeverageType;
211
213
  leveragedAsset?: string;
212
214
  currentVolatilePairRatio?: string;
@@ -170,6 +170,7 @@ export interface MorphoMidnightAggregatedPositionData {
170
170
  ltv: string;
171
171
  ratio: string;
172
172
  healthRatio: string;
173
+ safetyRatio: string;
173
174
  leveragedType: LeverageType;
174
175
  leveragedAsset?: string;
175
176
  currentVolatilePairRatio?: string;
@@ -4,11 +4,11 @@ import { AaveRewardsClaimableToken, EthenaAirdropClaimableToken, KingRewardsClai
4
4
  import { EthAddress } from './common';
5
5
  import { CompoundV2MarketsData, CompoundV2PositionData, CompoundV3MarketsData, CompoundV3PositionData, CompoundVersions } from './compound';
6
6
  import { CrvUSDGlobalMarketData, CrvUSDUserData, CrvUSDVersions } from './curveUsd';
7
- import { FluidEarnPositionData, FluidVaultData } from './fluid';
7
+ import { FluidEarnPositionData, FluidMarketData, FluidVaultData } from './fluid';
8
8
  import { LiquityStakingData, LiquityTroveInfo } from './liquity';
9
- import { LiquityV2MarketData, LiquityV2SBoldYBoldData, LiquityV2StakingData, LiquityV2Versions } from './liquityV2';
9
+ import { LiquityV2MarketData, LiquityV2SBoldYBoldData, LiquityV2StakingData, LiquityV2TroveData, LiquityV2Versions } from './liquityV2';
10
10
  import { LlamaLendGlobalMarketData, LlamaLendUserData, LlamaLendVersionsType } from './llamaLend';
11
- import { CdpData } from './maker';
11
+ import { CdpData, IlkInfo } from './maker';
12
12
  import { MorphoBlueEarnData, MorphoBlueMarketInfo, MorphoBluePositionData, MorphoBlueVersions } from './morphoBlue';
13
13
  import { MorphoMidnightMarketInfo, MorphoMidnightPositionData, MorphoMidnightVersions } from './morphoMidnight';
14
14
  import { SparkMarketsData, SparkPositionData, SparkVersions } from './spark';
@@ -21,12 +21,26 @@ export interface PortfolioProtocolError {
21
21
  error: string;
22
22
  data: null;
23
23
  }
24
- /** What getPortfolioData reads besides positions and markets. Both default to true. */
24
+ /** What getPortfolioData reads besides markets. */
25
25
  export interface PortfolioDataOptions {
26
- /** stakingPositions; with false it comes back as {} and no staking source is read. */
26
+ /** positions (lending); default true. With false it comes back as {} and no lending position is read. */
27
+ positions?: boolean;
28
+ /** stakingPositions; default true. With false it comes back as {} and no staking source is read. */
27
29
  staking?: boolean;
28
- /** rewardsData; with false it comes back as {} and no rewards source is read. */
30
+ /** rewardsData; default true. With false it comes back as {} and no rewards source is read. */
29
31
  rewards?: boolean;
32
+ /**
33
+ * Liquity V2 troves in positions[address].liquityV2; default false, as the DeFi Saver app reads them on its own.
34
+ * Mainnet only: elsewhere liquityV2 is {}. Needs positions.
35
+ */
36
+ liquityV2?: boolean;
37
+ }
38
+ /** One Liquity V2 market's troves of an address, by trove id — with an error when the ids or any trove failed to load. */
39
+ export interface PortfolioLiquityV2Troves {
40
+ error: string;
41
+ data: {
42
+ [troveId: string]: LiquityV2TroveData;
43
+ };
30
44
  }
31
45
  export interface PortfolioPositionsDataForAddress {
32
46
  aaveV3: {
@@ -69,6 +83,10 @@ export interface PortfolioPositionsDataForAddress {
69
83
  aaveV4: {
70
84
  [key in AaveV4SpokesType]?: PortfolioProtocolData<AaveV4AccountData>;
71
85
  };
86
+ /** Only with the liquityV2 option. Every trove the address holds, by market. */
87
+ liquityV2?: {
88
+ [key in LiquityV2Versions]?: PortfolioLiquityV2Troves;
89
+ };
72
90
  }
73
91
  export interface PortfolioPositionsData {
74
92
  [key: EthAddress]: PortfolioPositionsDataForAddress;
@@ -137,3 +155,43 @@ export interface PortfolioMarketsData {
137
155
  liquityV2MarketsData: Record<string, LiquityV2MarketData>;
138
156
  aaveV4SpokesData: Record<string, AaveV4SpokeData>;
139
157
  }
158
+ /**
159
+ * The `markets` getShifterPortfolioData returns: the portfolio's markets, plus Fluid's and Maker's, which the shifter
160
+ * offers as destinations. Kept apart from PortfolioMarketsData, which getPortfolioData does not fill these into.
161
+ */
162
+ export interface ShifterPortfolioMarketsData extends PortfolioMarketsData {
163
+ fluidMarketsData: Record<string, FluidMarketData>;
164
+ makerMarketsData: Record<string, IlkInfo>;
165
+ }
166
+ /** The markets that could not be read, by their key in PortfolioMarketsData, then by market or spoke: the error. */
167
+ export type PortfolioMarketsErrors = {
168
+ [key in keyof PortfolioMarketsData]?: Record<string, string>;
169
+ };
170
+ /**
171
+ * What the portfolio fetch could not read and has no `{ error, data }` entry of its own to report it in. A key is
172
+ * present only when something under it failed; {} when everything was read.
173
+ */
174
+ export interface PortfolioErrors {
175
+ /** Markets missing from `markets`; every position on such a market is an entry with an error. */
176
+ markets?: PortfolioMarketsErrors;
177
+ /** Addresses whose Maker vault list could not be read: their `maker` is {}, which would otherwise read as "no vaults". */
178
+ makerCdps?: Record<EthAddress, string>;
179
+ }
180
+ /** getPortfolioMarketsData's result. */
181
+ export interface PortfolioMarketsResult {
182
+ /** Every market read; one that failed is missing and named in `errors`. */
183
+ markets: PortfolioMarketsData;
184
+ errors: PortfolioMarketsErrors;
185
+ }
186
+ /** getPortfolioUserData's result: what is read per address. */
187
+ export interface PortfolioUserData {
188
+ positions: PortfolioPositionsData;
189
+ stakingPositions: PortfolioStakingPositionsData;
190
+ rewardsData: PortfolioRewardsData;
191
+ errors: Pick<PortfolioErrors, 'makerCdps'>;
192
+ }
193
+ /** getPortfolioData's result. */
194
+ export interface PortfolioData extends Omit<PortfolioUserData, 'errors'> {
195
+ markets: PortfolioMarketsData;
196
+ errors: PortfolioErrors;
197
+ }
@@ -20,4 +20,12 @@ export interface SavingsVaultData {
20
20
  asset: string;
21
21
  optionType: string;
22
22
  }
23
- export type SavingsData = Partial<Record<MorphoVaultType | YearnVaultType | MakerDsrType | SkySavingsType | SparkSavingsVaultType | SummerVaultType | YearnV3VaultType, SavingsVaultData>>;
23
+ /** The key of every savings vault getSavingsData reads. */
24
+ export type SavingsVaultKey = MorphoVaultType | YearnVaultType | MakerDsrType | SkySavingsType | SparkSavingsVaultType | SummerVaultType | YearnV3VaultType;
25
+ export type SavingsData = Partial<Record<SavingsVaultKey, SavingsVaultData>>;
26
+ /** Why each vault that was read for a network came back without data. */
27
+ export type SavingsErrors = Partial<Record<SavingsVaultKey, string>>;
28
+ export interface SavingsDataWithErrors {
29
+ data: SavingsData;
30
+ errors: SavingsErrors;
31
+ }
@@ -1,4 +1,4 @@
1
- import { EthAddress } from '../common';
1
+ import { EthAddress, NetworkNumber } from '../common';
2
2
  export declare enum MorphoVaultType {
3
3
  MorphoVaultFlagshipEth = "morpho_vault_flagship_eth",
4
4
  MorphoVaultGauntletUSDCCore = "morpho_vault_gauntlet_usdc_core",
@@ -17,13 +17,21 @@ export declare enum MorphoVaultType {
17
17
  MorphoVaultSteakhousePYUSD = "morpho_vault_steakhouse_pyusd",
18
18
  MorphoVaultSmokehouseUSDT = "morpho_vault_smokehouse_usdt",
19
19
  MorphoVaultSmokehouseUSDC = "morpho_vault_smokehouse_usdc",
20
- MorphoVaultSmokehouseDAI = "morpho_vault_smokehouse_dai"
20
+ MorphoVaultSmokehouseDAI = "morpho_vault_smokehouse_dai",
21
+ MorphoVaultGauntletUSDGPremium = "morpho_vault_gauntlet_usdg_premium",
22
+ MorphoVaultSteakhouseUSDGPro = "morpho_vault_steakhouse_usdg_pro"
23
+ }
24
+ export declare enum MorphoVaultVersion {
25
+ V1 = 1,
26
+ V2 = 2
21
27
  }
22
28
  export interface MorphoVault {
23
29
  type: MorphoVaultType;
24
30
  name: string;
25
31
  address: EthAddress;
26
32
  asset: string;
33
+ network: NetworkNumber;
34
+ version: MorphoVaultVersion;
27
35
  deploymentBlock: number;
28
36
  isLegacy: boolean;
29
37
  }
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MorphoVaultType = void 0;
3
+ exports.MorphoVaultVersion = exports.MorphoVaultType = void 0;
4
4
  var MorphoVaultType;
5
5
  (function (MorphoVaultType) {
6
6
  MorphoVaultType["MorphoVaultFlagshipEth"] = "morpho_vault_flagship_eth";
@@ -23,4 +23,12 @@ var MorphoVaultType;
23
23
  MorphoVaultType["MorphoVaultSmokehouseUSDT"] = "morpho_vault_smokehouse_usdt";
24
24
  MorphoVaultType["MorphoVaultSmokehouseUSDC"] = "morpho_vault_smokehouse_usdc";
25
25
  MorphoVaultType["MorphoVaultSmokehouseDAI"] = "morpho_vault_smokehouse_dai";
26
+ // Vault V2
27
+ MorphoVaultType["MorphoVaultGauntletUSDGPremium"] = "morpho_vault_gauntlet_usdg_premium";
28
+ MorphoVaultType["MorphoVaultSteakhouseUSDGPro"] = "morpho_vault_steakhouse_usdg_pro";
26
29
  })(MorphoVaultType || (exports.MorphoVaultType = MorphoVaultType = {}));
30
+ var MorphoVaultVersion;
31
+ (function (MorphoVaultVersion) {
32
+ MorphoVaultVersion[MorphoVaultVersion["V1"] = 1] = "V1";
33
+ MorphoVaultVersion[MorphoVaultVersion["V2"] = 2] = "V2";
34
+ })(MorphoVaultVersion || (exports.MorphoVaultVersion = MorphoVaultVersion = {}));
@@ -100,6 +100,7 @@ export interface SparkAggregatedPositionData {
100
100
  leftToBorrowUsd: string;
101
101
  ratio: string;
102
102
  collRatio: string;
103
+ safetyRatio: string;
103
104
  netApy: string;
104
105
  incentiveUsd: string;
105
106
  totalInterestUsd: string;
@@ -124,6 +125,7 @@ export interface SparkPositionData extends MMPositionData, SparkPositionAggregat
124
125
  ratio: string;
125
126
  minRatio: string;
126
127
  collRatio: string;
128
+ safetyRatio?: string;
127
129
  suppliedUsd: string;
128
130
  borrowedUsd: string;
129
131
  borrowLimitUsd: string;