From 8e19f8012b7dae49fcf71d73b9bbbfc26adeef89 Mon Sep 17 00:00:00 2001 From: Aniket-Engg Date: Thu, 20 Apr 2023 19:06:35 +0530 Subject: [PATCH] off the event --- apps/etherscan/src/app/views/VerifyView.tsx | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/apps/etherscan/src/app/views/VerifyView.tsx b/apps/etherscan/src/app/views/VerifyView.tsx index 902a12b9bc..aa90d28aa7 100644 --- a/apps/etherscan/src/app/views/VerifyView.tsx +++ b/apps/etherscan/src/app/views/VerifyView.tsx @@ -1,4 +1,4 @@ -import React, { useRef, useState } from "react" +import React, { useEffect, useRef, useState } from "react" import { PluginClient, @@ -34,6 +34,18 @@ export const VerifyView: React.FC = ({ const [showConstructorArgs, setShowConstructorArgs] = useState(false) const verificationResult = useRef({}) + useEffect(() => { + if (client && client.on) { + client.on("blockchain" as any, 'networkStatus', (result) => { + setNetworkName(result.network.name) + }) + } + return () => { + // To fix memory leak + if (client && client.off) client.off("blockchain" as any, 'networkStatus') + } + }, [client]) + const onVerifyContract = async (values: FormValues) => { const compilationResult = (await client.call( "solidity", @@ -83,11 +95,6 @@ export const VerifyView: React.FC = ({ onSubmit={(values) => onVerifyContract(values)} > {({ errors, touched, handleSubmit, handleChange, isSubmitting }) => { - if (client && client.on) { - client.on("blockchain" as any, 'networkStatus', (result) => { - setNetworkName(result.network.name) - }) - } return (