@xyo-network/xns-record-payload-plugins 2.99.4 → 2.99.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser/Address/Payload.d.cts +1 -1
- package/dist/browser/Address/Payload.d.mts +1 -1
- package/dist/browser/Address/Payload.d.ts +1 -1
- package/dist/browser/Address/index.d.cts +1 -1
- package/dist/browser/Address/index.d.mts +1 -1
- package/dist/browser/Address/index.d.ts +1 -1
- package/dist/browser/Domain/DomainLease.d.cts +2 -2
- package/dist/browser/Domain/DomainLease.d.mts +2 -2
- package/dist/browser/Domain/DomainLease.d.ts +2 -2
- package/dist/browser/Domain/index.d.cts +2 -2
- package/dist/browser/Domain/index.d.mts +2 -2
- package/dist/browser/Domain/index.d.ts +2 -2
- package/dist/browser/DomainRegistration/DomainRegistration.d.cts +1 -1
- package/dist/browser/DomainRegistration/DomainRegistration.d.mts +1 -1
- package/dist/browser/DomainRegistration/DomainRegistration.d.ts +1 -1
- package/dist/browser/DomainRegistration/DomainRegistrationLease.d.cts +2 -2
- package/dist/browser/DomainRegistration/DomainRegistrationLease.d.mts +2 -2
- package/dist/browser/DomainRegistration/DomainRegistrationLease.d.ts +2 -2
- package/dist/browser/DomainRegistration/index.d.cts +2 -2
- package/dist/browser/DomainRegistration/index.d.mts +2 -2
- package/dist/browser/DomainRegistration/index.d.ts +2 -2
- package/dist/browser/Duration/index.d.cts +2 -2
- package/dist/browser/Duration/index.d.mts +2 -2
- package/dist/browser/Duration/index.d.ts +2 -2
- package/dist/browser/Duration/validation/index.d.cts +2 -2
- package/dist/browser/Duration/validation/index.d.mts +2 -2
- package/dist/browser/Duration/validation/index.d.ts +2 -2
- package/dist/browser/Duration/validation/validateBoundWitnessAndDuration.d.cts +1 -1
- package/dist/browser/Duration/validation/validateBoundWitnessAndDuration.d.mts +1 -1
- package/dist/browser/Duration/validation/validateBoundWitnessAndDuration.d.ts +1 -1
- package/dist/browser/Duration/validation/validateBoundWitnessWithDuration.d.cts +1 -1
- package/dist/browser/Duration/validation/validateBoundWitnessWithDuration.d.mts +1 -1
- package/dist/browser/Duration/validation/validateBoundWitnessWithDuration.d.ts +1 -1
- package/dist/browser/Duration/validation/validateDuration.d.cts +1 -1
- package/dist/browser/Duration/validation/validateDuration.d.mts +1 -1
- package/dist/browser/Duration/validation/validateDuration.d.ts +1 -1
- package/dist/browser/diviner/DomainLeaseEstimateDiviner/ErrorDetails/ErrorCodes.d.cts +1 -1
- package/dist/browser/diviner/DomainLeaseEstimateDiviner/ErrorDetails/ErrorCodes.d.cts.map +1 -1
- package/dist/browser/diviner/DomainLeaseEstimateDiviner/ErrorDetails/ErrorCodes.d.mts +1 -1
- package/dist/browser/diviner/DomainLeaseEstimateDiviner/ErrorDetails/ErrorCodes.d.mts.map +1 -1
- package/dist/browser/diviner/DomainLeaseEstimateDiviner/ErrorDetails/ErrorCodes.d.ts +1 -1
- package/dist/browser/diviner/DomainLeaseEstimateDiviner/ErrorDetails/ErrorCodes.d.ts.map +1 -1
- package/dist/browser/diviner/DomainLeaseEstimateDiviner/ErrorDetails/Payload.d.cts +1 -1
- package/dist/browser/diviner/DomainLeaseEstimateDiviner/ErrorDetails/Payload.d.cts.map +1 -1
- package/dist/browser/diviner/DomainLeaseEstimateDiviner/ErrorDetails/Payload.d.mts +1 -1
- package/dist/browser/diviner/DomainLeaseEstimateDiviner/ErrorDetails/Payload.d.mts.map +1 -1
- package/dist/browser/diviner/DomainLeaseEstimateDiviner/ErrorDetails/Payload.d.ts +1 -1
- package/dist/browser/diviner/DomainLeaseEstimateDiviner/ErrorDetails/Payload.d.ts.map +1 -1
- package/dist/browser/diviner/DomainLeaseEstimateDiviner/ErrorDetails/index.d.cts +2 -2
- package/dist/browser/diviner/DomainLeaseEstimateDiviner/ErrorDetails/index.d.mts +2 -2
- package/dist/browser/diviner/DomainLeaseEstimateDiviner/ErrorDetails/index.d.ts +2 -2
- package/dist/browser/diviner/DomainLeaseEstimateDiviner/Schema.d.cts.map +1 -1
- package/dist/browser/diviner/DomainLeaseEstimateDiviner/Schema.d.mts.map +1 -1
- package/dist/browser/diviner/DomainLeaseEstimateDiviner/Schema.d.ts.map +1 -1
- package/dist/browser/diviner/DomainLeaseEstimateDiviner/index.d.cts +2 -2
- package/dist/browser/diviner/DomainLeaseEstimateDiviner/index.d.mts +2 -2
- package/dist/browser/diviner/DomainLeaseEstimateDiviner/index.d.ts +2 -2
- package/dist/browser/diviner/index.d.cts +1 -1
- package/dist/browser/diviner/index.d.mts +1 -1
- package/dist/browser/diviner/index.d.ts +1 -1
- package/dist/browser/index.cjs +64 -27
- package/dist/browser/index.cjs.map +1 -1
- package/dist/browser/index.d.cts +5 -5
- package/dist/browser/index.d.mts +5 -5
- package/dist/browser/index.d.ts +5 -5
- package/dist/browser/{index.js → index.mjs} +67 -28
- package/dist/browser/index.mjs.map +1 -0
- package/dist/neutral/Address/Payload.d.cts +1 -1
- package/dist/neutral/Address/Payload.d.mts +1 -1
- package/dist/neutral/Address/Payload.d.ts +1 -1
- package/dist/neutral/Address/index.d.cts +1 -1
- package/dist/neutral/Address/index.d.mts +1 -1
- package/dist/neutral/Address/index.d.ts +1 -1
- package/dist/neutral/Domain/DomainLease.d.cts +2 -2
- package/dist/neutral/Domain/DomainLease.d.mts +2 -2
- package/dist/neutral/Domain/DomainLease.d.ts +2 -2
- package/dist/neutral/Domain/index.d.cts +2 -2
- package/dist/neutral/Domain/index.d.mts +2 -2
- package/dist/neutral/Domain/index.d.ts +2 -2
- package/dist/neutral/DomainRegistration/DomainRegistration.d.cts +1 -1
- package/dist/neutral/DomainRegistration/DomainRegistration.d.mts +1 -1
- package/dist/neutral/DomainRegistration/DomainRegistration.d.ts +1 -1
- package/dist/neutral/DomainRegistration/DomainRegistrationLease.d.cts +2 -2
- package/dist/neutral/DomainRegistration/DomainRegistrationLease.d.mts +2 -2
- package/dist/neutral/DomainRegistration/DomainRegistrationLease.d.ts +2 -2
- package/dist/neutral/DomainRegistration/index.d.cts +2 -2
- package/dist/neutral/DomainRegistration/index.d.mts +2 -2
- package/dist/neutral/DomainRegistration/index.d.ts +2 -2
- package/dist/neutral/Duration/index.d.cts +2 -2
- package/dist/neutral/Duration/index.d.mts +2 -2
- package/dist/neutral/Duration/index.d.ts +2 -2
- package/dist/neutral/Duration/validation/index.d.cts +2 -2
- package/dist/neutral/Duration/validation/index.d.mts +2 -2
- package/dist/neutral/Duration/validation/index.d.ts +2 -2
- package/dist/neutral/Duration/validation/validateBoundWitnessAndDuration.d.cts +1 -1
- package/dist/neutral/Duration/validation/validateBoundWitnessAndDuration.d.mts +1 -1
- package/dist/neutral/Duration/validation/validateBoundWitnessAndDuration.d.ts +1 -1
- package/dist/neutral/Duration/validation/validateBoundWitnessWithDuration.d.cts +1 -1
- package/dist/neutral/Duration/validation/validateBoundWitnessWithDuration.d.mts +1 -1
- package/dist/neutral/Duration/validation/validateBoundWitnessWithDuration.d.ts +1 -1
- package/dist/neutral/Duration/validation/validateDuration.d.cts +1 -1
- package/dist/neutral/Duration/validation/validateDuration.d.mts +1 -1
- package/dist/neutral/Duration/validation/validateDuration.d.ts +1 -1
- package/dist/neutral/diviner/DomainLeaseEstimateDiviner/ErrorDetails/ErrorCodes.d.cts +1 -1
- package/dist/neutral/diviner/DomainLeaseEstimateDiviner/ErrorDetails/ErrorCodes.d.cts.map +1 -1
- package/dist/neutral/diviner/DomainLeaseEstimateDiviner/ErrorDetails/ErrorCodes.d.mts +1 -1
- package/dist/neutral/diviner/DomainLeaseEstimateDiviner/ErrorDetails/ErrorCodes.d.mts.map +1 -1
- package/dist/neutral/diviner/DomainLeaseEstimateDiviner/ErrorDetails/ErrorCodes.d.ts +1 -1
- package/dist/neutral/diviner/DomainLeaseEstimateDiviner/ErrorDetails/ErrorCodes.d.ts.map +1 -1
- package/dist/neutral/diviner/DomainLeaseEstimateDiviner/ErrorDetails/Payload.d.cts +1 -1
- package/dist/neutral/diviner/DomainLeaseEstimateDiviner/ErrorDetails/Payload.d.cts.map +1 -1
- package/dist/neutral/diviner/DomainLeaseEstimateDiviner/ErrorDetails/Payload.d.mts +1 -1
- package/dist/neutral/diviner/DomainLeaseEstimateDiviner/ErrorDetails/Payload.d.mts.map +1 -1
- package/dist/neutral/diviner/DomainLeaseEstimateDiviner/ErrorDetails/Payload.d.ts +1 -1
- package/dist/neutral/diviner/DomainLeaseEstimateDiviner/ErrorDetails/Payload.d.ts.map +1 -1
- package/dist/neutral/diviner/DomainLeaseEstimateDiviner/ErrorDetails/index.d.cts +2 -2
- package/dist/neutral/diviner/DomainLeaseEstimateDiviner/ErrorDetails/index.d.mts +2 -2
- package/dist/neutral/diviner/DomainLeaseEstimateDiviner/ErrorDetails/index.d.ts +2 -2
- package/dist/neutral/diviner/DomainLeaseEstimateDiviner/Schema.d.cts.map +1 -1
- package/dist/neutral/diviner/DomainLeaseEstimateDiviner/Schema.d.mts.map +1 -1
- package/dist/neutral/diviner/DomainLeaseEstimateDiviner/Schema.d.ts.map +1 -1
- package/dist/neutral/diviner/DomainLeaseEstimateDiviner/index.d.cts +2 -2
- package/dist/neutral/diviner/DomainLeaseEstimateDiviner/index.d.mts +2 -2
- package/dist/neutral/diviner/DomainLeaseEstimateDiviner/index.d.ts +2 -2
- package/dist/neutral/diviner/index.d.cts +1 -1
- package/dist/neutral/diviner/index.d.mts +1 -1
- package/dist/neutral/diviner/index.d.ts +1 -1
- package/dist/neutral/index.cjs +64 -27
- package/dist/neutral/index.cjs.map +1 -1
- package/dist/neutral/index.d.cts +5 -5
- package/dist/neutral/index.d.mts +5 -5
- package/dist/neutral/index.d.ts +5 -5
- package/dist/{node/index.js → neutral/index.mjs} +67 -28
- package/dist/neutral/index.mjs.map +1 -0
- package/dist/node/Address/Payload.d.cts +1 -1
- package/dist/node/Address/Payload.d.mts +1 -1
- package/dist/node/Address/Payload.d.ts +1 -1
- package/dist/node/Address/index.d.cts +1 -1
- package/dist/node/Address/index.d.mts +1 -1
- package/dist/node/Address/index.d.ts +1 -1
- package/dist/node/Domain/DomainLease.d.cts +2 -2
- package/dist/node/Domain/DomainLease.d.mts +2 -2
- package/dist/node/Domain/DomainLease.d.ts +2 -2
- package/dist/node/Domain/index.d.cts +2 -2
- package/dist/node/Domain/index.d.mts +2 -2
- package/dist/node/Domain/index.d.ts +2 -2
- package/dist/node/DomainRegistration/DomainRegistration.d.cts +1 -1
- package/dist/node/DomainRegistration/DomainRegistration.d.mts +1 -1
- package/dist/node/DomainRegistration/DomainRegistration.d.ts +1 -1
- package/dist/node/DomainRegistration/DomainRegistrationLease.d.cts +2 -2
- package/dist/node/DomainRegistration/DomainRegistrationLease.d.mts +2 -2
- package/dist/node/DomainRegistration/DomainRegistrationLease.d.ts +2 -2
- package/dist/node/DomainRegistration/index.d.cts +2 -2
- package/dist/node/DomainRegistration/index.d.mts +2 -2
- package/dist/node/DomainRegistration/index.d.ts +2 -2
- package/dist/node/Duration/index.d.cts +2 -2
- package/dist/node/Duration/index.d.mts +2 -2
- package/dist/node/Duration/index.d.ts +2 -2
- package/dist/node/Duration/validation/index.d.cts +2 -2
- package/dist/node/Duration/validation/index.d.mts +2 -2
- package/dist/node/Duration/validation/index.d.ts +2 -2
- package/dist/node/Duration/validation/validateBoundWitnessAndDuration.d.cts +1 -1
- package/dist/node/Duration/validation/validateBoundWitnessAndDuration.d.mts +1 -1
- package/dist/node/Duration/validation/validateBoundWitnessAndDuration.d.ts +1 -1
- package/dist/node/Duration/validation/validateBoundWitnessWithDuration.d.cts +1 -1
- package/dist/node/Duration/validation/validateBoundWitnessWithDuration.d.mts +1 -1
- package/dist/node/Duration/validation/validateBoundWitnessWithDuration.d.ts +1 -1
- package/dist/node/Duration/validation/validateDuration.d.cts +1 -1
- package/dist/node/Duration/validation/validateDuration.d.mts +1 -1
- package/dist/node/Duration/validation/validateDuration.d.ts +1 -1
- package/dist/node/diviner/DomainLeaseEstimateDiviner/ErrorDetails/ErrorCodes.d.cts +1 -1
- package/dist/node/diviner/DomainLeaseEstimateDiviner/ErrorDetails/ErrorCodes.d.cts.map +1 -1
- package/dist/node/diviner/DomainLeaseEstimateDiviner/ErrorDetails/ErrorCodes.d.mts +1 -1
- package/dist/node/diviner/DomainLeaseEstimateDiviner/ErrorDetails/ErrorCodes.d.mts.map +1 -1
- package/dist/node/diviner/DomainLeaseEstimateDiviner/ErrorDetails/ErrorCodes.d.ts +1 -1
- package/dist/node/diviner/DomainLeaseEstimateDiviner/ErrorDetails/ErrorCodes.d.ts.map +1 -1
- package/dist/node/diviner/DomainLeaseEstimateDiviner/ErrorDetails/Payload.d.cts +1 -1
- package/dist/node/diviner/DomainLeaseEstimateDiviner/ErrorDetails/Payload.d.cts.map +1 -1
- package/dist/node/diviner/DomainLeaseEstimateDiviner/ErrorDetails/Payload.d.mts +1 -1
- package/dist/node/diviner/DomainLeaseEstimateDiviner/ErrorDetails/Payload.d.mts.map +1 -1
- package/dist/node/diviner/DomainLeaseEstimateDiviner/ErrorDetails/Payload.d.ts +1 -1
- package/dist/node/diviner/DomainLeaseEstimateDiviner/ErrorDetails/Payload.d.ts.map +1 -1
- package/dist/node/diviner/DomainLeaseEstimateDiviner/ErrorDetails/index.d.cts +2 -2
- package/dist/node/diviner/DomainLeaseEstimateDiviner/ErrorDetails/index.d.mts +2 -2
- package/dist/node/diviner/DomainLeaseEstimateDiviner/ErrorDetails/index.d.ts +2 -2
- package/dist/node/diviner/DomainLeaseEstimateDiviner/Schema.d.cts.map +1 -1
- package/dist/node/diviner/DomainLeaseEstimateDiviner/Schema.d.mts.map +1 -1
- package/dist/node/diviner/DomainLeaseEstimateDiviner/Schema.d.ts.map +1 -1
- package/dist/node/diviner/DomainLeaseEstimateDiviner/index.d.cts +2 -2
- package/dist/node/diviner/DomainLeaseEstimateDiviner/index.d.mts +2 -2
- package/dist/node/diviner/DomainLeaseEstimateDiviner/index.d.ts +2 -2
- package/dist/node/diviner/index.d.cts +1 -1
- package/dist/node/diviner/index.d.mts +1 -1
- package/dist/node/diviner/index.d.ts +1 -1
- package/dist/node/index.cjs +64 -27
- package/dist/node/index.cjs.map +1 -1
- package/dist/node/index.d.cts +5 -5
- package/dist/node/index.d.mts +5 -5
- package/dist/node/index.d.ts +5 -5
- package/dist/{neutral/index.js → node/index.mjs} +67 -28
- package/dist/node/index.mjs.map +1 -0
- package/package.json +14 -14
- package/src/Address/Payload.ts +1 -1
- package/src/Address/index.ts +1 -1
- package/src/Domain/DomainLease.ts +2 -2
- package/src/Domain/index.ts +2 -2
- package/src/DomainRegistration/DomainRegistration.ts +1 -1
- package/src/DomainRegistration/DomainRegistrationLease.ts +2 -2
- package/src/DomainRegistration/index.ts +2 -2
- package/src/Duration/index.ts +2 -2
- package/src/Duration/validation/index.ts +2 -2
- package/src/Duration/validation/validateBoundWitness.ts +1 -1
- package/src/Duration/validation/validateBoundWitnessAndDuration.ts +1 -1
- package/src/Duration/validation/validateBoundWitnessWithDuration.ts +4 -4
- package/src/Duration/validation/validateDuration.ts +1 -1
- package/src/diviner/DomainLeaseEstimateDiviner/ErrorDetails/ErrorCodes.ts +3 -3
- package/src/diviner/DomainLeaseEstimateDiviner/ErrorDetails/Payload.ts +5 -5
- package/src/diviner/DomainLeaseEstimateDiviner/ErrorDetails/index.ts +2 -2
- package/src/diviner/DomainLeaseEstimateDiviner/Schema.ts +2 -2
- package/src/diviner/DomainLeaseEstimateDiviner/index.ts +2 -2
- package/src/diviner/index.ts +1 -1
- package/src/index.ts +5 -5
- package/dist/browser/index.js.map +0 -1
- package/dist/neutral/index.js.map +0 -1
- package/dist/node/index.js.map +0 -1
package/dist/node/index.cjs
CHANGED
|
@@ -3,6 +3,7 @@ var __defProp = Object.defineProperty;
|
|
|
3
3
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
4
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
5
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
6
7
|
var __export = (target, all) => {
|
|
7
8
|
for (var name in all)
|
|
8
9
|
__defProp(target, name, { get: all[name], enumerable: true });
|
|
@@ -62,22 +63,56 @@ var DomainLeaseEstimateDivinerValidationErrorDetailsSchema = "network.xyo.divine
|
|
|
62
63
|
|
|
63
64
|
// src/diviner/DomainLeaseEstimateDiviner/ErrorDetails/ErrorCodes.ts
|
|
64
65
|
var DomainLeaseEstimateDivinerErrorDetailsDictionary = {
|
|
65
|
-
0: {
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
66
|
+
0: {
|
|
67
|
+
code: "0",
|
|
68
|
+
schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema,
|
|
69
|
+
title: "Success"
|
|
70
|
+
},
|
|
71
|
+
1: {
|
|
72
|
+
code: "1",
|
|
73
|
+
schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema,
|
|
74
|
+
title: "Invalid casing"
|
|
75
|
+
},
|
|
76
|
+
2: {
|
|
77
|
+
code: "2",
|
|
78
|
+
schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema,
|
|
79
|
+
title: "Invalid coin signature"
|
|
80
|
+
},
|
|
81
|
+
3: {
|
|
82
|
+
code: "3",
|
|
83
|
+
schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema,
|
|
84
|
+
title: "Invalid length"
|
|
85
|
+
},
|
|
86
|
+
4: {
|
|
87
|
+
code: "4",
|
|
88
|
+
schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema,
|
|
89
|
+
title: "Invalid name"
|
|
90
|
+
},
|
|
91
|
+
5: {
|
|
92
|
+
code: "5",
|
|
93
|
+
schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema,
|
|
94
|
+
title: "Reserved fragment"
|
|
95
|
+
},
|
|
96
|
+
6: {
|
|
97
|
+
code: "6",
|
|
98
|
+
schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema,
|
|
99
|
+
title: "Reserved name"
|
|
100
|
+
},
|
|
101
|
+
7: {
|
|
102
|
+
code: "7",
|
|
103
|
+
schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema,
|
|
104
|
+
title: "Reserved string"
|
|
105
|
+
},
|
|
106
|
+
8: {
|
|
107
|
+
code: "8",
|
|
108
|
+
schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema,
|
|
109
|
+
title: "Invalid TLD"
|
|
110
|
+
}
|
|
74
111
|
};
|
|
75
112
|
|
|
76
113
|
// src/diviner/DomainLeaseEstimateDiviner/ErrorDetails/Payload.ts
|
|
77
114
|
var import_payload_model2 = require("@xyo-network/payload-model");
|
|
78
|
-
var isDomainLeaseEstimateDivinerValidationErrorDetails = (0, import_payload_model2.isPayloadOfSchemaType)(
|
|
79
|
-
DomainLeaseEstimateDivinerValidationErrorDetailsSchema
|
|
80
|
-
);
|
|
115
|
+
var isDomainLeaseEstimateDivinerValidationErrorDetails = (0, import_payload_model2.isPayloadOfSchemaType)(DomainLeaseEstimateDivinerValidationErrorDetailsSchema);
|
|
81
116
|
var isDomainLeaseEstimateDivinerValidationErrorDetailsWithSources = (0, import_payload_model2.isPayloadOfSchemaTypeWithSources)(DomainLeaseEstimateDivinerValidationErrorDetailsSchema);
|
|
82
117
|
var isDomainLeaseEstimateDivinerValidationErrorDetailsWithMeta = (0, import_payload_model2.isPayloadOfSchemaTypeWithMeta)(DomainLeaseEstimateDivinerValidationErrorDetailsSchema);
|
|
83
118
|
|
|
@@ -113,46 +148,48 @@ var isDomainRegistrationLeaseMeta = isDomainRegistrationLeaseWithMeta;
|
|
|
113
148
|
|
|
114
149
|
// src/Duration/validation/validateBoundWitness.ts
|
|
115
150
|
var import_boundwitness_validator = require("@xyo-network/boundwitness-validator");
|
|
116
|
-
var validateBoundWitness = async (recordBw, requiredSchemas = []) => {
|
|
151
|
+
var validateBoundWitness = /* @__PURE__ */ __name(async (recordBw, requiredSchemas = []) => {
|
|
117
152
|
if (!requiredSchemas.every((requiredSchema) => recordBw.payload_schemas.includes(requiredSchema))) return false;
|
|
118
153
|
const validator = new import_boundwitness_validator.BoundWitnessValidator(recordBw);
|
|
119
154
|
const errors = await validator.validate();
|
|
120
155
|
return errors.length === 0;
|
|
121
|
-
};
|
|
156
|
+
}, "validateBoundWitness");
|
|
122
157
|
|
|
123
158
|
// src/Duration/validation/validateBoundWitnessAndDuration.ts
|
|
124
159
|
var import_payload_builder = require("@xyo-network/payload-builder");
|
|
125
|
-
var validateBoundWitnessAndDuration = async (recordBw, recordPayload) => {
|
|
160
|
+
var validateBoundWitnessAndDuration = /* @__PURE__ */ __name(async (recordBw, recordPayload) => {
|
|
126
161
|
if (!await recordIsInBoundWitness(recordBw, recordPayload)) return false;
|
|
127
162
|
if (!recordIsTemporallyValidToBoundWitness(recordBw, recordPayload)) return false;
|
|
128
163
|
return true;
|
|
129
|
-
};
|
|
130
|
-
var recordIsInBoundWitness = async (recordBw, recordPayload) => {
|
|
164
|
+
}, "validateBoundWitnessAndDuration");
|
|
165
|
+
var recordIsInBoundWitness = /* @__PURE__ */ __name(async (recordBw, recordPayload) => {
|
|
131
166
|
const hash = await import_payload_builder.PayloadBuilder.dataHash(recordPayload);
|
|
132
167
|
return recordBw.payload_hashes.includes(hash);
|
|
133
|
-
};
|
|
134
|
-
var recordIsTemporallyValidToBoundWitness = (recordBw, recordPayload) => {
|
|
168
|
+
}, "recordIsInBoundWitness");
|
|
169
|
+
var recordIsTemporallyValidToBoundWitness = /* @__PURE__ */ __name((recordBw, recordPayload) => {
|
|
135
170
|
const { timestamp } = recordBw;
|
|
136
171
|
const { exp } = recordPayload;
|
|
137
172
|
return exp > timestamp;
|
|
138
|
-
};
|
|
173
|
+
}, "recordIsTemporallyValidToBoundWitness");
|
|
139
174
|
|
|
140
175
|
// src/Duration/validation/validateDuration.ts
|
|
141
|
-
var validateDuration = (recordPayload) => {
|
|
176
|
+
var validateDuration = /* @__PURE__ */ __name((recordPayload) => {
|
|
142
177
|
if (!isWithinDelegatedTimeframe(recordPayload)) return false;
|
|
143
178
|
return true;
|
|
144
|
-
};
|
|
145
|
-
var isWithinDelegatedTimeframe = (recordPayload, now = Date.now()) => {
|
|
179
|
+
}, "validateDuration");
|
|
180
|
+
var isWithinDelegatedTimeframe = /* @__PURE__ */ __name((recordPayload, now = Date.now()) => {
|
|
146
181
|
return recordPayload.nbf < now && now < recordPayload.exp;
|
|
147
|
-
};
|
|
182
|
+
}, "isWithinDelegatedTimeframe");
|
|
148
183
|
|
|
149
184
|
// src/Duration/validation/validateBoundWitnessWithDuration.ts
|
|
150
|
-
var validateBoundWitnessWithDuration = async (recordBw, recordPayload) => {
|
|
151
|
-
if (!await validateBoundWitness(recordBw, [
|
|
185
|
+
var validateBoundWitnessWithDuration = /* @__PURE__ */ __name(async (recordBw, recordPayload) => {
|
|
186
|
+
if (!await validateBoundWitness(recordBw, [
|
|
187
|
+
recordPayload.schema
|
|
188
|
+
])) return false;
|
|
152
189
|
if (!validateDuration(recordPayload)) return false;
|
|
153
190
|
if (!await validateBoundWitnessAndDuration(recordBw, recordPayload)) return false;
|
|
154
191
|
return true;
|
|
155
|
-
};
|
|
192
|
+
}, "validateBoundWitnessWithDuration");
|
|
156
193
|
// Annotate the CommonJS export names for ESM import in node:
|
|
157
194
|
0 && (module.exports = {
|
|
158
195
|
AddressRecordSchema,
|
package/dist/node/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/index.ts","../../src/Address/Payload.ts","../../src/diviner/DomainLeaseEstimateDiviner/Schema.ts","../../src/diviner/DomainLeaseEstimateDiviner/ErrorDetails/ErrorCodes.ts","../../src/diviner/DomainLeaseEstimateDiviner/ErrorDetails/Payload.ts","../../src/Domain/Domain.ts","../../src/Domain/DomainLease.ts","../../src/DomainRegistration/DomainRegistration.ts","../../src/DomainRegistration/DomainRegistrationLease.ts","../../src/Duration/validation/validateBoundWitness.ts","../../src/Duration/validation/validateBoundWitnessAndDuration.ts","../../src/Duration/validation/validateDuration.ts","../../src/Duration/validation/validateBoundWitnessWithDuration.ts"],"sourcesContent":["export * from './Address/index.js'\nexport * from './diviner/index.js'\nexport * from './Domain/index.js'\nexport * from './DomainRegistration/index.js'\nexport * from './Duration/index.js'\n","import { Address } from '@xylabs/hex'\nimport { isPayloadOfSchemaType, Payload, WithMeta } from '@xyo-network/payload-model'\n\nimport { DomainFields } from '../Domain/index.js'\n\nexport type AddressRecordSchema = 'network.xyo.ns.record.address'\nexport const AddressRecordSchema: AddressRecordSchema = 'network.xyo.ns.record.address'\n\nexport interface AddressRecordFields extends DomainFields {\n /**\n * The address the record points to\n */\n address: Address[]\n}\n\n/**\n * An address record points a domain to an address\n */\nexport type AddressRecord = Payload<AddressRecordFields, AddressRecordSchema>\n\nexport const isAddressRecord = isPayloadOfSchemaType<AddressRecord>(AddressRecordSchema)\nexport const isAddressRecordWithMeta = isPayloadOfSchemaType<WithMeta<AddressRecord>>(AddressRecordSchema)\n","export const DomainLeaseEstimateDivinerValidationErrorDetailsSchema =\n 'network.xyo.diviner.ns.domain.registration.lease.estimate.validation.error.details' as const\n\nexport type DomainLeaseEstimateDivinerValidationErrorDetailsSchema = typeof DomainLeaseEstimateDivinerValidationErrorDetailsSchema\n","import { DomainLeaseEstimateDivinerValidationErrorDetailsSchema } from '../Schema.js'\nimport { DomainLeaseEstimateDivinerValidationErrorDetails, ErrorDetailsDictionary } from './Payload.js'\n\n// export type DomainLeaseEstimateDivinerErrorDetailsDictionaryErrorCode = keyof typeof DomainLeaseEstimateDivinerErrorDetailsDictionary\nexport type DomainLeaseEstimateDivinerErrorDetailsDictionaryErrorCode = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8\n\nexport const DomainLeaseEstimateDivinerErrorDetailsDictionary: Readonly<\n Readonly<Record<DomainLeaseEstimateDivinerErrorDetailsDictionaryErrorCode, DomainLeaseEstimateDivinerValidationErrorDetails>> &\n ErrorDetailsDictionary\n> = {\n 0: { code: '0', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Success' },\n 1: { code: '1', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Invalid casing' },\n 2: { code: '2', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Invalid coin signature' },\n 3: { code: '3', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Invalid length' },\n 4: { code: '4', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Invalid name' },\n 5: { code: '5', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Reserved fragment' },\n 6: { code: '6', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Reserved name' },\n 7: { code: '7', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Reserved string' },\n 8: { code: '8', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Invalid TLD' },\n} as const\n","import { isPayloadOfSchemaType, isPayloadOfSchemaTypeWithMeta, isPayloadOfSchemaTypeWithSources, Payload } from '@xyo-network/payload-model'\n\nimport { DomainLeaseEstimateDivinerValidationErrorDetailsSchema } from '../Schema.js'\n\nexport interface ErrorDetails<TErrorCode extends string | undefined = string | undefined> {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n [key: string]: any // Index signature for any other additional properties\n /**\n * A string code indicating the error type.\n */\n code: TErrorCode\n /**\n * A human-readable explanation specific to this occurrence of the problem\n */\n detail?: string\n /**\n * A short, human-readable summary of the problem type.\n */\n title?: string\n}\n\nexport type ErrorDetailsDictionary<T extends number = number> = {\n readonly [K in T]: ErrorDetails<`${K}`>\n}\n\n/**\n * A payment authorization token payload\n */\nexport type DomainLeaseEstimateDivinerValidationErrorDetails<TErrorCode extends string | undefined = string> = Payload<\n ErrorDetails<TErrorCode>,\n DomainLeaseEstimateDivinerValidationErrorDetailsSchema\n>\n\n/**\n * Identity function for DomainLeaseEstimateDivinerValidationErrorDetails payload\n */\nexport const isDomainLeaseEstimateDivinerValidationErrorDetails = isPayloadOfSchemaType<DomainLeaseEstimateDivinerValidationErrorDetails>(\n DomainLeaseEstimateDivinerValidationErrorDetailsSchema,\n)\n\n/**\n * Identity function for DomainLeaseEstimateDivinerValidationErrorDetails payload with sources\n */\nexport const isDomainLeaseEstimateDivinerValidationErrorDetailsWithSources =\n isPayloadOfSchemaTypeWithSources<DomainLeaseEstimateDivinerValidationErrorDetails>(DomainLeaseEstimateDivinerValidationErrorDetailsSchema)\n\n/**\n * Identity function for DomainLeaseEstimateDivinerValidationErrorDetails payload with meta\n */\nexport const isDomainLeaseEstimateDivinerValidationErrorDetailsWithMeta =\n isPayloadOfSchemaTypeWithMeta<DomainLeaseEstimateDivinerValidationErrorDetails>(DomainLeaseEstimateDivinerValidationErrorDetailsSchema)\n","import { isPayloadOfSchemaType, isPayloadOfSchemaTypeWithMeta, isPayloadOfSchemaTypeWithSources, Payload } from '@xyo-network/payload-model'\n\nexport type DomainSchema = 'network.xyo.ns.domain'\nexport const DomainSchema: DomainSchema = 'network.xyo.ns.domain'\n\n/**\n * The supported TLDs for XNS\n */\nexport type TopLevelDomain = 'xyo'\n\n/**\n * The fields for a domain record\n */\nexport interface DomainFields {\n /**\n * The XNS domain of the record\n */\n domain: string\n\n /**\n * The Top-Level Domain of the domain\n */\n tld: TopLevelDomain\n}\n\n/**\n * A domain record is a record of a domain\n */\nexport type Domain = Payload<DomainFields, DomainSchema>\n\n/**\n * Identity function for Domain payload\n */\nexport const isDomain = isPayloadOfSchemaType<Domain>(DomainSchema)\n\n/**\n * Identity function for Domain payload with sources\n */\nexport const isDomainWithSources = isPayloadOfSchemaTypeWithSources<Domain>(DomainSchema)\n\n/**\n * Identity function for Domain payload with meta\n */\nexport const isDomainWithMeta = isPayloadOfSchemaTypeWithMeta<Domain>(DomainSchema)\n","import { isPayloadOfSchemaType, isPayloadOfSchemaTypeWithMeta, isPayloadOfSchemaTypeWithSources, Payload } from '@xyo-network/payload-model'\n\nimport { DurationFields } from '../Duration/index.js'\nimport { DomainFields } from './Domain.js'\n\nexport type DomainLeaseSchema = 'network.xyo.ns.domain.lease'\nexport const DomainLeaseSchema: DomainLeaseSchema = 'network.xyo.ns.domain.lease'\n\n/**\n * A domain is leased for a duration\n */\nexport interface DomainLeaseFields extends DomainFields, DurationFields {}\n\n/**\n * A domain lease is a record of a domain and the duration it is leased for\n */\nexport type DomainLease = Payload<DomainLeaseFields, DomainLeaseSchema>\n\n/**\n * Identity function for DomainLease payload\n */\nexport const isDomainLease = isPayloadOfSchemaType<DomainLease>(DomainLeaseSchema)\n\n/**\n * Identity function for DomainLease payload with sources\n */\nexport const isDomainLeaseWithSources = isPayloadOfSchemaTypeWithSources<DomainLease>(DomainLeaseSchema)\n\n/**\n * Identity function for DomainLease payload with meta\n */\nexport const isDomainLeaseWithMeta = isPayloadOfSchemaTypeWithMeta<DomainLease>(DomainLeaseSchema)\n","import { Address } from '@xylabs/hex'\nimport { isPayloadOfSchemaType, isPayloadOfSchemaTypeWithMeta, isPayloadOfSchemaTypeWithSources, Payload } from '@xyo-network/payload-model'\n\nimport { DomainFields, DomainSchema } from '../Domain/index.js'\n\nexport const DomainRegistrationSchema = `${DomainSchema}.registration` as const\nexport type DomainRegistrationSchema = typeof DomainRegistrationSchema\n\nexport interface DomainRegistrationFields extends DomainFields {\n /**\n * The registrant of the domain\n */\n registrant: Address[]\n /**\n * The registrar of the domain\n */\n registrar: Address[]\n}\n\n/**\n * Delegation of a domain to a registrar by a registrant\n */\nexport type DomainRegistration = Payload<DomainRegistrationFields, DomainRegistrationSchema>\n\n/**\n * Identity function for DomainRegistration payload\n */\nexport const isDomainRegistration = isPayloadOfSchemaType<DomainRegistration>(DomainRegistrationSchema)\n\n/**\n * Identity function for DomainRegistration payload with sources\n */\nexport const isDomainRegistrationWithSources = isPayloadOfSchemaTypeWithSources<DomainRegistration>(DomainRegistrationSchema)\n\n/**\n * Identity function for DomainRegistration payload with meta\n */\nexport const isDomainRegistrationWithMeta = isPayloadOfSchemaTypeWithMeta<DomainRegistration>(DomainRegistrationSchema)\n","import { isPayloadOfSchemaType, isPayloadOfSchemaTypeWithMeta, isPayloadOfSchemaTypeWithSources, Payload } from '@xyo-network/payload-model'\n\nimport { DurationFields } from '../Duration/index.js'\nimport { DomainRegistrationFields, DomainRegistrationSchema } from './DomainRegistration.js'\n\nexport const DomainRegistrationLeaseSchema = `${DomainRegistrationSchema}.lease` as const\nexport type DomainRegistrationLeaseSchema = typeof DomainRegistrationLeaseSchema\n\nexport interface DomainRegistrationLeaseFields extends DomainRegistrationFields, DurationFields {}\n\n/**\n * Temporal delegation of a domain to a registrar by a registrant\n */\nexport type DomainRegistrationLease = Payload<DomainRegistrationLeaseFields, DomainRegistrationLeaseSchema>\n\n/**\n * Identity function for DomainRegistrationLease payload\n */\nexport const isDomainRegistrationLease = isPayloadOfSchemaType<DomainRegistrationLease>(DomainRegistrationLeaseSchema)\n\n/**\n * Identity function for DomainRegistrationLease payload with sources\n */\nexport const isDomainRegistrationLeaseWithSources = isPayloadOfSchemaTypeWithSources<DomainRegistrationLease>(DomainRegistrationLeaseSchema)\n/**\n * @deprecated Use isDomainRegistrationLeaseWithSources instead\n */\nexport const isDomainRegistrationLeaseSources = isDomainRegistrationLeaseWithSources\n\n/**\n * Identity function for DomainRegistrationLease payload with meta\n */\nexport const isDomainRegistrationLeaseWithMeta = isPayloadOfSchemaTypeWithMeta<DomainRegistrationLease>(DomainRegistrationLeaseSchema)\n/**\n * @deprecated Use isDomainRegistrationLeaseWithMeta instead\n */\nexport const isDomainRegistrationLeaseMeta = isDomainRegistrationLeaseWithMeta\n","import { BoundWitness } from '@xyo-network/boundwitness-model'\nimport { BoundWitnessValidator } from '@xyo-network/boundwitness-validator'\n\n// BW Validations\nexport const validateBoundWitness = async (recordBw: BoundWitness, requiredSchemas: string[] = []): Promise<boolean> => {\n // If the BW does not include all of the required schemas\n if (!requiredSchemas.every((requiredSchema) => recordBw.payload_schemas.includes(requiredSchema))) return false\n // If the BW is valid (does not include any errors)\n const validator = new BoundWitnessValidator(recordBw)\n const errors = await validator.validate()\n return errors.length === 0\n}\n","import { BoundWitness } from '@xyo-network/boundwitness-model'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { Payload } from '@xyo-network/payload-model'\n\nimport { DurationFields } from '../Duration.js'\n\n// BW & Record Validations\nexport const validateBoundWitnessAndDuration = async (recordBw: BoundWitness, recordPayload: Payload<DurationFields>): Promise<boolean> => {\n if (!(await recordIsInBoundWitness(recordBw, recordPayload))) return false\n if (!recordIsTemporallyValidToBoundWitness(recordBw, recordPayload)) return false\n return true\n}\n\nconst recordIsInBoundWitness = async (recordBw: BoundWitness, recordPayload: Payload): Promise<boolean> => {\n const hash = await PayloadBuilder.dataHash(recordPayload)\n return recordBw.payload_hashes.includes(hash)\n}\n\nconst recordIsTemporallyValidToBoundWitness = (recordBw: BoundWitness, recordPayload: Payload<DurationFields>): boolean => {\n const { timestamp } = recordBw\n const { exp } = recordPayload\n return exp > timestamp\n}\n","// import { isAddress } from '@xylabs/hex'\nimport { Payload } from '@xyo-network/payload-model'\n\nimport { DurationFields } from '../Duration.js'\n\n// Record Validations\nexport const validateDuration = (recordPayload: Payload<DurationFields>): boolean => {\n // if (!isValidAddress(recordPayload)) return false\n if (!isWithinDelegatedTimeframe(recordPayload)) return false\n return true\n}\n\n// const isValidAddress = (recordPayload: Payload<DomainLeaseFields>): boolean => {\n// return isAddress(recordPayload.nameserver, { prefix: false })\n// }\n\nconst isWithinDelegatedTimeframe = (recordPayload: Payload<DurationFields>, now = Date.now()): boolean => {\n // nbf < now < exp\n return recordPayload.nbf < now && now < recordPayload.exp\n}\n","import { BoundWitness } from '@xyo-network/boundwitness-model'\nimport { Payload } from '@xyo-network/payload-model'\n\nimport { DurationFields } from '../Duration.js'\nimport { validateBoundWitness } from './validateBoundWitness.js'\nimport { validateBoundWitnessAndDuration } from './validateBoundWitnessAndDuration.js'\nimport { validateDuration } from './validateDuration.js'\n\nexport const validateBoundWitnessWithDuration = async (recordBw: BoundWitness, recordPayload: Payload<DurationFields>): Promise<boolean> => {\n // Validate the BW\n if (!(await validateBoundWitness(recordBw, [recordPayload.schema]))) return false\n // Validate the record\n if (!validateDuration(recordPayload)) return false\n // Validate the record relative to the BW\n if (!(await validateBoundWitnessAndDuration(recordBw, recordPayload))) return false\n return true\n}\n"],"mappings":"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","names":["import_payload_model","import_payload_model","import_payload_model","import_payload_model","import_payload_model"]}
|
|
1
|
+
{"version":3,"sources":["../../src/index.ts","../../src/Address/Payload.ts","../../src/diviner/DomainLeaseEstimateDiviner/Schema.ts","../../src/diviner/DomainLeaseEstimateDiviner/ErrorDetails/ErrorCodes.ts","../../src/diviner/DomainLeaseEstimateDiviner/ErrorDetails/Payload.ts","../../src/Domain/Domain.ts","../../src/Domain/DomainLease.ts","../../src/DomainRegistration/DomainRegistration.ts","../../src/DomainRegistration/DomainRegistrationLease.ts","../../src/Duration/validation/validateBoundWitness.ts","../../src/Duration/validation/validateBoundWitnessAndDuration.ts","../../src/Duration/validation/validateDuration.ts","../../src/Duration/validation/validateBoundWitnessWithDuration.ts"],"sourcesContent":["export * from './Address/index.ts'\nexport * from './diviner/index.ts'\nexport * from './Domain/index.ts'\nexport * from './DomainRegistration/index.ts'\nexport * from './Duration/index.ts'\n","import { Address } from '@xylabs/hex'\nimport { isPayloadOfSchemaType, Payload, WithMeta } from '@xyo-network/payload-model'\n\nimport { DomainFields } from '../Domain/index.ts'\n\nexport type AddressRecordSchema = 'network.xyo.ns.record.address'\nexport const AddressRecordSchema: AddressRecordSchema = 'network.xyo.ns.record.address'\n\nexport interface AddressRecordFields extends DomainFields {\n /**\n * The address the record points to\n */\n address: Address[]\n}\n\n/**\n * An address record points a domain to an address\n */\nexport type AddressRecord = Payload<AddressRecordFields, AddressRecordSchema>\n\nexport const isAddressRecord = isPayloadOfSchemaType<AddressRecord>(AddressRecordSchema)\nexport const isAddressRecordWithMeta = isPayloadOfSchemaType<WithMeta<AddressRecord>>(AddressRecordSchema)\n","export const DomainLeaseEstimateDivinerValidationErrorDetailsSchema\n = 'network.xyo.diviner.ns.domain.registration.lease.estimate.validation.error.details' as const\n\nexport type DomainLeaseEstimateDivinerValidationErrorDetailsSchema = typeof DomainLeaseEstimateDivinerValidationErrorDetailsSchema\n","import { DomainLeaseEstimateDivinerValidationErrorDetailsSchema } from '../Schema.ts'\nimport { DomainLeaseEstimateDivinerValidationErrorDetails, ErrorDetailsDictionary } from './Payload.ts'\n\n// export type DomainLeaseEstimateDivinerErrorDetailsDictionaryErrorCode = keyof typeof DomainLeaseEstimateDivinerErrorDetailsDictionary\nexport type DomainLeaseEstimateDivinerErrorDetailsDictionaryErrorCode = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8\n\nexport const DomainLeaseEstimateDivinerErrorDetailsDictionary: Readonly<\n Readonly<Record<DomainLeaseEstimateDivinerErrorDetailsDictionaryErrorCode, DomainLeaseEstimateDivinerValidationErrorDetails>> &\n ErrorDetailsDictionary\n> = {\n 0: { code: '0', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Success' },\n 1: { code: '1', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Invalid casing' },\n 2: { code: '2', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Invalid coin signature' },\n 3: { code: '3', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Invalid length' },\n 4: { code: '4', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Invalid name' },\n 5: { code: '5', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Reserved fragment' },\n 6: { code: '6', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Reserved name' },\n 7: { code: '7', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Reserved string' },\n 8: { code: '8', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Invalid TLD' },\n} as const\n","import { isPayloadOfSchemaType, isPayloadOfSchemaTypeWithMeta, isPayloadOfSchemaTypeWithSources, Payload } from '@xyo-network/payload-model'\n\nimport { DomainLeaseEstimateDivinerValidationErrorDetailsSchema } from '../Schema.ts'\n\nexport interface ErrorDetails<TErrorCode extends string | undefined = string | undefined> {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n [key: string]: any // Index signature for any other additional properties\n /**\n * A string code indicating the error type.\n */\n code: TErrorCode\n /**\n * A human-readable explanation specific to this occurrence of the problem\n */\n detail?: string\n /**\n * A short, human-readable summary of the problem type.\n */\n title?: string\n}\n\nexport type ErrorDetailsDictionary<T extends number = number> = {\n readonly [K in T]: ErrorDetails<`${K}`>\n}\n\n/**\n * A payment authorization token payload\n */\nexport type DomainLeaseEstimateDivinerValidationErrorDetails<TErrorCode extends string | undefined = string> = Payload<\n ErrorDetails<TErrorCode>,\n DomainLeaseEstimateDivinerValidationErrorDetailsSchema\n>\n\n/**\n * Identity function for DomainLeaseEstimateDivinerValidationErrorDetails payload\n */\nexport const isDomainLeaseEstimateDivinerValidationErrorDetails = isPayloadOfSchemaType<DomainLeaseEstimateDivinerValidationErrorDetails>(\n DomainLeaseEstimateDivinerValidationErrorDetailsSchema,\n)\n\n/**\n * Identity function for DomainLeaseEstimateDivinerValidationErrorDetails payload with sources\n */\nexport const isDomainLeaseEstimateDivinerValidationErrorDetailsWithSources\n = isPayloadOfSchemaTypeWithSources<DomainLeaseEstimateDivinerValidationErrorDetails>(DomainLeaseEstimateDivinerValidationErrorDetailsSchema)\n\n/**\n * Identity function for DomainLeaseEstimateDivinerValidationErrorDetails payload with meta\n */\nexport const isDomainLeaseEstimateDivinerValidationErrorDetailsWithMeta\n = isPayloadOfSchemaTypeWithMeta<DomainLeaseEstimateDivinerValidationErrorDetails>(DomainLeaseEstimateDivinerValidationErrorDetailsSchema)\n","import { isPayloadOfSchemaType, isPayloadOfSchemaTypeWithMeta, isPayloadOfSchemaTypeWithSources, Payload } from '@xyo-network/payload-model'\n\nexport type DomainSchema = 'network.xyo.ns.domain'\nexport const DomainSchema: DomainSchema = 'network.xyo.ns.domain'\n\n/**\n * The supported TLDs for XNS\n */\nexport type TopLevelDomain = 'xyo'\n\n/**\n * The fields for a domain record\n */\nexport interface DomainFields {\n /**\n * The XNS domain of the record\n */\n domain: string\n\n /**\n * The Top-Level Domain of the domain\n */\n tld: TopLevelDomain\n}\n\n/**\n * A domain record is a record of a domain\n */\nexport type Domain = Payload<DomainFields, DomainSchema>\n\n/**\n * Identity function for Domain payload\n */\nexport const isDomain = isPayloadOfSchemaType<Domain>(DomainSchema)\n\n/**\n * Identity function for Domain payload with sources\n */\nexport const isDomainWithSources = isPayloadOfSchemaTypeWithSources<Domain>(DomainSchema)\n\n/**\n * Identity function for Domain payload with meta\n */\nexport const isDomainWithMeta = isPayloadOfSchemaTypeWithMeta<Domain>(DomainSchema)\n","import { isPayloadOfSchemaType, isPayloadOfSchemaTypeWithMeta, isPayloadOfSchemaTypeWithSources, Payload } from '@xyo-network/payload-model'\n\nimport { DurationFields } from '../Duration/index.ts'\nimport { DomainFields } from './Domain.ts'\n\nexport type DomainLeaseSchema = 'network.xyo.ns.domain.lease'\nexport const DomainLeaseSchema: DomainLeaseSchema = 'network.xyo.ns.domain.lease'\n\n/**\n * A domain is leased for a duration\n */\nexport interface DomainLeaseFields extends DomainFields, DurationFields {}\n\n/**\n * A domain lease is a record of a domain and the duration it is leased for\n */\nexport type DomainLease = Payload<DomainLeaseFields, DomainLeaseSchema>\n\n/**\n * Identity function for DomainLease payload\n */\nexport const isDomainLease = isPayloadOfSchemaType<DomainLease>(DomainLeaseSchema)\n\n/**\n * Identity function for DomainLease payload with sources\n */\nexport const isDomainLeaseWithSources = isPayloadOfSchemaTypeWithSources<DomainLease>(DomainLeaseSchema)\n\n/**\n * Identity function for DomainLease payload with meta\n */\nexport const isDomainLeaseWithMeta = isPayloadOfSchemaTypeWithMeta<DomainLease>(DomainLeaseSchema)\n","import { Address } from '@xylabs/hex'\nimport { isPayloadOfSchemaType, isPayloadOfSchemaTypeWithMeta, isPayloadOfSchemaTypeWithSources, Payload } from '@xyo-network/payload-model'\n\nimport { DomainFields, DomainSchema } from '../Domain/index.ts'\n\nexport const DomainRegistrationSchema = `${DomainSchema}.registration` as const\nexport type DomainRegistrationSchema = typeof DomainRegistrationSchema\n\nexport interface DomainRegistrationFields extends DomainFields {\n /**\n * The registrant of the domain\n */\n registrant: Address[]\n /**\n * The registrar of the domain\n */\n registrar: Address[]\n}\n\n/**\n * Delegation of a domain to a registrar by a registrant\n */\nexport type DomainRegistration = Payload<DomainRegistrationFields, DomainRegistrationSchema>\n\n/**\n * Identity function for DomainRegistration payload\n */\nexport const isDomainRegistration = isPayloadOfSchemaType<DomainRegistration>(DomainRegistrationSchema)\n\n/**\n * Identity function for DomainRegistration payload with sources\n */\nexport const isDomainRegistrationWithSources = isPayloadOfSchemaTypeWithSources<DomainRegistration>(DomainRegistrationSchema)\n\n/**\n * Identity function for DomainRegistration payload with meta\n */\nexport const isDomainRegistrationWithMeta = isPayloadOfSchemaTypeWithMeta<DomainRegistration>(DomainRegistrationSchema)\n","import { isPayloadOfSchemaType, isPayloadOfSchemaTypeWithMeta, isPayloadOfSchemaTypeWithSources, Payload } from '@xyo-network/payload-model'\n\nimport { DurationFields } from '../Duration/index.ts'\nimport { DomainRegistrationFields, DomainRegistrationSchema } from './DomainRegistration.ts'\n\nexport const DomainRegistrationLeaseSchema = `${DomainRegistrationSchema}.lease` as const\nexport type DomainRegistrationLeaseSchema = typeof DomainRegistrationLeaseSchema\n\nexport interface DomainRegistrationLeaseFields extends DomainRegistrationFields, DurationFields {}\n\n/**\n * Temporal delegation of a domain to a registrar by a registrant\n */\nexport type DomainRegistrationLease = Payload<DomainRegistrationLeaseFields, DomainRegistrationLeaseSchema>\n\n/**\n * Identity function for DomainRegistrationLease payload\n */\nexport const isDomainRegistrationLease = isPayloadOfSchemaType<DomainRegistrationLease>(DomainRegistrationLeaseSchema)\n\n/**\n * Identity function for DomainRegistrationLease payload with sources\n */\nexport const isDomainRegistrationLeaseWithSources = isPayloadOfSchemaTypeWithSources<DomainRegistrationLease>(DomainRegistrationLeaseSchema)\n/**\n * @deprecated Use isDomainRegistrationLeaseWithSources instead\n */\nexport const isDomainRegistrationLeaseSources = isDomainRegistrationLeaseWithSources\n\n/**\n * Identity function for DomainRegistrationLease payload with meta\n */\nexport const isDomainRegistrationLeaseWithMeta = isPayloadOfSchemaTypeWithMeta<DomainRegistrationLease>(DomainRegistrationLeaseSchema)\n/**\n * @deprecated Use isDomainRegistrationLeaseWithMeta instead\n */\nexport const isDomainRegistrationLeaseMeta = isDomainRegistrationLeaseWithMeta\n","import { BoundWitness } from '@xyo-network/boundwitness-model'\nimport { BoundWitnessValidator } from '@xyo-network/boundwitness-validator'\n\n// BW Validations\nexport const validateBoundWitness = async (recordBw: BoundWitness, requiredSchemas: string[] = []): Promise<boolean> => {\n // If the BW does not include all of the required schemas\n if (!requiredSchemas.every(requiredSchema => recordBw.payload_schemas.includes(requiredSchema))) return false\n // If the BW is valid (does not include any errors)\n const validator = new BoundWitnessValidator(recordBw)\n const errors = await validator.validate()\n return errors.length === 0\n}\n","import { BoundWitness } from '@xyo-network/boundwitness-model'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { Payload } from '@xyo-network/payload-model'\n\nimport { DurationFields } from '../Duration.ts'\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.ts'\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.ts'\nimport { validateBoundWitness } from './validateBoundWitness.ts'\nimport { validateBoundWitnessAndDuration } from './validateBoundWitnessAndDuration.ts'\nimport { validateDuration } from './validateDuration.ts'\n\nexport const validateBoundWitnessWithDuration = async (recordBw: BoundWitness, recordPayload: Payload<DurationFields>): Promise<boolean> => {\n // Validate the BW\n if (!(await validateBoundWitness(recordBw, [recordPayload.schema]))) return false\n // Validate the record\n if (!validateDuration(recordPayload)) return false\n // Validate the record relative to the BW\n if (!(await validateBoundWitnessAndDuration(recordBw, recordPayload))) return false\n return true\n}\n"],"mappings":"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","names":["AddressRecordSchema","isAddressRecord","isPayloadOfSchemaType","isAddressRecordWithMeta","DomainLeaseEstimateDivinerValidationErrorDetailsSchema","DomainLeaseEstimateDivinerErrorDetailsDictionary","code","schema","DomainLeaseEstimateDivinerValidationErrorDetailsSchema","title","import_payload_model","isDomainLeaseEstimateDivinerValidationErrorDetails","isPayloadOfSchemaType","DomainLeaseEstimateDivinerValidationErrorDetailsSchema","isDomainLeaseEstimateDivinerValidationErrorDetailsWithSources","isPayloadOfSchemaTypeWithSources","isDomainLeaseEstimateDivinerValidationErrorDetailsWithMeta","isPayloadOfSchemaTypeWithMeta","import_payload_model","DomainSchema","isDomain","isPayloadOfSchemaType","isDomainWithSources","isPayloadOfSchemaTypeWithSources","isDomainWithMeta","isPayloadOfSchemaTypeWithMeta","import_payload_model","DomainLeaseSchema","isDomainLease","isPayloadOfSchemaType","isDomainLeaseWithSources","isPayloadOfSchemaTypeWithSources","isDomainLeaseWithMeta","isPayloadOfSchemaTypeWithMeta","import_payload_model","DomainRegistrationSchema","DomainSchema","isDomainRegistration","isPayloadOfSchemaType","isDomainRegistrationWithSources","isPayloadOfSchemaTypeWithSources","isDomainRegistrationWithMeta","isPayloadOfSchemaTypeWithMeta","import_payload_model","DomainRegistrationLeaseSchema","DomainRegistrationSchema","isDomainRegistrationLease","isPayloadOfSchemaType","isDomainRegistrationLeaseWithSources","isPayloadOfSchemaTypeWithSources","isDomainRegistrationLeaseSources","isDomainRegistrationLeaseWithMeta","isPayloadOfSchemaTypeWithMeta","isDomainRegistrationLeaseMeta","validateBoundWitness","recordBw","requiredSchemas","every","requiredSchema","payload_schemas","includes","validator","BoundWitnessValidator","errors","validate","length","validateBoundWitnessAndDuration","recordBw","recordPayload","recordIsInBoundWitness","recordIsTemporallyValidToBoundWitness","hash","PayloadBuilder","dataHash","payload_hashes","includes","timestamp","exp","validateDuration","recordPayload","isWithinDelegatedTimeframe","now","Date","nbf","exp","validateBoundWitnessWithDuration","recordBw","recordPayload","validateBoundWitness","schema","validateDuration","validateBoundWitnessAndDuration"]}
|
package/dist/node/index.d.cts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export * from './Address/index.
|
|
2
|
-
export * from './diviner/index.
|
|
3
|
-
export * from './Domain/index.
|
|
4
|
-
export * from './DomainRegistration/index.
|
|
5
|
-
export * from './Duration/index.
|
|
1
|
+
export * from './Address/index.ts';
|
|
2
|
+
export * from './diviner/index.ts';
|
|
3
|
+
export * from './Domain/index.ts';
|
|
4
|
+
export * from './DomainRegistration/index.ts';
|
|
5
|
+
export * from './Duration/index.ts';
|
|
6
6
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/node/index.d.mts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export * from './Address/index.
|
|
2
|
-
export * from './diviner/index.
|
|
3
|
-
export * from './Domain/index.
|
|
4
|
-
export * from './DomainRegistration/index.
|
|
5
|
-
export * from './Duration/index.
|
|
1
|
+
export * from './Address/index.ts';
|
|
2
|
+
export * from './diviner/index.ts';
|
|
3
|
+
export * from './Domain/index.ts';
|
|
4
|
+
export * from './DomainRegistration/index.ts';
|
|
5
|
+
export * from './Duration/index.ts';
|
|
6
6
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/node/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export * from './Address/index.
|
|
2
|
-
export * from './diviner/index.
|
|
3
|
-
export * from './Domain/index.
|
|
4
|
-
export * from './DomainRegistration/index.
|
|
5
|
-
export * from './Duration/index.
|
|
1
|
+
export * from './Address/index.ts';
|
|
2
|
+
export * from './diviner/index.ts';
|
|
3
|
+
export * from './Domain/index.ts';
|
|
4
|
+
export * from './DomainRegistration/index.ts';
|
|
5
|
+
export * from './Duration/index.ts';
|
|
6
6
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
+
|
|
1
4
|
// src/Address/Payload.ts
|
|
2
5
|
import { isPayloadOfSchemaType } from "@xyo-network/payload-model";
|
|
3
6
|
var AddressRecordSchema = "network.xyo.ns.record.address";
|
|
@@ -9,22 +12,56 @@ var DomainLeaseEstimateDivinerValidationErrorDetailsSchema = "network.xyo.divine
|
|
|
9
12
|
|
|
10
13
|
// src/diviner/DomainLeaseEstimateDiviner/ErrorDetails/ErrorCodes.ts
|
|
11
14
|
var DomainLeaseEstimateDivinerErrorDetailsDictionary = {
|
|
12
|
-
0: {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
15
|
+
0: {
|
|
16
|
+
code: "0",
|
|
17
|
+
schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema,
|
|
18
|
+
title: "Success"
|
|
19
|
+
},
|
|
20
|
+
1: {
|
|
21
|
+
code: "1",
|
|
22
|
+
schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema,
|
|
23
|
+
title: "Invalid casing"
|
|
24
|
+
},
|
|
25
|
+
2: {
|
|
26
|
+
code: "2",
|
|
27
|
+
schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema,
|
|
28
|
+
title: "Invalid coin signature"
|
|
29
|
+
},
|
|
30
|
+
3: {
|
|
31
|
+
code: "3",
|
|
32
|
+
schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema,
|
|
33
|
+
title: "Invalid length"
|
|
34
|
+
},
|
|
35
|
+
4: {
|
|
36
|
+
code: "4",
|
|
37
|
+
schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema,
|
|
38
|
+
title: "Invalid name"
|
|
39
|
+
},
|
|
40
|
+
5: {
|
|
41
|
+
code: "5",
|
|
42
|
+
schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema,
|
|
43
|
+
title: "Reserved fragment"
|
|
44
|
+
},
|
|
45
|
+
6: {
|
|
46
|
+
code: "6",
|
|
47
|
+
schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema,
|
|
48
|
+
title: "Reserved name"
|
|
49
|
+
},
|
|
50
|
+
7: {
|
|
51
|
+
code: "7",
|
|
52
|
+
schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema,
|
|
53
|
+
title: "Reserved string"
|
|
54
|
+
},
|
|
55
|
+
8: {
|
|
56
|
+
code: "8",
|
|
57
|
+
schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema,
|
|
58
|
+
title: "Invalid TLD"
|
|
59
|
+
}
|
|
21
60
|
};
|
|
22
61
|
|
|
23
62
|
// src/diviner/DomainLeaseEstimateDiviner/ErrorDetails/Payload.ts
|
|
24
63
|
import { isPayloadOfSchemaType as isPayloadOfSchemaType2, isPayloadOfSchemaTypeWithMeta, isPayloadOfSchemaTypeWithSources } from "@xyo-network/payload-model";
|
|
25
|
-
var isDomainLeaseEstimateDivinerValidationErrorDetails = isPayloadOfSchemaType2(
|
|
26
|
-
DomainLeaseEstimateDivinerValidationErrorDetailsSchema
|
|
27
|
-
);
|
|
64
|
+
var isDomainLeaseEstimateDivinerValidationErrorDetails = isPayloadOfSchemaType2(DomainLeaseEstimateDivinerValidationErrorDetailsSchema);
|
|
28
65
|
var isDomainLeaseEstimateDivinerValidationErrorDetailsWithSources = isPayloadOfSchemaTypeWithSources(DomainLeaseEstimateDivinerValidationErrorDetailsSchema);
|
|
29
66
|
var isDomainLeaseEstimateDivinerValidationErrorDetailsWithMeta = isPayloadOfSchemaTypeWithMeta(DomainLeaseEstimateDivinerValidationErrorDetailsSchema);
|
|
30
67
|
|
|
@@ -60,46 +97,48 @@ var isDomainRegistrationLeaseMeta = isDomainRegistrationLeaseWithMeta;
|
|
|
60
97
|
|
|
61
98
|
// src/Duration/validation/validateBoundWitness.ts
|
|
62
99
|
import { BoundWitnessValidator } from "@xyo-network/boundwitness-validator";
|
|
63
|
-
var validateBoundWitness = async (recordBw, requiredSchemas = []) => {
|
|
100
|
+
var validateBoundWitness = /* @__PURE__ */ __name(async (recordBw, requiredSchemas = []) => {
|
|
64
101
|
if (!requiredSchemas.every((requiredSchema) => recordBw.payload_schemas.includes(requiredSchema))) return false;
|
|
65
102
|
const validator = new BoundWitnessValidator(recordBw);
|
|
66
103
|
const errors = await validator.validate();
|
|
67
104
|
return errors.length === 0;
|
|
68
|
-
};
|
|
105
|
+
}, "validateBoundWitness");
|
|
69
106
|
|
|
70
107
|
// src/Duration/validation/validateBoundWitnessAndDuration.ts
|
|
71
108
|
import { PayloadBuilder } from "@xyo-network/payload-builder";
|
|
72
|
-
var validateBoundWitnessAndDuration = async (recordBw, recordPayload) => {
|
|
109
|
+
var validateBoundWitnessAndDuration = /* @__PURE__ */ __name(async (recordBw, recordPayload) => {
|
|
73
110
|
if (!await recordIsInBoundWitness(recordBw, recordPayload)) return false;
|
|
74
111
|
if (!recordIsTemporallyValidToBoundWitness(recordBw, recordPayload)) return false;
|
|
75
112
|
return true;
|
|
76
|
-
};
|
|
77
|
-
var recordIsInBoundWitness = async (recordBw, recordPayload) => {
|
|
113
|
+
}, "validateBoundWitnessAndDuration");
|
|
114
|
+
var recordIsInBoundWitness = /* @__PURE__ */ __name(async (recordBw, recordPayload) => {
|
|
78
115
|
const hash = await PayloadBuilder.dataHash(recordPayload);
|
|
79
116
|
return recordBw.payload_hashes.includes(hash);
|
|
80
|
-
};
|
|
81
|
-
var recordIsTemporallyValidToBoundWitness = (recordBw, recordPayload) => {
|
|
117
|
+
}, "recordIsInBoundWitness");
|
|
118
|
+
var recordIsTemporallyValidToBoundWitness = /* @__PURE__ */ __name((recordBw, recordPayload) => {
|
|
82
119
|
const { timestamp } = recordBw;
|
|
83
120
|
const { exp } = recordPayload;
|
|
84
121
|
return exp > timestamp;
|
|
85
|
-
};
|
|
122
|
+
}, "recordIsTemporallyValidToBoundWitness");
|
|
86
123
|
|
|
87
124
|
// src/Duration/validation/validateDuration.ts
|
|
88
|
-
var validateDuration = (recordPayload) => {
|
|
125
|
+
var validateDuration = /* @__PURE__ */ __name((recordPayload) => {
|
|
89
126
|
if (!isWithinDelegatedTimeframe(recordPayload)) return false;
|
|
90
127
|
return true;
|
|
91
|
-
};
|
|
92
|
-
var isWithinDelegatedTimeframe = (recordPayload, now = Date.now()) => {
|
|
128
|
+
}, "validateDuration");
|
|
129
|
+
var isWithinDelegatedTimeframe = /* @__PURE__ */ __name((recordPayload, now = Date.now()) => {
|
|
93
130
|
return recordPayload.nbf < now && now < recordPayload.exp;
|
|
94
|
-
};
|
|
131
|
+
}, "isWithinDelegatedTimeframe");
|
|
95
132
|
|
|
96
133
|
// src/Duration/validation/validateBoundWitnessWithDuration.ts
|
|
97
|
-
var validateBoundWitnessWithDuration = async (recordBw, recordPayload) => {
|
|
98
|
-
if (!await validateBoundWitness(recordBw, [
|
|
134
|
+
var validateBoundWitnessWithDuration = /* @__PURE__ */ __name(async (recordBw, recordPayload) => {
|
|
135
|
+
if (!await validateBoundWitness(recordBw, [
|
|
136
|
+
recordPayload.schema
|
|
137
|
+
])) return false;
|
|
99
138
|
if (!validateDuration(recordPayload)) return false;
|
|
100
139
|
if (!await validateBoundWitnessAndDuration(recordBw, recordPayload)) return false;
|
|
101
140
|
return true;
|
|
102
|
-
};
|
|
141
|
+
}, "validateBoundWitnessWithDuration");
|
|
103
142
|
export {
|
|
104
143
|
AddressRecordSchema,
|
|
105
144
|
DomainLeaseEstimateDivinerErrorDetailsDictionary,
|
|
@@ -130,4 +169,4 @@ export {
|
|
|
130
169
|
validateBoundWitnessWithDuration,
|
|
131
170
|
validateDuration
|
|
132
171
|
};
|
|
133
|
-
//# sourceMappingURL=index.
|
|
172
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/Address/Payload.ts","../../src/diviner/DomainLeaseEstimateDiviner/Schema.ts","../../src/diviner/DomainLeaseEstimateDiviner/ErrorDetails/ErrorCodes.ts","../../src/diviner/DomainLeaseEstimateDiviner/ErrorDetails/Payload.ts","../../src/Domain/Domain.ts","../../src/Domain/DomainLease.ts","../../src/DomainRegistration/DomainRegistration.ts","../../src/DomainRegistration/DomainRegistrationLease.ts","../../src/Duration/validation/validateBoundWitness.ts","../../src/Duration/validation/validateBoundWitnessAndDuration.ts","../../src/Duration/validation/validateDuration.ts","../../src/Duration/validation/validateBoundWitnessWithDuration.ts"],"sourcesContent":["import { Address } from '@xylabs/hex'\nimport { isPayloadOfSchemaType, Payload, WithMeta } from '@xyo-network/payload-model'\n\nimport { DomainFields } from '../Domain/index.ts'\n\nexport type AddressRecordSchema = 'network.xyo.ns.record.address'\nexport const AddressRecordSchema: AddressRecordSchema = 'network.xyo.ns.record.address'\n\nexport interface AddressRecordFields extends DomainFields {\n /**\n * The address the record points to\n */\n address: Address[]\n}\n\n/**\n * An address record points a domain to an address\n */\nexport type AddressRecord = Payload<AddressRecordFields, AddressRecordSchema>\n\nexport const isAddressRecord = isPayloadOfSchemaType<AddressRecord>(AddressRecordSchema)\nexport const isAddressRecordWithMeta = isPayloadOfSchemaType<WithMeta<AddressRecord>>(AddressRecordSchema)\n","export const DomainLeaseEstimateDivinerValidationErrorDetailsSchema\n = 'network.xyo.diviner.ns.domain.registration.lease.estimate.validation.error.details' as const\n\nexport type DomainLeaseEstimateDivinerValidationErrorDetailsSchema = typeof DomainLeaseEstimateDivinerValidationErrorDetailsSchema\n","import { DomainLeaseEstimateDivinerValidationErrorDetailsSchema } from '../Schema.ts'\nimport { DomainLeaseEstimateDivinerValidationErrorDetails, ErrorDetailsDictionary } from './Payload.ts'\n\n// export type DomainLeaseEstimateDivinerErrorDetailsDictionaryErrorCode = keyof typeof DomainLeaseEstimateDivinerErrorDetailsDictionary\nexport type DomainLeaseEstimateDivinerErrorDetailsDictionaryErrorCode = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8\n\nexport const DomainLeaseEstimateDivinerErrorDetailsDictionary: Readonly<\n Readonly<Record<DomainLeaseEstimateDivinerErrorDetailsDictionaryErrorCode, DomainLeaseEstimateDivinerValidationErrorDetails>> &\n ErrorDetailsDictionary\n> = {\n 0: { code: '0', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Success' },\n 1: { code: '1', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Invalid casing' },\n 2: { code: '2', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Invalid coin signature' },\n 3: { code: '3', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Invalid length' },\n 4: { code: '4', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Invalid name' },\n 5: { code: '5', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Reserved fragment' },\n 6: { code: '6', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Reserved name' },\n 7: { code: '7', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Reserved string' },\n 8: { code: '8', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Invalid TLD' },\n} as const\n","import { isPayloadOfSchemaType, isPayloadOfSchemaTypeWithMeta, isPayloadOfSchemaTypeWithSources, Payload } from '@xyo-network/payload-model'\n\nimport { DomainLeaseEstimateDivinerValidationErrorDetailsSchema } from '../Schema.ts'\n\nexport interface ErrorDetails<TErrorCode extends string | undefined = string | undefined> {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n [key: string]: any // Index signature for any other additional properties\n /**\n * A string code indicating the error type.\n */\n code: TErrorCode\n /**\n * A human-readable explanation specific to this occurrence of the problem\n */\n detail?: string\n /**\n * A short, human-readable summary of the problem type.\n */\n title?: string\n}\n\nexport type ErrorDetailsDictionary<T extends number = number> = {\n readonly [K in T]: ErrorDetails<`${K}`>\n}\n\n/**\n * A payment authorization token payload\n */\nexport type DomainLeaseEstimateDivinerValidationErrorDetails<TErrorCode extends string | undefined = string> = Payload<\n ErrorDetails<TErrorCode>,\n DomainLeaseEstimateDivinerValidationErrorDetailsSchema\n>\n\n/**\n * Identity function for DomainLeaseEstimateDivinerValidationErrorDetails payload\n */\nexport const isDomainLeaseEstimateDivinerValidationErrorDetails = isPayloadOfSchemaType<DomainLeaseEstimateDivinerValidationErrorDetails>(\n DomainLeaseEstimateDivinerValidationErrorDetailsSchema,\n)\n\n/**\n * Identity function for DomainLeaseEstimateDivinerValidationErrorDetails payload with sources\n */\nexport const isDomainLeaseEstimateDivinerValidationErrorDetailsWithSources\n = isPayloadOfSchemaTypeWithSources<DomainLeaseEstimateDivinerValidationErrorDetails>(DomainLeaseEstimateDivinerValidationErrorDetailsSchema)\n\n/**\n * Identity function for DomainLeaseEstimateDivinerValidationErrorDetails payload with meta\n */\nexport const isDomainLeaseEstimateDivinerValidationErrorDetailsWithMeta\n = isPayloadOfSchemaTypeWithMeta<DomainLeaseEstimateDivinerValidationErrorDetails>(DomainLeaseEstimateDivinerValidationErrorDetailsSchema)\n","import { isPayloadOfSchemaType, isPayloadOfSchemaTypeWithMeta, isPayloadOfSchemaTypeWithSources, Payload } from '@xyo-network/payload-model'\n\nexport type DomainSchema = 'network.xyo.ns.domain'\nexport const DomainSchema: DomainSchema = 'network.xyo.ns.domain'\n\n/**\n * The supported TLDs for XNS\n */\nexport type TopLevelDomain = 'xyo'\n\n/**\n * The fields for a domain record\n */\nexport interface DomainFields {\n /**\n * The XNS domain of the record\n */\n domain: string\n\n /**\n * The Top-Level Domain of the domain\n */\n tld: TopLevelDomain\n}\n\n/**\n * A domain record is a record of a domain\n */\nexport type Domain = Payload<DomainFields, DomainSchema>\n\n/**\n * Identity function for Domain payload\n */\nexport const isDomain = isPayloadOfSchemaType<Domain>(DomainSchema)\n\n/**\n * Identity function for Domain payload with sources\n */\nexport const isDomainWithSources = isPayloadOfSchemaTypeWithSources<Domain>(DomainSchema)\n\n/**\n * Identity function for Domain payload with meta\n */\nexport const isDomainWithMeta = isPayloadOfSchemaTypeWithMeta<Domain>(DomainSchema)\n","import { isPayloadOfSchemaType, isPayloadOfSchemaTypeWithMeta, isPayloadOfSchemaTypeWithSources, Payload } from '@xyo-network/payload-model'\n\nimport { DurationFields } from '../Duration/index.ts'\nimport { DomainFields } from './Domain.ts'\n\nexport type DomainLeaseSchema = 'network.xyo.ns.domain.lease'\nexport const DomainLeaseSchema: DomainLeaseSchema = 'network.xyo.ns.domain.lease'\n\n/**\n * A domain is leased for a duration\n */\nexport interface DomainLeaseFields extends DomainFields, DurationFields {}\n\n/**\n * A domain lease is a record of a domain and the duration it is leased for\n */\nexport type DomainLease = Payload<DomainLeaseFields, DomainLeaseSchema>\n\n/**\n * Identity function for DomainLease payload\n */\nexport const isDomainLease = isPayloadOfSchemaType<DomainLease>(DomainLeaseSchema)\n\n/**\n * Identity function for DomainLease payload with sources\n */\nexport const isDomainLeaseWithSources = isPayloadOfSchemaTypeWithSources<DomainLease>(DomainLeaseSchema)\n\n/**\n * Identity function for DomainLease payload with meta\n */\nexport const isDomainLeaseWithMeta = isPayloadOfSchemaTypeWithMeta<DomainLease>(DomainLeaseSchema)\n","import { Address } from '@xylabs/hex'\nimport { isPayloadOfSchemaType, isPayloadOfSchemaTypeWithMeta, isPayloadOfSchemaTypeWithSources, Payload } from '@xyo-network/payload-model'\n\nimport { DomainFields, DomainSchema } from '../Domain/index.ts'\n\nexport const DomainRegistrationSchema = `${DomainSchema}.registration` as const\nexport type DomainRegistrationSchema = typeof DomainRegistrationSchema\n\nexport interface DomainRegistrationFields extends DomainFields {\n /**\n * The registrant of the domain\n */\n registrant: Address[]\n /**\n * The registrar of the domain\n */\n registrar: Address[]\n}\n\n/**\n * Delegation of a domain to a registrar by a registrant\n */\nexport type DomainRegistration = Payload<DomainRegistrationFields, DomainRegistrationSchema>\n\n/**\n * Identity function for DomainRegistration payload\n */\nexport const isDomainRegistration = isPayloadOfSchemaType<DomainRegistration>(DomainRegistrationSchema)\n\n/**\n * Identity function for DomainRegistration payload with sources\n */\nexport const isDomainRegistrationWithSources = isPayloadOfSchemaTypeWithSources<DomainRegistration>(DomainRegistrationSchema)\n\n/**\n * Identity function for DomainRegistration payload with meta\n */\nexport const isDomainRegistrationWithMeta = isPayloadOfSchemaTypeWithMeta<DomainRegistration>(DomainRegistrationSchema)\n","import { isPayloadOfSchemaType, isPayloadOfSchemaTypeWithMeta, isPayloadOfSchemaTypeWithSources, Payload } from '@xyo-network/payload-model'\n\nimport { DurationFields } from '../Duration/index.ts'\nimport { DomainRegistrationFields, DomainRegistrationSchema } from './DomainRegistration.ts'\n\nexport const DomainRegistrationLeaseSchema = `${DomainRegistrationSchema}.lease` as const\nexport type DomainRegistrationLeaseSchema = typeof DomainRegistrationLeaseSchema\n\nexport interface DomainRegistrationLeaseFields extends DomainRegistrationFields, DurationFields {}\n\n/**\n * Temporal delegation of a domain to a registrar by a registrant\n */\nexport type DomainRegistrationLease = Payload<DomainRegistrationLeaseFields, DomainRegistrationLeaseSchema>\n\n/**\n * Identity function for DomainRegistrationLease payload\n */\nexport const isDomainRegistrationLease = isPayloadOfSchemaType<DomainRegistrationLease>(DomainRegistrationLeaseSchema)\n\n/**\n * Identity function for DomainRegistrationLease payload with sources\n */\nexport const isDomainRegistrationLeaseWithSources = isPayloadOfSchemaTypeWithSources<DomainRegistrationLease>(DomainRegistrationLeaseSchema)\n/**\n * @deprecated Use isDomainRegistrationLeaseWithSources instead\n */\nexport const isDomainRegistrationLeaseSources = isDomainRegistrationLeaseWithSources\n\n/**\n * Identity function for DomainRegistrationLease payload with meta\n */\nexport const isDomainRegistrationLeaseWithMeta = isPayloadOfSchemaTypeWithMeta<DomainRegistrationLease>(DomainRegistrationLeaseSchema)\n/**\n * @deprecated Use isDomainRegistrationLeaseWithMeta instead\n */\nexport const isDomainRegistrationLeaseMeta = isDomainRegistrationLeaseWithMeta\n","import { BoundWitness } from '@xyo-network/boundwitness-model'\nimport { BoundWitnessValidator } from '@xyo-network/boundwitness-validator'\n\n// BW Validations\nexport const validateBoundWitness = async (recordBw: BoundWitness, requiredSchemas: string[] = []): Promise<boolean> => {\n // If the BW does not include all of the required schemas\n if (!requiredSchemas.every(requiredSchema => recordBw.payload_schemas.includes(requiredSchema))) return false\n // If the BW is valid (does not include any errors)\n const validator = new BoundWitnessValidator(recordBw)\n const errors = await validator.validate()\n return errors.length === 0\n}\n","import { BoundWitness } from '@xyo-network/boundwitness-model'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { Payload } from '@xyo-network/payload-model'\n\nimport { DurationFields } from '../Duration.ts'\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.ts'\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.ts'\nimport { validateBoundWitness } from './validateBoundWitness.ts'\nimport { validateBoundWitnessAndDuration } from './validateBoundWitnessAndDuration.ts'\nimport { validateDuration } from './validateDuration.ts'\n\nexport const validateBoundWitnessWithDuration = async (recordBw: BoundWitness, recordPayload: Payload<DurationFields>): Promise<boolean> => {\n // Validate the BW\n if (!(await validateBoundWitness(recordBw, [recordPayload.schema]))) return false\n // Validate the record\n if (!validateDuration(recordPayload)) return false\n // Validate the record relative to the BW\n if (!(await validateBoundWitnessAndDuration(recordBw, recordPayload))) return false\n return true\n}\n"],"mappings":"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","names":["isPayloadOfSchemaType","AddressRecordSchema","isAddressRecord","isAddressRecordWithMeta","DomainLeaseEstimateDivinerValidationErrorDetailsSchema","DomainLeaseEstimateDivinerErrorDetailsDictionary","code","schema","DomainLeaseEstimateDivinerValidationErrorDetailsSchema","title","isPayloadOfSchemaType","isPayloadOfSchemaTypeWithMeta","isPayloadOfSchemaTypeWithSources","isDomainLeaseEstimateDivinerValidationErrorDetails","isPayloadOfSchemaType","DomainLeaseEstimateDivinerValidationErrorDetailsSchema","isDomainLeaseEstimateDivinerValidationErrorDetailsWithSources","isPayloadOfSchemaTypeWithSources","isDomainLeaseEstimateDivinerValidationErrorDetailsWithMeta","isPayloadOfSchemaTypeWithMeta","isPayloadOfSchemaType","isPayloadOfSchemaTypeWithMeta","isPayloadOfSchemaTypeWithSources","DomainSchema","isDomain","isDomainWithSources","isDomainWithMeta","isPayloadOfSchemaType","isPayloadOfSchemaTypeWithMeta","isPayloadOfSchemaTypeWithSources","DomainLeaseSchema","isDomainLease","isDomainLeaseWithSources","isDomainLeaseWithMeta","isPayloadOfSchemaType","isPayloadOfSchemaTypeWithMeta","isPayloadOfSchemaTypeWithSources","DomainRegistrationSchema","DomainSchema","isDomainRegistration","isPayloadOfSchemaType","isDomainRegistrationWithSources","isPayloadOfSchemaTypeWithSources","isDomainRegistrationWithMeta","isPayloadOfSchemaTypeWithMeta","isPayloadOfSchemaType","isPayloadOfSchemaTypeWithMeta","isPayloadOfSchemaTypeWithSources","DomainRegistrationLeaseSchema","DomainRegistrationSchema","isDomainRegistrationLease","isPayloadOfSchemaType","isDomainRegistrationLeaseWithSources","isPayloadOfSchemaTypeWithSources","isDomainRegistrationLeaseSources","isDomainRegistrationLeaseWithMeta","isPayloadOfSchemaTypeWithMeta","isDomainRegistrationLeaseMeta","BoundWitnessValidator","validateBoundWitness","recordBw","requiredSchemas","every","requiredSchema","payload_schemas","includes","validator","BoundWitnessValidator","errors","validate","length","PayloadBuilder","validateBoundWitnessAndDuration","recordBw","recordPayload","recordIsInBoundWitness","recordIsTemporallyValidToBoundWitness","hash","PayloadBuilder","dataHash","payload_hashes","includes","timestamp","exp","validateDuration","recordPayload","isWithinDelegatedTimeframe","now","Date","nbf","exp","validateBoundWitnessWithDuration","recordBw","recordPayload","validateBoundWitness","schema","validateDuration","validateBoundWitnessAndDuration"]}
|
package/package.json
CHANGED
|
@@ -10,18 +10,18 @@
|
|
|
10
10
|
"url": "https://github.com/XYOracleNetwork/plugins/issues"
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
|
-
"@xylabs/hex": "^3.6.
|
|
14
|
-
"@xyo-network/boundwitness-model": "^2.
|
|
15
|
-
"@xyo-network/boundwitness-validator": "^2.
|
|
16
|
-
"@xyo-network/payload-builder": "^2.
|
|
17
|
-
"@xyo-network/payload-model": "^2.
|
|
13
|
+
"@xylabs/hex": "^3.6.8",
|
|
14
|
+
"@xyo-network/boundwitness-model": "^2.111.2",
|
|
15
|
+
"@xyo-network/boundwitness-validator": "^2.111.2",
|
|
16
|
+
"@xyo-network/payload-builder": "^2.111.2",
|
|
17
|
+
"@xyo-network/payload-model": "^2.111.2"
|
|
18
18
|
},
|
|
19
19
|
"devDependencies": {
|
|
20
|
-
"@xylabs/ts-scripts-yarn3": "^3.
|
|
21
|
-
"@xylabs/tsconfig": "^3.
|
|
22
|
-
"@xyo-network/account": "^2.
|
|
23
|
-
"@xyo-network/boundwitness-builder": "^2.
|
|
24
|
-
"typescript": "^5.5.
|
|
20
|
+
"@xylabs/ts-scripts-yarn3": "^3.15.13",
|
|
21
|
+
"@xylabs/tsconfig": "^3.15.13",
|
|
22
|
+
"@xyo-network/account": "^2.111.2",
|
|
23
|
+
"@xyo-network/boundwitness-builder": "^2.111.2",
|
|
24
|
+
"typescript": "^5.5.4"
|
|
25
25
|
},
|
|
26
26
|
"description": "Typescript/Javascript Plugins for XYO Platform",
|
|
27
27
|
"exports": {
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
},
|
|
34
34
|
"import": {
|
|
35
35
|
"types": "./dist/browser/index.d.mts",
|
|
36
|
-
"default": "./dist/browser/index.
|
|
36
|
+
"default": "./dist/browser/index.mjs"
|
|
37
37
|
}
|
|
38
38
|
},
|
|
39
39
|
"node": {
|
|
@@ -43,14 +43,14 @@
|
|
|
43
43
|
},
|
|
44
44
|
"import": {
|
|
45
45
|
"types": "./dist/node/index.d.mts",
|
|
46
|
-
"default": "./dist/node/index.
|
|
46
|
+
"default": "./dist/node/index.mjs"
|
|
47
47
|
}
|
|
48
48
|
}
|
|
49
49
|
},
|
|
50
50
|
"./package.json": "./package.json"
|
|
51
51
|
},
|
|
52
52
|
"main": "dist/node/index.cjs",
|
|
53
|
-
"module": "dist/node/index.
|
|
53
|
+
"module": "dist/node/index.mjs",
|
|
54
54
|
"types": "dist/node/index.d.ts",
|
|
55
55
|
"homepage": "https://xyo.network",
|
|
56
56
|
"license": "LGPL-3.0-only",
|
|
@@ -62,6 +62,6 @@
|
|
|
62
62
|
"url": "https://github.com/XYOracleNetwork/plugins.git"
|
|
63
63
|
},
|
|
64
64
|
"sideEffects": false,
|
|
65
|
-
"version": "2.99.
|
|
65
|
+
"version": "2.99.5",
|
|
66
66
|
"type": "module"
|
|
67
67
|
}
|
package/src/Address/Payload.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Address } from '@xylabs/hex'
|
|
2
2
|
import { isPayloadOfSchemaType, Payload, WithMeta } from '@xyo-network/payload-model'
|
|
3
3
|
|
|
4
|
-
import { DomainFields } from '../Domain/index.
|
|
4
|
+
import { DomainFields } from '../Domain/index.ts'
|
|
5
5
|
|
|
6
6
|
export type AddressRecordSchema = 'network.xyo.ns.record.address'
|
|
7
7
|
export const AddressRecordSchema: AddressRecordSchema = 'network.xyo.ns.record.address'
|
package/src/Address/index.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from './Payload.
|
|
1
|
+
export * from './Payload.ts'
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { isPayloadOfSchemaType, isPayloadOfSchemaTypeWithMeta, isPayloadOfSchemaTypeWithSources, Payload } from '@xyo-network/payload-model'
|
|
2
2
|
|
|
3
|
-
import { DurationFields } from '../Duration/index.
|
|
4
|
-
import { DomainFields } from './Domain.
|
|
3
|
+
import { DurationFields } from '../Duration/index.ts'
|
|
4
|
+
import { DomainFields } from './Domain.ts'
|
|
5
5
|
|
|
6
6
|
export type DomainLeaseSchema = 'network.xyo.ns.domain.lease'
|
|
7
7
|
export const DomainLeaseSchema: DomainLeaseSchema = 'network.xyo.ns.domain.lease'
|
package/src/Domain/index.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from './Domain.
|
|
2
|
-
export * from './DomainLease.
|
|
1
|
+
export * from './Domain.ts'
|
|
2
|
+
export * from './DomainLease.ts'
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Address } from '@xylabs/hex'
|
|
2
2
|
import { isPayloadOfSchemaType, isPayloadOfSchemaTypeWithMeta, isPayloadOfSchemaTypeWithSources, Payload } from '@xyo-network/payload-model'
|
|
3
3
|
|
|
4
|
-
import { DomainFields, DomainSchema } from '../Domain/index.
|
|
4
|
+
import { DomainFields, DomainSchema } from '../Domain/index.ts'
|
|
5
5
|
|
|
6
6
|
export const DomainRegistrationSchema = `${DomainSchema}.registration` as const
|
|
7
7
|
export type DomainRegistrationSchema = typeof DomainRegistrationSchema
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { isPayloadOfSchemaType, isPayloadOfSchemaTypeWithMeta, isPayloadOfSchemaTypeWithSources, Payload } from '@xyo-network/payload-model'
|
|
2
2
|
|
|
3
|
-
import { DurationFields } from '../Duration/index.
|
|
4
|
-
import { DomainRegistrationFields, DomainRegistrationSchema } from './DomainRegistration.
|
|
3
|
+
import { DurationFields } from '../Duration/index.ts'
|
|
4
|
+
import { DomainRegistrationFields, DomainRegistrationSchema } from './DomainRegistration.ts'
|
|
5
5
|
|
|
6
6
|
export const DomainRegistrationLeaseSchema = `${DomainRegistrationSchema}.lease` as const
|
|
7
7
|
export type DomainRegistrationLeaseSchema = typeof DomainRegistrationLeaseSchema
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from './DomainRegistration.
|
|
2
|
-
export * from './DomainRegistrationLease.
|
|
1
|
+
export * from './DomainRegistration.ts'
|
|
2
|
+
export * from './DomainRegistrationLease.ts'
|
package/src/Duration/index.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from './Duration.
|
|
2
|
-
export * from './validation/index.
|
|
1
|
+
export * from './Duration.ts'
|
|
2
|
+
export * from './validation/index.ts'
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from './validateBoundWitnessWithDuration.
|
|
2
|
-
export * from './validateDuration.
|
|
1
|
+
export * from './validateBoundWitnessWithDuration.ts'
|
|
2
|
+
export * from './validateDuration.ts'
|
|
@@ -4,7 +4,7 @@ import { BoundWitnessValidator } from '@xyo-network/boundwitness-validator'
|
|
|
4
4
|
// BW Validations
|
|
5
5
|
export const validateBoundWitness = async (recordBw: BoundWitness, requiredSchemas: string[] = []): Promise<boolean> => {
|
|
6
6
|
// If the BW does not include all of the required schemas
|
|
7
|
-
if (!requiredSchemas.every(
|
|
7
|
+
if (!requiredSchemas.every(requiredSchema => recordBw.payload_schemas.includes(requiredSchema))) return false
|
|
8
8
|
// If the BW is valid (does not include any errors)
|
|
9
9
|
const validator = new BoundWitnessValidator(recordBw)
|
|
10
10
|
const errors = await validator.validate()
|