Skip to content

Commit cc57e61

Browse files
fix: Remove undefined params in MultichainRouter (#3388)
The `MultichainRouter` incorrectly passes on `params` that could be undefined, this PR fixes that.
1 parent ee0c1f3 commit cc57e61

File tree

3 files changed

+28
-3
lines changed

3 files changed

+28
-3
lines changed

packages/snaps-controllers/coverage.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"branches": 93.61,
2+
"branches": 93.63,
33
"functions": 98.16,
44
"lines": 98.5,
55
"statements": 98.33

packages/snaps-controllers/src/multichain/MultichainRouter.test.ts

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
import { HandlerType } from '@metamask/snaps-utils';
2-
import { getTruncatedSnap } from '@metamask/snaps-utils/test-utils';
2+
import {
3+
getTruncatedSnap,
4+
MOCK_SNAP_ID,
5+
} from '@metamask/snaps-utils/test-utils';
36

47
import { MultichainRouter } from './MultichainRouter';
58
import {
@@ -148,6 +151,7 @@ describe('MultichainRouter', () => {
148151
const result = await messenger.call('MultichainRouter:handleRequest', {
149152
connectedAddresses: [],
150153
scope: SOLANA_CAIP2,
154+
origin: 'metamask',
151155
request: {
152156
method: 'getVersion',
153157
},
@@ -157,6 +161,27 @@ describe('MultichainRouter', () => {
157161
'feature-set': 2891131721,
158162
'solana-core': '1.16.7',
159163
});
164+
165+
expect(rootMessenger.call).toHaveBeenNthCalledWith(
166+
5,
167+
'SnapController:handleRequest',
168+
{
169+
snapId: MOCK_SNAP_ID,
170+
handler: HandlerType.OnProtocolRequest,
171+
origin: 'metamask',
172+
request: {
173+
method: '',
174+
params: {
175+
request: {
176+
id: expect.any(String),
177+
jsonrpc: '2.0',
178+
method: 'getVersion',
179+
},
180+
scope: SOLANA_CAIP2,
181+
},
182+
},
183+
},
184+
);
160185
});
161186

162187
it('throws if no suitable Snaps are found', async () => {

packages/snaps-controllers/src/multichain/MultichainRouter.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -301,7 +301,7 @@ export class MultichainRouter {
301301
jsonrpc: '2.0' as const,
302302
id: rawRequest.id ?? nanoid(),
303303
method: rawRequest.method,
304-
params: rawRequest.params,
304+
...(rawRequest.params ? { params: rawRequest.params } : {}),
305305
};
306306

307307
const { method, params } = request;

0 commit comments

Comments
 (0)