spasm.js 1.0.2 → 2.0.0-alpha

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 (123) hide show
  1. package/README.md +454 -113
  2. package/lib.commonjs/convert/convertToEventForSpasmid.d.ts +4 -0
  3. package/lib.commonjs/convert/convertToEventForSpasmid.d.ts.map +1 -0
  4. package/lib.commonjs/convert/convertToEventForSpasmid.js +171 -0
  5. package/lib.commonjs/convert/convertToEventForSpasmid.js.map +1 -0
  6. package/lib.commonjs/convert/convertToSpasm.d.ts +17 -15
  7. package/lib.commonjs/convert/convertToSpasm.d.ts.map +1 -1
  8. package/lib.commonjs/convert/convertToSpasm.js +772 -265
  9. package/lib.commonjs/convert/convertToSpasm.js.map +1 -1
  10. package/lib.commonjs/convert/convertToSpasmEventDatabase.d.ts +4 -0
  11. package/lib.commonjs/convert/convertToSpasmEventDatabase.d.ts.map +1 -0
  12. package/lib.commonjs/convert/convertToSpasmEventDatabase.js +130 -0
  13. package/lib.commonjs/convert/convertToSpasmEventDatabase.js.map +1 -0
  14. package/lib.commonjs/convert/index.d.ts +2 -0
  15. package/lib.commonjs/convert/index.d.ts.map +1 -1
  16. package/lib.commonjs/convert/index.js +5 -1
  17. package/lib.commonjs/convert/index.js.map +1 -1
  18. package/lib.commonjs/id/getSpasmId.d.ts +4 -0
  19. package/lib.commonjs/id/getSpasmId.d.ts.map +1 -0
  20. package/lib.commonjs/id/getSpasmId.js +31 -0
  21. package/lib.commonjs/id/getSpasmId.js.map +1 -0
  22. package/lib.commonjs/id/index.d.ts +2 -0
  23. package/lib.commonjs/id/index.d.ts.map +1 -0
  24. package/lib.commonjs/id/index.js +6 -0
  25. package/lib.commonjs/id/index.js.map +1 -0
  26. package/lib.commonjs/identify/identifyEvent.d.ts.map +1 -1
  27. package/lib.commonjs/identify/identifyEvent.js +13 -5
  28. package/lib.commonjs/identify/identifyEvent.js.map +1 -1
  29. package/lib.commonjs/sort/index.d.ts +2 -0
  30. package/lib.commonjs/sort/index.d.ts.map +1 -0
  31. package/lib.commonjs/sort/index.js +6 -0
  32. package/lib.commonjs/sort/index.js.map +1 -0
  33. package/lib.commonjs/sort/sortEventForSpasmid.d.ts +3 -0
  34. package/lib.commonjs/sort/sortEventForSpasmid.d.ts.map +1 -0
  35. package/lib.commonjs/sort/sortEventForSpasmid.js +15 -0
  36. package/lib.commonjs/sort/sortEventForSpasmid.js.map +1 -0
  37. package/lib.commonjs/spasm.d.ts +5 -3
  38. package/lib.commonjs/spasm.d.ts.map +1 -1
  39. package/lib.commonjs/spasm.js +4 -5
  40. package/lib.commonjs/spasm.js.map +1 -1
  41. package/lib.commonjs/types/index.d.ts +1 -1
  42. package/lib.commonjs/types/index.d.ts.map +1 -1
  43. package/lib.commonjs/types/interfaces.d.ts +468 -90
  44. package/lib.commonjs/types/interfaces.d.ts.map +1 -1
  45. package/lib.commonjs/types/interfaces.js +2 -0
  46. package/lib.commonjs/types/interfaces.js.map +1 -1
  47. package/lib.commonjs/utils/nostrUtils.d.ts +10 -2
  48. package/lib.commonjs/utils/nostrUtils.d.ts.map +1 -1
  49. package/lib.commonjs/utils/nostrUtils.js +122 -22
  50. package/lib.commonjs/utils/nostrUtils.js.map +1 -1
  51. package/lib.commonjs/utils/utils.d.ts +26 -1
  52. package/lib.commonjs/utils/utils.d.ts.map +1 -1
  53. package/lib.commonjs/utils/utils.js +723 -3
  54. package/lib.commonjs/utils/utils.js.map +1 -1
  55. package/lib.esm/convert/convertToEventForSpasmid.d.ts +4 -0
  56. package/lib.esm/convert/convertToEventForSpasmid.d.ts.map +1 -0
  57. package/lib.esm/convert/convertToEventForSpasmid.js +168 -0
  58. package/lib.esm/convert/convertToEventForSpasmid.js.map +1 -0
  59. package/lib.esm/convert/convertToSpasm.d.ts +17 -15
  60. package/lib.esm/convert/convertToSpasm.d.ts.map +1 -1
  61. package/lib.esm/convert/convertToSpasm.js +759 -251
  62. package/lib.esm/convert/convertToSpasm.js.map +1 -1
  63. package/lib.esm/convert/convertToSpasmEventDatabase.d.ts +4 -0
  64. package/lib.esm/convert/convertToSpasmEventDatabase.d.ts.map +1 -0
  65. package/lib.esm/convert/convertToSpasmEventDatabase.js +137 -0
  66. package/lib.esm/convert/convertToSpasmEventDatabase.js.map +1 -0
  67. package/lib.esm/convert/index.d.ts +2 -0
  68. package/lib.esm/convert/index.d.ts.map +1 -1
  69. package/lib.esm/convert/index.js +2 -0
  70. package/lib.esm/convert/index.js.map +1 -1
  71. package/lib.esm/id/getSpasmId.d.ts +4 -0
  72. package/lib.esm/id/getSpasmId.d.ts.map +1 -0
  73. package/lib.esm/id/getSpasmId.js +31 -0
  74. package/lib.esm/id/getSpasmId.js.map +1 -0
  75. package/lib.esm/id/index.d.ts +2 -0
  76. package/lib.esm/id/index.d.ts.map +1 -0
  77. package/lib.esm/id/index.js +2 -0
  78. package/lib.esm/id/index.js.map +1 -0
  79. package/lib.esm/identify/identifyEvent.d.ts.map +1 -1
  80. package/lib.esm/identify/identifyEvent.js +13 -5
  81. package/lib.esm/identify/identifyEvent.js.map +1 -1
  82. package/lib.esm/sort/index.d.ts +2 -0
  83. package/lib.esm/sort/index.d.ts.map +1 -0
  84. package/lib.esm/sort/index.js +2 -0
  85. package/lib.esm/sort/index.js.map +1 -0
  86. package/lib.esm/sort/sortEventForSpasmid.d.ts +3 -0
  87. package/lib.esm/sort/sortEventForSpasmid.d.ts.map +1 -0
  88. package/lib.esm/sort/sortEventForSpasmid.js +17 -0
  89. package/lib.esm/sort/sortEventForSpasmid.js.map +1 -0
  90. package/lib.esm/spasm.d.ts +5 -3
  91. package/lib.esm/spasm.d.ts.map +1 -1
  92. package/lib.esm/spasm.js +4 -2
  93. package/lib.esm/spasm.js.map +1 -1
  94. package/lib.esm/types/index.d.ts +1 -1
  95. package/lib.esm/types/index.d.ts.map +1 -1
  96. package/lib.esm/types/interfaces.d.ts +468 -90
  97. package/lib.esm/types/interfaces.d.ts.map +1 -1
  98. package/lib.esm/types/interfaces.js +2 -0
  99. package/lib.esm/types/interfaces.js.map +1 -1
  100. package/lib.esm/utils/nostrUtils.d.ts +10 -2
  101. package/lib.esm/utils/nostrUtils.d.ts.map +1 -1
  102. package/lib.esm/utils/nostrUtils.js +119 -21
  103. package/lib.esm/utils/nostrUtils.js.map +1 -1
  104. package/lib.esm/utils/utils.d.ts +26 -1
  105. package/lib.esm/utils/utils.d.ts.map +1 -1
  106. package/lib.esm/utils/utils.js +701 -2
  107. package/lib.esm/utils/utils.js.map +1 -1
  108. package/package.json +9 -2
  109. package/src.ts/convert/convertToEventForSpasmid.ts +289 -0
  110. package/src.ts/convert/convertToSpasm.ts +962 -292
  111. package/src.ts/convert/convertToSpasmEventDatabase.ts +204 -0
  112. package/src.ts/convert/index.ts +2 -0
  113. package/src.ts/docs/architecture.md +413 -0
  114. package/src.ts/id/getSpasmId.ts +56 -0
  115. package/src.ts/id/index.ts +1 -0
  116. package/src.ts/identify/identifyEvent.ts +12 -5
  117. package/src.ts/sort/index.ts +1 -0
  118. package/src.ts/sort/sortEventForSpasmid.ts +30 -0
  119. package/src.ts/spasm.ts +5 -3
  120. package/src.ts/types/index.ts +1 -1
  121. package/src.ts/types/interfaces.ts +729 -125
  122. package/src.ts/utils/nostrUtils.ts +150 -22
  123. package/src.ts/utils/utils.ts +1005 -4
@@ -34,7 +34,7 @@ export interface Post {
34
34
  latest_action_added_time?: string | null;
35
35
  children?: Post[];
36
36
  }
37
- export type Web3MessageAction = "post" | "react" | "reply";
37
+ export type Web3MessageAction = "post" | "react" | "reply" | "share" | "shared" | "moderate" | "admin";
38
38
  export type Web3MessageLicense = "MIT" | "CC0" | "CC0-1.0" | "SPDX-License-Identifier: CC0-1.0" | "SPDX-License-Identifier: MIT";
39
39
  export interface Web3Message {
40
40
  version: string;
@@ -46,22 +46,26 @@ export interface Web3Message {
46
46
  license: Web3MessageLicense;
47
47
  }
48
48
  export type NostrSpasmTag = SpasmVersionTag | SpasmTargetTag | SpasmActionTag | SpasmCategoryTag | SpasmTitleTag | SpasmLicenseTag;
49
- export type SpasmVersionTag = ["spasm_version", string];
49
+ export type SpasmVersionTag = ["spasm_version", string] | ["nostr_spasm_version", string];
50
50
  export type SpasmTargetTag = ["spasm_target", string];
51
51
  export type SpasmActionTag = ["spasm_action", Web3MessageAction];
52
52
  export type SpasmCategoryTag = ["spasm_category", FiltersCategory];
53
53
  export type SpasmTitleTag = ["spasm_title", string];
54
54
  export type SpasmLicenseTag = ["license", Web3MessageLicense];
55
55
  export type AnyTag = any[];
56
- export type UnknownEvent = DmpEvent | DmpEventSignedClosed | DmpEventSignedOpened | NostrEvent | NostrEventSignedOpened | NostrSpasmEvent | NostrSpasmEventSignedOpened | SpasmEvent;
56
+ export type UnknownEvent = DmpEvent | DmpEventSignedClosed | DmpEventSignedOpened | NostrEvent | NostrEventSignedOpened | NostrSpasmEvent | NostrSpasmEventSignedOpened;
57
+ export type AnyNostrEvent = NostrEvent | NostrEventSignedOpened | NostrSpasmEvent | NostrSpasmEventSignedOpened;
57
58
  export type UnknownPostOrEvent = Post | UnknownEvent;
59
+ export type SpasmEventV0 = Post;
60
+ export type UnknownEventV1 = UnknownEvent;
61
+ export type UnknownEventV2 = UnknownEventV1 | SpasmEventV0 | SpasmEventV2 | SpasmEventBodyV2 | SpasmEventEnvelopeV2 | SpasmEventEnvelopeWithTreeV2 | SpasmEventDatabaseV2;
58
62
  export interface NostrEvent {
59
63
  id?: string;
60
64
  content: string;
61
65
  created_at: number;
62
66
  kind: number;
63
67
  pubkey: string;
64
- tags?: AnyTag[];
68
+ tags: AnyTag[];
65
69
  }
66
70
  export interface NostrEventSignedOpened extends NostrEvent {
67
71
  id: string;
@@ -89,101 +93,56 @@ export interface DmpEventSignedClosed {
89
93
  export interface DmpEventSignedOpened extends DmpEventSignedClosed {
90
94
  signedObject: DmpEvent;
91
95
  }
92
- export type SpasmVersion = "1.0.0" | string;
96
+ export type SpasmVersion = "1.0.0" | "2.0.0";
97
+ export type DmpVersion = "0.0.1" | "0.1.0";
98
+ export type NostrSpasmVersion = "1.0.0" | "2.0.0";
99
+ export type ExtraSpasmFieldsVersion = NostrSpasmVersion;
93
100
  export type EventBaseProtocol = "dmp" | "nostr" | "spasm";
94
101
  export type EventBaseProtocolVersion = "dmp_v0.1.0" | string;
95
- export type ExtraSpasmFieldsVersion = "1.0.0" | string;
96
102
  export type EventPrivateKeyType = "ethereum" | "nostr";
97
103
  export type EventProtocolCryptography = "schnorr" | "ecdsa" | "secp256k1" | string;
98
104
  export type SpasmAction = Web3MessageAction;
99
- export interface HashesObject {
100
- sha1?: string;
101
- sha256?: string;
102
- infohash?: string;
103
- ipfs?: string;
104
- }
105
- export interface LinksObject {
106
- http?: string;
107
- guid?: string;
108
- ipfs?: string;
109
- torrent?: string;
105
+ export type ExtraObject = {
106
+ [key: string | number | symbol]: any;
107
+ };
108
+ export interface HashFormat {
109
+ name?: string;
110
+ version?: string;
111
+ length?: number | string;
112
+ type?: string;
113
+ pieceLength?: number | string;
114
+ pieces?: string[];
115
+ }
116
+ export interface LinkObject {
117
+ value: string;
118
+ protocol?: string;
119
+ origin?: string;
120
+ host?: string;
121
+ pathname?: string;
122
+ search?: string;
123
+ port?: string;
124
+ hash?: string;
125
+ originalProtocolKey?: string | number;
110
126
  }
111
127
  export type MimeType = "image/jpeg" | "image/png" | "image/gif" | "image/webp" | "image/svg+xml" | "audio/mpeg" | "audio/ogg" | "audio/wav" | "video/mp4" | "video/ogg" | "video/webm" | "text/plain" | "text/html" | "text/css" | "text/javascript" | "application/json" | "application/xml" | "application/pdf" | "application/octet-stream";
112
- export interface EventMedia {
113
- hashes?: HashesObject;
114
- links?: LinksObject;
128
+ export interface SpasmEventMediaV2 {
129
+ ids?: SpasmEventIdV2[];
130
+ hashes?: SpasmEventHashV2[];
131
+ links?: SpasmEventLinkV2[];
115
132
  type?: MimeType;
116
133
  }
117
- export interface EventReactions {
118
- upvote?: number | null;
119
- downvote?: number | null;
120
- bullish?: number | null;
121
- bearish?: number | null;
122
- important?: number | null;
123
- scam?: number | null;
124
- comments_count?: number | null;
125
- latest_action_added_time?: string | null;
134
+ export interface SpasmEventStatContentV2 {
135
+ value: SpasmEventReactionNameV2;
136
+ total: number | string;
126
137
  }
127
- export interface SpasmEventMeta {
128
- baseProtocol?: EventBaseProtocol;
129
- baseProtocolVersion?: EventBaseProtocolVersion;
130
- hasExtraSpasmFields?: boolean;
131
- extraSpasmFieldsVersion?: ExtraSpasmFieldsVersion;
132
- convertedFrom?: EventType;
133
- privateKeyType?: EventPrivateKeyType;
134
- cryptography?: EventProtocolCryptography;
135
- hashes?: HashesObject;
136
- previousEvent?: string | number;
137
- sequence?: number;
138
- powNonce?: string;
139
- license?: string;
140
- language?: string;
141
- }
142
- export interface SpasmEventMetaSigned extends SpasmEventMeta {
143
- privateKeyType: EventPrivateKeyType;
144
- cryptography?: EventProtocolCryptography;
145
- }
146
- export interface SpasmEvent {
147
- meta?: SpasmEventMeta;
148
- spasmVersion?: SpasmVersion;
149
- spasmId?: string | number;
150
- eventId?: string | number;
151
- dbId?: number | string;
152
- rootEvent?: string;
153
- parentEvent?: string;
154
- action?: string;
155
- title?: string;
156
- content?: string;
157
- source?: string;
158
- timestamp?: number;
159
- dbTimestamp?: number | string;
160
- author?: string;
161
- category?: string;
162
- links?: LinksObject;
163
- keywords?: string[] | string;
164
- tags?: any[][];
165
- media?: EventMedia;
166
- referencedEvents?: string[];
167
- referencedAuthors?: string[];
168
- extra?: any;
169
- originalEventObject?: UnknownPostOrEvent;
170
- originalEventString?: string;
171
- reactions?: EventReactions;
172
- comments?: any[];
173
- signature?: string;
174
- }
175
- export interface SpasmEventSigned extends SpasmEvent {
176
- meta: SpasmEventMetaSigned;
177
- eventId: string | number;
178
- author: string;
179
- signature: string;
180
- }
181
- export interface SpasmEventSignedOpened extends SpasmEventSigned {
182
- originalEventObject: DmpEvent | NostrSpasmEventSignedOpened;
183
- }
184
- export interface SpasmEventSignedClosed extends SpasmEventSigned {
185
- originalEventString: string;
138
+ export interface SpasmEventStatV2 {
139
+ action: SpasmEventActionV2 | number;
140
+ total?: number | string;
141
+ latestTimestamp?: number;
142
+ latestDbTimestamp?: number;
143
+ contents?: SpasmEventStatContentV2[];
186
144
  }
145
+ export type SpasmEventReactionNameV2 = "upvote" | "downvote" | "bullish" | "bearish" | "important" | "scam" | "toxic" | "sad" | "laugh" | "clown" | "love" | "facepalm" | "mushroom" | "moon" | "rocket";
187
146
  export interface StandardizedEvent {
188
147
  signedString?: string;
189
148
  signature?: string;
@@ -194,7 +153,7 @@ export interface StandardizedEvent {
194
153
  text?: string;
195
154
  signedDate?: string;
196
155
  }
197
- export interface SpasmSource {
156
+ export interface SpasmEventSource {
198
157
  name?: string;
199
158
  uiUrl?: string;
200
159
  apiUrl?: string;
@@ -230,5 +189,424 @@ export interface KnownPostOrEventInfo {
230
189
  eventInfo: EventInfo | false;
231
190
  }
232
191
  export type PrivateKeyType = "ethereum" | "nostr";
233
- export type NostrSpasmVersion = "1.0.0" | "2.0.0";
192
+ export interface SpasmEventBodyV2 {
193
+ type: "SpasmEventBodyV2";
194
+ /**
195
+ * Body & Signling have a protocol field, but not SpasmEventV2
196
+ * because each Spasm event can be signed with many protocols.
197
+ * Protocol is not hashed for Spasm ID for the same reason.
198
+ */
199
+ protocol?: SpasmEventBodyProtocolV2;
200
+ /**
201
+ * A root (an event without a parent) should not be included
202
+ * into a signed body because it can easily be manipulated
203
+ * by a malicious actor in an off-chain environment to hijack
204
+ * a conversation. Instead, a root should be found on a server
205
+ * similar to children if a database contains the whole event
206
+ * tree, and then the root should be added to an envelope with
207
+ * tree (SpasmEventEnvelopeWithTreeV2).
208
+ */
209
+ parent?: SpasmEventBodyParentV2;
210
+ action?: SpasmEventActionV2;
211
+ title?: string;
212
+ content?: string;
213
+ timestamp?: number;
214
+ authors?: SpasmEventBodyAuthorV2[];
215
+ categories?: SpasmEventCategoryV2[];
216
+ tips?: SpasmEventBodyTipsV2[];
217
+ hosts?: SpasmEventBodyLinkV2[];
218
+ links?: SpasmEventBodyLinkV2[];
219
+ keywords?: string[];
220
+ tags?: any[][];
221
+ medias?: SpasmEventMediaV2[];
222
+ references?: SpasmEventBodyReferenceV2[];
223
+ mentions?: SpasmEventMentionV2[];
224
+ proofs?: SpasmEventProofV2[];
225
+ /**
226
+ * Some protocols have a sequence number and an ID (hash) of a
227
+ * previous event in order to increase censorship-resistance.
228
+ * These fields should be signed, but not hashed for Spasm ID,
229
+ * because a user should be able to sign an already signed
230
+ * event again with a protocol that will have different values
231
+ * for sequence and a previous event.
232
+ * TODO: think about the logic, whether add to Sibling, etc.
233
+ */
234
+ previousEvent?: SpasmEventBodyPreviousEventV2;
235
+ sequence?: number;
236
+ license?: SpasmEventLicenseV2;
237
+ language?: string;
238
+ extra?: Record<string | number, any>;
239
+ /**
240
+ * Depending on the implementation, proof-of-work will likely
241
+ * affect spasm ID (e.g., require 6 leading zeros), so only
242
+ * one POW can be signed to keep spasm ID the same.
243
+ * However, multiple pows[] can also be signed within one
244
+ * Body and then 'nonce' and 'words' from each POW will be
245
+ * used to check difficulty of spasmpow, not spasmid.
246
+ * In other words, there might be two levels of proof-of-work:
247
+ * - event-wide POW (spasmid01000000abc, spasmid02000000xyz)
248
+ * - instance-specific POW (spasmpow01degen, spasmpow02rebel)
249
+ * Spasm ID (spasmid) is used to chain replies, reactions, etc.
250
+ * Spasm POW (spasmpow) is only used to check POW.
251
+ * Users should be able to submit already signed messages to
252
+ * new instances by signing new siblings with extra POW, so
253
+ * only POWs with "spasmid" markers should be used to
254
+ * calculate Spasm IDs.
255
+ */
256
+ pows?: SpasmEventPowV2[];
257
+ }
258
+ /**
259
+ * The structure of the event for calculating Spasm ID should
260
+ * be similar to the structure of the Spasm body, but with a
261
+ * few differences:
262
+ * - No type, because it's not signed.
263
+ * - No protocol, because a Spasm event can be signed with
264
+ * multiple protocols (Spasm, Dmp, Nostr). Instead, a protocol
265
+ * can be found in each sibling, e.g. siblings[0].protocol.name
266
+ * - No categories, because a Spasm event can be signed again
267
+ * with different categories and e.g. different POW values.
268
+ */
269
+ export interface EventForSpasmid01 extends Omit<SpasmEventBodyV2, 'type' | 'protocol' | 'authors' | 'categories' | 'sequence' | 'previousEvent'> {
270
+ /**
271
+ * Authors should not have a 'verified' key
272
+ * for calculating the Spasm ID.
273
+ */
274
+ authors?: SpasmEventBodyAuthorV2[];
275
+ }
276
+ export interface SpasmEventEnvelopeV2 {
277
+ type: "SpasmEventEnvelopeV2";
278
+ ids?: SpasmEventIdV2[];
279
+ siblings?: SpasmEventSiblingV2[];
280
+ db?: SpasmEventDbV2;
281
+ source?: SpasmEventSource;
282
+ stats?: SpasmEventStatV2[];
283
+ sharedBy?: EventSharedByV2;
284
+ }
285
+ export interface SpasmEventDbV2 {
286
+ key?: number;
287
+ addedTimestamp?: number;
288
+ updatedTimestamp?: number;
289
+ table?: string | number;
290
+ }
291
+ export interface EventSharedByV2 {
292
+ ids?: SpasmEventIdV2[];
293
+ }
294
+ export interface SpasmEventEnvelopeWithTreeV2 extends Omit<SpasmEventEnvelopeV2, 'type'> {
295
+ type: "SpasmEventEnvelopeWithTreeV2";
296
+ root?: SpasmEventEnvelopeWithTreeRootV2;
297
+ parent?: SpasmEventEnvelopeWithTreeParentV2;
298
+ references?: SpasmEventEnvelopeWithTreeReferenceV2[];
299
+ children?: SpasmEventEnvelopeWithTreeChildV2[];
300
+ }
301
+ export type SpasmEventEnvelopeWithTreeChildEventV2 = SpasmEventV2 | SpasmEventEnvelopeV2 | SpasmEventEnvelopeWithTreeV2;
302
+ export interface SpasmEventV2 extends Omit<SpasmEventBodyV2, 'type' | 'protocol' | 'authors' | 'parent' | 'root' | 'hosts' | 'links' | 'references' | 'sequence' | 'previousEvent'>, Omit<SpasmEventEnvelopeWithTreeV2, 'type' | 'protocol' | 'authors' | 'parent' | 'root' | 'hosts' | 'links' | 'references' | 'sequence' | 'previousEvent'> {
303
+ type: "SpasmEventV2";
304
+ /**
305
+ * Protocol, sequence, previousEvent shouldn't be a part
306
+ * of SpasmEvent. Instead, these fields can be found in
307
+ * Body and in Siblings.
308
+ */
309
+ authors?: SpasmEventAuthorV2[];
310
+ root?: SpasmEventRootV2;
311
+ parent?: SpasmEventParentV2;
312
+ hosts?: SpasmEventHostV2[];
313
+ links?: SpasmEventLinkV2[];
314
+ references?: SpasmEventReferenceV2[];
315
+ signatures?: SpasmEventSignatureV2[];
316
+ }
317
+ export interface SpasmEventDatabaseV2 extends Omit<SpasmEventBodyV2, 'type' | 'protocol' | 'authors' | 'previousEvent' | 'sequence'>, Omit<SpasmEventEnvelopeV2, 'type' | 'db'> {
318
+ type: "SpasmEventDatabaseV2";
319
+ /**
320
+ * Omitting authors from Body to add a 'verified'
321
+ * field to authors in Spasm Event and Database.
322
+ */
323
+ authors?: SpasmEventAuthorV2[];
324
+ signatures?: SpasmEventSignatureV2[];
325
+ }
326
+ export type SpasmEventAddressFormatNameV2 = "spasmer" | "ethereum-pubkey" | "nostr-hex" | "nostr-npub";
327
+ export type SpasmEventSignatureFormatNameV2 = "ethereum-sig" | "nostr-sig";
328
+ export type SpasmEventIdFormatNameV2 = SpasmEventAddressFormatNameV2 | "spasmid" | "nostr-hex" | "nostr-note" | "nostr-nevent" | SpasmEventSignatureFormatNameV2 | "url" | "guid" | "string" | "number";
329
+ export interface SpasmEventSignatureFormatV2 {
330
+ name: SpasmEventSignatureFormatNameV2;
331
+ version?: string | number;
332
+ }
333
+ export interface SpasmEventIdFormatV2 {
334
+ name: SpasmEventIdFormatNameV2;
335
+ version?: string | number;
336
+ }
337
+ export interface SpasmEventIdV2 {
338
+ value: string | number;
339
+ format?: SpasmEventIdFormatV2;
340
+ hosts?: SpasmEventHostV2[];
341
+ }
342
+ export interface SpasmEventHashV2 extends Omit<SpasmEventIdV2, 'format'> {
343
+ format?: HashFormat;
344
+ }
345
+ /**
346
+ * Each author can have multiple addresses
347
+ * (e.g., Ethereum, Nostr, Solana).
348
+ * Each co-author should be added as a separate author.
349
+ */
350
+ export interface SpasmEventBodyAuthorV2 {
351
+ addresses?: SpasmEventBodyAddressV2[];
352
+ usernames?: SpasmEventUsernameV2[];
353
+ marker?: string | number;
354
+ }
355
+ export interface SpasmEventAuthorV2 extends SpasmEventBodyAuthorV2 {
356
+ addresses?: SpasmEventAddressV2[];
357
+ usernames?: SpasmEventUsernameV2[];
358
+ }
359
+ export interface SpasmEventAddressFormatV2 {
360
+ name: SpasmEventAddressFormatNameV2;
361
+ version?: string | number;
362
+ }
363
+ export interface SpasmEventBodyAddressV2 {
364
+ value: string | number;
365
+ format?: SpasmEventAddressFormatV2;
366
+ hosts?: SpasmEventHostV2[];
367
+ }
368
+ /**
369
+ * Verified shows whether this address matches with at least
370
+ * one attached signature. Note that there might be multiple
371
+ * different signatures made by the same address.
372
+ * For example, if a user signs the same message using the same
373
+ * protocol and the same private key multiple times with
374
+ * different POW values to be accepted on different instances.
375
+ * - Verified is added to SpasmEvent for better Dev Experience.
376
+ * - Verified is added to SpasmEventDatabase for better queries.
377
+ * - Verified is NOT added to SpasmEnvelope because signatures
378
+ * have to be verified after receiving envelopes by converting
379
+ * them to SpasmEvent.
380
+ */
381
+ export interface SpasmEventAddressV2 extends SpasmEventBodyAddressV2 {
382
+ verified?: boolean;
383
+ }
384
+ export interface SpasmEventAuthorUsername {
385
+ value?: string;
386
+ owner?: string;
387
+ protocol?: string;
388
+ proof?: string;
389
+ provider?: string;
390
+ }
391
+ export interface SpasmEventUsernameV2 extends SpasmEventAuthorUsername {
392
+ }
393
+ export interface SpasmEventCategoryV2 {
394
+ name: string | number;
395
+ sub?: SpasmEventCategoryV2;
396
+ }
397
+ export interface SpasmEventBodyHostV2 extends SpasmEventBodyLinkV2 {
398
+ }
399
+ export interface SpasmEventBodyLinkV2 extends Pick<SpasmEventLinkV2, 'value' | 'marker'> {
400
+ }
401
+ export interface SpasmEventHostV2 extends SpasmEventLinkV2 {
402
+ }
403
+ export interface SpasmEventLinkV2 {
404
+ value: string;
405
+ marker?: string;
406
+ protocol?: string;
407
+ origin?: string;
408
+ host?: string;
409
+ pathname?: string;
410
+ search?: string;
411
+ port?: string;
412
+ originalProtocolKey?: string | number;
413
+ }
414
+ export interface SpasmEventSignatureV2 {
415
+ value: string | number;
416
+ pubkey?: string | number;
417
+ format?: SpasmEventSignatureFormatV2;
418
+ }
419
+ export interface SpasmEventBodyProtocolV2 {
420
+ name: "spasm" | "dmp" | "nostr" | "web2";
421
+ version?: string;
422
+ }
423
+ export type SiblingProtocolV2 = SpasmEventProtocolV2;
424
+ export interface SpasmEventProtocolV2 extends SpasmEventBodyProtocolV2 {
425
+ hasExtraSpasmFields?: boolean;
426
+ extraSpasmFieldsVersion?: string | number;
427
+ }
428
+ export interface SpasmEventBodyReferenceV2 {
429
+ ids: SpasmEventIdV2[];
430
+ marker?: string | number;
431
+ }
432
+ export interface SpasmEventBodyRootV2 extends SpasmEventBodyReferenceV2 {
433
+ }
434
+ export interface SpasmEventBodyParentV2 extends SpasmEventBodyReferenceV2 {
435
+ }
436
+ export interface SpasmEventBodyPreviousEventV2 extends SpasmEventBodyReferenceV2 {
437
+ }
438
+ /**
439
+ * The depth of the event shouldn't be included in the signed
440
+ * body (SpasmEventBody) because we cannot prove it without the
441
+ * access to the full event tree and so it can be manipulated.
442
+ * The depth shows the distance from the original event and can
443
+ * only be calculated inside SpasmEventEnvelopeWithTree which
444
+ * has access to all the events in the event tree.
445
+ * There is no need to add the depth level to the reference,
446
+ * so the depth is only added to root, parent, previousEvent.
447
+ */
448
+ export interface SpasmEventEnvelopeWithTreeReferenceV2 extends Partial<SpasmEventBodyReferenceV2> {
449
+ event?: SpasmEventEnvelopeV2 | SpasmEventEnvelopeWithTreeV2;
450
+ }
451
+ export interface SpasmEventEnvelopeWithTreeRootV2 extends SpasmEventEnvelopeWithTreeReferenceV2 {
452
+ depth?: number;
453
+ }
454
+ export interface SpasmEventEnvelopeWithTreeParentV2 extends SpasmEventEnvelopeWithTreeReferenceV2 {
455
+ depth?: number;
456
+ }
457
+ export interface SpasmEventEnvelopeWithTreeChildV2 {
458
+ ids?: SpasmEventIdV2[];
459
+ marker?: string | number;
460
+ event?: SpasmEventEnvelopeWithTreeChildEventV2;
461
+ depth?: number;
462
+ }
463
+ export interface SpasmEventReferenceV2 {
464
+ ids: SpasmEventIdV2[];
465
+ marker?: string | number;
466
+ event?: SpasmEventV2;
467
+ }
468
+ export interface SpasmEventRootV2 extends SpasmEventReferenceV2 {
469
+ depth?: number;
470
+ }
471
+ export interface SpasmEventParentV2 extends SpasmEventReferenceV2 {
472
+ depth?: number;
473
+ }
474
+ export interface SpasmEventPreviousEventV2 extends SpasmEventReferenceV2 {
475
+ depth?: number;
476
+ }
477
+ export interface SpasmEventBodyTipsV2 {
478
+ address?: string;
479
+ text?: string;
480
+ expiration?: {
481
+ timestamp?: number;
482
+ };
483
+ currency?: {
484
+ name?: string;
485
+ ticker?: string;
486
+ };
487
+ network?: {
488
+ name?: string | number;
489
+ id?: string | number;
490
+ };
491
+ }
492
+ export interface SpasmEventMentionV2 extends SpasmEventBodyAuthorV2 {
493
+ }
494
+ export interface SpasmEventProofV2 {
495
+ value?: string | number;
496
+ links?: Pick<SpasmEventLinkV2, 'value' | 'marker'>[];
497
+ protocol?: {
498
+ name: string;
499
+ version?: string | number;
500
+ };
501
+ }
502
+ export type EventSignatureProtocol = "ethereum" | "nostr";
503
+ export type SpasmEventActionV2 = "post" | "react" | "reply" | "share" | "shared" | "moderate" | "admin" | "edit" | "delete" | "vote" | "media" | "metadata" | "follow_list" | "direct_message";
504
+ export type SpasmEventLicense = "MIT" | "CC0" | "CC0-1.0" | "SPDX-License-Identifier: CC0-1.0" | "SPDX-License-Identifier: MIT";
505
+ export type SpasmEventLicenseV2 = SpasmEventLicense;
506
+ export type SpasmEventAddressTypeV2 = "ethereum" | "nostr-npub" | "nostr-hex";
507
+ export interface SpasmEventPowV2 {
508
+ marker?: string | number;
509
+ nonce?: string | number;
510
+ difficulty?: number;
511
+ words?: (string | number)[];
512
+ network?: {
513
+ name: string | number;
514
+ id: string | number;
515
+ };
516
+ }
517
+ export type SpasmEventSiblingV2 = SiblingSpasmV2 | SiblingSpasmSignedV2 | SiblingDmpV2 | SiblingDmpSignedV2 | SiblingNostrV2 | SiblingNostrSpasmV2 | SiblingNostrSignedV2 | SiblingNostrSpasmSignedV2 | SiblingWeb2V2;
518
+ export interface SiblingWeb2V2 {
519
+ type: "SiblingWeb2V2";
520
+ protocol: {
521
+ name: "web2";
522
+ };
523
+ originalObject?: UnknownEventV2;
524
+ ids?: SpasmEventIdV2[];
525
+ }
526
+ export interface SiblingSpasmV2 {
527
+ type: "SiblingSpasmV2";
528
+ protocol: {
529
+ name: "spasm";
530
+ version?: SpasmVersion;
531
+ };
532
+ signedString?: string;
533
+ sequence?: number;
534
+ previousEvent?: SpasmEventBodyPreviousEventV2;
535
+ ids?: SpasmEventIdV2[];
536
+ }
537
+ export interface SiblingSpasmSignedV2 {
538
+ type: "SiblingSpasmSignedV2";
539
+ protocol: {
540
+ name: "spasm";
541
+ version?: SpasmVersion;
542
+ };
543
+ signedString?: string;
544
+ sequence?: number;
545
+ previousEvent?: SpasmEventBodyPreviousEventV2;
546
+ ids?: SpasmEventIdV2[];
547
+ signatures?: SpasmEventSignatureV2[];
548
+ }
549
+ export interface SiblingDmpV2 {
550
+ type: "SiblingDmpV2";
551
+ protocol: {
552
+ name: "dmp";
553
+ version?: DmpVersion;
554
+ hasExtraSpasmFields?: false;
555
+ };
556
+ signedString?: string;
557
+ }
558
+ export interface SiblingDmpSignedV2 {
559
+ type: "SiblingDmpSignedV2";
560
+ protocol: {
561
+ name: "dmp";
562
+ version?: DmpVersion;
563
+ hasExtraSpasmFields?: false;
564
+ };
565
+ signedString?: string;
566
+ ids?: SpasmEventIdV2[];
567
+ signatures?: SpasmEventSignatureV2[];
568
+ }
569
+ export interface SiblingNostrV2 {
570
+ type: "SiblingNostrV2";
571
+ protocol: {
572
+ name: "nostr";
573
+ version?: string;
574
+ hasExtraSpasmFields?: false;
575
+ };
576
+ originalObject?: AnyNostrEvent;
577
+ ids?: SpasmEventIdV2[];
578
+ }
579
+ export interface SiblingNostrSpasmV2 {
580
+ type: "SiblingNostrSpasmV2";
581
+ protocol: {
582
+ name: "nostr";
583
+ version?: string;
584
+ hasExtraSpasmFields?: true;
585
+ extraSpasmFieldsVersion?: NostrSpasmVersion;
586
+ };
587
+ originalObject?: AnyNostrEvent;
588
+ ids?: SpasmEventIdV2[];
589
+ }
590
+ export interface SiblingNostrSignedV2 {
591
+ type: "SiblingNostrSignedV2";
592
+ protocol: {
593
+ name: "nostr";
594
+ version?: string;
595
+ };
596
+ originalObject?: AnyNostrEvent;
597
+ ids?: SpasmEventIdV2[];
598
+ signatures?: SpasmEventSignatureV2[];
599
+ }
600
+ export interface SiblingNostrSpasmSignedV2 {
601
+ type: "SiblingNostrSpasmSignedV2";
602
+ protocol: {
603
+ name: "nostr";
604
+ version?: string;
605
+ hasExtraSpasmFields?: true;
606
+ extraSpasmFieldsVersion?: NostrSpasmVersion;
607
+ };
608
+ originalObject?: AnyNostrEvent;
609
+ ids?: SpasmEventIdV2[];
610
+ signatures?: SpasmEventSignatureV2[];
611
+ }
234
612
  //# sourceMappingURL=interfaces.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src.ts/types/interfaces.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src.ts/types/interfaces.ts"],"names":[],"mappings":"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"}
@@ -13,4 +13,6 @@ class IgnoreWhitelistFor {
13
13
  }
14
14
  }
15
15
  exports.IgnoreWhitelistFor = IgnoreWhitelistFor;
16
+ // Ideas:
17
+ // - Short names? SE2 SE2Body SE2Envelope SE2EnvelopeWithTree
16
18
  //# sourceMappingURL=interfaces.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../src.ts/types/interfaces.ts"],"names":[],"mappings":";;;AAqSA,MAAa,kBAAkB;IAC7B,MAAM,CAKL;IAED;QACE,IAAI,CAAC,MAAM,GAAG;YACZ,IAAI,EAAE,KAAK;YACX,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,KAAK;YACZ,QAAQ,EAAE,KAAK;SAChB,CAAA;IACH,CAAC;CACF;AAhBD,gDAgBC"}
1
+ {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../src.ts/types/interfaces.ts"],"names":[],"mappings":";;;AAyTA,MAAa,kBAAkB;IAC7B,MAAM,CAKL;IAED;QACE,IAAI,CAAC,MAAM,GAAG;YACZ,IAAI,EAAE,KAAK;YACX,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,KAAK;YACZ,QAAQ,EAAE,KAAK;SAChB,CAAA;IACH,CAAC;CACF;AAhBD,gDAgBC;AAknBD,SAAS;AACT,6DAA6D"}