@xyo-network/xns-record-payload-plugins 2.91.2 → 2.91.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 (56) hide show
  1. package/dist/browser/DomainRegistration/{Payload.d.cts → DomainRegistration.d.cts} +4 -4
  2. package/dist/browser/DomainRegistration/DomainRegistration.d.cts.map +1 -0
  3. package/dist/browser/DomainRegistration/{Payload.d.ts → DomainRegistration.d.mts} +4 -4
  4. package/dist/browser/DomainRegistration/DomainRegistration.d.mts.map +1 -0
  5. package/dist/browser/DomainRegistration/{Payload.d.mts → DomainRegistration.d.ts} +4 -4
  6. package/dist/browser/DomainRegistration/DomainRegistration.d.ts.map +1 -0
  7. package/dist/browser/DomainRegistration/DomainRegistrationLease.d.cts +12 -0
  8. package/dist/browser/DomainRegistration/DomainRegistrationLease.d.cts.map +1 -0
  9. package/dist/browser/DomainRegistration/DomainRegistrationLease.d.mts +12 -0
  10. package/dist/browser/DomainRegistration/DomainRegistrationLease.d.mts.map +1 -0
  11. package/dist/browser/DomainRegistration/DomainRegistrationLease.d.ts +12 -0
  12. package/dist/browser/DomainRegistration/DomainRegistrationLease.d.ts.map +1 -0
  13. package/dist/browser/DomainRegistration/index.d.cts +2 -1
  14. package/dist/browser/DomainRegistration/index.d.cts.map +1 -1
  15. package/dist/browser/DomainRegistration/index.d.mts +2 -1
  16. package/dist/browser/DomainRegistration/index.d.mts.map +1 -1
  17. package/dist/browser/DomainRegistration/index.d.ts +2 -1
  18. package/dist/browser/DomainRegistration/index.d.ts.map +1 -1
  19. package/dist/browser/index.cjs +5 -1
  20. package/dist/browser/index.cjs.map +1 -1
  21. package/dist/browser/index.js +5 -1
  22. package/dist/browser/index.js.map +1 -1
  23. package/dist/node/DomainRegistration/{Payload.d.cts → DomainRegistration.d.cts} +4 -4
  24. package/dist/node/DomainRegistration/DomainRegistration.d.cts.map +1 -0
  25. package/dist/node/DomainRegistration/DomainRegistration.d.mts +20 -0
  26. package/dist/node/DomainRegistration/DomainRegistration.d.mts.map +1 -0
  27. package/dist/node/DomainRegistration/DomainRegistration.d.ts +20 -0
  28. package/dist/node/DomainRegistration/DomainRegistration.d.ts.map +1 -0
  29. package/dist/node/DomainRegistration/DomainRegistrationLease.d.cts +12 -0
  30. package/dist/node/DomainRegistration/DomainRegistrationLease.d.cts.map +1 -0
  31. package/dist/node/DomainRegistration/DomainRegistrationLease.d.mts +12 -0
  32. package/dist/node/DomainRegistration/DomainRegistrationLease.d.mts.map +1 -0
  33. package/dist/node/DomainRegistration/DomainRegistrationLease.d.ts +12 -0
  34. package/dist/node/DomainRegistration/DomainRegistrationLease.d.ts.map +1 -0
  35. package/dist/node/DomainRegistration/index.d.cts +2 -1
  36. package/dist/node/DomainRegistration/index.d.cts.map +1 -1
  37. package/dist/node/DomainRegistration/index.d.mts +2 -1
  38. package/dist/node/DomainRegistration/index.d.mts.map +1 -1
  39. package/dist/node/DomainRegistration/index.d.ts +2 -1
  40. package/dist/node/DomainRegistration/index.d.ts.map +1 -1
  41. package/dist/node/index.cjs +6 -1
  42. package/dist/node/index.cjs.map +1 -1
  43. package/dist/node/index.js +5 -1
  44. package/dist/node/index.js.map +1 -1
  45. package/package.json +8 -8
  46. package/src/DomainRegistration/{Payload.ts → DomainRegistration.ts} +3 -3
  47. package/src/DomainRegistration/DomainRegistrationLease.ts +14 -0
  48. package/src/DomainRegistration/index.ts +2 -1
  49. package/dist/browser/DomainRegistration/Payload.d.cts.map +0 -1
  50. package/dist/browser/DomainRegistration/Payload.d.mts.map +0 -1
  51. package/dist/browser/DomainRegistration/Payload.d.ts.map +0 -1
  52. package/dist/node/DomainRegistration/Payload.d.cts.map +0 -1
  53. package/dist/node/DomainRegistration/Payload.d.mts +0 -20
  54. package/dist/node/DomainRegistration/Payload.d.mts.map +0 -1
  55. package/dist/node/DomainRegistration/Payload.d.ts +0 -20
  56. package/dist/node/DomainRegistration/Payload.d.ts.map +0 -1
@@ -1,9 +1,9 @@
1
1
  import { Address } from '@xylabs/hex';
2
2
  import { Payload } from '@xyo-network/payload-model';
3
- import { DomainLeaseFields } from '../Domain';
3
+ import { DomainFields } from '../Domain';
4
4
  export declare const DomainRegistrationSchema: "network.xyo.ns.domain.registration";
5
5
  export type DomainRegistrationSchema = typeof DomainRegistrationSchema;
6
- export interface DomainRegistrationFields extends DomainLeaseFields {
6
+ export interface DomainRegistrationFields extends DomainFields {
7
7
  /**
8
8
  * The registrant of the domain
9
9
  */
@@ -14,7 +14,7 @@ export interface DomainRegistrationFields extends DomainLeaseFields {
14
14
  registrar: Address[];
15
15
  }
16
16
  /**
17
- * A WHOIS record is a record of a domain identifying its registrant, registrar and nameservers
17
+ * Delegation of a domain to a registrar by a registrant
18
18
  */
19
19
  export type DomainRegistration = Payload<DomainRegistrationFields, DomainRegistrationSchema>;
20
- //# sourceMappingURL=Payload.d.ts.map
20
+ //# sourceMappingURL=DomainRegistration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DomainRegistration.d.ts","sourceRoot":"","sources":["../../../src/DomainRegistration/DomainRegistration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEpD,OAAO,EAAE,YAAY,EAAgB,MAAM,WAAW,CAAA;AAEtD,eAAO,MAAM,wBAAwB,sCAA0C,CAAA;AAC/E,MAAM,MAAM,wBAAwB,GAAG,OAAO,wBAAwB,CAAA;AAEtE,MAAM,WAAW,wBAAyB,SAAQ,YAAY;IAC5D;;OAEG;IACH,UAAU,EAAE,OAAO,EAAE,CAAA;IACrB;;OAEG;IACH,SAAS,EAAE,OAAO,EAAE,CAAA;CACrB;AAED;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,OAAO,CAAC,wBAAwB,EAAE,wBAAwB,CAAC,CAAA"}
@@ -1,9 +1,9 @@
1
1
  import { Address } from '@xylabs/hex';
2
2
  import { Payload } from '@xyo-network/payload-model';
3
- import { DomainLeaseFields } from '../Domain';
3
+ import { DomainFields } from '../Domain';
4
4
  export declare const DomainRegistrationSchema: "network.xyo.ns.domain.registration";
5
5
  export type DomainRegistrationSchema = typeof DomainRegistrationSchema;
6
- export interface DomainRegistrationFields extends DomainLeaseFields {
6
+ export interface DomainRegistrationFields extends DomainFields {
7
7
  /**
8
8
  * The registrant of the domain
9
9
  */
@@ -14,7 +14,7 @@ export interface DomainRegistrationFields extends DomainLeaseFields {
14
14
  registrar: Address[];
15
15
  }
16
16
  /**
17
- * A WHOIS record is a record of a domain identifying its registrant, registrar and nameservers
17
+ * Delegation of a domain to a registrar by a registrant
18
18
  */
19
19
  export type DomainRegistration = Payload<DomainRegistrationFields, DomainRegistrationSchema>;
20
- //# sourceMappingURL=Payload.d.ts.map
20
+ //# sourceMappingURL=DomainRegistration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DomainRegistration.d.ts","sourceRoot":"","sources":["../../../src/DomainRegistration/DomainRegistration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEpD,OAAO,EAAE,YAAY,EAAgB,MAAM,WAAW,CAAA;AAEtD,eAAO,MAAM,wBAAwB,sCAA0C,CAAA;AAC/E,MAAM,MAAM,wBAAwB,GAAG,OAAO,wBAAwB,CAAA;AAEtE,MAAM,WAAW,wBAAyB,SAAQ,YAAY;IAC5D;;OAEG;IACH,UAAU,EAAE,OAAO,EAAE,CAAA;IACrB;;OAEG;IACH,SAAS,EAAE,OAAO,EAAE,CAAA;CACrB;AAED;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,OAAO,CAAC,wBAAwB,EAAE,wBAAwB,CAAC,CAAA"}
@@ -1,9 +1,9 @@
1
1
  import { Address } from '@xylabs/hex';
2
2
  import { Payload } from '@xyo-network/payload-model';
3
- import { DomainLeaseFields } from '../Domain';
3
+ import { DomainFields } from '../Domain';
4
4
  export declare const DomainRegistrationSchema: "network.xyo.ns.domain.registration";
5
5
  export type DomainRegistrationSchema = typeof DomainRegistrationSchema;
6
- export interface DomainRegistrationFields extends DomainLeaseFields {
6
+ export interface DomainRegistrationFields extends DomainFields {
7
7
  /**
8
8
  * The registrant of the domain
9
9
  */
@@ -14,7 +14,7 @@ export interface DomainRegistrationFields extends DomainLeaseFields {
14
14
  registrar: Address[];
15
15
  }
16
16
  /**
17
- * A WHOIS record is a record of a domain identifying its registrant, registrar and nameservers
17
+ * Delegation of a domain to a registrar by a registrant
18
18
  */
19
19
  export type DomainRegistration = Payload<DomainRegistrationFields, DomainRegistrationSchema>;
20
- //# sourceMappingURL=Payload.d.ts.map
20
+ //# sourceMappingURL=DomainRegistration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DomainRegistration.d.ts","sourceRoot":"","sources":["../../../src/DomainRegistration/DomainRegistration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEpD,OAAO,EAAE,YAAY,EAAgB,MAAM,WAAW,CAAA;AAEtD,eAAO,MAAM,wBAAwB,sCAA0C,CAAA;AAC/E,MAAM,MAAM,wBAAwB,GAAG,OAAO,wBAAwB,CAAA;AAEtE,MAAM,WAAW,wBAAyB,SAAQ,YAAY;IAC5D;;OAEG;IACH,UAAU,EAAE,OAAO,EAAE,CAAA;IACrB;;OAEG;IACH,SAAS,EAAE,OAAO,EAAE,CAAA;CACrB;AAED;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,OAAO,CAAC,wBAAwB,EAAE,wBAAwB,CAAC,CAAA"}
@@ -0,0 +1,12 @@
1
+ import { Payload } from '@xyo-network/payload-model';
2
+ import { DurationFields } from '../Duration';
3
+ import { DomainRegistrationFields } from './DomainRegistration';
4
+ export declare const DomainRegistrationLeaseSchema: "network.xyo.ns.domain.registration.lease";
5
+ export type DomainRegistrationLeaseSchema = typeof DomainRegistrationLeaseSchema;
6
+ export interface DomainRegistrationLeaseFields extends DomainRegistrationFields, DurationFields {
7
+ }
8
+ /**
9
+ * Temporal delegation of a domain to a registrar by a registrant
10
+ */
11
+ export type DomainRegistrationLease = Payload<DomainRegistrationLeaseFields, DomainRegistrationLeaseSchema>;
12
+ //# sourceMappingURL=DomainRegistrationLease.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DomainRegistrationLease.d.ts","sourceRoot":"","sources":["../../../src/DomainRegistration/DomainRegistrationLease.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEpD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EAAE,wBAAwB,EAA4B,MAAM,sBAAsB,CAAA;AAEzF,eAAO,MAAM,6BAA6B,4CAA+C,CAAA;AACzF,MAAM,MAAM,6BAA6B,GAAG,OAAO,6BAA6B,CAAA;AAEhF,MAAM,WAAW,6BAA8B,SAAQ,wBAAwB,EAAE,cAAc;CAAG;AAElG;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG,OAAO,CAAC,6BAA6B,EAAE,6BAA6B,CAAC,CAAA"}
@@ -0,0 +1,12 @@
1
+ import { Payload } from '@xyo-network/payload-model';
2
+ import { DurationFields } from '../Duration';
3
+ import { DomainRegistrationFields } from './DomainRegistration';
4
+ export declare const DomainRegistrationLeaseSchema: "network.xyo.ns.domain.registration.lease";
5
+ export type DomainRegistrationLeaseSchema = typeof DomainRegistrationLeaseSchema;
6
+ export interface DomainRegistrationLeaseFields extends DomainRegistrationFields, DurationFields {
7
+ }
8
+ /**
9
+ * Temporal delegation of a domain to a registrar by a registrant
10
+ */
11
+ export type DomainRegistrationLease = Payload<DomainRegistrationLeaseFields, DomainRegistrationLeaseSchema>;
12
+ //# sourceMappingURL=DomainRegistrationLease.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DomainRegistrationLease.d.ts","sourceRoot":"","sources":["../../../src/DomainRegistration/DomainRegistrationLease.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEpD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EAAE,wBAAwB,EAA4B,MAAM,sBAAsB,CAAA;AAEzF,eAAO,MAAM,6BAA6B,4CAA+C,CAAA;AACzF,MAAM,MAAM,6BAA6B,GAAG,OAAO,6BAA6B,CAAA;AAEhF,MAAM,WAAW,6BAA8B,SAAQ,wBAAwB,EAAE,cAAc;CAAG;AAElG;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG,OAAO,CAAC,6BAA6B,EAAE,6BAA6B,CAAC,CAAA"}
@@ -0,0 +1,12 @@
1
+ import { Payload } from '@xyo-network/payload-model';
2
+ import { DurationFields } from '../Duration';
3
+ import { DomainRegistrationFields } from './DomainRegistration';
4
+ export declare const DomainRegistrationLeaseSchema: "network.xyo.ns.domain.registration.lease";
5
+ export type DomainRegistrationLeaseSchema = typeof DomainRegistrationLeaseSchema;
6
+ export interface DomainRegistrationLeaseFields extends DomainRegistrationFields, DurationFields {
7
+ }
8
+ /**
9
+ * Temporal delegation of a domain to a registrar by a registrant
10
+ */
11
+ export type DomainRegistrationLease = Payload<DomainRegistrationLeaseFields, DomainRegistrationLeaseSchema>;
12
+ //# sourceMappingURL=DomainRegistrationLease.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DomainRegistrationLease.d.ts","sourceRoot":"","sources":["../../../src/DomainRegistration/DomainRegistrationLease.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEpD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EAAE,wBAAwB,EAA4B,MAAM,sBAAsB,CAAA;AAEzF,eAAO,MAAM,6BAA6B,4CAA+C,CAAA;AACzF,MAAM,MAAM,6BAA6B,GAAG,OAAO,6BAA6B,CAAA;AAEhF,MAAM,WAAW,6BAA8B,SAAQ,wBAAwB,EAAE,cAAc;CAAG;AAElG;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG,OAAO,CAAC,6BAA6B,EAAE,6BAA6B,CAAC,CAAA"}
@@ -1,2 +1,3 @@
1
- export * from './Payload';
1
+ export * from './DomainRegistration';
2
+ export * from './DomainRegistrationLease';
2
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/DomainRegistration/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/DomainRegistration/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA;AACpC,cAAc,2BAA2B,CAAA"}
@@ -1,2 +1,3 @@
1
- export * from './Payload';
1
+ export * from './DomainRegistration';
2
+ export * from './DomainRegistrationLease';
2
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/DomainRegistration/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/DomainRegistration/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA;AACpC,cAAc,2BAA2B,CAAA"}
@@ -1,2 +1,3 @@
1
- export * from './Payload';
1
+ export * from './DomainRegistration';
2
+ export * from './DomainRegistrationLease';
2
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/DomainRegistration/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/DomainRegistration/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA;AACpC,cAAc,2BAA2B,CAAA"}
@@ -22,6 +22,7 @@ var src_exports = {};
22
22
  __export(src_exports, {
23
23
  AddressRecordSchema: () => AddressRecordSchema,
24
24
  DomainLeaseSchema: () => DomainLeaseSchema,
25
+ DomainRegistrationLeaseSchema: () => DomainRegistrationLeaseSchema,
25
26
  DomainRegistrationSchema: () => DomainRegistrationSchema,
26
27
  DomainSchema: () => DomainSchema,
27
28
  isAddressRecord: () => isAddressRecord,
@@ -43,9 +44,12 @@ var DomainSchema = "network.xyo.ns.domain";
43
44
  // src/Domain/DomainLease.ts
44
45
  var DomainLeaseSchema = "network.xyo.ns.domain.lease";
45
46
 
46
- // src/DomainRegistration/Payload.ts
47
+ // src/DomainRegistration/DomainRegistration.ts
47
48
  var DomainRegistrationSchema = `${DomainSchema}.registration`;
48
49
 
50
+ // src/DomainRegistration/DomainRegistrationLease.ts
51
+ var DomainRegistrationLeaseSchema = `${DomainRegistrationSchema}.lease`;
52
+
49
53
  // src/Duration/validation/validateBoundWitness.ts
50
54
  var import_boundwitness_validator = require("@xyo-network/boundwitness-validator");
51
55
  var validateBoundWitness = async (recordBw, requiredSchemas = []) => {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts","../../src/Address/Payload.ts","../../src/Domain/Domain.ts","../../src/Domain/DomainLease.ts","../../src/DomainRegistration/Payload.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'\nexport * from './Domain'\nexport * from './DomainRegistration'\nexport * from './Duration'\n","import { Address } from '@xylabs/hex'\nimport { isPayloadOfSchemaType, Payload, WithMeta } from '@xyo-network/payload-model'\n\nimport { DomainFields } from '../Domain'\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","import { Payload } from '@xyo-network/payload-model'\n\nexport type DomainSchema = 'network.xyo.ns.domain'\nexport const DomainSchema: DomainSchema = 'network.xyo.ns.domain'\n\nexport interface DomainFields {\n /**\n * The XNS domain of the record\n */\n domain: string\n}\n\n/**\n * A domain record is a record of a domain\n */\nexport type Domain = Payload<DomainFields, DomainSchema>\n","import { Payload } from '@xyo-network/payload-model'\n\nimport { DurationFields } from '../Duration'\nimport { DomainFields } from './Domain'\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","import { Address } from '@xylabs/hex'\nimport { Payload } from '@xyo-network/payload-model'\n\nimport { DomainLeaseFields, DomainSchema } from '../Domain'\n\nexport const DomainRegistrationSchema = `${DomainSchema}.registration` as const\nexport type DomainRegistrationSchema = typeof DomainRegistrationSchema\n\nexport interface DomainRegistrationFields extends DomainLeaseFields {\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 * A WHOIS record is a record of a domain identifying its registrant, registrar and nameservers\n */\nexport type DomainRegistration = Payload<DomainRegistrationFields, DomainRegistrationSchema>\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'\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'\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'\nimport { validateBoundWitness } from './validateBoundWitness'\nimport { validateBoundWitnessAndDuration } from './validateBoundWitnessAndDuration'\nimport { validateDuration } from './validateDuration'\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;;;ACCA,2BAAyD;AAKlD,IAAM,sBAA2C;AAcjD,IAAM,sBAAkB,4CAAqC,mBAAmB;AAChF,IAAM,8BAA0B,4CAA+C,mBAAmB;;;AClBlG,IAAM,eAA6B;;;ACGnC,IAAM,oBAAuC;;;ACD7C,IAAM,2BAA2B,GAAG,YAAY;;;ACJvD,oCAAsC;AAG/B,IAAM,uBAAuB,OAAO,UAAwB,kBAA4B,CAAC,MAAwB;AAEtH,MAAI,CAAC,gBAAgB,MAAM,CAAC,mBAAmB,SAAS,gBAAgB,SAAS,cAAc,CAAC;AAAG,WAAO;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;AAAI,WAAO;AACrE,MAAI,CAAC,sCAAsC,UAAU,aAAa;AAAG,WAAO;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;AAAG,WAAO;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;AAAI,WAAO;AAE5E,MAAI,CAAC,iBAAiB,aAAa;AAAG,WAAO;AAE7C,MAAI,CAAE,MAAM,gCAAgC,UAAU,aAAa;AAAI,WAAO;AAC9E,SAAO;AACT;","names":[]}
1
+ {"version":3,"sources":["../../src/index.ts","../../src/Address/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'\nexport * from './Domain'\nexport * from './DomainRegistration'\nexport * from './Duration'\n","import { Address } from '@xylabs/hex'\nimport { isPayloadOfSchemaType, Payload, WithMeta } from '@xyo-network/payload-model'\n\nimport { DomainFields } from '../Domain'\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","import { Payload } from '@xyo-network/payload-model'\n\nexport type DomainSchema = 'network.xyo.ns.domain'\nexport const DomainSchema: DomainSchema = 'network.xyo.ns.domain'\n\nexport interface DomainFields {\n /**\n * The XNS domain of the record\n */\n domain: string\n}\n\n/**\n * A domain record is a record of a domain\n */\nexport type Domain = Payload<DomainFields, DomainSchema>\n","import { Payload } from '@xyo-network/payload-model'\n\nimport { DurationFields } from '../Duration'\nimport { DomainFields } from './Domain'\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","import { Address } from '@xylabs/hex'\nimport { Payload } from '@xyo-network/payload-model'\n\nimport { DomainFields, DomainSchema } from '../Domain'\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","import { Payload } from '@xyo-network/payload-model'\n\nimport { DurationFields } from '../Duration'\nimport { DomainRegistrationFields, DomainRegistrationSchema } from './DomainRegistration'\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","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'\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'\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'\nimport { validateBoundWitness } from './validateBoundWitness'\nimport { validateBoundWitnessAndDuration } from './validateBoundWitnessAndDuration'\nimport { validateDuration } from './validateDuration'\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;;;ACCA,2BAAyD;AAKlD,IAAM,sBAA2C;AAcjD,IAAM,sBAAkB,4CAAqC,mBAAmB;AAChF,IAAM,8BAA0B,4CAA+C,mBAAmB;;;AClBlG,IAAM,eAA6B;;;ACGnC,IAAM,oBAAuC;;;ACD7C,IAAM,2BAA2B,GAAG,YAAY;;;ACAhD,IAAM,gCAAgC,GAAG,wBAAwB;;;ACJxE,oCAAsC;AAG/B,IAAM,uBAAuB,OAAO,UAAwB,kBAA4B,CAAC,MAAwB;AAEtH,MAAI,CAAC,gBAAgB,MAAM,CAAC,mBAAmB,SAAS,gBAAgB,SAAS,cAAc,CAAC;AAAG,WAAO;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;AAAI,WAAO;AACrE,MAAI,CAAC,sCAAsC,UAAU,aAAa;AAAG,WAAO;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;AAAG,WAAO;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;AAAI,WAAO;AAE5E,MAAI,CAAC,iBAAiB,aAAa;AAAG,WAAO;AAE7C,MAAI,CAAE,MAAM,gCAAgC,UAAU,aAAa;AAAI,WAAO;AAC9E,SAAO;AACT;","names":[]}
@@ -10,9 +10,12 @@ var DomainSchema = "network.xyo.ns.domain";
10
10
  // src/Domain/DomainLease.ts
11
11
  var DomainLeaseSchema = "network.xyo.ns.domain.lease";
12
12
 
13
- // src/DomainRegistration/Payload.ts
13
+ // src/DomainRegistration/DomainRegistration.ts
14
14
  var DomainRegistrationSchema = `${DomainSchema}.registration`;
15
15
 
16
+ // src/DomainRegistration/DomainRegistrationLease.ts
17
+ var DomainRegistrationLeaseSchema = `${DomainRegistrationSchema}.lease`;
18
+
16
19
  // src/Duration/validation/validateBoundWitness.ts
17
20
  import { BoundWitnessValidator } from "@xyo-network/boundwitness-validator";
18
21
  var validateBoundWitness = async (recordBw, requiredSchemas = []) => {
@@ -65,6 +68,7 @@ var validateBoundWitnessWithDuration = async (recordBw, recordPayload) => {
65
68
  export {
66
69
  AddressRecordSchema,
67
70
  DomainLeaseSchema,
71
+ DomainRegistrationLeaseSchema,
68
72
  DomainRegistrationSchema,
69
73
  DomainSchema,
70
74
  isAddressRecord,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Address/Payload.ts","../../src/Domain/Domain.ts","../../src/Domain/DomainLease.ts","../../src/DomainRegistration/Payload.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'\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","import { Payload } from '@xyo-network/payload-model'\n\nexport type DomainSchema = 'network.xyo.ns.domain'\nexport const DomainSchema: DomainSchema = 'network.xyo.ns.domain'\n\nexport interface DomainFields {\n /**\n * The XNS domain of the record\n */\n domain: string\n}\n\n/**\n * A domain record is a record of a domain\n */\nexport type Domain = Payload<DomainFields, DomainSchema>\n","import { Payload } from '@xyo-network/payload-model'\n\nimport { DurationFields } from '../Duration'\nimport { DomainFields } from './Domain'\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","import { Address } from '@xylabs/hex'\nimport { Payload } from '@xyo-network/payload-model'\n\nimport { DomainLeaseFields, DomainSchema } from '../Domain'\n\nexport const DomainRegistrationSchema = `${DomainSchema}.registration` as const\nexport type DomainRegistrationSchema = typeof DomainRegistrationSchema\n\nexport interface DomainRegistrationFields extends DomainLeaseFields {\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 * A WHOIS record is a record of a domain identifying its registrant, registrar and nameservers\n */\nexport type DomainRegistration = Payload<DomainRegistrationFields, DomainRegistrationSchema>\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'\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'\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'\nimport { validateBoundWitness } from './validateBoundWitness'\nimport { validateBoundWitnessAndDuration } from './validateBoundWitnessAndDuration'\nimport { validateDuration } from './validateDuration'\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;;;AClBlG,IAAM,eAA6B;;;ACGnC,IAAM,oBAAuC;;;ACD7C,IAAM,2BAA2B,GAAG,YAAY;;;ACJvD,SAAS,6BAA6B;AAG/B,IAAM,uBAAuB,OAAO,UAAwB,kBAA4B,CAAC,MAAwB;AAEtH,MAAI,CAAC,gBAAgB,MAAM,CAAC,mBAAmB,SAAS,gBAAgB,SAAS,cAAc,CAAC;AAAG,WAAO;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;AAAI,WAAO;AACrE,MAAI,CAAC,sCAAsC,UAAU,aAAa;AAAG,WAAO;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;AAAG,WAAO;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;AAAI,WAAO;AAE5E,MAAI,CAAC,iBAAiB,aAAa;AAAG,WAAO;AAE7C,MAAI,CAAE,MAAM,gCAAgC,UAAU,aAAa;AAAI,WAAO;AAC9E,SAAO;AACT;","names":[]}
1
+ {"version":3,"sources":["../../src/Address/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'\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","import { Payload } from '@xyo-network/payload-model'\n\nexport type DomainSchema = 'network.xyo.ns.domain'\nexport const DomainSchema: DomainSchema = 'network.xyo.ns.domain'\n\nexport interface DomainFields {\n /**\n * The XNS domain of the record\n */\n domain: string\n}\n\n/**\n * A domain record is a record of a domain\n */\nexport type Domain = Payload<DomainFields, DomainSchema>\n","import { Payload } from '@xyo-network/payload-model'\n\nimport { DurationFields } from '../Duration'\nimport { DomainFields } from './Domain'\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","import { Address } from '@xylabs/hex'\nimport { Payload } from '@xyo-network/payload-model'\n\nimport { DomainFields, DomainSchema } from '../Domain'\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","import { Payload } from '@xyo-network/payload-model'\n\nimport { DurationFields } from '../Duration'\nimport { DomainRegistrationFields, DomainRegistrationSchema } from './DomainRegistration'\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","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'\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'\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'\nimport { validateBoundWitness } from './validateBoundWitness'\nimport { validateBoundWitnessAndDuration } from './validateBoundWitnessAndDuration'\nimport { validateDuration } from './validateDuration'\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;;;AClBlG,IAAM,eAA6B;;;ACGnC,IAAM,oBAAuC;;;ACD7C,IAAM,2BAA2B,GAAG,YAAY;;;ACAhD,IAAM,gCAAgC,GAAG,wBAAwB;;;ACJxE,SAAS,6BAA6B;AAG/B,IAAM,uBAAuB,OAAO,UAAwB,kBAA4B,CAAC,MAAwB;AAEtH,MAAI,CAAC,gBAAgB,MAAM,CAAC,mBAAmB,SAAS,gBAAgB,SAAS,cAAc,CAAC;AAAG,WAAO;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;AAAI,WAAO;AACrE,MAAI,CAAC,sCAAsC,UAAU,aAAa;AAAG,WAAO;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;AAAG,WAAO;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;AAAI,WAAO;AAE5E,MAAI,CAAC,iBAAiB,aAAa;AAAG,WAAO;AAE7C,MAAI,CAAE,MAAM,gCAAgC,UAAU,aAAa;AAAI,WAAO;AAC9E,SAAO;AACT;","names":[]}
@@ -1,9 +1,9 @@
1
1
  import { Address } from '@xylabs/hex';
2
2
  import { Payload } from '@xyo-network/payload-model';
3
- import { DomainLeaseFields } from '../Domain';
3
+ import { DomainFields } from '../Domain';
4
4
  export declare const DomainRegistrationSchema: "network.xyo.ns.domain.registration";
5
5
  export type DomainRegistrationSchema = typeof DomainRegistrationSchema;
6
- export interface DomainRegistrationFields extends DomainLeaseFields {
6
+ export interface DomainRegistrationFields extends DomainFields {
7
7
  /**
8
8
  * The registrant of the domain
9
9
  */
@@ -14,7 +14,7 @@ export interface DomainRegistrationFields extends DomainLeaseFields {
14
14
  registrar: Address[];
15
15
  }
16
16
  /**
17
- * A WHOIS record is a record of a domain identifying its registrant, registrar and nameservers
17
+ * Delegation of a domain to a registrar by a registrant
18
18
  */
19
19
  export type DomainRegistration = Payload<DomainRegistrationFields, DomainRegistrationSchema>;
20
- //# sourceMappingURL=Payload.d.ts.map
20
+ //# sourceMappingURL=DomainRegistration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DomainRegistration.d.ts","sourceRoot":"","sources":["../../../src/DomainRegistration/DomainRegistration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEpD,OAAO,EAAE,YAAY,EAAgB,MAAM,WAAW,CAAA;AAEtD,eAAO,MAAM,wBAAwB,sCAA0C,CAAA;AAC/E,MAAM,MAAM,wBAAwB,GAAG,OAAO,wBAAwB,CAAA;AAEtE,MAAM,WAAW,wBAAyB,SAAQ,YAAY;IAC5D;;OAEG;IACH,UAAU,EAAE,OAAO,EAAE,CAAA;IACrB;;OAEG;IACH,SAAS,EAAE,OAAO,EAAE,CAAA;CACrB;AAED;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,OAAO,CAAC,wBAAwB,EAAE,wBAAwB,CAAC,CAAA"}
@@ -0,0 +1,20 @@
1
+ import { Address } from '@xylabs/hex';
2
+ import { Payload } from '@xyo-network/payload-model';
3
+ import { DomainFields } from '../Domain';
4
+ export declare const DomainRegistrationSchema: "network.xyo.ns.domain.registration";
5
+ export type DomainRegistrationSchema = typeof DomainRegistrationSchema;
6
+ export interface DomainRegistrationFields extends DomainFields {
7
+ /**
8
+ * The registrant of the domain
9
+ */
10
+ registrant: Address[];
11
+ /**
12
+ * The registrar of the domain
13
+ */
14
+ registrar: Address[];
15
+ }
16
+ /**
17
+ * Delegation of a domain to a registrar by a registrant
18
+ */
19
+ export type DomainRegistration = Payload<DomainRegistrationFields, DomainRegistrationSchema>;
20
+ //# sourceMappingURL=DomainRegistration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DomainRegistration.d.ts","sourceRoot":"","sources":["../../../src/DomainRegistration/DomainRegistration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEpD,OAAO,EAAE,YAAY,EAAgB,MAAM,WAAW,CAAA;AAEtD,eAAO,MAAM,wBAAwB,sCAA0C,CAAA;AAC/E,MAAM,MAAM,wBAAwB,GAAG,OAAO,wBAAwB,CAAA;AAEtE,MAAM,WAAW,wBAAyB,SAAQ,YAAY;IAC5D;;OAEG;IACH,UAAU,EAAE,OAAO,EAAE,CAAA;IACrB;;OAEG;IACH,SAAS,EAAE,OAAO,EAAE,CAAA;CACrB;AAED;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,OAAO,CAAC,wBAAwB,EAAE,wBAAwB,CAAC,CAAA"}
@@ -0,0 +1,20 @@
1
+ import { Address } from '@xylabs/hex';
2
+ import { Payload } from '@xyo-network/payload-model';
3
+ import { DomainFields } from '../Domain';
4
+ export declare const DomainRegistrationSchema: "network.xyo.ns.domain.registration";
5
+ export type DomainRegistrationSchema = typeof DomainRegistrationSchema;
6
+ export interface DomainRegistrationFields extends DomainFields {
7
+ /**
8
+ * The registrant of the domain
9
+ */
10
+ registrant: Address[];
11
+ /**
12
+ * The registrar of the domain
13
+ */
14
+ registrar: Address[];
15
+ }
16
+ /**
17
+ * Delegation of a domain to a registrar by a registrant
18
+ */
19
+ export type DomainRegistration = Payload<DomainRegistrationFields, DomainRegistrationSchema>;
20
+ //# sourceMappingURL=DomainRegistration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DomainRegistration.d.ts","sourceRoot":"","sources":["../../../src/DomainRegistration/DomainRegistration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEpD,OAAO,EAAE,YAAY,EAAgB,MAAM,WAAW,CAAA;AAEtD,eAAO,MAAM,wBAAwB,sCAA0C,CAAA;AAC/E,MAAM,MAAM,wBAAwB,GAAG,OAAO,wBAAwB,CAAA;AAEtE,MAAM,WAAW,wBAAyB,SAAQ,YAAY;IAC5D;;OAEG;IACH,UAAU,EAAE,OAAO,EAAE,CAAA;IACrB;;OAEG;IACH,SAAS,EAAE,OAAO,EAAE,CAAA;CACrB;AAED;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,OAAO,CAAC,wBAAwB,EAAE,wBAAwB,CAAC,CAAA"}
@@ -0,0 +1,12 @@
1
+ import { Payload } from '@xyo-network/payload-model';
2
+ import { DurationFields } from '../Duration';
3
+ import { DomainRegistrationFields } from './DomainRegistration';
4
+ export declare const DomainRegistrationLeaseSchema: "network.xyo.ns.domain.registration.lease";
5
+ export type DomainRegistrationLeaseSchema = typeof DomainRegistrationLeaseSchema;
6
+ export interface DomainRegistrationLeaseFields extends DomainRegistrationFields, DurationFields {
7
+ }
8
+ /**
9
+ * Temporal delegation of a domain to a registrar by a registrant
10
+ */
11
+ export type DomainRegistrationLease = Payload<DomainRegistrationLeaseFields, DomainRegistrationLeaseSchema>;
12
+ //# sourceMappingURL=DomainRegistrationLease.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DomainRegistrationLease.d.ts","sourceRoot":"","sources":["../../../src/DomainRegistration/DomainRegistrationLease.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEpD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EAAE,wBAAwB,EAA4B,MAAM,sBAAsB,CAAA;AAEzF,eAAO,MAAM,6BAA6B,4CAA+C,CAAA;AACzF,MAAM,MAAM,6BAA6B,GAAG,OAAO,6BAA6B,CAAA;AAEhF,MAAM,WAAW,6BAA8B,SAAQ,wBAAwB,EAAE,cAAc;CAAG;AAElG;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG,OAAO,CAAC,6BAA6B,EAAE,6BAA6B,CAAC,CAAA"}
@@ -0,0 +1,12 @@
1
+ import { Payload } from '@xyo-network/payload-model';
2
+ import { DurationFields } from '../Duration';
3
+ import { DomainRegistrationFields } from './DomainRegistration';
4
+ export declare const DomainRegistrationLeaseSchema: "network.xyo.ns.domain.registration.lease";
5
+ export type DomainRegistrationLeaseSchema = typeof DomainRegistrationLeaseSchema;
6
+ export interface DomainRegistrationLeaseFields extends DomainRegistrationFields, DurationFields {
7
+ }
8
+ /**
9
+ * Temporal delegation of a domain to a registrar by a registrant
10
+ */
11
+ export type DomainRegistrationLease = Payload<DomainRegistrationLeaseFields, DomainRegistrationLeaseSchema>;
12
+ //# sourceMappingURL=DomainRegistrationLease.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DomainRegistrationLease.d.ts","sourceRoot":"","sources":["../../../src/DomainRegistration/DomainRegistrationLease.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEpD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EAAE,wBAAwB,EAA4B,MAAM,sBAAsB,CAAA;AAEzF,eAAO,MAAM,6BAA6B,4CAA+C,CAAA;AACzF,MAAM,MAAM,6BAA6B,GAAG,OAAO,6BAA6B,CAAA;AAEhF,MAAM,WAAW,6BAA8B,SAAQ,wBAAwB,EAAE,cAAc;CAAG;AAElG;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG,OAAO,CAAC,6BAA6B,EAAE,6BAA6B,CAAC,CAAA"}
@@ -0,0 +1,12 @@
1
+ import { Payload } from '@xyo-network/payload-model';
2
+ import { DurationFields } from '../Duration';
3
+ import { DomainRegistrationFields } from './DomainRegistration';
4
+ export declare const DomainRegistrationLeaseSchema: "network.xyo.ns.domain.registration.lease";
5
+ export type DomainRegistrationLeaseSchema = typeof DomainRegistrationLeaseSchema;
6
+ export interface DomainRegistrationLeaseFields extends DomainRegistrationFields, DurationFields {
7
+ }
8
+ /**
9
+ * Temporal delegation of a domain to a registrar by a registrant
10
+ */
11
+ export type DomainRegistrationLease = Payload<DomainRegistrationLeaseFields, DomainRegistrationLeaseSchema>;
12
+ //# sourceMappingURL=DomainRegistrationLease.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DomainRegistrationLease.d.ts","sourceRoot":"","sources":["../../../src/DomainRegistration/DomainRegistrationLease.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEpD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EAAE,wBAAwB,EAA4B,MAAM,sBAAsB,CAAA;AAEzF,eAAO,MAAM,6BAA6B,4CAA+C,CAAA;AACzF,MAAM,MAAM,6BAA6B,GAAG,OAAO,6BAA6B,CAAA;AAEhF,MAAM,WAAW,6BAA8B,SAAQ,wBAAwB,EAAE,cAAc;CAAG;AAElG;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG,OAAO,CAAC,6BAA6B,EAAE,6BAA6B,CAAC,CAAA"}
@@ -1,2 +1,3 @@
1
- export * from './Payload';
1
+ export * from './DomainRegistration';
2
+ export * from './DomainRegistrationLease';
2
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/DomainRegistration/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/DomainRegistration/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA;AACpC,cAAc,2BAA2B,CAAA"}
@@ -1,2 +1,3 @@
1
- export * from './Payload';
1
+ export * from './DomainRegistration';
2
+ export * from './DomainRegistrationLease';
2
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/DomainRegistration/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/DomainRegistration/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA;AACpC,cAAc,2BAA2B,CAAA"}
@@ -1,2 +1,3 @@
1
- export * from './Payload';
1
+ export * from './DomainRegistration';
2
+ export * from './DomainRegistrationLease';
2
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/DomainRegistration/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/DomainRegistration/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA;AACpC,cAAc,2BAA2B,CAAA"}
@@ -22,6 +22,7 @@ var src_exports = {};
22
22
  __export(src_exports, {
23
23
  AddressRecordSchema: () => AddressRecordSchema,
24
24
  DomainLeaseSchema: () => DomainLeaseSchema,
25
+ DomainRegistrationLeaseSchema: () => DomainRegistrationLeaseSchema,
25
26
  DomainRegistrationSchema: () => DomainRegistrationSchema,
26
27
  DomainSchema: () => DomainSchema,
27
28
  isAddressRecord: () => isAddressRecord,
@@ -43,9 +44,12 @@ var DomainSchema = "network.xyo.ns.domain";
43
44
  // src/Domain/DomainLease.ts
44
45
  var DomainLeaseSchema = "network.xyo.ns.domain.lease";
45
46
 
46
- // src/DomainRegistration/Payload.ts
47
+ // src/DomainRegistration/DomainRegistration.ts
47
48
  var DomainRegistrationSchema = `${DomainSchema}.registration`;
48
49
 
50
+ // src/DomainRegistration/DomainRegistrationLease.ts
51
+ var DomainRegistrationLeaseSchema = `${DomainRegistrationSchema}.lease`;
52
+
49
53
  // src/Duration/validation/validateBoundWitness.ts
50
54
  var import_boundwitness_validator = require("@xyo-network/boundwitness-validator");
51
55
  var validateBoundWitness = async (recordBw, requiredSchemas = []) => {
@@ -99,6 +103,7 @@ var validateBoundWitnessWithDuration = async (recordBw, recordPayload) => {
99
103
  0 && (module.exports = {
100
104
  AddressRecordSchema,
101
105
  DomainLeaseSchema,
106
+ DomainRegistrationLeaseSchema,
102
107
  DomainRegistrationSchema,
103
108
  DomainSchema,
104
109
  isAddressRecord,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts","../../src/Address/Payload.ts","../../src/Domain/Domain.ts","../../src/Domain/DomainLease.ts","../../src/DomainRegistration/Payload.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'\nexport * from './Domain'\nexport * from './DomainRegistration'\nexport * from './Duration'\n","import { Address } from '@xylabs/hex'\nimport { isPayloadOfSchemaType, Payload, WithMeta } from '@xyo-network/payload-model'\n\nimport { DomainFields } from '../Domain'\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","import { Payload } from '@xyo-network/payload-model'\n\nexport type DomainSchema = 'network.xyo.ns.domain'\nexport const DomainSchema: DomainSchema = 'network.xyo.ns.domain'\n\nexport interface DomainFields {\n /**\n * The XNS domain of the record\n */\n domain: string\n}\n\n/**\n * A domain record is a record of a domain\n */\nexport type Domain = Payload<DomainFields, DomainSchema>\n","import { Payload } from '@xyo-network/payload-model'\n\nimport { DurationFields } from '../Duration'\nimport { DomainFields } from './Domain'\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","import { Address } from '@xylabs/hex'\nimport { Payload } from '@xyo-network/payload-model'\n\nimport { DomainLeaseFields, DomainSchema } from '../Domain'\n\nexport const DomainRegistrationSchema = `${DomainSchema}.registration` as const\nexport type DomainRegistrationSchema = typeof DomainRegistrationSchema\n\nexport interface DomainRegistrationFields extends DomainLeaseFields {\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 * A WHOIS record is a record of a domain identifying its registrant, registrar and nameservers\n */\nexport type DomainRegistration = Payload<DomainRegistrationFields, DomainRegistrationSchema>\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'\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'\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'\nimport { validateBoundWitness } from './validateBoundWitness'\nimport { validateBoundWitnessAndDuration } from './validateBoundWitnessAndDuration'\nimport { validateDuration } from './validateDuration'\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;;;ACCA,2BAAyD;AAKlD,IAAM,sBAA2C;AAcjD,IAAM,sBAAkB,4CAAqC,mBAAmB;AAChF,IAAM,8BAA0B,4CAA+C,mBAAmB;;;AClBlG,IAAM,eAA6B;;;ACGnC,IAAM,oBAAuC;;;ACD7C,IAAM,2BAA2B,GAAG,YAAY;;;ACJvD,oCAAsC;AAG/B,IAAM,uBAAuB,OAAO,UAAwB,kBAA4B,CAAC,MAAwB;AAEtH,MAAI,CAAC,gBAAgB,MAAM,CAAC,mBAAmB,SAAS,gBAAgB,SAAS,cAAc,CAAC;AAAG,WAAO;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;AAAI,WAAO;AACrE,MAAI,CAAC,sCAAsC,UAAU,aAAa;AAAG,WAAO;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;AAAG,WAAO;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;AAAI,WAAO;AAE5E,MAAI,CAAC,iBAAiB,aAAa;AAAG,WAAO;AAE7C,MAAI,CAAE,MAAM,gCAAgC,UAAU,aAAa;AAAI,WAAO;AAC9E,SAAO;AACT;","names":[]}
1
+ {"version":3,"sources":["../../src/index.ts","../../src/Address/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'\nexport * from './Domain'\nexport * from './DomainRegistration'\nexport * from './Duration'\n","import { Address } from '@xylabs/hex'\nimport { isPayloadOfSchemaType, Payload, WithMeta } from '@xyo-network/payload-model'\n\nimport { DomainFields } from '../Domain'\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","import { Payload } from '@xyo-network/payload-model'\n\nexport type DomainSchema = 'network.xyo.ns.domain'\nexport const DomainSchema: DomainSchema = 'network.xyo.ns.domain'\n\nexport interface DomainFields {\n /**\n * The XNS domain of the record\n */\n domain: string\n}\n\n/**\n * A domain record is a record of a domain\n */\nexport type Domain = Payload<DomainFields, DomainSchema>\n","import { Payload } from '@xyo-network/payload-model'\n\nimport { DurationFields } from '../Duration'\nimport { DomainFields } from './Domain'\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","import { Address } from '@xylabs/hex'\nimport { Payload } from '@xyo-network/payload-model'\n\nimport { DomainFields, DomainSchema } from '../Domain'\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","import { Payload } from '@xyo-network/payload-model'\n\nimport { DurationFields } from '../Duration'\nimport { DomainRegistrationFields, DomainRegistrationSchema } from './DomainRegistration'\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","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'\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'\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'\nimport { validateBoundWitness } from './validateBoundWitness'\nimport { validateBoundWitnessAndDuration } from './validateBoundWitnessAndDuration'\nimport { validateDuration } from './validateDuration'\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;;;ACCA,2BAAyD;AAKlD,IAAM,sBAA2C;AAcjD,IAAM,sBAAkB,4CAAqC,mBAAmB;AAChF,IAAM,8BAA0B,4CAA+C,mBAAmB;;;AClBlG,IAAM,eAA6B;;;ACGnC,IAAM,oBAAuC;;;ACD7C,IAAM,2BAA2B,GAAG,YAAY;;;ACAhD,IAAM,gCAAgC,GAAG,wBAAwB;;;ACJxE,oCAAsC;AAG/B,IAAM,uBAAuB,OAAO,UAAwB,kBAA4B,CAAC,MAAwB;AAEtH,MAAI,CAAC,gBAAgB,MAAM,CAAC,mBAAmB,SAAS,gBAAgB,SAAS,cAAc,CAAC;AAAG,WAAO;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;AAAI,WAAO;AACrE,MAAI,CAAC,sCAAsC,UAAU,aAAa;AAAG,WAAO;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;AAAG,WAAO;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;AAAI,WAAO;AAE5E,MAAI,CAAC,iBAAiB,aAAa;AAAG,WAAO;AAE7C,MAAI,CAAE,MAAM,gCAAgC,UAAU,aAAa;AAAI,WAAO;AAC9E,SAAO;AACT;","names":[]}
@@ -10,9 +10,12 @@ var DomainSchema = "network.xyo.ns.domain";
10
10
  // src/Domain/DomainLease.ts
11
11
  var DomainLeaseSchema = "network.xyo.ns.domain.lease";
12
12
 
13
- // src/DomainRegistration/Payload.ts
13
+ // src/DomainRegistration/DomainRegistration.ts
14
14
  var DomainRegistrationSchema = `${DomainSchema}.registration`;
15
15
 
16
+ // src/DomainRegistration/DomainRegistrationLease.ts
17
+ var DomainRegistrationLeaseSchema = `${DomainRegistrationSchema}.lease`;
18
+
16
19
  // src/Duration/validation/validateBoundWitness.ts
17
20
  import { BoundWitnessValidator } from "@xyo-network/boundwitness-validator";
18
21
  var validateBoundWitness = async (recordBw, requiredSchemas = []) => {
@@ -65,6 +68,7 @@ var validateBoundWitnessWithDuration = async (recordBw, recordPayload) => {
65
68
  export {
66
69
  AddressRecordSchema,
67
70
  DomainLeaseSchema,
71
+ DomainRegistrationLeaseSchema,
68
72
  DomainRegistrationSchema,
69
73
  DomainSchema,
70
74
  isAddressRecord,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Address/Payload.ts","../../src/Domain/Domain.ts","../../src/Domain/DomainLease.ts","../../src/DomainRegistration/Payload.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'\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","import { Payload } from '@xyo-network/payload-model'\n\nexport type DomainSchema = 'network.xyo.ns.domain'\nexport const DomainSchema: DomainSchema = 'network.xyo.ns.domain'\n\nexport interface DomainFields {\n /**\n * The XNS domain of the record\n */\n domain: string\n}\n\n/**\n * A domain record is a record of a domain\n */\nexport type Domain = Payload<DomainFields, DomainSchema>\n","import { Payload } from '@xyo-network/payload-model'\n\nimport { DurationFields } from '../Duration'\nimport { DomainFields } from './Domain'\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","import { Address } from '@xylabs/hex'\nimport { Payload } from '@xyo-network/payload-model'\n\nimport { DomainLeaseFields, DomainSchema } from '../Domain'\n\nexport const DomainRegistrationSchema = `${DomainSchema}.registration` as const\nexport type DomainRegistrationSchema = typeof DomainRegistrationSchema\n\nexport interface DomainRegistrationFields extends DomainLeaseFields {\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 * A WHOIS record is a record of a domain identifying its registrant, registrar and nameservers\n */\nexport type DomainRegistration = Payload<DomainRegistrationFields, DomainRegistrationSchema>\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'\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'\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'\nimport { validateBoundWitness } from './validateBoundWitness'\nimport { validateBoundWitnessAndDuration } from './validateBoundWitnessAndDuration'\nimport { validateDuration } from './validateDuration'\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;;;AClBlG,IAAM,eAA6B;;;ACGnC,IAAM,oBAAuC;;;ACD7C,IAAM,2BAA2B,GAAG,YAAY;;;ACJvD,SAAS,6BAA6B;AAG/B,IAAM,uBAAuB,OAAO,UAAwB,kBAA4B,CAAC,MAAwB;AAEtH,MAAI,CAAC,gBAAgB,MAAM,CAAC,mBAAmB,SAAS,gBAAgB,SAAS,cAAc,CAAC;AAAG,WAAO;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;AAAI,WAAO;AACrE,MAAI,CAAC,sCAAsC,UAAU,aAAa;AAAG,WAAO;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;AAAG,WAAO;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;AAAI,WAAO;AAE5E,MAAI,CAAC,iBAAiB,aAAa;AAAG,WAAO;AAE7C,MAAI,CAAE,MAAM,gCAAgC,UAAU,aAAa;AAAI,WAAO;AAC9E,SAAO;AACT;","names":[]}
1
+ {"version":3,"sources":["../../src/Address/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'\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","import { Payload } from '@xyo-network/payload-model'\n\nexport type DomainSchema = 'network.xyo.ns.domain'\nexport const DomainSchema: DomainSchema = 'network.xyo.ns.domain'\n\nexport interface DomainFields {\n /**\n * The XNS domain of the record\n */\n domain: string\n}\n\n/**\n * A domain record is a record of a domain\n */\nexport type Domain = Payload<DomainFields, DomainSchema>\n","import { Payload } from '@xyo-network/payload-model'\n\nimport { DurationFields } from '../Duration'\nimport { DomainFields } from './Domain'\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","import { Address } from '@xylabs/hex'\nimport { Payload } from '@xyo-network/payload-model'\n\nimport { DomainFields, DomainSchema } from '../Domain'\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","import { Payload } from '@xyo-network/payload-model'\n\nimport { DurationFields } from '../Duration'\nimport { DomainRegistrationFields, DomainRegistrationSchema } from './DomainRegistration'\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","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'\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'\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'\nimport { validateBoundWitness } from './validateBoundWitness'\nimport { validateBoundWitnessAndDuration } from './validateBoundWitnessAndDuration'\nimport { validateDuration } from './validateDuration'\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;;;AClBlG,IAAM,eAA6B;;;ACGnC,IAAM,oBAAuC;;;ACD7C,IAAM,2BAA2B,GAAG,YAAY;;;ACAhD,IAAM,gCAAgC,GAAG,wBAAwB;;;ACJxE,SAAS,6BAA6B;AAG/B,IAAM,uBAAuB,OAAO,UAAwB,kBAA4B,CAAC,MAAwB;AAEtH,MAAI,CAAC,gBAAgB,MAAM,CAAC,mBAAmB,SAAS,gBAAgB,SAAS,cAAc,CAAC;AAAG,WAAO;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;AAAI,WAAO;AACrE,MAAI,CAAC,sCAAsC,UAAU,aAAa;AAAG,WAAO;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;AAAG,WAAO;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;AAAI,WAAO;AAE5E,MAAI,CAAC,iBAAiB,aAAa;AAAG,WAAO;AAE7C,MAAI,CAAE,MAAM,gCAAgC,UAAU,aAAa;AAAI,WAAO;AAC9E,SAAO;AACT;","names":[]}
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.0.24",
14
- "@xyo-network/boundwitness-model": "^2.94.0",
15
- "@xyo-network/boundwitness-validator": "^2.94.0",
16
- "@xyo-network/payload-builder": "^2.94.0",
17
- "@xyo-network/payload-model": "^2.94.0"
13
+ "@xylabs/hex": "^3.0.25",
14
+ "@xyo-network/boundwitness-model": "^2.94.5",
15
+ "@xyo-network/boundwitness-validator": "^2.94.5",
16
+ "@xyo-network/payload-builder": "^2.94.5",
17
+ "@xyo-network/payload-model": "^2.94.5"
18
18
  },
19
19
  "devDependencies": {
20
20
  "@xylabs/ts-scripts-yarn3": "^3.5.2",
21
21
  "@xylabs/tsconfig": "^3.5.2",
22
- "@xyo-network/account": "^2.94.0",
23
- "@xyo-network/boundwitness-builder": "^2.94.0",
22
+ "@xyo-network/account": "^2.94.5",
23
+ "@xyo-network/boundwitness-builder": "^2.94.5",
24
24
  "typescript": "^5.4.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.91.2",
65
+ "version": "2.91.3",
66
66
  "type": "module"
67
67
  }
@@ -1,12 +1,12 @@
1
1
  import { Address } from '@xylabs/hex'
2
2
  import { Payload } from '@xyo-network/payload-model'
3
3
 
4
- import { DomainLeaseFields, DomainSchema } from '../Domain'
4
+ import { DomainFields, DomainSchema } from '../Domain'
5
5
 
6
6
  export const DomainRegistrationSchema = `${DomainSchema}.registration` as const
7
7
  export type DomainRegistrationSchema = typeof DomainRegistrationSchema
8
8
 
9
- export interface DomainRegistrationFields extends DomainLeaseFields {
9
+ export interface DomainRegistrationFields extends DomainFields {
10
10
  /**
11
11
  * The registrant of the domain
12
12
  */
@@ -18,6 +18,6 @@ export interface DomainRegistrationFields extends DomainLeaseFields {
18
18
  }
19
19
 
20
20
  /**
21
- * A WHOIS record is a record of a domain identifying its registrant, registrar and nameservers
21
+ * Delegation of a domain to a registrar by a registrant
22
22
  */
23
23
  export type DomainRegistration = Payload<DomainRegistrationFields, DomainRegistrationSchema>
@@ -0,0 +1,14 @@
1
+ import { Payload } from '@xyo-network/payload-model'
2
+
3
+ import { DurationFields } from '../Duration'
4
+ import { DomainRegistrationFields, DomainRegistrationSchema } from './DomainRegistration'
5
+
6
+ export const DomainRegistrationLeaseSchema = `${DomainRegistrationSchema}.lease` as const
7
+ export type DomainRegistrationLeaseSchema = typeof DomainRegistrationLeaseSchema
8
+
9
+ export interface DomainRegistrationLeaseFields extends DomainRegistrationFields, DurationFields {}
10
+
11
+ /**
12
+ * Temporal delegation of a domain to a registrar by a registrant
13
+ */
14
+ export type DomainRegistrationLease = Payload<DomainRegistrationLeaseFields, DomainRegistrationLeaseSchema>
@@ -1 +1,2 @@
1
- export * from './Payload'
1
+ export * from './DomainRegistration'
2
+ export * from './DomainRegistrationLease'
@@ -1 +0,0 @@
1
- {"version":3,"file":"Payload.d.ts","sourceRoot":"","sources":["../../../src/DomainRegistration/Payload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEpD,OAAO,EAAE,iBAAiB,EAAgB,MAAM,WAAW,CAAA;AAE3D,eAAO,MAAM,wBAAwB,sCAA0C,CAAA;AAC/E,MAAM,MAAM,wBAAwB,GAAG,OAAO,wBAAwB,CAAA;AAEtE,MAAM,WAAW,wBAAyB,SAAQ,iBAAiB;IACjE;;OAEG;IACH,UAAU,EAAE,OAAO,EAAE,CAAA;IACrB;;OAEG;IACH,SAAS,EAAE,OAAO,EAAE,CAAA;CACrB;AAED;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,OAAO,CAAC,wBAAwB,EAAE,wBAAwB,CAAC,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Payload.d.ts","sourceRoot":"","sources":["../../../src/DomainRegistration/Payload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEpD,OAAO,EAAE,iBAAiB,EAAgB,MAAM,WAAW,CAAA;AAE3D,eAAO,MAAM,wBAAwB,sCAA0C,CAAA;AAC/E,MAAM,MAAM,wBAAwB,GAAG,OAAO,wBAAwB,CAAA;AAEtE,MAAM,WAAW,wBAAyB,SAAQ,iBAAiB;IACjE;;OAEG;IACH,UAAU,EAAE,OAAO,EAAE,CAAA;IACrB;;OAEG;IACH,SAAS,EAAE,OAAO,EAAE,CAAA;CACrB;AAED;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,OAAO,CAAC,wBAAwB,EAAE,wBAAwB,CAAC,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Payload.d.ts","sourceRoot":"","sources":["../../../src/DomainRegistration/Payload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEpD,OAAO,EAAE,iBAAiB,EAAgB,MAAM,WAAW,CAAA;AAE3D,eAAO,MAAM,wBAAwB,sCAA0C,CAAA;AAC/E,MAAM,MAAM,wBAAwB,GAAG,OAAO,wBAAwB,CAAA;AAEtE,MAAM,WAAW,wBAAyB,SAAQ,iBAAiB;IACjE;;OAEG;IACH,UAAU,EAAE,OAAO,EAAE,CAAA;IACrB;;OAEG;IACH,SAAS,EAAE,OAAO,EAAE,CAAA;CACrB;AAED;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,OAAO,CAAC,wBAAwB,EAAE,wBAAwB,CAAC,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Payload.d.ts","sourceRoot":"","sources":["../../../src/DomainRegistration/Payload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEpD,OAAO,EAAE,iBAAiB,EAAgB,MAAM,WAAW,CAAA;AAE3D,eAAO,MAAM,wBAAwB,sCAA0C,CAAA;AAC/E,MAAM,MAAM,wBAAwB,GAAG,OAAO,wBAAwB,CAAA;AAEtE,MAAM,WAAW,wBAAyB,SAAQ,iBAAiB;IACjE;;OAEG;IACH,UAAU,EAAE,OAAO,EAAE,CAAA;IACrB;;OAEG;IACH,SAAS,EAAE,OAAO,EAAE,CAAA;CACrB;AAED;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,OAAO,CAAC,wBAAwB,EAAE,wBAAwB,CAAC,CAAA"}
@@ -1,20 +0,0 @@
1
- import { Address } from '@xylabs/hex';
2
- import { Payload } from '@xyo-network/payload-model';
3
- import { DomainLeaseFields } from '../Domain';
4
- export declare const DomainRegistrationSchema: "network.xyo.ns.domain.registration";
5
- export type DomainRegistrationSchema = typeof DomainRegistrationSchema;
6
- export interface DomainRegistrationFields extends DomainLeaseFields {
7
- /**
8
- * The registrant of the domain
9
- */
10
- registrant: Address[];
11
- /**
12
- * The registrar of the domain
13
- */
14
- registrar: Address[];
15
- }
16
- /**
17
- * A WHOIS record is a record of a domain identifying its registrant, registrar and nameservers
18
- */
19
- export type DomainRegistration = Payload<DomainRegistrationFields, DomainRegistrationSchema>;
20
- //# sourceMappingURL=Payload.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Payload.d.ts","sourceRoot":"","sources":["../../../src/DomainRegistration/Payload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEpD,OAAO,EAAE,iBAAiB,EAAgB,MAAM,WAAW,CAAA;AAE3D,eAAO,MAAM,wBAAwB,sCAA0C,CAAA;AAC/E,MAAM,MAAM,wBAAwB,GAAG,OAAO,wBAAwB,CAAA;AAEtE,MAAM,WAAW,wBAAyB,SAAQ,iBAAiB;IACjE;;OAEG;IACH,UAAU,EAAE,OAAO,EAAE,CAAA;IACrB;;OAEG;IACH,SAAS,EAAE,OAAO,EAAE,CAAA;CACrB;AAED;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,OAAO,CAAC,wBAAwB,EAAE,wBAAwB,CAAC,CAAA"}
@@ -1,20 +0,0 @@
1
- import { Address } from '@xylabs/hex';
2
- import { Payload } from '@xyo-network/payload-model';
3
- import { DomainLeaseFields } from '../Domain';
4
- export declare const DomainRegistrationSchema: "network.xyo.ns.domain.registration";
5
- export type DomainRegistrationSchema = typeof DomainRegistrationSchema;
6
- export interface DomainRegistrationFields extends DomainLeaseFields {
7
- /**
8
- * The registrant of the domain
9
- */
10
- registrant: Address[];
11
- /**
12
- * The registrar of the domain
13
- */
14
- registrar: Address[];
15
- }
16
- /**
17
- * A WHOIS record is a record of a domain identifying its registrant, registrar and nameservers
18
- */
19
- export type DomainRegistration = Payload<DomainRegistrationFields, DomainRegistrationSchema>;
20
- //# sourceMappingURL=Payload.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Payload.d.ts","sourceRoot":"","sources":["../../../src/DomainRegistration/Payload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEpD,OAAO,EAAE,iBAAiB,EAAgB,MAAM,WAAW,CAAA;AAE3D,eAAO,MAAM,wBAAwB,sCAA0C,CAAA;AAC/E,MAAM,MAAM,wBAAwB,GAAG,OAAO,wBAAwB,CAAA;AAEtE,MAAM,WAAW,wBAAyB,SAAQ,iBAAiB;IACjE;;OAEG;IACH,UAAU,EAAE,OAAO,EAAE,CAAA;IACrB;;OAEG;IACH,SAAS,EAAE,OAAO,EAAE,CAAA;CACrB;AAED;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,OAAO,CAAC,wBAAwB,EAAE,wBAAwB,CAAC,CAAA"}