From 5c60239e2caec11d4e7c1711cd5572763f5ecab4 Mon Sep 17 00:00:00 2001 From: MK <53529533+magiziz@users.noreply.github.com> Date: Wed, 27 Mar 2024 19:31:24 +0000 Subject: [PATCH] feat: `oneInchWallet` (1inch Wallet) (#1876) * feat: oneInchWallet * fix: 1inch svg * fix: bitverse, bybit --------- Co-authored-by: Magomed Khamidov <53529533+KosmosKey@users.noreply.github.com> Co-authored-by: Daniel Sinclair --- .changeset/tidy-shrimps-cross.md | 7 +++ packages/example/pages/_app.tsx | 2 + packages/rainbowkit/src/locales/en_US.json | 17 +++++++ .../bitverseWallet/bitverseWallet.svg | 2 +- .../bybitWallet/bybitWallet.svg | 2 +- .../src/wallets/walletConnectors/index.ts | 2 + .../oneInchWallet/oneInchWallet.svg | 1 + .../oneInchWallet/oneInchWallet.ts | 50 +++++++++++++++++++ site/data/en-US/docs/custom-wallet-list.mdx | 6 +++ 9 files changed, 87 insertions(+), 2 deletions(-) create mode 100644 .changeset/tidy-shrimps-cross.md create mode 100644 packages/rainbowkit/src/wallets/walletConnectors/oneInchWallet/oneInchWallet.svg create mode 100644 packages/rainbowkit/src/wallets/walletConnectors/oneInchWallet/oneInchWallet.ts diff --git a/.changeset/tidy-shrimps-cross.md b/.changeset/tidy-shrimps-cross.md new file mode 100644 index 0000000000..bdd151faf4 --- /dev/null +++ b/.changeset/tidy-shrimps-cross.md @@ -0,0 +1,7 @@ +--- +"@rainbow-me/rainbowkit": patch +"example": patch +"site": patch +--- + +Added 1inch Wallet support with `oneInchWallet` wallet connector diff --git a/packages/example/pages/_app.tsx b/packages/example/pages/_app.tsx index 8f42c46fb3..d64a92c4c2 100644 --- a/packages/example/pages/_app.tsx +++ b/packages/example/pages/_app.tsx @@ -41,6 +41,7 @@ import { oktoWallet, okxWallet, omniWallet, + oneInchWallet, oneKeyWallet, phantomWallet, rabbyWallet, @@ -176,6 +177,7 @@ const config = getDefaultConfig({ oktoWallet, okxWallet, omniWallet, + oneInchWallet, oneKeyWallet, phantomWallet, rabbyWallet, diff --git a/packages/rainbowkit/src/locales/en_US.json b/packages/rainbowkit/src/locales/en_US.json index ef307efccb..fa47f0b907 100644 --- a/packages/rainbowkit/src/locales/en_US.json +++ b/packages/rainbowkit/src/locales/en_US.json @@ -649,6 +649,23 @@ } }, + "1inch": { + "qr_code": { + "step1": { + "description": "Put 1inch Wallet on your home screen for faster access to your wallet.", + "title": "Open the 1inch Wallet app" + }, + "step2": { + "description": "Create a wallet and username, or import an existing wallet.", + "title": "Create or Import a Wallet" + }, + "step3": { + "description": "After you scan, a connection prompt will appear for you to connect your wallet.", + "title": "Tap the Scan QR button" + } + } + }, + "token_pocket": { "qr_code": { "step1": { diff --git a/packages/rainbowkit/src/wallets/walletConnectors/bitverseWallet/bitverseWallet.svg b/packages/rainbowkit/src/wallets/walletConnectors/bitverseWallet/bitverseWallet.svg index be72525bfe..6d468aedd1 100644 --- a/packages/rainbowkit/src/wallets/walletConnectors/bitverseWallet/bitverseWallet.svg +++ b/packages/rainbowkit/src/wallets/walletConnectors/bitverseWallet/bitverseWallet.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/packages/rainbowkit/src/wallets/walletConnectors/bybitWallet/bybitWallet.svg b/packages/rainbowkit/src/wallets/walletConnectors/bybitWallet/bybitWallet.svg index 3573403ad3..8b21e8dda0 100644 --- a/packages/rainbowkit/src/wallets/walletConnectors/bybitWallet/bybitWallet.svg +++ b/packages/rainbowkit/src/wallets/walletConnectors/bybitWallet/bybitWallet.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/packages/rainbowkit/src/wallets/walletConnectors/index.ts b/packages/rainbowkit/src/wallets/walletConnectors/index.ts index 93434fd9f6..4c22fee92e 100644 --- a/packages/rainbowkit/src/wallets/walletConnectors/index.ts +++ b/packages/rainbowkit/src/wallets/walletConnectors/index.ts @@ -25,6 +25,7 @@ import { mewWallet } from './mewWallet/mewWallet'; import { oktoWallet } from './oktoWallet/oktoWallet'; import { okxWallet } from './okxWallet/okxWallet'; import { omniWallet } from './omniWallet/omniWallet'; +import { oneInchWallet } from './oneInchWallet/oneInchWallet'; import { oneKeyWallet } from './oneKeyWallet/oneKeyWallet'; import { phantomWallet } from './phantomWallet/phantomWallet'; import { rabbyWallet } from './rabbyWallet/rabbyWallet'; @@ -74,6 +75,7 @@ export { oktoWallet, okxWallet, omniWallet, + oneInchWallet, oneKeyWallet, phantomWallet, rabbyWallet, diff --git a/packages/rainbowkit/src/wallets/walletConnectors/oneInchWallet/oneInchWallet.svg b/packages/rainbowkit/src/wallets/walletConnectors/oneInchWallet/oneInchWallet.svg new file mode 100644 index 0000000000..b74c662b7a --- /dev/null +++ b/packages/rainbowkit/src/wallets/walletConnectors/oneInchWallet/oneInchWallet.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/rainbowkit/src/wallets/walletConnectors/oneInchWallet/oneInchWallet.ts b/packages/rainbowkit/src/wallets/walletConnectors/oneInchWallet/oneInchWallet.ts new file mode 100644 index 0000000000..b46154c25d --- /dev/null +++ b/packages/rainbowkit/src/wallets/walletConnectors/oneInchWallet/oneInchWallet.ts @@ -0,0 +1,50 @@ +import { DefaultWalletOptions, Wallet } from '../../Wallet'; +import { getWalletConnectConnector } from '../../getWalletConnectConnector'; + +export type OneInchWalletOptions = DefaultWalletOptions; + +export const oneInchWallet = ({ + projectId, + walletConnectParameters, +}: OneInchWalletOptions): Wallet => ({ + id: '1inch', + name: '1inch Wallet', + iconUrl: async () => (await import('./oneInchWallet.svg')).default, + iconBackground: '#fff', + downloadUrls: { + android: 'https://play.google.com/store/apps/details?id=io.oneinch.android', + ios: 'https://apps.apple.com/us/app/1inch-crypto-defi-wallet/id1546049391', + mobile: 'https://1inch.io/wallet', + qrCode: 'https://1inch.io/wallet', + }, + mobile: { + getUri: (uri: string) => `oneinch://wc?uri=${encodeURIComponent(uri)}`, + }, + qrCode: { + getUri: (uri: string) => uri, + instructions: { + learnMoreUrl: 'https://1inch.io/wallet', + steps: [ + { + description: 'wallet_connectors.1inch.qr_code.step1.description', + step: 'install', + title: 'wallet_connectors.1inch.qr_code.step1.title', + }, + { + description: 'wallet_connectors.1inch.qr_code.step2.description', + step: 'create', + title: 'wallet_connectors.1inch.qr_code.step2.title', + }, + { + description: 'wallet_connectors.1inch.qr_code.step3.description', + step: 'scan', + title: 'wallet_connectors.1inch.qr_code.step3.title', + }, + ], + }, + }, + createConnector: getWalletConnectConnector({ + projectId, + walletConnectParameters, + }), +}); diff --git a/site/data/en-US/docs/custom-wallet-list.mdx b/site/data/en-US/docs/custom-wallet-list.mdx index 86197b4534..212d947126 100644 --- a/site/data/en-US/docs/custom-wallet-list.mdx +++ b/site/data/en-US/docs/custom-wallet-list.mdx @@ -236,6 +236,12 @@ import { okxWallet } from '@rainbow-me/rainbowkit/wallets'; import { omniWallet } from '@rainbow-me/rainbowkit/wallets'; ``` +#### 1inch Wallet + +```tsx +import { oneInchWallet } from '@rainbow-me/rainbowkit/wallets'; +``` + #### OneKey ```tsx