Skip to content
This repository was archived by the owner on Jul 21, 2023. It is now read-only.

Commit af1e701

Browse files
authored
fix: encode enums correctly (#332)
Updates protons and regenerates protobuf code to encode enums correctly
1 parent 760a2cd commit af1e701

File tree

2 files changed

+27
-8
lines changed

2 files changed

+27
-8
lines changed

package.json

+3-3
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@
132132
"release": "aegir release"
133133
},
134134
"dependencies": {
135-
"@libp2p/crypto": "^0.22.11",
135+
"@libp2p/crypto": "^0.22.12",
136136
"@libp2p/interfaces": "^1.3.32",
137137
"@libp2p/logger": "^1.1.4",
138138
"@libp2p/peer-id": "^1.1.10",
@@ -162,7 +162,7 @@
162162
"p-map": "^5.3.0",
163163
"p-queue": "^7.2.0",
164164
"private-ip": "^2.3.3",
165-
"protons-runtime": "^1.0.2",
165+
"protons-runtime": "^1.0.4",
166166
"streaming-iterables": "^6.0.0",
167167
"timeout-abort-controller": "^3.0.0",
168168
"uint8arrays": "^3.0.0",
@@ -187,7 +187,7 @@
187187
"lodash.random": "^3.2.0",
188188
"lodash.range": "^3.2.0",
189189
"p-retry": "^5.0.0",
190-
"protons": "^3.0.2",
190+
"protons": "^3.0.4",
191191
"sinon": "^13.0.1",
192192
"ts-sinon": "^2.0.2",
193193
"which": "^2.0.2"

src/message/dht.ts

+24-5
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
/* eslint-disable @typescript-eslint/no-namespace */
33

44
import { encodeMessage, decodeMessage, message, bytes, string, enumeration, int32 } from 'protons-runtime'
5+
import type { Codec } from 'protons-runtime'
56

67
export interface Record {
78
key?: Uint8Array
@@ -12,7 +13,7 @@ export interface Record {
1213
}
1314

1415
export namespace Record {
15-
export const codec = () => {
16+
export const codec = (): Codec<Record> => {
1617
return message<Record>({
1718
1: { name: 'key', codec: bytes, optional: true },
1819
2: { name: 'value', codec: bytes, optional: true },
@@ -50,31 +51,49 @@ export namespace Message {
5051
PING = 'PING'
5152
}
5253

54+
enum __MessageTypeValues {
55+
PUT_VALUE = 0,
56+
GET_VALUE = 1,
57+
ADD_PROVIDER = 2,
58+
GET_PROVIDERS = 3,
59+
FIND_NODE = 4,
60+
PING = 5
61+
}
62+
5363
export namespace MessageType {
5464
export const codec = () => {
55-
return enumeration<typeof MessageType>(MessageType)
65+
return enumeration<typeof MessageType>(__MessageTypeValues)
5666
}
5767
}
68+
5869
export enum ConnectionType {
5970
NOT_CONNECTED = 'NOT_CONNECTED',
6071
CONNECTED = 'CONNECTED',
6172
CAN_CONNECT = 'CAN_CONNECT',
6273
CANNOT_CONNECT = 'CANNOT_CONNECT'
6374
}
6475

76+
enum __ConnectionTypeValues {
77+
NOT_CONNECTED = 0,
78+
CONNECTED = 1,
79+
CAN_CONNECT = 2,
80+
CANNOT_CONNECT = 3
81+
}
82+
6583
export namespace ConnectionType {
6684
export const codec = () => {
67-
return enumeration<typeof ConnectionType>(ConnectionType)
85+
return enumeration<typeof ConnectionType>(__ConnectionTypeValues)
6886
}
6987
}
88+
7089
export interface Peer {
7190
id?: Uint8Array
7291
addrs: Uint8Array[]
7392
connection?: Message.ConnectionType
7493
}
7594

7695
export namespace Peer {
77-
export const codec = () => {
96+
export const codec = (): Codec<Peer> => {
7897
return message<Peer>({
7998
1: { name: 'id', codec: bytes, optional: true },
8099
2: { name: 'addrs', codec: bytes, repeats: true },
@@ -91,7 +110,7 @@ export namespace Message {
91110
}
92111
}
93112

94-
export const codec = () => {
113+
export const codec = (): Codec<Message> => {
95114
return message<Message>({
96115
1: { name: 'type', codec: Message.MessageType.codec(), optional: true },
97116
10: { name: 'clusterLevelRaw', codec: int32, optional: true },

0 commit comments

Comments
 (0)