import React from 'react' import { Formik } from 'formik' import LiquidPledging from 'Embark/contracts/LiquidPledging' import Button from '@material-ui/core/Button' import TextField from '@material-ui/core/TextField' import Dialog from '@material-ui/core/Dialog' import DialogActions from '@material-ui/core/DialogActions' import DialogContent from '@material-ui/core/DialogContent' import DialogContentText from '@material-ui/core/DialogContentText' import DialogTitle from '@material-ui/core/DialogTitle' import { getTokenLabel } from '../utils/currencies' import { toWei } from '../utils/conversions' import { FundingContext } from '../context' const { transfer } = LiquidPledging.methods const TransferDialog = ({ row, handleClose, transferPledgeAmounts }) => ( { const { id } = row const { idSender, amount, idReceiver } = values const args = [idSender, id, toWei(amount.toString()), idReceiver] const toSend = transfer(...args); const estimatedGas = await toSend.estimateGas(); toSend.send({gas: estimatedGas + 1000}) .then(res => { console.log({res}) const { events: { Transfer: { returnValues } } } = res transferPledgeAmounts(returnValues) }) .catch(e => { console.log({e}) }) .finally(() => { handleClose() resetForm() }) }} > {({ values, errors, touched, handleChange, handleBlur, handleSubmit, submitForm, setFieldValue, setStatus, status }) => (
Transfer Funds {`Transfer ${values.amount || ''} ${values.amount ? getTokenLabel(row[6]) : ''} from Pledge ${row.id} ${values.idReceiver ? 'to Giver/Delegate/Project' : ''} ${values.idReceiver || ''}`}
)}
) export default TransferDialog