diff --git a/nip19/helpers.go b/nip19/helpers.go new file mode 100644 index 0000000..b182163 --- /dev/null +++ b/nip19/helpers.go @@ -0,0 +1,34 @@ +package nip19 + +import ( + "bytes" +) + +const ( + TLVDefault uint8 = 0 + TLVRelay uint8 = 1 + TLVAuthor uint8 = 2 + TLVKind uint8 = 3 +) + +func readTLVEntry(data []byte) (typ uint8, value []byte) { + if len(data) < 2 { + return 0, nil + } + + typ = data[0] + length := int(data[1]) + if len(data) < 2+length { + return typ, nil + } + + value = data[2 : 2+length] + return +} + +func writeTLVEntry(buf *bytes.Buffer, typ uint8, value []byte) { + length := len(value) + buf.WriteByte(typ) + buf.WriteByte(uint8(length)) + buf.Write(value) +} diff --git a/nip19/utils.go b/nip19/utils.go index b182163..0d2718a 100644 --- a/nip19/utils.go +++ b/nip19/utils.go @@ -1,34 +1,8 @@ package nip19 -import ( - "bytes" -) +import "github.com/nbd-wtf/go-nostr" -const ( - TLVDefault uint8 = 0 - TLVRelay uint8 = 1 - TLVAuthor uint8 = 2 - TLVKind uint8 = 3 -) - -func readTLVEntry(data []byte) (typ uint8, value []byte) { - if len(data) < 2 { - return 0, nil - } - - typ = data[0] - length := int(data[1]) - if len(data) < 2+length { - return typ, nil - } - - value = data[2 : 2+length] - return -} - -func writeTLVEntry(buf *bytes.Buffer, typ uint8, value []byte) { - length := len(value) - buf.WriteByte(typ) - buf.WriteByte(uint8(length)) - buf.Write(value) +func NeventFromRelayEvent(ie nostr.RelayEvent) string { + v, _ := EncodeEvent(ie.ID, []string{ie.Relay.URL}, ie.PubKey) + return v } diff --git a/pool.go b/pool.go index ac51f23..5a3ff3f 100644 --- a/pool.go +++ b/pool.go @@ -46,9 +46,7 @@ type RelayEvent struct { Relay *Relay } -func (ie RelayEvent) String() string { - return fmt.Sprintf("[%s] >> %s", ie.Relay.URL, ie.Event) -} +func (ie RelayEvent) String() string { return fmt.Sprintf("[%s] >> %s", ie.Relay.URL, ie.Event) } type PoolOption interface { ApplyPoolOption(*SimplePool)