Skip to content

Commit

Permalink
Improved approval checks (#508)
Browse files Browse the repository at this point in the history
  • Loading branch information
hellofromguy committed Jun 26, 2023
2 parents c2e20c9 + 14d8660 commit bcc0e93
Show file tree
Hide file tree
Showing 4 changed files with 20 additions and 5 deletions.
7 changes: 6 additions & 1 deletion projects/ui/src/components/Barn/Actions/Buy.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -159,6 +159,11 @@ const BuyForm: FC<
return _params;
}, [values.balanceFrom]);

/// Approval Checks
const shouldApprove =
values.balanceFrom === BalanceFrom.EXTERNAL ||
values.balanceFrom === BalanceFrom.TOTAL && values.tokens[0].amount?.gt(balances[tokenIn.address].internal);

return (
<FormWithDrawer autoComplete="off" noValidate siblingRef={formRef}>
<Stack gap={1} ref={formRef}>
Expand Down Expand Up @@ -257,7 +262,7 @@ const BuyForm: FC<
disabled={!isValid}
// Smart props
contract={sdk.contracts.beanstalk}
tokens={values.tokens}
tokens={shouldApprove ? values.tokens : []}
>
Buy
</SmartSubmitButton>
Expand Down
7 changes: 6 additions & 1 deletion projects/ui/src/components/Field/Actions/Sow.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -149,6 +149,11 @@ const SowForm: FC<
claimBeansState: values.claimableBeans,
});

/// Approval Checks
const shouldApprove =
values.balanceFrom === BalanceFrom.EXTERNAL ||
values.balanceFrom === BalanceFrom.TOTAL && values.tokens[0].amount?.gt(balances[tokenIn.address].internal);

const handleSetBalanceFrom = useCallback(
(_balanceFrom: BalanceFrom) => {
setFieldValue('balanceFrom', _balanceFrom);
Expand Down Expand Up @@ -354,7 +359,7 @@ const SowForm: FC<
size="large"
disabled={!isSubmittable || isSubmitting}
contract={sdk.contracts.beanstalk}
tokens={values.tokens}
tokens={shouldApprove ? values.tokens : []}
mode="auto"
>
Sow
Expand Down
7 changes: 6 additions & 1 deletion projects/ui/src/components/Silo/Actions/Deposit.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -179,6 +179,11 @@ const DepositForm: FC<
values.tokens[0].amount === undefined &&
values.claimableBeans.amount?.eq(0);

/// Approval Checks
const shouldApprove =
values.balanceFrom === BalanceFrom.EXTERNAL ||
values.balanceFrom === BalanceFrom.TOTAL && values.tokens[0].amount?.gt(balances[tokenIn.address].internal);

return (
<FormWithDrawer noValidate autoComplete="off" siblingRef={siblingRef}>
<TokenSelectDialogNew
Expand Down Expand Up @@ -280,7 +285,7 @@ const DepositForm: FC<
color="primary"
size="large"
contract={contract}
tokens={values.tokens}
tokens={shouldApprove ? values.tokens : []}
mode="auto"
>
Deposit
Expand Down
4 changes: 2 additions & 2 deletions projects/ui/src/components/Swap/Actions/Transfer.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -236,10 +236,10 @@ const TransferForm: FC<
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [handleSetBalanceFrom, account, toMode]);

/// Checks
/// Approval Checks
const shouldApprove =
fromMode === FarmFromMode.EXTERNAL ||
fromMode === FarmFromMode.INTERNAL_EXTERNAL;
fromMode === FarmFromMode.INTERNAL_EXTERNAL && amount?.gt(balances[tokenIn.address]?.internal);

const amountsCheck = amount?.gt(0);
const enoughBalanceCheck = amount
Expand Down

0 comments on commit bcc0e93

Please sign in to comment.