From 38caf7486e6d3a907f9faeae4f3fa093bc0327ee Mon Sep 17 00:00:00 2001 From: 0xfaihai Date: Thu, 28 Jul 2022 11:20:57 +0800 Subject: [PATCH 1/2] feat: add BitKeep --- packages/injected/src/constants.ts | 3 ++- packages/injected/src/icons/bitkeep.ts | 5 +++++ packages/injected/src/types.ts | 12 ++++++++---- packages/injected/src/wallets.ts | 15 ++++++++++++++- 4 files changed, 29 insertions(+), 6 deletions(-) create mode 100644 packages/injected/src/icons/bitkeep.ts diff --git a/packages/injected/src/constants.ts b/packages/injected/src/constants.ts index a8c6219b2..793b72dd9 100644 --- a/packages/injected/src/constants.ts +++ b/packages/injected/src/constants.ts @@ -11,5 +11,6 @@ export const WALLET_NAMES: { [key: string]: string } = { metamask: 'MetaMask', detected: 'Detected Wallet', meetone: 'MeetOne', - frame: 'Frame' + frame: 'Frame', + bitkeep: 'BitKeep', } diff --git a/packages/injected/src/icons/bitkeep.ts b/packages/injected/src/icons/bitkeep.ts new file mode 100644 index 000000000..d124f81da --- /dev/null +++ b/packages/injected/src/icons/bitkeep.ts @@ -0,0 +1,5 @@ +export default ` + + + +` diff --git a/packages/injected/src/types.ts b/packages/injected/src/types.ts index d075e6125..923190448 100644 --- a/packages/injected/src/types.ts +++ b/packages/injected/src/types.ts @@ -43,7 +43,8 @@ export enum ProviderIdentityFlag { BraveWallet = 'isBraveWallet', Rabby = 'isRabby', MathWallet = 'isMathWallet', - GameStop = 'isGamestop' + GameStop = 'isGamestop', + BitKeep = 'isBitKeep' } export enum ProviderLabel { @@ -78,7 +79,8 @@ export enum ProviderLabel { Tally = 'Tally Wallet', Rabby = 'Rabby', MathWallet = 'MathWallet', - GameStop = 'GameStop Wallet' + GameStop = 'GameStop Wallet', + BitKeep = 'BitKeep' } export interface MeetOneProvider extends ExternalProvider { @@ -98,7 +100,8 @@ export enum InjectedNameSpace { Web3 = 'web3', Arbitrum = 'arbitrum', XFI = 'xfi', - GameStop = 'gamestop' + GameStop = 'gamestop', + BitKeep = 'bitkeep' } export interface CustomWindow extends Window { @@ -110,7 +113,8 @@ export interface CustomWindow extends Window { xfi: { ethereum: InjectedProvider } - gamestop: InjectedProvider + gamestop: InjectedProvider, + bitkeep: InjectedProvider } export type InjectedProvider = ExternalProvider & diff --git a/packages/injected/src/wallets.ts b/packages/injected/src/wallets.ts index 7be24561a..730697776 100644 --- a/packages/injected/src/wallets.ts +++ b/packages/injected/src/wallets.ts @@ -512,6 +512,18 @@ const gamestop: InjectedWalletModule = { platforms: ['desktop'] } +const bitkeep: InjectedWalletModule = { + label: ProviderLabel.BitKeep, + injectedNamespace: InjectedNameSpace.BitKeep, + checkProviderIdentity: ({ provider }) => + !!provider && !!provider["ethereum"][ProviderIdentityFlag.BitKeep], + getIcon: async () => (await import('./icons/bitkeep.js')).default, + getInterface: async () => ({ + provider: window.bitkeep && window.bitkeep.ethereum, + }), + platforms: ['all'] +} + const wallets = [ exodus, metamask, @@ -542,7 +554,8 @@ const wallets = [ tally, rabby, mathwallet, - gamestop + gamestop, + bitkeep ] export default wallets From 0fcc6a307c4b1fd6ff5e8f08e3605f12709dd603 Mon Sep 17 00:00:00 2001 From: Adam Carpenter Date: Thu, 28 Jul 2022 15:08:59 -0600 Subject: [PATCH 2/2] Update version and bitkeep window provider --- packages/injected/package.json | 2 +- packages/injected/src/types.ts | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/injected/package.json b/packages/injected/package.json index daa31f24c..2add026b5 100644 --- a/packages/injected/package.json +++ b/packages/injected/package.json @@ -1,6 +1,6 @@ { "name": "@web3-onboard/injected-wallets", - "version": "2.0.15-alpha.1", + "version": "2.0.15-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/types.ts b/packages/injected/src/types.ts index 923190448..705dbee9e 100644 --- a/packages/injected/src/types.ts +++ b/packages/injected/src/types.ts @@ -114,7 +114,9 @@ export interface CustomWindow extends Window { ethereum: InjectedProvider } gamestop: InjectedProvider, - bitkeep: InjectedProvider + bitkeep: { + ethereum: InjectedProvider + } } export type InjectedProvider = ExternalProvider &