nostr-tools 2.23.8 → 2.23.9
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/lib/cjs/abstract-pool.js +128 -4
- package/lib/cjs/abstract-pool.js.map +4 -4
- package/lib/cjs/abstract-relay.js +29 -4
- package/lib/cjs/abstract-relay.js.map +2 -2
- package/lib/cjs/filter.js.map +1 -1
- package/lib/cjs/index.js +377 -61
- package/lib/cjs/index.js.map +4 -4
- package/lib/cjs/kinds.js +196 -4
- package/lib/cjs/kinds.js.map +2 -2
- package/lib/cjs/nip17.js.map +2 -2
- package/lib/cjs/nip18.js.map +2 -2
- package/lib/cjs/nip25.js.map +1 -1
- package/lib/cjs/nip28.js.map +2 -2
- package/lib/cjs/nip42.js.map +2 -2
- package/lib/cjs/nip45.js +183 -0
- package/lib/cjs/nip45.js.map +7 -0
- package/lib/cjs/nip46.js +128 -4
- package/lib/cjs/nip46.js.map +4 -4
- package/lib/cjs/nip47.js.map +2 -2
- package/lib/cjs/nip57.js.map +1 -1
- package/lib/cjs/nip58.js.map +2 -2
- package/lib/cjs/nip59.js.map +2 -2
- package/lib/cjs/nip75.js.map +2 -2
- package/lib/cjs/nip94.js.map +2 -2
- package/lib/cjs/nip98.js.map +2 -2
- package/lib/cjs/nip99.js.map +2 -2
- package/lib/cjs/nipb0.js +1064 -0
- package/lib/cjs/nipb0.js.map +7 -0
- package/lib/cjs/pool.js +128 -4
- package/lib/cjs/pool.js.map +4 -4
- package/lib/cjs/relay.js +29 -4
- package/lib/cjs/relay.js.map +2 -2
- package/lib/esm/abstract-pool.js +128 -4
- package/lib/esm/abstract-pool.js.map +4 -4
- package/lib/esm/abstract-relay.js +29 -4
- package/lib/esm/abstract-relay.js.map +2 -2
- package/lib/esm/filter.js.map +1 -1
- package/lib/esm/index.js +353 -37
- package/lib/esm/index.js.map +4 -4
- package/lib/esm/kinds.js +196 -4
- package/lib/esm/kinds.js.map +2 -2
- package/lib/esm/nip17.js.map +2 -2
- package/lib/esm/nip18.js.map +2 -2
- package/lib/esm/nip25.js.map +1 -1
- package/lib/esm/nip28.js.map +2 -2
- package/lib/esm/nip42.js.map +2 -2
- package/lib/esm/nip45.js +162 -0
- package/lib/esm/nip45.js.map +7 -0
- package/lib/esm/nip46.js +128 -4
- package/lib/esm/nip46.js.map +4 -4
- package/lib/esm/nip47.js.map +2 -2
- package/lib/esm/nip57.js.map +1 -1
- package/lib/esm/nip58.js.map +2 -2
- package/lib/esm/nip59.js.map +2 -2
- package/lib/esm/nip75.js.map +2 -2
- package/lib/esm/nip94.js.map +2 -2
- package/lib/esm/nip98.js.map +2 -2
- package/lib/esm/nip99.js.map +2 -2
- package/lib/esm/nipb0.js +1049 -0
- package/lib/esm/nipb0.js.map +7 -0
- package/lib/esm/pool.js +128 -4
- package/lib/esm/pool.js.map +4 -4
- package/lib/esm/relay.js +29 -4
- package/lib/esm/relay.js.map +2 -2
- package/lib/nostr.bundle.js +326 -12
- package/lib/nostr.bundle.js.map +4 -4
- package/lib/types/abstract-pool.d.ts +9 -0
- package/lib/types/abstract-relay.d.ts +10 -1
- package/lib/types/kinds.d.ts +200 -8
- package/lib/types/nip45.d.ts +13 -0
- package/lib/types/nip45.test.d.ts +1 -0
- package/lib/types/nipb0.d.ts +129 -0
- package/package.json +13 -1
package/lib/nostr.bundle.js
CHANGED
|
@@ -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) {
|
|
@@ -3057,19 +3249,38 @@ var NostrTools = (() => {
|
|
|
3057
3249
|
}, this.publishTimeout);
|
|
3058
3250
|
this.openEventPublishes.set(event.id, { resolve, reject, timeout });
|
|
3059
3251
|
});
|
|
3060
|
-
|
|
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
|
+
}
|
|
3061
3261
|
this.ongoingOperations--;
|
|
3062
3262
|
if (this.ongoingOperations === 0)
|
|
3063
3263
|
this.idleSince = Date.now();
|
|
3064
3264
|
return ret;
|
|
3065
3265
|
}
|
|
3066
3266
|
async count(filters, params) {
|
|
3267
|
+
return (await this.countWithHLL(filters, params)).count;
|
|
3268
|
+
}
|
|
3269
|
+
async countWithHLL(filters, params) {
|
|
3067
3270
|
this.serial++;
|
|
3068
3271
|
const id = params?.id || "count:" + this.serial;
|
|
3069
3272
|
const ret = new Promise((resolve, reject) => {
|
|
3070
3273
|
this.openCountRequests.set(id, { resolve, reject });
|
|
3071
3274
|
});
|
|
3072
|
-
|
|
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
|
+
}
|
|
3073
3284
|
return ret;
|
|
3074
3285
|
}
|
|
3075
3286
|
subscribe(filters, params) {
|
|
@@ -3147,7 +3358,7 @@ var NostrTools = (() => {
|
|
|
3147
3358
|
const payload = data[2];
|
|
3148
3359
|
const cr = this.openCountRequests.get(id);
|
|
3149
3360
|
if (cr) {
|
|
3150
|
-
cr.resolve(payload
|
|
3361
|
+
cr.resolve(payload);
|
|
3151
3362
|
this.openCountRequests.delete(id);
|
|
3152
3363
|
}
|
|
3153
3364
|
return;
|
|
@@ -3177,8 +3388,14 @@ var NostrTools = (() => {
|
|
|
3177
3388
|
case "CLOSED": {
|
|
3178
3389
|
const id = data[1];
|
|
3179
3390
|
const so = this.openSubs.get(id);
|
|
3180
|
-
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
|
+
}
|
|
3181
3397
|
return;
|
|
3398
|
+
}
|
|
3182
3399
|
so.closed = true;
|
|
3183
3400
|
so.close(data[2]);
|
|
3184
3401
|
return;
|
|
@@ -3304,6 +3521,61 @@ var NostrTools = (() => {
|
|
|
3304
3521
|
return true;
|
|
3305
3522
|
};
|
|
3306
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
|
+
|
|
3307
3579
|
// abstract-pool.ts
|
|
3308
3580
|
var AbstractSimplePool = class {
|
|
3309
3581
|
relays = /* @__PURE__ */ new Map();
|
|
@@ -3531,6 +3803,48 @@ var NostrTools = (() => {
|
|
|
3531
3803
|
events.sort((a, b) => b.created_at - a.created_at);
|
|
3532
3804
|
return events[0] || null;
|
|
3533
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
|
+
}
|
|
3534
3848
|
publish(relays, event, params) {
|
|
3535
3849
|
return relays.map(normalizeURL).map(async (url, i2, arr) => {
|
|
3536
3850
|
if (arr.indexOf(url) !== i2) {
|