@ensdomains/ensjs 3.2.1 → 3.4.0
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/cjs/dns.js +3 -1
- package/dist/cjs/dns.js.map +1 -1
- package/dist/cjs/errors/version.js +1 -1
- package/dist/cjs/functions/dns/getDnsOffchainData.js +72 -0
- package/dist/cjs/functions/dns/getDnsOffchainData.js.map +1 -0
- package/dist/cjs/functions/dns/getDnsOwner.js +30 -57
- package/dist/cjs/functions/dns/getDnsOwner.js.map +1 -1
- package/dist/cjs/utils/dns/getDnsTxtRecords.js +14 -0
- package/dist/cjs/utils/dns/getDnsTxtRecords.js.map +1 -0
- package/dist/cjs/utils/dns/misc.js +34 -0
- package/dist/cjs/utils/dns/misc.js.map +1 -0
- package/dist/cjs/utils/index.js +7 -2
- package/dist/cjs/utils/index.js.map +1 -1
- package/dist/esm/dns.js +1 -0
- package/dist/esm/dns.js.map +1 -1
- package/dist/esm/errors/version.js +1 -1
- package/dist/esm/functions/dns/getDnsOffchainData.js +81 -0
- package/dist/esm/functions/dns/getDnsOffchainData.js.map +1 -0
- package/dist/esm/functions/dns/getDnsOwner.js +30 -57
- package/dist/esm/functions/dns/getDnsOwner.js.map +1 -1
- package/dist/esm/utils/dns/getDnsTxtRecords.js +21 -0
- package/dist/esm/utils/dns/getDnsTxtRecords.js.map +1 -0
- package/dist/esm/utils/dns/misc.js +31 -0
- package/dist/esm/utils/dns/misc.js.map +1 -0
- package/dist/esm/utils/index.js +2 -0
- package/dist/esm/utils/index.js.map +1 -1
- package/dist/types/dns.d.ts +1 -0
- package/dist/types/dns.d.ts.map +1 -1
- package/dist/types/errors/version.d.ts +1 -1
- package/dist/types/functions/dns/getDnsOffchainData.d.ts +28 -0
- package/dist/types/functions/dns/getDnsOffchainData.d.ts.map +1 -0
- package/dist/types/functions/dns/getDnsOwner.d.ts +4 -4
- package/dist/types/functions/dns/getDnsOwner.d.ts.map +1 -1
- package/dist/types/utils/dns/getDnsTxtRecords.d.ts +21 -0
- package/dist/types/utils/dns/getDnsTxtRecords.d.ts.map +1 -0
- package/dist/types/utils/dns/misc.d.ts +50 -0
- package/dist/types/utils/dns/misc.d.ts.map +1 -0
- package/dist/types/utils/index.d.ts +2 -0
- package/dist/types/utils/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/dns.ts +5 -0
- package/src/errors/version.ts +1 -1
- package/src/functions/dns/getDnsOffchainData.ts +139 -0
- package/src/functions/dns/getDnsOwner.ts +36 -88
- package/src/utils/dns/getDnsTxtRecords.ts +38 -0
- package/src/utils/dns/misc.ts +53 -0
- package/src/utils/index.ts +12 -0
package/dist/cjs/dns.js
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.importDnsName = exports.getDnsOwner = exports.getDnsImportData = void 0;
|
|
3
|
+
exports.importDnsName = exports.getDnsOwner = exports.getDnsOffchainData = exports.getDnsImportData = void 0;
|
|
4
4
|
var getDnsImportData_js_1 = require("./functions/dns/getDnsImportData.js");
|
|
5
5
|
Object.defineProperty(exports, "getDnsImportData", { enumerable: true, get: function () { return getDnsImportData_js_1.default; } });
|
|
6
|
+
var getDnsOffchainData_js_1 = require("./functions/dns/getDnsOffchainData.js");
|
|
7
|
+
Object.defineProperty(exports, "getDnsOffchainData", { enumerable: true, get: function () { return getDnsOffchainData_js_1.default; } });
|
|
6
8
|
var getDnsOwner_js_1 = require("./functions/dns/getDnsOwner.js");
|
|
7
9
|
Object.defineProperty(exports, "getDnsOwner", { enumerable: true, get: function () { return getDnsOwner_js_1.default; } });
|
|
8
10
|
var importDnsName_js_1 = require("./functions/dns/importDnsName.js");
|
package/dist/cjs/dns.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dns.js","sourceRoot":"","sources":["../../src/dns.ts"],"names":[],"mappings":";;;AAAA,2EAI4C;AAH1C,uHAAA,OAAO,OAAoB;AAI7B,iEAIuC;AAHrC,6GAAA,OAAO,OAAe;AAIxB,qEAMyC;AALvC,iHAAA,OAAO,OAAiB"}
|
|
1
|
+
{"version":3,"file":"dns.js","sourceRoot":"","sources":["../../src/dns.ts"],"names":[],"mappings":";;;AAAA,2EAI4C;AAH1C,uHAAA,OAAO,OAAoB;AAI7B,+EAI8C;AAH5C,2HAAA,OAAO,OAAsB;AAI/B,iEAIuC;AAHrC,6GAAA,OAAO,OAAe;AAIxB,qEAMyC;AALvC,iHAAA,OAAO,OAAiB"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const viem_1 = require("viem");
|
|
4
|
+
const dns_js_1 = require("../../errors/dns.js");
|
|
5
|
+
const general_js_1 = require("../../errors/general.js");
|
|
6
|
+
const getDnsTxtRecords_js_1 = require("../../utils/dns/getDnsTxtRecords.js");
|
|
7
|
+
const misc_js_1 = require("../../utils/dns/misc.js");
|
|
8
|
+
const getNameType_js_1 = require("../../utils/getNameType.js");
|
|
9
|
+
const getAddressRecord_js_1 = require("../public/getAddressRecord.js");
|
|
10
|
+
const checkValidEnsTxtRecord = async (client, record) => {
|
|
11
|
+
if (record.type !== misc_js_1.DnsRecordType.TXT)
|
|
12
|
+
return null;
|
|
13
|
+
if (!record.data.startsWith('"ENS1 '))
|
|
14
|
+
return null;
|
|
15
|
+
const unwrappedRecordData = record.data.replace(/^"(.*)"$/g, '$1');
|
|
16
|
+
const resolverAndExtraData = unwrappedRecordData.slice(5);
|
|
17
|
+
const splitIndex = resolverAndExtraData.indexOf(' ');
|
|
18
|
+
const resolverNameOrAddress = splitIndex === -1
|
|
19
|
+
? resolverAndExtraData
|
|
20
|
+
: resolverAndExtraData.slice(0, splitIndex);
|
|
21
|
+
const extraData = splitIndex === -1 ? null : resolverAndExtraData.slice(splitIndex + 1);
|
|
22
|
+
if ((0, viem_1.isAddress)(resolverNameOrAddress))
|
|
23
|
+
return { isValid: true, resolverAddress: resolverNameOrAddress, extraData };
|
|
24
|
+
const resolverAddress = await (0, getAddressRecord_js_1.default)(client, {
|
|
25
|
+
name: resolverNameOrAddress,
|
|
26
|
+
gatewayUrls: [],
|
|
27
|
+
}).catch(() => null);
|
|
28
|
+
if (resolverAddress)
|
|
29
|
+
return {
|
|
30
|
+
isValid: true,
|
|
31
|
+
resolverAddress: resolverAddress.value,
|
|
32
|
+
extraData,
|
|
33
|
+
};
|
|
34
|
+
return { isValid: false, recordData: unwrappedRecordData };
|
|
35
|
+
};
|
|
36
|
+
const getDnsOffchainData = async (client, { name, endpoint, strict }) => {
|
|
37
|
+
const nameType = (0, getNameType_js_1.getNameType)(name);
|
|
38
|
+
if (nameType !== 'other-2ld' && nameType !== 'other-subname')
|
|
39
|
+
throw new general_js_1.UnsupportedNameTypeError({
|
|
40
|
+
nameType,
|
|
41
|
+
supportedNameTypes: ['other-2ld', 'other-subname'],
|
|
42
|
+
});
|
|
43
|
+
try {
|
|
44
|
+
const response = await (0, getDnsTxtRecords_js_1.getDnsTxtRecords)({ name, endpoint });
|
|
45
|
+
if (response.Status !== misc_js_1.DnsResponseStatus.NOERROR)
|
|
46
|
+
throw new dns_js_1.DnsResponseStatusError({
|
|
47
|
+
responseStatus: misc_js_1.DnsResponseStatus[response.Status],
|
|
48
|
+
});
|
|
49
|
+
if (response.AD === false)
|
|
50
|
+
throw new dns_js_1.DnsDnssecVerificationFailedError({ record: undefined });
|
|
51
|
+
if (!response.Answer?.length)
|
|
52
|
+
throw new dns_js_1.DnsNoTxtRecordError();
|
|
53
|
+
const ensTxtRecords = await Promise.all(response.Answer.map((record) => checkValidEnsTxtRecord(client, record)));
|
|
54
|
+
const validRecord = ensTxtRecords.find((record) => record?.isValid === true);
|
|
55
|
+
if (validRecord)
|
|
56
|
+
return {
|
|
57
|
+
resolverAddress: validRecord.resolverAddress,
|
|
58
|
+
extraData: validRecord.extraData,
|
|
59
|
+
};
|
|
60
|
+
const invalidRecord = ensTxtRecords.find((record) => record?.isValid === false);
|
|
61
|
+
if (invalidRecord)
|
|
62
|
+
throw new dns_js_1.DnsInvalidTxtRecordError({ record: invalidRecord.recordData });
|
|
63
|
+
throw new dns_js_1.DnsNoTxtRecordError();
|
|
64
|
+
}
|
|
65
|
+
catch (error) {
|
|
66
|
+
if (!strict)
|
|
67
|
+
return null;
|
|
68
|
+
throw error;
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
exports.default = getDnsOffchainData;
|
|
72
|
+
//# sourceMappingURL=getDnsOffchainData.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getDnsOffchainData.js","sourceRoot":"","sources":["../../../../src/functions/dns/getDnsOffchainData.ts"],"names":[],"mappings":";;AAAA,+BAA2E;AAE3E,gDAK4B;AAC5B,wDAAkE;AAClE,6EAAsE;AACtE,qDAIgC;AAChC,+DAAwD;AACxD,uEAA4D;AAwB5D,MAAM,sBAAsB,GAAG,KAAK,EAClC,MAAuC,EACvC,MAAuB,EAC8B,EAAE;IACvD,IAAI,MAAM,CAAC,IAAI,KAAK,uBAAa,CAAC,GAAG;QAAE,OAAO,IAAI,CAAA;IAClD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAA;IAElD,MAAM,mBAAmB,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,CAAA;IAElE,MAAM,oBAAoB,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IACzD,MAAM,UAAU,GAAG,oBAAoB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IACpD,MAAM,qBAAqB,GACzB,UAAU,KAAK,CAAC,CAAC;QACf,CAAC,CAAC,oBAAoB;QACtB,CAAC,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAA;IAC/C,MAAM,SAAS,GACb,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,oBAAoB,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,CAAA;IAEvE,IAAI,IAAA,gBAAS,EAAC,qBAAqB,CAAC;QAClC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,qBAAqB,EAAE,SAAS,EAAE,CAAA;IAE7E,MAAM,eAAe,GAAG,MAAM,IAAA,6BAAgB,EAAC,MAAM,EAAE;QACrD,IAAI,EAAE,qBAAqB;QAE3B,WAAW,EAAE,EAAE;KAChB,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAA;IAEpB,IAAI,eAAe;QACjB,OAAO;YACL,OAAO,EAAE,IAAI;YACb,eAAe,EAAE,eAAe,CAAC,KAAgB;YACjD,SAAS;SACV,CAAA;IAEH,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,mBAAmB,EAAE,CAAA;AAC5D,CAAC,CAAA;AAYD,MAAM,kBAAkB,GAAG,KAAK,EAC9B,MAAuC,EACvC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAgC,EACjB,EAAE;IACzC,MAAM,QAAQ,GAAG,IAAA,4BAAW,EAAC,IAAI,CAAC,CAAA;IAElC,IAAI,QAAQ,KAAK,WAAW,IAAI,QAAQ,KAAK,eAAe;QAC1D,MAAM,IAAI,qCAAwB,CAAC;YACjC,QAAQ;YACR,kBAAkB,EAAE,CAAC,WAAW,EAAE,eAAe,CAAC;SACnD,CAAC,CAAA;IAEJ,IAAI;QACF,MAAM,QAAQ,GAAG,MAAM,IAAA,sCAAgB,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAA;QAE3D,IAAI,QAAQ,CAAC,MAAM,KAAK,2BAAiB,CAAC,OAAO;YAC/C,MAAM,IAAI,+BAAsB,CAAC;gBAC/B,cAAc,EAAE,2BAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC;aACnD,CAAC,CAAA;QAEJ,IAAI,QAAQ,CAAC,EAAE,KAAK,KAAK;YACvB,MAAM,IAAI,yCAAgC,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAA;QAEnE,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM;YAAE,MAAM,IAAI,4BAAmB,EAAE,CAAA;QAE7D,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,GAAG,CACrC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,sBAAsB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CACxE,CAAA;QAED,MAAM,WAAW,GAAG,aAAa,CAAC,IAAI,CACpC,CAAC,MAAM,EAA6B,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAChE,CAAA;QACD,IAAI,WAAW;YACb,OAAO;gBACL,eAAe,EAAE,WAAW,CAAC,eAAe;gBAC5C,SAAS,EAAE,WAAW,CAAC,SAAS;aACjC,CAAA;QAEH,MAAM,aAAa,GAAG,aAAa,CAAC,IAAI,CACtC,CAAC,MAAM,EAA+B,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,KAAK,CACnE,CAAA;QACD,IAAI,aAAa;YACf,MAAM,IAAI,iCAAwB,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,UAAU,EAAE,CAAC,CAAA;QAE1E,MAAM,IAAI,4BAAmB,EAAE,CAAA;KAChC;IAAC,OAAO,KAAK,EAAE;QACd,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAA;QACxB,MAAM,KAAK,CAAA;KACZ;AACH,CAAC,CAAA;AAED,kBAAe,kBAAkB,CAAA"}
|
|
@@ -3,70 +3,43 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
const viem_1 = require("viem");
|
|
4
4
|
const dns_js_1 = require("../../errors/dns.js");
|
|
5
5
|
const general_js_1 = require("../../errors/general.js");
|
|
6
|
+
const getDnsTxtRecords_js_1 = require("../../utils/dns/getDnsTxtRecords.js");
|
|
7
|
+
const misc_js_1 = require("../../utils/dns/misc.js");
|
|
6
8
|
const getNameType_js_1 = require("../../utils/getNameType.js");
|
|
7
|
-
|
|
8
|
-
(function (DnsResponseStatus) {
|
|
9
|
-
DnsResponseStatus[DnsResponseStatus["NOERROR"] = 0] = "NOERROR";
|
|
10
|
-
DnsResponseStatus[DnsResponseStatus["FORMERR"] = 1] = "FORMERR";
|
|
11
|
-
DnsResponseStatus[DnsResponseStatus["SERVFAIL"] = 2] = "SERVFAIL";
|
|
12
|
-
DnsResponseStatus[DnsResponseStatus["NXDOMAIN"] = 3] = "NXDOMAIN";
|
|
13
|
-
DnsResponseStatus[DnsResponseStatus["NOTIMP"] = 4] = "NOTIMP";
|
|
14
|
-
DnsResponseStatus[DnsResponseStatus["REFUSED"] = 5] = "REFUSED";
|
|
15
|
-
DnsResponseStatus[DnsResponseStatus["YXDOMAIN"] = 6] = "YXDOMAIN";
|
|
16
|
-
DnsResponseStatus[DnsResponseStatus["YXRRSET"] = 7] = "YXRRSET";
|
|
17
|
-
DnsResponseStatus[DnsResponseStatus["NXRRSET"] = 8] = "NXRRSET";
|
|
18
|
-
DnsResponseStatus[DnsResponseStatus["NOTAUTH"] = 9] = "NOTAUTH";
|
|
19
|
-
DnsResponseStatus[DnsResponseStatus["NOTZONE"] = 10] = "NOTZONE";
|
|
20
|
-
DnsResponseStatus[DnsResponseStatus["DSOTYPENI"] = 11] = "DSOTYPENI";
|
|
21
|
-
DnsResponseStatus[DnsResponseStatus["BADVERS"] = 16] = "BADVERS";
|
|
22
|
-
DnsResponseStatus[DnsResponseStatus["BADSIG"] = 16] = "BADSIG";
|
|
23
|
-
DnsResponseStatus[DnsResponseStatus["BADKEY"] = 17] = "BADKEY";
|
|
24
|
-
DnsResponseStatus[DnsResponseStatus["BADTIME"] = 18] = "BADTIME";
|
|
25
|
-
DnsResponseStatus[DnsResponseStatus["BADMODE"] = 19] = "BADMODE";
|
|
26
|
-
DnsResponseStatus[DnsResponseStatus["BADNAME"] = 20] = "BADNAME";
|
|
27
|
-
DnsResponseStatus[DnsResponseStatus["BADALG"] = 21] = "BADALG";
|
|
28
|
-
DnsResponseStatus[DnsResponseStatus["BADTRUNC"] = 22] = "BADTRUNC";
|
|
29
|
-
DnsResponseStatus[DnsResponseStatus["BADCOOKIE"] = 23] = "BADCOOKIE";
|
|
30
|
-
})(DnsResponseStatus || (DnsResponseStatus = {}));
|
|
31
|
-
var DnsRecordType;
|
|
32
|
-
(function (DnsRecordType) {
|
|
33
|
-
DnsRecordType[DnsRecordType["TXT"] = 16] = "TXT";
|
|
34
|
-
DnsRecordType[DnsRecordType["DS"] = 43] = "DS";
|
|
35
|
-
DnsRecordType[DnsRecordType["RRSIG"] = 46] = "RRSIG";
|
|
36
|
-
DnsRecordType[DnsRecordType["DNSKEY"] = 48] = "DNSKEY";
|
|
37
|
-
})(DnsRecordType || (DnsRecordType = {}));
|
|
38
|
-
const getDnsOwner = async ({ name, endpoint = 'https://cloudflare-dns.com/dns-query', }) => {
|
|
9
|
+
const getDnsOwner = async ({ name, endpoint, strict, }) => {
|
|
39
10
|
const nameType = (0, getNameType_js_1.getNameType)(name);
|
|
40
11
|
if (nameType !== 'other-2ld')
|
|
41
12
|
throw new general_js_1.UnsupportedNameTypeError({
|
|
42
13
|
nameType,
|
|
43
14
|
supportedNameTypes: ['other-2ld'],
|
|
44
15
|
});
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
16
|
+
try {
|
|
17
|
+
const response = await (0, getDnsTxtRecords_js_1.getDnsTxtRecords)({ name: `_ens.${name}`, endpoint });
|
|
18
|
+
if (response.Status !== misc_js_1.DnsResponseStatus.NOERROR)
|
|
19
|
+
throw new dns_js_1.DnsResponseStatusError({
|
|
20
|
+
responseStatus: misc_js_1.DnsResponseStatus[response.Status],
|
|
21
|
+
});
|
|
22
|
+
const addressRecord = response.Answer?.find((record) => record.type === misc_js_1.DnsRecordType.TXT);
|
|
23
|
+
const unwrappedAddressRecord = addressRecord?.data?.replace(/^"(.*)"$/g, '$1');
|
|
24
|
+
if (response.AD === false)
|
|
25
|
+
throw new dns_js_1.DnsDnssecVerificationFailedError({
|
|
26
|
+
record: unwrappedAddressRecord,
|
|
27
|
+
});
|
|
28
|
+
if (!addressRecord?.data)
|
|
29
|
+
throw new dns_js_1.DnsNoTxtRecordError();
|
|
30
|
+
if (!unwrappedAddressRecord.match(/^a=0x[a-fA-F0-9]{40}$/g))
|
|
31
|
+
throw new dns_js_1.DnsInvalidTxtRecordError({ record: unwrappedAddressRecord });
|
|
32
|
+
const address = unwrappedAddressRecord.slice(2);
|
|
33
|
+
const checksumAddress = (0, viem_1.getAddress)(address);
|
|
34
|
+
if (address !== checksumAddress)
|
|
35
|
+
throw new dns_js_1.DnsInvalidAddressChecksumError({ address });
|
|
36
|
+
return checksumAddress;
|
|
37
|
+
}
|
|
38
|
+
catch (error) {
|
|
39
|
+
if (!strict)
|
|
40
|
+
return null;
|
|
41
|
+
throw error;
|
|
42
|
+
}
|
|
70
43
|
};
|
|
71
44
|
exports.default = getDnsOwner;
|
|
72
45
|
//# sourceMappingURL=getDnsOwner.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getDnsOwner.js","sourceRoot":"","sources":["../../../../src/functions/dns/getDnsOwner.ts"],"names":[],"mappings":";;AAAA,+BAA+C;AAC/C,gDAM4B;AAC5B,wDAAkE;AAClE
|
|
1
|
+
{"version":3,"file":"getDnsOwner.js","sourceRoot":"","sources":["../../../../src/functions/dns/getDnsOwner.ts"],"names":[],"mappings":";;AAAA,+BAA+C;AAC/C,gDAM4B;AAC5B,wDAAkE;AAClE,6EAAsE;AACtE,qDAA0E;AAC1E,+DAAwD;AAyBxD,MAAM,WAAW,GAAG,KAAK,EAAE,EACzB,IAAI,EACJ,QAAQ,EACR,MAAM,GACgB,EAAkC,EAAE;IAC1D,MAAM,QAAQ,GAAG,IAAA,4BAAW,EAAC,IAAI,CAAC,CAAA;IAElC,IAAI,QAAQ,KAAK,WAAW;QAC1B,MAAM,IAAI,qCAAwB,CAAC;YACjC,QAAQ;YACR,kBAAkB,EAAE,CAAC,WAAW,CAAC;SAClC,CAAC,CAAA;IAEJ,IAAI;QACF,MAAM,QAAQ,GAAG,MAAM,IAAA,sCAAgB,EAAC,EAAE,IAAI,EAAE,QAAQ,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAA;QAE3E,IAAI,QAAQ,CAAC,MAAM,KAAK,2BAAiB,CAAC,OAAO;YAC/C,MAAM,IAAI,+BAAsB,CAAC;gBAC/B,cAAc,EAAE,2BAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC;aACnD,CAAC,CAAA;QAEJ,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,EAAE,IAAI,CACzC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,uBAAa,CAAC,GAAG,CAC9C,CAAA;QACD,MAAM,sBAAsB,GAAG,aAAa,EAAE,IAAI,EAAE,OAAO,CACzD,WAAW,EACX,IAAI,CACL,CAAA;QAED,IAAI,QAAQ,CAAC,EAAE,KAAK,KAAK;YACvB,MAAM,IAAI,yCAAgC,CAAC;gBACzC,MAAM,EAAE,sBAAsB;aAC/B,CAAC,CAAA;QAEJ,IAAI,CAAC,aAAa,EAAE,IAAI;YAAE,MAAM,IAAI,4BAAmB,EAAE,CAAA;QAEzD,IAAI,CAAC,sBAAuB,CAAC,KAAK,CAAC,wBAAwB,CAAC;YAC1D,MAAM,IAAI,iCAAwB,CAAC,EAAE,MAAM,EAAE,sBAAuB,EAAE,CAAC,CAAA;QAEzE,MAAM,OAAO,GAAG,sBAAuB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QAChD,MAAM,eAAe,GAAG,IAAA,iBAAU,EAAC,OAAO,CAAC,CAAA;QAE3C,IAAI,OAAO,KAAK,eAAe;YAC7B,MAAM,IAAI,uCAA8B,CAAC,EAAE,OAAO,EAAE,CAAC,CAAA;QAEvD,OAAO,eAAe,CAAA;KACvB;IAAC,OAAO,KAAK,EAAE;QACd,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAA;QACxB,MAAM,KAAK,CAAA;KACZ;AACH,CAAC,CAAA;AAED,kBAAe,WAAW,CAAA"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getDnsTxtRecords = void 0;
|
|
4
|
+
const getDnsTxtRecords = async ({ name, endpoint = 'https://cloudflare-dns.com/dns-query', }) => {
|
|
5
|
+
const response = await fetch(`${endpoint}?name=${name}.&type=TXT`, {
|
|
6
|
+
method: 'GET',
|
|
7
|
+
headers: {
|
|
8
|
+
accept: 'application/dns-json',
|
|
9
|
+
},
|
|
10
|
+
}).then((res) => res.json());
|
|
11
|
+
return response;
|
|
12
|
+
};
|
|
13
|
+
exports.getDnsTxtRecords = getDnsTxtRecords;
|
|
14
|
+
//# sourceMappingURL=getDnsTxtRecords.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getDnsTxtRecords.js","sourceRoot":"","sources":["../../../../src/utils/dns/getDnsTxtRecords.ts"],"names":[],"mappings":";;;AAsBO,MAAM,gBAAgB,GAAG,KAAK,EAAE,EACrC,IAAI,EACJ,QAAQ,GAAG,sCAAsC,GACtB,EAAuC,EAAE;IACpE,MAAM,QAAQ,GAAgB,MAAM,KAAK,CACvC,GAAG,QAAQ,SAAS,IAAI,YAAY,EACpC;QACE,MAAM,EAAE,KAAK;QACb,OAAO,EAAE;YACP,MAAM,EAAE,sBAAsB;SAC/B;KACF,CACF,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAA;IAE3B,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA;AAfY,QAAA,gBAAgB,oBAe5B"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DnsRecordType = exports.DnsResponseStatus = void 0;
|
|
4
|
+
var DnsResponseStatus;
|
|
5
|
+
(function (DnsResponseStatus) {
|
|
6
|
+
DnsResponseStatus[DnsResponseStatus["NOERROR"] = 0] = "NOERROR";
|
|
7
|
+
DnsResponseStatus[DnsResponseStatus["FORMERR"] = 1] = "FORMERR";
|
|
8
|
+
DnsResponseStatus[DnsResponseStatus["SERVFAIL"] = 2] = "SERVFAIL";
|
|
9
|
+
DnsResponseStatus[DnsResponseStatus["NXDOMAIN"] = 3] = "NXDOMAIN";
|
|
10
|
+
DnsResponseStatus[DnsResponseStatus["NOTIMP"] = 4] = "NOTIMP";
|
|
11
|
+
DnsResponseStatus[DnsResponseStatus["REFUSED"] = 5] = "REFUSED";
|
|
12
|
+
DnsResponseStatus[DnsResponseStatus["YXDOMAIN"] = 6] = "YXDOMAIN";
|
|
13
|
+
DnsResponseStatus[DnsResponseStatus["YXRRSET"] = 7] = "YXRRSET";
|
|
14
|
+
DnsResponseStatus[DnsResponseStatus["NXRRSET"] = 8] = "NXRRSET";
|
|
15
|
+
DnsResponseStatus[DnsResponseStatus["NOTAUTH"] = 9] = "NOTAUTH";
|
|
16
|
+
DnsResponseStatus[DnsResponseStatus["NOTZONE"] = 10] = "NOTZONE";
|
|
17
|
+
DnsResponseStatus[DnsResponseStatus["DSOTYPENI"] = 11] = "DSOTYPENI";
|
|
18
|
+
DnsResponseStatus[DnsResponseStatus["BADVERS"] = 16] = "BADVERS";
|
|
19
|
+
DnsResponseStatus[DnsResponseStatus["BADKEY"] = 17] = "BADKEY";
|
|
20
|
+
DnsResponseStatus[DnsResponseStatus["BADTIME"] = 18] = "BADTIME";
|
|
21
|
+
DnsResponseStatus[DnsResponseStatus["BADMODE"] = 19] = "BADMODE";
|
|
22
|
+
DnsResponseStatus[DnsResponseStatus["BADNAME"] = 20] = "BADNAME";
|
|
23
|
+
DnsResponseStatus[DnsResponseStatus["BADALG"] = 21] = "BADALG";
|
|
24
|
+
DnsResponseStatus[DnsResponseStatus["BADTRUNC"] = 22] = "BADTRUNC";
|
|
25
|
+
DnsResponseStatus[DnsResponseStatus["BADCOOKIE"] = 23] = "BADCOOKIE";
|
|
26
|
+
})(DnsResponseStatus || (exports.DnsResponseStatus = DnsResponseStatus = {}));
|
|
27
|
+
var DnsRecordType;
|
|
28
|
+
(function (DnsRecordType) {
|
|
29
|
+
DnsRecordType[DnsRecordType["TXT"] = 16] = "TXT";
|
|
30
|
+
DnsRecordType[DnsRecordType["DS"] = 43] = "DS";
|
|
31
|
+
DnsRecordType[DnsRecordType["RRSIG"] = 46] = "RRSIG";
|
|
32
|
+
DnsRecordType[DnsRecordType["DNSKEY"] = 48] = "DNSKEY";
|
|
33
|
+
})(DnsRecordType || (exports.DnsRecordType = DnsRecordType = {}));
|
|
34
|
+
//# sourceMappingURL=misc.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"misc.js","sourceRoot":"","sources":["../../../../src/utils/dns/misc.ts"],"names":[],"mappings":";;;AAAA,IAAY,iBAqBX;AArBD,WAAY,iBAAiB;IAC3B,+DAAW,CAAA;IACX,+DAAW,CAAA;IACX,iEAAY,CAAA;IACZ,iEAAY,CAAA;IACZ,6DAAU,CAAA;IACV,+DAAW,CAAA;IACX,iEAAY,CAAA;IACZ,+DAAW,CAAA;IACX,+DAAW,CAAA;IACX,+DAAW,CAAA;IACX,gEAAY,CAAA;IACZ,oEAAc,CAAA;IACd,gEAAY,CAAA;IACZ,8DAAW,CAAA;IACX,gEAAY,CAAA;IACZ,gEAAY,CAAA;IACZ,gEAAY,CAAA;IACZ,8DAAW,CAAA;IACX,kEAAa,CAAA;IACb,oEAAc,CAAA;AAChB,CAAC,EArBW,iBAAiB,iCAAjB,iBAAiB,QAqB5B;AAED,IAAY,aAKX;AALD,WAAY,aAAa;IACvB,gDAAQ,CAAA;IACR,8CAAO,CAAA;IACP,oDAAU,CAAA;IACV,sDAAW,CAAA;AACb,CAAC,EALW,aAAa,6BAAb,aAAa,QAKxB"}
|
package/dist/cjs/utils/index.js
CHANGED
|
@@ -1,7 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
exports.generateSupportedContentTypes = exports.wrappedLabelLengthCheck = exports.expiryToBigInt = exports.MAX_EXPIRY = exports.validateName = exports.parseInput = exports.checkIsDotEth = exports.randomSecret = exports.makeRegistrationTuple = exports.makeCommitmentTuple = exports.makeCommitmentFromTuple = exports.makeCommitment = exports.tokenise = exports.split = exports.shouldEscape = exports.normaliseFragment = exports.normalise = exports.namehash = exports.isCombiningMark = exports.emoji = exports.beautify = exports.makeSafeSecondsDate = void 0;
|
|
3
|
+
exports.encodeLabelhash = exports.decryptName = exports.decodeLabelhash = exports.checkLabel = exports.checkIsDecrypted = exports.packetToBytes = exports.bytesToPacket = exports.generateRecordCallArray = exports.truncateFormat = exports.isValidContentHash = exports.getProtocolType = exports.getInternalCodec = exports.getDisplayCodec = exports.encodeContentHash = exports.decodeContentHash = exports.encodeFuses = exports.decodeFuses = exports.checkPccBurned = exports.UserSettableFuses = exports.UserSettableFuseKeys = exports.UnnamedParentFuses = exports.UnnamedParentFuseKeys = exports.UnnamedChildFuses = exports.UnnamedChildFuseKeys = exports.ParentFuses = exports.ParentFuseReference = exports.ParentFuseKeys = exports.FuseRanges = exports.FullParentFuses = exports.FullParentFuseReference = exports.FullParentFuseKeys = exports.ChildFuses = exports.ChildFuseReference = exports.ChildFuseKeys = exports.MINIMUM_DOT_ETH_CHARS = exports.MAX_INT_64 = exports.MAX_DATE_INT = exports.GRACE_PERIOD_SECONDS = exports.EMPTY_ADDRESS = exports.encodeSetText = exports.encodeSetContentHash = exports.encodeSetAddr = exports.encodeSetAbi = exports.encodeClearRecords = exports.encodeAsToContentType = exports.encodeAbi = exports.contentTypeToEncodeAs = exports.DnsResponseStatus = exports.DnsRecordType = exports.getDnsTxtRecords = void 0;
|
|
4
|
+
exports.generateSupportedContentTypes = exports.wrappedLabelLengthCheck = exports.expiryToBigInt = exports.MAX_EXPIRY = exports.validateName = exports.parseInput = exports.checkIsDotEth = exports.randomSecret = exports.makeRegistrationTuple = exports.makeCommitmentTuple = exports.makeCommitmentFromTuple = exports.makeCommitment = exports.tokenise = exports.split = exports.shouldEscape = exports.normaliseFragment = exports.normalise = exports.namehash = exports.isCombiningMark = exports.emoji = exports.beautify = exports.makeSafeSecondsDate = exports.saveName = exports.saveLabel = exports.isEncodedLabelhash = void 0;
|
|
5
|
+
var getDnsTxtRecords_js_1 = require("./dns/getDnsTxtRecords.js");
|
|
6
|
+
Object.defineProperty(exports, "getDnsTxtRecords", { enumerable: true, get: function () { return getDnsTxtRecords_js_1.getDnsTxtRecords; } });
|
|
7
|
+
var misc_js_1 = require("./dns/misc.js");
|
|
8
|
+
Object.defineProperty(exports, "DnsRecordType", { enumerable: true, get: function () { return misc_js_1.DnsRecordType; } });
|
|
9
|
+
Object.defineProperty(exports, "DnsResponseStatus", { enumerable: true, get: function () { return misc_js_1.DnsResponseStatus; } });
|
|
5
10
|
var encodeAbi_js_1 = require("./encoders/encodeAbi.js");
|
|
6
11
|
Object.defineProperty(exports, "contentTypeToEncodeAs", { enumerable: true, get: function () { return encodeAbi_js_1.contentTypeToEncodeAs; } });
|
|
7
12
|
Object.defineProperty(exports, "encodeAbi", { enumerable: true, get: function () { return encodeAbi_js_1.encodeAbi; } });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":";;;;AAAA,wDAOgC;AAN9B,qHAAA,qBAAqB,OAAA;AACrB,yGAAA,SAAS,OAAA;AACT,qHAAA,qBAAqB,OAAA;AAKvB,0EAAqE;AAA5D,2HAAA,kBAAkB,OAAA;AAC3B,8DAImC;AAHjC,+GAAA,YAAY,OAAA;AAId,gEAIoC;AAHlC,iHAAA,aAAa,OAAA;AAIf,8EAI2C;AAHzC,+HAAA,oBAAoB,OAAA;AAItB,gEAIoC;AAHlC,iHAAA,aAAa,OAAA;AAKf,yCAMoB;AALlB,0GAAA,aAAa,OAAA;AACb,iHAAA,oBAAoB,OAAA;AACpB,yGAAA,YAAY,OAAA;AACZ,uGAAA,UAAU,OAAA;AACV,kHAAA,qBAAqB,OAAA;AAEvB,uCA2BmB;AA1BjB,yGAAA,aAAa,OAAA;AACb,8GAAA,kBAAkB,OAAA;AAClB,sGAAA,UAAU,OAAA;AACV,8GAAA,kBAAkB,OAAA;AAClB,mHAAA,uBAAuB,OAAA;AACvB,2GAAA,eAAe,OAAA;AACf,sGAAA,UAAU,OAAA;AACV,0GAAA,cAAc,OAAA;AACd,+GAAA,mBAAmB,OAAA;AACnB,uGAAA,WAAW,OAAA;AACX,gHAAA,oBAAoB,OAAA;AACpB,6GAAA,iBAAiB,OAAA;AACjB,iHAAA,qBAAqB,OAAA;AACrB,8GAAA,kBAAkB,OAAA;AAClB,gHAAA,oBAAoB,OAAA;AACpB,6GAAA,iBAAiB,OAAA;AACjB,0GAAA,cAAc,OAAA;AACd,uGAAA,WAAW,OAAA;AACX,uGAAA,WAAW,OAAA;AAUb,mDASyB;AARvB,mHAAA,iBAAiB,OAAA;AACjB,mHAAA,iBAAiB,OAAA;AACjB,iHAAA,eAAe,OAAA;AACf,kHAAA,gBAAgB,OAAA;AAChB,iHAAA,eAAe,OAAA;AACf,oHAAA,kBAAkB,OAAA;AAIpB,yCAA4C;AAAnC,2GAAA,cAAc,OAAA;AACvB,2EAGqC;AAFnC,qIAAA,uBAAuB,OAAA;AAGzB,yDAAkE;AAAzD,kHAAA,aAAa,OAAA;AAAE,kHAAA,aAAa,OAAA;AACrC,yCASoB;AARlB,6GAAA,gBAAgB,OAAA;AAChB,uGAAA,UAAU,OAAA;AACV,4GAAA,eAAe,OAAA;AACf,wGAAA,WAAW,OAAA;AACX,4GAAA,eAAe,OAAA;AACf,+GAAA,kBAAkB,OAAA;AAClB,sGAAA,SAAS,OAAA;AACT,qGAAA,QAAQ,OAAA;AAEV,mEAA8D;AAArD,6HAAA,mBAAmB,OAAA;AAC5B,+CAoBuB;AAnBrB,wGAAA,QAAQ,OAAA;AACR,qGAAA,KAAK,OAAA;AACL,+GAAA,eAAe,OAAA;AACf,wGAAA,QAAQ,OAAA;AACR,yGAAA,SAAS,OAAA;AACT,iHAAA,iBAAiB,OAAA;AACjB,4GAAA,YAAY,OAAA;AACZ,qGAAA,KAAK,OAAA;AACL,wGAAA,QAAQ,OAAA;AAYV,2DAS6B;AAR3B,oHAAA,cAAc,OAAA;AACd,6HAAA,uBAAuB,OAAA;AACvB,yHAAA,mBAAmB,OAAA;AACnB,2HAAA,qBAAqB,OAAA;AACrB,kHAAA,YAAY,OAAA;AAKd,iDAKwB;AAJtB,8GAAA,aAAa,OAAA;AACb,2GAAA,UAAU,OAAA;AACV,6GAAA,YAAY,OAAA;AAGd,2CAIqB;AAHnB,wGAAA,UAAU,OAAA;AACV,4GAAA,cAAc,OAAA;AACd,qHAAA,uBAAuB,OAAA;AAEzB,uFAAkF;AAAzE,iJAAA,6BAA6B,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":";;;;AAAA,iEAIkC;AAHhC,uHAAA,gBAAgB,OAAA;AAIlB,yCAMsB;AALpB,wGAAA,aAAa,OAAA;AACb,4GAAA,iBAAiB,OAAA;AAKnB,wDAOgC;AAN9B,qHAAA,qBAAqB,OAAA;AACrB,yGAAA,SAAS,OAAA;AACT,qHAAA,qBAAqB,OAAA;AAKvB,0EAAqE;AAA5D,2HAAA,kBAAkB,OAAA;AAC3B,8DAImC;AAHjC,+GAAA,YAAY,OAAA;AAId,gEAIoC;AAHlC,iHAAA,aAAa,OAAA;AAIf,8EAI2C;AAHzC,+HAAA,oBAAoB,OAAA;AAItB,gEAIoC;AAHlC,iHAAA,aAAa,OAAA;AAKf,yCAMoB;AALlB,0GAAA,aAAa,OAAA;AACb,iHAAA,oBAAoB,OAAA;AACpB,yGAAA,YAAY,OAAA;AACZ,uGAAA,UAAU,OAAA;AACV,kHAAA,qBAAqB,OAAA;AAEvB,uCA2BmB;AA1BjB,yGAAA,aAAa,OAAA;AACb,8GAAA,kBAAkB,OAAA;AAClB,sGAAA,UAAU,OAAA;AACV,8GAAA,kBAAkB,OAAA;AAClB,mHAAA,uBAAuB,OAAA;AACvB,2GAAA,eAAe,OAAA;AACf,sGAAA,UAAU,OAAA;AACV,0GAAA,cAAc,OAAA;AACd,+GAAA,mBAAmB,OAAA;AACnB,uGAAA,WAAW,OAAA;AACX,gHAAA,oBAAoB,OAAA;AACpB,6GAAA,iBAAiB,OAAA;AACjB,iHAAA,qBAAqB,OAAA;AACrB,8GAAA,kBAAkB,OAAA;AAClB,gHAAA,oBAAoB,OAAA;AACpB,6GAAA,iBAAiB,OAAA;AACjB,0GAAA,cAAc,OAAA;AACd,uGAAA,WAAW,OAAA;AACX,uGAAA,WAAW,OAAA;AAUb,mDASyB;AARvB,mHAAA,iBAAiB,OAAA;AACjB,mHAAA,iBAAiB,OAAA;AACjB,iHAAA,eAAe,OAAA;AACf,kHAAA,gBAAgB,OAAA;AAChB,iHAAA,eAAe,OAAA;AACf,oHAAA,kBAAkB,OAAA;AAIpB,yCAA4C;AAAnC,2GAAA,cAAc,OAAA;AACvB,2EAGqC;AAFnC,qIAAA,uBAAuB,OAAA;AAGzB,yDAAkE;AAAzD,kHAAA,aAAa,OAAA;AAAE,kHAAA,aAAa,OAAA;AACrC,yCASoB;AARlB,6GAAA,gBAAgB,OAAA;AAChB,uGAAA,UAAU,OAAA;AACV,4GAAA,eAAe,OAAA;AACf,wGAAA,WAAW,OAAA;AACX,4GAAA,eAAe,OAAA;AACf,+GAAA,kBAAkB,OAAA;AAClB,sGAAA,SAAS,OAAA;AACT,qGAAA,QAAQ,OAAA;AAEV,mEAA8D;AAArD,6HAAA,mBAAmB,OAAA;AAC5B,+CAoBuB;AAnBrB,wGAAA,QAAQ,OAAA;AACR,qGAAA,KAAK,OAAA;AACL,+GAAA,eAAe,OAAA;AACf,wGAAA,QAAQ,OAAA;AACR,yGAAA,SAAS,OAAA;AACT,iHAAA,iBAAiB,OAAA;AACjB,4GAAA,YAAY,OAAA;AACZ,qGAAA,KAAK,OAAA;AACL,wGAAA,QAAQ,OAAA;AAYV,2DAS6B;AAR3B,oHAAA,cAAc,OAAA;AACd,6HAAA,uBAAuB,OAAA;AACvB,yHAAA,mBAAmB,OAAA;AACnB,2HAAA,qBAAqB,OAAA;AACrB,kHAAA,YAAY,OAAA;AAKd,iDAKwB;AAJtB,8GAAA,aAAa,OAAA;AACb,2GAAA,UAAU,OAAA;AACV,6GAAA,YAAY,OAAA;AAGd,2CAIqB;AAHnB,wGAAA,UAAU,OAAA;AACV,4GAAA,cAAc,OAAA;AACd,qHAAA,uBAAuB,OAAA;AAEzB,uFAAkF;AAAzE,iJAAA,6BAA6B,OAAA"}
|
package/dist/esm/dns.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { default as getDnsImportData, } from './functions/dns/getDnsImportData.js';
|
|
2
|
+
export { default as getDnsOffchainData, } from './functions/dns/getDnsOffchainData.js';
|
|
2
3
|
export { default as getDnsOwner, } from './functions/dns/getDnsOwner.js';
|
|
3
4
|
export { default as importDnsName, } from './functions/dns/importDnsName.js';
|
|
4
5
|
//# sourceMappingURL=dns.js.map
|
package/dist/esm/dns.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dns.js","sourceRoot":"","sources":["../../src/dns.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,IAAI,gBAAgB,GAG5B,MAAM,qCAAqC,CAAA;AAC5C,OAAO,EACL,OAAO,IAAI,WAAW,GAGvB,MAAM,gCAAgC,CAAA;AACvC,OAAO,EACL,OAAO,IAAI,aAAa,GAKzB,MAAM,kCAAkC,CAAA"}
|
|
1
|
+
{"version":3,"file":"dns.js","sourceRoot":"","sources":["../../src/dns.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,IAAI,gBAAgB,GAG5B,MAAM,qCAAqC,CAAA;AAC5C,OAAO,EACL,OAAO,IAAI,kBAAkB,GAG9B,MAAM,uCAAuC,CAAA;AAC9C,OAAO,EACL,OAAO,IAAI,WAAW,GAGvB,MAAM,gCAAgC,CAAA;AACvC,OAAO,EACL,OAAO,IAAI,aAAa,GAKzB,MAAM,kCAAkC,CAAA"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const version = 'v3.
|
|
1
|
+
export const version = 'v3.4.0';
|
|
2
2
|
//# sourceMappingURL=version.js.map
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { isAddress } from 'viem';
|
|
2
|
+
import { DnsDnssecVerificationFailedError, DnsInvalidTxtRecordError, DnsNoTxtRecordError, DnsResponseStatusError, } from '../../errors/dns.js';
|
|
3
|
+
import { UnsupportedNameTypeError } from '../../errors/general.js';
|
|
4
|
+
import { getDnsTxtRecords } from '../../utils/dns/getDnsTxtRecords.js';
|
|
5
|
+
import { DnsRecordType, DnsResponseStatus, } from '../../utils/dns/misc.js';
|
|
6
|
+
import { getNameType } from '../../utils/getNameType.js';
|
|
7
|
+
import getAddressRecord from '../public/getAddressRecord.js';
|
|
8
|
+
const checkValidEnsTxtRecord = async (client, record) => {
|
|
9
|
+
if (record.type !== DnsRecordType.TXT)
|
|
10
|
+
return null;
|
|
11
|
+
if (!record.data.startsWith('"ENS1 '))
|
|
12
|
+
return null;
|
|
13
|
+
const unwrappedRecordData = record.data.replace(/^"(.*)"$/g, '$1');
|
|
14
|
+
const resolverAndExtraData = unwrappedRecordData.slice(5);
|
|
15
|
+
const splitIndex = resolverAndExtraData.indexOf(' ');
|
|
16
|
+
const resolverNameOrAddress = splitIndex === -1
|
|
17
|
+
? resolverAndExtraData
|
|
18
|
+
: resolverAndExtraData.slice(0, splitIndex);
|
|
19
|
+
const extraData = splitIndex === -1 ? null : resolverAndExtraData.slice(splitIndex + 1);
|
|
20
|
+
if (isAddress(resolverNameOrAddress))
|
|
21
|
+
return { isValid: true, resolverAddress: resolverNameOrAddress, extraData };
|
|
22
|
+
const resolverAddress = await getAddressRecord(client, {
|
|
23
|
+
name: resolverNameOrAddress,
|
|
24
|
+
// force no ccip-read, since dnsregistrar doesn't allow resolvers with ccip-read addresses
|
|
25
|
+
gatewayUrls: [],
|
|
26
|
+
}).catch(() => null); // if ccip-read is attempted, an error will be thrown. we can just ignore it
|
|
27
|
+
if (resolverAddress)
|
|
28
|
+
return {
|
|
29
|
+
isValid: true,
|
|
30
|
+
resolverAddress: resolverAddress.value,
|
|
31
|
+
extraData,
|
|
32
|
+
};
|
|
33
|
+
return { isValid: false, recordData: unwrappedRecordData };
|
|
34
|
+
};
|
|
35
|
+
/**
|
|
36
|
+
* Gets the DNS offchain data for a name, via DNS record lookup
|
|
37
|
+
* @param parameters - {@link GetDnsOffchainDataParameters}
|
|
38
|
+
* @returns Resolver address and extra data, or null. {@link GetDnsOffchainDataReturnType}
|
|
39
|
+
*
|
|
40
|
+
* @example
|
|
41
|
+
* import { getDnsOffchainData } from '@ensdomains/ensjs/dns'
|
|
42
|
+
*
|
|
43
|
+
* const owner = await getDnsOffchainData({ name: 'ethleaderboard.xyz' })
|
|
44
|
+
*/
|
|
45
|
+
const getDnsOffchainData = async (client, { name, endpoint, strict }) => {
|
|
46
|
+
const nameType = getNameType(name);
|
|
47
|
+
if (nameType !== 'other-2ld' && nameType !== 'other-subname')
|
|
48
|
+
throw new UnsupportedNameTypeError({
|
|
49
|
+
nameType,
|
|
50
|
+
supportedNameTypes: ['other-2ld', 'other-subname'],
|
|
51
|
+
});
|
|
52
|
+
try {
|
|
53
|
+
const response = await getDnsTxtRecords({ name, endpoint });
|
|
54
|
+
if (response.Status !== DnsResponseStatus.NOERROR)
|
|
55
|
+
throw new DnsResponseStatusError({
|
|
56
|
+
responseStatus: DnsResponseStatus[response.Status],
|
|
57
|
+
});
|
|
58
|
+
if (response.AD === false)
|
|
59
|
+
throw new DnsDnssecVerificationFailedError({ record: undefined });
|
|
60
|
+
if (!response.Answer?.length)
|
|
61
|
+
throw new DnsNoTxtRecordError();
|
|
62
|
+
const ensTxtRecords = await Promise.all(response.Answer.map((record) => checkValidEnsTxtRecord(client, record)));
|
|
63
|
+
const validRecord = ensTxtRecords.find((record) => record?.isValid === true);
|
|
64
|
+
if (validRecord)
|
|
65
|
+
return {
|
|
66
|
+
resolverAddress: validRecord.resolverAddress,
|
|
67
|
+
extraData: validRecord.extraData,
|
|
68
|
+
};
|
|
69
|
+
const invalidRecord = ensTxtRecords.find((record) => record?.isValid === false);
|
|
70
|
+
if (invalidRecord)
|
|
71
|
+
throw new DnsInvalidTxtRecordError({ record: invalidRecord.recordData });
|
|
72
|
+
throw new DnsNoTxtRecordError();
|
|
73
|
+
}
|
|
74
|
+
catch (error) {
|
|
75
|
+
if (!strict)
|
|
76
|
+
return null;
|
|
77
|
+
throw error;
|
|
78
|
+
}
|
|
79
|
+
};
|
|
80
|
+
export default getDnsOffchainData;
|
|
81
|
+
//# sourceMappingURL=getDnsOffchainData.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getDnsOffchainData.js","sourceRoot":"","sources":["../../../../src/functions/dns/getDnsOffchainData.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,38 +1,9 @@
|
|
|
1
1
|
import { getAddress } from 'viem';
|
|
2
2
|
import { DnsDnssecVerificationFailedError, DnsInvalidAddressChecksumError, DnsInvalidTxtRecordError, DnsNoTxtRecordError, DnsResponseStatusError, } from '../../errors/dns.js';
|
|
3
3
|
import { UnsupportedNameTypeError } from '../../errors/general.js';
|
|
4
|
+
import { getDnsTxtRecords } from '../../utils/dns/getDnsTxtRecords.js';
|
|
5
|
+
import { DnsRecordType, DnsResponseStatus } from '../../utils/dns/misc.js';
|
|
4
6
|
import { getNameType } from '../../utils/getNameType.js';
|
|
5
|
-
var DnsResponseStatus;
|
|
6
|
-
(function (DnsResponseStatus) {
|
|
7
|
-
DnsResponseStatus[DnsResponseStatus["NOERROR"] = 0] = "NOERROR";
|
|
8
|
-
DnsResponseStatus[DnsResponseStatus["FORMERR"] = 1] = "FORMERR";
|
|
9
|
-
DnsResponseStatus[DnsResponseStatus["SERVFAIL"] = 2] = "SERVFAIL";
|
|
10
|
-
DnsResponseStatus[DnsResponseStatus["NXDOMAIN"] = 3] = "NXDOMAIN";
|
|
11
|
-
DnsResponseStatus[DnsResponseStatus["NOTIMP"] = 4] = "NOTIMP";
|
|
12
|
-
DnsResponseStatus[DnsResponseStatus["REFUSED"] = 5] = "REFUSED";
|
|
13
|
-
DnsResponseStatus[DnsResponseStatus["YXDOMAIN"] = 6] = "YXDOMAIN";
|
|
14
|
-
DnsResponseStatus[DnsResponseStatus["YXRRSET"] = 7] = "YXRRSET";
|
|
15
|
-
DnsResponseStatus[DnsResponseStatus["NXRRSET"] = 8] = "NXRRSET";
|
|
16
|
-
DnsResponseStatus[DnsResponseStatus["NOTAUTH"] = 9] = "NOTAUTH";
|
|
17
|
-
DnsResponseStatus[DnsResponseStatus["NOTZONE"] = 10] = "NOTZONE";
|
|
18
|
-
DnsResponseStatus[DnsResponseStatus["DSOTYPENI"] = 11] = "DSOTYPENI";
|
|
19
|
-
DnsResponseStatus[DnsResponseStatus["BADVERS"] = 16] = "BADVERS";
|
|
20
|
-
DnsResponseStatus[DnsResponseStatus["BADSIG"] = 16] = "BADSIG";
|
|
21
|
-
DnsResponseStatus[DnsResponseStatus["BADKEY"] = 17] = "BADKEY";
|
|
22
|
-
DnsResponseStatus[DnsResponseStatus["BADTIME"] = 18] = "BADTIME";
|
|
23
|
-
DnsResponseStatus[DnsResponseStatus["BADMODE"] = 19] = "BADMODE";
|
|
24
|
-
DnsResponseStatus[DnsResponseStatus["BADNAME"] = 20] = "BADNAME";
|
|
25
|
-
DnsResponseStatus[DnsResponseStatus["BADALG"] = 21] = "BADALG";
|
|
26
|
-
DnsResponseStatus[DnsResponseStatus["BADTRUNC"] = 22] = "BADTRUNC";
|
|
27
|
-
DnsResponseStatus[DnsResponseStatus["BADCOOKIE"] = 23] = "BADCOOKIE";
|
|
28
|
-
})(DnsResponseStatus || (DnsResponseStatus = {}));
|
|
29
|
-
var DnsRecordType;
|
|
30
|
-
(function (DnsRecordType) {
|
|
31
|
-
DnsRecordType[DnsRecordType["TXT"] = 16] = "TXT";
|
|
32
|
-
DnsRecordType[DnsRecordType["DS"] = 43] = "DS";
|
|
33
|
-
DnsRecordType[DnsRecordType["RRSIG"] = 46] = "RRSIG";
|
|
34
|
-
DnsRecordType[DnsRecordType["DNSKEY"] = 48] = "DNSKEY";
|
|
35
|
-
})(DnsRecordType || (DnsRecordType = {}));
|
|
36
7
|
/**
|
|
37
8
|
* Gets the DNS owner of a name, via DNS record lookup
|
|
38
9
|
* @param parameters - {@link GetDnsOwnerParameters}
|
|
@@ -44,38 +15,40 @@ var DnsRecordType;
|
|
|
44
15
|
* const owner = await getDnsOwner({ name: 'ens.domains' })
|
|
45
16
|
* // '0xb8c2C29ee19D8307cb7255e1Cd9CbDE883A267d5'
|
|
46
17
|
*/
|
|
47
|
-
const getDnsOwner = async ({ name, endpoint
|
|
18
|
+
const getDnsOwner = async ({ name, endpoint, strict, }) => {
|
|
48
19
|
const nameType = getNameType(name);
|
|
49
20
|
if (nameType !== 'other-2ld')
|
|
50
21
|
throw new UnsupportedNameTypeError({
|
|
51
22
|
nameType,
|
|
52
23
|
supportedNameTypes: ['other-2ld'],
|
|
53
24
|
});
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
25
|
+
try {
|
|
26
|
+
const response = await getDnsTxtRecords({ name: `_ens.${name}`, endpoint });
|
|
27
|
+
if (response.Status !== DnsResponseStatus.NOERROR)
|
|
28
|
+
throw new DnsResponseStatusError({
|
|
29
|
+
responseStatus: DnsResponseStatus[response.Status],
|
|
30
|
+
});
|
|
31
|
+
const addressRecord = response.Answer?.find((record) => record.type === DnsRecordType.TXT);
|
|
32
|
+
const unwrappedAddressRecord = addressRecord?.data?.replace(/^"(.*)"$/g, '$1');
|
|
33
|
+
if (response.AD === false)
|
|
34
|
+
throw new DnsDnssecVerificationFailedError({
|
|
35
|
+
record: unwrappedAddressRecord,
|
|
36
|
+
});
|
|
37
|
+
if (!addressRecord?.data)
|
|
38
|
+
throw new DnsNoTxtRecordError();
|
|
39
|
+
if (!unwrappedAddressRecord.match(/^a=0x[a-fA-F0-9]{40}$/g))
|
|
40
|
+
throw new DnsInvalidTxtRecordError({ record: unwrappedAddressRecord });
|
|
41
|
+
const address = unwrappedAddressRecord.slice(2);
|
|
42
|
+
const checksumAddress = getAddress(address);
|
|
43
|
+
if (address !== checksumAddress)
|
|
44
|
+
throw new DnsInvalidAddressChecksumError({ address });
|
|
45
|
+
return checksumAddress;
|
|
46
|
+
}
|
|
47
|
+
catch (error) {
|
|
48
|
+
if (!strict)
|
|
49
|
+
return null;
|
|
50
|
+
throw error;
|
|
51
|
+
}
|
|
79
52
|
};
|
|
80
53
|
export default getDnsOwner;
|
|
81
54
|
//# sourceMappingURL=getDnsOwner.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getDnsOwner.js","sourceRoot":"","sources":["../../../../src/functions/dns/getDnsOwner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAgB,MAAM,MAAM,CAAA;AAC/C,OAAO,EACL,gCAAgC,EAChC,8BAA8B,EAC9B,wBAAwB,EACxB,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAA;AAClE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"getDnsOwner.js","sourceRoot":"","sources":["../../../../src/functions/dns/getDnsOwner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAgB,MAAM,MAAM,CAAA;AAC/C,OAAO,EACL,gCAAgC,EAChC,8BAA8B,EAC9B,wBAAwB,EACxB,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAA;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAA;AACtE,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAcxD;;;;;;;;;;GAUG;AACH,MAAM,WAAW,GAAG,KAAK,EAAE,EACzB,IAAI,EACJ,QAAQ,EACR,MAAM,GACgB,EAAkC,EAAE;IAC1D,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,CAAA;IAElC,IAAI,QAAQ,KAAK,WAAW;QAC1B,MAAM,IAAI,wBAAwB,CAAC;YACjC,QAAQ;YACR,kBAAkB,EAAE,CAAC,WAAW,CAAC;SAClC,CAAC,CAAA;IAEJ,IAAI;QACF,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,EAAE,IAAI,EAAE,QAAQ,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAA;QAE3E,IAAI,QAAQ,CAAC,MAAM,KAAK,iBAAiB,CAAC,OAAO;YAC/C,MAAM,IAAI,sBAAsB,CAAC;gBAC/B,cAAc,EAAE,iBAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC;aACnD,CAAC,CAAA;QAEJ,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,EAAE,IAAI,CACzC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,aAAa,CAAC,GAAG,CAC9C,CAAA;QACD,MAAM,sBAAsB,GAAG,aAAa,EAAE,IAAI,EAAE,OAAO,CACzD,WAAW,EACX,IAAI,CACL,CAAA;QAED,IAAI,QAAQ,CAAC,EAAE,KAAK,KAAK;YACvB,MAAM,IAAI,gCAAgC,CAAC;gBACzC,MAAM,EAAE,sBAAsB;aAC/B,CAAC,CAAA;QAEJ,IAAI,CAAC,aAAa,EAAE,IAAI;YAAE,MAAM,IAAI,mBAAmB,EAAE,CAAA;QAEzD,IAAI,CAAC,sBAAuB,CAAC,KAAK,CAAC,wBAAwB,CAAC;YAC1D,MAAM,IAAI,wBAAwB,CAAC,EAAE,MAAM,EAAE,sBAAuB,EAAE,CAAC,CAAA;QAEzE,MAAM,OAAO,GAAG,sBAAuB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QAChD,MAAM,eAAe,GAAG,UAAU,CAAC,OAAO,CAAC,CAAA;QAE3C,IAAI,OAAO,KAAK,eAAe;YAC7B,MAAM,IAAI,8BAA8B,CAAC,EAAE,OAAO,EAAE,CAAC,CAAA;QAEvD,OAAO,eAAe,CAAA;KACvB;IAAC,OAAO,KAAK,EAAE;QACd,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAA;QACxB,MAAM,KAAK,CAAA;KACZ;AACH,CAAC,CAAA;AAED,eAAe,WAAW,CAAA"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import {} from './misc.js';
|
|
2
|
+
/**
|
|
3
|
+
* Gets the DNS record response of a name, via DNS record lookup
|
|
4
|
+
* @param parameters - {@link GetDnsTxtRecordsParameters}
|
|
5
|
+
* @returns DNS response. {@link GetDnsTxtRecordsReturnType}
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* import { getDnsTxtRecords } from '@ensdomains/ensjs/utils'
|
|
9
|
+
*
|
|
10
|
+
* const owner = await getDnsTxtRecords({ name: '_ens.ens.domains' })
|
|
11
|
+
*/
|
|
12
|
+
export const getDnsTxtRecords = async ({ name, endpoint = 'https://cloudflare-dns.com/dns-query', }) => {
|
|
13
|
+
const response = await fetch(`${endpoint}?name=${name}.&type=TXT`, {
|
|
14
|
+
method: 'GET',
|
|
15
|
+
headers: {
|
|
16
|
+
accept: 'application/dns-json',
|
|
17
|
+
},
|
|
18
|
+
}).then((res) => res.json());
|
|
19
|
+
return response;
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=getDnsTxtRecords.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getDnsTxtRecords.js","sourceRoot":"","sources":["../../../../src/utils/dns/getDnsTxtRecords.ts"],"names":[],"mappings":"AACA,OAAO,EAAoB,MAAM,WAAW,CAAA;AAW5C;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EAAE,EACrC,IAAI,EACJ,QAAQ,GAAG,sCAAsC,GACtB,EAAuC,EAAE;IACpE,MAAM,QAAQ,GAAgB,MAAM,KAAK,CACvC,GAAG,QAAQ,SAAS,IAAI,YAAY,EACpC;QACE,MAAM,EAAE,KAAK;QACb,OAAO,EAAE;YACP,MAAM,EAAE,sBAAsB;SAC/B;KACF,CACF,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAA;IAE3B,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
export var DnsResponseStatus;
|
|
2
|
+
(function (DnsResponseStatus) {
|
|
3
|
+
DnsResponseStatus[DnsResponseStatus["NOERROR"] = 0] = "NOERROR";
|
|
4
|
+
DnsResponseStatus[DnsResponseStatus["FORMERR"] = 1] = "FORMERR";
|
|
5
|
+
DnsResponseStatus[DnsResponseStatus["SERVFAIL"] = 2] = "SERVFAIL";
|
|
6
|
+
DnsResponseStatus[DnsResponseStatus["NXDOMAIN"] = 3] = "NXDOMAIN";
|
|
7
|
+
DnsResponseStatus[DnsResponseStatus["NOTIMP"] = 4] = "NOTIMP";
|
|
8
|
+
DnsResponseStatus[DnsResponseStatus["REFUSED"] = 5] = "REFUSED";
|
|
9
|
+
DnsResponseStatus[DnsResponseStatus["YXDOMAIN"] = 6] = "YXDOMAIN";
|
|
10
|
+
DnsResponseStatus[DnsResponseStatus["YXRRSET"] = 7] = "YXRRSET";
|
|
11
|
+
DnsResponseStatus[DnsResponseStatus["NXRRSET"] = 8] = "NXRRSET";
|
|
12
|
+
DnsResponseStatus[DnsResponseStatus["NOTAUTH"] = 9] = "NOTAUTH";
|
|
13
|
+
DnsResponseStatus[DnsResponseStatus["NOTZONE"] = 10] = "NOTZONE";
|
|
14
|
+
DnsResponseStatus[DnsResponseStatus["DSOTYPENI"] = 11] = "DSOTYPENI";
|
|
15
|
+
DnsResponseStatus[DnsResponseStatus["BADVERS"] = 16] = "BADVERS";
|
|
16
|
+
DnsResponseStatus[DnsResponseStatus["BADKEY"] = 17] = "BADKEY";
|
|
17
|
+
DnsResponseStatus[DnsResponseStatus["BADTIME"] = 18] = "BADTIME";
|
|
18
|
+
DnsResponseStatus[DnsResponseStatus["BADMODE"] = 19] = "BADMODE";
|
|
19
|
+
DnsResponseStatus[DnsResponseStatus["BADNAME"] = 20] = "BADNAME";
|
|
20
|
+
DnsResponseStatus[DnsResponseStatus["BADALG"] = 21] = "BADALG";
|
|
21
|
+
DnsResponseStatus[DnsResponseStatus["BADTRUNC"] = 22] = "BADTRUNC";
|
|
22
|
+
DnsResponseStatus[DnsResponseStatus["BADCOOKIE"] = 23] = "BADCOOKIE";
|
|
23
|
+
})(DnsResponseStatus || (DnsResponseStatus = {}));
|
|
24
|
+
export var DnsRecordType;
|
|
25
|
+
(function (DnsRecordType) {
|
|
26
|
+
DnsRecordType[DnsRecordType["TXT"] = 16] = "TXT";
|
|
27
|
+
DnsRecordType[DnsRecordType["DS"] = 43] = "DS";
|
|
28
|
+
DnsRecordType[DnsRecordType["RRSIG"] = 46] = "RRSIG";
|
|
29
|
+
DnsRecordType[DnsRecordType["DNSKEY"] = 48] = "DNSKEY";
|
|
30
|
+
})(DnsRecordType || (DnsRecordType = {}));
|
|
31
|
+
//# sourceMappingURL=misc.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"misc.js","sourceRoot":"","sources":["../../../../src/utils/dns/misc.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,iBAqBX;AArBD,WAAY,iBAAiB;IAC3B,+DAAW,CAAA;IACX,+DAAW,CAAA;IACX,iEAAY,CAAA;IACZ,iEAAY,CAAA;IACZ,6DAAU,CAAA;IACV,+DAAW,CAAA;IACX,iEAAY,CAAA;IACZ,+DAAW,CAAA;IACX,+DAAW,CAAA;IACX,+DAAW,CAAA;IACX,gEAAY,CAAA;IACZ,oEAAc,CAAA;IACd,gEAAY,CAAA;IACZ,8DAAW,CAAA;IACX,gEAAY,CAAA;IACZ,gEAAY,CAAA;IACZ,gEAAY,CAAA;IACZ,8DAAW,CAAA;IACX,kEAAa,CAAA;IACb,oEAAc,CAAA;AAChB,CAAC,EArBW,iBAAiB,KAAjB,iBAAiB,QAqB5B;AAED,MAAM,CAAN,IAAY,aAKX;AALD,WAAY,aAAa;IACvB,gDAAQ,CAAA;IACR,8CAAO,CAAA;IACP,oDAAU,CAAA;IACV,sDAAW,CAAA;AACb,CAAC,EALW,aAAa,KAAb,aAAa,QAKxB"}
|