From a218de77d916077dccd828ac2e426deacb84e7f3 Mon Sep 17 00:00:00 2001 From: Frederik Bolding Date: Wed, 12 Feb 2025 13:14:20 +0100 Subject: [PATCH 1/2] fix: Recreate JSON-RPC request in MultichainRouter --- .../src/multichain/MultichainRouter.ts | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/packages/snaps-controllers/src/multichain/MultichainRouter.ts b/packages/snaps-controllers/src/multichain/MultichainRouter.ts index e1c25ac076..1af19fb850 100644 --- a/packages/snaps-controllers/src/multichain/MultichainRouter.ts +++ b/packages/snaps-controllers/src/multichain/MultichainRouter.ts @@ -18,6 +18,7 @@ import { KnownCaipNamespace, parseCaipAccountId, } from '@metamask/utils'; +import { nanoid } from 'nanoid'; import { getRunnableSnaps } from '../snaps'; import type { GetAllSnaps, HandleSnapRequest } from '../snaps'; @@ -291,7 +292,7 @@ export class MultichainRouter { connectedAddresses, origin, scope, - request, + request: rawRequest, }: { connectedAddresses: CaipAccountId[]; origin: string; @@ -304,6 +305,14 @@ export class MultichainRouter { !scope.startsWith('wallet:eip155'), ); + // Re-create the request to simplify and remove additional properties that may be present in MM middleware. + const request = { + jsonrpc: '2.0' as const, + id: rawRequest.id ?? nanoid(), + method: rawRequest.method, + params: rawRequest.params, + }; + const { method, params } = request; // If the RPC request can be serviced by an account Snap, route it there. From 644f55ee47d4fca567d5a2ca4592eb5be661d366 Mon Sep 17 00:00:00 2001 From: Frederik Bolding Date: Wed, 12 Feb 2025 13:29:48 +0100 Subject: [PATCH 2/2] Update coverage --- packages/snaps-controllers/coverage.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/snaps-controllers/coverage.json b/packages/snaps-controllers/coverage.json index 486cbc8f4d..3a5693221a 100644 --- a/packages/snaps-controllers/coverage.json +++ b/packages/snaps-controllers/coverage.json @@ -1,5 +1,5 @@ { - "branches": 93.28, + "branches": 93.31, "functions": 96.8, "lines": 98.15, "statements": 97.88