diff --git a/packages/snaps-controllers/src/multichain/MultichainRouter.ts b/packages/snaps-controllers/src/multichain/MultichainRouter.ts index d352ea6f94..e1c25ac076 100644 --- a/packages/snaps-controllers/src/multichain/MultichainRouter.ts +++ b/packages/snaps-controllers/src/multichain/MultichainRouter.ts @@ -114,6 +114,10 @@ type ProtocolSnap = { const name = 'MultichainRouter'; export class MultichainRouter { + name: typeof name = name; + + state = null; + #messenger: MultichainRouterMessenger; #withSnapKeyring: WithSnapKeyringFunction; diff --git a/packages/snaps-controllers/src/services/AbstractExecutionService.ts b/packages/snaps-controllers/src/services/AbstractExecutionService.ts index 12b2a2632c..53b64659d0 100644 --- a/packages/snaps-controllers/src/services/AbstractExecutionService.ts +++ b/packages/snaps-controllers/src/services/AbstractExecutionService.ts @@ -64,6 +64,10 @@ export type TerminateJobArgs = Partial> & export abstract class AbstractExecutionService implements ExecutionService { + name: typeof controllerName = controllerName; + + state = null; + #snapRpcHooks: Map; // Cannot be hash private yet because of tests. diff --git a/packages/snaps-controllers/src/services/ExecutionService.ts b/packages/snaps-controllers/src/services/ExecutionService.ts index 579839a51f..d9ac4fe89f 100644 --- a/packages/snaps-controllers/src/services/ExecutionService.ts +++ b/packages/snaps-controllers/src/services/ExecutionService.ts @@ -12,6 +12,11 @@ type HandleRpcRequest = ( ) => Promise; export interface ExecutionService { + // These fields are required for modular initialisation of the execution + // service in the MetaMask extension. + name: 'ExecutionService'; + state: null; + terminateSnap: TerminateSnap; terminateAllSnaps: TerminateAll; executeSnap: ExecuteSnap;