diff --git a/docs/src/routes/docs/[...4]wallets/injected.md b/docs/src/routes/docs/[...4]wallets/injected.md index ebea4c92b..26010db4b 100644 --- a/docs/src/routes/docs/[...4]wallets/injected.md +++ b/docs/src/routes/docs/[...4]wallets/injected.md @@ -271,7 +271,9 @@ const injected = injectedModule({ - Binance - _Desktop_ - Coinbase - _Desktop & Mobile_ - Phantom - _Desktop & Mobile_ +- SafePal - _Desktop & Mobile_ - Zerion - _Desktop & Mobile_ +- OKX Wallet - _Desktop_ - Tally - _Desktop_ - Trust - _Mobile_ - Opera - _Desktop & Mobile_ @@ -307,6 +309,7 @@ const injected = injectedModule({ - Zeal - _Desktop_ - Exodus - _Desktop & Mobile_ - Frontier - _Desktop & Mobile_ +- Rainbow - _Desktop & Mobile_ ## Build Environments diff --git a/packages/demo/package.json b/packages/demo/package.json index 9fa95d2ed..0bdf0c6b5 100644 --- a/packages/demo/package.json +++ b/packages/demo/package.json @@ -34,7 +34,7 @@ "@web3-onboard/keepkey": "^2.3.3", "@web3-onboard/keystone": "^2.3.3", "@web3-onboard/ledger": "^2.4.2", - "@web3-onboard/injected-wallets": "^2.6.2-alpha.2", + "@web3-onboard/injected-wallets": "^2.6.2-alpha.3", "@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/README.md b/packages/injected/README.md index e4a0d9017..8027f7cc1 100644 --- a/packages/injected/README.md +++ b/packages/injected/README.md @@ -39,7 +39,9 @@ console.log(connectedWallets) - Binance - _Desktop_ - Coinbase - _Desktop & Mobile_ - Phantom - _Desktop & Mobile_ +- SafePal - _Desktop & Mobile_ - Zerion - _Desktop & Mobile_ +- OKX Wallet - _Desktop_ - Tally - _Desktop_ - Trust - _Mobile_ - Opera - _Desktop & Mobile_ @@ -75,6 +77,7 @@ console.log(connectedWallets) - Zeal - _Desktop_ - Exodus - _Desktop & Mobile_ - Frontier - _Desktop & Mobile_ +- Rainbow - _Desktop & Mobile_ ## Filtering Wallets diff --git a/packages/injected/package.json b/packages/injected/package.json index 151a21ee8..548a94efb 100644 --- a/packages/injected/package.json +++ b/packages/injected/package.json @@ -1,6 +1,6 @@ { "name": "@web3-onboard/injected-wallets", - "version": "2.6.2-alpha.2", + "version": "2.6.2-alpha.3", "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/helpers.ts b/packages/injected/src/helpers.ts index 5f863be96..38e48110b 100644 --- a/packages/injected/src/helpers.ts +++ b/packages/injected/src/helpers.ts @@ -32,8 +32,8 @@ export const isWalletAvailable = ( return true } - // For multiple injected providers, check providers array - // example coinbase inj wallet pushes over-ridden wallets + // For multiple injected providers, check providers array + // example coinbase inj wallet pushes over-ridden wallets // into a providers array at window.ethereum return !!provider.providers?.some(provider => checkProviderIdentity({ provider, device }) diff --git a/packages/injected/src/icons/okxwallet.ts b/packages/injected/src/icons/okxwallet.ts new file mode 100644 index 000000000..2ab6d017e --- /dev/null +++ b/packages/injected/src/icons/okxwallet.ts @@ -0,0 +1,5 @@ +export default ` + + + +` diff --git a/packages/injected/src/types.ts b/packages/injected/src/types.ts index cc3f239cf..b9ff9df64 100644 --- a/packages/injected/src/types.ts +++ b/packages/injected/src/types.ts @@ -52,6 +52,7 @@ export enum ProviderIdentityFlag { Bitski = 'isBitski', Enkrypt = 'isEnkrypt', Phantom = 'isPhantom', + OKXWallet = 'isOkxWallet', Zeal = 'isZeal', Zerion = 'isZerion', Rainbow = 'isRainbow', @@ -99,6 +100,7 @@ export enum ProviderLabel { Enkrypt = 'Enkrypt', Zeal = 'Zeal', Phantom = 'Phantom', + OKXWallet = 'OKX Wallet', Zerion = 'Zerion', Rainbow = 'Rainbow', SafePal = 'SafePal' @@ -128,6 +130,7 @@ export enum InjectedNameSpace { Enkrypt = 'enkrypt', Zeal = 'zeal', Phantom = 'phantom', + OKXWallet = 'okxwallet', Trust = 'trustwallet', Frontier = 'frontier' } @@ -161,6 +164,7 @@ export interface CustomWindow extends Window { phantom: { ethereum: InjectedProvider } + okxwallet: InjectedProvider trustwallet: InjectedProvider } diff --git a/packages/injected/src/wallets.ts b/packages/injected/src/wallets.ts index 4ae7feb6c..465e534d4 100644 --- a/packages/injected/src/wallets.ts +++ b/packages/injected/src/wallets.ts @@ -668,7 +668,7 @@ const phantom: InjectedWalletModule = { }), platforms: ['all'] } - + const safepal: InjectedWalletModule = { label: ProviderLabel.SafePal, injectedNamespace: InjectedNameSpace.Ethereum, @@ -691,6 +691,18 @@ const rainbow: InjectedWalletModule = { platforms: ['all'] } +const okxwallet: InjectedWalletModule = { + label: ProviderLabel.OKXWallet, + injectedNamespace: InjectedNameSpace.OKXWallet, + checkProviderIdentity: ({ provider }) => + !!provider && !!provider[ProviderIdentityFlag.OKXWallet], + getIcon: async () => (await import('./icons/okxwallet.js')).default, + getInterface: async () => ({ + provider: createEIP1193Provider(window.okxwallet) + }), + platforms: ['desktop'] +} + const wallets = [ zeal, exodus, @@ -730,6 +742,7 @@ const wallets = [ bitski, enkrypt, phantom, + okxwallet, zerion, rainbow, safepal