@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.
- package/cjs/config/contracts.d.ts +0 -1535
- package/cjs/config/contracts.js +0 -9
- package/cjs/contracts.d.ts +0 -32401
- package/cjs/contracts.js +1 -2
- package/cjs/helpers/index.d.ts +0 -1
- package/cjs/helpers/index.js +1 -2
- package/cjs/index.d.ts +1 -2
- package/cjs/index.js +1 -3
- package/cjs/markets/aave/marketAssets.js +1 -1
- package/cjs/markets/index.d.ts +0 -1
- package/cjs/markets/index.js +1 -3
- package/cjs/portfolio/index.js +0 -20
- package/cjs/staking/eligibility.d.ts +6 -0
- package/cjs/staking/eligibility.js +37 -19
- package/cjs/types/common.d.ts +2 -1
- package/cjs/types/common.js +1 -0
- package/cjs/types/index.d.ts +0 -1
- package/cjs/types/index.js +0 -1
- package/cjs/types/portfolio.d.ts +0 -4
- package/esm/config/contracts.d.ts +0 -1535
- package/esm/config/contracts.js +0 -8
- package/esm/contracts.d.ts +0 -32401
- package/esm/contracts.js +0 -1
- package/esm/helpers/index.d.ts +0 -1
- package/esm/helpers/index.js +0 -1
- package/esm/index.d.ts +1 -2
- package/esm/index.js +1 -2
- package/esm/markets/aave/marketAssets.js +1 -1
- package/esm/markets/index.d.ts +0 -1
- package/esm/markets/index.js +0 -1
- package/esm/portfolio/index.js +1 -21
- package/esm/staking/eligibility.d.ts +6 -0
- package/esm/staking/eligibility.js +35 -18
- package/esm/types/common.d.ts +2 -1
- package/esm/types/common.js +1 -0
- package/esm/types/index.d.ts +0 -1
- package/esm/types/index.js +0 -1
- package/esm/types/portfolio.d.ts +0 -4
- package/package.json +2 -2
- package/src/config/contracts.ts +1 -9
- package/src/contracts.ts +1 -3
- package/src/helpers/index.ts +0 -1
- package/src/index.ts +0 -2
- package/src/markets/aave/marketAssets.ts +1 -1
- package/src/markets/index.ts +1 -6
- package/src/portfolio/index.ts +0 -20
- package/src/staking/eligibility.ts +69 -15
- package/src/types/common.ts +1 -0
- package/src/types/index.ts +1 -2
- package/src/types/portfolio.ts +0 -4
- package/cjs/aaveV4/index.d.ts +0 -7
- package/cjs/aaveV4/index.js +0 -174
- package/cjs/helpers/aaveV4Helpers/index.d.ts +0 -13
- package/cjs/helpers/aaveV4Helpers/index.js +0 -117
- package/cjs/markets/aaveV4/index.d.ts +0 -28
- package/cjs/markets/aaveV4/index.js +0 -140
- package/cjs/types/aaveV4.d.ts +0 -145
- package/cjs/types/aaveV4.js +0 -19
- package/esm/aaveV4/index.d.ts +0 -7
- package/esm/aaveV4/index.js +0 -165
- package/esm/helpers/aaveV4Helpers/index.d.ts +0 -13
- package/esm/helpers/aaveV4Helpers/index.js +0 -108
- package/esm/markets/aaveV4/index.d.ts +0 -28
- package/esm/markets/aaveV4/index.js +0 -122
- package/esm/types/aaveV4.d.ts +0 -145
- package/esm/types/aaveV4.js +0 -16
- package/src/aaveV4/index.ts +0 -176
- package/src/helpers/aaveV4Helpers/index.ts +0 -128
- package/src/markets/aaveV4/index.ts +0 -149
- 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.
|
|
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');
|
package/cjs/helpers/index.d.ts
CHANGED
package/cjs/helpers/index.js
CHANGED
|
@@ -33,7 +33,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.
|
|
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,
|
|
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.
|
|
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,
|
package/cjs/markets/index.d.ts
CHANGED
|
@@ -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';
|
package/cjs/markets/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
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; } });
|
package/cjs/portfolio/index.js
CHANGED
|
@@ -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
|
|
10
|
-
var _a, _b;
|
|
11
|
-
const
|
|
12
|
-
const
|
|
13
|
-
const anythingElseSupplied = Object.values(usedAssets).some((asset) => asset.
|
|
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(
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
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(
|
|
28
|
-
return { isEligible: false, eligibleUSDAmount: '0' };
|
|
29
|
-
const halfAmountSupplied =
|
|
30
|
-
const
|
|
31
|
-
|
|
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
|
};
|
package/cjs/types/common.d.ts
CHANGED
|
@@ -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",
|
package/cjs/types/common.js
CHANGED
|
@@ -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) {
|
package/cjs/types/index.d.ts
CHANGED
package/cjs/types/index.js
CHANGED
package/cjs/types/portfolio.d.ts
CHANGED
|
@@ -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;
|