diff --git a/packages/demo/package.json b/packages/demo/package.json index 320b3d97e..13586ec75 100644 --- a/packages/demo/package.json +++ b/packages/demo/package.json @@ -30,7 +30,7 @@ "@web3-onboard/fortmatic": "^2.0.14", "@web3-onboard/gas": "^2.1.3", "@web3-onboard/gnosis": "^2.1.5", - "@web3-onboard/injected-wallets": "^2.5.0", + "@web3-onboard/injected-wallets": "^2.6.0-alpha.2", "@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 f6ee8a4af..decb9aeea 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.1", + "version": "2.6.0-alpha.2", "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 53ede9960..314549c12 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', + zerion: 'Zerion' } diff --git a/packages/injected/src/icons/zerion.ts b/packages/injected/src/icons/zerion.ts new file mode 100644 index 000000000..d568720fd --- /dev/null +++ b/packages/injected/src/icons/zerion.ts @@ -0,0 +1,5 @@ +export default ` + + + +` \ No newline at end of file diff --git a/packages/injected/src/types.ts b/packages/injected/src/types.ts index 76de0e518..cb479c355 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', + Zerion = 'isZerion' } export enum ProviderLabel { @@ -93,7 +94,8 @@ export enum ProviderLabel { Core = 'Core', Enkrypt = 'Enkrypt', Zeal = 'Zeal', - Phantom = 'Phantom' + Phantom = 'Phantom', + Zerion = 'Zerion' } export interface MeetOneProvider extends ExternalProvider { diff --git a/packages/injected/src/wallets.ts b/packages/injected/src/wallets.ts index 8c7a0f147..ae5c2f5be 100644 --- a/packages/injected/src/wallets.ts +++ b/packages/injected/src/wallets.ts @@ -599,6 +599,18 @@ const bitski: InjectedWalletModule = { platforms: ['all'] } +const zerion: InjectedWalletModule = { + label: ProviderLabel.Zerion, + injectedNamespace: InjectedNameSpace.Ethereum, + checkProviderIdentity: ({ provider }) => + !!provider && !!provider[ProviderIdentityFlag.Zerion], + getIcon: async () => (await import('./icons/zerion.js')).default, + getInterface: async () => ({ + provider: createEIP1193Provider(window.ethereum) + }), + platforms: ['all'] +} + const enkrypt: InjectedWalletModule = { label: ProviderLabel.Enkrypt, injectedNamespace: InjectedNameSpace.Enkrypt, @@ -690,7 +702,8 @@ const wallets = [ core, bitski, enkrypt, - phantom + phantom, + zerion ] export default wallets