diff --git a/packages/examples/packages/bip32/package.json b/packages/examples/packages/bip32/package.json index c83a8582d0..989b20770e 100644 --- a/packages/examples/packages/bip32/package.json +++ b/packages/examples/packages/bip32/package.json @@ -33,7 +33,7 @@ }, "dependencies": { "@metamask/key-tree": "^9.0.0", - "@metamask/rpc-errors": "^5.1.1", + "@metamask/rpc-errors": "^6.0.0", "@metamask/snaps-types": "workspace:^", "@metamask/snaps-ui": "workspace:^", "@metamask/utils": "^8.1.0", diff --git a/packages/examples/packages/bip32/snap.manifest.json b/packages/examples/packages/bip32/snap.manifest.json index e98a105766..73a294ebdf 100644 --- a/packages/examples/packages/bip32/snap.manifest.json +++ b/packages/examples/packages/bip32/snap.manifest.json @@ -7,7 +7,7 @@ "url": "https://github.com/MetaMask/snaps.git" }, "source": { - "shasum": "J3MpNxvOJdEwGq+zeIHh05yOsAoS8q2AqlTT5PLAkf8=", + "shasum": "/QF68uYiwiqLxU1ViWKcZNkvxyOC3t9E49a3nw2be08=", "location": { "npm": { "filePath": "dist/bundle.js", diff --git a/packages/examples/packages/bip44/package.json b/packages/examples/packages/bip44/package.json index 6cac05ee62..5bed787ad5 100644 --- a/packages/examples/packages/bip44/package.json +++ b/packages/examples/packages/bip44/package.json @@ -33,7 +33,7 @@ }, "dependencies": { "@metamask/key-tree": "^9.0.0", - "@metamask/rpc-errors": "^5.1.1", + "@metamask/rpc-errors": "^6.0.0", "@metamask/snaps-types": "workspace:^", "@metamask/snaps-ui": "workspace:^", "@metamask/utils": "^8.1.0", diff --git a/packages/examples/packages/bip44/snap.manifest.json b/packages/examples/packages/bip44/snap.manifest.json index d3c981c3a7..5391302099 100644 --- a/packages/examples/packages/bip44/snap.manifest.json +++ b/packages/examples/packages/bip44/snap.manifest.json @@ -7,7 +7,7 @@ "url": "https://github.com/MetaMask/snaps.git" }, "source": { - "shasum": "JKHoUebJ9c2urnFcUO06lKbtCcAOW3CaRGSImdpDG34=", + "shasum": "ORCOIb29qIB61ZSRW25E0itQQc1W/PqUmMFIiGMcGAc=", "location": { "npm": { "filePath": "dist/bundle.js", diff --git a/packages/examples/packages/browserify-plugin/package.json b/packages/examples/packages/browserify-plugin/package.json index 91cced5b79..52d214d62d 100644 --- a/packages/examples/packages/browserify-plugin/package.json +++ b/packages/examples/packages/browserify-plugin/package.json @@ -31,7 +31,7 @@ "lint:dependencies": "depcheck" }, "dependencies": { - "@metamask/rpc-errors": "^5.1.1", + "@metamask/rpc-errors": "^6.0.0", "@metamask/snaps-types": "workspace:^" }, "devDependencies": { diff --git a/packages/examples/packages/browserify-plugin/snap.manifest.json b/packages/examples/packages/browserify-plugin/snap.manifest.json index 373838b31a..84c5ca2c8d 100644 --- a/packages/examples/packages/browserify-plugin/snap.manifest.json +++ b/packages/examples/packages/browserify-plugin/snap.manifest.json @@ -7,7 +7,7 @@ "url": "https://github.com/MetaMask/snaps.git" }, "source": { - "shasum": "9Rwc+aO3oC1dHn3JIwXVlr6ONhV60NxZK//KDrt3mBk=", + "shasum": "dSVzAy95XOXpnU6uSh96PAxMq0nJy8zY5jtVTL3GwRo=", "location": { "npm": { "filePath": "dist/bundle.js", diff --git a/packages/examples/packages/browserify/package.json b/packages/examples/packages/browserify/package.json index 196cae93fa..b5452a02e1 100644 --- a/packages/examples/packages/browserify/package.json +++ b/packages/examples/packages/browserify/package.json @@ -32,7 +32,7 @@ "lint:dependencies": "depcheck" }, "dependencies": { - "@metamask/rpc-errors": "^5.1.1", + "@metamask/rpc-errors": "^6.0.0", "@metamask/snaps-types": "workspace:^" }, "devDependencies": { diff --git a/packages/examples/packages/browserify/snap.manifest.json b/packages/examples/packages/browserify/snap.manifest.json index df78cdefcc..37dd89bd13 100644 --- a/packages/examples/packages/browserify/snap.manifest.json +++ b/packages/examples/packages/browserify/snap.manifest.json @@ -7,7 +7,7 @@ "url": "https://github.com/MetaMask/snaps.git" }, "source": { - "shasum": "3mSghE7S6npYy/5vv/NFvnql9izqVeKSsIgmGES1Bwo=", + "shasum": "uw98p99B37o4qL1oJ8XdVLpTrQ2/GrZ9Zv8e+yb3sok=", "location": { "npm": { "filePath": "dist/bundle.js", diff --git a/packages/examples/packages/cronjobs/package.json b/packages/examples/packages/cronjobs/package.json index 76122368bb..10d39831d3 100644 --- a/packages/examples/packages/cronjobs/package.json +++ b/packages/examples/packages/cronjobs/package.json @@ -32,7 +32,7 @@ "lint:dependencies": "depcheck" }, "dependencies": { - "@metamask/rpc-errors": "^5.1.1", + "@metamask/rpc-errors": "^6.0.0", "@metamask/snaps-types": "workspace:^", "@metamask/snaps-ui": "workspace:^" }, diff --git a/packages/examples/packages/cronjobs/snap.manifest.json b/packages/examples/packages/cronjobs/snap.manifest.json index 9b2233c277..ddcf131dd8 100644 --- a/packages/examples/packages/cronjobs/snap.manifest.json +++ b/packages/examples/packages/cronjobs/snap.manifest.json @@ -7,7 +7,7 @@ "url": "https://github.com/MetaMask/snaps.git" }, "source": { - "shasum": "rvezXlgNZfZl22VCm9paR8ZQBkEW6MMhsjHJsZ88mgU=", + "shasum": "08DtUyYDJotF0iXJ9oP9+D5mroYRWgv2uaDdN73hxIw=", "location": { "npm": { "filePath": "dist/bundle.js", diff --git a/packages/examples/packages/dialogs/package.json b/packages/examples/packages/dialogs/package.json index 80b5abf4c9..1ef2a6ae2f 100644 --- a/packages/examples/packages/dialogs/package.json +++ b/packages/examples/packages/dialogs/package.json @@ -32,7 +32,7 @@ "lint:dependencies": "depcheck" }, "dependencies": { - "@metamask/rpc-errors": "^5.1.1", + "@metamask/rpc-errors": "^6.0.0", "@metamask/snaps-types": "workspace:^", "@metamask/snaps-ui": "workspace:^" }, diff --git a/packages/examples/packages/dialogs/snap.manifest.json b/packages/examples/packages/dialogs/snap.manifest.json index 8cbb0a7f2a..ed1cca9384 100644 --- a/packages/examples/packages/dialogs/snap.manifest.json +++ b/packages/examples/packages/dialogs/snap.manifest.json @@ -7,7 +7,7 @@ "url": "https://github.com/MetaMask/snaps.git" }, "source": { - "shasum": "Tcm1oNE+DXYHjyz6Eeb1+SycfrpMQnEpJv+0++BoZss=", + "shasum": "I73D3Xf+nn+VqzVF+bKKlYM0+nE/sNqfT+wTUkeMGMA=", "location": { "npm": { "filePath": "dist/bundle.js", diff --git a/packages/examples/packages/ethereum-provider/package.json b/packages/examples/packages/ethereum-provider/package.json index 1f2d450017..ed4ebd24b7 100644 --- a/packages/examples/packages/ethereum-provider/package.json +++ b/packages/examples/packages/ethereum-provider/package.json @@ -32,7 +32,7 @@ "lint:dependencies": "depcheck" }, "dependencies": { - "@metamask/rpc-errors": "^5.1.1", + "@metamask/rpc-errors": "^6.0.0", "@metamask/snaps-types": "workspace:^", "@metamask/utils": "^8.1.0" }, diff --git a/packages/examples/packages/ethereum-provider/snap.manifest.json b/packages/examples/packages/ethereum-provider/snap.manifest.json index 541b129d1b..6dcfbf4398 100644 --- a/packages/examples/packages/ethereum-provider/snap.manifest.json +++ b/packages/examples/packages/ethereum-provider/snap.manifest.json @@ -7,7 +7,7 @@ "url": "https://github.com/MetaMask/snaps.git" }, "source": { - "shasum": "CwJGR0Jll1DjOt3kpxD6l4utazQFokN95bqWCOToFKI=", + "shasum": "ytd/LXo33jgBUB8+57UfL9FuS2w+I4uBp8J4L3zhwbI=", "location": { "npm": { "filePath": "dist/bundle.js", diff --git a/packages/examples/packages/ethers-js/package.json b/packages/examples/packages/ethers-js/package.json index 536ad6b1fe..f82bd6579f 100644 --- a/packages/examples/packages/ethers-js/package.json +++ b/packages/examples/packages/ethers-js/package.json @@ -32,7 +32,7 @@ "lint:dependencies": "depcheck" }, "dependencies": { - "@metamask/rpc-errors": "^5.1.1", + "@metamask/rpc-errors": "^6.0.0", "@metamask/snaps-types": "workspace:^", "@metamask/snaps-ui": "workspace:^", "ethers": "^6.3.0" diff --git a/packages/examples/packages/ethers-js/snap.manifest.json b/packages/examples/packages/ethers-js/snap.manifest.json index 9a51e6b89e..dfb91fff87 100644 --- a/packages/examples/packages/ethers-js/snap.manifest.json +++ b/packages/examples/packages/ethers-js/snap.manifest.json @@ -7,7 +7,7 @@ "url": "https://github.com/MetaMask/snaps.git" }, "source": { - "shasum": "QY3seNbkU81kQ25hpBICjcMUK41iI0tYUlwqsiWbVCo=", + "shasum": "QYlowzHrPjaCiC8ZFjY5f9sYqhgupOqtA81/usEEbUo=", "location": { "npm": { "filePath": "dist/bundle.js", diff --git a/packages/examples/packages/get-entropy/package.json b/packages/examples/packages/get-entropy/package.json index 40805335f2..ec44642d4d 100644 --- a/packages/examples/packages/get-entropy/package.json +++ b/packages/examples/packages/get-entropy/package.json @@ -32,7 +32,7 @@ "lint:dependencies": "depcheck" }, "dependencies": { - "@metamask/rpc-errors": "^5.1.1", + "@metamask/rpc-errors": "^6.0.0", "@metamask/snaps-types": "workspace:^", "@metamask/snaps-ui": "workspace:^", "@metamask/utils": "^8.1.0", diff --git a/packages/examples/packages/get-entropy/snap.manifest.json b/packages/examples/packages/get-entropy/snap.manifest.json index 44748b4d8c..22ba22edc8 100644 --- a/packages/examples/packages/get-entropy/snap.manifest.json +++ b/packages/examples/packages/get-entropy/snap.manifest.json @@ -7,7 +7,7 @@ "url": "https://github.com/MetaMask/snaps.git" }, "source": { - "shasum": "jz0qC13DGpmyhERi+4iQRk1EpogtRkOd5cE5T8uKb6I=", + "shasum": "GOFUZ8blkqbGUDYBZHxTKpxX0Bo9KYpM6j80SOQ/LlQ=", "location": { "npm": { "filePath": "dist/bundle.js", diff --git a/packages/examples/packages/get-locale/package.json b/packages/examples/packages/get-locale/package.json index 0c280861f3..69582a15ac 100644 --- a/packages/examples/packages/get-locale/package.json +++ b/packages/examples/packages/get-locale/package.json @@ -32,7 +32,7 @@ "lint:dependencies": "depcheck" }, "dependencies": { - "@metamask/rpc-errors": "^5.1.1", + "@metamask/rpc-errors": "^6.0.0", "@metamask/snaps-types": "workspace:^", "@metamask/snaps-ui": "workspace:^", "@metamask/utils": "^8.1.0" diff --git a/packages/examples/packages/get-locale/snap.manifest.json b/packages/examples/packages/get-locale/snap.manifest.json index 64d1005108..709cc2c7e8 100644 --- a/packages/examples/packages/get-locale/snap.manifest.json +++ b/packages/examples/packages/get-locale/snap.manifest.json @@ -7,7 +7,7 @@ "url": "https://github.com/MetaMask/snaps.git" }, "source": { - "shasum": "XY2MC1SyQ2H5oBn47Tu9HSB/+pNFzYkNXVFSXY1jHco=", + "shasum": "WouGWqfNbqTArsBGffvpUpSzCCJdHx56+c5gCDBWdwo=", "location": { "npm": { "filePath": "dist/bundle.js", diff --git a/packages/examples/packages/invoke-snap/packages/consumer-signer/package.json b/packages/examples/packages/invoke-snap/packages/consumer-signer/package.json index 9433cefe37..9c2a0a65ae 100644 --- a/packages/examples/packages/invoke-snap/packages/consumer-signer/package.json +++ b/packages/examples/packages/invoke-snap/packages/consumer-signer/package.json @@ -33,7 +33,7 @@ }, "dependencies": { "@metamask/key-tree": "^9.0.0", - "@metamask/rpc-errors": "^5.1.1", + "@metamask/rpc-errors": "^6.0.0", "@metamask/snaps-types": "workspace:^", "@metamask/utils": "^8.1.0", "@noble/hashes": "^1.3.1" diff --git a/packages/examples/packages/invoke-snap/packages/consumer-signer/snap.manifest.json b/packages/examples/packages/invoke-snap/packages/consumer-signer/snap.manifest.json index a834a7eac6..61f692d5e9 100644 --- a/packages/examples/packages/invoke-snap/packages/consumer-signer/snap.manifest.json +++ b/packages/examples/packages/invoke-snap/packages/consumer-signer/snap.manifest.json @@ -7,7 +7,7 @@ "url": "https://github.com/MetaMask/snaps.git" }, "source": { - "shasum": "4h5TiQTb/0U11Eh6MSHVfIS+u4/jigOkK9vukcDhOUs=", + "shasum": "15n9VS32SKlOSqlRSpN6VLmBnlQBJOFguj0IUxpjlts=", "location": { "npm": { "filePath": "dist/bundle.js", diff --git a/packages/examples/packages/invoke-snap/packages/core-signer/package.json b/packages/examples/packages/invoke-snap/packages/core-signer/package.json index f7b797a27e..a61fa12c5a 100644 --- a/packages/examples/packages/invoke-snap/packages/core-signer/package.json +++ b/packages/examples/packages/invoke-snap/packages/core-signer/package.json @@ -33,7 +33,7 @@ }, "dependencies": { "@metamask/key-tree": "^9.0.0", - "@metamask/rpc-errors": "^5.1.1", + "@metamask/rpc-errors": "^6.0.0", "@metamask/snaps-types": "workspace:^", "@metamask/snaps-ui": "workspace:^", "@metamask/utils": "^8.1.0", diff --git a/packages/examples/packages/invoke-snap/packages/core-signer/snap.manifest.json b/packages/examples/packages/invoke-snap/packages/core-signer/snap.manifest.json index 7af5bcb642..422b8c0de5 100644 --- a/packages/examples/packages/invoke-snap/packages/core-signer/snap.manifest.json +++ b/packages/examples/packages/invoke-snap/packages/core-signer/snap.manifest.json @@ -7,7 +7,7 @@ "url": "https://github.com/MetaMask/snaps.git" }, "source": { - "shasum": "2NU8z5KfNVpKmOXojiY7l6SpbOLjXJua3nJ1cH6gdbo=", + "shasum": "LpGuzFsHaCLwCooAKkGtTfr/jb8PVRqrIAaPmyCF2Ww=", "location": { "npm": { "filePath": "dist/bundle.js", diff --git a/packages/examples/packages/json-rpc/package.json b/packages/examples/packages/json-rpc/package.json index 6571ef868a..4028ab0cab 100644 --- a/packages/examples/packages/json-rpc/package.json +++ b/packages/examples/packages/json-rpc/package.json @@ -32,7 +32,7 @@ "lint:dependencies": "depcheck" }, "dependencies": { - "@metamask/rpc-errors": "^5.1.1", + "@metamask/rpc-errors": "^6.0.0", "@metamask/snaps-types": "workspace:^" }, "devDependencies": { diff --git a/packages/examples/packages/json-rpc/snap.manifest.json b/packages/examples/packages/json-rpc/snap.manifest.json index 1484949673..a508834af9 100644 --- a/packages/examples/packages/json-rpc/snap.manifest.json +++ b/packages/examples/packages/json-rpc/snap.manifest.json @@ -7,7 +7,7 @@ "url": "https://github.com/MetaMask/snaps.git" }, "source": { - "shasum": "gKdBa0h+SZKNu6WFHFps5W1ly7WNTU2lrrOsyy7Z7VU=", + "shasum": "/dwCh9Rg+NAAxVBg+FfN/vyNzC0lNzfsyO0dzZz3/bw=", "location": { "npm": { "filePath": "dist/bundle.js", diff --git a/packages/examples/packages/manage-state/package.json b/packages/examples/packages/manage-state/package.json index 810acef42f..c0c34a895d 100644 --- a/packages/examples/packages/manage-state/package.json +++ b/packages/examples/packages/manage-state/package.json @@ -32,7 +32,7 @@ "lint:dependencies": "depcheck" }, "dependencies": { - "@metamask/rpc-errors": "^5.1.1", + "@metamask/rpc-errors": "^6.0.0", "@metamask/snaps-types": "workspace:^" }, "devDependencies": { diff --git a/packages/examples/packages/manage-state/snap.manifest.json b/packages/examples/packages/manage-state/snap.manifest.json index 0fa580f50f..ad0393faa4 100644 --- a/packages/examples/packages/manage-state/snap.manifest.json +++ b/packages/examples/packages/manage-state/snap.manifest.json @@ -7,7 +7,7 @@ "url": "https://github.com/MetaMask/snaps.git" }, "source": { - "shasum": "56wgGzkHUCLNO3MxSciVCRIfy67gmEfBW6MeB0rMe5Q=", + "shasum": "k6KpI7uFc8dET4nEXXmi+Flm8s7wyhEPY9lA77ianqM=", "location": { "npm": { "filePath": "dist/bundle.js", diff --git a/packages/examples/packages/network-access/package.json b/packages/examples/packages/network-access/package.json index 2472fd93c0..83af9b26fb 100644 --- a/packages/examples/packages/network-access/package.json +++ b/packages/examples/packages/network-access/package.json @@ -32,7 +32,7 @@ "lint:dependencies": "depcheck" }, "dependencies": { - "@metamask/rpc-errors": "^5.1.1", + "@metamask/rpc-errors": "^6.0.0", "@metamask/snaps-types": "workspace:^", "@metamask/utils": "^8.1.0" }, diff --git a/packages/examples/packages/network-access/snap.manifest.json b/packages/examples/packages/network-access/snap.manifest.json index 62ef189e0e..1b4ad7941e 100644 --- a/packages/examples/packages/network-access/snap.manifest.json +++ b/packages/examples/packages/network-access/snap.manifest.json @@ -7,7 +7,7 @@ "url": "https://github.com/MetaMask/snaps.git" }, "source": { - "shasum": "6yhB3CDYFp1NILq/F8Y25mKCDRNdn1DjPYl8hUqd/Js=", + "shasum": "gDwIJF9TDbQNpSXH1SK57iFurI1nk89qw8+ZCIHhl6w=", "location": { "npm": { "filePath": "dist/bundle.js", diff --git a/packages/examples/packages/notifications/package.json b/packages/examples/packages/notifications/package.json index 3302753ff5..973f1ee95f 100644 --- a/packages/examples/packages/notifications/package.json +++ b/packages/examples/packages/notifications/package.json @@ -32,7 +32,7 @@ "lint:dependencies": "depcheck" }, "dependencies": { - "@metamask/rpc-errors": "^5.1.1", + "@metamask/rpc-errors": "^6.0.0", "@metamask/snaps-types": "workspace:^" }, "devDependencies": { diff --git a/packages/examples/packages/notifications/snap.manifest.json b/packages/examples/packages/notifications/snap.manifest.json index 7950049f42..fffabd359c 100644 --- a/packages/examples/packages/notifications/snap.manifest.json +++ b/packages/examples/packages/notifications/snap.manifest.json @@ -7,7 +7,7 @@ "url": "https://github.com/MetaMask/snaps.git" }, "source": { - "shasum": "uq9ZlrcyEVDZ3iAFoxI3j6Ocu4Pp6VVp7P+nMjVhE80=", + "shasum": "QEnLzw9rJvObM9KWsZHJHxe8pJRnfebXBg0LxXD7fpw=", "location": { "npm": { "filePath": "dist/bundle.js", diff --git a/packages/examples/packages/rollup-plugin/package.json b/packages/examples/packages/rollup-plugin/package.json index 879f4c9e08..463c860981 100644 --- a/packages/examples/packages/rollup-plugin/package.json +++ b/packages/examples/packages/rollup-plugin/package.json @@ -32,7 +32,7 @@ "lint:dependencies": "depcheck" }, "dependencies": { - "@metamask/rpc-errors": "^5.1.1", + "@metamask/rpc-errors": "^6.0.0", "@metamask/snaps-types": "workspace:^" }, "devDependencies": { diff --git a/packages/examples/packages/rollup-plugin/snap.manifest.json b/packages/examples/packages/rollup-plugin/snap.manifest.json index 47c4b75568..fdfd0f53fa 100644 --- a/packages/examples/packages/rollup-plugin/snap.manifest.json +++ b/packages/examples/packages/rollup-plugin/snap.manifest.json @@ -7,7 +7,7 @@ "url": "https://github.com/MetaMask/snaps.git" }, "source": { - "shasum": "VurGsycbOqs1vfMZAfETX2Cqh1ZWeq8HMsAX15NGYoY=", + "shasum": "lCbaE8Zbu+aqsa4M/Voxo4QdaVbvI2ItdbyCInI7DYg=", "location": { "npm": { "filePath": "dist/bundle.js", diff --git a/packages/examples/packages/wasm/package.json b/packages/examples/packages/wasm/package.json index 1a6aaeaaa5..8db4c1f248 100644 --- a/packages/examples/packages/wasm/package.json +++ b/packages/examples/packages/wasm/package.json @@ -33,7 +33,7 @@ "lint:dependencies": "depcheck" }, "dependencies": { - "@metamask/rpc-errors": "^5.1.1", + "@metamask/rpc-errors": "^6.0.0", "@metamask/snaps-types": "workspace:^" }, "devDependencies": { diff --git a/packages/examples/packages/wasm/snap.manifest.json b/packages/examples/packages/wasm/snap.manifest.json index 27f2570dc8..cdf5eed663 100644 --- a/packages/examples/packages/wasm/snap.manifest.json +++ b/packages/examples/packages/wasm/snap.manifest.json @@ -7,7 +7,7 @@ "url": "https://github.com/MetaMask/snaps.git" }, "source": { - "shasum": "dbAcz7LgrYbcKyQ/mmLD6xFyfNTPCAeLiOXh9Yq922k=", + "shasum": "nPR6YK95TIJ8fHxYfsIwpUL0IGh2ZLb6bUCC9OCR44I=", "location": { "npm": { "filePath": "dist/bundle.js", diff --git a/packages/examples/packages/webpack-plugin/package.json b/packages/examples/packages/webpack-plugin/package.json index 6cb2da1916..268685583a 100644 --- a/packages/examples/packages/webpack-plugin/package.json +++ b/packages/examples/packages/webpack-plugin/package.json @@ -32,7 +32,7 @@ "lint:dependencies": "depcheck" }, "dependencies": { - "@metamask/rpc-errors": "^5.1.1", + "@metamask/rpc-errors": "^6.0.0", "@metamask/snaps-types": "workspace:^" }, "devDependencies": { diff --git a/packages/examples/packages/webpack-plugin/snap.manifest.json b/packages/examples/packages/webpack-plugin/snap.manifest.json index 57ac46057a..851dd1c0ee 100644 --- a/packages/examples/packages/webpack-plugin/snap.manifest.json +++ b/packages/examples/packages/webpack-plugin/snap.manifest.json @@ -7,7 +7,7 @@ "url": "https://github.com/MetaMask/snaps.git" }, "source": { - "shasum": "QLJQP0A8+VtRdaJkwjbxy46olOzriIXteC8T4SCFczI=", + "shasum": "iXw8gCkleVckdiVzw3OGNls24bPKcXfQ0tapG3aF9Pc=", "location": { "npm": { "filePath": "dist/bundle.js", diff --git a/packages/rpc-methods/package.json b/packages/rpc-methods/package.json index 4748fbbf0d..680c38259a 100644 --- a/packages/rpc-methods/package.json +++ b/packages/rpc-methods/package.json @@ -39,12 +39,12 @@ "dependencies": { "@metamask/key-tree": "^9.0.0", "@metamask/permission-controller": "^4.1.0", + "@metamask/rpc-errors": "^6.0.0", "@metamask/snaps-ui": "workspace:^", "@metamask/snaps-utils": "workspace:^", "@metamask/types": "^1.1.0", "@metamask/utils": "^8.1.0", "@noble/hashes": "^1.3.1", - "eth-rpc-errors": "^4.0.3", "superstruct": "^1.0.3" }, "devDependencies": { @@ -55,6 +55,7 @@ "@metamask/eslint-config-jest": "^12.1.0", "@metamask/eslint-config-nodejs": "^12.1.0", "@metamask/eslint-config-typescript": "^12.1.0", + "@metamask/json-rpc-engine": "^7.1.1", "@swc/cli": "^0.1.62", "@swc/core": "1.3.78", "@swc/jest": "^0.2.26", @@ -74,7 +75,6 @@ "expect-type": "^0.15.0", "jest": "^29.0.2", "jest-it-up": "^2.0.0", - "json-rpc-engine": "^6.1.0", "prettier": "^2.7.1", "prettier-plugin-packagejson": "^2.2.11", "rimraf": "^4.1.2", diff --git a/packages/rpc-methods/src/permitted/common/snapInstallation.ts b/packages/rpc-methods/src/permitted/common/snapInstallation.ts index 1015fa8a32..d7cbd5dd55 100644 --- a/packages/rpc-methods/src/permitted/common/snapInstallation.ts +++ b/packages/rpc-methods/src/permitted/common/snapInstallation.ts @@ -1,7 +1,7 @@ import type { RequestedPermissions } from '@metamask/permission-controller'; +import { rpcErrors } from '@metamask/rpc-errors'; import type { InstallSnapsResult } from '@metamask/snaps-utils'; import { isObject } from '@metamask/utils'; -import { ethErrors } from 'eth-rpc-errors'; export type { InstallSnapsResult } from '@metamask/snaps-utils'; @@ -25,12 +25,12 @@ export async function handleInstallSnaps( installSnaps: InstallSnapsHook, ): Promise { if (!isObject(requestedSnaps)) { - throw ethErrors.rpc.invalidParams({ + throw rpcErrors.invalidParams({ message: `Invalid snap installation params.`, data: { requestedSnaps }, }); } else if (Object.keys(requestedSnaps).length === 0) { - throw ethErrors.rpc.invalidParams({ + throw rpcErrors.invalidParams({ message: `Must specify at least one snap to install.`, data: { requestedSnaps }, }); diff --git a/packages/rpc-methods/src/permitted/invokeSnapSugar.test.ts b/packages/rpc-methods/src/permitted/invokeSnapSugar.test.ts index 916d8c7d2e..d1b751289a 100644 --- a/packages/rpc-methods/src/permitted/invokeSnapSugar.test.ts +++ b/packages/rpc-methods/src/permitted/invokeSnapSugar.test.ts @@ -1,9 +1,9 @@ +import { rpcErrors } from '@metamask/rpc-errors'; import type { JsonRpcEngineEndCallback, JsonRpcEngineNextCallback, JsonRpcRequest, } from '@metamask/types'; -import { ethErrors } from 'eth-rpc-errors'; import { getValidatedParams, invokeSnapSugar } from './invokeSnapSugar'; @@ -49,7 +49,7 @@ describe('wallet_invokeSnap', () => { invokeSnapSugar(req, _res, next, end); expect(end).toHaveBeenCalledWith( - ethErrors.rpc.invalidParams({ + rpcErrors.invalidParams({ message: 'Must specify a valid snap ID.', }), ); diff --git a/packages/rpc-methods/src/permitted/invokeSnapSugar.ts b/packages/rpc-methods/src/permitted/invokeSnapSugar.ts index 602c195187..45d7543da6 100644 --- a/packages/rpc-methods/src/permitted/invokeSnapSugar.ts +++ b/packages/rpc-methods/src/permitted/invokeSnapSugar.ts @@ -1,3 +1,4 @@ +import { rpcErrors } from '@metamask/rpc-errors'; import type { PermittedHandlerExport, JsonRpcRequest, @@ -5,7 +6,6 @@ import type { JsonRpcEngineEndCallback, } from '@metamask/types'; import { isObject } from '@metamask/utils'; -import { ethErrors } from 'eth-rpc-errors'; export type InvokeSnapSugarArgs = { snapId: string; @@ -64,7 +64,7 @@ export function invokeSnapSugar( */ export function getValidatedParams(params: unknown): InvokeSnapSugarArgs { if (!isObject(params)) { - throw ethErrors.rpc.invalidParams({ + throw rpcErrors.invalidParams({ message: 'Expected params to be a single object.', }); } @@ -72,13 +72,13 @@ export function getValidatedParams(params: unknown): InvokeSnapSugarArgs { const { snapId, request } = params; if (!snapId || typeof snapId !== 'string' || snapId === '') { - throw ethErrors.rpc.invalidParams({ + throw rpcErrors.invalidParams({ message: 'Must specify a valid snap ID.', }); } if (!isObject(request)) { - throw ethErrors.rpc.invalidParams({ + throw rpcErrors.invalidParams({ message: 'Expected request to be a single object.', }); } diff --git a/packages/rpc-methods/src/permitted/middleware.test.ts b/packages/rpc-methods/src/permitted/middleware.test.ts index f9b4abff5e..32cc3bd46a 100644 --- a/packages/rpc-methods/src/permitted/middleware.test.ts +++ b/packages/rpc-methods/src/permitted/middleware.test.ts @@ -2,7 +2,7 @@ import { MOCK_SNAP_ID, getTruncatedSnap, } from '@metamask/snaps-utils/test-utils'; -import { JsonRpcEngine } from 'json-rpc-engine'; +import { JsonRpcEngine }from '@metamask/json-rpc-engine'; import { createSnapsMethodMiddleware } from './middleware'; diff --git a/packages/rpc-methods/src/permitted/middleware.ts b/packages/rpc-methods/src/permitted/middleware.ts index a1b76b64b2..18e88dd646 100644 --- a/packages/rpc-methods/src/permitted/middleware.ts +++ b/packages/rpc-methods/src/permitted/middleware.ts @@ -1,6 +1,6 @@ +import { rpcErrors } from '@metamask/rpc-errors'; import { logError } from '@metamask/snaps-utils'; -import { ethErrors } from 'eth-rpc-errors'; -import type { JsonRpcMiddleware } from 'json-rpc-engine'; +import type { JsonRpcMiddleware }from '@metamask/json-rpc-engine'; import { selectHooks } from '../utils'; import { methodHandlers } from './handlers'; @@ -23,7 +23,7 @@ export function createSnapsMethodMiddleware( methodHandlers[request.method as keyof typeof methodHandlers]; if (handler) { if (request.method.startsWith('snap_') && !isSnap) { - return end(ethErrors.rpc.methodNotFound()); + return end(rpcErrors.methodNotFound()); } // TODO: Once json-rpc-engine types are up to date, we should type this correctly diff --git a/packages/rpc-methods/src/permitted/requestSnaps.test.ts b/packages/rpc-methods/src/permitted/requestSnaps.test.ts index 490001a84b..95a49c1fce 100644 --- a/packages/rpc-methods/src/permitted/requestSnaps.test.ts +++ b/packages/rpc-methods/src/permitted/requestSnaps.test.ts @@ -15,7 +15,7 @@ import type { JsonRpcSuccess, PendingJsonRpcResponse, } from '@metamask/types'; -import { JsonRpcEngine } from 'json-rpc-engine'; +import { JsonRpcEngine }from '@metamask/json-rpc-engine'; import { WALLET_SNAP_PERMISSION_KEY } from '../restricted/invokeSnap'; import { diff --git a/packages/rpc-methods/src/permitted/requestSnaps.ts b/packages/rpc-methods/src/permitted/requestSnaps.ts index af818dfc05..085ea50063 100644 --- a/packages/rpc-methods/src/permitted/requestSnaps.ts +++ b/packages/rpc-methods/src/permitted/requestSnaps.ts @@ -3,6 +3,7 @@ import type { RequestedPermissions, Caveat, } from '@metamask/permission-controller'; +import { rpcErrors } from '@metamask/rpc-errors'; import type { SnapsPermissionRequest } from '@metamask/snaps-utils'; import { SnapCaveatType, @@ -16,7 +17,6 @@ import type { } from '@metamask/types'; import type { Json } from '@metamask/utils'; import { hasProperty, isObject } from '@metamask/utils'; -import { ethErrors } from 'eth-rpc-errors'; import { WALLET_SNAP_PERMISSION_KEY } from '../restricted/invokeSnap'; import type { MethodHooksObject } from '../utils'; @@ -177,7 +177,7 @@ async function requestSnapsImplementation( const requestedSnaps = req.params; if (!isObject(requestedSnaps)) { return end( - ethErrors.rpc.invalidParams({ + rpcErrors.invalidParams({ message: '"params" must be an object.', }), ); diff --git a/packages/rpc-methods/src/restricted/caveats/permittedCoinTypes.ts b/packages/rpc-methods/src/restricted/caveats/permittedCoinTypes.ts index b19aa7c3a7..628c37b32f 100644 --- a/packages/rpc-methods/src/restricted/caveats/permittedCoinTypes.ts +++ b/packages/rpc-methods/src/restricted/caveats/permittedCoinTypes.ts @@ -3,10 +3,10 @@ import type { RestrictedMethodCaveatSpecificationConstraint, Caveat, } from '@metamask/permission-controller'; +import { providerErrors, rpcErrors } from '@metamask/rpc-errors'; import { FORBIDDEN_COIN_TYPES, SnapCaveatType } from '@metamask/snaps-utils'; import type { Json } from '@metamask/utils'; import { hasProperty, isPlainObject } from '@metamask/utils'; -import { ethErrors } from 'eth-rpc-errors'; import type { GetBip44EntropyParams } from '../getBip44Entropy'; @@ -41,7 +41,7 @@ export function validateBIP44Params( value: unknown, ): asserts value is GetBip44EntropyParams { if (!isPlainObject(value) || !hasProperty(value, 'coinType')) { - throw ethErrors.rpc.invalidParams({ + throw rpcErrors.invalidParams({ message: 'Expected a plain object containing a coin type.', }); } @@ -52,14 +52,14 @@ export function validateBIP44Params( value.coinType < 0 || value.coinType > 0x7fffffff ) { - throw ethErrors.rpc.invalidParams({ + throw rpcErrors.invalidParams({ message: 'Invalid "coinType" parameter. Coin type must be a non-negative integer.', }); } if (FORBIDDEN_COIN_TYPES.includes(value.coinType)) { - throw ethErrors.rpc.invalidParams({ + throw rpcErrors.invalidParams({ message: `Coin type ${value.coinType} is forbidden.`, }); } @@ -78,7 +78,7 @@ export function validateBIP44Caveat(caveat: Caveat) { !Array.isArray(caveat.value) || caveat.value.length === 0 ) { - throw ethErrors.rpc.invalidParams({ + throw rpcErrors.invalidParams({ message: 'Expected non-empty array of coin types.', }); } @@ -108,7 +108,7 @@ export const PermittedCoinTypesCaveatSpecification: Record< ); if (!coinType) { - throw ethErrors.provider.unauthorized({ + throw providerErrors.unauthorized({ message: 'The requested coin type is not permitted. Allowed coin types must be specified in the snap manifest.', }); diff --git a/packages/rpc-methods/src/restricted/caveats/permittedDerivationPaths.ts b/packages/rpc-methods/src/restricted/caveats/permittedDerivationPaths.ts index be5f7b42af..8c4c76c81f 100644 --- a/packages/rpc-methods/src/restricted/caveats/permittedDerivationPaths.ts +++ b/packages/rpc-methods/src/restricted/caveats/permittedDerivationPaths.ts @@ -3,6 +3,7 @@ import type { PermissionConstraint, RestrictedMethodCaveatSpecificationConstraint, } from '@metamask/permission-controller'; +import { providerErrors, rpcErrors } from '@metamask/rpc-errors'; import type { Bip32Entropy } from '@metamask/snaps-utils'; import { SnapCaveatType, @@ -11,7 +12,6 @@ import { } from '@metamask/snaps-utils'; import type { Json } from '@metamask/utils'; import { assertStruct } from '@metamask/utils'; -import { ethErrors } from 'eth-rpc-errors'; import { array, size, type } from 'superstruct'; /** @@ -51,7 +51,7 @@ export function validateBIP32Path( value, Bip32EntropyStruct, 'Invalid BIP-32 entropy path definition', - ethErrors.rpc.invalidParams, + rpcErrors.invalidParams, ); } @@ -69,7 +69,7 @@ export function validateBIP32CaveatPaths( caveat, type({ value: size(array(Bip32EntropyStruct), 1, Infinity) }), 'Invalid BIP-32 entropy caveat', - ethErrors.rpc.internal, + rpcErrors.internal, ); } @@ -96,7 +96,7 @@ export const PermittedDerivationPathsCaveatSpecification: Record< ); if (!path) { - throw ethErrors.provider.unauthorized({ + throw providerErrors.unauthorized({ message: 'The requested path is not permitted. Allowed paths must be specified in the snap manifest.', }); diff --git a/packages/rpc-methods/src/restricted/caveats/snapIds.ts b/packages/rpc-methods/src/restricted/caveats/snapIds.ts index 734aeeb5db..e41f2cedc3 100644 --- a/packages/rpc-methods/src/restricted/caveats/snapIds.ts +++ b/packages/rpc-methods/src/restricted/caveats/snapIds.ts @@ -5,11 +5,11 @@ import type { RestrictedMethodCaveatSpecificationConstraint, PermissionConstraint, } from '@metamask/permission-controller'; +import { rpcErrors } from '@metamask/rpc-errors'; import type { SnapIds } from '@metamask/snaps-utils'; import { SnapCaveatType, SnapIdsStruct } from '@metamask/snaps-utils'; import type { Json } from '@metamask/utils'; import { hasProperty, assertStruct } from '@metamask/utils'; -import { ethErrors } from 'eth-rpc-errors'; import { type } from 'superstruct'; import type { InvokeSnapParams } from '../invokeSnap'; @@ -50,7 +50,7 @@ export function validateSnapIdsCaveat( value: SnapIdsStruct, }), 'Expected caveat to have a value property of a non-empty object of snap IDs.', - ethErrors.rpc.invalidParams, + rpcErrors.invalidParams, ); } diff --git a/packages/rpc-methods/src/restricted/dialog.ts b/packages/rpc-methods/src/restricted/dialog.ts index f8aeeb2d27..5e364bfe3b 100644 --- a/packages/rpc-methods/src/restricted/dialog.ts +++ b/packages/rpc-methods/src/restricted/dialog.ts @@ -4,12 +4,12 @@ import type { ValidPermissionSpecification, } from '@metamask/permission-controller'; import { PermissionType, SubjectType } from '@metamask/permission-controller'; +import { rpcErrors } from '@metamask/rpc-errors'; import type { Component } from '@metamask/snaps-ui'; import { ComponentStruct } from '@metamask/snaps-ui'; import type { EnumToUnion } from '@metamask/snaps-utils'; import { enumValue } from '@metamask/snaps-utils'; import type { NonEmptyArray } from '@metamask/utils'; -import { ethErrors } from 'eth-rpc-errors'; import type { Infer, Struct } from 'superstruct'; import { create, @@ -186,7 +186,7 @@ function getValidatedType(params: unknown): DialogType { try { return create(params, BaseParamsStruct).type; } catch (error) { - throw ethErrors.rpc.invalidParams({ + throw rpcErrors.invalidParams({ message: `The "type" property must be one of: ${Object.values( DialogType, ).join(', ')}.`, @@ -213,18 +213,18 @@ function getValidatedParams( const { key, type: errorType } = error; if (key === 'placeholder' && errorType === 'never') { - throw ethErrors.rpc.invalidParams({ + throw rpcErrors.invalidParams({ message: 'Invalid params: Alerts or confirmations may not specify a "placeholder" field.', }); } - throw ethErrors.rpc.invalidParams({ + throw rpcErrors.invalidParams({ message: `Invalid params: ${error.message}.`, }); } /* istanbul ignore next */ - throw ethErrors.rpc.internal(); + throw rpcErrors.internal(); } } diff --git a/packages/rpc-methods/src/restricted/getBip32Entropy.ts b/packages/rpc-methods/src/restricted/getBip32Entropy.ts index c2d661af1a..7c9d8b3297 100644 --- a/packages/rpc-methods/src/restricted/getBip32Entropy.ts +++ b/packages/rpc-methods/src/restricted/getBip32Entropy.ts @@ -6,11 +6,11 @@ import type { ValidPermissionSpecification, } from '@metamask/permission-controller'; import { PermissionType, SubjectType } from '@metamask/permission-controller'; +import { rpcErrors } from '@metamask/rpc-errors'; import type { Bip32Entropy } from '@metamask/snaps-utils'; import { SnapCaveatType } from '@metamask/snaps-utils'; import type { NonEmptyArray } from '@metamask/utils'; import { assert } from '@metamask/utils'; -import { ethErrors } from 'eth-rpc-errors'; import type { MethodHooksObject } from '../utils'; import { getNode } from '../utils'; @@ -67,7 +67,7 @@ const specificationBuilder: PermissionSpecificationBuilder< caveats?.length !== 1 || caveats[0].type !== SnapCaveatType.PermittedDerivationPaths ) { - throw ethErrors.rpc.invalidParams({ + throw rpcErrors.invalidParams({ message: `Expected a single "${SnapCaveatType.PermittedDerivationPaths}" caveat.`, }); } diff --git a/packages/rpc-methods/src/restricted/getBip32PublicKey.ts b/packages/rpc-methods/src/restricted/getBip32PublicKey.ts index 07252c3233..f139e5795f 100644 --- a/packages/rpc-methods/src/restricted/getBip32PublicKey.ts +++ b/packages/rpc-methods/src/restricted/getBip32PublicKey.ts @@ -5,6 +5,7 @@ import type { ValidPermissionSpecification, } from '@metamask/permission-controller'; import { PermissionType, SubjectType } from '@metamask/permission-controller'; +import { rpcErrors } from '@metamask/rpc-errors'; import { bip32entropy, Bip32PathStruct, @@ -12,7 +13,6 @@ import { } from '@metamask/snaps-utils'; import type { NonEmptyArray } from '@metamask/utils'; import { assertStruct } from '@metamask/utils'; -import { ethErrors } from 'eth-rpc-errors'; import { boolean, enums, object, optional } from 'superstruct'; import type { MethodHooksObject } from '../utils'; @@ -84,7 +84,7 @@ const specificationBuilder: PermissionSpecificationBuilder< caveats?.length !== 1 || caveats[0].type !== SnapCaveatType.PermittedDerivationPaths ) { - throw ethErrors.rpc.invalidParams({ + throw rpcErrors.invalidParams({ message: `Expected a single "${SnapCaveatType.PermittedDerivationPaths}" caveat.`, }); } @@ -127,7 +127,7 @@ export function getBip32PublicKeyImplementation({ args.params, Bip32PublicKeyArgsStruct, 'Invalid BIP-32 public key params', - ethErrors.rpc.invalidParams, + rpcErrors.invalidParams, ); const { params } = args; diff --git a/packages/rpc-methods/src/restricted/getBip44Entropy.ts b/packages/rpc-methods/src/restricted/getBip44Entropy.ts index abd0da8639..7f411d8567 100644 --- a/packages/rpc-methods/src/restricted/getBip44Entropy.ts +++ b/packages/rpc-methods/src/restricted/getBip44Entropy.ts @@ -7,9 +7,9 @@ import type { ValidPermissionSpecification, } from '@metamask/permission-controller'; import { PermissionType, SubjectType } from '@metamask/permission-controller'; +import { rpcErrors } from '@metamask/rpc-errors'; import { SnapCaveatType } from '@metamask/snaps-utils'; import type { NonEmptyArray } from '@metamask/utils'; -import { ethErrors } from 'eth-rpc-errors'; import type { MethodHooksObject } from '../utils'; @@ -70,7 +70,7 @@ const specificationBuilder: PermissionSpecificationBuilder< caveats?.length !== 1 || caveats[0].type !== SnapCaveatType.PermittedCoinTypes ) { - throw ethErrors.rpc.invalidParams({ + throw rpcErrors.invalidParams({ message: `Expected a single "${SnapCaveatType.PermittedCoinTypes}" caveat.`, }); } diff --git a/packages/rpc-methods/src/restricted/getEntropy.ts b/packages/rpc-methods/src/restricted/getEntropy.ts index c967270fa4..71fdcf47d2 100644 --- a/packages/rpc-methods/src/restricted/getEntropy.ts +++ b/packages/rpc-methods/src/restricted/getEntropy.ts @@ -4,10 +4,10 @@ import type { ValidPermissionSpecification, } from '@metamask/permission-controller'; import { PermissionType, SubjectType } from '@metamask/permission-controller'; +import { rpcErrors } from '@metamask/rpc-errors'; import { SIP_6_MAGIC_VALUE } from '@metamask/snaps-utils'; import type { Hex, NonEmptyArray } from '@metamask/utils'; import { assertStruct } from '@metamask/utils'; -import { ethErrors } from 'eth-rpc-errors'; import type { Infer } from 'superstruct'; import { literal, object, optional, string } from 'superstruct'; @@ -111,7 +111,7 @@ function getEntropyImplementation({ params, GetEntropyArgsStruct, 'Invalid "snap_getEntropy" parameters', - ethErrors.rpc.invalidParams, + rpcErrors.invalidParams, ); await getUnlockPromise(true); diff --git a/packages/rpc-methods/src/restricted/invokeSnap.ts b/packages/rpc-methods/src/restricted/invokeSnap.ts index a743309238..847a0134cb 100644 --- a/packages/rpc-methods/src/restricted/invokeSnap.ts +++ b/packages/rpc-methods/src/restricted/invokeSnap.ts @@ -6,6 +6,7 @@ import type { PermissionSideEffect, } from '@metamask/permission-controller'; import { PermissionType } from '@metamask/permission-controller'; +import { rpcErrors } from '@metamask/rpc-errors'; import type { Snap, SnapId, @@ -15,7 +16,6 @@ import type { } from '@metamask/snaps-utils'; import { HandlerType, SnapCaveatType } from '@metamask/snaps-utils'; import type { Json, NonEmptyArray } from '@metamask/utils'; -import { ethErrors } from 'eth-rpc-errors'; import type { MethodHooksObject } from '../utils'; @@ -127,7 +127,7 @@ const specificationBuilder: PermissionSpecificationBuilder< methodImplementation: getInvokeSnapImplementation(methodHooks), validator: ({ caveats }) => { if (caveats?.length !== 1 || caveats[0].type !== SnapCaveatType.SnapIds) { - throw ethErrors.rpc.invalidParams({ + throw rpcErrors.invalidParams({ message: `Expected a single "${SnapCaveatType.SnapIds}" caveat.`, }); } @@ -170,7 +170,7 @@ export function getInvokeSnapImplementation({ const { snapId, request } = params as InvokeSnapParams; if (!getSnap(snapId)) { - throw ethErrors.rpc.invalidRequest({ + throw rpcErrors.invalidRequest({ message: `The snap "${snapId}" is not installed. Please install it first, before invoking the snap.`, }); } diff --git a/packages/rpc-methods/src/restricted/manageState.test.ts b/packages/rpc-methods/src/restricted/manageState.test.ts index eb6236100e..a21e87f8fc 100644 --- a/packages/rpc-methods/src/restricted/manageState.test.ts +++ b/packages/rpc-methods/src/restricted/manageState.test.ts @@ -1,11 +1,11 @@ import { decrypt, encrypt } from '@metamask/browser-passworder'; import { PermissionType, SubjectType } from '@metamask/permission-controller'; +import { rpcErrors } from '@metamask/rpc-errors'; import { MOCK_LOCAL_SNAP_ID, MOCK_SNAP_ID, TEST_SECRET_RECOVERY_PHRASE_BYTES, } from '@metamask/snaps-utils/test-utils'; -import { ethErrors } from 'eth-rpc-errors'; import { getManageStateImplementation, @@ -311,7 +311,7 @@ describe('snap_manageState', () => { params: { operation: ManageStateOperation.GetState }, }), ).rejects.toThrow( - ethErrors.rpc.internal({ + rpcErrors.internal({ message: 'Failed to decrypt snap state, the state must be corrupted.', }), ); diff --git a/packages/rpc-methods/src/restricted/manageState.ts b/packages/rpc-methods/src/restricted/manageState.ts index 5c0ea257d7..1260fdb0fa 100644 --- a/packages/rpc-methods/src/restricted/manageState.ts +++ b/packages/rpc-methods/src/restricted/manageState.ts @@ -4,11 +4,11 @@ import type { ValidPermissionSpecification, } from '@metamask/permission-controller'; import { PermissionType, SubjectType } from '@metamask/permission-controller'; +import { rpcErrors } from '@metamask/rpc-errors'; import type { EnumToUnion } from '@metamask/snaps-utils'; import { STATE_ENCRYPTION_MAGIC_VALUE } from '@metamask/snaps-utils'; import type { Json, NonEmptyArray, Hex } from '@metamask/utils'; import { isObject, getJsonSize, assert, isValidJson } from '@metamask/utils'; -import { ethErrors } from 'eth-rpc-errors'; import type { MethodHooksObject } from '../utils'; import { deriveEntropy } from '../utils'; @@ -225,7 +225,7 @@ async function decryptState({ return decryptedState as Record; } catch { - throw ethErrors.rpc.internal({ + throw rpcErrors.internal({ message: 'Failed to decrypt snap state, the state must be corrupted.', }); } @@ -307,7 +307,7 @@ export function getManageStateImplementation({ } default: - throw ethErrors.rpc.invalidParams( + throw rpcErrors.invalidParams( `Invalid ${method} operation: "${operation as string}"`, ); } @@ -329,7 +329,7 @@ export function getValidatedParams( storageSizeLimit = STORAGE_SIZE_LIMIT, ): ManageStateArgs { if (!isObject(params)) { - throw ethErrors.rpc.invalidParams({ + throw rpcErrors.invalidParams({ message: 'Expected params to be a single object.', }); } @@ -341,14 +341,14 @@ export function getValidatedParams( typeof operation !== 'string' || !(Object.values(ManageStateOperation) as string[]).includes(operation) ) { - throw ethErrors.rpc.invalidParams({ + throw rpcErrors.invalidParams({ message: 'Must specify a valid manage state "operation".', }); } if (operation === ManageStateOperation.UpdateState) { if (!isObject(newState)) { - throw ethErrors.rpc.invalidParams({ + throw rpcErrors.invalidParams({ message: `Invalid ${method} "updateState" parameter: The new state must be a plain object.`, data: { receivedNewState: @@ -362,7 +362,7 @@ export function getValidatedParams( // `getJsonSize` will throw if the state is not JSON serializable. size = getJsonSize(newState); } catch { - throw ethErrors.rpc.invalidParams({ + throw rpcErrors.invalidParams({ message: `Invalid ${method} "updateState" parameter: The new state must be JSON serializable.`, data: { receivedNewState: @@ -372,7 +372,7 @@ export function getValidatedParams( } if (size > storageSizeLimit) { - throw ethErrors.rpc.invalidParams({ + throw rpcErrors.invalidParams({ message: `Invalid ${method} "updateState" parameter: The new state must not exceed ${storageSizeLimit} bytes in size.`, data: { receivedNewState: diff --git a/packages/rpc-methods/src/restricted/notify.ts b/packages/rpc-methods/src/restricted/notify.ts index 636d077ec5..c7b594d191 100644 --- a/packages/rpc-methods/src/restricted/notify.ts +++ b/packages/rpc-methods/src/restricted/notify.ts @@ -4,10 +4,10 @@ import type { ValidPermissionSpecification, } from '@metamask/permission-controller'; import { PermissionType, SubjectType } from '@metamask/permission-controller'; +import { rpcErrors } from '@metamask/rpc-errors'; import type { EnumToUnion } from '@metamask/snaps-utils'; import type { NonEmptyArray } from '@metamask/utils'; import { isObject } from '@metamask/utils'; -import { ethErrors } from 'eth-rpc-errors'; import type { MethodHooksObject } from '../utils'; @@ -127,7 +127,7 @@ export function getImplementation({ case NotificationType.InApp: return await showInAppNotification(origin, validatedParams); default: - throw ethErrors.rpc.invalidParams({ + throw rpcErrors.invalidParams({ message: 'Must specify a valid notification "type".', }); } @@ -143,7 +143,7 @@ export function getImplementation({ */ export function getValidatedParams(params: unknown): NotificationArgs { if (!isObject(params)) { - throw ethErrors.rpc.invalidParams({ + throw rpcErrors.invalidParams({ message: 'Expected params to be a single object.', }); } @@ -155,14 +155,14 @@ export function getValidatedParams(params: unknown): NotificationArgs { typeof type !== 'string' || !Object.values(NotificationType).includes(type as NotificationType) ) { - throw ethErrors.rpc.invalidParams({ + throw rpcErrors.invalidParams({ message: 'Must specify a valid notification "type".', }); } // Set to the max message length on a Mac notification for now. if (!message || typeof message !== 'string' || message.length >= 50) { - throw ethErrors.rpc.invalidParams({ + throw rpcErrors.invalidParams({ message: 'Must specify a non-empty string "message" less than 50 characters long.', }); diff --git a/packages/snaps-controllers/package.json b/packages/snaps-controllers/package.json index e44f636bde..c2b8a49e47 100644 --- a/packages/snaps-controllers/package.json +++ b/packages/snaps-controllers/package.json @@ -45,9 +45,11 @@ "dependencies": { "@metamask/approval-controller": "^3.5.0", "@metamask/base-controller": "^3.2.0", + "@metamask/json-rpc-engine": "^7.1.1", "@metamask/object-multiplex": "^1.2.0", "@metamask/permission-controller": "^4.1.0", "@metamask/post-message-stream": "^7.0.0", + "@metamask/rpc-errors": "^6.0.0", "@metamask/rpc-methods": "workspace:^", "@metamask/snaps-execution-environments": "workspace:^", "@metamask/snaps-registry": "^2.0.0", @@ -55,11 +57,9 @@ "@metamask/utils": "^8.1.0", "@xstate/fsm": "^2.0.0", "concat-stream": "^2.0.0", - "eth-rpc-errors": "^4.0.3", "gunzip-maybe": "^1.4.2", "immer": "^9.0.6", - "json-rpc-engine": "^6.1.0", - "json-rpc-middleware-stream": "^4.2.0", + "json-rpc-middleware-stream": "^5.0.0", "nanoid": "^3.1.31", "readable-web-to-node-stream": "^3.0.2", "tar-stream": "^2.2.0" @@ -128,5 +128,17 @@ "publishConfig": { "access": "public", "registry": "https://registry.npmjs.org/" + }, + "lavamoat": { + "allowScripts": { + "@metamask/permission-controller>@metamask/controller-utils>ethereumjs-util>ethereum-cryptography>keccak": false, + "@metamask/permission-controller>@metamask/controller-utils>ethereumjs-util>ethereum-cryptography>secp256k1": false, + "@swc/core": false, + "@wdio/browser-runner>@originjs/vite-plugin-commonjs>esbuild": false, + "@wdio/cli>@wdio/utils>edgedriver": false, + "esbuild": false, + "wdio-chromedriver-service>chromedriver": false, + "wdio-geckodriver-service>geckodriver": false + } } } diff --git a/packages/snaps-controllers/src/services/AbstractExecutionService.ts b/packages/snaps-controllers/src/services/AbstractExecutionService.ts index 507f492d9d..779fc3dbe8 100644 --- a/packages/snaps-controllers/src/services/AbstractExecutionService.ts +++ b/packages/snaps-controllers/src/services/AbstractExecutionService.ts @@ -2,14 +2,9 @@ import ObjectMultiplex from '@metamask/object-multiplex'; import type { BasePostMessageStream } from '@metamask/post-message-stream'; import type { SnapRpcHook, SnapRpcHookArgs } from '@metamask/snaps-utils'; import { SNAP_STREAM_NAMES, logError } from '@metamask/snaps-utils'; -import type { Json, JsonRpcNotification } from '@metamask/utils'; +import type { Json, JsonRpcNotification, JsonRpcParams, JsonRpcRequest, PendingJsonRpcResponse } from '@metamask/utils'; import { Duration, isJsonRpcNotification, isObject } from '@metamask/utils'; -import type { - // TODO: Replace with @metamask/utils version after bumping json-rpc-engine - JsonRpcRequest, - PendingJsonRpcResponse, -} from 'json-rpc-engine'; -import { JsonRpcEngine } from 'json-rpc-engine'; +import { JsonRpcEngine } from '@metamask/json-rpc-engine'; import { createStreamMiddleware } from 'json-rpc-middleware-stream'; import { nanoid } from 'nanoid'; import { pipeline } from 'stream'; @@ -220,7 +215,7 @@ export abstract class AbstractExecutionService const { worker, stream: envStream } = await this.initEnvStream(jobId); // Typecast justification: stream type mismatch const mux = setupMultiplex( - envStream as unknown as Duplex, + envStream, `Job: "${jobId}"`, ); @@ -230,7 +225,7 @@ export abstract class AbstractExecutionService // Also keep track of outbound request/responses const notificationHandler = ( message: - | JsonRpcRequest + | JsonRpcRequest | JsonRpcNotification>, ) => { if (!isJsonRpcNotification(message)) { @@ -273,7 +268,7 @@ export abstract class AbstractExecutionService // Typecast: stream type mismatch return { streams: { - command: commandStream as unknown as Duplex, + command: commandStream, rpc: rpcStream, // eslint-disable-next-line @typescript-eslint/naming-convention _connection: envStream, @@ -347,7 +342,7 @@ export abstract class AbstractExecutionService id: nanoid(), }); - const rpcStream = job.streams.rpc as unknown as Duplex; + const rpcStream = job.streams.rpc; this.setupSnapProvider(snapData.snapId, rpcStream); @@ -364,8 +359,8 @@ export abstract class AbstractExecutionService // Cannot be hash private yet because of tests. private async command( jobId: string, - message: JsonRpcRequest, - ): Promise { + message: JsonRpcRequest, + ): Promise { if (typeof message !== 'object') { throw new Error('Must send object.'); } @@ -376,7 +371,8 @@ export abstract class AbstractExecutionService } log('Parent: Sending Command', message); - const response: PendingJsonRpcResponse = + const response: PendingJsonRpcResponse = + // eslint-disable-next-line @typescript-eslint/await-thenable await job.rpcEngine.handle(message); if (response.error) { throw new Error(response.error.message); @@ -399,7 +395,7 @@ export abstract class AbstractExecutionService handler, request, target: snapId, - }, + } as Record, }); }; @@ -433,7 +429,7 @@ export abstract class AbstractExecutionService snapId: string, options: SnapRpcHookArgs, ): Promise { - const rpcRequestHandler = await this.getRpcRequestHandler(snapId); + const rpcRequestHandler = this.getRpcRequestHandler(snapId); if (!rpcRequestHandler) { throw new Error( @@ -459,8 +455,7 @@ export function setupMultiplex( const mux = new ObjectMultiplex(); pipeline( connectionStream, - // Typecast: stream type mismatch - mux as unknown as Duplex, + mux, connectionStream, (error) => { if (error) { diff --git a/packages/snaps-controllers/src/snaps/SnapController.test.ts b/packages/snaps-controllers/src/snaps/SnapController.test.ts index fd2505afb0..811053442a 100644 --- a/packages/snaps-controllers/src/snaps/SnapController.test.ts +++ b/packages/snaps-controllers/src/snaps/SnapController.test.ts @@ -4,6 +4,7 @@ import type { SubjectPermissions, ValidPermission, } from '@metamask/permission-controller'; +import { providerErrors, rpcErrors } from '@metamask/rpc-errors'; import { WALLET_SNAP_PERMISSION_KEY } from '@metamask/rpc-methods'; import type { SnapPermissions, ValidatedSnapId } from '@metamask/snaps-utils'; import { @@ -32,9 +33,8 @@ import { } from '@metamask/snaps-utils/test-utils'; import type { SemVerRange, SemVerVersion } from '@metamask/utils'; import { AssertionError } from '@metamask/utils'; -import { ethErrors } from 'eth-rpc-errors'; import fetchMock from 'jest-fetch-mock'; -import { createAsyncMiddleware, JsonRpcEngine } from 'json-rpc-engine'; +import { createAsyncMiddleware, JsonRpcEngine }from '@metamask/json-rpc-engine'; import { createEngineStream } from 'json-rpc-middleware-stream'; import { pipeline } from 'stream'; import type { Duplex } from 'stream'; @@ -849,7 +849,7 @@ describe('SnapController', () => { id: expect.any(String), requestState: { loading: false, - error: ethErrors.provider.userRejectedRequest().message, + error: providerErrors.userRejectedRequest().message, type: SNAP_APPROVAL_INSTALL, }, }), @@ -1666,7 +1666,7 @@ describe('SnapController', () => { }, }), ).rejects.toThrow( - ethErrors.rpc.invalidRequest({ + rpcErrors.invalidRequest({ message: 'Invalid JSON-RPC request: At path: jsonrpc -- Expected the literal `"2.0"`, but received: "kaplar".', }), @@ -2292,7 +2292,7 @@ describe('SnapController', () => { id: expect.any(String), requestState: { loading: false, - error: ethErrors.provider.userRejectedRequest().message, + error: providerErrors.userRejectedRequest().message, type: SNAP_APPROVAL_INSTALL, }, }), @@ -3454,7 +3454,7 @@ describe('SnapController', () => { detectSnapLocation(), ), ).rejects.toThrow( - ethErrors.rpc.invalidParams( + rpcErrors.invalidParams( `Snap "${MOCK_SNAP_ID}@${snap.version}" is already installed. Couldn't update to a version inside requested "*" range.`, ), ); diff --git a/packages/snaps-controllers/src/snaps/SnapController.ts b/packages/snaps-controllers/src/snaps/SnapController.ts index ea85ed82f1..b7a111c9c2 100644 --- a/packages/snaps-controllers/src/snaps/SnapController.ts +++ b/packages/snaps-controllers/src/snaps/SnapController.ts @@ -24,6 +24,7 @@ import type { ValidPermission, } from '@metamask/permission-controller'; import { SubjectType } from '@metamask/permission-controller'; +import { rpcErrors } from '@metamask/rpc-errors'; import { WALLET_SNAP_PERMISSION_KEY } from '@metamask/rpc-methods'; import type { BlockReason } from '@metamask/snaps-registry'; import type { @@ -76,7 +77,6 @@ import { } from '@metamask/utils'; import type { StateMachine } from '@xstate/fsm'; import { createMachine, interpret } from '@xstate/fsm'; -import { ethErrors } from 'eth-rpc-errors'; import type { Patch } from 'immer'; import { nanoid } from 'nanoid'; @@ -1688,7 +1688,7 @@ export class SnapController extends BaseController< const [error, version] = resolveVersionRange(rawVersion); if (error) { - throw ethErrors.rpc.invalidParams( + throw rpcErrors.invalidParams( `The "version" field must be a valid SemVer version range if specified. Received: "${rawVersion}".`, ); } @@ -1766,7 +1766,7 @@ export class SnapController extends BaseController< if (this.#featureFlags.dappsCanUpdateSnaps === true) { return await this.updateSnap(origin, snapId, location, versionRange); } - throw ethErrors.rpc.invalidParams( + throw rpcErrors.invalidParams( `Version mismatch with already installed snap. ${snapId}@${existingSnap.version} doesn't satisfy requested version ${versionRange}.`, ); } @@ -1916,7 +1916,7 @@ export class SnapController extends BaseController< const newVersion = newSnap.manifest.result.version; if (!gtVersion(newVersion, snap.version)) { - throw ethErrors.rpc.invalidParams( + throw rpcErrors.invalidParams( `Snap "${snapId}@${snap.version}" is already installed. Couldn't update to a version inside requested "${newVersionRange}" range.`, ); } diff --git a/packages/snaps-controllers/src/snaps/endowments/cronjob.ts b/packages/snaps-controllers/src/snaps/endowments/cronjob.ts index c243b9b658..fbe9957636 100644 --- a/packages/snaps-controllers/src/snaps/endowments/cronjob.ts +++ b/packages/snaps-controllers/src/snaps/endowments/cronjob.ts @@ -7,6 +7,7 @@ import type { CaveatSpecificationConstraint, } from '@metamask/permission-controller'; import { PermissionType, SubjectType } from '@metamask/permission-controller'; +import { rpcErrors } from '@metamask/rpc-errors'; import type { CronjobSpecification } from '@metamask/snaps-utils'; import { SnapCaveatType, @@ -14,7 +15,6 @@ import { } from '@metamask/snaps-utils'; import type { Json, NonEmptyArray } from '@metamask/utils'; import { assert, hasProperty, isPlainObject } from '@metamask/utils'; -import { ethErrors } from 'eth-rpc-errors'; import { SnapEndowments } from './enum'; @@ -109,7 +109,7 @@ export function getCronjobCaveatJobs( */ export function validateCronjobCaveat(caveat: Caveat) { if (!hasProperty(caveat, 'value') || !isPlainObject(caveat.value)) { - throw ethErrors.rpc.invalidParams({ + throw rpcErrors.invalidParams({ message: 'Expected a plain object.', }); } @@ -117,13 +117,13 @@ export function validateCronjobCaveat(caveat: Caveat) { const { value } = caveat; if (!hasProperty(value, 'jobs') || !isPlainObject(value)) { - throw ethErrors.rpc.invalidParams({ + throw rpcErrors.invalidParams({ message: 'Expected a plain object.', }); } if (!isCronjobSpecificationArray(value.jobs)) { - throw ethErrors.rpc.invalidParams({ + throw rpcErrors.invalidParams({ message: 'Expected a valid cronjob specification array.', }); } diff --git a/packages/snaps-controllers/src/snaps/endowments/name-lookup.ts b/packages/snaps-controllers/src/snaps/endowments/name-lookup.ts index 1f9716dca1..ccd85b2c54 100644 --- a/packages/snaps-controllers/src/snaps/endowments/name-lookup.ts +++ b/packages/snaps-controllers/src/snaps/endowments/name-lookup.ts @@ -11,7 +11,7 @@ import { PermissionType, SubjectType } from '@metamask/permission-controller'; import { SnapCaveatType, isChainId } from '@metamask/snaps-utils'; import type { Json, NonEmptyArray } from '@metamask/utils'; import { assert, hasProperty, isPlainObject } from '@metamask/utils'; -import { ethErrors } from 'eth-rpc-errors'; +import { rpcErrors } from '@metamask/rpc-errors'; import { SnapEndowments } from './enum'; @@ -48,7 +48,7 @@ const specificationBuilder: PermissionSpecificationBuilder< (caveats !== null && caveats?.length > 1) || (caveats?.length === 1 && caveats[0].type !== SnapCaveatType.ChainIds) ) { - throw ethErrors.rpc.invalidParams({ + throw rpcErrors.invalidParams({ message: `Expected a single "${SnapCaveatType.ChainIds}" caveat.`, }); } @@ -70,7 +70,7 @@ export const nameLookupEndowmentBuilder = Object.freeze({ */ function validateCaveat(caveat: Caveat): void { if (!hasProperty(caveat, 'value') || !isPlainObject(caveat)) { - throw ethErrors.rpc.invalidParams({ + throw rpcErrors.invalidParams({ message: 'Expected a plain object.', }); } diff --git a/packages/snaps-controllers/src/snaps/endowments/rpc.ts b/packages/snaps-controllers/src/snaps/endowments/rpc.ts index 6ebc6c0285..2892a00b9b 100644 --- a/packages/snaps-controllers/src/snaps/endowments/rpc.ts +++ b/packages/snaps-controllers/src/snaps/endowments/rpc.ts @@ -8,11 +8,11 @@ import type { ValidPermissionSpecification, } from '@metamask/permission-controller'; import { PermissionType, SubjectType } from '@metamask/permission-controller'; +import { rpcErrors } from '@metamask/rpc-errors'; import type { RpcOrigins } from '@metamask/snaps-utils'; import { assertIsRpcOrigins, SnapCaveatType } from '@metamask/snaps-utils'; import type { Json, NonEmptyArray } from '@metamask/utils'; import { hasProperty, isPlainObject, assert } from '@metamask/utils'; -import { ethErrors } from 'eth-rpc-errors'; import { SnapEndowments } from './enum'; @@ -52,7 +52,7 @@ const specificationBuilder: PermissionSpecificationBuilder< caveats?.length !== 1 || caveats[0].type !== SnapCaveatType.RpcOrigin ) { - throw ethErrors.rpc.invalidParams({ + throw rpcErrors.invalidParams({ message: `Expected a single "${SnapCaveatType.RpcOrigin}" caveat.`, }); } @@ -75,13 +75,13 @@ export const rpcEndowmentBuilder = Object.freeze({ */ function validateCaveatOrigins(caveat: Caveat) { if (!hasProperty(caveat, 'value') || !isPlainObject(caveat.value)) { - throw ethErrors.rpc.invalidParams({ + throw rpcErrors.invalidParams({ message: 'Invalid JSON-RPC origins: Expected a plain object.', }); } const { value } = caveat; - assertIsRpcOrigins(value, ethErrors.rpc.invalidParams); + assertIsRpcOrigins(value, rpcErrors.invalidParams); } /** diff --git a/packages/snaps-controllers/src/snaps/endowments/transaction-insight.ts b/packages/snaps-controllers/src/snaps/endowments/transaction-insight.ts index cc0b37e90d..fe500c5ee3 100644 --- a/packages/snaps-controllers/src/snaps/endowments/transaction-insight.ts +++ b/packages/snaps-controllers/src/snaps/endowments/transaction-insight.ts @@ -8,10 +8,10 @@ import type { Caveat, } from '@metamask/permission-controller'; import { PermissionType, SubjectType } from '@metamask/permission-controller'; +import { rpcErrors } from '@metamask/rpc-errors'; import { SnapCaveatType } from '@metamask/snaps-utils'; import type { Json, NonEmptyArray } from '@metamask/utils'; import { assert, hasProperty, isObject, isPlainObject } from '@metamask/utils'; -import { ethErrors } from 'eth-rpc-errors'; import { SnapEndowments } from './enum'; @@ -48,7 +48,7 @@ const specificationBuilder: PermissionSpecificationBuilder< (caveats?.length === 1 && caveats[0].type !== SnapCaveatType.TransactionOrigin) ) { - throw ethErrors.rpc.invalidParams({ + throw rpcErrors.invalidParams({ message: `Expected a single "${SnapCaveatType.TransactionOrigin}" caveat.`, }); } @@ -70,7 +70,7 @@ export const transactionInsightEndowmentBuilder = Object.freeze({ */ function validateCaveat(caveat: Caveat): void { if (!hasProperty(caveat, 'value') || !isPlainObject(caveat)) { - throw ethErrors.rpc.invalidParams({ + throw rpcErrors.invalidParams({ message: 'Expected a plain object.', }); } diff --git a/packages/snaps-controllers/src/snaps/registry/json.ts b/packages/snaps-controllers/src/snaps/registry/json.ts index 64244ee27d..f5754b19bb 100644 --- a/packages/snaps-controllers/src/snaps/registry/json.ts +++ b/packages/snaps-controllers/src/snaps/registry/json.ts @@ -3,7 +3,7 @@ import { BaseControllerV2 as BaseController } from '@metamask/base-controller'; import type { SnapsRegistryDatabase } from '@metamask/snaps-registry'; import { verify } from '@metamask/snaps-registry'; import type { SnapId } from '@metamask/snaps-utils'; -import type { Hex } from '@metamask/utils'; +import type { Hex, SemVerRange } from '@metamask/utils'; import { assert, Duration, @@ -226,7 +226,11 @@ export class JsonSnapsRegistry extends BaseController< if ('id' in blocked) { return ( blocked.id === snapId && - satisfiesVersionRange(snapInfo.version, blocked.versionRange) + satisfiesVersionRange( + snapInfo.version, + // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion + blocked.versionRange as SemVerRange, + ) ); } diff --git a/packages/snaps-controllers/src/test-utils/controller.ts b/packages/snaps-controllers/src/test-utils/controller.ts index 102f4e4829..c8f981ce0f 100644 --- a/packages/snaps-controllers/src/test-utils/controller.ts +++ b/packages/snaps-controllers/src/test-utils/controller.ts @@ -7,6 +7,7 @@ import type { SubjectMetadata, } from '@metamask/permission-controller'; import { SubjectType } from '@metamask/permission-controller'; +import { providerErrors } from '@metamask/rpc-errors'; import { WALLET_SNAP_PERMISSION_KEY } from '@metamask/rpc-methods'; import type { ValidatedSnapId } from '@metamask/snaps-utils'; import { SnapCaveatType } from '@metamask/snaps-utils'; @@ -19,7 +20,6 @@ import { MOCK_SNAP_ID, } from '@metamask/snaps-utils/test-utils'; import type { Json } from '@metamask/utils'; -import { ethErrors } from 'eth-rpc-errors'; import type { CronjobControllerActions, @@ -88,7 +88,7 @@ export class MockApprovalController { }) { if (this.#approval) { if (requestState.loading === false && !requestState.error) { - this.#approval.promise.reject(ethErrors.provider.userRejectedRequest()); + this.#approval.promise.reject(providerErrors.userRejectedRequest()); } } } diff --git a/packages/snaps-controllers/src/test-utils/execution-environment.ts b/packages/snaps-controllers/src/test-utils/execution-environment.ts index 6cb2842c3b..df7d90a228 100644 --- a/packages/snaps-controllers/src/test-utils/execution-environment.ts +++ b/packages/snaps-controllers/src/test-utils/execution-environment.ts @@ -1,6 +1,6 @@ import { logError, type SnapRpcHookArgs } from '@metamask/snaps-utils'; import type { MockControllerMessenger } from '@metamask/snaps-utils/test-utils'; -import { JsonRpcEngine } from 'json-rpc-engine'; +import { JsonRpcEngine }from '@metamask/json-rpc-engine'; import { createEngineStream } from 'json-rpc-middleware-stream'; import { pipeline } from 'stream'; diff --git a/packages/snaps-controllers/src/test-utils/service.ts b/packages/snaps-controllers/src/test-utils/service.ts index caf144fb7a..b98af8b3c5 100644 --- a/packages/snaps-controllers/src/test-utils/service.ts +++ b/packages/snaps-controllers/src/test-utils/service.ts @@ -1,6 +1,6 @@ import { ControllerMessenger } from '@metamask/base-controller'; import { logError } from '@metamask/snaps-utils'; -import { JsonRpcEngine } from 'json-rpc-engine'; +import { JsonRpcEngine }from '@metamask/json-rpc-engine'; import { createEngineStream } from 'json-rpc-middleware-stream'; import { pipeline } from 'stream'; import type { Duplex } from 'stream'; diff --git a/packages/snaps-execution-environments/lavamoat/browserify/iframe/policy.json b/packages/snaps-execution-environments/lavamoat/browserify/iframe/policy.json index f59b2580fa..72b048404e 100644 --- a/packages/snaps-execution-environments/lavamoat/browserify/iframe/policy.json +++ b/packages/snaps-execution-environments/lavamoat/browserify/iframe/policy.json @@ -108,8 +108,8 @@ "@metamask/providers>json-rpc-middleware-stream": true, "@metamask/providers>pump": true, "eslint>fast-deep-equal": true, - "eth-rpc-errors": true, - "json-rpc-engine": true + "json-rpc-engine": true, + "json-rpc-engine>eth-rpc-errors": true } }, "@metamask/providers>@metamask/safe-event-emitter": { @@ -141,8 +141,8 @@ "setTimeout": true }, "packages": { - "@metamask/providers>json-rpc-middleware-stream>readable-stream": true, - "json-rpc-engine>@metamask/safe-event-emitter": true + "@metamask/providers>@metamask/safe-event-emitter": true, + "@metamask/providers>json-rpc-middleware-stream>readable-stream": true } }, "@metamask/providers>json-rpc-middleware-stream>readable-stream": { @@ -178,6 +178,12 @@ "browserify>process": true } }, + "@metamask/rpc-errors": { + "packages": { + "@metamask/rpc-errors>fast-safe-stringify": true, + "@metamask/utils": true + } + }, "@metamask/utils": { "globals": { "TextDecoder": true, @@ -284,11 +290,6 @@ "eslint>debug>ms": true } }, - "eth-rpc-errors": { - "packages": { - "eth-rpc-errors>fast-safe-stringify": true - } - }, "express>safe-buffer": { "packages": { "browserify>buffer": true @@ -334,8 +335,8 @@ }, "json-rpc-engine": { "packages": { - "eth-rpc-errors": true, - "json-rpc-engine>@metamask/safe-event-emitter": true + "json-rpc-engine>@metamask/safe-event-emitter": true, + "json-rpc-engine>eth-rpc-errors": true } }, "json-rpc-engine>@metamask/safe-event-emitter": { @@ -346,6 +347,11 @@ "browserify>events": true } }, + "json-rpc-engine>eth-rpc-errors": { + "packages": { + "@metamask/rpc-errors>fast-safe-stringify": true + } + }, "superstruct": { "globals": { "console.warn": true, diff --git a/packages/snaps-execution-environments/lavamoat/browserify/node-process/policy.json b/packages/snaps-execution-environments/lavamoat/browserify/node-process/policy.json index ede0cc1da2..b75b26b47d 100644 --- a/packages/snaps-execution-environments/lavamoat/browserify/node-process/policy.json +++ b/packages/snaps-execution-environments/lavamoat/browserify/node-process/policy.json @@ -148,8 +148,8 @@ "@metamask/providers>json-rpc-middleware-stream": true, "@metamask/providers>pump": true, "eslint>fast-deep-equal": true, - "eth-rpc-errors": true, - "json-rpc-engine": true + "json-rpc-engine": true, + "json-rpc-engine>eth-rpc-errors": true } }, "@metamask/providers>@metamask/safe-event-emitter": { @@ -186,8 +186,8 @@ "setTimeout": true }, "packages": { - "@metamask/providers>json-rpc-middleware-stream>readable-stream": true, - "json-rpc-engine>@metamask/safe-event-emitter": true + "@metamask/providers>@metamask/safe-event-emitter": true, + "@metamask/providers>json-rpc-middleware-stream>readable-stream": true } }, "@metamask/providers>json-rpc-middleware-stream>readable-stream": { @@ -244,6 +244,12 @@ "fs": true } }, + "@metamask/rpc-errors": { + "packages": { + "@metamask/rpc-errors>fast-safe-stringify": true, + "@metamask/utils": true + } + }, "@metamask/utils": { "builtin": { "buffer.Buffer": true @@ -347,11 +353,6 @@ "util": true } }, - "eth-rpc-errors": { - "packages": { - "eth-rpc-errors>fast-safe-stringify": true - } - }, "express>safe-buffer": { "builtin": { "buffer": true @@ -405,8 +406,8 @@ }, "json-rpc-engine": { "packages": { - "eth-rpc-errors": true, - "json-rpc-engine>@metamask/safe-event-emitter": true + "json-rpc-engine>@metamask/safe-event-emitter": true, + "json-rpc-engine>eth-rpc-errors": true } }, "json-rpc-engine>@metamask/safe-event-emitter": { @@ -420,6 +421,11 @@ "events": true } }, + "json-rpc-engine>eth-rpc-errors": { + "packages": { + "@metamask/rpc-errors>fast-safe-stringify": true + } + }, "superstruct": { "globals": { "console.warn": true, diff --git a/packages/snaps-execution-environments/lavamoat/browserify/node-thread/policy.json b/packages/snaps-execution-environments/lavamoat/browserify/node-thread/policy.json index ede0cc1da2..b75b26b47d 100644 --- a/packages/snaps-execution-environments/lavamoat/browserify/node-thread/policy.json +++ b/packages/snaps-execution-environments/lavamoat/browserify/node-thread/policy.json @@ -148,8 +148,8 @@ "@metamask/providers>json-rpc-middleware-stream": true, "@metamask/providers>pump": true, "eslint>fast-deep-equal": true, - "eth-rpc-errors": true, - "json-rpc-engine": true + "json-rpc-engine": true, + "json-rpc-engine>eth-rpc-errors": true } }, "@metamask/providers>@metamask/safe-event-emitter": { @@ -186,8 +186,8 @@ "setTimeout": true }, "packages": { - "@metamask/providers>json-rpc-middleware-stream>readable-stream": true, - "json-rpc-engine>@metamask/safe-event-emitter": true + "@metamask/providers>@metamask/safe-event-emitter": true, + "@metamask/providers>json-rpc-middleware-stream>readable-stream": true } }, "@metamask/providers>json-rpc-middleware-stream>readable-stream": { @@ -244,6 +244,12 @@ "fs": true } }, + "@metamask/rpc-errors": { + "packages": { + "@metamask/rpc-errors>fast-safe-stringify": true, + "@metamask/utils": true + } + }, "@metamask/utils": { "builtin": { "buffer.Buffer": true @@ -347,11 +353,6 @@ "util": true } }, - "eth-rpc-errors": { - "packages": { - "eth-rpc-errors>fast-safe-stringify": true - } - }, "express>safe-buffer": { "builtin": { "buffer": true @@ -405,8 +406,8 @@ }, "json-rpc-engine": { "packages": { - "eth-rpc-errors": true, - "json-rpc-engine>@metamask/safe-event-emitter": true + "json-rpc-engine>@metamask/safe-event-emitter": true, + "json-rpc-engine>eth-rpc-errors": true } }, "json-rpc-engine>@metamask/safe-event-emitter": { @@ -420,6 +421,11 @@ "events": true } }, + "json-rpc-engine>eth-rpc-errors": { + "packages": { + "@metamask/rpc-errors>fast-safe-stringify": true + } + }, "superstruct": { "globals": { "console.warn": true, diff --git a/packages/snaps-execution-environments/lavamoat/browserify/worker-executor/policy.json b/packages/snaps-execution-environments/lavamoat/browserify/worker-executor/policy.json index f59b2580fa..72b048404e 100644 --- a/packages/snaps-execution-environments/lavamoat/browserify/worker-executor/policy.json +++ b/packages/snaps-execution-environments/lavamoat/browserify/worker-executor/policy.json @@ -108,8 +108,8 @@ "@metamask/providers>json-rpc-middleware-stream": true, "@metamask/providers>pump": true, "eslint>fast-deep-equal": true, - "eth-rpc-errors": true, - "json-rpc-engine": true + "json-rpc-engine": true, + "json-rpc-engine>eth-rpc-errors": true } }, "@metamask/providers>@metamask/safe-event-emitter": { @@ -141,8 +141,8 @@ "setTimeout": true }, "packages": { - "@metamask/providers>json-rpc-middleware-stream>readable-stream": true, - "json-rpc-engine>@metamask/safe-event-emitter": true + "@metamask/providers>@metamask/safe-event-emitter": true, + "@metamask/providers>json-rpc-middleware-stream>readable-stream": true } }, "@metamask/providers>json-rpc-middleware-stream>readable-stream": { @@ -178,6 +178,12 @@ "browserify>process": true } }, + "@metamask/rpc-errors": { + "packages": { + "@metamask/rpc-errors>fast-safe-stringify": true, + "@metamask/utils": true + } + }, "@metamask/utils": { "globals": { "TextDecoder": true, @@ -284,11 +290,6 @@ "eslint>debug>ms": true } }, - "eth-rpc-errors": { - "packages": { - "eth-rpc-errors>fast-safe-stringify": true - } - }, "express>safe-buffer": { "packages": { "browserify>buffer": true @@ -334,8 +335,8 @@ }, "json-rpc-engine": { "packages": { - "eth-rpc-errors": true, - "json-rpc-engine>@metamask/safe-event-emitter": true + "json-rpc-engine>@metamask/safe-event-emitter": true, + "json-rpc-engine>eth-rpc-errors": true } }, "json-rpc-engine>@metamask/safe-event-emitter": { @@ -346,6 +347,11 @@ "browserify>events": true } }, + "json-rpc-engine>eth-rpc-errors": { + "packages": { + "@metamask/rpc-errors>fast-safe-stringify": true + } + }, "superstruct": { "globals": { "console.warn": true, diff --git a/packages/snaps-execution-environments/lavamoat/build-system/policy.json b/packages/snaps-execution-environments/lavamoat/build-system/policy.json index 93a7525961..f71e242216 100644 --- a/packages/snaps-execution-environments/lavamoat/build-system/policy.json +++ b/packages/snaps-execution-environments/lavamoat/build-system/policy.json @@ -1696,7 +1696,7 @@ "Buffer.isBuffer": true }, "packages": { - "eth-rpc-errors>fast-safe-stringify": true + "@metamask/rpc-errors>fast-safe-stringify": true } }, "browserify>string_decoder": { diff --git a/packages/snaps-execution-environments/package.json b/packages/snaps-execution-environments/package.json index 26bcf8443f..ad09f30660 100644 --- a/packages/snaps-execution-environments/package.json +++ b/packages/snaps-execution-environments/package.json @@ -45,14 +45,14 @@ "lint:dependencies": "depcheck" }, "dependencies": { + "@metamask/json-rpc-engine": "^7.1.1", "@metamask/object-multiplex": "^1.2.0", "@metamask/post-message-stream": "^7.0.0", - "@metamask/providers": "^11.1.1", + "@metamask/providers": "^13.0.0", + "@metamask/rpc-errors": "^6.0.0", "@metamask/rpc-methods": "workspace:^", "@metamask/snaps-utils": "workspace:^", "@metamask/utils": "^8.1.0", - "eth-rpc-errors": "^4.0.3", - "json-rpc-engine": "^6.1.0", "nanoid": "^3.1.31", "superstruct": "^1.0.3" }, diff --git a/packages/snaps-execution-environments/src/common/BaseSnapExecutor.ts b/packages/snaps-execution-environments/src/common/BaseSnapExecutor.ts index 48693ae7a9..9b0125db2a 100644 --- a/packages/snaps-execution-environments/src/common/BaseSnapExecutor.ts +++ b/packages/snaps-execution-environments/src/common/BaseSnapExecutor.ts @@ -2,6 +2,7 @@ /// import { StreamProvider } from '@metamask/providers'; import type { RequestArguments } from '@metamask/providers/dist/BaseProvider'; +import { errorCodes, rpcErrors, serializeError } from '@metamask/rpc-errors'; import type { SnapsGlobalObject } from '@metamask/rpc-methods'; import type { SnapExports, @@ -27,8 +28,7 @@ import { hasProperty, getSafeJson, } from '@metamask/utils'; -import { errorCodes, ethErrors, serializeError } from 'eth-rpc-errors'; -import { createIdRemapMiddleware } from 'json-rpc-engine'; +import { createIdRemapMiddleware }from '@metamask/json-rpc-engine'; import type { Duplex } from 'stream'; import { validate } from 'superstruct'; @@ -210,7 +210,7 @@ export class BaseSnapExecutor { if (!hasProperty(EXECUTION_ENVIRONMENT_METHODS, method)) { this.respond(id, { - error: ethErrors.rpc + error: rpcErrors .methodNotFound({ data: { method, @@ -229,7 +229,7 @@ export class BaseSnapExecutor { const [error] = validate(paramsAsArray, methodObject.struct); if (error) { this.respond(id, { - error: ethErrors.rpc + error: rpcErrors .invalidParams({ message: `Invalid parameters for method "${method}": ${error.message}.`, data: { @@ -502,7 +502,7 @@ export class BaseSnapExecutor { (stop = () => reject( // TODO(rekmarks): Specify / standardize error code for this case. - ethErrors.rpc.internal( + rpcErrors.internal( `The snap "${snapId}" has been terminated during execution.`, ), )), diff --git a/packages/snaps-execution-environments/src/common/test-utils/endowments.ts b/packages/snaps-execution-environments/src/common/test-utils/endowments.ts index 7e4db25ec7..b11cd2fa2f 100644 --- a/packages/snaps-execution-environments/src/common/test-utils/endowments.ts +++ b/packages/snaps-execution-environments/src/common/test-utils/endowments.ts @@ -4,7 +4,7 @@ import ObjectMultiplex from '@metamask/object-multiplex'; import { StreamProvider } from '@metamask/providers'; import type { RequestArguments } from '@metamask/providers/dist/BaseProvider'; import { SNAP_STREAM_NAMES } from '@metamask/snaps-utils'; -import { createIdRemapMiddleware } from 'json-rpc-engine'; +import { createIdRemapMiddleware }from '@metamask/json-rpc-engine'; import { assertEthereumOutboundRequest, diff --git a/packages/snaps-execution-environments/src/common/utils.ts b/packages/snaps-execution-environments/src/common/utils.ts index 12281353d2..9397f63750 100644 --- a/packages/snaps-execution-environments/src/common/utils.ts +++ b/packages/snaps-execution-environments/src/common/utils.ts @@ -1,7 +1,7 @@ import type { StreamProvider } from '@metamask/providers'; import type { RequestArguments } from '@metamask/providers/dist/BaseProvider'; +import { rpcErrors } from '@metamask/rpc-errors'; import { assert, assertStruct, JsonStruct } from '@metamask/utils'; -import { ethErrors } from 'eth-rpc-errors'; import { log } from '../logging'; @@ -136,7 +136,7 @@ export function assertSnapOutboundRequest(args: RequestArguments) { ); assert( !BLOCKED_RPC_METHODS.includes(args.method), - ethErrors.rpc.methodNotFound({ + rpcErrors.methodNotFound({ data: { method: args.method, }, @@ -154,7 +154,7 @@ export function assertEthereumOutboundRequest(args: RequestArguments) { // Disallow snaps methods for separation of concerns. assert( !String.prototype.startsWith.call(args.method, 'snap_'), - ethErrors.rpc.methodNotFound({ + rpcErrors.methodNotFound({ data: { method: args.method, }, @@ -162,7 +162,7 @@ export function assertEthereumOutboundRequest(args: RequestArguments) { ); assert( !BLOCKED_RPC_METHODS.includes(args.method), - ethErrors.rpc.methodNotFound({ + rpcErrors.methodNotFound({ data: { method: args.method, }, diff --git a/packages/snaps-simulator/package.json b/packages/snaps-simulator/package.json index 6d43e86ef2..96edd3d423 100644 --- a/packages/snaps-simulator/package.json +++ b/packages/snaps-simulator/package.json @@ -54,10 +54,11 @@ "@ethersproject/units": "^5.7.0", "@metamask/base-controller": "^3.2.0", "@metamask/browser-passworder": "^4.1.0", - "@metamask/eth-json-rpc-middleware": "^11.0.2", + "@metamask/eth-json-rpc-middleware": "^12.0.0", + "@metamask/json-rpc-engine": "^7.1.1", "@metamask/key-tree": "^9.0.0", "@metamask/permission-controller": "^4.1.0", - "@metamask/rpc-errors": "^5.1.1", + "@metamask/rpc-errors": "^6.0.0", "@metamask/rpc-methods": "workspace:^", "@metamask/snaps-controllers": "workspace:^", "@metamask/snaps-execution-environments": "workspace:^", @@ -69,7 +70,6 @@ "date-fns": "^2.30.0", "fast-deep-equal": "^3.1.3", "framer-motion": "^10.12.8", - "json-rpc-engine": "^6.1.0", "json-rpc-middleware-stream": "^4.2.0", "monaco-editor": "^0.38.0", "react": "^18.2.0", diff --git a/packages/snaps-simulator/src/features/simulation/middleware.test.ts b/packages/snaps-simulator/src/features/simulation/middleware.test.ts index 3e3e1078ab..e0aab76d81 100644 --- a/packages/snaps-simulator/src/features/simulation/middleware.test.ts +++ b/packages/snaps-simulator/src/features/simulation/middleware.test.ts @@ -1,5 +1,5 @@ import { mnemonicPhraseToBytes } from '@metamask/key-tree'; -import { JsonRpcEngine } from 'json-rpc-engine'; +import { JsonRpcEngine }from '@metamask/json-rpc-engine'; import { DEFAULT_SRP } from '../configuration'; import { createMiscMethodMiddleware } from './middleware'; diff --git a/packages/snaps-simulator/src/features/simulation/middleware.ts b/packages/snaps-simulator/src/features/simulation/middleware.ts index 0b6ff69efa..b9cf9b2d9c 100644 --- a/packages/snaps-simulator/src/features/simulation/middleware.ts +++ b/packages/snaps-simulator/src/features/simulation/middleware.ts @@ -6,7 +6,7 @@ import type { JsonRpcMiddleware, JsonRpcRequest, PendingJsonRpcResponse, -} from 'json-rpc-engine'; +}from '@metamask/json-rpc-engine'; /* eslint-disable @typescript-eslint/naming-convention */ export const methodHandlers = { diff --git a/packages/snaps-simulator/src/features/simulation/sagas.ts b/packages/snaps-simulator/src/features/simulation/sagas.ts index 14771ab65a..a3ad44c8e4 100644 --- a/packages/snaps-simulator/src/features/simulation/sagas.ts +++ b/packages/snaps-simulator/src/features/simulation/sagas.ts @@ -27,7 +27,7 @@ import type { import { logError } from '@metamask/snaps-utils'; import { getSafeJson } from '@metamask/utils'; import type { PayloadAction } from '@reduxjs/toolkit'; -import { JsonRpcEngine } from 'json-rpc-engine'; +import { JsonRpcEngine }from '@metamask/json-rpc-engine'; import { createEngineStream } from 'json-rpc-middleware-stream'; import type { SagaIterator } from 'redux-saga'; import { all, call, put, select, takeLatest } from 'redux-saga/effects'; diff --git a/packages/snaps-types/package.json b/packages/snaps-types/package.json index c8e06d109c..aa958ba762 100644 --- a/packages/snaps-types/package.json +++ b/packages/snaps-types/package.json @@ -36,7 +36,7 @@ "lint:dependencies": "depcheck" }, "dependencies": { - "@metamask/providers": "^11.1.1", + "@metamask/providers": "^13.0.0", "@metamask/rpc-methods": "workspace:^", "@metamask/snaps-utils": "workspace:^", "@metamask/utils": "^8.1.0" diff --git a/packages/snaps-utils/package.json b/packages/snaps-utils/package.json index c7c9074498..5f1fdd2038 100644 --- a/packages/snaps-utils/package.json +++ b/packages/snaps-utils/package.json @@ -71,6 +71,7 @@ "@metamask/base-controller": "^3.2.0", "@metamask/key-tree": "^9.0.0", "@metamask/permission-controller": "^4.1.0", + "@metamask/rpc-errors": "^6.0.0", "@metamask/snaps-registry": "^2.0.0", "@metamask/snaps-ui": "workspace:^", "@metamask/utils": "^8.1.0", @@ -78,7 +79,6 @@ "@scure/base": "^1.1.1", "chalk": "^4.1.2", "cron-parser": "^4.5.0", - "eth-rpc-errors": "^4.0.3", "fast-deep-equal": "^3.1.3", "fast-json-stable-stringify": "^2.1.0", "is-svg": "^4.4.0", diff --git a/packages/snaps-utils/src/errors.test.ts b/packages/snaps-utils/src/errors.test.ts index 11954f7581..930821bca9 100644 --- a/packages/snaps-utils/src/errors.test.ts +++ b/packages/snaps-utils/src/errors.test.ts @@ -1,4 +1,4 @@ -import { ethErrors } from 'eth-rpc-errors'; +import { rpcErrors } from '@metamask/rpc-errors'; import { getErrorMessage } from './errors'; @@ -6,7 +6,7 @@ describe('getErrorMessage', () => { it('returns the error message if the error is an object with a message property', () => { expect(getErrorMessage(new Error('foo'))).toBe('foo'); expect(getErrorMessage({ message: 'foo' })).toBe('foo'); - expect(getErrorMessage(ethErrors.rpc.invalidParams('foo'))).toBe('foo'); + expect(getErrorMessage(rpcErrors.invalidParams('foo'))).toBe('foo'); }); it('returns the error converted to a string if the error does not have a message property', () => { diff --git a/packages/snaps-utils/src/snaps.ts b/packages/snaps-utils/src/snaps.ts index 85dad73683..8d39602d45 100644 --- a/packages/snaps-utils/src/snaps.ts +++ b/packages/snaps-utils/src/snaps.ts @@ -4,10 +4,14 @@ import type { PermissionConstraint, } from '@metamask/permission-controller'; import type { BlockReason } from '@metamask/snaps-registry'; -import type { Json, SemVerVersion, Opaque } from '@metamask/utils'; +import type { + Json, + JsonRpcError, + Opaque, + SemVerVersion, +} from '@metamask/utils'; import { assert, isObject, assertStruct } from '@metamask/utils'; import { base64 } from '@scure/base'; -import type { SerializedEthereumRpcError } from 'eth-rpc-errors/dist/classes'; import stableStringify from 'fast-json-stable-stringify'; import type { Struct } from 'superstruct'; import { @@ -153,9 +157,7 @@ export type TruncatedSnapFields = */ export type TruncatedSnap = Pick; -export type ProcessSnapResult = - | TruncatedSnap - | { error: SerializedEthereumRpcError }; +export type ProcessSnapResult = TruncatedSnap | { error: JsonRpcError }; export type InstallSnapsResult = Record; diff --git a/packages/test-snaps/package.json b/packages/test-snaps/package.json index 1bb9928fd5..076500ca64 100644 --- a/packages/test-snaps/package.json +++ b/packages/test-snaps/package.json @@ -63,7 +63,7 @@ "@metamask/eslint-config-jest": "^12.1.0", "@metamask/eslint-config-nodejs": "^12.1.0", "@metamask/eslint-config-typescript": "^12.1.0", - "@metamask/providers": "^11.1.1", + "@metamask/providers": "^13.0.0", "@pmmmwh/react-refresh-webpack-plugin": "^0.5.10", "@swc/core": "1.3.78", "@swc/jest": "^0.2.26", diff --git a/yarn.lock b/yarn.lock index 24e538c257..9212be9220 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3717,7 +3717,7 @@ __metadata: "@metamask/eslint-config-nodejs": ^12.1.0 "@metamask/eslint-config-typescript": ^12.1.0 "@metamask/key-tree": ^9.0.0 - "@metamask/rpc-errors": ^5.1.1 + "@metamask/rpc-errors": ^6.0.0 "@metamask/snaps-cli": "workspace:^" "@metamask/snaps-jest": "workspace:^" "@metamask/snaps-types": "workspace:^" @@ -3759,7 +3759,7 @@ __metadata: "@metamask/eslint-config-nodejs": ^12.1.0 "@metamask/eslint-config-typescript": ^12.1.0 "@metamask/key-tree": ^9.0.0 - "@metamask/rpc-errors": ^5.1.1 + "@metamask/rpc-errors": ^6.0.0 "@metamask/snaps-cli": "workspace:^" "@metamask/snaps-jest": "workspace:^" "@metamask/snaps-types": "workspace:^" @@ -3807,7 +3807,7 @@ __metadata: "@metamask/eslint-config-jest": ^12.1.0 "@metamask/eslint-config-nodejs": ^12.1.0 "@metamask/eslint-config-typescript": ^12.1.0 - "@metamask/rpc-errors": ^5.1.1 + "@metamask/rpc-errors": ^6.0.0 "@metamask/snaps-cli": "workspace:^" "@metamask/snaps-jest": "workspace:^" "@metamask/snaps-types": "workspace:^" @@ -3845,7 +3845,7 @@ __metadata: "@metamask/eslint-config-jest": ^12.1.0 "@metamask/eslint-config-nodejs": ^12.1.0 "@metamask/eslint-config-typescript": ^12.1.0 - "@metamask/rpc-errors": ^5.1.1 + "@metamask/rpc-errors": ^6.0.0 "@metamask/snaps-browserify-plugin": "workspace:^" "@metamask/snaps-jest": "workspace:^" "@metamask/snaps-types": "workspace:^" @@ -3885,7 +3885,7 @@ __metadata: "@metamask/eslint-config-nodejs": ^12.1.0 "@metamask/eslint-config-typescript": ^12.1.0 "@metamask/key-tree": ^9.0.0 - "@metamask/rpc-errors": ^5.1.1 + "@metamask/rpc-errors": ^6.0.0 "@metamask/snaps-cli": "workspace:^" "@metamask/snaps-jest": "workspace:^" "@metamask/snaps-types": "workspace:^" @@ -3941,7 +3941,7 @@ __metadata: "@metamask/eslint-config-nodejs": ^12.1.0 "@metamask/eslint-config-typescript": ^12.1.0 "@metamask/key-tree": ^9.0.0 - "@metamask/rpc-errors": ^5.1.1 + "@metamask/rpc-errors": ^6.0.0 "@metamask/snaps-cli": "workspace:^" "@metamask/snaps-jest": "workspace:^" "@metamask/snaps-types": "workspace:^" @@ -4048,7 +4048,7 @@ __metadata: "@metamask/eslint-config-jest": ^12.1.0 "@metamask/eslint-config-nodejs": ^12.1.0 "@metamask/eslint-config-typescript": ^12.1.0 - "@metamask/rpc-errors": ^5.1.1 + "@metamask/rpc-errors": ^6.0.0 "@metamask/snaps-cli": "workspace:^" "@metamask/snaps-jest": "workspace:^" "@metamask/snaps-types": "workspace:^" @@ -4087,7 +4087,7 @@ __metadata: "@metamask/eslint-config-jest": ^12.1.0 "@metamask/eslint-config-nodejs": ^12.1.0 "@metamask/eslint-config-typescript": ^12.1.0 - "@metamask/rpc-errors": ^5.1.1 + "@metamask/rpc-errors": ^6.0.0 "@metamask/snaps-cli": "workspace:^" "@metamask/snaps-jest": "workspace:^" "@metamask/snaps-types": "workspace:^" @@ -4211,30 +4211,31 @@ __metadata: languageName: node linkType: hard -"@metamask/eth-json-rpc-middleware@npm:^11.0.2": - version: 11.0.2 - resolution: "@metamask/eth-json-rpc-middleware@npm:11.0.2" +"@metamask/eth-json-rpc-middleware@npm:^12.0.0": + version: 12.0.0 + resolution: "@metamask/eth-json-rpc-middleware@npm:12.0.0" dependencies: - "@metamask/eth-json-rpc-provider": ^1.0.0 + "@metamask/eth-json-rpc-provider": ^2.1.0 "@metamask/eth-sig-util": ^6.0.0 - "@metamask/utils": ^5.0.1 + "@metamask/json-rpc-engine": ^7.1.1 + "@metamask/rpc-errors": ^6.0.0 + "@metamask/utils": ^8.1.0 clone: ^2.1.1 - eth-block-tracker: ^7.0.1 - eth-rpc-errors: ^4.0.3 - json-rpc-engine: ^6.1.0 + eth-block-tracker: ^8.0.0 pify: ^3.0.0 safe-stable-stringify: ^2.3.2 - checksum: e548012b65d33111618e4a30a21b82f22d473e6f9d1ed98f5a8b7db61ffad956f2a09a0196f60bd0ac800f4ed1b19ddb16f680915112a6649fcc2084412ecd0f + checksum: 6f67061008d6f9675e1d82682f27f9c2eaa20a425f15674a01659765f3f69d3ff3b337b490907b1d87cf2cb6ccc561f30e6a64c35329d4d134e953d0b4d1a062 languageName: node linkType: hard -"@metamask/eth-json-rpc-provider@npm:^1.0.0": - version: 1.0.0 - resolution: "@metamask/eth-json-rpc-provider@npm:1.0.0" +"@metamask/eth-json-rpc-provider@npm:^2.1.0": + version: 2.1.0 + resolution: "@metamask/eth-json-rpc-provider@npm:2.1.0" dependencies: - "@metamask/safe-event-emitter": ^2.0.0 - json-rpc-engine: ^6.1.0 - checksum: 27865d84d90030db1a9e5a66bc0b0ae079706fb7be635ec1e9bd4f64771e819aae78f0a026c6629d3a1a2eb277fcd51977315c049c47a70df1dd95d1d4106982 + "@metamask/json-rpc-engine": ^7.1.0 + "@metamask/safe-event-emitter": ^3.0.0 + "@metamask/utils": ^8.1.0 + checksum: 986a0683bc478341050cf3e94473b6f593de172592b16534f55db20f90f13045d7ff119c09d05a019186a9ec0552ca7b54de13853333a2a80ed72c75449c0548 languageName: node linkType: hard @@ -4274,7 +4275,7 @@ __metadata: "@metamask/eslint-config-jest": ^12.1.0 "@metamask/eslint-config-nodejs": ^12.1.0 "@metamask/eslint-config-typescript": ^12.1.0 - "@metamask/rpc-errors": ^5.1.1 + "@metamask/rpc-errors": ^6.0.0 "@metamask/snaps-cli": "workspace:^" "@metamask/snaps-jest": "workspace:^" "@metamask/snaps-types": "workspace:^" @@ -4312,7 +4313,7 @@ __metadata: "@metamask/eslint-config-jest": ^12.1.0 "@metamask/eslint-config-nodejs": ^12.1.0 "@metamask/eslint-config-typescript": ^12.1.0 - "@metamask/rpc-errors": ^5.1.1 + "@metamask/rpc-errors": ^6.0.0 "@metamask/snaps-cli": "workspace:^" "@metamask/snaps-jest": "workspace:^" "@metamask/snaps-types": "workspace:^" @@ -4381,7 +4382,7 @@ __metadata: "@metamask/eslint-config-jest": ^12.1.0 "@metamask/eslint-config-nodejs": ^12.1.0 "@metamask/eslint-config-typescript": ^12.1.0 - "@metamask/rpc-errors": ^5.1.1 + "@metamask/rpc-errors": ^6.0.0 "@metamask/snaps-cli": "workspace:^" "@metamask/snaps-jest": "workspace:^" "@metamask/snaps-types": "workspace:^" @@ -4421,7 +4422,7 @@ __metadata: "@metamask/eslint-config-jest": ^12.1.0 "@metamask/eslint-config-nodejs": ^12.1.0 "@metamask/eslint-config-typescript": ^12.1.0 - "@metamask/rpc-errors": ^5.1.1 + "@metamask/rpc-errors": ^6.0.0 "@metamask/snaps-cli": "workspace:^" "@metamask/snaps-jest": "workspace:^" "@metamask/snaps-types": "workspace:^" @@ -4515,6 +4516,17 @@ __metadata: languageName: unknown linkType: soft +"@metamask/json-rpc-engine@npm:^7.1.0, @metamask/json-rpc-engine@npm:^7.1.1": + version: 7.1.1 + resolution: "@metamask/json-rpc-engine@npm:7.1.1" + dependencies: + "@metamask/rpc-errors": ^6.0.0 + "@metamask/safe-event-emitter": ^3.0.0 + "@metamask/utils": ^8.1.0 + checksum: 9dddd9142965ccd86313cda5bf13f15bf99c6c14631f93aab78de353317d548a334b5b125cdc134edd7d54e2f2e4961a0bdcd24fba997b2913083955df8fefa1 + languageName: node + linkType: hard + "@metamask/json-rpc-example-snap@workspace:^, @metamask/json-rpc-example-snap@workspace:packages/examples/packages/json-rpc": version: 0.0.0-use.local resolution: "@metamask/json-rpc-example-snap@workspace:packages/examples/packages/json-rpc" @@ -4526,7 +4538,7 @@ __metadata: "@metamask/eslint-config-jest": ^12.1.0 "@metamask/eslint-config-nodejs": ^12.1.0 "@metamask/eslint-config-typescript": ^12.1.0 - "@metamask/rpc-errors": ^5.1.1 + "@metamask/rpc-errors": ^6.0.0 "@metamask/snaps-cli": "workspace:^" "@metamask/snaps-jest": "workspace:^" "@metamask/snaps-types": "workspace:^" @@ -4614,7 +4626,7 @@ __metadata: "@metamask/eslint-config-jest": ^12.1.0 "@metamask/eslint-config-nodejs": ^12.1.0 "@metamask/eslint-config-typescript": ^12.1.0 - "@metamask/rpc-errors": ^5.1.1 + "@metamask/rpc-errors": ^6.0.0 "@metamask/snaps-cli": "workspace:^" "@metamask/snaps-jest": "workspace:^" "@metamask/snaps-types": "workspace:^" @@ -4651,7 +4663,7 @@ __metadata: "@metamask/eslint-config-jest": ^12.1.0 "@metamask/eslint-config-nodejs": ^12.1.0 "@metamask/eslint-config-typescript": ^12.1.0 - "@metamask/rpc-errors": ^5.1.1 + "@metamask/rpc-errors": ^6.0.0 "@metamask/snaps-cli": "workspace:^" "@metamask/snaps-jest": "workspace:^" "@metamask/snaps-types": "workspace:^" @@ -4689,7 +4701,7 @@ __metadata: "@metamask/eslint-config-jest": ^12.1.0 "@metamask/eslint-config-nodejs": ^12.1.0 "@metamask/eslint-config-typescript": ^12.1.0 - "@metamask/rpc-errors": ^5.1.1 + "@metamask/rpc-errors": ^6.0.0 "@metamask/snaps-cli": "workspace:^" "@metamask/snaps-jest": "workspace:^" "@metamask/snaps-types": "workspace:^" @@ -4756,22 +4768,22 @@ __metadata: languageName: node linkType: hard -"@metamask/providers@npm:^11.1.1": - version: 11.1.1 - resolution: "@metamask/providers@npm:11.1.1" +"@metamask/providers@npm:^13.0.0": + version: 13.0.0 + resolution: "@metamask/providers@npm:13.0.0" dependencies: + "@metamask/json-rpc-engine": ^7.1.1 "@metamask/object-multiplex": ^1.1.0 + "@metamask/rpc-errors": ^6.0.0 "@metamask/safe-event-emitter": ^3.0.0 + "@metamask/utils": ^8.1.0 detect-browser: ^5.2.0 - eth-rpc-errors: ^4.0.2 - extension-port-stream: ^2.0.1 + extension-port-stream: ^2.1.1 fast-deep-equal: ^3.1.3 is-stream: ^2.0.0 - json-rpc-engine: ^6.1.0 json-rpc-middleware-stream: ^4.2.1 - pump: ^3.0.0 webextension-polyfill: ^0.10.0 - checksum: ca0339e5219ef43bccdf1debbf610f5f06c95d879c7bba124463c4c6e6dd34fae30c0cdf673985d85d9326a87e94a6ee7ad5d29ef154dca85a0c672fdab152d1 + checksum: b41748cf179794bf7a68d3028e84234e876498611221ba40846ed0859b4470a806c4cf99ff9fcdc60fde1af2f0d999281e6edbdd42113223d8f7018a009ff0ab languageName: node linkType: hard @@ -4789,7 +4801,7 @@ __metadata: "@metamask/eslint-config-jest": ^12.1.0 "@metamask/eslint-config-nodejs": ^12.1.0 "@metamask/eslint-config-typescript": ^12.1.0 - "@metamask/rpc-errors": ^5.1.1 + "@metamask/rpc-errors": ^6.0.0 "@metamask/snaps-jest": "workspace:^" "@metamask/snaps-rollup-plugin": "workspace:^" "@metamask/snaps-types": "workspace:^" @@ -4820,13 +4832,13 @@ __metadata: languageName: unknown linkType: soft -"@metamask/rpc-errors@npm:^5.1.1": - version: 5.1.1 - resolution: "@metamask/rpc-errors@npm:5.1.1" +"@metamask/rpc-errors@npm:^6.0.0": + version: 6.0.0 + resolution: "@metamask/rpc-errors@npm:6.0.0" dependencies: - "@metamask/utils": ^5.0.0 + "@metamask/utils": ^8.0.0 fast-safe-stringify: ^2.0.6 - checksum: ccd1b24da66af3ae63960b79c04b86efb8b96acb89ca6f7e0bbfe636d23ba5cddeba533c0692eafb87c44ec6f840085372d0f21b39e05df9a80700ff61538a30 + checksum: 7e1ee1a98972266af4a34f0bbc842cdc11dc565056f0b8fbc93aa95663a7027eab8ff1fecbe3e09c38a1dc199f8219a6c69b2237015b2fdb8de0e5b35027c3f8 languageName: node linkType: hard @@ -4841,8 +4853,10 @@ __metadata: "@metamask/eslint-config-jest": ^12.1.0 "@metamask/eslint-config-nodejs": ^12.1.0 "@metamask/eslint-config-typescript": ^12.1.0 + "@metamask/json-rpc-engine": ^7.1.1 "@metamask/key-tree": ^9.0.0 "@metamask/permission-controller": ^4.1.0 + "@metamask/rpc-errors": ^6.0.0 "@metamask/snaps-ui": "workspace:^" "@metamask/snaps-utils": "workspace:^" "@metamask/types": ^1.1.0 @@ -4864,11 +4878,9 @@ __metadata: eslint-plugin-n: ^15.7.0 eslint-plugin-prettier: ^4.2.1 eslint-plugin-promise: ^6.1.1 - eth-rpc-errors: ^4.0.3 expect-type: ^0.15.0 jest: ^29.0.2 jest-it-up: ^2.0.0 - json-rpc-engine: ^6.1.0 prettier: ^2.7.1 prettier-plugin-packagejson: ^2.2.11 rimraf: ^4.1.2 @@ -5050,9 +5062,11 @@ __metadata: "@metamask/eslint-config-jest": ^12.1.0 "@metamask/eslint-config-nodejs": ^12.1.0 "@metamask/eslint-config-typescript": ^12.1.0 + "@metamask/json-rpc-engine": ^7.1.1 "@metamask/object-multiplex": ^1.2.0 "@metamask/permission-controller": ^4.1.0 "@metamask/post-message-stream": ^7.0.0 + "@metamask/rpc-errors": ^6.0.0 "@metamask/rpc-methods": "workspace:^" "@metamask/snaps-execution-environments": "workspace:^" "@metamask/snaps-registry": ^2.0.0 @@ -5091,7 +5105,6 @@ __metadata: eslint-plugin-n: ^15.7.0 eslint-plugin-prettier: ^4.2.1 eslint-plugin-promise: ^6.1.1 - eth-rpc-errors: ^4.0.3 expect-webdriverio: ^4.1.2 gunzip-maybe: ^1.4.2 immer: ^9.0.6 @@ -5100,8 +5113,7 @@ __metadata: istanbul-reports: ^3.1.5 jest: ^29.0.2 jest-fetch-mock: ^3.0.3 - json-rpc-engine: ^6.1.0 - json-rpc-middleware-stream: ^4.2.0 + json-rpc-middleware-stream: ^5.0.0 mkdirp: ^1.0.4 nanoid: ^3.1.31 prettier: ^2.7.1 @@ -5136,9 +5148,11 @@ __metadata: "@metamask/eslint-config-jest": ^12.1.0 "@metamask/eslint-config-nodejs": ^12.1.0 "@metamask/eslint-config-typescript": ^12.1.0 + "@metamask/json-rpc-engine": ^7.1.1 "@metamask/object-multiplex": ^1.2.0 "@metamask/post-message-stream": ^7.0.0 - "@metamask/providers": ^11.1.1 + "@metamask/providers": ^13.0.0 + "@metamask/rpc-errors": ^6.0.0 "@metamask/rpc-methods": "workspace:^" "@metamask/snaps-utils": "workspace:^" "@metamask/utils": ^8.1.0 @@ -5170,7 +5184,6 @@ __metadata: eslint-plugin-n: ^15.7.0 eslint-plugin-prettier: ^4.2.1 eslint-plugin-promise: ^6.1.1 - eth-rpc-errors: ^4.0.3 expect-webdriverio: ^4.1.2 express: ^4.18.2 istanbul-lib-coverage: ^3.2.0 @@ -5179,7 +5192,6 @@ __metadata: jest: ^29.0.2 jest-environment-node: ^29.5.0 jest-fetch-mock: ^3.0.3 - json-rpc-engine: ^6.1.0 lavamoat: ^7.0.0 lavamoat-browserify: ^15.7.1 nanoid: ^3.1.31 @@ -5320,10 +5332,11 @@ __metadata: "@metamask/eslint-config-jest": ^12.1.0 "@metamask/eslint-config-nodejs": ^12.1.0 "@metamask/eslint-config-typescript": ^12.1.0 - "@metamask/eth-json-rpc-middleware": ^11.0.2 + "@metamask/eth-json-rpc-middleware": ^12.0.0 + "@metamask/json-rpc-engine": ^7.1.1 "@metamask/key-tree": ^9.0.0 "@metamask/permission-controller": ^4.1.0 - "@metamask/rpc-errors": ^5.1.1 + "@metamask/rpc-errors": ^6.0.0 "@metamask/rpc-methods": "workspace:^" "@metamask/snaps-controllers": "workspace:^" "@metamask/snaps-execution-environments": "workspace:^" @@ -5373,7 +5386,6 @@ __metadata: jest-environment-jsdom: ^29.5.0 jest-fetch-mock: ^3.0.3 jest-it-up: ^2.0.0 - json-rpc-engine: ^6.1.0 json-rpc-middleware-stream: ^4.2.0 monaco-editor: ^0.38.0 monaco-editor-webpack-plugin: ^7.0.1 @@ -5418,7 +5430,7 @@ __metadata: "@metamask/eslint-config-jest": ^12.1.0 "@metamask/eslint-config-nodejs": ^12.1.0 "@metamask/eslint-config-typescript": ^12.1.0 - "@metamask/providers": ^11.1.1 + "@metamask/providers": ^13.0.0 "@metamask/rpc-methods": "workspace:^" "@metamask/snaps-utils": "workspace:^" "@metamask/utils": ^8.1.0 @@ -5498,6 +5510,7 @@ __metadata: "@metamask/key-tree": ^9.0.0 "@metamask/permission-controller": ^4.1.0 "@metamask/post-message-stream": ^7.0.0 + "@metamask/rpc-errors": ^6.0.0 "@metamask/snaps-registry": ^2.0.0 "@metamask/snaps-ui": "workspace:^" "@metamask/utils": ^8.1.0 @@ -5533,7 +5546,6 @@ __metadata: eslint-plugin-n: ^15.7.0 eslint-plugin-prettier: ^4.2.1 eslint-plugin-promise: ^6.1.1 - eth-rpc-errors: ^4.0.3 expect-webdriverio: ^4.1.2 fast-deep-equal: ^3.1.3 fast-json-stable-stringify: ^2.1.0 @@ -5633,7 +5645,7 @@ __metadata: "@metamask/manage-state-example-snap": "workspace:^" "@metamask/network-example-snap": "workspace:^" "@metamask/notification-example-snap": "workspace:^" - "@metamask/providers": ^11.1.1 + "@metamask/providers": ^13.0.0 "@metamask/snaps-utils": "workspace:^" "@metamask/utils": ^8.1.0 "@metamask/wasm-example-snap": "workspace:^" @@ -5705,7 +5717,7 @@ __metadata: languageName: node linkType: hard -"@metamask/utils@npm:^5.0.0, @metamask/utils@npm:^5.0.1, @metamask/utils@npm:^5.0.2": +"@metamask/utils@npm:^5.0.0, @metamask/utils@npm:^5.0.2": version: 5.0.2 resolution: "@metamask/utils@npm:5.0.2" dependencies: @@ -5732,7 +5744,7 @@ __metadata: languageName: node linkType: hard -"@metamask/utils@npm:^8.1.0": +"@metamask/utils@npm:^8.0.0, @metamask/utils@npm:^8.1.0": version: 8.1.0 resolution: "@metamask/utils@npm:8.1.0" dependencies: @@ -5757,7 +5769,7 @@ __metadata: "@metamask/eslint-config-jest": ^12.1.0 "@metamask/eslint-config-nodejs": ^12.1.0 "@metamask/eslint-config-typescript": ^12.1.0 - "@metamask/rpc-errors": ^5.1.1 + "@metamask/rpc-errors": ^6.0.0 "@metamask/snaps-cli": "workspace:^" "@metamask/snaps-jest": "workspace:^" "@metamask/snaps-types": "workspace:^" @@ -5795,7 +5807,7 @@ __metadata: "@metamask/eslint-config-jest": ^12.1.0 "@metamask/eslint-config-nodejs": ^12.1.0 "@metamask/eslint-config-typescript": ^12.1.0 - "@metamask/rpc-errors": ^5.1.1 + "@metamask/rpc-errors": ^6.0.0 "@metamask/snaps-jest": "workspace:^" "@metamask/snaps-types": "workspace:^" "@metamask/snaps-webpack-plugin": "workspace:^" @@ -12509,16 +12521,16 @@ __metadata: languageName: node linkType: hard -"eth-block-tracker@npm:^7.0.1": - version: 7.1.0 - resolution: "eth-block-tracker@npm:7.1.0" +"eth-block-tracker@npm:^8.0.0": + version: 8.0.0 + resolution: "eth-block-tracker@npm:8.0.0" dependencies: - "@metamask/eth-json-rpc-provider": ^1.0.0 + "@metamask/eth-json-rpc-provider": ^2.1.0 "@metamask/safe-event-emitter": ^3.0.0 - "@metamask/utils": ^5.0.1 + "@metamask/utils": ^8.1.0 json-rpc-random-id: ^1.0.1 - pify: ^3.0.0 - checksum: 1d019f261e0ef07387cd74538b160700caa35ba9859ab9d4e5137c48bf9c92822c3b4ade40f8a504f16cb813de4c317c5378d047625ddf04592e256be8842588 + pify: ^5.0.0 + checksum: 734d42f4059e051d71a1e13bf7624e09b3fd1d8aa80ed36408201640f02f4b18618e12f1269df3522299a88198c562deb934b5045a0e2ce42a07ac9f883d3710 languageName: node linkType: hard @@ -12532,7 +12544,7 @@ __metadata: languageName: node linkType: hard -"eth-rpc-errors@npm:^4.0.2, eth-rpc-errors@npm:^4.0.3": +"eth-rpc-errors@npm:^4.0.2": version: 4.0.3 resolution: "eth-rpc-errors@npm:4.0.3" dependencies: @@ -12846,12 +12858,12 @@ __metadata: languageName: node linkType: hard -"extension-port-stream@npm:^2.0.1": - version: 2.0.1 - resolution: "extension-port-stream@npm:2.0.1" +"extension-port-stream@npm:^2.1.1": + version: 2.1.1 + resolution: "extension-port-stream@npm:2.1.1" dependencies: - webextension-polyfill-ts: ^0.22.0 - checksum: e127fd94a9b7b2b847d5f292fa940b6f63d1088ea5ed6a1e3142628b358a503881f1a04e2d8ad5aec2642f7672e054e16accd933bf9cdcfa75465aba32470d07 + webextension-polyfill: ">=0.10.0 <1.0" + checksum: aee8bbeb2ed6f69a62f58a89580e0e9002dadb11062edbaedb7bb04cfc5a5e0b0d3980bfeaa1c3ee7e08dec7e5fac26e25497fc2f82000db7653442bd5eca157 languageName: node linkType: hard @@ -15948,12 +15960,24 @@ __metadata: linkType: hard "json-rpc-middleware-stream@npm:^4.2.0, json-rpc-middleware-stream@npm:^4.2.1": - version: 4.2.1 - resolution: "json-rpc-middleware-stream@npm:4.2.1" + version: 4.2.2 + resolution: "json-rpc-middleware-stream@npm:4.2.2" dependencies: - "@metamask/safe-event-emitter": ^2.0.0 + "@metamask/safe-event-emitter": ^3.0.0 readable-stream: ^2.3.3 - checksum: 207c34ba2c55ff072864422ba48b03f49dd1bc488f0d9c017c7474d3f2514bd4b1cc14daf5324f96887cdaf8e5c1018701960f55fb45e9c3224e3d7db9f70765 + checksum: 01ff3a23b501fde5c2abb8c3b4d100c4fd430b41cf5e7750235f860a02d5823f8a43b0e81150c1d3bb196737f2273af1c7a50ff179e95e3d59fb7fe172249de3 + languageName: node + linkType: hard + +"json-rpc-middleware-stream@npm:^5.0.0": + version: 5.0.0 + resolution: "json-rpc-middleware-stream@npm:5.0.0" + dependencies: + "@metamask/json-rpc-engine": ^7.1.1 + "@metamask/safe-event-emitter": ^3.0.0 + "@metamask/utils": ^8.1.0 + readable-stream: ^3.6.2 + checksum: 9780a05550f0bf5c6fd55a7f90472bf919e7f1fc45969bd7a8ffdd7ec7a6b5bfdc08f606487184a4e75fea9e1fbf335add35f8f2eaf8ab975fb461985e57380e languageName: node linkType: hard @@ -18454,6 +18478,13 @@ __metadata: languageName: node linkType: hard +"pify@npm:^5.0.0": + version: 5.0.0 + resolution: "pify@npm:5.0.0" + checksum: 443e3e198ad6bfa8c0c533764cf75c9d5bc976387a163792fb553ffe6ce923887cf14eebf5aea9b7caa8eab930da8c33612990ae85bd8c2bc18bedb9eae94ecb + languageName: node + linkType: hard + "pinkie-promise@npm:^2.0.0": version: 2.0.1 resolution: "pinkie-promise@npm:2.0.1" @@ -22736,29 +22767,13 @@ __metadata: languageName: node linkType: hard -"webextension-polyfill-ts@npm:^0.22.0": - version: 0.22.0 - resolution: "webextension-polyfill-ts@npm:0.22.0" - dependencies: - webextension-polyfill: ^0.7.0 - checksum: b7d60c787c2041458117f837914b6bc4f03c1685174ff7b751ad19192e232fa7e71a0ac7a22d73e898856a86de198e61e9cd59c63764279127c7ee973f3202d8 - languageName: node - linkType: hard - -"webextension-polyfill@npm:^0.10.0": +"webextension-polyfill@npm:>=0.10.0 <1.0, webextension-polyfill@npm:^0.10.0": version: 0.10.0 resolution: "webextension-polyfill@npm:0.10.0" checksum: 4a59036bda571360c2c0b2fb03fe1dc244f233946bcf9a6766f677956c40fd14d270aaa69cdba95e4ac521014afbe4008bfa5959d0ac39f91c990eb206587f91 languageName: node linkType: hard -"webextension-polyfill@npm:^0.7.0": - version: 0.7.0 - resolution: "webextension-polyfill@npm:0.7.0" - checksum: fb738a5de07feb593875e02f25c3ab4276c8736118929556c8d4bdf965bb0f11c96ea263cd397b9b21259e8faf2dce2eaaa42ce08c922d96de7adb5896ec7d10 - languageName: node - linkType: hard - "webidl-conversions@npm:^3.0.0": version: 3.0.1 resolution: "webidl-conversions@npm:3.0.1"