@xchainjs/xchain-thorchain 0.28.8 → 0.28.10

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/index.esm.js CHANGED
@@ -4408,580 +4408,596 @@ function asPromise(fn, ctx/*, varargs */) {
4408
4408
 
4409
4409
  var base64$1 = {};
4410
4410
 
4411
- (function (exports) {
4411
+ var hasRequiredBase64;
4412
+
4413
+ function requireBase64 () {
4414
+ if (hasRequiredBase64) return base64$1;
4415
+ hasRequiredBase64 = 1;
4416
+ (function (exports) {
4412
4417
 
4413
- /**
4414
- * A minimal base64 implementation for number arrays.
4415
- * @memberof util
4416
- * @namespace
4417
- */
4418
- var base64 = exports;
4418
+ /**
4419
+ * A minimal base64 implementation for number arrays.
4420
+ * @memberof util
4421
+ * @namespace
4422
+ */
4423
+ var base64 = exports;
4419
4424
 
4420
- /**
4421
- * Calculates the byte length of a base64 encoded string.
4422
- * @param {string} string Base64 encoded string
4423
- * @returns {number} Byte length
4424
- */
4425
- base64.length = function length(string) {
4426
- var p = string.length;
4427
- if (!p)
4428
- return 0;
4429
- var n = 0;
4430
- while (--p % 4 > 1 && string.charAt(p) === "=")
4431
- ++n;
4432
- return Math.ceil(string.length * 3) / 4 - n;
4433
- };
4425
+ /**
4426
+ * Calculates the byte length of a base64 encoded string.
4427
+ * @param {string} string Base64 encoded string
4428
+ * @returns {number} Byte length
4429
+ */
4430
+ base64.length = function length(string) {
4431
+ var p = string.length;
4432
+ if (!p)
4433
+ return 0;
4434
+ var n = 0;
4435
+ while (--p % 4 > 1 && string.charAt(p) === "=")
4436
+ ++n;
4437
+ return Math.ceil(string.length * 3) / 4 - n;
4438
+ };
4434
4439
 
4435
- // Base64 encoding table
4436
- var b64 = new Array(64);
4440
+ // Base64 encoding table
4441
+ var b64 = new Array(64);
4437
4442
 
4438
- // Base64 decoding table
4439
- var s64 = new Array(123);
4443
+ // Base64 decoding table
4444
+ var s64 = new Array(123);
4440
4445
 
4441
- // 65..90, 97..122, 48..57, 43, 47
4442
- for (var i = 0; i < 64;)
4443
- s64[b64[i] = i < 26 ? i + 65 : i < 52 ? i + 71 : i < 62 ? i - 4 : i - 59 | 43] = i++;
4446
+ // 65..90, 97..122, 48..57, 43, 47
4447
+ for (var i = 0; i < 64;)
4448
+ s64[b64[i] = i < 26 ? i + 65 : i < 52 ? i + 71 : i < 62 ? i - 4 : i - 59 | 43] = i++;
4449
+
4450
+ /**
4451
+ * Encodes a buffer to a base64 encoded string.
4452
+ * @param {Uint8Array} buffer Source buffer
4453
+ * @param {number} start Source start
4454
+ * @param {number} end Source end
4455
+ * @returns {string} Base64 encoded string
4456
+ */
4457
+ base64.encode = function encode(buffer, start, end) {
4458
+ var parts = null,
4459
+ chunk = [];
4460
+ var i = 0, // output index
4461
+ j = 0, // goto index
4462
+ t; // temporary
4463
+ while (start < end) {
4464
+ var b = buffer[start++];
4465
+ switch (j) {
4466
+ case 0:
4467
+ chunk[i++] = b64[b >> 2];
4468
+ t = (b & 3) << 4;
4469
+ j = 1;
4470
+ break;
4471
+ case 1:
4472
+ chunk[i++] = b64[t | b >> 4];
4473
+ t = (b & 15) << 2;
4474
+ j = 2;
4475
+ break;
4476
+ case 2:
4477
+ chunk[i++] = b64[t | b >> 6];
4478
+ chunk[i++] = b64[b & 63];
4479
+ j = 0;
4480
+ break;
4481
+ }
4482
+ if (i > 8191) {
4483
+ (parts || (parts = [])).push(String.fromCharCode.apply(String, chunk));
4484
+ i = 0;
4485
+ }
4486
+ }
4487
+ if (j) {
4488
+ chunk[i++] = b64[t];
4489
+ chunk[i++] = 61;
4490
+ if (j === 1)
4491
+ chunk[i++] = 61;
4492
+ }
4493
+ if (parts) {
4494
+ if (i)
4495
+ parts.push(String.fromCharCode.apply(String, chunk.slice(0, i)));
4496
+ return parts.join("");
4497
+ }
4498
+ return String.fromCharCode.apply(String, chunk.slice(0, i));
4499
+ };
4500
+
4501
+ var invalidEncoding = "invalid encoding";
4502
+
4503
+ /**
4504
+ * Decodes a base64 encoded string to a buffer.
4505
+ * @param {string} string Source string
4506
+ * @param {Uint8Array} buffer Destination buffer
4507
+ * @param {number} offset Destination offset
4508
+ * @returns {number} Number of bytes written
4509
+ * @throws {Error} If encoding is invalid
4510
+ */
4511
+ base64.decode = function decode(string, buffer, offset) {
4512
+ var start = offset;
4513
+ var j = 0, // goto index
4514
+ t; // temporary
4515
+ for (var i = 0; i < string.length;) {
4516
+ var c = string.charCodeAt(i++);
4517
+ if (c === 61 && j > 1)
4518
+ break;
4519
+ if ((c = s64[c]) === undefined)
4520
+ throw Error(invalidEncoding);
4521
+ switch (j) {
4522
+ case 0:
4523
+ t = c;
4524
+ j = 1;
4525
+ break;
4526
+ case 1:
4527
+ buffer[offset++] = t << 2 | (c & 48) >> 4;
4528
+ t = c;
4529
+ j = 2;
4530
+ break;
4531
+ case 2:
4532
+ buffer[offset++] = (t & 15) << 4 | (c & 60) >> 2;
4533
+ t = c;
4534
+ j = 3;
4535
+ break;
4536
+ case 3:
4537
+ buffer[offset++] = (t & 3) << 6 | c;
4538
+ j = 0;
4539
+ break;
4540
+ }
4541
+ }
4542
+ if (j === 1)
4543
+ throw Error(invalidEncoding);
4544
+ return offset - start;
4545
+ };
4546
+
4547
+ /**
4548
+ * Tests if the specified string appears to be base64 encoded.
4549
+ * @param {string} string String to test
4550
+ * @returns {boolean} `true` if probably base64 encoded, otherwise false
4551
+ */
4552
+ base64.test = function test(string) {
4553
+ return /^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(string);
4554
+ };
4555
+ } (base64$1));
4556
+ return base64$1;
4557
+ }
4558
+
4559
+ var eventemitter;
4560
+ var hasRequiredEventemitter;
4561
+
4562
+ function requireEventemitter () {
4563
+ if (hasRequiredEventemitter) return eventemitter;
4564
+ hasRequiredEventemitter = 1;
4565
+ eventemitter = EventEmitter;
4444
4566
 
4445
4567
  /**
4446
- * Encodes a buffer to a base64 encoded string.
4447
- * @param {Uint8Array} buffer Source buffer
4448
- * @param {number} start Source start
4449
- * @param {number} end Source end
4450
- * @returns {string} Base64 encoded string
4568
+ * Constructs a new event emitter instance.
4569
+ * @classdesc A minimal event emitter.
4570
+ * @memberof util
4571
+ * @constructor
4451
4572
  */
4452
- base64.encode = function encode(buffer, start, end) {
4453
- var parts = null,
4454
- chunk = [];
4455
- var i = 0, // output index
4456
- j = 0, // goto index
4457
- t; // temporary
4458
- while (start < end) {
4459
- var b = buffer[start++];
4460
- switch (j) {
4461
- case 0:
4462
- chunk[i++] = b64[b >> 2];
4463
- t = (b & 3) << 4;
4464
- j = 1;
4465
- break;
4466
- case 1:
4467
- chunk[i++] = b64[t | b >> 4];
4468
- t = (b & 15) << 2;
4469
- j = 2;
4470
- break;
4471
- case 2:
4472
- chunk[i++] = b64[t | b >> 6];
4473
- chunk[i++] = b64[b & 63];
4474
- j = 0;
4475
- break;
4476
- }
4477
- if (i > 8191) {
4478
- (parts || (parts = [])).push(String.fromCharCode.apply(String, chunk));
4479
- i = 0;
4480
- }
4481
- }
4482
- if (j) {
4483
- chunk[i++] = b64[t];
4484
- chunk[i++] = 61;
4485
- if (j === 1)
4486
- chunk[i++] = 61;
4487
- }
4488
- if (parts) {
4489
- if (i)
4490
- parts.push(String.fromCharCode.apply(String, chunk.slice(0, i)));
4491
- return parts.join("");
4492
- }
4493
- return String.fromCharCode.apply(String, chunk.slice(0, i));
4494
- };
4573
+ function EventEmitter() {
4495
4574
 
4496
- var invalidEncoding = "invalid encoding";
4575
+ /**
4576
+ * Registered listeners.
4577
+ * @type {Object.<string,*>}
4578
+ * @private
4579
+ */
4580
+ this._listeners = {};
4581
+ }
4582
+
4583
+ /**
4584
+ * Registers an event listener.
4585
+ * @param {string} evt Event name
4586
+ * @param {function} fn Listener
4587
+ * @param {*} [ctx] Listener context
4588
+ * @returns {util.EventEmitter} `this`
4589
+ */
4590
+ EventEmitter.prototype.on = function on(evt, fn, ctx) {
4591
+ (this._listeners[evt] || (this._listeners[evt] = [])).push({
4592
+ fn : fn,
4593
+ ctx : ctx || this
4594
+ });
4595
+ return this;
4596
+ };
4497
4597
 
4498
4598
  /**
4499
- * Decodes a base64 encoded string to a buffer.
4500
- * @param {string} string Source string
4501
- * @param {Uint8Array} buffer Destination buffer
4502
- * @param {number} offset Destination offset
4503
- * @returns {number} Number of bytes written
4504
- * @throws {Error} If encoding is invalid
4599
+ * Removes an event listener or any matching listeners if arguments are omitted.
4600
+ * @param {string} [evt] Event name. Removes all listeners if omitted.
4601
+ * @param {function} [fn] Listener to remove. Removes all listeners of `evt` if omitted.
4602
+ * @returns {util.EventEmitter} `this`
4505
4603
  */
4506
- base64.decode = function decode(string, buffer, offset) {
4507
- var start = offset;
4508
- var j = 0, // goto index
4509
- t; // temporary
4510
- for (var i = 0; i < string.length;) {
4511
- var c = string.charCodeAt(i++);
4512
- if (c === 61 && j > 1)
4513
- break;
4514
- if ((c = s64[c]) === undefined)
4515
- throw Error(invalidEncoding);
4516
- switch (j) {
4517
- case 0:
4518
- t = c;
4519
- j = 1;
4520
- break;
4521
- case 1:
4522
- buffer[offset++] = t << 2 | (c & 48) >> 4;
4523
- t = c;
4524
- j = 2;
4525
- break;
4526
- case 2:
4527
- buffer[offset++] = (t & 15) << 4 | (c & 60) >> 2;
4528
- t = c;
4529
- j = 3;
4530
- break;
4531
- case 3:
4532
- buffer[offset++] = (t & 3) << 6 | c;
4533
- j = 0;
4534
- break;
4604
+ EventEmitter.prototype.off = function off(evt, fn) {
4605
+ if (evt === undefined)
4606
+ this._listeners = {};
4607
+ else {
4608
+ if (fn === undefined)
4609
+ this._listeners[evt] = [];
4610
+ else {
4611
+ var listeners = this._listeners[evt];
4612
+ for (var i = 0; i < listeners.length;)
4613
+ if (listeners[i].fn === fn)
4614
+ listeners.splice(i, 1);
4615
+ else
4616
+ ++i;
4535
4617
  }
4536
4618
  }
4537
- if (j === 1)
4538
- throw Error(invalidEncoding);
4539
- return offset - start;
4619
+ return this;
4540
4620
  };
4541
4621
 
4542
4622
  /**
4543
- * Tests if the specified string appears to be base64 encoded.
4544
- * @param {string} string String to test
4545
- * @returns {boolean} `true` if probably base64 encoded, otherwise false
4623
+ * Emits an event by calling its listeners with the specified arguments.
4624
+ * @param {string} evt Event name
4625
+ * @param {...*} args Arguments
4626
+ * @returns {util.EventEmitter} `this`
4546
4627
  */
4547
- base64.test = function test(string) {
4548
- return /^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(string);
4549
- };
4550
- } (base64$1));
4628
+ EventEmitter.prototype.emit = function emit(evt) {
4629
+ var listeners = this._listeners[evt];
4630
+ if (listeners) {
4631
+ var args = [],
4632
+ i = 1;
4633
+ for (; i < arguments.length;)
4634
+ args.push(arguments[i++]);
4635
+ for (i = 0; i < listeners.length;)
4636
+ listeners[i].fn.apply(listeners[i++].ctx, args);
4637
+ }
4638
+ return this;
4639
+ };
4640
+ return eventemitter;
4641
+ }
4551
4642
 
4552
- var eventemitter = EventEmitter;
4553
-
4554
- /**
4555
- * Constructs a new event emitter instance.
4556
- * @classdesc A minimal event emitter.
4557
- * @memberof util
4558
- * @constructor
4559
- */
4560
- function EventEmitter() {
4561
-
4562
- /**
4563
- * Registered listeners.
4564
- * @type {Object.<string,*>}
4565
- * @private
4566
- */
4567
- this._listeners = {};
4568
- }
4569
-
4570
- /**
4571
- * Registers an event listener.
4572
- * @param {string} evt Event name
4573
- * @param {function} fn Listener
4574
- * @param {*} [ctx] Listener context
4575
- * @returns {util.EventEmitter} `this`
4576
- */
4577
- EventEmitter.prototype.on = function on(evt, fn, ctx) {
4578
- (this._listeners[evt] || (this._listeners[evt] = [])).push({
4579
- fn : fn,
4580
- ctx : ctx || this
4581
- });
4582
- return this;
4583
- };
4584
-
4585
- /**
4586
- * Removes an event listener or any matching listeners if arguments are omitted.
4587
- * @param {string} [evt] Event name. Removes all listeners if omitted.
4588
- * @param {function} [fn] Listener to remove. Removes all listeners of `evt` if omitted.
4589
- * @returns {util.EventEmitter} `this`
4590
- */
4591
- EventEmitter.prototype.off = function off(evt, fn) {
4592
- if (evt === undefined)
4593
- this._listeners = {};
4594
- else {
4595
- if (fn === undefined)
4596
- this._listeners[evt] = [];
4597
- else {
4598
- var listeners = this._listeners[evt];
4599
- for (var i = 0; i < listeners.length;)
4600
- if (listeners[i].fn === fn)
4601
- listeners.splice(i, 1);
4602
- else
4603
- ++i;
4604
- }
4605
- }
4606
- return this;
4607
- };
4608
-
4609
- /**
4610
- * Emits an event by calling its listeners with the specified arguments.
4611
- * @param {string} evt Event name
4612
- * @param {...*} args Arguments
4613
- * @returns {util.EventEmitter} `this`
4614
- */
4615
- EventEmitter.prototype.emit = function emit(evt) {
4616
- var listeners = this._listeners[evt];
4617
- if (listeners) {
4618
- var args = [],
4619
- i = 1;
4620
- for (; i < arguments.length;)
4621
- args.push(arguments[i++]);
4622
- for (i = 0; i < listeners.length;)
4623
- listeners[i].fn.apply(listeners[i++].ctx, args);
4624
- }
4625
- return this;
4626
- };
4643
+ var float;
4644
+ var hasRequiredFloat;
4627
4645
 
4628
- var float = factory(factory);
4629
-
4630
- /**
4631
- * Reads / writes floats / doubles from / to buffers.
4632
- * @name util.float
4633
- * @namespace
4634
- */
4635
-
4636
- /**
4637
- * Writes a 32 bit float to a buffer using little endian byte order.
4638
- * @name util.float.writeFloatLE
4639
- * @function
4640
- * @param {number} val Value to write
4641
- * @param {Uint8Array} buf Target buffer
4642
- * @param {number} pos Target buffer offset
4643
- * @returns {undefined}
4644
- */
4645
-
4646
- /**
4647
- * Writes a 32 bit float to a buffer using big endian byte order.
4648
- * @name util.float.writeFloatBE
4649
- * @function
4650
- * @param {number} val Value to write
4651
- * @param {Uint8Array} buf Target buffer
4652
- * @param {number} pos Target buffer offset
4653
- * @returns {undefined}
4654
- */
4655
-
4656
- /**
4657
- * Reads a 32 bit float from a buffer using little endian byte order.
4658
- * @name util.float.readFloatLE
4659
- * @function
4660
- * @param {Uint8Array} buf Source buffer
4661
- * @param {number} pos Source buffer offset
4662
- * @returns {number} Value read
4663
- */
4664
-
4665
- /**
4666
- * Reads a 32 bit float from a buffer using big endian byte order.
4667
- * @name util.float.readFloatBE
4668
- * @function
4669
- * @param {Uint8Array} buf Source buffer
4670
- * @param {number} pos Source buffer offset
4671
- * @returns {number} Value read
4672
- */
4673
-
4674
- /**
4675
- * Writes a 64 bit double to a buffer using little endian byte order.
4676
- * @name util.float.writeDoubleLE
4677
- * @function
4678
- * @param {number} val Value to write
4679
- * @param {Uint8Array} buf Target buffer
4680
- * @param {number} pos Target buffer offset
4681
- * @returns {undefined}
4682
- */
4646
+ function requireFloat () {
4647
+ if (hasRequiredFloat) return float;
4648
+ hasRequiredFloat = 1;
4683
4649
 
4684
- /**
4685
- * Writes a 64 bit double to a buffer using big endian byte order.
4686
- * @name util.float.writeDoubleBE
4687
- * @function
4688
- * @param {number} val Value to write
4689
- * @param {Uint8Array} buf Target buffer
4690
- * @param {number} pos Target buffer offset
4691
- * @returns {undefined}
4692
- */
4650
+ float = factory(factory);
4693
4651
 
4694
- /**
4695
- * Reads a 64 bit double from a buffer using little endian byte order.
4696
- * @name util.float.readDoubleLE
4697
- * @function
4698
- * @param {Uint8Array} buf Source buffer
4699
- * @param {number} pos Source buffer offset
4700
- * @returns {number} Value read
4701
- */
4652
+ /**
4653
+ * Reads / writes floats / doubles from / to buffers.
4654
+ * @name util.float
4655
+ * @namespace
4656
+ */
4702
4657
 
4703
- /**
4704
- * Reads a 64 bit double from a buffer using big endian byte order.
4705
- * @name util.float.readDoubleBE
4706
- * @function
4707
- * @param {Uint8Array} buf Source buffer
4708
- * @param {number} pos Source buffer offset
4709
- * @returns {number} Value read
4710
- */
4658
+ /**
4659
+ * Writes a 32 bit float to a buffer using little endian byte order.
4660
+ * @name util.float.writeFloatLE
4661
+ * @function
4662
+ * @param {number} val Value to write
4663
+ * @param {Uint8Array} buf Target buffer
4664
+ * @param {number} pos Target buffer offset
4665
+ * @returns {undefined}
4666
+ */
4711
4667
 
4712
- // Factory function for the purpose of node-based testing in modified global environments
4713
- function factory(exports) {
4668
+ /**
4669
+ * Writes a 32 bit float to a buffer using big endian byte order.
4670
+ * @name util.float.writeFloatBE
4671
+ * @function
4672
+ * @param {number} val Value to write
4673
+ * @param {Uint8Array} buf Target buffer
4674
+ * @param {number} pos Target buffer offset
4675
+ * @returns {undefined}
4676
+ */
4714
4677
 
4715
- // float: typed array
4716
- if (typeof Float32Array !== "undefined") (function() {
4678
+ /**
4679
+ * Reads a 32 bit float from a buffer using little endian byte order.
4680
+ * @name util.float.readFloatLE
4681
+ * @function
4682
+ * @param {Uint8Array} buf Source buffer
4683
+ * @param {number} pos Source buffer offset
4684
+ * @returns {number} Value read
4685
+ */
4717
4686
 
4718
- var f32 = new Float32Array([ -0 ]),
4719
- f8b = new Uint8Array(f32.buffer),
4720
- le = f8b[3] === 128;
4687
+ /**
4688
+ * Reads a 32 bit float from a buffer using big endian byte order.
4689
+ * @name util.float.readFloatBE
4690
+ * @function
4691
+ * @param {Uint8Array} buf Source buffer
4692
+ * @param {number} pos Source buffer offset
4693
+ * @returns {number} Value read
4694
+ */
4721
4695
 
4722
- function writeFloat_f32_cpy(val, buf, pos) {
4723
- f32[0] = val;
4724
- buf[pos ] = f8b[0];
4725
- buf[pos + 1] = f8b[1];
4726
- buf[pos + 2] = f8b[2];
4727
- buf[pos + 3] = f8b[3];
4728
- }
4696
+ /**
4697
+ * Writes a 64 bit double to a buffer using little endian byte order.
4698
+ * @name util.float.writeDoubleLE
4699
+ * @function
4700
+ * @param {number} val Value to write
4701
+ * @param {Uint8Array} buf Target buffer
4702
+ * @param {number} pos Target buffer offset
4703
+ * @returns {undefined}
4704
+ */
4729
4705
 
4730
- function writeFloat_f32_rev(val, buf, pos) {
4731
- f32[0] = val;
4732
- buf[pos ] = f8b[3];
4733
- buf[pos + 1] = f8b[2];
4734
- buf[pos + 2] = f8b[1];
4735
- buf[pos + 3] = f8b[0];
4736
- }
4706
+ /**
4707
+ * Writes a 64 bit double to a buffer using big endian byte order.
4708
+ * @name util.float.writeDoubleBE
4709
+ * @function
4710
+ * @param {number} val Value to write
4711
+ * @param {Uint8Array} buf Target buffer
4712
+ * @param {number} pos Target buffer offset
4713
+ * @returns {undefined}
4714
+ */
4737
4715
 
4738
- /* istanbul ignore next */
4739
- exports.writeFloatLE = le ? writeFloat_f32_cpy : writeFloat_f32_rev;
4740
- /* istanbul ignore next */
4741
- exports.writeFloatBE = le ? writeFloat_f32_rev : writeFloat_f32_cpy;
4742
-
4743
- function readFloat_f32_cpy(buf, pos) {
4744
- f8b[0] = buf[pos ];
4745
- f8b[1] = buf[pos + 1];
4746
- f8b[2] = buf[pos + 2];
4747
- f8b[3] = buf[pos + 3];
4748
- return f32[0];
4749
- }
4716
+ /**
4717
+ * Reads a 64 bit double from a buffer using little endian byte order.
4718
+ * @name util.float.readDoubleLE
4719
+ * @function
4720
+ * @param {Uint8Array} buf Source buffer
4721
+ * @param {number} pos Source buffer offset
4722
+ * @returns {number} Value read
4723
+ */
4750
4724
 
4751
- function readFloat_f32_rev(buf, pos) {
4752
- f8b[3] = buf[pos ];
4753
- f8b[2] = buf[pos + 1];
4754
- f8b[1] = buf[pos + 2];
4755
- f8b[0] = buf[pos + 3];
4756
- return f32[0];
4757
- }
4725
+ /**
4726
+ * Reads a 64 bit double from a buffer using big endian byte order.
4727
+ * @name util.float.readDoubleBE
4728
+ * @function
4729
+ * @param {Uint8Array} buf Source buffer
4730
+ * @param {number} pos Source buffer offset
4731
+ * @returns {number} Value read
4732
+ */
4758
4733
 
4759
- /* istanbul ignore next */
4760
- exports.readFloatLE = le ? readFloat_f32_cpy : readFloat_f32_rev;
4761
- /* istanbul ignore next */
4762
- exports.readFloatBE = le ? readFloat_f32_rev : readFloat_f32_cpy;
4763
-
4764
- // float: ieee754
4765
- })(); else (function() {
4766
-
4767
- function writeFloat_ieee754(writeUint, val, buf, pos) {
4768
- var sign = val < 0 ? 1 : 0;
4769
- if (sign)
4770
- val = -val;
4771
- if (val === 0)
4772
- writeUint(1 / val > 0 ? /* positive */ 0 : /* negative 0 */ 2147483648, buf, pos);
4773
- else if (isNaN(val))
4774
- writeUint(2143289344, buf, pos);
4775
- else if (val > 3.4028234663852886e+38) // +-Infinity
4776
- writeUint((sign << 31 | 2139095040) >>> 0, buf, pos);
4777
- else if (val < 1.1754943508222875e-38) // denormal
4778
- writeUint((sign << 31 | Math.round(val / 1.401298464324817e-45)) >>> 0, buf, pos);
4779
- else {
4780
- var exponent = Math.floor(Math.log(val) / Math.LN2),
4781
- mantissa = Math.round(val * Math.pow(2, -exponent) * 8388608) & 8388607;
4782
- writeUint((sign << 31 | exponent + 127 << 23 | mantissa) >>> 0, buf, pos);
4783
- }
4784
- }
4734
+ // Factory function for the purpose of node-based testing in modified global environments
4735
+ function factory(exports) {
4785
4736
 
4786
- exports.writeFloatLE = writeFloat_ieee754.bind(null, writeUintLE);
4787
- exports.writeFloatBE = writeFloat_ieee754.bind(null, writeUintBE);
4788
-
4789
- function readFloat_ieee754(readUint, buf, pos) {
4790
- var uint = readUint(buf, pos),
4791
- sign = (uint >> 31) * 2 + 1,
4792
- exponent = uint >>> 23 & 255,
4793
- mantissa = uint & 8388607;
4794
- return exponent === 255
4795
- ? mantissa
4796
- ? NaN
4797
- : sign * Infinity
4798
- : exponent === 0 // denormal
4799
- ? sign * 1.401298464324817e-45 * mantissa
4800
- : sign * Math.pow(2, exponent - 150) * (mantissa + 8388608);
4801
- }
4737
+ // float: typed array
4738
+ if (typeof Float32Array !== "undefined") (function() {
4802
4739
 
4803
- exports.readFloatLE = readFloat_ieee754.bind(null, readUintLE);
4804
- exports.readFloatBE = readFloat_ieee754.bind(null, readUintBE);
4740
+ var f32 = new Float32Array([ -0 ]),
4741
+ f8b = new Uint8Array(f32.buffer),
4742
+ le = f8b[3] === 128;
4805
4743
 
4806
- })();
4744
+ function writeFloat_f32_cpy(val, buf, pos) {
4745
+ f32[0] = val;
4746
+ buf[pos ] = f8b[0];
4747
+ buf[pos + 1] = f8b[1];
4748
+ buf[pos + 2] = f8b[2];
4749
+ buf[pos + 3] = f8b[3];
4750
+ }
4807
4751
 
4808
- // double: typed array
4809
- if (typeof Float64Array !== "undefined") (function() {
4752
+ function writeFloat_f32_rev(val, buf, pos) {
4753
+ f32[0] = val;
4754
+ buf[pos ] = f8b[3];
4755
+ buf[pos + 1] = f8b[2];
4756
+ buf[pos + 2] = f8b[1];
4757
+ buf[pos + 3] = f8b[0];
4758
+ }
4810
4759
 
4811
- var f64 = new Float64Array([-0]),
4812
- f8b = new Uint8Array(f64.buffer),
4813
- le = f8b[7] === 128;
4760
+ /* istanbul ignore next */
4761
+ exports.writeFloatLE = le ? writeFloat_f32_cpy : writeFloat_f32_rev;
4762
+ /* istanbul ignore next */
4763
+ exports.writeFloatBE = le ? writeFloat_f32_rev : writeFloat_f32_cpy;
4764
+
4765
+ function readFloat_f32_cpy(buf, pos) {
4766
+ f8b[0] = buf[pos ];
4767
+ f8b[1] = buf[pos + 1];
4768
+ f8b[2] = buf[pos + 2];
4769
+ f8b[3] = buf[pos + 3];
4770
+ return f32[0];
4771
+ }
4814
4772
 
4815
- function writeDouble_f64_cpy(val, buf, pos) {
4816
- f64[0] = val;
4817
- buf[pos ] = f8b[0];
4818
- buf[pos + 1] = f8b[1];
4819
- buf[pos + 2] = f8b[2];
4820
- buf[pos + 3] = f8b[3];
4821
- buf[pos + 4] = f8b[4];
4822
- buf[pos + 5] = f8b[5];
4823
- buf[pos + 6] = f8b[6];
4824
- buf[pos + 7] = f8b[7];
4825
- }
4773
+ function readFloat_f32_rev(buf, pos) {
4774
+ f8b[3] = buf[pos ];
4775
+ f8b[2] = buf[pos + 1];
4776
+ f8b[1] = buf[pos + 2];
4777
+ f8b[0] = buf[pos + 3];
4778
+ return f32[0];
4779
+ }
4826
4780
 
4827
- function writeDouble_f64_rev(val, buf, pos) {
4828
- f64[0] = val;
4829
- buf[pos ] = f8b[7];
4830
- buf[pos + 1] = f8b[6];
4831
- buf[pos + 2] = f8b[5];
4832
- buf[pos + 3] = f8b[4];
4833
- buf[pos + 4] = f8b[3];
4834
- buf[pos + 5] = f8b[2];
4835
- buf[pos + 6] = f8b[1];
4836
- buf[pos + 7] = f8b[0];
4837
- }
4781
+ /* istanbul ignore next */
4782
+ exports.readFloatLE = le ? readFloat_f32_cpy : readFloat_f32_rev;
4783
+ /* istanbul ignore next */
4784
+ exports.readFloatBE = le ? readFloat_f32_rev : readFloat_f32_cpy;
4785
+
4786
+ // float: ieee754
4787
+ })(); else (function() {
4788
+
4789
+ function writeFloat_ieee754(writeUint, val, buf, pos) {
4790
+ var sign = val < 0 ? 1 : 0;
4791
+ if (sign)
4792
+ val = -val;
4793
+ if (val === 0)
4794
+ writeUint(1 / val > 0 ? /* positive */ 0 : /* negative 0 */ 2147483648, buf, pos);
4795
+ else if (isNaN(val))
4796
+ writeUint(2143289344, buf, pos);
4797
+ else if (val > 3.4028234663852886e+38) // +-Infinity
4798
+ writeUint((sign << 31 | 2139095040) >>> 0, buf, pos);
4799
+ else if (val < 1.1754943508222875e-38) // denormal
4800
+ writeUint((sign << 31 | Math.round(val / 1.401298464324817e-45)) >>> 0, buf, pos);
4801
+ else {
4802
+ var exponent = Math.floor(Math.log(val) / Math.LN2),
4803
+ mantissa = Math.round(val * Math.pow(2, -exponent) * 8388608) & 8388607;
4804
+ writeUint((sign << 31 | exponent + 127 << 23 | mantissa) >>> 0, buf, pos);
4805
+ }
4806
+ }
4838
4807
 
4839
- /* istanbul ignore next */
4840
- exports.writeDoubleLE = le ? writeDouble_f64_cpy : writeDouble_f64_rev;
4841
- /* istanbul ignore next */
4842
- exports.writeDoubleBE = le ? writeDouble_f64_rev : writeDouble_f64_cpy;
4843
-
4844
- function readDouble_f64_cpy(buf, pos) {
4845
- f8b[0] = buf[pos ];
4846
- f8b[1] = buf[pos + 1];
4847
- f8b[2] = buf[pos + 2];
4848
- f8b[3] = buf[pos + 3];
4849
- f8b[4] = buf[pos + 4];
4850
- f8b[5] = buf[pos + 5];
4851
- f8b[6] = buf[pos + 6];
4852
- f8b[7] = buf[pos + 7];
4853
- return f64[0];
4854
- }
4808
+ exports.writeFloatLE = writeFloat_ieee754.bind(null, writeUintLE);
4809
+ exports.writeFloatBE = writeFloat_ieee754.bind(null, writeUintBE);
4810
+
4811
+ function readFloat_ieee754(readUint, buf, pos) {
4812
+ var uint = readUint(buf, pos),
4813
+ sign = (uint >> 31) * 2 + 1,
4814
+ exponent = uint >>> 23 & 255,
4815
+ mantissa = uint & 8388607;
4816
+ return exponent === 255
4817
+ ? mantissa
4818
+ ? NaN
4819
+ : sign * Infinity
4820
+ : exponent === 0 // denormal
4821
+ ? sign * 1.401298464324817e-45 * mantissa
4822
+ : sign * Math.pow(2, exponent - 150) * (mantissa + 8388608);
4823
+ }
4855
4824
 
4856
- function readDouble_f64_rev(buf, pos) {
4857
- f8b[7] = buf[pos ];
4858
- f8b[6] = buf[pos + 1];
4859
- f8b[5] = buf[pos + 2];
4860
- f8b[4] = buf[pos + 3];
4861
- f8b[3] = buf[pos + 4];
4862
- f8b[2] = buf[pos + 5];
4863
- f8b[1] = buf[pos + 6];
4864
- f8b[0] = buf[pos + 7];
4865
- return f64[0];
4866
- }
4825
+ exports.readFloatLE = readFloat_ieee754.bind(null, readUintLE);
4826
+ exports.readFloatBE = readFloat_ieee754.bind(null, readUintBE);
4867
4827
 
4868
- /* istanbul ignore next */
4869
- exports.readDoubleLE = le ? readDouble_f64_cpy : readDouble_f64_rev;
4870
- /* istanbul ignore next */
4871
- exports.readDoubleBE = le ? readDouble_f64_rev : readDouble_f64_cpy;
4872
-
4873
- // double: ieee754
4874
- })(); else (function() {
4875
-
4876
- function writeDouble_ieee754(writeUint, off0, off1, val, buf, pos) {
4877
- var sign = val < 0 ? 1 : 0;
4878
- if (sign)
4879
- val = -val;
4880
- if (val === 0) {
4881
- writeUint(0, buf, pos + off0);
4882
- writeUint(1 / val > 0 ? /* positive */ 0 : /* negative 0 */ 2147483648, buf, pos + off1);
4883
- } else if (isNaN(val)) {
4884
- writeUint(0, buf, pos + off0);
4885
- writeUint(2146959360, buf, pos + off1);
4886
- } else if (val > 1.7976931348623157e+308) { // +-Infinity
4887
- writeUint(0, buf, pos + off0);
4888
- writeUint((sign << 31 | 2146435072) >>> 0, buf, pos + off1);
4889
- } else {
4890
- var mantissa;
4891
- if (val < 2.2250738585072014e-308) { // denormal
4892
- mantissa = val / 5e-324;
4893
- writeUint(mantissa >>> 0, buf, pos + off0);
4894
- writeUint((sign << 31 | mantissa / 4294967296) >>> 0, buf, pos + off1);
4895
- } else {
4896
- var exponent = Math.floor(Math.log(val) / Math.LN2);
4897
- if (exponent === 1024)
4898
- exponent = 1023;
4899
- mantissa = val * Math.pow(2, -exponent);
4900
- writeUint(mantissa * 4503599627370496 >>> 0, buf, pos + off0);
4901
- writeUint((sign << 31 | exponent + 1023 << 20 | mantissa * 1048576 & 1048575) >>> 0, buf, pos + off1);
4902
- }
4903
- }
4904
- }
4828
+ })();
4905
4829
 
4906
- exports.writeDoubleLE = writeDouble_ieee754.bind(null, writeUintLE, 0, 4);
4907
- exports.writeDoubleBE = writeDouble_ieee754.bind(null, writeUintBE, 4, 0);
4908
-
4909
- function readDouble_ieee754(readUint, off0, off1, buf, pos) {
4910
- var lo = readUint(buf, pos + off0),
4911
- hi = readUint(buf, pos + off1);
4912
- var sign = (hi >> 31) * 2 + 1,
4913
- exponent = hi >>> 20 & 2047,
4914
- mantissa = 4294967296 * (hi & 1048575) + lo;
4915
- return exponent === 2047
4916
- ? mantissa
4917
- ? NaN
4918
- : sign * Infinity
4919
- : exponent === 0 // denormal
4920
- ? sign * 5e-324 * mantissa
4921
- : sign * Math.pow(2, exponent - 1075) * (mantissa + 4503599627370496);
4922
- }
4830
+ // double: typed array
4831
+ if (typeof Float64Array !== "undefined") (function() {
4923
4832
 
4924
- exports.readDoubleLE = readDouble_ieee754.bind(null, readUintLE, 0, 4);
4925
- exports.readDoubleBE = readDouble_ieee754.bind(null, readUintBE, 4, 0);
4833
+ var f64 = new Float64Array([-0]),
4834
+ f8b = new Uint8Array(f64.buffer),
4835
+ le = f8b[7] === 128;
4926
4836
 
4927
- })();
4837
+ function writeDouble_f64_cpy(val, buf, pos) {
4838
+ f64[0] = val;
4839
+ buf[pos ] = f8b[0];
4840
+ buf[pos + 1] = f8b[1];
4841
+ buf[pos + 2] = f8b[2];
4842
+ buf[pos + 3] = f8b[3];
4843
+ buf[pos + 4] = f8b[4];
4844
+ buf[pos + 5] = f8b[5];
4845
+ buf[pos + 6] = f8b[6];
4846
+ buf[pos + 7] = f8b[7];
4847
+ }
4928
4848
 
4929
- return exports;
4930
- }
4849
+ function writeDouble_f64_rev(val, buf, pos) {
4850
+ f64[0] = val;
4851
+ buf[pos ] = f8b[7];
4852
+ buf[pos + 1] = f8b[6];
4853
+ buf[pos + 2] = f8b[5];
4854
+ buf[pos + 3] = f8b[4];
4855
+ buf[pos + 4] = f8b[3];
4856
+ buf[pos + 5] = f8b[2];
4857
+ buf[pos + 6] = f8b[1];
4858
+ buf[pos + 7] = f8b[0];
4859
+ }
4931
4860
 
4932
- // uint helpers
4861
+ /* istanbul ignore next */
4862
+ exports.writeDoubleLE = le ? writeDouble_f64_cpy : writeDouble_f64_rev;
4863
+ /* istanbul ignore next */
4864
+ exports.writeDoubleBE = le ? writeDouble_f64_rev : writeDouble_f64_cpy;
4865
+
4866
+ function readDouble_f64_cpy(buf, pos) {
4867
+ f8b[0] = buf[pos ];
4868
+ f8b[1] = buf[pos + 1];
4869
+ f8b[2] = buf[pos + 2];
4870
+ f8b[3] = buf[pos + 3];
4871
+ f8b[4] = buf[pos + 4];
4872
+ f8b[5] = buf[pos + 5];
4873
+ f8b[6] = buf[pos + 6];
4874
+ f8b[7] = buf[pos + 7];
4875
+ return f64[0];
4876
+ }
4933
4877
 
4934
- function writeUintLE(val, buf, pos) {
4935
- buf[pos ] = val & 255;
4936
- buf[pos + 1] = val >>> 8 & 255;
4937
- buf[pos + 2] = val >>> 16 & 255;
4938
- buf[pos + 3] = val >>> 24;
4939
- }
4878
+ function readDouble_f64_rev(buf, pos) {
4879
+ f8b[7] = buf[pos ];
4880
+ f8b[6] = buf[pos + 1];
4881
+ f8b[5] = buf[pos + 2];
4882
+ f8b[4] = buf[pos + 3];
4883
+ f8b[3] = buf[pos + 4];
4884
+ f8b[2] = buf[pos + 5];
4885
+ f8b[1] = buf[pos + 6];
4886
+ f8b[0] = buf[pos + 7];
4887
+ return f64[0];
4888
+ }
4940
4889
 
4941
- function writeUintBE(val, buf, pos) {
4942
- buf[pos ] = val >>> 24;
4943
- buf[pos + 1] = val >>> 16 & 255;
4944
- buf[pos + 2] = val >>> 8 & 255;
4945
- buf[pos + 3] = val & 255;
4946
- }
4890
+ /* istanbul ignore next */
4891
+ exports.readDoubleLE = le ? readDouble_f64_cpy : readDouble_f64_rev;
4892
+ /* istanbul ignore next */
4893
+ exports.readDoubleBE = le ? readDouble_f64_rev : readDouble_f64_cpy;
4894
+
4895
+ // double: ieee754
4896
+ })(); else (function() {
4897
+
4898
+ function writeDouble_ieee754(writeUint, off0, off1, val, buf, pos) {
4899
+ var sign = val < 0 ? 1 : 0;
4900
+ if (sign)
4901
+ val = -val;
4902
+ if (val === 0) {
4903
+ writeUint(0, buf, pos + off0);
4904
+ writeUint(1 / val > 0 ? /* positive */ 0 : /* negative 0 */ 2147483648, buf, pos + off1);
4905
+ } else if (isNaN(val)) {
4906
+ writeUint(0, buf, pos + off0);
4907
+ writeUint(2146959360, buf, pos + off1);
4908
+ } else if (val > 1.7976931348623157e+308) { // +-Infinity
4909
+ writeUint(0, buf, pos + off0);
4910
+ writeUint((sign << 31 | 2146435072) >>> 0, buf, pos + off1);
4911
+ } else {
4912
+ var mantissa;
4913
+ if (val < 2.2250738585072014e-308) { // denormal
4914
+ mantissa = val / 5e-324;
4915
+ writeUint(mantissa >>> 0, buf, pos + off0);
4916
+ writeUint((sign << 31 | mantissa / 4294967296) >>> 0, buf, pos + off1);
4917
+ } else {
4918
+ var exponent = Math.floor(Math.log(val) / Math.LN2);
4919
+ if (exponent === 1024)
4920
+ exponent = 1023;
4921
+ mantissa = val * Math.pow(2, -exponent);
4922
+ writeUint(mantissa * 4503599627370496 >>> 0, buf, pos + off0);
4923
+ writeUint((sign << 31 | exponent + 1023 << 20 | mantissa * 1048576 & 1048575) >>> 0, buf, pos + off1);
4924
+ }
4925
+ }
4926
+ }
4947
4927
 
4948
- function readUintLE(buf, pos) {
4949
- return (buf[pos ]
4950
- | buf[pos + 1] << 8
4951
- | buf[pos + 2] << 16
4952
- | buf[pos + 3] << 24) >>> 0;
4953
- }
4928
+ exports.writeDoubleLE = writeDouble_ieee754.bind(null, writeUintLE, 0, 4);
4929
+ exports.writeDoubleBE = writeDouble_ieee754.bind(null, writeUintBE, 4, 0);
4930
+
4931
+ function readDouble_ieee754(readUint, off0, off1, buf, pos) {
4932
+ var lo = readUint(buf, pos + off0),
4933
+ hi = readUint(buf, pos + off1);
4934
+ var sign = (hi >> 31) * 2 + 1,
4935
+ exponent = hi >>> 20 & 2047,
4936
+ mantissa = 4294967296 * (hi & 1048575) + lo;
4937
+ return exponent === 2047
4938
+ ? mantissa
4939
+ ? NaN
4940
+ : sign * Infinity
4941
+ : exponent === 0 // denormal
4942
+ ? sign * 5e-324 * mantissa
4943
+ : sign * Math.pow(2, exponent - 1075) * (mantissa + 4503599627370496);
4944
+ }
4954
4945
 
4955
- function readUintBE(buf, pos) {
4956
- return (buf[pos ] << 24
4957
- | buf[pos + 1] << 16
4958
- | buf[pos + 2] << 8
4959
- | buf[pos + 3]) >>> 0;
4946
+ exports.readDoubleLE = readDouble_ieee754.bind(null, readUintLE, 0, 4);
4947
+ exports.readDoubleBE = readDouble_ieee754.bind(null, readUintBE, 4, 0);
4948
+
4949
+ })();
4950
+
4951
+ return exports;
4952
+ }
4953
+
4954
+ // uint helpers
4955
+
4956
+ function writeUintLE(val, buf, pos) {
4957
+ buf[pos ] = val & 255;
4958
+ buf[pos + 1] = val >>> 8 & 255;
4959
+ buf[pos + 2] = val >>> 16 & 255;
4960
+ buf[pos + 3] = val >>> 24;
4961
+ }
4962
+
4963
+ function writeUintBE(val, buf, pos) {
4964
+ buf[pos ] = val >>> 24;
4965
+ buf[pos + 1] = val >>> 16 & 255;
4966
+ buf[pos + 2] = val >>> 8 & 255;
4967
+ buf[pos + 3] = val & 255;
4968
+ }
4969
+
4970
+ function readUintLE(buf, pos) {
4971
+ return (buf[pos ]
4972
+ | buf[pos + 1] << 8
4973
+ | buf[pos + 2] << 16
4974
+ | buf[pos + 3] << 24) >>> 0;
4975
+ }
4976
+
4977
+ function readUintBE(buf, pos) {
4978
+ return (buf[pos ] << 24
4979
+ | buf[pos + 1] << 16
4980
+ | buf[pos + 2] << 8
4981
+ | buf[pos + 3]) >>> 0;
4982
+ }
4983
+ return float;
4960
4984
  }
4961
4985
 
4962
- var inquire_1;
4963
- var hasRequiredInquire;
4964
-
4965
- function requireInquire () {
4966
- if (hasRequiredInquire) return inquire_1;
4967
- hasRequiredInquire = 1;
4968
- inquire_1 = inquire;
4986
+ var inquire_1 = inquire;
4969
4987
 
4970
- /**
4971
- * Requires a module only if available.
4972
- * @memberof util
4973
- * @param {string} moduleName Module to require
4974
- * @returns {?Object} Required module if available and not empty, otherwise `null`
4975
- */
4976
- function inquire(moduleName) {
4977
- try {
4978
- var mod = eval("quire".replace(/^/,"re"))(moduleName); // eslint-disable-line no-eval
4979
- if (mod && (mod.length || Object.keys(mod).length))
4980
- return mod;
4981
- } catch (e) {} // eslint-disable-line no-empty
4982
- return null;
4983
- }
4984
- return inquire_1;
4988
+ /**
4989
+ * Requires a module only if available.
4990
+ * @memberof util
4991
+ * @param {string} moduleName Module to require
4992
+ * @returns {?Object} Required module if available and not empty, otherwise `null`
4993
+ */
4994
+ function inquire(moduleName) {
4995
+ try {
4996
+ var mod = eval("quire".replace(/^/,"re"))(moduleName); // eslint-disable-line no-eval
4997
+ if (mod && (mod.length || Object.keys(mod).length))
4998
+ return mod;
4999
+ } catch (e) {} // eslint-disable-line no-empty
5000
+ return null;
4985
5001
  }
4986
5002
 
4987
5003
  var utf8$2 = {};
@@ -5376,16 +5392,16 @@ function requireMinimal () {
5376
5392
  util.asPromise = aspromise;
5377
5393
 
5378
5394
  // converts to / from base64 encoded strings
5379
- util.base64 = base64$1;
5395
+ util.base64 = requireBase64();
5380
5396
 
5381
5397
  // base class of rpc.Service
5382
- util.EventEmitter = eventemitter;
5398
+ util.EventEmitter = requireEventemitter();
5383
5399
 
5384
5400
  // float handling accross browsers
5385
- util.float = float;
5401
+ util.float = requireFloat();
5386
5402
 
5387
5403
  // requires modules optionally and hides the call from bundlers
5388
- util.inquire = requireInquire();
5404
+ util.inquire = inquire_1;
5389
5405
 
5390
5406
  // converts to / from utf8 encoded strings
5391
5407
  util.utf8 = requireUtf8();
@@ -10673,7 +10689,8 @@ class Client extends BaseXChainClient {
10673
10689
  transfer({ walletIndex = 0, asset = AssetRuneNative, amount, recipient, memo, gasLimit = new BigNumber(DEFAULT_GAS_LIMIT_VALUE), sequence, }) {
10674
10690
  var _a, _b, _c, _d;
10675
10691
  return __awaiter(this, void 0, void 0, function* () {
10676
- const balances = yield this.getBalance(this.getAddress(walletIndex));
10692
+ const sender = this.getAddress(walletIndex);
10693
+ const balances = yield this.getBalance(sender);
10677
10694
  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);
10678
10695
  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);
10679
10696
  const fee = (yield this.getFees()).average;
@@ -10689,35 +10706,29 @@ class Client extends BaseXChainClient {
10689
10706
  throw new Error('insufficient funds');
10690
10707
  }
10691
10708
  }
10692
- const privKey = this.getPrivateKey(walletIndex);
10693
- const from = this.getAddress(walletIndex);
10694
- const signerPubkey = privKey.pubKey();
10695
- const accAddress = cosmosclient.AccAddress.fromString(from);
10696
- const denom = getDenom(asset);
10697
- const txBody = yield buildTransferTx({
10698
- fromAddress: from,
10699
- toAddress: recipient,
10700
- memo: memo,
10701
- assetAmount: amount,
10702
- assetDenom: denom,
10703
- chainId: this.getChainId(),
10704
- nodeUrl: this.getClientUrl().node,
10709
+ const unsignedTxData = yield this.prepareTx({
10710
+ sender,
10711
+ asset,
10712
+ amount,
10713
+ recipient,
10714
+ memo,
10715
+ gasLimit,
10716
+ sequence,
10705
10717
  });
10706
- const account = yield this.getCosmosClient().getAccount(accAddress);
10707
- const { account_number: accountNumber } = account;
10718
+ const decodedTx = cosmosclient.proto.cosmos.tx.v1beta1.TxRaw.decode(Buffer.from(unsignedTxData.rawUnsignedTx, 'base64'));
10719
+ const privKey = this.getCosmosClient().getPrivKeyFromMnemonic(this.phrase, this.getFullDerivationPath(walletIndex));
10720
+ const authInfo = cosmosclient.proto.cosmos.tx.v1beta1.AuthInfo.decode(decodedTx.auth_info_bytes);
10721
+ if (!authInfo.signer_infos[0].public_key) {
10722
+ authInfo.signer_infos[0].public_key = cosmosclient.codec.instanceToProtoAny(privKey.pubKey());
10723
+ }
10724
+ const txBuilder = new cosmosclient.TxBuilder(this.getCosmosClient().sdk, cosmosclient.proto.cosmos.tx.v1beta1.TxBody.decode(decodedTx.body_bytes), authInfo);
10725
+ const { account_number: accountNumber } = yield this.getCosmosClient().getAccount(cosmosclient.AccAddress.fromString(sender));
10708
10726
  if (!accountNumber)
10709
- throw Error(`Deposit failed - could not get account number ${accountNumber}`);
10710
- const txBuilder = buildUnsignedTx({
10711
- cosmosSdk: this.getCosmosClient().sdk,
10712
- txBody: txBody,
10713
- gasLimit: Long$1.fromString(gasLimit.toString()),
10714
- signerPubkey: cosmosclient.codec.instanceToProtoAny(signerPubkey),
10715
- sequence: sequence ? Long$1.fromNumber(sequence) : account.sequence || Long$1.ZERO,
10716
- });
10717
- const txHash = yield this.cosmosClient.signAndBroadcast(txBuilder, privKey, accountNumber);
10718
- if (!txHash)
10719
- throw Error(`Invalid transaction hash: ${txHash}`);
10720
- return txHash;
10727
+ throw Error(`Transfer failed - missing account number`);
10728
+ const signDocBytes = txBuilder.signDocBytes(accountNumber);
10729
+ txBuilder.addSignature(privKey.sign(signDocBytes));
10730
+ const signedTx = txBuilder.txBytes();
10731
+ return this.broadcastTx(signedTx);
10721
10732
  });
10722
10733
  }
10723
10734
  broadcastTx(txHex) {
@@ -10728,6 +10739,7 @@ class Client extends BaseXChainClient {
10728
10739
  /**
10729
10740
  * Transfer without broadcast balances with MsgSend
10730
10741
  *
10742
+ * @deprecated use instead prepareTx
10731
10743
  * @param {TxOfflineParams} params The transfer offline options.
10732
10744
  * @returns {string} The signed transaction bytes.
10733
10745
  */
@@ -10787,6 +10799,40 @@ class Client extends BaseXChainClient {
10787
10799
  }
10788
10800
  });
10789
10801
  }
10802
+ /**
10803
+ * Prepare transfer.
10804
+ *
10805
+ * @param {TxParams&Address&BigNumber} params The transfer options.
10806
+ * @returns {PreparedTx} The raw unsigned transaction.
10807
+ */
10808
+ prepareTx({ sender, recipient, amount, memo, asset = AssetRuneNative, gasLimit = new BigNumber(DEFAULT_GAS_LIMIT_VALUE), sequence, }) {
10809
+ return __awaiter(this, void 0, void 0, function* () {
10810
+ if (!this.validateAddress(sender))
10811
+ throw Error('Invalid sender address');
10812
+ if (!this.validateAddress(recipient))
10813
+ throw Error('Invalid recipient address');
10814
+ const denom = getDenom(asset);
10815
+ const txBody = yield buildTransferTx({
10816
+ fromAddress: sender,
10817
+ toAddress: recipient,
10818
+ memo,
10819
+ assetAmount: amount,
10820
+ assetDenom: denom,
10821
+ chainId: this.getChainId(),
10822
+ nodeUrl: this.getClientUrl().node,
10823
+ });
10824
+ const account = yield this.getCosmosClient().getAccount(cosmosclient.AccAddress.fromString(sender));
10825
+ const { pub_key: pubkey } = account;
10826
+ const txBuilder = buildUnsignedTx({
10827
+ cosmosSdk: this.getCosmosClient().sdk,
10828
+ txBody,
10829
+ gasLimit: Long$1.fromString(gasLimit.toString()),
10830
+ signerPubkey: pubkey,
10831
+ sequence: sequence ? Long$1.fromNumber(sequence) : account.sequence || Long$1.ZERO,
10832
+ });
10833
+ return { rawUnsignedTx: txBuilder.txBytes() };
10834
+ });
10835
+ }
10790
10836
  }
10791
10837
 
10792
10838
  class MsgNativeTx {