// Bridge between the page (provider.js) and the background worker. window.addEventListener("message", async (e) => { if (e.source !== window || e.data?.__goostr !== "req") return; const { id, method, params } = e.data; let reply; try { reply = await chrome.runtime.sendMessage({ type: "nip07", method, params }); } catch (err) { reply = { error: String(err?.message || err) }; } window.postMessage({ __goostr: "res", id, ...(reply || { error: "No response from Goostr" }) }, location.origin); });