Commit b35653ad authored by Noah Zinsmeister's avatar Noah Zinsmeister Committed by GitHub

fix approval bugs (#887)

clear signature on input in remove
parent 57b53013
......@@ -400,7 +400,7 @@ export default function AddLiquidity({ match: { params } }: RouteComponentProps<
{approvalA !== ApprovalState.APPROVED && (
<ButtonPrimary
onClick={approveACallback}
disabled={approvalA === ApprovalState.PENDING || !isValid}
disabled={approvalA === ApprovalState.PENDING}
width={approvalB !== ApprovalState.APPROVED ? '48%' : '100%'}
>
{approvalA === ApprovalState.PENDING ? (
......@@ -413,7 +413,7 @@ export default function AddLiquidity({ match: { params } }: RouteComponentProps<
{approvalB !== ApprovalState.APPROVED && (
<ButtonPrimary
onClick={approveBCallback}
disabled={approvalB === ApprovalState.PENDING || !isValid}
disabled={approvalB === ApprovalState.PENDING}
width={approvalA !== ApprovalState.APPROVED ? '48%' : '100%'}
>
{approvalB === ApprovalState.PENDING ? (
......
......@@ -48,7 +48,7 @@ export default function RemoveLiquidity({ match: { params } }: RouteComponentPro
// burn state
const { independentField, typedValue } = useBurnState()
const { tokens, pair, route, parsedAmounts, error } = useDerivedBurnInfo()
const { onUserInput } = useBurnActionHandlers()
const { onUserInput: _onUserInput } = useBurnActionHandlers()
const isValid = !error
// modal and loading
......@@ -144,6 +144,15 @@ export default function RemoveLiquidity({ match: { params } }: RouteComponentPro
})
}
// wrapped onUserInput to clear signatures
const onUserInput = useCallback(
(field: Field, typedValue: string) => {
setSignatureData(null)
return _onUserInput(field, typedValue)
},
[_onUserInput]
)
// tx sending
const addTransaction = useTransactionAdder()
async function onRemove() {
......@@ -569,7 +578,7 @@ export default function RemoveLiquidity({ match: { params } }: RouteComponentPro
onClick={() => {
setShowConfirm(true)
}}
disabled={!isValid || signatureData === null}
disabled={!isValid || (signatureData === null && approval !== ApprovalState.APPROVED)}
error={!isValid && !!parsedAmounts[Field.TOKEN_A] && !!parsedAmounts[Field.TOKEN_B]}
>
<Text fontSize={16} fontWeight={500}>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment