@meteora-ag/cp-amm-sdk 1.0.11-rc.2 → 1.0.11-rc.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/index.d.mts +8 -1
- package/dist/index.d.ts +8 -1
- package/dist/index.js +28 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +27 -0
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -6372,6 +6372,32 @@ var getUnClaimReward = (poolState, positionState) => {
|
|
|
6372
6372
|
rewards: positionState.rewardInfos.length > 0 ? positionState.rewardInfos.map((item) => item.rewardPendings) : []
|
|
6373
6373
|
};
|
|
6374
6374
|
};
|
|
6375
|
+
function getRewardInfo(poolState, positionState, rewardIndex, currentTime, periodTime) {
|
|
6376
|
+
const poolReward = poolState.rewardInfos[rewardIndex];
|
|
6377
|
+
const userRewardInfo = positionState.rewardInfos[rewardIndex];
|
|
6378
|
+
const lastTimeRewardApplicable = BN6.min(currentTime, poolReward.rewardDurationEnd);
|
|
6379
|
+
const timePeriod = lastTimeRewardApplicable.sub(poolReward.lastUpdateTime);
|
|
6380
|
+
const currentTotalReward = timePeriod.mul(poolReward.rewardRate);
|
|
6381
|
+
const rewardPerTokenStore = currentTotalReward.shln(128).div(poolState.liquidity);
|
|
6382
|
+
const userRewardPerTokenCheckPoint = new BN6(
|
|
6383
|
+
Buffer.from(userRewardInfo.rewardPerTokenCheckpoint).reverse()
|
|
6384
|
+
);
|
|
6385
|
+
const totalPositionLiquidity = positionState.unlockedLiquidity.add(positionState.vestedLiquidity).add(positionState.permanentLockedLiquidity);
|
|
6386
|
+
const newReward = totalPositionLiquidity.mul(rewardPerTokenStore.sub(userRewardPerTokenCheckPoint)).shrn(192);
|
|
6387
|
+
const totalRewardPerPeriod = poolReward.rewardRate.mul(periodTime);
|
|
6388
|
+
const rewardPerTokenStorePerPeriod = totalRewardPerPeriod.shln(128).div(poolState.liquidity);
|
|
6389
|
+
const totalUserRewardPerPeriod = totalPositionLiquidity.mul(rewardPerTokenStorePerPeriod).shrn(192);
|
|
6390
|
+
const totalReward = poolReward.rewardRate.mul(poolReward.rewardDuration).shrn(64);
|
|
6391
|
+
const totalRewardDistributed = rewardPerTokenStore.mul(poolState.liquidity).shrn(192);
|
|
6392
|
+
console.log("userRewardInfo.rewardPendings: ", userRewardInfo.rewardPendings.toString());
|
|
6393
|
+
console.log("newReward: ", newReward.toString());
|
|
6394
|
+
return {
|
|
6395
|
+
rewardPendings: userRewardInfo.rewardPendings.add(newReward),
|
|
6396
|
+
totalUserRewardPerPeriod,
|
|
6397
|
+
totalPoolRewardPerPeriod: totalRewardPerPeriod,
|
|
6398
|
+
rewardBalance: totalReward.sub(totalRewardDistributed)
|
|
6399
|
+
};
|
|
6400
|
+
}
|
|
6375
6401
|
|
|
6376
6402
|
// src/helpers/accountFilters.ts
|
|
6377
6403
|
var positionByPoolFilter = (pool) => {
|
|
@@ -8993,6 +9019,7 @@ export {
|
|
|
8993
9019
|
getOrCreateATAInstruction,
|
|
8994
9020
|
getPriceFromSqrtPrice,
|
|
8995
9021
|
getPriceImpact,
|
|
9022
|
+
getRewardInfo,
|
|
8996
9023
|
getSecondKey,
|
|
8997
9024
|
getSimulationComputeUnits,
|
|
8998
9025
|
getSqrtPriceFromPrice,
|