@xyo-network/xns-record-payload-plugins 7.0.1 → 7.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/neutral/Address/Payload.d.ts +2 -2
- package/dist/neutral/Dns/Witness/Payload/Request.d.ts +2 -2
- package/dist/neutral/Dns/Witness/Payload/Response.d.ts +2 -2
- package/dist/neutral/Domain/Domain.d.ts +2 -2
- package/dist/neutral/Domain/DomainLease.d.ts +2 -2
- package/dist/neutral/DomainRegistration/DomainRegistration.d.ts +2 -2
- package/dist/neutral/DomainRegistration/DomainRegistrationLease.d.ts +2 -2
- package/dist/neutral/Hash/Payload.d.ts +9 -9
- package/dist/neutral/diviner/DomainLeaseEstimateDiviner/ErrorDetails/Payload.d.ts +2 -2
- package/dist/neutral/index.mjs +10 -10
- package/dist/neutral/index.mjs.map +1 -1
- package/package.json +45 -44
|
@@ -54,7 +54,7 @@ export declare const asAddressRecord: {
|
|
|
54
54
|
domain: string;
|
|
55
55
|
tld: "xyo";
|
|
56
56
|
}) | undefined;
|
|
57
|
-
<T>(value: T, assert: import("@
|
|
57
|
+
<T>(value: T, assert: import("@ariestools/sdk").ZodFactoryConfig): T & {
|
|
58
58
|
schema: "network.xyo.ns.record.address" & {
|
|
59
59
|
readonly __schema: true;
|
|
60
60
|
};
|
|
@@ -80,7 +80,7 @@ export declare const toAddressRecord: {
|
|
|
80
80
|
domain: string;
|
|
81
81
|
tld: "xyo";
|
|
82
82
|
}) | undefined;
|
|
83
|
-
<T>(value: T, assert: import("@
|
|
83
|
+
<T>(value: T, assert: import("@ariestools/sdk").ZodFactoryConfig): T & {
|
|
84
84
|
schema: "network.xyo.ns.record.address" & {
|
|
85
85
|
readonly __schema: true;
|
|
86
86
|
};
|
|
@@ -71,7 +71,7 @@ export declare const asDNSRequest: {
|
|
|
71
71
|
RD?: boolean | 0 | 1 | undefined;
|
|
72
72
|
QDCOUNT?: number | undefined;
|
|
73
73
|
}) | undefined;
|
|
74
|
-
<T>(value: T, assert: import("@
|
|
74
|
+
<T>(value: T, assert: import("@ariestools/sdk").ZodFactoryConfig): T & {
|
|
75
75
|
schema: "network.xyo.dns" & {
|
|
76
76
|
readonly __schema: true;
|
|
77
77
|
};
|
|
@@ -115,7 +115,7 @@ export declare const toDNSRequest: {
|
|
|
115
115
|
RD?: boolean | 0 | 1 | undefined;
|
|
116
116
|
QDCOUNT?: number | undefined;
|
|
117
117
|
}) | undefined;
|
|
118
|
-
<T>(value: T, assert: import("@
|
|
118
|
+
<T>(value: T, assert: import("@ariestools/sdk").ZodFactoryConfig): T & {
|
|
119
119
|
schema: "network.xyo.dns" & {
|
|
120
120
|
readonly __schema: true;
|
|
121
121
|
};
|
|
@@ -130,7 +130,7 @@ export declare const asDNSResponse: {
|
|
|
130
130
|
data: string;
|
|
131
131
|
}[] | undefined;
|
|
132
132
|
}) | undefined;
|
|
133
|
-
<T>(value: T, assert: import("@
|
|
133
|
+
<T>(value: T, assert: import("@ariestools/sdk").ZodFactoryConfig): T & {
|
|
134
134
|
schema: "network.xyo.dns" & {
|
|
135
135
|
readonly __schema: true;
|
|
136
136
|
};
|
|
@@ -214,7 +214,7 @@ export declare const toDNSResponse: {
|
|
|
214
214
|
data: string;
|
|
215
215
|
}[] | undefined;
|
|
216
216
|
}) | undefined;
|
|
217
|
-
<T>(value: T, assert: import("@
|
|
217
|
+
<T>(value: T, assert: import("@ariestools/sdk").ZodFactoryConfig): T & {
|
|
218
218
|
schema: "network.xyo.dns" & {
|
|
219
219
|
readonly __schema: true;
|
|
220
220
|
};
|
|
@@ -45,7 +45,7 @@ export declare const asDomain: {
|
|
|
45
45
|
domain: string;
|
|
46
46
|
tld: "xyo";
|
|
47
47
|
}) | undefined;
|
|
48
|
-
<T>(value: T, assert: import("@
|
|
48
|
+
<T>(value: T, assert: import("@ariestools/sdk").ZodFactoryConfig): T & {
|
|
49
49
|
schema: "network.xyo.ns.domain" & {
|
|
50
50
|
readonly __schema: true;
|
|
51
51
|
};
|
|
@@ -61,7 +61,7 @@ export declare const toDomain: {
|
|
|
61
61
|
domain: string;
|
|
62
62
|
tld: "xyo";
|
|
63
63
|
}) | undefined;
|
|
64
|
-
<T>(value: T, assert: import("@
|
|
64
|
+
<T>(value: T, assert: import("@ariestools/sdk").ZodFactoryConfig): T & {
|
|
65
65
|
schema: "network.xyo.ns.domain" & {
|
|
66
66
|
readonly __schema: true;
|
|
67
67
|
};
|
|
@@ -48,7 +48,7 @@ export declare const asDomainLease: {
|
|
|
48
48
|
domain: string;
|
|
49
49
|
tld: "xyo";
|
|
50
50
|
}) | undefined;
|
|
51
|
-
<T>(value: T, assert: import("@
|
|
51
|
+
<T>(value: T, assert: import("@ariestools/sdk").ZodFactoryConfig): T & {
|
|
52
52
|
schema: "network.xyo.ns.domain.lease" & {
|
|
53
53
|
readonly __schema: true;
|
|
54
54
|
};
|
|
@@ -68,7 +68,7 @@ export declare const toDomainLease: {
|
|
|
68
68
|
domain: string;
|
|
69
69
|
tld: "xyo";
|
|
70
70
|
}) | undefined;
|
|
71
|
-
<T>(value: T, assert: import("@
|
|
71
|
+
<T>(value: T, assert: import("@ariestools/sdk").ZodFactoryConfig): T & {
|
|
72
72
|
schema: "network.xyo.ns.domain.lease" & {
|
|
73
73
|
readonly __schema: true;
|
|
74
74
|
};
|
|
@@ -77,7 +77,7 @@ export declare const asDomainRegistration: {
|
|
|
77
77
|
domain: string;
|
|
78
78
|
tld: "xyo";
|
|
79
79
|
}) | undefined;
|
|
80
|
-
<T>(value: T, assert: import("@
|
|
80
|
+
<T>(value: T, assert: import("@ariestools/sdk").ZodFactoryConfig): T & {
|
|
81
81
|
schema: string & {
|
|
82
82
|
readonly __schema: true;
|
|
83
83
|
};
|
|
@@ -113,7 +113,7 @@ export declare const toDomainRegistration: {
|
|
|
113
113
|
domain: string;
|
|
114
114
|
tld: "xyo";
|
|
115
115
|
}) | undefined;
|
|
116
|
-
<T>(value: T, assert: import("@
|
|
116
|
+
<T>(value: T, assert: import("@ariestools/sdk").ZodFactoryConfig): T & {
|
|
117
117
|
schema: string & {
|
|
118
118
|
readonly __schema: true;
|
|
119
119
|
};
|
|
@@ -85,7 +85,7 @@ export declare const asDomainRegistrationLease: {
|
|
|
85
85
|
domain: string;
|
|
86
86
|
tld: "xyo";
|
|
87
87
|
}) | undefined;
|
|
88
|
-
<T>(value: T, assert: import("@
|
|
88
|
+
<T>(value: T, assert: import("@ariestools/sdk").ZodFactoryConfig): T & {
|
|
89
89
|
schema: string & {
|
|
90
90
|
readonly __schema: true;
|
|
91
91
|
};
|
|
@@ -125,7 +125,7 @@ export declare const toDomainRegistrationLease: {
|
|
|
125
125
|
domain: string;
|
|
126
126
|
tld: "xyo";
|
|
127
127
|
}) | undefined;
|
|
128
|
-
<T>(value: T, assert: import("@
|
|
128
|
+
<T>(value: T, assert: import("@ariestools/sdk").ZodFactoryConfig): T & {
|
|
129
129
|
schema: string & {
|
|
130
130
|
readonly __schema: true;
|
|
131
131
|
};
|
|
@@ -4,7 +4,7 @@ export declare const HashRecordSchema: "network.xyo.ns.record.hash" & {
|
|
|
4
4
|
readonly __schema: true;
|
|
5
5
|
};
|
|
6
6
|
export declare const HashRecordFieldsZod: z.ZodMiniObject<{
|
|
7
|
-
hash: z.ZodMiniArray<z.ZodMiniPipe<z.ZodMiniString<string>, z.ZodMiniTransform<import("@
|
|
7
|
+
hash: z.ZodMiniArray<z.ZodMiniPipe<z.ZodMiniString<string>, z.ZodMiniTransform<import("@ariestools/sdk").BrandedHash, string>>>;
|
|
8
8
|
domain: z.ZodMiniString<string>;
|
|
9
9
|
tld: z.ZodMiniLiteral<"xyo">;
|
|
10
10
|
}, z.core.$strip>;
|
|
@@ -16,7 +16,7 @@ export declare const HashRecordZod: z.ZodMiniObject<{
|
|
|
16
16
|
schema: z.ZodMiniLiteral<"network.xyo.ns.record.hash" & {
|
|
17
17
|
readonly __schema: true;
|
|
18
18
|
}>;
|
|
19
|
-
hash: z.ZodMiniArray<z.ZodMiniPipe<z.ZodMiniString<string>, z.ZodMiniTransform<import("@
|
|
19
|
+
hash: z.ZodMiniArray<z.ZodMiniPipe<z.ZodMiniString<string>, z.ZodMiniTransform<import("@ariestools/sdk").BrandedHash, string>>>;
|
|
20
20
|
domain: z.ZodMiniString<string>;
|
|
21
21
|
tld: z.ZodMiniLiteral<"xyo">;
|
|
22
22
|
}, z.core.$strip>;
|
|
@@ -25,7 +25,7 @@ export declare const isHashRecord: <T>(value: T) => value is T & {
|
|
|
25
25
|
schema: "network.xyo.ns.record.hash" & {
|
|
26
26
|
readonly __schema: true;
|
|
27
27
|
};
|
|
28
|
-
hash: import("@
|
|
28
|
+
hash: import("@ariestools/sdk").BrandedHash[];
|
|
29
29
|
domain: string;
|
|
30
30
|
tld: "xyo";
|
|
31
31
|
};
|
|
@@ -34,15 +34,15 @@ export declare const asHashRecord: {
|
|
|
34
34
|
schema: "network.xyo.ns.record.hash" & {
|
|
35
35
|
readonly __schema: true;
|
|
36
36
|
};
|
|
37
|
-
hash: import("@
|
|
37
|
+
hash: import("@ariestools/sdk").BrandedHash[];
|
|
38
38
|
domain: string;
|
|
39
39
|
tld: "xyo";
|
|
40
40
|
}) | undefined;
|
|
41
|
-
<T>(value: T, assert: import("@
|
|
41
|
+
<T>(value: T, assert: import("@ariestools/sdk").ZodFactoryConfig): T & {
|
|
42
42
|
schema: "network.xyo.ns.record.hash" & {
|
|
43
43
|
readonly __schema: true;
|
|
44
44
|
};
|
|
45
|
-
hash: import("@
|
|
45
|
+
hash: import("@ariestools/sdk").BrandedHash[];
|
|
46
46
|
domain: string;
|
|
47
47
|
tld: "xyo";
|
|
48
48
|
};
|
|
@@ -52,15 +52,15 @@ export declare const toHashRecord: {
|
|
|
52
52
|
schema: "network.xyo.ns.record.hash" & {
|
|
53
53
|
readonly __schema: true;
|
|
54
54
|
};
|
|
55
|
-
hash: import("@
|
|
55
|
+
hash: import("@ariestools/sdk").BrandedHash[];
|
|
56
56
|
domain: string;
|
|
57
57
|
tld: "xyo";
|
|
58
58
|
}) | undefined;
|
|
59
|
-
<T>(value: T, assert: import("@
|
|
59
|
+
<T>(value: T, assert: import("@ariestools/sdk").ZodFactoryConfig): T & {
|
|
60
60
|
schema: "network.xyo.ns.record.hash" & {
|
|
61
61
|
readonly __schema: true;
|
|
62
62
|
};
|
|
63
|
-
hash: import("@
|
|
63
|
+
hash: import("@ariestools/sdk").BrandedHash[];
|
|
64
64
|
domain: string;
|
|
65
65
|
tld: "xyo";
|
|
66
66
|
};
|
|
@@ -44,7 +44,7 @@ export declare const asDomainLeaseEstimateDivinerValidationErrorDetails: {
|
|
|
44
44
|
detail?: string | undefined;
|
|
45
45
|
title?: string | undefined;
|
|
46
46
|
}) | undefined;
|
|
47
|
-
<T>(value: T, assert: import("@
|
|
47
|
+
<T>(value: T, assert: import("@ariestools/sdk").ZodFactoryConfig): T & {
|
|
48
48
|
schema: "network.xyo.diviner.ns.domain.registration.lease.estimate.validation.error.details" & {
|
|
49
49
|
readonly __schema: true;
|
|
50
50
|
};
|
|
@@ -62,7 +62,7 @@ export declare const toDomainLeaseEstimateDivinerValidationErrorDetails: {
|
|
|
62
62
|
detail?: string | undefined;
|
|
63
63
|
title?: string | undefined;
|
|
64
64
|
}) | undefined;
|
|
65
|
-
<T>(value: T, assert: import("@
|
|
65
|
+
<T>(value: T, assert: import("@ariestools/sdk").ZodFactoryConfig): T & {
|
|
66
66
|
schema: "network.xyo.diviner.ns.domain.registration.lease.estimate.validation.error.details" & {
|
|
67
67
|
readonly __schema: true;
|
|
68
68
|
};
|
package/dist/neutral/index.mjs
CHANGED
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
zodAsFactory as zodAsFactory3,
|
|
5
5
|
zodIsFactory as zodIsFactory3,
|
|
6
6
|
zodToFactory as zodToFactory3
|
|
7
|
-
} from "@
|
|
7
|
+
} from "@ariestools/sdk";
|
|
8
8
|
import { asSchema as asSchema3, PayloadZodOfSchema as PayloadZodOfSchema3 } from "@xyo-network/sdk";
|
|
9
9
|
import * as z4 from "zod/mini";
|
|
10
10
|
|
|
@@ -13,7 +13,7 @@ import {
|
|
|
13
13
|
zodAsFactory,
|
|
14
14
|
zodIsFactory,
|
|
15
15
|
zodToFactory
|
|
16
|
-
} from "@
|
|
16
|
+
} from "@ariestools/sdk";
|
|
17
17
|
import { asSchema, PayloadZodOfSchema } from "@xyo-network/sdk";
|
|
18
18
|
import * as z from "zod/mini";
|
|
19
19
|
var DomainSchema = asSchema("network.xyo.ns.domain", true);
|
|
@@ -38,7 +38,7 @@ import {
|
|
|
38
38
|
zodAsFactory as zodAsFactory2,
|
|
39
39
|
zodIsFactory as zodIsFactory2,
|
|
40
40
|
zodToFactory as zodToFactory2
|
|
41
|
-
} from "@
|
|
41
|
+
} from "@ariestools/sdk";
|
|
42
42
|
import { asSchema as asSchema2, PayloadZodOfSchema as PayloadZodOfSchema2 } from "@xyo-network/sdk";
|
|
43
43
|
import * as z3 from "zod/mini";
|
|
44
44
|
|
|
@@ -176,7 +176,7 @@ import {
|
|
|
176
176
|
zodAsFactory as zodAsFactory4,
|
|
177
177
|
zodIsFactory as zodIsFactory4,
|
|
178
178
|
zodToFactory as zodToFactory4
|
|
179
|
-
} from "@
|
|
179
|
+
} from "@ariestools/sdk";
|
|
180
180
|
import { PayloadZodOfSchema as PayloadZodOfSchema4 } from "@xyo-network/sdk";
|
|
181
181
|
import * as z5 from "zod/mini";
|
|
182
182
|
var ErrorDetailsZod = z5.object({
|
|
@@ -209,7 +209,7 @@ var toDomainLeaseEstimateDivinerValidationErrorDetails = zodToFactory4(
|
|
|
209
209
|
);
|
|
210
210
|
|
|
211
211
|
// src/diviner/lib/parseEstimatesFromArray.ts
|
|
212
|
-
import { exists, findAs } from "@
|
|
212
|
+
import { exists, findAs } from "@ariestools/sdk";
|
|
213
213
|
import { asHashLeaseEstimate, HashLeaseEstimateSchema } from "@xyo-network/diviner-hash-lease";
|
|
214
214
|
import { isBoundWitness, PayloadBuilder as PayloadBuilder2 } from "@xyo-network/sdk";
|
|
215
215
|
|
|
@@ -219,7 +219,7 @@ import {
|
|
|
219
219
|
zodAsFactory as zodAsFactory5,
|
|
220
220
|
zodIsFactory as zodIsFactory5,
|
|
221
221
|
zodToFactory as zodToFactory5
|
|
222
|
-
} from "@
|
|
222
|
+
} from "@ariestools/sdk";
|
|
223
223
|
import { asSchema as asSchema5, PayloadZodOfSchema as PayloadZodOfSchema5 } from "@xyo-network/sdk";
|
|
224
224
|
import * as z6 from "zod/mini";
|
|
225
225
|
var DomainRegistrationSchema = asSchema5(`${DomainSchema}.registration`, true);
|
|
@@ -244,7 +244,7 @@ import {
|
|
|
244
244
|
zodAsFactory as zodAsFactory6,
|
|
245
245
|
zodIsFactory as zodIsFactory6,
|
|
246
246
|
zodToFactory as zodToFactory6
|
|
247
|
-
} from "@
|
|
247
|
+
} from "@ariestools/sdk";
|
|
248
248
|
import { asSchema as asSchema6, PayloadZodOfSchema as PayloadZodOfSchema6 } from "@xyo-network/sdk";
|
|
249
249
|
import * as z7 from "zod/mini";
|
|
250
250
|
var DomainRegistrationLeaseSchema = asSchema6(`${DomainRegistrationSchema}.lease`, true);
|
|
@@ -853,7 +853,7 @@ import {
|
|
|
853
853
|
zodAsFactory as zodAsFactory7,
|
|
854
854
|
zodIsFactory as zodIsFactory7,
|
|
855
855
|
zodToFactory as zodToFactory7
|
|
856
|
-
} from "@
|
|
856
|
+
} from "@ariestools/sdk";
|
|
857
857
|
import { PayloadZodOfSchema as PayloadZodOfSchema7 } from "@xyo-network/sdk";
|
|
858
858
|
import * as z16 from "zod/mini";
|
|
859
859
|
var DNSRequestZod = z16.extend(PayloadZodOfSchema7(DNSSchema), { ...DNSRequestFieldsZod.shape });
|
|
@@ -869,7 +869,7 @@ import {
|
|
|
869
869
|
zodAsFactory as zodAsFactory8,
|
|
870
870
|
zodIsFactory as zodIsFactory8,
|
|
871
871
|
zodToFactory as zodToFactory8
|
|
872
|
-
} from "@
|
|
872
|
+
} from "@ariestools/sdk";
|
|
873
873
|
import { PayloadZodOfSchema as PayloadZodOfSchema8 } from "@xyo-network/sdk";
|
|
874
874
|
import * as z17 from "zod/mini";
|
|
875
875
|
var DNSResponseZod = z17.extend(PayloadZodOfSchema8(DNSSchema), { ...DNSResponseFieldsZod.shape });
|
|
@@ -883,7 +883,7 @@ import {
|
|
|
883
883
|
zodAsFactory as zodAsFactory9,
|
|
884
884
|
zodIsFactory as zodIsFactory9,
|
|
885
885
|
zodToFactory as zodToFactory9
|
|
886
|
-
} from "@
|
|
886
|
+
} from "@ariestools/sdk";
|
|
887
887
|
import { asSchema as asSchema9, PayloadZodOfSchema as PayloadZodOfSchema9 } from "@xyo-network/sdk";
|
|
888
888
|
import * as z18 from "zod/mini";
|
|
889
889
|
var HashRecordSchema = asSchema9("network.xyo.ns.record.hash", true);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/Address/Payload.ts", "../../src/Domain/Domain.ts", "../../src/Domain/DomainLease.ts", "../../src/Duration/Duration.ts", "../../src/Duration/validation/validateBoundWitness.ts", "../../src/Duration/validation/validateBoundWitnessAndDuration.ts", "../../src/Duration/validation/validateDuration.ts", "../../src/Duration/validation/validateBoundWitnessWithDuration.ts", "../../src/diviner/DomainLeaseEstimateDiviner/Schema.ts", "../../src/diviner/DomainLeaseEstimateDiviner/ErrorDetails/ErrorCodes.ts", "../../src/diviner/DomainLeaseEstimateDiviner/ErrorDetails/Payload.ts", "../../src/diviner/lib/parseEstimatesFromArray.ts", "../../src/DomainRegistration/DomainRegistration.ts", "../../src/DomainRegistration/DomainRegistrationLease.ts", "../../src/Dns/types/Answer.ts", "../../src/Dns/types/Record.ts", "../../src/Dns/types/ResourceRecord.ts", "../../src/Dns/types/Header.ts", "../../src/Dns/types/OperationCodes.ts", "../../src/Dns/types/ResponseCodes.ts", "../../src/Dns/types/Request.ts", "../../src/Dns/types/Response.ts", "../../src/Dns/Witness/Config.ts", "../../src/Dns/Witness/Schema.ts", "../../src/Dns/Witness/Payload/Request.ts", "../../src/Dns/Witness/Payload/Response.ts", "../../src/Hash/Payload.ts"],
|
|
4
|
-
"sourcesContent": ["import {\n AddressZod, zodAsFactory, zodIsFactory, zodToFactory,\n} from '@xylabs/sdk'\nimport { asSchema, PayloadZodOfSchema } from '@xyo-network/sdk'\nimport * as z from 'zod/mini'\n\nimport { DomainFieldsZod } from '../Domain/index.ts'\n\nexport type AddressRecordSchema = typeof AddressRecordSchema\nexport const AddressRecordSchema = asSchema('network.xyo.ns.record.address', true)\n\nexport const AddressRecordFieldsZod = z.object({\n ...DomainFieldsZod.shape,\n /**\n * The address the record points to\n */\n address: z.array(AddressZod),\n})\n\nexport type AddressRecordFields = z.infer<typeof AddressRecordFieldsZod>\n\n/**\n * An address record points a domain to an address\n */\nexport const AddressRecordZod = z.extend(PayloadZodOfSchema(AddressRecordSchema), { ...AddressRecordFieldsZod.shape })\n\nexport type AddressRecord = z.infer<typeof AddressRecordZod>\n\nexport const isAddressRecord = zodIsFactory(AddressRecordZod)\nexport const asAddressRecord = zodAsFactory(AddressRecordZod, 'asAddressRecord')\nexport const toAddressRecord = zodToFactory(AddressRecordZod, 'toAddressRecord')\n", "import {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@xylabs/sdk'\nimport { asSchema, PayloadZodOfSchema } from '@xyo-network/sdk'\nimport * as z from 'zod/mini'\n\nexport type DomainSchema = typeof DomainSchema\nexport const DomainSchema = asSchema('network.xyo.ns.domain', true)\n\n/**\n * The supported TLDs for XNS\n */\nexport const TopLevelDomainZod = z.literal('xyo')\n\nexport type TopLevelDomain = z.infer<typeof TopLevelDomainZod>\n\n/**\n * The fields for a domain record\n */\nexport const DomainFieldsZod = z.object({\n /**\n * The XNS domain of the record\n */\n domain: z.string(),\n\n /**\n * The Top-Level Domain of the domain\n */\n tld: TopLevelDomainZod,\n})\n\nexport type DomainFields = z.infer<typeof DomainFieldsZod>\n\n/**\n * A domain record is a record of a domain\n */\nexport const DomainZod = z.extend(PayloadZodOfSchema(DomainSchema), { ...DomainFieldsZod.shape })\n\nexport type Domain = z.infer<typeof DomainZod>\n\n/**\n * Identity function for Domain payload\n */\nexport const isDomain = zodIsFactory(DomainZod)\nexport const asDomain = zodAsFactory(DomainZod, 'asDomain')\nexport const toDomain = zodToFactory(DomainZod, 'toDomain')\n", "import {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@xylabs/sdk'\nimport { asSchema, PayloadZodOfSchema } from '@xyo-network/sdk'\nimport * as z from 'zod/mini'\n\nimport { DurationFieldsZod } from '../Duration/index.ts'\nimport { DomainFieldsZod } from './Domain.ts'\n\nexport type DomainLeaseSchema = typeof DomainLeaseSchema\nexport const DomainLeaseSchema = asSchema('network.xyo.ns.domain.lease', true)\n\n/**\n * A domain is leased for a duration\n */\nexport const DomainLeaseFieldsZod = z.object({\n ...DomainFieldsZod.shape,\n ...DurationFieldsZod.shape,\n})\n\nexport type DomainLeaseFields = z.infer<typeof DomainLeaseFieldsZod>\n\n/**\n * A domain lease is a record of a domain and the duration it is leased for\n */\nexport const DomainLeaseZod = z.extend(PayloadZodOfSchema(DomainLeaseSchema), { ...DomainLeaseFieldsZod.shape })\n\nexport type DomainLease = z.infer<typeof DomainLeaseZod>\n\n/**\n * Identity function for DomainLease payload\n */\nexport const isDomainLease = zodIsFactory(DomainLeaseZod)\nexport const asDomainLease = zodAsFactory(DomainLeaseZod, 'asDomainLease')\nexport const toDomainLease = zodToFactory(DomainLeaseZod, 'toDomainLease')\n", "import * as z from 'zod/mini'\n\nexport const DurationFieldsZod = z.object({\n /**\n * A timestamp that indicates the expiration time of the record\n */\n exp: z.number(),\n\n /**\n * A timestamp that indicates the time before which the record is not valid\n */\n nbf: z.number(),\n})\n\nexport type DurationFields = z.infer<typeof DurationFieldsZod>\n", "import type { BoundWitness, Schema } from '@xyo-network/sdk'\nimport { BoundWitnessValidator } from '@xyo-network/sdk'\n\n// BW Validations\nexport const validateBoundWitness = async (recordBw: BoundWitness, requiredSchemas: Schema[] = []): Promise<boolean> => {\n // If the BW does not include all of the required schemas\n if (requiredSchemas.some(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 type { BoundWitness, Payload } from '@xyo-network/sdk'\nimport { PayloadBuilder } from '@xyo-network/sdk'\n\nimport type { 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 return (recordIsTemporallyValidToBoundWitness(recordBw, recordPayload))\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\n// TODO: Use sequence for this?\nconst recordIsTemporallyValidToBoundWitness = (_recordBw: BoundWitness, _recordPayload: Payload<DurationFields>): boolean => {\n /* const { timestamp } = recordBw\n const { exp } = recordPayload\n return exp > timestamp */\n return true\n}\n", "import type { Payload } from '@xyo-network/sdk'\n\nimport type { DurationFields } from '../Duration.ts'\n\n// Record Validations\nexport const validateDuration = (recordPayload: Payload<DurationFields>): boolean => {\n // if (!isValidAddress(recordPayload)) return false\n return isWithinDelegatedTimeframe(recordPayload)\n}\n\nexport const isWithinDelegatedTimeframe = (recordPayload: Payload<DurationFields>, now = Date.now()): boolean => {\n // nbf < now < exp\n return recordPayload.nbf < now && now < recordPayload.exp\n}\n", "import type { BoundWitness, Payload } from '@xyo-network/sdk'\n\nimport type { 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 return (await validateBoundWitnessAndDuration(recordBw, recordPayload))\n}\n", "import { asSchema } from '@xyo-network/sdk'\n\nexport const DomainLeaseEstimateDivinerValidationErrorDetailsSchema\n = asSchema('network.xyo.diviner.ns.domain.registration.lease.estimate.validation.error.details', true)\n\nexport type DomainLeaseEstimateDivinerValidationErrorDetailsSchema = typeof DomainLeaseEstimateDivinerValidationErrorDetailsSchema\n", "import { DomainLeaseEstimateDivinerValidationErrorDetailsSchema } from '../Schema.ts'\nimport type { 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: {\n code: '0', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Success',\n },\n 1: {\n code: '1', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Invalid casing',\n },\n 2: {\n code: '2', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Invalid coin signature',\n },\n 3: {\n code: '3', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Invalid length',\n },\n 4: {\n code: '4', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Invalid name',\n },\n 5: {\n code: '5', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Reserved fragment',\n },\n 6: {\n code: '6', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Reserved name',\n },\n 7: {\n code: '7', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Reserved string',\n },\n 8: {\n code: '8', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Invalid TLD',\n },\n} as const\n", "import {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@xylabs/sdk'\nimport { PayloadZodOfSchema } from '@xyo-network/sdk'\nimport * as z from 'zod/mini'\n\nimport { DomainLeaseEstimateDivinerValidationErrorDetailsSchema } from '../Schema.ts'\n\nexport const ErrorDetailsZod = z.object({\n /**\n * A string code indicating the error type.\n */\n code: z.optional(z.string()),\n /**\n * A human-readable explanation specific to this occurrence of the problem\n */\n detail: z.optional(z.string()),\n /**\n * A short, human-readable summary of the problem type.\n */\n title: z.optional(z.string()),\n})\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 const DomainLeaseEstimateDivinerValidationErrorDetailsZod = z.extend(\n PayloadZodOfSchema(DomainLeaseEstimateDivinerValidationErrorDetailsSchema),\n { ...ErrorDetailsZod.shape },\n)\n\nexport type DomainLeaseEstimateDivinerValidationErrorDetails<TErrorCode extends string | undefined = string>\n = Omit<z.infer<typeof DomainLeaseEstimateDivinerValidationErrorDetailsZod>, keyof ErrorDetails> & ErrorDetails<TErrorCode>\n\n/**\n * Identity function for DomainLeaseEstimateDivinerValidationErrorDetails payload\n */\nconst baseIsDomainLeaseEstimateDivinerValidationErrorDetails = zodIsFactory(DomainLeaseEstimateDivinerValidationErrorDetailsZod)\nexport const isDomainLeaseEstimateDivinerValidationErrorDetails = <TErrorCode extends string | undefined = string>(\n x?: unknown,\n): x is DomainLeaseEstimateDivinerValidationErrorDetails<TErrorCode> => baseIsDomainLeaseEstimateDivinerValidationErrorDetails(x)\nexport const asDomainLeaseEstimateDivinerValidationErrorDetails = zodAsFactory(\n DomainLeaseEstimateDivinerValidationErrorDetailsZod,\n 'asDomainLeaseEstimateDivinerValidationErrorDetails',\n)\nexport const toDomainLeaseEstimateDivinerValidationErrorDetails = zodToFactory(\n DomainLeaseEstimateDivinerValidationErrorDetailsZod,\n 'toDomainLeaseEstimateDivinerValidationErrorDetails',\n)\n", "import { exists, findAs } from '@xylabs/sdk'\nimport type { HashLeaseEstimate } from '@xyo-network/diviner-hash-lease'\nimport { asHashLeaseEstimate, HashLeaseEstimateSchema } from '@xyo-network/diviner-hash-lease'\nimport type {\n BoundWitness,\n Payload, Schema, WithSources,\n} from '@xyo-network/sdk'\nimport { isBoundWitness, PayloadBuilder } from '@xyo-network/sdk'\n\nimport type { DomainRegistrationLease } from '../../DomainRegistration/index.ts'\nimport { asDomainRegistrationLease, DomainRegistrationLeaseSchema } from '../../DomainRegistration/index.ts'\n\nexport type Estimate = [\n BoundWitness,\n WithSources<HashLeaseEstimate>,\n WithSources<DomainRegistrationLease>,\n]\n\n/**\n * Parses a generic array of payloads into estimates\n * @param payloads An array of payloads\n * @returns Parsed estimates\n */\nexport const parseEstimatesFromArray = async (payloads?: Payload[]): Promise<Estimate[]> => {\n if (!payloads) return []\n const bws = payloads\n // Find all bound witnesses\n .filter(isBoundWitness)\n // that have the required estimate payloads\n .filter(hasEstimatePayloads) ?? []\n if (bws.length === 0) return []\n const hashMap = await PayloadBuilder.toAllHashMap(payloads)\n return bws.map<Estimate | undefined>((bw) => {\n const hashLeaseEstimate = getPayloadBySchemaFromBoundWitness<WithSources<HashLeaseEstimate>>(\n bw,\n HashLeaseEstimateSchema,\n hashMap,\n asHashLeaseEstimate,\n )\n if (!hashLeaseEstimate) return\n const domainLease = getPayloadBySchemaFromBoundWitness<WithSources<DomainRegistrationLease>>(\n bw,\n DomainRegistrationLeaseSchema,\n hashMap,\n asDomainRegistrationLease,\n )\n if (!domainLease) return\n return [bw, hashLeaseEstimate, domainLease]\n }).filter(exists)\n}\n\n/**\n * Tests if a BoundWitness has the required estimate payloads\n * @param bw The BoundWitness to check for estimate payloads\n * @returns True if the BoundWitness has the required estimate payloads, false otherwise\n */\nconst hasEstimatePayloads = (bw: BoundWitness): boolean => {\n return bw.payload_schemas.includes(DomainRegistrationLeaseSchema)\n && bw.payload_schemas.includes(HashLeaseEstimateSchema)\n}\n\n/**\n * Finds the first instance of a payload in a BoundWitness by schema\n * @param bw The BoundWitness to extract the payload from\n * @param schema The schema of the payload to extract\n * @param hashMap The hashmap of the payloads\n * @param identity An identity function to check if the payload is of the correct type\n * @returns The payload if it exists or undefined\n */\nconst getPayloadBySchemaFromBoundWitness = <T extends Payload = Payload>(\n bw: BoundWitness,\n schema: Schema,\n hashMap: Record<string, Payload>,\n identity: (payload: Payload) => T,\n): T | undefined => {\n const schemaIndex = bw.payload_schemas.indexOf(schema)\n if (schemaIndex === -1) return\n const hash: string = bw.payload_hashes[schemaIndex]\n return findAs([hashMap[hash]], identity)\n}\n", "import {\n AddressZod, zodAsFactory, zodIsFactory, zodToFactory,\n} from '@xylabs/sdk'\nimport { asSchema, PayloadZodOfSchema } from '@xyo-network/sdk'\nimport * as z from 'zod/mini'\n\nimport { DomainFieldsZod, DomainSchema } from '../Domain/index.ts'\n\nexport const DomainRegistrationSchema = asSchema(`${DomainSchema}.registration`, true)\nexport type DomainRegistrationSchema = typeof DomainRegistrationSchema\n\nexport const DomainRegistrationFieldsZod = z.object({\n ...DomainFieldsZod.shape,\n /**\n * The registrant of the domain\n */\n registrant: z.array(AddressZod),\n /**\n * The registrar of the domain\n */\n registrar: z.array(AddressZod),\n})\n\nexport type DomainRegistrationFields = z.infer<typeof DomainRegistrationFieldsZod>\n\n/**\n * Delegation of a domain to a registrar by a registrant\n */\nexport const DomainRegistrationZod = z.extend(PayloadZodOfSchema(DomainRegistrationSchema), { ...DomainRegistrationFieldsZod.shape })\n\nexport type DomainRegistration = z.infer<typeof DomainRegistrationZod>\n\n/**\n * Identity function for DomainRegistration payload\n */\nexport const isDomainRegistration = zodIsFactory(DomainRegistrationZod)\nexport const asDomainRegistration = zodAsFactory(DomainRegistrationZod, 'asDomainRegistration')\nexport const toDomainRegistration = zodToFactory(DomainRegistrationZod, 'toDomainRegistration')\n", "import {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@xylabs/sdk'\nimport { asSchema, PayloadZodOfSchema } from '@xyo-network/sdk'\nimport * as z from 'zod/mini'\n\nimport { DurationFieldsZod } from '../Duration/index.ts'\nimport { DomainRegistrationFieldsZod, DomainRegistrationSchema } from './DomainRegistration.ts'\n\nexport const DomainRegistrationLeaseSchema = asSchema(`${DomainRegistrationSchema}.lease`, true)\nexport type DomainRegistrationLeaseSchema = typeof DomainRegistrationLeaseSchema\n\nexport const DomainRegistrationLeaseFieldsZod = z.object({\n ...DomainRegistrationFieldsZod.shape,\n ...DurationFieldsZod.shape,\n})\n\nexport type DomainRegistrationLeaseFields = z.infer<typeof DomainRegistrationLeaseFieldsZod>\n\n/**\n * Temporal delegation of a domain to a registrar by a registrant\n */\nexport const DomainRegistrationLeaseZod = z.extend(PayloadZodOfSchema(DomainRegistrationLeaseSchema), { ...DomainRegistrationLeaseFieldsZod.shape })\n\nexport type DomainRegistrationLease = z.infer<typeof DomainRegistrationLeaseZod>\n\n/**\n * Identity function for DomainRegistrationLease payload\n */\nexport const isDomainRegistrationLease = zodIsFactory(DomainRegistrationLeaseZod)\nexport const asDomainRegistrationLease = zodAsFactory(DomainRegistrationLeaseZod, 'asDomainRegistrationLease')\nexport const toDomainRegistrationLease = zodToFactory(DomainRegistrationLeaseZod, 'toDomainRegistrationLease')\n", "import * as z from 'zod/mini'\n\nimport { DNSRecordZod } from './Record.ts'\n\n// `class` is the query class (typically 1 for IN - Internet)\nexport const DNSAnswerZod = z.extend(DNSRecordZod, { class: z.optional(z.number()) })\n\nexport type DNSAnswer = z.infer<typeof DNSAnswerZod>\n", "import * as z from 'zod/mini'\n\nimport { DNSResourceRecordTypeValueZod } from './ResourceRecord.ts'\n\nexport const DNSRecordZod = z.object({\n name: z.string(), // The domain name that was queried\n type: DNSResourceRecordTypeValueZod, // The record type (e.g., 1 for A record)\n TTL: z.number(), // Time to Live (how long the record can be cached)\n data: z.string(), // The actual data, such as an IP address or TXT record\n})\n\nexport type DNSRecord = z.infer<typeof DNSRecordZod>\n", "// https://www.iana.org/assignments/dns-parameters/dns-parameters.xhtml#dns-parameters-4\n\nimport * as z from 'zod/mini'\n\nexport const DNSResourceRecordTypeZod = z.enum([\n 'A',\n 'NS',\n 'MD',\n 'MF',\n 'CNAME',\n 'SOA',\n 'MB',\n 'MG',\n 'MR',\n 'NULL',\n 'WKS',\n 'PTR',\n 'HINFO',\n 'MINFO',\n 'MX',\n 'TXT',\n 'RP',\n 'AFSDB',\n 'X25',\n 'ISDN',\n 'RT',\n 'NSAP',\n 'NSAP-PTR',\n 'SIG',\n 'KEY',\n 'PX',\n 'GPOS',\n 'AAAA',\n 'LOC',\n 'NXT',\n 'EID',\n 'NIMLOC',\n 'SRV',\n 'ATMA',\n 'NAPTR',\n 'KX',\n 'CERT',\n 'A6',\n 'DNAME',\n 'SINK',\n 'OPT',\n 'APL',\n 'DS',\n 'SSHFP',\n 'IPSECKEY',\n 'RRSIG',\n 'NSEC',\n 'DNSKEY',\n 'DHCID',\n 'NSEC3',\n 'NSEC3PARAM',\n 'TLSA',\n 'SMIMEA',\n 'HIP',\n 'NINFO',\n 'RKEY',\n 'TALINK',\n 'CDS',\n 'CDNSKEY',\n 'OPENPGPKEY',\n 'CSYNC',\n 'ZONEMD',\n 'SVCB',\n 'HTTPS',\n 'SPF',\n 'UINFO',\n 'UID',\n 'GID',\n 'UNSPEC',\n 'NID',\n 'L32',\n 'L64',\n 'LP',\n 'EUI48',\n 'EUI64',\n 'NXNAME',\n 'TKEY',\n 'TSIG',\n 'IXFR',\n 'AXFR',\n 'MAILB',\n 'MAILA',\n '*',\n 'URI',\n 'CAA',\n 'AVC',\n 'DOA',\n 'AMTRELAY',\n 'RESINFO',\n 'WALLET',\n 'CLA',\n 'IPN',\n 'TA',\n 'DLV',\n // Custom types here\n 'XYOA',\n 'XYOH',\n])\n\nexport type DNSResourceRecordType = z.infer<typeof DNSResourceRecordTypeZod>\n\nexport const DNSResourceRecordTypes: Readonly<Record<DNSResourceRecordType, number>> = {\n 'A': 1, // a host address\n 'NS': 2, // an authoritative name server\n 'MD': 3, // a mail destination (OBSOLETE - use MX)\n 'MF': 4, // a mail forwarder (OBSOLETE - use MX)\n 'CNAME': 5, // the canonical name for an alias\n 'SOA': 6, // marks the start of a zone of authority\n 'MB': 7, // a mailbox domain name (EXPERIMENTAL)\n 'MG': 8, // a mail group member (EXPERIMENTAL)\n 'MR': 9, // a mail rename domain name (EXPERIMENTAL)\n 'NULL': 10, // a null RR (EXPERIMENTAL)\n 'WKS': 11, // a well known service description\n 'PTR': 12, // a domain name pointer\n 'HINFO': 13, // host information\n 'MINFO': 14, // mailbox or mail list information\n 'MX': 15, // mail exchange\n 'TXT': 16, // text strings\n 'RP': 17, // for Responsible Person\n 'AFSDB': 18, // for AFS Data Base location\n 'X25': 19, // for X.25 PSDN address\n 'ISDN': 20, // for ISDN address\n 'RT': 21, // for Route Through\n 'NSAP': 22, // for NSAP address, NSAP style A record (DEPRECATED)\n 'NSAP-PTR': 23, // for domain name pointer, NSAP style (DEPRECATED)\n 'SIG': 24, // for security signature\n 'KEY': 25, // for security key\n 'PX': 26, // X.400 mail mapping information\n 'GPOS': 27, // Geographical Position\n 'AAAA': 28, // IP6 Address\n 'LOC': 29, // Location Information\n 'NXT': 30, // Next Domain (OBSOLETE)\n 'EID': 31, // Endpoint Identifier\n 'NIMLOC': 32, // Nimrod Locator\n 'SRV': 33, // Server Selection\n 'ATMA': 34, // ATM Address\n 'NAPTR': 35, // Naming Authority Pointer\n 'KX': 36, // Key Exchanger\n 'CERT': 37, // CERT\n 'A6': 38, // A6 (OBSOLETE - use AAAA)\n 'DNAME': 39, // DNAME\n 'SINK': 40, // SINK\n 'OPT': 41, // OPT\n 'APL': 42, // APL\n 'DS': 43, // Delegation Signer\n 'SSHFP': 44, // SSH Key Fingerprint\n 'IPSECKEY': 45, // IPSECKEY\n 'RRSIG': 46, // RRSIG\n 'NSEC': 47, // NSEC\n 'DNSKEY': 48, // DNSKEY\n 'DHCID': 49, // DHCID\n 'NSEC3': 50, // NSEC3\n 'NSEC3PARAM': 51, // NSEC3PARAM\n 'TLSA': 52, // TLSA\n 'SMIMEA': 53, // S/MIME cert association\n 'HIP': 55, // Host Identity Protocol\n 'NINFO': 56, // NINFO\n 'RKEY': 57, // RKEY\n 'TALINK': 58, // Trust Anchor LINK\n 'CDS': 59, // Child DS\n 'CDNSKEY': 60, // DNSKEY(s) the Child wants reflected in DS\n 'OPENPGPKEY': 61, // OpenPGP Key\n 'CSYNC': 62, // Child-To-Parent Synchronization\n 'ZONEMD': 63, // Message Digest Over Zone Data\n 'SVCB': 64, // General-purpose service binding\n 'HTTPS': 65, // SVCB-compatible type for use with HTTP\n 'SPF': 99,\n 'UINFO': 100,\n 'UID': 101,\n 'GID': 102,\n 'UNSPEC': 103,\n 'NID': 104,\n 'L32': 105,\n 'L64': 106,\n 'LP': 107,\n 'EUI48': 108, // an EUI-48 address\n 'EUI64': 109, // an EUI-64 address\n 'NXNAME': 128, // NXDOMAIN indicator for Compact Denial of Existence\n 'TKEY': 249, // Transaction Key\n 'TSIG': 250, // Transaction Signature\n 'IXFR': 251, // incremental transfer\n 'AXFR': 252, // transfer of an entire zone\n 'MAILB': 253, // mailbox-related RRs (MB, MG or MR)\n 'MAILA': 254, // mail agent RRs (OBSOLETE - see MX)\n '*': 255, // A request for some or all records the server has available\n 'URI': 256, // URI\n 'CAA': 257, // Certification Authority Restriction\n 'AVC': 258, // Application Visibility and Control\n 'DOA': 259, // Digital Object Architecture\n 'AMTRELAY': 260, // Automatic Multicast Tunneling Relay\n 'RESINFO': 261, // Resolver Information as Key/Value Pairs\n 'WALLET': 262, // Public wallet address\n 'CLA': 263, // BP Convergence Layer Adapter\n 'IPN': 264, // BP Node Number\n 'TA': 32_768, // DNSSEC Trust Authorities\n 'DLV': 32_769, // DNSSEC Lookaside Validation (OBSOLETE)\n\n // Custom types here chosen within the Private Use Range\n // https://www.iana.org/assignments/dns-parameters/dns-parameters.xhtml#dns-parameters-4\n // https://www.rfc-editor.org/rfc/rfc5226\n // as, per the RFC, the Private Use Range is reserved\n // \"For private or local use only, with the type and\n // purpose defined by the local site. No attempt is made to\n // prevent multiple sites from using the same value in\n // different (and incompatible) ways. There is no need for\n // IANA to review such assignments (since IANA does not record\n // them) and assignments are not generally useful for broad\n // interoperability. It is the responsibility of the sites\n // making use of the Private Use range to ensure that no\n // conflicts occur (within the intended scope of use).\"\n // If we want to apply for a custom reserved code later\n // on, once the usage is proven enough we can absolutely\n // do that.\n 'XYOA': 65_432, // XYO Address\n 'XYOH': 65_433, // XYO Hash\n}\n\nexport const DNSResourceRecordTypeValueZod = z.number()\n\nexport type DNSResourceRecordTypeValue = (typeof DNSResourceRecordTypes)[keyof typeof DNSResourceRecordTypes]\n\nexport const findDNSResourceRecordTypesByValue = (value: DNSResourceRecordTypeValue): DNSResourceRecordType | undefined => {\n // Iterate through the keys of the record\n for (const key in DNSResourceRecordTypes) {\n const resourceRecordType = key as DNSResourceRecordType\n if (DNSResourceRecordTypes[resourceRecordType] === value) {\n return resourceRecordType // Return the key if the value matches\n }\n }\n return undefined // Return undefined if no matching value is found\n}\n", "// An attempt to match compatibility with the RFC 8427 (Representing DNS Messages in JSON)\n// https://www.rfc-editor.org/rfc/rfc8427\n// and Google/CloudFlare's DNS over HTTPS (DoH) standard\n// https://developers.cloudflare.com/1.1.1.1/encryption/dns-over-https/make-api-requests/dns-json/\n\nimport * as z from 'zod/mini'\n\nimport { DNSQueryOpcodes, DNSQueryOpcodeZod } from './OperationCodes.ts'\nimport { DNSRcodes, DNSRcodeZod } from './ResponseCodes.ts'\n\n// The RFC says `Boolean` but uses 0/1 for the values. DNS over HTTPS (DoH) uses `true`/`false`.\nexport const NumericBooleanZod = z.union([z.literal(0), z.literal(1), z.literal(true), z.literal(false)])\nexport type NumericBoolean = z.infer<typeof NumericBooleanZod>\n\nexport const NumericBooleanFalsyZod = z.union([z.literal(0), z.literal(false)])\nexport type NumericBooleanFalsy = z.infer<typeof NumericBooleanFalsyZod>\n\nexport const NumericBooleanTruthyZod = z.union([z.literal(1), z.literal(true)])\nexport type NumericBooleanTruthy = z.infer<typeof NumericBooleanTruthyZod>\n\nexport const DNSHeaderZod = z.object({\n /**\n * Transaction ID, typically a random number. Integer whose value is 0 to 65535\n */\n ID: z.optional(z.number()),\n /**\n * Query/Response Flag (0 = Query, 1 = Response)\n */\n QR: z.optional(NumericBooleanZod),\n /**\n * Operation Code (0 for standard query)\n */\n Opcode: z.optional(DNSQueryOpcodeZod),\n /**\n * Authoritative Answer (set in response)\n */\n AA: z.optional(NumericBooleanZod),\n /**\n * Truncated Flag\n */\n TC: z.optional(NumericBooleanZod), // Truncation\n /**\n * Recursion Desired\n */\n RD: z.optional(NumericBooleanZod), // Recursion Desired (set in query)\n /**\n * Response Code (0 for no error, non-0 for errors)\n */\n RCODE: z.optional(DNSRcodeZod),\n /**\n * Number of questions in the query (usually 1)\n */\n QDCOUNT: z.optional(z.number()),\n /**\n * Number of answer records in the response\n */\n ANCOUNT: z.optional(z.number()),\n /**\n * Number of authority records in the response\n */\n NSCOUNT: z.optional(z.number()),\n /**\n * Number of additional records in the response\n */\n ARCOUNT: z.optional(z.number()),\n})\n\nexport type DNSHeader = z.infer<typeof DNSHeaderZod>\n\nexport const DNSRequestHeaderZod = z.extend(DNSHeaderZod, {\n QR: NumericBooleanFalsyZod, // Query/Response Flag (0 = Query)\n Opcode: DNSQueryOpcodeZod, // Operation Code (0 for standard query)\n AA: NumericBooleanFalsyZod, // Authoritative Answer (0 in query)\n TC: NumericBooleanFalsyZod, // Truncation (0 for non-truncated)\n RCODE: z.literal(DNSRcodes.NOERROR), // Response Code (always 0 in query)\n ANCOUNT: z.literal(0), // Number of answer records (always 0 in query)\n NSCOUNT: z.literal(0), // Number of authority records (always 0 in query)\n ARCOUNT: z.literal(0), // Number of additional records (always 0 in query)\n})\n\nexport type DNSRequestHeader = z.infer<typeof DNSRequestHeaderZod>\n\nexport const StandardRequestHeader: Readonly<DNSRequestHeader> = {\n ID: 0,\n QR: 0, // Query/Response Flag (0 = Query)\n Opcode: DNSQueryOpcodes.QUERY, // Operation Code (0 for standard query)\n AA: 0, // Authoritative Answer (0 in query)\n TC: 0, // Truncation (0 for non-truncated)\n RD: 1, // Recursion Desired (1 if recursion is requested)\n RCODE: DNSRcodes.NOERROR, // Response Code (always 0 in query)\n QDCOUNT: 1,\n ANCOUNT: 0,\n NSCOUNT: 0,\n ARCOUNT: 0,\n}\n\nexport const DNSResponseHeaderZod = z.extend(DNSHeaderZod, {\n QR: NumericBooleanTruthyZod, // Query/Response Flag (1 = Response)\n Opcode: DNSQueryOpcodeZod, // Operation Code (0 for standard query)\n AA: NumericBooleanZod, // Authoritative Answer (1 if the response is authoritative)\n TC: NumericBooleanZod, // Truncation (1 if the message is truncated)\n RA: NumericBooleanZod, // Recursion Available (1 if the server supports recursion)\n})\n\nexport type DNSResponseHeader = z.infer<typeof DNSResponseHeaderZod>\n", "import * as z from 'zod/mini'\n\nexport const DNSQueryOpcodeZod = z.union([\n z.literal(0),\n z.literal(1),\n z.literal(2),\n z.literal(4),\n z.literal(5),\n z.literal(6),\n]) // Supported opcodes as numeric values\n\nexport type DNSQueryOpcode = z.infer<typeof DNSQueryOpcodeZod>\n\n// Optional: Add a more descriptive union type for the opcodes.\nexport const DNSQueryOpcodeNameZod = z.enum(['QUERY', 'IQUERY', 'STATUS', 'NOTIFY', 'UPDATE', 'DSO'])\n\nexport type DNSQueryOpcodeName = z.infer<typeof DNSQueryOpcodeNameZod>\n\nexport const DNSQueryOpcodes: Record<DNSQueryOpcodeName, DNSQueryOpcode> = {\n QUERY: 0,\n IQUERY: 1,\n STATUS: 2,\n NOTIFY: 4,\n UPDATE: 5,\n DSO: 6,\n}\n", "import * as z from 'zod/mini'\n\nexport const DNSRcodeZod = z.union([\n z.literal(0),\n z.literal(1),\n z.literal(2),\n z.literal(3),\n z.literal(4),\n z.literal(5),\n z.literal(6),\n z.literal(7),\n z.literal(8),\n z.literal(9),\n z.literal(10),\n z.literal(16),\n z.literal(17),\n z.literal(18),\n])\n\nexport type DNSRcode = z.infer<typeof DNSRcodeZod>\n\nexport const DNSRcodeNameZod = z.enum([\n 'NOERROR',\n 'FORMERR',\n 'SERVFAIL',\n 'NXDOMAIN',\n 'NOTIMP',\n 'REFUSED',\n 'YXDOMAIN',\n 'YXRRSET',\n 'NXRRSET',\n 'NOTAUTH',\n 'NOTZONE',\n 'BADSIG',\n 'BADKEY',\n 'BADTIME',\n])\n\nexport type DNSRcodeName = z.infer<typeof DNSRcodeNameZod>\n\nexport const DNSRcodes: Readonly<Record<DNSRcodeName, DNSRcode>> = {\n NOERROR: 0,\n FORMERR: 1,\n SERVFAIL: 2,\n NXDOMAIN: 3,\n NOTIMP: 4,\n REFUSED: 5,\n YXDOMAIN: 6,\n YXRRSET: 7,\n NXRRSET: 8,\n NOTAUTH: 9,\n NOTZONE: 10,\n BADSIG: 16,\n BADKEY: 17,\n BADTIME: 18,\n}\n", "import * as z from 'zod/mini'\n\nimport { DNSRequestHeaderZod, StandardRequestHeader } from './Header.ts'\nimport type { DNSResourceRecordTypeValue } from './ResourceRecord.ts'\nimport { DNSResourceRecordTypes, DNSResourceRecordTypeValueZod } from './ResourceRecord.ts'\n\nexport const DNSQuestionZod = z.object({\n name: z.string(), // The domain name that was queried\n type: DNSResourceRecordTypeValueZod, // The record type (e.g., 1 for A record)\n class: z.optional(z.number()), // Query Class (typically 1 for IN - Internet)\n})\n\nexport type DNSQuestion = z.infer<typeof DNSQuestionZod>\n\nexport const DNSRequestFieldsZod = z.extend(DNSRequestHeaderZod, { Question: z.array(DNSQuestionZod) })\n\nexport type DNSRequestFields = z.infer<typeof DNSRequestFieldsZod>\n\n/**\n * Helper for generating a DNS request for a given domain and record type\n * @param domain The domain to query\n * @param type The record type to query\n * @returns A DNS request\n */\nexport const getRequestFor = (domain: string, type: DNSResourceRecordTypeValue = DNSResourceRecordTypes.A): DNSRequestFields => {\n return {\n ...StandardRequestHeader,\n ID: getRandomId(),\n Question: [{\n name: domain, type, class: 1,\n }],\n }\n}\n\n/**\n * Used to generate a random ID for a DNS request\n * @returns A random number between 0 and 65,535\n */\nexport const getRandomId = (): number => {\n return Math.floor(Math.random() * 65_536) // Math.random() generates a number between 0 and 1, multiply by 65536 to get the range 0-65535\n}\n", "import * as z from 'zod/mini'\n\nimport { DNSAnswerZod } from './Answer.ts'\nimport { DNSResponseHeaderZod } from './Header.ts'\nimport { DNSRecordZod } from './Record.ts'\nimport { DNSQuestionZod } from './Request.ts'\n\nexport const DNSResponseFieldsZod = z.extend(DNSResponseHeaderZod, {\n Question: z.array(DNSQuestionZod), // The questions that were asked\n Answer: z.array(DNSAnswerZod), // Reusing DNSAnswer for the Answer Section\n Authority: z.optional(z.array(DNSRecordZod)),\n Additional: z.optional(z.array(DNSRecordZod)),\n})\n\nexport type DNSResponseFields = z.infer<typeof DNSResponseFieldsZod>\n", "import type { ModuleIdentifier, WitnessConfig } from '@xyo-network/sdk'\nimport { asSchema } from '@xyo-network/sdk'\n\nimport type { DNSResourceRecordType } from '../types/index.ts'\nimport { DNSSchema } from './Schema.ts'\n\nexport type DNSWitnessConfigSchema = typeof DNSWitnessConfigSchema\nexport const DNSWitnessConfigSchema = asSchema(`${DNSSchema}.witness.config`, true)\n\nexport type DNSWitnessConfig = WitnessConfig<{\n /**\n * The address record index diviner to be used to determine the address record index\n */\n addressRecordIndexDiviner?: ModuleIdentifier\n /**\n * The hash record index diviner to be used to determine the hash record index\n */\n hashRecordIndexDiviner?: ModuleIdentifier\n /**\n * The config schema for the DNS witness\n */\n schema: DNSWitnessConfigSchema\n /**\n * If supplied, the DNS witness will only support the specified resource record types\n */\n supportedResources?: DNSResourceRecordType[]\n}>\n", "import { asSchema } from '@xyo-network/sdk'\n\nexport type DNSSchema = typeof DNSSchema\nexport const DNSSchema = asSchema('network.xyo.dns', true)\n", "import {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@xylabs/sdk'\nimport { PayloadZodOfSchema } from '@xyo-network/sdk'\nimport * as z from 'zod/mini'\n\nimport type { DNSResourceRecordTypeValue } from '../../types/index.ts'\nimport {\n DNSRequestFieldsZod, DNSResourceRecordTypes, getRequestFor,\n} from '../../types/index.ts'\nimport { DNSSchema } from '../Schema.ts'\n\n/**\n * The fields of a DNSRequest payload\n */\nexport const DNSRequestZod = z.extend(PayloadZodOfSchema(DNSSchema), { ...DNSRequestFieldsZod.shape })\n\nexport type DNSRequest = z.infer<typeof DNSRequestZod>\n\n/**\n * Identity function for determining if an object is a DNSRequest payload\n */\nexport const isDNSRequest = zodIsFactory(DNSRequestZod)\nexport const asDNSRequest = zodAsFactory(DNSRequestZod, 'asDNSRequest')\nexport const toDNSRequest = zodToFactory(DNSRequestZod, 'toDNSRequest')\n\n/**\n * Helper for generating a DNSRequest payload for a given domain and record type\n * @param domain The domain to query\n * @param type The record type to query\n * @returns A DNSRequest payload\n */\nexport const getDnsRequestFor = (domain: string, type: DNSResourceRecordTypeValue = DNSResourceRecordTypes.A): DNSRequest => {\n return { ...getRequestFor(domain, type), schema: DNSSchema }\n}\n", "import {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@xylabs/sdk'\nimport { PayloadZodOfSchema } from '@xyo-network/sdk'\nimport * as z from 'zod/mini'\n\nimport { DNSResponseFieldsZod } from '../../types/index.ts'\nimport { DNSSchema } from '../Schema.ts'\n\n/**\n * The fields of a DNSResponse payload\n */\nexport const DNSResponseZod = z.extend(PayloadZodOfSchema(DNSSchema), { ...DNSResponseFieldsZod.shape })\n\nexport type DNSResponse = z.infer<typeof DNSResponseZod>\n\n/**\n * Identity function for determining if an object is a DNSResponse payload\n */\nexport const isDNSResponse = zodIsFactory(DNSResponseZod)\nexport const asDNSResponse = zodAsFactory(DNSResponseZod, 'asDNSResponse')\nexport const toDNSResponse = zodToFactory(DNSResponseZod, 'toDNSResponse')\n", "import {\n HashZod, zodAsFactory, zodIsFactory, zodToFactory,\n} from '@xylabs/sdk'\nimport { asSchema, PayloadZodOfSchema } from '@xyo-network/sdk'\nimport * as z from 'zod/mini'\n\nimport { DomainFieldsZod } from '../Domain/index.ts'\n\nexport type HashRecordSchema = typeof HashRecordSchema\nexport const HashRecordSchema = asSchema('network.xyo.ns.record.hash', true)\n\nexport const HashRecordFieldsZod = z.object({\n ...DomainFieldsZod.shape,\n /**\n * The hash the record points to\n */\n hash: z.array(HashZod),\n})\n\nexport type HashRecordFields = z.infer<typeof HashRecordFieldsZod>\n\n/**\n * An hash record points a domain to an hash\n */\nexport const HashRecordZod = z.extend(PayloadZodOfSchema(HashRecordSchema), { ...HashRecordFieldsZod.shape })\n\nexport type HashRecord = z.infer<typeof HashRecordZod>\n\nexport const isHashRecord = zodIsFactory(HashRecordZod)\nexport const asHashRecord = zodAsFactory(HashRecordZod, 'asHashRecord')\nexport const toHashRecord = zodToFactory(HashRecordZod, 'toHashRecord')\n"],
|
|
4
|
+
"sourcesContent": ["import {\n AddressZod, zodAsFactory, zodIsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport { asSchema, PayloadZodOfSchema } from '@xyo-network/sdk'\nimport * as z from 'zod/mini'\n\nimport { DomainFieldsZod } from '../Domain/index.ts'\n\nexport type AddressRecordSchema = typeof AddressRecordSchema\nexport const AddressRecordSchema = asSchema('network.xyo.ns.record.address', true)\n\nexport const AddressRecordFieldsZod = z.object({\n ...DomainFieldsZod.shape,\n /**\n * The address the record points to\n */\n address: z.array(AddressZod),\n})\n\nexport type AddressRecordFields = z.infer<typeof AddressRecordFieldsZod>\n\n/**\n * An address record points a domain to an address\n */\nexport const AddressRecordZod = z.extend(PayloadZodOfSchema(AddressRecordSchema), { ...AddressRecordFieldsZod.shape })\n\nexport type AddressRecord = z.infer<typeof AddressRecordZod>\n\nexport const isAddressRecord = zodIsFactory(AddressRecordZod)\nexport const asAddressRecord = zodAsFactory(AddressRecordZod, 'asAddressRecord')\nexport const toAddressRecord = zodToFactory(AddressRecordZod, 'toAddressRecord')\n", "import {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport { asSchema, PayloadZodOfSchema } from '@xyo-network/sdk'\nimport * as z from 'zod/mini'\n\nexport type DomainSchema = typeof DomainSchema\nexport const DomainSchema = asSchema('network.xyo.ns.domain', true)\n\n/**\n * The supported TLDs for XNS\n */\nexport const TopLevelDomainZod = z.literal('xyo')\n\nexport type TopLevelDomain = z.infer<typeof TopLevelDomainZod>\n\n/**\n * The fields for a domain record\n */\nexport const DomainFieldsZod = z.object({\n /**\n * The XNS domain of the record\n */\n domain: z.string(),\n\n /**\n * The Top-Level Domain of the domain\n */\n tld: TopLevelDomainZod,\n})\n\nexport type DomainFields = z.infer<typeof DomainFieldsZod>\n\n/**\n * A domain record is a record of a domain\n */\nexport const DomainZod = z.extend(PayloadZodOfSchema(DomainSchema), { ...DomainFieldsZod.shape })\n\nexport type Domain = z.infer<typeof DomainZod>\n\n/**\n * Identity function for Domain payload\n */\nexport const isDomain = zodIsFactory(DomainZod)\nexport const asDomain = zodAsFactory(DomainZod, 'asDomain')\nexport const toDomain = zodToFactory(DomainZod, 'toDomain')\n", "import {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport { asSchema, PayloadZodOfSchema } from '@xyo-network/sdk'\nimport * as z from 'zod/mini'\n\nimport { DurationFieldsZod } from '../Duration/index.ts'\nimport { DomainFieldsZod } from './Domain.ts'\n\nexport type DomainLeaseSchema = typeof DomainLeaseSchema\nexport const DomainLeaseSchema = asSchema('network.xyo.ns.domain.lease', true)\n\n/**\n * A domain is leased for a duration\n */\nexport const DomainLeaseFieldsZod = z.object({\n ...DomainFieldsZod.shape,\n ...DurationFieldsZod.shape,\n})\n\nexport type DomainLeaseFields = z.infer<typeof DomainLeaseFieldsZod>\n\n/**\n * A domain lease is a record of a domain and the duration it is leased for\n */\nexport const DomainLeaseZod = z.extend(PayloadZodOfSchema(DomainLeaseSchema), { ...DomainLeaseFieldsZod.shape })\n\nexport type DomainLease = z.infer<typeof DomainLeaseZod>\n\n/**\n * Identity function for DomainLease payload\n */\nexport const isDomainLease = zodIsFactory(DomainLeaseZod)\nexport const asDomainLease = zodAsFactory(DomainLeaseZod, 'asDomainLease')\nexport const toDomainLease = zodToFactory(DomainLeaseZod, 'toDomainLease')\n", "import * as z from 'zod/mini'\n\nexport const DurationFieldsZod = z.object({\n /**\n * A timestamp that indicates the expiration time of the record\n */\n exp: z.number(),\n\n /**\n * A timestamp that indicates the time before which the record is not valid\n */\n nbf: z.number(),\n})\n\nexport type DurationFields = z.infer<typeof DurationFieldsZod>\n", "import type { BoundWitness, Schema } from '@xyo-network/sdk'\nimport { BoundWitnessValidator } from '@xyo-network/sdk'\n\n// BW Validations\nexport const validateBoundWitness = async (recordBw: BoundWitness, requiredSchemas: Schema[] = []): Promise<boolean> => {\n // If the BW does not include all of the required schemas\n if (requiredSchemas.some(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 type { BoundWitness, Payload } from '@xyo-network/sdk'\nimport { PayloadBuilder } from '@xyo-network/sdk'\n\nimport type { 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 return (recordIsTemporallyValidToBoundWitness(recordBw, recordPayload))\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\n// TODO: Use sequence for this?\nconst recordIsTemporallyValidToBoundWitness = (_recordBw: BoundWitness, _recordPayload: Payload<DurationFields>): boolean => {\n /* const { timestamp } = recordBw\n const { exp } = recordPayload\n return exp > timestamp */\n return true\n}\n", "import type { Payload } from '@xyo-network/sdk'\n\nimport type { DurationFields } from '../Duration.ts'\n\n// Record Validations\nexport const validateDuration = (recordPayload: Payload<DurationFields>): boolean => {\n // if (!isValidAddress(recordPayload)) return false\n return isWithinDelegatedTimeframe(recordPayload)\n}\n\nexport const isWithinDelegatedTimeframe = (recordPayload: Payload<DurationFields>, now = Date.now()): boolean => {\n // nbf < now < exp\n return recordPayload.nbf < now && now < recordPayload.exp\n}\n", "import type { BoundWitness, Payload } from '@xyo-network/sdk'\n\nimport type { 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 return (await validateBoundWitnessAndDuration(recordBw, recordPayload))\n}\n", "import { asSchema } from '@xyo-network/sdk'\n\nexport const DomainLeaseEstimateDivinerValidationErrorDetailsSchema\n = asSchema('network.xyo.diviner.ns.domain.registration.lease.estimate.validation.error.details', true)\n\nexport type DomainLeaseEstimateDivinerValidationErrorDetailsSchema = typeof DomainLeaseEstimateDivinerValidationErrorDetailsSchema\n", "import { DomainLeaseEstimateDivinerValidationErrorDetailsSchema } from '../Schema.ts'\nimport type { 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: {\n code: '0', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Success',\n },\n 1: {\n code: '1', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Invalid casing',\n },\n 2: {\n code: '2', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Invalid coin signature',\n },\n 3: {\n code: '3', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Invalid length',\n },\n 4: {\n code: '4', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Invalid name',\n },\n 5: {\n code: '5', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Reserved fragment',\n },\n 6: {\n code: '6', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Reserved name',\n },\n 7: {\n code: '7', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Reserved string',\n },\n 8: {\n code: '8', schema: DomainLeaseEstimateDivinerValidationErrorDetailsSchema, title: 'Invalid TLD',\n },\n} as const\n", "import {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport { PayloadZodOfSchema } from '@xyo-network/sdk'\nimport * as z from 'zod/mini'\n\nimport { DomainLeaseEstimateDivinerValidationErrorDetailsSchema } from '../Schema.ts'\n\nexport const ErrorDetailsZod = z.object({\n /**\n * A string code indicating the error type.\n */\n code: z.optional(z.string()),\n /**\n * A human-readable explanation specific to this occurrence of the problem\n */\n detail: z.optional(z.string()),\n /**\n * A short, human-readable summary of the problem type.\n */\n title: z.optional(z.string()),\n})\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 const DomainLeaseEstimateDivinerValidationErrorDetailsZod = z.extend(\n PayloadZodOfSchema(DomainLeaseEstimateDivinerValidationErrorDetailsSchema),\n { ...ErrorDetailsZod.shape },\n)\n\nexport type DomainLeaseEstimateDivinerValidationErrorDetails<TErrorCode extends string | undefined = string>\n = Omit<z.infer<typeof DomainLeaseEstimateDivinerValidationErrorDetailsZod>, keyof ErrorDetails> & ErrorDetails<TErrorCode>\n\n/**\n * Identity function for DomainLeaseEstimateDivinerValidationErrorDetails payload\n */\nconst baseIsDomainLeaseEstimateDivinerValidationErrorDetails = zodIsFactory(DomainLeaseEstimateDivinerValidationErrorDetailsZod)\nexport const isDomainLeaseEstimateDivinerValidationErrorDetails = <TErrorCode extends string | undefined = string>(\n x?: unknown,\n): x is DomainLeaseEstimateDivinerValidationErrorDetails<TErrorCode> => baseIsDomainLeaseEstimateDivinerValidationErrorDetails(x)\nexport const asDomainLeaseEstimateDivinerValidationErrorDetails = zodAsFactory(\n DomainLeaseEstimateDivinerValidationErrorDetailsZod,\n 'asDomainLeaseEstimateDivinerValidationErrorDetails',\n)\nexport const toDomainLeaseEstimateDivinerValidationErrorDetails = zodToFactory(\n DomainLeaseEstimateDivinerValidationErrorDetailsZod,\n 'toDomainLeaseEstimateDivinerValidationErrorDetails',\n)\n", "import { exists, findAs } from '@ariestools/sdk'\nimport type { HashLeaseEstimate } from '@xyo-network/diviner-hash-lease'\nimport { asHashLeaseEstimate, HashLeaseEstimateSchema } from '@xyo-network/diviner-hash-lease'\nimport type {\n BoundWitness,\n Payload, Schema, WithSources,\n} from '@xyo-network/sdk'\nimport { isBoundWitness, PayloadBuilder } from '@xyo-network/sdk'\n\nimport type { DomainRegistrationLease } from '../../DomainRegistration/index.ts'\nimport { asDomainRegistrationLease, DomainRegistrationLeaseSchema } from '../../DomainRegistration/index.ts'\n\nexport type Estimate = [\n BoundWitness,\n WithSources<HashLeaseEstimate>,\n WithSources<DomainRegistrationLease>,\n]\n\n/**\n * Parses a generic array of payloads into estimates\n * @param payloads An array of payloads\n * @returns Parsed estimates\n */\nexport const parseEstimatesFromArray = async (payloads?: Payload[]): Promise<Estimate[]> => {\n if (!payloads) return []\n const bws = payloads\n // Find all bound witnesses\n .filter(isBoundWitness)\n // that have the required estimate payloads\n .filter(hasEstimatePayloads) ?? []\n if (bws.length === 0) return []\n const hashMap = await PayloadBuilder.toAllHashMap(payloads)\n return bws.map<Estimate | undefined>((bw) => {\n const hashLeaseEstimate = getPayloadBySchemaFromBoundWitness<WithSources<HashLeaseEstimate>>(\n bw,\n HashLeaseEstimateSchema,\n hashMap,\n asHashLeaseEstimate,\n )\n if (!hashLeaseEstimate) return\n const domainLease = getPayloadBySchemaFromBoundWitness<WithSources<DomainRegistrationLease>>(\n bw,\n DomainRegistrationLeaseSchema,\n hashMap,\n asDomainRegistrationLease,\n )\n if (!domainLease) return\n return [bw, hashLeaseEstimate, domainLease]\n }).filter(exists)\n}\n\n/**\n * Tests if a BoundWitness has the required estimate payloads\n * @param bw The BoundWitness to check for estimate payloads\n * @returns True if the BoundWitness has the required estimate payloads, false otherwise\n */\nconst hasEstimatePayloads = (bw: BoundWitness): boolean => {\n return bw.payload_schemas.includes(DomainRegistrationLeaseSchema)\n && bw.payload_schemas.includes(HashLeaseEstimateSchema)\n}\n\n/**\n * Finds the first instance of a payload in a BoundWitness by schema\n * @param bw The BoundWitness to extract the payload from\n * @param schema The schema of the payload to extract\n * @param hashMap The hashmap of the payloads\n * @param identity An identity function to check if the payload is of the correct type\n * @returns The payload if it exists or undefined\n */\nconst getPayloadBySchemaFromBoundWitness = <T extends Payload = Payload>(\n bw: BoundWitness,\n schema: Schema,\n hashMap: Record<string, Payload>,\n identity: (payload: Payload) => T,\n): T | undefined => {\n const schemaIndex = bw.payload_schemas.indexOf(schema)\n if (schemaIndex === -1) return\n const hash: string = bw.payload_hashes[schemaIndex]\n return findAs([hashMap[hash]], identity)\n}\n", "import {\n AddressZod, zodAsFactory, zodIsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport { asSchema, PayloadZodOfSchema } from '@xyo-network/sdk'\nimport * as z from 'zod/mini'\n\nimport { DomainFieldsZod, DomainSchema } from '../Domain/index.ts'\n\nexport const DomainRegistrationSchema = asSchema(`${DomainSchema}.registration`, true)\nexport type DomainRegistrationSchema = typeof DomainRegistrationSchema\n\nexport const DomainRegistrationFieldsZod = z.object({\n ...DomainFieldsZod.shape,\n /**\n * The registrant of the domain\n */\n registrant: z.array(AddressZod),\n /**\n * The registrar of the domain\n */\n registrar: z.array(AddressZod),\n})\n\nexport type DomainRegistrationFields = z.infer<typeof DomainRegistrationFieldsZod>\n\n/**\n * Delegation of a domain to a registrar by a registrant\n */\nexport const DomainRegistrationZod = z.extend(PayloadZodOfSchema(DomainRegistrationSchema), { ...DomainRegistrationFieldsZod.shape })\n\nexport type DomainRegistration = z.infer<typeof DomainRegistrationZod>\n\n/**\n * Identity function for DomainRegistration payload\n */\nexport const isDomainRegistration = zodIsFactory(DomainRegistrationZod)\nexport const asDomainRegistration = zodAsFactory(DomainRegistrationZod, 'asDomainRegistration')\nexport const toDomainRegistration = zodToFactory(DomainRegistrationZod, 'toDomainRegistration')\n", "import {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport { asSchema, PayloadZodOfSchema } from '@xyo-network/sdk'\nimport * as z from 'zod/mini'\n\nimport { DurationFieldsZod } from '../Duration/index.ts'\nimport { DomainRegistrationFieldsZod, DomainRegistrationSchema } from './DomainRegistration.ts'\n\nexport const DomainRegistrationLeaseSchema = asSchema(`${DomainRegistrationSchema}.lease`, true)\nexport type DomainRegistrationLeaseSchema = typeof DomainRegistrationLeaseSchema\n\nexport const DomainRegistrationLeaseFieldsZod = z.object({\n ...DomainRegistrationFieldsZod.shape,\n ...DurationFieldsZod.shape,\n})\n\nexport type DomainRegistrationLeaseFields = z.infer<typeof DomainRegistrationLeaseFieldsZod>\n\n/**\n * Temporal delegation of a domain to a registrar by a registrant\n */\nexport const DomainRegistrationLeaseZod = z.extend(PayloadZodOfSchema(DomainRegistrationLeaseSchema), { ...DomainRegistrationLeaseFieldsZod.shape })\n\nexport type DomainRegistrationLease = z.infer<typeof DomainRegistrationLeaseZod>\n\n/**\n * Identity function for DomainRegistrationLease payload\n */\nexport const isDomainRegistrationLease = zodIsFactory(DomainRegistrationLeaseZod)\nexport const asDomainRegistrationLease = zodAsFactory(DomainRegistrationLeaseZod, 'asDomainRegistrationLease')\nexport const toDomainRegistrationLease = zodToFactory(DomainRegistrationLeaseZod, 'toDomainRegistrationLease')\n", "import * as z from 'zod/mini'\n\nimport { DNSRecordZod } from './Record.ts'\n\n// `class` is the query class (typically 1 for IN - Internet)\nexport const DNSAnswerZod = z.extend(DNSRecordZod, { class: z.optional(z.number()) })\n\nexport type DNSAnswer = z.infer<typeof DNSAnswerZod>\n", "import * as z from 'zod/mini'\n\nimport { DNSResourceRecordTypeValueZod } from './ResourceRecord.ts'\n\nexport const DNSRecordZod = z.object({\n name: z.string(), // The domain name that was queried\n type: DNSResourceRecordTypeValueZod, // The record type (e.g., 1 for A record)\n TTL: z.number(), // Time to Live (how long the record can be cached)\n data: z.string(), // The actual data, such as an IP address or TXT record\n})\n\nexport type DNSRecord = z.infer<typeof DNSRecordZod>\n", "// https://www.iana.org/assignments/dns-parameters/dns-parameters.xhtml#dns-parameters-4\n\nimport * as z from 'zod/mini'\n\nexport const DNSResourceRecordTypeZod = z.enum([\n 'A',\n 'NS',\n 'MD',\n 'MF',\n 'CNAME',\n 'SOA',\n 'MB',\n 'MG',\n 'MR',\n 'NULL',\n 'WKS',\n 'PTR',\n 'HINFO',\n 'MINFO',\n 'MX',\n 'TXT',\n 'RP',\n 'AFSDB',\n 'X25',\n 'ISDN',\n 'RT',\n 'NSAP',\n 'NSAP-PTR',\n 'SIG',\n 'KEY',\n 'PX',\n 'GPOS',\n 'AAAA',\n 'LOC',\n 'NXT',\n 'EID',\n 'NIMLOC',\n 'SRV',\n 'ATMA',\n 'NAPTR',\n 'KX',\n 'CERT',\n 'A6',\n 'DNAME',\n 'SINK',\n 'OPT',\n 'APL',\n 'DS',\n 'SSHFP',\n 'IPSECKEY',\n 'RRSIG',\n 'NSEC',\n 'DNSKEY',\n 'DHCID',\n 'NSEC3',\n 'NSEC3PARAM',\n 'TLSA',\n 'SMIMEA',\n 'HIP',\n 'NINFO',\n 'RKEY',\n 'TALINK',\n 'CDS',\n 'CDNSKEY',\n 'OPENPGPKEY',\n 'CSYNC',\n 'ZONEMD',\n 'SVCB',\n 'HTTPS',\n 'SPF',\n 'UINFO',\n 'UID',\n 'GID',\n 'UNSPEC',\n 'NID',\n 'L32',\n 'L64',\n 'LP',\n 'EUI48',\n 'EUI64',\n 'NXNAME',\n 'TKEY',\n 'TSIG',\n 'IXFR',\n 'AXFR',\n 'MAILB',\n 'MAILA',\n '*',\n 'URI',\n 'CAA',\n 'AVC',\n 'DOA',\n 'AMTRELAY',\n 'RESINFO',\n 'WALLET',\n 'CLA',\n 'IPN',\n 'TA',\n 'DLV',\n // Custom types here\n 'XYOA',\n 'XYOH',\n])\n\nexport type DNSResourceRecordType = z.infer<typeof DNSResourceRecordTypeZod>\n\nexport const DNSResourceRecordTypes: Readonly<Record<DNSResourceRecordType, number>> = {\n 'A': 1, // a host address\n 'NS': 2, // an authoritative name server\n 'MD': 3, // a mail destination (OBSOLETE - use MX)\n 'MF': 4, // a mail forwarder (OBSOLETE - use MX)\n 'CNAME': 5, // the canonical name for an alias\n 'SOA': 6, // marks the start of a zone of authority\n 'MB': 7, // a mailbox domain name (EXPERIMENTAL)\n 'MG': 8, // a mail group member (EXPERIMENTAL)\n 'MR': 9, // a mail rename domain name (EXPERIMENTAL)\n 'NULL': 10, // a null RR (EXPERIMENTAL)\n 'WKS': 11, // a well known service description\n 'PTR': 12, // a domain name pointer\n 'HINFO': 13, // host information\n 'MINFO': 14, // mailbox or mail list information\n 'MX': 15, // mail exchange\n 'TXT': 16, // text strings\n 'RP': 17, // for Responsible Person\n 'AFSDB': 18, // for AFS Data Base location\n 'X25': 19, // for X.25 PSDN address\n 'ISDN': 20, // for ISDN address\n 'RT': 21, // for Route Through\n 'NSAP': 22, // for NSAP address, NSAP style A record (DEPRECATED)\n 'NSAP-PTR': 23, // for domain name pointer, NSAP style (DEPRECATED)\n 'SIG': 24, // for security signature\n 'KEY': 25, // for security key\n 'PX': 26, // X.400 mail mapping information\n 'GPOS': 27, // Geographical Position\n 'AAAA': 28, // IP6 Address\n 'LOC': 29, // Location Information\n 'NXT': 30, // Next Domain (OBSOLETE)\n 'EID': 31, // Endpoint Identifier\n 'NIMLOC': 32, // Nimrod Locator\n 'SRV': 33, // Server Selection\n 'ATMA': 34, // ATM Address\n 'NAPTR': 35, // Naming Authority Pointer\n 'KX': 36, // Key Exchanger\n 'CERT': 37, // CERT\n 'A6': 38, // A6 (OBSOLETE - use AAAA)\n 'DNAME': 39, // DNAME\n 'SINK': 40, // SINK\n 'OPT': 41, // OPT\n 'APL': 42, // APL\n 'DS': 43, // Delegation Signer\n 'SSHFP': 44, // SSH Key Fingerprint\n 'IPSECKEY': 45, // IPSECKEY\n 'RRSIG': 46, // RRSIG\n 'NSEC': 47, // NSEC\n 'DNSKEY': 48, // DNSKEY\n 'DHCID': 49, // DHCID\n 'NSEC3': 50, // NSEC3\n 'NSEC3PARAM': 51, // NSEC3PARAM\n 'TLSA': 52, // TLSA\n 'SMIMEA': 53, // S/MIME cert association\n 'HIP': 55, // Host Identity Protocol\n 'NINFO': 56, // NINFO\n 'RKEY': 57, // RKEY\n 'TALINK': 58, // Trust Anchor LINK\n 'CDS': 59, // Child DS\n 'CDNSKEY': 60, // DNSKEY(s) the Child wants reflected in DS\n 'OPENPGPKEY': 61, // OpenPGP Key\n 'CSYNC': 62, // Child-To-Parent Synchronization\n 'ZONEMD': 63, // Message Digest Over Zone Data\n 'SVCB': 64, // General-purpose service binding\n 'HTTPS': 65, // SVCB-compatible type for use with HTTP\n 'SPF': 99,\n 'UINFO': 100,\n 'UID': 101,\n 'GID': 102,\n 'UNSPEC': 103,\n 'NID': 104,\n 'L32': 105,\n 'L64': 106,\n 'LP': 107,\n 'EUI48': 108, // an EUI-48 address\n 'EUI64': 109, // an EUI-64 address\n 'NXNAME': 128, // NXDOMAIN indicator for Compact Denial of Existence\n 'TKEY': 249, // Transaction Key\n 'TSIG': 250, // Transaction Signature\n 'IXFR': 251, // incremental transfer\n 'AXFR': 252, // transfer of an entire zone\n 'MAILB': 253, // mailbox-related RRs (MB, MG or MR)\n 'MAILA': 254, // mail agent RRs (OBSOLETE - see MX)\n '*': 255, // A request for some or all records the server has available\n 'URI': 256, // URI\n 'CAA': 257, // Certification Authority Restriction\n 'AVC': 258, // Application Visibility and Control\n 'DOA': 259, // Digital Object Architecture\n 'AMTRELAY': 260, // Automatic Multicast Tunneling Relay\n 'RESINFO': 261, // Resolver Information as Key/Value Pairs\n 'WALLET': 262, // Public wallet address\n 'CLA': 263, // BP Convergence Layer Adapter\n 'IPN': 264, // BP Node Number\n 'TA': 32_768, // DNSSEC Trust Authorities\n 'DLV': 32_769, // DNSSEC Lookaside Validation (OBSOLETE)\n\n // Custom types here chosen within the Private Use Range\n // https://www.iana.org/assignments/dns-parameters/dns-parameters.xhtml#dns-parameters-4\n // https://www.rfc-editor.org/rfc/rfc5226\n // as, per the RFC, the Private Use Range is reserved\n // \"For private or local use only, with the type and\n // purpose defined by the local site. No attempt is made to\n // prevent multiple sites from using the same value in\n // different (and incompatible) ways. There is no need for\n // IANA to review such assignments (since IANA does not record\n // them) and assignments are not generally useful for broad\n // interoperability. It is the responsibility of the sites\n // making use of the Private Use range to ensure that no\n // conflicts occur (within the intended scope of use).\"\n // If we want to apply for a custom reserved code later\n // on, once the usage is proven enough we can absolutely\n // do that.\n 'XYOA': 65_432, // XYO Address\n 'XYOH': 65_433, // XYO Hash\n}\n\nexport const DNSResourceRecordTypeValueZod = z.number()\n\nexport type DNSResourceRecordTypeValue = (typeof DNSResourceRecordTypes)[keyof typeof DNSResourceRecordTypes]\n\nexport const findDNSResourceRecordTypesByValue = (value: DNSResourceRecordTypeValue): DNSResourceRecordType | undefined => {\n // Iterate through the keys of the record\n for (const key in DNSResourceRecordTypes) {\n const resourceRecordType = key as DNSResourceRecordType\n if (DNSResourceRecordTypes[resourceRecordType] === value) {\n return resourceRecordType // Return the key if the value matches\n }\n }\n return undefined // Return undefined if no matching value is found\n}\n", "// An attempt to match compatibility with the RFC 8427 (Representing DNS Messages in JSON)\n// https://www.rfc-editor.org/rfc/rfc8427\n// and Google/CloudFlare's DNS over HTTPS (DoH) standard\n// https://developers.cloudflare.com/1.1.1.1/encryption/dns-over-https/make-api-requests/dns-json/\n\nimport * as z from 'zod/mini'\n\nimport { DNSQueryOpcodes, DNSQueryOpcodeZod } from './OperationCodes.ts'\nimport { DNSRcodes, DNSRcodeZod } from './ResponseCodes.ts'\n\n// The RFC says `Boolean` but uses 0/1 for the values. DNS over HTTPS (DoH) uses `true`/`false`.\nexport const NumericBooleanZod = z.union([z.literal(0), z.literal(1), z.literal(true), z.literal(false)])\nexport type NumericBoolean = z.infer<typeof NumericBooleanZod>\n\nexport const NumericBooleanFalsyZod = z.union([z.literal(0), z.literal(false)])\nexport type NumericBooleanFalsy = z.infer<typeof NumericBooleanFalsyZod>\n\nexport const NumericBooleanTruthyZod = z.union([z.literal(1), z.literal(true)])\nexport type NumericBooleanTruthy = z.infer<typeof NumericBooleanTruthyZod>\n\nexport const DNSHeaderZod = z.object({\n /**\n * Transaction ID, typically a random number. Integer whose value is 0 to 65535\n */\n ID: z.optional(z.number()),\n /**\n * Query/Response Flag (0 = Query, 1 = Response)\n */\n QR: z.optional(NumericBooleanZod),\n /**\n * Operation Code (0 for standard query)\n */\n Opcode: z.optional(DNSQueryOpcodeZod),\n /**\n * Authoritative Answer (set in response)\n */\n AA: z.optional(NumericBooleanZod),\n /**\n * Truncated Flag\n */\n TC: z.optional(NumericBooleanZod), // Truncation\n /**\n * Recursion Desired\n */\n RD: z.optional(NumericBooleanZod), // Recursion Desired (set in query)\n /**\n * Response Code (0 for no error, non-0 for errors)\n */\n RCODE: z.optional(DNSRcodeZod),\n /**\n * Number of questions in the query (usually 1)\n */\n QDCOUNT: z.optional(z.number()),\n /**\n * Number of answer records in the response\n */\n ANCOUNT: z.optional(z.number()),\n /**\n * Number of authority records in the response\n */\n NSCOUNT: z.optional(z.number()),\n /**\n * Number of additional records in the response\n */\n ARCOUNT: z.optional(z.number()),\n})\n\nexport type DNSHeader = z.infer<typeof DNSHeaderZod>\n\nexport const DNSRequestHeaderZod = z.extend(DNSHeaderZod, {\n QR: NumericBooleanFalsyZod, // Query/Response Flag (0 = Query)\n Opcode: DNSQueryOpcodeZod, // Operation Code (0 for standard query)\n AA: NumericBooleanFalsyZod, // Authoritative Answer (0 in query)\n TC: NumericBooleanFalsyZod, // Truncation (0 for non-truncated)\n RCODE: z.literal(DNSRcodes.NOERROR), // Response Code (always 0 in query)\n ANCOUNT: z.literal(0), // Number of answer records (always 0 in query)\n NSCOUNT: z.literal(0), // Number of authority records (always 0 in query)\n ARCOUNT: z.literal(0), // Number of additional records (always 0 in query)\n})\n\nexport type DNSRequestHeader = z.infer<typeof DNSRequestHeaderZod>\n\nexport const StandardRequestHeader: Readonly<DNSRequestHeader> = {\n ID: 0,\n QR: 0, // Query/Response Flag (0 = Query)\n Opcode: DNSQueryOpcodes.QUERY, // Operation Code (0 for standard query)\n AA: 0, // Authoritative Answer (0 in query)\n TC: 0, // Truncation (0 for non-truncated)\n RD: 1, // Recursion Desired (1 if recursion is requested)\n RCODE: DNSRcodes.NOERROR, // Response Code (always 0 in query)\n QDCOUNT: 1,\n ANCOUNT: 0,\n NSCOUNT: 0,\n ARCOUNT: 0,\n}\n\nexport const DNSResponseHeaderZod = z.extend(DNSHeaderZod, {\n QR: NumericBooleanTruthyZod, // Query/Response Flag (1 = Response)\n Opcode: DNSQueryOpcodeZod, // Operation Code (0 for standard query)\n AA: NumericBooleanZod, // Authoritative Answer (1 if the response is authoritative)\n TC: NumericBooleanZod, // Truncation (1 if the message is truncated)\n RA: NumericBooleanZod, // Recursion Available (1 if the server supports recursion)\n})\n\nexport type DNSResponseHeader = z.infer<typeof DNSResponseHeaderZod>\n", "import * as z from 'zod/mini'\n\nexport const DNSQueryOpcodeZod = z.union([\n z.literal(0),\n z.literal(1),\n z.literal(2),\n z.literal(4),\n z.literal(5),\n z.literal(6),\n]) // Supported opcodes as numeric values\n\nexport type DNSQueryOpcode = z.infer<typeof DNSQueryOpcodeZod>\n\n// Optional: Add a more descriptive union type for the opcodes.\nexport const DNSQueryOpcodeNameZod = z.enum(['QUERY', 'IQUERY', 'STATUS', 'NOTIFY', 'UPDATE', 'DSO'])\n\nexport type DNSQueryOpcodeName = z.infer<typeof DNSQueryOpcodeNameZod>\n\nexport const DNSQueryOpcodes: Record<DNSQueryOpcodeName, DNSQueryOpcode> = {\n QUERY: 0,\n IQUERY: 1,\n STATUS: 2,\n NOTIFY: 4,\n UPDATE: 5,\n DSO: 6,\n}\n", "import * as z from 'zod/mini'\n\nexport const DNSRcodeZod = z.union([\n z.literal(0),\n z.literal(1),\n z.literal(2),\n z.literal(3),\n z.literal(4),\n z.literal(5),\n z.literal(6),\n z.literal(7),\n z.literal(8),\n z.literal(9),\n z.literal(10),\n z.literal(16),\n z.literal(17),\n z.literal(18),\n])\n\nexport type DNSRcode = z.infer<typeof DNSRcodeZod>\n\nexport const DNSRcodeNameZod = z.enum([\n 'NOERROR',\n 'FORMERR',\n 'SERVFAIL',\n 'NXDOMAIN',\n 'NOTIMP',\n 'REFUSED',\n 'YXDOMAIN',\n 'YXRRSET',\n 'NXRRSET',\n 'NOTAUTH',\n 'NOTZONE',\n 'BADSIG',\n 'BADKEY',\n 'BADTIME',\n])\n\nexport type DNSRcodeName = z.infer<typeof DNSRcodeNameZod>\n\nexport const DNSRcodes: Readonly<Record<DNSRcodeName, DNSRcode>> = {\n NOERROR: 0,\n FORMERR: 1,\n SERVFAIL: 2,\n NXDOMAIN: 3,\n NOTIMP: 4,\n REFUSED: 5,\n YXDOMAIN: 6,\n YXRRSET: 7,\n NXRRSET: 8,\n NOTAUTH: 9,\n NOTZONE: 10,\n BADSIG: 16,\n BADKEY: 17,\n BADTIME: 18,\n}\n", "import * as z from 'zod/mini'\n\nimport { DNSRequestHeaderZod, StandardRequestHeader } from './Header.ts'\nimport type { DNSResourceRecordTypeValue } from './ResourceRecord.ts'\nimport { DNSResourceRecordTypes, DNSResourceRecordTypeValueZod } from './ResourceRecord.ts'\n\nexport const DNSQuestionZod = z.object({\n name: z.string(), // The domain name that was queried\n type: DNSResourceRecordTypeValueZod, // The record type (e.g., 1 for A record)\n class: z.optional(z.number()), // Query Class (typically 1 for IN - Internet)\n})\n\nexport type DNSQuestion = z.infer<typeof DNSQuestionZod>\n\nexport const DNSRequestFieldsZod = z.extend(DNSRequestHeaderZod, { Question: z.array(DNSQuestionZod) })\n\nexport type DNSRequestFields = z.infer<typeof DNSRequestFieldsZod>\n\n/**\n * Helper for generating a DNS request for a given domain and record type\n * @param domain The domain to query\n * @param type The record type to query\n * @returns A DNS request\n */\nexport const getRequestFor = (domain: string, type: DNSResourceRecordTypeValue = DNSResourceRecordTypes.A): DNSRequestFields => {\n return {\n ...StandardRequestHeader,\n ID: getRandomId(),\n Question: [{\n name: domain, type, class: 1,\n }],\n }\n}\n\n/**\n * Used to generate a random ID for a DNS request\n * @returns A random number between 0 and 65,535\n */\nexport const getRandomId = (): number => {\n return Math.floor(Math.random() * 65_536) // Math.random() generates a number between 0 and 1, multiply by 65536 to get the range 0-65535\n}\n", "import * as z from 'zod/mini'\n\nimport { DNSAnswerZod } from './Answer.ts'\nimport { DNSResponseHeaderZod } from './Header.ts'\nimport { DNSRecordZod } from './Record.ts'\nimport { DNSQuestionZod } from './Request.ts'\n\nexport const DNSResponseFieldsZod = z.extend(DNSResponseHeaderZod, {\n Question: z.array(DNSQuestionZod), // The questions that were asked\n Answer: z.array(DNSAnswerZod), // Reusing DNSAnswer for the Answer Section\n Authority: z.optional(z.array(DNSRecordZod)),\n Additional: z.optional(z.array(DNSRecordZod)),\n})\n\nexport type DNSResponseFields = z.infer<typeof DNSResponseFieldsZod>\n", "import type { ModuleIdentifier, WitnessConfig } from '@xyo-network/sdk'\nimport { asSchema } from '@xyo-network/sdk'\n\nimport type { DNSResourceRecordType } from '../types/index.ts'\nimport { DNSSchema } from './Schema.ts'\n\nexport type DNSWitnessConfigSchema = typeof DNSWitnessConfigSchema\nexport const DNSWitnessConfigSchema = asSchema(`${DNSSchema}.witness.config`, true)\n\nexport type DNSWitnessConfig = WitnessConfig<{\n /**\n * The address record index diviner to be used to determine the address record index\n */\n addressRecordIndexDiviner?: ModuleIdentifier\n /**\n * The hash record index diviner to be used to determine the hash record index\n */\n hashRecordIndexDiviner?: ModuleIdentifier\n /**\n * The config schema for the DNS witness\n */\n schema: DNSWitnessConfigSchema\n /**\n * If supplied, the DNS witness will only support the specified resource record types\n */\n supportedResources?: DNSResourceRecordType[]\n}>\n", "import { asSchema } from '@xyo-network/sdk'\n\nexport type DNSSchema = typeof DNSSchema\nexport const DNSSchema = asSchema('network.xyo.dns', true)\n", "import {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport { PayloadZodOfSchema } from '@xyo-network/sdk'\nimport * as z from 'zod/mini'\n\nimport type { DNSResourceRecordTypeValue } from '../../types/index.ts'\nimport {\n DNSRequestFieldsZod, DNSResourceRecordTypes, getRequestFor,\n} from '../../types/index.ts'\nimport { DNSSchema } from '../Schema.ts'\n\n/**\n * The fields of a DNSRequest payload\n */\nexport const DNSRequestZod = z.extend(PayloadZodOfSchema(DNSSchema), { ...DNSRequestFieldsZod.shape })\n\nexport type DNSRequest = z.infer<typeof DNSRequestZod>\n\n/**\n * Identity function for determining if an object is a DNSRequest payload\n */\nexport const isDNSRequest = zodIsFactory(DNSRequestZod)\nexport const asDNSRequest = zodAsFactory(DNSRequestZod, 'asDNSRequest')\nexport const toDNSRequest = zodToFactory(DNSRequestZod, 'toDNSRequest')\n\n/**\n * Helper for generating a DNSRequest payload for a given domain and record type\n * @param domain The domain to query\n * @param type The record type to query\n * @returns A DNSRequest payload\n */\nexport const getDnsRequestFor = (domain: string, type: DNSResourceRecordTypeValue = DNSResourceRecordTypes.A): DNSRequest => {\n return { ...getRequestFor(domain, type), schema: DNSSchema }\n}\n", "import {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport { PayloadZodOfSchema } from '@xyo-network/sdk'\nimport * as z from 'zod/mini'\n\nimport { DNSResponseFieldsZod } from '../../types/index.ts'\nimport { DNSSchema } from '../Schema.ts'\n\n/**\n * The fields of a DNSResponse payload\n */\nexport const DNSResponseZod = z.extend(PayloadZodOfSchema(DNSSchema), { ...DNSResponseFieldsZod.shape })\n\nexport type DNSResponse = z.infer<typeof DNSResponseZod>\n\n/**\n * Identity function for determining if an object is a DNSResponse payload\n */\nexport const isDNSResponse = zodIsFactory(DNSResponseZod)\nexport const asDNSResponse = zodAsFactory(DNSResponseZod, 'asDNSResponse')\nexport const toDNSResponse = zodToFactory(DNSResponseZod, 'toDNSResponse')\n", "import {\n HashZod, zodAsFactory, zodIsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport { asSchema, PayloadZodOfSchema } from '@xyo-network/sdk'\nimport * as z from 'zod/mini'\n\nimport { DomainFieldsZod } from '../Domain/index.ts'\n\nexport type HashRecordSchema = typeof HashRecordSchema\nexport const HashRecordSchema = asSchema('network.xyo.ns.record.hash', true)\n\nexport const HashRecordFieldsZod = z.object({\n ...DomainFieldsZod.shape,\n /**\n * The hash the record points to\n */\n hash: z.array(HashZod),\n})\n\nexport type HashRecordFields = z.infer<typeof HashRecordFieldsZod>\n\n/**\n * An hash record points a domain to an hash\n */\nexport const HashRecordZod = z.extend(PayloadZodOfSchema(HashRecordSchema), { ...HashRecordFieldsZod.shape })\n\nexport type HashRecord = z.infer<typeof HashRecordZod>\n\nexport const isHashRecord = zodIsFactory(HashRecordZod)\nexport const asHashRecord = zodAsFactory(HashRecordZod, 'asHashRecord')\nexport const toHashRecord = zodToFactory(HashRecordZod, 'toHashRecord')\n"],
|
|
5
5
|
"mappings": "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",
|
|
6
6
|
"names": ["zodAsFactory", "zodIsFactory", "zodToFactory", "asSchema", "PayloadZodOfSchema", "z", "zodAsFactory", "zodIsFactory", "zodToFactory", "asSchema", "PayloadZodOfSchema", "z", "z", "asSchema", "PayloadZodOfSchema", "zodIsFactory", "zodAsFactory", "zodToFactory", "asSchema", "PayloadZodOfSchema", "zodIsFactory", "zodAsFactory", "zodToFactory", "asSchema", "zodAsFactory", "zodIsFactory", "zodToFactory", "PayloadZodOfSchema", "z", "PayloadZodOfSchema", "zodIsFactory", "zodAsFactory", "zodToFactory", "PayloadBuilder", "AddressZod", "zodAsFactory", "zodIsFactory", "zodToFactory", "asSchema", "PayloadZodOfSchema", "z", "asSchema", "AddressZod", "PayloadZodOfSchema", "zodIsFactory", "zodAsFactory", "zodToFactory", "zodAsFactory", "zodIsFactory", "zodToFactory", "asSchema", "PayloadZodOfSchema", "z", "asSchema", "PayloadZodOfSchema", "zodIsFactory", "zodAsFactory", "zodToFactory", "PayloadBuilder", "z", "z", "z", "z", "z", "z", "z", "z", "asSchema", "asSchema", "asSchema", "zodAsFactory", "zodIsFactory", "zodToFactory", "PayloadZodOfSchema", "z", "PayloadZodOfSchema", "zodIsFactory", "zodAsFactory", "zodToFactory", "zodAsFactory", "zodIsFactory", "zodToFactory", "PayloadZodOfSchema", "z", "PayloadZodOfSchema", "zodIsFactory", "zodAsFactory", "zodToFactory", "zodAsFactory", "zodIsFactory", "zodToFactory", "asSchema", "PayloadZodOfSchema", "z", "asSchema", "PayloadZodOfSchema", "zodIsFactory", "zodAsFactory", "zodToFactory"]
|
|
7
7
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xyo-network/xns-record-payload-plugins",
|
|
3
|
-
"version": "7.0.
|
|
3
|
+
"version": "7.0.3",
|
|
4
4
|
"description": "Typescript/Javascript Plugins for XYO Platform",
|
|
5
5
|
"homepage": "https://xyo.network",
|
|
6
6
|
"bugs": {
|
|
@@ -31,61 +31,62 @@
|
|
|
31
31
|
"README.md"
|
|
32
32
|
],
|
|
33
33
|
"devDependencies": {
|
|
34
|
+
"@ariestools/sdk": "~8.0.2",
|
|
35
|
+
"@ariestools/threads": "~8.0.2",
|
|
36
|
+
"@ariestools/vitest-extended": "~8.0.2",
|
|
37
|
+
"@ariestools/vitest-matchers": "~8.0.2",
|
|
34
38
|
"@bitauth/libauth": "~3.0.0",
|
|
39
|
+
"@metamask/providers": "~22.1.1",
|
|
35
40
|
"@noble/post-quantum": "~0.6.1",
|
|
41
|
+
"@opentelemetry/api": "~1.9.1",
|
|
42
|
+
"@opentelemetry/sdk-trace-base": "~2.9.0",
|
|
43
|
+
"@scure/base": "~2.2.0",
|
|
44
|
+
"@scure/bip39": "~2.2.0",
|
|
45
|
+
"@xylabs/toolchain": "~8.6.5",
|
|
46
|
+
"@xylabs/tsconfig": "~8.6.5",
|
|
47
|
+
"@xyo-network/diviner-hash-lease": "~7.0.9",
|
|
48
|
+
"@xyo-network/sdk": "~7.0.9",
|
|
49
|
+
"@xyo-network/sdk-protocol": "~7.0.14",
|
|
50
|
+
"ajv": "~8.20.0",
|
|
51
|
+
"async-mutex": "~0.5.0",
|
|
52
|
+
"debug": "~4.4.3",
|
|
53
|
+
"eslint": "~10.6.0",
|
|
54
|
+
"eslint-import-resolver-typescript": "~4.4.5",
|
|
55
|
+
"ethers": "~6.17.0",
|
|
56
|
+
"hash-wasm": "~4.12.0",
|
|
57
|
+
"idb": "~8.0.3",
|
|
58
|
+
"lru-cache": "~11.5.1",
|
|
59
|
+
"observable-fns": "~0.6.1",
|
|
60
|
+
"typescript": "~6.0.3",
|
|
61
|
+
"vite": "~8.1.3",
|
|
62
|
+
"vitest": "~4.1.9",
|
|
63
|
+
"webextension-polyfill": "~0.12.0",
|
|
64
|
+
"zod": "~4.4.3"
|
|
65
|
+
},
|
|
66
|
+
"peerDependencies": {
|
|
67
|
+
"@ariestools/sdk": "^8.0.2",
|
|
68
|
+
"@ariestools/threads": "^8.0.2",
|
|
69
|
+
"@bitauth/libauth": "^3.0.0",
|
|
70
|
+
"@metamask/providers": "^22.1.1",
|
|
71
|
+
"@noble/post-quantum": "^0.6.1",
|
|
36
72
|
"@opentelemetry/api": "^1.9.1",
|
|
37
|
-
"@opentelemetry/sdk-trace-base": "^2.
|
|
73
|
+
"@opentelemetry/sdk-trace-base": "^2.9.0",
|
|
38
74
|
"@scure/base": "^2.2.0",
|
|
39
|
-
"@scure/bip39": "
|
|
40
|
-
"@
|
|
41
|
-
"@
|
|
42
|
-
"@
|
|
43
|
-
"@xylabs/toolchain": "~8.5.3",
|
|
44
|
-
"@xylabs/tsconfig": "~8.5.3",
|
|
45
|
-
"@xylabs/vitest-extended": "^7.0.1",
|
|
46
|
-
"@xylabs/vitest-matchers": "~7.0.1",
|
|
47
|
-
"@xyo-network/diviner-hash-lease": "^7.0.3",
|
|
48
|
-
"@xyo-network/sdk": "~7.0.3",
|
|
49
|
-
"@xyo-network/sdk-protocol": "^7.0.4",
|
|
75
|
+
"@scure/bip39": "^2.2.0",
|
|
76
|
+
"@xyo-network/diviner-hash-lease": "^7.0.9",
|
|
77
|
+
"@xyo-network/sdk": "^7.0.9",
|
|
78
|
+
"@xyo-network/sdk-protocol": "^7.0.14",
|
|
50
79
|
"ajv": "^8.20.0",
|
|
51
80
|
"async-mutex": "^0.5.0",
|
|
52
|
-
"
|
|
53
|
-
"debug": "~4.4.3",
|
|
54
|
-
"eslint": "^10.6.0",
|
|
55
|
-
"eslint-import-resolver-typescript": "^4.4.5",
|
|
81
|
+
"debug": "^4.4.3",
|
|
56
82
|
"ethers": "^6.17.0",
|
|
57
83
|
"hash-wasm": "^4.12.0",
|
|
58
84
|
"idb": "^8.0.3",
|
|
59
85
|
"lru-cache": "^11.5.1",
|
|
60
|
-
"observable-fns": "
|
|
61
|
-
"
|
|
62
|
-
"vite": "^8.1.0",
|
|
63
|
-
"vitest": "^4.1.9",
|
|
86
|
+
"observable-fns": "^0.6.1",
|
|
87
|
+
"webextension-polyfill": "^0.12.0",
|
|
64
88
|
"zod": "^4.4.3"
|
|
65
89
|
},
|
|
66
|
-
"peerDependencies": {
|
|
67
|
-
"@bitauth/libauth": "~3.0",
|
|
68
|
-
"@noble/post-quantum": "~0.6.1",
|
|
69
|
-
"@opentelemetry/api": "^1.9",
|
|
70
|
-
"@opentelemetry/sdk-trace-base": "^2.7",
|
|
71
|
-
"@scure/base": "^2.2",
|
|
72
|
-
"@scure/bip39": "~2.2",
|
|
73
|
-
"@xylabs/geo": "^7.0",
|
|
74
|
-
"@xylabs/sdk": "^7.0",
|
|
75
|
-
"@xylabs/threads": "^7.0",
|
|
76
|
-
"@xyo-network/diviner-hash-lease": "^7.0",
|
|
77
|
-
"@xyo-network/sdk": "~7.0",
|
|
78
|
-
"@xyo-network/sdk-protocol": "^7.0",
|
|
79
|
-
"ajv": "^8.20",
|
|
80
|
-
"async-mutex": "^0.5",
|
|
81
|
-
"debug": "~4.4",
|
|
82
|
-
"ethers": "^6.16",
|
|
83
|
-
"hash-wasm": "^4.12",
|
|
84
|
-
"idb": "^8.0",
|
|
85
|
-
"lru-cache": "^11.3",
|
|
86
|
-
"observable-fns": "~0.6",
|
|
87
|
-
"zod": "^4.4"
|
|
88
|
-
},
|
|
89
90
|
"engines": {
|
|
90
91
|
"node": "^24"
|
|
91
92
|
},
|