Skip to content

Commit 34391c2

Browse files
authored
fix: fix input amount validation for buy order (#5929)
1 parent 4cf9524 commit 34391c2

File tree

1 file changed

+14
-3
lines changed

1 file changed

+14
-3
lines changed

apps/cowswap-frontend/src/modules/tradeFormValidation/services/validateTradeForm.ts

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { getIsNativeToken, isAddress, isFractionFalsy } from '@cowprotocol/common-utils'
1+
import { getIsNativeToken, isAddress, isFractionFalsy, isSellOrder } from '@cowprotocol/common-utils'
22
import { PriceQuality } from '@cowprotocol/cow-sdk'
33

44
import { TradeType } from 'modules/trade'
@@ -27,7 +27,15 @@ export function validateTradeForm(context: TradeFormValidationContext): TradeFor
2727
isOnline,
2828
} = context
2929

30-
const { inputCurrency, outputCurrency, inputCurrencyAmount, inputCurrencyBalance, recipient } = derivedTradeState
30+
const {
31+
inputCurrency,
32+
outputCurrency,
33+
inputCurrencyAmount,
34+
outputCurrencyAmount,
35+
inputCurrencyBalance,
36+
recipient,
37+
orderKind,
38+
} = derivedTradeState
3139
const isBalanceGreaterThan1Atom = inputCurrencyBalance
3240
? BigInt(inputCurrencyBalance.quotient.toString()) > BigInt(0)
3341
: false
@@ -37,7 +45,10 @@ export function validateTradeForm(context: TradeFormValidationContext): TradeFor
3745
const approvalRequired =
3846
!isPermitSupported && (approvalState === ApprovalState.NOT_APPROVED || approvalState === ApprovalState.PENDING)
3947

40-
const inputAmountIsNotSet = !inputCurrencyAmount || isFractionFalsy(inputCurrencyAmount)
48+
const inputAmountIsNotSet = isSellOrder(orderKind)
49+
? !inputCurrencyAmount || isFractionFalsy(inputCurrencyAmount)
50+
: !outputCurrencyAmount || isFractionFalsy(outputCurrencyAmount)
51+
4152
const isFastQuote = tradeQuote.fetchParams?.priceQuality === PriceQuality.FAST
4253

4354
const validations: TradeFormValidation[] = []

0 commit comments

Comments
 (0)