From 4deb3a1a927fe4c77013a54ea84bc816e2c26279 Mon Sep 17 00:00:00 2001 From: Adam Carpenter Date: Wed, 7 Sep 2022 16:51:35 -0600 Subject: [PATCH 1/2] Add core wallet support, fix scroll issue --- packages/core/src/views/connect/Index.svelte | 4 +++- packages/demo/package.json | 2 +- packages/demo/src/App.svelte | 2 +- packages/injected/package.json | 2 +- packages/injected/src/constants.ts | 3 ++- packages/injected/src/types.ts | 10 +++++++--- packages/injected/src/wallets.ts | 14 +++++++++++++- 7 files changed, 28 insertions(+), 9 deletions(-) diff --git a/packages/core/src/views/connect/Index.svelte b/packages/core/src/views/connect/Index.svelte index 4f454b35b..42e25bdf7 100644 --- a/packages/core/src/views/connect/Index.svelte +++ b/packages/core/src/views/connect/Index.svelte @@ -115,7 +115,7 @@ } connectingErrorMessage = '' - + scrollToTop() // change step on next event loop setTimeout(() => setStep('connectingWallet'), 1) } catch (error) { @@ -196,8 +196,10 @@ trackWallet(provider, label) updateSelectedWallet(update) setStep('connectedWallet') + scrollToTop() } catch (error) { const { code } = error as { code: number; message: string } + scrollToTop() // user rejected account access if (code === ProviderRpcErrorCode.ACCOUNT_ACCESS_REJECTED) { diff --git a/packages/demo/package.json b/packages/demo/package.json index dd27261d5..0f917e52c 100644 --- a/packages/demo/package.json +++ b/packages/demo/package.json @@ -28,7 +28,7 @@ "@web3-onboard/fortmatic": "^2.0.13", "@web3-onboard/gas": "^2.1.2", "@web3-onboard/gnosis": "^2.1.2", - "@web3-onboard/injected-wallets": "^2.2.1", + "@web3-onboard/injected-wallets": "^2.2.2-alpha.1", "@web3-onboard/keepkey": "^2.3.0", "@web3-onboard/keystone": "^2.3.0", "@web3-onboard/ledger": "^2.3.0", diff --git a/packages/demo/src/App.svelte b/packages/demo/src/App.svelte index bd9c1da21..2d50b87a8 100644 --- a/packages/demo/src/App.svelte +++ b/packages/demo/src/App.svelte @@ -106,6 +106,7 @@ const onboard = Onboard({ wallets: [ + injected, web3auth, ledger, trezor, @@ -113,7 +114,6 @@ keepkey, keystone, coinbaseWallet, - injected, magic, fortmatic, portis, diff --git a/packages/injected/package.json b/packages/injected/package.json index 7c9ef3814..f9210527a 100644 --- a/packages/injected/package.json +++ b/packages/injected/package.json @@ -1,6 +1,6 @@ { "name": "@web3-onboard/injected-wallets", - "version": "2.2.1", + "version": "2.2.2-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 35f373164..acec5df5a 100644 --- a/packages/injected/src/constants.ts +++ b/packages/injected/src/constants.ts @@ -13,5 +13,6 @@ export const WALLET_NAMES: { [key: string]: string } = { meetone: 'MeetOne', frame: 'Frame', bitkeep: 'BitKeep', - sequence: 'Sequence' + sequence: 'Sequence', + core: 'Core' } diff --git a/packages/injected/src/types.ts b/packages/injected/src/types.ts index 12988bd1c..bf4460d1d 100644 --- a/packages/injected/src/types.ts +++ b/packages/injected/src/types.ts @@ -45,7 +45,8 @@ export enum ProviderIdentityFlag { MathWallet = 'isMathWallet', GameStop = 'isGamestop', BitKeep = 'isBitKeep', - Sequence = 'isSequence' + Sequence = 'isSequence', + Core = 'isAvalanche' } export enum ProviderLabel { @@ -82,7 +83,8 @@ export enum ProviderLabel { MathWallet = 'MathWallet', GameStop = 'GameStop Wallet', BitKeep = 'BitKeep', - Sequence = 'Sequence' + Sequence = 'Sequence', + Core = 'Core' } export interface MeetOneProvider extends ExternalProvider { @@ -103,7 +105,8 @@ export enum InjectedNameSpace { Arbitrum = 'arbitrum', XFI = 'xfi', GameStop = 'gamestop', - BitKeep = 'bitkeep' + BitKeep = 'bitkeep', + Avalanche = 'avalanche' } export interface CustomWindow extends Window { @@ -119,6 +122,7 @@ export interface CustomWindow extends Window { bitkeep: { ethereum: InjectedProvider } + avalanche: InjectedProvider } export type InjectedProvider = ExternalProvider & diff --git a/packages/injected/src/wallets.ts b/packages/injected/src/wallets.ts index aa15318ab..69205acd1 100644 --- a/packages/injected/src/wallets.ts +++ b/packages/injected/src/wallets.ts @@ -532,6 +532,17 @@ const sequence: InjectedWalletModule = { platforms: ['all'] } +const core: InjectedWalletModule = { + label: ProviderLabel.Core, + injectedNamespace: InjectedNameSpace.Avalanche, + checkProviderIdentity: ({ provider }) => + !!provider && !!provider[ProviderIdentityFlag.Core], + getIcon: async () => (await import('./icons/core.js')).default, + getInterface: getInjectedInterface(ProviderIdentityFlag.Core), + // Core wallet is only tested in chrome or chromium browser + platforms: ['desktop', 'Chrome', 'Chromium', 'Microsoft Edge'] +} + const wallets = [ exodus, metamask, @@ -564,7 +575,8 @@ const wallets = [ mathwallet, gamestop, bitkeep, - sequence + sequence, + core ] export default wallets From 4fe162524710109b8d1160d10e7f460a6dd834bd Mon Sep 17 00:00:00 2001 From: Adam Carpenter Date: Wed, 7 Sep 2022 17:00:46 -0600 Subject: [PATCH 2/2] Commit core icon --- packages/injected/src/icons/core.ts | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 packages/injected/src/icons/core.ts 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