@highway1/cli 0.1.32 → 0.1.34

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/dist/index.js CHANGED
@@ -116169,10 +116169,11 @@ async function createNode(config2) {
116169
116169
  bootstrapPeers = [],
116170
116170
  enableDHT = true,
116171
116171
  enableRelay = false,
116172
+ reserveRelaySlot = false,
116172
116173
  enableMDNS = false,
116173
116174
  privateKey
116174
116175
  } = config2;
116175
- const relayListenAddrs = [];
116176
+ const relayListenAddrs = reserveRelaySlot ? bootstrapPeers.map((peer) => `${peer}/p2p-circuit`) : [];
116176
116177
  const libp2pConfig = {
116177
116178
  addresses: {
116178
116179
  listen: [...listenAddresses, ...relayListenAddrs]
@@ -116222,7 +116223,10 @@ async function createNode(config2) {
116222
116223
  }
116223
116224
  if (peerDiscovery.length > 0) libp2pConfig.peerDiscovery = peerDiscovery;
116224
116225
  const libp2p = await createLibp2p(libp2pConfig);
116225
- logger2.info("Libp2p node created");
116226
+ logger2.info("Libp2p node created", {
116227
+ listenAddresses: libp2pConfig.addresses.listen,
116228
+ reserveRelaySlot
116229
+ });
116226
116230
  return {
116227
116231
  libp2p,
116228
116232
  start: async () => {
@@ -116230,7 +116234,8 @@ async function createNode(config2) {
116230
116234
  logger2.info("Node started", {
116231
116235
  peerId: libp2p.peerId.toString(),
116232
116236
  addresses: libp2p.getMultiaddrs().map((ma) => ma.toString()),
116233
- relay: enableRelay
116237
+ relay: enableRelay,
116238
+ reserveRelaySlot
116234
116239
  });
116235
116240
  },
116236
116241
  stop: async () => {
@@ -118287,18 +118292,30 @@ function registerJoinCommand(program2) {
118287
118292
  info("Waiting for relay reservation...");
118288
118293
  await new Promise((resolve) => {
118289
118294
  const timeout = setTimeout(() => {
118290
- info(`Relay reservation timeout after 5s. Multiaddrs: ${node.getMultiaddrs().join(", ")}`);
118295
+ info(`Relay reservation timeout after 10s. Multiaddrs: ${node.getMultiaddrs().join(", ")}`);
118291
118296
  resolve();
118292
- }, 5e3);
118293
- const check = () => {
118297
+ }, 1e4);
118298
+ const onReservation = () => {
118299
+ info(`Relay reservation successful!`);
118300
+ clearTimeout(timeout);
118301
+ setTimeout(() => {
118302
+ info(`Relay addresses: ${node.getMultiaddrs().filter((a2) => a2.includes("/p2p-circuit")).join(", ")}`);
118303
+ resolve();
118304
+ }, 500);
118305
+ };
118306
+ const onPeerUpdate = () => {
118294
118307
  if (hasRelayAddr()) {
118295
- info(`Relay address acquired: ${node.getMultiaddrs().filter((a2) => a2.includes("/p2p-circuit")).join(", ")}`);
118308
+ info(`Relay address acquired via peer update`);
118296
118309
  clearTimeout(timeout);
118297
118310
  resolve();
118298
118311
  }
118299
118312
  };
118300
- node.libp2p.addEventListener("self:peer:update", check);
118301
- setTimeout(() => node.libp2p.removeEventListener("self:peer:update", check), 5e3);
118313
+ node.libp2p.addEventListener("relay:reservation", onReservation, { once: true });
118314
+ node.libp2p.addEventListener("self:peer:update", onPeerUpdate);
118315
+ setTimeout(() => {
118316
+ node.libp2p.removeEventListener("relay:reservation", onReservation);
118317
+ node.libp2p.removeEventListener("self:peer:update", onPeerUpdate);
118318
+ }, 1e4);
118302
118319
  });
118303
118320
  } else {
118304
118321
  info(`Relay address already present: ${node.getMultiaddrs().filter((a2) => a2.includes("/p2p-circuit")).join(", ")}`);