diff --git a/contracts/strategies/cpmm/base/CPMMBaseLongStrategy.sol b/contracts/strategies/cpmm/base/CPMMBaseLongStrategy.sol index c504889..bbb7bdb 100644 --- a/contracts/strategies/cpmm/base/CPMMBaseLongStrategy.sol +++ b/contracts/strategies/cpmm/base/CPMMBaseLongStrategy.sol @@ -52,7 +52,7 @@ abstract contract CPMMBaseLongStrategy is BaseLongStrategy, CPMMBaseStrategy { uint256 lastCFMMInvariant = calcInvariant(address(0), reserves); uint256 lastCFMMTotalSupply = s.lastCFMMTotalSupply; - uint256 expectedLPTokens = liquidity * lastCFMMTotalSupply / lastCFMMInvariant; + uint256 expectedLPTokens = liquidity * lastCFMMTotalSupply / lastCFMMInvariant + 1; amounts[0] = expectedLPTokens * reserves[0] / lastCFMMTotalSupply + 1; amounts[1] = expectedLPTokens * reserves[1] / lastCFMMTotalSupply + 1; @@ -62,9 +62,9 @@ abstract contract CPMMBaseLongStrategy is BaseLongStrategy, CPMMBaseStrategy { uint256 actualLPTokens1 = amounts[1] * lastCFMMTotalSupply / reserves[1]; if(actualLPTokens0 < actualLPTokens1) { - amounts[0] = amounts[1] * reserves[0] / reserves[1]; - } else { - amounts[1] = amounts[0] * reserves[1] / reserves[0]; + amounts[0] = amounts[1] * reserves[0] / reserves[1] + 1; + } else if(actualLPTokens0 > actualLPTokens1) { + amounts[1] = amounts[0] * reserves[1] / reserves[0] + 1; } } diff --git a/package.json b/package.json index aedb6c7..95f9499 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@gammaswap/v1-implementations", - "version": "1.2.15", + "version": "1.2.16", "description": "Pool and strategies implementation contracts for GammaSwap V1 protocol", "homepage": "https://gammaswap.com", "scripts": {