@leofcoin/chain 1.7.76 → 1.7.78

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.
@@ -0,0 +1,38 @@
1
+ import { g as getDefaultExportFromCjs } from './identity-Cn0iQbY3-CeW0giQS.js';
2
+
3
+ var browser$2 = {};
4
+
5
+ var hasRequiredBrowser;
6
+
7
+ function requireBrowser () {
8
+ if (hasRequiredBrowser) return browser$2;
9
+ hasRequiredBrowser = 1;
10
+
11
+ browser$2.MediaStream = window.MediaStream;
12
+ browser$2.MediaStreamTrack = window.MediaStreamTrack;
13
+ browser$2.RTCDataChannel = window.RTCDataChannel;
14
+ browser$2.RTCDataChannelEvent = window.RTCDataChannelEvent;
15
+ browser$2.RTCDtlsTransport = window.RTCDtlsTransport;
16
+ browser$2.RTCIceCandidate = window.RTCIceCandidate;
17
+ browser$2.RTCIceTransport = window.RTCIceTransport;
18
+ browser$2.RTCPeerConnection = window.RTCPeerConnection;
19
+ browser$2.RTCPeerConnectionIceEvent = window.RTCPeerConnectionIceEvent;
20
+ browser$2.RTCRtpReceiver = window.RTCRtpReceiver;
21
+ browser$2.RTCRtpSender = window.RTCRtpSender;
22
+ browser$2.RTCRtpTransceiver = window.RTCRtpTransceiver;
23
+ browser$2.RTCSctpTransport = window.RTCSctpTransport;
24
+ browser$2.RTCSessionDescription = window.RTCSessionDescription;
25
+ browser$2.getUserMedia = window.getUserMedia;
26
+ browser$2.mediaDevices = navigator.mediaDevices;
27
+ return browser$2;
28
+ }
29
+
30
+ var browserExports = requireBrowser();
31
+ var browser = /*@__PURE__*/getDefaultExportFromCjs(browserExports);
32
+
33
+ var browser$1 = /*#__PURE__*/Object.freeze({
34
+ __proto__: null,
35
+ default: browser
36
+ });
37
+
38
+ export { browser$1 as b };
@@ -0,0 +1,132 @@
1
+ import { g as getDefaultExportFromCjs } from './identity-Cn0iQbY3-CeW0giQS.js';
2
+
3
+ var global;
4
+ var hasRequiredGlobal;
5
+
6
+ function requireGlobal () {
7
+ if (hasRequiredGlobal) return global;
8
+ hasRequiredGlobal = 1;
9
+ var naiveFallback = function () {
10
+ if (typeof self === "object" && self) return self;
11
+ if (typeof window === "object" && window) return window;
12
+ throw new Error("Unable to resolve global `this`");
13
+ };
14
+
15
+ global = (function () {
16
+ if (this) return this;
17
+
18
+ // Unexpected strict mode (may happen if e.g. bundled into ESM module)
19
+
20
+ // Fallback to standard globalThis if available
21
+ if (typeof globalThis === "object" && globalThis) return globalThis;
22
+
23
+ // Thanks @mathiasbynens -> https://mathiasbynens.be/notes/globalthis
24
+ // In all ES5+ engines global object inherits from Object.prototype
25
+ // (if you approached one that doesn't please report)
26
+ try {
27
+ Object.defineProperty(Object.prototype, "__global__", {
28
+ get: function () { return this; },
29
+ configurable: true
30
+ });
31
+ } catch (error) {
32
+ // Unfortunate case of updates to Object.prototype being restricted
33
+ // via preventExtensions, seal or freeze
34
+ return naiveFallback();
35
+ }
36
+ try {
37
+ // Safari case (window.__global__ works, but __global__ does not)
38
+ if (!__global__) return naiveFallback();
39
+ return __global__;
40
+ } finally {
41
+ delete Object.prototype.__global__;
42
+ }
43
+ })();
44
+ return global;
45
+ }
46
+
47
+ var version$1 = "1.0.35";
48
+ var require$$0 = {
49
+ version: version$1};
50
+
51
+ var version;
52
+ var hasRequiredVersion;
53
+
54
+ function requireVersion () {
55
+ if (hasRequiredVersion) return version;
56
+ hasRequiredVersion = 1;
57
+ version = require$$0.version;
58
+ return version;
59
+ }
60
+
61
+ var browser$2;
62
+ var hasRequiredBrowser;
63
+
64
+ function requireBrowser () {
65
+ if (hasRequiredBrowser) return browser$2;
66
+ hasRequiredBrowser = 1;
67
+ var _globalThis;
68
+ if (typeof globalThis === 'object') {
69
+ _globalThis = globalThis;
70
+ } else {
71
+ try {
72
+ _globalThis = requireGlobal();
73
+ } catch (error) {
74
+ } finally {
75
+ if (!_globalThis && typeof window !== 'undefined') { _globalThis = window; }
76
+ if (!_globalThis) { throw new Error('Could not determine global this'); }
77
+ }
78
+ }
79
+
80
+ var NativeWebSocket = _globalThis.WebSocket || _globalThis.MozWebSocket;
81
+ var websocket_version = requireVersion();
82
+
83
+
84
+ /**
85
+ * Expose a W3C WebSocket class with just one or two arguments.
86
+ */
87
+ function W3CWebSocket(uri, protocols) {
88
+ var native_instance;
89
+
90
+ if (protocols) {
91
+ native_instance = new NativeWebSocket(uri, protocols);
92
+ }
93
+ else {
94
+ native_instance = new NativeWebSocket(uri);
95
+ }
96
+
97
+ /**
98
+ * 'native_instance' is an instance of nativeWebSocket (the browser's WebSocket
99
+ * class). Since it is an Object it will be returned as it is when creating an
100
+ * instance of W3CWebSocket via 'new W3CWebSocket()'.
101
+ *
102
+ * ECMAScript 5: http://bclary.com/2004/11/07/#a-13.2.2
103
+ */
104
+ return native_instance;
105
+ }
106
+ if (NativeWebSocket) {
107
+ ['CONNECTING', 'OPEN', 'CLOSING', 'CLOSED'].forEach(function(prop) {
108
+ Object.defineProperty(W3CWebSocket, prop, {
109
+ get: function() { return NativeWebSocket[prop]; }
110
+ });
111
+ });
112
+ }
113
+
114
+ /**
115
+ * Module exports.
116
+ */
117
+ browser$2 = {
118
+ 'w3cwebsocket' : NativeWebSocket ? W3CWebSocket : null,
119
+ 'version' : websocket_version
120
+ };
121
+ return browser$2;
122
+ }
123
+
124
+ var browserExports = requireBrowser();
125
+ var browser = /*@__PURE__*/getDefaultExportFromCjs(browserExports);
126
+
127
+ var browser$1 = /*#__PURE__*/Object.freeze({
128
+ __proto__: null,
129
+ default: browser
130
+ });
131
+
132
+ export { browser$1 as b };
@@ -5019,7 +5019,7 @@ class State extends Contract {
5019
5019
  const localBlock = await this.lastBlock;
5020
5020
  if (!localBlock || Number(localBlock.index) < Number(lastBlock.index)) {
5021
5021
  // TODO: check if valid
5022
- const localIndex = localBlock ? localBlock.index : 0;
5022
+ const localIndex = localBlock ? Number(localBlock.index) : 0;
5023
5023
  const index = lastBlock.index;
5024
5024
  await this.resolveBlock(lastBlock.hash);
5025
5025
  console.log('ok');
@@ -5300,6 +5300,7 @@ class ConnectionMonitor {
5300
5300
  #isMonitoring = false;
5301
5301
  #checkInterval = null;
5302
5302
  #reconnectAttempts = 0;
5303
+ #peerReconnectAttempts = {};
5303
5304
  #maxReconnectAttempts = 10;
5304
5305
  #reconnectDelay = 5000;
5305
5306
  #healthCheckInterval = 10000;
@@ -5313,11 +5314,12 @@ class ConnectionMonitor {
5313
5314
  get compatiblePeers() {
5314
5315
  return this.connectedPeers.filter((peer) => peer.version === this.#version);
5315
5316
  }
5316
- constructor(version) {
5317
- console.log(`🔗 Connection Monitor initialized for version: ${this.#version}`);
5317
+ get disconnectedPeers() {
5318
+ return Object.values(globalThis.peernet?.connections || {}).filter((peer) => !peer.connected);
5318
5319
  }
5319
5320
  start(version) {
5320
5321
  this.#version = version;
5322
+ console.log(`🔗 Connection Monitor initialized for version: ${this.#version}`);
5321
5323
  if (this.#isMonitoring)
5322
5324
  return;
5323
5325
  this.#isMonitoring = true;
@@ -5348,12 +5350,24 @@ class ConnectionMonitor {
5348
5350
  }
5349
5351
  else if (compatiblePeers.length === 0) {
5350
5352
  console.warn('⚠️ No compatible peers found');
5353
+ await this.#attemptReconnection();
5351
5354
  // Could attempt to find compatible peers or trigger version negotiation
5352
5355
  }
5353
5356
  else {
5354
5357
  // Reset reconnect attempts on successful connection
5355
5358
  this.#reconnectAttempts = 0;
5356
5359
  }
5360
+ // Log disconnected peers
5361
+ const disconnectedPeers = this.disconnectedPeers;
5362
+ if (disconnectedPeers.length > 0) {
5363
+ console.warn(`⚠️ Disconnected peers: ${disconnectedPeers.map((peer) => peer.peerId).join(', ')}`);
5364
+ // Attempt to reconnect each disconnected peer
5365
+ const promises = [];
5366
+ for (const peer of disconnectedPeers) {
5367
+ promises.push(this.#attemptPeerReconnection(peer));
5368
+ }
5369
+ await Promise.all(promises);
5370
+ }
5357
5371
  // Publish connection status
5358
5372
  globalThis.pubsub?.publish('connection-status', {
5359
5373
  connected: connectedPeers.length,
@@ -5361,6 +5375,35 @@ class ConnectionMonitor {
5361
5375
  healthy: compatiblePeers.length > 0
5362
5376
  });
5363
5377
  }
5378
+ async #attemptPeerReconnection(peer) {
5379
+ if (this.#peerReconnectAttempts[peer.peerId] >= this.#maxReconnectAttempts) {
5380
+ console.error('❌ Max reconnection attempts reached');
5381
+ this.#peerReconnectAttempts[peer.peerId] = 0;
5382
+ return;
5383
+ }
5384
+ if (!this.#peerReconnectAttempts[peer.peerId]) {
5385
+ this.#peerReconnectAttempts[peer.peerId] = 0;
5386
+ }
5387
+ this.#peerReconnectAttempts[peer.peerId]++;
5388
+ console.log(`🔄 Attempting reconnection ${this.#peerReconnectAttempts[peer.peerId]}/${this.#maxReconnectAttempts}`);
5389
+ try {
5390
+ const peerId = peer.peerId || peer.id;
5391
+ // Attempt to reconnect the specific peer
5392
+ await peernet.client.reconnect(peerId, globalThis.peernet?.stars[0]);
5393
+ }
5394
+ catch (error) {
5395
+ console.error('❌ Reconnection failed:', error.message);
5396
+ }
5397
+ // // Try to restart the network
5398
+ // if (globalThis.peernet?.start) {
5399
+ // await globalThis.peernet.start()
5400
+ // } else {
5401
+ // console.warn('⚠️ Peernet start method not available, skipping reconnection')
5402
+ // }
5403
+ // } catch (error) {
5404
+ // console.error('❌ Reconnection failed:', error.message)
5405
+ // }
5406
+ }
5364
5407
  async #attemptReconnection() {
5365
5408
  if (this.#reconnectAttempts >= this.#maxReconnectAttempts) {
5366
5409
  console.error('❌ Max reconnection attempts reached');
@@ -1,5 +1,5 @@
1
- import { L as LittlePubSub } from './node-browser-DMmrhyQS.js';
2
- import './identity--VAIVSMm-DTWL357I.js';
1
+ import { L as LittlePubSub } from './node-browser-Ctauqi8V.js';
2
+ import './identity-Cn0iQbY3-CeW0giQS.js';
3
3
  import './index-DUfUgiQY.js';
4
4
 
5
5
  class Api {
@@ -210,7 +210,7 @@ class SocketRequestClient {
210
210
  const init = async () => {
211
211
  // @ts-ignore
212
212
  if (!globalThis.WebSocket && !this.#experimentalWebsocket)
213
- globalThis.WebSocket = (await import('./browser-BogfGRzB-D3fc2MzB.js').then(function (n) { return n.b; })).default.w3cwebsocket;
213
+ globalThis.WebSocket = (await import('./browser-nu3nKt2I-DENgb7BU.js').then(function (n) { return n.b; })).default.w3cwebsocket;
214
214
  const client = new WebSocket(this.#url, this.#protocol);
215
215
  if (this.#experimentalWebsocket) {
216
216
  client.addEventListener('error', this.onerror);
@@ -314,7 +314,7 @@ const iceServers = [
314
314
  credential: 'openrelayproject'
315
315
  }
316
316
  ];
317
- const SimplePeer = (await import('./index-Vgr1JQcP-DNJYAZ_u.js').then(function (n) { return n.i; })).default;
317
+ const SimplePeer = (await import('./index-CPXJrMI6-Bh4f9JBP.js').then(function (n) { return n.i; })).default;
318
318
  class Peer extends SimplePeer {
319
319
  peerId;
320
320
  channelName;
@@ -450,7 +450,7 @@ class Client {
450
450
  async _init() {
451
451
  // reconnectJob()
452
452
  if (!globalThis.RTCPeerConnection)
453
- globalThis.wrtc = (await import('./browser-pguCHlVu-pguCHlVu.js').then(function (n) { return n.b; })).default;
453
+ globalThis.wrtc = (await import('./browser-Cjcx-T47-D0KbGYCz.js').then(function (n) { return n.b; })).default;
454
454
  for (const star of this.starsConfig) {
455
455
  try {
456
456
  const client = new SocketRequestClient(star, this.networkVersion);
@@ -569,13 +569,13 @@ class Client {
569
569
  return;
570
570
  }
571
571
  if (String(peer.channelName) !== String(channelName)) {
572
- console.warn(`channelNames don't match: got ${peer.channelName}, expected: ${channelName}. Recreating connection.`);
572
+ console.warn(`channelNames don't match: got ${peer.channelName}, expected: ${channelName}.`);
573
573
  // Destroy the existing peer connection
574
- peer.destroy();
575
- delete this.#connections[from];
576
- // Create a new peer connection with the correct configuration
577
- this.#createRTCPeerConnection(from, star, version, false);
578
- peer = this.#connections[from];
574
+ // peer.destroy()
575
+ // delete this.#connections[from]
576
+ // // Create a new peer connection with the correct configuration
577
+ // this.#createRTCPeerConnection(from, star, version, false)
578
+ // peer = this.#connections[from]
579
579
  }
580
580
  peer.signal(signal);
581
581
  };