@leofcoin/chain 1.9.14 → 1.9.15
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/exports/browser/{browser-DTwbEd2v-BvEtTVTB.js → browser-8BFql6K9-BMRX6B2u.js} +3 -1
- package/exports/browser/{browser-AkMNdace-11JEjCcV.js → browser-FVp_QbaL-zB8FF4EN.js} +3 -1
- package/exports/browser/chain.js +46 -3
- package/exports/browser/client-lPe0SUWx-DR-mCTBz.js +2164 -0
- package/exports/browser/{index-C8MlQb3B-Cb0OaBTu.js → index-D6qd-AUn-CCzkkXys.js} +3 -1
- package/exports/browser/{messages-skO3uGkB-D-Ej3W9s.js → messages-BfDvXW-x-C-CI69S2.js} +2 -2
- package/exports/browser/{node-browser-Oq89xLSU.js → node-browser-y2adT6_R.js} +8370 -26
- package/exports/browser/node-browser.js +2 -2
- package/exports/chain.js +46 -3
- package/package.json +4 -4
- package/exports/browser/client-B5W9RVIn-DHAPaCMU.js +0 -1047
- package/exports/browser/identity-B8_RBemH-Dq17MYzU.js +0 -17530
- package/exports/browser/index-avzvc6cK-CDbEoIOc.js +0 -7595
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { N as default } from './node-browser-
|
|
2
|
-
import '
|
|
1
|
+
export { N as default } from './node-browser-y2adT6_R.js';
|
|
2
|
+
import 'crypto';
|
|
3
3
|
import './constants-V2VjIc2r.js';
|
package/exports/chain.js
CHANGED
|
@@ -2525,6 +2525,36 @@ class Chain extends VersionControl {
|
|
|
2525
2525
|
console.log("init");
|
|
2526
2526
|
await super.init();
|
|
2527
2527
|
console.log("super init done");
|
|
2528
|
+
const peernetAny = globalThis.peernet;
|
|
2529
|
+
if (typeof peernetAny.removePeer === "function" && !peernetAny.__chainRemovePeerGuardInstalled) {
|
|
2530
|
+
const originalRemovePeer = peernetAny.removePeer.bind(peernetAny);
|
|
2531
|
+
peernetAny.removePeer = async (peer) => {
|
|
2532
|
+
if (!peer || typeof peer !== "object") {
|
|
2533
|
+
debug("removePeer called with invalid peer (ignored)");
|
|
2534
|
+
return;
|
|
2535
|
+
}
|
|
2536
|
+
const peerId = peer?.id || peer?.peerId;
|
|
2537
|
+
if (!peerId || typeof peerId !== "string") {
|
|
2538
|
+
debug("removePeer called with peer missing id (ignored)");
|
|
2539
|
+
return;
|
|
2540
|
+
}
|
|
2541
|
+
const trackedPeers = Object.values(peernetAny.connections || {});
|
|
2542
|
+
const isStillTracked = trackedPeers.some((trackedPeer) => {
|
|
2543
|
+
const trackedId = trackedPeer?.id || trackedPeer?.peerId;
|
|
2544
|
+
return trackedPeer === peer || trackedId === peerId;
|
|
2545
|
+
});
|
|
2546
|
+
if (!isStillTracked) {
|
|
2547
|
+
debug(`removePeer called for unknown peer ${peerId} (ignored)`);
|
|
2548
|
+
return;
|
|
2549
|
+
}
|
|
2550
|
+
try {
|
|
2551
|
+
return await originalRemovePeer(peer);
|
|
2552
|
+
} catch (error) {
|
|
2553
|
+
debug("removePeer failed (ignored):", error?.message ?? error);
|
|
2554
|
+
}
|
|
2555
|
+
};
|
|
2556
|
+
peernetAny.__chainRemovePeerGuardInstalled = true;
|
|
2557
|
+
}
|
|
2528
2558
|
this.#connectionMonitor.start(this.version);
|
|
2529
2559
|
await globalThis.peernet.addRequestHandler("bw-request-message", () => {
|
|
2530
2560
|
const bw = globalThis.peernet.client?.bw || { up: 0, down: 0 };
|
|
@@ -2532,9 +2562,11 @@ class Chain extends VersionControl {
|
|
|
2532
2562
|
});
|
|
2533
2563
|
await globalThis.peernet.addRequestHandler("transactionPool", this.#transactionPoolHandler.bind(this));
|
|
2534
2564
|
await globalThis.peernet.addRequestHandler("version", this.#versionHandler.bind(this));
|
|
2535
|
-
await globalThis.peernet.addRequestHandler("stateInfo", () => {
|
|
2565
|
+
await globalThis.peernet.addRequestHandler("stateInfo", async () => {
|
|
2566
|
+
const lastblock = await this.lastBlock || { index: 0, hash: "0x0", previousHash: "0x0" };
|
|
2567
|
+
const values = this.machine?.states?.info || {};
|
|
2536
2568
|
return new globalThis.peernet.protos["peernet-response"]({
|
|
2537
|
-
response: new StateMessage(
|
|
2569
|
+
response: new StateMessage({ lastblock, values }).encoded
|
|
2538
2570
|
});
|
|
2539
2571
|
});
|
|
2540
2572
|
globalThis.peernet.subscribe("add-block", this.#addBlock.bind(this));
|
|
@@ -2674,6 +2706,16 @@ class Chain extends VersionControl {
|
|
|
2674
2706
|
debug(`peer not found: ${peerId}`);
|
|
2675
2707
|
return;
|
|
2676
2708
|
}
|
|
2709
|
+
const peerAny = peer;
|
|
2710
|
+
if (typeof peerAny.on === "function" && !peerAny.__chainErrorListenerInstalled) {
|
|
2711
|
+
peerAny.on("error", async (error) => {
|
|
2712
|
+
const reason = error?.message ?? String(error);
|
|
2713
|
+
const peerName = peerAny?.peerId || peerAny?.id || peerAny?.address || peerId || "unknown";
|
|
2714
|
+
debug(`peer error: ${peerName}:`, reason);
|
|
2715
|
+
await this.#recordPeerFailure(peerId, `peer error: ${reason}`);
|
|
2716
|
+
});
|
|
2717
|
+
peerAny.__chainErrorListenerInstalled = true;
|
|
2718
|
+
}
|
|
2677
2719
|
if (!peer.version) {
|
|
2678
2720
|
try {
|
|
2679
2721
|
let versionResponse = await this.#makeRequest(peer, "version");
|
|
@@ -2776,7 +2818,8 @@ class Chain extends VersionControl {
|
|
|
2776
2818
|
try {
|
|
2777
2819
|
let stateInfo = await this.#makeRequest(peer, "stateInfo");
|
|
2778
2820
|
if (stateInfo instanceof Uint8Array) {
|
|
2779
|
-
|
|
2821
|
+
const decodedStateInfo = new StateMessage(stateInfo).decoded;
|
|
2822
|
+
stateInfo = decodedStateInfo?.values ?? decodedStateInfo;
|
|
2780
2823
|
}
|
|
2781
2824
|
debug(
|
|
2782
2825
|
`sync start with peer ${peerId}: local=${localBlock?.index ?? -1} remote=${lastBlock?.index ?? -1} hash=${lastBlock?.hash}`
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@leofcoin/chain",
|
|
3
|
-
"version": "1.9.
|
|
3
|
+
"version": "1.9.15",
|
|
4
4
|
"description": "Official javascript implementation",
|
|
5
5
|
"private": false,
|
|
6
6
|
"exports": {
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
"author": "",
|
|
50
50
|
"license": "MIT",
|
|
51
51
|
"devDependencies": {
|
|
52
|
-
"@rollup/plugin-commonjs": "^29.0.
|
|
52
|
+
"@rollup/plugin-commonjs": "^29.0.3",
|
|
53
53
|
"@rollup/plugin-json": "^6.1.0",
|
|
54
54
|
"@rollup/plugin-node-resolve": "^16.0.3",
|
|
55
55
|
"@rollup/plugin-typescript": "^12.3.0",
|
|
@@ -69,9 +69,9 @@
|
|
|
69
69
|
"@leofcoin/errors": "^1.0.28",
|
|
70
70
|
"@leofcoin/lib": "^1.2.77",
|
|
71
71
|
"@leofcoin/messages": "^1.5.2",
|
|
72
|
-
"@leofcoin/multi-wallet": "^3.1.
|
|
72
|
+
"@leofcoin/multi-wallet": "^3.1.9",
|
|
73
73
|
"@leofcoin/networks": "^1.1.28",
|
|
74
|
-
"@leofcoin/peernet": "^1.2.
|
|
74
|
+
"@leofcoin/peernet": "^1.2.21",
|
|
75
75
|
"@leofcoin/storage": "^3.5.38",
|
|
76
76
|
"@leofcoin/utils": "^1.1.42",
|
|
77
77
|
"@leofcoin/workers": "^1.5.30",
|