cairn-p2p 0.3.1 → 0.3.2

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/browser.cjs CHANGED
@@ -5,6 +5,9 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
5
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
6
  var __getProtoOf = Object.getPrototypeOf;
7
7
  var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __esm = (fn, res) => function __init() {
9
+ return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
10
+ };
8
11
  var __export = (target, all) => {
9
12
  for (var name in all)
10
13
  __defProp(target, name, { get: all[name], enumerable: true });
@@ -27,6 +30,102 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
27
30
  ));
28
31
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
32
 
33
+ // src/transport/libp2p-node.ts
34
+ var libp2p_node_exports = {};
35
+ __export(libp2p_node_exports, {
36
+ BROWSER_TRANSPORT_CHAIN: () => BROWSER_TRANSPORT_CHAIN,
37
+ NODEJS_TRANSPORT_CHAIN: () => NODEJS_TRANSPORT_CHAIN,
38
+ createCairnNode: () => createCairnNode,
39
+ defaultTransportConfig: () => defaultTransportConfig,
40
+ isBrowserEnvironment: () => isBrowserEnvironment,
41
+ isNodeEnvironment: () => isNodeEnvironment
42
+ });
43
+ function defaultTransportConfig() {
44
+ return {
45
+ quicEnabled: true,
46
+ tcpEnabled: true,
47
+ websocketEnabled: true,
48
+ webtransportEnabled: true,
49
+ webrtcEnabled: true,
50
+ circuitRelayEnabled: true,
51
+ perTransportTimeoutMs: 1e4,
52
+ stunServers: [
53
+ "stun:stun.l.google.com:19302",
54
+ "stun:stun1.l.google.com:19302"
55
+ ],
56
+ turnServers: []
57
+ };
58
+ }
59
+ function isNodeEnvironment() {
60
+ return typeof globalThis.process !== "undefined" && typeof globalThis.process.versions !== "undefined" && typeof globalThis.process.versions.node !== "undefined";
61
+ }
62
+ function isBrowserEnvironment() {
63
+ return typeof globalThis.window !== "undefined" && typeof globalThis.document !== "undefined";
64
+ }
65
+ async function createCairnNode(options) {
66
+ const config = { ...defaultTransportConfig(), ...options?.config };
67
+ const { createLibp2p } = await import("libp2p");
68
+ const { yamux } = await import("@libp2p/yamux");
69
+ const { noise } = await import("@chainsafe/libp2p-noise");
70
+ const transports = [];
71
+ if (isNodeEnvironment()) {
72
+ if (config.tcpEnabled) {
73
+ const { tcp } = await import("@libp2p/tcp");
74
+ transports.push(tcp());
75
+ }
76
+ if (config.websocketEnabled) {
77
+ const { webSockets } = await import("@libp2p/websockets");
78
+ transports.push(webSockets());
79
+ }
80
+ } else {
81
+ if (config.webrtcEnabled) {
82
+ const { webRTC } = await import("@libp2p/webrtc");
83
+ transports.push(webRTC());
84
+ }
85
+ if (config.websocketEnabled) {
86
+ const { webSockets } = await import("@libp2p/websockets");
87
+ transports.push(webSockets());
88
+ }
89
+ if (config.webtransportEnabled) {
90
+ const { webTransport } = await import("@libp2p/webtransport");
91
+ transports.push(webTransport());
92
+ }
93
+ }
94
+ if (config.circuitRelayEnabled) {
95
+ const { circuitRelayTransport } = await import("@libp2p/circuit-relay-v2");
96
+ transports.push(circuitRelayTransport());
97
+ }
98
+ const node = await createLibp2p({
99
+ transports,
100
+ streamMuxers: [yamux()],
101
+ connectionEncrypters: [noise()]
102
+ });
103
+ return node;
104
+ }
105
+ var BROWSER_TRANSPORT_CHAIN, NODEJS_TRANSPORT_CHAIN;
106
+ var init_libp2p_node = __esm({
107
+ "src/transport/libp2p-node.ts"() {
108
+ "use strict";
109
+ BROWSER_TRANSPORT_CHAIN = [
110
+ "quic",
111
+ // WebRTC direct maps conceptually to the "best effort direct" slot
112
+ "websocket-tls",
113
+ "webtransport"
114
+ ];
115
+ NODEJS_TRANSPORT_CHAIN = [
116
+ "quic",
117
+ "stun-udp",
118
+ "tcp",
119
+ "turn-udp",
120
+ "turn-tcp",
121
+ "websocket-tls",
122
+ "webtransport",
123
+ "circuit-relay-v2",
124
+ "https-long-polling"
125
+ ];
126
+ }
127
+ });
128
+
30
129
  // src/browser.ts
31
130
  var browser_exports = {};
32
131
  __export(browser_exports, {
@@ -1319,67 +1418,6 @@ var MessageQueue = class {
1319
1418
  }
1320
1419
  };
1321
1420
 
1322
- // src/transport/libp2p-node.ts
1323
- function defaultTransportConfig() {
1324
- return {
1325
- quicEnabled: true,
1326
- tcpEnabled: true,
1327
- websocketEnabled: true,
1328
- webtransportEnabled: true,
1329
- webrtcEnabled: true,
1330
- circuitRelayEnabled: true,
1331
- perTransportTimeoutMs: 1e4,
1332
- stunServers: [
1333
- "stun:stun.l.google.com:19302",
1334
- "stun:stun1.l.google.com:19302"
1335
- ],
1336
- turnServers: []
1337
- };
1338
- }
1339
- function isNodeEnvironment() {
1340
- return typeof globalThis.process !== "undefined" && typeof globalThis.process.versions !== "undefined" && typeof globalThis.process.versions.node !== "undefined";
1341
- }
1342
- async function createCairnNode(options) {
1343
- const config = { ...defaultTransportConfig(), ...options?.config };
1344
- const { createLibp2p } = await import("libp2p");
1345
- const { yamux } = await import("@libp2p/yamux");
1346
- const { noise } = await import("@chainsafe/libp2p-noise");
1347
- const transports = [];
1348
- if (isNodeEnvironment()) {
1349
- if (config.tcpEnabled) {
1350
- const { tcp } = await import("@libp2p/tcp");
1351
- transports.push(tcp());
1352
- }
1353
- if (config.websocketEnabled) {
1354
- const { webSockets } = await import("@libp2p/websockets");
1355
- transports.push(webSockets());
1356
- }
1357
- } else {
1358
- if (config.webrtcEnabled) {
1359
- const { webRTC } = await import("@libp2p/webrtc");
1360
- transports.push(webRTC());
1361
- }
1362
- if (config.websocketEnabled) {
1363
- const { webSockets } = await import("@libp2p/websockets");
1364
- transports.push(webSockets());
1365
- }
1366
- if (config.webtransportEnabled) {
1367
- const { webTransport } = await import("@libp2p/webtransport");
1368
- transports.push(webTransport());
1369
- }
1370
- }
1371
- if (config.circuitRelayEnabled) {
1372
- const { circuitRelayTransport } = await import("@libp2p/circuit-relay-v2");
1373
- transports.push(circuitRelayTransport());
1374
- }
1375
- const node = await createLibp2p({
1376
- transports,
1377
- streamMuxers: [yamux()],
1378
- connectionEncrypters: [noise()]
1379
- });
1380
- return node;
1381
- }
1382
-
1383
1421
  // src/node.ts
1384
1422
  var APP_MSG_TYPE_MIN = 61440;
1385
1423
  var APP_MSG_TYPE_MAX = 65535;
@@ -1650,7 +1688,8 @@ var Node = class _Node {
1650
1688
  * Safe to skip in unit tests — the node works without transport.
1651
1689
  */
1652
1690
  async startTransport() {
1653
- const libp2pNode = await createCairnNode();
1691
+ const { createCairnNode: createCairnNode2 } = await Promise.resolve().then(() => (init_libp2p_node(), libp2p_node_exports));
1692
+ const libp2pNode = await createCairnNode2();
1654
1693
  await libp2pNode.start();
1655
1694
  this._libp2pNode = libp2pNode;
1656
1695
  const addrs = libp2pNode.getMultiaddrs();
@@ -1,5 +1,3 @@
1
- import { Libp2p } from 'libp2p';
2
-
3
1
  /**
4
2
  * Storage adapter interface for persisting identity, per-peer state, and
5
3
  * per-session state. All values are opaque Uint8Array blobs.
@@ -493,7 +491,7 @@ declare class Node {
493
491
  */
494
492
  startTransport(): Promise<void>;
495
493
  /** Get the libp2p node (null if transport not started). */
496
- get libp2pNode(): Libp2p | null;
494
+ get libp2pNode(): unknown;
497
495
  /** Get the node's listen addresses (available after startTransport). */
498
496
  get listenAddresses(): string[];
499
497
  /** Get the node configuration. */
package/dist/browser.d.ts CHANGED
@@ -1,5 +1,3 @@
1
- import { Libp2p } from 'libp2p';
2
-
3
1
  /**
4
2
  * Storage adapter interface for persisting identity, per-peer state, and
5
3
  * per-session state. All values are opaque Uint8Array blobs.
@@ -493,7 +491,7 @@ declare class Node {
493
491
  */
494
492
  startTransport(): Promise<void>;
495
493
  /** Get the libp2p node (null if transport not started). */
496
- get libp2pNode(): Libp2p | null;
494
+ get libp2pNode(): unknown;
497
495
  /** Get the node's listen addresses (available after startTransport). */
498
496
  get listenAddresses(): string[];
499
497
  /** Get the node configuration. */