@kasufinance/kasu-sdk 1.0.2 → 1.0.4
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/dist/bundle.cjs.js +133 -32
- package/dist/bundle.esm.js +133 -32
- package/dist/contracts/IClearingCoordinatorAbi.js +1 -0
- package/dist/contracts/IClearingCoordinatorAbi.js.map +1 -0
- package/dist/contracts/IERC20MetadataAbi.js +1 -0
- package/dist/contracts/IERC20MetadataAbi.js.map +1 -0
- package/dist/contracts/IFeeManagerAbi.js +1 -0
- package/dist/contracts/IFeeManagerAbi.js.map +1 -0
- package/dist/contracts/IKSULockingAbi.js +1 -0
- package/dist/contracts/IKSULockingAbi.js.map +1 -0
- package/dist/contracts/IKasuAllowListAbi.js +1 -0
- package/dist/contracts/IKasuAllowListAbi.js.map +1 -0
- package/dist/contracts/IKasuControllerAbi.js +1 -0
- package/dist/contracts/IKasuControllerAbi.js.map +1 -0
- package/dist/contracts/IKasuNFTsAbi.js +1 -0
- package/dist/contracts/IKasuNFTsAbi.js.map +1 -0
- package/dist/contracts/IKsuPriceAbi.js +1 -0
- package/dist/contracts/IKsuPriceAbi.js.map +1 -0
- package/dist/contracts/ILendingPoolAbi.js +1 -0
- package/dist/contracts/ILendingPoolAbi.js.map +1 -0
- package/dist/contracts/ILendingPoolFactoryAbi.js +1 -0
- package/dist/contracts/ILendingPoolFactoryAbi.js.map +1 -0
- package/dist/contracts/ILendingPoolManagerAbi.js +1 -0
- package/dist/contracts/ILendingPoolManagerAbi.js.map +1 -0
- package/dist/contracts/ILendingPoolTrancheAbi.js +1 -0
- package/dist/contracts/ILendingPoolTrancheAbi.js.map +1 -0
- package/dist/contracts/ISystemVariablesAbi.js +1 -0
- package/dist/contracts/ISystemVariablesAbi.js.map +1 -0
- package/dist/contracts/IUserLoyaltyRewardsAbi.js +1 -0
- package/dist/contracts/IUserLoyaltyRewardsAbi.js.map +1 -0
- package/dist/contracts/IUserManagerAbi.js +1 -0
- package/dist/contracts/IUserManagerAbi.js.map +1 -0
- package/dist/contracts/KSULockBonusAbi.js +1 -0
- package/dist/contracts/KSULockBonusAbi.js.map +1 -0
- package/dist/contracts/KasuPoolExternalTVLAbi.js +1 -0
- package/dist/contracts/KasuPoolExternalTVLAbi.js.map +1 -0
- package/dist/contracts/SwapperAbi.js +1 -0
- package/dist/contracts/SwapperAbi.js.map +1 -0
- package/dist/contracts/common.js +1 -0
- package/dist/contracts/common.js.map +1 -0
- package/dist/contracts/factories/IClearingCoordinatorAbi__factory.js +1 -0
- package/dist/contracts/factories/IClearingCoordinatorAbi__factory.js.map +1 -0
- package/dist/contracts/factories/IERC20MetadataAbi__factory.js +1 -0
- package/dist/contracts/factories/IERC20MetadataAbi__factory.js.map +1 -0
- package/dist/contracts/factories/IFeeManagerAbi__factory.js +1 -0
- package/dist/contracts/factories/IFeeManagerAbi__factory.js.map +1 -0
- package/dist/contracts/factories/IKSULockingAbi__factory.js +1 -0
- package/dist/contracts/factories/IKSULockingAbi__factory.js.map +1 -0
- package/dist/contracts/factories/IKasuAllowListAbi__factory.js +1 -0
- package/dist/contracts/factories/IKasuAllowListAbi__factory.js.map +1 -0
- package/dist/contracts/factories/IKasuControllerAbi__factory.js +1 -0
- package/dist/contracts/factories/IKasuControllerAbi__factory.js.map +1 -0
- package/dist/contracts/factories/IKasuNFTsAbi__factory.js +1 -0
- package/dist/contracts/factories/IKasuNFTsAbi__factory.js.map +1 -0
- package/dist/contracts/factories/IKsuPriceAbi__factory.js +1 -0
- package/dist/contracts/factories/IKsuPriceAbi__factory.js.map +1 -0
- package/dist/contracts/factories/ILendingPoolAbi__factory.js +1 -0
- package/dist/contracts/factories/ILendingPoolAbi__factory.js.map +1 -0
- package/dist/contracts/factories/ILendingPoolFactoryAbi__factory.js +1 -0
- package/dist/contracts/factories/ILendingPoolFactoryAbi__factory.js.map +1 -0
- package/dist/contracts/factories/ILendingPoolManagerAbi__factory.js +1 -0
- package/dist/contracts/factories/ILendingPoolManagerAbi__factory.js.map +1 -0
- package/dist/contracts/factories/ILendingPoolTrancheAbi__factory.js +1 -0
- package/dist/contracts/factories/ILendingPoolTrancheAbi__factory.js.map +1 -0
- package/dist/contracts/factories/ISystemVariablesAbi__factory.js +1 -0
- package/dist/contracts/factories/ISystemVariablesAbi__factory.js.map +1 -0
- package/dist/contracts/factories/IUserLoyaltyRewardsAbi__factory.js +1 -0
- package/dist/contracts/factories/IUserLoyaltyRewardsAbi__factory.js.map +1 -0
- package/dist/contracts/factories/IUserManagerAbi__factory.js +1 -0
- package/dist/contracts/factories/IUserManagerAbi__factory.js.map +1 -0
- package/dist/contracts/factories/KSULockBonusAbi__factory.js +1 -0
- package/dist/contracts/factories/KSULockBonusAbi__factory.js.map +1 -0
- package/dist/contracts/factories/KasuPoolExternalTVLAbi__factory.js +1 -0
- package/dist/contracts/factories/KasuPoolExternalTVLAbi__factory.js.map +1 -0
- package/dist/contracts/factories/SwapperAbi__factory.js +1 -0
- package/dist/contracts/factories/SwapperAbi__factory.js.map +1 -0
- package/dist/contracts/factories/index.js +1 -0
- package/dist/contracts/factories/index.js.map +1 -0
- package/dist/contracts/index.js +1 -0
- package/dist/contracts/index.js.map +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -0
- package/dist/sdk-config.js +1 -0
- package/dist/sdk-config.js.map +1 -0
- package/dist/services/DataService/data-service.js +1 -0
- package/dist/services/DataService/data-service.js.map +1 -0
- package/dist/services/DataService/directus-types.js +1 -0
- package/dist/services/DataService/directus-types.js.map +1 -0
- package/dist/services/DataService/queries.js +1 -0
- package/dist/services/DataService/queries.js.map +1 -0
- package/dist/services/DataService/subgraph-types.js +1 -0
- package/dist/services/DataService/subgraph-types.js.map +1 -0
- package/dist/services/DataService/types.js +1 -0
- package/dist/services/DataService/types.js.map +1 -0
- package/dist/services/Locking/locking.js +1 -0
- package/dist/services/Locking/locking.js.map +1 -0
- package/dist/services/Locking/queries.js +1 -0
- package/dist/services/Locking/queries.js.map +1 -0
- package/dist/services/Locking/types.js +1 -0
- package/dist/services/Locking/types.js.map +1 -0
- package/dist/services/Portfolio/portfolio.d.ts +40 -2
- package/dist/services/Portfolio/portfolio.js +137 -33
- package/dist/services/Portfolio/portfolio.js.map +1 -0
- package/dist/services/Portfolio/queries.js +1 -0
- package/dist/services/Portfolio/queries.js.map +1 -0
- package/dist/services/Portfolio/types.js +1 -0
- package/dist/services/Portfolio/types.js.map +1 -0
- package/dist/services/Swapper/swapper.js +1 -0
- package/dist/services/Swapper/swapper.js.map +1 -0
- package/dist/services/Swapper/types.js +1 -0
- package/dist/services/Swapper/types.js.map +1 -0
- package/dist/services/UserLending/helper.js +1 -0
- package/dist/services/UserLending/helper.js.map +1 -0
- package/dist/services/UserLending/queries.js +1 -0
- package/dist/services/UserLending/queries.js.map +1 -0
- package/dist/services/UserLending/subgraph-types.js +1 -0
- package/dist/services/UserLending/subgraph-types.js.map +1 -0
- package/dist/services/UserLending/types.js +1 -0
- package/dist/services/UserLending/types.js.map +1 -0
- package/dist/services/UserLending/user-lending.js +1 -0
- package/dist/services/UserLending/user-lending.js.map +1 -0
- package/dist/services/shared.js +1 -0
- package/dist/services/shared.js.map +1 -0
- package/dist/tests/sample.test.js +1 -0
- package/dist/tests/sample.test.js.map +1 -0
- package/package.json +2 -1
- package/src/contracts/IClearingCoordinatorAbi.ts +406 -0
- package/src/contracts/IERC20MetadataAbi.ts +364 -0
- package/src/contracts/IFeeManagerAbi.ts +182 -0
- package/src/contracts/IKSULockingAbi.ts +965 -0
- package/src/contracts/IKasuAllowListAbi.ts +605 -0
- package/src/contracts/IKasuControllerAbi.ts +703 -0
- package/src/contracts/IKasuNFTsAbi.ts +2744 -0
- package/src/contracts/IKsuPriceAbi.ts +87 -0
- package/src/contracts/ILendingPoolAbi.ts +2081 -0
- package/src/contracts/ILendingPoolFactoryAbi.ts +161 -0
- package/src/contracts/ILendingPoolManagerAbi.ts +1917 -0
- package/src/contracts/ILendingPoolTrancheAbi.ts +1911 -0
- package/src/contracts/ISystemVariablesAbi.ts +908 -0
- package/src/contracts/IUserLoyaltyRewardsAbi.ts +544 -0
- package/src/contracts/IUserManagerAbi.ts +612 -0
- package/src/contracts/KSULockBonusAbi.ts +124 -0
- package/src/contracts/KasuPoolExternalTVLAbi.ts +1071 -0
- package/src/contracts/SwapperAbi.ts +266 -0
- package/src/contracts/common.ts +44 -0
- package/src/contracts/factories/IClearingCoordinatorAbi__factory.ts +438 -0
- package/src/contracts/factories/IERC20MetadataAbi__factory.ts +248 -0
- package/src/contracts/factories/IFeeManagerAbi__factory.ts +90 -0
- package/src/contracts/factories/IKSULockingAbi__factory.ts +778 -0
- package/src/contracts/factories/IKasuAllowListAbi__factory.ts +479 -0
- package/src/contracts/factories/IKasuControllerAbi__factory.ts +447 -0
- package/src/contracts/factories/IKasuNFTsAbi__factory.ts +2116 -0
- package/src/contracts/factories/IKsuPriceAbi__factory.ts +36 -0
- package/src/contracts/factories/ILendingPoolAbi__factory.ts +1455 -0
- package/src/contracts/factories/ILendingPoolFactoryAbi__factory.ts +125 -0
- package/src/contracts/factories/ILendingPoolManagerAbi__factory.ts +1375 -0
- package/src/contracts/factories/ILendingPoolTrancheAbi__factory.ts +1345 -0
- package/src/contracts/factories/ISystemVariablesAbi__factory.ts +455 -0
- package/src/contracts/factories/IUserLoyaltyRewardsAbi__factory.ts +316 -0
- package/src/contracts/factories/IUserManagerAbi__factory.ts +345 -0
- package/src/contracts/factories/KSULockBonusAbi__factory.ts +115 -0
- package/src/contracts/factories/KasuPoolExternalTVLAbi__factory.ts +840 -0
- package/src/contracts/factories/SwapperAbi__factory.ts +167 -0
- package/src/contracts/factories/index.ts +21 -0
- package/src/contracts/index.ts +40 -0
- package/src/services/Portfolio/portfolio.ts +261 -45
- package/tsconfig.json +1 -1
package/dist/bundle.cjs.js
CHANGED
|
@@ -17514,10 +17514,110 @@ class Portfolio {
|
|
|
17514
17514
|
this._lockingService = new KSULocking(_kasuConfig, signerOrProvider);
|
|
17515
17515
|
this._dataService = new DataService(_kasuConfig, signerOrProvider);
|
|
17516
17516
|
this._systemVariablesAbi = ISystemVariablesAbi__factory.connect(_kasuConfig.contracts.SystemVariables, signerOrProvider);
|
|
17517
|
+
this._userLoyaltyRewardsAbi = IUserLoyaltyRewardsAbi__factory.connect(_kasuConfig.contracts.UserLoyaltyRewards, signerOrProvider);
|
|
17517
17518
|
this._userLendingService = new UserLending(_kasuConfig, signerOrProvider);
|
|
17518
17519
|
this._kasuNftContract = IKasuNFTsAbi__factory.connect(_kasuConfig.contracts.KasuNFTs, signerOrProvider);
|
|
17519
17520
|
this._graph = new GraphQLClient(_kasuConfig.subgraphUrl);
|
|
17520
17521
|
}
|
|
17522
|
+
computeYieldMetrics(portfolioLendingPools) {
|
|
17523
|
+
let totalInvestments = 0;
|
|
17524
|
+
let totalYieldEarned = 0;
|
|
17525
|
+
let weightedApy = 0;
|
|
17526
|
+
let weeklyYieldEarnings = 0;
|
|
17527
|
+
for (const pool of portfolioLendingPools) {
|
|
17528
|
+
for (const tranche of pool.tranches) {
|
|
17529
|
+
const investedAmount = parseFloat(tranche.investedAmount);
|
|
17530
|
+
totalInvestments += investedAmount;
|
|
17531
|
+
totalYieldEarned += parseFloat(tranche.yieldEarnings.lifetime);
|
|
17532
|
+
weightedApy += parseFloat(tranche.apy) * investedAmount;
|
|
17533
|
+
weeklyYieldEarnings +=
|
|
17534
|
+
investedAmount * parseFloat(tranche.interestRate);
|
|
17535
|
+
for (const fixedDeposits of tranche.fixedLoans) {
|
|
17536
|
+
const ftdConfig = tranche.fixedTermConfig.find((ftd) => ftd.configId === fixedDeposits.configId);
|
|
17537
|
+
if (!ftdConfig)
|
|
17538
|
+
continue;
|
|
17539
|
+
const ftdInvestedAmount = parseFloat(fixedDeposits.amount);
|
|
17540
|
+
totalInvestments += ftdInvestedAmount;
|
|
17541
|
+
totalYieldEarned += parseFloat(fixedDeposits.yieldEarnings.lifetime);
|
|
17542
|
+
weeklyYieldEarnings +=
|
|
17543
|
+
ftdInvestedAmount *
|
|
17544
|
+
parseFloat(ftdConfig.epochInterestRate);
|
|
17545
|
+
weightedApy +=
|
|
17546
|
+
parseFloat(ftdConfig.apy) * ftdInvestedAmount;
|
|
17547
|
+
}
|
|
17548
|
+
}
|
|
17549
|
+
}
|
|
17550
|
+
return {
|
|
17551
|
+
totalInvestments,
|
|
17552
|
+
totalYieldEarned,
|
|
17553
|
+
weightedApy,
|
|
17554
|
+
weeklyYieldEarnings,
|
|
17555
|
+
};
|
|
17556
|
+
}
|
|
17557
|
+
/**
|
|
17558
|
+
* Calculate aggregate yield metrics for a set of portfolio lending pools.
|
|
17559
|
+
* Accepts pre-fetched pool data and returns totals without performing any network calls.
|
|
17560
|
+
*/
|
|
17561
|
+
calculateYieldMetrics(portfolioLendingPools) {
|
|
17562
|
+
return this.computeYieldMetrics(portfolioLendingPools);
|
|
17563
|
+
}
|
|
17564
|
+
/**
|
|
17565
|
+
* Calculate the user's weekly protocol fee share (USDC) given tranche balances/configs,
|
|
17566
|
+
* system variables and locking summary. All inputs are expected to be pre-fetched.
|
|
17567
|
+
*/
|
|
17568
|
+
calculateWeeklyProtocolFees(params) {
|
|
17569
|
+
var _a, _b;
|
|
17570
|
+
const { trancheBalances, trancheConfigurations, systemVariables, lockingSummary, userRksuAmount, } = params;
|
|
17571
|
+
const totalRKsuAmount = parseFloat((_b = (_a = lockingSummary.lockingSummaries[0]) === null || _a === void 0 ? void 0 : _a.totalRKsuAmount) !== null && _b !== void 0 ? _b : '0');
|
|
17572
|
+
const userRKsuAmount = parseFloat(userRksuAmount || '0');
|
|
17573
|
+
const performanceFee = parseFloat(systemVariables.systemVariables.performanceFee) / 100;
|
|
17574
|
+
const ecosystemFeeRate = parseFloat(systemVariables.systemVariables.ecosystemFeeRate) / 100;
|
|
17575
|
+
if (totalRKsuAmount <= 0 ||
|
|
17576
|
+
userRKsuAmount <= 0 ||
|
|
17577
|
+
performanceFee <= 0 ||
|
|
17578
|
+
ecosystemFeeRate <= 0) {
|
|
17579
|
+
return 0;
|
|
17580
|
+
}
|
|
17581
|
+
let totalWeeklyEcosystemFees = 0;
|
|
17582
|
+
for (const tranche of trancheBalances.lendingPoolTranches) {
|
|
17583
|
+
const trancheConfig = trancheConfigurations.lendingPoolTrancheConfigurations.find((config) => config.id === tranche.id);
|
|
17584
|
+
if (!trancheConfig)
|
|
17585
|
+
continue;
|
|
17586
|
+
const interestUpdates = trancheConfig.lendingPoolTrancheInterestRateUpdates;
|
|
17587
|
+
const interestRate = interestUpdates.length
|
|
17588
|
+
? interestUpdates[0].epochInterestRate
|
|
17589
|
+
: trancheConfig.interestRate;
|
|
17590
|
+
totalWeeklyEcosystemFees +=
|
|
17591
|
+
parseFloat(tranche.balance) *
|
|
17592
|
+
parseFloat(interestRate) *
|
|
17593
|
+
performanceFee *
|
|
17594
|
+
ecosystemFeeRate;
|
|
17595
|
+
}
|
|
17596
|
+
return ((totalWeeklyEcosystemFees * userRKsuAmount) / totalRKsuAmount);
|
|
17597
|
+
}
|
|
17598
|
+
/**
|
|
17599
|
+
* Calculate the user's weekly KASU bonus rewards (KASU) based on current deposits,
|
|
17600
|
+
* loyalty level, reward rate, and KSU epoch price. Inputs should be pre-fetched.
|
|
17601
|
+
*/
|
|
17602
|
+
calculateWeeklyKsuBonusRewards(params) {
|
|
17603
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
17604
|
+
const { userAddress, userRksuAmount, userDepositAmounts, ksuEpochPrice } = params;
|
|
17605
|
+
const totalUserDeposits = userDepositAmounts[0].add(userDepositAmounts[1]);
|
|
17606
|
+
if (totalUserDeposits.isZero())
|
|
17607
|
+
return 0;
|
|
17608
|
+
const rKSUtoUSDCRatio = yield this._lockingService.getRKSUvsUSDCRatio(userRksuAmount, userAddress);
|
|
17609
|
+
const { loyaltyLevel } = this._lockingService.getLoyaltyLevelAndApyBonusFromRatio(rKSUtoUSDCRatio);
|
|
17610
|
+
const loyaltyRewardRate = yield this._userLoyaltyRewardsAbi.loyaltyEpochRewardRates(loyaltyLevel);
|
|
17611
|
+
if (loyaltyRewardRate.isZero() || ksuEpochPrice.price.isZero()) {
|
|
17612
|
+
return 0;
|
|
17613
|
+
}
|
|
17614
|
+
const reward = totalUserDeposits
|
|
17615
|
+
.mul(loyaltyRewardRate)
|
|
17616
|
+
.mul(ethers.BigNumber.from(10).pow(12))
|
|
17617
|
+
.div(ksuEpochPrice.price);
|
|
17618
|
+
return parseFloat(utils$2.formatEther(reward));
|
|
17619
|
+
});
|
|
17620
|
+
}
|
|
17521
17621
|
getPortfolioRewards(userAddress) {
|
|
17522
17622
|
return __awaiter(this, void 0, void 0, function* () {
|
|
17523
17623
|
const userLockingData = yield this._lockingService.getUserBonusData(userAddress);
|
|
@@ -17548,36 +17648,38 @@ class Portfolio {
|
|
|
17548
17648
|
return usernfts.map((nft) => nft.toNumber());
|
|
17549
17649
|
});
|
|
17550
17650
|
}
|
|
17551
|
-
getPortfolioSummary(userAddress, portfolioLendingPools) {
|
|
17651
|
+
getPortfolioSummary(userAddress, portfolioLendingPools, currentEpoch) {
|
|
17552
17652
|
return __awaiter(this, void 0, void 0, function* () {
|
|
17553
|
-
const
|
|
17554
|
-
|
|
17555
|
-
|
|
17556
|
-
|
|
17557
|
-
|
|
17558
|
-
|
|
17559
|
-
|
|
17560
|
-
|
|
17561
|
-
|
|
17562
|
-
|
|
17563
|
-
|
|
17564
|
-
|
|
17565
|
-
|
|
17566
|
-
|
|
17567
|
-
|
|
17568
|
-
|
|
17569
|
-
|
|
17570
|
-
|
|
17571
|
-
|
|
17572
|
-
|
|
17573
|
-
|
|
17574
|
-
|
|
17575
|
-
|
|
17576
|
-
|
|
17577
|
-
|
|
17578
|
-
|
|
17579
|
-
|
|
17580
|
-
|
|
17653
|
+
const epochId = currentEpoch.toString();
|
|
17654
|
+
const [userLockingData, userRksuAmount, lockingSummary, systemVariables, trancheBalances, trancheConfigurations, userDepositAmounts, ksuEpochPrice,] = yield Promise.all([
|
|
17655
|
+
this._lockingService.getUserBonusData(userAddress),
|
|
17656
|
+
this._lockingService.getUserEarnedrKsu(userAddress),
|
|
17657
|
+
this._graph.request(lockingSummariesQuery),
|
|
17658
|
+
this._graph.request(getSystemVariablesQuery),
|
|
17659
|
+
this._graph.request(getAllTranchesQuery, {
|
|
17660
|
+
unusedPools: this._kasuConfig.UNUSED_LENDING_POOL_IDS,
|
|
17661
|
+
}),
|
|
17662
|
+
this._graph.request(getAllTrancheConfigurationsQuery, {
|
|
17663
|
+
unusedPools: this._kasuConfig.UNUSED_LENDING_POOL_IDS,
|
|
17664
|
+
epochId,
|
|
17665
|
+
}),
|
|
17666
|
+
this._userLendingService.getUserTotalPendingAndActiveDepositedAmountForCurrentEpoch(userAddress),
|
|
17667
|
+
this._lockingService.getKasuEpochTokenPrice(),
|
|
17668
|
+
]);
|
|
17669
|
+
const { totalInvestments, totalYieldEarned, weightedApy, weeklyYieldEarnings, } = this.computeYieldMetrics(portfolioLendingPools);
|
|
17670
|
+
const weeklyProtocolFeesEarned = this.calculateWeeklyProtocolFees({
|
|
17671
|
+
trancheBalances,
|
|
17672
|
+
trancheConfigurations,
|
|
17673
|
+
systemVariables,
|
|
17674
|
+
lockingSummary,
|
|
17675
|
+
userRksuAmount,
|
|
17676
|
+
});
|
|
17677
|
+
const weeklyKsuBonusRewards = yield this.calculateWeeklyKsuBonusRewards({
|
|
17678
|
+
userAddress,
|
|
17679
|
+
userRksuAmount,
|
|
17680
|
+
userDepositAmounts,
|
|
17681
|
+
ksuEpochPrice,
|
|
17682
|
+
});
|
|
17581
17683
|
return {
|
|
17582
17684
|
current: {
|
|
17583
17685
|
totalKsuLocked: userLockingData.totalLockedAmount,
|
|
@@ -17591,8 +17693,8 @@ class Portfolio {
|
|
|
17591
17693
|
},
|
|
17592
17694
|
weekly: {
|
|
17593
17695
|
yieldEarnings: weeklyYieldEarnings.toString(),
|
|
17594
|
-
protocolFeesEarned:
|
|
17595
|
-
ksuBonusRewards:
|
|
17696
|
+
protocolFeesEarned: weeklyProtocolFeesEarned.toString(),
|
|
17697
|
+
ksuBonusRewards: weeklyKsuBonusRewards.toString(),
|
|
17596
17698
|
},
|
|
17597
17699
|
lifetime: {
|
|
17598
17700
|
yieldEarnings: totalYieldEarned.toString(),
|
|
@@ -17655,7 +17757,6 @@ class Portfolio {
|
|
|
17655
17757
|
for (const poolOverview of poolOverviews) {
|
|
17656
17758
|
const userPoolBalance = userPoolBalances.find(({ poolId }) => poolId === poolOverview.id);
|
|
17657
17759
|
if (!userPoolBalance) {
|
|
17658
|
-
console.warn(`Could not find user pool balance for ${poolOverview.id}`);
|
|
17659
17760
|
continue;
|
|
17660
17761
|
}
|
|
17661
17762
|
totalInvestments = userPoolBalance.balance.add(totalInvestments);
|
package/dist/bundle.esm.js
CHANGED
|
@@ -17512,10 +17512,110 @@ class Portfolio {
|
|
|
17512
17512
|
this._lockingService = new KSULocking(_kasuConfig, signerOrProvider);
|
|
17513
17513
|
this._dataService = new DataService(_kasuConfig, signerOrProvider);
|
|
17514
17514
|
this._systemVariablesAbi = ISystemVariablesAbi__factory.connect(_kasuConfig.contracts.SystemVariables, signerOrProvider);
|
|
17515
|
+
this._userLoyaltyRewardsAbi = IUserLoyaltyRewardsAbi__factory.connect(_kasuConfig.contracts.UserLoyaltyRewards, signerOrProvider);
|
|
17515
17516
|
this._userLendingService = new UserLending(_kasuConfig, signerOrProvider);
|
|
17516
17517
|
this._kasuNftContract = IKasuNFTsAbi__factory.connect(_kasuConfig.contracts.KasuNFTs, signerOrProvider);
|
|
17517
17518
|
this._graph = new GraphQLClient(_kasuConfig.subgraphUrl);
|
|
17518
17519
|
}
|
|
17520
|
+
computeYieldMetrics(portfolioLendingPools) {
|
|
17521
|
+
let totalInvestments = 0;
|
|
17522
|
+
let totalYieldEarned = 0;
|
|
17523
|
+
let weightedApy = 0;
|
|
17524
|
+
let weeklyYieldEarnings = 0;
|
|
17525
|
+
for (const pool of portfolioLendingPools) {
|
|
17526
|
+
for (const tranche of pool.tranches) {
|
|
17527
|
+
const investedAmount = parseFloat(tranche.investedAmount);
|
|
17528
|
+
totalInvestments += investedAmount;
|
|
17529
|
+
totalYieldEarned += parseFloat(tranche.yieldEarnings.lifetime);
|
|
17530
|
+
weightedApy += parseFloat(tranche.apy) * investedAmount;
|
|
17531
|
+
weeklyYieldEarnings +=
|
|
17532
|
+
investedAmount * parseFloat(tranche.interestRate);
|
|
17533
|
+
for (const fixedDeposits of tranche.fixedLoans) {
|
|
17534
|
+
const ftdConfig = tranche.fixedTermConfig.find((ftd) => ftd.configId === fixedDeposits.configId);
|
|
17535
|
+
if (!ftdConfig)
|
|
17536
|
+
continue;
|
|
17537
|
+
const ftdInvestedAmount = parseFloat(fixedDeposits.amount);
|
|
17538
|
+
totalInvestments += ftdInvestedAmount;
|
|
17539
|
+
totalYieldEarned += parseFloat(fixedDeposits.yieldEarnings.lifetime);
|
|
17540
|
+
weeklyYieldEarnings +=
|
|
17541
|
+
ftdInvestedAmount *
|
|
17542
|
+
parseFloat(ftdConfig.epochInterestRate);
|
|
17543
|
+
weightedApy +=
|
|
17544
|
+
parseFloat(ftdConfig.apy) * ftdInvestedAmount;
|
|
17545
|
+
}
|
|
17546
|
+
}
|
|
17547
|
+
}
|
|
17548
|
+
return {
|
|
17549
|
+
totalInvestments,
|
|
17550
|
+
totalYieldEarned,
|
|
17551
|
+
weightedApy,
|
|
17552
|
+
weeklyYieldEarnings,
|
|
17553
|
+
};
|
|
17554
|
+
}
|
|
17555
|
+
/**
|
|
17556
|
+
* Calculate aggregate yield metrics for a set of portfolio lending pools.
|
|
17557
|
+
* Accepts pre-fetched pool data and returns totals without performing any network calls.
|
|
17558
|
+
*/
|
|
17559
|
+
calculateYieldMetrics(portfolioLendingPools) {
|
|
17560
|
+
return this.computeYieldMetrics(portfolioLendingPools);
|
|
17561
|
+
}
|
|
17562
|
+
/**
|
|
17563
|
+
* Calculate the user's weekly protocol fee share (USDC) given tranche balances/configs,
|
|
17564
|
+
* system variables and locking summary. All inputs are expected to be pre-fetched.
|
|
17565
|
+
*/
|
|
17566
|
+
calculateWeeklyProtocolFees(params) {
|
|
17567
|
+
var _a, _b;
|
|
17568
|
+
const { trancheBalances, trancheConfigurations, systemVariables, lockingSummary, userRksuAmount, } = params;
|
|
17569
|
+
const totalRKsuAmount = parseFloat((_b = (_a = lockingSummary.lockingSummaries[0]) === null || _a === void 0 ? void 0 : _a.totalRKsuAmount) !== null && _b !== void 0 ? _b : '0');
|
|
17570
|
+
const userRKsuAmount = parseFloat(userRksuAmount || '0');
|
|
17571
|
+
const performanceFee = parseFloat(systemVariables.systemVariables.performanceFee) / 100;
|
|
17572
|
+
const ecosystemFeeRate = parseFloat(systemVariables.systemVariables.ecosystemFeeRate) / 100;
|
|
17573
|
+
if (totalRKsuAmount <= 0 ||
|
|
17574
|
+
userRKsuAmount <= 0 ||
|
|
17575
|
+
performanceFee <= 0 ||
|
|
17576
|
+
ecosystemFeeRate <= 0) {
|
|
17577
|
+
return 0;
|
|
17578
|
+
}
|
|
17579
|
+
let totalWeeklyEcosystemFees = 0;
|
|
17580
|
+
for (const tranche of trancheBalances.lendingPoolTranches) {
|
|
17581
|
+
const trancheConfig = trancheConfigurations.lendingPoolTrancheConfigurations.find((config) => config.id === tranche.id);
|
|
17582
|
+
if (!trancheConfig)
|
|
17583
|
+
continue;
|
|
17584
|
+
const interestUpdates = trancheConfig.lendingPoolTrancheInterestRateUpdates;
|
|
17585
|
+
const interestRate = interestUpdates.length
|
|
17586
|
+
? interestUpdates[0].epochInterestRate
|
|
17587
|
+
: trancheConfig.interestRate;
|
|
17588
|
+
totalWeeklyEcosystemFees +=
|
|
17589
|
+
parseFloat(tranche.balance) *
|
|
17590
|
+
parseFloat(interestRate) *
|
|
17591
|
+
performanceFee *
|
|
17592
|
+
ecosystemFeeRate;
|
|
17593
|
+
}
|
|
17594
|
+
return ((totalWeeklyEcosystemFees * userRKsuAmount) / totalRKsuAmount);
|
|
17595
|
+
}
|
|
17596
|
+
/**
|
|
17597
|
+
* Calculate the user's weekly KASU bonus rewards (KASU) based on current deposits,
|
|
17598
|
+
* loyalty level, reward rate, and KSU epoch price. Inputs should be pre-fetched.
|
|
17599
|
+
*/
|
|
17600
|
+
calculateWeeklyKsuBonusRewards(params) {
|
|
17601
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
17602
|
+
const { userAddress, userRksuAmount, userDepositAmounts, ksuEpochPrice } = params;
|
|
17603
|
+
const totalUserDeposits = userDepositAmounts[0].add(userDepositAmounts[1]);
|
|
17604
|
+
if (totalUserDeposits.isZero())
|
|
17605
|
+
return 0;
|
|
17606
|
+
const rKSUtoUSDCRatio = yield this._lockingService.getRKSUvsUSDCRatio(userRksuAmount, userAddress);
|
|
17607
|
+
const { loyaltyLevel } = this._lockingService.getLoyaltyLevelAndApyBonusFromRatio(rKSUtoUSDCRatio);
|
|
17608
|
+
const loyaltyRewardRate = yield this._userLoyaltyRewardsAbi.loyaltyEpochRewardRates(loyaltyLevel);
|
|
17609
|
+
if (loyaltyRewardRate.isZero() || ksuEpochPrice.price.isZero()) {
|
|
17610
|
+
return 0;
|
|
17611
|
+
}
|
|
17612
|
+
const reward = totalUserDeposits
|
|
17613
|
+
.mul(loyaltyRewardRate)
|
|
17614
|
+
.mul(BigNumber.from(10).pow(12))
|
|
17615
|
+
.div(ksuEpochPrice.price);
|
|
17616
|
+
return parseFloat(formatEther(reward));
|
|
17617
|
+
});
|
|
17618
|
+
}
|
|
17519
17619
|
getPortfolioRewards(userAddress) {
|
|
17520
17620
|
return __awaiter(this, void 0, void 0, function* () {
|
|
17521
17621
|
const userLockingData = yield this._lockingService.getUserBonusData(userAddress);
|
|
@@ -17546,36 +17646,38 @@ class Portfolio {
|
|
|
17546
17646
|
return usernfts.map((nft) => nft.toNumber());
|
|
17547
17647
|
});
|
|
17548
17648
|
}
|
|
17549
|
-
getPortfolioSummary(userAddress, portfolioLendingPools) {
|
|
17649
|
+
getPortfolioSummary(userAddress, portfolioLendingPools, currentEpoch) {
|
|
17550
17650
|
return __awaiter(this, void 0, void 0, function* () {
|
|
17551
|
-
const
|
|
17552
|
-
|
|
17553
|
-
|
|
17554
|
-
|
|
17555
|
-
|
|
17556
|
-
|
|
17557
|
-
|
|
17558
|
-
|
|
17559
|
-
|
|
17560
|
-
|
|
17561
|
-
|
|
17562
|
-
|
|
17563
|
-
|
|
17564
|
-
|
|
17565
|
-
|
|
17566
|
-
|
|
17567
|
-
|
|
17568
|
-
|
|
17569
|
-
|
|
17570
|
-
|
|
17571
|
-
|
|
17572
|
-
|
|
17573
|
-
|
|
17574
|
-
|
|
17575
|
-
|
|
17576
|
-
|
|
17577
|
-
|
|
17578
|
-
|
|
17651
|
+
const epochId = currentEpoch.toString();
|
|
17652
|
+
const [userLockingData, userRksuAmount, lockingSummary, systemVariables, trancheBalances, trancheConfigurations, userDepositAmounts, ksuEpochPrice,] = yield Promise.all([
|
|
17653
|
+
this._lockingService.getUserBonusData(userAddress),
|
|
17654
|
+
this._lockingService.getUserEarnedrKsu(userAddress),
|
|
17655
|
+
this._graph.request(lockingSummariesQuery),
|
|
17656
|
+
this._graph.request(getSystemVariablesQuery),
|
|
17657
|
+
this._graph.request(getAllTranchesQuery, {
|
|
17658
|
+
unusedPools: this._kasuConfig.UNUSED_LENDING_POOL_IDS,
|
|
17659
|
+
}),
|
|
17660
|
+
this._graph.request(getAllTrancheConfigurationsQuery, {
|
|
17661
|
+
unusedPools: this._kasuConfig.UNUSED_LENDING_POOL_IDS,
|
|
17662
|
+
epochId,
|
|
17663
|
+
}),
|
|
17664
|
+
this._userLendingService.getUserTotalPendingAndActiveDepositedAmountForCurrentEpoch(userAddress),
|
|
17665
|
+
this._lockingService.getKasuEpochTokenPrice(),
|
|
17666
|
+
]);
|
|
17667
|
+
const { totalInvestments, totalYieldEarned, weightedApy, weeklyYieldEarnings, } = this.computeYieldMetrics(portfolioLendingPools);
|
|
17668
|
+
const weeklyProtocolFeesEarned = this.calculateWeeklyProtocolFees({
|
|
17669
|
+
trancheBalances,
|
|
17670
|
+
trancheConfigurations,
|
|
17671
|
+
systemVariables,
|
|
17672
|
+
lockingSummary,
|
|
17673
|
+
userRksuAmount,
|
|
17674
|
+
});
|
|
17675
|
+
const weeklyKsuBonusRewards = yield this.calculateWeeklyKsuBonusRewards({
|
|
17676
|
+
userAddress,
|
|
17677
|
+
userRksuAmount,
|
|
17678
|
+
userDepositAmounts,
|
|
17679
|
+
ksuEpochPrice,
|
|
17680
|
+
});
|
|
17579
17681
|
return {
|
|
17580
17682
|
current: {
|
|
17581
17683
|
totalKsuLocked: userLockingData.totalLockedAmount,
|
|
@@ -17589,8 +17691,8 @@ class Portfolio {
|
|
|
17589
17691
|
},
|
|
17590
17692
|
weekly: {
|
|
17591
17693
|
yieldEarnings: weeklyYieldEarnings.toString(),
|
|
17592
|
-
protocolFeesEarned:
|
|
17593
|
-
ksuBonusRewards:
|
|
17694
|
+
protocolFeesEarned: weeklyProtocolFeesEarned.toString(),
|
|
17695
|
+
ksuBonusRewards: weeklyKsuBonusRewards.toString(),
|
|
17594
17696
|
},
|
|
17595
17697
|
lifetime: {
|
|
17596
17698
|
yieldEarnings: totalYieldEarned.toString(),
|
|
@@ -17653,7 +17755,6 @@ class Portfolio {
|
|
|
17653
17755
|
for (const poolOverview of poolOverviews) {
|
|
17654
17756
|
const userPoolBalance = userPoolBalances.find(({ poolId }) => poolId === poolOverview.id);
|
|
17655
17757
|
if (!userPoolBalance) {
|
|
17656
|
-
console.warn(`Could not find user pool balance for ${poolOverview.id}`);
|
|
17657
17758
|
continue;
|
|
17658
17759
|
}
|
|
17659
17760
|
totalInvestments = userPoolBalance.balance.add(totalInvestments);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IClearingCoordinatorAbi.js","sourceRoot":"","sources":["../../src/contracts/IClearingCoordinatorAbi.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IERC20MetadataAbi.js","sourceRoot":"","sources":["../../src/contracts/IERC20MetadataAbi.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IFeeManagerAbi.js","sourceRoot":"","sources":["../../src/contracts/IFeeManagerAbi.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IKSULockingAbi.js","sourceRoot":"","sources":["../../src/contracts/IKSULockingAbi.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IKasuAllowListAbi.js","sourceRoot":"","sources":["../../src/contracts/IKasuAllowListAbi.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IKasuControllerAbi.js","sourceRoot":"","sources":["../../src/contracts/IKasuControllerAbi.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IKasuNFTsAbi.js","sourceRoot":"","sources":["../../src/contracts/IKasuNFTsAbi.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IKsuPriceAbi.js","sourceRoot":"","sources":["../../src/contracts/IKsuPriceAbi.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ILendingPoolAbi.js","sourceRoot":"","sources":["../../src/contracts/ILendingPoolAbi.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ILendingPoolFactoryAbi.js","sourceRoot":"","sources":["../../src/contracts/ILendingPoolFactoryAbi.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ILendingPoolManagerAbi.js","sourceRoot":"","sources":["../../src/contracts/ILendingPoolManagerAbi.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ILendingPoolTrancheAbi.js","sourceRoot":"","sources":["../../src/contracts/ILendingPoolTrancheAbi.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ISystemVariablesAbi.js","sourceRoot":"","sources":["../../src/contracts/ISystemVariablesAbi.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IUserLoyaltyRewardsAbi.js","sourceRoot":"","sources":["../../src/contracts/IUserLoyaltyRewardsAbi.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IUserManagerAbi.js","sourceRoot":"","sources":["../../src/contracts/IUserManagerAbi.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KSULockBonusAbi.js","sourceRoot":"","sources":["../../src/contracts/KSULockBonusAbi.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KasuPoolExternalTVLAbi.js","sourceRoot":"","sources":["../../src/contracts/KasuPoolExternalTVLAbi.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SwapperAbi.js","sourceRoot":"","sources":["../../src/contracts/SwapperAbi.ts"],"names":[],"mappings":""}
|
package/dist/contracts/common.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/contracts/common.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IClearingCoordinatorAbi__factory.js","sourceRoot":"","sources":["../../../src/contracts/factories/IClearingCoordinatorAbi__factory.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,oBAAoB;AACpB,oBAAoB;AAEpB,OAAO,EAAE,QAAQ,EAAU,KAAK,EAAE,MAAM,QAAQ,CAAC;AAOjD,MAAM,IAAI,GAAG;IACX;QACE,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,2BAA2B;gBACzC,IAAI,EAAE,kBAAkB;gBACxB,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,YAAY,EAAE,uBAAuB;gBACrC,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,YAAY,EAAE,8BAA8B;gBAC5C,IAAI,EAAE,qBAAqB;gBAC3B,IAAI,EAAE,SAAS;aAChB;SACF;QACD,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,aAAa;KACpB;IACD;QACE,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,yBAAyB;QAC/B,IAAI,EAAE,OAAO;KACd;IACD;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,0BAA0B;QAChC,IAAI,EAAE,OAAO;KACd;IACD;QACE,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,0CAA0C;QAChD,IAAI,EAAE,OAAO;KACd;IACD;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,uBAAuB;QAC7B,IAAI,EAAE,OAAO;KACd;IACD;QACE,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,oBAAoB;QAC1B,IAAI,EAAE,OAAO;KACd;IACD;QACE,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,OAAO;KACd;IACD;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,yBAAyB;QAC/B,IAAI,EAAE,OAAO;KACd;IACD;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,sBAAsB;QAC5B,IAAI,EAAE,OAAO;KACd;IACD;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,iBAAiB;QACvB,IAAI,EAAE,OAAO;KACd;IACD;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,yBAAyB;QAC/B,IAAI,EAAE,OAAO;KACd;IACD;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,wBAAwB;QAC9B,IAAI,EAAE,OAAO;KACd;IACD;QACE,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,oBAAoB;QAC1B,IAAI,EAAE,OAAO;KACd;IACD;QACE,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,oBAAoB;QAC1B,IAAI,EAAE,OAAO;KACd;IACD;QACE,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,+BAA+B;QACrC,IAAI,EAAE,OAAO;KACd;IACD;QACE,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,kCAAkC;QACxC,IAAI,EAAE,OAAO;KACd;IACD;QACE,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACN;gBACE,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,UAAU,EAAE;oBACV;wBACE,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,YAAY;wBAClB,IAAI,EAAE,SAAS;qBAChB;oBACD;wBACE,YAAY,EAAE,WAAW;wBACzB,IAAI,EAAE,sBAAsB;wBAC5B,IAAI,EAAE,WAAW;qBAClB;oBACD;wBACE,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,qBAAqB;wBAC3B,IAAI,EAAE,SAAS;qBAChB;oBACD;wBACE,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,qBAAqB;wBAC3B,IAAI,EAAE,SAAS;qBAChB;iBACF;gBACD,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,8BAA8B;gBAC5C,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,OAAO;aACd;SACF;QACD,IAAI,EAAE,mBAAmB;QACzB,IAAI,EAAE,OAAO;KACd;IACD;QACE,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACN;gBACE,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,qBAAqB;gBACnC,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,OAAO;aACd;SACF;QACD,IAAI,EAAE,kBAAkB;QACxB,IAAI,EAAE,OAAO;KACd;IACD;QACE,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACN;gBACE,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,QAAQ;gBACtB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,QAAQ;aACf;SACF;QACD,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,OAAO;KACd;IACD;QACE,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,8BAA8B;gBACpC,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,yBAAyB;gBAC/B,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,UAAU,EAAE;oBACV;wBACE,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,YAAY;wBAClB,IAAI,EAAE,SAAS;qBAChB;oBACD;wBACE,YAAY,EAAE,WAAW;wBACzB,IAAI,EAAE,sBAAsB;wBAC5B,IAAI,EAAE,WAAW;qBAClB;oBACD;wBACE,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,qBAAqB;wBAC3B,IAAI,EAAE,SAAS;qBAChB;oBACD;wBACE,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,qBAAqB;wBAC3B,IAAI,EAAE,SAAS;qBAChB;iBACF;gBACD,YAAY,EAAE,8BAA8B;gBAC5C,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,OAAO;aACd;YACD;gBACE,YAAY,EAAE,MAAM;gBACpB,IAAI,EAAE,oBAAoB;gBAC1B,IAAI,EAAE,MAAM;aACb;SACF;QACD,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,uBAAuB;QAC7B,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,8BAA8B;QACpC,OAAO,EAAE;YACP;gBACE,YAAY,EAAE,MAAM;gBACpB,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,MAAM;aACb;SACF;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,2BAA2B;QACjC,OAAO,EAAE;YACP;gBACE,YAAY,EAAE,qBAAqB;gBACnC,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,OAAO;aACd;SACF;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,0BAA0B;QAChC,OAAO,EAAE;YACP;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;aAChB;SACF;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,8BAA8B;QACpC,OAAO,EAAE;YACP;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,mBAAmB;gBACzB,IAAI,EAAE,SAAS;aAChB;SACF;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;CACO,CAAC;AAEX,MAAM,OAAO,gCAAgC;IAE3C,MAAM,CAAC,eAAe;QACpB,OAAO,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,CAAqC,CAAC;IACvE,CAAC;IACD,MAAM,CAAC,OAAO,CACZ,OAAe,EACf,gBAAmC;QAEnC,OAAO,IAAI,QAAQ,CACjB,OAAO,EACP,IAAI,EACJ,gBAAgB,CACU,CAAC;IAC/B,CAAC;;AAbe,oCAAG,GAAG,IAAI,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IERC20MetadataAbi__factory.js","sourceRoot":"","sources":["../../../src/contracts/factories/IERC20MetadataAbi__factory.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IFeeManagerAbi__factory.js","sourceRoot":"","sources":["../../../src/contracts/factories/IFeeManagerAbi__factory.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,oBAAoB;AACpB,oBAAoB;AAEpB,OAAO,EAAE,QAAQ,EAAU,KAAK,EAAE,MAAM,QAAQ,CAAC;AAOjD,MAAM,IAAI,GAAG;IACX;QACE,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACN;gBACE,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,oBAAoB;gBAC1B,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,oBAAoB;gBAC1B,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,mBAAmB;gBACzB,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,OAAO;KACd;IACD;QACE,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACN;gBACE,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,qBAAqB;QAC3B,IAAI,EAAE,OAAO;KACd;IACD;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;CACO,CAAC;AAEX,MAAM,OAAO,uBAAuB;IAElC,MAAM,CAAC,eAAe;QACpB,OAAO,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,CAA4B,CAAC;IAC9D,CAAC;IACD,MAAM,CAAC,OAAO,CACZ,OAAe,EACf,gBAAmC;QAEnC,OAAO,IAAI,QAAQ,CAAC,OAAO,EAAE,IAAI,EAAE,gBAAgB,CAAmB,CAAC;IACzE,CAAC;;AATe,2BAAG,GAAG,IAAI,CAAC"}
|