From 78682a90af86968dff4bd44f140cc54b98ce8eae Mon Sep 17 00:00:00 2001 From: fernandomg Date: Wed, 3 Jun 2020 16:30:09 -0300 Subject: [PATCH] add decorator to extract eth address from ENS for contract address --- .../screens/ContractInteraction/index.tsx | 4 ++-- .../ContractInteraction/utils/index.ts | 23 ++++++++++++++++++- 2 files changed, 24 insertions(+), 3 deletions(-) diff --git a/src/routes/safe/components/Balances/SendModal/screens/ContractInteraction/index.tsx b/src/routes/safe/components/Balances/SendModal/screens/ContractInteraction/index.tsx index 833d251d..08fc5267 100644 --- a/src/routes/safe/components/Balances/SendModal/screens/ContractInteraction/index.tsx +++ b/src/routes/safe/components/Balances/SendModal/screens/ContractInteraction/index.tsx @@ -18,7 +18,7 @@ import Header from './Header' import MethodsDropdown from './MethodsDropdown' import RenderInputParams from './RenderInputParams' import RenderOutputParams from './RenderOutputParams' -import { abiExtractor, createTxObject, formMutators, handleSubmitError, isReadMethod } from './utils' +import { abiExtractor, createTxObject, formMutators, handleSubmitError, isReadMethod, ensResolver } from './utils' const useStyles = makeStyles(styles) @@ -73,7 +73,7 @@ const ContractInteraction = ({ contractAddress, initialValues, onClose, onNext }
{ + try { + const resolvedAddress = isValidEnsName(contractAddress) && (await getAddressFromENS(contractAddress)) + + if (resolvedAddress) { + return resolvedAddress + } + } catch (e) { + console.error(e.message) + return contractAddress + } + + return contractAddress + }, + }, +}) + export const formMutators = { setMax: (args, state, utils) => { utils.changeValue(state, 'value', () => args[0])