diff --git a/packages/snaps-controllers/src/snaps/SnapController.test.tsx b/packages/snaps-controllers/src/snaps/SnapController.test.tsx index 15957d0d7d..db25e1fe9c 100644 --- a/packages/snaps-controllers/src/snaps/SnapController.test.tsx +++ b/packages/snaps-controllers/src/snaps/SnapController.test.tsx @@ -10515,16 +10515,19 @@ describe('SnapController', () => { await snapController.updateRegistry(); // Ensure that CheckSnapBlockListArg is correct - expect(registry.get).toHaveBeenCalledWith({ - [mockSnapA.id]: { - version: mockSnapA.manifest.version, - checksum: mockSnapA.manifest.source.shasum, - }, - [mockSnapB.id]: { - version: mockSnapB.manifest.version, - checksum: mockSnapB.manifest.source.shasum, + expect(registry.get).toHaveBeenCalledWith( + { + [mockSnapA.id]: { + version: mockSnapA.manifest.version, + checksum: mockSnapA.manifest.source.shasum, + }, + [mockSnapB.id]: { + version: mockSnapB.manifest.version, + checksum: mockSnapB.manifest.source.shasum, + }, }, - }); + true, + ); // A is blocked and disabled expect(snapController.getSnap(mockSnapA.id)?.blocked).toBe(true); diff --git a/packages/snaps-controllers/src/snaps/SnapController.ts b/packages/snaps-controllers/src/snaps/SnapController.ts index 1d636e7379..c1795d6eaf 100644 --- a/packages/snaps-controllers/src/snaps/SnapController.ts +++ b/packages/snaps-controllers/src/snaps/SnapController.ts @@ -1471,6 +1471,7 @@ export class SnapController extends BaseController< }, {}, ), + true, ); await Promise.all( @@ -1496,6 +1497,7 @@ export class SnapController extends BaseController< const resolvedVersion = await this.#resolveAllowlistVersion( snap.id, preinstalledVersionRange, + true, ); if ( @@ -3100,11 +3102,13 @@ export class SnapController extends BaseController< async #resolveAllowlistVersion( snapId: SnapId, versionRange: SemVerRange, + skipRefetch = false, ): Promise { return await this.messenger.call( 'SnapRegistryController:resolveVersion', snapId, versionRange, + skipRefetch, ); } diff --git a/packages/snaps-controllers/src/snaps/registry/SnapRegistryController.ts b/packages/snaps-controllers/src/snaps/registry/SnapRegistryController.ts index 6db860ddfa..e1ed603771 100644 --- a/packages/snaps-controllers/src/snaps/registry/SnapRegistryController.ts +++ b/packages/snaps-controllers/src/snaps/registry/SnapRegistryController.ts @@ -321,11 +321,12 @@ export class SnapRegistryController extends BaseController< async get( snaps: SnapRegistryRequest, + skipRefetch = false, ): Promise> { return Object.entries(snaps).reduce< Promise> >(async (previousPromise, [snapId, snapInfo]) => { - const result = await this.#getSingle(snapId, snapInfo); + const result = await this.#getSingle(snapId, snapInfo, skipRefetch); const acc = await previousPromise; acc[snapId] = result; return acc;