- Select an account you want to use on this site to continue.
+ To connect to a site, find and select the "connect" button. Remember MetaMask can only connect to sites on web3
Date: Tue, 15 Oct 2024 17:07:03 +0100
Subject: [PATCH 23/41] feat: update copy for 'Default settings' (#27821)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
## **Description**
Updates the copy for the onboarding message screen and the onboarding
settings screen.
[![Open in GitHub
Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/27821?quickstart=1)
## **Related issues**
Fixes: https://github.com/MetaMask/MetaMask-planning/issues/3496
## **Manual testing steps**
1. For the following scenarios:
a. Wallet created w backup
b. Wallet created w/o backup
c. Wallet imported
3. The copy of the success screens and the settings screen should be
updated as shown in the Screenshots:
## **Screenshots/Recordings**
### **Before**
### **After**
## **Pre-merge author checklist**
- [ ] I've followed [MetaMask Contributor
Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask
Extension Coding
Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md).
- [ ] I've completed the PR template to the best of my ability
- [ ] I’ve included tests if applicable
- [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [ ] I’ve applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)).
Not required for external contributors.
## **Pre-merge reviewer checklist**
- [ ] I've manually tested the PR (e.g. pull and build branch, run the
app, test code being changed).
- [ ] I confirm that this PR addresses all acceptance criteria described
in the ticket it closes and includes the necessary testing evidence such
as recordings and or screenshots.
---
app/_locales/en/messages.json | 4 ++--
test/e2e/helpers.js | 5 ++++-
test/e2e/tests/network/multi-rpc.spec.ts | 2 +-
test/e2e/tests/onboarding/onboarding.spec.js | 4 ++--
test/e2e/tests/privacy/basic-functionality.spec.js | 4 ++--
.../creation-successful/creation-successful.test.js | 4 ++--
6 files changed, 13 insertions(+), 10 deletions(-)
diff --git a/app/_locales/en/messages.json b/app/_locales/en/messages.json
index 6970fbb4473c..57dd9152752e 100644
--- a/app/_locales/en/messages.json
+++ b/app/_locales/en/messages.json
@@ -1548,7 +1548,7 @@
"message": "MetaMask uses default settings to best balance safety and ease of use. Change these settings to further increase your privacy."
},
"defaultSettingsTitle": {
- "message": "Default settings"
+ "message": "Default privacy settings"
},
"delete": {
"message": "Delete"
@@ -2846,7 +2846,7 @@
"description": "Warning to users to be care while creating and saving their new Secret Recovery Phrase"
},
"manageDefaultSettings": {
- "message": "Manage default settings"
+ "message": "Manage default privacy settings"
},
"marketCap": {
"message": "Market cap"
diff --git a/test/e2e/helpers.js b/test/e2e/helpers.js
index 926b152e899b..65a405f5325d 100644
--- a/test/e2e/helpers.js
+++ b/test/e2e/helpers.js
@@ -566,7 +566,10 @@ const onboardingCompleteWalletCreationWithOptOut = async (driver) => {
await driver.findElement({ text: 'Congratulations!', tag: 'h2' });
// opt-out from third party API on general section
- await driver.clickElement({ text: 'Manage default settings', tag: 'button' });
+ await driver.clickElement({
+ text: 'Manage default privacy settings',
+ tag: 'button',
+ });
await driver.clickElement({ text: 'General', tag: 'p' });
await driver.clickElement(
'[data-testid="basic-functionality-toggle"] .toggle-button',
diff --git a/test/e2e/tests/network/multi-rpc.spec.ts b/test/e2e/tests/network/multi-rpc.spec.ts
index af2ef47e93fb..6fc7025f5dbc 100644
--- a/test/e2e/tests/network/multi-rpc.spec.ts
+++ b/test/e2e/tests/network/multi-rpc.spec.ts
@@ -397,7 +397,7 @@ describe('MultiRpc:', function (this: Suite) {
// go to advanced settigns
await driver.clickElementAndWaitToDisappear({
- text: 'Manage default settings',
+ text: 'Manage default privacy settings',
});
await driver.clickElement({
diff --git a/test/e2e/tests/onboarding/onboarding.spec.js b/test/e2e/tests/onboarding/onboarding.spec.js
index 1b15dba5ddd7..8d6b00de07ed 100644
--- a/test/e2e/tests/onboarding/onboarding.spec.js
+++ b/test/e2e/tests/onboarding/onboarding.spec.js
@@ -280,7 +280,7 @@ describe('MetaMask onboarding @no-mmi', function () {
);
await driver.clickElement({
- text: 'Manage default settings',
+ text: 'Manage default privacy settings',
tag: 'button',
});
@@ -402,7 +402,7 @@ describe('MetaMask onboarding @no-mmi', function () {
);
await driver.clickElement({
- text: 'Manage default settings',
+ text: 'Manage default privacy settings',
tag: 'button',
});
await driver.clickElement('[data-testid="category-item-General"]');
diff --git a/test/e2e/tests/privacy/basic-functionality.spec.js b/test/e2e/tests/privacy/basic-functionality.spec.js
index 062a0345a39a..b4fc0e138104 100644
--- a/test/e2e/tests/privacy/basic-functionality.spec.js
+++ b/test/e2e/tests/privacy/basic-functionality.spec.js
@@ -60,7 +60,7 @@ describe('MetaMask onboarding @no-mmi', function () {
);
await driver.clickElement({
- text: 'Manage default settings',
+ text: 'Manage default privacy settings',
tag: 'button',
});
await driver.clickElement('[data-testid="category-item-General"]');
@@ -130,7 +130,7 @@ describe('MetaMask onboarding @no-mmi', function () {
);
await driver.clickElement({
- text: 'Manage default settings',
+ text: 'Manage default privacy settings',
tag: 'button',
});
await driver.clickElement('[data-testid="category-item-General"]');
diff --git a/ui/pages/onboarding-flow/creation-successful/creation-successful.test.js b/ui/pages/onboarding-flow/creation-successful/creation-successful.test.js
index 5349a9f23f9e..9438f3859ff1 100644
--- a/ui/pages/onboarding-flow/creation-successful/creation-successful.test.js
+++ b/ui/pages/onboarding-flow/creation-successful/creation-successful.test.js
@@ -116,9 +116,9 @@ describe('Creation Successful Onboarding View', () => {
).toBeInTheDocument();
});
- it('should redirect to privacy-settings view when "Manage default settings" button is clicked', () => {
+ it('should redirect to privacy-settings view when "Manage default privacy settings" button is clicked', () => {
const { getByText } = renderWithProvider(, store);
- const privacySettingsButton = getByText('Manage default settings');
+ const privacySettingsButton = getByText('Manage default privacy settings');
fireEvent.click(privacySettingsButton);
expect(mockHistoryPush).toHaveBeenCalledWith(
ONBOARDING_PRIVACY_SETTINGS_ROUTE,
From bd018b20e77266de009355a125956a3c7f0c3216 Mon Sep 17 00:00:00 2001
From: Harika <153644847+hjetpoluru@users.noreply.github.com>
Date: Tue, 15 Oct 2024 12:18:34 -0400
Subject: [PATCH 24/41] fix: "Update Network: should update added rpc url for
exis..." flaky tests (#27437)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
## **Description**
This PR addresses a flaky test issue caused by a popover dialog that
appears. The presence of this popover dialog prevents the test from
interacting with the intended element leading to test failures.
To resolve this, I have included the clickSafeElement method to safely
click the "Got it" button on the popover dialog.
![image](https://github.com/user-attachments/assets/5eb874d5-65bd-423a-aeab-6bf2cb628081)
[![Open in GitHub
Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/27437?quickstart=1)
## **Related issues**
Fixes:
https://github.com/MetaMask/metamask-extension/issues/27422
## **Manual testing steps**
Run the test using below commands locally or in codespaces:
yarn
yarn build:test:webpack
ENABLE_MV3=false yarn test:e2e:single
test/e2e/tests/network/update-network.spec.ts --browser=chrome
## **Pre-merge author checklist**
- [ ] I've followed [MetaMask Contributor
Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask
Extension Coding
Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md).
- [x] I've completed the PR template to the best of my ability
- [x] I’ve included tests if applicable
- [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [x] I’ve applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)).
Not required for external contributors.
## **Pre-merge reviewer checklist**
- [ ] I've manually tested the PR (e.g. pull and build branch, run the
app, test code being changed).
- [ ] I confirm that this PR addresses all acceptance criteria described
in the ticket it closes and includes the necessary testing evidence such
as recordings and or screenshots.
---------
Co-authored-by: seaona <54408225+seaona@users.noreply.github.com>
---
test/e2e/tests/network/update-network.spec.ts | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/test/e2e/tests/network/update-network.spec.ts b/test/e2e/tests/network/update-network.spec.ts
index 08b1bc570c83..3f0b9882688f 100644
--- a/test/e2e/tests/network/update-network.spec.ts
+++ b/test/e2e/tests/network/update-network.spec.ts
@@ -240,7 +240,13 @@ describe('Update Network:', function (this: Suite) {
// Re-open the network menu
await driver.delay(regularDelayMs);
+ // We need to use clickElementSafe + assertElementNotPresent as sometimes the network dialog doesn't appear, as per this issue (#27870)
+ // TODO: change the 2 actions for clickElementAndWaitToDisappear, once the issue is fixed
await driver.clickElementSafe({ text: 'Got it', tag: 'h6' });
+ await driver.assertElementNotPresent({
+ tag: 'h6',
+ text: 'Got it',
+ });
await driver.clickElement('[data-testid="network-display"]');
// Go back to edit the network
@@ -360,6 +366,13 @@ describe('Update Network:', function (this: Suite) {
// Re-open the network menu
await driver.delay(regularDelayMs);
+ // We need to use clickElementSafe + assertElementNotPresent as sometimes the network dialog doesn't appear, as per this issue (#27870)
+ // TODO: change the 2 actions for clickElementAndWaitToDisappear, once the issue is fixed
+ await driver.clickElementSafe({ text: 'Got it', tag: 'h6' });
+ await driver.assertElementNotPresent({
+ tag: 'h6',
+ text: 'Got it',
+ });
await driver.clickElement('[data-testid="network-display"]');
// Go back to edit the network
From 988156b60bae62a2e2e81f04a3f8a8d5ad8c6f2d Mon Sep 17 00:00:00 2001
From: cryptodev-2s <109512101+cryptodev-2s@users.noreply.github.com>
Date: Tue, 15 Oct 2024 18:33:03 +0200
Subject: [PATCH 25/41] feat: use messenger in AccountTracker to get
Preferences state (#27711)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
## **Description**
This PR updates Account Tracker to retrieve the state from
PreferencesController via the messenger, replacing the use of the state
callback. All the unit tests were incorrectly passing before, but this
issue has now been fixed.
[![Open in GitHub
Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/27711?quickstart=1)
## **Related issues**
Fixes:
## **Manual testing steps**
## **Screenshots/Recordings**
### **Before**
### **After**
## **Pre-merge author checklist**
- [ ] I've followed [MetaMask Contributor
Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask
Extension Coding
Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md).
- [ ] I've completed the PR template to the best of my ability
- [ ] I’ve included tests if applicable
- [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [ ] I’ve applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)).
Not required for external contributors.
## **Pre-merge reviewer checklist**
- [ ] I've manually tested the PR (e.g. pull and build branch, run the
app, test code being changed).
- [ ] I confirm that this PR addresses all acceptance criteria described
in the ticket it closes and includes the necessary testing evidence such
as recordings and or screenshots.
---
.eslintrc.js | 1 +
.../account-tracker-controller.test.ts | 111 +++++++++++-------
.../controllers/account-tracker-controller.ts | 28 ++---
app/scripts/metamask-controller.js | 2 +-
4 files changed, 87 insertions(+), 55 deletions(-)
diff --git a/.eslintrc.js b/.eslintrc.js
index a53619b179ca..258556239ac3 100644
--- a/.eslintrc.js
+++ b/.eslintrc.js
@@ -317,6 +317,7 @@ module.exports = {
'app/scripts/controllers/metametrics.test.js',
'app/scripts/controllers/permissions/**/*.test.js',
'app/scripts/controllers/preferences-controller.test.ts',
+ 'app/scripts/controllers/account-tracker-controller.test.ts',
'app/scripts/lib/**/*.test.js',
'app/scripts/metamask-controller.test.js',
'app/scripts/migrations/*.test.js',
diff --git a/app/scripts/controllers/account-tracker-controller.test.ts b/app/scripts/controllers/account-tracker-controller.test.ts
index ad33541fb5b6..7456244fc5a4 100644
--- a/app/scripts/controllers/account-tracker-controller.test.ts
+++ b/app/scripts/controllers/account-tracker-controller.test.ts
@@ -32,7 +32,7 @@ const GAS_LIMIT_HOOK = '0x222222';
// The below three values were generated by running MetaMask in the browser
// The response to eth_call, which is called via `ethContract.balances`
-// in `_updateAccountsViaBalanceChecker` of account-tracker.js, needs to be properly
+// in `#updateAccountsViaBalanceChecker` of account-tracker-controller.ts, needs to be properly
// formatted or else ethers will throw an error.
const ETHERS_CONTRACT_BALANCES_ETH_CALL_RETURN =
'0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000038d7ea4c6800600000000000000000000000000000000000000000000000000000000000186a0';
@@ -85,9 +85,9 @@ type WithControllerArgs =
| [WithControllerCallback]
| [WithControllerOptions, WithControllerCallback];
-function withController(
+async function withController(
...args: WithControllerArgs
-): ReturnValue {
+): Promise {
const [{ ...rest }, fn] = args.length === 2 ? args : [{}, args[0]];
const {
completedOnboarding = false,
@@ -127,8 +127,8 @@ function withController(
eth_call: ETHERS_CONTRACT_BALANCES_ETH_CALL_RETURN,
eth_getBlockByNumber: { gasLimit: GAS_LIMIT_HOOK },
},
- networkId: '0x1',
- chainId: '0x1',
+ networkId: 'selectedNetworkId',
+ chainId: currentChainId,
});
const getNetworkStateStub = jest.fn().mockReturnValue({
@@ -160,14 +160,19 @@ function withController(
getOnboardingControllerState,
);
+ const getPreferencesControllerState = jest.fn().mockReturnValue({
+ useMultiAccountBalanceChecker,
+ });
+ controllerMessenger.registerActionHandler(
+ 'PreferencesController:getState',
+ getPreferencesControllerState,
+ );
+
const controller = new AccountTrackerController({
state: getDefaultAccountTrackerControllerState(),
provider: provider as Provider,
blockTracker: blockTrackerStub as unknown as BlockTracker,
getNetworkIdentifier: jest.fn(),
- preferencesControllerState: {
- useMultiAccountBalanceChecker,
- },
messenger: controllerMessenger.getRestricted({
name: 'AccountTrackerController',
allowedActions: [
@@ -175,6 +180,7 @@ function withController(
'NetworkController:getState',
'NetworkController:getNetworkClientById',
'OnboardingController:getState',
+ 'PreferencesController:getState',
],
allowedEvents: [
'AccountsController:selectedEvmAccountChange',
@@ -185,7 +191,7 @@ function withController(
...accountTrackerOptions,
});
- return fn({
+ return await fn({
controller,
blockTrackerFromHookStub,
blockTrackerStub,
@@ -198,7 +204,7 @@ function withController(
describe('AccountTrackerController', () => {
describe('start', () => {
it('restarts the subscription to the block tracker and update accounts', async () => {
- withController(({ controller, blockTrackerStub }) => {
+ await withController(({ controller, blockTrackerStub }) => {
const updateAccountsSpy = jest
.spyOn(controller, 'updateAccounts')
.mockResolvedValue();
@@ -238,7 +244,7 @@ describe('AccountTrackerController', () => {
describe('stop', () => {
it('ends the subscription to the block tracker', async () => {
- withController(({ controller, blockTrackerStub }) => {
+ await withController(({ controller, blockTrackerStub }) => {
controller.stop();
expect(blockTrackerStub.removeListener).toHaveBeenNthCalledWith(
@@ -252,7 +258,7 @@ describe('AccountTrackerController', () => {
describe('startPollingByNetworkClientId', () => {
it('should subscribe to the block tracker and update accounts if not already using the networkClientId', async () => {
- withController(({ controller, blockTrackerFromHookStub }) => {
+ await withController(({ controller, blockTrackerFromHookStub }) => {
const updateAccountsSpy = jest
.spyOn(controller, 'updateAccounts')
.mockResolvedValue();
@@ -278,7 +284,7 @@ describe('AccountTrackerController', () => {
const blockTrackerFromHookStub1 = buildMockBlockTracker();
const blockTrackerFromHookStub2 = buildMockBlockTracker();
const blockTrackerFromHookStub3 = buildMockBlockTracker();
- withController(
+ await withController(
{
getNetworkClientById: jest
.fn()
@@ -347,7 +353,7 @@ describe('AccountTrackerController', () => {
describe('stopPollingByPollingToken', () => {
it('should unsubscribe from the block tracker when called with a valid polling that was the only active pollingToken for a given networkClient', async () => {
- withController(({ controller, blockTrackerFromHookStub }) => {
+ await withController(({ controller, blockTrackerFromHookStub }) => {
jest.spyOn(controller, 'updateAccounts').mockResolvedValue();
const pollingToken =
@@ -363,7 +369,7 @@ describe('AccountTrackerController', () => {
});
it('should not unsubscribe from the block tracker if called with one of multiple active polling tokens for a given networkClient', async () => {
- withController(({ controller, blockTrackerFromHookStub }) => {
+ await withController(({ controller, blockTrackerFromHookStub }) => {
jest.spyOn(controller, 'updateAccounts').mockResolvedValue();
const pollingToken1 =
@@ -378,16 +384,16 @@ describe('AccountTrackerController', () => {
});
});
- it('should error if no pollingToken is passed', () => {
- withController(({ controller }) => {
+ it('should error if no pollingToken is passed', async () => {
+ await withController(({ controller }) => {
expect(() => {
controller.stopPollingByPollingToken(undefined);
}).toThrow('pollingToken required');
});
});
- it('should error if no matching pollingToken is found', () => {
- withController(({ controller }) => {
+ it('should error if no matching pollingToken is found', async () => {
+ await withController(({ controller }) => {
expect(() => {
controller.stopPollingByPollingToken('potato');
}).toThrow('pollingToken not found');
@@ -421,7 +427,7 @@ describe('AccountTrackerController', () => {
throw new Error('unexpected networkClientId');
}
});
- withController(
+ await withController(
{
getNetworkClientById: getNetworkClientByIdStub,
},
@@ -456,7 +462,7 @@ describe('AccountTrackerController', () => {
const blockTrackerStub = buildMockBlockTracker({
shouldStubListeners: false,
});
- withController(
+ await withController(
{
blockTracker: blockTrackerStub as unknown as BlockTracker,
},
@@ -499,14 +505,29 @@ describe('AccountTrackerController', () => {
networkId: '0x1',
chainId: '0x1',
}).provider;
- const getNetworkClientByIdStub = jest.fn().mockReturnValue({
- configuration: {
- chainId: '0x1',
- },
- blockTracker: blockTrackerFromHookStub,
- provider: providerFromHook,
- });
- withController(
+ const getNetworkClientByIdStub = jest
+ .fn()
+ .mockImplementation((networkClientId) => {
+ switch (networkClientId) {
+ case 'mainnet':
+ return {
+ configuration: {
+ chainId: '0x1',
+ },
+ blockTracker: blockTrackerFromHookStub,
+ provider: providerFromHook,
+ };
+ case 'selectedNetworkClientId':
+ return {
+ configuration: {
+ chainId: currentChainId,
+ },
+ };
+ default:
+ throw new Error('unexpected networkClientId');
+ }
+ });
+ await withController(
{
getNetworkClientById: getNetworkClientByIdStub,
},
@@ -540,7 +561,7 @@ describe('AccountTrackerController', () => {
describe('updateAccountsAllActiveNetworks', () => {
it('updates accounts for the globally selected network and all currently polling networks', async () => {
- withController(async ({ controller }) => {
+ await withController(async ({ controller }) => {
const updateAccountsSpy = jest
.spyOn(controller, 'updateAccounts')
.mockResolvedValue();
@@ -572,7 +593,7 @@ describe('AccountTrackerController', () => {
describe('updateAccounts', () => {
it('does not update accounts if completedOnBoarding is false', async () => {
- withController(
+ await withController(
{
completedOnboarding: false,
},
@@ -606,11 +627,16 @@ describe('AccountTrackerController', () => {
describe('when useMultiAccountBalanceChecker is true', () => {
it('updates all accounts directly', async () => {
- withController(
+ await withController(
{
completedOnboarding: true,
useMultiAccountBalanceChecker: true,
state: mockInitialState,
+ getNetworkClientById: jest.fn().mockReturnValue({
+ configuration: {
+ chainId: '0x999',
+ },
+ }),
},
async ({ controller }) => {
await controller.updateAccounts();
@@ -645,11 +671,16 @@ describe('AccountTrackerController', () => {
describe('when useMultiAccountBalanceChecker is false', () => {
it('updates only the selectedAddress directly, setting other balances to null', async () => {
- withController(
+ await withController(
{
completedOnboarding: true,
useMultiAccountBalanceChecker: false,
state: mockInitialState,
+ getNetworkClientById: jest.fn().mockReturnValue({
+ configuration: {
+ chainId: '0x999',
+ },
+ }),
},
async ({ controller }) => {
await controller.updateAccounts();
@@ -683,7 +714,7 @@ describe('AccountTrackerController', () => {
describe('chain does have single call balance address and network is not localhost', () => {
describe('when useMultiAccountBalanceChecker is true', () => {
it('updates all accounts via balance checker', async () => {
- withController(
+ await withController(
{
completedOnboarding: true,
useMultiAccountBalanceChecker: true,
@@ -697,7 +728,7 @@ describe('AccountTrackerController', () => {
state: {
accounts: { ...mockAccounts },
accountsByChainId: {
- '0x1': { ...mockAccounts },
+ [currentChainId]: { ...mockAccounts },
},
},
},
@@ -718,7 +749,7 @@ describe('AccountTrackerController', () => {
expect(controller.state).toStrictEqual({
accounts,
accountsByChainId: {
- '0x1': accounts,
+ [currentChainId]: accounts,
},
currentBlockGasLimit: '',
currentBlockGasLimitByChainId: {},
@@ -731,8 +762,8 @@ describe('AccountTrackerController', () => {
});
describe('onAccountRemoved', () => {
- it('should remove an account from state', () => {
- withController(
+ it('should remove an account from state', async () => {
+ await withController(
{
state: {
accounts: { ...mockAccounts },
@@ -772,8 +803,8 @@ describe('AccountTrackerController', () => {
});
describe('clearAccounts', () => {
- it('should reset state', () => {
- withController(
+ it('should reset state', async () => {
+ await withController(
{
state: {
accounts: { ...mockAccounts },
diff --git a/app/scripts/controllers/account-tracker-controller.ts b/app/scripts/controllers/account-tracker-controller.ts
index ec4789189a0c..5f509a1901bf 100644
--- a/app/scripts/controllers/account-tracker-controller.ts
+++ b/app/scripts/controllers/account-tracker-controller.ts
@@ -45,7 +45,7 @@ import type {
OnboardingControllerGetStateAction,
OnboardingControllerStateChangeEvent,
} from './onboarding';
-import { PreferencesControllerState } from './preferences-controller';
+import { PreferencesControllerGetStateAction } from './preferences-controller';
// Unique name for the controller
const controllerName = 'AccountTrackerController';
@@ -143,7 +143,8 @@ export type AllowedActions =
| OnboardingControllerGetStateAction
| AccountsControllerGetSelectedAccountAction
| NetworkControllerGetStateAction
- | NetworkControllerGetNetworkClientByIdAction;
+ | NetworkControllerGetNetworkClientByIdAction
+ | PreferencesControllerGetStateAction;
/**
* Events that this controller is allowed to subscribe.
@@ -170,7 +171,6 @@ export type AccountTrackerControllerOptions = {
provider: Provider;
blockTracker: BlockTracker;
getNetworkIdentifier: (config?: NetworkClientConfiguration) => string;
- preferencesControllerState: Partial;
};
/**
@@ -198,8 +198,6 @@ export default class AccountTrackerController extends BaseController<
#getNetworkIdentifier: AccountTrackerControllerOptions['getNetworkIdentifier'];
- #preferencesControllerState: AccountTrackerControllerOptions['preferencesControllerState'];
-
#selectedAccount: InternalAccount;
/**
@@ -226,7 +224,6 @@ export default class AccountTrackerController extends BaseController<
this.#blockTracker = options.blockTracker;
this.#getNetworkIdentifier = options.getNetworkIdentifier;
- this.#preferencesControllerState = options.preferencesControllerState;
// subscribe to account removal
this.messagingSystem.subscribe(
@@ -256,8 +253,9 @@ export default class AccountTrackerController extends BaseController<
this.messagingSystem.subscribe(
'AccountsController:selectedEvmAccountChange',
(newAccount) => {
- const { useMultiAccountBalanceChecker } =
- this.#preferencesControllerState;
+ const { useMultiAccountBalanceChecker } = this.messagingSystem.call(
+ 'PreferencesController:getState',
+ );
if (
this.#selectedAccount.id !== newAccount.id &&
@@ -433,10 +431,8 @@ export default class AccountTrackerController extends BaseController<
return;
}
const { blockTracker } = this.#getCorrectNetworkClient(networkClientId);
- const updateForBlock = this.#updateForBlockByNetworkClientId.bind(
- this,
- networkClientId,
- );
+ const updateForBlock = (blockNumber: string) =>
+ this.#updateForBlockByNetworkClientId(networkClientId, blockNumber);
blockTracker.addListener('latest', updateForBlock);
this.#listeners[networkClientId] = updateForBlock;
@@ -672,7 +668,9 @@ export default class AccountTrackerController extends BaseController<
const { chainId, provider, identifier } =
this.#getCorrectNetworkClient(networkClientId);
- const { useMultiAccountBalanceChecker } = this.#preferencesControllerState;
+ const { useMultiAccountBalanceChecker } = this.messagingSystem.call(
+ 'PreferencesController:getState',
+ );
let addresses = [];
if (useMultiAccountBalanceChecker) {
@@ -723,7 +721,9 @@ export default class AccountTrackerController extends BaseController<
provider: Provider,
chainId: Hex,
): Promise {
- const { useMultiAccountBalanceChecker } = this.#preferencesControllerState;
+ const { useMultiAccountBalanceChecker } = this.messagingSystem.call(
+ 'PreferencesController:getState',
+ );
let balance = '0x0';
diff --git a/app/scripts/metamask-controller.js b/app/scripts/metamask-controller.js
index b19c91a232ab..5b3693960113 100644
--- a/app/scripts/metamask-controller.js
+++ b/app/scripts/metamask-controller.js
@@ -1681,6 +1681,7 @@ export default class MetamaskController extends EventEmitter {
'NetworkController:getState',
'NetworkController:getNetworkClientById',
'OnboardingController:getState',
+ 'PreferencesController:getState',
],
allowedEvents: [
'AccountsController:selectedEvmAccountChange',
@@ -1698,7 +1699,6 @@ export default class MetamaskController extends EventEmitter {
});
return type === NETWORK_TYPES.RPC ? rpcUrl : type;
},
- preferencesControllerState: this.preferencesController.state,
});
// start and stop polling for balances based on activeControllerConnections
From cd820efca8bf59505f4b4c7fb8ceabb9be7dbfaa Mon Sep 17 00:00:00 2001
From: AugmentedMode <31675118+AugmentedMode@users.noreply.github.com>
Date: Tue, 15 Oct 2024 13:40:57 -0400
Subject: [PATCH 26/41] fix: phishing test to not check c2 domains (#27846)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
## **Description**
This PR modifies how phishing detection and blocklist checks are handled
within the phishingController. Specifically, it ensures that only the
isBlockedRequest function checks the blocklist against network requests.
The test function will no longer handle for network requests but more
specifically only be ran on `main_fame` and `sub_frame` requests. This
allowed SEAL to submit C2 domains, however going forward they will need
to submit C2 domains directly to us to be ingested.
[![Open in GitHub
Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/27846?quickstart=1)
## **Pre-merge author checklist**
- [x] I've followed [MetaMask Contributor
Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask
Extension Coding
Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md).
- [x] I've completed the PR template to the best of my ability
- [x] I’ve included tests if applicable
- [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [x] I’ve applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)).
Not required for external contributors.
## **Pre-merge reviewer checklist**
- [ ] I've manually tested the PR (e.g. pull and build branch, run the
app, test code being changed).
- [ ] I confirm that this PR addresses all acceptance criteria described
in the ticket it closes and includes the necessary testing evidence such
as recordings and or screenshots.
---
app/scripts/background.js | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/app/scripts/background.js b/app/scripts/background.js
index 7d9d0f5684a6..b6fe63b9aff1 100644
--- a/app/scripts/background.js
+++ b/app/scripts/background.js
@@ -266,13 +266,17 @@ function maybeDetectPhishing(theController) {
}
theController.phishingController.maybeUpdateState();
- const phishingTestResponse = theController.phishingController.test(
- details.url,
- );
const blockedRequestResponse =
theController.phishingController.isBlockedRequest(details.url);
+ let phishingTestResponse;
+ if (details.type === 'main_frame' || details.type === 'sub_frame') {
+ phishingTestResponse = theController.phishingController.test(
+ details.url,
+ );
+ }
+
// if the request is not blocked, and the phishing test is not blocked, return and don't show the phishing screen
if (!phishingTestResponse?.result && !blockedRequestResponse.result) {
return {};
From cc47ff95a7fbac72a3788f213897680318932209 Mon Sep 17 00:00:00 2001
From: Jyoti Puri
Date: Tue, 15 Oct 2024 23:25:12 +0530
Subject: [PATCH 27/41] fix: nonce value when there are multiple transactions
in parallel (#27874)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
## **Description**
Fix issue with nonce not updating when there are multiple transaction
created in parallel and once transaction is submitted.
## **Related issues**
Fixes: https://github.com/MetaMask/metamask-extension/issues/27617
## **Manual testing steps**
1. Go to testdapp
2. create 2 transactions and submit first one
3. Nonce for second transaction should update
## **Screenshots/Recordings**
TODO
## **Pre-merge author checklist**
- [X] I've followed [MetaMask Contributor
Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask
Extension Coding
Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md).
- [X] I've completed the PR template to the best of my ability
- [X] I’ve included tests if applicable
- [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [X] I’ve applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)).
Not required for external contributors.
## **Pre-merge reviewer checklist**
- [ ] I've manually tested the PR (e.g. pull and build branch, run the
app, test code being changed).
- [ ] I confirm that this PR addresses all acceptance criteria described
in the ticket it closes and includes the necessary testing evidence such
as recordings and or screenshots.
---
.../confirm-transaction-base.component.js | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/ui/pages/confirmations/confirm-transaction-base/confirm-transaction-base.component.js b/ui/pages/confirmations/confirm-transaction-base/confirm-transaction-base.component.js
index 96fd5315e317..b4d2d6a8def5 100644
--- a/ui/pages/confirmations/confirm-transaction-base/confirm-transaction-base.component.js
+++ b/ui/pages/confirmations/confirm-transaction-base/confirm-transaction-base.component.js
@@ -215,6 +215,8 @@ export default class ConfirmTransactionBase extends Component {
useMaxValue,
hasPriorityApprovalRequest,
mostRecentOverviewPage,
+ txData,
+ getNextNonce,
} = this.props;
const {
@@ -225,6 +227,7 @@ export default class ConfirmTransactionBase extends Component {
isEthGasPriceFetched: prevIsEthGasPriceFetched,
hexMaximumTransactionFee: prevHexMaximumTransactionFee,
hasPriorityApprovalRequest: prevHasPriorityApprovalRequest,
+ txData: prevTxData,
} = prevProps;
const statusUpdated = transactionStatus !== prevTxStatus;
@@ -232,6 +235,10 @@ export default class ConfirmTransactionBase extends Component {
transactionStatus === TransactionStatus.dropped ||
transactionStatus === TransactionStatus.confirmed;
+ if (txData.id !== prevTxData.id) {
+ getNextNonce();
+ }
+
if (
nextNonce !== prevNextNonce ||
customNonceValue !== prevCustomNonceValue
From dc0dc67dd2ef36692c2329ef0109c8d6a9cb32a7 Mon Sep 17 00:00:00 2001
From: sahar-fehri
Date: Tue, 15 Oct 2024 20:21:15 +0200
Subject: [PATCH 28/41] feat: upgrade assets-controllers to v38.3.0 (#27755)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
## **Description**
PR to upgrade assets-controllers to v38.3.0;
[![Open in GitHub
Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/27755?quickstart=1)
## **Related issues**
Fixes:
## **Manual testing steps**
1. Go to this page...
2.
3.
## **Screenshots/Recordings**
### **Before**
### **After**
## **Pre-merge author checklist**
- [ ] I've followed [MetaMask Contributor
Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask
Extension Coding
Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md).
- [ ] I've completed the PR template to the best of my ability
- [ ] I’ve included tests if applicable
- [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [ ] I’ve applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)).
Not required for external contributors.
## **Pre-merge reviewer checklist**
- [ ] I've manually tested the PR (e.g. pull and build branch, run the
app, test code being changed).
- [ ] I confirm that this PR addresses all acceptance criteria described
in the ticket it closes and includes the necessary testing evidence such
as recordings and or screenshots.
Co-authored-by: Howard Braham
---
...ts-controllers-npm-38.3.0-57b3d695bb.patch} | 0
package.json | 2 +-
yarn.lock | 18 +++++++++---------
3 files changed, 10 insertions(+), 10 deletions(-)
rename .yarn/patches/{@metamask-assets-controllers-npm-38.2.0-40af2afaa7.patch => @metamask-assets-controllers-npm-38.3.0-57b3d695bb.patch} (100%)
diff --git a/.yarn/patches/@metamask-assets-controllers-npm-38.2.0-40af2afaa7.patch b/.yarn/patches/@metamask-assets-controllers-npm-38.3.0-57b3d695bb.patch
similarity index 100%
rename from .yarn/patches/@metamask-assets-controllers-npm-38.2.0-40af2afaa7.patch
rename to .yarn/patches/@metamask-assets-controllers-npm-38.3.0-57b3d695bb.patch
diff --git a/package.json b/package.json
index 4973fa0da559..76dfb15c1ba7 100644
--- a/package.json
+++ b/package.json
@@ -301,7 +301,7 @@
"@metamask/address-book-controller": "^6.0.0",
"@metamask/announcement-controller": "^7.0.0",
"@metamask/approval-controller": "^7.0.0",
- "@metamask/assets-controllers": "patch:@metamask/assets-controllers@npm%3A38.2.0#~/.yarn/patches/@metamask-assets-controllers-npm-38.2.0-40af2afaa7.patch",
+ "@metamask/assets-controllers": "patch:@metamask/assets-controllers@npm%3A38.3.0#~/.yarn/patches/@metamask-assets-controllers-npm-38.3.0-57b3d695bb.patch",
"@metamask/base-controller": "^7.0.0",
"@metamask/bitcoin-wallet-snap": "^0.6.1",
"@metamask/browser-passworder": "^4.3.0",
diff --git a/yarn.lock b/yarn.lock
index 733c94112452..94ecd006df3e 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -4861,9 +4861,9 @@ __metadata:
languageName: node
linkType: hard
-"@metamask/assets-controllers@npm:38.2.0":
- version: 38.2.0
- resolution: "@metamask/assets-controllers@npm:38.2.0"
+"@metamask/assets-controllers@npm:38.3.0":
+ version: 38.3.0
+ resolution: "@metamask/assets-controllers@npm:38.3.0"
dependencies:
"@ethereumjs/util": "npm:^8.1.0"
"@ethersproject/address": "npm:^5.7.0"
@@ -4895,13 +4895,13 @@ __metadata:
"@metamask/keyring-controller": ^17.0.0
"@metamask/network-controller": ^21.0.0
"@metamask/preferences-controller": ^13.0.0
- checksum: 10/96ae724a002289e4df97bab568e0bba4d28ef18320298b12d828fc3b58c58ebc54b9f9d659c5e6402aad82088b699e52469d897dd4356e827e35b8f8cebb4483
+ checksum: 10/b6e69c9925c50f351b9de1e31cc5d9a4c0ab7cf1abf116c0669611ecb58b3890dd0de53d36bcaaea4f8c45d6ddc2c53eef80c42f93f8f303f1ee9d8df088872b
languageName: node
linkType: hard
-"@metamask/assets-controllers@patch:@metamask/assets-controllers@npm%3A38.2.0#~/.yarn/patches/@metamask-assets-controllers-npm-38.2.0-40af2afaa7.patch":
- version: 38.2.0
- resolution: "@metamask/assets-controllers@patch:@metamask/assets-controllers@npm%3A38.2.0#~/.yarn/patches/@metamask-assets-controllers-npm-38.2.0-40af2afaa7.patch::version=38.2.0&hash=e14ff8"
+"@metamask/assets-controllers@patch:@metamask/assets-controllers@npm%3A38.3.0#~/.yarn/patches/@metamask-assets-controllers-npm-38.3.0-57b3d695bb.patch":
+ version: 38.3.0
+ resolution: "@metamask/assets-controllers@patch:@metamask/assets-controllers@npm%3A38.3.0#~/.yarn/patches/@metamask-assets-controllers-npm-38.3.0-57b3d695bb.patch::version=38.3.0&hash=e14ff8"
dependencies:
"@ethereumjs/util": "npm:^8.1.0"
"@ethersproject/address": "npm:^5.7.0"
@@ -4933,7 +4933,7 @@ __metadata:
"@metamask/keyring-controller": ^17.0.0
"@metamask/network-controller": ^21.0.0
"@metamask/preferences-controller": ^13.0.0
- checksum: 10/0ba3673bf9c87988d6c569a14512b8c9bb97db3516debfedf24cbcf38110e99afec8d9fc50cb0b627bfbc1d1a62069298e4e27278587197f67812cb38ee2c778
+ checksum: 10/1f57289a3a2a88f1f16e00a138b30b9a8e4ac894086732a463e6b47d5e984e0a7e05ef2ec345f0e1cd69857669253260d53d4c37b2b3d9b970999602fc01a21c
languageName: node
linkType: hard
@@ -26126,7 +26126,7 @@ __metadata:
"@metamask/announcement-controller": "npm:^7.0.0"
"@metamask/api-specs": "npm:^0.9.3"
"@metamask/approval-controller": "npm:^7.0.0"
- "@metamask/assets-controllers": "patch:@metamask/assets-controllers@npm%3A38.2.0#~/.yarn/patches/@metamask-assets-controllers-npm-38.2.0-40af2afaa7.patch"
+ "@metamask/assets-controllers": "patch:@metamask/assets-controllers@npm%3A38.3.0#~/.yarn/patches/@metamask-assets-controllers-npm-38.3.0-57b3d695bb.patch"
"@metamask/auto-changelog": "npm:^2.1.0"
"@metamask/base-controller": "npm:^7.0.0"
"@metamask/bitcoin-wallet-snap": "npm:^0.6.1"
From 82e5a457df241e34b87c0bbd9d12286e3699525f Mon Sep 17 00:00:00 2001
From: Derek Brans
Date: Tue, 15 Oct 2024 15:22:27 -0400
Subject: [PATCH 29/41] test(TXL-308): initial e2e for stx using swaps (#27215)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
## **Description**
* Initial e2e test for stx
[![Open in GitHub
Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/27215?quickstart=1)
## **Related issues**
Fixes:
## **Manual testing steps**
1. Go to this page...
2.
3.
## **Screenshots/Recordings**
### **Before**
### **After**
## **Pre-merge author checklist**
- [ ] I've followed [MetaMask Contributor
Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask
Extension Coding
Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md).
- [ ] I've completed the PR template to the best of my ability
- [ ] I’ve included tests if applicable
- [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [ ] I’ve applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)).
Not required for external contributors.
## **Pre-merge reviewer checklist**
- [ ] I've manually tested the PR (e.g. pull and build branch, run the
app, test code being changed).
- [ ] I confirm that this PR addresses all acceptance criteria described
in the ticket it closes and includes the necessary testing evidence such
as recordings and or screenshots.
---
privacy-snapshot.json | 1 +
test/e2e/default-fixture.js | 2 +
test/e2e/fixture-builder.js | 8 +
test/e2e/mock-e2e.js | 58 ++-
...rs-after-init-opt-in-background-state.json | 2 +
.../errors-after-init-opt-in-ui-state.json | 2 +
...s-before-init-opt-in-background-state.json | 19 +
.../errors-before-init-opt-in-ui-state.json | 19 +
.../mock-requests-for-swap-test.ts | 346 ++++++++++++++++++
.../smart-transactions.spec.ts | 97 +++++
test/e2e/tests/swaps/{shared.js => shared.ts} | 98 +++--
.../{swap-eth.spec.js => swap-eth.spec.ts} | 28 +-
...ns.spec.js => swaps-notifications.spec.ts} | 23 +-
test/e2e/webdriver/driver.js | 6 +-
.../smart-transaction-status.js | 2 +
15 files changed, 617 insertions(+), 94 deletions(-)
create mode 100644 test/e2e/tests/smart-transactions/mock-requests-for-swap-test.ts
create mode 100644 test/e2e/tests/smart-transactions/smart-transactions.spec.ts
rename test/e2e/tests/swaps/{shared.js => shared.ts} (71%)
rename test/e2e/tests/swaps/{swap-eth.spec.js => swap-eth.spec.ts} (80%)
rename test/e2e/tests/swaps/{swaps-notifications.spec.js => swaps-notifications.spec.ts} (92%)
diff --git a/privacy-snapshot.json b/privacy-snapshot.json
index 2516654f1803..37a05025382d 100644
--- a/privacy-snapshot.json
+++ b/privacy-snapshot.json
@@ -56,6 +56,7 @@
"test.metamask-phishing.io",
"token.api.cx.metamask.io",
"tokens.api.cx.metamask.io",
+ "transaction.api.cx.metamask.io",
"tx-sentinel-ethereum-mainnet.api.cx.metamask.io",
"unresponsive-rpc.test",
"unresponsive-rpc.url",
diff --git a/test/e2e/default-fixture.js b/test/e2e/default-fixture.js
index 5d3883a5e8f5..95f35bf1694c 100644
--- a/test/e2e/default-fixture.js
+++ b/test/e2e/default-fixture.js
@@ -268,7 +268,9 @@ function defaultFixture(inputChainId = CHAIN_IDS.LOCALHOST) {
SmartTransactionsController: {
smartTransactionsState: {
fees: {},
+ feesByChainId: {},
liveness: true,
+ livenessByChainId: {},
smartTransactions: {
[CHAIN_IDS.MAINNET]: [],
},
diff --git a/test/e2e/fixture-builder.js b/test/e2e/fixture-builder.js
index 4c802e13bfa0..d73b959946c2 100644
--- a/test/e2e/fixture-builder.js
+++ b/test/e2e/fixture-builder.js
@@ -654,6 +654,14 @@ class FixtureBuilder {
});
}
+ withPreferencesControllerSmartTransactionsOptedIn() {
+ return this.withPreferencesController({
+ preferences: {
+ smartTransactionsOptInStatus: true,
+ },
+ });
+ }
+
withPreferencesControllerAndFeatureFlag(flags) {
merge(this.fixture.data.PreferencesController, flags);
return this;
diff --git a/test/e2e/mock-e2e.js b/test/e2e/mock-e2e.js
index abc536ef6059..209777f32bd7 100644
--- a/test/e2e/mock-e2e.js
+++ b/test/e2e/mock-e2e.js
@@ -272,35 +272,33 @@ async function setupMocking(
.thenCallback(() => {
return {
statusCode: 200,
- json: [
- {
- ethereum: {
- fallbackToV1: false,
- mobileActive: true,
- extensionActive: true,
- },
- bsc: {
- fallbackToV1: false,
- mobileActive: true,
- extensionActive: true,
- },
- polygon: {
- fallbackToV1: false,
- mobileActive: true,
- extensionActive: true,
- },
- avalanche: {
- fallbackToV1: false,
- mobileActive: true,
- extensionActive: true,
- },
- smartTransactions: {
- mobileActive: false,
- extensionActive: false,
- },
- updated_at: '2022-03-17T15:54:00.360Z',
+ json: {
+ ethereum: {
+ fallbackToV1: false,
+ mobileActive: true,
+ extensionActive: true,
},
- ],
+ bsc: {
+ fallbackToV1: false,
+ mobileActive: true,
+ extensionActive: true,
+ },
+ polygon: {
+ fallbackToV1: false,
+ mobileActive: true,
+ extensionActive: true,
+ },
+ avalanche: {
+ fallbackToV1: false,
+ mobileActive: true,
+ extensionActive: true,
+ },
+ smartTransactions: {
+ mobileActive: false,
+ extensionActive: true,
+ },
+ updated_at: '2022-03-17T15:54:00.360Z',
+ },
};
});
@@ -470,7 +468,7 @@ async function setupMocking(
decimals: 18,
name: 'Dai Stablecoin',
iconUrl:
- 'https://crypto.com/price/coin-data/icon/DAI/color_icon.png',
+ 'https://static.cx.metamask.io/api/v1/tokenIcons/1/0x6b175474e89094c44da98b954eedeac495271d0f.png',
type: 'erc20',
aggregators: [
'aave',
@@ -497,7 +495,7 @@ async function setupMocking(
decimals: 6,
name: 'USD Coin',
iconUrl:
- 'https://crypto.com/price/coin-data/icon/USDC/color_icon.png',
+ 'https://static.cx.metamask.io/api/v1/tokenIcons/1/0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48.png',
type: 'erc20',
aggregators: [
'aave',
diff --git a/test/e2e/tests/metrics/state-snapshots/errors-after-init-opt-in-background-state.json b/test/e2e/tests/metrics/state-snapshots/errors-after-init-opt-in-background-state.json
index 4658c175bfd5..78988fc87cc8 100644
--- a/test/e2e/tests/metrics/state-snapshots/errors-after-init-opt-in-background-state.json
+++ b/test/e2e/tests/metrics/state-snapshots/errors-after-init-opt-in-background-state.json
@@ -243,7 +243,9 @@
"SmartTransactionsController": {
"smartTransactionsState": {
"fees": {},
+ "feesByChainId": "object",
"liveness": true,
+ "livenessByChainId": "object",
"smartTransactions": "object"
}
},
diff --git a/test/e2e/tests/metrics/state-snapshots/errors-after-init-opt-in-ui-state.json b/test/e2e/tests/metrics/state-snapshots/errors-after-init-opt-in-ui-state.json
index 924769a3cb91..f40d36f85aad 100644
--- a/test/e2e/tests/metrics/state-snapshots/errors-after-init-opt-in-ui-state.json
+++ b/test/e2e/tests/metrics/state-snapshots/errors-after-init-opt-in-ui-state.json
@@ -173,7 +173,9 @@
"allDetectedTokens": {},
"smartTransactionsState": {
"fees": {},
+ "feesByChainId": "object",
"liveness": true,
+ "livenessByChainId": "object",
"smartTransactions": "object"
},
"allNftContracts": "object",
diff --git a/test/e2e/tests/metrics/state-snapshots/errors-before-init-opt-in-background-state.json b/test/e2e/tests/metrics/state-snapshots/errors-before-init-opt-in-background-state.json
index e2cb7369d88a..89b1b29100bb 100644
--- a/test/e2e/tests/metrics/state-snapshots/errors-before-init-opt-in-background-state.json
+++ b/test/e2e/tests/metrics/state-snapshots/errors-before-init-opt-in-background-state.json
@@ -50,6 +50,23 @@
},
"snapsInstallPrivacyWarningShown": true
},
+ "BridgeController": {
+ "bridgeState": {
+ "bridgeFeatureFlags": {
+ "extensionSupport": "boolean",
+ "srcNetworkAllowlist": {
+ "0": "string",
+ "1": "string",
+ "2": "string"
+ },
+ "destNetworkAllowlist": {
+ "0": "string",
+ "1": "string",
+ "2": "string"
+ }
+ }
+ }
+ },
"CurrencyController": {
"currentCurrency": "usd",
"currencyRates": {
@@ -138,7 +155,9 @@
"SmartTransactionsController": {
"smartTransactionsState": {
"fees": {},
+ "feesByChainId": "object",
"liveness": true,
+ "livenessByChainId": "object",
"smartTransactions": "object"
}
},
diff --git a/test/e2e/tests/metrics/state-snapshots/errors-before-init-opt-in-ui-state.json b/test/e2e/tests/metrics/state-snapshots/errors-before-init-opt-in-ui-state.json
index 34cc62d3c560..f13d3e078c64 100644
--- a/test/e2e/tests/metrics/state-snapshots/errors-before-init-opt-in-ui-state.json
+++ b/test/e2e/tests/metrics/state-snapshots/errors-before-init-opt-in-ui-state.json
@@ -50,6 +50,23 @@
},
"snapsInstallPrivacyWarningShown": true
},
+ "BridgeController": {
+ "bridgeState": {
+ "bridgeFeatureFlags": {
+ "extensionSupport": "boolean",
+ "srcNetworkAllowlist": {
+ "0": "string",
+ "1": "string",
+ "2": "string"
+ },
+ "destNetworkAllowlist": {
+ "0": "string",
+ "1": "string",
+ "2": "string"
+ }
+ }
+ }
+ },
"CurrencyController": {
"currentCurrency": "usd",
"currencyRates": {
@@ -138,7 +155,9 @@
"SmartTransactionsController": {
"smartTransactionsState": {
"fees": {},
+ "feesByChainId": "object",
"liveness": true,
+ "livenessByChainId": "object",
"smartTransactions": "object"
}
},
diff --git a/test/e2e/tests/smart-transactions/mock-requests-for-swap-test.ts b/test/e2e/tests/smart-transactions/mock-requests-for-swap-test.ts
new file mode 100644
index 000000000000..457d1ea6c0a1
--- /dev/null
+++ b/test/e2e/tests/smart-transactions/mock-requests-for-swap-test.ts
@@ -0,0 +1,346 @@
+import { MockttpServer } from 'mockttp';
+import { mockEthDaiTrade } from '../swaps/shared';
+
+const STX_UUID = '0d506aaa-5e38-4cab-ad09-2039cb7a0f33';
+
+const GET_FEES_REQUEST_INCLUDES = {
+ txs: [
+ {
+ from: '0x5cfe73b6021e818b776b421b1c4db2474086a7e1',
+ to: '0x881D40237659C251811CEC9c364ef91dC08D300C',
+ value: '0x1bc16d674ec80000',
+ gas: '0xf4240',
+ nonce: '0x0',
+ },
+ ],
+};
+
+const GET_FEES_RESPONSE = {
+ blockNumber: 20728974,
+ id: '19d4eea3-8a49-463e-9e9c-099f9d9571ca',
+ txs: [
+ {
+ cancelFees: [],
+ return: '0x',
+ status: 1,
+ gasUsed: 190780,
+ gasLimit: 239420,
+ fees: [
+ {
+ maxFeePerGas: 4667609171,
+ maxPriorityFeePerGas: 1000000004,
+ gas: 239420,
+ balanceNeeded: 1217518987960240,
+ currentBalance: 751982303082919400,
+ error: '',
+ },
+ ],
+ feeEstimate: 627603309182220,
+ baseFeePerGas: 2289670348,
+ maxFeeEstimate: 1117518987720820,
+ },
+ ],
+};
+
+const SUBMIT_TRANSACTIONS_REQUEST_EXACTLY = {
+ rawTxs: [
+ '0x02f91a3b0180843b9aca048501163610538303a73c94881d40237659c251811cec9c364ef91dc08d300c881bc16d674ec80000b919c65f575529000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001bc16d674ec8000000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000136b796265725377617046656544796e616d69630000000000000000000000000000000000000000000000000000000000000000000000000000000000000018e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006b175474e89094c44da98b954eedeac495271d0f0000000000000000000000000000000000000000000000001b83413f0b3640000000000000000000000000000000000000000000000000f7a8daea356aa92bfe0000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000003e2c284391c000000000000000000000000000f326e4de8f66a0bdc0970b79e0924e33c79f1915000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000017a4e21fd0e90000000000000000000000000000000000000000000000000000000000000020000000000000000000000000f081470f5c6fbccf48cc4e5b82dd926409dcdd67000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000132000000000000000000000000000000000000000000000000000000000000015200000000000000000000000000000000000000000000000000000000000001260000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000006b175474e89094c44da98b954eedeac495271d0f00000000000000000000000074de5d4fcbf63e00296fd95d33236b97940166310000000000000000000000000000000000000000000000000000000066e029cc00000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000008200000000000000000000000000000000000000000000000000000000000000ac00000000000000000000000000000000000000000000000000000000000000e80000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000068000000000000000000000000000000000000000000000000000000000000000400e00deaa000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000080000000000000000000000000c697051d1c6296c24ae3bcef39aca743861d9a81000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000007fc66500c84a76ad7e9c93437bfc5ac33e2ddae900000000000000000000000000000000000000000000000006e0d04fc2cd90000000000000000000000000000000000000000000000000000000000000000040003c5f890000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000004e00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000ead050515e10fdb3540ccd6f8236c46790508a7600000000000000000000000000000000000000000000000074b3f935bb79d45400000000000000000000000000000000000000000000000000000000000000e00000000000000000000000007fc66500c84a76ad7e9c93437bfc5ac33e2ddae9000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7000000000000000000000000f081470f5c6fbccf48cc4e5b82dd926409dcdd670000000000000000000000000000000000000000000000c4000000000000000000000000000000000000000000000000000000000000000000000000000003a4e525b10b000000000000000000000000000000000000000000000000000000000000002000000000000000000000000028cacd5e26a719f139e2105ca1efc3d9dc892826000000000000000000000000ff8ba4d1fc3762f6154cc942ccf30049a2a0cec6000000000000000000000000f081470f5c6fbccf48cc4e5b82dd926409dcdd670000000000000000000000007fc66500c84a76ad7e9c93437bfc5ac33e2ddae9000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec700000000000000000000000000000000000000000000000074b3f935bb79d45400000000000000000000000000000000000000000000000074b3f935bb79d4540000000000000000000000000000000000000000000000000000000045aff3b30000000000000000000000000000000000000000000000000000000066e025760000000000000000000000000000000000000000000000000016649acb241b017da53b79cbf14cc2a737cd6469098549000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000026000000000000000000000000067297ee4eb097e072b4ab6f1620268061ae80464000000000000000000000000ae4fdcc420f1409c8b9b2af04db150dd986f66a5000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000002e0000000000000000000000000000000000000000000000000000000000000036000000000000000000000000000000000000000000000000000000000444b27250000000000000000000000000000000000000000000000000000000000000041031bc9026b766621ebb870691407a8f5b5d222977566d0bb38bbd633459fc9671e24b5c970373555d66f0a46e830ee1605152bd519fed1a9684a097364f8b41f1b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000413e4923699eff11cb0252c3f8b42793eeac8793bea92843fa4028b80ff3391bbf1df4ddef51732ceeb6f65a8c9dc2651e4b952568d350b4029d4b8b5cae5c1f991c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000408cc7a56b0000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000ba12222222228d8ba445958a75a0704d566bf2c879c58f70905f734641735bc61e45c19dd9ad60bc0000000000000000000004e7000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000006b175474e89094c44da98b954eedeac495271d0f0000000000000000000000000000000000000000000000000000000045921fcd000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000004063407a490000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000f081470f5c6fbccf48cc4e5b82dd926409dcdd6700000000000000000000000011b815efb8f581194ae79006d24e0d814b7697f6000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000000000000000000000000000000840f9f95029e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000408cc7a56b0000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000ba12222222228d8ba445958a75a0704d566bf2c879c58f70905f734641735bc61e45c19dd9ad60bc0000000000000000000004e7000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000006b175474e89094c44da98b954eedeac495271d0f000000000000000000000000000000000000000000000000000000005354532a0000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000004063407a490000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000f081470f5c6fbccf48cc4e5b82dd926409dcdd6700000000000000000000000011b815efb8f581194ae79006d24e0d814b7697f6000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000000000000000000000000000000840f9f95029e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000040301a40330000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000a00000000000000000000000005b6a0771c752e35b2ca2aff4f22a66b1598a2bc50000000000000000000000000000000000000000000000000000000053516d7f000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000f081470f5c6fbccf48cc4e5b82dd926409dcdd6700000000000000000000000000000000000000000000000000000000000000408cc7a56b0000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000ba12222222228d8ba445958a75a0704d566bf2c879c58f70905f734641735bc61e45c19dd9ad60bc0000000000000000000004e7000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000006b175474e89094c44da98b954eedeac495271d0f000000000000000000000000000000000000000000000000000000005351dd8d000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000004063407a490000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000f081470f5c6fbccf48cc4e5b82dd926409dcdd6700000000000000000000000011b815efb8f581194ae79006d24e0d814b7697f6000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec700000000000000000000000000000000000000000000000004207cfca814f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000408cc7a56b0000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000ba12222222228d8ba445958a75a0704d566bf2c806df3b2bbb68adc8b0e302443692037ed9f91b42000000000000000000000063000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000006b175474e89094c44da98b954eedeac495271d0f0000000000000000000000000000000000000000000000000000000029a7a0aa0000000000000000000000000000000000000000000000000000000000000020000000000000000000108fd5cc11eaa000000000000000fcb6c0091c62637b42000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000006b175474e89094c44da98b954eedeac495271d0f0000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000074de5d4fcbf63e00296fd95d33236b97940166310000000000000000000000000000000000000000000000001b83413f0b3640000000000000000000000000000000000000000000000000f7a8daea356aa92bfe000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002337b22536f75726365223a226d6574616d61736b222c22416d6f756e74496e555344223a22343635382e373832393833313733303632222c22416d6f756e744f7574555344223a22343637362e393836303733303034303236222c22526566657272616c223a22222c22466c616773223a302c22416d6f756e744f7574223a2234363631373438303431393032373532373538353934222c2254696d657374616d70223a313732353936353539362c22496e74656772697479496e666f223a7b224b65794944223a2231222c225369676e6174757265223a22546363534e7837537235376b367242794f5a74344b714472344d544637356b7651527658644230724266386e395864513869634a3830385963355155595a34675a52527645337777433237352f59586a722f34625065662b4a58514b4969556b6334356a4e73556c366e6141387141774d5a48324f4a3234657932647253386c52625551444f67784b4d6979334d413164467472575241306f6d6e664873365044624b6d6f4e494c58674b45416e497a6b6d687a675043346e396d39715043337a457459737875457042772b386356426b684e7761684f56625850635854646977334870437356365555635375522f4a495342386d6a737a494b6d664b46595a716333516c5a714e6e507a50576a3648366e73587050512b6145725338334c3544554b5868364e6a70584855764748314d7a557074584169615634737354795849582f435645685a396e76564845746b2f776b6a42673d3d227d7d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000ac001a0e067d3acdb151721e7fdb3834cf2563d667aad9b4c18a5afb81390d6288ac2fe9fa0e74a9e40e017bcd926f3c5da4355e0926ae7e45b3b9e1bc474507220cb43',
+ ],
+ rawCancelTxs: [],
+};
+
+const GET_BATCH_STATUS_RESPONSE_PENDING = {
+ '0d506aaa-5e38-4cab-ad09-2039cb7a0f33': {
+ cancellationFeeWei: 0,
+ cancellationReason: 'not_cancelled',
+ deadlineRatio: 0,
+ isSettled: false,
+ minedTx: 'not_mined',
+ wouldRevertMessage: null,
+ minedHash: '',
+ duplicated: false,
+ timedOut: false,
+ proxied: false,
+ type: 'sentinel',
+ },
+};
+
+const GET_BATCH_STATUS_RESPONSE_SUCCESS = {
+ '0d506aaa-5e38-4cab-ad09-2039cb7a0f33': {
+ cancellationFeeWei: 0,
+ cancellationReason: 'not_cancelled',
+ deadlineRatio: 0,
+ isSettled: true,
+ minedTx: 'success',
+ wouldRevertMessage: null,
+ minedHash:
+ '0xec9d6214684d6dc191133ae4a7ec97db3e521fff9cfe5c4f48a84cb6c93a5fa5',
+ duplicated: true,
+ timedOut: true,
+ proxied: false,
+ type: 'sentinel',
+ },
+};
+
+const GET_TRANSACTION_RECEIPT_RESPONSE = {
+ id: 2901696354742565,
+ jsonrpc: '2.0',
+ result: {
+ blockHash:
+ '0xe90b92d004a9c22c32c50c628bbd93f22e3468ec4ffc62422d68cf6370f59f1d',
+ blockNumber: '0x2',
+ contractAddress: null,
+ cumulativeGasUsed: '0xc138b1',
+ effectiveGasPrice: '0x1053fcd93',
+ from: '0x5cfe73b6021e818b776b421b1c4db2474086a7e1',
+ gasUsed: '0x2e93c',
+ logs: [
+ {
+ address: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2',
+ blockHash:
+ '0xe90b92d004a9c22c32c50c628bbd93f22e3468ec4ffc62422d68cf6370f59f1d',
+ blockNumber: '0x13c80ce',
+ data: '0x00000000000000000000000000000000000000000000000000005af3107a4000',
+ logIndex: '0xde',
+ removed: false,
+ topics: [
+ '0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c',
+ '0x00000000000000000000000074de5d4fcbf63e00296fd95d33236b9794016631',
+ ],
+ transactionHash:
+ '0xec9d6214684d6dc191133ae4a7ec97db3e521fff9cfe5c4f48a84cb6c93a5fa5',
+ transactionIndex: '0x2f',
+ },
+ {
+ address: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2',
+ blockHash:
+ '0xe90b92d004a9c22c32c50c628bbd93f22e3468ec4ffc62422d68cf6370f59f1d',
+ blockNumber: '0x13c80ce',
+ data: '0x00000000000000000000000000000000000000000000000000005a275669d200',
+ logIndex: '0xdf',
+ removed: false,
+ topics: [
+ '0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef',
+ '0x00000000000000000000000074de5d4fcbf63e00296fd95d33236b9794016631',
+ '0x00000000000000000000000051c72848c68a965f66fa7a88855f9f7784502a7f',
+ ],
+ transactionHash:
+ '0xec9d6214684d6dc191133ae4a7ec97db3e521fff9cfe5c4f48a84cb6c93a5fa5',
+ transactionIndex: '0x2f',
+ },
+ {
+ address: '0x6b175474e89094c44da98b954eedeac495271d0f',
+ blockHash:
+ '0xe90b92d004a9c22c32c50c628bbd93f22e3468ec4ffc62422d68cf6370f59f1d',
+ blockNumber: '0x13c80ce',
+ data: '0x000000000000000000000000000000000000000000000000033dd7a160e2a300',
+ logIndex: '0xe0',
+ removed: false,
+ topics: [
+ '0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef',
+ '0x00000000000000000000000051c72848c68a965f66fa7a88855f9f7784502a7f',
+ '0x00000000000000000000000074de5d4fcbf63e00296fd95d33236b9794016631',
+ ],
+ transactionHash:
+ '0xec9d6214684d6dc191133ae4a7ec97db3e521fff9cfe5c4f48a84cb6c93a5fa5',
+ transactionIndex: '0x2f',
+ },
+ {
+ address: '0x6b175474e89094c44da98b954eedeac495271d0f',
+ blockHash:
+ '0xe90b92d004a9c22c32c50c628bbd93f22e3468ec4ffc62422d68cf6370f59f1d',
+ blockNumber: '0x13c80ce',
+ data: '0x00000000000000000000000000000000000000000000000000006a3845cef618',
+ logIndex: '0xe1',
+ removed: false,
+ topics: [
+ '0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef',
+ '0x00000000000000000000000051c72848c68a965f66fa7a88855f9f7784502a7f',
+ '0x000000000000000000000000ad30f7eebd9bd5150a256f47da41d4403033cdf0',
+ ],
+ transactionHash:
+ '0xec9d6214684d6dc191133ae4a7ec97db3e521fff9cfe5c4f48a84cb6c93a5fa5',
+ transactionIndex: '0x2f',
+ },
+ {
+ address: '0xd82fa167727a4dc6d6f55830a2c47abbb4b3a0f8',
+ blockHash:
+ '0xe90b92d004a9c22c32c50c628bbd93f22e3468ec4ffc62422d68cf6370f59f1d',
+ blockNumber: '0x13c80ce',
+ data: '0x0000000000000000000000006b175474e89094c44da98b954eedeac495271d0f000000000000000000000000000000000000000000000000033dd7a160e2a3000000000000000000000000000000000000000000000000000000000000000005000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000000000000000000000000000000005a275669d200',
+ logIndex: '0xe2',
+ removed: false,
+ topics: [
+ '0xb651f2787ff61b5ab14f3936f2daebdad3d84aeb74438e82870cc3b7aee71e90',
+ '0x00000000000000000000000000000000000000000000000000000191e0cc96ac',
+ '0x00000000000000000000000051c72848c68a965f66fa7a88855f9f7784502a7f',
+ '0x00000000000000000000000074de5d4fcbf63e00296fd95d33236b9794016631',
+ ],
+ transactionHash:
+ '0xec9d6214684d6dc191133ae4a7ec97db3e521fff9cfe5c4f48a84cb6c93a5fa5',
+ transactionIndex: '0x2f',
+ },
+ {
+ address: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2',
+ blockHash:
+ '0xe90b92d004a9c22c32c50c628bbd93f22e3468ec4ffc62422d68cf6370f59f1d',
+ blockNumber: '0x13c80ce',
+ data: '0x000000000000000000000000000000000000000000000000000000cbba106e00',
+ logIndex: '0xe3',
+ removed: false,
+ topics: [
+ '0x7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65',
+ '0x00000000000000000000000074de5d4fcbf63e00296fd95d33236b9794016631',
+ ],
+ transactionHash:
+ '0xec9d6214684d6dc191133ae4a7ec97db3e521fff9cfe5c4f48a84cb6c93a5fa5',
+ transactionIndex: '0x2f',
+ },
+ {
+ address: '0xf326e4de8f66a0bdc0970b79e0924e33c79f1915',
+ blockHash:
+ '0xe90b92d004a9c22c32c50c628bbd93f22e3468ec4ffc62422d68cf6370f59f1d',
+ blockNumber: '0x13c80ce',
+ data: '0x000000000000000000000000000000000000000000000000000000cbba106e00',
+ logIndex: '0xe4',
+ removed: false,
+ topics: [
+ '0x3d0ce9bfc3ed7d6862dbb28b2dea94561fe714a1b4d019aa8af39730d1ad7c3d',
+ '0x00000000000000000000000074de5d4fcbf63e00296fd95d33236b9794016631',
+ ],
+ transactionHash:
+ '0xec9d6214684d6dc191133ae4a7ec97db3e521fff9cfe5c4f48a84cb6c93a5fa5',
+ transactionIndex: '0x2f',
+ },
+ {
+ address: '0x6b175474e89094c44da98b954eedeac495271d0f',
+ blockHash:
+ '0xe90b92d004a9c22c32c50c628bbd93f22e3468ec4ffc62422d68cf6370f59f1d',
+ blockNumber: '0x13c80ce',
+ data: '0x000000000000000000000000000000000000000000000000033dd7a160e2a300',
+ logIndex: '0xe5',
+ removed: false,
+ topics: [
+ '0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef',
+ '0x00000000000000000000000074de5d4fcbf63e00296fd95d33236b9794016631',
+ '0x0000000000000000000000005cfe73b6021e818b776b421b1c4db2474086a7e1',
+ ],
+ transactionHash:
+ '0xec9d6214684d6dc191133ae4a7ec97db3e521fff9cfe5c4f48a84cb6c93a5fa5',
+ transactionIndex: '0x2f',
+ },
+ {
+ address: '0x881d40237659c251811cec9c364ef91dc08d300c',
+ blockHash:
+ '0xe90b92d004a9c22c32c50c628bbd93f22e3468ec4ffc62422d68cf6370f59f1d',
+ blockNumber: '0x13c80ce',
+ data: '0x',
+ logIndex: '0xe6',
+ removed: false,
+ topics: [
+ '0xbeee1e6e7fe307ddcf84b0a16137a4430ad5e2480fc4f4a8e250ab56ccd7630d',
+ '0x015123c6e2552626efe611b6c48de60d080a6650860a38f237bc2b6f651f79d1',
+ '0x0000000000000000000000005cfe73b6021e818b776b421b1c4db2474086a7e1',
+ ],
+ transactionHash:
+ '0xec9d6214684d6dc191133ae4a7ec97db3e521fff9cfe5c4f48a84cb6c93a5fa5',
+ transactionIndex: '0x2f',
+ },
+ ],
+ logsBloom:
+ '0x00000000000000001000000000000000000000000000000000000001000000000000010000000000000010000000000002000000080008000000040000000000a00000000000000000020008000000000000000000540000000004008020000010000000000000000000000000000801000000000000040000000010004010000000021000000000000000000000000000020041000100004020000000000000000000000200000000000040000000000000000000000000000000000000000000000002000400000000000000000000001002000400000000000002000000000020200000000400000000800000000000000000020200400000000000001000',
+ status: '0x1',
+ to: '0x881d40237659c251811cec9c364ef91dc08d300c',
+ transactionHash:
+ '0xec9d6214684d6dc191133ae4a7ec97db3e521fff9cfe5c4f48a84cb6c93a5fa5',
+ transactionIndex: '0x2f',
+ type: '0x2',
+ },
+};
+
+const GET_TRANSACTION_BY_HASH_RESPONSE = {
+ id: 2901696354742565,
+ jsonrpc: '2.0',
+ result: {
+ accessList: [],
+ blockHash:
+ '0xe90b92d004a9c22c32c50c628bbd93f22e3468ec4ffc62422d68cf6370f59f1d',
+ blockNumber: '0x2',
+ chainId: '0x539',
+ from: '0x5cfe73b6021e818b776b421b1c4db2474086a7e1',
+ gas: '0x3a73c',
+ gasPrice: '0x1053fcd93',
+ hash: '0xec9d6214684d6dc191133ae4a7ec97db3e521fff9cfe5c4f48a84cb6c93a5fa5',
+ input:
+ '0x5f5755290000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000001c616972737761704c696768743446656544796e616d696346697865640000000000000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000191e0cc96ac0000000000000000000000000000000000000000000000000000000066e44f2c00000000000000000000000051c72848c68a965f66fa7a88855f9f7784502a7f0000000000000000000000006b175474e89094c44da98b954eedeac495271d0f000000000000000000000000000000000000000000000000033dd7a160e2a300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005a275669d200000000000000000000000000000000000000000000000000000000000000001bc1acb8a206598705baeb494a479a8af9dc3a9f9b7bd1ce9818360fd6f603cf0766e7bdc77f9f72e90dcd9157e007291adc6d3947e9b6d89ff412c5b54f9a17f1000000000000000000000000000000000000000000000000000000cbba106e00000000000000000000000000f326e4de8f66a0bdc0970b79e0924e33c79f1915000000000000000000000000000000000000000000000000000000000000000000d7',
+ maxFeePerGas: '0x14bdcd619',
+ maxPriorityFeePerGas: '0x3b9aca04',
+ nonce: '0x127',
+ r: '0x5a5463bfe8e587ee1211be74580c74fa759f8292f37f970033df4b782f5e097d',
+ s: '0x50e403a70000b106e9f598b1b3f55b6ea9d2ec21d9fc67de63eb1d07df2767dd',
+ to: '0x881d40237659c251811cec9c364ef91dc08d300c',
+ transactionIndex: '0x2f',
+ type: '0x2',
+ v: '0x0',
+ value: '0x5af3107a4000',
+ yParity: '0x0',
+ },
+};
+
+export const mockSwapRequests = async (mockServer: MockttpServer) => {
+ await mockEthDaiTrade(mockServer);
+
+ await mockServer
+ .forJsonRpcRequest({
+ method: 'eth_getBalance',
+ params: ['0x5cfe73b6021e818b776b421b1c4db2474086a7e1'],
+ })
+ .thenJson(200, {
+ id: 3806592044086814,
+ jsonrpc: '2.0',
+ result: '0x1bc16d674ec80000', // 2 ETH
+ });
+
+ await mockServer
+ .forPost('https://transaction.api.cx.metamask.io/networks/1/getFees')
+ .withJsonBodyIncluding(GET_FEES_REQUEST_INCLUDES)
+ .thenJson(200, GET_FEES_RESPONSE);
+
+ await mockServer
+ .forPost(
+ 'https://transaction.api.cx.metamask.io/networks/1/submitTransactions',
+ )
+ .once()
+ .withJsonBody(SUBMIT_TRANSACTIONS_REQUEST_EXACTLY)
+ .thenJson(200, { uuid: STX_UUID });
+
+ await mockServer
+ .forGet('https://transaction.api.cx.metamask.io/networks/1/batchStatus')
+ .withQuery({ uuids: STX_UUID })
+ .once()
+ .thenJson(200, GET_BATCH_STATUS_RESPONSE_PENDING);
+
+ await mockServer
+ .forGet('https://transaction.api.cx.metamask.io/networks/1/batchStatus')
+ .withQuery({ uuids: STX_UUID })
+ .once()
+ .thenJson(200, GET_BATCH_STATUS_RESPONSE_SUCCESS);
+
+ await mockServer
+ .forJsonRpcRequest({
+ method: 'eth_getTransactionReceipt',
+ params: [
+ '0xec9d6214684d6dc191133ae4a7ec97db3e521fff9cfe5c4f48a84cb6c93a5fa5',
+ ],
+ })
+ .thenJson(200, GET_TRANSACTION_RECEIPT_RESPONSE);
+
+ await mockServer
+ .forJsonRpcRequest({
+ method: 'eth_getTransactionByHash',
+ params: [
+ '0xec9d6214684d6dc191133ae4a7ec97db3e521fff9cfe5c4f48a84cb6c93a5fa5',
+ ],
+ })
+ .thenJson(200, GET_TRANSACTION_BY_HASH_RESPONSE);
+};
diff --git a/test/e2e/tests/smart-transactions/smart-transactions.spec.ts b/test/e2e/tests/smart-transactions/smart-transactions.spec.ts
new file mode 100644
index 000000000000..210d5abdb034
--- /dev/null
+++ b/test/e2e/tests/smart-transactions/smart-transactions.spec.ts
@@ -0,0 +1,97 @@
+import { MockttpServer } from 'mockttp';
+import {
+ buildQuote,
+ reviewQuote,
+ checkActivityTransaction,
+} from '../swaps/shared';
+import FixtureBuilder from '../../fixture-builder';
+import { unlockWallet, withFixtures } from '../../helpers';
+import { Driver } from '../../webdriver/driver';
+import { CHAIN_IDS } from '../../../../shared/constants/network';
+import { mockSwapRequests } from './mock-requests-for-swap-test';
+
+export async function withFixturesForSmartTransactions(
+ {
+ title,
+ testSpecificMock,
+ }: {
+ title?: string;
+ testSpecificMock: (mockServer: MockttpServer) => Promise;
+ },
+ test: (args: { driver: Driver }) => Promise,
+) {
+ const inputChainId = CHAIN_IDS.MAINNET;
+ await withFixtures(
+ {
+ fixtures: new FixtureBuilder({ inputChainId })
+ .withPermissionControllerConnectedToTestDapp()
+ .withPreferencesControllerSmartTransactionsOptedIn()
+ .withNetworkControllerOnMainnet()
+ .build(),
+ title,
+ testSpecificMock,
+ dapp: true,
+ },
+ async ({ driver }) => {
+ await unlockWallet(driver);
+ await test({ driver });
+ },
+ );
+}
+
+export const waitForTransactionToComplete = async (
+ driver: Driver,
+ options: { tokenName: string },
+) => {
+ await driver.waitForSelector({
+ css: '[data-testid="swap-smart-transaction-status-header"]',
+ text: 'Privately submitting your Swap',
+ });
+
+ await driver.waitForSelector(
+ {
+ css: '[data-testid="swap-smart-transaction-status-header"]',
+ text: 'Swap complete!',
+ },
+ { timeout: 30000 },
+ );
+
+ await driver.findElement({
+ css: '[data-testid="swap-smart-transaction-status-description"]',
+ text: `${options.tokenName}`,
+ });
+
+ await driver.clickElement({ text: 'Close', tag: 'button' });
+ await driver.waitForSelector('[data-testid="account-overview__asset-tab"]');
+};
+
+describe('smart transactions @no-mmi', function () {
+ it('Completes a Swap', async function () {
+ await withFixturesForSmartTransactions(
+ {
+ title: this.test?.fullTitle(),
+ testSpecificMock: mockSwapRequests,
+ },
+ async ({ driver }) => {
+ await buildQuote(driver, {
+ amount: 2,
+ swapTo: 'DAI',
+ });
+ await reviewQuote(driver, {
+ amount: 2,
+ swapFrom: 'ETH',
+ swapTo: 'DAI',
+ });
+
+ await driver.clickElement({ text: 'Swap', tag: 'button' });
+ await waitForTransactionToComplete(driver, { tokenName: 'DAI' });
+ await checkActivityTransaction(driver, {
+ index: 0,
+ amount: '2',
+ swapFrom: 'ETH',
+ swapTo: 'DAI',
+ });
+ },
+ );
+ });
+});
diff --git a/test/e2e/tests/swaps/shared.js b/test/e2e/tests/swaps/shared.ts
similarity index 71%
rename from test/e2e/tests/swaps/shared.js
rename to test/e2e/tests/swaps/shared.ts
index 3bfdefcf71d7..3f3aff4447e5 100644
--- a/test/e2e/tests/swaps/shared.js
+++ b/test/e2e/tests/swaps/shared.ts
@@ -1,27 +1,54 @@
-const { strict: assert } = require('assert');
-const FixtureBuilder = require('../../fixture-builder');
-const { regularDelayMs, veryLargeDelayMs } = require('../../helpers');
-
-const ganacheOptions = {
- accounts: [
- {
- secretKey:
- '0x7C9529A67102755B7E6102D6D950AC5D5863C98713805CEC576B945B15B71EAC',
- balance: 25000000000000000000,
+import { strict as assert } from 'assert';
+import { ServerOptions } from 'ganache';
+import { MockttpServer } from 'mockttp';
+import { Driver } from '../../webdriver/driver';
+import FixtureBuilder from '../../fixture-builder';
+import { regularDelayMs, veryLargeDelayMs } from '../../helpers';
+import { SWAP_TEST_ETH_DAI_TRADES_MOCK } from '../../../data/mock-data';
+
+export async function mockEthDaiTrade(mockServer: MockttpServer) {
+ return [
+ await mockServer
+ .forGet('https://swap.api.cx.metamask.io/networks/1/trades')
+ .thenCallback(() => {
+ return {
+ statusCode: 200,
+ json: SWAP_TEST_ETH_DAI_TRADES_MOCK,
+ };
+ }),
+ ];
+}
+
+export const ganacheOptions: ServerOptions & { miner: { blockTime?: number } } =
+ {
+ wallet: {
+ accounts: [
+ {
+ secretKey:
+ '0x7C9529A67102755B7E6102D6D950AC5D5863C98713805CEC576B945B15B71EAC',
+ balance: 25000000000000000000n,
+ },
+ ],
},
- ],
-};
+ miner: {},
+ };
-const withFixturesOptions = {
+export const withFixturesOptions = {
fixtures: new FixtureBuilder().build(),
ganacheOptions,
};
-const buildQuote = async (driver, options) => {
+type SwapOptions = {
+ amount: number;
+ swapTo?: string;
+ swapToContractAddress?: string;
+};
+
+export const buildQuote = async (driver: Driver, options: SwapOptions) => {
await driver.clickElement('[data-testid="token-overview-button-swap"]');
await driver.fill(
'input[data-testid="prepare-swap-page-from-token-amount"]',
- options.amount,
+ options.amount.toString(),
);
await driver.delay(veryLargeDelayMs); // Need an extra delay after typing an amount.
await driver.clickElement('[data-testid="prepare-swap-page-swap-to"]');
@@ -29,7 +56,7 @@ const buildQuote = async (driver, options) => {
await driver.fill(
'input[id="list-with-search__text-search"]',
- options.swapTo || options.swapToContractAddress,
+ options.swapTo || options.swapToContractAddress || '',
);
await driver.delay(veryLargeDelayMs); // Need an extra delay after typing an amount.
@@ -55,7 +82,15 @@ const buildQuote = async (driver, options) => {
);
};
-const reviewQuote = async (driver, options) => {
+export const reviewQuote = async (
+ driver: Driver,
+ options: {
+ swapFrom: string;
+ swapTo: string;
+ amount: number;
+ skipCounter?: boolean;
+ },
+) => {
const summary = await driver.waitForSelector(
'[data-testid="exchange-rate-display-quote-rate"]',
);
@@ -68,7 +103,7 @@ const reviewQuote = async (driver, options) => {
'[data-testid="prepare-swap-page-receive-amount"]',
);
const swapToAmount = await elementSwapToAmount.getText();
- const expectedAmount = parseFloat(quote[3]) * options.amount;
+ const expectedAmount = Number(quote[3]) * options.amount;
const dotIndex = swapToAmount.indexOf('.');
const decimals = dotIndex === -1 ? 0 : swapToAmount.length - dotIndex - 1;
assert.equal(
@@ -91,7 +126,10 @@ const reviewQuote = async (driver, options) => {
}
};
-const waitForTransactionToComplete = async (driver, options) => {
+export const waitForTransactionToComplete = async (
+ driver: Driver,
+ options: { tokenName: string },
+) => {
await driver.waitForSelector({
css: '[data-testid="awaiting-swap-header"]',
text: 'Processing',
@@ -114,7 +152,10 @@ const waitForTransactionToComplete = async (driver, options) => {
await driver.waitForSelector('[data-testid="account-overview__asset-tab"]');
};
-const checkActivityTransaction = async (driver, options) => {
+export const checkActivityTransaction = async (
+ driver: Driver,
+ options: { index: number; swapFrom: string; swapTo: string; amount: string },
+) => {
await driver.clickElement('[data-testid="account-overview__activity-tab"]');
await driver.waitForSelector('.activity-list-item');
@@ -149,7 +190,10 @@ const checkActivityTransaction = async (driver, options) => {
await driver.clickElement('[data-testid="popover-close"]');
};
-const checkNotification = async (driver, options) => {
+export const checkNotification = async (
+ driver: Driver,
+ options: { title: string; text: string },
+) => {
const isExpectedBoxTitlePresentAndVisible =
await driver.isElementPresentAndVisible({
css: '[data-testid="swaps-banner-title"]',
@@ -171,7 +215,7 @@ const checkNotification = async (driver, options) => {
);
};
-const changeExchangeRate = async (driver) => {
+export const changeExchangeRate = async (driver: Driver) => {
await driver.clickElement('[data-testid="review-quote-view-all-quotes"]');
await driver.waitForSelector({ text: 'Quote details', tag: 'h2' });
@@ -182,13 +226,3 @@ const changeExchangeRate = async (driver) => {
await networkFees[random].click();
await driver.clickElement({ text: 'Select', tag: 'button' });
};
-
-module.exports = {
- withFixturesOptions,
- buildQuote,
- reviewQuote,
- waitForTransactionToComplete,
- checkActivityTransaction,
- checkNotification,
- changeExchangeRate,
-};
diff --git a/test/e2e/tests/swaps/swap-eth.spec.js b/test/e2e/tests/swaps/swap-eth.spec.ts
similarity index 80%
rename from test/e2e/tests/swaps/swap-eth.spec.js
rename to test/e2e/tests/swaps/swap-eth.spec.ts
index 35847b0ae33a..18d049e5de16 100644
--- a/test/e2e/tests/swaps/swap-eth.spec.js
+++ b/test/e2e/tests/swaps/swap-eth.spec.ts
@@ -1,35 +1,22 @@
-const { withFixtures, unlockWallet } = require('../../helpers');
-const { SWAP_TEST_ETH_DAI_TRADES_MOCK } = require('../../../data/mock-data');
-const {
+import { unlockWallet, withFixtures } from '../../helpers';
+import {
withFixturesOptions,
buildQuote,
reviewQuote,
waitForTransactionToComplete,
checkActivityTransaction,
changeExchangeRate,
-} = require('./shared');
-
-async function mockEthDaiTrade(mockServer) {
- return [
- await mockServer
- .forGet('https://swap.api.cx.metamask.io/networks/1/trades')
- .thenCallback(() => {
- return {
- statusCode: 200,
- json: SWAP_TEST_ETH_DAI_TRADES_MOCK,
- };
- }),
- ];
-}
+ mockEthDaiTrade,
+} from './shared';
describe('Swap Eth for another Token @no-mmi', function () {
it('Completes second Swaps while first swap is processing', async function () {
- withFixturesOptions.ganacheOptions.blockTime = 10;
+ withFixturesOptions.ganacheOptions.miner.blockTime = 10;
await withFixtures(
{
...withFixturesOptions,
- title: this.test.fullTitle(),
+ title: this.test?.fullTitle(),
},
async ({ driver }) => {
await unlockWallet(driver);
@@ -70,12 +57,13 @@ describe('Swap Eth for another Token @no-mmi', function () {
},
);
});
+
it('Completes a Swap between ETH and DAI after changing initial rate', async function () {
await withFixtures(
{
...withFixturesOptions,
testSpecificMock: mockEthDaiTrade,
- title: this.test.fullTitle(),
+ title: this.test?.fullTitle(),
},
async ({ driver }) => {
await unlockWallet(driver);
diff --git a/test/e2e/tests/swaps/swaps-notifications.spec.js b/test/e2e/tests/swaps/swaps-notifications.spec.ts
similarity index 92%
rename from test/e2e/tests/swaps/swaps-notifications.spec.js
rename to test/e2e/tests/swaps/swaps-notifications.spec.ts
index c6dbbd469959..134741d3683c 100644
--- a/test/e2e/tests/swaps/swaps-notifications.spec.js
+++ b/test/e2e/tests/swaps/swaps-notifications.spec.ts
@@ -1,13 +1,14 @@
-const { withFixtures, unlockWallet } = require('../../helpers');
-const { SWAP_TEST_ETH_USDC_TRADES_MOCK } = require('../../../data/mock-data');
-const {
+import { Mockttp } from 'mockttp';
+import { withFixtures, unlockWallet } from '../../helpers';
+import { SWAP_TEST_ETH_USDC_TRADES_MOCK } from '../../../data/mock-data';
+import {
withFixturesOptions,
buildQuote,
reviewQuote,
checkNotification,
-} = require('./shared');
+} from './shared';
-async function mockSwapsTransactionQuote(mockServer) {
+async function mockSwapsTransactionQuote(mockServer: Mockttp) {
return [
await mockServer
.forGet('https://swap.api.cx.metamask.io/networks/1/trades')
@@ -19,7 +20,7 @@ async function mockSwapsTransactionQuote(mockServer) {
}
describe('Swaps - notifications @no-mmi', function () {
- async function mockTradesApiPriceSlippageError(mockServer) {
+ async function mockTradesApiPriceSlippageError(mockServer: Mockttp) {
await mockServer
.forGet('https://swap.api.cx.metamask.io/networks/1/trades')
.thenCallback(() => {
@@ -71,7 +72,7 @@ describe('Swaps - notifications @no-mmi', function () {
{
...withFixturesOptions,
testSpecificMock: mockTradesApiPriceSlippageError,
- title: this.test.fullTitle(),
+ title: this.test?.fullTitle(),
},
async ({ driver }) => {
await unlockWallet(driver);
@@ -122,7 +123,7 @@ describe('Swaps - notifications @no-mmi', function () {
...withFixturesOptions,
ganacheOptions: lowBalanceGanacheOptions,
testSpecificMock: mockSwapsTransactionQuote,
- title: this.test.fullTitle(),
+ title: this.test?.fullTitle(),
},
async ({ driver }) => {
await unlockWallet(driver);
@@ -152,7 +153,7 @@ describe('Swaps - notifications @no-mmi', function () {
await withFixtures(
{
...withFixturesOptions,
- title: this.test.fullTitle(),
+ title: this.test?.fullTitle(),
},
async ({ driver }) => {
await unlockWallet(driver);
@@ -174,12 +175,12 @@ describe('Swaps - notifications @no-mmi', function () {
await withFixtures(
{
...withFixturesOptions,
- title: this.test.fullTitle(),
+ title: this.test?.fullTitle(),
},
async ({ driver }) => {
await unlockWallet(driver);
await buildQuote(driver, {
- amount: '.0001',
+ amount: 0.0001,
swapTo: 'DAI',
});
await driver.clickElement('[title="Transaction settings"]');
diff --git a/test/e2e/webdriver/driver.js b/test/e2e/webdriver/driver.js
index fb8aed3d28a6..b0648f122fb9 100644
--- a/test/e2e/webdriver/driver.js
+++ b/test/e2e/webdriver/driver.js
@@ -319,10 +319,14 @@ class Driver {
* Waits for an element that matches the given locator to reach the specified state within the timeout period.
*
* @param {string | object} rawLocator - Element locator
- * @param {number} timeout - optional parameter that specifies the maximum amount of time (in milliseconds)
+ * @param {object} [options] - parameter object
+ * @param {number} [options.timeout] - specifies the maximum amount of time (in milliseconds)
* to wait for the condition to be met and desired state of the element to wait for.
* It defaults to 'visible', indicating that the method will wait until the element is visible on the page.
* The other supported state is 'detached', which means waiting until the element is removed from the DOM.
+ * @param {string} [options.state] - specifies the state of the element to wait for.
+ * It defaults to 'visible', indicating that the method will wait until the element is visible on the page.
+ * The other supported state is 'detached', which means waiting until the element is removed from the DOM.
* @returns {Promise} promise resolving when the element meets the state or timeout occurs.
* @throws {Error} Will throw an error if the element does not reach the specified state within the timeout period.
*/
diff --git a/ui/pages/swaps/smart-transaction-status/smart-transaction-status.js b/ui/pages/swaps/smart-transaction-status/smart-transaction-status.js
index b103ead2097c..e6a77f9474fb 100644
--- a/ui/pages/swaps/smart-transaction-status/smart-transaction-status.js
+++ b/ui/pages/swaps/smart-transaction-status/smart-transaction-status.js
@@ -401,6 +401,7 @@ export default function SmartTransactionStatusPage() {
)}
Date: Tue, 15 Oct 2024 15:01:05 -0500
Subject: [PATCH 30/41] chore: remove unused swaps code (#27679)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
## **Description**
Removed code which is no longer needed because we are moving forward
with the swaps redesign.
[![Open in GitHub
Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/27679?quickstart=1)
## **Manual testing steps**
Test Swaps flows and confirm no regresions.
## **Pre-merge author checklist**
- [X] I've followed [MetaMask Contributor
Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask
Extension Coding
Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md).
- [X] I've completed the PR template to the best of my ability
- [X] I’ve included tests if applicable
- [X] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [X] I’ve applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)).
Not required for external contributors.
## **Pre-merge reviewer checklist**
- [ ] I've manually tested the PR (e.g. pull and build branch, run the
app, test code being changed).
- [ ] I confirm that this PR addresses all acceptance criteria described
in the ticket it closes and includes the necessary testing evidence such
as recordings and or screenshots.
---
app/_locales/de/messages.json | 65 -
app/_locales/el/messages.json | 65 -
app/_locales/en/messages.json | 65 -
app/_locales/en_GB/messages.json | 65 -
app/_locales/es/messages.json | 65 -
app/_locales/es_419/messages.json | 62 -
app/_locales/fr/messages.json | 65 -
app/_locales/hi/messages.json | 65 -
app/_locales/id/messages.json | 65 -
app/_locales/it/messages.json | 46 -
app/_locales/ja/messages.json | 65 -
app/_locales/ko/messages.json | 65 -
app/_locales/ph/messages.json | 62 -
app/_locales/pt/messages.json | 65 -
app/_locales/pt_BR/messages.json | 62 -
app/_locales/ru/messages.json | 65 -
app/_locales/tl/messages.json | 65 -
app/_locales/tr/messages.json | 65 -
app/_locales/vi/messages.json | 65 -
app/_locales/zh_CN/messages.json | 65 -
app/_locales/zh_TW/messages.json | 7 -
.../files-to-convert.json | 27 -
.../data/integration-init-state.json | 4 -
test/jest/mock-store.js | 4 -
.../app/wallet-overview/coin-buttons.tsx | 6 +-
.../multichain/app-header/app-header.js | 7 +-
ui/ducks/swaps/swaps.js | 15 +-
ui/ducks/swaps/swaps.test.js | 19 -
ui/helpers/constants/routes.ts | 6 -
ui/pages/asset/components/token-buttons.tsx | 6 +-
ui/pages/bridge/index.test.tsx | 2 -
ui/pages/home/home.component.js | 9 +-
ui/pages/routes/routes.component.js | 8 -
.../swaps/__snapshots__/index.test.js.snap | 20 +-
.../awaiting-signatures.js | 4 +-
ui/pages/swaps/awaiting-swap/awaiting-swap.js | 8 +-
.../__snapshots__/build-quote.test.js.snap | 33 -
ui/pages/swaps/build-quote/build-quote.js | 800 ------------
.../swaps/build-quote/build-quote.stories.js | 35 -
.../swaps/build-quote/build-quote.test.js | 223 ----
ui/pages/swaps/build-quote/index.js | 1 -
ui/pages/swaps/build-quote/index.scss | 223 ----
.../swaps/create-new-swap/create-new-swap.js | 4 +-
.../create-new-swap/create-new-swap.test.js | 12 +-
ui/pages/swaps/dropdown-input-pair/README.mdx | 15 -
.../dropdown-input-pair.test.js.snap | 20 -
.../dropdown-input-pair.js | 177 ---
.../dropdown-input-pair.stories.js | 173 ---
.../dropdown-input-pair.test.js | 44 -
ui/pages/swaps/dropdown-input-pair/index.js | 1 -
ui/pages/swaps/dropdown-input-pair/index.scss | 78 --
.../dropdown-search-list.test.js.snap | 46 -
.../dropdown-search-list.js | 334 -----
.../dropdown-search-list.stories.js | 147 ---
.../dropdown-search-list.test.js | 50 -
ui/pages/swaps/dropdown-search-list/index.js | 1 -
.../swaps/dropdown-search-list/index.scss | 167 ---
ui/pages/swaps/index.js | 220 +---
ui/pages/swaps/index.scss | 35 +-
ui/pages/swaps/index.test.js | 4 +-
.../loading-swaps-quotes.js | 4 +-
ui/pages/swaps/main-quote-summary/README.mdx | 14 -
.../main-quote-summary.test.js.snap | 116 --
.../__snapshots__/quote-backdrop.test.js.snap | 74 --
ui/pages/swaps/main-quote-summary/index.js | 1 -
ui/pages/swaps/main-quote-summary/index.scss | 125 --
.../main-quote-summary/main-quote-summary.js | 182 ---
.../main-quote-summary.stories.js | 67 -
.../main-quote-summary.test.js | 39 -
.../main-quote-summary/quote-backdrop.js | 89 --
.../main-quote-summary/quote-backdrop.test.js | 23 -
.../popover-custom-background/index.scss | 6 -
.../popover-custom-background.js | 14 -
.../prepare-swap-page.test.js.snap | 3 -
ui/pages/swaps/prepare-swap-page/index.scss | 108 +-
.../prepare-swap-page.test.js | 3 -
.../swaps/prepare-swap-page/review-quote.js | 2 +-
.../quote-details/index.scss | 12 -
.../__snapshots__/selected-token.test.js.snap | 82 +-
ui/pages/swaps/selected-token/index.scss | 142 +++
.../swaps/selected-token/selected-token.js | 86 +-
.../selected-token/selected-token.test.js | 2 +-
.../slippage-buttons.test.js.snap | 48 -
ui/pages/swaps/slippage-buttons/index.js | 1 -
ui/pages/swaps/slippage-buttons/index.scss | 111 --
.../slippage-buttons/slippage-buttons.js | 224 ----
.../slippage-buttons.stories.js | 15 -
.../slippage-buttons/slippage-buttons.test.js | 99 --
.../swaps/smart-transaction-status/index.scss | 12 +
.../smart-transaction-status.js | 12 +-
.../view-quote-price-difference.test.js.snap | 233 ----
.../__snapshots__/view-quote.test.js.snap | 145 ---
ui/pages/swaps/view-quote/index.js | 1 -
ui/pages/swaps/view-quote/index.scss | 179 ---
.../view-quote/view-quote-price-difference.js | 111 --
.../view-quote-price-difference.test.js | 132 --
ui/pages/swaps/view-quote/view-quote.js | 1089 -----------------
ui/pages/swaps/view-quote/view-quote.test.js | 100 --
98 files changed, 361 insertions(+), 7612 deletions(-)
delete mode 100644 ui/pages/swaps/build-quote/__snapshots__/build-quote.test.js.snap
delete mode 100644 ui/pages/swaps/build-quote/build-quote.js
delete mode 100644 ui/pages/swaps/build-quote/build-quote.stories.js
delete mode 100644 ui/pages/swaps/build-quote/build-quote.test.js
delete mode 100644 ui/pages/swaps/build-quote/index.js
delete mode 100644 ui/pages/swaps/build-quote/index.scss
delete mode 100644 ui/pages/swaps/dropdown-input-pair/README.mdx
delete mode 100644 ui/pages/swaps/dropdown-input-pair/__snapshots__/dropdown-input-pair.test.js.snap
delete mode 100644 ui/pages/swaps/dropdown-input-pair/dropdown-input-pair.js
delete mode 100644 ui/pages/swaps/dropdown-input-pair/dropdown-input-pair.stories.js
delete mode 100644 ui/pages/swaps/dropdown-input-pair/dropdown-input-pair.test.js
delete mode 100644 ui/pages/swaps/dropdown-input-pair/index.js
delete mode 100644 ui/pages/swaps/dropdown-input-pair/index.scss
delete mode 100644 ui/pages/swaps/dropdown-search-list/__snapshots__/dropdown-search-list.test.js.snap
delete mode 100644 ui/pages/swaps/dropdown-search-list/dropdown-search-list.js
delete mode 100644 ui/pages/swaps/dropdown-search-list/dropdown-search-list.stories.js
delete mode 100644 ui/pages/swaps/dropdown-search-list/dropdown-search-list.test.js
delete mode 100644 ui/pages/swaps/dropdown-search-list/index.js
delete mode 100644 ui/pages/swaps/dropdown-search-list/index.scss
delete mode 100644 ui/pages/swaps/main-quote-summary/README.mdx
delete mode 100644 ui/pages/swaps/main-quote-summary/__snapshots__/main-quote-summary.test.js.snap
delete mode 100644 ui/pages/swaps/main-quote-summary/__snapshots__/quote-backdrop.test.js.snap
delete mode 100644 ui/pages/swaps/main-quote-summary/index.js
delete mode 100644 ui/pages/swaps/main-quote-summary/index.scss
delete mode 100644 ui/pages/swaps/main-quote-summary/main-quote-summary.js
delete mode 100644 ui/pages/swaps/main-quote-summary/main-quote-summary.stories.js
delete mode 100644 ui/pages/swaps/main-quote-summary/main-quote-summary.test.js
delete mode 100644 ui/pages/swaps/main-quote-summary/quote-backdrop.js
delete mode 100644 ui/pages/swaps/main-quote-summary/quote-backdrop.test.js
delete mode 100644 ui/pages/swaps/popover-custom-background/index.scss
delete mode 100644 ui/pages/swaps/popover-custom-background/popover-custom-background.js
delete mode 100644 ui/pages/swaps/prepare-swap-page/__snapshots__/prepare-swap-page.test.js.snap
create mode 100644 ui/pages/swaps/selected-token/index.scss
delete mode 100644 ui/pages/swaps/slippage-buttons/__snapshots__/slippage-buttons.test.js.snap
delete mode 100644 ui/pages/swaps/slippage-buttons/index.js
delete mode 100644 ui/pages/swaps/slippage-buttons/index.scss
delete mode 100644 ui/pages/swaps/slippage-buttons/slippage-buttons.js
delete mode 100644 ui/pages/swaps/slippage-buttons/slippage-buttons.stories.js
delete mode 100644 ui/pages/swaps/slippage-buttons/slippage-buttons.test.js
delete mode 100644 ui/pages/swaps/view-quote/__snapshots__/view-quote-price-difference.test.js.snap
delete mode 100644 ui/pages/swaps/view-quote/__snapshots__/view-quote.test.js.snap
delete mode 100644 ui/pages/swaps/view-quote/index.js
delete mode 100644 ui/pages/swaps/view-quote/index.scss
delete mode 100644 ui/pages/swaps/view-quote/view-quote-price-difference.js
delete mode 100644 ui/pages/swaps/view-quote/view-quote-price-difference.test.js
delete mode 100644 ui/pages/swaps/view-quote/view-quote.js
delete mode 100644 ui/pages/swaps/view-quote/view-quote.test.js
diff --git a/app/_locales/de/messages.json b/app/_locales/de/messages.json
index 296f1c716297..fe0c84afcfac 100644
--- a/app/_locales/de/messages.json
+++ b/app/_locales/de/messages.json
@@ -5192,10 +5192,6 @@
"swapAreYouStillThereDescription": {
"message": "Wir sind bereit, Ihnen die neuesten Angebote zu zeigen, wenn Sie fortfahren möchten."
},
- "swapBuildQuotePlaceHolderText": {
- "message": "Keine Tokens verfügbar, die mit $1 übereinstimmen.",
- "description": "Tells the user that a given search string does not match any tokens in our token lists. $1 can be any string of text"
- },
"swapConfirmWithHwWallet": {
"message": "Mit Ihrer Hardware-Wallet bestätigen"
},
@@ -5260,9 +5256,6 @@
"swapFetchingQuotesErrorTitle": {
"message": "Fehler beim Abrufen der Preisangaben"
},
- "swapFetchingTokens": {
- "message": "Token abrufen..."
- },
"swapFromTo": {
"message": "Swap von $1 auf $2",
"description": "Tells a user that they need to confirm on their hardware wallet a swap of 2 tokens. $1 is a source token and $2 is a destination token"
@@ -5283,9 +5276,6 @@
"swapHighSlippage": {
"message": "Hohe Slippage"
},
- "swapHighSlippageWarning": {
- "message": "Der Slippage-Betrag ist sehr hoch."
- },
"swapIncludesMMFee": {
"message": "Enthält eine MetaMask-Gebühr von $1%.",
"description": "Provides information about the fee that metamask takes for swaps. $1 is a decimal number."
@@ -5307,9 +5297,6 @@
"swapLowSlippage": {
"message": "Niedrige Slippage"
},
- "swapLowSlippageError": {
- "message": "Transaktion kann fehlschlagen, maximale Slippage zu niedrig."
- },
"swapMaxSlippage": {
"message": "Max. Slippage"
},
@@ -5344,9 +5331,6 @@
"message": "Preisdifferenz von ~$1%",
"description": "$1 is a number (ex: 1.23) that represents the price difference."
},
- "swapPriceImpactTooltip": {
- "message": "Der Preiseinfluss ist die Differenz zwischen dem aktuellen Marktpreis und dem bei der Ausführung der Transaktion erhaltenen Betrag. Die Preisauswirkung ist eine Funktion der Größe Ihres Geschäfts im Verhältnis zur Größe des Liquiditätspools."
- },
"swapPriceUnavailableDescription": {
"message": "Die Auswirkungen auf den Preis konnten aufgrund fehlender Marktpreisdaten nicht ermittelt werden. Bitte bestätigen Sie vor dem Tausch, dass Sie mit der Menge der Tokens, die Sie erhalten werden, einverstanden sind."
},
@@ -5393,12 +5377,6 @@
"swapRequestForQuotation": {
"message": "Angebotsanfrage"
},
- "swapReviewSwap": {
- "message": "Swap überprüfen"
- },
- "swapSearchNameOrAddress": {
- "message": "Namen suchen oder Adresse einfügen"
- },
"swapSelect": {
"message": "Auswählen"
},
@@ -5431,9 +5409,6 @@
"swapSlippageLowTitle": {
"message": "Niedriger Slippage"
},
- "swapSlippageNegative": {
- "message": "Slippage muss größer oder gleich Null sein"
- },
"swapSlippageNegativeDescription": {
"message": "Slippage muss größer oder gleich Null sein"
},
@@ -5502,20 +5477,6 @@
"message": "$1 mit $2 tauschen",
"description": "Used in the transaction display list to describe a swap. $1 and $2 are the symbols of tokens in involved in a swap."
},
- "swapTokenVerificationAddedManually": {
- "message": "Dieses Token wurde manuell hinzugefügt."
- },
- "swapTokenVerificationMessage": {
- "message": "Bestätigen Sie immer die Token-Adresse auf $1.",
- "description": "Points the user to Etherscan as a place they can verify information about a token. $1 is replaced with the translation for \"Etherscan\" followed by an info icon that shows more info on hover."
- },
- "swapTokenVerificationOnlyOneSource": {
- "message": "Nur an 1 Quelle verifiziert."
- },
- "swapTokenVerificationSources": {
- "message": "Auf $1 Quellen überprüft.",
- "description": "Indicates the number of token information sources that recognize the symbol + address. $1 is a decimal number."
- },
"swapTokenVerifiedOn1SourceDescription": {
"message": "$1 wurde nur auf 1 Quelle bestätigt. Ziehen Sie in Betracht, es vor dem Fortfahren auf $2 zu bestätigen.",
"description": "$1 is a token name, $2 points the user to etherscan as a place they can verify information about a token. $1 is replaced with the translation for \"etherscan\""
@@ -5536,30 +5497,12 @@
"swapUnknown": {
"message": "Unbekannt"
},
- "swapVerifyTokenExplanation": {
- "message": "Mehrere Token können denselben Namen und dasselbe Symbol verwenden. Überprüfen Sie $1, um sicherzugehen, dass dies der Token ist, den Sie suchen.",
- "description": "This appears in a tooltip next to the verifyThisTokenOn message. It gives the user more information about why they should check the token on a block explorer. $1 will be the name or url of the block explorer, which will be the translation of 'etherscan' or a block explorer url specified for a custom network."
- },
- "swapYourTokenBalance": {
- "message": "$1 $2 zum Swap verfügbar",
- "description": "Tells the user how much of a token they have in their balance. $1 is a decimal number amount of tokens, and $2 is a token symbol"
- },
"swapZeroSlippage": {
"message": "0 % Slippage"
},
- "swapsAdvancedOptions": {
- "message": "Erweiterte Optionen"
- },
- "swapsExcessiveSlippageWarning": {
- "message": "Der Slippage-Betrag ist zu hoch und wird zu einem schlechten Kurs führen. Bitte reduzieren Sie die Slippage-Toleranz auf einen Wert unter 15 %."
- },
"swapsMaxSlippage": {
"message": "Slippage-Toleranz"
},
- "swapsNotEnoughForTx": {
- "message": "Nicht genug $1, um diese Transaktion abzuschließen.",
- "description": "Tells the user that they don't have enough of a token for a proposed swap. $1 is a token symbol"
- },
"swapsNotEnoughToken": {
"message": "Nicht genügend $1",
"description": "Tells the user that they don't have enough of a token for a proposed swap. $1 is a token symbol"
@@ -6055,14 +5998,6 @@
"verifyContractDetails": {
"message": "Drittanbieter-Details überprüfen"
},
- "verifyThisTokenOn": {
- "message": "Diesen Token auf $1 verifizieren",
- "description": "Points the user to etherscan as a place they can verify information about a token. $1 is replaced with the translation for \"etherscan\""
- },
- "verifyThisUnconfirmedTokenOn": {
- "message": "Überprüfen Sie diesen Token auf $1 und stellen Sie sicher, dass dies der Token ist, den Sie handeln möchten.",
- "description": "Points the user to etherscan as a place they can verify information about a token. $1 is replaced with the translation for \"etherscan\""
- },
"version": {
"message": "Version"
},
diff --git a/app/_locales/el/messages.json b/app/_locales/el/messages.json
index 6adad0a49176..5c42a8d829b4 100644
--- a/app/_locales/el/messages.json
+++ b/app/_locales/el/messages.json
@@ -5192,10 +5192,6 @@
"swapAreYouStillThereDescription": {
"message": "Είμαστε έτοιμοι να σας δείξουμε τις τελευταίες προσφορές, όποτε θέλετε να συνεχίσετε"
},
- "swapBuildQuotePlaceHolderText": {
- "message": "Δεν υπάρχουν διαθέσιμα tokens που να αντιστοιχούν σε $1",
- "description": "Tells the user that a given search string does not match any tokens in our token lists. $1 can be any string of text"
- },
"swapConfirmWithHwWallet": {
"message": "Επιβεβαιώστε με το πορτοφόλι υλικού σας"
},
@@ -5260,9 +5256,6 @@
"swapFetchingQuotesErrorTitle": {
"message": "Σφάλμα κατά τη λήψη προσφορών"
},
- "swapFetchingTokens": {
- "message": "Λήψη tokens..."
- },
"swapFromTo": {
"message": "Η ανταλλαγή από $1 έως $2",
"description": "Tells a user that they need to confirm on their hardware wallet a swap of 2 tokens. $1 is a source token and $2 is a destination token"
@@ -5283,9 +5276,6 @@
"swapHighSlippage": {
"message": "Υψηλή ολίσθηση"
},
- "swapHighSlippageWarning": {
- "message": "Το ποσό ολίσθησης είναι πολύ υψηλό."
- },
"swapIncludesMMFee": {
"message": "Περιλαμβάνει μια χρέωση $1% στο MetaMask.",
"description": "Provides information about the fee that metamask takes for swaps. $1 is a decimal number."
@@ -5307,9 +5297,6 @@
"swapLowSlippage": {
"message": "Χαμηλή ολίσθηση"
},
- "swapLowSlippageError": {
- "message": "Η συναλλαγή ενδέχεται να αποτύχει, η μέγιστη ολίσθηση είναι πολύ χαμηλή."
- },
"swapMaxSlippage": {
"message": "Μέγιστη ολίσθηση"
},
@@ -5344,9 +5331,6 @@
"message": "Διαφορά τιμής ~$1%",
"description": "$1 is a number (ex: 1.23) that represents the price difference."
},
- "swapPriceImpactTooltip": {
- "message": "Η επίπτωση στις τιμές είναι η διαφορά μεταξύ της τρέχουσας τιμής αγοράς και του ποσού που εισπράττεται κατά την εκτέλεση της συναλλαγής. Η επίπτωση στις τιμές είναι συνάρτηση του μεγέθους της συναλλαγής σας σε σχέση με το μέγεθος του αποθέματος ρευστότητας."
- },
"swapPriceUnavailableDescription": {
"message": "Η επίπτωση στις τιμές δεν ήταν δυνατόν να προσδιοριστεί λόγω έλλειψης στοιχείων για τις τιμές της αγοράς. Παρακαλούμε επιβεβαιώστε ότι είστε ικανοποιημένοι με το ποσό των tokens που πρόκειται να λάβετε πριν από την ανταλλαγή."
},
@@ -5393,12 +5377,6 @@
"swapRequestForQuotation": {
"message": "Αίτημα για προσφορά"
},
- "swapReviewSwap": {
- "message": "Έλεγχος της ανταλλαγής"
- },
- "swapSearchNameOrAddress": {
- "message": "Αναζήτηση ονόματος ή επικόλληση διεύθυνσης"
- },
"swapSelect": {
"message": "Επιλογή"
},
@@ -5431,9 +5409,6 @@
"swapSlippageLowTitle": {
"message": "Χαμηλή απόκλιση"
},
- "swapSlippageNegative": {
- "message": "Η απόκλιση πρέπει να είναι μεγαλύτερη ή ίση με το μηδέν"
- },
"swapSlippageNegativeDescription": {
"message": "Η απόκλιση πρέπει να είναι μεγαλύτερη ή ίση με μηδέν"
},
@@ -5502,20 +5477,6 @@
"message": "Ανταλλαγή $1 έως $2",
"description": "Used in the transaction display list to describe a swap. $1 and $2 are the symbols of tokens in involved in a swap."
},
- "swapTokenVerificationAddedManually": {
- "message": "Αυτό το token έχει προστεθεί χειροκίνητα."
- },
- "swapTokenVerificationMessage": {
- "message": "Πάντα να επιβεβαιώνετε τη διεύθυνση του token στο $1.",
- "description": "Points the user to Etherscan as a place they can verify information about a token. $1 is replaced with the translation for \"Etherscan\" followed by an info icon that shows more info on hover."
- },
- "swapTokenVerificationOnlyOneSource": {
- "message": "Επαληθεύτηκε μόνο σε 1 πηγή."
- },
- "swapTokenVerificationSources": {
- "message": "Επαληθεύτηκε μόνο σε $1 πηγές.",
- "description": "Indicates the number of token information sources that recognize the symbol + address. $1 is a decimal number."
- },
"swapTokenVerifiedOn1SourceDescription": {
"message": "Το $1 επαληθεύτηκε μόνο από 1 πηγή. Εξετάστε το ενδεχόμενο επαλήθευσης σε $2 πριν προχωρήσετε.",
"description": "$1 is a token name, $2 points the user to etherscan as a place they can verify information about a token. $1 is replaced with the translation for \"etherscan\""
@@ -5536,30 +5497,12 @@
"swapUnknown": {
"message": "Άγνωστο"
},
- "swapVerifyTokenExplanation": {
- "message": "Πολλαπλά tokens μπορούν να χρησιμοποιούν το ίδιο όνομα και σύμβολο. Ελέγξτε το $1 για να επιβεβαιώσετε ότι αυτό είναι το token που ψάχνετε.",
- "description": "This appears in a tooltip next to the verifyThisTokenOn message. It gives the user more information about why they should check the token on a block explorer. $1 will be the name or url of the block explorer, which will be the translation of 'etherscan' or a block explorer url specified for a custom network."
- },
- "swapYourTokenBalance": {
- "message": "$1 $2 διαθέσιμα για ανταλλαγή",
- "description": "Tells the user how much of a token they have in their balance. $1 is a decimal number amount of tokens, and $2 is a token symbol"
- },
"swapZeroSlippage": {
"message": "0% Απόκλιση"
},
- "swapsAdvancedOptions": {
- "message": "Προηγμένες επιλογές"
- },
- "swapsExcessiveSlippageWarning": {
- "message": "Το ποσοστό απόκλισης είναι πολύ υψηλό και θα οδηγήσει σε χαμηλή τιμή. Παρακαλούμε μειώστε την ανοχή απόκλισης σε τιμή κάτω του 15%."
- },
"swapsMaxSlippage": {
"message": "Ανοχή απόκλισης"
},
- "swapsNotEnoughForTx": {
- "message": "Δεν υπάρχουν αρκετά $1 για να ολοκληρωθεί αυτή η συναλλαγή",
- "description": "Tells the user that they don't have enough of a token for a proposed swap. $1 is a token symbol"
- },
"swapsNotEnoughToken": {
"message": "Δεν υπάρχουν αρκετά $1",
"description": "Tells the user that they don't have enough of a token for a proposed swap. $1 is a token symbol"
@@ -6055,14 +5998,6 @@
"verifyContractDetails": {
"message": "Επαλήθευση στοιχείων τρίτων"
},
- "verifyThisTokenOn": {
- "message": "Επαλήθευση αυτού του token στο $1",
- "description": "Points the user to etherscan as a place they can verify information about a token. $1 is replaced with the translation for \"etherscan\""
- },
- "verifyThisUnconfirmedTokenOn": {
- "message": "Επαληθεύστε αυτό το token στο $1 και βεβαιωθείτε ότι αυτό είναι το token που θέλετε να κάνετε συναλλαγές.",
- "description": "Points the user to etherscan as a place they can verify information about a token. $1 is replaced with the translation for \"etherscan\""
- },
"version": {
"message": "Έκδοση"
},
diff --git a/app/_locales/en/messages.json b/app/_locales/en/messages.json
index 57dd9152752e..49d48b9c71ac 100644
--- a/app/_locales/en/messages.json
+++ b/app/_locales/en/messages.json
@@ -5592,10 +5592,6 @@
"swapAreYouStillThereDescription": {
"message": "We’re ready to show you the latest quotes when you want to continue"
},
- "swapBuildQuotePlaceHolderText": {
- "message": "No tokens available matching $1",
- "description": "Tells the user that a given search string does not match any tokens in our token lists. $1 can be any string of text"
- },
"swapConfirmWithHwWallet": {
"message": "Confirm with your hardware wallet"
},
@@ -5660,9 +5656,6 @@
"swapFetchingQuotesErrorTitle": {
"message": "Error fetching quotes"
},
- "swapFetchingTokens": {
- "message": "Fetching tokens..."
- },
"swapFromTo": {
"message": "The swap of $1 to $2",
"description": "Tells a user that they need to confirm on their hardware wallet a swap of 2 tokens. $1 is a source token and $2 is a destination token"
@@ -5697,9 +5690,6 @@
"swapHighSlippage": {
"message": "High slippage"
},
- "swapHighSlippageWarning": {
- "message": "Slippage amount is very high."
- },
"swapIncludesGasAndMetaMaskFee": {
"message": "Includes gas and a $1% MetaMask fee",
"description": "Provides information about the fee that metamask takes for swaps. $1 is a decimal number."
@@ -5725,9 +5715,6 @@
"swapLowSlippage": {
"message": "Low slippage"
},
- "swapLowSlippageError": {
- "message": "Transaction may fail, max slippage too low."
- },
"swapMaxSlippage": {
"message": "Max slippage"
},
@@ -5762,9 +5749,6 @@
"message": "Price difference of ~$1%",
"description": "$1 is a number (ex: 1.23) that represents the price difference."
},
- "swapPriceImpactTooltip": {
- "message": "Price impact is the difference between the current market price and the amount received during transaction execution. Price impact is a function of the size of your trade relative to the size of the liquidity pool."
- },
"swapPriceUnavailableDescription": {
"message": "Price impact could not be determined due to lack of market price data. Please confirm that you are comfortable with the amount of tokens you are about to receive before swapping."
},
@@ -5811,12 +5795,6 @@
"swapRequestForQuotation": {
"message": "Request for quotation"
},
- "swapReviewSwap": {
- "message": "Review swap"
- },
- "swapSearchNameOrAddress": {
- "message": "Search name or paste address"
- },
"swapSelect": {
"message": "Select"
},
@@ -5849,9 +5827,6 @@
"swapSlippageLowTitle": {
"message": "Low slippage"
},
- "swapSlippageNegative": {
- "message": "Slippage must be greater or equal to zero"
- },
"swapSlippageNegativeDescription": {
"message": "Slippage must be greater or equal to zero"
},
@@ -5920,20 +5895,6 @@
"message": "Swap $1 to $2",
"description": "Used in the transaction display list to describe a swap. $1 and $2 are the symbols of tokens in involved in a swap."
},
- "swapTokenVerificationAddedManually": {
- "message": "This token has been added manually."
- },
- "swapTokenVerificationMessage": {
- "message": "Always confirm the token address on $1.",
- "description": "Points the user to Etherscan as a place they can verify information about a token. $1 is replaced with the translation for \"Etherscan\" followed by an info icon that shows more info on hover."
- },
- "swapTokenVerificationOnlyOneSource": {
- "message": "Only verified on 1 source."
- },
- "swapTokenVerificationSources": {
- "message": "Verified on $1 sources.",
- "description": "Indicates the number of token information sources that recognize the symbol + address. $1 is a decimal number."
- },
"swapTokenVerifiedOn1SourceDescription": {
"message": "$1 is only verified on 1 source. Consider verifying it on $2 before proceeding.",
"description": "$1 is a token name, $2 points the user to etherscan as a place they can verify information about a token. $1 is replaced with the translation for \"etherscan\""
@@ -5954,30 +5915,12 @@
"swapUnknown": {
"message": "Unknown"
},
- "swapVerifyTokenExplanation": {
- "message": "Multiple tokens can use the same name and symbol. Check $1 to verify this is the token you're looking for.",
- "description": "This appears in a tooltip next to the verifyThisTokenOn message. It gives the user more information about why they should check the token on a block explorer. $1 will be the name or url of the block explorer, which will be the translation of 'etherscan' or a block explorer url specified for a custom network."
- },
- "swapYourTokenBalance": {
- "message": "$1 $2 available to swap",
- "description": "Tells the user how much of a token they have in their balance. $1 is a decimal number amount of tokens, and $2 is a token symbol"
- },
"swapZeroSlippage": {
"message": "0% Slippage"
},
- "swapsAdvancedOptions": {
- "message": "Advanced options"
- },
- "swapsExcessiveSlippageWarning": {
- "message": "Slippage amount is too high and will result in a bad rate. Please reduce your slippage tolerance to a value below 15%."
- },
"swapsMaxSlippage": {
"message": "Slippage tolerance"
},
- "swapsNotEnoughForTx": {
- "message": "Not enough $1 to complete this transaction",
- "description": "Tells the user that they don't have enough of a token for a proposed swap. $1 is a token symbol"
- },
"swapsNotEnoughToken": {
"message": "Not enough $1",
"description": "Tells the user that they don't have enough of a token for a proposed swap. $1 is a token symbol"
@@ -6492,14 +6435,6 @@
"verifyContractDetails": {
"message": "Verify third-party details"
},
- "verifyThisTokenOn": {
- "message": "Verify this token on $1",
- "description": "Points the user to etherscan as a place they can verify information about a token. $1 is replaced with the translation for \"etherscan\""
- },
- "verifyThisUnconfirmedTokenOn": {
- "message": "Verify this token on $1 and make sure this is the token you want to trade.",
- "description": "Points the user to etherscan as a place they can verify information about a token. $1 is replaced with the translation for \"etherscan\""
- },
"version": {
"message": "Version"
},
diff --git a/app/_locales/en_GB/messages.json b/app/_locales/en_GB/messages.json
index 25cb6cd3df29..fc635e33a708 100644
--- a/app/_locales/en_GB/messages.json
+++ b/app/_locales/en_GB/messages.json
@@ -5341,10 +5341,6 @@
"swapAreYouStillThereDescription": {
"message": "We’re ready to show you the latest quotes when you want to continue"
},
- "swapBuildQuotePlaceHolderText": {
- "message": "No tokens available matching $1",
- "description": "Tells the user that a given search string does not match any tokens in our token lists. $1 can be any string of text"
- },
"swapConfirmWithHwWallet": {
"message": "Confirm with your hardware wallet"
},
@@ -5409,9 +5405,6 @@
"swapFetchingQuotesErrorTitle": {
"message": "Error fetching quotes"
},
- "swapFetchingTokens": {
- "message": "Fetching tokens..."
- },
"swapFromTo": {
"message": "The swap of $1 to $2",
"description": "Tells a user that they need to confirm on their hardware wallet a swap of 2 tokens. $1 is a source token and $2 is a destination token"
@@ -5432,9 +5425,6 @@
"swapHighSlippage": {
"message": "High slippage"
},
- "swapHighSlippageWarning": {
- "message": "Slippage amount is very high."
- },
"swapIncludesMMFee": {
"message": "Includes a $1% MetaMask fee.",
"description": "Provides information about the fee that metamask takes for swaps. $1 is a decimal number."
@@ -5456,9 +5446,6 @@
"swapLowSlippage": {
"message": "Low slippage"
},
- "swapLowSlippageError": {
- "message": "Transaction may fail, max slippage too low."
- },
"swapMaxSlippage": {
"message": "Max slippage"
},
@@ -5493,9 +5480,6 @@
"message": "Price difference of ~$1%",
"description": "$1 is a number (ex: 1.23) that represents the price difference."
},
- "swapPriceImpactTooltip": {
- "message": "Price impact is the difference between the current market price and the amount received during transaction execution. Price impact is a function of the size of your trade relative to the size of the liquidity pool."
- },
"swapPriceUnavailableDescription": {
"message": "Price impact could not be determined due to lack of market price data. Please confirm that you are comfortable with the amount of tokens you are about to receive before swapping."
},
@@ -5542,12 +5526,6 @@
"swapRequestForQuotation": {
"message": "Request for quotation"
},
- "swapReviewSwap": {
- "message": "Review swap"
- },
- "swapSearchNameOrAddress": {
- "message": "Search name or paste address"
- },
"swapSelect": {
"message": "Select"
},
@@ -5580,9 +5558,6 @@
"swapSlippageLowTitle": {
"message": "Low slippage"
},
- "swapSlippageNegative": {
- "message": "Slippage must be greater or equal to zero"
- },
"swapSlippageNegativeDescription": {
"message": "Slippage must be greater or equal to zero"
},
@@ -5651,20 +5626,6 @@
"message": "Swap $1 to $2",
"description": "Used in the transaction display list to describe a swap. $1 and $2 are the symbols of tokens in involved in a swap."
},
- "swapTokenVerificationAddedManually": {
- "message": "This token has been added manually."
- },
- "swapTokenVerificationMessage": {
- "message": "Always confirm the token address on $1.",
- "description": "Points the user to Etherscan as a place they can verify information about a token. $1 is replaced with the translation for \"Etherscan\" followed by an info icon that shows more info on hover."
- },
- "swapTokenVerificationOnlyOneSource": {
- "message": "Only verified on 1 source."
- },
- "swapTokenVerificationSources": {
- "message": "Verified on $1 sources.",
- "description": "Indicates the number of token information sources that recognize the symbol + address. $1 is a decimal number."
- },
"swapTokenVerifiedOn1SourceDescription": {
"message": "$1 is only verified on 1 source. Consider verifying it on $2 before proceeding.",
"description": "$1 is a token name, $2 points the user to etherscan as a place they can verify information about a token. $1 is replaced with the translation for \"etherscan\""
@@ -5685,30 +5646,12 @@
"swapUnknown": {
"message": "Unknown"
},
- "swapVerifyTokenExplanation": {
- "message": "Multiple tokens can use the same name and symbol. Check $1 to verify this is the token you're looking for.",
- "description": "This appears in a tooltip next to the verifyThisTokenOn message. It gives the user more information about why they should check the token on a block explorer. $1 will be the name or url of the block explorer, which will be the translation of 'etherscan' or a block explorer url specified for a custom network."
- },
- "swapYourTokenBalance": {
- "message": "$1 $2 available to swap",
- "description": "Tells the user how much of a token they have in their balance. $1 is a decimal number amount of tokens, and $2 is a token symbol"
- },
"swapZeroSlippage": {
"message": "0% Slippage"
},
- "swapsAdvancedOptions": {
- "message": "Advanced options"
- },
- "swapsExcessiveSlippageWarning": {
- "message": "Slippage amount is too high and will result in a bad rate. Please reduce your slippage tolerance to a value below 15%."
- },
"swapsMaxSlippage": {
"message": "Slippage tolerance"
},
- "swapsNotEnoughForTx": {
- "message": "Not enough $1 to complete this transaction",
- "description": "Tells the user that they don't have enough of a token for a proposed swap. $1 is a token symbol"
- },
"swapsNotEnoughToken": {
"message": "Not enough $1",
"description": "Tells the user that they don't have enough of a token for a proposed swap. $1 is a token symbol"
@@ -6255,14 +6198,6 @@
"verifyContractDetails": {
"message": "Verify third-party details"
},
- "verifyThisTokenOn": {
- "message": "Verify this token on $1",
- "description": "Points the user to etherscan as a place they can verify information about a token. $1 is replaced with the translation for \"etherscan\""
- },
- "verifyThisUnconfirmedTokenOn": {
- "message": "Verify this token on $1 and make sure this is the token you want to trade.",
- "description": "Points the user to etherscan as a place they can verify information about a token. $1 is replaced with the translation for \"etherscan\""
- },
"version": {
"message": "Version"
},
diff --git a/app/_locales/es/messages.json b/app/_locales/es/messages.json
index 03fa1e519ef7..97d6f4be9854 100644
--- a/app/_locales/es/messages.json
+++ b/app/_locales/es/messages.json
@@ -5189,10 +5189,6 @@
"swapAreYouStillThereDescription": {
"message": "Estamos listos para mostrarle las últimas cotizaciones cuando desee continuar"
},
- "swapBuildQuotePlaceHolderText": {
- "message": "No hay tokens disponibles que coincidan con $1",
- "description": "Tells the user that a given search string does not match any tokens in our token lists. $1 can be any string of text"
- },
"swapConfirmWithHwWallet": {
"message": "Confirmar con su monedero físico"
},
@@ -5257,9 +5253,6 @@
"swapFetchingQuotesErrorTitle": {
"message": "Error al capturar cotizaciones"
},
- "swapFetchingTokens": {
- "message": "Capturando tokens…"
- },
"swapFromTo": {
"message": "El intercambio de $1 por $2",
"description": "Tells a user that they need to confirm on their hardware wallet a swap of 2 tokens. $1 is a source token and $2 is a destination token"
@@ -5280,9 +5273,6 @@
"swapHighSlippage": {
"message": "Deslizamiento alto"
},
- "swapHighSlippageWarning": {
- "message": "El monto del deslizamiento es muy alto."
- },
"swapIncludesMMFee": {
"message": "Incluye una tasa de MetaMask del $1%.",
"description": "Provides information about the fee that metamask takes for swaps. $1 is a decimal number."
@@ -5304,9 +5294,6 @@
"swapLowSlippage": {
"message": "Deslizamiento bajo"
},
- "swapLowSlippageError": {
- "message": "Es posible que la transacción tenga errores, el deslizamiento máximo es demasiado bajo."
- },
"swapMaxSlippage": {
"message": "Desfase máximo"
},
@@ -5341,9 +5328,6 @@
"message": "Diferencia de precio de ~$1 %",
"description": "$1 is a number (ex: 1.23) that represents the price difference."
},
- "swapPriceImpactTooltip": {
- "message": "El impacto sobre el precio es la diferencia entre el precio actual del mercado y el monto recibido durante la ejecución de la transacción. El impacto sobre el precio es una función del tamaño de su transacción respecto de la dimensión del fondo de liquidez."
- },
"swapPriceUnavailableDescription": {
"message": "No se pudo determinar el impacto sobre el precio debido a la falta de datos de los precios del mercado. Antes de realizar el intercambio, confirme que está de acuerdo con la cantidad de tokens que está a punto de recibir."
},
@@ -5390,12 +5374,6 @@
"swapRequestForQuotation": {
"message": "Solicitud de cotización"
},
- "swapReviewSwap": {
- "message": "Revisar intercambio"
- },
- "swapSearchNameOrAddress": {
- "message": "Buscar nombre o pegar dirección"
- },
"swapSelect": {
"message": "Seleccionar"
},
@@ -5428,9 +5406,6 @@
"swapSlippageLowTitle": {
"message": "Deslizamiento bajo"
},
- "swapSlippageNegative": {
- "message": "El deslizamiento debe ser mayor o igual que cero"
- },
"swapSlippageNegativeDescription": {
"message": "El deslizamiento debe ser mayor o igual que cero"
},
@@ -5499,20 +5474,6 @@
"message": "Intercambiar $1 por $2",
"description": "Used in the transaction display list to describe a swap. $1 and $2 are the symbols of tokens in involved in a swap."
},
- "swapTokenVerificationAddedManually": {
- "message": "Este token se añadió de forma manual."
- },
- "swapTokenVerificationMessage": {
- "message": "Siempre confirme la dirección del token en $1.",
- "description": "Points the user to Etherscan as a place they can verify information about a token. $1 is replaced with the translation for \"Etherscan\" followed by an info icon that shows more info on hover."
- },
- "swapTokenVerificationOnlyOneSource": {
- "message": "Solo se verificó en una fuente."
- },
- "swapTokenVerificationSources": {
- "message": "Verificar en $1 fuentes.",
- "description": "Indicates the number of token information sources that recognize the symbol + address. $1 is a decimal number."
- },
"swapTokenVerifiedOn1SourceDescription": {
"message": "$1 solo se verifica en 1 fuente. Considere verificarlo en $2 antes de continuar.",
"description": "$1 is a token name, $2 points the user to etherscan as a place they can verify information about a token. $1 is replaced with the translation for \"etherscan\""
@@ -5533,30 +5494,12 @@
"swapUnknown": {
"message": "Desconocido"
},
- "swapVerifyTokenExplanation": {
- "message": "Varios tokens pueden usar el mismo nombre y símbolo. Revise $1 para comprobar que este es el token que busca.",
- "description": "This appears in a tooltip next to the verifyThisTokenOn message. It gives the user more information about why they should check the token on a block explorer. $1 will be the name or url of the block explorer, which will be the translation of 'etherscan' or a block explorer url specified for a custom network."
- },
- "swapYourTokenBalance": {
- "message": "$1 $2 disponibles para intercambio",
- "description": "Tells the user how much of a token they have in their balance. $1 is a decimal number amount of tokens, and $2 is a token symbol"
- },
"swapZeroSlippage": {
"message": "0 % de deslizamiento"
},
- "swapsAdvancedOptions": {
- "message": "Opciones avanzadas"
- },
- "swapsExcessiveSlippageWarning": {
- "message": "El monto del deslizamiento es muy alto, por lo que recibirá una tasa de conversión desfavorable. Disminuya su tolerancia de deslizamiento a un valor menor al 15 %."
- },
"swapsMaxSlippage": {
"message": "Tolerancia de deslizamiento"
},
- "swapsNotEnoughForTx": {
- "message": "No hay $1 suficientes para completar esta transacción",
- "description": "Tells the user that they don't have enough of a token for a proposed swap. $1 is a token symbol"
- },
"swapsNotEnoughToken": {
"message": "No hay suficiente $1",
"description": "Tells the user that they don't have enough of a token for a proposed swap. $1 is a token symbol"
@@ -6052,14 +5995,6 @@
"verifyContractDetails": {
"message": "Verificar detalles de terceros"
},
- "verifyThisTokenOn": {
- "message": "Comprobar este token en $1",
- "description": "Points the user to etherscan as a place they can verify information about a token. $1 is replaced with the translation for \"etherscan\""
- },
- "verifyThisUnconfirmedTokenOn": {
- "message": "Verifique este token en $1 y asegúrese de que sea el token con el que quiere realizar la transacción.",
- "description": "Points the user to etherscan as a place they can verify information about a token. $1 is replaced with the translation for \"etherscan\""
- },
"version": {
"message": "Versión"
},
diff --git a/app/_locales/es_419/messages.json b/app/_locales/es_419/messages.json
index cd980aaa99c2..672823c370ba 100644
--- a/app/_locales/es_419/messages.json
+++ b/app/_locales/es_419/messages.json
@@ -1894,10 +1894,6 @@
"message": "Necesita $1 más $2 para realizar este canje",
"description": "Tells the user how many more of a given token they need for a specific swap. $1 is an amount of tokens and $2 is the token symbol."
},
- "swapBuildQuotePlaceHolderText": {
- "message": "No hay tokens disponibles que coincidan con $1",
- "description": "Tells the user that a given search string does not match any tokens in our token lists. $1 can be any string of text"
- },
"swapConfirmWithHwWallet": {
"message": "Confirmar con la cartera de hardware"
},
@@ -1949,9 +1945,6 @@
"swapFetchingQuotesErrorTitle": {
"message": "Error al capturar cotizaciones"
},
- "swapFetchingTokens": {
- "message": "Capturando tokens..."
- },
"swapFromTo": {
"message": "El canje de $1 por $2",
"description": "Tells a user that they need to confirm on their hardware wallet a swap of 2 tokens. $1 is a source token and $2 is a destination token"
@@ -1969,16 +1962,10 @@
"message": "Las tarifas de gas se pagan a los mineros de criptomonedas que procesan transacciones en la red $1. MetaMask no se beneficia de las tarifas de gas.",
"description": "$1 is the selected network, e.g. Ethereum or BSC"
},
- "swapHighSlippageWarning": {
- "message": "El monto del desfase es muy alto."
- },
"swapIncludesMMFee": {
"message": "Incluye una tasa de MetaMask del $1%.",
"description": "Provides information about the fee that metamask takes for swaps. $1 is a decimal number."
},
- "swapLowSlippageError": {
- "message": "Es posible que la transacción tenga errores, el desfase máximo es demasiado bajo."
- },
"swapMaxSlippage": {
"message": "Desfase máximo"
},
@@ -2009,9 +1996,6 @@
"message": "Diferencia de precio de ~$1 %",
"description": "$1 is a number (ex: 1.23) that represents the price difference."
},
- "swapPriceImpactTooltip": {
- "message": "El impacto sobre el precio es la diferencia entre el precio actual del mercado y el monto recibido durante la ejecución de la transacción. El impacto sobre el precio es una función del tamaño de su transacción respecto de la dimensión del fondo de liquidez."
- },
"swapPriceUnavailableDescription": {
"message": "No se pudo determinar el impacto sobre el precio debido a la falta de datos de los precios del mercado. Antes de realizar el canje, confirme que está de acuerdo con la cantidad de tokens que está a punto de recibir."
},
@@ -2051,9 +2035,6 @@
"swapRequestForQuotation": {
"message": "Solicitud de cotización"
},
- "swapReviewSwap": {
- "message": "Revisar canje"
- },
"swapSelect": {
"message": "Seleccionar"
},
@@ -2066,9 +2047,6 @@
"swapSelectQuotePopoverDescription": {
"message": "A continuación se muestran todas las cotizaciones recopiladas de diversas fuentes de liquidez."
},
- "swapSlippageNegative": {
- "message": "El desfase debe ser mayor o igual que cero"
- },
"swapSource": {
"message": "Fuente de liquidez"
},
@@ -2102,20 +2080,6 @@
"message": "Canjear $1 por $2",
"description": "Used in the transaction display list to describe a swap. $1 and $2 are the symbols of tokens in involved in a swap."
},
- "swapTokenVerificationAddedManually": {
- "message": "Este token se añadió de forma manual."
- },
- "swapTokenVerificationMessage": {
- "message": "Siempre confirme la dirección del token en $1.",
- "description": "Points the user to Etherscan as a place they can verify information about a token. $1 is replaced with the translation for \"Etherscan\" followed by an info icon that shows more info on hover."
- },
- "swapTokenVerificationOnlyOneSource": {
- "message": "Solo se verificó en una fuente."
- },
- "swapTokenVerificationSources": {
- "message": "Verificar en $1 fuentes.",
- "description": "Indicates the number of token information sources that recognize the symbol + address. $1 is a decimal number."
- },
"swapTooManyDecimalsError": {
"message": "$1 permite hasta $2 decimales",
"description": "$1 is a token symbol and $2 is the max. number of decimals allowed for the token"
@@ -2129,30 +2093,12 @@
"swapUnknown": {
"message": "Desconocido"
},
- "swapVerifyTokenExplanation": {
- "message": "Varios tokens pueden usar el mismo nombre y símbolo. Revise $1 para comprobar que este es el token que busca.",
- "description": "This appears in a tooltip next to the verifyThisTokenOn message. It gives the user more information about why they should check the token on a block explorer. $1 will be the name or url of the block explorer, which will be the translation of 'etherscan' or a block explorer url specified for a custom network."
- },
- "swapYourTokenBalance": {
- "message": "$1 $2 disponible para canje",
- "description": "Tells the user how much of a token they have in their balance. $1 is a decimal number amount of tokens, and $2 is a token symbol"
- },
"swapZeroSlippage": {
"message": "0 % de desfase"
},
- "swapsAdvancedOptions": {
- "message": "Opciones avanzadas"
- },
- "swapsExcessiveSlippageWarning": {
- "message": "El monto del desfase es muy alto, por lo que recibirá una tasa de conversión desfavorable. Disminuya su tolerancia de desfase a un valor menor al 15 %."
- },
"swapsMaxSlippage": {
"message": "Tolerancia de desfase"
},
- "swapsNotEnoughForTx": {
- "message": "No hay $1 suficientes para finalizar esta transacción",
- "description": "Tells the user that they don't have enough of a token for a proposed swap. $1 is a token symbol"
- },
"swapsViewInActivity": {
"message": "Ver en actividad"
},
@@ -2389,14 +2335,6 @@
"userName": {
"message": "Nombre de usuario"
},
- "verifyThisTokenOn": {
- "message": "Verificar este token en $1",
- "description": "Points the user to etherscan as a place they can verify information about a token. $1 is replaced with the translation for \"etherscan\""
- },
- "verifyThisUnconfirmedTokenOn": {
- "message": "Verifique este token en $1 y asegúrese de que sea el token con el que quiere realizar la transacción.",
- "description": "Points the user to etherscan as a place they can verify information about a token. $1 is replaced with the translation for \"etherscan\""
- },
"viewAllDetails": {
"message": "Ver todos los detalles"
},
diff --git a/app/_locales/fr/messages.json b/app/_locales/fr/messages.json
index fccc617dee93..dbaffd44cf38 100644
--- a/app/_locales/fr/messages.json
+++ b/app/_locales/fr/messages.json
@@ -5192,10 +5192,6 @@
"swapAreYouStillThereDescription": {
"message": "Si vous le souhaitez, nous sommes prêts à vous présenter les dernières cotations"
},
- "swapBuildQuotePlaceHolderText": {
- "message": "Aucun jeton disponible correspondant à $1",
- "description": "Tells the user that a given search string does not match any tokens in our token lists. $1 can be any string of text"
- },
"swapConfirmWithHwWallet": {
"message": "Confirmez avec votre portefeuille matériel"
},
@@ -5260,9 +5256,6 @@
"swapFetchingQuotesErrorTitle": {
"message": "Erreur lors de la récupération des cotations"
},
- "swapFetchingTokens": {
- "message": "Récupération des jetons…"
- },
"swapFromTo": {
"message": "Le swap de $1 vers $2",
"description": "Tells a user that they need to confirm on their hardware wallet a swap of 2 tokens. $1 is a source token and $2 is a destination token"
@@ -5283,9 +5276,6 @@
"swapHighSlippage": {
"message": "Important effet de glissement"
},
- "swapHighSlippageWarning": {
- "message": "Le montant du glissement est très élevé."
- },
"swapIncludesMMFee": {
"message": "Comprend des frais MetaMask à hauteur de $1 %.",
"description": "Provides information about the fee that metamask takes for swaps. $1 is a decimal number."
@@ -5307,9 +5297,6 @@
"swapLowSlippage": {
"message": "Faible effet de glissement"
},
- "swapLowSlippageError": {
- "message": "La transaction peut échouer, car le glissement maximal est trop faible."
- },
"swapMaxSlippage": {
"message": "Glissement maximal"
},
@@ -5344,9 +5331,6 @@
"message": "Différence de prix de ~$1",
"description": "$1 is a number (ex: 1.23) that represents the price difference."
},
- "swapPriceImpactTooltip": {
- "message": "L’incidence sur les prix correspond à la différence entre le prix actuel du marché et le montant reçu lors de l’exécution de la transaction. Cette répercussion dépend du volume de votre transaction par rapport au volume de la réserve de liquidités."
- },
"swapPriceUnavailableDescription": {
"message": "L’incidence sur les prix n’a pas pu être déterminée faute de données suffisantes sur les prix du marché. Veuillez confirmer que vous êtes satisfait·e du nombre de jetons que vous êtes sur le point de recevoir avant de procéder au swap."
},
@@ -5393,12 +5377,6 @@
"swapRequestForQuotation": {
"message": "Demande de cotation"
},
- "swapReviewSwap": {
- "message": "Vérifier le swap"
- },
- "swapSearchNameOrAddress": {
- "message": "Rechercher le nom ou coller l’adresse"
- },
"swapSelect": {
"message": "Sélectionner"
},
@@ -5431,9 +5409,6 @@
"swapSlippageLowTitle": {
"message": "Faible effet de glissement"
},
- "swapSlippageNegative": {
- "message": "Le glissement doit être supérieur ou égal à zéro"
- },
"swapSlippageNegativeDescription": {
"message": "Le slippage doit être supérieur ou égal à zéro"
},
@@ -5502,20 +5477,6 @@
"message": "Swap de $1 vers $2",
"description": "Used in the transaction display list to describe a swap. $1 and $2 are the symbols of tokens in involved in a swap."
},
- "swapTokenVerificationAddedManually": {
- "message": "Ce jeton a été ajouté manuellement."
- },
- "swapTokenVerificationMessage": {
- "message": "Confirmez toujours l’adresse du jeton sur $1.",
- "description": "Points the user to Etherscan as a place they can verify information about a token. $1 is replaced with the translation for \"Etherscan\" followed by an info icon that shows more info on hover."
- },
- "swapTokenVerificationOnlyOneSource": {
- "message": "Vérification effectuée uniquement sur 1 source."
- },
- "swapTokenVerificationSources": {
- "message": "Vérification effectuée sur $1 sources.",
- "description": "Indicates the number of token information sources that recognize the symbol + address. $1 is a decimal number."
- },
"swapTokenVerifiedOn1SourceDescription": {
"message": "$1 n’a été vérifié que par 1 source. Envisagez de le vérifier auprès de $2 sources avant de continuer.",
"description": "$1 is a token name, $2 points the user to etherscan as a place they can verify information about a token. $1 is replaced with the translation for \"etherscan\""
@@ -5536,30 +5497,12 @@
"swapUnknown": {
"message": "Inconnu"
},
- "swapVerifyTokenExplanation": {
- "message": "Attention, plusieurs jetons peuvent utiliser le même nom et le même symbole. Vérifiez $1 pour vous assurer qu’il s’agit bien du jeton que vous recherchez.",
- "description": "This appears in a tooltip next to the verifyThisTokenOn message. It gives the user more information about why they should check the token on a block explorer. $1 will be the name or url of the block explorer, which will be the translation of 'etherscan' or a block explorer url specified for a custom network."
- },
- "swapYourTokenBalance": {
- "message": "$1 $2 disponibles pour un swap",
- "description": "Tells the user how much of a token they have in their balance. $1 is a decimal number amount of tokens, and $2 is a token symbol"
- },
"swapZeroSlippage": {
"message": "0 % de glissement"
},
- "swapsAdvancedOptions": {
- "message": "Options avancées"
- },
- "swapsExcessiveSlippageWarning": {
- "message": "Le montant du glissement est trop élevé et donnera lieu à un mauvais taux. Veuillez réduire votre tolérance de glissement à une valeur inférieure à 15 %."
- },
"swapsMaxSlippage": {
"message": "Tolérance au slippage"
},
- "swapsNotEnoughForTx": {
- "message": "Pas assez de $1 pour effectuer cette transaction",
- "description": "Tells the user that they don't have enough of a token for a proposed swap. $1 is a token symbol"
- },
"swapsNotEnoughToken": {
"message": "Pas assez de $1",
"description": "Tells the user that they don't have enough of a token for a proposed swap. $1 is a token symbol"
@@ -6055,14 +5998,6 @@
"verifyContractDetails": {
"message": "Vérifier les informations relatives aux tiers"
},
- "verifyThisTokenOn": {
- "message": "Vérifier ce jeton sur $1",
- "description": "Points the user to etherscan as a place they can verify information about a token. $1 is replaced with the translation for \"etherscan\""
- },
- "verifyThisUnconfirmedTokenOn": {
- "message": "Vérifiez ce jeton sur $1 et qu’il s’agit bien de celui que vous souhaitez échanger.",
- "description": "Points the user to etherscan as a place they can verify information about a token. $1 is replaced with the translation for \"etherscan\""
- },
"version": {
"message": "Version"
},
diff --git a/app/_locales/hi/messages.json b/app/_locales/hi/messages.json
index 7333626d1e30..0e624b4ba807 100644
--- a/app/_locales/hi/messages.json
+++ b/app/_locales/hi/messages.json
@@ -5192,10 +5192,6 @@
"swapAreYouStillThereDescription": {
"message": "जब आप जारी रखना चाहते हैं तो हम आपको लेटेस्ट उद्धरण दिखाने के लिए तैयार हैं"
},
- "swapBuildQuotePlaceHolderText": {
- "message": "$1 के मिलान वाले कोई भी टोकन उपलब्ध नहीं हैं",
- "description": "Tells the user that a given search string does not match any tokens in our token lists. $1 can be any string of text"
- },
"swapConfirmWithHwWallet": {
"message": "अपने hardware wallet से कन्फर्म करें"
},
@@ -5260,9 +5256,6 @@
"swapFetchingQuotesErrorTitle": {
"message": "उद्धरण प्राप्त करने में गड़बड़ी"
},
- "swapFetchingTokens": {
- "message": "टोकन प्राप्त किए जा रहे हैं..."
- },
"swapFromTo": {
"message": "$1 से $2 का स्वैप",
"description": "Tells a user that they need to confirm on their hardware wallet a swap of 2 tokens. $1 is a source token and $2 is a destination token"
@@ -5283,9 +5276,6 @@
"swapHighSlippage": {
"message": "अधिक स्लिपेज"
},
- "swapHighSlippageWarning": {
- "message": "स्लिपेज अमाउंट बहुत अधिक है।"
- },
"swapIncludesMMFee": {
"message": "$1% MetaMask फ़ीस शामिल है।",
"description": "Provides information about the fee that metamask takes for swaps. $1 is a decimal number."
@@ -5307,9 +5297,6 @@
"swapLowSlippage": {
"message": "कम स्लिपेज"
},
- "swapLowSlippageError": {
- "message": "ट्रांसेक्शन विफल हो सकता है, अधिकतम स्लिपेज बहुत कम है।"
- },
"swapMaxSlippage": {
"message": "अधिकतम स्लिपेज"
},
@@ -5344,9 +5331,6 @@
"message": "~$1% का मूल्य अंतर",
"description": "$1 is a number (ex: 1.23) that represents the price difference."
},
- "swapPriceImpactTooltip": {
- "message": "मूल्य प्रभाव, वर्तमान बाजार मूल्य और ट्रांसेक्शन निष्पादन के दौरान प्राप्त अमाउंट के बीच का अंतर है। मूल्य प्रभाव चलनिधि पूल के आकार के सापेक्ष आपके व्यापार के आकार का एक कार्य है।"
- },
"swapPriceUnavailableDescription": {
"message": "बाजार मूल्य डेटा की कमी के कारण मूल्य प्रभाव को निर्धारित नहीं किया जा सका। कृपया कन्फर्म करें कि आप स्वैप करने से पहले प्राप्त होने वाले टोकन की अमाउंट को लेकर सहज हैं।"
},
@@ -5393,12 +5377,6 @@
"swapRequestForQuotation": {
"message": "उद्धरण के लिए अनुरोध"
},
- "swapReviewSwap": {
- "message": "स्वैप की समीक्षा करें"
- },
- "swapSearchNameOrAddress": {
- "message": "नाम खोजें या ऐड्रेस पेस्ट करें"
- },
"swapSelect": {
"message": "चयन करें"
},
@@ -5431,9 +5409,6 @@
"swapSlippageLowTitle": {
"message": "कम स्लिपेज"
},
- "swapSlippageNegative": {
- "message": "स्लिपेज शून्य से अधिक या बराबर होना चाहिए"
- },
"swapSlippageNegativeDescription": {
"message": "स्लिपेज शून्य से अधिक या बराबर होना चाहिए"
},
@@ -5502,20 +5477,6 @@
"message": "$1 से $2 में स्वैप करें",
"description": "Used in the transaction display list to describe a swap. $1 and $2 are the symbols of tokens in involved in a swap."
},
- "swapTokenVerificationAddedManually": {
- "message": "इस टोकन को मैन्युअल रूप से जोड़ा गया है।"
- },
- "swapTokenVerificationMessage": {
- "message": "हमेशा $1 पर टोकन एड्रेस की कन्फर्म करें।",
- "description": "Points the user to Etherscan as a place they can verify information about a token. $1 is replaced with the translation for \"Etherscan\" followed by an info icon that shows more info on hover."
- },
- "swapTokenVerificationOnlyOneSource": {
- "message": "केवल 1 स्रोत पर वेरीफ़ाई।"
- },
- "swapTokenVerificationSources": {
- "message": "$1 स्रोतों पर वेरीफ़ाई।",
- "description": "Indicates the number of token information sources that recognize the symbol + address. $1 is a decimal number."
- },
"swapTokenVerifiedOn1SourceDescription": {
"message": "$1 केवल 1 स्रोत पर वेरीफ़ाई है। आगे बढ़ने से पहले इसे $2 पर वेरीफ़ाई करने पर विचार करें।",
"description": "$1 is a token name, $2 points the user to etherscan as a place they can verify information about a token. $1 is replaced with the translation for \"etherscan\""
@@ -5536,30 +5497,12 @@
"swapUnknown": {
"message": "अज्ञात"
},
- "swapVerifyTokenExplanation": {
- "message": "एकाधिक टोकन एक ही नाम और प्रतीक का इस्तेमाल कर सकते हैं। यह वेरीफ़ाई करने के लिए $1 देखें कि यह वही टोकन है, जिसकी आप तलाश कर रहे हैं।",
- "description": "This appears in a tooltip next to the verifyThisTokenOn message. It gives the user more information about why they should check the token on a block explorer. $1 will be the name or url of the block explorer, which will be the translation of 'etherscan' or a block explorer url specified for a custom network."
- },
- "swapYourTokenBalance": {
- "message": "$1 $2 स्वैप के लिए उपलब्ध है",
- "description": "Tells the user how much of a token they have in their balance. $1 is a decimal number amount of tokens, and $2 is a token symbol"
- },
"swapZeroSlippage": {
"message": "0% स्लिपेज"
},
- "swapsAdvancedOptions": {
- "message": "एडवांस्ड विकल्प"
- },
- "swapsExcessiveSlippageWarning": {
- "message": "स्लिपेज अमाउंट बहुत अधिक है और इस वजह से खराब दर होगी। कृपया अपने स्लिपेज टॉलरेंस को 15% से नीचे के वैल्यू तक कम करें।"
- },
"swapsMaxSlippage": {
"message": "स्लिपेज टॉलरेंस"
},
- "swapsNotEnoughForTx": {
- "message": "इस ट्रांसेक्शन को पूरा करने के लिए $1 कम है",
- "description": "Tells the user that they don't have enough of a token for a proposed swap. $1 is a token symbol"
- },
"swapsNotEnoughToken": {
"message": "$1 कम",
"description": "Tells the user that they don't have enough of a token for a proposed swap. $1 is a token symbol"
@@ -6055,14 +5998,6 @@
"verifyContractDetails": {
"message": "थर्ड-पार्टी विवरण वेरीफ़ाई करें"
},
- "verifyThisTokenOn": {
- "message": "इस टोकन को $1 पर वेरीफ़ाई करें",
- "description": "Points the user to etherscan as a place they can verify information about a token. $1 is replaced with the translation for \"etherscan\""
- },
- "verifyThisUnconfirmedTokenOn": {
- "message": "इस टोकन को $1 पर वेरीफ़ाई करें और पक्का करें कि यह वही टोकन है जिससे आप ट्रेड करना चाहते हैं।",
- "description": "Points the user to etherscan as a place they can verify information about a token. $1 is replaced with the translation for \"etherscan\""
- },
"version": {
"message": "वर्शन"
},
diff --git a/app/_locales/id/messages.json b/app/_locales/id/messages.json
index f2d8828e9226..68b52556c3f6 100644
--- a/app/_locales/id/messages.json
+++ b/app/_locales/id/messages.json
@@ -5192,10 +5192,6 @@
"swapAreYouStillThereDescription": {
"message": "Kami siap menampilkan kuotasi terbaru jika Anda ingin melanjutkan"
},
- "swapBuildQuotePlaceHolderText": {
- "message": "Tidak ada token yang cocok yang tersedia $1",
- "description": "Tells the user that a given search string does not match any tokens in our token lists. $1 can be any string of text"
- },
"swapConfirmWithHwWallet": {
"message": "Konfirmasikan dengan dompet perangkat keras Anda"
},
@@ -5260,9 +5256,6 @@
"swapFetchingQuotesErrorTitle": {
"message": "Terjadi kesalahan saat mengambil kuota"
},
- "swapFetchingTokens": {
- "message": "Mengambil token..."
- },
"swapFromTo": {
"message": "Pertukaran dari $1 ke $2",
"description": "Tells a user that they need to confirm on their hardware wallet a swap of 2 tokens. $1 is a source token and $2 is a destination token"
@@ -5283,9 +5276,6 @@
"swapHighSlippage": {
"message": "Selip tinggi"
},
- "swapHighSlippageWarning": {
- "message": "Jumlah slippage sangat tinggi."
- },
"swapIncludesMMFee": {
"message": "Termasuk $1% biaya MetaMask.",
"description": "Provides information about the fee that metamask takes for swaps. $1 is a decimal number."
@@ -5307,9 +5297,6 @@
"swapLowSlippage": {
"message": "Selip rendah"
},
- "swapLowSlippageError": {
- "message": "Transaksi berpotensi gagal, selip maks terlalu rendah."
- },
"swapMaxSlippage": {
"message": "Selipi maks"
},
@@ -5344,9 +5331,6 @@
"message": "Perbedaan harga ~$1%",
"description": "$1 is a number (ex: 1.23) that represents the price difference."
},
- "swapPriceImpactTooltip": {
- "message": "Dampak harga adalah selisih antara harga pasar saat ini dan jumlah yang diterima selama terjadinya transaksi. Dampak harga adalah fungsi ukuran dagang relatif terhadap ukuran pul likuiditas."
- },
"swapPriceUnavailableDescription": {
"message": "Dampak harga tidak dapat ditentukan karena kurangnya data harga pasar. Harap konfirmasi bahwa Anda setuju dengan jumlah token yang akan Anda terima sebelum penukaran."
},
@@ -5393,12 +5377,6 @@
"swapRequestForQuotation": {
"message": "Minta kuotasi"
},
- "swapReviewSwap": {
- "message": "Tinjau pertukaran"
- },
- "swapSearchNameOrAddress": {
- "message": "Cari nama atau tempel alamat"
- },
"swapSelect": {
"message": "Pilih"
},
@@ -5431,9 +5409,6 @@
"swapSlippageLowTitle": {
"message": "Selip rendah"
},
- "swapSlippageNegative": {
- "message": "Selip harus lebih besar atau sama dengan nol"
- },
"swapSlippageNegativeDescription": {
"message": "Selip harus lebih besar atau sama dengan nol"
},
@@ -5502,20 +5477,6 @@
"message": "Tukar $1 ke $2",
"description": "Used in the transaction display list to describe a swap. $1 and $2 are the symbols of tokens in involved in a swap."
},
- "swapTokenVerificationAddedManually": {
- "message": "Token ini telah ditambahkan secara manual."
- },
- "swapTokenVerificationMessage": {
- "message": "Selalu konfirmasikan alamat token di $1.",
- "description": "Points the user to Etherscan as a place they can verify information about a token. $1 is replaced with the translation for \"Etherscan\" followed by an info icon that shows more info on hover."
- },
- "swapTokenVerificationOnlyOneSource": {
- "message": "Hanya diverifikasi di 1 sumber."
- },
- "swapTokenVerificationSources": {
- "message": "Diverifikasi di $1 sumber.",
- "description": "Indicates the number of token information sources that recognize the symbol + address. $1 is a decimal number."
- },
"swapTokenVerifiedOn1SourceDescription": {
"message": "$1 hanya diverifikasi di 1 sumber. Pertimbangkan untuk memverifikasinya di $2 sebelum melanjutkan.",
"description": "$1 is a token name, $2 points the user to etherscan as a place they can verify information about a token. $1 is replaced with the translation for \"etherscan\""
@@ -5536,30 +5497,12 @@
"swapUnknown": {
"message": "Tidak diketahui"
},
- "swapVerifyTokenExplanation": {
- "message": "Beberapa token dapat menggunakan simbol dan nama yang sama. Periksa $1 untuk memverifikasi inilah token yang Anda cari.",
- "description": "This appears in a tooltip next to the verifyThisTokenOn message. It gives the user more information about why they should check the token on a block explorer. $1 will be the name or url of the block explorer, which will be the translation of 'etherscan' or a block explorer url specified for a custom network."
- },
- "swapYourTokenBalance": {
- "message": "$1 $2 tersedia untuk ditukar",
- "description": "Tells the user how much of a token they have in their balance. $1 is a decimal number amount of tokens, and $2 is a token symbol"
- },
"swapZeroSlippage": {
"message": "Selip 0%"
},
- "swapsAdvancedOptions": {
- "message": "Opsi lanjutan"
- },
- "swapsExcessiveSlippageWarning": {
- "message": "Jumlah selip terlalu tinggi dan akan mengakibatkan tarif yang buruk. Kurangi toleransi selip Anda ke nilai di bawah 15%."
- },
"swapsMaxSlippage": {
"message": "Toleransi selip"
},
- "swapsNotEnoughForTx": {
- "message": "$1 tidak cukup untuk menyelesaikan transaksi ini",
- "description": "Tells the user that they don't have enough of a token for a proposed swap. $1 is a token symbol"
- },
"swapsNotEnoughToken": {
"message": "$1 tidak cukup",
"description": "Tells the user that they don't have enough of a token for a proposed swap. $1 is a token symbol"
@@ -6055,14 +5998,6 @@
"verifyContractDetails": {
"message": "Verifikasikan detail pihak ketiga"
},
- "verifyThisTokenOn": {
- "message": "Verifikasikan token ini di $1",
- "description": "Points the user to etherscan as a place they can verify information about a token. $1 is replaced with the translation for \"etherscan\""
- },
- "verifyThisUnconfirmedTokenOn": {
- "message": "Verifikasikan token ini di $1 dan pastikan ini adalah token yang ingin Anda perdagangkan.",
- "description": "Points the user to etherscan as a place they can verify information about a token. $1 is replaced with the translation for \"etherscan\""
- },
"version": {
"message": "Versi"
},
diff --git a/app/_locales/it/messages.json b/app/_locales/it/messages.json
index 70e81c595852..4dac80c253b3 100644
--- a/app/_locales/it/messages.json
+++ b/app/_locales/it/messages.json
@@ -1387,10 +1387,6 @@
"message": "Devi avere $1 $2 in più per completare lo scambio",
"description": "Tells the user how many more of a given token they need for a specific swap. $1 is an amount of tokens and $2 is the token symbol."
},
- "swapBuildQuotePlaceHolderText": {
- "message": "Non ci sono token disponibile con questo nome $1",
- "description": "Tells the user that a given search string does not match any tokens in our token lists. $1 can be any string of text"
- },
"swapCustom": {
"message": "personalizza"
},
@@ -1419,12 +1415,6 @@
"swapFetchingQuotesErrorTitle": {
"message": "Errore recuperando le quotazioni"
},
- "swapFetchingTokens": {
- "message": "Recuperando i token..."
- },
- "swapLowSlippageError": {
- "message": "La transazione può fallire, il massimo slippage è troppo basso."
- },
"swapMaxSlippage": {
"message": "Slippage massimo"
},
@@ -1484,9 +1474,6 @@
"swapRequestForQuotation": {
"message": "Richiedi quotazione"
},
- "swapReviewSwap": {
- "message": "Verifica Scambio"
- },
"swapSelect": {
"message": "Selezione"
},
@@ -1519,44 +1506,15 @@
"message": "Scambia da $1 a $2",
"description": "Used in the transaction display list to describe a swap. $1 and $2 are the symbols of tokens in involved in a swap."
},
- "swapTokenVerificationMessage": {
- "message": "Verifica sempre l'indirizzo del token su $1.",
- "description": "Points the user to Etherscan as a place they can verify information about a token. $1 is replaced with the translation for \"Etherscan\" followed by an info icon that shows more info on hover."
- },
- "swapTokenVerificationOnlyOneSource": {
- "message": "Verificato solo su una fonte."
- },
- "swapTokenVerificationSources": {
- "message": "Verificato su $1 fonti.",
- "description": "Indicates the number of token information sources that recognize the symbol + address. $1 is a decimal number."
- },
"swapTransactionComplete": {
"message": "Transazione completata"
},
"swapUnknown": {
"message": "Sconosciuto"
},
- "swapVerifyTokenExplanation": {
- "message": "Più token possono usare lo stesso nome e simbolo. Verifica su $1 che questo sia il token che stai cercando.",
- "description": "This appears in a tooltip next to the verifyThisTokenOn message. It gives the user more information about why they should check the token on a block explorer. $1 will be the name or url of the block explorer, which will be the translation of 'etherscan' or a block explorer url specified for a custom network."
- },
- "swapYourTokenBalance": {
- "message": "$1 $2 disponibili allo scambio",
- "description": "Tells the user how much of a token they have in their balance. $1 is a decimal number amount of tokens, and $2 is a token symbol"
- },
- "swapsAdvancedOptions": {
- "message": "Impostazioni Avanzate"
- },
- "swapsExcessiveSlippageWarning": {
- "message": "L'importo di slippage è troppo alto e risulterà in una tariffa sconveniente. Riduci la tolleranza allo slippage ad un valore minore di 15%."
- },
"swapsMaxSlippage": {
"message": "Tolleranza Slippage"
},
- "swapsNotEnoughForTx": {
- "message": "Non hai abbastanza $1 per completare la transazione",
- "description": "Tells the user that they don't have enough of a token for a proposed swap. $1 is a token symbol"
- },
"swapsViewInActivity": {
"message": "Vedi in attività"
},
@@ -1691,10 +1649,6 @@
"userName": {
"message": "Nome utente"
},
- "verifyThisTokenOn": {
- "message": "Verifica questo token su $1",
- "description": "Points the user to etherscan as a place they can verify information about a token. $1 is replaced with the translation for \"etherscan\""
- },
"viewAllDetails": {
"message": "Vedi tutti i dettagli"
},
diff --git a/app/_locales/ja/messages.json b/app/_locales/ja/messages.json
index cadc1ab1e302..73f3f8300646 100644
--- a/app/_locales/ja/messages.json
+++ b/app/_locales/ja/messages.json
@@ -5192,10 +5192,6 @@
"swapAreYouStillThereDescription": {
"message": "続ける際には、最新のクォートを表示する準備ができています"
},
- "swapBuildQuotePlaceHolderText": {
- "message": "$1と一致するトークンがありません",
- "description": "Tells the user that a given search string does not match any tokens in our token lists. $1 can be any string of text"
- },
"swapConfirmWithHwWallet": {
"message": "ハードウェアウォレットで確定"
},
@@ -5260,9 +5256,6 @@
"swapFetchingQuotesErrorTitle": {
"message": "見積もり取得エラー"
},
- "swapFetchingTokens": {
- "message": "トークンを取得中..."
- },
"swapFromTo": {
"message": "$1から$2へのスワップ",
"description": "Tells a user that they need to confirm on their hardware wallet a swap of 2 tokens. $1 is a source token and $2 is a destination token"
@@ -5283,9 +5276,6 @@
"swapHighSlippage": {
"message": "高スリッページ"
},
- "swapHighSlippageWarning": {
- "message": "スリッページが非常に大きいです。"
- },
"swapIncludesMMFee": {
"message": "$1%のMetaMask手数料が含まれています。",
"description": "Provides information about the fee that metamask takes for swaps. $1 is a decimal number."
@@ -5307,9 +5297,6 @@
"swapLowSlippage": {
"message": "低スリッページ"
},
- "swapLowSlippageError": {
- "message": "トランザクションが失敗する可能性があります。最大スリッページが低すぎます。"
- },
"swapMaxSlippage": {
"message": "最大スリッページ"
},
@@ -5344,9 +5331,6 @@
"message": "最大$1%の価格差",
"description": "$1 is a number (ex: 1.23) that represents the price difference."
},
- "swapPriceImpactTooltip": {
- "message": "プライスインパクトとは、現在の市場価格と取引の約定時に受け取る金額の差のことです。プライスインパクトは、流動性プールに対する取引の大きさにより発生します。"
- },
"swapPriceUnavailableDescription": {
"message": "市場価格のデータが不足しているため、プライスインパクトを測定できませんでした。スワップする前に、これから受領するトークンの額に問題がないか確認してください。"
},
@@ -5393,12 +5377,6 @@
"swapRequestForQuotation": {
"message": "見積もりのリクエスト"
},
- "swapReviewSwap": {
- "message": "スワップの確認"
- },
- "swapSearchNameOrAddress": {
- "message": "名前を検索するかアドレスを貼り付けてください"
- },
"swapSelect": {
"message": "選択"
},
@@ -5431,9 +5409,6 @@
"swapSlippageLowTitle": {
"message": "低スリッページ"
},
- "swapSlippageNegative": {
- "message": "スリッページは0以上でなければなりません。"
- },
"swapSlippageNegativeDescription": {
"message": "スリッページは0以上でなければなりません"
},
@@ -5502,20 +5477,6 @@
"message": "$1を$2にスワップ",
"description": "Used in the transaction display list to describe a swap. $1 and $2 are the symbols of tokens in involved in a swap."
},
- "swapTokenVerificationAddedManually": {
- "message": "このトークンは手動で追加されました。"
- },
- "swapTokenVerificationMessage": {
- "message": "常に$1のトークンアドレスを確認してください。",
- "description": "Points the user to Etherscan as a place they can verify information about a token. $1 is replaced with the translation for \"Etherscan\" followed by an info icon that shows more info on hover."
- },
- "swapTokenVerificationOnlyOneSource": {
- "message": "1つのソースでのみ検証済みです。"
- },
- "swapTokenVerificationSources": {
- "message": "$1個のソースで検証済みです。",
- "description": "Indicates the number of token information sources that recognize the symbol + address. $1 is a decimal number."
- },
"swapTokenVerifiedOn1SourceDescription": {
"message": "$1は1つのソースでしか検証されていません。進める前に$2で検証することをご検討ください。",
"description": "$1 is a token name, $2 points the user to etherscan as a place they can verify information about a token. $1 is replaced with the translation for \"etherscan\""
@@ -5536,30 +5497,12 @@
"swapUnknown": {
"message": "不明"
},
- "swapVerifyTokenExplanation": {
- "message": "複数のトークンで同じ名前とシンボルを使用できます。$1をチェックして、これが探しているトークンであることを確認してください。",
- "description": "This appears in a tooltip next to the verifyThisTokenOn message. It gives the user more information about why they should check the token on a block explorer. $1 will be the name or url of the block explorer, which will be the translation of 'etherscan' or a block explorer url specified for a custom network."
- },
- "swapYourTokenBalance": {
- "message": "$1 $2がスワップに使用可能です",
- "description": "Tells the user how much of a token they have in their balance. $1 is a decimal number amount of tokens, and $2 is a token symbol"
- },
"swapZeroSlippage": {
"message": "0%スリッページ"
},
- "swapsAdvancedOptions": {
- "message": "詳細オプション"
- },
- "swapsExcessiveSlippageWarning": {
- "message": "スリッページ額が非常に大きいので、レートが不利になります。最大スリッページを15%未満の値に減らしてください。"
- },
"swapsMaxSlippage": {
"message": "最大スリッページ"
},
- "swapsNotEnoughForTx": {
- "message": "トランザクションを完了させるには、$1が不足しています",
- "description": "Tells the user that they don't have enough of a token for a proposed swap. $1 is a token symbol"
- },
"swapsNotEnoughToken": {
"message": "$1が不足しています",
"description": "Tells the user that they don't have enough of a token for a proposed swap. $1 is a token symbol"
@@ -6055,14 +5998,6 @@
"verifyContractDetails": {
"message": "サードパーティの詳細を確認"
},
- "verifyThisTokenOn": {
- "message": "このトークンを$1で検証",
- "description": "Points the user to etherscan as a place they can verify information about a token. $1 is replaced with the translation for \"etherscan\""
- },
- "verifyThisUnconfirmedTokenOn": {
- "message": "このトークンを$1で検証して、取引したいトークンであることを確認してください。",
- "description": "Points the user to etherscan as a place they can verify information about a token. $1 is replaced with the translation for \"etherscan\""
- },
"version": {
"message": "バージョン"
},
diff --git a/app/_locales/ko/messages.json b/app/_locales/ko/messages.json
index 760ad7df43dc..be1de55c51c7 100644
--- a/app/_locales/ko/messages.json
+++ b/app/_locales/ko/messages.json
@@ -5192,10 +5192,6 @@
"swapAreYouStillThereDescription": {
"message": "계속하기 원하시면 최신 견적을 보여드리겠습니다"
},
- "swapBuildQuotePlaceHolderText": {
- "message": "$1와(과) 일치하는 토큰이 없습니다.",
- "description": "Tells the user that a given search string does not match any tokens in our token lists. $1 can be any string of text"
- },
"swapConfirmWithHwWallet": {
"message": "하드웨어 지갑으로 컨펌합니다."
},
@@ -5260,9 +5256,6 @@
"swapFetchingQuotesErrorTitle": {
"message": "견적을 가져오는 중 오류 발생"
},
- "swapFetchingTokens": {
- "message": "토큰 가져오는 중..."
- },
"swapFromTo": {
"message": "$1을(를) $2(으)로 스왑",
"description": "Tells a user that they need to confirm on their hardware wallet a swap of 2 tokens. $1 is a source token and $2 is a destination token"
@@ -5283,9 +5276,6 @@
"swapHighSlippage": {
"message": "높은 슬리피지"
},
- "swapHighSlippageWarning": {
- "message": "슬리패지 금액이 아주 큽니다."
- },
"swapIncludesMMFee": {
"message": "$1%의 MetaMask 요금이 포함됩니다.",
"description": "Provides information about the fee that metamask takes for swaps. $1 is a decimal number."
@@ -5307,9 +5297,6 @@
"swapLowSlippage": {
"message": "낮은 슬리피지"
},
- "swapLowSlippageError": {
- "message": "트랜잭션이 실패할 수도 있습니다. 최대 슬리패지가 너무 낮습니다."
- },
"swapMaxSlippage": {
"message": "최대 슬리패지"
},
@@ -5344,9 +5331,6 @@
"message": "~$1%의 가격 차이",
"description": "$1 is a number (ex: 1.23) that represents the price difference."
},
- "swapPriceImpactTooltip": {
- "message": "가격 영향은 현재 시장 가격과 트랜잭션 실행 도중 받은 금액 사이의 차이입니다. 가격 영향은 유동성 풀의 크기 대비 트랜잭션의 크기를 나타내는 함수입니다."
- },
"swapPriceUnavailableDescription": {
"message": "시장 가격 데이터가 부족하여 가격 영향을 파악할 수 없습니다. 스왑하기 전에 받게 될 토큰 수가 만족스러운지 컨펌하시기 바랍니다."
},
@@ -5393,12 +5377,6 @@
"swapRequestForQuotation": {
"message": "견적 요청"
},
- "swapReviewSwap": {
- "message": "스왑 검토"
- },
- "swapSearchNameOrAddress": {
- "message": "이름 검색 또는 주소 붙여넣기"
- },
"swapSelect": {
"message": "선택"
},
@@ -5431,9 +5409,6 @@
"swapSlippageLowTitle": {
"message": "낮은 슬리피지"
},
- "swapSlippageNegative": {
- "message": "슬리패지는 0보다 크거나 같아야 합니다."
- },
"swapSlippageNegativeDescription": {
"message": "슬리피지는 0보다 크거나 같아야 합니다."
},
@@ -5502,20 +5477,6 @@
"message": "$1에서 $2(으)로 스왑",
"description": "Used in the transaction display list to describe a swap. $1 and $2 are the symbols of tokens in involved in a swap."
},
- "swapTokenVerificationAddedManually": {
- "message": "이 토큰은 직접 추가되었습니다."
- },
- "swapTokenVerificationMessage": {
- "message": "항상 $1에서 토큰 주소를 컨펌하세요.",
- "description": "Points the user to Etherscan as a place they can verify information about a token. $1 is replaced with the translation for \"Etherscan\" followed by an info icon that shows more info on hover."
- },
- "swapTokenVerificationOnlyOneSource": {
- "message": "1개의 소스에서만 확인됩니다."
- },
- "swapTokenVerificationSources": {
- "message": "$1개 소스에서 확인되었습니다.",
- "description": "Indicates the number of token information sources that recognize the symbol + address. $1 is a decimal number."
- },
"swapTokenVerifiedOn1SourceDescription": {
"message": "$1 토큰은 1 소스에서만 확인됩니다. 계속 진행하기 전에 $2에서도 확인하세요.",
"description": "$1 is a token name, $2 points the user to etherscan as a place they can verify information about a token. $1 is replaced with the translation for \"etherscan\""
@@ -5536,30 +5497,12 @@
"swapUnknown": {
"message": "알 수 없음"
},
- "swapVerifyTokenExplanation": {
- "message": "여러 토큰이 같은 이름과 기호를 사용할 수 있습니다. $1에서 원하는 토큰인지 확인하세요.",
- "description": "This appears in a tooltip next to the verifyThisTokenOn message. It gives the user more information about why they should check the token on a block explorer. $1 will be the name or url of the block explorer, which will be the translation of 'etherscan' or a block explorer url specified for a custom network."
- },
- "swapYourTokenBalance": {
- "message": "$1 $2 스왑 가능",
- "description": "Tells the user how much of a token they have in their balance. $1 is a decimal number amount of tokens, and $2 is a token symbol"
- },
"swapZeroSlippage": {
"message": "0% 슬리패지"
},
- "swapsAdvancedOptions": {
- "message": "고급 옵션"
- },
- "swapsExcessiveSlippageWarning": {
- "message": "슬리패지 금액이 너무 커서 전환율이 좋지 않습니다. 슬리패지 허용치를 15% 값 이하로 줄이세요."
- },
"swapsMaxSlippage": {
"message": "슬리피지 허용치"
},
- "swapsNotEnoughForTx": {
- "message": "$1이(가) 부족하여 이 트랜잭션을 완료할 수 없습니다.",
- "description": "Tells the user that they don't have enough of a token for a proposed swap. $1 is a token symbol"
- },
"swapsNotEnoughToken": {
"message": "$1 부족",
"description": "Tells the user that they don't have enough of a token for a proposed swap. $1 is a token symbol"
@@ -6055,14 +5998,6 @@
"verifyContractDetails": {
"message": "타사 세부 정보 확인"
},
- "verifyThisTokenOn": {
- "message": "$1에서 이 토큰 확인",
- "description": "Points the user to etherscan as a place they can verify information about a token. $1 is replaced with the translation for \"etherscan\""
- },
- "verifyThisUnconfirmedTokenOn": {
- "message": "$1에서 이 토큰이 트랜잭션할 토큰이 맞는지 확인하세요.",
- "description": "Points the user to etherscan as a place they can verify information about a token. $1 is replaced with the translation for \"etherscan\""
- },
"version": {
"message": "버전"
},
diff --git a/app/_locales/ph/messages.json b/app/_locales/ph/messages.json
index e12eb4379cf1..1687cb7818f0 100644
--- a/app/_locales/ph/messages.json
+++ b/app/_locales/ph/messages.json
@@ -1268,10 +1268,6 @@
"message": "Kailangan mo ng $1 pa $2 para makumpleto ang pag-swap na ito",
"description": "Tells the user how many more of a given token they need for a specific swap. $1 is an amount of tokens and $2 is the token symbol."
},
- "swapBuildQuotePlaceHolderText": {
- "message": "Walang available na token na tumutugma sa $1",
- "description": "Tells the user that a given search string does not match any tokens in our token lists. $1 can be any string of text"
- },
"swapConfirmWithHwWallet": {
"message": "Kumpirmahin ang iyong hardware wallet"
},
@@ -1313,9 +1309,6 @@
"swapFetchingQuotesErrorTitle": {
"message": "Nagka-error sa pagkuha ng mga quote"
},
- "swapFetchingTokens": {
- "message": "Kinukuha ang mga token..."
- },
"swapFromTo": {
"message": "Ang pag-swap ng $1 sa $2",
"description": "Tells a user that they need to confirm on their hardware wallet a swap of 2 tokens. $1 is a source token and $2 is a destination token"
@@ -1323,12 +1316,6 @@
"swapGasFeesSplit": {
"message": "Hahatiin sa pagitan ng dalawang transaksyon na ito ang mga bayarin sa gas sa nakaraang screen."
},
- "swapHighSlippageWarning": {
- "message": "Sobrang laki ng halaga ng slippage."
- },
- "swapLowSlippageError": {
- "message": "Posibleng hindi magtagumpay ang transaksyon, masyadong mababa ang max na slippage."
- },
"swapMaxSlippage": {
"message": "Max na slippage"
},
@@ -1355,9 +1342,6 @@
"message": "Kaibahan sa presyo na ~$1%",
"description": "$1 is a number (ex: 1.23) that represents the price difference."
},
- "swapPriceImpactTooltip": {
- "message": "Ang epekto sa presyo ay ang pagkakaiba sa kasalukuyang presyo sa merkado at sa halagang natanggap sa pag-execute ng transaksyon. Ang epekto sa presyo ay isang function ng laki ng iyong trade kumpara sa laki ng liquidity pool."
- },
"swapPriceUnavailableDescription": {
"message": "Hindi natukoy ang epekto sa presyo dahil sa kakulangan ng data sa presyo sa merkado. Pakikumpirma na kumportable ka sa dami ng mga token na matatanggap mo bago makipag-swap."
},
@@ -1397,9 +1381,6 @@
"swapRequestForQuotation": {
"message": "Mag-request ng quotation"
},
- "swapReviewSwap": {
- "message": "Suriin ang Pag-swap"
- },
"swapSelect": {
"message": "Piliin"
},
@@ -1412,9 +1393,6 @@
"swapSelectQuotePopoverDescription": {
"message": "Makikita sa ibaba ang lahat ng quote na nakuha mula sa maraming pinagkukunan ng liquidity."
},
- "swapSlippageNegative": {
- "message": "Dapat ay mas malaki sa o katumbas ng zero ang slippage"
- },
"swapSource": {
"message": "Pinagkunan ng liquidity"
},
@@ -1442,20 +1420,6 @@
"message": "I-swap ang $1 sa $2",
"description": "Used in the transaction display list to describe a swap. $1 and $2 are the symbols of tokens in involved in a swap."
},
- "swapTokenVerificationAddedManually": {
- "message": "Manual na idinagdag ang token na ito."
- },
- "swapTokenVerificationMessage": {
- "message": "Palaging kumpirmahin ang address ng token sa $1.",
- "description": "Points the user to Etherscan as a place they can verify information about a token. $1 is replaced with the translation for \"Etherscan\" followed by an info icon that shows more info on hover."
- },
- "swapTokenVerificationOnlyOneSource": {
- "message": "Na-verify lang sa 1 source."
- },
- "swapTokenVerificationSources": {
- "message": "Na-verify sa $1 source.",
- "description": "Indicates the number of token information sources that recognize the symbol + address. $1 is a decimal number."
- },
"swapTransactionComplete": {
"message": "Nakumpleto ang transaksyon"
},
@@ -1465,30 +1429,12 @@
"swapUnknown": {
"message": "Hindi Alam"
},
- "swapVerifyTokenExplanation": {
- "message": "Maaaring gamitin ng maraming token ang iisang pangalan at simbolo. Suriin ang $1 para ma-verify na ito ang token na hinahanap mo.",
- "description": "This appears in a tooltip next to the verifyThisTokenOn message. It gives the user more information about why they should check the token on a block explorer. $1 will be the name or url of the block explorer, which will be the translation of 'etherscan' or a block explorer url specified for a custom network."
- },
- "swapYourTokenBalance": {
- "message": "Available ang $1 $2 na i-swap",
- "description": "Tells the user how much of a token they have in their balance. $1 is a decimal number amount of tokens, and $2 is a token symbol"
- },
"swapZeroSlippage": {
"message": "0% Slippage"
},
- "swapsAdvancedOptions": {
- "message": "Mga Advanced na Opsyon"
- },
- "swapsExcessiveSlippageWarning": {
- "message": "Masyadong mataas ang halaga ng slippage at magreresulta ito sa masamang rating. Pakibabaan ang iyong tolerance ng slippage sa value na mas mababa sa 15%."
- },
"swapsMaxSlippage": {
"message": "Tolerance ng Slippage"
},
- "swapsNotEnoughForTx": {
- "message": "Hindi sapat ang $1 para makumpleto ang transaksyong ito",
- "description": "Tells the user that they don't have enough of a token for a proposed swap. $1 is a token symbol"
- },
"swapsViewInActivity": {
"message": "Tingnan sa aktibidad"
},
@@ -1648,14 +1594,6 @@
"userName": {
"message": "Username"
},
- "verifyThisTokenOn": {
- "message": "I-verify ang token na ito sa $1",
- "description": "Points the user to etherscan as a place they can verify information about a token. $1 is replaced with the translation for \"etherscan\""
- },
- "verifyThisUnconfirmedTokenOn": {
- "message": "I-verify ang token na ito sa $1 at tiyaking ito ang token na gusto mong i-trade.",
- "description": "Points the user to etherscan as a place they can verify information about a token. $1 is replaced with the translation for \"etherscan\""
- },
"viewAllDetails": {
"message": "Tingnan ang lahat ng detalye"
},
diff --git a/app/_locales/pt/messages.json b/app/_locales/pt/messages.json
index 06c9fbe38adf..656733cecf65 100644
--- a/app/_locales/pt/messages.json
+++ b/app/_locales/pt/messages.json
@@ -5192,10 +5192,6 @@
"swapAreYouStillThereDescription": {
"message": "Estamos prontos para exibir as últimas cotações quando quiser continuar"
},
- "swapBuildQuotePlaceHolderText": {
- "message": "Nenhum token disponível correspondente a $1",
- "description": "Tells the user that a given search string does not match any tokens in our token lists. $1 can be any string of text"
- },
"swapConfirmWithHwWallet": {
"message": "Confirme com sua carteira de hardware"
},
@@ -5260,9 +5256,6 @@
"swapFetchingQuotesErrorTitle": {
"message": "Erro ao obter cotações"
},
- "swapFetchingTokens": {
- "message": "Obtendo tokens..."
- },
"swapFromTo": {
"message": "A troca de $1 por $2",
"description": "Tells a user that they need to confirm on their hardware wallet a swap of 2 tokens. $1 is a source token and $2 is a destination token"
@@ -5283,9 +5276,6 @@
"swapHighSlippage": {
"message": "Slippage alto"
},
- "swapHighSlippageWarning": {
- "message": "O valor de slippage está muito alto."
- },
"swapIncludesMMFee": {
"message": "Inclui uma taxa de $1% da MetaMask.",
"description": "Provides information about the fee that metamask takes for swaps. $1 is a decimal number."
@@ -5307,9 +5297,6 @@
"swapLowSlippage": {
"message": "Slippage baixo"
},
- "swapLowSlippageError": {
- "message": "A transação pode falhar; o slippage máximo está baixo demais."
- },
"swapMaxSlippage": {
"message": "Slippage máximo"
},
@@ -5344,9 +5331,6 @@
"message": "Diferença de preço de aproximadamente $1%",
"description": "$1 is a number (ex: 1.23) that represents the price difference."
},
- "swapPriceImpactTooltip": {
- "message": "O impacto do preço é a diferença entre o preço de mercado atual e o valor recebido quando é executada a transação. O impacto do preço é resultado do tamanho da sua transação relativo ao tamanho do pool de liquidez."
- },
"swapPriceUnavailableDescription": {
"message": "O impacto no preço não pôde ser determinado devido à ausência de dados sobre o preço de mercado. Confirme que você está satisfeito com a quantidade de tokens que você está prestes a receber antes de fazer a troca."
},
@@ -5393,12 +5377,6 @@
"swapRequestForQuotation": {
"message": "Solicitação de cotação"
},
- "swapReviewSwap": {
- "message": "Revisar troca"
- },
- "swapSearchNameOrAddress": {
- "message": "Pesquise o nome ou cole o endereço"
- },
"swapSelect": {
"message": "Selecione"
},
@@ -5431,9 +5409,6 @@
"swapSlippageLowTitle": {
"message": "Slippage baixo"
},
- "swapSlippageNegative": {
- "message": "O slippage deve ser maior ou igual a zero"
- },
"swapSlippageNegativeDescription": {
"message": "O slippage deve ser maior ou igual a zero"
},
@@ -5502,20 +5477,6 @@
"message": "Trocar $1 por $2",
"description": "Used in the transaction display list to describe a swap. $1 and $2 are the symbols of tokens in involved in a swap."
},
- "swapTokenVerificationAddedManually": {
- "message": "Esse token foi adicionado manualmente."
- },
- "swapTokenVerificationMessage": {
- "message": "Sempre confirme o endereço do token no $1.",
- "description": "Points the user to Etherscan as a place they can verify information about a token. $1 is replaced with the translation for \"Etherscan\" followed by an info icon that shows more info on hover."
- },
- "swapTokenVerificationOnlyOneSource": {
- "message": "Verificado somente em 1 fonte."
- },
- "swapTokenVerificationSources": {
- "message": "Verificado em $1 fontes.",
- "description": "Indicates the number of token information sources that recognize the symbol + address. $1 is a decimal number."
- },
"swapTokenVerifiedOn1SourceDescription": {
"message": "$1 só foi verificado em 1 fonte. Considere verificá-lo em $2 antes de prosseguir.",
"description": "$1 is a token name, $2 points the user to etherscan as a place they can verify information about a token. $1 is replaced with the translation for \"etherscan\""
@@ -5536,30 +5497,12 @@
"swapUnknown": {
"message": "Desconhecido"
},
- "swapVerifyTokenExplanation": {
- "message": "Vários tokens podem usar o mesmo nome e símbolo. Confira $1 para verificar se esse é o token que você está buscando.",
- "description": "This appears in a tooltip next to the verifyThisTokenOn message. It gives the user more information about why they should check the token on a block explorer. $1 will be the name or url of the block explorer, which will be the translation of 'etherscan' or a block explorer url specified for a custom network."
- },
- "swapYourTokenBalance": {
- "message": "$1 $2 disponível para troca",
- "description": "Tells the user how much of a token they have in their balance. $1 is a decimal number amount of tokens, and $2 is a token symbol"
- },
"swapZeroSlippage": {
"message": "0% de slippage"
},
- "swapsAdvancedOptions": {
- "message": "Opções avançadas"
- },
- "swapsExcessiveSlippageWarning": {
- "message": "O valor de slippage está muito alto e resultará em uma taxa ruim. Reduza sua tolerância a slippage para um valor inferior a 15%."
- },
"swapsMaxSlippage": {
"message": "Tolerância a slippage"
},
- "swapsNotEnoughForTx": {
- "message": "Não há $1 suficiente para concluir essa transação",
- "description": "Tells the user that they don't have enough of a token for a proposed swap. $1 is a token symbol"
- },
"swapsNotEnoughToken": {
"message": "$1 insuficiente",
"description": "Tells the user that they don't have enough of a token for a proposed swap. $1 is a token symbol"
@@ -6055,14 +5998,6 @@
"verifyContractDetails": {
"message": "Verificar dados do terceiro"
},
- "verifyThisTokenOn": {
- "message": "Verifique esse token no $1",
- "description": "Points the user to etherscan as a place they can verify information about a token. $1 is replaced with the translation for \"etherscan\""
- },
- "verifyThisUnconfirmedTokenOn": {
- "message": "Verifique esse token no $1 e confirme que é o token que você deseja negociar.",
- "description": "Points the user to etherscan as a place they can verify information about a token. $1 is replaced with the translation for \"etherscan\""
- },
"version": {
"message": "Versão"
},
diff --git a/app/_locales/pt_BR/messages.json b/app/_locales/pt_BR/messages.json
index 2becf1c495a1..6062013d6d6f 100644
--- a/app/_locales/pt_BR/messages.json
+++ b/app/_locales/pt_BR/messages.json
@@ -1894,10 +1894,6 @@
"message": "Você precisa de mais $1 $2 para concluir essa troca",
"description": "Tells the user how many more of a given token they need for a specific swap. $1 is an amount of tokens and $2 is the token symbol."
},
- "swapBuildQuotePlaceHolderText": {
- "message": "Nenhum token disponível correspondente a $1",
- "description": "Tells the user that a given search string does not match any tokens in our token lists. $1 can be any string of text"
- },
"swapConfirmWithHwWallet": {
"message": "Confirme com sua carteira de hardware"
},
@@ -1949,9 +1945,6 @@
"swapFetchingQuotesErrorTitle": {
"message": "Erro ao obter cotações"
},
- "swapFetchingTokens": {
- "message": "Obtendo tokens..."
- },
"swapFromTo": {
"message": "A troca de $1 para $2",
"description": "Tells a user that they need to confirm on their hardware wallet a swap of 2 tokens. $1 is a source token and $2 is a destination token"
@@ -1969,16 +1962,10 @@
"message": "As taxas de gás são pagas aos mineradores de criptoativos que processam as transações na rede de $1. A MetaMask não lucra com taxas de gás.",
"description": "$1 is the selected network, e.g. Ethereum or BSC"
},
- "swapHighSlippageWarning": {
- "message": "O valor de slippage está muito alto."
- },
"swapIncludesMMFee": {
"message": "Inclui uma taxa de $1% da MetaMask.",
"description": "Provides information about the fee that metamask takes for swaps. $1 is a decimal number."
},
- "swapLowSlippageError": {
- "message": "A transação pode falhar; o slippage máximo está baixo demais."
- },
"swapMaxSlippage": {
"message": "Slippage máximo"
},
@@ -2009,9 +1996,6 @@
"message": "Diferença de preço de aproximadamente $1%",
"description": "$1 is a number (ex: 1.23) that represents the price difference."
},
- "swapPriceImpactTooltip": {
- "message": "O impacto no preço é a diferença entre o preço de mercado atual e o valor recebido durante a execução da transação. O impacto no preço é uma função do porte da sua operação em relação ao porte do pool de liquidez."
- },
"swapPriceUnavailableDescription": {
"message": "O impacto no preço não pôde ser determinado devido à ausência de dados sobre o preço de mercado. Confirme que você está satisfeito com a quantidade de tokens que você está prestes a receber antes de fazer a troca."
},
@@ -2051,9 +2035,6 @@
"swapRequestForQuotation": {
"message": "Solicitação de cotação"
},
- "swapReviewSwap": {
- "message": "Revisar troca"
- },
"swapSelect": {
"message": "Selecione"
},
@@ -2066,9 +2047,6 @@
"swapSelectQuotePopoverDescription": {
"message": "Abaixo estão todas as cotações reunidas de diversas fontes de liquidez."
},
- "swapSlippageNegative": {
- "message": "O slippage deve ser maior ou igual a zero"
- },
"swapSource": {
"message": "Fonte de liquidez"
},
@@ -2102,20 +2080,6 @@
"message": "Trocar $1 por $2",
"description": "Used in the transaction display list to describe a swap. $1 and $2 are the symbols of tokens in involved in a swap."
},
- "swapTokenVerificationAddedManually": {
- "message": "Este token foi adicionado manualmente."
- },
- "swapTokenVerificationMessage": {
- "message": "Sempre confirme o endereço do token no $1.",
- "description": "Points the user to Etherscan as a place they can verify information about a token. $1 is replaced with the translation for \"Etherscan\" followed by an info icon that shows more info on hover."
- },
- "swapTokenVerificationOnlyOneSource": {
- "message": "Verificado somente em 1 fonte."
- },
- "swapTokenVerificationSources": {
- "message": "Verificado em $1 fontes.",
- "description": "Indicates the number of token information sources that recognize the symbol + address. $1 is a decimal number."
- },
"swapTooManyDecimalsError": {
"message": "$1 permite até $2 decimais",
"description": "$1 is a token symbol and $2 is the max. number of decimals allowed for the token"
@@ -2129,30 +2093,12 @@
"swapUnknown": {
"message": "Desconhecido"
},
- "swapVerifyTokenExplanation": {
- "message": "Vários tokens podem usar o mesmo nome e símbolo. Confira $1 para verificar se esse é o token que você está buscando.",
- "description": "This appears in a tooltip next to the verifyThisTokenOn message. It gives the user more information about why they should check the token on a block explorer. $1 will be the name or url of the block explorer, which will be the translation of 'etherscan' or a block explorer url specified for a custom network."
- },
- "swapYourTokenBalance": {
- "message": "$1 $2 disponível para troca",
- "description": "Tells the user how much of a token they have in their balance. $1 is a decimal number amount of tokens, and $2 is a token symbol"
- },
"swapZeroSlippage": {
"message": "0% de slippage"
},
- "swapsAdvancedOptions": {
- "message": "Opções avançadas"
- },
- "swapsExcessiveSlippageWarning": {
- "message": "O valor de slippage está muito alto e resultará em uma taxa ruim. Reduza sua tolerância a slippage para um valor inferior a 15%."
- },
"swapsMaxSlippage": {
"message": "Tolerância a slippage"
},
- "swapsNotEnoughForTx": {
- "message": "Não há $1 suficiente para concluir essa transação",
- "description": "Tells the user that they don't have enough of a token for a proposed swap. $1 is a token symbol"
- },
"swapsViewInActivity": {
"message": "Ver na atividade"
},
@@ -2389,14 +2335,6 @@
"userName": {
"message": "Nome de usuário"
},
- "verifyThisTokenOn": {
- "message": "Verifique esse token no $1",
- "description": "Points the user to etherscan as a place they can verify information about a token. $1 is replaced with the translation for \"etherscan\""
- },
- "verifyThisUnconfirmedTokenOn": {
- "message": "Verifique esse token no $1 e confirme que é o token que você deseja negociar.",
- "description": "Points the user to etherscan as a place they can verify information about a token. $1 is replaced with the translation for \"etherscan\""
- },
"viewAllDetails": {
"message": "Ver todos os detalhes"
},
diff --git a/app/_locales/ru/messages.json b/app/_locales/ru/messages.json
index 2308eb10721e..0c2f92821ed2 100644
--- a/app/_locales/ru/messages.json
+++ b/app/_locales/ru/messages.json
@@ -5192,10 +5192,6 @@
"swapAreYouStillThereDescription": {
"message": "Мы готовы показать вам последние котировки, когда вы захотите продолжить"
},
- "swapBuildQuotePlaceHolderText": {
- "message": "Нет доступных токенов, соответствующих $1",
- "description": "Tells the user that a given search string does not match any tokens in our token lists. $1 can be any string of text"
- },
"swapConfirmWithHwWallet": {
"message": "Подтвердите с помощью аппаратного кошелька"
},
@@ -5260,9 +5256,6 @@
"swapFetchingQuotesErrorTitle": {
"message": "Ошибка при получении котировок"
},
- "swapFetchingTokens": {
- "message": "Получение токенов..."
- },
"swapFromTo": {
"message": "Своп $1 на $2",
"description": "Tells a user that they need to confirm on their hardware wallet a swap of 2 tokens. $1 is a source token and $2 is a destination token"
@@ -5283,9 +5276,6 @@
"swapHighSlippage": {
"message": "Высокое проскальзывание"
},
- "swapHighSlippageWarning": {
- "message": "Сумма проскальзывания очень велика."
- },
"swapIncludesMMFee": {
"message": "Включает комиссию MetaMask в размере $1%.",
"description": "Provides information about the fee that metamask takes for swaps. $1 is a decimal number."
@@ -5307,9 +5297,6 @@
"swapLowSlippage": {
"message": "Низкое проскальзывание"
},
- "swapLowSlippageError": {
- "message": "Возможно, не удастся выполнить транзакцию. Ммаксимальное проскальзывание слишком низкое."
- },
"swapMaxSlippage": {
"message": "Максимальное проскальзывание"
},
@@ -5344,9 +5331,6 @@
"message": "Разница в цене составляет ~$1%",
"description": "$1 is a number (ex: 1.23) that represents the price difference."
},
- "swapPriceImpactTooltip": {
- "message": "Колебание цены — это разница между текущей рыночной ценой и суммой, полученной во время исполнения транзакции. Колебание цены зависит от соотношения размера вашей сделки и размера пула ликвидности."
- },
"swapPriceUnavailableDescription": {
"message": "Не удалось определить колебание цены из-за отсутствия данных о рыночных ценах. Перед свопом убедитесь, что вас устраивает количество токенов, которое вы получите."
},
@@ -5393,12 +5377,6 @@
"swapRequestForQuotation": {
"message": "Запрос котировки"
},
- "swapReviewSwap": {
- "message": "Проверить своп"
- },
- "swapSearchNameOrAddress": {
- "message": "Выполните поиск по имени или вставьте адрес"
- },
"swapSelect": {
"message": "Выбрать"
},
@@ -5431,9 +5409,6 @@
"swapSlippageLowTitle": {
"message": "Низкое проскальзывание"
},
- "swapSlippageNegative": {
- "message": "Проскальзывание должно быть больше нуля или равно нулю"
- },
"swapSlippageNegativeDescription": {
"message": "Проскальзывание должно быть больше или равно нулю"
},
@@ -5502,20 +5477,6 @@
"message": "Выполнить своп $1 на $2",
"description": "Used in the transaction display list to describe a swap. $1 and $2 are the symbols of tokens in involved in a swap."
},
- "swapTokenVerificationAddedManually": {
- "message": "Этот токен был добавлен вручную."
- },
- "swapTokenVerificationMessage": {
- "message": "Всегда проверяйте адрес токена на $1.",
- "description": "Points the user to Etherscan as a place they can verify information about a token. $1 is replaced with the translation for \"Etherscan\" followed by an info icon that shows more info on hover."
- },
- "swapTokenVerificationOnlyOneSource": {
- "message": "Токен проверен только в 1 источнике."
- },
- "swapTokenVerificationSources": {
- "message": "Токен проверен в $1 источниках.",
- "description": "Indicates the number of token information sources that recognize the symbol + address. $1 is a decimal number."
- },
"swapTokenVerifiedOn1SourceDescription": {
"message": "$1 проверяется только на 1 источнике. Попробуйте проверить его на $2, прежде чем продолжить.",
"description": "$1 is a token name, $2 points the user to etherscan as a place they can verify information about a token. $1 is replaced with the translation for \"etherscan\""
@@ -5536,30 +5497,12 @@
"swapUnknown": {
"message": "Неизвестно"
},
- "swapVerifyTokenExplanation": {
- "message": "Для обозначения нескольких токенов могут использоваться одно и то же имя и символ. Убедитесь, что $1 — это именно тот токен, который вы ищете.",
- "description": "This appears in a tooltip next to the verifyThisTokenOn message. It gives the user more information about why they should check the token on a block explorer. $1 will be the name or url of the block explorer, which will be the translation of 'etherscan' or a block explorer url specified for a custom network."
- },
- "swapYourTokenBalance": {
- "message": "$1 $2 доступны для свопа",
- "description": "Tells the user how much of a token they have in their balance. $1 is a decimal number amount of tokens, and $2 is a token symbol"
- },
"swapZeroSlippage": {
"message": "0% проскальзывания"
},
- "swapsAdvancedOptions": {
- "message": "Дополнительные параметры"
- },
- "swapsExcessiveSlippageWarning": {
- "message": "Величина проскальзывания очень велика. Сделка будет невыгодной. Снизьте допуск проскальзывания ниже 15%."
- },
"swapsMaxSlippage": {
"message": "Допуск проскальзывания"
},
- "swapsNotEnoughForTx": {
- "message": "Недостаточно $1 для выполнения этой транзакции",
- "description": "Tells the user that they don't have enough of a token for a proposed swap. $1 is a token symbol"
- },
"swapsNotEnoughToken": {
"message": "Недостаточно $1",
"description": "Tells the user that they don't have enough of a token for a proposed swap. $1 is a token symbol"
@@ -6055,14 +5998,6 @@
"verifyContractDetails": {
"message": "Проверьте информацию о третьей стороне"
},
- "verifyThisTokenOn": {
- "message": "Проверить этот токен на $1",
- "description": "Points the user to etherscan as a place they can verify information about a token. $1 is replaced with the translation for \"etherscan\""
- },
- "verifyThisUnconfirmedTokenOn": {
- "message": "Проверьте этот токен на $1 и убедитесь, что это тот токен, которым вы хотите торговать.",
- "description": "Points the user to etherscan as a place they can verify information about a token. $1 is replaced with the translation for \"etherscan\""
- },
"version": {
"message": "Версия"
},
diff --git a/app/_locales/tl/messages.json b/app/_locales/tl/messages.json
index 8e3d8fd7fdd0..61d8ff6e5d8c 100644
--- a/app/_locales/tl/messages.json
+++ b/app/_locales/tl/messages.json
@@ -5192,10 +5192,6 @@
"swapAreYouStillThereDescription": {
"message": "Handa kaming ipakita sa iyo ang mga pinakabagong quote kapag gusto mo ng magpatuloy"
},
- "swapBuildQuotePlaceHolderText": {
- "message": "Walang available na token na tumutugma sa $1",
- "description": "Tells the user that a given search string does not match any tokens in our token lists. $1 can be any string of text"
- },
"swapConfirmWithHwWallet": {
"message": "Kumpirmahin gamit ang iyong wallet na hardware"
},
@@ -5260,9 +5256,6 @@
"swapFetchingQuotesErrorTitle": {
"message": "Nagka-error sa pagkuha ng mga quote"
},
- "swapFetchingTokens": {
- "message": "Kinukuha ang mga token..."
- },
"swapFromTo": {
"message": "Ang pag-swap ng $1 sa $2",
"description": "Tells a user that they need to confirm on their hardware wallet a swap of 2 tokens. $1 is a source token and $2 is a destination token"
@@ -5283,9 +5276,6 @@
"swapHighSlippage": {
"message": "Mataas na slippage"
},
- "swapHighSlippageWarning": {
- "message": "Napakataas ng halaga ng slippage."
- },
"swapIncludesMMFee": {
"message": "Kasama ang $1% MetaMask fee.",
"description": "Provides information about the fee that metamask takes for swaps. $1 is a decimal number."
@@ -5307,9 +5297,6 @@
"swapLowSlippage": {
"message": "Mababang slippage"
},
- "swapLowSlippageError": {
- "message": "Maaaring hindi magtagumpay ang transaksyon, masyadong mababa ang max na slippage."
- },
"swapMaxSlippage": {
"message": "Max na slippage"
},
@@ -5344,9 +5331,6 @@
"message": "Deperensya ng presyo ng ~$1%",
"description": "$1 is a number (ex: 1.23) that represents the price difference."
},
- "swapPriceImpactTooltip": {
- "message": "Ang price impact ay ang pagkakaiba sa pagitan ng kasalukuyang market price at ang halagang natanggap sa panahon ng pagpapatupad ng transaksyon. Ang price impact ay isang function ng laki ng iyong trade kaugnay sa laki ng pool ng liquidity."
- },
"swapPriceUnavailableDescription": {
"message": "Hindi matukoy ang price impact dahil sa kakulangan ng data ng market price. Pakikumpirma na komportable ka sa dami ng mga token na matatanggap mo bago mag-swap."
},
@@ -5393,12 +5377,6 @@
"swapRequestForQuotation": {
"message": "Humiling ng quotation"
},
- "swapReviewSwap": {
- "message": "I-review ang pag-swap"
- },
- "swapSearchNameOrAddress": {
- "message": "Hanapin ang pangalan o i-paste ang address"
- },
"swapSelect": {
"message": "Piliin"
},
@@ -5431,9 +5409,6 @@
"swapSlippageLowTitle": {
"message": "Mababang slippage"
},
- "swapSlippageNegative": {
- "message": "Ang slippage ay dapat mas malaki o katumbas ng zero"
- },
"swapSlippageNegativeDescription": {
"message": "Dapat na mas malaki o katumbas ng zero ang slippage"
},
@@ -5502,20 +5477,6 @@
"message": "I-swap ang $1 sa $2",
"description": "Used in the transaction display list to describe a swap. $1 and $2 are the symbols of tokens in involved in a swap."
},
- "swapTokenVerificationAddedManually": {
- "message": "Manwal na naidagdag ang token na ito."
- },
- "swapTokenVerificationMessage": {
- "message": "Palaging kumpirmahin ang token address sa $1.",
- "description": "Points the user to Etherscan as a place they can verify information about a token. $1 is replaced with the translation for \"Etherscan\" followed by an info icon that shows more info on hover."
- },
- "swapTokenVerificationOnlyOneSource": {
- "message": "Na-verify sa 1 pinagmulan lang."
- },
- "swapTokenVerificationSources": {
- "message": "Na-verify sa $1 na source.",
- "description": "Indicates the number of token information sources that recognize the symbol + address. $1 is a decimal number."
- },
"swapTokenVerifiedOn1SourceDescription": {
"message": "Na-verify $1 sa 1 pinagmulan lang. Pag-isipang i-verify ito sa $2 bago magpatuloy.",
"description": "$1 is a token name, $2 points the user to etherscan as a place they can verify information about a token. $1 is replaced with the translation for \"etherscan\""
@@ -5536,30 +5497,12 @@
"swapUnknown": {
"message": "Hindi Alam"
},
- "swapVerifyTokenExplanation": {
- "message": "Maaaring gamitin ng maraming token ang iisang pangalan at simbolo. Suriin ang $1 para ma-verify na ito ang token na hinahanap mo.",
- "description": "This appears in a tooltip next to the verifyThisTokenOn message. It gives the user more information about why they should check the token on a block explorer. $1 will be the name or url of the block explorer, which will be the translation of 'etherscan' or a block explorer url specified for a custom network."
- },
- "swapYourTokenBalance": {
- "message": "Available ang $1 $2 na i-swap",
- "description": "Tells the user how much of a token they have in their balance. $1 is a decimal number amount of tokens, and $2 is a token symbol"
- },
"swapZeroSlippage": {
"message": "0% Slippage"
},
- "swapsAdvancedOptions": {
- "message": "Mga Advanced na Opsyon"
- },
- "swapsExcessiveSlippageWarning": {
- "message": "Masyadong mataas ang halaga ng slippage at magreresulta sa masamang rate. Mangyaring bawasan ang iyong slippage tolerance sa halagang mas mababa sa 15%."
- },
"swapsMaxSlippage": {
"message": "Slippage tolerance"
},
- "swapsNotEnoughForTx": {
- "message": "Hindi sapat ang $1 para makumpleto ang transaksyong ito",
- "description": "Tells the user that they don't have enough of a token for a proposed swap. $1 is a token symbol"
- },
"swapsNotEnoughToken": {
"message": "Hindi sapat ang $1",
"description": "Tells the user that they don't have enough of a token for a proposed swap. $1 is a token symbol"
@@ -6055,14 +5998,6 @@
"verifyContractDetails": {
"message": "I-verify ang mga detalye ng third-party"
},
- "verifyThisTokenOn": {
- "message": "I-verify ang token na ito sa $1",
- "description": "Points the user to etherscan as a place they can verify information about a token. $1 is replaced with the translation for \"etherscan\""
- },
- "verifyThisUnconfirmedTokenOn": {
- "message": "I-verify ang token na ito sa $1 at siguruhin na ito ang token na gusto mong i-trade.",
- "description": "Points the user to etherscan as a place they can verify information about a token. $1 is replaced with the translation for \"etherscan\""
- },
"version": {
"message": "Bersyon"
},
diff --git a/app/_locales/tr/messages.json b/app/_locales/tr/messages.json
index 06d2f1de953f..d80d6564b880 100644
--- a/app/_locales/tr/messages.json
+++ b/app/_locales/tr/messages.json
@@ -5192,10 +5192,6 @@
"swapAreYouStillThereDescription": {
"message": "Devam etmek istediğinizde size en yeni kotaları göstermeye hazırız"
},
- "swapBuildQuotePlaceHolderText": {
- "message": "$1 ile eşleşen token yok",
- "description": "Tells the user that a given search string does not match any tokens in our token lists. $1 can be any string of text"
- },
"swapConfirmWithHwWallet": {
"message": "Donanım cüzdanınızla onaylayın"
},
@@ -5260,9 +5256,6 @@
"swapFetchingQuotesErrorTitle": {
"message": "Teklifler alınırken hata"
},
- "swapFetchingTokens": {
- "message": "Tokenler alınıyor..."
- },
"swapFromTo": {
"message": "$1 ile $2 swap işlemi",
"description": "Tells a user that they need to confirm on their hardware wallet a swap of 2 tokens. $1 is a source token and $2 is a destination token"
@@ -5283,9 +5276,6 @@
"swapHighSlippage": {
"message": "Yüksek kayma"
},
- "swapHighSlippageWarning": {
- "message": "Kayma tutarı çok yüksek."
- },
"swapIncludesMMFee": {
"message": "%$1 MetaMask ücreti dahildir.",
"description": "Provides information about the fee that metamask takes for swaps. $1 is a decimal number."
@@ -5307,9 +5297,6 @@
"swapLowSlippage": {
"message": "Düşük kayma"
},
- "swapLowSlippageError": {
- "message": "İşlem başarısız olabilir, maks. kayma çok düşük."
- },
"swapMaxSlippage": {
"message": "Maks. kayma"
},
@@ -5344,9 +5331,6 @@
"message": "~%$1 fiyat farkı",
"description": "$1 is a number (ex: 1.23) that represents the price difference."
},
- "swapPriceImpactTooltip": {
- "message": "Fiyat etkisi, mevcut piyasa fiyatı ile işlem gerçekleştirildiği sırada alınan tutar arasındaki farktır. Fiyat etkisi, likidite havuzunun boyutuna bağlı olarak işleminizin boyutunun bir fonksiyonudur."
- },
"swapPriceUnavailableDescription": {
"message": "Fiyat etkisi, piyasa fiyat verisinin mevcut olmaması nedeniyle belirlenememiştir. Swap işlemini gerçekleştirmeden önce lütfen almak üzere olduğunuz token tutarının sizin için uygun olduğunu onaylayın."
},
@@ -5393,12 +5377,6 @@
"swapRequestForQuotation": {
"message": "Teklif talebi"
},
- "swapReviewSwap": {
- "message": "Swap'ı incele"
- },
- "swapSearchNameOrAddress": {
- "message": "İsmi arayın veya adresi yapıştırın"
- },
"swapSelect": {
"message": "Seç"
},
@@ -5431,9 +5409,6 @@
"swapSlippageLowTitle": {
"message": "Düşük kayma"
},
- "swapSlippageNegative": {
- "message": "Kayma en az sıfır olmalıdır"
- },
"swapSlippageNegativeDescription": {
"message": "Kayma en az sıfır olmalıdır"
},
@@ -5502,20 +5477,6 @@
"message": "$1 ile $2 swap gerçekleştir",
"description": "Used in the transaction display list to describe a swap. $1 and $2 are the symbols of tokens in involved in a swap."
},
- "swapTokenVerificationAddedManually": {
- "message": "Bu token manuel olarak eklendi."
- },
- "swapTokenVerificationMessage": {
- "message": "Her zaman token adresini $1 üzerinde onaylayın.",
- "description": "Points the user to Etherscan as a place they can verify information about a token. $1 is replaced with the translation for \"Etherscan\" followed by an info icon that shows more info on hover."
- },
- "swapTokenVerificationOnlyOneSource": {
- "message": "Sadece 1 kaynakta doğrulandı."
- },
- "swapTokenVerificationSources": {
- "message": "$1 kaynakta doğrulandı.",
- "description": "Indicates the number of token information sources that recognize the symbol + address. $1 is a decimal number."
- },
"swapTokenVerifiedOn1SourceDescription": {
"message": "$1 sadece 1 kaynakta doğrulandı. İlerlemeden önce $2 üzerinde doğrulamayı deneyin.",
"description": "$1 is a token name, $2 points the user to etherscan as a place they can verify information about a token. $1 is replaced with the translation for \"etherscan\""
@@ -5536,30 +5497,12 @@
"swapUnknown": {
"message": "Bilinmiyor"
},
- "swapVerifyTokenExplanation": {
- "message": "Birden fazla token aynı adı ve sembolü kullanabilir. Aradığınız tokenin bu olup olmadığını $1 alanında kontrol edin.",
- "description": "This appears in a tooltip next to the verifyThisTokenOn message. It gives the user more information about why they should check the token on a block explorer. $1 will be the name or url of the block explorer, which will be the translation of 'etherscan' or a block explorer url specified for a custom network."
- },
- "swapYourTokenBalance": {
- "message": "$1 $2 için swap işlemi yapılabilir",
- "description": "Tells the user how much of a token they have in their balance. $1 is a decimal number amount of tokens, and $2 is a token symbol"
- },
"swapZeroSlippage": {
"message": "%0 Kayma"
},
- "swapsAdvancedOptions": {
- "message": "Gelişmiş seçenekler"
- },
- "swapsExcessiveSlippageWarning": {
- "message": "Kayma tutarı çok yüksek ve kötü bir orana neden olacak. Lütfen kayma toleransınızı %15'in altında bir değere düşürün."
- },
"swapsMaxSlippage": {
"message": "Kayma toleransı"
},
- "swapsNotEnoughForTx": {
- "message": "Bu işlemi tamamlamak için yeterli $1 yok",
- "description": "Tells the user that they don't have enough of a token for a proposed swap. $1 is a token symbol"
- },
"swapsNotEnoughToken": {
"message": "Yeterli $1 yok",
"description": "Tells the user that they don't have enough of a token for a proposed swap. $1 is a token symbol"
@@ -6055,14 +5998,6 @@
"verifyContractDetails": {
"message": "Üçüncü taraf bilgilerini doğrula"
},
- "verifyThisTokenOn": {
- "message": "Şurada bu tokeni doğrula: $1",
- "description": "Points the user to etherscan as a place they can verify information about a token. $1 is replaced with the translation for \"etherscan\""
- },
- "verifyThisUnconfirmedTokenOn": {
- "message": "Bu tokeni $1 ile doğrulayın ve işlem yapmak istediğiniz tokenin bu olduğundan emin olun.",
- "description": "Points the user to etherscan as a place they can verify information about a token. $1 is replaced with the translation for \"etherscan\""
- },
"version": {
"message": "Sürüm"
},
diff --git a/app/_locales/vi/messages.json b/app/_locales/vi/messages.json
index 89772c1d4eec..0bac5423d1ee 100644
--- a/app/_locales/vi/messages.json
+++ b/app/_locales/vi/messages.json
@@ -5192,10 +5192,6 @@
"swapAreYouStillThereDescription": {
"message": "Chúng tôi sẵn sàng cho bạn xem báo giá mới nhất khi bạn muốn tiếp tục"
},
- "swapBuildQuotePlaceHolderText": {
- "message": "Không có token nào khớp với $1",
- "description": "Tells the user that a given search string does not match any tokens in our token lists. $1 can be any string of text"
- },
"swapConfirmWithHwWallet": {
"message": "Xác nhận ví cứng của bạn"
},
@@ -5260,9 +5256,6 @@
"swapFetchingQuotesErrorTitle": {
"message": "Lỗi tìm nạp báo giá"
},
- "swapFetchingTokens": {
- "message": "Đang tìm nạp token..."
- },
"swapFromTo": {
"message": "Giao dịch hoán đổi $1 sang $2",
"description": "Tells a user that they need to confirm on their hardware wallet a swap of 2 tokens. $1 is a source token and $2 is a destination token"
@@ -5283,9 +5276,6 @@
"swapHighSlippage": {
"message": "Mức trượt giá cao"
},
- "swapHighSlippageWarning": {
- "message": "Số tiền trượt giá rất cao."
- },
"swapIncludesMMFee": {
"message": "Bao gồm $1% phí của MetaMask.",
"description": "Provides information about the fee that metamask takes for swaps. $1 is a decimal number."
@@ -5307,9 +5297,6 @@
"swapLowSlippage": {
"message": "Mức trượt giá thấp"
},
- "swapLowSlippageError": {
- "message": "Giao dịch có thể không thành công, mức trượt giá tối đa quá thấp."
- },
"swapMaxSlippage": {
"message": "Mức trượt giá tối đa"
},
@@ -5344,9 +5331,6 @@
"message": "Chênh lệch giá ~$1%",
"description": "$1 is a number (ex: 1.23) that represents the price difference."
},
- "swapPriceImpactTooltip": {
- "message": "Tác động về giá là mức chênh lệch giữa giá thị trường hiện tại và số tiền nhận được trong quá trình thực hiện giao dịch. Tác động giá là một hàm trong quy mô giao dịch của bạn so với quy mô của nhóm thanh khoản."
- },
"swapPriceUnavailableDescription": {
"message": "Không thể xác định tác động giá do thiếu dữ liệu giá thị trường. Vui lòng xác nhận rằng bạn cảm thấy thoải mái với số lượng token bạn sắp nhận được trước khi hoán đổi."
},
@@ -5393,12 +5377,6 @@
"swapRequestForQuotation": {
"message": "Yêu cầu báo giá"
},
- "swapReviewSwap": {
- "message": "Xem lại giao dịch hoán đổi"
- },
- "swapSearchNameOrAddress": {
- "message": "Tìm kiếm tên hoặc dán địa chỉ"
- },
"swapSelect": {
"message": "Chọn"
},
@@ -5431,9 +5409,6 @@
"swapSlippageLowTitle": {
"message": "Mức trượt giá thấp"
},
- "swapSlippageNegative": {
- "message": "Mức trượt giá phải lớn hơn hoặc bằng 0"
- },
"swapSlippageNegativeDescription": {
"message": "Mức trượt giá phải lớn hơn hoặc bằng 0"
},
@@ -5502,20 +5477,6 @@
"message": "Hoán đổi $1 sang $2",
"description": "Used in the transaction display list to describe a swap. $1 and $2 are the symbols of tokens in involved in a swap."
},
- "swapTokenVerificationAddedManually": {
- "message": "Token này đã được thêm theo cách thủ công."
- },
- "swapTokenVerificationMessage": {
- "message": "Luôn xác nhận địa chỉ token trên $1.",
- "description": "Points the user to Etherscan as a place they can verify information about a token. $1 is replaced with the translation for \"Etherscan\" followed by an info icon that shows more info on hover."
- },
- "swapTokenVerificationOnlyOneSource": {
- "message": "Chỉ được xác minh trên 1 nguồn."
- },
- "swapTokenVerificationSources": {
- "message": "Đã xác minh trên $1 nguồn.",
- "description": "Indicates the number of token information sources that recognize the symbol + address. $1 is a decimal number."
- },
"swapTokenVerifiedOn1SourceDescription": {
"message": "$1 chỉ được xác minh trên 1 nguồn. Hãy xem xét xác minh nó trên $2 trước khi tiếp tục.",
"description": "$1 is a token name, $2 points the user to etherscan as a place they can verify information about a token. $1 is replaced with the translation for \"etherscan\""
@@ -5536,30 +5497,12 @@
"swapUnknown": {
"message": "Không xác định"
},
- "swapVerifyTokenExplanation": {
- "message": "Nhiều token có thể dùng cùng một tên và ký hiệu. Hãy kiểm tra $1 để xác minh xem đây có phải là token bạn đang tìm kiếm không.",
- "description": "This appears in a tooltip next to the verifyThisTokenOn message. It gives the user more information about why they should check the token on a block explorer. $1 will be the name or url of the block explorer, which will be the translation of 'etherscan' or a block explorer url specified for a custom network."
- },
- "swapYourTokenBalance": {
- "message": "Có sẵn $1 $2 để hoán đổi",
- "description": "Tells the user how much of a token they have in their balance. $1 is a decimal number amount of tokens, and $2 is a token symbol"
- },
"swapZeroSlippage": {
"message": "Mức trượt giá 0%"
},
- "swapsAdvancedOptions": {
- "message": "Tùy chọn nâng cao"
- },
- "swapsExcessiveSlippageWarning": {
- "message": "Mức trượt giá quá cao và sẽ dẫn đến tỷ giá không sinh lời. Vui lòng giảm giới hạn trượt giá xuống một giá trị thấp hơn 15%."
- },
"swapsMaxSlippage": {
"message": "Giới hạn trượt giá"
},
- "swapsNotEnoughForTx": {
- "message": "Không đủ $1 để hoàn thành giao dịch này",
- "description": "Tells the user that they don't have enough of a token for a proposed swap. $1 is a token symbol"
- },
"swapsNotEnoughToken": {
"message": "Không đủ $1",
"description": "Tells the user that they don't have enough of a token for a proposed swap. $1 is a token symbol"
@@ -6055,14 +5998,6 @@
"verifyContractDetails": {
"message": "Xác minh thông tin bên thứ ba"
},
- "verifyThisTokenOn": {
- "message": "Xác minh token này trên $1",
- "description": "Points the user to etherscan as a place they can verify information about a token. $1 is replaced with the translation for \"etherscan\""
- },
- "verifyThisUnconfirmedTokenOn": {
- "message": "Hãy xác minh token này trên $1 và đảm bảo đây là token bạn muốn giao dịch.",
- "description": "Points the user to etherscan as a place they can verify information about a token. $1 is replaced with the translation for \"etherscan\""
- },
"version": {
"message": "Phiên bản"
},
diff --git a/app/_locales/zh_CN/messages.json b/app/_locales/zh_CN/messages.json
index b4816b165545..7209fb1c5b44 100644
--- a/app/_locales/zh_CN/messages.json
+++ b/app/_locales/zh_CN/messages.json
@@ -5192,10 +5192,6 @@
"swapAreYouStillThereDescription": {
"message": "如果您想继续,我们准备好为您显示最新报价"
},
- "swapBuildQuotePlaceHolderText": {
- "message": "没有与 $1 匹配的代币",
- "description": "Tells the user that a given search string does not match any tokens in our token lists. $1 can be any string of text"
- },
"swapConfirmWithHwWallet": {
"message": "使用您的硬件钱包确认"
},
@@ -5260,9 +5256,6 @@
"swapFetchingQuotesErrorTitle": {
"message": "获取报价出错"
},
- "swapFetchingTokens": {
- "message": "获取代币中……"
- },
"swapFromTo": {
"message": "$1 到 $2 的交换",
"description": "Tells a user that they need to confirm on their hardware wallet a swap of 2 tokens. $1 is a source token and $2 is a destination token"
@@ -5283,9 +5276,6 @@
"swapHighSlippage": {
"message": "高滑点"
},
- "swapHighSlippageWarning": {
- "message": "滑点金额非常高。"
- },
"swapIncludesMMFee": {
"message": "包括 $1% 的 MetaMask 费用。",
"description": "Provides information about the fee that metamask takes for swaps. $1 is a decimal number."
@@ -5307,9 +5297,6 @@
"swapLowSlippage": {
"message": "低滑点"
},
- "swapLowSlippageError": {
- "message": "交易可能会失败,最大滑点过低。"
- },
"swapMaxSlippage": {
"message": "最大滑点"
},
@@ -5344,9 +5331,6 @@
"message": "~$1% 的价差",
"description": "$1 is a number (ex: 1.23) that represents the price difference."
},
- "swapPriceImpactTooltip": {
- "message": "价格影响是当前市场价格与交易执行期间收到的金额之间的差异。价格影响是您的交易规模相对于流动性池规模的一个函数。"
- },
"swapPriceUnavailableDescription": {
"message": "由于缺乏市场价格数据,无法确定价格影响。在交换之前,请确认您对即将收到的代币数量感到满意。"
},
@@ -5393,12 +5377,6 @@
"swapRequestForQuotation": {
"message": "请求报价"
},
- "swapReviewSwap": {
- "message": "审查交换"
- },
- "swapSearchNameOrAddress": {
- "message": "搜索名称或粘贴地址"
- },
"swapSelect": {
"message": "选择"
},
@@ -5431,9 +5409,6 @@
"swapSlippageLowTitle": {
"message": "低滑点"
},
- "swapSlippageNegative": {
- "message": "滑点必须大于或等于0"
- },
"swapSlippageNegativeDescription": {
"message": "滑点必须大于或等于 0"
},
@@ -5502,20 +5477,6 @@
"message": "用 $1 交换 $2",
"description": "Used in the transaction display list to describe a swap. $1 and $2 are the symbols of tokens in involved in a swap."
},
- "swapTokenVerificationAddedManually": {
- "message": "此代币已手动添加。"
- },
- "swapTokenVerificationMessage": {
- "message": "始终在 $1 上确认代币地址。",
- "description": "Points the user to Etherscan as a place they can verify information about a token. $1 is replaced with the translation for \"Etherscan\" followed by an info icon that shows more info on hover."
- },
- "swapTokenVerificationOnlyOneSource": {
- "message": "仅在1个来源上进行了验证。"
- },
- "swapTokenVerificationSources": {
- "message": "在 $1 个来源上进行了验证。",
- "description": "Indicates the number of token information sources that recognize the symbol + address. $1 is a decimal number."
- },
"swapTokenVerifiedOn1SourceDescription": {
"message": "$1 仅在 1 个源上进行了验证。在继续之前,考虑在 $2 上进行验证。",
"description": "$1 is a token name, $2 points the user to etherscan as a place they can verify information about a token. $1 is replaced with the translation for \"etherscan\""
@@ -5536,30 +5497,12 @@
"swapUnknown": {
"message": "未知"
},
- "swapVerifyTokenExplanation": {
- "message": "多个代币可以使用相同的名称和符号。检查 $1 以确认这是您正在寻找的代币。",
- "description": "This appears in a tooltip next to the verifyThisTokenOn message. It gives the user more information about why they should check the token on a block explorer. $1 will be the name or url of the block explorer, which will be the translation of 'etherscan' or a block explorer url specified for a custom network."
- },
- "swapYourTokenBalance": {
- "message": "$1 $2 可用于交换",
- "description": "Tells the user how much of a token they have in their balance. $1 is a decimal number amount of tokens, and $2 is a token symbol"
- },
"swapZeroSlippage": {
"message": "0%滑点"
},
- "swapsAdvancedOptions": {
- "message": "高级选项"
- },
- "swapsExcessiveSlippageWarning": {
- "message": "滑点金额太高,会导致不良率。请将最大滑点降低到低于15%的值。"
- },
"swapsMaxSlippage": {
"message": "最大滑点"
},
- "swapsNotEnoughForTx": {
- "message": "没有足够的 $1 来完成此交易",
- "description": "Tells the user that they don't have enough of a token for a proposed swap. $1 is a token symbol"
- },
"swapsNotEnoughToken": {
"message": "$1 不足",
"description": "Tells the user that they don't have enough of a token for a proposed swap. $1 is a token symbol"
@@ -6055,14 +5998,6 @@
"verifyContractDetails": {
"message": "验证第三方详情"
},
- "verifyThisTokenOn": {
- "message": "在 $1 上验证此代币",
- "description": "Points the user to etherscan as a place they can verify information about a token. $1 is replaced with the translation for \"etherscan\""
- },
- "verifyThisUnconfirmedTokenOn": {
- "message": "在 $1 上验证此代币,并确保这是您想要交易的代币。",
- "description": "Points the user to etherscan as a place they can verify information about a token. $1 is replaced with the translation for \"etherscan\""
- },
"version": {
"message": "版本"
},
diff --git a/app/_locales/zh_TW/messages.json b/app/_locales/zh_TW/messages.json
index 32e98ed12288..7cdfa8e28add 100644
--- a/app/_locales/zh_TW/messages.json
+++ b/app/_locales/zh_TW/messages.json
@@ -1211,9 +1211,6 @@
"supportCenter": {
"message": "造訪我們的協助中心"
},
- "swapSearchNameOrAddress": {
- "message": "用名稱搜尋或貼上地址"
- },
"switchEthereumChainConfirmationDescription": {
"message": "這將在 MetaMask 中將目前選擇的網路切換到剛才新增的網路:"
},
@@ -1373,10 +1370,6 @@
"userName": {
"message": "使用者名稱"
},
- "verifyThisTokenOn": {
- "message": "在 $1 驗證這個代幣的資訊",
- "description": "Points the user to etherscan as a place they can verify information about a token. $1 is replaced with the translation for \"etherscan\""
- },
"viewAllDetails": {
"message": "查看所有詳情"
},
diff --git a/development/ts-migration-dashboard/files-to-convert.json b/development/ts-migration-dashboard/files-to-convert.json
index 107c1bd7ad14..17d68bd0e500 100644
--- a/development/ts-migration-dashboard/files-to-convert.json
+++ b/development/ts-migration-dashboard/files-to-convert.json
@@ -1497,10 +1497,6 @@
"ui/pages/swaps/awaiting-swap/swap-failure-icon.test.js",
"ui/pages/swaps/awaiting-swap/swap-success-icon.js",
"ui/pages/swaps/awaiting-swap/swap-success-icon.test.js",
- "ui/pages/swaps/build-quote/build-quote.js",
- "ui/pages/swaps/build-quote/build-quote.stories.js",
- "ui/pages/swaps/build-quote/build-quote.test.js",
- "ui/pages/swaps/build-quote/index.js",
"ui/pages/swaps/countdown-timer/countdown-timer.js",
"ui/pages/swaps/countdown-timer/countdown-timer.stories.js",
"ui/pages/swaps/countdown-timer/countdown-timer.test.js",
@@ -1510,14 +1506,6 @@
"ui/pages/swaps/create-new-swap/create-new-swap.js",
"ui/pages/swaps/create-new-swap/create-new-swap.test.js",
"ui/pages/swaps/create-new-swap/index.js",
- "ui/pages/swaps/dropdown-input-pair/dropdown-input-pair.js",
- "ui/pages/swaps/dropdown-input-pair/dropdown-input-pair.stories.js",
- "ui/pages/swaps/dropdown-input-pair/dropdown-input-pair.test.js",
- "ui/pages/swaps/dropdown-input-pair/index.js",
- "ui/pages/swaps/dropdown-search-list/dropdown-search-list.js",
- "ui/pages/swaps/dropdown-search-list/dropdown-search-list.stories.js",
- "ui/pages/swaps/dropdown-search-list/dropdown-search-list.test.js",
- "ui/pages/swaps/dropdown-search-list/index.js",
"ui/pages/swaps/exchange-rate-display/exchange-rate-display.js",
"ui/pages/swaps/exchange-rate-display/exchange-rate-display.stories.js",
"ui/pages/swaps/exchange-rate-display/exchange-rate-display.test.js",
@@ -1542,12 +1530,6 @@
"ui/pages/swaps/loading-swaps-quotes/loading-swaps-quotes-stories-metadata.test.js",
"ui/pages/swaps/loading-swaps-quotes/loading-swaps-quotes.js",
"ui/pages/swaps/loading-swaps-quotes/loading-swaps-quotes.test.js",
- "ui/pages/swaps/main-quote-summary/index.js",
- "ui/pages/swaps/main-quote-summary/main-quote-summary.js",
- "ui/pages/swaps/main-quote-summary/main-quote-summary.stories.js",
- "ui/pages/swaps/main-quote-summary/main-quote-summary.test.js",
- "ui/pages/swaps/main-quote-summary/quote-backdrop.js",
- "ui/pages/swaps/main-quote-summary/quote-backdrop.test.js",
"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",
@@ -1568,10 +1550,6 @@
"ui/pages/swaps/select-quote-popover/sort-list/index.js",
"ui/pages/swaps/select-quote-popover/sort-list/sort-list.js",
"ui/pages/swaps/select-quote-popover/sort-list/sort-list.test.js",
- "ui/pages/swaps/slippage-buttons/index.js",
- "ui/pages/swaps/slippage-buttons/slippage-buttons.js",
- "ui/pages/swaps/slippage-buttons/slippage-buttons.stories.js",
- "ui/pages/swaps/slippage-buttons/slippage-buttons.test.js",
"ui/pages/swaps/smart-transaction-status/arrow-icon.js",
"ui/pages/swaps/smart-transaction-status/arrow-icon.test.js",
"ui/pages/swaps/smart-transaction-status/canceled-icon.js",
@@ -1597,11 +1575,6 @@
"ui/pages/swaps/view-on-block-explorer/index.js",
"ui/pages/swaps/view-on-block-explorer/view-on-block-explorer.js",
"ui/pages/swaps/view-on-block-explorer/view-on-block-explorer.test.js",
- "ui/pages/swaps/view-quote/index.js",
- "ui/pages/swaps/view-quote/view-quote-price-difference.js",
- "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-details/index.js",
"ui/pages/token-details/token-details-page.js",
"ui/pages/token-details/token-details-page.test.js",
diff --git a/test/integration/data/integration-init-state.json b/test/integration/data/integration-init-state.json
index 82c55c9bd7e0..2d9e50002a18 100644
--- a/test/integration/data/integration-init-state.json
+++ b/test/integration/data/integration-init-state.json
@@ -1209,10 +1209,6 @@
"extension_active": true,
"mobile_active": true
},
- "swapRedesign": {
- "extensionActive": true,
- "mobileActive": false
- },
"zksync": {
"extensionActive": true,
"extension_active": true,
diff --git a/test/jest/mock-store.js b/test/jest/mock-store.js
index a18f2e0b6944..55ffa7f9ba1b 100644
--- a/test/jest/mock-store.js
+++ b/test/jest/mock-store.js
@@ -397,10 +397,6 @@ export const createSwapsMockStore = () => {
mobileActive: true,
extensionActive: true,
},
- swapRedesign: {
- mobileActive: true,
- extensionActive: true,
- },
},
quotes: {
TEST_AGG_1: {
diff --git a/ui/components/app/wallet-overview/coin-buttons.tsx b/ui/components/app/wallet-overview/coin-buttons.tsx
index 0e1947d023f3..63bcdd2f58e6 100644
--- a/ui/components/app/wallet-overview/coin-buttons.tsx
+++ b/ui/components/app/wallet-overview/coin-buttons.tsx
@@ -28,7 +28,7 @@ import {
import { I18nContext } from '../../../contexts/i18n';
import {
///: BEGIN:ONLY_INCLUDE_IF(build-main,build-beta,build-flask)
- BUILD_QUOTE_ROUTE,
+ PREPARE_SWAP_ROUTE,
///: END:ONLY_INCLUDE_IF
SEND_ROUTE,
} from '../../../helpers/constants/routes';
@@ -270,10 +270,10 @@ const CoinButtons = ({
dispatch(setSwapsFromToken(defaultSwapsToken));
if (usingHardwareWallet) {
if (global.platform.openExtensionInBrowser) {
- global.platform.openExtensionInBrowser(BUILD_QUOTE_ROUTE);
+ global.platform.openExtensionInBrowser(PREPARE_SWAP_ROUTE);
}
} else {
- history.push(BUILD_QUOTE_ROUTE);
+ history.push(PREPARE_SWAP_ROUTE);
}
}
///: END:ONLY_INCLUDE_IF
diff --git a/ui/components/multichain/app-header/app-header.js b/ui/components/multichain/app-header/app-header.js
index 9d30874c6b7b..904862ae7bb8 100644
--- a/ui/components/multichain/app-header/app-header.js
+++ b/ui/components/multichain/app-header/app-header.js
@@ -9,7 +9,6 @@ import {
MetaMetricsEventName,
} from '../../../../shared/constants/metametrics';
import {
- BUILD_QUOTE_ROUTE,
CONFIRM_TRANSACTION_ROUTE,
SWAPS_ROUTE,
} from '../../../helpers/constants/routes';
@@ -66,17 +65,13 @@ export const AppHeader = ({ location }) => {
const isSwapsPage = Boolean(
matchPath(location.pathname, { path: SWAPS_ROUTE, exact: false }),
);
- const isSwapsBuildQuotePage = Boolean(
- matchPath(location.pathname, { path: BUILD_QUOTE_ROUTE, exact: false }),
- );
const unapprovedTransactions = useSelector(getUnapprovedTransactions);
const hasUnapprovedTransactions =
Object.keys(unapprovedTransactions).length > 0;
- const disableAccountPicker =
- isConfirmationPage || (isSwapsPage && !isSwapsBuildQuotePage);
+ const disableAccountPicker = isConfirmationPage || isSwapsPage;
const disableNetworkPicker =
isSwapsPage ||
diff --git a/ui/ducks/swaps/swaps.js b/ui/ducks/swaps/swaps.js
index cf8348243238..ece4292fdf14 100644
--- a/ui/ducks/swaps/swaps.js
+++ b/ui/ducks/swaps/swaps.js
@@ -34,11 +34,11 @@ import {
import {
AWAITING_SIGNATURES_ROUTE,
AWAITING_SWAP_ROUTE,
- BUILD_QUOTE_ROUTE,
LOADING_QUOTES_ROUTE,
SWAPS_ERROR_ROUTE,
SWAPS_MAINTENANCE_ROUTE,
SMART_TRANSACTION_STATUS_ROUTE,
+ PREPARE_SWAP_ROUTE,
} from '../../helpers/constants/routes';
import {
fetchSwapsFeatureFlags,
@@ -335,15 +335,6 @@ export const getCurrentSmartTransactionsEnabled = (state) => {
return smartTransactionsEnabled && !currentSmartTransactionsError;
};
-export const getSwapRedesignEnabled = (state) => {
- const swapRedesign =
- state.metamask.swapsState?.swapsFeatureFlags?.swapRedesign;
- if (swapRedesign === undefined) {
- return true; // By default show the redesign if we don't have feature flags returned yet.
- }
- return swapRedesign.extensionActive;
-};
-
export const getSwapsQuoteRefreshTime = (state) =>
state.metamask.swapsState.swapsQuoteRefreshTime;
@@ -526,12 +517,12 @@ export {
slice as swapsSlice,
};
-export const navigateBackToBuildQuote = (history) => {
+export const navigateBackToPrepareSwap = (history) => {
return async (dispatch) => {
// TODO: Ensure any fetch in progress is cancelled
await dispatch(setBackgroundSwapRouteState(''));
dispatch(navigatedBackToBuildQuote());
- history.push(BUILD_QUOTE_ROUTE);
+ history.push(PREPARE_SWAP_ROUTE);
};
};
diff --git a/ui/ducks/swaps/swaps.test.js b/ui/ducks/swaps/swaps.test.js
index 83c133572c0d..fb2cc5e78a05 100644
--- a/ui/ducks/swaps/swaps.test.js
+++ b/ui/ducks/swaps/swaps.test.js
@@ -924,24 +924,5 @@ describe('Ducks - Swaps', () => {
expect(newState.customGas.limit).toBe(null);
});
});
-
- describe('getSwapRedesignEnabled', () => {
- it('returns true if feature flags are not returned from backend yet', () => {
- const state = createSwapsMockStore();
- delete state.metamask.swapsState.swapsFeatureFlags.swapRedesign;
- expect(swaps.getSwapRedesignEnabled(state)).toBe(true);
- });
-
- it('returns false if the extension feature flag for swaps redesign is false', () => {
- const state = createSwapsMockStore();
- state.metamask.swapsState.swapsFeatureFlags.swapRedesign.extensionActive = false;
- expect(swaps.getSwapRedesignEnabled(state)).toBe(false);
- });
-
- it('returns true if the extension feature flag for swaps redesign is true', () => {
- const state = createSwapsMockStore();
- expect(swaps.getSwapRedesignEnabled(state)).toBe(true);
- });
- });
});
});
diff --git a/ui/helpers/constants/routes.ts b/ui/helpers/constants/routes.ts
index 5e4fffe413e2..bf38109ec9d7 100644
--- a/ui/helpers/constants/routes.ts
+++ b/ui/helpers/constants/routes.ts
@@ -241,12 +241,6 @@ PATH_NAME_MAP[PREPARE_SWAP_ROUTE] = 'Prepare Swap Page';
export const SWAPS_NOTIFICATION_ROUTE = '/swaps/notification-page';
PATH_NAME_MAP[SWAPS_NOTIFICATION_ROUTE] = 'Swaps Notification Page';
-export const BUILD_QUOTE_ROUTE = '/swaps/build-quote';
-PATH_NAME_MAP[BUILD_QUOTE_ROUTE] = 'Swaps Build Quote Page';
-
-export const VIEW_QUOTE_ROUTE = '/swaps/view-quote';
-PATH_NAME_MAP[VIEW_QUOTE_ROUTE] = 'Swaps View Quotes Page';
-
export const LOADING_QUOTES_ROUTE = '/swaps/loading-quotes';
PATH_NAME_MAP[LOADING_QUOTES_ROUTE] = 'Swaps Loading Quotes Page';
diff --git a/ui/pages/asset/components/token-buttons.tsx b/ui/pages/asset/components/token-buttons.tsx
index bb3f129bade8..7921af85f2ce 100644
--- a/ui/pages/asset/components/token-buttons.tsx
+++ b/ui/pages/asset/components/token-buttons.tsx
@@ -6,7 +6,7 @@ import { I18nContext } from '../../../contexts/i18n';
import {
SEND_ROUTE,
///: BEGIN:ONLY_INCLUDE_IF(build-main,build-beta,build-flask)
- BUILD_QUOTE_ROUTE,
+ PREPARE_SWAP_ROUTE,
///: END:ONLY_INCLUDE_IF
} from '../../../helpers/constants/routes';
import { startNewDraftTransaction } from '../../../ducks/send';
@@ -276,12 +276,12 @@ const TokenButtons = ({
);
if (usingHardwareWallet) {
global.platform.openExtensionInBrowser?.(
- BUILD_QUOTE_ROUTE,
+ PREPARE_SWAP_ROUTE,
undefined,
false,
);
} else {
- history.push(BUILD_QUOTE_ROUTE);
+ history.push(PREPARE_SWAP_ROUTE);
}
///: END:ONLY_INCLUDE_IF
}}
diff --git a/ui/pages/bridge/index.test.tsx b/ui/pages/bridge/index.test.tsx
index a73cfa370681..0d0d4c21c71f 100644
--- a/ui/pages/bridge/index.test.tsx
+++ b/ui/pages/bridge/index.test.tsx
@@ -64,8 +64,6 @@ describe('Bridge', () => {
it('renders the component with initial props', async () => {
const swapsMockStore = createBridgeMockStore({ extensionSupport: true });
- swapsMockStore.metamask.swapsState.swapsFeatureFlags.swapRedesign.extensionActive =
- true;
const store = configureMockStore(middleware)(swapsMockStore);
const { container, getByText } = renderWithProvider(
diff --git a/ui/pages/home/home.component.js b/ui/pages/home/home.component.js
index 2df3f2907266..37c147427ac5 100644
--- a/ui/pages/home/home.component.js
+++ b/ui/pages/home/home.component.js
@@ -62,8 +62,7 @@ import {
CONNECTED_ROUTE,
CONNECTED_ACCOUNTS_ROUTE,
AWAITING_SWAP_ROUTE,
- BUILD_QUOTE_ROUTE,
- VIEW_QUOTE_ROUTE,
+ PREPARE_SWAP_ROUTE,
CONFIRMATION_V_NEXT_ROUTE,
///: BEGIN:ONLY_INCLUDE_IF(build-main,build-beta,build-flask)
ONBOARDING_SECURE_YOUR_WALLET_ROUTE,
@@ -328,10 +327,8 @@ export default class Home extends PureComponent {
const canRedirect = !isNotification && !stayOnHomePage;
if (canRedirect && showAwaitingSwapScreen) {
history.push(AWAITING_SWAP_ROUTE);
- } else if (canRedirect && haveSwapsQuotes) {
- history.push(VIEW_QUOTE_ROUTE);
- } else if (canRedirect && swapsFetchParams) {
- history.push(BUILD_QUOTE_ROUTE);
+ } else if (canRedirect && (haveSwapsQuotes || swapsFetchParams)) {
+ history.push(PREPARE_SWAP_ROUTE);
} else if (firstPermissionsRequestId) {
history.push(`${CONNECT_ROUTE}/${firstPermissionsRequestId}`);
} else if (pendingConfirmationsPrioritized.length > 0) {
diff --git a/ui/pages/routes/routes.component.js b/ui/pages/routes/routes.component.js
index 7cfd33f655ac..a27d59e3b33b 100644
--- a/ui/pages/routes/routes.component.js
+++ b/ui/pages/routes/routes.component.js
@@ -71,7 +71,6 @@ import {
SWAPS_ROUTE,
SETTINGS_ROUTE,
UNLOCK_ROUTE,
- BUILD_QUOTE_ROUTE,
CONFIRMATION_V_NEXT_ROUTE,
ONBOARDING_ROUTE,
ONBOARDING_UNLOCK_ROUTE,
@@ -493,13 +492,6 @@ export default class Routes extends Component {
);
}
- onSwapsBuildQuotePage() {
- const { location } = this.props;
- return Boolean(
- matchPath(location.pathname, { path: BUILD_QUOTE_ROUTE, exact: false }),
- );
- }
-
onHomeScreen() {
const { location } = this.props;
return location.pathname === DEFAULT_ROUTE;
diff --git a/ui/pages/swaps/__snapshots__/index.test.js.snap b/ui/pages/swaps/__snapshots__/index.test.js.snap
index 779bb78555d5..c7a58c20dac8 100644
--- a/ui/pages/swaps/__snapshots__/index.test.js.snap
+++ b/ui/pages/swaps/__snapshots__/index.test.js.snap
@@ -12,17 +12,29 @@ exports[`Swap renders the component with initial props 1`] = `
class="swaps__header"
>
+ class="box box--margin-left-4 box--display-flex box--flex-direction-row box--justify-content-center box--width-1/12"
+ tabindex="0"
+ >
+
+
- {
- // We need this to know how long it took to go from clicking on the Review swap button to rendered View Quote page.
- dispatch(setReviewSwapClickedTimestamp(Date.now()));
- // In case that quotes prefetching is waiting to be executed, but hasn't started yet,
- // we want to cancel it and fetch quotes from here.
- if (timeoutIdForQuotesPrefetching) {
- clearTimeout(timeoutIdForQuotesPrefetching);
- dispatch(
- fetchQuotesAndSetQuoteState(
- history,
- fromTokenInputValue,
- maxSlippage,
- trackEvent,
- ),
- );
- } else if (areQuotesPresent) {
- // If there are prefetched quotes already, go directly to the View Quote page.
- history.push(VIEW_QUOTE_ROUTE);
- } else {
- // If the "Review swap" button was clicked while quotes are being fetched, go to the Loading Quotes page.
- await dispatch(setBackgroundSwapRouteState('loading'));
- history.push(LOADING_QUOTES_ROUTE);
- }
- }
- }
- submitText={t('swapReviewSwap')}
- disabled={isReviewSwapButtonDisabled}
- hideCancel
- showTermsOfService
- />
-
- Price impact could not be determined due to lack of market price data. Please confirm that you are comfortable with the amount of tokens you are about to receive before swapping.
-
-
-
-
-
-
-
-
-
-`;
-
-exports[`View Price Quote Difference displays an error when in high bucket 1`] = `
-
-
-
-
-
-
-
-
-
- Price difference of ~%
-
-
-
-
-
-
-
- You are about to swap 1 ETH (~) for 42.947749 LINK (~).
-
-
-
-
-
-
-
-
-
-`;
-
-exports[`View Price Quote Difference displays an error when in medium bucket 1`] = `
-
-
-
-
-
-
-
-
-
- Price difference of ~%
-
-
-
-
-
-
-
- You are about to swap 1 ETH (~) for 42.947749 LINK (~).
-
-
-
-
-
-
-
-
-
-`;
-
-exports[`View Price Quote Difference should match snapshot 1`] = `
-
-
-
-
-
-
-
-
-
- Price difference of ~%
-
-
-
-
-
-
-
- You are about to swap 1 ETH (~) for 42.947749 LINK (~).
-
-
-
-
-
-
-
-
-
-`;
diff --git a/ui/pages/swaps/view-quote/__snapshots__/view-quote.test.js.snap b/ui/pages/swaps/view-quote/__snapshots__/view-quote.test.js.snap
deleted file mode 100644
index 3f6273f9f738..000000000000
--- a/ui/pages/swaps/view-quote/__snapshots__/view-quote.test.js.snap
+++ /dev/null
@@ -1,145 +0,0 @@
-// Jest Snapshot v1, https://goo.gl/fbAQLP
-
-exports[`ViewQuote renders the component with EIP-1559 enabled 1`] = `
-
-
- 10
-
-
-
-
-
- DAI
-
-
-`;
-
-exports[`ViewQuote renders the component with EIP-1559 enabled 2`] = `
-
-
-
-
- 1
-
-
- DAI
-
-
- =
-
-
- 2.2
-
-
- USDC
-
-
-
-
-
-`;
-
-exports[`ViewQuote renders the component with initial props 1`] = `
-
-
- 10
-
-
-
-
-
- DAI
-
-
-`;
-
-exports[`ViewQuote renders the component with initial props 2`] = `
-