@xyo-network/core 2.20.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/LICENSE +165 -0
- package/README.md +79 -0
- package/babel.config.json +5 -0
- package/dist/cjs/BoundWitness/Builder/Builder.d.ts +22 -0
- package/dist/cjs/BoundWitness/Builder/Builder.js +68 -0
- package/dist/cjs/BoundWitness/Builder/Builder.js.map +1 -0
- package/dist/cjs/BoundWitness/Builder/index.d.ts +1 -0
- package/dist/cjs/BoundWitness/Builder/index.js +5 -0
- package/dist/cjs/BoundWitness/Builder/index.js.map +1 -0
- package/dist/cjs/BoundWitness/Validator/BodyValidator.d.ts +18 -0
- package/dist/cjs/BoundWitness/Validator/BodyValidator.js +91 -0
- package/dist/cjs/BoundWitness/Validator/BodyValidator.js.map +1 -0
- package/dist/cjs/BoundWitness/Validator/MetaValidator.d.ts +14 -0
- package/dist/cjs/BoundWitness/Validator/MetaValidator.js +70 -0
- package/dist/cjs/BoundWitness/Validator/MetaValidator.js.map +1 -0
- package/dist/cjs/BoundWitness/Validator/Validator.d.ts +12 -0
- package/dist/cjs/BoundWitness/Validator/Validator.js +46 -0
- package/dist/cjs/BoundWitness/Validator/Validator.js.map +1 -0
- package/dist/cjs/BoundWitness/Validator/index.d.ts +3 -0
- package/dist/cjs/BoundWitness/Validator/index.js +7 -0
- package/dist/cjs/BoundWitness/Validator/index.js.map +1 -0
- package/dist/cjs/BoundWitness/Validator/ip-regex.d.ts +9 -0
- package/dist/cjs/BoundWitness/Validator/ip-regex.js +31 -0
- package/dist/cjs/BoundWitness/Validator/ip-regex.js.map +1 -0
- package/dist/cjs/BoundWitness/Validator/is-ip.d.ts +4 -0
- package/dist/cjs/BoundWitness/Validator/is-ip.js +21 -0
- package/dist/cjs/BoundWitness/Validator/is-ip.js.map +1 -0
- package/dist/cjs/BoundWitness/Wrapper/Wrapper.d.ts +13 -0
- package/dist/cjs/BoundWitness/Wrapper/Wrapper.js +30 -0
- package/dist/cjs/BoundWitness/Wrapper/Wrapper.js.map +1 -0
- package/dist/cjs/BoundWitness/Wrapper/index.d.ts +1 -0
- package/dist/cjs/BoundWitness/Wrapper/index.js +5 -0
- package/dist/cjs/BoundWitness/Wrapper/index.js.map +1 -0
- package/dist/cjs/BoundWitness/index.d.ts +4 -0
- package/dist/cjs/BoundWitness/index.js +8 -0
- package/dist/cjs/BoundWitness/index.js.map +1 -0
- package/dist/cjs/BoundWitness/models/Body/XyoBoundWitnessBody.d.ts +11 -0
- package/dist/cjs/BoundWitness/models/Body/XyoBoundWitnessBody.js +3 -0
- package/dist/cjs/BoundWitness/models/Body/XyoBoundWitnessBody.js.map +1 -0
- package/dist/cjs/BoundWitness/models/Body/XyoBoundWitnessBodySchema.d.ts +37 -0
- package/dist/cjs/BoundWitness/models/Body/XyoBoundWitnessBodySchema.js +20 -0
- package/dist/cjs/BoundWitness/models/Body/XyoBoundWitnessBodySchema.js.map +1 -0
- package/dist/cjs/BoundWitness/models/Body/index.d.ts +2 -0
- package/dist/cjs/BoundWitness/models/Body/index.js +6 -0
- package/dist/cjs/BoundWitness/models/Body/index.js.map +1 -0
- package/dist/cjs/BoundWitness/models/Meta/XyoBoundWitnessMeta.d.ts +13 -0
- package/dist/cjs/BoundWitness/models/Meta/XyoBoundWitnessMeta.js +3 -0
- package/dist/cjs/BoundWitness/models/Meta/XyoBoundWitnessMeta.js.map +1 -0
- package/dist/cjs/BoundWitness/models/Meta/XyoBoundWitnessMetaSchema.d.ts +85 -0
- package/dist/cjs/BoundWitness/models/Meta/XyoBoundWitnessMetaSchema.js +28 -0
- package/dist/cjs/BoundWitness/models/Meta/XyoBoundWitnessMetaSchema.js.map +1 -0
- package/dist/cjs/BoundWitness/models/Meta/index.d.ts +2 -0
- package/dist/cjs/BoundWitness/models/Meta/index.js +6 -0
- package/dist/cjs/BoundWitness/models/Meta/index.js.map +1 -0
- package/dist/cjs/BoundWitness/models/WithXyoBoundWitnessMeta.d.ts +4 -0
- package/dist/cjs/BoundWitness/models/WithXyoBoundWitnessMeta.js +3 -0
- package/dist/cjs/BoundWitness/models/WithXyoBoundWitnessMeta.js.map +1 -0
- package/dist/cjs/BoundWitness/models/XyoBoundWitness.d.ts +5 -0
- package/dist/cjs/BoundWitness/models/XyoBoundWitness.js +3 -0
- package/dist/cjs/BoundWitness/models/XyoBoundWitness.js.map +1 -0
- package/dist/cjs/BoundWitness/models/XyoBoundWitnessSchema.d.ts +75 -0
- package/dist/cjs/BoundWitness/models/XyoBoundWitnessSchema.js +17 -0
- package/dist/cjs/BoundWitness/models/XyoBoundWitnessSchema.js.map +1 -0
- package/dist/cjs/BoundWitness/models/index.d.ts +5 -0
- package/dist/cjs/BoundWitness/models/index.js +9 -0
- package/dist/cjs/BoundWitness/models/index.js.map +1 -0
- package/dist/cjs/Hasher/XyoHasher.d.ts +8 -0
- package/dist/cjs/Hasher/XyoHasher.js +29 -0
- package/dist/cjs/Hasher/XyoHasher.js.map +1 -0
- package/dist/cjs/Hasher/index.d.ts +4 -0
- package/dist/cjs/Hasher/index.js +8 -0
- package/dist/cjs/Hasher/index.js.map +1 -0
- package/dist/cjs/Hasher/removeEmptyFields.d.ts +1 -0
- package/dist/cjs/Hasher/removeEmptyFields.js +20 -0
- package/dist/cjs/Hasher/removeEmptyFields.js.map +1 -0
- package/dist/cjs/Hasher/removeFields.d.ts +6 -0
- package/dist/cjs/Hasher/removeFields.js +29 -0
- package/dist/cjs/Hasher/removeFields.js.map +1 -0
- package/dist/cjs/Hasher/sortFields.d.ts +1 -0
- package/dist/cjs/Hasher/sortFields.js +27 -0
- package/dist/cjs/Hasher/sortFields.js.map +1 -0
- package/dist/cjs/Huri/Huri.d.ts +26 -0
- package/dist/cjs/Huri/Huri.js +101 -0
- package/dist/cjs/Huri/Huri.js.map +1 -0
- package/dist/cjs/Huri/index.d.ts +1 -0
- package/dist/cjs/Huri/index.js +5 -0
- package/dist/cjs/Huri/index.js.map +1 -0
- package/dist/cjs/Payload/Builder/Builder.d.ts +14 -0
- package/dist/cjs/Payload/Builder/Builder.js +31 -0
- package/dist/cjs/Payload/Builder/Builder.js.map +1 -0
- package/dist/cjs/Payload/Builder/index.d.ts +1 -0
- package/dist/cjs/Payload/Builder/index.js +5 -0
- package/dist/cjs/Payload/Builder/index.js.map +1 -0
- package/dist/cjs/Payload/Validator/BodyValidator.d.ts +11 -0
- package/dist/cjs/Payload/Validator/BodyValidator.js +31 -0
- package/dist/cjs/Payload/Validator/BodyValidator.js.map +1 -0
- package/dist/cjs/Payload/Validator/MetaValidator.d.ts +9 -0
- package/dist/cjs/Payload/Validator/MetaValidator.js +37 -0
- package/dist/cjs/Payload/Validator/MetaValidator.js.map +1 -0
- package/dist/cjs/Payload/Validator/Validator.d.ts +11 -0
- package/dist/cjs/Payload/Validator/Validator.js +19 -0
- package/dist/cjs/Payload/Validator/Validator.js.map +1 -0
- package/dist/cjs/Payload/Validator/index.d.ts +3 -0
- package/dist/cjs/Payload/Validator/index.js +7 -0
- package/dist/cjs/Payload/Validator/index.js.map +1 -0
- package/dist/cjs/Payload/Wrapper/Validator.d.ts +9 -0
- package/dist/cjs/Payload/Wrapper/Validator.js +19 -0
- package/dist/cjs/Payload/Wrapper/Validator.js.map +1 -0
- package/dist/cjs/Payload/Wrapper/Wrapper.d.ts +9 -0
- package/dist/cjs/Payload/Wrapper/Wrapper.js +18 -0
- package/dist/cjs/Payload/Wrapper/Wrapper.js.map +1 -0
- package/dist/cjs/Payload/Wrapper/index.d.ts +2 -0
- package/dist/cjs/Payload/Wrapper/index.js +6 -0
- package/dist/cjs/Payload/Wrapper/index.js.map +1 -0
- package/dist/cjs/Payload/index.d.ts +4 -0
- package/dist/cjs/Payload/index.js +8 -0
- package/dist/cjs/Payload/index.js.map +1 -0
- package/dist/cjs/Payload/models/Body.d.ts +6 -0
- package/dist/cjs/Payload/models/Body.js +3 -0
- package/dist/cjs/Payload/models/Body.js.map +1 -0
- package/dist/cjs/Payload/models/Meta.d.ts +10 -0
- package/dist/cjs/Payload/models/Meta.js +3 -0
- package/dist/cjs/Payload/models/Meta.js.map +1 -0
- package/dist/cjs/Payload/models/WithXyoPayloadMeta.d.ts +4 -0
- package/dist/cjs/Payload/models/WithXyoPayloadMeta.js +3 -0
- package/dist/cjs/Payload/models/WithXyoPayloadMeta.js.map +1 -0
- package/dist/cjs/Payload/models/XyoPayload.d.ts +4 -0
- package/dist/cjs/Payload/models/XyoPayload.js +3 -0
- package/dist/cjs/Payload/models/XyoPayload.js.map +1 -0
- package/dist/cjs/Payload/models/index.d.ts +5 -0
- package/dist/cjs/Payload/models/index.js +3 -0
- package/dist/cjs/Payload/models/index.js.map +1 -0
- package/dist/cjs/Schema/Payload.d.ts +9 -0
- package/dist/cjs/Schema/Payload.js +3 -0
- package/dist/cjs/Schema/Payload.js.map +1 -0
- package/dist/cjs/Schema/index.d.ts +1 -0
- package/dist/cjs/Schema/index.js +5 -0
- package/dist/cjs/Schema/index.js.map +1 -0
- package/dist/cjs/SchemaNameValidator.d.ts +73 -0
- package/dist/cjs/SchemaNameValidator.js +135 -0
- package/dist/cjs/SchemaNameValidator.js.map +1 -0
- package/dist/cjs/Test/index.d.ts +2 -0
- package/dist/cjs/Test/index.js +6 -0
- package/dist/cjs/Test/index.js.map +1 -0
- package/dist/cjs/Test/testBoundWitness.d.ts +3 -0
- package/dist/cjs/Test/testBoundWitness.js +17 -0
- package/dist/cjs/Test/testBoundWitness.js.map +1 -0
- package/dist/cjs/Test/testPayload.d.ts +4 -0
- package/dist/cjs/Test/testPayload.js +19 -0
- package/dist/cjs/Test/testPayload.js.map +1 -0
- package/dist/cjs/Wallet/Account/Account.d.ts +36 -0
- package/dist/cjs/Wallet/Account/Account.js +79 -0
- package/dist/cjs/Wallet/Account/Account.js.map +1 -0
- package/dist/cjs/Wallet/Account/Key/Data/AbstractData.d.ts +12 -0
- package/dist/cjs/Wallet/Account/Key/Data/AbstractData.js +16 -0
- package/dist/cjs/Wallet/Account/Key/Data/AbstractData.js.map +1 -0
- package/dist/cjs/Wallet/Account/Key/Data/Data.d.ts +15 -0
- package/dist/cjs/Wallet/Account/Key/Data/Data.js +40 -0
- package/dist/cjs/Wallet/Account/Key/Data/Data.js.map +1 -0
- package/dist/cjs/Wallet/Account/Key/Data/XyoDataLike.d.ts +4 -0
- package/dist/cjs/Wallet/Account/Key/Data/XyoDataLike.js +3 -0
- package/dist/cjs/Wallet/Account/Key/Data/XyoDataLike.js.map +1 -0
- package/dist/cjs/Wallet/Account/Key/Data/index.d.ts +4 -0
- package/dist/cjs/Wallet/Account/Key/Data/index.js +8 -0
- package/dist/cjs/Wallet/Account/Key/Data/index.js.map +1 -0
- package/dist/cjs/Wallet/Account/Key/Data/toUint8Array.d.ts +3 -0
- package/dist/cjs/Wallet/Account/Key/Data/toUint8Array.js +33 -0
- package/dist/cjs/Wallet/Account/Key/Data/toUint8Array.js.map +1 -0
- package/dist/cjs/Wallet/Account/Key/XyoAddressValue.d.ts +11 -0
- package/dist/cjs/Wallet/Account/Key/XyoAddressValue.js +49 -0
- package/dist/cjs/Wallet/Account/Key/XyoAddressValue.js.map +1 -0
- package/dist/cjs/Wallet/Account/Key/XyoEllipticKey.d.ts +5 -0
- package/dist/cjs/Wallet/Account/Key/XyoEllipticKey.js +13 -0
- package/dist/cjs/Wallet/Account/Key/XyoEllipticKey.js.map +1 -0
- package/dist/cjs/Wallet/Account/Key/XyoKeyPair.d.ts +10 -0
- package/dist/cjs/Wallet/Account/Key/XyoKeyPair.js +23 -0
- package/dist/cjs/Wallet/Account/Key/XyoKeyPair.js.map +1 -0
- package/dist/cjs/Wallet/Account/Key/XyoPrivateKey.d.ts +14 -0
- package/dist/cjs/Wallet/Account/Key/XyoPrivateKey.js +56 -0
- package/dist/cjs/Wallet/Account/Key/XyoPrivateKey.js.map +1 -0
- package/dist/cjs/Wallet/Account/Key/XyoPublicKey.d.ts +10 -0
- package/dist/cjs/Wallet/Account/Key/XyoPublicKey.js +22 -0
- package/dist/cjs/Wallet/Account/Key/XyoPublicKey.js.map +1 -0
- package/dist/cjs/Wallet/Account/Key/index.d.ts +5 -0
- package/dist/cjs/Wallet/Account/Key/index.js +9 -0
- package/dist/cjs/Wallet/Account/Key/index.js.map +1 -0
- package/dist/cjs/Wallet/Account/index.d.ts +2 -0
- package/dist/cjs/Wallet/Account/index.js +6 -0
- package/dist/cjs/Wallet/Account/index.js.map +1 -0
- package/dist/cjs/Wallet/Base/Base.d.ts +8 -0
- package/dist/cjs/Wallet/Base/Base.js +37 -0
- package/dist/cjs/Wallet/Base/Base.js.map +1 -0
- package/dist/cjs/Wallet/Base/Words.d.ts +2 -0
- package/dist/cjs/Wallet/Base/Words.js +2644 -0
- package/dist/cjs/Wallet/Base/Words.js.map +1 -0
- package/dist/cjs/Wallet/Base/WordsPayload.d.ts +4 -0
- package/dist/cjs/Wallet/Base/WordsPayload.js +3 -0
- package/dist/cjs/Wallet/Base/WordsPayload.js.map +1 -0
- package/dist/cjs/Wallet/Base/index.d.ts +1 -0
- package/dist/cjs/Wallet/Base/index.js +5 -0
- package/dist/cjs/Wallet/Base/index.js.map +1 -0
- package/dist/cjs/Wallet/index.d.ts +2 -0
- package/dist/cjs/Wallet/index.js +6 -0
- package/dist/cjs/Wallet/index.js.map +1 -0
- package/dist/cjs/Witness/Witness.d.ts +14 -0
- package/dist/cjs/Witness/Witness.js +24 -0
- package/dist/cjs/Witness/Witness.js.map +1 -0
- package/dist/cjs/Witness/index.d.ts +1 -0
- package/dist/cjs/Witness/index.js +5 -0
- package/dist/cjs/Witness/index.js.map +1 -0
- package/dist/cjs/browser/core/Wallet/Web.d.ts +5 -0
- package/dist/cjs/browser/core/Wallet/Web.js +15 -0
- package/dist/cjs/browser/core/Wallet/Web.js.map +1 -0
- package/dist/cjs/browser/core/Wallet/index.d.ts +1 -0
- package/dist/cjs/browser/core/Wallet/index.js +5 -0
- package/dist/cjs/browser/core/Wallet/index.js.map +1 -0
- package/dist/cjs/browser/core/index.d.ts +1 -0
- package/dist/cjs/browser/core/index.js +5 -0
- package/dist/cjs/browser/core/index.js.map +1 -0
- package/dist/cjs/browser/index.d.ts +1 -0
- package/dist/cjs/browser/index.js +5 -0
- package/dist/cjs/browser/index.js.map +1 -0
- package/dist/cjs/browserIndex.d.ts +2 -0
- package/dist/cjs/browserIndex.js +6 -0
- package/dist/cjs/browserIndex.js.map +1 -0
- package/dist/cjs/index.d.ts +2 -0
- package/dist/cjs/index.js +6 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/lib/dns/DnsRecordType.d.ts +14 -0
- package/dist/cjs/lib/dns/DnsRecordType.js +19 -0
- package/dist/cjs/lib/dns/DnsRecordType.js.map +1 -0
- package/dist/cjs/lib/dns/DnsReturnCode.d.ts +13 -0
- package/dist/cjs/lib/dns/DnsReturnCode.js +18 -0
- package/dist/cjs/lib/dns/DnsReturnCode.js.map +1 -0
- package/dist/cjs/lib/dns/GoogleDnsResult.d.ts +16 -0
- package/dist/cjs/lib/dns/GoogleDnsResult.js +3 -0
- package/dist/cjs/lib/dns/GoogleDnsResult.js.map +1 -0
- package/dist/cjs/lib/dns/GoogleDnsResultAnswer.d.ts +7 -0
- package/dist/cjs/lib/dns/GoogleDnsResultAnswer.js +3 -0
- package/dist/cjs/lib/dns/GoogleDnsResultAnswer.js.map +1 -0
- package/dist/cjs/lib/dns/GoogleDnsResultQuestion.d.ts +10 -0
- package/dist/cjs/lib/dns/GoogleDnsResultQuestion.js +3 -0
- package/dist/cjs/lib/dns/GoogleDnsResultQuestion.js.map +1 -0
- package/dist/cjs/lib/dns/domainExists.d.ts +7 -0
- package/dist/cjs/lib/dns/domainExists.js +19 -0
- package/dist/cjs/lib/dns/domainExists.js.map +1 -0
- package/dist/cjs/lib/dns/domainResolve.d.ts +8 -0
- package/dist/cjs/lib/dns/domainResolve.js +19 -0
- package/dist/cjs/lib/dns/domainResolve.js.map +1 -0
- package/dist/cjs/lib/dns/googleDnsOverHttps.d.ts +4 -0
- package/dist/cjs/lib/dns/googleDnsOverHttps.js +11 -0
- package/dist/cjs/lib/dns/googleDnsOverHttps.js.map +1 -0
- package/dist/cjs/lib/dns/index.d.ts +8 -0
- package/dist/cjs/lib/dns/index.js +12 -0
- package/dist/cjs/lib/dns/index.js.map +1 -0
- package/dist/cjs/lib/dumpErrors.d.ts +2 -0
- package/dist/cjs/lib/dumpErrors.js +10 -0
- package/dist/cjs/lib/dumpErrors.js.map +1 -0
- package/dist/cjs/lib/index.d.ts +4 -0
- package/dist/cjs/lib/index.js +8 -0
- package/dist/cjs/lib/index.js.map +1 -0
- package/dist/cjs/lib/isBrowser.d.ts +1 -0
- package/dist/cjs/lib/isBrowser.js +8 -0
- package/dist/cjs/lib/isBrowser.js.map +1 -0
- package/dist/cjs/lib/typeOf/TypeOfTypes.d.ts +1 -0
- package/dist/cjs/lib/typeOf/TypeOfTypes.js +3 -0
- package/dist/cjs/lib/typeOf/TypeOfTypes.js.map +1 -0
- package/dist/cjs/lib/typeOf/ifDefined.d.ts +1 -0
- package/dist/cjs/lib/typeOf/ifDefined.js +16 -0
- package/dist/cjs/lib/typeOf/ifDefined.js.map +1 -0
- package/dist/cjs/lib/typeOf/ifTypeOf.d.ts +2 -0
- package/dist/cjs/lib/typeOf/ifTypeOf.js +12 -0
- package/dist/cjs/lib/typeOf/ifTypeOf.js.map +1 -0
- package/dist/cjs/lib/typeOf/index.d.ts +5 -0
- package/dist/cjs/lib/typeOf/index.js +9 -0
- package/dist/cjs/lib/typeOf/index.js.map +1 -0
- package/dist/cjs/lib/typeOf/typeOf.d.ts +2 -0
- package/dist/cjs/lib/typeOf/typeOf.js +8 -0
- package/dist/cjs/lib/typeOf/typeOf.js.map +1 -0
- package/dist/cjs/lib/typeOf/validateType.d.ts +2 -0
- package/dist/cjs/lib/typeOf/validateType.js +18 -0
- package/dist/cjs/lib/typeOf/validateType.js.map +1 -0
- package/dist/cjs/models/WithStringIndex.d.ts +1 -0
- package/dist/cjs/models/WithStringIndex.js +3 -0
- package/dist/cjs/models/WithStringIndex.js.map +1 -0
- package/dist/cjs/models/index.d.ts +1 -0
- package/dist/cjs/models/index.js +5 -0
- package/dist/cjs/models/index.js.map +1 -0
- package/dist/cjs/nodeIndex.d.ts +1 -0
- package/dist/cjs/nodeIndex.js +5 -0
- package/dist/cjs/nodeIndex.js.map +1 -0
- package/dist/cjs/shared.d.ts +10 -0
- package/dist/cjs/shared.js +14 -0
- package/dist/cjs/shared.js.map +1 -0
- package/dist/docs.json +21601 -0
- package/dist/esm/BoundWitness/Builder/Builder.d.ts +22 -0
- package/dist/esm/BoundWitness/Builder/Builder.js +66 -0
- package/dist/esm/BoundWitness/Builder/Builder.js.map +1 -0
- package/dist/esm/BoundWitness/Builder/index.d.ts +1 -0
- package/dist/esm/BoundWitness/Builder/index.js +2 -0
- package/dist/esm/BoundWitness/Builder/index.js.map +1 -0
- package/dist/esm/BoundWitness/Validator/BodyValidator.d.ts +18 -0
- package/dist/esm/BoundWitness/Validator/BodyValidator.js +86 -0
- package/dist/esm/BoundWitness/Validator/BodyValidator.js.map +1 -0
- package/dist/esm/BoundWitness/Validator/MetaValidator.d.ts +14 -0
- package/dist/esm/BoundWitness/Validator/MetaValidator.js +66 -0
- package/dist/esm/BoundWitness/Validator/MetaValidator.js.map +1 -0
- package/dist/esm/BoundWitness/Validator/Validator.d.ts +12 -0
- package/dist/esm/BoundWitness/Validator/Validator.js +41 -0
- package/dist/esm/BoundWitness/Validator/Validator.js.map +1 -0
- package/dist/esm/BoundWitness/Validator/index.d.ts +3 -0
- package/dist/esm/BoundWitness/Validator/index.js +4 -0
- package/dist/esm/BoundWitness/Validator/index.js.map +1 -0
- package/dist/esm/BoundWitness/Validator/ip-regex.d.ts +9 -0
- package/dist/esm/BoundWitness/Validator/ip-regex.js +27 -0
- package/dist/esm/BoundWitness/Validator/ip-regex.js.map +1 -0
- package/dist/esm/BoundWitness/Validator/is-ip.d.ts +4 -0
- package/dist/esm/BoundWitness/Validator/is-ip.js +14 -0
- package/dist/esm/BoundWitness/Validator/is-ip.js.map +1 -0
- package/dist/esm/BoundWitness/Wrapper/Wrapper.d.ts +13 -0
- package/dist/esm/BoundWitness/Wrapper/Wrapper.js +24 -0
- package/dist/esm/BoundWitness/Wrapper/Wrapper.js.map +1 -0
- package/dist/esm/BoundWitness/Wrapper/index.d.ts +1 -0
- package/dist/esm/BoundWitness/Wrapper/index.js +2 -0
- package/dist/esm/BoundWitness/Wrapper/index.js.map +1 -0
- package/dist/esm/BoundWitness/index.d.ts +4 -0
- package/dist/esm/BoundWitness/index.js +5 -0
- package/dist/esm/BoundWitness/index.js.map +1 -0
- package/dist/esm/BoundWitness/models/Body/XyoBoundWitnessBody.d.ts +11 -0
- package/dist/esm/BoundWitness/models/Body/XyoBoundWitnessBody.js +2 -0
- package/dist/esm/BoundWitness/models/Body/XyoBoundWitnessBody.js.map +1 -0
- package/dist/esm/BoundWitness/models/Body/XyoBoundWitnessBodySchema.d.ts +37 -0
- package/dist/esm/BoundWitness/models/Body/XyoBoundWitnessBodySchema.js +17 -0
- package/dist/esm/BoundWitness/models/Body/XyoBoundWitnessBodySchema.js.map +1 -0
- package/dist/esm/BoundWitness/models/Body/index.d.ts +2 -0
- package/dist/esm/BoundWitness/models/Body/index.js +3 -0
- package/dist/esm/BoundWitness/models/Body/index.js.map +1 -0
- package/dist/esm/BoundWitness/models/Meta/XyoBoundWitnessMeta.d.ts +13 -0
- package/dist/esm/BoundWitness/models/Meta/XyoBoundWitnessMeta.js +2 -0
- package/dist/esm/BoundWitness/models/Meta/XyoBoundWitnessMeta.js.map +1 -0
- package/dist/esm/BoundWitness/models/Meta/XyoBoundWitnessMetaSchema.d.ts +85 -0
- package/dist/esm/BoundWitness/models/Meta/XyoBoundWitnessMetaSchema.js +23 -0
- package/dist/esm/BoundWitness/models/Meta/XyoBoundWitnessMetaSchema.js.map +1 -0
- package/dist/esm/BoundWitness/models/Meta/index.d.ts +2 -0
- package/dist/esm/BoundWitness/models/Meta/index.js +3 -0
- package/dist/esm/BoundWitness/models/Meta/index.js.map +1 -0
- package/dist/esm/BoundWitness/models/WithXyoBoundWitnessMeta.d.ts +4 -0
- package/dist/esm/BoundWitness/models/WithXyoBoundWitnessMeta.js +2 -0
- package/dist/esm/BoundWitness/models/WithXyoBoundWitnessMeta.js.map +1 -0
- package/dist/esm/BoundWitness/models/XyoBoundWitness.d.ts +5 -0
- package/dist/esm/BoundWitness/models/XyoBoundWitness.js +2 -0
- package/dist/esm/BoundWitness/models/XyoBoundWitness.js.map +1 -0
- package/dist/esm/BoundWitness/models/XyoBoundWitnessSchema.d.ts +75 -0
- package/dist/esm/BoundWitness/models/XyoBoundWitnessSchema.js +21 -0
- package/dist/esm/BoundWitness/models/XyoBoundWitnessSchema.js.map +1 -0
- package/dist/esm/BoundWitness/models/index.d.ts +5 -0
- package/dist/esm/BoundWitness/models/index.js +6 -0
- package/dist/esm/BoundWitness/models/index.js.map +1 -0
- package/dist/esm/Hasher/XyoHasher.d.ts +8 -0
- package/dist/esm/Hasher/XyoHasher.js +24 -0
- package/dist/esm/Hasher/XyoHasher.js.map +1 -0
- package/dist/esm/Hasher/index.d.ts +4 -0
- package/dist/esm/Hasher/index.js +5 -0
- package/dist/esm/Hasher/index.js.map +1 -0
- package/dist/esm/Hasher/removeEmptyFields.d.ts +1 -0
- package/dist/esm/Hasher/removeEmptyFields.js +16 -0
- package/dist/esm/Hasher/removeEmptyFields.js.map +1 -0
- package/dist/esm/Hasher/removeFields.d.ts +6 -0
- package/dist/esm/Hasher/removeFields.js +22 -0
- package/dist/esm/Hasher/removeFields.js.map +1 -0
- package/dist/esm/Hasher/sortFields.d.ts +1 -0
- package/dist/esm/Hasher/sortFields.js +23 -0
- package/dist/esm/Hasher/sortFields.js.map +1 -0
- package/dist/esm/Huri/Huri.d.ts +26 -0
- package/dist/esm/Huri/Huri.js +90 -0
- package/dist/esm/Huri/Huri.js.map +1 -0
- package/dist/esm/Huri/index.d.ts +1 -0
- package/dist/esm/Huri/index.js +2 -0
- package/dist/esm/Huri/index.js.map +1 -0
- package/dist/esm/Payload/Builder/Builder.d.ts +14 -0
- package/dist/esm/Payload/Builder/Builder.js +30 -0
- package/dist/esm/Payload/Builder/Builder.js.map +1 -0
- package/dist/esm/Payload/Builder/index.d.ts +1 -0
- package/dist/esm/Payload/Builder/index.js +2 -0
- package/dist/esm/Payload/Builder/index.js.map +1 -0
- package/dist/esm/Payload/Validator/BodyValidator.d.ts +11 -0
- package/dist/esm/Payload/Validator/BodyValidator.js +27 -0
- package/dist/esm/Payload/Validator/BodyValidator.js.map +1 -0
- package/dist/esm/Payload/Validator/MetaValidator.d.ts +9 -0
- package/dist/esm/Payload/Validator/MetaValidator.js +34 -0
- package/dist/esm/Payload/Validator/MetaValidator.js.map +1 -0
- package/dist/esm/Payload/Validator/Validator.d.ts +11 -0
- package/dist/esm/Payload/Validator/Validator.js +16 -0
- package/dist/esm/Payload/Validator/Validator.js.map +1 -0
- package/dist/esm/Payload/Validator/index.d.ts +3 -0
- package/dist/esm/Payload/Validator/index.js +4 -0
- package/dist/esm/Payload/Validator/index.js.map +1 -0
- package/dist/esm/Payload/Wrapper/Validator.d.ts +9 -0
- package/dist/esm/Payload/Wrapper/Validator.js +15 -0
- package/dist/esm/Payload/Wrapper/Validator.js.map +1 -0
- package/dist/esm/Payload/Wrapper/Wrapper.d.ts +9 -0
- package/dist/esm/Payload/Wrapper/Wrapper.js +15 -0
- package/dist/esm/Payload/Wrapper/Wrapper.js.map +1 -0
- package/dist/esm/Payload/Wrapper/index.d.ts +2 -0
- package/dist/esm/Payload/Wrapper/index.js +3 -0
- package/dist/esm/Payload/Wrapper/index.js.map +1 -0
- package/dist/esm/Payload/index.d.ts +4 -0
- package/dist/esm/Payload/index.js +5 -0
- package/dist/esm/Payload/index.js.map +1 -0
- package/dist/esm/Payload/models/Body.d.ts +6 -0
- package/dist/esm/Payload/models/Body.js +2 -0
- package/dist/esm/Payload/models/Body.js.map +1 -0
- package/dist/esm/Payload/models/Meta.d.ts +10 -0
- package/dist/esm/Payload/models/Meta.js +2 -0
- package/dist/esm/Payload/models/Meta.js.map +1 -0
- package/dist/esm/Payload/models/WithXyoPayloadMeta.d.ts +4 -0
- package/dist/esm/Payload/models/WithXyoPayloadMeta.js +2 -0
- package/dist/esm/Payload/models/WithXyoPayloadMeta.js.map +1 -0
- package/dist/esm/Payload/models/XyoPayload.d.ts +4 -0
- package/dist/esm/Payload/models/XyoPayload.js +2 -0
- package/dist/esm/Payload/models/XyoPayload.js.map +1 -0
- package/dist/esm/Payload/models/index.d.ts +5 -0
- package/dist/esm/Payload/models/index.js +2 -0
- package/dist/esm/Payload/models/index.js.map +1 -0
- package/dist/esm/Schema/Payload.d.ts +9 -0
- package/dist/esm/Schema/Payload.js +2 -0
- package/dist/esm/Schema/Payload.js.map +1 -0
- package/dist/esm/Schema/index.d.ts +1 -0
- package/dist/esm/Schema/index.js +2 -0
- package/dist/esm/Schema/index.js.map +1 -0
- package/dist/esm/SchemaNameValidator.d.ts +73 -0
- package/dist/esm/SchemaNameValidator.js +117 -0
- package/dist/esm/SchemaNameValidator.js.map +1 -0
- package/dist/esm/Test/index.d.ts +2 -0
- package/dist/esm/Test/index.js +3 -0
- package/dist/esm/Test/index.js.map +1 -0
- package/dist/esm/Test/testBoundWitness.d.ts +3 -0
- package/dist/esm/Test/testBoundWitness.js +14 -0
- package/dist/esm/Test/testBoundWitness.js.map +1 -0
- package/dist/esm/Test/testPayload.d.ts +4 -0
- package/dist/esm/Test/testPayload.js +15 -0
- package/dist/esm/Test/testPayload.js.map +1 -0
- package/dist/esm/Wallet/Account/Account.d.ts +36 -0
- package/dist/esm/Wallet/Account/Account.js +71 -0
- package/dist/esm/Wallet/Account/Account.js.map +1 -0
- package/dist/esm/Wallet/Account/Key/Data/AbstractData.d.ts +12 -0
- package/dist/esm/Wallet/Account/Key/Data/AbstractData.js +12 -0
- package/dist/esm/Wallet/Account/Key/Data/AbstractData.js.map +1 -0
- package/dist/esm/Wallet/Account/Key/Data/Data.d.ts +15 -0
- package/dist/esm/Wallet/Account/Key/Data/Data.js +35 -0
- package/dist/esm/Wallet/Account/Key/Data/Data.js.map +1 -0
- package/dist/esm/Wallet/Account/Key/Data/XyoDataLike.d.ts +4 -0
- package/dist/esm/Wallet/Account/Key/Data/XyoDataLike.js +2 -0
- package/dist/esm/Wallet/Account/Key/Data/XyoDataLike.js.map +1 -0
- package/dist/esm/Wallet/Account/Key/Data/index.d.ts +4 -0
- package/dist/esm/Wallet/Account/Key/Data/index.js +5 -0
- package/dist/esm/Wallet/Account/Key/Data/index.js.map +1 -0
- package/dist/esm/Wallet/Account/Key/Data/toUint8Array.d.ts +3 -0
- package/dist/esm/Wallet/Account/Key/Data/toUint8Array.js +31 -0
- package/dist/esm/Wallet/Account/Key/Data/toUint8Array.js.map +1 -0
- package/dist/esm/Wallet/Account/Key/XyoAddressValue.d.ts +11 -0
- package/dist/esm/Wallet/Account/Key/XyoAddressValue.js +45 -0
- package/dist/esm/Wallet/Account/Key/XyoAddressValue.js.map +1 -0
- package/dist/esm/Wallet/Account/Key/XyoEllipticKey.d.ts +5 -0
- package/dist/esm/Wallet/Account/Key/XyoEllipticKey.js +8 -0
- package/dist/esm/Wallet/Account/Key/XyoEllipticKey.js.map +1 -0
- package/dist/esm/Wallet/Account/Key/XyoKeyPair.d.ts +10 -0
- package/dist/esm/Wallet/Account/Key/XyoKeyPair.js +18 -0
- package/dist/esm/Wallet/Account/Key/XyoKeyPair.js.map +1 -0
- package/dist/esm/Wallet/Account/Key/XyoPrivateKey.d.ts +14 -0
- package/dist/esm/Wallet/Account/Key/XyoPrivateKey.js +50 -0
- package/dist/esm/Wallet/Account/Key/XyoPrivateKey.js.map +1 -0
- package/dist/esm/Wallet/Account/Key/XyoPublicKey.d.ts +10 -0
- package/dist/esm/Wallet/Account/Key/XyoPublicKey.js +18 -0
- package/dist/esm/Wallet/Account/Key/XyoPublicKey.js.map +1 -0
- package/dist/esm/Wallet/Account/Key/index.d.ts +5 -0
- package/dist/esm/Wallet/Account/Key/index.js +6 -0
- package/dist/esm/Wallet/Account/Key/index.js.map +1 -0
- package/dist/esm/Wallet/Account/index.d.ts +2 -0
- package/dist/esm/Wallet/Account/index.js +3 -0
- package/dist/esm/Wallet/Account/index.js.map +1 -0
- package/dist/esm/Wallet/Base/Base.d.ts +8 -0
- package/dist/esm/Wallet/Base/Base.js +30 -0
- package/dist/esm/Wallet/Base/Base.js.map +1 -0
- package/dist/esm/Wallet/Base/Words.d.ts +2 -0
- package/dist/esm/Wallet/Base/Words.js +2641 -0
- package/dist/esm/Wallet/Base/Words.js.map +1 -0
- package/dist/esm/Wallet/Base/WordsPayload.d.ts +4 -0
- package/dist/esm/Wallet/Base/WordsPayload.js +2 -0
- package/dist/esm/Wallet/Base/WordsPayload.js.map +1 -0
- package/dist/esm/Wallet/Base/index.d.ts +1 -0
- package/dist/esm/Wallet/Base/index.js +2 -0
- package/dist/esm/Wallet/Base/index.js.map +1 -0
- package/dist/esm/Wallet/index.d.ts +2 -0
- package/dist/esm/Wallet/index.js +3 -0
- package/dist/esm/Wallet/index.js.map +1 -0
- package/dist/esm/Witness/Witness.d.ts +14 -0
- package/dist/esm/Witness/Witness.js +16 -0
- package/dist/esm/Witness/Witness.js.map +1 -0
- package/dist/esm/Witness/index.d.ts +1 -0
- package/dist/esm/Witness/index.js +2 -0
- package/dist/esm/Witness/index.js.map +1 -0
- package/dist/esm/browser/core/Wallet/Web.d.ts +5 -0
- package/dist/esm/browser/core/Wallet/Web.js +11 -0
- package/dist/esm/browser/core/Wallet/Web.js.map +1 -0
- package/dist/esm/browser/core/Wallet/index.d.ts +1 -0
- package/dist/esm/browser/core/Wallet/index.js +2 -0
- package/dist/esm/browser/core/Wallet/index.js.map +1 -0
- package/dist/esm/browser/core/index.d.ts +1 -0
- package/dist/esm/browser/core/index.js +2 -0
- package/dist/esm/browser/core/index.js.map +1 -0
- package/dist/esm/browser/index.d.ts +1 -0
- package/dist/esm/browser/index.js +2 -0
- package/dist/esm/browser/index.js.map +1 -0
- package/dist/esm/browserIndex.d.ts +2 -0
- package/dist/esm/browserIndex.js +3 -0
- package/dist/esm/browserIndex.js.map +1 -0
- package/dist/esm/index.d.ts +2 -0
- package/dist/esm/index.js +3 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/lib/dns/DnsRecordType.d.ts +14 -0
- package/dist/esm/lib/dns/DnsRecordType.js +16 -0
- package/dist/esm/lib/dns/DnsRecordType.js.map +1 -0
- package/dist/esm/lib/dns/DnsReturnCode.d.ts +13 -0
- package/dist/esm/lib/dns/DnsReturnCode.js +15 -0
- package/dist/esm/lib/dns/DnsReturnCode.js.map +1 -0
- package/dist/esm/lib/dns/GoogleDnsResult.d.ts +16 -0
- package/dist/esm/lib/dns/GoogleDnsResult.js +2 -0
- package/dist/esm/lib/dns/GoogleDnsResult.js.map +1 -0
- package/dist/esm/lib/dns/GoogleDnsResultAnswer.d.ts +7 -0
- package/dist/esm/lib/dns/GoogleDnsResultAnswer.js +2 -0
- package/dist/esm/lib/dns/GoogleDnsResultAnswer.js.map +1 -0
- package/dist/esm/lib/dns/GoogleDnsResultQuestion.d.ts +10 -0
- package/dist/esm/lib/dns/GoogleDnsResultQuestion.js +2 -0
- package/dist/esm/lib/dns/GoogleDnsResultQuestion.js.map +1 -0
- package/dist/esm/lib/dns/domainExists.d.ts +7 -0
- package/dist/esm/lib/dns/domainExists.js +15 -0
- package/dist/esm/lib/dns/domainExists.js.map +1 -0
- package/dist/esm/lib/dns/domainResolve.d.ts +8 -0
- package/dist/esm/lib/dns/domainResolve.js +15 -0
- package/dist/esm/lib/dns/domainResolve.js.map +1 -0
- package/dist/esm/lib/dns/googleDnsOverHttps.d.ts +4 -0
- package/dist/esm/lib/dns/googleDnsOverHttps.js +7 -0
- package/dist/esm/lib/dns/googleDnsOverHttps.js.map +1 -0
- package/dist/esm/lib/dns/index.d.ts +8 -0
- package/dist/esm/lib/dns/index.js +9 -0
- package/dist/esm/lib/dns/index.js.map +1 -0
- package/dist/esm/lib/dumpErrors.d.ts +2 -0
- package/dist/esm/lib/dumpErrors.js +7 -0
- package/dist/esm/lib/dumpErrors.js.map +1 -0
- package/dist/esm/lib/index.d.ts +4 -0
- package/dist/esm/lib/index.js +5 -0
- package/dist/esm/lib/index.js.map +1 -0
- package/dist/esm/lib/isBrowser.d.ts +1 -0
- package/dist/esm/lib/isBrowser.js +4 -0
- package/dist/esm/lib/isBrowser.js.map +1 -0
- package/dist/esm/lib/typeOf/TypeOfTypes.d.ts +1 -0
- package/dist/esm/lib/typeOf/TypeOfTypes.js +2 -0
- package/dist/esm/lib/typeOf/TypeOfTypes.js.map +1 -0
- package/dist/esm/lib/typeOf/ifDefined.d.ts +1 -0
- package/dist/esm/lib/typeOf/ifDefined.js +12 -0
- package/dist/esm/lib/typeOf/ifDefined.js.map +1 -0
- package/dist/esm/lib/typeOf/ifTypeOf.d.ts +2 -0
- package/dist/esm/lib/typeOf/ifTypeOf.js +8 -0
- package/dist/esm/lib/typeOf/ifTypeOf.js.map +1 -0
- package/dist/esm/lib/typeOf/index.d.ts +5 -0
- package/dist/esm/lib/typeOf/index.js +6 -0
- package/dist/esm/lib/typeOf/index.js.map +1 -0
- package/dist/esm/lib/typeOf/typeOf.d.ts +2 -0
- package/dist/esm/lib/typeOf/typeOf.js +4 -0
- package/dist/esm/lib/typeOf/typeOf.js.map +1 -0
- package/dist/esm/lib/typeOf/validateType.d.ts +2 -0
- package/dist/esm/lib/typeOf/validateType.js +14 -0
- package/dist/esm/lib/typeOf/validateType.js.map +1 -0
- package/dist/esm/models/WithStringIndex.d.ts +1 -0
- package/dist/esm/models/WithStringIndex.js +2 -0
- package/dist/esm/models/WithStringIndex.js.map +1 -0
- package/dist/esm/models/index.d.ts +1 -0
- package/dist/esm/models/index.js +2 -0
- package/dist/esm/models/index.js.map +1 -0
- package/dist/esm/nodeIndex.d.ts +1 -0
- package/dist/esm/nodeIndex.js +2 -0
- package/dist/esm/nodeIndex.js.map +1 -0
- package/dist/esm/shared.d.ts +10 -0
- package/dist/esm/shared.js +11 -0
- package/dist/esm/shared.js.map +1 -0
- package/jest.config.cjs +25 -0
- package/package.json +117 -0
- package/rollup.config.js +5 -0
- package/src/BoundWitness/Builder/Builder.spec.ts +86 -0
- package/src/BoundWitness/Builder/Builder.ts +83 -0
- package/src/BoundWitness/Builder/index.ts +1 -0
- package/src/BoundWitness/Validator/BodyValidator.spec.ts +10 -0
- package/src/BoundWitness/Validator/BodyValidator.ts +104 -0
- package/src/BoundWitness/Validator/MetaValidator.spec.ts +55 -0
- package/src/BoundWitness/Validator/MetaValidator.ts +75 -0
- package/src/BoundWitness/Validator/Validator.spec.ts +10 -0
- package/src/BoundWitness/Validator/Validator.ts +51 -0
- package/src/BoundWitness/Validator/index.ts +3 -0
- package/src/BoundWitness/Validator/ip-regex.ts +39 -0
- package/src/BoundWitness/Validator/is-ip.ts +17 -0
- package/src/BoundWitness/Wrapper/Wrapper.ts +34 -0
- package/src/BoundWitness/Wrapper/index.ts +1 -0
- package/src/BoundWitness/index.ts +4 -0
- package/src/BoundWitness/models/Body/XyoBoundWitnessBody.ts +13 -0
- package/src/BoundWitness/models/Body/XyoBoundWitnessBodySchema.ts +17 -0
- package/src/BoundWitness/models/Body/index.ts +2 -0
- package/src/BoundWitness/models/Meta/XyoBoundWitnessMeta.ts +15 -0
- package/src/BoundWitness/models/Meta/XyoBoundWitnessMetaSchema.ts +24 -0
- package/src/BoundWitness/models/Meta/index.ts +2 -0
- package/src/BoundWitness/models/WithXyoBoundWitnessMeta.ts +6 -0
- package/src/BoundWitness/models/XyoBoundWitness.ts +7 -0
- package/src/BoundWitness/models/XyoBoundWitnessSchema.ts +23 -0
- package/src/BoundWitness/models/index.ts +5 -0
- package/src/Hasher/XyoHasher.ts +30 -0
- package/src/Hasher/index.ts +4 -0
- package/src/Hasher/removeEmptyFields.spec.ts +23 -0
- package/src/Hasher/removeEmptyFields.ts +15 -0
- package/src/Hasher/removeFields.ts +26 -0
- package/src/Hasher/sortFields.ts +24 -0
- package/src/Huri/Huri.spec.ts +93 -0
- package/src/Huri/Huri.ts +143 -0
- package/src/Huri/index.ts +1 -0
- package/src/Payload/Builder/Builder.spec.ts +37 -0
- package/src/Payload/Builder/Builder.ts +42 -0
- package/src/Payload/Builder/index.ts +1 -0
- package/src/Payload/Validator/BodyValidator.spec.ts +10 -0
- package/src/Payload/Validator/BodyValidator.ts +34 -0
- package/src/Payload/Validator/MetaValidator.spec.ts +10 -0
- package/src/Payload/Validator/MetaValidator.ts +38 -0
- package/src/Payload/Validator/Validator.spec.ts +62 -0
- package/src/Payload/Validator/Validator.ts +22 -0
- package/src/Payload/Validator/index.ts +3 -0
- package/src/Payload/Wrapper/Validator.ts +20 -0
- package/src/Payload/Wrapper/Wrapper.ts +20 -0
- package/src/Payload/Wrapper/index.ts +2 -0
- package/src/Payload/index.ts +4 -0
- package/src/Payload/models/Body.ts +7 -0
- package/src/Payload/models/Meta.ts +11 -0
- package/src/Payload/models/WithXyoPayloadMeta.ts +6 -0
- package/src/Payload/models/XyoPayload.ts +6 -0
- package/src/Payload/models/index.ts +6 -0
- package/src/Schema/Payload.ts +10 -0
- package/src/Schema/index.ts +1 -0
- package/src/SchemaNameValidator.ts +128 -0
- package/src/Test/index.ts +2 -0
- package/src/Test/testBoundWitness.ts +16 -0
- package/src/Test/testPayload.ts +17 -0
- package/src/Wallet/Account/Account.spec.ts +91 -0
- package/src/Wallet/Account/Account.ts +96 -0
- package/src/Wallet/Account/Key/Data/AbstractData.ts +22 -0
- package/src/Wallet/Account/Key/Data/Data.ts +45 -0
- package/src/Wallet/Account/Key/Data/XyoDataLike.ts +5 -0
- package/src/Wallet/Account/Key/Data/index.ts +4 -0
- package/src/Wallet/Account/Key/Data/toUint8Array.spec.ts +19 -0
- package/src/Wallet/Account/Key/Data/toUint8Array.ts +41 -0
- package/src/Wallet/Account/Key/XyoAddressValue.ts +51 -0
- package/src/Wallet/Account/Key/XyoEllipticKey.ts +9 -0
- package/src/Wallet/Account/Key/XyoKeyPair.ts +23 -0
- package/src/Wallet/Account/Key/XyoPrivateKey.ts +60 -0
- package/src/Wallet/Account/Key/XyoPublicKey.ts +21 -0
- package/src/Wallet/Account/Key/index.ts +5 -0
- package/src/Wallet/Account/index.ts +2 -0
- package/src/Wallet/Base/Base.spec.ts +10 -0
- package/src/Wallet/Base/Base.ts +35 -0
- package/src/Wallet/Base/Words.ts +2643 -0
- package/src/Wallet/Base/WordsPayload.ts +5 -0
- package/src/Wallet/Base/index.ts +1 -0
- package/src/Wallet/index.ts +2 -0
- package/src/Witness/Witness.spec.ts +13 -0
- package/src/Witness/Witness.ts +28 -0
- package/src/Witness/index.ts +1 -0
- package/src/browser/core/Wallet/Web.spec.ts +9 -0
- package/src/browser/core/Wallet/Web.ts +13 -0
- package/src/browser/core/Wallet/index.ts +1 -0
- package/src/browser/core/index.ts +1 -0
- package/src/browser/index.ts +1 -0
- package/src/browserIndex.ts +2 -0
- package/src/index.ts +2 -0
- package/src/lib/dns/DnsRecordType.ts +14 -0
- package/src/lib/dns/DnsReturnCode.ts +14 -0
- package/src/lib/dns/GoogleDnsResult.ts +17 -0
- package/src/lib/dns/GoogleDnsResultAnswer.ts +8 -0
- package/src/lib/dns/GoogleDnsResultQuestion.ts +11 -0
- package/src/lib/dns/domainExists.ts +15 -0
- package/src/lib/dns/domainResolve.ts +16 -0
- package/src/lib/dns/googleDnsOverHttps.ts +10 -0
- package/src/lib/dns/index.ts +8 -0
- package/src/lib/dumpErrors.ts +7 -0
- package/src/lib/index.ts +4 -0
- package/src/lib/isBrowser.ts +3 -0
- package/src/lib/typeOf/TypeOfTypes.ts +1 -0
- package/src/lib/typeOf/ifDefined.ts +12 -0
- package/src/lib/typeOf/ifTypeOf.ts +9 -0
- package/src/lib/typeOf/index.ts +5 -0
- package/src/lib/typeOf/typeOf.ts +5 -0
- package/src/lib/typeOf/validateType.ts +15 -0
- package/src/models/WithStringIndex.ts +1 -0
- package/src/models/index.ts +1 -0
- package/src/nodeIndex.ts +1 -0
- package/src/shared.ts +10 -0
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { XyoPayloadBuilder } from './Builder'
|
|
2
|
+
|
|
3
|
+
const schema = 'network.xyo.temp'
|
|
4
|
+
|
|
5
|
+
const payloadHash = '57b78b1b7df3ac0369654642e879cdf2f3c95f9c5949bcb34ea3cb8309c538b4'
|
|
6
|
+
|
|
7
|
+
const ADDITIONAL_FIELD_COUNT = 4
|
|
8
|
+
|
|
9
|
+
describe('XyoBoundWitnessBuilder', () => {
|
|
10
|
+
test('build', () => {
|
|
11
|
+
let builder = new XyoPayloadBuilder({ schema })
|
|
12
|
+
expect(builder).toBeDefined()
|
|
13
|
+
builder = builder.fields({
|
|
14
|
+
testArray: [1, 2, 3],
|
|
15
|
+
testBoolean: true,
|
|
16
|
+
testNull: null,
|
|
17
|
+
testNullObject: { t: null, x: undefined },
|
|
18
|
+
testNumber: 5,
|
|
19
|
+
testObject: { t: 1 },
|
|
20
|
+
testSomeNullObject: { s: 1, t: null, x: undefined },
|
|
21
|
+
testString: 'hi',
|
|
22
|
+
testUndefined: undefined,
|
|
23
|
+
})
|
|
24
|
+
expect(builder).toBeDefined()
|
|
25
|
+
|
|
26
|
+
const actual = builder.build()
|
|
27
|
+
|
|
28
|
+
expect(actual).toBeDefined()
|
|
29
|
+
expect(actual._timestamp).toBeDefined()
|
|
30
|
+
expect(actual._client).toBeDefined()
|
|
31
|
+
expect(actual._hash).toBeDefined()
|
|
32
|
+
expect(actual.schema).toBeDefined()
|
|
33
|
+
expect(Object.keys(actual).length).toBe(8 + ADDITIONAL_FIELD_COUNT)
|
|
34
|
+
expect(Object.keys(actual.testSomeNullObject as object).length).toBe(2)
|
|
35
|
+
expect(actual._hash).toEqual(payloadHash)
|
|
36
|
+
})
|
|
37
|
+
})
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { deepOmitUnderscoreFields, removeEmptyFields, XyoHasher } from '../../Hasher'
|
|
2
|
+
import { XyoPayload } from '../models'
|
|
3
|
+
|
|
4
|
+
export interface XyoPayloadBuilderOptions {
|
|
5
|
+
schema: string
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
export class XyoPayloadBuilder<T extends XyoPayload> {
|
|
9
|
+
private _fields: Partial<T> = {}
|
|
10
|
+
private _previousHash?: string
|
|
11
|
+
private _schema: string
|
|
12
|
+
|
|
13
|
+
constructor({ schema }: XyoPayloadBuilderOptions) {
|
|
14
|
+
this._schema = schema
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
public fields(fields?: Partial<T>) {
|
|
18
|
+
if (fields) {
|
|
19
|
+
this._fields = { ...this._fields, ...removeEmptyFields(fields) }
|
|
20
|
+
}
|
|
21
|
+
return this
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
public previousHash(hash?: string) {
|
|
25
|
+
this._previousHash = hash
|
|
26
|
+
return this
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
public hashableFields() {
|
|
30
|
+
return {
|
|
31
|
+
...removeEmptyFields(deepOmitUnderscoreFields({ ...this._fields, previousHash: this._previousHash })),
|
|
32
|
+
schema: this._schema,
|
|
33
|
+
} as T
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
public build(): T {
|
|
37
|
+
const hashableFields = this.hashableFields()
|
|
38
|
+
const _hash = new XyoHasher(hashableFields).sortedHash()
|
|
39
|
+
const _timestamp = Date.now()
|
|
40
|
+
return { ...hashableFields, _client: 'js', _hash, _timestamp, schema: this._schema }
|
|
41
|
+
}
|
|
42
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './Builder'
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { dumpErrors } from '../../lib'
|
|
2
|
+
import { testPayload } from '../../Test'
|
|
3
|
+
import { XyoPayloadBodyValidator } from './BodyValidator'
|
|
4
|
+
|
|
5
|
+
test('all', () => {
|
|
6
|
+
const validator = new XyoPayloadBodyValidator(testPayload)
|
|
7
|
+
const errors = validator.all()
|
|
8
|
+
dumpErrors(errors)
|
|
9
|
+
expect(errors.length).toBe(0)
|
|
10
|
+
})
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { WithStringIndex } from '../../models'
|
|
2
|
+
import { XyoSchemaNameValidator } from '../../SchemaNameValidator'
|
|
3
|
+
import { XyoPayloadBody } from '../models'
|
|
4
|
+
|
|
5
|
+
class XyoPayloadBodyValidator {
|
|
6
|
+
private body: WithStringIndex<XyoPayloadBody>
|
|
7
|
+
constructor(body: XyoPayloadBody) {
|
|
8
|
+
this.body = body as WithStringIndex<XyoPayloadBody>
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
private _schemaValidator?: XyoSchemaNameValidator
|
|
12
|
+
get schemaValidator() {
|
|
13
|
+
this._schemaValidator = this._schemaValidator ?? new XyoSchemaNameValidator(this.body.schema ?? '')
|
|
14
|
+
return this._schemaValidator
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
public schemaName() {
|
|
18
|
+
const errors: Error[] = []
|
|
19
|
+
if (this.body.schema === undefined) {
|
|
20
|
+
errors.push(Error('schema missing'))
|
|
21
|
+
} else {
|
|
22
|
+
errors.push(...this.schemaValidator.all())
|
|
23
|
+
}
|
|
24
|
+
return errors
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
public all() {
|
|
28
|
+
const errors: Error[] = []
|
|
29
|
+
errors.push(...this.schemaName())
|
|
30
|
+
return errors
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export { XyoPayloadBodyValidator }
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { dumpErrors } from '../../lib'
|
|
2
|
+
import { testPayload } from '../../Test'
|
|
3
|
+
import { XyoPayloadMetaValidator } from './MetaValidator'
|
|
4
|
+
|
|
5
|
+
test('all', () => {
|
|
6
|
+
const validator = new XyoPayloadMetaValidator(testPayload)
|
|
7
|
+
const errors = validator.all()
|
|
8
|
+
dumpErrors(errors)
|
|
9
|
+
expect(errors.length).toBe(0)
|
|
10
|
+
})
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { XyoHasher } from '../../Hasher'
|
|
2
|
+
import { XyoPayload } from '../models'
|
|
3
|
+
|
|
4
|
+
const MIN_ALLOWED_TIMESTAMP = 1609459200000
|
|
5
|
+
const MAX_ALLOWED_TIMESTAMP = 4102444800000
|
|
6
|
+
|
|
7
|
+
class XyoPayloadMetaValidator {
|
|
8
|
+
private payload: XyoPayload
|
|
9
|
+
constructor(payload: XyoPayload) {
|
|
10
|
+
this.payload = payload
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
public hash() {
|
|
14
|
+
const errors: Error[] = []
|
|
15
|
+
const wrapper = new XyoHasher(this.payload)
|
|
16
|
+
|
|
17
|
+
const bodyHash = wrapper.sortedHash()
|
|
18
|
+
if (bodyHash !== this.payload._hash) errors.push(new Error(`Body hash mismatch: [calculated: ${bodyHash}] [found: ${this.payload._hash}]`))
|
|
19
|
+
return errors
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
public timestamp() {
|
|
23
|
+
const errors: Error[] = []
|
|
24
|
+
const { _timestamp } = this.payload
|
|
25
|
+
if (_timestamp === undefined) errors.push(new Error('Missing _timestamp'))
|
|
26
|
+
else if (_timestamp < MIN_ALLOWED_TIMESTAMP) errors.push(new Error('_timestamp is before year 2021'))
|
|
27
|
+
else if (_timestamp > MAX_ALLOWED_TIMESTAMP) errors.push(new Error('_timestamp is after year 2100'))
|
|
28
|
+
return errors
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
public all() {
|
|
32
|
+
const errors: Error[] = []
|
|
33
|
+
errors.push(...this.hash(), ...this.timestamp())
|
|
34
|
+
return errors
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export { XyoPayloadMetaValidator }
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { dumpErrors } from '../../lib'
|
|
2
|
+
import { XyoPayload } from '../models'
|
|
3
|
+
import { XyoPayloadValidator } from './Validator'
|
|
4
|
+
|
|
5
|
+
const testPayloadNoSchema: XyoPayload = {
|
|
6
|
+
_hash: '44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a',
|
|
7
|
+
_timestamp: 1609459255555,
|
|
8
|
+
} as XyoPayload
|
|
9
|
+
const testPayloadMixedCase: XyoPayload = {
|
|
10
|
+
_hash: '9a67116e05c33135f6ba23768f9a3fbbba155297ee1bb0a7e21d91fdc3835769',
|
|
11
|
+
_timestamp: 1609459255555,
|
|
12
|
+
schema: 'network.xyo.testMixedCaseSchema',
|
|
13
|
+
}
|
|
14
|
+
const testPayloadTooFewLevels: XyoPayload = {
|
|
15
|
+
_hash: '95206b26e3173deaac5e3f5d4510d50112b6348d3a2128b1eb6fe3ca66957628',
|
|
16
|
+
_timestamp: 1609459255555,
|
|
17
|
+
schema: 'network.xyo',
|
|
18
|
+
}
|
|
19
|
+
const testPayloadDoesNotExist: XyoPayload = {
|
|
20
|
+
_hash: '360b4ce36862ef2a20dd572d69283a86d351b2b4a9cd4f61ae6f7a320be81dbf',
|
|
21
|
+
_timestamp: 1609459255555,
|
|
22
|
+
schema: 'network.dfd-sf-sf-s.blahblah',
|
|
23
|
+
}
|
|
24
|
+
const testPayloadValid: XyoPayload = {
|
|
25
|
+
_hash: '4b5958c6d16b26d6790e33f5be45578728b0ea36e40a0d1b9c9164822341cac1',
|
|
26
|
+
_timestamp: 1609459255555,
|
|
27
|
+
schema: 'network.xyo.test',
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
test('all [missing schema]', () => {
|
|
31
|
+
const validator = new XyoPayloadValidator(testPayloadNoSchema)
|
|
32
|
+
const errors = validator.all()
|
|
33
|
+
expect(errors.length).toBe(1)
|
|
34
|
+
})
|
|
35
|
+
|
|
36
|
+
test('all [mixed case]', () => {
|
|
37
|
+
const validator = new XyoPayloadValidator(testPayloadMixedCase)
|
|
38
|
+
const errors = validator.all()
|
|
39
|
+
expect(errors.length).toBe(1)
|
|
40
|
+
})
|
|
41
|
+
|
|
42
|
+
test('all [too few levels]', () => {
|
|
43
|
+
const validator = new XyoPayloadValidator(testPayloadTooFewLevels)
|
|
44
|
+
const errors = validator.all()
|
|
45
|
+
expect(errors.length).toBe(1)
|
|
46
|
+
})
|
|
47
|
+
|
|
48
|
+
test('all [does not exist]', () => {
|
|
49
|
+
const validator = new XyoPayloadValidator(testPayloadDoesNotExist)
|
|
50
|
+
const errors = validator.all()
|
|
51
|
+
dumpErrors(errors)
|
|
52
|
+
expect(errors.length).toBe(0)
|
|
53
|
+
})
|
|
54
|
+
|
|
55
|
+
test('all [valid]', () => {
|
|
56
|
+
const validator = new XyoPayloadValidator(testPayloadValid)
|
|
57
|
+
|
|
58
|
+
let errors: Error[] = []
|
|
59
|
+
errors = validator.all()
|
|
60
|
+
dumpErrors(errors)
|
|
61
|
+
expect(errors.length).toBe(0)
|
|
62
|
+
})
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { XyoPayload } from '../models'
|
|
2
|
+
import { XyoPayloadBodyValidator } from './BodyValidator'
|
|
3
|
+
import { XyoPayloadMetaValidator } from './MetaValidator'
|
|
4
|
+
|
|
5
|
+
class XyoPayloadValidator<T extends XyoPayload = XyoPayload> {
|
|
6
|
+
protected payload: T
|
|
7
|
+
public body: XyoPayloadBodyValidator
|
|
8
|
+
public meta: XyoPayloadMetaValidator
|
|
9
|
+
constructor(payload: T) {
|
|
10
|
+
this.payload = payload
|
|
11
|
+
this.body = new XyoPayloadBodyValidator(payload)
|
|
12
|
+
this.meta = new XyoPayloadMetaValidator(payload)
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
public all() {
|
|
16
|
+
const errors: Error[] = []
|
|
17
|
+
errors.push(...this.meta.all(), ...this.body.all())
|
|
18
|
+
return errors
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export { XyoPayloadValidator }
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { XyoPayload } from '../models'
|
|
2
|
+
import { XyoPayloadValidator } from '../Validator'
|
|
3
|
+
import { XyoPayloadWrapper } from './Wrapper'
|
|
4
|
+
|
|
5
|
+
export class XyoPayloadWrapperValidator<T extends XyoPayloadWrapper<XyoPayload> = XyoPayloadWrapper<XyoPayload>> {
|
|
6
|
+
protected wrapper: T
|
|
7
|
+
constructor(wrapper: T) {
|
|
8
|
+
this.wrapper = wrapper
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
public get payload() {
|
|
12
|
+
return new XyoPayloadValidator(this.wrapper.payload)
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
public all() {
|
|
16
|
+
const errors: Error[] = []
|
|
17
|
+
errors.push(...this.payload.all())
|
|
18
|
+
return errors
|
|
19
|
+
}
|
|
20
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { deepOmitUnderscoreFields, deepPickUnderscoreFields, XyoHasher } from '../../Hasher'
|
|
2
|
+
import { XyoPayload } from '../models'
|
|
3
|
+
|
|
4
|
+
class XyoPayloadWrapper<T extends XyoPayload> extends XyoHasher<T> {
|
|
5
|
+
public readonly payload: T
|
|
6
|
+
constructor(payload: T) {
|
|
7
|
+
super(payload)
|
|
8
|
+
this.payload = payload
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
public get body() {
|
|
12
|
+
return deepOmitUnderscoreFields(this.payload)
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
public get meta() {
|
|
16
|
+
return deepPickUnderscoreFields(this.payload)
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export { XyoPayloadWrapper }
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './Payload'
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
import { domainExists } from './lib'
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Validates a XYO schema structure and existence
|
|
5
|
+
*/
|
|
6
|
+
export class XyoSchemaNameValidator {
|
|
7
|
+
public schema?: string
|
|
8
|
+
constructor(schema?: string) {
|
|
9
|
+
this.schema = schema
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
private _parts?: string[]
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* The schema converted into a string array split on '.'
|
|
16
|
+
*
|
|
17
|
+
* @returns string[]
|
|
18
|
+
*/
|
|
19
|
+
get parts() {
|
|
20
|
+
this._parts = this._parts ?? this.schema?.split('.')
|
|
21
|
+
return this._parts
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Levels in the schema
|
|
26
|
+
*
|
|
27
|
+
* @returns number
|
|
28
|
+
*/
|
|
29
|
+
get levels(): number | undefined {
|
|
30
|
+
return this.parts?.length
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Checks whether the schema is all lowercase
|
|
35
|
+
*
|
|
36
|
+
* @returns boolean
|
|
37
|
+
*/
|
|
38
|
+
get isLowercase(): boolean {
|
|
39
|
+
return this.schema === this.schema?.toLowerCase()
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
*
|
|
44
|
+
* Get a domain for the schema at a certain level
|
|
45
|
+
*
|
|
46
|
+
* @param level - Zero based level to check
|
|
47
|
+
* @returns string
|
|
48
|
+
*/
|
|
49
|
+
private domainLevel(level: number): string | undefined {
|
|
50
|
+
return this.parts
|
|
51
|
+
?.slice(0, level + 1)
|
|
52
|
+
.reverse()
|
|
53
|
+
.join('.')
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
private _rootDomain?: string
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* The rootDomain is the first two levels of the schema, in reverse order
|
|
60
|
+
* This can be used to determine who 'owns' that schema, based on domain
|
|
61
|
+
* registration
|
|
62
|
+
*
|
|
63
|
+
* @returns string
|
|
64
|
+
*/
|
|
65
|
+
get rootDomain(): string | undefined {
|
|
66
|
+
this._rootDomain = this._rootDomain ?? this.domainLevel(1)
|
|
67
|
+
return this._rootDomain
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* Checks if the root domain validates via DNS resolution
|
|
72
|
+
*
|
|
73
|
+
* @returns boolean
|
|
74
|
+
*/
|
|
75
|
+
public async rootDomainExists() {
|
|
76
|
+
return await domainExists(this.rootDomain)
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
/**
|
|
80
|
+
* Determines how many levels of the schema's reverse domain
|
|
81
|
+
* pass DNS resolution
|
|
82
|
+
*
|
|
83
|
+
* @returns number (0 if none exist)
|
|
84
|
+
*/
|
|
85
|
+
public async domainExistanceDepth() {
|
|
86
|
+
const levels = this.levels ?? 0
|
|
87
|
+
let level = 0
|
|
88
|
+
while (level < levels) {
|
|
89
|
+
if (!(await domainExists(this.domainLevel(level)))) {
|
|
90
|
+
break
|
|
91
|
+
}
|
|
92
|
+
level += 1
|
|
93
|
+
}
|
|
94
|
+
return level
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
/**
|
|
98
|
+
* Run all the validations
|
|
99
|
+
* @param checkExistance - boolean
|
|
100
|
+
* @returns Error[]
|
|
101
|
+
*/
|
|
102
|
+
|
|
103
|
+
public async allDynamic() {
|
|
104
|
+
const errors: Error[] = []
|
|
105
|
+
if ((this.schema?.length ?? 0) === 0) errors.push(Error('schema missing'))
|
|
106
|
+
else if (!(await this.rootDomainExists())) errors.push(Error(`schema root domain must exist [${this.rootDomain}]`))
|
|
107
|
+
return errors
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
/**
|
|
111
|
+
* Run all static validations
|
|
112
|
+
* @returns Error[]
|
|
113
|
+
*/
|
|
114
|
+
|
|
115
|
+
public all() {
|
|
116
|
+
const errors: Error[] = []
|
|
117
|
+
if ((this.schema?.length ?? 0) === 0) errors.push(Error('schema missing'))
|
|
118
|
+
else if ((this.levels ?? 0) < 3) errors.push(Error(`schema levels < 3 [${this.levels}, ${this.schema}]`))
|
|
119
|
+
else if (!this.isLowercase) errors.push(Error(`schema not lowercase [${this.schema}]`))
|
|
120
|
+
return errors
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
/** @deprectated use XyoSchemaNameValidator instead */
|
|
125
|
+
export class SchemaValidator extends XyoSchemaNameValidator {}
|
|
126
|
+
|
|
127
|
+
/** @deprectated use XyoSchemaNameValidator instead */
|
|
128
|
+
export class XyoSchemaValidator extends XyoSchemaNameValidator {}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { XyoBoundWitness } from '../BoundWitness'
|
|
2
|
+
|
|
3
|
+
const testBoundWitness: XyoBoundWitness = {
|
|
4
|
+
_archive: 'temp',
|
|
5
|
+
_client: 'js',
|
|
6
|
+
_hash: 'b0ffb9ebf872dc316b7be48327256c5316f7cb84d7c706861b18b86af1942dea',
|
|
7
|
+
_signatures: ['95100e5fd2012b958e96895870cfac5353c3a33a19314cfd1304ef7d01d052ec2a3ef80d6449cf88d463027fe0d868ed8cfb8b7323d37e93a08570233eea0b17'],
|
|
8
|
+
_timestamp: 1650067385598,
|
|
9
|
+
addresses: ['5346a2ce56ec4177b67092bda710e150ba6fa046'],
|
|
10
|
+
payload_hashes: ['20e14207f952a09f767ff614a648546c037fe524ace0bfe55db31f818aff1f1c'],
|
|
11
|
+
payload_schemas: ['network.xyo.test'],
|
|
12
|
+
previous_hashes: [null],
|
|
13
|
+
schema: 'network.xyo.boundwitness',
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export { testBoundWitness }
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { XyoPayload } from '../Payload'
|
|
2
|
+
|
|
3
|
+
const testSchema = 'network.xyo.test'
|
|
4
|
+
const testPayload: XyoPayload = {
|
|
5
|
+
_archive: 'test',
|
|
6
|
+
_hash: '20e14207f952a09f767ff614a648546c037fe524ace0bfe55db31f818aff1f1c',
|
|
7
|
+
_timestamp: 1609459255555,
|
|
8
|
+
numberField: 1,
|
|
9
|
+
objectField: {
|
|
10
|
+
numberField: 1,
|
|
11
|
+
stringField: 'stringValue',
|
|
12
|
+
},
|
|
13
|
+
schema: testSchema,
|
|
14
|
+
stringField: 'stringValue',
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export { testPayload, testSchema }
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/* eslint-disable sort-keys-fix/sort-keys-fix */
|
|
2
|
+
/* eslint-disable sort-keys */
|
|
3
|
+
|
|
4
|
+
import { XyoAccount } from './Account'
|
|
5
|
+
import { toUint8Array } from './Key'
|
|
6
|
+
|
|
7
|
+
//test vectors: https://tools.ietf.org/html/rfc8032
|
|
8
|
+
//test tool: https://asecuritysite.com/encryption/ethadd
|
|
9
|
+
|
|
10
|
+
const testVectorPrivateKey = '7f71bc5644f8f521f7e9b73f7a391e82c05432f8a9d36c44d6b1edbf1d8db62f'
|
|
11
|
+
const testVectorPublicKey = 'ed6f3b86542f45aab88ec48ab1366b462bd993fec83e234054afd8f2311fba774800fdb40c04918463b463a6044b83413a604550bfba8f8911beb65475d6528e'
|
|
12
|
+
const testVectorAddress = '5e7a847447e7fec41011ae7d32d768f86605ba03'
|
|
13
|
+
const testVectorHash = '4b688df40bcedbe641ddb16ff0a1842d9c67ea1c3bf63f3e0471baa664531d1a'
|
|
14
|
+
const testVectorSignature = 'b61dad551e910e2793b4f9f880125b5799086510ce102fad0222c1b093c60a6bc755ca10a9068079ac8d9617416a7cd41077093061c1e9bcb2f81812086ae603'
|
|
15
|
+
|
|
16
|
+
const testPrivateKey = '9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08'
|
|
17
|
+
const testPublicKey = '5f81956d5826bad7d30daed2b5c8c98e72046c1ec8323da336445476183fb7ca54ba511b8b782bc5085962412e8b9879496e3b60bebee7c36987d1d5848b9a50'
|
|
18
|
+
const testAddress = '2a260a110bc7b03f19c40a0bd04ff2c5dcb57594'
|
|
19
|
+
|
|
20
|
+
/*const testVectors = {
|
|
21
|
+
d: 'ebb2c082fd7727890a28ac82f6bdf97bad8de9f5d7c9028692de1a255cad3e0f',
|
|
22
|
+
k: '49a0d7b786ec9cde0d0721d72804befd06571c974b191efb42ecf322ba9ddd9a',
|
|
23
|
+
h: '4b688df40bcedbe641ddb16ff0a1842d9c67ea1c3bf63f3e0471baa664531d1a',
|
|
24
|
+
r: '241097efbf8b63bf145c8961dbdf10c310efbb3b2676bbc0f8b08505c9e2f795',
|
|
25
|
+
s: '021006b7838609339e8b415a7f9acb1b661828131aef1ecbc7955dfb01f3ca0e',
|
|
26
|
+
q: '04779dd197a5df977ed2cf6cb31d82d43328b790dc6b3b7d4437a427bd5847dfcde94b724a555b6d017bb7607c3e3281daf5b1699d6ef4124975c9237b917d426f',
|
|
27
|
+
}*/
|
|
28
|
+
|
|
29
|
+
test('Address from Phrase', () => {
|
|
30
|
+
const wallet = XyoAccount.fromPhrase('test')
|
|
31
|
+
expect(wallet.private).toHaveLength(32)
|
|
32
|
+
expect(wallet.public).toHaveLength(64)
|
|
33
|
+
expect(wallet.addressValue).toHaveLength(20)
|
|
34
|
+
expect(wallet.private.hex).toEqual(testPrivateKey)
|
|
35
|
+
expect(wallet.public.hex).toEqual(testPublicKey)
|
|
36
|
+
expect(wallet.addressValue.hex).toEqual(testAddress)
|
|
37
|
+
})
|
|
38
|
+
|
|
39
|
+
test('Address from Key', () => {
|
|
40
|
+
const wallet = XyoAccount.fromPrivateKey(testVectorPrivateKey)
|
|
41
|
+
expect(wallet.private).toHaveLength(32)
|
|
42
|
+
expect(wallet.public).toHaveLength(64)
|
|
43
|
+
expect(wallet.addressValue).toHaveLength(20)
|
|
44
|
+
expect(wallet.private.hex).toEqual(testVectorPrivateKey)
|
|
45
|
+
expect(wallet.public.hex).toEqual(testVectorPublicKey)
|
|
46
|
+
expect(wallet.addressValue.hex).toEqual(testVectorAddress)
|
|
47
|
+
})
|
|
48
|
+
|
|
49
|
+
test('Sign-fromPrivateKey', () => {
|
|
50
|
+
const wallet = XyoAccount.fromPrivateKey(testVectorPrivateKey)
|
|
51
|
+
const signature = wallet.sign('1234567890abcdef')
|
|
52
|
+
const valid = wallet.verify('1234567890abcdef', signature)
|
|
53
|
+
expect(valid).toBeTruthy()
|
|
54
|
+
})
|
|
55
|
+
|
|
56
|
+
test('Sign-fromPhrase', () => {
|
|
57
|
+
const wallet = XyoAccount.fromPhrase('test')
|
|
58
|
+
const signature = wallet.sign('1234567890abcdef')
|
|
59
|
+
const valid = wallet.verify('1234567890abcdef', signature)
|
|
60
|
+
expect(valid).toBeTruthy()
|
|
61
|
+
})
|
|
62
|
+
|
|
63
|
+
test('Sign-testVectors', () => {
|
|
64
|
+
const wallet = XyoAccount.fromPrivateKey(testVectorPrivateKey)
|
|
65
|
+
const signature = Buffer.from(wallet.sign(toUint8Array(testVectorHash))).toString('hex')
|
|
66
|
+
const expectedSignature = testVectorSignature
|
|
67
|
+
|
|
68
|
+
expect(signature).toEqual(expectedSignature)
|
|
69
|
+
expect(signature.length).toEqual(128)
|
|
70
|
+
const valid = wallet.verify(testVectorHash, signature)
|
|
71
|
+
expect(valid).toBeTruthy()
|
|
72
|
+
})
|
|
73
|
+
|
|
74
|
+
test('Constructor', () => {
|
|
75
|
+
const wallet1 = new XyoAccount()
|
|
76
|
+
const wallet2 = new XyoAccount({ privateKey: wallet1.private.bytes })
|
|
77
|
+
expect(wallet1.public.hex).toEqual(wallet2.public.hex)
|
|
78
|
+
expect(wallet1.addressValue.hex).toEqual(wallet2.addressValue.hex)
|
|
79
|
+
})
|
|
80
|
+
|
|
81
|
+
test('Sign-random-string', () => {
|
|
82
|
+
const wallet = XyoAccount.random()
|
|
83
|
+
const signature = wallet.sign('1234567890abcdef')
|
|
84
|
+
const signaturePrime = toUint8Array(signature)
|
|
85
|
+
expect(signature.length).toBe(signaturePrime.length)
|
|
86
|
+
for (let i = 0; i < signature.length; i++) {
|
|
87
|
+
expect(signature[i]).toBe(signaturePrime[i])
|
|
88
|
+
}
|
|
89
|
+
const valid = wallet.verify('1234567890abcdef', signature)
|
|
90
|
+
expect(valid).toBeTruthy()
|
|
91
|
+
})
|