diff --git a/packages/snaps-controllers/package.json b/packages/snaps-controllers/package.json index 504d44d4d7..24b5c6a14c 100644 --- a/packages/snaps-controllers/package.json +++ b/packages/snaps-controllers/package.json @@ -90,7 +90,7 @@ "@metamask/phishing-controller": "^15.0.0", "@metamask/post-message-stream": "^10.0.0", "@metamask/rpc-errors": "^7.0.3", - "@metamask/snaps-registry": "^3.3.0", + "@metamask/snaps-registry": "^4.0.0", "@metamask/snaps-rpc-methods": "workspace:^", "@metamask/snaps-sdk": "workspace:^", "@metamask/snaps-utils": "workspace:^", diff --git a/packages/snaps-controllers/src/snaps/registry/json.ts b/packages/snaps-controllers/src/snaps/registry/json.ts index b3850f1b33..ea86ed2c8d 100644 --- a/packages/snaps-controllers/src/snaps/registry/json.ts +++ b/packages/snaps-controllers/src/snaps/registry/json.ts @@ -244,7 +244,7 @@ export class JsonSnapsRegistry extends BaseController< this.#safeFetch(this.#url.signature), ]); - this.#verifySignature(database, signature); + await this.#verifySignature(database, signature); this.update((state) => { state.database = JSON.parse(database); @@ -401,12 +401,11 @@ export class JsonSnapsRegistry extends BaseController< * @param database - The registry database. * @param signature - The signature of the registry. * @throws If the signature is invalid. - * @private */ - #verifySignature(database: string, signature: string) { + async #verifySignature(database: string, signature: string) { assert(this.#publicKey, 'No public key provided.'); - const valid = verify({ + const valid = await verify({ registry: database, signature: JSON.parse(signature), publicKey: this.#publicKey, diff --git a/packages/snaps-utils/package.json b/packages/snaps-utils/package.json index ab514813d9..b1c0650595 100644 --- a/packages/snaps-utils/package.json +++ b/packages/snaps-utils/package.json @@ -85,7 +85,7 @@ "@metamask/permission-controller": "^12.1.1", "@metamask/rpc-errors": "^7.0.3", "@metamask/slip44": "^4.3.0", - "@metamask/snaps-registry": "^3.3.0", + "@metamask/snaps-registry": "^4.0.0", "@metamask/snaps-sdk": "workspace:^", "@metamask/superstruct": "^3.2.1", "@metamask/utils": "^11.8.1", diff --git a/yarn.lock b/yarn.lock index 92547ee8f0..4db42b462e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4265,7 +4265,7 @@ __metadata: "@metamask/phishing-controller": "npm:^15.0.0" "@metamask/post-message-stream": "npm:^10.0.0" "@metamask/rpc-errors": "npm:^7.0.3" - "@metamask/snaps-registry": "npm:^3.3.0" + "@metamask/snaps-registry": "npm:^4.0.0" "@metamask/snaps-rpc-methods": "workspace:^" "@metamask/snaps-sdk": "workspace:^" "@metamask/snaps-utils": "workspace:^" @@ -4416,15 +4416,15 @@ __metadata: languageName: unknown linkType: soft -"@metamask/snaps-registry@npm:^3.3.0": - version: 3.3.0 - resolution: "@metamask/snaps-registry@npm:3.3.0" +"@metamask/snaps-registry@npm:^4.0.0": + version: 4.0.0 + resolution: "@metamask/snaps-registry@npm:4.0.0" dependencies: "@metamask/superstruct": "npm:^3.2.1" "@metamask/utils": "npm:^11.4.0" "@noble/curves": "npm:^1.2.0" "@noble/hashes": "npm:^1.3.2" - checksum: 10/1a53ad150318cbaf703b639a3a831a6ac57f84b2266ac176e6b0d470df31ecf66f0f885256f17a7acae265ada085c904ba97f1e2cb5371e136bf90778ffaed0a + checksum: 10/62387701d0433402bbe93495f90e24f2df3bdff2b063402b029294fada62c9f389048a2c68a1e51b260cb10cec949dd0c80596bf6295abc4175f5039c486a108 languageName: node linkType: hard @@ -4605,7 +4605,7 @@ __metadata: "@metamask/post-message-stream": "npm:^10.0.0" "@metamask/rpc-errors": "npm:^7.0.3" "@metamask/slip44": "npm:^4.3.0" - "@metamask/snaps-registry": "npm:^3.3.0" + "@metamask/snaps-registry": "npm:^4.0.0" "@metamask/snaps-sdk": "workspace:^" "@metamask/superstruct": "npm:^3.2.1" "@metamask/utils": "npm:^11.8.1"