blob: 7cb719bd9e3f866d9b7b91bed634fb31a6263cf7 (
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
|
/- sur=nostr
/+ js=json-nostr, sr=sortug
|%
++ gen-sub-id |= eny=@ ^- @t
%- crip (scag 60 (scow:sr %uw eny))
++ gen-keys |= eny=@ ^- keys:sur
=, secp256k1:secp:crypto
=/ privkey
|-
=/ k (~(rad og eny) (bex 256))
?. (lth k n.t) $ k
=/ pubkey (priv-to-pub privkey)
=/ pub (compress-point pubkey)
:: =/ pub (serialize-point pubkey)
[pub=pub priv=privkey]
::
++ hash-event |= raw=raw-event:sur ^- @ux
=/ jon (raw-event:en:js raw)
=/ jstring (en:json:html jon)
(swp 3 (shax jstring))
++ raws
|= [eny=@ bits=@]
^- [@ @]
[- +>-]:(~(raws og eny) bits)
++ sign-event |= [priv=@ux hash=@ux eny=@]
=^ sed eny (raws eny 256)
(sign:schnorr:secp256k1:secp:crypto priv hash sed)
--
|