sign.mx raw

   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