mirror of
https://github.com/kremalicious/metamask-extension.git
synced 2024-11-22 18:00:18 +01:00
Merge pull request #11991 from MetaMask/Version-v10.1.0
Version v10.1.0 RC
This commit is contained in:
commit
9658e4fce6
@ -4,11 +4,11 @@ set -e
|
|||||||
set -u
|
set -u
|
||||||
set -o pipefail
|
set -o pipefail
|
||||||
|
|
||||||
CHROME_VERSION='79.0.3945.117-1'
|
CHROME_VERSION='87.0.4280.88-1'
|
||||||
CHROME_BINARY="google-chrome-stable_${CHROME_VERSION}_amd64.deb"
|
CHROME_BINARY="google-chrome-stable_${CHROME_VERSION}_amd64.deb"
|
||||||
CHROME_BINARY_URL="http://mirror.cs.uchicago.edu/google-chrome/pool/main/g/google-chrome-stable/${CHROME_BINARY}"
|
CHROME_BINARY_URL="https://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-stable/${CHROME_BINARY}"
|
||||||
|
|
||||||
CHROME_BINARY_SHA512SUM='2d4f76202219a40e560477d79023fa4a847187a086278924a9d916dcd5fbefafdcf7dfd8879fae907b8276b244e71a3b8a1b00a88dee87b18738ce31134a6713'
|
CHROME_BINARY_SHA512SUM='19eea1d1be171cab60ce5135572da9388b4b72e313118478b53f65c0bf2293733809282736b98ef828a208b7426e5191258f8c666cba7510b8bf5c92d0010a47'
|
||||||
|
|
||||||
wget -O "${CHROME_BINARY}" -t 5 "${CHROME_BINARY_URL}"
|
wget -O "${CHROME_BINARY}" -t 5 "${CHROME_BINARY_URL}"
|
||||||
|
|
||||||
@ -24,6 +24,4 @@ fi
|
|||||||
|
|
||||||
rm -rf "${CHROME_BINARY}"
|
rm -rf "${CHROME_BINARY}"
|
||||||
|
|
||||||
sudo sed -i 's|HERE/chrome"|HERE/chrome" --disable-setuid-sandbox --no-sandbox|g' "/opt/google/chrome/google-chrome"
|
|
||||||
|
|
||||||
printf '%s\n' "CHROME ${CHROME_VERSION} configured"
|
printf '%s\n' "CHROME ${CHROME_VERSION} configured"
|
||||||
|
12
CHANGELOG.md
12
CHANGELOG.md
@ -6,6 +6,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||||||
|
|
||||||
## [Unreleased]
|
## [Unreleased]
|
||||||
|
|
||||||
|
## [10.1.0]
|
||||||
|
### Added
|
||||||
|
- [#11951](https://github.com/MetaMask/metamask-extension/pull/11951): Adding EIP-1559 support for Ledger hardware
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
- [#11951](https://github.com/MetaMask/metamask-extension/pull/11951): Fixed contract deployments using Ledger hardware
|
||||||
|
- [#11972](https://github.com/MetaMask/metamask-extension/pull/11972): Fixed "continue at your own risk" button (Phishing alert page)
|
||||||
|
- [#11951](https://github.com/MetaMask/metamask-extension/pull/11951): Fixed ledger transactions on networks with large chainIds
|
||||||
|
|
||||||
## [10.0.3]
|
## [10.0.3]
|
||||||
### Changed
|
### Changed
|
||||||
- [#11931](https://github.com/MetaMask/metamask-extension/pull/11931): Temporarily Disabling Mobile Sync
|
- [#11931](https://github.com/MetaMask/metamask-extension/pull/11931): Temporarily Disabling Mobile Sync
|
||||||
@ -2422,7 +2431,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||||||
### Uncategorized
|
### Uncategorized
|
||||||
- Added the ability to restore accounts from seed words.
|
- Added the ability to restore accounts from seed words.
|
||||||
|
|
||||||
[Unreleased]: https://github.com/MetaMask/metamask-extension/compare/v10.0.3...HEAD
|
[Unreleased]: https://github.com/MetaMask/metamask-extension/compare/v10.1.0...HEAD
|
||||||
|
[10.1.0]: https://github.com/MetaMask/metamask-extension/compare/v10.0.3...v10.1.0
|
||||||
[10.0.3]: https://github.com/MetaMask/metamask-extension/compare/v10.0.2...v10.0.3
|
[10.0.3]: https://github.com/MetaMask/metamask-extension/compare/v10.0.2...v10.0.3
|
||||||
[10.0.2]: https://github.com/MetaMask/metamask-extension/compare/v10.0.1...v10.0.2
|
[10.0.2]: https://github.com/MetaMask/metamask-extension/compare/v10.0.1...v10.0.2
|
||||||
[10.0.1]: https://github.com/MetaMask/metamask-extension/compare/v10.0.0...v10.0.1
|
[10.0.1]: https://github.com/MetaMask/metamask-extension/compare/v10.0.0...v10.0.1
|
||||||
|
@ -29,6 +29,7 @@ import {
|
|||||||
} from '@metamask/controllers';
|
} from '@metamask/controllers';
|
||||||
import { TRANSACTION_STATUSES } from '../../shared/constants/transaction';
|
import { TRANSACTION_STATUSES } from '../../shared/constants/transaction';
|
||||||
import { MAINNET_CHAIN_ID } from '../../shared/constants/network';
|
import { MAINNET_CHAIN_ID } from '../../shared/constants/network';
|
||||||
|
import { KEYRING_TYPES } from '../../shared/constants/hardware-wallets';
|
||||||
import { UI_NOTIFICATIONS } from '../../shared/notifications';
|
import { UI_NOTIFICATIONS } from '../../shared/notifications';
|
||||||
import { toChecksumHexAddress } from '../../shared/modules/hexstring-utils';
|
import { toChecksumHexAddress } from '../../shared/modules/hexstring-utils';
|
||||||
import { MILLISECOND } from '../../shared/constants/time';
|
import { MILLISECOND } from '../../shared/constants/time';
|
||||||
@ -77,16 +78,6 @@ export const METAMASK_CONTROLLER_EVENTS = {
|
|||||||
UPDATE_BADGE: 'updateBadge',
|
UPDATE_BADGE: 'updateBadge',
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
|
||||||
* Accounts can be instantiated from simple, HD or the two hardware wallet
|
|
||||||
* keyring types. Both simple and HD are treated as default but we do special
|
|
||||||
* case accounts managed by a hardware wallet.
|
|
||||||
*/
|
|
||||||
const KEYRING_TYPES = {
|
|
||||||
LEDGER: 'Ledger Hardware',
|
|
||||||
TREZOR: 'Trezor Hardware',
|
|
||||||
};
|
|
||||||
|
|
||||||
export default class MetamaskController extends EventEmitter {
|
export default class MetamaskController extends EventEmitter {
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
@ -2078,10 +2069,7 @@ export default class MetamaskController extends EventEmitter {
|
|||||||
const address =
|
const address =
|
||||||
fromAddress || this.preferencesController.getSelectedAddress();
|
fromAddress || this.preferencesController.getSelectedAddress();
|
||||||
const keyring = await this.keyringController.getKeyringForAccount(address);
|
const keyring = await this.keyringController.getKeyringForAccount(address);
|
||||||
return (
|
return keyring.type !== KEYRING_TYPES.TREZOR;
|
||||||
keyring.type !== KEYRING_TYPES.LEDGER &&
|
|
||||||
keyring.type !== KEYRING_TYPES.TREZOR
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
|
@ -74,12 +74,7 @@ function createScriptTasks({ browserPlatforms, livereload }) {
|
|||||||
return { dev, test, testDev, prod };
|
return { dev, test, testDev, prod };
|
||||||
|
|
||||||
function createTasksForBuildJsExtension({ taskPrefix, devMode, testing }) {
|
function createTasksForBuildJsExtension({ taskPrefix, devMode, testing }) {
|
||||||
const standardEntryPoints = [
|
const standardEntryPoints = ['background', 'ui', 'content-script'];
|
||||||
'background',
|
|
||||||
'ui',
|
|
||||||
'phishing-detect',
|
|
||||||
'content-script',
|
|
||||||
];
|
|
||||||
const standardSubtask = createTask(
|
const standardSubtask = createTask(
|
||||||
`${taskPrefix}:standardEntryPoints`,
|
`${taskPrefix}:standardEntryPoints`,
|
||||||
createFactoredBuild({
|
createFactoredBuild({
|
||||||
@ -114,6 +109,11 @@ function createScriptTasks({ browserPlatforms, livereload }) {
|
|||||||
createTaskForBundleSentry({ devMode }),
|
createTaskForBundleSentry({ devMode }),
|
||||||
);
|
);
|
||||||
|
|
||||||
|
const phishingDetectSubtask = createTask(
|
||||||
|
`${taskPrefix}:phishing-detect`,
|
||||||
|
createTaskForBundlePhishingDetect({ devMode }),
|
||||||
|
);
|
||||||
|
|
||||||
// task for initiating browser livereload
|
// task for initiating browser livereload
|
||||||
const initiateLiveReload = async () => {
|
const initiateLiveReload = async () => {
|
||||||
if (devMode) {
|
if (devMode) {
|
||||||
@ -136,6 +136,7 @@ function createScriptTasks({ browserPlatforms, livereload }) {
|
|||||||
contentscriptSubtask,
|
contentscriptSubtask,
|
||||||
disableConsoleSubtask,
|
disableConsoleSubtask,
|
||||||
installSentrySubtask,
|
installSentrySubtask,
|
||||||
|
phishingDetectSubtask,
|
||||||
].map((subtask) => runInChildProcess(subtask));
|
].map((subtask) => runInChildProcess(subtask));
|
||||||
// make a parent task that runs each task in a child thread
|
// make a parent task that runs each task in a child thread
|
||||||
return composeParallel(initiateLiveReload, ...allSubtasks);
|
return composeParallel(initiateLiveReload, ...allSubtasks);
|
||||||
@ -163,6 +164,17 @@ function createScriptTasks({ browserPlatforms, livereload }) {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function createTaskForBundlePhishingDetect({ devMode }) {
|
||||||
|
const label = 'phishing-detect';
|
||||||
|
return createNormalBundle({
|
||||||
|
label,
|
||||||
|
entryFilepath: `./app/scripts/${label}.js`,
|
||||||
|
destFilepath: `${label}.js`,
|
||||||
|
devMode,
|
||||||
|
browserPlatforms,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
// the "contentscript" bundle contains the "inpage" bundle
|
// the "contentscript" bundle contains the "inpage" bundle
|
||||||
function createTaskForBundleContentscript({ devMode, testing }) {
|
function createTaskForBundleContentscript({ devMode, testing }) {
|
||||||
const inpage = 'inpage';
|
const inpage = 'inpage';
|
||||||
@ -277,10 +289,6 @@ function createFactoredBuild({
|
|||||||
renderHtmlFile('home', groupSet, commonSet, browserPlatforms);
|
renderHtmlFile('home', groupSet, commonSet, browserPlatforms);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case 'phishing-detect': {
|
|
||||||
renderHtmlFile('phishing', groupSet, commonSet, browserPlatforms);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case 'background': {
|
case 'background': {
|
||||||
renderHtmlFile('background', groupSet, commonSet, browserPlatforms);
|
renderHtmlFile('background', groupSet, commonSet, browserPlatforms);
|
||||||
break;
|
break;
|
||||||
|
@ -60,6 +60,10 @@ const copyTargets = [
|
|||||||
src: require.resolve('@lavamoat/lavapack/src/runtime-cjs.js'),
|
src: require.resolve('@lavamoat/lavapack/src/runtime-cjs.js'),
|
||||||
dest: `runtime-cjs.js`,
|
dest: `runtime-cjs.js`,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
src: `./app/phishing.html`,
|
||||||
|
dest: `phishing.html`,
|
||||||
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
const languageTags = new Set();
|
const languageTags = new Set();
|
||||||
|
@ -1,13 +1,31 @@
|
|||||||
/**
|
/**
|
||||||
* Run the given function, retrying it upon failure until reaching the
|
* Re-runs the given function until it returns a resolved promise or the number
|
||||||
* specified number of retries.
|
* of retries is exceeded, whichever comes first (with an optional delay in
|
||||||
|
* between retries).
|
||||||
*
|
*
|
||||||
* @param {number} retries - The number of retries upon failure to attempt.
|
* @param {Object} args - A set of arguments and options.
|
||||||
* @param {function} functionToRetry - The function that will be retried upon failure.
|
* @param {number} args.retries - The maximum number of times to re-run the
|
||||||
|
* function on failure.
|
||||||
|
* @param {number} args.delay - The amount of time (in milliseconds) to wait in
|
||||||
|
* between retries. (Default: 0)
|
||||||
|
* @param {string} args.rejectionMessage - The message for the rejected promise
|
||||||
|
* this function will return in the event of failure. (Default: "Retry limit
|
||||||
|
* reached")
|
||||||
|
* @param {function} functionToRetry - The function that is run and tested for
|
||||||
|
* failure.
|
||||||
|
* @returns {Promise<null | Error>} a promise that either resolves to null if
|
||||||
|
* the function is successful or is rejected with rejectionMessage otherwise.
|
||||||
*/
|
*/
|
||||||
async function retry(retries, functionToRetry) {
|
async function retry(
|
||||||
|
{ retries, delay = 0, rejectionMessage = 'Retry limit reached' },
|
||||||
|
functionToRetry,
|
||||||
|
) {
|
||||||
let attempts = 0;
|
let attempts = 0;
|
||||||
while (attempts <= retries) {
|
while (attempts <= retries) {
|
||||||
|
if (attempts > 0 && delay > 0) {
|
||||||
|
await new Promise((resolve) => setTimeout(resolve, delay));
|
||||||
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
await functionToRetry();
|
await functionToRetry();
|
||||||
return;
|
return;
|
||||||
@ -17,7 +35,8 @@ async function retry(retries, functionToRetry) {
|
|||||||
attempts += 1;
|
attempts += 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
throw new Error('Retry limit reached');
|
|
||||||
|
throw new Error(rejectionMessage);
|
||||||
}
|
}
|
||||||
|
|
||||||
module.exports = { retry };
|
module.exports = { retry };
|
||||||
|
@ -24,7 +24,7 @@ async function start() {
|
|||||||
`common-0.js`,
|
`common-0.js`,
|
||||||
`background-0.js`,
|
`background-0.js`,
|
||||||
`ui-0.js`,
|
`ui-0.js`,
|
||||||
'phishing-detect-0.js',
|
'phishing-detect.js',
|
||||||
// `contentscript.js`, skipped because the validator is erroneously sampling the inlined `inpage.js` script
|
// `contentscript.js`, skipped because the validator is erroneously sampling the inlined `inpage.js` script
|
||||||
`inpage.js`,
|
`inpage.js`,
|
||||||
];
|
];
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "metamask-crx",
|
"name": "metamask-crx",
|
||||||
"version": "10.0.3",
|
"version": "10.1.0",
|
||||||
"private": true,
|
"private": true,
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
@ -103,7 +103,7 @@
|
|||||||
"@material-ui/core": "^4.11.0",
|
"@material-ui/core": "^4.11.0",
|
||||||
"@metamask/contract-metadata": "^1.28.0",
|
"@metamask/contract-metadata": "^1.28.0",
|
||||||
"@metamask/controllers": "^14.0.2",
|
"@metamask/controllers": "^14.0.2",
|
||||||
"@metamask/eth-ledger-bridge-keyring": "^0.6.0",
|
"@metamask/eth-ledger-bridge-keyring": "^0.7.0",
|
||||||
"@metamask/eth-token-tracker": "^3.0.1",
|
"@metamask/eth-token-tracker": "^3.0.1",
|
||||||
"@metamask/etherscan-link": "^2.1.0",
|
"@metamask/etherscan-link": "^2.1.0",
|
||||||
"@metamask/jazzicon": "^2.0.0",
|
"@metamask/jazzicon": "^2.0.0",
|
||||||
@ -247,7 +247,7 @@
|
|||||||
"brfs": "^2.0.2",
|
"brfs": "^2.0.2",
|
||||||
"browserify": "^16.5.1",
|
"browserify": "^16.5.1",
|
||||||
"chalk": "^3.0.0",
|
"chalk": "^3.0.0",
|
||||||
"chromedriver": "^79.0.0",
|
"chromedriver": "^87.0.1",
|
||||||
"concurrently": "^5.2.0",
|
"concurrently": "^5.2.0",
|
||||||
"copy-webpack-plugin": "^6.0.3",
|
"copy-webpack-plugin": "^6.0.3",
|
||||||
"cross-spawn": "^7.0.3",
|
"cross-spawn": "^7.0.3",
|
||||||
@ -303,7 +303,7 @@
|
|||||||
"pumpify": "^2.0.1",
|
"pumpify": "^2.0.1",
|
||||||
"randomcolor": "^0.5.4",
|
"randomcolor": "^0.5.4",
|
||||||
"rc": "^1.2.8",
|
"rc": "^1.2.8",
|
||||||
"react-devtools": "^4.10.1",
|
"react-devtools": "^4.11.0",
|
||||||
"read-installed": "^4.0.3",
|
"read-installed": "^4.0.3",
|
||||||
"redux-mock-store": "^1.5.4",
|
"redux-mock-store": "^1.5.4",
|
||||||
"remote-redux-devtools": "^0.5.16",
|
"remote-redux-devtools": "^0.5.16",
|
||||||
|
9
shared/constants/hardware-wallets.js
Normal file
9
shared/constants/hardware-wallets.js
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
/**
|
||||||
|
* Accounts can be instantiated from simple, HD or the two hardware wallet
|
||||||
|
* keyring types. Both simple and HD are treated as default but we do special
|
||||||
|
* case accounts managed by a hardware wallet.
|
||||||
|
*/
|
||||||
|
export const KEYRING_TYPES = {
|
||||||
|
LEDGER: 'Ledger Hardware',
|
||||||
|
TREZOR: 'Trezor Hardware',
|
||||||
|
};
|
@ -62,7 +62,7 @@ async function profilePageLoad(pages, numSamples, retries) {
|
|||||||
const runResults = [];
|
const runResults = [];
|
||||||
for (let i = 0; i < numSamples; i += 1) {
|
for (let i = 0; i < numSamples; i += 1) {
|
||||||
let result;
|
let result;
|
||||||
await retry(retries, async () => {
|
await retry({ retries }, async () => {
|
||||||
result = await measurePage(pageName);
|
result = await measurePage(pageName);
|
||||||
});
|
});
|
||||||
runResults.push(result);
|
runResults.push(result);
|
||||||
|
@ -7,6 +7,7 @@ const {
|
|||||||
const Ganache = require('./ganache');
|
const Ganache = require('./ganache');
|
||||||
const FixtureServer = require('./fixture-server');
|
const FixtureServer = require('./fixture-server');
|
||||||
const { buildWebDriver } = require('./webdriver');
|
const { buildWebDriver } = require('./webdriver');
|
||||||
|
const { ensureXServerIsRunning } = require('./x-server');
|
||||||
|
|
||||||
const tinyDelayMs = 200;
|
const tinyDelayMs = 200;
|
||||||
const regularDelayMs = tinyDelayMs * 2;
|
const regularDelayMs = tinyDelayMs * 2;
|
||||||
@ -81,6 +82,9 @@ async function withFixtures(options, testSuite) {
|
|||||||
});
|
});
|
||||||
await segmentServer.start(9090);
|
await segmentServer.start(9090);
|
||||||
}
|
}
|
||||||
|
if (process.env.SELENIUM_BROWSER === 'chrome') {
|
||||||
|
await ensureXServerIsRunning();
|
||||||
|
}
|
||||||
const { driver } = await buildWebDriver(driverOptions);
|
const { driver } = await buildWebDriver(driverOptions);
|
||||||
webDriver = driver;
|
webDriver = driver;
|
||||||
|
|
||||||
|
@ -6,6 +6,7 @@ const createStaticServer = require('../../development/create-static-server');
|
|||||||
const { tinyDelayMs, regularDelayMs, largeDelayMs } = require('./helpers');
|
const { tinyDelayMs, regularDelayMs, largeDelayMs } = require('./helpers');
|
||||||
const { buildWebDriver } = require('./webdriver');
|
const { buildWebDriver } = require('./webdriver');
|
||||||
const Ganache = require('./ganache');
|
const Ganache = require('./ganache');
|
||||||
|
const { ensureXServerIsRunning } = require('./x-server');
|
||||||
|
|
||||||
const ganacheServer = new Ganache();
|
const ganacheServer = new Ganache();
|
||||||
const dappPort = 8080;
|
const dappPort = 8080;
|
||||||
@ -39,6 +40,9 @@ describe('MetaMask', function () {
|
|||||||
dappServer.on('listening', resolve);
|
dappServer.on('listening', resolve);
|
||||||
dappServer.on('error', reject);
|
dappServer.on('error', reject);
|
||||||
});
|
});
|
||||||
|
if (process.env.SELENIUM_BROWSER === 'chrome') {
|
||||||
|
await ensureXServerIsRunning();
|
||||||
|
}
|
||||||
const result = await buildWebDriver();
|
const result = await buildWebDriver();
|
||||||
driver = result.driver;
|
driver = result.driver;
|
||||||
await driver.navigate();
|
await driver.navigate();
|
||||||
|
@ -73,7 +73,7 @@ async function main() {
|
|||||||
process.env.E2E_LEAVE_RUNNING = 'true';
|
process.env.E2E_LEAVE_RUNNING = 'true';
|
||||||
}
|
}
|
||||||
|
|
||||||
await retry(retries, async () => {
|
await retry({ retries }, async () => {
|
||||||
await runInShell('yarn', ['mocha', '--no-timeouts', e2eTestPath]);
|
await runInShell('yarn', ['mocha', '--no-timeouts', e2eTestPath]);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
17
test/e2e/x-server.js
Normal file
17
test/e2e/x-server.js
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
const { runCommand } = require('../../development/lib/run-command');
|
||||||
|
const { retry } = require('../../development/lib/retry');
|
||||||
|
|
||||||
|
function ensureXServerIsRunning() {
|
||||||
|
return retry(
|
||||||
|
{
|
||||||
|
retries: 3,
|
||||||
|
delay: 2000,
|
||||||
|
rejectionMessage: 'X server does not seem to be running?!',
|
||||||
|
},
|
||||||
|
() => {
|
||||||
|
return runCommand('xset', ['q']);
|
||||||
|
},
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = { ensureXServerIsRunning };
|
@ -8,6 +8,7 @@ import {
|
|||||||
NETWORK_TYPE_RPC,
|
NETWORK_TYPE_RPC,
|
||||||
NATIVE_CURRENCY_TOKEN_IMAGE_MAP,
|
NATIVE_CURRENCY_TOKEN_IMAGE_MAP,
|
||||||
} from '../../shared/constants/network';
|
} from '../../shared/constants/network';
|
||||||
|
import { KEYRING_TYPES } from '../../shared/constants/hardware-wallets';
|
||||||
|
|
||||||
import {
|
import {
|
||||||
SWAPS_CHAINID_DEFAULT_TOKEN_MAP,
|
SWAPS_CHAINID_DEFAULT_TOKEN_MAP,
|
||||||
@ -82,8 +83,9 @@ export function getCurrentKeyring(state) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export function isEIP1559Account(state) {
|
export function isEIP1559Account(state) {
|
||||||
// Neither hardware wallet supports 1559 at this time
|
// Trezor does not support 1559 at this time
|
||||||
return !isHardwareWallet(state);
|
const currentKeyring = getCurrentKeyring(state);
|
||||||
|
return currentKeyring && currentKeyring.type !== KEYRING_TYPES.TREZOR;
|
||||||
}
|
}
|
||||||
|
|
||||||
export function checkNetworkAndAccountSupports1559(state) {
|
export function checkNetworkAndAccountSupports1559(state) {
|
||||||
|
138
yarn.lock
138
yarn.lock
@ -1572,15 +1572,7 @@
|
|||||||
crc-32 "^1.2.0"
|
crc-32 "^1.2.0"
|
||||||
ethereumjs-util "^7.1.0"
|
ethereumjs-util "^7.1.0"
|
||||||
|
|
||||||
"@ethereumjs/tx@^3.1.1", "@ethereumjs/tx@^3.1.4", "@ethereumjs/tx@^3.2.1":
|
"@ethereumjs/tx@^3.1.4", "@ethereumjs/tx@^3.2.0", "@ethereumjs/tx@^3.2.1", "@ethereumjs/tx@^3.3.0":
|
||||||
version "3.2.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/@ethereumjs/tx/-/tx-3.2.1.tgz#65f5f1c11541764f08377a94ba4b0dcbbd67739e"
|
|
||||||
integrity sha512-i9V39OtKvwWos1uVNZxdVhd7zFOyzFLjgt69CoiOY0EmXugS0HjO3uxpLBSglDKFMRriuGqw6ddKEv+RP1UNEw==
|
|
||||||
dependencies:
|
|
||||||
"@ethereumjs/common" "^2.3.1"
|
|
||||||
ethereumjs-util "^7.0.10"
|
|
||||||
|
|
||||||
"@ethereumjs/tx@^3.3.0":
|
|
||||||
version "3.3.0"
|
version "3.3.0"
|
||||||
resolved "https://registry.yarnpkg.com/@ethereumjs/tx/-/tx-3.3.0.tgz#14ed1b7fa0f28e1cd61e3ecbdab824205f6a4378"
|
resolved "https://registry.yarnpkg.com/@ethereumjs/tx/-/tx-3.3.0.tgz#14ed1b7fa0f28e1cd61e3ecbdab824205f6a4378"
|
||||||
integrity sha512-yTwEj2lVzSMgE6Hjw9Oa1DZks/nKTWM8Wn4ykDNapBPua2f4nXO3qKnni86O6lgDj5fVNRqbDsD0yy7/XNGDEA==
|
integrity sha512-yTwEj2lVzSMgE6Hjw9Oa1DZks/nKTWM8Wn4ykDNapBPua2f4nXO3qKnni86O6lgDj5fVNRqbDsD0yy7/XNGDEA==
|
||||||
@ -3142,16 +3134,14 @@
|
|||||||
resolved "https://registry.yarnpkg.com/@metamask/eslint-config/-/eslint-config-6.0.0.tgz#ec53e8ab278073e882411ed89705bc7d06b78c81"
|
resolved "https://registry.yarnpkg.com/@metamask/eslint-config/-/eslint-config-6.0.0.tgz#ec53e8ab278073e882411ed89705bc7d06b78c81"
|
||||||
integrity sha512-LyakGYGwM8UQOGhwWa+5erAI1hXuiTgf/y7USzOomX6H9KiuY09IAUYnPh7ToPG2sedD2F48UF1bUm8yvCoZOw==
|
integrity sha512-LyakGYGwM8UQOGhwWa+5erAI1hXuiTgf/y7USzOomX6H9KiuY09IAUYnPh7ToPG2sedD2F48UF1bUm8yvCoZOw==
|
||||||
|
|
||||||
"@metamask/eth-ledger-bridge-keyring@^0.6.0":
|
"@metamask/eth-ledger-bridge-keyring@^0.7.0":
|
||||||
version "0.6.0"
|
version "0.7.0"
|
||||||
resolved "https://registry.yarnpkg.com/@metamask/eth-ledger-bridge-keyring/-/eth-ledger-bridge-keyring-0.6.0.tgz#2f1344eb76bf880c8cfbb92b9b64510920c7e335"
|
resolved "https://registry.yarnpkg.com/@metamask/eth-ledger-bridge-keyring/-/eth-ledger-bridge-keyring-0.7.0.tgz#7d80e1e3dfab91ba2b6a1a2a5e352320e948b568"
|
||||||
integrity sha512-eP0f8Q7o5K35wVinK2EjEw/gVY/pvzkAcbk49CwQEzGPKm6d+AAURJZ0o33/8gYGIrpq4bmWZhZzgyAbphgVLw==
|
integrity sha512-0UOEb/c3/fkatDK+se3gOHaGQ0RTRLbG5DqsoeowZ/JcO4wcMxBhOiIgOY4domOqUTekKKVPNC7Pc0mHpM9sAQ==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@ethereumjs/tx" "^3.1.1"
|
"@ethereumjs/tx" "^3.2.0"
|
||||||
eth-sig-util "^2.0.0"
|
eth-sig-util "^2.0.0"
|
||||||
ethereumjs-tx "^1.3.4"
|
|
||||||
ethereumjs-util "^7.0.9"
|
ethereumjs-util "^7.0.9"
|
||||||
events "^2.0.0"
|
|
||||||
hdkey "0.8.0"
|
hdkey "0.8.0"
|
||||||
|
|
||||||
"@metamask/eth-token-tracker@^3.0.1":
|
"@metamask/eth-token-tracker@^3.0.1":
|
||||||
@ -4095,6 +4085,11 @@
|
|||||||
dependencies:
|
dependencies:
|
||||||
defer-to-connect "^1.0.1"
|
defer-to-connect "^1.0.1"
|
||||||
|
|
||||||
|
"@testim/chrome-version@^1.0.7":
|
||||||
|
version "1.0.7"
|
||||||
|
resolved "https://registry.yarnpkg.com/@testim/chrome-version/-/chrome-version-1.0.7.tgz#0cd915785ec4190f08a3a6acc9b61fc38fb5f1a9"
|
||||||
|
integrity sha512-8UT/J+xqCYfn3fKtOznAibsHpiuDshCb0fwgWxRazTT19Igp9ovoXMPhXyLD6m3CKQGTMHgqoxaFfMWaL40Rnw==
|
||||||
|
|
||||||
"@testing-library/dom@^7.17.1":
|
"@testing-library/dom@^7.17.1":
|
||||||
version "7.22.2"
|
version "7.22.2"
|
||||||
resolved "https://registry.yarnpkg.com/@testing-library/dom/-/dom-7.22.2.tgz#6deaa828500993cc94bdd62875c251b5b5b70d69"
|
resolved "https://registry.yarnpkg.com/@testing-library/dom/-/dom-7.22.2.tgz#6deaa828500993cc94bdd62875c251b5b5b70d69"
|
||||||
@ -4643,6 +4638,13 @@
|
|||||||
dependencies:
|
dependencies:
|
||||||
"@types/yargs-parser" "*"
|
"@types/yargs-parser" "*"
|
||||||
|
|
||||||
|
"@types/yauzl@^2.9.1":
|
||||||
|
version "2.9.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/@types/yauzl/-/yauzl-2.9.2.tgz#c48e5d56aff1444409e39fa164b0b4d4552a7b7a"
|
||||||
|
integrity sha512-8uALY5LTvSuHgloDVUvWP3pIauILm+8/0pDMokuDYIoNsOkSwd5AiHBTSEJjKTDcZr5z8UpgOWZkxBF4iJftoA==
|
||||||
|
dependencies:
|
||||||
|
"@types/node" "*"
|
||||||
|
|
||||||
"@typescript-eslint/experimental-utils@^4.0.1":
|
"@typescript-eslint/experimental-utils@^4.0.1":
|
||||||
version "4.21.0"
|
version "4.21.0"
|
||||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.21.0.tgz#0b0bb7c15d379140a660c003bdbafa71ae9134b6"
|
resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.21.0.tgz#0b0bb7c15d379140a660c003bdbafa71ae9134b6"
|
||||||
@ -8286,15 +8288,18 @@ chrome-trace-event@^1.0.2:
|
|||||||
dependencies:
|
dependencies:
|
||||||
tslib "^1.9.0"
|
tslib "^1.9.0"
|
||||||
|
|
||||||
chromedriver@^79.0.0:
|
chromedriver@^87.0.1:
|
||||||
version "79.0.0"
|
version "87.0.7"
|
||||||
resolved "https://registry.yarnpkg.com/chromedriver/-/chromedriver-79.0.0.tgz#1660ac29924dfcd847911025593d6b6746aeea35"
|
resolved "https://registry.yarnpkg.com/chromedriver/-/chromedriver-87.0.7.tgz#74041e02ff7f633e91b98eb707e2476f713dc4ca"
|
||||||
integrity sha512-DO29C7ntJfzu6q1vuoWwCON8E9x5xzopt7Q41A7Dr7hBKcdNpGw1l9DTt9b+l1qviOWiJLGsD+jHw21ptEHubA==
|
integrity sha512-7J7iN2rJuSDsKb9BUUMewJt07PuTlZYd809D10dUCT1rjMD3i2jUw7dum9RxdC1xO3aFwMd8TwZ5NR82T+S+Dg==
|
||||||
dependencies:
|
dependencies:
|
||||||
del "^4.1.1"
|
"@testim/chrome-version" "^1.0.7"
|
||||||
extract-zip "^1.6.7"
|
axios "^0.21.1"
|
||||||
mkdirp "^0.5.1"
|
del "^6.0.0"
|
||||||
request "^2.88.0"
|
extract-zip "^2.0.1"
|
||||||
|
https-proxy-agent "^5.0.0"
|
||||||
|
mkdirp "^1.0.4"
|
||||||
|
proxy-from-env "^1.1.0"
|
||||||
tcp-port-used "^1.0.1"
|
tcp-port-used "^1.0.1"
|
||||||
|
|
||||||
ci-info@^1.5.0:
|
ci-info@^1.5.0:
|
||||||
@ -9801,18 +9806,19 @@ del@^3.0.0:
|
|||||||
pify "^3.0.0"
|
pify "^3.0.0"
|
||||||
rimraf "^2.2.8"
|
rimraf "^2.2.8"
|
||||||
|
|
||||||
del@^4.1.1:
|
del@^6.0.0:
|
||||||
version "4.1.1"
|
version "6.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/del/-/del-4.1.1.tgz#9e8f117222ea44a31ff3a156c049b99052a9f0b4"
|
resolved "https://registry.yarnpkg.com/del/-/del-6.0.0.tgz#0b40d0332cea743f1614f818be4feb717714c952"
|
||||||
integrity sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==
|
integrity sha512-1shh9DQ23L16oXSZKB2JxpL7iMy2E0S9d517ptA1P8iw0alkPtQcrKH7ru31rYtKwF499HkTu+DRzq3TCKDFRQ==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@types/glob" "^7.1.1"
|
globby "^11.0.1"
|
||||||
globby "^6.1.0"
|
graceful-fs "^4.2.4"
|
||||||
is-path-cwd "^2.0.0"
|
is-glob "^4.0.1"
|
||||||
is-path-in-cwd "^2.0.0"
|
is-path-cwd "^2.2.0"
|
||||||
p-map "^2.0.0"
|
is-path-inside "^3.0.2"
|
||||||
pify "^4.0.1"
|
p-map "^4.0.0"
|
||||||
rimraf "^2.6.3"
|
rimraf "^3.0.2"
|
||||||
|
slash "^3.0.0"
|
||||||
|
|
||||||
delayed-stream@~1.0.0:
|
delayed-stream@~1.0.0:
|
||||||
version "1.0.0"
|
version "1.0.0"
|
||||||
@ -10377,10 +10383,10 @@ electron-to-chromium@^1.3.378, electron-to-chromium@^1.3.47, electron-to-chromiu
|
|||||||
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.610.tgz#1254eb394acd220a836ea1f203f8cded4e487052"
|
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.610.tgz#1254eb394acd220a836ea1f203f8cded4e487052"
|
||||||
integrity sha512-eFDC+yVQpEhtlapk4CYDPfV9ajF9cEof5TBcO49L1ETO+aYogrKWDmYpZyxBScMNe8Bo/gJamH4amQ4yyvXg4g==
|
integrity sha512-eFDC+yVQpEhtlapk4CYDPfV9ajF9cEof5TBcO49L1ETO+aYogrKWDmYpZyxBScMNe8Bo/gJamH4amQ4yyvXg4g==
|
||||||
|
|
||||||
electron@^9.1.0:
|
electron@^11.1.0:
|
||||||
version "9.4.2"
|
version "11.4.12"
|
||||||
resolved "https://registry.yarnpkg.com/electron/-/electron-9.4.2.tgz#0c76dfc3d317108adac66844b868a9e2e57d48f5"
|
resolved "https://registry.yarnpkg.com/electron/-/electron-11.4.12.tgz#3315ce63a37cea5033125f7abcfdcc2f76864a57"
|
||||||
integrity sha512-WpnJLDFHtj5eIewAi4hMHxGdbwkzjzmxsMu/BtDFCic3wpruchkskL7EV28Sg/IYTAqo6yN5ISfnFaQcLsIdng==
|
integrity sha512-Kaf4uNaKcGWlBuZwFJ4OZcIN1cfVe9jlGgjm6pUIAJucUsUU7hCFOtaVdZ1sMJR2zbshIbwbiczq8+S61jLfUA==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@electron/get" "^1.0.1"
|
"@electron/get" "^1.0.1"
|
||||||
"@types/node" "^12.0.12"
|
"@types/node" "^12.0.12"
|
||||||
@ -12440,7 +12446,7 @@ extglob@^2.0.4:
|
|||||||
snapdragon "^0.8.1"
|
snapdragon "^0.8.1"
|
||||||
to-regex "^3.0.1"
|
to-regex "^3.0.1"
|
||||||
|
|
||||||
extract-zip@^1.0.3, extract-zip@^1.6.7:
|
extract-zip@^1.0.3:
|
||||||
version "1.7.0"
|
version "1.7.0"
|
||||||
resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-1.7.0.tgz#556cc3ae9df7f452c493a0cfb51cc30277940927"
|
resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-1.7.0.tgz#556cc3ae9df7f452c493a0cfb51cc30277940927"
|
||||||
integrity sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA==
|
integrity sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA==
|
||||||
@ -12450,6 +12456,17 @@ extract-zip@^1.0.3, extract-zip@^1.6.7:
|
|||||||
mkdirp "^0.5.4"
|
mkdirp "^0.5.4"
|
||||||
yauzl "^2.10.0"
|
yauzl "^2.10.0"
|
||||||
|
|
||||||
|
extract-zip@^2.0.1:
|
||||||
|
version "2.0.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-2.0.1.tgz#663dca56fe46df890d5f131ef4a06d22bb8ba13a"
|
||||||
|
integrity sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==
|
||||||
|
dependencies:
|
||||||
|
debug "^4.1.1"
|
||||||
|
get-stream "^5.1.0"
|
||||||
|
yauzl "^2.10.0"
|
||||||
|
optionalDependencies:
|
||||||
|
"@types/yauzl" "^2.9.1"
|
||||||
|
|
||||||
extsprintf@1.3.0:
|
extsprintf@1.3.0:
|
||||||
version "1.3.0"
|
version "1.3.0"
|
||||||
resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05"
|
resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05"
|
||||||
@ -16040,7 +16057,7 @@ is-path-cwd@^1.0.0:
|
|||||||
resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d"
|
resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d"
|
||||||
integrity sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=
|
integrity sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=
|
||||||
|
|
||||||
is-path-cwd@^2.0.0:
|
is-path-cwd@^2.2.0:
|
||||||
version "2.2.0"
|
version "2.2.0"
|
||||||
resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-2.2.0.tgz#67d43b82664a7b5191fd9119127eb300048a9fdb"
|
resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-2.2.0.tgz#67d43b82664a7b5191fd9119127eb300048a9fdb"
|
||||||
integrity sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==
|
integrity sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==
|
||||||
@ -16052,13 +16069,6 @@ is-path-in-cwd@^1.0.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
is-path-inside "^1.0.0"
|
is-path-inside "^1.0.0"
|
||||||
|
|
||||||
is-path-in-cwd@^2.0.0:
|
|
||||||
version "2.1.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz#bfe2dca26c69f397265a4009963602935a053acb"
|
|
||||||
integrity sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==
|
|
||||||
dependencies:
|
|
||||||
is-path-inside "^2.1.0"
|
|
||||||
|
|
||||||
is-path-inside@^1.0.0:
|
is-path-inside@^1.0.0:
|
||||||
version "1.0.1"
|
version "1.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.1.tgz#8ef5b7de50437a3fdca6b4e865ef7aa55cb48036"
|
resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.1.tgz#8ef5b7de50437a3fdca6b4e865ef7aa55cb48036"
|
||||||
@ -16066,12 +16076,10 @@ is-path-inside@^1.0.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
path-is-inside "^1.0.1"
|
path-is-inside "^1.0.1"
|
||||||
|
|
||||||
is-path-inside@^2.1.0:
|
is-path-inside@^3.0.2:
|
||||||
version "2.1.0"
|
version "3.0.3"
|
||||||
resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-2.1.0.tgz#7c9810587d659a40d27bcdb4d5616eab059494b2"
|
resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283"
|
||||||
integrity sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==
|
integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==
|
||||||
dependencies:
|
|
||||||
path-is-inside "^1.0.2"
|
|
||||||
|
|
||||||
is-plain-obj@^1.0.0, is-plain-obj@^1.1, is-plain-obj@^1.1.0:
|
is-plain-obj@^1.0.0, is-plain-obj@^1.1, is-plain-obj@^1.1.0:
|
||||||
version "1.1.0"
|
version "1.1.0"
|
||||||
@ -22944,24 +22952,24 @@ react-dev-utils@^10.0.0:
|
|||||||
strip-ansi "6.0.0"
|
strip-ansi "6.0.0"
|
||||||
text-table "0.2.0"
|
text-table "0.2.0"
|
||||||
|
|
||||||
react-devtools-core@4.10.1:
|
react-devtools-core@4.16.0:
|
||||||
version "4.10.1"
|
version "4.16.0"
|
||||||
resolved "https://registry.yarnpkg.com/react-devtools-core/-/react-devtools-core-4.10.1.tgz#6d57db291aeac9cc45ef9fb4636dd2ab97490daf"
|
resolved "https://registry.yarnpkg.com/react-devtools-core/-/react-devtools-core-4.16.0.tgz#c640ab15b98d077bc47f10f84fc8ed3633f537bd"
|
||||||
integrity sha512-sXbBjGAWcf9HAblTP/zMtFhGHqxAfIR+GPxONZsSGN9FHnF4635dx1s2LdQWG9rJ+Ehr3nWg+BUAB6P78my5PA==
|
integrity sha512-fqyVbp+wVVey6O4uVBk5s3J/vTiPludp7lulr6a8asTBm7DIA0vLBbjmAOLCnOlkWcgdy4mjsqOgNCbu8uICWw==
|
||||||
dependencies:
|
dependencies:
|
||||||
shell-quote "^1.6.1"
|
shell-quote "^1.6.1"
|
||||||
ws "^7"
|
ws "^7"
|
||||||
|
|
||||||
react-devtools@^4.10.1:
|
react-devtools@^4.11.0:
|
||||||
version "4.10.1"
|
version "4.16.0"
|
||||||
resolved "https://registry.yarnpkg.com/react-devtools/-/react-devtools-4.10.1.tgz#579c14fe0b181e222e262a75fc55c2e2e17abc7a"
|
resolved "https://registry.yarnpkg.com/react-devtools/-/react-devtools-4.16.0.tgz#89440dfb27b5f57ca8c098e91c9039308ace6395"
|
||||||
integrity sha512-gGOu0tcpCdm2+LZNrFgyimImtkYDoi6z5aKMRxxfuRM0VrJpmZakxAwaLs0BMRA9+UUF22Emzku366+m5eBtIQ==
|
integrity sha512-K+EUWY0kWIwhBJSQotn9BnbXsGXM6S55bhZV7MMWQBop8dc/jVBWKklr6vM4jOTg3kxpXiVj7KJDv45hceiSZw==
|
||||||
dependencies:
|
dependencies:
|
||||||
cross-spawn "^5.0.1"
|
cross-spawn "^5.0.1"
|
||||||
electron "^9.1.0"
|
electron "^11.1.0"
|
||||||
ip "^1.1.4"
|
ip "^1.1.4"
|
||||||
minimist "^1.2.3"
|
minimist "^1.2.3"
|
||||||
react-devtools-core "4.10.1"
|
react-devtools-core "4.16.0"
|
||||||
update-notifier "^2.1.0"
|
update-notifier "^2.1.0"
|
||||||
|
|
||||||
react-dnd-html5-backend@^7.4.4:
|
react-dnd-html5-backend@^7.4.4:
|
||||||
@ -23974,7 +23982,7 @@ request-promise-native@^1.0.9:
|
|||||||
stealthy-require "^1.1.1"
|
stealthy-require "^1.1.1"
|
||||||
tough-cookie "^2.3.3"
|
tough-cookie "^2.3.3"
|
||||||
|
|
||||||
request@^2.79.0, request@^2.83.0, request@^2.85.0, request@^2.88.0, request@^2.88.2, request@~2.88.0:
|
request@^2.79.0, request@^2.83.0, request@^2.85.0, request@^2.88.2, request@~2.88.0:
|
||||||
version "2.88.2"
|
version "2.88.2"
|
||||||
resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3"
|
resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3"
|
||||||
integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==
|
integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==
|
||||||
|
Loading…
Reference in New Issue
Block a user