import UsernameRegistrar from 'Embark/contracts/UsernameRegistrar'; import web3 from 'web3'; import React from 'react'; import { Button } from 'react-bootstrap'; import FieldGroup from '../standard/FieldGroup'; import { withFormik } from 'formik'; const InnerForm = ({ values, errors, handleChange, handleBlur, handleSubmit, isSubmitting, }) => (
) const UpdateController = withFormik({ mapPropsToValues: props => ({ newAddress: '' }), async validate(values) { const { utils: { isAddress } } = web3; const { newAddress } = values; const errors = {}; if (!isAddress(newAddress)) errors.newAddress = 'Please enter a valid address' if (Object.keys(errors).length) throw errors; }, async handleSubmit(values, { setSubmitting }) { const { newAddress } = values; const { methods: { changeController } } = UsernameRegistrar; changeController(newAddress) .send() .then((res) => { setSubmitting(false); console.log(res); }) .catch((err) => { setSubmitting(false); console.log(err); }) } })(InnerForm); export default UpdateController;