@fuel-ts/account 0.0.0-rc-2143-20240429105111 → 0.0.0-rc-2037-20240429115810

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 (33) hide show
  1. package/dist/index.global.js +69 -8
  2. package/dist/index.global.js.map +1 -1
  3. package/dist/index.js +192 -118
  4. package/dist/index.js.map +1 -1
  5. package/dist/index.mjs +107 -39
  6. package/dist/index.mjs.map +1 -1
  7. package/dist/predicate/predicate.d.ts +9 -2
  8. package/dist/predicate/predicate.d.ts.map +1 -1
  9. package/dist/providers/transaction-request/helpers.d.ts +10 -0
  10. package/dist/providers/transaction-request/helpers.d.ts.map +1 -0
  11. package/dist/providers/transaction-request/index.d.ts +1 -0
  12. package/dist/providers/transaction-request/index.d.ts.map +1 -1
  13. package/dist/providers/transaction-request/transaction-request.d.ts +2 -0
  14. package/dist/providers/transaction-request/transaction-request.d.ts.map +1 -1
  15. package/dist/test-utils/index.d.ts +1 -0
  16. package/dist/test-utils/index.d.ts.map +1 -1
  17. package/dist/test-utils/launchNode.d.ts +2 -4
  18. package/dist/test-utils/launchNode.d.ts.map +1 -1
  19. package/dist/test-utils/resources.d.ts +4 -0
  20. package/dist/test-utils/resources.d.ts.map +1 -0
  21. package/dist/test-utils/seedTestWallet.d.ts +1 -1
  22. package/dist/test-utils/seedTestWallet.d.ts.map +1 -1
  23. package/dist/test-utils/transactionRequest.d.ts +5 -0
  24. package/dist/test-utils/transactionRequest.d.ts.map +1 -0
  25. package/dist/test-utils.global.js +63 -14
  26. package/dist/test-utils.global.js.map +1 -1
  27. package/dist/test-utils.js +180 -117
  28. package/dist/test-utils.js.map +1 -1
  29. package/dist/test-utils.mjs +104 -44
  30. package/dist/test-utils.mjs.map +1 -1
  31. package/dist/wallet/base-wallet-unlocked.d.ts +2 -2
  32. package/dist/wallet/base-wallet-unlocked.d.ts.map +1 -1
  33. package/package.json +15 -15
@@ -48,6 +48,9 @@ var __privateMethod = (obj, member, method) => {
48
48
  // src/test-utils/index.ts
49
49
  var test_utils_exports = {};
50
50
  __export(test_utils_exports, {
51
+ generateFakeRequestInputCoin: () => generateFakeRequestInputCoin,
52
+ generateFakeRequestInputContract: () => generateFakeRequestInputContract,
53
+ generateFakeRequestInputMessage: () => generateFakeRequestInputMessage,
51
54
  generateTestWallet: () => generateTestWallet,
52
55
  killNode: () => killNode,
53
56
  launchNode: () => launchNode,
@@ -107,7 +110,7 @@ var addAmountToCoinQuantities = (params) => {
107
110
  var import_address3 = require("@fuel-ts/address");
108
111
  var import_errors14 = require("@fuel-ts/errors");
109
112
  var import_math16 = require("@fuel-ts/math");
110
- var import_transactions19 = require("@fuel-ts/transactions");
113
+ var import_transactions20 = require("@fuel-ts/transactions");
111
114
  var import_utils22 = require("@fuel-ts/utils");
112
115
  var import_versions = require("@fuel-ts/versions");
113
116
  var import_utils23 = require("@noble/curves/abstract/utils");
@@ -1265,7 +1268,7 @@ var import_address = require("@fuel-ts/address");
1265
1268
  var import_configs6 = require("@fuel-ts/address/configs");
1266
1269
  var import_crypto = require("@fuel-ts/crypto");
1267
1270
  var import_math7 = require("@fuel-ts/math");
1268
- var import_transactions6 = require("@fuel-ts/transactions");
1271
+ var import_transactions7 = require("@fuel-ts/transactions");
1269
1272
  var import_utils9 = require("@fuel-ts/utils");
1270
1273
 
1271
1274
  // src/providers/resource.ts
@@ -1699,6 +1702,12 @@ var NoWitnessAtIndexError = class extends Error {
1699
1702
  name = "NoWitnessAtIndexError";
1700
1703
  };
1701
1704
 
1705
+ // src/providers/transaction-request/helpers.ts
1706
+ var import_transactions6 = require("@fuel-ts/transactions");
1707
+ var isRequestInputCoin = (input) => input.type === import_transactions6.InputType.Coin;
1708
+ var isRequestInputMessage = (input) => input.type === import_transactions6.InputType.Message;
1709
+ var isRequestInputResource = (input) => isRequestInputCoin(input) || isRequestInputMessage(input);
1710
+
1702
1711
  // src/providers/transaction-request/witness.ts
1703
1712
  var import_utils8 = require("@fuel-ts/utils");
1704
1713
  var witnessify = (value) => {
@@ -1751,20 +1760,20 @@ var BaseTransactionRequest = class {
1751
1760
  let policyTypes = 0;
1752
1761
  const policies = [];
1753
1762
  if (req.tip) {
1754
- policyTypes += import_transactions6.PolicyType.Tip;
1755
- policies.push({ data: req.tip, type: import_transactions6.PolicyType.Tip });
1763
+ policyTypes += import_transactions7.PolicyType.Tip;
1764
+ policies.push({ data: req.tip, type: import_transactions7.PolicyType.Tip });
1756
1765
  }
1757
1766
  if (req.witnessLimit) {
1758
- policyTypes += import_transactions6.PolicyType.WitnessLimit;
1759
- policies.push({ data: req.witnessLimit, type: import_transactions6.PolicyType.WitnessLimit });
1767
+ policyTypes += import_transactions7.PolicyType.WitnessLimit;
1768
+ policies.push({ data: req.witnessLimit, type: import_transactions7.PolicyType.WitnessLimit });
1760
1769
  }
1761
1770
  if (req.maturity > 0) {
1762
- policyTypes += import_transactions6.PolicyType.Maturity;
1763
- policies.push({ data: req.maturity, type: import_transactions6.PolicyType.Maturity });
1771
+ policyTypes += import_transactions7.PolicyType.Maturity;
1772
+ policies.push({ data: req.maturity, type: import_transactions7.PolicyType.Maturity });
1764
1773
  }
1765
1774
  if (req.maxFee) {
1766
- policyTypes += import_transactions6.PolicyType.MaxFee;
1767
- policies.push({ data: req.maxFee, type: import_transactions6.PolicyType.MaxFee });
1775
+ policyTypes += import_transactions7.PolicyType.MaxFee;
1776
+ policies.push({ data: req.maxFee, type: import_transactions7.PolicyType.MaxFee });
1768
1777
  }
1769
1778
  return {
1770
1779
  policyTypes,
@@ -1798,7 +1807,7 @@ var BaseTransactionRequest = class {
1798
1807
  * @returns The transaction bytes.
1799
1808
  */
1800
1809
  toTransactionBytes() {
1801
- return new import_transactions6.TransactionCoder().encode(this.toTransaction());
1810
+ return new import_transactions7.TransactionCoder().encode(this.toTransaction());
1802
1811
  }
1803
1812
  /**
1804
1813
  * @hidden
@@ -1889,7 +1898,7 @@ var BaseTransactionRequest = class {
1889
1898
  */
1890
1899
  getCoinInputs() {
1891
1900
  return this.inputs.filter(
1892
- (input) => input.type === import_transactions6.InputType.Coin
1901
+ (input) => input.type === import_transactions7.InputType.Coin
1893
1902
  );
1894
1903
  }
1895
1904
  /**
@@ -1899,7 +1908,7 @@ var BaseTransactionRequest = class {
1899
1908
  */
1900
1909
  getCoinOutputs() {
1901
1910
  return this.outputs.filter(
1902
- (output) => output.type === import_transactions6.OutputType.Coin
1911
+ (output) => output.type === import_transactions7.OutputType.Coin
1903
1912
  );
1904
1913
  }
1905
1914
  /**
@@ -1909,7 +1918,7 @@ var BaseTransactionRequest = class {
1909
1918
  */
1910
1919
  getChangeOutputs() {
1911
1920
  return this.outputs.filter(
1912
- (output) => output.type === import_transactions6.OutputType.Change
1921
+ (output) => output.type === import_transactions7.OutputType.Change
1913
1922
  );
1914
1923
  }
1915
1924
  /**
@@ -1921,9 +1930,9 @@ var BaseTransactionRequest = class {
1921
1930
  const ownerAddress = (0, import_address.addressify)(owner);
1922
1931
  const found = this.inputs.find((input) => {
1923
1932
  switch (input.type) {
1924
- case import_transactions6.InputType.Coin:
1933
+ case import_transactions7.InputType.Coin:
1925
1934
  return (0, import_utils9.hexlify)(input.owner) === ownerAddress.toB256();
1926
- case import_transactions6.InputType.Message:
1935
+ case import_transactions7.InputType.Message:
1927
1936
  return (0, import_utils9.hexlify)(input.recipient) === ownerAddress.toB256();
1928
1937
  default:
1929
1938
  return false;
@@ -1938,7 +1947,7 @@ var BaseTransactionRequest = class {
1938
1947
  * @param coin - Coin resource.
1939
1948
  */
1940
1949
  addCoinInput(coin) {
1941
- const { assetId, owner, amount } = coin;
1950
+ const { assetId, owner, amount, id, predicate } = coin;
1942
1951
  let witnessIndex;
1943
1952
  if (coin.predicate) {
1944
1953
  witnessIndex = 0;
@@ -1949,13 +1958,14 @@ var BaseTransactionRequest = class {
1949
1958
  }
1950
1959
  }
1951
1960
  const input = {
1952
- ...coin,
1953
- type: import_transactions6.InputType.Coin,
1961
+ id,
1962
+ type: import_transactions7.InputType.Coin,
1954
1963
  owner: owner.toB256(),
1955
1964
  amount,
1956
1965
  assetId,
1957
1966
  txPointer: "0x00000000000000000000000000000000",
1958
- witnessIndex
1967
+ witnessIndex,
1968
+ predicate
1959
1969
  };
1960
1970
  this.pushInput(input);
1961
1971
  this.addChangeOutput(owner, assetId);
@@ -1967,7 +1977,7 @@ var BaseTransactionRequest = class {
1967
1977
  * @param message - Message resource.
1968
1978
  */
1969
1979
  addMessageInput(message) {
1970
- const { recipient, sender, amount, assetId } = message;
1980
+ const { recipient, sender, amount, predicate, nonce, assetId } = message;
1971
1981
  let witnessIndex;
1972
1982
  if (message.predicate) {
1973
1983
  witnessIndex = 0;
@@ -1978,12 +1988,13 @@ var BaseTransactionRequest = class {
1978
1988
  }
1979
1989
  }
1980
1990
  const input = {
1981
- ...message,
1982
- type: import_transactions6.InputType.Message,
1991
+ nonce,
1992
+ type: import_transactions7.InputType.Message,
1983
1993
  sender: sender.toB256(),
1984
1994
  recipient: recipient.toB256(),
1985
1995
  amount,
1986
- witnessIndex
1996
+ witnessIndex,
1997
+ predicate
1987
1998
  };
1988
1999
  this.pushInput(input);
1989
2000
  this.addChangeOutput(recipient, assetId);
@@ -2023,7 +2034,7 @@ var BaseTransactionRequest = class {
2023
2034
  */
2024
2035
  addCoinOutput(to, amount, assetId) {
2025
2036
  this.pushOutput({
2026
- type: import_transactions6.OutputType.Coin,
2037
+ type: import_transactions7.OutputType.Coin,
2027
2038
  to: (0, import_address.addressify)(to).toB256(),
2028
2039
  amount,
2029
2040
  assetId
@@ -2039,7 +2050,7 @@ var BaseTransactionRequest = class {
2039
2050
  addCoinOutputs(to, quantities) {
2040
2051
  quantities.map(coinQuantityfy).forEach((quantity) => {
2041
2052
  this.pushOutput({
2042
- type: import_transactions6.OutputType.Coin,
2053
+ type: import_transactions7.OutputType.Coin,
2043
2054
  to: (0, import_address.addressify)(to).toB256(),
2044
2055
  amount: quantity.amount,
2045
2056
  assetId: quantity.assetId
@@ -2059,7 +2070,7 @@ var BaseTransactionRequest = class {
2059
2070
  );
2060
2071
  if (!changeOutput) {
2061
2072
  this.pushOutput({
2062
- type: import_transactions6.OutputType.Change,
2073
+ type: import_transactions7.OutputType.Change,
2063
2074
  to: (0, import_address.addressify)(to).toB256(),
2064
2075
  assetId
2065
2076
  });
@@ -2167,16 +2178,27 @@ var BaseTransactionRequest = class {
2167
2178
  toJSON() {
2168
2179
  return normalizeJSON(this);
2169
2180
  }
2181
+ removeWitness(index) {
2182
+ this.witnesses.splice(index, 1);
2183
+ this.adjustWitnessIndexes(index);
2184
+ }
2185
+ adjustWitnessIndexes(removedIndex) {
2186
+ this.inputs.filter(isRequestInputResource).forEach((input) => {
2187
+ if (input.witnessIndex > removedIndex) {
2188
+ input.witnessIndex -= 1;
2189
+ }
2190
+ });
2191
+ }
2170
2192
  updatePredicateGasUsed(inputs) {
2171
2193
  this.inputs.forEach((i) => {
2172
2194
  let correspondingInput;
2173
2195
  switch (i.type) {
2174
- case import_transactions6.InputType.Coin:
2175
- correspondingInput = inputs.find((x) => x.type === import_transactions6.InputType.Coin && x.owner === i.owner);
2196
+ case import_transactions7.InputType.Coin:
2197
+ correspondingInput = inputs.find((x) => x.type === import_transactions7.InputType.Coin && x.owner === i.owner);
2176
2198
  break;
2177
- case import_transactions6.InputType.Message:
2199
+ case import_transactions7.InputType.Message:
2178
2200
  correspondingInput = inputs.find(
2179
- (x) => x.type === import_transactions6.InputType.Message && x.sender === i.sender
2201
+ (x) => x.type === import_transactions7.InputType.Message && x.sender === i.sender
2180
2202
  );
2181
2203
  break;
2182
2204
  default:
@@ -2203,25 +2225,25 @@ var BaseTransactionRequest = class {
2203
2225
  // src/providers/transaction-request/create-transaction-request.ts
2204
2226
  var import_configs8 = require("@fuel-ts/address/configs");
2205
2227
  var import_math9 = require("@fuel-ts/math");
2206
- var import_transactions8 = require("@fuel-ts/transactions");
2228
+ var import_transactions9 = require("@fuel-ts/transactions");
2207
2229
  var import_utils13 = require("@fuel-ts/utils");
2208
2230
 
2209
2231
  // src/providers/transaction-request/hash-transaction.ts
2210
2232
  var import_configs7 = require("@fuel-ts/address/configs");
2211
2233
  var import_hasher = require("@fuel-ts/hasher");
2212
2234
  var import_math8 = require("@fuel-ts/math");
2213
- var import_transactions7 = require("@fuel-ts/transactions");
2235
+ var import_transactions8 = require("@fuel-ts/transactions");
2214
2236
  var import_utils11 = require("@fuel-ts/utils");
2215
2237
  var import_ramda2 = require("ramda");
2216
2238
  function hashTransaction(transactionRequest, chainId) {
2217
2239
  const transaction = transactionRequest.toTransaction();
2218
- if (transaction.type === import_transactions7.TransactionType.Script) {
2240
+ if (transaction.type === import_transactions8.TransactionType.Script) {
2219
2241
  transaction.receiptsRoot = import_configs7.ZeroBytes32;
2220
2242
  }
2221
2243
  transaction.inputs = transaction.inputs.map((input) => {
2222
2244
  const inputClone = (0, import_ramda2.clone)(input);
2223
2245
  switch (inputClone.type) {
2224
- case import_transactions7.InputType.Coin: {
2246
+ case import_transactions8.InputType.Coin: {
2225
2247
  inputClone.txPointer = {
2226
2248
  blockHeight: 0,
2227
2249
  txIndex: 0
@@ -2229,11 +2251,11 @@ function hashTransaction(transactionRequest, chainId) {
2229
2251
  inputClone.predicateGasUsed = (0, import_math8.bn)(0);
2230
2252
  return inputClone;
2231
2253
  }
2232
- case import_transactions7.InputType.Message: {
2254
+ case import_transactions8.InputType.Message: {
2233
2255
  inputClone.predicateGasUsed = (0, import_math8.bn)(0);
2234
2256
  return inputClone;
2235
2257
  }
2236
- case import_transactions7.InputType.Contract: {
2258
+ case import_transactions8.InputType.Contract: {
2237
2259
  inputClone.txPointer = {
2238
2260
  blockHeight: 0,
2239
2261
  txIndex: 0
@@ -2251,16 +2273,16 @@ function hashTransaction(transactionRequest, chainId) {
2251
2273
  transaction.outputs = transaction.outputs.map((output) => {
2252
2274
  const outputClone = (0, import_ramda2.clone)(output);
2253
2275
  switch (outputClone.type) {
2254
- case import_transactions7.OutputType.Contract: {
2276
+ case import_transactions8.OutputType.Contract: {
2255
2277
  outputClone.balanceRoot = import_configs7.ZeroBytes32;
2256
2278
  outputClone.stateRoot = import_configs7.ZeroBytes32;
2257
2279
  return outputClone;
2258
2280
  }
2259
- case import_transactions7.OutputType.Change: {
2281
+ case import_transactions8.OutputType.Change: {
2260
2282
  outputClone.amount = (0, import_math8.bn)(0);
2261
2283
  return outputClone;
2262
2284
  }
2263
- case import_transactions7.OutputType.Variable: {
2285
+ case import_transactions8.OutputType.Variable: {
2264
2286
  outputClone.to = import_configs7.ZeroBytes32;
2265
2287
  outputClone.amount = (0, import_math8.bn)(0);
2266
2288
  outputClone.assetId = import_configs7.ZeroBytes32;
@@ -2273,7 +2295,7 @@ function hashTransaction(transactionRequest, chainId) {
2273
2295
  transaction.witnessesCount = 0;
2274
2296
  transaction.witnesses = [];
2275
2297
  const chainIdBytes = (0, import_hasher.uint64ToBytesBE)(chainId);
2276
- const concatenatedData = (0, import_utils11.concat)([chainIdBytes, new import_transactions7.TransactionCoder().encode(transaction)]);
2298
+ const concatenatedData = (0, import_utils11.concat)([chainIdBytes, new import_transactions8.TransactionCoder().encode(transaction)]);
2277
2299
  return (0, import_hasher.sha256)(concatenatedData);
2278
2300
  }
2279
2301
 
@@ -2309,7 +2331,7 @@ var CreateTransactionRequest = class extends BaseTransactionRequest {
2309
2331
  return new this(obj);
2310
2332
  }
2311
2333
  /** Type of the transaction */
2312
- type = import_transactions8.TransactionType.Create;
2334
+ type = import_transactions9.TransactionType.Create;
2313
2335
  /** Witness index of contract bytecode to create */
2314
2336
  bytecodeWitnessIndex;
2315
2337
  /** Salt */
@@ -2337,7 +2359,7 @@ var CreateTransactionRequest = class extends BaseTransactionRequest {
2337
2359
  const bytecodeWitnessIndex = this.bytecodeWitnessIndex;
2338
2360
  const storageSlots = this.storageSlots?.map(storageSlotify) ?? [];
2339
2361
  return {
2340
- type: import_transactions8.TransactionType.Create,
2362
+ type: import_transactions9.TransactionType.Create,
2341
2363
  ...baseTransaction,
2342
2364
  bytecodeWitnessIndex,
2343
2365
  storageSlotsCount: (0, import_math9.bn)(storageSlots.length),
@@ -2352,7 +2374,7 @@ var CreateTransactionRequest = class extends BaseTransactionRequest {
2352
2374
  */
2353
2375
  getContractCreatedOutputs() {
2354
2376
  return this.outputs.filter(
2355
- (output) => output.type === import_transactions8.OutputType.ContractCreated
2377
+ (output) => output.type === import_transactions9.OutputType.ContractCreated
2356
2378
  );
2357
2379
  }
2358
2380
  /**
@@ -2373,7 +2395,7 @@ var CreateTransactionRequest = class extends BaseTransactionRequest {
2373
2395
  */
2374
2396
  addContractCreatedOutput(contractId, stateRoot) {
2375
2397
  this.pushOutput({
2376
- type: import_transactions8.OutputType.ContractCreated,
2398
+ type: import_transactions9.OutputType.ContractCreated,
2377
2399
  contractId,
2378
2400
  stateRoot
2379
2401
  });
@@ -2393,7 +2415,7 @@ var import_abi_coder3 = require("@fuel-ts/abi-coder");
2393
2415
  var import_address2 = require("@fuel-ts/address");
2394
2416
  var import_configs9 = require("@fuel-ts/address/configs");
2395
2417
  var import_math10 = require("@fuel-ts/math");
2396
- var import_transactions9 = require("@fuel-ts/transactions");
2418
+ var import_transactions10 = require("@fuel-ts/transactions");
2397
2419
  var import_utils15 = require("@fuel-ts/utils");
2398
2420
 
2399
2421
  // src/providers/transaction-request/scripts.ts
@@ -2431,7 +2453,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
2431
2453
  return new this(obj);
2432
2454
  }
2433
2455
  /** Type of the transaction */
2434
- type = import_transactions9.TransactionType.Script;
2456
+ type = import_transactions10.TransactionType.Script;
2435
2457
  /** Gas limit for transaction */
2436
2458
  gasLimit;
2437
2459
  /** Script to execute */
@@ -2460,7 +2482,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
2460
2482
  const script = (0, import_utils15.arrayify)(this.script ?? "0x");
2461
2483
  const scriptData = (0, import_utils15.arrayify)(this.scriptData ?? "0x");
2462
2484
  return {
2463
- type: import_transactions9.TransactionType.Script,
2485
+ type: import_transactions10.TransactionType.Script,
2464
2486
  scriptGasLimit: this.gasLimit,
2465
2487
  ...super.getBaseTransaction(),
2466
2488
  scriptLength: (0, import_math10.bn)(script.length),
@@ -2477,7 +2499,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
2477
2499
  */
2478
2500
  getContractInputs() {
2479
2501
  return this.inputs.filter(
2480
- (input) => input.type === import_transactions9.InputType.Contract
2502
+ (input) => input.type === import_transactions10.InputType.Contract
2481
2503
  );
2482
2504
  }
2483
2505
  /**
@@ -2487,7 +2509,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
2487
2509
  */
2488
2510
  getContractOutputs() {
2489
2511
  return this.outputs.filter(
2490
- (output) => output.type === import_transactions9.OutputType.Contract
2512
+ (output) => output.type === import_transactions10.OutputType.Contract
2491
2513
  );
2492
2514
  }
2493
2515
  /**
@@ -2497,7 +2519,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
2497
2519
  */
2498
2520
  getVariableOutputs() {
2499
2521
  return this.outputs.filter(
2500
- (output) => output.type === import_transactions9.OutputType.Variable
2522
+ (output) => output.type === import_transactions10.OutputType.Variable
2501
2523
  );
2502
2524
  }
2503
2525
  /**
@@ -2520,7 +2542,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
2520
2542
  let outputsNumber = numberOfVariables;
2521
2543
  while (outputsNumber) {
2522
2544
  this.pushOutput({
2523
- type: import_transactions9.OutputType.Variable
2545
+ type: import_transactions10.OutputType.Variable
2524
2546
  });
2525
2547
  outputsNumber -= 1;
2526
2548
  }
@@ -2554,12 +2576,12 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
2554
2576
  return this;
2555
2577
  }
2556
2578
  const inputIndex = super.pushInput({
2557
- type: import_transactions9.InputType.Contract,
2579
+ type: import_transactions10.InputType.Contract,
2558
2580
  contractId: contractAddress.toB256(),
2559
2581
  txPointer: "0x00000000000000000000000000000000"
2560
2582
  });
2561
2583
  this.pushOutput({
2562
- type: import_transactions9.OutputType.Contract,
2584
+ type: import_transactions10.OutputType.Contract,
2563
2585
  inputIndex
2564
2586
  });
2565
2587
  return this;
@@ -2596,17 +2618,17 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
2596
2618
 
2597
2619
  // src/providers/transaction-request/utils.ts
2598
2620
  var import_errors9 = require("@fuel-ts/errors");
2599
- var import_transactions10 = require("@fuel-ts/transactions");
2621
+ var import_transactions11 = require("@fuel-ts/transactions");
2600
2622
  var transactionRequestify = (obj) => {
2601
2623
  if (obj instanceof ScriptTransactionRequest || obj instanceof CreateTransactionRequest) {
2602
2624
  return obj;
2603
2625
  }
2604
2626
  const { type } = obj;
2605
2627
  switch (obj.type) {
2606
- case import_transactions10.TransactionType.Script: {
2628
+ case import_transactions11.TransactionType.Script: {
2607
2629
  return ScriptTransactionRequest.from(obj);
2608
2630
  }
2609
- case import_transactions10.TransactionType.Create: {
2631
+ case import_transactions11.TransactionType.Create: {
2610
2632
  return CreateTransactionRequest.from(obj);
2611
2633
  }
2612
2634
  default: {
@@ -2616,10 +2638,10 @@ var transactionRequestify = (obj) => {
2616
2638
  };
2617
2639
  var cacheTxInputsFromOwner = (inputs, owner) => inputs.reduce(
2618
2640
  (acc, input) => {
2619
- if (input.type === import_transactions10.InputType.Coin && input.owner === owner) {
2641
+ if (input.type === import_transactions11.InputType.Coin && input.owner === owner) {
2620
2642
  acc.utxos.push(input.id);
2621
2643
  }
2622
- if (input.type === import_transactions10.InputType.Message && input.recipient === owner) {
2644
+ if (input.type === import_transactions11.InputType.Message && input.recipient === owner) {
2623
2645
  acc.messages.push(input.nonce);
2624
2646
  }
2625
2647
  return acc;
@@ -2633,17 +2655,17 @@ var cacheTxInputsFromOwner = (inputs, owner) => inputs.reduce(
2633
2655
  // src/providers/transaction-response/transaction-response.ts
2634
2656
  var import_errors13 = require("@fuel-ts/errors");
2635
2657
  var import_math15 = require("@fuel-ts/math");
2636
- var import_transactions18 = require("@fuel-ts/transactions");
2658
+ var import_transactions19 = require("@fuel-ts/transactions");
2637
2659
  var import_utils20 = require("@fuel-ts/utils");
2638
2660
 
2639
2661
  // src/providers/transaction-summary/assemble-transaction-summary.ts
2640
2662
  var import_math14 = require("@fuel-ts/math");
2641
- var import_transactions16 = require("@fuel-ts/transactions");
2663
+ var import_transactions17 = require("@fuel-ts/transactions");
2642
2664
  var import_utils18 = require("@fuel-ts/utils");
2643
2665
 
2644
2666
  // src/providers/transaction-summary/calculate-transaction-fee.ts
2645
2667
  var import_math11 = require("@fuel-ts/math");
2646
- var import_transactions11 = require("@fuel-ts/transactions");
2668
+ var import_transactions12 = require("@fuel-ts/transactions");
2647
2669
  var import_utils16 = require("@fuel-ts/utils");
2648
2670
  var calculateTransactionFee = (params) => {
2649
2671
  const {
@@ -2655,8 +2677,8 @@ var calculateTransactionFee = (params) => {
2655
2677
  const gasPerByte = (0, import_math11.bn)(feeParams.gasPerByte);
2656
2678
  const gasPriceFactor = (0, import_math11.bn)(feeParams.gasPriceFactor);
2657
2679
  const transactionBytes = (0, import_utils16.arrayify)(rawPayload);
2658
- const [transaction] = new import_transactions11.TransactionCoder().decode(transactionBytes, 0);
2659
- if (transaction.type === import_transactions11.TransactionType.Mint) {
2680
+ const [transaction] = new import_transactions12.TransactionCoder().decode(transactionBytes, 0);
2681
+ if (transaction.type === import_transactions12.TransactionType.Mint) {
2660
2682
  return {
2661
2683
  fee: (0, import_math11.bn)(0),
2662
2684
  minFee: (0, import_math11.bn)(0),
@@ -2666,7 +2688,7 @@ var calculateTransactionFee = (params) => {
2666
2688
  const { type, witnesses, inputs, policies } = transaction;
2667
2689
  let metadataGas = (0, import_math11.bn)(0);
2668
2690
  let gasLimit = (0, import_math11.bn)(0);
2669
- if (type === import_transactions11.TransactionType.Create) {
2691
+ if (type === import_transactions12.TransactionType.Create) {
2670
2692
  const { bytecodeWitnessIndex, storageSlots } = transaction;
2671
2693
  const contractBytesSize = (0, import_math11.bn)((0, import_utils16.arrayify)(witnesses[bytecodeWitnessIndex].data).length);
2672
2694
  metadataGas = calculateMetadataGasForTxCreate({
@@ -2692,7 +2714,7 @@ var calculateTransactionFee = (params) => {
2692
2714
  metadataGas,
2693
2715
  txBytesSize: transactionBytes.length
2694
2716
  });
2695
- const witnessLimit = policies.find((policy) => policy.type === import_transactions11.PolicyType.WitnessLimit)?.data;
2717
+ const witnessLimit = policies.find((policy) => policy.type === import_transactions12.PolicyType.WitnessLimit)?.data;
2696
2718
  const witnessesLength = witnesses.reduce((acc, wit) => acc + wit.dataLength, 0);
2697
2719
  const maxGas = getMaxGas({
2698
2720
  gasPerByte,
@@ -2725,7 +2747,7 @@ var calculateTransactionFee = (params) => {
2725
2747
  var import_configs10 = require("@fuel-ts/address/configs");
2726
2748
  var import_errors11 = require("@fuel-ts/errors");
2727
2749
  var import_math13 = require("@fuel-ts/math");
2728
- var import_transactions14 = require("@fuel-ts/transactions");
2750
+ var import_transactions15 = require("@fuel-ts/transactions");
2729
2751
 
2730
2752
  // src/providers/transaction-summary/call.ts
2731
2753
  var import_abi_coder4 = require("@fuel-ts/abi-coder");
@@ -2773,7 +2795,7 @@ var getFunctionCall = ({ abi, receipt, rawPayload, maxInputs }) => {
2773
2795
 
2774
2796
  // src/providers/transaction-summary/input.ts
2775
2797
  var import_errors10 = require("@fuel-ts/errors");
2776
- var import_transactions12 = require("@fuel-ts/transactions");
2798
+ var import_transactions13 = require("@fuel-ts/transactions");
2777
2799
  function getInputsByTypes(inputs, types) {
2778
2800
  return inputs.filter((i) => types.includes(i.type));
2779
2801
  }
@@ -2781,16 +2803,16 @@ function getInputsByType(inputs, type) {
2781
2803
  return inputs.filter((i) => i.type === type);
2782
2804
  }
2783
2805
  function getInputsCoin(inputs) {
2784
- return getInputsByType(inputs, import_transactions12.InputType.Coin);
2806
+ return getInputsByType(inputs, import_transactions13.InputType.Coin);
2785
2807
  }
2786
2808
  function getInputsMessage(inputs) {
2787
- return getInputsByType(inputs, import_transactions12.InputType.Message);
2809
+ return getInputsByType(inputs, import_transactions13.InputType.Message);
2788
2810
  }
2789
2811
  function getInputsCoinAndMessage(inputs) {
2790
- return getInputsByTypes(inputs, [import_transactions12.InputType.Coin, import_transactions12.InputType.Message]);
2812
+ return getInputsByTypes(inputs, [import_transactions13.InputType.Coin, import_transactions13.InputType.Message]);
2791
2813
  }
2792
2814
  function getInputsContract(inputs) {
2793
- return getInputsByType(inputs, import_transactions12.InputType.Contract);
2815
+ return getInputsByType(inputs, import_transactions13.InputType.Contract);
2794
2816
  }
2795
2817
  function getInputFromAssetId(inputs, assetId) {
2796
2818
  const coinInputs = getInputsCoin(inputs);
@@ -2809,7 +2831,7 @@ function getInputContractFromIndex(inputs, inputIndex) {
2809
2831
  if (!contractInput) {
2810
2832
  return void 0;
2811
2833
  }
2812
- if (contractInput.type !== import_transactions12.InputType.Contract) {
2834
+ if (contractInput.type !== import_transactions13.InputType.Contract) {
2813
2835
  throw new import_errors10.FuelError(
2814
2836
  import_errors10.ErrorCode.INVALID_TRANSACTION_INPUT,
2815
2837
  `Contract input should be of type 'contract'.`
@@ -2818,31 +2840,31 @@ function getInputContractFromIndex(inputs, inputIndex) {
2818
2840
  return contractInput;
2819
2841
  }
2820
2842
  function getInputAccountAddress(input) {
2821
- if (input.type === import_transactions12.InputType.Coin) {
2843
+ if (input.type === import_transactions13.InputType.Coin) {
2822
2844
  return input.owner.toString();
2823
2845
  }
2824
- if (input.type === import_transactions12.InputType.Message) {
2846
+ if (input.type === import_transactions13.InputType.Message) {
2825
2847
  return input.recipient.toString();
2826
2848
  }
2827
2849
  return "";
2828
2850
  }
2829
2851
 
2830
2852
  // src/providers/transaction-summary/output.ts
2831
- var import_transactions13 = require("@fuel-ts/transactions");
2853
+ var import_transactions14 = require("@fuel-ts/transactions");
2832
2854
  function getOutputsByType(outputs, type) {
2833
2855
  return outputs.filter((o) => o.type === type);
2834
2856
  }
2835
2857
  function getOutputsContractCreated(outputs) {
2836
- return getOutputsByType(outputs, import_transactions13.OutputType.ContractCreated);
2858
+ return getOutputsByType(outputs, import_transactions14.OutputType.ContractCreated);
2837
2859
  }
2838
2860
  function getOutputsCoin(outputs) {
2839
- return getOutputsByType(outputs, import_transactions13.OutputType.Coin);
2861
+ return getOutputsByType(outputs, import_transactions14.OutputType.Coin);
2840
2862
  }
2841
2863
  function getOutputsChange(outputs) {
2842
- return getOutputsByType(outputs, import_transactions13.OutputType.Change);
2864
+ return getOutputsByType(outputs, import_transactions14.OutputType.Change);
2843
2865
  }
2844
2866
  function getOutputsContract(outputs) {
2845
- return getOutputsByType(outputs, import_transactions13.OutputType.Contract);
2867
+ return getOutputsByType(outputs, import_transactions14.OutputType.Contract);
2846
2868
  }
2847
2869
 
2848
2870
  // src/providers/transaction-summary/operations.ts
@@ -2851,11 +2873,11 @@ function getReceiptsByType(receipts, type) {
2851
2873
  }
2852
2874
  function getTransactionTypeName(transactionType) {
2853
2875
  switch (transactionType) {
2854
- case import_transactions14.TransactionType.Mint:
2876
+ case import_transactions15.TransactionType.Mint:
2855
2877
  return "Mint" /* Mint */;
2856
- case import_transactions14.TransactionType.Create:
2878
+ case import_transactions15.TransactionType.Create:
2857
2879
  return "Create" /* Create */;
2858
- case import_transactions14.TransactionType.Script:
2880
+ case import_transactions15.TransactionType.Script:
2859
2881
  return "Script" /* Script */;
2860
2882
  default:
2861
2883
  throw new import_errors11.FuelError(
@@ -2878,10 +2900,10 @@ function isTypeScript(transactionType) {
2878
2900
  return isType(transactionType, "Script" /* Script */);
2879
2901
  }
2880
2902
  function getReceiptsCall(receipts) {
2881
- return getReceiptsByType(receipts, import_transactions14.ReceiptType.Call);
2903
+ return getReceiptsByType(receipts, import_transactions15.ReceiptType.Call);
2882
2904
  }
2883
2905
  function getReceiptsMessageOut(receipts) {
2884
- return getReceiptsByType(receipts, import_transactions14.ReceiptType.MessageOut);
2906
+ return getReceiptsByType(receipts, import_transactions15.ReceiptType.MessageOut);
2885
2907
  }
2886
2908
  var mergeAssets = (op1, op2) => {
2887
2909
  const assets1 = op1.assetsSent || [];
@@ -3077,11 +3099,11 @@ function getTransferOperations({
3077
3099
  });
3078
3100
  const transferReceipts = getReceiptsByType(
3079
3101
  receipts,
3080
- import_transactions14.ReceiptType.Transfer
3102
+ import_transactions15.ReceiptType.Transfer
3081
3103
  );
3082
3104
  const transferOutReceipts = getReceiptsByType(
3083
3105
  receipts,
3084
- import_transactions14.ReceiptType.TransferOut
3106
+ import_transactions15.ReceiptType.TransferOut
3085
3107
  );
3086
3108
  [...transferReceipts, ...transferOutReceipts].forEach((receipt) => {
3087
3109
  const operation = extractTransferOperationFromReceipt(receipt, contractInputs, changeOutputs);
@@ -3166,17 +3188,17 @@ function getOperations({
3166
3188
  }
3167
3189
 
3168
3190
  // src/providers/transaction-summary/receipt.ts
3169
- var import_transactions15 = require("@fuel-ts/transactions");
3191
+ var import_transactions16 = require("@fuel-ts/transactions");
3170
3192
  var processGqlReceipt = (gqlReceipt) => {
3171
3193
  const receipt = assembleReceiptByType(gqlReceipt);
3172
3194
  switch (receipt.type) {
3173
- case import_transactions15.ReceiptType.ReturnData: {
3195
+ case import_transactions16.ReceiptType.ReturnData: {
3174
3196
  return {
3175
3197
  ...receipt,
3176
3198
  data: gqlReceipt.data || "0x"
3177
3199
  };
3178
3200
  }
3179
- case import_transactions15.ReceiptType.LogData: {
3201
+ case import_transactions16.ReceiptType.LogData: {
3180
3202
  return {
3181
3203
  ...receipt,
3182
3204
  data: gqlReceipt.data || "0x"
@@ -3189,7 +3211,7 @@ var processGqlReceipt = (gqlReceipt) => {
3189
3211
  var extractMintedAssetsFromReceipts = (receipts) => {
3190
3212
  const mintedAssets = [];
3191
3213
  receipts.forEach((receipt) => {
3192
- if (receipt.type === import_transactions15.ReceiptType.Mint) {
3214
+ if (receipt.type === import_transactions16.ReceiptType.Mint) {
3193
3215
  mintedAssets.push({
3194
3216
  subId: receipt.subId,
3195
3217
  contractId: receipt.contractId,
@@ -3203,7 +3225,7 @@ var extractMintedAssetsFromReceipts = (receipts) => {
3203
3225
  var extractBurnedAssetsFromReceipts = (receipts) => {
3204
3226
  const burnedAssets = [];
3205
3227
  receipts.forEach((receipt) => {
3206
- if (receipt.type === import_transactions15.ReceiptType.Burn) {
3228
+ if (receipt.type === import_transactions16.ReceiptType.Burn) {
3207
3229
  burnedAssets.push({
3208
3230
  subId: receipt.subId,
3209
3231
  contractId: receipt.contractId,
@@ -3300,7 +3322,7 @@ function assembleTransactionSummary(params) {
3300
3322
  maxInputs
3301
3323
  });
3302
3324
  const typeName = getTransactionTypeName(transaction.type);
3303
- const tip = (0, import_math14.bn)(transaction.policies?.find((policy) => policy.type === import_transactions16.PolicyType.Tip)?.data);
3325
+ const tip = (0, import_math14.bn)(transaction.policies?.find((policy) => policy.type === import_transactions17.PolicyType.Tip)?.data);
3304
3326
  const { fee } = calculateTransactionFee({
3305
3327
  gasPrice,
3306
3328
  rawPayload,
@@ -3347,12 +3369,12 @@ function assembleTransactionSummary(params) {
3347
3369
 
3348
3370
  // src/providers/transaction-response/getDecodedLogs.ts
3349
3371
  var import_abi_coder5 = require("@fuel-ts/abi-coder");
3350
- var import_transactions17 = require("@fuel-ts/transactions");
3372
+ var import_transactions18 = require("@fuel-ts/transactions");
3351
3373
  function getDecodedLogs(receipts, mainAbi, externalAbis = {}) {
3352
3374
  return receipts.reduce((logs, receipt) => {
3353
- if (receipt.type === import_transactions17.ReceiptType.LogData || receipt.type === import_transactions17.ReceiptType.Log) {
3375
+ if (receipt.type === import_transactions18.ReceiptType.LogData || receipt.type === import_transactions18.ReceiptType.Log) {
3354
3376
  const interfaceToUse = new import_abi_coder5.Interface(externalAbis[receipt.id] || mainAbi);
3355
- const data = receipt.type === import_transactions17.ReceiptType.Log ? new import_abi_coder5.BigNumberCoder("u64").encode(receipt.val0) : receipt.data;
3377
+ const data = receipt.type === import_transactions18.ReceiptType.Log ? new import_abi_coder5.BigNumberCoder("u64").encode(receipt.val0) : receipt.data;
3356
3378
  const [decodedLog] = interfaceToUse.decodeLog(data, receipt.val1.toNumber());
3357
3379
  logs.push(decodedLog);
3358
3380
  }
@@ -3425,7 +3447,7 @@ var TransactionResponse = class {
3425
3447
  * @returns The decoded transaction.
3426
3448
  */
3427
3449
  decodeTransaction(transactionWithReceipts) {
3428
- return new import_transactions18.TransactionCoder().decode(
3450
+ return new import_transactions19.TransactionCoder().decode(
3429
3451
  (0, import_utils20.arrayify)(transactionWithReceipts.rawPayload),
3430
3452
  0
3431
3453
  )?.[0];
@@ -3876,7 +3898,7 @@ var _Provider = class {
3876
3898
  }
3877
3899
  const encodedTransaction = (0, import_utils22.hexlify)(transactionRequest.toTransactionBytes());
3878
3900
  let abis;
3879
- if (transactionRequest.type === import_transactions19.TransactionType.Script) {
3901
+ if (transactionRequest.type === import_transactions20.TransactionType.Script) {
3880
3902
  abis = transactionRequest.abis;
3881
3903
  }
3882
3904
  if (awaitExecution) {
@@ -3968,7 +3990,7 @@ var _Provider = class {
3968
3990
  * @returns A promise.
3969
3991
  */
3970
3992
  async estimateTxDependencies(transactionRequest) {
3971
- if (transactionRequest.type === import_transactions19.TransactionType.Create) {
3993
+ if (transactionRequest.type === import_transactions20.TransactionType.Create) {
3972
3994
  return {
3973
3995
  receipts: [],
3974
3996
  outputVariables: 0,
@@ -4032,7 +4054,7 @@ var _Provider = class {
4032
4054
  const allRequests = (0, import_ramda3.clone)(transactionRequests);
4033
4055
  const serializedTransactionsMap = /* @__PURE__ */ new Map();
4034
4056
  allRequests.forEach((req, index) => {
4035
- if (req.type === import_transactions19.TransactionType.Script) {
4057
+ if (req.type === import_transactions20.TransactionType.Script) {
4036
4058
  serializedTransactionsMap.set(index, (0, import_utils22.hexlify)(req.toTransactionBytes()));
4037
4059
  }
4038
4060
  });
@@ -4058,7 +4080,7 @@ var _Provider = class {
4058
4080
  );
4059
4081
  const hasMissingOutputs = missingOutputVariables.length > 0 || missingOutputContractIds.length > 0;
4060
4082
  const request = allRequests[requestIdx];
4061
- if (hasMissingOutputs && request?.type === import_transactions19.TransactionType.Script) {
4083
+ if (hasMissingOutputs && request?.type === import_transactions20.TransactionType.Script) {
4062
4084
  result.outputVariables += missingOutputVariables.length;
4063
4085
  request.addVariableOutputs(missingOutputVariables.length);
4064
4086
  missingOutputContractIds.forEach(({ contractId }) => {
@@ -4114,7 +4136,7 @@ var _Provider = class {
4114
4136
  tip: transactionRequest.tip
4115
4137
  }).add(1);
4116
4138
  let gasLimit = (0, import_math16.bn)(0);
4117
- if (transactionRequest.type === import_transactions19.TransactionType.Script) {
4139
+ if (transactionRequest.type === import_transactions20.TransactionType.Script) {
4118
4140
  gasLimit = transactionRequest.gasLimit;
4119
4141
  if (transactionRequest.gasLimit.eq(0)) {
4120
4142
  transactionRequest.gasLimit = minGas;
@@ -4184,7 +4206,7 @@ var _Provider = class {
4184
4206
  */
4185
4207
  async getTransactionCost(transactionRequestLike, { resourcesOwner, signatureCallback, quantitiesToContract = [] } = {}) {
4186
4208
  const txRequestClone = (0, import_ramda3.clone)(transactionRequestify(transactionRequestLike));
4187
- const isScriptTransaction = txRequestClone.type === import_transactions19.TransactionType.Script;
4209
+ const isScriptTransaction = txRequestClone.type === import_transactions20.TransactionType.Script;
4188
4210
  const baseAssetId = this.getBaseAssetId();
4189
4211
  const coinOutputsQuantities = txRequestClone.getCoinOutputsQuantities();
4190
4212
  const allQuantities = mergeQuantities(coinOutputsQuantities, quantitiesToContract);
@@ -4408,7 +4430,7 @@ var _Provider = class {
4408
4430
  time: block.header.time,
4409
4431
  transactionIds: block.transactions.map((tx) => tx.id),
4410
4432
  transactions: block.transactions.map(
4411
- (tx) => new import_transactions19.TransactionCoder().decode((0, import_utils22.arrayify)(tx.rawPayload), 0)?.[0]
4433
+ (tx) => new import_transactions20.TransactionCoder().decode((0, import_utils22.arrayify)(tx.rawPayload), 0)?.[0]
4412
4434
  )
4413
4435
  };
4414
4436
  }
@@ -4423,7 +4445,7 @@ var _Provider = class {
4423
4445
  if (!transaction) {
4424
4446
  return null;
4425
4447
  }
4426
- return new import_transactions19.TransactionCoder().decode(
4448
+ return new import_transactions20.TransactionCoder().decode(
4427
4449
  (0, import_utils22.arrayify)(transaction.rawPayload),
4428
4450
  0
4429
4451
  )?.[0];
@@ -4503,7 +4525,7 @@ var _Provider = class {
4503
4525
  });
4504
4526
  const messages = result.messages.edges.map((edge) => edge.node);
4505
4527
  return messages.map((message) => ({
4506
- messageId: import_transactions19.InputMessageCoder.getMessageId({
4528
+ messageId: import_transactions20.InputMessageCoder.getMessageId({
4507
4529
  sender: message.sender,
4508
4530
  recipient: message.recipient,
4509
4531
  nonce: message.nonce,
@@ -4514,7 +4536,7 @@ var _Provider = class {
4514
4536
  recipient: import_address3.Address.fromAddressOrString(message.recipient),
4515
4537
  nonce: message.nonce,
4516
4538
  amount: (0, import_math16.bn)(message.amount),
4517
- data: import_transactions19.InputMessageCoder.decodeData(message.data),
4539
+ data: import_transactions20.InputMessageCoder.decodeData(message.data),
4518
4540
  daHeight: (0, import_math16.bn)(message.daHeight)
4519
4541
  }));
4520
4542
  }
@@ -4658,7 +4680,7 @@ cacheInputs_fn = function(inputs) {
4658
4680
  return;
4659
4681
  }
4660
4682
  inputs.forEach((input) => {
4661
- if (input.type === import_transactions19.InputType.Coin) {
4683
+ if (input.type === import_transactions20.InputType.Coin) {
4662
4684
  this.cache?.set(input.id);
4663
4685
  }
4664
4686
  });
@@ -4669,7 +4691,7 @@ __publicField(Provider, "nodeInfoCache", {});
4669
4691
  // src/providers/transaction-summary/get-transaction-summary.ts
4670
4692
  var import_errors15 = require("@fuel-ts/errors");
4671
4693
  var import_math17 = require("@fuel-ts/math");
4672
- var import_transactions20 = require("@fuel-ts/transactions");
4694
+ var import_transactions21 = require("@fuel-ts/transactions");
4673
4695
  var import_utils25 = require("@fuel-ts/utils");
4674
4696
 
4675
4697
  // src/providers/chains.ts
@@ -8217,16 +8239,21 @@ __publicField(Wallet, "fromEncryptedJson", WalletUnlocked.fromEncryptedJson);
8217
8239
 
8218
8240
  // src/test-utils/seedTestWallet.ts
8219
8241
  var import_crypto5 = require("@fuel-ts/crypto");
8220
- var seedTestWallet = async (wallet, quantities) => {
8242
+ var seedTestWallet = async (wallet, quantities, utxosAmount = 1) => {
8243
+ const toFundAccounts = Array.isArray(wallet) ? wallet : [wallet];
8221
8244
  const genesisWallet = new WalletUnlocked(
8222
8245
  process.env.GENESIS_SECRET || (0, import_crypto5.randomBytes)(32),
8223
- wallet.provider
8246
+ // Connect to the same Provider as wallet
8247
+ toFundAccounts[0].provider
8224
8248
  );
8225
8249
  const request = new ScriptTransactionRequest();
8226
- quantities.forEach((quantity) => {
8227
- const { amount, assetId } = coinQuantityfy(quantity);
8228
- request.addCoinOutput(wallet.address, amount, assetId);
8229
- });
8250
+ quantities.map(coinQuantityfy).forEach(
8251
+ ({ amount, assetId }) => toFundAccounts.forEach(({ address }) => {
8252
+ for (let i = 0; i < utxosAmount; i++) {
8253
+ request.addCoinOutput(address, amount.div(utxosAmount), assetId);
8254
+ }
8255
+ })
8256
+ );
8230
8257
  const txCost = await genesisWallet.provider.getTransactionCost(request);
8231
8258
  request.gasLimit = txCost.gasUsed;
8232
8259
  request.maxFee = txCost.maxFee;
@@ -8290,7 +8317,6 @@ var launchNode = async ({
8290
8317
  ip,
8291
8318
  port,
8292
8319
  args = [],
8293
- fuelCorePath = void 0,
8294
8320
  useSystemFuelCore = false,
8295
8321
  loggingEnabled = true,
8296
8322
  debugEnabled = false,
@@ -8311,7 +8337,7 @@ var launchNode = async ({
8311
8337
  const poaInstantFlagValue = getFlagValueFromArgs(args, "--poa-instant");
8312
8338
  const poaInstant = poaInstantFlagValue === "true" || poaInstantFlagValue === void 0;
8313
8339
  const graphQLStartSubstring = "Binding GraphQL provider to";
8314
- const binPath = fuelCorePath ?? (0, import_cli_utils.findBinPath)("fuels-core", __dirname);
8340
+ const binPath = (0, import_cli_utils.findBinPath)("fuels-core", __dirname);
8315
8341
  const command = useSystemFuelCore ? "fuel-core" : binPath;
8316
8342
  const ipToUse = ip || "0.0.0.0";
8317
8343
  const portToUse = port || (await (0, import_portfinder.getPortPromise)({
@@ -8449,8 +8475,45 @@ var launchNodeAndGetWallets = async ({
8449
8475
  };
8450
8476
  return { wallets, stop: cleanup, provider };
8451
8477
  };
8478
+
8479
+ // src/test-utils/transactionRequest.ts
8480
+ var import_abi_coder8 = require("@fuel-ts/abi-coder");
8481
+ var import_address7 = require("@fuel-ts/address");
8482
+ var import_configs11 = require("@fuel-ts/address/configs");
8483
+ var import_crypto8 = require("@fuel-ts/crypto");
8484
+ var import_math22 = require("@fuel-ts/math");
8485
+ var import_transactions22 = require("@fuel-ts/transactions");
8486
+ var import_utils36 = require("@fuel-ts/utils");
8487
+ var generateFakeRequestInputCoin = (partial = {}) => ({
8488
+ id: (0, import_utils36.hexlify)((0, import_crypto8.randomBytes)(import_abi_coder8.UTXO_ID_LEN)),
8489
+ type: import_transactions22.InputType.Coin,
8490
+ owner: (0, import_address7.getRandomB256)(),
8491
+ amount: (0, import_math22.bn)(100),
8492
+ assetId: import_configs11.ZeroBytes32,
8493
+ txPointer: "0x00000000000000000000000000000000",
8494
+ witnessIndex: 0,
8495
+ ...partial
8496
+ });
8497
+ var generateFakeRequestInputMessage = (partial = {}) => ({
8498
+ nonce: (0, import_address7.getRandomB256)(),
8499
+ type: import_transactions22.InputType.Message,
8500
+ sender: (0, import_address7.getRandomB256)(),
8501
+ recipient: (0, import_address7.getRandomB256)(),
8502
+ amount: (0, import_math22.bn)(100),
8503
+ witnessIndex: 0,
8504
+ ...partial
8505
+ });
8506
+ var generateFakeRequestInputContract = (partial = {}) => ({
8507
+ contractId: (0, import_address7.getRandomB256)(),
8508
+ type: import_transactions22.InputType.Contract,
8509
+ txPointer: "0x00000000000000000000000000000000",
8510
+ ...partial
8511
+ });
8452
8512
  // Annotate the CommonJS export names for ESM import in node:
8453
8513
  0 && (module.exports = {
8514
+ generateFakeRequestInputCoin,
8515
+ generateFakeRequestInputContract,
8516
+ generateFakeRequestInputMessage,
8454
8517
  generateTestWallet,
8455
8518
  killNode,
8456
8519
  launchNode,