diff --git a/apps/web/src/components/SendFlow/common/Header.tsx b/apps/web/src/components/SendFlow/common/Header.tsx index c032a227d..c806f3156 100644 --- a/apps/web/src/components/SendFlow/common/Header.tsx +++ b/apps/web/src/components/SendFlow/common/Header.tsx @@ -3,6 +3,7 @@ import { capitalize } from "lodash"; import { CodeSandboxIcon } from "../../../assets/icons"; import { useColor } from "../../../styles/useColor"; +import { VerifyInfobox } from "../../WalletConnect/VerifyInfobox"; import { SignPageHeader } from "../SignPageHeader"; import { type SignHeaderProps } from "../utils"; @@ -10,33 +11,41 @@ export const Header = ({ headerProps }: { headerProps: SignHeaderProps }) => { const color = useColor(); return ( - - - - Network: - - - {capitalize(headerProps.network.name)} - - + <> + + + + Network: + + + {capitalize(headerProps.network.name)} + + - - - } - src={headerProps.appIcon} - /> - - {headerProps.appName} - - + + + } + src={headerProps.appIcon} + /> + + {headerProps.appName} + + + {headerProps.requestId.sdkType === "walletconnect" ? ( + + ) : null} + ); }; diff --git a/apps/web/src/components/SendFlow/common/TezSignPage.test.tsx b/apps/web/src/components/SendFlow/common/TezSignPage.test.tsx index 682c7832d..407e910d6 100644 --- a/apps/web/src/components/SendFlow/common/TezSignPage.test.tsx +++ b/apps/web/src/components/SendFlow/common/TezSignPage.test.tsx @@ -73,6 +73,8 @@ describe("", () => { expect(screen.getByText("Ghostnet")).toBeInTheDocument(); expect(screen.queryByText("Mainnet")).not.toBeInTheDocument(); + expect(screen.queryByText("verifyinfobox")).not.toBeInTheDocument(); + const signButton = screen.getByRole("button", { name: "Confirm Transaction", }); diff --git a/apps/web/src/components/SendFlow/utils.tsx b/apps/web/src/components/SendFlow/utils.tsx index 45a54f254..2b77f88f7 100644 --- a/apps/web/src/components/SendFlow/utils.tsx +++ b/apps/web/src/components/SendFlow/utils.tsx @@ -76,6 +76,8 @@ export type SignHeaderProps = { network: Network; appName: string; appIcon?: string; + isScam?: boolean; + validationStatus?: "VALID" | "INVALID" | "UNKNOWN"; requestId: SignRequestId; }; @@ -89,6 +91,8 @@ export type SignPayloadProps = { appName: string; appIcon?: string; payload: string; + isScam?: boolean; + validationStatus?: "VALID" | "INVALID" | "UNKNOWN"; signer: ImplicitAccount; signingType: SigningType; }; diff --git a/apps/web/src/components/WalletConnect/ProjectInfoCard.tsx b/apps/web/src/components/WalletConnect/ProjectInfoCard.tsx index 78cc0ce66..04b850952 100644 --- a/apps/web/src/components/WalletConnect/ProjectInfoCard.tsx +++ b/apps/web/src/components/WalletConnect/ProjectInfoCard.tsx @@ -1,8 +1,6 @@ -import { Avatar, Box, Card, Flex, Icon, Link, Text } from "@chakra-ui/react"; +import { Avatar, Box, Card, Link, Text } from "@chakra-ui/react"; import { type SignClientTypes } from "@walletconnect/types"; -import { PencilIcon } from "../../assets/icons"; - type Props = { metadata: SignClientTypes.Metadata; intention?: string; @@ -38,10 +36,6 @@ export const ProjectInfoCard = ({ metadata, intention }: Props) => { {url} - - - Cannot Verify: to be implemented - ); }; diff --git a/apps/web/src/components/WalletConnect/SessionProposalModal.tsx b/apps/web/src/components/WalletConnect/SessionProposalModal.tsx index 0122248b5..91b7c4c18 100644 --- a/apps/web/src/components/WalletConnect/SessionProposalModal.tsx +++ b/apps/web/src/components/WalletConnect/SessionProposalModal.tsx @@ -22,7 +22,7 @@ import { useToggleWcPeerListUpdated, walletKit, } from "@umami/state"; -import { type SessionTypes } from "@walletconnect/types"; +import { type SessionTypes, type Verify } from "@walletconnect/types"; import { buildApprovedNamespaces, getSdkError } from "@walletconnect/utils"; import { FormProvider, useForm } from "react-hook-form"; @@ -46,6 +46,10 @@ export const SessionProposalModal = ({ const { onClose } = useDynamicModalContext(); const { isLoading, handleAsyncAction } = useAsyncActionHandler(); + const verifyContext: Verify.Context = proposal.verifyContext; + const isScam = verifyContext.verified.isScam ?? false; + const validationStatus = verifyContext.verified.validation; + const form = useForm<{ address: string }>({ mode: "onBlur", }); @@ -97,6 +101,7 @@ export const SessionProposalModal = ({ + Requested permissions @@ -132,7 +137,6 @@ export const SessionProposalModal = ({ {network} - @@ -141,7 +145,7 @@ export const SessionProposalModal = ({