blob: 6d22adcfffa85d75737cf38697a313aa7ef780a5 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
|
/- post=trill-post, nsur=nostr, sur=nostrill, gate=trill-gate
/+ trill=trill-post, nostr, sr=sortug, jsonlib=json-nostrill
|%
::
++ default-state |= =bowl:gall ^- state:sur
=/ s *state-0:sur
=/ l public-relays:nsur
:: =/ l (scag 1 l)
:: =/ l ~['wss://relay.damus.io' 'wss://nos.lol']
=/ rl %+ turn l |= t=@t [t *relay-stats:nsur]
:: =/ l ~[['wss://relay.damus.io' ~]]
=/ key (gen-keys:nostr eny.bowl)
=/ keyl [key ~]
s(relays (malt rl), keys keyl)
++ print-relay-stats
|= rm=(map @t relay-stats:nsur)
=/ l ~(tap by rm)
|- ?~ l ~
=/ [url=@t rs=relay-stats:nsur] i.l
~& relay=url
~& connected=connected.rs
~& sub-count=~(wyt by reqs.rs)
=/ total-received
%+ roll ~(tap by reqs.rs)
|= [[* es=event-stats:nsur] acc=@ud]
%+ add acc received.es
~& >> total=total-received
$(l t.l)
::
++ 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 raw)
=/ signature (sign-event:nostr 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]
++ cards
|_ =bowl:gall
++ shim-binding ^- card:agent:gall
[%pass /binding %arvo %e %connect [~ /nostr-shim] dap.bowl]
++ update-ui |= =fact:ui:sur ^- card:agent:gall
=/ jon (fact:en:jsonlib fact)
[%give %fact ~[/ui] %json !>(jon)]
--
--
|