From 2e7562c75fea102df5d6f5b27422b4277e5d4997 Mon Sep 17 00:00:00 2001 From: Adam Carpenter Date: Thu, 13 Jun 2024 15:33:30 -0600 Subject: [PATCH 1/2] Fix check and passing of protectedRpcUrl on account center disconnect --- packages/core/package.json | 2 +- .../account-center/AccountCenterPanel.svelte | 3 +- packages/demo/package.json | 2 +- packages/demo/src/App.svelte | 143 ++++++------------ packages/react/package.json | 4 +- packages/solid/package.json | 4 +- packages/vue/package.json | 4 +- 7 files changed, 54 insertions(+), 108 deletions(-) diff --git a/packages/core/package.json b/packages/core/package.json index cd01efc6d..7aa604a77 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@web3-onboard/core", - "version": "2.22.1", + "version": "2.22.2-alpha.1", "description": "Web3-Onboard makes it simple to connect Ethereum hardware and software wallets to your dapp. Features standardized 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/core/src/views/account-center/AccountCenterPanel.svelte b/packages/core/src/views/account-center/AccountCenterPanel.svelte index 7ca9cdf00..a63fd3410 100644 --- a/packages/core/src/views/account-center/AccountCenterPanel.svelte +++ b/packages/core/src/views/account-center/AccountCenterPanel.svelte @@ -72,6 +72,7 @@ const { device } = configuration const enableProtectionRPC = async () => { + if (!validAppChain) return try { await updateChainRPC( primaryWallet.provider, @@ -461,7 +462,7 @@ - {#if !$accountCenter$.hideTransactionProtectionBtn && (primaryWalletOnMainnet || validAppChain.protectedRpcUrl)} + {#if !$accountCenter$.hideTransactionProtectionBtn && (primaryWalletOnMainnet || (validAppChain && validAppChain.protectedRpcUrl))}
(enableTransactionProtection = true)} class="protect action-container flex items-center pointer" diff --git a/packages/demo/package.json b/packages/demo/package.json index 115fd4822..e378b9f26 100644 --- a/packages/demo/package.json +++ b/packages/demo/package.json @@ -32,7 +32,7 @@ "@web3-onboard/blocto": "^2.1.1", "@web3-onboard/capsule": "2.1.1", "@web3-onboard/cede-store": "^2.3.1", - "@web3-onboard/core": "2.22.1", + "@web3-onboard/core": "2.22.2-alpha.1", "@web3-onboard/coinbase": "^2.4.1", "@web3-onboard/dcent": "^2.2.7", "@web3-onboard/enkrypt": "^2.1.1", diff --git a/packages/demo/src/App.svelte b/packages/demo/src/App.svelte index 00409977a..fd4f3c2b6 100644 --- a/packages/demo/src/App.svelte +++ b/packages/demo/src/App.svelte @@ -90,53 +90,6 @@ let transactionObject = defaultTransactionObject let signMsg = 'Any string message' - const injected = injectedModule({ - custom: [ - // include custom (not natively supported) injected wallet modules here - ], - // display all unavailable injected wallets - // displayUnavailable: true, - // || - // display specific unavailable wallets - displayUnavailable: [ - ProviderLabel.MetaMask, - ProviderLabel.Trust, - ProviderLabel.Phantom - ] - // but only show Binance and Bitski wallet if they are available - // filter: { - // [ProviderLabel.Binance]: 'unavailable', - // [ProviderLabel.Bitski]: 'unavailable' - // } - // do a manual sort of injected wallets so that MetaMask and Coinbase are ordered first - // sort: wallets => { - // const metaMask = wallets.find( - // ({ label }) => label === ProviderLabel.MetaMask - // ) - // const coinbase = wallets.find( - // ({ label }) => label === ProviderLabel.Coinbase - // ) - - // return ( - // [ - // metaMask, - // coinbase, - // ...wallets.filter( - // ({ label }) => - // label !== ProviderLabel.MetaMask && - // label !== ProviderLabel.Coinbase - // ) - // ] - // // remove undefined values - // .filter(wallet => wallet) - // ) - // } - // walletUnavailableMessage: wallet => - // wallet.externalUrl - // ? `Oops ${wallet.label} is unavailable! Please install` - // : `Oops ${wallet.label} is unavailable!` - }) - const coinbaseWallet = coinbaseModule() const metamaskSDKWallet = metamaskSDK({ @@ -244,57 +197,48 @@ clientId: 'blocknative', environment: 'staging' }) - // const capsule = capsuleModule({ - // environment: Environment.DEVELOPMENT, - // apiKey: '992bbd9146d5de8ad0419f141d9a7ca7', - // modalProps: { - // oAuthMethods: [OAuthMethod.GOOGLE, OAuthMethod.TWITTER], - // theme: Theme.dark - // }, - // constructorOpts: { - // portalBackgroundColor: '#5e5656', - // portalPrimaryButtonColor: '#ff6700', - // portalTextColor: '#ffffff' - // } - // }) + const injected = injectedModule({ + // display specific unavailable wallets + displayUnavailable: [ProviderLabel.OKXWallet] + }) const onboard = Onboard({ wallets: [ // metamaskSDKWallet, - coinbaseWallet, - injected, - ledger, - trezor, - walletConnect, - phantom, - safe, - trust, - tallyho, - bitget, - enkrypt, - infinityWallet, - mewWallet, - keepkey, - keystone, - magic, - fortmatic, - portis, - torus, - dcent, - sequence, - uauth, - web3auth, - // capsule, - zeal, - frontier, - xdefi, - frameWallet, - cedeStore, - arcanaAuth, - blocto, - venly, - particle, - passport + injected + // coinbaseWallet, + // ledger, + // trezor, + // walletConnect, + // phantom, + // safe, + // trust, + // tallyho, + // bitget, + // enkrypt, + // infinityWallet, + // mewWallet, + // keepkey, + // keystone, + // magic, + // fortmatic, + // portis, + // torus, + // dcent, + // sequence, + // uauth, + // web3auth, + // // capsule, + // zeal, + // frontier, + // xdefi, + // frameWallet, + // cedeStore, + // arcanaAuth, + // blocto, + // venly, + // particle, + // passport ], transactionPreview, gas, @@ -1007,11 +951,12 @@