diff options
author | polwex <polwex@sortug.com> | 2025-09-18 10:04:43 +0700 |
---|---|---|
committer | polwex <polwex@sortug.com> | 2025-09-18 10:04:43 +0700 |
commit | e69afcff1c1f42436998ca0b070162d556dd577c (patch) | |
tree | ceaf1e3c7f654902eb3029483a4a2af37591c320 /desk/lib/nostr/events.hoon | |
parent | 7bac4927e8895719a91011da9a2b997579238145 (diff) |
moredevelop
Diffstat (limited to 'desk/lib/nostr/events.hoon')
-rw-r--r-- | desk/lib/nostr/events.hoon | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/desk/lib/nostr/events.hoon b/desk/lib/nostr/events.hoon new file mode 100644 index 0000000..2a3e818 --- /dev/null +++ b/desk/lib/nostr/events.hoon @@ -0,0 +1,49 @@ +/- sur=nostrill, nsur=nostr, post=trill-post, gate=trill-gate +/+ js=json-nostr, sr=sortug, trill=trill-post, nostr-keys +|% +++ post-to-event |= [=keys:nsur eny=@ p=post:post] ^- event:nsur + =/ cl (latest-post-content:trill contents.p) + =/ string (crip (content-list-to-md:trill cl)) + =/ ts (to-unix-secs:jikan:sr id.p) + =/ raw=raw-event:nsur [pub.keys ts 1 ~ string] + =/ event-id (hash-event:nostr-keys raw) + =/ signature (sign-event:nostr-keys priv.keys event-id eny) + ~& hash-and-signed=[event-id signature] + =/ =event:nsur :* + event-id + pub.keys + created-at.raw + kind.raw + tags.raw + content.raw + signature + == + event + +++ event-to-post + |= [=event:nsur profile=(unit user-meta:nsur) relay=(unit @t)] + ^- post-wrapper:sur + + =/ cl (tokenize:trill content.event) + =/ ts (from-unix:jikan:sr created-at.event) + =/ cm=content-map:post (init-content-map:trill cl ts) + + :: TODO more about @ps and stuff + =/ p=post:post :* + id=ts + host=`@p`pubkey.event + author=`@p`pubkey.event + thread=ts + parent=~ + children=~ + contents=cm + read=*lock:gate + write=*lock:gate + *engagement:post + 0v0 + *signature:post + tags=~ + == + =/ meta [(some pubkey.event) (some id.event) relay profile] + [p meta] +-- |