diff --git a/.depcheckrc.yml b/.depcheckrc.yml index ed912e9c6064..893a990314e9 100644 --- a/.depcheckrc.yml +++ b/.depcheckrc.yml @@ -28,6 +28,7 @@ ignores: - '@metamask/test-dapp' - '@metamask/test-dapp-multichain' - '@metamask/test-dapp-solana' + - '@metamask/snap-simple-keyring-site' - '@metamask/design-tokens' # Only imported in index.css - '@tsconfig/node22' # required dynamically by TS, used in tsconfig.json - '@sentry/cli' # invoked as `sentry-cli` diff --git a/development/build/index.js b/development/build/index.js index 018945686df7..c0319636f865 100755 --- a/development/build/index.js +++ b/development/build/index.js @@ -168,6 +168,7 @@ async function defineAndRunBuildTasks() { 'browser', // for testing vault corruption 'chrome', // for testing vault corruption `indexedDB`, // for testing vault corruption + 'devicePixelRatio', // for using snap simple keyring site ]; } diff --git a/development/webpack/utils/plugins/LavamoatPlugin/index.ts b/development/webpack/utils/plugins/LavamoatPlugin/index.ts index cff3a82d6596..0b2bf7373e20 100644 --- a/development/webpack/utils/plugins/LavamoatPlugin/index.ts +++ b/development/webpack/utils/plugins/LavamoatPlugin/index.ts @@ -128,7 +128,9 @@ export const lavamoatPlugin = (args: Args) => // globals opera needs to function 'opr', // globals used by e2e - ...(args.test ? ['ret_nodes', 'browser', 'chrome', 'indexedDB'] : []), + ...(args.test + ? ['ret_nodes', 'browser', 'chrome', 'indexedDB', 'devicePixelRatio'] + : []), ], }, }); diff --git a/lavamoat/browserify/beta/policy.json b/lavamoat/browserify/beta/policy.json index 761a3e8bd1bd..1770a16e89dc 100644 --- a/lavamoat/browserify/beta/policy.json +++ b/lavamoat/browserify/beta/policy.json @@ -737,7 +737,7 @@ "packages": { "@babel/runtime": true, "@material-ui/core>@material-ui/utils": true, - "@material-ui/core>clsx": true, + "@material-ui/core>@material-ui/styles>clsx": true, "react-redux>hoist-non-react-statics": true, "@material-ui/core>@material-ui/styles>jss-plugin-camel-case": true, "@material-ui/core>@material-ui/styles>jss-plugin-default-unit": true, @@ -2224,10 +2224,9 @@ "Element": true, "HTMLElement": true, "ShadowRoot": true, - "console.error": true, - "console.warn": true, "document": true, - "navigator.userAgent": true + "navigator.userAgent": true, + "navigator.userAgentData": true } }, "@trezor/connect-web>@trezor/connect>@trezor/protobuf>protobufjs>@protobufjs/codegen": { diff --git a/lavamoat/browserify/experimental/policy.json b/lavamoat/browserify/experimental/policy.json index 761a3e8bd1bd..1770a16e89dc 100644 --- a/lavamoat/browserify/experimental/policy.json +++ b/lavamoat/browserify/experimental/policy.json @@ -737,7 +737,7 @@ "packages": { "@babel/runtime": true, "@material-ui/core>@material-ui/utils": true, - "@material-ui/core>clsx": true, + "@material-ui/core>@material-ui/styles>clsx": true, "react-redux>hoist-non-react-statics": true, "@material-ui/core>@material-ui/styles>jss-plugin-camel-case": true, "@material-ui/core>@material-ui/styles>jss-plugin-default-unit": true, @@ -2224,10 +2224,9 @@ "Element": true, "HTMLElement": true, "ShadowRoot": true, - "console.error": true, - "console.warn": true, "document": true, - "navigator.userAgent": true + "navigator.userAgent": true, + "navigator.userAgentData": true } }, "@trezor/connect-web>@trezor/connect>@trezor/protobuf>protobufjs>@protobufjs/codegen": { diff --git a/lavamoat/browserify/flask/policy.json b/lavamoat/browserify/flask/policy.json index 761a3e8bd1bd..1770a16e89dc 100644 --- a/lavamoat/browserify/flask/policy.json +++ b/lavamoat/browserify/flask/policy.json @@ -737,7 +737,7 @@ "packages": { "@babel/runtime": true, "@material-ui/core>@material-ui/utils": true, - "@material-ui/core>clsx": true, + "@material-ui/core>@material-ui/styles>clsx": true, "react-redux>hoist-non-react-statics": true, "@material-ui/core>@material-ui/styles>jss-plugin-camel-case": true, "@material-ui/core>@material-ui/styles>jss-plugin-default-unit": true, @@ -2224,10 +2224,9 @@ "Element": true, "HTMLElement": true, "ShadowRoot": true, - "console.error": true, - "console.warn": true, "document": true, - "navigator.userAgent": true + "navigator.userAgent": true, + "navigator.userAgentData": true } }, "@trezor/connect-web>@trezor/connect>@trezor/protobuf>protobufjs>@protobufjs/codegen": { diff --git a/lavamoat/browserify/main/policy.json b/lavamoat/browserify/main/policy.json index 761a3e8bd1bd..1770a16e89dc 100644 --- a/lavamoat/browserify/main/policy.json +++ b/lavamoat/browserify/main/policy.json @@ -737,7 +737,7 @@ "packages": { "@babel/runtime": true, "@material-ui/core>@material-ui/utils": true, - "@material-ui/core>clsx": true, + "@material-ui/core>@material-ui/styles>clsx": true, "react-redux>hoist-non-react-statics": true, "@material-ui/core>@material-ui/styles>jss-plugin-camel-case": true, "@material-ui/core>@material-ui/styles>jss-plugin-default-unit": true, @@ -2224,10 +2224,9 @@ "Element": true, "HTMLElement": true, "ShadowRoot": true, - "console.error": true, - "console.warn": true, "document": true, - "navigator.userAgent": true + "navigator.userAgent": true, + "navigator.userAgentData": true } }, "@trezor/connect-web>@trezor/connect>@trezor/protobuf>protobufjs>@protobufjs/codegen": { diff --git a/lavamoat/build-system/policy.json b/lavamoat/build-system/policy.json index 8258badaa592..b6668c0dad96 100644 --- a/lavamoat/build-system/policy.json +++ b/lavamoat/build-system/policy.json @@ -786,12 +786,26 @@ "packages": { "@babel/code-frame": true, "@babel/core>@babel/generator": true, + "depcheck>@babel/traverse>@babel/helper-globals": true, "@babel/core>@babel/parser": true, "@babel/core>@babel/template": true, "@babel/core>@babel/types": true, "babel/preset-env>b@babel/types": true, + "nock>debug": true + } + }, + "lavamoat>lavamoat-tofu>@babel/traverse": { + "globals": { + "console.log": true + }, + "packages": { + "@babel/code-frame": true, + "@babel/core>@babel/generator": true, + "lavamoat>lavamoat-tofu>@babel/traverse>@babel/parser": true, + "@babel/core>@babel/template": true, + "lavamoat>lavamoat-tofu>@babel/traverse>@babel/types": true, "nock>debug": true, - "depcheck>@babel/traverse>globals": true + "lavamoat>lavamoat-tofu>@babel/traverse>globals": true } }, "@babel/core>@babel/types": { @@ -804,6 +818,16 @@ "@babel/code-frame>@babel/helper-validator-identifier": true } }, + "lavamoat>lavamoat-tofu>@babel/traverse>@babel/types": { + "globals": { + "console.warn": true, + "process.env.BABEL_TYPES_8_BREAKING": true + }, + "packages": { + "@babel/core>@babel/types>@babel/helper-string-parser": true, + "@babel/code-frame>@babel/helper-validator-identifier": true + } + }, "sass-embedded>@bufbuild/protobuf": { "globals": { "TextDecoder": true, @@ -1027,7 +1051,7 @@ }, "@babel/eslint-parser>@nicolo-ribaudo/eslint-scope-5-internals": { "packages": { - "@babel/eslint-parser>@nicolo-ribaudo/eslint-scope-5-internals>eslint-scope": true + "webpack>eslint-scope": true } }, "@noble/hashes": { @@ -1196,7 +1220,6 @@ "eslint-plugin-jest>@typescript-eslint/utils>@typescript-eslint/types": true, "@typescript-eslint/parser>@typescript-eslint": true, "eslint": true, - "eslint-plugin-jest>@typescript-eslint/utils>eslint-scope": true, "eslint>eslint-scope": true, "webpack>eslint-scope": true, "eslint-plugin-jest>@typescript-eslint/utils>webpack>eslint-scope": true, @@ -1536,6 +1559,13 @@ "gulp>gulp-cli>matchdep>micromatch>snapdragon>base>pascalcase": true } }, + "browserslist>baseline-browser-mapping": { + "globals": { + "console.log": true, + "console.warn": true, + "process.exit": true + } + }, "bify-module-groups": { "packages": { "pify": true, @@ -1676,6 +1706,7 @@ "path.basename": true, "path.dirname": true, "path.join": true, + "path.posix.join": true, "path.relative": true, "path.resolve": true }, @@ -1685,6 +1716,7 @@ "process.versions.node": true }, "packages": { + "browserslist>baseline-browser-mapping": true, "autoprefixer>caniuse-lite": true, "browserslist>electron-to-chromium": true, "browserslist>node-releases": true @@ -2841,24 +2873,6 @@ "process.env.NODE_ENV": true } }, - "@babel/eslint-parser>@nicolo-ribaudo/eslint-scope-5-internals>eslint-scope": { - "builtin": { - "assert": true - }, - "packages": { - "eslint>eslint-scope>esrecurse": true, - "@babel/eslint-parser>@nicolo-ribaudo/eslint-scope-5-internals>eslint-scope>estraverse": true - } - }, - "eslint-plugin-jest>@typescript-eslint/utils>eslint-scope": { - "builtin": { - "assert": true - }, - "packages": { - "eslint>eslint-scope>esrecurse": true, - "eslint-plugin-jest>@typescript-eslint/utils>eslint-scope>estraverse": true - } - }, "eslint>eslint-scope": { "builtin": { "assert": true @@ -4420,7 +4434,7 @@ }, "packages": { "lavamoat>lavamoat-tofu>@babel/parser": true, - "depcheck>@babel/traverse": true + "lavamoat>lavamoat-tofu>@babel/traverse": true } }, "lavamoat>lavamoat-core>merge-deep>clone-deep>lazy-cache": { diff --git a/lavamoat/webpack/policy.json b/lavamoat/webpack/policy.json index 54a65a4af37c..90e3af7d2b89 100644 --- a/lavamoat/webpack/policy.json +++ b/lavamoat/webpack/policy.json @@ -2298,10 +2298,9 @@ "Element": true, "HTMLElement": true, "ShadowRoot": true, - "console.error": true, - "console.warn": true, "document": true, - "navigator.userAgent": true + "navigator.userAgent": true, + "navigator.userAgentData": true } }, "@trezor/connect-web>@trezor/connect>@trezor/protobuf>protobufjs>@protobufjs/codegen": { diff --git a/package.json b/package.json index 02c4e7dfa847..aa495e6a4cda 100644 --- a/package.json +++ b/package.json @@ -481,6 +481,7 @@ "@metamask/foundryup": "^1.0.1", "@metamask/phishing-warning": "^5.0.1", "@metamask/preferences-controller": "^19.0.0", + "@metamask/snap-simple-keyring-site": "^2.0.0", "@metamask/superstruct": "^3.2.1", "@metamask/test-bundler": "^1.0.0", "@metamask/test-dapp": "9.3.0", diff --git a/test/e2e/accounts/snap-account-eth-swap.spec.ts b/test/e2e/accounts/snap-account-eth-swap.spec.ts index 082c409b96a9..074e85e8fbab 100644 --- a/test/e2e/accounts/snap-account-eth-swap.spec.ts +++ b/test/e2e/accounts/snap-account-eth-swap.spec.ts @@ -11,7 +11,7 @@ import { TRADES_API_MOCK_RESULT } from '../../data/mock-data'; import { installSnapSimpleKeyring } from '../page-objects/flows/snap-simple-keyring.flow'; import { loginWithBalanceValidation } from '../page-objects/flows/login.flow'; import { Mockttp } from '../mock-e2e'; -import { mockSimpleKeyringSnap } from '../mock-response-data/snaps/snap-binary-mocks'; +import { mockSnapSimpleKeyringAndSite } from '../tests/account/snap-keyring-site-mocks'; const DAI = 'DAI'; const TEST_ETH = 'TESTETH'; @@ -29,7 +29,7 @@ async function mockSwapsTransactionQuote(mockServer: Mockttp) { async function mockSwapsAndSimpleKeyringSnap(mockServer: Mockttp) { return [ - await mockSimpleKeyringSnap(mockServer), + ...(await mockSnapSimpleKeyringAndSite(mockServer)), await mockSwapsTransactionQuote(mockServer), ]; } @@ -39,9 +39,11 @@ describe('Snap Account - Swap', function () { it.skip('swaps ETH for DAI using a snap account', async function () { await withFixtures( { + dapp: true, + dappPaths: ['snap-simple-keyring-site'], fixtures: new FixtureBuilder().build(), - title: this.test?.fullTitle(), testSpecificMock: mockSwapsAndSimpleKeyringSnap, + title: this.test?.fullTitle(), }, async ({ driver }: { driver: Driver }) => { await loginWithBalanceValidation(driver); diff --git a/test/e2e/helpers.js b/test/e2e/helpers.js index 1759bf387466..df8f0ba76425 100644 --- a/test/e2e/helpers.js +++ b/test/e2e/helpers.js @@ -279,21 +279,57 @@ async function withFixtures(options, testSuite) { if (dapp) { if (dappOptions?.numberOfDapps) { numberOfDapps = dappOptions.numberOfDapps; + // Note: We don't cap numberOfDapps here even if dappPaths is shorter, + // because tests may need multiple dapps where some use default paths + } else if (dappPaths && Array.isArray(dappPaths)) { + numberOfDapps = dappPaths.length; + } else { + // Default to 1 dapp when dapp=true but no specific configuration + numberOfDapps = 1; } + for (let i = 0; i < numberOfDapps; i++) { let dappDirectory; - if (dappPath || (dappPaths && dappPaths[i])) { - dappDirectory = path.resolve(__dirname, dappPath || dappPaths[i]); + let currentDappPath; + if (dappPath) { + // Single dappPath takes precedence + currentDappPath = dappPath; + } else if ( + dappPaths && + Array.isArray(dappPaths) && + i < dappPaths.length + ) { + // Use dappPaths[i] if within bounds + currentDappPath = dappPaths[i]; } else { - dappDirectory = path.resolve( - __dirname, - '..', - '..', - 'node_modules', - '@metamask', - 'test-dapp', - 'dist', - ); + // Fallback to default + currentDappPath = 'test-dapp'; + } + + switch (currentDappPath) { + case 'snap-simple-keyring-site': + dappDirectory = path.resolve( + __dirname, + '..', + '..', + 'node_modules', + '@metamask/snap-simple-keyring-site', + 'public', + ); + break; + case 'test-dapp': + dappDirectory = path.resolve( + __dirname, + '..', + '..', + 'node_modules', + '@metamask/test-dapp', + 'dist', + ); + break; + default: + dappDirectory = path.resolve(__dirname, currentDappPath); + break; } dappServer.push( createStaticServer({ public: dappDirectory, ...staticServerOptions }), diff --git a/test/e2e/mock-e2e-allowlist.js b/test/e2e/mock-e2e-allowlist.js index 05ff6ba411dc..65f1f49a165f 100644 --- a/test/e2e/mock-e2e-allowlist.js +++ b/test/e2e/mock-e2e-allowlist.js @@ -19,15 +19,6 @@ const ALLOWLISTED_URLS = [ 'https://metamask.github.io/snap-account-abstraction-keyring/0.5.0/page-data/app-data.json', 'https://metamask.github.io/snap-account-abstraction-keyring/0.5.0/page-data/index/page-data.json', 'https://metamask.github.io/snap-account-abstraction-keyring/0.5.0/webpack-runtime-eb27ff9e27bd689ff465.js', - 'https://metamask.github.io/snap-simple-keyring/1.1.6/', - 'https://metamask.github.io/snap-simple-keyring/1.1.6/72585f70-b0685205a809efe121dc.js', - 'https://metamask.github.io/snap-simple-keyring/1.1.6/f36c6662-7e78236bba23a76b6101.js', - 'https://metamask.github.io/snap-simple-keyring/1.1.6/app-f4c2969992b9afb13e7f.js', - 'https://metamask.github.io/snap-simple-keyring/1.1.6/component---src-pages-index-tsx-1bd38618fcde51a7fab0.js', - 'https://metamask.github.io/snap-simple-keyring/1.1.6/framework-fe667a09be4a08a9b5f4.js', - 'https://metamask.github.io/snap-simple-keyring/1.1.6/page-data/app-data.json', - 'https://metamask.github.io/snap-simple-keyring/1.1.6/page-data/index/page-data.json', - 'https://metamask.github.io/snap-simple-keyring/1.1.6/webpack-runtime-f26b9ef4aabef2136bf7.js', 'https://metamask.github.io/snaps/test-snaps/2.28.1', 'https://metamask.github.io/snaps/test-snaps/2.28.1/', 'https://metamask.github.io/snaps/test-snaps/2.28.1/main.js', diff --git a/test/e2e/mock-response-data/snaps/snap-binaries-and-headers/snap-simple-keyring-snap@1.1.6.txt b/test/e2e/mock-response-data/snaps/snap-binaries-and-headers/snap-simple-keyring-snap@1.1.6.txt deleted file mode 100644 index 3a89d02deae9..000000000000 Binary files a/test/e2e/mock-response-data/snaps/snap-binaries-and-headers/snap-simple-keyring-snap@1.1.6.txt and /dev/null differ diff --git a/test/e2e/mock-response-data/snaps/snap-binaries-and-headers/snap-simple-keyring-snap@1.1.6-headers.json b/test/e2e/mock-response-data/snaps/snap-binaries-and-headers/snap-simple-keyring-snap@2.0.0-headers.json similarity index 56% rename from test/e2e/mock-response-data/snaps/snap-binaries-and-headers/snap-simple-keyring-snap@1.1.6-headers.json rename to test/e2e/mock-response-data/snaps/snap-binaries-and-headers/snap-simple-keyring-snap@2.0.0-headers.json index 3e1f4ecc6f64..efd1012c011a 100644 --- a/test/e2e/mock-response-data/snaps/snap-binaries-and-headers/snap-simple-keyring-snap@1.1.6-headers.json +++ b/test/e2e/mock-response-data/snaps/snap-binaries-and-headers/snap-simple-keyring-snap@2.0.0-headers.json @@ -1,7 +1,7 @@ { "Accept-Ranges": "bytes", - "Content-Length": "746597", + "Content-Length": "289072", "Content-Type": "application/octet-stream", - "Etag": "\"5e3236532d71422b12b808da978c2fbf\"", + "Etag": "\"6e270316be30ae430f404e1d920de4db\"", "Vary": "Accept-Encoding" } diff --git a/test/e2e/mock-response-data/snaps/snap-binaries-and-headers/snap-simple-keyring-snap@2.0.0.txt b/test/e2e/mock-response-data/snaps/snap-binaries-and-headers/snap-simple-keyring-snap@2.0.0.txt new file mode 100644 index 000000000000..8dd299f7f7dd Binary files /dev/null and b/test/e2e/mock-response-data/snaps/snap-binaries-and-headers/snap-simple-keyring-snap@2.0.0.txt differ diff --git a/test/e2e/tests/account/create-remove-account-snap.spec.ts b/test/e2e/tests/account/create-remove-account-snap.spec.ts index c9aece199f29..024b38b3b6a5 100644 --- a/test/e2e/tests/account/create-remove-account-snap.spec.ts +++ b/test/e2e/tests/account/create-remove-account-snap.spec.ts @@ -8,14 +8,16 @@ import SnapListPage from '../../page-objects/pages/snap-list-page'; import SnapSimpleKeyringPage from '../../page-objects/pages/snap-simple-keyring-page'; import { installSnapSimpleKeyring } from '../../page-objects/flows/snap-simple-keyring.flow'; import { loginWithBalanceValidation } from '../../page-objects/flows/login.flow'; -import { mockSimpleKeyringSnap } from '../../mock-response-data/snaps/snap-binary-mocks'; +import { mockSnapSimpleKeyringAndSite } from './snap-keyring-site-mocks'; describe('Create and remove Snap Account', function (this: Suite) { it('create snap account and remove it by removing snap', async function () { await withFixtures( { + dapp: true, + dappPaths: ['snap-simple-keyring-site'], fixtures: new FixtureBuilder().build(), - testSpecificMock: mockSimpleKeyringSnap, + testSpecificMock: mockSnapSimpleKeyringAndSite, title: this.test?.fullTitle(), }, async ({ driver }: { driver: Driver }) => { diff --git a/test/e2e/tests/account/create-snap-account.spec.ts b/test/e2e/tests/account/create-snap-account.spec.ts index c6849080372d..8f9746f6c3f2 100644 --- a/test/e2e/tests/account/create-snap-account.spec.ts +++ b/test/e2e/tests/account/create-snap-account.spec.ts @@ -7,14 +7,16 @@ import HeaderNavbar from '../../page-objects/pages/header-navbar'; import SnapSimpleKeyringPage from '../../page-objects/pages/snap-simple-keyring-page'; import { installSnapSimpleKeyring } from '../../page-objects/flows/snap-simple-keyring.flow'; import { loginWithBalanceValidation } from '../../page-objects/flows/login.flow'; -import { mockSimpleKeyringSnap } from '../../mock-response-data/snaps/snap-binary-mocks'; +import { mockSnapSimpleKeyringAndSite } from './snap-keyring-site-mocks'; describe('Create Snap Account', function (this: Suite) { it('create Snap account with custom name input ends in approval success', async function () { await withFixtures( { + dapp: true, + dappPaths: ['snap-simple-keyring-site'], fixtures: new FixtureBuilder().build(), - testSpecificMock: mockSimpleKeyringSnap, + testSpecificMock: mockSnapSimpleKeyringAndSite, title: this.test?.fullTitle(), }, async ({ driver }: { driver: Driver }) => { @@ -37,8 +39,10 @@ describe('Create Snap Account', function (this: Suite) { it('creates multiple Snap accounts with increasing numeric suffixes', async function () { await withFixtures( { + dapp: true, + dappPaths: ['snap-simple-keyring-site'], fixtures: new FixtureBuilder().build(), - testSpecificMock: mockSimpleKeyringSnap, + testSpecificMock: mockSnapSimpleKeyringAndSite, title: this.test?.fullTitle(), }, async ({ driver }: { driver: Driver }) => { @@ -75,8 +79,10 @@ describe('Create Snap Account', function (this: Suite) { it('create Snap account canceling on confirmation screen results in error on Snap', async function () { await withFixtures( { + dapp: true, + dappPaths: ['snap-simple-keyring-site'], fixtures: new FixtureBuilder().build(), - testSpecificMock: mockSimpleKeyringSnap, + testSpecificMock: mockSnapSimpleKeyringAndSite, title: this.test?.fullTitle(), }, async ({ driver }: { driver: Driver }) => { @@ -109,8 +115,10 @@ describe('Create Snap Account', function (this: Suite) { it('create Snap account canceling on fill name screen results in error on Snap', async function () { await withFixtures( { + dapp: true, + dappPaths: ['snap-simple-keyring-site'], fixtures: new FixtureBuilder().build(), - testSpecificMock: mockSimpleKeyringSnap, + testSpecificMock: mockSnapSimpleKeyringAndSite, title: this.test?.fullTitle(), }, async ({ driver }: { driver: Driver }) => { diff --git a/test/e2e/tests/account/snap-account-contract-interaction.spec.ts b/test/e2e/tests/account/snap-account-contract-interaction.spec.ts index a8dcfcce1094..f69d46e14807 100644 --- a/test/e2e/tests/account/snap-account-contract-interaction.spec.ts +++ b/test/e2e/tests/account/snap-account-contract-interaction.spec.ts @@ -1,4 +1,5 @@ import { Suite } from 'mocha'; +import { Mockttp } from 'mockttp'; import { Driver } from '../../webdriver/driver'; import FixtureBuilder from '../../fixture-builder'; import { Anvil } from '../../seeder/anvil'; @@ -14,7 +15,7 @@ import TestDapp from '../../page-objects/pages/test-dapp'; import TransactionConfirmation from '../../page-objects/pages/confirmations/redesign/transaction-confirmation'; import { installSnapSimpleKeyring } from '../../page-objects/flows/snap-simple-keyring.flow'; import { loginWithBalanceValidation } from '../../page-objects/flows/login.flow'; -import { mockSimpleKeyringSnap } from '../../mock-response-data/snaps/snap-binary-mocks'; +import { mockSnapSimpleKeyringAndSite } from './snap-keyring-site-mocks'; describe('Snap Account Contract interaction', function (this: Suite) { const smartContract = SMART_CONTRACTS.PIGGYBANK; @@ -22,6 +23,7 @@ describe('Snap Account Contract interaction', function (this: Suite) { await withFixtures( { dapp: true, + dappPaths: ['test-dapp', 'snap-simple-keyring-site'], fixtures: new FixtureBuilder() .withPermissionControllerSnapAccountConnectedToTestDapp() .build(), @@ -29,7 +31,13 @@ describe('Snap Account Contract interaction', function (this: Suite) { hardfork: 'london', }, smartContract, - testSpecificMock: mockSimpleKeyringSnap, + testSpecificMock: async (mockServer: Mockttp) => { + const snapMocks = await mockSnapSimpleKeyringAndSite( + mockServer, + 8081, + ); + return snapMocks; + }, title: this.test?.fullTitle(), }, async ({ diff --git a/test/e2e/tests/account/snap-account-signatures-and-disconnects.spec.ts b/test/e2e/tests/account/snap-account-signatures-and-disconnects.spec.ts index 05e1e9d8e7b8..7e94cb68a34a 100644 --- a/test/e2e/tests/account/snap-account-signatures-and-disconnects.spec.ts +++ b/test/e2e/tests/account/snap-account-signatures-and-disconnects.spec.ts @@ -1,4 +1,5 @@ import { Suite } from 'mocha'; +import { Mockttp } from 'mockttp'; import { Driver } from '../../webdriver/driver'; import { WINDOW_TITLES, withFixtures } from '../../helpers'; import FixtureBuilder from '../../fixture-builder'; @@ -11,15 +12,22 @@ import { signTypedDataV3WithSnapAccount, signTypedDataV4WithSnapAccount, } from '../../page-objects/flows/sign.flow'; -import { mockSimpleKeyringSnap } from '../../mock-response-data/snaps/snap-binary-mocks'; +import { mockSnapSimpleKeyringAndSite } from './snap-keyring-site-mocks'; describe('Snap Account Signatures and Disconnects', function (this: Suite) { it('can connect to the Test Dapp, then #signTypedDataV3, disconnect then connect, then #signTypedDataV4 (async flow approve)', async function () { await withFixtures( { dapp: true, + dappPaths: ['test-dapp', 'snap-simple-keyring-site'], fixtures: new FixtureBuilder().build(), - testSpecificMock: mockSimpleKeyringSnap, + testSpecificMock: async (mockServer: Mockttp) => { + const snapMocks = await mockSnapSimpleKeyringAndSite( + mockServer, + 8081, + ); + return snapMocks; + }, title: this.test?.fullTitle(), }, async ({ driver }: { driver: Driver }) => { diff --git a/test/e2e/tests/account/snap-account-signatures.spec.ts b/test/e2e/tests/account/snap-account-signatures.spec.ts index ed951b14fabf..85f14b40178b 100644 --- a/test/e2e/tests/account/snap-account-signatures.spec.ts +++ b/test/e2e/tests/account/snap-account-signatures.spec.ts @@ -1,4 +1,5 @@ import { Suite } from 'mocha'; +import { Mockttp } from 'mockttp'; import { Driver } from '../../webdriver/driver'; import { WINDOW_TITLES, withFixtures } from '../../helpers'; import FixtureBuilder from '../../fixture-builder'; @@ -16,7 +17,7 @@ import { signTypedDataV4WithSnapAccount, signTypedDataWithSnapAccount, } from '../../page-objects/flows/sign.flow'; -import { mockSimpleKeyringSnap } from '../../mock-response-data/snaps/snap-binary-mocks'; +import { mockSnapSimpleKeyringAndSite } from './snap-keyring-site-mocks'; describe('Snap Account Signatures', function (this: Suite) { this.timeout(500000); // This test is very long, so we need an unusually high timeout @@ -31,8 +32,15 @@ describe('Snap Account Signatures', function (this: Suite) { await withFixtures( { dapp: true, + dappPaths: ['test-dapp', 'snap-simple-keyring-site'], fixtures: new FixtureBuilder().build(), - testSpecificMock: mockSimpleKeyringSnap, + testSpecificMock: async (mockServer: Mockttp) => { + const snapMocks = await mockSnapSimpleKeyringAndSite( + mockServer, + 8081, + ); + return snapMocks; + }, title, }, async ({ driver }: { driver: Driver }) => { diff --git a/test/e2e/tests/account/snap-account-transfers.spec.ts b/test/e2e/tests/account/snap-account-transfers.spec.ts index b87ff848b1cb..3fba7fa0dec4 100644 --- a/test/e2e/tests/account/snap-account-transfers.spec.ts +++ b/test/e2e/tests/account/snap-account-transfers.spec.ts @@ -16,14 +16,16 @@ import SnapSimpleKeyringPage from '../../page-objects/pages/snap-simple-keyring- import { installSnapSimpleKeyring } from '../../page-objects/flows/snap-simple-keyring.flow'; import { loginWithBalanceValidation } from '../../page-objects/flows/login.flow'; import { sendRedesignedTransactionWithSnapAccount } from '../../page-objects/flows/send-transaction.flow'; -import { mockSimpleKeyringSnap } from '../../mock-response-data/snaps/snap-binary-mocks'; +import { mockSnapSimpleKeyringAndSite } from './snap-keyring-site-mocks'; describe('Snap Account Transfers', function (this: Suite) { it('can import a private key and transfer 1 ETH (sync flow)', async function () { await withFixtures( { fixtures: new FixtureBuilder().build(), - testSpecificMock: mockSimpleKeyringSnap, + testSpecificMock: mockSnapSimpleKeyringAndSite, + dapp: true, + dappPaths: ['snap-simple-keyring-site'], title: this.test?.fullTitle(), }, async ({ driver }: { driver: Driver }) => { @@ -65,7 +67,9 @@ describe('Snap Account Transfers', function (this: Suite) { await withFixtures( { fixtures: new FixtureBuilder().build(), - testSpecificMock: mockSimpleKeyringSnap, + testSpecificMock: mockSnapSimpleKeyringAndSite, + dapp: true, + dappPaths: ['snap-simple-keyring-site'], title: this.test?.fullTitle(), }, async ({ driver }: { driver: Driver }) => { @@ -108,7 +112,9 @@ describe('Snap Account Transfers', function (this: Suite) { await withFixtures( { fixtures: new FixtureBuilder().build(), - testSpecificMock: mockSimpleKeyringSnap, + testSpecificMock: mockSnapSimpleKeyringAndSite, + dapp: true, + dappPaths: ['snap-simple-keyring-site'], title: this.test?.fullTitle(), ignoredConsoleErrors: ['Request rejected by user or snap.'], }, diff --git a/test/e2e/tests/account/snap-keyring-site-mocks.ts b/test/e2e/tests/account/snap-keyring-site-mocks.ts new file mode 100644 index 000000000000..54766e699a1b --- /dev/null +++ b/test/e2e/tests/account/snap-keyring-site-mocks.ts @@ -0,0 +1,50 @@ +import { Mockttp } from 'mockttp'; +import { mockSimpleKeyringSnap } from '../../mock-response-data/snaps/snap-binary-mocks'; + +export async function serveSnapKeyRingFromLocalhost( + mockServer: Mockttp, + port: number = 8080, +) { + // Proxy all metamask.github.io requests to local server + // This ensures the browser thinks it's visiting https://metamask.github.io (allowed origin) but actually gets content from localhost:port + // https://github.com/MetaMask/snap-simple-keyring/blob/40966a4363ff981bbb7d5e3bd62ad74a9fafc850/packages/snap/snap.manifest.json#L22 + return mockServer + .forGet(/^https:\/\/metamask\.github\.io\/.*$/u) + .thenCallback(async (request) => { + const url = new URL(request.url); + + // If it's the main page, serve from root + let localPath = ''; + if (url.pathname.includes('snap-simple-keyring')) { + // For snap pages, serve from root of local server + localPath = '/'; + } else { + // For other assets, keep the original path + localPath = url.pathname; + } + + const localUrl = `http://localhost:${port}${localPath}${url.search}`; + + const response = await fetch(localUrl); + const body = await response.text(); + + return { + statusCode: 200, + body, + headers: { + 'Content-Type': + response.headers.get('content-type') || 'text/html; charset=utf-8', + }, + }; + }); +} + +export async function mockSnapSimpleKeyringAndSite( + mockServer: Mockttp, + port: number = 8080, +) { + const simpleKeyring = await mockSimpleKeyringSnap(mockServer); + const siteProxy = await serveSnapKeyRingFromLocalhost(mockServer, port); + + return [simpleKeyring, siteProxy]; +} diff --git a/test/e2e/tests/multichain-accounts/common.ts b/test/e2e/tests/multichain-accounts/common.ts index 3377fa321977..6580c819c9e6 100644 --- a/test/e2e/tests/multichain-accounts/common.ts +++ b/test/e2e/tests/multichain-accounts/common.ts @@ -76,11 +76,15 @@ export async function withMultichainAccountsDesignEnabled( testSpecificMock = mockMultichainAccountsFeatureFlag, accountType = AccountType.MultiSRP, state = 1, + dapp, + dappPaths, }: { title?: string; testSpecificMock?: (mockServer: Mockttp) => Promise; accountType?: AccountType; state?: number; + dapp?: boolean; + dappPaths?: string[]; }, test: (driver: Driver) => Promise, ) { @@ -105,7 +109,8 @@ export async function withMultichainAccountsDesignEnabled( fixtures: fixture, testSpecificMock, title, - dapp: true, + dapp, + dappPaths, }, async ({ driver }: { driver: Driver; mockServer: Mockttp }) => { // State 2 uses unified account group balance (fiat) and may not equal '25 ETH'. diff --git a/test/e2e/tests/multichain-accounts/multichain-account-list-menu.spec.ts b/test/e2e/tests/multichain-accounts/multichain-account-list-menu.spec.ts index 5796b117878e..0a74f49695ef 100644 --- a/test/e2e/tests/multichain-accounts/multichain-account-list-menu.spec.ts +++ b/test/e2e/tests/multichain-accounts/multichain-account-list-menu.spec.ts @@ -1,7 +1,7 @@ import { Suite } from 'mocha'; import AccountListPage from '../../page-objects/pages/account-list-page'; import { Driver } from '../../webdriver/driver'; -import { mockSimpleKeyringSnap } from '../../mock-response-data/snaps/snap-binary-mocks'; +import { mockSnapSimpleKeyringAndSite } from '../account/snap-keyring-site-mocks'; import { installSnapSimpleKeyring } from '../../page-objects/flows/snap-simple-keyring.flow'; import SnapSimpleKeyringPage from '../../page-objects/pages/snap-simple-keyring-page'; import { WINDOW_TITLES } from '../../helpers'; @@ -79,8 +79,10 @@ describe('Multichain Accounts - Account tree', function (this: Suite) { { title: this.test?.fullTitle(), accountType: AccountType.SSK, + dapp: true, + dappPaths: ['snap-simple-keyring-site'], testSpecificMock: async (mockServer) => { - await mockSimpleKeyringSnap(mockServer); + await mockSnapSimpleKeyringAndSite(mockServer); return mockMultichainAccountsFeatureFlag(mockServer); }, }, diff --git a/test/e2e/tests/multichain-accounts/multichain-account-list-page.spec.ts b/test/e2e/tests/multichain-accounts/multichain-account-list-page.spec.ts index 6d843b469ca3..15937cda0404 100644 --- a/test/e2e/tests/multichain-accounts/multichain-account-list-page.spec.ts +++ b/test/e2e/tests/multichain-accounts/multichain-account-list-page.spec.ts @@ -1,7 +1,7 @@ import { Suite } from 'mocha'; import AccountListPage from '../../page-objects/pages/account-list-page'; import { Driver } from '../../webdriver/driver'; -import { mockSimpleKeyringSnap } from '../../mock-response-data/snaps/snap-binary-mocks'; +import { mockSnapSimpleKeyringAndSite } from '../account/snap-keyring-site-mocks'; import { installSnapSimpleKeyring } from '../../page-objects/flows/snap-simple-keyring.flow'; import SnapSimpleKeyringPage from '../../page-objects/pages/snap-simple-keyring-page'; import { WINDOW_TITLES } from '../../helpers'; @@ -64,8 +64,10 @@ describe('Multichain Accounts - Multichain accounts list page', function (this: { title: this.test?.fullTitle(), accountType: AccountType.SSK, + dapp: true, + dappPaths: ['snap-simple-keyring-site'], testSpecificMock: async (mockServer) => { - await mockSimpleKeyringSnap(mockServer); + await mockSnapSimpleKeyringAndSite(mockServer); return mockMultichainAccountsFeatureFlagStateTwo(mockServer); }, state: 2, diff --git a/ui/components/app/alert-system/general-alert/general-alert.tsx b/ui/components/app/alert-system/general-alert/general-alert.tsx index c32a4d24de71..ea619a6450d2 100644 --- a/ui/components/app/alert-system/general-alert/general-alert.tsx +++ b/ui/components/app/alert-system/general-alert/general-alert.tsx @@ -96,7 +96,7 @@ function AlertDetails({ ))} ) : ( - details + <>{details} )} - {helpText} + {helpText as PropTypes.ReactNodeLike} )} diff --git a/ui/pages/confirmations/hooks/alerts/transactions/useGasFeeLowAlerts.test.tsx b/ui/pages/confirmations/hooks/alerts/transactions/useGasFeeLowAlerts.test.tsx index c70a9683cc1b..12e7f6428e4e 100644 --- a/ui/pages/confirmations/hooks/alerts/transactions/useGasFeeLowAlerts.test.tsx +++ b/ui/pages/confirmations/hooks/alerts/transactions/useGasFeeLowAlerts.test.tsx @@ -1,4 +1,5 @@ -import React, { ReactChildren } from 'react'; +import React from 'react'; +import { ReactNodeLike } from 'prop-types'; import { ApprovalType } from '@metamask/controller-utils'; import { TransactionMeta } from '@metamask/transaction-controller'; @@ -57,7 +58,7 @@ function runHook(stateOptions?: Parameters[0]) { useGasFeeLowAlerts, state, '/', - ({ children }: { children: ReactChildren }) => ( + ({ children }: { children: NonNullable }) => ( {children} diff --git a/yarn.lock b/yarn.lock index 7154323f57aa..51cb51801da0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -254,7 +254,7 @@ __metadata: languageName: node linkType: hard -"@babel/generator@npm:^7.22.5, @babel/generator@npm:^7.23.0, @babel/generator@npm:^7.25.9, @babel/generator@npm:^7.26.3, @babel/generator@npm:^7.27.3, @babel/generator@npm:^7.7.2": +"@babel/generator@npm:^7.22.5, @babel/generator@npm:^7.23.0, @babel/generator@npm:^7.25.9, @babel/generator@npm:^7.26.3, @babel/generator@npm:^7.27.3, @babel/generator@npm:^7.28.3, @babel/generator@npm:^7.7.2": version: 7.28.3 resolution: "@babel/generator@npm:7.28.3" dependencies: @@ -267,12 +267,12 @@ __metadata: languageName: node linkType: hard -"@babel/helper-annotate-as-pure@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/helper-annotate-as-pure@npm:7.25.9" +"@babel/helper-annotate-as-pure@npm:^7.22.5, @babel/helper-annotate-as-pure@npm:^7.25.9": + version: 7.27.3 + resolution: "@babel/helper-annotate-as-pure@npm:7.27.3" dependencies: - "@babel/types": "npm:^7.25.9" - checksum: 10/41edda10df1ae106a9b4fe617bf7c6df77db992992afd46192534f5cff29f9e49a303231733782dd65c5f9409714a529f215325569f14282046e9d3b7a1ffb6c + "@babel/types": "npm:^7.27.3" + checksum: 10/63863a5c936ef82b546ca289c9d1b18fabfc24da5c4ee382830b124e2e79b68d626207febc8d4bffc720f50b2ee65691d7d12cc0308679dee2cd6bdc926b7190 languageName: node linkType: hard @@ -344,6 +344,13 @@ __metadata: languageName: node linkType: hard +"@babel/helper-globals@npm:^7.28.0": + version: 7.28.0 + resolution: "@babel/helper-globals@npm:7.28.0" + checksum: 10/91445f7edfde9b65dcac47f4f858f68dc1661bf73332060ab67ad7cc7b313421099a2bfc4bda30c3db3842cfa1e86fffbb0d7b2c5205a177d91b22c8d7d9cb47 + languageName: node + linkType: hard + "@babel/helper-member-expression-to-functions@npm:^7.25.9": version: 7.25.9 resolution: "@babel/helper-member-expression-to-functions@npm:7.25.9" @@ -354,13 +361,13 @@ __metadata: languageName: node linkType: hard -"@babel/helper-module-imports@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/helper-module-imports@npm:7.25.9" +"@babel/helper-module-imports@npm:^7.0.0, @babel/helper-module-imports@npm:^7.16.7, @babel/helper-module-imports@npm:^7.22.5, @babel/helper-module-imports@npm:^7.25.9": + version: 7.27.1 + resolution: "@babel/helper-module-imports@npm:7.27.1" dependencies: - "@babel/traverse": "npm:^7.25.9" - "@babel/types": "npm:^7.25.9" - checksum: 10/e090be5dee94dda6cd769972231b21ddfae988acd76b703a480ac0c96f3334557d70a965bf41245d6ee43891e7571a8b400ccf2b2be5803351375d0f4e5bcf08 + "@babel/traverse": "npm:^7.27.1" + "@babel/types": "npm:^7.27.1" + checksum: 10/58e792ea5d4ae71676e0d03d9fef33e886a09602addc3bd01388a98d87df9fcfd192968feb40ac4aedb7e287ec3d0c17b33e3ecefe002592041a91d8a1998a8d languageName: node linkType: hard @@ -387,10 +394,10 @@ __metadata: languageName: node linkType: hard -"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.22.5, @babel/helper-plugin-utils@npm:^7.24.0, @babel/helper-plugin-utils@npm:^7.25.9, @babel/helper-plugin-utils@npm:^7.8.0": - version: 7.25.9 - resolution: "@babel/helper-plugin-utils@npm:7.25.9" - checksum: 10/e347d87728b1ab10b6976d46403941c8f9008c045ea6d99997a7ffca7b852dc34b6171380f7b17edf94410e0857ff26f3a53d8618f11d73744db86e8ca9b8c64 +"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.22.5, @babel/helper-plugin-utils@npm:^7.24.0, @babel/helper-plugin-utils@npm:^7.25.9, @babel/helper-plugin-utils@npm:^7.27.1, @babel/helper-plugin-utils@npm:^7.8.0": + version: 7.27.1 + resolution: "@babel/helper-plugin-utils@npm:7.27.1" + checksum: 10/96136c2428888e620e2ec493c25888f9ceb4a21099dcf3dd4508ea64b58cdedbd5a9fb6c7b352546de84d6c24edafe482318646932a22c449ebd16d16c22d864 languageName: node linkType: hard @@ -525,7 +532,7 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.23.0, @babel/parser@npm:^7.25.3, @babel/parser@npm:^7.25.9, @babel/parser@npm:^7.26.7, @babel/parser@npm:^7.27.2, @babel/parser@npm:^7.27.3, @babel/parser@npm:^7.28.3": +"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.23.0, @babel/parser@npm:^7.25.3, @babel/parser@npm:^7.25.9, @babel/parser@npm:^7.26.7, @babel/parser@npm:^7.27.2, @babel/parser@npm:^7.27.3, @babel/parser@npm:^7.28.3, @babel/parser@npm:^7.28.4": version: 7.28.4 resolution: "@babel/parser@npm:7.28.4" dependencies: @@ -703,14 +710,14 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-jsx@npm:^7.25.9, @babel/plugin-syntax-jsx@npm:^7.7.2": - version: 7.25.9 - resolution: "@babel/plugin-syntax-jsx@npm:7.25.9" +"@babel/plugin-syntax-jsx@npm:^7.22.5, @babel/plugin-syntax-jsx@npm:^7.25.9, @babel/plugin-syntax-jsx@npm:^7.7.2": + version: 7.27.1 + resolution: "@babel/plugin-syntax-jsx@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10/bb609d1ffb50b58f0c1bac8810d0e46a4f6c922aa171c458f3a19d66ee545d36e782d3bffbbc1fed0dc65a558bdce1caf5279316583c0fff5a2c1658982a8563 + checksum: 10/c6d1324cff286a369aa95d99b8abd21dd07821b5d3affd5fe7d6058c84cff9190743287826463ee57a7beecd10fa1e4bc99061df532ee14e188c1c8937b13e3a languageName: node linkType: hard @@ -1646,7 +1653,7 @@ __metadata: languageName: node linkType: hard -"@babel/traverse@npm:7.27.3, @babel/traverse@npm:^7.12.5, @babel/traverse@npm:^7.18.9, @babel/traverse@npm:^7.23.2, @babel/traverse@npm:^7.25.9": +"@babel/traverse@npm:7.27.3": version: 7.27.3 resolution: "@babel/traverse@npm:7.27.3" dependencies: @@ -1661,6 +1668,21 @@ __metadata: languageName: node linkType: hard +"@babel/traverse@npm:^7.12.5, @babel/traverse@npm:^7.18.9, @babel/traverse@npm:^7.23.2, @babel/traverse@npm:^7.25.9, @babel/traverse@npm:^7.27.1, @babel/traverse@npm:^7.4.5": + version: 7.28.4 + resolution: "@babel/traverse@npm:7.28.4" + dependencies: + "@babel/code-frame": "npm:^7.27.1" + "@babel/generator": "npm:^7.28.3" + "@babel/helper-globals": "npm:^7.28.0" + "@babel/parser": "npm:^7.28.4" + "@babel/template": "npm:^7.27.2" + "@babel/types": "npm:^7.28.4" + debug: "npm:^4.3.1" + checksum: 10/c3099364b7b1c36bcd111099195d4abeef16499e5defb1e56766b754e8b768c252e856ed9041665158aa1b31215fc6682632756803c8fa53405381ec08c4752b + languageName: node + linkType: hard + "@babel/traverse@npm:~7.25.9": version: 7.25.9 resolution: "@babel/traverse@npm:7.25.9" @@ -1826,6 +1848,38 @@ __metadata: languageName: node linkType: hard +"@emotion/babel-plugin@npm:^11.13.5": + version: 11.13.5 + resolution: "@emotion/babel-plugin@npm:11.13.5" + dependencies: + "@babel/helper-module-imports": "npm:^7.16.7" + "@babel/runtime": "npm:^7.18.3" + "@emotion/hash": "npm:^0.9.2" + "@emotion/memoize": "npm:^0.9.0" + "@emotion/serialize": "npm:^1.3.3" + babel-plugin-macros: "npm:^3.1.0" + convert-source-map: "npm:^1.5.0" + escape-string-regexp: "npm:^4.0.0" + find-root: "npm:^1.1.0" + source-map: "npm:^0.5.7" + stylis: "npm:4.2.0" + checksum: 10/cd310568314d886ca328e504f84c4f7f9c7f092ea34a2b43fdb61f84665bf301ba2ef49e0fd1e7ded3d81363d9bbefbb32674ce88b317cfb64db2b65e5ff423f + languageName: node + linkType: hard + +"@emotion/cache@npm:^11.13.5, @emotion/cache@npm:^11.14.0": + version: 11.14.0 + resolution: "@emotion/cache@npm:11.14.0" + dependencies: + "@emotion/memoize": "npm:^0.9.0" + "@emotion/sheet": "npm:^1.4.0" + "@emotion/utils": "npm:^1.4.2" + "@emotion/weak-memoize": "npm:^0.4.0" + stylis: "npm:4.2.0" + checksum: 10/52336b28a27b07dde8fcdfd80851cbd1487672bbd4db1e24cca1440c95d8a6a968c57b0453c2b7c88d9b432b717f99554dbecc05b5cdef27933299827e69fd8e + languageName: node + linkType: hard + "@emotion/hash@npm:^0.8.0": version: 0.8.0 resolution: "@emotion/hash@npm:0.8.0" @@ -1833,12 +1887,131 @@ __metadata: languageName: node linkType: hard -"@emotion/use-insertion-effect-with-fallbacks@npm:^1.0.0": - version: 1.0.1 - resolution: "@emotion/use-insertion-effect-with-fallbacks@npm:1.0.1" +"@emotion/hash@npm:^0.9.2": + version: 0.9.2 + resolution: "@emotion/hash@npm:0.9.2" + checksum: 10/379bde2830ccb0328c2617ec009642321c0e009a46aa383dfbe75b679c6aea977ca698c832d225a893901f29d7b3eef0e38cf341f560f6b2b56f1ff23c172387 + languageName: node + linkType: hard + +"@emotion/is-prop-valid@npm:^1.1.0, @emotion/is-prop-valid@npm:^1.3.0": + version: 1.4.0 + resolution: "@emotion/is-prop-valid@npm:1.4.0" + dependencies: + "@emotion/memoize": "npm:^0.9.0" + checksum: 10/6fbec4d5cd90b5b68c85047ec1425bccb1fd332df08fa2aea0c15e430c467f01547363ad9108e452ef0494d805074419a7a45c6c866667c39b797f9223e6311d + languageName: node + linkType: hard + +"@emotion/memoize@npm:^0.9.0": + version: 0.9.0 + resolution: "@emotion/memoize@npm:0.9.0" + checksum: 10/038132359397348e378c593a773b1148cd0cf0a2285ffd067a0f63447b945f5278860d9de718f906a74c7c940ba1783ac2ca18f1c06a307b01cc0e3944e783b1 + languageName: node + linkType: hard + +"@emotion/react@npm:^11.11.1": + version: 11.14.0 + resolution: "@emotion/react@npm:11.14.0" + dependencies: + "@babel/runtime": "npm:^7.18.3" + "@emotion/babel-plugin": "npm:^11.13.5" + "@emotion/cache": "npm:^11.14.0" + "@emotion/serialize": "npm:^1.3.3" + "@emotion/use-insertion-effect-with-fallbacks": "npm:^1.2.0" + "@emotion/utils": "npm:^1.4.2" + "@emotion/weak-memoize": "npm:^0.4.0" + hoist-non-react-statics: "npm:^3.3.1" + peerDependencies: + react: ">=16.8.0" + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 10/3356c1d66f37f4e7abf88a2be843f6023b794b286c9c99a0aaf1cd1b2b7c50f8d80a2ef77183da737de70150f638e698ff4a2a38ab2d922f868615f1d5761c37 + languageName: node + linkType: hard + +"@emotion/serialize@npm:^1.3.3": + version: 1.3.3 + resolution: "@emotion/serialize@npm:1.3.3" + dependencies: + "@emotion/hash": "npm:^0.9.2" + "@emotion/memoize": "npm:^0.9.0" + "@emotion/unitless": "npm:^0.10.0" + "@emotion/utils": "npm:^1.4.2" + csstype: "npm:^3.0.2" + checksum: 10/44a2e06fc52dba177d9cf720f7b2c5d45ee4c0d9c09b78302d9a625e758d728ef3ae26f849237fec6f70e9eeb7d87e45a65028e944dc1f877df97c599f1cdaee + languageName: node + linkType: hard + +"@emotion/sheet@npm:^1.4.0": + version: 1.4.0 + resolution: "@emotion/sheet@npm:1.4.0" + checksum: 10/8ac6e9bf6b373a648f26ae7f1c24041038524f4c72f436f4f8c4761c665e58880c3229d8d89b1f7a4815dd8e5b49634d03e60187cb6f93097d7f7c1859e869d5 + languageName: node + linkType: hard + +"@emotion/styled@npm:^11.11.0": + version: 11.14.1 + resolution: "@emotion/styled@npm:11.14.1" + dependencies: + "@babel/runtime": "npm:^7.18.3" + "@emotion/babel-plugin": "npm:^11.13.5" + "@emotion/is-prop-valid": "npm:^1.3.0" + "@emotion/serialize": "npm:^1.3.3" + "@emotion/use-insertion-effect-with-fallbacks": "npm:^1.2.0" + "@emotion/utils": "npm:^1.4.2" + peerDependencies: + "@emotion/react": ^11.0.0-rc.0 + react: ">=16.8.0" + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 10/b20ffaaac76e16538051da8d417f1da75f47f0974000edf0999f39f309b23ee0a91ba7dc1d5f60c4017d29fadfed48631ae4a8f697e3662a88318c667d072117 + languageName: node + linkType: hard + +"@emotion/stylis@npm:^0.8.4": + version: 0.8.5 + resolution: "@emotion/stylis@npm:0.8.5" + checksum: 10/ceaa673457f501a393cb52873b2bc34dbe35ef0fb8faa4b943d73ecbbb42bc3cea53b87cbf482038b7b9b1f95859be3d8b58d508422b4d15aec5b62314cc3c1e + languageName: node + linkType: hard + +"@emotion/unitless@npm:^0.10.0": + version: 0.10.0 + resolution: "@emotion/unitless@npm:0.10.0" + checksum: 10/6851c16edce01c494305f43b2cad7a26b939a821131b7c354e49b8e3b012c8810024755b0f4a03ef51117750309e55339825a97bd10411fb3687e68904769106 + languageName: node + linkType: hard + +"@emotion/unitless@npm:^0.7.4": + version: 0.7.5 + resolution: "@emotion/unitless@npm:0.7.5" + checksum: 10/f976e5345b53fae9414a7b2e7a949aa6b52f8bdbcc84458b1ddc0729e77ba1d1dfdff9960e0da60183877873d3a631fa24d9695dd714ed94bcd3ba5196586a6b + languageName: node + linkType: hard + +"@emotion/use-insertion-effect-with-fallbacks@npm:^1.0.0, @emotion/use-insertion-effect-with-fallbacks@npm:^1.2.0": + version: 1.2.0 + resolution: "@emotion/use-insertion-effect-with-fallbacks@npm:1.2.0" peerDependencies: react: ">=16.8.0" - checksum: 10/7d7ead9ba3f615510f550aea67815281ec5a5487de55aafc250f820317afc1fd419bd9e9e27602a0206ec5c152f13dc6130bccad312c1036706c584c65d66ef7 + checksum: 10/2374999db8d53ef661d61ed1026c42a849632e4f03826f7eba0314c1d92ae342161d737f5045453aa46dd4008e13ccefeba68d3165b667dfad8e5784fcb0c643 + languageName: node + linkType: hard + +"@emotion/utils@npm:^1.4.2": + version: 1.4.2 + resolution: "@emotion/utils@npm:1.4.2" + checksum: 10/e5f3b8bca066b3361a7ad9064baeb9d01ed1bf51d98416a67359b62cb3affec6bb0249802c4ed11f4f8030f93cc4b67506909420bdb110adec6983d712897208 + languageName: node + linkType: hard + +"@emotion/weak-memoize@npm:^0.4.0": + version: 0.4.0 + resolution: "@emotion/weak-memoize@npm:0.4.0" + checksum: 10/db5da0e89bd752c78b6bd65a1e56231f0abebe2f71c0bd8fc47dff96408f7065b02e214080f99924f6a3bfe7ee15afc48dad999d76df86b39b16e513f7a94f52 languageName: node linkType: hard @@ -4433,12 +4606,12 @@ __metadata: linkType: hard "@jridgewell/trace-mapping@npm:^0.3.12, @jridgewell/trace-mapping@npm:^0.3.18, @jridgewell/trace-mapping@npm:^0.3.24, @jridgewell/trace-mapping@npm:^0.3.25, @jridgewell/trace-mapping@npm:^0.3.28, @jridgewell/trace-mapping@npm:^0.3.9": - version: 0.3.30 - resolution: "@jridgewell/trace-mapping@npm:0.3.30" + version: 0.3.31 + resolution: "@jridgewell/trace-mapping@npm:0.3.31" dependencies: "@jridgewell/resolve-uri": "npm:^3.1.0" "@jridgewell/sourcemap-codec": "npm:^1.4.14" - checksum: 10/f9fabe1122058f4fedc242bdc43fcaacb6b222c6fb712b7904c37704dcb16e50e07ca137ff99043da44292b18a8720296ff97f7703e960678b8ef51d0db4d250 + checksum: 10/da0283270e691bdb5543806077548532791608e52386cfbbf3b9e8fb00457859d1bd01d512851161c886eb3a2f3ce6fd9bcf25db8edf3bddedd275bd4a88d606 languageName: node linkType: hard @@ -6417,6 +6590,17 @@ __metadata: languageName: node linkType: hard +"@metamask/json-rpc-engine@npm:^7.1.1": + version: 7.3.3 + resolution: "@metamask/json-rpc-engine@npm:7.3.3" + dependencies: + "@metamask/rpc-errors": "npm:^6.2.1" + "@metamask/safe-event-emitter": "npm:^3.0.0" + "@metamask/utils": "npm:^8.3.0" + checksum: 10/116664c974c522d280335d9a02cba731e4f08562c2980415f7535513cd308c7e612e52618086996e5ac2b67db7f1e6ac1bd8201aba7825163db17a25f2874cc9 + languageName: node + linkType: hard + "@metamask/json-rpc-middleware-stream@npm:^8.0.4, @metamask/json-rpc-middleware-stream@npm:^8.0.6, @metamask/json-rpc-middleware-stream@npm:^8.0.7": version: 8.0.7 resolution: "@metamask/json-rpc-middleware-stream@npm:8.0.7" @@ -6570,6 +6754,22 @@ __metadata: languageName: node linkType: hard +"@metamask/keyring-api@npm:^8.1.3": + version: 8.1.3 + resolution: "@metamask/keyring-api@npm:8.1.3" + dependencies: + "@metamask/snaps-sdk": "npm:^6.5.1" + "@metamask/superstruct": "npm:^3.1.0" + "@metamask/utils": "npm:^9.2.1" + "@types/uuid": "npm:^9.0.8" + bech32: "npm:^2.0.0" + uuid: "npm:^9.0.1" + peerDependencies: + "@metamask/providers": ^17.2.0 + checksum: 10/9857b6286760d22b1b7102ea8bdf03ebf56c71e9f0adee19a2230def6b7a9230561c1a3bfcb308735b79ab9a5afa9afd07a1617c1d165f63d193cd6a6b6e7a15 + languageName: node + linkType: hard + "@metamask/keyring-controller@npm:^23.1.0": version: 23.1.0 resolution: "@metamask/keyring-controller@npm:23.1.0" @@ -6988,6 +7188,17 @@ __metadata: languageName: node linkType: hard +"@metamask/object-multiplex@npm:^1.1.0": + version: 1.3.0 + resolution: "@metamask/object-multiplex@npm:1.3.0" + dependencies: + end-of-stream: "npm:^1.4.4" + once: "npm:^1.4.0" + readable-stream: "npm:^2.3.3" + checksum: 10/4a2b48fc0e1a8f536edbab9f37b637cd91102538ad76ce07bdfad99b90d98b34585a0e5afa62ca9c1d550a0016347568ff0d635e5bf8cfa266d049e1c0ebedc8 + languageName: node + linkType: hard + "@metamask/object-multiplex@npm:^2.0.0, @metamask/object-multiplex@npm:^2.1.0": version: 2.1.0 resolution: "@metamask/object-multiplex@npm:2.1.0" @@ -7258,6 +7469,25 @@ __metadata: languageName: node linkType: hard +"@metamask/providers@npm:^13.0.0": + version: 13.1.0 + resolution: "@metamask/providers@npm:13.1.0" + dependencies: + "@metamask/json-rpc-engine": "npm:^7.1.1" + "@metamask/object-multiplex": "npm:^1.1.0" + "@metamask/rpc-errors": "npm:^6.0.0" + "@metamask/safe-event-emitter": "npm:^3.0.0" + "@metamask/utils": "npm:^8.1.0" + detect-browser: "npm:^5.2.0" + extension-port-stream: "npm:^2.1.1" + fast-deep-equal: "npm:^3.1.3" + is-stream: "npm:^2.0.0" + json-rpc-middleware-stream: "npm:^4.2.1" + webextension-polyfill: "npm:^0.10.0" + checksum: 10/2ee1802d92d0fd2c733c5d98137e4f92c77a42fbf008a6b19de25d84d48321502031b82aa66501c4ce9c7e863a82c1866fe477349b48ba1151d4b8c2114233e8 + languageName: node + linkType: hard + "@metamask/providers@npm:^22.1.1": version: 22.1.1 resolution: "@metamask/providers@npm:22.1.1" @@ -7302,6 +7532,16 @@ __metadata: languageName: node linkType: hard +"@metamask/rpc-errors@npm:^6.0.0, @metamask/rpc-errors@npm:^6.2.1": + version: 6.4.0 + resolution: "@metamask/rpc-errors@npm:6.4.0" + dependencies: + "@metamask/utils": "npm:^9.0.0" + fast-safe-stringify: "npm:^2.0.6" + checksum: 10/9a17525aa8ce9ac142a94c04000dba7f0635e8e155c6c045f57eca36cc78c255318cca2fad4571719a427dfd2df64b70bc6442989523a8de555480668d666ad5 + languageName: node + linkType: hard + "@metamask/rpc-errors@npm:^7.0.0, @metamask/rpc-errors@npm:^7.0.2, @metamask/rpc-errors@npm:^7.0.3": version: 7.0.3 resolution: "@metamask/rpc-errors@npm:7.0.3" @@ -7312,6 +7552,13 @@ __metadata: languageName: node linkType: hard +"@metamask/safe-event-emitter@npm:^2.0.0": + version: 2.0.0 + resolution: "@metamask/safe-event-emitter@npm:2.0.0" + checksum: 10/3e4f00c64aa1ddf9b9ae5c2337fb8cee359b6c481ded0ec21ef70610960c51cdcc4a9b569de334dcd7cb1fe445cafd298360907c1e211e244c5990b55246f350 + languageName: node + linkType: hard + "@metamask/safe-event-emitter@npm:^3.0.0, @metamask/safe-event-emitter@npm:^3.1.1": version: 3.1.1 resolution: "@metamask/safe-event-emitter@npm:3.1.1" @@ -7433,6 +7680,30 @@ __metadata: languageName: node linkType: hard +"@metamask/snap-simple-keyring-site@npm:^2.0.0": + version: 2.0.0 + resolution: "@metamask/snap-simple-keyring-site@npm:2.0.0" + dependencies: + "@emotion/react": "npm:^11.11.1" + "@emotion/styled": "npm:^11.11.0" + "@metamask/keyring-api": "npm:^8.1.3" + "@metamask/providers": "npm:^13.0.0" + "@mui/icons-material": "npm:^5.14.0" + "@mui/material": "npm:^5.14.0" + "@types/react-helmet": "npm:^6.1.6" + crypto-browserify: "npm:^3.12.1" + react: "npm:^18.2.0" + react-dom: "npm:^18.2.0" + react-helmet: "npm:^6.1.0" + react-icons: "npm:^4.8.0" + react-is: "npm:^18.2.0" + semver: "npm:^7.5.4" + styled-components: "npm:5.3.9" + webpack: "npm:^5.88.2" + checksum: 10/4363ea67ab446426a93665b38471e9c518f7a54f34177cbc4c67d5a5e75674d8da7ddc8f12391b247d5a2c35d3c2a61ed89bf07ce713bfc13f074a25d8e69a56 + languageName: node + linkType: hard + "@metamask/snaps-controllers@npm:^15.0.1": version: 15.0.1 resolution: "@metamask/snaps-controllers@npm:15.0.1" @@ -7833,7 +8104,7 @@ __metadata: languageName: node linkType: hard -"@metamask/utils@npm:^8.2.0, @metamask/utils@npm:^8.3.0": +"@metamask/utils@npm:^8.1.0, @metamask/utils@npm:^8.2.0, @metamask/utils@npm:^8.3.0": version: 8.5.0 resolution: "@metamask/utils@npm:8.5.0" dependencies: @@ -7874,6 +8145,161 @@ __metadata: languageName: node linkType: hard +"@mui/core-downloads-tracker@npm:^5.18.0": + version: 5.18.0 + resolution: "@mui/core-downloads-tracker@npm:5.18.0" + checksum: 10/065b46739d2bd84b880ad2f6a0a2062d60e3a296ce18ff380cad22ab5b2cb3de396755f322f4bea3a422ffffe1a9244536fc3c9623056ff3873c996e6664b1b9 + languageName: node + linkType: hard + +"@mui/icons-material@npm:^5.14.0": + version: 5.18.0 + resolution: "@mui/icons-material@npm:5.18.0" + dependencies: + "@babel/runtime": "npm:^7.23.9" + peerDependencies: + "@mui/material": ^5.0.0 + "@types/react": ^17.0.0 || ^18.0.0 || ^19.0.0 + react: ^17.0.0 || ^18.0.0 || ^19.0.0 + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 10/f55f3da3c375ec3bad5417f5588122587ccf6a02093de286ca723bb6d01692f2cdf81dea413abc396eba87d6f7ab7443cc51e3dd024da8099764e55e12fa4176 + languageName: node + linkType: hard + +"@mui/material@npm:^5.14.0": + version: 5.18.0 + resolution: "@mui/material@npm:5.18.0" + dependencies: + "@babel/runtime": "npm:^7.23.9" + "@mui/core-downloads-tracker": "npm:^5.18.0" + "@mui/system": "npm:^5.18.0" + "@mui/types": "npm:~7.2.15" + "@mui/utils": "npm:^5.17.1" + "@popperjs/core": "npm:^2.11.8" + "@types/react-transition-group": "npm:^4.4.10" + clsx: "npm:^2.1.0" + csstype: "npm:^3.1.3" + prop-types: "npm:^15.8.1" + react-is: "npm:^19.0.0" + react-transition-group: "npm:^4.4.5" + peerDependencies: + "@emotion/react": ^11.5.0 + "@emotion/styled": ^11.3.0 + "@types/react": ^17.0.0 || ^18.0.0 || ^19.0.0 + react: ^17.0.0 || ^18.0.0 || ^19.0.0 + react-dom: ^17.0.0 || ^18.0.0 || ^19.0.0 + peerDependenciesMeta: + "@emotion/react": + optional: true + "@emotion/styled": + optional: true + "@types/react": + optional: true + checksum: 10/4b72e07c76c7c4b1076db82ef42a06dfab7d73d73f0d272019b2e0b200fc25c27bb295a8672577e1094168054159bed387cf9af74fec30e98aead7d97fad0a57 + languageName: node + linkType: hard + +"@mui/private-theming@npm:^5.17.1": + version: 5.17.1 + resolution: "@mui/private-theming@npm:5.17.1" + dependencies: + "@babel/runtime": "npm:^7.23.9" + "@mui/utils": "npm:^5.17.1" + prop-types: "npm:^15.8.1" + peerDependencies: + "@types/react": ^17.0.0 || ^18.0.0 || ^19.0.0 + react: ^17.0.0 || ^18.0.0 || ^19.0.0 + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 10/f8b849f545e8ab29eac959f174f56702e5b72ffda85c3b0621750e294a3f64d15873ebdb792cf478564db1c3cf4b366eabcd4156897d811949f2df079b424c8c + languageName: node + linkType: hard + +"@mui/styled-engine@npm:^5.18.0": + version: 5.18.0 + resolution: "@mui/styled-engine@npm:5.18.0" + dependencies: + "@babel/runtime": "npm:^7.23.9" + "@emotion/cache": "npm:^11.13.5" + "@emotion/serialize": "npm:^1.3.3" + csstype: "npm:^3.1.3" + prop-types: "npm:^15.8.1" + peerDependencies: + "@emotion/react": ^11.4.1 + "@emotion/styled": ^11.3.0 + react: ^17.0.0 || ^18.0.0 || ^19.0.0 + peerDependenciesMeta: + "@emotion/react": + optional: true + "@emotion/styled": + optional: true + checksum: 10/8468a82bafb6dba40b7a3add845dd49868bcbcda3e9a0226a08f74b715dcbe2360186944ef94c44b2abe85f79335a470c0634195b9e48ccf6b5439df4bc17a90 + languageName: node + linkType: hard + +"@mui/system@npm:^5.18.0": + version: 5.18.0 + resolution: "@mui/system@npm:5.18.0" + dependencies: + "@babel/runtime": "npm:^7.23.9" + "@mui/private-theming": "npm:^5.17.1" + "@mui/styled-engine": "npm:^5.18.0" + "@mui/types": "npm:~7.2.15" + "@mui/utils": "npm:^5.17.1" + clsx: "npm:^2.1.0" + csstype: "npm:^3.1.3" + prop-types: "npm:^15.8.1" + peerDependencies: + "@emotion/react": ^11.5.0 + "@emotion/styled": ^11.3.0 + "@types/react": ^17.0.0 || ^18.0.0 || ^19.0.0 + react: ^17.0.0 || ^18.0.0 || ^19.0.0 + peerDependenciesMeta: + "@emotion/react": + optional: true + "@emotion/styled": + optional: true + "@types/react": + optional: true + checksum: 10/4584a4d4f62ddaecc8b047f1a3b24ecde2ea4198963b5db3c006fd8109cd16085099862dbf935fad545ee146a3c06f119e0dd9bdc987cf45f900bab611a4afe7 + languageName: node + linkType: hard + +"@mui/types@npm:~7.2.15": + version: 7.2.24 + resolution: "@mui/types@npm:7.2.24" + peerDependencies: + "@types/react": ^17.0.0 || ^18.0.0 || ^19.0.0 + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 10/5ed4f90ec62c7df901e58b53011bf6b377b48e13b07de9eeb15c7a6f3f759310f0682b64685c7762f660fad6edf4c8e05595313c93810fc63c54270b899b4a75 + languageName: node + linkType: hard + +"@mui/utils@npm:^5.17.1": + version: 5.17.1 + resolution: "@mui/utils@npm:5.17.1" + dependencies: + "@babel/runtime": "npm:^7.23.9" + "@mui/types": "npm:~7.2.15" + "@types/prop-types": "npm:^15.7.12" + clsx: "npm:^2.1.1" + prop-types: "npm:^15.8.1" + react-is: "npm:^19.0.0" + peerDependencies: + "@types/react": ^17.0.0 || ^18.0.0 || ^19.0.0 + react: ^17.0.0 || ^18.0.0 || ^19.0.0 + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 10/26efae9a9f84a817b016a93ab3e3c3d08533947f62b19d4a5f8cd67ebf6932b1f68c4e4ae677dc0d3397ecd1bf1cc8cb47ab83a345bcaa9b4f45c401ec9d3926 + languageName: node + linkType: hard + "@multiformats/base-x@npm:^4.0.1": version: 4.0.1 resolution: "@multiformats/base-x@npm:4.0.1" @@ -8978,10 +9404,10 @@ __metadata: languageName: node linkType: hard -"@popperjs/core@npm:^2.4.0": - version: 2.9.2 - resolution: "@popperjs/core@npm:2.9.2" - checksum: 10/d8c9c6fbba8bdc99235fc01946f171bb4a110a4683e5eb5016dc0fba81e2daf41053a1dffd0b1bb33f15d8e243c03c5721aadfa91b3bbcc32292b005201a3780 +"@popperjs/core@npm:^2.11.8, @popperjs/core@npm:^2.4.0": + version: 2.11.8 + resolution: "@popperjs/core@npm:2.11.8" + checksum: 10/ddd16090cde777aaf102940f05d0274602079a95ad9805bd20bc55dcc7c3a2ba1b99dd5c73e5cc2753c3d31250ca52a67d58059459d7d27debb983a9f552936c languageName: node linkType: hard @@ -14142,10 +14568,10 @@ __metadata: languageName: node linkType: hard -"@types/estree@npm:*, @types/estree@npm:^1.0.0, @types/estree@npm:^1.0.6": - version: 1.0.7 - resolution: "@types/estree@npm:1.0.7" - checksum: 10/419c845ece767ad4b21171e6e5b63dabb2eb46b9c0d97361edcd9cabbf6a95fcadb91d89b5fa098d1336fa0b8fceaea82fca97a2ef3971f5c86e53031e157b21 +"@types/estree@npm:*, @types/estree@npm:^1.0.0, @types/estree@npm:^1.0.6, @types/estree@npm:^1.0.8": + version: 1.0.8 + resolution: "@types/estree@npm:1.0.8" + checksum: 10/25a4c16a6752538ffde2826c2cc0c6491d90e69cd6187bef4a006dd2c3c45469f049e643d7e516c515f21484dc3d48fd5c870be158a5beb72f5baf3dc43e4099 languageName: node linkType: hard @@ -14700,10 +15126,10 @@ __metadata: languageName: node linkType: hard -"@types/prop-types@npm:*": - version: 15.7.3 - resolution: "@types/prop-types@npm:15.7.3" - checksum: 10/90064105961cfabb9174e61e5010b4e7a471e21832118ad0258f196f4be19ad7dd0f724cc62b0e90939d0b830d4f49ba54dffde166893fd0d9be1f3b43db6981 +"@types/prop-types@npm:*, @types/prop-types@npm:^15.7.12": + version: 15.7.15 + resolution: "@types/prop-types@npm:15.7.15" + checksum: 10/31aa2f59b28f24da6fb4f1d70807dae2aedfce090ec63eaf9ea01727a9533ef6eaf017de5bff99fbccad7d1c9e644f52c6c2ba30869465dd22b1a7221c29f356 languageName: node linkType: hard @@ -14746,6 +15172,15 @@ __metadata: languageName: node linkType: hard +"@types/react-helmet@npm:^6.1.6": + version: 6.1.11 + resolution: "@types/react-helmet@npm:6.1.11" + dependencies: + "@types/react": "npm:*" + checksum: 10/e329d8ad82c365fec7dd7d91c8b6d167faac30cef0d9f1e27d7e895172a0ebfa65829fb4acabbe79283b01cbbe5840a845caeb50148ceef6f3fad42b3c2c4bdc + languageName: node + linkType: hard + "@types/react-redux@npm:^7.1.20, @types/react-redux@npm:^7.1.25": version: 7.1.34 resolution: "@types/react-redux@npm:7.1.34" @@ -14779,12 +15214,12 @@ __metadata: languageName: node linkType: hard -"@types/react-transition-group@npm:^4.2.0": - version: 4.4.6 - resolution: "@types/react-transition-group@npm:4.4.6" - dependencies: - "@types/react": "npm:*" - checksum: 10/eb4a14df7ad283be56d44c4bd4351136bd50dfedf6958299fbbc571d6871fad17a373b5b9a6d44adac27154d1f2059225a26c4fee79053349a4d52eb89277787 +"@types/react-transition-group@npm:^4.2.0, @types/react-transition-group@npm:^4.4.10": + version: 4.4.12 + resolution: "@types/react-transition-group@npm:4.4.12" + peerDependencies: + "@types/react": "*" + checksum: 10/ea14bc84f529a3887f9954b753843820ac8a3c49fcdfec7840657ecc6a8800aad98afdbe4b973eb96c7252286bde38476fcf64b1c09527354a9a9366e516d9a2 languageName: node linkType: hard @@ -16401,6 +16836,15 @@ __metadata: languageName: node linkType: hard +"acorn-import-phases@npm:^1.0.3": + version: 1.0.4 + resolution: "acorn-import-phases@npm:1.0.4" + peerDependencies: + acorn: ^8.14.0 + checksum: 10/471050ac7d9b61909c837b426de9eeef2958997f6277ad7dea88d5894fd9b3245d8ed4a225c2ca44f814dbb20688009db7a80e525e8196fc9e98c5285b66161d + languageName: node + linkType: hard + "acorn-jsx@npm:^5.3.1, acorn-jsx@npm:^5.3.2": version: 5.3.2 resolution: "acorn-jsx@npm:5.3.2" @@ -16453,12 +16897,12 @@ __metadata: languageName: node linkType: hard -"acorn@npm:^8.1.0, acorn@npm:^8.10.0, acorn@npm:^8.11.3, acorn@npm:^8.14.0, acorn@npm:^8.2.4, acorn@npm:^8.4.1, acorn@npm:^8.8.1, acorn@npm:^8.9.0": - version: 8.14.0 - resolution: "acorn@npm:8.14.0" +"acorn@npm:^8.1.0, acorn@npm:^8.10.0, acorn@npm:^8.11.3, acorn@npm:^8.14.0, acorn@npm:^8.15.0, acorn@npm:^8.2.4, acorn@npm:^8.4.1, acorn@npm:^8.8.1, acorn@npm:^8.9.0": + version: 8.15.0 + resolution: "acorn@npm:8.15.0" bin: acorn: bin/acorn - checksum: 10/6df29c35556782ca9e632db461a7f97947772c6c1d5438a81f0c873a3da3a792487e83e404d1c6c25f70513e91aa18745f6eafb1fcc3a43ecd1920b21dd173d2 + checksum: 10/77f2de5051a631cf1729c090e5759148459cdb76b5f5c70f890503d629cf5052357b0ce783c0f976dd8a93c5150f59f6d18df1def3f502396a20f81282482fa4 languageName: node linkType: hard @@ -17629,6 +18073,17 @@ __metadata: languageName: node linkType: hard +"babel-plugin-macros@npm:^3.1.0": + version: 3.1.0 + resolution: "babel-plugin-macros@npm:3.1.0" + dependencies: + "@babel/runtime": "npm:^7.12.5" + cosmiconfig: "npm:^7.0.0" + resolve: "npm:^1.19.0" + checksum: 10/30be6ca45e9a124c58ca00af9a0753e5410ec0b79a737714fc4722bbbeb693e55d9258f05c437145ef4a867c2d1603e06a1c292d66c243ce1227458c8ea2ca8c + languageName: node + linkType: hard + "babel-plugin-polyfill-corejs2@npm:^0.4.10": version: 0.4.11 resolution: "babel-plugin-polyfill-corejs2@npm:0.4.11" @@ -17665,6 +18120,21 @@ __metadata: languageName: node linkType: hard +"babel-plugin-styled-components@npm:>= 1.12.0": + version: 2.1.4 + resolution: "babel-plugin-styled-components@npm:2.1.4" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.22.5" + "@babel/helper-module-imports": "npm:^7.22.5" + "@babel/plugin-syntax-jsx": "npm:^7.22.5" + lodash: "npm:^4.17.21" + picomatch: "npm:^2.3.1" + peerDependencies: + styled-components: ">= 2" + checksum: 10/34f10dd4d44cf1c8605097dd4796e2d1443266ebc686f10a9f56b5d1492b5c3de9c13d7e30b075756610adf592ed807cc8145189d00b4454f6af9879a19a5e0b + languageName: node + linkType: hard + "babel-preset-current-node-syntax@npm:^1.0.0": version: 1.0.1 resolution: "babel-preset-current-node-syntax@npm:1.0.1" @@ -17896,6 +18366,15 @@ __metadata: languageName: node linkType: hard +"baseline-browser-mapping@npm:^2.8.9": + version: 2.8.10 + resolution: "baseline-browser-mapping@npm:2.8.10" + bin: + baseline-browser-mapping: dist/cli.js + checksum: 10/969bdc7a54b94dd25e544268feb54380cb34dd7a61112d27bb12f8a79099d9c6cb5aa862d784d6e096da400f7a0099249ef64e2b4b3b110ee30870802e1453e9 + languageName: node + linkType: hard + "basic-auth@npm:^2.0.1": version: 2.0.1 resolution: "basic-auth@npm:2.0.1" @@ -18590,17 +19069,18 @@ __metadata: languageName: node linkType: hard -"browserslist@npm:^4.12.0, browserslist@npm:^4.23.0, browserslist@npm:^4.23.3, browserslist@npm:^4.24.0": - version: 4.24.2 - resolution: "browserslist@npm:4.24.2" +"browserslist@npm:^4.12.0, browserslist@npm:^4.23.0, browserslist@npm:^4.23.3, browserslist@npm:^4.24.0, browserslist@npm:^4.24.5": + version: 4.26.3 + resolution: "browserslist@npm:4.26.3" dependencies: - caniuse-lite: "npm:^1.0.30001669" - electron-to-chromium: "npm:^1.5.41" - node-releases: "npm:^2.0.18" - update-browserslist-db: "npm:^1.1.1" + baseline-browser-mapping: "npm:^2.8.9" + caniuse-lite: "npm:^1.0.30001746" + electron-to-chromium: "npm:^1.5.227" + node-releases: "npm:^2.0.21" + update-browserslist-db: "npm:^1.1.3" bin: browserslist: cli.js - checksum: 10/f8a9d78bbabe466c57ffd5c50a9e5582a5df9aa68f43078ca62a9f6d0d6c70ba72eca72d0a574dbf177cf55cdca85a46f7eb474917a47ae5398c66f8b76f7d1c + checksum: 10/49add06fd753a2514d84c75a7de8d9fb3d70be675e53b72981d87f0c0ff40d8a8cd0bd92f77400381704be0bf1c9c5c65aef95d03843d69475ff55188aa12124 languageName: node linkType: hard @@ -19037,6 +19517,13 @@ __metadata: languageName: node linkType: hard +"camelize@npm:^1.0.0": + version: 1.0.1 + resolution: "camelize@npm:1.0.1" + checksum: 10/0e147b4299ac6363c50050716aadfae42831257ec56ce54773ffd2a94a88abb2e2540c5ccc38345e8a39963105b76d86cb24477165a36b78c9958fb304513db3 + languageName: node + linkType: hard + "can-bind-to-host@npm:^1.1.1": version: 1.1.2 resolution: "can-bind-to-host@npm:1.1.2" @@ -19046,10 +19533,10 @@ __metadata: languageName: node linkType: hard -"caniuse-lite@npm:^1.0.30001109, caniuse-lite@npm:^1.0.30001599, caniuse-lite@npm:^1.0.30001669": - version: 1.0.30001731 - resolution: "caniuse-lite@npm:1.0.30001731" - checksum: 10/ad6771127c0cca13a711ca363bb0165a687f9a5c76f057b2c8c9746608a6bae2f15c7b6955063eefcd4ca0e5733d429f25292cc093a40a189d662f3a8647a020 +"caniuse-lite@npm:^1.0.30001109, caniuse-lite@npm:^1.0.30001599, caniuse-lite@npm:^1.0.30001746": + version: 1.0.30001747 + resolution: "caniuse-lite@npm:1.0.30001747" + checksum: 10/b101dc4b13cec3827de6eb44ddda93285d1a93d1396b581c96574e4a635b7fb5d8518086ea57be85d05c7e9af70e27c4e5e0994cbaf9c98771a8a16b000c04fa languageName: node linkType: hard @@ -19572,7 +20059,7 @@ __metadata: languageName: node linkType: hard -"clsx@npm:^2.1.1": +"clsx@npm:^2.1.0, clsx@npm:^2.1.1": version: 2.1.1 resolution: "clsx@npm:2.1.1" checksum: 10/cdfb57fa6c7649bbff98d9028c2f0de2f91c86f551179541cf784b1cfdc1562dcb951955f46d54d930a3879931a980e32a46b598acaea274728dbe068deca919 @@ -20481,6 +20968,13 @@ __metadata: languageName: node linkType: hard +"css-color-keywords@npm:^1.0.0": + version: 1.0.0 + resolution: "css-color-keywords@npm:1.0.0" + checksum: 10/8f125e3ad477bd03c77b533044bd9e8a6f7c0da52d49bbc0bbe38327b3829d6ba04d368ca49dd9ff3b667d2fc8f1698d891c198bbf8feade1a5501bf5a296408 + languageName: node + linkType: hard + "css-loader@npm:^6.10.0, css-loader@npm:^6.7.1": version: 6.10.0 resolution: "css-loader@npm:6.10.0" @@ -20531,6 +21025,17 @@ __metadata: languageName: node linkType: hard +"css-to-react-native@npm:^3.0.0": + version: 3.2.0 + resolution: "css-to-react-native@npm:3.2.0" + dependencies: + camelize: "npm:^1.0.0" + css-color-keywords: "npm:^1.0.0" + postcss-value-parser: "npm:^4.0.2" + checksum: 10/62ef744254e333abc696efdc945ecf13ad6ba7b726d0a39c0405b2fcb86542aa2f3fe7b7b6770f67ae9679d98b159b4d66353107bf7d6144a445eafcf5fa250a + languageName: node + linkType: hard + "css-to-xpath@npm:^0.1.0": version: 0.1.0 resolution: "css-to-xpath@npm:0.1.0" @@ -20641,10 +21146,10 @@ __metadata: languageName: node linkType: hard -"csstype@npm:^3.0.11, csstype@npm:^3.0.2": - version: 3.0.11 - resolution: "csstype@npm:3.0.11" - checksum: 10/10e35e2ec95436caa16b6ce61fdef89fd3dda319e437c73f03faa93c9111e8e197b4ec9340686ce8b3f3ece5a95fb73629e20fcbd9040244c0191e69697dc20f +"csstype@npm:^3.0.11, csstype@npm:^3.0.2, csstype@npm:^3.1.3": + version: 3.1.3 + resolution: "csstype@npm:3.1.3" + checksum: 10/f593cce41ff5ade23f44e77521e3a1bcc2c64107041e1bf6c3c32adc5187d0d60983292fda326154d20b01079e24931aa5b08e4467cc488b60bb1e7f6d478ade languageName: node linkType: hard @@ -22024,10 +22529,10 @@ __metadata: languageName: node linkType: hard -"electron-to-chromium@npm:^1.5.41": - version: 1.5.45 - resolution: "electron-to-chromium@npm:1.5.45" - checksum: 10/659b4b979c9c1a63c170c398775daa269acf5c4117f6590ad4677266fa77a680ebf7792e0eb8dc6d4041550e4ec82ad7dd3aac75543d30535b53bc3c1e4d05ff +"electron-to-chromium@npm:^1.5.227": + version: 1.5.229 + resolution: "electron-to-chromium@npm:1.5.229" + checksum: 10/871665ffee2fcf48fd5027652a681909f7657895daa0ebb1c0c6aff829457dffa0c16aaca98bd892b77a213d17da896deeb6c919492e308c9eb6d0e46b3c1ea7 languageName: node linkType: hard @@ -22178,13 +22683,13 @@ __metadata: languageName: node linkType: hard -"enhanced-resolve@npm:>=5.7.0, enhanced-resolve@npm:^5.16.0, enhanced-resolve@npm:^5.17.1, enhanced-resolve@npm:^5.18.0": - version: 5.18.0 - resolution: "enhanced-resolve@npm:5.18.0" +"enhanced-resolve@npm:>=5.7.0, enhanced-resolve@npm:^5.16.0, enhanced-resolve@npm:^5.17.1, enhanced-resolve@npm:^5.17.3, enhanced-resolve@npm:^5.18.0": + version: 5.18.3 + resolution: "enhanced-resolve@npm:5.18.3" dependencies: graceful-fs: "npm:^4.2.4" tapable: "npm:^2.2.0" - checksum: 10/e88463ef97b68d40d0da0cd0c572e23f43dba0be622d6d44eae5cafed05f0c5dac43e463a83a86c4f70186d029357f82b56d9e1e47e8fc91dce3d6602f8bd6ce + checksum: 10/a4d0a1eacba3079f617b68c8f7e17583c3cbc572055c2edca41c0fa0230a49f6e9b2c6ffd4128cc5f84e15ea6cc313ae2b01e1057fcd252fabef70220a5d9f6a languageName: node linkType: hard @@ -23420,7 +23925,7 @@ __metadata: languageName: node linkType: hard -"eth-rpc-errors@npm:^4.0.3": +"eth-rpc-errors@npm:^4.0.2, eth-rpc-errors@npm:^4.0.3": version: 4.0.3 resolution: "eth-rpc-errors@npm:4.0.3" dependencies: @@ -23922,6 +24427,15 @@ __metadata: languageName: node linkType: hard +"extension-port-stream@npm:^2.1.1": + version: 2.1.1 + resolution: "extension-port-stream@npm:2.1.1" + dependencies: + webextension-polyfill: "npm:>=0.10.0 <1.0" + checksum: 10/aee8bbeb2ed6f69a62f58a89580e0e9002dadb11062edbaedb7bb04cfc5a5e0b0d3980bfeaa1c3ee7e08dec7e5fac26e25497fc2f82000db7653442bd5eca157 + languageName: node + linkType: hard + "extension-port-stream@npm:^3.0.0": version: 3.0.0 resolution: "extension-port-stream@npm:3.0.0" @@ -24481,6 +24995,13 @@ __metadata: languageName: node linkType: hard +"find-root@npm:^1.1.0": + version: 1.1.0 + resolution: "find-root@npm:1.1.0" + checksum: 10/caa799c976a14925ba7f31ca1a226fe73d3aa270f4f1b623fcfeb1c6e263111db4beb807d8acd31bd4d48d44c343b93688a9288dfbccca27463c36a0301b0bb9 + languageName: node + linkType: hard + "find-up@npm:5.0.0, find-up@npm:^5.0.0": version: 5.0.0 resolution: "find-up@npm:5.0.0" @@ -26400,7 +26921,7 @@ __metadata: languageName: node linkType: hard -"hoist-non-react-statics@npm:^3.1.0, hoist-non-react-statics@npm:^3.3.0, hoist-non-react-statics@npm:^3.3.2": +"hoist-non-react-statics@npm:^3.0.0, hoist-non-react-statics@npm:^3.1.0, hoist-non-react-statics@npm:^3.3.0, hoist-non-react-statics@npm:^3.3.1, hoist-non-react-statics@npm:^3.3.2": version: 3.3.2 resolution: "hoist-non-react-statics@npm:3.3.2" dependencies: @@ -29452,6 +29973,27 @@ __metadata: languageName: node linkType: hard +"json-rpc-engine@npm:^6.1.0": + version: 6.1.0 + resolution: "json-rpc-engine@npm:6.1.0" + dependencies: + "@metamask/safe-event-emitter": "npm:^2.0.0" + eth-rpc-errors: "npm:^4.0.2" + checksum: 10/00d5b5228e90f126dd52176598db6e5611d295d3a3f7be21254c30c1b6555811260ef2ec2df035cd8e583e4b12096259da721e29f4ea2affb615f7dfc960a6a6 + languageName: node + linkType: hard + +"json-rpc-middleware-stream@npm:^4.2.1": + version: 4.2.3 + resolution: "json-rpc-middleware-stream@npm:4.2.3" + dependencies: + "@metamask/safe-event-emitter": "npm:^3.0.0" + json-rpc-engine: "npm:^6.1.0" + readable-stream: "npm:^2.3.3" + checksum: 10/9c48f694112ab02db8713b2411c0f72655e43c72eeeeae63b284c901e25b24be1be4f94211733902a67ffb2c73c0a664ffb8b47ba60f8a9c44b6a58aeb281b3f + languageName: node + linkType: hard + "json-rpc-random-id@npm:^1.0.0, json-rpc-random-id@npm:^1.0.1": version: 1.0.1 resolution: "json-rpc-random-id@npm:1.0.1" @@ -31389,6 +31931,7 @@ __metadata: "@metamask/shield-controller": "npm:^0.1.1" "@metamask/signature-controller": "npm:^34.0.0" "@metamask/smart-transactions-controller": "npm:^18.1.0" + "@metamask/snap-simple-keyring-site": "npm:^2.0.0" "@metamask/snaps-controllers": "npm:^15.0.1" "@metamask/snaps-execution-environments": "npm:^10.2.2" "@metamask/snaps-rpc-methods": "npm:^13.5.2" @@ -32794,10 +33337,10 @@ __metadata: languageName: node linkType: hard -"node-releases@npm:^2.0.18": - version: 2.0.18 - resolution: "node-releases@npm:2.0.18" - checksum: 10/241e5fa9556f1c12bafb83c6c3e94f8cf3d8f2f8f904906ecef6e10bcaa1d59aa61212d4651bec70052015fc54bd3fdcdbe7fc0f638a17e6685aa586c076ec4e +"node-releases@npm:^2.0.21": + version: 2.0.21 + resolution: "node-releases@npm:2.0.21" + checksum: 10/5344d634b39d20f47c0d85a1c64567fdb9cf46f7b27ed3d141f752642faab47dae326835c2109636f823758afb16ffbed7b0c0fe6f800ef91cec9f2beb4f2b4a languageName: node linkType: hard @@ -34225,7 +34768,7 @@ __metadata: languageName: node linkType: hard -"picocolors@npm:^1.0.0, picocolors@npm:^1.1.0, picocolors@npm:^1.1.1": +"picocolors@npm:^1.0.0, picocolors@npm:^1.1.1": version: 1.1.1 resolution: "picocolors@npm:1.1.1" checksum: 10/e1cf46bf84886c79055fdfa9dcb3e4711ad259949e3565154b004b260cd356c5d54b31a1437ce9782624bf766272fe6b0154f5f0c744fb7af5d454d2b60db045 @@ -34799,7 +35342,7 @@ __metadata: languageName: node linkType: hard -"postcss-value-parser@npm:^4.0.0, postcss-value-parser@npm:^4.1.0, postcss-value-parser@npm:^4.2.0": +"postcss-value-parser@npm:^4.0.0, postcss-value-parser@npm:^4.0.2, postcss-value-parser@npm:^4.1.0, postcss-value-parser@npm:^4.2.0": version: 4.2.0 resolution: "postcss-value-parser@npm:4.2.0" checksum: 10/e4e4486f33b3163a606a6ed94f9c196ab49a37a7a7163abfcd469e5f113210120d70b8dd5e33d64636f41ad52316a3725655421eb9a1094f1bcab1db2f555c62 @@ -35846,10 +36389,10 @@ __metadata: languageName: node linkType: hard -"react-fast-compare@npm:^3.0.1": - version: 3.2.0 - resolution: "react-fast-compare@npm:3.2.0" - checksum: 10/26ed35d425f197f04c85d572eac943d901a2713335b79483d4f3f94ee5caf97f20678f89bedd385ace9b1637890c88fc5442d732bad0871135643d9703312cd7 +"react-fast-compare@npm:^3.0.1, react-fast-compare@npm:^3.1.1": + version: 3.2.2 + resolution: "react-fast-compare@npm:3.2.2" + checksum: 10/a6826180ba75cefba1c8d3ac539735f9b627ca05d3d307fe155487f5d0228d376dac6c9708d04a283a7b9f9aee599b637446635b79c8c8753d0b4eece56c125c languageName: node linkType: hard @@ -35873,6 +36416,29 @@ __metadata: languageName: node linkType: hard +"react-helmet@npm:^6.1.0": + version: 6.1.0 + resolution: "react-helmet@npm:6.1.0" + dependencies: + object-assign: "npm:^4.1.1" + prop-types: "npm:^15.7.2" + react-fast-compare: "npm:^3.1.1" + react-side-effect: "npm:^2.1.0" + peerDependencies: + react: ">=16.3.0" + checksum: 10/eff25231384bb0a229870a0552839953a59af17f0ff5e8bca1b8c8fdf19a329e4c00c7fa2fcedc8be5d73f5c7bebb30cf9a32ea58efc7c8f726a10dba51f48a2 + languageName: node + linkType: hard + +"react-icons@npm:^4.8.0": + version: 4.12.0 + resolution: "react-icons@npm:4.12.0" + peerDependencies: + react: "*" + checksum: 10/5cc20509ca0b182f1e7bf42c271846c48f688c8922e2439f48728805adc93ba18476a13588cbe91ee43a2d03b2787e0dc0b5cc4b9c4e4ae3426f4464b3c1b734 + languageName: node + linkType: hard + "react-idle-timer@npm:4.5.6": version: 4.5.6 resolution: "react-idle-timer@npm:4.5.6" @@ -35905,10 +36471,17 @@ __metadata: languageName: node linkType: hard -"react-is@npm:^18.0.0": - version: 18.2.0 - resolution: "react-is@npm:18.2.0" - checksum: 10/200cd65bf2e0be7ba6055f647091b725a45dd2a6abef03bf2380ce701fd5edccee40b49b9d15edab7ac08a762bf83cb4081e31ec2673a5bfb549a36ba21570df +"react-is@npm:^18.0.0, react-is@npm:^18.2.0": + version: 18.3.1 + resolution: "react-is@npm:18.3.1" + checksum: 10/d5f60c87d285af24b1e1e7eaeb123ec256c3c8bdea7061ab3932e3e14685708221bf234ec50b21e10dd07f008f1b966a2730a0ce4ff67905b3872ff2042aec22 + languageName: node + linkType: hard + +"react-is@npm:^19.0.0": + version: 19.2.0 + resolution: "react-is@npm:19.2.0" + checksum: 10/5cf0230571da0b446c64c0ff7b0e6992b7a8b12b39542db4003de1611e3f108e26f30b93a85ded5cd89c5bcce97f57639524ae40e57bb2f4f1ebd0935b624abf languageName: node linkType: hard @@ -36165,6 +36738,15 @@ __metadata: languageName: node linkType: hard +"react-side-effect@npm:^2.1.0": + version: 2.1.2 + resolution: "react-side-effect@npm:2.1.2" + peerDependencies: + react: ^16.3.0 || ^17.0.0 || ^18.0.0 + checksum: 10/8c31aaec5b383d942ff1775b12c45022239d1250d1a00a238bac3c07e0fe266c71991e2814ae16a5d9b855bcd96ba95817d48ab3f34738f0bb32036ebb1abb1a + languageName: node + linkType: hard + "react-simple-file-input@npm:^2.0.0": version: 2.0.1 resolution: "react-simple-file-input@npm:2.0.1" @@ -37213,7 +37795,7 @@ __metadata: languageName: node linkType: hard -"resolve@npm:1.22.10, resolve@npm:^1.1.4, resolve@npm:^1.1.6, resolve@npm:^1.1.7, resolve@npm:^1.10.0, resolve@npm:^1.10.1, resolve@npm:^1.14.2, resolve@npm:^1.17.0, resolve@npm:^1.18.1, resolve@npm:^1.20.0, resolve@npm:^1.22.0, resolve@npm:^1.22.1, resolve@npm:^1.22.2, resolve@npm:^1.22.8, resolve@npm:^1.4.0": +"resolve@npm:1.22.10, resolve@npm:^1.1.4, resolve@npm:^1.1.6, resolve@npm:^1.1.7, resolve@npm:^1.10.0, resolve@npm:^1.10.1, resolve@npm:^1.14.2, resolve@npm:^1.17.0, resolve@npm:^1.18.1, resolve@npm:^1.19.0, resolve@npm:^1.20.0, resolve@npm:^1.22.0, resolve@npm:^1.22.1, resolve@npm:^1.22.2, resolve@npm:^1.22.8, resolve@npm:^1.4.0": version: 1.22.10 resolution: "resolve@npm:1.22.10" dependencies: @@ -37239,7 +37821,7 @@ __metadata: languageName: node linkType: hard -? "resolve@patch:resolve@npm%3A1.22.10#optional!builtin, resolve@patch:resolve@npm%3A^1.1.4#optional!builtin, resolve@patch:resolve@npm%3A^1.1.6#optional!builtin, resolve@patch:resolve@npm%3A^1.1.7#optional!builtin, resolve@patch:resolve@npm%3A^1.10.0#optional!builtin, resolve@patch:resolve@npm%3A^1.10.1#optional!builtin, resolve@patch:resolve@npm%3A^1.14.2#optional!builtin, resolve@patch:resolve@npm%3A^1.17.0#optional!builtin, resolve@patch:resolve@npm%3A^1.18.1#optional!builtin, resolve@patch:resolve@npm%3A^1.20.0#optional!builtin, resolve@patch:resolve@npm%3A^1.22.0#optional!builtin, resolve@patch:resolve@npm%3A^1.22.1#optional!builtin, resolve@patch:resolve@npm%3A^1.22.2#optional!builtin, resolve@patch:resolve@npm%3A^1.22.8#optional!builtin, resolve@patch:resolve@npm%3A^1.4.0#optional!builtin" +? "resolve@patch:resolve@npm%3A1.22.10#optional!builtin, resolve@patch:resolve@npm%3A^1.1.4#optional!builtin, resolve@patch:resolve@npm%3A^1.1.6#optional!builtin, resolve@patch:resolve@npm%3A^1.1.7#optional!builtin, resolve@patch:resolve@npm%3A^1.10.0#optional!builtin, resolve@patch:resolve@npm%3A^1.10.1#optional!builtin, resolve@patch:resolve@npm%3A^1.14.2#optional!builtin, resolve@patch:resolve@npm%3A^1.17.0#optional!builtin, resolve@patch:resolve@npm%3A^1.18.1#optional!builtin, resolve@patch:resolve@npm%3A^1.19.0#optional!builtin, resolve@patch:resolve@npm%3A^1.20.0#optional!builtin, resolve@patch:resolve@npm%3A^1.22.0#optional!builtin, resolve@patch:resolve@npm%3A^1.22.1#optional!builtin, resolve@patch:resolve@npm%3A^1.22.2#optional!builtin, resolve@patch:resolve@npm%3A^1.22.8#optional!builtin, resolve@patch:resolve@npm%3A^1.4.0#optional!builtin" : version: 1.22.10 resolution: "resolve@patch:resolve@npm%3A1.22.10#optional!builtin::version=1.22.10&hash=c3c19d" @@ -38360,6 +38942,13 @@ __metadata: languageName: node linkType: hard +"shallowequal@npm:^1.1.0": + version: 1.1.0 + resolution: "shallowequal@npm:1.1.0" + checksum: 10/f4c1de0837f106d2dbbfd5d0720a5d059d1c66b42b580965c8f06bb1db684be8783538b684092648c981294bf817869f743a066538771dbecb293df78f765e00 + languageName: node + linkType: hard + "sharp@npm:^0.34.2": version: 0.34.2 resolution: "sharp@npm:0.34.2" @@ -38920,7 +39509,7 @@ __metadata: languageName: node linkType: hard -"source-map@npm:^0.5.1, source-map@npm:^0.5.6, source-map@npm:~0.5.3": +"source-map@npm:^0.5.1, source-map@npm:^0.5.6, source-map@npm:^0.5.7, source-map@npm:~0.5.3": version: 0.5.7 resolution: "source-map@npm:0.5.7" checksum: 10/9b4ac749ec5b5831cad1f8cc4c19c4298ebc7474b24a0acf293e2f040f03f8eeccb3d01f12aa0f90cf46d555c887e03912b83a042c627f419bda5152d89c5269 @@ -39701,6 +40290,28 @@ __metadata: languageName: node linkType: hard +"styled-components@npm:5.3.9": + version: 5.3.9 + resolution: "styled-components@npm:5.3.9" + dependencies: + "@babel/helper-module-imports": "npm:^7.0.0" + "@babel/traverse": "npm:^7.4.5" + "@emotion/is-prop-valid": "npm:^1.1.0" + "@emotion/stylis": "npm:^0.8.4" + "@emotion/unitless": "npm:^0.7.4" + babel-plugin-styled-components: "npm:>= 1.12.0" + css-to-react-native: "npm:^3.0.0" + hoist-non-react-statics: "npm:^3.0.0" + shallowequal: "npm:^1.1.0" + supports-color: "npm:^5.5.0" + peerDependencies: + react: ">= 16.8.0" + react-dom: ">= 16.8.0" + react-is: ">= 16.8.0" + checksum: 10/bed2721436dfc126adee7d574e68d40410eadd5b1ddd6c6675c1c44b7089825c4bf3b226fc7acf785cc7e56f78157bd4b31f6483c9b19b52e734aa4d89ee1ce0 + languageName: node + linkType: hard + "stylelint@npm:13.6.1": version: 13.6.1 resolution: "stylelint@npm:13.6.1" @@ -39817,6 +40428,13 @@ __metadata: languageName: node linkType: hard +"stylis@npm:4.2.0": + version: 4.2.0 + resolution: "stylis@npm:4.2.0" + checksum: 10/58359185275ef1f39c339ae94e598168aa6bb789f6cf0d52e726c1e7087a94e9c17f0385a28d34483dec1ffc2c75670ec714dc5603d99c3124ec83bc2b0a0f42 + languageName: node + linkType: hard + "stylus-lookup@npm:^6.0.0": version: 6.1.0 resolution: "stylus-lookup@npm:6.1.0" @@ -39905,7 +40523,7 @@ __metadata: languageName: node linkType: hard -"supports-color@npm:^5.3.0": +"supports-color@npm:^5.3.0, supports-color@npm:^5.5.0": version: 5.5.0 resolution: "supports-color@npm:5.5.0" dependencies: @@ -40071,10 +40689,10 @@ __metadata: languageName: node linkType: hard -"tapable@npm:^2.0.0, tapable@npm:^2.1.1, tapable@npm:^2.2.0, tapable@npm:^2.2.1": - version: 2.2.1 - resolution: "tapable@npm:2.2.1" - checksum: 10/1769336dd21481ae6347611ca5fca47add0962fd8e80466515032125eca0084a4f0ede11e65341b9c0018ef4e1cf1ad820adbb0fba7cc99865c6005734000b0a +"tapable@npm:^2.0.0, tapable@npm:^2.1.1, tapable@npm:^2.2.0, tapable@npm:^2.2.1, tapable@npm:^2.2.3": + version: 2.3.0 + resolution: "tapable@npm:2.3.0" + checksum: 10/496a841039960533bb6e44816a01fffc2a1eb428bb2051ecab9e87adf07f19e1f937566cbbbb09dceff31163c0ffd81baafcad84db900b601f0155dd0b37e9f2 languageName: node linkType: hard @@ -41700,17 +42318,17 @@ __metadata: languageName: node linkType: hard -"update-browserslist-db@npm:^1.1.1": - version: 1.1.1 - resolution: "update-browserslist-db@npm:1.1.1" +"update-browserslist-db@npm:^1.1.3": + version: 1.1.3 + resolution: "update-browserslist-db@npm:1.1.3" dependencies: escalade: "npm:^3.2.0" - picocolors: "npm:^1.1.0" + picocolors: "npm:^1.1.1" peerDependencies: browserslist: ">= 4.21.0" bin: update-browserslist-db: cli.js - checksum: 10/7678dd8609750588d01aa7460e8eddf2ff9d16c2a52fb1811190e0d056390f1fdffd94db3cf8fb209cf634ab4fa9407886338711c71cc6ccade5eeb22b093734 + checksum: 10/87af2776054ffb9194cf95e0201547d041f72ee44ce54b144da110e65ea7ca01379367407ba21de5c9edd52c74d95395366790de67f3eb4cc4afa0fe4424e76f languageName: node linkType: hard @@ -42561,13 +43179,13 @@ __metadata: languageName: node linkType: hard -"watchpack@npm:^2.2.0, watchpack@npm:^2.4.1": - version: 2.4.1 - resolution: "watchpack@npm:2.4.1" +"watchpack@npm:^2.2.0, watchpack@npm:^2.4.1, watchpack@npm:^2.4.4": + version: 2.4.4 + resolution: "watchpack@npm:2.4.4" dependencies: glob-to-regexp: "npm:^0.4.1" graceful-fs: "npm:^4.1.2" - checksum: 10/0736ebd20b75d3931f9b6175c819a66dee29297c1b389b2e178bc53396a6f867ecc2fd5d87a713ae92dcb73e487daec4905beee20ca00a9e27f1184a7c2bca5e + checksum: 10/cfa3473fc12a1a1b88123056941e90c462a67aedc10b242229eeeccdd45ed0b763c3b591caaffb0f7d77295b539b5518bb1ad3bcd891ae6505dfeae4cf51fd15 languageName: node linkType: hard @@ -42619,6 +43237,13 @@ __metadata: languageName: node linkType: hard +"webextension-polyfill@npm:^0.10.0": + version: 0.10.0 + resolution: "webextension-polyfill@npm:0.10.0" + checksum: 10/51ff30ebed4b1aa802b7f0347f05021b2fe492078bb1a597223d43995fcee96e2da8f914a2f6e36f988c1877ed5ab36ca7077f2f3ab828955151a59e4c01bf7e + languageName: node + linkType: hard + "webextension-polyfill@npm:^0.8.0": version: 0.8.0 resolution: "webextension-polyfill@npm:0.8.0" @@ -42788,10 +43413,10 @@ __metadata: languageName: node linkType: hard -"webpack-sources@npm:^3.2.3": - version: 3.2.3 - resolution: "webpack-sources@npm:3.2.3" - checksum: 10/a661f41795d678b7526ae8a88cd1b3d8ce71a7d19b6503da8149b2e667fc7a12f9b899041c1665d39e38245ed3a59ab68de648ea31040c3829aa695a5a45211d +"webpack-sources@npm:^3.2.3, webpack-sources@npm:^3.3.3": + version: 3.3.3 + resolution: "webpack-sources@npm:3.3.3" + checksum: 10/ec5d72607e8068467370abccbfff855c596c098baedbe9d198a557ccf198e8546a322836a6f74241492576adba06100286592993a62b63196832cdb53c8bae91 languageName: node linkType: hard @@ -42802,7 +43427,45 @@ __metadata: languageName: node linkType: hard -"webpack@npm:5, webpack@npm:5.99.9": +"webpack@npm:5, webpack@npm:^5.88.2": + version: 5.102.0 + resolution: "webpack@npm:5.102.0" + dependencies: + "@types/eslint-scope": "npm:^3.7.7" + "@types/estree": "npm:^1.0.8" + "@types/json-schema": "npm:^7.0.15" + "@webassemblyjs/ast": "npm:^1.14.1" + "@webassemblyjs/wasm-edit": "npm:^1.14.1" + "@webassemblyjs/wasm-parser": "npm:^1.14.1" + acorn: "npm:^8.15.0" + acorn-import-phases: "npm:^1.0.3" + browserslist: "npm:^4.24.5" + chrome-trace-event: "npm:^1.0.2" + enhanced-resolve: "npm:^5.17.3" + es-module-lexer: "npm:^1.2.1" + eslint-scope: "npm:5.1.1" + events: "npm:^3.2.0" + glob-to-regexp: "npm:^0.4.1" + graceful-fs: "npm:^4.2.11" + json-parse-even-better-errors: "npm:^2.3.1" + loader-runner: "npm:^4.2.0" + mime-types: "npm:^2.1.27" + neo-async: "npm:^2.6.2" + schema-utils: "npm:^4.3.2" + tapable: "npm:^2.2.3" + terser-webpack-plugin: "npm:^5.3.11" + watchpack: "npm:^2.4.4" + webpack-sources: "npm:^3.3.3" + peerDependenciesMeta: + webpack-cli: + optional: true + bin: + webpack: bin/webpack.js + checksum: 10/a76f9136c1c470e75a870b0f52b91f819224b21edf9f1959e0501cd17d38c9689e0ccd3ee6d0f7f0b764866d5bc6a1c6c9a38b235d75e2bfbc7ac25c94796da8 + languageName: node + linkType: hard + +"webpack@npm:5.99.9": version: 5.99.9 resolution: "webpack@npm:5.99.9" dependencies: