@leofcoin/chain 1.8.7 → 1.8.8
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/chain.js +26 -13
- package/exports/browser/{client-CWkdUcxK-Cki9t2ip.js → client-CWkdUcxK-BEmg-tGc.js} +3 -3
- package/exports/browser/{index-DUfUgiQY.js → flags-wmeqg14g.js} +3 -1
- package/exports/browser/{messages-C507MMRx-DCBd2pRi.js → messages-C507MMRx-ypXoH7gN.js} +3 -3
- package/exports/browser/{networks-BdMfU1ag.js → networks-F1y7bMrB.js} +2 -2
- package/exports/browser/{node-browser-CRH9Pg7V.js → node-browser-A1KVCavN.js} +5 -5
- package/exports/browser/node-browser.js +3 -3
- package/exports/chain.js +25 -11
- package/exports/flags-DKVwPDLE.js +3 -0
- package/exports/node.js +2 -1
- package/package.json +1 -1
package/exports/browser/chain.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as toBase58, T as TransactionMessage, C as ContractMessage, R as RawTransactionMessage, B as BlockMessage, a as BWMessage, b as BWRequestMessage } from './
|
|
1
|
+
import { t as toBase58, T as TransactionMessage, C as ContractMessage, R as RawTransactionMessage, B as BlockMessage, c as currentVersion, a as BWMessage, b as BWRequestMessage } from './flags-wmeqg14g.js';
|
|
2
2
|
import { log } from 'console';
|
|
3
3
|
import { log as log$1 } from 'node:console';
|
|
4
4
|
|
|
@@ -5693,8 +5693,6 @@ class State extends Contract {
|
|
|
5693
5693
|
}
|
|
5694
5694
|
}
|
|
5695
5695
|
|
|
5696
|
-
const currentVersion = '0.1.1';
|
|
5697
|
-
|
|
5698
5696
|
class VersionControl extends State {
|
|
5699
5697
|
constructor(config) {
|
|
5700
5698
|
super(config);
|
|
@@ -5709,8 +5707,10 @@ class VersionControl extends State {
|
|
|
5709
5707
|
super.init && (await super.init());
|
|
5710
5708
|
try {
|
|
5711
5709
|
const version = await globalThis.chainStore.get('version');
|
|
5712
|
-
|
|
5713
|
-
console.log(
|
|
5710
|
+
const storedVersion = new TextDecoder().decode(version);
|
|
5711
|
+
console.log(storedVersion, this.#currentVersion);
|
|
5712
|
+
// Always use current version, update store if different
|
|
5713
|
+
this.version = this.#currentVersion;
|
|
5714
5714
|
/**
|
|
5715
5715
|
* protocol version control!
|
|
5716
5716
|
* Note that before v1.2.2 everything gets deleted because of big changes,
|
|
@@ -5726,12 +5726,13 @@ class VersionControl extends State {
|
|
|
5726
5726
|
// if so, clear all data
|
|
5727
5727
|
// once v1.0.0 is reached this will not run and we can remove this check once every node is above v1.0.0
|
|
5728
5728
|
console.warn('the reachedZeroZero flag is set to false, this will clear all data on every start if above v1.0.0');
|
|
5729
|
-
if (semver.compare(
|
|
5729
|
+
if (semver.compare(storedVersion, '1.0.0') === 1 && !this.#reachedOneZeroZero) {
|
|
5730
5730
|
console.warn('clearing all data because we are below v1.0.0');
|
|
5731
5731
|
await this.clearAll();
|
|
5732
5732
|
}
|
|
5733
|
-
if (
|
|
5734
|
-
|
|
5733
|
+
if (storedVersion !== this.#currentVersion) {
|
|
5734
|
+
console.log(`Version mismatch: stored=${storedVersion}, current=${this.#currentVersion}. Updating...`);
|
|
5735
|
+
await globalThis.chainStore.put('version', this.version);
|
|
5735
5736
|
}
|
|
5736
5737
|
// if (version)
|
|
5737
5738
|
}
|
|
@@ -5765,7 +5766,13 @@ class ConnectionMonitor {
|
|
|
5765
5766
|
return Object.values(globalThis.peernet?.connections || {}).filter((peer) => peer.connected);
|
|
5766
5767
|
}
|
|
5767
5768
|
get compatiblePeers() {
|
|
5768
|
-
return this.connectedPeers.filter((peer) =>
|
|
5769
|
+
return this.connectedPeers.filter((peer) => {
|
|
5770
|
+
if (!peer.version || !this.#version)
|
|
5771
|
+
return false;
|
|
5772
|
+
const [peerMajor, peerMinor] = peer.version.split('.');
|
|
5773
|
+
const [localMajor, localMinor] = this.#version.split('.');
|
|
5774
|
+
return peerMajor === localMajor && peerMinor === localMinor;
|
|
5775
|
+
});
|
|
5769
5776
|
}
|
|
5770
5777
|
get disconnectedPeers() {
|
|
5771
5778
|
return Object.values(globalThis.peernet?.connections || {}).filter((peer) => !peer.connected);
|
|
@@ -5983,7 +5990,7 @@ class ConnectionMonitor {
|
|
|
5983
5990
|
const networkName = globalThis.peernet?.network;
|
|
5984
5991
|
if (networkName && typeof networkName === 'string') {
|
|
5985
5992
|
// Try to import network config
|
|
5986
|
-
const { default: networks } = await import('./networks-
|
|
5993
|
+
const { default: networks } = await import('./networks-F1y7bMrB.js');
|
|
5987
5994
|
const [mainKey, subKey] = networkName.split(':');
|
|
5988
5995
|
const networkConfig = networks?.[mainKey]?.[subKey];
|
|
5989
5996
|
if (networkConfig?.stars && Array.isArray(networkConfig.stars)) {
|
|
@@ -6291,11 +6298,17 @@ class Chain extends VersionControl {
|
|
|
6291
6298
|
// todo handle version changes
|
|
6292
6299
|
// for now just do nothing if version doesn't match
|
|
6293
6300
|
debug(`peer connected with version ${peer.version}`);
|
|
6294
|
-
|
|
6301
|
+
const compatibleVersion = () => {
|
|
6302
|
+
if (!peer.version || !this.version)
|
|
6303
|
+
return false;
|
|
6304
|
+
const [peerMajor, peerMinor] = peer.version.split('.');
|
|
6305
|
+
const [localMajor, localMinor] = this.version.split('.');
|
|
6306
|
+
return peerMajor === localMajor && peerMinor === localMinor;
|
|
6307
|
+
};
|
|
6308
|
+
if (!compatibleVersion()) {
|
|
6295
6309
|
debug(`versions don't match`);
|
|
6296
|
-
}
|
|
6297
|
-
if (!peer.version || peer.version !== this.version)
|
|
6298
6310
|
return;
|
|
6311
|
+
}
|
|
6299
6312
|
const lastBlock = await this.#makeRequest(peer, 'lastBlock');
|
|
6300
6313
|
const localBlock = await this.lastBlock;
|
|
6301
6314
|
if (lastBlock.hash === '0x0')
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { c as createDebugger, i as inflate_1, d as deflate_1, L as LittlePubSub } from './node-browser-
|
|
1
|
+
import { c as createDebugger, i as inflate_1, d as deflate_1, L as LittlePubSub } from './node-browser-A1KVCavN.js';
|
|
2
2
|
import './identity-nIyW_Xm8-BU8xakCv.js';
|
|
3
|
-
import './
|
|
4
|
-
import './networks-
|
|
3
|
+
import './flags-wmeqg14g.js';
|
|
4
|
+
import './networks-F1y7bMrB.js';
|
|
5
5
|
|
|
6
6
|
class Api {
|
|
7
7
|
_pubsub;
|
|
@@ -8211,4 +8211,6 @@ class RawTransactionMessage extends FormatInterface {
|
|
|
8211
8211
|
}
|
|
8212
8212
|
}
|
|
8213
8213
|
|
|
8214
|
-
|
|
8214
|
+
const currentVersion = '0.1.1';
|
|
8215
|
+
|
|
8216
|
+
export { BlockMessage as B, ContractMessage as C, FormatInterface as F, RawTransactionMessage as R, TransactionMessage as T, ValidatorMessage as V, BWMessage as a, BWRequestMessage as b, currentVersion as c, toBase58 as t };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { F as FormatInterface } from './node-browser-
|
|
1
|
+
import { F as FormatInterface } from './node-browser-A1KVCavN.js';
|
|
2
2
|
import './identity-nIyW_Xm8-BU8xakCv.js';
|
|
3
|
-
import './
|
|
4
|
-
import './networks-
|
|
3
|
+
import './flags-wmeqg14g.js';
|
|
4
|
+
import './networks-F1y7bMrB.js';
|
|
5
5
|
|
|
6
6
|
var proto$b = {
|
|
7
7
|
data: new Uint8Array(),
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// todo only one star needed, no need to have one for each network
|
|
2
|
-
// unless we change anything to the star
|
|
3
|
-
// version
|
|
2
|
+
// unless we change anything to the star protocol
|
|
3
|
+
// version differences should be handled in the chain
|
|
4
4
|
// maybe a good way to handle could be in p2pt-swarm
|
|
5
5
|
var networks = {
|
|
6
6
|
leofcoin: {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { b as base$1, I as Identity, i as index$4, a as index$5, c as base58$1, d as index$3, e as index$2 } from './identity-nIyW_Xm8-BU8xakCv.js';
|
|
2
|
-
import { F as FormatInterface$2, T as TransactionMessage, C as ContractMessage, B as BlockMessage, a as BWMessage, b as BWRequestMessage, V as ValidatorMessage } from './
|
|
3
|
-
import networks from './networks-
|
|
2
|
+
import { F as FormatInterface$2, T as TransactionMessage, C as ContractMessage, B as BlockMessage, a as BWMessage, b as BWRequestMessage, V as ValidatorMessage, c as currentVersion } from './flags-wmeqg14g.js';
|
|
3
|
+
import networks from './networks-F1y7bMrB.js';
|
|
4
4
|
|
|
5
5
|
var proto = {
|
|
6
6
|
lastblock: Object(),
|
|
@@ -8485,7 +8485,7 @@ class Peernet {
|
|
|
8485
8485
|
this.root = options.root;
|
|
8486
8486
|
const { RequestMessage, ResponseMessage, PeerMessage, PeerMessageResponse, PeernetMessage, DHTMessage, DHTMessageResponse, DataMessage, DataMessageResponse, PsMessage, ChatMessage, PeernetFile
|
|
8487
8487
|
// FolderMessageResponse
|
|
8488
|
-
} = await import(/* webpackChunkName: "messages" */ './messages-C507MMRx-
|
|
8488
|
+
} = await import(/* webpackChunkName: "messages" */ './messages-C507MMRx-ypXoH7gN.js');
|
|
8489
8489
|
/**
|
|
8490
8490
|
* proto Object containing protos
|
|
8491
8491
|
* @type {Object}
|
|
@@ -8579,7 +8579,7 @@ class Peernet {
|
|
|
8579
8579
|
if (this.#starting || this.#started)
|
|
8580
8580
|
return;
|
|
8581
8581
|
this.#starting = true;
|
|
8582
|
-
const importee = await import('./client-CWkdUcxK-
|
|
8582
|
+
const importee = await import('./client-CWkdUcxK-BEmg-tGc.js');
|
|
8583
8583
|
/**
|
|
8584
8584
|
* @access public
|
|
8585
8585
|
* @type {PeernetClient}
|
|
@@ -9102,7 +9102,7 @@ globalThis.Peernet = Peernet;
|
|
|
9102
9102
|
const DEFAULT_NODE_OPTIONS = {
|
|
9103
9103
|
network: 'leofcoin:peach',
|
|
9104
9104
|
networkVersion: 'peach',
|
|
9105
|
-
version:
|
|
9105
|
+
version: currentVersion,
|
|
9106
9106
|
stars: networks.leofcoin.peach.stars
|
|
9107
9107
|
};
|
|
9108
9108
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { N as default } from './node-browser-
|
|
1
|
+
export { N as default } from './node-browser-A1KVCavN.js';
|
|
2
2
|
import './identity-nIyW_Xm8-BU8xakCv.js';
|
|
3
|
-
import './
|
|
4
|
-
import './networks-
|
|
3
|
+
import './flags-wmeqg14g.js';
|
|
4
|
+
import './networks-F1y7bMrB.js';
|
package/exports/chain.js
CHANGED
|
@@ -8,6 +8,7 @@ import { randombytes } from '@leofcoin/crypto';
|
|
|
8
8
|
import EasyWorker from '@vandeurenglenn/easy-worker';
|
|
9
9
|
import { ContractDeploymentError, ExecutionError, isResolveError, ResolveError, isExecutionError } from '@leofcoin/errors';
|
|
10
10
|
import { log } from 'console';
|
|
11
|
+
import { c as currentVersion } from './flags-DKVwPDLE.js';
|
|
11
12
|
import { log as log$1 } from 'node:console';
|
|
12
13
|
|
|
13
14
|
const limit = 1800;
|
|
@@ -1831,8 +1832,6 @@ class State extends Contract {
|
|
|
1831
1832
|
}
|
|
1832
1833
|
}
|
|
1833
1834
|
|
|
1834
|
-
const currentVersion = '0.1.1';
|
|
1835
|
-
|
|
1836
1835
|
class VersionControl extends State {
|
|
1837
1836
|
constructor(config) {
|
|
1838
1837
|
super(config);
|
|
@@ -1847,8 +1846,10 @@ class VersionControl extends State {
|
|
|
1847
1846
|
super.init && (await super.init());
|
|
1848
1847
|
try {
|
|
1849
1848
|
const version = await globalThis.chainStore.get('version');
|
|
1850
|
-
|
|
1851
|
-
console.log(
|
|
1849
|
+
const storedVersion = new TextDecoder().decode(version);
|
|
1850
|
+
console.log(storedVersion, this.#currentVersion);
|
|
1851
|
+
// Always use current version, update store if different
|
|
1852
|
+
this.version = this.#currentVersion;
|
|
1852
1853
|
/**
|
|
1853
1854
|
* protocol version control!
|
|
1854
1855
|
* Note that before v1.2.2 everything gets deleted because of big changes,
|
|
@@ -1864,12 +1865,13 @@ class VersionControl extends State {
|
|
|
1864
1865
|
// if so, clear all data
|
|
1865
1866
|
// once v1.0.0 is reached this will not run and we can remove this check once every node is above v1.0.0
|
|
1866
1867
|
console.warn('the reachedZeroZero flag is set to false, this will clear all data on every start if above v1.0.0');
|
|
1867
|
-
if (semver.compare(
|
|
1868
|
+
if (semver.compare(storedVersion, '1.0.0') === 1 && !this.#reachedOneZeroZero) {
|
|
1868
1869
|
console.warn('clearing all data because we are below v1.0.0');
|
|
1869
1870
|
await this.clearAll();
|
|
1870
1871
|
}
|
|
1871
|
-
if (
|
|
1872
|
-
|
|
1872
|
+
if (storedVersion !== this.#currentVersion) {
|
|
1873
|
+
console.log(`Version mismatch: stored=${storedVersion}, current=${this.#currentVersion}. Updating...`);
|
|
1874
|
+
await globalThis.chainStore.put('version', this.version);
|
|
1873
1875
|
}
|
|
1874
1876
|
// if (version)
|
|
1875
1877
|
}
|
|
@@ -1903,7 +1905,13 @@ class ConnectionMonitor {
|
|
|
1903
1905
|
return Object.values(globalThis.peernet?.connections || {}).filter((peer) => peer.connected);
|
|
1904
1906
|
}
|
|
1905
1907
|
get compatiblePeers() {
|
|
1906
|
-
return this.connectedPeers.filter((peer) =>
|
|
1908
|
+
return this.connectedPeers.filter((peer) => {
|
|
1909
|
+
if (!peer.version || !this.#version)
|
|
1910
|
+
return false;
|
|
1911
|
+
const [peerMajor, peerMinor] = peer.version.split('.');
|
|
1912
|
+
const [localMajor, localMinor] = this.#version.split('.');
|
|
1913
|
+
return peerMajor === localMajor && peerMinor === localMinor;
|
|
1914
|
+
});
|
|
1907
1915
|
}
|
|
1908
1916
|
get disconnectedPeers() {
|
|
1909
1917
|
return Object.values(globalThis.peernet?.connections || {}).filter((peer) => !peer.connected);
|
|
@@ -2429,11 +2437,17 @@ class Chain extends VersionControl {
|
|
|
2429
2437
|
// todo handle version changes
|
|
2430
2438
|
// for now just do nothing if version doesn't match
|
|
2431
2439
|
debug(`peer connected with version ${peer.version}`);
|
|
2432
|
-
|
|
2440
|
+
const compatibleVersion = () => {
|
|
2441
|
+
if (!peer.version || !this.version)
|
|
2442
|
+
return false;
|
|
2443
|
+
const [peerMajor, peerMinor] = peer.version.split('.');
|
|
2444
|
+
const [localMajor, localMinor] = this.version.split('.');
|
|
2445
|
+
return peerMajor === localMajor && peerMinor === localMinor;
|
|
2446
|
+
};
|
|
2447
|
+
if (!compatibleVersion()) {
|
|
2433
2448
|
debug(`versions don't match`);
|
|
2434
|
-
}
|
|
2435
|
-
if (!peer.version || peer.version !== this.version)
|
|
2436
2449
|
return;
|
|
2450
|
+
}
|
|
2437
2451
|
const lastBlock = await this.#makeRequest(peer, 'lastBlock');
|
|
2438
2452
|
const localBlock = await this.lastBlock;
|
|
2439
2453
|
if (lastBlock.hash === '0x0')
|
package/exports/node.js
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import Peernet from '@leofcoin/peernet';
|
|
2
2
|
import nodeConfig from '@leofcoin/lib/node-config';
|
|
3
3
|
import networks from '@leofcoin/networks';
|
|
4
|
+
import { c as currentVersion } from './flags-DKVwPDLE.js';
|
|
4
5
|
|
|
5
6
|
const DEFAULT_NODE_OPTIONS = {
|
|
6
7
|
network: 'leofcoin:peach',
|
|
7
8
|
networkVersion: 'peach',
|
|
8
|
-
version:
|
|
9
|
+
version: currentVersion,
|
|
9
10
|
stars: networks.leofcoin.peach.stars
|
|
10
11
|
};
|
|
11
12
|
|