diff --git a/lavamoat/browserify/beta/policy.json b/lavamoat/browserify/beta/policy.json index 987ae295a..6b48762c4 100644 --- a/lavamoat/browserify/beta/policy.json +++ b/lavamoat/browserify/beta/policy.json @@ -750,6 +750,7 @@ }, "@metamask/controller-utils": { "globals": { + "URL": true, "console.error": true, "fetch": true, "setTimeout": true diff --git a/lavamoat/browserify/desktop/policy.json b/lavamoat/browserify/desktop/policy.json index 826073a45..f84728167 100644 --- a/lavamoat/browserify/desktop/policy.json +++ b/lavamoat/browserify/desktop/policy.json @@ -750,6 +750,7 @@ }, "@metamask/controller-utils": { "globals": { + "URL": true, "console.error": true, "fetch": true, "setTimeout": true diff --git a/lavamoat/browserify/flask/policy.json b/lavamoat/browserify/flask/policy.json index 826073a45..f84728167 100644 --- a/lavamoat/browserify/flask/policy.json +++ b/lavamoat/browserify/flask/policy.json @@ -750,6 +750,7 @@ }, "@metamask/controller-utils": { "globals": { + "URL": true, "console.error": true, "fetch": true, "setTimeout": true diff --git a/lavamoat/browserify/main/policy.json b/lavamoat/browserify/main/policy.json index 987ae295a..6b48762c4 100644 --- a/lavamoat/browserify/main/policy.json +++ b/lavamoat/browserify/main/policy.json @@ -750,6 +750,7 @@ }, "@metamask/controller-utils": { "globals": { + "URL": true, "console.error": true, "fetch": true, "setTimeout": true diff --git a/package.json b/package.json index b7f0f3568..01d1e9abc 100644 --- a/package.json +++ b/package.json @@ -232,7 +232,7 @@ "@metamask/assets-controllers": "^6.0.0", "@metamask/base-controller": "^2.0.0", "@metamask/contract-metadata": "^2.3.1", - "@metamask/controller-utils": "^3.2.0", + "@metamask/controller-utils": "^3.3.0", "@metamask/design-tokens": "^1.9.0", "@metamask/desktop": "^0.3.0", "@metamask/eth-json-rpc-infura": "^8.0.0", diff --git a/ui/components/app/signature-request-siwe/signature-request-siwe.js b/ui/components/app/signature-request-siwe/signature-request-siwe.js index 5fab50ab2..82f46e746 100644 --- a/ui/components/app/signature-request-siwe/signature-request-siwe.js +++ b/ui/components/app/signature-request-siwe/signature-request-siwe.js @@ -2,6 +2,7 @@ import React, { useCallback, useContext, useState } from 'react'; import PropTypes from 'prop-types'; import { useSelector } from 'react-redux'; import log from 'loglevel'; +import { isValidSIWEOrigin } from '@metamask/controller-utils'; import { BannerAlert, Text } from '../../component-library'; import Popover from '../../ui/popover'; import Checkbox from '../../ui/check-box'; @@ -51,17 +52,7 @@ export default function SignatureRequestSIWE({ const isMatchingAddress = from.toLowerCase() === parsedMessage.address.toLowerCase(); - const checkSIWEDomain = () => { - let isSIWEDomainValid = false; - - if (origin) { - const { host } = new URL(origin); - isSIWEDomainValid = parsedMessage.domain === host; - } - return isSIWEDomainValid; - }; - - const isSIWEDomainValid = checkSIWEDomain(); + const isSIWEDomainValid = isValidSIWEOrigin(txData.msgParams); const [isShowingDomainWarning, setIsShowingDomainWarning] = useState(false); const [hasAgreedToDomainWarning, setHasAgreedToDomainWarning] = diff --git a/yarn.lock b/yarn.lock index e69767e1b..ee7c95592 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3725,9 +3725,9 @@ __metadata: languageName: node linkType: hard -"@metamask/controller-utils@npm:^3.0.0, @metamask/controller-utils@npm:^3.1.0, @metamask/controller-utils@npm:^3.2.0": - version: 3.2.0 - resolution: "@metamask/controller-utils@npm:3.2.0" +"@metamask/controller-utils@npm:^3.0.0, @metamask/controller-utils@npm:^3.1.0, @metamask/controller-utils@npm:^3.2.0, @metamask/controller-utils@npm:^3.3.0": + version: 3.3.0 + resolution: "@metamask/controller-utils@npm:3.3.0" dependencies: "@metamask/utils": ^5.0.1 "@spruceid/siwe-parser": 1.1.3 @@ -3736,7 +3736,7 @@ __metadata: ethereumjs-util: ^7.0.10 ethjs-unit: ^0.1.6 fast-deep-equal: ^3.1.3 - checksum: 06b27f9273719ca6eb556c032b77e9066c8d38ad4ff081896a68046e1e4764482f244bf849d51fc622f425e54c9063cc697abdb0cb2f2aaab9a0d8807f2310f3 + checksum: 54e19f7bfd7b7762913313877484f0cfe9ac3e66cf43eabc6573e22433a7a36154a1f04fa5834807644a780b4b2200e0cafc06a0f0ef9fcead44304d742b2ad3 languageName: node linkType: hard @@ -24063,7 +24063,7 @@ __metadata: "@metamask/auto-changelog": ^2.1.0 "@metamask/base-controller": ^2.0.0 "@metamask/contract-metadata": ^2.3.1 - "@metamask/controller-utils": ^3.2.0 + "@metamask/controller-utils": ^3.3.0 "@metamask/design-tokens": ^1.9.0 "@metamask/desktop": ^0.3.0 "@metamask/eslint-config": ^9.0.0