mirror of
https://github.com/kremalicious/metamask-extension.git
synced 2024-12-23 09:52:26 +01:00
Conflict cleanup 10.26.1 master-sync
This commit is contained in:
parent
7d1ce40a19
commit
a796dbd705
@ -1,38 +0,0 @@
|
||||
import { cloneDeep } from 'lodash';
|
||||
import { hasProperty, isObject } from '@metamask/utils';
|
||||
|
||||
export const version = 78;
|
||||
|
||||
/**
|
||||
* The`@metamask/phishing-controller` state was updated in v2.0.0.
|
||||
*
|
||||
* @param originalVersionedData - Versioned MetaMask extension state, exactly what we persist to dist.
|
||||
* @param originalVersionedData.meta - State metadata.
|
||||
* @param originalVersionedData.meta.version - The current state version.
|
||||
* @param originalVersionedData.data - The persisted MetaMask state, keyed by controller.
|
||||
* @returns Updated versioned MetaMask extension state.
|
||||
*/
|
||||
export default {
|
||||
version,
|
||||
async migrate(originalVersionedData) {
|
||||
const versionedData = cloneDeep(originalVersionedData);
|
||||
versionedData.meta.version = version;
|
||||
versionedData.data = transformState(versionedData.data);
|
||||
return versionedData;
|
||||
},
|
||||
};
|
||||
|
||||
function transformState(state) {
|
||||
if (
|
||||
!hasProperty(state, 'PhishingController') ||
|
||||
!isObject(state.PhishingController)
|
||||
) {
|
||||
return state;
|
||||
}
|
||||
const { PhishingController } = state;
|
||||
|
||||
delete PhishingController.phishing;
|
||||
delete PhishingController.lastFetched;
|
||||
|
||||
return state;
|
||||
}
|
@ -4,9 +4,7 @@ const FixtureBuilder = require('../fixture-builder');
|
||||
const { TEST_SNAPS_WEBSITE_URL } = require('./enums');
|
||||
|
||||
describe('Test Snap RPC', function () {
|
||||
// TODO: Re-enable this test once `test-snaps` is fixed.
|
||||
// eslint-disable-next-line mocha/no-skipped-tests
|
||||
it.skip('can use the cross-snap RPC endowment and produce a public key', async function () {
|
||||
it('can use the cross-snap RPC endowment and produce a public key', async function () {
|
||||
const ganacheOptions = {
|
||||
accounts: [
|
||||
{
|
||||
|
@ -169,91 +169,3 @@ describe('Failing contract interaction on non-EIP1559 network', function () {
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
describe('Failing contract interaction on non-EIP1559 network', function () {
|
||||
const smartContract = SMART_CONTRACTS.FAILING;
|
||||
const ganacheOptions = {
|
||||
hardfork: 'berlin',
|
||||
accounts: [
|
||||
{
|
||||
secretKey:
|
||||
'0x7C9529A67102755B7E6102D6D950AC5D5863C98713805CEC576B945B15B71EAC',
|
||||
balance: convertToHexValue(25000000000000000000),
|
||||
},
|
||||
],
|
||||
};
|
||||
it('should display a warning when the contract interaction is expected to fail', async function () {
|
||||
await withFixtures(
|
||||
{
|
||||
dapp: true,
|
||||
fixtures: new FixtureBuilder()
|
||||
.withPermissionControllerConnectedToTestDapp()
|
||||
.build(),
|
||||
ganacheOptions,
|
||||
smartContract,
|
||||
title: this.test.title,
|
||||
},
|
||||
async ({ driver, contractRegistry }) => {
|
||||
const contractAddress = await contractRegistry.getContractAddress(
|
||||
smartContract,
|
||||
);
|
||||
await driver.navigate();
|
||||
await driver.fill('#password', 'correct horse battery staple');
|
||||
await driver.press('#password', driver.Key.ENTER);
|
||||
|
||||
await driver.openNewPage(
|
||||
`http://127.0.0.1:8080/?contract=${contractAddress}`,
|
||||
);
|
||||
let windowHandles = await driver.getAllWindowHandles();
|
||||
const extension = windowHandles[0];
|
||||
// waits for deployed contract and calls failing contract method
|
||||
await driver.findClickableElement('#deployButton');
|
||||
|
||||
await driver.fill('#toInput', contractAddress);
|
||||
await driver.fill('#amountInput', '0');
|
||||
await driver.fill('#gasInput', '100');
|
||||
|
||||
await driver.clickElement('#submitForm');
|
||||
|
||||
await driver.waitUntilXWindowHandles(3);
|
||||
windowHandles = await driver.getAllWindowHandles();
|
||||
await driver.switchToWindowWithTitle(
|
||||
'MetaMask Notification',
|
||||
windowHandles,
|
||||
);
|
||||
|
||||
// display warning when transaction is expected to fail
|
||||
const warningText =
|
||||
'We were not able to estimate gas. There might be an error in the contract and this transaction may fail.';
|
||||
const warning = await driver.findElement(
|
||||
'.actionable-message__message',
|
||||
);
|
||||
const confirmButton = await driver.findElement(
|
||||
'[data-testid="page-container-footer-next"]',
|
||||
);
|
||||
assert.equal(await warning.getText(), warningText);
|
||||
assert.equal(await confirmButton.isEnabled(), false);
|
||||
|
||||
// dismiss warning and confirm the transaction
|
||||
await driver.clickElement({
|
||||
text: 'I want to proceed anyway',
|
||||
tag: 'button',
|
||||
});
|
||||
await driver.clickElement({ text: 'Confirm', tag: 'button' });
|
||||
await driver.waitUntilXWindowHandles(2);
|
||||
await driver.switchToWindow(extension);
|
||||
await driver.clickElement({ text: 'Activity', tag: 'button' });
|
||||
await driver.waitForSelector(
|
||||
'.transaction-list__completed-transactions .transaction-list-item:nth-of-type(1)',
|
||||
{ timeout: 10000 },
|
||||
);
|
||||
|
||||
// display the transaction status
|
||||
const transactionStatus = await driver.findElement(
|
||||
'.transaction-list-item:nth-of-type(1) .transaction-status-label',
|
||||
);
|
||||
assert.equal(await transactionStatus.getText(), 'Failed');
|
||||
},
|
||||
);
|
||||
});
|
||||
});
|
||||
|
@ -907,28 +907,4 @@ describe('util', () => {
|
||||
).toStrictEqual('The Quick Brown \\u202EFox Jumps Over The Lazy Dog');
|
||||
});
|
||||
});
|
||||
|
||||
describe('sanitizeString', () => {
|
||||
it('should return the passed value, unchanged, if it is falsy', () => {
|
||||
expect(util.sanitizeString('')).toStrictEqual('');
|
||||
});
|
||||
|
||||
it('should return the passed value, unchanged, if it is not a string', () => {
|
||||
expect(util.sanitizeString(true)).toStrictEqual(true);
|
||||
});
|
||||
|
||||
it('should return a truthy string that oes not match the sanitizeString regex, unchanged', () => {
|
||||
expect(
|
||||
util.sanitizeString('The Quick Brown Fox Jumps Over The Lazy Dog'),
|
||||
).toStrictEqual('The Quick Brown Fox Jumps Over The Lazy Dog');
|
||||
});
|
||||
|
||||
it('should return a string that matches sanitizeString regex with the matched characters replaced', () => {
|
||||
expect(
|
||||
util.sanitizeString(
|
||||
'The Quick Brown \u202EFox Jumps Over The Lazy Dog',
|
||||
),
|
||||
).toStrictEqual('The Quick Brown \\u202EFox Jumps Over The Lazy Dog');
|
||||
});
|
||||
});
|
||||
});
|
||||
|
Loading…
Reference in New Issue
Block a user