diff --git a/.yarn/patches/@metamask-signature-controller-npm-4.0.1-013e64c9fd.patch b/.yarn/patches/@metamask-signature-controller-npm-4.0.1-013e64c9fd.patch deleted file mode 100644 index ef3f75e9e..000000000 --- a/.yarn/patches/@metamask-signature-controller-npm-4.0.1-013e64c9fd.patch +++ /dev/null @@ -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; diff --git a/.yarn/patches/@metamask-signature-controller-npm-5.3.0-225628460b.patch b/.yarn/patches/@metamask-signature-controller-npm-5.3.0-225628460b.patch new file mode 100644 index 000000000..ac0375763 --- /dev/null +++ b/.yarn/patches/@metamask-signature-controller-npm-5.3.0-225628460b.patch @@ -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* () { diff --git a/app/scripts/controllers/mmi-controller.js b/app/scripts/controllers/mmi-controller.js index 04694b716..ec7d999bb 100644 --- a/app/scripts/controllers/mmi-controller.js +++ b/app/scripts/controllers/mmi-controller.js @@ -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(); diff --git a/app/scripts/controllers/mmi-controller.test.js b/app/scripts/controllers/mmi-controller.test.js index f6f9cc5f7..de06940c8 100644 --- a/app/scripts/controllers/mmi-controller.test.js +++ b/app/scripts/controllers/mmi-controller.test.js @@ -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(), diff --git a/app/scripts/metamask-controller.js b/app/scripts/metamask-controller.js index 1ada910e7..64216f151 100644 --- a/app/scripts/metamask-controller.js +++ b/app/scripts/metamask-controller.js @@ -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: diff --git a/lavamoat/browserify/beta/policy.json b/lavamoat/browserify/beta/policy.json index 3afc49c78..0ac70c31e 100644 --- a/lavamoat/browserify/beta/policy.json +++ b/lavamoat/browserify/beta/policy.json @@ -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 diff --git a/lavamoat/browserify/desktop/policy.json b/lavamoat/browserify/desktop/policy.json index 682b9ad41..4f181ab36 100644 --- a/lavamoat/browserify/desktop/policy.json +++ b/lavamoat/browserify/desktop/policy.json @@ -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 diff --git a/lavamoat/browserify/flask/policy.json b/lavamoat/browserify/flask/policy.json index 682b9ad41..4f181ab36 100644 --- a/lavamoat/browserify/flask/policy.json +++ b/lavamoat/browserify/flask/policy.json @@ -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 diff --git a/lavamoat/browserify/main/policy.json b/lavamoat/browserify/main/policy.json index 3afc49c78..0ac70c31e 100644 --- a/lavamoat/browserify/main/policy.json +++ b/lavamoat/browserify/main/policy.json @@ -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 diff --git a/lavamoat/browserify/mmi/policy.json b/lavamoat/browserify/mmi/policy.json index 4d19d9c67..5d216d883 100644 --- a/lavamoat/browserify/mmi/policy.json +++ b/lavamoat/browserify/mmi/policy.json @@ -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 diff --git a/package.json b/package.json index e134633e0..a81ce0f2b 100644 --- a/package.json +++ b/package.json @@ -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", diff --git a/ui/components/app/signature-request-original/signature-request-original.component.js b/ui/components/app/signature-request-original/signature-request-original.component.js index 6eb4272c3..52d3d86fd 100644 --- a/ui/components/app/signature-request-original/signature-request-original.component.js +++ b/ui/components/app/signature-request-original/signature-request-original.component.js @@ -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={ diff --git a/ui/components/app/signature-request-original/signature-request-original.container.js b/ui/components/app/signature-request-original/signature-request-original.container.js index b0f5e3171..8913c1ace 100644 --- a/ui/components/app/signature-request-original/signature-request-original.container.js +++ b/ui/components/app/signature-request-original/signature-request-original.container.js @@ -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 diff --git a/ui/components/app/signature-request/signature-request.js b/ui/components/app/signature-request/signature-request.js index e93f7af75..0f00b5d9b 100644 --- a/ui/components/app/signature-request/signature-request.js +++ b/ui/components/app/signature-request/signature-request.js @@ -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, diff --git a/ui/components/app/transaction-list/transaction-list.component.js b/ui/components/app/transaction-list/transaction-list.component.js index 65649adce..825ace18c 100644 --- a/ui/components/app/transaction-list/transaction-list.component.js +++ b/ui/components/app/transaction-list/transaction-list.component.js @@ -173,87 +173,70 @@ export default function TransactionList({ {pendingTransactions.length > 0 && ( - {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)} - - - ); - } - ///: 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)} - ); - }, - ); - })} + } + ///: END:ONLY_INCLUDE_IN + return ( + <> + {renderDateStamp(index, dateGroup)} + + + ); + }, + ); + })} )} {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' ? ( - - ) : ( - - )} - - ); - }, - ); - }) + completedTransactions.slice(0, limit).map((dateGroup) => { + return dateGroup.transactionGroups.map( + (transactionGroup, index) => { + return ( + <> + {renderDateStamp(index, dateGroup)} + {transactionGroup.initialTransaction?.transactionType === + 'smart' ? ( + + ) : ( + + )} + + ); + }, + ); + }) ) : ( diff --git a/ui/components/institutional/custody-confirm-link-modal/custody-confirm-link-modal.js b/ui/components/institutional/custody-confirm-link-modal/custody-confirm-link-modal.js index f4c15c412..a71f06580 100644 --- a/ui/components/institutional/custody-confirm-link-modal/custody-confirm-link-modal.js +++ b/ui/components/institutional/custody-confirm-link-modal/custody-confirm-link-modal.js @@ -73,7 +73,7 @@ const CustodyConfirmLink = ({ hideModal }) => { event: MetaMetricsEventName.DeeplinkClicked, }); dispatch(mmiActions.setWaitForConfirmDeepLinkDialog(false)); - dispatch(hideModal()); + hideModal(); }; return ( diff --git a/ui/hooks/useMMICustodySignMessage.js b/ui/hooks/useMMICustodySignMessage.js index 9e7dd32f9..ba3914966 100644 --- a/ui/hooks/useMMICustodySignMessage.js +++ b/ui/hooks/useMMICustodySignMessage.js @@ -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); } }; diff --git a/ui/store/actions.ts b/ui/store/actions.ts index 10dcc6b83..12fdaf22a 100644 --- a/ui/store/actions.ts +++ b/ui/store/actions.ts @@ -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 }; } diff --git a/ui/store/institutional/institution-actions.ts b/ui/store/institutional/institution-actions.ts index f6eada4ed..6a573e4f4 100644 --- a/ui/store/institutional/institution-actions.ts +++ b/ui/store/institutional/institution-actions.ts @@ -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, }; } diff --git a/ui/store/store.ts b/ui/store/store.ts index bd6e42427..8f8e46847 100644 --- a/ui/store/store.ts +++ b/ui/store/store.ts @@ -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 } diff --git a/yarn.lock b/yarn.lock index e92db284e..a554b3932 100644 --- a/yarn.lock +++ b/yarn.lock @@ -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