From 3a225ddaa4a30baa21e70730faff5898a6c076f2 Mon Sep 17 00:00:00 2001 From: Adam Carpenter Date: Tue, 3 Jan 2023 14:44:15 -0700 Subject: [PATCH] Fix for gamestop chain recognition --- packages/demo/package.json | 2 +- packages/injected/package.json | 2 +- packages/injected/src/wallets.ts | 15 ++++++++++++--- 3 files changed, 14 insertions(+), 5 deletions(-) diff --git a/packages/demo/package.json b/packages/demo/package.json index 943ef5ce9..7f591ad77 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-alpha.1", + "@web3-onboard/injected-wallets": "^2.5.0-alpha.2", "@web3-onboard/keepkey": "^2.3.2", "@web3-onboard/keystone": "^2.3.2", "@web3-onboard/ledger": "^2.3.2", diff --git a/packages/injected/package.json b/packages/injected/package.json index 322363106..b5bb18af1 100644 --- a/packages/injected/package.json +++ b/packages/injected/package.json @@ -1,6 +1,6 @@ { "name": "@web3-onboard/injected-wallets", - "version": "2.5.0-alpha.1", + "version": "2.5.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/wallets.ts b/packages/injected/src/wallets.ts index 397e1f42f..b53c14929 100644 --- a/packages/injected/src/wallets.ts +++ b/packages/injected/src/wallets.ts @@ -524,9 +524,18 @@ const gamestop: InjectedWalletModule = { checkProviderIdentity: ({ provider }) => !!provider && !!provider[ProviderIdentityFlag.GameStop], getIcon: async () => (await import('./icons/gamestop.js')).default, - getInterface: async () => ({ - provider: createEIP1193Provider(window.gamestop) - }), + getInterface: async () => { + const provider = createEIP1193Provider(window.gamestop, { + eth_chainId: ({ baseRequest }) => + baseRequest({ method: 'eth_chainId' }).then( + id => `0x${parseInt(id).toString(16)}` + ), + wallet_switchEthereumChain: UNSUPPORTED_METHOD + }) + provider.removeListener = (event, listener) => {} + provider.on = (event, listener) => {} + return { provider } + }, platforms: ['desktop'] }