From 07f65b2d220161e74adab152a9a2ed30c978a0c6 Mon Sep 17 00:00:00 2001 From: Iris Date: Thu, 12 Oct 2023 12:40:25 +0200 Subject: [PATCH] MEP 12/10/2023 (#239) * feat: add web wallet * fix: ordering wallet & move functions to utils * test: browserService * feat: add quiz imgs * fix: task opens on click verify button * fix: connectors as any (#240) --------- Co-authored-by: nicolasito1411 <60229704+Marchand-Nicolas@users.noreply.github.com> Co-authored-by: Fricoben <78437165+fricoben@users.noreply.github.com> --- components/UI/modalWallet.tsx | 18 ++++++++++++ components/UI/navbar.tsx | 13 ++++++--- components/UI/wallets.tsx | 43 ++++++++++++++++++++++++++--- components/quests/task.tsx | 6 ++-- hooks/useGetDiscoveryWallets.ts | 36 ++++++++++++++++++++++++ package.json | 1 + pages/_app.tsx | 11 ++++++-- public/starknet/aa.webp | Bin 0 -> 46248 bytes public/starknet/favicon.ico | Bin 0 -> 4286 bytes public/starknet/gigabrain.webp | Bin 0 -> 52206 bytes tests/utils/browserService.test.js | 28 +++++++++++++++++++ utils/browserService.ts | 9 ++++++ 12 files changed, 152 insertions(+), 13 deletions(-) create mode 100644 hooks/useGetDiscoveryWallets.ts create mode 100644 public/starknet/aa.webp create mode 100644 public/starknet/favicon.ico create mode 100644 public/starknet/gigabrain.webp create mode 100644 tests/utils/browserService.test.js create mode 100644 utils/browserService.ts diff --git a/components/UI/modalWallet.tsx b/components/UI/modalWallet.tsx index 707cb5af..6ecaa74e 100644 --- a/components/UI/modalWallet.tsx +++ b/components/UI/modalWallet.tsx @@ -34,6 +34,8 @@ const ModalWallet: FunctionComponent = ({ const network = process.env.NEXT_PUBLIC_IS_TESTNET === "true" ? "testnet" : "mainnet"; const transactions = useTransactions({ hashes, watch: true }); + // Argent web wallet is detectable only like this + const isWebWallet = (connector as any)?._wallet?.id === "argentWebWallet"; // TODO: Check for starknet react fix and delete that code useEffect(() => { @@ -110,6 +112,22 @@ const ModalWallet: FunctionComponent = ({ title="Copy Address" width="auto" /> + {isWebWallet && ( + + window.open( + network === "mainnet" + ? "https://web.argent.xyz" + : "https://web.hydrogen.argent47.net", + "_blank", + "noopener noreferrer" + ) + } + icon={} + title="Web wallet Dashboard" + width="auto" + /> + )}
My transactions
diff --git a/components/UI/navbar.tsx b/components/UI/navbar.tsx index 471d22eb..4092dd5b 100644 --- a/components/UI/navbar.tsx +++ b/components/UI/navbar.tsx @@ -34,7 +34,8 @@ const Navbar: FunctionComponent = () => { const [isConnected, setIsConnected] = useState(false); const [isWrongNetwork, setIsWrongNetwork] = useState(false); const [txLoading, setTxLoading] = useState(0); - const { available, connect, disconnect, connectors } = useConnectors(); + const { available, connect, disconnect, connectors, refresh } = + useConnectors(); const { provider } = useProvider(); const domainOrAddressMinified = useDisplayName(address ?? ""); const domain = useDomainFromAddress(address ?? "").domain; @@ -135,6 +136,12 @@ const Navbar: FunctionComponent = () => { return textToReturn; } + // Refresh available connectors before showing wallet modal + function refreshAndShowWallet(): void { + refresh(); + setHasWallet(true); + } + const handleScroll = () => { if (window.scrollY > 10) { setNavbarBg(true); @@ -187,9 +194,7 @@ const Navbar: FunctionComponent = () => { onClick={ isConnected ? () => setShowWallet(true) - : available.length === 1 - ? () => connect(available[0]) - : () => setHasWallet(true) + : () => refreshAndShowWallet() } > {isConnected ? ( diff --git a/components/UI/wallets.tsx b/components/UI/wallets.tsx index 43e2d4b8..46b8f63e 100644 --- a/components/UI/wallets.tsx +++ b/components/UI/wallets.tsx @@ -1,10 +1,12 @@ import React from "react"; import styles from "../../styles/components/wallets.module.css"; -import { useAccount, useConnectors } from "@starknet-react/core"; +import { Connector, useAccount, useConnectors } from "@starknet-react/core"; import Button from "./button"; import { FunctionComponent, useEffect } from "react"; import { Modal } from "@mui/material"; import WalletIcons from "./iconsComponents/icons/walletIcons"; +import getDiscoveryWallets from "get-starknet-core"; +import useGetDiscoveryWallets from "../../hooks/useGetDiscoveryWallets"; type WalletsProps = { closeWallet: () => void; @@ -15,8 +17,11 @@ const Wallets: FunctionComponent = ({ closeWallet, hasWallet, }) => { - const { connect, connectors, refresh } = useConnectors(); + const { connect, connectors } = useConnectors(); const { account } = useAccount(); + const downloadLinks = useGetDiscoveryWallets( + getDiscoveryWallets.getDiscoveryWallets() + ); useEffect(() => { if (account) { @@ -24,6 +29,11 @@ const Wallets: FunctionComponent = ({ } }, [account, closeWallet]); + function connectWallet(connector: Connector): void { + connect(connector); + closeWallet(); + } + return ( = ({ if (connector.available()) { return (
-
); + } else { + if (connector.id === "braavos" || connector.id === "argentX") { + return ( +
+ +
+ ); + } } })}
diff --git a/components/quests/task.tsx b/components/quests/task.tsx index 368e09e6..4da9885e 100644 --- a/components/quests/task.tsx +++ b/components/quests/task.tsx @@ -49,9 +49,8 @@ const Task: FunctionComponent = ({ }; // A verify function that setIsVerified(true) and stop propagation - const verify = async (e?: React.MouseEvent) => { + const verify = async () => { checkCanDoTask(); - if (e) e.stopPropagation(); setIsLoading(true); if (verifyEndpointType.startsWith("oauth")) { @@ -159,11 +158,12 @@ const Task: FunctionComponent = ({ ) : (
{ + e.stopPropagation(); if (!address) return setError("Please connect your wallet first"); if (!hasRootDomain) return setShowDomainPopup(true); if (verifyEndpointType === "quiz") return openTask(); if (verifyRedirect) window.open(verifyRedirect); - verify(e); + verify(); }} className={styles.verifyButton} > diff --git a/hooks/useGetDiscoveryWallets.ts b/hooks/useGetDiscoveryWallets.ts new file mode 100644 index 00000000..efb26b47 --- /dev/null +++ b/hooks/useGetDiscoveryWallets.ts @@ -0,0 +1,36 @@ +import { useEffect, useState } from "react"; +import { WalletProvider } from "get-starknet-core"; +import { getBrowser } from "../utils/browserService"; + +export default function useGetDiscoveryWallets( + getDiscoveryWallets: Promise +) { + const [argentX, setArgentX] = useState(""); + const [braavos, setBraavos] = useState(""); + + useEffect(() => { + if (typeof navigator !== "undefined") { + getDiscoveryWallets.then((wallets) => { + const browser = getBrowser(navigator.userAgent); + + wallets.map((wallet) => { + if (wallet.id === "argentX") { + setArgentX( + browser + ? wallet.downloads[browser as keyof typeof wallet.downloads] + : "https://www.argent.xyz/argent-x/" + ); + } else if (wallet.id === "braavos") { + setBraavos( + browser + ? wallet.downloads[browser as keyof typeof wallet.downloads] + : "https://braavos.app/download-braavos-wallet/" + ); + } + }); + }); + } + }, [getDiscoveryWallets]); + + return { argentX, braavos }; +} diff --git a/package.json b/package.json index 4684ce8e..5c3f36be 100644 --- a/package.json +++ b/package.json @@ -11,6 +11,7 @@ "prettier": "prettier --write '**/*.{ts,tsx,css}'" }, "dependencies": { + "@argent/starknet-react-webwallet-connector": "^6.5.0", "@emotion/react": "^11.10.0", "@emotion/styled": "^11.10.0", "@mui/icons-material": "^5.8.4", diff --git a/pages/_app.tsx b/pages/_app.tsx index 72146fd7..94131e33 100644 --- a/pages/_app.tsx +++ b/pages/_app.tsx @@ -10,12 +10,19 @@ import { StarknetIdJsProvider } from "../context/StarknetIdJsProvider"; import { createTheme } from "@mui/material/styles"; import Footer from "../components/UI/footer"; import { QuestsContextProvider } from "../context/QuestsProvider"; +import { WebWalletConnector } from "@argent/starknet-react-webwallet-connector"; function MyApp({ Component, pageProps }: AppProps) { const connectors = useMemo( () => [ - new InjectedConnector({ options: { id: "argentX" } }), new InjectedConnector({ options: { id: "braavos" } }), + new InjectedConnector({ options: { id: "argentX" } }), + new WebWalletConnector({ + url: + process.env.NEXT_PUBLIC_IS_TESTNET === "true" + ? "https://web.hydrogen.argent47.net" + : "https://web.argent.xyz/", + }), ], [] ); @@ -37,7 +44,7 @@ function MyApp({ Component, pageProps }: AppProps) { }); return ( - + diff --git a/public/starknet/aa.webp b/public/starknet/aa.webp new file mode 100644 index 0000000000000000000000000000000000000000..3623217dcb1cfdfdb3eaa110aa204b15bfc18669 GIT binary patch literal 46248 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 literal 0 HcmV?d00001 diff --git a/public/starknet/favicon.ico b/public/starknet/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..e0d6c00c0a17a47cab15cc452d3927e6f0f8ca35 GIT binary patch literal 4286 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 { + it("Should return Chrome", () => { + expect( + getBrowser( + "userAgent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36" + ) + ).toEqual( + "chrome" + ); + }); + + it("Should return firefox", () => { + expect( + getBrowser( + "userAgent Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:109.0) Gecko/20100101 Firefox/116.0" + ) + ).toEqual("firefox"); + }); + + it("Should return an undefined if it's another browser or an empty string", () => { + expect(getBrowser("Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.2 Safari/605.1.15")).toEqual(undefined); + expect(getBrowser("")).toEqual(undefined); + }); +}); diff --git a/utils/browserService.ts b/utils/browserService.ts new file mode 100644 index 00000000..26f451ca --- /dev/null +++ b/utils/browserService.ts @@ -0,0 +1,9 @@ +export function getBrowser(userAgent: string): string | undefined { + if (userAgent.includes("Chrome")) { + return "chrome"; + } else if (userAgent.includes("Firefox")) { + return "firefox"; + } else { + return undefined; + } +}