Versie 0.2.0
This commit is contained in:
commit
e77d8fd373
495 files changed
+81026
No files matched your search
@@ -0,0 +1,24 @@
|
||||
// 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);
|
||||
}
|
||||
Reference in new issue
Block a user