mirror of
https://github.com/kremalicious/metamask-extension.git
synced 2024-12-22 09:23:21 +01:00
[FLASK] snaps-skunkworks@0.21.0
(#15889)
* snaps-skunkworks@0.21.0 * Update policy files * Regen policies again * Fix tests * Simplify selector * Fix flaky test * Update iframe execution env * Move snap install warnings to util * Add basic copy for snap_getBip32PublicKey * Update permission icon * Update E2Es * Fix lint * Fix locale strings
This commit is contained in:
parent
d3bd5b0d6b
commit
4eb8e50800
2
app/_locales/de/messages.json
generated
2
app/_locales/de/messages.json
generated
@ -2442,7 +2442,7 @@
|
||||
},
|
||||
"permission_manageBip44Keys": {
|
||||
"message": "Verwalten Sie Ihre „$1“-Konten und Vermögenswerte.",
|
||||
"description": "The description for the `snap_getBip44Entropy_*` permission. $1 is the name of a protocol, e.g. 'Filecoin'."
|
||||
"description": "The description for the `snap_getBip44Entropy` permission. $1 is the name of a protocol, e.g. 'Filecoin'."
|
||||
},
|
||||
"permission_manageState": {
|
||||
"message": "Ihre Saten speichern und auf Ihrem Gerät verwalten.",
|
||||
|
2
app/_locales/el/messages.json
generated
2
app/_locales/el/messages.json
generated
@ -2479,7 +2479,7 @@
|
||||
},
|
||||
"permission_manageBip44Keys": {
|
||||
"message": "Ελέγξτε τους λογαριασμούς και τα περιουσιακά σας στοιχεία σας στο \"$1\".",
|
||||
"description": "The description for the `snap_getBip44Entropy_*` permission. $1 is the name of a protocol, e.g. 'Filecoin'."
|
||||
"description": "The description for the `snap_getBip44Entropy` permission. $1 is the name of a protocol, e.g. 'Filecoin'."
|
||||
},
|
||||
"permission_manageState": {
|
||||
"message": "Αποθηκεύστε και διαχειριστείτε τα δεδομένα του στη συσκευή σας.",
|
||||
|
8
app/_locales/en/messages.json
generated
8
app/_locales/en/messages.json
generated
@ -2671,11 +2671,11 @@
|
||||
},
|
||||
"permission_manageBip32Keys": {
|
||||
"message": "Control your accounts and assets under $1 ($2).",
|
||||
"description": "The description for the `snap_getBip32Entropy_*` permission. $1 is a derivation path, e.g. 'm/44'/0'/0''. $2 is the elliptic curve name, e.g. 'secp256k1'."
|
||||
"description": "The description for the `snap_getBip32Entropy` permission. $1 is a derivation path, e.g. 'm/44'/0'/0''. $2 is the elliptic curve name, e.g. 'secp256k1'."
|
||||
},
|
||||
"permission_manageBip44Keys": {
|
||||
"message": "Control your \"$1\" accounts and assets.",
|
||||
"description": "The description for the `snap_getBip44Entropy_*` permission. $1 is the name of a protocol, e.g. 'Filecoin'."
|
||||
"description": "The description for the `snap_getBip44Entropy` permission. $1 is the name of a protocol, e.g. 'Filecoin'."
|
||||
},
|
||||
"permission_manageState": {
|
||||
"message": "Store and manage its data on your device.",
|
||||
@ -2693,6 +2693,10 @@
|
||||
"message": "Unknown permission: $1",
|
||||
"description": "$1 is the name of a requested permission that is not recognized."
|
||||
},
|
||||
"permission_viewBip32PublicKeys": {
|
||||
"message": "View your public key for $1 ($2).",
|
||||
"description": "The description for the `snap_getBip32PublicKey` permission. $1 is a derivation path, e.g. 'm/44'/0'/0''. $2 is the elliptic curve name, e.g. 'secp256k1'."
|
||||
},
|
||||
"permissions": {
|
||||
"message": "Permissions"
|
||||
},
|
||||
|
2
app/_locales/es/messages.json
generated
2
app/_locales/es/messages.json
generated
@ -2479,7 +2479,7 @@
|
||||
},
|
||||
"permission_manageBip44Keys": {
|
||||
"message": "Controle sus cuentas y activos \"$1\".",
|
||||
"description": "The description for the `snap_getBip44Entropy_*` permission. $1 is the name of a protocol, e.g. 'Filecoin'."
|
||||
"description": "The description for the `snap_getBip44Entropy` permission. $1 is the name of a protocol, e.g. 'Filecoin'."
|
||||
},
|
||||
"permission_manageState": {
|
||||
"message": "Almacene y administre sus datos en su dispositivo.",
|
||||
|
2
app/_locales/fr/messages.json
generated
2
app/_locales/fr/messages.json
generated
@ -2479,7 +2479,7 @@
|
||||
},
|
||||
"permission_manageBip44Keys": {
|
||||
"message": "Contrôlez vos comptes et actifs « $1 ».",
|
||||
"description": "The description for the `snap_getBip44Entropy_*` permission. $1 is the name of a protocol, e.g. 'Filecoin'."
|
||||
"description": "The description for the `snap_getBip44Entropy` permission. $1 is the name of a protocol, e.g. 'Filecoin'."
|
||||
},
|
||||
"permission_manageState": {
|
||||
"message": "Stockez et gérez ses données sur votre appareil.",
|
||||
|
2
app/_locales/hi/messages.json
generated
2
app/_locales/hi/messages.json
generated
@ -2479,7 +2479,7 @@
|
||||
},
|
||||
"permission_manageBip44Keys": {
|
||||
"message": "आपके \"$1\" अकाउंट्स और एसेट्स नियंत्रित करें।",
|
||||
"description": "The description for the `snap_getBip44Entropy_*` permission. $1 is the name of a protocol, e.g. 'Filecoin'."
|
||||
"description": "The description for the `snap_getBip44Entropy` permission. $1 is the name of a protocol, e.g. 'Filecoin'."
|
||||
},
|
||||
"permission_manageState": {
|
||||
"message": "उसके डेटा को अपने डिवाइस पर स्टोर करें और प्रबंधित करें।",
|
||||
|
2
app/_locales/id/messages.json
generated
2
app/_locales/id/messages.json
generated
@ -2479,7 +2479,7 @@
|
||||
},
|
||||
"permission_manageBip44Keys": {
|
||||
"message": "Kontrol akun dan aset \"$1\" Anda.",
|
||||
"description": "The description for the `snap_getBip44Entropy_*` permission. $1 is the name of a protocol, e.g. 'Filecoin'."
|
||||
"description": "The description for the `snap_getBip44Entropy` permission. $1 is the name of a protocol, e.g. 'Filecoin'."
|
||||
},
|
||||
"permission_manageState": {
|
||||
"message": "Simpan dan kelola datanya di perangkat Anda.",
|
||||
|
2
app/_locales/ja/messages.json
generated
2
app/_locales/ja/messages.json
generated
@ -2479,7 +2479,7 @@
|
||||
},
|
||||
"permission_manageBip44Keys": {
|
||||
"message": "「$1」アカウントとアセットをコントロールします。",
|
||||
"description": "The description for the `snap_getBip44Entropy_*` permission. $1 is the name of a protocol, e.g. 'Filecoin'."
|
||||
"description": "The description for the `snap_getBip44Entropy` permission. $1 is the name of a protocol, e.g. 'Filecoin'."
|
||||
},
|
||||
"permission_manageState": {
|
||||
"message": "デバイスにデータを保管し管理します。",
|
||||
|
2
app/_locales/ko/messages.json
generated
2
app/_locales/ko/messages.json
generated
@ -2479,7 +2479,7 @@
|
||||
},
|
||||
"permission_manageBip44Keys": {
|
||||
"message": "'$1' 계정과 자산을 통제합니다.",
|
||||
"description": "The description for the `snap_getBip44Entropy_*` permission. $1 is the name of a protocol, e.g. 'Filecoin'."
|
||||
"description": "The description for the `snap_getBip44Entropy` permission. $1 is the name of a protocol, e.g. 'Filecoin'."
|
||||
},
|
||||
"permission_manageState": {
|
||||
"message": "기기의 데이터를 저장하고 관리합니다.",
|
||||
|
2
app/_locales/pt/messages.json
generated
2
app/_locales/pt/messages.json
generated
@ -2479,7 +2479,7 @@
|
||||
},
|
||||
"permission_manageBip44Keys": {
|
||||
"message": "Controlar suas contas e ativos do \"$1\".",
|
||||
"description": "The description for the `snap_getBip44Entropy_*` permission. $1 is the name of a protocol, e.g. 'Filecoin'."
|
||||
"description": "The description for the `snap_getBip44Entropy` permission. $1 is the name of a protocol, e.g. 'Filecoin'."
|
||||
},
|
||||
"permission_manageState": {
|
||||
"message": "Armazenar e gerenciar dados pertinentes em seu dispositivo.",
|
||||
|
2
app/_locales/ru/messages.json
generated
2
app/_locales/ru/messages.json
generated
@ -2479,7 +2479,7 @@
|
||||
},
|
||||
"permission_manageBip44Keys": {
|
||||
"message": "Контролируйте свои счета и активы «$1».",
|
||||
"description": "The description for the `snap_getBip44Entropy_*` permission. $1 is the name of a protocol, e.g. 'Filecoin'."
|
||||
"description": "The description for the `snap_getBip44Entropy` permission. $1 is the name of a protocol, e.g. 'Filecoin'."
|
||||
},
|
||||
"permission_manageState": {
|
||||
"message": "Храните и управляйте его данными на вашем устройстве.",
|
||||
|
2
app/_locales/tl/messages.json
generated
2
app/_locales/tl/messages.json
generated
@ -2479,7 +2479,7 @@
|
||||
},
|
||||
"permission_manageBip44Keys": {
|
||||
"message": "Kontrolin ang iyong mga account at asset sa \"$1\".",
|
||||
"description": "The description for the `snap_getBip44Entropy_*` permission. $1 is the name of a protocol, e.g. 'Filecoin'."
|
||||
"description": "The description for the `snap_getBip44Entropy` permission. $1 is the name of a protocol, e.g. 'Filecoin'."
|
||||
},
|
||||
"permission_manageState": {
|
||||
"message": "Iimbak at pamahalaan ang datos nito sa iyong device.",
|
||||
|
2
app/_locales/tr/messages.json
generated
2
app/_locales/tr/messages.json
generated
@ -2479,7 +2479,7 @@
|
||||
},
|
||||
"permission_manageBip44Keys": {
|
||||
"message": "\"$1\" hesaplarını ve varlıklarını kontrol et.",
|
||||
"description": "The description for the `snap_getBip44Entropy_*` permission. $1 is the name of a protocol, e.g. 'Filecoin'."
|
||||
"description": "The description for the `snap_getBip44Entropy` permission. $1 is the name of a protocol, e.g. 'Filecoin'."
|
||||
},
|
||||
"permission_manageState": {
|
||||
"message": "Verilerini cihazında sakla ve yönet.",
|
||||
|
2
app/_locales/vi/messages.json
generated
2
app/_locales/vi/messages.json
generated
@ -2479,7 +2479,7 @@
|
||||
},
|
||||
"permission_manageBip44Keys": {
|
||||
"message": "Kiểm soát các tài khoản và tài sản \"$1\" của bạn.",
|
||||
"description": "The description for the `snap_getBip44Entropy_*` permission. $1 is the name of a protocol, e.g. 'Filecoin'."
|
||||
"description": "The description for the `snap_getBip44Entropy` permission. $1 is the name of a protocol, e.g. 'Filecoin'."
|
||||
},
|
||||
"permission_manageState": {
|
||||
"message": "Lưu trữ và quản lý dữ liệu trong thiết bị.",
|
||||
|
2
app/_locales/zh/messages.json
generated
2
app/_locales/zh/messages.json
generated
@ -2489,7 +2489,7 @@
|
||||
},
|
||||
"permission_manageBip44Keys": {
|
||||
"message": "控制您的“$1”账户和资产。",
|
||||
"description": "The description for the `snap_getBip44Entropy_*` permission. $1 is the name of a protocol, e.g. 'Filecoin'."
|
||||
"description": "The description for the `snap_getBip44Entropy` permission. $1 is the name of a protocol, e.g. 'Filecoin'."
|
||||
},
|
||||
"permission_manageState": {
|
||||
"message": "在您的设备上存储和管理其数据。",
|
||||
|
@ -651,7 +651,7 @@ export default class MetamaskController extends EventEmitter {
|
||||
///: BEGIN:ONLY_INCLUDE_IN(flask)
|
||||
this.snapExecutionService = new IframeExecutionService({
|
||||
iframeUrl: new URL(
|
||||
'https://metamask.github.io/iframe-execution-environment/0.7.0',
|
||||
'https://metamask.github.io/iframe-execution-environment/0.8.0',
|
||||
),
|
||||
messenger: this.controllerMessenger.getRestricted({
|
||||
name: 'ExecutionService',
|
||||
|
@ -67,7 +67,7 @@ module.exports = {
|
||||
// installed in @metamask/controllers so I had to just blanket specify all
|
||||
// of the @metamask/controllers folder.
|
||||
transformIgnorePatterns: [
|
||||
'/node_modules/(?!(multiformats|uuid|nanoid|@metamask/controllers|@metamask/snap-controllers)/)',
|
||||
'/node_modules/(?!(multiformats|uuid|nanoid|@metamask/controllers|@metamask/snap-controllers|@metamask/rpc-methods)/)',
|
||||
],
|
||||
workerIdleMemoryLimit: '500MB',
|
||||
};
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -134,11 +134,11 @@
|
||||
"@metamask/obs-store": "^5.0.0",
|
||||
"@metamask/post-message-stream": "^4.0.0",
|
||||
"@metamask/providers": "^9.0.0",
|
||||
"@metamask/rpc-methods": "^0.20.0",
|
||||
"@metamask/rpc-methods": "^0.21.0",
|
||||
"@metamask/slip44": "^2.1.0",
|
||||
"@metamask/smart-transactions-controller": "^2.3.1",
|
||||
"@metamask/snap-controllers": "^0.20.0",
|
||||
"@metamask/snap-utils": "^0.20.0",
|
||||
"@metamask/snap-controllers": "^0.21.0",
|
||||
"@metamask/snap-utils": "^0.21.0",
|
||||
"@ngraveio/bc-ur": "^1.1.6",
|
||||
"@popperjs/core": "^2.4.0",
|
||||
"@reduxjs/toolkit": "^1.6.2",
|
||||
|
@ -1,62 +0,0 @@
|
||||
diff --git a/node_modules/@metamask/snap-controllers/dist/snaps/SnapController.js b/node_modules/@metamask/snap-controllers/dist/snaps/SnapController.js
|
||||
index ad84417..158e8e6 100644
|
||||
--- a/node_modules/@metamask/snap-controllers/dist/snaps/SnapController.js
|
||||
+++ b/node_modules/@metamask/snap-controllers/dist/snaps/SnapController.js
|
||||
@@ -30,6 +30,7 @@ const RequestQueue_1 = require("./RequestQueue");
|
||||
const utils_3 = require("./utils");
|
||||
const Timer_1 = require("./Timer");
|
||||
exports.controllerName = 'SnapController';
|
||||
+exports.SNAP_APPROVAL_INSTALL = 'wallet_installSnap';
|
||||
exports.SNAP_APPROVAL_UPDATE = 'wallet_updateSnap';
|
||||
const TRUNCATED_SNAP_PROPERTIES = new Set([
|
||||
'initialPermissions',
|
||||
@@ -738,7 +739,7 @@ class SnapController extends controllers_1.BaseControllerV2 {
|
||||
id: snapId,
|
||||
versionRange,
|
||||
});
|
||||
- await this.authorize(snapId);
|
||||
+ await this.authorize(origin, snapId);
|
||||
await this._startSnap({
|
||||
snapId,
|
||||
sourceCode,
|
||||
@@ -1073,18 +1074,34 @@ class SnapController extends controllers_1.BaseControllerV2 {
|
||||
* @param snapId - The id of the Snap.
|
||||
* @returns The snap's approvedPermissions.
|
||||
*/
|
||||
- async authorize(snapId) {
|
||||
+ async authorize(origin, snapId) {
|
||||
console.info(`Authorizing snap: ${snapId}`);
|
||||
const snapsState = this.state.snaps;
|
||||
const snap = snapsState[snapId];
|
||||
const { initialPermissions } = snap;
|
||||
try {
|
||||
- if ((0, utils_1.isNonEmptyArray)(Object.keys(initialPermissions))) {
|
||||
- const processedPermissions = this.processSnapPermissions(initialPermissions);
|
||||
- const [approvedPermissions] = await this.messagingSystem.call('PermissionController:requestPermissions', { origin: snapId }, processedPermissions);
|
||||
- return Object.values(approvedPermissions).map((perm) => perm.parentCapability);
|
||||
+ const processedPermissions = this.processSnapPermissions(initialPermissions);
|
||||
+ const id = (0, nanoid_1.nanoid)();
|
||||
+ const isApproved = await this.messagingSystem.call('ApprovalController:addRequest', {
|
||||
+ origin,
|
||||
+ id,
|
||||
+ type: exports.SNAP_APPROVAL_INSTALL,
|
||||
+ requestData: {
|
||||
+ // Mirror previous installation metadata
|
||||
+ metadata: { id, origin: snapId, dappOrigin: origin },
|
||||
+ permissions: processedPermissions,
|
||||
+ snapId,
|
||||
+ },
|
||||
+ }, true);
|
||||
+ if (!isApproved) {
|
||||
+ throw eth_rpc_errors_1.ethErrors.provider.userRejectedRequest();
|
||||
+ }
|
||||
+ if ((0, utils_1.isNonEmptyArray)(Object.keys(processedPermissions))) {
|
||||
+ await this.messagingSystem.call('PermissionController:grantPermissions', {
|
||||
+ approvedPermissions: processedPermissions,
|
||||
+ subject: { origin: snapId },
|
||||
+ });
|
||||
}
|
||||
- return [];
|
||||
}
|
||||
finally {
|
||||
const runtime = this.getRuntimeExpect(snapId);
|
@ -8,16 +8,15 @@ export const RestrictedMethods = Object.freeze({
|
||||
snap_confirm: 'snap_confirm',
|
||||
snap_notify: 'snap_notify',
|
||||
snap_manageState: 'snap_manageState',
|
||||
snap_getBip32PublicKey: 'snap_getBip32PublicKey',
|
||||
snap_getBip32Entropy: 'snap_getBip32Entropy',
|
||||
snap_getBip44Entropy: 'snap_getBip44Entropy',
|
||||
'snap_getBip44Entropy_*': 'snap_getBip44Entropy_*',
|
||||
'wallet_snap_*': 'wallet_snap_*',
|
||||
///: END:ONLY_INCLUDE_IN
|
||||
} as const);
|
||||
|
||||
///: BEGIN:ONLY_INCLUDE_IN(flask)
|
||||
export const PermissionNamespaces = Object.freeze({
|
||||
snap_getBip44Entropy_: 'snap_getBip44Entropy_*',
|
||||
wallet_snap_: 'wallet_snap_*',
|
||||
} as const);
|
||||
|
||||
|
@ -1,3 +1,3 @@
|
||||
module.exports = {
|
||||
TEST_SNAPS_WEBSITE_URL: 'https://metamask.github.io/test-snaps/2.0.0',
|
||||
TEST_SNAPS_WEBSITE_URL: 'https://metamask.github.io/test-snaps/3.0.1',
|
||||
};
|
||||
|
@ -69,7 +69,7 @@ describe('Test Snap bip-44', function () {
|
||||
});
|
||||
// deal with permissions popover
|
||||
await driver.delay(1000);
|
||||
await driver.press('#key-access-bip44-legacy-0', driver.Key.SPACE);
|
||||
await driver.press('#key-access-bip44-1-0', driver.Key.SPACE);
|
||||
await driver.clickElement({
|
||||
text: 'Confirm',
|
||||
tag: 'button',
|
||||
|
@ -32,6 +32,20 @@ const PERMISSION_DESCRIPTIONS = deepFreeze({
|
||||
label: (t) => t('permission_notifications'),
|
||||
rightIcon: null,
|
||||
},
|
||||
[RestrictedMethods.snap_getBip32PublicKey]: {
|
||||
label: (t, _, permissionValue) => {
|
||||
return permissionValue.caveats[0].value.map(({ path, curve }) =>
|
||||
t('permission_viewBip32PublicKeys', [
|
||||
<span className="permission-label-item" key={path.join('/')}>
|
||||
{path.join('/')}
|
||||
</span>,
|
||||
curve,
|
||||
]),
|
||||
);
|
||||
},
|
||||
leftIcon: 'fas fa-eye',
|
||||
rightIcon: null,
|
||||
},
|
||||
[RestrictedMethods.snap_getBip32Entropy]: {
|
||||
label: (t, _, permissionValue) => {
|
||||
return permissionValue.caveats[0].value.map(({ path, curve }) =>
|
||||
@ -60,17 +74,6 @@ const PERMISSION_DESCRIPTIONS = deepFreeze({
|
||||
leftIcon: 'fas fa-door-open',
|
||||
rightIcon: null,
|
||||
},
|
||||
[RestrictedMethods['snap_getBip44Entropy_*']]: {
|
||||
label: (t, permissionName) => {
|
||||
const coinType = permissionName.split('_').slice(-1);
|
||||
return t('permission_manageBip44Keys', [
|
||||
coinTypeToProtocolName(coinType) ||
|
||||
`${coinType} (Unrecognized protocol)`,
|
||||
]);
|
||||
},
|
||||
leftIcon: 'fas fa-door-open',
|
||||
rightIcon: null,
|
||||
},
|
||||
[RestrictedMethods.snap_manageState]: {
|
||||
label: (t) => t('permission_manageState'),
|
||||
leftIcon: 'fas fa-download',
|
||||
|
@ -55,7 +55,9 @@ describe('useTokenData', () => {
|
||||
expect(result.current.args[0].toLowerCase()).toStrictEqual(
|
||||
tokenData.args[0],
|
||||
);
|
||||
expect(tokenData.args[1]).toStrictEqual(result.current.args[1]);
|
||||
expect(tokenData.args[1].toHexString()).toStrictEqual(
|
||||
result.current.args[1].toHexString(),
|
||||
);
|
||||
} else {
|
||||
expect(result.current).toStrictEqual(tokenData);
|
||||
}
|
||||
|
@ -1,6 +1,5 @@
|
||||
import PropTypes from 'prop-types';
|
||||
import React, { useCallback, useState } from 'react';
|
||||
import { flatMap } from '@metamask/snap-utils';
|
||||
import { PageContainerFooter } from '../../../../components/ui/page-container';
|
||||
import PermissionsConnectPermissionList from '../../../../components/app/permissions-connect-permission-list';
|
||||
import PermissionsConnectFooter from '../../../../components/app/permissions-connect-footer';
|
||||
@ -17,7 +16,7 @@ import {
|
||||
TYPOGRAPHY,
|
||||
} from '../../../../helpers/constants/design-system';
|
||||
import Typography from '../../../../components/ui/typography';
|
||||
import { coinTypeToProtocolName } from '../../../../helpers/utils/util';
|
||||
import { getSnapInstallWarnings } from '../util';
|
||||
|
||||
export default function SnapInstall({
|
||||
request,
|
||||
@ -42,31 +41,13 @@ export default function SnapInstall({
|
||||
const hasPermissions =
|
||||
request?.permissions && Object.keys(request.permissions).length > 0;
|
||||
|
||||
const bip44LegacyEntropyPermissions =
|
||||
request.permissions &&
|
||||
Object.keys(request.permissions).filter((v) =>
|
||||
v.startsWith('snap_getBip44Entropy_'),
|
||||
);
|
||||
const warnings = getSnapInstallWarnings(
|
||||
request.permissions,
|
||||
targetSubjectMetadata,
|
||||
t,
|
||||
);
|
||||
|
||||
const bip32EntropyPermissions =
|
||||
request.permissions &&
|
||||
Object.entries(request.permissions)
|
||||
.filter(([key]) => key === 'snap_getBip32Entropy')
|
||||
.map(([, value]) => value);
|
||||
|
||||
const bip44EntropyPermissions =
|
||||
request.permissions &&
|
||||
Object.entries(request.permissions)
|
||||
.filter(([key]) => key === 'snap_getBip44Entropy')
|
||||
.map(([, value]) => value);
|
||||
|
||||
const shouldShowWarning =
|
||||
bip32EntropyPermissions?.length > 0 ||
|
||||
bip44EntropyPermissions?.length > 0 ||
|
||||
bip44LegacyEntropyPermissions?.length > 0;
|
||||
|
||||
const getCoinType = (bip44EntropyPermission) =>
|
||||
bip44EntropyPermission?.split('_').slice(-1);
|
||||
const shouldShowWarning = warnings.length > 0;
|
||||
|
||||
return (
|
||||
<Box
|
||||
@ -130,38 +111,7 @@ export default function SnapInstall({
|
||||
<SnapInstallWarning
|
||||
onCancel={() => setIsShowingWarning(false)}
|
||||
onSubmit={onSubmit}
|
||||
warnings={[
|
||||
...flatMap(bip32EntropyPermissions, (permission, i) =>
|
||||
permission.caveats[0].value.map(({ path, curve }) => ({
|
||||
id: `key-access-bip32-${path.join('/')}-${curve}-${i}`,
|
||||
message: t('snapInstallWarningKeyAccess', [
|
||||
targetSubjectMetadata.name,
|
||||
`${path.join('/')} (${curve})`,
|
||||
]),
|
||||
})),
|
||||
),
|
||||
...flatMap(bip44EntropyPermissions, (permission, i) =>
|
||||
permission.caveats[0].value.map(({ coinType }) => ({
|
||||
id: `key-access-bip44-${coinType}-${i}`,
|
||||
message: t('snapInstallWarningKeyAccess', [
|
||||
targetSubjectMetadata.name,
|
||||
coinTypeToProtocolName(coinType) ||
|
||||
t('unrecognizedProtocol', [coinType]),
|
||||
]),
|
||||
})),
|
||||
),
|
||||
...bip44LegacyEntropyPermissions.map((permission, i) => {
|
||||
const coinType = getCoinType(permission);
|
||||
return {
|
||||
id: `key-access-bip44-legacy-${i}`,
|
||||
message: t('snapInstallWarningKeyAccess', [
|
||||
targetSubjectMetadata.name,
|
||||
coinTypeToProtocolName(coinType) ||
|
||||
t('unrecognizedProtocol', [coinType]),
|
||||
]),
|
||||
};
|
||||
}),
|
||||
]}
|
||||
warnings={warnings}
|
||||
/>
|
||||
)}
|
||||
</Box>
|
||||
|
@ -1,5 +1,5 @@
|
||||
import PropTypes from 'prop-types';
|
||||
import React, { useCallback, useMemo, useState } from 'react';
|
||||
import React, { useCallback, useState } from 'react';
|
||||
import { PageContainerFooter } from '../../../../components/ui/page-container';
|
||||
import PermissionsConnectFooter from '../../../../components/app/permissions-connect-footer';
|
||||
import PermissionConnectHeader from '../../../../components/app/permissions-connect-header';
|
||||
@ -16,6 +16,7 @@ import {
|
||||
} from '../../../../helpers/constants/design-system';
|
||||
import Typography from '../../../../components/ui/typography';
|
||||
import UpdateSnapPermissionList from '../../../../components/app/flask/update-snap-permission-list';
|
||||
import { getSnapInstallWarnings } from '../util';
|
||||
|
||||
export default function SnapUpdate({
|
||||
request,
|
||||
@ -37,17 +38,6 @@ export default function SnapUpdate({
|
||||
[request, approveSnapUpdate],
|
||||
);
|
||||
|
||||
const shouldShowWarning = useMemo(
|
||||
() =>
|
||||
Boolean(
|
||||
request.permissions &&
|
||||
Object.keys(request.permissions).find((v) =>
|
||||
v.startsWith('snap_getBip44Entropy_'),
|
||||
),
|
||||
),
|
||||
[request.permissions],
|
||||
);
|
||||
|
||||
const approvedPermissions = request.approvedPermissions ?? {};
|
||||
const revokedPermissions = request.unusedPermissions ?? {};
|
||||
const newPermissions = request.newPermissions ?? {};
|
||||
@ -57,6 +47,14 @@ export default function SnapUpdate({
|
||||
Object.keys(newPermissions).length >
|
||||
0;
|
||||
|
||||
const warnings = getSnapInstallWarnings(
|
||||
newPermissions,
|
||||
targetSubjectMetadata,
|
||||
t,
|
||||
);
|
||||
|
||||
const shouldShowWarning = warnings.length > 0;
|
||||
|
||||
return (
|
||||
<Box
|
||||
className="page-container snap-update"
|
||||
@ -131,6 +129,7 @@ export default function SnapUpdate({
|
||||
onCancel={() => setIsShowingWarning(false)}
|
||||
onSubmit={onSubmit}
|
||||
snapName={targetSubjectMetadata.name}
|
||||
warnings={warnings}
|
||||
/>
|
||||
)}
|
||||
</Box>
|
||||
|
38
ui/pages/permissions-connect/flask/util.js
Normal file
38
ui/pages/permissions-connect/flask/util.js
Normal file
@ -0,0 +1,38 @@
|
||||
import { flatMap } from '@metamask/snap-utils';
|
||||
import { coinTypeToProtocolName } from '../../../helpers/utils/util';
|
||||
|
||||
export function getSnapInstallWarnings(permissions, targetSubjectMetadata, t) {
|
||||
const bip32EntropyPermissions =
|
||||
permissions &&
|
||||
Object.entries(permissions)
|
||||
.filter(([key]) => key === 'snap_getBip32Entropy')
|
||||
.map(([, value]) => value);
|
||||
|
||||
const bip44EntropyPermissions =
|
||||
permissions &&
|
||||
Object.entries(permissions)
|
||||
.filter(([key]) => key === 'snap_getBip44Entropy')
|
||||
.map(([, value]) => value);
|
||||
|
||||
return [
|
||||
...flatMap(bip32EntropyPermissions, (permission, i) =>
|
||||
permission.caveats[0].value.map(({ path, curve }) => ({
|
||||
id: `key-access-bip32-${path.join('/')}-${curve}-${i}`,
|
||||
message: t('snapInstallWarningKeyAccess', [
|
||||
targetSubjectMetadata.name,
|
||||
`${path.join('/')} (${curve})`,
|
||||
]),
|
||||
})),
|
||||
),
|
||||
...flatMap(bip44EntropyPermissions, (permission, i) =>
|
||||
permission.caveats[0].value.map(({ coinType }) => ({
|
||||
id: `key-access-bip44-${coinType}-${i}`,
|
||||
message: t('snapInstallWarningKeyAccess', [
|
||||
targetSubjectMetadata.name,
|
||||
coinTypeToProtocolName(coinType) ||
|
||||
t('unrecognizedProtocol', [coinType]),
|
||||
]),
|
||||
})),
|
||||
),
|
||||
];
|
||||
}
|
@ -291,8 +291,7 @@ export function getSnapInstallOrUpdateRequests(state) {
|
||||
}
|
||||
|
||||
export function getFirstSnapInstallOrUpdateRequest(state) {
|
||||
const requests = getSnapInstallOrUpdateRequests(state);
|
||||
return requests && requests[0] ? requests[0] : null;
|
||||
return getSnapInstallOrUpdateRequests(state)?.[0] ?? null;
|
||||
}
|
||||
///: END:ONLY_INCLUDE_IN
|
||||
|
||||
|
408
yarn.lock
408
yarn.lock
@ -1488,7 +1488,7 @@
|
||||
"@ethereumjs/rlp" "^4.0.0-beta.2"
|
||||
ethereum-cryptography "^1.1.2"
|
||||
|
||||
"@ethersproject/abi@5.6.1", "@ethersproject/abi@^5.6.0":
|
||||
"@ethersproject/abi@5.6.1":
|
||||
version "5.6.1"
|
||||
resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.6.1.tgz#f7de888edeb56b0a657b672bdd1b3a1135cd14f7"
|
||||
integrity sha512-0cqssYh6FXjlwKWBmLm3+zH2BNARoS5u/hxbz+LpQmcDB3w0W553h2btWui1/uZp2GBM/SI3KniTuMcYyHpA5w==
|
||||
@ -1503,7 +1503,22 @@
|
||||
"@ethersproject/properties" "^5.6.0"
|
||||
"@ethersproject/strings" "^5.6.0"
|
||||
|
||||
"@ethersproject/abstract-provider@5.6.0", "@ethersproject/abstract-provider@^5.4.1", "@ethersproject/abstract-provider@^5.6.0":
|
||||
"@ethersproject/abi@^5.6.0", "@ethersproject/abi@^5.7.0":
|
||||
version "5.7.0"
|
||||
resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.7.0.tgz#b3f3e045bbbeed1af3947335c247ad625a44e449"
|
||||
integrity sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA==
|
||||
dependencies:
|
||||
"@ethersproject/address" "^5.7.0"
|
||||
"@ethersproject/bignumber" "^5.7.0"
|
||||
"@ethersproject/bytes" "^5.7.0"
|
||||
"@ethersproject/constants" "^5.7.0"
|
||||
"@ethersproject/hash" "^5.7.0"
|
||||
"@ethersproject/keccak256" "^5.7.0"
|
||||
"@ethersproject/logger" "^5.7.0"
|
||||
"@ethersproject/properties" "^5.7.0"
|
||||
"@ethersproject/strings" "^5.7.0"
|
||||
|
||||
"@ethersproject/abstract-provider@5.6.0":
|
||||
version "5.6.0"
|
||||
resolved "https://registry.yarnpkg.com/@ethersproject/abstract-provider/-/abstract-provider-5.6.0.tgz#0c4ac7054650dbd9c476cf5907f588bbb6ef3061"
|
||||
integrity sha512-oPMFlKLN+g+y7a79cLK3WiLcjWFnZQtXWgnLAbHZcN3s7L4v90UHpTOrLk+m3yr0gt+/h9STTM6zrr7PM8uoRw==
|
||||
@ -1516,7 +1531,20 @@
|
||||
"@ethersproject/transactions" "^5.6.0"
|
||||
"@ethersproject/web" "^5.6.0"
|
||||
|
||||
"@ethersproject/abstract-signer@5.6.0", "@ethersproject/abstract-signer@^5.4.1", "@ethersproject/abstract-signer@^5.6.0":
|
||||
"@ethersproject/abstract-provider@^5.4.1", "@ethersproject/abstract-provider@^5.6.0", "@ethersproject/abstract-provider@^5.7.0":
|
||||
version "5.7.0"
|
||||
resolved "https://registry.yarnpkg.com/@ethersproject/abstract-provider/-/abstract-provider-5.7.0.tgz#b0a8550f88b6bf9d51f90e4795d48294630cb9ef"
|
||||
integrity sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw==
|
||||
dependencies:
|
||||
"@ethersproject/bignumber" "^5.7.0"
|
||||
"@ethersproject/bytes" "^5.7.0"
|
||||
"@ethersproject/logger" "^5.7.0"
|
||||
"@ethersproject/networks" "^5.7.0"
|
||||
"@ethersproject/properties" "^5.7.0"
|
||||
"@ethersproject/transactions" "^5.7.0"
|
||||
"@ethersproject/web" "^5.7.0"
|
||||
|
||||
"@ethersproject/abstract-signer@5.6.0":
|
||||
version "5.6.0"
|
||||
resolved "https://registry.yarnpkg.com/@ethersproject/abstract-signer/-/abstract-signer-5.6.0.tgz#9cd7ae9211c2b123a3b29bf47aab17d4d016e3e7"
|
||||
integrity sha512-WOqnG0NJKtI8n0wWZPReHtaLkDByPL67tn4nBaDAhmVq8sjHTPbCdz4DRhVu/cfTOvfy9w3iq5QZ7BX7zw56BQ==
|
||||
@ -1527,7 +1555,18 @@
|
||||
"@ethersproject/logger" "^5.6.0"
|
||||
"@ethersproject/properties" "^5.6.0"
|
||||
|
||||
"@ethersproject/address@5.6.0", "@ethersproject/address@^5.6.0":
|
||||
"@ethersproject/abstract-signer@^5.4.1", "@ethersproject/abstract-signer@^5.6.0", "@ethersproject/abstract-signer@^5.7.0":
|
||||
version "5.7.0"
|
||||
resolved "https://registry.yarnpkg.com/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz#13f4f32117868452191a4649723cb086d2b596b2"
|
||||
integrity sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ==
|
||||
dependencies:
|
||||
"@ethersproject/abstract-provider" "^5.7.0"
|
||||
"@ethersproject/bignumber" "^5.7.0"
|
||||
"@ethersproject/bytes" "^5.7.0"
|
||||
"@ethersproject/logger" "^5.7.0"
|
||||
"@ethersproject/properties" "^5.7.0"
|
||||
|
||||
"@ethersproject/address@5.6.0":
|
||||
version "5.6.0"
|
||||
resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.6.0.tgz#13c49836d73e7885fc148ad633afad729da25012"
|
||||
integrity sha512-6nvhYXjbXsHPS+30sHZ+U4VMagFC/9zAk6Gd/h3S21YW4+yfb0WfRtaAIZ4kfM4rrVwqiy284LP0GtL5HXGLxQ==
|
||||
@ -1538,14 +1577,32 @@
|
||||
"@ethersproject/logger" "^5.6.0"
|
||||
"@ethersproject/rlp" "^5.6.0"
|
||||
|
||||
"@ethersproject/base64@5.6.0", "@ethersproject/base64@^5.6.0":
|
||||
"@ethersproject/address@^5.6.0", "@ethersproject/address@^5.7.0":
|
||||
version "5.7.0"
|
||||
resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.7.0.tgz#19b56c4d74a3b0a46bfdbb6cfcc0a153fc697f37"
|
||||
integrity sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA==
|
||||
dependencies:
|
||||
"@ethersproject/bignumber" "^5.7.0"
|
||||
"@ethersproject/bytes" "^5.7.0"
|
||||
"@ethersproject/keccak256" "^5.7.0"
|
||||
"@ethersproject/logger" "^5.7.0"
|
||||
"@ethersproject/rlp" "^5.7.0"
|
||||
|
||||
"@ethersproject/base64@5.6.0":
|
||||
version "5.6.0"
|
||||
resolved "https://registry.yarnpkg.com/@ethersproject/base64/-/base64-5.6.0.tgz#a12c4da2a6fb86d88563216b0282308fc15907c9"
|
||||
integrity sha512-2Neq8wxJ9xHxCF9TUgmKeSh9BXJ6OAxWfeGWvbauPh8FuHEjamgHilllx8KkSd5ErxyHIX7Xv3Fkcud2kY9ezw==
|
||||
dependencies:
|
||||
"@ethersproject/bytes" "^5.6.0"
|
||||
|
||||
"@ethersproject/basex@5.6.0", "@ethersproject/basex@^5.6.0":
|
||||
"@ethersproject/base64@^5.6.0", "@ethersproject/base64@^5.7.0":
|
||||
version "5.7.0"
|
||||
resolved "https://registry.yarnpkg.com/@ethersproject/base64/-/base64-5.7.0.tgz#ac4ee92aa36c1628173e221d0d01f53692059e1c"
|
||||
integrity sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ==
|
||||
dependencies:
|
||||
"@ethersproject/bytes" "^5.7.0"
|
||||
|
||||
"@ethersproject/basex@5.6.0":
|
||||
version "5.6.0"
|
||||
resolved "https://registry.yarnpkg.com/@ethersproject/basex/-/basex-5.6.0.tgz#9ea7209bf0a1c3ddc2a90f180c3a7f0d7d2e8a69"
|
||||
integrity sha512-qN4T+hQd/Md32MoJpc69rOwLYRUXwjTlhHDIeUkUmiN/JyWkkLLMoG0TqvSQKNqZOMgN5stbUYN6ILC+eD7MEQ==
|
||||
@ -1553,7 +1610,15 @@
|
||||
"@ethersproject/bytes" "^5.6.0"
|
||||
"@ethersproject/properties" "^5.6.0"
|
||||
|
||||
"@ethersproject/bignumber@5.6.0", "@ethersproject/bignumber@^5.6.0":
|
||||
"@ethersproject/basex@^5.6.0", "@ethersproject/basex@^5.7.0":
|
||||
version "5.7.0"
|
||||
resolved "https://registry.yarnpkg.com/@ethersproject/basex/-/basex-5.7.0.tgz#97034dc7e8938a8ca943ab20f8a5e492ece4020b"
|
||||
integrity sha512-ywlh43GwZLv2Voc2gQVTKBoVQ1mti3d8HK5aMxsfu/nRDnMmNqaSJ3r3n85HBByT8OpoY96SXM1FogC533T4zw==
|
||||
dependencies:
|
||||
"@ethersproject/bytes" "^5.7.0"
|
||||
"@ethersproject/properties" "^5.7.0"
|
||||
|
||||
"@ethersproject/bignumber@5.6.0":
|
||||
version "5.6.0"
|
||||
resolved "https://registry.yarnpkg.com/@ethersproject/bignumber/-/bignumber-5.6.0.tgz#116c81b075c57fa765a8f3822648cf718a8a0e26"
|
||||
integrity sha512-VziMaXIUHQlHJmkv1dlcd6GY2PmT0khtAqaMctCIDogxkrarMzA9L94KN1NeXqqOfFD6r0sJT3vCTOFSmZ07DA==
|
||||
@ -1562,21 +1627,44 @@
|
||||
"@ethersproject/logger" "^5.6.0"
|
||||
bn.js "^4.11.9"
|
||||
|
||||
"@ethersproject/bytes@5.6.1", "@ethersproject/bytes@^5.6.0":
|
||||
"@ethersproject/bignumber@^5.6.0", "@ethersproject/bignumber@^5.7.0":
|
||||
version "5.7.0"
|
||||
resolved "https://registry.yarnpkg.com/@ethersproject/bignumber/-/bignumber-5.7.0.tgz#e2f03837f268ba655ffba03a57853e18a18dc9c2"
|
||||
integrity sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw==
|
||||
dependencies:
|
||||
"@ethersproject/bytes" "^5.7.0"
|
||||
"@ethersproject/logger" "^5.7.0"
|
||||
bn.js "^5.2.1"
|
||||
|
||||
"@ethersproject/bytes@5.6.1":
|
||||
version "5.6.1"
|
||||
resolved "https://registry.yarnpkg.com/@ethersproject/bytes/-/bytes-5.6.1.tgz#24f916e411f82a8a60412344bf4a813b917eefe7"
|
||||
integrity sha512-NwQt7cKn5+ZE4uDn+X5RAXLp46E1chXoaMmrxAyA0rblpxz8t58lVkrHXoRIn0lz1joQElQ8410GqhTqMOwc6g==
|
||||
dependencies:
|
||||
"@ethersproject/logger" "^5.6.0"
|
||||
|
||||
"@ethersproject/constants@5.6.0", "@ethersproject/constants@^5.6.0":
|
||||
"@ethersproject/bytes@^5.6.0", "@ethersproject/bytes@^5.7.0":
|
||||
version "5.7.0"
|
||||
resolved "https://registry.yarnpkg.com/@ethersproject/bytes/-/bytes-5.7.0.tgz#a00f6ea8d7e7534d6d87f47188af1148d71f155d"
|
||||
integrity sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A==
|
||||
dependencies:
|
||||
"@ethersproject/logger" "^5.7.0"
|
||||
|
||||
"@ethersproject/constants@5.6.0":
|
||||
version "5.6.0"
|
||||
resolved "https://registry.yarnpkg.com/@ethersproject/constants/-/constants-5.6.0.tgz#55e3eb0918584d3acc0688e9958b0cedef297088"
|
||||
integrity sha512-SrdaJx2bK0WQl23nSpV/b1aq293Lh0sUaZT/yYKPDKn4tlAbkH96SPJwIhwSwTsoQQZxuh1jnqsKwyymoiBdWA==
|
||||
dependencies:
|
||||
"@ethersproject/bignumber" "^5.6.0"
|
||||
|
||||
"@ethersproject/contracts@5.6.0", "@ethersproject/contracts@^5.4.1":
|
||||
"@ethersproject/constants@^5.6.0", "@ethersproject/constants@^5.7.0":
|
||||
version "5.7.0"
|
||||
resolved "https://registry.yarnpkg.com/@ethersproject/constants/-/constants-5.7.0.tgz#df80a9705a7e08984161f09014ea012d1c75295e"
|
||||
integrity sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA==
|
||||
dependencies:
|
||||
"@ethersproject/bignumber" "^5.7.0"
|
||||
|
||||
"@ethersproject/contracts@5.6.0":
|
||||
version "5.6.0"
|
||||
resolved "https://registry.yarnpkg.com/@ethersproject/contracts/-/contracts-5.6.0.tgz#60f2cfc7addd99a865c6c8cfbbcec76297386067"
|
||||
integrity sha512-74Ge7iqTDom0NX+mux8KbRUeJgu1eHZ3iv6utv++sLJG80FVuU9HnHeKVPfjd9s3woFhaFoQGf3B3iH/FrQmgw==
|
||||
@ -1592,6 +1680,22 @@
|
||||
"@ethersproject/properties" "^5.6.0"
|
||||
"@ethersproject/transactions" "^5.6.0"
|
||||
|
||||
"@ethersproject/contracts@^5.4.1", "@ethersproject/contracts@^5.7.0":
|
||||
version "5.7.0"
|
||||
resolved "https://registry.yarnpkg.com/@ethersproject/contracts/-/contracts-5.7.0.tgz#c305e775abd07e48aa590e1a877ed5c316f8bd1e"
|
||||
integrity sha512-5GJbzEU3X+d33CdfPhcyS+z8MzsTrBGk/sc+G+59+tPa9yFkl6HQ9D6L0QMgNTA9q8dT0XKxxkyp883XsQvbbg==
|
||||
dependencies:
|
||||
"@ethersproject/abi" "^5.7.0"
|
||||
"@ethersproject/abstract-provider" "^5.7.0"
|
||||
"@ethersproject/abstract-signer" "^5.7.0"
|
||||
"@ethersproject/address" "^5.7.0"
|
||||
"@ethersproject/bignumber" "^5.7.0"
|
||||
"@ethersproject/bytes" "^5.7.0"
|
||||
"@ethersproject/constants" "^5.7.0"
|
||||
"@ethersproject/logger" "^5.7.0"
|
||||
"@ethersproject/properties" "^5.7.0"
|
||||
"@ethersproject/transactions" "^5.7.0"
|
||||
|
||||
"@ethersproject/hardware-wallets@^5.4.0":
|
||||
version "5.4.0"
|
||||
resolved "https://registry.yarnpkg.com/@ethersproject/hardware-wallets/-/hardware-wallets-5.4.0.tgz#bce275b395e26b6f50481095331157614490a473"
|
||||
@ -1604,7 +1708,7 @@
|
||||
optionalDependencies:
|
||||
"@ledgerhq/hw-transport-node-hid" "5.26.0"
|
||||
|
||||
"@ethersproject/hash@5.6.0", "@ethersproject/hash@^5.6.0":
|
||||
"@ethersproject/hash@5.6.0":
|
||||
version "5.6.0"
|
||||
resolved "https://registry.yarnpkg.com/@ethersproject/hash/-/hash-5.6.0.tgz#d24446a5263e02492f9808baa99b6e2b4c3429a2"
|
||||
integrity sha512-fFd+k9gtczqlr0/BruWLAu7UAOas1uRRJvOR84uDf4lNZ+bTkGl366qvniUZHKtlqxBRU65MkOobkmvmpHU+jA==
|
||||
@ -1618,6 +1722,21 @@
|
||||
"@ethersproject/properties" "^5.6.0"
|
||||
"@ethersproject/strings" "^5.6.0"
|
||||
|
||||
"@ethersproject/hash@^5.6.0", "@ethersproject/hash@^5.7.0":
|
||||
version "5.7.0"
|
||||
resolved "https://registry.yarnpkg.com/@ethersproject/hash/-/hash-5.7.0.tgz#eb7aca84a588508369562e16e514b539ba5240a7"
|
||||
integrity sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g==
|
||||
dependencies:
|
||||
"@ethersproject/abstract-signer" "^5.7.0"
|
||||
"@ethersproject/address" "^5.7.0"
|
||||
"@ethersproject/base64" "^5.7.0"
|
||||
"@ethersproject/bignumber" "^5.7.0"
|
||||
"@ethersproject/bytes" "^5.7.0"
|
||||
"@ethersproject/keccak256" "^5.7.0"
|
||||
"@ethersproject/logger" "^5.7.0"
|
||||
"@ethersproject/properties" "^5.7.0"
|
||||
"@ethersproject/strings" "^5.7.0"
|
||||
|
||||
"@ethersproject/hdnode@5.6.0", "@ethersproject/hdnode@^5.6.0":
|
||||
version "5.6.0"
|
||||
resolved "https://registry.yarnpkg.com/@ethersproject/hdnode/-/hdnode-5.6.0.tgz#9dcbe8d629bbbcf144f2cae476337fe92d320998"
|
||||
@ -1655,7 +1774,7 @@
|
||||
aes-js "3.0.0"
|
||||
scrypt-js "3.0.1"
|
||||
|
||||
"@ethersproject/keccak256@5.6.0", "@ethersproject/keccak256@^5.6.0":
|
||||
"@ethersproject/keccak256@5.6.0":
|
||||
version "5.6.0"
|
||||
resolved "https://registry.yarnpkg.com/@ethersproject/keccak256/-/keccak256-5.6.0.tgz#fea4bb47dbf8f131c2e1774a1cecbfeb9d606459"
|
||||
integrity sha512-tk56BJ96mdj/ksi7HWZVWGjCq0WVl/QvfhFQNeL8fxhBlGoP+L80uDCiQcpJPd+2XxkivS3lwRm3E0CXTfol0w==
|
||||
@ -1663,18 +1782,38 @@
|
||||
"@ethersproject/bytes" "^5.6.0"
|
||||
js-sha3 "0.8.0"
|
||||
|
||||
"@ethersproject/logger@5.6.0", "@ethersproject/logger@^5.6.0":
|
||||
"@ethersproject/keccak256@^5.6.0", "@ethersproject/keccak256@^5.7.0":
|
||||
version "5.7.0"
|
||||
resolved "https://registry.yarnpkg.com/@ethersproject/keccak256/-/keccak256-5.7.0.tgz#3186350c6e1cd6aba7940384ec7d6d9db01f335a"
|
||||
integrity sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg==
|
||||
dependencies:
|
||||
"@ethersproject/bytes" "^5.7.0"
|
||||
js-sha3 "0.8.0"
|
||||
|
||||
"@ethersproject/logger@5.6.0":
|
||||
version "5.6.0"
|
||||
resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.6.0.tgz#d7db1bfcc22fd2e4ab574cba0bb6ad779a9a3e7a"
|
||||
integrity sha512-BiBWllUROH9w+P21RzoxJKzqoqpkyM1pRnEKG69bulE9TSQD8SAIvTQqIMZmmCO8pUNkgLP1wndX1gKghSpBmg==
|
||||
|
||||
"@ethersproject/networks@5.6.2", "@ethersproject/networks@^5.6.0":
|
||||
"@ethersproject/logger@^5.6.0", "@ethersproject/logger@^5.7.0":
|
||||
version "5.7.0"
|
||||
resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.7.0.tgz#6ce9ae168e74fecf287be17062b590852c311892"
|
||||
integrity sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig==
|
||||
|
||||
"@ethersproject/networks@5.6.2":
|
||||
version "5.6.2"
|
||||
resolved "https://registry.yarnpkg.com/@ethersproject/networks/-/networks-5.6.2.tgz#2bacda62102c0b1fcee408315f2bed4f6fbdf336"
|
||||
integrity sha512-9uEzaJY7j5wpYGTojGp8U89mSsgQLc40PCMJLMCnFXTs7nhBveZ0t7dbqWUNrepWTszDbFkYD6WlL8DKx5huHA==
|
||||
dependencies:
|
||||
"@ethersproject/logger" "^5.6.0"
|
||||
|
||||
"@ethersproject/networks@^5.6.0", "@ethersproject/networks@^5.7.0":
|
||||
version "5.7.1"
|
||||
resolved "https://registry.yarnpkg.com/@ethersproject/networks/-/networks-5.7.1.tgz#118e1a981d757d45ccea6bb58d9fd3d9db14ead6"
|
||||
integrity sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ==
|
||||
dependencies:
|
||||
"@ethersproject/logger" "^5.7.0"
|
||||
|
||||
"@ethersproject/pbkdf2@5.6.0", "@ethersproject/pbkdf2@^5.6.0":
|
||||
version "5.6.0"
|
||||
resolved "https://registry.yarnpkg.com/@ethersproject/pbkdf2/-/pbkdf2-5.6.0.tgz#04fcc2d7c6bff88393f5b4237d906a192426685a"
|
||||
@ -1683,14 +1822,21 @@
|
||||
"@ethersproject/bytes" "^5.6.0"
|
||||
"@ethersproject/sha2" "^5.6.0"
|
||||
|
||||
"@ethersproject/properties@5.6.0", "@ethersproject/properties@^5.6.0":
|
||||
"@ethersproject/properties@5.6.0":
|
||||
version "5.6.0"
|
||||
resolved "https://registry.yarnpkg.com/@ethersproject/properties/-/properties-5.6.0.tgz#38904651713bc6bdd5bdd1b0a4287ecda920fa04"
|
||||
integrity sha512-szoOkHskajKePTJSZ46uHUWWkbv7TzP2ypdEK6jGMqJaEt2sb0jCgfBo0gH0m2HBpRixMuJ6TBRaQCF7a9DoCg==
|
||||
dependencies:
|
||||
"@ethersproject/logger" "^5.6.0"
|
||||
|
||||
"@ethersproject/providers@5.6.5", "@ethersproject/providers@^5.4.5":
|
||||
"@ethersproject/properties@^5.6.0", "@ethersproject/properties@^5.7.0":
|
||||
version "5.7.0"
|
||||
resolved "https://registry.yarnpkg.com/@ethersproject/properties/-/properties-5.7.0.tgz#a6e12cb0439b878aaf470f1902a176033067ed30"
|
||||
integrity sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw==
|
||||
dependencies:
|
||||
"@ethersproject/logger" "^5.7.0"
|
||||
|
||||
"@ethersproject/providers@5.6.5":
|
||||
version "5.6.5"
|
||||
resolved "https://registry.yarnpkg.com/@ethersproject/providers/-/providers-5.6.5.tgz#aefecf78459817a323452e05a16d56afcf807e27"
|
||||
integrity sha512-TRS+c2Ud+cMpWodmGAc9xbnYRPWzRNYt2zkCSnj58nJoamBQ6x4cUbBeo0lTC3y+6RDVIBeJv18OqsDbSktLVg==
|
||||
@ -1715,7 +1861,33 @@
|
||||
bech32 "1.1.4"
|
||||
ws "7.4.6"
|
||||
|
||||
"@ethersproject/random@5.6.0", "@ethersproject/random@^5.6.0":
|
||||
"@ethersproject/providers@^5.4.5", "@ethersproject/providers@^5.7.0":
|
||||
version "5.7.1"
|
||||
resolved "https://registry.yarnpkg.com/@ethersproject/providers/-/providers-5.7.1.tgz#b0799b616d5579cd1067a8ebf1fc1ec74c1e122c"
|
||||
integrity sha512-vZveG/DLyo+wk4Ga1yx6jSEHrLPgmTt+dFv0dv8URpVCRf0jVhalps1jq/emN/oXnMRsC7cQgAF32DcXLL7BPQ==
|
||||
dependencies:
|
||||
"@ethersproject/abstract-provider" "^5.7.0"
|
||||
"@ethersproject/abstract-signer" "^5.7.0"
|
||||
"@ethersproject/address" "^5.7.0"
|
||||
"@ethersproject/base64" "^5.7.0"
|
||||
"@ethersproject/basex" "^5.7.0"
|
||||
"@ethersproject/bignumber" "^5.7.0"
|
||||
"@ethersproject/bytes" "^5.7.0"
|
||||
"@ethersproject/constants" "^5.7.0"
|
||||
"@ethersproject/hash" "^5.7.0"
|
||||
"@ethersproject/logger" "^5.7.0"
|
||||
"@ethersproject/networks" "^5.7.0"
|
||||
"@ethersproject/properties" "^5.7.0"
|
||||
"@ethersproject/random" "^5.7.0"
|
||||
"@ethersproject/rlp" "^5.7.0"
|
||||
"@ethersproject/sha2" "^5.7.0"
|
||||
"@ethersproject/strings" "^5.7.0"
|
||||
"@ethersproject/transactions" "^5.7.0"
|
||||
"@ethersproject/web" "^5.7.0"
|
||||
bech32 "1.1.4"
|
||||
ws "7.4.6"
|
||||
|
||||
"@ethersproject/random@5.6.0":
|
||||
version "5.6.0"
|
||||
resolved "https://registry.yarnpkg.com/@ethersproject/random/-/random-5.6.0.tgz#1505d1ab6a250e0ee92f436850fa3314b2cb5ae6"
|
||||
integrity sha512-si0PLcLjq+NG/XHSZz90asNf+YfKEqJGVdxoEkSukzbnBgC8rydbgbUgBbBGLeHN4kAJwUFEKsu3sCXT93YMsw==
|
||||
@ -1723,7 +1895,15 @@
|
||||
"@ethersproject/bytes" "^5.6.0"
|
||||
"@ethersproject/logger" "^5.6.0"
|
||||
|
||||
"@ethersproject/rlp@5.6.0", "@ethersproject/rlp@^5.6.0":
|
||||
"@ethersproject/random@^5.6.0", "@ethersproject/random@^5.7.0":
|
||||
version "5.7.0"
|
||||
resolved "https://registry.yarnpkg.com/@ethersproject/random/-/random-5.7.0.tgz#af19dcbc2484aae078bb03656ec05df66253280c"
|
||||
integrity sha512-19WjScqRA8IIeWclFme75VMXSBvi4e6InrUNuaR4s5pTF2qNhcGdCUwdxUVGtDDqC00sDLCO93jPQoDUH4HVmQ==
|
||||
dependencies:
|
||||
"@ethersproject/bytes" "^5.7.0"
|
||||
"@ethersproject/logger" "^5.7.0"
|
||||
|
||||
"@ethersproject/rlp@5.6.0":
|
||||
version "5.6.0"
|
||||
resolved "https://registry.yarnpkg.com/@ethersproject/rlp/-/rlp-5.6.0.tgz#55a7be01c6f5e64d6e6e7edb6061aa120962a717"
|
||||
integrity sha512-dz9WR1xpcTL+9DtOT/aDO+YyxSSdO8YIS0jyZwHHSlAmnxA6cKU3TrTd4Xc/bHayctxTgGLYNuVVoiXE4tTq1g==
|
||||
@ -1731,7 +1911,15 @@
|
||||
"@ethersproject/bytes" "^5.6.0"
|
||||
"@ethersproject/logger" "^5.6.0"
|
||||
|
||||
"@ethersproject/sha2@5.6.0", "@ethersproject/sha2@^5.6.0":
|
||||
"@ethersproject/rlp@^5.6.0", "@ethersproject/rlp@^5.7.0":
|
||||
version "5.7.0"
|
||||
resolved "https://registry.yarnpkg.com/@ethersproject/rlp/-/rlp-5.7.0.tgz#de39e4d5918b9d74d46de93af80b7685a9c21304"
|
||||
integrity sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w==
|
||||
dependencies:
|
||||
"@ethersproject/bytes" "^5.7.0"
|
||||
"@ethersproject/logger" "^5.7.0"
|
||||
|
||||
"@ethersproject/sha2@5.6.0":
|
||||
version "5.6.0"
|
||||
resolved "https://registry.yarnpkg.com/@ethersproject/sha2/-/sha2-5.6.0.tgz#364c4c11cc753bda36f31f001628706ebadb64d9"
|
||||
integrity sha512-1tNWCPFLu1n3JM9t4/kytz35DkuF9MxqkGGEHNauEbaARdm2fafnOyw1s0tIQDPKF/7bkP1u3dbrmjpn5CelyA==
|
||||
@ -1740,7 +1928,16 @@
|
||||
"@ethersproject/logger" "^5.6.0"
|
||||
hash.js "1.1.7"
|
||||
|
||||
"@ethersproject/signing-key@5.6.1", "@ethersproject/signing-key@^5.6.0":
|
||||
"@ethersproject/sha2@^5.6.0", "@ethersproject/sha2@^5.7.0":
|
||||
version "5.7.0"
|
||||
resolved "https://registry.yarnpkg.com/@ethersproject/sha2/-/sha2-5.7.0.tgz#9a5f7a7824ef784f7f7680984e593a800480c9fb"
|
||||
integrity sha512-gKlH42riwb3KYp0reLsFTokByAKoJdgFCwI+CCiX/k+Jm2mbNs6oOaCjYQSlI1+XBVejwH2KrmCbMAT/GnRDQw==
|
||||
dependencies:
|
||||
"@ethersproject/bytes" "^5.7.0"
|
||||
"@ethersproject/logger" "^5.7.0"
|
||||
hash.js "1.1.7"
|
||||
|
||||
"@ethersproject/signing-key@5.6.1":
|
||||
version "5.6.1"
|
||||
resolved "https://registry.yarnpkg.com/@ethersproject/signing-key/-/signing-key-5.6.1.tgz#31b0a531520616254eb0465b9443e49515c4d457"
|
||||
integrity sha512-XvqQ20DH0D+bS3qlrrgh+axRMth5kD1xuvqUQUTeezxUTXBOeR6hWz2/C6FBEu39FRytyybIWrYf7YLSAKr1LQ==
|
||||
@ -1752,6 +1949,18 @@
|
||||
elliptic "6.5.4"
|
||||
hash.js "1.1.7"
|
||||
|
||||
"@ethersproject/signing-key@^5.6.0", "@ethersproject/signing-key@^5.7.0":
|
||||
version "5.7.0"
|
||||
resolved "https://registry.yarnpkg.com/@ethersproject/signing-key/-/signing-key-5.7.0.tgz#06b2df39411b00bc57c7c09b01d1e41cf1b16ab3"
|
||||
integrity sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q==
|
||||
dependencies:
|
||||
"@ethersproject/bytes" "^5.7.0"
|
||||
"@ethersproject/logger" "^5.7.0"
|
||||
"@ethersproject/properties" "^5.7.0"
|
||||
bn.js "^5.2.1"
|
||||
elliptic "6.5.4"
|
||||
hash.js "1.1.7"
|
||||
|
||||
"@ethersproject/solidity@5.6.0":
|
||||
version "5.6.0"
|
||||
resolved "https://registry.yarnpkg.com/@ethersproject/solidity/-/solidity-5.6.0.tgz#64657362a596bf7f5630bdc921c07dd78df06dc3"
|
||||
@ -1764,7 +1973,7 @@
|
||||
"@ethersproject/sha2" "^5.6.0"
|
||||
"@ethersproject/strings" "^5.6.0"
|
||||
|
||||
"@ethersproject/strings@5.6.0", "@ethersproject/strings@^5.6.0":
|
||||
"@ethersproject/strings@5.6.0":
|
||||
version "5.6.0"
|
||||
resolved "https://registry.yarnpkg.com/@ethersproject/strings/-/strings-5.6.0.tgz#9891b26709153d996bf1303d39a7f4bc047878fd"
|
||||
integrity sha512-uv10vTtLTZqrJuqBZR862ZQjTIa724wGPWQqZrofaPI/kUsf53TBG0I0D+hQ1qyNtllbNzaW+PDPHHUI6/65Mg==
|
||||
@ -1773,7 +1982,16 @@
|
||||
"@ethersproject/constants" "^5.6.0"
|
||||
"@ethersproject/logger" "^5.6.0"
|
||||
|
||||
"@ethersproject/transactions@5.6.0", "@ethersproject/transactions@^5.6.0":
|
||||
"@ethersproject/strings@^5.6.0", "@ethersproject/strings@^5.7.0":
|
||||
version "5.7.0"
|
||||
resolved "https://registry.yarnpkg.com/@ethersproject/strings/-/strings-5.7.0.tgz#54c9d2a7c57ae8f1205c88a9d3a56471e14d5ed2"
|
||||
integrity sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg==
|
||||
dependencies:
|
||||
"@ethersproject/bytes" "^5.7.0"
|
||||
"@ethersproject/constants" "^5.7.0"
|
||||
"@ethersproject/logger" "^5.7.0"
|
||||
|
||||
"@ethersproject/transactions@5.6.0":
|
||||
version "5.6.0"
|
||||
resolved "https://registry.yarnpkg.com/@ethersproject/transactions/-/transactions-5.6.0.tgz#4b594d73a868ef6e1529a2f8f94a785e6791ae4e"
|
||||
integrity sha512-4HX+VOhNjXHZyGzER6E/LVI2i6lf9ejYeWD6l4g50AdmimyuStKc39kvKf1bXWQMg7QNVh+uC7dYwtaZ02IXeg==
|
||||
@ -1788,6 +2006,21 @@
|
||||
"@ethersproject/rlp" "^5.6.0"
|
||||
"@ethersproject/signing-key" "^5.6.0"
|
||||
|
||||
"@ethersproject/transactions@^5.6.0", "@ethersproject/transactions@^5.7.0":
|
||||
version "5.7.0"
|
||||
resolved "https://registry.yarnpkg.com/@ethersproject/transactions/-/transactions-5.7.0.tgz#91318fc24063e057885a6af13fdb703e1f993d3b"
|
||||
integrity sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ==
|
||||
dependencies:
|
||||
"@ethersproject/address" "^5.7.0"
|
||||
"@ethersproject/bignumber" "^5.7.0"
|
||||
"@ethersproject/bytes" "^5.7.0"
|
||||
"@ethersproject/constants" "^5.7.0"
|
||||
"@ethersproject/keccak256" "^5.7.0"
|
||||
"@ethersproject/logger" "^5.7.0"
|
||||
"@ethersproject/properties" "^5.7.0"
|
||||
"@ethersproject/rlp" "^5.7.0"
|
||||
"@ethersproject/signing-key" "^5.7.0"
|
||||
|
||||
"@ethersproject/units@5.6.0":
|
||||
version "5.6.0"
|
||||
resolved "https://registry.yarnpkg.com/@ethersproject/units/-/units-5.6.0.tgz#e5cbb1906988f5740254a21b9ded6bd51e826d9c"
|
||||
@ -1818,7 +2051,7 @@
|
||||
"@ethersproject/transactions" "^5.6.0"
|
||||
"@ethersproject/wordlists" "^5.6.0"
|
||||
|
||||
"@ethersproject/web@5.6.0", "@ethersproject/web@^5.6.0":
|
||||
"@ethersproject/web@5.6.0":
|
||||
version "5.6.0"
|
||||
resolved "https://registry.yarnpkg.com/@ethersproject/web/-/web-5.6.0.tgz#4bf8b3cbc17055027e1a5dd3c357e37474eaaeb8"
|
||||
integrity sha512-G/XHj0hV1FxI2teHRfCGvfBUHFmU+YOSbCxlAMqJklxSa7QMiHFQfAxvwY2PFqgvdkxEKwRNr/eCjfAPEm2Ctg==
|
||||
@ -1829,6 +2062,17 @@
|
||||
"@ethersproject/properties" "^5.6.0"
|
||||
"@ethersproject/strings" "^5.6.0"
|
||||
|
||||
"@ethersproject/web@^5.6.0", "@ethersproject/web@^5.7.0":
|
||||
version "5.7.1"
|
||||
resolved "https://registry.yarnpkg.com/@ethersproject/web/-/web-5.7.1.tgz#de1f285b373149bee5928f4eb7bcb87ee5fbb4ae"
|
||||
integrity sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w==
|
||||
dependencies:
|
||||
"@ethersproject/base64" "^5.7.0"
|
||||
"@ethersproject/bytes" "^5.7.0"
|
||||
"@ethersproject/logger" "^5.7.0"
|
||||
"@ethersproject/properties" "^5.7.0"
|
||||
"@ethersproject/strings" "^5.7.0"
|
||||
|
||||
"@ethersproject/wordlists@5.6.0", "@ethersproject/wordlists@^5.6.0":
|
||||
version "5.6.0"
|
||||
resolved "https://registry.yarnpkg.com/@ethersproject/wordlists/-/wordlists-5.6.0.tgz#79e62c5276e091d8575f6930ba01a29218ded032"
|
||||
@ -2944,6 +3188,49 @@
|
||||
web3 "^0.20.7"
|
||||
web3-provider-engine "^16.0.3"
|
||||
|
||||
"@metamask/controllers@^31.0.0":
|
||||
version "31.1.0"
|
||||
resolved "https://registry.yarnpkg.com/@metamask/controllers/-/controllers-31.1.0.tgz#9335d8ebb68072625afa232240fe93a43174833d"
|
||||
integrity sha512-1jx88yz6v3BUHtz5ZQzbxV/euDI/ewZ1JqXtqQlgFFdFknr4oYcLNc2PnTPNF03vz4X2MlMzLHiREq1y/Kj/nA==
|
||||
dependencies:
|
||||
"@ethereumjs/common" "^2.3.1"
|
||||
"@ethereumjs/tx" "^3.2.1"
|
||||
"@ethersproject/abi" "^5.7.0"
|
||||
"@ethersproject/contracts" "^5.7.0"
|
||||
"@ethersproject/providers" "^5.7.0"
|
||||
"@keystonehq/metamask-airgapped-keyring" "^0.3.0"
|
||||
"@metamask/contract-metadata" "^1.35.0"
|
||||
"@metamask/metamask-eth-abis" "3.0.0"
|
||||
"@metamask/types" "^1.1.0"
|
||||
"@types/uuid" "^8.3.0"
|
||||
abort-controller "^3.0.0"
|
||||
async-mutex "^0.2.6"
|
||||
babel-runtime "^6.26.0"
|
||||
deep-freeze-strict "^1.1.1"
|
||||
eth-ens-namehash "^2.0.8"
|
||||
eth-json-rpc-infura "^5.1.0"
|
||||
eth-keyring-controller "^7.0.2"
|
||||
eth-method-registry "1.1.0"
|
||||
eth-phishing-detect "^1.2.0"
|
||||
eth-query "^2.1.2"
|
||||
eth-rpc-errors "^4.0.0"
|
||||
eth-sig-util "^3.0.0"
|
||||
ethereumjs-util "^7.0.10"
|
||||
ethereumjs-wallet "^1.0.1"
|
||||
ethjs-unit "^0.1.6"
|
||||
fast-deep-equal "^3.1.3"
|
||||
immer "^9.0.6"
|
||||
isomorphic-fetch "^3.0.0"
|
||||
json-rpc-engine "^6.1.0"
|
||||
jsonschema "^1.2.4"
|
||||
multiformats "^9.5.2"
|
||||
nanoid "^3.1.31"
|
||||
punycode "^2.1.1"
|
||||
single-call-balance-checker-abi "^1.0.0"
|
||||
uuid "^8.3.2"
|
||||
web3 "^0.20.7"
|
||||
web3-provider-engine "^16.0.3"
|
||||
|
||||
"@metamask/design-tokens@^1.6.0", "@metamask/design-tokens@^1.9.0":
|
||||
version "1.9.0"
|
||||
resolved "https://registry.yarnpkg.com/@metamask/design-tokens/-/design-tokens-1.9.0.tgz#2b173c671f36b0d3faa2e31ea4bf66e811a7ff49"
|
||||
@ -3035,16 +3322,16 @@
|
||||
resolved "https://registry.yarnpkg.com/@metamask/etherscan-link/-/etherscan-link-2.2.0.tgz#76314d0c1405a0669fc4a0a19e0877bd3d0c389f"
|
||||
integrity sha512-xUgehvgU+ZbzeJ44m4sUtsyf6Dwou+SlYhiKfi6lkRcbWh6Jl3TCi0YM9C7XWgxfnLSdQBO1ndvcp0kslKgMsA==
|
||||
|
||||
"@metamask/execution-environments@^0.20.0":
|
||||
version "0.20.0"
|
||||
resolved "https://registry.yarnpkg.com/@metamask/execution-environments/-/execution-environments-0.20.0.tgz#f92689b8f79f72ff5ed61764e44d499074bbb32f"
|
||||
integrity sha512-zlV1qT7I+bUZYVjo162INFu6dhwBnnO/4EXMzSPIeM/nedMp3gmCDE4L59ccpMxqGwdfuOTA2KHh9+gFKEnXdw==
|
||||
"@metamask/execution-environments@^0.21.0":
|
||||
version "0.21.0"
|
||||
resolved "https://registry.yarnpkg.com/@metamask/execution-environments/-/execution-environments-0.21.0.tgz#40d5c63215fb98a43f9d7b3b31c371dbed93adba"
|
||||
integrity sha512-KnQ07SRcht/jpHa4KLHftI034GPZXzz2I1RsWk/0OMxQ3ECGJwDroH92pXNRy0+HTdz31XWhMzdc1GW5rR2CzA==
|
||||
dependencies:
|
||||
"@metamask/object-multiplex" "^1.2.0"
|
||||
"@metamask/post-message-stream" "^6.0.0"
|
||||
"@metamask/providers" "^9.0.0"
|
||||
"@metamask/snap-types" "^0.20.0"
|
||||
"@metamask/snap-utils" "^0.20.0"
|
||||
"@metamask/snap-types" "^0.21.0"
|
||||
"@metamask/snap-utils" "^0.21.0"
|
||||
"@metamask/utils" "^2.0.0"
|
||||
eth-rpc-errors "^4.0.3"
|
||||
pump "^3.0.0"
|
||||
@ -3064,10 +3351,10 @@
|
||||
color "^0.11.3"
|
||||
mersenne-twister "^1.1.0"
|
||||
|
||||
"@metamask/key-tree@^4.0.0":
|
||||
version "4.0.0"
|
||||
resolved "https://registry.yarnpkg.com/@metamask/key-tree/-/key-tree-4.0.0.tgz#2de20618793e85ee300b4b3d4ca4de9d7f40e276"
|
||||
integrity sha512-Pj5nN6Ko15rei6dSgQnTH64JEN1I8JuTM6Q06/1V7Xp3Fw3g3Nf1scr/u7cQnL17YxXALMCDYaEPdQveo70kSA==
|
||||
"@metamask/key-tree@^5.0.2":
|
||||
version "5.0.2"
|
||||
resolved "https://registry.yarnpkg.com/@metamask/key-tree/-/key-tree-5.0.2.tgz#2d71ba26faddbad1735eeaa04dc37f1dfabfa9cf"
|
||||
integrity sha512-82m+GbL/EybAslxuPcnJtt2SUYPrggMeS25lILr5p+ZnM5G58pOoFmT3G2VMdZOE+tdUoX2dC4sOD7VcQ0pmQQ==
|
||||
dependencies:
|
||||
"@noble/ed25519" "^1.6.0"
|
||||
"@noble/hashes" "^1.0.0"
|
||||
@ -3167,14 +3454,14 @@
|
||||
pump "^3.0.0"
|
||||
webextension-polyfill-ts "^0.25.0"
|
||||
|
||||
"@metamask/rpc-methods@^0.20.0":
|
||||
version "0.20.0"
|
||||
resolved "https://registry.yarnpkg.com/@metamask/rpc-methods/-/rpc-methods-0.20.0.tgz#c0d3e6ea71bf9dbf69627307419393668ef736a6"
|
||||
integrity sha512-YBTqrOWE6OOh9Jk870w/7FE56Sf+Xa73L/6GatPJJViL4vbpsVBc745qXRvmdbFlZb3kficNeILsadYg9Cp+Og==
|
||||
"@metamask/rpc-methods@^0.21.0":
|
||||
version "0.21.0"
|
||||
resolved "https://registry.yarnpkg.com/@metamask/rpc-methods/-/rpc-methods-0.21.0.tgz#7d00029aeaa606d5780fb2e7c01069e714822ae4"
|
||||
integrity sha512-CXYBzIf6hYH8bkqkvGqFHFmsVdjYGznkgw96NpGosQS4vns07wrvBluA45WehAqgHDZHpom1ffQ8r11PksM86Q==
|
||||
dependencies:
|
||||
"@metamask/controllers" "^30.0.0"
|
||||
"@metamask/key-tree" "^4.0.0"
|
||||
"@metamask/snap-utils" "^0.20.0"
|
||||
"@metamask/controllers" "^31.0.0"
|
||||
"@metamask/key-tree" "^5.0.2"
|
||||
"@metamask/snap-utils" "^0.21.0"
|
||||
"@metamask/types" "^1.1.0"
|
||||
"@metamask/utils" "^2.1.0"
|
||||
eth-rpc-errors "^4.0.2"
|
||||
@ -3202,18 +3489,18 @@
|
||||
isomorphic-fetch "^3.0.0"
|
||||
lodash "^4.17.21"
|
||||
|
||||
"@metamask/snap-controllers@^0.20.0":
|
||||
version "0.20.0"
|
||||
resolved "https://registry.yarnpkg.com/@metamask/snap-controllers/-/snap-controllers-0.20.0.tgz#d4cc2717a4d6119f5af9a04569a3c6dd7f399153"
|
||||
integrity sha512-zStPQSf7YUu84CbXg/UH3cYXRDkpVrl503bRBN/RpPyKntku8fxP9SSWq9BqNGLwYRKiXIjH+ogtYXyEh5LiBQ==
|
||||
"@metamask/snap-controllers@^0.21.0":
|
||||
version "0.21.0"
|
||||
resolved "https://registry.yarnpkg.com/@metamask/snap-controllers/-/snap-controllers-0.21.0.tgz#5fdc2f350c8739b070f1bfdbc9c7ef7409af234d"
|
||||
integrity sha512-WZyfB+mQMifB7a5tf5WEVrWnLdoSMG/sXL6YQnItC/96SUX//c9IW+iNB6ZZfiP5lJFwafN5hjOExWH3O/fwbw==
|
||||
dependencies:
|
||||
"@metamask/browser-passworder" "^3.0.0"
|
||||
"@metamask/controllers" "^30.0.0"
|
||||
"@metamask/execution-environments" "^0.20.0"
|
||||
"@metamask/controllers" "^31.0.0"
|
||||
"@metamask/execution-environments" "^0.21.0"
|
||||
"@metamask/object-multiplex" "^1.1.0"
|
||||
"@metamask/post-message-stream" "^6.0.0"
|
||||
"@metamask/rpc-methods" "^0.20.0"
|
||||
"@metamask/snap-utils" "^0.20.0"
|
||||
"@metamask/rpc-methods" "^0.21.0"
|
||||
"@metamask/snap-utils" "^0.21.0"
|
||||
"@metamask/utils" "^2.0.0"
|
||||
"@xstate/fsm" "^2.0.0"
|
||||
concat-stream "^2.0.0"
|
||||
@ -3227,21 +3514,22 @@
|
||||
readable-web-to-node-stream "^3.0.2"
|
||||
tar-stream "^2.2.0"
|
||||
|
||||
"@metamask/snap-types@^0.20.0":
|
||||
version "0.20.0"
|
||||
resolved "https://registry.yarnpkg.com/@metamask/snap-types/-/snap-types-0.20.0.tgz#5ca3a79a3fbde0a7bb1214a80d8c4f43b7a7e22c"
|
||||
integrity sha512-hYk1ruDolc46I+ebqpBRiL+hIfVMbrRZtHDlKiBwr3iFw73PPKacvrSUaI6rSCLeHKEwCF6IEkTfLxnGWJNYhw==
|
||||
"@metamask/snap-types@^0.21.0":
|
||||
version "0.21.0"
|
||||
resolved "https://registry.yarnpkg.com/@metamask/snap-types/-/snap-types-0.21.0.tgz#51380240a97a6ef492dca9d5bcb2d7c6f6c8a023"
|
||||
integrity sha512-wyamdpiZqVfrHjAysnplVQexEisH8b00XTv6F8kTyKd4pbRTBswmOOc1DhBbi2+7Fw2J5a7pdLb9+/MRMwnztg==
|
||||
dependencies:
|
||||
"@metamask/controllers" "^30.0.0"
|
||||
"@metamask/snap-utils" "^0.20.0"
|
||||
"@metamask/providers" "^9.0.0"
|
||||
"@metamask/snap-utils" "^0.21.0"
|
||||
"@metamask/types" "^1.1.0"
|
||||
|
||||
"@metamask/snap-utils@^0.20.0":
|
||||
version "0.20.0"
|
||||
resolved "https://registry.yarnpkg.com/@metamask/snap-utils/-/snap-utils-0.20.0.tgz#670a2f5b67381c3b944a44ee179ce0190fcdfe63"
|
||||
integrity sha512-g5GnsQS/IhJM9uRNTzhwK5vBSm+eThFjX0AyOp72xXB1n0uJVL/XbE8wgJSdiniqOI+jaxMh5vHxhfd2FdqcmQ==
|
||||
"@metamask/snap-utils@^0.21.0":
|
||||
version "0.21.0"
|
||||
resolved "https://registry.yarnpkg.com/@metamask/snap-utils/-/snap-utils-0.21.0.tgz#7ed5df1d0c25f2660ce36dcc436f3608d72e92d5"
|
||||
integrity sha512-bfGvCIZd1zfuRUFN68F0HrIHfsCmoh/j6/Sm5sj6v7mIGyERbgpu0mYEwKIRjuCtV5GkGimXU6H2Tof+ZWrLtQ==
|
||||
dependencies:
|
||||
"@babel/core" "^7.18.6"
|
||||
"@metamask/snap-types" "^0.20.0"
|
||||
"@metamask/snap-types" "^0.21.0"
|
||||
"@metamask/utils" "^2.0.0"
|
||||
ajv "^8.11.0"
|
||||
eth-rpc-errors "^4.0.3"
|
||||
@ -7572,7 +7860,7 @@ bn.js@=2.0.4:
|
||||
resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-2.0.4.tgz#220a7cd677f7f1bfa93627ff4193776fe7819480"
|
||||
integrity sha1-Igp81nf38b+pNif/QZN3b+eBlIA=
|
||||
|
||||
bn.js@>4.0.0, bn.js@^5.1.1, bn.js@^5.1.2, bn.js@^5.1.3, bn.js@^5.2.0:
|
||||
bn.js@>4.0.0, bn.js@^5.1.1, bn.js@^5.1.2, bn.js@^5.1.3, bn.js@^5.2.0, bn.js@^5.2.1:
|
||||
version "5.2.1"
|
||||
resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.1.tgz#0bc527a6a0d18d0aa8d5b0538ce4a77dccfa7b70"
|
||||
integrity sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==
|
||||
|
Loading…
Reference in New Issue
Block a user