import {useCallback} from 'react'; import useUnicornFinance from './useUnicornFinance'; import {Bank} from '../unicorn-finance'; import useHandleTransactionReceipt from './useHandleTransactionReceipt'; import {parseUnits} from 'ethers/lib/utils'; const useWithdraw = (bank: Bank) => { const unicornFinance = useUnicornFinance(); const handleTransactionReceipt = useHandleTransactionReceipt(); const handleWithdraw = useCallback( (amount: string) => { const amountBn = parseUnits(amount, bank.depositToken.decimal); handleTransactionReceipt( unicornFinance.unstake(bank.contract, bank.poolId, amountBn), `Withdraw ${amount} ${bank.depositTokenName} from ${bank.contract}`, ); }, [bank, unicornFinance, handleTransactionReceipt], ); return {onWithdraw: handleWithdraw}; }; export default useWithdraw;