@fuel-ts/account 0.85.0 → 0.86.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of @fuel-ts/account might be problematic. Click here for more details.

Files changed (42) hide show
  1. package/dist/account.d.ts.map +1 -1
  2. package/dist/hdwallet/hdwallet.d.ts.map +1 -1
  3. package/dist/index.global.js +1694 -2854
  4. package/dist/index.global.js.map +1 -1
  5. package/dist/index.js +304 -298
  6. package/dist/index.js.map +1 -1
  7. package/dist/index.mjs +194 -201
  8. package/dist/index.mjs.map +1 -1
  9. package/dist/mnemonic/mnemonic.d.ts.map +1 -1
  10. package/dist/mnemonic/utils.d.ts +0 -1
  11. package/dist/mnemonic/utils.d.ts.map +1 -1
  12. package/dist/predicate/predicate.d.ts +9 -2
  13. package/dist/predicate/predicate.d.ts.map +1 -1
  14. package/dist/providers/coin.d.ts +0 -1
  15. package/dist/providers/coin.d.ts.map +1 -1
  16. package/dist/providers/message.d.ts +0 -1
  17. package/dist/providers/message.d.ts.map +1 -1
  18. package/dist/providers/provider.d.ts +1 -1
  19. package/dist/providers/provider.d.ts.map +1 -1
  20. package/dist/providers/transaction-request/helpers.d.ts +4 -0
  21. package/dist/providers/transaction-request/helpers.d.ts.map +1 -1
  22. package/dist/providers/transaction-request/index.d.ts +1 -0
  23. package/dist/providers/transaction-request/index.d.ts.map +1 -1
  24. package/dist/providers/transaction-request/input.d.ts +0 -2
  25. package/dist/providers/transaction-request/input.d.ts.map +1 -1
  26. package/dist/providers/transaction-request/transaction-request.d.ts +2 -1
  27. package/dist/providers/transaction-request/transaction-request.d.ts.map +1 -1
  28. package/dist/providers/transaction-request/utils.d.ts +0 -4
  29. package/dist/providers/transaction-request/utils.d.ts.map +1 -1
  30. package/dist/providers/transaction-summary/call.d.ts +1 -1
  31. package/dist/providers/transaction-summary/call.d.ts.map +1 -1
  32. package/dist/test-utils/seedTestWallet.d.ts +1 -1
  33. package/dist/test-utils/seedTestWallet.d.ts.map +1 -1
  34. package/dist/test-utils.global.js +1422 -2616
  35. package/dist/test-utils.global.js.map +1 -1
  36. package/dist/test-utils.js +247 -288
  37. package/dist/test-utils.js.map +1 -1
  38. package/dist/test-utils.mjs +147 -188
  39. package/dist/test-utils.mjs.map +1 -1
  40. package/dist/wallet/base-wallet-unlocked.d.ts +2 -2
  41. package/dist/wallet/base-wallet-unlocked.d.ts.map +1 -1
  42. package/package.json +15 -16
@@ -64,7 +64,7 @@ var import_utils31 = require("@fuel-ts/utils");
64
64
  var import_address4 = require("@fuel-ts/address");
65
65
  var import_errors16 = require("@fuel-ts/errors");
66
66
  var import_interfaces = require("@fuel-ts/interfaces");
67
- var import_math21 = require("@fuel-ts/math");
67
+ var import_math20 = require("@fuel-ts/math");
68
68
  var import_utils28 = require("@fuel-ts/utils");
69
69
  var import_ramda4 = require("ramda");
70
70
 
@@ -107,7 +107,7 @@ var addAmountToCoinQuantities = (params) => {
107
107
  var import_address3 = require("@fuel-ts/address");
108
108
  var import_errors14 = require("@fuel-ts/errors");
109
109
  var import_math17 = require("@fuel-ts/math");
110
- var import_transactions19 = require("@fuel-ts/transactions");
110
+ var import_transactions20 = require("@fuel-ts/transactions");
111
111
  var import_utils22 = require("@fuel-ts/utils");
112
112
  var import_versions = require("@fuel-ts/versions");
113
113
  var import_utils23 = require("@noble/curves/abstract/utils");
@@ -1324,8 +1324,8 @@ var import_abi_coder2 = require("@fuel-ts/abi-coder");
1324
1324
  var import_address = require("@fuel-ts/address");
1325
1325
  var import_configs6 = require("@fuel-ts/address/configs");
1326
1326
  var import_crypto = require("@fuel-ts/crypto");
1327
- var import_math7 = require("@fuel-ts/math");
1328
- var import_transactions6 = require("@fuel-ts/transactions");
1327
+ var import_math8 = require("@fuel-ts/math");
1328
+ var import_transactions7 = require("@fuel-ts/transactions");
1329
1329
  var import_utils9 = require("@fuel-ts/utils");
1330
1330
 
1331
1331
  // src/providers/resource.ts
@@ -1758,6 +1758,36 @@ var NoWitnessAtIndexError = class extends Error {
1758
1758
  name = "NoWitnessAtIndexError";
1759
1759
  };
1760
1760
 
1761
+ // src/providers/transaction-request/helpers.ts
1762
+ var import_math7 = require("@fuel-ts/math");
1763
+ var import_transactions6 = require("@fuel-ts/transactions");
1764
+ var isRequestInputCoin = (input) => input.type === import_transactions6.InputType.Coin;
1765
+ var isRequestInputMessage = (input) => input.type === import_transactions6.InputType.Message;
1766
+ var isRequestInputResource = (input) => isRequestInputCoin(input) || isRequestInputMessage(input);
1767
+ var getAssetAmountInRequestInputs = (inputs, assetId, baseAsset) => inputs.filter(isRequestInputResource).reduce((acc, input) => {
1768
+ if (isRequestInputCoin(input) && input.assetId === assetId) {
1769
+ return acc.add(input.amount);
1770
+ }
1771
+ if (isRequestInputMessage(input) && assetId === baseAsset) {
1772
+ return acc.add(input.amount);
1773
+ }
1774
+ return acc;
1775
+ }, (0, import_math7.bn)(0));
1776
+ var cacheRequestInputsResourcesFromOwner = (inputs, owner) => inputs.reduce(
1777
+ (acc, input) => {
1778
+ if (isRequestInputCoin(input) && input.owner === owner.toB256()) {
1779
+ acc.utxos.push(input.id);
1780
+ } else if (isRequestInputMessage(input) && input.recipient === owner.toB256()) {
1781
+ acc.messages.push(input.nonce);
1782
+ }
1783
+ return acc;
1784
+ },
1785
+ {
1786
+ utxos: [],
1787
+ messages: []
1788
+ }
1789
+ );
1790
+
1761
1791
  // src/providers/transaction-request/witness.ts
1762
1792
  var import_utils8 = require("@fuel-ts/utils");
1763
1793
  var witnessify = (value) => {
@@ -1798,10 +1828,10 @@ var BaseTransactionRequest = class {
1798
1828
  outputs,
1799
1829
  witnesses
1800
1830
  } = {}) {
1801
- this.tip = tip ? (0, import_math7.bn)(tip) : void 0;
1831
+ this.tip = tip ? (0, import_math8.bn)(tip) : void 0;
1802
1832
  this.maturity = maturity && maturity > 0 ? maturity : void 0;
1803
- this.witnessLimit = (0, import_utils9.isDefined)(witnessLimit) ? (0, import_math7.bn)(witnessLimit) : void 0;
1804
- this.maxFee = (0, import_math7.bn)(maxFee);
1833
+ this.witnessLimit = (0, import_utils9.isDefined)(witnessLimit) ? (0, import_math8.bn)(witnessLimit) : void 0;
1834
+ this.maxFee = (0, import_math8.bn)(maxFee);
1805
1835
  this.inputs = inputs ?? [];
1806
1836
  this.outputs = outputs ?? [];
1807
1837
  this.witnesses = witnesses ?? [];
@@ -1810,20 +1840,20 @@ var BaseTransactionRequest = class {
1810
1840
  let policyTypes = 0;
1811
1841
  const policies = [];
1812
1842
  const { tip, witnessLimit, maturity } = req;
1813
- if ((0, import_math7.bn)(tip).gt(0)) {
1814
- policyTypes += import_transactions6.PolicyType.Tip;
1815
- policies.push({ data: (0, import_math7.bn)(tip), type: import_transactions6.PolicyType.Tip });
1843
+ if ((0, import_math8.bn)(tip).gt(0)) {
1844
+ policyTypes += import_transactions7.PolicyType.Tip;
1845
+ policies.push({ data: (0, import_math8.bn)(tip), type: import_transactions7.PolicyType.Tip });
1816
1846
  }
1817
- if ((0, import_utils9.isDefined)(witnessLimit) && (0, import_math7.bn)(witnessLimit).gte(0)) {
1818
- policyTypes += import_transactions6.PolicyType.WitnessLimit;
1819
- policies.push({ data: (0, import_math7.bn)(witnessLimit), type: import_transactions6.PolicyType.WitnessLimit });
1847
+ if ((0, import_utils9.isDefined)(witnessLimit) && (0, import_math8.bn)(witnessLimit).gte(0)) {
1848
+ policyTypes += import_transactions7.PolicyType.WitnessLimit;
1849
+ policies.push({ data: (0, import_math8.bn)(witnessLimit), type: import_transactions7.PolicyType.WitnessLimit });
1820
1850
  }
1821
1851
  if (maturity && maturity > 0) {
1822
- policyTypes += import_transactions6.PolicyType.Maturity;
1823
- policies.push({ data: maturity, type: import_transactions6.PolicyType.Maturity });
1852
+ policyTypes += import_transactions7.PolicyType.Maturity;
1853
+ policies.push({ data: maturity, type: import_transactions7.PolicyType.Maturity });
1824
1854
  }
1825
- policyTypes += import_transactions6.PolicyType.MaxFee;
1826
- policies.push({ data: req.maxFee, type: import_transactions6.PolicyType.MaxFee });
1855
+ policyTypes += import_transactions7.PolicyType.MaxFee;
1856
+ policies.push({ data: req.maxFee, type: import_transactions7.PolicyType.MaxFee });
1827
1857
  return {
1828
1858
  policyTypes,
1829
1859
  policies
@@ -1856,7 +1886,7 @@ var BaseTransactionRequest = class {
1856
1886
  * @returns The transaction bytes.
1857
1887
  */
1858
1888
  toTransactionBytes() {
1859
- return new import_transactions6.TransactionCoder().encode(this.toTransaction());
1889
+ return new import_transactions7.TransactionCoder().encode(this.toTransaction());
1860
1890
  }
1861
1891
  /**
1862
1892
  * @hidden
@@ -1947,7 +1977,7 @@ var BaseTransactionRequest = class {
1947
1977
  */
1948
1978
  getCoinInputs() {
1949
1979
  return this.inputs.filter(
1950
- (input) => input.type === import_transactions6.InputType.Coin
1980
+ (input) => input.type === import_transactions7.InputType.Coin
1951
1981
  );
1952
1982
  }
1953
1983
  /**
@@ -1957,7 +1987,7 @@ var BaseTransactionRequest = class {
1957
1987
  */
1958
1988
  getCoinOutputs() {
1959
1989
  return this.outputs.filter(
1960
- (output) => output.type === import_transactions6.OutputType.Coin
1990
+ (output) => output.type === import_transactions7.OutputType.Coin
1961
1991
  );
1962
1992
  }
1963
1993
  /**
@@ -1967,7 +1997,7 @@ var BaseTransactionRequest = class {
1967
1997
  */
1968
1998
  getChangeOutputs() {
1969
1999
  return this.outputs.filter(
1970
- (output) => output.type === import_transactions6.OutputType.Change
2000
+ (output) => output.type === import_transactions7.OutputType.Change
1971
2001
  );
1972
2002
  }
1973
2003
  /**
@@ -1979,9 +2009,9 @@ var BaseTransactionRequest = class {
1979
2009
  const ownerAddress = (0, import_address.addressify)(owner);
1980
2010
  const found = this.inputs.find((input) => {
1981
2011
  switch (input.type) {
1982
- case import_transactions6.InputType.Coin:
2012
+ case import_transactions7.InputType.Coin:
1983
2013
  return (0, import_utils9.hexlify)(input.owner) === ownerAddress.toB256();
1984
- case import_transactions6.InputType.Message:
2014
+ case import_transactions7.InputType.Message:
1985
2015
  return (0, import_utils9.hexlify)(input.recipient) === ownerAddress.toB256();
1986
2016
  default:
1987
2017
  return false;
@@ -1996,7 +2026,7 @@ var BaseTransactionRequest = class {
1996
2026
  * @param coin - Coin resource.
1997
2027
  */
1998
2028
  addCoinInput(coin) {
1999
- const { assetId, owner, amount } = coin;
2029
+ const { assetId, owner, amount, id, predicate } = coin;
2000
2030
  let witnessIndex;
2001
2031
  if (coin.predicate) {
2002
2032
  witnessIndex = 0;
@@ -2007,13 +2037,14 @@ var BaseTransactionRequest = class {
2007
2037
  }
2008
2038
  }
2009
2039
  const input = {
2010
- ...coin,
2011
- type: import_transactions6.InputType.Coin,
2040
+ id,
2041
+ type: import_transactions7.InputType.Coin,
2012
2042
  owner: owner.toB256(),
2013
2043
  amount,
2014
2044
  assetId,
2015
2045
  txPointer: "0x00000000000000000000000000000000",
2016
- witnessIndex
2046
+ witnessIndex,
2047
+ predicate
2017
2048
  };
2018
2049
  this.pushInput(input);
2019
2050
  this.addChangeOutput(owner, assetId);
@@ -2025,7 +2056,7 @@ var BaseTransactionRequest = class {
2025
2056
  * @param message - Message resource.
2026
2057
  */
2027
2058
  addMessageInput(message) {
2028
- const { recipient, sender, amount, assetId } = message;
2059
+ const { recipient, sender, amount, predicate, nonce, assetId } = message;
2029
2060
  let witnessIndex;
2030
2061
  if (message.predicate) {
2031
2062
  witnessIndex = 0;
@@ -2036,12 +2067,13 @@ var BaseTransactionRequest = class {
2036
2067
  }
2037
2068
  }
2038
2069
  const input = {
2039
- ...message,
2040
- type: import_transactions6.InputType.Message,
2070
+ nonce,
2071
+ type: import_transactions7.InputType.Message,
2041
2072
  sender: sender.toB256(),
2042
2073
  recipient: recipient.toB256(),
2043
2074
  amount,
2044
- witnessIndex
2075
+ witnessIndex,
2076
+ predicate
2045
2077
  };
2046
2078
  this.pushInput(input);
2047
2079
  this.addChangeOutput(recipient, assetId);
@@ -2081,7 +2113,7 @@ var BaseTransactionRequest = class {
2081
2113
  */
2082
2114
  addCoinOutput(to, amount, assetId) {
2083
2115
  this.pushOutput({
2084
- type: import_transactions6.OutputType.Coin,
2116
+ type: import_transactions7.OutputType.Coin,
2085
2117
  to: (0, import_address.addressify)(to).toB256(),
2086
2118
  amount,
2087
2119
  assetId
@@ -2097,7 +2129,7 @@ var BaseTransactionRequest = class {
2097
2129
  addCoinOutputs(to, quantities) {
2098
2130
  quantities.map(coinQuantityfy).forEach((quantity) => {
2099
2131
  this.pushOutput({
2100
- type: import_transactions6.OutputType.Coin,
2132
+ type: import_transactions7.OutputType.Coin,
2101
2133
  to: (0, import_address.addressify)(to).toB256(),
2102
2134
  amount: quantity.amount,
2103
2135
  assetId: quantity.assetId
@@ -2117,7 +2149,7 @@ var BaseTransactionRequest = class {
2117
2149
  );
2118
2150
  if (!changeOutput) {
2119
2151
  this.pushOutput({
2120
- type: import_transactions6.OutputType.Change,
2152
+ type: import_transactions7.OutputType.Change,
2121
2153
  to: (0, import_address.addressify)(to).toB256(),
2122
2154
  assetId
2123
2155
  });
@@ -2188,7 +2220,7 @@ var BaseTransactionRequest = class {
2188
2220
  const assetInput = findAssetInput(assetId);
2189
2221
  let usedQuantity = quantity;
2190
2222
  if (assetId === baseAssetId) {
2191
- usedQuantity = (0, import_math7.bn)("1000000000000000000");
2223
+ usedQuantity = (0, import_math8.bn)("1000000000000000000");
2192
2224
  }
2193
2225
  if (assetInput && "assetId" in assetInput) {
2194
2226
  assetInput.id = (0, import_utils9.hexlify)((0, import_crypto.randomBytes)(import_abi_coder2.UTXO_ID_LEN));
@@ -2200,13 +2232,13 @@ var BaseTransactionRequest = class {
2200
2232
  amount: usedQuantity,
2201
2233
  assetId,
2202
2234
  owner: resourcesOwner || import_address.Address.fromRandom(),
2203
- blockCreated: (0, import_math7.bn)(1),
2204
- txCreatedIdx: (0, import_math7.bn)(1)
2235
+ blockCreated: (0, import_math8.bn)(1),
2236
+ txCreatedIdx: (0, import_math8.bn)(1)
2205
2237
  }
2206
2238
  ]);
2207
2239
  }
2208
2240
  };
2209
- updateAssetInput(baseAssetId, (0, import_math7.bn)(1e11));
2241
+ updateAssetInput(baseAssetId, (0, import_math8.bn)(1e11));
2210
2242
  quantities.forEach((q) => updateAssetInput(q.assetId, q.amount));
2211
2243
  }
2212
2244
  /**
@@ -2217,7 +2249,7 @@ var BaseTransactionRequest = class {
2217
2249
  */
2218
2250
  getCoinOutputsQuantities() {
2219
2251
  const coinsQuantities = this.getCoinOutputs().map(({ amount, assetId }) => ({
2220
- amount: (0, import_math7.bn)(amount),
2252
+ amount: (0, import_math8.bn)(amount),
2221
2253
  assetId: assetId.toString()
2222
2254
  }));
2223
2255
  return coinsQuantities;
@@ -2231,73 +2263,75 @@ var BaseTransactionRequest = class {
2231
2263
  toJSON() {
2232
2264
  return normalizeJSON(this);
2233
2265
  }
2266
+ removeWitness(index) {
2267
+ this.witnesses.splice(index, 1);
2268
+ this.adjustWitnessIndexes(index);
2269
+ }
2270
+ adjustWitnessIndexes(removedIndex) {
2271
+ this.inputs.filter(isRequestInputResource).forEach((input) => {
2272
+ if (input.witnessIndex > removedIndex) {
2273
+ input.witnessIndex -= 1;
2274
+ }
2275
+ });
2276
+ }
2234
2277
  updatePredicateGasUsed(inputs) {
2235
2278
  this.inputs.forEach((i) => {
2236
2279
  let correspondingInput;
2237
2280
  switch (i.type) {
2238
- case import_transactions6.InputType.Coin:
2239
- correspondingInput = inputs.find((x) => x.type === import_transactions6.InputType.Coin && x.owner === i.owner);
2281
+ case import_transactions7.InputType.Coin:
2282
+ correspondingInput = inputs.find((x) => x.type === import_transactions7.InputType.Coin && x.owner === i.owner);
2240
2283
  break;
2241
- case import_transactions6.InputType.Message:
2284
+ case import_transactions7.InputType.Message:
2242
2285
  correspondingInput = inputs.find(
2243
- (x) => x.type === import_transactions6.InputType.Message && x.sender === i.sender
2286
+ (x) => x.type === import_transactions7.InputType.Message && x.sender === i.sender
2244
2287
  );
2245
2288
  break;
2246
2289
  default:
2247
2290
  return;
2248
2291
  }
2249
- if (correspondingInput && "predicateGasUsed" in correspondingInput && (0, import_math7.bn)(correspondingInput.predicateGasUsed).gt(0)) {
2292
+ if (correspondingInput && "predicateGasUsed" in correspondingInput && (0, import_math8.bn)(correspondingInput.predicateGasUsed).gt(0)) {
2250
2293
  i.predicate = correspondingInput.predicate;
2251
2294
  i.predicateData = correspondingInput.predicateData;
2252
2295
  i.predicateGasUsed = correspondingInput.predicateGasUsed;
2253
2296
  }
2254
2297
  });
2255
2298
  }
2256
- shiftPredicateData() {
2257
- this.inputs.forEach((input) => {
2258
- if ("predicateData" in input && "padPredicateData" in input && typeof input.padPredicateData === "function") {
2259
- input.predicateData = input.padPredicateData(
2260
- BaseTransactionRequest.getPolicyMeta(this).policies.length
2261
- );
2262
- }
2263
- });
2264
- }
2265
2299
  };
2266
2300
 
2267
2301
  // src/providers/transaction-request/create-transaction-request.ts
2268
2302
  var import_configs8 = require("@fuel-ts/address/configs");
2269
- var import_math9 = require("@fuel-ts/math");
2270
- var import_transactions8 = require("@fuel-ts/transactions");
2303
+ var import_math10 = require("@fuel-ts/math");
2304
+ var import_transactions9 = require("@fuel-ts/transactions");
2271
2305
  var import_utils13 = require("@fuel-ts/utils");
2272
2306
 
2273
2307
  // src/providers/transaction-request/hash-transaction.ts
2274
2308
  var import_configs7 = require("@fuel-ts/address/configs");
2275
2309
  var import_hasher = require("@fuel-ts/hasher");
2276
- var import_math8 = require("@fuel-ts/math");
2277
- var import_transactions7 = require("@fuel-ts/transactions");
2310
+ var import_math9 = require("@fuel-ts/math");
2311
+ var import_transactions8 = require("@fuel-ts/transactions");
2278
2312
  var import_utils11 = require("@fuel-ts/utils");
2279
2313
  var import_ramda2 = require("ramda");
2280
2314
  function hashTransaction(transactionRequest, chainId) {
2281
2315
  const transaction = transactionRequest.toTransaction();
2282
- if (transaction.type === import_transactions7.TransactionType.Script) {
2316
+ if (transaction.type === import_transactions8.TransactionType.Script) {
2283
2317
  transaction.receiptsRoot = import_configs7.ZeroBytes32;
2284
2318
  }
2285
2319
  transaction.inputs = transaction.inputs.map((input) => {
2286
2320
  const inputClone = (0, import_ramda2.clone)(input);
2287
2321
  switch (inputClone.type) {
2288
- case import_transactions7.InputType.Coin: {
2322
+ case import_transactions8.InputType.Coin: {
2289
2323
  inputClone.txPointer = {
2290
2324
  blockHeight: 0,
2291
2325
  txIndex: 0
2292
2326
  };
2293
- inputClone.predicateGasUsed = (0, import_math8.bn)(0);
2327
+ inputClone.predicateGasUsed = (0, import_math9.bn)(0);
2294
2328
  return inputClone;
2295
2329
  }
2296
- case import_transactions7.InputType.Message: {
2297
- inputClone.predicateGasUsed = (0, import_math8.bn)(0);
2330
+ case import_transactions8.InputType.Message: {
2331
+ inputClone.predicateGasUsed = (0, import_math9.bn)(0);
2298
2332
  return inputClone;
2299
2333
  }
2300
- case import_transactions7.InputType.Contract: {
2334
+ case import_transactions8.InputType.Contract: {
2301
2335
  inputClone.txPointer = {
2302
2336
  blockHeight: 0,
2303
2337
  txIndex: 0
@@ -2315,18 +2349,18 @@ function hashTransaction(transactionRequest, chainId) {
2315
2349
  transaction.outputs = transaction.outputs.map((output) => {
2316
2350
  const outputClone = (0, import_ramda2.clone)(output);
2317
2351
  switch (outputClone.type) {
2318
- case import_transactions7.OutputType.Contract: {
2352
+ case import_transactions8.OutputType.Contract: {
2319
2353
  outputClone.balanceRoot = import_configs7.ZeroBytes32;
2320
2354
  outputClone.stateRoot = import_configs7.ZeroBytes32;
2321
2355
  return outputClone;
2322
2356
  }
2323
- case import_transactions7.OutputType.Change: {
2324
- outputClone.amount = (0, import_math8.bn)(0);
2357
+ case import_transactions8.OutputType.Change: {
2358
+ outputClone.amount = (0, import_math9.bn)(0);
2325
2359
  return outputClone;
2326
2360
  }
2327
- case import_transactions7.OutputType.Variable: {
2361
+ case import_transactions8.OutputType.Variable: {
2328
2362
  outputClone.to = import_configs7.ZeroBytes32;
2329
- outputClone.amount = (0, import_math8.bn)(0);
2363
+ outputClone.amount = (0, import_math9.bn)(0);
2330
2364
  outputClone.assetId = import_configs7.ZeroBytes32;
2331
2365
  return outputClone;
2332
2366
  }
@@ -2337,7 +2371,7 @@ function hashTransaction(transactionRequest, chainId) {
2337
2371
  transaction.witnessesCount = 0;
2338
2372
  transaction.witnesses = [];
2339
2373
  const chainIdBytes = (0, import_hasher.uint64ToBytesBE)(chainId);
2340
- const concatenatedData = (0, import_utils11.concat)([chainIdBytes, new import_transactions7.TransactionCoder().encode(transaction)]);
2374
+ const concatenatedData = (0, import_utils11.concat)([chainIdBytes, new import_transactions8.TransactionCoder().encode(transaction)]);
2341
2375
  return (0, import_hasher.sha256)(concatenatedData);
2342
2376
  }
2343
2377
 
@@ -2373,7 +2407,7 @@ var CreateTransactionRequest = class extends BaseTransactionRequest {
2373
2407
  return new this(obj);
2374
2408
  }
2375
2409
  /** Type of the transaction */
2376
- type = import_transactions8.TransactionType.Create;
2410
+ type = import_transactions9.TransactionType.Create;
2377
2411
  /** Witness index of contract bytecode to create */
2378
2412
  bytecodeWitnessIndex;
2379
2413
  /** Salt */
@@ -2401,10 +2435,10 @@ var CreateTransactionRequest = class extends BaseTransactionRequest {
2401
2435
  const bytecodeWitnessIndex = this.bytecodeWitnessIndex;
2402
2436
  const storageSlots = this.storageSlots?.map(storageSlotify) ?? [];
2403
2437
  return {
2404
- type: import_transactions8.TransactionType.Create,
2438
+ type: import_transactions9.TransactionType.Create,
2405
2439
  ...baseTransaction,
2406
2440
  bytecodeWitnessIndex,
2407
- storageSlotsCount: (0, import_math9.bn)(storageSlots.length),
2441
+ storageSlotsCount: (0, import_math10.bn)(storageSlots.length),
2408
2442
  salt: this.salt ? (0, import_utils13.hexlify)(this.salt) : import_configs8.ZeroBytes32,
2409
2443
  storageSlots
2410
2444
  };
@@ -2416,7 +2450,7 @@ var CreateTransactionRequest = class extends BaseTransactionRequest {
2416
2450
  */
2417
2451
  getContractCreatedOutputs() {
2418
2452
  return this.outputs.filter(
2419
- (output) => output.type === import_transactions8.OutputType.ContractCreated
2453
+ (output) => output.type === import_transactions9.OutputType.ContractCreated
2420
2454
  );
2421
2455
  }
2422
2456
  /**
@@ -2437,14 +2471,14 @@ var CreateTransactionRequest = class extends BaseTransactionRequest {
2437
2471
  */
2438
2472
  addContractCreatedOutput(contractId, stateRoot) {
2439
2473
  this.pushOutput({
2440
- type: import_transactions8.OutputType.ContractCreated,
2474
+ type: import_transactions9.OutputType.ContractCreated,
2441
2475
  contractId,
2442
2476
  stateRoot
2443
2477
  });
2444
2478
  }
2445
2479
  metadataGas(gasCosts) {
2446
2480
  return calculateMetadataGasForTxCreate({
2447
- contractBytesSize: (0, import_math9.bn)((0, import_utils13.arrayify)(this.witnesses[this.bytecodeWitnessIndex] || "0x").length),
2481
+ contractBytesSize: (0, import_math10.bn)((0, import_utils13.arrayify)(this.witnesses[this.bytecodeWitnessIndex] || "0x").length),
2448
2482
  gasCosts,
2449
2483
  stateRootSize: this.storageSlots.length,
2450
2484
  txBytesSize: this.byteSize()
@@ -2456,8 +2490,8 @@ var CreateTransactionRequest = class extends BaseTransactionRequest {
2456
2490
  var import_abi_coder3 = require("@fuel-ts/abi-coder");
2457
2491
  var import_address2 = require("@fuel-ts/address");
2458
2492
  var import_configs9 = require("@fuel-ts/address/configs");
2459
- var import_math10 = require("@fuel-ts/math");
2460
- var import_transactions9 = require("@fuel-ts/transactions");
2493
+ var import_math11 = require("@fuel-ts/math");
2494
+ var import_transactions10 = require("@fuel-ts/transactions");
2461
2495
  var import_utils15 = require("@fuel-ts/utils");
2462
2496
 
2463
2497
  // src/providers/transaction-request/scripts.ts
@@ -2495,7 +2529,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
2495
2529
  return new this(obj);
2496
2530
  }
2497
2531
  /** Type of the transaction */
2498
- type = import_transactions9.TransactionType.Script;
2532
+ type = import_transactions10.TransactionType.Script;
2499
2533
  /** Gas limit for transaction */
2500
2534
  gasLimit;
2501
2535
  /** Script to execute */
@@ -2510,7 +2544,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
2510
2544
  */
2511
2545
  constructor({ script, scriptData, gasLimit, ...rest } = {}) {
2512
2546
  super(rest);
2513
- this.gasLimit = (0, import_math10.bn)(gasLimit);
2547
+ this.gasLimit = (0, import_math11.bn)(gasLimit);
2514
2548
  this.script = (0, import_utils15.arrayify)(script ?? returnZeroScript.bytes);
2515
2549
  this.scriptData = (0, import_utils15.arrayify)(scriptData ?? returnZeroScript.encodeScriptData());
2516
2550
  this.abis = rest.abis;
@@ -2524,11 +2558,11 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
2524
2558
  const script = (0, import_utils15.arrayify)(this.script ?? "0x");
2525
2559
  const scriptData = (0, import_utils15.arrayify)(this.scriptData ?? "0x");
2526
2560
  return {
2527
- type: import_transactions9.TransactionType.Script,
2561
+ type: import_transactions10.TransactionType.Script,
2528
2562
  scriptGasLimit: this.gasLimit,
2529
2563
  ...super.getBaseTransaction(),
2530
- scriptLength: (0, import_math10.bn)(script.length),
2531
- scriptDataLength: (0, import_math10.bn)(scriptData.length),
2564
+ scriptLength: (0, import_math11.bn)(script.length),
2565
+ scriptDataLength: (0, import_math11.bn)(scriptData.length),
2532
2566
  receiptsRoot: import_configs9.ZeroBytes32,
2533
2567
  script: (0, import_utils15.hexlify)(script),
2534
2568
  scriptData: (0, import_utils15.hexlify)(scriptData)
@@ -2541,7 +2575,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
2541
2575
  */
2542
2576
  getContractInputs() {
2543
2577
  return this.inputs.filter(
2544
- (input) => input.type === import_transactions9.InputType.Contract
2578
+ (input) => input.type === import_transactions10.InputType.Contract
2545
2579
  );
2546
2580
  }
2547
2581
  /**
@@ -2551,7 +2585,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
2551
2585
  */
2552
2586
  getContractOutputs() {
2553
2587
  return this.outputs.filter(
2554
- (output) => output.type === import_transactions9.OutputType.Contract
2588
+ (output) => output.type === import_transactions10.OutputType.Contract
2555
2589
  );
2556
2590
  }
2557
2591
  /**
@@ -2561,7 +2595,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
2561
2595
  */
2562
2596
  getVariableOutputs() {
2563
2597
  return this.outputs.filter(
2564
- (output) => output.type === import_transactions9.OutputType.Variable
2598
+ (output) => output.type === import_transactions10.OutputType.Variable
2565
2599
  );
2566
2600
  }
2567
2601
  /**
@@ -2584,7 +2618,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
2584
2618
  let outputsNumber = numberOfVariables;
2585
2619
  while (outputsNumber) {
2586
2620
  this.pushOutput({
2587
- type: import_transactions9.OutputType.Variable
2621
+ type: import_transactions10.OutputType.Variable
2588
2622
  });
2589
2623
  outputsNumber -= 1;
2590
2624
  }
@@ -2621,12 +2655,12 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
2621
2655
  return this;
2622
2656
  }
2623
2657
  const inputIndex = super.pushInput({
2624
- type: import_transactions9.InputType.Contract,
2658
+ type: import_transactions10.InputType.Contract,
2625
2659
  contractId: contractAddress.toB256(),
2626
2660
  txPointer: "0x00000000000000000000000000000000"
2627
2661
  });
2628
2662
  this.pushOutput({
2629
- type: import_transactions9.OutputType.Contract,
2663
+ type: import_transactions10.OutputType.Contract,
2630
2664
  inputIndex
2631
2665
  });
2632
2666
  return this;
@@ -2663,17 +2697,17 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
2663
2697
 
2664
2698
  // src/providers/transaction-request/utils.ts
2665
2699
  var import_errors9 = require("@fuel-ts/errors");
2666
- var import_transactions10 = require("@fuel-ts/transactions");
2700
+ var import_transactions11 = require("@fuel-ts/transactions");
2667
2701
  var transactionRequestify = (obj) => {
2668
2702
  if (obj instanceof ScriptTransactionRequest || obj instanceof CreateTransactionRequest) {
2669
2703
  return obj;
2670
2704
  }
2671
2705
  const { type } = obj;
2672
2706
  switch (obj.type) {
2673
- case import_transactions10.TransactionType.Script: {
2707
+ case import_transactions11.TransactionType.Script: {
2674
2708
  return ScriptTransactionRequest.from(obj);
2675
2709
  }
2676
- case import_transactions10.TransactionType.Create: {
2710
+ case import_transactions11.TransactionType.Create: {
2677
2711
  return CreateTransactionRequest.from(obj);
2678
2712
  }
2679
2713
  default: {
@@ -2681,36 +2715,21 @@ var transactionRequestify = (obj) => {
2681
2715
  }
2682
2716
  }
2683
2717
  };
2684
- var cacheTxInputsFromOwner = (inputs, owner) => inputs.reduce(
2685
- (acc, input) => {
2686
- if (input.type === import_transactions10.InputType.Coin && input.owner === owner.toB256()) {
2687
- acc.utxos.push(input.id);
2688
- }
2689
- if (input.type === import_transactions10.InputType.Message && input.recipient === owner.toB256()) {
2690
- acc.messages.push(input.nonce);
2691
- }
2692
- return acc;
2693
- },
2694
- {
2695
- utxos: [],
2696
- messages: []
2697
- }
2698
- );
2699
2718
 
2700
2719
  // src/providers/transaction-response/transaction-response.ts
2701
2720
  var import_errors13 = require("@fuel-ts/errors");
2702
2721
  var import_math16 = require("@fuel-ts/math");
2703
- var import_transactions18 = require("@fuel-ts/transactions");
2722
+ var import_transactions19 = require("@fuel-ts/transactions");
2704
2723
  var import_utils20 = require("@fuel-ts/utils");
2705
2724
 
2706
2725
  // src/providers/transaction-summary/assemble-transaction-summary.ts
2707
2726
  var import_math15 = require("@fuel-ts/math");
2708
- var import_transactions16 = require("@fuel-ts/transactions");
2727
+ var import_transactions17 = require("@fuel-ts/transactions");
2709
2728
  var import_utils18 = require("@fuel-ts/utils");
2710
2729
 
2711
2730
  // src/providers/transaction-summary/calculate-tx-fee-for-summary.ts
2712
- var import_math11 = require("@fuel-ts/math");
2713
- var import_transactions11 = require("@fuel-ts/transactions");
2731
+ var import_math12 = require("@fuel-ts/math");
2732
+ var import_transactions12 = require("@fuel-ts/transactions");
2714
2733
  var import_utils16 = require("@fuel-ts/utils");
2715
2734
  var calculateTXFeeForSummary = (params) => {
2716
2735
  const {
@@ -2723,19 +2742,19 @@ var calculateTXFeeForSummary = (params) => {
2723
2742
  if (totalFee) {
2724
2743
  return totalFee;
2725
2744
  }
2726
- const gasPerByte = (0, import_math11.bn)(feeParams.gasPerByte);
2727
- const gasPriceFactor = (0, import_math11.bn)(feeParams.gasPriceFactor);
2745
+ const gasPerByte = (0, import_math12.bn)(feeParams.gasPerByte);
2746
+ const gasPriceFactor = (0, import_math12.bn)(feeParams.gasPriceFactor);
2728
2747
  const transactionBytes = (0, import_utils16.arrayify)(rawPayload);
2729
- const [transaction] = new import_transactions11.TransactionCoder().decode(transactionBytes, 0);
2748
+ const [transaction] = new import_transactions12.TransactionCoder().decode(transactionBytes, 0);
2730
2749
  const { type, witnesses, inputs, policies } = transaction;
2731
- let metadataGas = (0, import_math11.bn)(0);
2732
- let gasLimit = (0, import_math11.bn)(0);
2733
- if (type !== import_transactions11.TransactionType.Create && type !== import_transactions11.TransactionType.Script) {
2734
- return (0, import_math11.bn)(0);
2750
+ let metadataGas = (0, import_math12.bn)(0);
2751
+ let gasLimit = (0, import_math12.bn)(0);
2752
+ if (type !== import_transactions12.TransactionType.Create && type !== import_transactions12.TransactionType.Script) {
2753
+ return (0, import_math12.bn)(0);
2735
2754
  }
2736
- if (type === import_transactions11.TransactionType.Create) {
2755
+ if (type === import_transactions12.TransactionType.Create) {
2737
2756
  const { bytecodeWitnessIndex, storageSlots } = transaction;
2738
- const contractBytesSize = (0, import_math11.bn)((0, import_utils16.arrayify)(witnesses[bytecodeWitnessIndex].data).length);
2757
+ const contractBytesSize = (0, import_math12.bn)((0, import_utils16.arrayify)(witnesses[bytecodeWitnessIndex].data).length);
2739
2758
  metadataGas = calculateMetadataGasForTxCreate({
2740
2759
  contractBytesSize,
2741
2760
  gasCosts,
@@ -2754,12 +2773,12 @@ var calculateTXFeeForSummary = (params) => {
2754
2773
  }
2755
2774
  const minGas = getMinGas({
2756
2775
  gasCosts,
2757
- gasPerByte: (0, import_math11.bn)(gasPerByte),
2776
+ gasPerByte: (0, import_math12.bn)(gasPerByte),
2758
2777
  inputs,
2759
2778
  metadataGas,
2760
2779
  txBytesSize: transactionBytes.length
2761
2780
  });
2762
- const witnessLimit = policies.find((policy) => policy.type === import_transactions11.PolicyType.WitnessLimit)?.data;
2781
+ const witnessLimit = policies.find((policy) => policy.type === import_transactions12.PolicyType.WitnessLimit)?.data;
2763
2782
  const witnessesLength = witnesses.reduce((acc, wit) => acc + wit.dataLength, 0);
2764
2783
  const maxGas = getMaxGas({
2765
2784
  gasPerByte,
@@ -2782,42 +2801,31 @@ var calculateTXFeeForSummary = (params) => {
2782
2801
  var import_configs10 = require("@fuel-ts/address/configs");
2783
2802
  var import_errors11 = require("@fuel-ts/errors");
2784
2803
  var import_math13 = require("@fuel-ts/math");
2785
- var import_transactions14 = require("@fuel-ts/transactions");
2804
+ var import_transactions15 = require("@fuel-ts/transactions");
2786
2805
 
2787
2806
  // src/providers/transaction-summary/call.ts
2788
2807
  var import_abi_coder4 = require("@fuel-ts/abi-coder");
2789
- var import_math12 = require("@fuel-ts/math");
2790
- var getFunctionCall = ({ abi, receipt, rawPayload, maxInputs }) => {
2808
+ var getFunctionCall = ({ abi, receipt }) => {
2791
2809
  const abiInterface = new import_abi_coder4.Interface(abi);
2792
2810
  const callFunctionSelector = receipt.param1.toHex(8);
2793
2811
  const functionFragment = abiInterface.getFunction(callFunctionSelector);
2794
2812
  const inputs = functionFragment.jsonFn.inputs;
2795
- let encodedArgs;
2796
- if (functionFragment.isInputDataPointer) {
2797
- if (rawPayload) {
2798
- const argsOffset = (0, import_math12.bn)(receipt.param2).sub((0, import_abi_coder4.calculateVmTxMemory)({ maxInputs: maxInputs.toNumber() })).toNumber();
2799
- encodedArgs = `0x${rawPayload.slice(2).slice(argsOffset * 2)}`;
2800
- }
2801
- } else {
2802
- encodedArgs = receipt.param2.toHex();
2803
- }
2813
+ const encodedArgs = receipt.param2.toHex();
2804
2814
  let argumentsProvided;
2805
- if (encodedArgs) {
2806
- const data = functionFragment.decodeArguments(encodedArgs);
2807
- if (data) {
2808
- argumentsProvided = inputs.reduce((prev, input, index) => {
2809
- const value = data[index];
2810
- const name = input.name;
2811
- if (name) {
2812
- return {
2813
- ...prev,
2814
- // reparse to remove bn
2815
- [name]: JSON.parse(JSON.stringify(value))
2816
- };
2817
- }
2818
- return prev;
2819
- }, {});
2820
- }
2815
+ const data = functionFragment.decodeArguments(encodedArgs);
2816
+ if (data) {
2817
+ argumentsProvided = inputs.reduce((prev, input, index) => {
2818
+ const value = data[index];
2819
+ const name = input.name;
2820
+ if (name) {
2821
+ return {
2822
+ ...prev,
2823
+ // reparse to remove bn
2824
+ [name]: JSON.parse(JSON.stringify(value))
2825
+ };
2826
+ }
2827
+ return prev;
2828
+ }, {});
2821
2829
  }
2822
2830
  const call = {
2823
2831
  functionSignature: functionFragment.signature,
@@ -2830,7 +2838,7 @@ var getFunctionCall = ({ abi, receipt, rawPayload, maxInputs }) => {
2830
2838
 
2831
2839
  // src/providers/transaction-summary/input.ts
2832
2840
  var import_errors10 = require("@fuel-ts/errors");
2833
- var import_transactions12 = require("@fuel-ts/transactions");
2841
+ var import_transactions13 = require("@fuel-ts/transactions");
2834
2842
  function getInputsByTypes(inputs, types) {
2835
2843
  return inputs.filter((i) => types.includes(i.type));
2836
2844
  }
@@ -2838,16 +2846,16 @@ function getInputsByType(inputs, type) {
2838
2846
  return inputs.filter((i) => i.type === type);
2839
2847
  }
2840
2848
  function getInputsCoin(inputs) {
2841
- return getInputsByType(inputs, import_transactions12.InputType.Coin);
2849
+ return getInputsByType(inputs, import_transactions13.InputType.Coin);
2842
2850
  }
2843
2851
  function getInputsMessage(inputs) {
2844
- return getInputsByType(inputs, import_transactions12.InputType.Message);
2852
+ return getInputsByType(inputs, import_transactions13.InputType.Message);
2845
2853
  }
2846
2854
  function getInputsCoinAndMessage(inputs) {
2847
- return getInputsByTypes(inputs, [import_transactions12.InputType.Coin, import_transactions12.InputType.Message]);
2855
+ return getInputsByTypes(inputs, [import_transactions13.InputType.Coin, import_transactions13.InputType.Message]);
2848
2856
  }
2849
2857
  function getInputsContract(inputs) {
2850
- return getInputsByType(inputs, import_transactions12.InputType.Contract);
2858
+ return getInputsByType(inputs, import_transactions13.InputType.Contract);
2851
2859
  }
2852
2860
  function getInputFromAssetId(inputs, assetId) {
2853
2861
  const coinInputs = getInputsCoin(inputs);
@@ -2866,7 +2874,7 @@ function getInputContractFromIndex(inputs, inputIndex) {
2866
2874
  if (!contractInput) {
2867
2875
  return void 0;
2868
2876
  }
2869
- if (contractInput.type !== import_transactions12.InputType.Contract) {
2877
+ if (contractInput.type !== import_transactions13.InputType.Contract) {
2870
2878
  throw new import_errors10.FuelError(
2871
2879
  import_errors10.ErrorCode.INVALID_TRANSACTION_INPUT,
2872
2880
  `Contract input should be of type 'contract'.`
@@ -2875,31 +2883,31 @@ function getInputContractFromIndex(inputs, inputIndex) {
2875
2883
  return contractInput;
2876
2884
  }
2877
2885
  function getInputAccountAddress(input) {
2878
- if (input.type === import_transactions12.InputType.Coin) {
2886
+ if (input.type === import_transactions13.InputType.Coin) {
2879
2887
  return input.owner.toString();
2880
2888
  }
2881
- if (input.type === import_transactions12.InputType.Message) {
2889
+ if (input.type === import_transactions13.InputType.Message) {
2882
2890
  return input.recipient.toString();
2883
2891
  }
2884
2892
  return "";
2885
2893
  }
2886
2894
 
2887
2895
  // src/providers/transaction-summary/output.ts
2888
- var import_transactions13 = require("@fuel-ts/transactions");
2896
+ var import_transactions14 = require("@fuel-ts/transactions");
2889
2897
  function getOutputsByType(outputs, type) {
2890
2898
  return outputs.filter((o) => o.type === type);
2891
2899
  }
2892
2900
  function getOutputsContractCreated(outputs) {
2893
- return getOutputsByType(outputs, import_transactions13.OutputType.ContractCreated);
2901
+ return getOutputsByType(outputs, import_transactions14.OutputType.ContractCreated);
2894
2902
  }
2895
2903
  function getOutputsCoin(outputs) {
2896
- return getOutputsByType(outputs, import_transactions13.OutputType.Coin);
2904
+ return getOutputsByType(outputs, import_transactions14.OutputType.Coin);
2897
2905
  }
2898
2906
  function getOutputsChange(outputs) {
2899
- return getOutputsByType(outputs, import_transactions13.OutputType.Change);
2907
+ return getOutputsByType(outputs, import_transactions14.OutputType.Change);
2900
2908
  }
2901
2909
  function getOutputsContract(outputs) {
2902
- return getOutputsByType(outputs, import_transactions13.OutputType.Contract);
2910
+ return getOutputsByType(outputs, import_transactions14.OutputType.Contract);
2903
2911
  }
2904
2912
 
2905
2913
  // src/providers/transaction-summary/operations.ts
@@ -2908,11 +2916,11 @@ function getReceiptsByType(receipts, type) {
2908
2916
  }
2909
2917
  function getTransactionTypeName(transactionType) {
2910
2918
  switch (transactionType) {
2911
- case import_transactions14.TransactionType.Mint:
2919
+ case import_transactions15.TransactionType.Mint:
2912
2920
  return "Mint" /* Mint */;
2913
- case import_transactions14.TransactionType.Create:
2921
+ case import_transactions15.TransactionType.Create:
2914
2922
  return "Create" /* Create */;
2915
- case import_transactions14.TransactionType.Script:
2923
+ case import_transactions15.TransactionType.Script:
2916
2924
  return "Script" /* Script */;
2917
2925
  default:
2918
2926
  throw new import_errors11.FuelError(
@@ -2941,10 +2949,10 @@ function isTypeUpload(transactionType) {
2941
2949
  return isType(transactionType, "Upload" /* Upload */);
2942
2950
  }
2943
2951
  function getReceiptsCall(receipts) {
2944
- return getReceiptsByType(receipts, import_transactions14.ReceiptType.Call);
2952
+ return getReceiptsByType(receipts, import_transactions15.ReceiptType.Call);
2945
2953
  }
2946
2954
  function getReceiptsMessageOut(receipts) {
2947
- return getReceiptsByType(receipts, import_transactions14.ReceiptType.MessageOut);
2955
+ return getReceiptsByType(receipts, import_transactions15.ReceiptType.MessageOut);
2948
2956
  }
2949
2957
  var mergeAssets = (op1, op2) => {
2950
2958
  const assets1 = op1.assetsSent || [];
@@ -3140,11 +3148,11 @@ function getTransferOperations({
3140
3148
  });
3141
3149
  const transferReceipts = getReceiptsByType(
3142
3150
  receipts,
3143
- import_transactions14.ReceiptType.Transfer
3151
+ import_transactions15.ReceiptType.Transfer
3144
3152
  );
3145
3153
  const transferOutReceipts = getReceiptsByType(
3146
3154
  receipts,
3147
- import_transactions14.ReceiptType.TransferOut
3155
+ import_transactions15.ReceiptType.TransferOut
3148
3156
  );
3149
3157
  [...transferReceipts, ...transferOutReceipts].forEach((receipt) => {
3150
3158
  const operation = extractTransferOperationFromReceipt(receipt, contractInputs, changeOutputs);
@@ -3229,17 +3237,17 @@ function getOperations({
3229
3237
  }
3230
3238
 
3231
3239
  // src/providers/transaction-summary/receipt.ts
3232
- var import_transactions15 = require("@fuel-ts/transactions");
3240
+ var import_transactions16 = require("@fuel-ts/transactions");
3233
3241
  var processGqlReceipt = (gqlReceipt) => {
3234
3242
  const receipt = assembleReceiptByType(gqlReceipt);
3235
3243
  switch (receipt.type) {
3236
- case import_transactions15.ReceiptType.ReturnData: {
3244
+ case import_transactions16.ReceiptType.ReturnData: {
3237
3245
  return {
3238
3246
  ...receipt,
3239
3247
  data: gqlReceipt.data || "0x"
3240
3248
  };
3241
3249
  }
3242
- case import_transactions15.ReceiptType.LogData: {
3250
+ case import_transactions16.ReceiptType.LogData: {
3243
3251
  return {
3244
3252
  ...receipt,
3245
3253
  data: gqlReceipt.data || "0x"
@@ -3252,7 +3260,7 @@ var processGqlReceipt = (gqlReceipt) => {
3252
3260
  var extractMintedAssetsFromReceipts = (receipts) => {
3253
3261
  const mintedAssets = [];
3254
3262
  receipts.forEach((receipt) => {
3255
- if (receipt.type === import_transactions15.ReceiptType.Mint) {
3263
+ if (receipt.type === import_transactions16.ReceiptType.Mint) {
3256
3264
  mintedAssets.push({
3257
3265
  subId: receipt.subId,
3258
3266
  contractId: receipt.contractId,
@@ -3266,7 +3274,7 @@ var extractMintedAssetsFromReceipts = (receipts) => {
3266
3274
  var extractBurnedAssetsFromReceipts = (receipts) => {
3267
3275
  const burnedAssets = [];
3268
3276
  receipts.forEach((receipt) => {
3269
- if (receipt.type === import_transactions15.ReceiptType.Burn) {
3277
+ if (receipt.type === import_transactions16.ReceiptType.Burn) {
3270
3278
  burnedAssets.push({
3271
3279
  subId: receipt.subId,
3272
3280
  contractId: receipt.contractId,
@@ -3372,7 +3380,7 @@ function assembleTransactionSummary(params) {
3372
3380
  maxInputs
3373
3381
  });
3374
3382
  const typeName = getTransactionTypeName(transaction.type);
3375
- const tip = (0, import_math15.bn)(transaction.policies?.find((policy) => policy.type === import_transactions16.PolicyType.Tip)?.data);
3383
+ const tip = (0, import_math15.bn)(transaction.policies?.find((policy) => policy.type === import_transactions17.PolicyType.Tip)?.data);
3376
3384
  const { isStatusFailure, isStatusPending, isStatusSuccess, blockId, status, time, totalFee } = processGraphqlStatus(gqlTransactionStatus);
3377
3385
  const fee = calculateTXFeeForSummary({
3378
3386
  totalFee,
@@ -3423,12 +3431,12 @@ function assembleTransactionSummary(params) {
3423
3431
 
3424
3432
  // src/providers/transaction-response/getDecodedLogs.ts
3425
3433
  var import_abi_coder5 = require("@fuel-ts/abi-coder");
3426
- var import_transactions17 = require("@fuel-ts/transactions");
3434
+ var import_transactions18 = require("@fuel-ts/transactions");
3427
3435
  function getDecodedLogs(receipts, mainAbi, externalAbis = {}) {
3428
3436
  return receipts.reduce((logs, receipt) => {
3429
- if (receipt.type === import_transactions17.ReceiptType.LogData || receipt.type === import_transactions17.ReceiptType.Log) {
3437
+ if (receipt.type === import_transactions18.ReceiptType.LogData || receipt.type === import_transactions18.ReceiptType.Log) {
3430
3438
  const interfaceToUse = new import_abi_coder5.Interface(externalAbis[receipt.id] || mainAbi);
3431
- const data = receipt.type === import_transactions17.ReceiptType.Log ? new import_abi_coder5.BigNumberCoder("u64").encode(receipt.val0) : receipt.data;
3439
+ const data = receipt.type === import_transactions18.ReceiptType.Log ? new import_abi_coder5.BigNumberCoder("u64").encode(receipt.val0) : receipt.data;
3432
3440
  const [decodedLog] = interfaceToUse.decodeLog(data, receipt.val1.toNumber());
3433
3441
  logs.push(decodedLog);
3434
3442
  }
@@ -3501,7 +3509,7 @@ var TransactionResponse = class {
3501
3509
  * @returns The decoded transaction.
3502
3510
  */
3503
3511
  decodeTransaction(transactionWithReceipts) {
3504
- return new import_transactions18.TransactionCoder().decode(
3512
+ return new import_transactions19.TransactionCoder().decode(
3505
3513
  (0, import_utils20.arrayify)(transactionWithReceipts.rawPayload),
3506
3514
  0
3507
3515
  )?.[0];
@@ -3982,7 +3990,7 @@ Supported fuel-core version: ${supportedVersion}.`
3982
3990
  }
3983
3991
  const encodedTransaction = (0, import_utils22.hexlify)(transactionRequest.toTransactionBytes());
3984
3992
  let abis;
3985
- if (transactionRequest.type === import_transactions19.TransactionType.Script) {
3993
+ if (transactionRequest.type === import_transactions20.TransactionType.Script) {
3986
3994
  abis = transactionRequest.abis;
3987
3995
  }
3988
3996
  if (awaitExecution) {
@@ -4074,7 +4082,7 @@ Supported fuel-core version: ${supportedVersion}.`
4074
4082
  * @returns A promise.
4075
4083
  */
4076
4084
  async estimateTxDependencies(transactionRequest) {
4077
- if (transactionRequest.type === import_transactions19.TransactionType.Create) {
4085
+ if (transactionRequest.type === import_transactions20.TransactionType.Create) {
4078
4086
  return {
4079
4087
  receipts: [],
4080
4088
  outputVariables: 0,
@@ -4138,7 +4146,7 @@ Supported fuel-core version: ${supportedVersion}.`
4138
4146
  const allRequests = (0, import_ramda3.clone)(transactionRequests);
4139
4147
  const serializedTransactionsMap = /* @__PURE__ */ new Map();
4140
4148
  allRequests.forEach((req, index) => {
4141
- if (req.type === import_transactions19.TransactionType.Script) {
4149
+ if (req.type === import_transactions20.TransactionType.Script) {
4142
4150
  serializedTransactionsMap.set(index, (0, import_utils22.hexlify)(req.toTransactionBytes()));
4143
4151
  }
4144
4152
  });
@@ -4164,7 +4172,7 @@ Supported fuel-core version: ${supportedVersion}.`
4164
4172
  );
4165
4173
  const hasMissingOutputs = missingOutputVariables.length > 0 || missingOutputContractIds.length > 0;
4166
4174
  const request = allRequests[requestIdx];
4167
- if (hasMissingOutputs && request?.type === import_transactions19.TransactionType.Script) {
4175
+ if (hasMissingOutputs && request?.type === import_transactions20.TransactionType.Script) {
4168
4176
  result.outputVariables += missingOutputVariables.length;
4169
4177
  request.addVariableOutputs(missingOutputVariables.length);
4170
4178
  missingOutputContractIds.forEach(({ contractId }) => {
@@ -4220,7 +4228,7 @@ Supported fuel-core version: ${supportedVersion}.`
4220
4228
  tip: transactionRequest.tip
4221
4229
  }).add(1);
4222
4230
  let gasLimit = (0, import_math17.bn)(0);
4223
- if (transactionRequest.type === import_transactions19.TransactionType.Script) {
4231
+ if (transactionRequest.type === import_transactions20.TransactionType.Script) {
4224
4232
  gasLimit = transactionRequest.gasLimit;
4225
4233
  if (transactionRequest.gasLimit.eq(0)) {
4226
4234
  transactionRequest.gasLimit = minGas;
@@ -4290,7 +4298,7 @@ Supported fuel-core version: ${supportedVersion}.`
4290
4298
  */
4291
4299
  async getTransactionCost(transactionRequestLike, { resourcesOwner, signatureCallback, quantitiesToContract = [] } = {}) {
4292
4300
  const txRequestClone = (0, import_ramda3.clone)(transactionRequestify(transactionRequestLike));
4293
- const isScriptTransaction = txRequestClone.type === import_transactions19.TransactionType.Script;
4301
+ const isScriptTransaction = txRequestClone.type === import_transactions20.TransactionType.Script;
4294
4302
  const baseAssetId = this.getBaseAssetId();
4295
4303
  const updateMaxFee = txRequestClone.maxFee.eq(0);
4296
4304
  const coinOutputsQuantities = txRequestClone.getCoinOutputsQuantities();
@@ -4514,7 +4522,7 @@ Supported fuel-core version: ${supportedVersion}.`
4514
4522
  time: block.header.time,
4515
4523
  transactionIds: block.transactions.map((tx) => tx.id),
4516
4524
  transactions: block.transactions.map(
4517
- (tx) => new import_transactions19.TransactionCoder().decode((0, import_utils22.arrayify)(tx.rawPayload), 0)?.[0]
4525
+ (tx) => new import_transactions20.TransactionCoder().decode((0, import_utils22.arrayify)(tx.rawPayload), 0)?.[0]
4518
4526
  )
4519
4527
  };
4520
4528
  }
@@ -4529,7 +4537,7 @@ Supported fuel-core version: ${supportedVersion}.`
4529
4537
  if (!transaction) {
4530
4538
  return null;
4531
4539
  }
4532
- return new import_transactions19.TransactionCoder().decode(
4540
+ return new import_transactions20.TransactionCoder().decode(
4533
4541
  (0, import_utils22.arrayify)(transaction.rawPayload),
4534
4542
  0
4535
4543
  )?.[0];
@@ -4609,7 +4617,7 @@ Supported fuel-core version: ${supportedVersion}.`
4609
4617
  });
4610
4618
  const messages = result.messages.edges.map((edge) => edge.node);
4611
4619
  return messages.map((message) => ({
4612
- messageId: import_transactions19.InputMessageCoder.getMessageId({
4620
+ messageId: import_transactions20.InputMessageCoder.getMessageId({
4613
4621
  sender: message.sender,
4614
4622
  recipient: message.recipient,
4615
4623
  nonce: message.nonce,
@@ -4620,7 +4628,7 @@ Supported fuel-core version: ${supportedVersion}.`
4620
4628
  recipient: import_address3.Address.fromAddressOrString(message.recipient),
4621
4629
  nonce: message.nonce,
4622
4630
  amount: (0, import_math17.bn)(message.amount),
4623
- data: import_transactions19.InputMessageCoder.decodeData(message.data),
4631
+ data: import_transactions20.InputMessageCoder.decodeData(message.data),
4624
4632
  daHeight: (0, import_math17.bn)(message.daHeight)
4625
4633
  }));
4626
4634
  }
@@ -4786,7 +4794,7 @@ cacheInputs_fn = function(inputs) {
4786
4794
  return;
4787
4795
  }
4788
4796
  inputs.forEach((input) => {
4789
- if (input.type === import_transactions19.InputType.Coin) {
4797
+ if (input.type === import_transactions20.InputType.Coin) {
4790
4798
  this.cache?.set(input.id);
4791
4799
  }
4792
4800
  });
@@ -4797,7 +4805,7 @@ __publicField(Provider, "nodeInfoCache", {});
4797
4805
  // src/providers/transaction-summary/get-transaction-summary.ts
4798
4806
  var import_errors15 = require("@fuel-ts/errors");
4799
4807
  var import_math18 = require("@fuel-ts/math");
4800
- var import_transactions20 = require("@fuel-ts/transactions");
4808
+ var import_transactions21 = require("@fuel-ts/transactions");
4801
4809
  var import_utils25 = require("@fuel-ts/utils");
4802
4810
 
4803
4811
  // src/providers/chains.ts
@@ -4871,31 +4879,15 @@ var rawAssets = [
4871
4879
  ];
4872
4880
  var assets = resolveIconPaths(rawAssets, fuelAssetsBaseUrl);
4873
4881
 
4874
- // src/providers/transaction-request/helpers.ts
4875
- var import_math19 = require("@fuel-ts/math");
4876
- var import_transactions21 = require("@fuel-ts/transactions");
4877
- var isRequestInputCoin = (input) => input.type === import_transactions21.InputType.Coin;
4878
- var isRequestInputMessage = (input) => input.type === import_transactions21.InputType.Message;
4879
- var isRequestInputResource = (input) => isRequestInputCoin(input) || isRequestInputMessage(input);
4880
- var getAssetAmountInRequestInputs = (inputs, assetId, baseAsset) => inputs.filter(isRequestInputResource).reduce((acc, input) => {
4881
- if (isRequestInputCoin(input) && input.assetId === assetId) {
4882
- return acc.add(input.amount);
4883
- }
4884
- if (isRequestInputMessage(input) && assetId === baseAsset) {
4885
- return acc.add(input.amount);
4886
- }
4887
- return acc;
4888
- }, (0, import_math19.bn)(0));
4889
-
4890
4882
  // src/utils/formatTransferToContractScriptData.ts
4891
4883
  var import_abi_coder6 = require("@fuel-ts/abi-coder");
4892
- var import_math20 = require("@fuel-ts/math");
4884
+ var import_math19 = require("@fuel-ts/math");
4893
4885
  var import_utils27 = require("@fuel-ts/utils");
4894
4886
  var asm = __toESM(require("@fuels/vm-asm"));
4895
4887
  var formatTransferToContractScriptData = (params) => {
4896
4888
  const { assetId, amountToTransfer, hexlifiedContractId } = params;
4897
4889
  const numberCoder = new import_abi_coder6.BigNumberCoder("u64");
4898
- const encoded = numberCoder.encode(new import_math20.BN(amountToTransfer).toNumber());
4890
+ const encoded = numberCoder.encode(new import_math19.BN(amountToTransfer).toNumber());
4899
4891
  const scriptData = Uint8Array.from([
4900
4892
  ...(0, import_utils27.arrayify)(hexlifiedContractId),
4901
4893
  ...encoded,
@@ -5090,9 +5082,9 @@ var Account = class extends import_interfaces.AbstractAccount {
5090
5082
  const { addedSignatures, estimatedPredicates, requiredQuantities, updateMaxFee } = params;
5091
5083
  const fee = request.maxFee;
5092
5084
  const baseAssetId = this.provider.getBaseAssetId();
5093
- const requiredInBaseAsset = requiredQuantities.find((quantity) => quantity.assetId === baseAssetId)?.amount || (0, import_math21.bn)(0);
5085
+ const requiredInBaseAsset = requiredQuantities.find((quantity) => quantity.assetId === baseAssetId)?.amount || (0, import_math20.bn)(0);
5094
5086
  const requiredQuantitiesWithFee = addAmountToCoinQuantities({
5095
- amount: (0, import_math21.bn)(fee),
5087
+ amount: (0, import_math20.bn)(fee),
5096
5088
  assetId: baseAssetId,
5097
5089
  coinQuantities: requiredQuantities
5098
5090
  });
@@ -5100,7 +5092,7 @@ var Account = class extends import_interfaces.AbstractAccount {
5100
5092
  requiredQuantitiesWithFee.forEach(({ amount, assetId }) => {
5101
5093
  quantitiesDict[assetId] = {
5102
5094
  required: amount,
5103
- owned: (0, import_math21.bn)(0)
5095
+ owned: (0, import_math20.bn)(0)
5104
5096
  };
5105
5097
  });
5106
5098
  request.inputs.filter(isRequestInputResource).forEach((input) => {
@@ -5124,10 +5116,9 @@ var Account = class extends import_interfaces.AbstractAccount {
5124
5116
  while (needsToBeFunded && fundingAttempts < MAX_FUNDING_ATTEMPTS) {
5125
5117
  const resources = await this.getResourcesToSpend(
5126
5118
  missingQuantities,
5127
- cacheTxInputsFromOwner(request.inputs, this.address)
5119
+ cacheRequestInputsResourcesFromOwner(request.inputs, this.address)
5128
5120
  );
5129
5121
  request.addResources(resources);
5130
- request.shiftPredicateData();
5131
5122
  request.updatePredicateGasUsed(estimatedPredicates);
5132
5123
  const requestToReestimate2 = (0, import_ramda4.clone)(request);
5133
5124
  if (addedSignatures) {
@@ -5159,7 +5150,6 @@ var Account = class extends import_interfaces.AbstractAccount {
5159
5150
  }
5160
5151
  fundingAttempts += 1;
5161
5152
  }
5162
- request.shiftPredicateData();
5163
5153
  request.updatePredicateGasUsed(estimatedPredicates);
5164
5154
  const requestToReestimate = (0, import_ramda4.clone)(request);
5165
5155
  if (addedSignatures) {
@@ -5210,7 +5200,7 @@ var Account = class extends import_interfaces.AbstractAccount {
5210
5200
  * @returns A promise that resolves to the transaction response.
5211
5201
  */
5212
5202
  async transfer(destination, amount, assetId, txParams = {}) {
5213
- if ((0, import_math21.bn)(amount).lte(0)) {
5203
+ if ((0, import_math20.bn)(amount).lte(0)) {
5214
5204
  throw new import_errors16.FuelError(
5215
5205
  import_errors16.ErrorCode.INVALID_TRANSFER_AMOUNT,
5216
5206
  "Transfer amount must be a positive number."
@@ -5230,7 +5220,7 @@ var Account = class extends import_interfaces.AbstractAccount {
5230
5220
  * @returns A promise that resolves to the transaction response.
5231
5221
  */
5232
5222
  async transferToContract(contractId, amount, assetId, txParams = {}) {
5233
- if ((0, import_math21.bn)(amount).lte(0)) {
5223
+ if ((0, import_math20.bn)(amount).lte(0)) {
5234
5224
  throw new import_errors16.FuelError(
5235
5225
  import_errors16.ErrorCode.INVALID_TRANSFER_AMOUNT,
5236
5226
  "Transfer amount must be a positive number."
@@ -5240,7 +5230,7 @@ var Account = class extends import_interfaces.AbstractAccount {
5240
5230
  const assetIdToTransfer = assetId ?? this.provider.getBaseAssetId();
5241
5231
  const { script, scriptData } = await assembleTransferToContractScript({
5242
5232
  hexlifiedContractId: contractAddress.toB256(),
5243
- amountToTransfer: (0, import_math21.bn)(amount),
5233
+ amountToTransfer: (0, import_math20.bn)(amount),
5244
5234
  assetId: assetIdToTransfer
5245
5235
  });
5246
5236
  let request = new ScriptTransactionRequest({
@@ -5251,7 +5241,7 @@ var Account = class extends import_interfaces.AbstractAccount {
5251
5241
  request.addContractInputAndOutput(contractAddress);
5252
5242
  const txCost = await this.provider.getTransactionCost(request, {
5253
5243
  resourcesOwner: this,
5254
- quantitiesToContract: [{ amount: (0, import_math21.bn)(amount), assetId: String(assetIdToTransfer) }]
5244
+ quantitiesToContract: [{ amount: (0, import_math20.bn)(amount), assetId: String(assetIdToTransfer) }]
5255
5245
  });
5256
5246
  request = this.validateGasLimitAndMaxFee({
5257
5247
  transactionRequest: request,
@@ -5276,7 +5266,7 @@ var Account = class extends import_interfaces.AbstractAccount {
5276
5266
  "0x".concat(recipientAddress.toHexString().substring(2).padStart(64, "0"))
5277
5267
  );
5278
5268
  const amountDataArray = (0, import_utils28.arrayify)(
5279
- "0x".concat((0, import_math21.bn)(amount).toHex().substring(2).padStart(16, "0"))
5269
+ "0x".concat((0, import_math20.bn)(amount).toHex().substring(2).padStart(16, "0"))
5280
5270
  );
5281
5271
  const script = new Uint8Array([
5282
5272
  ...(0, import_utils28.arrayify)(withdrawScript.bytes),
@@ -5286,7 +5276,7 @@ var Account = class extends import_interfaces.AbstractAccount {
5286
5276
  const params = { script, ...txParams };
5287
5277
  const baseAssetId = this.provider.getBaseAssetId();
5288
5278
  let request = new ScriptTransactionRequest(params);
5289
- const quantitiesToContract = [{ amount: (0, import_math21.bn)(amount), assetId: baseAssetId }];
5279
+ const quantitiesToContract = [{ amount: (0, import_math20.bn)(amount), assetId: baseAssetId }];
5290
5280
  const txCost = await this.provider.getTransactionCost(request, { quantitiesToContract });
5291
5281
  request = this.validateGasLimitAndMaxFee({
5292
5282
  transactionRequest: request,
@@ -5383,7 +5373,7 @@ var Account = class extends import_interfaces.AbstractAccount {
5383
5373
  var import_address5 = require("@fuel-ts/address");
5384
5374
  var import_crypto2 = require("@fuel-ts/crypto");
5385
5375
  var import_hasher2 = require("@fuel-ts/hasher");
5386
- var import_math22 = require("@fuel-ts/math");
5376
+ var import_math21 = require("@fuel-ts/math");
5387
5377
  var import_utils29 = require("@fuel-ts/utils");
5388
5378
  var import_secp256k1 = require("@noble/curves/secp256k1");
5389
5379
  var Signer = class {
@@ -5403,7 +5393,7 @@ var Signer = class {
5403
5393
  privateKey = `0x${privateKey}`;
5404
5394
  }
5405
5395
  }
5406
- const privateKeyBytes = (0, import_math22.toBytes)(privateKey, 32);
5396
+ const privateKeyBytes = (0, import_math21.toBytes)(privateKey, 32);
5407
5397
  this.privateKey = (0, import_utils29.hexlify)(privateKeyBytes);
5408
5398
  this.publicKey = (0, import_utils29.hexlify)(import_secp256k1.secp256k1.getPublicKey(privateKeyBytes, false).slice(1));
5409
5399
  this.compressedPublicKey = (0, import_utils29.hexlify)(import_secp256k1.secp256k1.getPublicKey(privateKeyBytes, true));
@@ -5421,8 +5411,8 @@ var Signer = class {
5421
5411
  */
5422
5412
  sign(data) {
5423
5413
  const signature = import_secp256k1.secp256k1.sign((0, import_utils29.arrayify)(data), (0, import_utils29.arrayify)(this.privateKey));
5424
- const r = (0, import_math22.toBytes)(`0x${signature.r.toString(16)}`, 32);
5425
- const s = (0, import_math22.toBytes)(`0x${signature.s.toString(16)}`, 32);
5414
+ const r = (0, import_math21.toBytes)(`0x${signature.r.toString(16)}`, 32);
5415
+ const s = (0, import_math21.toBytes)(`0x${signature.s.toString(16)}`, 32);
5426
5416
  s[0] |= (signature.recovery || 0) << 7;
5427
5417
  return (0, import_utils29.hexlify)((0, import_utils29.concat)([r, s]));
5428
5418
  }
@@ -5692,18 +5682,17 @@ var BaseWalletUnlocked = class extends Account {
5692
5682
  __publicField(BaseWalletUnlocked, "defaultPath", "m/44'/1179993420'/0'/0/0");
5693
5683
 
5694
5684
  // src/hdwallet/hdwallet.ts
5685
+ var import_crypto5 = require("@fuel-ts/crypto");
5695
5686
  var import_errors20 = require("@fuel-ts/errors");
5696
5687
  var import_hasher6 = require("@fuel-ts/hasher");
5697
- var import_math23 = require("@fuel-ts/math");
5688
+ var import_math22 = require("@fuel-ts/math");
5698
5689
  var import_utils35 = require("@fuel-ts/utils");
5699
- var import_ethers2 = require("ethers");
5700
5690
 
5701
5691
  // src/mnemonic/mnemonic.ts
5702
5692
  var import_crypto4 = require("@fuel-ts/crypto");
5703
5693
  var import_errors19 = require("@fuel-ts/errors");
5704
5694
  var import_hasher5 = require("@fuel-ts/hasher");
5705
5695
  var import_utils33 = require("@fuel-ts/utils");
5706
- var import_ethers = require("ethers");
5707
5696
 
5708
5697
  // src/wordlists/words/english.ts
5709
5698
  var english = [
@@ -7761,38 +7750,6 @@ var english = [
7761
7750
  var import_errors18 = require("@fuel-ts/errors");
7762
7751
  var import_hasher4 = require("@fuel-ts/hasher");
7763
7752
  var import_utils32 = require("@fuel-ts/utils");
7764
- function toUtf8Bytes(stri) {
7765
- const str = stri.normalize("NFKD");
7766
- const result = [];
7767
- for (let i = 0; i < str.length; i += 1) {
7768
- const c = str.charCodeAt(i);
7769
- if (c < 128) {
7770
- result.push(c);
7771
- } else if (c < 2048) {
7772
- result.push(c >> 6 | 192);
7773
- result.push(c & 63 | 128);
7774
- } else if ((c & 64512) === 55296) {
7775
- i += 1;
7776
- const c2 = str.charCodeAt(i);
7777
- if (i >= str.length || (c2 & 64512) !== 56320) {
7778
- throw new import_errors18.FuelError(
7779
- import_errors18.ErrorCode.INVALID_INPUT_PARAMETERS,
7780
- "Invalid UTF-8 in the input string."
7781
- );
7782
- }
7783
- const pair = 65536 + ((c & 1023) << 10) + (c2 & 1023);
7784
- result.push(pair >> 18 | 240);
7785
- result.push(pair >> 12 & 63 | 128);
7786
- result.push(pair >> 6 & 63 | 128);
7787
- result.push(pair & 63 | 128);
7788
- } else {
7789
- result.push(c >> 12 | 224);
7790
- result.push(c >> 6 & 63 | 128);
7791
- result.push(c & 63 | 128);
7792
- }
7793
- }
7794
- return Uint8Array.from(result);
7795
- }
7796
7753
  function getLowerMask(bits) {
7797
7754
  return (1 << bits) - 1;
7798
7755
  }
@@ -7865,7 +7822,7 @@ function mnemonicWordsToEntropy(words, wordlist) {
7865
7822
  }
7866
7823
 
7867
7824
  // src/mnemonic/mnemonic.ts
7868
- var MasterSecret = toUtf8Bytes("Bitcoin seed");
7825
+ var MasterSecret = (0, import_utils33.toUtf8Bytes)("Bitcoin seed");
7869
7826
  var MainnetPRV = "0x0488ade4";
7870
7827
  var TestnetPRV = "0x04358394";
7871
7828
  var MNEMONIC_SIZES = [12, 15, 18, 21, 24];
@@ -7949,9 +7906,9 @@ var Mnemonic = class {
7949
7906
  */
7950
7907
  static mnemonicToSeed(phrase, passphrase = "") {
7951
7908
  assertMnemonic(getWords(phrase));
7952
- const phraseBytes = toUtf8Bytes(getPhrase(phrase));
7953
- const salt = toUtf8Bytes(`mnemonic${passphrase}`);
7954
- return (0, import_ethers.pbkdf2)(phraseBytes, salt, 2048, 64, "sha512");
7909
+ const phraseBytes = (0, import_utils33.toUtf8Bytes)(getPhrase(phrase));
7910
+ const salt = (0, import_utils33.toUtf8Bytes)(`mnemonic${passphrase}`);
7911
+ return (0, import_crypto4.pbkdf2)(phraseBytes, salt, 2048, 64, "sha512");
7955
7912
  }
7956
7913
  /**
7957
7914
  * @param phrase - Mnemonic phrase composed by words from the provided wordlist
@@ -8013,7 +7970,7 @@ var Mnemonic = class {
8013
7970
  `Seed length should be between 16 and 64 bytes, but received ${seedArray.length} bytes.`
8014
7971
  );
8015
7972
  }
8016
- return (0, import_utils33.arrayify)((0, import_ethers.computeHmac)("sha512", MasterSecret, seedArray));
7973
+ return (0, import_utils33.arrayify)((0, import_crypto4.computeHmac)("sha512", MasterSecret, seedArray));
8017
7974
  }
8018
7975
  /**
8019
7976
  * Get the extendKey as defined on BIP-32 from the provided seed
@@ -8038,8 +7995,8 @@ var Mnemonic = class {
8038
7995
  chainCode,
8039
7996
  (0, import_utils33.concat)(["0x00", privateKey])
8040
7997
  ]);
8041
- const checksum = (0, import_ethers.dataSlice)((0, import_hasher5.sha256)((0, import_hasher5.sha256)(extendedKey)), 0, 4);
8042
- return (0, import_ethers.encodeBase58)((0, import_utils33.concat)([extendedKey, checksum]));
7998
+ const checksum = (0, import_utils33.dataSlice)((0, import_hasher5.sha256)((0, import_hasher5.sha256)(extendedKey)), 0, 4);
7999
+ return (0, import_utils33.encodeBase58)((0, import_utils33.concat)([extendedKey, checksum]));
8043
8000
  }
8044
8001
  /**
8045
8002
  * Create a new mnemonic using a randomly generated number as entropy.
@@ -8067,7 +8024,7 @@ var MainnetPUB = (0, import_utils35.hexlify)("0x0488b21e");
8067
8024
  var TestnetPRV2 = (0, import_utils35.hexlify)("0x04358394");
8068
8025
  var TestnetPUB = (0, import_utils35.hexlify)("0x043587cf");
8069
8026
  function base58check(data) {
8070
- return (0, import_ethers2.encodeBase58)((0, import_utils35.concat)([data, (0, import_ethers2.dataSlice)((0, import_hasher6.sha256)((0, import_hasher6.sha256)(data)), 0, 4)]));
8027
+ return (0, import_utils35.encodeBase58)((0, import_utils35.concat)([data, (0, import_utils35.dataSlice)((0, import_hasher6.sha256)((0, import_hasher6.sha256)(data)), 0, 4)]));
8071
8028
  }
8072
8029
  function getExtendedKeyPrefix(isPublic = false, testnet = false) {
8073
8030
  if (isPublic) {
@@ -8123,7 +8080,7 @@ var HDWallet = class {
8123
8080
  this.publicKey = (0, import_utils35.hexlify)(config.publicKey);
8124
8081
  }
8125
8082
  this.parentFingerprint = config.parentFingerprint || this.parentFingerprint;
8126
- this.fingerprint = (0, import_ethers2.dataSlice)((0, import_ethers2.ripemd160)((0, import_hasher6.sha256)(this.publicKey)), 0, 4);
8083
+ this.fingerprint = (0, import_utils35.dataSlice)((0, import_crypto5.ripemd160)((0, import_hasher6.sha256)(this.publicKey)), 0, 4);
8127
8084
  this.depth = config.depth || this.depth;
8128
8085
  this.index = config.index || this.index;
8129
8086
  this.chainCode = config.chainCode;
@@ -8154,13 +8111,13 @@ var HDWallet = class {
8154
8111
  } else {
8155
8112
  data.set((0, import_utils35.arrayify)(this.publicKey));
8156
8113
  }
8157
- data.set((0, import_math23.toBytes)(index, 4), 33);
8158
- const bytes = (0, import_utils35.arrayify)((0, import_ethers2.computeHmac)("sha512", chainCode, data));
8114
+ data.set((0, import_math22.toBytes)(index, 4), 33);
8115
+ const bytes = (0, import_utils35.arrayify)((0, import_crypto5.computeHmac)("sha512", chainCode, data));
8159
8116
  const IL = bytes.slice(0, 32);
8160
8117
  const IR = bytes.slice(32);
8161
8118
  if (privateKey) {
8162
8119
  const N = "0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141";
8163
- const ki = (0, import_math23.bn)(IL).add(privateKey).mod(N).toBytes(32);
8120
+ const ki = (0, import_math22.bn)(IL).add(privateKey).mod(N).toBytes(32);
8164
8121
  return new HDWallet({
8165
8122
  privateKey: ki,
8166
8123
  chainCode: IR,
@@ -8206,7 +8163,7 @@ var HDWallet = class {
8206
8163
  const prefix = getExtendedKeyPrefix(this.privateKey == null || isPublic, testnet);
8207
8164
  const depth = (0, import_utils35.hexlify)(Uint8Array.from([this.depth]));
8208
8165
  const parentFingerprint = this.parentFingerprint;
8209
- const index = (0, import_math23.toHex)(this.index, 4);
8166
+ const index = (0, import_math22.toHex)(this.index, 4);
8210
8167
  const chainCode = this.chainCode;
8211
8168
  const key = this.privateKey != null && !isPublic ? (0, import_utils35.concat)(["0x00", this.privateKey]) : this.publicKey;
8212
8169
  const extendedKey = (0, import_utils35.arrayify)((0, import_utils35.concat)([prefix, depth, parentFingerprint, index, chainCode, key]));
@@ -8226,7 +8183,7 @@ var HDWallet = class {
8226
8183
  });
8227
8184
  }
8228
8185
  static fromExtendedKey(extendedKey) {
8229
- const decoded = (0, import_ethers2.toBeHex)((0, import_ethers2.decodeBase58)(extendedKey));
8186
+ const decoded = (0, import_utils35.hexlify)((0, import_math22.toBytes)((0, import_utils35.decodeBase58)(extendedKey)));
8230
8187
  const bytes = (0, import_utils35.arrayify)(decoded);
8231
8188
  const validChecksum = base58check(bytes.slice(0, 78)) === extendedKey;
8232
8189
  if (bytes.length !== 82 || !isValidExtendedKey(bytes)) {
@@ -8425,17 +8382,19 @@ __publicField(Wallet, "fromExtendedKey", WalletUnlocked.fromExtendedKey);
8425
8382
  __publicField(Wallet, "fromEncryptedJson", WalletUnlocked.fromEncryptedJson);
8426
8383
 
8427
8384
  // src/test-utils/seedTestWallet.ts
8428
- var import_crypto5 = require("@fuel-ts/crypto");
8429
- var seedTestWallet = async (wallet, quantities) => {
8430
- const genesisWallet = new WalletUnlocked(
8431
- process.env.GENESIS_SECRET || (0, import_crypto5.randomBytes)(32),
8432
- wallet.provider
8433
- );
8385
+ var import_crypto6 = require("@fuel-ts/crypto");
8386
+ var seedTestWallet = async (wallet, quantities, utxosAmount = 1) => {
8387
+ const accountsToBeFunded = Array.isArray(wallet) ? wallet : [wallet];
8388
+ const [{ provider }] = accountsToBeFunded;
8389
+ const genesisWallet = new WalletUnlocked(process.env.GENESIS_SECRET || (0, import_crypto6.randomBytes)(32), provider);
8434
8390
  const request = new ScriptTransactionRequest();
8435
- quantities.forEach((quantity) => {
8436
- const { amount, assetId } = coinQuantityfy(quantity);
8437
- request.addCoinOutput(wallet.address, amount, assetId);
8438
- });
8391
+ quantities.map(coinQuantityfy).forEach(
8392
+ ({ amount, assetId }) => accountsToBeFunded.forEach(({ address }) => {
8393
+ for (let i = 0; i < utxosAmount; i++) {
8394
+ request.addCoinOutput(address, amount.div(utxosAmount), assetId);
8395
+ }
8396
+ })
8397
+ );
8439
8398
  const txCost = await genesisWallet.provider.getTransactionCost(request);
8440
8399
  request.gasLimit = txCost.gasUsed;
8441
8400
  request.maxFee = txCost.maxFee;
@@ -8454,11 +8413,11 @@ var generateTestWallet = async (provider, quantities) => {
8454
8413
 
8455
8414
  // src/test-utils/launchNode.ts
8456
8415
  var import_abi_coder7 = require("@fuel-ts/abi-coder");
8457
- var import_crypto6 = require("@fuel-ts/crypto");
8416
+ var import_crypto7 = require("@fuel-ts/crypto");
8458
8417
  var import_utils36 = require("@fuel-ts/utils");
8459
8418
  var import_cli_utils = require("@fuel-ts/utils/cli-utils");
8460
8419
  var import_child_process = require("child_process");
8461
- var import_crypto7 = require("crypto");
8420
+ var import_crypto8 = require("crypto");
8462
8421
  var import_fs = require("fs");
8463
8422
  var import_os = __toESM(require("os"));
8464
8423
  var import_path = __toESM(require("path"));
@@ -8530,7 +8489,7 @@ var launchNode = async ({
8530
8489
  })).toString();
8531
8490
  let snapshotDirToUse;
8532
8491
  const prefix = basePath || import_os.default.tmpdir();
8533
- const suffix = basePath ? "" : (0, import_crypto7.randomUUID)();
8492
+ const suffix = basePath ? "" : (0, import_crypto8.randomUUID)();
8534
8493
  const tempDirPath = import_path.default.join(prefix, ".fuels", suffix, "snapshotDir");
8535
8494
  if (snapshotDir) {
8536
8495
  snapshotDirToUse = snapshotDir;
@@ -8559,7 +8518,7 @@ var launchNode = async ({
8559
8518
  const signer = new Signer(pk);
8560
8519
  process.env.GENESIS_SECRET = (0, import_utils36.hexlify)(pk);
8561
8520
  stateConfigJson.coins.push({
8562
- tx_id: (0, import_utils36.hexlify)((0, import_crypto6.randomBytes)(import_abi_coder7.UTXO_ID_LEN)),
8521
+ tx_id: (0, import_utils36.hexlify)((0, import_crypto7.randomBytes)(import_abi_coder7.UTXO_ID_LEN)),
8563
8522
  owner: signer.address.toHexString(),
8564
8523
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
8565
8524
  amount: "18446744073709551615",