@xyo-network/abstract-witness 2.75.15 → 2.75.17
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/docs.json +19 -19
- package/package.json +12 -12
- package/dist/browser/AbstractWitness.cjs +0 -105
- package/dist/browser/AbstractWitness.cjs.map +0 -1
- package/dist/browser/AbstractWitness.js +0 -86
- package/dist/browser/AbstractWitness.js.map +0 -1
- package/dist/node/AbstractWitness.js +0 -114
- package/dist/node/AbstractWitness.js.map +0 -1
- package/dist/node/AbstractWitness.mjs +0 -91
- package/dist/node/AbstractWitness.mjs.map +0 -1
package/dist/docs.json
CHANGED
|
@@ -3730,7 +3730,7 @@
|
|
|
3730
3730
|
"fileName": "modules/packages/witness/packages/abstract/src/AbstractWitness.ts",
|
|
3731
3731
|
"line": 30,
|
|
3732
3732
|
"character": 10,
|
|
3733
|
-
"url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/
|
|
3733
|
+
"url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/88daee906ba30/packages/modules/packages/witness/packages/abstract/src/AbstractWitness.ts#L30"
|
|
3734
3734
|
}
|
|
3735
3735
|
],
|
|
3736
3736
|
"type": {
|
|
@@ -4467,7 +4467,7 @@
|
|
|
4467
4467
|
"fileName": "modules/packages/witness/packages/abstract/src/AbstractWitness.ts",
|
|
4468
4468
|
"line": 28,
|
|
4469
4469
|
"character": 27,
|
|
4470
|
-
"url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/
|
|
4470
|
+
"url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/88daee906ba30/packages/modules/packages/witness/packages/abstract/src/AbstractWitness.ts#L28"
|
|
4471
4471
|
}
|
|
4472
4472
|
],
|
|
4473
4473
|
"type": {
|
|
@@ -4579,7 +4579,7 @@
|
|
|
4579
4579
|
"fileName": "modules/packages/witness/packages/abstract/src/AbstractWitness.ts",
|
|
4580
4580
|
"line": 44,
|
|
4581
4581
|
"character": 25,
|
|
4582
|
-
"url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/
|
|
4582
|
+
"url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/88daee906ba30/packages/modules/packages/witness/packages/abstract/src/AbstractWitness.ts#L44"
|
|
4583
4583
|
}
|
|
4584
4584
|
],
|
|
4585
4585
|
"getSignature": {
|
|
@@ -4593,7 +4593,7 @@
|
|
|
4593
4593
|
"fileName": "modules/packages/witness/packages/abstract/src/AbstractWitness.ts",
|
|
4594
4594
|
"line": 44,
|
|
4595
4595
|
"character": 25,
|
|
4596
|
-
"url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/
|
|
4596
|
+
"url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/88daee906ba30/packages/modules/packages/witness/packages/abstract/src/AbstractWitness.ts#L44"
|
|
4597
4597
|
}
|
|
4598
4598
|
],
|
|
4599
4599
|
"type": {
|
|
@@ -4779,7 +4779,7 @@
|
|
|
4779
4779
|
"fileName": "modules/packages/witness/packages/abstract/src/AbstractWitness.ts",
|
|
4780
4780
|
"line": 32,
|
|
4781
4781
|
"character": 6,
|
|
4782
|
-
"url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/
|
|
4782
|
+
"url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/88daee906ba30/packages/modules/packages/witness/packages/abstract/src/AbstractWitness.ts#L32"
|
|
4783
4783
|
}
|
|
4784
4784
|
],
|
|
4785
4785
|
"getSignature": {
|
|
@@ -4793,7 +4793,7 @@
|
|
|
4793
4793
|
"fileName": "modules/packages/witness/packages/abstract/src/AbstractWitness.ts",
|
|
4794
4794
|
"line": 32,
|
|
4795
4795
|
"character": 6,
|
|
4796
|
-
"url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/
|
|
4796
|
+
"url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/88daee906ba30/packages/modules/packages/witness/packages/abstract/src/AbstractWitness.ts#L32"
|
|
4797
4797
|
}
|
|
4798
4798
|
],
|
|
4799
4799
|
"type": {
|
|
@@ -4988,7 +4988,7 @@
|
|
|
4988
4988
|
"fileName": "modules/packages/witness/packages/abstract/src/AbstractWitness.ts",
|
|
4989
4989
|
"line": 36,
|
|
4990
4990
|
"character": 15,
|
|
4991
|
-
"url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/
|
|
4991
|
+
"url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/88daee906ba30/packages/modules/packages/witness/packages/abstract/src/AbstractWitness.ts#L36"
|
|
4992
4992
|
}
|
|
4993
4993
|
],
|
|
4994
4994
|
"getSignature": {
|
|
@@ -5002,7 +5002,7 @@
|
|
|
5002
5002
|
"fileName": "modules/packages/witness/packages/abstract/src/AbstractWitness.ts",
|
|
5003
5003
|
"line": 36,
|
|
5004
5004
|
"character": 15,
|
|
5005
|
-
"url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/
|
|
5005
|
+
"url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/88daee906ba30/packages/modules/packages/witness/packages/abstract/src/AbstractWitness.ts#L36"
|
|
5006
5006
|
}
|
|
5007
5007
|
],
|
|
5008
5008
|
"type": {
|
|
@@ -5204,7 +5204,7 @@
|
|
|
5204
5204
|
"fileName": "modules/packages/witness/packages/abstract/src/AbstractWitness.ts",
|
|
5205
5205
|
"line": 40,
|
|
5206
5206
|
"character": 6,
|
|
5207
|
-
"url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/
|
|
5207
|
+
"url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/88daee906ba30/packages/modules/packages/witness/packages/abstract/src/AbstractWitness.ts#L40"
|
|
5208
5208
|
}
|
|
5209
5209
|
],
|
|
5210
5210
|
"getSignature": {
|
|
@@ -5218,7 +5218,7 @@
|
|
|
5218
5218
|
"fileName": "modules/packages/witness/packages/abstract/src/AbstractWitness.ts",
|
|
5219
5219
|
"line": 40,
|
|
5220
5220
|
"character": 6,
|
|
5221
|
-
"url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/
|
|
5221
|
+
"url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/88daee906ba30/packages/modules/packages/witness/packages/abstract/src/AbstractWitness.ts#L40"
|
|
5222
5222
|
}
|
|
5223
5223
|
],
|
|
5224
5224
|
"type": {
|
|
@@ -8484,7 +8484,7 @@
|
|
|
8484
8484
|
"fileName": "modules/packages/witness/packages/abstract/src/AbstractWitness.ts",
|
|
8485
8485
|
"line": 50,
|
|
8486
8486
|
"character": 8,
|
|
8487
|
-
"url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/
|
|
8487
|
+
"url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/88daee906ba30/packages/modules/packages/witness/packages/abstract/src/AbstractWitness.ts#L50"
|
|
8488
8488
|
}
|
|
8489
8489
|
],
|
|
8490
8490
|
"signatures": [
|
|
@@ -8499,7 +8499,7 @@
|
|
|
8499
8499
|
"fileName": "modules/packages/witness/packages/abstract/src/AbstractWitness.ts",
|
|
8500
8500
|
"line": 50,
|
|
8501
8501
|
"character": 8,
|
|
8502
|
-
"url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/
|
|
8502
|
+
"url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/88daee906ba30/packages/modules/packages/witness/packages/abstract/src/AbstractWitness.ts#L50"
|
|
8503
8503
|
}
|
|
8504
8504
|
],
|
|
8505
8505
|
"type": {
|
|
@@ -9223,7 +9223,7 @@
|
|
|
9223
9223
|
"fileName": "modules/packages/witness/packages/abstract/src/AbstractWitness.ts",
|
|
9224
9224
|
"line": 57,
|
|
9225
9225
|
"character": 8,
|
|
9226
|
-
"url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/
|
|
9226
|
+
"url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/88daee906ba30/packages/modules/packages/witness/packages/abstract/src/AbstractWitness.ts#L57"
|
|
9227
9227
|
}
|
|
9228
9228
|
],
|
|
9229
9229
|
"signatures": [
|
|
@@ -9252,7 +9252,7 @@
|
|
|
9252
9252
|
"fileName": "modules/packages/witness/packages/abstract/src/AbstractWitness.ts",
|
|
9253
9253
|
"line": 57,
|
|
9254
9254
|
"character": 8,
|
|
9255
|
-
"url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/
|
|
9255
|
+
"url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/88daee906ba30/packages/modules/packages/witness/packages/abstract/src/AbstractWitness.ts#L57"
|
|
9256
9256
|
}
|
|
9257
9257
|
],
|
|
9258
9258
|
"parameters": [
|
|
@@ -9428,7 +9428,7 @@
|
|
|
9428
9428
|
"fileName": "modules/packages/witness/packages/abstract/src/AbstractWitness.ts",
|
|
9429
9429
|
"line": 101,
|
|
9430
9430
|
"character": 21,
|
|
9431
|
-
"url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/
|
|
9431
|
+
"url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/88daee906ba30/packages/modules/packages/witness/packages/abstract/src/AbstractWitness.ts#L101"
|
|
9432
9432
|
}
|
|
9433
9433
|
],
|
|
9434
9434
|
"signatures": [
|
|
@@ -9457,7 +9457,7 @@
|
|
|
9457
9457
|
"fileName": "modules/packages/witness/packages/abstract/src/AbstractWitness.ts",
|
|
9458
9458
|
"line": 101,
|
|
9459
9459
|
"character": 21,
|
|
9460
|
-
"url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/
|
|
9460
|
+
"url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/88daee906ba30/packages/modules/packages/witness/packages/abstract/src/AbstractWitness.ts#L101"
|
|
9461
9461
|
}
|
|
9462
9462
|
],
|
|
9463
9463
|
"parameters": [
|
|
@@ -12250,7 +12250,7 @@
|
|
|
12250
12250
|
"fileName": "modules/packages/witness/packages/abstract/src/AbstractWitness.ts",
|
|
12251
12251
|
"line": 76,
|
|
12252
12252
|
"character": 27,
|
|
12253
|
-
"url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/
|
|
12253
|
+
"url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/88daee906ba30/packages/modules/packages/witness/packages/abstract/src/AbstractWitness.ts#L76"
|
|
12254
12254
|
}
|
|
12255
12255
|
],
|
|
12256
12256
|
"signatures": [
|
|
@@ -12279,7 +12279,7 @@
|
|
|
12279
12279
|
"fileName": "modules/packages/witness/packages/abstract/src/AbstractWitness.ts",
|
|
12280
12280
|
"line": 76,
|
|
12281
12281
|
"character": 27,
|
|
12282
|
-
"url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/
|
|
12282
|
+
"url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/88daee906ba30/packages/modules/packages/witness/packages/abstract/src/AbstractWitness.ts#L76"
|
|
12283
12283
|
}
|
|
12284
12284
|
],
|
|
12285
12285
|
"typeParameter": [
|
|
@@ -17947,7 +17947,7 @@
|
|
|
17947
17947
|
"fileName": "modules/packages/witness/packages/abstract/src/AbstractWitness.ts",
|
|
17948
17948
|
"line": 21,
|
|
17949
17949
|
"character": 22,
|
|
17950
|
-
"url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/
|
|
17950
|
+
"url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/88daee906ba30/packages/modules/packages/witness/packages/abstract/src/AbstractWitness.ts#L21"
|
|
17951
17951
|
}
|
|
17952
17952
|
],
|
|
17953
17953
|
"typeParameters": [
|
package/package.json
CHANGED
|
@@ -10,19 +10,19 @@
|
|
|
10
10
|
"url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/issues"
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
|
-
"@xylabs/assert": "^2.12.
|
|
14
|
-
"@xyo-network/archivist-model": "~2.75.
|
|
15
|
-
"@xyo-network/boundwitness-builder": "~2.75.
|
|
16
|
-
"@xyo-network/core": "~2.75.
|
|
17
|
-
"@xyo-network/module-abstract": "~2.75.
|
|
18
|
-
"@xyo-network/module-model": "~2.75.
|
|
19
|
-
"@xyo-network/payload-model": "~2.75.
|
|
20
|
-
"@xyo-network/promise": "~2.75.
|
|
21
|
-
"@xyo-network/witness-model": "~2.75.
|
|
13
|
+
"@xylabs/assert": "^2.12.24",
|
|
14
|
+
"@xyo-network/archivist-model": "~2.75.17",
|
|
15
|
+
"@xyo-network/boundwitness-builder": "~2.75.17",
|
|
16
|
+
"@xyo-network/core": "~2.75.17",
|
|
17
|
+
"@xyo-network/module-abstract": "~2.75.17",
|
|
18
|
+
"@xyo-network/module-model": "~2.75.17",
|
|
19
|
+
"@xyo-network/payload-model": "~2.75.17",
|
|
20
|
+
"@xyo-network/promise": "~2.75.17",
|
|
21
|
+
"@xyo-network/witness-model": "~2.75.17"
|
|
22
22
|
},
|
|
23
23
|
"devDependencies": {
|
|
24
|
-
"@xylabs/ts-scripts-yarn3": "^3.
|
|
25
|
-
"@xylabs/tsconfig": "^3.
|
|
24
|
+
"@xylabs/ts-scripts-yarn3": "^3.1.9",
|
|
25
|
+
"@xylabs/tsconfig": "^3.1.9",
|
|
26
26
|
"typescript": "^5.2.2"
|
|
27
27
|
},
|
|
28
28
|
"description": "Primary SDK for using XYO Protocol 2.0",
|
|
@@ -68,5 +68,5 @@
|
|
|
68
68
|
"url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js.git"
|
|
69
69
|
},
|
|
70
70
|
"sideEffects": false,
|
|
71
|
-
"version": "2.75.
|
|
71
|
+
"version": "2.75.17"
|
|
72
72
|
}
|
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
7
|
-
var __export = (target, all) => {
|
|
8
|
-
for (var name in all)
|
|
9
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
-
};
|
|
11
|
-
var __copyProps = (to, from, except, desc) => {
|
|
12
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
-
for (let key of __getOwnPropNames(from))
|
|
14
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
-
}
|
|
17
|
-
return to;
|
|
18
|
-
};
|
|
19
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
20
|
-
|
|
21
|
-
// src/AbstractWitness.ts
|
|
22
|
-
var AbstractWitness_exports = {};
|
|
23
|
-
__export(AbstractWitness_exports, {
|
|
24
|
-
AbstractWitness: () => AbstractWitness
|
|
25
|
-
});
|
|
26
|
-
module.exports = __toCommonJS(AbstractWitness_exports);
|
|
27
|
-
var import_assert = require("@xylabs/assert");
|
|
28
|
-
var import_boundwitness_builder = require("@xyo-network/boundwitness-builder");
|
|
29
|
-
var import_core = require("@xyo-network/core");
|
|
30
|
-
var import_module_abstract = require("@xyo-network/module-abstract");
|
|
31
|
-
var import_module_model = require("@xyo-network/module-model");
|
|
32
|
-
var import_witness_model = require("@xyo-network/witness-model");
|
|
33
|
-
(0, import_module_model.creatableModule)();
|
|
34
|
-
var AbstractWitness = class extends import_module_abstract.AbstractModuleInstance {
|
|
35
|
-
static {
|
|
36
|
-
__name(this, "AbstractWitness");
|
|
37
|
-
}
|
|
38
|
-
static configSchemas = [
|
|
39
|
-
import_witness_model.WitnessConfigSchema
|
|
40
|
-
];
|
|
41
|
-
_archivistInstance;
|
|
42
|
-
get archivist() {
|
|
43
|
-
return this.config.archivist;
|
|
44
|
-
}
|
|
45
|
-
get queries() {
|
|
46
|
-
return [
|
|
47
|
-
import_witness_model.WitnessObserveQuerySchema,
|
|
48
|
-
...super.queries
|
|
49
|
-
];
|
|
50
|
-
}
|
|
51
|
-
get targetSet() {
|
|
52
|
-
return this.config?.targetSet;
|
|
53
|
-
}
|
|
54
|
-
get _queryAccountPaths() {
|
|
55
|
-
return {
|
|
56
|
-
"network.xyo.query.witness.observe": "1/1"
|
|
57
|
-
};
|
|
58
|
-
}
|
|
59
|
-
async getArchivistInstance() {
|
|
60
|
-
const archivistAddress = this.archivist;
|
|
61
|
-
this._archivistInstance = this._archivistInstance ?? (archivistAddress ? await this.resolve(archivistAddress) : void 0);
|
|
62
|
-
return this._archivistInstance;
|
|
63
|
-
}
|
|
64
|
-
/** @function observe The main entry point for a witness. Do not override this function. Implement/override observeHandler for custom functionality */
|
|
65
|
-
async observe(inPayloads) {
|
|
66
|
-
this._noOverride("observe");
|
|
67
|
-
await this.started("throw");
|
|
68
|
-
await this.emit("observeStart", {
|
|
69
|
-
inPayloads,
|
|
70
|
-
module: this
|
|
71
|
-
});
|
|
72
|
-
const outPayloads = (0, import_assert.assertEx)(await this.observeHandler(inPayloads), "Trying to witness nothing");
|
|
73
|
-
outPayloads?.forEach((payload) => (0, import_assert.assertEx)(payload.schema, "observe: Missing Schema"));
|
|
74
|
-
const archivist = await this.getArchivistInstance();
|
|
75
|
-
if (archivist) {
|
|
76
|
-
await archivist.insert(outPayloads);
|
|
77
|
-
}
|
|
78
|
-
await this.emit("observeEnd", {
|
|
79
|
-
inPayloads,
|
|
80
|
-
module: this,
|
|
81
|
-
outPayloads
|
|
82
|
-
});
|
|
83
|
-
return outPayloads;
|
|
84
|
-
}
|
|
85
|
-
/** @function queryHandler Calls observe for an observe query. Override to support additional queries. */
|
|
86
|
-
async queryHandler(query, payloads, queryConfig) {
|
|
87
|
-
const wrapper = import_boundwitness_builder.QueryBoundWitnessWrapper.parseQuery(query, payloads);
|
|
88
|
-
const queryPayload = await wrapper.getQuery();
|
|
89
|
-
(0, import_assert.assertEx)(this.queryable(query, payloads, queryConfig));
|
|
90
|
-
const resultPayloads = [];
|
|
91
|
-
const filteredObservation = await import_core.PayloadHasher.filterExclude(payloads, query.query);
|
|
92
|
-
switch (queryPayload.schema) {
|
|
93
|
-
case import_witness_model.WitnessObserveQuerySchema: {
|
|
94
|
-
const observePayloads = await this.observe(filteredObservation);
|
|
95
|
-
resultPayloads.push(...observePayloads);
|
|
96
|
-
break;
|
|
97
|
-
}
|
|
98
|
-
default: {
|
|
99
|
-
return super.queryHandler(query, payloads);
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
return resultPayloads;
|
|
103
|
-
}
|
|
104
|
-
};
|
|
105
|
-
//# sourceMappingURL=AbstractWitness.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/AbstractWitness.ts"],"sourcesContent":["import { assertEx } from '@xylabs/assert'\nimport { ArchivistInstance } from '@xyo-network/archivist-model'\nimport { QueryBoundWitness, QueryBoundWitnessWrapper } from '@xyo-network/boundwitness-builder'\nimport { PayloadHasher } from '@xyo-network/core'\nimport { AbstractModuleInstance } from '@xyo-network/module-abstract'\nimport { creatableModule, ModuleConfig, ModuleQueryHandlerResult } from '@xyo-network/module-model'\nimport { Payload } from '@xyo-network/payload-model'\nimport { Promisable } from '@xyo-network/promise'\nimport {\n CustomWitnessInstance,\n WitnessConfigSchema,\n WitnessInstance,\n WitnessModuleEventData,\n WitnessObserveQuerySchema,\n WitnessParams,\n WitnessQuery,\n WitnessQueryBase,\n} from '@xyo-network/witness-model'\n\ncreatableModule()\nexport abstract class AbstractWitness<\n TParams extends WitnessParams = WitnessParams,\n TEventData extends WitnessModuleEventData<WitnessInstance<TParams>> = WitnessModuleEventData<WitnessInstance<TParams>>,\n >\n extends AbstractModuleInstance<TParams, TEventData>\n implements CustomWitnessInstance<TParams, TEventData>\n{\n static override readonly configSchemas: string[] = [WitnessConfigSchema]\n\n private _archivistInstance: ArchivistInstance | undefined\n\n get archivist() {\n return this.config.archivist\n }\n\n override get queries(): string[] {\n return [WitnessObserveQuerySchema, ...super.queries]\n }\n\n get targetSet() {\n return this.config?.targetSet\n }\n\n protected override get _queryAccountPaths(): Record<WitnessQueryBase['schema'], string> {\n return {\n 'network.xyo.query.witness.observe': '1/1',\n }\n }\n\n async getArchivistInstance() {\n const archivistAddress = this.archivist\n this._archivistInstance = this._archivistInstance ?? (archivistAddress ? await this.resolve(archivistAddress) : undefined)\n return this._archivistInstance\n }\n\n /** @function observe The main entry point for a witness. Do not override this function. Implement/override observeHandler for custom functionality */\n async observe(inPayloads?: Payload[]): Promise<Payload[]> {\n this._noOverride('observe')\n await this.started('throw')\n await this.emit('observeStart', { inPayloads: inPayloads, module: this })\n const outPayloads = assertEx(await this.observeHandler(inPayloads), 'Trying to witness nothing')\n //assertEx(outPayloads.length > 0, 'Trying to witness empty list')\n outPayloads?.forEach((payload) => assertEx(payload.schema, 'observe: Missing Schema'))\n\n const archivist = await this.getArchivistInstance()\n if (archivist) {\n await archivist.insert(outPayloads)\n }\n\n await this.emit('observeEnd', { inPayloads, module: this, outPayloads })\n\n return outPayloads\n }\n\n /** @function queryHandler Calls observe for an observe query. Override to support additional queries. */\n protected override async queryHandler<T extends QueryBoundWitness = QueryBoundWitness, TConfig extends ModuleConfig = ModuleConfig>(\n query: T,\n payloads?: Payload[],\n queryConfig?: TConfig,\n ): Promise<ModuleQueryHandlerResult> {\n const wrapper = QueryBoundWitnessWrapper.parseQuery<WitnessQuery>(query, payloads)\n const queryPayload = await wrapper.getQuery()\n assertEx(this.queryable(query, payloads, queryConfig))\n const resultPayloads: Payload[] = []\n // Remove the query payload from the arguments passed to us so we don't observe it\n const filteredObservation = await PayloadHasher.filterExclude(payloads, query.query)\n switch (queryPayload.schema) {\n case WitnessObserveQuerySchema: {\n const observePayloads = await this.observe(filteredObservation)\n resultPayloads.push(...observePayloads)\n break\n }\n default: {\n return super.queryHandler(query, payloads)\n }\n }\n return resultPayloads\n }\n\n /** @function observeHandler Implement or override to add custom functionality to a witness */\n protected abstract observeHandler(payloads?: Payload[]): Promisable<Payload[]>\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;;;;oBAAyB;AAEzB,kCAA4D;AAC5D,kBAA8B;AAC9B,6BAAuC;AACvC,0BAAwE;AAGxE,2BASO;IAEPA,qCAAAA;AACO,IAAeC,kBAAf,cAIGC,8CAAAA;EAxBV,OAwBUA;;;EAGR,OAAyBC,gBAA0B;IAACC;;EAE5CC;EAER,IAAIC,YAAY;AACd,WAAO,KAAKC,OAAOD;EACrB;EAEA,IAAaE,UAAoB;AAC/B,WAAO;MAACC;SAA8B,MAAMD;;EAC9C;EAEA,IAAIE,YAAY;AACd,WAAO,KAAKH,QAAQG;EACtB;EAEA,IAAuBC,qBAAiE;AACtF,WAAO;MACL,qCAAqC;IACvC;EACF;EAEA,MAAMC,uBAAuB;AAC3B,UAAMC,mBAAmB,KAAKP;AAC9B,SAAKD,qBAAqB,KAAKA,uBAAuBQ,mBAAmB,MAAM,KAAKC,QAAQD,gBAAAA,IAAoBE;AAChH,WAAO,KAAKV;EACd;;EAGA,MAAMW,QAAQC,YAA4C;AACxD,SAAKC,YAAY,SAAA;AACjB,UAAM,KAAKC,QAAQ,OAAA;AACnB,UAAM,KAAKC,KAAK,gBAAgB;MAAEH;MAAwBI,QAAQ;IAAK,CAAA;AACvE,UAAMC,kBAAcC,wBAAS,MAAM,KAAKC,eAAeP,UAAAA,GAAa,2BAAA;AAEpEK,iBAAaG,QAAQ,CAACC,gBAAYH,wBAASG,QAAQC,QAAQ,yBAAA,CAAA;AAE3D,UAAMrB,YAAY,MAAM,KAAKM,qBAAoB;AACjD,QAAIN,WAAW;AACb,YAAMA,UAAUsB,OAAON,WAAAA;IACzB;AAEA,UAAM,KAAKF,KAAK,cAAc;MAAEH;MAAYI,QAAQ;MAAMC;IAAY,CAAA;AAEtE,WAAOA;EACT;;EAGA,MAAyBO,aACvBC,OACAC,UACAC,aACmC;AACnC,UAAMC,UAAUC,qDAAyBC,WAAyBL,OAAOC,QAAAA;AACzE,UAAMK,eAAe,MAAMH,QAAQI,SAAQ;AAC3Cd,gCAAS,KAAKe,UAAUR,OAAOC,UAAUC,WAAAA,CAAAA;AACzC,UAAMO,iBAA4B,CAAA;AAElC,UAAMC,sBAAsB,MAAMC,0BAAcC,cAAcX,UAAUD,MAAMA,KAAK;AACnF,YAAQM,aAAaT,QAAM;MACzB,KAAKlB,gDAA2B;AAC9B,cAAMkC,kBAAkB,MAAM,KAAK3B,QAAQwB,mBAAAA;AAC3CD,uBAAeK,KAAI,GAAID,eAAAA;AACvB;MACF;MACA,SAAS;AACP,eAAO,MAAMd,aAAaC,OAAOC,QAAAA;MACnC;IACF;AACA,WAAOQ;EACT;AAIF;","names":["creatableModule","AbstractWitness","AbstractModuleInstance","configSchemas","WitnessConfigSchema","_archivistInstance","archivist","config","queries","WitnessObserveQuerySchema","targetSet","_queryAccountPaths","getArchivistInstance","archivistAddress","resolve","undefined","observe","inPayloads","_noOverride","started","emit","module","outPayloads","assertEx","observeHandler","forEach","payload","schema","insert","queryHandler","query","payloads","queryConfig","wrapper","QueryBoundWitnessWrapper","parseQuery","queryPayload","getQuery","queryable","resultPayloads","filteredObservation","PayloadHasher","filterExclude","observePayloads","push"]}
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
var __defProp = Object.defineProperty;
|
|
2
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
-
|
|
4
|
-
// src/AbstractWitness.ts
|
|
5
|
-
import { assertEx } from "@xylabs/assert";
|
|
6
|
-
import { QueryBoundWitnessWrapper } from "@xyo-network/boundwitness-builder";
|
|
7
|
-
import { PayloadHasher } from "@xyo-network/core";
|
|
8
|
-
import { AbstractModuleInstance } from "@xyo-network/module-abstract";
|
|
9
|
-
import { creatableModule } from "@xyo-network/module-model";
|
|
10
|
-
import { WitnessConfigSchema, WitnessObserveQuerySchema } from "@xyo-network/witness-model";
|
|
11
|
-
creatableModule();
|
|
12
|
-
var AbstractWitness = class extends AbstractModuleInstance {
|
|
13
|
-
static {
|
|
14
|
-
__name(this, "AbstractWitness");
|
|
15
|
-
}
|
|
16
|
-
static configSchemas = [
|
|
17
|
-
WitnessConfigSchema
|
|
18
|
-
];
|
|
19
|
-
_archivistInstance;
|
|
20
|
-
get archivist() {
|
|
21
|
-
return this.config.archivist;
|
|
22
|
-
}
|
|
23
|
-
get queries() {
|
|
24
|
-
return [
|
|
25
|
-
WitnessObserveQuerySchema,
|
|
26
|
-
...super.queries
|
|
27
|
-
];
|
|
28
|
-
}
|
|
29
|
-
get targetSet() {
|
|
30
|
-
return this.config?.targetSet;
|
|
31
|
-
}
|
|
32
|
-
get _queryAccountPaths() {
|
|
33
|
-
return {
|
|
34
|
-
"network.xyo.query.witness.observe": "1/1"
|
|
35
|
-
};
|
|
36
|
-
}
|
|
37
|
-
async getArchivistInstance() {
|
|
38
|
-
const archivistAddress = this.archivist;
|
|
39
|
-
this._archivistInstance = this._archivistInstance ?? (archivistAddress ? await this.resolve(archivistAddress) : void 0);
|
|
40
|
-
return this._archivistInstance;
|
|
41
|
-
}
|
|
42
|
-
/** @function observe The main entry point for a witness. Do not override this function. Implement/override observeHandler for custom functionality */
|
|
43
|
-
async observe(inPayloads) {
|
|
44
|
-
this._noOverride("observe");
|
|
45
|
-
await this.started("throw");
|
|
46
|
-
await this.emit("observeStart", {
|
|
47
|
-
inPayloads,
|
|
48
|
-
module: this
|
|
49
|
-
});
|
|
50
|
-
const outPayloads = assertEx(await this.observeHandler(inPayloads), "Trying to witness nothing");
|
|
51
|
-
outPayloads?.forEach((payload) => assertEx(payload.schema, "observe: Missing Schema"));
|
|
52
|
-
const archivist = await this.getArchivistInstance();
|
|
53
|
-
if (archivist) {
|
|
54
|
-
await archivist.insert(outPayloads);
|
|
55
|
-
}
|
|
56
|
-
await this.emit("observeEnd", {
|
|
57
|
-
inPayloads,
|
|
58
|
-
module: this,
|
|
59
|
-
outPayloads
|
|
60
|
-
});
|
|
61
|
-
return outPayloads;
|
|
62
|
-
}
|
|
63
|
-
/** @function queryHandler Calls observe for an observe query. Override to support additional queries. */
|
|
64
|
-
async queryHandler(query, payloads, queryConfig) {
|
|
65
|
-
const wrapper = QueryBoundWitnessWrapper.parseQuery(query, payloads);
|
|
66
|
-
const queryPayload = await wrapper.getQuery();
|
|
67
|
-
assertEx(this.queryable(query, payloads, queryConfig));
|
|
68
|
-
const resultPayloads = [];
|
|
69
|
-
const filteredObservation = await PayloadHasher.filterExclude(payloads, query.query);
|
|
70
|
-
switch (queryPayload.schema) {
|
|
71
|
-
case WitnessObserveQuerySchema: {
|
|
72
|
-
const observePayloads = await this.observe(filteredObservation);
|
|
73
|
-
resultPayloads.push(...observePayloads);
|
|
74
|
-
break;
|
|
75
|
-
}
|
|
76
|
-
default: {
|
|
77
|
-
return super.queryHandler(query, payloads);
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
return resultPayloads;
|
|
81
|
-
}
|
|
82
|
-
};
|
|
83
|
-
export {
|
|
84
|
-
AbstractWitness
|
|
85
|
-
};
|
|
86
|
-
//# sourceMappingURL=AbstractWitness.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/AbstractWitness.ts"],"sourcesContent":["import { assertEx } from '@xylabs/assert'\nimport { ArchivistInstance } from '@xyo-network/archivist-model'\nimport { QueryBoundWitness, QueryBoundWitnessWrapper } from '@xyo-network/boundwitness-builder'\nimport { PayloadHasher } from '@xyo-network/core'\nimport { AbstractModuleInstance } from '@xyo-network/module-abstract'\nimport { creatableModule, ModuleConfig, ModuleQueryHandlerResult } from '@xyo-network/module-model'\nimport { Payload } from '@xyo-network/payload-model'\nimport { Promisable } from '@xyo-network/promise'\nimport {\n CustomWitnessInstance,\n WitnessConfigSchema,\n WitnessInstance,\n WitnessModuleEventData,\n WitnessObserveQuerySchema,\n WitnessParams,\n WitnessQuery,\n WitnessQueryBase,\n} from '@xyo-network/witness-model'\n\ncreatableModule()\nexport abstract class AbstractWitness<\n TParams extends WitnessParams = WitnessParams,\n TEventData extends WitnessModuleEventData<WitnessInstance<TParams>> = WitnessModuleEventData<WitnessInstance<TParams>>,\n >\n extends AbstractModuleInstance<TParams, TEventData>\n implements CustomWitnessInstance<TParams, TEventData>\n{\n static override readonly configSchemas: string[] = [WitnessConfigSchema]\n\n private _archivistInstance: ArchivistInstance | undefined\n\n get archivist() {\n return this.config.archivist\n }\n\n override get queries(): string[] {\n return [WitnessObserveQuerySchema, ...super.queries]\n }\n\n get targetSet() {\n return this.config?.targetSet\n }\n\n protected override get _queryAccountPaths(): Record<WitnessQueryBase['schema'], string> {\n return {\n 'network.xyo.query.witness.observe': '1/1',\n }\n }\n\n async getArchivistInstance() {\n const archivistAddress = this.archivist\n this._archivistInstance = this._archivistInstance ?? (archivistAddress ? await this.resolve(archivistAddress) : undefined)\n return this._archivistInstance\n }\n\n /** @function observe The main entry point for a witness. Do not override this function. Implement/override observeHandler for custom functionality */\n async observe(inPayloads?: Payload[]): Promise<Payload[]> {\n this._noOverride('observe')\n await this.started('throw')\n await this.emit('observeStart', { inPayloads: inPayloads, module: this })\n const outPayloads = assertEx(await this.observeHandler(inPayloads), 'Trying to witness nothing')\n //assertEx(outPayloads.length > 0, 'Trying to witness empty list')\n outPayloads?.forEach((payload) => assertEx(payload.schema, 'observe: Missing Schema'))\n\n const archivist = await this.getArchivistInstance()\n if (archivist) {\n await archivist.insert(outPayloads)\n }\n\n await this.emit('observeEnd', { inPayloads, module: this, outPayloads })\n\n return outPayloads\n }\n\n /** @function queryHandler Calls observe for an observe query. Override to support additional queries. */\n protected override async queryHandler<T extends QueryBoundWitness = QueryBoundWitness, TConfig extends ModuleConfig = ModuleConfig>(\n query: T,\n payloads?: Payload[],\n queryConfig?: TConfig,\n ): Promise<ModuleQueryHandlerResult> {\n const wrapper = QueryBoundWitnessWrapper.parseQuery<WitnessQuery>(query, payloads)\n const queryPayload = await wrapper.getQuery()\n assertEx(this.queryable(query, payloads, queryConfig))\n const resultPayloads: Payload[] = []\n // Remove the query payload from the arguments passed to us so we don't observe it\n const filteredObservation = await PayloadHasher.filterExclude(payloads, query.query)\n switch (queryPayload.schema) {\n case WitnessObserveQuerySchema: {\n const observePayloads = await this.observe(filteredObservation)\n resultPayloads.push(...observePayloads)\n break\n }\n default: {\n return super.queryHandler(query, payloads)\n }\n }\n return resultPayloads\n }\n\n /** @function observeHandler Implement or override to add custom functionality to a witness */\n protected abstract observeHandler(payloads?: Payload[]): Promisable<Payload[]>\n}\n"],"mappings":";;;;AAAA,SAASA,gBAAgB;AAEzB,SAA4BC,gCAAgC;AAC5D,SAASC,qBAAqB;AAC9B,SAASC,8BAA8B;AACvC,SAASC,uBAA+D;AAGxE,SAEEC,qBAGAC,iCAIK;AAEPC,gBAAAA;AACO,IAAeC,kBAAf,cAIGC,uBAAAA;EAxBV,OAwBUA;;;EAGR,OAAyBC,gBAA0B;IAACC;;EAE5CC;EAER,IAAIC,YAAY;AACd,WAAO,KAAKC,OAAOD;EACrB;EAEA,IAAaE,UAAoB;AAC/B,WAAO;MAACC;SAA8B,MAAMD;;EAC9C;EAEA,IAAIE,YAAY;AACd,WAAO,KAAKH,QAAQG;EACtB;EAEA,IAAuBC,qBAAiE;AACtF,WAAO;MACL,qCAAqC;IACvC;EACF;EAEA,MAAMC,uBAAuB;AAC3B,UAAMC,mBAAmB,KAAKP;AAC9B,SAAKD,qBAAqB,KAAKA,uBAAuBQ,mBAAmB,MAAM,KAAKC,QAAQD,gBAAAA,IAAoBE;AAChH,WAAO,KAAKV;EACd;;EAGA,MAAMW,QAAQC,YAA4C;AACxD,SAAKC,YAAY,SAAA;AACjB,UAAM,KAAKC,QAAQ,OAAA;AACnB,UAAM,KAAKC,KAAK,gBAAgB;MAAEH;MAAwBI,QAAQ;IAAK,CAAA;AACvE,UAAMC,cAAcC,SAAS,MAAM,KAAKC,eAAeP,UAAAA,GAAa,2BAAA;AAEpEK,iBAAaG,QAAQ,CAACC,YAAYH,SAASG,QAAQC,QAAQ,yBAAA,CAAA;AAE3D,UAAMrB,YAAY,MAAM,KAAKM,qBAAoB;AACjD,QAAIN,WAAW;AACb,YAAMA,UAAUsB,OAAON,WAAAA;IACzB;AAEA,UAAM,KAAKF,KAAK,cAAc;MAAEH;MAAYI,QAAQ;MAAMC;IAAY,CAAA;AAEtE,WAAOA;EACT;;EAGA,MAAyBO,aACvBC,OACAC,UACAC,aACmC;AACnC,UAAMC,UAAUC,yBAAyBC,WAAyBL,OAAOC,QAAAA;AACzE,UAAMK,eAAe,MAAMH,QAAQI,SAAQ;AAC3Cd,aAAS,KAAKe,UAAUR,OAAOC,UAAUC,WAAAA,CAAAA;AACzC,UAAMO,iBAA4B,CAAA;AAElC,UAAMC,sBAAsB,MAAMC,cAAcC,cAAcX,UAAUD,MAAMA,KAAK;AACnF,YAAQM,aAAaT,QAAM;MACzB,KAAKlB,2BAA2B;AAC9B,cAAMkC,kBAAkB,MAAM,KAAK3B,QAAQwB,mBAAAA;AAC3CD,uBAAeK,KAAI,GAAID,eAAAA;AACvB;MACF;MACA,SAAS;AACP,eAAO,MAAMd,aAAaC,OAAOC,QAAAA;MACnC;IACF;AACA,WAAOQ;EACT;AAIF;","names":["assertEx","QueryBoundWitnessWrapper","PayloadHasher","AbstractModuleInstance","creatableModule","WitnessConfigSchema","WitnessObserveQuerySchema","creatableModule","AbstractWitness","AbstractModuleInstance","configSchemas","WitnessConfigSchema","_archivistInstance","archivist","config","queries","WitnessObserveQuerySchema","targetSet","_queryAccountPaths","getArchivistInstance","archivistAddress","resolve","undefined","observe","inPayloads","_noOverride","started","emit","module","outPayloads","assertEx","observeHandler","forEach","payload","schema","insert","queryHandler","query","payloads","queryConfig","wrapper","QueryBoundWitnessWrapper","parseQuery","queryPayload","getQuery","queryable","resultPayloads","filteredObservation","PayloadHasher","filterExclude","observePayloads","push"]}
|
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
7
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
8
|
-
var __export = (target, all) => {
|
|
9
|
-
for (var name in all)
|
|
10
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
-
};
|
|
12
|
-
var __copyProps = (to, from, except, desc) => {
|
|
13
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
-
for (let key of __getOwnPropNames(from))
|
|
15
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
-
}
|
|
18
|
-
return to;
|
|
19
|
-
};
|
|
20
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
21
|
-
var __publicField = (obj, key, value) => {
|
|
22
|
-
__defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
23
|
-
return value;
|
|
24
|
-
};
|
|
25
|
-
|
|
26
|
-
// src/AbstractWitness.ts
|
|
27
|
-
var AbstractWitness_exports = {};
|
|
28
|
-
__export(AbstractWitness_exports, {
|
|
29
|
-
AbstractWitness: () => AbstractWitness
|
|
30
|
-
});
|
|
31
|
-
module.exports = __toCommonJS(AbstractWitness_exports);
|
|
32
|
-
var import_assert = require("@xylabs/assert");
|
|
33
|
-
var import_boundwitness_builder = require("@xyo-network/boundwitness-builder");
|
|
34
|
-
var import_core = require("@xyo-network/core");
|
|
35
|
-
var import_module_abstract = require("@xyo-network/module-abstract");
|
|
36
|
-
var import_module_model = require("@xyo-network/module-model");
|
|
37
|
-
var import_witness_model = require("@xyo-network/witness-model");
|
|
38
|
-
(0, import_module_model.creatableModule)();
|
|
39
|
-
var _AbstractWitness = class _AbstractWitness extends import_module_abstract.AbstractModuleInstance {
|
|
40
|
-
_archivistInstance;
|
|
41
|
-
get archivist() {
|
|
42
|
-
return this.config.archivist;
|
|
43
|
-
}
|
|
44
|
-
get queries() {
|
|
45
|
-
return [
|
|
46
|
-
import_witness_model.WitnessObserveQuerySchema,
|
|
47
|
-
...super.queries
|
|
48
|
-
];
|
|
49
|
-
}
|
|
50
|
-
get targetSet() {
|
|
51
|
-
var _a;
|
|
52
|
-
return (_a = this.config) == null ? void 0 : _a.targetSet;
|
|
53
|
-
}
|
|
54
|
-
get _queryAccountPaths() {
|
|
55
|
-
return {
|
|
56
|
-
"network.xyo.query.witness.observe": "1/1"
|
|
57
|
-
};
|
|
58
|
-
}
|
|
59
|
-
async getArchivistInstance() {
|
|
60
|
-
const archivistAddress = this.archivist;
|
|
61
|
-
this._archivistInstance = this._archivistInstance ?? (archivistAddress ? await this.resolve(archivistAddress) : void 0);
|
|
62
|
-
return this._archivistInstance;
|
|
63
|
-
}
|
|
64
|
-
/** @function observe The main entry point for a witness. Do not override this function. Implement/override observeHandler for custom functionality */
|
|
65
|
-
async observe(inPayloads) {
|
|
66
|
-
this._noOverride("observe");
|
|
67
|
-
await this.started("throw");
|
|
68
|
-
await this.emit("observeStart", {
|
|
69
|
-
inPayloads,
|
|
70
|
-
module: this
|
|
71
|
-
});
|
|
72
|
-
const outPayloads = (0, import_assert.assertEx)(await this.observeHandler(inPayloads), "Trying to witness nothing");
|
|
73
|
-
outPayloads == null ? void 0 : outPayloads.forEach((payload) => (0, import_assert.assertEx)(payload.schema, "observe: Missing Schema"));
|
|
74
|
-
const archivist = await this.getArchivistInstance();
|
|
75
|
-
if (archivist) {
|
|
76
|
-
await archivist.insert(outPayloads);
|
|
77
|
-
}
|
|
78
|
-
await this.emit("observeEnd", {
|
|
79
|
-
inPayloads,
|
|
80
|
-
module: this,
|
|
81
|
-
outPayloads
|
|
82
|
-
});
|
|
83
|
-
return outPayloads;
|
|
84
|
-
}
|
|
85
|
-
/** @function queryHandler Calls observe for an observe query. Override to support additional queries. */
|
|
86
|
-
async queryHandler(query, payloads, queryConfig) {
|
|
87
|
-
const wrapper = import_boundwitness_builder.QueryBoundWitnessWrapper.parseQuery(query, payloads);
|
|
88
|
-
const queryPayload = await wrapper.getQuery();
|
|
89
|
-
(0, import_assert.assertEx)(this.queryable(query, payloads, queryConfig));
|
|
90
|
-
const resultPayloads = [];
|
|
91
|
-
const filteredObservation = await import_core.PayloadHasher.filterExclude(payloads, query.query);
|
|
92
|
-
switch (queryPayload.schema) {
|
|
93
|
-
case import_witness_model.WitnessObserveQuerySchema: {
|
|
94
|
-
const observePayloads = await this.observe(filteredObservation);
|
|
95
|
-
resultPayloads.push(...observePayloads);
|
|
96
|
-
break;
|
|
97
|
-
}
|
|
98
|
-
default: {
|
|
99
|
-
return super.queryHandler(query, payloads);
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
return resultPayloads;
|
|
103
|
-
}
|
|
104
|
-
};
|
|
105
|
-
__name(_AbstractWitness, "AbstractWitness");
|
|
106
|
-
__publicField(_AbstractWitness, "configSchemas", [
|
|
107
|
-
import_witness_model.WitnessConfigSchema
|
|
108
|
-
]);
|
|
109
|
-
var AbstractWitness = _AbstractWitness;
|
|
110
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
111
|
-
0 && (module.exports = {
|
|
112
|
-
AbstractWitness
|
|
113
|
-
});
|
|
114
|
-
//# sourceMappingURL=AbstractWitness.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/AbstractWitness.ts"],"sourcesContent":["import { assertEx } from '@xylabs/assert'\nimport { ArchivistInstance } from '@xyo-network/archivist-model'\nimport { QueryBoundWitness, QueryBoundWitnessWrapper } from '@xyo-network/boundwitness-builder'\nimport { PayloadHasher } from '@xyo-network/core'\nimport { AbstractModuleInstance } from '@xyo-network/module-abstract'\nimport { creatableModule, ModuleConfig, ModuleQueryHandlerResult } from '@xyo-network/module-model'\nimport { Payload } from '@xyo-network/payload-model'\nimport { Promisable } from '@xyo-network/promise'\nimport {\n CustomWitnessInstance,\n WitnessConfigSchema,\n WitnessInstance,\n WitnessModuleEventData,\n WitnessObserveQuerySchema,\n WitnessParams,\n WitnessQuery,\n WitnessQueryBase,\n} from '@xyo-network/witness-model'\n\ncreatableModule()\nexport abstract class AbstractWitness<\n TParams extends WitnessParams = WitnessParams,\n TEventData extends WitnessModuleEventData<WitnessInstance<TParams>> = WitnessModuleEventData<WitnessInstance<TParams>>,\n >\n extends AbstractModuleInstance<TParams, TEventData>\n implements CustomWitnessInstance<TParams, TEventData>\n{\n static override readonly configSchemas: string[] = [WitnessConfigSchema]\n\n private _archivistInstance: ArchivistInstance | undefined\n\n get archivist() {\n return this.config.archivist\n }\n\n override get queries(): string[] {\n return [WitnessObserveQuerySchema, ...super.queries]\n }\n\n get targetSet() {\n return this.config?.targetSet\n }\n\n protected override get _queryAccountPaths(): Record<WitnessQueryBase['schema'], string> {\n return {\n 'network.xyo.query.witness.observe': '1/1',\n }\n }\n\n async getArchivistInstance() {\n const archivistAddress = this.archivist\n this._archivistInstance = this._archivistInstance ?? (archivistAddress ? await this.resolve(archivistAddress) : undefined)\n return this._archivistInstance\n }\n\n /** @function observe The main entry point for a witness. Do not override this function. Implement/override observeHandler for custom functionality */\n async observe(inPayloads?: Payload[]): Promise<Payload[]> {\n this._noOverride('observe')\n await this.started('throw')\n await this.emit('observeStart', { inPayloads: inPayloads, module: this })\n const outPayloads = assertEx(await this.observeHandler(inPayloads), 'Trying to witness nothing')\n //assertEx(outPayloads.length > 0, 'Trying to witness empty list')\n outPayloads?.forEach((payload) => assertEx(payload.schema, 'observe: Missing Schema'))\n\n const archivist = await this.getArchivistInstance()\n if (archivist) {\n await archivist.insert(outPayloads)\n }\n\n await this.emit('observeEnd', { inPayloads, module: this, outPayloads })\n\n return outPayloads\n }\n\n /** @function queryHandler Calls observe for an observe query. Override to support additional queries. */\n protected override async queryHandler<T extends QueryBoundWitness = QueryBoundWitness, TConfig extends ModuleConfig = ModuleConfig>(\n query: T,\n payloads?: Payload[],\n queryConfig?: TConfig,\n ): Promise<ModuleQueryHandlerResult> {\n const wrapper = QueryBoundWitnessWrapper.parseQuery<WitnessQuery>(query, payloads)\n const queryPayload = await wrapper.getQuery()\n assertEx(this.queryable(query, payloads, queryConfig))\n const resultPayloads: Payload[] = []\n // Remove the query payload from the arguments passed to us so we don't observe it\n const filteredObservation = await PayloadHasher.filterExclude(payloads, query.query)\n switch (queryPayload.schema) {\n case WitnessObserveQuerySchema: {\n const observePayloads = await this.observe(filteredObservation)\n resultPayloads.push(...observePayloads)\n break\n }\n default: {\n return super.queryHandler(query, payloads)\n }\n }\n return resultPayloads\n }\n\n /** @function observeHandler Implement or override to add custom functionality to a witness */\n protected abstract observeHandler(payloads?: Payload[]): Promisable<Payload[]>\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;oBAAyB;AAEzB,kCAA4D;AAC5D,kBAA8B;AAC9B,6BAAuC;AACvC,0BAAwE;AAGxE,2BASO;IAEPA,qCAAAA;AACO,IAAeC,mBAAf,MAAeA,yBAIZC,8CAAAA;EAKAC;EAER,IAAIC,YAAY;AACd,WAAO,KAAKC,OAAOD;EACrB;EAEA,IAAaE,UAAoB;AAC/B,WAAO;MAACC;SAA8B,MAAMD;;EAC9C;EAEA,IAAIE,YAAY;AAvClB;AAwCI,YAAO,UAAKH,WAAL,mBAAaG;EACtB;EAEA,IAAuBC,qBAAiE;AACtF,WAAO;MACL,qCAAqC;IACvC;EACF;EAEA,MAAMC,uBAAuB;AAC3B,UAAMC,mBAAmB,KAAKP;AAC9B,SAAKD,qBAAqB,KAAKA,uBAAuBQ,mBAAmB,MAAM,KAAKC,QAAQD,gBAAAA,IAAoBE;AAChH,WAAO,KAAKV;EACd;;EAGA,MAAMW,QAAQC,YAA4C;AACxD,SAAKC,YAAY,SAAA;AACjB,UAAM,KAAKC,QAAQ,OAAA;AACnB,UAAM,KAAKC,KAAK,gBAAgB;MAAEH;MAAwBI,QAAQ;IAAK,CAAA;AACvE,UAAMC,kBAAcC,wBAAS,MAAM,KAAKC,eAAeP,UAAAA,GAAa,2BAAA;AAEpEK,+CAAaG,QAAQ,CAACC,gBAAYH,wBAASG,QAAQC,QAAQ,yBAAA;AAE3D,UAAMrB,YAAY,MAAM,KAAKM,qBAAoB;AACjD,QAAIN,WAAW;AACb,YAAMA,UAAUsB,OAAON,WAAAA;IACzB;AAEA,UAAM,KAAKF,KAAK,cAAc;MAAEH;MAAYI,QAAQ;MAAMC;IAAY,CAAA;AAEtE,WAAOA;EACT;;EAGA,MAAyBO,aACvBC,OACAC,UACAC,aACmC;AACnC,UAAMC,UAAUC,qDAAyBC,WAAyBL,OAAOC,QAAAA;AACzE,UAAMK,eAAe,MAAMH,QAAQI,SAAQ;AAC3Cd,gCAAS,KAAKe,UAAUR,OAAOC,UAAUC,WAAAA,CAAAA;AACzC,UAAMO,iBAA4B,CAAA;AAElC,UAAMC,sBAAsB,MAAMC,0BAAcC,cAAcX,UAAUD,MAAMA,KAAK;AACnF,YAAQM,aAAaT,QAAM;MACzB,KAAKlB,gDAA2B;AAC9B,cAAMkC,kBAAkB,MAAM,KAAK3B,QAAQwB,mBAAAA;AAC3CD,uBAAeK,KAAI,GAAID,eAAAA;AACvB;MACF;MACA,SAAS;AACP,eAAO,MAAMd,aAAaC,OAAOC,QAAAA;MACnC;IACF;AACA,WAAOQ;EACT;AAIF;AA7EUnC;AAGR,cAPoBD,kBAOK0C,iBAA0B;EAACC;;AAP/C,IAAe3C,kBAAf;","names":["creatableModule","AbstractWitness","AbstractModuleInstance","_archivistInstance","archivist","config","queries","WitnessObserveQuerySchema","targetSet","_queryAccountPaths","getArchivistInstance","archivistAddress","resolve","undefined","observe","inPayloads","_noOverride","started","emit","module","outPayloads","assertEx","observeHandler","forEach","payload","schema","insert","queryHandler","query","payloads","queryConfig","wrapper","QueryBoundWitnessWrapper","parseQuery","queryPayload","getQuery","queryable","resultPayloads","filteredObservation","PayloadHasher","filterExclude","observePayloads","push","configSchemas","WitnessConfigSchema"]}
|
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
var __defProp = Object.defineProperty;
|
|
2
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
3
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
4
|
-
var __publicField = (obj, key, value) => {
|
|
5
|
-
__defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
6
|
-
return value;
|
|
7
|
-
};
|
|
8
|
-
|
|
9
|
-
// src/AbstractWitness.ts
|
|
10
|
-
import { assertEx } from "@xylabs/assert";
|
|
11
|
-
import { QueryBoundWitnessWrapper } from "@xyo-network/boundwitness-builder";
|
|
12
|
-
import { PayloadHasher } from "@xyo-network/core";
|
|
13
|
-
import { AbstractModuleInstance } from "@xyo-network/module-abstract";
|
|
14
|
-
import { creatableModule } from "@xyo-network/module-model";
|
|
15
|
-
import { WitnessConfigSchema, WitnessObserveQuerySchema } from "@xyo-network/witness-model";
|
|
16
|
-
creatableModule();
|
|
17
|
-
var _AbstractWitness = class _AbstractWitness extends AbstractModuleInstance {
|
|
18
|
-
_archivistInstance;
|
|
19
|
-
get archivist() {
|
|
20
|
-
return this.config.archivist;
|
|
21
|
-
}
|
|
22
|
-
get queries() {
|
|
23
|
-
return [
|
|
24
|
-
WitnessObserveQuerySchema,
|
|
25
|
-
...super.queries
|
|
26
|
-
];
|
|
27
|
-
}
|
|
28
|
-
get targetSet() {
|
|
29
|
-
var _a;
|
|
30
|
-
return (_a = this.config) == null ? void 0 : _a.targetSet;
|
|
31
|
-
}
|
|
32
|
-
get _queryAccountPaths() {
|
|
33
|
-
return {
|
|
34
|
-
"network.xyo.query.witness.observe": "1/1"
|
|
35
|
-
};
|
|
36
|
-
}
|
|
37
|
-
async getArchivistInstance() {
|
|
38
|
-
const archivistAddress = this.archivist;
|
|
39
|
-
this._archivistInstance = this._archivistInstance ?? (archivistAddress ? await this.resolve(archivistAddress) : void 0);
|
|
40
|
-
return this._archivistInstance;
|
|
41
|
-
}
|
|
42
|
-
/** @function observe The main entry point for a witness. Do not override this function. Implement/override observeHandler for custom functionality */
|
|
43
|
-
async observe(inPayloads) {
|
|
44
|
-
this._noOverride("observe");
|
|
45
|
-
await this.started("throw");
|
|
46
|
-
await this.emit("observeStart", {
|
|
47
|
-
inPayloads,
|
|
48
|
-
module: this
|
|
49
|
-
});
|
|
50
|
-
const outPayloads = assertEx(await this.observeHandler(inPayloads), "Trying to witness nothing");
|
|
51
|
-
outPayloads == null ? void 0 : outPayloads.forEach((payload) => assertEx(payload.schema, "observe: Missing Schema"));
|
|
52
|
-
const archivist = await this.getArchivistInstance();
|
|
53
|
-
if (archivist) {
|
|
54
|
-
await archivist.insert(outPayloads);
|
|
55
|
-
}
|
|
56
|
-
await this.emit("observeEnd", {
|
|
57
|
-
inPayloads,
|
|
58
|
-
module: this,
|
|
59
|
-
outPayloads
|
|
60
|
-
});
|
|
61
|
-
return outPayloads;
|
|
62
|
-
}
|
|
63
|
-
/** @function queryHandler Calls observe for an observe query. Override to support additional queries. */
|
|
64
|
-
async queryHandler(query, payloads, queryConfig) {
|
|
65
|
-
const wrapper = QueryBoundWitnessWrapper.parseQuery(query, payloads);
|
|
66
|
-
const queryPayload = await wrapper.getQuery();
|
|
67
|
-
assertEx(this.queryable(query, payloads, queryConfig));
|
|
68
|
-
const resultPayloads = [];
|
|
69
|
-
const filteredObservation = await PayloadHasher.filterExclude(payloads, query.query);
|
|
70
|
-
switch (queryPayload.schema) {
|
|
71
|
-
case WitnessObserveQuerySchema: {
|
|
72
|
-
const observePayloads = await this.observe(filteredObservation);
|
|
73
|
-
resultPayloads.push(...observePayloads);
|
|
74
|
-
break;
|
|
75
|
-
}
|
|
76
|
-
default: {
|
|
77
|
-
return super.queryHandler(query, payloads);
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
return resultPayloads;
|
|
81
|
-
}
|
|
82
|
-
};
|
|
83
|
-
__name(_AbstractWitness, "AbstractWitness");
|
|
84
|
-
__publicField(_AbstractWitness, "configSchemas", [
|
|
85
|
-
WitnessConfigSchema
|
|
86
|
-
]);
|
|
87
|
-
var AbstractWitness = _AbstractWitness;
|
|
88
|
-
export {
|
|
89
|
-
AbstractWitness
|
|
90
|
-
};
|
|
91
|
-
//# sourceMappingURL=AbstractWitness.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/AbstractWitness.ts"],"sourcesContent":["import { assertEx } from '@xylabs/assert'\nimport { ArchivistInstance } from '@xyo-network/archivist-model'\nimport { QueryBoundWitness, QueryBoundWitnessWrapper } from '@xyo-network/boundwitness-builder'\nimport { PayloadHasher } from '@xyo-network/core'\nimport { AbstractModuleInstance } from '@xyo-network/module-abstract'\nimport { creatableModule, ModuleConfig, ModuleQueryHandlerResult } from '@xyo-network/module-model'\nimport { Payload } from '@xyo-network/payload-model'\nimport { Promisable } from '@xyo-network/promise'\nimport {\n CustomWitnessInstance,\n WitnessConfigSchema,\n WitnessInstance,\n WitnessModuleEventData,\n WitnessObserveQuerySchema,\n WitnessParams,\n WitnessQuery,\n WitnessQueryBase,\n} from '@xyo-network/witness-model'\n\ncreatableModule()\nexport abstract class AbstractWitness<\n TParams extends WitnessParams = WitnessParams,\n TEventData extends WitnessModuleEventData<WitnessInstance<TParams>> = WitnessModuleEventData<WitnessInstance<TParams>>,\n >\n extends AbstractModuleInstance<TParams, TEventData>\n implements CustomWitnessInstance<TParams, TEventData>\n{\n static override readonly configSchemas: string[] = [WitnessConfigSchema]\n\n private _archivistInstance: ArchivistInstance | undefined\n\n get archivist() {\n return this.config.archivist\n }\n\n override get queries(): string[] {\n return [WitnessObserveQuerySchema, ...super.queries]\n }\n\n get targetSet() {\n return this.config?.targetSet\n }\n\n protected override get _queryAccountPaths(): Record<WitnessQueryBase['schema'], string> {\n return {\n 'network.xyo.query.witness.observe': '1/1',\n }\n }\n\n async getArchivistInstance() {\n const archivistAddress = this.archivist\n this._archivistInstance = this._archivistInstance ?? (archivistAddress ? await this.resolve(archivistAddress) : undefined)\n return this._archivistInstance\n }\n\n /** @function observe The main entry point for a witness. Do not override this function. Implement/override observeHandler for custom functionality */\n async observe(inPayloads?: Payload[]): Promise<Payload[]> {\n this._noOverride('observe')\n await this.started('throw')\n await this.emit('observeStart', { inPayloads: inPayloads, module: this })\n const outPayloads = assertEx(await this.observeHandler(inPayloads), 'Trying to witness nothing')\n //assertEx(outPayloads.length > 0, 'Trying to witness empty list')\n outPayloads?.forEach((payload) => assertEx(payload.schema, 'observe: Missing Schema'))\n\n const archivist = await this.getArchivistInstance()\n if (archivist) {\n await archivist.insert(outPayloads)\n }\n\n await this.emit('observeEnd', { inPayloads, module: this, outPayloads })\n\n return outPayloads\n }\n\n /** @function queryHandler Calls observe for an observe query. Override to support additional queries. */\n protected override async queryHandler<T extends QueryBoundWitness = QueryBoundWitness, TConfig extends ModuleConfig = ModuleConfig>(\n query: T,\n payloads?: Payload[],\n queryConfig?: TConfig,\n ): Promise<ModuleQueryHandlerResult> {\n const wrapper = QueryBoundWitnessWrapper.parseQuery<WitnessQuery>(query, payloads)\n const queryPayload = await wrapper.getQuery()\n assertEx(this.queryable(query, payloads, queryConfig))\n const resultPayloads: Payload[] = []\n // Remove the query payload from the arguments passed to us so we don't observe it\n const filteredObservation = await PayloadHasher.filterExclude(payloads, query.query)\n switch (queryPayload.schema) {\n case WitnessObserveQuerySchema: {\n const observePayloads = await this.observe(filteredObservation)\n resultPayloads.push(...observePayloads)\n break\n }\n default: {\n return super.queryHandler(query, payloads)\n }\n }\n return resultPayloads\n }\n\n /** @function observeHandler Implement or override to add custom functionality to a witness */\n protected abstract observeHandler(payloads?: Payload[]): Promisable<Payload[]>\n}\n"],"mappings":";;;;;;;;;AAAA,SAASA,gBAAgB;AAEzB,SAA4BC,gCAAgC;AAC5D,SAASC,qBAAqB;AAC9B,SAASC,8BAA8B;AACvC,SAASC,uBAA+D;AAGxE,SAEEC,qBAGAC,iCAIK;AAEPC,gBAAAA;AACO,IAAeC,mBAAf,MAAeA,yBAIZC,uBAAAA;EAKAC;EAER,IAAIC,YAAY;AACd,WAAO,KAAKC,OAAOD;EACrB;EAEA,IAAaE,UAAoB;AAC/B,WAAO;MAACC;SAA8B,MAAMD;;EAC9C;EAEA,IAAIE,YAAY;AAvClB;AAwCI,YAAO,UAAKH,WAAL,mBAAaG;EACtB;EAEA,IAAuBC,qBAAiE;AACtF,WAAO;MACL,qCAAqC;IACvC;EACF;EAEA,MAAMC,uBAAuB;AAC3B,UAAMC,mBAAmB,KAAKP;AAC9B,SAAKD,qBAAqB,KAAKA,uBAAuBQ,mBAAmB,MAAM,KAAKC,QAAQD,gBAAAA,IAAoBE;AAChH,WAAO,KAAKV;EACd;;EAGA,MAAMW,QAAQC,YAA4C;AACxD,SAAKC,YAAY,SAAA;AACjB,UAAM,KAAKC,QAAQ,OAAA;AACnB,UAAM,KAAKC,KAAK,gBAAgB;MAAEH;MAAwBI,QAAQ;IAAK,CAAA;AACvE,UAAMC,cAAcC,SAAS,MAAM,KAAKC,eAAeP,UAAAA,GAAa,2BAAA;AAEpEK,+CAAaG,QAAQ,CAACC,YAAYH,SAASG,QAAQC,QAAQ,yBAAA;AAE3D,UAAMrB,YAAY,MAAM,KAAKM,qBAAoB;AACjD,QAAIN,WAAW;AACb,YAAMA,UAAUsB,OAAON,WAAAA;IACzB;AAEA,UAAM,KAAKF,KAAK,cAAc;MAAEH;MAAYI,QAAQ;MAAMC;IAAY,CAAA;AAEtE,WAAOA;EACT;;EAGA,MAAyBO,aACvBC,OACAC,UACAC,aACmC;AACnC,UAAMC,UAAUC,yBAAyBC,WAAyBL,OAAOC,QAAAA;AACzE,UAAMK,eAAe,MAAMH,QAAQI,SAAQ;AAC3Cd,aAAS,KAAKe,UAAUR,OAAOC,UAAUC,WAAAA,CAAAA;AACzC,UAAMO,iBAA4B,CAAA;AAElC,UAAMC,sBAAsB,MAAMC,cAAcC,cAAcX,UAAUD,MAAMA,KAAK;AACnF,YAAQM,aAAaT,QAAM;MACzB,KAAKlB,2BAA2B;AAC9B,cAAMkC,kBAAkB,MAAM,KAAK3B,QAAQwB,mBAAAA;AAC3CD,uBAAeK,KAAI,GAAID,eAAAA;AACvB;MACF;MACA,SAAS;AACP,eAAO,MAAMd,aAAaC,OAAOC,QAAAA;MACnC;IACF;AACA,WAAOQ;EACT;AAIF;AA7EUnC;AAGR,cAPoBD,kBAOK0C,iBAA0B;EAACC;;AAP/C,IAAe3C,kBAAf;","names":["assertEx","QueryBoundWitnessWrapper","PayloadHasher","AbstractModuleInstance","creatableModule","WitnessConfigSchema","WitnessObserveQuerySchema","creatableModule","AbstractWitness","AbstractModuleInstance","_archivistInstance","archivist","config","queries","WitnessObserveQuerySchema","targetSet","_queryAccountPaths","getArchivistInstance","archivistAddress","resolve","undefined","observe","inPayloads","_noOverride","started","emit","module","outPayloads","assertEx","observeHandler","forEach","payload","schema","insert","queryHandler","query","payloads","queryConfig","wrapper","QueryBoundWitnessWrapper","parseQuery","queryPayload","getQuery","queryable","resultPayloads","filteredObservation","PayloadHasher","filterExclude","observePayloads","push","configSchemas","WitnessConfigSchema"]}
|