@xyo-network/xns-record-payload-plugins 2.99.1 → 2.99.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/dist/browser/DomainRegistration/DomainRegistrationLease.d.cts +6 -0
  2. package/dist/browser/DomainRegistration/DomainRegistrationLease.d.cts.map +1 -1
  3. package/dist/browser/DomainRegistration/DomainRegistrationLease.d.mts +6 -0
  4. package/dist/browser/DomainRegistration/DomainRegistrationLease.d.mts.map +1 -1
  5. package/dist/browser/DomainRegistration/DomainRegistrationLease.d.ts +6 -0
  6. package/dist/browser/DomainRegistration/DomainRegistrationLease.d.ts.map +1 -1
  7. package/dist/browser/index.cjs +6 -2
  8. package/dist/browser/index.cjs.map +1 -1
  9. package/dist/browser/index.js +6 -2
  10. package/dist/browser/index.js.map +1 -1
  11. package/dist/neutral/DomainRegistration/DomainRegistrationLease.d.cts +6 -0
  12. package/dist/neutral/DomainRegistration/DomainRegistrationLease.d.cts.map +1 -1
  13. package/dist/neutral/DomainRegistration/DomainRegistrationLease.d.mts +6 -0
  14. package/dist/neutral/DomainRegistration/DomainRegistrationLease.d.mts.map +1 -1
  15. package/dist/neutral/DomainRegistration/DomainRegistrationLease.d.ts +6 -0
  16. package/dist/neutral/DomainRegistration/DomainRegistrationLease.d.ts.map +1 -1
  17. package/dist/neutral/index.cjs +6 -2
  18. package/dist/neutral/index.cjs.map +1 -1
  19. package/dist/neutral/index.js +6 -2
  20. package/dist/neutral/index.js.map +1 -1
  21. package/dist/node/DomainRegistration/DomainRegistrationLease.d.cts +6 -0
  22. package/dist/node/DomainRegistration/DomainRegistrationLease.d.cts.map +1 -1
  23. package/dist/node/DomainRegistration/DomainRegistrationLease.d.mts +6 -0
  24. package/dist/node/DomainRegistration/DomainRegistrationLease.d.mts.map +1 -1
  25. package/dist/node/DomainRegistration/DomainRegistrationLease.d.ts +6 -0
  26. package/dist/node/DomainRegistration/DomainRegistrationLease.d.ts.map +1 -1
  27. package/dist/node/index.cjs +8 -2
  28. package/dist/node/index.cjs.map +1 -1
  29. package/dist/node/index.js +6 -2
  30. package/dist/node/index.js.map +1 -1
  31. package/package.json +10 -10
  32. package/src/DomainRegistration/DomainRegistrationLease.ts +10 -2
@@ -9,9 +9,15 @@ export type DomainRegistrationLease = Payload<DomainRegistrationLeaseFields, Dom
9
9
  export declare const isDomainRegistrationLease: (x?: unknown | null) => x is import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & DomainRegistrationLeaseFields & {
10
10
  schema: "network.xyo.ns.domain.registration.lease";
11
11
  };
12
+ export declare const isDomainRegistrationLeaseWithSources: (x?: unknown | null) => x is import("@xyo-network/payload-model").WithSources<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & DomainRegistrationLeaseFields & {
13
+ schema: "network.xyo.ns.domain.registration.lease";
14
+ }>;
12
15
  export declare const isDomainRegistrationLeaseSources: (x?: unknown | null) => x is import("@xyo-network/payload-model").WithSources<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & DomainRegistrationLeaseFields & {
13
16
  schema: "network.xyo.ns.domain.registration.lease";
14
17
  }>;
18
+ export declare const isDomainRegistrationLeaseWithMeta: (x?: unknown | null) => x is import("@xyo-network/payload-model").WithMeta<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & DomainRegistrationLeaseFields & {
19
+ schema: "network.xyo.ns.domain.registration.lease";
20
+ }>;
15
21
  export declare const isDomainRegistrationLeaseMeta: (x?: unknown | null) => x is import("@xyo-network/payload-model").WithMeta<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & DomainRegistrationLeaseFields & {
16
22
  schema: "network.xyo.ns.domain.registration.lease";
17
23
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"DomainRegistrationLease.d.ts","sourceRoot":"","sources":["../../../src/DomainRegistration/DomainRegistrationLease.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0F,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAE5I,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,wBAAwB,EAA4B,MAAM,yBAAyB,CAAA;AAE5F,eAAO,MAAM,6BAA6B,4CAA+C,CAAA;AACzF,MAAM,MAAM,6BAA6B,GAAG,OAAO,6BAA6B,CAAA;AAEhF,MAAM,WAAW,6BAA8B,SAAQ,wBAAwB,EAAE,cAAc;CAAG;AAKlG,MAAM,MAAM,uBAAuB,GAAG,OAAO,CAAC,6BAA6B,EAAE,6BAA6B,CAAC,CAAA;AAK3G,eAAO,MAAM,yBAAyB;;CAAgF,CAAA;AAKtH,eAAO,MAAM,gCAAgC;;EAA2F,CAAA;AAKxI,eAAO,MAAM,6BAA6B;;EAAwF,CAAA"}
1
+ {"version":3,"file":"DomainRegistrationLease.d.ts","sourceRoot":"","sources":["../../../src/DomainRegistration/DomainRegistrationLease.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0F,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAE5I,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,wBAAwB,EAA4B,MAAM,yBAAyB,CAAA;AAE5F,eAAO,MAAM,6BAA6B,4CAA+C,CAAA;AACzF,MAAM,MAAM,6BAA6B,GAAG,OAAO,6BAA6B,CAAA;AAEhF,MAAM,WAAW,6BAA8B,SAAQ,wBAAwB,EAAE,cAAc;CAAG;AAKlG,MAAM,MAAM,uBAAuB,GAAG,OAAO,CAAC,6BAA6B,EAAE,6BAA6B,CAAC,CAAA;AAK3G,eAAO,MAAM,yBAAyB;;CAAgF,CAAA;AAKtH,eAAO,MAAM,oCAAoC;;EAA2F,CAAA;AAI5I,eAAO,MAAM,gCAAgC;;EAAuC,CAAA;AAKpF,eAAO,MAAM,iCAAiC;;EAAwF,CAAA;AAItI,eAAO,MAAM,6BAA6B;;EAAoC,CAAA"}
@@ -9,9 +9,15 @@ export type DomainRegistrationLease = Payload<DomainRegistrationLeaseFields, Dom
9
9
  export declare const isDomainRegistrationLease: (x?: unknown | null) => x is import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & DomainRegistrationLeaseFields & {
10
10
  schema: "network.xyo.ns.domain.registration.lease";
11
11
  };
12
+ export declare const isDomainRegistrationLeaseWithSources: (x?: unknown | null) => x is import("@xyo-network/payload-model").WithSources<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & DomainRegistrationLeaseFields & {
13
+ schema: "network.xyo.ns.domain.registration.lease";
14
+ }>;
12
15
  export declare const isDomainRegistrationLeaseSources: (x?: unknown | null) => x is import("@xyo-network/payload-model").WithSources<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & DomainRegistrationLeaseFields & {
13
16
  schema: "network.xyo.ns.domain.registration.lease";
14
17
  }>;
18
+ export declare const isDomainRegistrationLeaseWithMeta: (x?: unknown | null) => x is import("@xyo-network/payload-model").WithMeta<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & DomainRegistrationLeaseFields & {
19
+ schema: "network.xyo.ns.domain.registration.lease";
20
+ }>;
15
21
  export declare const isDomainRegistrationLeaseMeta: (x?: unknown | null) => x is import("@xyo-network/payload-model").WithMeta<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & DomainRegistrationLeaseFields & {
16
22
  schema: "network.xyo.ns.domain.registration.lease";
17
23
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"DomainRegistrationLease.d.ts","sourceRoot":"","sources":["../../../src/DomainRegistration/DomainRegistrationLease.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0F,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAE5I,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,wBAAwB,EAA4B,MAAM,yBAAyB,CAAA;AAE5F,eAAO,MAAM,6BAA6B,4CAA+C,CAAA;AACzF,MAAM,MAAM,6BAA6B,GAAG,OAAO,6BAA6B,CAAA;AAEhF,MAAM,WAAW,6BAA8B,SAAQ,wBAAwB,EAAE,cAAc;CAAG;AAKlG,MAAM,MAAM,uBAAuB,GAAG,OAAO,CAAC,6BAA6B,EAAE,6BAA6B,CAAC,CAAA;AAK3G,eAAO,MAAM,yBAAyB;;CAAgF,CAAA;AAKtH,eAAO,MAAM,gCAAgC;;EAA2F,CAAA;AAKxI,eAAO,MAAM,6BAA6B;;EAAwF,CAAA"}
1
+ {"version":3,"file":"DomainRegistrationLease.d.ts","sourceRoot":"","sources":["../../../src/DomainRegistration/DomainRegistrationLease.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0F,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAE5I,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,wBAAwB,EAA4B,MAAM,yBAAyB,CAAA;AAE5F,eAAO,MAAM,6BAA6B,4CAA+C,CAAA;AACzF,MAAM,MAAM,6BAA6B,GAAG,OAAO,6BAA6B,CAAA;AAEhF,MAAM,WAAW,6BAA8B,SAAQ,wBAAwB,EAAE,cAAc;CAAG;AAKlG,MAAM,MAAM,uBAAuB,GAAG,OAAO,CAAC,6BAA6B,EAAE,6BAA6B,CAAC,CAAA;AAK3G,eAAO,MAAM,yBAAyB;;CAAgF,CAAA;AAKtH,eAAO,MAAM,oCAAoC;;EAA2F,CAAA;AAI5I,eAAO,MAAM,gCAAgC;;EAAuC,CAAA;AAKpF,eAAO,MAAM,iCAAiC;;EAAwF,CAAA;AAItI,eAAO,MAAM,6BAA6B;;EAAoC,CAAA"}
@@ -9,9 +9,15 @@ export type DomainRegistrationLease = Payload<DomainRegistrationLeaseFields, Dom
9
9
  export declare const isDomainRegistrationLease: (x?: unknown | null) => x is import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & DomainRegistrationLeaseFields & {
10
10
  schema: "network.xyo.ns.domain.registration.lease";
11
11
  };
12
+ export declare const isDomainRegistrationLeaseWithSources: (x?: unknown | null) => x is import("@xyo-network/payload-model").WithSources<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & DomainRegistrationLeaseFields & {
13
+ schema: "network.xyo.ns.domain.registration.lease";
14
+ }>;
12
15
  export declare const isDomainRegistrationLeaseSources: (x?: unknown | null) => x is import("@xyo-network/payload-model").WithSources<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & DomainRegistrationLeaseFields & {
13
16
  schema: "network.xyo.ns.domain.registration.lease";
14
17
  }>;
18
+ export declare const isDomainRegistrationLeaseWithMeta: (x?: unknown | null) => x is import("@xyo-network/payload-model").WithMeta<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & DomainRegistrationLeaseFields & {
19
+ schema: "network.xyo.ns.domain.registration.lease";
20
+ }>;
15
21
  export declare const isDomainRegistrationLeaseMeta: (x?: unknown | null) => x is import("@xyo-network/payload-model").WithMeta<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & DomainRegistrationLeaseFields & {
16
22
  schema: "network.xyo.ns.domain.registration.lease";
17
23
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"DomainRegistrationLease.d.ts","sourceRoot":"","sources":["../../../src/DomainRegistration/DomainRegistrationLease.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0F,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAE5I,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,wBAAwB,EAA4B,MAAM,yBAAyB,CAAA;AAE5F,eAAO,MAAM,6BAA6B,4CAA+C,CAAA;AACzF,MAAM,MAAM,6BAA6B,GAAG,OAAO,6BAA6B,CAAA;AAEhF,MAAM,WAAW,6BAA8B,SAAQ,wBAAwB,EAAE,cAAc;CAAG;AAKlG,MAAM,MAAM,uBAAuB,GAAG,OAAO,CAAC,6BAA6B,EAAE,6BAA6B,CAAC,CAAA;AAK3G,eAAO,MAAM,yBAAyB;;CAAgF,CAAA;AAKtH,eAAO,MAAM,gCAAgC;;EAA2F,CAAA;AAKxI,eAAO,MAAM,6BAA6B;;EAAwF,CAAA"}
1
+ {"version":3,"file":"DomainRegistrationLease.d.ts","sourceRoot":"","sources":["../../../src/DomainRegistration/DomainRegistrationLease.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0F,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAE5I,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,wBAAwB,EAA4B,MAAM,yBAAyB,CAAA;AAE5F,eAAO,MAAM,6BAA6B,4CAA+C,CAAA;AACzF,MAAM,MAAM,6BAA6B,GAAG,OAAO,6BAA6B,CAAA;AAEhF,MAAM,WAAW,6BAA8B,SAAQ,wBAAwB,EAAE,cAAc;CAAG;AAKlG,MAAM,MAAM,uBAAuB,GAAG,OAAO,CAAC,6BAA6B,EAAE,6BAA6B,CAAC,CAAA;AAK3G,eAAO,MAAM,yBAAyB;;CAAgF,CAAA;AAKtH,eAAO,MAAM,oCAAoC;;EAA2F,CAAA;AAI5I,eAAO,MAAM,gCAAgC;;EAAuC,CAAA;AAKpF,eAAO,MAAM,iCAAiC;;EAAwF,CAAA;AAItI,eAAO,MAAM,6BAA6B;;EAAoC,CAAA"}
@@ -40,6 +40,8 @@ __export(src_exports, {
40
40
  isDomainRegistrationLease: () => isDomainRegistrationLease,
41
41
  isDomainRegistrationLeaseMeta: () => isDomainRegistrationLeaseMeta,
42
42
  isDomainRegistrationLeaseSources: () => isDomainRegistrationLeaseSources,
43
+ isDomainRegistrationLeaseWithMeta: () => isDomainRegistrationLeaseWithMeta,
44
+ isDomainRegistrationLeaseWithSources: () => isDomainRegistrationLeaseWithSources,
43
45
  isDomainRegistrationWithMeta: () => isDomainRegistrationWithMeta,
44
46
  isDomainRegistrationWithSources: () => isDomainRegistrationWithSources,
45
47
  isDomainWithMeta: () => isDomainWithMeta,
@@ -104,8 +106,10 @@ var isDomainRegistrationWithMeta = (0, import_payload_model5.isPayloadOfSchemaTy
104
106
  var import_payload_model6 = require("@xyo-network/payload-model");
105
107
  var DomainRegistrationLeaseSchema = `${DomainRegistrationSchema}.lease`;
106
108
  var isDomainRegistrationLease = (0, import_payload_model6.isPayloadOfSchemaType)(DomainRegistrationLeaseSchema);
107
- var isDomainRegistrationLeaseSources = (0, import_payload_model6.isPayloadOfSchemaTypeWithSources)(DomainRegistrationLeaseSchema);
108
- var isDomainRegistrationLeaseMeta = (0, import_payload_model6.isPayloadOfSchemaTypeWithMeta)(DomainRegistrationLeaseSchema);
109
+ var isDomainRegistrationLeaseWithSources = (0, import_payload_model6.isPayloadOfSchemaTypeWithSources)(DomainRegistrationLeaseSchema);
110
+ var isDomainRegistrationLeaseSources = isDomainRegistrationLeaseWithSources;
111
+ var isDomainRegistrationLeaseWithMeta = (0, import_payload_model6.isPayloadOfSchemaTypeWithMeta)(DomainRegistrationLeaseSchema);
112
+ var isDomainRegistrationLeaseMeta = isDomainRegistrationLeaseWithMeta;
109
113
 
110
114
  // src/Duration/validation/validateBoundWitness.ts
111
115
  var import_boundwitness_validator = require("@xyo-network/boundwitness-validator");
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts","../../src/Address/Payload.ts","../../src/diviner/DomainLeaseEstimateDiviner/Schema.ts","../../src/diviner/DomainLeaseEstimateDiviner/ErrorDetails/ErrorCodes.ts","../../src/diviner/DomainLeaseEstimateDiviner/ErrorDetails/Payload.ts","../../src/Domain/Domain.ts","../../src/Domain/DomainLease.ts","../../src/DomainRegistration/DomainRegistration.ts","../../src/DomainRegistration/DomainRegistrationLease.ts","../../src/Duration/validation/validateBoundWitness.ts","../../src/Duration/validation/validateBoundWitnessAndDuration.ts","../../src/Duration/validation/validateDuration.ts","../../src/Duration/validation/validateBoundWitnessWithDuration.ts"],"sourcesContent":["export * from './Address/index.js'\nexport * from './diviner/index.js'\nexport * from './Domain/index.js'\nexport * from './DomainRegistration/index.js'\nexport * from './Duration/index.js'\n","import { Address } from '@xylabs/hex'\nimport { isPayloadOfSchemaType, Payload, WithMeta } from '@xyo-network/payload-model'\n\nimport { DomainFields } from '../Domain/index.js'\n\nexport type AddressRecordSchema = 'network.xyo.ns.record.address'\nexport const AddressRecordSchema: AddressRecordSchema = 'network.xyo.ns.record.address'\n\nexport interface AddressRecordFields extends DomainFields {\n /**\n * The address the record points to\n */\n address: Address[]\n}\n\n/**\n * An address record points a domain to an address\n */\nexport type AddressRecord = Payload<AddressRecordFields, AddressRecordSchema>\n\nexport const isAddressRecord = isPayloadOfSchemaType<AddressRecord>(AddressRecordSchema)\nexport const isAddressRecordWithMeta = isPayloadOfSchemaType<WithMeta<AddressRecord>>(AddressRecordSchema)\n","export const DomainLeaseEstimateDivinerValidationErrorDetailsSchema =\n 'network.xyo.diviner.ns.domain.registration.lease.estimate.validation.error.details' as const\n\nexport type DomainLeaseEstimateDivinerValidationErrorDetailsSchema = typeof DomainLeaseEstimateDivinerValidationErrorDetailsSchema\n","import { DomainLeaseEstimateDivinerValidationErrorDetailsSchema } from '../Schema.js'\nimport { DomainLeaseEstimateDivinerValidationErrorDetails, ErrorDetailsDictionary } from './Payload.js'\n\n// export type DomainLeaseEstimateDivinerErrorDetailsDictionaryErrorCode = keyof typeof DomainLeaseEstimateDivinerErrorDetailsDictionary\nexport type DomainLeaseEstimateDivinerErrorDetailsDictionaryErrorCode = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8\n\nexport const DomainLeaseEstimateDivinerErrorDetailsDictionary: Readonly<\n Readonly<Record<DomainLeaseEstimateDivinerErrorDetailsDictionaryErrorCode, DomainLeaseEstimateDivinerValidationErrorDetails>> &\n ErrorDetailsDictionary\n> = {\n 0: { code: '0', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Success' },\n 1: { code: '1', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Invalid casing' },\n 2: { code: '2', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Invalid coin signature' },\n 3: { code: '3', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Invalid length' },\n 4: { code: '4', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Invalid name' },\n 5: { code: '5', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Reserved fragment' },\n 6: { code: '6', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Reserved name' },\n 7: { code: '7', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Reserved string' },\n 8: { code: '8', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Invalid TLD' },\n} as const\n","import { isPayloadOfSchemaType, isPayloadOfSchemaTypeWithMeta, isPayloadOfSchemaTypeWithSources, Payload } from '@xyo-network/payload-model'\n\nimport { DomainLeaseEstimateDivinerValidationErrorDetailsSchema } from '../Schema.js'\n\nexport interface ErrorDetails<TErrorCode extends string | undefined = string | undefined> {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n [key: string]: any // Index signature for any other additional properties\n /**\n * A string code indicating the error type.\n */\n code: TErrorCode\n /**\n * A human-readable explanation specific to this occurrence of the problem\n */\n detail?: string\n /**\n * A short, human-readable summary of the problem type.\n */\n title?: string\n}\n\nexport type ErrorDetailsDictionary<T extends number = number> = {\n readonly [K in T]: ErrorDetails<`${K}`>\n}\n\n/**\n * A payment authorization token payload\n */\nexport type DomainLeaseEstimateDivinerValidationErrorDetails<TErrorCode extends string | undefined = string> = Payload<\n ErrorDetails<TErrorCode>,\n DomainLeaseEstimateDivinerValidationErrorDetailsSchema\n>\n\n/**\n * Identity function for DomainLeaseEstimateDivinerValidationErrorDetails payload\n */\nexport const isDomainLeaseEstimateDivinerValidationErrorDetails = isPayloadOfSchemaType<DomainLeaseEstimateDivinerValidationErrorDetails>(\n DomainLeaseEstimateDivinerValidationErrorDetailsSchema,\n)\n\n/**\n * Identity function for DomainLeaseEstimateDivinerValidationErrorDetails payload with sources\n */\nexport const isDomainLeaseEstimateDivinerValidationErrorDetailsWithSources =\n isPayloadOfSchemaTypeWithSources<DomainLeaseEstimateDivinerValidationErrorDetails>(DomainLeaseEstimateDivinerValidationErrorDetailsSchema)\n\n/**\n * Identity function for DomainLeaseEstimateDivinerValidationErrorDetails payload with meta\n */\nexport const isDomainLeaseEstimateDivinerValidationErrorDetailsWithMeta =\n isPayloadOfSchemaTypeWithMeta<DomainLeaseEstimateDivinerValidationErrorDetails>(DomainLeaseEstimateDivinerValidationErrorDetailsSchema)\n","import { isPayloadOfSchemaType, isPayloadOfSchemaTypeWithMeta, isPayloadOfSchemaTypeWithSources, Payload } from '@xyo-network/payload-model'\n\nexport type DomainSchema = 'network.xyo.ns.domain'\nexport const DomainSchema: DomainSchema = 'network.xyo.ns.domain'\n\n/**\n * The supported TLDs for XNS\n */\nexport type TopLevelDomain = 'xyo'\n\n/**\n * The fields for a domain record\n */\nexport interface DomainFields {\n /**\n * The XNS domain of the record\n */\n domain: string\n\n /**\n * The Top-Level Domain of the domain\n */\n tld: TopLevelDomain\n}\n\n/**\n * A domain record is a record of a domain\n */\nexport type Domain = Payload<DomainFields, DomainSchema>\n\n/**\n * Identity function for Domain payload\n */\nexport const isDomain = isPayloadOfSchemaType<Domain>(DomainSchema)\n\n/**\n * Identity function for Domain payload with sources\n */\nexport const isDomainWithSources = isPayloadOfSchemaTypeWithSources<Domain>(DomainSchema)\n\n/**\n * Identity function for Domain payload with meta\n */\nexport const isDomainWithMeta = isPayloadOfSchemaTypeWithMeta<Domain>(DomainSchema)\n","import { isPayloadOfSchemaType, isPayloadOfSchemaTypeWithMeta, isPayloadOfSchemaTypeWithSources, Payload } from '@xyo-network/payload-model'\n\nimport { DurationFields } from '../Duration/index.js'\nimport { DomainFields } from './Domain.js'\n\nexport type DomainLeaseSchema = 'network.xyo.ns.domain.lease'\nexport const DomainLeaseSchema: DomainLeaseSchema = 'network.xyo.ns.domain.lease'\n\n/**\n * A domain is leased for a duration\n */\nexport interface DomainLeaseFields extends DomainFields, DurationFields {}\n\n/**\n * A domain lease is a record of a domain and the duration it is leased for\n */\nexport type DomainLease = Payload<DomainLeaseFields, DomainLeaseSchema>\n\n/**\n * Identity function for DomainLease payload\n */\nexport const isDomainLease = isPayloadOfSchemaType<DomainLease>(DomainLeaseSchema)\n\n/**\n * Identity function for DomainLease payload with sources\n */\nexport const isDomainLeaseWithSources = isPayloadOfSchemaTypeWithSources<DomainLease>(DomainLeaseSchema)\n\n/**\n * Identity function for DomainLease payload with meta\n */\nexport const isDomainLeaseWithMeta = isPayloadOfSchemaTypeWithMeta<DomainLease>(DomainLeaseSchema)\n","import { Address } from '@xylabs/hex'\nimport { isPayloadOfSchemaType, isPayloadOfSchemaTypeWithMeta, isPayloadOfSchemaTypeWithSources, Payload } from '@xyo-network/payload-model'\n\nimport { DomainFields, DomainSchema } from '../Domain/index.js'\n\nexport const DomainRegistrationSchema = `${DomainSchema}.registration` as const\nexport type DomainRegistrationSchema = typeof DomainRegistrationSchema\n\nexport interface DomainRegistrationFields extends DomainFields {\n /**\n * The registrant of the domain\n */\n registrant: Address[]\n /**\n * The registrar of the domain\n */\n registrar: Address[]\n}\n\n/**\n * Delegation of a domain to a registrar by a registrant\n */\nexport type DomainRegistration = Payload<DomainRegistrationFields, DomainRegistrationSchema>\n\n/**\n * Identity function for DomainRegistration payload\n */\nexport const isDomainRegistration = isPayloadOfSchemaType<DomainRegistration>(DomainRegistrationSchema)\n\n/**\n * Identity function for DomainRegistration payload with sources\n */\nexport const isDomainRegistrationWithSources = isPayloadOfSchemaTypeWithSources<DomainRegistration>(DomainRegistrationSchema)\n\n/**\n * Identity function for DomainRegistration payload with meta\n */\nexport const isDomainRegistrationWithMeta = isPayloadOfSchemaTypeWithMeta<DomainRegistration>(DomainRegistrationSchema)\n","import { isPayloadOfSchemaType, isPayloadOfSchemaTypeWithMeta, isPayloadOfSchemaTypeWithSources, Payload } from '@xyo-network/payload-model'\n\nimport { DurationFields } from '../Duration/index.js'\nimport { DomainRegistrationFields, DomainRegistrationSchema } from './DomainRegistration.js'\n\nexport const DomainRegistrationLeaseSchema = `${DomainRegistrationSchema}.lease` as const\nexport type DomainRegistrationLeaseSchema = typeof DomainRegistrationLeaseSchema\n\nexport interface DomainRegistrationLeaseFields extends DomainRegistrationFields, DurationFields {}\n\n/**\n * Temporal delegation of a domain to a registrar by a registrant\n */\nexport type DomainRegistrationLease = Payload<DomainRegistrationLeaseFields, DomainRegistrationLeaseSchema>\n\n/**\n * Identity function for DomainRegistrationLease payload\n */\nexport const isDomainRegistrationLease = isPayloadOfSchemaType<DomainRegistrationLease>(DomainRegistrationLeaseSchema)\n\n/**\n * Identity function for DomainRegistrationLease payload with sources\n */\nexport const isDomainRegistrationLeaseSources = isPayloadOfSchemaTypeWithSources<DomainRegistrationLease>(DomainRegistrationLeaseSchema)\n\n/**\n * Identity function for DomainRegistrationLease payload with meta\n */\nexport const isDomainRegistrationLeaseMeta = isPayloadOfSchemaTypeWithMeta<DomainRegistrationLease>(DomainRegistrationLeaseSchema)\n","import { BoundWitness } from '@xyo-network/boundwitness-model'\nimport { BoundWitnessValidator } from '@xyo-network/boundwitness-validator'\n\n// BW Validations\nexport const validateBoundWitness = async (recordBw: BoundWitness, requiredSchemas: string[] = []): Promise<boolean> => {\n // If the BW does not include all of the required schemas\n if (!requiredSchemas.every((requiredSchema) => recordBw.payload_schemas.includes(requiredSchema))) return false\n // If the BW is valid (does not include any errors)\n const validator = new BoundWitnessValidator(recordBw)\n const errors = await validator.validate()\n return errors.length === 0\n}\n","import { BoundWitness } from '@xyo-network/boundwitness-model'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { Payload } from '@xyo-network/payload-model'\n\nimport { DurationFields } from '../Duration.js'\n\n// BW & Record Validations\nexport const validateBoundWitnessAndDuration = async (recordBw: BoundWitness, recordPayload: Payload<DurationFields>): Promise<boolean> => {\n if (!(await recordIsInBoundWitness(recordBw, recordPayload))) return false\n if (!recordIsTemporallyValidToBoundWitness(recordBw, recordPayload)) return false\n return true\n}\n\nconst recordIsInBoundWitness = async (recordBw: BoundWitness, recordPayload: Payload): Promise<boolean> => {\n const hash = await PayloadBuilder.dataHash(recordPayload)\n return recordBw.payload_hashes.includes(hash)\n}\n\nconst recordIsTemporallyValidToBoundWitness = (recordBw: BoundWitness, recordPayload: Payload<DurationFields>): boolean => {\n const { timestamp } = recordBw\n const { exp } = recordPayload\n return exp > timestamp\n}\n","// import { isAddress } from '@xylabs/hex'\nimport { Payload } from '@xyo-network/payload-model'\n\nimport { DurationFields } from '../Duration.js'\n\n// Record Validations\nexport const validateDuration = (recordPayload: Payload<DurationFields>): boolean => {\n // if (!isValidAddress(recordPayload)) return false\n if (!isWithinDelegatedTimeframe(recordPayload)) return false\n return true\n}\n\n// const isValidAddress = (recordPayload: Payload<DomainLeaseFields>): boolean => {\n// return isAddress(recordPayload.nameserver, { prefix: false })\n// }\n\nconst isWithinDelegatedTimeframe = (recordPayload: Payload<DurationFields>, now = Date.now()): boolean => {\n // nbf < now < exp\n return recordPayload.nbf < now && now < recordPayload.exp\n}\n","import { BoundWitness } from '@xyo-network/boundwitness-model'\nimport { Payload } from '@xyo-network/payload-model'\n\nimport { DurationFields } from '../Duration.js'\nimport { validateBoundWitness } from './validateBoundWitness.js'\nimport { validateBoundWitnessAndDuration } from './validateBoundWitnessAndDuration.js'\nimport { validateDuration } from './validateDuration.js'\n\nexport const validateBoundWitnessWithDuration = async (recordBw: BoundWitness, recordPayload: Payload<DurationFields>): Promise<boolean> => {\n // Validate the BW\n if (!(await validateBoundWitness(recordBw, [recordPayload.schema]))) return false\n // Validate the record\n if (!validateDuration(recordPayload)) return false\n // Validate the record relative to the BW\n if (!(await validateBoundWitnessAndDuration(recordBw, recordPayload))) return false\n return true\n}\n"],"mappings":"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","names":["import_payload_model","import_payload_model","import_payload_model","import_payload_model","import_payload_model"]}
1
+ {"version":3,"sources":["../../src/index.ts","../../src/Address/Payload.ts","../../src/diviner/DomainLeaseEstimateDiviner/Schema.ts","../../src/diviner/DomainLeaseEstimateDiviner/ErrorDetails/ErrorCodes.ts","../../src/diviner/DomainLeaseEstimateDiviner/ErrorDetails/Payload.ts","../../src/Domain/Domain.ts","../../src/Domain/DomainLease.ts","../../src/DomainRegistration/DomainRegistration.ts","../../src/DomainRegistration/DomainRegistrationLease.ts","../../src/Duration/validation/validateBoundWitness.ts","../../src/Duration/validation/validateBoundWitnessAndDuration.ts","../../src/Duration/validation/validateDuration.ts","../../src/Duration/validation/validateBoundWitnessWithDuration.ts"],"sourcesContent":["export * from './Address/index.js'\nexport * from './diviner/index.js'\nexport * from './Domain/index.js'\nexport * from './DomainRegistration/index.js'\nexport * from './Duration/index.js'\n","import { Address } from '@xylabs/hex'\nimport { isPayloadOfSchemaType, Payload, WithMeta } from '@xyo-network/payload-model'\n\nimport { DomainFields } from '../Domain/index.js'\n\nexport type AddressRecordSchema = 'network.xyo.ns.record.address'\nexport const AddressRecordSchema: AddressRecordSchema = 'network.xyo.ns.record.address'\n\nexport interface AddressRecordFields extends DomainFields {\n /**\n * The address the record points to\n */\n address: Address[]\n}\n\n/**\n * An address record points a domain to an address\n */\nexport type AddressRecord = Payload<AddressRecordFields, AddressRecordSchema>\n\nexport const isAddressRecord = isPayloadOfSchemaType<AddressRecord>(AddressRecordSchema)\nexport const isAddressRecordWithMeta = isPayloadOfSchemaType<WithMeta<AddressRecord>>(AddressRecordSchema)\n","export const DomainLeaseEstimateDivinerValidationErrorDetailsSchema =\n 'network.xyo.diviner.ns.domain.registration.lease.estimate.validation.error.details' as const\n\nexport type DomainLeaseEstimateDivinerValidationErrorDetailsSchema = typeof DomainLeaseEstimateDivinerValidationErrorDetailsSchema\n","import { DomainLeaseEstimateDivinerValidationErrorDetailsSchema } from '../Schema.js'\nimport { DomainLeaseEstimateDivinerValidationErrorDetails, ErrorDetailsDictionary } from './Payload.js'\n\n// export type DomainLeaseEstimateDivinerErrorDetailsDictionaryErrorCode = keyof typeof DomainLeaseEstimateDivinerErrorDetailsDictionary\nexport type DomainLeaseEstimateDivinerErrorDetailsDictionaryErrorCode = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8\n\nexport const DomainLeaseEstimateDivinerErrorDetailsDictionary: Readonly<\n Readonly<Record<DomainLeaseEstimateDivinerErrorDetailsDictionaryErrorCode, DomainLeaseEstimateDivinerValidationErrorDetails>> &\n ErrorDetailsDictionary\n> = {\n 0: { code: '0', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Success' },\n 1: { code: '1', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Invalid casing' },\n 2: { code: '2', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Invalid coin signature' },\n 3: { code: '3', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Invalid length' },\n 4: { code: '4', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Invalid name' },\n 5: { code: '5', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Reserved fragment' },\n 6: { code: '6', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Reserved name' },\n 7: { code: '7', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Reserved string' },\n 8: { code: '8', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Invalid TLD' },\n} as const\n","import { isPayloadOfSchemaType, isPayloadOfSchemaTypeWithMeta, isPayloadOfSchemaTypeWithSources, Payload } from '@xyo-network/payload-model'\n\nimport { DomainLeaseEstimateDivinerValidationErrorDetailsSchema } from '../Schema.js'\n\nexport interface ErrorDetails<TErrorCode extends string | undefined = string | undefined> {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n [key: string]: any // Index signature for any other additional properties\n /**\n * A string code indicating the error type.\n */\n code: TErrorCode\n /**\n * A human-readable explanation specific to this occurrence of the problem\n */\n detail?: string\n /**\n * A short, human-readable summary of the problem type.\n */\n title?: string\n}\n\nexport type ErrorDetailsDictionary<T extends number = number> = {\n readonly [K in T]: ErrorDetails<`${K}`>\n}\n\n/**\n * A payment authorization token payload\n */\nexport type DomainLeaseEstimateDivinerValidationErrorDetails<TErrorCode extends string | undefined = string> = Payload<\n ErrorDetails<TErrorCode>,\n DomainLeaseEstimateDivinerValidationErrorDetailsSchema\n>\n\n/**\n * Identity function for DomainLeaseEstimateDivinerValidationErrorDetails payload\n */\nexport const isDomainLeaseEstimateDivinerValidationErrorDetails = isPayloadOfSchemaType<DomainLeaseEstimateDivinerValidationErrorDetails>(\n DomainLeaseEstimateDivinerValidationErrorDetailsSchema,\n)\n\n/**\n * Identity function for DomainLeaseEstimateDivinerValidationErrorDetails payload with sources\n */\nexport const isDomainLeaseEstimateDivinerValidationErrorDetailsWithSources =\n isPayloadOfSchemaTypeWithSources<DomainLeaseEstimateDivinerValidationErrorDetails>(DomainLeaseEstimateDivinerValidationErrorDetailsSchema)\n\n/**\n * Identity function for DomainLeaseEstimateDivinerValidationErrorDetails payload with meta\n */\nexport const isDomainLeaseEstimateDivinerValidationErrorDetailsWithMeta =\n isPayloadOfSchemaTypeWithMeta<DomainLeaseEstimateDivinerValidationErrorDetails>(DomainLeaseEstimateDivinerValidationErrorDetailsSchema)\n","import { isPayloadOfSchemaType, isPayloadOfSchemaTypeWithMeta, isPayloadOfSchemaTypeWithSources, Payload } from '@xyo-network/payload-model'\n\nexport type DomainSchema = 'network.xyo.ns.domain'\nexport const DomainSchema: DomainSchema = 'network.xyo.ns.domain'\n\n/**\n * The supported TLDs for XNS\n */\nexport type TopLevelDomain = 'xyo'\n\n/**\n * The fields for a domain record\n */\nexport interface DomainFields {\n /**\n * The XNS domain of the record\n */\n domain: string\n\n /**\n * The Top-Level Domain of the domain\n */\n tld: TopLevelDomain\n}\n\n/**\n * A domain record is a record of a domain\n */\nexport type Domain = Payload<DomainFields, DomainSchema>\n\n/**\n * Identity function for Domain payload\n */\nexport const isDomain = isPayloadOfSchemaType<Domain>(DomainSchema)\n\n/**\n * Identity function for Domain payload with sources\n */\nexport const isDomainWithSources = isPayloadOfSchemaTypeWithSources<Domain>(DomainSchema)\n\n/**\n * Identity function for Domain payload with meta\n */\nexport const isDomainWithMeta = isPayloadOfSchemaTypeWithMeta<Domain>(DomainSchema)\n","import { isPayloadOfSchemaType, isPayloadOfSchemaTypeWithMeta, isPayloadOfSchemaTypeWithSources, Payload } from '@xyo-network/payload-model'\n\nimport { DurationFields } from '../Duration/index.js'\nimport { DomainFields } from './Domain.js'\n\nexport type DomainLeaseSchema = 'network.xyo.ns.domain.lease'\nexport const DomainLeaseSchema: DomainLeaseSchema = 'network.xyo.ns.domain.lease'\n\n/**\n * A domain is leased for a duration\n */\nexport interface DomainLeaseFields extends DomainFields, DurationFields {}\n\n/**\n * A domain lease is a record of a domain and the duration it is leased for\n */\nexport type DomainLease = Payload<DomainLeaseFields, DomainLeaseSchema>\n\n/**\n * Identity function for DomainLease payload\n */\nexport const isDomainLease = isPayloadOfSchemaType<DomainLease>(DomainLeaseSchema)\n\n/**\n * Identity function for DomainLease payload with sources\n */\nexport const isDomainLeaseWithSources = isPayloadOfSchemaTypeWithSources<DomainLease>(DomainLeaseSchema)\n\n/**\n * Identity function for DomainLease payload with meta\n */\nexport const isDomainLeaseWithMeta = isPayloadOfSchemaTypeWithMeta<DomainLease>(DomainLeaseSchema)\n","import { Address } from '@xylabs/hex'\nimport { isPayloadOfSchemaType, isPayloadOfSchemaTypeWithMeta, isPayloadOfSchemaTypeWithSources, Payload } from '@xyo-network/payload-model'\n\nimport { DomainFields, DomainSchema } from '../Domain/index.js'\n\nexport const DomainRegistrationSchema = `${DomainSchema}.registration` as const\nexport type DomainRegistrationSchema = typeof DomainRegistrationSchema\n\nexport interface DomainRegistrationFields extends DomainFields {\n /**\n * The registrant of the domain\n */\n registrant: Address[]\n /**\n * The registrar of the domain\n */\n registrar: Address[]\n}\n\n/**\n * Delegation of a domain to a registrar by a registrant\n */\nexport type DomainRegistration = Payload<DomainRegistrationFields, DomainRegistrationSchema>\n\n/**\n * Identity function for DomainRegistration payload\n */\nexport const isDomainRegistration = isPayloadOfSchemaType<DomainRegistration>(DomainRegistrationSchema)\n\n/**\n * Identity function for DomainRegistration payload with sources\n */\nexport const isDomainRegistrationWithSources = isPayloadOfSchemaTypeWithSources<DomainRegistration>(DomainRegistrationSchema)\n\n/**\n * Identity function for DomainRegistration payload with meta\n */\nexport const isDomainRegistrationWithMeta = isPayloadOfSchemaTypeWithMeta<DomainRegistration>(DomainRegistrationSchema)\n","import { isPayloadOfSchemaType, isPayloadOfSchemaTypeWithMeta, isPayloadOfSchemaTypeWithSources, Payload } from '@xyo-network/payload-model'\n\nimport { DurationFields } from '../Duration/index.js'\nimport { DomainRegistrationFields, DomainRegistrationSchema } from './DomainRegistration.js'\n\nexport const DomainRegistrationLeaseSchema = `${DomainRegistrationSchema}.lease` as const\nexport type DomainRegistrationLeaseSchema = typeof DomainRegistrationLeaseSchema\n\nexport interface DomainRegistrationLeaseFields extends DomainRegistrationFields, DurationFields {}\n\n/**\n * Temporal delegation of a domain to a registrar by a registrant\n */\nexport type DomainRegistrationLease = Payload<DomainRegistrationLeaseFields, DomainRegistrationLeaseSchema>\n\n/**\n * Identity function for DomainRegistrationLease payload\n */\nexport const isDomainRegistrationLease = isPayloadOfSchemaType<DomainRegistrationLease>(DomainRegistrationLeaseSchema)\n\n/**\n * Identity function for DomainRegistrationLease payload with sources\n */\nexport const isDomainRegistrationLeaseWithSources = isPayloadOfSchemaTypeWithSources<DomainRegistrationLease>(DomainRegistrationLeaseSchema)\n/**\n * @deprecated Use isDomainRegistrationLeaseWithSources instead\n */\nexport const isDomainRegistrationLeaseSources = isDomainRegistrationLeaseWithSources\n\n/**\n * Identity function for DomainRegistrationLease payload with meta\n */\nexport const isDomainRegistrationLeaseWithMeta = isPayloadOfSchemaTypeWithMeta<DomainRegistrationLease>(DomainRegistrationLeaseSchema)\n/**\n * @deprecated Use isDomainRegistrationLeaseWithMeta instead\n */\nexport const isDomainRegistrationLeaseMeta = isDomainRegistrationLeaseWithMeta\n","import { BoundWitness } from '@xyo-network/boundwitness-model'\nimport { BoundWitnessValidator } from '@xyo-network/boundwitness-validator'\n\n// BW Validations\nexport const validateBoundWitness = async (recordBw: BoundWitness, requiredSchemas: string[] = []): Promise<boolean> => {\n // If the BW does not include all of the required schemas\n if (!requiredSchemas.every((requiredSchema) => recordBw.payload_schemas.includes(requiredSchema))) return false\n // If the BW is valid (does not include any errors)\n const validator = new BoundWitnessValidator(recordBw)\n const errors = await validator.validate()\n return errors.length === 0\n}\n","import { BoundWitness } from '@xyo-network/boundwitness-model'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { Payload } from '@xyo-network/payload-model'\n\nimport { DurationFields } from '../Duration.js'\n\n// BW & Record Validations\nexport const validateBoundWitnessAndDuration = async (recordBw: BoundWitness, recordPayload: Payload<DurationFields>): Promise<boolean> => {\n if (!(await recordIsInBoundWitness(recordBw, recordPayload))) return false\n if (!recordIsTemporallyValidToBoundWitness(recordBw, recordPayload)) return false\n return true\n}\n\nconst recordIsInBoundWitness = async (recordBw: BoundWitness, recordPayload: Payload): Promise<boolean> => {\n const hash = await PayloadBuilder.dataHash(recordPayload)\n return recordBw.payload_hashes.includes(hash)\n}\n\nconst recordIsTemporallyValidToBoundWitness = (recordBw: BoundWitness, recordPayload: Payload<DurationFields>): boolean => {\n const { timestamp } = recordBw\n const { exp } = recordPayload\n return exp > timestamp\n}\n","// import { isAddress } from '@xylabs/hex'\nimport { Payload } from '@xyo-network/payload-model'\n\nimport { DurationFields } from '../Duration.js'\n\n// Record Validations\nexport const validateDuration = (recordPayload: Payload<DurationFields>): boolean => {\n // if (!isValidAddress(recordPayload)) return false\n if (!isWithinDelegatedTimeframe(recordPayload)) return false\n return true\n}\n\n// const isValidAddress = (recordPayload: Payload<DomainLeaseFields>): boolean => {\n// return isAddress(recordPayload.nameserver, { prefix: false })\n// }\n\nconst isWithinDelegatedTimeframe = (recordPayload: Payload<DurationFields>, now = Date.now()): boolean => {\n // nbf < now < exp\n return recordPayload.nbf < now && now < recordPayload.exp\n}\n","import { BoundWitness } from '@xyo-network/boundwitness-model'\nimport { Payload } from '@xyo-network/payload-model'\n\nimport { DurationFields } from '../Duration.js'\nimport { validateBoundWitness } from './validateBoundWitness.js'\nimport { validateBoundWitnessAndDuration } from './validateBoundWitnessAndDuration.js'\nimport { validateDuration } from './validateDuration.js'\n\nexport const validateBoundWitnessWithDuration = async (recordBw: BoundWitness, recordPayload: Payload<DurationFields>): Promise<boolean> => {\n // Validate the BW\n if (!(await validateBoundWitness(recordBw, [recordPayload.schema]))) return false\n // Validate the record\n if (!validateDuration(recordPayload)) return false\n // Validate the record relative to the BW\n if (!(await validateBoundWitnessAndDuration(recordBw, recordPayload))) return false\n return true\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACCA,2BAAyD;AAKlD,IAAM,sBAA2C;AAcjD,IAAM,sBAAkB,4CAAqC,mBAAmB;AAChF,IAAM,8BAA0B,4CAA+C,mBAAmB;;;ACrBlG,IAAM,yDACX;;;ACKK,IAAM,mDAGT;AAAA,EACF,GAAG,EAAE,MAAM,KAAK,QAAQ,wDAAwD,OAAO,UAAU;AAAA,EACjG,GAAG,EAAE,MAAM,KAAK,QAAQ,wDAAwD,OAAO,iBAAiB;AAAA,EACxG,GAAG,EAAE,MAAM,KAAK,QAAQ,wDAAwD,OAAO,yBAAyB;AAAA,EAChH,GAAG,EAAE,MAAM,KAAK,QAAQ,wDAAwD,OAAO,iBAAiB;AAAA,EACxG,GAAG,EAAE,MAAM,KAAK,QAAQ,wDAAwD,OAAO,eAAe;AAAA,EACtG,GAAG,EAAE,MAAM,KAAK,QAAQ,wDAAwD,OAAO,oBAAoB;AAAA,EAC3G,GAAG,EAAE,MAAM,KAAK,QAAQ,wDAAwD,OAAO,gBAAgB;AAAA,EACvG,GAAG,EAAE,MAAM,KAAK,QAAQ,wDAAwD,OAAO,kBAAkB;AAAA,EACzG,GAAG,EAAE,MAAM,KAAK,QAAQ,wDAAwD,OAAO,cAAc;AACvG;;;ACnBA,IAAAA,wBAAgH;AAoCzG,IAAM,yDAAqD;AAAA,EAChE;AACF;AAKO,IAAM,oEACX,wDAAmF,sDAAsD;AAKpI,IAAM,iEACX,qDAAgF,sDAAsD;;;AClDxI,IAAAC,wBAAgH;AAGzG,IAAM,eAA6B;AA8BnC,IAAM,eAAW,6CAA8B,YAAY;AAK3D,IAAM,0BAAsB,wDAAyC,YAAY;AAKjF,IAAM,uBAAmB,qDAAsC,YAAY;;;AC3ClF,IAAAC,wBAAgH;AAMzG,IAAM,oBAAuC;AAe7C,IAAM,oBAAgB,6CAAmC,iBAAiB;AAK1E,IAAM,+BAA2B,wDAA8C,iBAAiB;AAKhG,IAAM,4BAAwB,qDAA2C,iBAAiB;;;AC9BjG,IAAAC,wBAAgH;AAIzG,IAAM,2BAA2B,GAAG,YAAY;AAsBhD,IAAM,2BAAuB,6CAA0C,wBAAwB;AAK/F,IAAM,sCAAkC,wDAAqD,wBAAwB;AAKrH,IAAM,mCAA+B,qDAAkD,wBAAwB;;;ACrCtH,IAAAC,wBAAgH;AAKzG,IAAM,gCAAgC,GAAG,wBAAwB;AAajE,IAAM,gCAA4B,6CAA+C,6BAA6B;AAK9G,IAAM,2CAAuC,wDAA0D,6BAA6B;AAIpI,IAAM,mCAAmC;AAKzC,IAAM,wCAAoC,qDAAuD,6BAA6B;AAI9H,IAAM,gCAAgC;;;ACnC7C,oCAAsC;AAG/B,IAAM,uBAAuB,OAAO,UAAwB,kBAA4B,CAAC,MAAwB;AAEtH,MAAI,CAAC,gBAAgB,MAAM,CAAC,mBAAmB,SAAS,gBAAgB,SAAS,cAAc,CAAC,EAAG,QAAO;AAE1G,QAAM,YAAY,IAAI,oDAAsB,QAAQ;AACpD,QAAM,SAAS,MAAM,UAAU,SAAS;AACxC,SAAO,OAAO,WAAW;AAC3B;;;ACVA,6BAA+B;AAMxB,IAAM,kCAAkC,OAAO,UAAwB,kBAA6D;AACzI,MAAI,CAAE,MAAM,uBAAuB,UAAU,aAAa,EAAI,QAAO;AACrE,MAAI,CAAC,sCAAsC,UAAU,aAAa,EAAG,QAAO;AAC5E,SAAO;AACT;AAEA,IAAM,yBAAyB,OAAO,UAAwB,kBAA6C;AACzG,QAAM,OAAO,MAAM,sCAAe,SAAS,aAAa;AACxD,SAAO,SAAS,eAAe,SAAS,IAAI;AAC9C;AAEA,IAAM,wCAAwC,CAAC,UAAwB,kBAAoD;AACzH,QAAM,EAAE,UAAU,IAAI;AACtB,QAAM,EAAE,IAAI,IAAI;AAChB,SAAO,MAAM;AACf;;;AChBO,IAAM,mBAAmB,CAAC,kBAAoD;AAEnF,MAAI,CAAC,2BAA2B,aAAa,EAAG,QAAO;AACvD,SAAO;AACT;AAMA,IAAM,6BAA6B,CAAC,eAAwC,MAAM,KAAK,IAAI,MAAe;AAExG,SAAO,cAAc,MAAM,OAAO,MAAM,cAAc;AACxD;;;ACXO,IAAM,mCAAmC,OAAO,UAAwB,kBAA6D;AAE1I,MAAI,CAAE,MAAM,qBAAqB,UAAU,CAAC,cAAc,MAAM,CAAC,EAAI,QAAO;AAE5E,MAAI,CAAC,iBAAiB,aAAa,EAAG,QAAO;AAE7C,MAAI,CAAE,MAAM,gCAAgC,UAAU,aAAa,EAAI,QAAO;AAC9E,SAAO;AACT;","names":["import_payload_model","import_payload_model","import_payload_model","import_payload_model","import_payload_model"]}
@@ -53,8 +53,10 @@ var isDomainRegistrationWithMeta = isPayloadOfSchemaTypeWithMeta4(DomainRegistra
53
53
  import { isPayloadOfSchemaType as isPayloadOfSchemaType6, isPayloadOfSchemaTypeWithMeta as isPayloadOfSchemaTypeWithMeta5, isPayloadOfSchemaTypeWithSources as isPayloadOfSchemaTypeWithSources5 } from "@xyo-network/payload-model";
54
54
  var DomainRegistrationLeaseSchema = `${DomainRegistrationSchema}.lease`;
55
55
  var isDomainRegistrationLease = isPayloadOfSchemaType6(DomainRegistrationLeaseSchema);
56
- var isDomainRegistrationLeaseSources = isPayloadOfSchemaTypeWithSources5(DomainRegistrationLeaseSchema);
57
- var isDomainRegistrationLeaseMeta = isPayloadOfSchemaTypeWithMeta5(DomainRegistrationLeaseSchema);
56
+ var isDomainRegistrationLeaseWithSources = isPayloadOfSchemaTypeWithSources5(DomainRegistrationLeaseSchema);
57
+ var isDomainRegistrationLeaseSources = isDomainRegistrationLeaseWithSources;
58
+ var isDomainRegistrationLeaseWithMeta = isPayloadOfSchemaTypeWithMeta5(DomainRegistrationLeaseSchema);
59
+ var isDomainRegistrationLeaseMeta = isDomainRegistrationLeaseWithMeta;
58
60
 
59
61
  // src/Duration/validation/validateBoundWitness.ts
60
62
  import { BoundWitnessValidator } from "@xyo-network/boundwitness-validator";
@@ -119,6 +121,8 @@ export {
119
121
  isDomainRegistrationLease,
120
122
  isDomainRegistrationLeaseMeta,
121
123
  isDomainRegistrationLeaseSources,
124
+ isDomainRegistrationLeaseWithMeta,
125
+ isDomainRegistrationLeaseWithSources,
122
126
  isDomainRegistrationWithMeta,
123
127
  isDomainRegistrationWithSources,
124
128
  isDomainWithMeta,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Address/Payload.ts","../../src/diviner/DomainLeaseEstimateDiviner/Schema.ts","../../src/diviner/DomainLeaseEstimateDiviner/ErrorDetails/ErrorCodes.ts","../../src/diviner/DomainLeaseEstimateDiviner/ErrorDetails/Payload.ts","../../src/Domain/Domain.ts","../../src/Domain/DomainLease.ts","../../src/DomainRegistration/DomainRegistration.ts","../../src/DomainRegistration/DomainRegistrationLease.ts","../../src/Duration/validation/validateBoundWitness.ts","../../src/Duration/validation/validateBoundWitnessAndDuration.ts","../../src/Duration/validation/validateDuration.ts","../../src/Duration/validation/validateBoundWitnessWithDuration.ts"],"sourcesContent":["import { Address } from '@xylabs/hex'\nimport { isPayloadOfSchemaType, Payload, WithMeta } from '@xyo-network/payload-model'\n\nimport { DomainFields } from '../Domain/index.js'\n\nexport type AddressRecordSchema = 'network.xyo.ns.record.address'\nexport const AddressRecordSchema: AddressRecordSchema = 'network.xyo.ns.record.address'\n\nexport interface AddressRecordFields extends DomainFields {\n /**\n * The address the record points to\n */\n address: Address[]\n}\n\n/**\n * An address record points a domain to an address\n */\nexport type AddressRecord = Payload<AddressRecordFields, AddressRecordSchema>\n\nexport const isAddressRecord = isPayloadOfSchemaType<AddressRecord>(AddressRecordSchema)\nexport const isAddressRecordWithMeta = isPayloadOfSchemaType<WithMeta<AddressRecord>>(AddressRecordSchema)\n","export const DomainLeaseEstimateDivinerValidationErrorDetailsSchema =\n 'network.xyo.diviner.ns.domain.registration.lease.estimate.validation.error.details' as const\n\nexport type DomainLeaseEstimateDivinerValidationErrorDetailsSchema = typeof DomainLeaseEstimateDivinerValidationErrorDetailsSchema\n","import { DomainLeaseEstimateDivinerValidationErrorDetailsSchema } from '../Schema.js'\nimport { DomainLeaseEstimateDivinerValidationErrorDetails, ErrorDetailsDictionary } from './Payload.js'\n\n// export type DomainLeaseEstimateDivinerErrorDetailsDictionaryErrorCode = keyof typeof DomainLeaseEstimateDivinerErrorDetailsDictionary\nexport type DomainLeaseEstimateDivinerErrorDetailsDictionaryErrorCode = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8\n\nexport const DomainLeaseEstimateDivinerErrorDetailsDictionary: Readonly<\n Readonly<Record<DomainLeaseEstimateDivinerErrorDetailsDictionaryErrorCode, DomainLeaseEstimateDivinerValidationErrorDetails>> &\n ErrorDetailsDictionary\n> = {\n 0: { code: '0', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Success' },\n 1: { code: '1', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Invalid casing' },\n 2: { code: '2', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Invalid coin signature' },\n 3: { code: '3', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Invalid length' },\n 4: { code: '4', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Invalid name' },\n 5: { code: '5', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Reserved fragment' },\n 6: { code: '6', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Reserved name' },\n 7: { code: '7', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Reserved string' },\n 8: { code: '8', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Invalid TLD' },\n} as const\n","import { isPayloadOfSchemaType, isPayloadOfSchemaTypeWithMeta, isPayloadOfSchemaTypeWithSources, Payload } from '@xyo-network/payload-model'\n\nimport { DomainLeaseEstimateDivinerValidationErrorDetailsSchema } from '../Schema.js'\n\nexport interface ErrorDetails<TErrorCode extends string | undefined = string | undefined> {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n [key: string]: any // Index signature for any other additional properties\n /**\n * A string code indicating the error type.\n */\n code: TErrorCode\n /**\n * A human-readable explanation specific to this occurrence of the problem\n */\n detail?: string\n /**\n * A short, human-readable summary of the problem type.\n */\n title?: string\n}\n\nexport type ErrorDetailsDictionary<T extends number = number> = {\n readonly [K in T]: ErrorDetails<`${K}`>\n}\n\n/**\n * A payment authorization token payload\n */\nexport type DomainLeaseEstimateDivinerValidationErrorDetails<TErrorCode extends string | undefined = string> = Payload<\n ErrorDetails<TErrorCode>,\n DomainLeaseEstimateDivinerValidationErrorDetailsSchema\n>\n\n/**\n * Identity function for DomainLeaseEstimateDivinerValidationErrorDetails payload\n */\nexport const isDomainLeaseEstimateDivinerValidationErrorDetails = isPayloadOfSchemaType<DomainLeaseEstimateDivinerValidationErrorDetails>(\n DomainLeaseEstimateDivinerValidationErrorDetailsSchema,\n)\n\n/**\n * Identity function for DomainLeaseEstimateDivinerValidationErrorDetails payload with sources\n */\nexport const isDomainLeaseEstimateDivinerValidationErrorDetailsWithSources =\n isPayloadOfSchemaTypeWithSources<DomainLeaseEstimateDivinerValidationErrorDetails>(DomainLeaseEstimateDivinerValidationErrorDetailsSchema)\n\n/**\n * Identity function for DomainLeaseEstimateDivinerValidationErrorDetails payload with meta\n */\nexport const isDomainLeaseEstimateDivinerValidationErrorDetailsWithMeta =\n isPayloadOfSchemaTypeWithMeta<DomainLeaseEstimateDivinerValidationErrorDetails>(DomainLeaseEstimateDivinerValidationErrorDetailsSchema)\n","import { isPayloadOfSchemaType, isPayloadOfSchemaTypeWithMeta, isPayloadOfSchemaTypeWithSources, Payload } from '@xyo-network/payload-model'\n\nexport type DomainSchema = 'network.xyo.ns.domain'\nexport const DomainSchema: DomainSchema = 'network.xyo.ns.domain'\n\n/**\n * The supported TLDs for XNS\n */\nexport type TopLevelDomain = 'xyo'\n\n/**\n * The fields for a domain record\n */\nexport interface DomainFields {\n /**\n * The XNS domain of the record\n */\n domain: string\n\n /**\n * The Top-Level Domain of the domain\n */\n tld: TopLevelDomain\n}\n\n/**\n * A domain record is a record of a domain\n */\nexport type Domain = Payload<DomainFields, DomainSchema>\n\n/**\n * Identity function for Domain payload\n */\nexport const isDomain = isPayloadOfSchemaType<Domain>(DomainSchema)\n\n/**\n * Identity function for Domain payload with sources\n */\nexport const isDomainWithSources = isPayloadOfSchemaTypeWithSources<Domain>(DomainSchema)\n\n/**\n * Identity function for Domain payload with meta\n */\nexport const isDomainWithMeta = isPayloadOfSchemaTypeWithMeta<Domain>(DomainSchema)\n","import { isPayloadOfSchemaType, isPayloadOfSchemaTypeWithMeta, isPayloadOfSchemaTypeWithSources, Payload } from '@xyo-network/payload-model'\n\nimport { DurationFields } from '../Duration/index.js'\nimport { DomainFields } from './Domain.js'\n\nexport type DomainLeaseSchema = 'network.xyo.ns.domain.lease'\nexport const DomainLeaseSchema: DomainLeaseSchema = 'network.xyo.ns.domain.lease'\n\n/**\n * A domain is leased for a duration\n */\nexport interface DomainLeaseFields extends DomainFields, DurationFields {}\n\n/**\n * A domain lease is a record of a domain and the duration it is leased for\n */\nexport type DomainLease = Payload<DomainLeaseFields, DomainLeaseSchema>\n\n/**\n * Identity function for DomainLease payload\n */\nexport const isDomainLease = isPayloadOfSchemaType<DomainLease>(DomainLeaseSchema)\n\n/**\n * Identity function for DomainLease payload with sources\n */\nexport const isDomainLeaseWithSources = isPayloadOfSchemaTypeWithSources<DomainLease>(DomainLeaseSchema)\n\n/**\n * Identity function for DomainLease payload with meta\n */\nexport const isDomainLeaseWithMeta = isPayloadOfSchemaTypeWithMeta<DomainLease>(DomainLeaseSchema)\n","import { Address } from '@xylabs/hex'\nimport { isPayloadOfSchemaType, isPayloadOfSchemaTypeWithMeta, isPayloadOfSchemaTypeWithSources, Payload } from '@xyo-network/payload-model'\n\nimport { DomainFields, DomainSchema } from '../Domain/index.js'\n\nexport const DomainRegistrationSchema = `${DomainSchema}.registration` as const\nexport type DomainRegistrationSchema = typeof DomainRegistrationSchema\n\nexport interface DomainRegistrationFields extends DomainFields {\n /**\n * The registrant of the domain\n */\n registrant: Address[]\n /**\n * The registrar of the domain\n */\n registrar: Address[]\n}\n\n/**\n * Delegation of a domain to a registrar by a registrant\n */\nexport type DomainRegistration = Payload<DomainRegistrationFields, DomainRegistrationSchema>\n\n/**\n * Identity function for DomainRegistration payload\n */\nexport const isDomainRegistration = isPayloadOfSchemaType<DomainRegistration>(DomainRegistrationSchema)\n\n/**\n * Identity function for DomainRegistration payload with sources\n */\nexport const isDomainRegistrationWithSources = isPayloadOfSchemaTypeWithSources<DomainRegistration>(DomainRegistrationSchema)\n\n/**\n * Identity function for DomainRegistration payload with meta\n */\nexport const isDomainRegistrationWithMeta = isPayloadOfSchemaTypeWithMeta<DomainRegistration>(DomainRegistrationSchema)\n","import { isPayloadOfSchemaType, isPayloadOfSchemaTypeWithMeta, isPayloadOfSchemaTypeWithSources, Payload } from '@xyo-network/payload-model'\n\nimport { DurationFields } from '../Duration/index.js'\nimport { DomainRegistrationFields, DomainRegistrationSchema } from './DomainRegistration.js'\n\nexport const DomainRegistrationLeaseSchema = `${DomainRegistrationSchema}.lease` as const\nexport type DomainRegistrationLeaseSchema = typeof DomainRegistrationLeaseSchema\n\nexport interface DomainRegistrationLeaseFields extends DomainRegistrationFields, DurationFields {}\n\n/**\n * Temporal delegation of a domain to a registrar by a registrant\n */\nexport type DomainRegistrationLease = Payload<DomainRegistrationLeaseFields, DomainRegistrationLeaseSchema>\n\n/**\n * Identity function for DomainRegistrationLease payload\n */\nexport const isDomainRegistrationLease = isPayloadOfSchemaType<DomainRegistrationLease>(DomainRegistrationLeaseSchema)\n\n/**\n * Identity function for DomainRegistrationLease payload with sources\n */\nexport const isDomainRegistrationLeaseSources = isPayloadOfSchemaTypeWithSources<DomainRegistrationLease>(DomainRegistrationLeaseSchema)\n\n/**\n * Identity function for DomainRegistrationLease payload with meta\n */\nexport const isDomainRegistrationLeaseMeta = isPayloadOfSchemaTypeWithMeta<DomainRegistrationLease>(DomainRegistrationLeaseSchema)\n","import { BoundWitness } from '@xyo-network/boundwitness-model'\nimport { BoundWitnessValidator } from '@xyo-network/boundwitness-validator'\n\n// BW Validations\nexport const validateBoundWitness = async (recordBw: BoundWitness, requiredSchemas: string[] = []): Promise<boolean> => {\n // If the BW does not include all of the required schemas\n if (!requiredSchemas.every((requiredSchema) => recordBw.payload_schemas.includes(requiredSchema))) return false\n // If the BW is valid (does not include any errors)\n const validator = new BoundWitnessValidator(recordBw)\n const errors = await validator.validate()\n return errors.length === 0\n}\n","import { BoundWitness } from '@xyo-network/boundwitness-model'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { Payload } from '@xyo-network/payload-model'\n\nimport { DurationFields } from '../Duration.js'\n\n// BW & Record Validations\nexport const validateBoundWitnessAndDuration = async (recordBw: BoundWitness, recordPayload: Payload<DurationFields>): Promise<boolean> => {\n if (!(await recordIsInBoundWitness(recordBw, recordPayload))) return false\n if (!recordIsTemporallyValidToBoundWitness(recordBw, recordPayload)) return false\n return true\n}\n\nconst recordIsInBoundWitness = async (recordBw: BoundWitness, recordPayload: Payload): Promise<boolean> => {\n const hash = await PayloadBuilder.dataHash(recordPayload)\n return recordBw.payload_hashes.includes(hash)\n}\n\nconst recordIsTemporallyValidToBoundWitness = (recordBw: BoundWitness, recordPayload: Payload<DurationFields>): boolean => {\n const { timestamp } = recordBw\n const { exp } = recordPayload\n return exp > timestamp\n}\n","// import { isAddress } from '@xylabs/hex'\nimport { Payload } from '@xyo-network/payload-model'\n\nimport { DurationFields } from '../Duration.js'\n\n// Record Validations\nexport const validateDuration = (recordPayload: Payload<DurationFields>): boolean => {\n // if (!isValidAddress(recordPayload)) return false\n if (!isWithinDelegatedTimeframe(recordPayload)) return false\n return true\n}\n\n// const isValidAddress = (recordPayload: Payload<DomainLeaseFields>): boolean => {\n// return isAddress(recordPayload.nameserver, { prefix: false })\n// }\n\nconst isWithinDelegatedTimeframe = (recordPayload: Payload<DurationFields>, now = Date.now()): boolean => {\n // nbf < now < exp\n return recordPayload.nbf < now && now < recordPayload.exp\n}\n","import { BoundWitness } from '@xyo-network/boundwitness-model'\nimport { Payload } from '@xyo-network/payload-model'\n\nimport { DurationFields } from '../Duration.js'\nimport { validateBoundWitness } from './validateBoundWitness.js'\nimport { validateBoundWitnessAndDuration } from './validateBoundWitnessAndDuration.js'\nimport { validateDuration } from './validateDuration.js'\n\nexport const validateBoundWitnessWithDuration = async (recordBw: BoundWitness, recordPayload: Payload<DurationFields>): Promise<boolean> => {\n // Validate the BW\n if (!(await validateBoundWitness(recordBw, [recordPayload.schema]))) return false\n // Validate the record\n if (!validateDuration(recordPayload)) return false\n // Validate the record relative to the BW\n if (!(await validateBoundWitnessAndDuration(recordBw, recordPayload))) return false\n return true\n}\n"],"mappings":"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","names":["isPayloadOfSchemaType","isPayloadOfSchemaType","isPayloadOfSchemaType","isPayloadOfSchemaTypeWithMeta","isPayloadOfSchemaTypeWithSources","isPayloadOfSchemaType","isPayloadOfSchemaTypeWithMeta","isPayloadOfSchemaTypeWithSources","isPayloadOfSchemaType","isPayloadOfSchemaTypeWithMeta","isPayloadOfSchemaTypeWithSources","isPayloadOfSchemaType","isPayloadOfSchemaTypeWithSources","isPayloadOfSchemaTypeWithMeta","isPayloadOfSchemaType","isPayloadOfSchemaTypeWithMeta","isPayloadOfSchemaTypeWithSources","isPayloadOfSchemaType","isPayloadOfSchemaTypeWithSources","isPayloadOfSchemaTypeWithMeta"]}
1
+ {"version":3,"sources":["../../src/Address/Payload.ts","../../src/diviner/DomainLeaseEstimateDiviner/Schema.ts","../../src/diviner/DomainLeaseEstimateDiviner/ErrorDetails/ErrorCodes.ts","../../src/diviner/DomainLeaseEstimateDiviner/ErrorDetails/Payload.ts","../../src/Domain/Domain.ts","../../src/Domain/DomainLease.ts","../../src/DomainRegistration/DomainRegistration.ts","../../src/DomainRegistration/DomainRegistrationLease.ts","../../src/Duration/validation/validateBoundWitness.ts","../../src/Duration/validation/validateBoundWitnessAndDuration.ts","../../src/Duration/validation/validateDuration.ts","../../src/Duration/validation/validateBoundWitnessWithDuration.ts"],"sourcesContent":["import { Address } from '@xylabs/hex'\nimport { isPayloadOfSchemaType, Payload, WithMeta } from '@xyo-network/payload-model'\n\nimport { DomainFields } from '../Domain/index.js'\n\nexport type AddressRecordSchema = 'network.xyo.ns.record.address'\nexport const AddressRecordSchema: AddressRecordSchema = 'network.xyo.ns.record.address'\n\nexport interface AddressRecordFields extends DomainFields {\n /**\n * The address the record points to\n */\n address: Address[]\n}\n\n/**\n * An address record points a domain to an address\n */\nexport type AddressRecord = Payload<AddressRecordFields, AddressRecordSchema>\n\nexport const isAddressRecord = isPayloadOfSchemaType<AddressRecord>(AddressRecordSchema)\nexport const isAddressRecordWithMeta = isPayloadOfSchemaType<WithMeta<AddressRecord>>(AddressRecordSchema)\n","export const DomainLeaseEstimateDivinerValidationErrorDetailsSchema =\n 'network.xyo.diviner.ns.domain.registration.lease.estimate.validation.error.details' as const\n\nexport type DomainLeaseEstimateDivinerValidationErrorDetailsSchema = typeof DomainLeaseEstimateDivinerValidationErrorDetailsSchema\n","import { DomainLeaseEstimateDivinerValidationErrorDetailsSchema } from '../Schema.js'\nimport { DomainLeaseEstimateDivinerValidationErrorDetails, ErrorDetailsDictionary } from './Payload.js'\n\n// export type DomainLeaseEstimateDivinerErrorDetailsDictionaryErrorCode = keyof typeof DomainLeaseEstimateDivinerErrorDetailsDictionary\nexport type DomainLeaseEstimateDivinerErrorDetailsDictionaryErrorCode = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8\n\nexport const DomainLeaseEstimateDivinerErrorDetailsDictionary: Readonly<\n Readonly<Record<DomainLeaseEstimateDivinerErrorDetailsDictionaryErrorCode, DomainLeaseEstimateDivinerValidationErrorDetails>> &\n ErrorDetailsDictionary\n> = {\n 0: { code: '0', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Success' },\n 1: { code: '1', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Invalid casing' },\n 2: { code: '2', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Invalid coin signature' },\n 3: { code: '3', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Invalid length' },\n 4: { code: '4', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Invalid name' },\n 5: { code: '5', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Reserved fragment' },\n 6: { code: '6', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Reserved name' },\n 7: { code: '7', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Reserved string' },\n 8: { code: '8', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Invalid TLD' },\n} as const\n","import { isPayloadOfSchemaType, isPayloadOfSchemaTypeWithMeta, isPayloadOfSchemaTypeWithSources, Payload } from '@xyo-network/payload-model'\n\nimport { DomainLeaseEstimateDivinerValidationErrorDetailsSchema } from '../Schema.js'\n\nexport interface ErrorDetails<TErrorCode extends string | undefined = string | undefined> {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n [key: string]: any // Index signature for any other additional properties\n /**\n * A string code indicating the error type.\n */\n code: TErrorCode\n /**\n * A human-readable explanation specific to this occurrence of the problem\n */\n detail?: string\n /**\n * A short, human-readable summary of the problem type.\n */\n title?: string\n}\n\nexport type ErrorDetailsDictionary<T extends number = number> = {\n readonly [K in T]: ErrorDetails<`${K}`>\n}\n\n/**\n * A payment authorization token payload\n */\nexport type DomainLeaseEstimateDivinerValidationErrorDetails<TErrorCode extends string | undefined = string> = Payload<\n ErrorDetails<TErrorCode>,\n DomainLeaseEstimateDivinerValidationErrorDetailsSchema\n>\n\n/**\n * Identity function for DomainLeaseEstimateDivinerValidationErrorDetails payload\n */\nexport const isDomainLeaseEstimateDivinerValidationErrorDetails = isPayloadOfSchemaType<DomainLeaseEstimateDivinerValidationErrorDetails>(\n DomainLeaseEstimateDivinerValidationErrorDetailsSchema,\n)\n\n/**\n * Identity function for DomainLeaseEstimateDivinerValidationErrorDetails payload with sources\n */\nexport const isDomainLeaseEstimateDivinerValidationErrorDetailsWithSources =\n isPayloadOfSchemaTypeWithSources<DomainLeaseEstimateDivinerValidationErrorDetails>(DomainLeaseEstimateDivinerValidationErrorDetailsSchema)\n\n/**\n * Identity function for DomainLeaseEstimateDivinerValidationErrorDetails payload with meta\n */\nexport const isDomainLeaseEstimateDivinerValidationErrorDetailsWithMeta =\n isPayloadOfSchemaTypeWithMeta<DomainLeaseEstimateDivinerValidationErrorDetails>(DomainLeaseEstimateDivinerValidationErrorDetailsSchema)\n","import { isPayloadOfSchemaType, isPayloadOfSchemaTypeWithMeta, isPayloadOfSchemaTypeWithSources, Payload } from '@xyo-network/payload-model'\n\nexport type DomainSchema = 'network.xyo.ns.domain'\nexport const DomainSchema: DomainSchema = 'network.xyo.ns.domain'\n\n/**\n * The supported TLDs for XNS\n */\nexport type TopLevelDomain = 'xyo'\n\n/**\n * The fields for a domain record\n */\nexport interface DomainFields {\n /**\n * The XNS domain of the record\n */\n domain: string\n\n /**\n * The Top-Level Domain of the domain\n */\n tld: TopLevelDomain\n}\n\n/**\n * A domain record is a record of a domain\n */\nexport type Domain = Payload<DomainFields, DomainSchema>\n\n/**\n * Identity function for Domain payload\n */\nexport const isDomain = isPayloadOfSchemaType<Domain>(DomainSchema)\n\n/**\n * Identity function for Domain payload with sources\n */\nexport const isDomainWithSources = isPayloadOfSchemaTypeWithSources<Domain>(DomainSchema)\n\n/**\n * Identity function for Domain payload with meta\n */\nexport const isDomainWithMeta = isPayloadOfSchemaTypeWithMeta<Domain>(DomainSchema)\n","import { isPayloadOfSchemaType, isPayloadOfSchemaTypeWithMeta, isPayloadOfSchemaTypeWithSources, Payload } from '@xyo-network/payload-model'\n\nimport { DurationFields } from '../Duration/index.js'\nimport { DomainFields } from './Domain.js'\n\nexport type DomainLeaseSchema = 'network.xyo.ns.domain.lease'\nexport const DomainLeaseSchema: DomainLeaseSchema = 'network.xyo.ns.domain.lease'\n\n/**\n * A domain is leased for a duration\n */\nexport interface DomainLeaseFields extends DomainFields, DurationFields {}\n\n/**\n * A domain lease is a record of a domain and the duration it is leased for\n */\nexport type DomainLease = Payload<DomainLeaseFields, DomainLeaseSchema>\n\n/**\n * Identity function for DomainLease payload\n */\nexport const isDomainLease = isPayloadOfSchemaType<DomainLease>(DomainLeaseSchema)\n\n/**\n * Identity function for DomainLease payload with sources\n */\nexport const isDomainLeaseWithSources = isPayloadOfSchemaTypeWithSources<DomainLease>(DomainLeaseSchema)\n\n/**\n * Identity function for DomainLease payload with meta\n */\nexport const isDomainLeaseWithMeta = isPayloadOfSchemaTypeWithMeta<DomainLease>(DomainLeaseSchema)\n","import { Address } from '@xylabs/hex'\nimport { isPayloadOfSchemaType, isPayloadOfSchemaTypeWithMeta, isPayloadOfSchemaTypeWithSources, Payload } from '@xyo-network/payload-model'\n\nimport { DomainFields, DomainSchema } from '../Domain/index.js'\n\nexport const DomainRegistrationSchema = `${DomainSchema}.registration` as const\nexport type DomainRegistrationSchema = typeof DomainRegistrationSchema\n\nexport interface DomainRegistrationFields extends DomainFields {\n /**\n * The registrant of the domain\n */\n registrant: Address[]\n /**\n * The registrar of the domain\n */\n registrar: Address[]\n}\n\n/**\n * Delegation of a domain to a registrar by a registrant\n */\nexport type DomainRegistration = Payload<DomainRegistrationFields, DomainRegistrationSchema>\n\n/**\n * Identity function for DomainRegistration payload\n */\nexport const isDomainRegistration = isPayloadOfSchemaType<DomainRegistration>(DomainRegistrationSchema)\n\n/**\n * Identity function for DomainRegistration payload with sources\n */\nexport const isDomainRegistrationWithSources = isPayloadOfSchemaTypeWithSources<DomainRegistration>(DomainRegistrationSchema)\n\n/**\n * Identity function for DomainRegistration payload with meta\n */\nexport const isDomainRegistrationWithMeta = isPayloadOfSchemaTypeWithMeta<DomainRegistration>(DomainRegistrationSchema)\n","import { isPayloadOfSchemaType, isPayloadOfSchemaTypeWithMeta, isPayloadOfSchemaTypeWithSources, Payload } from '@xyo-network/payload-model'\n\nimport { DurationFields } from '../Duration/index.js'\nimport { DomainRegistrationFields, DomainRegistrationSchema } from './DomainRegistration.js'\n\nexport const DomainRegistrationLeaseSchema = `${DomainRegistrationSchema}.lease` as const\nexport type DomainRegistrationLeaseSchema = typeof DomainRegistrationLeaseSchema\n\nexport interface DomainRegistrationLeaseFields extends DomainRegistrationFields, DurationFields {}\n\n/**\n * Temporal delegation of a domain to a registrar by a registrant\n */\nexport type DomainRegistrationLease = Payload<DomainRegistrationLeaseFields, DomainRegistrationLeaseSchema>\n\n/**\n * Identity function for DomainRegistrationLease payload\n */\nexport const isDomainRegistrationLease = isPayloadOfSchemaType<DomainRegistrationLease>(DomainRegistrationLeaseSchema)\n\n/**\n * Identity function for DomainRegistrationLease payload with sources\n */\nexport const isDomainRegistrationLeaseWithSources = isPayloadOfSchemaTypeWithSources<DomainRegistrationLease>(DomainRegistrationLeaseSchema)\n/**\n * @deprecated Use isDomainRegistrationLeaseWithSources instead\n */\nexport const isDomainRegistrationLeaseSources = isDomainRegistrationLeaseWithSources\n\n/**\n * Identity function for DomainRegistrationLease payload with meta\n */\nexport const isDomainRegistrationLeaseWithMeta = isPayloadOfSchemaTypeWithMeta<DomainRegistrationLease>(DomainRegistrationLeaseSchema)\n/**\n * @deprecated Use isDomainRegistrationLeaseWithMeta instead\n */\nexport const isDomainRegistrationLeaseMeta = isDomainRegistrationLeaseWithMeta\n","import { BoundWitness } from '@xyo-network/boundwitness-model'\nimport { BoundWitnessValidator } from '@xyo-network/boundwitness-validator'\n\n// BW Validations\nexport const validateBoundWitness = async (recordBw: BoundWitness, requiredSchemas: string[] = []): Promise<boolean> => {\n // If the BW does not include all of the required schemas\n if (!requiredSchemas.every((requiredSchema) => recordBw.payload_schemas.includes(requiredSchema))) return false\n // If the BW is valid (does not include any errors)\n const validator = new BoundWitnessValidator(recordBw)\n const errors = await validator.validate()\n return errors.length === 0\n}\n","import { BoundWitness } from '@xyo-network/boundwitness-model'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { Payload } from '@xyo-network/payload-model'\n\nimport { DurationFields } from '../Duration.js'\n\n// BW & Record Validations\nexport const validateBoundWitnessAndDuration = async (recordBw: BoundWitness, recordPayload: Payload<DurationFields>): Promise<boolean> => {\n if (!(await recordIsInBoundWitness(recordBw, recordPayload))) return false\n if (!recordIsTemporallyValidToBoundWitness(recordBw, recordPayload)) return false\n return true\n}\n\nconst recordIsInBoundWitness = async (recordBw: BoundWitness, recordPayload: Payload): Promise<boolean> => {\n const hash = await PayloadBuilder.dataHash(recordPayload)\n return recordBw.payload_hashes.includes(hash)\n}\n\nconst recordIsTemporallyValidToBoundWitness = (recordBw: BoundWitness, recordPayload: Payload<DurationFields>): boolean => {\n const { timestamp } = recordBw\n const { exp } = recordPayload\n return exp > timestamp\n}\n","// import { isAddress } from '@xylabs/hex'\nimport { Payload } from '@xyo-network/payload-model'\n\nimport { DurationFields } from '../Duration.js'\n\n// Record Validations\nexport const validateDuration = (recordPayload: Payload<DurationFields>): boolean => {\n // if (!isValidAddress(recordPayload)) return false\n if (!isWithinDelegatedTimeframe(recordPayload)) return false\n return true\n}\n\n// const isValidAddress = (recordPayload: Payload<DomainLeaseFields>): boolean => {\n// return isAddress(recordPayload.nameserver, { prefix: false })\n// }\n\nconst isWithinDelegatedTimeframe = (recordPayload: Payload<DurationFields>, now = Date.now()): boolean => {\n // nbf < now < exp\n return recordPayload.nbf < now && now < recordPayload.exp\n}\n","import { BoundWitness } from '@xyo-network/boundwitness-model'\nimport { Payload } from '@xyo-network/payload-model'\n\nimport { DurationFields } from '../Duration.js'\nimport { validateBoundWitness } from './validateBoundWitness.js'\nimport { validateBoundWitnessAndDuration } from './validateBoundWitnessAndDuration.js'\nimport { validateDuration } from './validateDuration.js'\n\nexport const validateBoundWitnessWithDuration = async (recordBw: BoundWitness, recordPayload: Payload<DurationFields>): Promise<boolean> => {\n // Validate the BW\n if (!(await validateBoundWitness(recordBw, [recordPayload.schema]))) return false\n // Validate the record\n if (!validateDuration(recordPayload)) return false\n // Validate the record relative to the BW\n if (!(await validateBoundWitnessAndDuration(recordBw, recordPayload))) return false\n return true\n}\n"],"mappings":"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","names":["isPayloadOfSchemaType","isPayloadOfSchemaType","isPayloadOfSchemaType","isPayloadOfSchemaTypeWithMeta","isPayloadOfSchemaTypeWithSources","isPayloadOfSchemaType","isPayloadOfSchemaTypeWithMeta","isPayloadOfSchemaTypeWithSources","isPayloadOfSchemaType","isPayloadOfSchemaTypeWithMeta","isPayloadOfSchemaTypeWithSources","isPayloadOfSchemaType","isPayloadOfSchemaTypeWithSources","isPayloadOfSchemaTypeWithMeta","isPayloadOfSchemaType","isPayloadOfSchemaTypeWithMeta","isPayloadOfSchemaTypeWithSources","isPayloadOfSchemaType","isPayloadOfSchemaTypeWithSources","isPayloadOfSchemaTypeWithMeta"]}
@@ -9,9 +9,15 @@ export type DomainRegistrationLease = Payload<DomainRegistrationLeaseFields, Dom
9
9
  export declare const isDomainRegistrationLease: (x?: unknown | null) => x is import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & DomainRegistrationLeaseFields & {
10
10
  schema: "network.xyo.ns.domain.registration.lease";
11
11
  };
12
+ export declare const isDomainRegistrationLeaseWithSources: (x?: unknown | null) => x is import("@xyo-network/payload-model").WithSources<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & DomainRegistrationLeaseFields & {
13
+ schema: "network.xyo.ns.domain.registration.lease";
14
+ }>;
12
15
  export declare const isDomainRegistrationLeaseSources: (x?: unknown | null) => x is import("@xyo-network/payload-model").WithSources<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & DomainRegistrationLeaseFields & {
13
16
  schema: "network.xyo.ns.domain.registration.lease";
14
17
  }>;
18
+ export declare const isDomainRegistrationLeaseWithMeta: (x?: unknown | null) => x is import("@xyo-network/payload-model").WithMeta<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & DomainRegistrationLeaseFields & {
19
+ schema: "network.xyo.ns.domain.registration.lease";
20
+ }>;
15
21
  export declare const isDomainRegistrationLeaseMeta: (x?: unknown | null) => x is import("@xyo-network/payload-model").WithMeta<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & DomainRegistrationLeaseFields & {
16
22
  schema: "network.xyo.ns.domain.registration.lease";
17
23
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"DomainRegistrationLease.d.ts","sourceRoot":"","sources":["../../../src/DomainRegistration/DomainRegistrationLease.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0F,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAE5I,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,wBAAwB,EAA4B,MAAM,yBAAyB,CAAA;AAE5F,eAAO,MAAM,6BAA6B,4CAA+C,CAAA;AACzF,MAAM,MAAM,6BAA6B,GAAG,OAAO,6BAA6B,CAAA;AAEhF,MAAM,WAAW,6BAA8B,SAAQ,wBAAwB,EAAE,cAAc;CAAG;AAKlG,MAAM,MAAM,uBAAuB,GAAG,OAAO,CAAC,6BAA6B,EAAE,6BAA6B,CAAC,CAAA;AAK3G,eAAO,MAAM,yBAAyB;;CAAgF,CAAA;AAKtH,eAAO,MAAM,gCAAgC;;EAA2F,CAAA;AAKxI,eAAO,MAAM,6BAA6B;;EAAwF,CAAA"}
1
+ {"version":3,"file":"DomainRegistrationLease.d.ts","sourceRoot":"","sources":["../../../src/DomainRegistration/DomainRegistrationLease.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0F,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAE5I,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,wBAAwB,EAA4B,MAAM,yBAAyB,CAAA;AAE5F,eAAO,MAAM,6BAA6B,4CAA+C,CAAA;AACzF,MAAM,MAAM,6BAA6B,GAAG,OAAO,6BAA6B,CAAA;AAEhF,MAAM,WAAW,6BAA8B,SAAQ,wBAAwB,EAAE,cAAc;CAAG;AAKlG,MAAM,MAAM,uBAAuB,GAAG,OAAO,CAAC,6BAA6B,EAAE,6BAA6B,CAAC,CAAA;AAK3G,eAAO,MAAM,yBAAyB;;CAAgF,CAAA;AAKtH,eAAO,MAAM,oCAAoC;;EAA2F,CAAA;AAI5I,eAAO,MAAM,gCAAgC;;EAAuC,CAAA;AAKpF,eAAO,MAAM,iCAAiC;;EAAwF,CAAA;AAItI,eAAO,MAAM,6BAA6B;;EAAoC,CAAA"}
@@ -9,9 +9,15 @@ export type DomainRegistrationLease = Payload<DomainRegistrationLeaseFields, Dom
9
9
  export declare const isDomainRegistrationLease: (x?: unknown | null) => x is import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & DomainRegistrationLeaseFields & {
10
10
  schema: "network.xyo.ns.domain.registration.lease";
11
11
  };
12
+ export declare const isDomainRegistrationLeaseWithSources: (x?: unknown | null) => x is import("@xyo-network/payload-model").WithSources<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & DomainRegistrationLeaseFields & {
13
+ schema: "network.xyo.ns.domain.registration.lease";
14
+ }>;
12
15
  export declare const isDomainRegistrationLeaseSources: (x?: unknown | null) => x is import("@xyo-network/payload-model").WithSources<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & DomainRegistrationLeaseFields & {
13
16
  schema: "network.xyo.ns.domain.registration.lease";
14
17
  }>;
18
+ export declare const isDomainRegistrationLeaseWithMeta: (x?: unknown | null) => x is import("@xyo-network/payload-model").WithMeta<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & DomainRegistrationLeaseFields & {
19
+ schema: "network.xyo.ns.domain.registration.lease";
20
+ }>;
15
21
  export declare const isDomainRegistrationLeaseMeta: (x?: unknown | null) => x is import("@xyo-network/payload-model").WithMeta<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & DomainRegistrationLeaseFields & {
16
22
  schema: "network.xyo.ns.domain.registration.lease";
17
23
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"DomainRegistrationLease.d.ts","sourceRoot":"","sources":["../../../src/DomainRegistration/DomainRegistrationLease.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0F,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAE5I,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,wBAAwB,EAA4B,MAAM,yBAAyB,CAAA;AAE5F,eAAO,MAAM,6BAA6B,4CAA+C,CAAA;AACzF,MAAM,MAAM,6BAA6B,GAAG,OAAO,6BAA6B,CAAA;AAEhF,MAAM,WAAW,6BAA8B,SAAQ,wBAAwB,EAAE,cAAc;CAAG;AAKlG,MAAM,MAAM,uBAAuB,GAAG,OAAO,CAAC,6BAA6B,EAAE,6BAA6B,CAAC,CAAA;AAK3G,eAAO,MAAM,yBAAyB;;CAAgF,CAAA;AAKtH,eAAO,MAAM,gCAAgC;;EAA2F,CAAA;AAKxI,eAAO,MAAM,6BAA6B;;EAAwF,CAAA"}
1
+ {"version":3,"file":"DomainRegistrationLease.d.ts","sourceRoot":"","sources":["../../../src/DomainRegistration/DomainRegistrationLease.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0F,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAE5I,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,wBAAwB,EAA4B,MAAM,yBAAyB,CAAA;AAE5F,eAAO,MAAM,6BAA6B,4CAA+C,CAAA;AACzF,MAAM,MAAM,6BAA6B,GAAG,OAAO,6BAA6B,CAAA;AAEhF,MAAM,WAAW,6BAA8B,SAAQ,wBAAwB,EAAE,cAAc;CAAG;AAKlG,MAAM,MAAM,uBAAuB,GAAG,OAAO,CAAC,6BAA6B,EAAE,6BAA6B,CAAC,CAAA;AAK3G,eAAO,MAAM,yBAAyB;;CAAgF,CAAA;AAKtH,eAAO,MAAM,oCAAoC;;EAA2F,CAAA;AAI5I,eAAO,MAAM,gCAAgC;;EAAuC,CAAA;AAKpF,eAAO,MAAM,iCAAiC;;EAAwF,CAAA;AAItI,eAAO,MAAM,6BAA6B;;EAAoC,CAAA"}
@@ -9,9 +9,15 @@ export type DomainRegistrationLease = Payload<DomainRegistrationLeaseFields, Dom
9
9
  export declare const isDomainRegistrationLease: (x?: unknown | null) => x is import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & DomainRegistrationLeaseFields & {
10
10
  schema: "network.xyo.ns.domain.registration.lease";
11
11
  };
12
+ export declare const isDomainRegistrationLeaseWithSources: (x?: unknown | null) => x is import("@xyo-network/payload-model").WithSources<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & DomainRegistrationLeaseFields & {
13
+ schema: "network.xyo.ns.domain.registration.lease";
14
+ }>;
12
15
  export declare const isDomainRegistrationLeaseSources: (x?: unknown | null) => x is import("@xyo-network/payload-model").WithSources<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & DomainRegistrationLeaseFields & {
13
16
  schema: "network.xyo.ns.domain.registration.lease";
14
17
  }>;
18
+ export declare const isDomainRegistrationLeaseWithMeta: (x?: unknown | null) => x is import("@xyo-network/payload-model").WithMeta<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & DomainRegistrationLeaseFields & {
19
+ schema: "network.xyo.ns.domain.registration.lease";
20
+ }>;
15
21
  export declare const isDomainRegistrationLeaseMeta: (x?: unknown | null) => x is import("@xyo-network/payload-model").WithMeta<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & DomainRegistrationLeaseFields & {
16
22
  schema: "network.xyo.ns.domain.registration.lease";
17
23
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"DomainRegistrationLease.d.ts","sourceRoot":"","sources":["../../../src/DomainRegistration/DomainRegistrationLease.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0F,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAE5I,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,wBAAwB,EAA4B,MAAM,yBAAyB,CAAA;AAE5F,eAAO,MAAM,6BAA6B,4CAA+C,CAAA;AACzF,MAAM,MAAM,6BAA6B,GAAG,OAAO,6BAA6B,CAAA;AAEhF,MAAM,WAAW,6BAA8B,SAAQ,wBAAwB,EAAE,cAAc;CAAG;AAKlG,MAAM,MAAM,uBAAuB,GAAG,OAAO,CAAC,6BAA6B,EAAE,6BAA6B,CAAC,CAAA;AAK3G,eAAO,MAAM,yBAAyB;;CAAgF,CAAA;AAKtH,eAAO,MAAM,gCAAgC;;EAA2F,CAAA;AAKxI,eAAO,MAAM,6BAA6B;;EAAwF,CAAA"}
1
+ {"version":3,"file":"DomainRegistrationLease.d.ts","sourceRoot":"","sources":["../../../src/DomainRegistration/DomainRegistrationLease.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0F,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAE5I,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,wBAAwB,EAA4B,MAAM,yBAAyB,CAAA;AAE5F,eAAO,MAAM,6BAA6B,4CAA+C,CAAA;AACzF,MAAM,MAAM,6BAA6B,GAAG,OAAO,6BAA6B,CAAA;AAEhF,MAAM,WAAW,6BAA8B,SAAQ,wBAAwB,EAAE,cAAc;CAAG;AAKlG,MAAM,MAAM,uBAAuB,GAAG,OAAO,CAAC,6BAA6B,EAAE,6BAA6B,CAAC,CAAA;AAK3G,eAAO,MAAM,yBAAyB;;CAAgF,CAAA;AAKtH,eAAO,MAAM,oCAAoC;;EAA2F,CAAA;AAI5I,eAAO,MAAM,gCAAgC;;EAAuC,CAAA;AAKpF,eAAO,MAAM,iCAAiC;;EAAwF,CAAA;AAItI,eAAO,MAAM,6BAA6B;;EAAoC,CAAA"}
@@ -40,6 +40,8 @@ __export(src_exports, {
40
40
  isDomainRegistrationLease: () => isDomainRegistrationLease,
41
41
  isDomainRegistrationLeaseMeta: () => isDomainRegistrationLeaseMeta,
42
42
  isDomainRegistrationLeaseSources: () => isDomainRegistrationLeaseSources,
43
+ isDomainRegistrationLeaseWithMeta: () => isDomainRegistrationLeaseWithMeta,
44
+ isDomainRegistrationLeaseWithSources: () => isDomainRegistrationLeaseWithSources,
43
45
  isDomainRegistrationWithMeta: () => isDomainRegistrationWithMeta,
44
46
  isDomainRegistrationWithSources: () => isDomainRegistrationWithSources,
45
47
  isDomainWithMeta: () => isDomainWithMeta,
@@ -104,8 +106,10 @@ var isDomainRegistrationWithMeta = (0, import_payload_model5.isPayloadOfSchemaTy
104
106
  var import_payload_model6 = require("@xyo-network/payload-model");
105
107
  var DomainRegistrationLeaseSchema = `${DomainRegistrationSchema}.lease`;
106
108
  var isDomainRegistrationLease = (0, import_payload_model6.isPayloadOfSchemaType)(DomainRegistrationLeaseSchema);
107
- var isDomainRegistrationLeaseSources = (0, import_payload_model6.isPayloadOfSchemaTypeWithSources)(DomainRegistrationLeaseSchema);
108
- var isDomainRegistrationLeaseMeta = (0, import_payload_model6.isPayloadOfSchemaTypeWithMeta)(DomainRegistrationLeaseSchema);
109
+ var isDomainRegistrationLeaseWithSources = (0, import_payload_model6.isPayloadOfSchemaTypeWithSources)(DomainRegistrationLeaseSchema);
110
+ var isDomainRegistrationLeaseSources = isDomainRegistrationLeaseWithSources;
111
+ var isDomainRegistrationLeaseWithMeta = (0, import_payload_model6.isPayloadOfSchemaTypeWithMeta)(DomainRegistrationLeaseSchema);
112
+ var isDomainRegistrationLeaseMeta = isDomainRegistrationLeaseWithMeta;
109
113
 
110
114
  // src/Duration/validation/validateBoundWitness.ts
111
115
  var import_boundwitness_validator = require("@xyo-network/boundwitness-validator");
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts","../../src/Address/Payload.ts","../../src/diviner/DomainLeaseEstimateDiviner/Schema.ts","../../src/diviner/DomainLeaseEstimateDiviner/ErrorDetails/ErrorCodes.ts","../../src/diviner/DomainLeaseEstimateDiviner/ErrorDetails/Payload.ts","../../src/Domain/Domain.ts","../../src/Domain/DomainLease.ts","../../src/DomainRegistration/DomainRegistration.ts","../../src/DomainRegistration/DomainRegistrationLease.ts","../../src/Duration/validation/validateBoundWitness.ts","../../src/Duration/validation/validateBoundWitnessAndDuration.ts","../../src/Duration/validation/validateDuration.ts","../../src/Duration/validation/validateBoundWitnessWithDuration.ts"],"sourcesContent":["export * from './Address/index.js'\nexport * from './diviner/index.js'\nexport * from './Domain/index.js'\nexport * from './DomainRegistration/index.js'\nexport * from './Duration/index.js'\n","import { Address } from '@xylabs/hex'\nimport { isPayloadOfSchemaType, Payload, WithMeta } from '@xyo-network/payload-model'\n\nimport { DomainFields } from '../Domain/index.js'\n\nexport type AddressRecordSchema = 'network.xyo.ns.record.address'\nexport const AddressRecordSchema: AddressRecordSchema = 'network.xyo.ns.record.address'\n\nexport interface AddressRecordFields extends DomainFields {\n /**\n * The address the record points to\n */\n address: Address[]\n}\n\n/**\n * An address record points a domain to an address\n */\nexport type AddressRecord = Payload<AddressRecordFields, AddressRecordSchema>\n\nexport const isAddressRecord = isPayloadOfSchemaType<AddressRecord>(AddressRecordSchema)\nexport const isAddressRecordWithMeta = isPayloadOfSchemaType<WithMeta<AddressRecord>>(AddressRecordSchema)\n","export const DomainLeaseEstimateDivinerValidationErrorDetailsSchema =\n 'network.xyo.diviner.ns.domain.registration.lease.estimate.validation.error.details' as const\n\nexport type DomainLeaseEstimateDivinerValidationErrorDetailsSchema = typeof DomainLeaseEstimateDivinerValidationErrorDetailsSchema\n","import { DomainLeaseEstimateDivinerValidationErrorDetailsSchema } from '../Schema.js'\nimport { DomainLeaseEstimateDivinerValidationErrorDetails, ErrorDetailsDictionary } from './Payload.js'\n\n// export type DomainLeaseEstimateDivinerErrorDetailsDictionaryErrorCode = keyof typeof DomainLeaseEstimateDivinerErrorDetailsDictionary\nexport type DomainLeaseEstimateDivinerErrorDetailsDictionaryErrorCode = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8\n\nexport const DomainLeaseEstimateDivinerErrorDetailsDictionary: Readonly<\n Readonly<Record<DomainLeaseEstimateDivinerErrorDetailsDictionaryErrorCode, DomainLeaseEstimateDivinerValidationErrorDetails>> &\n ErrorDetailsDictionary\n> = {\n 0: { code: '0', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Success' },\n 1: { code: '1', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Invalid casing' },\n 2: { code: '2', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Invalid coin signature' },\n 3: { code: '3', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Invalid length' },\n 4: { code: '4', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Invalid name' },\n 5: { code: '5', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Reserved fragment' },\n 6: { code: '6', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Reserved name' },\n 7: { code: '7', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Reserved string' },\n 8: { code: '8', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Invalid TLD' },\n} as const\n","import { isPayloadOfSchemaType, isPayloadOfSchemaTypeWithMeta, isPayloadOfSchemaTypeWithSources, Payload } from '@xyo-network/payload-model'\n\nimport { DomainLeaseEstimateDivinerValidationErrorDetailsSchema } from '../Schema.js'\n\nexport interface ErrorDetails<TErrorCode extends string | undefined = string | undefined> {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n [key: string]: any // Index signature for any other additional properties\n /**\n * A string code indicating the error type.\n */\n code: TErrorCode\n /**\n * A human-readable explanation specific to this occurrence of the problem\n */\n detail?: string\n /**\n * A short, human-readable summary of the problem type.\n */\n title?: string\n}\n\nexport type ErrorDetailsDictionary<T extends number = number> = {\n readonly [K in T]: ErrorDetails<`${K}`>\n}\n\n/**\n * A payment authorization token payload\n */\nexport type DomainLeaseEstimateDivinerValidationErrorDetails<TErrorCode extends string | undefined = string> = Payload<\n ErrorDetails<TErrorCode>,\n DomainLeaseEstimateDivinerValidationErrorDetailsSchema\n>\n\n/**\n * Identity function for DomainLeaseEstimateDivinerValidationErrorDetails payload\n */\nexport const isDomainLeaseEstimateDivinerValidationErrorDetails = isPayloadOfSchemaType<DomainLeaseEstimateDivinerValidationErrorDetails>(\n DomainLeaseEstimateDivinerValidationErrorDetailsSchema,\n)\n\n/**\n * Identity function for DomainLeaseEstimateDivinerValidationErrorDetails payload with sources\n */\nexport const isDomainLeaseEstimateDivinerValidationErrorDetailsWithSources =\n isPayloadOfSchemaTypeWithSources<DomainLeaseEstimateDivinerValidationErrorDetails>(DomainLeaseEstimateDivinerValidationErrorDetailsSchema)\n\n/**\n * Identity function for DomainLeaseEstimateDivinerValidationErrorDetails payload with meta\n */\nexport const isDomainLeaseEstimateDivinerValidationErrorDetailsWithMeta =\n isPayloadOfSchemaTypeWithMeta<DomainLeaseEstimateDivinerValidationErrorDetails>(DomainLeaseEstimateDivinerValidationErrorDetailsSchema)\n","import { isPayloadOfSchemaType, isPayloadOfSchemaTypeWithMeta, isPayloadOfSchemaTypeWithSources, Payload } from '@xyo-network/payload-model'\n\nexport type DomainSchema = 'network.xyo.ns.domain'\nexport const DomainSchema: DomainSchema = 'network.xyo.ns.domain'\n\n/**\n * The supported TLDs for XNS\n */\nexport type TopLevelDomain = 'xyo'\n\n/**\n * The fields for a domain record\n */\nexport interface DomainFields {\n /**\n * The XNS domain of the record\n */\n domain: string\n\n /**\n * The Top-Level Domain of the domain\n */\n tld: TopLevelDomain\n}\n\n/**\n * A domain record is a record of a domain\n */\nexport type Domain = Payload<DomainFields, DomainSchema>\n\n/**\n * Identity function for Domain payload\n */\nexport const isDomain = isPayloadOfSchemaType<Domain>(DomainSchema)\n\n/**\n * Identity function for Domain payload with sources\n */\nexport const isDomainWithSources = isPayloadOfSchemaTypeWithSources<Domain>(DomainSchema)\n\n/**\n * Identity function for Domain payload with meta\n */\nexport const isDomainWithMeta = isPayloadOfSchemaTypeWithMeta<Domain>(DomainSchema)\n","import { isPayloadOfSchemaType, isPayloadOfSchemaTypeWithMeta, isPayloadOfSchemaTypeWithSources, Payload } from '@xyo-network/payload-model'\n\nimport { DurationFields } from '../Duration/index.js'\nimport { DomainFields } from './Domain.js'\n\nexport type DomainLeaseSchema = 'network.xyo.ns.domain.lease'\nexport const DomainLeaseSchema: DomainLeaseSchema = 'network.xyo.ns.domain.lease'\n\n/**\n * A domain is leased for a duration\n */\nexport interface DomainLeaseFields extends DomainFields, DurationFields {}\n\n/**\n * A domain lease is a record of a domain and the duration it is leased for\n */\nexport type DomainLease = Payload<DomainLeaseFields, DomainLeaseSchema>\n\n/**\n * Identity function for DomainLease payload\n */\nexport const isDomainLease = isPayloadOfSchemaType<DomainLease>(DomainLeaseSchema)\n\n/**\n * Identity function for DomainLease payload with sources\n */\nexport const isDomainLeaseWithSources = isPayloadOfSchemaTypeWithSources<DomainLease>(DomainLeaseSchema)\n\n/**\n * Identity function for DomainLease payload with meta\n */\nexport const isDomainLeaseWithMeta = isPayloadOfSchemaTypeWithMeta<DomainLease>(DomainLeaseSchema)\n","import { Address } from '@xylabs/hex'\nimport { isPayloadOfSchemaType, isPayloadOfSchemaTypeWithMeta, isPayloadOfSchemaTypeWithSources, Payload } from '@xyo-network/payload-model'\n\nimport { DomainFields, DomainSchema } from '../Domain/index.js'\n\nexport const DomainRegistrationSchema = `${DomainSchema}.registration` as const\nexport type DomainRegistrationSchema = typeof DomainRegistrationSchema\n\nexport interface DomainRegistrationFields extends DomainFields {\n /**\n * The registrant of the domain\n */\n registrant: Address[]\n /**\n * The registrar of the domain\n */\n registrar: Address[]\n}\n\n/**\n * Delegation of a domain to a registrar by a registrant\n */\nexport type DomainRegistration = Payload<DomainRegistrationFields, DomainRegistrationSchema>\n\n/**\n * Identity function for DomainRegistration payload\n */\nexport const isDomainRegistration = isPayloadOfSchemaType<DomainRegistration>(DomainRegistrationSchema)\n\n/**\n * Identity function for DomainRegistration payload with sources\n */\nexport const isDomainRegistrationWithSources = isPayloadOfSchemaTypeWithSources<DomainRegistration>(DomainRegistrationSchema)\n\n/**\n * Identity function for DomainRegistration payload with meta\n */\nexport const isDomainRegistrationWithMeta = isPayloadOfSchemaTypeWithMeta<DomainRegistration>(DomainRegistrationSchema)\n","import { isPayloadOfSchemaType, isPayloadOfSchemaTypeWithMeta, isPayloadOfSchemaTypeWithSources, Payload } from '@xyo-network/payload-model'\n\nimport { DurationFields } from '../Duration/index.js'\nimport { DomainRegistrationFields, DomainRegistrationSchema } from './DomainRegistration.js'\n\nexport const DomainRegistrationLeaseSchema = `${DomainRegistrationSchema}.lease` as const\nexport type DomainRegistrationLeaseSchema = typeof DomainRegistrationLeaseSchema\n\nexport interface DomainRegistrationLeaseFields extends DomainRegistrationFields, DurationFields {}\n\n/**\n * Temporal delegation of a domain to a registrar by a registrant\n */\nexport type DomainRegistrationLease = Payload<DomainRegistrationLeaseFields, DomainRegistrationLeaseSchema>\n\n/**\n * Identity function for DomainRegistrationLease payload\n */\nexport const isDomainRegistrationLease = isPayloadOfSchemaType<DomainRegistrationLease>(DomainRegistrationLeaseSchema)\n\n/**\n * Identity function for DomainRegistrationLease payload with sources\n */\nexport const isDomainRegistrationLeaseSources = isPayloadOfSchemaTypeWithSources<DomainRegistrationLease>(DomainRegistrationLeaseSchema)\n\n/**\n * Identity function for DomainRegistrationLease payload with meta\n */\nexport const isDomainRegistrationLeaseMeta = isPayloadOfSchemaTypeWithMeta<DomainRegistrationLease>(DomainRegistrationLeaseSchema)\n","import { BoundWitness } from '@xyo-network/boundwitness-model'\nimport { BoundWitnessValidator } from '@xyo-network/boundwitness-validator'\n\n// BW Validations\nexport const validateBoundWitness = async (recordBw: BoundWitness, requiredSchemas: string[] = []): Promise<boolean> => {\n // If the BW does not include all of the required schemas\n if (!requiredSchemas.every((requiredSchema) => recordBw.payload_schemas.includes(requiredSchema))) return false\n // If the BW is valid (does not include any errors)\n const validator = new BoundWitnessValidator(recordBw)\n const errors = await validator.validate()\n return errors.length === 0\n}\n","import { BoundWitness } from '@xyo-network/boundwitness-model'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { Payload } from '@xyo-network/payload-model'\n\nimport { DurationFields } from '../Duration.js'\n\n// BW & Record Validations\nexport const validateBoundWitnessAndDuration = async (recordBw: BoundWitness, recordPayload: Payload<DurationFields>): Promise<boolean> => {\n if (!(await recordIsInBoundWitness(recordBw, recordPayload))) return false\n if (!recordIsTemporallyValidToBoundWitness(recordBw, recordPayload)) return false\n return true\n}\n\nconst recordIsInBoundWitness = async (recordBw: BoundWitness, recordPayload: Payload): Promise<boolean> => {\n const hash = await PayloadBuilder.dataHash(recordPayload)\n return recordBw.payload_hashes.includes(hash)\n}\n\nconst recordIsTemporallyValidToBoundWitness = (recordBw: BoundWitness, recordPayload: Payload<DurationFields>): boolean => {\n const { timestamp } = recordBw\n const { exp } = recordPayload\n return exp > timestamp\n}\n","// import { isAddress } from '@xylabs/hex'\nimport { Payload } from '@xyo-network/payload-model'\n\nimport { DurationFields } from '../Duration.js'\n\n// Record Validations\nexport const validateDuration = (recordPayload: Payload<DurationFields>): boolean => {\n // if (!isValidAddress(recordPayload)) return false\n if (!isWithinDelegatedTimeframe(recordPayload)) return false\n return true\n}\n\n// const isValidAddress = (recordPayload: Payload<DomainLeaseFields>): boolean => {\n// return isAddress(recordPayload.nameserver, { prefix: false })\n// }\n\nconst isWithinDelegatedTimeframe = (recordPayload: Payload<DurationFields>, now = Date.now()): boolean => {\n // nbf < now < exp\n return recordPayload.nbf < now && now < recordPayload.exp\n}\n","import { BoundWitness } from '@xyo-network/boundwitness-model'\nimport { Payload } from '@xyo-network/payload-model'\n\nimport { DurationFields } from '../Duration.js'\nimport { validateBoundWitness } from './validateBoundWitness.js'\nimport { validateBoundWitnessAndDuration } from './validateBoundWitnessAndDuration.js'\nimport { validateDuration } from './validateDuration.js'\n\nexport const validateBoundWitnessWithDuration = async (recordBw: BoundWitness, recordPayload: Payload<DurationFields>): Promise<boolean> => {\n // Validate the BW\n if (!(await validateBoundWitness(recordBw, [recordPayload.schema]))) return false\n // Validate the record\n if (!validateDuration(recordPayload)) return false\n // Validate the record relative to the BW\n if (!(await validateBoundWitnessAndDuration(recordBw, recordPayload))) return false\n return true\n}\n"],"mappings":"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","names":["import_payload_model","import_payload_model","import_payload_model","import_payload_model","import_payload_model"]}
1
+ {"version":3,"sources":["../../src/index.ts","../../src/Address/Payload.ts","../../src/diviner/DomainLeaseEstimateDiviner/Schema.ts","../../src/diviner/DomainLeaseEstimateDiviner/ErrorDetails/ErrorCodes.ts","../../src/diviner/DomainLeaseEstimateDiviner/ErrorDetails/Payload.ts","../../src/Domain/Domain.ts","../../src/Domain/DomainLease.ts","../../src/DomainRegistration/DomainRegistration.ts","../../src/DomainRegistration/DomainRegistrationLease.ts","../../src/Duration/validation/validateBoundWitness.ts","../../src/Duration/validation/validateBoundWitnessAndDuration.ts","../../src/Duration/validation/validateDuration.ts","../../src/Duration/validation/validateBoundWitnessWithDuration.ts"],"sourcesContent":["export * from './Address/index.js'\nexport * from './diviner/index.js'\nexport * from './Domain/index.js'\nexport * from './DomainRegistration/index.js'\nexport * from './Duration/index.js'\n","import { Address } from '@xylabs/hex'\nimport { isPayloadOfSchemaType, Payload, WithMeta } from '@xyo-network/payload-model'\n\nimport { DomainFields } from '../Domain/index.js'\n\nexport type AddressRecordSchema = 'network.xyo.ns.record.address'\nexport const AddressRecordSchema: AddressRecordSchema = 'network.xyo.ns.record.address'\n\nexport interface AddressRecordFields extends DomainFields {\n /**\n * The address the record points to\n */\n address: Address[]\n}\n\n/**\n * An address record points a domain to an address\n */\nexport type AddressRecord = Payload<AddressRecordFields, AddressRecordSchema>\n\nexport const isAddressRecord = isPayloadOfSchemaType<AddressRecord>(AddressRecordSchema)\nexport const isAddressRecordWithMeta = isPayloadOfSchemaType<WithMeta<AddressRecord>>(AddressRecordSchema)\n","export const DomainLeaseEstimateDivinerValidationErrorDetailsSchema =\n 'network.xyo.diviner.ns.domain.registration.lease.estimate.validation.error.details' as const\n\nexport type DomainLeaseEstimateDivinerValidationErrorDetailsSchema = typeof DomainLeaseEstimateDivinerValidationErrorDetailsSchema\n","import { DomainLeaseEstimateDivinerValidationErrorDetailsSchema } from '../Schema.js'\nimport { DomainLeaseEstimateDivinerValidationErrorDetails, ErrorDetailsDictionary } from './Payload.js'\n\n// export type DomainLeaseEstimateDivinerErrorDetailsDictionaryErrorCode = keyof typeof DomainLeaseEstimateDivinerErrorDetailsDictionary\nexport type DomainLeaseEstimateDivinerErrorDetailsDictionaryErrorCode = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8\n\nexport const DomainLeaseEstimateDivinerErrorDetailsDictionary: Readonly<\n Readonly<Record<DomainLeaseEstimateDivinerErrorDetailsDictionaryErrorCode, DomainLeaseEstimateDivinerValidationErrorDetails>> &\n ErrorDetailsDictionary\n> = {\n 0: { code: '0', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Success' },\n 1: { code: '1', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Invalid casing' },\n 2: { code: '2', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Invalid coin signature' },\n 3: { code: '3', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Invalid length' },\n 4: { code: '4', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Invalid name' },\n 5: { code: '5', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Reserved fragment' },\n 6: { code: '6', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Reserved name' },\n 7: { code: '7', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Reserved string' },\n 8: { code: '8', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Invalid TLD' },\n} as const\n","import { isPayloadOfSchemaType, isPayloadOfSchemaTypeWithMeta, isPayloadOfSchemaTypeWithSources, Payload } from '@xyo-network/payload-model'\n\nimport { DomainLeaseEstimateDivinerValidationErrorDetailsSchema } from '../Schema.js'\n\nexport interface ErrorDetails<TErrorCode extends string | undefined = string | undefined> {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n [key: string]: any // Index signature for any other additional properties\n /**\n * A string code indicating the error type.\n */\n code: TErrorCode\n /**\n * A human-readable explanation specific to this occurrence of the problem\n */\n detail?: string\n /**\n * A short, human-readable summary of the problem type.\n */\n title?: string\n}\n\nexport type ErrorDetailsDictionary<T extends number = number> = {\n readonly [K in T]: ErrorDetails<`${K}`>\n}\n\n/**\n * A payment authorization token payload\n */\nexport type DomainLeaseEstimateDivinerValidationErrorDetails<TErrorCode extends string | undefined = string> = Payload<\n ErrorDetails<TErrorCode>,\n DomainLeaseEstimateDivinerValidationErrorDetailsSchema\n>\n\n/**\n * Identity function for DomainLeaseEstimateDivinerValidationErrorDetails payload\n */\nexport const isDomainLeaseEstimateDivinerValidationErrorDetails = isPayloadOfSchemaType<DomainLeaseEstimateDivinerValidationErrorDetails>(\n DomainLeaseEstimateDivinerValidationErrorDetailsSchema,\n)\n\n/**\n * Identity function for DomainLeaseEstimateDivinerValidationErrorDetails payload with sources\n */\nexport const isDomainLeaseEstimateDivinerValidationErrorDetailsWithSources =\n isPayloadOfSchemaTypeWithSources<DomainLeaseEstimateDivinerValidationErrorDetails>(DomainLeaseEstimateDivinerValidationErrorDetailsSchema)\n\n/**\n * Identity function for DomainLeaseEstimateDivinerValidationErrorDetails payload with meta\n */\nexport const isDomainLeaseEstimateDivinerValidationErrorDetailsWithMeta =\n isPayloadOfSchemaTypeWithMeta<DomainLeaseEstimateDivinerValidationErrorDetails>(DomainLeaseEstimateDivinerValidationErrorDetailsSchema)\n","import { isPayloadOfSchemaType, isPayloadOfSchemaTypeWithMeta, isPayloadOfSchemaTypeWithSources, Payload } from '@xyo-network/payload-model'\n\nexport type DomainSchema = 'network.xyo.ns.domain'\nexport const DomainSchema: DomainSchema = 'network.xyo.ns.domain'\n\n/**\n * The supported TLDs for XNS\n */\nexport type TopLevelDomain = 'xyo'\n\n/**\n * The fields for a domain record\n */\nexport interface DomainFields {\n /**\n * The XNS domain of the record\n */\n domain: string\n\n /**\n * The Top-Level Domain of the domain\n */\n tld: TopLevelDomain\n}\n\n/**\n * A domain record is a record of a domain\n */\nexport type Domain = Payload<DomainFields, DomainSchema>\n\n/**\n * Identity function for Domain payload\n */\nexport const isDomain = isPayloadOfSchemaType<Domain>(DomainSchema)\n\n/**\n * Identity function for Domain payload with sources\n */\nexport const isDomainWithSources = isPayloadOfSchemaTypeWithSources<Domain>(DomainSchema)\n\n/**\n * Identity function for Domain payload with meta\n */\nexport const isDomainWithMeta = isPayloadOfSchemaTypeWithMeta<Domain>(DomainSchema)\n","import { isPayloadOfSchemaType, isPayloadOfSchemaTypeWithMeta, isPayloadOfSchemaTypeWithSources, Payload } from '@xyo-network/payload-model'\n\nimport { DurationFields } from '../Duration/index.js'\nimport { DomainFields } from './Domain.js'\n\nexport type DomainLeaseSchema = 'network.xyo.ns.domain.lease'\nexport const DomainLeaseSchema: DomainLeaseSchema = 'network.xyo.ns.domain.lease'\n\n/**\n * A domain is leased for a duration\n */\nexport interface DomainLeaseFields extends DomainFields, DurationFields {}\n\n/**\n * A domain lease is a record of a domain and the duration it is leased for\n */\nexport type DomainLease = Payload<DomainLeaseFields, DomainLeaseSchema>\n\n/**\n * Identity function for DomainLease payload\n */\nexport const isDomainLease = isPayloadOfSchemaType<DomainLease>(DomainLeaseSchema)\n\n/**\n * Identity function for DomainLease payload with sources\n */\nexport const isDomainLeaseWithSources = isPayloadOfSchemaTypeWithSources<DomainLease>(DomainLeaseSchema)\n\n/**\n * Identity function for DomainLease payload with meta\n */\nexport const isDomainLeaseWithMeta = isPayloadOfSchemaTypeWithMeta<DomainLease>(DomainLeaseSchema)\n","import { Address } from '@xylabs/hex'\nimport { isPayloadOfSchemaType, isPayloadOfSchemaTypeWithMeta, isPayloadOfSchemaTypeWithSources, Payload } from '@xyo-network/payload-model'\n\nimport { DomainFields, DomainSchema } from '../Domain/index.js'\n\nexport const DomainRegistrationSchema = `${DomainSchema}.registration` as const\nexport type DomainRegistrationSchema = typeof DomainRegistrationSchema\n\nexport interface DomainRegistrationFields extends DomainFields {\n /**\n * The registrant of the domain\n */\n registrant: Address[]\n /**\n * The registrar of the domain\n */\n registrar: Address[]\n}\n\n/**\n * Delegation of a domain to a registrar by a registrant\n */\nexport type DomainRegistration = Payload<DomainRegistrationFields, DomainRegistrationSchema>\n\n/**\n * Identity function for DomainRegistration payload\n */\nexport const isDomainRegistration = isPayloadOfSchemaType<DomainRegistration>(DomainRegistrationSchema)\n\n/**\n * Identity function for DomainRegistration payload with sources\n */\nexport const isDomainRegistrationWithSources = isPayloadOfSchemaTypeWithSources<DomainRegistration>(DomainRegistrationSchema)\n\n/**\n * Identity function for DomainRegistration payload with meta\n */\nexport const isDomainRegistrationWithMeta = isPayloadOfSchemaTypeWithMeta<DomainRegistration>(DomainRegistrationSchema)\n","import { isPayloadOfSchemaType, isPayloadOfSchemaTypeWithMeta, isPayloadOfSchemaTypeWithSources, Payload } from '@xyo-network/payload-model'\n\nimport { DurationFields } from '../Duration/index.js'\nimport { DomainRegistrationFields, DomainRegistrationSchema } from './DomainRegistration.js'\n\nexport const DomainRegistrationLeaseSchema = `${DomainRegistrationSchema}.lease` as const\nexport type DomainRegistrationLeaseSchema = typeof DomainRegistrationLeaseSchema\n\nexport interface DomainRegistrationLeaseFields extends DomainRegistrationFields, DurationFields {}\n\n/**\n * Temporal delegation of a domain to a registrar by a registrant\n */\nexport type DomainRegistrationLease = Payload<DomainRegistrationLeaseFields, DomainRegistrationLeaseSchema>\n\n/**\n * Identity function for DomainRegistrationLease payload\n */\nexport const isDomainRegistrationLease = isPayloadOfSchemaType<DomainRegistrationLease>(DomainRegistrationLeaseSchema)\n\n/**\n * Identity function for DomainRegistrationLease payload with sources\n */\nexport const isDomainRegistrationLeaseWithSources = isPayloadOfSchemaTypeWithSources<DomainRegistrationLease>(DomainRegistrationLeaseSchema)\n/**\n * @deprecated Use isDomainRegistrationLeaseWithSources instead\n */\nexport const isDomainRegistrationLeaseSources = isDomainRegistrationLeaseWithSources\n\n/**\n * Identity function for DomainRegistrationLease payload with meta\n */\nexport const isDomainRegistrationLeaseWithMeta = isPayloadOfSchemaTypeWithMeta<DomainRegistrationLease>(DomainRegistrationLeaseSchema)\n/**\n * @deprecated Use isDomainRegistrationLeaseWithMeta instead\n */\nexport const isDomainRegistrationLeaseMeta = isDomainRegistrationLeaseWithMeta\n","import { BoundWitness } from '@xyo-network/boundwitness-model'\nimport { BoundWitnessValidator } from '@xyo-network/boundwitness-validator'\n\n// BW Validations\nexport const validateBoundWitness = async (recordBw: BoundWitness, requiredSchemas: string[] = []): Promise<boolean> => {\n // If the BW does not include all of the required schemas\n if (!requiredSchemas.every((requiredSchema) => recordBw.payload_schemas.includes(requiredSchema))) return false\n // If the BW is valid (does not include any errors)\n const validator = new BoundWitnessValidator(recordBw)\n const errors = await validator.validate()\n return errors.length === 0\n}\n","import { BoundWitness } from '@xyo-network/boundwitness-model'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { Payload } from '@xyo-network/payload-model'\n\nimport { DurationFields } from '../Duration.js'\n\n// BW & Record Validations\nexport const validateBoundWitnessAndDuration = async (recordBw: BoundWitness, recordPayload: Payload<DurationFields>): Promise<boolean> => {\n if (!(await recordIsInBoundWitness(recordBw, recordPayload))) return false\n if (!recordIsTemporallyValidToBoundWitness(recordBw, recordPayload)) return false\n return true\n}\n\nconst recordIsInBoundWitness = async (recordBw: BoundWitness, recordPayload: Payload): Promise<boolean> => {\n const hash = await PayloadBuilder.dataHash(recordPayload)\n return recordBw.payload_hashes.includes(hash)\n}\n\nconst recordIsTemporallyValidToBoundWitness = (recordBw: BoundWitness, recordPayload: Payload<DurationFields>): boolean => {\n const { timestamp } = recordBw\n const { exp } = recordPayload\n return exp > timestamp\n}\n","// import { isAddress } from '@xylabs/hex'\nimport { Payload } from '@xyo-network/payload-model'\n\nimport { DurationFields } from '../Duration.js'\n\n// Record Validations\nexport const validateDuration = (recordPayload: Payload<DurationFields>): boolean => {\n // if (!isValidAddress(recordPayload)) return false\n if (!isWithinDelegatedTimeframe(recordPayload)) return false\n return true\n}\n\n// const isValidAddress = (recordPayload: Payload<DomainLeaseFields>): boolean => {\n// return isAddress(recordPayload.nameserver, { prefix: false })\n// }\n\nconst isWithinDelegatedTimeframe = (recordPayload: Payload<DurationFields>, now = Date.now()): boolean => {\n // nbf < now < exp\n return recordPayload.nbf < now && now < recordPayload.exp\n}\n","import { BoundWitness } from '@xyo-network/boundwitness-model'\nimport { Payload } from '@xyo-network/payload-model'\n\nimport { DurationFields } from '../Duration.js'\nimport { validateBoundWitness } from './validateBoundWitness.js'\nimport { validateBoundWitnessAndDuration } from './validateBoundWitnessAndDuration.js'\nimport { validateDuration } from './validateDuration.js'\n\nexport const validateBoundWitnessWithDuration = async (recordBw: BoundWitness, recordPayload: Payload<DurationFields>): Promise<boolean> => {\n // Validate the BW\n if (!(await validateBoundWitness(recordBw, [recordPayload.schema]))) return false\n // Validate the record\n if (!validateDuration(recordPayload)) return false\n // Validate the record relative to the BW\n if (!(await validateBoundWitnessAndDuration(recordBw, recordPayload))) return false\n return true\n}\n"],"mappings":"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","names":["import_payload_model","import_payload_model","import_payload_model","import_payload_model","import_payload_model"]}
@@ -53,8 +53,10 @@ var isDomainRegistrationWithMeta = isPayloadOfSchemaTypeWithMeta4(DomainRegistra
53
53
  import { isPayloadOfSchemaType as isPayloadOfSchemaType6, isPayloadOfSchemaTypeWithMeta as isPayloadOfSchemaTypeWithMeta5, isPayloadOfSchemaTypeWithSources as isPayloadOfSchemaTypeWithSources5 } from "@xyo-network/payload-model";
54
54
  var DomainRegistrationLeaseSchema = `${DomainRegistrationSchema}.lease`;
55
55
  var isDomainRegistrationLease = isPayloadOfSchemaType6(DomainRegistrationLeaseSchema);
56
- var isDomainRegistrationLeaseSources = isPayloadOfSchemaTypeWithSources5(DomainRegistrationLeaseSchema);
57
- var isDomainRegistrationLeaseMeta = isPayloadOfSchemaTypeWithMeta5(DomainRegistrationLeaseSchema);
56
+ var isDomainRegistrationLeaseWithSources = isPayloadOfSchemaTypeWithSources5(DomainRegistrationLeaseSchema);
57
+ var isDomainRegistrationLeaseSources = isDomainRegistrationLeaseWithSources;
58
+ var isDomainRegistrationLeaseWithMeta = isPayloadOfSchemaTypeWithMeta5(DomainRegistrationLeaseSchema);
59
+ var isDomainRegistrationLeaseMeta = isDomainRegistrationLeaseWithMeta;
58
60
 
59
61
  // src/Duration/validation/validateBoundWitness.ts
60
62
  import { BoundWitnessValidator } from "@xyo-network/boundwitness-validator";
@@ -119,6 +121,8 @@ export {
119
121
  isDomainRegistrationLease,
120
122
  isDomainRegistrationLeaseMeta,
121
123
  isDomainRegistrationLeaseSources,
124
+ isDomainRegistrationLeaseWithMeta,
125
+ isDomainRegistrationLeaseWithSources,
122
126
  isDomainRegistrationWithMeta,
123
127
  isDomainRegistrationWithSources,
124
128
  isDomainWithMeta,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Address/Payload.ts","../../src/diviner/DomainLeaseEstimateDiviner/Schema.ts","../../src/diviner/DomainLeaseEstimateDiviner/ErrorDetails/ErrorCodes.ts","../../src/diviner/DomainLeaseEstimateDiviner/ErrorDetails/Payload.ts","../../src/Domain/Domain.ts","../../src/Domain/DomainLease.ts","../../src/DomainRegistration/DomainRegistration.ts","../../src/DomainRegistration/DomainRegistrationLease.ts","../../src/Duration/validation/validateBoundWitness.ts","../../src/Duration/validation/validateBoundWitnessAndDuration.ts","../../src/Duration/validation/validateDuration.ts","../../src/Duration/validation/validateBoundWitnessWithDuration.ts"],"sourcesContent":["import { Address } from '@xylabs/hex'\nimport { isPayloadOfSchemaType, Payload, WithMeta } from '@xyo-network/payload-model'\n\nimport { DomainFields } from '../Domain/index.js'\n\nexport type AddressRecordSchema = 'network.xyo.ns.record.address'\nexport const AddressRecordSchema: AddressRecordSchema = 'network.xyo.ns.record.address'\n\nexport interface AddressRecordFields extends DomainFields {\n /**\n * The address the record points to\n */\n address: Address[]\n}\n\n/**\n * An address record points a domain to an address\n */\nexport type AddressRecord = Payload<AddressRecordFields, AddressRecordSchema>\n\nexport const isAddressRecord = isPayloadOfSchemaType<AddressRecord>(AddressRecordSchema)\nexport const isAddressRecordWithMeta = isPayloadOfSchemaType<WithMeta<AddressRecord>>(AddressRecordSchema)\n","export const DomainLeaseEstimateDivinerValidationErrorDetailsSchema =\n 'network.xyo.diviner.ns.domain.registration.lease.estimate.validation.error.details' as const\n\nexport type DomainLeaseEstimateDivinerValidationErrorDetailsSchema = typeof DomainLeaseEstimateDivinerValidationErrorDetailsSchema\n","import { DomainLeaseEstimateDivinerValidationErrorDetailsSchema } from '../Schema.js'\nimport { DomainLeaseEstimateDivinerValidationErrorDetails, ErrorDetailsDictionary } from './Payload.js'\n\n// export type DomainLeaseEstimateDivinerErrorDetailsDictionaryErrorCode = keyof typeof DomainLeaseEstimateDivinerErrorDetailsDictionary\nexport type DomainLeaseEstimateDivinerErrorDetailsDictionaryErrorCode = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8\n\nexport const DomainLeaseEstimateDivinerErrorDetailsDictionary: Readonly<\n Readonly<Record<DomainLeaseEstimateDivinerErrorDetailsDictionaryErrorCode, DomainLeaseEstimateDivinerValidationErrorDetails>> &\n ErrorDetailsDictionary\n> = {\n 0: { code: '0', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Success' },\n 1: { code: '1', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Invalid casing' },\n 2: { code: '2', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Invalid coin signature' },\n 3: { code: '3', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Invalid length' },\n 4: { code: '4', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Invalid name' },\n 5: { code: '5', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Reserved fragment' },\n 6: { code: '6', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Reserved name' },\n 7: { code: '7', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Reserved string' },\n 8: { code: '8', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Invalid TLD' },\n} as const\n","import { isPayloadOfSchemaType, isPayloadOfSchemaTypeWithMeta, isPayloadOfSchemaTypeWithSources, Payload } from '@xyo-network/payload-model'\n\nimport { DomainLeaseEstimateDivinerValidationErrorDetailsSchema } from '../Schema.js'\n\nexport interface ErrorDetails<TErrorCode extends string | undefined = string | undefined> {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n [key: string]: any // Index signature for any other additional properties\n /**\n * A string code indicating the error type.\n */\n code: TErrorCode\n /**\n * A human-readable explanation specific to this occurrence of the problem\n */\n detail?: string\n /**\n * A short, human-readable summary of the problem type.\n */\n title?: string\n}\n\nexport type ErrorDetailsDictionary<T extends number = number> = {\n readonly [K in T]: ErrorDetails<`${K}`>\n}\n\n/**\n * A payment authorization token payload\n */\nexport type DomainLeaseEstimateDivinerValidationErrorDetails<TErrorCode extends string | undefined = string> = Payload<\n ErrorDetails<TErrorCode>,\n DomainLeaseEstimateDivinerValidationErrorDetailsSchema\n>\n\n/**\n * Identity function for DomainLeaseEstimateDivinerValidationErrorDetails payload\n */\nexport const isDomainLeaseEstimateDivinerValidationErrorDetails = isPayloadOfSchemaType<DomainLeaseEstimateDivinerValidationErrorDetails>(\n DomainLeaseEstimateDivinerValidationErrorDetailsSchema,\n)\n\n/**\n * Identity function for DomainLeaseEstimateDivinerValidationErrorDetails payload with sources\n */\nexport const isDomainLeaseEstimateDivinerValidationErrorDetailsWithSources =\n isPayloadOfSchemaTypeWithSources<DomainLeaseEstimateDivinerValidationErrorDetails>(DomainLeaseEstimateDivinerValidationErrorDetailsSchema)\n\n/**\n * Identity function for DomainLeaseEstimateDivinerValidationErrorDetails payload with meta\n */\nexport const isDomainLeaseEstimateDivinerValidationErrorDetailsWithMeta =\n isPayloadOfSchemaTypeWithMeta<DomainLeaseEstimateDivinerValidationErrorDetails>(DomainLeaseEstimateDivinerValidationErrorDetailsSchema)\n","import { isPayloadOfSchemaType, isPayloadOfSchemaTypeWithMeta, isPayloadOfSchemaTypeWithSources, Payload } from '@xyo-network/payload-model'\n\nexport type DomainSchema = 'network.xyo.ns.domain'\nexport const DomainSchema: DomainSchema = 'network.xyo.ns.domain'\n\n/**\n * The supported TLDs for XNS\n */\nexport type TopLevelDomain = 'xyo'\n\n/**\n * The fields for a domain record\n */\nexport interface DomainFields {\n /**\n * The XNS domain of the record\n */\n domain: string\n\n /**\n * The Top-Level Domain of the domain\n */\n tld: TopLevelDomain\n}\n\n/**\n * A domain record is a record of a domain\n */\nexport type Domain = Payload<DomainFields, DomainSchema>\n\n/**\n * Identity function for Domain payload\n */\nexport const isDomain = isPayloadOfSchemaType<Domain>(DomainSchema)\n\n/**\n * Identity function for Domain payload with sources\n */\nexport const isDomainWithSources = isPayloadOfSchemaTypeWithSources<Domain>(DomainSchema)\n\n/**\n * Identity function for Domain payload with meta\n */\nexport const isDomainWithMeta = isPayloadOfSchemaTypeWithMeta<Domain>(DomainSchema)\n","import { isPayloadOfSchemaType, isPayloadOfSchemaTypeWithMeta, isPayloadOfSchemaTypeWithSources, Payload } from '@xyo-network/payload-model'\n\nimport { DurationFields } from '../Duration/index.js'\nimport { DomainFields } from './Domain.js'\n\nexport type DomainLeaseSchema = 'network.xyo.ns.domain.lease'\nexport const DomainLeaseSchema: DomainLeaseSchema = 'network.xyo.ns.domain.lease'\n\n/**\n * A domain is leased for a duration\n */\nexport interface DomainLeaseFields extends DomainFields, DurationFields {}\n\n/**\n * A domain lease is a record of a domain and the duration it is leased for\n */\nexport type DomainLease = Payload<DomainLeaseFields, DomainLeaseSchema>\n\n/**\n * Identity function for DomainLease payload\n */\nexport const isDomainLease = isPayloadOfSchemaType<DomainLease>(DomainLeaseSchema)\n\n/**\n * Identity function for DomainLease payload with sources\n */\nexport const isDomainLeaseWithSources = isPayloadOfSchemaTypeWithSources<DomainLease>(DomainLeaseSchema)\n\n/**\n * Identity function for DomainLease payload with meta\n */\nexport const isDomainLeaseWithMeta = isPayloadOfSchemaTypeWithMeta<DomainLease>(DomainLeaseSchema)\n","import { Address } from '@xylabs/hex'\nimport { isPayloadOfSchemaType, isPayloadOfSchemaTypeWithMeta, isPayloadOfSchemaTypeWithSources, Payload } from '@xyo-network/payload-model'\n\nimport { DomainFields, DomainSchema } from '../Domain/index.js'\n\nexport const DomainRegistrationSchema = `${DomainSchema}.registration` as const\nexport type DomainRegistrationSchema = typeof DomainRegistrationSchema\n\nexport interface DomainRegistrationFields extends DomainFields {\n /**\n * The registrant of the domain\n */\n registrant: Address[]\n /**\n * The registrar of the domain\n */\n registrar: Address[]\n}\n\n/**\n * Delegation of a domain to a registrar by a registrant\n */\nexport type DomainRegistration = Payload<DomainRegistrationFields, DomainRegistrationSchema>\n\n/**\n * Identity function for DomainRegistration payload\n */\nexport const isDomainRegistration = isPayloadOfSchemaType<DomainRegistration>(DomainRegistrationSchema)\n\n/**\n * Identity function for DomainRegistration payload with sources\n */\nexport const isDomainRegistrationWithSources = isPayloadOfSchemaTypeWithSources<DomainRegistration>(DomainRegistrationSchema)\n\n/**\n * Identity function for DomainRegistration payload with meta\n */\nexport const isDomainRegistrationWithMeta = isPayloadOfSchemaTypeWithMeta<DomainRegistration>(DomainRegistrationSchema)\n","import { isPayloadOfSchemaType, isPayloadOfSchemaTypeWithMeta, isPayloadOfSchemaTypeWithSources, Payload } from '@xyo-network/payload-model'\n\nimport { DurationFields } from '../Duration/index.js'\nimport { DomainRegistrationFields, DomainRegistrationSchema } from './DomainRegistration.js'\n\nexport const DomainRegistrationLeaseSchema = `${DomainRegistrationSchema}.lease` as const\nexport type DomainRegistrationLeaseSchema = typeof DomainRegistrationLeaseSchema\n\nexport interface DomainRegistrationLeaseFields extends DomainRegistrationFields, DurationFields {}\n\n/**\n * Temporal delegation of a domain to a registrar by a registrant\n */\nexport type DomainRegistrationLease = Payload<DomainRegistrationLeaseFields, DomainRegistrationLeaseSchema>\n\n/**\n * Identity function for DomainRegistrationLease payload\n */\nexport const isDomainRegistrationLease = isPayloadOfSchemaType<DomainRegistrationLease>(DomainRegistrationLeaseSchema)\n\n/**\n * Identity function for DomainRegistrationLease payload with sources\n */\nexport const isDomainRegistrationLeaseSources = isPayloadOfSchemaTypeWithSources<DomainRegistrationLease>(DomainRegistrationLeaseSchema)\n\n/**\n * Identity function for DomainRegistrationLease payload with meta\n */\nexport const isDomainRegistrationLeaseMeta = isPayloadOfSchemaTypeWithMeta<DomainRegistrationLease>(DomainRegistrationLeaseSchema)\n","import { BoundWitness } from '@xyo-network/boundwitness-model'\nimport { BoundWitnessValidator } from '@xyo-network/boundwitness-validator'\n\n// BW Validations\nexport const validateBoundWitness = async (recordBw: BoundWitness, requiredSchemas: string[] = []): Promise<boolean> => {\n // If the BW does not include all of the required schemas\n if (!requiredSchemas.every((requiredSchema) => recordBw.payload_schemas.includes(requiredSchema))) return false\n // If the BW is valid (does not include any errors)\n const validator = new BoundWitnessValidator(recordBw)\n const errors = await validator.validate()\n return errors.length === 0\n}\n","import { BoundWitness } from '@xyo-network/boundwitness-model'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { Payload } from '@xyo-network/payload-model'\n\nimport { DurationFields } from '../Duration.js'\n\n// BW & Record Validations\nexport const validateBoundWitnessAndDuration = async (recordBw: BoundWitness, recordPayload: Payload<DurationFields>): Promise<boolean> => {\n if (!(await recordIsInBoundWitness(recordBw, recordPayload))) return false\n if (!recordIsTemporallyValidToBoundWitness(recordBw, recordPayload)) return false\n return true\n}\n\nconst recordIsInBoundWitness = async (recordBw: BoundWitness, recordPayload: Payload): Promise<boolean> => {\n const hash = await PayloadBuilder.dataHash(recordPayload)\n return recordBw.payload_hashes.includes(hash)\n}\n\nconst recordIsTemporallyValidToBoundWitness = (recordBw: BoundWitness, recordPayload: Payload<DurationFields>): boolean => {\n const { timestamp } = recordBw\n const { exp } = recordPayload\n return exp > timestamp\n}\n","// import { isAddress } from '@xylabs/hex'\nimport { Payload } from '@xyo-network/payload-model'\n\nimport { DurationFields } from '../Duration.js'\n\n// Record Validations\nexport const validateDuration = (recordPayload: Payload<DurationFields>): boolean => {\n // if (!isValidAddress(recordPayload)) return false\n if (!isWithinDelegatedTimeframe(recordPayload)) return false\n return true\n}\n\n// const isValidAddress = (recordPayload: Payload<DomainLeaseFields>): boolean => {\n// return isAddress(recordPayload.nameserver, { prefix: false })\n// }\n\nconst isWithinDelegatedTimeframe = (recordPayload: Payload<DurationFields>, now = Date.now()): boolean => {\n // nbf < now < exp\n return recordPayload.nbf < now && now < recordPayload.exp\n}\n","import { BoundWitness } from '@xyo-network/boundwitness-model'\nimport { Payload } from '@xyo-network/payload-model'\n\nimport { DurationFields } from '../Duration.js'\nimport { validateBoundWitness } from './validateBoundWitness.js'\nimport { validateBoundWitnessAndDuration } from './validateBoundWitnessAndDuration.js'\nimport { validateDuration } from './validateDuration.js'\n\nexport const validateBoundWitnessWithDuration = async (recordBw: BoundWitness, recordPayload: Payload<DurationFields>): Promise<boolean> => {\n // Validate the BW\n if (!(await validateBoundWitness(recordBw, [recordPayload.schema]))) return false\n // Validate the record\n if (!validateDuration(recordPayload)) return false\n // Validate the record relative to the BW\n if (!(await validateBoundWitnessAndDuration(recordBw, recordPayload))) return false\n return true\n}\n"],"mappings":"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","names":["isPayloadOfSchemaType","isPayloadOfSchemaType","isPayloadOfSchemaType","isPayloadOfSchemaTypeWithMeta","isPayloadOfSchemaTypeWithSources","isPayloadOfSchemaType","isPayloadOfSchemaTypeWithMeta","isPayloadOfSchemaTypeWithSources","isPayloadOfSchemaType","isPayloadOfSchemaTypeWithMeta","isPayloadOfSchemaTypeWithSources","isPayloadOfSchemaType","isPayloadOfSchemaTypeWithSources","isPayloadOfSchemaTypeWithMeta","isPayloadOfSchemaType","isPayloadOfSchemaTypeWithMeta","isPayloadOfSchemaTypeWithSources","isPayloadOfSchemaType","isPayloadOfSchemaTypeWithSources","isPayloadOfSchemaTypeWithMeta"]}
1
+ {"version":3,"sources":["../../src/Address/Payload.ts","../../src/diviner/DomainLeaseEstimateDiviner/Schema.ts","../../src/diviner/DomainLeaseEstimateDiviner/ErrorDetails/ErrorCodes.ts","../../src/diviner/DomainLeaseEstimateDiviner/ErrorDetails/Payload.ts","../../src/Domain/Domain.ts","../../src/Domain/DomainLease.ts","../../src/DomainRegistration/DomainRegistration.ts","../../src/DomainRegistration/DomainRegistrationLease.ts","../../src/Duration/validation/validateBoundWitness.ts","../../src/Duration/validation/validateBoundWitnessAndDuration.ts","../../src/Duration/validation/validateDuration.ts","../../src/Duration/validation/validateBoundWitnessWithDuration.ts"],"sourcesContent":["import { Address } from '@xylabs/hex'\nimport { isPayloadOfSchemaType, Payload, WithMeta } from '@xyo-network/payload-model'\n\nimport { DomainFields } from '../Domain/index.js'\n\nexport type AddressRecordSchema = 'network.xyo.ns.record.address'\nexport const AddressRecordSchema: AddressRecordSchema = 'network.xyo.ns.record.address'\n\nexport interface AddressRecordFields extends DomainFields {\n /**\n * The address the record points to\n */\n address: Address[]\n}\n\n/**\n * An address record points a domain to an address\n */\nexport type AddressRecord = Payload<AddressRecordFields, AddressRecordSchema>\n\nexport const isAddressRecord = isPayloadOfSchemaType<AddressRecord>(AddressRecordSchema)\nexport const isAddressRecordWithMeta = isPayloadOfSchemaType<WithMeta<AddressRecord>>(AddressRecordSchema)\n","export const DomainLeaseEstimateDivinerValidationErrorDetailsSchema =\n 'network.xyo.diviner.ns.domain.registration.lease.estimate.validation.error.details' as const\n\nexport type DomainLeaseEstimateDivinerValidationErrorDetailsSchema = typeof DomainLeaseEstimateDivinerValidationErrorDetailsSchema\n","import { DomainLeaseEstimateDivinerValidationErrorDetailsSchema } from '../Schema.js'\nimport { DomainLeaseEstimateDivinerValidationErrorDetails, ErrorDetailsDictionary } from './Payload.js'\n\n// export type DomainLeaseEstimateDivinerErrorDetailsDictionaryErrorCode = keyof typeof DomainLeaseEstimateDivinerErrorDetailsDictionary\nexport type DomainLeaseEstimateDivinerErrorDetailsDictionaryErrorCode = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8\n\nexport const DomainLeaseEstimateDivinerErrorDetailsDictionary: Readonly<\n Readonly<Record<DomainLeaseEstimateDivinerErrorDetailsDictionaryErrorCode, DomainLeaseEstimateDivinerValidationErrorDetails>> &\n ErrorDetailsDictionary\n> = {\n 0: { code: '0', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Success' },\n 1: { code: '1', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Invalid casing' },\n 2: { code: '2', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Invalid coin signature' },\n 3: { code: '3', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Invalid length' },\n 4: { code: '4', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Invalid name' },\n 5: { code: '5', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Reserved fragment' },\n 6: { code: '6', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Reserved name' },\n 7: { code: '7', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Reserved string' },\n 8: { code: '8', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Invalid TLD' },\n} as const\n","import { isPayloadOfSchemaType, isPayloadOfSchemaTypeWithMeta, isPayloadOfSchemaTypeWithSources, Payload } from '@xyo-network/payload-model'\n\nimport { DomainLeaseEstimateDivinerValidationErrorDetailsSchema } from '../Schema.js'\n\nexport interface ErrorDetails<TErrorCode extends string | undefined = string | undefined> {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n [key: string]: any // Index signature for any other additional properties\n /**\n * A string code indicating the error type.\n */\n code: TErrorCode\n /**\n * A human-readable explanation specific to this occurrence of the problem\n */\n detail?: string\n /**\n * A short, human-readable summary of the problem type.\n */\n title?: string\n}\n\nexport type ErrorDetailsDictionary<T extends number = number> = {\n readonly [K in T]: ErrorDetails<`${K}`>\n}\n\n/**\n * A payment authorization token payload\n */\nexport type DomainLeaseEstimateDivinerValidationErrorDetails<TErrorCode extends string | undefined = string> = Payload<\n ErrorDetails<TErrorCode>,\n DomainLeaseEstimateDivinerValidationErrorDetailsSchema\n>\n\n/**\n * Identity function for DomainLeaseEstimateDivinerValidationErrorDetails payload\n */\nexport const isDomainLeaseEstimateDivinerValidationErrorDetails = isPayloadOfSchemaType<DomainLeaseEstimateDivinerValidationErrorDetails>(\n DomainLeaseEstimateDivinerValidationErrorDetailsSchema,\n)\n\n/**\n * Identity function for DomainLeaseEstimateDivinerValidationErrorDetails payload with sources\n */\nexport const isDomainLeaseEstimateDivinerValidationErrorDetailsWithSources =\n isPayloadOfSchemaTypeWithSources<DomainLeaseEstimateDivinerValidationErrorDetails>(DomainLeaseEstimateDivinerValidationErrorDetailsSchema)\n\n/**\n * Identity function for DomainLeaseEstimateDivinerValidationErrorDetails payload with meta\n */\nexport const isDomainLeaseEstimateDivinerValidationErrorDetailsWithMeta =\n isPayloadOfSchemaTypeWithMeta<DomainLeaseEstimateDivinerValidationErrorDetails>(DomainLeaseEstimateDivinerValidationErrorDetailsSchema)\n","import { isPayloadOfSchemaType, isPayloadOfSchemaTypeWithMeta, isPayloadOfSchemaTypeWithSources, Payload } from '@xyo-network/payload-model'\n\nexport type DomainSchema = 'network.xyo.ns.domain'\nexport const DomainSchema: DomainSchema = 'network.xyo.ns.domain'\n\n/**\n * The supported TLDs for XNS\n */\nexport type TopLevelDomain = 'xyo'\n\n/**\n * The fields for a domain record\n */\nexport interface DomainFields {\n /**\n * The XNS domain of the record\n */\n domain: string\n\n /**\n * The Top-Level Domain of the domain\n */\n tld: TopLevelDomain\n}\n\n/**\n * A domain record is a record of a domain\n */\nexport type Domain = Payload<DomainFields, DomainSchema>\n\n/**\n * Identity function for Domain payload\n */\nexport const isDomain = isPayloadOfSchemaType<Domain>(DomainSchema)\n\n/**\n * Identity function for Domain payload with sources\n */\nexport const isDomainWithSources = isPayloadOfSchemaTypeWithSources<Domain>(DomainSchema)\n\n/**\n * Identity function for Domain payload with meta\n */\nexport const isDomainWithMeta = isPayloadOfSchemaTypeWithMeta<Domain>(DomainSchema)\n","import { isPayloadOfSchemaType, isPayloadOfSchemaTypeWithMeta, isPayloadOfSchemaTypeWithSources, Payload } from '@xyo-network/payload-model'\n\nimport { DurationFields } from '../Duration/index.js'\nimport { DomainFields } from './Domain.js'\n\nexport type DomainLeaseSchema = 'network.xyo.ns.domain.lease'\nexport const DomainLeaseSchema: DomainLeaseSchema = 'network.xyo.ns.domain.lease'\n\n/**\n * A domain is leased for a duration\n */\nexport interface DomainLeaseFields extends DomainFields, DurationFields {}\n\n/**\n * A domain lease is a record of a domain and the duration it is leased for\n */\nexport type DomainLease = Payload<DomainLeaseFields, DomainLeaseSchema>\n\n/**\n * Identity function for DomainLease payload\n */\nexport const isDomainLease = isPayloadOfSchemaType<DomainLease>(DomainLeaseSchema)\n\n/**\n * Identity function for DomainLease payload with sources\n */\nexport const isDomainLeaseWithSources = isPayloadOfSchemaTypeWithSources<DomainLease>(DomainLeaseSchema)\n\n/**\n * Identity function for DomainLease payload with meta\n */\nexport const isDomainLeaseWithMeta = isPayloadOfSchemaTypeWithMeta<DomainLease>(DomainLeaseSchema)\n","import { Address } from '@xylabs/hex'\nimport { isPayloadOfSchemaType, isPayloadOfSchemaTypeWithMeta, isPayloadOfSchemaTypeWithSources, Payload } from '@xyo-network/payload-model'\n\nimport { DomainFields, DomainSchema } from '../Domain/index.js'\n\nexport const DomainRegistrationSchema = `${DomainSchema}.registration` as const\nexport type DomainRegistrationSchema = typeof DomainRegistrationSchema\n\nexport interface DomainRegistrationFields extends DomainFields {\n /**\n * The registrant of the domain\n */\n registrant: Address[]\n /**\n * The registrar of the domain\n */\n registrar: Address[]\n}\n\n/**\n * Delegation of a domain to a registrar by a registrant\n */\nexport type DomainRegistration = Payload<DomainRegistrationFields, DomainRegistrationSchema>\n\n/**\n * Identity function for DomainRegistration payload\n */\nexport const isDomainRegistration = isPayloadOfSchemaType<DomainRegistration>(DomainRegistrationSchema)\n\n/**\n * Identity function for DomainRegistration payload with sources\n */\nexport const isDomainRegistrationWithSources = isPayloadOfSchemaTypeWithSources<DomainRegistration>(DomainRegistrationSchema)\n\n/**\n * Identity function for DomainRegistration payload with meta\n */\nexport const isDomainRegistrationWithMeta = isPayloadOfSchemaTypeWithMeta<DomainRegistration>(DomainRegistrationSchema)\n","import { isPayloadOfSchemaType, isPayloadOfSchemaTypeWithMeta, isPayloadOfSchemaTypeWithSources, Payload } from '@xyo-network/payload-model'\n\nimport { DurationFields } from '../Duration/index.js'\nimport { DomainRegistrationFields, DomainRegistrationSchema } from './DomainRegistration.js'\n\nexport const DomainRegistrationLeaseSchema = `${DomainRegistrationSchema}.lease` as const\nexport type DomainRegistrationLeaseSchema = typeof DomainRegistrationLeaseSchema\n\nexport interface DomainRegistrationLeaseFields extends DomainRegistrationFields, DurationFields {}\n\n/**\n * Temporal delegation of a domain to a registrar by a registrant\n */\nexport type DomainRegistrationLease = Payload<DomainRegistrationLeaseFields, DomainRegistrationLeaseSchema>\n\n/**\n * Identity function for DomainRegistrationLease payload\n */\nexport const isDomainRegistrationLease = isPayloadOfSchemaType<DomainRegistrationLease>(DomainRegistrationLeaseSchema)\n\n/**\n * Identity function for DomainRegistrationLease payload with sources\n */\nexport const isDomainRegistrationLeaseWithSources = isPayloadOfSchemaTypeWithSources<DomainRegistrationLease>(DomainRegistrationLeaseSchema)\n/**\n * @deprecated Use isDomainRegistrationLeaseWithSources instead\n */\nexport const isDomainRegistrationLeaseSources = isDomainRegistrationLeaseWithSources\n\n/**\n * Identity function for DomainRegistrationLease payload with meta\n */\nexport const isDomainRegistrationLeaseWithMeta = isPayloadOfSchemaTypeWithMeta<DomainRegistrationLease>(DomainRegistrationLeaseSchema)\n/**\n * @deprecated Use isDomainRegistrationLeaseWithMeta instead\n */\nexport const isDomainRegistrationLeaseMeta = isDomainRegistrationLeaseWithMeta\n","import { BoundWitness } from '@xyo-network/boundwitness-model'\nimport { BoundWitnessValidator } from '@xyo-network/boundwitness-validator'\n\n// BW Validations\nexport const validateBoundWitness = async (recordBw: BoundWitness, requiredSchemas: string[] = []): Promise<boolean> => {\n // If the BW does not include all of the required schemas\n if (!requiredSchemas.every((requiredSchema) => recordBw.payload_schemas.includes(requiredSchema))) return false\n // If the BW is valid (does not include any errors)\n const validator = new BoundWitnessValidator(recordBw)\n const errors = await validator.validate()\n return errors.length === 0\n}\n","import { BoundWitness } from '@xyo-network/boundwitness-model'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { Payload } from '@xyo-network/payload-model'\n\nimport { DurationFields } from '../Duration.js'\n\n// BW & Record Validations\nexport const validateBoundWitnessAndDuration = async (recordBw: BoundWitness, recordPayload: Payload<DurationFields>): Promise<boolean> => {\n if (!(await recordIsInBoundWitness(recordBw, recordPayload))) return false\n if (!recordIsTemporallyValidToBoundWitness(recordBw, recordPayload)) return false\n return true\n}\n\nconst recordIsInBoundWitness = async (recordBw: BoundWitness, recordPayload: Payload): Promise<boolean> => {\n const hash = await PayloadBuilder.dataHash(recordPayload)\n return recordBw.payload_hashes.includes(hash)\n}\n\nconst recordIsTemporallyValidToBoundWitness = (recordBw: BoundWitness, recordPayload: Payload<DurationFields>): boolean => {\n const { timestamp } = recordBw\n const { exp } = recordPayload\n return exp > timestamp\n}\n","// import { isAddress } from '@xylabs/hex'\nimport { Payload } from '@xyo-network/payload-model'\n\nimport { DurationFields } from '../Duration.js'\n\n// Record Validations\nexport const validateDuration = (recordPayload: Payload<DurationFields>): boolean => {\n // if (!isValidAddress(recordPayload)) return false\n if (!isWithinDelegatedTimeframe(recordPayload)) return false\n return true\n}\n\n// const isValidAddress = (recordPayload: Payload<DomainLeaseFields>): boolean => {\n// return isAddress(recordPayload.nameserver, { prefix: false })\n// }\n\nconst isWithinDelegatedTimeframe = (recordPayload: Payload<DurationFields>, now = Date.now()): boolean => {\n // nbf < now < exp\n return recordPayload.nbf < now && now < recordPayload.exp\n}\n","import { BoundWitness } from '@xyo-network/boundwitness-model'\nimport { Payload } from '@xyo-network/payload-model'\n\nimport { DurationFields } from '../Duration.js'\nimport { validateBoundWitness } from './validateBoundWitness.js'\nimport { validateBoundWitnessAndDuration } from './validateBoundWitnessAndDuration.js'\nimport { validateDuration } from './validateDuration.js'\n\nexport const validateBoundWitnessWithDuration = async (recordBw: BoundWitness, recordPayload: Payload<DurationFields>): Promise<boolean> => {\n // Validate the BW\n if (!(await validateBoundWitness(recordBw, [recordPayload.schema]))) return false\n // Validate the record\n if (!validateDuration(recordPayload)) return false\n // Validate the record relative to the BW\n if (!(await validateBoundWitnessAndDuration(recordBw, recordPayload))) return false\n return true\n}\n"],"mappings":";AACA,SAAS,6BAAgD;AAKlD,IAAM,sBAA2C;AAcjD,IAAM,kBAAkB,sBAAqC,mBAAmB;AAChF,IAAM,0BAA0B,sBAA+C,mBAAmB;;;ACrBlG,IAAM,yDACX;;;ACKK,IAAM,mDAGT;AAAA,EACF,GAAG,EAAE,MAAM,KAAK,QAAQ,wDAAwD,OAAO,UAAU;AAAA,EACjG,GAAG,EAAE,MAAM,KAAK,QAAQ,wDAAwD,OAAO,iBAAiB;AAAA,EACxG,GAAG,EAAE,MAAM,KAAK,QAAQ,wDAAwD,OAAO,yBAAyB;AAAA,EAChH,GAAG,EAAE,MAAM,KAAK,QAAQ,wDAAwD,OAAO,iBAAiB;AAAA,EACxG,GAAG,EAAE,MAAM,KAAK,QAAQ,wDAAwD,OAAO,eAAe;AAAA,EACtG,GAAG,EAAE,MAAM,KAAK,QAAQ,wDAAwD,OAAO,oBAAoB;AAAA,EAC3G,GAAG,EAAE,MAAM,KAAK,QAAQ,wDAAwD,OAAO,gBAAgB;AAAA,EACvG,GAAG,EAAE,MAAM,KAAK,QAAQ,wDAAwD,OAAO,kBAAkB;AAAA,EACzG,GAAG,EAAE,MAAM,KAAK,QAAQ,wDAAwD,OAAO,cAAc;AACvG;;;ACnBA,SAAS,yBAAAA,wBAAuB,+BAA+B,wCAAiD;AAoCzG,IAAM,qDAAqDC;AAAA,EAChE;AACF;AAKO,IAAM,gEACX,iCAAmF,sDAAsD;AAKpI,IAAM,6DACX,8BAAgF,sDAAsD;;;AClDxI,SAAS,yBAAAC,wBAAuB,iCAAAC,gCAA+B,oCAAAC,yCAAiD;AAGzG,IAAM,eAA6B;AA8BnC,IAAM,WAAWF,uBAA8B,YAAY;AAK3D,IAAM,sBAAsBE,kCAAyC,YAAY;AAKjF,IAAM,mBAAmBD,+BAAsC,YAAY;;;AC3ClF,SAAS,yBAAAE,wBAAuB,iCAAAC,gCAA+B,oCAAAC,yCAAiD;AAMzG,IAAM,oBAAuC;AAe7C,IAAM,gBAAgBF,uBAAmC,iBAAiB;AAK1E,IAAM,2BAA2BE,kCAA8C,iBAAiB;AAKhG,IAAM,wBAAwBD,+BAA2C,iBAAiB;;;AC9BjG,SAAS,yBAAAE,wBAAuB,iCAAAC,gCAA+B,oCAAAC,yCAAiD;AAIzG,IAAM,2BAA2B,GAAG,YAAY;AAsBhD,IAAM,uBAAuBC,uBAA0C,wBAAwB;AAK/F,IAAM,kCAAkCC,kCAAqD,wBAAwB;AAKrH,IAAM,+BAA+BC,+BAAkD,wBAAwB;;;ACrCtH,SAAS,yBAAAC,wBAAuB,iCAAAC,gCAA+B,oCAAAC,yCAAiD;AAKzG,IAAM,gCAAgC,GAAG,wBAAwB;AAajE,IAAM,4BAA4BC,uBAA+C,6BAA6B;AAK9G,IAAM,uCAAuCC,kCAA0D,6BAA6B;AAIpI,IAAM,mCAAmC;AAKzC,IAAM,oCAAoCC,+BAAuD,6BAA6B;AAI9H,IAAM,gCAAgC;;;ACnC7C,SAAS,6BAA6B;AAG/B,IAAM,uBAAuB,OAAO,UAAwB,kBAA4B,CAAC,MAAwB;AAEtH,MAAI,CAAC,gBAAgB,MAAM,CAAC,mBAAmB,SAAS,gBAAgB,SAAS,cAAc,CAAC,EAAG,QAAO;AAE1G,QAAM,YAAY,IAAI,sBAAsB,QAAQ;AACpD,QAAM,SAAS,MAAM,UAAU,SAAS;AACxC,SAAO,OAAO,WAAW;AAC3B;;;ACVA,SAAS,sBAAsB;AAMxB,IAAM,kCAAkC,OAAO,UAAwB,kBAA6D;AACzI,MAAI,CAAE,MAAM,uBAAuB,UAAU,aAAa,EAAI,QAAO;AACrE,MAAI,CAAC,sCAAsC,UAAU,aAAa,EAAG,QAAO;AAC5E,SAAO;AACT;AAEA,IAAM,yBAAyB,OAAO,UAAwB,kBAA6C;AACzG,QAAM,OAAO,MAAM,eAAe,SAAS,aAAa;AACxD,SAAO,SAAS,eAAe,SAAS,IAAI;AAC9C;AAEA,IAAM,wCAAwC,CAAC,UAAwB,kBAAoD;AACzH,QAAM,EAAE,UAAU,IAAI;AACtB,QAAM,EAAE,IAAI,IAAI;AAChB,SAAO,MAAM;AACf;;;AChBO,IAAM,mBAAmB,CAAC,kBAAoD;AAEnF,MAAI,CAAC,2BAA2B,aAAa,EAAG,QAAO;AACvD,SAAO;AACT;AAMA,IAAM,6BAA6B,CAAC,eAAwC,MAAM,KAAK,IAAI,MAAe;AAExG,SAAO,cAAc,MAAM,OAAO,MAAM,cAAc;AACxD;;;ACXO,IAAM,mCAAmC,OAAO,UAAwB,kBAA6D;AAE1I,MAAI,CAAE,MAAM,qBAAqB,UAAU,CAAC,cAAc,MAAM,CAAC,EAAI,QAAO;AAE5E,MAAI,CAAC,iBAAiB,aAAa,EAAG,QAAO;AAE7C,MAAI,CAAE,MAAM,gCAAgC,UAAU,aAAa,EAAI,QAAO;AAC9E,SAAO;AACT;","names":["isPayloadOfSchemaType","isPayloadOfSchemaType","isPayloadOfSchemaType","isPayloadOfSchemaTypeWithMeta","isPayloadOfSchemaTypeWithSources","isPayloadOfSchemaType","isPayloadOfSchemaTypeWithMeta","isPayloadOfSchemaTypeWithSources","isPayloadOfSchemaType","isPayloadOfSchemaTypeWithMeta","isPayloadOfSchemaTypeWithSources","isPayloadOfSchemaType","isPayloadOfSchemaTypeWithSources","isPayloadOfSchemaTypeWithMeta","isPayloadOfSchemaType","isPayloadOfSchemaTypeWithMeta","isPayloadOfSchemaTypeWithSources","isPayloadOfSchemaType","isPayloadOfSchemaTypeWithSources","isPayloadOfSchemaTypeWithMeta"]}
@@ -9,9 +9,15 @@ export type DomainRegistrationLease = Payload<DomainRegistrationLeaseFields, Dom
9
9
  export declare const isDomainRegistrationLease: (x?: unknown | null) => x is import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & DomainRegistrationLeaseFields & {
10
10
  schema: "network.xyo.ns.domain.registration.lease";
11
11
  };
12
+ export declare const isDomainRegistrationLeaseWithSources: (x?: unknown | null) => x is import("@xyo-network/payload-model").WithSources<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & DomainRegistrationLeaseFields & {
13
+ schema: "network.xyo.ns.domain.registration.lease";
14
+ }>;
12
15
  export declare const isDomainRegistrationLeaseSources: (x?: unknown | null) => x is import("@xyo-network/payload-model").WithSources<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & DomainRegistrationLeaseFields & {
13
16
  schema: "network.xyo.ns.domain.registration.lease";
14
17
  }>;
18
+ export declare const isDomainRegistrationLeaseWithMeta: (x?: unknown | null) => x is import("@xyo-network/payload-model").WithMeta<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & DomainRegistrationLeaseFields & {
19
+ schema: "network.xyo.ns.domain.registration.lease";
20
+ }>;
15
21
  export declare const isDomainRegistrationLeaseMeta: (x?: unknown | null) => x is import("@xyo-network/payload-model").WithMeta<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & DomainRegistrationLeaseFields & {
16
22
  schema: "network.xyo.ns.domain.registration.lease";
17
23
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"DomainRegistrationLease.d.ts","sourceRoot":"","sources":["../../../src/DomainRegistration/DomainRegistrationLease.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0F,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAE5I,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,wBAAwB,EAA4B,MAAM,yBAAyB,CAAA;AAE5F,eAAO,MAAM,6BAA6B,4CAA+C,CAAA;AACzF,MAAM,MAAM,6BAA6B,GAAG,OAAO,6BAA6B,CAAA;AAEhF,MAAM,WAAW,6BAA8B,SAAQ,wBAAwB,EAAE,cAAc;CAAG;AAKlG,MAAM,MAAM,uBAAuB,GAAG,OAAO,CAAC,6BAA6B,EAAE,6BAA6B,CAAC,CAAA;AAK3G,eAAO,MAAM,yBAAyB;;CAAgF,CAAA;AAKtH,eAAO,MAAM,gCAAgC;;EAA2F,CAAA;AAKxI,eAAO,MAAM,6BAA6B;;EAAwF,CAAA"}
1
+ {"version":3,"file":"DomainRegistrationLease.d.ts","sourceRoot":"","sources":["../../../src/DomainRegistration/DomainRegistrationLease.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0F,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAE5I,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,wBAAwB,EAA4B,MAAM,yBAAyB,CAAA;AAE5F,eAAO,MAAM,6BAA6B,4CAA+C,CAAA;AACzF,MAAM,MAAM,6BAA6B,GAAG,OAAO,6BAA6B,CAAA;AAEhF,MAAM,WAAW,6BAA8B,SAAQ,wBAAwB,EAAE,cAAc;CAAG;AAKlG,MAAM,MAAM,uBAAuB,GAAG,OAAO,CAAC,6BAA6B,EAAE,6BAA6B,CAAC,CAAA;AAK3G,eAAO,MAAM,yBAAyB;;CAAgF,CAAA;AAKtH,eAAO,MAAM,oCAAoC;;EAA2F,CAAA;AAI5I,eAAO,MAAM,gCAAgC;;EAAuC,CAAA;AAKpF,eAAO,MAAM,iCAAiC;;EAAwF,CAAA;AAItI,eAAO,MAAM,6BAA6B;;EAAoC,CAAA"}
@@ -9,9 +9,15 @@ export type DomainRegistrationLease = Payload<DomainRegistrationLeaseFields, Dom
9
9
  export declare const isDomainRegistrationLease: (x?: unknown | null) => x is import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & DomainRegistrationLeaseFields & {
10
10
  schema: "network.xyo.ns.domain.registration.lease";
11
11
  };
12
+ export declare const isDomainRegistrationLeaseWithSources: (x?: unknown | null) => x is import("@xyo-network/payload-model").WithSources<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & DomainRegistrationLeaseFields & {
13
+ schema: "network.xyo.ns.domain.registration.lease";
14
+ }>;
12
15
  export declare const isDomainRegistrationLeaseSources: (x?: unknown | null) => x is import("@xyo-network/payload-model").WithSources<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & DomainRegistrationLeaseFields & {
13
16
  schema: "network.xyo.ns.domain.registration.lease";
14
17
  }>;
18
+ export declare const isDomainRegistrationLeaseWithMeta: (x?: unknown | null) => x is import("@xyo-network/payload-model").WithMeta<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & DomainRegistrationLeaseFields & {
19
+ schema: "network.xyo.ns.domain.registration.lease";
20
+ }>;
15
21
  export declare const isDomainRegistrationLeaseMeta: (x?: unknown | null) => x is import("@xyo-network/payload-model").WithMeta<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & DomainRegistrationLeaseFields & {
16
22
  schema: "network.xyo.ns.domain.registration.lease";
17
23
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"DomainRegistrationLease.d.ts","sourceRoot":"","sources":["../../../src/DomainRegistration/DomainRegistrationLease.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0F,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAE5I,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,wBAAwB,EAA4B,MAAM,yBAAyB,CAAA;AAE5F,eAAO,MAAM,6BAA6B,4CAA+C,CAAA;AACzF,MAAM,MAAM,6BAA6B,GAAG,OAAO,6BAA6B,CAAA;AAEhF,MAAM,WAAW,6BAA8B,SAAQ,wBAAwB,EAAE,cAAc;CAAG;AAKlG,MAAM,MAAM,uBAAuB,GAAG,OAAO,CAAC,6BAA6B,EAAE,6BAA6B,CAAC,CAAA;AAK3G,eAAO,MAAM,yBAAyB;;CAAgF,CAAA;AAKtH,eAAO,MAAM,gCAAgC;;EAA2F,CAAA;AAKxI,eAAO,MAAM,6BAA6B;;EAAwF,CAAA"}
1
+ {"version":3,"file":"DomainRegistrationLease.d.ts","sourceRoot":"","sources":["../../../src/DomainRegistration/DomainRegistrationLease.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0F,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAE5I,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,wBAAwB,EAA4B,MAAM,yBAAyB,CAAA;AAE5F,eAAO,MAAM,6BAA6B,4CAA+C,CAAA;AACzF,MAAM,MAAM,6BAA6B,GAAG,OAAO,6BAA6B,CAAA;AAEhF,MAAM,WAAW,6BAA8B,SAAQ,wBAAwB,EAAE,cAAc;CAAG;AAKlG,MAAM,MAAM,uBAAuB,GAAG,OAAO,CAAC,6BAA6B,EAAE,6BAA6B,CAAC,CAAA;AAK3G,eAAO,MAAM,yBAAyB;;CAAgF,CAAA;AAKtH,eAAO,MAAM,oCAAoC;;EAA2F,CAAA;AAI5I,eAAO,MAAM,gCAAgC;;EAAuC,CAAA;AAKpF,eAAO,MAAM,iCAAiC;;EAAwF,CAAA;AAItI,eAAO,MAAM,6BAA6B;;EAAoC,CAAA"}
@@ -9,9 +9,15 @@ export type DomainRegistrationLease = Payload<DomainRegistrationLeaseFields, Dom
9
9
  export declare const isDomainRegistrationLease: (x?: unknown | null) => x is import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & DomainRegistrationLeaseFields & {
10
10
  schema: "network.xyo.ns.domain.registration.lease";
11
11
  };
12
+ export declare const isDomainRegistrationLeaseWithSources: (x?: unknown | null) => x is import("@xyo-network/payload-model").WithSources<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & DomainRegistrationLeaseFields & {
13
+ schema: "network.xyo.ns.domain.registration.lease";
14
+ }>;
12
15
  export declare const isDomainRegistrationLeaseSources: (x?: unknown | null) => x is import("@xyo-network/payload-model").WithSources<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & DomainRegistrationLeaseFields & {
13
16
  schema: "network.xyo.ns.domain.registration.lease";
14
17
  }>;
18
+ export declare const isDomainRegistrationLeaseWithMeta: (x?: unknown | null) => x is import("@xyo-network/payload-model").WithMeta<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & DomainRegistrationLeaseFields & {
19
+ schema: "network.xyo.ns.domain.registration.lease";
20
+ }>;
15
21
  export declare const isDomainRegistrationLeaseMeta: (x?: unknown | null) => x is import("@xyo-network/payload-model").WithMeta<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & DomainRegistrationLeaseFields & {
16
22
  schema: "network.xyo.ns.domain.registration.lease";
17
23
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"DomainRegistrationLease.d.ts","sourceRoot":"","sources":["../../../src/DomainRegistration/DomainRegistrationLease.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0F,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAE5I,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,wBAAwB,EAA4B,MAAM,yBAAyB,CAAA;AAE5F,eAAO,MAAM,6BAA6B,4CAA+C,CAAA;AACzF,MAAM,MAAM,6BAA6B,GAAG,OAAO,6BAA6B,CAAA;AAEhF,MAAM,WAAW,6BAA8B,SAAQ,wBAAwB,EAAE,cAAc;CAAG;AAKlG,MAAM,MAAM,uBAAuB,GAAG,OAAO,CAAC,6BAA6B,EAAE,6BAA6B,CAAC,CAAA;AAK3G,eAAO,MAAM,yBAAyB;;CAAgF,CAAA;AAKtH,eAAO,MAAM,gCAAgC;;EAA2F,CAAA;AAKxI,eAAO,MAAM,6BAA6B;;EAAwF,CAAA"}
1
+ {"version":3,"file":"DomainRegistrationLease.d.ts","sourceRoot":"","sources":["../../../src/DomainRegistration/DomainRegistrationLease.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0F,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAE5I,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,wBAAwB,EAA4B,MAAM,yBAAyB,CAAA;AAE5F,eAAO,MAAM,6BAA6B,4CAA+C,CAAA;AACzF,MAAM,MAAM,6BAA6B,GAAG,OAAO,6BAA6B,CAAA;AAEhF,MAAM,WAAW,6BAA8B,SAAQ,wBAAwB,EAAE,cAAc;CAAG;AAKlG,MAAM,MAAM,uBAAuB,GAAG,OAAO,CAAC,6BAA6B,EAAE,6BAA6B,CAAC,CAAA;AAK3G,eAAO,MAAM,yBAAyB;;CAAgF,CAAA;AAKtH,eAAO,MAAM,oCAAoC;;EAA2F,CAAA;AAI5I,eAAO,MAAM,gCAAgC;;EAAuC,CAAA;AAKpF,eAAO,MAAM,iCAAiC;;EAAwF,CAAA;AAItI,eAAO,MAAM,6BAA6B;;EAAoC,CAAA"}
@@ -40,6 +40,8 @@ __export(src_exports, {
40
40
  isDomainRegistrationLease: () => isDomainRegistrationLease,
41
41
  isDomainRegistrationLeaseMeta: () => isDomainRegistrationLeaseMeta,
42
42
  isDomainRegistrationLeaseSources: () => isDomainRegistrationLeaseSources,
43
+ isDomainRegistrationLeaseWithMeta: () => isDomainRegistrationLeaseWithMeta,
44
+ isDomainRegistrationLeaseWithSources: () => isDomainRegistrationLeaseWithSources,
43
45
  isDomainRegistrationWithMeta: () => isDomainRegistrationWithMeta,
44
46
  isDomainRegistrationWithSources: () => isDomainRegistrationWithSources,
45
47
  isDomainWithMeta: () => isDomainWithMeta,
@@ -104,8 +106,10 @@ var isDomainRegistrationWithMeta = (0, import_payload_model5.isPayloadOfSchemaTy
104
106
  var import_payload_model6 = require("@xyo-network/payload-model");
105
107
  var DomainRegistrationLeaseSchema = `${DomainRegistrationSchema}.lease`;
106
108
  var isDomainRegistrationLease = (0, import_payload_model6.isPayloadOfSchemaType)(DomainRegistrationLeaseSchema);
107
- var isDomainRegistrationLeaseSources = (0, import_payload_model6.isPayloadOfSchemaTypeWithSources)(DomainRegistrationLeaseSchema);
108
- var isDomainRegistrationLeaseMeta = (0, import_payload_model6.isPayloadOfSchemaTypeWithMeta)(DomainRegistrationLeaseSchema);
109
+ var isDomainRegistrationLeaseWithSources = (0, import_payload_model6.isPayloadOfSchemaTypeWithSources)(DomainRegistrationLeaseSchema);
110
+ var isDomainRegistrationLeaseSources = isDomainRegistrationLeaseWithSources;
111
+ var isDomainRegistrationLeaseWithMeta = (0, import_payload_model6.isPayloadOfSchemaTypeWithMeta)(DomainRegistrationLeaseSchema);
112
+ var isDomainRegistrationLeaseMeta = isDomainRegistrationLeaseWithMeta;
109
113
 
110
114
  // src/Duration/validation/validateBoundWitness.ts
111
115
  var import_boundwitness_validator = require("@xyo-network/boundwitness-validator");
@@ -171,6 +175,8 @@ var validateBoundWitnessWithDuration = async (recordBw, recordPayload) => {
171
175
  isDomainRegistrationLease,
172
176
  isDomainRegistrationLeaseMeta,
173
177
  isDomainRegistrationLeaseSources,
178
+ isDomainRegistrationLeaseWithMeta,
179
+ isDomainRegistrationLeaseWithSources,
174
180
  isDomainRegistrationWithMeta,
175
181
  isDomainRegistrationWithSources,
176
182
  isDomainWithMeta,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts","../../src/Address/Payload.ts","../../src/diviner/DomainLeaseEstimateDiviner/Schema.ts","../../src/diviner/DomainLeaseEstimateDiviner/ErrorDetails/ErrorCodes.ts","../../src/diviner/DomainLeaseEstimateDiviner/ErrorDetails/Payload.ts","../../src/Domain/Domain.ts","../../src/Domain/DomainLease.ts","../../src/DomainRegistration/DomainRegistration.ts","../../src/DomainRegistration/DomainRegistrationLease.ts","../../src/Duration/validation/validateBoundWitness.ts","../../src/Duration/validation/validateBoundWitnessAndDuration.ts","../../src/Duration/validation/validateDuration.ts","../../src/Duration/validation/validateBoundWitnessWithDuration.ts"],"sourcesContent":["export * from './Address/index.js'\nexport * from './diviner/index.js'\nexport * from './Domain/index.js'\nexport * from './DomainRegistration/index.js'\nexport * from './Duration/index.js'\n","import { Address } from '@xylabs/hex'\nimport { isPayloadOfSchemaType, Payload, WithMeta } from '@xyo-network/payload-model'\n\nimport { DomainFields } from '../Domain/index.js'\n\nexport type AddressRecordSchema = 'network.xyo.ns.record.address'\nexport const AddressRecordSchema: AddressRecordSchema = 'network.xyo.ns.record.address'\n\nexport interface AddressRecordFields extends DomainFields {\n /**\n * The address the record points to\n */\n address: Address[]\n}\n\n/**\n * An address record points a domain to an address\n */\nexport type AddressRecord = Payload<AddressRecordFields, AddressRecordSchema>\n\nexport const isAddressRecord = isPayloadOfSchemaType<AddressRecord>(AddressRecordSchema)\nexport const isAddressRecordWithMeta = isPayloadOfSchemaType<WithMeta<AddressRecord>>(AddressRecordSchema)\n","export const DomainLeaseEstimateDivinerValidationErrorDetailsSchema =\n 'network.xyo.diviner.ns.domain.registration.lease.estimate.validation.error.details' as const\n\nexport type DomainLeaseEstimateDivinerValidationErrorDetailsSchema = typeof DomainLeaseEstimateDivinerValidationErrorDetailsSchema\n","import { DomainLeaseEstimateDivinerValidationErrorDetailsSchema } from '../Schema.js'\nimport { DomainLeaseEstimateDivinerValidationErrorDetails, ErrorDetailsDictionary } from './Payload.js'\n\n// export type DomainLeaseEstimateDivinerErrorDetailsDictionaryErrorCode = keyof typeof DomainLeaseEstimateDivinerErrorDetailsDictionary\nexport type DomainLeaseEstimateDivinerErrorDetailsDictionaryErrorCode = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8\n\nexport const DomainLeaseEstimateDivinerErrorDetailsDictionary: Readonly<\n Readonly<Record<DomainLeaseEstimateDivinerErrorDetailsDictionaryErrorCode, DomainLeaseEstimateDivinerValidationErrorDetails>> &\n ErrorDetailsDictionary\n> = {\n 0: { code: '0', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Success' },\n 1: { code: '1', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Invalid casing' },\n 2: { code: '2', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Invalid coin signature' },\n 3: { code: '3', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Invalid length' },\n 4: { code: '4', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Invalid name' },\n 5: { code: '5', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Reserved fragment' },\n 6: { code: '6', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Reserved name' },\n 7: { code: '7', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Reserved string' },\n 8: { code: '8', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Invalid TLD' },\n} as const\n","import { isPayloadOfSchemaType, isPayloadOfSchemaTypeWithMeta, isPayloadOfSchemaTypeWithSources, Payload } from '@xyo-network/payload-model'\n\nimport { DomainLeaseEstimateDivinerValidationErrorDetailsSchema } from '../Schema.js'\n\nexport interface ErrorDetails<TErrorCode extends string | undefined = string | undefined> {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n [key: string]: any // Index signature for any other additional properties\n /**\n * A string code indicating the error type.\n */\n code: TErrorCode\n /**\n * A human-readable explanation specific to this occurrence of the problem\n */\n detail?: string\n /**\n * A short, human-readable summary of the problem type.\n */\n title?: string\n}\n\nexport type ErrorDetailsDictionary<T extends number = number> = {\n readonly [K in T]: ErrorDetails<`${K}`>\n}\n\n/**\n * A payment authorization token payload\n */\nexport type DomainLeaseEstimateDivinerValidationErrorDetails<TErrorCode extends string | undefined = string> = Payload<\n ErrorDetails<TErrorCode>,\n DomainLeaseEstimateDivinerValidationErrorDetailsSchema\n>\n\n/**\n * Identity function for DomainLeaseEstimateDivinerValidationErrorDetails payload\n */\nexport const isDomainLeaseEstimateDivinerValidationErrorDetails = isPayloadOfSchemaType<DomainLeaseEstimateDivinerValidationErrorDetails>(\n DomainLeaseEstimateDivinerValidationErrorDetailsSchema,\n)\n\n/**\n * Identity function for DomainLeaseEstimateDivinerValidationErrorDetails payload with sources\n */\nexport const isDomainLeaseEstimateDivinerValidationErrorDetailsWithSources =\n isPayloadOfSchemaTypeWithSources<DomainLeaseEstimateDivinerValidationErrorDetails>(DomainLeaseEstimateDivinerValidationErrorDetailsSchema)\n\n/**\n * Identity function for DomainLeaseEstimateDivinerValidationErrorDetails payload with meta\n */\nexport const isDomainLeaseEstimateDivinerValidationErrorDetailsWithMeta =\n isPayloadOfSchemaTypeWithMeta<DomainLeaseEstimateDivinerValidationErrorDetails>(DomainLeaseEstimateDivinerValidationErrorDetailsSchema)\n","import { isPayloadOfSchemaType, isPayloadOfSchemaTypeWithMeta, isPayloadOfSchemaTypeWithSources, Payload } from '@xyo-network/payload-model'\n\nexport type DomainSchema = 'network.xyo.ns.domain'\nexport const DomainSchema: DomainSchema = 'network.xyo.ns.domain'\n\n/**\n * The supported TLDs for XNS\n */\nexport type TopLevelDomain = 'xyo'\n\n/**\n * The fields for a domain record\n */\nexport interface DomainFields {\n /**\n * The XNS domain of the record\n */\n domain: string\n\n /**\n * The Top-Level Domain of the domain\n */\n tld: TopLevelDomain\n}\n\n/**\n * A domain record is a record of a domain\n */\nexport type Domain = Payload<DomainFields, DomainSchema>\n\n/**\n * Identity function for Domain payload\n */\nexport const isDomain = isPayloadOfSchemaType<Domain>(DomainSchema)\n\n/**\n * Identity function for Domain payload with sources\n */\nexport const isDomainWithSources = isPayloadOfSchemaTypeWithSources<Domain>(DomainSchema)\n\n/**\n * Identity function for Domain payload with meta\n */\nexport const isDomainWithMeta = isPayloadOfSchemaTypeWithMeta<Domain>(DomainSchema)\n","import { isPayloadOfSchemaType, isPayloadOfSchemaTypeWithMeta, isPayloadOfSchemaTypeWithSources, Payload } from '@xyo-network/payload-model'\n\nimport { DurationFields } from '../Duration/index.js'\nimport { DomainFields } from './Domain.js'\n\nexport type DomainLeaseSchema = 'network.xyo.ns.domain.lease'\nexport const DomainLeaseSchema: DomainLeaseSchema = 'network.xyo.ns.domain.lease'\n\n/**\n * A domain is leased for a duration\n */\nexport interface DomainLeaseFields extends DomainFields, DurationFields {}\n\n/**\n * A domain lease is a record of a domain and the duration it is leased for\n */\nexport type DomainLease = Payload<DomainLeaseFields, DomainLeaseSchema>\n\n/**\n * Identity function for DomainLease payload\n */\nexport const isDomainLease = isPayloadOfSchemaType<DomainLease>(DomainLeaseSchema)\n\n/**\n * Identity function for DomainLease payload with sources\n */\nexport const isDomainLeaseWithSources = isPayloadOfSchemaTypeWithSources<DomainLease>(DomainLeaseSchema)\n\n/**\n * Identity function for DomainLease payload with meta\n */\nexport const isDomainLeaseWithMeta = isPayloadOfSchemaTypeWithMeta<DomainLease>(DomainLeaseSchema)\n","import { Address } from '@xylabs/hex'\nimport { isPayloadOfSchemaType, isPayloadOfSchemaTypeWithMeta, isPayloadOfSchemaTypeWithSources, Payload } from '@xyo-network/payload-model'\n\nimport { DomainFields, DomainSchema } from '../Domain/index.js'\n\nexport const DomainRegistrationSchema = `${DomainSchema}.registration` as const\nexport type DomainRegistrationSchema = typeof DomainRegistrationSchema\n\nexport interface DomainRegistrationFields extends DomainFields {\n /**\n * The registrant of the domain\n */\n registrant: Address[]\n /**\n * The registrar of the domain\n */\n registrar: Address[]\n}\n\n/**\n * Delegation of a domain to a registrar by a registrant\n */\nexport type DomainRegistration = Payload<DomainRegistrationFields, DomainRegistrationSchema>\n\n/**\n * Identity function for DomainRegistration payload\n */\nexport const isDomainRegistration = isPayloadOfSchemaType<DomainRegistration>(DomainRegistrationSchema)\n\n/**\n * Identity function for DomainRegistration payload with sources\n */\nexport const isDomainRegistrationWithSources = isPayloadOfSchemaTypeWithSources<DomainRegistration>(DomainRegistrationSchema)\n\n/**\n * Identity function for DomainRegistration payload with meta\n */\nexport const isDomainRegistrationWithMeta = isPayloadOfSchemaTypeWithMeta<DomainRegistration>(DomainRegistrationSchema)\n","import { isPayloadOfSchemaType, isPayloadOfSchemaTypeWithMeta, isPayloadOfSchemaTypeWithSources, Payload } from '@xyo-network/payload-model'\n\nimport { DurationFields } from '../Duration/index.js'\nimport { DomainRegistrationFields, DomainRegistrationSchema } from './DomainRegistration.js'\n\nexport const DomainRegistrationLeaseSchema = `${DomainRegistrationSchema}.lease` as const\nexport type DomainRegistrationLeaseSchema = typeof DomainRegistrationLeaseSchema\n\nexport interface DomainRegistrationLeaseFields extends DomainRegistrationFields, DurationFields {}\n\n/**\n * Temporal delegation of a domain to a registrar by a registrant\n */\nexport type DomainRegistrationLease = Payload<DomainRegistrationLeaseFields, DomainRegistrationLeaseSchema>\n\n/**\n * Identity function for DomainRegistrationLease payload\n */\nexport const isDomainRegistrationLease = isPayloadOfSchemaType<DomainRegistrationLease>(DomainRegistrationLeaseSchema)\n\n/**\n * Identity function for DomainRegistrationLease payload with sources\n */\nexport const isDomainRegistrationLeaseSources = isPayloadOfSchemaTypeWithSources<DomainRegistrationLease>(DomainRegistrationLeaseSchema)\n\n/**\n * Identity function for DomainRegistrationLease payload with meta\n */\nexport const isDomainRegistrationLeaseMeta = isPayloadOfSchemaTypeWithMeta<DomainRegistrationLease>(DomainRegistrationLeaseSchema)\n","import { BoundWitness } from '@xyo-network/boundwitness-model'\nimport { BoundWitnessValidator } from '@xyo-network/boundwitness-validator'\n\n// BW Validations\nexport const validateBoundWitness = async (recordBw: BoundWitness, requiredSchemas: string[] = []): Promise<boolean> => {\n // If the BW does not include all of the required schemas\n if (!requiredSchemas.every((requiredSchema) => recordBw.payload_schemas.includes(requiredSchema))) return false\n // If the BW is valid (does not include any errors)\n const validator = new BoundWitnessValidator(recordBw)\n const errors = await validator.validate()\n return errors.length === 0\n}\n","import { BoundWitness } from '@xyo-network/boundwitness-model'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { Payload } from '@xyo-network/payload-model'\n\nimport { DurationFields } from '../Duration.js'\n\n// BW & Record Validations\nexport const validateBoundWitnessAndDuration = async (recordBw: BoundWitness, recordPayload: Payload<DurationFields>): Promise<boolean> => {\n if (!(await recordIsInBoundWitness(recordBw, recordPayload))) return false\n if (!recordIsTemporallyValidToBoundWitness(recordBw, recordPayload)) return false\n return true\n}\n\nconst recordIsInBoundWitness = async (recordBw: BoundWitness, recordPayload: Payload): Promise<boolean> => {\n const hash = await PayloadBuilder.dataHash(recordPayload)\n return recordBw.payload_hashes.includes(hash)\n}\n\nconst recordIsTemporallyValidToBoundWitness = (recordBw: BoundWitness, recordPayload: Payload<DurationFields>): boolean => {\n const { timestamp } = recordBw\n const { exp } = recordPayload\n return exp > timestamp\n}\n","// import { isAddress } from '@xylabs/hex'\nimport { Payload } from '@xyo-network/payload-model'\n\nimport { DurationFields } from '../Duration.js'\n\n// Record Validations\nexport const validateDuration = (recordPayload: Payload<DurationFields>): boolean => {\n // if (!isValidAddress(recordPayload)) return false\n if (!isWithinDelegatedTimeframe(recordPayload)) return false\n return true\n}\n\n// const isValidAddress = (recordPayload: Payload<DomainLeaseFields>): boolean => {\n// return isAddress(recordPayload.nameserver, { prefix: false })\n// }\n\nconst isWithinDelegatedTimeframe = (recordPayload: Payload<DurationFields>, now = Date.now()): boolean => {\n // nbf < now < exp\n return recordPayload.nbf < now && now < recordPayload.exp\n}\n","import { BoundWitness } from '@xyo-network/boundwitness-model'\nimport { Payload } from '@xyo-network/payload-model'\n\nimport { DurationFields } from '../Duration.js'\nimport { validateBoundWitness } from './validateBoundWitness.js'\nimport { validateBoundWitnessAndDuration } from './validateBoundWitnessAndDuration.js'\nimport { validateDuration } from './validateDuration.js'\n\nexport const validateBoundWitnessWithDuration = async (recordBw: BoundWitness, recordPayload: Payload<DurationFields>): Promise<boolean> => {\n // Validate the BW\n if (!(await validateBoundWitness(recordBw, [recordPayload.schema]))) return false\n // Validate the record\n if (!validateDuration(recordPayload)) return false\n // Validate the record relative to the BW\n if (!(await validateBoundWitnessAndDuration(recordBw, recordPayload))) return false\n return true\n}\n"],"mappings":"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","names":["import_payload_model","import_payload_model","import_payload_model","import_payload_model","import_payload_model"]}
1
+ {"version":3,"sources":["../../src/index.ts","../../src/Address/Payload.ts","../../src/diviner/DomainLeaseEstimateDiviner/Schema.ts","../../src/diviner/DomainLeaseEstimateDiviner/ErrorDetails/ErrorCodes.ts","../../src/diviner/DomainLeaseEstimateDiviner/ErrorDetails/Payload.ts","../../src/Domain/Domain.ts","../../src/Domain/DomainLease.ts","../../src/DomainRegistration/DomainRegistration.ts","../../src/DomainRegistration/DomainRegistrationLease.ts","../../src/Duration/validation/validateBoundWitness.ts","../../src/Duration/validation/validateBoundWitnessAndDuration.ts","../../src/Duration/validation/validateDuration.ts","../../src/Duration/validation/validateBoundWitnessWithDuration.ts"],"sourcesContent":["export * from './Address/index.js'\nexport * from './diviner/index.js'\nexport * from './Domain/index.js'\nexport * from './DomainRegistration/index.js'\nexport * from './Duration/index.js'\n","import { Address } from '@xylabs/hex'\nimport { isPayloadOfSchemaType, Payload, WithMeta } from '@xyo-network/payload-model'\n\nimport { DomainFields } from '../Domain/index.js'\n\nexport type AddressRecordSchema = 'network.xyo.ns.record.address'\nexport const AddressRecordSchema: AddressRecordSchema = 'network.xyo.ns.record.address'\n\nexport interface AddressRecordFields extends DomainFields {\n /**\n * The address the record points to\n */\n address: Address[]\n}\n\n/**\n * An address record points a domain to an address\n */\nexport type AddressRecord = Payload<AddressRecordFields, AddressRecordSchema>\n\nexport const isAddressRecord = isPayloadOfSchemaType<AddressRecord>(AddressRecordSchema)\nexport const isAddressRecordWithMeta = isPayloadOfSchemaType<WithMeta<AddressRecord>>(AddressRecordSchema)\n","export const DomainLeaseEstimateDivinerValidationErrorDetailsSchema =\n 'network.xyo.diviner.ns.domain.registration.lease.estimate.validation.error.details' as const\n\nexport type DomainLeaseEstimateDivinerValidationErrorDetailsSchema = typeof DomainLeaseEstimateDivinerValidationErrorDetailsSchema\n","import { DomainLeaseEstimateDivinerValidationErrorDetailsSchema } from '../Schema.js'\nimport { DomainLeaseEstimateDivinerValidationErrorDetails, ErrorDetailsDictionary } from './Payload.js'\n\n// export type DomainLeaseEstimateDivinerErrorDetailsDictionaryErrorCode = keyof typeof DomainLeaseEstimateDivinerErrorDetailsDictionary\nexport type DomainLeaseEstimateDivinerErrorDetailsDictionaryErrorCode = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8\n\nexport const DomainLeaseEstimateDivinerErrorDetailsDictionary: Readonly<\n Readonly<Record<DomainLeaseEstimateDivinerErrorDetailsDictionaryErrorCode, DomainLeaseEstimateDivinerValidationErrorDetails>> &\n ErrorDetailsDictionary\n> = {\n 0: { code: '0', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Success' },\n 1: { code: '1', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Invalid casing' },\n 2: { code: '2', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Invalid coin signature' },\n 3: { code: '3', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Invalid length' },\n 4: { code: '4', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Invalid name' },\n 5: { code: '5', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Reserved fragment' },\n 6: { code: '6', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Reserved name' },\n 7: { code: '7', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Reserved string' },\n 8: { code: '8', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Invalid TLD' },\n} as const\n","import { isPayloadOfSchemaType, isPayloadOfSchemaTypeWithMeta, isPayloadOfSchemaTypeWithSources, Payload } from '@xyo-network/payload-model'\n\nimport { DomainLeaseEstimateDivinerValidationErrorDetailsSchema } from '../Schema.js'\n\nexport interface ErrorDetails<TErrorCode extends string | undefined = string | undefined> {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n [key: string]: any // Index signature for any other additional properties\n /**\n * A string code indicating the error type.\n */\n code: TErrorCode\n /**\n * A human-readable explanation specific to this occurrence of the problem\n */\n detail?: string\n /**\n * A short, human-readable summary of the problem type.\n */\n title?: string\n}\n\nexport type ErrorDetailsDictionary<T extends number = number> = {\n readonly [K in T]: ErrorDetails<`${K}`>\n}\n\n/**\n * A payment authorization token payload\n */\nexport type DomainLeaseEstimateDivinerValidationErrorDetails<TErrorCode extends string | undefined = string> = Payload<\n ErrorDetails<TErrorCode>,\n DomainLeaseEstimateDivinerValidationErrorDetailsSchema\n>\n\n/**\n * Identity function for DomainLeaseEstimateDivinerValidationErrorDetails payload\n */\nexport const isDomainLeaseEstimateDivinerValidationErrorDetails = isPayloadOfSchemaType<DomainLeaseEstimateDivinerValidationErrorDetails>(\n DomainLeaseEstimateDivinerValidationErrorDetailsSchema,\n)\n\n/**\n * Identity function for DomainLeaseEstimateDivinerValidationErrorDetails payload with sources\n */\nexport const isDomainLeaseEstimateDivinerValidationErrorDetailsWithSources =\n isPayloadOfSchemaTypeWithSources<DomainLeaseEstimateDivinerValidationErrorDetails>(DomainLeaseEstimateDivinerValidationErrorDetailsSchema)\n\n/**\n * Identity function for DomainLeaseEstimateDivinerValidationErrorDetails payload with meta\n */\nexport const isDomainLeaseEstimateDivinerValidationErrorDetailsWithMeta =\n isPayloadOfSchemaTypeWithMeta<DomainLeaseEstimateDivinerValidationErrorDetails>(DomainLeaseEstimateDivinerValidationErrorDetailsSchema)\n","import { isPayloadOfSchemaType, isPayloadOfSchemaTypeWithMeta, isPayloadOfSchemaTypeWithSources, Payload } from '@xyo-network/payload-model'\n\nexport type DomainSchema = 'network.xyo.ns.domain'\nexport const DomainSchema: DomainSchema = 'network.xyo.ns.domain'\n\n/**\n * The supported TLDs for XNS\n */\nexport type TopLevelDomain = 'xyo'\n\n/**\n * The fields for a domain record\n */\nexport interface DomainFields {\n /**\n * The XNS domain of the record\n */\n domain: string\n\n /**\n * The Top-Level Domain of the domain\n */\n tld: TopLevelDomain\n}\n\n/**\n * A domain record is a record of a domain\n */\nexport type Domain = Payload<DomainFields, DomainSchema>\n\n/**\n * Identity function for Domain payload\n */\nexport const isDomain = isPayloadOfSchemaType<Domain>(DomainSchema)\n\n/**\n * Identity function for Domain payload with sources\n */\nexport const isDomainWithSources = isPayloadOfSchemaTypeWithSources<Domain>(DomainSchema)\n\n/**\n * Identity function for Domain payload with meta\n */\nexport const isDomainWithMeta = isPayloadOfSchemaTypeWithMeta<Domain>(DomainSchema)\n","import { isPayloadOfSchemaType, isPayloadOfSchemaTypeWithMeta, isPayloadOfSchemaTypeWithSources, Payload } from '@xyo-network/payload-model'\n\nimport { DurationFields } from '../Duration/index.js'\nimport { DomainFields } from './Domain.js'\n\nexport type DomainLeaseSchema = 'network.xyo.ns.domain.lease'\nexport const DomainLeaseSchema: DomainLeaseSchema = 'network.xyo.ns.domain.lease'\n\n/**\n * A domain is leased for a duration\n */\nexport interface DomainLeaseFields extends DomainFields, DurationFields {}\n\n/**\n * A domain lease is a record of a domain and the duration it is leased for\n */\nexport type DomainLease = Payload<DomainLeaseFields, DomainLeaseSchema>\n\n/**\n * Identity function for DomainLease payload\n */\nexport const isDomainLease = isPayloadOfSchemaType<DomainLease>(DomainLeaseSchema)\n\n/**\n * Identity function for DomainLease payload with sources\n */\nexport const isDomainLeaseWithSources = isPayloadOfSchemaTypeWithSources<DomainLease>(DomainLeaseSchema)\n\n/**\n * Identity function for DomainLease payload with meta\n */\nexport const isDomainLeaseWithMeta = isPayloadOfSchemaTypeWithMeta<DomainLease>(DomainLeaseSchema)\n","import { Address } from '@xylabs/hex'\nimport { isPayloadOfSchemaType, isPayloadOfSchemaTypeWithMeta, isPayloadOfSchemaTypeWithSources, Payload } from '@xyo-network/payload-model'\n\nimport { DomainFields, DomainSchema } from '../Domain/index.js'\n\nexport const DomainRegistrationSchema = `${DomainSchema}.registration` as const\nexport type DomainRegistrationSchema = typeof DomainRegistrationSchema\n\nexport interface DomainRegistrationFields extends DomainFields {\n /**\n * The registrant of the domain\n */\n registrant: Address[]\n /**\n * The registrar of the domain\n */\n registrar: Address[]\n}\n\n/**\n * Delegation of a domain to a registrar by a registrant\n */\nexport type DomainRegistration = Payload<DomainRegistrationFields, DomainRegistrationSchema>\n\n/**\n * Identity function for DomainRegistration payload\n */\nexport const isDomainRegistration = isPayloadOfSchemaType<DomainRegistration>(DomainRegistrationSchema)\n\n/**\n * Identity function for DomainRegistration payload with sources\n */\nexport const isDomainRegistrationWithSources = isPayloadOfSchemaTypeWithSources<DomainRegistration>(DomainRegistrationSchema)\n\n/**\n * Identity function for DomainRegistration payload with meta\n */\nexport const isDomainRegistrationWithMeta = isPayloadOfSchemaTypeWithMeta<DomainRegistration>(DomainRegistrationSchema)\n","import { isPayloadOfSchemaType, isPayloadOfSchemaTypeWithMeta, isPayloadOfSchemaTypeWithSources, Payload } from '@xyo-network/payload-model'\n\nimport { DurationFields } from '../Duration/index.js'\nimport { DomainRegistrationFields, DomainRegistrationSchema } from './DomainRegistration.js'\n\nexport const DomainRegistrationLeaseSchema = `${DomainRegistrationSchema}.lease` as const\nexport type DomainRegistrationLeaseSchema = typeof DomainRegistrationLeaseSchema\n\nexport interface DomainRegistrationLeaseFields extends DomainRegistrationFields, DurationFields {}\n\n/**\n * Temporal delegation of a domain to a registrar by a registrant\n */\nexport type DomainRegistrationLease = Payload<DomainRegistrationLeaseFields, DomainRegistrationLeaseSchema>\n\n/**\n * Identity function for DomainRegistrationLease payload\n */\nexport const isDomainRegistrationLease = isPayloadOfSchemaType<DomainRegistrationLease>(DomainRegistrationLeaseSchema)\n\n/**\n * Identity function for DomainRegistrationLease payload with sources\n */\nexport const isDomainRegistrationLeaseWithSources = isPayloadOfSchemaTypeWithSources<DomainRegistrationLease>(DomainRegistrationLeaseSchema)\n/**\n * @deprecated Use isDomainRegistrationLeaseWithSources instead\n */\nexport const isDomainRegistrationLeaseSources = isDomainRegistrationLeaseWithSources\n\n/**\n * Identity function for DomainRegistrationLease payload with meta\n */\nexport const isDomainRegistrationLeaseWithMeta = isPayloadOfSchemaTypeWithMeta<DomainRegistrationLease>(DomainRegistrationLeaseSchema)\n/**\n * @deprecated Use isDomainRegistrationLeaseWithMeta instead\n */\nexport const isDomainRegistrationLeaseMeta = isDomainRegistrationLeaseWithMeta\n","import { BoundWitness } from '@xyo-network/boundwitness-model'\nimport { BoundWitnessValidator } from '@xyo-network/boundwitness-validator'\n\n// BW Validations\nexport const validateBoundWitness = async (recordBw: BoundWitness, requiredSchemas: string[] = []): Promise<boolean> => {\n // If the BW does not include all of the required schemas\n if (!requiredSchemas.every((requiredSchema) => recordBw.payload_schemas.includes(requiredSchema))) return false\n // If the BW is valid (does not include any errors)\n const validator = new BoundWitnessValidator(recordBw)\n const errors = await validator.validate()\n return errors.length === 0\n}\n","import { BoundWitness } from '@xyo-network/boundwitness-model'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { Payload } from '@xyo-network/payload-model'\n\nimport { DurationFields } from '../Duration.js'\n\n// BW & Record Validations\nexport const validateBoundWitnessAndDuration = async (recordBw: BoundWitness, recordPayload: Payload<DurationFields>): Promise<boolean> => {\n if (!(await recordIsInBoundWitness(recordBw, recordPayload))) return false\n if (!recordIsTemporallyValidToBoundWitness(recordBw, recordPayload)) return false\n return true\n}\n\nconst recordIsInBoundWitness = async (recordBw: BoundWitness, recordPayload: Payload): Promise<boolean> => {\n const hash = await PayloadBuilder.dataHash(recordPayload)\n return recordBw.payload_hashes.includes(hash)\n}\n\nconst recordIsTemporallyValidToBoundWitness = (recordBw: BoundWitness, recordPayload: Payload<DurationFields>): boolean => {\n const { timestamp } = recordBw\n const { exp } = recordPayload\n return exp > timestamp\n}\n","// import { isAddress } from '@xylabs/hex'\nimport { Payload } from '@xyo-network/payload-model'\n\nimport { DurationFields } from '../Duration.js'\n\n// Record Validations\nexport const validateDuration = (recordPayload: Payload<DurationFields>): boolean => {\n // if (!isValidAddress(recordPayload)) return false\n if (!isWithinDelegatedTimeframe(recordPayload)) return false\n return true\n}\n\n// const isValidAddress = (recordPayload: Payload<DomainLeaseFields>): boolean => {\n// return isAddress(recordPayload.nameserver, { prefix: false })\n// }\n\nconst isWithinDelegatedTimeframe = (recordPayload: Payload<DurationFields>, now = Date.now()): boolean => {\n // nbf < now < exp\n return recordPayload.nbf < now && now < recordPayload.exp\n}\n","import { BoundWitness } from '@xyo-network/boundwitness-model'\nimport { Payload } from '@xyo-network/payload-model'\n\nimport { DurationFields } from '../Duration.js'\nimport { validateBoundWitness } from './validateBoundWitness.js'\nimport { validateBoundWitnessAndDuration } from './validateBoundWitnessAndDuration.js'\nimport { validateDuration } from './validateDuration.js'\n\nexport const validateBoundWitnessWithDuration = async (recordBw: BoundWitness, recordPayload: Payload<DurationFields>): Promise<boolean> => {\n // Validate the BW\n if (!(await validateBoundWitness(recordBw, [recordPayload.schema]))) return false\n // Validate the record\n if (!validateDuration(recordPayload)) return false\n // Validate the record relative to the BW\n if (!(await validateBoundWitnessAndDuration(recordBw, recordPayload))) return false\n return true\n}\n"],"mappings":"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","names":["import_payload_model","import_payload_model","import_payload_model","import_payload_model","import_payload_model"]}
@@ -53,8 +53,10 @@ var isDomainRegistrationWithMeta = isPayloadOfSchemaTypeWithMeta4(DomainRegistra
53
53
  import { isPayloadOfSchemaType as isPayloadOfSchemaType6, isPayloadOfSchemaTypeWithMeta as isPayloadOfSchemaTypeWithMeta5, isPayloadOfSchemaTypeWithSources as isPayloadOfSchemaTypeWithSources5 } from "@xyo-network/payload-model";
54
54
  var DomainRegistrationLeaseSchema = `${DomainRegistrationSchema}.lease`;
55
55
  var isDomainRegistrationLease = isPayloadOfSchemaType6(DomainRegistrationLeaseSchema);
56
- var isDomainRegistrationLeaseSources = isPayloadOfSchemaTypeWithSources5(DomainRegistrationLeaseSchema);
57
- var isDomainRegistrationLeaseMeta = isPayloadOfSchemaTypeWithMeta5(DomainRegistrationLeaseSchema);
56
+ var isDomainRegistrationLeaseWithSources = isPayloadOfSchemaTypeWithSources5(DomainRegistrationLeaseSchema);
57
+ var isDomainRegistrationLeaseSources = isDomainRegistrationLeaseWithSources;
58
+ var isDomainRegistrationLeaseWithMeta = isPayloadOfSchemaTypeWithMeta5(DomainRegistrationLeaseSchema);
59
+ var isDomainRegistrationLeaseMeta = isDomainRegistrationLeaseWithMeta;
58
60
 
59
61
  // src/Duration/validation/validateBoundWitness.ts
60
62
  import { BoundWitnessValidator } from "@xyo-network/boundwitness-validator";
@@ -119,6 +121,8 @@ export {
119
121
  isDomainRegistrationLease,
120
122
  isDomainRegistrationLeaseMeta,
121
123
  isDomainRegistrationLeaseSources,
124
+ isDomainRegistrationLeaseWithMeta,
125
+ isDomainRegistrationLeaseWithSources,
122
126
  isDomainRegistrationWithMeta,
123
127
  isDomainRegistrationWithSources,
124
128
  isDomainWithMeta,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Address/Payload.ts","../../src/diviner/DomainLeaseEstimateDiviner/Schema.ts","../../src/diviner/DomainLeaseEstimateDiviner/ErrorDetails/ErrorCodes.ts","../../src/diviner/DomainLeaseEstimateDiviner/ErrorDetails/Payload.ts","../../src/Domain/Domain.ts","../../src/Domain/DomainLease.ts","../../src/DomainRegistration/DomainRegistration.ts","../../src/DomainRegistration/DomainRegistrationLease.ts","../../src/Duration/validation/validateBoundWitness.ts","../../src/Duration/validation/validateBoundWitnessAndDuration.ts","../../src/Duration/validation/validateDuration.ts","../../src/Duration/validation/validateBoundWitnessWithDuration.ts"],"sourcesContent":["import { Address } from '@xylabs/hex'\nimport { isPayloadOfSchemaType, Payload, WithMeta } from '@xyo-network/payload-model'\n\nimport { DomainFields } from '../Domain/index.js'\n\nexport type AddressRecordSchema = 'network.xyo.ns.record.address'\nexport const AddressRecordSchema: AddressRecordSchema = 'network.xyo.ns.record.address'\n\nexport interface AddressRecordFields extends DomainFields {\n /**\n * The address the record points to\n */\n address: Address[]\n}\n\n/**\n * An address record points a domain to an address\n */\nexport type AddressRecord = Payload<AddressRecordFields, AddressRecordSchema>\n\nexport const isAddressRecord = isPayloadOfSchemaType<AddressRecord>(AddressRecordSchema)\nexport const isAddressRecordWithMeta = isPayloadOfSchemaType<WithMeta<AddressRecord>>(AddressRecordSchema)\n","export const DomainLeaseEstimateDivinerValidationErrorDetailsSchema =\n 'network.xyo.diviner.ns.domain.registration.lease.estimate.validation.error.details' as const\n\nexport type DomainLeaseEstimateDivinerValidationErrorDetailsSchema = typeof DomainLeaseEstimateDivinerValidationErrorDetailsSchema\n","import { DomainLeaseEstimateDivinerValidationErrorDetailsSchema } from '../Schema.js'\nimport { DomainLeaseEstimateDivinerValidationErrorDetails, ErrorDetailsDictionary } from './Payload.js'\n\n// export type DomainLeaseEstimateDivinerErrorDetailsDictionaryErrorCode = keyof typeof DomainLeaseEstimateDivinerErrorDetailsDictionary\nexport type DomainLeaseEstimateDivinerErrorDetailsDictionaryErrorCode = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8\n\nexport const DomainLeaseEstimateDivinerErrorDetailsDictionary: Readonly<\n Readonly<Record<DomainLeaseEstimateDivinerErrorDetailsDictionaryErrorCode, DomainLeaseEstimateDivinerValidationErrorDetails>> &\n ErrorDetailsDictionary\n> = {\n 0: { code: '0', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Success' },\n 1: { code: '1', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Invalid casing' },\n 2: { code: '2', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Invalid coin signature' },\n 3: { code: '3', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Invalid length' },\n 4: { code: '4', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Invalid name' },\n 5: { code: '5', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Reserved fragment' },\n 6: { code: '6', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Reserved name' },\n 7: { code: '7', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Reserved string' },\n 8: { code: '8', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Invalid TLD' },\n} as const\n","import { isPayloadOfSchemaType, isPayloadOfSchemaTypeWithMeta, isPayloadOfSchemaTypeWithSources, Payload } from '@xyo-network/payload-model'\n\nimport { DomainLeaseEstimateDivinerValidationErrorDetailsSchema } from '../Schema.js'\n\nexport interface ErrorDetails<TErrorCode extends string | undefined = string | undefined> {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n [key: string]: any // Index signature for any other additional properties\n /**\n * A string code indicating the error type.\n */\n code: TErrorCode\n /**\n * A human-readable explanation specific to this occurrence of the problem\n */\n detail?: string\n /**\n * A short, human-readable summary of the problem type.\n */\n title?: string\n}\n\nexport type ErrorDetailsDictionary<T extends number = number> = {\n readonly [K in T]: ErrorDetails<`${K}`>\n}\n\n/**\n * A payment authorization token payload\n */\nexport type DomainLeaseEstimateDivinerValidationErrorDetails<TErrorCode extends string | undefined = string> = Payload<\n ErrorDetails<TErrorCode>,\n DomainLeaseEstimateDivinerValidationErrorDetailsSchema\n>\n\n/**\n * Identity function for DomainLeaseEstimateDivinerValidationErrorDetails payload\n */\nexport const isDomainLeaseEstimateDivinerValidationErrorDetails = isPayloadOfSchemaType<DomainLeaseEstimateDivinerValidationErrorDetails>(\n DomainLeaseEstimateDivinerValidationErrorDetailsSchema,\n)\n\n/**\n * Identity function for DomainLeaseEstimateDivinerValidationErrorDetails payload with sources\n */\nexport const isDomainLeaseEstimateDivinerValidationErrorDetailsWithSources =\n isPayloadOfSchemaTypeWithSources<DomainLeaseEstimateDivinerValidationErrorDetails>(DomainLeaseEstimateDivinerValidationErrorDetailsSchema)\n\n/**\n * Identity function for DomainLeaseEstimateDivinerValidationErrorDetails payload with meta\n */\nexport const isDomainLeaseEstimateDivinerValidationErrorDetailsWithMeta =\n isPayloadOfSchemaTypeWithMeta<DomainLeaseEstimateDivinerValidationErrorDetails>(DomainLeaseEstimateDivinerValidationErrorDetailsSchema)\n","import { isPayloadOfSchemaType, isPayloadOfSchemaTypeWithMeta, isPayloadOfSchemaTypeWithSources, Payload } from '@xyo-network/payload-model'\n\nexport type DomainSchema = 'network.xyo.ns.domain'\nexport const DomainSchema: DomainSchema = 'network.xyo.ns.domain'\n\n/**\n * The supported TLDs for XNS\n */\nexport type TopLevelDomain = 'xyo'\n\n/**\n * The fields for a domain record\n */\nexport interface DomainFields {\n /**\n * The XNS domain of the record\n */\n domain: string\n\n /**\n * The Top-Level Domain of the domain\n */\n tld: TopLevelDomain\n}\n\n/**\n * A domain record is a record of a domain\n */\nexport type Domain = Payload<DomainFields, DomainSchema>\n\n/**\n * Identity function for Domain payload\n */\nexport const isDomain = isPayloadOfSchemaType<Domain>(DomainSchema)\n\n/**\n * Identity function for Domain payload with sources\n */\nexport const isDomainWithSources = isPayloadOfSchemaTypeWithSources<Domain>(DomainSchema)\n\n/**\n * Identity function for Domain payload with meta\n */\nexport const isDomainWithMeta = isPayloadOfSchemaTypeWithMeta<Domain>(DomainSchema)\n","import { isPayloadOfSchemaType, isPayloadOfSchemaTypeWithMeta, isPayloadOfSchemaTypeWithSources, Payload } from '@xyo-network/payload-model'\n\nimport { DurationFields } from '../Duration/index.js'\nimport { DomainFields } from './Domain.js'\n\nexport type DomainLeaseSchema = 'network.xyo.ns.domain.lease'\nexport const DomainLeaseSchema: DomainLeaseSchema = 'network.xyo.ns.domain.lease'\n\n/**\n * A domain is leased for a duration\n */\nexport interface DomainLeaseFields extends DomainFields, DurationFields {}\n\n/**\n * A domain lease is a record of a domain and the duration it is leased for\n */\nexport type DomainLease = Payload<DomainLeaseFields, DomainLeaseSchema>\n\n/**\n * Identity function for DomainLease payload\n */\nexport const isDomainLease = isPayloadOfSchemaType<DomainLease>(DomainLeaseSchema)\n\n/**\n * Identity function for DomainLease payload with sources\n */\nexport const isDomainLeaseWithSources = isPayloadOfSchemaTypeWithSources<DomainLease>(DomainLeaseSchema)\n\n/**\n * Identity function for DomainLease payload with meta\n */\nexport const isDomainLeaseWithMeta = isPayloadOfSchemaTypeWithMeta<DomainLease>(DomainLeaseSchema)\n","import { Address } from '@xylabs/hex'\nimport { isPayloadOfSchemaType, isPayloadOfSchemaTypeWithMeta, isPayloadOfSchemaTypeWithSources, Payload } from '@xyo-network/payload-model'\n\nimport { DomainFields, DomainSchema } from '../Domain/index.js'\n\nexport const DomainRegistrationSchema = `${DomainSchema}.registration` as const\nexport type DomainRegistrationSchema = typeof DomainRegistrationSchema\n\nexport interface DomainRegistrationFields extends DomainFields {\n /**\n * The registrant of the domain\n */\n registrant: Address[]\n /**\n * The registrar of the domain\n */\n registrar: Address[]\n}\n\n/**\n * Delegation of a domain to a registrar by a registrant\n */\nexport type DomainRegistration = Payload<DomainRegistrationFields, DomainRegistrationSchema>\n\n/**\n * Identity function for DomainRegistration payload\n */\nexport const isDomainRegistration = isPayloadOfSchemaType<DomainRegistration>(DomainRegistrationSchema)\n\n/**\n * Identity function for DomainRegistration payload with sources\n */\nexport const isDomainRegistrationWithSources = isPayloadOfSchemaTypeWithSources<DomainRegistration>(DomainRegistrationSchema)\n\n/**\n * Identity function for DomainRegistration payload with meta\n */\nexport const isDomainRegistrationWithMeta = isPayloadOfSchemaTypeWithMeta<DomainRegistration>(DomainRegistrationSchema)\n","import { isPayloadOfSchemaType, isPayloadOfSchemaTypeWithMeta, isPayloadOfSchemaTypeWithSources, Payload } from '@xyo-network/payload-model'\n\nimport { DurationFields } from '../Duration/index.js'\nimport { DomainRegistrationFields, DomainRegistrationSchema } from './DomainRegistration.js'\n\nexport const DomainRegistrationLeaseSchema = `${DomainRegistrationSchema}.lease` as const\nexport type DomainRegistrationLeaseSchema = typeof DomainRegistrationLeaseSchema\n\nexport interface DomainRegistrationLeaseFields extends DomainRegistrationFields, DurationFields {}\n\n/**\n * Temporal delegation of a domain to a registrar by a registrant\n */\nexport type DomainRegistrationLease = Payload<DomainRegistrationLeaseFields, DomainRegistrationLeaseSchema>\n\n/**\n * Identity function for DomainRegistrationLease payload\n */\nexport const isDomainRegistrationLease = isPayloadOfSchemaType<DomainRegistrationLease>(DomainRegistrationLeaseSchema)\n\n/**\n * Identity function for DomainRegistrationLease payload with sources\n */\nexport const isDomainRegistrationLeaseSources = isPayloadOfSchemaTypeWithSources<DomainRegistrationLease>(DomainRegistrationLeaseSchema)\n\n/**\n * Identity function for DomainRegistrationLease payload with meta\n */\nexport const isDomainRegistrationLeaseMeta = isPayloadOfSchemaTypeWithMeta<DomainRegistrationLease>(DomainRegistrationLeaseSchema)\n","import { BoundWitness } from '@xyo-network/boundwitness-model'\nimport { BoundWitnessValidator } from '@xyo-network/boundwitness-validator'\n\n// BW Validations\nexport const validateBoundWitness = async (recordBw: BoundWitness, requiredSchemas: string[] = []): Promise<boolean> => {\n // If the BW does not include all of the required schemas\n if (!requiredSchemas.every((requiredSchema) => recordBw.payload_schemas.includes(requiredSchema))) return false\n // If the BW is valid (does not include any errors)\n const validator = new BoundWitnessValidator(recordBw)\n const errors = await validator.validate()\n return errors.length === 0\n}\n","import { BoundWitness } from '@xyo-network/boundwitness-model'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { Payload } from '@xyo-network/payload-model'\n\nimport { DurationFields } from '../Duration.js'\n\n// BW & Record Validations\nexport const validateBoundWitnessAndDuration = async (recordBw: BoundWitness, recordPayload: Payload<DurationFields>): Promise<boolean> => {\n if (!(await recordIsInBoundWitness(recordBw, recordPayload))) return false\n if (!recordIsTemporallyValidToBoundWitness(recordBw, recordPayload)) return false\n return true\n}\n\nconst recordIsInBoundWitness = async (recordBw: BoundWitness, recordPayload: Payload): Promise<boolean> => {\n const hash = await PayloadBuilder.dataHash(recordPayload)\n return recordBw.payload_hashes.includes(hash)\n}\n\nconst recordIsTemporallyValidToBoundWitness = (recordBw: BoundWitness, recordPayload: Payload<DurationFields>): boolean => {\n const { timestamp } = recordBw\n const { exp } = recordPayload\n return exp > timestamp\n}\n","// import { isAddress } from '@xylabs/hex'\nimport { Payload } from '@xyo-network/payload-model'\n\nimport { DurationFields } from '../Duration.js'\n\n// Record Validations\nexport const validateDuration = (recordPayload: Payload<DurationFields>): boolean => {\n // if (!isValidAddress(recordPayload)) return false\n if (!isWithinDelegatedTimeframe(recordPayload)) return false\n return true\n}\n\n// const isValidAddress = (recordPayload: Payload<DomainLeaseFields>): boolean => {\n// return isAddress(recordPayload.nameserver, { prefix: false })\n// }\n\nconst isWithinDelegatedTimeframe = (recordPayload: Payload<DurationFields>, now = Date.now()): boolean => {\n // nbf < now < exp\n return recordPayload.nbf < now && now < recordPayload.exp\n}\n","import { BoundWitness } from '@xyo-network/boundwitness-model'\nimport { Payload } from '@xyo-network/payload-model'\n\nimport { DurationFields } from '../Duration.js'\nimport { validateBoundWitness } from './validateBoundWitness.js'\nimport { validateBoundWitnessAndDuration } from './validateBoundWitnessAndDuration.js'\nimport { validateDuration } from './validateDuration.js'\n\nexport const validateBoundWitnessWithDuration = async (recordBw: BoundWitness, recordPayload: Payload<DurationFields>): Promise<boolean> => {\n // Validate the BW\n if (!(await validateBoundWitness(recordBw, [recordPayload.schema]))) return false\n // Validate the record\n if (!validateDuration(recordPayload)) return false\n // Validate the record relative to the BW\n if (!(await validateBoundWitnessAndDuration(recordBw, recordPayload))) return false\n return true\n}\n"],"mappings":"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","names":["isPayloadOfSchemaType","isPayloadOfSchemaType","isPayloadOfSchemaType","isPayloadOfSchemaTypeWithMeta","isPayloadOfSchemaTypeWithSources","isPayloadOfSchemaType","isPayloadOfSchemaTypeWithMeta","isPayloadOfSchemaTypeWithSources","isPayloadOfSchemaType","isPayloadOfSchemaTypeWithMeta","isPayloadOfSchemaTypeWithSources","isPayloadOfSchemaType","isPayloadOfSchemaTypeWithSources","isPayloadOfSchemaTypeWithMeta","isPayloadOfSchemaType","isPayloadOfSchemaTypeWithMeta","isPayloadOfSchemaTypeWithSources","isPayloadOfSchemaType","isPayloadOfSchemaTypeWithSources","isPayloadOfSchemaTypeWithMeta"]}
1
+ {"version":3,"sources":["../../src/Address/Payload.ts","../../src/diviner/DomainLeaseEstimateDiviner/Schema.ts","../../src/diviner/DomainLeaseEstimateDiviner/ErrorDetails/ErrorCodes.ts","../../src/diviner/DomainLeaseEstimateDiviner/ErrorDetails/Payload.ts","../../src/Domain/Domain.ts","../../src/Domain/DomainLease.ts","../../src/DomainRegistration/DomainRegistration.ts","../../src/DomainRegistration/DomainRegistrationLease.ts","../../src/Duration/validation/validateBoundWitness.ts","../../src/Duration/validation/validateBoundWitnessAndDuration.ts","../../src/Duration/validation/validateDuration.ts","../../src/Duration/validation/validateBoundWitnessWithDuration.ts"],"sourcesContent":["import { Address } from '@xylabs/hex'\nimport { isPayloadOfSchemaType, Payload, WithMeta } from '@xyo-network/payload-model'\n\nimport { DomainFields } from '../Domain/index.js'\n\nexport type AddressRecordSchema = 'network.xyo.ns.record.address'\nexport const AddressRecordSchema: AddressRecordSchema = 'network.xyo.ns.record.address'\n\nexport interface AddressRecordFields extends DomainFields {\n /**\n * The address the record points to\n */\n address: Address[]\n}\n\n/**\n * An address record points a domain to an address\n */\nexport type AddressRecord = Payload<AddressRecordFields, AddressRecordSchema>\n\nexport const isAddressRecord = isPayloadOfSchemaType<AddressRecord>(AddressRecordSchema)\nexport const isAddressRecordWithMeta = isPayloadOfSchemaType<WithMeta<AddressRecord>>(AddressRecordSchema)\n","export const DomainLeaseEstimateDivinerValidationErrorDetailsSchema =\n 'network.xyo.diviner.ns.domain.registration.lease.estimate.validation.error.details' as const\n\nexport type DomainLeaseEstimateDivinerValidationErrorDetailsSchema = typeof DomainLeaseEstimateDivinerValidationErrorDetailsSchema\n","import { DomainLeaseEstimateDivinerValidationErrorDetailsSchema } from '../Schema.js'\nimport { DomainLeaseEstimateDivinerValidationErrorDetails, ErrorDetailsDictionary } from './Payload.js'\n\n// export type DomainLeaseEstimateDivinerErrorDetailsDictionaryErrorCode = keyof typeof DomainLeaseEstimateDivinerErrorDetailsDictionary\nexport type DomainLeaseEstimateDivinerErrorDetailsDictionaryErrorCode = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8\n\nexport const DomainLeaseEstimateDivinerErrorDetailsDictionary: Readonly<\n Readonly<Record<DomainLeaseEstimateDivinerErrorDetailsDictionaryErrorCode, DomainLeaseEstimateDivinerValidationErrorDetails>> &\n ErrorDetailsDictionary\n> = {\n 0: { code: '0', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Success' },\n 1: { code: '1', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Invalid casing' },\n 2: { code: '2', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Invalid coin signature' },\n 3: { code: '3', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Invalid length' },\n 4: { code: '4', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Invalid name' },\n 5: { code: '5', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Reserved fragment' },\n 6: { code: '6', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Reserved name' },\n 7: { code: '7', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Reserved string' },\n 8: { code: '8', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Invalid TLD' },\n} as const\n","import { isPayloadOfSchemaType, isPayloadOfSchemaTypeWithMeta, isPayloadOfSchemaTypeWithSources, Payload } from '@xyo-network/payload-model'\n\nimport { DomainLeaseEstimateDivinerValidationErrorDetailsSchema } from '../Schema.js'\n\nexport interface ErrorDetails<TErrorCode extends string | undefined = string | undefined> {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n [key: string]: any // Index signature for any other additional properties\n /**\n * A string code indicating the error type.\n */\n code: TErrorCode\n /**\n * A human-readable explanation specific to this occurrence of the problem\n */\n detail?: string\n /**\n * A short, human-readable summary of the problem type.\n */\n title?: string\n}\n\nexport type ErrorDetailsDictionary<T extends number = number> = {\n readonly [K in T]: ErrorDetails<`${K}`>\n}\n\n/**\n * A payment authorization token payload\n */\nexport type DomainLeaseEstimateDivinerValidationErrorDetails<TErrorCode extends string | undefined = string> = Payload<\n ErrorDetails<TErrorCode>,\n DomainLeaseEstimateDivinerValidationErrorDetailsSchema\n>\n\n/**\n * Identity function for DomainLeaseEstimateDivinerValidationErrorDetails payload\n */\nexport const isDomainLeaseEstimateDivinerValidationErrorDetails = isPayloadOfSchemaType<DomainLeaseEstimateDivinerValidationErrorDetails>(\n DomainLeaseEstimateDivinerValidationErrorDetailsSchema,\n)\n\n/**\n * Identity function for DomainLeaseEstimateDivinerValidationErrorDetails payload with sources\n */\nexport const isDomainLeaseEstimateDivinerValidationErrorDetailsWithSources =\n isPayloadOfSchemaTypeWithSources<DomainLeaseEstimateDivinerValidationErrorDetails>(DomainLeaseEstimateDivinerValidationErrorDetailsSchema)\n\n/**\n * Identity function for DomainLeaseEstimateDivinerValidationErrorDetails payload with meta\n */\nexport const isDomainLeaseEstimateDivinerValidationErrorDetailsWithMeta =\n isPayloadOfSchemaTypeWithMeta<DomainLeaseEstimateDivinerValidationErrorDetails>(DomainLeaseEstimateDivinerValidationErrorDetailsSchema)\n","import { isPayloadOfSchemaType, isPayloadOfSchemaTypeWithMeta, isPayloadOfSchemaTypeWithSources, Payload } from '@xyo-network/payload-model'\n\nexport type DomainSchema = 'network.xyo.ns.domain'\nexport const DomainSchema: DomainSchema = 'network.xyo.ns.domain'\n\n/**\n * The supported TLDs for XNS\n */\nexport type TopLevelDomain = 'xyo'\n\n/**\n * The fields for a domain record\n */\nexport interface DomainFields {\n /**\n * The XNS domain of the record\n */\n domain: string\n\n /**\n * The Top-Level Domain of the domain\n */\n tld: TopLevelDomain\n}\n\n/**\n * A domain record is a record of a domain\n */\nexport type Domain = Payload<DomainFields, DomainSchema>\n\n/**\n * Identity function for Domain payload\n */\nexport const isDomain = isPayloadOfSchemaType<Domain>(DomainSchema)\n\n/**\n * Identity function for Domain payload with sources\n */\nexport const isDomainWithSources = isPayloadOfSchemaTypeWithSources<Domain>(DomainSchema)\n\n/**\n * Identity function for Domain payload with meta\n */\nexport const isDomainWithMeta = isPayloadOfSchemaTypeWithMeta<Domain>(DomainSchema)\n","import { isPayloadOfSchemaType, isPayloadOfSchemaTypeWithMeta, isPayloadOfSchemaTypeWithSources, Payload } from '@xyo-network/payload-model'\n\nimport { DurationFields } from '../Duration/index.js'\nimport { DomainFields } from './Domain.js'\n\nexport type DomainLeaseSchema = 'network.xyo.ns.domain.lease'\nexport const DomainLeaseSchema: DomainLeaseSchema = 'network.xyo.ns.domain.lease'\n\n/**\n * A domain is leased for a duration\n */\nexport interface DomainLeaseFields extends DomainFields, DurationFields {}\n\n/**\n * A domain lease is a record of a domain and the duration it is leased for\n */\nexport type DomainLease = Payload<DomainLeaseFields, DomainLeaseSchema>\n\n/**\n * Identity function for DomainLease payload\n */\nexport const isDomainLease = isPayloadOfSchemaType<DomainLease>(DomainLeaseSchema)\n\n/**\n * Identity function for DomainLease payload with sources\n */\nexport const isDomainLeaseWithSources = isPayloadOfSchemaTypeWithSources<DomainLease>(DomainLeaseSchema)\n\n/**\n * Identity function for DomainLease payload with meta\n */\nexport const isDomainLeaseWithMeta = isPayloadOfSchemaTypeWithMeta<DomainLease>(DomainLeaseSchema)\n","import { Address } from '@xylabs/hex'\nimport { isPayloadOfSchemaType, isPayloadOfSchemaTypeWithMeta, isPayloadOfSchemaTypeWithSources, Payload } from '@xyo-network/payload-model'\n\nimport { DomainFields, DomainSchema } from '../Domain/index.js'\n\nexport const DomainRegistrationSchema = `${DomainSchema}.registration` as const\nexport type DomainRegistrationSchema = typeof DomainRegistrationSchema\n\nexport interface DomainRegistrationFields extends DomainFields {\n /**\n * The registrant of the domain\n */\n registrant: Address[]\n /**\n * The registrar of the domain\n */\n registrar: Address[]\n}\n\n/**\n * Delegation of a domain to a registrar by a registrant\n */\nexport type DomainRegistration = Payload<DomainRegistrationFields, DomainRegistrationSchema>\n\n/**\n * Identity function for DomainRegistration payload\n */\nexport const isDomainRegistration = isPayloadOfSchemaType<DomainRegistration>(DomainRegistrationSchema)\n\n/**\n * Identity function for DomainRegistration payload with sources\n */\nexport const isDomainRegistrationWithSources = isPayloadOfSchemaTypeWithSources<DomainRegistration>(DomainRegistrationSchema)\n\n/**\n * Identity function for DomainRegistration payload with meta\n */\nexport const isDomainRegistrationWithMeta = isPayloadOfSchemaTypeWithMeta<DomainRegistration>(DomainRegistrationSchema)\n","import { isPayloadOfSchemaType, isPayloadOfSchemaTypeWithMeta, isPayloadOfSchemaTypeWithSources, Payload } from '@xyo-network/payload-model'\n\nimport { DurationFields } from '../Duration/index.js'\nimport { DomainRegistrationFields, DomainRegistrationSchema } from './DomainRegistration.js'\n\nexport const DomainRegistrationLeaseSchema = `${DomainRegistrationSchema}.lease` as const\nexport type DomainRegistrationLeaseSchema = typeof DomainRegistrationLeaseSchema\n\nexport interface DomainRegistrationLeaseFields extends DomainRegistrationFields, DurationFields {}\n\n/**\n * Temporal delegation of a domain to a registrar by a registrant\n */\nexport type DomainRegistrationLease = Payload<DomainRegistrationLeaseFields, DomainRegistrationLeaseSchema>\n\n/**\n * Identity function for DomainRegistrationLease payload\n */\nexport const isDomainRegistrationLease = isPayloadOfSchemaType<DomainRegistrationLease>(DomainRegistrationLeaseSchema)\n\n/**\n * Identity function for DomainRegistrationLease payload with sources\n */\nexport const isDomainRegistrationLeaseWithSources = isPayloadOfSchemaTypeWithSources<DomainRegistrationLease>(DomainRegistrationLeaseSchema)\n/**\n * @deprecated Use isDomainRegistrationLeaseWithSources instead\n */\nexport const isDomainRegistrationLeaseSources = isDomainRegistrationLeaseWithSources\n\n/**\n * Identity function for DomainRegistrationLease payload with meta\n */\nexport const isDomainRegistrationLeaseWithMeta = isPayloadOfSchemaTypeWithMeta<DomainRegistrationLease>(DomainRegistrationLeaseSchema)\n/**\n * @deprecated Use isDomainRegistrationLeaseWithMeta instead\n */\nexport const isDomainRegistrationLeaseMeta = isDomainRegistrationLeaseWithMeta\n","import { BoundWitness } from '@xyo-network/boundwitness-model'\nimport { BoundWitnessValidator } from '@xyo-network/boundwitness-validator'\n\n// BW Validations\nexport const validateBoundWitness = async (recordBw: BoundWitness, requiredSchemas: string[] = []): Promise<boolean> => {\n // If the BW does not include all of the required schemas\n if (!requiredSchemas.every((requiredSchema) => recordBw.payload_schemas.includes(requiredSchema))) return false\n // If the BW is valid (does not include any errors)\n const validator = new BoundWitnessValidator(recordBw)\n const errors = await validator.validate()\n return errors.length === 0\n}\n","import { BoundWitness } from '@xyo-network/boundwitness-model'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { Payload } from '@xyo-network/payload-model'\n\nimport { DurationFields } from '../Duration.js'\n\n// BW & Record Validations\nexport const validateBoundWitnessAndDuration = async (recordBw: BoundWitness, recordPayload: Payload<DurationFields>): Promise<boolean> => {\n if (!(await recordIsInBoundWitness(recordBw, recordPayload))) return false\n if (!recordIsTemporallyValidToBoundWitness(recordBw, recordPayload)) return false\n return true\n}\n\nconst recordIsInBoundWitness = async (recordBw: BoundWitness, recordPayload: Payload): Promise<boolean> => {\n const hash = await PayloadBuilder.dataHash(recordPayload)\n return recordBw.payload_hashes.includes(hash)\n}\n\nconst recordIsTemporallyValidToBoundWitness = (recordBw: BoundWitness, recordPayload: Payload<DurationFields>): boolean => {\n const { timestamp } = recordBw\n const { exp } = recordPayload\n return exp > timestamp\n}\n","// import { isAddress } from '@xylabs/hex'\nimport { Payload } from '@xyo-network/payload-model'\n\nimport { DurationFields } from '../Duration.js'\n\n// Record Validations\nexport const validateDuration = (recordPayload: Payload<DurationFields>): boolean => {\n // if (!isValidAddress(recordPayload)) return false\n if (!isWithinDelegatedTimeframe(recordPayload)) return false\n return true\n}\n\n// const isValidAddress = (recordPayload: Payload<DomainLeaseFields>): boolean => {\n// return isAddress(recordPayload.nameserver, { prefix: false })\n// }\n\nconst isWithinDelegatedTimeframe = (recordPayload: Payload<DurationFields>, now = Date.now()): boolean => {\n // nbf < now < exp\n return recordPayload.nbf < now && now < recordPayload.exp\n}\n","import { BoundWitness } from '@xyo-network/boundwitness-model'\nimport { Payload } from '@xyo-network/payload-model'\n\nimport { DurationFields } from '../Duration.js'\nimport { validateBoundWitness } from './validateBoundWitness.js'\nimport { validateBoundWitnessAndDuration } from './validateBoundWitnessAndDuration.js'\nimport { validateDuration } from './validateDuration.js'\n\nexport const validateBoundWitnessWithDuration = async (recordBw: BoundWitness, recordPayload: Payload<DurationFields>): Promise<boolean> => {\n // Validate the BW\n if (!(await validateBoundWitness(recordBw, [recordPayload.schema]))) return false\n // Validate the record\n if (!validateDuration(recordPayload)) return false\n // Validate the record relative to the BW\n if (!(await validateBoundWitnessAndDuration(recordBw, recordPayload))) return false\n return true\n}\n"],"mappings":"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","names":["isPayloadOfSchemaType","isPayloadOfSchemaType","isPayloadOfSchemaType","isPayloadOfSchemaTypeWithMeta","isPayloadOfSchemaTypeWithSources","isPayloadOfSchemaType","isPayloadOfSchemaTypeWithMeta","isPayloadOfSchemaTypeWithSources","isPayloadOfSchemaType","isPayloadOfSchemaTypeWithMeta","isPayloadOfSchemaTypeWithSources","isPayloadOfSchemaType","isPayloadOfSchemaTypeWithSources","isPayloadOfSchemaTypeWithMeta","isPayloadOfSchemaType","isPayloadOfSchemaTypeWithMeta","isPayloadOfSchemaTypeWithSources","isPayloadOfSchemaType","isPayloadOfSchemaTypeWithSources","isPayloadOfSchemaTypeWithMeta"]}
package/package.json CHANGED
@@ -10,17 +10,17 @@
10
10
  "url": "https://github.com/XYOracleNetwork/plugins/issues"
11
11
  },
12
12
  "dependencies": {
13
- "@xylabs/hex": "^3.5.9",
14
- "@xyo-network/boundwitness-model": "^2.110.0",
15
- "@xyo-network/boundwitness-validator": "^2.110.0",
16
- "@xyo-network/payload-builder": "^2.110.0",
17
- "@xyo-network/payload-model": "^2.110.0"
13
+ "@xylabs/hex": "^3.6.1",
14
+ "@xyo-network/boundwitness-model": "^2.110.6",
15
+ "@xyo-network/boundwitness-validator": "^2.110.6",
16
+ "@xyo-network/payload-builder": "^2.110.6",
17
+ "@xyo-network/payload-model": "^2.110.6"
18
18
  },
19
19
  "devDependencies": {
20
- "@xylabs/ts-scripts-yarn3": "^3.11.12",
21
- "@xylabs/tsconfig": "^3.11.12",
22
- "@xyo-network/account": "^2.110.0",
23
- "@xyo-network/boundwitness-builder": "^2.110.0",
20
+ "@xylabs/ts-scripts-yarn3": "^3.12.2",
21
+ "@xylabs/tsconfig": "^3.12.2",
22
+ "@xyo-network/account": "^2.110.6",
23
+ "@xyo-network/boundwitness-builder": "^2.110.6",
24
24
  "typescript": "^5.5.3"
25
25
  },
26
26
  "description": "Typescript/Javascript Plugins for XYO Platform",
@@ -62,6 +62,6 @@
62
62
  "url": "https://github.com/XYOracleNetwork/plugins.git"
63
63
  },
64
64
  "sideEffects": false,
65
- "version": "2.99.1",
65
+ "version": "2.99.3",
66
66
  "type": "module"
67
67
  }
@@ -21,9 +21,17 @@ export const isDomainRegistrationLease = isPayloadOfSchemaType<DomainRegistratio
21
21
  /**
22
22
  * Identity function for DomainRegistrationLease payload with sources
23
23
  */
24
- export const isDomainRegistrationLeaseSources = isPayloadOfSchemaTypeWithSources<DomainRegistrationLease>(DomainRegistrationLeaseSchema)
24
+ export const isDomainRegistrationLeaseWithSources = isPayloadOfSchemaTypeWithSources<DomainRegistrationLease>(DomainRegistrationLeaseSchema)
25
+ /**
26
+ * @deprecated Use isDomainRegistrationLeaseWithSources instead
27
+ */
28
+ export const isDomainRegistrationLeaseSources = isDomainRegistrationLeaseWithSources
25
29
 
26
30
  /**
27
31
  * Identity function for DomainRegistrationLease payload with meta
28
32
  */
29
- export const isDomainRegistrationLeaseMeta = isPayloadOfSchemaTypeWithMeta<DomainRegistrationLease>(DomainRegistrationLeaseSchema)
33
+ export const isDomainRegistrationLeaseWithMeta = isPayloadOfSchemaTypeWithMeta<DomainRegistrationLease>(DomainRegistrationLeaseSchema)
34
+ /**
35
+ * @deprecated Use isDomainRegistrationLeaseWithMeta instead
36
+ */
37
+ export const isDomainRegistrationLeaseMeta = isDomainRegistrationLeaseWithMeta