diff --git a/CHANGELOG.md b/CHANGELOG.md index 5152308f..9df5b9a3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,6 +19,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Security +## @meteora-ag/dlmm [1.5.3] - PR #213 + +### Fixed + +- added `canClosePosition` field in `processPosition` + ## @meteora-ag/dlmm [1.5.2] - PR #209 ### Fixed diff --git a/ts-client/package.json b/ts-client/package.json index b18a4eed..3deefe92 100644 --- a/ts-client/package.json +++ b/ts-client/package.json @@ -1,6 +1,6 @@ { "name": "@meteora-ag/dlmm", - "version": "1.5.2", + "version": "1.5.3-rc.0", "description": "", "main": "./dist/index.js", "module": "./dist/index.mjs", diff --git a/ts-client/src/dlmm/index.ts b/ts-client/src/dlmm/index.ts index d0a0c907..c20cd497 100644 --- a/ts-client/src/dlmm/index.ts +++ b/ts-client/src/dlmm/index.ts @@ -6316,6 +6316,16 @@ export class DLMM { currentEpoch ).amount; + const canClosePosition = + posShares.every((share) => share.isZero()) && + feeInfos.every( + (feeInfo) => + feeInfo.feeXPending.isZero() && feeInfo.feeYPending.isZero() + ) && + positionRewardInfos.every((rewardInfo) => + rewardInfo.rewardPendings.every((reward) => reward.isZero()) + ); + return { totalXAmount: totalXAmount.toString(), totalYAmount: totalYAmount.toString(), @@ -6337,6 +6347,7 @@ export class DLMM { feeXExcludeTransferFee, feeYExcludeTransferFee, owner: position.owner(), + canClosePosition, }; } diff --git a/ts-client/src/dlmm/types/index.ts b/ts-client/src/dlmm/types/index.ts index c29f2bf9..594255fd 100644 --- a/ts-client/src/dlmm/types/index.ts +++ b/ts-client/src/dlmm/types/index.ts @@ -319,6 +319,7 @@ export interface PositionData { totalXAmountExcludeTransferFee: BN; totalYAmountExcludeTransferFee: BN; owner: PublicKey; + canClosePosition: boolean; } export interface SwapWithPriceImpactParams {