@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.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,