Skip to content

Commit 1544d90

Browse files
committed
split up serializeEvent()
1 parent e18528c commit 1544d90

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

event.go

+7-3
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,6 @@ import (
88
"github.com/mailru/easyjson"
99
)
1010

11-
const hextable = "0123456789abcdef"
12-
1311
// Event represents a Nostr event.
1412
type Event struct {
1513
ID string
@@ -38,9 +36,12 @@ func (evt *Event) CheckID() bool {
3836
return false
3937
}
4038

41-
ser := evt.Serialize()
39+
ser := make([]byte, 0, 100+len(evt.Content)+len(evt.Tags)*80)
40+
ser = serializeEventInto(evt, ser)
4241
h := sha256.Sum256(ser)
4342

43+
const hextable = "0123456789abcdef"
44+
4445
for i := 0; i < 32; i++ {
4546
b := hextable[h[i]>>4]
4647
if b != evt.ID[i*2] {
@@ -61,7 +62,10 @@ func (evt *Event) Serialize() []byte {
6162
// the serialization process is just putting everything into a JSON array
6263
// so the order is kept. See NIP-01
6364
dst := make([]byte, 0, 100+len(evt.Content)+len(evt.Tags)*80)
65+
return serializeEventInto(evt, dst)
66+
}
6467

68+
func serializeEventInto(evt *Event, dst []byte) []byte {
6569
// the header portion is easy to serialize
6670
// [0,"pubkey",created_at,kind,[
6771
dst = append(dst, "[0,\""...)

0 commit comments

Comments
 (0)