@hive-p2p/browser 1.0.19 → 1.0.21
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/core/arbiter.mjs +125 -0
- package/core/config.mjs +226 -0
- package/core/crypto-codex.mjs +257 -0
- package/core/gossip.mjs +159 -0
- package/core/ice-offer-manager.mjs +181 -0
- package/core/node-services.mjs +129 -0
- package/core/node.mjs +177 -0
- package/core/peer-store.mjs +252 -0
- package/core/route-builder.mjs +176 -0
- package/core/topologist.mjs +254 -0
- package/core/unicast.mjs +155 -0
- package/index.mjs +3 -3
- package/libs/argon2-ES6.min.mjs +1 -0
- package/libs/hive-p2p.min.js +10 -0
- package/libs/simplepeer-9.11.1.min.js +6 -0
- package/libs/three-4.5.min.js +6 -0
- package/libs/xxhash32.mjs +65 -0
- package/package.json +5 -5
- package/rendering/NetworkRenderer.mjs +734 -0
- package/rendering/renderer-options.mjs +85 -0
- package/rendering/renderer-stores.mjs +234 -0
- package/rendering/visualizer.css +138 -0
- package/rendering/visualizer.html +60 -0
- package/rendering/visualizer.mjs +254 -0
- package/services/clock-v2.mjs +196 -0
- package/services/clock.mjs +144 -0
- package/services/converter.mjs +64 -0
- package/services/cryptos.mjs +83 -0
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
const PRIME32_1 = 2654435761;
|
|
2
|
+
const PRIME32_2 = 2246822519;
|
|
3
|
+
const PRIME32_3 = 3266489917;
|
|
4
|
+
const PRIME32_4 = 668265263;
|
|
5
|
+
const PRIME32_5 = 374761393;
|
|
6
|
+
let encoder;
|
|
7
|
+
/** @param input - byte array or string @param seed - optional seed (32-bit unsigned); */
|
|
8
|
+
export function xxHash32(input, seed = 0) {
|
|
9
|
+
const buffer = typeof input === 'string' ? (encoder ??= new TextEncoder()).encode(input) : input;
|
|
10
|
+
const b = buffer;
|
|
11
|
+
let acc = (seed + PRIME32_5) & 0xffffffff;
|
|
12
|
+
let offset = 0;
|
|
13
|
+
if (b.length >= 16) {
|
|
14
|
+
const accN = [
|
|
15
|
+
(seed + PRIME32_1 + PRIME32_2) & 0xffffffff,
|
|
16
|
+
(seed + PRIME32_2) & 0xffffffff,
|
|
17
|
+
(seed + 0) & 0xffffffff,
|
|
18
|
+
(seed - PRIME32_1) & 0xffffffff,
|
|
19
|
+
];
|
|
20
|
+
const b = buffer;
|
|
21
|
+
const limit = b.length - 16;
|
|
22
|
+
let lane = 0;
|
|
23
|
+
for (offset = 0; (offset & 0xfffffff0) <= limit; offset += 4) {
|
|
24
|
+
const i = offset;
|
|
25
|
+
const laneN0 = b[i + 0] + (b[i + 1] << 8);
|
|
26
|
+
const laneN1 = b[i + 2] + (b[i + 3] << 8);
|
|
27
|
+
const laneNP = laneN0 * PRIME32_2 + ((laneN1 * PRIME32_2) << 16);
|
|
28
|
+
let acc = (accN[lane] + laneNP) & 0xffffffff;
|
|
29
|
+
acc = (acc << 13) | (acc >>> 19);
|
|
30
|
+
const acc0 = acc & 0xffff;
|
|
31
|
+
const acc1 = acc >>> 16;
|
|
32
|
+
accN[lane] = (acc0 * PRIME32_1 + ((acc1 * PRIME32_1) << 16)) & 0xffffffff;
|
|
33
|
+
lane = (lane + 1) & 0x3;
|
|
34
|
+
}
|
|
35
|
+
acc =
|
|
36
|
+
(((accN[0] << 1) | (accN[0] >>> 31)) +
|
|
37
|
+
((accN[1] << 7) | (accN[1] >>> 25)) +
|
|
38
|
+
((accN[2] << 12) | (accN[2] >>> 20)) +
|
|
39
|
+
((accN[3] << 18) | (accN[3] >>> 14))) &
|
|
40
|
+
0xffffffff;
|
|
41
|
+
}
|
|
42
|
+
acc = (acc + buffer.length) & 0xffffffff;
|
|
43
|
+
const limit = buffer.length - 4;
|
|
44
|
+
for (; offset <= limit; offset += 4) {
|
|
45
|
+
const i = offset;
|
|
46
|
+
const laneN0 = b[i + 0] + (b[i + 1] << 8);
|
|
47
|
+
const laneN1 = b[i + 2] + (b[i + 3] << 8);
|
|
48
|
+
const laneP = laneN0 * PRIME32_3 + ((laneN1 * PRIME32_3) << 16);
|
|
49
|
+
acc = (acc + laneP) & 0xffffffff;
|
|
50
|
+
acc = (acc << 17) | (acc >>> 15);
|
|
51
|
+
acc = ((acc & 0xffff) * PRIME32_4 + (((acc >>> 16) * PRIME32_4) << 16)) & 0xffffffff;
|
|
52
|
+
}
|
|
53
|
+
for (; offset < b.length; ++offset) {
|
|
54
|
+
const lane = b[offset];
|
|
55
|
+
acc = acc + lane * PRIME32_5;
|
|
56
|
+
acc = (acc << 11) | (acc >>> 21);
|
|
57
|
+
acc = ((acc & 0xffff) * PRIME32_1 + (((acc >>> 16) * PRIME32_1) << 16)) & 0xffffffff;
|
|
58
|
+
}
|
|
59
|
+
acc = acc ^ (acc >>> 15);
|
|
60
|
+
acc = (((acc & 0xffff) * PRIME32_2) & 0xffffffff) + (((acc >>> 16) * PRIME32_2) << 16);
|
|
61
|
+
acc = acc ^ (acc >>> 13);
|
|
62
|
+
acc = (((acc & 0xffff) * PRIME32_3) & 0xffffffff) + (((acc >>> 16) * PRIME32_3) << 16);
|
|
63
|
+
acc = acc ^ (acc >>> 16);
|
|
64
|
+
return acc < 0 ? acc + 4294967296 : acc;
|
|
65
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hive-p2p/browser",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.21",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -9,10 +9,10 @@
|
|
|
9
9
|
"main": "hive-p2p.min.js",
|
|
10
10
|
"files": [
|
|
11
11
|
"index.mjs",
|
|
12
|
-
"core
|
|
13
|
-
"libs
|
|
14
|
-
"rendering
|
|
15
|
-
"services
|
|
12
|
+
"core/",
|
|
13
|
+
"libs/",
|
|
14
|
+
"rendering/",
|
|
15
|
+
"services/",
|
|
16
16
|
"hive-p2p.min.js"
|
|
17
17
|
],
|
|
18
18
|
"dependencies": {
|