From 7b4d89f7e9145c451fa0f343230c7658a290a816 Mon Sep 17 00:00:00 2001 From: Manthankumar Satani Date: Fri, 22 Jul 2022 15:54:23 +0530 Subject: [PATCH 1/3] feat: core injected wallet support --- package.json | 2 +- packages/injected/src/constants.ts | 3 ++- packages/injected/src/icons/core.ts | 4 ++++ packages/injected/src/types.ts | 6 ++++-- packages/injected/src/wallets.ts | 16 +++++++++++++++- 5 files changed, 26 insertions(+), 5 deletions(-) create mode 100644 packages/injected/src/icons/core.ts diff --git a/package.json b/package.json index 7690d46d7..c6c9df933 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "web3-onboard-monorepo", - "version": "2.5.0", + "version": "2.5.1", "private": true, "workspaces": [ "./packages/*" diff --git a/packages/injected/src/constants.ts b/packages/injected/src/constants.ts index a8c6219b2..55506085b 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', + core: 'Core' } diff --git a/packages/injected/src/icons/core.ts b/packages/injected/src/icons/core.ts new file mode 100644 index 000000000..5b8b28927 --- /dev/null +++ b/packages/injected/src/icons/core.ts @@ -0,0 +1,4 @@ +export default ` + + +` \ No newline at end of file diff --git a/packages/injected/src/types.ts b/packages/injected/src/types.ts index d075e6125..034e4a827 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', + Core = 'isAvalanche' } export enum ProviderLabel { @@ -78,7 +79,8 @@ export enum ProviderLabel { Tally = 'Tally Wallet', Rabby = 'Rabby', MathWallet = 'MathWallet', - GameStop = 'GameStop Wallet' + GameStop = 'GameStop Wallet', + Core = 'Core' } export interface MeetOneProvider extends ExternalProvider { diff --git a/packages/injected/src/wallets.ts b/packages/injected/src/wallets.ts index 7be24561a..5cff0d919 100644 --- a/packages/injected/src/wallets.ts +++ b/packages/injected/src/wallets.ts @@ -512,6 +512,19 @@ const gamestop: InjectedWalletModule = { platforms: ['desktop'] } +const core: InjectedWalletModule = { + label: ProviderLabel.Core, + injectedNamespace: InjectedNameSpace.Ethereum, + checkProviderIdentity: ({ provider }) => + !!provider && !!provider[ProviderIdentityFlag.Core], + getIcon: async () => (await import('./icons/core.js')).default, + getInterface: async () => ({ + provider: getInjectedInterface(ProviderIdentityFlag.Core) + }), + // Core wallet is only tested in chrome or chromium browser + platforms: ['desktop', 'Chrome', 'Chromium','Microsoft Edge'] +} + const wallets = [ exodus, metamask, @@ -542,7 +555,8 @@ const wallets = [ tally, rabby, mathwallet, - gamestop + gamestop, + core ] export default wallets From 8629817bb3945e604b21ea1f598f64f55c26a541 Mon Sep 17 00:00:00 2001 From: Adam Carpenter Date: Mon, 25 Jul 2022 11:40:29 -0600 Subject: [PATCH 2/3] Reverted version bump in top level package.json and bumped version in injected package.json --- package.json | 2 +- packages/injected/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index c6c9df933..7690d46d7 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "web3-onboard-monorepo", - "version": "2.5.1", + "version": "2.5.0", "private": true, "workspaces": [ "./packages/*" diff --git a/packages/injected/package.json b/packages/injected/package.json index daa31f24c..870db7102 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.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", From 9ea201c4ad6fb2d2cc8b2d54144c38797bbe2d48 Mon Sep 17 00:00:00 2001 From: Adam Carpenter Date: Mon, 25 Jul 2022 13:00:05 -0600 Subject: [PATCH 3/3] Updated how the Core wallet provider is created --- packages/injected/src/types.ts | 1 + packages/injected/src/wallets.ts | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/injected/src/types.ts b/packages/injected/src/types.ts index 034e4a827..1a770d21e 100644 --- a/packages/injected/src/types.ts +++ b/packages/injected/src/types.ts @@ -113,6 +113,7 @@ export interface CustomWindow extends Window { ethereum: InjectedProvider } gamestop: InjectedProvider + avalanche: InjectedProvider } export type InjectedProvider = ExternalProvider & diff --git a/packages/injected/src/wallets.ts b/packages/injected/src/wallets.ts index 5cff0d919..faee872dc 100644 --- a/packages/injected/src/wallets.ts +++ b/packages/injected/src/wallets.ts @@ -519,10 +519,10 @@ const core: InjectedWalletModule = { !!provider && !!provider[ProviderIdentityFlag.Core], getIcon: async () => (await import('./icons/core.js')).default, getInterface: async () => ({ - provider: getInjectedInterface(ProviderIdentityFlag.Core) + provider: createEIP1193Provider(window.avalanche) }), // Core wallet is only tested in chrome or chromium browser - platforms: ['desktop', 'Chrome', 'Chromium','Microsoft Edge'] + platforms: ['desktop', 'Chrome', 'Chromium', 'Microsoft Edge'] } const wallets = [