mirror of
https://github.com/nbd-wtf/go-nostr.git
synced 2025-03-18 13:53:03 +01:00
45 lines
890 B
Go
45 lines
890 B
Go
package binary
|
|
|
|
import (
|
|
"encoding/hex"
|
|
|
|
"github.com/nbd-wtf/go-nostr"
|
|
)
|
|
|
|
type Event struct {
|
|
PubKey [32]byte
|
|
Sig [64]byte
|
|
ID [32]byte
|
|
Kind uint16
|
|
CreatedAt nostr.Timestamp
|
|
Content string
|
|
Tags nostr.Tags
|
|
}
|
|
|
|
func BinaryEvent(evt *nostr.Event) *Event {
|
|
bevt := Event{
|
|
Tags: evt.Tags,
|
|
Content: evt.Content,
|
|
Kind: uint16(evt.Kind),
|
|
CreatedAt: evt.CreatedAt,
|
|
}
|
|
|
|
hex.Decode(bevt.ID[:], []byte(evt.ID))
|
|
hex.Decode(bevt.PubKey[:], []byte(evt.PubKey))
|
|
hex.Decode(bevt.Sig[:], []byte(evt.Sig))
|
|
|
|
return &bevt
|
|
}
|
|
|
|
func (bevt *Event) ToNormalEvent() *nostr.Event {
|
|
return &nostr.Event{
|
|
Tags: bevt.Tags,
|
|
Content: bevt.Content,
|
|
Kind: int(bevt.Kind),
|
|
CreatedAt: bevt.CreatedAt,
|
|
ID: hex.EncodeToString(bevt.ID[:]),
|
|
PubKey: hex.EncodeToString(bevt.PubKey[:]),
|
|
Sig: hex.EncodeToString(bevt.Sig[:]),
|
|
}
|
|
}
|