@fuel-ts/account 0.0.0-rc-2045-20240417092921 → 0.0.0-rc-2037-20240417131250

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 (35) hide show
  1. package/dist/index.global.js +85 -39
  2. package/dist/index.global.js.map +1 -1
  3. package/dist/index.js +200 -141
  4. package/dist/index.js.map +1 -1
  5. package/dist/index.mjs +117 -64
  6. package/dist/index.mjs.map +1 -1
  7. package/dist/predicate/predicate.d.ts +11 -2
  8. package/dist/predicate/predicate.d.ts.map +1 -1
  9. package/dist/providers/coin.d.ts +2 -1
  10. package/dist/providers/coin.d.ts.map +1 -1
  11. package/dist/providers/message.d.ts +1 -0
  12. package/dist/providers/message.d.ts.map +1 -1
  13. package/dist/providers/transaction-request/helpers.d.ts +10 -0
  14. package/dist/providers/transaction-request/helpers.d.ts.map +1 -0
  15. package/dist/providers/transaction-request/index.d.ts +1 -0
  16. package/dist/providers/transaction-request/index.d.ts.map +1 -1
  17. package/dist/providers/transaction-request/transaction-request.d.ts +4 -20
  18. package/dist/providers/transaction-request/transaction-request.d.ts.map +1 -1
  19. package/dist/test-utils/index.d.ts +1 -0
  20. package/dist/test-utils/index.d.ts.map +1 -1
  21. package/dist/test-utils/resources.d.ts +4 -0
  22. package/dist/test-utils/resources.d.ts.map +1 -0
  23. package/dist/test-utils/seedTestWallet.d.ts +1 -1
  24. package/dist/test-utils/seedTestWallet.d.ts.map +1 -1
  25. package/dist/test-utils/transactionRequest.d.ts +5 -0
  26. package/dist/test-utils/transactionRequest.d.ts.map +1 -0
  27. package/dist/test-utils.global.js +64 -40
  28. package/dist/test-utils.global.js.map +1 -1
  29. package/dist/test-utils.js +173 -135
  30. package/dist/test-utils.js.map +1 -1
  31. package/dist/test-utils.mjs +99 -64
  32. package/dist/test-utils.mjs.map +1 -1
  33. package/dist/wallet/base-wallet-unlocked.d.ts +2 -2
  34. package/dist/wallet/base-wallet-unlocked.d.ts.map +1 -1
  35. 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,
@@ -108,7 +111,7 @@ var addAmountToAsset = (params) => {
108
111
  var import_address3 = require("@fuel-ts/address");
109
112
  var import_errors14 = require("@fuel-ts/errors");
110
113
  var import_math15 = require("@fuel-ts/math");
111
- var import_transactions18 = require("@fuel-ts/transactions");
114
+ var import_transactions19 = require("@fuel-ts/transactions");
112
115
  var import_utils23 = require("@fuel-ts/utils");
113
116
  var import_versions = require("@fuel-ts/versions");
114
117
  var import_utils24 = require("@noble/curves/abstract/utils");
@@ -1198,7 +1201,7 @@ var import_address = require("@fuel-ts/address");
1198
1201
  var import_configs7 = require("@fuel-ts/address/configs");
1199
1202
  var import_crypto = require("@fuel-ts/crypto");
1200
1203
  var import_math7 = require("@fuel-ts/math");
1201
- var import_transactions6 = require("@fuel-ts/transactions");
1204
+ var import_transactions7 = require("@fuel-ts/transactions");
1202
1205
  var import_utils9 = require("@fuel-ts/utils");
1203
1206
 
1204
1207
  // src/providers/resource.ts
@@ -1611,6 +1614,12 @@ var NoWitnessAtIndexError = class extends Error {
1611
1614
  name = "NoWitnessAtIndexError";
1612
1615
  };
1613
1616
 
1617
+ // src/providers/transaction-request/helpers.ts
1618
+ var import_transactions6 = require("@fuel-ts/transactions");
1619
+ var isRequestInputCoin = (input) => input.type === import_transactions6.InputType.Coin;
1620
+ var isRequestInputMessage = (input) => input.type === import_transactions6.InputType.Message;
1621
+ var isRequestInputResource = (input) => isRequestInputCoin(input) || isRequestInputMessage(input);
1622
+
1614
1623
  // src/providers/transaction-request/witness.ts
1615
1624
  var import_utils8 = require("@fuel-ts/utils");
1616
1625
  var witnessify = (value) => {
@@ -1663,20 +1672,20 @@ var BaseTransactionRequest = class {
1663
1672
  let policyTypes = 0;
1664
1673
  const policies = [];
1665
1674
  if (req.gasPrice) {
1666
- policyTypes += import_transactions6.PolicyType.GasPrice;
1667
- policies.push({ data: req.gasPrice, type: import_transactions6.PolicyType.GasPrice });
1675
+ policyTypes += import_transactions7.PolicyType.GasPrice;
1676
+ policies.push({ data: req.gasPrice, type: import_transactions7.PolicyType.GasPrice });
1668
1677
  }
1669
1678
  if (req.witnessLimit) {
1670
- policyTypes += import_transactions6.PolicyType.WitnessLimit;
1671
- policies.push({ data: req.witnessLimit, type: import_transactions6.PolicyType.WitnessLimit });
1679
+ policyTypes += import_transactions7.PolicyType.WitnessLimit;
1680
+ policies.push({ data: req.witnessLimit, type: import_transactions7.PolicyType.WitnessLimit });
1672
1681
  }
1673
1682
  if (req.maturity > 0) {
1674
- policyTypes += import_transactions6.PolicyType.Maturity;
1675
- policies.push({ data: req.maturity, type: import_transactions6.PolicyType.Maturity });
1683
+ policyTypes += import_transactions7.PolicyType.Maturity;
1684
+ policies.push({ data: req.maturity, type: import_transactions7.PolicyType.Maturity });
1676
1685
  }
1677
1686
  if (req.maxFee) {
1678
- policyTypes += import_transactions6.PolicyType.MaxFee;
1679
- policies.push({ data: req.maxFee, type: import_transactions6.PolicyType.MaxFee });
1687
+ policyTypes += import_transactions7.PolicyType.MaxFee;
1688
+ policies.push({ data: req.maxFee, type: import_transactions7.PolicyType.MaxFee });
1680
1689
  }
1681
1690
  return {
1682
1691
  policyTypes,
@@ -1710,7 +1719,7 @@ var BaseTransactionRequest = class {
1710
1719
  * @returns The transaction bytes.
1711
1720
  */
1712
1721
  toTransactionBytes() {
1713
- return new import_transactions6.TransactionCoder().encode(this.toTransaction());
1722
+ return new import_transactions7.TransactionCoder().encode(this.toTransaction());
1714
1723
  }
1715
1724
  /**
1716
1725
  * @hidden
@@ -1801,7 +1810,7 @@ var BaseTransactionRequest = class {
1801
1810
  */
1802
1811
  getCoinInputs() {
1803
1812
  return this.inputs.filter(
1804
- (input) => input.type === import_transactions6.InputType.Coin
1813
+ (input) => input.type === import_transactions7.InputType.Coin
1805
1814
  );
1806
1815
  }
1807
1816
  /**
@@ -1811,7 +1820,7 @@ var BaseTransactionRequest = class {
1811
1820
  */
1812
1821
  getCoinOutputs() {
1813
1822
  return this.outputs.filter(
1814
- (output) => output.type === import_transactions6.OutputType.Coin
1823
+ (output) => output.type === import_transactions7.OutputType.Coin
1815
1824
  );
1816
1825
  }
1817
1826
  /**
@@ -1821,7 +1830,7 @@ var BaseTransactionRequest = class {
1821
1830
  */
1822
1831
  getChangeOutputs() {
1823
1832
  return this.outputs.filter(
1824
- (output) => output.type === import_transactions6.OutputType.Change
1833
+ (output) => output.type === import_transactions7.OutputType.Change
1825
1834
  );
1826
1835
  }
1827
1836
  /**
@@ -1833,9 +1842,9 @@ var BaseTransactionRequest = class {
1833
1842
  const ownerAddress = (0, import_address.addressify)(owner);
1834
1843
  const found = this.inputs.find((input) => {
1835
1844
  switch (input.type) {
1836
- case import_transactions6.InputType.Coin:
1845
+ case import_transactions7.InputType.Coin:
1837
1846
  return (0, import_utils9.hexlify)(input.owner) === ownerAddress.toB256();
1838
- case import_transactions6.InputType.Message:
1847
+ case import_transactions7.InputType.Message:
1839
1848
  return (0, import_utils9.hexlify)(input.recipient) === ownerAddress.toB256();
1840
1849
  default:
1841
1850
  return false;
@@ -1851,8 +1860,8 @@ var BaseTransactionRequest = class {
1851
1860
  * @param predicate - Predicate bytes.
1852
1861
  * @param predicateData - Predicate data bytes.
1853
1862
  */
1854
- addCoinInput(coin, predicate) {
1855
- const { assetId, owner, amount } = coin;
1863
+ addCoinInput(coin) {
1864
+ const { assetId, owner, amount, id, predicate } = coin;
1856
1865
  let witnessIndex;
1857
1866
  if (predicate) {
1858
1867
  witnessIndex = 0;
@@ -1863,14 +1872,14 @@ var BaseTransactionRequest = class {
1863
1872
  }
1864
1873
  }
1865
1874
  const input = {
1866
- ...coin,
1867
- type: import_transactions6.InputType.Coin,
1875
+ id,
1876
+ type: import_transactions7.InputType.Coin,
1868
1877
  owner: owner.toB256(),
1869
1878
  amount,
1870
1879
  assetId,
1871
1880
  txPointer: "0x00000000000000000000000000000000",
1872
1881
  witnessIndex,
1873
- predicate: predicate?.bytes
1882
+ predicate
1874
1883
  };
1875
1884
  this.pushInput(input);
1876
1885
  this.addChangeOutput(owner, assetId);
@@ -1883,8 +1892,8 @@ var BaseTransactionRequest = class {
1883
1892
  * @param predicate - Predicate bytes.
1884
1893
  * @param predicateData - Predicate data bytes.
1885
1894
  */
1886
- addMessageInput(message, predicate) {
1887
- const { recipient, sender, amount } = message;
1895
+ addMessageInput(message) {
1896
+ const { recipient, sender, amount, predicate, nonce } = message;
1888
1897
  const assetId = import_configs7.BaseAssetId;
1889
1898
  let witnessIndex;
1890
1899
  if (predicate) {
@@ -1896,13 +1905,13 @@ var BaseTransactionRequest = class {
1896
1905
  }
1897
1906
  }
1898
1907
  const input = {
1899
- ...message,
1900
- type: import_transactions6.InputType.Message,
1908
+ nonce,
1909
+ type: import_transactions7.InputType.Message,
1901
1910
  sender: sender.toB256(),
1902
1911
  recipient: recipient.toB256(),
1903
1912
  amount,
1904
1913
  witnessIndex,
1905
- predicate: predicate?.bytes
1914
+ predicate
1906
1915
  };
1907
1916
  this.pushInput(input);
1908
1917
  this.addChangeOutput(recipient, assetId);
@@ -1933,32 +1942,6 @@ var BaseTransactionRequest = class {
1933
1942
  resources.forEach((resource) => this.addResource(resource));
1934
1943
  return this;
1935
1944
  }
1936
- /**
1937
- * Adds multiple resources to the transaction by adding coin/message inputs and change
1938
- * outputs from the related assetIds.
1939
- *
1940
- * @param resources - The resources to add.
1941
- * @returns This transaction.
1942
- */
1943
- addPredicateResource(resource, predicate) {
1944
- if (isCoin(resource)) {
1945
- this.addCoinInput(resource, predicate);
1946
- } else {
1947
- this.addMessageInput(resource, predicate);
1948
- }
1949
- return this;
1950
- }
1951
- /**
1952
- * Adds multiple predicate coin/message inputs to the transaction and change outputs
1953
- * from the related assetIds.
1954
- *
1955
- * @param resources - The resources to add.
1956
- * @returns This transaction.
1957
- */
1958
- addPredicateResources(resources, predicate) {
1959
- resources.forEach((resource) => this.addPredicateResource(resource, predicate));
1960
- return this;
1961
- }
1962
1945
  /**
1963
1946
  * Adds a coin output to the transaction.
1964
1947
  *
@@ -1968,7 +1951,7 @@ var BaseTransactionRequest = class {
1968
1951
  */
1969
1952
  addCoinOutput(to, amount, assetId = import_configs7.BaseAssetId) {
1970
1953
  this.pushOutput({
1971
- type: import_transactions6.OutputType.Coin,
1954
+ type: import_transactions7.OutputType.Coin,
1972
1955
  to: (0, import_address.addressify)(to).toB256(),
1973
1956
  amount,
1974
1957
  assetId
@@ -1984,7 +1967,7 @@ var BaseTransactionRequest = class {
1984
1967
  addCoinOutputs(to, quantities) {
1985
1968
  quantities.map(coinQuantityfy).forEach((quantity) => {
1986
1969
  this.pushOutput({
1987
- type: import_transactions6.OutputType.Coin,
1970
+ type: import_transactions7.OutputType.Coin,
1988
1971
  to: (0, import_address.addressify)(to).toB256(),
1989
1972
  amount: quantity.amount,
1990
1973
  assetId: quantity.assetId
@@ -2004,7 +1987,7 @@ var BaseTransactionRequest = class {
2004
1987
  );
2005
1988
  if (!changeOutput) {
2006
1989
  this.pushOutput({
2007
- type: import_transactions6.OutputType.Change,
1990
+ type: import_transactions7.OutputType.Change,
2008
1991
  to: (0, import_address.addressify)(to).toB256(),
2009
1992
  assetId
2010
1993
  });
@@ -2107,16 +2090,20 @@ var BaseTransactionRequest = class {
2107
2090
  toJSON() {
2108
2091
  return normalizeJSON(this);
2109
2092
  }
2093
+ removeWitness(index) {
2094
+ this.witnesses.splice(index, 1);
2095
+ this.adjustWitnessIndexes(index);
2096
+ }
2110
2097
  updatePredicateInputs(inputs) {
2111
2098
  this.inputs.forEach((i) => {
2112
2099
  let correspondingInput;
2113
2100
  switch (i.type) {
2114
- case import_transactions6.InputType.Coin:
2115
- correspondingInput = inputs.find((x) => x.type === import_transactions6.InputType.Coin && x.owner === i.owner);
2101
+ case import_transactions7.InputType.Coin:
2102
+ correspondingInput = inputs.find((x) => x.type === import_transactions7.InputType.Coin && x.owner === i.owner);
2116
2103
  break;
2117
- case import_transactions6.InputType.Message:
2104
+ case import_transactions7.InputType.Message:
2118
2105
  correspondingInput = inputs.find(
2119
- (x) => x.type === import_transactions6.InputType.Message && x.sender === i.sender
2106
+ (x) => x.type === import_transactions7.InputType.Message && x.sender === i.sender
2120
2107
  );
2121
2108
  break;
2122
2109
  default:
@@ -2129,30 +2116,37 @@ var BaseTransactionRequest = class {
2129
2116
  }
2130
2117
  });
2131
2118
  }
2119
+ adjustWitnessIndexes(removedIndex) {
2120
+ this.inputs.filter(isRequestInputResource).forEach((input) => {
2121
+ if (input.witnessIndex > removedIndex) {
2122
+ input.witnessIndex -= 1;
2123
+ }
2124
+ });
2125
+ }
2132
2126
  };
2133
2127
 
2134
2128
  // src/providers/transaction-request/create-transaction-request.ts
2135
2129
  var import_configs9 = require("@fuel-ts/address/configs");
2136
2130
  var import_math9 = require("@fuel-ts/math");
2137
- var import_transactions8 = require("@fuel-ts/transactions");
2131
+ var import_transactions9 = require("@fuel-ts/transactions");
2138
2132
  var import_utils13 = require("@fuel-ts/utils");
2139
2133
 
2140
2134
  // src/providers/transaction-request/hash-transaction.ts
2141
2135
  var import_configs8 = require("@fuel-ts/address/configs");
2142
2136
  var import_hasher = require("@fuel-ts/hasher");
2143
2137
  var import_math8 = require("@fuel-ts/math");
2144
- var import_transactions7 = require("@fuel-ts/transactions");
2138
+ var import_transactions8 = require("@fuel-ts/transactions");
2145
2139
  var import_utils11 = require("@fuel-ts/utils");
2146
2140
  var import_ramda2 = require("ramda");
2147
2141
  function hashTransaction(transactionRequest, chainId) {
2148
2142
  const transaction = transactionRequest.toTransaction();
2149
- if (transaction.type === import_transactions7.TransactionType.Script) {
2143
+ if (transaction.type === import_transactions8.TransactionType.Script) {
2150
2144
  transaction.receiptsRoot = import_configs8.ZeroBytes32;
2151
2145
  }
2152
2146
  transaction.inputs = transaction.inputs.map((input) => {
2153
2147
  const inputClone = (0, import_ramda2.clone)(input);
2154
2148
  switch (inputClone.type) {
2155
- case import_transactions7.InputType.Coin: {
2149
+ case import_transactions8.InputType.Coin: {
2156
2150
  inputClone.txPointer = {
2157
2151
  blockHeight: 0,
2158
2152
  txIndex: 0
@@ -2160,11 +2154,11 @@ function hashTransaction(transactionRequest, chainId) {
2160
2154
  inputClone.predicateGasUsed = (0, import_math8.bn)(0);
2161
2155
  return inputClone;
2162
2156
  }
2163
- case import_transactions7.InputType.Message: {
2157
+ case import_transactions8.InputType.Message: {
2164
2158
  inputClone.predicateGasUsed = (0, import_math8.bn)(0);
2165
2159
  return inputClone;
2166
2160
  }
2167
- case import_transactions7.InputType.Contract: {
2161
+ case import_transactions8.InputType.Contract: {
2168
2162
  inputClone.txPointer = {
2169
2163
  blockHeight: 0,
2170
2164
  txIndex: 0
@@ -2182,16 +2176,16 @@ function hashTransaction(transactionRequest, chainId) {
2182
2176
  transaction.outputs = transaction.outputs.map((output) => {
2183
2177
  const outputClone = (0, import_ramda2.clone)(output);
2184
2178
  switch (outputClone.type) {
2185
- case import_transactions7.OutputType.Contract: {
2179
+ case import_transactions8.OutputType.Contract: {
2186
2180
  outputClone.balanceRoot = import_configs8.ZeroBytes32;
2187
2181
  outputClone.stateRoot = import_configs8.ZeroBytes32;
2188
2182
  return outputClone;
2189
2183
  }
2190
- case import_transactions7.OutputType.Change: {
2184
+ case import_transactions8.OutputType.Change: {
2191
2185
  outputClone.amount = (0, import_math8.bn)(0);
2192
2186
  return outputClone;
2193
2187
  }
2194
- case import_transactions7.OutputType.Variable: {
2188
+ case import_transactions8.OutputType.Variable: {
2195
2189
  outputClone.to = import_configs8.ZeroBytes32;
2196
2190
  outputClone.amount = (0, import_math8.bn)(0);
2197
2191
  outputClone.assetId = import_configs8.ZeroBytes32;
@@ -2204,7 +2198,7 @@ function hashTransaction(transactionRequest, chainId) {
2204
2198
  transaction.witnessesCount = 0;
2205
2199
  transaction.witnesses = [];
2206
2200
  const chainIdBytes = (0, import_hasher.uint64ToBytesBE)(chainId);
2207
- const concatenatedData = (0, import_utils11.concat)([chainIdBytes, new import_transactions7.TransactionCoder().encode(transaction)]);
2201
+ const concatenatedData = (0, import_utils11.concat)([chainIdBytes, new import_transactions8.TransactionCoder().encode(transaction)]);
2208
2202
  return (0, import_hasher.sha256)(concatenatedData);
2209
2203
  }
2210
2204
 
@@ -2240,7 +2234,7 @@ var CreateTransactionRequest = class extends BaseTransactionRequest {
2240
2234
  return new this(obj);
2241
2235
  }
2242
2236
  /** Type of the transaction */
2243
- type = import_transactions8.TransactionType.Create;
2237
+ type = import_transactions9.TransactionType.Create;
2244
2238
  /** Witness index of contract bytecode to create */
2245
2239
  bytecodeWitnessIndex;
2246
2240
  /** Salt */
@@ -2273,7 +2267,7 @@ var CreateTransactionRequest = class extends BaseTransactionRequest {
2273
2267
  const bytecodeWitnessIndex = this.bytecodeWitnessIndex;
2274
2268
  const storageSlots = this.storageSlots?.map(storageSlotify) ?? [];
2275
2269
  return {
2276
- type: import_transactions8.TransactionType.Create,
2270
+ type: import_transactions9.TransactionType.Create,
2277
2271
  ...baseTransaction,
2278
2272
  bytecodeLength: baseTransaction.witnesses[bytecodeWitnessIndex].dataLength / 4,
2279
2273
  bytecodeWitnessIndex,
@@ -2289,7 +2283,7 @@ var CreateTransactionRequest = class extends BaseTransactionRequest {
2289
2283
  */
2290
2284
  getContractCreatedOutputs() {
2291
2285
  return this.outputs.filter(
2292
- (output) => output.type === import_transactions8.OutputType.ContractCreated
2286
+ (output) => output.type === import_transactions9.OutputType.ContractCreated
2293
2287
  );
2294
2288
  }
2295
2289
  /**
@@ -2310,7 +2304,7 @@ var CreateTransactionRequest = class extends BaseTransactionRequest {
2310
2304
  */
2311
2305
  addContractCreatedOutput(contractId, stateRoot) {
2312
2306
  this.pushOutput({
2313
- type: import_transactions8.OutputType.ContractCreated,
2307
+ type: import_transactions9.OutputType.ContractCreated,
2314
2308
  contractId,
2315
2309
  stateRoot
2316
2310
  });
@@ -2330,7 +2324,7 @@ var import_abi_coder3 = require("@fuel-ts/abi-coder");
2330
2324
  var import_address2 = require("@fuel-ts/address");
2331
2325
  var import_configs10 = require("@fuel-ts/address/configs");
2332
2326
  var import_math10 = require("@fuel-ts/math");
2333
- var import_transactions9 = require("@fuel-ts/transactions");
2327
+ var import_transactions10 = require("@fuel-ts/transactions");
2334
2328
  var import_utils15 = require("@fuel-ts/utils");
2335
2329
 
2336
2330
  // src/providers/transaction-request/scripts.ts
@@ -2368,7 +2362,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
2368
2362
  return new this(obj);
2369
2363
  }
2370
2364
  /** Type of the transaction */
2371
- type = import_transactions9.TransactionType.Script;
2365
+ type = import_transactions10.TransactionType.Script;
2372
2366
  /** Gas limit for transaction */
2373
2367
  gasLimit;
2374
2368
  /** Script to execute */
@@ -2397,7 +2391,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
2397
2391
  const script = (0, import_utils15.arrayify)(this.script ?? "0x");
2398
2392
  const scriptData = (0, import_utils15.arrayify)(this.scriptData ?? "0x");
2399
2393
  return {
2400
- type: import_transactions9.TransactionType.Script,
2394
+ type: import_transactions10.TransactionType.Script,
2401
2395
  scriptGasLimit: this.gasLimit,
2402
2396
  ...super.getBaseTransaction(),
2403
2397
  scriptLength: script.length,
@@ -2414,7 +2408,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
2414
2408
  */
2415
2409
  getContractInputs() {
2416
2410
  return this.inputs.filter(
2417
- (input) => input.type === import_transactions9.InputType.Contract
2411
+ (input) => input.type === import_transactions10.InputType.Contract
2418
2412
  );
2419
2413
  }
2420
2414
  /**
@@ -2424,7 +2418,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
2424
2418
  */
2425
2419
  getContractOutputs() {
2426
2420
  return this.outputs.filter(
2427
- (output) => output.type === import_transactions9.OutputType.Contract
2421
+ (output) => output.type === import_transactions10.OutputType.Contract
2428
2422
  );
2429
2423
  }
2430
2424
  /**
@@ -2434,7 +2428,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
2434
2428
  */
2435
2429
  getVariableOutputs() {
2436
2430
  return this.outputs.filter(
2437
- (output) => output.type === import_transactions9.OutputType.Variable
2431
+ (output) => output.type === import_transactions10.OutputType.Variable
2438
2432
  );
2439
2433
  }
2440
2434
  /**
@@ -2457,7 +2451,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
2457
2451
  let outputsNumber = numberOfVariables;
2458
2452
  while (outputsNumber) {
2459
2453
  this.pushOutput({
2460
- type: import_transactions9.OutputType.Variable
2454
+ type: import_transactions10.OutputType.Variable
2461
2455
  });
2462
2456
  outputsNumber -= 1;
2463
2457
  }
@@ -2490,12 +2484,12 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
2490
2484
  return this;
2491
2485
  }
2492
2486
  const inputIndex = super.pushInput({
2493
- type: import_transactions9.InputType.Contract,
2487
+ type: import_transactions10.InputType.Contract,
2494
2488
  contractId: contractAddress.toB256(),
2495
2489
  txPointer: "0x00000000000000000000000000000000"
2496
2490
  });
2497
2491
  this.pushOutput({
2498
- type: import_transactions9.OutputType.Contract,
2492
+ type: import_transactions10.OutputType.Contract,
2499
2493
  inputIndex
2500
2494
  });
2501
2495
  return this;
@@ -2532,17 +2526,17 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
2532
2526
 
2533
2527
  // src/providers/transaction-request/utils.ts
2534
2528
  var import_errors9 = require("@fuel-ts/errors");
2535
- var import_transactions10 = require("@fuel-ts/transactions");
2529
+ var import_transactions11 = require("@fuel-ts/transactions");
2536
2530
  var transactionRequestify = (obj) => {
2537
2531
  if (obj instanceof ScriptTransactionRequest || obj instanceof CreateTransactionRequest) {
2538
2532
  return obj;
2539
2533
  }
2540
2534
  const { type } = obj;
2541
2535
  switch (obj.type) {
2542
- case import_transactions10.TransactionType.Script: {
2536
+ case import_transactions11.TransactionType.Script: {
2543
2537
  return ScriptTransactionRequest.from(obj);
2544
2538
  }
2545
- case import_transactions10.TransactionType.Create: {
2539
+ case import_transactions11.TransactionType.Create: {
2546
2540
  return CreateTransactionRequest.from(obj);
2547
2541
  }
2548
2542
  default: {
@@ -2554,7 +2548,7 @@ var transactionRequestify = (obj) => {
2554
2548
  // src/providers/transaction-response/transaction-response.ts
2555
2549
  var import_errors13 = require("@fuel-ts/errors");
2556
2550
  var import_math14 = require("@fuel-ts/math");
2557
- var import_transactions17 = require("@fuel-ts/transactions");
2551
+ var import_transactions18 = require("@fuel-ts/transactions");
2558
2552
  var import_utils21 = require("@fuel-ts/utils");
2559
2553
 
2560
2554
  // src/providers/transaction-summary/assemble-transaction-summary.ts
@@ -2562,7 +2556,7 @@ var import_utils19 = require("@fuel-ts/utils");
2562
2556
 
2563
2557
  // src/providers/transaction-summary/calculate-transaction-fee.ts
2564
2558
  var import_math11 = require("@fuel-ts/math");
2565
- var import_transactions11 = require("@fuel-ts/transactions");
2559
+ var import_transactions12 = require("@fuel-ts/transactions");
2566
2560
  var import_utils16 = require("@fuel-ts/utils");
2567
2561
  var calculateTransactionFee = (params) => {
2568
2562
  const {
@@ -2573,8 +2567,8 @@ var calculateTransactionFee = (params) => {
2573
2567
  const gasPerByte = (0, import_math11.bn)(feeParams.gasPerByte);
2574
2568
  const gasPriceFactor = (0, import_math11.bn)(feeParams.gasPriceFactor);
2575
2569
  const transactionBytes = (0, import_utils16.arrayify)(rawPayload);
2576
- const [transaction] = new import_transactions11.TransactionCoder().decode(transactionBytes, 0);
2577
- if (transaction.type === import_transactions11.TransactionType.Mint) {
2570
+ const [transaction] = new import_transactions12.TransactionCoder().decode(transactionBytes, 0);
2571
+ if (transaction.type === import_transactions12.TransactionType.Mint) {
2578
2572
  return {
2579
2573
  fee: (0, import_math11.bn)(0),
2580
2574
  minFee: (0, import_math11.bn)(0),
@@ -2585,7 +2579,7 @@ var calculateTransactionFee = (params) => {
2585
2579
  const { type, witnesses, inputs, policies } = transaction;
2586
2580
  let metadataGas = (0, import_math11.bn)(0);
2587
2581
  let gasLimit = (0, import_math11.bn)(0);
2588
- if (type === import_transactions11.TransactionType.Create) {
2582
+ if (type === import_transactions12.TransactionType.Create) {
2589
2583
  const { bytecodeWitnessIndex, storageSlots } = transaction;
2590
2584
  const contractBytesSize = (0, import_math11.bn)((0, import_utils16.arrayify)(witnesses[bytecodeWitnessIndex].data).length);
2591
2585
  metadataGas = calculateMetadataGasForTxCreate({
@@ -2611,8 +2605,8 @@ var calculateTransactionFee = (params) => {
2611
2605
  metadataGas,
2612
2606
  txBytesSize: transactionBytes.length
2613
2607
  });
2614
- const gasPrice = (0, import_math11.bn)(policies.find((policy) => policy.type === import_transactions11.PolicyType.GasPrice)?.data);
2615
- const witnessLimit = policies.find((policy) => policy.type === import_transactions11.PolicyType.WitnessLimit)?.data;
2608
+ const gasPrice = (0, import_math11.bn)(policies.find((policy) => policy.type === import_transactions12.PolicyType.GasPrice)?.data);
2609
+ const witnessLimit = policies.find((policy) => policy.type === import_transactions12.PolicyType.WitnessLimit)?.data;
2616
2610
  const witnessesLength = witnesses.reduce((acc, wit) => acc + wit.dataLength, 0);
2617
2611
  const maxGas = getMaxGas({
2618
2612
  gasPerByte,
@@ -2637,7 +2631,7 @@ var calculateTransactionFee = (params) => {
2637
2631
  var import_configs11 = require("@fuel-ts/address/configs");
2638
2632
  var import_errors11 = require("@fuel-ts/errors");
2639
2633
  var import_math13 = require("@fuel-ts/math");
2640
- var import_transactions14 = require("@fuel-ts/transactions");
2634
+ var import_transactions15 = require("@fuel-ts/transactions");
2641
2635
 
2642
2636
  // src/providers/transaction-summary/call.ts
2643
2637
  var import_abi_coder4 = require("@fuel-ts/abi-coder");
@@ -2685,7 +2679,7 @@ var getFunctionCall = ({ abi, receipt, rawPayload, maxInputs }) => {
2685
2679
 
2686
2680
  // src/providers/transaction-summary/input.ts
2687
2681
  var import_errors10 = require("@fuel-ts/errors");
2688
- var import_transactions12 = require("@fuel-ts/transactions");
2682
+ var import_transactions13 = require("@fuel-ts/transactions");
2689
2683
  function getInputsByTypes(inputs, types) {
2690
2684
  return inputs.filter((i) => types.includes(i.type));
2691
2685
  }
@@ -2693,16 +2687,16 @@ function getInputsByType(inputs, type) {
2693
2687
  return inputs.filter((i) => i.type === type);
2694
2688
  }
2695
2689
  function getInputsCoin(inputs) {
2696
- return getInputsByType(inputs, import_transactions12.InputType.Coin);
2690
+ return getInputsByType(inputs, import_transactions13.InputType.Coin);
2697
2691
  }
2698
2692
  function getInputsMessage(inputs) {
2699
- return getInputsByType(inputs, import_transactions12.InputType.Message);
2693
+ return getInputsByType(inputs, import_transactions13.InputType.Message);
2700
2694
  }
2701
2695
  function getInputsCoinAndMessage(inputs) {
2702
- return getInputsByTypes(inputs, [import_transactions12.InputType.Coin, import_transactions12.InputType.Message]);
2696
+ return getInputsByTypes(inputs, [import_transactions13.InputType.Coin, import_transactions13.InputType.Message]);
2703
2697
  }
2704
2698
  function getInputsContract(inputs) {
2705
- return getInputsByType(inputs, import_transactions12.InputType.Contract);
2699
+ return getInputsByType(inputs, import_transactions13.InputType.Contract);
2706
2700
  }
2707
2701
  function getInputFromAssetId(inputs, assetId) {
2708
2702
  const coinInputs = getInputsCoin(inputs);
@@ -2721,7 +2715,7 @@ function getInputContractFromIndex(inputs, inputIndex) {
2721
2715
  if (!contractInput) {
2722
2716
  return void 0;
2723
2717
  }
2724
- if (contractInput.type !== import_transactions12.InputType.Contract) {
2718
+ if (contractInput.type !== import_transactions13.InputType.Contract) {
2725
2719
  throw new import_errors10.FuelError(
2726
2720
  import_errors10.ErrorCode.INVALID_TRANSACTION_INPUT,
2727
2721
  `Contract input should be of type 'contract'.`
@@ -2730,31 +2724,31 @@ function getInputContractFromIndex(inputs, inputIndex) {
2730
2724
  return contractInput;
2731
2725
  }
2732
2726
  function getInputAccountAddress(input) {
2733
- if (input.type === import_transactions12.InputType.Coin) {
2727
+ if (input.type === import_transactions13.InputType.Coin) {
2734
2728
  return input.owner.toString();
2735
2729
  }
2736
- if (input.type === import_transactions12.InputType.Message) {
2730
+ if (input.type === import_transactions13.InputType.Message) {
2737
2731
  return input.recipient.toString();
2738
2732
  }
2739
2733
  return "";
2740
2734
  }
2741
2735
 
2742
2736
  // src/providers/transaction-summary/output.ts
2743
- var import_transactions13 = require("@fuel-ts/transactions");
2737
+ var import_transactions14 = require("@fuel-ts/transactions");
2744
2738
  function getOutputsByType(outputs, type) {
2745
2739
  return outputs.filter((o) => o.type === type);
2746
2740
  }
2747
2741
  function getOutputsContractCreated(outputs) {
2748
- return getOutputsByType(outputs, import_transactions13.OutputType.ContractCreated);
2742
+ return getOutputsByType(outputs, import_transactions14.OutputType.ContractCreated);
2749
2743
  }
2750
2744
  function getOutputsCoin(outputs) {
2751
- return getOutputsByType(outputs, import_transactions13.OutputType.Coin);
2745
+ return getOutputsByType(outputs, import_transactions14.OutputType.Coin);
2752
2746
  }
2753
2747
  function getOutputsChange(outputs) {
2754
- return getOutputsByType(outputs, import_transactions13.OutputType.Change);
2748
+ return getOutputsByType(outputs, import_transactions14.OutputType.Change);
2755
2749
  }
2756
2750
  function getOutputsContract(outputs) {
2757
- return getOutputsByType(outputs, import_transactions13.OutputType.Contract);
2751
+ return getOutputsByType(outputs, import_transactions14.OutputType.Contract);
2758
2752
  }
2759
2753
 
2760
2754
  // src/providers/transaction-summary/operations.ts
@@ -2763,11 +2757,11 @@ function getReceiptsByType(receipts, type) {
2763
2757
  }
2764
2758
  function getTransactionTypeName(transactionType) {
2765
2759
  switch (transactionType) {
2766
- case import_transactions14.TransactionType.Mint:
2760
+ case import_transactions15.TransactionType.Mint:
2767
2761
  return "Mint" /* Mint */;
2768
- case import_transactions14.TransactionType.Create:
2762
+ case import_transactions15.TransactionType.Create:
2769
2763
  return "Create" /* Create */;
2770
- case import_transactions14.TransactionType.Script:
2764
+ case import_transactions15.TransactionType.Script:
2771
2765
  return "Script" /* Script */;
2772
2766
  default:
2773
2767
  throw new import_errors11.FuelError(
@@ -2790,10 +2784,10 @@ function isTypeScript(transactionType) {
2790
2784
  return isType(transactionType, "Script" /* Script */);
2791
2785
  }
2792
2786
  function getReceiptsCall(receipts) {
2793
- return getReceiptsByType(receipts, import_transactions14.ReceiptType.Call);
2787
+ return getReceiptsByType(receipts, import_transactions15.ReceiptType.Call);
2794
2788
  }
2795
2789
  function getReceiptsMessageOut(receipts) {
2796
- return getReceiptsByType(receipts, import_transactions14.ReceiptType.MessageOut);
2790
+ return getReceiptsByType(receipts, import_transactions15.ReceiptType.MessageOut);
2797
2791
  }
2798
2792
  var mergeAssets = (op1, op2) => {
2799
2793
  const assets1 = op1.assetsSent || [];
@@ -2989,11 +2983,11 @@ function getTransferOperations({
2989
2983
  });
2990
2984
  const transferReceipts = getReceiptsByType(
2991
2985
  receipts,
2992
- import_transactions14.ReceiptType.Transfer
2986
+ import_transactions15.ReceiptType.Transfer
2993
2987
  );
2994
2988
  const transferOutReceipts = getReceiptsByType(
2995
2989
  receipts,
2996
- import_transactions14.ReceiptType.TransferOut
2990
+ import_transactions15.ReceiptType.TransferOut
2997
2991
  );
2998
2992
  [...transferReceipts, ...transferOutReceipts].forEach((receipt) => {
2999
2993
  const operation = extractTransferOperationFromReceipt(receipt, contractInputs, changeOutputs);
@@ -3078,17 +3072,17 @@ function getOperations({
3078
3072
  }
3079
3073
 
3080
3074
  // src/providers/transaction-summary/receipt.ts
3081
- var import_transactions15 = require("@fuel-ts/transactions");
3075
+ var import_transactions16 = require("@fuel-ts/transactions");
3082
3076
  var processGqlReceipt = (gqlReceipt) => {
3083
3077
  const receipt = assembleReceiptByType(gqlReceipt);
3084
3078
  switch (receipt.type) {
3085
- case import_transactions15.ReceiptType.ReturnData: {
3079
+ case import_transactions16.ReceiptType.ReturnData: {
3086
3080
  return {
3087
3081
  ...receipt,
3088
3082
  data: gqlReceipt.data || "0x"
3089
3083
  };
3090
3084
  }
3091
- case import_transactions15.ReceiptType.LogData: {
3085
+ case import_transactions16.ReceiptType.LogData: {
3092
3086
  return {
3093
3087
  ...receipt,
3094
3088
  data: gqlReceipt.data || "0x"
@@ -3101,7 +3095,7 @@ var processGqlReceipt = (gqlReceipt) => {
3101
3095
  var extractMintedAssetsFromReceipts = (receipts) => {
3102
3096
  const mintedAssets = [];
3103
3097
  receipts.forEach((receipt) => {
3104
- if (receipt.type === import_transactions15.ReceiptType.Mint) {
3098
+ if (receipt.type === import_transactions16.ReceiptType.Mint) {
3105
3099
  mintedAssets.push({
3106
3100
  subId: receipt.subId,
3107
3101
  contractId: receipt.contractId,
@@ -3115,7 +3109,7 @@ var extractMintedAssetsFromReceipts = (receipts) => {
3115
3109
  var extractBurnedAssetsFromReceipts = (receipts) => {
3116
3110
  const burnedAssets = [];
3117
3111
  receipts.forEach((receipt) => {
3118
- if (receipt.type === import_transactions15.ReceiptType.Burn) {
3112
+ if (receipt.type === import_transactions16.ReceiptType.Burn) {
3119
3113
  burnedAssets.push({
3120
3114
  subId: receipt.subId,
3121
3115
  contractId: receipt.contractId,
@@ -3254,12 +3248,12 @@ function assembleTransactionSummary(params) {
3254
3248
 
3255
3249
  // src/providers/transaction-response/getDecodedLogs.ts
3256
3250
  var import_abi_coder5 = require("@fuel-ts/abi-coder");
3257
- var import_transactions16 = require("@fuel-ts/transactions");
3251
+ var import_transactions17 = require("@fuel-ts/transactions");
3258
3252
  function getDecodedLogs(receipts, mainAbi, externalAbis = {}) {
3259
3253
  return receipts.reduce((logs, receipt) => {
3260
- if (receipt.type === import_transactions16.ReceiptType.LogData || receipt.type === import_transactions16.ReceiptType.Log) {
3254
+ if (receipt.type === import_transactions17.ReceiptType.LogData || receipt.type === import_transactions17.ReceiptType.Log) {
3261
3255
  const interfaceToUse = new import_abi_coder5.Interface(externalAbis[receipt.id] || mainAbi);
3262
- const data = receipt.type === import_transactions16.ReceiptType.Log ? new import_abi_coder5.BigNumberCoder("u64").encode(receipt.val0) : receipt.data;
3256
+ const data = receipt.type === import_transactions17.ReceiptType.Log ? new import_abi_coder5.BigNumberCoder("u64").encode(receipt.val0) : receipt.data;
3263
3257
  const [decodedLog] = interfaceToUse.decodeLog(data, receipt.val1.toNumber());
3264
3258
  logs.push(decodedLog);
3265
3259
  }
@@ -3332,7 +3326,7 @@ var TransactionResponse = class {
3332
3326
  * @returns The decoded transaction.
3333
3327
  */
3334
3328
  decodeTransaction(transactionWithReceipts) {
3335
- return new import_transactions17.TransactionCoder().decode(
3329
+ return new import_transactions18.TransactionCoder().decode(
3336
3330
  (0, import_utils21.arrayify)(transactionWithReceipts.rawPayload),
3337
3331
  0
3338
3332
  )?.[0];
@@ -3769,7 +3763,7 @@ var _Provider = class {
3769
3763
  }
3770
3764
  const encodedTransaction = (0, import_utils23.hexlify)(transactionRequest.toTransactionBytes());
3771
3765
  let abis;
3772
- if (transactionRequest.type === import_transactions18.TransactionType.Script) {
3766
+ if (transactionRequest.type === import_transactions19.TransactionType.Script) {
3773
3767
  abis = transactionRequest.abis;
3774
3768
  }
3775
3769
  if (awaitExecution) {
@@ -3865,7 +3859,7 @@ var _Provider = class {
3865
3859
  * @returns A promise.
3866
3860
  */
3867
3861
  async estimateTxDependencies(transactionRequest) {
3868
- if (transactionRequest.type === import_transactions18.TransactionType.Create) {
3862
+ if (transactionRequest.type === import_transactions19.TransactionType.Create) {
3869
3863
  return {
3870
3864
  receipts: [],
3871
3865
  outputVariables: 0,
@@ -3914,7 +3908,7 @@ var _Provider = class {
3914
3908
  transactionRequest.gasPrice = gasPrice;
3915
3909
  const minGas = transactionRequest.calculateMinGas(chainInfo);
3916
3910
  const minFee = calculatePriceWithFactor(minGas, gasPrice, gasPriceFactor).normalizeZeroToOne();
3917
- if (transactionRequest.type === import_transactions18.TransactionType.Script) {
3911
+ if (transactionRequest.type === import_transactions19.TransactionType.Script) {
3918
3912
  if (transactionRequest.gasLimit.eq(0)) {
3919
3913
  transactionRequest.gasLimit = minGas;
3920
3914
  transactionRequest.gasLimit = maxGasPerTx.sub(
@@ -3980,7 +3974,7 @@ var _Provider = class {
3980
3974
  const txRequestClone = (0, import_ramda3.clone)(transactionRequestify(transactionRequestLike));
3981
3975
  const { minGasPrice } = this.getGasConfig();
3982
3976
  const setGasPrice = (0, import_math15.max)(txRequestClone.gasPrice, minGasPrice);
3983
- const isScriptTransaction = txRequestClone.type === import_transactions18.TransactionType.Script;
3977
+ const isScriptTransaction = txRequestClone.type === import_transactions19.TransactionType.Script;
3984
3978
  const coinOutputsQuantities = txRequestClone.getCoinOutputsQuantities();
3985
3979
  const allQuantities = mergeQuantities(coinOutputsQuantities, forwardingQuantities);
3986
3980
  txRequestClone.fundWithFakeUtxos(allQuantities, resourcesOwner?.address);
@@ -4196,7 +4190,7 @@ var _Provider = class {
4196
4190
  time: block.header.time,
4197
4191
  transactionIds: block.transactions.map((tx) => tx.id),
4198
4192
  transactions: block.transactions.map(
4199
- (tx) => new import_transactions18.TransactionCoder().decode((0, import_utils23.arrayify)(tx.rawPayload), 0)?.[0]
4193
+ (tx) => new import_transactions19.TransactionCoder().decode((0, import_utils23.arrayify)(tx.rawPayload), 0)?.[0]
4200
4194
  )
4201
4195
  };
4202
4196
  }
@@ -4211,7 +4205,7 @@ var _Provider = class {
4211
4205
  if (!transaction) {
4212
4206
  return null;
4213
4207
  }
4214
- return new import_transactions18.TransactionCoder().decode(
4208
+ return new import_transactions19.TransactionCoder().decode(
4215
4209
  (0, import_utils23.arrayify)(transaction.rawPayload),
4216
4210
  0
4217
4211
  )?.[0];
@@ -4291,7 +4285,7 @@ var _Provider = class {
4291
4285
  });
4292
4286
  const messages = result.messages.edges.map((edge) => edge.node);
4293
4287
  return messages.map((message) => ({
4294
- messageId: import_transactions18.InputMessageCoder.getMessageId({
4288
+ messageId: import_transactions19.InputMessageCoder.getMessageId({
4295
4289
  sender: message.sender,
4296
4290
  recipient: message.recipient,
4297
4291
  nonce: message.nonce,
@@ -4302,7 +4296,7 @@ var _Provider = class {
4302
4296
  recipient: import_address3.Address.fromAddressOrString(message.recipient),
4303
4297
  nonce: message.nonce,
4304
4298
  amount: (0, import_math15.bn)(message.amount),
4305
- data: import_transactions18.InputMessageCoder.decodeData(message.data),
4299
+ data: import_transactions19.InputMessageCoder.decodeData(message.data),
4306
4300
  daHeight: (0, import_math15.bn)(message.daHeight)
4307
4301
  }));
4308
4302
  }
@@ -4430,7 +4424,7 @@ cacheInputs_fn = function(inputs) {
4430
4424
  return;
4431
4425
  }
4432
4426
  inputs.forEach((input) => {
4433
- if (input.type === import_transactions18.InputType.Coin) {
4427
+ if (input.type === import_transactions19.InputType.Coin) {
4434
4428
  this.cache?.set(input.id);
4435
4429
  }
4436
4430
  });
@@ -4441,7 +4435,7 @@ __publicField(Provider, "nodeInfoCache", {});
4441
4435
  // src/providers/transaction-summary/get-transaction-summary.ts
4442
4436
  var import_errors15 = require("@fuel-ts/errors");
4443
4437
  var import_math16 = require("@fuel-ts/math");
4444
- var import_transactions19 = require("@fuel-ts/transactions");
4438
+ var import_transactions20 = require("@fuel-ts/transactions");
4445
4439
  var import_utils26 = require("@fuel-ts/utils");
4446
4440
 
4447
4441
  // src/providers/chains.ts
@@ -7992,10 +7986,11 @@ __publicField(Wallet, "fromEncryptedJson", WalletUnlocked.fromEncryptedJson);
7992
7986
 
7993
7987
  // src/test-utils/seedTestWallet.ts
7994
7988
  var import_crypto5 = require("@fuel-ts/crypto");
7995
- var seedTestWallet = async (wallet, quantities) => {
7989
+ var seedTestWallet = async (wallet, quantities, utxosAmount = 1) => {
7990
+ const toFundAccounts = Array.isArray(wallet) ? wallet : [wallet];
7996
7991
  const genesisWallet = new WalletUnlocked(
7997
7992
  process.env.GENESIS_SECRET || (0, import_crypto5.randomBytes)(32),
7998
- wallet.provider
7993
+ toFundAccounts[0].provider
7999
7994
  );
8000
7995
  const resources = await genesisWallet.getResourcesToSpend(quantities);
8001
7996
  const { minGasPrice } = genesisWallet.provider.getGasConfig();
@@ -8004,7 +7999,13 @@ var seedTestWallet = async (wallet, quantities) => {
8004
7999
  gasPrice: minGasPrice
8005
8000
  });
8006
8001
  request.addResources(resources);
8007
- quantities.map(coinQuantityfy).forEach(({ amount, assetId }) => request.addCoinOutput(wallet.address, amount, assetId));
8002
+ quantities.map(coinQuantityfy).forEach(
8003
+ ({ amount, assetId }) => toFundAccounts.forEach(({ address }) => {
8004
+ for (let i = 0; i < utxosAmount; i++) {
8005
+ request.addCoinOutput(address, amount.div(utxosAmount), assetId);
8006
+ }
8007
+ })
8008
+ );
8008
8009
  await genesisWallet.sendTransaction(request, { awaitExecution: true });
8009
8010
  };
8010
8011
 
@@ -8203,8 +8204,45 @@ var launchNodeAndGetWallets = async ({
8203
8204
  };
8204
8205
  return { wallets, stop: cleanup, provider };
8205
8206
  };
8207
+
8208
+ // src/test-utils/transactionRequest.ts
8209
+ var import_abi_coder7 = require("@fuel-ts/abi-coder");
8210
+ var import_address7 = require("@fuel-ts/address");
8211
+ var import_configs14 = require("@fuel-ts/address/configs");
8212
+ var import_crypto7 = require("@fuel-ts/crypto");
8213
+ var import_math22 = require("@fuel-ts/math");
8214
+ var import_transactions21 = require("@fuel-ts/transactions");
8215
+ var import_utils37 = require("@fuel-ts/utils");
8216
+ var generateFakeRequestInputCoin = (partial = {}) => ({
8217
+ id: (0, import_utils37.hexlify)((0, import_crypto7.randomBytes)(import_abi_coder7.UTXO_ID_LEN)),
8218
+ type: import_transactions21.InputType.Coin,
8219
+ owner: (0, import_address7.getRandomB256)(),
8220
+ amount: (0, import_math22.bn)(100),
8221
+ assetId: import_configs14.ZeroBytes32,
8222
+ txPointer: "0x00000000000000000000000000000000",
8223
+ witnessIndex: 0,
8224
+ ...partial
8225
+ });
8226
+ var generateFakeRequestInputMessage = (partial = {}) => ({
8227
+ nonce: (0, import_address7.getRandomB256)(),
8228
+ type: import_transactions21.InputType.Message,
8229
+ sender: (0, import_address7.getRandomB256)(),
8230
+ recipient: (0, import_address7.getRandomB256)(),
8231
+ amount: (0, import_math22.bn)(100),
8232
+ witnessIndex: 0,
8233
+ ...partial
8234
+ });
8235
+ var generateFakeRequestInputContract = (partial = {}) => ({
8236
+ contractId: (0, import_address7.getRandomB256)(),
8237
+ type: import_transactions21.InputType.Contract,
8238
+ txPointer: "0x00000000000000000000000000000000",
8239
+ ...partial
8240
+ });
8206
8241
  // Annotate the CommonJS export names for ESM import in node:
8207
8242
  0 && (module.exports = {
8243
+ generateFakeRequestInputCoin,
8244
+ generateFakeRequestInputContract,
8245
+ generateFakeRequestInputMessage,
8208
8246
  generateTestWallet,
8209
8247
  killNode,
8210
8248
  launchNode,