@openclaw/nostr 2026.7.1-beta.2 → 2026.7.1-beta.4
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.
- package/dist/api.js +5 -16
- package/dist/{channel-CV0aX1uq.js → channel-B2Y66pl3.js} +11 -4
- package/dist/channel-plugin-api.js +1 -1
- package/dist/doctor-contract-api.js +3 -22
- package/dist/setup-api.js +1 -1
- package/dist/setup-plugin-api.js +1 -1
- package/dist/{setup-surface-BqBa2C0K.js → setup-surface-CKamwGa3.js} +1 -1
- package/node_modules/nostr-tools/README.md +37 -15
- package/node_modules/nostr-tools/lib/cjs/abstract-pool.js +134 -6
- package/node_modules/nostr-tools/lib/cjs/abstract-pool.js.map +4 -4
- package/node_modules/nostr-tools/lib/cjs/abstract-relay.js +35 -6
- package/node_modules/nostr-tools/lib/cjs/abstract-relay.js.map +2 -2
- package/node_modules/nostr-tools/lib/cjs/filter.js.map +1 -1
- package/node_modules/nostr-tools/lib/cjs/index.js +401 -72
- package/node_modules/nostr-tools/lib/cjs/index.js.map +4 -4
- package/node_modules/nostr-tools/lib/cjs/kinds.js +196 -4
- package/node_modules/nostr-tools/lib/cjs/kinds.js.map +2 -2
- package/node_modules/nostr-tools/lib/cjs/nip10.js +5 -4
- package/node_modules/nostr-tools/lib/cjs/nip10.js.map +2 -2
- package/node_modules/nostr-tools/lib/cjs/nip17.js.map +2 -2
- package/node_modules/nostr-tools/lib/cjs/nip18.js.map +2 -2
- package/node_modules/nostr-tools/lib/cjs/nip19.js +2 -0
- package/node_modules/nostr-tools/lib/cjs/nip19.js.map +2 -2
- package/node_modules/nostr-tools/lib/cjs/nip21.js +2 -0
- package/node_modules/nostr-tools/lib/cjs/nip21.js.map +2 -2
- package/node_modules/nostr-tools/lib/cjs/nip22.js +11 -5
- package/node_modules/nostr-tools/lib/cjs/nip22.js.map +2 -2
- package/node_modules/nostr-tools/lib/cjs/nip25.js.map +1 -1
- package/node_modules/nostr-tools/lib/cjs/nip27.js +2 -0
- package/node_modules/nostr-tools/lib/cjs/nip27.js.map +2 -2
- package/node_modules/nostr-tools/lib/cjs/nip28.js.map +2 -2
- package/node_modules/nostr-tools/lib/cjs/nip29.js +2 -0
- package/node_modules/nostr-tools/lib/cjs/nip29.js.map +2 -2
- package/node_modules/nostr-tools/lib/cjs/nip42.js.map +2 -2
- package/node_modules/nostr-tools/lib/cjs/nip45.js +183 -0
- package/node_modules/nostr-tools/lib/cjs/nip45.js.map +7 -0
- package/node_modules/nostr-tools/lib/cjs/nip46.js +149 -9
- package/node_modules/nostr-tools/lib/cjs/nip46.js.map +4 -4
- package/node_modules/nostr-tools/lib/cjs/nip47.js.map +2 -2
- package/node_modules/nostr-tools/lib/cjs/nip49.js.map +2 -2
- package/node_modules/nostr-tools/lib/cjs/nip57.js.map +1 -1
- package/node_modules/nostr-tools/lib/cjs/nip58.js.map +2 -2
- package/node_modules/nostr-tools/lib/cjs/nip59.js.map +2 -2
- package/node_modules/nostr-tools/lib/cjs/nip75.js.map +2 -2
- package/node_modules/nostr-tools/lib/cjs/nip94.js.map +2 -2
- package/node_modules/nostr-tools/lib/cjs/nip98.js.map +2 -2
- package/node_modules/nostr-tools/lib/cjs/nip99.js.map +2 -2
- package/node_modules/nostr-tools/lib/cjs/nipb0.js +1064 -0
- package/node_modules/nostr-tools/lib/cjs/nipb0.js.map +7 -0
- package/node_modules/nostr-tools/lib/cjs/pool.js +134 -6
- package/node_modules/nostr-tools/lib/cjs/pool.js.map +4 -4
- package/node_modules/nostr-tools/lib/cjs/references.js +2 -0
- package/node_modules/nostr-tools/lib/cjs/references.js.map +2 -2
- package/node_modules/nostr-tools/lib/cjs/relay.js +35 -6
- package/node_modules/nostr-tools/lib/cjs/relay.js.map +2 -2
- package/node_modules/nostr-tools/lib/esm/abstract-pool.js +134 -6
- package/node_modules/nostr-tools/lib/esm/abstract-pool.js.map +4 -4
- package/node_modules/nostr-tools/lib/esm/abstract-relay.js +35 -6
- package/node_modules/nostr-tools/lib/esm/abstract-relay.js.map +2 -2
- package/node_modules/nostr-tools/lib/esm/filter.js.map +1 -1
- package/node_modules/nostr-tools/lib/esm/index.js +377 -48
- package/node_modules/nostr-tools/lib/esm/index.js.map +4 -4
- package/node_modules/nostr-tools/lib/esm/kinds.js +196 -4
- package/node_modules/nostr-tools/lib/esm/kinds.js.map +2 -2
- package/node_modules/nostr-tools/lib/esm/nip10.js +5 -4
- package/node_modules/nostr-tools/lib/esm/nip10.js.map +2 -2
- package/node_modules/nostr-tools/lib/esm/nip17.js.map +2 -2
- package/node_modules/nostr-tools/lib/esm/nip18.js.map +2 -2
- package/node_modules/nostr-tools/lib/esm/nip19.js +2 -0
- package/node_modules/nostr-tools/lib/esm/nip19.js.map +2 -2
- package/node_modules/nostr-tools/lib/esm/nip21.js +2 -0
- package/node_modules/nostr-tools/lib/esm/nip21.js.map +2 -2
- package/node_modules/nostr-tools/lib/esm/nip22.js +11 -5
- package/node_modules/nostr-tools/lib/esm/nip22.js.map +2 -2
- package/node_modules/nostr-tools/lib/esm/nip25.js.map +1 -1
- package/node_modules/nostr-tools/lib/esm/nip27.js +2 -0
- package/node_modules/nostr-tools/lib/esm/nip27.js.map +2 -2
- package/node_modules/nostr-tools/lib/esm/nip28.js.map +2 -2
- package/node_modules/nostr-tools/lib/esm/nip29.js +2 -0
- package/node_modules/nostr-tools/lib/esm/nip29.js.map +2 -2
- package/node_modules/nostr-tools/lib/esm/nip42.js.map +2 -2
- package/node_modules/nostr-tools/lib/esm/nip45.js +162 -0
- package/node_modules/nostr-tools/lib/esm/nip45.js.map +7 -0
- package/node_modules/nostr-tools/lib/esm/nip46.js +149 -9
- package/node_modules/nostr-tools/lib/esm/nip46.js.map +4 -4
- package/node_modules/nostr-tools/lib/esm/nip47.js.map +2 -2
- package/node_modules/nostr-tools/lib/esm/nip49.js.map +2 -2
- package/node_modules/nostr-tools/lib/esm/nip57.js.map +1 -1
- package/node_modules/nostr-tools/lib/esm/nip58.js.map +2 -2
- package/node_modules/nostr-tools/lib/esm/nip59.js.map +2 -2
- package/node_modules/nostr-tools/lib/esm/nip75.js.map +2 -2
- package/node_modules/nostr-tools/lib/esm/nip94.js.map +2 -2
- package/node_modules/nostr-tools/lib/esm/nip98.js.map +2 -2
- package/node_modules/nostr-tools/lib/esm/nip99.js.map +2 -2
- package/node_modules/nostr-tools/lib/esm/nipb0.js +1049 -0
- package/node_modules/nostr-tools/lib/esm/nipb0.js.map +7 -0
- package/node_modules/nostr-tools/lib/esm/pool.js +134 -6
- package/node_modules/nostr-tools/lib/esm/pool.js.map +4 -4
- package/node_modules/nostr-tools/lib/esm/references.js +2 -0
- package/node_modules/nostr-tools/lib/esm/references.js.map +2 -2
- package/node_modules/nostr-tools/lib/esm/relay.js +35 -6
- package/node_modules/nostr-tools/lib/esm/relay.js.map +2 -2
- package/node_modules/nostr-tools/lib/nostr.bundle.js +350 -23
- package/node_modules/nostr-tools/lib/nostr.bundle.js.map +4 -4
- package/node_modules/nostr-tools/lib/types/abstract-pool.d.ts +9 -0
- package/node_modules/nostr-tools/lib/types/abstract-relay.d.ts +10 -1
- package/node_modules/nostr-tools/lib/types/kinds.d.ts +200 -8
- package/node_modules/nostr-tools/lib/types/nip45.d.ts +13 -0
- package/node_modules/nostr-tools/lib/types/nip45.test.d.ts +1 -0
- package/node_modules/nostr-tools/lib/types/nip46.d.ts +12 -5
- package/node_modules/nostr-tools/lib/types/nipb0.d.ts +129 -0
- package/node_modules/nostr-tools/package.json +13 -1
- package/npm-shrinkwrap.json +7 -7
- package/package.json +5 -5
|
@@ -711,7 +711,7 @@ var NostrTools = (() => {
|
|
|
711
711
|
return n;
|
|
712
712
|
if (FpLegendre(Fp, n) !== 1)
|
|
713
713
|
throw new Error("Cannot find square root");
|
|
714
|
-
let
|
|
714
|
+
let M2 = S;
|
|
715
715
|
let c = Fp.mul(Fp.ONE, cc);
|
|
716
716
|
let t = Fp.pow(n, Q);
|
|
717
717
|
let R = Fp.pow(n, Q1div2);
|
|
@@ -723,12 +723,12 @@ var NostrTools = (() => {
|
|
|
723
723
|
while (!Fp.eql(t_tmp, Fp.ONE)) {
|
|
724
724
|
i2++;
|
|
725
725
|
t_tmp = Fp.sqr(t_tmp);
|
|
726
|
-
if (i2 ===
|
|
726
|
+
if (i2 === M2)
|
|
727
727
|
throw new Error("Cannot find square root");
|
|
728
728
|
}
|
|
729
|
-
const exponent = _1n2 << BigInt(
|
|
729
|
+
const exponent = _1n2 << BigInt(M2 - i2 - 1);
|
|
730
730
|
const b = Fp.pow(c, exponent);
|
|
731
|
-
|
|
731
|
+
M2 = i2;
|
|
732
732
|
c = Fp.sqr(b);
|
|
733
733
|
t = Fp.mul(t, c);
|
|
734
734
|
R = Fp.mul(R, b);
|
|
@@ -2448,39 +2448,61 @@ var NostrTools = (() => {
|
|
|
2448
2448
|
// kinds.ts
|
|
2449
2449
|
var kinds_exports = {};
|
|
2450
2450
|
__export(kinds_exports, {
|
|
2451
|
+
AIEmbeddings: () => AIEmbeddings,
|
|
2452
|
+
AppCurationSet: () => AppCurationSet,
|
|
2451
2453
|
Application: () => Application,
|
|
2454
|
+
AuthoredPodcasts: () => AuthoredPodcasts,
|
|
2452
2455
|
BadgeAward: () => BadgeAward,
|
|
2453
2456
|
BadgeDefinition: () => BadgeDefinition,
|
|
2457
|
+
Bid: () => Bid,
|
|
2458
|
+
BidConfirmation: () => BidConfirmation,
|
|
2459
|
+
BlobsAuth: () => BlobsAuth,
|
|
2454
2460
|
BlockedRelaysList: () => BlockedRelaysList,
|
|
2455
2461
|
BlossomServerList: () => BlossomServerList,
|
|
2456
2462
|
BookmarkList: () => BookmarkList,
|
|
2457
2463
|
Bookmarksets: () => Bookmarksets,
|
|
2458
2464
|
Calendar: () => Calendar,
|
|
2459
2465
|
CalendarEventRSVP: () => CalendarEventRSVP,
|
|
2466
|
+
CashuMintAnnouncement: () => CashuMintAnnouncement,
|
|
2467
|
+
CashuWalletEvent: () => CashuWalletEvent,
|
|
2468
|
+
CashuWalletHistory: () => CashuWalletHistory,
|
|
2469
|
+
CashuWalletTokens: () => CashuWalletTokens,
|
|
2460
2470
|
ChannelCreation: () => ChannelCreation,
|
|
2461
2471
|
ChannelHideMessage: () => ChannelHideMessage,
|
|
2462
2472
|
ChannelMessage: () => ChannelMessage,
|
|
2463
2473
|
ChannelMetadata: () => ChannelMetadata,
|
|
2464
2474
|
ChannelMuteUser: () => ChannelMuteUser,
|
|
2465
2475
|
ChatMessage: () => ChatMessage,
|
|
2476
|
+
Chess: () => Chess,
|
|
2466
2477
|
ClassifiedListing: () => ClassifiedListing,
|
|
2467
2478
|
ClientAuth: () => ClientAuth,
|
|
2479
|
+
CodeSnippet: () => CodeSnippet,
|
|
2480
|
+
CoinjoinPool: () => CoinjoinPool,
|
|
2468
2481
|
Comment: () => Comment,
|
|
2469
2482
|
CommunitiesList: () => CommunitiesList,
|
|
2470
2483
|
CommunityDefinition: () => CommunityDefinition,
|
|
2471
2484
|
CommunityPostApproval: () => CommunityPostApproval,
|
|
2485
|
+
ConferenceEvent: () => ConferenceEvent,
|
|
2472
2486
|
Contacts: () => Contacts,
|
|
2473
2487
|
CreateOrUpdateProduct: () => CreateOrUpdateProduct,
|
|
2474
2488
|
CreateOrUpdateStall: () => CreateOrUpdateStall,
|
|
2489
|
+
CuratedVideoSets: () => CuratedVideoSets,
|
|
2475
2490
|
Curationsets: () => Curationsets,
|
|
2476
2491
|
Date: () => Date2,
|
|
2492
|
+
DecoupledEncryptionKeyDistribution: () => DecoupledEncryptionKeyDistribution,
|
|
2493
|
+
DecoupledKeyAnnouncement: () => DecoupledKeyAnnouncement,
|
|
2494
|
+
DecoupledKeyClientAnnouncement: () => DecoupledKeyClientAnnouncement,
|
|
2477
2495
|
DirectMessageRelaysList: () => DirectMessageRelaysList,
|
|
2478
2496
|
DraftClassifiedListing: () => DraftClassifiedListing,
|
|
2497
|
+
DraftEvent: () => DraftEvent,
|
|
2479
2498
|
DraftLong: () => DraftLong,
|
|
2480
2499
|
Emojisets: () => Emojisets,
|
|
2481
2500
|
EncryptedDirectMessage: () => EncryptedDirectMessage,
|
|
2482
2501
|
EventDeletion: () => EventDeletion,
|
|
2502
|
+
FavoritePodcasts: () => FavoritePodcasts,
|
|
2483
2503
|
FavoriteRelays: () => FavoriteRelays,
|
|
2504
|
+
FedimintAnnouncement: () => FedimintAnnouncement,
|
|
2505
|
+
Feed: () => Feed,
|
|
2484
2506
|
FileMessage: () => FileMessage,
|
|
2485
2507
|
FileMetadata: () => FileMetadata,
|
|
2486
2508
|
FileServerPreference: () => FileServerPreference,
|
|
@@ -2488,55 +2510,129 @@ var NostrTools = (() => {
|
|
|
2488
2510
|
ForumThread: () => ForumThread,
|
|
2489
2511
|
GenericRepost: () => GenericRepost,
|
|
2490
2512
|
Genericlists: () => Genericlists,
|
|
2513
|
+
GeocacheListing: () => GeocacheListing,
|
|
2514
|
+
GeocacheLog: () => GeocacheLog,
|
|
2515
|
+
GeocacheLogEntry: () => GeocacheLogEntry,
|
|
2516
|
+
GeocacheProofOfFind: () => GeocacheProofOfFind,
|
|
2491
2517
|
GiftWrap: () => GiftWrap,
|
|
2518
|
+
GitPullRequest: () => GitPullRequest,
|
|
2519
|
+
GitPullRequestUpdate: () => GitPullRequestUpdate,
|
|
2520
|
+
GoodWikiAuthorList: () => GoodWikiAuthorList,
|
|
2521
|
+
GoodWikiRelayList: () => GoodWikiRelayList,
|
|
2492
2522
|
GroupMetadata: () => GroupMetadata,
|
|
2493
2523
|
HTTPAuth: () => HTTPAuth,
|
|
2494
2524
|
Handlerinformation: () => Handlerinformation,
|
|
2495
2525
|
Handlerrecommendation: () => Handlerrecommendation,
|
|
2496
2526
|
Highlights: () => Highlights,
|
|
2527
|
+
InteractiveRoom: () => InteractiveRoom,
|
|
2497
2528
|
InterestsList: () => InterestsList,
|
|
2498
2529
|
Interestsets: () => Interestsets,
|
|
2530
|
+
Issue: () => Issue,
|
|
2499
2531
|
JobFeedback: () => JobFeedback,
|
|
2500
2532
|
JobRequest: () => JobRequest,
|
|
2501
2533
|
JobResult: () => JobResult,
|
|
2502
2534
|
Label: () => Label,
|
|
2535
|
+
LegacyNsiteFile: () => LegacyNsiteFile,
|
|
2503
2536
|
LightningPubRPC: () => LightningPubRPC,
|
|
2537
|
+
LinkSet: () => LinkSet,
|
|
2504
2538
|
LiveChatMessage: () => LiveChatMessage,
|
|
2505
2539
|
LiveEvent: () => LiveEvent,
|
|
2506
2540
|
LongFormArticle: () => LongFormArticle,
|
|
2541
|
+
MarketplaceUI: () => MarketplaceUI,
|
|
2542
|
+
MediaFollows: () => MediaFollows,
|
|
2543
|
+
MediaStarterPacks: () => MediaStarterPacks,
|
|
2544
|
+
MergeRequests: () => MergeRequests,
|
|
2507
2545
|
Metadata: () => Metadata,
|
|
2546
|
+
ModularArticleContent: () => ModularArticleContent,
|
|
2547
|
+
ModularArticleHeader: () => ModularArticleHeader,
|
|
2548
|
+
MuteSets: () => MuteSets,
|
|
2508
2549
|
Mutelist: () => Mutelist,
|
|
2509
2550
|
NWCWalletInfo: () => NWCWalletInfo,
|
|
2510
2551
|
NWCWalletRequest: () => NWCWalletRequest,
|
|
2511
2552
|
NWCWalletResponse: () => NWCWalletResponse,
|
|
2512
2553
|
NormalVideo: () => NormalVideo,
|
|
2513
2554
|
NostrConnect: () => NostrConnect,
|
|
2555
|
+
NsiteNamed: () => NsiteNamed,
|
|
2556
|
+
NsiteRoot: () => NsiteRoot,
|
|
2557
|
+
NutZap: () => NutZap,
|
|
2558
|
+
NutZapInfo: () => NutZapInfo,
|
|
2514
2559
|
OpenTimestamps: () => OpenTimestamps,
|
|
2560
|
+
Patch: () => Patch,
|
|
2561
|
+
PeerToPeerOrderEvents: () => PeerToPeerOrderEvents,
|
|
2515
2562
|
Photo: () => Photo,
|
|
2516
2563
|
Pinlist: () => Pinlist,
|
|
2564
|
+
PodcastEpisode: () => PodcastEpisode,
|
|
2565
|
+
PodcastMetadata: () => PodcastMetadata,
|
|
2517
2566
|
Poll: () => Poll,
|
|
2518
2567
|
PollResponse: () => PollResponse,
|
|
2519
2568
|
PrivateDirectMessage: () => PrivateDirectMessage,
|
|
2569
|
+
PrivateEventRelayList: () => PrivateEventRelayList,
|
|
2520
2570
|
ProblemTracker: () => ProblemTracker,
|
|
2571
|
+
ProductSoldAsAuction: () => ProductSoldAsAuction,
|
|
2521
2572
|
ProfileBadges: () => ProfileBadges,
|
|
2573
|
+
ProxyAnnouncement: () => ProxyAnnouncement,
|
|
2522
2574
|
PublicChatsList: () => PublicChatsList,
|
|
2575
|
+
PublicMessage: () => PublicMessage,
|
|
2523
2576
|
Reaction: () => Reaction,
|
|
2577
|
+
ReactionToWebsite: () => ReactionToWebsite,
|
|
2524
2578
|
RecommendRelay: () => RecommendRelay,
|
|
2579
|
+
Redirects: () => Redirects,
|
|
2580
|
+
RelayDiscovery: () => RelayDiscovery,
|
|
2525
2581
|
RelayList: () => RelayList,
|
|
2582
|
+
RelayMonitorAnnouncement: () => RelayMonitorAnnouncement,
|
|
2526
2583
|
RelayReview: () => RelayReview,
|
|
2584
|
+
RelayReviews: () => RelayReviews,
|
|
2527
2585
|
Relaysets: () => Relaysets,
|
|
2586
|
+
ReleaseArtifactSets: () => ReleaseArtifactSets,
|
|
2587
|
+
Reply: () => Reply,
|
|
2528
2588
|
Report: () => Report,
|
|
2529
2589
|
Reporting: () => Reporting,
|
|
2590
|
+
RepositoryAnnouncement: () => RepositoryAnnouncement,
|
|
2591
|
+
RepositoryState: () => RepositoryState,
|
|
2530
2592
|
Repost: () => Repost,
|
|
2593
|
+
ReservedCashuWalletTokens: () => ReservedCashuWalletTokens,
|
|
2594
|
+
RoomPresence: () => RoomPresence,
|
|
2595
|
+
Scroll: () => Scroll,
|
|
2531
2596
|
Seal: () => Seal,
|
|
2532
2597
|
SearchRelaysList: () => SearchRelaysList,
|
|
2533
2598
|
ShortTextNote: () => ShortTextNote,
|
|
2534
2599
|
ShortVideo: () => ShortVideo,
|
|
2600
|
+
SimpleGroupAdmins: () => SimpleGroupAdmins,
|
|
2601
|
+
SimpleGroupCreateGroup: () => SimpleGroupCreateGroup,
|
|
2602
|
+
SimpleGroupCreateInvite: () => SimpleGroupCreateInvite,
|
|
2603
|
+
SimpleGroupDeleteEvent: () => SimpleGroupDeleteEvent,
|
|
2604
|
+
SimpleGroupDeleteGroup: () => SimpleGroupDeleteGroup,
|
|
2605
|
+
SimpleGroupEditMetadata: () => SimpleGroupEditMetadata,
|
|
2606
|
+
SimpleGroupJoinRequest: () => SimpleGroupJoinRequest,
|
|
2607
|
+
SimpleGroupLeaveRequest: () => SimpleGroupLeaveRequest,
|
|
2608
|
+
SimpleGroupList: () => SimpleGroupList,
|
|
2609
|
+
SimpleGroupLiveKitParticipants: () => SimpleGroupLiveKitParticipants,
|
|
2610
|
+
SimpleGroupMembers: () => SimpleGroupMembers,
|
|
2611
|
+
SimpleGroupPutUser: () => SimpleGroupPutUser,
|
|
2612
|
+
SimpleGroupRemoveUser: () => SimpleGroupRemoveUser,
|
|
2613
|
+
SimpleGroupReply: () => SimpleGroupReply,
|
|
2614
|
+
SimpleGroupRoles: () => SimpleGroupRoles,
|
|
2615
|
+
SimpleGroupThreadedReply: () => SimpleGroupThreadedReply,
|
|
2616
|
+
SlideSet: () => SlideSet,
|
|
2617
|
+
SoftwareApplication: () => SoftwareApplication,
|
|
2618
|
+
StarterPacks: () => StarterPacks,
|
|
2619
|
+
StatusApplied: () => StatusApplied,
|
|
2620
|
+
StatusClosed: () => StatusClosed,
|
|
2621
|
+
StatusDraft: () => StatusDraft,
|
|
2622
|
+
StatusOpen: () => StatusOpen,
|
|
2623
|
+
TidalLogin: () => TidalLogin,
|
|
2535
2624
|
Time: () => Time,
|
|
2625
|
+
Torrent: () => Torrent,
|
|
2626
|
+
TorrentComment: () => TorrentComment,
|
|
2627
|
+
TransportMethodAnnouncement: () => TransportMethodAnnouncement,
|
|
2536
2628
|
UserEmojiList: () => UserEmojiList,
|
|
2629
|
+
UserGraspList: () => UserGraspList,
|
|
2537
2630
|
UserStatuses: () => UserStatuses,
|
|
2631
|
+
VideoViewEvent: () => VideoViewEvent,
|
|
2538
2632
|
Voice: () => Voice,
|
|
2539
2633
|
VoiceComment: () => VoiceComment,
|
|
2634
|
+
WebBookmarks: () => WebBookmarks,
|
|
2635
|
+
WikiArticle: () => WikiArticle,
|
|
2540
2636
|
Zap: () => Zap,
|
|
2541
2637
|
ZapGoal: () => ZapGoal,
|
|
2542
2638
|
ZapRequest: () => ZapRequest,
|
|
@@ -2584,40 +2680,83 @@ var NostrTools = (() => {
|
|
|
2584
2680
|
var Reaction = 7;
|
|
2585
2681
|
var BadgeAward = 8;
|
|
2586
2682
|
var ChatMessage = 9;
|
|
2683
|
+
var SimpleGroupThreadedReply = 10;
|
|
2587
2684
|
var ForumThread = 11;
|
|
2685
|
+
var SimpleGroupReply = 12;
|
|
2588
2686
|
var Seal = 13;
|
|
2589
2687
|
var PrivateDirectMessage = 14;
|
|
2590
2688
|
var FileMessage = 15;
|
|
2591
2689
|
var GenericRepost = 16;
|
|
2690
|
+
var ReactionToWebsite = 17;
|
|
2592
2691
|
var Photo = 20;
|
|
2593
2692
|
var NormalVideo = 21;
|
|
2594
2693
|
var ShortVideo = 22;
|
|
2694
|
+
var PublicMessage = 24;
|
|
2595
2695
|
var ChannelCreation = 40;
|
|
2596
2696
|
var ChannelMetadata = 41;
|
|
2597
2697
|
var ChannelMessage = 42;
|
|
2598
2698
|
var ChannelHideMessage = 43;
|
|
2599
2699
|
var ChannelMuteUser = 44;
|
|
2700
|
+
var PodcastEpisode = 54;
|
|
2701
|
+
var Chess = 64;
|
|
2702
|
+
var MergeRequests = 818;
|
|
2703
|
+
var PollResponse = 1018;
|
|
2704
|
+
var Bid = 1021;
|
|
2705
|
+
var BidConfirmation = 1022;
|
|
2600
2706
|
var OpenTimestamps = 1040;
|
|
2601
2707
|
var GiftWrap = 1059;
|
|
2602
|
-
var Poll = 1068;
|
|
2603
2708
|
var FileMetadata = 1063;
|
|
2709
|
+
var Poll = 1068;
|
|
2604
2710
|
var Comment = 1111;
|
|
2605
|
-
var LiveChatMessage = 1311;
|
|
2606
2711
|
var Voice = 1222;
|
|
2712
|
+
var Scroll = 1227;
|
|
2607
2713
|
var VoiceComment = 1244;
|
|
2714
|
+
var LiveChatMessage = 1311;
|
|
2715
|
+
var CodeSnippet = 1337;
|
|
2716
|
+
var Patch = 1617;
|
|
2717
|
+
var GitPullRequest = 1618;
|
|
2718
|
+
var GitPullRequestUpdate = 1619;
|
|
2719
|
+
var Issue = 1621;
|
|
2720
|
+
var Reply = 1622;
|
|
2721
|
+
var StatusOpen = 1630;
|
|
2722
|
+
var StatusApplied = 1631;
|
|
2723
|
+
var StatusClosed = 1632;
|
|
2724
|
+
var StatusDraft = 1633;
|
|
2608
2725
|
var ProblemTracker = 1971;
|
|
2609
2726
|
var Report = 1984;
|
|
2610
2727
|
var Reporting = 1984;
|
|
2611
2728
|
var Label = 1985;
|
|
2729
|
+
var RelayReviews = 1986;
|
|
2730
|
+
var AIEmbeddings = 1987;
|
|
2731
|
+
var Torrent = 2003;
|
|
2732
|
+
var TorrentComment = 2004;
|
|
2733
|
+
var CoinjoinPool = 2022;
|
|
2734
|
+
var DecoupledKeyClientAnnouncement = 4454;
|
|
2735
|
+
var DecoupledEncryptionKeyDistribution = 4455;
|
|
2612
2736
|
var CommunityPostApproval = 4550;
|
|
2613
2737
|
var JobRequest = 5999;
|
|
2614
2738
|
var JobResult = 6999;
|
|
2615
2739
|
var JobFeedback = 7e3;
|
|
2740
|
+
var ReservedCashuWalletTokens = 7374;
|
|
2741
|
+
var CashuWalletTokens = 7375;
|
|
2742
|
+
var CashuWalletHistory = 7376;
|
|
2743
|
+
var GeocacheLog = 7516;
|
|
2744
|
+
var GeocacheProofOfFind = 7517;
|
|
2745
|
+
var SimpleGroupPutUser = 9e3;
|
|
2746
|
+
var SimpleGroupRemoveUser = 9001;
|
|
2747
|
+
var SimpleGroupEditMetadata = 9002;
|
|
2748
|
+
var SimpleGroupDeleteEvent = 9005;
|
|
2749
|
+
var SimpleGroupCreateGroup = 9007;
|
|
2750
|
+
var SimpleGroupDeleteGroup = 9008;
|
|
2751
|
+
var SimpleGroupCreateInvite = 9009;
|
|
2752
|
+
var SimpleGroupJoinRequest = 9021;
|
|
2753
|
+
var SimpleGroupLeaveRequest = 9022;
|
|
2616
2754
|
var ZapGoal = 9041;
|
|
2755
|
+
var NutZap = 9321;
|
|
2756
|
+
var TidalLogin = 9467;
|
|
2617
2757
|
var ZapRequest = 9734;
|
|
2618
2758
|
var Zap = 9735;
|
|
2619
2759
|
var Highlights = 9802;
|
|
2620
|
-
var PollResponse = 1018;
|
|
2621
2760
|
var Mutelist = 1e4;
|
|
2622
2761
|
var Pinlist = 10001;
|
|
2623
2762
|
var RelayList = 10002;
|
|
@@ -2626,37 +2765,74 @@ var NostrTools = (() => {
|
|
|
2626
2765
|
var PublicChatsList = 10005;
|
|
2627
2766
|
var BlockedRelaysList = 10006;
|
|
2628
2767
|
var SearchRelaysList = 10007;
|
|
2768
|
+
var SimpleGroupList = 10009;
|
|
2629
2769
|
var FavoriteRelays = 10012;
|
|
2770
|
+
var PrivateEventRelayList = 10013;
|
|
2630
2771
|
var InterestsList = 10015;
|
|
2772
|
+
var NutZapInfo = 10019;
|
|
2773
|
+
var MediaFollows = 10020;
|
|
2631
2774
|
var UserEmojiList = 10030;
|
|
2775
|
+
var DecoupledKeyAnnouncement = 10044;
|
|
2632
2776
|
var DirectMessageRelaysList = 10050;
|
|
2633
|
-
var
|
|
2777
|
+
var FavoritePodcasts = 10054;
|
|
2634
2778
|
var BlossomServerList = 10063;
|
|
2779
|
+
var FileServerPreference = 10096;
|
|
2780
|
+
var GoodWikiAuthorList = 10101;
|
|
2781
|
+
var GoodWikiRelayList = 10102;
|
|
2782
|
+
var PodcastMetadata = 10154;
|
|
2783
|
+
var AuthoredPodcasts = 10164;
|
|
2784
|
+
var RelayMonitorAnnouncement = 10166;
|
|
2785
|
+
var RoomPresence = 10312;
|
|
2786
|
+
var UserGraspList = 10317;
|
|
2787
|
+
var ProxyAnnouncement = 10377;
|
|
2788
|
+
var TransportMethodAnnouncement = 11111;
|
|
2635
2789
|
var NWCWalletInfo = 13194;
|
|
2790
|
+
var NsiteRoot = 15128;
|
|
2791
|
+
var CashuWalletEvent = 17375;
|
|
2636
2792
|
var LightningPubRPC = 21e3;
|
|
2637
2793
|
var ClientAuth = 22242;
|
|
2638
2794
|
var NWCWalletRequest = 23194;
|
|
2639
2795
|
var NWCWalletResponse = 23195;
|
|
2640
2796
|
var NostrConnect = 24133;
|
|
2797
|
+
var BlobsAuth = 24242;
|
|
2641
2798
|
var HTTPAuth = 27235;
|
|
2642
2799
|
var Followsets = 3e4;
|
|
2643
2800
|
var Genericlists = 30001;
|
|
2644
2801
|
var Relaysets = 30002;
|
|
2645
2802
|
var Bookmarksets = 30003;
|
|
2646
2803
|
var Curationsets = 30004;
|
|
2804
|
+
var CuratedVideoSets = 30005;
|
|
2805
|
+
var MuteSets = 30007;
|
|
2647
2806
|
var ProfileBadges = 30008;
|
|
2648
2807
|
var BadgeDefinition = 30009;
|
|
2649
2808
|
var Interestsets = 30015;
|
|
2650
2809
|
var CreateOrUpdateStall = 30017;
|
|
2651
2810
|
var CreateOrUpdateProduct = 30018;
|
|
2811
|
+
var MarketplaceUI = 30019;
|
|
2812
|
+
var ProductSoldAsAuction = 30020;
|
|
2652
2813
|
var LongFormArticle = 30023;
|
|
2653
2814
|
var DraftLong = 30024;
|
|
2654
2815
|
var Emojisets = 30030;
|
|
2816
|
+
var ModularArticleHeader = 30040;
|
|
2817
|
+
var ModularArticleContent = 30041;
|
|
2818
|
+
var ReleaseArtifactSets = 30063;
|
|
2655
2819
|
var Application = 30078;
|
|
2820
|
+
var RelayDiscovery = 30166;
|
|
2821
|
+
var AppCurationSet = 30267;
|
|
2656
2822
|
var LiveEvent = 30311;
|
|
2823
|
+
var InteractiveRoom = 30312;
|
|
2824
|
+
var ConferenceEvent = 30313;
|
|
2657
2825
|
var UserStatuses = 30315;
|
|
2826
|
+
var SlideSet = 30388;
|
|
2658
2827
|
var ClassifiedListing = 30402;
|
|
2659
2828
|
var DraftClassifiedListing = 30403;
|
|
2829
|
+
var RepositoryAnnouncement = 30617;
|
|
2830
|
+
var RepositoryState = 30618;
|
|
2831
|
+
var WikiArticle = 30818;
|
|
2832
|
+
var Redirects = 30819;
|
|
2833
|
+
var DraftEvent = 31234;
|
|
2834
|
+
var LinkSet = 31388;
|
|
2835
|
+
var Feed = 31890;
|
|
2660
2836
|
var Date2 = 31922;
|
|
2661
2837
|
var Time = 31923;
|
|
2662
2838
|
var Calendar = 31924;
|
|
@@ -2664,8 +2840,24 @@ var NostrTools = (() => {
|
|
|
2664
2840
|
var RelayReview = 31987;
|
|
2665
2841
|
var Handlerrecommendation = 31989;
|
|
2666
2842
|
var Handlerinformation = 31990;
|
|
2843
|
+
var SoftwareApplication = 32267;
|
|
2844
|
+
var LegacyNsiteFile = 34128;
|
|
2845
|
+
var VideoViewEvent = 34237;
|
|
2667
2846
|
var CommunityDefinition = 34550;
|
|
2847
|
+
var NsiteNamed = 35128;
|
|
2848
|
+
var GeocacheListing = 37515;
|
|
2849
|
+
var GeocacheLogEntry = 37516;
|
|
2850
|
+
var CashuMintAnnouncement = 38172;
|
|
2851
|
+
var FedimintAnnouncement = 38173;
|
|
2852
|
+
var PeerToPeerOrderEvents = 38383;
|
|
2668
2853
|
var GroupMetadata = 39e3;
|
|
2854
|
+
var SimpleGroupAdmins = 39001;
|
|
2855
|
+
var SimpleGroupMembers = 39002;
|
|
2856
|
+
var SimpleGroupRoles = 39003;
|
|
2857
|
+
var SimpleGroupLiveKitParticipants = 39004;
|
|
2858
|
+
var StarterPacks = 39089;
|
|
2859
|
+
var MediaStarterPacks = 39092;
|
|
2860
|
+
var WebBookmarks = 39701;
|
|
2669
2861
|
|
|
2670
2862
|
// filter.ts
|
|
2671
2863
|
function matchFilter(filter, event) {
|
|
@@ -2908,7 +3100,9 @@ var NostrTools = (() => {
|
|
|
2908
3100
|
connectionTimeoutHandle = setTimeout(() => {
|
|
2909
3101
|
reject("connection timed out");
|
|
2910
3102
|
this.connectionPromise = void 0;
|
|
2911
|
-
this.
|
|
3103
|
+
if (this.reconnectAttempts === 0) {
|
|
3104
|
+
this.skipReconnection = true;
|
|
3105
|
+
}
|
|
2912
3106
|
this.onclose?.();
|
|
2913
3107
|
this.handleHardClose("relay connection timed out");
|
|
2914
3108
|
}, opts.timeout);
|
|
@@ -2952,7 +3146,9 @@ var NostrTools = (() => {
|
|
|
2952
3146
|
clearTimeout(connectionTimeoutHandle);
|
|
2953
3147
|
reject("connection failed");
|
|
2954
3148
|
this.connectionPromise = void 0;
|
|
2955
|
-
this.
|
|
3149
|
+
if (this.reconnectAttempts === 0) {
|
|
3150
|
+
this.skipReconnection = true;
|
|
3151
|
+
}
|
|
2956
3152
|
this.onclose?.();
|
|
2957
3153
|
this.handleHardClose("relay connection failed");
|
|
2958
3154
|
};
|
|
@@ -3053,19 +3249,38 @@ var NostrTools = (() => {
|
|
|
3053
3249
|
}, this.publishTimeout);
|
|
3054
3250
|
this.openEventPublishes.set(event.id, { resolve, reject, timeout });
|
|
3055
3251
|
});
|
|
3056
|
-
|
|
3252
|
+
try {
|
|
3253
|
+
await this.send('["EVENT",' + JSON.stringify(event) + "]");
|
|
3254
|
+
} catch (err) {
|
|
3255
|
+
const ep = this.openEventPublishes.get(event.id);
|
|
3256
|
+
if (ep) {
|
|
3257
|
+
ep.reject(err);
|
|
3258
|
+
this.openEventPublishes.delete(event.id);
|
|
3259
|
+
}
|
|
3260
|
+
}
|
|
3057
3261
|
this.ongoingOperations--;
|
|
3058
3262
|
if (this.ongoingOperations === 0)
|
|
3059
3263
|
this.idleSince = Date.now();
|
|
3060
3264
|
return ret;
|
|
3061
3265
|
}
|
|
3062
3266
|
async count(filters, params) {
|
|
3267
|
+
return (await this.countWithHLL(filters, params)).count;
|
|
3268
|
+
}
|
|
3269
|
+
async countWithHLL(filters, params) {
|
|
3063
3270
|
this.serial++;
|
|
3064
3271
|
const id = params?.id || "count:" + this.serial;
|
|
3065
3272
|
const ret = new Promise((resolve, reject) => {
|
|
3066
3273
|
this.openCountRequests.set(id, { resolve, reject });
|
|
3067
3274
|
});
|
|
3068
|
-
|
|
3275
|
+
try {
|
|
3276
|
+
await this.send('["COUNT","' + id + '",' + JSON.stringify(filters).substring(1));
|
|
3277
|
+
} catch (err) {
|
|
3278
|
+
const cr = this.openCountRequests.get(id);
|
|
3279
|
+
if (cr) {
|
|
3280
|
+
cr.reject(err);
|
|
3281
|
+
this.openCountRequests.delete(id);
|
|
3282
|
+
}
|
|
3283
|
+
}
|
|
3069
3284
|
return ret;
|
|
3070
3285
|
}
|
|
3071
3286
|
subscribe(filters, params) {
|
|
@@ -3143,7 +3358,7 @@ var NostrTools = (() => {
|
|
|
3143
3358
|
const payload = data[2];
|
|
3144
3359
|
const cr = this.openCountRequests.get(id);
|
|
3145
3360
|
if (cr) {
|
|
3146
|
-
cr.resolve(payload
|
|
3361
|
+
cr.resolve(payload);
|
|
3147
3362
|
this.openCountRequests.delete(id);
|
|
3148
3363
|
}
|
|
3149
3364
|
return;
|
|
@@ -3173,8 +3388,14 @@ var NostrTools = (() => {
|
|
|
3173
3388
|
case "CLOSED": {
|
|
3174
3389
|
const id = data[1];
|
|
3175
3390
|
const so = this.openSubs.get(id);
|
|
3176
|
-
if (!so)
|
|
3391
|
+
if (!so) {
|
|
3392
|
+
const cr = this.openCountRequests.get(id);
|
|
3393
|
+
if (cr) {
|
|
3394
|
+
cr.reject(new Error(data[2]));
|
|
3395
|
+
this.openCountRequests.delete(id);
|
|
3396
|
+
}
|
|
3177
3397
|
return;
|
|
3398
|
+
}
|
|
3178
3399
|
so.closed = true;
|
|
3179
3400
|
so.close(data[2]);
|
|
3180
3401
|
return;
|
|
@@ -3300,6 +3521,61 @@ var NostrTools = (() => {
|
|
|
3300
3521
|
return true;
|
|
3301
3522
|
};
|
|
3302
3523
|
|
|
3524
|
+
// nip45.ts
|
|
3525
|
+
var M = 256;
|
|
3526
|
+
var HLL_HEX_LENGTH = M * 2;
|
|
3527
|
+
var utf8Encoder2 = new TextEncoder();
|
|
3528
|
+
function getCountManyFilter(target, directive) {
|
|
3529
|
+
switch (directive) {
|
|
3530
|
+
case "reactions":
|
|
3531
|
+
return { "#e": [target], kinds: [7] };
|
|
3532
|
+
case "reposts":
|
|
3533
|
+
return { "#e": [target], kinds: [6] };
|
|
3534
|
+
case "quotes":
|
|
3535
|
+
return { "#q": [target], kinds: [1, 1111] };
|
|
3536
|
+
case "replies":
|
|
3537
|
+
return { "#e": [target], kinds: [1] };
|
|
3538
|
+
case "comments":
|
|
3539
|
+
return { "#E": [target], kinds: [1111] };
|
|
3540
|
+
case "followers":
|
|
3541
|
+
return { "#p": [target], kinds: [3] };
|
|
3542
|
+
}
|
|
3543
|
+
}
|
|
3544
|
+
function newHll() {
|
|
3545
|
+
return new Uint8Array(M);
|
|
3546
|
+
}
|
|
3547
|
+
function hllDecode(hex2) {
|
|
3548
|
+
if (hex2.length !== HLL_HEX_LENGTH || !/^[0-9a-fA-F]+$/.test(hex2))
|
|
3549
|
+
return void 0;
|
|
3550
|
+
const registers = new Uint8Array(M);
|
|
3551
|
+
for (let i2 = 0; i2 < M; i2++) {
|
|
3552
|
+
registers[i2] = parseInt(hex2.slice(i2 * 2, i2 * 2 + 2), 16);
|
|
3553
|
+
}
|
|
3554
|
+
return registers;
|
|
3555
|
+
}
|
|
3556
|
+
function hllEncode(registers) {
|
|
3557
|
+
if (registers.length !== M)
|
|
3558
|
+
throw new Error(`invalid number of registers ${registers.length}`);
|
|
3559
|
+
let hex2 = "";
|
|
3560
|
+
for (let i2 = 0; i2 < M; i2++) {
|
|
3561
|
+
hex2 += registers[i2].toString(16).padStart(2, "0");
|
|
3562
|
+
}
|
|
3563
|
+
return hex2;
|
|
3564
|
+
}
|
|
3565
|
+
function mergeHll(target, source) {
|
|
3566
|
+
if (target.length === 0)
|
|
3567
|
+
target = newHll();
|
|
3568
|
+
if (target.length !== M)
|
|
3569
|
+
throw new Error(`invalid number of registers ${target.length}`);
|
|
3570
|
+
if (source.length !== M)
|
|
3571
|
+
throw new Error(`invalid number of registers ${source.length}`);
|
|
3572
|
+
for (let i2 = 0; i2 < M; i2++) {
|
|
3573
|
+
if (source[i2] > target[i2])
|
|
3574
|
+
target[i2] = source[i2];
|
|
3575
|
+
}
|
|
3576
|
+
return target;
|
|
3577
|
+
}
|
|
3578
|
+
|
|
3303
3579
|
// abstract-pool.ts
|
|
3304
3580
|
var AbstractSimplePool = class {
|
|
3305
3581
|
relays = /* @__PURE__ */ new Map();
|
|
@@ -3527,6 +3803,48 @@ var NostrTools = (() => {
|
|
|
3527
3803
|
events.sort((a, b) => b.created_at - a.created_at);
|
|
3528
3804
|
return events[0] || null;
|
|
3529
3805
|
}
|
|
3806
|
+
async countMany(relays, target, directive, params) {
|
|
3807
|
+
const filter = getCountManyFilter(target, directive);
|
|
3808
|
+
const urls = [];
|
|
3809
|
+
for (let i2 = 0; i2 < relays.length; i2++) {
|
|
3810
|
+
const url = normalizeURL(relays[i2]);
|
|
3811
|
+
if (urls.indexOf(url) === -1)
|
|
3812
|
+
urls.push(url);
|
|
3813
|
+
}
|
|
3814
|
+
const responses = await Promise.all(
|
|
3815
|
+
urls.map(async (url) => {
|
|
3816
|
+
if (this.allowConnectingToRelay?.(url, ["read", [filter]]) === false)
|
|
3817
|
+
return null;
|
|
3818
|
+
let relay;
|
|
3819
|
+
try {
|
|
3820
|
+
relay = await this.ensureRelay(url, {
|
|
3821
|
+
connectionTimeout: this.maxWaitForConnection < (params?.maxWait || 0) ? Math.max(params.maxWait * 0.8, params.maxWait - 1e3) : this.maxWaitForConnection,
|
|
3822
|
+
abort: params?.abort
|
|
3823
|
+
});
|
|
3824
|
+
} catch (err) {
|
|
3825
|
+
this.onRelayConnectionFailure?.(url);
|
|
3826
|
+
return null;
|
|
3827
|
+
}
|
|
3828
|
+
this.onRelayConnectionSuccess?.(url);
|
|
3829
|
+
return relay.countWithHLL([filter], { id: params?.id }).catch(() => null);
|
|
3830
|
+
})
|
|
3831
|
+
);
|
|
3832
|
+
let count = 0;
|
|
3833
|
+
let hll;
|
|
3834
|
+
for (const response of responses) {
|
|
3835
|
+
if (!response)
|
|
3836
|
+
continue;
|
|
3837
|
+
if (response.count > count)
|
|
3838
|
+
count = response.count;
|
|
3839
|
+
if (!response.hll || response.hll.length !== 512)
|
|
3840
|
+
continue;
|
|
3841
|
+
const registers = hllDecode(response.hll);
|
|
3842
|
+
if (!registers)
|
|
3843
|
+
continue;
|
|
3844
|
+
hll = mergeHll(hll || new Uint8Array(0), registers);
|
|
3845
|
+
}
|
|
3846
|
+
return hll ? { count, hll: hllEncode(hll) } : { count };
|
|
3847
|
+
}
|
|
3530
3848
|
publish(relays, event, params) {
|
|
3531
3849
|
return relays.map(normalizeURL).map(async (url, i2, arr) => {
|
|
3532
3850
|
if (arr.indexOf(url) !== i2) {
|
|
@@ -4122,6 +4440,8 @@ var NostrTools = (() => {
|
|
|
4122
4440
|
let result = {};
|
|
4123
4441
|
let rest = data;
|
|
4124
4442
|
while (rest.length > 0) {
|
|
4443
|
+
if (rest.length < 2)
|
|
4444
|
+
throw new Error("not enough data to read TLV");
|
|
4125
4445
|
let t = rest[0];
|
|
4126
4446
|
let l = rest[1];
|
|
4127
4447
|
let v = rest.slice(2, 2 + l);
|
|
@@ -4871,6 +5191,7 @@ var NostrTools = (() => {
|
|
|
4871
5191
|
__export(nip10_exports, {
|
|
4872
5192
|
parse: () => parse
|
|
4873
5193
|
});
|
|
5194
|
+
var HEX64 = /^[0-9a-fA-F]{64}$/;
|
|
4874
5195
|
function parse(event) {
|
|
4875
5196
|
const result = {
|
|
4876
5197
|
reply: void 0,
|
|
@@ -4883,12 +5204,12 @@ var NostrTools = (() => {
|
|
|
4883
5204
|
let maybeRoot;
|
|
4884
5205
|
for (let i2 = event.tags.length - 1; i2 >= 0; i2--) {
|
|
4885
5206
|
const tag = event.tags[i2];
|
|
4886
|
-
if (tag[0] === "e" && tag[1]) {
|
|
5207
|
+
if (tag[0] === "e" && tag[1] && HEX64.test(tag[1])) {
|
|
4887
5208
|
const [_, eTagEventId, eTagRelayUrl, eTagMarker, eTagAuthor] = tag;
|
|
4888
5209
|
const eventPointer = {
|
|
4889
5210
|
id: eTagEventId,
|
|
4890
5211
|
relays: eTagRelayUrl ? [eTagRelayUrl] : [],
|
|
4891
|
-
author: eTagAuthor
|
|
5212
|
+
author: eTagAuthor && HEX64.test(eTagAuthor) ? eTagAuthor : void 0
|
|
4892
5213
|
};
|
|
4893
5214
|
if (eTagMarker === "root") {
|
|
4894
5215
|
result.root = eventPointer;
|
|
@@ -4910,14 +5231,14 @@ var NostrTools = (() => {
|
|
|
4910
5231
|
result.mentions.push(eventPointer);
|
|
4911
5232
|
continue;
|
|
4912
5233
|
}
|
|
4913
|
-
if (tag[0] === "q" && tag[1]) {
|
|
5234
|
+
if (tag[0] === "q" && tag[1] && HEX64.test(tag[1])) {
|
|
4914
5235
|
const [_, eTagEventId, eTagRelayUrl] = tag;
|
|
4915
5236
|
result.quotes.push({
|
|
4916
5237
|
id: eTagEventId,
|
|
4917
5238
|
relays: eTagRelayUrl ? [eTagRelayUrl] : []
|
|
4918
5239
|
});
|
|
4919
5240
|
}
|
|
4920
|
-
if (tag[0] === "p" && tag[1]) {
|
|
5241
|
+
if (tag[0] === "p" && tag[1] && HEX64.test(tag[1])) {
|
|
4921
5242
|
result.profiles.push({
|
|
4922
5243
|
pubkey: tag[1],
|
|
4923
5244
|
relays: tag[2] ? [tag[2]] : []
|
|
@@ -6037,6 +6358,7 @@ var NostrTools = (() => {
|
|
|
6037
6358
|
__export(nip22_exports, {
|
|
6038
6359
|
parse: () => parse3
|
|
6039
6360
|
});
|
|
6361
|
+
var HEX642 = /^[0-9a-fA-F]{64}$/;
|
|
6040
6362
|
function parseKind(kind) {
|
|
6041
6363
|
if (!kind)
|
|
6042
6364
|
return void 0;
|
|
@@ -6050,9 +6372,12 @@ var NostrTools = (() => {
|
|
|
6050
6372
|
const kind = parseInt(value.slice(0, idx), 10);
|
|
6051
6373
|
if (Number.isNaN(kind))
|
|
6052
6374
|
return void 0;
|
|
6375
|
+
const pubkey = value.slice(idx + 1, idx2);
|
|
6376
|
+
if (!HEX642.test(pubkey))
|
|
6377
|
+
return void 0;
|
|
6053
6378
|
return {
|
|
6054
6379
|
kind,
|
|
6055
|
-
pubkey
|
|
6380
|
+
pubkey,
|
|
6056
6381
|
identifier: value.slice(idx2 + 1),
|
|
6057
6382
|
relays: relayUrl ? [relayUrl] : []
|
|
6058
6383
|
};
|
|
@@ -6061,12 +6386,12 @@ var NostrTools = (() => {
|
|
|
6061
6386
|
switch (tag[0]) {
|
|
6062
6387
|
case "E":
|
|
6063
6388
|
case "e":
|
|
6064
|
-
if (!tag[1])
|
|
6389
|
+
if (!tag[1] || !HEX642.test(tag[1]))
|
|
6065
6390
|
return void 0;
|
|
6066
6391
|
return {
|
|
6067
6392
|
id: tag[1],
|
|
6068
6393
|
relays: tag[2] ? [tag[2]] : [],
|
|
6069
|
-
author: tag[3]
|
|
6394
|
+
author: tag[3] && HEX642.test(tag[3]) ? tag[3] : void 0
|
|
6070
6395
|
};
|
|
6071
6396
|
case "A":
|
|
6072
6397
|
case "a":
|
|
@@ -6089,10 +6414,12 @@ var NostrTools = (() => {
|
|
|
6089
6414
|
if (tag[1].includes(":")) {
|
|
6090
6415
|
return parseAddressPointer(tag[1], tag[2]);
|
|
6091
6416
|
}
|
|
6417
|
+
if (!HEX642.test(tag[1]))
|
|
6418
|
+
return void 0;
|
|
6092
6419
|
return {
|
|
6093
6420
|
id: tag[1],
|
|
6094
6421
|
relays: tag[2] ? [tag[2]] : [],
|
|
6095
|
-
author: tag[3]
|
|
6422
|
+
author: tag[3] && HEX642.test(tag[3]) ? tag[3] : void 0
|
|
6096
6423
|
};
|
|
6097
6424
|
}
|
|
6098
6425
|
function choosePointer(candidates) {
|
|
@@ -6152,7 +6479,7 @@ var NostrTools = (() => {
|
|
|
6152
6479
|
result.quotes.push(pointer);
|
|
6153
6480
|
continue;
|
|
6154
6481
|
}
|
|
6155
|
-
if ((tag[0] === "P" || tag[0] === "p") && tag[1]) {
|
|
6482
|
+
if ((tag[0] === "P" || tag[0] === "p") && tag[1] && HEX642.test(tag[1])) {
|
|
6156
6483
|
result.profiles.push({
|
|
6157
6484
|
pubkey: tag[1],
|
|
6158
6485
|
relays: tag[2] ? [tag[2]] : []
|