@defisaver/positions-sdk 2.1.71-aave-v4-2-dev → 2.1.72-gho-plasma-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 (70) hide show
  1. package/cjs/config/contracts.d.ts +0 -1535
  2. package/cjs/config/contracts.js +0 -9
  3. package/cjs/contracts.d.ts +0 -32401
  4. package/cjs/contracts.js +1 -2
  5. package/cjs/helpers/index.d.ts +0 -1
  6. package/cjs/helpers/index.js +1 -2
  7. package/cjs/index.d.ts +1 -2
  8. package/cjs/index.js +1 -3
  9. package/cjs/markets/aave/marketAssets.js +1 -1
  10. package/cjs/markets/index.d.ts +0 -1
  11. package/cjs/markets/index.js +1 -3
  12. package/cjs/portfolio/index.js +0 -20
  13. package/cjs/staking/eligibility.d.ts +6 -0
  14. package/cjs/staking/eligibility.js +37 -19
  15. package/cjs/types/common.d.ts +2 -1
  16. package/cjs/types/common.js +1 -0
  17. package/cjs/types/index.d.ts +0 -1
  18. package/cjs/types/index.js +0 -1
  19. package/cjs/types/portfolio.d.ts +0 -4
  20. package/esm/config/contracts.d.ts +0 -1535
  21. package/esm/config/contracts.js +0 -8
  22. package/esm/contracts.d.ts +0 -32401
  23. package/esm/contracts.js +0 -1
  24. package/esm/helpers/index.d.ts +0 -1
  25. package/esm/helpers/index.js +0 -1
  26. package/esm/index.d.ts +1 -2
  27. package/esm/index.js +1 -2
  28. package/esm/markets/aave/marketAssets.js +1 -1
  29. package/esm/markets/index.d.ts +0 -1
  30. package/esm/markets/index.js +0 -1
  31. package/esm/portfolio/index.js +1 -21
  32. package/esm/staking/eligibility.d.ts +6 -0
  33. package/esm/staking/eligibility.js +35 -18
  34. package/esm/types/common.d.ts +2 -1
  35. package/esm/types/common.js +1 -0
  36. package/esm/types/index.d.ts +0 -1
  37. package/esm/types/index.js +0 -1
  38. package/esm/types/portfolio.d.ts +0 -4
  39. package/package.json +2 -2
  40. package/src/config/contracts.ts +1 -9
  41. package/src/contracts.ts +1 -3
  42. package/src/helpers/index.ts +0 -1
  43. package/src/index.ts +0 -2
  44. package/src/markets/aave/marketAssets.ts +1 -1
  45. package/src/markets/index.ts +1 -6
  46. package/src/portfolio/index.ts +0 -20
  47. package/src/staking/eligibility.ts +69 -15
  48. package/src/types/common.ts +1 -0
  49. package/src/types/index.ts +1 -2
  50. package/src/types/portfolio.ts +0 -4
  51. package/cjs/aaveV4/index.d.ts +0 -7
  52. package/cjs/aaveV4/index.js +0 -174
  53. package/cjs/helpers/aaveV4Helpers/index.d.ts +0 -13
  54. package/cjs/helpers/aaveV4Helpers/index.js +0 -117
  55. package/cjs/markets/aaveV4/index.d.ts +0 -28
  56. package/cjs/markets/aaveV4/index.js +0 -140
  57. package/cjs/types/aaveV4.d.ts +0 -145
  58. package/cjs/types/aaveV4.js +0 -19
  59. package/esm/aaveV4/index.d.ts +0 -7
  60. package/esm/aaveV4/index.js +0 -165
  61. package/esm/helpers/aaveV4Helpers/index.d.ts +0 -13
  62. package/esm/helpers/aaveV4Helpers/index.js +0 -108
  63. package/esm/markets/aaveV4/index.d.ts +0 -28
  64. package/esm/markets/aaveV4/index.js +0 -122
  65. package/esm/types/aaveV4.d.ts +0 -145
  66. package/esm/types/aaveV4.js +0 -16
  67. package/src/aaveV4/index.ts +0 -176
  68. package/src/helpers/aaveV4Helpers/index.ts +0 -128
  69. package/src/markets/aaveV4/index.ts +0 -149
  70. package/src/types/aaveV4.ts +0 -161
package/cjs/contracts.js CHANGED
@@ -34,7 +34,7 @@ var __importStar = (this && this.__importStar) || (function () {
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.AaveRewardsControllerViem = exports.SparkRewardsControllerViem = exports.UUPSViem = exports.LiquityStabilityPoolViem = exports.LiquityLQTYStakingViem = exports.AaveUmbrellaViewViem = exports.AaveIncentivesControllerViem = exports.FluidViewContractViem = exports.LiquityV2LegacyViewContractViem = exports.LiquityV2ViewContractViem = exports.LiquityActivePoolContractViem = exports.LiquityPriceFeedContractViem = exports.LiquityTroveManagerContractViem = exports.LiquityCollSurplusPoolContractViem = exports.LiquityViewContractViem = exports.BTCPriceFeedContractViem = exports.WeETHPriceFeedContractViem = exports.ComptrollerContractViem = exports.CompoundLoanInfoContractViem = exports.McdJugContractViem = exports.McdDogContractViem = exports.McdSpotterContractViem = exports.McdVatContractViem = exports.McdViewContractViem = exports.McdGetCdpsContractViem = exports.LlamaLendViewContractViem = exports.CrvUSDFactoryContractViem = exports.CrvUSDViewContractViem = exports.EulerV2ViewContractViem = exports.SparkIncentiveDataProviderContractViem = exports.SparkViewContractViem = exports.CompV3ViewContractViem = exports.WstETHPriceFeedContractViem = exports.USDCPriceFeedContractViem = exports.ETHPriceFeedContractViem = exports.COMPPriceFeedContractViem = exports.DFSFeedRegistryContractViem = exports.FeedRegistryContractViem = exports.AaveIncentiveDataProviderV3ContractViem = exports.AaveV3ViewContractViem = exports.AaveLoanInfoV2ContractViem = exports.MorphoBlueViewContractViem = exports.getYearnV3VaultContractViem = exports.getErc20ContractViem = exports.getSparkSavingsVaultContractViem = exports.getYearnVaultContractViem = exports.getMorphoVaultContractViem = exports.createViemContractFromConfigFunc = exports.getConfigContractAbi = exports.getConfigContractAddress = void 0;
37
- exports.AaveV4ViewContractViem = exports.SkySavingsContractView = exports.MakerDsrContractViem = exports.YearnViewContractViem = exports.StkAAVEViem = exports.LiquityV2sBoldVaultViem = void 0;
37
+ exports.SkySavingsContractView = exports.MakerDsrContractViem = exports.YearnViewContractViem = exports.StkAAVEViem = exports.LiquityV2sBoldVaultViem = void 0;
38
38
  const viem_1 = require("viem");
39
39
  const configRaw = __importStar(require("./config/contracts"));
40
40
  // @ts-ignore
@@ -177,4 +177,3 @@ exports.StkAAVEViem = (0, exports.createViemContractFromConfigFunc)('StkAAVE');
177
177
  exports.YearnViewContractViem = (0, exports.createViemContractFromConfigFunc)('YearnView');
178
178
  exports.MakerDsrContractViem = (0, exports.createViemContractFromConfigFunc)('MakerDsr');
179
179
  exports.SkySavingsContractView = (0, exports.createViemContractFromConfigFunc)('SkySavings');
180
- exports.AaveV4ViewContractViem = (0, exports.createViemContractFromConfigFunc)('AaveV4View');
@@ -8,4 +8,3 @@ export * as llamaLendHelpers from './llamaLendHelpers';
8
8
  export * as liquityV2Helpers from './liquityV2Helpers';
9
9
  export * as eulerV2Helpers from './eulerHelpers';
10
10
  export * as fluidHelpers from './fluidHelpers';
11
- export * as aaveV4Helpers from './aaveV4Helpers';
@@ -33,7 +33,7 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.aaveV4Helpers = exports.fluidHelpers = exports.eulerV2Helpers = exports.liquityV2Helpers = exports.llamaLendHelpers = exports.morphoBlueHelpers = exports.makerHelpers = exports.curveUsdHelpers = exports.sparkHelpers = exports.compoundHelpers = exports.aaveHelpers = void 0;
36
+ exports.fluidHelpers = exports.eulerV2Helpers = exports.liquityV2Helpers = exports.llamaLendHelpers = exports.morphoBlueHelpers = exports.makerHelpers = exports.curveUsdHelpers = exports.sparkHelpers = exports.compoundHelpers = exports.aaveHelpers = void 0;
37
37
  exports.aaveHelpers = __importStar(require("./aaveHelpers"));
38
38
  exports.compoundHelpers = __importStar(require("./compoundHelpers"));
39
39
  exports.sparkHelpers = __importStar(require("./sparkHelpers"));
@@ -44,4 +44,3 @@ exports.llamaLendHelpers = __importStar(require("./llamaLendHelpers"));
44
44
  exports.liquityV2Helpers = __importStar(require("./liquityV2Helpers"));
45
45
  exports.eulerV2Helpers = __importStar(require("./eulerHelpers"));
46
46
  exports.fluidHelpers = __importStar(require("./fluidHelpers"));
47
- exports.aaveV4Helpers = __importStar(require("./aaveV4Helpers"));
package/cjs/index.d.ts CHANGED
@@ -1,6 +1,5 @@
1
1
  import './setup';
2
2
  import * as fluid from './fluid';
3
- import * as aaveV4 from './aaveV4';
4
3
  import * as aaveV3 from './aaveV3';
5
4
  import * as aaveV2 from './aaveV2';
6
5
  import * as compoundV3 from './compoundV3';
@@ -22,4 +21,4 @@ import * as portfolio from './portfolio';
22
21
  import * as claiming from './claiming';
23
22
  import * as savings from './savings';
24
23
  export * from './types';
25
- export { aaveV2, aaveV3, aaveV4, compoundV2, compoundV3, spark, curveUsd, liquity, liquityV2, maker, exchange, staking, moneymarket, markets, helpers, morphoBlue, llamaLend, eulerV2, fluid, portfolio, claiming, savings, };
24
+ export { aaveV2, aaveV3, compoundV2, compoundV3, spark, curveUsd, liquity, liquityV2, maker, exchange, staking, moneymarket, markets, helpers, morphoBlue, llamaLend, eulerV2, fluid, portfolio, claiming, savings, };
package/cjs/index.js CHANGED
@@ -36,12 +36,10 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
36
36
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.savings = exports.claiming = exports.portfolio = exports.fluid = exports.eulerV2 = exports.llamaLend = exports.morphoBlue = exports.helpers = exports.markets = exports.moneymarket = exports.staking = exports.exchange = exports.maker = exports.liquityV2 = exports.liquity = exports.curveUsd = exports.spark = exports.compoundV3 = exports.compoundV2 = exports.aaveV4 = exports.aaveV3 = exports.aaveV2 = void 0;
39
+ exports.savings = exports.claiming = exports.portfolio = exports.fluid = exports.eulerV2 = exports.llamaLend = exports.morphoBlue = exports.helpers = exports.markets = exports.moneymarket = exports.staking = exports.exchange = exports.maker = exports.liquityV2 = exports.liquity = exports.curveUsd = exports.spark = exports.compoundV3 = exports.compoundV2 = exports.aaveV3 = exports.aaveV2 = void 0;
40
40
  require("./setup");
41
41
  const fluid = __importStar(require("./fluid"));
42
42
  exports.fluid = fluid;
43
- const aaveV4 = __importStar(require("./aaveV4"));
44
- exports.aaveV4 = aaveV4;
45
43
  const aaveV3 = __importStar(require("./aaveV3"));
46
44
  exports.aaveV3 = aaveV3;
47
45
  const aaveV2 = __importStar(require("./aaveV2"));
@@ -18,7 +18,7 @@ exports.aaveV3AssetsDefaultMarketOpt = [
18
18
  exports.aaveV3AssetsDefaultMarketArb = ['DAI', 'LINK', 'USDC.e', 'WBTC', 'ETH', 'USDT', 'AAVE', 'EURS', 'wstETH', 'MAI', 'rETH', 'LUSD', 'USDC', 'FRAX', 'ARB', 'weETH', 'GHO', 'ezETH', 'rsETH', 'tBTC'];
19
19
  exports.aaveV3AssetsDefaultMarketBase = ['ETH', 'cbETH', 'USDbC', 'wstETH', 'USDC', 'weETH', 'cbBTC', 'ezETH', 'GHO', 'wrsETH', 'LBTC', 'EURC', 'AAVE', 'tBTC', 'syrupUSDC'];
20
20
  exports.aaveV3AssetsDefaultMarketLinea = ['ETH', 'USDC', 'weETH', 'ezETH', 'USDT', 'wstETH', 'wrsETH', 'WBTC', 'mUSD'];
21
- exports.aaveV3AssetsDefaultMarketPlasma = ['ETH', 'USDT', 'sUSDe', 'USDe', 'weETH', 'XAUt', 'PT USDe Jan', 'PT sUSDe Jan', 'wrsETH', 'wstETH', 'syrupUSDT', 'XPL', 'PT USDe Apr', 'PT sUSDe Apr'];
21
+ exports.aaveV3AssetsDefaultMarketPlasma = ['ETH', 'USDT', 'sUSDe', 'USDe', 'weETH', 'XAUt', 'PT USDe Jan', 'PT sUSDe Jan', 'wrsETH', 'wstETH', 'syrupUSDT', 'XPL', 'PT USDe Apr', 'PT sUSDe Apr', 'GHO'];
22
22
  // @dev Keep assets in array, do not assign directly, so we can parse it and edit it programmatically with `scripts/updateMarkets`
23
23
  exports.aaveV3AssetsDefaultMarket = {
24
24
  [common_1.NetworkNumber.Eth]: exports.aaveV3AssetsDefaultMarketEth,
@@ -7,4 +7,3 @@ export { LlamaLendMarkets } from './llamaLend';
7
7
  export { LiquityV2Markets, findLiquityV2MarketByAddress } from './liquityV2';
8
8
  export { EulerV2Markets } from './euler';
9
9
  export { FluidMarkets, getFluidVersionsDataForNetwork, getFluidMarketInfoById, getFTokenAddress, getFluidMarketInfoByAddress, } from './fluid';
10
- export { AaveV4Spokes } from './aaveV4';
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AaveV4Spokes = exports.getFluidMarketInfoByAddress = exports.getFTokenAddress = exports.getFluidMarketInfoById = exports.getFluidVersionsDataForNetwork = exports.FluidMarkets = exports.EulerV2Markets = exports.findLiquityV2MarketByAddress = exports.LiquityV2Markets = 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.aaveV3AssetsDefaultMarket = exports.aaveV2AssetsDefaultMarket = exports.aaveV1AssetsDefaultMarket = exports.AaveMarkets = void 0;
3
+ exports.getFluidMarketInfoByAddress = exports.getFTokenAddress = exports.getFluidMarketInfoById = exports.getFluidVersionsDataForNetwork = exports.FluidMarkets = exports.EulerV2Markets = exports.findLiquityV2MarketByAddress = exports.LiquityV2Markets = 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.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; } });
@@ -35,5 +35,3 @@ Object.defineProperty(exports, "getFluidVersionsDataForNetwork", { enumerable: t
35
35
  Object.defineProperty(exports, "getFluidMarketInfoById", { enumerable: true, get: function () { return fluid_1.getFluidMarketInfoById; } });
36
36
  Object.defineProperty(exports, "getFTokenAddress", { enumerable: true, get: function () { return fluid_1.getFTokenAddress; } });
37
37
  Object.defineProperty(exports, "getFluidMarketInfoByAddress", { enumerable: true, get: function () { return fluid_1.getFluidMarketInfoByAddress; } });
38
- var aaveV4_1 = require("./aaveV4");
39
- Object.defineProperty(exports, "AaveV4Spokes", { enumerable: true, get: function () { return aaveV4_1.AaveV4Spokes; } });
@@ -40,7 +40,6 @@ const spark_2 = require("../claiming/spark");
40
40
  const morphoBlue_2 = require("../claiming/morphoBlue");
41
41
  const king_1 = require("../claiming/king");
42
42
  const ethena_1 = require("../claiming/ethena");
43
- const aaveV4_1 = require("../aaveV4");
44
43
  function getPortfolioData(provider_1, network_1, defaultProvider_1, addresses_1) {
45
44
  return __awaiter(this, arguments, void 0, function* (provider, network, defaultProvider, addresses, isSim = false) {
46
45
  const isMainnet = network === common_1.NetworkNumber.Eth;
@@ -57,7 +56,6 @@ function getPortfolioData(provider_1, network_1, defaultProvider_1, addresses_1)
57
56
  const llamaLendMarkets = [common_1.NetworkNumber.Eth, common_1.NetworkNumber.Arb].includes(network) ? Object.values((0, markets_1.LlamaLendMarkets)(network)).filter((market) => market.chainIds.includes(network)) : [];
58
57
  const liquityV2Markets = [common_1.NetworkNumber.Eth].includes(network) ? Object.values((0, markets_1.LiquityV2Markets)(network)) : [];
59
58
  const liquityV2MarketsStaking = [common_1.NetworkNumber.Eth].includes(network) ? Object.values((0, markets_1.LiquityV2Markets)(network)).filter(market => !market.isLegacy) : [];
60
- const aaveV4Spokes = Object.values((0, markets_1.AaveV4Spokes)(network)).filter((market) => market.chainIds.includes(network));
61
59
  const args = [network, { batch: { multicall: { batchSize: isSim ? 500000 : 2500000 } } }];
62
60
  const client = (0, viem_1.getViemProvider)(provider, ...args);
63
61
  const defaultClient = (0, viem_1.getViemProvider)(defaultProvider, ...args);
@@ -72,7 +70,6 @@ function getPortfolioData(provider_1, network_1, defaultProvider_1, addresses_1)
72
70
  const crvUsdMarketsData = {};
73
71
  const llamaLendMarketsData = {};
74
72
  const liquityV2MarketsData = {};
75
- const aaveV4SpokesData = {};
76
73
  const markets = {
77
74
  morphoMarketsData,
78
75
  compoundV3MarketsData,
@@ -84,7 +81,6 @@ function getPortfolioData(provider_1, network_1, defaultProvider_1, addresses_1)
84
81
  crvUsdMarketsData,
85
82
  llamaLendMarketsData,
86
83
  liquityV2MarketsData,
87
- aaveV4SpokesData,
88
84
  };
89
85
  const positions = {};
90
86
  const stakingPositions = {};
@@ -93,7 +89,6 @@ function getPortfolioData(provider_1, network_1, defaultProvider_1, addresses_1)
93
89
  for (const address of allAddresses) {
94
90
  positions[address.toLowerCase()] = {
95
91
  aaveV3: {},
96
- aaveV4: {},
97
92
  morphoBlue: {},
98
93
  compoundV3: {},
99
94
  spark: {},
@@ -159,10 +154,6 @@ function getPortfolioData(provider_1, network_1, defaultProvider_1, addresses_1)
159
154
  const marketData = yield (0, aaveV3_1._getAaveV3MarketData)(client, network, market);
160
155
  aaveV3MarketsData[market.value] = marketData;
161
156
  })),
162
- ...aaveV4Spokes.map((spoke) => __awaiter(this, void 0, void 0, function* () {
163
- const spokeData = yield (0, aaveV4_1._getAaveV4SpokeData)(client, network, spoke);
164
- aaveV4SpokesData[spoke.value] = spokeData;
165
- })),
166
157
  ...aaveV2Markets.map((market) => __awaiter(this, void 0, void 0, function* () {
167
158
  const marketData = yield (0, aaveV2_1._getAaveV2MarketsData)(client, network, market);
168
159
  aaveV2MarketsData[market.value] = marketData;
@@ -432,17 +423,6 @@ function getPortfolioData(provider_1, network_1, defaultProvider_1, addresses_1)
432
423
  positions[address.toLowerCase()].aaveV3[market.value] = { error: `Error fetching AaveV3 account data for address ${address} on market ${market.value}`, data: null };
433
424
  }
434
425
  }))).flat(),
435
- ...aaveV4Spokes.map((spoke) => allAddresses.map((address) => __awaiter(this, void 0, void 0, function* () {
436
- try {
437
- const accData = yield (0, aaveV4_1._getAaveV4AccountData)(client, network, aaveV4SpokesData[spoke.value], address);
438
- if (new decimal_js_1.default(accData.suppliedUsd).gt(0))
439
- positions[address.toLowerCase()].aaveV4[spoke.value] = { error: '', data: accData };
440
- }
441
- catch (error) {
442
- console.error(`Error fetching AaveV4 account data for address ${address} on spoke ${spoke.value}:`, error);
443
- positions[address.toLowerCase()].aaveV4[spoke.value] = { error: `Error fetching AaveV4 account data for address ${address} on spoke ${spoke.value}`, data: null };
444
- }
445
- }))).flat(),
446
426
  ...morphoMarkets.map((market) => addresses.map((address) => __awaiter(this, void 0, void 0, function* () {
447
427
  try {
448
428
  const [accDataPromise, earnDataPromise] = yield Promise.allSettled([
@@ -5,6 +5,12 @@ export declare const isEligibleForEthenaUSDeRewards: (usedAssets: MMUsedAssets,
5
5
  isEligible: boolean;
6
6
  eligibleUSDAmount: string;
7
7
  };
8
+ export declare const isEligibleForEthenaGHORewards: (usedAssets: MMUsedAssets, { healthRatio }: {
9
+ healthRatio: string;
10
+ }) => {
11
+ isEligible: boolean;
12
+ eligibleUSDAmount: string;
13
+ };
8
14
  export declare const isEligibleForAaveV3ArbitrumEthSupply: (usedAssets: MMUsedAssets) => {
9
15
  isEligible: boolean;
10
16
  eligibleUSDAmount: string;
@@ -3,34 +3,51 @@ 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.EligibilityMapping = exports.isEligibleForAaveV3ArbitrumETHLSBorrow = exports.isEligibleForAaveV3ArbitrumEthSupply = exports.isEligibleForEthenaUSDeRewards = void 0;
6
+ exports.EligibilityMapping = exports.isEligibleForAaveV3ArbitrumETHLSBorrow = exports.isEligibleForAaveV3ArbitrumEthSupply = exports.isEligibleForEthenaGHORewards = exports.isEligibleForEthenaUSDeRewards = void 0;
7
7
  const decimal_js_1 = __importDefault(require("decimal.js"));
8
8
  const common_1 = require("../types/common");
9
- const isEligibleForEthenaUSDeRewards = (usedAssets, { healthRatio }) => {
10
- var _a, _b;
11
- const USDeUSDAmountSupplied = ((_a = usedAssets.USDe) === null || _a === void 0 ? void 0 : _a.suppliedUsd) || '0';
12
- const sUSDeUSDAmountSupplied = ((_b = usedAssets.sUSDe) === null || _b === void 0 ? void 0 : _b.suppliedUsd) || '0';
13
- const anythingElseSupplied = Object.values(usedAssets).some((asset) => asset.symbol !== 'USDe' && asset.symbol !== 'sUSDe' && asset.isSupplied);
9
+ const isEligibleForEthenaPairRewards = (usedAssets, { healthRatio }, { baseSymbol, pairSymbol, allowedBorrowAssets, maxHealthRatio, rewardSymbol, requirePositiveBorrowSymbol, }) => {
10
+ var _a, _b, _c;
11
+ const baseSuppliedUsd = ((_a = usedAssets[baseSymbol]) === null || _a === void 0 ? void 0 : _a.suppliedUsd) || '0';
12
+ const pairSuppliedUsd = ((_b = usedAssets[pairSymbol]) === null || _b === void 0 ? void 0 : _b.suppliedUsd) || '0';
13
+ const anythingElseSupplied = Object.values(usedAssets).some((asset) => asset.isSupplied && asset.symbol !== baseSymbol && asset.symbol !== pairSymbol);
14
14
  if (anythingElseSupplied)
15
15
  return { isEligible: false, eligibleUSDAmount: '0' };
16
- const totalAmountSupplied = new decimal_js_1.default(USDeUSDAmountSupplied).add(sUSDeUSDAmountSupplied).toString();
17
- const percentageInUSDe = new decimal_js_1.default(USDeUSDAmountSupplied).div(totalAmountSupplied).toNumber();
18
- if (percentageInUSDe < 0.45 || percentageInUSDe > 0.55)
19
- return { isEligible: false, eligibleUSDAmount: '0' }; // 45% - 55% of total amount supplied must be in USDe
20
- const percentageInSUSDe = new decimal_js_1.default(sUSDeUSDAmountSupplied).div(totalAmountSupplied).toNumber();
21
- if (percentageInSUSDe < 0.45 || percentageInSUSDe > 0.55)
22
- return { isEligible: false, eligibleUSDAmount: '0' }; // 45% - 55% of total amount supplied must be in sUSDe
23
- const allowedBorrowAssets = ['USDC', 'USDT', 'USDS'];
16
+ const totalAmountSupplied = new decimal_js_1.default(baseSuppliedUsd).add(pairSuppliedUsd);
17
+ if (totalAmountSupplied.eq(0))
18
+ return { isEligible: false, eligibleUSDAmount: '0' };
19
+ const percentageInBase = new decimal_js_1.default(baseSuppliedUsd).div(totalAmountSupplied).toNumber();
20
+ if (percentageInBase < 0.45 || percentageInBase > 0.55)
21
+ return { isEligible: false, eligibleUSDAmount: '0' };
22
+ const percentageInPair = new decimal_js_1.default(pairSuppliedUsd).div(totalAmountSupplied).toNumber();
23
+ if (percentageInPair < 0.45 || percentageInPair > 0.55)
24
+ return { isEligible: false, eligibleUSDAmount: '0' };
24
25
  const anythingBorrowedNotAllowed = Object.values(usedAssets).some((asset) => asset.isBorrowed && !allowedBorrowAssets.includes(asset.symbol));
25
26
  if (anythingBorrowedNotAllowed)
26
27
  return { isEligible: false, eligibleUSDAmount: '0' };
27
- if (new decimal_js_1.default(healthRatio).gte(2.5))
28
- return { isEligible: false, eligibleUSDAmount: '0' }; // health ratio must be below 2.5
29
- const halfAmountSupplied = new decimal_js_1.default(totalAmountSupplied).div(2).toString();
30
- const USDeAmountEligibleForRewards = decimal_js_1.default.min(USDeUSDAmountSupplied, halfAmountSupplied).toString(); // rewards are given to amount of USDe supplied up to half of total amount supplied
31
- return { isEligible: true, eligibleUSDAmount: USDeAmountEligibleForRewards };
28
+ if (new decimal_js_1.default(healthRatio).gte(maxHealthRatio))
29
+ return { isEligible: false, eligibleUSDAmount: '0' };
30
+ const halfAmountSupplied = totalAmountSupplied.div(2);
31
+ const rewardSuppliedUsd = ((_c = usedAssets[rewardSymbol]) === null || _c === void 0 ? void 0 : _c.suppliedUsd) || '0';
32
+ const eligibleUSDAmount = decimal_js_1.default.min(rewardSuppliedUsd, halfAmountSupplied).toString();
33
+ return { isEligible: true, eligibleUSDAmount };
32
34
  };
35
+ const isEligibleForEthenaUSDeRewards = (usedAssets, { healthRatio }) => isEligibleForEthenaPairRewards(usedAssets, { healthRatio }, {
36
+ baseSymbol: 'USDe',
37
+ pairSymbol: 'sUSDe',
38
+ allowedBorrowAssets: ['USDC', 'USDT', 'USDS'],
39
+ maxHealthRatio: '2.5',
40
+ rewardSymbol: 'USDe',
41
+ });
33
42
  exports.isEligibleForEthenaUSDeRewards = isEligibleForEthenaUSDeRewards;
43
+ const isEligibleForEthenaGHORewards = (usedAssets, { healthRatio }) => isEligibleForEthenaPairRewards(usedAssets, { healthRatio }, {
44
+ baseSymbol: 'syrupUSDT',
45
+ pairSymbol: 'GHO',
46
+ allowedBorrowAssets: ['USDT'],
47
+ maxHealthRatio: '2',
48
+ rewardSymbol: 'GHO',
49
+ });
50
+ exports.isEligibleForEthenaGHORewards = isEligibleForEthenaGHORewards;
34
51
  const isEligibleForAaveV3ArbitrumEthSupply = (usedAssets) => {
35
52
  var _a, _b;
36
53
  const ETHAmountSupplied = ((_a = usedAssets.ETH) === null || _a === void 0 ? void 0 : _a.suppliedUsd) || '0';
@@ -58,4 +75,5 @@ exports.EligibilityMapping = {
58
75
  [common_1.IncentiveEligibilityId.AaveV3ArbitrumEthSupply]: exports.isEligibleForAaveV3ArbitrumEthSupply,
59
76
  [common_1.IncentiveEligibilityId.AaveV3ArbitrumETHLSBorrow]: exports.isEligibleForAaveV3ArbitrumETHLSBorrow,
60
77
  [common_1.IncentiveEligibilityId.AaveV3EthenaLiquidLeveragePlasma]: exports.isEligibleForEthenaUSDeRewards,
78
+ [common_1.IncentiveEligibilityId.AaveV3EthenaLiquidLeveragePlasmaGHO]: exports.isEligibleForEthenaGHORewards,
61
79
  };
@@ -6,7 +6,8 @@ export declare enum IncentiveEligibilityId {
6
6
  AaveV3EthenaLiquidLeverage = "0x8014e0076e5393e62c49a7134070d8fccc922e46BORROW_BL",
7
7
  AaveV3ArbitrumEthSupply = "0x5d16261c6715a653248269861bbacf68a9774cde",
8
8
  AaveV3ArbitrumETHLSBorrow = "0x0c84331e39d6658Cd6e6b9ba04736cC4c4734351",
9
- AaveV3EthenaLiquidLeveragePlasma = "0xeefac321069fbecc9d6b2aed2948f6d5503d8633BORROW_BL"
9
+ AaveV3EthenaLiquidLeveragePlasma = "0xeefac321069fbecc9d6b2aed2948f6d5503d8633BORROW_BL",
10
+ AaveV3EthenaLiquidLeveragePlasmaGHO = "replace_when_known"
10
11
  }
11
12
  export declare enum LeverageType {
12
13
  Long = "long",
@@ -12,6 +12,7 @@ var IncentiveEligibilityId;
12
12
  IncentiveEligibilityId["AaveV3ArbitrumEthSupply"] = "0x5d16261c6715a653248269861bbacf68a9774cde";
13
13
  IncentiveEligibilityId["AaveV3ArbitrumETHLSBorrow"] = "0x0c84331e39d6658Cd6e6b9ba04736cC4c4734351";
14
14
  IncentiveEligibilityId["AaveV3EthenaLiquidLeveragePlasma"] = "0xeefac321069fbecc9d6b2aed2948f6d5503d8633BORROW_BL";
15
+ IncentiveEligibilityId["AaveV3EthenaLiquidLeveragePlasmaGHO"] = "replace_when_known";
15
16
  })(IncentiveEligibilityId || (exports.IncentiveEligibilityId = IncentiveEligibilityId = {}));
16
17
  var LeverageType;
17
18
  (function (LeverageType) {
@@ -14,4 +14,3 @@ export * from './merit';
14
14
  export * from './merkl';
15
15
  export * from './savings';
16
16
  export * from './common';
17
- export * from './aaveV4';
@@ -30,4 +30,3 @@ __exportStar(require("./merit"), exports);
30
30
  __exportStar(require("./merkl"), exports);
31
31
  __exportStar(require("./savings"), exports);
32
32
  __exportStar(require("./common"), exports);
33
- __exportStar(require("./aaveV4"), exports);
@@ -1,5 +1,4 @@
1
1
  import { AaveV2PositionData, AaveV3PositionData, AaveVersions } from './aave';
2
- import { AaveV4AccountData, AaveV4SpokesType } from './aaveV4';
3
2
  import { EthAddress } from './common';
4
3
  import { CompoundV2PositionData, CompoundV3PositionData, CompoundVersions } from './compound';
5
4
  import { CrvUSDUserData, CrvUSDVersions } from './curveUsd';
@@ -52,9 +51,6 @@ export interface PortfolioPositionsDataForAddress {
52
51
  [key: string]: FluidVaultData;
53
52
  };
54
53
  };
55
- aaveV4: {
56
- [key in AaveV4SpokesType]?: PortfolioProtocolData<AaveV4AccountData>;
57
- };
58
54
  }
59
55
  export interface PortfolioPositionsData {
60
56
  [key: EthAddress]: PortfolioPositionsDataForAddress;