diff --git a/packages/snaps-controllers/src/snaps/SnapController.test.tsx b/packages/snaps-controllers/src/snaps/SnapController.test.tsx index f3a85abb8c..75d4769ce6 100644 --- a/packages/snaps-controllers/src/snaps/SnapController.test.tsx +++ b/packages/snaps-controllers/src/snaps/SnapController.test.tsx @@ -1802,7 +1802,7 @@ describe('SnapController', () => { }); const { rootMessenger } = options; - const [snapController, service] = getSnapControllerWithEES(options); + const [snapController] = getSnapControllerWithEES(options); const snap = snapController.getExpect(MOCK_SNAP_ID); rootMessenger.registerActionHandler( @@ -1845,7 +1845,6 @@ describe('SnapController', () => { ); snapController.destroy(); - await service.terminateAllSnaps(); }); // This isn't stable in CI unfortunately diff --git a/packages/snaps-execution-environments/coverage.json b/packages/snaps-execution-environments/coverage.json index 1e437e58f6..a805965c70 100644 --- a/packages/snaps-execution-environments/coverage.json +++ b/packages/snaps-execution-environments/coverage.json @@ -1,6 +1,6 @@ { "branches": 90, "functions": 94.57, - "lines": 90.13, - "statements": 89.5 + "lines": 90.15, + "statements": 89.52 } diff --git a/packages/snaps-execution-environments/src/common/BaseSnapExecutor.ts b/packages/snaps-execution-environments/src/common/BaseSnapExecutor.ts index 9f96315e4a..4db1377a71 100644 --- a/packages/snaps-execution-environments/src/common/BaseSnapExecutor.ts +++ b/packages/snaps-execution-environments/src/common/BaseSnapExecutor.ts @@ -531,12 +531,15 @@ export class BaseSnapExecutor { assertSnapOutboundRequest(sanitizedArgs); return await withTeardown( (async () => { - await this.#notify({ - method: 'OutboundRequest', - params: { source: 'snap.request' }, - }); try { - return await originalRequest(sanitizedArgs); + const promise = originalRequest(sanitizedArgs); + + await this.#notify({ + method: 'OutboundRequest', + params: { source: 'snap.request' }, + }); + + return await promise; } finally { await this.#notify({ method: 'OutboundResponse', @@ -573,12 +576,15 @@ export class BaseSnapExecutor { assertEthereumOutboundRequest(sanitizedArgs); return await withTeardown( (async () => { - await this.#notify({ - method: 'OutboundRequest', - params: { source: 'ethereum.request' }, - }); try { - return await originalRequest(sanitizedArgs); + const promise = originalRequest(sanitizedArgs); + + await this.#notify({ + method: 'OutboundRequest', + params: { source: 'ethereum.request' }, + }); + + return await promise; } finally { await this.#notify({ method: 'OutboundResponse', diff --git a/packages/snaps-execution-environments/src/common/endowments/network.ts b/packages/snaps-execution-environments/src/common/endowments/network.ts index b631bd18f8..2cec5f82f7 100644 --- a/packages/snaps-execution-environments/src/common/endowments/network.ts +++ b/packages/snaps-execution-environments/src/common/endowments/network.ts @@ -226,15 +226,16 @@ const createNetwork = ({ notify }: EndowmentFactoryOptions = {}) => { return await withTeardown( (async () => { try { - await notify({ - method: 'OutboundRequest', - params: { source: 'fetch' }, - }); const fetchPromise = fetch(input, { ...init, signal: abortController.signal, }); + await notify({ + method: 'OutboundRequest', + params: { source: 'fetch' }, + }); + openFetchConnection = { cancel: async () => { abortController.abort();