@xyo-network/xns-record-payload-plugins 2.91.3 → 2.91.4

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 (61) hide show
  1. package/dist/browser/Domain/Domain.d.cts +6 -0
  2. package/dist/browser/Domain/Domain.d.cts.map +1 -1
  3. package/dist/browser/Domain/Domain.d.mts +6 -0
  4. package/dist/browser/Domain/Domain.d.mts.map +1 -1
  5. package/dist/browser/Domain/Domain.d.ts +6 -0
  6. package/dist/browser/Domain/Domain.d.ts.map +1 -1
  7. package/dist/browser/Domain/DomainLease.d.cts +6 -0
  8. package/dist/browser/Domain/DomainLease.d.cts.map +1 -1
  9. package/dist/browser/Domain/DomainLease.d.mts +6 -0
  10. package/dist/browser/Domain/DomainLease.d.mts.map +1 -1
  11. package/dist/browser/Domain/DomainLease.d.ts +6 -0
  12. package/dist/browser/Domain/DomainLease.d.ts.map +1 -1
  13. package/dist/browser/DomainRegistration/DomainRegistration.d.cts +6 -0
  14. package/dist/browser/DomainRegistration/DomainRegistration.d.cts.map +1 -1
  15. package/dist/browser/DomainRegistration/DomainRegistration.d.mts +6 -0
  16. package/dist/browser/DomainRegistration/DomainRegistration.d.mts.map +1 -1
  17. package/dist/browser/DomainRegistration/DomainRegistration.d.ts +6 -0
  18. package/dist/browser/DomainRegistration/DomainRegistration.d.ts.map +1 -1
  19. package/dist/browser/DomainRegistration/DomainRegistrationLease.d.cts +6 -0
  20. package/dist/browser/DomainRegistration/DomainRegistrationLease.d.cts.map +1 -1
  21. package/dist/browser/DomainRegistration/DomainRegistrationLease.d.mts +6 -0
  22. package/dist/browser/DomainRegistration/DomainRegistrationLease.d.mts.map +1 -1
  23. package/dist/browser/DomainRegistration/DomainRegistrationLease.d.ts +6 -0
  24. package/dist/browser/DomainRegistration/DomainRegistrationLease.d.ts.map +1 -1
  25. package/dist/browser/index.cjs +12 -0
  26. package/dist/browser/index.cjs.map +1 -1
  27. package/dist/browser/index.js +12 -0
  28. package/dist/browser/index.js.map +1 -1
  29. package/dist/node/Domain/Domain.d.cts +6 -0
  30. package/dist/node/Domain/Domain.d.cts.map +1 -1
  31. package/dist/node/Domain/Domain.d.mts +6 -0
  32. package/dist/node/Domain/Domain.d.mts.map +1 -1
  33. package/dist/node/Domain/Domain.d.ts +6 -0
  34. package/dist/node/Domain/Domain.d.ts.map +1 -1
  35. package/dist/node/Domain/DomainLease.d.cts +6 -0
  36. package/dist/node/Domain/DomainLease.d.cts.map +1 -1
  37. package/dist/node/Domain/DomainLease.d.mts +6 -0
  38. package/dist/node/Domain/DomainLease.d.mts.map +1 -1
  39. package/dist/node/Domain/DomainLease.d.ts +6 -0
  40. package/dist/node/Domain/DomainLease.d.ts.map +1 -1
  41. package/dist/node/DomainRegistration/DomainRegistration.d.cts +6 -0
  42. package/dist/node/DomainRegistration/DomainRegistration.d.cts.map +1 -1
  43. package/dist/node/DomainRegistration/DomainRegistration.d.mts +6 -0
  44. package/dist/node/DomainRegistration/DomainRegistration.d.mts.map +1 -1
  45. package/dist/node/DomainRegistration/DomainRegistration.d.ts +6 -0
  46. package/dist/node/DomainRegistration/DomainRegistration.d.ts.map +1 -1
  47. package/dist/node/DomainRegistration/DomainRegistrationLease.d.cts +6 -0
  48. package/dist/node/DomainRegistration/DomainRegistrationLease.d.cts.map +1 -1
  49. package/dist/node/DomainRegistration/DomainRegistrationLease.d.mts +6 -0
  50. package/dist/node/DomainRegistration/DomainRegistrationLease.d.mts.map +1 -1
  51. package/dist/node/DomainRegistration/DomainRegistrationLease.d.ts +6 -0
  52. package/dist/node/DomainRegistration/DomainRegistrationLease.d.ts.map +1 -1
  53. package/dist/node/index.cjs +16 -0
  54. package/dist/node/index.cjs.map +1 -1
  55. package/dist/node/index.js +12 -0
  56. package/dist/node/index.js.map +1 -1
  57. package/package.json +1 -1
  58. package/src/Domain/Domain.ts +6 -1
  59. package/src/Domain/DomainLease.ts +6 -1
  60. package/src/DomainRegistration/DomainRegistration.ts +6 -1
  61. package/src/DomainRegistration/DomainRegistrationLease.ts +6 -1
@@ -11,4 +11,10 @@ export interface DomainFields {
11
11
  * A domain record is a record of a domain
12
12
  */
13
13
  export type Domain = Payload<DomainFields, DomainSchema>;
14
+ /**
15
+ * Identity function for Domain payload
16
+ */
17
+ export declare const isDomain: (x?: unknown) => x is import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & DomainFields & {
18
+ schema: "network.xyo.ns.domain";
19
+ };
14
20
  //# sourceMappingURL=Domain.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Domain.d.ts","sourceRoot":"","sources":["../../../src/Domain/Domain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEpD,MAAM,MAAM,YAAY,GAAG,uBAAuB,CAAA;AAClD,eAAO,MAAM,YAAY,EAAE,YAAsC,CAAA;AAEjE,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,MAAM,EAAE,MAAM,CAAA;CACf;AAED;;GAEG;AACH,MAAM,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,YAAY,CAAC,CAAA"}
1
+ {"version":3,"file":"Domain.d.ts","sourceRoot":"","sources":["../../../src/Domain/Domain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAE3E,MAAM,MAAM,YAAY,GAAG,uBAAuB,CAAA;AAClD,eAAO,MAAM,YAAY,EAAE,YAAsC,CAAA;AAEjE,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,MAAM,EAAE,MAAM,CAAA;CACf;AAED;;GAEG;AACH,MAAM,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,YAAY,CAAC,CAAA;AAExD;;GAEG;AACH,eAAO,MAAM,QAAQ;;CAA8C,CAAA"}
@@ -11,4 +11,10 @@ export interface DomainFields {
11
11
  * A domain record is a record of a domain
12
12
  */
13
13
  export type Domain = Payload<DomainFields, DomainSchema>;
14
+ /**
15
+ * Identity function for Domain payload
16
+ */
17
+ export declare const isDomain: (x?: unknown) => x is import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & DomainFields & {
18
+ schema: "network.xyo.ns.domain";
19
+ };
14
20
  //# sourceMappingURL=Domain.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Domain.d.ts","sourceRoot":"","sources":["../../../src/Domain/Domain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEpD,MAAM,MAAM,YAAY,GAAG,uBAAuB,CAAA;AAClD,eAAO,MAAM,YAAY,EAAE,YAAsC,CAAA;AAEjE,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,MAAM,EAAE,MAAM,CAAA;CACf;AAED;;GAEG;AACH,MAAM,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,YAAY,CAAC,CAAA"}
1
+ {"version":3,"file":"Domain.d.ts","sourceRoot":"","sources":["../../../src/Domain/Domain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAE3E,MAAM,MAAM,YAAY,GAAG,uBAAuB,CAAA;AAClD,eAAO,MAAM,YAAY,EAAE,YAAsC,CAAA;AAEjE,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,MAAM,EAAE,MAAM,CAAA;CACf;AAED;;GAEG;AACH,MAAM,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,YAAY,CAAC,CAAA;AAExD;;GAEG;AACH,eAAO,MAAM,QAAQ;;CAA8C,CAAA"}
@@ -11,4 +11,10 @@ export interface DomainFields {
11
11
  * A domain record is a record of a domain
12
12
  */
13
13
  export type Domain = Payload<DomainFields, DomainSchema>;
14
+ /**
15
+ * Identity function for Domain payload
16
+ */
17
+ export declare const isDomain: (x?: unknown) => x is import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & DomainFields & {
18
+ schema: "network.xyo.ns.domain";
19
+ };
14
20
  //# sourceMappingURL=Domain.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Domain.d.ts","sourceRoot":"","sources":["../../../src/Domain/Domain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEpD,MAAM,MAAM,YAAY,GAAG,uBAAuB,CAAA;AAClD,eAAO,MAAM,YAAY,EAAE,YAAsC,CAAA;AAEjE,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,MAAM,EAAE,MAAM,CAAA;CACf;AAED;;GAEG;AACH,MAAM,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,YAAY,CAAC,CAAA"}
1
+ {"version":3,"file":"Domain.d.ts","sourceRoot":"","sources":["../../../src/Domain/Domain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAE3E,MAAM,MAAM,YAAY,GAAG,uBAAuB,CAAA;AAClD,eAAO,MAAM,YAAY,EAAE,YAAsC,CAAA;AAEjE,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,MAAM,EAAE,MAAM,CAAA;CACf;AAED;;GAEG;AACH,MAAM,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,YAAY,CAAC,CAAA;AAExD;;GAEG;AACH,eAAO,MAAM,QAAQ;;CAA8C,CAAA"}
@@ -12,4 +12,10 @@ export interface DomainLeaseFields extends DomainFields, DurationFields {
12
12
  * A domain lease is a record of a domain and the duration it is leased for
13
13
  */
14
14
  export type DomainLease = Payload<DomainLeaseFields, DomainLeaseSchema>;
15
+ /**
16
+ * Identity function for DomainLease payload
17
+ */
18
+ export declare const isDomainLease: (x?: unknown) => x is import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & DomainLeaseFields & {
19
+ schema: "network.xyo.ns.domain.lease";
20
+ };
15
21
  //# sourceMappingURL=DomainLease.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DomainLease.d.ts","sourceRoot":"","sources":["../../../src/Domain/DomainLease.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEpD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAEvC,MAAM,MAAM,iBAAiB,GAAG,6BAA6B,CAAA;AAC7D,eAAO,MAAM,iBAAiB,EAAE,iBAAiD,CAAA;AAEjF;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,YAAY,EAAE,cAAc;CAAG;AAE1E;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,CAAA"}
1
+ {"version":3,"file":"DomainLease.d.ts","sourceRoot":"","sources":["../../../src/Domain/DomainLease.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAE3E,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAEvC,MAAM,MAAM,iBAAiB,GAAG,6BAA6B,CAAA;AAC7D,eAAO,MAAM,iBAAiB,EAAE,iBAAiD,CAAA;AAEjF;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,YAAY,EAAE,cAAc;CAAG;AAE1E;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,CAAA;AAEvE;;GAEG;AACH,eAAO,MAAM,aAAa;;CAAwD,CAAA"}
@@ -12,4 +12,10 @@ export interface DomainLeaseFields extends DomainFields, DurationFields {
12
12
  * A domain lease is a record of a domain and the duration it is leased for
13
13
  */
14
14
  export type DomainLease = Payload<DomainLeaseFields, DomainLeaseSchema>;
15
+ /**
16
+ * Identity function for DomainLease payload
17
+ */
18
+ export declare const isDomainLease: (x?: unknown) => x is import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & DomainLeaseFields & {
19
+ schema: "network.xyo.ns.domain.lease";
20
+ };
15
21
  //# sourceMappingURL=DomainLease.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DomainLease.d.ts","sourceRoot":"","sources":["../../../src/Domain/DomainLease.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEpD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAEvC,MAAM,MAAM,iBAAiB,GAAG,6BAA6B,CAAA;AAC7D,eAAO,MAAM,iBAAiB,EAAE,iBAAiD,CAAA;AAEjF;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,YAAY,EAAE,cAAc;CAAG;AAE1E;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,CAAA"}
1
+ {"version":3,"file":"DomainLease.d.ts","sourceRoot":"","sources":["../../../src/Domain/DomainLease.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAE3E,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAEvC,MAAM,MAAM,iBAAiB,GAAG,6BAA6B,CAAA;AAC7D,eAAO,MAAM,iBAAiB,EAAE,iBAAiD,CAAA;AAEjF;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,YAAY,EAAE,cAAc;CAAG;AAE1E;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,CAAA;AAEvE;;GAEG;AACH,eAAO,MAAM,aAAa;;CAAwD,CAAA"}
@@ -12,4 +12,10 @@ export interface DomainLeaseFields extends DomainFields, DurationFields {
12
12
  * A domain lease is a record of a domain and the duration it is leased for
13
13
  */
14
14
  export type DomainLease = Payload<DomainLeaseFields, DomainLeaseSchema>;
15
+ /**
16
+ * Identity function for DomainLease payload
17
+ */
18
+ export declare const isDomainLease: (x?: unknown) => x is import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & DomainLeaseFields & {
19
+ schema: "network.xyo.ns.domain.lease";
20
+ };
15
21
  //# sourceMappingURL=DomainLease.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DomainLease.d.ts","sourceRoot":"","sources":["../../../src/Domain/DomainLease.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEpD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAEvC,MAAM,MAAM,iBAAiB,GAAG,6BAA6B,CAAA;AAC7D,eAAO,MAAM,iBAAiB,EAAE,iBAAiD,CAAA;AAEjF;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,YAAY,EAAE,cAAc;CAAG;AAE1E;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,CAAA"}
1
+ {"version":3,"file":"DomainLease.d.ts","sourceRoot":"","sources":["../../../src/Domain/DomainLease.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAE3E,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAEvC,MAAM,MAAM,iBAAiB,GAAG,6BAA6B,CAAA;AAC7D,eAAO,MAAM,iBAAiB,EAAE,iBAAiD,CAAA;AAEjF;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,YAAY,EAAE,cAAc;CAAG;AAE1E;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,CAAA;AAEvE;;GAEG;AACH,eAAO,MAAM,aAAa;;CAAwD,CAAA"}
@@ -17,4 +17,10 @@ export interface DomainRegistrationFields extends DomainFields {
17
17
  * Delegation of a domain to a registrar by a registrant
18
18
  */
19
19
  export type DomainRegistration = Payload<DomainRegistrationFields, DomainRegistrationSchema>;
20
+ /**
21
+ * Identity function for DomainRegistration payload
22
+ */
23
+ export declare const isDomainRegistration: (x?: unknown) => x is import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & DomainRegistrationFields & {
24
+ schema: "network.xyo.ns.domain.registration";
25
+ };
20
26
  //# sourceMappingURL=DomainRegistration.d.ts.map
@@ -1 +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
+ {"version":3,"file":"DomainRegistration.d.ts","sourceRoot":"","sources":["../../../src/DomainRegistration/DomainRegistration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACrC,OAAO,EAAyB,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAE3E,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;AAE5F;;GAEG;AACH,eAAO,MAAM,oBAAoB;;CAAsE,CAAA"}
@@ -17,4 +17,10 @@ export interface DomainRegistrationFields extends DomainFields {
17
17
  * Delegation of a domain to a registrar by a registrant
18
18
  */
19
19
  export type DomainRegistration = Payload<DomainRegistrationFields, DomainRegistrationSchema>;
20
+ /**
21
+ * Identity function for DomainRegistration payload
22
+ */
23
+ export declare const isDomainRegistration: (x?: unknown) => x is import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & DomainRegistrationFields & {
24
+ schema: "network.xyo.ns.domain.registration";
25
+ };
20
26
  //# sourceMappingURL=DomainRegistration.d.ts.map
@@ -1 +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
+ {"version":3,"file":"DomainRegistration.d.ts","sourceRoot":"","sources":["../../../src/DomainRegistration/DomainRegistration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACrC,OAAO,EAAyB,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAE3E,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;AAE5F;;GAEG;AACH,eAAO,MAAM,oBAAoB;;CAAsE,CAAA"}
@@ -17,4 +17,10 @@ export interface DomainRegistrationFields extends DomainFields {
17
17
  * Delegation of a domain to a registrar by a registrant
18
18
  */
19
19
  export type DomainRegistration = Payload<DomainRegistrationFields, DomainRegistrationSchema>;
20
+ /**
21
+ * Identity function for DomainRegistration payload
22
+ */
23
+ export declare const isDomainRegistration: (x?: unknown) => x is import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & DomainRegistrationFields & {
24
+ schema: "network.xyo.ns.domain.registration";
25
+ };
20
26
  //# sourceMappingURL=DomainRegistration.d.ts.map
@@ -1 +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
+ {"version":3,"file":"DomainRegistration.d.ts","sourceRoot":"","sources":["../../../src/DomainRegistration/DomainRegistration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACrC,OAAO,EAAyB,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAE3E,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;AAE5F;;GAEG;AACH,eAAO,MAAM,oBAAoB;;CAAsE,CAAA"}
@@ -9,4 +9,10 @@ export interface DomainRegistrationLeaseFields extends DomainRegistrationFields,
9
9
  * Temporal delegation of a domain to a registrar by a registrant
10
10
  */
11
11
  export type DomainRegistrationLease = Payload<DomainRegistrationLeaseFields, DomainRegistrationLeaseSchema>;
12
+ /**
13
+ * Identity function for DomainRegistrationLease payload
14
+ */
15
+ export declare const isDomainRegistrationLease: (x?: unknown) => x is import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & DomainRegistrationLeaseFields & {
16
+ schema: "network.xyo.ns.domain.registration.lease";
17
+ };
12
18
  //# sourceMappingURL=DomainRegistrationLease.d.ts.map
@@ -1 +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
+ {"version":3,"file":"DomainRegistrationLease.d.ts","sourceRoot":"","sources":["../../../src/DomainRegistration/DomainRegistrationLease.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAE3E,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;AAE3G;;GAEG;AACH,eAAO,MAAM,yBAAyB;;CAAgF,CAAA"}
@@ -9,4 +9,10 @@ export interface DomainRegistrationLeaseFields extends DomainRegistrationFields,
9
9
  * Temporal delegation of a domain to a registrar by a registrant
10
10
  */
11
11
  export type DomainRegistrationLease = Payload<DomainRegistrationLeaseFields, DomainRegistrationLeaseSchema>;
12
+ /**
13
+ * Identity function for DomainRegistrationLease payload
14
+ */
15
+ export declare const isDomainRegistrationLease: (x?: unknown) => x is import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & DomainRegistrationLeaseFields & {
16
+ schema: "network.xyo.ns.domain.registration.lease";
17
+ };
12
18
  //# sourceMappingURL=DomainRegistrationLease.d.ts.map
@@ -1 +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
+ {"version":3,"file":"DomainRegistrationLease.d.ts","sourceRoot":"","sources":["../../../src/DomainRegistration/DomainRegistrationLease.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAE3E,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;AAE3G;;GAEG;AACH,eAAO,MAAM,yBAAyB;;CAAgF,CAAA"}
@@ -9,4 +9,10 @@ export interface DomainRegistrationLeaseFields extends DomainRegistrationFields,
9
9
  * Temporal delegation of a domain to a registrar by a registrant
10
10
  */
11
11
  export type DomainRegistrationLease = Payload<DomainRegistrationLeaseFields, DomainRegistrationLeaseSchema>;
12
+ /**
13
+ * Identity function for DomainRegistrationLease payload
14
+ */
15
+ export declare const isDomainRegistrationLease: (x?: unknown) => x is import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & DomainRegistrationLeaseFields & {
16
+ schema: "network.xyo.ns.domain.registration.lease";
17
+ };
12
18
  //# sourceMappingURL=DomainRegistrationLease.d.ts.map
@@ -1 +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
+ {"version":3,"file":"DomainRegistrationLease.d.ts","sourceRoot":"","sources":["../../../src/DomainRegistration/DomainRegistrationLease.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAE3E,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;AAE3G;;GAEG;AACH,eAAO,MAAM,yBAAyB;;CAAgF,CAAA"}
@@ -27,6 +27,10 @@ __export(src_exports, {
27
27
  DomainSchema: () => DomainSchema,
28
28
  isAddressRecord: () => isAddressRecord,
29
29
  isAddressRecordWithMeta: () => isAddressRecordWithMeta,
30
+ isDomain: () => isDomain,
31
+ isDomainLease: () => isDomainLease,
32
+ isDomainRegistration: () => isDomainRegistration,
33
+ isDomainRegistrationLease: () => isDomainRegistrationLease,
30
34
  validateBoundWitnessWithDuration: () => validateBoundWitnessWithDuration,
31
35
  validateDuration: () => validateDuration
32
36
  });
@@ -39,16 +43,24 @@ var isAddressRecord = (0, import_payload_model.isPayloadOfSchemaType)(AddressRec
39
43
  var isAddressRecordWithMeta = (0, import_payload_model.isPayloadOfSchemaType)(AddressRecordSchema);
40
44
 
41
45
  // src/Domain/Domain.ts
46
+ var import_payload_model2 = require("@xyo-network/payload-model");
42
47
  var DomainSchema = "network.xyo.ns.domain";
48
+ var isDomain = (0, import_payload_model2.isPayloadOfSchemaType)(DomainSchema);
43
49
 
44
50
  // src/Domain/DomainLease.ts
51
+ var import_payload_model3 = require("@xyo-network/payload-model");
45
52
  var DomainLeaseSchema = "network.xyo.ns.domain.lease";
53
+ var isDomainLease = (0, import_payload_model3.isPayloadOfSchemaType)(DomainLeaseSchema);
46
54
 
47
55
  // src/DomainRegistration/DomainRegistration.ts
56
+ var import_payload_model4 = require("@xyo-network/payload-model");
48
57
  var DomainRegistrationSchema = `${DomainSchema}.registration`;
58
+ var isDomainRegistration = (0, import_payload_model4.isPayloadOfSchemaType)(DomainRegistrationSchema);
49
59
 
50
60
  // src/DomainRegistration/DomainRegistrationLease.ts
61
+ var import_payload_model5 = require("@xyo-network/payload-model");
51
62
  var DomainRegistrationLeaseSchema = `${DomainRegistrationSchema}.lease`;
63
+ var isDomainRegistrationLease = (0, import_payload_model5.isPayloadOfSchemaType)(DomainRegistrationLeaseSchema);
52
64
 
53
65
  // src/Duration/validation/validateBoundWitness.ts
54
66
  var import_boundwitness_validator = require("@xyo-network/boundwitness-validator");
@@ -1 +1 @@
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":[]}
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 { isPayloadOfSchemaType, 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\n/**\n * Identity function for Domain payload\n */\nexport const isDomain = isPayloadOfSchemaType<Domain>(DomainSchema)\n","import { isPayloadOfSchemaType, 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\n/**\n * Identity function for DomainLease payload\n */\nexport const isDomainLease = isPayloadOfSchemaType<DomainLease>(DomainLeaseSchema)\n","import { Address } from '@xylabs/hex'\nimport { isPayloadOfSchemaType, 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\n/**\n * Identity function for DomainRegistration payload\n */\nexport const isDomainRegistration = isPayloadOfSchemaType<DomainRegistration>(DomainRegistrationSchema)\n","import { isPayloadOfSchemaType, 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\n/**\n * Identity function for DomainRegistrationLease payload\n */\nexport const isDomainRegistrationLease = isPayloadOfSchemaType<DomainRegistrationLease>(DomainRegistrationLeaseSchema)\n","import { BoundWitness } from '@xyo-network/boundwitness-model'\nimport { BoundWitnessValidator } from '@xyo-network/boundwitness-validator'\n\n// BW Validations\nexport const validateBoundWitness = async (recordBw: BoundWitness, requiredSchemas: string[] = []): Promise<boolean> => {\n // If the BW does not include all of the required schemas\n if (!requiredSchemas.every((requiredSchema) => recordBw.payload_schemas.includes(requiredSchema))) return false\n // If the BW is valid (does not include any errors)\n const validator = new BoundWitnessValidator(recordBw)\n const errors = await validator.validate()\n return errors.length === 0\n}\n","import { BoundWitness } from '@xyo-network/boundwitness-model'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { Payload } from '@xyo-network/payload-model'\n\nimport { DurationFields } from '../Duration'\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;AAAA;AAAA;AAAA;AAAA;;;ACCA,2BAAyD;AAKlD,IAAM,sBAA2C;AAcjD,IAAM,sBAAkB,4CAAqC,mBAAmB;AAChF,IAAM,8BAA0B,4CAA+C,mBAAmB;;;ACrBzG,IAAAA,wBAA+C;AAGxC,IAAM,eAA6B;AAiBnC,IAAM,eAAW,6CAA8B,YAAY;;;ACpBlE,IAAAC,wBAA+C;AAMxC,IAAM,oBAAuC;AAe7C,IAAM,oBAAgB,6CAAmC,iBAAiB;;;ACpBjF,IAAAC,wBAA+C;AAIxC,IAAM,2BAA2B,GAAG,YAAY;AAsBhD,IAAM,2BAAuB,6CAA0C,wBAAwB;;;AC3BtG,IAAAC,wBAA+C;AAKxC,IAAM,gCAAgC,GAAG,wBAAwB;AAajE,IAAM,gCAA4B,6CAA+C,6BAA6B;;;ACjBrH,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":["import_payload_model","import_payload_model","import_payload_model","import_payload_model"]}
@@ -5,16 +5,24 @@ var isAddressRecord = isPayloadOfSchemaType(AddressRecordSchema);
5
5
  var isAddressRecordWithMeta = isPayloadOfSchemaType(AddressRecordSchema);
6
6
 
7
7
  // src/Domain/Domain.ts
8
+ import { isPayloadOfSchemaType as isPayloadOfSchemaType2 } from "@xyo-network/payload-model";
8
9
  var DomainSchema = "network.xyo.ns.domain";
10
+ var isDomain = isPayloadOfSchemaType2(DomainSchema);
9
11
 
10
12
  // src/Domain/DomainLease.ts
13
+ import { isPayloadOfSchemaType as isPayloadOfSchemaType3 } from "@xyo-network/payload-model";
11
14
  var DomainLeaseSchema = "network.xyo.ns.domain.lease";
15
+ var isDomainLease = isPayloadOfSchemaType3(DomainLeaseSchema);
12
16
 
13
17
  // src/DomainRegistration/DomainRegistration.ts
18
+ import { isPayloadOfSchemaType as isPayloadOfSchemaType4 } from "@xyo-network/payload-model";
14
19
  var DomainRegistrationSchema = `${DomainSchema}.registration`;
20
+ var isDomainRegistration = isPayloadOfSchemaType4(DomainRegistrationSchema);
15
21
 
16
22
  // src/DomainRegistration/DomainRegistrationLease.ts
23
+ import { isPayloadOfSchemaType as isPayloadOfSchemaType5 } from "@xyo-network/payload-model";
17
24
  var DomainRegistrationLeaseSchema = `${DomainRegistrationSchema}.lease`;
25
+ var isDomainRegistrationLease = isPayloadOfSchemaType5(DomainRegistrationLeaseSchema);
18
26
 
19
27
  // src/Duration/validation/validateBoundWitness.ts
20
28
  import { BoundWitnessValidator } from "@xyo-network/boundwitness-validator";
@@ -73,6 +81,10 @@ export {
73
81
  DomainSchema,
74
82
  isAddressRecord,
75
83
  isAddressRecordWithMeta,
84
+ isDomain,
85
+ isDomainLease,
86
+ isDomainRegistration,
87
+ isDomainRegistrationLease,
76
88
  validateBoundWitnessWithDuration,
77
89
  validateDuration
78
90
  };
@@ -1 +1 @@
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
+ {"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 { isPayloadOfSchemaType, 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\n/**\n * Identity function for Domain payload\n */\nexport const isDomain = isPayloadOfSchemaType<Domain>(DomainSchema)\n","import { isPayloadOfSchemaType, 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\n/**\n * Identity function for DomainLease payload\n */\nexport const isDomainLease = isPayloadOfSchemaType<DomainLease>(DomainLeaseSchema)\n","import { Address } from '@xylabs/hex'\nimport { isPayloadOfSchemaType, 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\n/**\n * Identity function for DomainRegistration payload\n */\nexport const isDomainRegistration = isPayloadOfSchemaType<DomainRegistration>(DomainRegistrationSchema)\n","import { isPayloadOfSchemaType, 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\n/**\n * Identity function for DomainRegistrationLease payload\n */\nexport const isDomainRegistrationLease = isPayloadOfSchemaType<DomainRegistrationLease>(DomainRegistrationLeaseSchema)\n","import { BoundWitness } from '@xyo-network/boundwitness-model'\nimport { BoundWitnessValidator } from '@xyo-network/boundwitness-validator'\n\n// BW Validations\nexport const validateBoundWitness = async (recordBw: BoundWitness, requiredSchemas: string[] = []): Promise<boolean> => {\n // If the BW does not include all of the required schemas\n if (!requiredSchemas.every((requiredSchema) => recordBw.payload_schemas.includes(requiredSchema))) return false\n // If the BW is valid (does not include any errors)\n const validator = new BoundWitnessValidator(recordBw)\n const errors = await validator.validate()\n return errors.length === 0\n}\n","import { BoundWitness } from '@xyo-network/boundwitness-model'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { Payload } from '@xyo-network/payload-model'\n\nimport { DurationFields } from '../Duration'\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;;;ACrBzG,SAAS,yBAAAA,8BAAsC;AAGxC,IAAM,eAA6B;AAiBnC,IAAM,WAAWA,uBAA8B,YAAY;;;ACpBlE,SAAS,yBAAAC,8BAAsC;AAMxC,IAAM,oBAAuC;AAe7C,IAAM,gBAAgBA,uBAAmC,iBAAiB;;;ACpBjF,SAAS,yBAAAC,8BAAsC;AAIxC,IAAM,2BAA2B,GAAG,YAAY;AAsBhD,IAAM,uBAAuBC,uBAA0C,wBAAwB;;;AC3BtG,SAAS,yBAAAC,8BAAsC;AAKxC,IAAM,gCAAgC,GAAG,wBAAwB;AAajE,IAAM,4BAA4BC,uBAA+C,6BAA6B;;;ACjBrH,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":["isPayloadOfSchemaType","isPayloadOfSchemaType","isPayloadOfSchemaType","isPayloadOfSchemaType","isPayloadOfSchemaType","isPayloadOfSchemaType"]}
@@ -11,4 +11,10 @@ export interface DomainFields {
11
11
  * A domain record is a record of a domain
12
12
  */
13
13
  export type Domain = Payload<DomainFields, DomainSchema>;
14
+ /**
15
+ * Identity function for Domain payload
16
+ */
17
+ export declare const isDomain: (x?: unknown) => x is import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & DomainFields & {
18
+ schema: "network.xyo.ns.domain";
19
+ };
14
20
  //# sourceMappingURL=Domain.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Domain.d.ts","sourceRoot":"","sources":["../../../src/Domain/Domain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEpD,MAAM,MAAM,YAAY,GAAG,uBAAuB,CAAA;AAClD,eAAO,MAAM,YAAY,EAAE,YAAsC,CAAA;AAEjE,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,MAAM,EAAE,MAAM,CAAA;CACf;AAED;;GAEG;AACH,MAAM,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,YAAY,CAAC,CAAA"}
1
+ {"version":3,"file":"Domain.d.ts","sourceRoot":"","sources":["../../../src/Domain/Domain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAE3E,MAAM,MAAM,YAAY,GAAG,uBAAuB,CAAA;AAClD,eAAO,MAAM,YAAY,EAAE,YAAsC,CAAA;AAEjE,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,MAAM,EAAE,MAAM,CAAA;CACf;AAED;;GAEG;AACH,MAAM,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,YAAY,CAAC,CAAA;AAExD;;GAEG;AACH,eAAO,MAAM,QAAQ;;CAA8C,CAAA"}
@@ -11,4 +11,10 @@ export interface DomainFields {
11
11
  * A domain record is a record of a domain
12
12
  */
13
13
  export type Domain = Payload<DomainFields, DomainSchema>;
14
+ /**
15
+ * Identity function for Domain payload
16
+ */
17
+ export declare const isDomain: (x?: unknown) => x is import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & DomainFields & {
18
+ schema: "network.xyo.ns.domain";
19
+ };
14
20
  //# sourceMappingURL=Domain.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Domain.d.ts","sourceRoot":"","sources":["../../../src/Domain/Domain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEpD,MAAM,MAAM,YAAY,GAAG,uBAAuB,CAAA;AAClD,eAAO,MAAM,YAAY,EAAE,YAAsC,CAAA;AAEjE,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,MAAM,EAAE,MAAM,CAAA;CACf;AAED;;GAEG;AACH,MAAM,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,YAAY,CAAC,CAAA"}
1
+ {"version":3,"file":"Domain.d.ts","sourceRoot":"","sources":["../../../src/Domain/Domain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAE3E,MAAM,MAAM,YAAY,GAAG,uBAAuB,CAAA;AAClD,eAAO,MAAM,YAAY,EAAE,YAAsC,CAAA;AAEjE,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,MAAM,EAAE,MAAM,CAAA;CACf;AAED;;GAEG;AACH,MAAM,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,YAAY,CAAC,CAAA;AAExD;;GAEG;AACH,eAAO,MAAM,QAAQ;;CAA8C,CAAA"}
@@ -11,4 +11,10 @@ export interface DomainFields {
11
11
  * A domain record is a record of a domain
12
12
  */
13
13
  export type Domain = Payload<DomainFields, DomainSchema>;
14
+ /**
15
+ * Identity function for Domain payload
16
+ */
17
+ export declare const isDomain: (x?: unknown) => x is import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & DomainFields & {
18
+ schema: "network.xyo.ns.domain";
19
+ };
14
20
  //# sourceMappingURL=Domain.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Domain.d.ts","sourceRoot":"","sources":["../../../src/Domain/Domain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEpD,MAAM,MAAM,YAAY,GAAG,uBAAuB,CAAA;AAClD,eAAO,MAAM,YAAY,EAAE,YAAsC,CAAA;AAEjE,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,MAAM,EAAE,MAAM,CAAA;CACf;AAED;;GAEG;AACH,MAAM,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,YAAY,CAAC,CAAA"}
1
+ {"version":3,"file":"Domain.d.ts","sourceRoot":"","sources":["../../../src/Domain/Domain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAE3E,MAAM,MAAM,YAAY,GAAG,uBAAuB,CAAA;AAClD,eAAO,MAAM,YAAY,EAAE,YAAsC,CAAA;AAEjE,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,MAAM,EAAE,MAAM,CAAA;CACf;AAED;;GAEG;AACH,MAAM,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,YAAY,CAAC,CAAA;AAExD;;GAEG;AACH,eAAO,MAAM,QAAQ;;CAA8C,CAAA"}
@@ -12,4 +12,10 @@ export interface DomainLeaseFields extends DomainFields, DurationFields {
12
12
  * A domain lease is a record of a domain and the duration it is leased for
13
13
  */
14
14
  export type DomainLease = Payload<DomainLeaseFields, DomainLeaseSchema>;
15
+ /**
16
+ * Identity function for DomainLease payload
17
+ */
18
+ export declare const isDomainLease: (x?: unknown) => x is import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & DomainLeaseFields & {
19
+ schema: "network.xyo.ns.domain.lease";
20
+ };
15
21
  //# sourceMappingURL=DomainLease.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DomainLease.d.ts","sourceRoot":"","sources":["../../../src/Domain/DomainLease.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEpD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAEvC,MAAM,MAAM,iBAAiB,GAAG,6BAA6B,CAAA;AAC7D,eAAO,MAAM,iBAAiB,EAAE,iBAAiD,CAAA;AAEjF;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,YAAY,EAAE,cAAc;CAAG;AAE1E;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,CAAA"}
1
+ {"version":3,"file":"DomainLease.d.ts","sourceRoot":"","sources":["../../../src/Domain/DomainLease.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAE3E,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAEvC,MAAM,MAAM,iBAAiB,GAAG,6BAA6B,CAAA;AAC7D,eAAO,MAAM,iBAAiB,EAAE,iBAAiD,CAAA;AAEjF;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,YAAY,EAAE,cAAc;CAAG;AAE1E;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,CAAA;AAEvE;;GAEG;AACH,eAAO,MAAM,aAAa;;CAAwD,CAAA"}
@@ -12,4 +12,10 @@ export interface DomainLeaseFields extends DomainFields, DurationFields {
12
12
  * A domain lease is a record of a domain and the duration it is leased for
13
13
  */
14
14
  export type DomainLease = Payload<DomainLeaseFields, DomainLeaseSchema>;
15
+ /**
16
+ * Identity function for DomainLease payload
17
+ */
18
+ export declare const isDomainLease: (x?: unknown) => x is import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & DomainLeaseFields & {
19
+ schema: "network.xyo.ns.domain.lease";
20
+ };
15
21
  //# sourceMappingURL=DomainLease.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DomainLease.d.ts","sourceRoot":"","sources":["../../../src/Domain/DomainLease.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEpD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAEvC,MAAM,MAAM,iBAAiB,GAAG,6BAA6B,CAAA;AAC7D,eAAO,MAAM,iBAAiB,EAAE,iBAAiD,CAAA;AAEjF;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,YAAY,EAAE,cAAc;CAAG;AAE1E;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,CAAA"}
1
+ {"version":3,"file":"DomainLease.d.ts","sourceRoot":"","sources":["../../../src/Domain/DomainLease.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAE3E,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAEvC,MAAM,MAAM,iBAAiB,GAAG,6BAA6B,CAAA;AAC7D,eAAO,MAAM,iBAAiB,EAAE,iBAAiD,CAAA;AAEjF;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,YAAY,EAAE,cAAc;CAAG;AAE1E;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,CAAA;AAEvE;;GAEG;AACH,eAAO,MAAM,aAAa;;CAAwD,CAAA"}
@@ -12,4 +12,10 @@ export interface DomainLeaseFields extends DomainFields, DurationFields {
12
12
  * A domain lease is a record of a domain and the duration it is leased for
13
13
  */
14
14
  export type DomainLease = Payload<DomainLeaseFields, DomainLeaseSchema>;
15
+ /**
16
+ * Identity function for DomainLease payload
17
+ */
18
+ export declare const isDomainLease: (x?: unknown) => x is import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & DomainLeaseFields & {
19
+ schema: "network.xyo.ns.domain.lease";
20
+ };
15
21
  //# sourceMappingURL=DomainLease.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DomainLease.d.ts","sourceRoot":"","sources":["../../../src/Domain/DomainLease.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEpD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAEvC,MAAM,MAAM,iBAAiB,GAAG,6BAA6B,CAAA;AAC7D,eAAO,MAAM,iBAAiB,EAAE,iBAAiD,CAAA;AAEjF;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,YAAY,EAAE,cAAc;CAAG;AAE1E;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,CAAA"}
1
+ {"version":3,"file":"DomainLease.d.ts","sourceRoot":"","sources":["../../../src/Domain/DomainLease.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAE3E,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAEvC,MAAM,MAAM,iBAAiB,GAAG,6BAA6B,CAAA;AAC7D,eAAO,MAAM,iBAAiB,EAAE,iBAAiD,CAAA;AAEjF;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,YAAY,EAAE,cAAc;CAAG;AAE1E;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,CAAA;AAEvE;;GAEG;AACH,eAAO,MAAM,aAAa;;CAAwD,CAAA"}
@@ -17,4 +17,10 @@ export interface DomainRegistrationFields extends DomainFields {
17
17
  * Delegation of a domain to a registrar by a registrant
18
18
  */
19
19
  export type DomainRegistration = Payload<DomainRegistrationFields, DomainRegistrationSchema>;
20
+ /**
21
+ * Identity function for DomainRegistration payload
22
+ */
23
+ export declare const isDomainRegistration: (x?: unknown) => x is import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & DomainRegistrationFields & {
24
+ schema: "network.xyo.ns.domain.registration";
25
+ };
20
26
  //# sourceMappingURL=DomainRegistration.d.ts.map
@@ -1 +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
+ {"version":3,"file":"DomainRegistration.d.ts","sourceRoot":"","sources":["../../../src/DomainRegistration/DomainRegistration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACrC,OAAO,EAAyB,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAE3E,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;AAE5F;;GAEG;AACH,eAAO,MAAM,oBAAoB;;CAAsE,CAAA"}
@@ -17,4 +17,10 @@ export interface DomainRegistrationFields extends DomainFields {
17
17
  * Delegation of a domain to a registrar by a registrant
18
18
  */
19
19
  export type DomainRegistration = Payload<DomainRegistrationFields, DomainRegistrationSchema>;
20
+ /**
21
+ * Identity function for DomainRegistration payload
22
+ */
23
+ export declare const isDomainRegistration: (x?: unknown) => x is import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & DomainRegistrationFields & {
24
+ schema: "network.xyo.ns.domain.registration";
25
+ };
20
26
  //# sourceMappingURL=DomainRegistration.d.ts.map
@@ -1 +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
+ {"version":3,"file":"DomainRegistration.d.ts","sourceRoot":"","sources":["../../../src/DomainRegistration/DomainRegistration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACrC,OAAO,EAAyB,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAE3E,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;AAE5F;;GAEG;AACH,eAAO,MAAM,oBAAoB;;CAAsE,CAAA"}
@@ -17,4 +17,10 @@ export interface DomainRegistrationFields extends DomainFields {
17
17
  * Delegation of a domain to a registrar by a registrant
18
18
  */
19
19
  export type DomainRegistration = Payload<DomainRegistrationFields, DomainRegistrationSchema>;
20
+ /**
21
+ * Identity function for DomainRegistration payload
22
+ */
23
+ export declare const isDomainRegistration: (x?: unknown) => x is import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & DomainRegistrationFields & {
24
+ schema: "network.xyo.ns.domain.registration";
25
+ };
20
26
  //# sourceMappingURL=DomainRegistration.d.ts.map
@@ -1 +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
+ {"version":3,"file":"DomainRegistration.d.ts","sourceRoot":"","sources":["../../../src/DomainRegistration/DomainRegistration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACrC,OAAO,EAAyB,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAE3E,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;AAE5F;;GAEG;AACH,eAAO,MAAM,oBAAoB;;CAAsE,CAAA"}
@@ -9,4 +9,10 @@ export interface DomainRegistrationLeaseFields extends DomainRegistrationFields,
9
9
  * Temporal delegation of a domain to a registrar by a registrant
10
10
  */
11
11
  export type DomainRegistrationLease = Payload<DomainRegistrationLeaseFields, DomainRegistrationLeaseSchema>;
12
+ /**
13
+ * Identity function for DomainRegistrationLease payload
14
+ */
15
+ export declare const isDomainRegistrationLease: (x?: unknown) => x is import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & DomainRegistrationLeaseFields & {
16
+ schema: "network.xyo.ns.domain.registration.lease";
17
+ };
12
18
  //# sourceMappingURL=DomainRegistrationLease.d.ts.map
@@ -1 +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
+ {"version":3,"file":"DomainRegistrationLease.d.ts","sourceRoot":"","sources":["../../../src/DomainRegistration/DomainRegistrationLease.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAE3E,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;AAE3G;;GAEG;AACH,eAAO,MAAM,yBAAyB;;CAAgF,CAAA"}
@@ -9,4 +9,10 @@ export interface DomainRegistrationLeaseFields extends DomainRegistrationFields,
9
9
  * Temporal delegation of a domain to a registrar by a registrant
10
10
  */
11
11
  export type DomainRegistrationLease = Payload<DomainRegistrationLeaseFields, DomainRegistrationLeaseSchema>;
12
+ /**
13
+ * Identity function for DomainRegistrationLease payload
14
+ */
15
+ export declare const isDomainRegistrationLease: (x?: unknown) => x is import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & DomainRegistrationLeaseFields & {
16
+ schema: "network.xyo.ns.domain.registration.lease";
17
+ };
12
18
  //# sourceMappingURL=DomainRegistrationLease.d.ts.map
@@ -1 +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
+ {"version":3,"file":"DomainRegistrationLease.d.ts","sourceRoot":"","sources":["../../../src/DomainRegistration/DomainRegistrationLease.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAE3E,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;AAE3G;;GAEG;AACH,eAAO,MAAM,yBAAyB;;CAAgF,CAAA"}
@@ -9,4 +9,10 @@ export interface DomainRegistrationLeaseFields extends DomainRegistrationFields,
9
9
  * Temporal delegation of a domain to a registrar by a registrant
10
10
  */
11
11
  export type DomainRegistrationLease = Payload<DomainRegistrationLeaseFields, DomainRegistrationLeaseSchema>;
12
+ /**
13
+ * Identity function for DomainRegistrationLease payload
14
+ */
15
+ export declare const isDomainRegistrationLease: (x?: unknown) => x is import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & DomainRegistrationLeaseFields & {
16
+ schema: "network.xyo.ns.domain.registration.lease";
17
+ };
12
18
  //# sourceMappingURL=DomainRegistrationLease.d.ts.map
@@ -1 +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
+ {"version":3,"file":"DomainRegistrationLease.d.ts","sourceRoot":"","sources":["../../../src/DomainRegistration/DomainRegistrationLease.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAE3E,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;AAE3G;;GAEG;AACH,eAAO,MAAM,yBAAyB;;CAAgF,CAAA"}
@@ -27,6 +27,10 @@ __export(src_exports, {
27
27
  DomainSchema: () => DomainSchema,
28
28
  isAddressRecord: () => isAddressRecord,
29
29
  isAddressRecordWithMeta: () => isAddressRecordWithMeta,
30
+ isDomain: () => isDomain,
31
+ isDomainLease: () => isDomainLease,
32
+ isDomainRegistration: () => isDomainRegistration,
33
+ isDomainRegistrationLease: () => isDomainRegistrationLease,
30
34
  validateBoundWitnessWithDuration: () => validateBoundWitnessWithDuration,
31
35
  validateDuration: () => validateDuration
32
36
  });
@@ -39,16 +43,24 @@ var isAddressRecord = (0, import_payload_model.isPayloadOfSchemaType)(AddressRec
39
43
  var isAddressRecordWithMeta = (0, import_payload_model.isPayloadOfSchemaType)(AddressRecordSchema);
40
44
 
41
45
  // src/Domain/Domain.ts
46
+ var import_payload_model2 = require("@xyo-network/payload-model");
42
47
  var DomainSchema = "network.xyo.ns.domain";
48
+ var isDomain = (0, import_payload_model2.isPayloadOfSchemaType)(DomainSchema);
43
49
 
44
50
  // src/Domain/DomainLease.ts
51
+ var import_payload_model3 = require("@xyo-network/payload-model");
45
52
  var DomainLeaseSchema = "network.xyo.ns.domain.lease";
53
+ var isDomainLease = (0, import_payload_model3.isPayloadOfSchemaType)(DomainLeaseSchema);
46
54
 
47
55
  // src/DomainRegistration/DomainRegistration.ts
56
+ var import_payload_model4 = require("@xyo-network/payload-model");
48
57
  var DomainRegistrationSchema = `${DomainSchema}.registration`;
58
+ var isDomainRegistration = (0, import_payload_model4.isPayloadOfSchemaType)(DomainRegistrationSchema);
49
59
 
50
60
  // src/DomainRegistration/DomainRegistrationLease.ts
61
+ var import_payload_model5 = require("@xyo-network/payload-model");
51
62
  var DomainRegistrationLeaseSchema = `${DomainRegistrationSchema}.lease`;
63
+ var isDomainRegistrationLease = (0, import_payload_model5.isPayloadOfSchemaType)(DomainRegistrationLeaseSchema);
52
64
 
53
65
  // src/Duration/validation/validateBoundWitness.ts
54
66
  var import_boundwitness_validator = require("@xyo-network/boundwitness-validator");
@@ -108,6 +120,10 @@ var validateBoundWitnessWithDuration = async (recordBw, recordPayload) => {
108
120
  DomainSchema,
109
121
  isAddressRecord,
110
122
  isAddressRecordWithMeta,
123
+ isDomain,
124
+ isDomainLease,
125
+ isDomainRegistration,
126
+ isDomainRegistrationLease,
111
127
  validateBoundWitnessWithDuration,
112
128
  validateDuration
113
129
  });
@@ -1 +1 @@
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":[]}
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 { isPayloadOfSchemaType, 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\n/**\n * Identity function for Domain payload\n */\nexport const isDomain = isPayloadOfSchemaType<Domain>(DomainSchema)\n","import { isPayloadOfSchemaType, 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\n/**\n * Identity function for DomainLease payload\n */\nexport const isDomainLease = isPayloadOfSchemaType<DomainLease>(DomainLeaseSchema)\n","import { Address } from '@xylabs/hex'\nimport { isPayloadOfSchemaType, 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\n/**\n * Identity function for DomainRegistration payload\n */\nexport const isDomainRegistration = isPayloadOfSchemaType<DomainRegistration>(DomainRegistrationSchema)\n","import { isPayloadOfSchemaType, 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\n/**\n * Identity function for DomainRegistrationLease payload\n */\nexport const isDomainRegistrationLease = isPayloadOfSchemaType<DomainRegistrationLease>(DomainRegistrationLeaseSchema)\n","import { BoundWitness } from '@xyo-network/boundwitness-model'\nimport { BoundWitnessValidator } from '@xyo-network/boundwitness-validator'\n\n// BW Validations\nexport const validateBoundWitness = async (recordBw: BoundWitness, requiredSchemas: string[] = []): Promise<boolean> => {\n // If the BW does not include all of the required schemas\n if (!requiredSchemas.every((requiredSchema) => recordBw.payload_schemas.includes(requiredSchema))) return false\n // If the BW is valid (does not include any errors)\n const validator = new BoundWitnessValidator(recordBw)\n const errors = await validator.validate()\n return errors.length === 0\n}\n","import { BoundWitness } from '@xyo-network/boundwitness-model'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { Payload } from '@xyo-network/payload-model'\n\nimport { DurationFields } from '../Duration'\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;AAAA;AAAA;AAAA;AAAA;;;ACCA,2BAAyD;AAKlD,IAAM,sBAA2C;AAcjD,IAAM,sBAAkB,4CAAqC,mBAAmB;AAChF,IAAM,8BAA0B,4CAA+C,mBAAmB;;;ACrBzG,IAAAA,wBAA+C;AAGxC,IAAM,eAA6B;AAiBnC,IAAM,eAAW,6CAA8B,YAAY;;;ACpBlE,IAAAC,wBAA+C;AAMxC,IAAM,oBAAuC;AAe7C,IAAM,oBAAgB,6CAAmC,iBAAiB;;;ACpBjF,IAAAC,wBAA+C;AAIxC,IAAM,2BAA2B,GAAG,YAAY;AAsBhD,IAAM,2BAAuB,6CAA0C,wBAAwB;;;AC3BtG,IAAAC,wBAA+C;AAKxC,IAAM,gCAAgC,GAAG,wBAAwB;AAajE,IAAM,gCAA4B,6CAA+C,6BAA6B;;;ACjBrH,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":["import_payload_model","import_payload_model","import_payload_model","import_payload_model"]}
@@ -5,16 +5,24 @@ var isAddressRecord = isPayloadOfSchemaType(AddressRecordSchema);
5
5
  var isAddressRecordWithMeta = isPayloadOfSchemaType(AddressRecordSchema);
6
6
 
7
7
  // src/Domain/Domain.ts
8
+ import { isPayloadOfSchemaType as isPayloadOfSchemaType2 } from "@xyo-network/payload-model";
8
9
  var DomainSchema = "network.xyo.ns.domain";
10
+ var isDomain = isPayloadOfSchemaType2(DomainSchema);
9
11
 
10
12
  // src/Domain/DomainLease.ts
13
+ import { isPayloadOfSchemaType as isPayloadOfSchemaType3 } from "@xyo-network/payload-model";
11
14
  var DomainLeaseSchema = "network.xyo.ns.domain.lease";
15
+ var isDomainLease = isPayloadOfSchemaType3(DomainLeaseSchema);
12
16
 
13
17
  // src/DomainRegistration/DomainRegistration.ts
18
+ import { isPayloadOfSchemaType as isPayloadOfSchemaType4 } from "@xyo-network/payload-model";
14
19
  var DomainRegistrationSchema = `${DomainSchema}.registration`;
20
+ var isDomainRegistration = isPayloadOfSchemaType4(DomainRegistrationSchema);
15
21
 
16
22
  // src/DomainRegistration/DomainRegistrationLease.ts
23
+ import { isPayloadOfSchemaType as isPayloadOfSchemaType5 } from "@xyo-network/payload-model";
17
24
  var DomainRegistrationLeaseSchema = `${DomainRegistrationSchema}.lease`;
25
+ var isDomainRegistrationLease = isPayloadOfSchemaType5(DomainRegistrationLeaseSchema);
18
26
 
19
27
  // src/Duration/validation/validateBoundWitness.ts
20
28
  import { BoundWitnessValidator } from "@xyo-network/boundwitness-validator";
@@ -73,6 +81,10 @@ export {
73
81
  DomainSchema,
74
82
  isAddressRecord,
75
83
  isAddressRecordWithMeta,
84
+ isDomain,
85
+ isDomainLease,
86
+ isDomainRegistration,
87
+ isDomainRegistrationLease,
76
88
  validateBoundWitnessWithDuration,
77
89
  validateDuration
78
90
  };
@@ -1 +1 @@
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
+ {"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 { isPayloadOfSchemaType, 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\n/**\n * Identity function for Domain payload\n */\nexport const isDomain = isPayloadOfSchemaType<Domain>(DomainSchema)\n","import { isPayloadOfSchemaType, 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\n/**\n * Identity function for DomainLease payload\n */\nexport const isDomainLease = isPayloadOfSchemaType<DomainLease>(DomainLeaseSchema)\n","import { Address } from '@xylabs/hex'\nimport { isPayloadOfSchemaType, 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\n/**\n * Identity function for DomainRegistration payload\n */\nexport const isDomainRegistration = isPayloadOfSchemaType<DomainRegistration>(DomainRegistrationSchema)\n","import { isPayloadOfSchemaType, 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\n/**\n * Identity function for DomainRegistrationLease payload\n */\nexport const isDomainRegistrationLease = isPayloadOfSchemaType<DomainRegistrationLease>(DomainRegistrationLeaseSchema)\n","import { BoundWitness } from '@xyo-network/boundwitness-model'\nimport { BoundWitnessValidator } from '@xyo-network/boundwitness-validator'\n\n// BW Validations\nexport const validateBoundWitness = async (recordBw: BoundWitness, requiredSchemas: string[] = []): Promise<boolean> => {\n // If the BW does not include all of the required schemas\n if (!requiredSchemas.every((requiredSchema) => recordBw.payload_schemas.includes(requiredSchema))) return false\n // If the BW is valid (does not include any errors)\n const validator = new BoundWitnessValidator(recordBw)\n const errors = await validator.validate()\n return errors.length === 0\n}\n","import { BoundWitness } from '@xyo-network/boundwitness-model'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { Payload } from '@xyo-network/payload-model'\n\nimport { DurationFields } from '../Duration'\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;;;ACrBzG,SAAS,yBAAAA,8BAAsC;AAGxC,IAAM,eAA6B;AAiBnC,IAAM,WAAWA,uBAA8B,YAAY;;;ACpBlE,SAAS,yBAAAC,8BAAsC;AAMxC,IAAM,oBAAuC;AAe7C,IAAM,gBAAgBA,uBAAmC,iBAAiB;;;ACpBjF,SAAS,yBAAAC,8BAAsC;AAIxC,IAAM,2BAA2B,GAAG,YAAY;AAsBhD,IAAM,uBAAuBC,uBAA0C,wBAAwB;;;AC3BtG,SAAS,yBAAAC,8BAAsC;AAKxC,IAAM,gCAAgC,GAAG,wBAAwB;AAajE,IAAM,4BAA4BC,uBAA+C,6BAA6B;;;ACjBrH,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":["isPayloadOfSchemaType","isPayloadOfSchemaType","isPayloadOfSchemaType","isPayloadOfSchemaType","isPayloadOfSchemaType","isPayloadOfSchemaType"]}
package/package.json CHANGED
@@ -62,6 +62,6 @@
62
62
  "url": "https://github.com/XYOracleNetwork/plugins.git"
63
63
  },
64
64
  "sideEffects": false,
65
- "version": "2.91.3",
65
+ "version": "2.91.4",
66
66
  "type": "module"
67
67
  }
@@ -1,4 +1,4 @@
1
- import { Payload } from '@xyo-network/payload-model'
1
+ import { isPayloadOfSchemaType, Payload } from '@xyo-network/payload-model'
2
2
 
3
3
  export type DomainSchema = 'network.xyo.ns.domain'
4
4
  export const DomainSchema: DomainSchema = 'network.xyo.ns.domain'
@@ -14,3 +14,8 @@ export interface DomainFields {
14
14
  * A domain record is a record of a domain
15
15
  */
16
16
  export type Domain = Payload<DomainFields, DomainSchema>
17
+
18
+ /**
19
+ * Identity function for Domain payload
20
+ */
21
+ export const isDomain = isPayloadOfSchemaType<Domain>(DomainSchema)
@@ -1,4 +1,4 @@
1
- import { Payload } from '@xyo-network/payload-model'
1
+ import { isPayloadOfSchemaType, Payload } from '@xyo-network/payload-model'
2
2
 
3
3
  import { DurationFields } from '../Duration'
4
4
  import { DomainFields } from './Domain'
@@ -15,3 +15,8 @@ export interface DomainLeaseFields extends DomainFields, DurationFields {}
15
15
  * A domain lease is a record of a domain and the duration it is leased for
16
16
  */
17
17
  export type DomainLease = Payload<DomainLeaseFields, DomainLeaseSchema>
18
+
19
+ /**
20
+ * Identity function for DomainLease payload
21
+ */
22
+ export const isDomainLease = isPayloadOfSchemaType<DomainLease>(DomainLeaseSchema)
@@ -1,5 +1,5 @@
1
1
  import { Address } from '@xylabs/hex'
2
- import { Payload } from '@xyo-network/payload-model'
2
+ import { isPayloadOfSchemaType, Payload } from '@xyo-network/payload-model'
3
3
 
4
4
  import { DomainFields, DomainSchema } from '../Domain'
5
5
 
@@ -21,3 +21,8 @@ export interface DomainRegistrationFields extends DomainFields {
21
21
  * Delegation of a domain to a registrar by a registrant
22
22
  */
23
23
  export type DomainRegistration = Payload<DomainRegistrationFields, DomainRegistrationSchema>
24
+
25
+ /**
26
+ * Identity function for DomainRegistration payload
27
+ */
28
+ export const isDomainRegistration = isPayloadOfSchemaType<DomainRegistration>(DomainRegistrationSchema)
@@ -1,4 +1,4 @@
1
- import { Payload } from '@xyo-network/payload-model'
1
+ import { isPayloadOfSchemaType, Payload } from '@xyo-network/payload-model'
2
2
 
3
3
  import { DurationFields } from '../Duration'
4
4
  import { DomainRegistrationFields, DomainRegistrationSchema } from './DomainRegistration'
@@ -12,3 +12,8 @@ export interface DomainRegistrationLeaseFields extends DomainRegistrationFields,
12
12
  * Temporal delegation of a domain to a registrar by a registrant
13
13
  */
14
14
  export type DomainRegistrationLease = Payload<DomainRegistrationLeaseFields, DomainRegistrationLeaseSchema>
15
+
16
+ /**
17
+ * Identity function for DomainRegistrationLease payload
18
+ */
19
+ export const isDomainRegistrationLease = isPayloadOfSchemaType<DomainRegistrationLease>(DomainRegistrationLeaseSchema)