@fuel-ts/account 0.0.0-rc-2143-20240429161457 → 0.0.0-rc-2037-20240430005906

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 (38) hide show
  1. package/README.md +15 -12
  2. package/dist/index.global.js +92 -8
  3. package/dist/index.global.js.map +1 -1
  4. package/dist/index.js +215 -118
  5. package/dist/index.js.map +1 -1
  6. package/dist/index.mjs +130 -39
  7. package/dist/index.mjs.map +1 -1
  8. package/dist/predicate/predicate.d.ts +9 -2
  9. package/dist/predicate/predicate.d.ts.map +1 -1
  10. package/dist/providers/__generated__/operations.d.ts +17 -0
  11. package/dist/providers/__generated__/operations.d.ts.map +1 -1
  12. package/dist/providers/provider.d.ts +9 -2
  13. package/dist/providers/provider.d.ts.map +1 -1
  14. package/dist/providers/transaction-request/helpers.d.ts +10 -0
  15. package/dist/providers/transaction-request/helpers.d.ts.map +1 -0
  16. package/dist/providers/transaction-request/index.d.ts +1 -0
  17. package/dist/providers/transaction-request/index.d.ts.map +1 -1
  18. package/dist/providers/transaction-request/transaction-request.d.ts +2 -0
  19. package/dist/providers/transaction-request/transaction-request.d.ts.map +1 -1
  20. package/dist/test-utils/index.d.ts +1 -0
  21. package/dist/test-utils/index.d.ts.map +1 -1
  22. package/dist/test-utils/launchNode.d.ts +2 -4
  23. package/dist/test-utils/launchNode.d.ts.map +1 -1
  24. package/dist/test-utils/resources.d.ts +4 -0
  25. package/dist/test-utils/resources.d.ts.map +1 -0
  26. package/dist/test-utils/seedTestWallet.d.ts +1 -1
  27. package/dist/test-utils/seedTestWallet.d.ts.map +1 -1
  28. package/dist/test-utils/transactionRequest.d.ts +5 -0
  29. package/dist/test-utils/transactionRequest.d.ts.map +1 -0
  30. package/dist/test-utils.global.js +94 -14
  31. package/dist/test-utils.global.js.map +1 -1
  32. package/dist/test-utils.js +203 -117
  33. package/dist/test-utils.js.map +1 -1
  34. package/dist/test-utils.mjs +127 -44
  35. package/dist/test-utils.mjs.map +1 -1
  36. package/dist/wallet/base-wallet-unlocked.d.ts +2 -2
  37. package/dist/wallet/base-wallet-unlocked.d.ts.map +1 -1
  38. 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");
@@ -886,6 +889,13 @@ var ProduceBlocksDocument = import_graphql_tag.default`
886
889
  )
887
890
  }
888
891
  `;
892
+ var GetMessageByNonceDocument = import_graphql_tag.default`
893
+ query getMessageByNonce($nonce: Nonce!) {
894
+ message(nonce: $nonce) {
895
+ ...messageFragment
896
+ }
897
+ }
898
+ ${MessageFragmentFragmentDoc}`;
889
899
  var SubmitAndAwaitDocument = import_graphql_tag.default`
890
900
  subscription submitAndAwait($encodedTransaction: HexString!) {
891
901
  submitAndAwait(tx: $encodedTransaction) {
@@ -980,6 +990,9 @@ function getSdk(requester) {
980
990
  produceBlocks(variables, options) {
981
991
  return requester(ProduceBlocksDocument, variables, options);
982
992
  },
993
+ getMessageByNonce(variables, options) {
994
+ return requester(GetMessageByNonceDocument, variables, options);
995
+ },
983
996
  submitAndAwait(variables, options) {
984
997
  return requester(SubmitAndAwaitDocument, variables, options);
985
998
  },
@@ -1265,7 +1278,7 @@ var import_address = require("@fuel-ts/address");
1265
1278
  var import_configs6 = require("@fuel-ts/address/configs");
1266
1279
  var import_crypto = require("@fuel-ts/crypto");
1267
1280
  var import_math7 = require("@fuel-ts/math");
1268
- var import_transactions6 = require("@fuel-ts/transactions");
1281
+ var import_transactions7 = require("@fuel-ts/transactions");
1269
1282
  var import_utils9 = require("@fuel-ts/utils");
1270
1283
 
1271
1284
  // src/providers/resource.ts
@@ -1699,6 +1712,12 @@ var NoWitnessAtIndexError = class extends Error {
1699
1712
  name = "NoWitnessAtIndexError";
1700
1713
  };
1701
1714
 
1715
+ // src/providers/transaction-request/helpers.ts
1716
+ var import_transactions6 = require("@fuel-ts/transactions");
1717
+ var isRequestInputCoin = (input) => input.type === import_transactions6.InputType.Coin;
1718
+ var isRequestInputMessage = (input) => input.type === import_transactions6.InputType.Message;
1719
+ var isRequestInputResource = (input) => isRequestInputCoin(input) || isRequestInputMessage(input);
1720
+
1702
1721
  // src/providers/transaction-request/witness.ts
1703
1722
  var import_utils8 = require("@fuel-ts/utils");
1704
1723
  var witnessify = (value) => {
@@ -1751,20 +1770,20 @@ var BaseTransactionRequest = class {
1751
1770
  let policyTypes = 0;
1752
1771
  const policies = [];
1753
1772
  if (req.tip) {
1754
- policyTypes += import_transactions6.PolicyType.Tip;
1755
- policies.push({ data: req.tip, type: import_transactions6.PolicyType.Tip });
1773
+ policyTypes += import_transactions7.PolicyType.Tip;
1774
+ policies.push({ data: req.tip, type: import_transactions7.PolicyType.Tip });
1756
1775
  }
1757
1776
  if (req.witnessLimit) {
1758
- policyTypes += import_transactions6.PolicyType.WitnessLimit;
1759
- policies.push({ data: req.witnessLimit, type: import_transactions6.PolicyType.WitnessLimit });
1777
+ policyTypes += import_transactions7.PolicyType.WitnessLimit;
1778
+ policies.push({ data: req.witnessLimit, type: import_transactions7.PolicyType.WitnessLimit });
1760
1779
  }
1761
1780
  if (req.maturity > 0) {
1762
- policyTypes += import_transactions6.PolicyType.Maturity;
1763
- policies.push({ data: req.maturity, type: import_transactions6.PolicyType.Maturity });
1781
+ policyTypes += import_transactions7.PolicyType.Maturity;
1782
+ policies.push({ data: req.maturity, type: import_transactions7.PolicyType.Maturity });
1764
1783
  }
1765
1784
  if (req.maxFee) {
1766
- policyTypes += import_transactions6.PolicyType.MaxFee;
1767
- policies.push({ data: req.maxFee, type: import_transactions6.PolicyType.MaxFee });
1785
+ policyTypes += import_transactions7.PolicyType.MaxFee;
1786
+ policies.push({ data: req.maxFee, type: import_transactions7.PolicyType.MaxFee });
1768
1787
  }
1769
1788
  return {
1770
1789
  policyTypes,
@@ -1798,7 +1817,7 @@ var BaseTransactionRequest = class {
1798
1817
  * @returns The transaction bytes.
1799
1818
  */
1800
1819
  toTransactionBytes() {
1801
- return new import_transactions6.TransactionCoder().encode(this.toTransaction());
1820
+ return new import_transactions7.TransactionCoder().encode(this.toTransaction());
1802
1821
  }
1803
1822
  /**
1804
1823
  * @hidden
@@ -1889,7 +1908,7 @@ var BaseTransactionRequest = class {
1889
1908
  */
1890
1909
  getCoinInputs() {
1891
1910
  return this.inputs.filter(
1892
- (input) => input.type === import_transactions6.InputType.Coin
1911
+ (input) => input.type === import_transactions7.InputType.Coin
1893
1912
  );
1894
1913
  }
1895
1914
  /**
@@ -1899,7 +1918,7 @@ var BaseTransactionRequest = class {
1899
1918
  */
1900
1919
  getCoinOutputs() {
1901
1920
  return this.outputs.filter(
1902
- (output) => output.type === import_transactions6.OutputType.Coin
1921
+ (output) => output.type === import_transactions7.OutputType.Coin
1903
1922
  );
1904
1923
  }
1905
1924
  /**
@@ -1909,7 +1928,7 @@ var BaseTransactionRequest = class {
1909
1928
  */
1910
1929
  getChangeOutputs() {
1911
1930
  return this.outputs.filter(
1912
- (output) => output.type === import_transactions6.OutputType.Change
1931
+ (output) => output.type === import_transactions7.OutputType.Change
1913
1932
  );
1914
1933
  }
1915
1934
  /**
@@ -1921,9 +1940,9 @@ var BaseTransactionRequest = class {
1921
1940
  const ownerAddress = (0, import_address.addressify)(owner);
1922
1941
  const found = this.inputs.find((input) => {
1923
1942
  switch (input.type) {
1924
- case import_transactions6.InputType.Coin:
1943
+ case import_transactions7.InputType.Coin:
1925
1944
  return (0, import_utils9.hexlify)(input.owner) === ownerAddress.toB256();
1926
- case import_transactions6.InputType.Message:
1945
+ case import_transactions7.InputType.Message:
1927
1946
  return (0, import_utils9.hexlify)(input.recipient) === ownerAddress.toB256();
1928
1947
  default:
1929
1948
  return false;
@@ -1938,7 +1957,7 @@ var BaseTransactionRequest = class {
1938
1957
  * @param coin - Coin resource.
1939
1958
  */
1940
1959
  addCoinInput(coin) {
1941
- const { assetId, owner, amount } = coin;
1960
+ const { assetId, owner, amount, id, predicate } = coin;
1942
1961
  let witnessIndex;
1943
1962
  if (coin.predicate) {
1944
1963
  witnessIndex = 0;
@@ -1949,13 +1968,14 @@ var BaseTransactionRequest = class {
1949
1968
  }
1950
1969
  }
1951
1970
  const input = {
1952
- ...coin,
1953
- type: import_transactions6.InputType.Coin,
1971
+ id,
1972
+ type: import_transactions7.InputType.Coin,
1954
1973
  owner: owner.toB256(),
1955
1974
  amount,
1956
1975
  assetId,
1957
1976
  txPointer: "0x00000000000000000000000000000000",
1958
- witnessIndex
1977
+ witnessIndex,
1978
+ predicate
1959
1979
  };
1960
1980
  this.pushInput(input);
1961
1981
  this.addChangeOutput(owner, assetId);
@@ -1967,7 +1987,7 @@ var BaseTransactionRequest = class {
1967
1987
  * @param message - Message resource.
1968
1988
  */
1969
1989
  addMessageInput(message) {
1970
- const { recipient, sender, amount, assetId } = message;
1990
+ const { recipient, sender, amount, predicate, nonce, assetId } = message;
1971
1991
  let witnessIndex;
1972
1992
  if (message.predicate) {
1973
1993
  witnessIndex = 0;
@@ -1978,12 +1998,13 @@ var BaseTransactionRequest = class {
1978
1998
  }
1979
1999
  }
1980
2000
  const input = {
1981
- ...message,
1982
- type: import_transactions6.InputType.Message,
2001
+ nonce,
2002
+ type: import_transactions7.InputType.Message,
1983
2003
  sender: sender.toB256(),
1984
2004
  recipient: recipient.toB256(),
1985
2005
  amount,
1986
- witnessIndex
2006
+ witnessIndex,
2007
+ predicate
1987
2008
  };
1988
2009
  this.pushInput(input);
1989
2010
  this.addChangeOutput(recipient, assetId);
@@ -2023,7 +2044,7 @@ var BaseTransactionRequest = class {
2023
2044
  */
2024
2045
  addCoinOutput(to, amount, assetId) {
2025
2046
  this.pushOutput({
2026
- type: import_transactions6.OutputType.Coin,
2047
+ type: import_transactions7.OutputType.Coin,
2027
2048
  to: (0, import_address.addressify)(to).toB256(),
2028
2049
  amount,
2029
2050
  assetId
@@ -2039,7 +2060,7 @@ var BaseTransactionRequest = class {
2039
2060
  addCoinOutputs(to, quantities) {
2040
2061
  quantities.map(coinQuantityfy).forEach((quantity) => {
2041
2062
  this.pushOutput({
2042
- type: import_transactions6.OutputType.Coin,
2063
+ type: import_transactions7.OutputType.Coin,
2043
2064
  to: (0, import_address.addressify)(to).toB256(),
2044
2065
  amount: quantity.amount,
2045
2066
  assetId: quantity.assetId
@@ -2059,7 +2080,7 @@ var BaseTransactionRequest = class {
2059
2080
  );
2060
2081
  if (!changeOutput) {
2061
2082
  this.pushOutput({
2062
- type: import_transactions6.OutputType.Change,
2083
+ type: import_transactions7.OutputType.Change,
2063
2084
  to: (0, import_address.addressify)(to).toB256(),
2064
2085
  assetId
2065
2086
  });
@@ -2167,16 +2188,27 @@ var BaseTransactionRequest = class {
2167
2188
  toJSON() {
2168
2189
  return normalizeJSON(this);
2169
2190
  }
2191
+ removeWitness(index) {
2192
+ this.witnesses.splice(index, 1);
2193
+ this.adjustWitnessIndexes(index);
2194
+ }
2195
+ adjustWitnessIndexes(removedIndex) {
2196
+ this.inputs.filter(isRequestInputResource).forEach((input) => {
2197
+ if (input.witnessIndex > removedIndex) {
2198
+ input.witnessIndex -= 1;
2199
+ }
2200
+ });
2201
+ }
2170
2202
  updatePredicateGasUsed(inputs) {
2171
2203
  this.inputs.forEach((i) => {
2172
2204
  let correspondingInput;
2173
2205
  switch (i.type) {
2174
- case import_transactions6.InputType.Coin:
2175
- correspondingInput = inputs.find((x) => x.type === import_transactions6.InputType.Coin && x.owner === i.owner);
2206
+ case import_transactions7.InputType.Coin:
2207
+ correspondingInput = inputs.find((x) => x.type === import_transactions7.InputType.Coin && x.owner === i.owner);
2176
2208
  break;
2177
- case import_transactions6.InputType.Message:
2209
+ case import_transactions7.InputType.Message:
2178
2210
  correspondingInput = inputs.find(
2179
- (x) => x.type === import_transactions6.InputType.Message && x.sender === i.sender
2211
+ (x) => x.type === import_transactions7.InputType.Message && x.sender === i.sender
2180
2212
  );
2181
2213
  break;
2182
2214
  default:
@@ -2203,25 +2235,25 @@ var BaseTransactionRequest = class {
2203
2235
  // src/providers/transaction-request/create-transaction-request.ts
2204
2236
  var import_configs8 = require("@fuel-ts/address/configs");
2205
2237
  var import_math9 = require("@fuel-ts/math");
2206
- var import_transactions8 = require("@fuel-ts/transactions");
2238
+ var import_transactions9 = require("@fuel-ts/transactions");
2207
2239
  var import_utils13 = require("@fuel-ts/utils");
2208
2240
 
2209
2241
  // src/providers/transaction-request/hash-transaction.ts
2210
2242
  var import_configs7 = require("@fuel-ts/address/configs");
2211
2243
  var import_hasher = require("@fuel-ts/hasher");
2212
2244
  var import_math8 = require("@fuel-ts/math");
2213
- var import_transactions7 = require("@fuel-ts/transactions");
2245
+ var import_transactions8 = require("@fuel-ts/transactions");
2214
2246
  var import_utils11 = require("@fuel-ts/utils");
2215
2247
  var import_ramda2 = require("ramda");
2216
2248
  function hashTransaction(transactionRequest, chainId) {
2217
2249
  const transaction = transactionRequest.toTransaction();
2218
- if (transaction.type === import_transactions7.TransactionType.Script) {
2250
+ if (transaction.type === import_transactions8.TransactionType.Script) {
2219
2251
  transaction.receiptsRoot = import_configs7.ZeroBytes32;
2220
2252
  }
2221
2253
  transaction.inputs = transaction.inputs.map((input) => {
2222
2254
  const inputClone = (0, import_ramda2.clone)(input);
2223
2255
  switch (inputClone.type) {
2224
- case import_transactions7.InputType.Coin: {
2256
+ case import_transactions8.InputType.Coin: {
2225
2257
  inputClone.txPointer = {
2226
2258
  blockHeight: 0,
2227
2259
  txIndex: 0
@@ -2229,11 +2261,11 @@ function hashTransaction(transactionRequest, chainId) {
2229
2261
  inputClone.predicateGasUsed = (0, import_math8.bn)(0);
2230
2262
  return inputClone;
2231
2263
  }
2232
- case import_transactions7.InputType.Message: {
2264
+ case import_transactions8.InputType.Message: {
2233
2265
  inputClone.predicateGasUsed = (0, import_math8.bn)(0);
2234
2266
  return inputClone;
2235
2267
  }
2236
- case import_transactions7.InputType.Contract: {
2268
+ case import_transactions8.InputType.Contract: {
2237
2269
  inputClone.txPointer = {
2238
2270
  blockHeight: 0,
2239
2271
  txIndex: 0
@@ -2251,16 +2283,16 @@ function hashTransaction(transactionRequest, chainId) {
2251
2283
  transaction.outputs = transaction.outputs.map((output) => {
2252
2284
  const outputClone = (0, import_ramda2.clone)(output);
2253
2285
  switch (outputClone.type) {
2254
- case import_transactions7.OutputType.Contract: {
2286
+ case import_transactions8.OutputType.Contract: {
2255
2287
  outputClone.balanceRoot = import_configs7.ZeroBytes32;
2256
2288
  outputClone.stateRoot = import_configs7.ZeroBytes32;
2257
2289
  return outputClone;
2258
2290
  }
2259
- case import_transactions7.OutputType.Change: {
2291
+ case import_transactions8.OutputType.Change: {
2260
2292
  outputClone.amount = (0, import_math8.bn)(0);
2261
2293
  return outputClone;
2262
2294
  }
2263
- case import_transactions7.OutputType.Variable: {
2295
+ case import_transactions8.OutputType.Variable: {
2264
2296
  outputClone.to = import_configs7.ZeroBytes32;
2265
2297
  outputClone.amount = (0, import_math8.bn)(0);
2266
2298
  outputClone.assetId = import_configs7.ZeroBytes32;
@@ -2273,7 +2305,7 @@ function hashTransaction(transactionRequest, chainId) {
2273
2305
  transaction.witnessesCount = 0;
2274
2306
  transaction.witnesses = [];
2275
2307
  const chainIdBytes = (0, import_hasher.uint64ToBytesBE)(chainId);
2276
- const concatenatedData = (0, import_utils11.concat)([chainIdBytes, new import_transactions7.TransactionCoder().encode(transaction)]);
2308
+ const concatenatedData = (0, import_utils11.concat)([chainIdBytes, new import_transactions8.TransactionCoder().encode(transaction)]);
2277
2309
  return (0, import_hasher.sha256)(concatenatedData);
2278
2310
  }
2279
2311
 
@@ -2309,7 +2341,7 @@ var CreateTransactionRequest = class extends BaseTransactionRequest {
2309
2341
  return new this(obj);
2310
2342
  }
2311
2343
  /** Type of the transaction */
2312
- type = import_transactions8.TransactionType.Create;
2344
+ type = import_transactions9.TransactionType.Create;
2313
2345
  /** Witness index of contract bytecode to create */
2314
2346
  bytecodeWitnessIndex;
2315
2347
  /** Salt */
@@ -2337,7 +2369,7 @@ var CreateTransactionRequest = class extends BaseTransactionRequest {
2337
2369
  const bytecodeWitnessIndex = this.bytecodeWitnessIndex;
2338
2370
  const storageSlots = this.storageSlots?.map(storageSlotify) ?? [];
2339
2371
  return {
2340
- type: import_transactions8.TransactionType.Create,
2372
+ type: import_transactions9.TransactionType.Create,
2341
2373
  ...baseTransaction,
2342
2374
  bytecodeWitnessIndex,
2343
2375
  storageSlotsCount: (0, import_math9.bn)(storageSlots.length),
@@ -2352,7 +2384,7 @@ var CreateTransactionRequest = class extends BaseTransactionRequest {
2352
2384
  */
2353
2385
  getContractCreatedOutputs() {
2354
2386
  return this.outputs.filter(
2355
- (output) => output.type === import_transactions8.OutputType.ContractCreated
2387
+ (output) => output.type === import_transactions9.OutputType.ContractCreated
2356
2388
  );
2357
2389
  }
2358
2390
  /**
@@ -2373,7 +2405,7 @@ var CreateTransactionRequest = class extends BaseTransactionRequest {
2373
2405
  */
2374
2406
  addContractCreatedOutput(contractId, stateRoot) {
2375
2407
  this.pushOutput({
2376
- type: import_transactions8.OutputType.ContractCreated,
2408
+ type: import_transactions9.OutputType.ContractCreated,
2377
2409
  contractId,
2378
2410
  stateRoot
2379
2411
  });
@@ -2393,7 +2425,7 @@ var import_abi_coder3 = require("@fuel-ts/abi-coder");
2393
2425
  var import_address2 = require("@fuel-ts/address");
2394
2426
  var import_configs9 = require("@fuel-ts/address/configs");
2395
2427
  var import_math10 = require("@fuel-ts/math");
2396
- var import_transactions9 = require("@fuel-ts/transactions");
2428
+ var import_transactions10 = require("@fuel-ts/transactions");
2397
2429
  var import_utils15 = require("@fuel-ts/utils");
2398
2430
 
2399
2431
  // src/providers/transaction-request/scripts.ts
@@ -2431,7 +2463,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
2431
2463
  return new this(obj);
2432
2464
  }
2433
2465
  /** Type of the transaction */
2434
- type = import_transactions9.TransactionType.Script;
2466
+ type = import_transactions10.TransactionType.Script;
2435
2467
  /** Gas limit for transaction */
2436
2468
  gasLimit;
2437
2469
  /** Script to execute */
@@ -2460,7 +2492,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
2460
2492
  const script = (0, import_utils15.arrayify)(this.script ?? "0x");
2461
2493
  const scriptData = (0, import_utils15.arrayify)(this.scriptData ?? "0x");
2462
2494
  return {
2463
- type: import_transactions9.TransactionType.Script,
2495
+ type: import_transactions10.TransactionType.Script,
2464
2496
  scriptGasLimit: this.gasLimit,
2465
2497
  ...super.getBaseTransaction(),
2466
2498
  scriptLength: (0, import_math10.bn)(script.length),
@@ -2477,7 +2509,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
2477
2509
  */
2478
2510
  getContractInputs() {
2479
2511
  return this.inputs.filter(
2480
- (input) => input.type === import_transactions9.InputType.Contract
2512
+ (input) => input.type === import_transactions10.InputType.Contract
2481
2513
  );
2482
2514
  }
2483
2515
  /**
@@ -2487,7 +2519,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
2487
2519
  */
2488
2520
  getContractOutputs() {
2489
2521
  return this.outputs.filter(
2490
- (output) => output.type === import_transactions9.OutputType.Contract
2522
+ (output) => output.type === import_transactions10.OutputType.Contract
2491
2523
  );
2492
2524
  }
2493
2525
  /**
@@ -2497,7 +2529,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
2497
2529
  */
2498
2530
  getVariableOutputs() {
2499
2531
  return this.outputs.filter(
2500
- (output) => output.type === import_transactions9.OutputType.Variable
2532
+ (output) => output.type === import_transactions10.OutputType.Variable
2501
2533
  );
2502
2534
  }
2503
2535
  /**
@@ -2520,7 +2552,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
2520
2552
  let outputsNumber = numberOfVariables;
2521
2553
  while (outputsNumber) {
2522
2554
  this.pushOutput({
2523
- type: import_transactions9.OutputType.Variable
2555
+ type: import_transactions10.OutputType.Variable
2524
2556
  });
2525
2557
  outputsNumber -= 1;
2526
2558
  }
@@ -2554,12 +2586,12 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
2554
2586
  return this;
2555
2587
  }
2556
2588
  const inputIndex = super.pushInput({
2557
- type: import_transactions9.InputType.Contract,
2589
+ type: import_transactions10.InputType.Contract,
2558
2590
  contractId: contractAddress.toB256(),
2559
2591
  txPointer: "0x00000000000000000000000000000000"
2560
2592
  });
2561
2593
  this.pushOutput({
2562
- type: import_transactions9.OutputType.Contract,
2594
+ type: import_transactions10.OutputType.Contract,
2563
2595
  inputIndex
2564
2596
  });
2565
2597
  return this;
@@ -2596,17 +2628,17 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
2596
2628
 
2597
2629
  // src/providers/transaction-request/utils.ts
2598
2630
  var import_errors9 = require("@fuel-ts/errors");
2599
- var import_transactions10 = require("@fuel-ts/transactions");
2631
+ var import_transactions11 = require("@fuel-ts/transactions");
2600
2632
  var transactionRequestify = (obj) => {
2601
2633
  if (obj instanceof ScriptTransactionRequest || obj instanceof CreateTransactionRequest) {
2602
2634
  return obj;
2603
2635
  }
2604
2636
  const { type } = obj;
2605
2637
  switch (obj.type) {
2606
- case import_transactions10.TransactionType.Script: {
2638
+ case import_transactions11.TransactionType.Script: {
2607
2639
  return ScriptTransactionRequest.from(obj);
2608
2640
  }
2609
- case import_transactions10.TransactionType.Create: {
2641
+ case import_transactions11.TransactionType.Create: {
2610
2642
  return CreateTransactionRequest.from(obj);
2611
2643
  }
2612
2644
  default: {
@@ -2616,10 +2648,10 @@ var transactionRequestify = (obj) => {
2616
2648
  };
2617
2649
  var cacheTxInputsFromOwner = (inputs, owner) => inputs.reduce(
2618
2650
  (acc, input) => {
2619
- if (input.type === import_transactions10.InputType.Coin && input.owner === owner) {
2651
+ if (input.type === import_transactions11.InputType.Coin && input.owner === owner) {
2620
2652
  acc.utxos.push(input.id);
2621
2653
  }
2622
- if (input.type === import_transactions10.InputType.Message && input.recipient === owner) {
2654
+ if (input.type === import_transactions11.InputType.Message && input.recipient === owner) {
2623
2655
  acc.messages.push(input.nonce);
2624
2656
  }
2625
2657
  return acc;
@@ -2633,17 +2665,17 @@ var cacheTxInputsFromOwner = (inputs, owner) => inputs.reduce(
2633
2665
  // src/providers/transaction-response/transaction-response.ts
2634
2666
  var import_errors13 = require("@fuel-ts/errors");
2635
2667
  var import_math15 = require("@fuel-ts/math");
2636
- var import_transactions18 = require("@fuel-ts/transactions");
2668
+ var import_transactions19 = require("@fuel-ts/transactions");
2637
2669
  var import_utils20 = require("@fuel-ts/utils");
2638
2670
 
2639
2671
  // src/providers/transaction-summary/assemble-transaction-summary.ts
2640
2672
  var import_math14 = require("@fuel-ts/math");
2641
- var import_transactions16 = require("@fuel-ts/transactions");
2673
+ var import_transactions17 = require("@fuel-ts/transactions");
2642
2674
  var import_utils18 = require("@fuel-ts/utils");
2643
2675
 
2644
2676
  // src/providers/transaction-summary/calculate-transaction-fee.ts
2645
2677
  var import_math11 = require("@fuel-ts/math");
2646
- var import_transactions11 = require("@fuel-ts/transactions");
2678
+ var import_transactions12 = require("@fuel-ts/transactions");
2647
2679
  var import_utils16 = require("@fuel-ts/utils");
2648
2680
  var calculateTransactionFee = (params) => {
2649
2681
  const {
@@ -2655,8 +2687,8 @@ var calculateTransactionFee = (params) => {
2655
2687
  const gasPerByte = (0, import_math11.bn)(feeParams.gasPerByte);
2656
2688
  const gasPriceFactor = (0, import_math11.bn)(feeParams.gasPriceFactor);
2657
2689
  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) {
2690
+ const [transaction] = new import_transactions12.TransactionCoder().decode(transactionBytes, 0);
2691
+ if (transaction.type === import_transactions12.TransactionType.Mint) {
2660
2692
  return {
2661
2693
  fee: (0, import_math11.bn)(0),
2662
2694
  minFee: (0, import_math11.bn)(0),
@@ -2666,7 +2698,7 @@ var calculateTransactionFee = (params) => {
2666
2698
  const { type, witnesses, inputs, policies } = transaction;
2667
2699
  let metadataGas = (0, import_math11.bn)(0);
2668
2700
  let gasLimit = (0, import_math11.bn)(0);
2669
- if (type === import_transactions11.TransactionType.Create) {
2701
+ if (type === import_transactions12.TransactionType.Create) {
2670
2702
  const { bytecodeWitnessIndex, storageSlots } = transaction;
2671
2703
  const contractBytesSize = (0, import_math11.bn)((0, import_utils16.arrayify)(witnesses[bytecodeWitnessIndex].data).length);
2672
2704
  metadataGas = calculateMetadataGasForTxCreate({
@@ -2692,7 +2724,7 @@ var calculateTransactionFee = (params) => {
2692
2724
  metadataGas,
2693
2725
  txBytesSize: transactionBytes.length
2694
2726
  });
2695
- const witnessLimit = policies.find((policy) => policy.type === import_transactions11.PolicyType.WitnessLimit)?.data;
2727
+ const witnessLimit = policies.find((policy) => policy.type === import_transactions12.PolicyType.WitnessLimit)?.data;
2696
2728
  const witnessesLength = witnesses.reduce((acc, wit) => acc + wit.dataLength, 0);
2697
2729
  const maxGas = getMaxGas({
2698
2730
  gasPerByte,
@@ -2725,7 +2757,7 @@ var calculateTransactionFee = (params) => {
2725
2757
  var import_configs10 = require("@fuel-ts/address/configs");
2726
2758
  var import_errors11 = require("@fuel-ts/errors");
2727
2759
  var import_math13 = require("@fuel-ts/math");
2728
- var import_transactions14 = require("@fuel-ts/transactions");
2760
+ var import_transactions15 = require("@fuel-ts/transactions");
2729
2761
 
2730
2762
  // src/providers/transaction-summary/call.ts
2731
2763
  var import_abi_coder4 = require("@fuel-ts/abi-coder");
@@ -2773,7 +2805,7 @@ var getFunctionCall = ({ abi, receipt, rawPayload, maxInputs }) => {
2773
2805
 
2774
2806
  // src/providers/transaction-summary/input.ts
2775
2807
  var import_errors10 = require("@fuel-ts/errors");
2776
- var import_transactions12 = require("@fuel-ts/transactions");
2808
+ var import_transactions13 = require("@fuel-ts/transactions");
2777
2809
  function getInputsByTypes(inputs, types) {
2778
2810
  return inputs.filter((i) => types.includes(i.type));
2779
2811
  }
@@ -2781,16 +2813,16 @@ function getInputsByType(inputs, type) {
2781
2813
  return inputs.filter((i) => i.type === type);
2782
2814
  }
2783
2815
  function getInputsCoin(inputs) {
2784
- return getInputsByType(inputs, import_transactions12.InputType.Coin);
2816
+ return getInputsByType(inputs, import_transactions13.InputType.Coin);
2785
2817
  }
2786
2818
  function getInputsMessage(inputs) {
2787
- return getInputsByType(inputs, import_transactions12.InputType.Message);
2819
+ return getInputsByType(inputs, import_transactions13.InputType.Message);
2788
2820
  }
2789
2821
  function getInputsCoinAndMessage(inputs) {
2790
- return getInputsByTypes(inputs, [import_transactions12.InputType.Coin, import_transactions12.InputType.Message]);
2822
+ return getInputsByTypes(inputs, [import_transactions13.InputType.Coin, import_transactions13.InputType.Message]);
2791
2823
  }
2792
2824
  function getInputsContract(inputs) {
2793
- return getInputsByType(inputs, import_transactions12.InputType.Contract);
2825
+ return getInputsByType(inputs, import_transactions13.InputType.Contract);
2794
2826
  }
2795
2827
  function getInputFromAssetId(inputs, assetId) {
2796
2828
  const coinInputs = getInputsCoin(inputs);
@@ -2809,7 +2841,7 @@ function getInputContractFromIndex(inputs, inputIndex) {
2809
2841
  if (!contractInput) {
2810
2842
  return void 0;
2811
2843
  }
2812
- if (contractInput.type !== import_transactions12.InputType.Contract) {
2844
+ if (contractInput.type !== import_transactions13.InputType.Contract) {
2813
2845
  throw new import_errors10.FuelError(
2814
2846
  import_errors10.ErrorCode.INVALID_TRANSACTION_INPUT,
2815
2847
  `Contract input should be of type 'contract'.`
@@ -2818,31 +2850,31 @@ function getInputContractFromIndex(inputs, inputIndex) {
2818
2850
  return contractInput;
2819
2851
  }
2820
2852
  function getInputAccountAddress(input) {
2821
- if (input.type === import_transactions12.InputType.Coin) {
2853
+ if (input.type === import_transactions13.InputType.Coin) {
2822
2854
  return input.owner.toString();
2823
2855
  }
2824
- if (input.type === import_transactions12.InputType.Message) {
2856
+ if (input.type === import_transactions13.InputType.Message) {
2825
2857
  return input.recipient.toString();
2826
2858
  }
2827
2859
  return "";
2828
2860
  }
2829
2861
 
2830
2862
  // src/providers/transaction-summary/output.ts
2831
- var import_transactions13 = require("@fuel-ts/transactions");
2863
+ var import_transactions14 = require("@fuel-ts/transactions");
2832
2864
  function getOutputsByType(outputs, type) {
2833
2865
  return outputs.filter((o) => o.type === type);
2834
2866
  }
2835
2867
  function getOutputsContractCreated(outputs) {
2836
- return getOutputsByType(outputs, import_transactions13.OutputType.ContractCreated);
2868
+ return getOutputsByType(outputs, import_transactions14.OutputType.ContractCreated);
2837
2869
  }
2838
2870
  function getOutputsCoin(outputs) {
2839
- return getOutputsByType(outputs, import_transactions13.OutputType.Coin);
2871
+ return getOutputsByType(outputs, import_transactions14.OutputType.Coin);
2840
2872
  }
2841
2873
  function getOutputsChange(outputs) {
2842
- return getOutputsByType(outputs, import_transactions13.OutputType.Change);
2874
+ return getOutputsByType(outputs, import_transactions14.OutputType.Change);
2843
2875
  }
2844
2876
  function getOutputsContract(outputs) {
2845
- return getOutputsByType(outputs, import_transactions13.OutputType.Contract);
2877
+ return getOutputsByType(outputs, import_transactions14.OutputType.Contract);
2846
2878
  }
2847
2879
 
2848
2880
  // src/providers/transaction-summary/operations.ts
@@ -2851,11 +2883,11 @@ function getReceiptsByType(receipts, type) {
2851
2883
  }
2852
2884
  function getTransactionTypeName(transactionType) {
2853
2885
  switch (transactionType) {
2854
- case import_transactions14.TransactionType.Mint:
2886
+ case import_transactions15.TransactionType.Mint:
2855
2887
  return "Mint" /* Mint */;
2856
- case import_transactions14.TransactionType.Create:
2888
+ case import_transactions15.TransactionType.Create:
2857
2889
  return "Create" /* Create */;
2858
- case import_transactions14.TransactionType.Script:
2890
+ case import_transactions15.TransactionType.Script:
2859
2891
  return "Script" /* Script */;
2860
2892
  default:
2861
2893
  throw new import_errors11.FuelError(
@@ -2878,10 +2910,10 @@ function isTypeScript(transactionType) {
2878
2910
  return isType(transactionType, "Script" /* Script */);
2879
2911
  }
2880
2912
  function getReceiptsCall(receipts) {
2881
- return getReceiptsByType(receipts, import_transactions14.ReceiptType.Call);
2913
+ return getReceiptsByType(receipts, import_transactions15.ReceiptType.Call);
2882
2914
  }
2883
2915
  function getReceiptsMessageOut(receipts) {
2884
- return getReceiptsByType(receipts, import_transactions14.ReceiptType.MessageOut);
2916
+ return getReceiptsByType(receipts, import_transactions15.ReceiptType.MessageOut);
2885
2917
  }
2886
2918
  var mergeAssets = (op1, op2) => {
2887
2919
  const assets1 = op1.assetsSent || [];
@@ -3077,11 +3109,11 @@ function getTransferOperations({
3077
3109
  });
3078
3110
  const transferReceipts = getReceiptsByType(
3079
3111
  receipts,
3080
- import_transactions14.ReceiptType.Transfer
3112
+ import_transactions15.ReceiptType.Transfer
3081
3113
  );
3082
3114
  const transferOutReceipts = getReceiptsByType(
3083
3115
  receipts,
3084
- import_transactions14.ReceiptType.TransferOut
3116
+ import_transactions15.ReceiptType.TransferOut
3085
3117
  );
3086
3118
  [...transferReceipts, ...transferOutReceipts].forEach((receipt) => {
3087
3119
  const operation = extractTransferOperationFromReceipt(receipt, contractInputs, changeOutputs);
@@ -3166,17 +3198,17 @@ function getOperations({
3166
3198
  }
3167
3199
 
3168
3200
  // src/providers/transaction-summary/receipt.ts
3169
- var import_transactions15 = require("@fuel-ts/transactions");
3201
+ var import_transactions16 = require("@fuel-ts/transactions");
3170
3202
  var processGqlReceipt = (gqlReceipt) => {
3171
3203
  const receipt = assembleReceiptByType(gqlReceipt);
3172
3204
  switch (receipt.type) {
3173
- case import_transactions15.ReceiptType.ReturnData: {
3205
+ case import_transactions16.ReceiptType.ReturnData: {
3174
3206
  return {
3175
3207
  ...receipt,
3176
3208
  data: gqlReceipt.data || "0x"
3177
3209
  };
3178
3210
  }
3179
- case import_transactions15.ReceiptType.LogData: {
3211
+ case import_transactions16.ReceiptType.LogData: {
3180
3212
  return {
3181
3213
  ...receipt,
3182
3214
  data: gqlReceipt.data || "0x"
@@ -3189,7 +3221,7 @@ var processGqlReceipt = (gqlReceipt) => {
3189
3221
  var extractMintedAssetsFromReceipts = (receipts) => {
3190
3222
  const mintedAssets = [];
3191
3223
  receipts.forEach((receipt) => {
3192
- if (receipt.type === import_transactions15.ReceiptType.Mint) {
3224
+ if (receipt.type === import_transactions16.ReceiptType.Mint) {
3193
3225
  mintedAssets.push({
3194
3226
  subId: receipt.subId,
3195
3227
  contractId: receipt.contractId,
@@ -3203,7 +3235,7 @@ var extractMintedAssetsFromReceipts = (receipts) => {
3203
3235
  var extractBurnedAssetsFromReceipts = (receipts) => {
3204
3236
  const burnedAssets = [];
3205
3237
  receipts.forEach((receipt) => {
3206
- if (receipt.type === import_transactions15.ReceiptType.Burn) {
3238
+ if (receipt.type === import_transactions16.ReceiptType.Burn) {
3207
3239
  burnedAssets.push({
3208
3240
  subId: receipt.subId,
3209
3241
  contractId: receipt.contractId,
@@ -3300,7 +3332,7 @@ function assembleTransactionSummary(params) {
3300
3332
  maxInputs
3301
3333
  });
3302
3334
  const typeName = getTransactionTypeName(transaction.type);
3303
- const tip = (0, import_math14.bn)(transaction.policies?.find((policy) => policy.type === import_transactions16.PolicyType.Tip)?.data);
3335
+ const tip = (0, import_math14.bn)(transaction.policies?.find((policy) => policy.type === import_transactions17.PolicyType.Tip)?.data);
3304
3336
  const { fee } = calculateTransactionFee({
3305
3337
  gasPrice,
3306
3338
  rawPayload,
@@ -3347,12 +3379,12 @@ function assembleTransactionSummary(params) {
3347
3379
 
3348
3380
  // src/providers/transaction-response/getDecodedLogs.ts
3349
3381
  var import_abi_coder5 = require("@fuel-ts/abi-coder");
3350
- var import_transactions17 = require("@fuel-ts/transactions");
3382
+ var import_transactions18 = require("@fuel-ts/transactions");
3351
3383
  function getDecodedLogs(receipts, mainAbi, externalAbis = {}) {
3352
3384
  return receipts.reduce((logs, receipt) => {
3353
- if (receipt.type === import_transactions17.ReceiptType.LogData || receipt.type === import_transactions17.ReceiptType.Log) {
3385
+ if (receipt.type === import_transactions18.ReceiptType.LogData || receipt.type === import_transactions18.ReceiptType.Log) {
3354
3386
  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;
3387
+ const data = receipt.type === import_transactions18.ReceiptType.Log ? new import_abi_coder5.BigNumberCoder("u64").encode(receipt.val0) : receipt.data;
3356
3388
  const [decodedLog] = interfaceToUse.decodeLog(data, receipt.val1.toNumber());
3357
3389
  logs.push(decodedLog);
3358
3390
  }
@@ -3425,7 +3457,7 @@ var TransactionResponse = class {
3425
3457
  * @returns The decoded transaction.
3426
3458
  */
3427
3459
  decodeTransaction(transactionWithReceipts) {
3428
- return new import_transactions18.TransactionCoder().decode(
3460
+ return new import_transactions19.TransactionCoder().decode(
3429
3461
  (0, import_utils20.arrayify)(transactionWithReceipts.rawPayload),
3430
3462
  0
3431
3463
  )?.[0];
@@ -3876,7 +3908,7 @@ var _Provider = class {
3876
3908
  }
3877
3909
  const encodedTransaction = (0, import_utils22.hexlify)(transactionRequest.toTransactionBytes());
3878
3910
  let abis;
3879
- if (transactionRequest.type === import_transactions19.TransactionType.Script) {
3911
+ if (transactionRequest.type === import_transactions20.TransactionType.Script) {
3880
3912
  abis = transactionRequest.abis;
3881
3913
  }
3882
3914
  if (awaitExecution) {
@@ -3968,7 +4000,7 @@ var _Provider = class {
3968
4000
  * @returns A promise.
3969
4001
  */
3970
4002
  async estimateTxDependencies(transactionRequest) {
3971
- if (transactionRequest.type === import_transactions19.TransactionType.Create) {
4003
+ if (transactionRequest.type === import_transactions20.TransactionType.Create) {
3972
4004
  return {
3973
4005
  receipts: [],
3974
4006
  outputVariables: 0,
@@ -4032,7 +4064,7 @@ var _Provider = class {
4032
4064
  const allRequests = (0, import_ramda3.clone)(transactionRequests);
4033
4065
  const serializedTransactionsMap = /* @__PURE__ */ new Map();
4034
4066
  allRequests.forEach((req, index) => {
4035
- if (req.type === import_transactions19.TransactionType.Script) {
4067
+ if (req.type === import_transactions20.TransactionType.Script) {
4036
4068
  serializedTransactionsMap.set(index, (0, import_utils22.hexlify)(req.toTransactionBytes()));
4037
4069
  }
4038
4070
  });
@@ -4058,7 +4090,7 @@ var _Provider = class {
4058
4090
  );
4059
4091
  const hasMissingOutputs = missingOutputVariables.length > 0 || missingOutputContractIds.length > 0;
4060
4092
  const request = allRequests[requestIdx];
4061
- if (hasMissingOutputs && request?.type === import_transactions19.TransactionType.Script) {
4093
+ if (hasMissingOutputs && request?.type === import_transactions20.TransactionType.Script) {
4062
4094
  result.outputVariables += missingOutputVariables.length;
4063
4095
  request.addVariableOutputs(missingOutputVariables.length);
4064
4096
  missingOutputContractIds.forEach(({ contractId }) => {
@@ -4114,7 +4146,7 @@ var _Provider = class {
4114
4146
  tip: transactionRequest.tip
4115
4147
  }).add(1);
4116
4148
  let gasLimit = (0, import_math16.bn)(0);
4117
- if (transactionRequest.type === import_transactions19.TransactionType.Script) {
4149
+ if (transactionRequest.type === import_transactions20.TransactionType.Script) {
4118
4150
  gasLimit = transactionRequest.gasLimit;
4119
4151
  if (transactionRequest.gasLimit.eq(0)) {
4120
4152
  transactionRequest.gasLimit = minGas;
@@ -4184,7 +4216,7 @@ var _Provider = class {
4184
4216
  */
4185
4217
  async getTransactionCost(transactionRequestLike, { resourcesOwner, signatureCallback, quantitiesToContract = [] } = {}) {
4186
4218
  const txRequestClone = (0, import_ramda3.clone)(transactionRequestify(transactionRequestLike));
4187
- const isScriptTransaction = txRequestClone.type === import_transactions19.TransactionType.Script;
4219
+ const isScriptTransaction = txRequestClone.type === import_transactions20.TransactionType.Script;
4188
4220
  const baseAssetId = this.getBaseAssetId();
4189
4221
  const coinOutputsQuantities = txRequestClone.getCoinOutputsQuantities();
4190
4222
  const allQuantities = mergeQuantities(coinOutputsQuantities, quantitiesToContract);
@@ -4408,7 +4440,7 @@ var _Provider = class {
4408
4440
  time: block.header.time,
4409
4441
  transactionIds: block.transactions.map((tx) => tx.id),
4410
4442
  transactions: block.transactions.map(
4411
- (tx) => new import_transactions19.TransactionCoder().decode((0, import_utils22.arrayify)(tx.rawPayload), 0)?.[0]
4443
+ (tx) => new import_transactions20.TransactionCoder().decode((0, import_utils22.arrayify)(tx.rawPayload), 0)?.[0]
4412
4444
  )
4413
4445
  };
4414
4446
  }
@@ -4423,7 +4455,7 @@ var _Provider = class {
4423
4455
  if (!transaction) {
4424
4456
  return null;
4425
4457
  }
4426
- return new import_transactions19.TransactionCoder().decode(
4458
+ return new import_transactions20.TransactionCoder().decode(
4427
4459
  (0, import_utils22.arrayify)(transaction.rawPayload),
4428
4460
  0
4429
4461
  )?.[0];
@@ -4503,7 +4535,7 @@ var _Provider = class {
4503
4535
  });
4504
4536
  const messages = result.messages.edges.map((edge) => edge.node);
4505
4537
  return messages.map((message) => ({
4506
- messageId: import_transactions19.InputMessageCoder.getMessageId({
4538
+ messageId: import_transactions20.InputMessageCoder.getMessageId({
4507
4539
  sender: message.sender,
4508
4540
  recipient: message.recipient,
4509
4541
  nonce: message.nonce,
@@ -4514,7 +4546,7 @@ var _Provider = class {
4514
4546
  recipient: import_address3.Address.fromAddressOrString(message.recipient),
4515
4547
  nonce: message.nonce,
4516
4548
  amount: (0, import_math16.bn)(message.amount),
4517
- data: import_transactions19.InputMessageCoder.decodeData(message.data),
4549
+ data: import_transactions20.InputMessageCoder.decodeData(message.data),
4518
4550
  daHeight: (0, import_math16.bn)(message.daHeight)
4519
4551
  }));
4520
4552
  }
@@ -4650,6 +4682,19 @@ var _Provider = class {
4650
4682
  async getTransactionResponse(transactionId) {
4651
4683
  return new TransactionResponse(transactionId, this);
4652
4684
  }
4685
+ /**
4686
+ * Returns Message for given nonce.
4687
+ *
4688
+ * @param nonce - The nonce of the message to retrieve.
4689
+ * @returns A promise that resolves to the Message object.
4690
+ */
4691
+ async getMessageByNonce(nonce) {
4692
+ const { message } = await this.operations.getMessageByNonce({ nonce });
4693
+ if (!message) {
4694
+ return null;
4695
+ }
4696
+ return message;
4697
+ }
4653
4698
  };
4654
4699
  var Provider = _Provider;
4655
4700
  _cacheInputs = new WeakSet();
@@ -4658,7 +4703,7 @@ cacheInputs_fn = function(inputs) {
4658
4703
  return;
4659
4704
  }
4660
4705
  inputs.forEach((input) => {
4661
- if (input.type === import_transactions19.InputType.Coin) {
4706
+ if (input.type === import_transactions20.InputType.Coin) {
4662
4707
  this.cache?.set(input.id);
4663
4708
  }
4664
4709
  });
@@ -4669,7 +4714,7 @@ __publicField(Provider, "nodeInfoCache", {});
4669
4714
  // src/providers/transaction-summary/get-transaction-summary.ts
4670
4715
  var import_errors15 = require("@fuel-ts/errors");
4671
4716
  var import_math17 = require("@fuel-ts/math");
4672
- var import_transactions20 = require("@fuel-ts/transactions");
4717
+ var import_transactions21 = require("@fuel-ts/transactions");
4673
4718
  var import_utils25 = require("@fuel-ts/utils");
4674
4719
 
4675
4720
  // src/providers/chains.ts
@@ -8217,16 +8262,21 @@ __publicField(Wallet, "fromEncryptedJson", WalletUnlocked.fromEncryptedJson);
8217
8262
 
8218
8263
  // src/test-utils/seedTestWallet.ts
8219
8264
  var import_crypto5 = require("@fuel-ts/crypto");
8220
- var seedTestWallet = async (wallet, quantities) => {
8265
+ var seedTestWallet = async (wallet, quantities, utxosAmount = 1) => {
8266
+ const toFundAccounts = Array.isArray(wallet) ? wallet : [wallet];
8221
8267
  const genesisWallet = new WalletUnlocked(
8222
8268
  process.env.GENESIS_SECRET || (0, import_crypto5.randomBytes)(32),
8223
- wallet.provider
8269
+ // Connect to the same Provider as wallet
8270
+ toFundAccounts[0].provider
8224
8271
  );
8225
8272
  const request = new ScriptTransactionRequest();
8226
- quantities.forEach((quantity) => {
8227
- const { amount, assetId } = coinQuantityfy(quantity);
8228
- request.addCoinOutput(wallet.address, amount, assetId);
8229
- });
8273
+ quantities.map(coinQuantityfy).forEach(
8274
+ ({ amount, assetId }) => toFundAccounts.forEach(({ address }) => {
8275
+ for (let i = 0; i < utxosAmount; i++) {
8276
+ request.addCoinOutput(address, amount.div(utxosAmount), assetId);
8277
+ }
8278
+ })
8279
+ );
8230
8280
  const txCost = await genesisWallet.provider.getTransactionCost(request);
8231
8281
  request.gasLimit = txCost.gasUsed;
8232
8282
  request.maxFee = txCost.maxFee;
@@ -8290,7 +8340,6 @@ var launchNode = async ({
8290
8340
  ip,
8291
8341
  port,
8292
8342
  args = [],
8293
- fuelCorePath = void 0,
8294
8343
  useSystemFuelCore = false,
8295
8344
  loggingEnabled = true,
8296
8345
  debugEnabled = false,
@@ -8311,7 +8360,7 @@ var launchNode = async ({
8311
8360
  const poaInstantFlagValue = getFlagValueFromArgs(args, "--poa-instant");
8312
8361
  const poaInstant = poaInstantFlagValue === "true" || poaInstantFlagValue === void 0;
8313
8362
  const graphQLStartSubstring = "Binding GraphQL provider to";
8314
- const binPath = fuelCorePath ?? (0, import_cli_utils.findBinPath)("fuels-core", __dirname);
8363
+ const binPath = (0, import_cli_utils.findBinPath)("fuels-core", __dirname);
8315
8364
  const command = useSystemFuelCore ? "fuel-core" : binPath;
8316
8365
  const ipToUse = ip || "0.0.0.0";
8317
8366
  const portToUse = port || (await (0, import_portfinder.getPortPromise)({
@@ -8449,8 +8498,45 @@ var launchNodeAndGetWallets = async ({
8449
8498
  };
8450
8499
  return { wallets, stop: cleanup, provider };
8451
8500
  };
8501
+
8502
+ // src/test-utils/transactionRequest.ts
8503
+ var import_abi_coder8 = require("@fuel-ts/abi-coder");
8504
+ var import_address7 = require("@fuel-ts/address");
8505
+ var import_configs11 = require("@fuel-ts/address/configs");
8506
+ var import_crypto8 = require("@fuel-ts/crypto");
8507
+ var import_math22 = require("@fuel-ts/math");
8508
+ var import_transactions22 = require("@fuel-ts/transactions");
8509
+ var import_utils36 = require("@fuel-ts/utils");
8510
+ var generateFakeRequestInputCoin = (partial = {}) => ({
8511
+ id: (0, import_utils36.hexlify)((0, import_crypto8.randomBytes)(import_abi_coder8.UTXO_ID_LEN)),
8512
+ type: import_transactions22.InputType.Coin,
8513
+ owner: (0, import_address7.getRandomB256)(),
8514
+ amount: (0, import_math22.bn)(100),
8515
+ assetId: import_configs11.ZeroBytes32,
8516
+ txPointer: "0x00000000000000000000000000000000",
8517
+ witnessIndex: 0,
8518
+ ...partial
8519
+ });
8520
+ var generateFakeRequestInputMessage = (partial = {}) => ({
8521
+ nonce: (0, import_address7.getRandomB256)(),
8522
+ type: import_transactions22.InputType.Message,
8523
+ sender: (0, import_address7.getRandomB256)(),
8524
+ recipient: (0, import_address7.getRandomB256)(),
8525
+ amount: (0, import_math22.bn)(100),
8526
+ witnessIndex: 0,
8527
+ ...partial
8528
+ });
8529
+ var generateFakeRequestInputContract = (partial = {}) => ({
8530
+ contractId: (0, import_address7.getRandomB256)(),
8531
+ type: import_transactions22.InputType.Contract,
8532
+ txPointer: "0x00000000000000000000000000000000",
8533
+ ...partial
8534
+ });
8452
8535
  // Annotate the CommonJS export names for ESM import in node:
8453
8536
  0 && (module.exports = {
8537
+ generateFakeRequestInputCoin,
8538
+ generateFakeRequestInputContract,
8539
+ generateFakeRequestInputMessage,
8454
8540
  generateTestWallet,
8455
8541
  killNode,
8456
8542
  launchNode,