From 4bacc901dc8161d448e389c0d292f0d01b3c29c3 Mon Sep 17 00:00:00 2001 From: aleka Date: Thu, 19 Oct 2023 11:35:17 -0400 Subject: [PATCH] use wallet connect config from envs (#88) * use wallet connect config from envs * update readme --- README.md | 12 ++++++-- public/cbw-image.png | Bin 16476 -> 0 bytes src/hooks/useWalletConnection.ts | 11 +++++++- src/lib/wagmi.ts | 46 ++++++++++++++++++++++--------- 4 files changed, 53 insertions(+), 16 deletions(-) delete mode 100644 public/cbw-image.png diff --git a/README.md b/README.md index a9fe8e8..9eaf7f3 100644 --- a/README.md +++ b/README.md @@ -11,6 +11,7 @@ ## Prerequisites - Node.js version 18 and `pnpm` installed on your system +- Wallet Connect account For deploying with Vercel, create an account with [Vercel](https://vercel.com/signup) if you don't have one already. @@ -61,7 +62,14 @@ pnpm ladle This will automatically open your default browser at `http://localhost:61000`. -## Part 3: Deploying with Vercel +## Part 3: Configuring environment + +Add or modify the relevant endpoints, links and options in `/public/configs/env.json`. +You'll need to provide a Wallet Connect project id to enable onboarding and wallet connection: +- Create a project on https://cloud.walletconnect.com/app +- Copy over the project ID into this [field](https://github.com/dydxprotocol/v4-web/blob/67ecbd75b43e0c264b7b4d2d9b3d969830b0621c/public/configs/env.json#L822C33-L822C46) + +## Part 4: Deploying with Vercel ### Step 1: Connect your repository to Vercel @@ -78,7 +86,7 @@ If you wish to incorporate analytics via Amplitude and Bugsnag, you can use our For more details, check out Vercel's [official documentation](https://vercel.com/docs). -## Part 4: Deploying to IPFS +## Part 5: Deploying to IPFS ### web3.storage: deploy to IPFS via web3.storage using the provided script diff --git a/public/cbw-image.png b/public/cbw-image.png deleted file mode 100644 index d3d6ebce1d1e670f6f2f800da5d682287c31faee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16476 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 { // Wallet connection + const selectedNetwork = useSelector(getSelectedNetwork); + const walletConnectConfig = ENVIRONMENT_CONFIG_MAP[selectedNetwork].wallets.walletconnect; + const { connectAsync: connectWagmi } = walletType && walletConnectionType ? useConnectWagmi({ @@ -92,6 +99,7 @@ export const useWalletConnection = () => { walletConnection: { type: walletConnectionType, }, + walletConnectConfig, }), }) : useConnectWagmi(); @@ -127,6 +135,7 @@ export const useWalletConnection = () => { connector: resolveWagmiConnector({ walletType, walletConnection, + walletConnectConfig, }), }); } @@ -217,7 +226,7 @@ export const useWalletConnection = () => { evmAddressWagmi, signerWagmi, publicClientWagmi, - + // Wallet connection (Cosmos) dydxAddress, dydxAddressGraz, diff --git a/src/lib/wagmi.ts b/src/lib/wagmi.ts index 050a400..469a41f 100644 --- a/src/lib/wagmi.ts +++ b/src/lib/wagmi.ts @@ -95,15 +95,28 @@ const injectedConnectorOptions = { }, }; -const walletconnect2ConnectorOptions: ConstructorParameters[0] = { +type WalletConnectConfig = { + client: { + name: string; + description: string; + iconUrl: string; + }; + v2: { + projectId: string; + }; +}; + +const getWalletconnect2ConnectorOptions = ( + config: WalletConnectConfig +): ConstructorParameters[0] => ({ chains, options: { - projectId: import.meta.env.VITE_WALLETCONNECT2_PROJECT_ID, + projectId: config.v2.projectId, metadata: { - name: 'dYdX', - description: '', + name: config.client.name, + description: config.client.description, url: import.meta.env.VITE_BASE_URL, - icons: [`${import.meta.env.VITE_BASE_URL}/cbw-image.png}`], + icons: [config.client.iconUrl], }, showQrModal: true, qrModalOptions: { @@ -115,9 +128,9 @@ const walletconnect2ConnectorOptions: ConstructorParameters [ new MetaMaskConnector({ chains, options: { @@ -131,7 +144,7 @@ const connectors = [ reloadOnDisconnect: false, }, }), - new WalletConnectConnector(walletconnect2ConnectorOptions), + new WalletConnectConnector(getWalletconnect2ConnectorOptions(walletConnectConfig)), new InjectedConnector(injectedConnectorOptions), ]; @@ -153,27 +166,34 @@ const createInjectedConnectorWithProvider = (provider: ExternalProvider) => provider as unknown as Awaited>; })(injectedConnectorOptions) as InjectedConnector; -const createWalletConnect2ConnectorWithId = (walletconnect2Id: string) => - new WalletConnectConnector({ +const createWalletConnect2ConnectorWithId = ( + walletconnectId: string, + walletConnectConfig: WalletConnectConfig +) => { + const walletconnect2ConnectorOptions = getWalletconnect2ConnectorOptions(walletConnectConfig); + return new WalletConnectConnector({ ...walletconnect2ConnectorOptions, options: { ...walletconnect2ConnectorOptions.options, qrModalOptions: { ...walletconnect2ConnectorOptions.options.qrModalOptions, - explorerRecommendedWalletIds: [walletconnect2Id], + explorerRecommendedWalletIds: [walletconnectId], explorerExcludedWalletIds: 'ALL', }, }, }); +}; // Custom connector from wallet selection export const resolveWagmiConnector = ({ walletType, walletConnection, + walletConnectConfig, }: { walletType: WalletType; walletConnection: WalletConnection; + walletConnectConfig: WalletConnectConfig; }) => { const walletConfig = wallets[walletType]; const walletConnectionConfig = walletConnectionTypes[walletConnection.type]; @@ -181,6 +201,6 @@ export const resolveWagmiConnector = ({ return walletConnection.type === WalletConnectionType.InjectedEip1193 && walletConnection.provider ? createInjectedConnectorWithProvider(walletConnection.provider) : walletConnection.type === WalletConnectionType.WalletConnect2 && walletConfig.walletconnect2Id - ? createWalletConnect2ConnectorWithId(walletConfig.walletconnect2Id) - : connectors.find(({ id }: { id: string }) => id === walletConnectionConfig.wagmiConnectorId); + ? createWalletConnect2ConnectorWithId(walletConfig.walletconnect2Id, walletConnectConfig) + : getConnectors(walletConnectConfig).find(({ id }: { id: string }) => id === walletConnectionConfig.wagmiConnectorId); };