diff --git a/apps/contract-verification/src/app/components/ConstructorArguments.tsx b/apps/contract-verification/src/app/components/ConstructorArguments.tsx index 46fa9822a7b..36aab2c6d2b 100644 --- a/apps/contract-verification/src/app/components/ConstructorArguments.tsx +++ b/apps/contract-verification/src/app/components/ConstructorArguments.tsx @@ -44,12 +44,16 @@ export const ConstructorArguments: React.FC = ({ abiE const constructorArgsInInitialState = useRef(true) useEffect(() => { + // Ensures that error is not reset when tabs are switched + if ((!abiEncodingError && !abiEncodedConstructorArgs) || !constructorArgsInInitialState.current) { + setAbiEncodingError(constructorArgs?.length === 0 ? '' : 'Some constructor arguments are missing') + } + if (constructorArgsInInitialState.current) { constructorArgsInInitialState.current = false return } setAbiEncodedConstructorArgs('') - setAbiEncodingError('') setConstructorArgsValues(Array(constructorArgs?.length ?? 0).fill('')) }, [constructorArgs]) @@ -60,7 +64,7 @@ export const ConstructorArguments: React.FC = ({ abiE // if any constructorArgsValue is falsey (empty etc.), don't encode yet if (changedConstructorArgsValues.some((value) => !value)) { setAbiEncodedConstructorArgs('') - setAbiEncodingError('') + setAbiEncodingError('Some constructor arguments are missing') return } @@ -112,7 +116,7 @@ export const ConstructorArguments: React.FC = ({ abiE
{' '}