@ledgerhq/wallet-api-simulator 0.1.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.
@@ -0,0 +1,3188 @@
1
+ "use strict";
2
+ (() => {
3
+ var __create = Object.create;
4
+ var __defProp = Object.defineProperty;
5
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
+ var __getOwnPropNames = Object.getOwnPropertyNames;
7
+ var __getProtoOf = Object.getPrototypeOf;
8
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
9
+ var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
10
+ get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
11
+ }) : x)(function(x) {
12
+ if (typeof require !== "undefined")
13
+ return require.apply(this, arguments);
14
+ throw new Error('Dynamic require of "' + x + '" is not supported');
15
+ });
16
+ var __commonJS = (cb, mod) => function __require2() {
17
+ return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
18
+ };
19
+ var __copyProps = (to, from, except, desc) => {
20
+ if (from && typeof from === "object" || typeof from === "function") {
21
+ for (let key of __getOwnPropNames(from))
22
+ if (!__hasOwnProp.call(to, key) && key !== except)
23
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
24
+ }
25
+ return to;
26
+ };
27
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
28
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
29
+ mod
30
+ ));
31
+
32
+ // ../../node_modules/.pnpm/bignumber.js@9.1.0/node_modules/bignumber.js/bignumber.js
33
+ var require_bignumber = __commonJS({
34
+ "../../node_modules/.pnpm/bignumber.js@9.1.0/node_modules/bignumber.js/bignumber.js"(exports, module) {
35
+ (function(globalObject) {
36
+ "use strict";
37
+ var BigNumber, isNumeric = /^-?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i, mathceil = Math.ceil, mathfloor = Math.floor, bignumberError = "[BigNumber Error] ", tooManyDigits = bignumberError + "Number primitive has more than 15 significant digits: ", BASE = 1e14, LOG_BASE = 14, MAX_SAFE_INTEGER = 9007199254740991, POWS_TEN = [1, 10, 100, 1e3, 1e4, 1e5, 1e6, 1e7, 1e8, 1e9, 1e10, 1e11, 1e12, 1e13], SQRT_BASE = 1e7, MAX = 1e9;
38
+ function clone(configObject) {
39
+ var div, convertBase, parseNumeric, P = BigNumber2.prototype = { constructor: BigNumber2, toString: null, valueOf: null }, ONE = new BigNumber2(1), DECIMAL_PLACES = 20, ROUNDING_MODE = 4, TO_EXP_NEG = -7, TO_EXP_POS = 21, MIN_EXP = -1e7, MAX_EXP = 1e7, CRYPTO = false, MODULO_MODE = 1, POW_PRECISION = 0, FORMAT = {
40
+ prefix: "",
41
+ groupSize: 3,
42
+ secondaryGroupSize: 0,
43
+ groupSeparator: ",",
44
+ decimalSeparator: ".",
45
+ fractionGroupSize: 0,
46
+ fractionGroupSeparator: "\xA0",
47
+ suffix: ""
48
+ }, ALPHABET = "0123456789abcdefghijklmnopqrstuvwxyz", alphabetHasNormalDecimalDigits = true;
49
+ function BigNumber2(v, b) {
50
+ var alphabet, c, caseChanged, e, i, isNum, len, str, x = this;
51
+ if (!(x instanceof BigNumber2))
52
+ return new BigNumber2(v, b);
53
+ if (b == null) {
54
+ if (v && v._isBigNumber === true) {
55
+ x.s = v.s;
56
+ if (!v.c || v.e > MAX_EXP) {
57
+ x.c = x.e = null;
58
+ } else if (v.e < MIN_EXP) {
59
+ x.c = [x.e = 0];
60
+ } else {
61
+ x.e = v.e;
62
+ x.c = v.c.slice();
63
+ }
64
+ return;
65
+ }
66
+ if ((isNum = typeof v == "number") && v * 0 == 0) {
67
+ x.s = 1 / v < 0 ? (v = -v, -1) : 1;
68
+ if (v === ~~v) {
69
+ for (e = 0, i = v; i >= 10; i /= 10, e++)
70
+ ;
71
+ if (e > MAX_EXP) {
72
+ x.c = x.e = null;
73
+ } else {
74
+ x.e = e;
75
+ x.c = [v];
76
+ }
77
+ return;
78
+ }
79
+ str = String(v);
80
+ } else {
81
+ if (!isNumeric.test(str = String(v)))
82
+ return parseNumeric(x, str, isNum);
83
+ x.s = str.charCodeAt(0) == 45 ? (str = str.slice(1), -1) : 1;
84
+ }
85
+ if ((e = str.indexOf(".")) > -1)
86
+ str = str.replace(".", "");
87
+ if ((i = str.search(/e/i)) > 0) {
88
+ if (e < 0)
89
+ e = i;
90
+ e += +str.slice(i + 1);
91
+ str = str.substring(0, i);
92
+ } else if (e < 0) {
93
+ e = str.length;
94
+ }
95
+ } else {
96
+ intCheck(b, 2, ALPHABET.length, "Base");
97
+ if (b == 10 && alphabetHasNormalDecimalDigits) {
98
+ x = new BigNumber2(v);
99
+ return round(x, DECIMAL_PLACES + x.e + 1, ROUNDING_MODE);
100
+ }
101
+ str = String(v);
102
+ if (isNum = typeof v == "number") {
103
+ if (v * 0 != 0)
104
+ return parseNumeric(x, str, isNum, b);
105
+ x.s = 1 / v < 0 ? (str = str.slice(1), -1) : 1;
106
+ if (BigNumber2.DEBUG && str.replace(/^0\.0*|\./, "").length > 15) {
107
+ throw Error(tooManyDigits + v);
108
+ }
109
+ } else {
110
+ x.s = str.charCodeAt(0) === 45 ? (str = str.slice(1), -1) : 1;
111
+ }
112
+ alphabet = ALPHABET.slice(0, b);
113
+ e = i = 0;
114
+ for (len = str.length; i < len; i++) {
115
+ if (alphabet.indexOf(c = str.charAt(i)) < 0) {
116
+ if (c == ".") {
117
+ if (i > e) {
118
+ e = len;
119
+ continue;
120
+ }
121
+ } else if (!caseChanged) {
122
+ if (str == str.toUpperCase() && (str = str.toLowerCase()) || str == str.toLowerCase() && (str = str.toUpperCase())) {
123
+ caseChanged = true;
124
+ i = -1;
125
+ e = 0;
126
+ continue;
127
+ }
128
+ }
129
+ return parseNumeric(x, String(v), isNum, b);
130
+ }
131
+ }
132
+ isNum = false;
133
+ str = convertBase(str, b, 10, x.s);
134
+ if ((e = str.indexOf(".")) > -1)
135
+ str = str.replace(".", "");
136
+ else
137
+ e = str.length;
138
+ }
139
+ for (i = 0; str.charCodeAt(i) === 48; i++)
140
+ ;
141
+ for (len = str.length; str.charCodeAt(--len) === 48; )
142
+ ;
143
+ if (str = str.slice(i, ++len)) {
144
+ len -= i;
145
+ if (isNum && BigNumber2.DEBUG && len > 15 && (v > MAX_SAFE_INTEGER || v !== mathfloor(v))) {
146
+ throw Error(tooManyDigits + x.s * v);
147
+ }
148
+ if ((e = e - i - 1) > MAX_EXP) {
149
+ x.c = x.e = null;
150
+ } else if (e < MIN_EXP) {
151
+ x.c = [x.e = 0];
152
+ } else {
153
+ x.e = e;
154
+ x.c = [];
155
+ i = (e + 1) % LOG_BASE;
156
+ if (e < 0)
157
+ i += LOG_BASE;
158
+ if (i < len) {
159
+ if (i)
160
+ x.c.push(+str.slice(0, i));
161
+ for (len -= LOG_BASE; i < len; ) {
162
+ x.c.push(+str.slice(i, i += LOG_BASE));
163
+ }
164
+ i = LOG_BASE - (str = str.slice(i)).length;
165
+ } else {
166
+ i -= len;
167
+ }
168
+ for (; i--; str += "0")
169
+ ;
170
+ x.c.push(+str);
171
+ }
172
+ } else {
173
+ x.c = [x.e = 0];
174
+ }
175
+ }
176
+ BigNumber2.clone = clone;
177
+ BigNumber2.ROUND_UP = 0;
178
+ BigNumber2.ROUND_DOWN = 1;
179
+ BigNumber2.ROUND_CEIL = 2;
180
+ BigNumber2.ROUND_FLOOR = 3;
181
+ BigNumber2.ROUND_HALF_UP = 4;
182
+ BigNumber2.ROUND_HALF_DOWN = 5;
183
+ BigNumber2.ROUND_HALF_EVEN = 6;
184
+ BigNumber2.ROUND_HALF_CEIL = 7;
185
+ BigNumber2.ROUND_HALF_FLOOR = 8;
186
+ BigNumber2.EUCLID = 9;
187
+ BigNumber2.config = BigNumber2.set = function(obj) {
188
+ var p, v;
189
+ if (obj != null) {
190
+ if (typeof obj == "object") {
191
+ if (obj.hasOwnProperty(p = "DECIMAL_PLACES")) {
192
+ v = obj[p];
193
+ intCheck(v, 0, MAX, p);
194
+ DECIMAL_PLACES = v;
195
+ }
196
+ if (obj.hasOwnProperty(p = "ROUNDING_MODE")) {
197
+ v = obj[p];
198
+ intCheck(v, 0, 8, p);
199
+ ROUNDING_MODE = v;
200
+ }
201
+ if (obj.hasOwnProperty(p = "EXPONENTIAL_AT")) {
202
+ v = obj[p];
203
+ if (v && v.pop) {
204
+ intCheck(v[0], -MAX, 0, p);
205
+ intCheck(v[1], 0, MAX, p);
206
+ TO_EXP_NEG = v[0];
207
+ TO_EXP_POS = v[1];
208
+ } else {
209
+ intCheck(v, -MAX, MAX, p);
210
+ TO_EXP_NEG = -(TO_EXP_POS = v < 0 ? -v : v);
211
+ }
212
+ }
213
+ if (obj.hasOwnProperty(p = "RANGE")) {
214
+ v = obj[p];
215
+ if (v && v.pop) {
216
+ intCheck(v[0], -MAX, -1, p);
217
+ intCheck(v[1], 1, MAX, p);
218
+ MIN_EXP = v[0];
219
+ MAX_EXP = v[1];
220
+ } else {
221
+ intCheck(v, -MAX, MAX, p);
222
+ if (v) {
223
+ MIN_EXP = -(MAX_EXP = v < 0 ? -v : v);
224
+ } else {
225
+ throw Error(bignumberError + p + " cannot be zero: " + v);
226
+ }
227
+ }
228
+ }
229
+ if (obj.hasOwnProperty(p = "CRYPTO")) {
230
+ v = obj[p];
231
+ if (v === !!v) {
232
+ if (v) {
233
+ if (typeof crypto != "undefined" && crypto && (crypto.getRandomValues || crypto.randomBytes)) {
234
+ CRYPTO = v;
235
+ } else {
236
+ CRYPTO = !v;
237
+ throw Error(bignumberError + "crypto unavailable");
238
+ }
239
+ } else {
240
+ CRYPTO = v;
241
+ }
242
+ } else {
243
+ throw Error(bignumberError + p + " not true or false: " + v);
244
+ }
245
+ }
246
+ if (obj.hasOwnProperty(p = "MODULO_MODE")) {
247
+ v = obj[p];
248
+ intCheck(v, 0, 9, p);
249
+ MODULO_MODE = v;
250
+ }
251
+ if (obj.hasOwnProperty(p = "POW_PRECISION")) {
252
+ v = obj[p];
253
+ intCheck(v, 0, MAX, p);
254
+ POW_PRECISION = v;
255
+ }
256
+ if (obj.hasOwnProperty(p = "FORMAT")) {
257
+ v = obj[p];
258
+ if (typeof v == "object")
259
+ FORMAT = v;
260
+ else
261
+ throw Error(bignumberError + p + " not an object: " + v);
262
+ }
263
+ if (obj.hasOwnProperty(p = "ALPHABET")) {
264
+ v = obj[p];
265
+ if (typeof v == "string" && !/^.?$|[+\-.\s]|(.).*\1/.test(v)) {
266
+ alphabetHasNormalDecimalDigits = v.slice(0, 10) == "0123456789";
267
+ ALPHABET = v;
268
+ } else {
269
+ throw Error(bignumberError + p + " invalid: " + v);
270
+ }
271
+ }
272
+ } else {
273
+ throw Error(bignumberError + "Object expected: " + obj);
274
+ }
275
+ }
276
+ return {
277
+ DECIMAL_PLACES,
278
+ ROUNDING_MODE,
279
+ EXPONENTIAL_AT: [TO_EXP_NEG, TO_EXP_POS],
280
+ RANGE: [MIN_EXP, MAX_EXP],
281
+ CRYPTO,
282
+ MODULO_MODE,
283
+ POW_PRECISION,
284
+ FORMAT,
285
+ ALPHABET
286
+ };
287
+ };
288
+ BigNumber2.isBigNumber = function(v) {
289
+ if (!v || v._isBigNumber !== true)
290
+ return false;
291
+ if (!BigNumber2.DEBUG)
292
+ return true;
293
+ var i, n, c = v.c, e = v.e, s = v.s;
294
+ out:
295
+ if ({}.toString.call(c) == "[object Array]") {
296
+ if ((s === 1 || s === -1) && e >= -MAX && e <= MAX && e === mathfloor(e)) {
297
+ if (c[0] === 0) {
298
+ if (e === 0 && c.length === 1)
299
+ return true;
300
+ break out;
301
+ }
302
+ i = (e + 1) % LOG_BASE;
303
+ if (i < 1)
304
+ i += LOG_BASE;
305
+ if (String(c[0]).length == i) {
306
+ for (i = 0; i < c.length; i++) {
307
+ n = c[i];
308
+ if (n < 0 || n >= BASE || n !== mathfloor(n))
309
+ break out;
310
+ }
311
+ if (n !== 0)
312
+ return true;
313
+ }
314
+ }
315
+ } else if (c === null && e === null && (s === null || s === 1 || s === -1)) {
316
+ return true;
317
+ }
318
+ throw Error(bignumberError + "Invalid BigNumber: " + v);
319
+ };
320
+ BigNumber2.maximum = BigNumber2.max = function() {
321
+ return maxOrMin(arguments, P.lt);
322
+ };
323
+ BigNumber2.minimum = BigNumber2.min = function() {
324
+ return maxOrMin(arguments, P.gt);
325
+ };
326
+ BigNumber2.random = function() {
327
+ var pow2_53 = 9007199254740992;
328
+ var random53bitInt = Math.random() * pow2_53 & 2097151 ? function() {
329
+ return mathfloor(Math.random() * pow2_53);
330
+ } : function() {
331
+ return (Math.random() * 1073741824 | 0) * 8388608 + (Math.random() * 8388608 | 0);
332
+ };
333
+ return function(dp) {
334
+ var a, b, e, k, v, i = 0, c = [], rand = new BigNumber2(ONE);
335
+ if (dp == null)
336
+ dp = DECIMAL_PLACES;
337
+ else
338
+ intCheck(dp, 0, MAX);
339
+ k = mathceil(dp / LOG_BASE);
340
+ if (CRYPTO) {
341
+ if (crypto.getRandomValues) {
342
+ a = crypto.getRandomValues(new Uint32Array(k *= 2));
343
+ for (; i < k; ) {
344
+ v = a[i] * 131072 + (a[i + 1] >>> 11);
345
+ if (v >= 9e15) {
346
+ b = crypto.getRandomValues(new Uint32Array(2));
347
+ a[i] = b[0];
348
+ a[i + 1] = b[1];
349
+ } else {
350
+ c.push(v % 1e14);
351
+ i += 2;
352
+ }
353
+ }
354
+ i = k / 2;
355
+ } else if (crypto.randomBytes) {
356
+ a = crypto.randomBytes(k *= 7);
357
+ for (; i < k; ) {
358
+ v = (a[i] & 31) * 281474976710656 + a[i + 1] * 1099511627776 + a[i + 2] * 4294967296 + a[i + 3] * 16777216 + (a[i + 4] << 16) + (a[i + 5] << 8) + a[i + 6];
359
+ if (v >= 9e15) {
360
+ crypto.randomBytes(7).copy(a, i);
361
+ } else {
362
+ c.push(v % 1e14);
363
+ i += 7;
364
+ }
365
+ }
366
+ i = k / 7;
367
+ } else {
368
+ CRYPTO = false;
369
+ throw Error(bignumberError + "crypto unavailable");
370
+ }
371
+ }
372
+ if (!CRYPTO) {
373
+ for (; i < k; ) {
374
+ v = random53bitInt();
375
+ if (v < 9e15)
376
+ c[i++] = v % 1e14;
377
+ }
378
+ }
379
+ k = c[--i];
380
+ dp %= LOG_BASE;
381
+ if (k && dp) {
382
+ v = POWS_TEN[LOG_BASE - dp];
383
+ c[i] = mathfloor(k / v) * v;
384
+ }
385
+ for (; c[i] === 0; c.pop(), i--)
386
+ ;
387
+ if (i < 0) {
388
+ c = [e = 0];
389
+ } else {
390
+ for (e = -1; c[0] === 0; c.splice(0, 1), e -= LOG_BASE)
391
+ ;
392
+ for (i = 1, v = c[0]; v >= 10; v /= 10, i++)
393
+ ;
394
+ if (i < LOG_BASE)
395
+ e -= LOG_BASE - i;
396
+ }
397
+ rand.e = e;
398
+ rand.c = c;
399
+ return rand;
400
+ };
401
+ }();
402
+ BigNumber2.sum = function() {
403
+ var i = 1, args = arguments, sum = new BigNumber2(args[0]);
404
+ for (; i < args.length; )
405
+ sum = sum.plus(args[i++]);
406
+ return sum;
407
+ };
408
+ convertBase = function() {
409
+ var decimal = "0123456789";
410
+ function toBaseOut(str, baseIn, baseOut, alphabet) {
411
+ var j, arr = [0], arrL, i = 0, len = str.length;
412
+ for (; i < len; ) {
413
+ for (arrL = arr.length; arrL--; arr[arrL] *= baseIn)
414
+ ;
415
+ arr[0] += alphabet.indexOf(str.charAt(i++));
416
+ for (j = 0; j < arr.length; j++) {
417
+ if (arr[j] > baseOut - 1) {
418
+ if (arr[j + 1] == null)
419
+ arr[j + 1] = 0;
420
+ arr[j + 1] += arr[j] / baseOut | 0;
421
+ arr[j] %= baseOut;
422
+ }
423
+ }
424
+ }
425
+ return arr.reverse();
426
+ }
427
+ return function(str, baseIn, baseOut, sign, callerIsToString) {
428
+ var alphabet, d, e, k, r, x, xc, y, i = str.indexOf("."), dp = DECIMAL_PLACES, rm = ROUNDING_MODE;
429
+ if (i >= 0) {
430
+ k = POW_PRECISION;
431
+ POW_PRECISION = 0;
432
+ str = str.replace(".", "");
433
+ y = new BigNumber2(baseIn);
434
+ x = y.pow(str.length - i);
435
+ POW_PRECISION = k;
436
+ y.c = toBaseOut(
437
+ toFixedPoint(coeffToString(x.c), x.e, "0"),
438
+ 10,
439
+ baseOut,
440
+ decimal
441
+ );
442
+ y.e = y.c.length;
443
+ }
444
+ xc = toBaseOut(str, baseIn, baseOut, callerIsToString ? (alphabet = ALPHABET, decimal) : (alphabet = decimal, ALPHABET));
445
+ e = k = xc.length;
446
+ for (; xc[--k] == 0; xc.pop())
447
+ ;
448
+ if (!xc[0])
449
+ return alphabet.charAt(0);
450
+ if (i < 0) {
451
+ --e;
452
+ } else {
453
+ x.c = xc;
454
+ x.e = e;
455
+ x.s = sign;
456
+ x = div(x, y, dp, rm, baseOut);
457
+ xc = x.c;
458
+ r = x.r;
459
+ e = x.e;
460
+ }
461
+ d = e + dp + 1;
462
+ i = xc[d];
463
+ k = baseOut / 2;
464
+ r = r || d < 0 || xc[d + 1] != null;
465
+ r = rm < 4 ? (i != null || r) && (rm == 0 || rm == (x.s < 0 ? 3 : 2)) : i > k || i == k && (rm == 4 || r || rm == 6 && xc[d - 1] & 1 || rm == (x.s < 0 ? 8 : 7));
466
+ if (d < 1 || !xc[0]) {
467
+ str = r ? toFixedPoint(alphabet.charAt(1), -dp, alphabet.charAt(0)) : alphabet.charAt(0);
468
+ } else {
469
+ xc.length = d;
470
+ if (r) {
471
+ for (--baseOut; ++xc[--d] > baseOut; ) {
472
+ xc[d] = 0;
473
+ if (!d) {
474
+ ++e;
475
+ xc = [1].concat(xc);
476
+ }
477
+ }
478
+ }
479
+ for (k = xc.length; !xc[--k]; )
480
+ ;
481
+ for (i = 0, str = ""; i <= k; str += alphabet.charAt(xc[i++]))
482
+ ;
483
+ str = toFixedPoint(str, e, alphabet.charAt(0));
484
+ }
485
+ return str;
486
+ };
487
+ }();
488
+ div = function() {
489
+ function multiply(x, k, base) {
490
+ var m, temp, xlo, xhi, carry = 0, i = x.length, klo = k % SQRT_BASE, khi = k / SQRT_BASE | 0;
491
+ for (x = x.slice(); i--; ) {
492
+ xlo = x[i] % SQRT_BASE;
493
+ xhi = x[i] / SQRT_BASE | 0;
494
+ m = khi * xlo + xhi * klo;
495
+ temp = klo * xlo + m % SQRT_BASE * SQRT_BASE + carry;
496
+ carry = (temp / base | 0) + (m / SQRT_BASE | 0) + khi * xhi;
497
+ x[i] = temp % base;
498
+ }
499
+ if (carry)
500
+ x = [carry].concat(x);
501
+ return x;
502
+ }
503
+ function compare2(a, b, aL, bL) {
504
+ var i, cmp;
505
+ if (aL != bL) {
506
+ cmp = aL > bL ? 1 : -1;
507
+ } else {
508
+ for (i = cmp = 0; i < aL; i++) {
509
+ if (a[i] != b[i]) {
510
+ cmp = a[i] > b[i] ? 1 : -1;
511
+ break;
512
+ }
513
+ }
514
+ }
515
+ return cmp;
516
+ }
517
+ function subtract(a, b, aL, base) {
518
+ var i = 0;
519
+ for (; aL--; ) {
520
+ a[aL] -= i;
521
+ i = a[aL] < b[aL] ? 1 : 0;
522
+ a[aL] = i * base + a[aL] - b[aL];
523
+ }
524
+ for (; !a[0] && a.length > 1; a.splice(0, 1))
525
+ ;
526
+ }
527
+ return function(x, y, dp, rm, base) {
528
+ var cmp, e, i, more, n, prod, prodL, q, qc, rem, remL, rem0, xi, xL, yc0, yL, yz, s = x.s == y.s ? 1 : -1, xc = x.c, yc = y.c;
529
+ if (!xc || !xc[0] || !yc || !yc[0]) {
530
+ return new BigNumber2(
531
+ !x.s || !y.s || (xc ? yc && xc[0] == yc[0] : !yc) ? NaN : xc && xc[0] == 0 || !yc ? s * 0 : s / 0
532
+ );
533
+ }
534
+ q = new BigNumber2(s);
535
+ qc = q.c = [];
536
+ e = x.e - y.e;
537
+ s = dp + e + 1;
538
+ if (!base) {
539
+ base = BASE;
540
+ e = bitFloor(x.e / LOG_BASE) - bitFloor(y.e / LOG_BASE);
541
+ s = s / LOG_BASE | 0;
542
+ }
543
+ for (i = 0; yc[i] == (xc[i] || 0); i++)
544
+ ;
545
+ if (yc[i] > (xc[i] || 0))
546
+ e--;
547
+ if (s < 0) {
548
+ qc.push(1);
549
+ more = true;
550
+ } else {
551
+ xL = xc.length;
552
+ yL = yc.length;
553
+ i = 0;
554
+ s += 2;
555
+ n = mathfloor(base / (yc[0] + 1));
556
+ if (n > 1) {
557
+ yc = multiply(yc, n, base);
558
+ xc = multiply(xc, n, base);
559
+ yL = yc.length;
560
+ xL = xc.length;
561
+ }
562
+ xi = yL;
563
+ rem = xc.slice(0, yL);
564
+ remL = rem.length;
565
+ for (; remL < yL; rem[remL++] = 0)
566
+ ;
567
+ yz = yc.slice();
568
+ yz = [0].concat(yz);
569
+ yc0 = yc[0];
570
+ if (yc[1] >= base / 2)
571
+ yc0++;
572
+ do {
573
+ n = 0;
574
+ cmp = compare2(yc, rem, yL, remL);
575
+ if (cmp < 0) {
576
+ rem0 = rem[0];
577
+ if (yL != remL)
578
+ rem0 = rem0 * base + (rem[1] || 0);
579
+ n = mathfloor(rem0 / yc0);
580
+ if (n > 1) {
581
+ if (n >= base)
582
+ n = base - 1;
583
+ prod = multiply(yc, n, base);
584
+ prodL = prod.length;
585
+ remL = rem.length;
586
+ while (compare2(prod, rem, prodL, remL) == 1) {
587
+ n--;
588
+ subtract(prod, yL < prodL ? yz : yc, prodL, base);
589
+ prodL = prod.length;
590
+ cmp = 1;
591
+ }
592
+ } else {
593
+ if (n == 0) {
594
+ cmp = n = 1;
595
+ }
596
+ prod = yc.slice();
597
+ prodL = prod.length;
598
+ }
599
+ if (prodL < remL)
600
+ prod = [0].concat(prod);
601
+ subtract(rem, prod, remL, base);
602
+ remL = rem.length;
603
+ if (cmp == -1) {
604
+ while (compare2(yc, rem, yL, remL) < 1) {
605
+ n++;
606
+ subtract(rem, yL < remL ? yz : yc, remL, base);
607
+ remL = rem.length;
608
+ }
609
+ }
610
+ } else if (cmp === 0) {
611
+ n++;
612
+ rem = [0];
613
+ }
614
+ qc[i++] = n;
615
+ if (rem[0]) {
616
+ rem[remL++] = xc[xi] || 0;
617
+ } else {
618
+ rem = [xc[xi]];
619
+ remL = 1;
620
+ }
621
+ } while ((xi++ < xL || rem[0] != null) && s--);
622
+ more = rem[0] != null;
623
+ if (!qc[0])
624
+ qc.splice(0, 1);
625
+ }
626
+ if (base == BASE) {
627
+ for (i = 1, s = qc[0]; s >= 10; s /= 10, i++)
628
+ ;
629
+ round(q, dp + (q.e = i + e * LOG_BASE - 1) + 1, rm, more);
630
+ } else {
631
+ q.e = e;
632
+ q.r = +more;
633
+ }
634
+ return q;
635
+ };
636
+ }();
637
+ function format(n, i, rm, id) {
638
+ var c0, e, ne, len, str;
639
+ if (rm == null)
640
+ rm = ROUNDING_MODE;
641
+ else
642
+ intCheck(rm, 0, 8);
643
+ if (!n.c)
644
+ return n.toString();
645
+ c0 = n.c[0];
646
+ ne = n.e;
647
+ if (i == null) {
648
+ str = coeffToString(n.c);
649
+ str = id == 1 || id == 2 && (ne <= TO_EXP_NEG || ne >= TO_EXP_POS) ? toExponential(str, ne) : toFixedPoint(str, ne, "0");
650
+ } else {
651
+ n = round(new BigNumber2(n), i, rm);
652
+ e = n.e;
653
+ str = coeffToString(n.c);
654
+ len = str.length;
655
+ if (id == 1 || id == 2 && (i <= e || e <= TO_EXP_NEG)) {
656
+ for (; len < i; str += "0", len++)
657
+ ;
658
+ str = toExponential(str, e);
659
+ } else {
660
+ i -= ne;
661
+ str = toFixedPoint(str, e, "0");
662
+ if (e + 1 > len) {
663
+ if (--i > 0)
664
+ for (str += "."; i--; str += "0")
665
+ ;
666
+ } else {
667
+ i += e - len;
668
+ if (i > 0) {
669
+ if (e + 1 == len)
670
+ str += ".";
671
+ for (; i--; str += "0")
672
+ ;
673
+ }
674
+ }
675
+ }
676
+ }
677
+ return n.s < 0 && c0 ? "-" + str : str;
678
+ }
679
+ function maxOrMin(args, method) {
680
+ var n, i = 1, m = new BigNumber2(args[0]);
681
+ for (; i < args.length; i++) {
682
+ n = new BigNumber2(args[i]);
683
+ if (!n.s) {
684
+ m = n;
685
+ break;
686
+ } else if (method.call(m, n)) {
687
+ m = n;
688
+ }
689
+ }
690
+ return m;
691
+ }
692
+ function normalise(n, c, e) {
693
+ var i = 1, j = c.length;
694
+ for (; !c[--j]; c.pop())
695
+ ;
696
+ for (j = c[0]; j >= 10; j /= 10, i++)
697
+ ;
698
+ if ((e = i + e * LOG_BASE - 1) > MAX_EXP) {
699
+ n.c = n.e = null;
700
+ } else if (e < MIN_EXP) {
701
+ n.c = [n.e = 0];
702
+ } else {
703
+ n.e = e;
704
+ n.c = c;
705
+ }
706
+ return n;
707
+ }
708
+ parseNumeric = function() {
709
+ var basePrefix = /^(-?)0([xbo])(?=\w[\w.]*$)/i, dotAfter = /^([^.]+)\.$/, dotBefore = /^\.([^.]+)$/, isInfinityOrNaN = /^-?(Infinity|NaN)$/, whitespaceOrPlus = /^\s*\+(?=[\w.])|^\s+|\s+$/g;
710
+ return function(x, str, isNum, b) {
711
+ var base, s = isNum ? str : str.replace(whitespaceOrPlus, "");
712
+ if (isInfinityOrNaN.test(s)) {
713
+ x.s = isNaN(s) ? null : s < 0 ? -1 : 1;
714
+ } else {
715
+ if (!isNum) {
716
+ s = s.replace(basePrefix, function(m, p1, p2) {
717
+ base = (p2 = p2.toLowerCase()) == "x" ? 16 : p2 == "b" ? 2 : 8;
718
+ return !b || b == base ? p1 : m;
719
+ });
720
+ if (b) {
721
+ base = b;
722
+ s = s.replace(dotAfter, "$1").replace(dotBefore, "0.$1");
723
+ }
724
+ if (str != s)
725
+ return new BigNumber2(s, base);
726
+ }
727
+ if (BigNumber2.DEBUG) {
728
+ throw Error(bignumberError + "Not a" + (b ? " base " + b : "") + " number: " + str);
729
+ }
730
+ x.s = null;
731
+ }
732
+ x.c = x.e = null;
733
+ };
734
+ }();
735
+ function round(x, sd, rm, r) {
736
+ var d, i, j, k, n, ni, rd, xc = x.c, pows10 = POWS_TEN;
737
+ if (xc) {
738
+ out: {
739
+ for (d = 1, k = xc[0]; k >= 10; k /= 10, d++)
740
+ ;
741
+ i = sd - d;
742
+ if (i < 0) {
743
+ i += LOG_BASE;
744
+ j = sd;
745
+ n = xc[ni = 0];
746
+ rd = n / pows10[d - j - 1] % 10 | 0;
747
+ } else {
748
+ ni = mathceil((i + 1) / LOG_BASE);
749
+ if (ni >= xc.length) {
750
+ if (r) {
751
+ for (; xc.length <= ni; xc.push(0))
752
+ ;
753
+ n = rd = 0;
754
+ d = 1;
755
+ i %= LOG_BASE;
756
+ j = i - LOG_BASE + 1;
757
+ } else {
758
+ break out;
759
+ }
760
+ } else {
761
+ n = k = xc[ni];
762
+ for (d = 1; k >= 10; k /= 10, d++)
763
+ ;
764
+ i %= LOG_BASE;
765
+ j = i - LOG_BASE + d;
766
+ rd = j < 0 ? 0 : n / pows10[d - j - 1] % 10 | 0;
767
+ }
768
+ }
769
+ r = r || sd < 0 || xc[ni + 1] != null || (j < 0 ? n : n % pows10[d - j - 1]);
770
+ r = rm < 4 ? (rd || r) && (rm == 0 || rm == (x.s < 0 ? 3 : 2)) : rd > 5 || rd == 5 && (rm == 4 || r || rm == 6 && (i > 0 ? j > 0 ? n / pows10[d - j] : 0 : xc[ni - 1]) % 10 & 1 || rm == (x.s < 0 ? 8 : 7));
771
+ if (sd < 1 || !xc[0]) {
772
+ xc.length = 0;
773
+ if (r) {
774
+ sd -= x.e + 1;
775
+ xc[0] = pows10[(LOG_BASE - sd % LOG_BASE) % LOG_BASE];
776
+ x.e = -sd || 0;
777
+ } else {
778
+ xc[0] = x.e = 0;
779
+ }
780
+ return x;
781
+ }
782
+ if (i == 0) {
783
+ xc.length = ni;
784
+ k = 1;
785
+ ni--;
786
+ } else {
787
+ xc.length = ni + 1;
788
+ k = pows10[LOG_BASE - i];
789
+ xc[ni] = j > 0 ? mathfloor(n / pows10[d - j] % pows10[j]) * k : 0;
790
+ }
791
+ if (r) {
792
+ for (; ; ) {
793
+ if (ni == 0) {
794
+ for (i = 1, j = xc[0]; j >= 10; j /= 10, i++)
795
+ ;
796
+ j = xc[0] += k;
797
+ for (k = 1; j >= 10; j /= 10, k++)
798
+ ;
799
+ if (i != k) {
800
+ x.e++;
801
+ if (xc[0] == BASE)
802
+ xc[0] = 1;
803
+ }
804
+ break;
805
+ } else {
806
+ xc[ni] += k;
807
+ if (xc[ni] != BASE)
808
+ break;
809
+ xc[ni--] = 0;
810
+ k = 1;
811
+ }
812
+ }
813
+ }
814
+ for (i = xc.length; xc[--i] === 0; xc.pop())
815
+ ;
816
+ }
817
+ if (x.e > MAX_EXP) {
818
+ x.c = x.e = null;
819
+ } else if (x.e < MIN_EXP) {
820
+ x.c = [x.e = 0];
821
+ }
822
+ }
823
+ return x;
824
+ }
825
+ function valueOf(n) {
826
+ var str, e = n.e;
827
+ if (e === null)
828
+ return n.toString();
829
+ str = coeffToString(n.c);
830
+ str = e <= TO_EXP_NEG || e >= TO_EXP_POS ? toExponential(str, e) : toFixedPoint(str, e, "0");
831
+ return n.s < 0 ? "-" + str : str;
832
+ }
833
+ P.absoluteValue = P.abs = function() {
834
+ var x = new BigNumber2(this);
835
+ if (x.s < 0)
836
+ x.s = 1;
837
+ return x;
838
+ };
839
+ P.comparedTo = function(y, b) {
840
+ return compare(this, new BigNumber2(y, b));
841
+ };
842
+ P.decimalPlaces = P.dp = function(dp, rm) {
843
+ var c, n, v, x = this;
844
+ if (dp != null) {
845
+ intCheck(dp, 0, MAX);
846
+ if (rm == null)
847
+ rm = ROUNDING_MODE;
848
+ else
849
+ intCheck(rm, 0, 8);
850
+ return round(new BigNumber2(x), dp + x.e + 1, rm);
851
+ }
852
+ if (!(c = x.c))
853
+ return null;
854
+ n = ((v = c.length - 1) - bitFloor(this.e / LOG_BASE)) * LOG_BASE;
855
+ if (v = c[v])
856
+ for (; v % 10 == 0; v /= 10, n--)
857
+ ;
858
+ if (n < 0)
859
+ n = 0;
860
+ return n;
861
+ };
862
+ P.dividedBy = P.div = function(y, b) {
863
+ return div(this, new BigNumber2(y, b), DECIMAL_PLACES, ROUNDING_MODE);
864
+ };
865
+ P.dividedToIntegerBy = P.idiv = function(y, b) {
866
+ return div(this, new BigNumber2(y, b), 0, 1);
867
+ };
868
+ P.exponentiatedBy = P.pow = function(n, m) {
869
+ var half, isModExp, i, k, more, nIsBig, nIsNeg, nIsOdd, y, x = this;
870
+ n = new BigNumber2(n);
871
+ if (n.c && !n.isInteger()) {
872
+ throw Error(bignumberError + "Exponent not an integer: " + valueOf(n));
873
+ }
874
+ if (m != null)
875
+ m = new BigNumber2(m);
876
+ nIsBig = n.e > 14;
877
+ if (!x.c || !x.c[0] || x.c[0] == 1 && !x.e && x.c.length == 1 || !n.c || !n.c[0]) {
878
+ y = new BigNumber2(Math.pow(+valueOf(x), nIsBig ? 2 - isOdd(n) : +valueOf(n)));
879
+ return m ? y.mod(m) : y;
880
+ }
881
+ nIsNeg = n.s < 0;
882
+ if (m) {
883
+ if (m.c ? !m.c[0] : !m.s)
884
+ return new BigNumber2(NaN);
885
+ isModExp = !nIsNeg && x.isInteger() && m.isInteger();
886
+ if (isModExp)
887
+ x = x.mod(m);
888
+ } else if (n.e > 9 && (x.e > 0 || x.e < -1 || (x.e == 0 ? x.c[0] > 1 || nIsBig && x.c[1] >= 24e7 : x.c[0] < 8e13 || nIsBig && x.c[0] <= 9999975e7))) {
889
+ k = x.s < 0 && isOdd(n) ? -0 : 0;
890
+ if (x.e > -1)
891
+ k = 1 / k;
892
+ return new BigNumber2(nIsNeg ? 1 / k : k);
893
+ } else if (POW_PRECISION) {
894
+ k = mathceil(POW_PRECISION / LOG_BASE + 2);
895
+ }
896
+ if (nIsBig) {
897
+ half = new BigNumber2(0.5);
898
+ if (nIsNeg)
899
+ n.s = 1;
900
+ nIsOdd = isOdd(n);
901
+ } else {
902
+ i = Math.abs(+valueOf(n));
903
+ nIsOdd = i % 2;
904
+ }
905
+ y = new BigNumber2(ONE);
906
+ for (; ; ) {
907
+ if (nIsOdd) {
908
+ y = y.times(x);
909
+ if (!y.c)
910
+ break;
911
+ if (k) {
912
+ if (y.c.length > k)
913
+ y.c.length = k;
914
+ } else if (isModExp) {
915
+ y = y.mod(m);
916
+ }
917
+ }
918
+ if (i) {
919
+ i = mathfloor(i / 2);
920
+ if (i === 0)
921
+ break;
922
+ nIsOdd = i % 2;
923
+ } else {
924
+ n = n.times(half);
925
+ round(n, n.e + 1, 1);
926
+ if (n.e > 14) {
927
+ nIsOdd = isOdd(n);
928
+ } else {
929
+ i = +valueOf(n);
930
+ if (i === 0)
931
+ break;
932
+ nIsOdd = i % 2;
933
+ }
934
+ }
935
+ x = x.times(x);
936
+ if (k) {
937
+ if (x.c && x.c.length > k)
938
+ x.c.length = k;
939
+ } else if (isModExp) {
940
+ x = x.mod(m);
941
+ }
942
+ }
943
+ if (isModExp)
944
+ return y;
945
+ if (nIsNeg)
946
+ y = ONE.div(y);
947
+ return m ? y.mod(m) : k ? round(y, POW_PRECISION, ROUNDING_MODE, more) : y;
948
+ };
949
+ P.integerValue = function(rm) {
950
+ var n = new BigNumber2(this);
951
+ if (rm == null)
952
+ rm = ROUNDING_MODE;
953
+ else
954
+ intCheck(rm, 0, 8);
955
+ return round(n, n.e + 1, rm);
956
+ };
957
+ P.isEqualTo = P.eq = function(y, b) {
958
+ return compare(this, new BigNumber2(y, b)) === 0;
959
+ };
960
+ P.isFinite = function() {
961
+ return !!this.c;
962
+ };
963
+ P.isGreaterThan = P.gt = function(y, b) {
964
+ return compare(this, new BigNumber2(y, b)) > 0;
965
+ };
966
+ P.isGreaterThanOrEqualTo = P.gte = function(y, b) {
967
+ return (b = compare(this, new BigNumber2(y, b))) === 1 || b === 0;
968
+ };
969
+ P.isInteger = function() {
970
+ return !!this.c && bitFloor(this.e / LOG_BASE) > this.c.length - 2;
971
+ };
972
+ P.isLessThan = P.lt = function(y, b) {
973
+ return compare(this, new BigNumber2(y, b)) < 0;
974
+ };
975
+ P.isLessThanOrEqualTo = P.lte = function(y, b) {
976
+ return (b = compare(this, new BigNumber2(y, b))) === -1 || b === 0;
977
+ };
978
+ P.isNaN = function() {
979
+ return !this.s;
980
+ };
981
+ P.isNegative = function() {
982
+ return this.s < 0;
983
+ };
984
+ P.isPositive = function() {
985
+ return this.s > 0;
986
+ };
987
+ P.isZero = function() {
988
+ return !!this.c && this.c[0] == 0;
989
+ };
990
+ P.minus = function(y, b) {
991
+ var i, j, t, xLTy, x = this, a = x.s;
992
+ y = new BigNumber2(y, b);
993
+ b = y.s;
994
+ if (!a || !b)
995
+ return new BigNumber2(NaN);
996
+ if (a != b) {
997
+ y.s = -b;
998
+ return x.plus(y);
999
+ }
1000
+ var xe = x.e / LOG_BASE, ye = y.e / LOG_BASE, xc = x.c, yc = y.c;
1001
+ if (!xe || !ye) {
1002
+ if (!xc || !yc)
1003
+ return xc ? (y.s = -b, y) : new BigNumber2(yc ? x : NaN);
1004
+ if (!xc[0] || !yc[0]) {
1005
+ return yc[0] ? (y.s = -b, y) : new BigNumber2(xc[0] ? x : ROUNDING_MODE == 3 ? -0 : 0);
1006
+ }
1007
+ }
1008
+ xe = bitFloor(xe);
1009
+ ye = bitFloor(ye);
1010
+ xc = xc.slice();
1011
+ if (a = xe - ye) {
1012
+ if (xLTy = a < 0) {
1013
+ a = -a;
1014
+ t = xc;
1015
+ } else {
1016
+ ye = xe;
1017
+ t = yc;
1018
+ }
1019
+ t.reverse();
1020
+ for (b = a; b--; t.push(0))
1021
+ ;
1022
+ t.reverse();
1023
+ } else {
1024
+ j = (xLTy = (a = xc.length) < (b = yc.length)) ? a : b;
1025
+ for (a = b = 0; b < j; b++) {
1026
+ if (xc[b] != yc[b]) {
1027
+ xLTy = xc[b] < yc[b];
1028
+ break;
1029
+ }
1030
+ }
1031
+ }
1032
+ if (xLTy) {
1033
+ t = xc;
1034
+ xc = yc;
1035
+ yc = t;
1036
+ y.s = -y.s;
1037
+ }
1038
+ b = (j = yc.length) - (i = xc.length);
1039
+ if (b > 0)
1040
+ for (; b--; xc[i++] = 0)
1041
+ ;
1042
+ b = BASE - 1;
1043
+ for (; j > a; ) {
1044
+ if (xc[--j] < yc[j]) {
1045
+ for (i = j; i && !xc[--i]; xc[i] = b)
1046
+ ;
1047
+ --xc[i];
1048
+ xc[j] += BASE;
1049
+ }
1050
+ xc[j] -= yc[j];
1051
+ }
1052
+ for (; xc[0] == 0; xc.splice(0, 1), --ye)
1053
+ ;
1054
+ if (!xc[0]) {
1055
+ y.s = ROUNDING_MODE == 3 ? -1 : 1;
1056
+ y.c = [y.e = 0];
1057
+ return y;
1058
+ }
1059
+ return normalise(y, xc, ye);
1060
+ };
1061
+ P.modulo = P.mod = function(y, b) {
1062
+ var q, s, x = this;
1063
+ y = new BigNumber2(y, b);
1064
+ if (!x.c || !y.s || y.c && !y.c[0]) {
1065
+ return new BigNumber2(NaN);
1066
+ } else if (!y.c || x.c && !x.c[0]) {
1067
+ return new BigNumber2(x);
1068
+ }
1069
+ if (MODULO_MODE == 9) {
1070
+ s = y.s;
1071
+ y.s = 1;
1072
+ q = div(x, y, 0, 3);
1073
+ y.s = s;
1074
+ q.s *= s;
1075
+ } else {
1076
+ q = div(x, y, 0, MODULO_MODE);
1077
+ }
1078
+ y = x.minus(q.times(y));
1079
+ if (!y.c[0] && MODULO_MODE == 1)
1080
+ y.s = x.s;
1081
+ return y;
1082
+ };
1083
+ P.multipliedBy = P.times = function(y, b) {
1084
+ var c, e, i, j, k, m, xcL, xlo, xhi, ycL, ylo, yhi, zc, base, sqrtBase, x = this, xc = x.c, yc = (y = new BigNumber2(y, b)).c;
1085
+ if (!xc || !yc || !xc[0] || !yc[0]) {
1086
+ if (!x.s || !y.s || xc && !xc[0] && !yc || yc && !yc[0] && !xc) {
1087
+ y.c = y.e = y.s = null;
1088
+ } else {
1089
+ y.s *= x.s;
1090
+ if (!xc || !yc) {
1091
+ y.c = y.e = null;
1092
+ } else {
1093
+ y.c = [0];
1094
+ y.e = 0;
1095
+ }
1096
+ }
1097
+ return y;
1098
+ }
1099
+ e = bitFloor(x.e / LOG_BASE) + bitFloor(y.e / LOG_BASE);
1100
+ y.s *= x.s;
1101
+ xcL = xc.length;
1102
+ ycL = yc.length;
1103
+ if (xcL < ycL) {
1104
+ zc = xc;
1105
+ xc = yc;
1106
+ yc = zc;
1107
+ i = xcL;
1108
+ xcL = ycL;
1109
+ ycL = i;
1110
+ }
1111
+ for (i = xcL + ycL, zc = []; i--; zc.push(0))
1112
+ ;
1113
+ base = BASE;
1114
+ sqrtBase = SQRT_BASE;
1115
+ for (i = ycL; --i >= 0; ) {
1116
+ c = 0;
1117
+ ylo = yc[i] % sqrtBase;
1118
+ yhi = yc[i] / sqrtBase | 0;
1119
+ for (k = xcL, j = i + k; j > i; ) {
1120
+ xlo = xc[--k] % sqrtBase;
1121
+ xhi = xc[k] / sqrtBase | 0;
1122
+ m = yhi * xlo + xhi * ylo;
1123
+ xlo = ylo * xlo + m % sqrtBase * sqrtBase + zc[j] + c;
1124
+ c = (xlo / base | 0) + (m / sqrtBase | 0) + yhi * xhi;
1125
+ zc[j--] = xlo % base;
1126
+ }
1127
+ zc[j] = c;
1128
+ }
1129
+ if (c) {
1130
+ ++e;
1131
+ } else {
1132
+ zc.splice(0, 1);
1133
+ }
1134
+ return normalise(y, zc, e);
1135
+ };
1136
+ P.negated = function() {
1137
+ var x = new BigNumber2(this);
1138
+ x.s = -x.s || null;
1139
+ return x;
1140
+ };
1141
+ P.plus = function(y, b) {
1142
+ var t, x = this, a = x.s;
1143
+ y = new BigNumber2(y, b);
1144
+ b = y.s;
1145
+ if (!a || !b)
1146
+ return new BigNumber2(NaN);
1147
+ if (a != b) {
1148
+ y.s = -b;
1149
+ return x.minus(y);
1150
+ }
1151
+ var xe = x.e / LOG_BASE, ye = y.e / LOG_BASE, xc = x.c, yc = y.c;
1152
+ if (!xe || !ye) {
1153
+ if (!xc || !yc)
1154
+ return new BigNumber2(a / 0);
1155
+ if (!xc[0] || !yc[0])
1156
+ return yc[0] ? y : new BigNumber2(xc[0] ? x : a * 0);
1157
+ }
1158
+ xe = bitFloor(xe);
1159
+ ye = bitFloor(ye);
1160
+ xc = xc.slice();
1161
+ if (a = xe - ye) {
1162
+ if (a > 0) {
1163
+ ye = xe;
1164
+ t = yc;
1165
+ } else {
1166
+ a = -a;
1167
+ t = xc;
1168
+ }
1169
+ t.reverse();
1170
+ for (; a--; t.push(0))
1171
+ ;
1172
+ t.reverse();
1173
+ }
1174
+ a = xc.length;
1175
+ b = yc.length;
1176
+ if (a - b < 0) {
1177
+ t = yc;
1178
+ yc = xc;
1179
+ xc = t;
1180
+ b = a;
1181
+ }
1182
+ for (a = 0; b; ) {
1183
+ a = (xc[--b] = xc[b] + yc[b] + a) / BASE | 0;
1184
+ xc[b] = BASE === xc[b] ? 0 : xc[b] % BASE;
1185
+ }
1186
+ if (a) {
1187
+ xc = [a].concat(xc);
1188
+ ++ye;
1189
+ }
1190
+ return normalise(y, xc, ye);
1191
+ };
1192
+ P.precision = P.sd = function(sd, rm) {
1193
+ var c, n, v, x = this;
1194
+ if (sd != null && sd !== !!sd) {
1195
+ intCheck(sd, 1, MAX);
1196
+ if (rm == null)
1197
+ rm = ROUNDING_MODE;
1198
+ else
1199
+ intCheck(rm, 0, 8);
1200
+ return round(new BigNumber2(x), sd, rm);
1201
+ }
1202
+ if (!(c = x.c))
1203
+ return null;
1204
+ v = c.length - 1;
1205
+ n = v * LOG_BASE + 1;
1206
+ if (v = c[v]) {
1207
+ for (; v % 10 == 0; v /= 10, n--)
1208
+ ;
1209
+ for (v = c[0]; v >= 10; v /= 10, n++)
1210
+ ;
1211
+ }
1212
+ if (sd && x.e + 1 > n)
1213
+ n = x.e + 1;
1214
+ return n;
1215
+ };
1216
+ P.shiftedBy = function(k) {
1217
+ intCheck(k, -MAX_SAFE_INTEGER, MAX_SAFE_INTEGER);
1218
+ return this.times("1e" + k);
1219
+ };
1220
+ P.squareRoot = P.sqrt = function() {
1221
+ var m, n, r, rep, t, x = this, c = x.c, s = x.s, e = x.e, dp = DECIMAL_PLACES + 4, half = new BigNumber2("0.5");
1222
+ if (s !== 1 || !c || !c[0]) {
1223
+ return new BigNumber2(!s || s < 0 && (!c || c[0]) ? NaN : c ? x : 1 / 0);
1224
+ }
1225
+ s = Math.sqrt(+valueOf(x));
1226
+ if (s == 0 || s == 1 / 0) {
1227
+ n = coeffToString(c);
1228
+ if ((n.length + e) % 2 == 0)
1229
+ n += "0";
1230
+ s = Math.sqrt(+n);
1231
+ e = bitFloor((e + 1) / 2) - (e < 0 || e % 2);
1232
+ if (s == 1 / 0) {
1233
+ n = "5e" + e;
1234
+ } else {
1235
+ n = s.toExponential();
1236
+ n = n.slice(0, n.indexOf("e") + 1) + e;
1237
+ }
1238
+ r = new BigNumber2(n);
1239
+ } else {
1240
+ r = new BigNumber2(s + "");
1241
+ }
1242
+ if (r.c[0]) {
1243
+ e = r.e;
1244
+ s = e + dp;
1245
+ if (s < 3)
1246
+ s = 0;
1247
+ for (; ; ) {
1248
+ t = r;
1249
+ r = half.times(t.plus(div(x, t, dp, 1)));
1250
+ if (coeffToString(t.c).slice(0, s) === (n = coeffToString(r.c)).slice(0, s)) {
1251
+ if (r.e < e)
1252
+ --s;
1253
+ n = n.slice(s - 3, s + 1);
1254
+ if (n == "9999" || !rep && n == "4999") {
1255
+ if (!rep) {
1256
+ round(t, t.e + DECIMAL_PLACES + 2, 0);
1257
+ if (t.times(t).eq(x)) {
1258
+ r = t;
1259
+ break;
1260
+ }
1261
+ }
1262
+ dp += 4;
1263
+ s += 4;
1264
+ rep = 1;
1265
+ } else {
1266
+ if (!+n || !+n.slice(1) && n.charAt(0) == "5") {
1267
+ round(r, r.e + DECIMAL_PLACES + 2, 1);
1268
+ m = !r.times(r).eq(x);
1269
+ }
1270
+ break;
1271
+ }
1272
+ }
1273
+ }
1274
+ }
1275
+ return round(r, r.e + DECIMAL_PLACES + 1, ROUNDING_MODE, m);
1276
+ };
1277
+ P.toExponential = function(dp, rm) {
1278
+ if (dp != null) {
1279
+ intCheck(dp, 0, MAX);
1280
+ dp++;
1281
+ }
1282
+ return format(this, dp, rm, 1);
1283
+ };
1284
+ P.toFixed = function(dp, rm) {
1285
+ if (dp != null) {
1286
+ intCheck(dp, 0, MAX);
1287
+ dp = dp + this.e + 1;
1288
+ }
1289
+ return format(this, dp, rm);
1290
+ };
1291
+ P.toFormat = function(dp, rm, format2) {
1292
+ var str, x = this;
1293
+ if (format2 == null) {
1294
+ if (dp != null && rm && typeof rm == "object") {
1295
+ format2 = rm;
1296
+ rm = null;
1297
+ } else if (dp && typeof dp == "object") {
1298
+ format2 = dp;
1299
+ dp = rm = null;
1300
+ } else {
1301
+ format2 = FORMAT;
1302
+ }
1303
+ } else if (typeof format2 != "object") {
1304
+ throw Error(bignumberError + "Argument not an object: " + format2);
1305
+ }
1306
+ str = x.toFixed(dp, rm);
1307
+ if (x.c) {
1308
+ var i, arr = str.split("."), g1 = +format2.groupSize, g2 = +format2.secondaryGroupSize, groupSeparator = format2.groupSeparator || "", intPart = arr[0], fractionPart = arr[1], isNeg = x.s < 0, intDigits = isNeg ? intPart.slice(1) : intPart, len = intDigits.length;
1309
+ if (g2) {
1310
+ i = g1;
1311
+ g1 = g2;
1312
+ g2 = i;
1313
+ len -= i;
1314
+ }
1315
+ if (g1 > 0 && len > 0) {
1316
+ i = len % g1 || g1;
1317
+ intPart = intDigits.substr(0, i);
1318
+ for (; i < len; i += g1)
1319
+ intPart += groupSeparator + intDigits.substr(i, g1);
1320
+ if (g2 > 0)
1321
+ intPart += groupSeparator + intDigits.slice(i);
1322
+ if (isNeg)
1323
+ intPart = "-" + intPart;
1324
+ }
1325
+ str = fractionPart ? intPart + (format2.decimalSeparator || "") + ((g2 = +format2.fractionGroupSize) ? fractionPart.replace(
1326
+ new RegExp("\\d{" + g2 + "}\\B", "g"),
1327
+ "$&" + (format2.fractionGroupSeparator || "")
1328
+ ) : fractionPart) : intPart;
1329
+ }
1330
+ return (format2.prefix || "") + str + (format2.suffix || "");
1331
+ };
1332
+ P.toFraction = function(md) {
1333
+ var d, d0, d1, d2, e, exp, n, n0, n1, q, r, s, x = this, xc = x.c;
1334
+ if (md != null) {
1335
+ n = new BigNumber2(md);
1336
+ if (!n.isInteger() && (n.c || n.s !== 1) || n.lt(ONE)) {
1337
+ throw Error(bignumberError + "Argument " + (n.isInteger() ? "out of range: " : "not an integer: ") + valueOf(n));
1338
+ }
1339
+ }
1340
+ if (!xc)
1341
+ return new BigNumber2(x);
1342
+ d = new BigNumber2(ONE);
1343
+ n1 = d0 = new BigNumber2(ONE);
1344
+ d1 = n0 = new BigNumber2(ONE);
1345
+ s = coeffToString(xc);
1346
+ e = d.e = s.length - x.e - 1;
1347
+ d.c[0] = POWS_TEN[(exp = e % LOG_BASE) < 0 ? LOG_BASE + exp : exp];
1348
+ md = !md || n.comparedTo(d) > 0 ? e > 0 ? d : n1 : n;
1349
+ exp = MAX_EXP;
1350
+ MAX_EXP = 1 / 0;
1351
+ n = new BigNumber2(s);
1352
+ n0.c[0] = 0;
1353
+ for (; ; ) {
1354
+ q = div(n, d, 0, 1);
1355
+ d2 = d0.plus(q.times(d1));
1356
+ if (d2.comparedTo(md) == 1)
1357
+ break;
1358
+ d0 = d1;
1359
+ d1 = d2;
1360
+ n1 = n0.plus(q.times(d2 = n1));
1361
+ n0 = d2;
1362
+ d = n.minus(q.times(d2 = d));
1363
+ n = d2;
1364
+ }
1365
+ d2 = div(md.minus(d0), d1, 0, 1);
1366
+ n0 = n0.plus(d2.times(n1));
1367
+ d0 = d0.plus(d2.times(d1));
1368
+ n0.s = n1.s = x.s;
1369
+ e = e * 2;
1370
+ r = div(n1, d1, e, ROUNDING_MODE).minus(x).abs().comparedTo(
1371
+ div(n0, d0, e, ROUNDING_MODE).minus(x).abs()
1372
+ ) < 1 ? [n1, d1] : [n0, d0];
1373
+ MAX_EXP = exp;
1374
+ return r;
1375
+ };
1376
+ P.toNumber = function() {
1377
+ return +valueOf(this);
1378
+ };
1379
+ P.toPrecision = function(sd, rm) {
1380
+ if (sd != null)
1381
+ intCheck(sd, 1, MAX);
1382
+ return format(this, sd, rm, 2);
1383
+ };
1384
+ P.toString = function(b) {
1385
+ var str, n = this, s = n.s, e = n.e;
1386
+ if (e === null) {
1387
+ if (s) {
1388
+ str = "Infinity";
1389
+ if (s < 0)
1390
+ str = "-" + str;
1391
+ } else {
1392
+ str = "NaN";
1393
+ }
1394
+ } else {
1395
+ if (b == null) {
1396
+ str = e <= TO_EXP_NEG || e >= TO_EXP_POS ? toExponential(coeffToString(n.c), e) : toFixedPoint(coeffToString(n.c), e, "0");
1397
+ } else if (b === 10 && alphabetHasNormalDecimalDigits) {
1398
+ n = round(new BigNumber2(n), DECIMAL_PLACES + e + 1, ROUNDING_MODE);
1399
+ str = toFixedPoint(coeffToString(n.c), n.e, "0");
1400
+ } else {
1401
+ intCheck(b, 2, ALPHABET.length, "Base");
1402
+ str = convertBase(toFixedPoint(coeffToString(n.c), e, "0"), 10, b, s, true);
1403
+ }
1404
+ if (s < 0 && n.c[0])
1405
+ str = "-" + str;
1406
+ }
1407
+ return str;
1408
+ };
1409
+ P.valueOf = P.toJSON = function() {
1410
+ return valueOf(this);
1411
+ };
1412
+ P._isBigNumber = true;
1413
+ if (configObject != null)
1414
+ BigNumber2.set(configObject);
1415
+ return BigNumber2;
1416
+ }
1417
+ function bitFloor(n) {
1418
+ var i = n | 0;
1419
+ return n > 0 || n === i ? i : i - 1;
1420
+ }
1421
+ function coeffToString(a) {
1422
+ var s, z, i = 1, j = a.length, r = a[0] + "";
1423
+ for (; i < j; ) {
1424
+ s = a[i++] + "";
1425
+ z = LOG_BASE - s.length;
1426
+ for (; z--; s = "0" + s)
1427
+ ;
1428
+ r += s;
1429
+ }
1430
+ for (j = r.length; r.charCodeAt(--j) === 48; )
1431
+ ;
1432
+ return r.slice(0, j + 1 || 1);
1433
+ }
1434
+ function compare(x, y) {
1435
+ var a, b, xc = x.c, yc = y.c, i = x.s, j = y.s, k = x.e, l = y.e;
1436
+ if (!i || !j)
1437
+ return null;
1438
+ a = xc && !xc[0];
1439
+ b = yc && !yc[0];
1440
+ if (a || b)
1441
+ return a ? b ? 0 : -j : i;
1442
+ if (i != j)
1443
+ return i;
1444
+ a = i < 0;
1445
+ b = k == l;
1446
+ if (!xc || !yc)
1447
+ return b ? 0 : !xc ^ a ? 1 : -1;
1448
+ if (!b)
1449
+ return k > l ^ a ? 1 : -1;
1450
+ j = (k = xc.length) < (l = yc.length) ? k : l;
1451
+ for (i = 0; i < j; i++)
1452
+ if (xc[i] != yc[i])
1453
+ return xc[i] > yc[i] ^ a ? 1 : -1;
1454
+ return k == l ? 0 : k > l ^ a ? 1 : -1;
1455
+ }
1456
+ function intCheck(n, min, max, name) {
1457
+ if (n < min || n > max || n !== mathfloor(n)) {
1458
+ throw Error(bignumberError + (name || "Argument") + (typeof n == "number" ? n < min || n > max ? " out of range: " : " not an integer: " : " not a primitive number: ") + String(n));
1459
+ }
1460
+ }
1461
+ function isOdd(n) {
1462
+ var k = n.c.length - 1;
1463
+ return bitFloor(n.e / LOG_BASE) == k && n.c[k] % 2 != 0;
1464
+ }
1465
+ function toExponential(str, e) {
1466
+ return (str.length > 1 ? str.charAt(0) + "." + str.slice(1) : str) + (e < 0 ? "e" : "e+") + e;
1467
+ }
1468
+ function toFixedPoint(str, e, z) {
1469
+ var len, zs;
1470
+ if (e < 0) {
1471
+ for (zs = z + "."; ++e; zs += z)
1472
+ ;
1473
+ str = zs + str;
1474
+ } else {
1475
+ len = str.length;
1476
+ if (++e > len) {
1477
+ for (zs = z, e -= len; --e; zs += z)
1478
+ ;
1479
+ str += zs;
1480
+ } else if (e < len) {
1481
+ str = str.slice(0, e) + "." + str.slice(e);
1482
+ }
1483
+ }
1484
+ return str;
1485
+ }
1486
+ BigNumber = clone();
1487
+ BigNumber["default"] = BigNumber.BigNumber = BigNumber;
1488
+ if (typeof define == "function" && define.amd) {
1489
+ define(function() {
1490
+ return BigNumber;
1491
+ });
1492
+ } else if (typeof module != "undefined" && module.exports) {
1493
+ module.exports = BigNumber;
1494
+ } else {
1495
+ if (!globalObject) {
1496
+ globalObject = typeof self != "undefined" && self ? self : window;
1497
+ }
1498
+ globalObject.BigNumber = BigNumber;
1499
+ }
1500
+ })(exports);
1501
+ }
1502
+ });
1503
+
1504
+ // ../core/dist/index.js
1505
+ var require_dist = __commonJS({
1506
+ "../core/dist/index.js"(exports, module) {
1507
+ "use strict";
1508
+ var __create2 = Object.create;
1509
+ var __defProp2 = Object.defineProperty;
1510
+ var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;
1511
+ var __getOwnPropNames2 = Object.getOwnPropertyNames;
1512
+ var __getProtoOf2 = Object.getPrototypeOf;
1513
+ var __hasOwnProp2 = Object.prototype.hasOwnProperty;
1514
+ var __export = (target, all) => {
1515
+ for (var name in all)
1516
+ __defProp2(target, name, { get: all[name], enumerable: true });
1517
+ };
1518
+ var __copyProps2 = (to, from, except, desc) => {
1519
+ if (from && typeof from === "object" || typeof from === "function") {
1520
+ for (let key of __getOwnPropNames2(from))
1521
+ if (!__hasOwnProp2.call(to, key) && key !== except)
1522
+ __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });
1523
+ }
1524
+ return to;
1525
+ };
1526
+ var __toESM2 = (mod, isNodeMode, target) => (target = mod != null ? __create2(__getProtoOf2(mod)) : {}, __copyProps2(
1527
+ isNodeMode || !mod || !mod.__esModule ? __defProp2(target, "default", { value: mod, enumerable: true }) : target,
1528
+ mod
1529
+ ));
1530
+ var __toCommonJS = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod);
1531
+ var src_exports = {};
1532
+ __export(src_exports, {
1533
+ CurrencyType: () => CurrencyType,
1534
+ DeviceModel: () => DeviceModel,
1535
+ ExchangeType: () => ExchangeType,
1536
+ FAMILIES: () => FAMILIES,
1537
+ FeesLevel: () => FeesLevel,
1538
+ LedgerPlatformApduTransport: () => LedgerPlatformApduTransport,
1539
+ Logger: () => Logger,
1540
+ TokenStandard: () => TokenStandard,
1541
+ WindowMessageTransport: () => WindowMessageTransport2,
1542
+ deserializeAccount: () => deserializeAccount,
1543
+ deserializeTransaction: () => deserializeTransaction,
1544
+ serializeAccount: () => serializeAccount,
1545
+ serializeTransaction: () => serializeTransaction
1546
+ });
1547
+ module.exports = __toCommonJS(src_exports);
1548
+ var import_bignumber = __toESM2(require_bignumber());
1549
+ function serializeAccount({
1550
+ id,
1551
+ name,
1552
+ address,
1553
+ currency,
1554
+ balance,
1555
+ spendableBalance,
1556
+ blockHeight,
1557
+ lastSyncDate
1558
+ }) {
1559
+ return {
1560
+ id,
1561
+ name,
1562
+ address,
1563
+ currency,
1564
+ balance: balance.toString(),
1565
+ spendableBalance: spendableBalance.toString(),
1566
+ blockHeight,
1567
+ lastSyncDate: lastSyncDate.toISOString()
1568
+ };
1569
+ }
1570
+ function deserializeAccount({
1571
+ id,
1572
+ name,
1573
+ address,
1574
+ currency,
1575
+ balance,
1576
+ spendableBalance,
1577
+ blockHeight,
1578
+ lastSyncDate
1579
+ }) {
1580
+ return {
1581
+ id,
1582
+ name,
1583
+ address,
1584
+ currency,
1585
+ balance: new import_bignumber.default(balance),
1586
+ spendableBalance: new import_bignumber.default(spendableBalance),
1587
+ blockHeight,
1588
+ lastSyncDate: new Date(lastSyncDate)
1589
+ };
1590
+ }
1591
+ var import_bignumber2 = __toESM2(require_bignumber());
1592
+ var serializeAlgorandTransaction = ({
1593
+ family,
1594
+ mode,
1595
+ fees,
1596
+ assetId,
1597
+ memo,
1598
+ amount,
1599
+ recipient
1600
+ }) => {
1601
+ return {
1602
+ family,
1603
+ amount: amount.toString(),
1604
+ recipient,
1605
+ fees: fees ? fees.toString() : void 0,
1606
+ memo,
1607
+ mode,
1608
+ assetId
1609
+ };
1610
+ };
1611
+ var deserializeAlgorandTransaction = ({
1612
+ family,
1613
+ mode,
1614
+ fees,
1615
+ assetId,
1616
+ memo,
1617
+ amount,
1618
+ recipient
1619
+ }) => {
1620
+ return {
1621
+ family,
1622
+ amount: new import_bignumber2.default(amount),
1623
+ recipient,
1624
+ fees: fees ? new import_bignumber2.default(fees) : void 0,
1625
+ memo,
1626
+ mode,
1627
+ assetId
1628
+ };
1629
+ };
1630
+ var import_bignumber3 = __toESM2(require_bignumber());
1631
+ function serializeBitcoinTransaction({
1632
+ family,
1633
+ amount,
1634
+ recipient,
1635
+ feePerByte
1636
+ }) {
1637
+ return {
1638
+ family,
1639
+ amount: amount.toString(),
1640
+ recipient,
1641
+ feePerByte: feePerByte ? feePerByte.toString() : void 0
1642
+ };
1643
+ }
1644
+ function deserializeBitcoinTransaction({
1645
+ family,
1646
+ amount,
1647
+ recipient,
1648
+ feePerByte
1649
+ }) {
1650
+ return {
1651
+ family,
1652
+ amount: new import_bignumber3.default(amount),
1653
+ recipient,
1654
+ feePerByte: feePerByte ? new import_bignumber3.default(feePerByte) : void 0
1655
+ };
1656
+ }
1657
+ var import_bignumber4 = __toESM2(require_bignumber());
1658
+ var serializeCosmosTransaction = ({
1659
+ amount,
1660
+ recipient,
1661
+ family,
1662
+ mode,
1663
+ fees,
1664
+ gas,
1665
+ memo
1666
+ }) => {
1667
+ return {
1668
+ amount: amount.toString(),
1669
+ recipient,
1670
+ family,
1671
+ mode,
1672
+ fees: fees ? fees.toString() : void 0,
1673
+ gas: gas ? gas.toString() : void 0,
1674
+ memo
1675
+ };
1676
+ };
1677
+ var deserializeCosmosTransaction = ({
1678
+ amount,
1679
+ recipient,
1680
+ family,
1681
+ mode,
1682
+ fees,
1683
+ gas,
1684
+ memo
1685
+ }) => {
1686
+ return {
1687
+ amount: new import_bignumber4.default(amount),
1688
+ recipient,
1689
+ family,
1690
+ mode,
1691
+ fees: fees ? new import_bignumber4.default(fees) : void 0,
1692
+ gas: gas ? new import_bignumber4.default(gas) : void 0,
1693
+ memo
1694
+ };
1695
+ };
1696
+ var import_bignumber5 = __toESM2(require_bignumber());
1697
+ var serializeCryptoOrgTransaction = ({
1698
+ family,
1699
+ mode,
1700
+ fees,
1701
+ amount,
1702
+ recipient
1703
+ }) => {
1704
+ return {
1705
+ family,
1706
+ amount: amount.toString(),
1707
+ recipient,
1708
+ fees: fees ? fees.toString() : void 0,
1709
+ mode
1710
+ };
1711
+ };
1712
+ var deserializeCryptoOrgTransaction = ({
1713
+ family,
1714
+ mode,
1715
+ fees,
1716
+ amount,
1717
+ recipient
1718
+ }) => {
1719
+ return {
1720
+ family,
1721
+ amount: new import_bignumber5.default(amount),
1722
+ recipient,
1723
+ fees: fees ? new import_bignumber5.default(fees) : void 0,
1724
+ mode
1725
+ };
1726
+ };
1727
+ var import_bignumber6 = __toESM2(require_bignumber());
1728
+ function serializeEthereumTransaction({
1729
+ family,
1730
+ amount,
1731
+ recipient,
1732
+ nonce,
1733
+ data,
1734
+ gasPrice,
1735
+ gasLimit
1736
+ }) {
1737
+ return {
1738
+ family,
1739
+ amount: amount.toString(),
1740
+ recipient,
1741
+ nonce,
1742
+ data: data ? data.toString("hex") : void 0,
1743
+ gasPrice: gasPrice ? gasPrice.toString() : void 0,
1744
+ gasLimit: gasLimit ? gasLimit.toString() : void 0
1745
+ };
1746
+ }
1747
+ function deserializeEthereumTransaction({
1748
+ family,
1749
+ amount,
1750
+ recipient,
1751
+ nonce,
1752
+ data,
1753
+ gasPrice,
1754
+ gasLimit
1755
+ }) {
1756
+ return {
1757
+ family,
1758
+ amount: new import_bignumber6.default(amount),
1759
+ recipient,
1760
+ nonce,
1761
+ data: data ? Buffer.from(data, "hex") : void 0,
1762
+ gasPrice: gasPrice ? new import_bignumber6.default(gasPrice) : void 0,
1763
+ gasLimit: gasLimit ? new import_bignumber6.default(gasLimit) : void 0
1764
+ };
1765
+ }
1766
+ var import_bignumber7 = __toESM2(require_bignumber());
1767
+ var serializePolkadotTransaction = ({
1768
+ amount,
1769
+ recipient,
1770
+ family,
1771
+ mode,
1772
+ fee,
1773
+ era
1774
+ }) => {
1775
+ return {
1776
+ amount: amount.toString(),
1777
+ recipient,
1778
+ family,
1779
+ mode,
1780
+ fee: fee ? fee.toString() : void 0,
1781
+ era
1782
+ };
1783
+ };
1784
+ var deserializePolkadotTransaction = ({
1785
+ amount,
1786
+ recipient,
1787
+ family,
1788
+ mode,
1789
+ fee,
1790
+ era
1791
+ }) => {
1792
+ return {
1793
+ amount: new import_bignumber7.default(amount),
1794
+ recipient,
1795
+ family,
1796
+ mode,
1797
+ fee: fee ? new import_bignumber7.default(fee) : void 0,
1798
+ era
1799
+ };
1800
+ };
1801
+ var import_bignumber8 = __toESM2(require_bignumber());
1802
+ var serializeRippleTransaction = ({
1803
+ family,
1804
+ fee,
1805
+ tag,
1806
+ amount,
1807
+ recipient
1808
+ }) => {
1809
+ return {
1810
+ family,
1811
+ amount: amount.toString(),
1812
+ recipient,
1813
+ fee: fee ? fee.toString() : void 0,
1814
+ tag
1815
+ };
1816
+ };
1817
+ var deserializeRippleTransaction = ({
1818
+ family,
1819
+ fee,
1820
+ tag,
1821
+ amount,
1822
+ recipient
1823
+ }) => {
1824
+ return {
1825
+ family,
1826
+ amount: new import_bignumber8.default(amount),
1827
+ recipient,
1828
+ fee: fee ? new import_bignumber8.default(fee) : void 0,
1829
+ tag
1830
+ };
1831
+ };
1832
+ var import_bignumber9 = __toESM2(require_bignumber());
1833
+ var serializeStellarTransaction = ({
1834
+ amount,
1835
+ recipient,
1836
+ family,
1837
+ fees,
1838
+ memoType,
1839
+ memoValue
1840
+ }) => {
1841
+ return {
1842
+ amount: amount.toString(),
1843
+ recipient,
1844
+ family,
1845
+ fees: fees ? fees.toString() : void 0,
1846
+ memoType,
1847
+ memoValue
1848
+ };
1849
+ };
1850
+ var deserializeStellarTransaction = ({
1851
+ amount,
1852
+ recipient,
1853
+ family,
1854
+ fees,
1855
+ memoType,
1856
+ memoValue
1857
+ }) => {
1858
+ return {
1859
+ amount: new import_bignumber9.default(amount),
1860
+ recipient,
1861
+ family,
1862
+ fees: fees ? new import_bignumber9.default(fees) : void 0,
1863
+ memoType,
1864
+ memoValue
1865
+ };
1866
+ };
1867
+ var import_bignumber10 = __toESM2(require_bignumber());
1868
+ var serializeTezosTransaction = ({
1869
+ amount,
1870
+ recipient,
1871
+ family,
1872
+ mode,
1873
+ fees,
1874
+ gasLimit
1875
+ }) => {
1876
+ return {
1877
+ amount: amount.toString(),
1878
+ recipient,
1879
+ family,
1880
+ mode,
1881
+ fees: fees ? fees.toString() : void 0,
1882
+ gasLimit: gasLimit ? gasLimit.toString() : void 0
1883
+ };
1884
+ };
1885
+ var deserializeTezosTransaction = ({
1886
+ amount,
1887
+ recipient,
1888
+ family,
1889
+ mode,
1890
+ fees,
1891
+ gasLimit
1892
+ }) => {
1893
+ return {
1894
+ amount: new import_bignumber10.default(amount),
1895
+ recipient,
1896
+ family,
1897
+ mode,
1898
+ fees: fees ? new import_bignumber10.default(fees) : void 0,
1899
+ gasLimit: gasLimit ? new import_bignumber10.default(gasLimit) : void 0
1900
+ };
1901
+ };
1902
+ var import_bignumber11 = __toESM2(require_bignumber());
1903
+ var serializeTronTransaction = ({
1904
+ amount,
1905
+ recipient,
1906
+ family,
1907
+ mode,
1908
+ resource,
1909
+ duration
1910
+ }) => {
1911
+ return {
1912
+ amount: amount.toString(),
1913
+ recipient,
1914
+ family,
1915
+ mode,
1916
+ resource,
1917
+ duration
1918
+ };
1919
+ };
1920
+ var deserializeTronTransaction = ({
1921
+ amount,
1922
+ recipient,
1923
+ family,
1924
+ mode,
1925
+ resource,
1926
+ duration
1927
+ }) => {
1928
+ return {
1929
+ amount: new import_bignumber11.default(amount),
1930
+ recipient,
1931
+ family,
1932
+ mode,
1933
+ resource,
1934
+ duration
1935
+ };
1936
+ };
1937
+ var FAMILIES = /* @__PURE__ */ ((FAMILIES2) => {
1938
+ FAMILIES2["Bitcoin"] = "bitcoin";
1939
+ FAMILIES2["Ethereum"] = "ethereum";
1940
+ FAMILIES2["Algorand"] = "algorand";
1941
+ FAMILIES2["CryptoOrg"] = "crypto_org";
1942
+ FAMILIES2["Ripple"] = "ripple";
1943
+ FAMILIES2["Cosmos"] = "cosmos";
1944
+ FAMILIES2["Tezos"] = "tezos";
1945
+ FAMILIES2["Polkadot"] = "polkadot";
1946
+ FAMILIES2["Stellar"] = "stellar";
1947
+ FAMILIES2["Tron"] = "tron";
1948
+ return FAMILIES2;
1949
+ })(FAMILIES || {});
1950
+ function serializeTransaction(transaction) {
1951
+ switch (transaction.family) {
1952
+ case "ethereum":
1953
+ return serializeEthereumTransaction(transaction);
1954
+ case "bitcoin":
1955
+ return serializeBitcoinTransaction(transaction);
1956
+ case "algorand":
1957
+ return serializeAlgorandTransaction(transaction);
1958
+ case "crypto_org":
1959
+ return serializeCryptoOrgTransaction(transaction);
1960
+ case "ripple":
1961
+ return serializeRippleTransaction(transaction);
1962
+ case "cosmos":
1963
+ return serializeCosmosTransaction(transaction);
1964
+ case "tezos":
1965
+ return serializeTezosTransaction(transaction);
1966
+ case "polkadot":
1967
+ return serializePolkadotTransaction(transaction);
1968
+ case "stellar":
1969
+ return serializeStellarTransaction(transaction);
1970
+ case "tron":
1971
+ return serializeTronTransaction(transaction);
1972
+ default: {
1973
+ const exhaustiveCheck = transaction;
1974
+ return exhaustiveCheck;
1975
+ }
1976
+ }
1977
+ }
1978
+ function deserializeTransaction(rawTransaction) {
1979
+ switch (rawTransaction.family) {
1980
+ case "ethereum":
1981
+ return deserializeEthereumTransaction(rawTransaction);
1982
+ case "bitcoin":
1983
+ return deserializeBitcoinTransaction(rawTransaction);
1984
+ case "algorand":
1985
+ return deserializeAlgorandTransaction(rawTransaction);
1986
+ case "crypto_org":
1987
+ return deserializeCryptoOrgTransaction(rawTransaction);
1988
+ case "ripple":
1989
+ return deserializeRippleTransaction(rawTransaction);
1990
+ case "cosmos":
1991
+ return deserializeCosmosTransaction(rawTransaction);
1992
+ case "tezos":
1993
+ return deserializeTezosTransaction(rawTransaction);
1994
+ case "polkadot":
1995
+ return deserializePolkadotTransaction(rawTransaction);
1996
+ case "stellar":
1997
+ return deserializeStellarTransaction(rawTransaction);
1998
+ case "tron":
1999
+ return deserializeTronTransaction(rawTransaction);
2000
+ default: {
2001
+ const exhaustiveCheck = rawTransaction;
2002
+ return exhaustiveCheck;
2003
+ }
2004
+ }
2005
+ }
2006
+ var Logger = class {
2007
+ constructor(namespace) {
2008
+ this.prefix = "";
2009
+ this.prefix = namespace ? `[${namespace}] ` : "";
2010
+ }
2011
+ log(message, ...args) {
2012
+ console.log(
2013
+ `%c${this.prefix}${message}`,
2014
+ "background: #6490f1; color: #fff",
2015
+ ...args
2016
+ );
2017
+ }
2018
+ warn(message, ...args) {
2019
+ console.warn(
2020
+ `%c${this.prefix}${message}`,
2021
+ "background: #6490f1; color: #f80",
2022
+ ...args
2023
+ );
2024
+ }
2025
+ debug(message, ...args) {
2026
+ console.debug(
2027
+ `%c${this.prefix}${message}`,
2028
+ "background: #6490f1; color: #777",
2029
+ ...args
2030
+ );
2031
+ }
2032
+ error(message, ...args) {
2033
+ console.error(
2034
+ `%c${this.prefix}${message}`,
2035
+ "background: #6490f1; color: #f00",
2036
+ ...args
2037
+ );
2038
+ }
2039
+ };
2040
+ var import_events = __toESM2(__require("events"));
2041
+ var LedgerPlatformApduTransport = class {
2042
+ constructor() {
2043
+ this._events = new import_events.default();
2044
+ }
2045
+ exchange(_apdu) {
2046
+ throw new Error("Function is not implemented yet");
2047
+ }
2048
+ setScrambleKey(_key) {
2049
+ throw new Error("Function is not implemented yet");
2050
+ }
2051
+ close() {
2052
+ throw new Error("Function is not implemented yet");
2053
+ }
2054
+ on(eventName, cb) {
2055
+ this._events.on(eventName, cb);
2056
+ }
2057
+ off(eventName, cb) {
2058
+ this._events.removeListener(eventName, cb);
2059
+ }
2060
+ setDebugMode() {
2061
+ throw new Error("Function is not implemented yet");
2062
+ }
2063
+ setExchangeTimeout(_exchangeTimeout) {
2064
+ throw new Error("Function is not implemented yet");
2065
+ }
2066
+ setExchangeUnresponsiveTimeout(_unresponsiveTimeout) {
2067
+ throw new Error("Function is not implemented yet");
2068
+ }
2069
+ async send(_cla, _ins, _p1, _p2, _data = Buffer.alloc(0), _statusList = [36864]) {
2070
+ throw new Error("Function is not implemented yet");
2071
+ }
2072
+ };
2073
+ var defaultLogger = new Logger("WindowMessage");
2074
+ var WindowMessageTransport2 = class {
2075
+ constructor(target = window, logger = defaultLogger) {
2076
+ this.connect = () => {
2077
+ this.target.addEventListener("message", this._onMessageEvent, false);
2078
+ this.logger.debug("event listeners registered");
2079
+ };
2080
+ this.disconnect = () => {
2081
+ this.target.removeEventListener("message", this._onMessageEvent, false);
2082
+ this.logger.debug("event listeners unregistered");
2083
+ };
2084
+ this._onMessageEvent = (event) => {
2085
+ if (this._onMessage) {
2086
+ this.logger.debug("received message event", event);
2087
+ if (event.origin !== this.target.location.origin && event.data && typeof event.data === "string") {
2088
+ try {
2089
+ const payload = JSON.parse(event.data.toString());
2090
+ if (payload.jsonrpc) {
2091
+ this.logger.log("received message", payload);
2092
+ this._onMessage(payload);
2093
+ } else {
2094
+ this.logger.debug("not a jsonrpc message");
2095
+ }
2096
+ } catch (error) {
2097
+ this.logger.warn("parse error");
2098
+ this._onMessage(error);
2099
+ }
2100
+ } else {
2101
+ this.logger.debug("ignoring message same origin");
2102
+ }
2103
+ } else {
2104
+ this.logger.debug("no handler registered");
2105
+ }
2106
+ };
2107
+ this.send = (response) => {
2108
+ try {
2109
+ if (this.target.ReactNativeWebView) {
2110
+ this.logger.log("sending message (ReactNativeWebview)", response);
2111
+ this.target.ReactNativeWebView.postMessage(JSON.stringify(response));
2112
+ } else if (this.target.ElectronWebview) {
2113
+ this.logger.log("sending message (ElectronWebview)", response);
2114
+ this.target.ElectronWebview.postMessage(JSON.stringify(response));
2115
+ } else {
2116
+ this.logger.log("sending message", response);
2117
+ this.target.top.postMessage(JSON.stringify(response), "*");
2118
+ }
2119
+ return Promise.resolve();
2120
+ } catch (error) {
2121
+ this.logger.error("unexpected error on send", error);
2122
+ return Promise.reject(error);
2123
+ }
2124
+ };
2125
+ this.target = target;
2126
+ this.logger = logger;
2127
+ }
2128
+ set onMessage(handler) {
2129
+ this._onMessage = handler;
2130
+ }
2131
+ get onMessage() {
2132
+ return this._onMessage;
2133
+ }
2134
+ };
2135
+ var FeesLevel = /* @__PURE__ */ ((FeesLevel2) => {
2136
+ FeesLevel2["Slow"] = "slow";
2137
+ FeesLevel2["Medium"] = "medium";
2138
+ FeesLevel2["Fast"] = "fast";
2139
+ return FeesLevel2;
2140
+ })(FeesLevel || {});
2141
+ var CurrencyType = /* @__PURE__ */ ((CurrencyType2) => {
2142
+ CurrencyType2["CryptoCurrency"] = "CryptoCurrency";
2143
+ CurrencyType2["TokenCurrency"] = "TokenCurrency";
2144
+ return CurrencyType2;
2145
+ })(CurrencyType || {});
2146
+ var TokenStandard = /* @__PURE__ */ ((TokenStandard2) => {
2147
+ TokenStandard2["ERC20"] = "ERC20";
2148
+ return TokenStandard2;
2149
+ })(TokenStandard || {});
2150
+ var DeviceModel = /* @__PURE__ */ ((DeviceModel2) => {
2151
+ DeviceModel2["Blue"] = "blue";
2152
+ DeviceModel2["NanoS"] = "nanoS";
2153
+ DeviceModel2["NanoX"] = "nanoX";
2154
+ return DeviceModel2;
2155
+ })(DeviceModel || {});
2156
+ var ExchangeType = /* @__PURE__ */ ((ExchangeType2) => {
2157
+ ExchangeType2[ExchangeType2["SWAP"] = 0] = "SWAP";
2158
+ ExchangeType2[ExchangeType2["SELL"] = 1] = "SELL";
2159
+ ExchangeType2[ExchangeType2["FUND"] = 2] = "FUND";
2160
+ return ExchangeType2;
2161
+ })(ExchangeType || {});
2162
+ }
2163
+ });
2164
+
2165
+ // ../../node_modules/.pnpm/json-rpc-2.0@1.4.1/node_modules/json-rpc-2.0/dist/models.js
2166
+ var require_models = __commonJS({
2167
+ "../../node_modules/.pnpm/json-rpc-2.0@1.4.1/node_modules/json-rpc-2.0/dist/models.js"(exports) {
2168
+ "use strict";
2169
+ var __extends = exports && exports.__extends || function() {
2170
+ var extendStatics = function(d, b) {
2171
+ extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d2, b2) {
2172
+ d2.__proto__ = b2;
2173
+ } || function(d2, b2) {
2174
+ for (var p in b2)
2175
+ if (Object.prototype.hasOwnProperty.call(b2, p))
2176
+ d2[p] = b2[p];
2177
+ };
2178
+ return extendStatics(d, b);
2179
+ };
2180
+ return function(d, b) {
2181
+ if (typeof b !== "function" && b !== null)
2182
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
2183
+ extendStatics(d, b);
2184
+ function __() {
2185
+ this.constructor = d;
2186
+ }
2187
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
2188
+ };
2189
+ }();
2190
+ Object.defineProperty(exports, "__esModule", { value: true });
2191
+ exports.createJSONRPCNotification = exports.createJSONRPCRequest = exports.createJSONRPCSuccessResponse = exports.createJSONRPCErrorResponse = exports.JSONRPCErrorCode = exports.JSONRPCErrorException = exports.isJSONRPCResponses = exports.isJSONRPCResponse = exports.isJSONRPCRequests = exports.isJSONRPCRequest = exports.isJSONRPCID = exports.JSONRPC = void 0;
2192
+ exports.JSONRPC = "2.0";
2193
+ var isJSONRPCID = function(id) {
2194
+ return typeof id === "string" || typeof id === "number" || id === null;
2195
+ };
2196
+ exports.isJSONRPCID = isJSONRPCID;
2197
+ var isJSONRPCRequest = function(payload) {
2198
+ return payload.jsonrpc === exports.JSONRPC && payload.method !== void 0 && payload.result === void 0 && payload.error === void 0;
2199
+ };
2200
+ exports.isJSONRPCRequest = isJSONRPCRequest;
2201
+ var isJSONRPCRequests = function(payload) {
2202
+ return Array.isArray(payload) && payload.every(exports.isJSONRPCRequest);
2203
+ };
2204
+ exports.isJSONRPCRequests = isJSONRPCRequests;
2205
+ var isJSONRPCResponse = function(payload) {
2206
+ return payload.jsonrpc === exports.JSONRPC && payload.id !== void 0 && (payload.result !== void 0 || payload.error !== void 0);
2207
+ };
2208
+ exports.isJSONRPCResponse = isJSONRPCResponse;
2209
+ var isJSONRPCResponses = function(payload) {
2210
+ return Array.isArray(payload) && payload.every(exports.isJSONRPCResponse);
2211
+ };
2212
+ exports.isJSONRPCResponses = isJSONRPCResponses;
2213
+ var createJSONRPCError = function(code, message, data) {
2214
+ var error = { code, message };
2215
+ if (data != null) {
2216
+ error.data = data;
2217
+ }
2218
+ return error;
2219
+ };
2220
+ var JSONRPCErrorException = function(_super) {
2221
+ __extends(JSONRPCErrorException2, _super);
2222
+ function JSONRPCErrorException2(message, code, data) {
2223
+ var _this = _super.call(this, message) || this;
2224
+ Object.setPrototypeOf(_this, JSONRPCErrorException2.prototype);
2225
+ _this.code = code;
2226
+ _this.data = data;
2227
+ return _this;
2228
+ }
2229
+ JSONRPCErrorException2.prototype.toObject = function() {
2230
+ return createJSONRPCError(this.code, this.message, this.data);
2231
+ };
2232
+ return JSONRPCErrorException2;
2233
+ }(Error);
2234
+ exports.JSONRPCErrorException = JSONRPCErrorException;
2235
+ var JSONRPCErrorCode;
2236
+ (function(JSONRPCErrorCode2) {
2237
+ JSONRPCErrorCode2[JSONRPCErrorCode2["ParseError"] = -32700] = "ParseError";
2238
+ JSONRPCErrorCode2[JSONRPCErrorCode2["InvalidRequest"] = -32600] = "InvalidRequest";
2239
+ JSONRPCErrorCode2[JSONRPCErrorCode2["MethodNotFound"] = -32601] = "MethodNotFound";
2240
+ JSONRPCErrorCode2[JSONRPCErrorCode2["InvalidParams"] = -32602] = "InvalidParams";
2241
+ JSONRPCErrorCode2[JSONRPCErrorCode2["InternalError"] = -32603] = "InternalError";
2242
+ })(JSONRPCErrorCode = exports.JSONRPCErrorCode || (exports.JSONRPCErrorCode = {}));
2243
+ var createJSONRPCErrorResponse = function(id, code, message, data) {
2244
+ return {
2245
+ jsonrpc: exports.JSONRPC,
2246
+ id,
2247
+ error: createJSONRPCError(code, message, data)
2248
+ };
2249
+ };
2250
+ exports.createJSONRPCErrorResponse = createJSONRPCErrorResponse;
2251
+ var createJSONRPCSuccessResponse = function(id, result) {
2252
+ return {
2253
+ jsonrpc: exports.JSONRPC,
2254
+ id,
2255
+ result: result !== null && result !== void 0 ? result : null
2256
+ };
2257
+ };
2258
+ exports.createJSONRPCSuccessResponse = createJSONRPCSuccessResponse;
2259
+ var createJSONRPCRequest = function(id, method, params) {
2260
+ return {
2261
+ jsonrpc: exports.JSONRPC,
2262
+ id,
2263
+ method,
2264
+ params
2265
+ };
2266
+ };
2267
+ exports.createJSONRPCRequest = createJSONRPCRequest;
2268
+ var createJSONRPCNotification = function(method, params) {
2269
+ return {
2270
+ jsonrpc: exports.JSONRPC,
2271
+ method,
2272
+ params
2273
+ };
2274
+ };
2275
+ exports.createJSONRPCNotification = createJSONRPCNotification;
2276
+ }
2277
+ });
2278
+
2279
+ // ../../node_modules/.pnpm/json-rpc-2.0@1.4.1/node_modules/json-rpc-2.0/dist/internal.js
2280
+ var require_internal = __commonJS({
2281
+ "../../node_modules/.pnpm/json-rpc-2.0@1.4.1/node_modules/json-rpc-2.0/dist/internal.js"(exports) {
2282
+ "use strict";
2283
+ Object.defineProperty(exports, "__esModule", { value: true });
2284
+ exports.DefaultErrorCode = void 0;
2285
+ exports.DefaultErrorCode = 0;
2286
+ }
2287
+ });
2288
+
2289
+ // ../../node_modules/.pnpm/json-rpc-2.0@1.4.1/node_modules/json-rpc-2.0/dist/client.js
2290
+ var require_client = __commonJS({
2291
+ "../../node_modules/.pnpm/json-rpc-2.0@1.4.1/node_modules/json-rpc-2.0/dist/client.js"(exports) {
2292
+ "use strict";
2293
+ var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P, generator) {
2294
+ function adopt(value) {
2295
+ return value instanceof P ? value : new P(function(resolve) {
2296
+ resolve(value);
2297
+ });
2298
+ }
2299
+ return new (P || (P = Promise))(function(resolve, reject) {
2300
+ function fulfilled(value) {
2301
+ try {
2302
+ step(generator.next(value));
2303
+ } catch (e) {
2304
+ reject(e);
2305
+ }
2306
+ }
2307
+ function rejected(value) {
2308
+ try {
2309
+ step(generator["throw"](value));
2310
+ } catch (e) {
2311
+ reject(e);
2312
+ }
2313
+ }
2314
+ function step(result) {
2315
+ result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
2316
+ }
2317
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
2318
+ });
2319
+ };
2320
+ var __generator = exports && exports.__generator || function(thisArg, body) {
2321
+ var _ = { label: 0, sent: function() {
2322
+ if (t[0] & 1)
2323
+ throw t[1];
2324
+ return t[1];
2325
+ }, trys: [], ops: [] }, f, y, t, g;
2326
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() {
2327
+ return this;
2328
+ }), g;
2329
+ function verb(n) {
2330
+ return function(v) {
2331
+ return step([n, v]);
2332
+ };
2333
+ }
2334
+ function step(op) {
2335
+ if (f)
2336
+ throw new TypeError("Generator is already executing.");
2337
+ while (_)
2338
+ try {
2339
+ 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)
2340
+ return t;
2341
+ if (y = 0, t)
2342
+ op = [op[0] & 2, t.value];
2343
+ switch (op[0]) {
2344
+ case 0:
2345
+ case 1:
2346
+ t = op;
2347
+ break;
2348
+ case 4:
2349
+ _.label++;
2350
+ return { value: op[1], done: false };
2351
+ case 5:
2352
+ _.label++;
2353
+ y = op[1];
2354
+ op = [0];
2355
+ continue;
2356
+ case 7:
2357
+ op = _.ops.pop();
2358
+ _.trys.pop();
2359
+ continue;
2360
+ default:
2361
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
2362
+ _ = 0;
2363
+ continue;
2364
+ }
2365
+ if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
2366
+ _.label = op[1];
2367
+ break;
2368
+ }
2369
+ if (op[0] === 6 && _.label < t[1]) {
2370
+ _.label = t[1];
2371
+ t = op;
2372
+ break;
2373
+ }
2374
+ if (t && _.label < t[2]) {
2375
+ _.label = t[2];
2376
+ _.ops.push(op);
2377
+ break;
2378
+ }
2379
+ if (t[2])
2380
+ _.ops.pop();
2381
+ _.trys.pop();
2382
+ continue;
2383
+ }
2384
+ op = body.call(thisArg, _);
2385
+ } catch (e) {
2386
+ op = [6, e];
2387
+ y = 0;
2388
+ } finally {
2389
+ f = t = 0;
2390
+ }
2391
+ if (op[0] & 5)
2392
+ throw op[1];
2393
+ return { value: op[0] ? op[1] : void 0, done: true };
2394
+ }
2395
+ };
2396
+ Object.defineProperty(exports, "__esModule", { value: true });
2397
+ exports.JSONRPCClient = void 0;
2398
+ var models_1 = require_models();
2399
+ var internal_1 = require_internal();
2400
+ var JSONRPCClient = function() {
2401
+ function JSONRPCClient2(_send, createID) {
2402
+ this._send = _send;
2403
+ this.createID = createID;
2404
+ this.idToResolveMap = /* @__PURE__ */ new Map();
2405
+ this.id = 0;
2406
+ }
2407
+ JSONRPCClient2.prototype._createID = function() {
2408
+ if (this.createID) {
2409
+ return this.createID();
2410
+ } else {
2411
+ return ++this.id;
2412
+ }
2413
+ };
2414
+ JSONRPCClient2.prototype.timeout = function(delay, overrideCreateJSONRPCErrorResponse) {
2415
+ var _this = this;
2416
+ if (overrideCreateJSONRPCErrorResponse === void 0) {
2417
+ overrideCreateJSONRPCErrorResponse = function(id) {
2418
+ return (0, models_1.createJSONRPCErrorResponse)(id, internal_1.DefaultErrorCode, "Request timeout");
2419
+ };
2420
+ }
2421
+ var timeoutRequest = function(ids, request) {
2422
+ var timeoutID = setTimeout(function() {
2423
+ ids.forEach(function(id) {
2424
+ var resolve = _this.idToResolveMap.get(id);
2425
+ if (resolve) {
2426
+ _this.idToResolveMap.delete(id);
2427
+ resolve(overrideCreateJSONRPCErrorResponse(id));
2428
+ }
2429
+ });
2430
+ }, delay);
2431
+ return request().then(function(result) {
2432
+ clearTimeout(timeoutID);
2433
+ return result;
2434
+ }, function(error) {
2435
+ clearTimeout(timeoutID);
2436
+ return Promise.reject(error);
2437
+ });
2438
+ };
2439
+ var requestAdvanced = function(request, clientParams) {
2440
+ var ids = (!Array.isArray(request) ? [request] : request).map(function(request2) {
2441
+ return request2.id;
2442
+ }).filter(isDefinedAndNonNull);
2443
+ return timeoutRequest(ids, function() {
2444
+ return _this.requestAdvanced(request, clientParams);
2445
+ });
2446
+ };
2447
+ return {
2448
+ request: function(method, params, clientParams) {
2449
+ var id = _this._createID();
2450
+ return timeoutRequest([id], function() {
2451
+ return _this.requestWithID(method, params, clientParams, id);
2452
+ });
2453
+ },
2454
+ requestAdvanced: function(request, clientParams) {
2455
+ return requestAdvanced(request, clientParams);
2456
+ }
2457
+ };
2458
+ };
2459
+ JSONRPCClient2.prototype.request = function(method, params, clientParams) {
2460
+ return this.requestWithID(method, params, clientParams, this._createID());
2461
+ };
2462
+ JSONRPCClient2.prototype.requestWithID = function(method, params, clientParams, id) {
2463
+ return __awaiter(this, void 0, void 0, function() {
2464
+ var request, response;
2465
+ return __generator(this, function(_a) {
2466
+ switch (_a.label) {
2467
+ case 0:
2468
+ request = (0, models_1.createJSONRPCRequest)(id, method, params);
2469
+ return [4, this.requestAdvanced(request, clientParams)];
2470
+ case 1:
2471
+ response = _a.sent();
2472
+ if (response.result !== void 0 && !response.error) {
2473
+ return [2, response.result];
2474
+ } else if (response.result === void 0 && response.error) {
2475
+ return [2, Promise.reject(new models_1.JSONRPCErrorException(response.error.message, response.error.code, response.error.data))];
2476
+ } else {
2477
+ return [2, Promise.reject(new Error("An unexpected error occurred"))];
2478
+ }
2479
+ return [2];
2480
+ }
2481
+ });
2482
+ });
2483
+ };
2484
+ JSONRPCClient2.prototype.requestAdvanced = function(requests, clientParams) {
2485
+ var _this = this;
2486
+ var areRequestsOriginallyArray = Array.isArray(requests);
2487
+ if (!Array.isArray(requests)) {
2488
+ requests = [requests];
2489
+ }
2490
+ var requestsWithID = requests.filter(function(request) {
2491
+ return isDefinedAndNonNull(request.id);
2492
+ });
2493
+ var promises = requestsWithID.map(function(request) {
2494
+ return new Promise(function(resolve) {
2495
+ return _this.idToResolveMap.set(request.id, resolve);
2496
+ });
2497
+ });
2498
+ var promise = Promise.all(promises).then(function(responses) {
2499
+ if (areRequestsOriginallyArray || !responses.length) {
2500
+ return responses;
2501
+ } else {
2502
+ return responses[0];
2503
+ }
2504
+ });
2505
+ return this.send(areRequestsOriginallyArray ? requests : requests[0], clientParams).then(function() {
2506
+ return promise;
2507
+ }, function(error) {
2508
+ requestsWithID.forEach(function(request) {
2509
+ _this.receive((0, models_1.createJSONRPCErrorResponse)(request.id, internal_1.DefaultErrorCode, error && error.message || "Failed to send a request"));
2510
+ });
2511
+ return promise;
2512
+ });
2513
+ };
2514
+ JSONRPCClient2.prototype.notify = function(method, params, clientParams) {
2515
+ var request = (0, models_1.createJSONRPCNotification)(method, params);
2516
+ this.send(request, clientParams).then(void 0, function() {
2517
+ return void 0;
2518
+ });
2519
+ };
2520
+ JSONRPCClient2.prototype.send = function(payload, clientParams) {
2521
+ return this._send(payload, clientParams);
2522
+ };
2523
+ JSONRPCClient2.prototype.rejectAllPendingRequests = function(message) {
2524
+ this.idToResolveMap.forEach(function(resolve, id) {
2525
+ return resolve((0, models_1.createJSONRPCErrorResponse)(id, internal_1.DefaultErrorCode, message));
2526
+ });
2527
+ this.idToResolveMap.clear();
2528
+ };
2529
+ JSONRPCClient2.prototype.receive = function(responses) {
2530
+ var _this = this;
2531
+ if (!Array.isArray(responses)) {
2532
+ responses = [responses];
2533
+ }
2534
+ responses.forEach(function(response) {
2535
+ var resolve = _this.idToResolveMap.get(response.id);
2536
+ if (resolve) {
2537
+ _this.idToResolveMap.delete(response.id);
2538
+ resolve(response);
2539
+ }
2540
+ });
2541
+ };
2542
+ return JSONRPCClient2;
2543
+ }();
2544
+ exports.JSONRPCClient = JSONRPCClient;
2545
+ var isDefinedAndNonNull = function(value) {
2546
+ return value !== void 0 && value !== null;
2547
+ };
2548
+ }
2549
+ });
2550
+
2551
+ // ../../node_modules/.pnpm/json-rpc-2.0@1.4.1/node_modules/json-rpc-2.0/dist/server.js
2552
+ var require_server = __commonJS({
2553
+ "../../node_modules/.pnpm/json-rpc-2.0@1.4.1/node_modules/json-rpc-2.0/dist/server.js"(exports) {
2554
+ "use strict";
2555
+ var __assign = exports && exports.__assign || function() {
2556
+ __assign = Object.assign || function(t) {
2557
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
2558
+ s = arguments[i];
2559
+ for (var p in s)
2560
+ if (Object.prototype.hasOwnProperty.call(s, p))
2561
+ t[p] = s[p];
2562
+ }
2563
+ return t;
2564
+ };
2565
+ return __assign.apply(this, arguments);
2566
+ };
2567
+ var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P, generator) {
2568
+ function adopt(value) {
2569
+ return value instanceof P ? value : new P(function(resolve) {
2570
+ resolve(value);
2571
+ });
2572
+ }
2573
+ return new (P || (P = Promise))(function(resolve, reject) {
2574
+ function fulfilled(value) {
2575
+ try {
2576
+ step(generator.next(value));
2577
+ } catch (e) {
2578
+ reject(e);
2579
+ }
2580
+ }
2581
+ function rejected(value) {
2582
+ try {
2583
+ step(generator["throw"](value));
2584
+ } catch (e) {
2585
+ reject(e);
2586
+ }
2587
+ }
2588
+ function step(result) {
2589
+ result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
2590
+ }
2591
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
2592
+ });
2593
+ };
2594
+ var __generator = exports && exports.__generator || function(thisArg, body) {
2595
+ var _ = { label: 0, sent: function() {
2596
+ if (t[0] & 1)
2597
+ throw t[1];
2598
+ return t[1];
2599
+ }, trys: [], ops: [] }, f, y, t, g;
2600
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() {
2601
+ return this;
2602
+ }), g;
2603
+ function verb(n) {
2604
+ return function(v) {
2605
+ return step([n, v]);
2606
+ };
2607
+ }
2608
+ function step(op) {
2609
+ if (f)
2610
+ throw new TypeError("Generator is already executing.");
2611
+ while (_)
2612
+ try {
2613
+ 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)
2614
+ return t;
2615
+ if (y = 0, t)
2616
+ op = [op[0] & 2, t.value];
2617
+ switch (op[0]) {
2618
+ case 0:
2619
+ case 1:
2620
+ t = op;
2621
+ break;
2622
+ case 4:
2623
+ _.label++;
2624
+ return { value: op[1], done: false };
2625
+ case 5:
2626
+ _.label++;
2627
+ y = op[1];
2628
+ op = [0];
2629
+ continue;
2630
+ case 7:
2631
+ op = _.ops.pop();
2632
+ _.trys.pop();
2633
+ continue;
2634
+ default:
2635
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
2636
+ _ = 0;
2637
+ continue;
2638
+ }
2639
+ if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
2640
+ _.label = op[1];
2641
+ break;
2642
+ }
2643
+ if (op[0] === 6 && _.label < t[1]) {
2644
+ _.label = t[1];
2645
+ t = op;
2646
+ break;
2647
+ }
2648
+ if (t && _.label < t[2]) {
2649
+ _.label = t[2];
2650
+ _.ops.push(op);
2651
+ break;
2652
+ }
2653
+ if (t[2])
2654
+ _.ops.pop();
2655
+ _.trys.pop();
2656
+ continue;
2657
+ }
2658
+ op = body.call(thisArg, _);
2659
+ } catch (e) {
2660
+ op = [6, e];
2661
+ y = 0;
2662
+ } finally {
2663
+ f = t = 0;
2664
+ }
2665
+ if (op[0] & 5)
2666
+ throw op[1];
2667
+ return { value: op[0] ? op[1] : void 0, done: true };
2668
+ }
2669
+ };
2670
+ var __spreadArray = exports && exports.__spreadArray || function(to, from, pack) {
2671
+ if (pack || arguments.length === 2)
2672
+ for (var i = 0, l = from.length, ar; i < l; i++) {
2673
+ if (ar || !(i in from)) {
2674
+ if (!ar)
2675
+ ar = Array.prototype.slice.call(from, 0, i);
2676
+ ar[i] = from[i];
2677
+ }
2678
+ }
2679
+ return to.concat(ar || Array.prototype.slice.call(from));
2680
+ };
2681
+ Object.defineProperty(exports, "__esModule", { value: true });
2682
+ exports.JSONRPCServer = void 0;
2683
+ var models_1 = require_models();
2684
+ var internal_1 = require_internal();
2685
+ var createParseErrorResponse = function() {
2686
+ return (0, models_1.createJSONRPCErrorResponse)(null, models_1.JSONRPCErrorCode.ParseError, "Parse error");
2687
+ };
2688
+ var createInvalidRequestResponse = function(request) {
2689
+ return (0, models_1.createJSONRPCErrorResponse)((0, models_1.isJSONRPCID)(request.id) ? request.id : null, models_1.JSONRPCErrorCode.InvalidRequest, "Invalid Request");
2690
+ };
2691
+ var createMethodNotFoundResponse = function(id) {
2692
+ return (0, models_1.createJSONRPCErrorResponse)(id, models_1.JSONRPCErrorCode.MethodNotFound, "Method not found");
2693
+ };
2694
+ var JSONRPCServer = function() {
2695
+ function JSONRPCServer2(options) {
2696
+ if (options === void 0) {
2697
+ options = {};
2698
+ }
2699
+ var _a;
2700
+ this.mapErrorToJSONRPCErrorResponse = defaultMapErrorToJSONRPCErrorResponse;
2701
+ this.nameToMethodDictionary = {};
2702
+ this.middleware = null;
2703
+ this.errorListener = (_a = options.errorListener) !== null && _a !== void 0 ? _a : console.warn;
2704
+ }
2705
+ JSONRPCServer2.prototype.hasMethod = function(name) {
2706
+ return !!this.nameToMethodDictionary[name];
2707
+ };
2708
+ JSONRPCServer2.prototype.addMethod = function(name, method) {
2709
+ this.addMethodAdvanced(name, this.toJSONRPCMethod(method));
2710
+ };
2711
+ JSONRPCServer2.prototype.toJSONRPCMethod = function(method) {
2712
+ return function(request, serverParams) {
2713
+ var response = method(request.params, serverParams);
2714
+ return Promise.resolve(response).then(function(result) {
2715
+ return mapResultToJSONRPCResponse(request.id, result);
2716
+ });
2717
+ };
2718
+ };
2719
+ JSONRPCServer2.prototype.addMethodAdvanced = function(name, method) {
2720
+ var _a;
2721
+ this.nameToMethodDictionary = __assign(__assign({}, this.nameToMethodDictionary), (_a = {}, _a[name] = method, _a));
2722
+ };
2723
+ JSONRPCServer2.prototype.receiveJSON = function(json, serverParams) {
2724
+ var request = this.tryParseRequestJSON(json);
2725
+ if (request) {
2726
+ return this.receive(request, serverParams);
2727
+ } else {
2728
+ return Promise.resolve(createParseErrorResponse());
2729
+ }
2730
+ };
2731
+ JSONRPCServer2.prototype.tryParseRequestJSON = function(json) {
2732
+ try {
2733
+ return JSON.parse(json);
2734
+ } catch (_a) {
2735
+ return null;
2736
+ }
2737
+ };
2738
+ JSONRPCServer2.prototype.receive = function(request, serverParams) {
2739
+ if (Array.isArray(request)) {
2740
+ return this.receiveMultiple(request, serverParams);
2741
+ } else {
2742
+ return this.receiveSingle(request, serverParams);
2743
+ }
2744
+ };
2745
+ JSONRPCServer2.prototype.receiveMultiple = function(requests, serverParams) {
2746
+ return __awaiter(this, void 0, void 0, function() {
2747
+ var responses;
2748
+ var _this = this;
2749
+ return __generator(this, function(_a) {
2750
+ switch (_a.label) {
2751
+ case 0:
2752
+ return [4, Promise.all(requests.map(function(request) {
2753
+ return _this.receiveSingle(request, serverParams);
2754
+ }))];
2755
+ case 1:
2756
+ responses = _a.sent().filter(isNonNull);
2757
+ if (responses.length === 1) {
2758
+ return [2, responses[0]];
2759
+ } else if (responses.length) {
2760
+ return [2, responses];
2761
+ } else {
2762
+ return [2, null];
2763
+ }
2764
+ return [2];
2765
+ }
2766
+ });
2767
+ });
2768
+ };
2769
+ JSONRPCServer2.prototype.receiveSingle = function(request, serverParams) {
2770
+ return __awaiter(this, void 0, void 0, function() {
2771
+ var method, response;
2772
+ return __generator(this, function(_a) {
2773
+ switch (_a.label) {
2774
+ case 0:
2775
+ method = this.nameToMethodDictionary[request.method];
2776
+ if (!!(0, models_1.isJSONRPCRequest)(request))
2777
+ return [3, 1];
2778
+ return [2, createInvalidRequestResponse(request)];
2779
+ case 1:
2780
+ return [4, this.callMethod(method, request, serverParams)];
2781
+ case 2:
2782
+ response = _a.sent();
2783
+ return [2, mapResponse(request, response)];
2784
+ }
2785
+ });
2786
+ });
2787
+ };
2788
+ JSONRPCServer2.prototype.applyMiddleware = function() {
2789
+ var middlewares = [];
2790
+ for (var _i = 0; _i < arguments.length; _i++) {
2791
+ middlewares[_i] = arguments[_i];
2792
+ }
2793
+ if (this.middleware) {
2794
+ this.middleware = this.combineMiddlewares(__spreadArray([
2795
+ this.middleware
2796
+ ], middlewares, true));
2797
+ } else {
2798
+ this.middleware = this.combineMiddlewares(middlewares);
2799
+ }
2800
+ };
2801
+ JSONRPCServer2.prototype.combineMiddlewares = function(middlewares) {
2802
+ if (!middlewares.length) {
2803
+ return null;
2804
+ } else {
2805
+ return middlewares.reduce(this.middlewareReducer);
2806
+ }
2807
+ };
2808
+ JSONRPCServer2.prototype.middlewareReducer = function(prevMiddleware, nextMiddleware) {
2809
+ return function(next, request, serverParams) {
2810
+ return prevMiddleware(function(request2, serverParams2) {
2811
+ return nextMiddleware(next, request2, serverParams2);
2812
+ }, request, serverParams);
2813
+ };
2814
+ };
2815
+ JSONRPCServer2.prototype.callMethod = function(method, request, serverParams) {
2816
+ var _this = this;
2817
+ var callMethod = function(request2, serverParams2) {
2818
+ if (method) {
2819
+ return method(request2, serverParams2);
2820
+ } else if (request2.id !== void 0) {
2821
+ return Promise.resolve(createMethodNotFoundResponse(request2.id));
2822
+ } else {
2823
+ return Promise.resolve(null);
2824
+ }
2825
+ };
2826
+ var onError = function(error) {
2827
+ _this.errorListener('An unexpected error occurred while executing "'.concat(request.method, '" JSON-RPC method:'), error);
2828
+ return Promise.resolve(_this.mapErrorToJSONRPCErrorResponseIfNecessary(request.id, error));
2829
+ };
2830
+ try {
2831
+ return (this.middleware || noopMiddleware)(callMethod, request, serverParams).then(void 0, onError);
2832
+ } catch (error) {
2833
+ return onError(error);
2834
+ }
2835
+ };
2836
+ JSONRPCServer2.prototype.mapErrorToJSONRPCErrorResponseIfNecessary = function(id, error) {
2837
+ if (id !== void 0) {
2838
+ return this.mapErrorToJSONRPCErrorResponse(id, error);
2839
+ } else {
2840
+ return null;
2841
+ }
2842
+ };
2843
+ return JSONRPCServer2;
2844
+ }();
2845
+ exports.JSONRPCServer = JSONRPCServer;
2846
+ var isNonNull = function(value) {
2847
+ return value !== null;
2848
+ };
2849
+ var noopMiddleware = function(next, request, serverParams) {
2850
+ return next(request, serverParams);
2851
+ };
2852
+ var mapResultToJSONRPCResponse = function(id, result) {
2853
+ if (id !== void 0) {
2854
+ return (0, models_1.createJSONRPCSuccessResponse)(id, result);
2855
+ } else {
2856
+ return null;
2857
+ }
2858
+ };
2859
+ var defaultMapErrorToJSONRPCErrorResponse = function(id, error) {
2860
+ var _a;
2861
+ var message = (_a = error === null || error === void 0 ? void 0 : error.message) !== null && _a !== void 0 ? _a : "An unexpected error occurred";
2862
+ var code = internal_1.DefaultErrorCode;
2863
+ var data;
2864
+ if (error instanceof models_1.JSONRPCErrorException) {
2865
+ code = error.code;
2866
+ data = error.data;
2867
+ }
2868
+ return (0, models_1.createJSONRPCErrorResponse)(id, code, message, data);
2869
+ };
2870
+ var mapResponse = function(request, response) {
2871
+ if (response) {
2872
+ return response;
2873
+ } else if (request.id !== void 0) {
2874
+ return (0, models_1.createJSONRPCErrorResponse)(request.id, models_1.JSONRPCErrorCode.InternalError, "Internal error");
2875
+ } else {
2876
+ return null;
2877
+ }
2878
+ };
2879
+ }
2880
+ });
2881
+
2882
+ // ../../node_modules/.pnpm/json-rpc-2.0@1.4.1/node_modules/json-rpc-2.0/dist/server-and-client.js
2883
+ var require_server_and_client = __commonJS({
2884
+ "../../node_modules/.pnpm/json-rpc-2.0@1.4.1/node_modules/json-rpc-2.0/dist/server-and-client.js"(exports) {
2885
+ "use strict";
2886
+ var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P, generator) {
2887
+ function adopt(value) {
2888
+ return value instanceof P ? value : new P(function(resolve) {
2889
+ resolve(value);
2890
+ });
2891
+ }
2892
+ return new (P || (P = Promise))(function(resolve, reject) {
2893
+ function fulfilled(value) {
2894
+ try {
2895
+ step(generator.next(value));
2896
+ } catch (e) {
2897
+ reject(e);
2898
+ }
2899
+ }
2900
+ function rejected(value) {
2901
+ try {
2902
+ step(generator["throw"](value));
2903
+ } catch (e) {
2904
+ reject(e);
2905
+ }
2906
+ }
2907
+ function step(result) {
2908
+ result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
2909
+ }
2910
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
2911
+ });
2912
+ };
2913
+ var __generator = exports && exports.__generator || function(thisArg, body) {
2914
+ var _ = { label: 0, sent: function() {
2915
+ if (t[0] & 1)
2916
+ throw t[1];
2917
+ return t[1];
2918
+ }, trys: [], ops: [] }, f, y, t, g;
2919
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() {
2920
+ return this;
2921
+ }), g;
2922
+ function verb(n) {
2923
+ return function(v) {
2924
+ return step([n, v]);
2925
+ };
2926
+ }
2927
+ function step(op) {
2928
+ if (f)
2929
+ throw new TypeError("Generator is already executing.");
2930
+ while (_)
2931
+ try {
2932
+ 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)
2933
+ return t;
2934
+ if (y = 0, t)
2935
+ op = [op[0] & 2, t.value];
2936
+ switch (op[0]) {
2937
+ case 0:
2938
+ case 1:
2939
+ t = op;
2940
+ break;
2941
+ case 4:
2942
+ _.label++;
2943
+ return { value: op[1], done: false };
2944
+ case 5:
2945
+ _.label++;
2946
+ y = op[1];
2947
+ op = [0];
2948
+ continue;
2949
+ case 7:
2950
+ op = _.ops.pop();
2951
+ _.trys.pop();
2952
+ continue;
2953
+ default:
2954
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
2955
+ _ = 0;
2956
+ continue;
2957
+ }
2958
+ if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
2959
+ _.label = op[1];
2960
+ break;
2961
+ }
2962
+ if (op[0] === 6 && _.label < t[1]) {
2963
+ _.label = t[1];
2964
+ t = op;
2965
+ break;
2966
+ }
2967
+ if (t && _.label < t[2]) {
2968
+ _.label = t[2];
2969
+ _.ops.push(op);
2970
+ break;
2971
+ }
2972
+ if (t[2])
2973
+ _.ops.pop();
2974
+ _.trys.pop();
2975
+ continue;
2976
+ }
2977
+ op = body.call(thisArg, _);
2978
+ } catch (e) {
2979
+ op = [6, e];
2980
+ y = 0;
2981
+ } finally {
2982
+ f = t = 0;
2983
+ }
2984
+ if (op[0] & 5)
2985
+ throw op[1];
2986
+ return { value: op[0] ? op[1] : void 0, done: true };
2987
+ }
2988
+ };
2989
+ Object.defineProperty(exports, "__esModule", { value: true });
2990
+ exports.JSONRPCServerAndClient = void 0;
2991
+ var models_1 = require_models();
2992
+ var JSONRPCServerAndClient = function() {
2993
+ function JSONRPCServerAndClient2(server2, client, options) {
2994
+ if (options === void 0) {
2995
+ options = {};
2996
+ }
2997
+ var _a;
2998
+ this.server = server2;
2999
+ this.client = client;
3000
+ this.errorListener = (_a = options.errorListener) !== null && _a !== void 0 ? _a : console.warn;
3001
+ }
3002
+ JSONRPCServerAndClient2.prototype.applyServerMiddleware = function() {
3003
+ var _a;
3004
+ var middlewares = [];
3005
+ for (var _i = 0; _i < arguments.length; _i++) {
3006
+ middlewares[_i] = arguments[_i];
3007
+ }
3008
+ (_a = this.server).applyMiddleware.apply(_a, middlewares);
3009
+ };
3010
+ JSONRPCServerAndClient2.prototype.hasMethod = function(name) {
3011
+ return this.server.hasMethod(name);
3012
+ };
3013
+ JSONRPCServerAndClient2.prototype.addMethod = function(name, method) {
3014
+ this.server.addMethod(name, method);
3015
+ };
3016
+ JSONRPCServerAndClient2.prototype.addMethodAdvanced = function(name, method) {
3017
+ this.server.addMethodAdvanced(name, method);
3018
+ };
3019
+ JSONRPCServerAndClient2.prototype.timeout = function(delay) {
3020
+ return this.client.timeout(delay);
3021
+ };
3022
+ JSONRPCServerAndClient2.prototype.request = function(method, params, clientParams) {
3023
+ return this.client.request(method, params, clientParams);
3024
+ };
3025
+ JSONRPCServerAndClient2.prototype.requestAdvanced = function(jsonRPCRequest, clientParams) {
3026
+ return this.client.requestAdvanced(jsonRPCRequest, clientParams);
3027
+ };
3028
+ JSONRPCServerAndClient2.prototype.notify = function(method, params, clientParams) {
3029
+ this.client.notify(method, params, clientParams);
3030
+ };
3031
+ JSONRPCServerAndClient2.prototype.rejectAllPendingRequests = function(message) {
3032
+ this.client.rejectAllPendingRequests(message);
3033
+ };
3034
+ JSONRPCServerAndClient2.prototype.receiveAndSend = function(payload, serverParams, clientParams) {
3035
+ return __awaiter(this, void 0, void 0, function() {
3036
+ var response, message;
3037
+ return __generator(this, function(_a) {
3038
+ switch (_a.label) {
3039
+ case 0:
3040
+ if (!((0, models_1.isJSONRPCResponse)(payload) || (0, models_1.isJSONRPCResponses)(payload)))
3041
+ return [3, 1];
3042
+ this.client.receive(payload);
3043
+ return [3, 4];
3044
+ case 1:
3045
+ if (!((0, models_1.isJSONRPCRequest)(payload) || (0, models_1.isJSONRPCRequests)(payload)))
3046
+ return [3, 3];
3047
+ return [4, this.server.receive(payload, serverParams)];
3048
+ case 2:
3049
+ response = _a.sent();
3050
+ if (response) {
3051
+ return [2, this.client.send(response, clientParams)];
3052
+ }
3053
+ return [3, 4];
3054
+ case 3:
3055
+ message = "Received an invalid JSON-RPC message";
3056
+ this.errorListener(message, payload);
3057
+ return [2, Promise.reject(new Error(message))];
3058
+ case 4:
3059
+ return [2];
3060
+ }
3061
+ });
3062
+ });
3063
+ };
3064
+ return JSONRPCServerAndClient2;
3065
+ }();
3066
+ exports.JSONRPCServerAndClient = JSONRPCServerAndClient;
3067
+ }
3068
+ });
3069
+
3070
+ // ../../node_modules/.pnpm/json-rpc-2.0@1.4.1/node_modules/json-rpc-2.0/dist/index.js
3071
+ var require_dist2 = __commonJS({
3072
+ "../../node_modules/.pnpm/json-rpc-2.0@1.4.1/node_modules/json-rpc-2.0/dist/index.js"(exports) {
3073
+ "use strict";
3074
+ var __createBinding = exports && exports.__createBinding || (Object.create ? function(o, m, k, k2) {
3075
+ if (k2 === void 0)
3076
+ k2 = k;
3077
+ var desc = Object.getOwnPropertyDescriptor(m, k);
3078
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
3079
+ desc = { enumerable: true, get: function() {
3080
+ return m[k];
3081
+ } };
3082
+ }
3083
+ Object.defineProperty(o, k2, desc);
3084
+ } : function(o, m, k, k2) {
3085
+ if (k2 === void 0)
3086
+ k2 = k;
3087
+ o[k2] = m[k];
3088
+ });
3089
+ var __exportStar = exports && exports.__exportStar || function(m, exports2) {
3090
+ for (var p in m)
3091
+ if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports2, p))
3092
+ __createBinding(exports2, m, p);
3093
+ };
3094
+ Object.defineProperty(exports, "__esModule", { value: true });
3095
+ __exportStar(require_client(), exports);
3096
+ __exportStar(require_models(), exports);
3097
+ __exportStar(require_server(), exports);
3098
+ __exportStar(require_server_and_client(), exports);
3099
+ }
3100
+ });
3101
+
3102
+ // ../server/dist/index.js
3103
+ var require_dist3 = __commonJS({
3104
+ "../server/dist/index.js"(exports, module) {
3105
+ "use strict";
3106
+ var __defProp2 = Object.defineProperty;
3107
+ var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;
3108
+ var __getOwnPropNames2 = Object.getOwnPropertyNames;
3109
+ var __hasOwnProp2 = Object.prototype.hasOwnProperty;
3110
+ var __export = (target, all) => {
3111
+ for (var name in all)
3112
+ __defProp2(target, name, { get: all[name], enumerable: true });
3113
+ };
3114
+ var __copyProps2 = (to, from, except, desc) => {
3115
+ if (from && typeof from === "object" || typeof from === "function") {
3116
+ for (let key of __getOwnPropNames2(from))
3117
+ if (!__hasOwnProp2.call(to, key) && key !== except)
3118
+ __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });
3119
+ }
3120
+ return to;
3121
+ };
3122
+ var __toCommonJS = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod);
3123
+ var src_exports = {};
3124
+ __export(src_exports, {
3125
+ default: () => Server2,
3126
+ logMiddleware: () => logMiddleware,
3127
+ permissionMiddleware: () => permissionMiddleware
3128
+ });
3129
+ module.exports = __toCommonJS(src_exports);
3130
+ var import_wallet_api_core2 = require_dist();
3131
+ var import_json_rpc_2 = require_dist2();
3132
+ var logMiddleware = (next, request, serverParams) => {
3133
+ serverParams == null ? void 0 : serverParams.logger.log(`Received ${JSON.stringify(request)}`);
3134
+ return next(request, serverParams).then((response) => {
3135
+ serverParams == null ? void 0 : serverParams.logger.log(`Responding ${JSON.stringify(response)}`);
3136
+ return response;
3137
+ });
3138
+ };
3139
+ var permissionMiddleware = async (next, request, serverParams) => {
3140
+ serverParams == null ? void 0 : serverParams.logger.error("To be implemented");
3141
+ return next(request, serverParams);
3142
+ };
3143
+ var defaultLogger = new import_wallet_api_core2.Logger("Wallet-API-Server");
3144
+ var Server2 = class {
3145
+ constructor(transport2, logger = defaultLogger) {
3146
+ this.transport = transport2;
3147
+ this.logger = logger;
3148
+ }
3149
+ connect({
3150
+ middlewares
3151
+ } = {}) {
3152
+ const serverAndClient = new import_json_rpc_2.JSONRPCServerAndClient(
3153
+ new import_json_rpc_2.JSONRPCServer(),
3154
+ new import_json_rpc_2.JSONRPCClient((payload) => this.transport.send(payload))
3155
+ );
3156
+ if (middlewares) {
3157
+ serverAndClient.applyServerMiddleware(...middlewares);
3158
+ }
3159
+ this.transport.onMessage = (payload) => serverAndClient.receiveAndSend(payload, { logger: this.logger });
3160
+ this.transport.connect();
3161
+ this.serverAndClient = serverAndClient;
3162
+ this.logger.log("connected", this.transport);
3163
+ }
3164
+ disconnect() {
3165
+ delete this.serverAndClient;
3166
+ this.transport.disconnect();
3167
+ this.logger.log("disconnected", this.transport);
3168
+ }
3169
+ addMethod(method, handler) {
3170
+ if (!this.serverAndClient) {
3171
+ this.logger.error(`not connected - addMethod(${method})`);
3172
+ throw new Error("Client not connected");
3173
+ }
3174
+ this.serverAndClient.addMethod(method, handler);
3175
+ }
3176
+ };
3177
+ }
3178
+ });
3179
+
3180
+ // src/index.ts
3181
+ var import_wallet_api_core = __toESM(require_dist());
3182
+ var import_wallet_api_server = __toESM(require_dist3());
3183
+ var transport = new import_wallet_api_core.WindowMessageTransport(window);
3184
+ var server = new import_wallet_api_server.default(transport);
3185
+ server.connect();
3186
+ server.addMethod("account.list", () => {
3187
+ });
3188
+ })();