@meteora-ag/cp-amm-sdk 1.0.11-rc.6 → 1.0.11-rc.7
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 +4 -1
- package/dist/index.d.ts +4 -1
- package/dist/index.js +34 -6
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +34 -6
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -6385,27 +6385,55 @@ function getRewardPerTokenStore(poolReward, poolLiquidity, currentTime) {
|
|
|
6385
6385
|
).add(rewardPerTokenStore);
|
|
6386
6386
|
return totalRewardPerTokenStore;
|
|
6387
6387
|
}
|
|
6388
|
+
function getRewardPerPeriod(poolReward, currentTime, periodTime) {
|
|
6389
|
+
const timeRewardAppicable = currentTime.add(periodTime);
|
|
6390
|
+
const period = timeRewardAppicable <= poolReward.rewardDurationEnd ? periodTime : poolReward.rewardDurationEnd.sub(currentTime);
|
|
6391
|
+
const rewardPerPeriod = poolReward.rewardRate.mul(period);
|
|
6392
|
+
return rewardPerPeriod;
|
|
6393
|
+
}
|
|
6388
6394
|
function getRewardInfo(poolState, rewardIndex, periodTime, currentTime) {
|
|
6389
6395
|
const poolReward = poolState.rewardInfos[rewardIndex];
|
|
6390
|
-
const totalRewardPerPeriod = poolReward.rewardRate.mul(periodTime);
|
|
6391
6396
|
const totalReward = poolReward.rewardRate.mul(poolReward.rewardDuration).shrn(64);
|
|
6392
|
-
const rewardPerTokenStore = getRewardPerTokenStore(
|
|
6397
|
+
const rewardPerTokenStore = getRewardPerTokenStore(
|
|
6398
|
+
poolReward,
|
|
6399
|
+
poolState.liquidity,
|
|
6400
|
+
currentTime
|
|
6401
|
+
);
|
|
6393
6402
|
const totalRewardDistributed = rewardPerTokenStore.mul(poolState.liquidity).shrn(192);
|
|
6403
|
+
const rewardPerPeriod = getRewardPerPeriod(
|
|
6404
|
+
poolReward,
|
|
6405
|
+
currentTime,
|
|
6406
|
+
periodTime
|
|
6407
|
+
);
|
|
6394
6408
|
return {
|
|
6395
|
-
rewardPerPeriod:
|
|
6409
|
+
rewardPerPeriod: rewardPerPeriod.shrn(64),
|
|
6396
6410
|
rewardBalance: totalReward.sub(totalRewardDistributed)
|
|
6397
6411
|
};
|
|
6398
6412
|
}
|
|
6399
|
-
function getUserRewardPending(poolState, positionState, rewardIndex, currentTime) {
|
|
6413
|
+
function getUserRewardPending(poolState, positionState, rewardIndex, currentTime, periodTime) {
|
|
6400
6414
|
const poolReward = poolState.rewardInfos[rewardIndex];
|
|
6401
6415
|
const userRewardInfo = positionState.rewardInfos[rewardIndex];
|
|
6402
|
-
const rewardPerTokenStore = getRewardPerTokenStore(
|
|
6416
|
+
const rewardPerTokenStore = getRewardPerTokenStore(
|
|
6417
|
+
poolReward,
|
|
6418
|
+
poolState.liquidity,
|
|
6419
|
+
currentTime
|
|
6420
|
+
);
|
|
6403
6421
|
const totalPositionLiquidity = positionState.unlockedLiquidity.add(positionState.vestedLiquidity).add(positionState.permanentLockedLiquidity);
|
|
6404
6422
|
const userRewardPerTokenCheckPoint = new BN6(
|
|
6405
6423
|
Buffer.from(userRewardInfo.rewardPerTokenCheckpoint).reverse()
|
|
6406
6424
|
);
|
|
6407
6425
|
const newReward = totalPositionLiquidity.mul(rewardPerTokenStore.sub(userRewardPerTokenCheckPoint)).shrn(192);
|
|
6408
|
-
|
|
6426
|
+
const rewardPerPeriod = getRewardPerPeriod(
|
|
6427
|
+
poolReward,
|
|
6428
|
+
currentTime,
|
|
6429
|
+
periodTime
|
|
6430
|
+
);
|
|
6431
|
+
const rewardPerTokenStorePerPeriod = rewardPerPeriod.shln(128).div(poolState.liquidity);
|
|
6432
|
+
const userRewardPerPeriod = totalPositionLiquidity.mul(rewardPerTokenStorePerPeriod).shrn(192);
|
|
6433
|
+
return {
|
|
6434
|
+
userPendingReward: userRewardInfo.rewardPendings.add(newReward),
|
|
6435
|
+
userRewardPerPeriod
|
|
6436
|
+
};
|
|
6409
6437
|
}
|
|
6410
6438
|
|
|
6411
6439
|
// src/helpers/accountFilters.ts
|