nostr-tools 2.23.11 → 2.24.0

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.
Files changed (141) hide show
  1. package/lib/cjs/abstract-pool.js +11 -21
  2. package/lib/cjs/abstract-pool.js.map +3 -3
  3. package/lib/cjs/abstract-relay.js +1 -1
  4. package/lib/cjs/abstract-relay.js.map +2 -2
  5. package/lib/cjs/core.js +17 -1
  6. package/lib/cjs/core.js.map +3 -3
  7. package/lib/cjs/filter.js.map +1 -1
  8. package/lib/cjs/index.js +124 -123
  9. package/lib/cjs/index.js.map +4 -4
  10. package/lib/cjs/kinds.js +17 -1
  11. package/lib/cjs/kinds.js.map +3 -3
  12. package/lib/cjs/nip04.js.map +1 -1
  13. package/lib/cjs/nip10.js +20 -5
  14. package/lib/cjs/nip10.js.map +3 -3
  15. package/lib/cjs/nip13.js.map +1 -1
  16. package/lib/cjs/nip17.js +30 -23
  17. package/lib/cjs/nip17.js.map +4 -4
  18. package/lib/cjs/nip18.js +21 -14
  19. package/lib/cjs/nip18.js.map +4 -4
  20. package/lib/cjs/nip19.js.map +1 -1
  21. package/lib/cjs/nip21.js.map +1 -1
  22. package/lib/cjs/nip22.js +22 -7
  23. package/lib/cjs/nip22.js.map +3 -3
  24. package/lib/cjs/nip25.js +21 -14
  25. package/lib/cjs/nip25.js.map +4 -4
  26. package/lib/cjs/nip27.js.map +1 -1
  27. package/lib/cjs/nip28.js +21 -14
  28. package/lib/cjs/nip28.js.map +4 -4
  29. package/lib/cjs/nip29.js.map +1 -1
  30. package/lib/cjs/nip30.js.map +2 -2
  31. package/lib/cjs/nip42.js.map +2 -2
  32. package/lib/cjs/nip44.js.map +1 -1
  33. package/lib/cjs/nip45.js +22 -9
  34. package/lib/cjs/nip45.js.map +4 -4
  35. package/lib/cjs/nip46.js +63 -63
  36. package/lib/cjs/nip46.js.map +4 -4
  37. package/lib/cjs/nip47.js +25 -18
  38. package/lib/cjs/nip47.js.map +4 -4
  39. package/lib/cjs/nip57.js +23 -16
  40. package/lib/cjs/nip57.js.map +4 -4
  41. package/lib/cjs/nip58.js.map +2 -2
  42. package/lib/cjs/nip59.js +16 -7
  43. package/lib/cjs/nip59.js.map +3 -3
  44. package/lib/cjs/nip75.js.map +1 -1
  45. package/lib/cjs/nip94.js.map +1 -1
  46. package/lib/cjs/nip98.js +23 -16
  47. package/lib/cjs/nip98.js.map +4 -4
  48. package/lib/cjs/nip99.js.map +2 -2
  49. package/lib/cjs/nipb0.js +38 -17
  50. package/lib/cjs/nipb0.js.map +4 -4
  51. package/lib/cjs/nipb7.js +13 -7
  52. package/lib/cjs/nipb7.js.map +2 -2
  53. package/lib/cjs/pool.js +54 -54
  54. package/lib/cjs/pool.js.map +4 -4
  55. package/lib/cjs/pure.js +21 -14
  56. package/lib/cjs/pure.js.map +4 -4
  57. package/lib/cjs/references.js.map +1 -1
  58. package/lib/cjs/relay.js +43 -36
  59. package/lib/cjs/relay.js.map +4 -4
  60. package/lib/cjs/signer.js +21 -14
  61. package/lib/cjs/signer.js.map +4 -4
  62. package/lib/cjs/utils.js +10 -0
  63. package/lib/cjs/utils.js.map +2 -2
  64. package/lib/cjs/wasm.js +16 -2
  65. package/lib/cjs/wasm.js.map +4 -4
  66. package/lib/esm/abstract-pool.js +11 -21
  67. package/lib/esm/abstract-pool.js.map +3 -3
  68. package/lib/esm/abstract-relay.js +1 -1
  69. package/lib/esm/abstract-relay.js.map +2 -2
  70. package/lib/esm/core.js +15 -1
  71. package/lib/esm/core.js.map +3 -3
  72. package/lib/esm/filter.js.map +1 -1
  73. package/lib/esm/index.js +74 -73
  74. package/lib/esm/index.js.map +4 -4
  75. package/lib/esm/kinds.js +17 -1
  76. package/lib/esm/kinds.js.map +3 -3
  77. package/lib/esm/nip04.js.map +1 -1
  78. package/lib/esm/nip10.js +18 -5
  79. package/lib/esm/nip10.js.map +3 -3
  80. package/lib/esm/nip13.js.map +1 -1
  81. package/lib/esm/nip17.js +15 -8
  82. package/lib/esm/nip17.js.map +4 -4
  83. package/lib/esm/nip18.js +15 -8
  84. package/lib/esm/nip18.js.map +4 -4
  85. package/lib/esm/nip19.js.map +1 -1
  86. package/lib/esm/nip21.js.map +1 -1
  87. package/lib/esm/nip22.js +20 -7
  88. package/lib/esm/nip22.js.map +3 -3
  89. package/lib/esm/nip25.js +15 -8
  90. package/lib/esm/nip25.js.map +4 -4
  91. package/lib/esm/nip27.js.map +1 -1
  92. package/lib/esm/nip28.js +15 -8
  93. package/lib/esm/nip28.js.map +4 -4
  94. package/lib/esm/nip29.js.map +1 -1
  95. package/lib/esm/nip30.js.map +2 -2
  96. package/lib/esm/nip42.js.map +2 -2
  97. package/lib/esm/nip44.js.map +1 -1
  98. package/lib/esm/nip45.js +23 -10
  99. package/lib/esm/nip45.js.map +4 -4
  100. package/lib/esm/nip46.js +47 -47
  101. package/lib/esm/nip46.js.map +4 -4
  102. package/lib/esm/nip47.js +15 -8
  103. package/lib/esm/nip47.js.map +4 -4
  104. package/lib/esm/nip57.js +17 -10
  105. package/lib/esm/nip57.js.map +4 -4
  106. package/lib/esm/nip58.js.map +2 -2
  107. package/lib/esm/nip59.js +10 -1
  108. package/lib/esm/nip59.js.map +3 -3
  109. package/lib/esm/nip75.js.map +1 -1
  110. package/lib/esm/nip94.js.map +1 -1
  111. package/lib/esm/nip98.js +15 -8
  112. package/lib/esm/nip98.js.map +4 -4
  113. package/lib/esm/nip99.js.map +2 -2
  114. package/lib/esm/nipb0.js +39 -18
  115. package/lib/esm/nipb0.js.map +4 -4
  116. package/lib/esm/nipb7.js +13 -7
  117. package/lib/esm/nipb7.js.map +2 -2
  118. package/lib/esm/pool.js +47 -47
  119. package/lib/esm/pool.js.map +4 -4
  120. package/lib/esm/pure.js +15 -8
  121. package/lib/esm/pure.js.map +4 -4
  122. package/lib/esm/references.js.map +1 -1
  123. package/lib/esm/relay.js +37 -30
  124. package/lib/esm/relay.js.map +4 -4
  125. package/lib/esm/signer.js +15 -8
  126. package/lib/esm/signer.js.map +4 -4
  127. package/lib/esm/utils.js +10 -0
  128. package/lib/esm/utils.js.map +2 -2
  129. package/lib/esm/wasm.js +17 -3
  130. package/lib/esm/wasm.js.map +4 -4
  131. package/lib/nostr.bundle.js +73 -70
  132. package/lib/nostr.bundle.js.map +4 -4
  133. package/lib/types/abstract-pool.d.ts +6 -4
  134. package/lib/types/abstract-relay.d.ts +2 -2
  135. package/lib/types/kinds.d.ts +2 -0
  136. package/lib/types/nipb0.d.ts +0 -1
  137. package/lib/types/nipb0.test.d.ts +1 -0
  138. package/lib/types/nipb7.d.ts +0 -1
  139. package/lib/types/utils.d.ts +4 -0
  140. package/package.json +1 -1
  141. package/lib/types/helpers.d.ts +0 -2
@@ -1,5 +1,5 @@
1
1
  import { AbstractRelay as AbstractRelay, SubscriptionParams, type AbstractRelayConstructorOptions } from './abstract-relay.ts';
2
- import type { Event, EventTemplate, Nostr, VerifiedEvent } from './core.ts';
2
+ import type { Event, EventTemplate, VerifiedEvent } from './core.ts';
3
3
  import { type Filter } from './filter.ts';
4
4
  import { type CountManyDirective } from './nip45.ts';
5
5
  export type SubCloser = {
@@ -15,7 +15,10 @@ export type AbstractPoolConstructorOptions = AbstractRelayConstructorOptions & {
15
15
  export type SubscribeManyParams = Omit<SubscriptionParams, 'onclose'> & {
16
16
  maxWait?: number;
17
17
  abort?: AbortSignal;
18
- onclose?: (reasons: string[]) => void;
18
+ onclose?: (reasons: {
19
+ url: string;
20
+ reason: string;
21
+ }[]) => void;
19
22
  onauth?: (event: EventTemplate) => Promise<VerifiedEvent>;
20
23
  id?: string;
21
24
  label?: string;
@@ -24,12 +27,11 @@ export declare class AbstractSimplePool {
24
27
  protected relays: Map<string, AbstractRelay>;
25
28
  seenOn: Map<string, Set<AbstractRelay>>;
26
29
  trackRelays: boolean;
27
- verifyEvent: Nostr['verifyEvent'];
30
+ verifyEvent: (event: Event, url: string) => boolean;
28
31
  enablePing: boolean | undefined;
29
32
  enableReconnect: boolean;
30
33
  idleTimeout: number;
31
34
  automaticallyAuth?: (relayURL: string) => null | ((event: EventTemplate) => Promise<VerifiedEvent>);
32
- trustedRelayURLs: Set<string>;
33
35
  onRelayConnectionFailure?: (url: string) => void;
34
36
  onRelayConnectionSuccess?: (url: string) => void;
35
37
  allowConnectingToRelay?: (url: string, operation: ['read', Filter[]] | ['write', Event]) => boolean;
@@ -1,7 +1,7 @@
1
- import type { Event, EventTemplate, VerifiedEvent, Nostr } from './core.ts';
1
+ import type { Event, EventTemplate, VerifiedEvent } from './core.ts';
2
2
  import { type Filter } from './filter.ts';
3
3
  export type AbstractRelayConstructorOptions = {
4
- verifyEvent: Nostr['verifyEvent'];
4
+ verifyEvent: (event: Event, url: string) => boolean;
5
5
  websocketImplementation?: typeof WebSocket;
6
6
  enablePing?: boolean;
7
7
  enableReconnect?: boolean;
@@ -216,6 +216,8 @@ export declare const NutZapInfo = 10019;
216
216
  export type NutZapInfo = typeof NutZapInfo;
217
217
  export declare const MediaFollows = 10020;
218
218
  export type MediaFollows = typeof MediaFollows;
219
+ export declare const FavoriteFollowSets = 10021;
220
+ export type FavoriteFollowSets = typeof FavoriteFollowSets;
219
221
  export declare const UserEmojiList = 10030;
220
222
  export type UserEmojiList = typeof UserEmojiList;
221
223
  export declare const DecoupledKeyAnnouncement = 10044;
@@ -19,7 +19,6 @@ export type AuthEventOptions = {
19
19
  message?: string;
20
20
  expiration?: number;
21
21
  };
22
- export declare function isSha256(str: string): boolean;
23
22
  export declare function getBlobSize(blob: UploadType): number;
24
23
  export declare function getBlobType(blob: UploadType): string | undefined;
25
24
  export declare function computeBlobSha256(blob: UploadType): Promise<string>;
@@ -0,0 +1 @@
1
+ export {};
@@ -12,7 +12,6 @@ export declare class BlossomClient {
12
12
  constructor(mediaserver: string, signer: Signer);
13
13
  private httpCall;
14
14
  private authorizationHeader;
15
- private isValid32ByteHex;
16
15
  check(hash: string): Promise<void>;
17
16
  uploadBlob(file: File | Blob, contentType?: string): Promise<BlobDescriptor>;
18
17
  uploadFile(file: File): Promise<BlobDescriptor>;
@@ -7,3 +7,7 @@ export declare function insertEventIntoDescendingList(sortedArray: NostrEvent[],
7
7
  export declare function insertEventIntoAscendingList(sortedArray: NostrEvent[], event: NostrEvent): NostrEvent[];
8
8
  export declare function binarySearch<T>(arr: T[], compare: (b: T) => number): [number, boolean];
9
9
  export declare function mergeReverseSortedLists(list1: NostrEvent[], list2: NostrEvent[]): NostrEvent[];
10
+ /**
11
+ * Checks if a string is a 64-char lowercase hex string as most Nostr ids and pubkeys.
12
+ */
13
+ export declare function isHex32(input: string): boolean;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "type": "module",
3
3
  "name": "nostr-tools",
4
- "version": "2.23.11",
4
+ "version": "2.24.0",
5
5
  "description": "Tools for making a Nostr client.",
6
6
  "repository": {
7
7
  "type": "git",
@@ -1,2 +0,0 @@
1
- import { type Nostr } from './core.ts';
2
- export declare const alwaysTrue: Nostr['verifyEvent'];