From a12c69284db8eb3415e17ca5e6e74b9a9248e821 Mon Sep 17 00:00:00 2001 From: Bruno Eidam Guerios Date: Wed, 17 Dec 2025 16:47:00 -0300 Subject: [PATCH] SOR - Rename increase/decrease as add/sub --- .changeset/sharp-paws-repair.md | 5 ++++ .../composableStable/composableStablePool.ts | 8 ++--- modules/sor/lib/poolsV2/fx/fxPool.ts | 8 ++--- modules/sor/lib/poolsV2/fx/fxPoolToken.ts | 8 ++--- modules/sor/lib/poolsV2/gyro2/gyro2Pool.ts | 8 ++--- modules/sor/lib/poolsV2/gyro3/gyro3Pool.ts | 8 ++--- modules/sor/lib/poolsV2/gyroE/gyroEPool.ts | 8 ++--- .../lib/poolsV2/metastable/metastablePool.ts | 8 ++--- modules/sor/lib/poolsV2/stable/stablePool.ts | 8 ++--- modules/sor/lib/poolsV3/basePoolV3.ts | 30 ++++++++++--------- modules/sor/lib/utils/basePoolToken.ts | 8 ++--- modules/sor/lib/utils/poolTokenWithRate.ts | 8 ++--- 12 files changed, 61 insertions(+), 54 deletions(-) create mode 100644 .changeset/sharp-paws-repair.md diff --git a/.changeset/sharp-paws-repair.md b/.changeset/sharp-paws-repair.md new file mode 100644 index 000000000..d089d990e --- /dev/null +++ b/.changeset/sharp-paws-repair.md @@ -0,0 +1,5 @@ +--- +'backend': patch +--- + +SOR - Rename increase/decrease as add/sub diff --git a/modules/sor/lib/poolsV2/composableStable/composableStablePool.ts b/modules/sor/lib/poolsV2/composableStable/composableStablePool.ts index 4a59479cb..97418c5da 100644 --- a/modules/sor/lib/poolsV2/composableStable/composableStablePool.ts +++ b/modules/sor/lib/poolsV2/composableStable/composableStablePool.ts @@ -174,8 +174,8 @@ export class ComposableStablePool implements BasePool { if (amountOutWithRate.amount < 0n) throw new Error('Swap output negative'); if (mutateBalances) { - tIn.increase(swapAmount.amount); - tOut.decrease(amountOutWithRate.amount); + tIn.add(swapAmount); + tOut.sub(amountOutWithRate); if (tIn.index === this.bptIndex) { this.totalShares = this.totalShares - swapAmount.amount; @@ -252,8 +252,8 @@ export class ComposableStablePool implements BasePool { if (amountIn.amount < 0n) throw new Error('Swap output negative'); if (mutateBalances) { - tIn.increase(amountIn.amount); - tIn.decrease(swapAmount.amount); + tIn.add(amountIn); + tIn.sub(swapAmount); if (tIn.index === this.bptIndex) { this.totalShares = this.totalShares - amountIn.amount; diff --git a/modules/sor/lib/poolsV2/fx/fxPool.ts b/modules/sor/lib/poolsV2/fx/fxPool.ts index 44b4c97b9..96c51ae76 100644 --- a/modules/sor/lib/poolsV2/fx/fxPool.ts +++ b/modules/sor/lib/poolsV2/fx/fxPool.ts @@ -147,8 +147,8 @@ export class FxPool implements BasePool { const amountOut = TokenAmount.fromRawAmount(fxAmountOut.token, fxAmountOut.amount); if (mutateBalances) { - poolPairData.tIn.increase(swapAmount.amount); - poolPairData.tOut.decrease(amountOut.amount); + poolPairData.tIn.add(swapAmount); + poolPairData.tOut.sub(amountOut); } return amountOut; @@ -172,8 +172,8 @@ export class FxPool implements BasePool { const amountIn = TokenAmount.fromRawAmount(fxAmountIn.token, fxAmountIn.amount); if (mutateBalances) { - poolPairData.tIn.decrease(amountIn.amount); - poolPairData.tOut.increase(swapAmount.amount); + poolPairData.tIn.sub(amountIn); + poolPairData.tOut.add(swapAmount); } return amountIn; diff --git a/modules/sor/lib/poolsV2/fx/fxPoolToken.ts b/modules/sor/lib/poolsV2/fx/fxPoolToken.ts index a0ca7384c..fcb01b9b1 100644 --- a/modules/sor/lib/poolsV2/fx/fxPoolToken.ts +++ b/modules/sor/lib/poolsV2/fx/fxPoolToken.ts @@ -28,8 +28,8 @@ export class FxPoolToken extends BasePoolToken { this.numeraire = truncatedNumeraire * this.scalar36; } - public increase(amount: bigint): TokenAmount { - this.amount = this.amount + amount; + public add(amount: TokenAmount): TokenAmount { + this.amount = this.amount + amount.amount; this.scale18 = this.amount * this.scalar; const truncatedNumeraire = MathFx.mulDownFixed( this.amount, @@ -40,8 +40,8 @@ export class FxPoolToken extends BasePoolToken { return this; } - public decrease(amount: bigint): TokenAmount { - this.amount = this.amount - amount; + public sub(amount: TokenAmount): TokenAmount { + this.amount = this.amount - amount.amount; this.scale18 = this.amount * this.scalar; const truncatedNumeraire = MathFx.mulDownFixed( this.amount, diff --git a/modules/sor/lib/poolsV2/gyro2/gyro2Pool.ts b/modules/sor/lib/poolsV2/gyro2/gyro2Pool.ts index 54cb86f5c..b2c1c550d 100644 --- a/modules/sor/lib/poolsV2/gyro2/gyro2Pool.ts +++ b/modules/sor/lib/poolsV2/gyro2/gyro2Pool.ts @@ -143,8 +143,8 @@ export class Gyro2Pool implements BasePool { const outAmount = TokenAmount.fromScale18Amount(tokenOut, outAmountScale18).divDownFixed(tOut.rate); if (mutateBalances) { - tIn.increase(swapAmount.amount); - tOut.decrease(outAmount.amount); + tIn.add(swapAmount); + tOut.sub(outAmount); } return outAmount; @@ -190,8 +190,8 @@ export class Gyro2Pool implements BasePool { const inAmount = this.addSwapFeeAmount(TokenAmount.fromScale18Amount(tokenIn, inAmountLessSwapFeeRateUndone)); if (mutateBalances) { - tIn.decrease(inAmount.amount); - tOut.increase(swapAmount.amount); + tIn.sub(inAmount); + tOut.add(swapAmount); } return inAmount; diff --git a/modules/sor/lib/poolsV2/gyro3/gyro3Pool.ts b/modules/sor/lib/poolsV2/gyro3/gyro3Pool.ts index 58dffb464..369d8b831 100644 --- a/modules/sor/lib/poolsV2/gyro3/gyro3Pool.ts +++ b/modules/sor/lib/poolsV2/gyro3/gyro3Pool.ts @@ -116,8 +116,8 @@ export class Gyro3Pool implements BasePool { const outAmount = TokenAmount.fromScale18Amount(tokenOut, outAmountScale18); if (mutateBalances) { - tIn.increase(swapAmount.amount); - tOut.decrease(outAmount.amount); + tIn.add(swapAmount); + tOut.sub(outAmount); } return outAmount; @@ -141,8 +141,8 @@ export class Gyro3Pool implements BasePool { const inAmount = this.addSwapFeeAmount(TokenAmount.fromScale18Amount(tokenIn, inAmountLessFee, true)); if (mutateBalances) { - tIn.decrease(inAmount.amount); - tOut.increase(swapAmount.amount); + tIn.sub(inAmount); + tOut.add(swapAmount); } return inAmount; diff --git a/modules/sor/lib/poolsV2/gyroE/gyroEPool.ts b/modules/sor/lib/poolsV2/gyroE/gyroEPool.ts index 208ef0be7..a0f6245fa 100644 --- a/modules/sor/lib/poolsV2/gyroE/gyroEPool.ts +++ b/modules/sor/lib/poolsV2/gyroE/gyroEPool.ts @@ -167,8 +167,8 @@ export class GyroEPool implements BasePool { ); if (mutateBalances) { - tIn.increase(inAmountLive.amount); - tOut.decrease(outAmount.amount); + tIn.add(inAmountLive); + tOut.sub(outAmount); } return outAmount; @@ -208,8 +208,8 @@ export class GyroEPool implements BasePool { ); if (mutateBalances) { - tIn.decrease(inAmount.amount); - tOut.increase(outAmountLive.amount); + tIn.sub(inAmount); + tOut.add(outAmountLive); } return inAmount; diff --git a/modules/sor/lib/poolsV2/metastable/metastablePool.ts b/modules/sor/lib/poolsV2/metastable/metastablePool.ts index ac48966b1..b6c893fa6 100644 --- a/modules/sor/lib/poolsV2/metastable/metastablePool.ts +++ b/modules/sor/lib/poolsV2/metastable/metastablePool.ts @@ -125,8 +125,8 @@ export class MetaStablePool implements BasePool { if (amountOutWithRate.amount < 0n) throw new Error('Swap output negative'); if (mutateBalances) { - tIn.increase(swapAmount.amount); - tOut.decrease(amountOutWithRate.amount); + tIn.add(swapAmount); + tOut.sub(amountOutWithRate); } return amountOutWithRate; @@ -166,8 +166,8 @@ export class MetaStablePool implements BasePool { if (amountInWithRate.amount < 0n) throw new Error('Swap output negative'); if (mutateBalances) { - tIn.increase(amountInWithRate.amount); - tOut.decrease(swapAmount.amount); + tIn.add(amountInWithRate); + tOut.sub(swapAmount); } return amountInWithRate; diff --git a/modules/sor/lib/poolsV2/stable/stablePool.ts b/modules/sor/lib/poolsV2/stable/stablePool.ts index fd11e9faf..e64ea578a 100644 --- a/modules/sor/lib/poolsV2/stable/stablePool.ts +++ b/modules/sor/lib/poolsV2/stable/stablePool.ts @@ -118,8 +118,8 @@ export class StablePool implements BasePool { if (amountOut.amount < 0n) throw new Error('Swap output negative'); if (mutateBalances) { - tIn.increase(swapAmount.amount); - tOut.decrease(amountOut.amount); + tIn.add(swapAmount); + tOut.sub(amountOut); } return amountOut; @@ -156,8 +156,8 @@ export class StablePool implements BasePool { if (amountInWithFee.amount < 0n) throw new Error('Swap output negative'); if (mutateBalances) { - tIn.increase(amountInWithFee.amount); - tOut.decrease(swapAmount.amount); + tIn.add(amountInWithFee); + tOut.sub(swapAmount); } return amountInWithFee; diff --git a/modules/sor/lib/poolsV3/basePoolV3.ts b/modules/sor/lib/poolsV3/basePoolV3.ts index 37560295b..de4f396c8 100644 --- a/modules/sor/lib/poolsV3/basePoolV3.ts +++ b/modules/sor/lib/poolsV3/basePoolV3.ts @@ -97,7 +97,7 @@ export class BasePoolV3 { ): TokenAmount { const { tIn, tOut } = this.getPoolTokens(tokenIn, tokenOut); - let calculatedAmount: bigint; + let amountOut: TokenAmount; if (tIn.token.isSameAddress(this.id)) { // if liquidityManagement.disableUnbalancedLiquidity is true return 0 @@ -118,7 +118,7 @@ export class BasePoolV3 { this.poolState, this.hookState, ); - calculatedAmount = amountsOutRaw[tOut.index]; + amountOut = TokenAmount.fromRawAmount(tOut.token, amountsOutRaw[tOut.index]); } else if (tOut.token.isSameAddress(this.id)) { // if liquidityManagement.disableUnbalancedLiquidity is true return 0 // as the pool does not allow unbalanced operations. 0 return marks the @@ -138,10 +138,10 @@ export class BasePoolV3 { this.poolState, this.hookState, ); - calculatedAmount = bptAmountOutRaw; + amountOut = TokenAmount.fromRawAmount(tOut.token, bptAmountOutRaw); } else { // swap - calculatedAmount = this.vault.swap( + const calculatedAmount = this.vault.swap( { amountRaw: swapAmount.amount, tokenIn: tIn.token.address, @@ -151,15 +151,16 @@ export class BasePoolV3 { this.poolState, this.hookState, ); + amountOut = TokenAmount.fromRawAmount(tOut.token, calculatedAmount); } if (mutateBalances) { - tIn.increase(swapAmount.amount); - tOut.decrease(calculatedAmount); + tIn.add(swapAmount); + tOut.sub(amountOut); this.poolState.balancesLiveScaled18 = this.tokens.map((t) => t.scale18); } - return TokenAmount.fromRawAmount(tOut.token, calculatedAmount); + return amountOut; } public swapGivenOut( @@ -170,7 +171,7 @@ export class BasePoolV3 { ): TokenAmount { const { tIn, tOut } = this.getPoolTokens(tokenIn, tokenOut); - let calculatedAmount: bigint; + let amountIn: TokenAmount; if (tIn.token.isSameAddress(this.id)) { // if liquidityManagement.disableUnbalancedLiquidity is true return 0 @@ -191,7 +192,7 @@ export class BasePoolV3 { this.poolState, this.hookState, ); - calculatedAmount = bptAmountInRaw; + amountIn = TokenAmount.fromRawAmount(tIn.token, bptAmountInRaw); } else if (tOut.token.isSameAddress(this.id)) { // if liquidityManagement.disableUnbalancedLiquidity is true return 0 // as the pool does not allow unbalanced operations. 0 return marks the @@ -211,10 +212,10 @@ export class BasePoolV3 { this.poolState, this.hookState, ); - calculatedAmount = amountsInRaw[tIn.index]; + amountIn = TokenAmount.fromRawAmount(tIn.token, amountsInRaw[tIn.index]); } else { // swap - calculatedAmount = this.vault.swap( + const calculatedAmount = this.vault.swap( { amountRaw: swapAmount.amount, tokenIn: tIn.token.address, @@ -224,15 +225,16 @@ export class BasePoolV3 { this.poolState, this.hookState, ); + amountIn = TokenAmount.fromRawAmount(tIn.token, calculatedAmount); } if (mutateBalances) { - tIn.increase(calculatedAmount); - tOut.decrease(swapAmount.amount); + tIn.add(amountIn); + tOut.sub(swapAmount); this.poolState.balancesLiveScaled18 = this.tokens.map((t) => t.scale18); } - return TokenAmount.fromRawAmount(tIn.token, calculatedAmount); + return amountIn; } public getNormalizedLiquidity(tokenIn: Token, tokenOut: Token): bigint { diff --git a/modules/sor/lib/utils/basePoolToken.ts b/modules/sor/lib/utils/basePoolToken.ts index a19edb5f1..114c8ca2e 100644 --- a/modules/sor/lib/utils/basePoolToken.ts +++ b/modules/sor/lib/utils/basePoolToken.ts @@ -8,14 +8,14 @@ export class BasePoolToken extends TokenAmount { this.index = index; } - public increase(amount: bigint): TokenAmount { - this.amount = this.amount + amount; + public add(amount: TokenAmount): TokenAmount { + this.amount = this.amount + amount.amount; this.scale18 = this.amount * this.scalar; return this; } - public decrease(amount: bigint): TokenAmount { - this.amount = this.amount - amount; + public sub(amount: TokenAmount): TokenAmount { + this.amount = this.amount - amount.amount; this.scale18 = this.amount * this.scalar; return this; } diff --git a/modules/sor/lib/utils/poolTokenWithRate.ts b/modules/sor/lib/utils/poolTokenWithRate.ts index b102fe739..15727c755 100644 --- a/modules/sor/lib/utils/poolTokenWithRate.ts +++ b/modules/sor/lib/utils/poolTokenWithRate.ts @@ -10,14 +10,14 @@ export class PoolTokenWithRate extends BasePoolToken { this.scale18 = (this.amount * this.scalar * this.rate) / WAD; } - public increase(amount: bigint): TokenAmount { - this.amount = this.amount + amount; + public add(amount: TokenAmount): TokenAmount { + this.amount = this.amount + amount.amount; this.scale18 = (this.amount * this.scalar * this.rate) / WAD; return this; } - public decrease(amount: bigint): TokenAmount { - this.amount = this.amount - amount; + public sub(amount: TokenAmount): TokenAmount { + this.amount = this.amount - amount.amount; this.scale18 = (this.amount * this.scalar * this.rate) / WAD; return this; }