diff --git a/packages/snaps-execution-environments/lavamoat/browserify/iframe/policy.json b/packages/snaps-execution-environments/lavamoat/browserify/iframe/policy.json
index b70cf09ced..bda1f4f863 100644
--- a/packages/snaps-execution-environments/lavamoat/browserify/iframe/policy.json
+++ b/packages/snaps-execution-environments/lavamoat/browserify/iframe/policy.json
@@ -11,6 +11,27 @@
"browserify>string_decoder": true
}
},
+ "@metamask/json-rpc-engine": {
+ "packages": {
+ "@metamask/json-rpc-engine>@metamask/rpc-errors": true,
+ "@metamask/json-rpc-engine>@metamask/safe-event-emitter": true,
+ "@metamask/utils": true
+ }
+ },
+ "@metamask/json-rpc-engine>@metamask/rpc-errors": {
+ "packages": {
+ "@metamask/rpc-errors>fast-safe-stringify": true,
+ "@metamask/utils": true
+ }
+ },
+ "@metamask/json-rpc-engine>@metamask/safe-event-emitter": {
+ "globals": {
+ "setTimeout": true
+ },
+ "packages": {
+ "browserify>events": true
+ }
+ },
"@metamask/object-multiplex": {
"globals": {
"console.warn": true
@@ -100,16 +121,22 @@
"web3": true
},
"packages": {
+ "@metamask/json-rpc-engine": true,
"@metamask/object-multiplex": true,
+ "@metamask/providers>@metamask/rpc-errors": true,
"@metamask/providers>@metamask/safe-event-emitter": true,
"@metamask/providers>detect-browser": true,
"@metamask/providers>extension-port-stream": true,
"@metamask/providers>is-stream": true,
"@metamask/providers>json-rpc-middleware-stream": true,
- "@metamask/providers>pump": true,
- "eslint>fast-deep-equal": true,
- "eth-rpc-errors": true,
- "json-rpc-engine": true
+ "browserify>stream-browserify": true,
+ "eslint>fast-deep-equal": true
+ }
+ },
+ "@metamask/providers>@metamask/rpc-errors": {
+ "packages": {
+ "@metamask/rpc-errors>fast-safe-stringify": true,
+ "@metamask/utils": true
}
},
"@metamask/providers>@metamask/safe-event-emitter": {
@@ -141,8 +168,16 @@
"setTimeout": true
},
"packages": {
- "@metamask/providers>json-rpc-middleware-stream>readable-stream": true,
- "json-rpc-engine>@metamask/safe-event-emitter": true
+ "@metamask/providers>json-rpc-middleware-stream>@metamask/safe-event-emitter": true,
+ "@metamask/providers>json-rpc-middleware-stream>readable-stream": true
+ }
+ },
+ "@metamask/providers>json-rpc-middleware-stream>@metamask/safe-event-emitter": {
+ "globals": {
+ "setTimeout": true
+ },
+ "packages": {
+ "browserify>events": true
}
},
"@metamask/providers>json-rpc-middleware-stream>readable-stream": {
@@ -170,12 +205,22 @@
"@metamask/providers>json-rpc-middleware-stream>readable-stream>safe-buffer": true
}
},
- "@metamask/providers>pump": {
+ "@metamask/rpc-errors": {
"packages": {
- "@metamask/object-multiplex>end-of-stream": true,
- "@metamask/object-multiplex>once": true,
- "browserify>browser-resolve": true,
- "browserify>process": true
+ "@metamask/rpc-errors>@metamask/utils": true,
+ "@metamask/rpc-errors>fast-safe-stringify": true
+ }
+ },
+ "@metamask/rpc-errors>@metamask/utils": {
+ "globals": {
+ "TextDecoder": true,
+ "TextEncoder": true
+ },
+ "packages": {
+ "@swc/cli>semver": true,
+ "browserify>buffer": true,
+ "eslint>debug": true,
+ "superstruct": true
}
},
"@metamask/utils": {
@@ -289,11 +334,6 @@
"eslint>debug>ms": true
}
},
- "eth-rpc-errors": {
- "packages": {
- "eth-rpc-errors>fast-safe-stringify": true
- }
- },
"external:../snaps-utils/src/icon.ts": {
"builtin": {
"buffer": true
@@ -332,20 +372,6 @@
"superstruct": true
}
},
- "json-rpc-engine": {
- "packages": {
- "eth-rpc-errors": true,
- "json-rpc-engine>@metamask/safe-event-emitter": true
- }
- },
- "json-rpc-engine>@metamask/safe-event-emitter": {
- "globals": {
- "setTimeout": true
- },
- "packages": {
- "browserify>events": 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 9f847400ca..6274f44159 100644
--- a/packages/snaps-execution-environments/lavamoat/browserify/node-process/policy.json
+++ b/packages/snaps-execution-environments/lavamoat/browserify/node-process/policy.json
@@ -23,6 +23,30 @@
"util": true
}
},
+ "@metamask/json-rpc-engine": {
+ "packages": {
+ "@metamask/json-rpc-engine>@metamask/rpc-errors": true,
+ "@metamask/json-rpc-engine>@metamask/safe-event-emitter": true,
+ "@metamask/utils": true
+ }
+ },
+ "@metamask/json-rpc-engine>@metamask/rpc-errors": {
+ "packages": {
+ "@metamask/rpc-errors>fast-safe-stringify": true,
+ "@metamask/utils": true
+ }
+ },
+ "@metamask/json-rpc-engine>@metamask/safe-event-emitter": {
+ "builtin": {
+ "events.EventEmitter": true
+ },
+ "globals": {
+ "setTimeout": true
+ },
+ "packages": {
+ "events": true
+ }
+ },
"@metamask/object-multiplex": {
"globals": {
"console.warn": true
@@ -126,6 +150,9 @@
}
},
"@metamask/providers": {
+ "builtin": {
+ "stream.pipeline": true
+ },
"globals": {
"Event": true,
"addEventListener": true,
@@ -140,16 +167,22 @@
"web3": true
},
"packages": {
+ "@metamask/json-rpc-engine": true,
"@metamask/object-multiplex": true,
+ "@metamask/providers>@metamask/rpc-errors": true,
"@metamask/providers>@metamask/safe-event-emitter": true,
"@metamask/providers>detect-browser": true,
"@metamask/providers>extension-port-stream": true,
"@metamask/providers>is-stream": true,
"@metamask/providers>json-rpc-middleware-stream": true,
- "@metamask/providers>pump": true,
"eslint>fast-deep-equal": true,
- "eth-rpc-errors": true,
- "json-rpc-engine": true
+ "stream": true
+ }
+ },
+ "@metamask/providers>@metamask/rpc-errors": {
+ "packages": {
+ "@metamask/rpc-errors>fast-safe-stringify": true,
+ "@metamask/utils": true
}
},
"@metamask/providers>@metamask/safe-event-emitter": {
@@ -186,8 +219,19 @@
"setTimeout": true
},
"packages": {
- "@metamask/providers>json-rpc-middleware-stream>readable-stream": true,
- "json-rpc-engine>@metamask/safe-event-emitter": true
+ "@metamask/providers>json-rpc-middleware-stream>@metamask/safe-event-emitter": true,
+ "@metamask/providers>json-rpc-middleware-stream>readable-stream": true
+ }
+ },
+ "@metamask/providers>json-rpc-middleware-stream>@metamask/safe-event-emitter": {
+ "builtin": {
+ "events.EventEmitter": true
+ },
+ "globals": {
+ "setTimeout": true
+ },
+ "packages": {
+ "events": true
}
},
"@metamask/providers>json-rpc-middleware-stream>readable-stream": {
@@ -231,17 +275,25 @@
"@metamask/providers>json-rpc-middleware-stream>readable-stream>safe-buffer": true
}
},
- "@metamask/providers>pump": {
+ "@metamask/rpc-errors": {
+ "packages": {
+ "@metamask/rpc-errors>@metamask/utils": true,
+ "@metamask/rpc-errors>fast-safe-stringify": true
+ }
+ },
+ "@metamask/rpc-errors>@metamask/utils": {
"builtin": {
- "fs": true
+ "buffer.Buffer": true
},
"globals": {
- "process.version": true
+ "TextDecoder": true,
+ "TextEncoder": true
},
"packages": {
- "@metamask/object-multiplex>end-of-stream": true,
- "@metamask/object-multiplex>once": true,
- "fs": true
+ "@swc/cli>semver": true,
+ "buffer": true,
+ "eslint>debug": true,
+ "superstruct": true
}
},
"@metamask/utils": {
@@ -355,11 +407,6 @@
"util": true
}
},
- "eth-rpc-errors": {
- "packages": {
- "eth-rpc-errors>fast-safe-stringify": true
- }
- },
"external:../snaps-utils/src/icon.ts": {
"builtin": {
"buffer": true
@@ -403,23 +450,6 @@
"process.argv": true
}
},
- "json-rpc-engine": {
- "packages": {
- "eth-rpc-errors": true,
- "json-rpc-engine>@metamask/safe-event-emitter": true
- }
- },
- "json-rpc-engine>@metamask/safe-event-emitter": {
- "builtin": {
- "events.EventEmitter": true
- },
- "globals": {
- "setTimeout": true
- },
- "packages": {
- "events": 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 9f847400ca..6274f44159 100644
--- a/packages/snaps-execution-environments/lavamoat/browserify/node-thread/policy.json
+++ b/packages/snaps-execution-environments/lavamoat/browserify/node-thread/policy.json
@@ -23,6 +23,30 @@
"util": true
}
},
+ "@metamask/json-rpc-engine": {
+ "packages": {
+ "@metamask/json-rpc-engine>@metamask/rpc-errors": true,
+ "@metamask/json-rpc-engine>@metamask/safe-event-emitter": true,
+ "@metamask/utils": true
+ }
+ },
+ "@metamask/json-rpc-engine>@metamask/rpc-errors": {
+ "packages": {
+ "@metamask/rpc-errors>fast-safe-stringify": true,
+ "@metamask/utils": true
+ }
+ },
+ "@metamask/json-rpc-engine>@metamask/safe-event-emitter": {
+ "builtin": {
+ "events.EventEmitter": true
+ },
+ "globals": {
+ "setTimeout": true
+ },
+ "packages": {
+ "events": true
+ }
+ },
"@metamask/object-multiplex": {
"globals": {
"console.warn": true
@@ -126,6 +150,9 @@
}
},
"@metamask/providers": {
+ "builtin": {
+ "stream.pipeline": true
+ },
"globals": {
"Event": true,
"addEventListener": true,
@@ -140,16 +167,22 @@
"web3": true
},
"packages": {
+ "@metamask/json-rpc-engine": true,
"@metamask/object-multiplex": true,
+ "@metamask/providers>@metamask/rpc-errors": true,
"@metamask/providers>@metamask/safe-event-emitter": true,
"@metamask/providers>detect-browser": true,
"@metamask/providers>extension-port-stream": true,
"@metamask/providers>is-stream": true,
"@metamask/providers>json-rpc-middleware-stream": true,
- "@metamask/providers>pump": true,
"eslint>fast-deep-equal": true,
- "eth-rpc-errors": true,
- "json-rpc-engine": true
+ "stream": true
+ }
+ },
+ "@metamask/providers>@metamask/rpc-errors": {
+ "packages": {
+ "@metamask/rpc-errors>fast-safe-stringify": true,
+ "@metamask/utils": true
}
},
"@metamask/providers>@metamask/safe-event-emitter": {
@@ -186,8 +219,19 @@
"setTimeout": true
},
"packages": {
- "@metamask/providers>json-rpc-middleware-stream>readable-stream": true,
- "json-rpc-engine>@metamask/safe-event-emitter": true
+ "@metamask/providers>json-rpc-middleware-stream>@metamask/safe-event-emitter": true,
+ "@metamask/providers>json-rpc-middleware-stream>readable-stream": true
+ }
+ },
+ "@metamask/providers>json-rpc-middleware-stream>@metamask/safe-event-emitter": {
+ "builtin": {
+ "events.EventEmitter": true
+ },
+ "globals": {
+ "setTimeout": true
+ },
+ "packages": {
+ "events": true
}
},
"@metamask/providers>json-rpc-middleware-stream>readable-stream": {
@@ -231,17 +275,25 @@
"@metamask/providers>json-rpc-middleware-stream>readable-stream>safe-buffer": true
}
},
- "@metamask/providers>pump": {
+ "@metamask/rpc-errors": {
+ "packages": {
+ "@metamask/rpc-errors>@metamask/utils": true,
+ "@metamask/rpc-errors>fast-safe-stringify": true
+ }
+ },
+ "@metamask/rpc-errors>@metamask/utils": {
"builtin": {
- "fs": true
+ "buffer.Buffer": true
},
"globals": {
- "process.version": true
+ "TextDecoder": true,
+ "TextEncoder": true
},
"packages": {
- "@metamask/object-multiplex>end-of-stream": true,
- "@metamask/object-multiplex>once": true,
- "fs": true
+ "@swc/cli>semver": true,
+ "buffer": true,
+ "eslint>debug": true,
+ "superstruct": true
}
},
"@metamask/utils": {
@@ -355,11 +407,6 @@
"util": true
}
},
- "eth-rpc-errors": {
- "packages": {
- "eth-rpc-errors>fast-safe-stringify": true
- }
- },
"external:../snaps-utils/src/icon.ts": {
"builtin": {
"buffer": true
@@ -403,23 +450,6 @@
"process.argv": true
}
},
- "json-rpc-engine": {
- "packages": {
- "eth-rpc-errors": true,
- "json-rpc-engine>@metamask/safe-event-emitter": true
- }
- },
- "json-rpc-engine>@metamask/safe-event-emitter": {
- "builtin": {
- "events.EventEmitter": true
- },
- "globals": {
- "setTimeout": true
- },
- "packages": {
- "events": 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 b70cf09ced..bda1f4f863 100644
--- a/packages/snaps-execution-environments/lavamoat/browserify/worker-executor/policy.json
+++ b/packages/snaps-execution-environments/lavamoat/browserify/worker-executor/policy.json
@@ -11,6 +11,27 @@
"browserify>string_decoder": true
}
},
+ "@metamask/json-rpc-engine": {
+ "packages": {
+ "@metamask/json-rpc-engine>@metamask/rpc-errors": true,
+ "@metamask/json-rpc-engine>@metamask/safe-event-emitter": true,
+ "@metamask/utils": true
+ }
+ },
+ "@metamask/json-rpc-engine>@metamask/rpc-errors": {
+ "packages": {
+ "@metamask/rpc-errors>fast-safe-stringify": true,
+ "@metamask/utils": true
+ }
+ },
+ "@metamask/json-rpc-engine>@metamask/safe-event-emitter": {
+ "globals": {
+ "setTimeout": true
+ },
+ "packages": {
+ "browserify>events": true
+ }
+ },
"@metamask/object-multiplex": {
"globals": {
"console.warn": true
@@ -100,16 +121,22 @@
"web3": true
},
"packages": {
+ "@metamask/json-rpc-engine": true,
"@metamask/object-multiplex": true,
+ "@metamask/providers>@metamask/rpc-errors": true,
"@metamask/providers>@metamask/safe-event-emitter": true,
"@metamask/providers>detect-browser": true,
"@metamask/providers>extension-port-stream": true,
"@metamask/providers>is-stream": true,
"@metamask/providers>json-rpc-middleware-stream": true,
- "@metamask/providers>pump": true,
- "eslint>fast-deep-equal": true,
- "eth-rpc-errors": true,
- "json-rpc-engine": true
+ "browserify>stream-browserify": true,
+ "eslint>fast-deep-equal": true
+ }
+ },
+ "@metamask/providers>@metamask/rpc-errors": {
+ "packages": {
+ "@metamask/rpc-errors>fast-safe-stringify": true,
+ "@metamask/utils": true
}
},
"@metamask/providers>@metamask/safe-event-emitter": {
@@ -141,8 +168,16 @@
"setTimeout": true
},
"packages": {
- "@metamask/providers>json-rpc-middleware-stream>readable-stream": true,
- "json-rpc-engine>@metamask/safe-event-emitter": true
+ "@metamask/providers>json-rpc-middleware-stream>@metamask/safe-event-emitter": true,
+ "@metamask/providers>json-rpc-middleware-stream>readable-stream": true
+ }
+ },
+ "@metamask/providers>json-rpc-middleware-stream>@metamask/safe-event-emitter": {
+ "globals": {
+ "setTimeout": true
+ },
+ "packages": {
+ "browserify>events": true
}
},
"@metamask/providers>json-rpc-middleware-stream>readable-stream": {
@@ -170,12 +205,22 @@
"@metamask/providers>json-rpc-middleware-stream>readable-stream>safe-buffer": true
}
},
- "@metamask/providers>pump": {
+ "@metamask/rpc-errors": {
"packages": {
- "@metamask/object-multiplex>end-of-stream": true,
- "@metamask/object-multiplex>once": true,
- "browserify>browser-resolve": true,
- "browserify>process": true
+ "@metamask/rpc-errors>@metamask/utils": true,
+ "@metamask/rpc-errors>fast-safe-stringify": true
+ }
+ },
+ "@metamask/rpc-errors>@metamask/utils": {
+ "globals": {
+ "TextDecoder": true,
+ "TextEncoder": true
+ },
+ "packages": {
+ "@swc/cli>semver": true,
+ "browserify>buffer": true,
+ "eslint>debug": true,
+ "superstruct": true
}
},
"@metamask/utils": {
@@ -289,11 +334,6 @@
"eslint>debug>ms": true
}
},
- "eth-rpc-errors": {
- "packages": {
- "eth-rpc-errors>fast-safe-stringify": true
- }
- },
"external:../snaps-utils/src/icon.ts": {
"builtin": {
"buffer": true
@@ -332,20 +372,6 @@
"superstruct": true
}
},
- "json-rpc-engine": {
- "packages": {
- "eth-rpc-errors": true,
- "json-rpc-engine>@metamask/safe-event-emitter": true
- }
- },
- "json-rpc-engine>@metamask/safe-event-emitter": {
- "globals": {
- "setTimeout": true
- },
- "packages": {
- "browserify>events": 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 ce4cbf2cc7..d23c4a3beb 100644
--- a/packages/snaps-execution-environments/lavamoat/build-system/policy.json
+++ b/packages/snaps-execution-environments/lavamoat/build-system/policy.json
@@ -1720,7 +1720,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 3fa5c8f75c..eb68798fe2 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": "^5.1.1",
"@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 1038d35167..08fa5b662a 100644
--- a/packages/snaps-execution-environments/src/common/BaseSnapExecutor.ts
+++ b/packages/snaps-execution-environments/src/common/BaseSnapExecutor.ts
@@ -1,7 +1,9 @@
// eslint-disable-next-line @typescript-eslint/triple-slash-reference, spaced-comment
///
+import { createIdRemapMiddleware } from '@metamask/json-rpc-engine';
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 +29,6 @@ import {
hasProperty,
getSafeJson,
} from '@metamask/utils';
-import { errorCodes, ethErrors, serializeError } from 'eth-rpc-errors';
-import { createIdRemapMiddleware } from 'json-rpc-engine';
import type { Duplex } from 'stream';
import { validate } from 'superstruct';
@@ -204,7 +204,7 @@ export class BaseSnapExecutor {
if (!hasProperty(EXECUTION_ENVIRONMENT_METHODS, method)) {
this.respond(id, {
- error: ethErrors.rpc
+ error: rpcErrors
.methodNotFound({
data: {
method,
@@ -223,7 +223,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: {
@@ -508,7 +508,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..a8c1ce5303 100644
--- a/packages/snaps-execution-environments/src/common/test-utils/endowments.ts
+++ b/packages/snaps-execution-environments/src/common/test-utils/endowments.ts
@@ -1,10 +1,10 @@
// @ts-expect-error Walker has no types yet.
import LavaTube from '@lavamoat/lavatube';
+import { createIdRemapMiddleware } from '@metamask/json-rpc-engine';
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 {
assertEthereumOutboundRequest,
diff --git a/packages/snaps-execution-environments/src/common/utils.ts b/packages/snaps-execution-environments/src/common/utils.ts
index 71148d624f..b3b566f2dd 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, getSafeJson, 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-types/package.json b/packages/snaps-types/package.json
index fa9b52806e..04dfb17919 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/test-snaps/package.json b/packages/test-snaps/package.json
index 2a0d2a0332..bc1320574a 100644
--- a/packages/test-snaps/package.json
+++ b/packages/test-snaps/package.json
@@ -64,7 +64,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 225e2a0b4e..844930c9e3 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -4534,6 +4534,17 @@ __metadata:
languageName: unknown
linkType: soft
+"@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"
@@ -4812,22 +4823,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
@@ -4886,6 +4897,16 @@ __metadata:
languageName: node
linkType: hard
+"@metamask/rpc-errors@npm:^6.0.0":
+ version: 6.0.0
+ resolution: "@metamask/rpc-errors@npm:6.0.0"
+ dependencies:
+ "@metamask/utils": ^8.0.0
+ fast-safe-stringify: ^2.0.6
+ checksum: 7e1ee1a98972266af4a34f0bbc842cdc11dc565056f0b8fbc93aa95663a7027eab8ff1fecbe3e09c38a1dc199f8219a6c69b2237015b2fdb8de0e5b35027c3f8
+ languageName: node
+ linkType: hard
+
"@metamask/rpc-methods@workspace:^, @metamask/rpc-methods@workspace:packages/rpc-methods":
version: 0.0.0-use.local
resolution: "@metamask/rpc-methods@workspace:packages/rpc-methods"
@@ -5193,9 +5214,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": ^5.1.1
"@metamask/rpc-methods": "workspace:^"
"@metamask/snaps-utils": "workspace:^"
"@metamask/utils": ^8.1.0
@@ -5227,7 +5250,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
istanbul-lib-coverage: ^3.2.0
istanbul-lib-report: ^3.0.0
@@ -5235,7 +5257,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.3.1
lavamoat-browserify: ^15.9.1
nanoid: ^3.1.31
@@ -5474,7 +5495,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
@@ -5691,7 +5712,7 @@ __metadata:
"@metamask/name-lookup-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:^"
@@ -5790,7 +5811,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:
@@ -12897,12 +12918,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
@@ -22787,29 +22808,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"