@solana/web3.js 1.78.1 → 1.78.2

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.iife.js CHANGED
@@ -5528,7 +5528,11 @@ var solanaWeb3 = (function (exports) {
5528
5528
 
5529
5529
  var Buffer;
5530
5530
  try {
5531
- Buffer = require$$0$1.Buffer;
5531
+ if (typeof window !== 'undefined' && typeof window.Buffer !== 'undefined') {
5532
+ Buffer = window.Buffer;
5533
+ } else {
5534
+ Buffer = require$$0$1.Buffer;
5535
+ }
5532
5536
  } catch (e) {
5533
5537
  }
5534
5538
 
@@ -5569,23 +5573,19 @@ var solanaWeb3 = (function (exports) {
5569
5573
  var start = 0;
5570
5574
  if (number[0] === '-') {
5571
5575
  start++;
5572
- }
5573
-
5574
- if (base === 16) {
5575
- this._parseHex(number, start);
5576
- } else {
5577
- this._parseBase(number, base, start);
5578
- }
5579
-
5580
- if (number[0] === '-') {
5581
5576
  this.negative = 1;
5582
5577
  }
5583
5578
 
5584
- this._strip();
5585
-
5586
- if (endian !== 'le') return;
5587
-
5588
- this._initArray(this.toArray(), base, endian);
5579
+ if (start < number.length) {
5580
+ if (base === 16) {
5581
+ this._parseHex(number, start, endian);
5582
+ } else {
5583
+ this._parseBase(number, base, start);
5584
+ if (endian === 'le') {
5585
+ this._initArray(this.toArray(), base, endian);
5586
+ }
5587
+ }
5588
+ }
5589
5589
  };
5590
5590
 
5591
5591
  BN.prototype._initNumber = function _initNumber (number, base, endian) {
@@ -5594,7 +5594,7 @@ var solanaWeb3 = (function (exports) {
5594
5594
  number = -number;
5595
5595
  }
5596
5596
  if (number < 0x4000000) {
5597
- this.words = [ number & 0x3ffffff ];
5597
+ this.words = [number & 0x3ffffff];
5598
5598
  this.length = 1;
5599
5599
  } else if (number < 0x10000000000000) {
5600
5600
  this.words = [
@@ -5622,7 +5622,7 @@ var solanaWeb3 = (function (exports) {
5622
5622
  // Perhaps a Uint8Array
5623
5623
  assert(typeof number.length === 'number');
5624
5624
  if (number.length <= 0) {
5625
- this.words = [ 0 ];
5625
+ this.words = [0];
5626
5626
  this.length = 1;
5627
5627
  return this;
5628
5628
  }
@@ -5661,39 +5661,31 @@ var solanaWeb3 = (function (exports) {
5661
5661
  return this._strip();
5662
5662
  };
5663
5663
 
5664
- function parseHex (str, start, end) {
5665
- var r = 0;
5666
- var len = Math.min(str.length, end);
5667
- var z = 0;
5668
- for (var i = start; i < len; i++) {
5669
- var c = str.charCodeAt(i) - 48;
5670
-
5671
- r <<= 4;
5672
-
5673
- var b;
5674
-
5675
- // 'a' - 'f'
5676
- if (c >= 49 && c <= 54) {
5677
- b = c - 49 + 0xa;
5678
-
5679
- // 'A' - 'F'
5680
- } else if (c >= 17 && c <= 22) {
5681
- b = c - 17 + 0xa;
5682
-
5683
- // '0' - '9'
5684
- } else {
5685
- b = c;
5686
- }
5687
-
5688
- r |= b;
5689
- z |= b;
5664
+ function parseHex4Bits (string, index) {
5665
+ var c = string.charCodeAt(index);
5666
+ // '0' - '9'
5667
+ if (c >= 48 && c <= 57) {
5668
+ return c - 48;
5669
+ // 'A' - 'F'
5670
+ } else if (c >= 65 && c <= 70) {
5671
+ return c - 55;
5672
+ // 'a' - 'f'
5673
+ } else if (c >= 97 && c <= 102) {
5674
+ return c - 87;
5675
+ } else {
5676
+ assert(false, 'Invalid character in ' + string);
5690
5677
  }
5678
+ }
5691
5679
 
5692
- assert(!(z & 0xf0), 'Invalid character in ' + str);
5680
+ function parseHexByte (string, lowerBound, index) {
5681
+ var r = parseHex4Bits(string, index);
5682
+ if (index - 1 >= lowerBound) {
5683
+ r |= parseHex4Bits(string, index - 1) << 4;
5684
+ }
5693
5685
  return r;
5694
5686
  }
5695
5687
 
5696
- BN.prototype._parseHex = function _parseHex (number, start) {
5688
+ BN.prototype._parseHex = function _parseHex (number, start, endian) {
5697
5689
  // Create possibly bigger array to ensure that it fits the number
5698
5690
  this.length = Math.ceil((number.length - start) / 6);
5699
5691
  this.words = new Array(this.length);
@@ -5701,25 +5693,38 @@ var solanaWeb3 = (function (exports) {
5701
5693
  this.words[i] = 0;
5702
5694
  }
5703
5695
 
5704
- var j, w;
5705
- // Scan 24-bit chunks and add them to the number
5696
+ // 24-bits chunks
5706
5697
  var off = 0;
5707
- for (i = number.length - 6, j = 0; i >= start; i -= 6) {
5708
- w = parseHex(number, i, i + 6);
5709
- this.words[j] |= (w << off) & 0x3ffffff;
5710
- // NOTE: `0x3fffff` is intentional here, 26bits max shift + 24bit hex limb
5711
- this.words[j + 1] |= w >>> (26 - off) & 0x3fffff;
5712
- off += 24;
5713
- if (off >= 26) {
5714
- off -= 26;
5715
- j++;
5698
+ var j = 0;
5699
+
5700
+ var w;
5701
+ if (endian === 'be') {
5702
+ for (i = number.length - 1; i >= start; i -= 2) {
5703
+ w = parseHexByte(number, start, i) << off;
5704
+ this.words[j] |= w & 0x3ffffff;
5705
+ if (off >= 18) {
5706
+ off -= 18;
5707
+ j += 1;
5708
+ this.words[j] |= w >>> 26;
5709
+ } else {
5710
+ off += 8;
5711
+ }
5712
+ }
5713
+ } else {
5714
+ var parseLength = number.length - start;
5715
+ for (i = parseLength % 2 === 0 ? start + 1 : start; i < number.length; i += 2) {
5716
+ w = parseHexByte(number, start, i) << off;
5717
+ this.words[j] |= w & 0x3ffffff;
5718
+ if (off >= 18) {
5719
+ off -= 18;
5720
+ j += 1;
5721
+ this.words[j] |= w >>> 26;
5722
+ } else {
5723
+ off += 8;
5724
+ }
5716
5725
  }
5717
5726
  }
5718
- if (i + 6 !== start) {
5719
- w = parseHex(number, start, i + 6);
5720
- this.words[j] |= (w << off) & 0x3ffffff;
5721
- this.words[j + 1] |= w >>> (26 - off) & 0x3fffff;
5722
- }
5727
+
5723
5728
  this._strip();
5724
5729
  };
5725
5730
 
@@ -5752,7 +5757,7 @@ var solanaWeb3 = (function (exports) {
5752
5757
 
5753
5758
  BN.prototype._parseBase = function _parseBase (number, base, start) {
5754
5759
  // Initialize as zero
5755
- this.words = [ 0 ];
5760
+ this.words = [0];
5756
5761
  this.length = 1;
5757
5762
 
5758
5763
  // Find length of limb in base
@@ -5793,6 +5798,8 @@ var solanaWeb3 = (function (exports) {
5793
5798
  this._iaddn(word);
5794
5799
  }
5795
5800
  }
5801
+
5802
+ this._strip();
5796
5803
  };
5797
5804
 
5798
5805
  BN.prototype.copy = function copy (dest) {
@@ -5805,11 +5812,15 @@ var solanaWeb3 = (function (exports) {
5805
5812
  dest.red = this.red;
5806
5813
  };
5807
5814
 
5815
+ function move (dest, src) {
5816
+ dest.words = src.words;
5817
+ dest.length = src.length;
5818
+ dest.negative = src.negative;
5819
+ dest.red = src.red;
5820
+ }
5821
+
5808
5822
  BN.prototype._move = function _move (dest) {
5809
- dest.words = this.words;
5810
- dest.length = this.length;
5811
- dest.negative = this.negative;
5812
- dest.red = this.red;
5823
+ move(dest, this);
5813
5824
  };
5814
5825
 
5815
5826
  BN.prototype.clone = function clone () {
@@ -5841,9 +5852,21 @@ var solanaWeb3 = (function (exports) {
5841
5852
  return this;
5842
5853
  };
5843
5854
 
5844
- BN.prototype.inspect = function inspect () {
5855
+ // Check Symbol.for because not everywhere where Symbol defined
5856
+ // See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol#Browser_compatibility
5857
+ if (typeof Symbol !== 'undefined' && typeof Symbol.for === 'function') {
5858
+ try {
5859
+ BN.prototype[Symbol.for('nodejs.util.inspect.custom')] = inspect;
5860
+ } catch (e) {
5861
+ BN.prototype.inspect = inspect;
5862
+ }
5863
+ } else {
5864
+ BN.prototype.inspect = inspect;
5865
+ }
5866
+
5867
+ function inspect () {
5845
5868
  return (this.red ? '<BN-R: ' : '<BN: ') + this.toString(16) + '>';
5846
- };
5869
+ }
5847
5870
 
5848
5871
  /*
5849
5872
 
@@ -5935,16 +5958,16 @@ var solanaWeb3 = (function (exports) {
5935
5958
  var w = this.words[i];
5936
5959
  var word = (((w << off) | carry) & 0xffffff).toString(16);
5937
5960
  carry = (w >>> (24 - off)) & 0xffffff;
5938
- if (carry !== 0 || i !== this.length - 1) {
5939
- out = zeros[6 - word.length] + word + out;
5940
- } else {
5941
- out = word + out;
5942
- }
5943
5961
  off += 2;
5944
5962
  if (off >= 26) {
5945
5963
  off -= 26;
5946
5964
  i--;
5947
5965
  }
5966
+ if (carry !== 0 || i !== this.length - 1) {
5967
+ out = zeros[6 - word.length] + word + out;
5968
+ } else {
5969
+ out = word + out;
5970
+ }
5948
5971
  }
5949
5972
  if (carry !== 0) {
5950
5973
  out = carry.toString(16) + out;
@@ -6018,51 +6041,97 @@ var solanaWeb3 = (function (exports) {
6018
6041
  return this.toArrayLike(Array, endian, length);
6019
6042
  };
6020
6043
 
6044
+ var allocate = function allocate (ArrayType, size) {
6045
+ if (ArrayType.allocUnsafe) {
6046
+ return ArrayType.allocUnsafe(size);
6047
+ }
6048
+ return new ArrayType(size);
6049
+ };
6050
+
6021
6051
  BN.prototype.toArrayLike = function toArrayLike (ArrayType, endian, length) {
6052
+ this._strip();
6053
+
6022
6054
  var byteLength = this.byteLength();
6023
6055
  var reqLength = length || Math.max(1, byteLength);
6024
6056
  assert(byteLength <= reqLength, 'byte array longer than desired length');
6025
6057
  assert(reqLength > 0, 'Requested array length <= 0');
6026
6058
 
6027
- this._strip();
6028
- var littleEndian = endian === 'le';
6029
6059
  var res = allocate(ArrayType, reqLength);
6060
+ var postfix = endian === 'le' ? 'LE' : 'BE';
6061
+ this['_toArrayLike' + postfix](res, byteLength);
6062
+ return res;
6063
+ };
6064
+
6065
+ BN.prototype._toArrayLikeLE = function _toArrayLikeLE (res, byteLength) {
6066
+ var position = 0;
6067
+ var carry = 0;
6068
+
6069
+ for (var i = 0, shift = 0; i < this.length; i++) {
6070
+ var word = (this.words[i] << shift) | carry;
6071
+
6072
+ res[position++] = word & 0xff;
6073
+ if (position < res.length) {
6074
+ res[position++] = (word >> 8) & 0xff;
6075
+ }
6076
+ if (position < res.length) {
6077
+ res[position++] = (word >> 16) & 0xff;
6078
+ }
6030
6079
 
6031
- var b, i;
6032
- var q = this.clone();
6033
- if (!littleEndian) {
6034
- // Assume big-endian
6035
- for (i = 0; i < reqLength - byteLength; i++) {
6036
- res[i] = 0;
6080
+ if (shift === 6) {
6081
+ if (position < res.length) {
6082
+ res[position++] = (word >> 24) & 0xff;
6083
+ }
6084
+ carry = 0;
6085
+ shift = 0;
6086
+ } else {
6087
+ carry = word >>> 24;
6088
+ shift += 2;
6037
6089
  }
6090
+ }
6038
6091
 
6039
- for (i = 0; !q.isZero(); i++) {
6040
- b = q.andln(0xff);
6041
- q.iushrn(8);
6092
+ if (position < res.length) {
6093
+ res[position++] = carry;
6042
6094
 
6043
- res[reqLength - i - 1] = b;
6095
+ while (position < res.length) {
6096
+ res[position++] = 0;
6044
6097
  }
6045
- } else {
6046
- for (i = 0; !q.isZero(); i++) {
6047
- b = q.andln(0xff);
6048
- q.iushrn(8);
6098
+ }
6099
+ };
6049
6100
 
6050
- res[i] = b;
6101
+ BN.prototype._toArrayLikeBE = function _toArrayLikeBE (res, byteLength) {
6102
+ var position = res.length - 1;
6103
+ var carry = 0;
6104
+
6105
+ for (var i = 0, shift = 0; i < this.length; i++) {
6106
+ var word = (this.words[i] << shift) | carry;
6107
+
6108
+ res[position--] = word & 0xff;
6109
+ if (position >= 0) {
6110
+ res[position--] = (word >> 8) & 0xff;
6111
+ }
6112
+ if (position >= 0) {
6113
+ res[position--] = (word >> 16) & 0xff;
6051
6114
  }
6052
6115
 
6053
- for (; i < reqLength; i++) {
6054
- res[i] = 0;
6116
+ if (shift === 6) {
6117
+ if (position >= 0) {
6118
+ res[position--] = (word >> 24) & 0xff;
6119
+ }
6120
+ carry = 0;
6121
+ shift = 0;
6122
+ } else {
6123
+ carry = word >>> 24;
6124
+ shift += 2;
6055
6125
  }
6056
6126
  }
6057
6127
 
6058
- return res;
6059
- };
6128
+ if (position >= 0) {
6129
+ res[position--] = carry;
6060
6130
 
6061
- var allocate = function allocate (ArrayType, size) {
6062
- if (ArrayType.allocUnsafe) {
6063
- return ArrayType.allocUnsafe(size);
6131
+ while (position >= 0) {
6132
+ res[position--] = 0;
6133
+ }
6064
6134
  }
6065
- return new ArrayType(size);
6066
6135
  };
6067
6136
 
6068
6137
  if (Math.clz32) {
@@ -6135,7 +6204,7 @@ var solanaWeb3 = (function (exports) {
6135
6204
  var off = (bit / 26) | 0;
6136
6205
  var wbit = bit % 26;
6137
6206
 
6138
- w[bit] = (num.words[off] & (1 << wbit)) >>> wbit;
6207
+ w[bit] = (num.words[off] >>> wbit) & 0x01;
6139
6208
  }
6140
6209
 
6141
6210
  return w;
@@ -7157,8 +7226,10 @@ var solanaWeb3 = (function (exports) {
7157
7226
  }
7158
7227
 
7159
7228
  function jumboMulTo (self, num, out) {
7160
- var fftm = new FFTM();
7161
- return fftm.mulp(self, num, out);
7229
+ // Temporary disable, see https://github.com/indutny/bn.js/issues/211
7230
+ // var fftm = new FFTM();
7231
+ // return fftm.mulp(self, num, out);
7232
+ return bigMulTo(self, num, out);
7162
7233
  }
7163
7234
 
7164
7235
  BN.prototype.mulTo = function mulTo (num, out) {
@@ -7177,202 +7248,6 @@ var solanaWeb3 = (function (exports) {
7177
7248
  return res;
7178
7249
  };
7179
7250
 
7180
- // Cooley-Tukey algorithm for FFT
7181
- // slightly revisited to rely on looping instead of recursion
7182
-
7183
- function FFTM (x, y) {
7184
- this.x = x;
7185
- this.y = y;
7186
- }
7187
-
7188
- FFTM.prototype.makeRBT = function makeRBT (N) {
7189
- var t = new Array(N);
7190
- var l = BN.prototype._countBits(N) - 1;
7191
- for (var i = 0; i < N; i++) {
7192
- t[i] = this.revBin(i, l, N);
7193
- }
7194
-
7195
- return t;
7196
- };
7197
-
7198
- // Returns binary-reversed representation of `x`
7199
- FFTM.prototype.revBin = function revBin (x, l, N) {
7200
- if (x === 0 || x === N - 1) return x;
7201
-
7202
- var rb = 0;
7203
- for (var i = 0; i < l; i++) {
7204
- rb |= (x & 1) << (l - i - 1);
7205
- x >>= 1;
7206
- }
7207
-
7208
- return rb;
7209
- };
7210
-
7211
- // Performs "tweedling" phase, therefore 'emulating'
7212
- // behaviour of the recursive algorithm
7213
- FFTM.prototype.permute = function permute (rbt, rws, iws, rtws, itws, N) {
7214
- for (var i = 0; i < N; i++) {
7215
- rtws[i] = rws[rbt[i]];
7216
- itws[i] = iws[rbt[i]];
7217
- }
7218
- };
7219
-
7220
- FFTM.prototype.transform = function transform (rws, iws, rtws, itws, N, rbt) {
7221
- this.permute(rbt, rws, iws, rtws, itws, N);
7222
-
7223
- for (var s = 1; s < N; s <<= 1) {
7224
- var l = s << 1;
7225
-
7226
- var rtwdf = Math.cos(2 * Math.PI / l);
7227
- var itwdf = Math.sin(2 * Math.PI / l);
7228
-
7229
- for (var p = 0; p < N; p += l) {
7230
- var rtwdf_ = rtwdf;
7231
- var itwdf_ = itwdf;
7232
-
7233
- for (var j = 0; j < s; j++) {
7234
- var re = rtws[p + j];
7235
- var ie = itws[p + j];
7236
-
7237
- var ro = rtws[p + j + s];
7238
- var io = itws[p + j + s];
7239
-
7240
- var rx = rtwdf_ * ro - itwdf_ * io;
7241
-
7242
- io = rtwdf_ * io + itwdf_ * ro;
7243
- ro = rx;
7244
-
7245
- rtws[p + j] = re + ro;
7246
- itws[p + j] = ie + io;
7247
-
7248
- rtws[p + j + s] = re - ro;
7249
- itws[p + j + s] = ie - io;
7250
-
7251
- /* jshint maxdepth : false */
7252
- if (j !== l) {
7253
- rx = rtwdf * rtwdf_ - itwdf * itwdf_;
7254
-
7255
- itwdf_ = rtwdf * itwdf_ + itwdf * rtwdf_;
7256
- rtwdf_ = rx;
7257
- }
7258
- }
7259
- }
7260
- }
7261
- };
7262
-
7263
- FFTM.prototype.guessLen13b = function guessLen13b (n, m) {
7264
- var N = Math.max(m, n) | 1;
7265
- var odd = N & 1;
7266
- var i = 0;
7267
- for (N = N / 2 | 0; N; N = N >>> 1) {
7268
- i++;
7269
- }
7270
-
7271
- return 1 << i + 1 + odd;
7272
- };
7273
-
7274
- FFTM.prototype.conjugate = function conjugate (rws, iws, N) {
7275
- if (N <= 1) return;
7276
-
7277
- for (var i = 0; i < N / 2; i++) {
7278
- var t = rws[i];
7279
-
7280
- rws[i] = rws[N - i - 1];
7281
- rws[N - i - 1] = t;
7282
-
7283
- t = iws[i];
7284
-
7285
- iws[i] = -iws[N - i - 1];
7286
- iws[N - i - 1] = -t;
7287
- }
7288
- };
7289
-
7290
- FFTM.prototype.normalize13b = function normalize13b (ws, N) {
7291
- var carry = 0;
7292
- for (var i = 0; i < N / 2; i++) {
7293
- var w = Math.round(ws[2 * i + 1] / N) * 0x2000 +
7294
- Math.round(ws[2 * i] / N) +
7295
- carry;
7296
-
7297
- ws[i] = w & 0x3ffffff;
7298
-
7299
- if (w < 0x4000000) {
7300
- carry = 0;
7301
- } else {
7302
- carry = w / 0x4000000 | 0;
7303
- }
7304
- }
7305
-
7306
- return ws;
7307
- };
7308
-
7309
- FFTM.prototype.convert13b = function convert13b (ws, len, rws, N) {
7310
- var carry = 0;
7311
- for (var i = 0; i < len; i++) {
7312
- carry = carry + (ws[i] | 0);
7313
-
7314
- rws[2 * i] = carry & 0x1fff; carry = carry >>> 13;
7315
- rws[2 * i + 1] = carry & 0x1fff; carry = carry >>> 13;
7316
- }
7317
-
7318
- // Pad with zeroes
7319
- for (i = 2 * len; i < N; ++i) {
7320
- rws[i] = 0;
7321
- }
7322
-
7323
- assert(carry === 0);
7324
- assert((carry & ~0x1fff) === 0);
7325
- };
7326
-
7327
- FFTM.prototype.stub = function stub (N) {
7328
- var ph = new Array(N);
7329
- for (var i = 0; i < N; i++) {
7330
- ph[i] = 0;
7331
- }
7332
-
7333
- return ph;
7334
- };
7335
-
7336
- FFTM.prototype.mulp = function mulp (x, y, out) {
7337
- var N = 2 * this.guessLen13b(x.length, y.length);
7338
-
7339
- var rbt = this.makeRBT(N);
7340
-
7341
- var _ = this.stub(N);
7342
-
7343
- var rws = new Array(N);
7344
- var rwst = new Array(N);
7345
- var iwst = new Array(N);
7346
-
7347
- var nrws = new Array(N);
7348
- var nrwst = new Array(N);
7349
- var niwst = new Array(N);
7350
-
7351
- var rmws = out.words;
7352
- rmws.length = N;
7353
-
7354
- this.convert13b(x.words, x.length, rws, N);
7355
- this.convert13b(y.words, y.length, nrws, N);
7356
-
7357
- this.transform(rws, _, rwst, iwst, N, rbt);
7358
- this.transform(nrws, _, nrwst, niwst, N, rbt);
7359
-
7360
- for (var i = 0; i < N; i++) {
7361
- var rx = rwst[i] * nrwst[i] - iwst[i] * niwst[i];
7362
- iwst[i] = rwst[i] * niwst[i] + iwst[i] * nrwst[i];
7363
- rwst[i] = rx;
7364
- }
7365
-
7366
- this.conjugate(rwst, iwst, N);
7367
- this.transform(rwst, iwst, rmws, _, N, rbt);
7368
- this.conjugate(rmws, _, N);
7369
- this.normalize13b(rmws, N);
7370
-
7371
- out.negative = x.negative ^ y.negative;
7372
- out.length = x.length + y.length;
7373
- return out._strip();
7374
- };
7375
-
7376
7251
  // Multiply `this` by `num`
7377
7252
  BN.prototype.mul = function mul (num) {
7378
7253
  var out = new BN(null);
@@ -7636,7 +7511,7 @@ var solanaWeb3 = (function (exports) {
7636
7511
 
7637
7512
  // Possible sign change
7638
7513
  if (this.negative !== 0) {
7639
- if (this.length === 1 && (this.words[0] | 0) < num) {
7514
+ if (this.length === 1 && (this.words[0] | 0) <= num) {
7640
7515
  this.words[0] = num - (this.words[0] | 0);
7641
7516
  this.negative = 0;
7642
7517
  return this;
@@ -7953,7 +7828,7 @@ var solanaWeb3 = (function (exports) {
7953
7828
  var cmp = mod.cmp(half);
7954
7829
 
7955
7830
  // Round down
7956
- if (cmp < 0 || r2 === 1 && cmp === 0) return dm.div;
7831
+ if (cmp < 0 || (r2 === 1 && cmp === 0)) return dm.div;
7957
7832
 
7958
7833
  // Round up
7959
7834
  return dm.div.negative !== 0 ? dm.div.isubn(1) : dm.div.iaddn(1);
@@ -8489,7 +8364,13 @@ var solanaWeb3 = (function (exports) {
8489
8364
  } else if (cmp > 0) {
8490
8365
  r.isub(this.p);
8491
8366
  } else {
8492
- r._strip();
8367
+ if (r.strip !== undefined) {
8368
+ // r is a BN v4 instance
8369
+ r.strip();
8370
+ } else {
8371
+ // r is a BN v5 instance
8372
+ r._strip();
8373
+ }
8493
8374
  }
8494
8375
 
8495
8376
  return r;
@@ -8663,7 +8544,7 @@ var solanaWeb3 = (function (exports) {
8663
8544
  Red.prototype.imod = function imod (a) {
8664
8545
  if (this.prime) return this.prime.ireduce(a)._forceRed(this);
8665
8546
 
8666
- a.umod(this.m)._forceRed(this)._move(a);
8547
+ move(a, a.umod(this.m)._forceRed(this));
8667
8548
  return a;
8668
8549
  };
8669
8550
 
@@ -23884,7 +23765,7 @@ var solanaWeb3 = (function (exports) {
23884
23765
  accounts = config === null || config === void 0 ? void 0 : (_config$lockedWritabl = config.lockedWritableAccounts) === null || _config$lockedWritabl === void 0 ? void 0 : _config$lockedWritabl.map(function (key) {
23885
23766
  return key.toBase58();
23886
23767
  });
23887
- args = this._buildArgs(accounts !== null && accounts !== void 0 && accounts.length ? [accounts] : []);
23768
+ args = accounts !== null && accounts !== void 0 && accounts.length ? [accounts] : [];
23888
23769
  _context56.next = 4;
23889
23770
  return this._rpcRequest('getRecentPrioritizationFees', args);
23890
23771
  case 4: