@xyo-network/boundwitness-validator 2.74.5 → 2.75.0
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/browser/Validator.cjs +129 -0
- package/dist/browser/Validator.cjs.map +1 -0
- package/dist/browser/Validator.d.mts.map +1 -0
- package/dist/browser/Validator.d.ts.map +1 -0
- package/dist/browser/Validator.js +108 -0
- package/dist/browser/Validator.js.map +1 -0
- package/dist/{index.js → browser/index.cjs} +1 -5
- package/dist/browser/index.cjs.map +1 -0
- package/dist/{index.d.mts.map → browser/index.d.mts.map} +1 -1
- package/dist/{index.d.ts.map → browser/index.d.ts.map} +1 -1
- package/dist/{index.mjs → browser/index.js} +1 -1
- package/dist/browser/index.js.map +1 -0
- package/dist/node/Validator.d.mts +19 -0
- package/dist/node/Validator.d.mts.map +1 -0
- package/dist/node/Validator.d.ts +19 -0
- package/dist/node/Validator.d.ts.map +1 -0
- package/dist/node/Validator.js +131 -0
- package/dist/node/Validator.js.map +1 -0
- package/dist/node/Validator.mjs +107 -0
- package/dist/node/Validator.mjs.map +1 -0
- package/dist/node/index.d.mts +2 -0
- package/dist/node/index.d.mts.map +1 -0
- package/dist/node/index.d.ts +2 -0
- package/dist/node/index.d.ts.map +1 -0
- package/dist/node/index.js +23 -0
- package/dist/node/index.js.map +1 -0
- package/dist/node/index.mjs +2 -0
- package/dist/node/index.mjs.map +1 -0
- package/package.json +30 -27
- package/dist/Validator.d.mts.map +0 -1
- package/dist/Validator.d.ts.map +0 -1
- package/dist/docs.json +0 -1678
- package/dist/index.js.map +0 -1
- package/dist/index.mjs.map +0 -1
- /package/dist/{Validator.d.mts → browser/Validator.d.mts} +0 -0
- /package/dist/{Validator.d.ts → browser/Validator.d.ts} +0 -0
- /package/dist/{index.d.mts → browser/index.d.mts} +0 -0
- /package/dist/{index.d.ts → browser/index.d.ts} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/Validator.ts"],"sourcesContent":["import { uniq } from '@xylabs/lodash'\nimport { AddressValue } from '@xyo-network/account'\nimport { BoundWitness, BoundWitnessSchema } from '@xyo-network/boundwitness-model'\nimport { PayloadHasher } from '@xyo-network/core'\nimport { PayloadValidator } from '@xyo-network/payload-validator'\nimport { validateType } from '@xyo-network/typeof'\n\nconst validateArraysSameLength = (a: unknown[], b: unknown[], message = 'Array length mismatch') => {\n return a.length != b.length ? [Error(`${message} []`)] : []\n}\n\nexport class BoundWitnessValidator<T extends BoundWitness<{ schema: string }> = BoundWitness> extends PayloadValidator<T> {\n protected get expectedSchema(): string {\n return BoundWitnessSchema\n }\n\n static validateSignature(hash: string, address: string, signature?: string): Error[] {\n if (!signature) {\n return [Error(`Missing signature [${address}]`)]\n }\n if (!new AddressValue(address).verify(hash, signature)) {\n return [Error(`Invalid signature [${address}] [${signature}]`)]\n }\n return []\n }\n\n addresses(): Error[] {\n const errors: Error[] = []\n //const { addresses } = this.obj\n //if (!addresses?.length) errors.push(new Error('addresses missing [at least one address required]'))\n errors.push(...this.addressesUniqueness())\n return errors\n }\n\n addressesUniqueness(): Error[] {\n const errors: Error[] = []\n const { addresses } = this.obj\n const uniqAddresses = uniq(addresses)\n if (addresses?.length !== uniqAddresses?.length) errors.push(Error('addresses must be unique'))\n return errors\n }\n\n previousHashes() {\n const errors: Error[] = []\n return errors\n }\n\n schema(): Error[] {\n const errors: Error[] = []\n if (this.obj.schema !== this.expectedSchema) {\n errors.push(Error(`invalid schema [${this.expectedSchema} !== ${this.obj.schema}]`))\n }\n return errors\n }\n\n schemas(): Error[] {\n const errors: Error[] = []\n const Schemas = this.obj.payload_schemas\n if (Schemas) {\n const schemaValidators = Schemas.map((schema: string) => {\n return PayloadValidator.schemaNameValidatorFactory?.(schema)\n })\n schemaValidators.forEach((validator) => {\n if (validator) {\n errors.push(...validator.all())\n }\n })\n }\n return errors\n }\n\n async signatures(): Promise<Error[]> {\n return [\n ...validateArraysSameLength(this.obj._signatures ?? [], this.obj.addresses, 'Length mismatch: address/_signature'),\n ...(\n await Promise.all(\n this.obj.addresses.map<Promise<Error[]>>(\n async (address, index) =>\n BoundWitnessValidator.validateSignature(await PayloadHasher.hashAsync(this.payload), address, this.obj._signatures?.[index]),\n [],\n ),\n )\n ).flat(),\n ]\n }\n\n override async validate() {\n return [\n ...(await this.signatures()),\n ...this.addresses(),\n ...this.validateArrayLengths(),\n ...this.schemas(),\n ...this.previousHashes(),\n ...this.schema(),\n ...(await super.validate()),\n ]\n }\n\n validateArrayLengths(): Error[] {\n const errors: Error[] = []\n errors.push(...this.validatePayloadHashesLength())\n return errors\n }\n\n validatePayloadHashesLength(): Error[] {\n const errors: Error[] = []\n errors.push(...this.validateArrayLength('payload_hashes', 'payload_schemas'))\n return errors\n }\n\n private validateArrayLength(fieldName: string, compareArrayName: string): Error[] {\n const errors: Error[] = []\n\n const [array, arrayErrors] = validateType('array', this.stringKeyObj[fieldName] as [], true)\n const [compareArray, compareArrayErrors] = validateType('array', this.stringKeyObj[compareArrayName] as [], true)\n\n if (array?.length !== compareArray?.length) {\n errors.push(new Error(`${fieldName}/${compareArrayName} count mismatch [${array?.length} !== ${compareArray?.length}]`))\n }\n\n return [...arrayErrors, ...compareArrayErrors, ...errors]\n }\n}\n"],"mappings":"AAAA,SAAS,YAAY;AACrB,SAAS,oBAAoB;AAC7B,SAAuB,0BAA0B;AACjD,SAAS,qBAAqB;AAC9B,SAAS,wBAAwB;AACjC,SAAS,oBAAoB;AAE7B,MAAM,2BAA2B,CAAC,GAAc,GAAc,UAAU,4BAA4B;AAClG,SAAO,EAAE,UAAU,EAAE,SAAS,CAAC,MAAM,GAAG,OAAO,KAAK,CAAC,IAAI,CAAC;AAC5D;AAEO,MAAM,8BAAyF,iBAAoB;AAAA,EACxH,IAAc,iBAAyB;AACrC,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,kBAAkB,MAAc,SAAiB,WAA6B;AACnF,QAAI,CAAC,WAAW;AACd,aAAO,CAAC,MAAM,sBAAsB,OAAO,GAAG,CAAC;AAAA,IACjD;AACA,QAAI,CAAC,IAAI,aAAa,OAAO,EAAE,OAAO,MAAM,SAAS,GAAG;AACtD,aAAO,CAAC,MAAM,sBAAsB,OAAO,MAAM,SAAS,GAAG,CAAC;AAAA,IAChE;AACA,WAAO,CAAC;AAAA,EACV;AAAA,EAEA,YAAqB;AACnB,UAAM,SAAkB,CAAC;AAGzB,WAAO,KAAK,GAAG,KAAK,oBAAoB,CAAC;AACzC,WAAO;AAAA,EACT;AAAA,EAEA,sBAA+B;AAC7B,UAAM,SAAkB,CAAC;AACzB,UAAM,EAAE,UAAU,IAAI,KAAK;AAC3B,UAAM,gBAAgB,KAAK,SAAS;AACpC,QAAI,WAAW,WAAW,eAAe;AAAQ,aAAO,KAAK,MAAM,0BAA0B,CAAC;AAC9F,WAAO;AAAA,EACT;AAAA,EAEA,iBAAiB;AACf,UAAM,SAAkB,CAAC;AACzB,WAAO;AAAA,EACT;AAAA,EAEA,SAAkB;AAChB,UAAM,SAAkB,CAAC;AACzB,QAAI,KAAK,IAAI,WAAW,KAAK,gBAAgB;AAC3C,aAAO,KAAK,MAAM,mBAAmB,KAAK,cAAc,QAAQ,KAAK,IAAI,MAAM,GAAG,CAAC;AAAA,IACrF;AACA,WAAO;AAAA,EACT;AAAA,EAEA,UAAmB;AACjB,UAAM,SAAkB,CAAC;AACzB,UAAM,UAAU,KAAK,IAAI;AACzB,QAAI,SAAS;AACX,YAAM,mBAAmB,QAAQ,IAAI,CAAC,WAAmB;AACvD,eAAO,iBAAiB,6BAA6B,MAAM;AAAA,MAC7D,CAAC;AACD,uBAAiB,QAAQ,CAAC,cAAc;AACtC,YAAI,WAAW;AACb,iBAAO,KAAK,GAAG,UAAU,IAAI,CAAC;AAAA,QAChC;AAAA,MACF,CAAC;AAAA,IACH;AACA,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,aAA+B;AACnC,WAAO;AAAA,MACL,GAAG,yBAAyB,KAAK,IAAI,eAAe,CAAC,GAAG,KAAK,IAAI,WAAW,qCAAqC;AAAA,MACjH,IACE,MAAM,QAAQ;AAAA,QACZ,KAAK,IAAI,UAAU;AAAA,UACjB,OAAO,SAAS,UACd,sBAAsB,kBAAkB,MAAM,cAAc,UAAU,KAAK,OAAO,GAAG,SAAS,KAAK,IAAI,cAAc,KAAK,CAAC;AAAA,UAC7H,CAAC;AAAA,QACH;AAAA,MACF,GACA,KAAK;AAAA,IACT;AAAA,EACF;AAAA,EAEA,MAAe,WAAW;AACxB,WAAO;AAAA,MACL,GAAI,MAAM,KAAK,WAAW;AAAA,MAC1B,GAAG,KAAK,UAAU;AAAA,MAClB,GAAG,KAAK,qBAAqB;AAAA,MAC7B,GAAG,KAAK,QAAQ;AAAA,MAChB,GAAG,KAAK,eAAe;AAAA,MACvB,GAAG,KAAK,OAAO;AAAA,MACf,GAAI,MAAM,MAAM,SAAS;AAAA,IAC3B;AAAA,EACF;AAAA,EAEA,uBAAgC;AAC9B,UAAM,SAAkB,CAAC;AACzB,WAAO,KAAK,GAAG,KAAK,4BAA4B,CAAC;AACjD,WAAO;AAAA,EACT;AAAA,EAEA,8BAAuC;AACrC,UAAM,SAAkB,CAAC;AACzB,WAAO,KAAK,GAAG,KAAK,oBAAoB,kBAAkB,iBAAiB,CAAC;AAC5E,WAAO;AAAA,EACT;AAAA,EAEQ,oBAAoB,WAAmB,kBAAmC;AAChF,UAAM,SAAkB,CAAC;AAEzB,UAAM,CAAC,OAAO,WAAW,IAAI,aAAa,SAAS,KAAK,aAAa,SAAS,GAAS,IAAI;AAC3F,UAAM,CAAC,cAAc,kBAAkB,IAAI,aAAa,SAAS,KAAK,aAAa,gBAAgB,GAAS,IAAI;AAEhH,QAAI,OAAO,WAAW,cAAc,QAAQ;AAC1C,aAAO,KAAK,IAAI,MAAM,GAAG,SAAS,IAAI,gBAAgB,oBAAoB,OAAO,MAAM,QAAQ,cAAc,MAAM,GAAG,CAAC;AAAA,IACzH;AAEA,WAAO,CAAC,GAAG,aAAa,GAAG,oBAAoB,GAAG,MAAM;AAAA,EAC1D;AACF;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA"}
|
|
@@ -0,0 +1,23 @@
|
|
|
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 __copyProps = (to, from, except, desc) => {
|
|
7
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
8
|
+
for (let key of __getOwnPropNames(from))
|
|
9
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
10
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
11
|
+
}
|
|
12
|
+
return to;
|
|
13
|
+
};
|
|
14
|
+
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
15
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
16
|
+
var src_exports = {};
|
|
17
|
+
module.exports = __toCommonJS(src_exports);
|
|
18
|
+
__reExport(src_exports, require("./Validator"), module.exports);
|
|
19
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
20
|
+
0 && (module.exports = {
|
|
21
|
+
...require("./Validator")
|
|
22
|
+
});
|
|
23
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/index.ts"],"sourcesContent":["export * from './Validator'\n"],"mappings":";;;;;;;;;;;;;;;AAAA;AAAA;AAAA,wBAAc,wBAAd;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/index.ts"],"sourcesContent":["export * from './Validator'\n"],"mappings":"AAAA,cAAc;","names":[]}
|
package/package.json
CHANGED
|
@@ -10,47 +10,50 @@
|
|
|
10
10
|
"url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/issues"
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
|
-
"@xylabs/lodash": "^2.11.
|
|
14
|
-
"@xyo-network/account": "~2.
|
|
15
|
-
"@xyo-network/boundwitness-model": "~2.
|
|
16
|
-
"@xyo-network/core": "~2.
|
|
17
|
-
"@xyo-network/payload-validator": "~2.
|
|
18
|
-
"@xyo-network/typeof": "~2.
|
|
13
|
+
"@xylabs/lodash": "^2.11.22",
|
|
14
|
+
"@xyo-network/account": "~2.75.0",
|
|
15
|
+
"@xyo-network/boundwitness-model": "~2.75.0",
|
|
16
|
+
"@xyo-network/core": "~2.75.0",
|
|
17
|
+
"@xyo-network/payload-validator": "~2.75.0",
|
|
18
|
+
"@xyo-network/typeof": "~2.75.0"
|
|
19
19
|
},
|
|
20
20
|
"description": "Primary SDK for using XYO Protocol 2.0",
|
|
21
21
|
"devDependencies": {
|
|
22
|
-
"@xylabs/ts-scripts-yarn3": "^3.0.
|
|
23
|
-
"@xylabs/tsconfig": "^3.0.
|
|
22
|
+
"@xylabs/ts-scripts-yarn3": "^3.0.70",
|
|
23
|
+
"@xylabs/tsconfig": "^3.0.70",
|
|
24
24
|
"typescript": "^5.2.2"
|
|
25
25
|
},
|
|
26
26
|
"docs": "dist/docs.json",
|
|
27
27
|
"exports": {
|
|
28
28
|
".": {
|
|
29
|
-
"
|
|
30
|
-
"
|
|
31
|
-
|
|
29
|
+
"browser": {
|
|
30
|
+
"require": {
|
|
31
|
+
"types": "./dist/browser/index.d.ts",
|
|
32
|
+
"default": "./dist/browser/index.cjs"
|
|
33
|
+
},
|
|
34
|
+
"import": {
|
|
35
|
+
"types": "./dist/browser/index.d.mts",
|
|
36
|
+
"default": "./dist/browser/index.js"
|
|
37
|
+
}
|
|
32
38
|
},
|
|
33
|
-
"
|
|
34
|
-
"
|
|
35
|
-
|
|
39
|
+
"node": {
|
|
40
|
+
"require": {
|
|
41
|
+
"types": "./dist/node/index.d.ts",
|
|
42
|
+
"default": "./dist/node/index.js"
|
|
43
|
+
},
|
|
44
|
+
"import": {
|
|
45
|
+
"types": "./dist/node/index.d.mts",
|
|
46
|
+
"default": "./dist/node/index.mjs"
|
|
47
|
+
}
|
|
36
48
|
}
|
|
37
49
|
},
|
|
38
|
-
"./dist/docs.json": {
|
|
39
|
-
"default": "./dist/docs.json"
|
|
40
|
-
},
|
|
41
|
-
"./cjs": {
|
|
42
|
-
"default": "./dist/index.js"
|
|
43
|
-
},
|
|
44
50
|
"./docs": {
|
|
45
51
|
"default": "./dist/docs.json"
|
|
46
52
|
},
|
|
47
|
-
"./esm": {
|
|
48
|
-
"default": "./dist/index.mjs"
|
|
49
|
-
},
|
|
50
53
|
"./package.json": "./package.json"
|
|
51
54
|
},
|
|
52
|
-
"main": "dist/index.js",
|
|
53
|
-
"module": "dist/index.mjs",
|
|
55
|
+
"main": "dist/node/index.js",
|
|
56
|
+
"module": "dist/node/index.mjs",
|
|
54
57
|
"homepage": "https://xyo.network",
|
|
55
58
|
"license": "LGPL-3.0",
|
|
56
59
|
"publishConfig": {
|
|
@@ -61,6 +64,6 @@
|
|
|
61
64
|
"url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js.git"
|
|
62
65
|
},
|
|
63
66
|
"sideEffects": false,
|
|
64
|
-
"types": "dist/index.d.ts",
|
|
65
|
-
"version": "2.
|
|
67
|
+
"types": "dist/node/index.d.ts",
|
|
68
|
+
"version": "2.75.0"
|
|
66
69
|
}
|
package/dist/Validator.d.mts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Validator.d.ts","sourceRoot":"","sources":["../src/Validator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAsB,MAAM,iCAAiC,CAAA;AAElF,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AAOjE,qBAAa,qBAAqB,CAAC,CAAC,SAAS,YAAY,CAAC;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,YAAY,CAAE,SAAQ,gBAAgB,CAAC,CAAC,CAAC;IACvH,SAAS,KAAK,cAAc,IAAI,MAAM,CAErC;IAED,MAAM,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,KAAK,EAAE;IAUpF,SAAS,IAAI,KAAK,EAAE;IAQpB,mBAAmB,IAAI,KAAK,EAAE;IAQ9B,cAAc;IAKd,MAAM,IAAI,KAAK,EAAE;IAQjB,OAAO,IAAI,KAAK,EAAE;IAgBZ,UAAU,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;IAerB,QAAQ;IAYvB,oBAAoB,IAAI,KAAK,EAAE;IAM/B,2BAA2B,IAAI,KAAK,EAAE;IAMtC,OAAO,CAAC,mBAAmB;CAY5B"}
|
package/dist/Validator.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Validator.d.ts","sourceRoot":"","sources":["../src/Validator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAsB,MAAM,iCAAiC,CAAA;AAElF,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AAOjE,qBAAa,qBAAqB,CAAC,CAAC,SAAS,YAAY,CAAC;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,YAAY,CAAE,SAAQ,gBAAgB,CAAC,CAAC,CAAC;IACvH,SAAS,KAAK,cAAc,IAAI,MAAM,CAErC;IAED,MAAM,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,KAAK,EAAE;IAUpF,SAAS,IAAI,KAAK,EAAE;IAQpB,mBAAmB,IAAI,KAAK,EAAE;IAQ9B,cAAc;IAKd,MAAM,IAAI,KAAK,EAAE;IAQjB,OAAO,IAAI,KAAK,EAAE;IAgBZ,UAAU,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;IAerB,QAAQ;IAYvB,oBAAoB,IAAI,KAAK,EAAE;IAM/B,2BAA2B,IAAI,KAAK,EAAE;IAMtC,OAAO,CAAC,mBAAmB;CAY5B"}
|