UNPKG

29.5 kBJavaScriptView Raw
1"use strict";
2var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3 function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4 return new (P || (P = Promise))(function (resolve, reject) {
5 function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6 function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7 function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8 step((generator = generator.apply(thisArg, _arguments || [])).next());
9 });
10};
11var __generator = (this && this.__generator) || function (thisArg, body) {
12 var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13 return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14 function verb(n) { return function (v) { return step([n, v]); }; }
15 function step(op) {
16 if (f) throw new TypeError("Generator is already executing.");
17 while (_) try {
18 if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19 if (y = 0, t) op = [op[0] & 2, t.value];
20 switch (op[0]) {
21 case 0: case 1: t = op; break;
22 case 4: _.label++; return { value: op[1], done: false };
23 case 5: _.label++; y = op[1]; op = [0]; continue;
24 case 7: op = _.ops.pop(); _.trys.pop(); continue;
25 default:
26 if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27 if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28 if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29 if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30 if (t[2]) _.ops.pop();
31 _.trys.pop(); continue;
32 }
33 op = body.call(thisArg, _);
34 } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35 if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36 }
37};
38var __importDefault = (this && this.__importDefault) || function (mod) {
39 return (mod && mod.__esModule) ? mod : { "default": mod };
40};
41var __importStar = (this && this.__importStar) || function (mod) {
42 if (mod && mod.__esModule) return mod;
43 var result = {};
44 if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
45 result["default"] = mod;
46 return result;
47};
48Object.defineProperty(exports, "__esModule", { value: true });
49var nock_1 = __importDefault(require("nock"));
50var _1 = __importStar(require("."));
51var ens_1 = __importDefault(require("./ens"));
52var types_1 = require("./types");
53var testHelpers_1 = require("./utils/testHelpers");
54beforeEach(function () {
55 nock_1.default.cleanAll();
56 jest.restoreAllMocks();
57});
58describe('ENS', function () {
59 it('allows ens network specified as string', function () { return __awaiter(void 0, void 0, void 0, function () {
60 var resolution;
61 return __generator(this, function (_a) {
62 resolution = new _1.default({
63 blockchain: { ens: { network: 'mainnet' } },
64 });
65 expect(resolution.ens.url).toBe('https://mainnet.infura.io');
66 expect(resolution.ens.network).toEqual('mainnet');
67 return [2 /*return*/];
68 });
69 }); });
70 it('resolves .eth name using blockchain', function () { return __awaiter(void 0, void 0, void 0, function () {
71 var resolution, eyes, _a, _b;
72 return __generator(this, function (_c) {
73 switch (_c.label) {
74 case 0:
75 resolution = new _1.default({
76 blockchain: { ens: true },
77 });
78 expect(resolution.ens.url).toBe('https://mainnet.infura.io');
79 expect(resolution.ens.network).toEqual('mainnet');
80 eyes = testHelpers_1.mockAsyncMethods(resolution.ens, {
81 getOwner: '0x825ef33943d925731FBB89C99aF5780D888bD217',
82 getResolver: '0x5FfC014343cd971B7eb70732021E26C35B744cc4',
83 fetchAddress: '0x714ef33943d925731FBB89C99aF5780D888bD106',
84 });
85 _a = expect;
86 return [4 /*yield*/, resolution.address('matthewgould.eth', 'ETH')];
87 case 1:
88 _a.apply(void 0, [_c.sent()]).toEqual('0x714ef33943d925731FBB89C99aF5780D888bD106');
89 _b = expect;
90 return [4 /*yield*/, resolution.owner('matthewgould.eth')];
91 case 2:
92 _b.apply(void 0, [_c.sent()]).toEqual('0x825ef33943d925731FBB89C99aF5780D888bD217');
93 testHelpers_1.expectSpyToBeCalled(eyes);
94 return [2 /*return*/];
95 }
96 });
97 }); });
98 it('reverses address to ENS domain', function () { return __awaiter(void 0, void 0, void 0, function () {
99 var ens, eyes, result;
100 return __generator(this, function (_a) {
101 switch (_a.label) {
102 case 0:
103 ens = new ens_1.default(testHelpers_1.MainnetUrl);
104 eyes = testHelpers_1.mockAsyncMethods(ens, {
105 resolverCallToName: 'adrian.argent.xyz',
106 getResolver: '0xDa1756Bb923Af5d1a05E277CB1E54f1D0A127890',
107 });
108 return [4 /*yield*/, ens.reverse('0xb0E7a465D255aE83eb7F8a50504F3867B945164C', 'ETH')];
109 case 1:
110 result = _a.sent();
111 testHelpers_1.expectSpyToBeCalled(eyes);
112 expect(result).toEqual('adrian.argent.xyz');
113 return [2 /*return*/];
114 }
115 });
116 }); });
117 it('reverses address to ENS domain null', function () { return __awaiter(void 0, void 0, void 0, function () {
118 var ens, spy, result;
119 return __generator(this, function (_a) {
120 switch (_a.label) {
121 case 0:
122 ens = new ens_1.default(testHelpers_1.MainnetUrl);
123 spy = testHelpers_1.mockAsyncMethod(ens, 'getResolver', types_1.NullAddress);
124 return [4 /*yield*/, ens.reverse('0x112234455c3a32fd11230c42e7bccd4a84e02010', 'ETH')];
125 case 1:
126 result = _a.sent();
127 testHelpers_1.expectSpyToBeCalled([spy]);
128 expect(result).toEqual(null);
129 return [2 /*return*/];
130 }
131 });
132 }); });
133 it('resolves .xyz name using ENS blockchain', function () { return __awaiter(void 0, void 0, void 0, function () {
134 var resolution, eyes, result;
135 return __generator(this, function (_a) {
136 switch (_a.label) {
137 case 0:
138 resolution = new _1.default({
139 blockchain: { ens: testHelpers_1.MainnetUrl },
140 });
141 eyes = testHelpers_1.mockAsyncMethods(resolution.ens, {
142 getOwner: '0xb0E7a465D255aE83eb7F8a50504F3867B945164C',
143 getResolver: '0xDa1756Bb923Af5d1a05E277CB1E54f1D0A127890',
144 fetchAddress: '0xb0E7a465D255aE83eb7F8a50504F3867B945164C',
145 });
146 return [4 /*yield*/, resolution.address('adrian.argent.xyz', 'ETH')];
147 case 1:
148 result = _a.sent();
149 testHelpers_1.expectSpyToBeCalled(eyes);
150 expect(result).toEqual('0xb0E7a465D255aE83eb7F8a50504F3867B945164C');
151 return [2 /*return*/];
152 }
153 });
154 }); });
155 it('resolves .luxe name using ENS blockchain', function () { return __awaiter(void 0, void 0, void 0, function () {
156 var resolution, eyes, result;
157 return __generator(this, function (_a) {
158 switch (_a.label) {
159 case 0:
160 resolution = new _1.default({
161 blockchain: { ens: testHelpers_1.MainnetUrl },
162 });
163 eyes = testHelpers_1.mockAsyncMethods(resolution.ens, {
164 getOwner: '0xf3dE750A73C11a6a2863761E930BF5fE979d5663',
165 getResolver: '0xBD5F5ec7ed5f19b53726344540296C02584A5237',
166 fetchAddress: '0xf3dE750A73C11a6a2863761E930BF5fE979d5663',
167 });
168 return [4 /*yield*/, resolution.address('john.luxe', 'ETH')];
169 case 1:
170 result = _a.sent();
171 testHelpers_1.expectSpyToBeCalled(eyes);
172 expect(result).toEqual('0xf3dE750A73C11a6a2863761E930BF5fE979d5663');
173 return [2 /*return*/];
174 }
175 });
176 }); });
177 it('resolves .luxe name using ENS blockchain with safe null return', function () { return __awaiter(void 0, void 0, void 0, function () {
178 var resolution, ownerEye, result;
179 return __generator(this, function (_a) {
180 switch (_a.label) {
181 case 0:
182 resolution = new _1.default({
183 blockchain: { ens: testHelpers_1.MainnetUrl },
184 });
185 ownerEye = testHelpers_1.mockAsyncMethod(resolution.ens, 'getOwner', types_1.NullAddress);
186 return [4 /*yield*/, resolution.address('something.luxe', 'ETH')];
187 case 1:
188 result = _a.sent();
189 testHelpers_1.expectSpyToBeCalled([ownerEye]);
190 expect(result).toEqual(null);
191 return [2 /*return*/];
192 }
193 });
194 }); });
195 it('resolves .luxe name using ENS blockchain with thrown error', function () { return __awaiter(void 0, void 0, void 0, function () {
196 var resolution;
197 return __generator(this, function (_a) {
198 switch (_a.label) {
199 case 0:
200 resolution = new _1.default({
201 blockchain: { ens: testHelpers_1.MainnetUrl },
202 });
203 return [4 /*yield*/, testHelpers_1.expectResolutionErrorCode(resolution.addressOrThrow('something.luxe', 'ETH'), _1.ResolutionErrorCode.UnregisteredDomain)];
204 case 1:
205 _a.sent();
206 return [2 /*return*/];
207 }
208 });
209 }); });
210 it('resolves name with resolver but without an owner', function () { return __awaiter(void 0, void 0, void 0, function () {
211 var ens, eyes, doge;
212 return __generator(this, function (_a) {
213 switch (_a.label) {
214 case 0:
215 ens = new ens_1.default();
216 eyes = testHelpers_1.mockAsyncMethods(ens, {
217 getOwner: types_1.NullAddress,
218 getResolver: '0x226159d592E2b063810a10Ebf6dcbADA94Ed68b8',
219 callMethod: '0x76a9144620b70031f0e9437e374a2100934fba4911046088ac',
220 });
221 return [4 /*yield*/, ens.address('testthing.eth', 'DOGE')];
222 case 1:
223 doge = _a.sent();
224 testHelpers_1.expectSpyToBeCalled(eyes);
225 expect(doge).toBe('DBXu2kgc3xtvCUWFcxFE3r9hEYgmuaaCyD');
226 return [2 /*return*/];
227 }
228 });
229 }); });
230 it('checks if the network is supported(true)', function () { return __awaiter(void 0, void 0, void 0, function () {
231 var ens, answer;
232 return __generator(this, function (_a) {
233 ens = new ens_1.default({ network: 1 });
234 answer = ens.isSupportedNetwork();
235 expect(answer).toBe(true);
236 return [2 /*return*/];
237 });
238 }); });
239 it('checks if the network is supported(false)', function () { return __awaiter(void 0, void 0, void 0, function () {
240 var ens, answer;
241 return __generator(this, function (_a) {
242 ens = new ens_1.default({ network: 5 });
243 answer = ens.isSupportedNetwork();
244 expect(answer).toBe(false);
245 return [2 /*return*/];
246 });
247 }); });
248 it('checks normalizeSource ens (boolean)', function () { return __awaiter(void 0, void 0, void 0, function () {
249 var resolution;
250 return __generator(this, function (_a) {
251 resolution = new _1.default({ blockchain: { ens: true } });
252 expect(resolution.ens.network).toBe('mainnet');
253 expect(resolution.ens.url).toBe('https://mainnet.infura.io');
254 return [2 /*return*/];
255 });
256 }); });
257 it('checks normalizeSource ens (boolean - false)', function () { return __awaiter(void 0, void 0, void 0, function () {
258 var ens;
259 return __generator(this, function (_a) {
260 ens = new ens_1.default({ network: 5 });
261 expect(ens.network).toBe('goerli');
262 expect(ens.url).toBe('https://goerli.infura.io');
263 expect(ens.isSupportedNetwork()).toBeFalsy();
264 return [2 /*return*/];
265 });
266 }); });
267 it('checks normalizeSource ens (object) #1', function () { return __awaiter(void 0, void 0, void 0, function () {
268 var resolution;
269 return __generator(this, function (_a) {
270 resolution = new _1.default({
271 blockchain: { ens: { url: 'https://mainnet.infura.io' } },
272 });
273 expect(resolution.ens.network).toBe('mainnet');
274 expect(resolution.ens.url).toBe('https://mainnet.infura.io');
275 return [2 /*return*/];
276 });
277 }); });
278 it('checks normalizeSource ens (object) #2', function () { return __awaiter(void 0, void 0, void 0, function () {
279 var resolution;
280 return __generator(this, function (_a) {
281 resolution = new _1.default({ blockchain: { ens: { network: 3 } } });
282 expect(resolution.ens.network).toBe('ropsten');
283 expect(resolution.ens.url).toBe('https://ropsten.infura.io');
284 expect(resolution.ens.registryAddress).toBe('0x112234455c3a32fd11230c42e7bccd4a84e02010');
285 return [2 /*return*/];
286 });
287 }); });
288 it('checks normalizeSource ens (object) #3', function () { return __awaiter(void 0, void 0, void 0, function () {
289 var resolution;
290 return __generator(this, function (_a) {
291 resolution = new _1.default({
292 blockchain: { ens: { url: 'https://rinkeby.infura.io' } },
293 });
294 expect(resolution.ens.network).toBe('rinkeby');
295 expect(resolution.ens.url).toBe('https://rinkeby.infura.io');
296 return [2 /*return*/];
297 });
298 }); });
299 it('checks normalizeSource ens (object) #4', function () { return __awaiter(void 0, void 0, void 0, function () {
300 var resolution;
301 return __generator(this, function (_a) {
302 resolution = new _1.default({
303 blockchain: { ens: { url: 'https://goerli.infura.io', network: 5 } },
304 });
305 expect(resolution.ens.network).toBe('goerli');
306 expect(resolution.ens.url).toBe('https://goerli.infura.io');
307 expect(resolution.ens.registryAddress).toBeUndefined();
308 return [2 /*return*/];
309 });
310 }); });
311 it('checks normalizeSource ens (object) #6', function () { return __awaiter(void 0, void 0, void 0, function () {
312 return __generator(this, function (_a) {
313 expect(function () { return new _1.default({ blockchain: { ens: { network: 7543 } } }); }).toThrowError('Unspecified network in Resolution ENS configuration');
314 return [2 /*return*/];
315 });
316 }); });
317 it('checks normalizeSource ens (object) #7', function () { return __awaiter(void 0, void 0, void 0, function () {
318 return __generator(this, function (_a) {
319 expect(function () { return new _1.default({ blockchain: { ens: { network: 'invalid' } } }); }).toThrowError('Unspecified url in Resolution ENS configuration');
320 return [2 /*return*/];
321 });
322 }); });
323 it('checks normalizeSource ens (object) #8', function () { return __awaiter(void 0, void 0, void 0, function () {
324 var resolution;
325 return __generator(this, function (_a) {
326 resolution = new _1.default({
327 blockchain: { ens: { network: 'mainnet' } },
328 });
329 expect(resolution.ens.network).toBe('mainnet');
330 expect(resolution.ens.url).toBe('https://mainnet.infura.io');
331 return [2 /*return*/];
332 });
333 }); });
334 it('checks normalizeSource ens (object) #9', function () { return __awaiter(void 0, void 0, void 0, function () {
335 var resolution;
336 return __generator(this, function (_a) {
337 resolution = new _1.default({
338 blockchain: { ens: { network: 'kovan' } },
339 });
340 expect(resolution.ens.network).toBe('kovan');
341 expect(resolution.ens.url).toBe('https://kovan.infura.io');
342 return [2 /*return*/];
343 });
344 }); });
345 it('checks normalizeSource ens (object) #10', function () { return __awaiter(void 0, void 0, void 0, function () {
346 var resolution;
347 return __generator(this, function (_a) {
348 resolution = new _1.default({
349 blockchain: {
350 ens: { registry: '0x314159265dd8dbb310642f98f50c066173c1259b' },
351 },
352 });
353 expect(resolution.ens.network).toBe('mainnet');
354 expect(resolution.ens.url).toBe('https://mainnet.infura.io');
355 expect(resolution.ens.registryAddress).toBe('0x314159265dd8dbb310642f98f50c066173c1259b');
356 return [2 /*return*/];
357 });
358 }); });
359 it('checks normalizeSource ens (object) #11', function () { return __awaiter(void 0, void 0, void 0, function () {
360 var resolution;
361 return __generator(this, function (_a) {
362 resolution = new _1.default({
363 blockchain: {
364 ens: {
365 network: 'ropsten',
366 registry: '0x112234455c3a32fd11230c42e7bccd4a84e02010',
367 },
368 },
369 });
370 expect(resolution.ens.network).toBe('ropsten');
371 expect(resolution.ens.url).toBe('https://ropsten.infura.io');
372 expect(resolution.ens.registryAddress).toBe('0x112234455c3a32fd11230c42e7bccd4a84e02010');
373 return [2 /*return*/];
374 });
375 }); });
376 it('checks normalizeSource ens (object) #12', function () { return __awaiter(void 0, void 0, void 0, function () {
377 var resolution;
378 return __generator(this, function (_a) {
379 resolution = new _1.default({
380 blockchain: {
381 ens: { registry: '0xabcffff1231586348194fcabbeff1231240234fc' },
382 },
383 });
384 expect(resolution.ens.network).toBe('mainnet');
385 expect(resolution.ens.url).toBe('https://mainnet.infura.io');
386 expect(resolution.ens.registryAddress).toBe('0xabcffff1231586348194fcabbeff1231240234fc');
387 return [2 /*return*/];
388 });
389 }); });
390 it('checks normalizeSource ens (object) #13', function () { return __awaiter(void 0, void 0, void 0, function () {
391 var resolution;
392 return __generator(this, function (_a) {
393 resolution = new _1.default({
394 blockchain: {
395 ens: { network: 'custom', url: 'https://custom.notinfura.io' },
396 },
397 });
398 expect(resolution.ens.network).toBe('custom');
399 expect(resolution.ens.url).toBe('https://custom.notinfura.io');
400 expect(resolution.ens.registryAddress).toBeUndefined();
401 return [2 /*return*/];
402 });
403 }); });
404 it('checks ens multicoin support #1', function () { return __awaiter(void 0, void 0, void 0, function () {
405 var ens, eyes, doge;
406 return __generator(this, function (_a) {
407 switch (_a.label) {
408 case 0:
409 ens = new ens_1.default();
410 eyes = testHelpers_1.mockAsyncMethods(ens, {
411 getOwner: '0x0904Dac3347eA47d208F3Fd67402D039a3b99859',
412 getResolver: '0x226159d592E2b063810a10Ebf6dcbADA94Ed68b8',
413 callMethod: '0x76a9144620b70031f0e9437e374a2100934fba4911046088ac',
414 });
415 return [4 /*yield*/, ens.address('testthing.eth', 'DOGE')];
416 case 1:
417 doge = _a.sent();
418 testHelpers_1.expectSpyToBeCalled(eyes);
419 expect(doge).toBe('DBXu2kgc3xtvCUWFcxFE3r9hEYgmuaaCyD');
420 return [2 /*return*/];
421 }
422 });
423 }); });
424 it('checks ens multicoin support #2', function () { return __awaiter(void 0, void 0, void 0, function () {
425 var ens, eyes, ltc;
426 return __generator(this, function (_a) {
427 switch (_a.label) {
428 case 0:
429 ens = new ens_1.default();
430 eyes = testHelpers_1.mockAsyncMethods(ens, {
431 getOwner: '0x0904Dac3347eA47d208F3Fd67402D039a3b99859',
432 getResolver: '0x226159d592E2b063810a10Ebf6dcbADA94Ed68b8',
433 callMethod: '0xa914e8604d28ef5d2a7caafe8741e5dd4816b7cb19ea87',
434 });
435 return [4 /*yield*/, ens.address('testthing.eth', 'LTC')];
436 case 1:
437 ltc = _a.sent();
438 testHelpers_1.expectSpyToBeCalled(eyes);
439 expect(ltc).toBe('MV5rN5EcX1imDS2gEh5jPJXeiW5QN8YrK3');
440 return [2 /*return*/];
441 }
442 });
443 }); });
444 it('checks ens multicoin support #3', function () { return __awaiter(void 0, void 0, void 0, function () {
445 var ens, eyes, eth;
446 return __generator(this, function (_a) {
447 switch (_a.label) {
448 case 0:
449 ens = new ens_1.default();
450 eyes = testHelpers_1.mockAsyncMethods(ens, {
451 getOwner: '0x0904Dac3347eA47d208F3Fd67402D039a3b99859',
452 getResolver: '0x226159d592E2b063810a10Ebf6dcbADA94Ed68b8',
453 callMethod: '0x314159265dd8dbb310642f98f50c066173c1259b',
454 });
455 return [4 /*yield*/, ens.address('testthing.eth', 'ETH')];
456 case 1:
457 eth = _a.sent();
458 testHelpers_1.expectSpyToBeCalled(eyes);
459 expect(eth).toBe('0x314159265dD8dbb310642f98f50C066173C1259b');
460 return [2 /*return*/];
461 }
462 });
463 }); });
464 it('checks ens multicoin support #4', function () { return __awaiter(void 0, void 0, void 0, function () {
465 var ens, eyes, etc;
466 return __generator(this, function (_a) {
467 switch (_a.label) {
468 case 0:
469 ens = new ens_1.default();
470 eyes = testHelpers_1.mockAsyncMethods(ens, {
471 getOwner: '0x0904Dac3347eA47d208F3Fd67402D039a3b99859',
472 getResolver: '0x226159d592E2b063810a10Ebf6dcbADA94Ed68b8',
473 callMethod: '0x314159265dd8dbb310642f98f50c066173c1259b',
474 });
475 return [4 /*yield*/, ens.address('testthing.eth', 'etc')];
476 case 1:
477 etc = _a.sent();
478 testHelpers_1.expectSpyToBeCalled(eyes);
479 expect(etc).toBe('0x314159265dD8dbb310642f98f50C066173C1259b');
480 return [2 /*return*/];
481 }
482 });
483 }); });
484 it('checks ens multicoin support #5', function () { return __awaiter(void 0, void 0, void 0, function () {
485 var ens, eyes, rsk;
486 return __generator(this, function (_a) {
487 switch (_a.label) {
488 case 0:
489 ens = new ens_1.default();
490 eyes = testHelpers_1.mockAsyncMethods(ens, {
491 getOwner: '0x0904Dac3347eA47d208F3Fd67402D039a3b99859',
492 getResolver: '0x226159d592E2b063810a10Ebf6dcbADA94Ed68b8',
493 callMethod: '0x314159265dd8dbb310642f98f50c066173c1259b',
494 });
495 return [4 /*yield*/, ens.address('testthing.eth', 'rsk')];
496 case 1:
497 rsk = _a.sent();
498 testHelpers_1.expectSpyToBeCalled(eyes);
499 expect(rsk).toBe('0x314159265dD8DbB310642F98f50C066173c1259B');
500 return [2 /*return*/];
501 }
502 });
503 }); });
504 it('checks ens multicoin support #6', function () { return __awaiter(void 0, void 0, void 0, function () {
505 var ens, eyes, xrp;
506 return __generator(this, function (_a) {
507 switch (_a.label) {
508 case 0:
509 ens = new ens_1.default();
510 eyes = testHelpers_1.mockAsyncMethods(ens, {
511 getOwner: '0x0904Dac3347eA47d208F3Fd67402D039a3b99859',
512 getResolver: '0x226159d592E2b063810a10Ebf6dcbADA94Ed68b8',
513 callMethod: '0x05444b4e9c06f24296074f7bc48f92a97916c6dc5ea9000000000000000000',
514 });
515 return [4 /*yield*/, ens.address('testthing.eth', 'xrp')];
516 case 1:
517 xrp = _a.sent();
518 testHelpers_1.expectSpyToBeCalled(eyes);
519 expect(xrp).toBe('X7qvLs7gSnNoKvZzNWUT2e8st17QPY64PPe7zriLNuJszeg');
520 return [2 /*return*/];
521 }
522 });
523 }); });
524 it('checks ens multicoin support #7', function () { return __awaiter(void 0, void 0, void 0, function () {
525 var ens, eyes, bch;
526 return __generator(this, function (_a) {
527 switch (_a.label) {
528 case 0:
529 ens = new ens_1.default();
530 eyes = testHelpers_1.mockAsyncMethods(ens, {
531 getOwner: '0x0904Dac3347eA47d208F3Fd67402D039a3b99859',
532 getResolver: '0x226159d592E2b063810a10Ebf6dcbADA94Ed68b8',
533 callMethod: '0x76a91476a04053bda0a88bda5177b86a15c3b29f55987388ac',
534 });
535 return [4 /*yield*/, ens.address('testthing.eth', 'bch')];
536 case 1:
537 bch = _a.sent();
538 testHelpers_1.expectSpyToBeCalled(eyes);
539 expect(bch).toBe('bitcoincash:qpm2qsznhks23z7629mms6s4cwef74vcwvy22gdx6a');
540 return [2 /*return*/];
541 }
542 });
543 }); });
544 it('checks ens multicoin support #8', function () { return __awaiter(void 0, void 0, void 0, function () {
545 var ens, eyes, btc;
546 return __generator(this, function (_a) {
547 switch (_a.label) {
548 case 0:
549 ens = new ens_1.default();
550 eyes = testHelpers_1.mockAsyncMethods(ens, {
551 getOwner: '0x0904Dac3347eA47d208F3Fd67402D039a3b99859',
552 getResolver: '0x226159d592E2b063810a10Ebf6dcbADA94Ed68b8',
553 callMethod: '0x5128751e76e8199196d454941c45d1b3a323f1433bd6751e76e8199196d454941c45d1b3a323f1433bd6',
554 });
555 return [4 /*yield*/, ens.address('testthing.eth', 'BTC')];
556 case 1:
557 btc = _a.sent();
558 testHelpers_1.expectSpyToBeCalled(eyes);
559 expect(btc).toBe('bc1pw508d6qejxtdg4y5r3zarvary0c5xw7kw508d6qejxtdg4y5r3zarvary0c5xw7k7grplx');
560 return [2 /*return*/];
561 }
562 });
563 }); });
564 it('checks UnsupportedCurrency error', function () { return __awaiter(void 0, void 0, void 0, function () {
565 return __generator(this, function (_a) {
566 switch (_a.label) {
567 case 0: return [4 /*yield*/, testHelpers_1.expectResolutionErrorCode(new _1.default().addressOrThrow('testthing.eth', 'bnb'), _1.ResolutionErrorCode.UnsupportedCurrency)];
568 case 1:
569 _a.sent();
570 return [2 /*return*/];
571 }
572 });
573 }); });
574 it('checks UnsupportedCurrency error', function () { return __awaiter(void 0, void 0, void 0, function () {
575 return __generator(this, function (_a) {
576 switch (_a.label) {
577 case 0: return [4 /*yield*/, testHelpers_1.expectResolutionErrorCode(new _1.default().addressOrThrow('testthing.eth', 'UNREALTICKER'), _1.ResolutionErrorCode.UnsupportedCurrency)];
578 case 1:
579 _a.sent();
580 return [2 /*return*/];
581 }
582 });
583 }); });
584});