diff --git a/packages/libp2p-peer-id-factory/package.json b/packages/libp2p-peer-id-factory/package.json index d79dbd3..604b795 100644 --- a/packages/libp2p-peer-id-factory/package.json +++ b/packages/libp2p-peer-id-factory/package.json @@ -147,13 +147,13 @@ "@libp2p/interface-peer-id": "^2.0.0", "@libp2p/peer-id": "^2.0.0", "multiformats": "^11.0.0", - "protons-runtime": "^4.0.1", + "protons-runtime": "^5.0.0", "uint8arraylist": "^2.0.0", "uint8arrays": "^4.0.2" }, "devDependencies": { "aegir": "^38.1.0", - "protons": "^6.0.0", + "protons": "^7.0.2", "util": "^0.12.4" }, "typedoc": { diff --git a/packages/libp2p-peer-id-factory/src/index.ts b/packages/libp2p-peer-id-factory/src/index.ts index c0e4240..eaf4147 100644 --- a/packages/libp2p-peer-id-factory/src/index.ts +++ b/packages/libp2p-peer-id-factory/src/index.ts @@ -62,7 +62,7 @@ export async function createFromProtobuf (buf: Uint8Array): Promise { } = PeerIdProto.decode(buf) return await createFromParts( - id, + id ?? new Uint8Array(0), privKey, pubKey ) diff --git a/packages/libp2p-peer-id-factory/src/proto.proto b/packages/libp2p-peer-id-factory/src/proto.proto index 989958a..39f8868 100644 --- a/packages/libp2p-peer-id-factory/src/proto.proto +++ b/packages/libp2p-peer-id-factory/src/proto.proto @@ -1,7 +1,7 @@ syntax = "proto3"; message PeerIdProto { - required bytes id = 1; + optional bytes id = 1; optional bytes pubKey = 2; optional bytes privKey = 3; } diff --git a/packages/libp2p-peer-id-factory/src/proto.ts b/packages/libp2p-peer-id-factory/src/proto.ts index 2fd3cb1..bcd0a25 100644 --- a/packages/libp2p-peer-id-factory/src/proto.ts +++ b/packages/libp2p-peer-id-factory/src/proto.ts @@ -2,13 +2,14 @@ /* eslint-disable complexity */ /* eslint-disable @typescript-eslint/no-namespace */ /* eslint-disable @typescript-eslint/no-unnecessary-boolean-literal-compare */ +/* eslint-disable @typescript-eslint/no-empty-interface */ import { encodeMessage, decodeMessage, message } from 'protons-runtime' -import type { Uint8ArrayList } from 'uint8arraylist' import type { Codec } from 'protons-runtime' +import type { Uint8ArrayList } from 'uint8arraylist' export interface PeerIdProto { - id: Uint8Array + id?: Uint8Array pubKey?: Uint8Array privKey?: Uint8Array } @@ -23,7 +24,7 @@ export namespace PeerIdProto { w.fork() } - if (opts.writeDefaults === true || (obj.id != null && obj.id.byteLength > 0)) { + if (obj.id != null) { w.uint32(10) w.bytes(obj.id) } @@ -42,9 +43,7 @@ export namespace PeerIdProto { w.ldelim() } }, (reader, length) => { - const obj: any = { - id: new Uint8Array(0) - } + const obj: any = {} const end = length == null ? reader.len : reader.pos + length @@ -74,7 +73,7 @@ export namespace PeerIdProto { return _codec } - export const encode = (obj: PeerIdProto): Uint8Array => { + export const encode = (obj: Partial): Uint8Array => { return encodeMessage(obj, PeerIdProto.codec()) }