From a1f2772d63990cc48e56f6ad68395bd7ced254bc Mon Sep 17 00:00:00 2001 From: Daniel Sinclair Date: Wed, 18 Jan 2023 19:41:32 -0500 Subject: [PATCH 1/3] feat: rainbow injected provider support --- packages/injected/src/constants.ts | 3 +- packages/injected/src/icons/rainbow.ts | 66 ++++++++++++++++++++++++++ packages/injected/src/types.ts | 6 ++- packages/injected/src/wallets.ts | 13 ++++- 4 files changed, 84 insertions(+), 4 deletions(-) create mode 100644 packages/injected/src/icons/rainbow.ts diff --git a/packages/injected/src/constants.ts b/packages/injected/src/constants.ts index 53ede9960..8f6d749bf 100644 --- a/packages/injected/src/constants.ts +++ b/packages/injected/src/constants.ts @@ -16,5 +16,6 @@ export const WALLET_NAMES: { [key: string]: string } = { bitkeep: 'BitKeep', sequence: 'Sequence', core: 'Core', - enkrypt: 'Enkrypt' + enkrypt: 'Enkrypt', + rainbow: 'Rainbow' } diff --git a/packages/injected/src/icons/rainbow.ts b/packages/injected/src/icons/rainbow.ts new file mode 100644 index 000000000..1610bfcd1 --- /dev/null +++ b/packages/injected/src/icons/rainbow.ts @@ -0,0 +1,66 @@ +export default ` + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +` diff --git a/packages/injected/src/types.ts b/packages/injected/src/types.ts index 81dde19ec..c0e34b3d5 100644 --- a/packages/injected/src/types.ts +++ b/packages/injected/src/types.ts @@ -51,7 +51,8 @@ export enum ProviderIdentityFlag { Bitski = 'isBitski', Enkrypt = 'isEnkrypt', Zeal = 'isZeal', - Phantom = 'isPhantom' + Phantom = 'isPhantom', + Rainbow = 'isRainbow' } export enum ProviderLabel { @@ -93,7 +94,8 @@ export enum ProviderLabel { Core = 'Core', Enkrypt = 'Enkrypt', Zeal = 'Zeal', - Phantom = 'Phantom' + Phantom = 'Phantom', + Rainbow = 'Rainbow' } export interface MeetOneProvider extends ExternalProvider { diff --git a/packages/injected/src/wallets.ts b/packages/injected/src/wallets.ts index 8c7a0f147..11e92521e 100644 --- a/packages/injected/src/wallets.ts +++ b/packages/injected/src/wallets.ts @@ -653,6 +653,16 @@ const phantom: InjectedWalletModule = { platforms: ['all'] } +const rainbow: InjectedWalletModule = { + label: ProviderLabel.Rainbow, + injectedNamespace: InjectedNameSpace.Ethereum, + checkProviderIdentity: ({ provider }) => + !!provider && !!provider[ProviderIdentityFlag.Rainbow], + getIcon: async () => (await import('./icons/rainbow.js')).default, + getInterface: getInjectedInterface(ProviderIdentityFlag.Rainbow), + platforms: ['all'] +} + const wallets = [ zeal, exodus, @@ -690,7 +700,8 @@ const wallets = [ core, bitski, enkrypt, - phantom + phantom, + rainbow ] export default wallets From e927dbde72f5cf3c57d032a12ae4baae74c78443 Mon Sep 17 00:00:00 2001 From: Daniel Sinclair Date: Wed, 18 Jan 2023 19:53:07 -0500 Subject: [PATCH 2/3] bumped @web3-onboard/injected-wallets version --- packages/demo/package.json | 2 +- packages/injected/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/demo/package.json b/packages/demo/package.json index 5a3e2f9fe..984b5b046 100644 --- a/packages/demo/package.json +++ b/packages/demo/package.json @@ -31,7 +31,7 @@ "@web3-onboard/fortmatic": "^2.0.14", "@web3-onboard/gas": "^2.1.3", "@web3-onboard/gnosis": "^2.1.5", - "@web3-onboard/injected-wallets": "^2.6.0-alpha.3", + "@web3-onboard/injected-wallets": "^2.6.0-alpha.4", "@web3-onboard/keepkey": "^2.3.2", "@web3-onboard/keystone": "^2.3.2", "@web3-onboard/ledger": "^2.4.1-alpha.1", diff --git a/packages/injected/package.json b/packages/injected/package.json index 9f86b1781..7f2f72c59 100644 --- a/packages/injected/package.json +++ b/packages/injected/package.json @@ -1,6 +1,6 @@ { "name": "@web3-onboard/injected-wallets", - "version": "2.6.0-alpha.3", + "version": "2.6.0-alpha.4", "description": "Injected wallet module for connecting browser extension and mobile wallets to Web3-Onboard. Web3-Onboard makes it simple to connect Ethereum hardware and software wallets to your dapp. Features standardised spec compliant web3 providers for all supported wallets, framework agnostic modern javascript UI with code splitting, CSS customization, multi-chain and multi-account support, reactive wallet state subscriptions and real-time transaction state change notifications.", "keywords": [ "Ethereum", From a9074f4e664f860f7ca3a5a7c555f7d615878886 Mon Sep 17 00:00:00 2001 From: Taylor Dawson Date: Wed, 25 Jan 2023 13:25:20 -0800 Subject: [PATCH 3/3] version bumpies --- docs/package.json | 2 +- examples/with-nextjs-13/package.json | 2 +- examples/with-vite-react/package.json | 2 +- examples/with-vuejs-v2/package.json | 2 +- examples/with-vuejs/package.json | 2 +- packages/demo/package.json | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/package.json b/docs/package.json index b707517eb..09f476919 100644 --- a/docs/package.json +++ b/docs/package.json @@ -61,7 +61,7 @@ "@web3-onboard/fortmatic": "^2.0.14", "@web3-onboard/gas": "^2.1.4", "@web3-onboard/gnosis": "^2.1.5", - "@web3-onboard/injected-wallets": "^2.4.0", + "@web3-onboard/injected-wallets": "^2.6.1-alpha.1", "@web3-onboard/keepkey": "^2.3.2", "@web3-onboard/keystone": "^2.3.2", "@web3-onboard/ledger": "^2.4.1", diff --git a/examples/with-nextjs-13/package.json b/examples/with-nextjs-13/package.json index 62ebe7b27..a36a624eb 100644 --- a/examples/with-nextjs-13/package.json +++ b/examples/with-nextjs-13/package.json @@ -16,7 +16,7 @@ "@web3-onboard/dcent": "^2.2.1", "@web3-onboard/fortmatic": "^2.0.14", "@web3-onboard/gnosis": "^2.1.3", - "@web3-onboard/injected-wallets": "^2.2.4", + "@web3-onboard/injected-wallets": "^2.6.1-alpha.1", "@web3-onboard/keepkey": "^2.3.1", "@web3-onboard/keystone": "^2.3.1", "@web3-onboard/ledger": "^2.3.1", diff --git a/examples/with-vite-react/package.json b/examples/with-vite-react/package.json index 05b72bd4d..71a4e5424 100644 --- a/examples/with-vite-react/package.json +++ b/examples/with-vite-react/package.json @@ -13,7 +13,7 @@ "@web3-onboard/dcent": "^2.2.1", "@web3-onboard/fortmatic": "^2.0.14", "@web3-onboard/gnosis": "^2.1.5", - "@web3-onboard/injected-wallets": "^2.2.4", + "@web3-onboard/injected-wallets": "^2.6.1-alpha.1", "@web3-onboard/keepkey": "^2.3.1", "@web3-onboard/keystone": "^2.3.1", "@web3-onboard/ledger": "^2.3.1", diff --git a/examples/with-vuejs-v2/package.json b/examples/with-vuejs-v2/package.json index 04701b18b..b9655801b 100644 --- a/examples/with-vuejs-v2/package.json +++ b/examples/with-vuejs-v2/package.json @@ -7,7 +7,7 @@ "serve": "vite preview" }, "dependencies": { - "@web3-onboard/injected-wallets": "^2.2.0", + "@web3-onboard/injected-wallets": "^2.6.1-alpha.1", "@web3-onboard/vue": "^2.3.1", "vue": "^2.6.12", "vue-template-compiler": "^2.7.10" diff --git a/examples/with-vuejs/package.json b/examples/with-vuejs/package.json index 3c82ad746..3cf80a672 100644 --- a/examples/with-vuejs/package.json +++ b/examples/with-vuejs/package.json @@ -8,7 +8,7 @@ "lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs --fix --ignore-path .gitignore" }, "dependencies": { - "@web3-onboard/injected-wallets": "^2.0.15", + "@web3-onboard/injected-wallets": "^2.6.1-alpha.1", "@web3-onboard/vue": "^2.3.1", "pinia": "^2.0.16", "vue": "^3.2.37", diff --git a/packages/demo/package.json b/packages/demo/package.json index a64f124b8..823fafe80 100644 --- a/packages/demo/package.json +++ b/packages/demo/package.json @@ -34,7 +34,7 @@ "@web3-onboard/keepkey": "^2.3.3-alpha.2", "@web3-onboard/keystone": "^2.3.3-alpha.2", "@web3-onboard/ledger": "^2.4.2-alpha.1", - "@web3-onboard/injected-wallets": "^2.6.0", + "@web3-onboard/injected-wallets": "^2.6.1-alpha.1", "@web3-onboard/magic": "^2.1.3", "@web3-onboard/phantom": "^2.0.0-alpha.1", "@web3-onboard/portis": "^2.1.3",