@unicitylabs/nostr-js-sdk 0.3.2 → 0.4.0-dev.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -42,6 +42,7 @@ const Event_js_1 = require("../protocol/Event.js");
42
42
  const EventKinds = __importStar(require("../protocol/EventKinds.js"));
43
43
  const WebSocketAdapter_js_1 = require("./WebSocketAdapter.js");
44
44
  const NIP17 = __importStar(require("../messaging/nip17.js"));
45
+ const NametagBinding_js_1 = require("../nametag/NametagBinding.js");
45
46
  /** Connection timeout in milliseconds */
46
47
  const CONNECTION_TIMEOUT_MS = 30000;
47
48
  /** Default options */
@@ -693,13 +694,36 @@ class NostrClient {
693
694
  }
694
695
  /**
695
696
  * Publish a nametag binding.
697
+ * Checks for existing claims by other pubkeys before publishing.
696
698
  * @param nametagId Nametag identifier
697
699
  * @param unicityAddress Unicity address
698
700
  * @returns Promise that resolves with success status
701
+ * @throws Error if nametag is invalid or already claimed by another pubkey
699
702
  */
700
- async publishNametagBinding(nametagId, unicityAddress) {
701
- const NametagBinding = await Promise.resolve().then(() => __importStar(require('../nametag/NametagBinding.js')));
702
- const event = await NametagBinding.createBindingEvent(this.keyManager, nametagId, unicityAddress);
703
+ async publishNametagBinding(nametagId, unicityAddress, identity) {
704
+ // Check if already claimed by another pubkey
705
+ const existingOwner = await this.queryPubkeyByNametag(nametagId);
706
+ if (existingOwner && existingOwner !== this.keyManager.getPublicKeyHex()) {
707
+ throw new Error(`Nametag "${nametagId}" is already claimed by another pubkey`);
708
+ }
709
+ const event = await (0, NametagBinding_js_1.createBindingEvent)(this.keyManager, nametagId, unicityAddress, undefined, identity);
710
+ try {
711
+ await this.publishEvent(event);
712
+ return true;
713
+ }
714
+ catch {
715
+ return false;
716
+ }
717
+ }
718
+ /**
719
+ * Publish a base identity binding (no nametag).
720
+ * Uses d-tag = SHA256('unicity:identity:' + nostrPubkey) so each wallet
721
+ * has exactly one identity binding. Subsequent calls replace the previous event.
722
+ * @param identity Identity parameters (publicKey, l1Address, directAddress)
723
+ * @returns true if published successfully
724
+ */
725
+ async publishIdentityBinding(identity) {
726
+ const event = (0, NametagBinding_js_1.createIdentityBindingEvent)(this.keyManager, identity);
703
727
  try {
704
728
  await this.publishEvent(event);
705
729
  return true;
@@ -749,36 +773,99 @@ class NostrClient {
749
773
  }
750
774
  }
751
775
  /**
752
- * Query for a public key by nametag.
753
- * @param nametagId Nametag identifier
754
- * @returns Promise that resolves with the public key hex, or null if not found
755
- */
756
- async queryPubkeyByNametag(nametagId) {
757
- const NametagBinding = await Promise.resolve().then(() => __importStar(require('../nametag/NametagBinding.js')));
758
- const filter = NametagBinding.createNametagToPubkeyFilter(nametagId);
776
+ * Query binding events with first-seen-wins anti-hijacking resolution.
777
+ *
778
+ * Strategy: first-seen-wins across authors, latest-wins for same author.
779
+ * - Across authors: the pubkey that first published wins (earliest created_at)
780
+ * - Same author: the most recent event is used (latest created_at = most complete data)
781
+ * - Tie-breaking: deterministic by lexicographic pubkey comparison (lowest wins)
782
+ *
783
+ * Events with invalid signatures are silently skipped to prevent relay injection attacks.
784
+ *
785
+ * Known limitations:
786
+ * - Timestamps are self-reported (NIP-01). An attacker can set created_at to 0.
787
+ * Chain-anchored proof of registration time is the only reliable defense.
788
+ * - TOCTOU: between conflict check and publish, another user can claim the same nametag.
789
+ * This is inherent to Nostr's eventually-consistent relay model.
790
+ *
791
+ * @param filter Subscription filter
792
+ * @param extractResult Callback to extract the desired result from the winning event
793
+ * @returns Promise resolving to the extracted result, or null
794
+ */
795
+ queryWithFirstSeenWins(filter, extractResult) {
759
796
  return new Promise((resolve) => {
797
+ let subscriptionId = '';
760
798
  const timeoutId = setTimeout(() => {
761
- this.unsubscribe(subscriptionId);
799
+ if (subscriptionId)
800
+ this.unsubscribe(subscriptionId);
762
801
  resolve(null);
763
802
  }, this.queryTimeoutMs);
764
- let result = null;
765
- let latestCreatedAt = 0;
766
- const subscriptionId = this.subscribe(filter, {
803
+ const authors = new Map();
804
+ subscriptionId = this.subscribe(filter, {
767
805
  onEvent: (event) => {
768
- // Keep the most recent binding
769
- if (event.created_at > latestCreatedAt) {
770
- latestCreatedAt = event.created_at;
771
- result = event.pubkey;
806
+ // Verify signature to prevent relay injection of forged events (#4)
807
+ if (!event.verify())
808
+ return;
809
+ const existing = authors.get(event.pubkey);
810
+ if (!existing) {
811
+ authors.set(event.pubkey, { firstSeen: event.created_at, latestEvent: event });
812
+ }
813
+ else {
814
+ if (event.created_at < existing.firstSeen) {
815
+ existing.firstSeen = event.created_at;
816
+ }
817
+ if (event.created_at > existing.latestEvent.created_at) {
818
+ existing.latestEvent = event;
819
+ }
772
820
  }
773
821
  },
774
822
  onEndOfStoredEvents: () => {
775
823
  clearTimeout(timeoutId);
776
824
  this.unsubscribe(subscriptionId);
777
- resolve(result);
825
+ let winnerEntry = null;
826
+ let winnerPubkey = '';
827
+ for (const [pubkey, entry] of authors) {
828
+ if (!winnerEntry
829
+ || entry.firstSeen < winnerEntry.firstSeen
830
+ || (entry.firstSeen === winnerEntry.firstSeen && pubkey < winnerPubkey)) {
831
+ winnerEntry = entry;
832
+ winnerPubkey = pubkey;
833
+ }
834
+ }
835
+ resolve(winnerEntry ? extractResult(winnerEntry.latestEvent) : null);
778
836
  },
779
837
  });
780
838
  });
781
839
  }
840
+ /**
841
+ * Query for a public key by nametag.
842
+ * Uses first-seen-wins anti-hijacking resolution.
843
+ * @param nametagId Nametag identifier
844
+ * @returns Promise that resolves with the public key hex, or null if not found
845
+ */
846
+ async queryPubkeyByNametag(nametagId) {
847
+ return this.queryWithFirstSeenWins((0, NametagBinding_js_1.createNametagToPubkeyFilter)(nametagId), (event) => event.pubkey);
848
+ }
849
+ /**
850
+ * Query for full binding info by nametag.
851
+ * Returns extended identity fields (chain pubkey, addresses, etc.) when available.
852
+ * Uses first-seen-wins across authors, latest-wins for same author.
853
+ * @param nametagId Nametag identifier
854
+ * @returns Promise that resolves with BindingInfo, or null if not found
855
+ */
856
+ async queryBindingByNametag(nametagId) {
857
+ return this.queryWithFirstSeenWins((0, NametagBinding_js_1.createNametagToPubkeyFilter)(nametagId), NametagBinding_js_1.parseBindingInfo);
858
+ }
859
+ /**
860
+ * Query for binding info by address (reverse lookup).
861
+ * Supports DIRECT://, PROXY://, alpha1..., or chain pubkey lookups.
862
+ * Uses first-seen-wins across authors, latest-wins for same author.
863
+ * @param address Address string
864
+ * @returns Promise that resolves with BindingInfo, or null if not found
865
+ */
866
+ async queryBindingByAddress(address) {
867
+ return this.queryWithFirstSeenWins((0, NametagBinding_js_1.createAddressToBindingFilter)(address), NametagBinding_js_1.parseBindingInfo);
868
+ }
782
869
  /**
783
870
  * Create and publish a signed event.
784
871
  * @param data Unsigned event data
@@ -1 +1 @@
1
- {"version":3,"file":"NostrClient.js","sourceRoot":"","sources":["../../../src/client/NostrClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NostrClient.js","sourceRoot":"","sources":["../../../src/client/NostrClient.ts"],"names":[],"mappings":"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"}
@@ -38,8 +38,11 @@ var __importStar = (this && this.__importStar) || (function () {
38
38
  })();
39
39
  Object.defineProperty(exports, "__esModule", { value: true });
40
40
  exports.createBindingEvent = createBindingEvent;
41
+ exports.createIdentityBindingEvent = createIdentityBindingEvent;
41
42
  exports.createNametagToPubkeyFilter = createNametagToPubkeyFilter;
43
+ exports.createAddressToBindingFilter = createAddressToBindingFilter;
42
44
  exports.createPubkeyToNametagFilter = createPubkeyToNametagFilter;
45
+ exports.parseBindingInfo = parseBindingInfo;
43
46
  exports.parseNametagHashFromEvent = parseNametagHashFromEvent;
44
47
  exports.parseAddressFromEvent = parseAddressFromEvent;
45
48
  exports.isValidBindingEvent = isValidBindingEvent;
@@ -47,7 +50,7 @@ const Event_js_1 = require("../protocol/Event.js");
47
50
  const Filter_js_1 = require("../protocol/Filter.js");
48
51
  const EventKinds = __importStar(require("../protocol/EventKinds.js"));
49
52
  const NametagUtils = __importStar(require("./NametagUtils.js"));
50
- /** Default country code for phone number normalization */
53
+ /** Default country code for phone number normalization (shared with NametagUtils) */
51
54
  const DEFAULT_COUNTRY = 'US';
52
55
  /**
53
56
  * Create a nametag binding event.
@@ -65,27 +68,99 @@ const DEFAULT_COUNTRY = 'US';
65
68
  * @param nametagId Nametag identifier (phone number or username)
66
69
  * @param unicityAddress Unicity blockchain address
67
70
  * @param defaultCountry Default country code for phone normalization
71
+ * @param identity Optional extended identity parameters
68
72
  * @returns Signed event
69
73
  */
70
- async function createBindingEvent(keyManager, nametagId, unicityAddress, defaultCountry = DEFAULT_COUNTRY) {
74
+ async function createBindingEvent(keyManager, nametagId, unicityAddress, defaultCountry = DEFAULT_COUNTRY, identity) {
75
+ if (!NametagUtils.isValidNametag(nametagId, defaultCountry)) {
76
+ throw new Error(`Invalid nametag: "${nametagId}". Must be 3-20 chars [a-z0-9_-] or a valid phone number.`);
77
+ }
71
78
  const hashedNametag = NametagUtils.hashNametag(nametagId, defaultCountry);
72
79
  const content = {
73
80
  nametag_hash: hashedNametag,
74
81
  address: unicityAddress,
75
- verified: Date.now(),
82
+ verified: Math.floor(Date.now() / 1000),
76
83
  };
84
+ const tags = [
85
+ ['d', hashedNametag],
86
+ ['nametag', hashedNametag],
87
+ ['t', hashedNametag],
88
+ ['address', unicityAddress],
89
+ ['t', NametagUtils.hashAddressForTag(unicityAddress)],
90
+ ];
91
+ // Add extended identity fields when provided
92
+ if (identity) {
93
+ const encryptedNametag = await NametagUtils.encryptNametag(nametagId, keyManager.getPrivateKeyHex());
94
+ content.encrypted_nametag = encryptedNametag;
95
+ // Plaintext nametag is intentionally stored in content for public resolution.
96
+ // Nametags must be publicly resolvable (sending to @alice requires knowing her
97
+ // addresses). Tag hashing provides relay-level privacy (operators see hashes in
98
+ // indexed tags, not plaintext). The encrypted copy enables private key recovery.
99
+ content.nametag = nametagId;
100
+ if (identity.publicKey) {
101
+ content.public_key = identity.publicKey;
102
+ tags.push(['t', NametagUtils.hashAddressForTag(identity.publicKey)]);
103
+ tags.push(['pubkey', identity.publicKey]);
104
+ }
105
+ if (identity.l1Address) {
106
+ content.l1_address = identity.l1Address;
107
+ tags.push(['t', NametagUtils.hashAddressForTag(identity.l1Address)]);
108
+ tags.push(['l1', identity.l1Address]);
109
+ }
110
+ if (identity.directAddress) {
111
+ content.direct_address = identity.directAddress;
112
+ tags.push(['t', NametagUtils.hashAddressForTag(identity.directAddress)]);
113
+ }
114
+ if (identity.proxyAddress) {
115
+ content.proxy_address = identity.proxyAddress;
116
+ tags.push(['t', NametagUtils.hashAddressForTag(identity.proxyAddress)]);
117
+ }
118
+ }
77
119
  const event = Event_js_1.Event.create(keyManager, {
78
120
  kind: EventKinds.APP_DATA,
79
- tags: [
80
- ['d', hashedNametag],
81
- ['nametag', hashedNametag],
82
- ['t', hashedNametag],
83
- ['address', unicityAddress],
84
- ],
121
+ tags,
85
122
  content: JSON.stringify(content),
86
123
  });
87
124
  return event;
88
125
  }
126
+ /**
127
+ * Create a base identity binding event (no nametag).
128
+ * Uses d-tag = SHA256('unicity:identity:' + nostrPubkey) so each wallet
129
+ * has exactly one identity binding event.
130
+ *
131
+ * @param keyManager Key manager with signing keys
132
+ * @param identity Identity parameters (publicKey, l1Address, directAddress)
133
+ * @returns Signed event
134
+ */
135
+ function createIdentityBindingEvent(keyManager, identity) {
136
+ const nostrPubkey = keyManager.getPublicKeyHex();
137
+ const dTag = NametagUtils.sha256Hex('unicity:identity:' + nostrPubkey);
138
+ const content = {};
139
+ const tags = [
140
+ ['d', dTag],
141
+ ];
142
+ if (identity.publicKey) {
143
+ content.public_key = identity.publicKey;
144
+ tags.push(['t', NametagUtils.hashAddressForTag(identity.publicKey)]);
145
+ }
146
+ if (identity.l1Address) {
147
+ content.l1_address = identity.l1Address;
148
+ tags.push(['t', NametagUtils.hashAddressForTag(identity.l1Address)]);
149
+ }
150
+ if (identity.directAddress) {
151
+ content.direct_address = identity.directAddress;
152
+ tags.push(['t', NametagUtils.hashAddressForTag(identity.directAddress)]);
153
+ }
154
+ if (identity.proxyAddress) {
155
+ content.proxy_address = identity.proxyAddress;
156
+ tags.push(['t', NametagUtils.hashAddressForTag(identity.proxyAddress)]);
157
+ }
158
+ return Event_js_1.Event.create(keyManager, {
159
+ kind: EventKinds.APP_DATA,
160
+ tags,
161
+ content: JSON.stringify(content),
162
+ });
163
+ }
89
164
  /**
90
165
  * Create a filter to query pubkey by nametag.
91
166
  * Query direction: nametag → pubkey
@@ -101,6 +176,20 @@ function createNametagToPubkeyFilter(nametagId, defaultCountry = DEFAULT_COUNTRY
101
176
  .tTags(hashedNametag)
102
177
  .build();
103
178
  }
179
+ /**
180
+ * Create a filter to query binding events by address hash.
181
+ * Query direction: address → binding event
182
+ *
183
+ * @param address Address string (DIRECT://..., alpha1..., PROXY://..., or chain pubkey)
184
+ * @returns Filter for nametag binding events
185
+ */
186
+ function createAddressToBindingFilter(address) {
187
+ const hashedAddress = NametagUtils.hashAddressForTag(address);
188
+ return Filter_js_1.Filter.builder()
189
+ .kinds(EventKinds.APP_DATA)
190
+ .tTags(hashedAddress)
191
+ .build();
192
+ }
104
193
  /**
105
194
  * Create a filter to query nametags by pubkey.
106
195
  * Query direction: pubkey → nametags
@@ -115,6 +204,39 @@ function createPubkeyToNametagFilter(nostrPubkey) {
115
204
  .limit(10)
116
205
  .build();
117
206
  }
207
+ /**
208
+ * Parse binding info from an event.
209
+ * Extracts both basic and extended identity fields from event content when possible.
210
+ * On parse failure, returns minimal binding info.
211
+ *
212
+ * @param event Binding event
213
+ * @returns BindingInfo with parsed fields when possible, or minimal info if content cannot be parsed
214
+ */
215
+ function parseBindingInfo(event) {
216
+ try {
217
+ const content = JSON.parse(event.content);
218
+ return {
219
+ transportPubkey: event.pubkey,
220
+ publicKey: content.public_key,
221
+ l1Address: content.l1_address,
222
+ directAddress: content.direct_address,
223
+ proxyAddress: content.proxy_address,
224
+ nametag: content.nametag,
225
+ timestamp: event.created_at * 1000,
226
+ };
227
+ }
228
+ catch (e) {
229
+ // Content is not valid JSON — return minimal info.
230
+ // This can happen with old-format events or data corruption.
231
+ if (typeof console !== 'undefined') {
232
+ console.warn(`[nostr-sdk] Failed to parse binding event content (event ${event.id?.slice(0, 8)}):`, e);
233
+ }
234
+ return {
235
+ transportPubkey: event.pubkey,
236
+ timestamp: event.created_at * 1000,
237
+ };
238
+ }
239
+ }
118
240
  /**
119
241
  * Parse the hashed nametag from a binding event.
120
242
  * Tries tags first, then content JSON.
@@ -1 +1 @@
1
- {"version":3,"file":"NametagBinding.js","sourceRoot":"","sources":["../../../src/nametag/NametagBinding.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NametagBinding.js","sourceRoot":"","sources":["../../../src/nametag/NametagBinding.ts"],"names":[],"mappings":"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"}