@xyo-network/react-sentinel 2.46.0-rc.1 → 2.46.0-rc.3
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/dist/cjs/contexts/Provider.js +33 -21
- package/dist/cjs/contexts/Provider.js.map +1 -1
- package/dist/docs.json +39 -39
- package/dist/esm/contexts/Provider.js +33 -21
- package/dist/esm/contexts/Provider.js.map +1 -1
- package/dist/types/contexts/Provider.d.ts.map +1 -1
- package/package.json +8 -8
- package/src/contexts/Provider.tsx +51 -32
|
@@ -4,11 +4,13 @@ exports.SentinelProvider = void 0;
|
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
6
6
|
const react_shared_1 = require("@xylabs/react-shared");
|
|
7
|
+
const react_node_1 = require("@xyo-network/react-node");
|
|
7
8
|
const sentinel_1 = require("@xyo-network/sentinel");
|
|
8
9
|
const react_1 = require("react");
|
|
9
10
|
const Context_1 = require("./Context");
|
|
10
11
|
const State_1 = require("./State");
|
|
11
12
|
const SentinelProvider = ({ account, archivist, children, name, witnesses = [], required = false, }) => {
|
|
13
|
+
const [node] = (0, react_node_1.useNode)();
|
|
12
14
|
const [sentinel, setSentinel] = (0, react_1.useState)();
|
|
13
15
|
const [history, setHistory] = (0, react_1.useState)();
|
|
14
16
|
const [progress, setProgress] = (0, react_1.useState)({});
|
|
@@ -17,6 +19,7 @@ const SentinelProvider = ({ account, archivist, children, name, witnesses = [],
|
|
|
17
19
|
(0, react_shared_1.useAsyncEffect)(
|
|
18
20
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
19
21
|
(mounted) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
22
|
+
const witnessModules = yield (node === null || node === void 0 ? void 0 : node.resolve({ address: witnesses }));
|
|
20
23
|
const sentinel = yield sentinel_1.MemorySentinel.create({
|
|
21
24
|
account,
|
|
22
25
|
config: {
|
|
@@ -25,23 +28,26 @@ const SentinelProvider = ({ account, archivist, children, name, witnesses = [],
|
|
|
25
28
|
schema: sentinel_1.SentinelConfigSchema,
|
|
26
29
|
witnesses,
|
|
27
30
|
},
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
|
|
31
|
+
});
|
|
32
|
+
const offCallbacks = [];
|
|
33
|
+
offCallbacks.push(sentinel.on('onReportEnd', ({ errors }) => {
|
|
34
|
+
if (mounted()) {
|
|
35
|
+
setProgress({
|
|
36
|
+
archivists: progress.archivists,
|
|
37
|
+
witnesses: progress.witnesses,
|
|
38
|
+
});
|
|
39
|
+
setStatus(errors ? State_1.SentinelReportStatus.Failed : State_1.SentinelReportStatus.Succeeded);
|
|
40
|
+
setReportingErrors(errors);
|
|
41
|
+
}
|
|
42
|
+
}));
|
|
43
|
+
offCallbacks.push(sentinel.on('onReportStarted', () => {
|
|
44
|
+
if (mounted()) {
|
|
45
|
+
setProgress({ archivists: {}, witnesses: {} });
|
|
46
|
+
setStatus(State_1.SentinelReportStatus.Started);
|
|
47
|
+
}
|
|
48
|
+
}));
|
|
49
|
+
witnessModules === null || witnessModules === void 0 ? void 0 : witnessModules.forEach((witness) => {
|
|
50
|
+
offCallbacks.push(witness.on('onReportEnd', ({ witness, error }) => {
|
|
45
51
|
var _a;
|
|
46
52
|
const witnesses = (_a = progress.witnesses) !== null && _a !== void 0 ? _a : {};
|
|
47
53
|
witnesses[witness.address] = {
|
|
@@ -54,8 +60,8 @@ const SentinelProvider = ({ account, archivist, children, name, witnesses = [],
|
|
|
54
60
|
witnesses,
|
|
55
61
|
});
|
|
56
62
|
}
|
|
57
|
-
}
|
|
58
|
-
|
|
63
|
+
}));
|
|
64
|
+
offCallbacks.push(witness.on('onReportStarted', ({ witness }) => {
|
|
59
65
|
var _a;
|
|
60
66
|
const witnesses = (_a = progress.witnesses) !== null && _a !== void 0 ? _a : {};
|
|
61
67
|
witnesses[witness.address] = {
|
|
@@ -68,12 +74,18 @@ const SentinelProvider = ({ account, archivist, children, name, witnesses = [],
|
|
|
68
74
|
witnesses,
|
|
69
75
|
});
|
|
70
76
|
}
|
|
71
|
-
}
|
|
77
|
+
}));
|
|
72
78
|
});
|
|
73
79
|
setSentinel(sentinel);
|
|
80
|
+
return () => {
|
|
81
|
+
//unsubscribe from events
|
|
82
|
+
offCallbacks.forEach((callback) => {
|
|
83
|
+
callback();
|
|
84
|
+
});
|
|
85
|
+
};
|
|
74
86
|
}),
|
|
75
87
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
76
|
-
[account, archivist, witnesses]);
|
|
88
|
+
[account, archivist, witnesses, node]);
|
|
77
89
|
(0, react_1.useEffect)(() => {
|
|
78
90
|
setHistory(sentinel === null || sentinel === void 0 ? void 0 : sentinel.history);
|
|
79
91
|
}, [sentinel]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Provider.js","sourceRoot":"","sources":["../../../src/contexts/Provider.tsx"],"names":[],"mappings":";;;;;AAAA,uDAAmE;AAGnE,oDAA4F;AAE5F,iCAA2C;AAE3C,uCAA2C;AAC3C,mCAAsE;AAa/D,MAAM,gBAAgB,GAAkD,CAAC,EAC9E,OAAO,EACP,SAAS,EACT,QAAQ,EACR,IAAI,EACJ,SAAS,GAAG,EAAE,EACd,QAAQ,GAAG,KAAK,GACjB,EAAE,EAAE;IACH,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,IAAA,gBAAQ,GAAkB,CAAA;IAC1D,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,IAAA,gBAAQ,GAAqB,CAAA;IAC3D,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,IAAA,gBAAQ,EAAyB,EAAE,CAAC,CAAA;IACpE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,IAAA,gBAAQ,EAAC,4BAAoB,CAAC,IAAI,CAAC,CAAA;IAC/D,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,IAAA,gBAAQ,GAAW,CAAA;IAEjE,IAAA,6BAAc;IACZ,uDAAuD;IACvD,CAAO,OAAO,EAAE,EAAE;QAChB,MAAM,QAAQ,GAAG,MAAM,yBAAc,CAAC,MAAM,CAAC;YAC3C,OAAO;YACP,MAAM,EAAE;gBACN,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;gBAC/C,IAAI;gBAEJ,MAAM,EAAE,+BAAoB;gBAC5B,SAAS;aACQ;
|
|
1
|
+
{"version":3,"file":"Provider.js","sourceRoot":"","sources":["../../../src/contexts/Provider.tsx"],"names":[],"mappings":"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"}
|
package/dist/docs.json
CHANGED
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"fileName": "packages/modules/packages/sentinal/src/contexts/State.ts",
|
|
25
25
|
"line": 11,
|
|
26
26
|
"character": 2,
|
|
27
|
-
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/
|
|
27
|
+
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/c66c3dbd117/packages/modules/packages/sentinal/src/contexts/State.ts#L11"
|
|
28
28
|
}
|
|
29
29
|
],
|
|
30
30
|
"type": {
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
"fileName": "packages/modules/packages/sentinal/src/contexts/State.ts",
|
|
44
44
|
"line": 7,
|
|
45
45
|
"character": 2,
|
|
46
|
-
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/
|
|
46
|
+
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/c66c3dbd117/packages/modules/packages/sentinal/src/contexts/State.ts#L7"
|
|
47
47
|
}
|
|
48
48
|
],
|
|
49
49
|
"type": {
|
|
@@ -62,7 +62,7 @@
|
|
|
62
62
|
"fileName": "packages/modules/packages/sentinal/src/contexts/State.ts",
|
|
63
63
|
"line": 8,
|
|
64
64
|
"character": 2,
|
|
65
|
-
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/
|
|
65
|
+
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/c66c3dbd117/packages/modules/packages/sentinal/src/contexts/State.ts#L8"
|
|
66
66
|
}
|
|
67
67
|
],
|
|
68
68
|
"type": {
|
|
@@ -81,7 +81,7 @@
|
|
|
81
81
|
"fileName": "packages/modules/packages/sentinal/src/contexts/State.ts",
|
|
82
82
|
"line": 9,
|
|
83
83
|
"character": 2,
|
|
84
|
-
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/
|
|
84
|
+
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/c66c3dbd117/packages/modules/packages/sentinal/src/contexts/State.ts#L9"
|
|
85
85
|
}
|
|
86
86
|
],
|
|
87
87
|
"type": {
|
|
@@ -100,7 +100,7 @@
|
|
|
100
100
|
"fileName": "packages/modules/packages/sentinal/src/contexts/State.ts",
|
|
101
101
|
"line": 10,
|
|
102
102
|
"character": 2,
|
|
103
|
-
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/
|
|
103
|
+
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/c66c3dbd117/packages/modules/packages/sentinal/src/contexts/State.ts#L10"
|
|
104
104
|
}
|
|
105
105
|
],
|
|
106
106
|
"type": {
|
|
@@ -126,7 +126,7 @@
|
|
|
126
126
|
"fileName": "packages/modules/packages/sentinal/src/contexts/State.ts",
|
|
127
127
|
"line": 6,
|
|
128
128
|
"character": 12,
|
|
129
|
-
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/
|
|
129
|
+
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/c66c3dbd117/packages/modules/packages/sentinal/src/contexts/State.ts#L6"
|
|
130
130
|
}
|
|
131
131
|
]
|
|
132
132
|
},
|
|
@@ -148,7 +148,7 @@
|
|
|
148
148
|
"fileName": "packages/modules/packages/sentinal/src/contexts/State.ts",
|
|
149
149
|
"line": 20,
|
|
150
150
|
"character": 2,
|
|
151
|
-
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/
|
|
151
|
+
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/c66c3dbd117/packages/modules/packages/sentinal/src/contexts/State.ts#L20"
|
|
152
152
|
}
|
|
153
153
|
],
|
|
154
154
|
"type": {
|
|
@@ -317,7 +317,7 @@
|
|
|
317
317
|
"fileName": "packages/modules/packages/sentinal/src/contexts/State.ts",
|
|
318
318
|
"line": 21,
|
|
319
319
|
"character": 2,
|
|
320
|
-
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/
|
|
320
|
+
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/c66c3dbd117/packages/modules/packages/sentinal/src/contexts/State.ts#L21"
|
|
321
321
|
}
|
|
322
322
|
],
|
|
323
323
|
"type": {
|
|
@@ -341,7 +341,7 @@
|
|
|
341
341
|
"fileName": "packages/modules/packages/sentinal/src/contexts/State.ts",
|
|
342
342
|
"line": 19,
|
|
343
343
|
"character": 17,
|
|
344
|
-
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/
|
|
344
|
+
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/c66c3dbd117/packages/modules/packages/sentinal/src/contexts/State.ts#L19"
|
|
345
345
|
}
|
|
346
346
|
]
|
|
347
347
|
},
|
|
@@ -365,7 +365,7 @@
|
|
|
365
365
|
"fileName": "packages/modules/packages/sentinal/src/contexts/State.ts",
|
|
366
366
|
"line": 30,
|
|
367
367
|
"character": 2,
|
|
368
|
-
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/
|
|
368
|
+
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/c66c3dbd117/packages/modules/packages/sentinal/src/contexts/State.ts#L30"
|
|
369
369
|
}
|
|
370
370
|
],
|
|
371
371
|
"type": {
|
|
@@ -425,7 +425,7 @@
|
|
|
425
425
|
"fileName": "packages/modules/packages/sentinal/src/contexts/State.ts",
|
|
426
426
|
"line": 31,
|
|
427
427
|
"character": 2,
|
|
428
|
-
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/
|
|
428
|
+
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/c66c3dbd117/packages/modules/packages/sentinal/src/contexts/State.ts#L31"
|
|
429
429
|
}
|
|
430
430
|
],
|
|
431
431
|
"type": {
|
|
@@ -447,7 +447,7 @@
|
|
|
447
447
|
"fileName": "packages/modules/packages/sentinal/src/contexts/State.ts",
|
|
448
448
|
"line": 32,
|
|
449
449
|
"character": 2,
|
|
450
|
-
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/
|
|
450
|
+
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/c66c3dbd117/packages/modules/packages/sentinal/src/contexts/State.ts#L32"
|
|
451
451
|
}
|
|
452
452
|
],
|
|
453
453
|
"type": {
|
|
@@ -473,7 +473,7 @@
|
|
|
473
473
|
"fileName": "packages/modules/packages/sentinal/src/contexts/State.ts",
|
|
474
474
|
"line": 33,
|
|
475
475
|
"character": 2,
|
|
476
|
-
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/
|
|
476
|
+
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/c66c3dbd117/packages/modules/packages/sentinal/src/contexts/State.ts#L33"
|
|
477
477
|
}
|
|
478
478
|
],
|
|
479
479
|
"type": {
|
|
@@ -739,7 +739,7 @@
|
|
|
739
739
|
"fileName": "packages/modules/packages/sentinal/src/contexts/State.ts",
|
|
740
740
|
"line": 34,
|
|
741
741
|
"character": 2,
|
|
742
|
-
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/
|
|
742
|
+
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/c66c3dbd117/packages/modules/packages/sentinal/src/contexts/State.ts#L34"
|
|
743
743
|
}
|
|
744
744
|
],
|
|
745
745
|
"type": {
|
|
@@ -766,7 +766,7 @@
|
|
|
766
766
|
"fileName": "packages/modules/packages/sentinal/src/contexts/State.ts",
|
|
767
767
|
"line": 29,
|
|
768
768
|
"character": 17,
|
|
769
|
-
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/
|
|
769
|
+
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/c66c3dbd117/packages/modules/packages/sentinal/src/contexts/State.ts#L29"
|
|
770
770
|
}
|
|
771
771
|
]
|
|
772
772
|
},
|
|
@@ -796,7 +796,7 @@
|
|
|
796
796
|
"fileName": "packages/modules/packages/sentinal/src/contexts/Provider.tsx",
|
|
797
797
|
"line": 13,
|
|
798
798
|
"character": 2,
|
|
799
|
-
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/
|
|
799
|
+
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/c66c3dbd117/packages/modules/packages/sentinal/src/contexts/Provider.tsx#L13"
|
|
800
800
|
}
|
|
801
801
|
],
|
|
802
802
|
"type": {
|
|
@@ -833,7 +833,7 @@
|
|
|
833
833
|
"fileName": "packages/modules/packages/sentinal/src/contexts/Provider.tsx",
|
|
834
834
|
"line": 15,
|
|
835
835
|
"character": 2,
|
|
836
|
-
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/
|
|
836
|
+
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/c66c3dbd117/packages/modules/packages/sentinal/src/contexts/Provider.tsx#L15"
|
|
837
837
|
}
|
|
838
838
|
],
|
|
839
839
|
"type": {
|
|
@@ -854,7 +854,7 @@
|
|
|
854
854
|
"fileName": "packages/modules/packages/sentinal/src/contexts/Provider.tsx",
|
|
855
855
|
"line": 16,
|
|
856
856
|
"character": 2,
|
|
857
|
-
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/
|
|
857
|
+
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/c66c3dbd117/packages/modules/packages/sentinal/src/contexts/Provider.tsx#L16"
|
|
858
858
|
}
|
|
859
859
|
],
|
|
860
860
|
"type": {
|
|
@@ -875,7 +875,7 @@
|
|
|
875
875
|
"fileName": "packages/modules/packages/sentinal/src/contexts/Provider.tsx",
|
|
876
876
|
"line": 17,
|
|
877
877
|
"character": 2,
|
|
878
|
-
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/
|
|
878
|
+
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/c66c3dbd117/packages/modules/packages/sentinal/src/contexts/Provider.tsx#L17"
|
|
879
879
|
}
|
|
880
880
|
],
|
|
881
881
|
"type": {
|
|
@@ -896,7 +896,7 @@
|
|
|
896
896
|
"fileName": "packages/modules/packages/sentinal/src/contexts/Provider.tsx",
|
|
897
897
|
"line": 18,
|
|
898
898
|
"character": 2,
|
|
899
|
-
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/
|
|
899
|
+
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/c66c3dbd117/packages/modules/packages/sentinal/src/contexts/Provider.tsx#L18"
|
|
900
900
|
}
|
|
901
901
|
],
|
|
902
902
|
"type": {
|
|
@@ -917,7 +917,7 @@
|
|
|
917
917
|
"fileName": "packages/modules/packages/sentinal/src/contexts/Provider.tsx",
|
|
918
918
|
"line": 19,
|
|
919
919
|
"character": 2,
|
|
920
|
-
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/
|
|
920
|
+
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/c66c3dbd117/packages/modules/packages/sentinal/src/contexts/Provider.tsx#L19"
|
|
921
921
|
}
|
|
922
922
|
],
|
|
923
923
|
"type": {
|
|
@@ -947,7 +947,7 @@
|
|
|
947
947
|
"fileName": "packages/modules/packages/sentinal/src/contexts/Provider.tsx",
|
|
948
948
|
"line": 11,
|
|
949
949
|
"character": 17,
|
|
950
|
-
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/
|
|
950
|
+
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/c66c3dbd117/packages/modules/packages/sentinal/src/contexts/Provider.tsx#L11"
|
|
951
951
|
}
|
|
952
952
|
]
|
|
953
953
|
},
|
|
@@ -971,7 +971,7 @@
|
|
|
971
971
|
"fileName": "packages/modules/packages/sentinal/src/contexts/State.ts",
|
|
972
972
|
"line": 25,
|
|
973
973
|
"character": 2,
|
|
974
|
-
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/
|
|
974
|
+
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/c66c3dbd117/packages/modules/packages/sentinal/src/contexts/State.ts#L25"
|
|
975
975
|
}
|
|
976
976
|
],
|
|
977
977
|
"type": {
|
|
@@ -1005,7 +1005,7 @@
|
|
|
1005
1005
|
"fileName": "packages/modules/packages/sentinal/src/contexts/State.ts",
|
|
1006
1006
|
"line": 26,
|
|
1007
1007
|
"character": 2,
|
|
1008
|
-
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/
|
|
1008
|
+
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/c66c3dbd117/packages/modules/packages/sentinal/src/contexts/State.ts#L26"
|
|
1009
1009
|
}
|
|
1010
1010
|
],
|
|
1011
1011
|
"type": {
|
|
@@ -1041,7 +1041,7 @@
|
|
|
1041
1041
|
"fileName": "packages/modules/packages/sentinal/src/contexts/State.ts",
|
|
1042
1042
|
"line": 24,
|
|
1043
1043
|
"character": 17,
|
|
1044
|
-
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/
|
|
1044
|
+
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/c66c3dbd117/packages/modules/packages/sentinal/src/contexts/State.ts#L24"
|
|
1045
1045
|
}
|
|
1046
1046
|
]
|
|
1047
1047
|
},
|
|
@@ -1063,7 +1063,7 @@
|
|
|
1063
1063
|
"fileName": "packages/modules/packages/sentinal/src/contexts/State.ts",
|
|
1064
1064
|
"line": 15,
|
|
1065
1065
|
"character": 2,
|
|
1066
|
-
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/
|
|
1066
|
+
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/c66c3dbd117/packages/modules/packages/sentinal/src/contexts/State.ts#L15"
|
|
1067
1067
|
}
|
|
1068
1068
|
],
|
|
1069
1069
|
"type": {
|
|
@@ -1083,7 +1083,7 @@
|
|
|
1083
1083
|
"fileName": "packages/modules/packages/sentinal/src/contexts/State.ts",
|
|
1084
1084
|
"line": 16,
|
|
1085
1085
|
"character": 2,
|
|
1086
|
-
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/
|
|
1086
|
+
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/c66c3dbd117/packages/modules/packages/sentinal/src/contexts/State.ts#L16"
|
|
1087
1087
|
}
|
|
1088
1088
|
],
|
|
1089
1089
|
"type": {
|
|
@@ -1269,7 +1269,7 @@
|
|
|
1269
1269
|
"fileName": "packages/modules/packages/sentinal/src/contexts/State.ts",
|
|
1270
1270
|
"line": 14,
|
|
1271
1271
|
"character": 17,
|
|
1272
|
-
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/
|
|
1272
|
+
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/c66c3dbd117/packages/modules/packages/sentinal/src/contexts/State.ts#L14"
|
|
1273
1273
|
}
|
|
1274
1274
|
]
|
|
1275
1275
|
},
|
|
@@ -1286,7 +1286,7 @@
|
|
|
1286
1286
|
"fileName": "packages/modules/packages/sentinal/src/contexts/Context.ts",
|
|
1287
1287
|
"line": 5,
|
|
1288
1288
|
"character": 13,
|
|
1289
|
-
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/
|
|
1289
|
+
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/c66c3dbd117/packages/modules/packages/sentinal/src/contexts/Context.ts#L5"
|
|
1290
1290
|
}
|
|
1291
1291
|
],
|
|
1292
1292
|
"type": {
|
|
@@ -1324,7 +1324,7 @@
|
|
|
1324
1324
|
"fileName": "packages/modules/packages/sentinal/src/contexts/Provider.tsx",
|
|
1325
1325
|
"line": 22,
|
|
1326
1326
|
"character": 13,
|
|
1327
|
-
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/
|
|
1327
|
+
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/c66c3dbd117/packages/modules/packages/sentinal/src/contexts/Provider.tsx#L22"
|
|
1328
1328
|
}
|
|
1329
1329
|
],
|
|
1330
1330
|
"signatures": [
|
|
@@ -1408,7 +1408,7 @@
|
|
|
1408
1408
|
"fileName": "packages/modules/packages/sentinal/src/hooks/useSentinel.tsx",
|
|
1409
1409
|
"line": 4,
|
|
1410
1410
|
"character": 13,
|
|
1411
|
-
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/
|
|
1411
|
+
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/c66c3dbd117/packages/modules/packages/sentinal/src/hooks/useSentinel.tsx#L4"
|
|
1412
1412
|
}
|
|
1413
1413
|
],
|
|
1414
1414
|
"signatures": [
|
|
@@ -1510,7 +1510,7 @@
|
|
|
1510
1510
|
"fileName": "packages/modules/packages/sentinal/src/contexts/use.ts",
|
|
1511
1511
|
"line": 5,
|
|
1512
1512
|
"character": 13,
|
|
1513
|
-
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/
|
|
1513
|
+
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/c66c3dbd117/packages/modules/packages/sentinal/src/contexts/use.ts#L5"
|
|
1514
1514
|
}
|
|
1515
1515
|
],
|
|
1516
1516
|
"signatures": [
|
|
@@ -1540,7 +1540,7 @@
|
|
|
1540
1540
|
"fileName": "packages/modules/packages/sentinal/src/contexts/use.ts",
|
|
1541
1541
|
"line": 7,
|
|
1542
1542
|
"character": 11,
|
|
1543
|
-
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/
|
|
1543
|
+
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/c66c3dbd117/packages/modules/packages/sentinal/src/contexts/use.ts#L7"
|
|
1544
1544
|
}
|
|
1545
1545
|
],
|
|
1546
1546
|
"type": {
|
|
@@ -1607,7 +1607,7 @@
|
|
|
1607
1607
|
"fileName": "packages/modules/packages/sentinal/src/contexts/use.ts",
|
|
1608
1608
|
"line": 7,
|
|
1609
1609
|
"character": 20,
|
|
1610
|
-
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/
|
|
1610
|
+
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/c66c3dbd117/packages/modules/packages/sentinal/src/contexts/use.ts#L7"
|
|
1611
1611
|
}
|
|
1612
1612
|
],
|
|
1613
1613
|
"type": {
|
|
@@ -1636,7 +1636,7 @@
|
|
|
1636
1636
|
"fileName": "packages/modules/packages/sentinal/src/contexts/use.ts",
|
|
1637
1637
|
"line": 7,
|
|
1638
1638
|
"character": 30,
|
|
1639
|
-
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/
|
|
1639
|
+
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/c66c3dbd117/packages/modules/packages/sentinal/src/contexts/use.ts#L7"
|
|
1640
1640
|
}
|
|
1641
1641
|
],
|
|
1642
1642
|
"type": {
|
|
@@ -1669,7 +1669,7 @@
|
|
|
1669
1669
|
"fileName": "packages/modules/packages/sentinal/src/contexts/use.ts",
|
|
1670
1670
|
"line": 7,
|
|
1671
1671
|
"character": 47,
|
|
1672
|
-
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/
|
|
1672
|
+
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/c66c3dbd117/packages/modules/packages/sentinal/src/contexts/use.ts#L7"
|
|
1673
1673
|
}
|
|
1674
1674
|
],
|
|
1675
1675
|
"type": {
|
|
@@ -1942,7 +1942,7 @@
|
|
|
1942
1942
|
"fileName": "packages/modules/packages/sentinal/src/contexts/use.ts",
|
|
1943
1943
|
"line": 7,
|
|
1944
1944
|
"character": 57,
|
|
1945
|
-
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/
|
|
1945
|
+
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/c66c3dbd117/packages/modules/packages/sentinal/src/contexts/use.ts#L7"
|
|
1946
1946
|
}
|
|
1947
1947
|
],
|
|
1948
1948
|
"type": {
|
|
@@ -1978,7 +1978,7 @@
|
|
|
1978
1978
|
"fileName": "packages/modules/packages/sentinal/src/contexts/use.ts",
|
|
1979
1979
|
"line": 7,
|
|
1980
1980
|
"character": 9,
|
|
1981
|
-
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/
|
|
1981
|
+
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/c66c3dbd117/packages/modules/packages/sentinal/src/contexts/use.ts#L7"
|
|
1982
1982
|
}
|
|
1983
1983
|
]
|
|
1984
1984
|
}
|
|
@@ -2024,7 +2024,7 @@
|
|
|
2024
2024
|
"fileName": "packages/modules/packages/sentinal/src/index.ts",
|
|
2025
2025
|
"line": 1,
|
|
2026
2026
|
"character": 0,
|
|
2027
|
-
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/
|
|
2027
|
+
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/c66c3dbd117/packages/modules/packages/sentinal/src/index.ts#L1"
|
|
2028
2028
|
}
|
|
2029
2029
|
]
|
|
2030
2030
|
}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { useAsyncEffect } from '@xylabs/react-shared';
|
|
3
|
+
import { useNode } from '@xyo-network/react-node';
|
|
3
4
|
import { MemorySentinel, SentinelConfigSchema } from '@xyo-network/sentinel';
|
|
4
5
|
import { useEffect, useState } from 'react';
|
|
5
6
|
import { SentinelContext } from './Context';
|
|
6
7
|
import { SentinelReportStatus } from './State';
|
|
7
8
|
export const SentinelProvider = ({ account, archivist, children, name, witnesses = [], required = false, }) => {
|
|
9
|
+
const [node] = useNode();
|
|
8
10
|
const [sentinel, setSentinel] = useState();
|
|
9
11
|
const [history, setHistory] = useState();
|
|
10
12
|
const [progress, setProgress] = useState({});
|
|
@@ -13,6 +15,7 @@ export const SentinelProvider = ({ account, archivist, children, name, witnesses
|
|
|
13
15
|
useAsyncEffect(
|
|
14
16
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
15
17
|
async (mounted) => {
|
|
18
|
+
const witnessModules = await node?.resolve({ address: witnesses });
|
|
16
19
|
const sentinel = await MemorySentinel.create({
|
|
17
20
|
account,
|
|
18
21
|
config: {
|
|
@@ -21,23 +24,26 @@ export const SentinelProvider = ({ account, archivist, children, name, witnesses
|
|
|
21
24
|
schema: SentinelConfigSchema,
|
|
22
25
|
witnesses,
|
|
23
26
|
},
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
|
|
27
|
+
});
|
|
28
|
+
const offCallbacks = [];
|
|
29
|
+
offCallbacks.push(sentinel.on('onReportEnd', ({ errors }) => {
|
|
30
|
+
if (mounted()) {
|
|
31
|
+
setProgress({
|
|
32
|
+
archivists: progress.archivists,
|
|
33
|
+
witnesses: progress.witnesses,
|
|
34
|
+
});
|
|
35
|
+
setStatus(errors ? SentinelReportStatus.Failed : SentinelReportStatus.Succeeded);
|
|
36
|
+
setReportingErrors(errors);
|
|
37
|
+
}
|
|
38
|
+
}));
|
|
39
|
+
offCallbacks.push(sentinel.on('onReportStarted', () => {
|
|
40
|
+
if (mounted()) {
|
|
41
|
+
setProgress({ archivists: {}, witnesses: {} });
|
|
42
|
+
setStatus(SentinelReportStatus.Started);
|
|
43
|
+
}
|
|
44
|
+
}));
|
|
45
|
+
witnessModules?.forEach((witness) => {
|
|
46
|
+
offCallbacks.push(witness.on('onReportEnd', ({ witness, error }) => {
|
|
41
47
|
const witnesses = progress.witnesses ?? {};
|
|
42
48
|
witnesses[witness.address] = {
|
|
43
49
|
status: error ? SentinelReportStatus.Failed : SentinelReportStatus.Succeeded,
|
|
@@ -49,8 +55,8 @@ export const SentinelProvider = ({ account, archivist, children, name, witnesses
|
|
|
49
55
|
witnesses,
|
|
50
56
|
});
|
|
51
57
|
}
|
|
52
|
-
}
|
|
53
|
-
|
|
58
|
+
}));
|
|
59
|
+
offCallbacks.push(witness.on('onReportStarted', ({ witness }) => {
|
|
54
60
|
const witnesses = progress.witnesses ?? {};
|
|
55
61
|
witnesses[witness.address] = {
|
|
56
62
|
status: SentinelReportStatus.Started,
|
|
@@ -62,12 +68,18 @@ export const SentinelProvider = ({ account, archivist, children, name, witnesses
|
|
|
62
68
|
witnesses,
|
|
63
69
|
});
|
|
64
70
|
}
|
|
65
|
-
}
|
|
71
|
+
}));
|
|
66
72
|
});
|
|
67
73
|
setSentinel(sentinel);
|
|
74
|
+
return () => {
|
|
75
|
+
//unsubscribe from events
|
|
76
|
+
offCallbacks.forEach((callback) => {
|
|
77
|
+
callback();
|
|
78
|
+
});
|
|
79
|
+
};
|
|
68
80
|
},
|
|
69
81
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
70
|
-
[account, archivist, witnesses]);
|
|
82
|
+
[account, archivist, witnesses, node]);
|
|
71
83
|
useEffect(() => {
|
|
72
84
|
setHistory(sentinel?.history);
|
|
73
85
|
}, [sentinel]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Provider.js","sourceRoot":"","sources":["../../../src/contexts/Provider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,cAAc,EAAgB,MAAM,sBAAsB,CAAA;AAGnE,OAAO,EAAE,cAAc,EAAkB,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAE5F,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAE3C,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAC3C,OAAO,EAA0B,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAatE,MAAM,CAAC,MAAM,gBAAgB,GAAkD,CAAC,EAC9E,OAAO,EACP,SAAS,EACT,QAAQ,EACR,IAAI,EACJ,SAAS,GAAG,EAAE,EACd,QAAQ,GAAG,KAAK,GACjB,EAAE,EAAE;IACH,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,EAAkB,CAAA;IAC1D,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,EAAqB,CAAA;IAC3D,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAyB,EAAE,CAAC,CAAA;IACpE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAA;IAC/D,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,EAAW,CAAA;IAEjE,cAAc;IACZ,uDAAuD;IACvD,KAAK,EAAE,OAAO,EAAE,EAAE;QAChB,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC;YAC3C,OAAO;YACP,MAAM,EAAE;gBACN,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;gBAC/C,IAAI;gBAEJ,MAAM,EAAE,oBAAoB;gBAC5B,SAAS;aACQ;
|
|
1
|
+
{"version":3,"file":"Provider.js","sourceRoot":"","sources":["../../../src/contexts/Provider.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Provider.d.ts","sourceRoot":"","sources":["../../../src/contexts/Provider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAkB,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;
|
|
1
|
+
{"version":3,"file":"Provider.d.ts","sourceRoot":"","sources":["../../../src/contexts/Provider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAkB,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAU5D,MAAM,WAAW,qBAAqB;IACpC,+CAA+C;IAC/C,OAAO,EAAE,eAAe,CAAA;IACxB,+EAA+E;IAC/E,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;CACrB;AAED,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,qBAAqB,CAAC,CAqG1E,CAAA"}
|
package/package.json
CHANGED
|
@@ -11,13 +11,13 @@
|
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"@xylabs/react-shared": "^2.16.11",
|
|
14
|
-
"@xyo-network/account": "^2.52.0-rc.
|
|
15
|
-
"@xyo-network/archivist": "^2.52.0-rc.
|
|
16
|
-
"@xyo-network/boundwitness-model": "^2.52.0-rc.
|
|
17
|
-
"@xyo-network/react-node": "^2.46.0-rc.
|
|
18
|
-
"@xyo-network/react-shared": "^2.46.0-rc.
|
|
19
|
-
"@xyo-network/sentinel": "^2.52.0-rc.
|
|
20
|
-
"@xyo-network/witness": "^2.52.0-rc.
|
|
14
|
+
"@xyo-network/account": "^2.52.0-rc.5",
|
|
15
|
+
"@xyo-network/archivist": "^2.52.0-rc.5",
|
|
16
|
+
"@xyo-network/boundwitness-model": "^2.52.0-rc.5",
|
|
17
|
+
"@xyo-network/react-node": "^2.46.0-rc.3",
|
|
18
|
+
"@xyo-network/react-shared": "^2.46.0-rc.3",
|
|
19
|
+
"@xyo-network/sentinel": "^2.52.0-rc.5",
|
|
20
|
+
"@xyo-network/witness": "^2.52.0-rc.5"
|
|
21
21
|
},
|
|
22
22
|
"devDependencies": {
|
|
23
23
|
"@xylabs/ts-scripts-yarn3": "^2.16.1",
|
|
@@ -76,6 +76,6 @@
|
|
|
76
76
|
},
|
|
77
77
|
"sideEffects": false,
|
|
78
78
|
"types": "dist/types/index.d.ts",
|
|
79
|
-
"version": "2.46.0-rc.
|
|
79
|
+
"version": "2.46.0-rc.3",
|
|
80
80
|
"stableVersion": "2.45.9"
|
|
81
81
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { useAsyncEffect, WithChildren } from '@xylabs/react-shared'
|
|
2
2
|
import { AccountInstance } from '@xyo-network/account-model'
|
|
3
3
|
import { XyoBoundWitness } from '@xyo-network/boundwitness-model'
|
|
4
|
+
import { useNode } from '@xyo-network/react-node'
|
|
4
5
|
import { MemorySentinel, SentinelConfig, SentinelConfigSchema } from '@xyo-network/sentinel'
|
|
5
|
-
import { WitnessModule, WitnessWrapper } from '@xyo-network/witness'
|
|
6
6
|
import { useEffect, useState } from 'react'
|
|
7
7
|
|
|
8
8
|
import { SentinelContext } from './Context'
|
|
@@ -27,6 +27,7 @@ export const SentinelProvider: React.FC<WithChildren<SentinelProviderProps>> = (
|
|
|
27
27
|
witnesses = [],
|
|
28
28
|
required = false,
|
|
29
29
|
}) => {
|
|
30
|
+
const [node] = useNode()
|
|
30
31
|
const [sentinel, setSentinel] = useState<MemorySentinel>()
|
|
31
32
|
const [history, setHistory] = useState<XyoBoundWitness[]>()
|
|
32
33
|
const [progress, setProgress] = useState<SentinelReportProgress>({})
|
|
@@ -36,6 +37,7 @@ export const SentinelProvider: React.FC<WithChildren<SentinelProviderProps>> = (
|
|
|
36
37
|
useAsyncEffect(
|
|
37
38
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
38
39
|
async (mounted) => {
|
|
40
|
+
const witnessModules = await node?.resolve({ address: witnesses })
|
|
39
41
|
const sentinel = await MemorySentinel.create({
|
|
40
42
|
account,
|
|
41
43
|
config: {
|
|
@@ -45,7 +47,10 @@ export const SentinelProvider: React.FC<WithChildren<SentinelProviderProps>> = (
|
|
|
45
47
|
schema: SentinelConfigSchema,
|
|
46
48
|
witnesses,
|
|
47
49
|
} as SentinelConfig,
|
|
48
|
-
|
|
50
|
+
})
|
|
51
|
+
const offCallbacks: (() => void)[] = []
|
|
52
|
+
offCallbacks.push(
|
|
53
|
+
sentinel.on('onReportEnd', ({ errors }) => {
|
|
49
54
|
if (mounted()) {
|
|
50
55
|
setProgress({
|
|
51
56
|
archivists: progress.archivists,
|
|
@@ -54,44 +59,58 @@ export const SentinelProvider: React.FC<WithChildren<SentinelProviderProps>> = (
|
|
|
54
59
|
setStatus(errors ? SentinelReportStatus.Failed : SentinelReportStatus.Succeeded)
|
|
55
60
|
setReportingErrors(errors)
|
|
56
61
|
}
|
|
57
|
-
},
|
|
58
|
-
|
|
62
|
+
}),
|
|
63
|
+
)
|
|
64
|
+
offCallbacks.push(
|
|
65
|
+
sentinel.on('onReportStarted', () => {
|
|
59
66
|
if (mounted()) {
|
|
60
67
|
setProgress({ archivists: {}, witnesses: {} })
|
|
61
68
|
setStatus(SentinelReportStatus.Started)
|
|
62
69
|
}
|
|
63
|
-
},
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
|
|
70
|
+
}),
|
|
71
|
+
)
|
|
72
|
+
witnessModules?.forEach((witness) => {
|
|
73
|
+
offCallbacks.push(
|
|
74
|
+
witness.on('onReportEnd', ({ witness, error }) => {
|
|
75
|
+
const witnesses = progress.witnesses ?? {}
|
|
76
|
+
witnesses[witness.address] = {
|
|
77
|
+
status: error ? SentinelReportStatus.Failed : SentinelReportStatus.Succeeded,
|
|
78
|
+
witness,
|
|
79
|
+
}
|
|
80
|
+
if (mounted()) {
|
|
81
|
+
setProgress({
|
|
82
|
+
archivists: progress.archivists,
|
|
83
|
+
witnesses,
|
|
84
|
+
})
|
|
85
|
+
}
|
|
86
|
+
}),
|
|
87
|
+
)
|
|
88
|
+
offCallbacks.push(
|
|
89
|
+
witness.on('onReportStarted', ({ witness }) => {
|
|
90
|
+
const witnesses = progress.witnesses ?? {}
|
|
91
|
+
witnesses[witness.address] = {
|
|
92
|
+
status: SentinelReportStatus.Started,
|
|
93
|
+
witness,
|
|
94
|
+
}
|
|
95
|
+
if (mounted()) {
|
|
96
|
+
setProgress({
|
|
97
|
+
archivists: progress.archivists,
|
|
98
|
+
witnesses,
|
|
99
|
+
})
|
|
100
|
+
}
|
|
101
|
+
}),
|
|
102
|
+
)
|
|
90
103
|
})
|
|
91
104
|
setSentinel(sentinel as MemorySentinel)
|
|
105
|
+
return () => {
|
|
106
|
+
//unsubscribe from events
|
|
107
|
+
offCallbacks.forEach((callback) => {
|
|
108
|
+
callback()
|
|
109
|
+
})
|
|
110
|
+
}
|
|
92
111
|
},
|
|
93
112
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
94
|
-
[account, archivist, witnesses],
|
|
113
|
+
[account, archivist, witnesses, node],
|
|
95
114
|
)
|
|
96
115
|
|
|
97
116
|
useEffect(() => {
|