diff --git a/app/scripts/controllers/network/createInfuraClient.js b/app/scripts/controllers/network/createInfuraClient.js index 111e742ce68a..fe03a9175963 100644 --- a/app/scripts/controllers/network/createInfuraClient.js +++ b/app/scripts/controllers/network/createInfuraClient.js @@ -10,6 +10,8 @@ import { import { createInfuraMiddleware } from '@metamask/eth-json-rpc-infura'; import { PollingBlockTracker } from 'eth-block-tracker'; +import createFilterMiddleware from 'eth-json-rpc-filters'; +import createSubscriptionManager from 'eth-json-rpc-filters/subscriptionManager'; import { BUILT_IN_NETWORKS } from '../../../../shared/constants/network'; @@ -23,6 +25,15 @@ export default function createInfuraClient({ network, projectId }) { const infuraProvider = providerFromMiddleware(infuraMiddleware); const blockTracker = new PollingBlockTracker({ provider: infuraProvider }); + const filterMiddleware = createFilterMiddleware({ + infuraProvider, + blockTracker, + }); + const subscriptionManager = createSubscriptionManager({ + infuraProvider, + blockTracker, + }); + const networkMiddleware = mergeMiddleware([ createNetworkAndChainIdMiddleware({ network }), createBlockCacheMiddleware({ blockTracker }), @@ -31,8 +42,10 @@ export default function createInfuraClient({ network, projectId }) { createRetryOnEmptyMiddleware({ blockTracker, provider: infuraProvider }), createBlockTrackerInspectorMiddleware({ blockTracker }), infuraMiddleware, + filterMiddleware, + subscriptionManager.middleware, ]); - return { networkMiddleware, blockTracker }; + return { networkMiddleware, blockTracker, subscriptionManager }; } function createNetworkAndChainIdMiddleware({ network }) { diff --git a/app/scripts/controllers/network/createJsonRpcClient.js b/app/scripts/controllers/network/createJsonRpcClient.js index d4e412b8f79f..c958489ff39b 100644 --- a/app/scripts/controllers/network/createJsonRpcClient.js +++ b/app/scripts/controllers/network/createJsonRpcClient.js @@ -8,6 +8,8 @@ import { providerFromMiddleware, } from 'eth-json-rpc-middleware'; import { PollingBlockTracker } from 'eth-block-tracker'; +import createFilterMiddleware from 'eth-json-rpc-filters'; +import createSubscriptionManager from 'eth-json-rpc-filters/subscriptionManager'; import { SECOND } from '../../../../shared/constants/time'; const inTest = process.env.IN_TEST; @@ -19,11 +21,22 @@ const getTestMiddlewares = () => { export default function createJsonRpcClient({ rpcUrl, chainId }) { const fetchMiddleware = createFetchMiddleware({ rpcUrl }); const blockProvider = providerFromMiddleware(fetchMiddleware); + + // create subscription polyfill middleware const blockTracker = new PollingBlockTracker({ ...blockTrackerOpts, provider: blockProvider, }); + const filterMiddleware = createFilterMiddleware({ + blockProvider, + blockTracker, + }); + const subscriptionManager = createSubscriptionManager({ + blockProvider, + blockTracker, + }); + const networkMiddleware = mergeMiddleware([ ...getTestMiddlewares(), createChainIdMiddleware(chainId), @@ -32,9 +45,11 @@ export default function createJsonRpcClient({ rpcUrl, chainId }) { createInflightCacheMiddleware(), createBlockTrackerInspectorMiddleware({ blockTracker }), fetchMiddleware, + filterMiddleware, + subscriptionManager.middleware, ]); - return { networkMiddleware, blockTracker }; + return { networkMiddleware, blockTracker, subscriptionManager }; } function createChainIdMiddleware(chainId) { diff --git a/app/scripts/controllers/network/network.js b/app/scripts/controllers/network/network.js index d0f6bdd65c2a..2b68205c1b11 100644 --- a/app/scripts/controllers/network/network.js +++ b/app/scripts/controllers/network/network.js @@ -433,11 +433,16 @@ export default class NetworkController extends EventEmitter { this._setNetworkClient(networkClient); } - _setNetworkClient({ networkMiddleware, blockTracker }) { + _setNetworkClient({ networkMiddleware, blockTracker, subscriptionManager }) { const metamaskMiddleware = createMetamaskMiddleware( this._baseProviderParams, ); const engine = new JsonRpcEngine(); + + subscriptionManager.events.on('notification', (message) => + engine.emit('notification', message), + ); + engine.push(metamaskMiddleware); engine.push(networkMiddleware); const provider = providerFromEngine(engine); diff --git a/app/scripts/metamask-controller.js b/app/scripts/metamask-controller.js index 8e738f712ddf..c20475f97196 100644 --- a/app/scripts/metamask-controller.js +++ b/app/scripts/metamask-controller.js @@ -5,8 +5,6 @@ import { storeAsStream } from '@metamask/obs-store/dist/asStream'; import { JsonRpcEngine } from 'json-rpc-engine'; import { debounce } from 'lodash'; import createEngineStream from 'json-rpc-middleware-stream/engineStream'; -import createFilterMiddleware from 'eth-json-rpc-filters'; -import createSubscriptionManager from 'eth-json-rpc-filters/subscriptionManager'; import { providerAsMiddleware } from 'eth-json-rpc-middleware'; import KeyringController from 'eth-keyring-controller'; import { @@ -3710,19 +3708,7 @@ export default class MetamaskController extends EventEmitter { setupProviderEngine({ origin, subjectType, sender, tabId }) { // setup json rpc engine stack const engine = new JsonRpcEngine(); - const { blockTracker, provider } = this; - - // create filter polyfill middleware - const filterMiddleware = createFilterMiddleware({ provider, blockTracker }); - - // create subscription polyfill middleware - const subscriptionManager = createSubscriptionManager({ - provider, - blockTracker, - }); - subscriptionManager.events.on('notification', (message) => - engine.emit('notification', message), - ); + const { provider } = this; // append origin to each request engine.push(createOriginMiddleware({ origin })); @@ -3890,8 +3876,6 @@ export default class MetamaskController extends EventEmitter { ///: END:ONLY_INCLUDE_IN // filter and subscription polyfills - engine.push(filterMiddleware); - engine.push(subscriptionManager.middleware); if (subjectType !== SUBJECT_TYPES.INTERNAL) { // permissions engine.push( diff --git a/development/ts-migration-dashboard/files-to-convert.json b/development/ts-migration-dashboard/files-to-convert.json index bc94b3e449fa..5a3ffd304b50 100644 --- a/development/ts-migration-dashboard/files-to-convert.json +++ b/development/ts-migration-dashboard/files-to-convert.json @@ -8,6 +8,8 @@ "app/scripts/contentscript.js", "app/scripts/controllers/alert.js", "app/scripts/controllers/app-state.js", + "app/scripts/controllers/backup.js", + "app/scripts/controllers/backup.test.js", "app/scripts/controllers/cached-balances.js", "app/scripts/controllers/cached-balances.test.js", "app/scripts/controllers/detect-tokens.js", @@ -27,6 +29,9 @@ "app/scripts/controllers/network/network-controller.test.js", "app/scripts/controllers/network/network.js", "app/scripts/controllers/network/pending-middleware.test.js", + "app/scripts/controllers/network/provider-api-tests/createClient.test.js", + "app/scripts/controllers/network/provider-api-tests/helpers.js", + "app/scripts/controllers/network/provider-api-tests/shared-tests.js", "app/scripts/controllers/network/util.js", "app/scripts/controllers/network/util.test.js", "app/scripts/controllers/onboarding.js", @@ -64,6 +69,9 @@ "app/scripts/detect-multiple-instances.test.js", "app/scripts/disable-console.js", "app/scripts/first-time-state.js", + "app/scripts/flask/snaps-blocklist.js", + "app/scripts/flask/snaps-utilities.js", + "app/scripts/flask/snaps-utilities.test.js", "app/scripts/inpage.js", "app/scripts/lib/ComposableObservableStore.js", "app/scripts/lib/ComposableObservableStore.test.js", @@ -91,6 +99,7 @@ "app/scripts/lib/get-first-preferred-lang-code.js", "app/scripts/lib/getObjStructure.js", "app/scripts/lib/local-store.js", + "app/scripts/lib/local-store.test.js", "app/scripts/lib/message-manager.js", "app/scripts/lib/message-manager.test.js", "app/scripts/lib/metaRPCClientFactory.js", @@ -114,7 +123,9 @@ "app/scripts/lib/rpc-method-middleware/index.js", "app/scripts/lib/seed-phrase-verifier.js", "app/scripts/lib/seed-phrase-verifier.test.js", - "app/scripts/lib/segment.js", + "app/scripts/lib/segment/analytics.js", + "app/scripts/lib/segment/analytics.test.js", + "app/scripts/lib/segment/index.js", "app/scripts/lib/setupSentry.js", "app/scripts/lib/stream-utils.js", "app/scripts/lib/typed-message-manager.js", @@ -123,6 +134,7 @@ "app/scripts/lib/util.test.js", "app/scripts/lockdown-more.js", "app/scripts/lockdown-run.js", + "app/scripts/metamask-controller.actions.test.js", "app/scripts/metamask-controller.js", "app/scripts/metamask-controller.test.js", "app/scripts/migrations/002.js", @@ -249,6 +261,14 @@ "app/scripts/migrations/072.test.js", "app/scripts/migrations/073.js", "app/scripts/migrations/073.test.js", + "app/scripts/migrations/074.js", + "app/scripts/migrations/074.test.js", + "app/scripts/migrations/075.js", + "app/scripts/migrations/075.test.js", + "app/scripts/migrations/076.js", + "app/scripts/migrations/076.test.js", + "app/scripts/migrations/077.js", + "app/scripts/migrations/077.test.js", "app/scripts/migrations/fail-tx.js", "app/scripts/migrations/index.js", "app/scripts/migrations/migrations.test.js", @@ -258,6 +278,7 @@ "app/scripts/platforms/extension.test.js", "app/scripts/sentry-install.js", "app/scripts/ui.js", + "development/build/config.js", "development/build/constants.js", "development/build/display.js", "development/build/etc.js", @@ -273,23 +294,35 @@ "development/build/transforms/utils.js", "development/build/transforms/utils.test.js", "development/build/utils.js", + "development/generate-icon-names.js", "development/lib/build-type.js", "development/lib/get-version.js", "development/stream-flat-map.js", + "shared/constants/alarms.js", "shared/constants/alerts.js", - "shared/constants/app.js", "shared/constants/gas.js", "shared/constants/hardware-wallets.js", + "shared/constants/keyrings.js", "shared/constants/labels.js", "shared/constants/metametrics.js", - "shared/constants/network.js", - "shared/constants/permissions.js", "shared/constants/permissions.test.js", "shared/constants/phishing.js", "shared/constants/smartTransactions.js", "shared/constants/swaps.js", - "shared/constants/time.js", + "shared/constants/tokens.js", "shared/constants/transaction.js", + "shared/lib/error-utils.js", + "shared/lib/error-utils.test.js", + "shared/lib/fetch-with-cache.js", + "shared/lib/fetch-with-cache.test.js", + "shared/lib/metamask-controller-utils.js", + "shared/lib/storage-helpers.js", + "shared/lib/swaps-utils.js", + "shared/lib/switch-direction.js", + "shared/lib/transactions-controller-utils.js", + "shared/lib/ui-utils.js", + "shared/modules/browser-runtime.utils.js", + "shared/modules/browser-runtime.utils.test.js", "shared/modules/buffer-utils.js", "shared/modules/buffer-utils.test.js", "shared/modules/contract-utils.js", @@ -305,6 +338,7 @@ "shared/modules/mv3.utils.js", "shared/modules/network.utils.js", "shared/modules/object.utils.js", + "shared/modules/provider-injection.js", "shared/modules/random-id.js", "shared/modules/rpc.utils.js", "shared/modules/siwe.js", @@ -370,6 +404,10 @@ "ui/components/app/advanced-gas-fee-popover/context/advancedGasFeePopover.js", "ui/components/app/advanced-gas-fee-popover/context/index.js", "ui/components/app/advanced-gas-fee-popover/index.js", + "ui/components/app/advanced-gas-inputs/advanced-gas-inputs.component.js", + "ui/components/app/advanced-gas-inputs/advanced-gas-inputs.container.js", + "ui/components/app/advanced-gas-inputs/advanced-gas-inputs.test.js", + "ui/components/app/advanced-gas-inputs/index.js", "ui/components/app/alerts/alerts.js", "ui/components/app/alerts/index.js", "ui/components/app/alerts/invalid-custom-network-alert/index.js", @@ -385,13 +423,19 @@ "ui/components/app/app-loading-spinner/app-loading-spinner.js", "ui/components/app/app-loading-spinner/app-loading-spinner.test.js", "ui/components/app/app-loading-spinner/index.js", + "ui/components/app/approve-content-card/approve-content-card.js", + "ui/components/app/approve-content-card/approve-content-card.stories.js", "ui/components/app/asset-list-item/asset-list-item.js", "ui/components/app/asset-list-item/index.js", "ui/components/app/asset-list/asset-list.js", + "ui/components/app/asset-list/asset-list.test.js", "ui/components/app/asset-list/detetcted-tokens-link/detected-tokens-link.js", "ui/components/app/asset-list/detetcted-tokens-link/detected-tokens-link.stories.js", "ui/components/app/asset-list/detetcted-tokens-link/detected-tokens-link.test.js", "ui/components/app/asset-list/index.js", + "ui/components/app/beta-header/beta-header.stories.js", + "ui/components/app/beta-header/beta-header.test.js", + "ui/components/app/beta-header/index.js", "ui/components/app/cancel-button/cancel-button.js", "ui/components/app/cancel-button/index.js", "ui/components/app/cancel-speedup-popover/cancel-speedup-popover.js", @@ -433,6 +477,7 @@ "ui/components/app/confirm-page-container/confirm-page-container.container.js", "ui/components/app/confirm-page-container/enableEIP1559V2-notice/enableEIP1559V2-notice.js", "ui/components/app/confirm-page-container/enableEIP1559V2-notice/index.js", + "ui/components/app/confirm-page-container/flask/snap-insight.js", "ui/components/app/confirm-page-container/index.js", "ui/components/app/connected-accounts-list/connected-accounts-list-item/connected-accounts-list-item.component.js", "ui/components/app/connected-accounts-list/connected-accounts-list-item/index.js", @@ -453,14 +498,18 @@ "ui/components/app/contact-list/recipient-group/recipient-group.component.js", "ui/components/app/create-new-vault/create-new-vault.js", "ui/components/app/create-new-vault/create-new-vault.stories.js", + "ui/components/app/create-new-vault/create-new-vault.test.js", "ui/components/app/create-new-vault/index.js", "ui/components/app/currency-input/currency-input.js", "ui/components/app/currency-input/currency-input.stories.js", "ui/components/app/currency-input/currency-input.test.js", "ui/components/app/currency-input/index.js", - "ui/components/app/deposit-popover/on-ramp-item.js", + "ui/components/app/custom-spending-cap/custom-spending-cap-tooltip.js", + "ui/components/app/custom-spending-cap/custom-spending-cap.js", + "ui/components/app/custom-spending-cap/custom-spending-cap.stories.js", "ui/components/app/deposit-popover/deposit-popover.js", "ui/components/app/deposit-popover/index.js", + "ui/components/app/deposit-popover/on-ramp-item.js", "ui/components/app/detected-token/detected-token-address/detected-token-address.js", "ui/components/app/detected-token/detected-token-address/detected-token-address.stories.js", "ui/components/app/detected-token/detected-token-address/detected-token-address.test.js", @@ -516,6 +565,9 @@ "ui/components/app/flask/experimental-area/experimental-area.js", "ui/components/app/flask/experimental-area/experimental-area.stories.js", "ui/components/app/flask/experimental-area/index.js", + "ui/components/app/flask/snap-content-footer/index.js", + "ui/components/app/flask/snap-content-footer/snap-content-footer.js", + "ui/components/app/flask/snap-content-footer/snap-content-footer.stories.js", "ui/components/app/flask/snap-install-warning/index.js", "ui/components/app/flask/snap-install-warning/snap-install-warning.js", "ui/components/app/flask/snap-remove-warning/index.js", @@ -529,10 +581,6 @@ "ui/components/app/flask/snaps-authorship-pill/snaps-authorship-pill.stories.js", "ui/components/app/flask/update-snap-permission-list/index.js", "ui/components/app/flask/update-snap-permission-list/update-snap-permission-list.js", - "ui/components/app/advanced-gas-inputs/advanced-gas-inputs.component.js", - "ui/components/app/advanced-gas-inputs/advanced-gas-inputs.container.js", - "ui/components/app/advanced-gas-inputs/advanced-gas-inputs.test.js", - "ui/components/app/advanced-gas-inputs/index.js", "ui/components/app/gas-details-item/gas-details-item-title/gas-details-item-title.js", "ui/components/app/gas-details-item/gas-details-item-title/gas-details-item-title.test.js", "ui/components/app/gas-details-item/gas-details-item-title/index.js", @@ -549,6 +597,7 @@ "ui/components/app/home-notification/home-notification.stories.js", "ui/components/app/home-notification/index.js", "ui/components/app/import-token-link/import-token-link.component.js", + "ui/components/app/import-token-link/import-token-link.test.js", "ui/components/app/import-token-link/index.js", "ui/components/app/info-box/index.js", "ui/components/app/info-box/info-box.component.js", @@ -605,6 +654,8 @@ "ui/components/app/modals/confirm-reset-account/confirm-reset-account.container.js", "ui/components/app/modals/confirm-reset-account/confirm-reset-account.test.js", "ui/components/app/modals/confirm-reset-account/index.js", + "ui/components/app/modals/contract-details-modal/contract-details-modal.js", + "ui/components/app/modals/contract-details-modal/contract-details-modal.stories.js", "ui/components/app/modals/convert-token-to-nft-modal/convert-token-to-nft-modal.js", "ui/components/app/modals/customize-nonce/customize-nonce.component.js", "ui/components/app/modals/customize-nonce/index.js", @@ -647,6 +698,8 @@ "ui/components/app/multilayer-fee-message/multi-layer-fee-message.js", "ui/components/app/multiple-notifications/index.js", "ui/components/app/multiple-notifications/multiple-notifications.component.js", + "ui/components/app/network-account-balance-header/network-account-balance-header.js", + "ui/components/app/network-account-balance-header/network-account-balance-header.stories.js", "ui/components/app/network-display/index.js", "ui/components/app/network-display/network-display.js", "ui/components/app/network-display/network-display.stories.js", @@ -682,16 +735,23 @@ "ui/components/app/signature-request-original/signature-request-original.component.js", "ui/components/app/signature-request-original/signature-request-original.container.js", "ui/components/app/signature-request-original/signature-request-original.stories.js", + "ui/components/app/signature-request-original/signature-request-original.test.js", "ui/components/app/signature-request-siwe/index.js", "ui/components/app/signature-request-siwe/signature-request-siwe-header/index.js", "ui/components/app/signature-request-siwe/signature-request-siwe-header/signature-request-siwe-header.js", "ui/components/app/signature-request-siwe/signature-request-siwe-header/signature-request-siwe-header.stories.js", + "ui/components/app/signature-request-siwe/signature-request-siwe-icon/index.js", + "ui/components/app/signature-request-siwe/signature-request-siwe-icon/signature-request-siwe-icon.stories.js", "ui/components/app/signature-request-siwe/signature-request-siwe-message/index.js", "ui/components/app/signature-request-siwe/signature-request-siwe-message/signature-request-siwe-message.js", "ui/components/app/signature-request-siwe/signature-request-siwe-message/signature-request-siwe-message.stories.js", + "ui/components/app/signature-request-siwe/signature-request-siwe-tag/index.js", + "ui/components/app/signature-request-siwe/signature-request-siwe-tag/signature-request-siwe-tag.stories.js", "ui/components/app/signature-request-siwe/signature-request-siwe.js", "ui/components/app/signature-request-siwe/signature-request-siwe.stories.js", "ui/components/app/signature-request/index.js", + "ui/components/app/signature-request/signature-request-data/index.js", + "ui/components/app/signature-request/signature-request-data/signature-request-data.js", "ui/components/app/signature-request/signature-request-footer/index.js", "ui/components/app/signature-request/signature-request-footer/signature-request-footer.component.js", "ui/components/app/signature-request/signature-request-header/index.js", @@ -699,6 +759,7 @@ "ui/components/app/signature-request/signature-request-header/signature-request-header.stories.js", "ui/components/app/signature-request/signature-request-message/index.js", "ui/components/app/signature-request/signature-request-message/signature-request-message.js", + "ui/components/app/signature-request/signature-request-message/signature-request-message.stories.js", "ui/components/app/signature-request/signature-request.component.js", "ui/components/app/signature-request/signature-request.component.test.js", "ui/components/app/signature-request/signature-request.container.js", @@ -771,26 +832,25 @@ "ui/components/app/transaction-list/index.js", "ui/components/app/transaction-list/transaction-list.component.js", "ui/components/app/transaction-list/transaction-list.stories.js", + "ui/components/app/transaction-list/transaction-list.test.js", + "ui/components/app/transaction-status/index.js", "ui/components/app/transaction-status/transaction-status.component.js", "ui/components/app/transaction-status/transaction-status.component.test.js", "ui/components/app/transaction-total-banner/index.js", "ui/components/app/transaction-total-banner/transaction-total-banner.component.js", "ui/components/app/transaction-total-banner/transaction-total-banner.stories.js", - "ui/components/app/transaction-total-banner/transaction-total-banner.stories.test.js", "ui/components/app/user-preferenced-currency-display/index.js", "ui/components/app/user-preferenced-currency-display/user-preferenced-currency-display.component.js", - "ui/components/app/user-preferenced-currency-display/user-preferenced-currency-display.component.test.js", "ui/components/app/user-preferenced-currency-display/user-preferenced-currency-display.stories.js", + "ui/components/app/user-preferenced-currency-display/user-preferenced-currency-display.test.js", "ui/components/app/user-preferenced-currency-input/index.js", "ui/components/app/user-preferenced-currency-input/user-preferenced-currency-input.component.js", - "ui/components/app/user-preferenced-currency-input/user-preferenced-currency-input.component.test.js", "ui/components/app/user-preferenced-currency-input/user-preferenced-currency-input.container.js", - "ui/components/app/user-preferenced-currency-input/user-preferenced-currency-input.container.test.js", + "ui/components/app/user-preferenced-currency-input/user-preferenced-currency-input.test.js", "ui/components/app/user-preferenced-token-input/index.js", "ui/components/app/user-preferenced-token-input/user-preferenced-token-input.component.js", - "ui/components/app/user-preferenced-token-input/user-preferenced-token-input.component.test.js", "ui/components/app/user-preferenced-token-input/user-preferenced-token-input.container.js", - "ui/components/app/user-preferenced-token-input/user-preferenced-token-input.container.test.js", + "ui/components/app/user-preferenced-token-input/user-preferenced-token-input.test.js", "ui/components/app/wallet-overview/eth-overview.js", "ui/components/app/wallet-overview/index.js", "ui/components/app/wallet-overview/token-overview.js", @@ -798,11 +858,115 @@ "ui/components/app/wallet-overview/wallet-overview.js", "ui/components/app/whats-new-popup/index.js", "ui/components/app/whats-new-popup/whats-new-popup.js", - "ui/components/component-library/base-avatar/base-avatar.js", - "ui/components/component-library/base-avatar/base-avatar.stories.js", - "ui/components/component-library/base-avatar/base-avatar.test.js", + "ui/components/app/whats-new-popup/whats-new-popup.test.js", + "ui/components/component-library/avatar-account/avatar-account.constants.js", + "ui/components/component-library/avatar-account/avatar-account.js", + "ui/components/component-library/avatar-account/avatar-account.stories.js", + "ui/components/component-library/avatar-account/avatar-account.test.js", + "ui/components/component-library/avatar-account/index.js", + "ui/components/component-library/avatar-base/avatar-base.constants.js", + "ui/components/component-library/avatar-base/avatar-base.js", + "ui/components/component-library/avatar-base/avatar-base.stories.js", + "ui/components/component-library/avatar-base/avatar-base.test.js", + "ui/components/component-library/avatar-base/index.js", + "ui/components/component-library/avatar-favicon/avatar-favicon.js", + "ui/components/component-library/avatar-favicon/avatar-favicon.stories.js", + "ui/components/component-library/avatar-favicon/avatar-favicon.test.js", + "ui/components/component-library/avatar-favicon/index.js", + "ui/components/component-library/avatar-network/avatar-network.js", + "ui/components/component-library/avatar-network/avatar-network.stories.js", + "ui/components/component-library/avatar-network/avatar-network.test.js", + "ui/components/component-library/avatar-network/index.js", + "ui/components/component-library/avatar-token/avatar-token.js", + "ui/components/component-library/avatar-token/avatar-token.stories.js", + "ui/components/component-library/avatar-token/avatar-token.test.js", + "ui/components/component-library/avatar-token/index.js", + "ui/components/component-library/avatar-with-badge/avatar-with-badge.constants.js", + "ui/components/component-library/avatar-with-badge/avatar-with-badge.js", + "ui/components/component-library/avatar-with-badge/avatar-with-badge.stories.js", + "ui/components/component-library/avatar-with-badge/avatar-with-badge.test.js", + "ui/components/component-library/avatar-with-badge/index.js", + "ui/components/component-library/button-base/button-base.constants.js", + "ui/components/component-library/button-base/button-base.js", + "ui/components/component-library/button-base/button-base.stories.js", + "ui/components/component-library/button-base/button-base.test.js", + "ui/components/component-library/button-base/index.js", + "ui/components/component-library/button-icon/button-icon.constants.js", + "ui/components/component-library/button-icon/button-icon.js", + "ui/components/component-library/button-icon/button-icon.stories.js", + "ui/components/component-library/button-icon/button-icon.test.js", + "ui/components/component-library/button-icon/index.js", + "ui/components/component-library/button-link/button-link.constants.js", + "ui/components/component-library/button-link/button-link.js", + "ui/components/component-library/button-link/button-link.stories.js", + "ui/components/component-library/button-link/button-link.test.js", + "ui/components/component-library/button-link/index.js", + "ui/components/component-library/button-primary/button-primary.constants.js", + "ui/components/component-library/button-primary/button-primary.js", + "ui/components/component-library/button-primary/button-primary.stories.js", + "ui/components/component-library/button-primary/button-primary.test.js", + "ui/components/component-library/button-primary/index.js", + "ui/components/component-library/button-secondary/button-secondary.constants.js", + "ui/components/component-library/button-secondary/button-secondary.js", + "ui/components/component-library/button-secondary/button-secondary.stories.js", + "ui/components/component-library/button-secondary/button-secondary.test.js", + "ui/components/component-library/button-secondary/index.js", + "ui/components/component-library/button/button.constants.js", + "ui/components/component-library/button/button.js", + "ui/components/component-library/button/button.stories.js", + "ui/components/component-library/button/button.test.js", + "ui/components/component-library/button/index.js", + "ui/components/component-library/form-text-field/form-text-field.js", + "ui/components/component-library/form-text-field/form-text-field.stories.js", + "ui/components/component-library/form-text-field/form-text-field.test.js", + "ui/components/component-library/form-text-field/index.js", + "ui/components/component-library/help-text/help-text.js", + "ui/components/component-library/help-text/help-text.stories.js", + "ui/components/component-library/help-text/help-text.test.js", + "ui/components/component-library/help-text/index.js", + "ui/components/component-library/icon/icon.constants.js", + "ui/components/component-library/icon/icon.js", + "ui/components/component-library/icon/icon.stories.js", + "ui/components/component-library/icon/icon.test.js", + "ui/components/component-library/icon/index.js", + "ui/components/component-library/index.js", + "ui/components/component-library/label/index.js", + "ui/components/component-library/label/label.js", + "ui/components/component-library/label/label.stories.js", + "ui/components/component-library/label/label.test.js", + "ui/components/component-library/picker-network/index.js", + "ui/components/component-library/picker-network/picker-network.js", + "ui/components/component-library/picker-network/picker-network.stories.js", + "ui/components/component-library/picker-network/picker-network.test.js", + "ui/components/component-library/tag-url/index.js", + "ui/components/component-library/tag-url/tag-url.js", + "ui/components/component-library/tag-url/tag-url.stories.js", + "ui/components/component-library/tag-url/tag-url.test.js", + "ui/components/component-library/tag/index.js", + "ui/components/component-library/tag/tag.js", + "ui/components/component-library/tag/tag.stories.js", + "ui/components/component-library/tag/tag.test.js", + "ui/components/component-library/text-field-base/index.js", + "ui/components/component-library/text-field-base/text-field-base.constants.js", + "ui/components/component-library/text-field-base/text-field-base.js", + "ui/components/component-library/text-field-base/text-field-base.stories.js", + "ui/components/component-library/text-field-base/text-field-base.test.js", + "ui/components/component-library/text-field-search/index.js", + "ui/components/component-library/text-field-search/text-field-search.js", + "ui/components/component-library/text-field-search/text-field-search.stories.js", + "ui/components/component-library/text-field-search/text-field-search.test.js", + "ui/components/component-library/text-field/index.js", + "ui/components/component-library/text-field/text-field.constants.js", + "ui/components/component-library/text-field/text-field.js", + "ui/components/component-library/text-field/text-field.stories.js", + "ui/components/component-library/text-field/text-field.test.js", + "ui/components/component-library/text/index.js", + "ui/components/component-library/text/text.js", + "ui/components/component-library/text/text.stories.js", + "ui/components/component-library/text/text.test.js", "ui/components/ui/account-list/account-list.js", "ui/components/ui/account-list/account-list.stories.js", + "ui/components/ui/account-list/account-list.test.js", "ui/components/ui/account-list/index.js", "ui/components/ui/account-mismatch-warning/acccount-mismatch-warning.component.test.js", "ui/components/ui/account-mismatch-warning/account-mismatch-warning.component.js", @@ -820,13 +984,13 @@ "ui/components/ui/breadcrumbs/breadcrumbs.component.js", "ui/components/ui/breadcrumbs/breadcrumbs.component.test.js", "ui/components/ui/breadcrumbs/breadcrumbs.stories.js", + "ui/components/ui/breadcrumbs/index.js", "ui/components/ui/button-group/button-group-component.test.js", "ui/components/ui/button-group/button-group.component.js", "ui/components/ui/button-group/button-group.stories.js", "ui/components/ui/button-group/index.js", "ui/components/ui/button/button.component.js", "ui/components/ui/button/button.stories.js", - "ui/components/ui/button/button.stories.test.js", "ui/components/ui/button/index.js", "ui/components/ui/callout/callout.js", "ui/components/ui/callout/callout.stories.js", @@ -849,12 +1013,16 @@ "ui/components/ui/confusable/confusable.component.test.js", "ui/components/ui/confusable/confusable.stories.js", "ui/components/ui/confusable/index.js", + "ui/components/ui/contract-token-values/contract-token-values.js", + "ui/components/ui/contract-token-values/contract-token-values.stories.js", "ui/components/ui/currency-display/currency-display.component.js", "ui/components/ui/currency-display/currency-display.component.test.js", "ui/components/ui/currency-display/index.js", "ui/components/ui/definition-list/definition-list.js", "ui/components/ui/definition-list/definition-list.stories.js", "ui/components/ui/definition-list/index.js", + "ui/components/ui/deprecated-test-networks/deprecated-test-networks.js", + "ui/components/ui/deprecated-test-networks/deprecated-test-networks.stories.js", "ui/components/ui/dialog/dialog.stories.js", "ui/components/ui/dialog/index.js", "ui/components/ui/disclosure/disclosure.js", @@ -890,13 +1058,16 @@ "ui/components/ui/icon-with-fallback/index.js", "ui/components/ui/icon/approve-icon.component.js", "ui/components/ui/icon/copy-icon.component.js", + "ui/components/ui/icon/icon-block-explorer.js", "ui/components/ui/icon/icon-caret-down.js", "ui/components/ui/icon/icon-caret-left.js", "ui/components/ui/icon/icon-caret-right.js", "ui/components/ui/icon/icon-caret-up.js", + "ui/components/ui/icon/icon-chart.js", "ui/components/ui/icon/icon-check.js", "ui/components/ui/icon/icon-cog.js", "ui/components/ui/icon/icon-connect.js", + "ui/components/ui/icon/icon-copy.js", "ui/components/ui/icon/icon-eye-slash.js", "ui/components/ui/icon/icon-eye.js", "ui/components/ui/icon/icon-import.js", @@ -931,6 +1102,7 @@ "ui/components/ui/info-tooltip/info-tooltip.stories.js", "ui/components/ui/jazzicon/index.js", "ui/components/ui/jazzicon/jazzicon.component.js", + "ui/components/ui/jazzicon/jazzicon.stories.js", "ui/components/ui/list-item/index.js", "ui/components/ui/list-item/list-item.component.js", "ui/components/ui/list-item/list-item.component.test.js", @@ -964,9 +1136,16 @@ "ui/components/ui/metafox-logo/index.js", "ui/components/ui/metafox-logo/metafox-logo.component.js", "ui/components/ui/metafox-logo/metafox-logo.component.test.js", + "ui/components/ui/metafox-logo/metafox-logo.stories.js", + "ui/components/ui/new-network-info/new-network-info.js", + "ui/components/ui/new-network-info/new-network-info.test.js", + "ui/components/ui/nft-collection-image/nft-collection-image.js", + "ui/components/ui/nft-info/nft-info.js", + "ui/components/ui/nft-info/nft-info.stories.js", "ui/components/ui/nickname-popover/index.js", "ui/components/ui/nickname-popover/nickname-popover.component.js", "ui/components/ui/nickname-popover/nickname-popover.stories.js", + "ui/components/ui/nickname-popover/nickname-popover.test.js", "ui/components/ui/numeric-input/index.js", "ui/components/ui/numeric-input/numeric-input.component.js", "ui/components/ui/numeric-input/numeric-input.stories.js", @@ -992,6 +1171,8 @@ "ui/components/ui/radio-group/index.js", "ui/components/ui/radio-group/radio-group.component.js", "ui/components/ui/radio-group/radio-group.stories.js", + "ui/components/ui/review-spending-cap/review-spending-cap.js", + "ui/components/ui/review-spending-cap/review-spending-cap.stories.js", "ui/components/ui/sender-to-recipient/index.js", "ui/components/ui/sender-to-recipient/sender-to-recipient.component.js", "ui/components/ui/sender-to-recipient/sender-to-recipient.constants.js", @@ -1007,6 +1188,7 @@ "ui/components/ui/site-origin/index.js", "ui/components/ui/site-origin/site-origin.js", "ui/components/ui/site-origin/site-origin.stories.js", + "ui/components/ui/site-origin/site-origin.test.js", "ui/components/ui/slider/index.js", "ui/components/ui/slider/slider.component.js", "ui/components/ui/slider/slider.component.test.js", @@ -1016,6 +1198,8 @@ "ui/components/ui/spinner/index.js", "ui/components/ui/spinner/spinner.component.js", "ui/components/ui/spinner/spinner.stories.js", + "ui/components/ui/tabs/dropdown-tab/dropdown-tab.js", + "ui/components/ui/tabs/dropdown-tab/index.js", "ui/components/ui/tabs/index.js", "ui/components/ui/tabs/tab/index.js", "ui/components/ui/tabs/tab/tab.component.js", @@ -1053,6 +1237,7 @@ "ui/components/ui/update-nickname-popover/index.js", "ui/components/ui/update-nickname-popover/update-nickname-popover.js", "ui/components/ui/update-nickname-popover/update-nickname-popover.stories.js", + "ui/components/ui/update-nickname-popover/update-nickname-popover.test.js", "ui/components/ui/url-icon/index.js", "ui/components/ui/url-icon/url-icon.js", "ui/components/ui/url-icon/url-icon.stories.js", @@ -1068,7 +1253,7 @@ "ui/ducks/app/app.test.js", "ui/ducks/confirm-transaction/confirm-transaction.duck.js", "ui/ducks/confirm-transaction/confirm-transaction.duck.test.js", - "ui/ducks/ens.js", + "ui/ducks/domains.js", "ui/ducks/gas/gas-action-constants.js", "ui/ducks/gas/gas-duck.test.js", "ui/ducks/gas/gas.duck.js", @@ -1084,9 +1269,9 @@ "ui/ducks/send/send.test.js", "ui/ducks/swaps/swaps.js", "ui/ducks/swaps/swaps.test.js", + "ui/helpers/constants/beta.js", "ui/helpers/constants/common.js", "ui/helpers/constants/connected-sites.js", - "ui/helpers/constants/critical-error.js", "ui/helpers/constants/design-system.js", "ui/helpers/constants/error-keys.js", "ui/helpers/constants/gas.js", @@ -1113,10 +1298,7 @@ "ui/helpers/utils/confirm-tx.util.test.js", "ui/helpers/utils/conversions.util.js", "ui/helpers/utils/conversions.util.test.js", - "ui/helpers/utils/error-utils.js", - "ui/helpers/utils/error-utils.test.js", - "ui/helpers/utils/fetch-with-cache.js", - "ui/helpers/utils/fetch-with-cache.test.js", + "ui/helpers/utils/export-utils.js", "ui/helpers/utils/formatters.js", "ui/helpers/utils/gas.js", "ui/helpers/utils/gas.test.js", @@ -1127,14 +1309,14 @@ "ui/helpers/utils/is-mobile-view.js", "ui/helpers/utils/metric.test.js", "ui/helpers/utils/metrics.js", + "ui/helpers/utils/moonpay.js", + "ui/helpers/utils/moonpay.test.js", "ui/helpers/utils/optimism/buildUnserializedTransaction.js", "ui/helpers/utils/optimism/buildUnserializedTransaction.test.js", "ui/helpers/utils/optimism/fetchEstimatedL1Fee.js", "ui/helpers/utils/permission.js", "ui/helpers/utils/settings-search.js", "ui/helpers/utils/settings-search.test.js", - "ui/helpers/utils/storage-helpers.js", - "ui/helpers/utils/switch-direction.js", "ui/helpers/utils/token-util.js", "ui/helpers/utils/transactions.util.js", "ui/helpers/utils/transactions.util.test.js", @@ -1143,6 +1325,7 @@ "ui/helpers/utils/util.js", "ui/helpers/utils/util.test.js", "ui/helpers/utils/webcam-utils.js", + "ui/hooks/flask/useTransactionInsightSnap.js", "ui/hooks/gasFeeInput/test-utils.js", "ui/hooks/gasFeeInput/useGasEstimates.js", "ui/hooks/gasFeeInput/useGasEstimates.test.js", @@ -1223,6 +1406,8 @@ "ui/pages/confirm-approve/confirm-approve.stories.js", "ui/pages/confirm-approve/confirm-approve.util.js", "ui/pages/confirm-approve/index.js", + "ui/pages/confirm-contract-interaction/confirm-contract-interaction.js", + "ui/pages/confirm-contract-interaction/index.js", "ui/pages/confirm-decrypt-message/confirm-decrypt-message.component.js", "ui/pages/confirm-decrypt-message/confirm-decrypt-message.container.js", "ui/pages/confirm-decrypt-message/index.js", @@ -1307,6 +1492,7 @@ "ui/pages/first-time-flow/create-password/index.js", "ui/pages/first-time-flow/create-password/new-account/index.js", "ui/pages/first-time-flow/create-password/new-account/new-account.component.js", + "ui/pages/first-time-flow/create-password/new-account/new-account.test.js", "ui/pages/first-time-flow/end-of-flow/end-of-flow.component.js", "ui/pages/first-time-flow/end-of-flow/end-of-flow.container.js", "ui/pages/first-time-flow/end-of-flow/end-of-flow.stories.js", @@ -1339,6 +1525,7 @@ "ui/pages/first-time-flow/seed-phrase/seed-phrase-intro/index.js", "ui/pages/first-time-flow/seed-phrase/seed-phrase-intro/seed-phrase-intro.component.js", "ui/pages/first-time-flow/seed-phrase/seed-phrase.component.js", + "ui/pages/first-time-flow/seed-phrase/seed-phrase.test.js", "ui/pages/first-time-flow/select-action/index.js", "ui/pages/first-time-flow/select-action/select-action.component.js", "ui/pages/first-time-flow/select-action/select-action.container.js", @@ -1397,6 +1584,7 @@ "ui/pages/onboarding-flow/onboarding-app-header/onboarding-app-header.js", "ui/pages/onboarding-flow/onboarding-flow-switch/onboarding-flow-switch.js", "ui/pages/onboarding-flow/onboarding-flow.js", + "ui/pages/onboarding-flow/onboarding-flow.test.js", "ui/pages/onboarding-flow/pin-extension/pin-billboard.js", "ui/pages/onboarding-flow/pin-extension/pin-extension.js", "ui/pages/onboarding-flow/pin-extension/pin-extension.stories.js", @@ -1419,6 +1607,7 @@ "ui/pages/permissions-connect/flask/snap-install/snap-install.js", "ui/pages/permissions-connect/flask/snap-update/index.js", "ui/pages/permissions-connect/flask/snap-update/snap-update.js", + "ui/pages/permissions-connect/flask/util.js", "ui/pages/permissions-connect/index.js", "ui/pages/permissions-connect/permissions-connect.component.js", "ui/pages/permissions-connect/permissions-connect.container.js", @@ -1435,9 +1624,9 @@ "ui/pages/send/send-content/add-recipient/add-recipient.container.js", "ui/pages/send/send-content/add-recipient/add-recipient.container.test.js", "ui/pages/send/send-content/add-recipient/add-recipient.stories.js", - "ui/pages/send/send-content/add-recipient/ens-input.component.js", - "ui/pages/send/send-content/add-recipient/ens-input.container.js", - "ui/pages/send/send-content/add-recipient/ens-input.js", + "ui/pages/send/send-content/add-recipient/domain-input.component.js", + "ui/pages/send/send-content/add-recipient/domain-input.container.js", + "ui/pages/send/send-content/add-recipient/domain-input.js", "ui/pages/send/send-content/add-recipient/index.js", "ui/pages/send/send-content/index.js", "ui/pages/send/send-content/send-amount-row/amount-max-button/amount-max-button.js", @@ -1476,10 +1665,9 @@ "ui/pages/send/send-content/send-row-wrapper/send-row-wrapper.component.test.js", "ui/pages/send/send-footer/index.js", "ui/pages/send/send-footer/send-footer.component.js", - "ui/pages/send/send-footer/send-footer.component.test.js", "ui/pages/send/send-footer/send-footer.container.js", - "ui/pages/send/send-footer/send-footer.container.test.js", "ui/pages/send/send-footer/send-footer.stories.js", + "ui/pages/send/send-footer/send-footer.test.js", "ui/pages/send/send-header/index.js", "ui/pages/send/send-header/send-header.component.js", "ui/pages/send/send-header/send-header.component.test.js", @@ -1511,8 +1699,8 @@ "ui/pages/settings/contact-list-tab/view-contact/view-contact.component.js", "ui/pages/settings/contact-list-tab/view-contact/view-contact.container.js", "ui/pages/settings/experimental-tab/experimental-tab.component.js", - "ui/pages/settings/experimental-tab/experimental-tab.component.test.js", "ui/pages/settings/experimental-tab/experimental-tab.container.js", + "ui/pages/settings/experimental-tab/experimental-tab.test.js", "ui/pages/settings/experimental-tab/index.js", "ui/pages/settings/flask/snaps-list-tab/index.js", "ui/pages/settings/flask/snaps-list-tab/snap-list-tab.js", @@ -1551,7 +1739,7 @@ "ui/pages/settings/security-tab/index.js", "ui/pages/settings/security-tab/security-tab.component.js", "ui/pages/settings/security-tab/security-tab.container.js", - "ui/pages/settings/security-tab/security-tab.container.test.js", + "ui/pages/settings/security-tab/security-tab.test.js", "ui/pages/settings/settings-search-list/index.js", "ui/pages/settings/settings-search-list/settings-search-list.js", "ui/pages/settings/settings-search/index.js", @@ -1563,9 +1751,9 @@ "ui/pages/settings/settings-tab/settings-tab.constant.js", "ui/pages/settings/settings-tab/settings-tab.container.js", "ui/pages/settings/settings.component.js", - "ui/pages/settings/settings.component.test.js", "ui/pages/settings/settings.container.js", "ui/pages/settings/settings.stories.js", + "ui/pages/settings/settings.test.js", "ui/pages/swaps/awaiting-signatures/awaiting-signatures.js", "ui/pages/swaps/awaiting-signatures/awaiting-signatures.stories.js", "ui/pages/swaps/awaiting-signatures/awaiting-signatures.test.js", @@ -1635,8 +1823,10 @@ "ui/pages/swaps/searchable-item-list/index.js", "ui/pages/swaps/searchable-item-list/item-list/index.js", "ui/pages/swaps/searchable-item-list/item-list/item-list.component.js", + "ui/pages/swaps/searchable-item-list/item-list/item-list.component.test.js", "ui/pages/swaps/searchable-item-list/list-item-search/index.js", "ui/pages/swaps/searchable-item-list/list-item-search/list-item-search.component.js", + "ui/pages/swaps/searchable-item-list/list-item-search/list-item-search.component.test.js", "ui/pages/swaps/searchable-item-list/list-item-search/list-item-search.stories.js", "ui/pages/swaps/searchable-item-list/searchable-item-list.js", "ui/pages/swaps/searchable-item-list/searchable-item-list.test.js", @@ -1645,6 +1835,7 @@ "ui/pages/swaps/select-quote-popover/mock-quote-data.test.js", "ui/pages/swaps/select-quote-popover/quote-details/index.js", "ui/pages/swaps/select-quote-popover/quote-details/quote-details.js", + "ui/pages/swaps/select-quote-popover/quote-details/quote-details.test.js", "ui/pages/swaps/select-quote-popover/select-quote-popover-constants.js", "ui/pages/swaps/select-quote-popover/select-quote-popover.js", "ui/pages/swaps/select-quote-popover/select-quote-popover.stories.js", @@ -1686,15 +1877,16 @@ "ui/pages/swaps/view-quote/view-quote-price-difference.test.js", "ui/pages/swaps/view-quote/view-quote.js", "ui/pages/swaps/view-quote/view-quote.test.js", + "ui/pages/token-allowance/token-allowance.js", + "ui/pages/token-allowance/token-allowance.stories.js", "ui/pages/token-details/index.js", "ui/pages/token-details/token-details-page.js", "ui/pages/token-details/token-details-page.test.js", "ui/pages/unlock-page/index.js", "ui/pages/unlock-page/unlock-page.component.js", - "ui/pages/unlock-page/unlock-page.component.test.js", "ui/pages/unlock-page/unlock-page.container.js", - "ui/pages/unlock-page/unlock-page.container.test.js", "ui/pages/unlock-page/unlock-page.stories.js", + "ui/pages/unlock-page/unlock-page.test.js", "ui/selectors/confirm-transaction.js", "ui/selectors/confirm-transaction.test.js", "ui/selectors/custom-gas.js", @@ -1710,6 +1902,9 @@ "ui/selectors/selectors.test.js", "ui/selectors/transactions.js", "ui/selectors/transactions.test.js", + "ui/store/action-queue/index.js", + "ui/store/action-queue/index.test.js", + "ui/store/action-queue/queue.integration.test.js", "ui/store/actionConstants.js", "ui/store/actionConstants.test.js", "ui/store/actions.js",