blob: c05b0eb31172d1f1ed3fcf4c89770c4054b58951 (
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
|
/- sur=nostr
/+ js=json-nostr
|%
++ 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)
--
|