@xchainjs/xchain-thorchain 0.28.0 → 0.28.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/client.d.ts +6 -1
- package/lib/const.d.ts +1 -1
- package/lib/index.esm.js +783 -733
- package/lib/index.esm.js.map +1 -1
- package/lib/index.js +783 -733
- package/lib/index.js.map +1 -1
- package/package.json +5 -5
package/lib/index.js
CHANGED
|
@@ -4283,7 +4283,7 @@ const DEFAULT_EXPLORER_URL = 'https://viewblock.io/thorchain';
|
|
|
4283
4283
|
const txUrl = `${DEFAULT_EXPLORER_URL}/tx`;
|
|
4284
4284
|
const addressUrl = `${DEFAULT_EXPLORER_URL}/address`;
|
|
4285
4285
|
const RUNE_TICKER = 'RUNE';
|
|
4286
|
-
const
|
|
4286
|
+
const RUNE_DECIMAL = 8;
|
|
4287
4287
|
const DEFAULT_GAS_ADJUSTMENT = 2;
|
|
4288
4288
|
const DEFAULT_GAS_LIMIT_VALUE = '4000000';
|
|
4289
4289
|
const DEPOSIT_GAS_LIMIT_VALUE = '600000000';
|
|
@@ -4363,791 +4363,830 @@ var indexMinimal = {};
|
|
|
4363
4363
|
|
|
4364
4364
|
var minimal$1 = {};
|
|
4365
4365
|
|
|
4366
|
-
var aspromise
|
|
4366
|
+
var aspromise;
|
|
4367
|
+
var hasRequiredAspromise;
|
|
4368
|
+
|
|
4369
|
+
function requireAspromise () {
|
|
4370
|
+
if (hasRequiredAspromise) return aspromise;
|
|
4371
|
+
hasRequiredAspromise = 1;
|
|
4372
|
+
aspromise = asPromise;
|
|
4367
4373
|
|
|
4368
|
-
/**
|
|
4369
|
-
|
|
4370
|
-
|
|
4371
|
-
|
|
4372
|
-
|
|
4373
|
-
|
|
4374
|
-
|
|
4375
|
-
|
|
4374
|
+
/**
|
|
4375
|
+
* Callback as used by {@link util.asPromise}.
|
|
4376
|
+
* @typedef asPromiseCallback
|
|
4377
|
+
* @type {function}
|
|
4378
|
+
* @param {Error|null} error Error, if any
|
|
4379
|
+
* @param {...*} params Additional arguments
|
|
4380
|
+
* @returns {undefined}
|
|
4381
|
+
*/
|
|
4376
4382
|
|
|
4377
|
-
/**
|
|
4378
|
-
|
|
4379
|
-
|
|
4380
|
-
|
|
4381
|
-
|
|
4382
|
-
|
|
4383
|
-
|
|
4384
|
-
|
|
4385
|
-
function asPromise(fn, ctx/*, varargs */) {
|
|
4386
|
-
|
|
4387
|
-
|
|
4388
|
-
|
|
4389
|
-
|
|
4390
|
-
|
|
4391
|
-
|
|
4392
|
-
|
|
4393
|
-
|
|
4394
|
-
|
|
4395
|
-
|
|
4396
|
-
|
|
4397
|
-
|
|
4398
|
-
|
|
4399
|
-
|
|
4400
|
-
|
|
4401
|
-
|
|
4402
|
-
|
|
4403
|
-
|
|
4404
|
-
|
|
4405
|
-
|
|
4406
|
-
|
|
4407
|
-
|
|
4408
|
-
|
|
4409
|
-
|
|
4410
|
-
|
|
4411
|
-
|
|
4412
|
-
|
|
4413
|
-
|
|
4414
|
-
|
|
4415
|
-
|
|
4383
|
+
/**
|
|
4384
|
+
* Returns a promise from a node-style callback function.
|
|
4385
|
+
* @memberof util
|
|
4386
|
+
* @param {asPromiseCallback} fn Function to call
|
|
4387
|
+
* @param {*} ctx Function context
|
|
4388
|
+
* @param {...*} params Function arguments
|
|
4389
|
+
* @returns {Promise<*>} Promisified function
|
|
4390
|
+
*/
|
|
4391
|
+
function asPromise(fn, ctx/*, varargs */) {
|
|
4392
|
+
var params = new Array(arguments.length - 1),
|
|
4393
|
+
offset = 0,
|
|
4394
|
+
index = 2,
|
|
4395
|
+
pending = true;
|
|
4396
|
+
while (index < arguments.length)
|
|
4397
|
+
params[offset++] = arguments[index++];
|
|
4398
|
+
return new Promise(function executor(resolve, reject) {
|
|
4399
|
+
params[offset] = function callback(err/*, varargs */) {
|
|
4400
|
+
if (pending) {
|
|
4401
|
+
pending = false;
|
|
4402
|
+
if (err)
|
|
4403
|
+
reject(err);
|
|
4404
|
+
else {
|
|
4405
|
+
var params = new Array(arguments.length - 1),
|
|
4406
|
+
offset = 0;
|
|
4407
|
+
while (offset < params.length)
|
|
4408
|
+
params[offset++] = arguments[offset];
|
|
4409
|
+
resolve.apply(null, params);
|
|
4410
|
+
}
|
|
4411
|
+
}
|
|
4412
|
+
};
|
|
4413
|
+
try {
|
|
4414
|
+
fn.apply(ctx || null, params);
|
|
4415
|
+
} catch (err) {
|
|
4416
|
+
if (pending) {
|
|
4417
|
+
pending = false;
|
|
4418
|
+
reject(err);
|
|
4419
|
+
}
|
|
4420
|
+
}
|
|
4421
|
+
});
|
|
4422
|
+
}
|
|
4423
|
+
return aspromise;
|
|
4416
4424
|
}
|
|
4417
4425
|
|
|
4418
4426
|
var base64$1 = {};
|
|
4419
4427
|
|
|
4420
|
-
|
|
4428
|
+
var hasRequiredBase64;
|
|
4429
|
+
|
|
4430
|
+
function requireBase64 () {
|
|
4431
|
+
if (hasRequiredBase64) return base64$1;
|
|
4432
|
+
hasRequiredBase64 = 1;
|
|
4433
|
+
(function (exports) {
|
|
4421
4434
|
|
|
4422
|
-
|
|
4423
|
-
|
|
4424
|
-
|
|
4425
|
-
|
|
4426
|
-
|
|
4427
|
-
|
|
4435
|
+
/**
|
|
4436
|
+
* A minimal base64 implementation for number arrays.
|
|
4437
|
+
* @memberof util
|
|
4438
|
+
* @namespace
|
|
4439
|
+
*/
|
|
4440
|
+
var base64 = exports;
|
|
4441
|
+
|
|
4442
|
+
/**
|
|
4443
|
+
* Calculates the byte length of a base64 encoded string.
|
|
4444
|
+
* @param {string} string Base64 encoded string
|
|
4445
|
+
* @returns {number} Byte length
|
|
4446
|
+
*/
|
|
4447
|
+
base64.length = function length(string) {
|
|
4448
|
+
var p = string.length;
|
|
4449
|
+
if (!p)
|
|
4450
|
+
return 0;
|
|
4451
|
+
var n = 0;
|
|
4452
|
+
while (--p % 4 > 1 && string.charAt(p) === "=")
|
|
4453
|
+
++n;
|
|
4454
|
+
return Math.ceil(string.length * 3) / 4 - n;
|
|
4455
|
+
};
|
|
4456
|
+
|
|
4457
|
+
// Base64 encoding table
|
|
4458
|
+
var b64 = new Array(64);
|
|
4459
|
+
|
|
4460
|
+
// Base64 decoding table
|
|
4461
|
+
var s64 = new Array(123);
|
|
4462
|
+
|
|
4463
|
+
// 65..90, 97..122, 48..57, 43, 47
|
|
4464
|
+
for (var i = 0; i < 64;)
|
|
4465
|
+
s64[b64[i] = i < 26 ? i + 65 : i < 52 ? i + 71 : i < 62 ? i - 4 : i - 59 | 43] = i++;
|
|
4466
|
+
|
|
4467
|
+
/**
|
|
4468
|
+
* Encodes a buffer to a base64 encoded string.
|
|
4469
|
+
* @param {Uint8Array} buffer Source buffer
|
|
4470
|
+
* @param {number} start Source start
|
|
4471
|
+
* @param {number} end Source end
|
|
4472
|
+
* @returns {string} Base64 encoded string
|
|
4473
|
+
*/
|
|
4474
|
+
base64.encode = function encode(buffer, start, end) {
|
|
4475
|
+
var parts = null,
|
|
4476
|
+
chunk = [];
|
|
4477
|
+
var i = 0, // output index
|
|
4478
|
+
j = 0, // goto index
|
|
4479
|
+
t; // temporary
|
|
4480
|
+
while (start < end) {
|
|
4481
|
+
var b = buffer[start++];
|
|
4482
|
+
switch (j) {
|
|
4483
|
+
case 0:
|
|
4484
|
+
chunk[i++] = b64[b >> 2];
|
|
4485
|
+
t = (b & 3) << 4;
|
|
4486
|
+
j = 1;
|
|
4487
|
+
break;
|
|
4488
|
+
case 1:
|
|
4489
|
+
chunk[i++] = b64[t | b >> 4];
|
|
4490
|
+
t = (b & 15) << 2;
|
|
4491
|
+
j = 2;
|
|
4492
|
+
break;
|
|
4493
|
+
case 2:
|
|
4494
|
+
chunk[i++] = b64[t | b >> 6];
|
|
4495
|
+
chunk[i++] = b64[b & 63];
|
|
4496
|
+
j = 0;
|
|
4497
|
+
break;
|
|
4498
|
+
}
|
|
4499
|
+
if (i > 8191) {
|
|
4500
|
+
(parts || (parts = [])).push(String.fromCharCode.apply(String, chunk));
|
|
4501
|
+
i = 0;
|
|
4502
|
+
}
|
|
4503
|
+
}
|
|
4504
|
+
if (j) {
|
|
4505
|
+
chunk[i++] = b64[t];
|
|
4506
|
+
chunk[i++] = 61;
|
|
4507
|
+
if (j === 1)
|
|
4508
|
+
chunk[i++] = 61;
|
|
4509
|
+
}
|
|
4510
|
+
if (parts) {
|
|
4511
|
+
if (i)
|
|
4512
|
+
parts.push(String.fromCharCode.apply(String, chunk.slice(0, i)));
|
|
4513
|
+
return parts.join("");
|
|
4514
|
+
}
|
|
4515
|
+
return String.fromCharCode.apply(String, chunk.slice(0, i));
|
|
4516
|
+
};
|
|
4517
|
+
|
|
4518
|
+
var invalidEncoding = "invalid encoding";
|
|
4519
|
+
|
|
4520
|
+
/**
|
|
4521
|
+
* Decodes a base64 encoded string to a buffer.
|
|
4522
|
+
* @param {string} string Source string
|
|
4523
|
+
* @param {Uint8Array} buffer Destination buffer
|
|
4524
|
+
* @param {number} offset Destination offset
|
|
4525
|
+
* @returns {number} Number of bytes written
|
|
4526
|
+
* @throws {Error} If encoding is invalid
|
|
4527
|
+
*/
|
|
4528
|
+
base64.decode = function decode(string, buffer, offset) {
|
|
4529
|
+
var start = offset;
|
|
4530
|
+
var j = 0, // goto index
|
|
4531
|
+
t; // temporary
|
|
4532
|
+
for (var i = 0; i < string.length;) {
|
|
4533
|
+
var c = string.charCodeAt(i++);
|
|
4534
|
+
if (c === 61 && j > 1)
|
|
4535
|
+
break;
|
|
4536
|
+
if ((c = s64[c]) === undefined)
|
|
4537
|
+
throw Error(invalidEncoding);
|
|
4538
|
+
switch (j) {
|
|
4539
|
+
case 0:
|
|
4540
|
+
t = c;
|
|
4541
|
+
j = 1;
|
|
4542
|
+
break;
|
|
4543
|
+
case 1:
|
|
4544
|
+
buffer[offset++] = t << 2 | (c & 48) >> 4;
|
|
4545
|
+
t = c;
|
|
4546
|
+
j = 2;
|
|
4547
|
+
break;
|
|
4548
|
+
case 2:
|
|
4549
|
+
buffer[offset++] = (t & 15) << 4 | (c & 60) >> 2;
|
|
4550
|
+
t = c;
|
|
4551
|
+
j = 3;
|
|
4552
|
+
break;
|
|
4553
|
+
case 3:
|
|
4554
|
+
buffer[offset++] = (t & 3) << 6 | c;
|
|
4555
|
+
j = 0;
|
|
4556
|
+
break;
|
|
4557
|
+
}
|
|
4558
|
+
}
|
|
4559
|
+
if (j === 1)
|
|
4560
|
+
throw Error(invalidEncoding);
|
|
4561
|
+
return offset - start;
|
|
4562
|
+
};
|
|
4563
|
+
|
|
4564
|
+
/**
|
|
4565
|
+
* Tests if the specified string appears to be base64 encoded.
|
|
4566
|
+
* @param {string} string String to test
|
|
4567
|
+
* @returns {boolean} `true` if probably base64 encoded, otherwise false
|
|
4568
|
+
*/
|
|
4569
|
+
base64.test = function test(string) {
|
|
4570
|
+
return /^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(string);
|
|
4571
|
+
};
|
|
4572
|
+
} (base64$1));
|
|
4573
|
+
return base64$1;
|
|
4574
|
+
}
|
|
4575
|
+
|
|
4576
|
+
var eventemitter;
|
|
4577
|
+
var hasRequiredEventemitter;
|
|
4578
|
+
|
|
4579
|
+
function requireEventemitter () {
|
|
4580
|
+
if (hasRequiredEventemitter) return eventemitter;
|
|
4581
|
+
hasRequiredEventemitter = 1;
|
|
4582
|
+
eventemitter = EventEmitter;
|
|
4428
4583
|
|
|
4429
4584
|
/**
|
|
4430
|
-
*
|
|
4431
|
-
* @
|
|
4432
|
-
* @
|
|
4585
|
+
* Constructs a new event emitter instance.
|
|
4586
|
+
* @classdesc A minimal event emitter.
|
|
4587
|
+
* @memberof util
|
|
4588
|
+
* @constructor
|
|
4433
4589
|
*/
|
|
4434
|
-
|
|
4435
|
-
var p = string.length;
|
|
4436
|
-
if (!p)
|
|
4437
|
-
return 0;
|
|
4438
|
-
var n = 0;
|
|
4439
|
-
while (--p % 4 > 1 && string.charAt(p) === "=")
|
|
4440
|
-
++n;
|
|
4441
|
-
return Math.ceil(string.length * 3) / 4 - n;
|
|
4442
|
-
};
|
|
4443
|
-
|
|
4444
|
-
// Base64 encoding table
|
|
4445
|
-
var b64 = new Array(64);
|
|
4446
|
-
|
|
4447
|
-
// Base64 decoding table
|
|
4448
|
-
var s64 = new Array(123);
|
|
4590
|
+
function EventEmitter() {
|
|
4449
4591
|
|
|
4450
|
-
|
|
4451
|
-
|
|
4452
|
-
|
|
4592
|
+
/**
|
|
4593
|
+
* Registered listeners.
|
|
4594
|
+
* @type {Object.<string,*>}
|
|
4595
|
+
* @private
|
|
4596
|
+
*/
|
|
4597
|
+
this._listeners = {};
|
|
4598
|
+
}
|
|
4453
4599
|
|
|
4454
4600
|
/**
|
|
4455
|
-
*
|
|
4456
|
-
* @param {
|
|
4457
|
-
* @param {
|
|
4458
|
-
* @param {
|
|
4459
|
-
* @returns {
|
|
4601
|
+
* Registers an event listener.
|
|
4602
|
+
* @param {string} evt Event name
|
|
4603
|
+
* @param {function} fn Listener
|
|
4604
|
+
* @param {*} [ctx] Listener context
|
|
4605
|
+
* @returns {util.EventEmitter} `this`
|
|
4460
4606
|
*/
|
|
4461
|
-
|
|
4462
|
-
|
|
4463
|
-
|
|
4464
|
-
|
|
4465
|
-
|
|
4466
|
-
|
|
4467
|
-
while (start < end) {
|
|
4468
|
-
var b = buffer[start++];
|
|
4469
|
-
switch (j) {
|
|
4470
|
-
case 0:
|
|
4471
|
-
chunk[i++] = b64[b >> 2];
|
|
4472
|
-
t = (b & 3) << 4;
|
|
4473
|
-
j = 1;
|
|
4474
|
-
break;
|
|
4475
|
-
case 1:
|
|
4476
|
-
chunk[i++] = b64[t | b >> 4];
|
|
4477
|
-
t = (b & 15) << 2;
|
|
4478
|
-
j = 2;
|
|
4479
|
-
break;
|
|
4480
|
-
case 2:
|
|
4481
|
-
chunk[i++] = b64[t | b >> 6];
|
|
4482
|
-
chunk[i++] = b64[b & 63];
|
|
4483
|
-
j = 0;
|
|
4484
|
-
break;
|
|
4485
|
-
}
|
|
4486
|
-
if (i > 8191) {
|
|
4487
|
-
(parts || (parts = [])).push(String.fromCharCode.apply(String, chunk));
|
|
4488
|
-
i = 0;
|
|
4489
|
-
}
|
|
4490
|
-
}
|
|
4491
|
-
if (j) {
|
|
4492
|
-
chunk[i++] = b64[t];
|
|
4493
|
-
chunk[i++] = 61;
|
|
4494
|
-
if (j === 1)
|
|
4495
|
-
chunk[i++] = 61;
|
|
4496
|
-
}
|
|
4497
|
-
if (parts) {
|
|
4498
|
-
if (i)
|
|
4499
|
-
parts.push(String.fromCharCode.apply(String, chunk.slice(0, i)));
|
|
4500
|
-
return parts.join("");
|
|
4501
|
-
}
|
|
4502
|
-
return String.fromCharCode.apply(String, chunk.slice(0, i));
|
|
4607
|
+
EventEmitter.prototype.on = function on(evt, fn, ctx) {
|
|
4608
|
+
(this._listeners[evt] || (this._listeners[evt] = [])).push({
|
|
4609
|
+
fn : fn,
|
|
4610
|
+
ctx : ctx || this
|
|
4611
|
+
});
|
|
4612
|
+
return this;
|
|
4503
4613
|
};
|
|
4504
4614
|
|
|
4505
|
-
var invalidEncoding = "invalid encoding";
|
|
4506
|
-
|
|
4507
4615
|
/**
|
|
4508
|
-
*
|
|
4509
|
-
* @param {string}
|
|
4510
|
-
* @param {
|
|
4511
|
-
* @
|
|
4512
|
-
* @returns {number} Number of bytes written
|
|
4513
|
-
* @throws {Error} If encoding is invalid
|
|
4616
|
+
* Removes an event listener or any matching listeners if arguments are omitted.
|
|
4617
|
+
* @param {string} [evt] Event name. Removes all listeners if omitted.
|
|
4618
|
+
* @param {function} [fn] Listener to remove. Removes all listeners of `evt` if omitted.
|
|
4619
|
+
* @returns {util.EventEmitter} `this`
|
|
4514
4620
|
*/
|
|
4515
|
-
|
|
4516
|
-
|
|
4517
|
-
|
|
4518
|
-
|
|
4519
|
-
|
|
4520
|
-
|
|
4521
|
-
|
|
4522
|
-
|
|
4523
|
-
|
|
4524
|
-
|
|
4525
|
-
|
|
4526
|
-
|
|
4527
|
-
|
|
4528
|
-
j = 1;
|
|
4529
|
-
break;
|
|
4530
|
-
case 1:
|
|
4531
|
-
buffer[offset++] = t << 2 | (c & 48) >> 4;
|
|
4532
|
-
t = c;
|
|
4533
|
-
j = 2;
|
|
4534
|
-
break;
|
|
4535
|
-
case 2:
|
|
4536
|
-
buffer[offset++] = (t & 15) << 4 | (c & 60) >> 2;
|
|
4537
|
-
t = c;
|
|
4538
|
-
j = 3;
|
|
4539
|
-
break;
|
|
4540
|
-
case 3:
|
|
4541
|
-
buffer[offset++] = (t & 3) << 6 | c;
|
|
4542
|
-
j = 0;
|
|
4543
|
-
break;
|
|
4621
|
+
EventEmitter.prototype.off = function off(evt, fn) {
|
|
4622
|
+
if (evt === undefined)
|
|
4623
|
+
this._listeners = {};
|
|
4624
|
+
else {
|
|
4625
|
+
if (fn === undefined)
|
|
4626
|
+
this._listeners[evt] = [];
|
|
4627
|
+
else {
|
|
4628
|
+
var listeners = this._listeners[evt];
|
|
4629
|
+
for (var i = 0; i < listeners.length;)
|
|
4630
|
+
if (listeners[i].fn === fn)
|
|
4631
|
+
listeners.splice(i, 1);
|
|
4632
|
+
else
|
|
4633
|
+
++i;
|
|
4544
4634
|
}
|
|
4545
4635
|
}
|
|
4546
|
-
|
|
4547
|
-
throw Error(invalidEncoding);
|
|
4548
|
-
return offset - start;
|
|
4636
|
+
return this;
|
|
4549
4637
|
};
|
|
4550
4638
|
|
|
4551
4639
|
/**
|
|
4552
|
-
*
|
|
4553
|
-
* @param {string}
|
|
4554
|
-
* @
|
|
4640
|
+
* Emits an event by calling its listeners with the specified arguments.
|
|
4641
|
+
* @param {string} evt Event name
|
|
4642
|
+
* @param {...*} args Arguments
|
|
4643
|
+
* @returns {util.EventEmitter} `this`
|
|
4555
4644
|
*/
|
|
4556
|
-
|
|
4557
|
-
|
|
4558
|
-
|
|
4559
|
-
|
|
4645
|
+
EventEmitter.prototype.emit = function emit(evt) {
|
|
4646
|
+
var listeners = this._listeners[evt];
|
|
4647
|
+
if (listeners) {
|
|
4648
|
+
var args = [],
|
|
4649
|
+
i = 1;
|
|
4650
|
+
for (; i < arguments.length;)
|
|
4651
|
+
args.push(arguments[i++]);
|
|
4652
|
+
for (i = 0; i < listeners.length;)
|
|
4653
|
+
listeners[i].fn.apply(listeners[i++].ctx, args);
|
|
4654
|
+
}
|
|
4655
|
+
return this;
|
|
4656
|
+
};
|
|
4657
|
+
return eventemitter;
|
|
4658
|
+
}
|
|
4560
4659
|
|
|
4561
|
-
var
|
|
4562
|
-
|
|
4563
|
-
/**
|
|
4564
|
-
* Constructs a new event emitter instance.
|
|
4565
|
-
* @classdesc A minimal event emitter.
|
|
4566
|
-
* @memberof util
|
|
4567
|
-
* @constructor
|
|
4568
|
-
*/
|
|
4569
|
-
function EventEmitter() {
|
|
4570
|
-
|
|
4571
|
-
/**
|
|
4572
|
-
* Registered listeners.
|
|
4573
|
-
* @type {Object.<string,*>}
|
|
4574
|
-
* @private
|
|
4575
|
-
*/
|
|
4576
|
-
this._listeners = {};
|
|
4577
|
-
}
|
|
4578
|
-
|
|
4579
|
-
/**
|
|
4580
|
-
* Registers an event listener.
|
|
4581
|
-
* @param {string} evt Event name
|
|
4582
|
-
* @param {function} fn Listener
|
|
4583
|
-
* @param {*} [ctx] Listener context
|
|
4584
|
-
* @returns {util.EventEmitter} `this`
|
|
4585
|
-
*/
|
|
4586
|
-
EventEmitter.prototype.on = function on(evt, fn, ctx) {
|
|
4587
|
-
(this._listeners[evt] || (this._listeners[evt] = [])).push({
|
|
4588
|
-
fn : fn,
|
|
4589
|
-
ctx : ctx || this
|
|
4590
|
-
});
|
|
4591
|
-
return this;
|
|
4592
|
-
};
|
|
4593
|
-
|
|
4594
|
-
/**
|
|
4595
|
-
* Removes an event listener or any matching listeners if arguments are omitted.
|
|
4596
|
-
* @param {string} [evt] Event name. Removes all listeners if omitted.
|
|
4597
|
-
* @param {function} [fn] Listener to remove. Removes all listeners of `evt` if omitted.
|
|
4598
|
-
* @returns {util.EventEmitter} `this`
|
|
4599
|
-
*/
|
|
4600
|
-
EventEmitter.prototype.off = function off(evt, fn) {
|
|
4601
|
-
if (evt === undefined)
|
|
4602
|
-
this._listeners = {};
|
|
4603
|
-
else {
|
|
4604
|
-
if (fn === undefined)
|
|
4605
|
-
this._listeners[evt] = [];
|
|
4606
|
-
else {
|
|
4607
|
-
var listeners = this._listeners[evt];
|
|
4608
|
-
for (var i = 0; i < listeners.length;)
|
|
4609
|
-
if (listeners[i].fn === fn)
|
|
4610
|
-
listeners.splice(i, 1);
|
|
4611
|
-
else
|
|
4612
|
-
++i;
|
|
4613
|
-
}
|
|
4614
|
-
}
|
|
4615
|
-
return this;
|
|
4616
|
-
};
|
|
4617
|
-
|
|
4618
|
-
/**
|
|
4619
|
-
* Emits an event by calling its listeners with the specified arguments.
|
|
4620
|
-
* @param {string} evt Event name
|
|
4621
|
-
* @param {...*} args Arguments
|
|
4622
|
-
* @returns {util.EventEmitter} `this`
|
|
4623
|
-
*/
|
|
4624
|
-
EventEmitter.prototype.emit = function emit(evt) {
|
|
4625
|
-
var listeners = this._listeners[evt];
|
|
4626
|
-
if (listeners) {
|
|
4627
|
-
var args = [],
|
|
4628
|
-
i = 1;
|
|
4629
|
-
for (; i < arguments.length;)
|
|
4630
|
-
args.push(arguments[i++]);
|
|
4631
|
-
for (i = 0; i < listeners.length;)
|
|
4632
|
-
listeners[i].fn.apply(listeners[i++].ctx, args);
|
|
4633
|
-
}
|
|
4634
|
-
return this;
|
|
4635
|
-
};
|
|
4660
|
+
var float;
|
|
4661
|
+
var hasRequiredFloat;
|
|
4636
4662
|
|
|
4637
|
-
|
|
4638
|
-
|
|
4639
|
-
|
|
4640
|
-
* Reads / writes floats / doubles from / to buffers.
|
|
4641
|
-
* @name util.float
|
|
4642
|
-
* @namespace
|
|
4643
|
-
*/
|
|
4644
|
-
|
|
4645
|
-
/**
|
|
4646
|
-
* Writes a 32 bit float to a buffer using little endian byte order.
|
|
4647
|
-
* @name util.float.writeFloatLE
|
|
4648
|
-
* @function
|
|
4649
|
-
* @param {number} val Value to write
|
|
4650
|
-
* @param {Uint8Array} buf Target buffer
|
|
4651
|
-
* @param {number} pos Target buffer offset
|
|
4652
|
-
* @returns {undefined}
|
|
4653
|
-
*/
|
|
4663
|
+
function requireFloat () {
|
|
4664
|
+
if (hasRequiredFloat) return float;
|
|
4665
|
+
hasRequiredFloat = 1;
|
|
4654
4666
|
|
|
4655
|
-
|
|
4656
|
-
* Writes a 32 bit float to a buffer using big endian byte order.
|
|
4657
|
-
* @name util.float.writeFloatBE
|
|
4658
|
-
* @function
|
|
4659
|
-
* @param {number} val Value to write
|
|
4660
|
-
* @param {Uint8Array} buf Target buffer
|
|
4661
|
-
* @param {number} pos Target buffer offset
|
|
4662
|
-
* @returns {undefined}
|
|
4663
|
-
*/
|
|
4664
|
-
|
|
4665
|
-
/**
|
|
4666
|
-
* Reads a 32 bit float from a buffer using little endian byte order.
|
|
4667
|
-
* @name util.float.readFloatLE
|
|
4668
|
-
* @function
|
|
4669
|
-
* @param {Uint8Array} buf Source buffer
|
|
4670
|
-
* @param {number} pos Source buffer offset
|
|
4671
|
-
* @returns {number} Value read
|
|
4672
|
-
*/
|
|
4667
|
+
float = factory(factory);
|
|
4673
4668
|
|
|
4674
|
-
/**
|
|
4675
|
-
|
|
4676
|
-
|
|
4677
|
-
|
|
4678
|
-
|
|
4679
|
-
* @param {number} pos Source buffer offset
|
|
4680
|
-
* @returns {number} Value read
|
|
4681
|
-
*/
|
|
4682
|
-
|
|
4683
|
-
/**
|
|
4684
|
-
* Writes a 64 bit double to a buffer using little endian byte order.
|
|
4685
|
-
* @name util.float.writeDoubleLE
|
|
4686
|
-
* @function
|
|
4687
|
-
* @param {number} val Value to write
|
|
4688
|
-
* @param {Uint8Array} buf Target buffer
|
|
4689
|
-
* @param {number} pos Target buffer offset
|
|
4690
|
-
* @returns {undefined}
|
|
4691
|
-
*/
|
|
4692
|
-
|
|
4693
|
-
/**
|
|
4694
|
-
* Writes a 64 bit double to a buffer using big endian byte order.
|
|
4695
|
-
* @name util.float.writeDoubleBE
|
|
4696
|
-
* @function
|
|
4697
|
-
* @param {number} val Value to write
|
|
4698
|
-
* @param {Uint8Array} buf Target buffer
|
|
4699
|
-
* @param {number} pos Target buffer offset
|
|
4700
|
-
* @returns {undefined}
|
|
4701
|
-
*/
|
|
4702
|
-
|
|
4703
|
-
/**
|
|
4704
|
-
* Reads a 64 bit double from a buffer using little endian byte order.
|
|
4705
|
-
* @name util.float.readDoubleLE
|
|
4706
|
-
* @function
|
|
4707
|
-
* @param {Uint8Array} buf Source buffer
|
|
4708
|
-
* @param {number} pos Source buffer offset
|
|
4709
|
-
* @returns {number} Value read
|
|
4710
|
-
*/
|
|
4669
|
+
/**
|
|
4670
|
+
* Reads / writes floats / doubles from / to buffers.
|
|
4671
|
+
* @name util.float
|
|
4672
|
+
* @namespace
|
|
4673
|
+
*/
|
|
4711
4674
|
|
|
4712
|
-
/**
|
|
4713
|
-
|
|
4714
|
-
|
|
4715
|
-
|
|
4716
|
-
|
|
4717
|
-
|
|
4718
|
-
|
|
4719
|
-
|
|
4675
|
+
/**
|
|
4676
|
+
* Writes a 32 bit float to a buffer using little endian byte order.
|
|
4677
|
+
* @name util.float.writeFloatLE
|
|
4678
|
+
* @function
|
|
4679
|
+
* @param {number} val Value to write
|
|
4680
|
+
* @param {Uint8Array} buf Target buffer
|
|
4681
|
+
* @param {number} pos Target buffer offset
|
|
4682
|
+
* @returns {undefined}
|
|
4683
|
+
*/
|
|
4720
4684
|
|
|
4721
|
-
|
|
4722
|
-
|
|
4685
|
+
/**
|
|
4686
|
+
* Writes a 32 bit float to a buffer using big endian byte order.
|
|
4687
|
+
* @name util.float.writeFloatBE
|
|
4688
|
+
* @function
|
|
4689
|
+
* @param {number} val Value to write
|
|
4690
|
+
* @param {Uint8Array} buf Target buffer
|
|
4691
|
+
* @param {number} pos Target buffer offset
|
|
4692
|
+
* @returns {undefined}
|
|
4693
|
+
*/
|
|
4723
4694
|
|
|
4724
|
-
|
|
4725
|
-
|
|
4695
|
+
/**
|
|
4696
|
+
* Reads a 32 bit float from a buffer using little endian byte order.
|
|
4697
|
+
* @name util.float.readFloatLE
|
|
4698
|
+
* @function
|
|
4699
|
+
* @param {Uint8Array} buf Source buffer
|
|
4700
|
+
* @param {number} pos Source buffer offset
|
|
4701
|
+
* @returns {number} Value read
|
|
4702
|
+
*/
|
|
4726
4703
|
|
|
4727
|
-
|
|
4728
|
-
|
|
4729
|
-
|
|
4704
|
+
/**
|
|
4705
|
+
* Reads a 32 bit float from a buffer using big endian byte order.
|
|
4706
|
+
* @name util.float.readFloatBE
|
|
4707
|
+
* @function
|
|
4708
|
+
* @param {Uint8Array} buf Source buffer
|
|
4709
|
+
* @param {number} pos Source buffer offset
|
|
4710
|
+
* @returns {number} Value read
|
|
4711
|
+
*/
|
|
4730
4712
|
|
|
4731
|
-
|
|
4732
|
-
|
|
4733
|
-
|
|
4734
|
-
|
|
4735
|
-
|
|
4736
|
-
|
|
4737
|
-
|
|
4713
|
+
/**
|
|
4714
|
+
* Writes a 64 bit double to a buffer using little endian byte order.
|
|
4715
|
+
* @name util.float.writeDoubleLE
|
|
4716
|
+
* @function
|
|
4717
|
+
* @param {number} val Value to write
|
|
4718
|
+
* @param {Uint8Array} buf Target buffer
|
|
4719
|
+
* @param {number} pos Target buffer offset
|
|
4720
|
+
* @returns {undefined}
|
|
4721
|
+
*/
|
|
4738
4722
|
|
|
4739
|
-
|
|
4740
|
-
|
|
4741
|
-
|
|
4742
|
-
|
|
4743
|
-
|
|
4744
|
-
|
|
4745
|
-
|
|
4723
|
+
/**
|
|
4724
|
+
* Writes a 64 bit double to a buffer using big endian byte order.
|
|
4725
|
+
* @name util.float.writeDoubleBE
|
|
4726
|
+
* @function
|
|
4727
|
+
* @param {number} val Value to write
|
|
4728
|
+
* @param {Uint8Array} buf Target buffer
|
|
4729
|
+
* @param {number} pos Target buffer offset
|
|
4730
|
+
* @returns {undefined}
|
|
4731
|
+
*/
|
|
4746
4732
|
|
|
4747
|
-
|
|
4748
|
-
|
|
4749
|
-
|
|
4750
|
-
|
|
4751
|
-
|
|
4752
|
-
|
|
4753
|
-
|
|
4754
|
-
|
|
4755
|
-
f8b[2] = buf[pos + 2];
|
|
4756
|
-
f8b[3] = buf[pos + 3];
|
|
4757
|
-
return f32[0];
|
|
4758
|
-
}
|
|
4733
|
+
/**
|
|
4734
|
+
* Reads a 64 bit double from a buffer using little endian byte order.
|
|
4735
|
+
* @name util.float.readDoubleLE
|
|
4736
|
+
* @function
|
|
4737
|
+
* @param {Uint8Array} buf Source buffer
|
|
4738
|
+
* @param {number} pos Source buffer offset
|
|
4739
|
+
* @returns {number} Value read
|
|
4740
|
+
*/
|
|
4759
4741
|
|
|
4760
|
-
|
|
4761
|
-
|
|
4762
|
-
|
|
4763
|
-
|
|
4764
|
-
|
|
4765
|
-
|
|
4766
|
-
|
|
4742
|
+
/**
|
|
4743
|
+
* Reads a 64 bit double from a buffer using big endian byte order.
|
|
4744
|
+
* @name util.float.readDoubleBE
|
|
4745
|
+
* @function
|
|
4746
|
+
* @param {Uint8Array} buf Source buffer
|
|
4747
|
+
* @param {number} pos Source buffer offset
|
|
4748
|
+
* @returns {number} Value read
|
|
4749
|
+
*/
|
|
4767
4750
|
|
|
4768
|
-
|
|
4769
|
-
|
|
4770
|
-
/* istanbul ignore next */
|
|
4771
|
-
exports.readFloatBE = le ? readFloat_f32_rev : readFloat_f32_cpy;
|
|
4772
|
-
|
|
4773
|
-
// float: ieee754
|
|
4774
|
-
})(); else (function() {
|
|
4775
|
-
|
|
4776
|
-
function writeFloat_ieee754(writeUint, val, buf, pos) {
|
|
4777
|
-
var sign = val < 0 ? 1 : 0;
|
|
4778
|
-
if (sign)
|
|
4779
|
-
val = -val;
|
|
4780
|
-
if (val === 0)
|
|
4781
|
-
writeUint(1 / val > 0 ? /* positive */ 0 : /* negative 0 */ 2147483648, buf, pos);
|
|
4782
|
-
else if (isNaN(val))
|
|
4783
|
-
writeUint(2143289344, buf, pos);
|
|
4784
|
-
else if (val > 3.4028234663852886e+38) // +-Infinity
|
|
4785
|
-
writeUint((sign << 31 | 2139095040) >>> 0, buf, pos);
|
|
4786
|
-
else if (val < 1.1754943508222875e-38) // denormal
|
|
4787
|
-
writeUint((sign << 31 | Math.round(val / 1.401298464324817e-45)) >>> 0, buf, pos);
|
|
4788
|
-
else {
|
|
4789
|
-
var exponent = Math.floor(Math.log(val) / Math.LN2),
|
|
4790
|
-
mantissa = Math.round(val * Math.pow(2, -exponent) * 8388608) & 8388607;
|
|
4791
|
-
writeUint((sign << 31 | exponent + 127 << 23 | mantissa) >>> 0, buf, pos);
|
|
4792
|
-
}
|
|
4793
|
-
}
|
|
4751
|
+
// Factory function for the purpose of node-based testing in modified global environments
|
|
4752
|
+
function factory(exports) {
|
|
4794
4753
|
|
|
4795
|
-
|
|
4796
|
-
|
|
4797
|
-
|
|
4798
|
-
function readFloat_ieee754(readUint, buf, pos) {
|
|
4799
|
-
var uint = readUint(buf, pos),
|
|
4800
|
-
sign = (uint >> 31) * 2 + 1,
|
|
4801
|
-
exponent = uint >>> 23 & 255,
|
|
4802
|
-
mantissa = uint & 8388607;
|
|
4803
|
-
return exponent === 255
|
|
4804
|
-
? mantissa
|
|
4805
|
-
? NaN
|
|
4806
|
-
: sign * Infinity
|
|
4807
|
-
: exponent === 0 // denormal
|
|
4808
|
-
? sign * 1.401298464324817e-45 * mantissa
|
|
4809
|
-
: sign * Math.pow(2, exponent - 150) * (mantissa + 8388608);
|
|
4810
|
-
}
|
|
4754
|
+
// float: typed array
|
|
4755
|
+
if (typeof Float32Array !== "undefined") (function() {
|
|
4811
4756
|
|
|
4812
|
-
|
|
4813
|
-
|
|
4757
|
+
var f32 = new Float32Array([ -0 ]),
|
|
4758
|
+
f8b = new Uint8Array(f32.buffer),
|
|
4759
|
+
le = f8b[3] === 128;
|
|
4814
4760
|
|
|
4815
|
-
|
|
4761
|
+
function writeFloat_f32_cpy(val, buf, pos) {
|
|
4762
|
+
f32[0] = val;
|
|
4763
|
+
buf[pos ] = f8b[0];
|
|
4764
|
+
buf[pos + 1] = f8b[1];
|
|
4765
|
+
buf[pos + 2] = f8b[2];
|
|
4766
|
+
buf[pos + 3] = f8b[3];
|
|
4767
|
+
}
|
|
4816
4768
|
|
|
4817
|
-
|
|
4818
|
-
|
|
4769
|
+
function writeFloat_f32_rev(val, buf, pos) {
|
|
4770
|
+
f32[0] = val;
|
|
4771
|
+
buf[pos ] = f8b[3];
|
|
4772
|
+
buf[pos + 1] = f8b[2];
|
|
4773
|
+
buf[pos + 2] = f8b[1];
|
|
4774
|
+
buf[pos + 3] = f8b[0];
|
|
4775
|
+
}
|
|
4819
4776
|
|
|
4820
|
-
|
|
4821
|
-
|
|
4822
|
-
|
|
4777
|
+
/* istanbul ignore next */
|
|
4778
|
+
exports.writeFloatLE = le ? writeFloat_f32_cpy : writeFloat_f32_rev;
|
|
4779
|
+
/* istanbul ignore next */
|
|
4780
|
+
exports.writeFloatBE = le ? writeFloat_f32_rev : writeFloat_f32_cpy;
|
|
4781
|
+
|
|
4782
|
+
function readFloat_f32_cpy(buf, pos) {
|
|
4783
|
+
f8b[0] = buf[pos ];
|
|
4784
|
+
f8b[1] = buf[pos + 1];
|
|
4785
|
+
f8b[2] = buf[pos + 2];
|
|
4786
|
+
f8b[3] = buf[pos + 3];
|
|
4787
|
+
return f32[0];
|
|
4788
|
+
}
|
|
4823
4789
|
|
|
4824
|
-
|
|
4825
|
-
|
|
4826
|
-
|
|
4827
|
-
|
|
4828
|
-
|
|
4829
|
-
|
|
4830
|
-
|
|
4831
|
-
buf[pos + 5] = f8b[5];
|
|
4832
|
-
buf[pos + 6] = f8b[6];
|
|
4833
|
-
buf[pos + 7] = f8b[7];
|
|
4834
|
-
}
|
|
4790
|
+
function readFloat_f32_rev(buf, pos) {
|
|
4791
|
+
f8b[3] = buf[pos ];
|
|
4792
|
+
f8b[2] = buf[pos + 1];
|
|
4793
|
+
f8b[1] = buf[pos + 2];
|
|
4794
|
+
f8b[0] = buf[pos + 3];
|
|
4795
|
+
return f32[0];
|
|
4796
|
+
}
|
|
4835
4797
|
|
|
4836
|
-
|
|
4837
|
-
|
|
4838
|
-
|
|
4839
|
-
|
|
4840
|
-
|
|
4841
|
-
|
|
4842
|
-
|
|
4843
|
-
|
|
4844
|
-
|
|
4845
|
-
|
|
4846
|
-
|
|
4798
|
+
/* istanbul ignore next */
|
|
4799
|
+
exports.readFloatLE = le ? readFloat_f32_cpy : readFloat_f32_rev;
|
|
4800
|
+
/* istanbul ignore next */
|
|
4801
|
+
exports.readFloatBE = le ? readFloat_f32_rev : readFloat_f32_cpy;
|
|
4802
|
+
|
|
4803
|
+
// float: ieee754
|
|
4804
|
+
})(); else (function() {
|
|
4805
|
+
|
|
4806
|
+
function writeFloat_ieee754(writeUint, val, buf, pos) {
|
|
4807
|
+
var sign = val < 0 ? 1 : 0;
|
|
4808
|
+
if (sign)
|
|
4809
|
+
val = -val;
|
|
4810
|
+
if (val === 0)
|
|
4811
|
+
writeUint(1 / val > 0 ? /* positive */ 0 : /* negative 0 */ 2147483648, buf, pos);
|
|
4812
|
+
else if (isNaN(val))
|
|
4813
|
+
writeUint(2143289344, buf, pos);
|
|
4814
|
+
else if (val > 3.4028234663852886e+38) // +-Infinity
|
|
4815
|
+
writeUint((sign << 31 | 2139095040) >>> 0, buf, pos);
|
|
4816
|
+
else if (val < 1.1754943508222875e-38) // denormal
|
|
4817
|
+
writeUint((sign << 31 | Math.round(val / 1.401298464324817e-45)) >>> 0, buf, pos);
|
|
4818
|
+
else {
|
|
4819
|
+
var exponent = Math.floor(Math.log(val) / Math.LN2),
|
|
4820
|
+
mantissa = Math.round(val * Math.pow(2, -exponent) * 8388608) & 8388607;
|
|
4821
|
+
writeUint((sign << 31 | exponent + 127 << 23 | mantissa) >>> 0, buf, pos);
|
|
4822
|
+
}
|
|
4823
|
+
}
|
|
4847
4824
|
|
|
4848
|
-
|
|
4849
|
-
|
|
4850
|
-
|
|
4851
|
-
|
|
4852
|
-
|
|
4853
|
-
|
|
4854
|
-
|
|
4855
|
-
|
|
4856
|
-
|
|
4857
|
-
|
|
4858
|
-
|
|
4859
|
-
|
|
4860
|
-
|
|
4861
|
-
|
|
4862
|
-
|
|
4863
|
-
|
|
4825
|
+
exports.writeFloatLE = writeFloat_ieee754.bind(null, writeUintLE);
|
|
4826
|
+
exports.writeFloatBE = writeFloat_ieee754.bind(null, writeUintBE);
|
|
4827
|
+
|
|
4828
|
+
function readFloat_ieee754(readUint, buf, pos) {
|
|
4829
|
+
var uint = readUint(buf, pos),
|
|
4830
|
+
sign = (uint >> 31) * 2 + 1,
|
|
4831
|
+
exponent = uint >>> 23 & 255,
|
|
4832
|
+
mantissa = uint & 8388607;
|
|
4833
|
+
return exponent === 255
|
|
4834
|
+
? mantissa
|
|
4835
|
+
? NaN
|
|
4836
|
+
: sign * Infinity
|
|
4837
|
+
: exponent === 0 // denormal
|
|
4838
|
+
? sign * 1.401298464324817e-45 * mantissa
|
|
4839
|
+
: sign * Math.pow(2, exponent - 150) * (mantissa + 8388608);
|
|
4840
|
+
}
|
|
4864
4841
|
|
|
4865
|
-
|
|
4866
|
-
|
|
4867
|
-
f8b[6] = buf[pos + 1];
|
|
4868
|
-
f8b[5] = buf[pos + 2];
|
|
4869
|
-
f8b[4] = buf[pos + 3];
|
|
4870
|
-
f8b[3] = buf[pos + 4];
|
|
4871
|
-
f8b[2] = buf[pos + 5];
|
|
4872
|
-
f8b[1] = buf[pos + 6];
|
|
4873
|
-
f8b[0] = buf[pos + 7];
|
|
4874
|
-
return f64[0];
|
|
4875
|
-
}
|
|
4842
|
+
exports.readFloatLE = readFloat_ieee754.bind(null, readUintLE);
|
|
4843
|
+
exports.readFloatBE = readFloat_ieee754.bind(null, readUintBE);
|
|
4876
4844
|
|
|
4877
|
-
|
|
4878
|
-
exports.readDoubleLE = le ? readDouble_f64_cpy : readDouble_f64_rev;
|
|
4879
|
-
/* istanbul ignore next */
|
|
4880
|
-
exports.readDoubleBE = le ? readDouble_f64_rev : readDouble_f64_cpy;
|
|
4881
|
-
|
|
4882
|
-
// double: ieee754
|
|
4883
|
-
})(); else (function() {
|
|
4884
|
-
|
|
4885
|
-
function writeDouble_ieee754(writeUint, off0, off1, val, buf, pos) {
|
|
4886
|
-
var sign = val < 0 ? 1 : 0;
|
|
4887
|
-
if (sign)
|
|
4888
|
-
val = -val;
|
|
4889
|
-
if (val === 0) {
|
|
4890
|
-
writeUint(0, buf, pos + off0);
|
|
4891
|
-
writeUint(1 / val > 0 ? /* positive */ 0 : /* negative 0 */ 2147483648, buf, pos + off1);
|
|
4892
|
-
} else if (isNaN(val)) {
|
|
4893
|
-
writeUint(0, buf, pos + off0);
|
|
4894
|
-
writeUint(2146959360, buf, pos + off1);
|
|
4895
|
-
} else if (val > 1.7976931348623157e+308) { // +-Infinity
|
|
4896
|
-
writeUint(0, buf, pos + off0);
|
|
4897
|
-
writeUint((sign << 31 | 2146435072) >>> 0, buf, pos + off1);
|
|
4898
|
-
} else {
|
|
4899
|
-
var mantissa;
|
|
4900
|
-
if (val < 2.2250738585072014e-308) { // denormal
|
|
4901
|
-
mantissa = val / 5e-324;
|
|
4902
|
-
writeUint(mantissa >>> 0, buf, pos + off0);
|
|
4903
|
-
writeUint((sign << 31 | mantissa / 4294967296) >>> 0, buf, pos + off1);
|
|
4904
|
-
} else {
|
|
4905
|
-
var exponent = Math.floor(Math.log(val) / Math.LN2);
|
|
4906
|
-
if (exponent === 1024)
|
|
4907
|
-
exponent = 1023;
|
|
4908
|
-
mantissa = val * Math.pow(2, -exponent);
|
|
4909
|
-
writeUint(mantissa * 4503599627370496 >>> 0, buf, pos + off0);
|
|
4910
|
-
writeUint((sign << 31 | exponent + 1023 << 20 | mantissa * 1048576 & 1048575) >>> 0, buf, pos + off1);
|
|
4911
|
-
}
|
|
4912
|
-
}
|
|
4913
|
-
}
|
|
4845
|
+
})();
|
|
4914
4846
|
|
|
4915
|
-
|
|
4916
|
-
|
|
4917
|
-
|
|
4918
|
-
function readDouble_ieee754(readUint, off0, off1, buf, pos) {
|
|
4919
|
-
var lo = readUint(buf, pos + off0),
|
|
4920
|
-
hi = readUint(buf, pos + off1);
|
|
4921
|
-
var sign = (hi >> 31) * 2 + 1,
|
|
4922
|
-
exponent = hi >>> 20 & 2047,
|
|
4923
|
-
mantissa = 4294967296 * (hi & 1048575) + lo;
|
|
4924
|
-
return exponent === 2047
|
|
4925
|
-
? mantissa
|
|
4926
|
-
? NaN
|
|
4927
|
-
: sign * Infinity
|
|
4928
|
-
: exponent === 0 // denormal
|
|
4929
|
-
? sign * 5e-324 * mantissa
|
|
4930
|
-
: sign * Math.pow(2, exponent - 1075) * (mantissa + 4503599627370496);
|
|
4931
|
-
}
|
|
4847
|
+
// double: typed array
|
|
4848
|
+
if (typeof Float64Array !== "undefined") (function() {
|
|
4932
4849
|
|
|
4933
|
-
|
|
4934
|
-
|
|
4850
|
+
var f64 = new Float64Array([-0]),
|
|
4851
|
+
f8b = new Uint8Array(f64.buffer),
|
|
4852
|
+
le = f8b[7] === 128;
|
|
4935
4853
|
|
|
4936
|
-
|
|
4854
|
+
function writeDouble_f64_cpy(val, buf, pos) {
|
|
4855
|
+
f64[0] = val;
|
|
4856
|
+
buf[pos ] = f8b[0];
|
|
4857
|
+
buf[pos + 1] = f8b[1];
|
|
4858
|
+
buf[pos + 2] = f8b[2];
|
|
4859
|
+
buf[pos + 3] = f8b[3];
|
|
4860
|
+
buf[pos + 4] = f8b[4];
|
|
4861
|
+
buf[pos + 5] = f8b[5];
|
|
4862
|
+
buf[pos + 6] = f8b[6];
|
|
4863
|
+
buf[pos + 7] = f8b[7];
|
|
4864
|
+
}
|
|
4937
4865
|
|
|
4938
|
-
|
|
4939
|
-
|
|
4866
|
+
function writeDouble_f64_rev(val, buf, pos) {
|
|
4867
|
+
f64[0] = val;
|
|
4868
|
+
buf[pos ] = f8b[7];
|
|
4869
|
+
buf[pos + 1] = f8b[6];
|
|
4870
|
+
buf[pos + 2] = f8b[5];
|
|
4871
|
+
buf[pos + 3] = f8b[4];
|
|
4872
|
+
buf[pos + 4] = f8b[3];
|
|
4873
|
+
buf[pos + 5] = f8b[2];
|
|
4874
|
+
buf[pos + 6] = f8b[1];
|
|
4875
|
+
buf[pos + 7] = f8b[0];
|
|
4876
|
+
}
|
|
4940
4877
|
|
|
4941
|
-
|
|
4878
|
+
/* istanbul ignore next */
|
|
4879
|
+
exports.writeDoubleLE = le ? writeDouble_f64_cpy : writeDouble_f64_rev;
|
|
4880
|
+
/* istanbul ignore next */
|
|
4881
|
+
exports.writeDoubleBE = le ? writeDouble_f64_rev : writeDouble_f64_cpy;
|
|
4882
|
+
|
|
4883
|
+
function readDouble_f64_cpy(buf, pos) {
|
|
4884
|
+
f8b[0] = buf[pos ];
|
|
4885
|
+
f8b[1] = buf[pos + 1];
|
|
4886
|
+
f8b[2] = buf[pos + 2];
|
|
4887
|
+
f8b[3] = buf[pos + 3];
|
|
4888
|
+
f8b[4] = buf[pos + 4];
|
|
4889
|
+
f8b[5] = buf[pos + 5];
|
|
4890
|
+
f8b[6] = buf[pos + 6];
|
|
4891
|
+
f8b[7] = buf[pos + 7];
|
|
4892
|
+
return f64[0];
|
|
4893
|
+
}
|
|
4942
4894
|
|
|
4943
|
-
function
|
|
4944
|
-
|
|
4945
|
-
|
|
4946
|
-
|
|
4947
|
-
|
|
4948
|
-
|
|
4895
|
+
function readDouble_f64_rev(buf, pos) {
|
|
4896
|
+
f8b[7] = buf[pos ];
|
|
4897
|
+
f8b[6] = buf[pos + 1];
|
|
4898
|
+
f8b[5] = buf[pos + 2];
|
|
4899
|
+
f8b[4] = buf[pos + 3];
|
|
4900
|
+
f8b[3] = buf[pos + 4];
|
|
4901
|
+
f8b[2] = buf[pos + 5];
|
|
4902
|
+
f8b[1] = buf[pos + 6];
|
|
4903
|
+
f8b[0] = buf[pos + 7];
|
|
4904
|
+
return f64[0];
|
|
4905
|
+
}
|
|
4949
4906
|
|
|
4950
|
-
|
|
4951
|
-
|
|
4952
|
-
|
|
4953
|
-
|
|
4954
|
-
|
|
4955
|
-
|
|
4907
|
+
/* istanbul ignore next */
|
|
4908
|
+
exports.readDoubleLE = le ? readDouble_f64_cpy : readDouble_f64_rev;
|
|
4909
|
+
/* istanbul ignore next */
|
|
4910
|
+
exports.readDoubleBE = le ? readDouble_f64_rev : readDouble_f64_cpy;
|
|
4911
|
+
|
|
4912
|
+
// double: ieee754
|
|
4913
|
+
})(); else (function() {
|
|
4914
|
+
|
|
4915
|
+
function writeDouble_ieee754(writeUint, off0, off1, val, buf, pos) {
|
|
4916
|
+
var sign = val < 0 ? 1 : 0;
|
|
4917
|
+
if (sign)
|
|
4918
|
+
val = -val;
|
|
4919
|
+
if (val === 0) {
|
|
4920
|
+
writeUint(0, buf, pos + off0);
|
|
4921
|
+
writeUint(1 / val > 0 ? /* positive */ 0 : /* negative 0 */ 2147483648, buf, pos + off1);
|
|
4922
|
+
} else if (isNaN(val)) {
|
|
4923
|
+
writeUint(0, buf, pos + off0);
|
|
4924
|
+
writeUint(2146959360, buf, pos + off1);
|
|
4925
|
+
} else if (val > 1.7976931348623157e+308) { // +-Infinity
|
|
4926
|
+
writeUint(0, buf, pos + off0);
|
|
4927
|
+
writeUint((sign << 31 | 2146435072) >>> 0, buf, pos + off1);
|
|
4928
|
+
} else {
|
|
4929
|
+
var mantissa;
|
|
4930
|
+
if (val < 2.2250738585072014e-308) { // denormal
|
|
4931
|
+
mantissa = val / 5e-324;
|
|
4932
|
+
writeUint(mantissa >>> 0, buf, pos + off0);
|
|
4933
|
+
writeUint((sign << 31 | mantissa / 4294967296) >>> 0, buf, pos + off1);
|
|
4934
|
+
} else {
|
|
4935
|
+
var exponent = Math.floor(Math.log(val) / Math.LN2);
|
|
4936
|
+
if (exponent === 1024)
|
|
4937
|
+
exponent = 1023;
|
|
4938
|
+
mantissa = val * Math.pow(2, -exponent);
|
|
4939
|
+
writeUint(mantissa * 4503599627370496 >>> 0, buf, pos + off0);
|
|
4940
|
+
writeUint((sign << 31 | exponent + 1023 << 20 | mantissa * 1048576 & 1048575) >>> 0, buf, pos + off1);
|
|
4941
|
+
}
|
|
4942
|
+
}
|
|
4943
|
+
}
|
|
4956
4944
|
|
|
4957
|
-
|
|
4958
|
-
|
|
4959
|
-
|
|
4960
|
-
|
|
4961
|
-
|
|
4962
|
-
|
|
4945
|
+
exports.writeDoubleLE = writeDouble_ieee754.bind(null, writeUintLE, 0, 4);
|
|
4946
|
+
exports.writeDoubleBE = writeDouble_ieee754.bind(null, writeUintBE, 4, 0);
|
|
4947
|
+
|
|
4948
|
+
function readDouble_ieee754(readUint, off0, off1, buf, pos) {
|
|
4949
|
+
var lo = readUint(buf, pos + off0),
|
|
4950
|
+
hi = readUint(buf, pos + off1);
|
|
4951
|
+
var sign = (hi >> 31) * 2 + 1,
|
|
4952
|
+
exponent = hi >>> 20 & 2047,
|
|
4953
|
+
mantissa = 4294967296 * (hi & 1048575) + lo;
|
|
4954
|
+
return exponent === 2047
|
|
4955
|
+
? mantissa
|
|
4956
|
+
? NaN
|
|
4957
|
+
: sign * Infinity
|
|
4958
|
+
: exponent === 0 // denormal
|
|
4959
|
+
? sign * 5e-324 * mantissa
|
|
4960
|
+
: sign * Math.pow(2, exponent - 1075) * (mantissa + 4503599627370496);
|
|
4961
|
+
}
|
|
4963
4962
|
|
|
4964
|
-
|
|
4965
|
-
|
|
4966
|
-
|
|
4967
|
-
|
|
4968
|
-
|
|
4963
|
+
exports.readDoubleLE = readDouble_ieee754.bind(null, readUintLE, 0, 4);
|
|
4964
|
+
exports.readDoubleBE = readDouble_ieee754.bind(null, readUintBE, 4, 0);
|
|
4965
|
+
|
|
4966
|
+
})();
|
|
4967
|
+
|
|
4968
|
+
return exports;
|
|
4969
|
+
}
|
|
4970
|
+
|
|
4971
|
+
// uint helpers
|
|
4972
|
+
|
|
4973
|
+
function writeUintLE(val, buf, pos) {
|
|
4974
|
+
buf[pos ] = val & 255;
|
|
4975
|
+
buf[pos + 1] = val >>> 8 & 255;
|
|
4976
|
+
buf[pos + 2] = val >>> 16 & 255;
|
|
4977
|
+
buf[pos + 3] = val >>> 24;
|
|
4978
|
+
}
|
|
4979
|
+
|
|
4980
|
+
function writeUintBE(val, buf, pos) {
|
|
4981
|
+
buf[pos ] = val >>> 24;
|
|
4982
|
+
buf[pos + 1] = val >>> 16 & 255;
|
|
4983
|
+
buf[pos + 2] = val >>> 8 & 255;
|
|
4984
|
+
buf[pos + 3] = val & 255;
|
|
4985
|
+
}
|
|
4986
|
+
|
|
4987
|
+
function readUintLE(buf, pos) {
|
|
4988
|
+
return (buf[pos ]
|
|
4989
|
+
| buf[pos + 1] << 8
|
|
4990
|
+
| buf[pos + 2] << 16
|
|
4991
|
+
| buf[pos + 3] << 24) >>> 0;
|
|
4992
|
+
}
|
|
4993
|
+
|
|
4994
|
+
function readUintBE(buf, pos) {
|
|
4995
|
+
return (buf[pos ] << 24
|
|
4996
|
+
| buf[pos + 1] << 16
|
|
4997
|
+
| buf[pos + 2] << 8
|
|
4998
|
+
| buf[pos + 3]) >>> 0;
|
|
4999
|
+
}
|
|
5000
|
+
return float;
|
|
4969
5001
|
}
|
|
4970
5002
|
|
|
4971
|
-
var inquire_1;
|
|
4972
|
-
var hasRequiredInquire;
|
|
4973
|
-
|
|
4974
|
-
function requireInquire () {
|
|
4975
|
-
if (hasRequiredInquire) return inquire_1;
|
|
4976
|
-
hasRequiredInquire = 1;
|
|
4977
|
-
inquire_1 = inquire;
|
|
5003
|
+
var inquire_1 = inquire;
|
|
4978
5004
|
|
|
4979
|
-
|
|
4980
|
-
|
|
4981
|
-
|
|
4982
|
-
|
|
4983
|
-
|
|
4984
|
-
|
|
4985
|
-
|
|
4986
|
-
|
|
4987
|
-
|
|
4988
|
-
|
|
4989
|
-
|
|
4990
|
-
|
|
4991
|
-
|
|
4992
|
-
}
|
|
4993
|
-
return inquire_1;
|
|
5005
|
+
/**
|
|
5006
|
+
* Requires a module only if available.
|
|
5007
|
+
* @memberof util
|
|
5008
|
+
* @param {string} moduleName Module to require
|
|
5009
|
+
* @returns {?Object} Required module if available and not empty, otherwise `null`
|
|
5010
|
+
*/
|
|
5011
|
+
function inquire(moduleName) {
|
|
5012
|
+
try {
|
|
5013
|
+
var mod = eval("quire".replace(/^/,"re"))(moduleName); // eslint-disable-line no-eval
|
|
5014
|
+
if (mod && (mod.length || Object.keys(mod).length))
|
|
5015
|
+
return mod;
|
|
5016
|
+
} catch (e) {} // eslint-disable-line no-empty
|
|
5017
|
+
return null;
|
|
4994
5018
|
}
|
|
4995
5019
|
|
|
4996
5020
|
var utf8$2 = {};
|
|
4997
5021
|
|
|
4998
|
-
|
|
5022
|
+
var hasRequiredUtf8;
|
|
5023
|
+
|
|
5024
|
+
function requireUtf8 () {
|
|
5025
|
+
if (hasRequiredUtf8) return utf8$2;
|
|
5026
|
+
hasRequiredUtf8 = 1;
|
|
5027
|
+
(function (exports) {
|
|
4999
5028
|
|
|
5000
|
-
|
|
5001
|
-
|
|
5002
|
-
|
|
5003
|
-
|
|
5004
|
-
|
|
5005
|
-
|
|
5029
|
+
/**
|
|
5030
|
+
* A minimal UTF8 implementation for number arrays.
|
|
5031
|
+
* @memberof util
|
|
5032
|
+
* @namespace
|
|
5033
|
+
*/
|
|
5034
|
+
var utf8 = exports;
|
|
5035
|
+
|
|
5036
|
+
/**
|
|
5037
|
+
* Calculates the UTF8 byte length of a string.
|
|
5038
|
+
* @param {string} string String
|
|
5039
|
+
* @returns {number} Byte length
|
|
5040
|
+
*/
|
|
5041
|
+
utf8.length = function utf8_length(string) {
|
|
5042
|
+
var len = 0,
|
|
5043
|
+
c = 0;
|
|
5044
|
+
for (var i = 0; i < string.length; ++i) {
|
|
5045
|
+
c = string.charCodeAt(i);
|
|
5046
|
+
if (c < 128)
|
|
5047
|
+
len += 1;
|
|
5048
|
+
else if (c < 2048)
|
|
5049
|
+
len += 2;
|
|
5050
|
+
else if ((c & 0xFC00) === 0xD800 && (string.charCodeAt(i + 1) & 0xFC00) === 0xDC00) {
|
|
5051
|
+
++i;
|
|
5052
|
+
len += 4;
|
|
5053
|
+
} else
|
|
5054
|
+
len += 3;
|
|
5055
|
+
}
|
|
5056
|
+
return len;
|
|
5057
|
+
};
|
|
5058
|
+
|
|
5059
|
+
/**
|
|
5060
|
+
* Reads UTF8 bytes as a string.
|
|
5061
|
+
* @param {Uint8Array} buffer Source buffer
|
|
5062
|
+
* @param {number} start Source start
|
|
5063
|
+
* @param {number} end Source end
|
|
5064
|
+
* @returns {string} String read
|
|
5065
|
+
*/
|
|
5066
|
+
utf8.read = function utf8_read(buffer, start, end) {
|
|
5067
|
+
var len = end - start;
|
|
5068
|
+
if (len < 1)
|
|
5069
|
+
return "";
|
|
5070
|
+
var parts = null,
|
|
5071
|
+
chunk = [],
|
|
5072
|
+
i = 0, // char offset
|
|
5073
|
+
t; // temporary
|
|
5074
|
+
while (start < end) {
|
|
5075
|
+
t = buffer[start++];
|
|
5076
|
+
if (t < 128)
|
|
5077
|
+
chunk[i++] = t;
|
|
5078
|
+
else if (t > 191 && t < 224)
|
|
5079
|
+
chunk[i++] = (t & 31) << 6 | buffer[start++] & 63;
|
|
5080
|
+
else if (t > 239 && t < 365) {
|
|
5081
|
+
t = ((t & 7) << 18 | (buffer[start++] & 63) << 12 | (buffer[start++] & 63) << 6 | buffer[start++] & 63) - 0x10000;
|
|
5082
|
+
chunk[i++] = 0xD800 + (t >> 10);
|
|
5083
|
+
chunk[i++] = 0xDC00 + (t & 1023);
|
|
5084
|
+
} else
|
|
5085
|
+
chunk[i++] = (t & 15) << 12 | (buffer[start++] & 63) << 6 | buffer[start++] & 63;
|
|
5086
|
+
if (i > 8191) {
|
|
5087
|
+
(parts || (parts = [])).push(String.fromCharCode.apply(String, chunk));
|
|
5088
|
+
i = 0;
|
|
5089
|
+
}
|
|
5090
|
+
}
|
|
5091
|
+
if (parts) {
|
|
5092
|
+
if (i)
|
|
5093
|
+
parts.push(String.fromCharCode.apply(String, chunk.slice(0, i)));
|
|
5094
|
+
return parts.join("");
|
|
5095
|
+
}
|
|
5096
|
+
return String.fromCharCode.apply(String, chunk.slice(0, i));
|
|
5097
|
+
};
|
|
5098
|
+
|
|
5099
|
+
/**
|
|
5100
|
+
* Writes a string as UTF8 bytes.
|
|
5101
|
+
* @param {string} string Source string
|
|
5102
|
+
* @param {Uint8Array} buffer Destination buffer
|
|
5103
|
+
* @param {number} offset Destination offset
|
|
5104
|
+
* @returns {number} Bytes written
|
|
5105
|
+
*/
|
|
5106
|
+
utf8.write = function utf8_write(string, buffer, offset) {
|
|
5107
|
+
var start = offset,
|
|
5108
|
+
c1, // character 1
|
|
5109
|
+
c2; // character 2
|
|
5110
|
+
for (var i = 0; i < string.length; ++i) {
|
|
5111
|
+
c1 = string.charCodeAt(i);
|
|
5112
|
+
if (c1 < 128) {
|
|
5113
|
+
buffer[offset++] = c1;
|
|
5114
|
+
} else if (c1 < 2048) {
|
|
5115
|
+
buffer[offset++] = c1 >> 6 | 192;
|
|
5116
|
+
buffer[offset++] = c1 & 63 | 128;
|
|
5117
|
+
} else if ((c1 & 0xFC00) === 0xD800 && ((c2 = string.charCodeAt(i + 1)) & 0xFC00) === 0xDC00) {
|
|
5118
|
+
c1 = 0x10000 + ((c1 & 0x03FF) << 10) + (c2 & 0x03FF);
|
|
5119
|
+
++i;
|
|
5120
|
+
buffer[offset++] = c1 >> 18 | 240;
|
|
5121
|
+
buffer[offset++] = c1 >> 12 & 63 | 128;
|
|
5122
|
+
buffer[offset++] = c1 >> 6 & 63 | 128;
|
|
5123
|
+
buffer[offset++] = c1 & 63 | 128;
|
|
5124
|
+
} else {
|
|
5125
|
+
buffer[offset++] = c1 >> 12 | 224;
|
|
5126
|
+
buffer[offset++] = c1 >> 6 & 63 | 128;
|
|
5127
|
+
buffer[offset++] = c1 & 63 | 128;
|
|
5128
|
+
}
|
|
5129
|
+
}
|
|
5130
|
+
return offset - start;
|
|
5131
|
+
};
|
|
5132
|
+
} (utf8$2));
|
|
5133
|
+
return utf8$2;
|
|
5134
|
+
}
|
|
5135
|
+
|
|
5136
|
+
var pool_1;
|
|
5137
|
+
var hasRequiredPool;
|
|
5138
|
+
|
|
5139
|
+
function requirePool () {
|
|
5140
|
+
if (hasRequiredPool) return pool_1;
|
|
5141
|
+
hasRequiredPool = 1;
|
|
5142
|
+
pool_1 = pool;
|
|
5006
5143
|
|
|
5007
5144
|
/**
|
|
5008
|
-
*
|
|
5009
|
-
* @
|
|
5010
|
-
* @
|
|
5145
|
+
* An allocator as used by {@link util.pool}.
|
|
5146
|
+
* @typedef PoolAllocator
|
|
5147
|
+
* @type {function}
|
|
5148
|
+
* @param {number} size Buffer size
|
|
5149
|
+
* @returns {Uint8Array} Buffer
|
|
5011
5150
|
*/
|
|
5012
|
-
utf8.length = function utf8_length(string) {
|
|
5013
|
-
var len = 0,
|
|
5014
|
-
c = 0;
|
|
5015
|
-
for (var i = 0; i < string.length; ++i) {
|
|
5016
|
-
c = string.charCodeAt(i);
|
|
5017
|
-
if (c < 128)
|
|
5018
|
-
len += 1;
|
|
5019
|
-
else if (c < 2048)
|
|
5020
|
-
len += 2;
|
|
5021
|
-
else if ((c & 0xFC00) === 0xD800 && (string.charCodeAt(i + 1) & 0xFC00) === 0xDC00) {
|
|
5022
|
-
++i;
|
|
5023
|
-
len += 4;
|
|
5024
|
-
} else
|
|
5025
|
-
len += 3;
|
|
5026
|
-
}
|
|
5027
|
-
return len;
|
|
5028
|
-
};
|
|
5029
5151
|
|
|
5030
5152
|
/**
|
|
5031
|
-
*
|
|
5032
|
-
* @
|
|
5033
|
-
* @
|
|
5034
|
-
* @param {number}
|
|
5035
|
-
* @
|
|
5153
|
+
* A slicer as used by {@link util.pool}.
|
|
5154
|
+
* @typedef PoolSlicer
|
|
5155
|
+
* @type {function}
|
|
5156
|
+
* @param {number} start Start offset
|
|
5157
|
+
* @param {number} end End offset
|
|
5158
|
+
* @returns {Uint8Array} Buffer slice
|
|
5159
|
+
* @this {Uint8Array}
|
|
5036
5160
|
*/
|
|
5037
|
-
utf8.read = function utf8_read(buffer, start, end) {
|
|
5038
|
-
var len = end - start;
|
|
5039
|
-
if (len < 1)
|
|
5040
|
-
return "";
|
|
5041
|
-
var parts = null,
|
|
5042
|
-
chunk = [],
|
|
5043
|
-
i = 0, // char offset
|
|
5044
|
-
t; // temporary
|
|
5045
|
-
while (start < end) {
|
|
5046
|
-
t = buffer[start++];
|
|
5047
|
-
if (t < 128)
|
|
5048
|
-
chunk[i++] = t;
|
|
5049
|
-
else if (t > 191 && t < 224)
|
|
5050
|
-
chunk[i++] = (t & 31) << 6 | buffer[start++] & 63;
|
|
5051
|
-
else if (t > 239 && t < 365) {
|
|
5052
|
-
t = ((t & 7) << 18 | (buffer[start++] & 63) << 12 | (buffer[start++] & 63) << 6 | buffer[start++] & 63) - 0x10000;
|
|
5053
|
-
chunk[i++] = 0xD800 + (t >> 10);
|
|
5054
|
-
chunk[i++] = 0xDC00 + (t & 1023);
|
|
5055
|
-
} else
|
|
5056
|
-
chunk[i++] = (t & 15) << 12 | (buffer[start++] & 63) << 6 | buffer[start++] & 63;
|
|
5057
|
-
if (i > 8191) {
|
|
5058
|
-
(parts || (parts = [])).push(String.fromCharCode.apply(String, chunk));
|
|
5059
|
-
i = 0;
|
|
5060
|
-
}
|
|
5061
|
-
}
|
|
5062
|
-
if (parts) {
|
|
5063
|
-
if (i)
|
|
5064
|
-
parts.push(String.fromCharCode.apply(String, chunk.slice(0, i)));
|
|
5065
|
-
return parts.join("");
|
|
5066
|
-
}
|
|
5067
|
-
return String.fromCharCode.apply(String, chunk.slice(0, i));
|
|
5068
|
-
};
|
|
5069
5161
|
|
|
5070
5162
|
/**
|
|
5071
|
-
*
|
|
5072
|
-
* @
|
|
5073
|
-
* @
|
|
5074
|
-
* @param {
|
|
5075
|
-
* @
|
|
5163
|
+
* A general purpose buffer pool.
|
|
5164
|
+
* @memberof util
|
|
5165
|
+
* @function
|
|
5166
|
+
* @param {PoolAllocator} alloc Allocator
|
|
5167
|
+
* @param {PoolSlicer} slice Slicer
|
|
5168
|
+
* @param {number} [size=8192] Slab size
|
|
5169
|
+
* @returns {PoolAllocator} Pooled allocator
|
|
5076
5170
|
*/
|
|
5077
|
-
|
|
5078
|
-
var
|
|
5079
|
-
|
|
5080
|
-
|
|
5081
|
-
|
|
5082
|
-
|
|
5083
|
-
if (
|
|
5084
|
-
|
|
5085
|
-
|
|
5086
|
-
|
|
5087
|
-
|
|
5088
|
-
} else if ((c1 & 0xFC00) === 0xD800 && ((c2 = string.charCodeAt(i + 1)) & 0xFC00) === 0xDC00) {
|
|
5089
|
-
c1 = 0x10000 + ((c1 & 0x03FF) << 10) + (c2 & 0x03FF);
|
|
5090
|
-
++i;
|
|
5091
|
-
buffer[offset++] = c1 >> 18 | 240;
|
|
5092
|
-
buffer[offset++] = c1 >> 12 & 63 | 128;
|
|
5093
|
-
buffer[offset++] = c1 >> 6 & 63 | 128;
|
|
5094
|
-
buffer[offset++] = c1 & 63 | 128;
|
|
5095
|
-
} else {
|
|
5096
|
-
buffer[offset++] = c1 >> 12 | 224;
|
|
5097
|
-
buffer[offset++] = c1 >> 6 & 63 | 128;
|
|
5098
|
-
buffer[offset++] = c1 & 63 | 128;
|
|
5171
|
+
function pool(alloc, slice, size) {
|
|
5172
|
+
var SIZE = size || 8192;
|
|
5173
|
+
var MAX = SIZE >>> 1;
|
|
5174
|
+
var slab = null;
|
|
5175
|
+
var offset = SIZE;
|
|
5176
|
+
return function pool_alloc(size) {
|
|
5177
|
+
if (size < 1 || size > MAX)
|
|
5178
|
+
return alloc(size);
|
|
5179
|
+
if (offset + size > SIZE) {
|
|
5180
|
+
slab = alloc(SIZE);
|
|
5181
|
+
offset = 0;
|
|
5099
5182
|
}
|
|
5100
|
-
|
|
5101
|
-
|
|
5102
|
-
|
|
5103
|
-
|
|
5104
|
-
|
|
5105
|
-
|
|
5106
|
-
|
|
5107
|
-
/**
|
|
5108
|
-
* An allocator as used by {@link util.pool}.
|
|
5109
|
-
* @typedef PoolAllocator
|
|
5110
|
-
* @type {function}
|
|
5111
|
-
* @param {number} size Buffer size
|
|
5112
|
-
* @returns {Uint8Array} Buffer
|
|
5113
|
-
*/
|
|
5114
|
-
|
|
5115
|
-
/**
|
|
5116
|
-
* A slicer as used by {@link util.pool}.
|
|
5117
|
-
* @typedef PoolSlicer
|
|
5118
|
-
* @type {function}
|
|
5119
|
-
* @param {number} start Start offset
|
|
5120
|
-
* @param {number} end End offset
|
|
5121
|
-
* @returns {Uint8Array} Buffer slice
|
|
5122
|
-
* @this {Uint8Array}
|
|
5123
|
-
*/
|
|
5124
|
-
|
|
5125
|
-
/**
|
|
5126
|
-
* A general purpose buffer pool.
|
|
5127
|
-
* @memberof util
|
|
5128
|
-
* @function
|
|
5129
|
-
* @param {PoolAllocator} alloc Allocator
|
|
5130
|
-
* @param {PoolSlicer} slice Slicer
|
|
5131
|
-
* @param {number} [size=8192] Slab size
|
|
5132
|
-
* @returns {PoolAllocator} Pooled allocator
|
|
5133
|
-
*/
|
|
5134
|
-
function pool(alloc, slice, size) {
|
|
5135
|
-
var SIZE = size || 8192;
|
|
5136
|
-
var MAX = SIZE >>> 1;
|
|
5137
|
-
var slab = null;
|
|
5138
|
-
var offset = SIZE;
|
|
5139
|
-
return function pool_alloc(size) {
|
|
5140
|
-
if (size < 1 || size > MAX)
|
|
5141
|
-
return alloc(size);
|
|
5142
|
-
if (offset + size > SIZE) {
|
|
5143
|
-
slab = alloc(SIZE);
|
|
5144
|
-
offset = 0;
|
|
5145
|
-
}
|
|
5146
|
-
var buf = slice.call(slab, offset, offset += size);
|
|
5147
|
-
if (offset & 7) // align to 32 bit
|
|
5148
|
-
offset = (offset | 7) + 1;
|
|
5149
|
-
return buf;
|
|
5150
|
-
};
|
|
5183
|
+
var buf = slice.call(slab, offset, offset += size);
|
|
5184
|
+
if (offset & 7) // align to 32 bit
|
|
5185
|
+
offset = (offset | 7) + 1;
|
|
5186
|
+
return buf;
|
|
5187
|
+
};
|
|
5188
|
+
}
|
|
5189
|
+
return pool_1;
|
|
5151
5190
|
}
|
|
5152
5191
|
|
|
5153
5192
|
var longbits;
|
|
@@ -5367,25 +5406,25 @@ function requireMinimal () {
|
|
|
5367
5406
|
var util = exports;
|
|
5368
5407
|
|
|
5369
5408
|
// used to return a Promise where callback is omitted
|
|
5370
|
-
util.asPromise =
|
|
5409
|
+
util.asPromise = requireAspromise();
|
|
5371
5410
|
|
|
5372
5411
|
// converts to / from base64 encoded strings
|
|
5373
|
-
util.base64 =
|
|
5412
|
+
util.base64 = requireBase64();
|
|
5374
5413
|
|
|
5375
5414
|
// base class of rpc.Service
|
|
5376
|
-
util.EventEmitter =
|
|
5415
|
+
util.EventEmitter = requireEventemitter();
|
|
5377
5416
|
|
|
5378
5417
|
// float handling accross browsers
|
|
5379
|
-
util.float =
|
|
5418
|
+
util.float = requireFloat();
|
|
5380
5419
|
|
|
5381
5420
|
// requires modules optionally and hides the call from bundlers
|
|
5382
|
-
util.inquire =
|
|
5421
|
+
util.inquire = inquire_1;
|
|
5383
5422
|
|
|
5384
5423
|
// converts to / from utf8 encoded strings
|
|
5385
|
-
util.utf8 =
|
|
5424
|
+
util.utf8 = requireUtf8();
|
|
5386
5425
|
|
|
5387
5426
|
// provides a node-like buffer pool in the browser
|
|
5388
|
-
util.pool =
|
|
5427
|
+
util.pool = requirePool();
|
|
5389
5428
|
|
|
5390
5429
|
// utility to work with the low and high bits of a 64 bit value
|
|
5391
5430
|
util.LongBits = requireLongbits();
|
|
@@ -9826,14 +9865,14 @@ const getDepositTxDataFromLogs = (logs, address, senderAsset, receiverAsset) =>
|
|
|
9826
9865
|
if (type === 'transfer') {
|
|
9827
9866
|
return attributes.reduce((acc2, { key, value }, index) => {
|
|
9828
9867
|
if (index % 3 === 0)
|
|
9829
|
-
acc2.push({ sender: '', recipient: '', amount: xchainUtil.baseAmount(0,
|
|
9868
|
+
acc2.push({ sender: '', recipient: '', amount: xchainUtil.baseAmount(0, RUNE_DECIMAL) });
|
|
9830
9869
|
const newData = acc2[acc2.length - 1];
|
|
9831
9870
|
if (key === 'sender')
|
|
9832
9871
|
newData.sender = value;
|
|
9833
9872
|
if (key === 'recipient')
|
|
9834
9873
|
newData.recipient = value;
|
|
9835
9874
|
if (key === 'amount')
|
|
9836
|
-
newData.amount = xchainUtil.baseAmount(value.replace(/rune/, ''),
|
|
9875
|
+
newData.amount = xchainUtil.baseAmount(value.replace(/rune/, ''), RUNE_DECIMAL);
|
|
9837
9876
|
return acc2;
|
|
9838
9877
|
}, acc);
|
|
9839
9878
|
}
|
|
@@ -9852,7 +9891,7 @@ const getDepositTxDataFromLogs = (logs, address, senderAsset, receiverAsset) =>
|
|
|
9852
9891
|
* @returns {Fees} The default fee.
|
|
9853
9892
|
*/
|
|
9854
9893
|
const getDefaultFees = () => {
|
|
9855
|
-
const fee = xchainUtil.assetToBase(xchainUtil.assetAmount(0.02 /* 0.02 RUNE */,
|
|
9894
|
+
const fee = xchainUtil.assetToBase(xchainUtil.assetAmount(0.02 /* 0.02 RUNE */, RUNE_DECIMAL));
|
|
9856
9895
|
return xchainClient.singleFee(xchainClient.FeeType.FlatFee, fee);
|
|
9857
9896
|
};
|
|
9858
9897
|
/**
|
|
@@ -10006,7 +10045,7 @@ const getBalance = ({ address, assets, cosmosClient, }) => __awaiter(void 0, voi
|
|
|
10006
10045
|
return balances
|
|
10007
10046
|
.map((balance) => ({
|
|
10008
10047
|
asset: (balance.denom && assetFromDenom(balance.denom)) || AssetRuneNative,
|
|
10009
|
-
amount: xchainUtil.baseAmount(balance.amount,
|
|
10048
|
+
amount: xchainUtil.baseAmount(balance.amount, RUNE_DECIMAL),
|
|
10010
10049
|
}))
|
|
10011
10050
|
.filter((balance) => !assets || assets.filter((asset) => xchainUtil.assetToString(balance.asset) === xchainUtil.assetToString(asset)).length);
|
|
10012
10051
|
});
|
|
@@ -10351,6 +10390,17 @@ class Client extends xchainClient.BaseXChainClient {
|
|
|
10351
10390
|
return getBalance({ address, assets, cosmosClient: this.getCosmosClient() });
|
|
10352
10391
|
});
|
|
10353
10392
|
}
|
|
10393
|
+
/**
|
|
10394
|
+
*
|
|
10395
|
+
* @returns asset info
|
|
10396
|
+
*/
|
|
10397
|
+
getAssetInfo() {
|
|
10398
|
+
const assetInfo = {
|
|
10399
|
+
asset: AssetRuneNative,
|
|
10400
|
+
decimal: RUNE_DECIMAL,
|
|
10401
|
+
};
|
|
10402
|
+
return assetInfo;
|
|
10403
|
+
}
|
|
10354
10404
|
/**
|
|
10355
10405
|
* Get the transaction details of a given transaction id.
|
|
10356
10406
|
*
|
|
@@ -10445,7 +10495,7 @@ class Client extends xchainClient.BaseXChainClient {
|
|
|
10445
10495
|
asset = xchainUtil.assetFromStringEx(getTx.observed_tx.tx.coins[0].asset);
|
|
10446
10496
|
amount = getTx.observed_tx.tx.coins[0].amount;
|
|
10447
10497
|
const addressTo = getTx.observed_tx.tx.to_address ? getTx.observed_tx.tx.to_address : 'undefined';
|
|
10448
|
-
const to = [{ to: addressTo, amount: xchainUtil.baseAmount(amount,
|
|
10498
|
+
const to = [{ to: addressTo, amount: xchainUtil.baseAmount(amount, RUNE_DECIMAL), asset: asset }];
|
|
10449
10499
|
const txData = {
|
|
10450
10500
|
hash: txId,
|
|
10451
10501
|
asset: senderAsset,
|
|
@@ -10461,7 +10511,7 @@ class Client extends xchainClient.BaseXChainClient {
|
|
|
10461
10511
|
amount = splitMemo[3];
|
|
10462
10512
|
const receiverAsset = asset;
|
|
10463
10513
|
const recieverAmount = amount;
|
|
10464
|
-
const to = [{ to: address, amount: xchainUtil.baseAmount(recieverAmount,
|
|
10514
|
+
const to = [{ to: address, amount: xchainUtil.baseAmount(recieverAmount, RUNE_DECIMAL), asset: receiverAsset }];
|
|
10465
10515
|
const txData = {
|
|
10466
10516
|
hash: txId,
|
|
10467
10517
|
asset: senderAsset,
|
|
@@ -10492,11 +10542,11 @@ class Client extends xchainClient.BaseXChainClient {
|
|
|
10492
10542
|
result.observed_tx.tx.coins.forEach((coin) => {
|
|
10493
10543
|
from.push({
|
|
10494
10544
|
from: result.observed_tx.tx.from_address,
|
|
10495
|
-
amount: xchainUtil.baseAmount(coin.amount,
|
|
10545
|
+
amount: xchainUtil.baseAmount(coin.amount, RUNE_DECIMAL),
|
|
10496
10546
|
});
|
|
10497
10547
|
to.push({
|
|
10498
10548
|
to: result.observed_tx.tx.to_address,
|
|
10499
|
-
amount: xchainUtil.baseAmount(coin.amount,
|
|
10549
|
+
amount: xchainUtil.baseAmount(coin.amount, RUNE_DECIMAL),
|
|
10500
10550
|
});
|
|
10501
10551
|
asset = xchainUtil.assetFromString(coin.asset);
|
|
10502
10552
|
});
|
|
@@ -10522,8 +10572,8 @@ class Client extends xchainClient.BaseXChainClient {
|
|
|
10522
10572
|
var _a, _b, _c, _d;
|
|
10523
10573
|
return __awaiter(this, void 0, void 0, function* () {
|
|
10524
10574
|
const balances = yield this.getBalance(this.getAddress(walletIndex));
|
|
10525
|
-
const runeBalance = (_b = (_a = balances.filter(({ asset }) => isAssetRuneNative(asset))[0]) === null || _a === void 0 ? void 0 : _a.amount) !== null && _b !== void 0 ? _b : xchainUtil.baseAmount(0,
|
|
10526
|
-
const assetBalance = (_d = (_c = balances.filter(({ asset: assetInList }) => xchainUtil.assetToString(assetInList) === xchainUtil.assetToString(asset))[0]) === null || _c === void 0 ? void 0 : _c.amount) !== null && _d !== void 0 ? _d : xchainUtil.baseAmount(0,
|
|
10575
|
+
const runeBalance = (_b = (_a = balances.filter(({ asset }) => isAssetRuneNative(asset))[0]) === null || _a === void 0 ? void 0 : _a.amount) !== null && _b !== void 0 ? _b : xchainUtil.baseAmount(0, RUNE_DECIMAL);
|
|
10576
|
+
const assetBalance = (_d = (_c = balances.filter(({ asset: assetInList }) => xchainUtil.assetToString(assetInList) === xchainUtil.assetToString(asset))[0]) === null || _c === void 0 ? void 0 : _c.amount) !== null && _d !== void 0 ? _d : xchainUtil.baseAmount(0, RUNE_DECIMAL);
|
|
10527
10577
|
const { average: fee } = yield this.getFees();
|
|
10528
10578
|
if (isAssetRuneNative(asset)) {
|
|
10529
10579
|
// amount + fee < runeBalance
|
|
@@ -10585,8 +10635,8 @@ class Client extends xchainClient.BaseXChainClient {
|
|
|
10585
10635
|
var _a, _b, _c, _d;
|
|
10586
10636
|
return __awaiter(this, void 0, void 0, function* () {
|
|
10587
10637
|
const balances = yield this.getBalance(this.getAddress(walletIndex));
|
|
10588
|
-
const runeBalance = (_b = (_a = balances.filter(({ asset }) => isAssetRuneNative(asset))[0]) === null || _a === void 0 ? void 0 : _a.amount) !== null && _b !== void 0 ? _b : xchainUtil.baseAmount(0,
|
|
10589
|
-
const assetBalance = (_d = (_c = balances.filter(({ asset: assetInList }) => xchainUtil.assetToString(assetInList) === xchainUtil.assetToString(asset))[0]) === null || _c === void 0 ? void 0 : _c.amount) !== null && _d !== void 0 ? _d : xchainUtil.baseAmount(0,
|
|
10638
|
+
const runeBalance = (_b = (_a = balances.filter(({ asset }) => isAssetRuneNative(asset))[0]) === null || _a === void 0 ? void 0 : _a.amount) !== null && _b !== void 0 ? _b : xchainUtil.baseAmount(0, RUNE_DECIMAL);
|
|
10639
|
+
const assetBalance = (_d = (_c = balances.filter(({ asset: assetInList }) => xchainUtil.assetToString(assetInList) === xchainUtil.assetToString(asset))[0]) === null || _c === void 0 ? void 0 : _c.amount) !== null && _d !== void 0 ? _d : xchainUtil.baseAmount(0, RUNE_DECIMAL);
|
|
10590
10640
|
const fee = (yield this.getFees()).average;
|
|
10591
10641
|
if (isAssetRuneNative(asset)) {
|
|
10592
10642
|
// amount + fee < runeBalance
|
|
@@ -10642,7 +10692,7 @@ class Client extends xchainClient.BaseXChainClient {
|
|
|
10642
10692
|
* @param {TxOfflineParams} params The transfer offline options.
|
|
10643
10693
|
* @returns {string} The signed transaction bytes.
|
|
10644
10694
|
*/
|
|
10645
|
-
transferOffline({ walletIndex = 0, asset = AssetRuneNative, amount, recipient, memo, fromRuneBalance: from_rune_balance, fromAssetBalance: from_asset_balance = xchainUtil.baseAmount(0,
|
|
10695
|
+
transferOffline({ walletIndex = 0, asset = AssetRuneNative, amount, recipient, memo, fromRuneBalance: from_rune_balance, fromAssetBalance: from_asset_balance = xchainUtil.baseAmount(0, RUNE_DECIMAL), fromAccountNumber = Long$1.ZERO, fromSequence = Long$1.ZERO, gasLimit = new BigNumber(DEFAULT_GAS_LIMIT_VALUE), }) {
|
|
10646
10696
|
return __awaiter(this, void 0, void 0, function* () {
|
|
10647
10697
|
const fee = (yield this.getFees()).average;
|
|
10648
10698
|
if (isAssetRuneNative(asset)) {
|
|
@@ -10723,7 +10773,6 @@ exports.AssetRuneERC20 = AssetRuneERC20;
|
|
|
10723
10773
|
exports.AssetRuneERC20Testnet = AssetRuneERC20Testnet;
|
|
10724
10774
|
exports.AssetRuneNative = AssetRuneNative;
|
|
10725
10775
|
exports.Client = Client;
|
|
10726
|
-
exports.DECIMAL = DECIMAL;
|
|
10727
10776
|
exports.DEFAULT_GAS_ADJUSTMENT = DEFAULT_GAS_ADJUSTMENT;
|
|
10728
10777
|
exports.DEFAULT_GAS_LIMIT_VALUE = DEFAULT_GAS_LIMIT_VALUE;
|
|
10729
10778
|
exports.DEPOSIT_GAS_LIMIT_VALUE = DEPOSIT_GAS_LIMIT_VALUE;
|
|
@@ -10731,6 +10780,7 @@ exports.MAX_PAGES_PER_FUNCTION_CALL = MAX_PAGES_PER_FUNCTION_CALL;
|
|
|
10731
10780
|
exports.MAX_TX_COUNT_PER_FUNCTION_CALL = MAX_TX_COUNT_PER_FUNCTION_CALL;
|
|
10732
10781
|
exports.MAX_TX_COUNT_PER_PAGE = MAX_TX_COUNT_PER_PAGE;
|
|
10733
10782
|
exports.MsgNativeTx = MsgNativeTx;
|
|
10783
|
+
exports.RUNE_DECIMAL = RUNE_DECIMAL;
|
|
10734
10784
|
exports.RUNE_SYMBOL = RUNE_SYMBOL;
|
|
10735
10785
|
exports.THORChain = THORChain;
|
|
10736
10786
|
exports.assetFromDenom = assetFromDenom;
|