1 package event 2 3 import ( 4 "smesh.lol/pkg/nostr/signer" 5 "smesh.lol/pkg/lol/chk" 6 ) 7 8 func (ev *E) Sign(keys signer.I) (err error) { 9 pub := keys.Pub() 10 ev.Pubkey = []byte{:len(pub)} 11 copy(ev.Pubkey, pub) 12 ev.ID = ev.GetIDBytes() 13 var sig []byte 14 if sig, err = keys.Sign(ev.ID); chk.E(err) { 15 return 16 } 17 ev.Sig = []byte{:len(sig)} 18 copy(ev.Sig, sig) 19 return 20 } 21