@tradetrust-tt/dnsprove 2.12.4 → 2.13.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/index.js CHANGED
@@ -16,7 +16,7 @@ Object.defineProperty(exports, "OpenAttestationDnsDidRecord", {
16
16
  }
17
17
  });
18
18
  exports.queryDns = exports.parseOpenAttestationRecord = exports.parseDocumentStoreResults = exports.parseDnsDidResults = exports.getDocumentStoreRecords = exports.getDnsDidRecords = exports.defaultDnsResolvers = void 0;
19
- var _axios = _interopRequireDefault(require("axios"));
19
+ var _index = _interopRequireDefault(require("../node_modules/axios/index"));
20
20
  var _dnsTxt = require("./records/dnsTxt");
21
21
  var _dnsDid = require("./records/dnsDid");
22
22
  var _logger = require("./util/logger");
@@ -39,7 +39,7 @@ const _getLogger = (0, _logger.getLogger)("index"),
39
39
  trace = _getLogger.trace;
40
40
  const defaultDnsResolvers = exports.defaultDnsResolvers = [( /*#__PURE__*/function () {
41
41
  var _ref = _asyncToGenerator(function* (domain) {
42
- const _yield$axios = yield (0, _axios.default)({
42
+ const _yield$axios = yield (0, _index.default)({
43
43
  method: "GET",
44
44
  url: `https://dns.google/resolve?name=${domain}&type=TXT`
45
45
  }),
@@ -51,7 +51,7 @@ const defaultDnsResolvers = exports.defaultDnsResolvers = [( /*#__PURE__*/functi
51
51
  };
52
52
  }()), ( /*#__PURE__*/function () {
53
53
  var _ref2 = _asyncToGenerator(function* (domain) {
54
- const _yield$axios2 = yield (0, _axios.default)({
54
+ const _yield$axios2 = yield (0, _index.default)({
55
55
  method: "GET",
56
56
  url: `https://cloudflare-dns.com/dns-query?name=${domain}&type=TXT`,
57
57
  headers: {
@@ -113,6 +113,9 @@ const queryDns = exports.queryDns = /*#__PURE__*/function () {
113
113
  var _ref3 = _asyncToGenerator(function* (domain, customDnsResolvers) {
114
114
  let data;
115
115
  let i = 0;
116
+ if (domain.includes("://")) {
117
+ domain = domain.replace(/(^\w+:|^)\/\//, "");
118
+ }
116
119
  while (!data && i < customDnsResolvers.length) {
117
120
  try {
118
121
  const customDnsResolver = customDnsResolvers[i];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tradetrust-tt/dnsprove",
3
- "version": "2.12.4",
3
+ "version": "2.13.0",
4
4
  "description": "Helper utility for retrieving OpenAttestations document store address records from DNS",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -45,7 +45,7 @@
45
45
  "generator-nod"
46
46
  ],
47
47
  "dependencies": {
48
- "axios": "0.21.1",
48
+ "axios": "1.7.2",
49
49
  "debug": "^4.3.1",
50
50
  "runtypes": "^6.3.0"
51
51
  },
package/src/index.test.ts CHANGED
@@ -172,15 +172,41 @@ describe("queryDns", () => {
172
172
  let server: SetupServerApi;
173
173
 
174
174
  const sampleResponse = {
175
- AD: false,
175
+ Status: 0,
176
+ TC: false,
177
+ RD: true,
178
+ RA: true,
179
+ AD: true,
180
+ CD: false,
181
+ Question: [{ name: "donotuse.openattestation.com.", type: 16 }],
176
182
  Answer: [
177
183
  {
178
- name: "google.com",
184
+ name: "donotuse.openattestation.com.",
179
185
  type: 16,
180
- TTL: 3529,
181
- data: '"docusign=1b0a6754-49b1-4db5-8540-d2c12664b289"',
186
+ TTL: 300,
187
+ data: "openatts a=dns-did; p=did:ethr:0xE712878f6E8d5d4F9e87E10DA604F9cB564C9a89#controller; v=1.0;",
188
+ },
189
+ {
190
+ name: "donotuse.openattestation.com.",
191
+ type: 16,
192
+ TTL: 300,
193
+ data:
194
+ "openatts DO NOT ADD ANY RECORDS BEYOND THIS AS THIS DOMAIN IS USED FOR DNSPROVE NPM LIBRARY INTEGRATION TESTS",
195
+ },
196
+ {
197
+ name: "donotuse.openattestation.com.",
198
+ type: 16,
199
+ TTL: 300,
200
+ data: "openatts fooooooobarrrrrrrrr this entry exists to ensure validation works",
201
+ },
202
+ {
203
+ name: "donotuse.openattestation.com.",
204
+ type: 16,
205
+ TTL: 300,
206
+ data: "openatts net=ethereum netId=3 addr=0x2f60375e8144e16Adf1979936301D8341D58C36C",
182
207
  },
183
208
  ],
209
+ Comment: "Response from 205.251.199.177.",
184
210
  };
185
211
 
186
212
  const testDnsResolvers: CustomDnsResolver[] = [
@@ -216,8 +242,9 @@ describe("queryDns", () => {
216
242
  server = setupServer(...handlers);
217
243
  server.listen();
218
244
 
219
- const records = await queryDns("https://google.com", testDnsResolvers);
220
- expect(sampleResponse).toStrictEqual(records);
245
+ const records = await queryDns("https://donotuse.openattestation.com", testDnsResolvers);
246
+ const sortedAnswer = records?.Answer.sort((a, b) => a.data.localeCompare(b.data));
247
+ expect(sortedAnswer).toStrictEqual(sampleResponse.Answer);
221
248
  });
222
249
 
223
250
  test("Should fallback to second dns when first dns is down", async () => {
@@ -232,9 +259,10 @@ describe("queryDns", () => {
232
259
  server = setupServer(...handlers);
233
260
  server.listen();
234
261
 
235
- const records = await queryDns("https://google.com", testDnsResolvers);
262
+ const records = await queryDns("https://donotuse.openattestation.com", testDnsResolvers);
236
263
 
237
- expect(sampleResponse).toStrictEqual(records);
264
+ const sortedAnswer = records?.Answer.sort((a, b) => a.data.localeCompare(b.data));
265
+ expect(sortedAnswer).toStrictEqual(sampleResponse.Answer);
238
266
  });
239
267
 
240
268
  test("Should throw error when all dns provided are down", async () => {
@@ -249,7 +277,7 @@ describe("queryDns", () => {
249
277
  server = setupServer(...handlers);
250
278
  server.listen();
251
279
  try {
252
- await queryDns("https://google.com", testDnsResolvers);
280
+ await queryDns("https://donotuse.openattestation.com", testDnsResolvers);
253
281
  } catch (e: any) {
254
282
  expect(e.code).toStrictEqual(DnsproveStatusCode.IDNS_QUERY_ERROR_GENERAL);
255
283
  }
package/src/index.ts CHANGED
@@ -1,4 +1,4 @@
1
- import axios from "axios";
1
+ import axios from "../node_modules/axios/index";
2
2
  import { OpenAttestationDNSTextRecord, OpenAttestationDNSTextRecordT } from "./records/dnsTxt";
3
3
  import { OpenAttestationDnsDidRecord, OpenAttestationDnsDidRecordT } from "./records/dnsDid";
4
4
  import { getLogger } from "./util/logger";
@@ -85,6 +85,10 @@ export const queryDns = async (domain: string, customDnsResolvers: CustomDnsReso
85
85
 
86
86
  let i = 0;
87
87
 
88
+ if (domain.includes("://")) {
89
+ domain = domain.replace(/(^\w+:|^)\/\//, "");
90
+ }
91
+
88
92
  while (!data && i < customDnsResolvers.length) {
89
93
  try {
90
94
  const customDnsResolver = customDnsResolvers[i];