From 29dc35061d8eac47b7118c1b1572066b8d4c5937 Mon Sep 17 00:00:00 2001 From: Michele Esposito Date: Wed, 5 Jul 2023 17:24:22 +0200 Subject: [PATCH 1/5] fix: return error on empty or invalid address --- jest.config.js | 4 +- package.json | 4 +- src/KeyringController.test.ts | 18 +++- src/KeyringController.ts | 3 +- yarn.lock | 166 +++++++++++++++++++++++++++++++++- 5 files changed, 188 insertions(+), 7 deletions(-) diff --git a/jest.config.js b/jest.config.js index 7849338a..810c1582 100644 --- a/jest.config.js +++ b/jest.config.js @@ -43,8 +43,8 @@ module.exports = { global: { branches: 72.09, functions: 92.85, - lines: 90.81, - statements: 91.02, + lines: 90.84, + statements: 91.05, }, }, preset: 'ts-jest', diff --git a/package.json b/package.json index 0862b25e..5133194b 100644 --- a/package.json +++ b/package.json @@ -41,6 +41,7 @@ "dependencies": { "@ethereumjs/tx": "^4.1.1", "@metamask/browser-passworder": "^4.1.0", + "@metamask/controller-utils": "^4.0.1", "@metamask/eth-hd-keyring": "^6.0.0", "@metamask/eth-sig-util": "^6.0.0", "@metamask/eth-simple-keyring": "^5.0.0", @@ -95,7 +96,8 @@ "ethereumjs-wallet>ethereum-cryptography>keccak": false, "ethereumjs-wallet>ethereum-cryptography>secp256k1": false, "@metamask/eth-hd-keyring>eth-simple-keyring>eth-sig-util>ethereumjs-util>keccak": false, - "@metamask/eth-hd-keyring>eth-simple-keyring>eth-sig-util>ethereumjs-util>secp256k1": false + "@metamask/eth-hd-keyring>eth-simple-keyring>eth-sig-util>ethereumjs-util>secp256k1": false, + "@metamask/controller-utils>babel-runtime>core-js": false } } } diff --git a/src/KeyringController.test.ts b/src/KeyringController.test.ts index 754d782f..ec92f708 100644 --- a/src/KeyringController.test.ts +++ b/src/KeyringController.test.ts @@ -723,10 +723,22 @@ describe('KeyringController', () => { ); }); + it('throws error when address is invalid', async () => { + await expect( + keyringController.getKeyringForAccount('0x04'), + ).rejects.toThrow( + new Error( + `${KeyringControllerError.NoKeyring}. Error info: The address passed in is invalid/empty`, + ), + ); + }); + it('throws error when there are no keyrings', async () => { keyringController.keyrings = []; await expect( - keyringController.getKeyringForAccount('0x04'), + keyringController.getKeyringForAccount( + '0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045', + ), ).rejects.toThrow( new Error( `${KeyringControllerError.NoKeyring}. Error info: There are no keyrings`, @@ -745,7 +757,9 @@ describe('KeyringController', () => { ]; await expect( - keyringController.getKeyringForAccount('0x04'), + keyringController.getKeyringForAccount( + '0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045', + ), ).rejects.toThrow( new Error( `${KeyringControllerError.NoKeyring}. Error info: There are keyrings, but none match the address`, diff --git a/src/KeyringController.ts b/src/KeyringController.ts index c0f74e54..15b452c2 100644 --- a/src/KeyringController.ts +++ b/src/KeyringController.ts @@ -1,5 +1,6 @@ import type { TypedTransaction, TxData } from '@ethereumjs/tx'; import * as encryptorUtils from '@metamask/browser-passworder'; +import { isValidHexAddress } from '@metamask/controller-utils'; import HDKeyring from '@metamask/eth-hd-keyring'; import { normalize as normalizeToHex } from '@metamask/eth-sig-util'; import SimpleKeyring from '@metamask/eth-simple-keyring'; @@ -716,7 +717,7 @@ class KeyringController extends EventEmitter { // Adding more info to the error let errorInfo = ''; - if (!address) { + if (!isValidHexAddress(hexed)) { errorInfo = 'The address passed in is invalid/empty'; } else if (!candidates.length) { errorInfo = 'There are no keyrings'; diff --git a/yarn.lock b/yarn.lock index db0f7a03..ea872128 100644 --- a/yarn.lock +++ b/yarn.lock @@ -997,6 +997,23 @@ __metadata: languageName: node linkType: hard +"@metamask/controller-utils@npm:^4.0.1": + version: 4.0.1 + resolution: "@metamask/controller-utils@npm:4.0.1" + dependencies: + "@metamask/utils": ^5.0.2 + "@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: c0c3b8b5a363aff6a7996e349f47fdc77d3b31846546dc937669a2ab2306c3ed3c2122cf682a1146c6ba3eeeabe491f8ba7aa0157d62843689242779bb506017 + languageName: node + linkType: hard + "@metamask/eslint-config-jest@npm:^11.1.0": version: 11.1.0 resolution: "@metamask/eslint-config-jest@npm:11.1.0" @@ -1067,6 +1084,7 @@ __metadata: "@lavamoat/preinstall-always-fail": ^1.0.0 "@metamask/auto-changelog": ^3.0.0 "@metamask/browser-passworder": ^4.1.0 + "@metamask/controller-utils": ^4.0.1 "@metamask/eslint-config": ^11.1.0 "@metamask/eslint-config-jest": ^11.1.0 "@metamask/eslint-config-nodejs": ^11.1.0 @@ -1152,6 +1170,19 @@ __metadata: languageName: node linkType: hard +"@metamask/utils@npm:^5.0.2": + version: 5.0.2 + resolution: "@metamask/utils@npm:5.0.2" + dependencies: + "@ethereumjs/tx": ^4.1.2 + "@types/debug": ^4.1.7 + debug: ^4.3.4 + semver: ^7.3.8 + superstruct: ^1.0.3 + checksum: eca82e42911b2840deb4f32f0f215c5ffd14d22d68afbbe92d3180e920e509e310777b15eab29def3448f3535b66596ceb4c23666ec846adacc8e1bb093ff882 + languageName: node + linkType: hard + "@metamask/utils@npm:^6.1.0": version: 6.1.0 resolution: "@metamask/utils@npm:6.1.0" @@ -1393,6 +1424,15 @@ __metadata: languageName: node linkType: hard +"@spruceid/siwe-parser@npm:1.1.3": + version: 1.1.3 + resolution: "@spruceid/siwe-parser@npm:1.1.3" + dependencies: + apg-js: ^4.1.1 + checksum: 708786ba2f10987c45c1fd8a6243ba6572ee7f320531616d71ff66044828bc24af66f5537ce09c9272bdae93fcc35b566a7804fe7997284f2ee5445a36e6add2 + languageName: node + linkType: hard + "@tootallnate/once@npm:2": version: 2.0.0 resolution: "@tootallnate/once@npm:2.0.0" @@ -1981,6 +2021,13 @@ __metadata: languageName: node linkType: hard +"apg-js@npm:^4.1.1": + version: 4.1.3 + resolution: "apg-js@npm:4.1.3" + checksum: fa815838fc3c4b2fa5801419d050c5cf0ac8b5dbbc7476a9c9b8e1ae5fc78feccf01ff3ff52ef1e80c72f8b7bf39f589f1b8aaad5f5aeba399523a9ba18da127 + languageName: node + linkType: hard + "aproba@npm:^1.0.3 || ^2.0.0": version: 2.0.0 resolution: "aproba@npm:2.0.0" @@ -2172,6 +2219,16 @@ __metadata: languageName: node linkType: hard +"babel-runtime@npm:^6.26.0": + version: 6.26.0 + resolution: "babel-runtime@npm:6.26.0" + dependencies: + core-js: ^2.4.0 + regenerator-runtime: ^0.11.0 + checksum: 8aeade94665e67a73c1ccc10f6fd42ba0c689b980032b70929de7a6d9a12eb87ef51902733f8fefede35afea7a5c3ef7e916a64d503446c1eedc9e3284bd3d50 + languageName: node + linkType: hard + "balanced-match@npm:^1.0.0": version: 1.0.2 resolution: "balanced-match@npm:1.0.2" @@ -2221,6 +2278,13 @@ __metadata: languageName: node linkType: hard +"bn.js@npm:4.11.6": + version: 4.11.6 + resolution: "bn.js@npm:4.11.6" + checksum: db23047bf06fdf9cf74401c8e76bca9f55313c81df382247d2c753868b368562e69171716b81b7038ada8860af18346fd4bcd1cf9d4963f923fe8e54e61cb58a + languageName: node + linkType: hard + "bn.js@npm:^4.11.9, bn.js@npm:^4.12.0": version: 4.12.0 resolution: "bn.js@npm:4.12.0" @@ -2657,6 +2721,13 @@ __metadata: languageName: node linkType: hard +"core-js@npm:^2.4.0": + version: 2.6.12 + resolution: "core-js@npm:2.6.12" + checksum: 44fa9934a85f8c78d61e0c8b7b22436330471ffe59ec5076fe7f324d6e8cf7f824b14b1c81ca73608b13bdb0fef035bd820989bf059767ad6fa13123bb8bd016 + languageName: node + linkType: hard + "core-util-is@npm:~1.0.0": version: 1.0.3 resolution: "core-util-is@npm:1.0.3" @@ -3400,6 +3471,35 @@ __metadata: languageName: node linkType: hard +"eth-ens-namehash@npm:^2.0.8": + version: 2.0.8 + resolution: "eth-ens-namehash@npm:2.0.8" + dependencies: + idna-uts46-hx: ^2.3.1 + js-sha3: ^0.5.7 + checksum: 40ce4aeedaa4e7eb4485c8d8857457ecc46a4652396981d21b7e3a5f922d5beff63c71cb4b283c935293e530eba50b329d9248be3c433949c6bc40c850c202a3 + languageName: node + linkType: hard + +"eth-query@npm:^2.1.2": + version: 2.1.2 + resolution: "eth-query@npm:2.1.2" + dependencies: + json-rpc-random-id: ^1.0.0 + xtend: ^4.0.1 + checksum: 83daa0e28452c54722aec78cd24d036bad5b6e7c08035d98e10d4bea11f71662f12cab63ebd8a848d4df46ad316503d54ecccb41c9244d2ea8b29364b0a20201 + languageName: node + linkType: hard + +"eth-rpc-errors@npm:^4.0.2": + version: 4.0.3 + resolution: "eth-rpc-errors@npm:4.0.3" + dependencies: + fast-safe-stringify: ^2.0.6 + checksum: 5fa31d1a10fdb340733b9a55e38e7687222c501052ca20743cef4d0c911a9bbcc0cad54aa6bf3e4b428604c071ff519803060e1cbc79ddb7c9257c11d407d32a + languageName: node + linkType: hard + "ethereum-cryptography@npm:^0.1.3": version: 0.1.3 resolution: "ethereum-cryptography@npm:0.1.3" @@ -3447,7 +3547,7 @@ __metadata: languageName: node linkType: hard -"ethereumjs-util@npm:^7.1.2": +"ethereumjs-util@npm:^7.0.10, ethereumjs-util@npm:^7.1.2": version: 7.1.5 resolution: "ethereumjs-util@npm:7.1.5" dependencies: @@ -3476,6 +3576,16 @@ __metadata: languageName: node linkType: hard +"ethjs-unit@npm:^0.1.6": + version: 0.1.6 + resolution: "ethjs-unit@npm:0.1.6" + dependencies: + bn.js: 4.11.6 + number-to-bn: 1.7.0 + checksum: df6b4752ff7461a59a20219f4b1684c631ea601241c39660e3f6c6bd63c950189723841c22b3c6c0ebeb3c9fc99e0e803e3c613101206132603705fcbcf4def5 + languageName: node + linkType: hard + "ethjs-util@npm:^0.1.6": version: 0.1.6 resolution: "ethjs-util@npm:0.1.6" @@ -3599,6 +3709,13 @@ __metadata: languageName: node linkType: hard +"fast-safe-stringify@npm:^2.0.6": + version: 2.1.1 + resolution: "fast-safe-stringify@npm:2.1.1" + checksum: a851cbddc451745662f8f00ddb622d6766f9bd97642dabfd9a405fb0d646d69fc0b9a1243cbf67f5f18a39f40f6fa821737651ff1bceeba06c9992ca2dc5bd3d + languageName: node + linkType: hard + "fastq@npm:^1.6.0": version: 1.15.0 resolution: "fastq@npm:1.15.0" @@ -4103,6 +4220,15 @@ __metadata: languageName: node linkType: hard +"idna-uts46-hx@npm:^2.3.1": + version: 2.3.1 + resolution: "idna-uts46-hx@npm:2.3.1" + dependencies: + punycode: 2.1.0 + checksum: d434c3558d2bc1090eb90f978f995101f469cb26593414ac57aa082c9352e49972b332c6e4188b9b15538172ccfeae3121e5a19b96972a97e6aeb0676d86639c + languageName: node + linkType: hard + "ignore@npm:^5.1.1, ignore@npm:^5.1.8, ignore@npm:^5.2.0": version: 5.2.4 resolution: "ignore@npm:5.2.4" @@ -5002,6 +5128,13 @@ __metadata: languageName: node linkType: hard +"js-sha3@npm:^0.5.7": + version: 0.5.7 + resolution: "js-sha3@npm:0.5.7" + checksum: 973a28ea4b26cc7f12d2ab24f796e24ee4a71eef45a6634a052f6eb38cf8b2333db798e896e6e094ea6fa4dfe8e42a2a7942b425cf40da3f866623fd05bb91ea + languageName: node + linkType: hard + "js-tokens@npm:^3.0.0 || ^4.0.0, js-tokens@npm:^4.0.0": version: 4.0.0 resolution: "js-tokens@npm:4.0.0" @@ -5062,6 +5195,13 @@ __metadata: languageName: node linkType: hard +"json-rpc-random-id@npm:^1.0.0": + version: 1.0.1 + resolution: "json-rpc-random-id@npm:1.0.1" + checksum: fcd2e884193a129ace4002bd65a86e9cdb206733b4693baea77bd8b372cf8de3043fbea27716a2c9a716581a908ca8d978d9dfec4847eb2cf77edb4cf4b2252c + languageName: node + linkType: hard + "json-schema-traverse@npm:^0.4.1": version: 0.4.1 resolution: "json-schema-traverse@npm:0.4.1" @@ -5685,6 +5825,16 @@ __metadata: languageName: node linkType: hard +"number-to-bn@npm:1.7.0": + version: 1.7.0 + resolution: "number-to-bn@npm:1.7.0" + dependencies: + bn.js: 4.11.6 + strip-hex-prefix: 1.0.0 + checksum: 5b8c9dbe7b49dc7a069e5f0ba4e197257c89db11463478cb002fee7a34dc8868636952bd9f6310e5fdf22b266e0e6dffb5f9537c741734718107e90ae59b3de4 + languageName: node + linkType: hard + "object-inspect@npm:^1.12.3, object-inspect@npm:^1.9.0": version: 1.12.3 resolution: "object-inspect@npm:1.12.3" @@ -6059,6 +6209,13 @@ __metadata: languageName: node linkType: hard +"punycode@npm:2.1.0": + version: 2.1.0 + resolution: "punycode@npm:2.1.0" + checksum: d125d8f86cd89303c33bad829388c49ca23197e16ccf8cd398dcbd81b026978f6543f5066c66825b25b1dfea7790a42edbeea82908e103474931789714ab86cd + languageName: node + linkType: hard + "punycode@npm:^2.1.0": version: 2.3.0 resolution: "punycode@npm:2.3.0" @@ -6158,6 +6315,13 @@ __metadata: languageName: node linkType: hard +"regenerator-runtime@npm:^0.11.0": + version: 0.11.1 + resolution: "regenerator-runtime@npm:0.11.1" + checksum: 3c97bd2c7b2b3247e6f8e2147a002eb78c995323732dad5dc70fac8d8d0b758d0295e7015b90d3d444446ae77cbd24b9f9123ec3a77018e81d8999818301b4f4 + languageName: node + linkType: hard + "regexp.prototype.flags@npm:^1.4.3": version: 1.5.0 resolution: "regexp.prototype.flags@npm:1.5.0" From 0034b99b61a71fe1051ab8d7ec44693818590311 Mon Sep 17 00:00:00 2001 From: Michele Esposito Date: Tue, 11 Jul 2023 21:21:11 +0200 Subject: [PATCH 2/5] refactor: use utils instead of controller-utils --- jest.config.js | 4 +- package.json | 3 +- src/KeyringController.ts | 3 +- yarn.lock | 184 +++------------------------------------ 4 files changed, 18 insertions(+), 176 deletions(-) diff --git a/jest.config.js b/jest.config.js index 810c1582..7849338a 100644 --- a/jest.config.js +++ b/jest.config.js @@ -43,8 +43,8 @@ module.exports = { global: { branches: 72.09, functions: 92.85, - lines: 90.84, - statements: 91.05, + lines: 90.81, + statements: 91.02, }, }, preset: 'ts-jest', diff --git a/package.json b/package.json index 5133194b..a2fa6eee 100644 --- a/package.json +++ b/package.json @@ -41,11 +41,10 @@ "dependencies": { "@ethereumjs/tx": "^4.1.1", "@metamask/browser-passworder": "^4.1.0", - "@metamask/controller-utils": "^4.0.1", "@metamask/eth-hd-keyring": "^6.0.0", "@metamask/eth-sig-util": "^6.0.0", "@metamask/eth-simple-keyring": "^5.0.0", - "@metamask/utils": "^6.1.0", + "@metamask/utils": "^6.2.0", "obs-store": "^4.0.3" }, "devDependencies": { diff --git a/src/KeyringController.ts b/src/KeyringController.ts index 15b452c2..7962f02e 100644 --- a/src/KeyringController.ts +++ b/src/KeyringController.ts @@ -1,10 +1,9 @@ import type { TypedTransaction, TxData } from '@ethereumjs/tx'; import * as encryptorUtils from '@metamask/browser-passworder'; -import { isValidHexAddress } from '@metamask/controller-utils'; import HDKeyring from '@metamask/eth-hd-keyring'; import { normalize as normalizeToHex } from '@metamask/eth-sig-util'; import SimpleKeyring from '@metamask/eth-simple-keyring'; -import { remove0x } from '@metamask/utils'; +import { remove0x, isValidHexAddress } from '@metamask/utils'; import type { Hex, Json, diff --git a/yarn.lock b/yarn.lock index ea872128..d1eadfd4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -997,23 +997,6 @@ __metadata: languageName: node linkType: hard -"@metamask/controller-utils@npm:^4.0.1": - version: 4.0.1 - resolution: "@metamask/controller-utils@npm:4.0.1" - dependencies: - "@metamask/utils": ^5.0.2 - "@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: c0c3b8b5a363aff6a7996e349f47fdc77d3b31846546dc937669a2ab2306c3ed3c2122cf682a1146c6ba3eeeabe491f8ba7aa0157d62843689242779bb506017 - languageName: node - linkType: hard - "@metamask/eslint-config-jest@npm:^11.1.0": version: 11.1.0 resolution: "@metamask/eslint-config-jest@npm:11.1.0" @@ -1084,7 +1067,6 @@ __metadata: "@lavamoat/preinstall-always-fail": ^1.0.0 "@metamask/auto-changelog": ^3.0.0 "@metamask/browser-passworder": ^4.1.0 - "@metamask/controller-utils": ^4.0.1 "@metamask/eslint-config": ^11.1.0 "@metamask/eslint-config-jest": ^11.1.0 "@metamask/eslint-config-nodejs": ^11.1.0 @@ -1092,7 +1074,7 @@ __metadata: "@metamask/eth-hd-keyring": ^6.0.0 "@metamask/eth-sig-util": ^6.0.0 "@metamask/eth-simple-keyring": ^5.0.0 - "@metamask/utils": ^6.1.0 + "@metamask/utils": ^6.2.0 "@types/jest": ^29.4.0 "@types/sinon": ^10.0.13 "@typescript-eslint/eslint-plugin": ^5.55.0 @@ -1170,29 +1152,17 @@ __metadata: languageName: node linkType: hard -"@metamask/utils@npm:^5.0.2": - version: 5.0.2 - resolution: "@metamask/utils@npm:5.0.2" - dependencies: - "@ethereumjs/tx": ^4.1.2 - "@types/debug": ^4.1.7 - debug: ^4.3.4 - semver: ^7.3.8 - superstruct: ^1.0.3 - checksum: eca82e42911b2840deb4f32f0f215c5ffd14d22d68afbbe92d3180e920e509e310777b15eab29def3448f3535b66596ceb4c23666ec846adacc8e1bb093ff882 - languageName: node - linkType: hard - -"@metamask/utils@npm:^6.1.0": - version: 6.1.0 - resolution: "@metamask/utils@npm:6.1.0" +"@metamask/utils@npm:^6.2.0": + version: 6.2.0 + resolution: "@metamask/utils@npm:6.2.0" dependencies: "@ethereumjs/tx": ^4.1.2 + "@noble/hashes": ^1.3.1 "@types/debug": ^4.1.7 debug: ^4.3.4 semver: ^7.3.8 superstruct: ^1.0.3 - checksum: d4eac3ce3c08674b8e9ef838d1661a5025690c6f266c26ebdb8e8d0da11fce786e54c326b5d9c6d33b262f37e7057e31d6545a3715613bd0a5bfa10e7755643a + checksum: 0bc675358ecc09b3bc04da613d73666295d7afa51ff6b8554801585966900b24b8545bd93b8b2e9a17db867ebe421fe884baf3558ec4ca3199fa65504f677c1b languageName: node linkType: hard @@ -1219,6 +1189,13 @@ __metadata: languageName: node linkType: hard +"@noble/hashes@npm:^1.3.1": + version: 1.3.1 + resolution: "@noble/hashes@npm:1.3.1" + checksum: 7fdefc0f7a0c1ec27acc6ff88841793e3f93ec4ce6b8a6a12bfc0dd70ae6b7c4c82fe305fdfeda1735d5ad4a9eebe761e6693b3d355689c559e91242f4bc95b1 + languageName: node + linkType: hard + "@noble/hashes@npm:~1.1.1": version: 1.1.5 resolution: "@noble/hashes@npm:1.1.5" @@ -1424,15 +1401,6 @@ __metadata: languageName: node linkType: hard -"@spruceid/siwe-parser@npm:1.1.3": - version: 1.1.3 - resolution: "@spruceid/siwe-parser@npm:1.1.3" - dependencies: - apg-js: ^4.1.1 - checksum: 708786ba2f10987c45c1fd8a6243ba6572ee7f320531616d71ff66044828bc24af66f5537ce09c9272bdae93fcc35b566a7804fe7997284f2ee5445a36e6add2 - languageName: node - linkType: hard - "@tootallnate/once@npm:2": version: 2.0.0 resolution: "@tootallnate/once@npm:2.0.0" @@ -2021,13 +1989,6 @@ __metadata: languageName: node linkType: hard -"apg-js@npm:^4.1.1": - version: 4.1.3 - resolution: "apg-js@npm:4.1.3" - checksum: fa815838fc3c4b2fa5801419d050c5cf0ac8b5dbbc7476a9c9b8e1ae5fc78feccf01ff3ff52ef1e80c72f8b7bf39f589f1b8aaad5f5aeba399523a9ba18da127 - languageName: node - linkType: hard - "aproba@npm:^1.0.3 || ^2.0.0": version: 2.0.0 resolution: "aproba@npm:2.0.0" @@ -2219,16 +2180,6 @@ __metadata: languageName: node linkType: hard -"babel-runtime@npm:^6.26.0": - version: 6.26.0 - resolution: "babel-runtime@npm:6.26.0" - dependencies: - core-js: ^2.4.0 - regenerator-runtime: ^0.11.0 - checksum: 8aeade94665e67a73c1ccc10f6fd42ba0c689b980032b70929de7a6d9a12eb87ef51902733f8fefede35afea7a5c3ef7e916a64d503446c1eedc9e3284bd3d50 - languageName: node - linkType: hard - "balanced-match@npm:^1.0.0": version: 1.0.2 resolution: "balanced-match@npm:1.0.2" @@ -2278,13 +2229,6 @@ __metadata: languageName: node linkType: hard -"bn.js@npm:4.11.6": - version: 4.11.6 - resolution: "bn.js@npm:4.11.6" - checksum: db23047bf06fdf9cf74401c8e76bca9f55313c81df382247d2c753868b368562e69171716b81b7038ada8860af18346fd4bcd1cf9d4963f923fe8e54e61cb58a - languageName: node - linkType: hard - "bn.js@npm:^4.11.9, bn.js@npm:^4.12.0": version: 4.12.0 resolution: "bn.js@npm:4.12.0" @@ -2721,13 +2665,6 @@ __metadata: languageName: node linkType: hard -"core-js@npm:^2.4.0": - version: 2.6.12 - resolution: "core-js@npm:2.6.12" - checksum: 44fa9934a85f8c78d61e0c8b7b22436330471ffe59ec5076fe7f324d6e8cf7f824b14b1c81ca73608b13bdb0fef035bd820989bf059767ad6fa13123bb8bd016 - languageName: node - linkType: hard - "core-util-is@npm:~1.0.0": version: 1.0.3 resolution: "core-util-is@npm:1.0.3" @@ -3471,35 +3408,6 @@ __metadata: languageName: node linkType: hard -"eth-ens-namehash@npm:^2.0.8": - version: 2.0.8 - resolution: "eth-ens-namehash@npm:2.0.8" - dependencies: - idna-uts46-hx: ^2.3.1 - js-sha3: ^0.5.7 - checksum: 40ce4aeedaa4e7eb4485c8d8857457ecc46a4652396981d21b7e3a5f922d5beff63c71cb4b283c935293e530eba50b329d9248be3c433949c6bc40c850c202a3 - languageName: node - linkType: hard - -"eth-query@npm:^2.1.2": - version: 2.1.2 - resolution: "eth-query@npm:2.1.2" - dependencies: - json-rpc-random-id: ^1.0.0 - xtend: ^4.0.1 - checksum: 83daa0e28452c54722aec78cd24d036bad5b6e7c08035d98e10d4bea11f71662f12cab63ebd8a848d4df46ad316503d54ecccb41c9244d2ea8b29364b0a20201 - languageName: node - linkType: hard - -"eth-rpc-errors@npm:^4.0.2": - version: 4.0.3 - resolution: "eth-rpc-errors@npm:4.0.3" - dependencies: - fast-safe-stringify: ^2.0.6 - checksum: 5fa31d1a10fdb340733b9a55e38e7687222c501052ca20743cef4d0c911a9bbcc0cad54aa6bf3e4b428604c071ff519803060e1cbc79ddb7c9257c11d407d32a - languageName: node - linkType: hard - "ethereum-cryptography@npm:^0.1.3": version: 0.1.3 resolution: "ethereum-cryptography@npm:0.1.3" @@ -3547,7 +3455,7 @@ __metadata: languageName: node linkType: hard -"ethereumjs-util@npm:^7.0.10, ethereumjs-util@npm:^7.1.2": +"ethereumjs-util@npm:^7.1.2": version: 7.1.5 resolution: "ethereumjs-util@npm:7.1.5" dependencies: @@ -3576,16 +3484,6 @@ __metadata: languageName: node linkType: hard -"ethjs-unit@npm:^0.1.6": - version: 0.1.6 - resolution: "ethjs-unit@npm:0.1.6" - dependencies: - bn.js: 4.11.6 - number-to-bn: 1.7.0 - checksum: df6b4752ff7461a59a20219f4b1684c631ea601241c39660e3f6c6bd63c950189723841c22b3c6c0ebeb3c9fc99e0e803e3c613101206132603705fcbcf4def5 - languageName: node - linkType: hard - "ethjs-util@npm:^0.1.6": version: 0.1.6 resolution: "ethjs-util@npm:0.1.6" @@ -3709,13 +3607,6 @@ __metadata: languageName: node linkType: hard -"fast-safe-stringify@npm:^2.0.6": - version: 2.1.1 - resolution: "fast-safe-stringify@npm:2.1.1" - checksum: a851cbddc451745662f8f00ddb622d6766f9bd97642dabfd9a405fb0d646d69fc0b9a1243cbf67f5f18a39f40f6fa821737651ff1bceeba06c9992ca2dc5bd3d - languageName: node - linkType: hard - "fastq@npm:^1.6.0": version: 1.15.0 resolution: "fastq@npm:1.15.0" @@ -4220,15 +4111,6 @@ __metadata: languageName: node linkType: hard -"idna-uts46-hx@npm:^2.3.1": - version: 2.3.1 - resolution: "idna-uts46-hx@npm:2.3.1" - dependencies: - punycode: 2.1.0 - checksum: d434c3558d2bc1090eb90f978f995101f469cb26593414ac57aa082c9352e49972b332c6e4188b9b15538172ccfeae3121e5a19b96972a97e6aeb0676d86639c - languageName: node - linkType: hard - "ignore@npm:^5.1.1, ignore@npm:^5.1.8, ignore@npm:^5.2.0": version: 5.2.4 resolution: "ignore@npm:5.2.4" @@ -5128,13 +5010,6 @@ __metadata: languageName: node linkType: hard -"js-sha3@npm:^0.5.7": - version: 0.5.7 - resolution: "js-sha3@npm:0.5.7" - checksum: 973a28ea4b26cc7f12d2ab24f796e24ee4a71eef45a6634a052f6eb38cf8b2333db798e896e6e094ea6fa4dfe8e42a2a7942b425cf40da3f866623fd05bb91ea - languageName: node - linkType: hard - "js-tokens@npm:^3.0.0 || ^4.0.0, js-tokens@npm:^4.0.0": version: 4.0.0 resolution: "js-tokens@npm:4.0.0" @@ -5195,13 +5070,6 @@ __metadata: languageName: node linkType: hard -"json-rpc-random-id@npm:^1.0.0": - version: 1.0.1 - resolution: "json-rpc-random-id@npm:1.0.1" - checksum: fcd2e884193a129ace4002bd65a86e9cdb206733b4693baea77bd8b372cf8de3043fbea27716a2c9a716581a908ca8d978d9dfec4847eb2cf77edb4cf4b2252c - languageName: node - linkType: hard - "json-schema-traverse@npm:^0.4.1": version: 0.4.1 resolution: "json-schema-traverse@npm:0.4.1" @@ -5825,16 +5693,6 @@ __metadata: languageName: node linkType: hard -"number-to-bn@npm:1.7.0": - version: 1.7.0 - resolution: "number-to-bn@npm:1.7.0" - dependencies: - bn.js: 4.11.6 - strip-hex-prefix: 1.0.0 - checksum: 5b8c9dbe7b49dc7a069e5f0ba4e197257c89db11463478cb002fee7a34dc8868636952bd9f6310e5fdf22b266e0e6dffb5f9537c741734718107e90ae59b3de4 - languageName: node - linkType: hard - "object-inspect@npm:^1.12.3, object-inspect@npm:^1.9.0": version: 1.12.3 resolution: "object-inspect@npm:1.12.3" @@ -6209,13 +6067,6 @@ __metadata: languageName: node linkType: hard -"punycode@npm:2.1.0": - version: 2.1.0 - resolution: "punycode@npm:2.1.0" - checksum: d125d8f86cd89303c33bad829388c49ca23197e16ccf8cd398dcbd81b026978f6543f5066c66825b25b1dfea7790a42edbeea82908e103474931789714ab86cd - languageName: node - linkType: hard - "punycode@npm:^2.1.0": version: 2.3.0 resolution: "punycode@npm:2.3.0" @@ -6315,13 +6166,6 @@ __metadata: languageName: node linkType: hard -"regenerator-runtime@npm:^0.11.0": - version: 0.11.1 - resolution: "regenerator-runtime@npm:0.11.1" - checksum: 3c97bd2c7b2b3247e6f8e2147a002eb78c995323732dad5dc70fac8d8d0b758d0295e7015b90d3d444446ae77cbd24b9f9123ec3a77018e81d8999818301b4f4 - languageName: node - linkType: hard - "regexp.prototype.flags@npm:^1.4.3": version: 1.5.0 resolution: "regexp.prototype.flags@npm:1.5.0" From 03e09f0dbdec671495f648a7a10e3d6e1c04e680 Mon Sep 17 00:00:00 2001 From: Michele Esposito Date: Tue, 11 Jul 2023 21:22:13 +0200 Subject: [PATCH 3/5] fix: remove unused allow-scripts entry --- package.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/package.json b/package.json index a2fa6eee..14b273d2 100644 --- a/package.json +++ b/package.json @@ -95,8 +95,7 @@ "ethereumjs-wallet>ethereum-cryptography>keccak": false, "ethereumjs-wallet>ethereum-cryptography>secp256k1": false, "@metamask/eth-hd-keyring>eth-simple-keyring>eth-sig-util>ethereumjs-util>keccak": false, - "@metamask/eth-hd-keyring>eth-simple-keyring>eth-sig-util>ethereumjs-util>secp256k1": false, - "@metamask/controller-utils>babel-runtime>core-js": false + "@metamask/eth-hd-keyring>eth-simple-keyring>eth-sig-util>ethereumjs-util>secp256k1": false } } } From dedff1524827cb2b2225a7bf55438a7f7f38bbd1 Mon Sep 17 00:00:00 2001 From: Michele Esposito Date: Tue, 11 Jul 2023 21:24:36 +0200 Subject: [PATCH 4/5] chore: dedupe packages --- yarn.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/yarn.lock b/yarn.lock index d1eadfd4..2f64c8b3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1182,14 +1182,14 @@ __metadata: languageName: node linkType: hard -"@noble/hashes@npm:1.3.0, @noble/hashes@npm:^1.3.0, @noble/hashes@npm:~1.3.0": +"@noble/hashes@npm:1.3.0": version: 1.3.0 resolution: "@noble/hashes@npm:1.3.0" checksum: d7ddb6d7c60f1ce1f87facbbef5b724cdea536fc9e7f59ae96e0fc9de96c8f1a2ae2bdedbce10f7dcc621338dfef8533daa73c873f2b5c87fa1a4e05a95c2e2e languageName: node linkType: hard -"@noble/hashes@npm:^1.3.1": +"@noble/hashes@npm:^1.3.0, @noble/hashes@npm:^1.3.1, @noble/hashes@npm:~1.3.0": version: 1.3.1 resolution: "@noble/hashes@npm:1.3.1" checksum: 7fdefc0f7a0c1ec27acc6ff88841793e3f93ec4ce6b8a6a12bfc0dd70ae6b7c4c82fe305fdfeda1735d5ad4a9eebe761e6693b3d355689c559e91242f4bc95b1 From de2bdd17bc44ef4b5eb6ef022c08210b167ad583 Mon Sep 17 00:00:00 2001 From: legobt <6wbvkn0j@anonaddy.me> Date: Wed, 12 Jul 2023 00:15:41 +0000 Subject: [PATCH 5/5] deps: @ethereumjs/tx@4.1.1->4.2.0 --- package.json | 2 +- yarn.lock | 119 +++++++++++++++++---------------------------------- 2 files changed, 40 insertions(+), 81 deletions(-) diff --git a/package.json b/package.json index 14b273d2..f2857232 100644 --- a/package.json +++ b/package.json @@ -39,7 +39,7 @@ "test:watch": "jest --watch" }, "dependencies": { - "@ethereumjs/tx": "^4.1.1", + "@ethereumjs/tx": "^4.2.0", "@metamask/browser-passworder": "^4.1.0", "@metamask/eth-hd-keyring": "^6.0.0", "@metamask/eth-sig-util": "^6.0.0", diff --git a/yarn.lock b/yarn.lock index 2f64c8b3..9c1f2c27 100644 --- a/yarn.lock +++ b/yarn.lock @@ -419,33 +419,6 @@ __metadata: languageName: node linkType: hard -"@chainsafe/as-sha256@npm:^0.4.1": - version: 0.4.1 - resolution: "@chainsafe/as-sha256@npm:0.4.1" - checksum: 6d86975e648ecdafd366802278ac15b392b252e967f3681412ec48b5a3518b936cc5e977517499882b084991446d25787d98f8f585891943688cc81549a44e9a - languageName: node - linkType: hard - -"@chainsafe/persistent-merkle-tree@npm:^0.6.1": - version: 0.6.1 - resolution: "@chainsafe/persistent-merkle-tree@npm:0.6.1" - dependencies: - "@chainsafe/as-sha256": ^0.4.1 - "@noble/hashes": ^1.3.0 - checksum: 74614b8d40970dc930d5bf741619498b0bbbde5ff24ce45fce6ad122143aa77bf57249a28175b1b972cf56bff57d529a4258b7222ab4e60c1261119b5986c51b - languageName: node - linkType: hard - -"@chainsafe/ssz@npm:^0.11.1": - version: 0.11.1 - resolution: "@chainsafe/ssz@npm:0.11.1" - dependencies: - "@chainsafe/as-sha256": ^0.4.1 - "@chainsafe/persistent-merkle-tree": ^0.6.1 - checksum: e3c2928f9ab4a0544e645f0302b9535046d1e6e1d4b3bd1c3dd6bc8e6302fddad6036d65e7900d1446f285f496051da05fa14c1bde590b511d03033907175c8f - languageName: node - linkType: hard - "@cspotcode/source-map-support@npm:^0.8.0": version: 0.8.1 resolution: "@cspotcode/source-map-support@npm:0.8.1" @@ -508,13 +481,13 @@ __metadata: languageName: node linkType: hard -"@ethereumjs/common@npm:^3.1.2": - version: 3.1.2 - resolution: "@ethereumjs/common@npm:3.1.2" +"@ethereumjs/common@npm:^3.2.0": + version: 3.2.0 + resolution: "@ethereumjs/common@npm:3.2.0" dependencies: - "@ethereumjs/util": ^8.0.6 + "@ethereumjs/util": ^8.1.0 crc-32: ^1.2.0 - checksum: e80a8bc86476f1ce878bacb1915d91681671bb5303291cdcece26e456ac13a6158f0f59625cb02a1cfbdd7c9a7dc8b175f8d8f0fee596b3eb9dfb965465ad43d + checksum: cb9cc11f5c868cb577ba611cebf55046e509218bbb89b47ccce010776dafe8256d70f8f43fab238aec74cf71f62601cd5842bc03a83261200802de365732a14b languageName: node linkType: hard @@ -527,33 +500,26 @@ __metadata: languageName: node linkType: hard -"@ethereumjs/tx@npm:^4.1.1, @ethereumjs/tx@npm:^4.1.2": - version: 4.1.2 - resolution: "@ethereumjs/tx@npm:4.1.2" +"@ethereumjs/tx@npm:^4.1.2, @ethereumjs/tx@npm:^4.2.0": + version: 4.2.0 + resolution: "@ethereumjs/tx@npm:4.2.0" dependencies: - "@chainsafe/ssz": ^0.11.1 - "@ethereumjs/common": ^3.1.2 + "@ethereumjs/common": ^3.2.0 "@ethereumjs/rlp": ^4.0.1 - "@ethereumjs/util": ^8.0.6 + "@ethereumjs/util": ^8.1.0 ethereum-cryptography: ^2.0.0 - peerDependencies: - c-kzg: ^1.0.8 - peerDependenciesMeta: - c-kzg: - optional: true - checksum: ad2fb692c3746cd5935b01c98b6b54046ae2a1fccff57ad2209e10446f3b279a204d7477accf05b27078445b14379314077769662142ac07117c45a5a1ea427f + checksum: 87a3f5f2452cfbf6712f8847525a80c213210ed453c211c793c5df801fe35ecef28bae17fadd222fcbdd94277478a47e52d2b916a90a6b30cda21f1e0cdaee42 languageName: node linkType: hard -"@ethereumjs/util@npm:^8.0.0, @ethereumjs/util@npm:^8.0.2, @ethereumjs/util@npm:^8.0.6": - version: 8.0.6 - resolution: "@ethereumjs/util@npm:8.0.6" +"@ethereumjs/util@npm:^8.0.0, @ethereumjs/util@npm:^8.0.2, @ethereumjs/util@npm:^8.0.6, @ethereumjs/util@npm:^8.1.0": + version: 8.1.0 + resolution: "@ethereumjs/util@npm:8.1.0" dependencies: - "@chainsafe/ssz": ^0.11.1 "@ethereumjs/rlp": ^4.0.1 ethereum-cryptography: ^2.0.0 micro-ftch: ^0.3.1 - checksum: 034e06cddec27417318434a1a7cd7a9dc0f0b447c1f54423c515d8809c9697386eee6429d0a1c13517a85c696e6fdba570b243d882e65764c274859606027015 + checksum: 9ae5dee8f12b0faf81cd83f06a41560e79b0ba96a48262771d897a510ecae605eb6d84f687da001ab8ccffd50f612ae50f988ef76e6312c752897f462f3ac08d languageName: node linkType: hard @@ -1062,7 +1028,7 @@ __metadata: version: 0.0.0-use.local resolution: "@metamask/eth-keyring-controller@workspace:." dependencies: - "@ethereumjs/tx": ^4.1.1 + "@ethereumjs/tx": ^4.2.0 "@lavamoat/allow-scripts": ^2.3.1 "@lavamoat/preinstall-always-fail": ^1.0.0 "@metamask/auto-changelog": ^3.0.0 @@ -1166,12 +1132,12 @@ __metadata: languageName: node linkType: hard -"@noble/curves@npm:1.0.0, @noble/curves@npm:~1.0.0": - version: 1.0.0 - resolution: "@noble/curves@npm:1.0.0" +"@noble/curves@npm:1.1.0, @noble/curves@npm:~1.1.0": + version: 1.1.0 + resolution: "@noble/curves@npm:1.1.0" dependencies: - "@noble/hashes": 1.3.0 - checksum: 6bcef44d626c640dc8961819d68dd67dffb907e3b973b7c27efe0ecdd9a5c6ce62c7b9e3dfc930c66605dced7f1ec0514d191c09a2ce98d6d52b66e3315ffa79 + "@noble/hashes": 1.3.1 + checksum: 2658cdd3f84f71079b4e3516c47559d22cf4b55c23ac8ee9d2b1f8e5b72916d9689e59820e0f9d9cb4a46a8423af5b56dc6bb7782405c88be06a015180508db5 languageName: node linkType: hard @@ -1182,14 +1148,7 @@ __metadata: languageName: node linkType: hard -"@noble/hashes@npm:1.3.0": - version: 1.3.0 - resolution: "@noble/hashes@npm:1.3.0" - checksum: d7ddb6d7c60f1ce1f87facbbef5b724cdea536fc9e7f59ae96e0fc9de96c8f1a2ae2bdedbce10f7dcc621338dfef8533daa73c873f2b5c87fa1a4e05a95c2e2e - languageName: node - linkType: hard - -"@noble/hashes@npm:^1.3.0, @noble/hashes@npm:^1.3.1, @noble/hashes@npm:~1.3.0": +"@noble/hashes@npm:1.3.1, @noble/hashes@npm:^1.3.1, @noble/hashes@npm:~1.3.0, @noble/hashes@npm:~1.3.1": version: 1.3.1 resolution: "@noble/hashes@npm:1.3.1" checksum: 7fdefc0f7a0c1ec27acc6ff88841793e3f93ec4ce6b8a6a12bfc0dd70ae6b7c4c82fe305fdfeda1735d5ad4a9eebe761e6693b3d355689c559e91242f4bc95b1 @@ -1318,14 +1277,14 @@ __metadata: languageName: node linkType: hard -"@scure/bip32@npm:1.3.0": - version: 1.3.0 - resolution: "@scure/bip32@npm:1.3.0" +"@scure/bip32@npm:1.3.1": + version: 1.3.1 + resolution: "@scure/bip32@npm:1.3.1" dependencies: - "@noble/curves": ~1.0.0 - "@noble/hashes": ~1.3.0 + "@noble/curves": ~1.1.0 + "@noble/hashes": ~1.3.1 "@scure/base": ~1.1.0 - checksum: 6eae997f9bdf41fe848134898960ac48e645fa10e63d579be965ca331afd0b7c1b8ebac170770d237ab4099dafc35e5a82995384510025ccf2abe669f85e8918 + checksum: 394d65f77a40651eba21a5096da0f4233c3b50d422864751d373fcf142eeedb94a1149f9ab1dbb078086dab2d0bc27e2b1afec8321bf22d4403c7df2fea5bfe2 languageName: node linkType: hard @@ -1339,13 +1298,13 @@ __metadata: languageName: node linkType: hard -"@scure/bip39@npm:1.2.0": - version: 1.2.0 - resolution: "@scure/bip39@npm:1.2.0" +"@scure/bip39@npm:1.2.1": + version: 1.2.1 + resolution: "@scure/bip39@npm:1.2.1" dependencies: "@noble/hashes": ~1.3.0 "@scure/base": ~1.1.0 - checksum: 980d761f53e63de04a9e4db840eb13bfb1bd1b664ecb04a71824c12c190f4972fd84146f3ed89b2a8e4c6bd2c17c15f8b592b7ac029e903323b0f9e2dae6916b + checksum: c5bd6f1328fdbeae2dcdd891825b1610225310e5e62a4942714db51066866e4f7bef242c7b06a1b9dcc8043a4a13412cf5c5df76d3b10aa9e36b82e9b6e3eeaa languageName: node linkType: hard @@ -3444,14 +3403,14 @@ __metadata: linkType: hard "ethereum-cryptography@npm:^2.0.0": - version: 2.0.0 - resolution: "ethereum-cryptography@npm:2.0.0" + version: 2.1.1 + resolution: "ethereum-cryptography@npm:2.1.1" dependencies: - "@noble/curves": 1.0.0 - "@noble/hashes": 1.3.0 - "@scure/bip32": 1.3.0 - "@scure/bip39": 1.2.0 - checksum: 958f8aab2d1b32aa759fb27a27877b3647410e8bb9aca7d65d1d477db4864cf7fc46b918eb52a1e246c25e98ee0a35a632c88b496aeaefa13469ee767a76c8db + "@noble/curves": 1.1.0 + "@noble/hashes": 1.3.1 + "@scure/bip32": 1.3.1 + "@scure/bip39": 1.2.1 + checksum: a6e5b41948b6da61640359f15a927c9c79e6fdf5a198eeb16fe9fccdfe87f0feb145e15a61a9b4760f1204e4590679a2a3c5d66ec77d8515b2f129fec502b8dd languageName: node linkType: hard