From 2fe717160f44a8abde252fcb68fcb1298c731f25 Mon Sep 17 00:00:00 2001 From: Vladislav <51202067+vampik33@users.noreply.github.com> Date: Mon, 16 Oct 2023 20:47:17 +0300 Subject: [PATCH] #9901 - Fix issue with Contracts tab for polkadot-v1.0.0 based chain (#9951) * #9901 - Fix issue with Contracts tab for polkadot-v1.0.0 based chain * #9901 - Fix to support both pre and post polkadot-v1.0.0 --- packages/page-contracts/src/Codes/Code.tsx | 2 +- packages/page-contracts/src/Codes/ValidateCode.tsx | 6 +++--- packages/page-contracts/src/Contracts/Summary.tsx | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/page-contracts/src/Codes/Code.tsx b/packages/page-contracts/src/Codes/Code.tsx index 2f352d4cd0..ef46ed480d 100644 --- a/packages/page-contracts/src/Codes/Code.tsx +++ b/packages/page-contracts/src/Codes/Code.tsx @@ -24,7 +24,7 @@ interface Props { function Code ({ className, code, onShowDeploy }: Props): React.ReactElement { const { t } = useTranslation(); const { api } = useApi(); - const optCode = useCall>(api.query.contracts.codeStorage, [code.json.codeHash]); + const optCode = useCall>(api.query.contracts.pristineCode || api.query.contracts.codeStorage, [code.json.codeHash]); const [isForgetOpen, toggleIsForgetOpen] = useToggle(); const { contractAbi } = useAbi([code.json.abi, code.contractAbi], code.json.codeHash, true); diff --git a/packages/page-contracts/src/Codes/ValidateCode.tsx b/packages/page-contracts/src/Codes/ValidateCode.tsx index 5233c7d868..c5f6e7c2b7 100644 --- a/packages/page-contracts/src/Codes/ValidateCode.tsx +++ b/packages/page-contracts/src/Codes/ValidateCode.tsx @@ -22,11 +22,11 @@ interface Props { function ValidateCode ({ codeHash, onChange }: Props): React.ReactElement | null { const { api } = useApi(); const { t } = useTranslation(); - const codeStorage = useCall>((api.query.contracts || api.query.contract).codeStorage, [codeHash]); + const optCode = useCall>((api.query.contracts || api.query.contract).pristineCode || (api.query.contracts || api.query.contract).codeStorage, [codeHash]); const [isValidHex, isValid] = useMemo( (): [boolean, boolean] => { const isValidHex = !!codeHash && isHex(codeHash) && codeHash.length === 66; - const isStored = !!codeStorage && codeStorage.isSome; + const isStored = !!optCode && optCode.isSome; const isValid = isValidHex && isStored; onChange(isValid); @@ -36,7 +36,7 @@ function ValidateCode ({ codeHash, onChange }: Props): React.ReactElement isValid ]; }, - [codeHash, codeStorage, onChange] + [codeHash, optCode, onChange] ); if (isValid || !isValidHex) { diff --git a/packages/page-contracts/src/Contracts/Summary.tsx b/packages/page-contracts/src/Contracts/Summary.tsx index ba91005334..5e8c4b174c 100644 --- a/packages/page-contracts/src/Contracts/Summary.tsx +++ b/packages/page-contracts/src/Contracts/Summary.tsx @@ -30,7 +30,7 @@ function Summary ({ trigger }: Props): React.ReactElement { }, [api, accountCounter]); useEffect((): void => { - api.query.contracts.codeStorage + (api.query.contracts.pristineCode || api.query.contracts.codeStorage) .keys() .then((arr) => setNumHashes(arr.length)) .catch(console.error);