Skip to content

Commit 78f72a1

Browse files
committed
Delete unnecessary DTOs
* Delete PeerExchangePeerInfoPB * Delete WakuPeerRecordPB
1 parent 410d703 commit 78f72a1

3 files changed

Lines changed: 20 additions & 45 deletions

File tree

logos_delivery/waku/waku_peer_exchange/rpc.nim

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import results
1+
import results, protobuf_serialization
22

33
type
44
PeerExchangeResponseStatusCode* {.pure.} = enum
@@ -10,8 +10,9 @@ type
1010
SERVICE_UNAVAILABLE = uint32(503)
1111
DIAL_FAILURE = uint32(599)
1212

13-
PeerExchangePeerInfo* = object
14-
enr*: seq[byte] # RLP encoded ENR: https://eips.ethereum.org/EIPS/eip-778
13+
PeerExchangePeerInfo* {.proto2.} = object
14+
enr* {.fieldNumber: 1.}: seq[byte]
15+
# RLP encoded ENR: https://eips.ethereum.org/EIPS/eip-778
1516

1617
PeerExchangeRequest* = object
1718
numPeers*: uint64

logos_delivery/waku/waku_peer_exchange/rpc_codec.nim

Lines changed: 6 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,15 @@
11
{.push raises: [].}
22

3-
import std/sequtils, results
3+
import results
44
import protobuf_serialization, protobuf_serialization/pkg/results
55
import ../common/protobuf, ./rpc
66

77
type
8-
PeerExchangePeerInfoPB {.proto2.} = object
9-
enr {.fieldNumber: 1.}: Opt[seq[byte]]
10-
118
PeerExchangeRequestPB {.proto2.} = object
129
numPeers {.fieldNumber: 1, pint.}: Opt[uint64]
1310

1411
PeerExchangeResponsePB {.proto2.} = object
15-
peerInfos {.fieldNumber: 1.}: seq[PeerExchangePeerInfoPB]
12+
peerInfos {.fieldNumber: 1.}: seq[PeerExchangePeerInfo]
1613
statusCode {.fieldNumber: 10, pint.}: Opt[uint32]
1714
statusDesc {.fieldNumber: 11.}: Opt[string]
1815

@@ -27,12 +24,6 @@ proc parse*(T: type PeerExchangeResponseStatusCode, status: uint32): T =
2724
else:
2825
PeerExchangeResponseStatusCode.UNKNOWN
2926

30-
proc toPB(pi: PeerExchangePeerInfo): PeerExchangePeerInfoPB =
31-
PeerExchangePeerInfoPB(enr: Opt.some(pi.enr))
32-
33-
proc fromPB(pb: PeerExchangePeerInfoPB): PeerExchangePeerInfo =
34-
PeerExchangePeerInfo(enr: pb.enr.get(@[]))
35-
3627
proc toPB(req: PeerExchangeRequest): PeerExchangeRequestPB =
3728
PeerExchangeRequestPB(numPeers: Opt.some(req.numPeers))
3829

@@ -41,13 +32,13 @@ proc fromPB(pb: PeerExchangeRequestPB): PeerExchangeRequest =
4132

4233
proc toPB(res: PeerExchangeResponse): PeerExchangeResponsePB =
4334
PeerExchangeResponsePB(
44-
peerInfos: res.peerInfos.mapIt(toPB(it)),
35+
peerInfos: res.peerInfos,
4536
statusCode: Opt.some(uint32(ord(res.status_code))),
4637
statusDesc: res.status_desc,
4738
)
4839

4940
proc fromPB(pb: PeerExchangeResponsePB): PeerExchangeResponse =
50-
let peerInfos = pb.peerInfos.mapIt(fromPB(it))
41+
let peerInfos = pb.peerInfos
5142
let statusCode =
5243
if pb.statusCode.isSome():
5344
PeerExchangeResponseStatusCode.parse(pb.statusCode.get())
@@ -64,7 +55,7 @@ proc encode*(rpc: PeerExchangeRequest): seq[byte] =
6455
Protobuf.encode(toPB(rpc))
6556

6657
proc encode*(rpc: PeerExchangePeerInfo): seq[byte] =
67-
Protobuf.encode(toPB(rpc))
58+
Protobuf.encode(rpc)
6859

6960
proc encode*(rpc: PeerExchangeResponse): seq[byte] =
7061
Protobuf.encode(toPB(rpc))
@@ -86,7 +77,7 @@ proc decodePeerExchangePeerInfo(
8677
buffer: seq[byte]
8778
): ProtobufResult[PeerExchangePeerInfo] =
8879
try:
89-
ok(fromPB(Protobuf.decode(buffer, PeerExchangePeerInfoPB)))
80+
ok(Protobuf.decode(buffer, PeerExchangePeerInfo))
9081
except SerializationError:
9182
err(protobuf.ProtobufError(kind: ProtobufErrorKind.DecodeFailure))
9283

logos_delivery/waku/waku_rendezvous/waku_peer_record.nim

Lines changed: 10 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -4,18 +4,12 @@ import protobuf_serialization, protobuf_serialization/pkg/results
44
import libp2p/[protocols/rendezvous, signed_envelope, multicodec, multiaddress, peerid]
55
import ../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

2014
proc 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

3529
proc 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

5141
proc decode*(
5242
T: typedesc[WakuPeerRecord], buffer: seq[byte]
5343
): ProtobufResult[WakuPeerRecord] =
5444
decodeWakuPeerRecord(buffer)
5545

5646
proc 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

6649
proc checkWakuPeerRecord*(
6750
_: WakuPeerRecord, spr: seq[byte], peerId: PeerId

0 commit comments

Comments
 (0)