diff --git a/core/api/src/domain/accounts/limits-volume.ts b/core/api/src/domain/accounts/limits-volume.ts index 1eb27e9a12..ff1e2824c4 100644 --- a/core/api/src/domain/accounts/limits-volume.ts +++ b/core/api/src/domain/accounts/limits-volume.ts @@ -77,7 +77,8 @@ export const AccountTxVolumeRemaining = ( "txVolume.limitCheck": AccountLimitsType.IntraLedger, }) - return calc.sub(limitAmount, outgoingUsdVolumeAmount) + const rawVolumeRemaining = calc.sub(limitAmount, outgoingUsdVolumeAmount) + return calc.max(ZERO_CENTS, rawVolumeRemaining) } const withdrawal = async ({ @@ -110,7 +111,8 @@ export const AccountTxVolumeRemaining = ( }) const netVolumeAmount = calc.sub(outgoingUsdVolumeAmount, incomingUsdVolumeAmount) - return calc.sub(limitAmount, netVolumeAmount) + const rawVolumeRemaining = calc.sub(limitAmount, netVolumeAmount) + return calc.max(ZERO_CENTS, rawVolumeRemaining) } const tradeIntraAccount = async ({ @@ -138,7 +140,8 @@ export const AccountTxVolumeRemaining = ( "txVolume.limitCheck": AccountLimitsType.SelfTrade, }) - return calc.sub(limitAmount, outgoingUsdVolumeAmount) + const rawVolumeRemaining = calc.sub(limitAmount, outgoingUsdVolumeAmount) + return calc.max(ZERO_CENTS, rawVolumeRemaining) } return { diff --git a/core/api/test/unit/domain/accounts/limits-volume.spec.ts b/core/api/test/unit/domain/accounts/limits-volume.spec.ts index b13eef2ffc..5c94e6baae 100644 --- a/core/api/test/unit/domain/accounts/limits-volume.spec.ts +++ b/core/api/test/unit/domain/accounts/limits-volume.spec.ts @@ -129,7 +129,7 @@ describe("LimitsChecker", () => { }) }) - describe.skip("returns 0n for walletVolumes above limit", () => { + describe("returns 0n for walletVolumes above limit", () => { it("intraLedger", async () => { const remaining = await volumeRemainingCalc.intraLedger({ priceRatio,