@defisaver/positions-sdk 0.0.165 → 0.0.166-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 (83) hide show
  1. package/cjs/config/contracts.d.ts +72 -0
  2. package/cjs/config/contracts.js +6 -0
  3. package/cjs/contracts.d.ts +1 -0
  4. package/cjs/contracts.js +2 -1
  5. package/cjs/eulerV2/index.d.ts +40 -0
  6. package/cjs/eulerV2/index.js +207 -0
  7. package/cjs/helpers/eulerHelpers/index.d.ts +27 -0
  8. package/cjs/helpers/eulerHelpers/index.js +232 -0
  9. package/cjs/helpers/index.d.ts +1 -0
  10. package/cjs/helpers/index.js +2 -1
  11. package/cjs/index.d.ts +2 -1
  12. package/cjs/index.js +3 -1
  13. package/cjs/markets/compound/marketsAssets.js +3 -3
  14. package/cjs/markets/euler/index.d.ts +10 -0
  15. package/cjs/markets/euler/index.js +41 -0
  16. package/cjs/markets/index.d.ts +1 -0
  17. package/cjs/markets/index.js +3 -1
  18. package/cjs/markets/morphoBlue/index.d.ts +0 -4
  19. package/cjs/markets/morphoBlue/index.js +1 -36
  20. package/cjs/markets/spark/marketAssets.js +1 -1
  21. package/cjs/services/utils.d.ts +2 -0
  22. package/cjs/services/utils.js +4 -1
  23. package/cjs/staking/staking.js +1 -22
  24. package/cjs/types/contracts/generated/EulerV2View.d.ts +333 -0
  25. package/cjs/types/contracts/generated/EulerV2View.js +5 -0
  26. package/cjs/types/contracts/generated/index.d.ts +1 -0
  27. package/cjs/types/euler.d.ts +148 -0
  28. package/cjs/types/euler.js +15 -0
  29. package/cjs/types/index.d.ts +1 -0
  30. package/cjs/types/index.js +1 -0
  31. package/cjs/types/morphoBlue.d.ts +1 -3
  32. package/cjs/types/morphoBlue.js +0 -2
  33. package/esm/config/contracts.d.ts +72 -0
  34. package/esm/config/contracts.js +6 -0
  35. package/esm/contracts.d.ts +1 -0
  36. package/esm/contracts.js +1 -0
  37. package/esm/eulerV2/index.d.ts +40 -0
  38. package/esm/eulerV2/index.js +199 -0
  39. package/esm/helpers/eulerHelpers/index.d.ts +27 -0
  40. package/esm/helpers/eulerHelpers/index.js +219 -0
  41. package/esm/helpers/index.d.ts +1 -0
  42. package/esm/helpers/index.js +1 -0
  43. package/esm/index.d.ts +2 -1
  44. package/esm/index.js +2 -1
  45. package/esm/markets/compound/marketsAssets.js +3 -3
  46. package/esm/markets/euler/index.d.ts +10 -0
  47. package/esm/markets/euler/index.js +34 -0
  48. package/esm/markets/index.d.ts +1 -0
  49. package/esm/markets/index.js +1 -0
  50. package/esm/markets/morphoBlue/index.d.ts +0 -4
  51. package/esm/markets/morphoBlue/index.js +0 -33
  52. package/esm/markets/spark/marketAssets.js +1 -1
  53. package/esm/services/utils.d.ts +2 -0
  54. package/esm/services/utils.js +2 -0
  55. package/esm/staking/staking.js +1 -22
  56. package/esm/types/contracts/generated/EulerV2View.d.ts +333 -0
  57. package/esm/types/contracts/generated/EulerV2View.js +4 -0
  58. package/esm/types/contracts/generated/index.d.ts +1 -0
  59. package/esm/types/euler.d.ts +148 -0
  60. package/esm/types/euler.js +12 -0
  61. package/esm/types/index.d.ts +1 -0
  62. package/esm/types/index.js +1 -0
  63. package/esm/types/morphoBlue.d.ts +1 -3
  64. package/esm/types/morphoBlue.js +0 -2
  65. package/package.json +5 -9
  66. package/src/config/contracts.js +6 -0
  67. package/src/contracts.ts +2 -0
  68. package/src/eulerV2/index.ts +286 -0
  69. package/src/helpers/eulerHelpers/index.ts +231 -0
  70. package/src/helpers/index.ts +2 -1
  71. package/src/index.ts +2 -0
  72. package/src/markets/compound/marketsAssets.ts +3 -3
  73. package/src/markets/euler/index.ts +38 -0
  74. package/src/markets/index.ts +3 -1
  75. package/src/markets/morphoBlue/index.ts +0 -37
  76. package/src/markets/spark/marketAssets.ts +1 -1
  77. package/src/services/utils.ts +3 -0
  78. package/src/staking/staking.ts +2 -24
  79. package/src/types/contracts/generated/EulerV2View.ts +434 -0
  80. package/src/types/contracts/generated/index.ts +1 -0
  81. package/src/types/euler.ts +171 -0
  82. package/src/types/index.ts +2 -1
  83. package/src/types/morphoBlue.ts +0 -2
@@ -0,0 +1,232 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __rest = (this && this.__rest) || function (s, e) {
12
+ var t = {};
13
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
14
+ t[p] = s[p];
15
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
16
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
17
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
18
+ t[p[i]] = s[p[i]];
19
+ }
20
+ return t;
21
+ };
22
+ var __importDefault = (this && this.__importDefault) || function (mod) {
23
+ return (mod && mod.__esModule) ? mod : { "default": mod };
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.getApyAfterValuesEstimationEulerV2 = exports.getEulerV2SupplyRate = exports.getUtilizationRate = exports.getEulerV2BorrowRate = exports.getEulerV2AggregatedData = exports.calculateNetApy = exports.isLeveragedPos = void 0;
27
+ const decimal_js_1 = __importDefault(require("decimal.js"));
28
+ const tokens_1 = require("@defisaver/tokens");
29
+ const moneymarket_1 = require("../../moneymarket");
30
+ const staking_1 = require("../../staking");
31
+ const contracts_1 = require("../../contracts");
32
+ const constants_1 = require("../../constants");
33
+ const multicall_1 = require("../../multicall");
34
+ const isLeveragedPos = (usedAssets, dustLimit = 5) => {
35
+ let borrowUnstable = 0;
36
+ let supplyStable = 0;
37
+ let borrowStable = 0;
38
+ let supplyUnstable = 0;
39
+ let longAsset = '';
40
+ let shortAsset = '';
41
+ let leverageAssetVault = '';
42
+ Object.values(usedAssets).forEach(({ symbol, suppliedUsd, borrowedUsd, collateral, vaultAddress, }) => {
43
+ const isSupplied = (+suppliedUsd) > dustLimit; // ignore dust like <limit leftover supply
44
+ const isBorrowed = (+borrowedUsd) > dustLimit; // ignore dust like <limit leftover supply
45
+ if (isSupplied && moneymarket_1.STABLE_ASSETS.includes(symbol) && collateral)
46
+ supplyStable += 1;
47
+ if (isBorrowed && moneymarket_1.STABLE_ASSETS.includes(symbol))
48
+ borrowStable += 1;
49
+ if (isBorrowed && !moneymarket_1.STABLE_ASSETS.includes(symbol)) {
50
+ borrowUnstable += 1;
51
+ shortAsset = symbol;
52
+ leverageAssetVault = vaultAddress;
53
+ }
54
+ if (isSupplied && !moneymarket_1.STABLE_ASSETS.includes(symbol) && collateral) {
55
+ supplyUnstable += 1;
56
+ longAsset = symbol;
57
+ leverageAssetVault = vaultAddress;
58
+ }
59
+ });
60
+ const isLong = borrowStable > 0 && borrowUnstable === 0 && supplyUnstable === 1 && supplyStable === 0;
61
+ const isShort = supplyStable > 0 && supplyUnstable === 0 && borrowUnstable === 1 && borrowStable === 0;
62
+ // lsd -> liquid staking derivative
63
+ const isLsdLeveraged = supplyUnstable === 1 && borrowUnstable === 1 && shortAsset === 'ETH' && ['stETH', 'wstETH', 'cbETH', 'rETH'].includes(longAsset);
64
+ if (isLong) {
65
+ return {
66
+ leveragedType: 'long',
67
+ leveragedAsset: longAsset,
68
+ leveragedVault: leverageAssetVault,
69
+ };
70
+ }
71
+ if (isShort) {
72
+ return {
73
+ leveragedType: 'short',
74
+ leveragedAsset: shortAsset,
75
+ leveragedVault: leverageAssetVault,
76
+ };
77
+ }
78
+ if (isLsdLeveraged) {
79
+ return {
80
+ leveragedType: 'lsd-leverage',
81
+ leveragedAsset: longAsset,
82
+ leveragedVault: leverageAssetVault,
83
+ };
84
+ }
85
+ return {
86
+ leveragedType: '',
87
+ leveragedAsset: '',
88
+ leveragedVault: '',
89
+ };
90
+ };
91
+ exports.isLeveragedPos = isLeveragedPos;
92
+ const calculateNetApy = (usedAssets, assetsData) => {
93
+ const sumValues = Object.values(usedAssets).reduce((_acc, usedAsset) => {
94
+ const acc = Object.assign({}, _acc);
95
+ const assetData = assetsData[usedAsset.vaultAddress.toLowerCase()];
96
+ if (usedAsset.isSupplied) {
97
+ const amount = usedAsset.suppliedUsd;
98
+ acc.suppliedUsd = new decimal_js_1.default(acc.suppliedUsd).add(amount).toString();
99
+ const rate = assetData.supplyRate;
100
+ const supplyInterest = (0, staking_1.calculateInterestEarned)(amount, rate, 'year', true);
101
+ acc.supplyInterest = new decimal_js_1.default(acc.supplyInterest).add(supplyInterest.toString()).toString();
102
+ }
103
+ if (usedAsset.isBorrowed) {
104
+ const amount = usedAsset.borrowedUsd;
105
+ acc.borrowedUsd = new decimal_js_1.default(acc.borrowedUsd).add(amount).toString();
106
+ const rate = assetData.borrowRate;
107
+ const borrowInterest = (0, staking_1.calculateInterestEarned)(amount, rate, 'year', true);
108
+ acc.borrowInterest = new decimal_js_1.default(acc.borrowInterest).sub(borrowInterest.toString()).toString();
109
+ }
110
+ return acc;
111
+ }, {
112
+ borrowInterest: '0', supplyInterest: '0', incentiveUsd: '0', borrowedUsd: '0', suppliedUsd: '0',
113
+ });
114
+ const { borrowedUsd, suppliedUsd, borrowInterest, supplyInterest, incentiveUsd, } = sumValues;
115
+ const totalInterestUsd = new decimal_js_1.default(borrowInterest).add(supplyInterest).add(incentiveUsd).toString();
116
+ const balance = new decimal_js_1.default(suppliedUsd).sub(borrowedUsd);
117
+ const netApy = new decimal_js_1.default(totalInterestUsd).div(balance).times(100).toString();
118
+ return { netApy, totalInterestUsd, incentiveUsd };
119
+ };
120
+ exports.calculateNetApy = calculateNetApy;
121
+ const getEulerV2AggregatedData = (_a) => {
122
+ var { usedAssets, assetsData, network } = _a, rest = __rest(_a, ["usedAssets", "assetsData", "network"]);
123
+ const payload = {};
124
+ payload.suppliedUsd = (0, moneymarket_1.getAssetsTotal)(usedAssets, ({ isSupplied }) => isSupplied, ({ suppliedUsd }) => suppliedUsd);
125
+ payload.suppliedCollateralUsd = (0, moneymarket_1.getAssetsTotal)(usedAssets, ({ isSupplied, collateral }) => isSupplied && collateral, ({ suppliedUsd }) => suppliedUsd);
126
+ payload.borrowedUsd = (0, moneymarket_1.getAssetsTotal)(usedAssets, ({ isBorrowed }) => isBorrowed, ({ borrowedUsd }) => borrowedUsd);
127
+ payload.borrowLimitUsd = (0, moneymarket_1.getAssetsTotal)(usedAssets, ({ isSupplied, collateral }) => isSupplied && collateral, ({ vaultAddress, suppliedUsd }) => new decimal_js_1.default(suppliedUsd).mul(assetsData[vaultAddress.toLowerCase()].collateralFactor));
128
+ payload.liquidationLimitUsd = (0, moneymarket_1.getAssetsTotal)(usedAssets, ({ isSupplied, collateral }) => isSupplied && collateral, ({ vaultAddress, suppliedUsd }) => new decimal_js_1.default(suppliedUsd).mul(assetsData[vaultAddress.toLowerCase()].liquidationRatio));
129
+ const leftToBorrowUsd = new decimal_js_1.default(payload.borrowLimitUsd).sub(payload.borrowedUsd);
130
+ payload.leftToBorrowUsd = leftToBorrowUsd.lte('0') ? '0' : leftToBorrowUsd.toString();
131
+ payload.ratio = +payload.suppliedUsd ? new decimal_js_1.default(payload.borrowLimitUsd).div(payload.borrowedUsd).mul(100).toString() : '0';
132
+ payload.collRatio = +payload.suppliedUsd ? new decimal_js_1.default(payload.suppliedCollateralUsd).div(payload.borrowedUsd).mul(100).toString() : '0';
133
+ const { netApy, incentiveUsd, totalInterestUsd } = (0, exports.calculateNetApy)(usedAssets, assetsData);
134
+ payload.netApy = netApy;
135
+ payload.incentiveUsd = incentiveUsd;
136
+ payload.totalInterestUsd = totalInterestUsd;
137
+ payload.minRatio = '100';
138
+ payload.liqRatio = new decimal_js_1.default(payload.borrowLimitUsd).div(payload.liquidationLimitUsd).toString();
139
+ payload.liqPercent = new decimal_js_1.default(payload.borrowLimitUsd).div(payload.liquidationLimitUsd).mul(100).toString();
140
+ const { leveragedType, leveragedAsset, leveragedVault } = (0, exports.isLeveragedPos)(usedAssets);
141
+ payload.leveragedType = leveragedType;
142
+ if (leveragedType !== '') {
143
+ payload.leveragedAsset = leveragedAsset;
144
+ let assetPrice = assetsData[leveragedVault.toLowerCase()].price;
145
+ if (leveragedType === 'lsd-leverage') {
146
+ const ethAsset = Object.values(assetsData).find((asset) => ['WETH', 'ETH'].includes(asset.symbol));
147
+ if (ethAsset) {
148
+ payload.leveragedLsdAssetRatio = new decimal_js_1.default(assetsData[leveragedVault.toLowerCase()].price).div(ethAsset.price).toString();
149
+ assetPrice = new decimal_js_1.default(assetPrice).div(ethAsset.price).toString();
150
+ }
151
+ }
152
+ payload.liquidationPrice = (0, moneymarket_1.calcLeverageLiqPrice)(leveragedType, assetPrice, payload.borrowedUsd, payload.liquidationLimitUsd);
153
+ }
154
+ return payload;
155
+ };
156
+ exports.getEulerV2AggregatedData = getEulerV2AggregatedData;
157
+ const getEulerV2BorrowRate = (interestRate) => {
158
+ const _interestRate = new decimal_js_1.default(interestRate).div(1e27).toString();
159
+ const secondsPerYear = 31556953;
160
+ const a = new decimal_js_1.default(1).plus(_interestRate).pow(secondsPerYear - 1).toString();
161
+ return new decimal_js_1.default(new decimal_js_1.default(a).minus(1)).mul(100).toString();
162
+ };
163
+ exports.getEulerV2BorrowRate = getEulerV2BorrowRate;
164
+ const getUtilizationRate = (totalBorrows, totalAssets) => new decimal_js_1.default(totalBorrows).div(totalAssets).toString();
165
+ exports.getUtilizationRate = getUtilizationRate;
166
+ const getEulerV2SupplyRate = (borrowRate, utilizationRate, _interestFee) => {
167
+ const interestFee = new decimal_js_1.default(_interestFee).div(10000);
168
+ const fee = new decimal_js_1.default(1).minus(interestFee);
169
+ return new decimal_js_1.default(borrowRate).mul(utilizationRate).mul(fee).toString();
170
+ };
171
+ exports.getEulerV2SupplyRate = getEulerV2SupplyRate;
172
+ const getLiquidityChanges = (action, amount, isBorrowOperation) => {
173
+ let liquidityAdded;
174
+ let liquidityRemoved;
175
+ if (isBorrowOperation) {
176
+ liquidityAdded = action === 'payback' ? amount : '0';
177
+ liquidityRemoved = action === 'borrow' ? amount : '0';
178
+ }
179
+ else {
180
+ liquidityAdded = action === 'collateral' ? amount : '0';
181
+ liquidityRemoved = action === 'withdraw' ? amount : '0';
182
+ }
183
+ return { liquidityAdded, liquidityRemoved };
184
+ };
185
+ const getApyAfterValuesEstimationEulerV2 = (actions, web3, network) => __awaiter(void 0, void 0, void 0, function* () {
186
+ const eulerV2ViewContract = (0, contracts_1.EulerV2ViewContract)(web3, network);
187
+ const multicallData = [];
188
+ const apyAfterValuesEstimationParams = [];
189
+ actions.forEach(({ action, amount, asset, vaultAddress, }) => {
190
+ const amountInWei = (0, tokens_1.assetAmountInWei)(amount, asset);
191
+ const isBorrowOperation = constants_1.borrowOperations.includes(action);
192
+ const { liquidityAdded, liquidityRemoved } = getLiquidityChanges(action, amountInWei, isBorrowOperation);
193
+ apyAfterValuesEstimationParams.push([
194
+ vaultAddress,
195
+ constants_1.borrowOperations.includes(action),
196
+ liquidityAdded,
197
+ liquidityRemoved,
198
+ ]);
199
+ multicallData.push({
200
+ target: eulerV2ViewContract.options.address,
201
+ abiItem: eulerV2ViewContract.options.jsonInterface.find(({ name }) => name === 'getVaultInfoFull'),
202
+ params: [vaultAddress],
203
+ });
204
+ });
205
+ multicallData.push({
206
+ target: eulerV2ViewContract.options.address,
207
+ abiItem: eulerV2ViewContract.options.jsonInterface.find(({ name }) => name === 'getApyAfterValuesEstimation'),
208
+ params: [apyAfterValuesEstimationParams],
209
+ });
210
+ const multicallRes = yield (0, multicall_1.multicall)(multicallData, web3, network);
211
+ const numOfActions = actions.length;
212
+ const data = {};
213
+ for (let i = 0; i < numOfActions; i += 1) {
214
+ const _interestRate = multicallRes[numOfActions].estimatedBorrowRates[i];
215
+ const vaultInfo = multicallRes[i][0];
216
+ const decimals = vaultInfo.decimals;
217
+ const borrowRate = (0, exports.getEulerV2BorrowRate)(_interestRate);
218
+ const amount = new decimal_js_1.default(actions[i].amount).mul(Math.pow(10, decimals)).toString();
219
+ const action = actions[i].action;
220
+ const isBorrowOperation = constants_1.borrowOperations.includes(action);
221
+ const { liquidityAdded, liquidityRemoved } = getLiquidityChanges(action, amount, isBorrowOperation);
222
+ const totalBorrows = new decimal_js_1.default(vaultInfo.totalBorrows).add(isBorrowOperation ? liquidityRemoved : '0').sub(isBorrowOperation ? liquidityAdded : '0').toString();
223
+ const totalAssets = new decimal_js_1.default(vaultInfo.totalAssets).add(isBorrowOperation ? '0' : liquidityAdded).sub(isBorrowOperation ? '0' : liquidityRemoved).toString();
224
+ const utilizationRate = (0, exports.getUtilizationRate)(totalBorrows, totalAssets);
225
+ data[vaultInfo.vaultAddr.toLowerCase()] = {
226
+ borrowRate,
227
+ supplyRate: (0, exports.getEulerV2SupplyRate)(borrowRate, utilizationRate, vaultInfo.interestFee),
228
+ };
229
+ }
230
+ return data;
231
+ });
232
+ exports.getApyAfterValuesEstimationEulerV2 = getApyAfterValuesEstimationEulerV2;
@@ -6,3 +6,4 @@ export * as makerHelpers from './makerHelpers';
6
6
  export * as chickenBondsHelpers from './chickenBondsHelpers';
7
7
  export * as morphoBlueHelpers from './morphoBlueHelpers';
8
8
  export * as llamaLendHelpers from './llamaLendHelpers';
9
+ export * as eulerV2Helpers from './eulerHelpers';
@@ -23,7 +23,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
23
23
  return result;
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.llamaLendHelpers = exports.morphoBlueHelpers = exports.chickenBondsHelpers = exports.makerHelpers = exports.curveUsdHelpers = exports.sparkHelpers = exports.compoundHelpers = exports.aaveHelpers = void 0;
26
+ exports.eulerV2Helpers = exports.llamaLendHelpers = exports.morphoBlueHelpers = exports.chickenBondsHelpers = exports.makerHelpers = exports.curveUsdHelpers = exports.sparkHelpers = exports.compoundHelpers = exports.aaveHelpers = void 0;
27
27
  exports.aaveHelpers = __importStar(require("./aaveHelpers"));
28
28
  exports.compoundHelpers = __importStar(require("./compoundHelpers"));
29
29
  exports.sparkHelpers = __importStar(require("./sparkHelpers"));
@@ -32,3 +32,4 @@ exports.makerHelpers = __importStar(require("./makerHelpers"));
32
32
  exports.chickenBondsHelpers = __importStar(require("./chickenBondsHelpers"));
33
33
  exports.morphoBlueHelpers = __importStar(require("./morphoBlueHelpers"));
34
34
  exports.llamaLendHelpers = __importStar(require("./llamaLendHelpers"));
35
+ exports.eulerV2Helpers = __importStar(require("./eulerHelpers"));
package/cjs/index.d.ts CHANGED
@@ -18,5 +18,6 @@ import * as chickenBonds from './chickenBonds';
18
18
  import * as exchange from './exchange';
19
19
  import * as morphoBlue from './morphoBlue';
20
20
  import * as llamaLend from './llamaLend';
21
+ import * as eulerV2 from './eulerV2';
21
22
  export * from './types';
22
- export { aaveV2, aaveV3, morphoAaveV2, morphoAaveV3, compoundV2, compoundV3, spark, curveUsd, liquity, maker, chickenBonds, exchange, staking, multicall, moneymarket, markets, helpers, morphoBlue, llamaLend, };
23
+ export { aaveV2, aaveV3, morphoAaveV2, morphoAaveV3, compoundV2, compoundV3, spark, curveUsd, liquity, maker, chickenBonds, exchange, staking, multicall, moneymarket, markets, helpers, morphoBlue, llamaLend, eulerV2, };
package/cjs/index.js CHANGED
@@ -26,7 +26,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
26
26
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.llamaLend = exports.morphoBlue = exports.helpers = exports.markets = exports.moneymarket = exports.multicall = exports.staking = exports.exchange = exports.chickenBonds = exports.maker = exports.liquity = exports.curveUsd = exports.spark = exports.compoundV3 = exports.compoundV2 = exports.morphoAaveV3 = exports.morphoAaveV2 = exports.aaveV3 = exports.aaveV2 = void 0;
29
+ exports.eulerV2 = exports.llamaLend = exports.morphoBlue = exports.helpers = exports.markets = exports.moneymarket = exports.multicall = exports.staking = exports.exchange = exports.chickenBonds = exports.maker = exports.liquity = exports.curveUsd = exports.spark = exports.compoundV3 = exports.compoundV2 = exports.morphoAaveV3 = exports.morphoAaveV2 = exports.aaveV3 = exports.aaveV2 = void 0;
30
30
  require("./setup");
31
31
  const aaveV3 = __importStar(require("./aaveV3"));
32
32
  exports.aaveV3 = aaveV3;
@@ -66,4 +66,6 @@ const morphoBlue = __importStar(require("./morphoBlue"));
66
66
  exports.morphoBlue = morphoBlue;
67
67
  const llamaLend = __importStar(require("./llamaLend"));
68
68
  exports.llamaLend = llamaLend;
69
+ const eulerV2 = __importStar(require("./eulerV2"));
70
+ exports.eulerV2 = eulerV2;
69
71
  __exportStar(require("./types"), exports);
@@ -7,7 +7,7 @@ exports.compoundV2CollateralAssets = [
7
7
  'cETH', 'cDAI', 'cBAT', 'cZRX', 'cUSDC', 'cWBTC Legacy', 'cWBTC', 'cUSDT',
8
8
  'cTUSD', 'cLINK', 'cUSDP', 'cUNI', 'cCOMP', 'cMKR', 'cSUSHI', 'cAAVE', 'cYFI',
9
9
  ].map((symbol) => (0, tokens_1.getAssetInfo)(symbol));
10
- exports.v3USDCCollAssetsEth = ['COMP', 'WBTC', 'ETH', 'UNI', 'LINK', 'wstETH', 'cbBTC', 'tBTC'];
10
+ exports.v3USDCCollAssetsEth = ['COMP', 'WBTC', 'ETH', 'UNI', 'LINK', 'wstETH', 'cbBTC', 'rswETH'];
11
11
  exports.v3USDCCollAssetsArb = ['ARB', 'ETH', 'GMX', 'WBTC', 'wstETH', 'ezETH'];
12
12
  exports.v3USDCCollAssetsBase = ['ETH', 'cbETH', 'wstETH', 'cbBTC'];
13
13
  exports.v3USDCCollAssetsOpt = ['ETH', 'OP', 'WBTC', 'wstETH'];
@@ -26,7 +26,7 @@ exports.v3USDCeCollAssets = {
26
26
  [common_1.NetworkNumber.Arb]: exports.v3USDCeCollAssetsArb,
27
27
  [common_1.NetworkNumber.Base]: [],
28
28
  };
29
- exports.v3ETHCollAssetsEth = ['cbETH', 'wstETH', 'rETH', 'rsETH', 'weETH', 'osETH', 'WBTC', 'ezETH', 'cbBTC', 'rswETH', 'tBTC'];
29
+ exports.v3ETHCollAssetsEth = ['cbETH', 'wstETH', 'rETH', 'rsETH', 'weETH', 'osETH', 'WBTC', 'ezETH', 'cbBTC', 'rswETH'];
30
30
  exports.v3ETHCollAssetsBase = ['cbETH', 'ezETH', 'wstETH', 'USDC', 'weETH', 'wrsETH', 'cbBTC'];
31
31
  exports.v3ETHCollAssetsArb = ['weETH', 'rETH', 'wstETH', 'WBTC', 'rsETH', 'ezETH', 'USDC', 'USDT'];
32
32
  exports.v3ETHCollAssetsOpt = ['rETH', 'wstETH', 'WBTC', 'ezETH', 'USDC', 'USDT', 'weETH', 'wrsETH'];
@@ -45,7 +45,7 @@ exports.v3USDbCCollAssets = {
45
45
  [common_1.NetworkNumber.Arb]: [],
46
46
  [common_1.NetworkNumber.Base]: exports.v3USDbCCollAssetsBase,
47
47
  };
48
- exports.v3USDTCollAssetsEth = ['COMP', 'ETH', 'WBTC', 'UNI', 'LINK', 'wstETH', 'cbBTC', 'tBTC'];
48
+ exports.v3USDTCollAssetsEth = ['ETH', 'WBTC', 'wstETH', 'COMP', 'UNI', 'LINK', 'cbBTC'];
49
49
  exports.v3USDTCollAssetsArb = ['ETH', 'WBTC', 'wstETH', 'ARB', 'GMX'];
50
50
  exports.v3USDTCollAssetsOpt = ['ETH', 'WBTC', 'OP', 'wstETH'];
51
51
  // @dev Keep assets in array, do not assign directly, so we can parse it and edit it programmatically with `scripts/updateMarkets`
@@ -0,0 +1,10 @@
1
+ import { NetworkNumber } from '../../types/common';
2
+ import { EulerV2Market } from '../../types';
3
+ export declare const eUSDC2: (networkId: NetworkNumber) => EulerV2Market;
4
+ export declare const eUSDC8: (networkId: NetworkNumber) => EulerV2Market;
5
+ export declare const eWETH2: (networkId: NetworkNumber) => EulerV2Market;
6
+ export declare const EulerV2Markets: (networkId: NetworkNumber) => {
7
+ readonly "eUSDC-2": EulerV2Market;
8
+ readonly "eUSDC-8": EulerV2Market;
9
+ readonly "eWETH-2": EulerV2Market;
10
+ };
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EulerV2Markets = exports.eWETH2 = exports.eUSDC8 = exports.eUSDC2 = void 0;
4
+ const common_1 = require("../../types/common");
5
+ const types_1 = require("../../types");
6
+ const eUSDC2 = (networkId) => ({
7
+ chainIds: [common_1.NetworkNumber.Eth],
8
+ label: 'Euler Prime USDC',
9
+ shortLabel: 'eUSDC-2',
10
+ value: types_1.EulerV2Versions.eUSDC2,
11
+ asset: 'USDC',
12
+ secondLabel: 'Market',
13
+ marketAddress: '0x797DD80692c3b2dAdabCe8e30C07fDE5307D48a9',
14
+ });
15
+ exports.eUSDC2 = eUSDC2;
16
+ const eUSDC8 = (networkId) => ({
17
+ chainIds: [common_1.NetworkNumber.Eth],
18
+ label: 'Stablecoin Maxi USDC',
19
+ shortLabel: 'eUSDC-8',
20
+ value: types_1.EulerV2Versions.eUSDC8,
21
+ asset: 'USDC',
22
+ secondLabel: 'Market',
23
+ marketAddress: '0xce45EF0414dE3516cAF1BCf937bF7F2Cf67873De',
24
+ });
25
+ exports.eUSDC8 = eUSDC8;
26
+ const eWETH2 = (networkId) => ({
27
+ chainIds: [common_1.NetworkNumber.Eth],
28
+ label: 'Euler Prime WETH',
29
+ shortLabel: 'eWETH-2',
30
+ value: types_1.EulerV2Versions.eWETH2,
31
+ asset: 'WETH',
32
+ secondLabel: 'Market',
33
+ marketAddress: '0xD8b27CF359b7D15710a5BE299AF6e7Bf904984C2',
34
+ });
35
+ exports.eWETH2 = eWETH2;
36
+ const EulerV2Markets = (networkId) => ({
37
+ [types_1.EulerV2Versions.eUSDC2]: (0, exports.eUSDC2)(networkId),
38
+ [types_1.EulerV2Versions.eUSDC8]: (0, exports.eUSDC8)(networkId),
39
+ [types_1.EulerV2Versions.eWETH2]: (0, exports.eWETH2)(networkId),
40
+ });
41
+ exports.EulerV2Markets = EulerV2Markets;
@@ -4,3 +4,4 @@ export { SparkMarkets } from './spark';
4
4
  export { CrvUsdMarkets } from './curveUsd';
5
5
  export { MorphoBlueMarkets, findMorphoBlueMarket } from './morphoBlue';
6
6
  export { LlamaLendMarkets } from './llamaLend';
7
+ export { EulerV2Markets } from './euler';
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.LlamaLendMarkets = exports.findMorphoBlueMarket = exports.MorphoBlueMarkets = exports.CrvUsdMarkets = exports.SparkMarkets = exports.v3USDTCollAssets = exports.v3USDCeCollAssets = exports.v3USDCCollAssets = exports.v3USDbCCollAssets = exports.v3ETHCollAssets = exports.compoundV2CollateralAssets = exports.CompoundMarkets = exports.getAaveV3MarketByMarketAddress = exports.morphoAaveV3AssetEthMarket = exports.morphoAaveV2AssetDefaultMarket = exports.aaveV3AssetsDefaultMarket = exports.aaveV2AssetsDefaultMarket = exports.aaveV1AssetsDefaultMarket = exports.AaveMarkets = void 0;
3
+ exports.EulerV2Markets = exports.LlamaLendMarkets = exports.findMorphoBlueMarket = exports.MorphoBlueMarkets = exports.CrvUsdMarkets = exports.SparkMarkets = exports.v3USDTCollAssets = exports.v3USDCeCollAssets = exports.v3USDCCollAssets = exports.v3USDbCCollAssets = exports.v3ETHCollAssets = exports.compoundV2CollateralAssets = exports.CompoundMarkets = exports.getAaveV3MarketByMarketAddress = exports.morphoAaveV3AssetEthMarket = exports.morphoAaveV2AssetDefaultMarket = exports.aaveV3AssetsDefaultMarket = exports.aaveV2AssetsDefaultMarket = exports.aaveV1AssetsDefaultMarket = exports.AaveMarkets = void 0;
4
4
  var aave_1 = require("./aave");
5
5
  Object.defineProperty(exports, "AaveMarkets", { enumerable: true, get: function () { return aave_1.AaveMarkets; } });
6
6
  Object.defineProperty(exports, "aaveV1AssetsDefaultMarket", { enumerable: true, get: function () { return aave_1.aaveV1AssetsDefaultMarket; } });
@@ -26,3 +26,5 @@ Object.defineProperty(exports, "MorphoBlueMarkets", { enumerable: true, get: fun
26
26
  Object.defineProperty(exports, "findMorphoBlueMarket", { enumerable: true, get: function () { return morphoBlue_1.findMorphoBlueMarket; } });
27
27
  var llamaLend_1 = require("./llamaLend");
28
28
  Object.defineProperty(exports, "LlamaLendMarkets", { enumerable: true, get: function () { return llamaLend_1.LlamaLendMarkets; } });
29
+ var euler_1 = require("./euler");
30
+ Object.defineProperty(exports, "EulerV2Markets", { enumerable: true, get: function () { return euler_1.EulerV2Markets; } });
@@ -30,7 +30,6 @@ export declare const MORPHO_BLUE_USDE_DAI_770: (networkId?: NetworkNumber) => Mo
30
30
  export declare const MORPHO_BLUE_USDE_DAI_860: (networkId?: NetworkNumber) => MorphoBlueMarketData;
31
31
  export declare const MORPHO_BLUE_USDE_DAI_915: (networkId?: NetworkNumber) => MorphoBlueMarketData;
32
32
  export declare const MORPHO_BLUE_USDE_DAI_945: (networkId?: NetworkNumber) => MorphoBlueMarketData;
33
- export declare const MORPHO_BLUE_RETH_ETH_945: (networkId?: NetworkNumber) => MorphoBlueMarketData;
34
33
  export declare const MORPHO_BLUE_CBETH_USDC_860_BASE: (networkId?: NetworkNumber) => MorphoBlueMarketData;
35
34
  export declare const MORPHO_BLUE_WSTETH_ETH_945_BASE: (networkId?: NetworkNumber) => MorphoBlueMarketData;
36
35
  export declare const MORPHO_BLUE_WSTETH_ETH_965_BASE: (networkId?: NetworkNumber) => MorphoBlueMarketData;
@@ -42,7 +41,6 @@ export declare const MORPHO_BLUE_RETH_USDC_860_BASE: (networkId?: NetworkNumber)
42
41
  export declare const MORPHO_BLUE_RETH_ETH_945_BASE: (networkId?: NetworkNumber) => MorphoBlueMarketData;
43
42
  export declare const MORPHO_BLUE_CBBTC_ETH_915_BASE: (networkId?: NetworkNumber) => MorphoBlueMarketData;
44
43
  export declare const MORPHO_BLUE_CBBTC_USDC_860_BASE: (networkId?: NetworkNumber) => MorphoBlueMarketData;
45
- export declare const MORPHO_BLUE_WSUPEROETHB_WETH_915_BASE: (networkId?: NetworkNumber) => MorphoBlueMarketData;
46
44
  export declare const MorphoBlueMarkets: (networkId: NetworkNumber) => {
47
45
  readonly morphobluewstethusdc: MorphoBlueMarketData;
48
46
  readonly morphobluesdaiusdc: MorphoBlueMarketData;
@@ -63,7 +61,6 @@ export declare const MorphoBlueMarkets: (networkId: NetworkNumber) => {
63
61
  readonly morphobluetbtcusdc: MorphoBlueMarketData;
64
62
  readonly morphobluecbbtceth: MorphoBlueMarketData;
65
63
  readonly morphobluecbbtcusdc: MorphoBlueMarketData;
66
- readonly morphoblueretheth_945: MorphoBlueMarketData;
67
64
  readonly morphobluewstetheth_945: MorphoBlueMarketData;
68
65
  readonly morphobluewstetheth_945_exchange_rate: MorphoBlueMarketData;
69
66
  readonly morphobluewstetheth_965_exchange_rate: MorphoBlueMarketData;
@@ -82,7 +79,6 @@ export declare const MorphoBlueMarkets: (networkId: NetworkNumber) => {
82
79
  readonly morphoblueretheth_945_base: MorphoBlueMarketData;
83
80
  readonly morphobluecbbtceth_915_base: MorphoBlueMarketData;
84
81
  readonly morphobluecbbtcusdc_860_base: MorphoBlueMarketData;
85
- readonly morphobluewsuperoethbweth_915_base: MorphoBlueMarketData;
86
82
  readonly morphobluecbetheth_945_base: MorphoBlueMarketData;
87
83
  readonly morphobluecbetheth_965_base: MorphoBlueMarketData;
88
84
  readonly morphobluewstetheth_945_base: MorphoBlueMarketData;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.findMorphoBlueMarket = exports.MorphoBlueMarkets = exports.MORPHO_BLUE_WSUPEROETHB_WETH_915_BASE = exports.MORPHO_BLUE_CBBTC_USDC_860_BASE = exports.MORPHO_BLUE_CBBTC_ETH_915_BASE = exports.MORPHO_BLUE_RETH_ETH_945_BASE = exports.MORPHO_BLUE_RETH_USDC_860_BASE = exports.MORPHO_BLUE_ETH_USDC_860_BASE = exports.MORPHO_BLUE_CBETH_ETH_945_BASE = exports.MORPHO_BLUE_CBETH_ETH_965_BASE = exports.MORPHO_BLUE_WSTETH_USDC_860_BASE = exports.MORPHO_BLUE_WSTETH_ETH_965_BASE = exports.MORPHO_BLUE_WSTETH_ETH_945_BASE = exports.MORPHO_BLUE_CBETH_USDC_860_BASE = exports.MORPHO_BLUE_RETH_ETH_945 = exports.MORPHO_BLUE_USDE_DAI_945 = exports.MORPHO_BLUE_USDE_DAI_915 = exports.MORPHO_BLUE_USDE_DAI_860 = exports.MORPHO_BLUE_USDE_DAI_770 = exports.MORPHO_BLUE_SUSDE_DAI_945 = exports.MORPHO_BLUE_SUSDE_DAI_915 = exports.MORPHO_BLUE_SUSDE_DAI_860 = exports.MORPHO_BLUE_SUSDE_DAI_770 = exports.MORPHO_BLUE_WSTETH_ETH_965_EXCHANGE_RATE = exports.MORPHO_BLUE_WSTETH_ETH_945_EXCHANGE_RATE = exports.MORPHO_BLUE_WSTETH_ETH_945 = exports.MORPHO_BLUE_CBBTC_USDC_860 = exports.MORPHO_BLUE_CBBTC_ETH_915 = exports.MORPHO_BLUE_TBTC_USDC = exports.MORPHO_BLUE_MKR_USDC = exports.MORPHO_BLUE_EZETH_ETH = exports.MORPHO_BLUE_SDAI_ETH = exports.MORPHO_BLUE_SUSDE_USDT = exports.MORPHO_BLUE_USDE_USDT = exports.MORPHO_BLUE_WEETH_ETH = exports.MORPHO_BLUE_WSTETH_PYUSD = exports.MORPHO_BLUE_WSTETH_USDA_EXCHANGE_RATE = exports.MORPHO_BLUE_WSTETH_USDT = exports.MORPHO_BLUE_WBTC_ETH = exports.MORPHO_BLUE_WBTC_PYUSD = exports.MORPHO_BLUE_WBTC_USDT = exports.MORPHO_BLUE_ETH_USDC = exports.MORPHO_BLUE_WBTC_USDC = exports.MORPHO_BLUE_SDAI_USDC = exports.MORPHO_BLUE_WSTETH_USDC = void 0;
3
+ exports.findMorphoBlueMarket = exports.MorphoBlueMarkets = exports.MORPHO_BLUE_CBBTC_USDC_860_BASE = exports.MORPHO_BLUE_CBBTC_ETH_915_BASE = exports.MORPHO_BLUE_RETH_ETH_945_BASE = exports.MORPHO_BLUE_RETH_USDC_860_BASE = exports.MORPHO_BLUE_ETH_USDC_860_BASE = exports.MORPHO_BLUE_CBETH_ETH_945_BASE = exports.MORPHO_BLUE_CBETH_ETH_965_BASE = exports.MORPHO_BLUE_WSTETH_USDC_860_BASE = exports.MORPHO_BLUE_WSTETH_ETH_965_BASE = exports.MORPHO_BLUE_WSTETH_ETH_945_BASE = exports.MORPHO_BLUE_CBETH_USDC_860_BASE = exports.MORPHO_BLUE_USDE_DAI_945 = exports.MORPHO_BLUE_USDE_DAI_915 = exports.MORPHO_BLUE_USDE_DAI_860 = exports.MORPHO_BLUE_USDE_DAI_770 = exports.MORPHO_BLUE_SUSDE_DAI_945 = exports.MORPHO_BLUE_SUSDE_DAI_915 = exports.MORPHO_BLUE_SUSDE_DAI_860 = exports.MORPHO_BLUE_SUSDE_DAI_770 = exports.MORPHO_BLUE_WSTETH_ETH_965_EXCHANGE_RATE = exports.MORPHO_BLUE_WSTETH_ETH_945_EXCHANGE_RATE = exports.MORPHO_BLUE_WSTETH_ETH_945 = exports.MORPHO_BLUE_CBBTC_USDC_860 = exports.MORPHO_BLUE_CBBTC_ETH_915 = exports.MORPHO_BLUE_TBTC_USDC = exports.MORPHO_BLUE_MKR_USDC = exports.MORPHO_BLUE_EZETH_ETH = exports.MORPHO_BLUE_SDAI_ETH = exports.MORPHO_BLUE_SUSDE_USDT = exports.MORPHO_BLUE_USDE_USDT = exports.MORPHO_BLUE_WEETH_ETH = exports.MORPHO_BLUE_WSTETH_PYUSD = exports.MORPHO_BLUE_WSTETH_USDA_EXCHANGE_RATE = exports.MORPHO_BLUE_WSTETH_USDT = exports.MORPHO_BLUE_WBTC_ETH = exports.MORPHO_BLUE_WBTC_PYUSD = exports.MORPHO_BLUE_WBTC_USDT = exports.MORPHO_BLUE_ETH_USDC = exports.MORPHO_BLUE_WBTC_USDC = exports.MORPHO_BLUE_SDAI_USDC = exports.MORPHO_BLUE_WSTETH_USDC = void 0;
4
4
  const utils_1 = require("../../services/utils");
5
5
  const types_1 = require("../../types");
6
6
  const common_1 = require("../../types/common");
@@ -487,22 +487,6 @@ const MORPHO_BLUE_USDE_DAI_945 = (networkId = common_1.NetworkNumber.Eth) => ({
487
487
  protocolName: 'morpho-blue',
488
488
  });
489
489
  exports.MORPHO_BLUE_USDE_DAI_945 = MORPHO_BLUE_USDE_DAI_945;
490
- const MORPHO_BLUE_RETH_ETH_945 = (networkId = common_1.NetworkNumber.Eth) => ({
491
- chainIds: [1],
492
- label: 'Morpho',
493
- shortLabel: 'rETH/ETH',
494
- value: types_1.MorphoBlueVersions.MorphoBlueREthEth_945,
495
- url: 'retheth-3c83f77b',
496
- loanToken: '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2',
497
- collateralToken: '0xae78736Cd615f374D3085123A210448E74Fc6393',
498
- oracle: '0x1b4A3F92e5Fffd1d35A98751c9FE4472483579bB',
499
- oracleType: types_1.MorphoBlueOracleType.MARKET_RATE,
500
- irm: '0x870aC11D48B15DB9a138Cf899d20F13F79Ba00BC',
501
- lltv: 0.945,
502
- marketId: '0x3c83f77bde9541f8d3d82533b19bbc1f97eb2f1098bb991728acbfbede09cc5d',
503
- protocolName: 'morpho-blue',
504
- });
505
- exports.MORPHO_BLUE_RETH_ETH_945 = MORPHO_BLUE_RETH_ETH_945;
506
490
  // BASE
507
491
  const MORPHO_BLUE_CBETH_USDC_860_BASE = (networkId = common_1.NetworkNumber.Eth) => ({
508
492
  chainIds: [common_1.NetworkNumber.Base],
@@ -680,22 +664,6 @@ const MORPHO_BLUE_CBBTC_USDC_860_BASE = (networkId = common_1.NetworkNumber.Eth)
680
664
  protocolName: 'morpho-blue',
681
665
  });
682
666
  exports.MORPHO_BLUE_CBBTC_USDC_860_BASE = MORPHO_BLUE_CBBTC_USDC_860_BASE;
683
- const MORPHO_BLUE_WSUPEROETHB_WETH_915_BASE = (networkId = common_1.NetworkNumber.Eth) => ({
684
- chainIds: [common_1.NetworkNumber.Base],
685
- label: 'Morpho',
686
- shortLabel: 'wsuperOETHb/WETH',
687
- value: types_1.MorphoBlueVersions.MorphoBlueWsuperOETHbWETH_915_Base,
688
- url: 'wsuperoethbweth-144bf18d',
689
- loanToken: '0x4200000000000000000000000000000000000006',
690
- collateralToken: '0x7FcD174E80f264448ebeE8c88a7C4476AAF58Ea6',
691
- oracle: '0x28C964c985fe84736fAdc7Cf0bBd58B54bc7CF93',
692
- oracleType: types_1.MorphoBlueOracleType.MARKET_RATE,
693
- irm: '0x46415998764C29aB2a25CbeA6254146D50D22687',
694
- lltv: 0.915,
695
- marketId: '0x144bf18d6bf4c59602548a825034f73bf1d20177fc5f975fc69d5a5eba929b45',
696
- protocolName: 'morpho-blue',
697
- });
698
- exports.MORPHO_BLUE_WSUPEROETHB_WETH_915_BASE = MORPHO_BLUE_WSUPEROETHB_WETH_915_BASE;
699
667
  const MorphoBlueMarkets = (networkId) => ({
700
668
  [types_1.MorphoBlueVersions.MorphoBlueWstEthUSDC]: (0, exports.MORPHO_BLUE_WSTETH_USDC)(networkId),
701
669
  [types_1.MorphoBlueVersions.MorphoBlueSDAIUSDC]: (0, exports.MORPHO_BLUE_SDAI_USDC)(networkId),
@@ -716,7 +684,6 @@ const MorphoBlueMarkets = (networkId) => ({
716
684
  [types_1.MorphoBlueVersions.MorphoBlueTBTCUSDC]: (0, exports.MORPHO_BLUE_TBTC_USDC)(networkId),
717
685
  [types_1.MorphoBlueVersions.MorphoBlueCbBTCEth_915]: (0, exports.MORPHO_BLUE_CBBTC_ETH_915)(networkId),
718
686
  [types_1.MorphoBlueVersions.MorphoBlueCbBTCUSDC_860]: (0, exports.MORPHO_BLUE_CBBTC_USDC_860)(networkId),
719
- [types_1.MorphoBlueVersions.MorphoBlueREthEth_945]: (0, exports.MORPHO_BLUE_RETH_ETH_945)(networkId),
720
687
  // wstETH/WETH
721
688
  [types_1.MorphoBlueVersions.MorphoBlueWstEthEth_945]: (0, exports.MORPHO_BLUE_WSTETH_ETH_945)(networkId),
722
689
  [types_1.MorphoBlueVersions.MorphoBlueWstEthEth_945_Exchange_Rate]: (0, exports.MORPHO_BLUE_WSTETH_ETH_945_EXCHANGE_RATE)(networkId),
@@ -739,8 +706,6 @@ const MorphoBlueMarkets = (networkId) => ({
739
706
  [types_1.MorphoBlueVersions.MorphoBlueREthEth_945_Base]: (0, exports.MORPHO_BLUE_RETH_ETH_945_BASE)(networkId),
740
707
  [types_1.MorphoBlueVersions.MorphoBlueCbBTCEth_915_Base]: (0, exports.MORPHO_BLUE_CBBTC_ETH_915_BASE)(networkId),
741
708
  [types_1.MorphoBlueVersions.MorphoBlueCbBTCUSDC_860_Base]: (0, exports.MORPHO_BLUE_CBBTC_USDC_860_BASE)(networkId),
742
- // wsuperOETHb/WETH Base
743
- [types_1.MorphoBlueVersions.MorphoBlueWsuperOETHbWETH_915_Base]: (0, exports.MORPHO_BLUE_WSUPEROETHB_WETH_915_BASE)(networkId),
744
709
  // cbETH/WETH Base
745
710
  [types_1.MorphoBlueVersions.MorphoBlueCbEthEth_945_Base]: (0, exports.MORPHO_BLUE_CBETH_ETH_945_BASE)(networkId),
746
711
  [types_1.MorphoBlueVersions.MorphoBlueCbEthEth_965_Base]: (0, exports.MORPHO_BLUE_CBETH_ETH_965_BASE)(networkId),
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.sparkAssetsDefaultMarket = exports.sparkAssetsDefaultMarketEth = void 0;
4
4
  const common_1 = require("../../types/common");
5
- exports.sparkAssetsDefaultMarketEth = ['DAI', 'sDAI', 'USDC', 'ETH', 'wstETH', 'WBTC', 'GNO', 'rETH', 'USDT', 'weETH', 'cbBTC', 'sUSDS'];
5
+ exports.sparkAssetsDefaultMarketEth = ['DAI', 'sDAI', 'USDC', 'ETH', 'wstETH', 'WBTC', 'GNO', 'rETH', 'USDT', 'weETH', 'cbBTC'];
6
6
  // @dev Keep assets in array, do not assign directly, so we can parse it and edit it programmatically with `scripts/updateMarkets`
7
7
  exports.sparkAssetsDefaultMarket = {
8
8
  [common_1.NetworkNumber.Eth]: exports.sparkAssetsDefaultMarketEth,
@@ -20,3 +20,5 @@ export declare const bytesToString: (hex: string) => string;
20
20
  */
21
21
  export declare const mapRange: (input: number | string, minInput: number | string, maxInput: number | string, minOutput: number | string, maxOutput: number | string) => number;
22
22
  export declare const isEnabledOnBitmap: (bitmap: number, assetId: number) => bigint;
23
+ export declare const MAXUINT: string;
24
+ export declare const isMaxuint: (amount: string) => boolean;
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.isEnabledOnBitmap = exports.mapRange = exports.bytesToString = exports.ethToWethByAddress = exports.wethToEthByAddress = exports.handleWbtcLegacy = exports.getEthAmountForDecimals = exports.getWeiAmountForDecimals = exports.compareAddresses = exports.isAddress = exports.ADDRESS_REGEX = exports.getAbiItem = exports.wstEthToStEth = exports.stEthToWstEth = exports.wethToEth = exports.ethToWeth = exports.addToObjectIf = exports.isLayer2Network = void 0;
6
+ exports.isMaxuint = exports.MAXUINT = exports.isEnabledOnBitmap = exports.mapRange = exports.bytesToString = exports.ethToWethByAddress = exports.wethToEthByAddress = exports.handleWbtcLegacy = exports.getEthAmountForDecimals = exports.getWeiAmountForDecimals = exports.compareAddresses = exports.isAddress = exports.ADDRESS_REGEX = exports.getAbiItem = exports.wstEthToStEth = exports.stEthToWstEth = exports.wethToEth = exports.ethToWeth = exports.addToObjectIf = exports.isLayer2Network = void 0;
7
7
  const decimal_js_1 = __importDefault(require("decimal.js"));
8
8
  const tokens_1 = require("@defisaver/tokens");
9
9
  const common_1 = require("../types/common");
@@ -56,3 +56,6 @@ exports.mapRange = mapRange;
56
56
  // eslint-disable-next-line no-bitwise
57
57
  const isEnabledOnBitmap = (bitmap, assetId) => (BigInt(bitmap) >> BigInt(assetId)) & BigInt(1);
58
58
  exports.isEnabledOnBitmap = isEnabledOnBitmap;
59
+ exports.MAXUINT = '115792089237316195423570985008687907853269984665640564039457584007913129639935';
60
+ const isMaxuint = (amount) => (0, exports.compareAddresses)(exports.MAXUINT, amount);
61
+ exports.isMaxuint = isMaxuint;
@@ -86,32 +86,13 @@ const getDsrApy = (web3, blockNumber = 'latest') => __awaiter(void 0, void 0, vo
86
86
  .toString();
87
87
  });
88
88
  exports.getDsrApy = getDsrApy;
89
- const getSuperOETHApy = () => __awaiter(void 0, void 0, void 0, function* () {
90
- console.log('getSuperOETHApy');
91
- const res = yield fetch('https://origin.squids.live/origin-squid/graphql', {
92
- method: 'POST',
93
- headers: {
94
- 'Content-Type': 'application/json',
95
- },
96
- body: JSON.stringify({
97
- query: '\n query OTokenApy($chainId: Int!, $token: String!) {\n oTokenApies(\n limit: 1\n orderBy: timestamp_DESC\n where: {chainId_eq: $chainId, otoken_containsInsensitive: $token}\n ) {\n apy7DayAvg\n apy14DayAvg\n apy30DayAvg\n apr\n apy\n }\n}\n ',
98
- variables: {
99
- token: '0xdbfefd2e8460a6ee4955a68582f85708baea60a3',
100
- chainId: 8453,
101
- },
102
- }),
103
- });
104
- const data = yield res.json();
105
- return new decimal_js_1.default(data.data.oTokenApies[0].apy).mul(100).toString();
106
- });
107
89
  const getApyFromDfsApi = (asset) => __awaiter(void 0, void 0, void 0, function* () {
108
90
  const res = yield fetch(`https://app.defisaver.com/api/staking/apy?asset=${asset}`);
109
91
  const data = yield res.json();
110
92
  return data.apy;
111
93
  });
112
- exports.STAKING_ASSETS = ['cbETH', 'wstETH', 'cbETH', 'rETH', 'sDAI', 'weETH', 'sUSDe', 'osETH', 'ezETH', 'ETHx', 'rsETH', 'pufETH', 'wrsETH', 'wsuperOETHb'];
94
+ exports.STAKING_ASSETS = ['cbETH', 'wstETH', 'cbETH', 'rETH', 'sDAI', 'weETH', 'sUSDe', 'osETH', 'ezETH', 'ETHx', 'rsETH', 'pufETH', 'wrsETH'];
113
95
  const getStakingApy = (asset, web3, blockNumber = 'latest', fromBlock = undefined) => {
114
- console.log('getStakingApy', asset, blockNumber, fromBlock);
115
96
  try {
116
97
  if (asset === 'stETH' || asset === 'wstETH')
117
98
  return (0, exports.getStETHApr)(web3, fromBlock, blockNumber);
@@ -135,8 +116,6 @@ const getStakingApy = (asset, web3, blockNumber = 'latest', fromBlock = undefine
135
116
  return getApyFromDfsApi('rsETH');
136
117
  if (asset === 'pufETH')
137
118
  return getApyFromDfsApi('pufETH');
138
- if (asset === 'wsuperOETHb')
139
- return getSuperOETHApy();
140
119
  }
141
120
  catch (e) {
142
121
  console.error(`Failed to fetch APY for ${asset}`);