1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-12-22 09:23:21 +01:00

[MMI] Handle personal sign and sign typed operations (#20087)

* adds listeners for signatureControll and adds the handleSigningEvents method

* clean up

* updates signature request containers files

* adds necessary methods

* wip

* signing flow with core methods

* yarn lint

* updates logic to fit latest signatureCOntroller

* updates mmi extension package

* updates signature-controller and message-manager packages

* checkout develop lock file and run yarn

* checkout develop lock file and package.json to test circleci

* test fix

* adds signature-controller new version

* updates mmi extension package

* tx-list update and runs lavamoat auto

* lint fix

* runs lavamoat auto

* resets lavamoat/build-system/policy.jsono to develop

* Update LavaMoat policies

* adds back the dispatch

* lint

* clean up

* clean up

* applies patch for signature controller

* clean patch file

---------

Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
This commit is contained in:
António Regadas 2023-07-21 16:52:47 +01:00 committed by GitHub
parent c9ce85bd85
commit 8ee733c0d5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
21 changed files with 740 additions and 599 deletions

View File

@ -1,17 +0,0 @@
diff --git a/dist/SignatureController.js b/dist/SignatureController.js
index b58b27e84aa84393afb366d4585c084d0380d21d..0629bcf517db744ccfa40e4d7d8f2829fa95559e 100644
--- a/dist/SignatureController.js
+++ b/dist/SignatureController.js
@@ -237,8 +237,11 @@ _SignatureController_keyringController = new WeakMap(), _SignatureController_isE
yield __classPrivateFieldGet(this, _SignatureController_instances, "m", _SignatureController_requestApproval).call(this, messageParamsWithId, approvalType);
}
catch (error) {
+ signaturePromise.catch(() => {
+ // Expecting reject error but throwing manually rather than waiting
+ });
__classPrivateFieldGet(this, _SignatureController_instances, "m", _SignatureController_cancelAbstractMessage).call(this, messageManager, messageId);
- throw eth_rpc_errors_1.ethErrors.provider.userRejectedRequest('User rejected the request.');
+ throw eth_rpc_errors_1.ethErrors.provider.userRejectedRequest(`MetaMask ${messageName} Signature: User denied message signature.`);
}
yield signMessage(messageParamsWithId, version, signingOpts);
return signaturePromise;

View File

@ -0,0 +1,26 @@
diff --git a/dist/SignatureController.js b/dist/SignatureController.js
index a2f064efa2a2700db00767daa4ce6bd22b1932c4..17edb51b6c526f27fb4c19f2d2fda3d7140c66b4 100644
--- a/dist/SignatureController.js
+++ b/dist/SignatureController.js
@@ -283,8 +283,11 @@ _SignatureController_keyringController = new WeakMap(), _SignatureController_isE
resultCallbacks = acceptResult.resultCallbacks;
}
catch (_a) {
+ signaturePromise.catch(() => {
+ // Expecting reject error but throwing manually rather than waiting
+ });
__classPrivateFieldGet(this, _SignatureController_instances, "m", _SignatureController_cancelAbstractMessage).call(this, messageManager, messageId);
- throw eth_rpc_errors_1.ethErrors.provider.userRejectedRequest('User rejected the request.');
+ throw eth_rpc_errors_1.ethErrors.provider.userRejectedRequest(`MetaMask ${messageName} Signature: User denied message signature.`);
}
yield signMessage(messageParamsWithId, signingOpts);
const signatureResult = yield signaturePromise;
@@ -305,7 +308,7 @@ _SignatureController_keyringController = new WeakMap(), _SignatureController_isE
return __awaiter(this, void 0, void 0, function* () {
return yield __classPrivateFieldGet(this, _SignatureController_instances, "m", _SignatureController_signAbstractMessage).call(this, __classPrivateFieldGet(this, _SignatureController_personalMessageManager, "f"), controller_utils_1.ApprovalType.PersonalSign, msgParams, (cleanMsgParams) => __awaiter(this, void 0, void 0, function* () { return yield __classPrivateFieldGet(this, _SignatureController_keyringController, "f").signPersonalMessage(cleanMsgParams); }));
});
-}, _SignatureController_signTypedMessage = function _SignatureController_signTypedMessage(msgParams,
+}, _SignatureController_signTypedMessage = function _SignatureController_signTypedMessage(msgParams,
/* istanbul ignore next */
opts = { parseJsonData: true }) {
return __awaiter(this, void 0, void 0, function* () {

View File

@ -2,10 +2,6 @@ import EventEmitter from 'events';
import log from 'loglevel';
import { captureException } from '@sentry/browser';
import { isEqual } from 'lodash';
import {
PersonalMessageManager,
TypedMessageManager,
} from '@metamask/message-manager';
import { CUSTODIAN_TYPES } from '@metamask-institutional/custody-keyring';
import {
updateCustodianTransactions,
@ -48,20 +44,10 @@ export default class MMIController extends EventEmitter {
this.metaMetricsController = opts.metaMetricsController;
this.networkController = opts.networkController;
this.permissionController = opts.permissionController;
this.signatureController = opts.signatureController;
this.platform = opts.platform;
this.extension = opts.extension;
this.personalMessageManager = new PersonalMessageManager(
undefined,
undefined,
this.securityProviderRequest,
);
this.typedMessageManager = new TypedMessageManager(
undefined,
undefined,
this.securityProviderRequest,
);
// Prepare event listener after transactionUpdateController gets initiated
this.transactionUpdateController.prepareEventListener(
this.custodianEventHandlerFactory.bind(this),
@ -87,6 +73,20 @@ export default class MMIController extends EventEmitter {
await this.prepareMmiPortfolio();
}, this.preferencesController.store.getState()),
);
this.signatureController.hub.on(
'personal_sign:signed',
async ({ signature, messageId }) => {
await this.handleSigningEvents(signature, messageId, 'personal');
},
);
this.signatureController.hub.on(
'eth_signTypedData:signed',
async ({ signature, messageId }) => {
await this.handleSigningEvents(signature, messageId, 'v4');
},
);
} // End of constructor
async persistKeyringsAfterRefreshTokenChange() {
@ -111,8 +111,7 @@ export default class MMIController extends EventEmitter {
getState: () => this.getState(),
getPendingNonce: (address) => this.getPendingNonce(address),
setTxHash: (txId, txHash) => this.txController.setTxHash(txId, txHash),
typedMessageManager: this.typedMessageManager,
personalMessageManager: this.personalMessageManager,
signatureController: this.signatureController,
txStateManager: this.txController.txStateManager,
custodyController: this.custodyController,
trackTransactionEvent:
@ -185,9 +184,10 @@ export default class MMIController extends EventEmitter {
keyring,
type,
txList,
getPendingNonce: this.getPendingNonce.bind(this),
getPendingNonce: (address) => this.getPendingNonce(address),
setTxHash: (txId, txHash) =>
this.txController.setTxHash(txId, txHash),
txStateManager: this.txController.txStateManager,
setTxHash: this.txController.setTxHash.bind(this.txController),
custodyController: this.custodyController,
transactionUpdateController: this.transactionUpdateController,
});
@ -572,6 +572,42 @@ export default class MMIController extends EventEmitter {
}
}
async newUnsignedMessage(msgParams, req, version) {
const updatedMsgParams = { ...msgParams, deferSetAsSigned: true };
if (req.method.includes('eth_signTypedData')) {
return await this.signatureController.newUnsignedTypedMessage(
updatedMsgParams,
req,
version,
);
} else if (req.method.includes('personal_sign')) {
return await this.signatureController.newUnsignedPersonalMessage(
updatedMsgParams,
req,
);
}
return await this.signatureController.newUnsignedMessage(
updatedMsgParams,
req,
);
}
async handleSigningEvents(signature, messageId, signOperation) {
if (signature.custodian_transactionId) {
this.transactionUpdateController.addTransactionToWatchList(
signature.custodian_transactionId,
signature.from,
signOperation,
true,
);
}
this.signatureController.setMessageMetadata(messageId, signature);
return this.getState();
}
async setAccountAndNetwork(origin, address, chainId) {
await this.appStateController.getUnlockPromise(true);
const selectedAddress = this.preferencesController.getSelectedAddress();

View File

@ -2,6 +2,7 @@
import { KeyringController } from '@metamask/eth-keyring-controller';
import { MmiConfigurationController } from '@metamask-institutional/custody-keyring';
import { TransactionUpdateController } from '@metamask-institutional/transaction-update';
import { SignatureController } from '@metamask/signature-controller';
import MMIController from './mmi-controller';
import TransactionController from './transactions';
@ -33,6 +34,20 @@ describe('MMIController', function () {
getNetworkId: jest.fn(),
onNetworkStateChange: jest.fn(),
}),
signatureController: new SignatureController({
messenger: {
registerActionHandler: jest.fn(),
publish: jest.fn(),
call: jest.fn(),
},
keyringController: new KeyringController({
initState: {},
}),
isEthSignEnabled: jest.fn(),
getAllState: jest.fn(),
securityProviderRequest: jest.fn(),
getCurrentChainId: jest.fn(),
}),
preferencesController: new PreferencesController({
initState: {},
onInfuraIsBlocked: jest.fn(),

View File

@ -1188,28 +1188,6 @@ export default class MetamaskController extends EventEmitter {
}),
});
///: BEGIN:ONLY_INCLUDE_IN(build-mmi)
this.mmiController = new MMIController({
mmiConfigurationController: this.mmiConfigurationController,
keyringController: this.keyringController,
txController: this.txController,
securityProviderRequest: this.securityProviderRequest.bind(this),
preferencesController: this.preferencesController,
appStateController: this.appStateController,
transactionUpdateController: this.transactionUpdateController,
custodyController: this.custodyController,
institutionalFeaturesController: this.institutionalFeaturesController,
getState: this.getState.bind(this),
getPendingNonce: this.getPendingNonce.bind(this),
accountTracker: this.accountTracker,
metaMetricsController: this.metaMetricsController,
networkController: this.networkController,
permissionController: this.permissionController,
platform: this.platform,
extension: this.extension,
});
///: END:ONLY_INCLUDE_IN
this.txController.on(`tx:status-update`, async (txId, status) => {
if (
status === TransactionStatus.confirmed ||
@ -1371,6 +1349,29 @@ export default class MetamaskController extends EventEmitter {
},
);
///: BEGIN:ONLY_INCLUDE_IN(build-mmi)
this.mmiController = new MMIController({
mmiConfigurationController: this.mmiConfigurationController,
keyringController: this.keyringController,
txController: this.txController,
securityProviderRequest: this.securityProviderRequest.bind(this),
preferencesController: this.preferencesController,
appStateController: this.appStateController,
transactionUpdateController: this.transactionUpdateController,
custodyController: this.custodyController,
institutionalFeaturesController: this.institutionalFeaturesController,
getState: this.getState.bind(this),
getPendingNonce: this.getPendingNonce.bind(this),
accountTracker: this.accountTracker,
metaMetricsController: this.metaMetricsController,
networkController: this.networkController,
permissionController: this.permissionController,
signatureController: this.signatureController,
platform: this.platform,
extension: this.extension,
});
///: END:ONLY_INCLUDE_IN
this.swapsController = new SwapsController(
{
getBufferedGasLimit:
@ -1488,6 +1489,7 @@ export default class MetamaskController extends EventEmitter {
// tx signing
processTransaction: this.newUnapprovedTransaction.bind(this),
// msg signing
///: BEGIN:ONLY_INCLUDE_IN(build-main,build-beta,build-flask)
processEthSignMessage: this.signatureController.newUnsignedMessage.bind(
this.signatureController,
),
@ -1507,8 +1509,25 @@ export default class MetamaskController extends EventEmitter {
this.signatureController.newUnsignedPersonalMessage.bind(
this.signatureController,
),
///: END:ONLY_INCLUDE_IN
///: BEGIN:ONLY_INCLUDE_IN(build-mmi)
/* eslint-disable no-dupe-keys */
processEthSignMessage: this.mmiController.newUnsignedMessage.bind(
this.mmiController,
),
processTypedMessage: this.mmiController.newUnsignedMessage.bind(
this.mmiController,
),
processTypedMessageV3: this.mmiController.newUnsignedMessage.bind(
this.mmiController,
),
processTypedMessageV4: this.mmiController.newUnsignedMessage.bind(
this.mmiController,
),
processPersonalMessage: this.mmiController.newUnsignedMessage.bind(
this.mmiController,
),
setTypedMessageInProgress:
this.signatureController.setTypedMessageInProgress.bind(
this.signatureController,
@ -1517,6 +1536,7 @@ export default class MetamaskController extends EventEmitter {
this.signatureController.setPersonalMessageInProgress.bind(
this.signatureController,
),
/* eslint-enable no-dupe-keys */
///: END:ONLY_INCLUDE_IN
processEncryptionPublicKey:

View File

@ -173,29 +173,13 @@
"packages": {
"@ethereumjs/tx>@chainsafe/ssz": true,
"@ethereumjs/tx>@ethereumjs/rlp": true,
"@ethereumjs/tx>@ethereumjs/util>ethereum-cryptography": true,
"@ethereumjs/tx>@ethereumjs/util>micro-ftch": true,
"@ethereumjs/tx>ethereum-cryptography": true,
"browserify>buffer": true,
"browserify>events": true,
"browserify>insert-module-globals>is-buffer": true
}
},
"@ethereumjs/tx>@ethereumjs/util>ethereum-cryptography": {
"globals": {
"TextDecoder": true,
"crypto": true
},
"packages": {
"@ethereumjs/tx>@ethereumjs/util>ethereum-cryptography>@noble/hashes": true,
"@ethereumjs/tx>ethereum-cryptography>@noble/curves": true
}
},
"@ethereumjs/tx>@ethereumjs/util>ethereum-cryptography>@noble/hashes": {
"globals": {
"TextEncoder": true,
"crypto": true
}
},
"@ethereumjs/tx>@ethereumjs/util>micro-ftch": {
"globals": {
"Headers": true,
@ -220,6 +204,7 @@
"crypto": true
},
"packages": {
"@ethereumjs/tx>ethereum-cryptography>@noble/curves": true,
"@ethereumjs/tx>ethereum-cryptography>@noble/hashes": true
}
},
@ -887,8 +872,8 @@
"setTimeout": true
},
"packages": {
"@metamask/controller-utils>@metamask/utils": true,
"@metamask/controller-utils>@spruceid/siwe-parser": true,
"@metamask/utils": true,
"browserify>buffer": true,
"eslint>fast-deep-equal": true,
"eth-ens-namehash": true,
@ -896,6 +881,19 @@
"ethjs>ethjs-unit": true
}
},
"@metamask/controller-utils>@metamask/utils": {
"globals": {
"TextDecoder": true,
"TextEncoder": true
},
"packages": {
"@metamask/key-tree>@noble/hashes": true,
"browserify>buffer": true,
"nock>debug": true,
"semver": true,
"superstruct": true
}
},
"@metamask/controller-utils>@spruceid/siwe-parser": {
"globals": {
"console.error": true,
@ -1025,9 +1023,9 @@
"packages": {
"@ethereumjs/tx>@ethereumjs/util": true,
"@metamask/eth-keyring-controller>@metamask/eth-sig-util>ethereum-cryptography": true,
"@metamask/eth-keyring-controller>@metamask/eth-sig-util>ethjs-util": true,
"bn.js": true,
"browserify>buffer": true,
"eth-sig-util>ethereumjs-util>ethjs-util": true,
"eth-sig-util>tweetnacl": true,
"eth-sig-util>tweetnacl-util": true
}
@ -1047,13 +1045,6 @@
"crypto": true
}
},
"@metamask/eth-keyring-controller>@metamask/eth-sig-util>ethjs-util": {
"packages": {
"browserify>buffer": true,
"ethjs>ethjs-util>is-hex-prefixed": true,
"ethjs>ethjs-util>strip-hex-prefix": true
}
},
"@metamask/eth-keyring-controller>@metamask/eth-simple-keyring": {
"packages": {
"@ethereumjs/tx>@ethereumjs/util": true,
@ -1114,22 +1105,23 @@
},
"@metamask/eth-ledger-bridge-keyring>eth-sig-util>ethereumjs-util": {
"packages": {
"@metamask/eth-ledger-bridge-keyring>eth-sig-util>ethereumjs-util>ethjs-util": true,
"@metamask/eth-ledger-bridge-keyring>eth-sig-util>ethereumjs-util>ethereum-cryptography": true,
"bn.js": true,
"browserify>assert": true,
"browserify>buffer": true,
"eth-sig-util>ethereumjs-util>ethjs-util": true,
"ethereumjs-util>create-hash": true,
"ethereumjs-util>ethereum-cryptography": true,
"ethereumjs-util>rlp": true,
"ethereumjs-wallet>safe-buffer": true,
"ganache>secp256k1>elliptic": true
}
},
"@metamask/eth-ledger-bridge-keyring>eth-sig-util>ethereumjs-util>ethjs-util": {
"@metamask/eth-ledger-bridge-keyring>eth-sig-util>ethereumjs-util>ethereum-cryptography": {
"packages": {
"browserify>buffer": true,
"ethjs>ethjs-util>is-hex-prefixed": true,
"ethjs>ethjs-util>strip-hex-prefix": true
"ethereumjs-util>ethereum-cryptography>keccak": true,
"ethereumjs-util>ethereum-cryptography>secp256k1": true,
"ethereumjs-wallet>randombytes": true
}
},
"@metamask/eth-ledger-bridge-keyring>hdkey": {
@ -1154,36 +1146,14 @@
"@metamask/eth-snap-keyring>@metamask/eth-sig-util": {
"packages": {
"@ethereumjs/tx>@ethereumjs/util": true,
"@metamask/eth-snap-keyring>@metamask/eth-sig-util>ethereum-cryptography": true,
"@metamask/eth-snap-keyring>@metamask/eth-sig-util>ethjs-util": true,
"@ethereumjs/tx>ethereum-cryptography": true,
"bn.js": true,
"browserify>buffer": true,
"eth-sig-util>ethereumjs-util>ethjs-util": true,
"eth-sig-util>tweetnacl": true,
"eth-sig-util>tweetnacl-util": true
}
},
"@metamask/eth-snap-keyring>@metamask/eth-sig-util>ethereum-cryptography": {
"globals": {
"TextDecoder": true,
"crypto": true
},
"packages": {
"@metamask/eth-snap-keyring>@metamask/eth-sig-util>ethereum-cryptography>@noble/hashes": true
}
},
"@metamask/eth-snap-keyring>@metamask/eth-sig-util>ethereum-cryptography>@noble/hashes": {
"globals": {
"TextEncoder": true,
"crypto": true
}
},
"@metamask/eth-snap-keyring>@metamask/eth-sig-util>ethjs-util": {
"packages": {
"browserify>buffer": true,
"ethjs>ethjs-util>is-hex-prefixed": true,
"ethjs>ethjs-util>strip-hex-prefix": true
}
},
"@metamask/eth-token-tracker": {
"globals": {
"console.warn": true
@ -1242,11 +1212,11 @@
"@metamask/eth-token-tracker>ethjs>ethjs-abi": true,
"@metamask/eth-token-tracker>ethjs>ethjs-contract": true,
"@metamask/eth-token-tracker>ethjs>ethjs-query": true,
"@metamask/eth-token-tracker>ethjs>ethjs-util": true,
"browserify>buffer": true,
"ethjs>ethjs-filter": true,
"ethjs>ethjs-provider-http": true,
"ethjs>ethjs-unit": true,
"ethjs>ethjs-util": true,
"ethjs>js-sha3": true,
"ethjs>number-to-bn": true
}
@ -1262,9 +1232,9 @@
"@metamask/eth-token-tracker>ethjs>ethjs-contract": {
"packages": {
"@metamask/eth-token-tracker>ethjs>ethjs-contract>ethjs-abi": true,
"@metamask/eth-token-tracker>ethjs>ethjs-util": true,
"ethjs-query>babel-runtime": true,
"ethjs>ethjs-filter": true,
"ethjs>ethjs-util": true,
"ethjs>js-sha3": true,
"promise-to-callback": true
}
@ -1288,6 +1258,13 @@
"promise-to-callback": true
}
},
"@metamask/eth-token-tracker>ethjs>ethjs-util": {
"packages": {
"browserify>buffer": true,
"ethjs>ethjs-util>is-hex-prefixed": true,
"ethjs>ethjs-util>strip-hex-prefix": true
}
},
"@metamask/eth-token-tracker>safe-event-emitter": {
"globals": {
"setTimeout": true
@ -1565,14 +1542,25 @@
"packages": {
"@metamask/base-controller": true,
"@metamask/controller-utils": true,
"@metamask/message-manager>@metamask/eth-sig-util": true,
"@metamask/message-manager>jsonschema": true,
"browserify>buffer": true,
"browserify>events": true,
"eth-sig-util": true,
"ethereumjs-util": true,
"uuid": true
}
},
"@metamask/message-manager>@metamask/eth-sig-util": {
"packages": {
"@ethereumjs/tx>@ethereumjs/util": true,
"@ethereumjs/tx>ethereum-cryptography": true,
"bn.js": true,
"browserify>buffer": true,
"eth-sig-util>ethereumjs-util>ethjs-util": true,
"eth-sig-util>tweetnacl": true,
"eth-sig-util>tweetnacl-util": true
}
},
"@metamask/message-manager>jsonschema": {
"packages": {
"browserify>url": true
@ -3481,14 +3469,22 @@
"bn.js": true,
"browserify>assert": true,
"browserify>buffer": true,
"eth-sig-util>ethereumjs-util>ethereum-cryptography": true,
"eth-sig-util>ethereumjs-util>ethjs-util": true,
"ethereumjs-util>create-hash": true,
"ethereumjs-util>ethereum-cryptography": true,
"ethereumjs-util>rlp": true,
"ethereumjs-wallet>safe-buffer": true,
"ganache>secp256k1>elliptic": true
}
},
"eth-sig-util>ethereumjs-util>ethereum-cryptography": {
"packages": {
"browserify>buffer": true,
"ethereumjs-util>ethereum-cryptography>keccak": true,
"ethereumjs-util>ethereum-cryptography>secp256k1": true,
"ethereumjs-wallet>randombytes": true
}
},
"eth-sig-util>ethereumjs-util>ethjs-util": {
"packages": {
"browserify>buffer": true,
@ -3527,18 +3523,19 @@
"bn.js": true,
"browserify>assert": true,
"browserify>buffer": true,
"ethereumjs-abi>ethereumjs-util>ethjs-util": true,
"eth-sig-util>ethereumjs-util>ethjs-util": true,
"ethereumjs-abi>ethereumjs-util>ethereum-cryptography": true,
"ethereumjs-util>create-hash": true,
"ethereumjs-util>ethereum-cryptography": true,
"ethereumjs-util>rlp": true,
"ganache>secp256k1>elliptic": true
}
},
"ethereumjs-abi>ethereumjs-util>ethjs-util": {
"ethereumjs-abi>ethereumjs-util>ethereum-cryptography": {
"packages": {
"browserify>buffer": true,
"ethjs>ethjs-util>is-hex-prefixed": true,
"ethjs>ethjs-util>strip-hex-prefix": true
"ethereumjs-util>ethereum-cryptography>keccak": true,
"ethereumjs-util>ethereum-cryptography>secp256k1": true,
"ethereumjs-wallet>randombytes": true
}
},
"ethereumjs-util": {
@ -3718,25 +3715,26 @@
"ethereumjs-wallet>safe-buffer": true
}
},
"ethereumjs-wallet>ethereum-cryptography": {
"packages": {
"browserify>buffer": true,
"ethereumjs-util>ethereum-cryptography>keccak": true,
"ethereumjs-util>ethereum-cryptography>secp256k1": true,
"ethereumjs-wallet>randombytes": true
}
},
"ethereumjs-wallet>ethereumjs-util": {
"packages": {
"bn.js": true,
"browserify>assert": true,
"browserify>buffer": true,
"eth-sig-util>ethereumjs-util>ethjs-util": true,
"ethereumjs-util>create-hash": true,
"ethereumjs-util>ethereum-cryptography": true,
"ethereumjs-util>rlp": true,
"ethereumjs-wallet>ethereumjs-util>ethjs-util": true,
"ethereumjs-wallet>ethereum-cryptography": true,
"ganache>secp256k1>elliptic": true
}
},
"ethereumjs-wallet>ethereumjs-util>ethjs-util": {
"packages": {
"browserify>buffer": true,
"ethjs>ethjs-util>is-hex-prefixed": true,
"ethjs>ethjs-util>strip-hex-prefix": true
}
},
"ethereumjs-wallet>randombytes": {
"globals": {
"crypto": true,
@ -3791,9 +3789,9 @@
"ethjs-contract": {
"packages": {
"ethjs-contract>ethjs-abi": true,
"ethjs-contract>ethjs-util": true,
"ethjs-query>babel-runtime": true,
"ethjs>ethjs-filter": true,
"ethjs>ethjs-util": true,
"ethjs>js-sha3": true,
"promise-to-callback": true
}
@ -3806,6 +3804,13 @@
"ethjs>number-to-bn": true
}
},
"ethjs-contract>ethjs-util": {
"packages": {
"browserify>buffer": true,
"ethjs>ethjs-util>is-hex-prefixed": true,
"ethjs>ethjs-util>strip-hex-prefix": true
}
},
"ethjs-query": {
"globals": {
"console": true
@ -3836,11 +3841,18 @@
"ethjs-query>ethjs-format": {
"packages": {
"ethjs-query>ethjs-format>ethjs-schema": true,
"ethjs>ethjs-util": true,
"ethjs-query>ethjs-format>ethjs-util": true,
"ethjs>ethjs-util>strip-hex-prefix": true,
"ethjs>number-to-bn": true
}
},
"ethjs-query>ethjs-format>ethjs-util": {
"packages": {
"browserify>buffer": true,
"ethjs>ethjs-util>is-hex-prefixed": true,
"ethjs>ethjs-util>strip-hex-prefix": true
}
},
"ethjs-query>ethjs-rpc": {
"packages": {
"promise-to-callback": true

View File

@ -173,29 +173,13 @@
"packages": {
"@ethereumjs/tx>@chainsafe/ssz": true,
"@ethereumjs/tx>@ethereumjs/rlp": true,
"@ethereumjs/tx>@ethereumjs/util>ethereum-cryptography": true,
"@ethereumjs/tx>@ethereumjs/util>micro-ftch": true,
"@ethereumjs/tx>ethereum-cryptography": true,
"browserify>buffer": true,
"browserify>events": true,
"browserify>insert-module-globals>is-buffer": true
}
},
"@ethereumjs/tx>@ethereumjs/util>ethereum-cryptography": {
"globals": {
"TextDecoder": true,
"crypto": true
},
"packages": {
"@ethereumjs/tx>@ethereumjs/util>ethereum-cryptography>@noble/hashes": true,
"@ethereumjs/tx>ethereum-cryptography>@noble/curves": true
}
},
"@ethereumjs/tx>@ethereumjs/util>ethereum-cryptography>@noble/hashes": {
"globals": {
"TextEncoder": true,
"crypto": true
}
},
"@ethereumjs/tx>@ethereumjs/util>micro-ftch": {
"globals": {
"Headers": true,
@ -220,6 +204,7 @@
"crypto": true
},
"packages": {
"@ethereumjs/tx>ethereum-cryptography>@noble/curves": true,
"@ethereumjs/tx>ethereum-cryptography>@noble/hashes": true
}
},
@ -887,8 +872,8 @@
"setTimeout": true
},
"packages": {
"@metamask/controller-utils>@metamask/utils": true,
"@metamask/controller-utils>@spruceid/siwe-parser": true,
"@metamask/utils": true,
"browserify>buffer": true,
"eslint>fast-deep-equal": true,
"eth-ens-namehash": true,
@ -896,6 +881,19 @@
"ethjs>ethjs-unit": true
}
},
"@metamask/controller-utils>@metamask/utils": {
"globals": {
"TextDecoder": true,
"TextEncoder": true
},
"packages": {
"@metamask/key-tree>@noble/hashes": true,
"browserify>buffer": true,
"nock>debug": true,
"semver": true,
"superstruct": true
}
},
"@metamask/controller-utils>@spruceid/siwe-parser": {
"globals": {
"console.error": true,
@ -1096,9 +1094,9 @@
"packages": {
"@ethereumjs/tx>@ethereumjs/util": true,
"@metamask/eth-keyring-controller>@metamask/eth-sig-util>ethereum-cryptography": true,
"@metamask/eth-keyring-controller>@metamask/eth-sig-util>ethjs-util": true,
"bn.js": true,
"browserify>buffer": true,
"eth-sig-util>ethereumjs-util>ethjs-util": true,
"eth-sig-util>tweetnacl": true,
"eth-sig-util>tweetnacl-util": true
}
@ -1118,13 +1116,6 @@
"crypto": true
}
},
"@metamask/eth-keyring-controller>@metamask/eth-sig-util>ethjs-util": {
"packages": {
"browserify>buffer": true,
"ethjs>ethjs-util>is-hex-prefixed": true,
"ethjs>ethjs-util>strip-hex-prefix": true
}
},
"@metamask/eth-keyring-controller>@metamask/eth-simple-keyring": {
"packages": {
"@ethereumjs/tx>@ethereumjs/util": true,
@ -1185,22 +1176,23 @@
},
"@metamask/eth-ledger-bridge-keyring>eth-sig-util>ethereumjs-util": {
"packages": {
"@metamask/eth-ledger-bridge-keyring>eth-sig-util>ethereumjs-util>ethjs-util": true,
"@metamask/eth-ledger-bridge-keyring>eth-sig-util>ethereumjs-util>ethereum-cryptography": true,
"bn.js": true,
"browserify>assert": true,
"browserify>buffer": true,
"eth-sig-util>ethereumjs-util>ethjs-util": true,
"ethereumjs-util>create-hash": true,
"ethereumjs-util>ethereum-cryptography": true,
"ethereumjs-util>rlp": true,
"ethereumjs-wallet>safe-buffer": true,
"ganache>secp256k1>elliptic": true
}
},
"@metamask/eth-ledger-bridge-keyring>eth-sig-util>ethereumjs-util>ethjs-util": {
"@metamask/eth-ledger-bridge-keyring>eth-sig-util>ethereumjs-util>ethereum-cryptography": {
"packages": {
"browserify>buffer": true,
"ethjs>ethjs-util>is-hex-prefixed": true,
"ethjs>ethjs-util>strip-hex-prefix": true
"ethereumjs-util>ethereum-cryptography>keccak": true,
"ethereumjs-util>ethereum-cryptography>secp256k1": true,
"ethereumjs-wallet>randombytes": true
}
},
"@metamask/eth-ledger-bridge-keyring>hdkey": {
@ -1239,36 +1231,14 @@
"@metamask/eth-snap-keyring>@metamask/eth-sig-util": {
"packages": {
"@ethereumjs/tx>@ethereumjs/util": true,
"@metamask/eth-snap-keyring>@metamask/eth-sig-util>ethereum-cryptography": true,
"@metamask/eth-snap-keyring>@metamask/eth-sig-util>ethjs-util": true,
"@ethereumjs/tx>ethereum-cryptography": true,
"bn.js": true,
"browserify>buffer": true,
"eth-sig-util>ethereumjs-util>ethjs-util": true,
"eth-sig-util>tweetnacl": true,
"eth-sig-util>tweetnacl-util": true
}
},
"@metamask/eth-snap-keyring>@metamask/eth-sig-util>ethereum-cryptography": {
"globals": {
"TextDecoder": true,
"crypto": true
},
"packages": {
"@metamask/eth-snap-keyring>@metamask/eth-sig-util>ethereum-cryptography>@noble/hashes": true
}
},
"@metamask/eth-snap-keyring>@metamask/eth-sig-util>ethereum-cryptography>@noble/hashes": {
"globals": {
"TextEncoder": true,
"crypto": true
}
},
"@metamask/eth-snap-keyring>@metamask/eth-sig-util>ethjs-util": {
"packages": {
"browserify>buffer": true,
"ethjs>ethjs-util>is-hex-prefixed": true,
"ethjs>ethjs-util>strip-hex-prefix": true
}
},
"@metamask/eth-snap-keyring>@metamask/keyring-api": {
"packages": {
"@metamask/eth-snap-keyring>@metamask/keyring-api>@metamask/utils": true,
@ -1370,11 +1340,11 @@
"@metamask/eth-token-tracker>ethjs>ethjs-abi": true,
"@metamask/eth-token-tracker>ethjs>ethjs-contract": true,
"@metamask/eth-token-tracker>ethjs>ethjs-query": true,
"@metamask/eth-token-tracker>ethjs>ethjs-util": true,
"browserify>buffer": true,
"ethjs>ethjs-filter": true,
"ethjs>ethjs-provider-http": true,
"ethjs>ethjs-unit": true,
"ethjs>ethjs-util": true,
"ethjs>js-sha3": true,
"ethjs>number-to-bn": true
}
@ -1390,9 +1360,9 @@
"@metamask/eth-token-tracker>ethjs>ethjs-contract": {
"packages": {
"@metamask/eth-token-tracker>ethjs>ethjs-contract>ethjs-abi": true,
"@metamask/eth-token-tracker>ethjs>ethjs-util": true,
"ethjs-query>babel-runtime": true,
"ethjs>ethjs-filter": true,
"ethjs>ethjs-util": true,
"ethjs>js-sha3": true,
"promise-to-callback": true
}
@ -1416,6 +1386,13 @@
"promise-to-callback": true
}
},
"@metamask/eth-token-tracker>ethjs>ethjs-util": {
"packages": {
"browserify>buffer": true,
"ethjs>ethjs-util>is-hex-prefixed": true,
"ethjs>ethjs-util>strip-hex-prefix": true
}
},
"@metamask/eth-token-tracker>safe-event-emitter": {
"globals": {
"setTimeout": true
@ -1716,14 +1693,25 @@
"packages": {
"@metamask/base-controller": true,
"@metamask/controller-utils": true,
"@metamask/message-manager>@metamask/eth-sig-util": true,
"@metamask/message-manager>jsonschema": true,
"browserify>buffer": true,
"browserify>events": true,
"eth-sig-util": true,
"ethereumjs-util": true,
"uuid": true
}
},
"@metamask/message-manager>@metamask/eth-sig-util": {
"packages": {
"@ethereumjs/tx>@ethereumjs/util": true,
"@ethereumjs/tx>ethereum-cryptography": true,
"bn.js": true,
"browserify>buffer": true,
"eth-sig-util>ethereumjs-util>ethjs-util": true,
"eth-sig-util>tweetnacl": true,
"eth-sig-util>tweetnacl-util": true
}
},
"@metamask/message-manager>jsonschema": {
"packages": {
"browserify>url": true
@ -3977,14 +3965,22 @@
"bn.js": true,
"browserify>assert": true,
"browserify>buffer": true,
"eth-sig-util>ethereumjs-util>ethereum-cryptography": true,
"eth-sig-util>ethereumjs-util>ethjs-util": true,
"ethereumjs-util>create-hash": true,
"ethereumjs-util>ethereum-cryptography": true,
"ethereumjs-util>rlp": true,
"ethereumjs-wallet>safe-buffer": true,
"ganache>secp256k1>elliptic": true
}
},
"eth-sig-util>ethereumjs-util>ethereum-cryptography": {
"packages": {
"browserify>buffer": true,
"ethereumjs-util>ethereum-cryptography>keccak": true,
"ethereumjs-util>ethereum-cryptography>secp256k1": true,
"ethereumjs-wallet>randombytes": true
}
},
"eth-sig-util>ethereumjs-util>ethjs-util": {
"packages": {
"browserify>buffer": true,
@ -4023,18 +4019,19 @@
"bn.js": true,
"browserify>assert": true,
"browserify>buffer": true,
"ethereumjs-abi>ethereumjs-util>ethjs-util": true,
"eth-sig-util>ethereumjs-util>ethjs-util": true,
"ethereumjs-abi>ethereumjs-util>ethereum-cryptography": true,
"ethereumjs-util>create-hash": true,
"ethereumjs-util>ethereum-cryptography": true,
"ethereumjs-util>rlp": true,
"ganache>secp256k1>elliptic": true
}
},
"ethereumjs-abi>ethereumjs-util>ethjs-util": {
"ethereumjs-abi>ethereumjs-util>ethereum-cryptography": {
"packages": {
"browserify>buffer": true,
"ethjs>ethjs-util>is-hex-prefixed": true,
"ethjs>ethjs-util>strip-hex-prefix": true
"ethereumjs-util>ethereum-cryptography>keccak": true,
"ethereumjs-util>ethereum-cryptography>secp256k1": true,
"ethereumjs-wallet>randombytes": true
}
},
"ethereumjs-util": {
@ -4214,25 +4211,26 @@
"ethereumjs-wallet>safe-buffer": true
}
},
"ethereumjs-wallet>ethereum-cryptography": {
"packages": {
"browserify>buffer": true,
"ethereumjs-util>ethereum-cryptography>keccak": true,
"ethereumjs-util>ethereum-cryptography>secp256k1": true,
"ethereumjs-wallet>randombytes": true
}
},
"ethereumjs-wallet>ethereumjs-util": {
"packages": {
"bn.js": true,
"browserify>assert": true,
"browserify>buffer": true,
"eth-sig-util>ethereumjs-util>ethjs-util": true,
"ethereumjs-util>create-hash": true,
"ethereumjs-util>ethereum-cryptography": true,
"ethereumjs-util>rlp": true,
"ethereumjs-wallet>ethereumjs-util>ethjs-util": true,
"ethereumjs-wallet>ethereum-cryptography": true,
"ganache>secp256k1>elliptic": true
}
},
"ethereumjs-wallet>ethereumjs-util>ethjs-util": {
"packages": {
"browserify>buffer": true,
"ethjs>ethjs-util>is-hex-prefixed": true,
"ethjs>ethjs-util>strip-hex-prefix": true
}
},
"ethereumjs-wallet>randombytes": {
"globals": {
"crypto": true,
@ -4287,9 +4285,9 @@
"ethjs-contract": {
"packages": {
"ethjs-contract>ethjs-abi": true,
"ethjs-contract>ethjs-util": true,
"ethjs-query>babel-runtime": true,
"ethjs>ethjs-filter": true,
"ethjs>ethjs-util": true,
"ethjs>js-sha3": true,
"promise-to-callback": true
}
@ -4302,6 +4300,13 @@
"ethjs>number-to-bn": true
}
},
"ethjs-contract>ethjs-util": {
"packages": {
"browserify>buffer": true,
"ethjs>ethjs-util>is-hex-prefixed": true,
"ethjs>ethjs-util>strip-hex-prefix": true
}
},
"ethjs-query": {
"globals": {
"console": true
@ -4332,11 +4337,18 @@
"ethjs-query>ethjs-format": {
"packages": {
"ethjs-query>ethjs-format>ethjs-schema": true,
"ethjs>ethjs-util": true,
"ethjs-query>ethjs-format>ethjs-util": true,
"ethjs>ethjs-util>strip-hex-prefix": true,
"ethjs>number-to-bn": true
}
},
"ethjs-query>ethjs-format>ethjs-util": {
"packages": {
"browserify>buffer": true,
"ethjs>ethjs-util>is-hex-prefixed": true,
"ethjs>ethjs-util>strip-hex-prefix": true
}
},
"ethjs-query>ethjs-rpc": {
"packages": {
"promise-to-callback": true

View File

@ -173,29 +173,13 @@
"packages": {
"@ethereumjs/tx>@chainsafe/ssz": true,
"@ethereumjs/tx>@ethereumjs/rlp": true,
"@ethereumjs/tx>@ethereumjs/util>ethereum-cryptography": true,
"@ethereumjs/tx>@ethereumjs/util>micro-ftch": true,
"@ethereumjs/tx>ethereum-cryptography": true,
"browserify>buffer": true,
"browserify>events": true,
"browserify>insert-module-globals>is-buffer": true
}
},
"@ethereumjs/tx>@ethereumjs/util>ethereum-cryptography": {
"globals": {
"TextDecoder": true,
"crypto": true
},
"packages": {
"@ethereumjs/tx>@ethereumjs/util>ethereum-cryptography>@noble/hashes": true,
"@ethereumjs/tx>ethereum-cryptography>@noble/curves": true
}
},
"@ethereumjs/tx>@ethereumjs/util>ethereum-cryptography>@noble/hashes": {
"globals": {
"TextEncoder": true,
"crypto": true
}
},
"@ethereumjs/tx>@ethereumjs/util>micro-ftch": {
"globals": {
"Headers": true,
@ -220,6 +204,7 @@
"crypto": true
},
"packages": {
"@ethereumjs/tx>ethereum-cryptography>@noble/curves": true,
"@ethereumjs/tx>ethereum-cryptography>@noble/hashes": true
}
},
@ -887,8 +872,8 @@
"setTimeout": true
},
"packages": {
"@metamask/controller-utils>@metamask/utils": true,
"@metamask/controller-utils>@spruceid/siwe-parser": true,
"@metamask/utils": true,
"browserify>buffer": true,
"eslint>fast-deep-equal": true,
"eth-ens-namehash": true,
@ -896,6 +881,19 @@
"ethjs>ethjs-unit": true
}
},
"@metamask/controller-utils>@metamask/utils": {
"globals": {
"TextDecoder": true,
"TextEncoder": true
},
"packages": {
"@metamask/key-tree>@noble/hashes": true,
"browserify>buffer": true,
"nock>debug": true,
"semver": true,
"superstruct": true
}
},
"@metamask/controller-utils>@spruceid/siwe-parser": {
"globals": {
"console.error": true,
@ -1096,9 +1094,9 @@
"packages": {
"@ethereumjs/tx>@ethereumjs/util": true,
"@metamask/eth-keyring-controller>@metamask/eth-sig-util>ethereum-cryptography": true,
"@metamask/eth-keyring-controller>@metamask/eth-sig-util>ethjs-util": true,
"bn.js": true,
"browserify>buffer": true,
"eth-sig-util>ethereumjs-util>ethjs-util": true,
"eth-sig-util>tweetnacl": true,
"eth-sig-util>tweetnacl-util": true
}
@ -1118,13 +1116,6 @@
"crypto": true
}
},
"@metamask/eth-keyring-controller>@metamask/eth-sig-util>ethjs-util": {
"packages": {
"browserify>buffer": true,
"ethjs>ethjs-util>is-hex-prefixed": true,
"ethjs>ethjs-util>strip-hex-prefix": true
}
},
"@metamask/eth-keyring-controller>@metamask/eth-simple-keyring": {
"packages": {
"@ethereumjs/tx>@ethereumjs/util": true,
@ -1185,22 +1176,23 @@
},
"@metamask/eth-ledger-bridge-keyring>eth-sig-util>ethereumjs-util": {
"packages": {
"@metamask/eth-ledger-bridge-keyring>eth-sig-util>ethereumjs-util>ethjs-util": true,
"@metamask/eth-ledger-bridge-keyring>eth-sig-util>ethereumjs-util>ethereum-cryptography": true,
"bn.js": true,
"browserify>assert": true,
"browserify>buffer": true,
"eth-sig-util>ethereumjs-util>ethjs-util": true,
"ethereumjs-util>create-hash": true,
"ethereumjs-util>ethereum-cryptography": true,
"ethereumjs-util>rlp": true,
"ethereumjs-wallet>safe-buffer": true,
"ganache>secp256k1>elliptic": true
}
},
"@metamask/eth-ledger-bridge-keyring>eth-sig-util>ethereumjs-util>ethjs-util": {
"@metamask/eth-ledger-bridge-keyring>eth-sig-util>ethereumjs-util>ethereum-cryptography": {
"packages": {
"browserify>buffer": true,
"ethjs>ethjs-util>is-hex-prefixed": true,
"ethjs>ethjs-util>strip-hex-prefix": true
"ethereumjs-util>ethereum-cryptography>keccak": true,
"ethereumjs-util>ethereum-cryptography>secp256k1": true,
"ethereumjs-wallet>randombytes": true
}
},
"@metamask/eth-ledger-bridge-keyring>hdkey": {
@ -1239,36 +1231,14 @@
"@metamask/eth-snap-keyring>@metamask/eth-sig-util": {
"packages": {
"@ethereumjs/tx>@ethereumjs/util": true,
"@metamask/eth-snap-keyring>@metamask/eth-sig-util>ethereum-cryptography": true,
"@metamask/eth-snap-keyring>@metamask/eth-sig-util>ethjs-util": true,
"@ethereumjs/tx>ethereum-cryptography": true,
"bn.js": true,
"browserify>buffer": true,
"eth-sig-util>ethereumjs-util>ethjs-util": true,
"eth-sig-util>tweetnacl": true,
"eth-sig-util>tweetnacl-util": true
}
},
"@metamask/eth-snap-keyring>@metamask/eth-sig-util>ethereum-cryptography": {
"globals": {
"TextDecoder": true,
"crypto": true
},
"packages": {
"@metamask/eth-snap-keyring>@metamask/eth-sig-util>ethereum-cryptography>@noble/hashes": true
}
},
"@metamask/eth-snap-keyring>@metamask/eth-sig-util>ethereum-cryptography>@noble/hashes": {
"globals": {
"TextEncoder": true,
"crypto": true
}
},
"@metamask/eth-snap-keyring>@metamask/eth-sig-util>ethjs-util": {
"packages": {
"browserify>buffer": true,
"ethjs>ethjs-util>is-hex-prefixed": true,
"ethjs>ethjs-util>strip-hex-prefix": true
}
},
"@metamask/eth-snap-keyring>@metamask/keyring-api": {
"packages": {
"@metamask/eth-snap-keyring>@metamask/keyring-api>@metamask/utils": true,
@ -1370,11 +1340,11 @@
"@metamask/eth-token-tracker>ethjs>ethjs-abi": true,
"@metamask/eth-token-tracker>ethjs>ethjs-contract": true,
"@metamask/eth-token-tracker>ethjs>ethjs-query": true,
"@metamask/eth-token-tracker>ethjs>ethjs-util": true,
"browserify>buffer": true,
"ethjs>ethjs-filter": true,
"ethjs>ethjs-provider-http": true,
"ethjs>ethjs-unit": true,
"ethjs>ethjs-util": true,
"ethjs>js-sha3": true,
"ethjs>number-to-bn": true
}
@ -1390,9 +1360,9 @@
"@metamask/eth-token-tracker>ethjs>ethjs-contract": {
"packages": {
"@metamask/eth-token-tracker>ethjs>ethjs-contract>ethjs-abi": true,
"@metamask/eth-token-tracker>ethjs>ethjs-util": true,
"ethjs-query>babel-runtime": true,
"ethjs>ethjs-filter": true,
"ethjs>ethjs-util": true,
"ethjs>js-sha3": true,
"promise-to-callback": true
}
@ -1416,6 +1386,13 @@
"promise-to-callback": true
}
},
"@metamask/eth-token-tracker>ethjs>ethjs-util": {
"packages": {
"browserify>buffer": true,
"ethjs>ethjs-util>is-hex-prefixed": true,
"ethjs>ethjs-util>strip-hex-prefix": true
}
},
"@metamask/eth-token-tracker>safe-event-emitter": {
"globals": {
"setTimeout": true
@ -1716,14 +1693,25 @@
"packages": {
"@metamask/base-controller": true,
"@metamask/controller-utils": true,
"@metamask/message-manager>@metamask/eth-sig-util": true,
"@metamask/message-manager>jsonschema": true,
"browserify>buffer": true,
"browserify>events": true,
"eth-sig-util": true,
"ethereumjs-util": true,
"uuid": true
}
},
"@metamask/message-manager>@metamask/eth-sig-util": {
"packages": {
"@ethereumjs/tx>@ethereumjs/util": true,
"@ethereumjs/tx>ethereum-cryptography": true,
"bn.js": true,
"browserify>buffer": true,
"eth-sig-util>ethereumjs-util>ethjs-util": true,
"eth-sig-util>tweetnacl": true,
"eth-sig-util>tweetnacl-util": true
}
},
"@metamask/message-manager>jsonschema": {
"packages": {
"browserify>url": true
@ -3977,14 +3965,22 @@
"bn.js": true,
"browserify>assert": true,
"browserify>buffer": true,
"eth-sig-util>ethereumjs-util>ethereum-cryptography": true,
"eth-sig-util>ethereumjs-util>ethjs-util": true,
"ethereumjs-util>create-hash": true,
"ethereumjs-util>ethereum-cryptography": true,
"ethereumjs-util>rlp": true,
"ethereumjs-wallet>safe-buffer": true,
"ganache>secp256k1>elliptic": true
}
},
"eth-sig-util>ethereumjs-util>ethereum-cryptography": {
"packages": {
"browserify>buffer": true,
"ethereumjs-util>ethereum-cryptography>keccak": true,
"ethereumjs-util>ethereum-cryptography>secp256k1": true,
"ethereumjs-wallet>randombytes": true
}
},
"eth-sig-util>ethereumjs-util>ethjs-util": {
"packages": {
"browserify>buffer": true,
@ -4023,18 +4019,19 @@
"bn.js": true,
"browserify>assert": true,
"browserify>buffer": true,
"ethereumjs-abi>ethereumjs-util>ethjs-util": true,
"eth-sig-util>ethereumjs-util>ethjs-util": true,
"ethereumjs-abi>ethereumjs-util>ethereum-cryptography": true,
"ethereumjs-util>create-hash": true,
"ethereumjs-util>ethereum-cryptography": true,
"ethereumjs-util>rlp": true,
"ganache>secp256k1>elliptic": true
}
},
"ethereumjs-abi>ethereumjs-util>ethjs-util": {
"ethereumjs-abi>ethereumjs-util>ethereum-cryptography": {
"packages": {
"browserify>buffer": true,
"ethjs>ethjs-util>is-hex-prefixed": true,
"ethjs>ethjs-util>strip-hex-prefix": true
"ethereumjs-util>ethereum-cryptography>keccak": true,
"ethereumjs-util>ethereum-cryptography>secp256k1": true,
"ethereumjs-wallet>randombytes": true
}
},
"ethereumjs-util": {
@ -4214,25 +4211,26 @@
"ethereumjs-wallet>safe-buffer": true
}
},
"ethereumjs-wallet>ethereum-cryptography": {
"packages": {
"browserify>buffer": true,
"ethereumjs-util>ethereum-cryptography>keccak": true,
"ethereumjs-util>ethereum-cryptography>secp256k1": true,
"ethereumjs-wallet>randombytes": true
}
},
"ethereumjs-wallet>ethereumjs-util": {
"packages": {
"bn.js": true,
"browserify>assert": true,
"browserify>buffer": true,
"eth-sig-util>ethereumjs-util>ethjs-util": true,
"ethereumjs-util>create-hash": true,
"ethereumjs-util>ethereum-cryptography": true,
"ethereumjs-util>rlp": true,
"ethereumjs-wallet>ethereumjs-util>ethjs-util": true,
"ethereumjs-wallet>ethereum-cryptography": true,
"ganache>secp256k1>elliptic": true
}
},
"ethereumjs-wallet>ethereumjs-util>ethjs-util": {
"packages": {
"browserify>buffer": true,
"ethjs>ethjs-util>is-hex-prefixed": true,
"ethjs>ethjs-util>strip-hex-prefix": true
}
},
"ethereumjs-wallet>randombytes": {
"globals": {
"crypto": true,
@ -4287,9 +4285,9 @@
"ethjs-contract": {
"packages": {
"ethjs-contract>ethjs-abi": true,
"ethjs-contract>ethjs-util": true,
"ethjs-query>babel-runtime": true,
"ethjs>ethjs-filter": true,
"ethjs>ethjs-util": true,
"ethjs>js-sha3": true,
"promise-to-callback": true
}
@ -4302,6 +4300,13 @@
"ethjs>number-to-bn": true
}
},
"ethjs-contract>ethjs-util": {
"packages": {
"browserify>buffer": true,
"ethjs>ethjs-util>is-hex-prefixed": true,
"ethjs>ethjs-util>strip-hex-prefix": true
}
},
"ethjs-query": {
"globals": {
"console": true
@ -4332,11 +4337,18 @@
"ethjs-query>ethjs-format": {
"packages": {
"ethjs-query>ethjs-format>ethjs-schema": true,
"ethjs>ethjs-util": true,
"ethjs-query>ethjs-format>ethjs-util": true,
"ethjs>ethjs-util>strip-hex-prefix": true,
"ethjs>number-to-bn": true
}
},
"ethjs-query>ethjs-format>ethjs-util": {
"packages": {
"browserify>buffer": true,
"ethjs>ethjs-util>is-hex-prefixed": true,
"ethjs>ethjs-util>strip-hex-prefix": true
}
},
"ethjs-query>ethjs-rpc": {
"packages": {
"promise-to-callback": true

View File

@ -173,29 +173,13 @@
"packages": {
"@ethereumjs/tx>@chainsafe/ssz": true,
"@ethereumjs/tx>@ethereumjs/rlp": true,
"@ethereumjs/tx>@ethereumjs/util>ethereum-cryptography": true,
"@ethereumjs/tx>@ethereumjs/util>micro-ftch": true,
"@ethereumjs/tx>ethereum-cryptography": true,
"browserify>buffer": true,
"browserify>events": true,
"browserify>insert-module-globals>is-buffer": true
}
},
"@ethereumjs/tx>@ethereumjs/util>ethereum-cryptography": {
"globals": {
"TextDecoder": true,
"crypto": true
},
"packages": {
"@ethereumjs/tx>@ethereumjs/util>ethereum-cryptography>@noble/hashes": true,
"@ethereumjs/tx>ethereum-cryptography>@noble/curves": true
}
},
"@ethereumjs/tx>@ethereumjs/util>ethereum-cryptography>@noble/hashes": {
"globals": {
"TextEncoder": true,
"crypto": true
}
},
"@ethereumjs/tx>@ethereumjs/util>micro-ftch": {
"globals": {
"Headers": true,
@ -220,6 +204,7 @@
"crypto": true
},
"packages": {
"@ethereumjs/tx>ethereum-cryptography>@noble/curves": true,
"@ethereumjs/tx>ethereum-cryptography>@noble/hashes": true
}
},
@ -887,8 +872,8 @@
"setTimeout": true
},
"packages": {
"@metamask/controller-utils>@metamask/utils": true,
"@metamask/controller-utils>@spruceid/siwe-parser": true,
"@metamask/utils": true,
"browserify>buffer": true,
"eslint>fast-deep-equal": true,
"eth-ens-namehash": true,
@ -896,6 +881,19 @@
"ethjs>ethjs-unit": true
}
},
"@metamask/controller-utils>@metamask/utils": {
"globals": {
"TextDecoder": true,
"TextEncoder": true
},
"packages": {
"@metamask/key-tree>@noble/hashes": true,
"browserify>buffer": true,
"nock>debug": true,
"semver": true,
"superstruct": true
}
},
"@metamask/controller-utils>@spruceid/siwe-parser": {
"globals": {
"console.error": true,
@ -1025,9 +1023,9 @@
"packages": {
"@ethereumjs/tx>@ethereumjs/util": true,
"@metamask/eth-keyring-controller>@metamask/eth-sig-util>ethereum-cryptography": true,
"@metamask/eth-keyring-controller>@metamask/eth-sig-util>ethjs-util": true,
"bn.js": true,
"browserify>buffer": true,
"eth-sig-util>ethereumjs-util>ethjs-util": true,
"eth-sig-util>tweetnacl": true,
"eth-sig-util>tweetnacl-util": true
}
@ -1047,13 +1045,6 @@
"crypto": true
}
},
"@metamask/eth-keyring-controller>@metamask/eth-sig-util>ethjs-util": {
"packages": {
"browserify>buffer": true,
"ethjs>ethjs-util>is-hex-prefixed": true,
"ethjs>ethjs-util>strip-hex-prefix": true
}
},
"@metamask/eth-keyring-controller>@metamask/eth-simple-keyring": {
"packages": {
"@ethereumjs/tx>@ethereumjs/util": true,
@ -1114,22 +1105,23 @@
},
"@metamask/eth-ledger-bridge-keyring>eth-sig-util>ethereumjs-util": {
"packages": {
"@metamask/eth-ledger-bridge-keyring>eth-sig-util>ethereumjs-util>ethjs-util": true,
"@metamask/eth-ledger-bridge-keyring>eth-sig-util>ethereumjs-util>ethereum-cryptography": true,
"bn.js": true,
"browserify>assert": true,
"browserify>buffer": true,
"eth-sig-util>ethereumjs-util>ethjs-util": true,
"ethereumjs-util>create-hash": true,
"ethereumjs-util>ethereum-cryptography": true,
"ethereumjs-util>rlp": true,
"ethereumjs-wallet>safe-buffer": true,
"ganache>secp256k1>elliptic": true
}
},
"@metamask/eth-ledger-bridge-keyring>eth-sig-util>ethereumjs-util>ethjs-util": {
"@metamask/eth-ledger-bridge-keyring>eth-sig-util>ethereumjs-util>ethereum-cryptography": {
"packages": {
"browserify>buffer": true,
"ethjs>ethjs-util>is-hex-prefixed": true,
"ethjs>ethjs-util>strip-hex-prefix": true
"ethereumjs-util>ethereum-cryptography>keccak": true,
"ethereumjs-util>ethereum-cryptography>secp256k1": true,
"ethereumjs-wallet>randombytes": true
}
},
"@metamask/eth-ledger-bridge-keyring>hdkey": {
@ -1154,36 +1146,14 @@
"@metamask/eth-snap-keyring>@metamask/eth-sig-util": {
"packages": {
"@ethereumjs/tx>@ethereumjs/util": true,
"@metamask/eth-snap-keyring>@metamask/eth-sig-util>ethereum-cryptography": true,
"@metamask/eth-snap-keyring>@metamask/eth-sig-util>ethjs-util": true,
"@ethereumjs/tx>ethereum-cryptography": true,
"bn.js": true,
"browserify>buffer": true,
"eth-sig-util>ethereumjs-util>ethjs-util": true,
"eth-sig-util>tweetnacl": true,
"eth-sig-util>tweetnacl-util": true
}
},
"@metamask/eth-snap-keyring>@metamask/eth-sig-util>ethereum-cryptography": {
"globals": {
"TextDecoder": true,
"crypto": true
},
"packages": {
"@metamask/eth-snap-keyring>@metamask/eth-sig-util>ethereum-cryptography>@noble/hashes": true
}
},
"@metamask/eth-snap-keyring>@metamask/eth-sig-util>ethereum-cryptography>@noble/hashes": {
"globals": {
"TextEncoder": true,
"crypto": true
}
},
"@metamask/eth-snap-keyring>@metamask/eth-sig-util>ethjs-util": {
"packages": {
"browserify>buffer": true,
"ethjs>ethjs-util>is-hex-prefixed": true,
"ethjs>ethjs-util>strip-hex-prefix": true
}
},
"@metamask/eth-token-tracker": {
"globals": {
"console.warn": true
@ -1242,11 +1212,11 @@
"@metamask/eth-token-tracker>ethjs>ethjs-abi": true,
"@metamask/eth-token-tracker>ethjs>ethjs-contract": true,
"@metamask/eth-token-tracker>ethjs>ethjs-query": true,
"@metamask/eth-token-tracker>ethjs>ethjs-util": true,
"browserify>buffer": true,
"ethjs>ethjs-filter": true,
"ethjs>ethjs-provider-http": true,
"ethjs>ethjs-unit": true,
"ethjs>ethjs-util": true,
"ethjs>js-sha3": true,
"ethjs>number-to-bn": true
}
@ -1262,9 +1232,9 @@
"@metamask/eth-token-tracker>ethjs>ethjs-contract": {
"packages": {
"@metamask/eth-token-tracker>ethjs>ethjs-contract>ethjs-abi": true,
"@metamask/eth-token-tracker>ethjs>ethjs-util": true,
"ethjs-query>babel-runtime": true,
"ethjs>ethjs-filter": true,
"ethjs>ethjs-util": true,
"ethjs>js-sha3": true,
"promise-to-callback": true
}
@ -1288,6 +1258,13 @@
"promise-to-callback": true
}
},
"@metamask/eth-token-tracker>ethjs>ethjs-util": {
"packages": {
"browserify>buffer": true,
"ethjs>ethjs-util>is-hex-prefixed": true,
"ethjs>ethjs-util>strip-hex-prefix": true
}
},
"@metamask/eth-token-tracker>safe-event-emitter": {
"globals": {
"setTimeout": true
@ -1565,14 +1542,25 @@
"packages": {
"@metamask/base-controller": true,
"@metamask/controller-utils": true,
"@metamask/message-manager>@metamask/eth-sig-util": true,
"@metamask/message-manager>jsonschema": true,
"browserify>buffer": true,
"browserify>events": true,
"eth-sig-util": true,
"ethereumjs-util": true,
"uuid": true
}
},
"@metamask/message-manager>@metamask/eth-sig-util": {
"packages": {
"@ethereumjs/tx>@ethereumjs/util": true,
"@ethereumjs/tx>ethereum-cryptography": true,
"bn.js": true,
"browserify>buffer": true,
"eth-sig-util>ethereumjs-util>ethjs-util": true,
"eth-sig-util>tweetnacl": true,
"eth-sig-util>tweetnacl-util": true
}
},
"@metamask/message-manager>jsonschema": {
"packages": {
"browserify>url": true
@ -3481,14 +3469,22 @@
"bn.js": true,
"browserify>assert": true,
"browserify>buffer": true,
"eth-sig-util>ethereumjs-util>ethereum-cryptography": true,
"eth-sig-util>ethereumjs-util>ethjs-util": true,
"ethereumjs-util>create-hash": true,
"ethereumjs-util>ethereum-cryptography": true,
"ethereumjs-util>rlp": true,
"ethereumjs-wallet>safe-buffer": true,
"ganache>secp256k1>elliptic": true
}
},
"eth-sig-util>ethereumjs-util>ethereum-cryptography": {
"packages": {
"browserify>buffer": true,
"ethereumjs-util>ethereum-cryptography>keccak": true,
"ethereumjs-util>ethereum-cryptography>secp256k1": true,
"ethereumjs-wallet>randombytes": true
}
},
"eth-sig-util>ethereumjs-util>ethjs-util": {
"packages": {
"browserify>buffer": true,
@ -3527,18 +3523,19 @@
"bn.js": true,
"browserify>assert": true,
"browserify>buffer": true,
"ethereumjs-abi>ethereumjs-util>ethjs-util": true,
"eth-sig-util>ethereumjs-util>ethjs-util": true,
"ethereumjs-abi>ethereumjs-util>ethereum-cryptography": true,
"ethereumjs-util>create-hash": true,
"ethereumjs-util>ethereum-cryptography": true,
"ethereumjs-util>rlp": true,
"ganache>secp256k1>elliptic": true
}
},
"ethereumjs-abi>ethereumjs-util>ethjs-util": {
"ethereumjs-abi>ethereumjs-util>ethereum-cryptography": {
"packages": {
"browserify>buffer": true,
"ethjs>ethjs-util>is-hex-prefixed": true,
"ethjs>ethjs-util>strip-hex-prefix": true
"ethereumjs-util>ethereum-cryptography>keccak": true,
"ethereumjs-util>ethereum-cryptography>secp256k1": true,
"ethereumjs-wallet>randombytes": true
}
},
"ethereumjs-util": {
@ -3718,25 +3715,26 @@
"ethereumjs-wallet>safe-buffer": true
}
},
"ethereumjs-wallet>ethereum-cryptography": {
"packages": {
"browserify>buffer": true,
"ethereumjs-util>ethereum-cryptography>keccak": true,
"ethereumjs-util>ethereum-cryptography>secp256k1": true,
"ethereumjs-wallet>randombytes": true
}
},
"ethereumjs-wallet>ethereumjs-util": {
"packages": {
"bn.js": true,
"browserify>assert": true,
"browserify>buffer": true,
"eth-sig-util>ethereumjs-util>ethjs-util": true,
"ethereumjs-util>create-hash": true,
"ethereumjs-util>ethereum-cryptography": true,
"ethereumjs-util>rlp": true,
"ethereumjs-wallet>ethereumjs-util>ethjs-util": true,
"ethereumjs-wallet>ethereum-cryptography": true,
"ganache>secp256k1>elliptic": true
}
},
"ethereumjs-wallet>ethereumjs-util>ethjs-util": {
"packages": {
"browserify>buffer": true,
"ethjs>ethjs-util>is-hex-prefixed": true,
"ethjs>ethjs-util>strip-hex-prefix": true
}
},
"ethereumjs-wallet>randombytes": {
"globals": {
"crypto": true,
@ -3791,9 +3789,9 @@
"ethjs-contract": {
"packages": {
"ethjs-contract>ethjs-abi": true,
"ethjs-contract>ethjs-util": true,
"ethjs-query>babel-runtime": true,
"ethjs>ethjs-filter": true,
"ethjs>ethjs-util": true,
"ethjs>js-sha3": true,
"promise-to-callback": true
}
@ -3806,6 +3804,13 @@
"ethjs>number-to-bn": true
}
},
"ethjs-contract>ethjs-util": {
"packages": {
"browserify>buffer": true,
"ethjs>ethjs-util>is-hex-prefixed": true,
"ethjs>ethjs-util>strip-hex-prefix": true
}
},
"ethjs-query": {
"globals": {
"console": true
@ -3836,11 +3841,18 @@
"ethjs-query>ethjs-format": {
"packages": {
"ethjs-query>ethjs-format>ethjs-schema": true,
"ethjs>ethjs-util": true,
"ethjs-query>ethjs-format>ethjs-util": true,
"ethjs>ethjs-util>strip-hex-prefix": true,
"ethjs>number-to-bn": true
}
},
"ethjs-query>ethjs-format>ethjs-util": {
"packages": {
"browserify>buffer": true,
"ethjs>ethjs-util>is-hex-prefixed": true,
"ethjs>ethjs-util>strip-hex-prefix": true
}
},
"ethjs-query>ethjs-rpc": {
"packages": {
"promise-to-callback": true

View File

@ -173,29 +173,13 @@
"packages": {
"@ethereumjs/tx>@chainsafe/ssz": true,
"@ethereumjs/tx>@ethereumjs/rlp": true,
"@ethereumjs/tx>@ethereumjs/util>ethereum-cryptography": true,
"@ethereumjs/tx>@ethereumjs/util>micro-ftch": true,
"@ethereumjs/tx>ethereum-cryptography": true,
"browserify>buffer": true,
"browserify>events": true,
"browserify>insert-module-globals>is-buffer": true
}
},
"@ethereumjs/tx>@ethereumjs/util>ethereum-cryptography": {
"globals": {
"TextDecoder": true,
"crypto": true
},
"packages": {
"@ethereumjs/tx>@ethereumjs/util>ethereum-cryptography>@noble/hashes": true,
"@ethereumjs/tx>ethereum-cryptography>@noble/curves": true
}
},
"@ethereumjs/tx>@ethereumjs/util>ethereum-cryptography>@noble/hashes": {
"globals": {
"TextEncoder": true,
"crypto": true
}
},
"@ethereumjs/tx>@ethereumjs/util>micro-ftch": {
"globals": {
"Headers": true,
@ -220,6 +204,7 @@
"crypto": true
},
"packages": {
"@ethereumjs/tx>ethereum-cryptography>@noble/curves": true,
"@ethereumjs/tx>ethereum-cryptography>@noble/hashes": true
}
},
@ -1115,8 +1100,8 @@
"setTimeout": true
},
"packages": {
"@metamask/controller-utils>@metamask/utils": true,
"@metamask/controller-utils>@spruceid/siwe-parser": true,
"@metamask/utils": true,
"browserify>buffer": true,
"eslint>fast-deep-equal": true,
"eth-ens-namehash": true,
@ -1124,6 +1109,19 @@
"ethjs>ethjs-unit": true
}
},
"@metamask/controller-utils>@metamask/utils": {
"globals": {
"TextDecoder": true,
"TextEncoder": true
},
"packages": {
"@metamask/key-tree>@noble/hashes": true,
"browserify>buffer": true,
"nock>debug": true,
"semver": true,
"superstruct": true
}
},
"@metamask/controller-utils>@spruceid/siwe-parser": {
"globals": {
"console.error": true,
@ -1253,9 +1251,9 @@
"packages": {
"@ethereumjs/tx>@ethereumjs/util": true,
"@metamask/eth-keyring-controller>@metamask/eth-sig-util>ethereum-cryptography": true,
"@metamask/eth-keyring-controller>@metamask/eth-sig-util>ethjs-util": true,
"bn.js": true,
"browserify>buffer": true,
"eth-sig-util>ethereumjs-util>ethjs-util": true,
"eth-sig-util>tweetnacl": true,
"eth-sig-util>tweetnacl-util": true
}
@ -1275,13 +1273,6 @@
"crypto": true
}
},
"@metamask/eth-keyring-controller>@metamask/eth-sig-util>ethjs-util": {
"packages": {
"browserify>buffer": true,
"ethjs>ethjs-util>is-hex-prefixed": true,
"ethjs>ethjs-util>strip-hex-prefix": true
}
},
"@metamask/eth-keyring-controller>@metamask/eth-simple-keyring": {
"packages": {
"@ethereumjs/tx>@ethereumjs/util": true,
@ -1342,22 +1333,23 @@
},
"@metamask/eth-ledger-bridge-keyring>eth-sig-util>ethereumjs-util": {
"packages": {
"@metamask/eth-ledger-bridge-keyring>eth-sig-util>ethereumjs-util>ethjs-util": true,
"@metamask/eth-ledger-bridge-keyring>eth-sig-util>ethereumjs-util>ethereum-cryptography": true,
"bn.js": true,
"browserify>assert": true,
"browserify>buffer": true,
"eth-sig-util>ethereumjs-util>ethjs-util": true,
"ethereumjs-util>create-hash": true,
"ethereumjs-util>ethereum-cryptography": true,
"ethereumjs-util>rlp": true,
"ethereumjs-wallet>safe-buffer": true,
"ganache>secp256k1>elliptic": true
}
},
"@metamask/eth-ledger-bridge-keyring>eth-sig-util>ethereumjs-util>ethjs-util": {
"@metamask/eth-ledger-bridge-keyring>eth-sig-util>ethereumjs-util>ethereum-cryptography": {
"packages": {
"browserify>buffer": true,
"ethjs>ethjs-util>is-hex-prefixed": true,
"ethjs>ethjs-util>strip-hex-prefix": true
"ethereumjs-util>ethereum-cryptography>keccak": true,
"ethereumjs-util>ethereum-cryptography>secp256k1": true,
"ethereumjs-wallet>randombytes": true
}
},
"@metamask/eth-ledger-bridge-keyring>hdkey": {
@ -1382,36 +1374,14 @@
"@metamask/eth-snap-keyring>@metamask/eth-sig-util": {
"packages": {
"@ethereumjs/tx>@ethereumjs/util": true,
"@metamask/eth-snap-keyring>@metamask/eth-sig-util>ethereum-cryptography": true,
"@metamask/eth-snap-keyring>@metamask/eth-sig-util>ethjs-util": true,
"@ethereumjs/tx>ethereum-cryptography": true,
"bn.js": true,
"browserify>buffer": true,
"eth-sig-util>ethereumjs-util>ethjs-util": true,
"eth-sig-util>tweetnacl": true,
"eth-sig-util>tweetnacl-util": true
}
},
"@metamask/eth-snap-keyring>@metamask/eth-sig-util>ethereum-cryptography": {
"globals": {
"TextDecoder": true,
"crypto": true
},
"packages": {
"@metamask/eth-snap-keyring>@metamask/eth-sig-util>ethereum-cryptography>@noble/hashes": true
}
},
"@metamask/eth-snap-keyring>@metamask/eth-sig-util>ethereum-cryptography>@noble/hashes": {
"globals": {
"TextEncoder": true,
"crypto": true
}
},
"@metamask/eth-snap-keyring>@metamask/eth-sig-util>ethjs-util": {
"packages": {
"browserify>buffer": true,
"ethjs>ethjs-util>is-hex-prefixed": true,
"ethjs>ethjs-util>strip-hex-prefix": true
}
},
"@metamask/eth-token-tracker": {
"globals": {
"console.warn": true
@ -1470,11 +1440,11 @@
"@metamask/eth-token-tracker>ethjs>ethjs-abi": true,
"@metamask/eth-token-tracker>ethjs>ethjs-contract": true,
"@metamask/eth-token-tracker>ethjs>ethjs-query": true,
"@metamask/eth-token-tracker>ethjs>ethjs-util": true,
"browserify>buffer": true,
"ethjs>ethjs-filter": true,
"ethjs>ethjs-provider-http": true,
"ethjs>ethjs-unit": true,
"ethjs>ethjs-util": true,
"ethjs>js-sha3": true,
"ethjs>number-to-bn": true
}
@ -1490,9 +1460,9 @@
"@metamask/eth-token-tracker>ethjs>ethjs-contract": {
"packages": {
"@metamask/eth-token-tracker>ethjs>ethjs-contract>ethjs-abi": true,
"@metamask/eth-token-tracker>ethjs>ethjs-util": true,
"ethjs-query>babel-runtime": true,
"ethjs>ethjs-filter": true,
"ethjs>ethjs-util": true,
"ethjs>js-sha3": true,
"promise-to-callback": true
}
@ -1516,6 +1486,13 @@
"promise-to-callback": true
}
},
"@metamask/eth-token-tracker>ethjs>ethjs-util": {
"packages": {
"browserify>buffer": true,
"ethjs>ethjs-util>is-hex-prefixed": true,
"ethjs>ethjs-util>strip-hex-prefix": true
}
},
"@metamask/eth-token-tracker>safe-event-emitter": {
"globals": {
"setTimeout": true
@ -1793,14 +1770,25 @@
"packages": {
"@metamask/base-controller": true,
"@metamask/controller-utils": true,
"@metamask/message-manager>@metamask/eth-sig-util": true,
"@metamask/message-manager>jsonschema": true,
"browserify>buffer": true,
"browserify>events": true,
"eth-sig-util": true,
"ethereumjs-util": true,
"uuid": true
}
},
"@metamask/message-manager>@metamask/eth-sig-util": {
"packages": {
"@ethereumjs/tx>@ethereumjs/util": true,
"@ethereumjs/tx>ethereum-cryptography": true,
"bn.js": true,
"browserify>buffer": true,
"eth-sig-util>ethereumjs-util>ethjs-util": true,
"eth-sig-util>tweetnacl": true,
"eth-sig-util>tweetnacl-util": true
}
},
"@metamask/message-manager>jsonschema": {
"packages": {
"browserify>url": true
@ -3709,14 +3697,22 @@
"bn.js": true,
"browserify>assert": true,
"browserify>buffer": true,
"eth-sig-util>ethereumjs-util>ethereum-cryptography": true,
"eth-sig-util>ethereumjs-util>ethjs-util": true,
"ethereumjs-util>create-hash": true,
"ethereumjs-util>ethereum-cryptography": true,
"ethereumjs-util>rlp": true,
"ethereumjs-wallet>safe-buffer": true,
"ganache>secp256k1>elliptic": true
}
},
"eth-sig-util>ethereumjs-util>ethereum-cryptography": {
"packages": {
"browserify>buffer": true,
"ethereumjs-util>ethereum-cryptography>keccak": true,
"ethereumjs-util>ethereum-cryptography>secp256k1": true,
"ethereumjs-wallet>randombytes": true
}
},
"eth-sig-util>ethereumjs-util>ethjs-util": {
"packages": {
"browserify>buffer": true,
@ -3755,18 +3751,19 @@
"bn.js": true,
"browserify>assert": true,
"browserify>buffer": true,
"ethereumjs-abi>ethereumjs-util>ethjs-util": true,
"eth-sig-util>ethereumjs-util>ethjs-util": true,
"ethereumjs-abi>ethereumjs-util>ethereum-cryptography": true,
"ethereumjs-util>create-hash": true,
"ethereumjs-util>ethereum-cryptography": true,
"ethereumjs-util>rlp": true,
"ganache>secp256k1>elliptic": true
}
},
"ethereumjs-abi>ethereumjs-util>ethjs-util": {
"ethereumjs-abi>ethereumjs-util>ethereum-cryptography": {
"packages": {
"browserify>buffer": true,
"ethjs>ethjs-util>is-hex-prefixed": true,
"ethjs>ethjs-util>strip-hex-prefix": true
"ethereumjs-util>ethereum-cryptography>keccak": true,
"ethereumjs-util>ethereum-cryptography>secp256k1": true,
"ethereumjs-wallet>randombytes": true
}
},
"ethereumjs-util": {
@ -3946,25 +3943,26 @@
"ethereumjs-wallet>safe-buffer": true
}
},
"ethereumjs-wallet>ethereum-cryptography": {
"packages": {
"browserify>buffer": true,
"ethereumjs-util>ethereum-cryptography>keccak": true,
"ethereumjs-util>ethereum-cryptography>secp256k1": true,
"ethereumjs-wallet>randombytes": true
}
},
"ethereumjs-wallet>ethereumjs-util": {
"packages": {
"bn.js": true,
"browserify>assert": true,
"browserify>buffer": true,
"eth-sig-util>ethereumjs-util>ethjs-util": true,
"ethereumjs-util>create-hash": true,
"ethereumjs-util>ethereum-cryptography": true,
"ethereumjs-util>rlp": true,
"ethereumjs-wallet>ethereumjs-util>ethjs-util": true,
"ethereumjs-wallet>ethereum-cryptography": true,
"ganache>secp256k1>elliptic": true
}
},
"ethereumjs-wallet>ethereumjs-util>ethjs-util": {
"packages": {
"browserify>buffer": true,
"ethjs>ethjs-util>is-hex-prefixed": true,
"ethjs>ethjs-util>strip-hex-prefix": true
}
},
"ethereumjs-wallet>randombytes": {
"globals": {
"crypto": true,
@ -4019,9 +4017,9 @@
"ethjs-contract": {
"packages": {
"ethjs-contract>ethjs-abi": true,
"ethjs-contract>ethjs-util": true,
"ethjs-query>babel-runtime": true,
"ethjs>ethjs-filter": true,
"ethjs>ethjs-util": true,
"ethjs>js-sha3": true,
"promise-to-callback": true
}
@ -4034,6 +4032,13 @@
"ethjs>number-to-bn": true
}
},
"ethjs-contract>ethjs-util": {
"packages": {
"browserify>buffer": true,
"ethjs>ethjs-util>is-hex-prefixed": true,
"ethjs>ethjs-util>strip-hex-prefix": true
}
},
"ethjs-query": {
"globals": {
"console": true
@ -4064,11 +4069,18 @@
"ethjs-query>ethjs-format": {
"packages": {
"ethjs-query>ethjs-format>ethjs-schema": true,
"ethjs>ethjs-util": true,
"ethjs-query>ethjs-format>ethjs-util": true,
"ethjs>ethjs-util>strip-hex-prefix": true,
"ethjs>number-to-bn": true
}
},
"ethjs-query>ethjs-format>ethjs-util": {
"packages": {
"browserify>buffer": true,
"ethjs>ethjs-util>is-hex-prefixed": true,
"ethjs>ethjs-util>strip-hex-prefix": true
}
},
"ethjs-query>ethjs-rpc": {
"packages": {
"promise-to-callback": true

View File

@ -197,8 +197,8 @@
"request@^2.83.0": "patch:request@npm%3A2.88.2#./.yarn/patches/request-npm-2.88.2-f4a57c72c4.patch",
"request@^2.88.2": "patch:request@npm%3A2.88.2#./.yarn/patches/request-npm-2.88.2-f4a57c72c4.patch",
"request@^2.85.0": "patch:request@npm%3A2.88.2#./.yarn/patches/request-npm-2.88.2-f4a57c72c4.patch",
"@metamask/signature-controller@^4.0.1": "patch:@metamask/signature-controller@npm%3A4.0.1#./.yarn/patches/@metamask-signature-controller-npm-4.0.1-013e64c9fd.patch",
"lavamoat-core@^14.2.0": "patch:lavamoat-core@npm%3A14.2.0#./.yarn/patches/lavamoat-core-npm-14.2.0-c453f4f755.patch"
"lavamoat-core@^14.2.0": "patch:lavamoat-core@npm%3A14.2.0#./.yarn/patches/lavamoat-core-npm-14.2.0-c453f4f755.patch",
"@metamask/signature-controller@^5.3.0": "patch:@metamask/signature-controller@npm%3A5.3.0#./.yarn/patches/@metamask-signature-controller-npm-5.3.0-225628460b.patch"
},
"dependencies": {
"@babel/runtime": "^7.18.9",
@ -219,7 +219,7 @@
"@material-ui/core": "^4.11.0",
"@metamask-institutional/custody-controller": "0.2.6",
"@metamask-institutional/custody-keyring": "^0.0.25",
"@metamask-institutional/extension": "^0.1.6",
"@metamask-institutional/extension": "^0.2.1",
"@metamask-institutional/institutional-features": "^1.1.8",
"@metamask-institutional/portfolio-dashboard": "^1.1.3",
"@metamask-institutional/rpc-allowlist": "^1.0.0",
@ -261,7 +261,7 @@
"@metamask/rpc-methods-flask": "npm:@metamask/rpc-methods@0.37.1-flask.1",
"@metamask/safe-event-emitter": "^2.0.0",
"@metamask/scure-bip39": "^2.0.3",
"@metamask/signature-controller": "^4.0.1",
"@metamask/signature-controller": "^5.3.0",
"@metamask/slip44": "^3.0.0",
"@metamask/smart-transactions-controller": "^4.0.0",
"@metamask/snaps-controllers": "^1.0.0-prerelease.1",

View File

@ -263,13 +263,21 @@ export default class SignatureRequestOriginal extends Component {
mostRecentOverviewPage,
resolvePendingApproval,
completedTx,
txData: { id },
txData,
} = this.props;
///: BEGIN:ONLY_INCLUDE_IN(build-mmi)
if (this.props.mmiOnSignCallback) {
await this.props.mmiOnSignCallback(txData);
return;
}
///: END:ONLY_INCLUDE_IN
await resolvePendingApproval(id);
completedTx(id);
///: BEGIN:ONLY_INCLUDE_IN(build-main,build-beta,build-flask)
await resolvePendingApproval(txData.id);
completedTx(txData.id);
clearConfirmTransaction();
history.push(mostRecentOverviewPage);
///: END:ONLY_INCLUDE_IN
};
onCancel = async () => {
@ -324,9 +332,11 @@ export default class SignatureRequestOriginal extends Component {
}
///: END:ONLY_INCLUDE_IN
///: BEGIN:ONLY_INCLUDE_IN(build-main,build-beta,build-flask)
await resolvePendingApproval(txData.id);
clearConfirmTransaction();
history.push(mostRecentOverviewPage);
///: END:ONLY_INCLUDE_IN
}
}}
disabled={

View File

@ -17,10 +17,7 @@ import {
setPersonalMessageInProgress,
} from '../../../store/institutional/institution-background';
import { getEnvironmentType } from '../../../../app/scripts/lib/util';
import {
showCustodyConfirmLink,
checkForUnapprovedMessages,
} from '../../../store/institutional/institution-actions';
import { showCustodyConfirmLink } from '../../../store/institutional/institution-actions';
import { ENVIRONMENT_TYPE_NOTIFICATION } from '../../../../shared/constants/app';
///: END:ONLY_INCLUDE_IN
import {
@ -30,7 +27,6 @@ import {
unconfirmedMessagesHashSelector,
getTotalUnapprovedMessagesCount,
///: BEGIN:ONLY_INCLUDE_IN(build-mmi)
unapprovedPersonalMsgsSelector,
getAccountType,
getSelectedAccount,
///: END:ONLY_INCLUDE_IN
@ -71,7 +67,6 @@ function mapStateToProps(state, ownProps) {
accountType: getAccountType(state),
isNotification: envType === ENVIRONMENT_TYPE_NOTIFICATION,
selectedAccount: getSelectedAccount(state),
unapprovedPersonalMessages: unapprovedPersonalMsgsSelector(state),
///: END:ONLY_INCLUDE_IN
};
}
@ -146,7 +141,6 @@ function mmiMapDispatchToProps(dispatch) {
),
setWaitForConfirmDeepLinkDialog: (wait) =>
dispatch(mmiActions.setWaitForConfirmDeepLinkDialog(wait)),
goHome: () => dispatch(goHome()),
clearConfirmTransaction: () => dispatch(clearConfirmTransaction()),
showRejectTransactionsConfirmationModal: ({
onSubmit,
@ -185,7 +179,6 @@ function mergeProps(stateProps, dispatchProps, ownProps) {
///: BEGIN:ONLY_INCLUDE_IN(build-mmi)
accountType,
isNotification,
unapprovedPersonalMessages,
///: END:ONLY_INCLUDE_IN
...otherStateProps
} = stateProps;
@ -202,25 +195,17 @@ function mergeProps(stateProps, dispatchProps, ownProps) {
const mmiOnSignCallback = async (_msgData) => {
if (accountType === 'custody') {
try {
let msgData = _msgData;
let id = _msgData.custodyId;
if (!_msgData.custodyId) {
msgData = checkForUnapprovedMessages(
_msgData,
unapprovedPersonalMessages,
);
id = msgData.custodyId;
}
await dispatchProps.resolvePendingApproval(_msgData.id);
dispatchProps.completedTx(_msgData.id);
dispatchProps.showCustodianDeepLink({
custodyId: id,
custodyId: null,
fromAddress: fromAccount.address,
closeNotification: isNotification,
onDeepLinkFetched: () => undefined,
onDeepLinkShown: () => undefined,
});
await dispatchProps.setMsgInProgress(msgData.metamaskId);
await dispatchProps.setWaitForConfirmDeepLinkDialog(true);
await goHome();
} catch (err) {
await dispatchProps.setWaitForConfirmDeepLinkDialog(true);
await dispatchProps.showTransactionsFailedModal({
@ -229,6 +214,10 @@ function mergeProps(stateProps, dispatchProps, ownProps) {
operationFailed: true,
});
}
} else {
// Non Custody accounts follow normal flow
await dispatchProps.resolvePendingApproval(_msgData.id);
dispatchProps.completedTx(_msgData.id);
}
};
///: END:ONLY_INCLUDE_IN

View File

@ -156,11 +156,14 @@ const SignatureRequest = ({ txData }) => {
///: BEGIN:ONLY_INCLUDE_IN(build-mmi)
if (accountType === 'custody') {
await custodySignFn(txData);
return;
}
///: END:ONLY_INCLUDE_IN
///: BEGIN:ONLY_INCLUDE_IN(build-main,build-beta,build-flask)
await dispatch(resolvePendingApproval(id));
completedTx(id);
///: END:ONLY_INCLUDE_IN
trackEvent({
category: MetaMetricsEventCategory.Transactions,

View File

@ -173,87 +173,70 @@ export default function TransactionList({
<Box className="transaction-list__transactions">
{pendingTransactions.length > 0 && (
<Box className="transaction-list__pending-transactions">
{pendingTransactions
///: BEGIN:ONLY_INCLUDE_IN(build-mmi)
.sort(
(a, b) => b.primaryTransaction.time - a.primaryTransaction.time,
)
///: END:ONLY_INCLUDE_IN
.map((dateGroup) => {
return dateGroup.transactionGroups.map(
(transactionGroup, index) => {
///: BEGIN:ONLY_INCLUDE_IN(build-main,build-beta,build-flask)
if (
transactionGroup.initialTransaction.transactionType ===
TransactionType.smart
) {
return (
<>
{renderDateStamp(index, dateGroup)}
<SmartTransactionListItem
isEarliestNonce={index === 0}
smartTransaction={
transactionGroup.initialTransaction
}
transactionGroup={transactionGroup}
key={`${transactionGroup.nonce}:${index}`}
/>
</>
);
}
///: END:ONLY_INCLUDE_IN
{pendingTransactions.map((dateGroup) => {
return dateGroup.transactionGroups.map(
(transactionGroup, index) => {
///: BEGIN:ONLY_INCLUDE_IN(build-main,build-beta,build-flask)
if (
transactionGroup.initialTransaction.transactionType ===
TransactionType.smart
) {
return (
<>
{renderDateStamp(index, dateGroup)}
<TransactionListItem
<SmartTransactionListItem
isEarliestNonce={index === 0}
smartTransaction={transactionGroup.initialTransaction}
transactionGroup={transactionGroup}
key={`${transactionGroup.nonce}:${index}`}
/>
</>
);
},
);
})}
}
///: END:ONLY_INCLUDE_IN
return (
<>
{renderDateStamp(index, dateGroup)}
<TransactionListItem
isEarliestNonce={index === 0}
transactionGroup={transactionGroup}
key={`${transactionGroup.nonce}:${index}`}
/>
</>
);
},
);
})}
</Box>
)}
<Box className="transaction-list__completed-transactions">
{completedTransactions.length > 0 ? (
completedTransactions
///: BEGIN:ONLY_INCLUDE_IN(build-mmi)
.sort(
(a, b) => b.primaryTransaction.time - a.primaryTransaction.time,
)
///: END:ONLY_INCLUDE_IN
.slice(0, limit)
.map((dateGroup) => {
return dateGroup.transactionGroups.map(
(transactionGroup, index) => {
return (
<>
{renderDateStamp(index, dateGroup)}
{transactionGroup.initialTransaction
?.transactionType === 'smart' ? (
<SmartTransactionListItem
transactionGroup={transactionGroup}
smartTransaction={
transactionGroup.initialTransaction
}
key={`${transactionGroup.nonce}:${index}`}
/>
) : (
<TransactionListItem
transactionGroup={transactionGroup}
key={`${transactionGroup.nonce}:${
limit + index - 10
}`}
/>
)}
</>
);
},
);
})
completedTransactions.slice(0, limit).map((dateGroup) => {
return dateGroup.transactionGroups.map(
(transactionGroup, index) => {
return (
<>
{renderDateStamp(index, dateGroup)}
{transactionGroup.initialTransaction?.transactionType ===
'smart' ? (
<SmartTransactionListItem
transactionGroup={transactionGroup}
smartTransaction={transactionGroup.initialTransaction}
key={`${transactionGroup.nonce}:${index}`}
/>
) : (
<TransactionListItem
transactionGroup={transactionGroup}
key={`${transactionGroup.nonce}:${
limit + index - 10
}`}
/>
)}
</>
);
},
);
})
) : (
<Box className="transaction-list__empty">
<Box className="transaction-list__empty-text">

View File

@ -73,7 +73,7 @@ const CustodyConfirmLink = ({ hideModal }) => {
event: MetaMetricsEventName.DeeplinkClicked,
});
dispatch(mmiActions.setWaitForConfirmDeepLinkDialog(false));
dispatch(hideModal());
hideModal();
};
return (

View File

@ -1,21 +1,18 @@
import { shallowEqual, useDispatch, useSelector } from 'react-redux';
import { showCustodianDeepLink } from '@metamask-institutional/extension';
import {
showCustodyConfirmLink,
checkForUnapprovedMessages,
} from '../store/institutional/institution-actions';
import {
mmiActionsFactory,
setTypedMessageInProgress,
} from '../store/institutional/institution-background';
import { showCustodyConfirmLink } from '../store/institutional/institution-actions';
import { mmiActionsFactory } from '../store/institutional/institution-background';
import {
accountsWithSendEtherInfoSelector,
getAccountType,
unapprovedTypedMessagesSelector,
} from '../selectors';
import {
resolvePendingApproval,
completedTx,
showModal,
} from '../store/actions';
import { getAccountByAddress } from '../helpers/utils/util';
import { getEnvironmentType } from '../../app/scripts/lib/util';
import { goHome, showModal } from '../store/actions';
import { ENVIRONMENT_TYPE_NOTIFICATION } from '../../shared/constants/app';
export function useMMICustodySignMessage() {
@ -28,37 +25,32 @@ export function useMMICustodySignMessage() {
accountsWithSendEtherInfoSelector,
shallowEqual,
);
const unapprovedTypedMessages = useSelector(unapprovedTypedMessagesSelector);
const custodySignFn = async (_msgData) => {
const {
msgParams: { from },
} = _msgData;
const fromAccount = getAccountByAddress(allAccounts, from);
if (accountType === 'custody') {
const { address: fromAddress } =
getAccountByAddress(allAccounts, _msgData.msgParams.from) || {};
try {
let msgData = _msgData;
let id = _msgData.custodyId;
if (!_msgData.custodyId) {
msgData = checkForUnapprovedMessages(
_msgData,
unapprovedTypedMessages,
);
id = msgData.custodyId;
}
await dispatch(resolvePendingApproval(_msgData.id));
completedTx(_msgData.id);
showCustodianDeepLink({
dispatch,
mmiActions,
txId: undefined,
custodyId: id,
fromAddress,
custodyId: null,
fromAddress: fromAccount.address,
isSignature: true,
closeNotification: isNotification,
onDeepLinkFetched: () => undefined,
onDeepLinkShown: () => undefined,
showCustodyConfirmLink,
});
await dispatch(setTypedMessageInProgress(msgData.metamaskId));
await dispatch(mmiActions.setWaitForConfirmDeepLinkDialog(true));
await dispatch(goHome());
} catch (err) {
await dispatch(mmiActions.setWaitForConfirmDeepLinkDialog(true));
await dispatch(
@ -70,6 +62,10 @@ export function useMMICustodySignMessage() {
}),
);
}
} else {
// Non Custody accounts follow normal flow
await dispatch(resolvePendingApproval(_msgData.id));
completedTx(_msgData.id);
}
};

View File

@ -3511,10 +3511,13 @@ export function resolvePendingApproval(
await submitRequestToBackground('resolvePendingApproval', [id, value]);
// Before closing the current window, check if any additional confirmations
// are added as a result of this confirmation being accepted
///: BEGIN:ONLY_INCLUDE_IN(build-main,build-beta,build-flask)
const { pendingApprovals } = await forceUpdateMetamaskState(dispatch);
if (Object.values(pendingApprovals).length === 0) {
dispatch(closeCurrentNotificationWindow());
}
///: END:ONLY_INCLUDE_IN
};
}

View File

@ -115,17 +115,19 @@ export function updateCustodyState(
}
export function checkForUnapprovedMessages(
msgData: TemporaryMessageDataType['msgParams'],
msgData: TemporaryMessageDataType,
unapprovedMessages: MessagesIndexedById,
) {
const custodianUnapprovedMessages = Object.keys(unapprovedMessages)
.map((key) => unapprovedMessages[key])
.filter((message) => message.custodyId && message.status === 'unapproved');
.filter((message) => {
return message.metadata?.custodyId && message.status === 'unapproved';
});
if (custodianUnapprovedMessages && custodianUnapprovedMessages.length > 0) {
return {
...msgData,
custodyId: unapprovedMessages[msgData.metamaskId]?.custodyId,
custodyId: unapprovedMessages[msgData.id]?.metadata?.custodyId,
};
}

View File

@ -24,7 +24,9 @@ export interface TemporaryMessageDataType {
data: string;
};
///: BEGIN:ONLY_INCLUDE_IN(build-mmi)
custodyId?: string;
metadata?: {
custodyId?: string;
};
status?: string;
///: END:ONLY_INCLUDE_IN
}

View File

@ -3731,9 +3731,9 @@ __metadata:
languageName: node
linkType: hard
"@metamask-institutional/extension@npm:^0.1.6":
version: 0.1.6
resolution: "@metamask-institutional/extension@npm:0.1.6"
"@metamask-institutional/extension@npm:^0.2.1":
version: 0.2.1
resolution: "@metamask-institutional/extension@npm:0.2.1"
dependencies:
"@ethereumjs/util": ^8.0.5
"@metamask-institutional/custody-controller": ^0.2.8
@ -3744,7 +3744,7 @@ __metadata:
"@metamask-institutional/types": ^1.0.3
jest-create-mock-instance: ^2.0.0
jest-fetch-mock: 3.0.3
checksum: d62e30658fe6be6c6ee955148bbebf729f13070cb049f0080be3a0e2f97f9ba735fe390ad26855cdb2badcdf2bbc089e2dc9641caf5c1970adceb8e71199384f
checksum: 6d34c11962fe9f5029c5dcda48eabadc43a11c9a00e1dbfa494fbed3bebbeebd23667caea774a3df6602c1ab3d257d9759614c66de9da215c657003dc225671c
languageName: node
linkType: hard
@ -3969,20 +3969,19 @@ __metadata:
languageName: node
linkType: hard
"@metamask/controller-utils@npm:^4.0.0, @metamask/controller-utils@npm:^4.0.1, @metamask/controller-utils@npm:^4.1.0, @metamask/controller-utils@npm:^4.2.0":
version: 4.2.0
resolution: "@metamask/controller-utils@npm:4.2.0"
"@metamask/controller-utils@npm:^4.0.0, @metamask/controller-utils@npm:^4.0.1, @metamask/controller-utils@npm:^4.1.0, @metamask/controller-utils@npm:^4.2.0, @metamask/controller-utils@npm:^4.3.0":
version: 4.3.0
resolution: "@metamask/controller-utils@npm:4.3.0"
dependencies:
"@metamask/utils": ^5.0.2
"@metamask/utils": ^6.2.0
"@spruceid/siwe-parser": 1.1.3
babel-runtime: ^6.26.0
eth-ens-namehash: ^2.0.8
eth-query: ^2.1.2
eth-rpc-errors: ^4.0.2
ethereumjs-util: ^7.0.10
ethjs-unit: ^0.1.6
fast-deep-equal: ^3.1.3
checksum: e71779577c37038e6e605a43ef6b9c1af82e0b3887a72c01f48ae1e4e2005116fc9d09c8b690139478c04dd2929e227642c5fd80cfbc81814d667c415c714228
checksum: e3e8f681289e451575181dab79efabcd04358d9a8acec83e1129d4c1e00ecfb39b4b7c7c149674c9645d818a0f192c268ef75ddb5442d229055f91edec60c76c
languageName: node
linkType: hard
@ -4176,6 +4175,20 @@ __metadata:
languageName: node
linkType: hard
"@metamask/eth-sig-util@npm:^6.0.0":
version: 6.0.0
resolution: "@metamask/eth-sig-util@npm:6.0.0"
dependencies:
"@ethereumjs/util": ^8.0.6
bn.js: ^4.12.0
ethereum-cryptography: ^2.0.0
ethjs-util: ^0.1.6
tweetnacl: ^1.0.3
tweetnacl-util: ^0.15.1
checksum: 76c173faed20d0d896561dbf3eb4ec3173e33288bf8844919643fd3e9fb6bc78f1ba8bd8a82252f4d13526ded4cc1aee27ae78f5b32642d9f97ef15fa230a12e
languageName: node
linkType: hard
"@metamask/eth-simple-keyring@npm:^5.0.0":
version: 5.0.0
resolution: "@metamask/eth-simple-keyring@npm:5.0.0"
@ -4331,19 +4344,19 @@ __metadata:
languageName: node
linkType: hard
"@metamask/message-manager@npm:^7.0.0, @metamask/message-manager@npm:^7.0.2":
version: 7.0.2
resolution: "@metamask/message-manager@npm:7.0.2"
"@metamask/message-manager@npm:^7.0.2, @metamask/message-manager@npm:^7.2.0":
version: 7.2.0
resolution: "@metamask/message-manager@npm:7.2.0"
dependencies:
"@metamask/base-controller": ^3.0.0
"@metamask/controller-utils": ^4.1.0
"@metamask/utils": ^5.0.2
"@metamask/base-controller": ^3.2.0
"@metamask/controller-utils": ^4.3.0
"@metamask/eth-sig-util": ^6.0.0
"@metamask/utils": ^6.2.0
"@types/uuid": ^8.3.0
eth-sig-util: ^3.0.0
ethereumjs-util: ^7.0.10
jsonschema: ^1.2.4
uuid: ^8.3.2
checksum: ee2f11a44fd7fae662aa72a0bfc02cb51327d1a42812c73aca291284a0dd2575836fd9e2a390e788da5e6515334e51863d839719762ceff65a56e60be14c046b
checksum: 450132c11d621218613f9769794d362da756b38235103d100fdd41ce571f891df96e665f1f111f0a5210e53b895c206bfd156d14e776b39c2c70a9855be1d530
languageName: node
linkType: hard
@ -4671,41 +4684,41 @@ __metadata:
languageName: node
linkType: hard
"@metamask/signature-controller@npm:4.0.1":
version: 4.0.1
resolution: "@metamask/signature-controller@npm:4.0.1"
"@metamask/signature-controller@npm:5.3.0":
version: 5.3.0
resolution: "@metamask/signature-controller@npm:5.3.0"
dependencies:
"@metamask/approval-controller": ^3.3.0
"@metamask/base-controller": ^3.0.0
"@metamask/controller-utils": ^4.0.0
"@metamask/message-manager": ^7.0.0
"@metamask/utils": ^5.0.2
"@metamask/approval-controller": ^3.5.0
"@metamask/base-controller": ^3.2.0
"@metamask/controller-utils": ^4.3.0
"@metamask/message-manager": ^7.2.0
"@metamask/utils": ^6.2.0
eth-rpc-errors: ^4.0.2
ethereumjs-util: ^7.0.10
immer: ^9.0.6
lodash: ^4.17.21
peerDependencies:
"@metamask/approval-controller": ^3.3.0
checksum: 8d510fe3761f2c0ac39bb6b9891497012e3608559480aee11f8f76556573521b01ecde334f1ffd71e8fc674243ae7fa111d0f2aaa36f4466d2e9466998af6618
"@metamask/approval-controller": ^3.5.0
checksum: cc5865e32a72386e4eb43d5c8dc64be40410d9e30c8c2d91dc50d806b367d0ec5ce30e997a02ec9588cbb9ae835dc0426cc5ccdedb9dad1bdb6baa31e5360e70
languageName: node
linkType: hard
"@metamask/signature-controller@patch:@metamask/signature-controller@npm%3A4.0.1#./.yarn/patches/@metamask-signature-controller-npm-4.0.1-013e64c9fd.patch::locator=metamask-crx%40workspace%3A.":
version: 4.0.1
resolution: "@metamask/signature-controller@patch:@metamask/signature-controller@npm%3A4.0.1#./.yarn/patches/@metamask-signature-controller-npm-4.0.1-013e64c9fd.patch::version=4.0.1&hash=7f339b&locator=metamask-crx%40workspace%3A."
"@metamask/signature-controller@patch:@metamask/signature-controller@npm%3A5.3.0#./.yarn/patches/@metamask-signature-controller-npm-5.3.0-225628460b.patch::locator=metamask-crx%40workspace%3A.":
version: 5.3.0
resolution: "@metamask/signature-controller@patch:@metamask/signature-controller@npm%3A5.3.0#./.yarn/patches/@metamask-signature-controller-npm-5.3.0-225628460b.patch::version=5.3.0&hash=98d890&locator=metamask-crx%40workspace%3A."
dependencies:
"@metamask/approval-controller": ^3.3.0
"@metamask/base-controller": ^3.0.0
"@metamask/controller-utils": ^4.0.0
"@metamask/message-manager": ^7.0.0
"@metamask/utils": ^5.0.2
"@metamask/approval-controller": ^3.5.0
"@metamask/base-controller": ^3.2.0
"@metamask/controller-utils": ^4.3.0
"@metamask/message-manager": ^7.2.0
"@metamask/utils": ^6.2.0
eth-rpc-errors: ^4.0.2
ethereumjs-util: ^7.0.10
immer: ^9.0.6
lodash: ^4.17.21
peerDependencies:
"@metamask/approval-controller": ^3.3.0
checksum: d678cf1763cfe9e13c0e5d357fcc44bd4580efc44a6fdca61ba6eed059c47c780fafaf08a075466a4886fbb9c6332544752bf7d25d515a37213c800cfc181665
"@metamask/approval-controller": ^3.5.0
checksum: 9d7d541c1a057b9174745593e1f5acd3616d12474a33cbfa8818cd5a79a525a36f1b7fa3f6b2fff71fc59dee59ee7aa7bdbf68a763c34b689ad83b340e738d66
languageName: node
linkType: hard
@ -24195,7 +24208,7 @@ __metadata:
"@material-ui/core": ^4.11.0
"@metamask-institutional/custody-controller": 0.2.6
"@metamask-institutional/custody-keyring": ^0.0.25
"@metamask-institutional/extension": ^0.1.6
"@metamask-institutional/extension": ^0.2.1
"@metamask-institutional/institutional-features": ^1.1.8
"@metamask-institutional/portfolio-dashboard": ^1.1.3
"@metamask-institutional/rpc-allowlist": ^1.0.0
@ -24245,7 +24258,7 @@ __metadata:
"@metamask/rpc-methods-flask": "npm:@metamask/rpc-methods@0.37.1-flask.1"
"@metamask/safe-event-emitter": ^2.0.0
"@metamask/scure-bip39": ^2.0.3
"@metamask/signature-controller": ^4.0.1
"@metamask/signature-controller": ^5.3.0
"@metamask/slip44": ^3.0.0
"@metamask/smart-transactions-controller": ^4.0.0
"@metamask/snaps-controllers": ^1.0.0-prerelease.1