Skip to content

Commit b58cb6f

Browse files
fix: query validation
1 parent c478da4 commit b58cb6f

13 files changed

+39
-37
lines changed

apps/main/src/llamalend/features/borrow/components/CreateLoanForm.tsx

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,6 @@ export const CreateLoanForm = <ChainId extends IChainId>({
6868
creationError,
6969
txHash,
7070
formErrors,
71-
tooMuchDebt,
7271
isApproved,
7372
} = useCreateLoanForm({ market, network, preset, onCreated })
7473
const setRange = useCallback((range: number) => form.setValue('range', range, setValueOptions), [form])
@@ -84,7 +83,6 @@ export const CreateLoanForm = <ChainId extends IChainId>({
8483
values={values}
8584
collateralToken={collateralToken}
8685
borrowToken={borrowToken}
87-
tooMuchDebt={tooMuchDebt}
8886
networks={networks}
8987
onSlippageChange={(value) => form.setValue('slippage', value, setValueOptions)}
9088
/>

apps/main/src/llamalend/features/borrow/components/CreateLoanInfoAccordion.tsx

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -25,28 +25,25 @@ export const CreateLoanInfoAccordion = <ChainId extends IChainId>({
2525
values: { range, slippage, leverageEnabled },
2626
collateralToken,
2727
borrowToken,
28-
tooMuchDebt,
2928
networks,
3029
onSlippageChange,
3130
}: {
3231
params: BorrowFormQueryParams<ChainId>
3332
values: BorrowForm
3433
collateralToken: Token | undefined
3534
borrowToken: Token | undefined
36-
tooMuchDebt: boolean
3735
networks: NetworkDict<ChainId>
3836
onSlippageChange: (newSlippage: Decimal) => void
3937
}) => {
4038
const [isOpen, , , toggle] = useSwitch(false)
41-
4239
return (
4340
<LoanInfoAccordion
4441
isOpen={isOpen}
4542
toggle={toggle}
4643
range={range}
47-
health={useCreateLoanHealth(params, !tooMuchDebt)}
48-
bands={useCreateLoanBands(params, isOpen && !tooMuchDebt)}
49-
prices={useCreateLoanPrices(params, isOpen && !tooMuchDebt)}
44+
health={useCreateLoanHealth(params)}
45+
bands={useCreateLoanBands(params, isOpen)}
46+
prices={useCreateLoanPrices(params, isOpen)}
5047
prevRates={useMarketRates(params, isOpen)}
5148
rates={useMarketFutureRates(params, isOpen)}
5249
loanToValue={useLoanToValue(
@@ -57,11 +54,11 @@ export const CreateLoanInfoAccordion = <ChainId extends IChainId>({
5754
},
5855
isOpen,
5956
)}
60-
gas={useCreateLoanEstimateGas(networks, params, isOpen && !tooMuchDebt)}
57+
gas={useCreateLoanEstimateGas(networks, params, isOpen)}
6158
leverage={{
6259
enabled: leverageEnabled,
6360
expectedCollateral: useCreateLoanExpectedCollateral(params, isOpen && leverageEnabled),
64-
maxReceive: useCreateLoanMaxReceive(params, isOpen && leverageEnabled && !tooMuchDebt),
61+
maxReceive: useCreateLoanMaxReceive(params, isOpen && leverageEnabled),
6562
priceImpact: useCreateLoanPriceImpact(params, isOpen && leverageEnabled),
6663
slippage,
6764
onSlippageChange,

apps/main/src/llamalend/features/borrow/hooks/useCreateLoanForm.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,6 @@ export function useCreateLoanForm<ChainId extends LlamaChainId>({
8383
creationError,
8484
txHash: data?.hash,
8585
isApproved: useBorrowCreateLoanIsApproved(params),
86-
tooMuchDebt: !!form.formState.errors['maxDebt'],
8786
formErrors: useFormErrors(form.formState),
8887
}
8988
}

apps/main/src/llamalend/queries/create-loan/borrow-create-loan-approved.query.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,5 +27,5 @@ export const { useQuery: useBorrowCreateLoanIsApproved, fetchQuery: fetchBorrowC
2727
: await market.createLoanIsApproved(userCollateral)
2828
},
2929
staleTime: '1m',
30-
validationSuite: borrowQueryValidationSuite,
30+
validationSuite: borrowQueryValidationSuite({ debtRequired: false }), // doesn't use debt or maxDebt
3131
})

apps/main/src/llamalend/queries/create-loan/create-loan-approve-estimate-gas.query.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ const { useQuery: useCreateLoanApproveEstimateGas } = queryFactory({
3636
? await market.leverageV2.estimateGas.createLoanApprove(userCollateral, userBorrowed)
3737
: await market.leverage.estimateGas.createLoanApprove(userCollateral)
3838
},
39-
validationSuite: borrowQueryValidationSuite,
39+
validationSuite: borrowQueryValidationSuite({ debtRequired: false }), // doesn't use debt or maxDebt
4040
dependencies: (params) => [createLoanMaxReceiveKey(params)],
4141
})
4242

apps/main/src/llamalend/queries/create-loan/create-loan-bands.query.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ export const { useQuery: useCreateLoanBands } = queryFactory({
4545
: market.createLoanBands(userCollateral, debt, range)
4646
},
4747
staleTime: '1m',
48-
validationSuite: borrowQueryValidationSuite,
48+
validationSuite: borrowQueryValidationSuite(), // requires debt and maxDebt
4949
dependencies: (params) => [
5050
createLoanMaxReceiveKey(params),
5151
...(params.leverageEnabled ? [createLoanExpectedCollateralQueryKey(params)] : []),

apps/main/src/llamalend/queries/create-loan/create-loan-expected-collateral.query.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,5 +79,5 @@ export const { useQuery: useCreateLoanExpectedCollateral, queryKey: createLoanEx
7979
return convertNumbers({ userCollateral, leverage, totalCollateral: collateral })
8080
},
8181
staleTime: '1m',
82-
validationSuite: borrowQueryValidationSuite,
82+
validationSuite: borrowQueryValidationSuite(), // requires debt and maxDebt
8383
})

apps/main/src/llamalend/queries/create-loan/create-loan-health.query.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ export const { useQuery: useCreateLoanHealth } = queryFactory({
4747
)!
4848
},
4949
staleTime: '1m',
50-
validationSuite: borrowQueryValidationSuite,
50+
validationSuite: borrowQueryValidationSuite(), // requires debt and maxDebt
5151
dependencies: (params) => [
5252
createLoanMaxReceiveKey(params),
5353
...(params.leverageEnabled ? [createLoanExpectedCollateralQueryKey(params)] : []),

apps/main/src/llamalend/queries/create-loan/create-loan-price-impact.query.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,6 @@ export const { useQuery: useCreateLoanPriceImpact } = queryFactory({
3030
: +(await market.leverage.priceImpact(userCollateral, debt))
3131
},
3232
staleTime: '1m',
33-
validationSuite: borrowQueryValidationSuite,
33+
validationSuite: borrowQueryValidationSuite(), // requires debt and maxDebt
3434
dependencies: (params) => [createLoanExpectedCollateralQueryKey(params)],
3535
})

apps/main/src/llamalend/queries/create-loan/create-loan-prices.query.ts

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,12 @@ import { LendMarketTemplate } from '@curvefi/llamalend-api/lib/lendMarkets'
33
import { type FieldsOf } from '@ui-kit/lib'
44
import { queryFactory, rootKeys } from '@ui-kit/lib/model'
55
import { Decimal } from '@ui-kit/utils'
6-
import type { BorrowFormQuery } from '../../features/borrow/types'
6+
import type { BorrowForm, BorrowFormQuery } from '../../features/borrow/types'
77
import { borrowQueryValidationSuite } from '../validation/borrow.validation'
88
import { createLoanExpectedCollateralQueryKey } from './create-loan-expected-collateral.query'
99
import { createLoanMaxReceiveKey } from './create-loan-max-receive.query'
1010

11-
type BorrowPricesReceiveQuery = BorrowFormQuery
11+
type BorrowPricesReceiveQuery = BorrowFormQuery & Pick<BorrowForm, 'maxDebt'>
1212
type BorrowPricesReceiveParams = FieldsOf<BorrowPricesReceiveQuery>
1313

1414
type BorrowPricesResult = [Decimal, Decimal]
@@ -23,6 +23,7 @@ export const { useQuery: useCreateLoanPrices } = queryFactory({
2323
debt = '0',
2424
leverageEnabled,
2525
range,
26+
maxDebt,
2627
}: BorrowPricesReceiveParams) =>
2728
[
2829
...rootKeys.market({ chainId, marketId }),
@@ -32,6 +33,7 @@ export const { useQuery: useCreateLoanPrices } = queryFactory({
3233
{ debt },
3334
{ leverageEnabled },
3435
{ range },
36+
{ maxDebt },
3537
] as const,
3638
queryFn: async ({
3739
marketId,
@@ -51,7 +53,7 @@ export const { useQuery: useCreateLoanPrices } = queryFactory({
5153
: convertNumbers(await market.leverage.createLoanPrices(userCollateral, debt, range))
5254
},
5355
staleTime: '1m',
54-
validationSuite: borrowQueryValidationSuite,
56+
validationSuite: borrowQueryValidationSuite(), // requires debt and maxDebt
5557
dependencies: (params) => [
5658
createLoanMaxReceiveKey(params),
5759
...(params.leverageEnabled ? [createLoanExpectedCollateralQueryKey(params)] : []),

0 commit comments

Comments
 (0)