import React from 'react'; import { Formik } from 'formik'; import EmbarkJS from 'Embark/EmbarkJS'; import LPVault from 'Embark/contracts/LPVault'; import LiquidPledgingMock from 'Embark/contracts/LiquidPledgingMock'; import Button from '@material-ui/core/Button'; import TextField from '@material-ui/core/TextField'; import Snackbar from '@material-ui/core/Snackbar'; import web3 from "Embark/web3"; import { MySnackbarContentWrapper } from './base/SnackBars'; const { addGiver, numberOfPledgeAdmins, getPledgeAdmin } = LiquidPledgingMock.methods; const hoursToSeconds = hours => hours * 60 * 60; const addFunderSucessMsg = response => { const { events: { GiverAdded: { returnValues: { idGiver } } } } = response; return `Funder created with ID of ${idGiver}`; } const AddFunder = () => ( { const { funderName, funderProfile, commitTime } = values; const account = await web3.eth.getCoinbase(); const args = [funderName, funderProfile, commitTime, 0]; addGiver(...args) .estimateGas({ from: account }) .then(async gas => { addGiver(...args) .send({ from: account, gas: gas + 100 }) .then(res => { console.log({res}) setStatus({ snackbar: { variant: 'success', message: addFunderSucessMsg(res) } }) }) .catch(e => { console.log({e}) setStatus({ snackbar: { variant: 'error', message: 'There was an error' } }) }) }) }} > {({ values, errors, touched, handleChange, handleBlur, handleSubmit, setFieldValue, setStatus, status }) => (
{status && setStatus(null)} > setStatus(null)} variant={status.snackbar.variant} message={status.snackbar.message} /> } )}
) export default AddFunder;