diff --git a/public/.well-known/nostr.json b/public/.well-known/nostr.json
new file mode 100644
index 0000000..99ce39f
--- /dev/null
+++ b/public/.well-known/nostr.json
@@ -0,0 +1,6 @@
+{
+ "names": {
+ "_": "ce3cd5ba3ae52cec4e4b267fb29f1d2a526a5f4b8e8475d8a603a63c8925295f",
+ "verbiricha": "7fa56f5d6962ab1e3cd424e758c3002b8665f7b0d8dcee9fe9e288d7751ac194"
+ }
+}
diff --git a/src/components/nostr/GrimoireUsername.tsx b/src/components/nostr/GrimoireUsername.tsx
index 5a9fa37..83460f0 100644
--- a/src/components/nostr/GrimoireUsername.tsx
+++ b/src/components/nostr/GrimoireUsername.tsx
@@ -32,7 +32,7 @@ export function GrimoireUsername({
)}
title={`Grimoire member: ${member.nip05}`}
>
- {member.username}@grimoire.pro
+ {member.username}@grimoire.rocks
{showIcon && (
{
expect(member).toBeDefined();
expect(member?.username).toBe("_");
expect(member?.pubkey).toBe(underscorePubkey);
- expect(member?.nip05).toBe("_@grimoire.pro");
+ expect(member?.nip05).toBe("_@grimoire.rocks");
});
it("should return member info for verbiricha username", () => {
@@ -67,7 +67,7 @@ describe("Grimoire Members", () => {
expect(member).toBeDefined();
expect(member?.username).toBe("verbiricha");
expect(member?.pubkey).toBe(verbirichaPubkey);
- expect(member?.nip05).toBe("verbiricha@grimoire.pro");
+ expect(member?.nip05).toBe("verbiricha@grimoire.rocks");
});
it("should return undefined for non-member", () => {
@@ -83,15 +83,15 @@ describe("Grimoire Members", () => {
});
describe("getGrimoireMemberByNip05", () => {
- it("should return member info for _@grimoire.pro", () => {
- const member = getGrimoireMemberByNip05("_@grimoire.pro");
+ it("should return member info for _@grimoire.rocks", () => {
+ const member = getGrimoireMemberByNip05("_@grimoire.rocks");
expect(member).toBeDefined();
expect(member?.username).toBe("_");
expect(member?.pubkey).toBe(underscorePubkey);
});
- it("should return member info for verbiricha@grimoire.pro", () => {
- const member = getGrimoireMemberByNip05("verbiricha@grimoire.pro");
+ it("should return member info for verbiricha@grimoire.rocks", () => {
+ const member = getGrimoireMemberByNip05("verbiricha@grimoire.rocks");
expect(member).toBeDefined();
expect(member?.username).toBe("verbiricha");
expect(member?.pubkey).toBe(verbirichaPubkey);
@@ -122,9 +122,9 @@ describe("Grimoire Members", () => {
describe("getGrimoireNip05", () => {
it("should return NIP-05 for member", () => {
- expect(getGrimoireNip05(underscorePubkey)).toBe("_@grimoire.pro");
+ expect(getGrimoireNip05(underscorePubkey)).toBe("_@grimoire.rocks");
expect(getGrimoireNip05(verbirichaPubkey)).toBe(
- "verbiricha@grimoire.pro",
+ "verbiricha@grimoire.rocks",
);
});
diff --git a/src/lib/grimoire-members.ts b/src/lib/grimoire-members.ts
index b238599..02f7eb0 100644
--- a/src/lib/grimoire-members.ts
+++ b/src/lib/grimoire-members.ts
@@ -25,12 +25,12 @@ export const GRIMOIRE_MEMBERS: readonly GrimoireMember[] = [
{
username: "_",
pubkey: "ce3cd5ba3ae52cec4e4b267fb29f1d2a526a5f4b8e8475d8a603a63c8925295f",
- nip05: "_@grimoire.pro",
+ nip05: "_@grimoire.rocks",
},
{
username: "verbiricha",
pubkey: "7fa56f5d6962ab1e3cd424e758c3002b8665f7b0d8dcee9fe9e288d7751ac194",
- nip05: "verbiricha@grimoire.pro",
+ nip05: "verbiricha@grimoire.rocks",
},
] as const;
diff --git a/vercel.json b/vercel.json
index 3a48e56..843a1da 100644
--- a/vercel.json
+++ b/vercel.json
@@ -1,3 +1,31 @@
{
- "rewrites": [{ "source": "/(.*)", "destination": "/" }]
+ "headers": [
+ {
+ "source": "/.well-known/nostr.json",
+ "headers": [
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ },
+ {
+ "key": "Access-Control-Allow-Origin",
+ "value": "*"
+ },
+ {
+ "key": "Access-Control-Allow-Methods",
+ "value": "GET, OPTIONS"
+ },
+ {
+ "key": "Cache-Control",
+ "value": "public, max-age=3600"
+ }
+ ]
+ }
+ ],
+ "rewrites": [
+ {
+ "source": "/((?!.well-known).*)",
+ "destination": "/"
+ }
+ ]
}