spasm.js 2.0.0-beta.8 → 2.0.0-rc
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/README.md +156 -8
- package/lib.commonjs/convert/convertToEventForSpasmid.d.ts.map +1 -1
- package/lib.commonjs/convert/convertToEventForSpasmid.js.map +1 -1
- package/lib.commonjs/convert/convertToNostr.d.ts +4 -0
- package/lib.commonjs/convert/convertToNostr.d.ts.map +1 -0
- package/lib.commonjs/convert/convertToNostr.js +477 -0
- package/lib.commonjs/convert/convertToNostr.js.map +1 -0
- package/lib.commonjs/convert/convertToSpasm.d.ts +7 -1
- package/lib.commonjs/convert/convertToSpasm.d.ts.map +1 -1
- package/lib.commonjs/convert/convertToSpasm.js +754 -29
- package/lib.commonjs/convert/convertToSpasm.js.map +1 -1
- package/lib.commonjs/convert/convertToSpasmEventDatabase.d.ts.map +1 -1
- package/lib.commonjs/convert/convertToSpasmEventDatabase.js.map +1 -1
- package/lib.commonjs/convert/convertToSpasmEventEnvelope.d.ts.map +1 -1
- package/lib.commonjs/convert/convertToSpasmEventEnvelope.js.map +1 -1
- package/lib.commonjs/convert/convertToSpasmEventEnvelopeWithTree.d.ts +2 -2
- package/lib.commonjs/convert/convertToSpasmEventEnvelopeWithTree.d.ts.map +1 -1
- package/lib.commonjs/convert/convertToSpasmEventEnvelopeWithTree.js +41 -7
- package/lib.commonjs/convert/convertToSpasmEventEnvelopeWithTree.js.map +1 -1
- package/lib.commonjs/convert/getSpasmId.d.ts.map +1 -1
- package/lib.commonjs/convert/getSpasmId.js +3 -1
- package/lib.commonjs/convert/getSpasmId.js.map +1 -1
- package/lib.commonjs/convert/index.d.ts +2 -1
- package/lib.commonjs/convert/index.d.ts.map +1 -1
- package/lib.commonjs/convert/index.js +7 -1
- package/lib.commonjs/convert/index.js.map +1 -1
- package/lib.commonjs/identify/identifyEvent.d.ts +5 -5
- package/lib.commonjs/identify/identifyEvent.d.ts.map +1 -1
- package/lib.commonjs/identify/identifyEvent.js +11 -0
- package/lib.commonjs/identify/identifyEvent.js.map +1 -1
- package/lib.commonjs/types/interfaces.d.ts +12 -3
- package/lib.commonjs/types/interfaces.d.ts.map +1 -1
- package/lib.commonjs/types/interfaces.js +0 -5
- package/lib.commonjs/types/interfaces.js.map +1 -1
- package/lib.commonjs/utils/nostrUtils.d.ts +6 -0
- package/lib.commonjs/utils/nostrUtils.d.ts.map +1 -1
- package/lib.commonjs/utils/nostrUtils.js +94 -1
- package/lib.commonjs/utils/nostrUtils.js.map +1 -1
- package/lib.commonjs/utils/utils.d.ts +90 -18
- package/lib.commonjs/utils/utils.d.ts.map +1 -1
- package/lib.commonjs/utils/utils.js +1222 -42
- package/lib.commonjs/utils/utils.js.map +1 -1
- package/lib.esm/convert/convertToEventForSpasmid.d.ts.map +1 -1
- package/lib.esm/convert/convertToEventForSpasmid.js +1 -3
- package/lib.esm/convert/convertToEventForSpasmid.js.map +1 -1
- package/lib.esm/convert/convertToNostr.d.ts +4 -0
- package/lib.esm/convert/convertToNostr.d.ts.map +1 -0
- package/lib.esm/convert/convertToNostr.js +472 -0
- package/lib.esm/convert/convertToNostr.js.map +1 -0
- package/lib.esm/convert/convertToSpasm.d.ts +7 -1
- package/lib.esm/convert/convertToSpasm.d.ts.map +1 -1
- package/lib.esm/convert/convertToSpasm.js +749 -33
- package/lib.esm/convert/convertToSpasm.js.map +1 -1
- package/lib.esm/convert/convertToSpasmEventDatabase.d.ts.map +1 -1
- package/lib.esm/convert/convertToSpasmEventDatabase.js.map +1 -1
- package/lib.esm/convert/convertToSpasmEventEnvelope.d.ts.map +1 -1
- package/lib.esm/convert/convertToSpasmEventEnvelope.js.map +1 -1
- package/lib.esm/convert/convertToSpasmEventEnvelopeWithTree.d.ts +2 -2
- package/lib.esm/convert/convertToSpasmEventEnvelopeWithTree.d.ts.map +1 -1
- package/lib.esm/convert/convertToSpasmEventEnvelopeWithTree.js +42 -8
- package/lib.esm/convert/convertToSpasmEventEnvelopeWithTree.js.map +1 -1
- package/lib.esm/convert/getSpasmId.d.ts.map +1 -1
- package/lib.esm/convert/getSpasmId.js +4 -2
- package/lib.esm/convert/getSpasmId.js.map +1 -1
- package/lib.esm/convert/index.d.ts +2 -1
- package/lib.esm/convert/index.d.ts.map +1 -1
- package/lib.esm/convert/index.js +2 -1
- package/lib.esm/convert/index.js.map +1 -1
- package/lib.esm/identify/identifyEvent.d.ts +5 -5
- package/lib.esm/identify/identifyEvent.d.ts.map +1 -1
- package/lib.esm/identify/identifyEvent.js +11 -0
- package/lib.esm/identify/identifyEvent.js.map +1 -1
- package/lib.esm/types/interfaces.d.ts +12 -3
- package/lib.esm/types/interfaces.d.ts.map +1 -1
- package/lib.esm/types/interfaces.js +0 -5
- package/lib.esm/types/interfaces.js.map +1 -1
- package/lib.esm/utils/nostrUtils.d.ts +6 -0
- package/lib.esm/utils/nostrUtils.d.ts.map +1 -1
- package/lib.esm/utils/nostrUtils.js +92 -1
- package/lib.esm/utils/nostrUtils.js.map +1 -1
- package/lib.esm/utils/utils.d.ts +90 -18
- package/lib.esm/utils/utils.d.ts.map +1 -1
- package/lib.esm/utils/utils.js +1171 -39
- package/lib.esm/utils/utils.js.map +1 -1
- package/package.json +1 -1
- package/src.ts/convert/convertToEventForSpasmid.ts +0 -2
- package/src.ts/convert/convertToNostr.ts +615 -0
- package/src.ts/convert/convertToSpasm.ts +923 -68
- package/src.ts/convert/convertToSpasmEventDatabase.ts +0 -6
- package/src.ts/convert/convertToSpasmEventEnvelope.ts +1 -3
- package/src.ts/convert/convertToSpasmEventEnvelopeWithTree.ts +63 -8
- package/src.ts/convert/getSpasmId.ts +6 -1
- package/src.ts/convert/index.ts +8 -1
- package/src.ts/docs/architecture.md +1 -1
- package/src.ts/identify/identifyEvent.ts +19 -5
- package/src.ts/types/interfaces.ts +21 -67
- package/src.ts/utils/nostrUtils.ts +109 -1
- package/src.ts/utils/utils.ts +1482 -93
package/README.md
CHANGED
|
@@ -5,11 +5,11 @@ Signer and Protocol Agnostic Social Media (Spasm)
|
|
|
5
5
|
|
|
6
6
|
The future of social media is agnostic to signing keys, messaging formats, transport protocols and storage infrastructure. However, such design places significant burden on developers, who must maintain a myriad of protocols, formats, and architectures.
|
|
7
7
|
|
|
8
|
-
This library simplifies the process by encapsulating the complexities of various messaging formats into a single, standardized JSON object
|
|
8
|
+
This library simplifies the process by encapsulating the complexities of various messaging formats into a single, standardized JSON object called `SpasmEvent`. By abstracting the underlying differences between these formats, it provides a unified interface for developers to work with, ensuring consistency and reducing the need for custom handling of each format.
|
|
9
9
|
|
|
10
10
|
For instance, instead of maintaining three distinct versions of the frontend (UI) and three separate database tables for three different messaging formats, developers can leverage this library to standardize all messages into a single format. This approach simplifies the architecture by consolidating the database tables into one and requiring only a single version of the UI, with minor adjustments as needed.
|
|
11
11
|
|
|
12
|
-
This library also introduces an innovative concept of signing the same message with multiple protocols and different private keys, while still sharing the same Spasm event ID, allowing not only the distribution of the message across different networks, but also chaining of all
|
|
12
|
+
This library also introduces an innovative concept of signing the same message with multiple protocols and different private keys, while still sharing the same deterministic Spasm event ID, allowing not only the distribution of the message across different networks, but also chaining of all replies and reactions back to the original message.
|
|
13
13
|
|
|
14
14
|
TypeScript interfaces of JSON objects of messaging formats that can be standardized with this library can be found at `./src.ts/types/interfaces.ts`.
|
|
15
15
|
|
|
@@ -27,10 +27,11 @@ export type UnknownEventV2 =
|
|
|
27
27
|
SpasmEventBodyV2 |
|
|
28
28
|
SpasmEventEnvelopeV2 |
|
|
29
29
|
SpasmEventEnvelopeWithTreeV2 |
|
|
30
|
-
SpasmEventDatabaseV2
|
|
30
|
+
SpasmEventDatabaseV2 |
|
|
31
|
+
SpasmEventBodySignedClosedV2
|
|
31
32
|
```
|
|
32
33
|
|
|
33
|
-
After converting an unknown event to
|
|
34
|
+
After converting an unknown event to a Spasm event, you can easily access common properties across most public messaging formats such as:
|
|
34
35
|
- `spasmEvent.action`
|
|
35
36
|
- `spasmEvent.content`
|
|
36
37
|
- `spasmEvent.timestamp`
|
|
@@ -48,7 +49,7 @@ After converting an unknown event to the Spasm event, you can now easily access
|
|
|
48
49
|
- `spasmEvent.signatures[0].pubkey`
|
|
49
50
|
- `spasmEvent.signatures[0].format.name`
|
|
50
51
|
|
|
51
|
-
|
|
52
|
+
Any Spasm event can be signed with different protocols (e.g., Spasm, Dmp, Nostr), so all the original (un)signed event objects/strings are stored at:
|
|
52
53
|
- `spasmEvent.siblings`
|
|
53
54
|
|
|
54
55
|
See the full list of properties of `SpasmEventV2` at `./src.ts/types/interfaces.ts`.
|
|
@@ -276,9 +277,14 @@ const event = {
|
|
|
276
277
|
// Identify the event
|
|
277
278
|
const info = identifyObject(event)
|
|
278
279
|
|
|
279
|
-
// Convert to Spasm
|
|
280
|
+
// Convert to Spasm (the latest version)
|
|
280
281
|
const spasmEvent = convertToSpasm(event)
|
|
281
282
|
|
|
283
|
+
// Convert to Spasm (specify version)
|
|
284
|
+
const spasmEvent = convertToSpasm(
|
|
285
|
+
event, { to: { spasm: { version: "2.0.0" } } }
|
|
286
|
+
)
|
|
287
|
+
|
|
282
288
|
// Merge events into one event
|
|
283
289
|
const spasmEvent = mergeSpasmEventsV2([
|
|
284
290
|
event, eventWithStats, eventWithComments
|
|
@@ -363,6 +369,13 @@ const signers = spasm.getAllSigners(event)
|
|
|
363
369
|
// Get an array of signers/pubkeys which have
|
|
364
370
|
// been verified against attached signatures
|
|
365
371
|
const verifiedSigners = spasm.getVerifiedSigners(event)
|
|
372
|
+
|
|
373
|
+
const spasmSigners = getAllSpasmSigners(event)
|
|
374
|
+
const ethereumSigners = getAllEthereumSigners(event)
|
|
375
|
+
const nostrSigners = getAllNostrSigners(event)
|
|
376
|
+
const verifiedSpasmSigners = getVerifiedSpasmSigners(event)
|
|
377
|
+
const verifiedEthereumSigners = getVerifiedEthereumSigners(event)
|
|
378
|
+
const verifiedNostrSigners = getVerifiedNostrSigners(event)
|
|
366
379
|
```
|
|
367
380
|
|
|
368
381
|
```js
|
|
@@ -450,13 +463,49 @@ const spasmId = spasm.extractIdByFormat(event, {
|
|
|
450
463
|
name: "spasmid"
|
|
451
464
|
})
|
|
452
465
|
|
|
453
|
-
//
|
|
466
|
+
// other aliases for extracting event, parent, and root IDs:
|
|
467
|
+
// extractSpasmId01()
|
|
468
|
+
// extractParentIdByFormat()
|
|
469
|
+
// extractParentSpasmId01()
|
|
470
|
+
// extractRootIdByFormat()
|
|
471
|
+
// extractRootSpasmId01()
|
|
472
|
+
|
|
473
|
+
// Note: the functions above don't calculate new IDs, but
|
|
454
474
|
// simply extracts an existing ID from an event object.
|
|
455
|
-
// If you want to calculate
|
|
475
|
+
// If you want to calculate a Spasm ID (e.g., to verify it),
|
|
456
476
|
// then you must use another function, for example:
|
|
457
477
|
const spasmId = spasm.getSpasmId(event)
|
|
458
478
|
```
|
|
459
479
|
|
|
480
|
+
```js
|
|
481
|
+
// Extract Nostr event(s) from a Spasm event.
|
|
482
|
+
const nostrEvent = extractNostrEvent(spasmEvent)
|
|
483
|
+
const nostrSignedEvent = extractSignedNostrEvent(spasmEvent)
|
|
484
|
+
const nostrEvents = extractNostrEvents(spasmEvent)
|
|
485
|
+
const nostrSignedEvents = extractSignedNostrEvents(spasmEvent)
|
|
486
|
+
|
|
487
|
+
// Note: Spasm event can have multiple siblings of Nostr event type
|
|
488
|
+
```
|
|
489
|
+
|
|
490
|
+
```js
|
|
491
|
+
// Check if Spasm event has any sibling of protocol type
|
|
492
|
+
const ifHasSiblingOfProtocol = hasSiblingOfProtocol(event, "spasm")
|
|
493
|
+
const ifHasSiblingSpasm = hasSiblingSpasm(event)
|
|
494
|
+
const ifHasSiblingDmp = hasSiblingDmp(event)
|
|
495
|
+
const ifHasSiblingNostr = hasSiblingNostr(event)
|
|
496
|
+
const ifHasSiblingWeb2 = hasSiblingWeb2(event)
|
|
497
|
+
```
|
|
498
|
+
|
|
499
|
+
```js
|
|
500
|
+
const idFormatName = extractIdFormatNameFromSpasmEventIdV2(event)
|
|
501
|
+
|
|
502
|
+
const ifFormatNames = extractAllIdFormatNamesFromSpasmEventV2(event)
|
|
503
|
+
|
|
504
|
+
// aliases
|
|
505
|
+
const ifFormatNames = getAllFormatNamesFromSpasmEventV2(event)
|
|
506
|
+
const ifFormatNames = getAllFormatNamesFromEvent(event)
|
|
507
|
+
```
|
|
508
|
+
|
|
460
509
|
```js
|
|
461
510
|
const ifEventHasThisId = spasm.checkIfEventHasThisId(
|
|
462
511
|
event, "spasmid01192d1f9994bf436f50841459d0a43c0de13ef4aaa5233827bdfe2ea2bc030d6f"
|
|
@@ -485,6 +534,10 @@ const events = spasm.getEventsByIds(
|
|
|
485
534
|
// it's not SpasmEventV2 yet.
|
|
486
535
|
const spasmEventV2 = toBeSpasmEventV2(event)
|
|
487
536
|
|
|
537
|
+
// Convert each event of an array of events to SpasmEventV2 only
|
|
538
|
+
// if event is not SpasmEventV2 yet.
|
|
539
|
+
const spasmEventsV2 = toBeSpasmEventsV2(events)
|
|
540
|
+
|
|
488
541
|
// Note: you must use convertToSpasm() at least one time
|
|
489
542
|
// upon receiving an event, because by default it will
|
|
490
543
|
// verify all the signatures and sanitize nested strings.
|
|
@@ -492,6 +545,101 @@ const spasmEventV2 = toBeSpasmEventV2(event)
|
|
|
492
545
|
// function to minimize computational load.
|
|
493
546
|
```
|
|
494
547
|
|
|
548
|
+
```js
|
|
549
|
+
// Merge event children
|
|
550
|
+
const mergedChildren = mergedChildrenV2(children1, children2)
|
|
551
|
+
```
|
|
552
|
+
|
|
553
|
+
```js
|
|
554
|
+
// Add events (root, parent, children) to event's tree recursively
|
|
555
|
+
const eventWithTree = addEventsToTree(mainEvent, relatives)
|
|
556
|
+
|
|
557
|
+
// Aliases
|
|
558
|
+
// addParentToTree()
|
|
559
|
+
// addParentToEvent()
|
|
560
|
+
// addRootToTree()
|
|
561
|
+
// addRootToEvent()
|
|
562
|
+
// addChildrenToTree()
|
|
563
|
+
// addCommentsToEvent()
|
|
564
|
+
// addRepliesToEvent()
|
|
565
|
+
|
|
566
|
+
// Attaching events as relatives to event's tree
|
|
567
|
+
const eventWithRoot = attachEventAsRoot(mainEvent, root)
|
|
568
|
+
const eventWithParent = attachEventAsParent(mainEvent, parent)
|
|
569
|
+
const eventWithChildren = attachEventAsChild(mainEvent, child)
|
|
570
|
+
```
|
|
571
|
+
|
|
572
|
+
```js
|
|
573
|
+
// Check if arrays have common IDs
|
|
574
|
+
const ifCommonId = ifArraysHaveCommonId(array1, array2)
|
|
575
|
+
|
|
576
|
+
// Example of finding whether events are relatives
|
|
577
|
+
// and then attaching event as a root
|
|
578
|
+
const event1RootIds = getAllRootIds(event1)
|
|
579
|
+
const event2Ids = getAllEventIds(event2)
|
|
580
|
+
if (ifArraysHaveCommonId(event1RootIds, event2Ids)) {
|
|
581
|
+
treeEventV2 = attachEventAsRoot(event1, event2)
|
|
582
|
+
}
|
|
583
|
+
```
|
|
584
|
+
|
|
585
|
+
```js
|
|
586
|
+
// Check if an array already has this event
|
|
587
|
+
checkIfArrayHasThisEvent(array, event)
|
|
588
|
+
|
|
589
|
+
// alias
|
|
590
|
+
checkIfArrayHasThisSpasmEventV2
|
|
591
|
+
|
|
592
|
+
// Insert or merge an event into array
|
|
593
|
+
insertIntoArrayIfEventIsUnique(array, event)
|
|
594
|
+
|
|
595
|
+
// alias (merge enabled by default)
|
|
596
|
+
appendToArrayIfEventIsUnique(array, event)
|
|
597
|
+
pushToArrayIfEventIsUnique(array, event)
|
|
598
|
+
|
|
599
|
+
// alias (merge enabled by default)
|
|
600
|
+
prependToArrayIfEventIsUnique(array, event)
|
|
601
|
+
unshiftToArrayIfEventIsUnique(array, event)
|
|
602
|
+
|
|
603
|
+
// Merge event into array (only if not unique)
|
|
604
|
+
mergeEventIntoArray(array, event)
|
|
605
|
+
```
|
|
606
|
+
|
|
607
|
+
```js
|
|
608
|
+
// Sort events by added timestamp ascending
|
|
609
|
+
const asc = sortSpasmEventsV2ByDbAddedTimestamp(events, "asc")
|
|
610
|
+
|
|
611
|
+
// Sort events by added timestamp descending
|
|
612
|
+
const desc = sortSpasmEventsV2ByDbAddedTimestamp(events, "desc")
|
|
613
|
+
|
|
614
|
+
// alias
|
|
615
|
+
const sortDesc = sortSpasmEventsV2()
|
|
616
|
+
```
|
|
617
|
+
|
|
618
|
+
```js
|
|
619
|
+
// Check if two events have the same Spasm ID version 01
|
|
620
|
+
const ifSameEvent = ifEventsHaveSameSpasmId01(event1, event2)
|
|
621
|
+
```
|
|
622
|
+
|
|
623
|
+
```js
|
|
624
|
+
// Merge stats
|
|
625
|
+
const mergedStats = mergeStatsV2(arrayOfStats)
|
|
626
|
+
```
|
|
627
|
+
|
|
628
|
+
```js
|
|
629
|
+
const mergedChildren = mergeChildrenV2(arrayOfChildren)
|
|
630
|
+
```
|
|
631
|
+
|
|
632
|
+
```js
|
|
633
|
+
// Remove siblings without signatures if signed siblings
|
|
634
|
+
// of the same protocol and protocol version are attached.
|
|
635
|
+
cleanSpasmEventV2(spasmEventV2)
|
|
636
|
+
```
|
|
637
|
+
|
|
638
|
+
```js
|
|
639
|
+
// Assign formats for IDs, signatures, addresses if don't exist
|
|
640
|
+
assignFormats(event)
|
|
641
|
+
```
|
|
642
|
+
|
|
495
643
|
## Examples
|
|
496
644
|
|
|
497
645
|
### Convert DmpEventSignedClosed to Spasm
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"convertToEventForSpasmid.d.ts","sourceRoot":"","sources":["../../src.ts/convert/convertToEventForSpasmid.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,YAAY,
|
|
1
|
+
{"version":3,"file":"convertToEventForSpasmid.d.ts","sourceRoot":"","sources":["../../src.ts/convert/convertToEventForSpasmid.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,YAAY,EAQb,MAAM,0BAA0B,CAAC;AAoBlC,eAAO,MAAM,wBAAwB,iBACrB,cAAc,yBAE3B,iBAAiB,GAAG,IA+BtB,CAAA;AAED,eAAO,MAAM,sCAAsC,eACrC,YAAY,KAEvB,iBAAiB,GAAG,IA4NtB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"convertToEventForSpasmid.js","sourceRoot":"","sources":["../../src.ts/convert/convertToEventForSpasmid.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"convertToEventForSpasmid.js","sourceRoot":"","sources":["../../src.ts/convert/convertToEventForSpasmid.ts"],"names":[],"mappings":";;;AAaA,2DAAoD;AAEpD,kDAa6B;AAE7B,WAAW;AACJ,MAAM,wBAAwB,GAAG,CACtC,YAA4B,EAC5B,SAAS,GAAG,IAAI,EACU,EAAE;IAE5B,IAAI,YAAY,GAAwB;QACtC,IAAI,EAAE,cAAc;KACrB,CAAA;IAED,eAAe;IACf,IACE,MAAM,IAAI,YAAY;QACtB,YAAY,CAAC,IAAI,KAAK,cAAc,EACpC,CAAC;QACD,YAAY,GAAG,YAAY,CAAA;IAC7B,CAAC;SAAM,CAAC;QACN,MAAM,YAAY,GAA+B;YAC/C,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;SACpC,CAAA;QACD,YAAY,GAAG,IAAA,kCAAc,EAAC,YAAY,EAAE,YAAY,CAAC,CAAA;IAC3D,CAAC;IAED,IAAI,CAAC,YAAY;QAAE,OAAO,IAAI,CAAA;IAE9B,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;QACvB,MAAM,iBAAiB,GACrB,IAAA,8CAAsC,EACpC,YAAY,CAEf,CAAA;QACD,OAAO,iBAAiB,CAAA;IAC1B,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAlCY,QAAA,wBAAwB,4BAkCpC;AAEM,MAAM,sCAAsC,GAAG,CACpD,UAAwB,EAEE,EAAE;IAE5B,IAAI,CAAC,IAAA,6BAAkB,EAAC,UAAU,CAAC;QAAE,OAAO,IAAI,CAAA;IAEhD,IAAI,UAAU,CAAC,IAAI,KAAK,cAAc;QAAE,OAAO,IAAI,CAAA;IAEnD,MAAM,eAAe,GAAsB,EAAE,CAAA;IAE7C,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;QACtB,4DAA4D;QAC5D,MAAM,WAAW,GACf,IAAA,gCAAqB,EACnB,UAAU,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CACX,CAAA;QAE7B,MAAM,YAAY,GAAG,IAAA,iCAAsB,EAAC,WAAW,CAAC,CAAA;QAExD,eAAe,CAAC,MAAM,GAAG,YAAY,CAAA;IACvC,CAAC;IAED,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;QACtB,eAAe,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAA;IAC5C,CAAC;IAED,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;QACrB,eAAe,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAA;IAC1C,CAAC;IAED,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;QACvB,eAAe,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAA;IAC9C,CAAC;IAED,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC;QACzB,eAAe,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAA;IAClD,CAAC;IAED,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;QACxB;;;;WAIG;QACF,MAAM,YAAY,GAChB,IAAA,wCAA6B,EAC7B,UAAU,CAAC,OAAO,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,QAAQ,CAAC,CAC7B,CAAA;QAE7B,MAAM,aAAa,GAAG,IAAA,kCAAuB,EAAC,YAAY,CAAC,CAAA;QAE3D,eAAe,CAAC,OAAO,GAAG,aAAa,CAAA;IACzC,CAAC;IAED,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;QACpB,eAAe,CAAC,IAAI,GAAG,IAAA,6BAAkB,EACvC,UAAU,CAAC,IAAI,EAAE,SAAS,CAC3B,CAAA;IACH,CAAC;IAED,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;QACrB,MAAM,UAAU,GACd,IAAA,wCAA6B,EAC3B,UAAU,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,CACZ,CAAA;QAE7B,MAAM,WAAW,GAAG,IAAA,gCAAqB,EAAC,UAAU,CAAC,CAAA;QAErD,eAAe,CAAC,KAAK,GAAG,WAAW,CAAA;IACrC,CAAC;IAED,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;QACrB,MAAM,UAAU,GACd,IAAA,wCAA6B,EAC3B,UAAU,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,CACZ,CAAA;QAE7B,MAAM,WAAW,GAAG,IAAA,gCAAqB,EAAC,UAAU,CAAC,CAAA;QAErD,eAAe,CAAC,KAAK,GAAG,WAAW,CAAA;IACrC,CAAC;IAED,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;QACxB,eAAe,CAAC,QAAQ;YACtB,IAAA,uCAA4B,EAC1B,UAAU,CAAC,QAAQ,CACV,CAAA;IACf,CAAC;IAED,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;QACpB,eAAe,CAAC,IAAI,GAAG,IAAA,+BAAoB,EAAC,UAAU,CAAC,IAAI,CAAC,CAAA;IAC9D,CAAC;IAED,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;QACtB,MAAM,YAAY,GAChB,IAAA,iCAAsB,EAAC,UAAU,CAAC,MAAM,CAAC,CAAA;QAE3C,eAAe,CAAC,MAAM,GAAG,YAAY,CAAA;IACvC,CAAC;IAED,IAAI,UAAU,CAAC,UAAU,EAAE,CAAC;QAC1B,MAAM,eAAe,GAAG,IAAA,wCAA6B,EACnD,UAAU,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CACV,CAAA;QAEhC,MAAM,gBAAgB,GAAG,IAAA,qCAA0B,EACjD,eAAe,CAChB,CAAA;QAED,eAAe,CAAC,UAAU,GAAG,gBAAgB,CAAA;IAC/C,CAAC;IAED,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;QACzB;;;;WAIG;QACF,MAAM,aAAa,GACjB,IAAA,wCAA6B,EAC7B,UAAU,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,QAAQ,CAAC,CACjC,CAAA;QAE1B,wCAAwC;QACxC,MAAM,cAAc,GAAG,IAAA,kCAAuB,EAAC,aAAa,CAAC,CAAA;QAE7D,eAAe,CAAC,QAAQ,GAAG,cAAc,CAAA;IAC3C,CAAC;IAED,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;QACtB,eAAe,CAAC,MAAM,GAAG,IAAA,6BAAkB,EACzC,UAAU,CAAC,MAAM,EAAE,OAAO,CAC3B,CAAA;QAED,oBAAoB;QACpB,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YAC9C,IACE,KAAK,IAAI,KAAK,CAAC,KAAK;gBACpB,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;gBAC1B,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EACd,CAAC;gBACD,MAAM,UAAU,GACd,IAAA,wCAA6B,EAC3B,KAAK,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,CACP,CAAA;gBAE7B,MAAM,WAAW,GAAG,IAAA,gCAAqB,EAAC,UAAU,CAAC,CAAA;gBAErD,IACE,eAAe,CAAC,MAAM;oBACtB,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,EACrC,CAAC;oBACD,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,WAAW,CAAA;gBACnD,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;QACvB,eAAe,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAA;IAC9C,CAAC;IAED,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;QACxB,eAAe,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAA;IAChD,CAAC;IAED,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;QACrB,eAAe,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAA;IAC1C,CAAC;IAEF;;;;;;OAMG;IACF,IACE,UAAU,CAAC,IAAI;QACf,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;QAC9B,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAClB,CAAC;QACD,qCAAqC;QACrC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YAC5B,IACE,GAAG,IAAI,QAAQ,IAAI,GAAG;gBACtB,GAAG,CAAC,MAAM,KAAK,WAAW,EAC1B,CAAC;gBACD,4CAA4C;gBAC5C,uCAAuC;gBACvC,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;oBAC1B,eAAe,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAA;gBAC9B,CAAC;qBAAM,IACL,eAAe,CAAC,IAAI;oBACpB,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC;oBACnC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;oBACvB,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU;oBAClC,OAAM,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,QAAQ;oBACvD,GAAG,CAAC,UAAU;oBACd,OAAM,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,QAAQ;oBACnC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,GAAG,CAAC,UAAU,EACnD,CAAC;oBACD,eAAe,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAA;gBAC9B,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAA;QACF,wBAAwB;QACxB,IACE,eAAe,CAAC,IAAI;YACpB,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC;YACnC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YACvB,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK;YAC7B,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAC5C,CAAC;YACD,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK;gBAC3B,IAAA,uCAA4B,EAC1B,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CACpB,CAAA;QACf,CAAC;IACH,CAAC;IAED,OAAO,eAAe,CAAA;AACxB,CAAC,CAAA;AA/NY,QAAA,sCAAsC,0CA+NlD"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { NostrEvent, NostrEventSignedOpened, NostrSpasmEvent, NostrSpasmEventSignedOpened, SpasmEventV2, UnknownEventV2 } from "../types/interfaces.js";
|
|
2
|
+
export declare const convertToNostr: (unknownEvent: UnknownEventV2, nostrSpasmVersion?: "2.0.0") => NostrEvent | NostrEventSignedOpened | NostrSpasmEvent | NostrSpasmEventSignedOpened | null;
|
|
3
|
+
export declare const convertSpasmEventV2ToNostrSpasmV2: (spasmEventV2: SpasmEventV2) => NostrEvent | NostrEventSignedOpened | NostrSpasmEvent | NostrSpasmEventSignedOpened | null;
|
|
4
|
+
//# sourceMappingURL=convertToNostr.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"convertToNostr.d.ts","sourceRoot":"","sources":["../../src.ts/convert/convertToNostr.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,UAAU,EACV,sBAAsB,EACtB,eAAe,EACf,2BAA2B,EAG3B,YAAY,EACZ,cAAc,EACf,MAAM,wBAAwB,CAAA;AAmB/B,eAAO,MAAM,cAAc,iBACX,cAAc,sBACT,OAAO,KAE1B,UAAU,GACV,sBAAsB,GACtB,eAAe,GACf,2BAA2B,GAC3B,IAoBD,CAAA;AAED,eAAO,MAAM,iCAAiC,iBAC9B,YAAY,KAE1B,UAAU,GACV,sBAAsB,GACtB,eAAe,GACf,2BAA2B,GAC3B,IAuMD,CAAA"}
|