@ledgerhq/domain-service 1.0.0 → 1.0.1-next.1

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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/resolvers/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAaxE;;;;;GAKG;AACH,eAAO,MAAM,aAAa,WAChB,MAAM,iBACC,mBAAmB,KACjC,QAAQ,uBAAuB,EAAE,CAqDnC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,cAAc,YAChB,MAAM,iBACA,mBAAmB,KACjC,QAAQ,uBAAuB,EAAE,CAqDnC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/resolvers/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAQxE;;;;;GAKG;AACH,eAAO,MAAM,aAAa,WAChB,MAAM,iBACC,mBAAmB,KACjC,QAAQ,uBAAuB,EAAE,CAwDnC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,cAAc,YAChB,MAAM,iBACA,mBAAmB,KACjC,QAAQ,uBAAuB,EAAE,CAwDnC,CAAC"}
@@ -1,4 +1,27 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
2
25
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
26
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
27
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -40,13 +63,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
40
63
  };
41
64
  exports.__esModule = true;
42
65
  exports.resolveAddress = exports.resolveDomain = void 0;
43
- var axios_1 = __importDefault(require("axios"));
66
+ var axios_1 = __importStar(require("axios"));
44
67
  var eip55_1 = __importDefault(require("eip55"));
45
68
  var logs_1 = require("@ledgerhq/logs");
69
+ var utils_1 = require("../utils");
46
70
  var registries_1 = require("../registries");
47
- if (typeof Promise.allSettled === "undefined") {
48
- throw new Error("This lib requires Promise.allSettled in order to work. Please polyfill this method if needed.");
49
- }
50
71
  /**
51
72
  * Get an array of addresses for a domain
52
73
  *
@@ -74,7 +95,7 @@ var resolveDomain = function (domain, registryName) { return __awaiter(void 0, v
74
95
  }); })()];
75
96
  case 1:
76
97
  registries = _a.sent();
77
- responses = Promise.allSettled(registries.map(function (registry) {
98
+ responses = (0, utils_1.allSettled)(registries.map(function (registry) {
78
99
  return axios_1["default"].request({
79
100
  method: "GET",
80
101
  url: registry.resolvers.forward.replace("{name}", domain)
@@ -82,9 +103,11 @@ var resolveDomain = function (domain, registryName) { return __awaiter(void 0, v
82
103
  }));
83
104
  return [2 /*return*/, responses.then(function (promises) {
84
105
  return promises.reduce(function (result, promise, index) {
106
+ var _a;
85
107
  if (promise.status !== "fulfilled") {
86
108
  // ignore 404 error
87
- if (promise.reason.response.status !== 404) {
109
+ if (promise.reason instanceof axios_1.AxiosError &&
110
+ ((_a = promise.reason.response) === null || _a === void 0 ? void 0 : _a.status) !== 404) {
88
111
  (0, logs_1.log)("domain-service", "failed to resolve a domain", {
89
112
  domain: domain,
90
113
  error: promise.reason
@@ -150,7 +173,7 @@ var resolveAddress = function (address, registryName) { return __awaiter(void 0,
150
173
  return address;
151
174
  }
152
175
  })();
153
- responses = Promise.allSettled(registries.map(function (registry) {
176
+ responses = (0, utils_1.allSettled)(registries.map(function (registry) {
154
177
  return axios_1["default"].request({
155
178
  method: "GET",
156
179
  url: registry.resolvers.reverse.replace("{address}", address)
@@ -158,9 +181,11 @@ var resolveAddress = function (address, registryName) { return __awaiter(void 0,
158
181
  }));
159
182
  return [2 /*return*/, responses.then(function (promises) {
160
183
  return promises.reduce(function (result, promise, index) {
184
+ var _a;
161
185
  if (promise.status !== "fulfilled") {
162
186
  // ignore 404 error
163
- if (promise.reason.response.status !== 404) {
187
+ if (promise.reason instanceof axios_1.AxiosError &&
188
+ ((_a = promise.reason.response) === null || _a === void 0 ? void 0 : _a.status) !== 404) {
164
189
  (0, logs_1.log)("domain-service", "failed to resolve a address", {
165
190
  address: address,
166
191
  error: promise.reason
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/resolvers/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/resolvers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAA0C;AAC1C,gDAA0B;AAC1B,uCAAqC;AAErC,kCAAsC;AACtC,4CAIuB;AAEvB;;;;;GAKG;AACI,IAAM,aAAa,GAAG,UAC3B,MAAc,EACd,YAAkC;;;;oBAEf,qBAAM,CAAC;;;;;qCACpB,YAAY,EAAZ,wBAAY;gCACK,qBAAM,IAAA,0BAAa,GAAE,EAAA;;gCAAlC,eAAa,SAAqB;gCAClC,QAAQ,GAAG,YAAU,CAAC,IAAI,CAC9B,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAA1D,CAA0D,CAClE,CAAC;gCACF,sBAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,EAAC;oCAEpC,sBAAO,IAAA,mCAAsB,EAAC,MAAM,CAAC,EAAC;;;qBACvC,CAAC,EAAE,EAAA;;gBATE,UAAU,GAAG,SASf;gBAEE,SAAS,GAAG,IAAA,kBAAU,EAC1B,UAAU,CAAC,GAAG,CAAC,UAAC,QAAQ;oBACtB,OAAA,kBAAK,CAAC,OAAO,CAAS;wBACpB,MAAM,EAAE,KAAK;wBACb,GAAG,EAAE,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC;qBAC1D,CAAC;gBAHF,CAGE,CACH,CACF,CAAC;gBAEF,sBAAO,SAAS,CAAC,IAAI,CAAC,UAAC,QAAQ;wBAC7B,OAAA,QAAQ,CAAC,MAAM,CAAC,UAAC,MAAM,EAAE,OAAO,EAAE,KAAK;;4BACrC,IAAI,OAAO,CAAC,MAAM,KAAK,WAAW,EAAE;gCAClC,mBAAmB;gCACnB,IACE,OAAO,CAAC,MAAM,YAAY,kBAAU;oCACpC,CAAA,MAAA,OAAO,CAAC,MAAM,CAAC,QAAQ,0CAAE,MAAM,MAAK,GAAG,EACvC;oCACA,IAAA,UAAG,EAAC,gBAAgB,EAAE,4BAA4B,EAAE;wCAClD,MAAM,QAAA;wCACN,KAAK,EAAE,OAAO,CAAC,MAAM;qCACtB,CAAC,CAAC;iCACJ;gCACD,OAAO,MAAM,CAAC;6BACf;4BAED,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI;gCAAE,OAAO,MAAM,CAAC;4BAEvC,IAAM,kBAAkB,GAAG,CAAC;gCAC1B,IAAI;oCACF,OAAO,kBAAK,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;iCACzC;gCAAC,OAAO,CAAC,EAAE;oCACV,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;iCAC3B;4BACH,CAAC,CAAC,EAAE,CAAC;4BAEL,MAAM,CAAC,IAAI,CAAC;gCACV,QAAQ,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,IAAI;gCAChC,OAAO,EAAE,kBAAkB;gCAC3B,MAAM,QAAA;gCACN,IAAI,EAAE,SAAS;6BAChB,CAAC,CAAC;4BACH,OAAO,MAAM,CAAC;wBAChB,CAAC,EAAE,EAA+B,CAAC;oBAhCnC,CAgCmC,CACpC,EAAC;;;KACH,CAAC;AA3DW,QAAA,aAAa,iBA2DxB;AAEF;;;;;GAKG;AACI,IAAM,cAAc,GAAG,UAC5B,OAAe,EACf,YAAkC;;;;oBAEf,qBAAM,CAAC;;;;;qCACpB,YAAY,EAAZ,wBAAY;gCACK,qBAAM,IAAA,0BAAa,GAAE,EAAA;;gCAAlC,eAAa,SAAqB;gCAClC,QAAQ,GAAG,YAAU,CAAC,IAAI,CAC9B,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAA3D,CAA2D,CACnE,CAAC;gCACF,sBAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,EAAC;oCAEpC,sBAAO,IAAA,oCAAuB,EAAC,OAAO,CAAC,EAAC;;;qBACzC,CAAC,EAAE,EAAA;;gBATE,UAAU,GAAG,SASf;gBAEE,kBAAkB,GAAG,CAAC;oBAC1B,IAAI;wBACF,OAAO,kBAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;qBAC9B;oBAAC,OAAO,CAAC,EAAE;wBACV,OAAO,OAAO,CAAC;qBAChB;gBACH,CAAC,CAAC,EAAE,CAAC;gBAEC,SAAS,GAAG,IAAA,kBAAU,EAC1B,UAAU,CAAC,GAAG,CAAC,UAAC,QAAQ;oBACtB,OAAA,kBAAK,CAAC,OAAO,CAAS;wBACpB,MAAM,EAAE,KAAK;wBACb,GAAG,EAAE,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC;qBAC9D,CAAC;gBAHF,CAGE,CACH,CACF,CAAC;gBAEF,sBAAO,SAAS,CAAC,IAAI,CAAC,UAAC,QAAQ;wBAC7B,OAAA,QAAQ,CAAC,MAAM,CAAC,UAAC,MAAM,EAAE,OAAO,EAAE,KAAK;;4BACrC,IAAI,OAAO,CAAC,MAAM,KAAK,WAAW,EAAE;gCAClC,mBAAmB;gCACnB,IACE,OAAO,CAAC,MAAM,YAAY,kBAAU;oCACpC,CAAA,MAAA,OAAO,CAAC,MAAM,CAAC,QAAQ,0CAAE,MAAM,MAAK,GAAG,EACvC;oCACA,IAAA,UAAG,EAAC,gBAAgB,EAAE,6BAA6B,EAAE;wCACnD,OAAO,SAAA;wCACP,KAAK,EAAE,OAAO,CAAC,MAAM;qCACtB,CAAC,CAAC;iCACJ;gCACD,OAAO,MAAM,CAAC;6BACf;4BAED,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI;gCAAE,OAAO,MAAM,CAAC;4BAEvC,MAAM,CAAC,IAAI,CAAC;gCACV,QAAQ,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,IAAI;gCAChC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI;gCAC1B,OAAO,EAAE,kBAAkB;gCAC3B,IAAI,EAAE,SAAS;6BAChB,CAAC,CAAC;4BACH,OAAO,MAAM,CAAC;wBAChB,CAAC,EAAE,EAA+B,CAAC;oBAxBnC,CAwBmC,CACpC,EAAC;;;KACH,CAAC;AA3DW,QAAA,cAAc,kBA2DzB"}
package/lib/types.d.ts CHANGED
@@ -16,5 +16,14 @@ export type Registry = {
16
16
  };
17
17
  coinTypes: CoinType[];
18
18
  };
19
+ interface PromiseResolution<T> {
20
+ status: "fulfilled";
21
+ value: T;
22
+ }
23
+ interface PromiseRejection<E> {
24
+ status: "rejected";
25
+ reason: E;
26
+ }
27
+ export type PromiseResult<T, E = unknown> = PromiseResolution<T> | PromiseRejection<E>;
19
28
  export { SupportedRegistries, DomainServiceResolution };
20
29
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,KAAK,EACV,mBAAmB,EACnB,uBAAuB,EACxB,MAAM,iCAAiC,CAAC;AAEzC,MAAM,MAAM,QAAQ,GAAG;IACrB,IAAI,EAAE,mBAAmB,CAAC;IAC1B,SAAS,EAAE;QACT,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,UAAU,EAAE;QACV,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,QAAQ,EAAE;QACR,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,SAAS,EAAE,QAAQ,EAAE,CAAC;CACvB,CAAC;AAEF,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,KAAK,EACV,mBAAmB,EACnB,uBAAuB,EACxB,MAAM,iCAAiC,CAAC;AAEzC,MAAM,MAAM,QAAQ,GAAG;IACrB,IAAI,EAAE,mBAAmB,CAAC;IAC1B,SAAS,EAAE;QACT,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,UAAU,EAAE;QACV,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,QAAQ,EAAE;QACR,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,SAAS,EAAE,QAAQ,EAAE,CAAC;CACvB,CAAC;AAEF,UAAU,iBAAiB,CAAC,CAAC;IAC3B,MAAM,EAAE,WAAW,CAAC;IACpB,KAAK,EAAE,CAAC,CAAC;CACV;AACD,UAAU,gBAAgB,CAAC,CAAC;IAC1B,MAAM,EAAE,UAAU,CAAC;IACnB,MAAM,EAAE,CAAC,CAAC;CACX;AACD,MAAM,MAAM,aAAa,CAAC,CAAC,EAAE,CAAC,GAAG,OAAO,IACpC,iBAAiB,CAAC,CAAC,CAAC,GACpB,gBAAgB,CAAC,CAAC,CAAC,CAAC;AAExB,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,CAAC"}
@@ -1,3 +1,8 @@
1
+ import { PromiseResult } from "../types";
2
+ /**
3
+ * Needed polyfill for Promise.allSettled as it doesn't exist on RN.
4
+ */
5
+ export declare const allSettled: <T>(promises: Promise<T>[]) => Promise<PromiseResult<T, unknown>[]>;
1
6
  /**
2
7
  * Helper to know in advance if a domain is compatible with the nano
3
8
  *
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,eAAO,MAAM,cAAc,WAAY,MAAM,GAAG,SAAS,KAAG,OAW3D,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC;;GAEG;AACH,eAAO,MAAM,UAAU,qEAoBtB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,cAAc,WAAY,MAAM,GAAG,SAAS,KAAG,OAW3D,CAAC"}
@@ -1,6 +1,26 @@
1
1
  "use strict";
2
2
  exports.__esModule = true;
3
- exports.validateDomain = void 0;
3
+ exports.validateDomain = exports.allSettled = void 0;
4
+ /**
5
+ * Needed polyfill for Promise.allSettled as it doesn't exist on RN.
6
+ */
7
+ var allSettled = function (promises) {
8
+ return Promise.all(promises.map(function (p) {
9
+ return p
10
+ .then(function (value) {
11
+ return {
12
+ status: "fulfilled",
13
+ value: value
14
+ };
15
+ })["catch"](function (reason) {
16
+ return {
17
+ status: "rejected",
18
+ reason: reason
19
+ };
20
+ });
21
+ }));
22
+ };
23
+ exports.allSettled = allSettled;
4
24
  /**
5
25
  * Helper to know in advance if a domain is compatible with the nano
6
26
  *
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACI,IAAM,cAAc,GAAG,UAAC,MAA0B;IACvD,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;QAC9B,OAAO,KAAK,CAAC;KACd;IAED,IAAM,aAAa,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC;IACvE,4DAA4D;IAC5D,4CAA4C;IAC5C,IAAM,sBAAsB,GAAG,IAAI,MAAM,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAEzE,OAAO,aAAa,IAAI,sBAAsB,CAAC;AACjD,CAAC,CAAC;AAXW,QAAA,cAAc,kBAWzB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;AAEA;;GAEG;AACI,IAAM,UAAU,GAAG,UACxB,QAAsB;IAEtB,OAAO,OAAO,CAAC,GAAG,CAChB,QAAQ,CAAC,GAAG,CAAC,UAAC,CAAC;QACb,OAAO,CAAC;aACL,IAAI,CAAC,UAAC,KAAK;YACV,OAAO;gBACL,MAAM,EAAE,WAAoB;gBAC5B,KAAK,OAAA;aACN,CAAC;QACJ,CAAC,CAAC,CACD,OAAK,CAAA,CAAC,UAAC,MAAe;YACrB,OAAO;gBACL,MAAM,EAAE,UAAmB;gBAC3B,MAAM,QAAA;aACP,CAAC;QACJ,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CACH,CAAC;AACJ,CAAC,CAAC;AApBW,QAAA,UAAU,cAoBrB;AAEF;;;;;GAKG;AACI,IAAM,cAAc,GAAG,UAAC,MAA0B;IACvD,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;QAC9B,OAAO,KAAK,CAAC;KACd;IAED,IAAM,aAAa,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC;IACvE,4DAA4D;IAC5D,4CAA4C;IAC5C,IAAM,sBAAsB,GAAG,IAAI,MAAM,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAEzE,OAAO,aAAa,IAAI,sBAAsB,CAAC;AACjD,CAAC,CAAC;AAXW,QAAA,cAAc,kBAWzB"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/resolvers/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAaxE;;;;;GAKG;AACH,eAAO,MAAM,aAAa,WAChB,MAAM,iBACC,mBAAmB,KACjC,QAAQ,uBAAuB,EAAE,CAqDnC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,cAAc,YAChB,MAAM,iBACA,mBAAmB,KACjC,QAAQ,uBAAuB,EAAE,CAqDnC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/resolvers/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAQxE;;;;;GAKG;AACH,eAAO,MAAM,aAAa,WAChB,MAAM,iBACC,mBAAmB,KACjC,QAAQ,uBAAuB,EAAE,CAwDnC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,cAAc,YAChB,MAAM,iBACA,mBAAmB,KACjC,QAAQ,uBAAuB,EAAE,CAwDnC,CAAC"}
@@ -34,13 +34,11 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
34
34
  if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
35
35
  }
36
36
  };
37
- import axios from "axios";
37
+ import axios, { AxiosError } from "axios";
38
38
  import eip55 from "eip55";
39
39
  import { log } from "@ledgerhq/logs";
40
+ import { allSettled } from "../utils";
40
41
  import { getRegistries, getRegistriesForAddress, getRegistriesForDomain, } from "../registries";
41
- if (typeof Promise.allSettled === "undefined") {
42
- throw new Error("This lib requires Promise.allSettled in order to work. Please polyfill this method if needed.");
43
- }
44
42
  /**
45
43
  * Get an array of addresses for a domain
46
44
  *
@@ -68,7 +66,7 @@ export var resolveDomain = function (domain, registryName) { return __awaiter(vo
68
66
  }); })()];
69
67
  case 1:
70
68
  registries = _a.sent();
71
- responses = Promise.allSettled(registries.map(function (registry) {
69
+ responses = allSettled(registries.map(function (registry) {
72
70
  return axios.request({
73
71
  method: "GET",
74
72
  url: registry.resolvers.forward.replace("{name}", domain)
@@ -76,9 +74,11 @@ export var resolveDomain = function (domain, registryName) { return __awaiter(vo
76
74
  }));
77
75
  return [2 /*return*/, responses.then(function (promises) {
78
76
  return promises.reduce(function (result, promise, index) {
77
+ var _a;
79
78
  if (promise.status !== "fulfilled") {
80
79
  // ignore 404 error
81
- if (promise.reason.response.status !== 404) {
80
+ if (promise.reason instanceof AxiosError &&
81
+ ((_a = promise.reason.response) === null || _a === void 0 ? void 0 : _a.status) !== 404) {
82
82
  log("domain-service", "failed to resolve a domain", {
83
83
  domain: domain,
84
84
  error: promise.reason
@@ -143,7 +143,7 @@ export var resolveAddress = function (address, registryName) { return __awaiter(
143
143
  return address;
144
144
  }
145
145
  })();
146
- responses = Promise.allSettled(registries.map(function (registry) {
146
+ responses = allSettled(registries.map(function (registry) {
147
147
  return axios.request({
148
148
  method: "GET",
149
149
  url: registry.resolvers.reverse.replace("{address}", address)
@@ -151,9 +151,11 @@ export var resolveAddress = function (address, registryName) { return __awaiter(
151
151
  }));
152
152
  return [2 /*return*/, responses.then(function (promises) {
153
153
  return promises.reduce(function (result, promise, index) {
154
+ var _a;
154
155
  if (promise.status !== "fulfilled") {
155
156
  // ignore 404 error
156
- if (promise.reason.response.status !== 404) {
157
+ if (promise.reason instanceof AxiosError &&
158
+ ((_a = promise.reason.response) === null || _a === void 0 ? void 0 : _a.status) !== 404) {
157
159
  log("domain-service", "failed to resolve a address", {
158
160
  address: address,
159
161
  error: promise.reason
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/resolvers/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/resolvers/index.ts"],"names":[],"mappings":"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"}
package/lib-es/types.d.ts CHANGED
@@ -16,5 +16,14 @@ export type Registry = {
16
16
  };
17
17
  coinTypes: CoinType[];
18
18
  };
19
+ interface PromiseResolution<T> {
20
+ status: "fulfilled";
21
+ value: T;
22
+ }
23
+ interface PromiseRejection<E> {
24
+ status: "rejected";
25
+ reason: E;
26
+ }
27
+ export type PromiseResult<T, E = unknown> = PromiseResolution<T> | PromiseRejection<E>;
19
28
  export { SupportedRegistries, DomainServiceResolution };
20
29
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,KAAK,EACV,mBAAmB,EACnB,uBAAuB,EACxB,MAAM,iCAAiC,CAAC;AAEzC,MAAM,MAAM,QAAQ,GAAG;IACrB,IAAI,EAAE,mBAAmB,CAAC;IAC1B,SAAS,EAAE;QACT,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,UAAU,EAAE;QACV,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,QAAQ,EAAE;QACR,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,SAAS,EAAE,QAAQ,EAAE,CAAC;CACvB,CAAC;AAEF,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,KAAK,EACV,mBAAmB,EACnB,uBAAuB,EACxB,MAAM,iCAAiC,CAAC;AAEzC,MAAM,MAAM,QAAQ,GAAG;IACrB,IAAI,EAAE,mBAAmB,CAAC;IAC1B,SAAS,EAAE;QACT,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,UAAU,EAAE;QACV,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,QAAQ,EAAE;QACR,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,SAAS,EAAE,QAAQ,EAAE,CAAC;CACvB,CAAC;AAEF,UAAU,iBAAiB,CAAC,CAAC;IAC3B,MAAM,EAAE,WAAW,CAAC;IACpB,KAAK,EAAE,CAAC,CAAC;CACV;AACD,UAAU,gBAAgB,CAAC,CAAC;IAC1B,MAAM,EAAE,UAAU,CAAC;IACnB,MAAM,EAAE,CAAC,CAAC;CACX;AACD,MAAM,MAAM,aAAa,CAAC,CAAC,EAAE,CAAC,GAAG,OAAO,IACpC,iBAAiB,CAAC,CAAC,CAAC,GACpB,gBAAgB,CAAC,CAAC,CAAC,CAAC;AAExB,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,CAAC"}
@@ -1,3 +1,8 @@
1
+ import { PromiseResult } from "../types";
2
+ /**
3
+ * Needed polyfill for Promise.allSettled as it doesn't exist on RN.
4
+ */
5
+ export declare const allSettled: <T>(promises: Promise<T>[]) => Promise<PromiseResult<T, unknown>[]>;
1
6
  /**
2
7
  * Helper to know in advance if a domain is compatible with the nano
3
8
  *
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,eAAO,MAAM,cAAc,WAAY,MAAM,GAAG,SAAS,KAAG,OAW3D,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC;;GAEG;AACH,eAAO,MAAM,UAAU,qEAoBtB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,cAAc,WAAY,MAAM,GAAG,SAAS,KAAG,OAW3D,CAAC"}
@@ -1,3 +1,22 @@
1
+ /**
2
+ * Needed polyfill for Promise.allSettled as it doesn't exist on RN.
3
+ */
4
+ export var allSettled = function (promises) {
5
+ return Promise.all(promises.map(function (p) {
6
+ return p
7
+ .then(function (value) {
8
+ return {
9
+ status: "fulfilled",
10
+ value: value
11
+ };
12
+ })["catch"](function (reason) {
13
+ return {
14
+ status: "rejected",
15
+ reason: reason
16
+ };
17
+ });
18
+ }));
19
+ };
1
20
  /**
2
21
  * Helper to know in advance if a domain is compatible with the nano
3
22
  *
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,CAAC,IAAM,cAAc,GAAG,UAAC,MAA0B;IACvD,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;QAC9B,OAAO,KAAK,CAAC;KACd;IAED,IAAM,aAAa,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC;IACvE,4DAA4D;IAC5D,4CAA4C;IAC5C,IAAM,sBAAsB,GAAG,IAAI,MAAM,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAEzE,OAAO,aAAa,IAAI,sBAAsB,CAAC;AACjD,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,CAAC,IAAM,UAAU,GAAG,UACxB,QAAsB;IAEtB,OAAO,OAAO,CAAC,GAAG,CAChB,QAAQ,CAAC,GAAG,CAAC,UAAC,CAAC;QACb,OAAO,CAAC;aACL,IAAI,CAAC,UAAC,KAAK;YACV,OAAO;gBACL,MAAM,EAAE,WAAoB;gBAC5B,KAAK,OAAA;aACN,CAAC;QACJ,CAAC,CAAC,CACD,OAAK,CAAA,CAAC,UAAC,MAAe;YACrB,OAAO;gBACL,MAAM,EAAE,UAAmB;gBAC3B,MAAM,QAAA;aACP,CAAC;QACJ,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CACH,CAAC;AACJ,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,IAAM,cAAc,GAAG,UAAC,MAA0B;IACvD,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;QAC9B,OAAO,KAAK,CAAC;KACd;IAED,IAAM,aAAa,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC;IACvE,4DAA4D;IAC5D,4CAA4C;IAC5C,IAAM,sBAAsB,GAAG,IAAI,MAAM,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAEzE,OAAO,aAAa,IAAI,sBAAsB,CAAC;AACjD,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@ledgerhq/domain-service",
3
3
  "description": "Ledger service responsible for domain handling",
4
- "version": "1.0.0",
4
+ "version": "1.0.1-next.1",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
7
7
  "type": "git",
@@ -58,10 +58,10 @@
58
58
  "eip55": "^2.1.0",
59
59
  "react": "^17.0.2",
60
60
  "react-dom": "^17.0.2",
61
- "@ledgerhq/cryptoassets": "^9.3.0",
61
+ "@ledgerhq/cryptoassets": "^9.4.0-next.0",
62
62
  "@ledgerhq/errors": "^6.12.4",
63
63
  "@ledgerhq/logs": "^6.10.1",
64
- "@ledgerhq/types-live": "^6.32.0"
64
+ "@ledgerhq/types-live": "^6.32.1-next.0"
65
65
  },
66
66
  "devDependencies": {
67
67
  "@testing-library/jest-dom": "^5.16.5",
@@ -1,19 +1,14 @@
1
- import axios from "axios";
1
+ import axios, { AxiosError } from "axios";
2
2
  import eip55 from "eip55";
3
3
  import { log } from "@ledgerhq/logs";
4
4
  import { DomainServiceResolution, SupportedRegistries } from "../types";
5
+ import { allSettled } from "../utils";
5
6
  import {
6
7
  getRegistries,
7
8
  getRegistriesForAddress,
8
9
  getRegistriesForDomain,
9
10
  } from "../registries";
10
11
 
11
- if (typeof Promise.allSettled === "undefined") {
12
- throw new Error(
13
- "This lib requires Promise.allSettled in order to work. Please polyfill this method if needed."
14
- );
15
- }
16
-
17
12
  /**
18
13
  * Get an array of addresses for a domain
19
14
  *
@@ -35,7 +30,7 @@ export const resolveDomain = async (
35
30
  return getRegistriesForDomain(domain);
36
31
  })();
37
32
 
38
- const responses = Promise.allSettled(
33
+ const responses = allSettled(
39
34
  registries.map((registry) =>
40
35
  axios.request<string>({
41
36
  method: "GET",
@@ -48,7 +43,10 @@ export const resolveDomain = async (
48
43
  promises.reduce((result, promise, index) => {
49
44
  if (promise.status !== "fulfilled") {
50
45
  // ignore 404 error
51
- if (promise.reason.response.status !== 404) {
46
+ if (
47
+ promise.reason instanceof AxiosError &&
48
+ promise.reason.response?.status !== 404
49
+ ) {
52
50
  log("domain-service", "failed to resolve a domain", {
53
51
  domain,
54
52
  error: promise.reason,
@@ -107,7 +105,7 @@ export const resolveAddress = async (
107
105
  }
108
106
  })();
109
107
 
110
- const responses = Promise.allSettled(
108
+ const responses = allSettled(
111
109
  registries.map((registry) =>
112
110
  axios.request<string>({
113
111
  method: "GET",
@@ -120,7 +118,10 @@ export const resolveAddress = async (
120
118
  promises.reduce((result, promise, index) => {
121
119
  if (promise.status !== "fulfilled") {
122
120
  // ignore 404 error
123
- if (promise.reason.response.status !== 404) {
121
+ if (
122
+ promise.reason instanceof AxiosError &&
123
+ promise.reason.response?.status !== 404
124
+ ) {
124
125
  log("domain-service", "failed to resolve a address", {
125
126
  address,
126
127
  error: promise.reason,
package/src/types.ts CHANGED
@@ -21,4 +21,16 @@ export type Registry = {
21
21
  coinTypes: CoinType[];
22
22
  };
23
23
 
24
+ interface PromiseResolution<T> {
25
+ status: "fulfilled";
26
+ value: T;
27
+ }
28
+ interface PromiseRejection<E> {
29
+ status: "rejected";
30
+ reason: E;
31
+ }
32
+ export type PromiseResult<T, E = unknown> =
33
+ | PromiseResolution<T>
34
+ | PromiseRejection<E>;
35
+
24
36
  export { SupportedRegistries, DomainServiceResolution };
@@ -1,3 +1,30 @@
1
+ import { PromiseResult } from "../types";
2
+
3
+ /**
4
+ * Needed polyfill for Promise.allSettled as it doesn't exist on RN.
5
+ */
6
+ export const allSettled = <T>(
7
+ promises: Promise<T>[]
8
+ ): Promise<PromiseResult<T>[]> => {
9
+ return Promise.all(
10
+ promises.map((p) => {
11
+ return p
12
+ .then((value) => {
13
+ return {
14
+ status: "fulfilled" as const,
15
+ value,
16
+ };
17
+ })
18
+ .catch((reason: unknown) => {
19
+ return {
20
+ status: "rejected" as const,
21
+ reason,
22
+ };
23
+ });
24
+ })
25
+ );
26
+ };
27
+
1
28
  /**
2
29
  * Helper to know in advance if a domain is compatible with the nano
3
30
  *