diff --git a/packages/docs/playwright/with-metamask.test.ts b/packages/docs/playwright/with-metamask.test.ts index 3dcb5e657..e01bc0d1f 100644 --- a/packages/docs/playwright/with-metamask.test.ts +++ b/packages/docs/playwright/with-metamask.test.ts @@ -80,12 +80,17 @@ describe(`Browser: ${browserType.name()} with Metamask`, () => { }) const popupPromise = waitForPopup(context) - await page.click(XPath.text('button', 'Switch to Goerli')) + await page.click(XPath.text('button', 'Switch to Sepolia')) const popupPage = await popupPromise await popupPage.click(XPath.text('button', 'Switch network')) + await sleep(1000) + if (await page.isVisible(XPath.text('button', 'Connect with Metamask'))) { + await page.click(XPath.text('button', 'Connect with Metamask')) + } + await waitForExpect(async () => { - expect(await page.isVisible(`//*[text()='Current chain: ' and text()='5']`)).to.be.true + expect(await page.isVisible(`//*[text()='Current chain: ' and text()='11155111']`)).to.be.true }) }) @@ -93,7 +98,7 @@ describe(`Browser: ${browserType.name()} with Metamask`, () => { await page.goto(`${baseUrl}Guides/Transactions/Switching%20Networks`) await waitForExpect(async () => { - expect(await page.isVisible(`//*[text()='Current chain: ' and text()='5']`)).to.be.true + expect(await page.isVisible(`//*[text()='Current chain: ' and text()='11155111']`)).to.be.true }) const popupPromise = waitForPopup(context) @@ -145,7 +150,7 @@ describe(`Browser: ${browserType.name()} with Metamask`, () => { let popupPage = await popupPromise await popupPage.click(XPath.text('button', 'Sign')) await waitForExpect(async () => { - expect(await page.isVisible(`//*[text()='ChainId: ' and text()='5']`)).to.be.true + expect(await page.isVisible(`//*[text()='ChainId: ' and text()='11155111']`)).to.be.true }) await metamask.switchToNetwork('Ethereum Mainnet') @@ -163,10 +168,15 @@ describe(`Browser: ${browserType.name()} with Metamask`, () => { expect(await page.isVisible(`//*[text()='Not logged in']`)).to.be.true }) - await metamask.switchToNetwork('Goerli Test Network') + await metamask.switchToNetwork('Sepolia Test Network') + + await sleep(1000) + if (await page.isVisible(XPath.text('button', 'Connect with Metamask'))) { + await page.click(XPath.text('button', 'Connect with Metamask')) + } await waitForExpect(async () => { - expect(await page.isVisible(`//*[text()='ChainId: ' and text()='5']`)).to.be.true + expect(await page.isVisible(`//*[text()='ChainId: ' and text()='11155111']`)).to.be.true }) }) }) diff --git a/packages/docs/src/examples/Siwe.tsx b/packages/docs/src/examples/Siwe.tsx index 8479594a3..18381b68e 100644 --- a/packages/docs/src/examples/Siwe.tsx +++ b/packages/docs/src/examples/Siwe.tsx @@ -1,6 +1,6 @@ import React from 'react' import ReactDOM from 'react-dom' -import { Mainnet, DAppProvider, useEthers, Config, Goerli } from '@usedapp/core' +import { Mainnet, DAppProvider, useEthers, Config, Sepolia } from '@usedapp/core' import { getDefaultProvider } from 'ethers' import { SiweProvider, useSiwe } from '@usedapp/siwe' @@ -12,7 +12,7 @@ const config: Config = { readOnlyChainId: Mainnet.chainId, readOnlyUrls: { [Mainnet.chainId]: getDefaultProvider('mainnet'), - [Goerli.chainId]: getDefaultProvider('goerli'), + [Sepolia.chainId]: 'https://rpc2.sepolia.org', }, } diff --git a/packages/docs/src/examples/SwitchingNetworks.tsx b/packages/docs/src/examples/SwitchingNetworks.tsx index 5562404a4..34c5caa65 100644 --- a/packages/docs/src/examples/SwitchingNetworks.tsx +++ b/packages/docs/src/examples/SwitchingNetworks.tsx @@ -1,6 +1,6 @@ import React from 'react' import ReactDOM from 'react-dom' -import { DAppProvider, useSendTransaction, useEthers, Config, Goerli, Mainnet, Optimism } from '@usedapp/core' +import { DAppProvider, useSendTransaction, useEthers, Config, Mainnet, Optimism, Sepolia } from '@usedapp/core' import { getDefaultProvider } from 'ethers' const config: Config = { @@ -8,7 +8,7 @@ const config: Config = { readOnlyUrls: { [Mainnet.chainId]: getDefaultProvider('mainnet'), [Optimism.chainId]: getDefaultProvider('optimism'), - [Goerli.chainId]: getDefaultProvider('goerli'), + [Sepolia.chainId]: 'https://rpc2.sepolia.org', }, } @@ -45,8 +45,8 @@ export function App() { }{' '} { - } diff --git a/packages/example/src/entrypoint.tsx b/packages/example/src/entrypoint.tsx index 3c70f7d24..0ed0caeec 100644 --- a/packages/example/src/entrypoint.tsx +++ b/packages/example/src/entrypoint.tsx @@ -17,6 +17,7 @@ import { getDefaultProvider } from '@ethersproject/providers' const readOnlyUrls: Config['readOnlyUrls'] = { [Mainnet.chainId]: process.env.MAINNET_URL || getDefaultProvider('mainnet'), [Optimism.chainId]: 'https://mainnet.optimism.io', + [Localhost.chainId]: 'http://localhost:8545', } if (process.env.LOCALHOST_URL) { diff --git a/packages/playwright/src/metamask/MetaMask.ts b/packages/playwright/src/metamask/MetaMask.ts index e228dc0e8..2fbc3f9e4 100644 --- a/packages/playwright/src/metamask/MetaMask.ts +++ b/packages/playwright/src/metamask/MetaMask.ts @@ -65,7 +65,9 @@ export class MetaMask { log('Metamask account connected to pages.') } - async switchToNetwork(network: 'Ethereum Mainnet' | 'Localhost 8545' | 'Goerli Test Network') { + async switchToNetwork( + network: 'Ethereum Mainnet' | 'Localhost 8545' | 'Goerli Test Network' | 'Sepolia Test Network' + ) { log('Switching network...') await this.gotoMetamask() await this.page.click('.network-display--clickable') // Network popup menu on the top right. @@ -104,6 +106,23 @@ export class MetaMask { await this.page.click('//button[@title="Close"]') // Close "What's new" section. log('Metamask activated.') + + log('Add Sepolia') + await this.page.goto( + 'chrome-extension://' + (await this.getExtensionId()) + '//home.html#settings/networks/add-network' + ) + + await this.page.locator('input').locator('nth=1').fill('Sepolia Test Network') + await this.page.locator('input').locator('nth=2').fill('https://rpc2.sepolia.org') + await this.page.locator('input').locator('nth=3').fill('11155111') + await this.page.locator('input').locator('nth=4').fill('ETH') + await this.page.click(XPath.text('button', 'Save')) + + log('Sepolia added') + + log('Switch back to mainnet') + await this.switchToNetwork('Ethereum Mainnet') + log('Switched back to mainnet') } async switchWallet(index: number) {