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", diff --git a/packages/injected/package.json b/packages/injected/package.json index 6d8fd7550..5bfbab80c 100644 --- a/packages/injected/package.json +++ b/packages/injected/package.json @@ -1,6 +1,6 @@ { "name": "@web3-onboard/injected-wallets", - "version": "2.6.0", + "version": "2.6.1-alpha.1", "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", diff --git a/packages/injected/src/constants.ts b/packages/injected/src/constants.ts index 7cdb119ab..84941f881 100644 --- a/packages/injected/src/constants.ts +++ b/packages/injected/src/constants.ts @@ -18,5 +18,6 @@ export const WALLET_NAMES: { [key: string]: string } = { core: 'Core', enkrypt: 'Enkrypt', frontier: 'Frontier', - zerion: 'Zerion' + zerion: 'Zerion', + 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 cd5d12726..8458f7d29 100644 --- a/packages/injected/src/types.ts +++ b/packages/injected/src/types.ts @@ -53,7 +53,8 @@ export enum ProviderIdentityFlag { Enkrypt = 'isEnkrypt', Zeal = 'isZeal', Phantom = 'isPhantom', - Zerion = 'isZerion' + Zerion = 'isZerion', + Rainbow = 'isRainbow' } export enum ProviderLabel { @@ -97,7 +98,8 @@ export enum ProviderLabel { Enkrypt = 'Enkrypt', Zeal = 'Zeal', Phantom = 'Phantom', - Zerion = 'Zerion' + Zerion = 'Zerion', + Rainbow = 'Rainbow' } export interface MeetOneProvider extends ExternalProvider { diff --git a/packages/injected/src/wallets.ts b/packages/injected/src/wallets.ts index f898050d4..c0891e22d 100644 --- a/packages/injected/src/wallets.ts +++ b/packages/injected/src/wallets.ts @@ -660,6 +660,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, @@ -699,7 +709,8 @@ const wallets = [ bitski, enkrypt, phantom, - zerion + zerion, + rainbow ] export default wallets