@chainsafe/lodestar 1.41.0-dev.b90dff673d → 1.41.0-dev.bb16850567

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/.git-data.json CHANGED
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "branch": "unstable",
3
- "commit": "b90dff673d2e78a1ff1352f7b23f74df2ef7f2eb"
3
+ "commit": "bb16850567eb84a6e62c20482af77993c4c114df"
4
4
  }
@@ -1 +1 @@
1
- {"version":3,"file":"initPeerIdAndEnr.d.ts","sourceRoot":"","sources":["../../../src/cmds/beacon/initPeerIdAndEnr.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,mBAAmB,CAAC;AAElD,OAAO,EAAC,SAAS,EAAC,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAC;AAIvC,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAC;AAExC;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,CA6B1E;AAeD,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,WAAW,EAChB,IAAI,EAAE,UAAU,EAChB,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAE;IAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAC,GAC5C,IAAI,CAyDN;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,UAAU,EAChB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,OAAO,GACjB,OAAO,CAAC;IAAC,UAAU,EAAE,UAAU,CAAC;IAAC,GAAG,EAAE,WAAW,CAAA;CAAC,CAAC,CAyDrD"}
1
+ {"version":3,"file":"initPeerIdAndEnr.d.ts","sourceRoot":"","sources":["../../../src/cmds/beacon/initPeerIdAndEnr.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,mBAAmB,CAAC;AAElD,OAAO,EAAC,SAAS,EAAC,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAC;AAIvC,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAC;AAExC;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,CA6B1E;AAeD,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,WAAW,EAChB,IAAI,EAAE,UAAU,EAChB,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAE;IAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAC,GAC5C,IAAI,CAiEN;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,UAAU,EAChB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,OAAO,GACjB,OAAO,CAAC;IAAC,UAAU,EAAE,UAAU,CAAC;IAAC,GAAG,EAAE,WAAW,CAAA;CAAC,CAAC,CAyDrD"}
@@ -46,14 +46,18 @@ function maybeUpdateEnr(enr, key, value) {
46
46
  }
47
47
  export function overwriteEnrWithCliArgs(enr, args, logger, opts) {
48
48
  const preSeq = enr.seq;
49
- const { port, discoveryPort, port6, discoveryPort6 } = parseListenArgs(args);
49
+ const { port, discoveryPort, quicPort, port6, discoveryPort6, quicPort6 } = parseListenArgs(args);
50
+ const tcp = args.tcp ?? true;
51
+ const quic = args.quic ?? false;
50
52
  maybeUpdateEnr(enr, "ip", args["enr.ip"] ?? enr.ip);
51
53
  maybeUpdateEnr(enr, "ip6", args["enr.ip6"] ?? enr.ip6);
52
54
  maybeUpdateEnr(enr, "udp", args["enr.udp"] ?? discoveryPort ?? enr.udp);
53
55
  maybeUpdateEnr(enr, "udp6", args["enr.udp6"] ?? discoveryPort6 ?? enr.udp6);
54
56
  if (!opts?.bootnode) {
55
- maybeUpdateEnr(enr, "tcp", args["enr.tcp"] ?? port ?? enr.tcp);
56
- maybeUpdateEnr(enr, "tcp6", args["enr.tcp6"] ?? port6 ?? enr.tcp6);
57
+ maybeUpdateEnr(enr, "tcp", tcp ? (args["enr.tcp"] ?? port ?? enr.tcp) : undefined);
58
+ maybeUpdateEnr(enr, "tcp6", tcp ? (args["enr.tcp6"] ?? port6 ?? enr.tcp6) : undefined);
59
+ maybeUpdateEnr(enr, "quic", quic ? (args["enr.quic"] ?? quicPort ?? enr.quic) : undefined);
60
+ maybeUpdateEnr(enr, "quic6", quic ? (args["enr.quic6"] ?? quicPort6 ?? enr.quic6) : undefined);
57
61
  }
58
62
  function testMultiaddrForLocal(mu, ip4) {
59
63
  const isLocal = isLocalMultiAddr(mu);
@@ -68,10 +72,14 @@ export function overwriteEnrWithCliArgs(enr, args, logger, opts) {
68
72
  if (ip4) {
69
73
  enr.delete("ip");
70
74
  enr.delete("udp");
75
+ enr.delete("tcp");
76
+ enr.delete("quic");
71
77
  }
72
78
  else {
73
79
  enr.delete("ip6");
74
80
  enr.delete("udp6");
81
+ enr.delete("tcp6");
82
+ enr.delete("quic6");
75
83
  }
76
84
  }
77
85
  }
@@ -1 +1 @@
1
- {"version":3,"file":"initPeerIdAndEnr.js","sourceRoot":"","sources":["../../../src/cmds/beacon/initPeerIdAndEnr.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"initPeerIdAndEnr.js","sourceRoot":"","sources":["../../../src/cmds/beacon/initPeerIdAndEnr.ts"],"names":[],"mappings":"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"}
@@ -30,10 +30,12 @@ export declare const beaconExtraOptions: CliCommandOptions<BeaconExtraArgs>;
30
30
  type ENRArgs = {
31
31
  "enr.ip"?: string;
32
32
  "enr.tcp"?: number;
33
- "enr.ip6"?: string;
34
33
  "enr.udp"?: number;
34
+ "enr.quic"?: number;
35
+ "enr.ip6"?: string;
35
36
  "enr.tcp6"?: number;
36
37
  "enr.udp6"?: number;
38
+ "enr.quic6"?: number;
37
39
  nat?: boolean;
38
40
  };
39
41
  export type BeaconArgs = BeaconExtraArgs & LogArgs & BeaconPaths & BeaconNodeArgs & ENRArgs;
@@ -1 +1 @@
1
- {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../../src/cmds/beacon/options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,iBAAiB,EAAE,mBAAmB,EAAC,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAC,cAAc,EAAmC,MAAM,wBAAwB,CAAC;AACxF,OAAO,EAAC,OAAO,EAAa,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAC,WAAW,EAAqB,MAAM,YAAY,CAAC;AAE3D,KAAK,eAAe,GAAG;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,4BAA4B,CAAC,EAAE,OAAO,CAAC;IACvC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,2BAA2B,CAAC,EAAE,OAAO,CAAC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,sCAAsC,CAAC,EAAE,MAAM,CAAC;IAChD,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,wBAAwB,CAAC,EAAE,OAAO,CAAC;CACpC,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,iBAAiB,CAAC,eAAe,CA6IjE,CAAC;AAEF,KAAK,OAAO,GAAG;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf,CAAC;AAwCF,MAAM,MAAM,UAAU,GAAG,eAAe,GAAG,OAAO,GAAG,WAAW,GAAG,cAAc,GAAG,OAAO,CAAC;AAE5F,eAAO,MAAM,aAAa,EAAE;IAAC,CAAC,CAAC,EAAE,MAAM,GAAG,mBAAmB,CAAA;CAM5D,CAAC"}
1
+ {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../../src/cmds/beacon/options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,iBAAiB,EAAE,mBAAmB,EAAC,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAC,cAAc,EAAmC,MAAM,wBAAwB,CAAC;AACxF,OAAO,EAAC,OAAO,EAAa,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAC,WAAW,EAAqB,MAAM,YAAY,CAAC;AAE3D,KAAK,eAAe,GAAG;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,4BAA4B,CAAC,EAAE,OAAO,CAAC;IACvC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,2BAA2B,CAAC,EAAE,OAAO,CAAC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,sCAAsC,CAAC,EAAE,MAAM,CAAC;IAChD,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,wBAAwB,CAAC,EAAE,OAAO,CAAC;CACpC,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,iBAAiB,CAAC,eAAe,CA6IjE,CAAC;AAEF,KAAK,OAAO,GAAG;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf,CAAC;AAkDF,MAAM,MAAM,UAAU,GAAG,eAAe,GAAG,OAAO,GAAG,WAAW,GAAG,cAAc,GAAG,OAAO,CAAC;AAE5F,eAAO,MAAM,aAAa,EAAE;IAAC,CAAC,CAAC,EAAE,MAAM,GAAG,mBAAmB,CAAA;CAM5D,CAAC"}
@@ -132,6 +132,11 @@ const enrOptions = {
132
132
  type: "number",
133
133
  group: "enr",
134
134
  },
135
+ "enr.quic": {
136
+ description: "Override ENR QUIC entry",
137
+ type: "number",
138
+ group: "enr",
139
+ },
135
140
  "enr.ip6": {
136
141
  description: "Override ENR IPv6 entry",
137
142
  type: "string",
@@ -147,6 +152,11 @@ const enrOptions = {
147
152
  type: "number",
148
153
  group: "enr",
149
154
  },
155
+ "enr.quic6": {
156
+ description: "Override ENR (IPv6-specific) QUIC entry",
157
+ type: "number",
158
+ group: "enr",
159
+ },
150
160
  nat: {
151
161
  type: "boolean",
152
162
  description: "Allow configuration of non-local addresses",
@@ -1 +1 @@
1
- {"version":3,"file":"options.js","sourceRoot":"","sources":["../../../src/cmds/beacon/options.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"options.js","sourceRoot":"","sources":["../../../src/cmds/beacon/options.ts"],"names":[],"mappings":"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"}
@@ -162,6 +162,9 @@ export declare const devOptions: {
162
162
  "network.useWorker"?: CliOptionDefinition<any> | undefined;
163
163
  port?: CliOptionDefinition<any> | undefined;
164
164
  port6?: CliOptionDefinition<any> | undefined;
165
+ quic?: CliOptionDefinition<any> | undefined;
166
+ quicPort?: CliOptionDefinition<any> | undefined;
167
+ quicPort6?: CliOptionDefinition<any> | undefined;
165
168
  rest?: CliOptionDefinition<any> | undefined;
166
169
  "rest.address"?: CliOptionDefinition<any> | undefined;
167
170
  "rest.bodyLimit"?: CliOptionDefinition<any> | undefined;
@@ -180,6 +183,7 @@ export declare const devOptions: {
180
183
  "sync.isSingleNode"?: CliOptionDefinition<any> | undefined;
181
184
  "sync.slotImportTolerance"?: CliOptionDefinition<any> | undefined;
182
185
  targetPeers?: CliOptionDefinition<any> | undefined;
186
+ tcp?: CliOptionDefinition<any> | undefined;
183
187
  };
184
188
  export type IDevArgs = BeaconArgs & IValidatorCliArgs & IDevOwnArgs;
185
189
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../../src/cmds/dev/options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,mBAAmB,EAAC,MAAM,iBAAiB,CAAC;AAIvE,OAAO,EAAC,UAAU,EAAgB,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAC,iBAAiB,EAAmB,MAAM,yBAAyB,CAAC;AAE5E,KAAK,WAAW,GAAG;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AA6FF,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKtB,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG,UAAU,GAAG,iBAAiB,GAAG,WAAW,CAAC"}
1
+ {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../../src/cmds/dev/options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,mBAAmB,EAAC,MAAM,iBAAiB,CAAC;AAIvE,OAAO,EAAC,UAAU,EAAgB,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAC,iBAAiB,EAAmB,MAAM,yBAAyB,CAAC;AAE5E,KAAK,WAAW,GAAG;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AA6FF,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKtB,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG,UAAU,GAAG,iBAAiB,GAAG,WAAW,CAAC"}
@@ -103,14 +103,18 @@ export declare const beaconNodeOptions: {
103
103
  listenAddress: import("@lodestar/utils").CliOptionDefinition<string | undefined>;
104
104
  port: import("@lodestar/utils").CliOptionDefinition<number | undefined>;
105
105
  discoveryPort: import("@lodestar/utils").CliOptionDefinition<number | undefined>;
106
+ quicPort: import("@lodestar/utils").CliOptionDefinition<number | undefined>;
106
107
  listenAddress6: import("@lodestar/utils").CliOptionDefinition<string | undefined>;
107
108
  port6: import("@lodestar/utils").CliOptionDefinition<number | undefined>;
108
109
  discoveryPort6: import("@lodestar/utils").CliOptionDefinition<number | undefined>;
110
+ quicPort6: import("@lodestar/utils").CliOptionDefinition<number | undefined>;
109
111
  bootnodes: import("@lodestar/utils").CliOptionDefinition<string[] | undefined>;
110
112
  targetPeers: import("@lodestar/utils").CliOptionDefinition<number | undefined>;
111
113
  subscribeAllSubnets: import("@lodestar/utils").CliOptionDefinition<boolean | undefined>;
112
114
  slotsToSubscribeBeforeAggregatorDuty: import("@lodestar/utils").CliOptionDefinition<number | undefined>;
113
115
  disablePeerScoring: import("@lodestar/utils").CliOptionDefinition<boolean | undefined>;
116
+ quic: import("@lodestar/utils").CliOptionDefinition<boolean | undefined>;
117
+ tcp: import("@lodestar/utils").CliOptionDefinition<boolean | undefined>;
114
118
  mdns: import("@lodestar/utils").CliOptionDefinition<boolean | undefined>;
115
119
  directPeers: import("@lodestar/utils").CliOptionDefinition<string[] | undefined>;
116
120
  "network.maxPeers": import("@lodestar/utils").CliOptionDefinition<number | undefined>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/options/beaconNodeOptions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,kBAAkB,EAAC,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAC,gBAAgB,EAAC,MAAM,iBAAiB,CAAC;AAEjD,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAChC,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAC;AAC5C,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,MAAM,MAAM,cAAc,GAAG,GAAG,CAAC,OAAO,GACtC,KAAK,CAAC,SAAS,GACf,IAAI,CAAC,QAAQ,GACb,SAAS,CAAC,mBAAmB,GAC7B,OAAO,CAAC,oBAAoB,GAC5B,OAAO,CAAC,WAAW,GACnB,UAAU,CAAC,cAAc,GACzB,OAAO,CAAC,WAAW,GACnB,IAAI,CAAC,QAAQ,CAAC;AAEhB,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,cAAc,GAAG,gBAAgB,CAAC,kBAAkB,CAAC,CAa9F;AAED,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAU7B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/options/beaconNodeOptions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,kBAAkB,EAAC,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAC,gBAAgB,EAAC,MAAM,iBAAiB,CAAC;AAEjD,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAChC,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAC;AAC5C,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,MAAM,MAAM,cAAc,GAAG,GAAG,CAAC,OAAO,GACtC,KAAK,CAAC,SAAS,GACf,IAAI,CAAC,QAAQ,GACb,SAAS,CAAC,mBAAmB,GAC7B,OAAO,CAAC,oBAAoB,GAC5B,OAAO,CAAC,WAAW,GACnB,UAAU,CAAC,cAAc,GACzB,OAAO,CAAC,WAAW,GACnB,IAAI,CAAC,QAAQ,CAAC;AAEhB,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,cAAc,GAAG,gBAAgB,CAAC,kBAAkB,CAAC,CAa9F;AAED,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAU7B,CAAC"}
@@ -3,19 +3,24 @@ import { CliCommandOptions } from "@lodestar/utils";
3
3
  export declare const defaultListenAddress = "0.0.0.0";
4
4
  export declare const defaultListenAddress6 = "::";
5
5
  export declare const defaultP2pPort = 9000;
6
+ export declare const defaultQuicPort = 9001;
6
7
  export type NetworkArgs = {
7
8
  discv5?: boolean;
8
9
  listenAddress?: string;
9
10
  port?: number;
10
11
  discoveryPort?: number;
12
+ quicPort?: number;
11
13
  listenAddress6?: string;
12
14
  port6?: number;
13
15
  discoveryPort6?: number;
16
+ quicPort6?: number;
14
17
  bootnodes?: string[];
15
18
  targetPeers?: number;
16
19
  subscribeAllSubnets?: boolean;
17
20
  slotsToSubscribeBeforeAggregatorDuty?: number;
18
21
  disablePeerScoring?: boolean;
22
+ quic?: boolean;
23
+ tcp?: boolean;
19
24
  mdns?: boolean;
20
25
  directPeers?: string[];
21
26
  "network.maxPeers"?: number;
@@ -46,9 +51,11 @@ export declare function parseListenArgs(args: NetworkArgs): {
46
51
  listenAddress: string | undefined;
47
52
  port: number | undefined;
48
53
  discoveryPort: number | undefined;
54
+ quicPort: number | undefined;
49
55
  listenAddress6: string | undefined;
50
56
  port6: number | undefined;
51
57
  discoveryPort6: number | undefined;
58
+ quicPort6: number | undefined;
52
59
  };
53
60
  export declare function parseArgs(args: NetworkArgs): IBeaconNodeOptions["network"];
54
61
  export declare const options: CliCommandOptions<NetworkArgs>;
@@ -1 +1 @@
1
- {"version":3,"file":"network.d.ts","sourceRoot":"","sources":["../../../src/options/beaconNodeOptions/network.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,kBAAkB,EAAiB,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAAC,iBAAiB,EAAC,MAAM,iBAAiB,CAAC;AAGlD,eAAO,MAAM,oBAAoB,YAAY,CAAC;AAC9C,eAAO,MAAM,qBAAqB,OAAO,CAAC;AAC1C,eAAO,MAAM,cAAc,OAAO,CAAC;AAEnC,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,oCAAoC,CAAC,EAAE,MAAM,CAAC;IAC9C,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,kCAAkC,CAAC,EAAE,OAAO,CAAC;IAC7C,iCAAiC,CAAC,EAAE,MAAM,CAAC;IAC3C,gDAAgD,CAAC,EAAE,OAAO,CAAC;IAC3D,iCAAiC,CAAC,EAAE,OAAO,CAAC;IAC5C,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,+BAA+B,CAAC,EAAE,OAAO,CAAC;IAC1C,6BAA6B,CAAC,EAAE,OAAO,CAAC;IACxC,6BAA6B,CAAC,EAAE,MAAM,CAAC;IACvC,mCAAmC,CAAC,EAAE,MAAM,CAAC;IAC7C,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,kCAAkC,CAAC,EAAE,MAAM,CAAC;IAC5C,0BAA0B,CAAC,EAAE,MAAM,CAAC;IAEpC,yFAAyF;IACzF,+BAA+B,CAAC,EAAE,MAAM,CAAC;IACzC,yFAAyF;IACzF,8BAA8B,CAAC,EAAE,MAAM,CAAC;IACxC,yFAAyF;IACzF,6BAA6B,CAAC,EAAE,MAAM,CAAC;IACvC,yFAAyF;IACzF,8BAA8B,CAAC,EAAE,MAAM,CAAC;CACzC,CAAC;AAYF,wBAAgB,eAAe,CAAC,IAAI,EAAE,WAAW;;;;;;;EAchD;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,WAAW,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAoF1E;AAED,eAAO,MAAM,OAAO,EAAE,iBAAiB,CAAC,WAAW,CA+PlD,CAAC"}
1
+ {"version":3,"file":"network.d.ts","sourceRoot":"","sources":["../../../src/options/beaconNodeOptions/network.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,kBAAkB,EAAiB,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAAC,iBAAiB,EAAC,MAAM,iBAAiB,CAAC;AAGlD,eAAO,MAAM,oBAAoB,YAAY,CAAC;AAC9C,eAAO,MAAM,qBAAqB,OAAO,CAAC;AAC1C,eAAO,MAAM,cAAc,OAAO,CAAC;AACnC,eAAO,MAAM,eAAe,OAAO,CAAC;AAEpC,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,oCAAoC,CAAC,EAAE,MAAM,CAAC;IAC9C,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,kCAAkC,CAAC,EAAE,OAAO,CAAC;IAC7C,iCAAiC,CAAC,EAAE,MAAM,CAAC;IAC3C,gDAAgD,CAAC,EAAE,OAAO,CAAC;IAC3D,iCAAiC,CAAC,EAAE,OAAO,CAAC;IAC5C,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,+BAA+B,CAAC,EAAE,OAAO,CAAC;IAC1C,6BAA6B,CAAC,EAAE,OAAO,CAAC;IACxC,6BAA6B,CAAC,EAAE,MAAM,CAAC;IACvC,mCAAmC,CAAC,EAAE,MAAM,CAAC;IAC7C,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,kCAAkC,CAAC,EAAE,MAAM,CAAC;IAC5C,0BAA0B,CAAC,EAAE,MAAM,CAAC;IAEpC,yFAAyF;IACzF,+BAA+B,CAAC,EAAE,MAAM,CAAC;IACzC,yFAAyF;IACzF,8BAA8B,CAAC,EAAE,MAAM,CAAC;IACxC,yFAAyF;IACzF,6BAA6B,CAAC,EAAE,MAAM,CAAC;IACvC,yFAAyF;IACzF,8BAA8B,CAAC,EAAE,MAAM,CAAC;CACzC,CAAC;AAYF,wBAAgB,eAAe,CAAC,IAAI,EAAE,WAAW;;;;;;;;;EAkBhD;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,WAAW,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAsH1E;AAED,eAAO,MAAM,OAAO,EAAE,iBAAiB,CAAC,WAAW,CA4RlD,CAAC"}
@@ -5,6 +5,7 @@ import { YargsError } from "../../util/index.js";
5
5
  export const defaultListenAddress = "0.0.0.0";
6
6
  export const defaultListenAddress6 = "::";
7
7
  export const defaultP2pPort = 9000;
8
+ export const defaultQuicPort = 9001;
8
9
  function validateMultiaddrArg(args, key) {
9
10
  if (args[key]) {
10
11
  try {
@@ -21,38 +22,64 @@ export function parseListenArgs(args) {
21
22
  const listenAddress = args.listenAddress ?? (args.listenAddress6 ? undefined : defaultListenAddress);
22
23
  const port = listenAddress ? (args.port ?? defaultP2pPort) : undefined;
23
24
  const discoveryPort = listenAddress ? (args.discoveryPort ?? port) : undefined;
25
+ const quicPort = listenAddress ? (args.quicPort ?? (port !== undefined ? port + 1 : defaultQuicPort)) : undefined;
24
26
  // If listenAddress6 is explicitly set, use it
25
27
  // If listenAddress is not set, use defaultListenAddress6
26
28
  const listenAddress6 = args.listenAddress6 ?? (args.listenAddress ? undefined : defaultListenAddress6);
27
29
  const port6 = listenAddress6 ? (args.port6 ?? args.port ?? defaultP2pPort) : undefined;
28
30
  const discoveryPort6 = listenAddress6 ? (args.discoveryPort6 ?? port6) : undefined;
29
- return { listenAddress, port, discoveryPort, listenAddress6, port6, discoveryPort6 };
31
+ const quicPort6 = listenAddress6
32
+ ? (args.quicPort6 ?? (port6 !== undefined ? port6 + 1 : defaultQuicPort))
33
+ : undefined;
34
+ return { listenAddress, port, discoveryPort, quicPort, listenAddress6, port6, discoveryPort6, quicPort6 };
30
35
  }
31
36
  export function parseArgs(args) {
32
- const { listenAddress, port, discoveryPort, listenAddress6, port6, discoveryPort6 } = parseListenArgs(args);
37
+ const { listenAddress, port, discoveryPort, quicPort, listenAddress6, port6, discoveryPort6, quicPort6 } = parseListenArgs(args);
38
+ const quic = args.quic ?? false;
39
+ const tcp = args.tcp ?? true;
40
+ if (!quic && !tcp) {
41
+ throw new YargsError("Cannot disable both TCP and QUIC transports");
42
+ }
33
43
  // validate ip, ip6, ports
34
44
  const muArgs = {
35
45
  listenAddress: listenAddress ? `/ip4/${listenAddress}` : undefined,
36
46
  port: listenAddress ? `/tcp/${port}` : undefined,
37
47
  discoveryPort: listenAddress ? `/udp/${discoveryPort}` : undefined,
48
+ quicPort: listenAddress ? `/udp/${quicPort}/quic-v1` : undefined,
38
49
  listenAddress6: listenAddress6 ? `/ip6/${listenAddress6}` : undefined,
39
50
  port6: listenAddress6 ? `/tcp/${port6}` : undefined,
40
51
  discoveryPort6: listenAddress6 ? `/udp/${discoveryPort6}` : undefined,
52
+ quicPort6: listenAddress6 ? `/udp/${quicPort6}/quic-v1` : undefined,
41
53
  };
42
- for (const key of [
54
+ const keysToValidate = [
43
55
  "listenAddress",
44
56
  "port",
45
57
  "discoveryPort",
46
58
  "listenAddress6",
47
59
  "port6",
48
60
  "discoveryPort6",
49
- ]) {
61
+ ];
62
+ if (quic) {
63
+ keysToValidate.push("quicPort");
64
+ keysToValidate.push("quicPort6");
65
+ }
66
+ for (const key of keysToValidate) {
50
67
  validateMultiaddrArg(muArgs, key);
51
68
  }
69
+ if (quic) {
70
+ if (discoveryPort !== undefined && quicPort !== undefined && discoveryPort === quicPort) {
71
+ throw new YargsError(`discoveryPort and quicPort must not collide, both are UDP. Got discoveryPort=${discoveryPort} quicPort=${quicPort}`);
72
+ }
73
+ if (discoveryPort6 !== undefined && quicPort6 !== undefined && discoveryPort6 === quicPort6) {
74
+ throw new YargsError(`discoveryPort6 and quicPort6 must not collide, both are UDP. Got discoveryPort6=${discoveryPort6} quicPort6=${quicPort6}`);
75
+ }
76
+ }
52
77
  const bindMu = listenAddress ? `${muArgs.listenAddress}${muArgs.discoveryPort}` : undefined;
53
- const localMu = listenAddress ? `${muArgs.listenAddress}${muArgs.port}` : undefined;
78
+ const localMu = listenAddress && tcp ? `${muArgs.listenAddress}${muArgs.port}` : undefined;
79
+ const quicMu = listenAddress && quic ? `${muArgs.listenAddress}${muArgs.quicPort}` : undefined;
54
80
  const bindMu6 = listenAddress6 ? `${muArgs.listenAddress6}${muArgs.discoveryPort6}` : undefined;
55
- const localMu6 = listenAddress6 ? `${muArgs.listenAddress6}${muArgs.port6}` : undefined;
81
+ const localMu6 = listenAddress6 && tcp ? `${muArgs.listenAddress6}${muArgs.port6}` : undefined;
82
+ const quicMu6 = listenAddress6 && quic ? `${muArgs.listenAddress6}${muArgs.quicPort6}` : undefined;
56
83
  const targetPeers = args.targetPeers;
57
84
  const maxPeers = args["network.maxPeers"] ?? (targetPeers !== undefined ? Math.floor(targetPeers * 1.1) : undefined);
58
85
  if (targetPeers != null && maxPeers != null && targetPeers > maxPeers) {
@@ -86,10 +113,12 @@ export function parseArgs(args) {
86
113
  : null,
87
114
  maxPeers: maxPeers ?? defaultOptions.network.maxPeers,
88
115
  targetPeers: targetPeers ?? defaultOptions.network.targetPeers,
89
- localMultiaddrs: [localMu, localMu6].filter(Boolean),
116
+ localMultiaddrs: [quicMu, quicMu6, localMu, localMu6].filter(Boolean),
90
117
  subscribeAllSubnets: args.subscribeAllSubnets,
91
118
  slotsToSubscribeBeforeAggregatorDuty: args.slotsToSubscribeBeforeAggregatorDuty ?? defaultOptions.network.slotsToSubscribeBeforeAggregatorDuty,
92
119
  disablePeerScoring: args.disablePeerScoring,
120
+ quic,
121
+ tcp,
93
122
  connectToDiscv5Bootnodes: args["network.connectToDiscv5Bootnodes"],
94
123
  discv5FirstQueryDelayMs: args["network.discv5FirstQueryDelayMs"],
95
124
  dontSendGossipAttestationsToForkchoice: args["network.dontSendGossipAttestationsToForkchoice"],
@@ -135,6 +164,12 @@ export const options = {
135
164
  defaultDescription: "`port`",
136
165
  group: "network",
137
166
  },
167
+ quicPort: {
168
+ description: "The UDP port that QUIC will listen on. Defaults to `port` + 1",
169
+ type: "number",
170
+ defaultDescription: "`port` + 1",
171
+ group: "network",
172
+ },
138
173
  listenAddress6: {
139
174
  type: "string",
140
175
  description: "The IPv6 address to listen for p2p UDP and TCP connections",
@@ -154,6 +189,12 @@ export const options = {
154
189
  defaultDescription: "`port6`",
155
190
  group: "network",
156
191
  },
192
+ quicPort6: {
193
+ description: "The UDP port that QUIC will listen on. Defaults to `port6` + 1",
194
+ type: "number",
195
+ defaultDescription: "`port6` + 1",
196
+ group: "network",
197
+ },
157
198
  bootnodes: {
158
199
  type: "array",
159
200
  description: "Bootnodes for discv5 discovery",
@@ -189,6 +230,19 @@ export const options = {
189
230
  defaultDescription: String(defaultOptions.network.disablePeerScoring === true),
190
231
  group: "network",
191
232
  },
233
+ quic: {
234
+ type: "boolean",
235
+ description: "Enable QUIC transport",
236
+ default: false,
237
+ group: "network",
238
+ },
239
+ tcp: {
240
+ hidden: true,
241
+ type: "boolean",
242
+ description: "Enable TCP transport",
243
+ default: true,
244
+ group: "network",
245
+ },
192
246
  mdns: {
193
247
  type: "boolean",
194
248
  description: "Enable mdns local peer discovery",
@@ -1 +1 @@
1
- {"version":3,"file":"network.js","sourceRoot":"","sources":["../../../src/options/beaconNodeOptions/network.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"network.js","sourceRoot":"","sources":["../../../src/options/beaconNodeOptions/network.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chainsafe/lodestar",
3
- "version": "1.41.0-dev.b90dff673d",
3
+ "version": "1.41.0-dev.bb16850567",
4
4
  "description": "Command line interface for lodestar",
5
5
  "author": "ChainSafe Systems",
6
6
  "license": "Apache-2.0",
@@ -60,8 +60,8 @@
60
60
  "@chainsafe/bls-keygen": "^0.4.0",
61
61
  "@chainsafe/bls-keystore": "^3.1.0",
62
62
  "@chainsafe/blst": "^2.2.0",
63
- "@chainsafe/discv5": "^12.0.0",
64
- "@chainsafe/enr": "^6.0.0",
63
+ "@chainsafe/discv5": "^12.0.1",
64
+ "@chainsafe/enr": "^6.0.1",
65
65
  "@chainsafe/persistent-merkle-tree": "^1.2.1",
66
66
  "@chainsafe/pubkey-index-map": "^3.0.0",
67
67
  "@chainsafe/ssz": "^1.2.2",
@@ -69,17 +69,17 @@
69
69
  "@libp2p/crypto": "^5.1.13",
70
70
  "@libp2p/interface": "^3.1.0",
71
71
  "@libp2p/peer-id": "^6.0.4",
72
- "@lodestar/api": "^1.41.0-dev.b90dff673d",
73
- "@lodestar/beacon-node": "^1.41.0-dev.b90dff673d",
74
- "@lodestar/config": "^1.41.0-dev.b90dff673d",
75
- "@lodestar/db": "^1.41.0-dev.b90dff673d",
76
- "@lodestar/light-client": "^1.41.0-dev.b90dff673d",
77
- "@lodestar/logger": "^1.41.0-dev.b90dff673d",
78
- "@lodestar/params": "^1.41.0-dev.b90dff673d",
79
- "@lodestar/state-transition": "^1.41.0-dev.b90dff673d",
80
- "@lodestar/types": "^1.41.0-dev.b90dff673d",
81
- "@lodestar/utils": "^1.41.0-dev.b90dff673d",
82
- "@lodestar/validator": "^1.41.0-dev.b90dff673d",
72
+ "@lodestar/api": "^1.41.0-dev.bb16850567",
73
+ "@lodestar/beacon-node": "^1.41.0-dev.bb16850567",
74
+ "@lodestar/config": "^1.41.0-dev.bb16850567",
75
+ "@lodestar/db": "^1.41.0-dev.bb16850567",
76
+ "@lodestar/light-client": "^1.41.0-dev.bb16850567",
77
+ "@lodestar/logger": "^1.41.0-dev.bb16850567",
78
+ "@lodestar/params": "^1.41.0-dev.bb16850567",
79
+ "@lodestar/state-transition": "^1.41.0-dev.bb16850567",
80
+ "@lodestar/types": "^1.41.0-dev.bb16850567",
81
+ "@lodestar/utils": "^1.41.0-dev.bb16850567",
82
+ "@lodestar/validator": "^1.41.0-dev.bb16850567",
83
83
  "@multiformats/multiaddr": "^13.0.1",
84
84
  "deepmerge": "^4.3.1",
85
85
  "ethers": "^6.7.0",
@@ -96,7 +96,7 @@
96
96
  "devDependencies": {
97
97
  "@chainsafe/as-sha256": "^1.2.0",
98
98
  "@ethereumjs/rlp": "^4.0.1",
99
- "@lodestar/test-utils": "^1.41.0-dev.b90dff673d",
99
+ "@lodestar/test-utils": "^1.41.0-dev.bb16850567",
100
100
  "@types/debug": "^4.1.7",
101
101
  "@types/inquirer": "^9.0.3",
102
102
  "@types/js-yaml": "^4.0.5",
@@ -109,5 +109,5 @@
109
109
  "web3": "^4.0.3",
110
110
  "web3-eth-accounts": "^4.0.3"
111
111
  },
112
- "gitHead": "13f63aa696bf5a30dc0606527995b098db99b1a0"
112
+ "gitHead": "659b2cdaf3eb6ba38abacec70d9f44d89bc291ff"
113
113
  }
@@ -49,7 +49,7 @@ export function isLocalMultiAddr(multiaddr: Multiaddr | undefined): boolean {
49
49
  /**
50
50
  * Only update the enr if the value has changed
51
51
  */
52
- function maybeUpdateEnr<T extends "ip" | "tcp" | "udp" | "ip6" | "tcp6" | "udp6">(
52
+ function maybeUpdateEnr<T extends "ip" | "tcp" | "udp" | "quic" | "ip6" | "tcp6" | "udp6" | "quic6">(
53
53
  enr: SignableENR,
54
54
  key: T,
55
55
  value: SignableENR[T] | undefined
@@ -66,14 +66,18 @@ export function overwriteEnrWithCliArgs(
66
66
  opts?: {newEnr?: boolean; bootnode?: boolean}
67
67
  ): void {
68
68
  const preSeq = enr.seq;
69
- const {port, discoveryPort, port6, discoveryPort6} = parseListenArgs(args);
69
+ const {port, discoveryPort, quicPort, port6, discoveryPort6, quicPort6} = parseListenArgs(args);
70
+ const tcp = args.tcp ?? true;
71
+ const quic = args.quic ?? false;
70
72
  maybeUpdateEnr(enr, "ip", args["enr.ip"] ?? enr.ip);
71
73
  maybeUpdateEnr(enr, "ip6", args["enr.ip6"] ?? enr.ip6);
72
74
  maybeUpdateEnr(enr, "udp", args["enr.udp"] ?? discoveryPort ?? enr.udp);
73
75
  maybeUpdateEnr(enr, "udp6", args["enr.udp6"] ?? discoveryPort6 ?? enr.udp6);
74
76
  if (!opts?.bootnode) {
75
- maybeUpdateEnr(enr, "tcp", args["enr.tcp"] ?? port ?? enr.tcp);
76
- maybeUpdateEnr(enr, "tcp6", args["enr.tcp6"] ?? port6 ?? enr.tcp6);
77
+ maybeUpdateEnr(enr, "tcp", tcp ? (args["enr.tcp"] ?? port ?? enr.tcp) : undefined);
78
+ maybeUpdateEnr(enr, "tcp6", tcp ? (args["enr.tcp6"] ?? port6 ?? enr.tcp6) : undefined);
79
+ maybeUpdateEnr(enr, "quic", quic ? (args["enr.quic"] ?? quicPort ?? enr.quic) : undefined);
80
+ maybeUpdateEnr(enr, "quic6", quic ? (args["enr.quic6"] ?? quicPort6 ?? enr.quic6) : undefined);
77
81
  }
78
82
 
79
83
  function testMultiaddrForLocal(mu: Multiaddr, ip4: boolean): void {
@@ -92,9 +96,13 @@ export function overwriteEnrWithCliArgs(
92
96
  if (ip4) {
93
97
  enr.delete("ip");
94
98
  enr.delete("udp");
99
+ enr.delete("tcp");
100
+ enr.delete("quic");
95
101
  } else {
96
102
  enr.delete("ip6");
97
103
  enr.delete("udp6");
104
+ enr.delete("tcp6");
105
+ enr.delete("quic6");
98
106
  }
99
107
  }
100
108
  }
@@ -174,10 +174,12 @@ export const beaconExtraOptions: CliCommandOptions<BeaconExtraArgs> = {
174
174
  type ENRArgs = {
175
175
  "enr.ip"?: string;
176
176
  "enr.tcp"?: number;
177
- "enr.ip6"?: string;
178
177
  "enr.udp"?: number;
178
+ "enr.quic"?: number;
179
+ "enr.ip6"?: string;
179
180
  "enr.tcp6"?: number;
180
181
  "enr.udp6"?: number;
182
+ "enr.quic6"?: number;
181
183
  nat?: boolean;
182
184
  };
183
185
 
@@ -197,6 +199,11 @@ const enrOptions: CliCommandOptions<ENRArgs> = {
197
199
  type: "number",
198
200
  group: "enr",
199
201
  },
202
+ "enr.quic": {
203
+ description: "Override ENR QUIC entry",
204
+ type: "number",
205
+ group: "enr",
206
+ },
200
207
  "enr.ip6": {
201
208
  description: "Override ENR IPv6 entry",
202
209
  type: "string",
@@ -212,6 +219,11 @@ const enrOptions: CliCommandOptions<ENRArgs> = {
212
219
  type: "number",
213
220
  group: "enr",
214
221
  },
222
+ "enr.quic6": {
223
+ description: "Override ENR (IPv6-specific) QUIC entry",
224
+ type: "number",
225
+ group: "enr",
226
+ },
215
227
  nat: {
216
228
  type: "boolean",
217
229
  description: "Allow configuration of non-local addresses",
@@ -7,20 +7,25 @@ import {YargsError} from "../../util/index.js";
7
7
  export const defaultListenAddress = "0.0.0.0";
8
8
  export const defaultListenAddress6 = "::";
9
9
  export const defaultP2pPort = 9000;
10
+ export const defaultQuicPort = 9001;
10
11
 
11
12
  export type NetworkArgs = {
12
13
  discv5?: boolean;
13
14
  listenAddress?: string;
14
15
  port?: number;
15
16
  discoveryPort?: number;
17
+ quicPort?: number;
16
18
  listenAddress6?: string;
17
19
  port6?: number;
18
20
  discoveryPort6?: number;
21
+ quicPort6?: number;
19
22
  bootnodes?: string[];
20
23
  targetPeers?: number;
21
24
  subscribeAllSubnets?: boolean;
22
25
  slotsToSubscribeBeforeAggregatorDuty?: number;
23
26
  disablePeerScoring?: boolean;
27
+ quic?: boolean;
28
+ tcp?: boolean;
24
29
  mdns?: boolean;
25
30
  directPeers?: string[];
26
31
  "network.maxPeers"?: number;
@@ -65,43 +70,79 @@ export function parseListenArgs(args: NetworkArgs) {
65
70
  const listenAddress = args.listenAddress ?? (args.listenAddress6 ? undefined : defaultListenAddress);
66
71
  const port = listenAddress ? (args.port ?? defaultP2pPort) : undefined;
67
72
  const discoveryPort = listenAddress ? (args.discoveryPort ?? port) : undefined;
73
+ const quicPort = listenAddress ? (args.quicPort ?? (port !== undefined ? port + 1 : defaultQuicPort)) : undefined;
68
74
 
69
75
  // If listenAddress6 is explicitly set, use it
70
76
  // If listenAddress is not set, use defaultListenAddress6
71
77
  const listenAddress6 = args.listenAddress6 ?? (args.listenAddress ? undefined : defaultListenAddress6);
72
78
  const port6 = listenAddress6 ? (args.port6 ?? args.port ?? defaultP2pPort) : undefined;
73
79
  const discoveryPort6 = listenAddress6 ? (args.discoveryPort6 ?? port6) : undefined;
80
+ const quicPort6 = listenAddress6
81
+ ? (args.quicPort6 ?? (port6 !== undefined ? port6 + 1 : defaultQuicPort))
82
+ : undefined;
74
83
 
75
- return {listenAddress, port, discoveryPort, listenAddress6, port6, discoveryPort6};
84
+ return {listenAddress, port, discoveryPort, quicPort, listenAddress6, port6, discoveryPort6, quicPort6};
76
85
  }
77
86
 
78
87
  export function parseArgs(args: NetworkArgs): IBeaconNodeOptions["network"] {
79
- const {listenAddress, port, discoveryPort, listenAddress6, port6, discoveryPort6} = parseListenArgs(args);
88
+ const {listenAddress, port, discoveryPort, quicPort, listenAddress6, port6, discoveryPort6, quicPort6} =
89
+ parseListenArgs(args);
90
+ const quic = args.quic ?? false;
91
+ const tcp = args.tcp ?? true;
92
+
93
+ if (!quic && !tcp) {
94
+ throw new YargsError("Cannot disable both TCP and QUIC transports");
95
+ }
96
+
80
97
  // validate ip, ip6, ports
81
98
  const muArgs = {
82
99
  listenAddress: listenAddress ? `/ip4/${listenAddress}` : undefined,
83
100
  port: listenAddress ? `/tcp/${port}` : undefined,
84
101
  discoveryPort: listenAddress ? `/udp/${discoveryPort}` : undefined,
102
+ quicPort: listenAddress ? `/udp/${quicPort}/quic-v1` : undefined,
85
103
  listenAddress6: listenAddress6 ? `/ip6/${listenAddress6}` : undefined,
86
104
  port6: listenAddress6 ? `/tcp/${port6}` : undefined,
87
105
  discoveryPort6: listenAddress6 ? `/udp/${discoveryPort6}` : undefined,
106
+ quicPort6: listenAddress6 ? `/udp/${quicPort6}/quic-v1` : undefined,
88
107
  };
89
108
 
90
- for (const key of [
109
+ const keysToValidate: (keyof typeof muArgs)[] = [
91
110
  "listenAddress",
92
111
  "port",
93
112
  "discoveryPort",
94
113
  "listenAddress6",
95
114
  "port6",
96
115
  "discoveryPort6",
97
- ] as (keyof typeof muArgs)[]) {
116
+ ];
117
+
118
+ if (quic) {
119
+ keysToValidate.push("quicPort");
120
+ keysToValidate.push("quicPort6");
121
+ }
122
+
123
+ for (const key of keysToValidate) {
98
124
  validateMultiaddrArg(muArgs, key);
99
125
  }
100
126
 
127
+ if (quic) {
128
+ if (discoveryPort !== undefined && quicPort !== undefined && discoveryPort === quicPort) {
129
+ throw new YargsError(
130
+ `discoveryPort and quicPort must not collide, both are UDP. Got discoveryPort=${discoveryPort} quicPort=${quicPort}`
131
+ );
132
+ }
133
+ if (discoveryPort6 !== undefined && quicPort6 !== undefined && discoveryPort6 === quicPort6) {
134
+ throw new YargsError(
135
+ `discoveryPort6 and quicPort6 must not collide, both are UDP. Got discoveryPort6=${discoveryPort6} quicPort6=${quicPort6}`
136
+ );
137
+ }
138
+ }
139
+
101
140
  const bindMu = listenAddress ? `${muArgs.listenAddress}${muArgs.discoveryPort}` : undefined;
102
- const localMu = listenAddress ? `${muArgs.listenAddress}${muArgs.port}` : undefined;
141
+ const localMu = listenAddress && tcp ? `${muArgs.listenAddress}${muArgs.port}` : undefined;
142
+ const quicMu = listenAddress && quic ? `${muArgs.listenAddress}${muArgs.quicPort}` : undefined;
103
143
  const bindMu6 = listenAddress6 ? `${muArgs.listenAddress6}${muArgs.discoveryPort6}` : undefined;
104
- const localMu6 = listenAddress6 ? `${muArgs.listenAddress6}${muArgs.port6}` : undefined;
144
+ const localMu6 = listenAddress6 && tcp ? `${muArgs.listenAddress6}${muArgs.port6}` : undefined;
145
+ const quicMu6 = listenAddress6 && quic ? `${muArgs.listenAddress6}${muArgs.quicPort6}` : undefined;
105
146
 
106
147
  const targetPeers = args.targetPeers;
107
148
  const maxPeers = args["network.maxPeers"] ?? (targetPeers !== undefined ? Math.floor(targetPeers * 1.1) : undefined);
@@ -137,11 +178,13 @@ export function parseArgs(args: NetworkArgs): IBeaconNodeOptions["network"] {
137
178
  : null,
138
179
  maxPeers: maxPeers ?? defaultOptions.network.maxPeers,
139
180
  targetPeers: targetPeers ?? defaultOptions.network.targetPeers,
140
- localMultiaddrs: [localMu, localMu6].filter(Boolean) as string[],
181
+ localMultiaddrs: [quicMu, quicMu6, localMu, localMu6].filter(Boolean) as string[],
141
182
  subscribeAllSubnets: args.subscribeAllSubnets,
142
183
  slotsToSubscribeBeforeAggregatorDuty:
143
184
  args.slotsToSubscribeBeforeAggregatorDuty ?? defaultOptions.network.slotsToSubscribeBeforeAggregatorDuty,
144
185
  disablePeerScoring: args.disablePeerScoring,
186
+ quic,
187
+ tcp,
145
188
  connectToDiscv5Bootnodes: args["network.connectToDiscv5Bootnodes"],
146
189
  discv5FirstQueryDelayMs: args["network.discv5FirstQueryDelayMs"],
147
190
  dontSendGossipAttestationsToForkchoice: args["network.dontSendGossipAttestationsToForkchoice"],
@@ -192,6 +235,13 @@ export const options: CliCommandOptions<NetworkArgs> = {
192
235
  group: "network",
193
236
  },
194
237
 
238
+ quicPort: {
239
+ description: "The UDP port that QUIC will listen on. Defaults to `port` + 1",
240
+ type: "number",
241
+ defaultDescription: "`port` + 1",
242
+ group: "network",
243
+ },
244
+
195
245
  listenAddress6: {
196
246
  type: "string",
197
247
  description: "The IPv6 address to listen for p2p UDP and TCP connections",
@@ -214,6 +264,13 @@ export const options: CliCommandOptions<NetworkArgs> = {
214
264
  group: "network",
215
265
  },
216
266
 
267
+ quicPort6: {
268
+ description: "The UDP port that QUIC will listen on. Defaults to `port6` + 1",
269
+ type: "number",
270
+ defaultDescription: "`port6` + 1",
271
+ group: "network",
272
+ },
273
+
217
274
  bootnodes: {
218
275
  type: "array",
219
276
  description: "Bootnodes for discv5 discovery",
@@ -254,6 +311,21 @@ export const options: CliCommandOptions<NetworkArgs> = {
254
311
  group: "network",
255
312
  },
256
313
 
314
+ quic: {
315
+ type: "boolean",
316
+ description: "Enable QUIC transport",
317
+ default: false,
318
+ group: "network",
319
+ },
320
+
321
+ tcp: {
322
+ hidden: true,
323
+ type: "boolean",
324
+ description: "Enable TCP transport",
325
+ default: true,
326
+ group: "network",
327
+ },
328
+
257
329
  mdns: {
258
330
  type: "boolean",
259
331
  description: "Enable mdns local peer discovery",