@unicitylabs/sphere-sdk 0.4.7 → 0.4.8

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.
@@ -118,8 +118,8 @@ function getIpfsGatewayUrls(isSecure) {
118
118
  }
119
119
  var DEFAULT_BASE_PATH = "m/44'/0'/0'";
120
120
  var DEFAULT_DERIVATION_PATH = `${DEFAULT_BASE_PATH}/0/0`;
121
- var DEFAULT_ELECTRUM_URL = "wss://fulcrum.alpha.unicity.network:50004";
122
- var TEST_ELECTRUM_URL = "wss://fulcrum.alpha.testnet.unicity.network:50004";
121
+ var DEFAULT_ELECTRUM_URL = "wss://fulcrum.unicity.network:50004";
122
+ var TEST_ELECTRUM_URL = "wss://fulcrum.unicity.network:50004";
123
123
  var TOKEN_REGISTRY_URL = "https://raw.githubusercontent.com/unicitynetwork/unicity-ids/refs/heads/main/unicity-ids.testnet.json";
124
124
  var TOKEN_REGISTRY_REFRESH_INTERVAL = 36e5;
125
125
  var TEST_NOSTR_RELAYS = [
@@ -2371,6 +2371,44 @@ var NostrTransportProvider = class {
2371
2371
  };
2372
2372
  }
2373
2373
  }
2374
+ /**
2375
+ * Batch-resolve multiple transport pubkeys to peer info.
2376
+ * Used for HD address discovery — single relay query with multi-author filter.
2377
+ */
2378
+ async discoverAddresses(transportPubkeys) {
2379
+ this.ensureConnected();
2380
+ if (transportPubkeys.length === 0) return [];
2381
+ const events = await this.queryEvents({
2382
+ kinds: [EVENT_KINDS.NAMETAG_BINDING],
2383
+ authors: transportPubkeys,
2384
+ limit: transportPubkeys.length * 2
2385
+ });
2386
+ if (events.length === 0) return [];
2387
+ const byAuthor = /* @__PURE__ */ new Map();
2388
+ for (const event of events) {
2389
+ const existing = byAuthor.get(event.pubkey);
2390
+ if (!existing || event.created_at > existing.created_at) {
2391
+ byAuthor.set(event.pubkey, event);
2392
+ }
2393
+ }
2394
+ const results = [];
2395
+ for (const [pubkey, event] of byAuthor) {
2396
+ try {
2397
+ const content = JSON.parse(event.content);
2398
+ results.push({
2399
+ nametag: content.nametag || void 0,
2400
+ transportPubkey: pubkey,
2401
+ chainPubkey: content.public_key || "",
2402
+ l1Address: content.l1_address || "",
2403
+ directAddress: content.direct_address || "",
2404
+ proxyAddress: content.proxy_address || void 0,
2405
+ timestamp: event.created_at * 1e3
2406
+ });
2407
+ } catch {
2408
+ }
2409
+ }
2410
+ return results;
2411
+ }
2374
2412
  /**
2375
2413
  * Recover nametag for the current identity by searching for encrypted nametag events
2376
2414
  * Used after wallet import to recover associated nametag