@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.esm.js
CHANGED
|
@@ -4255,7 +4255,7 @@ const DEFAULT_EXPLORER_URL = 'https://viewblock.io/thorchain';
|
|
|
4255
4255
|
const txUrl = `${DEFAULT_EXPLORER_URL}/tx`;
|
|
4256
4256
|
const addressUrl = `${DEFAULT_EXPLORER_URL}/address`;
|
|
4257
4257
|
const RUNE_TICKER = 'RUNE';
|
|
4258
|
-
const
|
|
4258
|
+
const RUNE_DECIMAL = 8;
|
|
4259
4259
|
const DEFAULT_GAS_ADJUSTMENT = 2;
|
|
4260
4260
|
const DEFAULT_GAS_LIMIT_VALUE = '4000000';
|
|
4261
4261
|
const DEPOSIT_GAS_LIMIT_VALUE = '600000000';
|
|
@@ -4335,791 +4335,830 @@ var indexMinimal = {};
|
|
|
4335
4335
|
|
|
4336
4336
|
var minimal$1 = {};
|
|
4337
4337
|
|
|
4338
|
-
var aspromise
|
|
4338
|
+
var aspromise;
|
|
4339
|
+
var hasRequiredAspromise;
|
|
4340
|
+
|
|
4341
|
+
function requireAspromise () {
|
|
4342
|
+
if (hasRequiredAspromise) return aspromise;
|
|
4343
|
+
hasRequiredAspromise = 1;
|
|
4344
|
+
aspromise = asPromise;
|
|
4339
4345
|
|
|
4340
|
-
/**
|
|
4341
|
-
|
|
4342
|
-
|
|
4343
|
-
|
|
4344
|
-
|
|
4345
|
-
|
|
4346
|
-
|
|
4347
|
-
|
|
4346
|
+
/**
|
|
4347
|
+
* Callback as used by {@link util.asPromise}.
|
|
4348
|
+
* @typedef asPromiseCallback
|
|
4349
|
+
* @type {function}
|
|
4350
|
+
* @param {Error|null} error Error, if any
|
|
4351
|
+
* @param {...*} params Additional arguments
|
|
4352
|
+
* @returns {undefined}
|
|
4353
|
+
*/
|
|
4348
4354
|
|
|
4349
|
-
/**
|
|
4350
|
-
|
|
4351
|
-
|
|
4352
|
-
|
|
4353
|
-
|
|
4354
|
-
|
|
4355
|
-
|
|
4356
|
-
|
|
4357
|
-
function asPromise(fn, ctx/*, varargs */) {
|
|
4358
|
-
|
|
4359
|
-
|
|
4360
|
-
|
|
4361
|
-
|
|
4362
|
-
|
|
4363
|
-
|
|
4364
|
-
|
|
4365
|
-
|
|
4366
|
-
|
|
4367
|
-
|
|
4368
|
-
|
|
4369
|
-
|
|
4370
|
-
|
|
4371
|
-
|
|
4372
|
-
|
|
4373
|
-
|
|
4374
|
-
|
|
4375
|
-
|
|
4376
|
-
|
|
4377
|
-
|
|
4378
|
-
|
|
4379
|
-
|
|
4380
|
-
|
|
4381
|
-
|
|
4382
|
-
|
|
4383
|
-
|
|
4384
|
-
|
|
4385
|
-
|
|
4386
|
-
|
|
4387
|
-
|
|
4355
|
+
/**
|
|
4356
|
+
* Returns a promise from a node-style callback function.
|
|
4357
|
+
* @memberof util
|
|
4358
|
+
* @param {asPromiseCallback} fn Function to call
|
|
4359
|
+
* @param {*} ctx Function context
|
|
4360
|
+
* @param {...*} params Function arguments
|
|
4361
|
+
* @returns {Promise<*>} Promisified function
|
|
4362
|
+
*/
|
|
4363
|
+
function asPromise(fn, ctx/*, varargs */) {
|
|
4364
|
+
var params = new Array(arguments.length - 1),
|
|
4365
|
+
offset = 0,
|
|
4366
|
+
index = 2,
|
|
4367
|
+
pending = true;
|
|
4368
|
+
while (index < arguments.length)
|
|
4369
|
+
params[offset++] = arguments[index++];
|
|
4370
|
+
return new Promise(function executor(resolve, reject) {
|
|
4371
|
+
params[offset] = function callback(err/*, varargs */) {
|
|
4372
|
+
if (pending) {
|
|
4373
|
+
pending = false;
|
|
4374
|
+
if (err)
|
|
4375
|
+
reject(err);
|
|
4376
|
+
else {
|
|
4377
|
+
var params = new Array(arguments.length - 1),
|
|
4378
|
+
offset = 0;
|
|
4379
|
+
while (offset < params.length)
|
|
4380
|
+
params[offset++] = arguments[offset];
|
|
4381
|
+
resolve.apply(null, params);
|
|
4382
|
+
}
|
|
4383
|
+
}
|
|
4384
|
+
};
|
|
4385
|
+
try {
|
|
4386
|
+
fn.apply(ctx || null, params);
|
|
4387
|
+
} catch (err) {
|
|
4388
|
+
if (pending) {
|
|
4389
|
+
pending = false;
|
|
4390
|
+
reject(err);
|
|
4391
|
+
}
|
|
4392
|
+
}
|
|
4393
|
+
});
|
|
4394
|
+
}
|
|
4395
|
+
return aspromise;
|
|
4388
4396
|
}
|
|
4389
4397
|
|
|
4390
4398
|
var base64$1 = {};
|
|
4391
4399
|
|
|
4392
|
-
|
|
4400
|
+
var hasRequiredBase64;
|
|
4401
|
+
|
|
4402
|
+
function requireBase64 () {
|
|
4403
|
+
if (hasRequiredBase64) return base64$1;
|
|
4404
|
+
hasRequiredBase64 = 1;
|
|
4405
|
+
(function (exports) {
|
|
4393
4406
|
|
|
4394
|
-
|
|
4395
|
-
|
|
4396
|
-
|
|
4397
|
-
|
|
4398
|
-
|
|
4399
|
-
|
|
4407
|
+
/**
|
|
4408
|
+
* A minimal base64 implementation for number arrays.
|
|
4409
|
+
* @memberof util
|
|
4410
|
+
* @namespace
|
|
4411
|
+
*/
|
|
4412
|
+
var base64 = exports;
|
|
4413
|
+
|
|
4414
|
+
/**
|
|
4415
|
+
* Calculates the byte length of a base64 encoded string.
|
|
4416
|
+
* @param {string} string Base64 encoded string
|
|
4417
|
+
* @returns {number} Byte length
|
|
4418
|
+
*/
|
|
4419
|
+
base64.length = function length(string) {
|
|
4420
|
+
var p = string.length;
|
|
4421
|
+
if (!p)
|
|
4422
|
+
return 0;
|
|
4423
|
+
var n = 0;
|
|
4424
|
+
while (--p % 4 > 1 && string.charAt(p) === "=")
|
|
4425
|
+
++n;
|
|
4426
|
+
return Math.ceil(string.length * 3) / 4 - n;
|
|
4427
|
+
};
|
|
4428
|
+
|
|
4429
|
+
// Base64 encoding table
|
|
4430
|
+
var b64 = new Array(64);
|
|
4431
|
+
|
|
4432
|
+
// Base64 decoding table
|
|
4433
|
+
var s64 = new Array(123);
|
|
4434
|
+
|
|
4435
|
+
// 65..90, 97..122, 48..57, 43, 47
|
|
4436
|
+
for (var i = 0; i < 64;)
|
|
4437
|
+
s64[b64[i] = i < 26 ? i + 65 : i < 52 ? i + 71 : i < 62 ? i - 4 : i - 59 | 43] = i++;
|
|
4438
|
+
|
|
4439
|
+
/**
|
|
4440
|
+
* Encodes a buffer to a base64 encoded string.
|
|
4441
|
+
* @param {Uint8Array} buffer Source buffer
|
|
4442
|
+
* @param {number} start Source start
|
|
4443
|
+
* @param {number} end Source end
|
|
4444
|
+
* @returns {string} Base64 encoded string
|
|
4445
|
+
*/
|
|
4446
|
+
base64.encode = function encode(buffer, start, end) {
|
|
4447
|
+
var parts = null,
|
|
4448
|
+
chunk = [];
|
|
4449
|
+
var i = 0, // output index
|
|
4450
|
+
j = 0, // goto index
|
|
4451
|
+
t; // temporary
|
|
4452
|
+
while (start < end) {
|
|
4453
|
+
var b = buffer[start++];
|
|
4454
|
+
switch (j) {
|
|
4455
|
+
case 0:
|
|
4456
|
+
chunk[i++] = b64[b >> 2];
|
|
4457
|
+
t = (b & 3) << 4;
|
|
4458
|
+
j = 1;
|
|
4459
|
+
break;
|
|
4460
|
+
case 1:
|
|
4461
|
+
chunk[i++] = b64[t | b >> 4];
|
|
4462
|
+
t = (b & 15) << 2;
|
|
4463
|
+
j = 2;
|
|
4464
|
+
break;
|
|
4465
|
+
case 2:
|
|
4466
|
+
chunk[i++] = b64[t | b >> 6];
|
|
4467
|
+
chunk[i++] = b64[b & 63];
|
|
4468
|
+
j = 0;
|
|
4469
|
+
break;
|
|
4470
|
+
}
|
|
4471
|
+
if (i > 8191) {
|
|
4472
|
+
(parts || (parts = [])).push(String.fromCharCode.apply(String, chunk));
|
|
4473
|
+
i = 0;
|
|
4474
|
+
}
|
|
4475
|
+
}
|
|
4476
|
+
if (j) {
|
|
4477
|
+
chunk[i++] = b64[t];
|
|
4478
|
+
chunk[i++] = 61;
|
|
4479
|
+
if (j === 1)
|
|
4480
|
+
chunk[i++] = 61;
|
|
4481
|
+
}
|
|
4482
|
+
if (parts) {
|
|
4483
|
+
if (i)
|
|
4484
|
+
parts.push(String.fromCharCode.apply(String, chunk.slice(0, i)));
|
|
4485
|
+
return parts.join("");
|
|
4486
|
+
}
|
|
4487
|
+
return String.fromCharCode.apply(String, chunk.slice(0, i));
|
|
4488
|
+
};
|
|
4489
|
+
|
|
4490
|
+
var invalidEncoding = "invalid encoding";
|
|
4491
|
+
|
|
4492
|
+
/**
|
|
4493
|
+
* Decodes a base64 encoded string to a buffer.
|
|
4494
|
+
* @param {string} string Source string
|
|
4495
|
+
* @param {Uint8Array} buffer Destination buffer
|
|
4496
|
+
* @param {number} offset Destination offset
|
|
4497
|
+
* @returns {number} Number of bytes written
|
|
4498
|
+
* @throws {Error} If encoding is invalid
|
|
4499
|
+
*/
|
|
4500
|
+
base64.decode = function decode(string, buffer, offset) {
|
|
4501
|
+
var start = offset;
|
|
4502
|
+
var j = 0, // goto index
|
|
4503
|
+
t; // temporary
|
|
4504
|
+
for (var i = 0; i < string.length;) {
|
|
4505
|
+
var c = string.charCodeAt(i++);
|
|
4506
|
+
if (c === 61 && j > 1)
|
|
4507
|
+
break;
|
|
4508
|
+
if ((c = s64[c]) === undefined)
|
|
4509
|
+
throw Error(invalidEncoding);
|
|
4510
|
+
switch (j) {
|
|
4511
|
+
case 0:
|
|
4512
|
+
t = c;
|
|
4513
|
+
j = 1;
|
|
4514
|
+
break;
|
|
4515
|
+
case 1:
|
|
4516
|
+
buffer[offset++] = t << 2 | (c & 48) >> 4;
|
|
4517
|
+
t = c;
|
|
4518
|
+
j = 2;
|
|
4519
|
+
break;
|
|
4520
|
+
case 2:
|
|
4521
|
+
buffer[offset++] = (t & 15) << 4 | (c & 60) >> 2;
|
|
4522
|
+
t = c;
|
|
4523
|
+
j = 3;
|
|
4524
|
+
break;
|
|
4525
|
+
case 3:
|
|
4526
|
+
buffer[offset++] = (t & 3) << 6 | c;
|
|
4527
|
+
j = 0;
|
|
4528
|
+
break;
|
|
4529
|
+
}
|
|
4530
|
+
}
|
|
4531
|
+
if (j === 1)
|
|
4532
|
+
throw Error(invalidEncoding);
|
|
4533
|
+
return offset - start;
|
|
4534
|
+
};
|
|
4535
|
+
|
|
4536
|
+
/**
|
|
4537
|
+
* Tests if the specified string appears to be base64 encoded.
|
|
4538
|
+
* @param {string} string String to test
|
|
4539
|
+
* @returns {boolean} `true` if probably base64 encoded, otherwise false
|
|
4540
|
+
*/
|
|
4541
|
+
base64.test = function test(string) {
|
|
4542
|
+
return /^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(string);
|
|
4543
|
+
};
|
|
4544
|
+
} (base64$1));
|
|
4545
|
+
return base64$1;
|
|
4546
|
+
}
|
|
4547
|
+
|
|
4548
|
+
var eventemitter;
|
|
4549
|
+
var hasRequiredEventemitter;
|
|
4550
|
+
|
|
4551
|
+
function requireEventemitter () {
|
|
4552
|
+
if (hasRequiredEventemitter) return eventemitter;
|
|
4553
|
+
hasRequiredEventemitter = 1;
|
|
4554
|
+
eventemitter = EventEmitter;
|
|
4400
4555
|
|
|
4401
4556
|
/**
|
|
4402
|
-
*
|
|
4403
|
-
* @
|
|
4404
|
-
* @
|
|
4557
|
+
* Constructs a new event emitter instance.
|
|
4558
|
+
* @classdesc A minimal event emitter.
|
|
4559
|
+
* @memberof util
|
|
4560
|
+
* @constructor
|
|
4405
4561
|
*/
|
|
4406
|
-
|
|
4407
|
-
var p = string.length;
|
|
4408
|
-
if (!p)
|
|
4409
|
-
return 0;
|
|
4410
|
-
var n = 0;
|
|
4411
|
-
while (--p % 4 > 1 && string.charAt(p) === "=")
|
|
4412
|
-
++n;
|
|
4413
|
-
return Math.ceil(string.length * 3) / 4 - n;
|
|
4414
|
-
};
|
|
4415
|
-
|
|
4416
|
-
// Base64 encoding table
|
|
4417
|
-
var b64 = new Array(64);
|
|
4418
|
-
|
|
4419
|
-
// Base64 decoding table
|
|
4420
|
-
var s64 = new Array(123);
|
|
4562
|
+
function EventEmitter() {
|
|
4421
4563
|
|
|
4422
|
-
|
|
4423
|
-
|
|
4424
|
-
|
|
4564
|
+
/**
|
|
4565
|
+
* Registered listeners.
|
|
4566
|
+
* @type {Object.<string,*>}
|
|
4567
|
+
* @private
|
|
4568
|
+
*/
|
|
4569
|
+
this._listeners = {};
|
|
4570
|
+
}
|
|
4425
4571
|
|
|
4426
4572
|
/**
|
|
4427
|
-
*
|
|
4428
|
-
* @param {
|
|
4429
|
-
* @param {
|
|
4430
|
-
* @param {
|
|
4431
|
-
* @returns {
|
|
4573
|
+
* Registers an event listener.
|
|
4574
|
+
* @param {string} evt Event name
|
|
4575
|
+
* @param {function} fn Listener
|
|
4576
|
+
* @param {*} [ctx] Listener context
|
|
4577
|
+
* @returns {util.EventEmitter} `this`
|
|
4432
4578
|
*/
|
|
4433
|
-
|
|
4434
|
-
|
|
4435
|
-
|
|
4436
|
-
|
|
4437
|
-
|
|
4438
|
-
|
|
4439
|
-
while (start < end) {
|
|
4440
|
-
var b = buffer[start++];
|
|
4441
|
-
switch (j) {
|
|
4442
|
-
case 0:
|
|
4443
|
-
chunk[i++] = b64[b >> 2];
|
|
4444
|
-
t = (b & 3) << 4;
|
|
4445
|
-
j = 1;
|
|
4446
|
-
break;
|
|
4447
|
-
case 1:
|
|
4448
|
-
chunk[i++] = b64[t | b >> 4];
|
|
4449
|
-
t = (b & 15) << 2;
|
|
4450
|
-
j = 2;
|
|
4451
|
-
break;
|
|
4452
|
-
case 2:
|
|
4453
|
-
chunk[i++] = b64[t | b >> 6];
|
|
4454
|
-
chunk[i++] = b64[b & 63];
|
|
4455
|
-
j = 0;
|
|
4456
|
-
break;
|
|
4457
|
-
}
|
|
4458
|
-
if (i > 8191) {
|
|
4459
|
-
(parts || (parts = [])).push(String.fromCharCode.apply(String, chunk));
|
|
4460
|
-
i = 0;
|
|
4461
|
-
}
|
|
4462
|
-
}
|
|
4463
|
-
if (j) {
|
|
4464
|
-
chunk[i++] = b64[t];
|
|
4465
|
-
chunk[i++] = 61;
|
|
4466
|
-
if (j === 1)
|
|
4467
|
-
chunk[i++] = 61;
|
|
4468
|
-
}
|
|
4469
|
-
if (parts) {
|
|
4470
|
-
if (i)
|
|
4471
|
-
parts.push(String.fromCharCode.apply(String, chunk.slice(0, i)));
|
|
4472
|
-
return parts.join("");
|
|
4473
|
-
}
|
|
4474
|
-
return String.fromCharCode.apply(String, chunk.slice(0, i));
|
|
4579
|
+
EventEmitter.prototype.on = function on(evt, fn, ctx) {
|
|
4580
|
+
(this._listeners[evt] || (this._listeners[evt] = [])).push({
|
|
4581
|
+
fn : fn,
|
|
4582
|
+
ctx : ctx || this
|
|
4583
|
+
});
|
|
4584
|
+
return this;
|
|
4475
4585
|
};
|
|
4476
4586
|
|
|
4477
|
-
var invalidEncoding = "invalid encoding";
|
|
4478
|
-
|
|
4479
4587
|
/**
|
|
4480
|
-
*
|
|
4481
|
-
* @param {string}
|
|
4482
|
-
* @param {
|
|
4483
|
-
* @
|
|
4484
|
-
* @returns {number} Number of bytes written
|
|
4485
|
-
* @throws {Error} If encoding is invalid
|
|
4588
|
+
* Removes an event listener or any matching listeners if arguments are omitted.
|
|
4589
|
+
* @param {string} [evt] Event name. Removes all listeners if omitted.
|
|
4590
|
+
* @param {function} [fn] Listener to remove. Removes all listeners of `evt` if omitted.
|
|
4591
|
+
* @returns {util.EventEmitter} `this`
|
|
4486
4592
|
*/
|
|
4487
|
-
|
|
4488
|
-
|
|
4489
|
-
|
|
4490
|
-
|
|
4491
|
-
|
|
4492
|
-
|
|
4493
|
-
|
|
4494
|
-
|
|
4495
|
-
|
|
4496
|
-
|
|
4497
|
-
|
|
4498
|
-
|
|
4499
|
-
|
|
4500
|
-
j = 1;
|
|
4501
|
-
break;
|
|
4502
|
-
case 1:
|
|
4503
|
-
buffer[offset++] = t << 2 | (c & 48) >> 4;
|
|
4504
|
-
t = c;
|
|
4505
|
-
j = 2;
|
|
4506
|
-
break;
|
|
4507
|
-
case 2:
|
|
4508
|
-
buffer[offset++] = (t & 15) << 4 | (c & 60) >> 2;
|
|
4509
|
-
t = c;
|
|
4510
|
-
j = 3;
|
|
4511
|
-
break;
|
|
4512
|
-
case 3:
|
|
4513
|
-
buffer[offset++] = (t & 3) << 6 | c;
|
|
4514
|
-
j = 0;
|
|
4515
|
-
break;
|
|
4593
|
+
EventEmitter.prototype.off = function off(evt, fn) {
|
|
4594
|
+
if (evt === undefined)
|
|
4595
|
+
this._listeners = {};
|
|
4596
|
+
else {
|
|
4597
|
+
if (fn === undefined)
|
|
4598
|
+
this._listeners[evt] = [];
|
|
4599
|
+
else {
|
|
4600
|
+
var listeners = this._listeners[evt];
|
|
4601
|
+
for (var i = 0; i < listeners.length;)
|
|
4602
|
+
if (listeners[i].fn === fn)
|
|
4603
|
+
listeners.splice(i, 1);
|
|
4604
|
+
else
|
|
4605
|
+
++i;
|
|
4516
4606
|
}
|
|
4517
4607
|
}
|
|
4518
|
-
|
|
4519
|
-
throw Error(invalidEncoding);
|
|
4520
|
-
return offset - start;
|
|
4608
|
+
return this;
|
|
4521
4609
|
};
|
|
4522
4610
|
|
|
4523
4611
|
/**
|
|
4524
|
-
*
|
|
4525
|
-
* @param {string}
|
|
4526
|
-
* @
|
|
4612
|
+
* Emits an event by calling its listeners with the specified arguments.
|
|
4613
|
+
* @param {string} evt Event name
|
|
4614
|
+
* @param {...*} args Arguments
|
|
4615
|
+
* @returns {util.EventEmitter} `this`
|
|
4527
4616
|
*/
|
|
4528
|
-
|
|
4529
|
-
|
|
4530
|
-
|
|
4531
|
-
|
|
4617
|
+
EventEmitter.prototype.emit = function emit(evt) {
|
|
4618
|
+
var listeners = this._listeners[evt];
|
|
4619
|
+
if (listeners) {
|
|
4620
|
+
var args = [],
|
|
4621
|
+
i = 1;
|
|
4622
|
+
for (; i < arguments.length;)
|
|
4623
|
+
args.push(arguments[i++]);
|
|
4624
|
+
for (i = 0; i < listeners.length;)
|
|
4625
|
+
listeners[i].fn.apply(listeners[i++].ctx, args);
|
|
4626
|
+
}
|
|
4627
|
+
return this;
|
|
4628
|
+
};
|
|
4629
|
+
return eventemitter;
|
|
4630
|
+
}
|
|
4532
4631
|
|
|
4533
|
-
var
|
|
4534
|
-
|
|
4535
|
-
/**
|
|
4536
|
-
* Constructs a new event emitter instance.
|
|
4537
|
-
* @classdesc A minimal event emitter.
|
|
4538
|
-
* @memberof util
|
|
4539
|
-
* @constructor
|
|
4540
|
-
*/
|
|
4541
|
-
function EventEmitter() {
|
|
4542
|
-
|
|
4543
|
-
/**
|
|
4544
|
-
* Registered listeners.
|
|
4545
|
-
* @type {Object.<string,*>}
|
|
4546
|
-
* @private
|
|
4547
|
-
*/
|
|
4548
|
-
this._listeners = {};
|
|
4549
|
-
}
|
|
4550
|
-
|
|
4551
|
-
/**
|
|
4552
|
-
* Registers an event listener.
|
|
4553
|
-
* @param {string} evt Event name
|
|
4554
|
-
* @param {function} fn Listener
|
|
4555
|
-
* @param {*} [ctx] Listener context
|
|
4556
|
-
* @returns {util.EventEmitter} `this`
|
|
4557
|
-
*/
|
|
4558
|
-
EventEmitter.prototype.on = function on(evt, fn, ctx) {
|
|
4559
|
-
(this._listeners[evt] || (this._listeners[evt] = [])).push({
|
|
4560
|
-
fn : fn,
|
|
4561
|
-
ctx : ctx || this
|
|
4562
|
-
});
|
|
4563
|
-
return this;
|
|
4564
|
-
};
|
|
4565
|
-
|
|
4566
|
-
/**
|
|
4567
|
-
* Removes an event listener or any matching listeners if arguments are omitted.
|
|
4568
|
-
* @param {string} [evt] Event name. Removes all listeners if omitted.
|
|
4569
|
-
* @param {function} [fn] Listener to remove. Removes all listeners of `evt` if omitted.
|
|
4570
|
-
* @returns {util.EventEmitter} `this`
|
|
4571
|
-
*/
|
|
4572
|
-
EventEmitter.prototype.off = function off(evt, fn) {
|
|
4573
|
-
if (evt === undefined)
|
|
4574
|
-
this._listeners = {};
|
|
4575
|
-
else {
|
|
4576
|
-
if (fn === undefined)
|
|
4577
|
-
this._listeners[evt] = [];
|
|
4578
|
-
else {
|
|
4579
|
-
var listeners = this._listeners[evt];
|
|
4580
|
-
for (var i = 0; i < listeners.length;)
|
|
4581
|
-
if (listeners[i].fn === fn)
|
|
4582
|
-
listeners.splice(i, 1);
|
|
4583
|
-
else
|
|
4584
|
-
++i;
|
|
4585
|
-
}
|
|
4586
|
-
}
|
|
4587
|
-
return this;
|
|
4588
|
-
};
|
|
4589
|
-
|
|
4590
|
-
/**
|
|
4591
|
-
* Emits an event by calling its listeners with the specified arguments.
|
|
4592
|
-
* @param {string} evt Event name
|
|
4593
|
-
* @param {...*} args Arguments
|
|
4594
|
-
* @returns {util.EventEmitter} `this`
|
|
4595
|
-
*/
|
|
4596
|
-
EventEmitter.prototype.emit = function emit(evt) {
|
|
4597
|
-
var listeners = this._listeners[evt];
|
|
4598
|
-
if (listeners) {
|
|
4599
|
-
var args = [],
|
|
4600
|
-
i = 1;
|
|
4601
|
-
for (; i < arguments.length;)
|
|
4602
|
-
args.push(arguments[i++]);
|
|
4603
|
-
for (i = 0; i < listeners.length;)
|
|
4604
|
-
listeners[i].fn.apply(listeners[i++].ctx, args);
|
|
4605
|
-
}
|
|
4606
|
-
return this;
|
|
4607
|
-
};
|
|
4632
|
+
var float;
|
|
4633
|
+
var hasRequiredFloat;
|
|
4608
4634
|
|
|
4609
|
-
|
|
4610
|
-
|
|
4611
|
-
|
|
4612
|
-
* Reads / writes floats / doubles from / to buffers.
|
|
4613
|
-
* @name util.float
|
|
4614
|
-
* @namespace
|
|
4615
|
-
*/
|
|
4616
|
-
|
|
4617
|
-
/**
|
|
4618
|
-
* Writes a 32 bit float to a buffer using little endian byte order.
|
|
4619
|
-
* @name util.float.writeFloatLE
|
|
4620
|
-
* @function
|
|
4621
|
-
* @param {number} val Value to write
|
|
4622
|
-
* @param {Uint8Array} buf Target buffer
|
|
4623
|
-
* @param {number} pos Target buffer offset
|
|
4624
|
-
* @returns {undefined}
|
|
4625
|
-
*/
|
|
4635
|
+
function requireFloat () {
|
|
4636
|
+
if (hasRequiredFloat) return float;
|
|
4637
|
+
hasRequiredFloat = 1;
|
|
4626
4638
|
|
|
4627
|
-
|
|
4628
|
-
* Writes a 32 bit float to a buffer using big endian byte order.
|
|
4629
|
-
* @name util.float.writeFloatBE
|
|
4630
|
-
* @function
|
|
4631
|
-
* @param {number} val Value to write
|
|
4632
|
-
* @param {Uint8Array} buf Target buffer
|
|
4633
|
-
* @param {number} pos Target buffer offset
|
|
4634
|
-
* @returns {undefined}
|
|
4635
|
-
*/
|
|
4636
|
-
|
|
4637
|
-
/**
|
|
4638
|
-
* Reads a 32 bit float from a buffer using little endian byte order.
|
|
4639
|
-
* @name util.float.readFloatLE
|
|
4640
|
-
* @function
|
|
4641
|
-
* @param {Uint8Array} buf Source buffer
|
|
4642
|
-
* @param {number} pos Source buffer offset
|
|
4643
|
-
* @returns {number} Value read
|
|
4644
|
-
*/
|
|
4639
|
+
float = factory(factory);
|
|
4645
4640
|
|
|
4646
|
-
/**
|
|
4647
|
-
|
|
4648
|
-
|
|
4649
|
-
|
|
4650
|
-
|
|
4651
|
-
* @param {number} pos Source buffer offset
|
|
4652
|
-
* @returns {number} Value read
|
|
4653
|
-
*/
|
|
4654
|
-
|
|
4655
|
-
/**
|
|
4656
|
-
* Writes a 64 bit double to a buffer using little endian byte order.
|
|
4657
|
-
* @name util.float.writeDoubleLE
|
|
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
|
-
* Writes a 64 bit double to a buffer using big endian byte order.
|
|
4667
|
-
* @name util.float.writeDoubleBE
|
|
4668
|
-
* @function
|
|
4669
|
-
* @param {number} val Value to write
|
|
4670
|
-
* @param {Uint8Array} buf Target buffer
|
|
4671
|
-
* @param {number} pos Target buffer offset
|
|
4672
|
-
* @returns {undefined}
|
|
4673
|
-
*/
|
|
4674
|
-
|
|
4675
|
-
/**
|
|
4676
|
-
* Reads a 64 bit double from a buffer using little endian byte order.
|
|
4677
|
-
* @name util.float.readDoubleLE
|
|
4678
|
-
* @function
|
|
4679
|
-
* @param {Uint8Array} buf Source buffer
|
|
4680
|
-
* @param {number} pos Source buffer offset
|
|
4681
|
-
* @returns {number} Value read
|
|
4682
|
-
*/
|
|
4641
|
+
/**
|
|
4642
|
+
* Reads / writes floats / doubles from / to buffers.
|
|
4643
|
+
* @name util.float
|
|
4644
|
+
* @namespace
|
|
4645
|
+
*/
|
|
4683
4646
|
|
|
4684
|
-
/**
|
|
4685
|
-
|
|
4686
|
-
|
|
4687
|
-
|
|
4688
|
-
|
|
4689
|
-
|
|
4690
|
-
|
|
4691
|
-
|
|
4647
|
+
/**
|
|
4648
|
+
* Writes a 32 bit float to a buffer using little endian byte order.
|
|
4649
|
+
* @name util.float.writeFloatLE
|
|
4650
|
+
* @function
|
|
4651
|
+
* @param {number} val Value to write
|
|
4652
|
+
* @param {Uint8Array} buf Target buffer
|
|
4653
|
+
* @param {number} pos Target buffer offset
|
|
4654
|
+
* @returns {undefined}
|
|
4655
|
+
*/
|
|
4692
4656
|
|
|
4693
|
-
|
|
4694
|
-
|
|
4657
|
+
/**
|
|
4658
|
+
* Writes a 32 bit float to a buffer using big endian byte order.
|
|
4659
|
+
* @name util.float.writeFloatBE
|
|
4660
|
+
* @function
|
|
4661
|
+
* @param {number} val Value to write
|
|
4662
|
+
* @param {Uint8Array} buf Target buffer
|
|
4663
|
+
* @param {number} pos Target buffer offset
|
|
4664
|
+
* @returns {undefined}
|
|
4665
|
+
*/
|
|
4695
4666
|
|
|
4696
|
-
|
|
4697
|
-
|
|
4667
|
+
/**
|
|
4668
|
+
* Reads a 32 bit float from a buffer using little endian byte order.
|
|
4669
|
+
* @name util.float.readFloatLE
|
|
4670
|
+
* @function
|
|
4671
|
+
* @param {Uint8Array} buf Source buffer
|
|
4672
|
+
* @param {number} pos Source buffer offset
|
|
4673
|
+
* @returns {number} Value read
|
|
4674
|
+
*/
|
|
4698
4675
|
|
|
4699
|
-
|
|
4700
|
-
|
|
4701
|
-
|
|
4676
|
+
/**
|
|
4677
|
+
* Reads a 32 bit float from a buffer using big endian byte order.
|
|
4678
|
+
* @name util.float.readFloatBE
|
|
4679
|
+
* @function
|
|
4680
|
+
* @param {Uint8Array} buf Source buffer
|
|
4681
|
+
* @param {number} pos Source buffer offset
|
|
4682
|
+
* @returns {number} Value read
|
|
4683
|
+
*/
|
|
4702
4684
|
|
|
4703
|
-
|
|
4704
|
-
|
|
4705
|
-
|
|
4706
|
-
|
|
4707
|
-
|
|
4708
|
-
|
|
4709
|
-
|
|
4685
|
+
/**
|
|
4686
|
+
* Writes a 64 bit double to a buffer using little endian byte order.
|
|
4687
|
+
* @name util.float.writeDoubleLE
|
|
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
|
+
*/
|
|
4710
4694
|
|
|
4711
|
-
|
|
4712
|
-
|
|
4713
|
-
|
|
4714
|
-
|
|
4715
|
-
|
|
4716
|
-
|
|
4717
|
-
|
|
4695
|
+
/**
|
|
4696
|
+
* Writes a 64 bit double to a buffer using big endian byte order.
|
|
4697
|
+
* @name util.float.writeDoubleBE
|
|
4698
|
+
* @function
|
|
4699
|
+
* @param {number} val Value to write
|
|
4700
|
+
* @param {Uint8Array} buf Target buffer
|
|
4701
|
+
* @param {number} pos Target buffer offset
|
|
4702
|
+
* @returns {undefined}
|
|
4703
|
+
*/
|
|
4718
4704
|
|
|
4719
|
-
|
|
4720
|
-
|
|
4721
|
-
|
|
4722
|
-
|
|
4723
|
-
|
|
4724
|
-
|
|
4725
|
-
|
|
4726
|
-
|
|
4727
|
-
f8b[2] = buf[pos + 2];
|
|
4728
|
-
f8b[3] = buf[pos + 3];
|
|
4729
|
-
return f32[0];
|
|
4730
|
-
}
|
|
4705
|
+
/**
|
|
4706
|
+
* Reads a 64 bit double from a buffer using little endian byte order.
|
|
4707
|
+
* @name util.float.readDoubleLE
|
|
4708
|
+
* @function
|
|
4709
|
+
* @param {Uint8Array} buf Source buffer
|
|
4710
|
+
* @param {number} pos Source buffer offset
|
|
4711
|
+
* @returns {number} Value read
|
|
4712
|
+
*/
|
|
4731
4713
|
|
|
4732
|
-
|
|
4733
|
-
|
|
4734
|
-
|
|
4735
|
-
|
|
4736
|
-
|
|
4737
|
-
|
|
4738
|
-
|
|
4714
|
+
/**
|
|
4715
|
+
* Reads a 64 bit double from a buffer using big endian byte order.
|
|
4716
|
+
* @name util.float.readDoubleBE
|
|
4717
|
+
* @function
|
|
4718
|
+
* @param {Uint8Array} buf Source buffer
|
|
4719
|
+
* @param {number} pos Source buffer offset
|
|
4720
|
+
* @returns {number} Value read
|
|
4721
|
+
*/
|
|
4739
4722
|
|
|
4740
|
-
|
|
4741
|
-
|
|
4742
|
-
/* istanbul ignore next */
|
|
4743
|
-
exports.readFloatBE = le ? readFloat_f32_rev : readFloat_f32_cpy;
|
|
4744
|
-
|
|
4745
|
-
// float: ieee754
|
|
4746
|
-
})(); else (function() {
|
|
4747
|
-
|
|
4748
|
-
function writeFloat_ieee754(writeUint, val, buf, pos) {
|
|
4749
|
-
var sign = val < 0 ? 1 : 0;
|
|
4750
|
-
if (sign)
|
|
4751
|
-
val = -val;
|
|
4752
|
-
if (val === 0)
|
|
4753
|
-
writeUint(1 / val > 0 ? /* positive */ 0 : /* negative 0 */ 2147483648, buf, pos);
|
|
4754
|
-
else if (isNaN(val))
|
|
4755
|
-
writeUint(2143289344, buf, pos);
|
|
4756
|
-
else if (val > 3.4028234663852886e+38) // +-Infinity
|
|
4757
|
-
writeUint((sign << 31 | 2139095040) >>> 0, buf, pos);
|
|
4758
|
-
else if (val < 1.1754943508222875e-38) // denormal
|
|
4759
|
-
writeUint((sign << 31 | Math.round(val / 1.401298464324817e-45)) >>> 0, buf, pos);
|
|
4760
|
-
else {
|
|
4761
|
-
var exponent = Math.floor(Math.log(val) / Math.LN2),
|
|
4762
|
-
mantissa = Math.round(val * Math.pow(2, -exponent) * 8388608) & 8388607;
|
|
4763
|
-
writeUint((sign << 31 | exponent + 127 << 23 | mantissa) >>> 0, buf, pos);
|
|
4764
|
-
}
|
|
4765
|
-
}
|
|
4723
|
+
// Factory function for the purpose of node-based testing in modified global environments
|
|
4724
|
+
function factory(exports) {
|
|
4766
4725
|
|
|
4767
|
-
|
|
4768
|
-
|
|
4769
|
-
|
|
4770
|
-
function readFloat_ieee754(readUint, buf, pos) {
|
|
4771
|
-
var uint = readUint(buf, pos),
|
|
4772
|
-
sign = (uint >> 31) * 2 + 1,
|
|
4773
|
-
exponent = uint >>> 23 & 255,
|
|
4774
|
-
mantissa = uint & 8388607;
|
|
4775
|
-
return exponent === 255
|
|
4776
|
-
? mantissa
|
|
4777
|
-
? NaN
|
|
4778
|
-
: sign * Infinity
|
|
4779
|
-
: exponent === 0 // denormal
|
|
4780
|
-
? sign * 1.401298464324817e-45 * mantissa
|
|
4781
|
-
: sign * Math.pow(2, exponent - 150) * (mantissa + 8388608);
|
|
4782
|
-
}
|
|
4726
|
+
// float: typed array
|
|
4727
|
+
if (typeof Float32Array !== "undefined") (function() {
|
|
4783
4728
|
|
|
4784
|
-
|
|
4785
|
-
|
|
4729
|
+
var f32 = new Float32Array([ -0 ]),
|
|
4730
|
+
f8b = new Uint8Array(f32.buffer),
|
|
4731
|
+
le = f8b[3] === 128;
|
|
4786
4732
|
|
|
4787
|
-
|
|
4733
|
+
function writeFloat_f32_cpy(val, buf, pos) {
|
|
4734
|
+
f32[0] = val;
|
|
4735
|
+
buf[pos ] = f8b[0];
|
|
4736
|
+
buf[pos + 1] = f8b[1];
|
|
4737
|
+
buf[pos + 2] = f8b[2];
|
|
4738
|
+
buf[pos + 3] = f8b[3];
|
|
4739
|
+
}
|
|
4788
4740
|
|
|
4789
|
-
|
|
4790
|
-
|
|
4741
|
+
function writeFloat_f32_rev(val, buf, pos) {
|
|
4742
|
+
f32[0] = val;
|
|
4743
|
+
buf[pos ] = f8b[3];
|
|
4744
|
+
buf[pos + 1] = f8b[2];
|
|
4745
|
+
buf[pos + 2] = f8b[1];
|
|
4746
|
+
buf[pos + 3] = f8b[0];
|
|
4747
|
+
}
|
|
4791
4748
|
|
|
4792
|
-
|
|
4793
|
-
|
|
4794
|
-
|
|
4749
|
+
/* istanbul ignore next */
|
|
4750
|
+
exports.writeFloatLE = le ? writeFloat_f32_cpy : writeFloat_f32_rev;
|
|
4751
|
+
/* istanbul ignore next */
|
|
4752
|
+
exports.writeFloatBE = le ? writeFloat_f32_rev : writeFloat_f32_cpy;
|
|
4753
|
+
|
|
4754
|
+
function readFloat_f32_cpy(buf, pos) {
|
|
4755
|
+
f8b[0] = buf[pos ];
|
|
4756
|
+
f8b[1] = buf[pos + 1];
|
|
4757
|
+
f8b[2] = buf[pos + 2];
|
|
4758
|
+
f8b[3] = buf[pos + 3];
|
|
4759
|
+
return f32[0];
|
|
4760
|
+
}
|
|
4795
4761
|
|
|
4796
|
-
|
|
4797
|
-
|
|
4798
|
-
|
|
4799
|
-
|
|
4800
|
-
|
|
4801
|
-
|
|
4802
|
-
|
|
4803
|
-
buf[pos + 5] = f8b[5];
|
|
4804
|
-
buf[pos + 6] = f8b[6];
|
|
4805
|
-
buf[pos + 7] = f8b[7];
|
|
4806
|
-
}
|
|
4762
|
+
function readFloat_f32_rev(buf, pos) {
|
|
4763
|
+
f8b[3] = buf[pos ];
|
|
4764
|
+
f8b[2] = buf[pos + 1];
|
|
4765
|
+
f8b[1] = buf[pos + 2];
|
|
4766
|
+
f8b[0] = buf[pos + 3];
|
|
4767
|
+
return f32[0];
|
|
4768
|
+
}
|
|
4807
4769
|
|
|
4808
|
-
|
|
4809
|
-
|
|
4810
|
-
|
|
4811
|
-
|
|
4812
|
-
|
|
4813
|
-
|
|
4814
|
-
|
|
4815
|
-
|
|
4816
|
-
|
|
4817
|
-
|
|
4818
|
-
|
|
4770
|
+
/* istanbul ignore next */
|
|
4771
|
+
exports.readFloatLE = le ? readFloat_f32_cpy : readFloat_f32_rev;
|
|
4772
|
+
/* istanbul ignore next */
|
|
4773
|
+
exports.readFloatBE = le ? readFloat_f32_rev : readFloat_f32_cpy;
|
|
4774
|
+
|
|
4775
|
+
// float: ieee754
|
|
4776
|
+
})(); else (function() {
|
|
4777
|
+
|
|
4778
|
+
function writeFloat_ieee754(writeUint, val, buf, pos) {
|
|
4779
|
+
var sign = val < 0 ? 1 : 0;
|
|
4780
|
+
if (sign)
|
|
4781
|
+
val = -val;
|
|
4782
|
+
if (val === 0)
|
|
4783
|
+
writeUint(1 / val > 0 ? /* positive */ 0 : /* negative 0 */ 2147483648, buf, pos);
|
|
4784
|
+
else if (isNaN(val))
|
|
4785
|
+
writeUint(2143289344, buf, pos);
|
|
4786
|
+
else if (val > 3.4028234663852886e+38) // +-Infinity
|
|
4787
|
+
writeUint((sign << 31 | 2139095040) >>> 0, buf, pos);
|
|
4788
|
+
else if (val < 1.1754943508222875e-38) // denormal
|
|
4789
|
+
writeUint((sign << 31 | Math.round(val / 1.401298464324817e-45)) >>> 0, buf, pos);
|
|
4790
|
+
else {
|
|
4791
|
+
var exponent = Math.floor(Math.log(val) / Math.LN2),
|
|
4792
|
+
mantissa = Math.round(val * Math.pow(2, -exponent) * 8388608) & 8388607;
|
|
4793
|
+
writeUint((sign << 31 | exponent + 127 << 23 | mantissa) >>> 0, buf, pos);
|
|
4794
|
+
}
|
|
4795
|
+
}
|
|
4819
4796
|
|
|
4820
|
-
|
|
4821
|
-
|
|
4822
|
-
|
|
4823
|
-
|
|
4824
|
-
|
|
4825
|
-
|
|
4826
|
-
|
|
4827
|
-
|
|
4828
|
-
|
|
4829
|
-
|
|
4830
|
-
|
|
4831
|
-
|
|
4832
|
-
|
|
4833
|
-
|
|
4834
|
-
|
|
4835
|
-
|
|
4797
|
+
exports.writeFloatLE = writeFloat_ieee754.bind(null, writeUintLE);
|
|
4798
|
+
exports.writeFloatBE = writeFloat_ieee754.bind(null, writeUintBE);
|
|
4799
|
+
|
|
4800
|
+
function readFloat_ieee754(readUint, buf, pos) {
|
|
4801
|
+
var uint = readUint(buf, pos),
|
|
4802
|
+
sign = (uint >> 31) * 2 + 1,
|
|
4803
|
+
exponent = uint >>> 23 & 255,
|
|
4804
|
+
mantissa = uint & 8388607;
|
|
4805
|
+
return exponent === 255
|
|
4806
|
+
? mantissa
|
|
4807
|
+
? NaN
|
|
4808
|
+
: sign * Infinity
|
|
4809
|
+
: exponent === 0 // denormal
|
|
4810
|
+
? sign * 1.401298464324817e-45 * mantissa
|
|
4811
|
+
: sign * Math.pow(2, exponent - 150) * (mantissa + 8388608);
|
|
4812
|
+
}
|
|
4836
4813
|
|
|
4837
|
-
|
|
4838
|
-
|
|
4839
|
-
f8b[6] = buf[pos + 1];
|
|
4840
|
-
f8b[5] = buf[pos + 2];
|
|
4841
|
-
f8b[4] = buf[pos + 3];
|
|
4842
|
-
f8b[3] = buf[pos + 4];
|
|
4843
|
-
f8b[2] = buf[pos + 5];
|
|
4844
|
-
f8b[1] = buf[pos + 6];
|
|
4845
|
-
f8b[0] = buf[pos + 7];
|
|
4846
|
-
return f64[0];
|
|
4847
|
-
}
|
|
4814
|
+
exports.readFloatLE = readFloat_ieee754.bind(null, readUintLE);
|
|
4815
|
+
exports.readFloatBE = readFloat_ieee754.bind(null, readUintBE);
|
|
4848
4816
|
|
|
4849
|
-
|
|
4850
|
-
exports.readDoubleLE = le ? readDouble_f64_cpy : readDouble_f64_rev;
|
|
4851
|
-
/* istanbul ignore next */
|
|
4852
|
-
exports.readDoubleBE = le ? readDouble_f64_rev : readDouble_f64_cpy;
|
|
4853
|
-
|
|
4854
|
-
// double: ieee754
|
|
4855
|
-
})(); else (function() {
|
|
4856
|
-
|
|
4857
|
-
function writeDouble_ieee754(writeUint, off0, off1, val, buf, pos) {
|
|
4858
|
-
var sign = val < 0 ? 1 : 0;
|
|
4859
|
-
if (sign)
|
|
4860
|
-
val = -val;
|
|
4861
|
-
if (val === 0) {
|
|
4862
|
-
writeUint(0, buf, pos + off0);
|
|
4863
|
-
writeUint(1 / val > 0 ? /* positive */ 0 : /* negative 0 */ 2147483648, buf, pos + off1);
|
|
4864
|
-
} else if (isNaN(val)) {
|
|
4865
|
-
writeUint(0, buf, pos + off0);
|
|
4866
|
-
writeUint(2146959360, buf, pos + off1);
|
|
4867
|
-
} else if (val > 1.7976931348623157e+308) { // +-Infinity
|
|
4868
|
-
writeUint(0, buf, pos + off0);
|
|
4869
|
-
writeUint((sign << 31 | 2146435072) >>> 0, buf, pos + off1);
|
|
4870
|
-
} else {
|
|
4871
|
-
var mantissa;
|
|
4872
|
-
if (val < 2.2250738585072014e-308) { // denormal
|
|
4873
|
-
mantissa = val / 5e-324;
|
|
4874
|
-
writeUint(mantissa >>> 0, buf, pos + off0);
|
|
4875
|
-
writeUint((sign << 31 | mantissa / 4294967296) >>> 0, buf, pos + off1);
|
|
4876
|
-
} else {
|
|
4877
|
-
var exponent = Math.floor(Math.log(val) / Math.LN2);
|
|
4878
|
-
if (exponent === 1024)
|
|
4879
|
-
exponent = 1023;
|
|
4880
|
-
mantissa = val * Math.pow(2, -exponent);
|
|
4881
|
-
writeUint(mantissa * 4503599627370496 >>> 0, buf, pos + off0);
|
|
4882
|
-
writeUint((sign << 31 | exponent + 1023 << 20 | mantissa * 1048576 & 1048575) >>> 0, buf, pos + off1);
|
|
4883
|
-
}
|
|
4884
|
-
}
|
|
4885
|
-
}
|
|
4817
|
+
})();
|
|
4886
4818
|
|
|
4887
|
-
|
|
4888
|
-
|
|
4889
|
-
|
|
4890
|
-
function readDouble_ieee754(readUint, off0, off1, buf, pos) {
|
|
4891
|
-
var lo = readUint(buf, pos + off0),
|
|
4892
|
-
hi = readUint(buf, pos + off1);
|
|
4893
|
-
var sign = (hi >> 31) * 2 + 1,
|
|
4894
|
-
exponent = hi >>> 20 & 2047,
|
|
4895
|
-
mantissa = 4294967296 * (hi & 1048575) + lo;
|
|
4896
|
-
return exponent === 2047
|
|
4897
|
-
? mantissa
|
|
4898
|
-
? NaN
|
|
4899
|
-
: sign * Infinity
|
|
4900
|
-
: exponent === 0 // denormal
|
|
4901
|
-
? sign * 5e-324 * mantissa
|
|
4902
|
-
: sign * Math.pow(2, exponent - 1075) * (mantissa + 4503599627370496);
|
|
4903
|
-
}
|
|
4819
|
+
// double: typed array
|
|
4820
|
+
if (typeof Float64Array !== "undefined") (function() {
|
|
4904
4821
|
|
|
4905
|
-
|
|
4906
|
-
|
|
4822
|
+
var f64 = new Float64Array([-0]),
|
|
4823
|
+
f8b = new Uint8Array(f64.buffer),
|
|
4824
|
+
le = f8b[7] === 128;
|
|
4907
4825
|
|
|
4908
|
-
|
|
4826
|
+
function writeDouble_f64_cpy(val, buf, pos) {
|
|
4827
|
+
f64[0] = val;
|
|
4828
|
+
buf[pos ] = f8b[0];
|
|
4829
|
+
buf[pos + 1] = f8b[1];
|
|
4830
|
+
buf[pos + 2] = f8b[2];
|
|
4831
|
+
buf[pos + 3] = f8b[3];
|
|
4832
|
+
buf[pos + 4] = f8b[4];
|
|
4833
|
+
buf[pos + 5] = f8b[5];
|
|
4834
|
+
buf[pos + 6] = f8b[6];
|
|
4835
|
+
buf[pos + 7] = f8b[7];
|
|
4836
|
+
}
|
|
4909
4837
|
|
|
4910
|
-
|
|
4911
|
-
|
|
4838
|
+
function writeDouble_f64_rev(val, buf, pos) {
|
|
4839
|
+
f64[0] = val;
|
|
4840
|
+
buf[pos ] = f8b[7];
|
|
4841
|
+
buf[pos + 1] = f8b[6];
|
|
4842
|
+
buf[pos + 2] = f8b[5];
|
|
4843
|
+
buf[pos + 3] = f8b[4];
|
|
4844
|
+
buf[pos + 4] = f8b[3];
|
|
4845
|
+
buf[pos + 5] = f8b[2];
|
|
4846
|
+
buf[pos + 6] = f8b[1];
|
|
4847
|
+
buf[pos + 7] = f8b[0];
|
|
4848
|
+
}
|
|
4912
4849
|
|
|
4913
|
-
|
|
4850
|
+
/* istanbul ignore next */
|
|
4851
|
+
exports.writeDoubleLE = le ? writeDouble_f64_cpy : writeDouble_f64_rev;
|
|
4852
|
+
/* istanbul ignore next */
|
|
4853
|
+
exports.writeDoubleBE = le ? writeDouble_f64_rev : writeDouble_f64_cpy;
|
|
4854
|
+
|
|
4855
|
+
function readDouble_f64_cpy(buf, pos) {
|
|
4856
|
+
f8b[0] = buf[pos ];
|
|
4857
|
+
f8b[1] = buf[pos + 1];
|
|
4858
|
+
f8b[2] = buf[pos + 2];
|
|
4859
|
+
f8b[3] = buf[pos + 3];
|
|
4860
|
+
f8b[4] = buf[pos + 4];
|
|
4861
|
+
f8b[5] = buf[pos + 5];
|
|
4862
|
+
f8b[6] = buf[pos + 6];
|
|
4863
|
+
f8b[7] = buf[pos + 7];
|
|
4864
|
+
return f64[0];
|
|
4865
|
+
}
|
|
4914
4866
|
|
|
4915
|
-
function
|
|
4916
|
-
|
|
4917
|
-
|
|
4918
|
-
|
|
4919
|
-
|
|
4920
|
-
|
|
4867
|
+
function readDouble_f64_rev(buf, pos) {
|
|
4868
|
+
f8b[7] = buf[pos ];
|
|
4869
|
+
f8b[6] = buf[pos + 1];
|
|
4870
|
+
f8b[5] = buf[pos + 2];
|
|
4871
|
+
f8b[4] = buf[pos + 3];
|
|
4872
|
+
f8b[3] = buf[pos + 4];
|
|
4873
|
+
f8b[2] = buf[pos + 5];
|
|
4874
|
+
f8b[1] = buf[pos + 6];
|
|
4875
|
+
f8b[0] = buf[pos + 7];
|
|
4876
|
+
return f64[0];
|
|
4877
|
+
}
|
|
4921
4878
|
|
|
4922
|
-
|
|
4923
|
-
|
|
4924
|
-
|
|
4925
|
-
|
|
4926
|
-
|
|
4927
|
-
|
|
4879
|
+
/* istanbul ignore next */
|
|
4880
|
+
exports.readDoubleLE = le ? readDouble_f64_cpy : readDouble_f64_rev;
|
|
4881
|
+
/* istanbul ignore next */
|
|
4882
|
+
exports.readDoubleBE = le ? readDouble_f64_rev : readDouble_f64_cpy;
|
|
4883
|
+
|
|
4884
|
+
// double: ieee754
|
|
4885
|
+
})(); else (function() {
|
|
4886
|
+
|
|
4887
|
+
function writeDouble_ieee754(writeUint, off0, off1, val, buf, pos) {
|
|
4888
|
+
var sign = val < 0 ? 1 : 0;
|
|
4889
|
+
if (sign)
|
|
4890
|
+
val = -val;
|
|
4891
|
+
if (val === 0) {
|
|
4892
|
+
writeUint(0, buf, pos + off0);
|
|
4893
|
+
writeUint(1 / val > 0 ? /* positive */ 0 : /* negative 0 */ 2147483648, buf, pos + off1);
|
|
4894
|
+
} else if (isNaN(val)) {
|
|
4895
|
+
writeUint(0, buf, pos + off0);
|
|
4896
|
+
writeUint(2146959360, buf, pos + off1);
|
|
4897
|
+
} else if (val > 1.7976931348623157e+308) { // +-Infinity
|
|
4898
|
+
writeUint(0, buf, pos + off0);
|
|
4899
|
+
writeUint((sign << 31 | 2146435072) >>> 0, buf, pos + off1);
|
|
4900
|
+
} else {
|
|
4901
|
+
var mantissa;
|
|
4902
|
+
if (val < 2.2250738585072014e-308) { // denormal
|
|
4903
|
+
mantissa = val / 5e-324;
|
|
4904
|
+
writeUint(mantissa >>> 0, buf, pos + off0);
|
|
4905
|
+
writeUint((sign << 31 | mantissa / 4294967296) >>> 0, buf, pos + off1);
|
|
4906
|
+
} else {
|
|
4907
|
+
var exponent = Math.floor(Math.log(val) / Math.LN2);
|
|
4908
|
+
if (exponent === 1024)
|
|
4909
|
+
exponent = 1023;
|
|
4910
|
+
mantissa = val * Math.pow(2, -exponent);
|
|
4911
|
+
writeUint(mantissa * 4503599627370496 >>> 0, buf, pos + off0);
|
|
4912
|
+
writeUint((sign << 31 | exponent + 1023 << 20 | mantissa * 1048576 & 1048575) >>> 0, buf, pos + off1);
|
|
4913
|
+
}
|
|
4914
|
+
}
|
|
4915
|
+
}
|
|
4928
4916
|
|
|
4929
|
-
|
|
4930
|
-
|
|
4931
|
-
|
|
4932
|
-
|
|
4933
|
-
|
|
4934
|
-
|
|
4917
|
+
exports.writeDoubleLE = writeDouble_ieee754.bind(null, writeUintLE, 0, 4);
|
|
4918
|
+
exports.writeDoubleBE = writeDouble_ieee754.bind(null, writeUintBE, 4, 0);
|
|
4919
|
+
|
|
4920
|
+
function readDouble_ieee754(readUint, off0, off1, buf, pos) {
|
|
4921
|
+
var lo = readUint(buf, pos + off0),
|
|
4922
|
+
hi = readUint(buf, pos + off1);
|
|
4923
|
+
var sign = (hi >> 31) * 2 + 1,
|
|
4924
|
+
exponent = hi >>> 20 & 2047,
|
|
4925
|
+
mantissa = 4294967296 * (hi & 1048575) + lo;
|
|
4926
|
+
return exponent === 2047
|
|
4927
|
+
? mantissa
|
|
4928
|
+
? NaN
|
|
4929
|
+
: sign * Infinity
|
|
4930
|
+
: exponent === 0 // denormal
|
|
4931
|
+
? sign * 5e-324 * mantissa
|
|
4932
|
+
: sign * Math.pow(2, exponent - 1075) * (mantissa + 4503599627370496);
|
|
4933
|
+
}
|
|
4935
4934
|
|
|
4936
|
-
|
|
4937
|
-
|
|
4938
|
-
|
|
4939
|
-
|
|
4940
|
-
|
|
4935
|
+
exports.readDoubleLE = readDouble_ieee754.bind(null, readUintLE, 0, 4);
|
|
4936
|
+
exports.readDoubleBE = readDouble_ieee754.bind(null, readUintBE, 4, 0);
|
|
4937
|
+
|
|
4938
|
+
})();
|
|
4939
|
+
|
|
4940
|
+
return exports;
|
|
4941
|
+
}
|
|
4942
|
+
|
|
4943
|
+
// uint helpers
|
|
4944
|
+
|
|
4945
|
+
function writeUintLE(val, buf, pos) {
|
|
4946
|
+
buf[pos ] = val & 255;
|
|
4947
|
+
buf[pos + 1] = val >>> 8 & 255;
|
|
4948
|
+
buf[pos + 2] = val >>> 16 & 255;
|
|
4949
|
+
buf[pos + 3] = val >>> 24;
|
|
4950
|
+
}
|
|
4951
|
+
|
|
4952
|
+
function writeUintBE(val, buf, pos) {
|
|
4953
|
+
buf[pos ] = val >>> 24;
|
|
4954
|
+
buf[pos + 1] = val >>> 16 & 255;
|
|
4955
|
+
buf[pos + 2] = val >>> 8 & 255;
|
|
4956
|
+
buf[pos + 3] = val & 255;
|
|
4957
|
+
}
|
|
4958
|
+
|
|
4959
|
+
function readUintLE(buf, pos) {
|
|
4960
|
+
return (buf[pos ]
|
|
4961
|
+
| buf[pos + 1] << 8
|
|
4962
|
+
| buf[pos + 2] << 16
|
|
4963
|
+
| buf[pos + 3] << 24) >>> 0;
|
|
4964
|
+
}
|
|
4965
|
+
|
|
4966
|
+
function readUintBE(buf, pos) {
|
|
4967
|
+
return (buf[pos ] << 24
|
|
4968
|
+
| buf[pos + 1] << 16
|
|
4969
|
+
| buf[pos + 2] << 8
|
|
4970
|
+
| buf[pos + 3]) >>> 0;
|
|
4971
|
+
}
|
|
4972
|
+
return float;
|
|
4941
4973
|
}
|
|
4942
4974
|
|
|
4943
|
-
var inquire_1;
|
|
4944
|
-
var hasRequiredInquire;
|
|
4945
|
-
|
|
4946
|
-
function requireInquire () {
|
|
4947
|
-
if (hasRequiredInquire) return inquire_1;
|
|
4948
|
-
hasRequiredInquire = 1;
|
|
4949
|
-
inquire_1 = inquire;
|
|
4975
|
+
var inquire_1 = inquire;
|
|
4950
4976
|
|
|
4951
|
-
|
|
4952
|
-
|
|
4953
|
-
|
|
4954
|
-
|
|
4955
|
-
|
|
4956
|
-
|
|
4957
|
-
|
|
4958
|
-
|
|
4959
|
-
|
|
4960
|
-
|
|
4961
|
-
|
|
4962
|
-
|
|
4963
|
-
|
|
4964
|
-
}
|
|
4965
|
-
return inquire_1;
|
|
4977
|
+
/**
|
|
4978
|
+
* Requires a module only if available.
|
|
4979
|
+
* @memberof util
|
|
4980
|
+
* @param {string} moduleName Module to require
|
|
4981
|
+
* @returns {?Object} Required module if available and not empty, otherwise `null`
|
|
4982
|
+
*/
|
|
4983
|
+
function inquire(moduleName) {
|
|
4984
|
+
try {
|
|
4985
|
+
var mod = eval("quire".replace(/^/,"re"))(moduleName); // eslint-disable-line no-eval
|
|
4986
|
+
if (mod && (mod.length || Object.keys(mod).length))
|
|
4987
|
+
return mod;
|
|
4988
|
+
} catch (e) {} // eslint-disable-line no-empty
|
|
4989
|
+
return null;
|
|
4966
4990
|
}
|
|
4967
4991
|
|
|
4968
4992
|
var utf8$2 = {};
|
|
4969
4993
|
|
|
4970
|
-
|
|
4994
|
+
var hasRequiredUtf8;
|
|
4995
|
+
|
|
4996
|
+
function requireUtf8 () {
|
|
4997
|
+
if (hasRequiredUtf8) return utf8$2;
|
|
4998
|
+
hasRequiredUtf8 = 1;
|
|
4999
|
+
(function (exports) {
|
|
4971
5000
|
|
|
4972
|
-
|
|
4973
|
-
|
|
4974
|
-
|
|
4975
|
-
|
|
4976
|
-
|
|
4977
|
-
|
|
5001
|
+
/**
|
|
5002
|
+
* A minimal UTF8 implementation for number arrays.
|
|
5003
|
+
* @memberof util
|
|
5004
|
+
* @namespace
|
|
5005
|
+
*/
|
|
5006
|
+
var utf8 = exports;
|
|
5007
|
+
|
|
5008
|
+
/**
|
|
5009
|
+
* Calculates the UTF8 byte length of a string.
|
|
5010
|
+
* @param {string} string String
|
|
5011
|
+
* @returns {number} Byte length
|
|
5012
|
+
*/
|
|
5013
|
+
utf8.length = function utf8_length(string) {
|
|
5014
|
+
var len = 0,
|
|
5015
|
+
c = 0;
|
|
5016
|
+
for (var i = 0; i < string.length; ++i) {
|
|
5017
|
+
c = string.charCodeAt(i);
|
|
5018
|
+
if (c < 128)
|
|
5019
|
+
len += 1;
|
|
5020
|
+
else if (c < 2048)
|
|
5021
|
+
len += 2;
|
|
5022
|
+
else if ((c & 0xFC00) === 0xD800 && (string.charCodeAt(i + 1) & 0xFC00) === 0xDC00) {
|
|
5023
|
+
++i;
|
|
5024
|
+
len += 4;
|
|
5025
|
+
} else
|
|
5026
|
+
len += 3;
|
|
5027
|
+
}
|
|
5028
|
+
return len;
|
|
5029
|
+
};
|
|
5030
|
+
|
|
5031
|
+
/**
|
|
5032
|
+
* Reads UTF8 bytes as a string.
|
|
5033
|
+
* @param {Uint8Array} buffer Source buffer
|
|
5034
|
+
* @param {number} start Source start
|
|
5035
|
+
* @param {number} end Source end
|
|
5036
|
+
* @returns {string} String read
|
|
5037
|
+
*/
|
|
5038
|
+
utf8.read = function utf8_read(buffer, start, end) {
|
|
5039
|
+
var len = end - start;
|
|
5040
|
+
if (len < 1)
|
|
5041
|
+
return "";
|
|
5042
|
+
var parts = null,
|
|
5043
|
+
chunk = [],
|
|
5044
|
+
i = 0, // char offset
|
|
5045
|
+
t; // temporary
|
|
5046
|
+
while (start < end) {
|
|
5047
|
+
t = buffer[start++];
|
|
5048
|
+
if (t < 128)
|
|
5049
|
+
chunk[i++] = t;
|
|
5050
|
+
else if (t > 191 && t < 224)
|
|
5051
|
+
chunk[i++] = (t & 31) << 6 | buffer[start++] & 63;
|
|
5052
|
+
else if (t > 239 && t < 365) {
|
|
5053
|
+
t = ((t & 7) << 18 | (buffer[start++] & 63) << 12 | (buffer[start++] & 63) << 6 | buffer[start++] & 63) - 0x10000;
|
|
5054
|
+
chunk[i++] = 0xD800 + (t >> 10);
|
|
5055
|
+
chunk[i++] = 0xDC00 + (t & 1023);
|
|
5056
|
+
} else
|
|
5057
|
+
chunk[i++] = (t & 15) << 12 | (buffer[start++] & 63) << 6 | buffer[start++] & 63;
|
|
5058
|
+
if (i > 8191) {
|
|
5059
|
+
(parts || (parts = [])).push(String.fromCharCode.apply(String, chunk));
|
|
5060
|
+
i = 0;
|
|
5061
|
+
}
|
|
5062
|
+
}
|
|
5063
|
+
if (parts) {
|
|
5064
|
+
if (i)
|
|
5065
|
+
parts.push(String.fromCharCode.apply(String, chunk.slice(0, i)));
|
|
5066
|
+
return parts.join("");
|
|
5067
|
+
}
|
|
5068
|
+
return String.fromCharCode.apply(String, chunk.slice(0, i));
|
|
5069
|
+
};
|
|
5070
|
+
|
|
5071
|
+
/**
|
|
5072
|
+
* Writes a string as UTF8 bytes.
|
|
5073
|
+
* @param {string} string Source string
|
|
5074
|
+
* @param {Uint8Array} buffer Destination buffer
|
|
5075
|
+
* @param {number} offset Destination offset
|
|
5076
|
+
* @returns {number} Bytes written
|
|
5077
|
+
*/
|
|
5078
|
+
utf8.write = function utf8_write(string, buffer, offset) {
|
|
5079
|
+
var start = offset,
|
|
5080
|
+
c1, // character 1
|
|
5081
|
+
c2; // character 2
|
|
5082
|
+
for (var i = 0; i < string.length; ++i) {
|
|
5083
|
+
c1 = string.charCodeAt(i);
|
|
5084
|
+
if (c1 < 128) {
|
|
5085
|
+
buffer[offset++] = c1;
|
|
5086
|
+
} else if (c1 < 2048) {
|
|
5087
|
+
buffer[offset++] = c1 >> 6 | 192;
|
|
5088
|
+
buffer[offset++] = c1 & 63 | 128;
|
|
5089
|
+
} else if ((c1 & 0xFC00) === 0xD800 && ((c2 = string.charCodeAt(i + 1)) & 0xFC00) === 0xDC00) {
|
|
5090
|
+
c1 = 0x10000 + ((c1 & 0x03FF) << 10) + (c2 & 0x03FF);
|
|
5091
|
+
++i;
|
|
5092
|
+
buffer[offset++] = c1 >> 18 | 240;
|
|
5093
|
+
buffer[offset++] = c1 >> 12 & 63 | 128;
|
|
5094
|
+
buffer[offset++] = c1 >> 6 & 63 | 128;
|
|
5095
|
+
buffer[offset++] = c1 & 63 | 128;
|
|
5096
|
+
} else {
|
|
5097
|
+
buffer[offset++] = c1 >> 12 | 224;
|
|
5098
|
+
buffer[offset++] = c1 >> 6 & 63 | 128;
|
|
5099
|
+
buffer[offset++] = c1 & 63 | 128;
|
|
5100
|
+
}
|
|
5101
|
+
}
|
|
5102
|
+
return offset - start;
|
|
5103
|
+
};
|
|
5104
|
+
} (utf8$2));
|
|
5105
|
+
return utf8$2;
|
|
5106
|
+
}
|
|
5107
|
+
|
|
5108
|
+
var pool_1;
|
|
5109
|
+
var hasRequiredPool;
|
|
5110
|
+
|
|
5111
|
+
function requirePool () {
|
|
5112
|
+
if (hasRequiredPool) return pool_1;
|
|
5113
|
+
hasRequiredPool = 1;
|
|
5114
|
+
pool_1 = pool;
|
|
4978
5115
|
|
|
4979
5116
|
/**
|
|
4980
|
-
*
|
|
4981
|
-
* @
|
|
4982
|
-
* @
|
|
5117
|
+
* An allocator as used by {@link util.pool}.
|
|
5118
|
+
* @typedef PoolAllocator
|
|
5119
|
+
* @type {function}
|
|
5120
|
+
* @param {number} size Buffer size
|
|
5121
|
+
* @returns {Uint8Array} Buffer
|
|
4983
5122
|
*/
|
|
4984
|
-
utf8.length = function utf8_length(string) {
|
|
4985
|
-
var len = 0,
|
|
4986
|
-
c = 0;
|
|
4987
|
-
for (var i = 0; i < string.length; ++i) {
|
|
4988
|
-
c = string.charCodeAt(i);
|
|
4989
|
-
if (c < 128)
|
|
4990
|
-
len += 1;
|
|
4991
|
-
else if (c < 2048)
|
|
4992
|
-
len += 2;
|
|
4993
|
-
else if ((c & 0xFC00) === 0xD800 && (string.charCodeAt(i + 1) & 0xFC00) === 0xDC00) {
|
|
4994
|
-
++i;
|
|
4995
|
-
len += 4;
|
|
4996
|
-
} else
|
|
4997
|
-
len += 3;
|
|
4998
|
-
}
|
|
4999
|
-
return len;
|
|
5000
|
-
};
|
|
5001
5123
|
|
|
5002
5124
|
/**
|
|
5003
|
-
*
|
|
5004
|
-
* @
|
|
5005
|
-
* @
|
|
5006
|
-
* @param {number}
|
|
5007
|
-
* @
|
|
5125
|
+
* A slicer as used by {@link util.pool}.
|
|
5126
|
+
* @typedef PoolSlicer
|
|
5127
|
+
* @type {function}
|
|
5128
|
+
* @param {number} start Start offset
|
|
5129
|
+
* @param {number} end End offset
|
|
5130
|
+
* @returns {Uint8Array} Buffer slice
|
|
5131
|
+
* @this {Uint8Array}
|
|
5008
5132
|
*/
|
|
5009
|
-
utf8.read = function utf8_read(buffer, start, end) {
|
|
5010
|
-
var len = end - start;
|
|
5011
|
-
if (len < 1)
|
|
5012
|
-
return "";
|
|
5013
|
-
var parts = null,
|
|
5014
|
-
chunk = [],
|
|
5015
|
-
i = 0, // char offset
|
|
5016
|
-
t; // temporary
|
|
5017
|
-
while (start < end) {
|
|
5018
|
-
t = buffer[start++];
|
|
5019
|
-
if (t < 128)
|
|
5020
|
-
chunk[i++] = t;
|
|
5021
|
-
else if (t > 191 && t < 224)
|
|
5022
|
-
chunk[i++] = (t & 31) << 6 | buffer[start++] & 63;
|
|
5023
|
-
else if (t > 239 && t < 365) {
|
|
5024
|
-
t = ((t & 7) << 18 | (buffer[start++] & 63) << 12 | (buffer[start++] & 63) << 6 | buffer[start++] & 63) - 0x10000;
|
|
5025
|
-
chunk[i++] = 0xD800 + (t >> 10);
|
|
5026
|
-
chunk[i++] = 0xDC00 + (t & 1023);
|
|
5027
|
-
} else
|
|
5028
|
-
chunk[i++] = (t & 15) << 12 | (buffer[start++] & 63) << 6 | buffer[start++] & 63;
|
|
5029
|
-
if (i > 8191) {
|
|
5030
|
-
(parts || (parts = [])).push(String.fromCharCode.apply(String, chunk));
|
|
5031
|
-
i = 0;
|
|
5032
|
-
}
|
|
5033
|
-
}
|
|
5034
|
-
if (parts) {
|
|
5035
|
-
if (i)
|
|
5036
|
-
parts.push(String.fromCharCode.apply(String, chunk.slice(0, i)));
|
|
5037
|
-
return parts.join("");
|
|
5038
|
-
}
|
|
5039
|
-
return String.fromCharCode.apply(String, chunk.slice(0, i));
|
|
5040
|
-
};
|
|
5041
5133
|
|
|
5042
5134
|
/**
|
|
5043
|
-
*
|
|
5044
|
-
* @
|
|
5045
|
-
* @
|
|
5046
|
-
* @param {
|
|
5047
|
-
* @
|
|
5135
|
+
* A general purpose buffer pool.
|
|
5136
|
+
* @memberof util
|
|
5137
|
+
* @function
|
|
5138
|
+
* @param {PoolAllocator} alloc Allocator
|
|
5139
|
+
* @param {PoolSlicer} slice Slicer
|
|
5140
|
+
* @param {number} [size=8192] Slab size
|
|
5141
|
+
* @returns {PoolAllocator} Pooled allocator
|
|
5048
5142
|
*/
|
|
5049
|
-
|
|
5050
|
-
var
|
|
5051
|
-
|
|
5052
|
-
|
|
5053
|
-
|
|
5054
|
-
|
|
5055
|
-
if (
|
|
5056
|
-
|
|
5057
|
-
|
|
5058
|
-
|
|
5059
|
-
|
|
5060
|
-
} else if ((c1 & 0xFC00) === 0xD800 && ((c2 = string.charCodeAt(i + 1)) & 0xFC00) === 0xDC00) {
|
|
5061
|
-
c1 = 0x10000 + ((c1 & 0x03FF) << 10) + (c2 & 0x03FF);
|
|
5062
|
-
++i;
|
|
5063
|
-
buffer[offset++] = c1 >> 18 | 240;
|
|
5064
|
-
buffer[offset++] = c1 >> 12 & 63 | 128;
|
|
5065
|
-
buffer[offset++] = c1 >> 6 & 63 | 128;
|
|
5066
|
-
buffer[offset++] = c1 & 63 | 128;
|
|
5067
|
-
} else {
|
|
5068
|
-
buffer[offset++] = c1 >> 12 | 224;
|
|
5069
|
-
buffer[offset++] = c1 >> 6 & 63 | 128;
|
|
5070
|
-
buffer[offset++] = c1 & 63 | 128;
|
|
5143
|
+
function pool(alloc, slice, size) {
|
|
5144
|
+
var SIZE = size || 8192;
|
|
5145
|
+
var MAX = SIZE >>> 1;
|
|
5146
|
+
var slab = null;
|
|
5147
|
+
var offset = SIZE;
|
|
5148
|
+
return function pool_alloc(size) {
|
|
5149
|
+
if (size < 1 || size > MAX)
|
|
5150
|
+
return alloc(size);
|
|
5151
|
+
if (offset + size > SIZE) {
|
|
5152
|
+
slab = alloc(SIZE);
|
|
5153
|
+
offset = 0;
|
|
5071
5154
|
}
|
|
5072
|
-
|
|
5073
|
-
|
|
5074
|
-
|
|
5075
|
-
|
|
5076
|
-
|
|
5077
|
-
|
|
5078
|
-
|
|
5079
|
-
/**
|
|
5080
|
-
* An allocator as used by {@link util.pool}.
|
|
5081
|
-
* @typedef PoolAllocator
|
|
5082
|
-
* @type {function}
|
|
5083
|
-
* @param {number} size Buffer size
|
|
5084
|
-
* @returns {Uint8Array} Buffer
|
|
5085
|
-
*/
|
|
5086
|
-
|
|
5087
|
-
/**
|
|
5088
|
-
* A slicer as used by {@link util.pool}.
|
|
5089
|
-
* @typedef PoolSlicer
|
|
5090
|
-
* @type {function}
|
|
5091
|
-
* @param {number} start Start offset
|
|
5092
|
-
* @param {number} end End offset
|
|
5093
|
-
* @returns {Uint8Array} Buffer slice
|
|
5094
|
-
* @this {Uint8Array}
|
|
5095
|
-
*/
|
|
5096
|
-
|
|
5097
|
-
/**
|
|
5098
|
-
* A general purpose buffer pool.
|
|
5099
|
-
* @memberof util
|
|
5100
|
-
* @function
|
|
5101
|
-
* @param {PoolAllocator} alloc Allocator
|
|
5102
|
-
* @param {PoolSlicer} slice Slicer
|
|
5103
|
-
* @param {number} [size=8192] Slab size
|
|
5104
|
-
* @returns {PoolAllocator} Pooled allocator
|
|
5105
|
-
*/
|
|
5106
|
-
function pool(alloc, slice, size) {
|
|
5107
|
-
var SIZE = size || 8192;
|
|
5108
|
-
var MAX = SIZE >>> 1;
|
|
5109
|
-
var slab = null;
|
|
5110
|
-
var offset = SIZE;
|
|
5111
|
-
return function pool_alloc(size) {
|
|
5112
|
-
if (size < 1 || size > MAX)
|
|
5113
|
-
return alloc(size);
|
|
5114
|
-
if (offset + size > SIZE) {
|
|
5115
|
-
slab = alloc(SIZE);
|
|
5116
|
-
offset = 0;
|
|
5117
|
-
}
|
|
5118
|
-
var buf = slice.call(slab, offset, offset += size);
|
|
5119
|
-
if (offset & 7) // align to 32 bit
|
|
5120
|
-
offset = (offset | 7) + 1;
|
|
5121
|
-
return buf;
|
|
5122
|
-
};
|
|
5155
|
+
var buf = slice.call(slab, offset, offset += size);
|
|
5156
|
+
if (offset & 7) // align to 32 bit
|
|
5157
|
+
offset = (offset | 7) + 1;
|
|
5158
|
+
return buf;
|
|
5159
|
+
};
|
|
5160
|
+
}
|
|
5161
|
+
return pool_1;
|
|
5123
5162
|
}
|
|
5124
5163
|
|
|
5125
5164
|
var longbits;
|
|
@@ -5339,25 +5378,25 @@ function requireMinimal () {
|
|
|
5339
5378
|
var util = exports;
|
|
5340
5379
|
|
|
5341
5380
|
// used to return a Promise where callback is omitted
|
|
5342
|
-
util.asPromise =
|
|
5381
|
+
util.asPromise = requireAspromise();
|
|
5343
5382
|
|
|
5344
5383
|
// converts to / from base64 encoded strings
|
|
5345
|
-
util.base64 =
|
|
5384
|
+
util.base64 = requireBase64();
|
|
5346
5385
|
|
|
5347
5386
|
// base class of rpc.Service
|
|
5348
|
-
util.EventEmitter =
|
|
5387
|
+
util.EventEmitter = requireEventemitter();
|
|
5349
5388
|
|
|
5350
5389
|
// float handling accross browsers
|
|
5351
|
-
util.float =
|
|
5390
|
+
util.float = requireFloat();
|
|
5352
5391
|
|
|
5353
5392
|
// requires modules optionally and hides the call from bundlers
|
|
5354
|
-
util.inquire =
|
|
5393
|
+
util.inquire = inquire_1;
|
|
5355
5394
|
|
|
5356
5395
|
// converts to / from utf8 encoded strings
|
|
5357
|
-
util.utf8 =
|
|
5396
|
+
util.utf8 = requireUtf8();
|
|
5358
5397
|
|
|
5359
5398
|
// provides a node-like buffer pool in the browser
|
|
5360
|
-
util.pool =
|
|
5399
|
+
util.pool = requirePool();
|
|
5361
5400
|
|
|
5362
5401
|
// utility to work with the low and high bits of a 64 bit value
|
|
5363
5402
|
util.LongBits = requireLongbits();
|
|
@@ -9798,14 +9837,14 @@ const getDepositTxDataFromLogs = (logs, address, senderAsset, receiverAsset) =>
|
|
|
9798
9837
|
if (type === 'transfer') {
|
|
9799
9838
|
return attributes.reduce((acc2, { key, value }, index) => {
|
|
9800
9839
|
if (index % 3 === 0)
|
|
9801
|
-
acc2.push({ sender: '', recipient: '', amount: baseAmount(0,
|
|
9840
|
+
acc2.push({ sender: '', recipient: '', amount: baseAmount(0, RUNE_DECIMAL) });
|
|
9802
9841
|
const newData = acc2[acc2.length - 1];
|
|
9803
9842
|
if (key === 'sender')
|
|
9804
9843
|
newData.sender = value;
|
|
9805
9844
|
if (key === 'recipient')
|
|
9806
9845
|
newData.recipient = value;
|
|
9807
9846
|
if (key === 'amount')
|
|
9808
|
-
newData.amount = baseAmount(value.replace(/rune/, ''),
|
|
9847
|
+
newData.amount = baseAmount(value.replace(/rune/, ''), RUNE_DECIMAL);
|
|
9809
9848
|
return acc2;
|
|
9810
9849
|
}, acc);
|
|
9811
9850
|
}
|
|
@@ -9824,7 +9863,7 @@ const getDepositTxDataFromLogs = (logs, address, senderAsset, receiverAsset) =>
|
|
|
9824
9863
|
* @returns {Fees} The default fee.
|
|
9825
9864
|
*/
|
|
9826
9865
|
const getDefaultFees = () => {
|
|
9827
|
-
const fee = assetToBase(assetAmount(0.02 /* 0.02 RUNE */,
|
|
9866
|
+
const fee = assetToBase(assetAmount(0.02 /* 0.02 RUNE */, RUNE_DECIMAL));
|
|
9828
9867
|
return singleFee(FeeType.FlatFee, fee);
|
|
9829
9868
|
};
|
|
9830
9869
|
/**
|
|
@@ -9978,7 +10017,7 @@ const getBalance = ({ address, assets, cosmosClient, }) => __awaiter(void 0, voi
|
|
|
9978
10017
|
return balances
|
|
9979
10018
|
.map((balance) => ({
|
|
9980
10019
|
asset: (balance.denom && assetFromDenom(balance.denom)) || AssetRuneNative,
|
|
9981
|
-
amount: baseAmount(balance.amount,
|
|
10020
|
+
amount: baseAmount(balance.amount, RUNE_DECIMAL),
|
|
9982
10021
|
}))
|
|
9983
10022
|
.filter((balance) => !assets || assets.filter((asset) => assetToString(balance.asset) === assetToString(asset)).length);
|
|
9984
10023
|
});
|
|
@@ -10323,6 +10362,17 @@ class Client extends BaseXChainClient {
|
|
|
10323
10362
|
return getBalance({ address, assets, cosmosClient: this.getCosmosClient() });
|
|
10324
10363
|
});
|
|
10325
10364
|
}
|
|
10365
|
+
/**
|
|
10366
|
+
*
|
|
10367
|
+
* @returns asset info
|
|
10368
|
+
*/
|
|
10369
|
+
getAssetInfo() {
|
|
10370
|
+
const assetInfo = {
|
|
10371
|
+
asset: AssetRuneNative,
|
|
10372
|
+
decimal: RUNE_DECIMAL,
|
|
10373
|
+
};
|
|
10374
|
+
return assetInfo;
|
|
10375
|
+
}
|
|
10326
10376
|
/**
|
|
10327
10377
|
* Get the transaction details of a given transaction id.
|
|
10328
10378
|
*
|
|
@@ -10417,7 +10467,7 @@ class Client extends BaseXChainClient {
|
|
|
10417
10467
|
asset = assetFromStringEx(getTx.observed_tx.tx.coins[0].asset);
|
|
10418
10468
|
amount = getTx.observed_tx.tx.coins[0].amount;
|
|
10419
10469
|
const addressTo = getTx.observed_tx.tx.to_address ? getTx.observed_tx.tx.to_address : 'undefined';
|
|
10420
|
-
const to = [{ to: addressTo, amount: baseAmount(amount,
|
|
10470
|
+
const to = [{ to: addressTo, amount: baseAmount(amount, RUNE_DECIMAL), asset: asset }];
|
|
10421
10471
|
const txData = {
|
|
10422
10472
|
hash: txId,
|
|
10423
10473
|
asset: senderAsset,
|
|
@@ -10433,7 +10483,7 @@ class Client extends BaseXChainClient {
|
|
|
10433
10483
|
amount = splitMemo[3];
|
|
10434
10484
|
const receiverAsset = asset;
|
|
10435
10485
|
const recieverAmount = amount;
|
|
10436
|
-
const to = [{ to: address, amount: baseAmount(recieverAmount,
|
|
10486
|
+
const to = [{ to: address, amount: baseAmount(recieverAmount, RUNE_DECIMAL), asset: receiverAsset }];
|
|
10437
10487
|
const txData = {
|
|
10438
10488
|
hash: txId,
|
|
10439
10489
|
asset: senderAsset,
|
|
@@ -10464,11 +10514,11 @@ class Client extends BaseXChainClient {
|
|
|
10464
10514
|
result.observed_tx.tx.coins.forEach((coin) => {
|
|
10465
10515
|
from.push({
|
|
10466
10516
|
from: result.observed_tx.tx.from_address,
|
|
10467
|
-
amount: baseAmount(coin.amount,
|
|
10517
|
+
amount: baseAmount(coin.amount, RUNE_DECIMAL),
|
|
10468
10518
|
});
|
|
10469
10519
|
to.push({
|
|
10470
10520
|
to: result.observed_tx.tx.to_address,
|
|
10471
|
-
amount: baseAmount(coin.amount,
|
|
10521
|
+
amount: baseAmount(coin.amount, RUNE_DECIMAL),
|
|
10472
10522
|
});
|
|
10473
10523
|
asset = assetFromString(coin.asset);
|
|
10474
10524
|
});
|
|
@@ -10494,8 +10544,8 @@ class Client extends BaseXChainClient {
|
|
|
10494
10544
|
var _a, _b, _c, _d;
|
|
10495
10545
|
return __awaiter(this, void 0, void 0, function* () {
|
|
10496
10546
|
const balances = yield this.getBalance(this.getAddress(walletIndex));
|
|
10497
|
-
const runeBalance = (_b = (_a = balances.filter(({ asset }) => isAssetRuneNative(asset))[0]) === null || _a === void 0 ? void 0 : _a.amount) !== null && _b !== void 0 ? _b : baseAmount(0,
|
|
10498
|
-
const assetBalance = (_d = (_c = balances.filter(({ asset: assetInList }) => assetToString(assetInList) === assetToString(asset))[0]) === null || _c === void 0 ? void 0 : _c.amount) !== null && _d !== void 0 ? _d : baseAmount(0,
|
|
10547
|
+
const runeBalance = (_b = (_a = balances.filter(({ asset }) => isAssetRuneNative(asset))[0]) === null || _a === void 0 ? void 0 : _a.amount) !== null && _b !== void 0 ? _b : baseAmount(0, RUNE_DECIMAL);
|
|
10548
|
+
const assetBalance = (_d = (_c = balances.filter(({ asset: assetInList }) => assetToString(assetInList) === assetToString(asset))[0]) === null || _c === void 0 ? void 0 : _c.amount) !== null && _d !== void 0 ? _d : baseAmount(0, RUNE_DECIMAL);
|
|
10499
10549
|
const { average: fee } = yield this.getFees();
|
|
10500
10550
|
if (isAssetRuneNative(asset)) {
|
|
10501
10551
|
// amount + fee < runeBalance
|
|
@@ -10557,8 +10607,8 @@ class Client extends BaseXChainClient {
|
|
|
10557
10607
|
var _a, _b, _c, _d;
|
|
10558
10608
|
return __awaiter(this, void 0, void 0, function* () {
|
|
10559
10609
|
const balances = yield this.getBalance(this.getAddress(walletIndex));
|
|
10560
|
-
const runeBalance = (_b = (_a = balances.filter(({ asset }) => isAssetRuneNative(asset))[0]) === null || _a === void 0 ? void 0 : _a.amount) !== null && _b !== void 0 ? _b : baseAmount(0,
|
|
10561
|
-
const assetBalance = (_d = (_c = balances.filter(({ asset: assetInList }) => assetToString(assetInList) === assetToString(asset))[0]) === null || _c === void 0 ? void 0 : _c.amount) !== null && _d !== void 0 ? _d : baseAmount(0,
|
|
10610
|
+
const runeBalance = (_b = (_a = balances.filter(({ asset }) => isAssetRuneNative(asset))[0]) === null || _a === void 0 ? void 0 : _a.amount) !== null && _b !== void 0 ? _b : baseAmount(0, RUNE_DECIMAL);
|
|
10611
|
+
const assetBalance = (_d = (_c = balances.filter(({ asset: assetInList }) => assetToString(assetInList) === assetToString(asset))[0]) === null || _c === void 0 ? void 0 : _c.amount) !== null && _d !== void 0 ? _d : baseAmount(0, RUNE_DECIMAL);
|
|
10562
10612
|
const fee = (yield this.getFees()).average;
|
|
10563
10613
|
if (isAssetRuneNative(asset)) {
|
|
10564
10614
|
// amount + fee < runeBalance
|
|
@@ -10614,7 +10664,7 @@ class Client extends BaseXChainClient {
|
|
|
10614
10664
|
* @param {TxOfflineParams} params The transfer offline options.
|
|
10615
10665
|
* @returns {string} The signed transaction bytes.
|
|
10616
10666
|
*/
|
|
10617
|
-
transferOffline({ walletIndex = 0, asset = AssetRuneNative, amount, recipient, memo, fromRuneBalance: from_rune_balance, fromAssetBalance: from_asset_balance = baseAmount(0,
|
|
10667
|
+
transferOffline({ walletIndex = 0, asset = AssetRuneNative, amount, recipient, memo, fromRuneBalance: from_rune_balance, fromAssetBalance: from_asset_balance = baseAmount(0, RUNE_DECIMAL), fromAccountNumber = Long$1.ZERO, fromSequence = Long$1.ZERO, gasLimit = new BigNumber(DEFAULT_GAS_LIMIT_VALUE), }) {
|
|
10618
10668
|
return __awaiter(this, void 0, void 0, function* () {
|
|
10619
10669
|
const fee = (yield this.getFees()).average;
|
|
10620
10670
|
if (isAssetRuneNative(asset)) {
|
|
@@ -10689,5 +10739,5 @@ const msgNativeTxFromJson = (value) => {
|
|
|
10689
10739
|
return new MsgNativeTx(value.coins, value.memo, cosmosclient.AccAddress.fromString(value.signer));
|
|
10690
10740
|
};
|
|
10691
10741
|
|
|
10692
|
-
export { AssetRune67C, AssetRuneB1A, AssetRuneERC20, AssetRuneERC20Testnet, AssetRuneNative, Client,
|
|
10742
|
+
export { AssetRune67C, AssetRuneB1A, AssetRuneERC20, AssetRuneERC20Testnet, AssetRuneNative, Client, DEFAULT_GAS_ADJUSTMENT, DEFAULT_GAS_LIMIT_VALUE, DEPOSIT_GAS_LIMIT_VALUE, MAX_PAGES_PER_FUNCTION_CALL, MAX_TX_COUNT_PER_FUNCTION_CALL, MAX_TX_COUNT_PER_PAGE, MsgNativeTx, RUNE_DECIMAL, RUNE_SYMBOL, THORChain, assetFromDenom, buildDepositTx, buildTransferTx, buildUnsignedTx, defaultExplorerUrls, getAccount, getBalance, getChainId, getDefaultFees, getDenom, getDepositTxDataFromLogs, getEstimatedGas, getExplorerAddressUrl, getExplorerTxUrl, getExplorerUrl, getPrefix, getSequence, getTxType, isAssetRuneNative, isBroadcastSuccess, msgNativeTxFromJson, registerDepositCodecs, registerSendCodecs };
|
|
10693
10743
|
//# sourceMappingURL=index.esm.js.map
|