// Generated, do not edit. sha256:ae316d9b957c83f15f4beedd3c718d48727175efe4b7a269554f9584d612e439 import { CONFIG } from './config.js'; export function originOf(url) { try { return new URL(url).origin; } catch { return null; } } const NETWORK_ORIGIN = /^(https?|wss?):\/\/[^\s;,'"]+$/; const networkOriginOf = (url) => { const o = originOf(url); return o && NETWORK_ORIGIN.test(o) ? o : null; }; export function connectSrcOrigins(explorerUrls = []) { return [...new Set([CONFIG.PRICE_SOURCES.MEMPOOL_PUBLIC_BASE, ...explorerUrls] .map(networkOriginOf).filter(Boolean))]; } export function originAllowedByCsp(url, eigenOrigin = null, explorerUrls = []) { const origin = originOf(url); if (!origin) return false; if (eigenOrigin && origin === originOf(eigenOrigin)) return true; return connectSrcOrigins(explorerUrls).includes(origin); }