aboutsummaryrefslogtreecommitdiffstats
path: root/names/server.js
diff options
context:
space:
mode:
Diffstat (limited to 'names/server.js')
-rw-r--r--names/server.js5
1 files changed, 4 insertions, 1 deletions
diff --git a/names/server.js b/names/server.js
index df823f9..3021621 100644
--- a/names/server.js
+++ b/names/server.js
@@ -665,8 +665,11 @@ Bun.serve({
// username again without the user retyping it. Public data (DNS is public).
const pm = url.pathname.match(/^\/pubkey\/([0-9a-f]{64})$/);
if (pm && req.method === 'GET') {
+ // optional domain filter, so a staging claim can't shadow a mainnet
+ // name (or vice versa) when a wallet asks who it is
+ const domFilter = (url.searchParams.get('domain') || '').toLowerCase();
const mine = Object.entries(state.names)
- .filter(([, r]) => r.pubkey === pm[1])
+ .filter(([k, r]) => r.pubkey === pm[1] && (!domFilter || k.endsWith('@' + domFilter)))
.sort((a, b) => (b[1].updated || 0) - (a[1].updated || 0));
if (!mine.length) return json({});
const [key, r] = mine[0];