@xyo-network/core 2.20.47 → 2.21.2
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/BoundWitness/Builder/Builder.d.ts +5 -5
- package/dist/cjs/BoundWitness/Builder/Builder.js.map +1 -1
- package/dist/cjs/BoundWitness/Validator/BodyValidator.d.ts +7 -8
- package/dist/cjs/BoundWitness/Validator/BodyValidator.js +23 -20
- package/dist/cjs/BoundWitness/Validator/BodyValidator.js.map +1 -1
- package/dist/cjs/BoundWitness/Validator/MetaValidator.d.ts +4 -5
- package/dist/cjs/BoundWitness/Validator/MetaValidator.js +9 -11
- package/dist/cjs/BoundWitness/Validator/MetaValidator.js.map +1 -1
- package/dist/cjs/BoundWitness/Validator/Validator.d.ts +5 -5
- package/dist/cjs/BoundWitness/Validator/Validator.js +9 -8
- package/dist/cjs/BoundWitness/Validator/Validator.js.map +1 -1
- package/dist/cjs/BoundWitness/Wrapper/Wrapper.d.ts +5 -7
- package/dist/cjs/BoundWitness/Wrapper/Wrapper.js +5 -8
- package/dist/cjs/BoundWitness/Wrapper/Wrapper.js.map +1 -1
- package/dist/cjs/BoundWitness/models/Base/XyoBoundWitnessBase.d.ts +9 -0
- package/dist/cjs/BoundWitness/models/Base/XyoBoundWitnessBase.js +3 -0
- package/dist/cjs/BoundWitness/models/Base/XyoBoundWitnessBase.js.map +1 -0
- package/dist/cjs/BoundWitness/models/Base/XyoBoundWitnessBaseSchema.d.ts +36 -0
- package/dist/cjs/BoundWitness/models/Base/XyoBoundWitnessBaseSchema.js +19 -0
- package/dist/cjs/BoundWitness/models/Base/XyoBoundWitnessBaseSchema.js.map +1 -0
- package/dist/cjs/BoundWitness/models/Base/index.d.ts +2 -0
- package/dist/cjs/BoundWitness/models/Base/index.js +6 -0
- package/dist/cjs/BoundWitness/models/Base/index.js.map +1 -0
- package/dist/cjs/BoundWitness/models/Body/XyoBoundWitnessBody.d.ts +3 -5
- package/dist/cjs/BoundWitness/models/Meta/XyoBoundWitnessMeta.d.ts +7 -10
- package/dist/cjs/BoundWitness/models/WithXyoBoundWitnessMeta.d.ts +2 -2
- package/dist/cjs/BoundWitness/models/XyoBoundWitness.d.ts +2 -5
- package/dist/cjs/BoundWitness/models/index.d.ts +1 -1
- package/dist/cjs/BoundWitness/models/index.js +1 -1
- package/dist/cjs/Hasher/XyoAbstractHasher.d.ts +2 -2
- package/dist/cjs/Hasher/XyoAbstractHasher.js +3 -2
- package/dist/cjs/Hasher/XyoAbstractHasher.js.map +1 -1
- package/dist/cjs/Hasher/XyoHasher.d.ts +10 -5
- package/dist/cjs/Hasher/XyoHasher.js +28 -8
- package/dist/cjs/Hasher/XyoHasher.js.map +1 -1
- package/dist/cjs/Hasher/index.d.ts +0 -1
- package/dist/cjs/Hasher/index.js +0 -1
- package/dist/cjs/Hasher/index.js.map +1 -1
- package/dist/cjs/Hasher/removeFields.d.ts +3 -3
- package/dist/cjs/Hasher/removeFields.js +8 -5
- package/dist/cjs/Hasher/removeFields.js.map +1 -1
- package/dist/cjs/Hasher/sortFields.d.ts +1 -1
- package/dist/cjs/Hasher/sortFields.js +3 -2
- package/dist/cjs/Hasher/sortFields.js.map +1 -1
- package/dist/cjs/Huri/Huri.d.ts +2 -2
- package/dist/cjs/Payload/Builder/Builder.d.ts +3 -2
- package/dist/cjs/Payload/Builder/Builder.js.map +1 -1
- package/dist/cjs/Payload/Validator/BodyValidator.d.ts +4 -6
- package/dist/cjs/Payload/Validator/BodyValidator.js +5 -7
- package/dist/cjs/Payload/Validator/BodyValidator.js.map +1 -1
- package/dist/cjs/Payload/Validator/MetaValidator.d.ts +4 -5
- package/dist/cjs/Payload/Validator/MetaValidator.js +7 -9
- package/dist/cjs/Payload/Validator/MetaValidator.js.map +1 -1
- package/dist/cjs/Payload/Validator/Validator.d.ts +4 -5
- package/dist/cjs/Payload/Validator/Validator.js +5 -4
- package/dist/cjs/Payload/Validator/Validator.js.map +1 -1
- package/dist/cjs/Payload/Wrapper/Validator.d.ts +5 -6
- package/dist/cjs/Payload/Wrapper/Validator.js +5 -7
- package/dist/cjs/Payload/Wrapper/Validator.js.map +1 -1
- package/dist/cjs/Payload/Wrapper/Wrapper.d.ts +5 -7
- package/dist/cjs/Payload/Wrapper/Wrapper.js +5 -9
- package/dist/cjs/Payload/Wrapper/Wrapper.js.map +1 -1
- package/dist/cjs/Payload/index.d.ts +0 -1
- package/dist/cjs/Payload/index.js +0 -1
- package/dist/cjs/Payload/index.js.map +1 -1
- package/dist/cjs/Payload/models/Base.d.ts +6 -0
- package/dist/cjs/Payload/models/Base.js +3 -0
- package/dist/cjs/Payload/models/Base.js.map +1 -0
- package/dist/cjs/Payload/models/Body.d.ts +2 -3
- package/dist/cjs/Payload/models/Meta.d.ts +12 -7
- package/dist/cjs/Payload/models/WithAdditional.d.ts +4 -0
- package/dist/cjs/Payload/models/WithAdditional.js +3 -0
- package/dist/cjs/Payload/models/WithAdditional.js.map +1 -0
- package/dist/cjs/Payload/models/XyoPayload.d.ts +2 -4
- package/dist/cjs/Payload/models/index.d.ts +1 -2
- package/dist/cjs/Payload/models/index.js +1 -2
- package/dist/cjs/Payload/models/index.js.map +1 -1
- package/dist/cjs/Query/QueryPayload.d.ts +1 -1
- package/dist/cjs/Schema/Payload.d.ts +3 -3
- package/dist/cjs/Test/testBoundWitness.d.ts +2 -2
- package/dist/cjs/Test/testBoundWitness.js.map +1 -1
- package/dist/cjs/Test/testPayload.d.ts +3 -2
- package/dist/cjs/Test/testPayload.js.map +1 -1
- package/dist/cjs/Wallet/Base/WordsPayload.d.ts +1 -1
- package/dist/cjs/Witness/LegacyWitness.d.ts +3 -3
- package/dist/cjs/Witness/LegacyWitness.js.map +1 -1
- package/dist/cjs/Witness/QueryWitness.d.ts +1 -1
- package/dist/cjs/Witness/QueryWitness.js.map +1 -1
- package/dist/cjs/Witness/Witness.d.ts +1 -1
- package/dist/cjs/lib/StringKeyObject.d.ts +4 -0
- package/dist/cjs/lib/StringKeyObject.js +3 -0
- package/dist/cjs/lib/StringKeyObject.js.map +1 -0
- package/dist/cjs/lib/XyoObject.d.ts +6 -0
- package/dist/cjs/lib/XyoObject.js +13 -0
- package/dist/cjs/lib/XyoObject.js.map +1 -0
- package/dist/cjs/lib/XyoValidator.d.ts +4 -0
- package/dist/cjs/lib/XyoValidator.js +8 -0
- package/dist/cjs/lib/XyoValidator.js.map +1 -0
- package/dist/cjs/lib/index.d.ts +3 -0
- package/dist/cjs/lib/index.js +3 -0
- package/dist/cjs/lib/index.js.map +1 -1
- package/dist/cjs/lib/isXyoPayloadOfSchemaType.d.ts +3 -3
- package/dist/cjs/models/Base.d.ts +6 -0
- package/dist/cjs/models/Base.js +3 -0
- package/dist/cjs/models/Base.js.map +1 -0
- package/dist/cjs/models/Meta.d.ts +15 -0
- package/dist/cjs/models/Meta.js +3 -0
- package/dist/cjs/models/Meta.js.map +1 -0
- package/dist/cjs/models/XyoPayload.d.ts +2 -0
- package/dist/cjs/models/XyoPayload.js +3 -0
- package/dist/cjs/models/XyoPayload.js.map +1 -0
- package/dist/cjs/models/index.d.ts +3 -1
- package/dist/cjs/models/index.js +3 -1
- package/dist/cjs/models/index.js.map +1 -1
- package/dist/cjs/shared.d.ts +1 -1
- package/dist/cjs/shared.js +1 -1
- package/dist/cjs/shared.js.map +1 -1
- package/dist/esm/BoundWitness/Builder/Builder.d.ts +5 -5
- package/dist/esm/BoundWitness/Builder/Builder.js.map +1 -1
- package/dist/esm/BoundWitness/Validator/BodyValidator.d.ts +7 -8
- package/dist/esm/BoundWitness/Validator/BodyValidator.js +24 -22
- package/dist/esm/BoundWitness/Validator/BodyValidator.js.map +1 -1
- package/dist/esm/BoundWitness/Validator/MetaValidator.d.ts +4 -5
- package/dist/esm/BoundWitness/Validator/MetaValidator.js +9 -11
- package/dist/esm/BoundWitness/Validator/MetaValidator.js.map +1 -1
- package/dist/esm/BoundWitness/Validator/Validator.d.ts +5 -5
- package/dist/esm/BoundWitness/Validator/Validator.js +9 -8
- package/dist/esm/BoundWitness/Validator/Validator.js.map +1 -1
- package/dist/esm/BoundWitness/Wrapper/Wrapper.d.ts +5 -7
- package/dist/esm/BoundWitness/Wrapper/Wrapper.js +3 -7
- package/dist/esm/BoundWitness/Wrapper/Wrapper.js.map +1 -1
- package/dist/esm/BoundWitness/models/Base/XyoBoundWitnessBase.d.ts +9 -0
- package/dist/esm/BoundWitness/models/Base/XyoBoundWitnessBase.js +2 -0
- package/dist/esm/BoundWitness/models/Base/XyoBoundWitnessBase.js.map +1 -0
- package/dist/esm/BoundWitness/models/Base/XyoBoundWitnessBaseSchema.d.ts +36 -0
- package/dist/esm/BoundWitness/models/Base/XyoBoundWitnessBaseSchema.js +16 -0
- package/dist/esm/BoundWitness/models/Base/XyoBoundWitnessBaseSchema.js.map +1 -0
- package/dist/esm/BoundWitness/models/Base/index.d.ts +2 -0
- package/dist/esm/BoundWitness/models/Base/index.js +3 -0
- package/dist/esm/BoundWitness/models/Base/index.js.map +1 -0
- package/dist/esm/BoundWitness/models/Body/XyoBoundWitnessBody.d.ts +3 -5
- package/dist/esm/BoundWitness/models/Meta/XyoBoundWitnessMeta.d.ts +7 -10
- package/dist/esm/BoundWitness/models/WithXyoBoundWitnessMeta.d.ts +2 -2
- package/dist/esm/BoundWitness/models/XyoBoundWitness.d.ts +2 -5
- package/dist/esm/BoundWitness/models/index.d.ts +1 -1
- package/dist/esm/BoundWitness/models/index.js +1 -1
- package/dist/esm/Hasher/XyoAbstractHasher.d.ts +2 -2
- package/dist/esm/Hasher/XyoAbstractHasher.js +3 -2
- package/dist/esm/Hasher/XyoAbstractHasher.js.map +1 -1
- package/dist/esm/Hasher/XyoHasher.d.ts +10 -5
- package/dist/esm/Hasher/XyoHasher.js +27 -8
- package/dist/esm/Hasher/XyoHasher.js.map +1 -1
- package/dist/esm/Hasher/index.d.ts +0 -1
- package/dist/esm/Hasher/index.js +0 -1
- package/dist/esm/Hasher/index.js.map +1 -1
- package/dist/esm/Hasher/removeFields.d.ts +3 -3
- package/dist/esm/Hasher/removeFields.js +8 -5
- package/dist/esm/Hasher/removeFields.js.map +1 -1
- package/dist/esm/Hasher/sortFields.d.ts +1 -1
- package/dist/esm/Hasher/sortFields.js +3 -2
- package/dist/esm/Hasher/sortFields.js.map +1 -1
- package/dist/esm/Huri/Huri.d.ts +2 -2
- package/dist/esm/Payload/Builder/Builder.d.ts +3 -2
- package/dist/esm/Payload/Builder/Builder.js.map +1 -1
- package/dist/esm/Payload/Validator/BodyValidator.d.ts +4 -6
- package/dist/esm/Payload/Validator/BodyValidator.js +5 -8
- package/dist/esm/Payload/Validator/BodyValidator.js.map +1 -1
- package/dist/esm/Payload/Validator/MetaValidator.d.ts +4 -5
- package/dist/esm/Payload/Validator/MetaValidator.js +7 -9
- package/dist/esm/Payload/Validator/MetaValidator.js.map +1 -1
- package/dist/esm/Payload/Validator/Validator.d.ts +4 -5
- package/dist/esm/Payload/Validator/Validator.js +5 -5
- package/dist/esm/Payload/Validator/Validator.js.map +1 -1
- package/dist/esm/Payload/Wrapper/Validator.d.ts +5 -6
- package/dist/esm/Payload/Wrapper/Validator.js +5 -7
- package/dist/esm/Payload/Wrapper/Validator.js.map +1 -1
- package/dist/esm/Payload/Wrapper/Wrapper.d.ts +5 -7
- package/dist/esm/Payload/Wrapper/Wrapper.js +6 -10
- package/dist/esm/Payload/Wrapper/Wrapper.js.map +1 -1
- package/dist/esm/Payload/index.d.ts +0 -1
- package/dist/esm/Payload/index.js +0 -1
- package/dist/esm/Payload/index.js.map +1 -1
- package/dist/esm/Payload/models/Base.d.ts +6 -0
- package/dist/esm/Payload/models/Base.js +2 -0
- package/dist/esm/Payload/models/Base.js.map +1 -0
- package/dist/esm/Payload/models/Body.d.ts +2 -3
- package/dist/esm/Payload/models/Meta.d.ts +12 -7
- package/dist/esm/Payload/models/WithAdditional.d.ts +4 -0
- package/dist/esm/Payload/models/WithAdditional.js +2 -0
- package/dist/esm/Payload/models/WithAdditional.js.map +1 -0
- package/dist/esm/Payload/models/XyoPayload.d.ts +2 -4
- package/dist/esm/Payload/models/index.d.ts +1 -2
- package/dist/esm/Payload/models/index.js +1 -2
- package/dist/esm/Payload/models/index.js.map +1 -1
- package/dist/esm/Query/QueryPayload.d.ts +1 -1
- package/dist/esm/Schema/Payload.d.ts +3 -3
- package/dist/esm/Test/testBoundWitness.d.ts +2 -2
- package/dist/esm/Test/testBoundWitness.js.map +1 -1
- package/dist/esm/Test/testPayload.d.ts +3 -2
- package/dist/esm/Test/testPayload.js.map +1 -1
- package/dist/esm/Wallet/Base/WordsPayload.d.ts +1 -1
- package/dist/esm/Witness/LegacyWitness.d.ts +1 -1
- package/dist/esm/Witness/LegacyWitness.js.map +1 -1
- package/dist/esm/Witness/QueryWitness.d.ts +1 -1
- package/dist/esm/Witness/QueryWitness.js.map +1 -1
- package/dist/esm/Witness/Witness.d.ts +1 -1
- package/dist/esm/lib/StringKeyObject.d.ts +4 -0
- package/dist/esm/lib/StringKeyObject.js +2 -0
- package/dist/esm/lib/StringKeyObject.js.map +1 -0
- package/dist/esm/lib/XyoObject.d.ts +6 -0
- package/dist/esm/lib/XyoObject.js +9 -0
- package/dist/esm/lib/XyoObject.js.map +1 -0
- package/dist/esm/lib/XyoValidator.d.ts +4 -0
- package/dist/esm/lib/XyoValidator.js +4 -0
- package/dist/esm/lib/XyoValidator.js.map +1 -0
- package/dist/esm/lib/index.d.ts +3 -0
- package/dist/esm/lib/index.js +3 -0
- package/dist/esm/lib/index.js.map +1 -1
- package/dist/esm/lib/isXyoPayloadOfSchemaType.d.ts +3 -3
- package/dist/esm/models/Base.d.ts +6 -0
- package/dist/esm/models/Base.js +2 -0
- package/dist/esm/models/Base.js.map +1 -0
- package/dist/esm/models/Meta.d.ts +15 -0
- package/dist/esm/models/Meta.js +2 -0
- package/dist/esm/models/Meta.js.map +1 -0
- package/dist/esm/models/XyoPayload.d.ts +2 -0
- package/dist/esm/models/XyoPayload.js +2 -0
- package/dist/esm/models/XyoPayload.js.map +1 -0
- package/dist/esm/models/index.d.ts +3 -1
- package/dist/esm/models/index.js +3 -1
- package/dist/esm/models/index.js.map +1 -1
- package/dist/esm/shared.d.ts +1 -1
- package/dist/esm/shared.js +1 -1
- package/dist/esm/shared.js.map +1 -1
- package/package.json +1 -1
- package/src/BoundWitness/Builder/Builder.spec.ts +4 -3
- package/src/BoundWitness/Builder/Builder.ts +7 -7
- package/src/BoundWitness/Validator/BodyValidator.spec.ts +1 -1
- package/src/BoundWitness/Validator/BodyValidator.ts +26 -27
- package/src/BoundWitness/Validator/MetaValidator.spec.ts +10 -10
- package/src/BoundWitness/Validator/MetaValidator.ts +9 -13
- package/src/BoundWitness/Validator/Validator.spec.ts +1 -1
- package/src/BoundWitness/Validator/Validator.ts +11 -11
- package/src/BoundWitness/Wrapper/Wrapper.ts +4 -11
- package/src/BoundWitness/models/Base/XyoBoundWitnessBase.ts +10 -0
- package/src/BoundWitness/models/{Body/XyoBoundWitnessBodySchema.ts → Base/XyoBoundWitnessBaseSchema.ts} +1 -3
- package/src/BoundWitness/models/Base/index.ts +2 -0
- package/src/BoundWitness/models/Meta/XyoBoundWitnessMeta.ts +7 -10
- package/src/BoundWitness/models/WithXyoBoundWitnessMeta.ts +2 -2
- package/src/BoundWitness/models/XyoBoundWitness.ts +2 -6
- package/src/BoundWitness/models/index.ts +1 -1
- package/src/Hasher/XyoHasher.ts +31 -8
- package/src/Hasher/index.ts +0 -1
- package/src/Hasher/removeFields.ts +17 -9
- package/src/Hasher/sortFields.ts +8 -5
- package/src/Huri/Huri.spec.ts +1 -1
- package/src/Huri/Huri.ts +1 -1
- package/src/Payload/Builder/Builder.ts +3 -2
- package/src/Payload/Validator/BodyValidator.spec.ts +1 -1
- package/src/Payload/Validator/BodyValidator.ts +6 -13
- package/src/Payload/Validator/MetaValidator.spec.ts +1 -1
- package/src/Payload/Validator/MetaValidator.ts +7 -11
- package/src/Payload/Validator/Validator.spec.ts +16 -16
- package/src/Payload/Validator/Validator.ts +6 -8
- package/src/Payload/Wrapper/Validator.ts +6 -10
- package/src/Payload/Wrapper/Wrapper.ts +7 -13
- package/src/Payload/index.ts +0 -1
- package/src/Query/QueryPayload.ts +1 -1
- package/src/Schema/Payload.ts +3 -3
- package/src/Test/testBoundWitness.ts +2 -2
- package/src/Test/testPayload.ts +3 -2
- package/src/Wallet/Base/WordsPayload.ts +1 -1
- package/src/Witness/LegacyWitness.ts +2 -1
- package/src/Witness/QueryWitness.ts +2 -1
- package/src/Witness/Witness.ts +1 -1
- package/src/lib/StringKeyObject.ts +2 -0
- package/src/lib/XyoObject.ts +11 -0
- package/src/lib/XyoValidator.ts +5 -0
- package/src/lib/index.ts +3 -0
- package/src/lib/isXyoPayloadOfSchemaType.ts +1 -1
- package/src/models/Base.ts +6 -0
- package/src/models/Meta.ts +17 -0
- package/src/models/XyoPayload.ts +3 -0
- package/src/models/index.ts +3 -1
- package/src/shared.ts +1 -1
- package/src/BoundWitness/models/Body/XyoBoundWitnessBody.ts +0 -13
- package/src/BoundWitness/models/Body/index.ts +0 -2
- package/src/Hasher/XyoAbstractHasher.ts +0 -37
- package/src/Payload/models/Body.ts +0 -7
- package/src/Payload/models/Meta.ts +0 -11
- package/src/Payload/models/WithXyoPayloadMeta.ts +0 -6
- package/src/Payload/models/XyoPayload.ts +0 -6
- package/src/Payload/models/index.ts +0 -4
- package/src/models/WithStringIndex.ts +0 -1
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { assertEx } from '@xylabs/sdk-js';
|
|
2
|
+
import { XyoValidator } from '../../lib';
|
|
2
3
|
import { XyoAddressValue } from '../../Wallet';
|
|
3
4
|
import { XyoBoundWitnessBodyValidator } from './BodyValidator';
|
|
4
5
|
import { XyoBoundWitnessMetaValidator } from './MetaValidator';
|
|
@@ -14,25 +15,25 @@ const validateSignature = (hash, address, signature) => {
|
|
|
14
15
|
}
|
|
15
16
|
return [];
|
|
16
17
|
};
|
|
17
|
-
class XyoBoundWitnessValidator {
|
|
18
|
+
class XyoBoundWitnessValidator extends XyoValidator {
|
|
18
19
|
constructor(bw) {
|
|
19
|
-
|
|
20
|
+
super(bw);
|
|
20
21
|
this.body = new XyoBoundWitnessBodyValidator(bw, bw._payloads);
|
|
21
22
|
this.meta = new XyoBoundWitnessMetaValidator(bw);
|
|
22
23
|
}
|
|
23
24
|
signatures() {
|
|
24
|
-
const hash = assertEx(this.
|
|
25
|
+
const hash = assertEx(this.obj._hash, 'Missing _hash');
|
|
25
26
|
return [
|
|
26
|
-
...validateArraysSameLength(this.
|
|
27
|
-
...this.
|
|
28
|
-
errors.push(...validateSignature(hash, address, this.
|
|
27
|
+
...validateArraysSameLength(this.obj._signatures ?? [], this.obj.addresses, 'Length mismatch: address/_signature'),
|
|
28
|
+
...this.obj.addresses.reduce((errors, address, index) => {
|
|
29
|
+
errors.push(...validateSignature(hash, address, this.obj._signatures?.[index]));
|
|
29
30
|
return errors;
|
|
30
31
|
}, []),
|
|
31
32
|
];
|
|
32
33
|
}
|
|
33
|
-
|
|
34
|
+
validate() {
|
|
34
35
|
const errors = [];
|
|
35
|
-
errors.push(...this.meta.
|
|
36
|
+
errors.push(...this.meta.validate(), ...this.body.validate());
|
|
36
37
|
errors.push(...this.signatures());
|
|
37
38
|
return errors;
|
|
38
39
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Validator.js","sourceRoot":"","sources":["../../../../src/BoundWitness/Validator/Validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAEzC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAE9C,OAAO,EAAE,4BAA4B,EAAE,MAAM,iBAAiB,CAAA;AAC9D,OAAO,EAAE,4BAA4B,EAAE,MAAM,iBAAiB,CAAA;AAE9D,MAAM,wBAAwB,GAAG,CAAC,CAAY,EAAE,CAAY,EAAE,OAAO,GAAG,uBAAuB,EAAE,EAAE;IACjG,OAAO,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;AAC7D,CAAC,CAAA;AAED,MAAM,iBAAiB,GAAG,CAAC,IAAY,EAAE,OAAe,EAAE,SAAkB,EAAE,EAAE;IAC9E,IAAI,CAAC,SAAS,EAAE;QACd,OAAO,CAAC,KAAK,CAAC,sBAAsB,OAAO,GAAG,CAAC,CAAC,CAAA;KACjD;IACD,IAAI,CAAC,IAAI,eAAe,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE;QACzD,OAAO,CAAC,KAAK,CAAC,sBAAsB,OAAO,MAAM,SAAS,GAAG,CAAC,CAAC,CAAA;KAChE;IACD,OAAO,EAAE,CAAA;AACX,CAAC,CAAA;AAED,MAAM,
|
|
1
|
+
{"version":3,"file":"Validator.js","sourceRoot":"","sources":["../../../../src/BoundWitness/Validator/Validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAEzC,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAE9C,OAAO,EAAE,4BAA4B,EAAE,MAAM,iBAAiB,CAAA;AAC9D,OAAO,EAAE,4BAA4B,EAAE,MAAM,iBAAiB,CAAA;AAE9D,MAAM,wBAAwB,GAAG,CAAC,CAAY,EAAE,CAAY,EAAE,OAAO,GAAG,uBAAuB,EAAE,EAAE;IACjG,OAAO,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;AAC7D,CAAC,CAAA;AAED,MAAM,iBAAiB,GAAG,CAAC,IAAY,EAAE,OAAe,EAAE,SAAkB,EAAE,EAAE;IAC9E,IAAI,CAAC,SAAS,EAAE;QACd,OAAO,CAAC,KAAK,CAAC,sBAAsB,OAAO,GAAG,CAAC,CAAC,CAAA;KACjD;IACD,IAAI,CAAC,IAAI,eAAe,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE;QACzD,OAAO,CAAC,KAAK,CAAC,sBAAsB,OAAO,MAAM,SAAS,GAAG,CAAC,CAAC,CAAA;KAChE;IACD,OAAO,EAAE,CAAA;AACX,CAAC,CAAA;AAED,MAAM,wBAAsF,SAAQ,YAAe;IAGjH,YAAY,EAAK;QACf,KAAK,CAAC,EAAE,CAAC,CAAA;QACT,IAAI,CAAC,IAAI,GAAG,IAAI,4BAA4B,CAAC,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,CAAA;QAC9D,IAAI,CAAC,IAAI,GAAG,IAAI,4BAA4B,CAAC,EAAE,CAAC,CAAA;IAClD,CAAC;IAEM,UAAU;QACf,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,eAAe,CAAC,CAAA;QACtD,OAAO;YACL,GAAG,wBAAwB,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,qCAAqC,CAAC;YAClH,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAU,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;gBAC/D,MAAM,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;gBAC/E,OAAO,MAAM,CAAA;YACf,CAAC,EAAE,EAAE,CAAC;SACP,CAAA;IACH,CAAC;IAEM,QAAQ;QACb,MAAM,MAAM,GAAY,EAAE,CAAA;QAC1B,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAA;QAC7D,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,CAAA;QACjC,OAAO,MAAM,CAAA;IACf,CAAC;CACF;AAED,OAAO,EAAE,wBAAwB,EAAE,CAAA"}
|
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
import { XyoHasher } from '../../Hasher';
|
|
2
|
-
import { XyoBoundWitness } from '../models';
|
|
3
|
-
|
|
4
|
-
declare class XyoBoundWitnessWrapper<T extends XyoBoundWitness> extends XyoHasher<T> {
|
|
2
|
+
import { XyoBoundWitness, XyoBoundWitnessWithMeta } from '../models';
|
|
3
|
+
export declare class XyoBoundWitnessWrapper<T extends XyoBoundWitness> extends XyoHasher<T> {
|
|
5
4
|
readonly bw: T;
|
|
6
5
|
constructor(bw: T);
|
|
7
|
-
get scrubbedFields():
|
|
8
|
-
|
|
9
|
-
|
|
6
|
+
get scrubbedFields(): Partial<T>;
|
|
7
|
+
}
|
|
8
|
+
export declare class XyoBoundWitnessWithMetaWrapper<T extends XyoBoundWitnessWithMeta> extends XyoBoundWitnessWrapper<T> {
|
|
10
9
|
private _userAgent?;
|
|
11
10
|
get userAgent(): import("ua-parser-js").UAParserInstance;
|
|
12
11
|
}
|
|
13
|
-
export { XyoBoundWitnessWrapper };
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import pick from 'lodash/pick';
|
|
2
2
|
import { UAParser } from 'ua-parser-js';
|
|
3
3
|
import { XyoHasher } from '../../Hasher';
|
|
4
|
-
import { XyoBoundWitnessValidator } from '../Validator';
|
|
5
4
|
const scrubbedFields = ['_archive', '_client', '_hash', '_signatures', '_timestamp', '_user_agent', 'addresses', 'payload_schemas', 'previous_hashes', 'payload_hashes', 'schema'];
|
|
6
|
-
class XyoBoundWitnessWrapper extends XyoHasher {
|
|
5
|
+
export class XyoBoundWitnessWrapper extends XyoHasher {
|
|
7
6
|
constructor(bw) {
|
|
8
7
|
super(bw);
|
|
9
8
|
this.bw = bw;
|
|
@@ -11,14 +10,11 @@ class XyoBoundWitnessWrapper extends XyoHasher {
|
|
|
11
10
|
get scrubbedFields() {
|
|
12
11
|
return pick(this.bw, scrubbedFields);
|
|
13
12
|
}
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
return this._validator;
|
|
17
|
-
}
|
|
13
|
+
}
|
|
14
|
+
export class XyoBoundWitnessWithMetaWrapper extends XyoBoundWitnessWrapper {
|
|
18
15
|
get userAgent() {
|
|
19
16
|
this._userAgent = this._userAgent ?? new UAParser(this.bw._user_agent);
|
|
20
17
|
return this._userAgent;
|
|
21
18
|
}
|
|
22
19
|
}
|
|
23
|
-
export { XyoBoundWitnessWrapper };
|
|
24
20
|
//# sourceMappingURL=Wrapper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Wrapper.js","sourceRoot":"","sources":["../../../../src/BoundWitness/Wrapper/Wrapper.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,aAAa,CAAA;AAC9B,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAEvC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"Wrapper.js","sourceRoot":"","sources":["../../../../src/BoundWitness/Wrapper/Wrapper.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,aAAa,CAAA;AAC9B,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAEvC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAGxC,MAAM,cAAc,GAAG,CAAC,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,QAAQ,CAAC,CAAA;AAElL,MAAM,OAAO,sBAAkD,SAAQ,SAAY;IAEjF,YAAY,EAAK;QACf,KAAK,CAAC,EAAE,CAAC,CAAA;QACT,IAAI,CAAC,EAAE,GAAG,EAAE,CAAA;IACd,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,cAAc,CAAC,CAAA;IACtC,CAAC;CACF;AAED,MAAM,OAAO,8BAAkE,SAAQ,sBAAyB;IAE9G,IAAI,SAAS;QACX,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,CAAA;QACtE,OAAO,IAAI,CAAC,UAAU,CAAA;IACxB,CAAC;CACF"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { XyoPayload } from '../../../models';
|
|
2
|
+
export declare type XyoBoundWitnessBase = XyoPayload<{
|
|
3
|
+
addresses: string[];
|
|
4
|
+
previous_hash?: string;
|
|
5
|
+
payload_hashes: string[];
|
|
6
|
+
payload_schemas: string[];
|
|
7
|
+
previous_hashes: (string | null)[];
|
|
8
|
+
schema: string;
|
|
9
|
+
}>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"XyoBoundWitnessBase.js","sourceRoot":"","sources":["../../../../../src/BoundWitness/models/Base/XyoBoundWitnessBase.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
export declare const XyoBoundWitnessBaseSchema: {
|
|
2
|
+
$id: string;
|
|
3
|
+
additionalProperties: boolean;
|
|
4
|
+
properties: {
|
|
5
|
+
addresses: {
|
|
6
|
+
items: {
|
|
7
|
+
type: string;
|
|
8
|
+
};
|
|
9
|
+
type: string;
|
|
10
|
+
};
|
|
11
|
+
payload_hashes: {
|
|
12
|
+
items: {
|
|
13
|
+
type: string;
|
|
14
|
+
};
|
|
15
|
+
type: string;
|
|
16
|
+
};
|
|
17
|
+
payload_schemas: {
|
|
18
|
+
items: {
|
|
19
|
+
type: string;
|
|
20
|
+
};
|
|
21
|
+
type: string;
|
|
22
|
+
};
|
|
23
|
+
previous_hashes: {
|
|
24
|
+
items: {
|
|
25
|
+
nullable: boolean;
|
|
26
|
+
type: string;
|
|
27
|
+
};
|
|
28
|
+
type: string;
|
|
29
|
+
};
|
|
30
|
+
schema: {
|
|
31
|
+
type: string;
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
required: string[];
|
|
35
|
+
type: string;
|
|
36
|
+
};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
//Should type as JSONSchemaType<XyoBoundWitnessBody> once ajv/eslint issue is fixed
|
|
2
|
+
//https://github.com/microsoft/TypeScript/issues/44851
|
|
3
|
+
export const XyoBoundWitnessBaseSchema = {
|
|
4
|
+
$id: 'https://schemas.xyo.network/2.0/boundwitness/body',
|
|
5
|
+
additionalProperties: false,
|
|
6
|
+
properties: {
|
|
7
|
+
addresses: { items: { type: 'string' }, type: 'array' },
|
|
8
|
+
payload_hashes: { items: { type: 'string' }, type: 'array' },
|
|
9
|
+
payload_schemas: { items: { type: 'string' }, type: 'array' },
|
|
10
|
+
previous_hashes: { items: { nullable: true, type: 'string' }, type: 'array' },
|
|
11
|
+
schema: { type: 'string' },
|
|
12
|
+
},
|
|
13
|
+
required: ['addresses', 'payload_hashes', 'payload_schemas', 'previous_hashes', 'schema'],
|
|
14
|
+
type: 'object',
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=XyoBoundWitnessBaseSchema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"XyoBoundWitnessBaseSchema.js","sourceRoot":"","sources":["../../../../../src/BoundWitness/models/Base/XyoBoundWitnessBaseSchema.ts"],"names":[],"mappings":"AAAA,mFAAmF;AACnF,sDAAsD;AACtD,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,GAAG,EAAE,mDAAmD;IACxD,oBAAoB,EAAE,KAAK;IAC3B,UAAU,EAAE;QACV,SAAS,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;QACvD,cAAc,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;QAC5D,eAAe,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;QAC7D,eAAe,EAAE,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;QAC7E,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KAC3B;IACD,QAAQ,EAAE,CAAC,WAAW,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,QAAQ,CAAC;IACzF,IAAI,EAAE,QAAQ;CACf,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/BoundWitness/models/Base/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAA;AACrC,cAAc,6BAA6B,CAAA"}
|
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
[key: string]: unknown;
|
|
1
|
+
import { XyoPayload } from '../../../Payload';
|
|
2
|
+
export declare type XyoBoundWitnessBody = XyoPayload<{
|
|
4
3
|
addresses: string[];
|
|
5
4
|
previous_hash?: string;
|
|
6
5
|
payload_hashes: string[];
|
|
7
6
|
payload_schemas: string[];
|
|
8
7
|
previous_hashes: (string | null)[];
|
|
9
8
|
schema: string;
|
|
10
|
-
}
|
|
11
|
-
export type { XyoBoundWitnessBody };
|
|
9
|
+
}>;
|
|
@@ -1,13 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
_hash?: string;
|
|
6
|
-
_archive?: string;
|
|
7
|
-
_payloads?: XyoPayloadBody[];
|
|
1
|
+
import { XyoPayload, XyoPayloadMeta } from '../../../models';
|
|
2
|
+
import { XyoBoundWitness } from '../XyoBoundWitness';
|
|
3
|
+
export declare type XyoBoundWitnessMeta = XyoPayloadMeta<{
|
|
4
|
+
_payloads?: XyoPayload[];
|
|
8
5
|
_signatures?: string[];
|
|
9
|
-
_timestamp?: number;
|
|
10
6
|
_source_ip?: string;
|
|
11
7
|
_user_agent?: string;
|
|
12
|
-
}
|
|
13
|
-
export type
|
|
8
|
+
}>;
|
|
9
|
+
export declare type XyoBoundWitnessWithMeta<T = unknown> = T & XyoBoundWitnessMeta & XyoBoundWitness;
|
|
10
|
+
export declare type XyoBoundWitnessWithPartialMeta<T = unknown> = T & Partial<XyoBoundWitnessMeta> & XyoBoundWitness;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { XyoBoundWitnessBody } from './Body';
|
|
2
1
|
import { XyoBoundWitnessMeta } from './Meta';
|
|
3
|
-
|
|
2
|
+
import { XyoBoundWitness } from './XyoBoundWitness';
|
|
3
|
+
declare type WithXyoBoundWitnessMeta<T extends XyoBoundWitness> = T & XyoBoundWitnessMeta;
|
|
4
4
|
export type { WithXyoBoundWitnessMeta };
|
|
@@ -1,5 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
import { WithXyoBoundWitnessMeta } from './WithXyoBoundWitnessMeta';
|
|
4
|
-
declare type XyoBoundWitness = WithXyoBoundWitnessMeta<XyoBoundWitnessBody & XyoPayload>;
|
|
5
|
-
export type { XyoBoundWitness };
|
|
1
|
+
import { XyoBoundWitnessBase } from './Base';
|
|
2
|
+
export declare type XyoBoundWitness<T extends object = XyoBoundWitnessBase> = T & XyoBoundWitnessBase;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
import { XyoObject } from '../Payload';
|
|
2
|
+
export declare abstract class XyoAbstractHasher<T extends object> extends XyoObject<T> {
|
|
3
3
|
get hashFields(): Record<string, unknown>;
|
|
4
4
|
/** @deprecated use stringified instead */
|
|
5
5
|
sortedStringify(): string;
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import shajs from 'sha.js';
|
|
2
|
+
import { XyoObject } from '../Payload';
|
|
2
3
|
import { removeEmptyFields } from './removeEmptyFields';
|
|
3
4
|
import { deepOmitUnderscoreFields } from './removeFields';
|
|
4
5
|
import { sortFields } from './sortFields';
|
|
5
|
-
export class XyoAbstractHasher {
|
|
6
|
+
export class XyoAbstractHasher extends XyoObject {
|
|
6
7
|
get hashFields() {
|
|
7
|
-
return removeEmptyFields(deepOmitUnderscoreFields(this.
|
|
8
|
+
return removeEmptyFields(deepOmitUnderscoreFields(this.stringKeyObj));
|
|
8
9
|
}
|
|
9
10
|
/** @deprecated use stringified instead */
|
|
10
11
|
sortedStringify() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"XyoAbstractHasher.js","sourceRoot":"","sources":["../../../src/Hasher/XyoAbstractHasher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,QAAQ,CAAA;AAE1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAA;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,MAAM,OAAgB,
|
|
1
|
+
{"version":3,"file":"XyoAbstractHasher.js","sourceRoot":"","sources":["../../../src/Hasher/XyoAbstractHasher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,QAAQ,CAAA;AAE1B,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAA;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,MAAM,OAAgB,iBAAoC,SAAQ,SAAY;IAC5E,IAAI,UAAU;QACZ,OAAO,iBAAiB,CAAC,wBAAwB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAA;IACvE,CAAC;IAED,0CAA0C;IACnC,eAAe;QACpB,OAAO,IAAI,CAAC,WAAW,CAAA;IACzB,CAAC;IAED,IAAW,WAAW;QACpB,MAAM,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QAC/C,OAAO,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;IACpC,CAAC;IAED,mCAAmC;IAC5B,UAAU;QACf,OAAO,IAAI,CAAC,IAAI,CAAA;IAClB,CAAC;IAED,IAAW,IAAI;QACb,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC9C,CAAC;IAEO,cAAc;QACpB,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,CAAA;QACrC,OAAO,KAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,MAAM,EAAE,CAAA;IACtD,CAAC;CACF"}
|
|
@@ -1,6 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare class XyoHasher<T extends
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
import { StringKeyObject, XyoObject } from '../lib';
|
|
2
|
+
export declare class XyoHasher<T extends object = StringKeyObject> extends XyoObject<T> {
|
|
3
|
+
get hashFields(): Record<string, unknown>;
|
|
4
|
+
/** @deprecated use stringified instead */
|
|
5
|
+
sortedStringify(): string;
|
|
6
|
+
get stringified(): string;
|
|
7
|
+
/** @deprecated use hash instead */
|
|
8
|
+
sortedHash(): string;
|
|
9
|
+
get hash(): string;
|
|
10
|
+
private sortedHashData;
|
|
6
11
|
}
|
|
@@ -1,11 +1,30 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
get
|
|
8
|
-
return this.
|
|
1
|
+
import shajs from 'sha.js';
|
|
2
|
+
import { XyoObject } from '../lib';
|
|
3
|
+
import { removeEmptyFields } from './removeEmptyFields';
|
|
4
|
+
import { deepOmitUnderscoreFields } from './removeFields';
|
|
5
|
+
import { sortFields } from './sortFields';
|
|
6
|
+
export class XyoHasher extends XyoObject {
|
|
7
|
+
get hashFields() {
|
|
8
|
+
return removeEmptyFields(deepOmitUnderscoreFields(this.stringKeyObj));
|
|
9
|
+
}
|
|
10
|
+
/** @deprecated use stringified instead */
|
|
11
|
+
sortedStringify() {
|
|
12
|
+
return this.stringified;
|
|
13
|
+
}
|
|
14
|
+
get stringified() {
|
|
15
|
+
const sortedEntry = sortFields(this.hashFields);
|
|
16
|
+
return JSON.stringify(sortedEntry);
|
|
17
|
+
}
|
|
18
|
+
/** @deprecated use hash instead */
|
|
19
|
+
sortedHash() {
|
|
20
|
+
return this.hash;
|
|
21
|
+
}
|
|
22
|
+
get hash() {
|
|
23
|
+
return this.sortedHashData().toString('hex');
|
|
24
|
+
}
|
|
25
|
+
sortedHashData() {
|
|
26
|
+
const stringObject = this.stringified;
|
|
27
|
+
return shajs('sha256').update(stringObject).digest();
|
|
9
28
|
}
|
|
10
29
|
}
|
|
11
30
|
//# sourceMappingURL=XyoHasher.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"XyoHasher.js","sourceRoot":"","sources":["../../../src/Hasher/XyoHasher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"XyoHasher.js","sourceRoot":"","sources":["../../../src/Hasher/XyoHasher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,QAAQ,CAAA;AAE1B,OAAO,EAAmB,SAAS,EAAE,MAAM,QAAQ,CAAA;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAA;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,MAAM,OAAO,SAA8C,SAAQ,SAAY;IAC7E,IAAI,UAAU;QACZ,OAAO,iBAAiB,CAAC,wBAAwB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAA;IACvE,CAAC;IAED,0CAA0C;IACnC,eAAe;QACpB,OAAO,IAAI,CAAC,WAAW,CAAA;IACzB,CAAC;IAED,IAAW,WAAW;QACpB,MAAM,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QAC/C,OAAO,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;IACpC,CAAC;IAED,mCAAmC;IAC5B,UAAU;QACf,OAAO,IAAI,CAAC,IAAI,CAAA;IAClB,CAAC;IAED,IAAW,IAAI;QACb,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC9C,CAAC;IAEO,cAAc;QACpB,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,CAAA;QACrC,OAAO,KAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,MAAM,EAAE,CAAA;IACtD,CAAC;CACF"}
|
package/dist/esm/Hasher/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Hasher/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA;AAC5B,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Hasher/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ValueKeyIteratee } from 'lodash';
|
|
2
2
|
import omitBy from 'lodash/omitBy';
|
|
3
3
|
import pickBy from 'lodash/pickBy';
|
|
4
|
-
export declare const deepBy: <T>(obj: T, predicate: ValueKeyIteratee<T>, func: typeof omitBy | typeof pickBy) => T;
|
|
5
|
-
export declare const deepOmitUnderscoreFields: <T>(obj: T) => T;
|
|
6
|
-
export declare const deepPickUnderscoreFields: <T>(obj: T) => T;
|
|
4
|
+
export declare const deepBy: <T extends object>(obj: T, predicate: ValueKeyIteratee<T>, func: typeof omitBy | typeof pickBy) => T;
|
|
5
|
+
export declare const deepOmitUnderscoreFields: <T extends object>(obj: T) => T;
|
|
6
|
+
export declare const deepPickUnderscoreFields: <T extends object>(obj: T) => T;
|
|
@@ -1,17 +1,20 @@
|
|
|
1
|
-
import assign from 'lodash/assign';
|
|
2
1
|
import isObject from 'lodash/isObject';
|
|
3
2
|
import mapValues from 'lodash/mapValues';
|
|
3
|
+
import merge from 'lodash/merge';
|
|
4
4
|
import omitBy from 'lodash/omitBy';
|
|
5
5
|
import pickBy from 'lodash/pickBy';
|
|
6
6
|
export const deepBy = (obj, predicate, func) => {
|
|
7
7
|
if (Array.isArray(obj)) {
|
|
8
8
|
return obj;
|
|
9
9
|
}
|
|
10
|
-
//
|
|
10
|
+
//pick the child objects
|
|
11
11
|
const onlyObjects = pickBy(obj, isObject);
|
|
12
|
-
|
|
13
|
-
const
|
|
14
|
-
|
|
12
|
+
//pick the child non-objects
|
|
13
|
+
const nonObjects = pickBy(obj, (value) => !isObject(value));
|
|
14
|
+
const pickedObjects = omitBy(onlyObjects, predicate);
|
|
15
|
+
const pickedNonObjects = omitBy(nonObjects, predicate);
|
|
16
|
+
const processedObjects = mapValues(pickedObjects, (obj) => deepBy(obj, predicate, func));
|
|
17
|
+
return merge(pickedNonObjects, processedObjects);
|
|
15
18
|
};
|
|
16
19
|
export const deepOmitUnderscoreFields = (obj) => {
|
|
17
20
|
return deepBy(obj, (_, key) => key.startsWith('_'), omitBy);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"removeFields.js","sourceRoot":"","sources":["../../../src/Hasher/removeFields.ts"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"removeFields.js","sourceRoot":"","sources":["../../../src/Hasher/removeFields.ts"],"names":[],"mappings":"AAEA,OAAO,QAAQ,MAAM,iBAAiB,CAAA;AACtC,OAAO,SAAS,MAAM,kBAAkB,CAAA;AACxC,OAAO,KAAK,MAAM,cAAc,CAAA;AAChC,OAAO,MAAM,MAAM,eAAe,CAAA;AAClC,OAAO,MAAM,MAAM,eAAe,CAAA;AAElC,MAAM,CAAC,MAAM,MAAM,GAAG,CAAmB,GAAM,EAAE,SAA8B,EAAE,IAAmC,EAAK,EAAE;IACzH,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QACtB,OAAO,GAAG,CAAA;KACX;IAED,wBAAwB;IACxB,MAAM,WAAW,GAAG,MAAM,CAAI,GAAG,EAAE,QAAQ,CAAC,CAAA;IAE5C,4BAA4B;IAC5B,MAAM,UAAU,GAAG,MAAM,CAAI,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAA;IAE9D,MAAM,aAAa,GAAG,MAAM,CAAC,WAAW,EAAE,SAAS,CAAC,CAAA;IACpD,MAAM,gBAAgB,GAAG,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,CAAA;IAEtD,MAAM,gBAAgB,GAAG,SAAS,CAAC,aAAa,EAAE,CAAC,GAAM,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAA;IAE3F,OAAO,KAAK,CAAC,gBAAgB,EAAE,gBAAgB,CAAM,CAAA;AACvD,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAmB,GAAM,EAAE,EAAE;IACnE,OAAO,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAA;AAC7D,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAmB,GAAM,EAAE,EAAE;IACnE,OAAO,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAA;AAC7D,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const sortFields: <T extends
|
|
1
|
+
export declare const sortFields: <T extends object = object>(obj: T) => T | null;
|
|
@@ -12,11 +12,12 @@ export const sortFields = (obj) => {
|
|
|
12
12
|
if (obj === null) {
|
|
13
13
|
return null;
|
|
14
14
|
}
|
|
15
|
+
const stringyObj = obj;
|
|
15
16
|
const result = {};
|
|
16
|
-
Object.keys(
|
|
17
|
+
Object.keys(stringyObj)
|
|
17
18
|
.sort()
|
|
18
19
|
.forEach((key) => {
|
|
19
|
-
result[key] = subSort(
|
|
20
|
+
result[key] = subSort(stringyObj[key]);
|
|
20
21
|
});
|
|
21
22
|
return result;
|
|
22
23
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sortFields.js","sourceRoot":"","sources":["../../../src/Hasher/sortFields.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"sortFields.js","sourceRoot":"","sources":["../../../src/Hasher/sortFields.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,MAAM,EAAE,MAAM,QAAQ,CAAA;AAEhD,uBAAuB;AACvB,MAAM,OAAO,GAAG,CAAC,KAAc,EAAE,EAAE;IACjC,QAAQ,MAAM,CAAC,KAAK,CAAC,EAAE;QACrB,KAAK,QAAQ;YACX,OAAO,UAAU,CAAC,KAAgC,CAAC,CAAA;QACrD;YACE,OAAO,KAAK,CAAA;KACf;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,CAA4B,GAAM,EAAE,EAAE;IAC9D,IAAI,GAAG,KAAK,IAAI,EAAE;QAChB,OAAO,IAAI,CAAA;KACZ;IAED,MAAM,UAAU,GAAG,GAAsB,CAAA;IAEzC,MAAM,MAAM,GAAoB,EAAE,CAAA;IAClC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;SACpB,IAAI,EAAE;SACN,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QACf,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAA;IACxC,CAAC,CAAC,CAAA;IACJ,OAAO,MAAW,CAAA;AACpB,CAAC,CAAA"}
|
package/dist/esm/Huri/Huri.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { XyoPayload } from '../
|
|
1
|
+
import { XyoPayload } from '../models';
|
|
2
2
|
import { XyoDataLike } from '../Wallet';
|
|
3
3
|
export declare type XyoObjectCategory = 'block' | 'payload';
|
|
4
4
|
export declare type HuriFetchFunction = (huri: Huri) => Promise<XyoPayload | undefined>;
|
|
@@ -21,7 +21,7 @@ export declare class Huri {
|
|
|
21
21
|
private validateParse;
|
|
22
22
|
get href(): string;
|
|
23
23
|
toString(): string;
|
|
24
|
-
fetch(): Promise<
|
|
24
|
+
fetch(): Promise<XyoPayload<object> | undefined>;
|
|
25
25
|
static fetch(huri: Huri): Promise<XyoPayload | undefined>;
|
|
26
26
|
private static parseProtocol;
|
|
27
27
|
private static parsePath;
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { StringKeyObject } from '../../lib';
|
|
2
|
+
import { XyoPayload } from '../../models';
|
|
2
3
|
export interface XyoPayloadBuilderOptions {
|
|
3
4
|
schema: string;
|
|
4
5
|
}
|
|
5
|
-
export declare class XyoPayloadBuilder<T extends XyoPayload
|
|
6
|
+
export declare class XyoPayloadBuilder<T extends XyoPayload = XyoPayload<StringKeyObject>> {
|
|
6
7
|
private _fields;
|
|
7
8
|
private _previousHash?;
|
|
8
9
|
private _schema;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Builder.js","sourceRoot":"","sources":["../../../../src/Payload/Builder/Builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"Builder.js","sourceRoot":"","sources":["../../../../src/Payload/Builder/Builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAQrF,MAAM,OAAO,iBAAiB;IAK5B,YAAY,EAAE,MAAM,EAA4B;QAJxC,YAAO,GAAe,EAAE,CAAA;QAK9B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAA;IACvB,CAAC;IAEM,MAAM,CAAC,MAAmB;QAC/B,IAAI,MAAM,EAAE;YACV,IAAI,CAAC,OAAO,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAA;SACjE;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAEM,YAAY,CAAC,IAAa;QAC/B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAA;QACzB,OAAO,IAAI,CAAA;IACb,CAAC;IAEM,cAAc;QACnB,OAAO;YACL,GAAG,iBAAiB,CAAC,wBAAwB,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;YACrG,MAAM,EAAE,IAAI,CAAC,OAAO;SAChB,CAAA;IACR,CAAC;IAEM,KAAK;QACV,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,EAAE,CAAA;QAC5C,MAAM,KAAK,GAAG,IAAI,SAAS,CAAC,cAAc,CAAC,CAAC,IAAI,CAAA;QAChD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAC7B,OAAO,EAAE,GAAG,cAAc,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,CAAA;IACtF,CAAC;CACF"}
|
|
@@ -1,11 +1,9 @@
|
|
|
1
|
+
import { XyoValidator } from '../../lib';
|
|
2
|
+
import { XyoPayload } from '../../models';
|
|
1
3
|
import { XyoSchemaNameValidator } from '../../SchemaNameValidator';
|
|
2
|
-
|
|
3
|
-
declare class XyoPayloadBodyValidator {
|
|
4
|
-
private body;
|
|
5
|
-
constructor(body: XyoPayloadBody);
|
|
4
|
+
export declare class XyoPayloadBodyValidator<T extends XyoPayload = XyoPayload> extends XyoValidator<T> {
|
|
6
5
|
private _schemaValidator?;
|
|
7
6
|
get schemaValidator(): XyoSchemaNameValidator;
|
|
8
7
|
schemaName(): Error[];
|
|
9
|
-
|
|
8
|
+
validate(): Error[];
|
|
10
9
|
}
|
|
11
|
-
export { XyoPayloadBodyValidator };
|
|
@@ -1,15 +1,13 @@
|
|
|
1
|
+
import { XyoValidator } from '../../lib';
|
|
1
2
|
import { XyoSchemaNameValidator } from '../../SchemaNameValidator';
|
|
2
|
-
class XyoPayloadBodyValidator {
|
|
3
|
-
constructor(body) {
|
|
4
|
-
this.body = body;
|
|
5
|
-
}
|
|
3
|
+
export class XyoPayloadBodyValidator extends XyoValidator {
|
|
6
4
|
get schemaValidator() {
|
|
7
|
-
this._schemaValidator = this._schemaValidator ?? new XyoSchemaNameValidator(this.
|
|
5
|
+
this._schemaValidator = this._schemaValidator ?? new XyoSchemaNameValidator(this.obj.schema ?? '');
|
|
8
6
|
return this._schemaValidator;
|
|
9
7
|
}
|
|
10
8
|
schemaName() {
|
|
11
9
|
const errors = [];
|
|
12
|
-
if (this.
|
|
10
|
+
if (this.obj.schema === undefined) {
|
|
13
11
|
errors.push(Error('schema missing'));
|
|
14
12
|
}
|
|
15
13
|
else {
|
|
@@ -17,11 +15,10 @@ class XyoPayloadBodyValidator {
|
|
|
17
15
|
}
|
|
18
16
|
return errors;
|
|
19
17
|
}
|
|
20
|
-
|
|
18
|
+
validate() {
|
|
21
19
|
const errors = [];
|
|
22
20
|
errors.push(...this.schemaName());
|
|
23
21
|
return errors;
|
|
24
22
|
}
|
|
25
23
|
}
|
|
26
|
-
export { XyoPayloadBodyValidator };
|
|
27
24
|
//# sourceMappingURL=BodyValidator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BodyValidator.js","sourceRoot":"","sources":["../../../../src/Payload/Validator/BodyValidator.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"BodyValidator.js","sourceRoot":"","sources":["../../../../src/Payload/Validator/BodyValidator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAExC,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAA;AAElE,MAAM,OAAO,uBAA2D,SAAQ,YAAe;IAE7F,IAAI,eAAe;QACjB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,IAAI,IAAI,sBAAsB,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,CAAA;QAClG,OAAO,IAAI,CAAC,gBAAgB,CAAA;IAC9B,CAAC;IAEM,UAAU;QACf,MAAM,MAAM,GAAY,EAAE,CAAA;QAC1B,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE;YACjC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAA;SACrC;aAAM;YACL,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC,CAAA;SAC3C;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IAEM,QAAQ;QACb,MAAM,MAAM,GAAY,EAAE,CAAA;QAC1B,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,CAAA;QACjC,OAAO,MAAM,CAAA;IACf,CAAC;CACF"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
constructor(payload: XyoPayload);
|
|
1
|
+
import { XyoValidator } from '../../lib';
|
|
2
|
+
import { XyoPayloadMeta } from '../../models';
|
|
3
|
+
declare class XyoPayloadMetaValidator<T extends XyoPayloadMeta = XyoPayloadMeta> extends XyoValidator<T> {
|
|
5
4
|
hash(): Error[];
|
|
6
5
|
timestamp(): Error[];
|
|
7
|
-
|
|
6
|
+
validate(): Error[];
|
|
8
7
|
}
|
|
9
8
|
export { XyoPayloadMetaValidator };
|
|
@@ -1,21 +1,19 @@
|
|
|
1
1
|
import { XyoHasher } from '../../Hasher';
|
|
2
|
+
import { XyoValidator } from '../../lib';
|
|
2
3
|
const MIN_ALLOWED_TIMESTAMP = 1609459200000;
|
|
3
4
|
const MAX_ALLOWED_TIMESTAMP = 4102444800000;
|
|
4
|
-
class XyoPayloadMetaValidator {
|
|
5
|
-
constructor(payload) {
|
|
6
|
-
this.payload = payload;
|
|
7
|
-
}
|
|
5
|
+
class XyoPayloadMetaValidator extends XyoValidator {
|
|
8
6
|
hash() {
|
|
9
7
|
const errors = [];
|
|
10
|
-
const wrapper = new XyoHasher(this.
|
|
8
|
+
const wrapper = new XyoHasher(this.obj);
|
|
11
9
|
const bodyHash = wrapper.hash;
|
|
12
|
-
if (bodyHash !== this.
|
|
13
|
-
errors.push(new Error(`Body hash mismatch: [calculated: ${bodyHash}] [found: ${this.
|
|
10
|
+
if (bodyHash !== this.obj._hash)
|
|
11
|
+
errors.push(new Error(`Body hash mismatch: [calculated: ${bodyHash}] [found: ${this.obj._hash}]`));
|
|
14
12
|
return errors;
|
|
15
13
|
}
|
|
16
14
|
timestamp() {
|
|
17
15
|
const errors = [];
|
|
18
|
-
const { _timestamp } = this.
|
|
16
|
+
const { _timestamp } = this.obj;
|
|
19
17
|
if (_timestamp === undefined)
|
|
20
18
|
errors.push(new Error('Missing _timestamp'));
|
|
21
19
|
else if (_timestamp < MIN_ALLOWED_TIMESTAMP)
|
|
@@ -24,7 +22,7 @@ class XyoPayloadMetaValidator {
|
|
|
24
22
|
errors.push(new Error('_timestamp is after year 2100'));
|
|
25
23
|
return errors;
|
|
26
24
|
}
|
|
27
|
-
|
|
25
|
+
validate() {
|
|
28
26
|
const errors = [];
|
|
29
27
|
errors.push(...this.hash(), ...this.timestamp());
|
|
30
28
|
return errors;
|