Skip to content

Commit

Permalink
feat(pages): add verify page
Browse files Browse the repository at this point in the history
  • Loading branch information
Poafs1 committed Jan 9, 2025
1 parent e59f716 commit 5bf33a3
Show file tree
Hide file tree
Showing 4 changed files with 8 additions and 50 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ export const NotVerifiedDetails = ({

const handleNavigate = () =>
navigate({
pathname: "/evm-contracts/[contractAddress]/verify",
pathname: "/evm-contracts/verify",
query: { contractAddress },
});

Expand Down
56 changes: 7 additions & 49 deletions src/lib/pages/evm-contract-verify/index.tsx
Original file line number Diff line number Diff line change
@@ -1,70 +1,28 @@
import { useConvertHexAddress, useEvmConfig } from "lib/app-provider";
import { zEvmContractVerifyQueryParams } from "./types";
import { useEvmConfig } from "lib/app-provider";
import { useRouter } from "next/router";
import { useEffect } from "react";
import { track } from "@amplitude/analytics-browser";
import { AmpEvent } from "lib/amplitude";
import PageContainer from "lib/components/PageContainer";
import { isHexWalletAddress } from "lib/utils";
import { ErrorFetching, InvalidState } from "lib/components/state";
import { HexAddr20 } from "lib/types";
import { useEvmCodesByAddress } from "lib/services/evm";
import { Loading } from "lib/components/Loading";
import { CelatoneSeo } from "lib/components/Seo";
import { truncate } from "lodash";
import { Stack } from "@chakra-ui/react";
import { EvmContractVerifyTop } from "./components/EvmContractVerifyTop";

const InvalidContract = () => <InvalidState title="Contract does not exist" />;

interface EvmContractVerifyBodyProps {
contractAddress: HexAddr20;
}

const EvmContractVerifyBody = ({
contractAddress,
}: EvmContractVerifyBodyProps) => {
// const { convertHexWalletAddress } = useConvertHexAddress();
// const contractAddressBechAddr = convertHexWalletAddress(contractAddress);

const { data: evmCodesByAddressData, isLoading: isEvmCodesByAddressLoading } =
useEvmCodesByAddress(contractAddress);

if (isEvmCodesByAddressLoading) return <Loading />;
if (!evmCodesByAddressData)
return <ErrorFetching dataName="evm contract information" />;
if (!evmCodesByAddressData.code) return <InvalidContract />;

return (
<>
<CelatoneSeo pageName={`EVM Contract – ${truncate(contractAddress)}`} />
<Stack gap={6}>
<EvmContractVerifyTop />
</Stack>
</>
);
};

export const EvmContractVerify = () => {
// useEvmConfig({ shouldRedirect: true });
useEvmConfig({ shouldRedirect: true });
const router = useRouter();

const validated = zEvmContractVerifyQueryParams.safeParse(router.query);

useEffect(() => {
if (router.isReady && validated.success)
track(AmpEvent.TO_EVM_CONTRACT_VERIFY);
if (router.isReady) track(AmpEvent.TO_EVM_CONTRACT_VERIFY);
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [router.isReady]);

return (
<PageContainer>
{!validated.success ||
!isHexWalletAddress(validated.data.contractAddress) ? (
<InvalidContract />
) : (
<EvmContractVerifyBody {...validated.data} />
)}
<CelatoneSeo pageName={`EVM Contract Verify`} />
<Stack gap={6}>
<EvmContractVerifyTop />
</Stack>
</PageContainer>
);
};
File renamed without changes.

0 comments on commit 5bf33a3

Please sign in to comment.