@activeledger/activenetwork 2.15.7 → 4.3.4
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/es/network/cpus.d.ts +1 -0
- package/es/network/cpus.d.ts.map +1 -1
- package/es/network/cpus.js +26 -15
- package/es/network/cpus.js.map +1 -1
- package/es/network/endpoints.d.ts +7 -3
- package/es/network/endpoints.d.ts.map +1 -1
- package/es/network/endpoints.js +685 -172
- package/es/network/endpoints.js.map +1 -1
- package/es/network/home.d.ts.map +1 -1
- package/es/network/home.js +41 -19
- package/es/network/home.js.map +1 -1
- package/es/network/host.d.ts +15 -7
- package/es/network/host.d.ts.map +1 -1
- package/es/network/host.js +631 -240
- package/es/network/host.js.map +1 -1
- package/es/network/locker.d.ts +10 -5
- package/es/network/locker.d.ts.map +1 -1
- package/es/network/locker.js +50 -17
- package/es/network/locker.js.map +1 -1
- package/es/network/maintain.d.ts.map +1 -1
- package/es/network/maintain.js +42 -42
- package/es/network/maintain.js.map +1 -1
- package/es/network/neighbour.d.ts +8 -4
- package/es/network/neighbour.d.ts.map +1 -1
- package/es/network/neighbour.js +82 -18
- package/es/network/neighbour.js.map +1 -1
- package/es/network/neighbourhood.d.ts +1 -1
- package/es/network/neighbourhood.d.ts.map +1 -1
- package/es/network/neighbourhood.js +39 -42
- package/es/network/neighbourhood.js.map +1 -1
- package/es/network/p2pClient.d.ts +20 -0
- package/es/network/p2pClient.d.ts.map +1 -0
- package/es/network/p2pClient.js +84 -0
- package/es/network/p2pClient.js.map +1 -0
- package/es/network/process.js +99 -65
- package/es/network/process.js.map +1 -1
- package/es/network/utils.d.ts.map +1 -1
- package/es/network/utils.js +17 -21
- package/es/network/utils.js.map +1 -1
- package/lib/network/cpus.d.ts +1 -0
- package/lib/network/cpus.d.ts.map +1 -1
- package/lib/network/cpus.js +26 -15
- package/lib/network/cpus.js.map +1 -1
- package/lib/network/endpoints.d.ts +7 -3
- package/lib/network/endpoints.d.ts.map +1 -1
- package/lib/network/endpoints.js +684 -171
- package/lib/network/endpoints.js.map +1 -1
- package/lib/network/home.d.ts.map +1 -1
- package/lib/network/home.js +41 -19
- package/lib/network/home.js.map +1 -1
- package/lib/network/host.d.ts +15 -7
- package/lib/network/host.d.ts.map +1 -1
- package/lib/network/host.js +630 -239
- package/lib/network/host.js.map +1 -1
- package/lib/network/locker.d.ts +10 -5
- package/lib/network/locker.d.ts.map +1 -1
- package/lib/network/locker.js +50 -17
- package/lib/network/locker.js.map +1 -1
- package/lib/network/maintain.d.ts.map +1 -1
- package/lib/network/maintain.js +42 -42
- package/lib/network/maintain.js.map +1 -1
- package/lib/network/neighbour.d.ts +8 -4
- package/lib/network/neighbour.d.ts.map +1 -1
- package/lib/network/neighbour.js +82 -18
- package/lib/network/neighbour.js.map +1 -1
- package/lib/network/neighbourhood.d.ts +1 -1
- package/lib/network/neighbourhood.d.ts.map +1 -1
- package/lib/network/neighbourhood.js +39 -42
- package/lib/network/neighbourhood.js.map +1 -1
- package/lib/network/p2pClient.d.ts +20 -0
- package/lib/network/p2pClient.d.ts.map +1 -0
- package/lib/network/p2pClient.js +88 -0
- package/lib/network/p2pClient.js.map +1 -0
- package/lib/network/process.js +98 -64
- package/lib/network/process.js.map +1 -1
- package/lib/network/utils.d.ts.map +1 -1
- package/lib/network/utils.js +17 -21
- package/lib/network/utils.js.map +1 -1
- package/package.json +11 -9
package/es/network/host.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"host.js","sourceRoot":"","sources":["../../src/network/host.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"host.js","sourceRoot":"","sources":["../../src/network/host.ts"],"names":[],"mappings":"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"}
|
package/es/network/locker.d.ts
CHANGED
|
@@ -1,13 +1,18 @@
|
|
|
1
1
|
export declare class Locker {
|
|
2
2
|
private static cell;
|
|
3
3
|
private static timer;
|
|
4
|
-
static
|
|
5
|
-
static
|
|
6
|
-
static
|
|
7
|
-
static
|
|
4
|
+
static has(stream: string): boolean;
|
|
5
|
+
static is(stream: string, umid: string): boolean;
|
|
6
|
+
static hold(stream: string, umid: string): boolean;
|
|
7
|
+
static hold(stream: string[], umid: string): boolean;
|
|
8
|
+
static release(stream: string, umid: string): boolean;
|
|
9
|
+
static release(stream: string[], umid: string): boolean;
|
|
8
10
|
static checker(): void;
|
|
9
11
|
static getLocks(): {
|
|
10
|
-
[stream: string]:
|
|
12
|
+
[stream: string]: {
|
|
13
|
+
umid: string;
|
|
14
|
+
time: number;
|
|
15
|
+
};
|
|
11
16
|
};
|
|
12
17
|
static checkLocks(releaseTime?: number): void;
|
|
13
18
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"locker.d.ts","sourceRoot":"","sources":["../../src/network/locker.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"locker.d.ts","sourceRoot":"","sources":["../../src/network/locker.ts"],"names":[],"mappings":"AAkCA,qBAAa,MAAM;IAgBjB,OAAO,CAAC,MAAM,CAAC,IAAI,CAML;IASd,OAAO,CAAC,MAAM,CAAC,KAAK,CAAwB;WAS9B,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;WAY5B,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO;WAezC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO;WAC3C,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO;WA8D7C,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO;WAC9C,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO;WA0BhD,OAAO;WAoBP,QAAQ,IAAI;QACxB,CAAC,MAAM,EAAE,MAAM,GAAG;YAChB,IAAI,EAAE,MAAM,CAAC;YACb,IAAI,EAAE,MAAM,CAAC;SACd,CAAC;KACH;WAea,UAAU,CAAC,WAAW,GAAE,MAA0B;CAgBjE"}
|
package/es/network/locker.js
CHANGED
|
@@ -1,38 +1,71 @@
|
|
|
1
|
-
|
|
2
|
-
const
|
|
1
|
+
import { ActiveLogger } from "@activeledger/activelogger";
|
|
2
|
+
const CHECKER_TIMER = 1 * 1000 * 60;
|
|
3
|
+
const AUTO_RELEASE_TIME = 3 * 1000 * 60;
|
|
3
4
|
export class Locker {
|
|
4
|
-
static
|
|
5
|
+
static cell = new Map();
|
|
6
|
+
static timer;
|
|
7
|
+
static has(stream) {
|
|
8
|
+
return this.cell.has(stream);
|
|
9
|
+
}
|
|
10
|
+
static is(stream, umid) {
|
|
11
|
+
if (this.has(stream)) {
|
|
12
|
+
return this.cell.get(stream).umid === umid;
|
|
13
|
+
}
|
|
14
|
+
return false;
|
|
15
|
+
}
|
|
16
|
+
static hold(stream, umid) {
|
|
5
17
|
if (Array.isArray(stream)) {
|
|
6
18
|
let i = stream.length;
|
|
7
19
|
let success = true;
|
|
20
|
+
const time = Date.now();
|
|
8
21
|
while (i--) {
|
|
9
|
-
if (
|
|
10
|
-
|
|
11
|
-
|
|
22
|
+
if (stream[i].length > 60) {
|
|
23
|
+
if (!this.cell.has(stream[i])) {
|
|
24
|
+
this.cell.set(stream[i], {
|
|
25
|
+
umid,
|
|
26
|
+
time,
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
ActiveLogger.info(`RR - ${umid} - LD - ${this.cell.get(stream[i]).umid}`);
|
|
31
|
+
success = false;
|
|
32
|
+
break;
|
|
33
|
+
}
|
|
12
34
|
}
|
|
13
35
|
}
|
|
36
|
+
if (!success) {
|
|
37
|
+
Locker.release(stream, umid);
|
|
38
|
+
}
|
|
14
39
|
return success;
|
|
15
40
|
}
|
|
16
41
|
else {
|
|
17
42
|
if (stream.length < 60) {
|
|
18
43
|
return true;
|
|
19
44
|
}
|
|
20
|
-
if (!this.cell
|
|
21
|
-
this.cell
|
|
45
|
+
if (!this.cell.has(stream)) {
|
|
46
|
+
this.cell.set(stream, {
|
|
47
|
+
umid,
|
|
48
|
+
time: Date.now(),
|
|
49
|
+
});
|
|
22
50
|
return true;
|
|
23
51
|
}
|
|
52
|
+
ActiveLogger.info(`Lock busy for ${stream}. Held by ${this.cell.get(stream).umid}, requested by ${umid}.`);
|
|
24
53
|
return false;
|
|
25
54
|
}
|
|
26
55
|
}
|
|
27
|
-
static release(stream) {
|
|
56
|
+
static release(stream, umid) {
|
|
28
57
|
if (Array.isArray(stream)) {
|
|
29
58
|
let i = stream.length;
|
|
30
59
|
while (i--) {
|
|
31
|
-
|
|
60
|
+
if (this.cell.get(stream[i])?.umid === umid) {
|
|
61
|
+
this.cell.delete(stream[i]);
|
|
62
|
+
}
|
|
32
63
|
}
|
|
33
64
|
}
|
|
34
65
|
else {
|
|
35
|
-
|
|
66
|
+
if (this.cell.get(stream)?.umid === umid) {
|
|
67
|
+
this.cell.delete(stream);
|
|
68
|
+
}
|
|
36
69
|
}
|
|
37
70
|
return true;
|
|
38
71
|
}
|
|
@@ -46,18 +79,18 @@ export class Locker {
|
|
|
46
79
|
}
|
|
47
80
|
}
|
|
48
81
|
static getLocks() {
|
|
49
|
-
return this.cell;
|
|
82
|
+
return Object.fromEntries(this.cell);
|
|
50
83
|
}
|
|
51
84
|
static checkLocks(releaseTime = AUTO_RELEASE_TIME) {
|
|
52
|
-
const locks =
|
|
85
|
+
const locks = Array.from(this.cell.entries());
|
|
53
86
|
for (let i = locks.length; i--;) {
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
87
|
+
const [stream, entry] = locks[i];
|
|
88
|
+
if (this.cell.has(stream) && Date.now() - entry.time >= releaseTime) {
|
|
89
|
+
ActiveLogger.warn(`Auto-releasing stuck lock for stream ${stream} held by ${entry.umid}`);
|
|
90
|
+
Locker.release(stream, entry.umid);
|
|
57
91
|
}
|
|
58
92
|
}
|
|
59
93
|
}
|
|
60
94
|
}
|
|
61
|
-
Locker.cell = {};
|
|
62
95
|
Locker.checker();
|
|
63
96
|
//# sourceMappingURL=locker.js.map
|
package/es/network/locker.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"locker.js","sourceRoot":"","sources":["../../src/network/locker.ts"],"names":[],"mappings":"AAuBA,MAAM,aAAa,GAAG,CAAC,GAAG,IAAI,GAAG,EAAE,CAAC;AACpC,MAAM,iBAAiB,GAAG,CAAC,GAAG,IAAI,GAAG,EAAE,CAAC;AAQxC,MAAM,OAAO,MAAM;
|
|
1
|
+
{"version":3,"file":"locker.js","sourceRoot":"","sources":["../../src/network/locker.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"maintain.d.ts","sourceRoot":"","sources":["../../src/network/maintain.ts"],"names":[],"mappings":"AAwBA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAW9B,qBAAa,QAAQ;IAQnB,OAAO,CAAC,MAAM,CAAC,cAAc,CAAc;IAQ3C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAkB;IAQzC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAkB;IAazC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CACqB;IAErD,OAAO,CAAC,MAAM,CAAC,IAAI,CAAO;WAOZ,IAAI,CAAC,IAAI,EAAE,IAAI;WAiBf,WAAW,CAAC,IAAI,GAAE,OAAe;
|
|
1
|
+
{"version":3,"file":"maintain.d.ts","sourceRoot":"","sources":["../../src/network/maintain.ts"],"names":[],"mappings":"AAwBA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAW9B,qBAAa,QAAQ;IAQnB,OAAO,CAAC,MAAM,CAAC,cAAc,CAAc;IAQ3C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAkB;IAQzC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAkB;IAazC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CACqB;IAErD,OAAO,CAAC,MAAM,CAAC,IAAI,CAAO;WAOZ,IAAI,CAAC,IAAI,EAAE,IAAI;WAiBf,WAAW,CAAC,IAAI,GAAE,OAAe;IAmB/C,OAAO,CAAC,MAAM,CAAC,WAAW;IAa1B,OAAO,CAAC,MAAM,CAAC,kBAAkB;WA+BnB,mBAAmB,IAAI,IAAI;mBA8BpB,kBAAkB;IAyDvC,OAAO,CAAC,MAAM,CAAC,OAAO;CAmEvB"}
|
package/es/network/maintain.js
CHANGED
|
@@ -2,16 +2,24 @@ import { ActiveLogger } from "@activeledger/activelogger";
|
|
|
2
2
|
import { Home } from "./home";
|
|
3
3
|
import { NeighbourStatus } from "./neighbourhood";
|
|
4
4
|
export class Maintain {
|
|
5
|
+
static neighbourOrder;
|
|
6
|
+
static checking = false;
|
|
7
|
+
static rebasing = false;
|
|
8
|
+
static interval = (20 + Math.floor(Math.random() * 15) + -10) * 1000;
|
|
9
|
+
static home;
|
|
5
10
|
static init(home) {
|
|
6
11
|
Maintain.home = home;
|
|
7
12
|
Maintain.createNetworkOrder();
|
|
13
|
+
Maintain.healthTimer(true);
|
|
8
14
|
}
|
|
9
15
|
static healthTimer(boot = false) {
|
|
10
16
|
setTimeout(() => {
|
|
11
17
|
Maintain.healthTimer();
|
|
12
18
|
}, Maintain.getInterval());
|
|
13
19
|
if (!boot) {
|
|
14
|
-
|
|
20
|
+
if (Maintain.home && Maintain.home.getStatus() !== NeighbourStatus.Stable) {
|
|
21
|
+
ActiveLogger.debug("Checking Neighbourhood");
|
|
22
|
+
}
|
|
15
23
|
Maintain.checkNeighbourhood();
|
|
16
24
|
}
|
|
17
25
|
}
|
|
@@ -40,10 +48,10 @@ export class Maintain {
|
|
|
40
48
|
});
|
|
41
49
|
}
|
|
42
50
|
static rebaseNeighbourhood() {
|
|
43
|
-
ActiveLogger.debug("Rebase Request");
|
|
44
51
|
if ((!Maintain.rebasing &&
|
|
45
52
|
Maintain.home.getStatus() == NeighbourStatus.Recognised) ||
|
|
46
53
|
Maintain.home.getStatus() == NeighbourStatus.Unrecognised) {
|
|
54
|
+
ActiveLogger.debug("Rebase Request");
|
|
47
55
|
Maintain.rebasing = true;
|
|
48
56
|
if (Maintain.checking) {
|
|
49
57
|
ActiveLogger.debug("Waiting to Rebase");
|
|
@@ -75,7 +83,6 @@ export class Maintain {
|
|
|
75
83
|
})
|
|
76
84
|
.catch(() => {
|
|
77
85
|
if (currentRef == Home.reference) {
|
|
78
|
-
neighbour.isHome = false;
|
|
79
86
|
}
|
|
80
87
|
resolve();
|
|
81
88
|
});
|
|
@@ -90,53 +97,46 @@ export class Maintain {
|
|
|
90
97
|
}
|
|
91
98
|
}
|
|
92
99
|
static pairing() {
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
while (i--) {
|
|
98
|
-
if (Maintain.home.reference == Maintain.neighbourOrder[i].reference) {
|
|
99
|
-
whereHomeIs = i;
|
|
100
|
-
break;
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
if (whereHomeIs == undefined) {
|
|
100
|
+
const order = Maintain.neighbourOrder;
|
|
101
|
+
const orderLength = order.length;
|
|
102
|
+
const homeIndex = order.findIndex((n) => n.reference === Maintain.home.reference);
|
|
103
|
+
if (homeIndex === -1) {
|
|
104
104
|
Maintain.checking = false;
|
|
105
105
|
Maintain.rebasing = false;
|
|
106
106
|
return;
|
|
107
107
|
}
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
if (!Maintain.neighbourOrder[i])
|
|
128
|
-
return;
|
|
108
|
+
let isRight;
|
|
109
|
+
let isLeft;
|
|
110
|
+
for (let i = 1; i < orderLength; i++) {
|
|
111
|
+
if (!isRight) {
|
|
112
|
+
const rightIndex = (homeIndex + i) % orderLength;
|
|
113
|
+
const potentialRight = order[rightIndex];
|
|
114
|
+
if (potentialRight && !potentialRight.graceStop && potentialRight.isHome) {
|
|
115
|
+
isRight = potentialRight;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
if (!isLeft) {
|
|
119
|
+
const leftIndex = (homeIndex - i + orderLength) % orderLength;
|
|
120
|
+
const potentialLeft = order[leftIndex];
|
|
121
|
+
if (potentialLeft && !potentialLeft.graceStop && potentialLeft.isHome) {
|
|
122
|
+
isLeft = potentialLeft;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
if (isRight && isLeft)
|
|
126
|
+
break;
|
|
129
127
|
}
|
|
130
|
-
if (Home.left.reference !=
|
|
131
|
-
Home.right.reference != isRight
|
|
132
|
-
ActiveLogger.debug({ left:
|
|
133
|
-
|
|
128
|
+
if ((isLeft && Home.left.reference != isLeft.reference) ||
|
|
129
|
+
Home.right.reference != isRight?.reference) {
|
|
130
|
+
ActiveLogger.debug({ left: isLeft?.reference, right: isRight?.reference }, "New Neighbour Update");
|
|
131
|
+
try {
|
|
132
|
+
Maintain.home.setNeighbours(isLeft?.reference || null, isRight?.reference || null);
|
|
133
|
+
}
|
|
134
|
+
catch {
|
|
135
|
+
ActiveLogger.fatal("Problem setting Right, Try again next loop");
|
|
136
|
+
}
|
|
134
137
|
}
|
|
135
138
|
Maintain.checking = false;
|
|
136
139
|
Maintain.rebasing = false;
|
|
137
140
|
}
|
|
138
141
|
}
|
|
139
|
-
Maintain.checking = false;
|
|
140
|
-
Maintain.rebasing = false;
|
|
141
|
-
Maintain.interval = (20 + Math.floor(Math.random() * 15) + -10) * 1000;
|
|
142
142
|
//# sourceMappingURL=maintain.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"maintain.js","sourceRoot":"","sources":["../../src/network/maintain.ts"],"names":[],"mappings":"AAuBA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAUlD,MAAM,OAAO,QAAQ;
|
|
1
|
+
{"version":3,"file":"maintain.js","sourceRoot":"","sources":["../../src/network/maintain.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { ActiveCrypto } from "@activeledger/activecrypto";
|
|
2
2
|
import { ActiveDefinitions } from "@activeledger/activedefinitions";
|
|
3
|
+
import { P2PClient } from "./p2pClient";
|
|
3
4
|
export declare class Neighbour implements ActiveDefinitions.INeighbourBase {
|
|
4
|
-
|
|
5
|
-
|
|
5
|
+
host: string;
|
|
6
|
+
port: number;
|
|
6
7
|
isHome: boolean;
|
|
7
|
-
|
|
8
|
+
identity?: ActiveCrypto.KeyPair | undefined;
|
|
9
|
+
p2pClient: P2PClient;
|
|
8
10
|
reference: string;
|
|
9
11
|
graceStop: boolean;
|
|
10
12
|
constructor(host: string, port: number, isHome?: boolean, identity?: ActiveCrypto.KeyPair | undefined);
|
|
@@ -13,7 +15,9 @@ export declare class Neighbour implements ActiveDefinitions.INeighbourBase {
|
|
|
13
15
|
port: number;
|
|
14
16
|
};
|
|
15
17
|
verifySignature(signature: string, data: string): boolean;
|
|
16
|
-
|
|
18
|
+
private bundle;
|
|
19
|
+
private nextSend;
|
|
20
|
+
knock(endpoint: string, params?: any, external?: boolean, resend?: number, bundle?: boolean): Promise<any>;
|
|
17
21
|
encryptKnock(data: any, encrypted?: boolean): any;
|
|
18
22
|
}
|
|
19
23
|
//# sourceMappingURL=neighbour.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"neighbour.d.ts","sourceRoot":"","sources":["../../src/network/neighbour.ts"],"names":[],"mappings":"AAwBA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"neighbour.d.ts","sourceRoot":"","sources":["../../src/network/neighbour.ts"],"names":[],"mappings":"AAwBA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAIpE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAQxC,qBAAa,SAAU,YAAW,iBAAiB,CAAC,cAAc;IA6BvD,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,OAAO;IACf,QAAQ,CAAC;IA1BX,SAAS,EAAE,SAAS,CAAC;IAQrB,SAAS,EAAE,MAAM,CAAC;IAOlB,SAAS,EAAE,OAAO,CAAS;gBAQzB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,MAAM,GAAE,OAAe,EACvB,QAAQ,CAAC,kCAAsB;IA0BjC,UAAU,IAAI;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE;IAc5C,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO;IAYhE,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,QAAQ,CAAwB;IAY3B,KAAK,CAChB,QAAQ,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,GAAG,EACZ,QAAQ,CAAC,EAAE,OAAO,EAClB,MAAM,CAAC,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,OAAO,GACf,OAAO,CAAC,GAAG,CAAC;IAoLR,YAAY,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,GAAE,OAAe,GAAG,GAAG;CAahE"}
|