From a9c25d89765cabb23b7cb5e21a809541e5d8a265 Mon Sep 17 00:00:00 2001 From: Frederik Bolding Date: Sat, 22 Jul 2023 12:01:50 +0200 Subject: [PATCH] Filter out snaps source code and state from UI state --- app/scripts/metamask-controller.js | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/app/scripts/metamask-controller.js b/app/scripts/metamask-controller.js index 64216f1519e4..87db334d0832 100644 --- a/app/scripts/metamask-controller.js +++ b/app/scripts/metamask-controller.js @@ -2107,9 +2107,21 @@ export default class MetamaskController extends EventEmitter { const { vault } = this.keyringController.store.getState(); const isInitialized = Boolean(vault); + const flatState = this.memStore.getFlatState(); + return { isInitialized, - ...this.memStore.getFlatState(), + ...flatState, + ///: BEGIN:ONLY_INCLUDE_IN(snaps) + // Snap state and source code is stripped out to prevent piping to the MetaMask UI. + snapStates: {}, + snaps: Object.values(flatState.snaps ?? {}).reduce((acc, snap) => { + // eslint-disable-next-line no-unused-vars + const { sourceCode, ...rest } = snap; + acc[snap.id] = rest; + return acc; + }, {}), + ///: END:ONLY_INCLUDE_IN }; }