@@ -4,18 +4,12 @@ import protobuf_serialization, protobuf_serialization/pkg/results
44import libp2p/ [protocols/ rendezvous, signed_envelope, multicodec, multiaddress, peerid]
55import ../ common/ protobuf
66
7- type WakuPeerRecord * = object
7+ type WakuPeerRecord * {. proto2 .} = object
88 # Considering only mix as of now, but we can keep extending this to include all capabilities part of Waku ENR
9- peerId* : PeerId
10- seqNo* : uint64
11- addresses* : seq [MultiAddress ]
12- mixKey* : string
13-
14- type WakuPeerRecordPB {.proto2 .} = object
15- peerId {.fieldNumber : 1 , ext , required .}: PeerId
16- seqNo {.fieldNumber : 2 , pint , required .}: uint64
17- addresses {.fieldNumber : 3 , ext .}: seq [MultiAddress ]
18- mixKey {.fieldNumber : 4 , required .}: string
9+ peerId* {.fieldNumber : 1 , ext , required .}: PeerId
10+ seqNo* {.fieldNumber : 2 , pint , required .}: uint64
11+ addresses* {.fieldNumber : 3 , ext .}: seq [MultiAddress ]
12+ mixKey* {.fieldNumber : 4 , required .}: string
1913
2014proc payloadDomain * (T: typedesc [WakuPeerRecord ]): string =
2115 $ multiCodec (" libp2p-custom-peer-record" )
@@ -33,35 +27,24 @@ proc init*(
3327 WakuPeerRecord (peerId: peerId, seqNo: seqNo, addresses: addresses, mixKey: mixKey)
3428
3529proc decodeWakuPeerRecord (buffer: seq [byte ]): ProtobufResult [WakuPeerRecord ] =
36- var pb: WakuPeerRecordPB
30+ var record: WakuPeerRecord
3731 try :
38- pb = Protobuf .decode (buffer, WakuPeerRecordPB )
32+ record = Protobuf .decode (buffer, WakuPeerRecord )
3933 except SerializationError :
4034 return err (protobuf.ProtobufError (kind: ProtobufErrorKind .DecodeFailure ))
4135
42- if pb .addresses.len == 0 :
36+ if record .addresses.len == 0 :
4337 return err (protobuf.ProtobufError (kind: ProtobufErrorKind .DecodeFailure ))
4438
45- ok (
46- WakuPeerRecord (
47- peerId: pb.peerId, seqNo: pb.seqNo, addresses: pb.addresses, mixKey: pb.mixKey
48- )
49- )
39+ ok (record)
5040
5141proc decode * (
5242 T: typedesc [WakuPeerRecord ], buffer: seq [byte ]
5343): ProtobufResult [WakuPeerRecord ] =
5444 decodeWakuPeerRecord (buffer)
5545
5646proc encode * (record: WakuPeerRecord ): seq [byte ] =
57- Protobuf .encode (
58- WakuPeerRecordPB (
59- peerId: record.peerId,
60- seqNo: record.seqNo,
61- addresses: record.addresses,
62- mixKey: record.mixKey,
63- )
64- )
47+ Protobuf .encode (record)
6548
6649proc checkWakuPeerRecord * (
6750 _: WakuPeerRecord , spr: seq [byte ], peerId: PeerId
0 commit comments