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

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 +8 -1
  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
package/dist/index.js CHANGED
@@ -88,7 +88,7 @@ __export(src_exports, {
88
88
  StorageAbstract: () => StorageAbstract,
89
89
  TransactionResponse: () => TransactionResponse,
90
90
  TransactionStatus: () => TransactionStatus,
91
- TransactionType: () => import_transactions6.TransactionType,
91
+ TransactionType: () => import_transactions7.TransactionType,
92
92
  TransactionTypeName: () => TransactionTypeName,
93
93
  Vault: () => Vault,
94
94
  Wallet: () => Wallet,
@@ -104,6 +104,7 @@ __export(src_exports, {
104
104
  assets: () => assets,
105
105
  buildBlockExplorerUrl: () => buildBlockExplorerUrl,
106
106
  cacheFor: () => cacheFor,
107
+ cacheResources: () => cacheResources,
107
108
  cacheTxInputsFromOwner: () => cacheTxInputsFromOwner,
108
109
  calculateGasFee: () => calculateGasFee,
109
110
  calculateMetadataGasForTxCreate: () => calculateMetadataGasForTxCreate,
@@ -151,6 +152,7 @@ __export(src_exports, {
151
152
  getReceiptsMessageOut: () => getReceiptsMessageOut,
152
153
  getReceiptsTransferOut: () => getReceiptsTransferOut,
153
154
  getReceiptsWithMissingData: () => getReceiptsWithMissingData,
155
+ getRequestInputResourceOwner: () => getRequestInputResourceOwner,
154
156
  getTransactionStatusName: () => getTransactionStatusName,
155
157
  getTransactionSummary: () => getTransactionSummary,
156
158
  getTransactionSummaryFromRequest: () => getTransactionSummaryFromRequest,
@@ -164,6 +166,10 @@ __export(src_exports, {
164
166
  isMessage: () => isMessage,
165
167
  isRawCoin: () => isRawCoin,
166
168
  isRawMessage: () => isRawMessage,
169
+ isRequestInputCoin: () => isRequestInputCoin,
170
+ isRequestInputMessage: () => isRequestInputMessage,
171
+ isRequestInputResource: () => isRequestInputResource,
172
+ isRequestInputResourceFromOwner: () => isRequestInputResourceFromOwner,
167
173
  isType: () => isType,
168
174
  isTypeCreate: () => isTypeCreate,
169
175
  isTypeMint: () => isTypeMint,
@@ -230,7 +236,7 @@ var addAmountToCoinQuantities = (params) => {
230
236
  var import_address3 = require("@fuel-ts/address");
231
237
  var import_errors14 = require("@fuel-ts/errors");
232
238
  var import_math16 = require("@fuel-ts/math");
233
- var import_transactions19 = require("@fuel-ts/transactions");
239
+ var import_transactions20 = require("@fuel-ts/transactions");
234
240
  var import_utils22 = require("@fuel-ts/utils");
235
241
  var import_versions = require("@fuel-ts/versions");
236
242
  var import_utils23 = require("@noble/curves/abstract/utils");
@@ -1009,6 +1015,13 @@ var ProduceBlocksDocument = import_graphql_tag.default`
1009
1015
  )
1010
1016
  }
1011
1017
  `;
1018
+ var GetMessageByNonceDocument = import_graphql_tag.default`
1019
+ query getMessageByNonce($nonce: Nonce!) {
1020
+ message(nonce: $nonce) {
1021
+ ...messageFragment
1022
+ }
1023
+ }
1024
+ ${MessageFragmentFragmentDoc}`;
1012
1025
  var SubmitAndAwaitDocument = import_graphql_tag.default`
1013
1026
  subscription submitAndAwait($encodedTransaction: HexString!) {
1014
1027
  submitAndAwait(tx: $encodedTransaction) {
@@ -1103,6 +1116,9 @@ function getSdk(requester) {
1103
1116
  produceBlocks(variables, options) {
1104
1117
  return requester(ProduceBlocksDocument, variables, options);
1105
1118
  },
1119
+ getMessageByNonce(variables, options) {
1120
+ return requester(GetMessageByNonceDocument, variables, options);
1121
+ },
1106
1122
  submitAndAwait(variables, options) {
1107
1123
  return requester(SubmitAndAwaitDocument, variables, options);
1108
1124
  },
@@ -1388,7 +1404,7 @@ var import_address = require("@fuel-ts/address");
1388
1404
  var import_configs6 = require("@fuel-ts/address/configs");
1389
1405
  var import_crypto = require("@fuel-ts/crypto");
1390
1406
  var import_math7 = require("@fuel-ts/math");
1391
- var import_transactions6 = require("@fuel-ts/transactions");
1407
+ var import_transactions7 = require("@fuel-ts/transactions");
1392
1408
  var import_utils9 = require("@fuel-ts/utils");
1393
1409
 
1394
1410
  // src/providers/resource.ts
@@ -1896,6 +1912,28 @@ var NoWitnessByOwnerError = class extends Error {
1896
1912
  name = "NoWitnessByOwnerError";
1897
1913
  };
1898
1914
 
1915
+ // src/providers/transaction-request/helpers.ts
1916
+ var import_transactions6 = require("@fuel-ts/transactions");
1917
+ var isRequestInputCoin = (input) => input.type === import_transactions6.InputType.Coin;
1918
+ var isRequestInputMessage = (input) => input.type === import_transactions6.InputType.Message;
1919
+ var isRequestInputResource = (input) => isRequestInputCoin(input) || isRequestInputMessage(input);
1920
+ var getRequestInputResourceOwner = (input) => isRequestInputCoin(input) ? input.owner : input.recipient;
1921
+ var isRequestInputResourceFromOwner = (input, owner) => getRequestInputResourceOwner(input) === owner.toB256();
1922
+ var cacheResources = (resources) => resources.reduce(
1923
+ (cache2, resource) => {
1924
+ if (isCoin(resource)) {
1925
+ cache2.utxos.push(resource.id);
1926
+ } else {
1927
+ cache2.messages.push(resource.nonce);
1928
+ }
1929
+ return cache2;
1930
+ },
1931
+ {
1932
+ utxos: [],
1933
+ messages: []
1934
+ }
1935
+ );
1936
+
1899
1937
  // src/providers/transaction-request/witness.ts
1900
1938
  var import_utils8 = require("@fuel-ts/utils");
1901
1939
  var witnessify = (value) => {
@@ -1948,20 +1986,20 @@ var BaseTransactionRequest = class {
1948
1986
  let policyTypes = 0;
1949
1987
  const policies = [];
1950
1988
  if (req.tip) {
1951
- policyTypes += import_transactions6.PolicyType.Tip;
1952
- policies.push({ data: req.tip, type: import_transactions6.PolicyType.Tip });
1989
+ policyTypes += import_transactions7.PolicyType.Tip;
1990
+ policies.push({ data: req.tip, type: import_transactions7.PolicyType.Tip });
1953
1991
  }
1954
1992
  if (req.witnessLimit) {
1955
- policyTypes += import_transactions6.PolicyType.WitnessLimit;
1956
- policies.push({ data: req.witnessLimit, type: import_transactions6.PolicyType.WitnessLimit });
1993
+ policyTypes += import_transactions7.PolicyType.WitnessLimit;
1994
+ policies.push({ data: req.witnessLimit, type: import_transactions7.PolicyType.WitnessLimit });
1957
1995
  }
1958
1996
  if (req.maturity > 0) {
1959
- policyTypes += import_transactions6.PolicyType.Maturity;
1960
- policies.push({ data: req.maturity, type: import_transactions6.PolicyType.Maturity });
1997
+ policyTypes += import_transactions7.PolicyType.Maturity;
1998
+ policies.push({ data: req.maturity, type: import_transactions7.PolicyType.Maturity });
1961
1999
  }
1962
2000
  if (req.maxFee) {
1963
- policyTypes += import_transactions6.PolicyType.MaxFee;
1964
- policies.push({ data: req.maxFee, type: import_transactions6.PolicyType.MaxFee });
2001
+ policyTypes += import_transactions7.PolicyType.MaxFee;
2002
+ policies.push({ data: req.maxFee, type: import_transactions7.PolicyType.MaxFee });
1965
2003
  }
1966
2004
  return {
1967
2005
  policyTypes,
@@ -1995,7 +2033,7 @@ var BaseTransactionRequest = class {
1995
2033
  * @returns The transaction bytes.
1996
2034
  */
1997
2035
  toTransactionBytes() {
1998
- return new import_transactions6.TransactionCoder().encode(this.toTransaction());
2036
+ return new import_transactions7.TransactionCoder().encode(this.toTransaction());
1999
2037
  }
2000
2038
  /**
2001
2039
  * @hidden
@@ -2086,7 +2124,7 @@ var BaseTransactionRequest = class {
2086
2124
  */
2087
2125
  getCoinInputs() {
2088
2126
  return this.inputs.filter(
2089
- (input) => input.type === import_transactions6.InputType.Coin
2127
+ (input) => input.type === import_transactions7.InputType.Coin
2090
2128
  );
2091
2129
  }
2092
2130
  /**
@@ -2096,7 +2134,7 @@ var BaseTransactionRequest = class {
2096
2134
  */
2097
2135
  getCoinOutputs() {
2098
2136
  return this.outputs.filter(
2099
- (output) => output.type === import_transactions6.OutputType.Coin
2137
+ (output) => output.type === import_transactions7.OutputType.Coin
2100
2138
  );
2101
2139
  }
2102
2140
  /**
@@ -2106,7 +2144,7 @@ var BaseTransactionRequest = class {
2106
2144
  */
2107
2145
  getChangeOutputs() {
2108
2146
  return this.outputs.filter(
2109
- (output) => output.type === import_transactions6.OutputType.Change
2147
+ (output) => output.type === import_transactions7.OutputType.Change
2110
2148
  );
2111
2149
  }
2112
2150
  /**
@@ -2118,9 +2156,9 @@ var BaseTransactionRequest = class {
2118
2156
  const ownerAddress = (0, import_address.addressify)(owner);
2119
2157
  const found = this.inputs.find((input) => {
2120
2158
  switch (input.type) {
2121
- case import_transactions6.InputType.Coin:
2159
+ case import_transactions7.InputType.Coin:
2122
2160
  return (0, import_utils9.hexlify)(input.owner) === ownerAddress.toB256();
2123
- case import_transactions6.InputType.Message:
2161
+ case import_transactions7.InputType.Message:
2124
2162
  return (0, import_utils9.hexlify)(input.recipient) === ownerAddress.toB256();
2125
2163
  default:
2126
2164
  return false;
@@ -2135,7 +2173,7 @@ var BaseTransactionRequest = class {
2135
2173
  * @param coin - Coin resource.
2136
2174
  */
2137
2175
  addCoinInput(coin) {
2138
- const { assetId, owner, amount } = coin;
2176
+ const { assetId, owner, amount, id, predicate } = coin;
2139
2177
  let witnessIndex;
2140
2178
  if (coin.predicate) {
2141
2179
  witnessIndex = 0;
@@ -2146,13 +2184,14 @@ var BaseTransactionRequest = class {
2146
2184
  }
2147
2185
  }
2148
2186
  const input = {
2149
- ...coin,
2150
- type: import_transactions6.InputType.Coin,
2187
+ id,
2188
+ type: import_transactions7.InputType.Coin,
2151
2189
  owner: owner.toB256(),
2152
2190
  amount,
2153
2191
  assetId,
2154
2192
  txPointer: "0x00000000000000000000000000000000",
2155
- witnessIndex
2193
+ witnessIndex,
2194
+ predicate
2156
2195
  };
2157
2196
  this.pushInput(input);
2158
2197
  this.addChangeOutput(owner, assetId);
@@ -2164,7 +2203,7 @@ var BaseTransactionRequest = class {
2164
2203
  * @param message - Message resource.
2165
2204
  */
2166
2205
  addMessageInput(message) {
2167
- const { recipient, sender, amount, assetId } = message;
2206
+ const { recipient, sender, amount, predicate, nonce, assetId } = message;
2168
2207
  let witnessIndex;
2169
2208
  if (message.predicate) {
2170
2209
  witnessIndex = 0;
@@ -2175,12 +2214,13 @@ var BaseTransactionRequest = class {
2175
2214
  }
2176
2215
  }
2177
2216
  const input = {
2178
- ...message,
2179
- type: import_transactions6.InputType.Message,
2217
+ nonce,
2218
+ type: import_transactions7.InputType.Message,
2180
2219
  sender: sender.toB256(),
2181
2220
  recipient: recipient.toB256(),
2182
2221
  amount,
2183
- witnessIndex
2222
+ witnessIndex,
2223
+ predicate
2184
2224
  };
2185
2225
  this.pushInput(input);
2186
2226
  this.addChangeOutput(recipient, assetId);
@@ -2220,7 +2260,7 @@ var BaseTransactionRequest = class {
2220
2260
  */
2221
2261
  addCoinOutput(to, amount, assetId) {
2222
2262
  this.pushOutput({
2223
- type: import_transactions6.OutputType.Coin,
2263
+ type: import_transactions7.OutputType.Coin,
2224
2264
  to: (0, import_address.addressify)(to).toB256(),
2225
2265
  amount,
2226
2266
  assetId
@@ -2236,7 +2276,7 @@ var BaseTransactionRequest = class {
2236
2276
  addCoinOutputs(to, quantities) {
2237
2277
  quantities.map(coinQuantityfy).forEach((quantity) => {
2238
2278
  this.pushOutput({
2239
- type: import_transactions6.OutputType.Coin,
2279
+ type: import_transactions7.OutputType.Coin,
2240
2280
  to: (0, import_address.addressify)(to).toB256(),
2241
2281
  amount: quantity.amount,
2242
2282
  assetId: quantity.assetId
@@ -2256,7 +2296,7 @@ var BaseTransactionRequest = class {
2256
2296
  );
2257
2297
  if (!changeOutput) {
2258
2298
  this.pushOutput({
2259
- type: import_transactions6.OutputType.Change,
2299
+ type: import_transactions7.OutputType.Change,
2260
2300
  to: (0, import_address.addressify)(to).toB256(),
2261
2301
  assetId
2262
2302
  });
@@ -2364,16 +2404,27 @@ var BaseTransactionRequest = class {
2364
2404
  toJSON() {
2365
2405
  return normalizeJSON(this);
2366
2406
  }
2407
+ removeWitness(index) {
2408
+ this.witnesses.splice(index, 1);
2409
+ this.adjustWitnessIndexes(index);
2410
+ }
2411
+ adjustWitnessIndexes(removedIndex) {
2412
+ this.inputs.filter(isRequestInputResource).forEach((input) => {
2413
+ if (input.witnessIndex > removedIndex) {
2414
+ input.witnessIndex -= 1;
2415
+ }
2416
+ });
2417
+ }
2367
2418
  updatePredicateGasUsed(inputs) {
2368
2419
  this.inputs.forEach((i) => {
2369
2420
  let correspondingInput;
2370
2421
  switch (i.type) {
2371
- case import_transactions6.InputType.Coin:
2372
- correspondingInput = inputs.find((x) => x.type === import_transactions6.InputType.Coin && x.owner === i.owner);
2422
+ case import_transactions7.InputType.Coin:
2423
+ correspondingInput = inputs.find((x) => x.type === import_transactions7.InputType.Coin && x.owner === i.owner);
2373
2424
  break;
2374
- case import_transactions6.InputType.Message:
2425
+ case import_transactions7.InputType.Message:
2375
2426
  correspondingInput = inputs.find(
2376
- (x) => x.type === import_transactions6.InputType.Message && x.sender === i.sender
2427
+ (x) => x.type === import_transactions7.InputType.Message && x.sender === i.sender
2377
2428
  );
2378
2429
  break;
2379
2430
  default:
@@ -2400,25 +2451,25 @@ var BaseTransactionRequest = class {
2400
2451
  // src/providers/transaction-request/create-transaction-request.ts
2401
2452
  var import_configs8 = require("@fuel-ts/address/configs");
2402
2453
  var import_math9 = require("@fuel-ts/math");
2403
- var import_transactions8 = require("@fuel-ts/transactions");
2454
+ var import_transactions9 = require("@fuel-ts/transactions");
2404
2455
  var import_utils13 = require("@fuel-ts/utils");
2405
2456
 
2406
2457
  // src/providers/transaction-request/hash-transaction.ts
2407
2458
  var import_configs7 = require("@fuel-ts/address/configs");
2408
2459
  var import_hasher = require("@fuel-ts/hasher");
2409
2460
  var import_math8 = require("@fuel-ts/math");
2410
- var import_transactions7 = require("@fuel-ts/transactions");
2461
+ var import_transactions8 = require("@fuel-ts/transactions");
2411
2462
  var import_utils11 = require("@fuel-ts/utils");
2412
2463
  var import_ramda2 = require("ramda");
2413
2464
  function hashTransaction(transactionRequest, chainId) {
2414
2465
  const transaction = transactionRequest.toTransaction();
2415
- if (transaction.type === import_transactions7.TransactionType.Script) {
2466
+ if (transaction.type === import_transactions8.TransactionType.Script) {
2416
2467
  transaction.receiptsRoot = import_configs7.ZeroBytes32;
2417
2468
  }
2418
2469
  transaction.inputs = transaction.inputs.map((input) => {
2419
2470
  const inputClone = (0, import_ramda2.clone)(input);
2420
2471
  switch (inputClone.type) {
2421
- case import_transactions7.InputType.Coin: {
2472
+ case import_transactions8.InputType.Coin: {
2422
2473
  inputClone.txPointer = {
2423
2474
  blockHeight: 0,
2424
2475
  txIndex: 0
@@ -2426,11 +2477,11 @@ function hashTransaction(transactionRequest, chainId) {
2426
2477
  inputClone.predicateGasUsed = (0, import_math8.bn)(0);
2427
2478
  return inputClone;
2428
2479
  }
2429
- case import_transactions7.InputType.Message: {
2480
+ case import_transactions8.InputType.Message: {
2430
2481
  inputClone.predicateGasUsed = (0, import_math8.bn)(0);
2431
2482
  return inputClone;
2432
2483
  }
2433
- case import_transactions7.InputType.Contract: {
2484
+ case import_transactions8.InputType.Contract: {
2434
2485
  inputClone.txPointer = {
2435
2486
  blockHeight: 0,
2436
2487
  txIndex: 0
@@ -2448,16 +2499,16 @@ function hashTransaction(transactionRequest, chainId) {
2448
2499
  transaction.outputs = transaction.outputs.map((output) => {
2449
2500
  const outputClone = (0, import_ramda2.clone)(output);
2450
2501
  switch (outputClone.type) {
2451
- case import_transactions7.OutputType.Contract: {
2502
+ case import_transactions8.OutputType.Contract: {
2452
2503
  outputClone.balanceRoot = import_configs7.ZeroBytes32;
2453
2504
  outputClone.stateRoot = import_configs7.ZeroBytes32;
2454
2505
  return outputClone;
2455
2506
  }
2456
- case import_transactions7.OutputType.Change: {
2507
+ case import_transactions8.OutputType.Change: {
2457
2508
  outputClone.amount = (0, import_math8.bn)(0);
2458
2509
  return outputClone;
2459
2510
  }
2460
- case import_transactions7.OutputType.Variable: {
2511
+ case import_transactions8.OutputType.Variable: {
2461
2512
  outputClone.to = import_configs7.ZeroBytes32;
2462
2513
  outputClone.amount = (0, import_math8.bn)(0);
2463
2514
  outputClone.assetId = import_configs7.ZeroBytes32;
@@ -2470,7 +2521,7 @@ function hashTransaction(transactionRequest, chainId) {
2470
2521
  transaction.witnessesCount = 0;
2471
2522
  transaction.witnesses = [];
2472
2523
  const chainIdBytes = (0, import_hasher.uint64ToBytesBE)(chainId);
2473
- const concatenatedData = (0, import_utils11.concat)([chainIdBytes, new import_transactions7.TransactionCoder().encode(transaction)]);
2524
+ const concatenatedData = (0, import_utils11.concat)([chainIdBytes, new import_transactions8.TransactionCoder().encode(transaction)]);
2474
2525
  return (0, import_hasher.sha256)(concatenatedData);
2475
2526
  }
2476
2527
 
@@ -2506,7 +2557,7 @@ var CreateTransactionRequest = class extends BaseTransactionRequest {
2506
2557
  return new this(obj);
2507
2558
  }
2508
2559
  /** Type of the transaction */
2509
- type = import_transactions8.TransactionType.Create;
2560
+ type = import_transactions9.TransactionType.Create;
2510
2561
  /** Witness index of contract bytecode to create */
2511
2562
  bytecodeWitnessIndex;
2512
2563
  /** Salt */
@@ -2534,7 +2585,7 @@ var CreateTransactionRequest = class extends BaseTransactionRequest {
2534
2585
  const bytecodeWitnessIndex = this.bytecodeWitnessIndex;
2535
2586
  const storageSlots = this.storageSlots?.map(storageSlotify) ?? [];
2536
2587
  return {
2537
- type: import_transactions8.TransactionType.Create,
2588
+ type: import_transactions9.TransactionType.Create,
2538
2589
  ...baseTransaction,
2539
2590
  bytecodeWitnessIndex,
2540
2591
  storageSlotsCount: (0, import_math9.bn)(storageSlots.length),
@@ -2549,7 +2600,7 @@ var CreateTransactionRequest = class extends BaseTransactionRequest {
2549
2600
  */
2550
2601
  getContractCreatedOutputs() {
2551
2602
  return this.outputs.filter(
2552
- (output) => output.type === import_transactions8.OutputType.ContractCreated
2603
+ (output) => output.type === import_transactions9.OutputType.ContractCreated
2553
2604
  );
2554
2605
  }
2555
2606
  /**
@@ -2570,7 +2621,7 @@ var CreateTransactionRequest = class extends BaseTransactionRequest {
2570
2621
  */
2571
2622
  addContractCreatedOutput(contractId, stateRoot) {
2572
2623
  this.pushOutput({
2573
- type: import_transactions8.OutputType.ContractCreated,
2624
+ type: import_transactions9.OutputType.ContractCreated,
2574
2625
  contractId,
2575
2626
  stateRoot
2576
2627
  });
@@ -2590,7 +2641,7 @@ var import_abi_coder3 = require("@fuel-ts/abi-coder");
2590
2641
  var import_address2 = require("@fuel-ts/address");
2591
2642
  var import_configs9 = require("@fuel-ts/address/configs");
2592
2643
  var import_math10 = require("@fuel-ts/math");
2593
- var import_transactions9 = require("@fuel-ts/transactions");
2644
+ var import_transactions10 = require("@fuel-ts/transactions");
2594
2645
  var import_utils15 = require("@fuel-ts/utils");
2595
2646
 
2596
2647
  // src/providers/transaction-request/scripts.ts
@@ -2628,7 +2679,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
2628
2679
  return new this(obj);
2629
2680
  }
2630
2681
  /** Type of the transaction */
2631
- type = import_transactions9.TransactionType.Script;
2682
+ type = import_transactions10.TransactionType.Script;
2632
2683
  /** Gas limit for transaction */
2633
2684
  gasLimit;
2634
2685
  /** Script to execute */
@@ -2657,7 +2708,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
2657
2708
  const script = (0, import_utils15.arrayify)(this.script ?? "0x");
2658
2709
  const scriptData = (0, import_utils15.arrayify)(this.scriptData ?? "0x");
2659
2710
  return {
2660
- type: import_transactions9.TransactionType.Script,
2711
+ type: import_transactions10.TransactionType.Script,
2661
2712
  scriptGasLimit: this.gasLimit,
2662
2713
  ...super.getBaseTransaction(),
2663
2714
  scriptLength: (0, import_math10.bn)(script.length),
@@ -2674,7 +2725,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
2674
2725
  */
2675
2726
  getContractInputs() {
2676
2727
  return this.inputs.filter(
2677
- (input) => input.type === import_transactions9.InputType.Contract
2728
+ (input) => input.type === import_transactions10.InputType.Contract
2678
2729
  );
2679
2730
  }
2680
2731
  /**
@@ -2684,7 +2735,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
2684
2735
  */
2685
2736
  getContractOutputs() {
2686
2737
  return this.outputs.filter(
2687
- (output) => output.type === import_transactions9.OutputType.Contract
2738
+ (output) => output.type === import_transactions10.OutputType.Contract
2688
2739
  );
2689
2740
  }
2690
2741
  /**
@@ -2694,7 +2745,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
2694
2745
  */
2695
2746
  getVariableOutputs() {
2696
2747
  return this.outputs.filter(
2697
- (output) => output.type === import_transactions9.OutputType.Variable
2748
+ (output) => output.type === import_transactions10.OutputType.Variable
2698
2749
  );
2699
2750
  }
2700
2751
  /**
@@ -2717,7 +2768,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
2717
2768
  let outputsNumber = numberOfVariables;
2718
2769
  while (outputsNumber) {
2719
2770
  this.pushOutput({
2720
- type: import_transactions9.OutputType.Variable
2771
+ type: import_transactions10.OutputType.Variable
2721
2772
  });
2722
2773
  outputsNumber -= 1;
2723
2774
  }
@@ -2751,12 +2802,12 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
2751
2802
  return this;
2752
2803
  }
2753
2804
  const inputIndex = super.pushInput({
2754
- type: import_transactions9.InputType.Contract,
2805
+ type: import_transactions10.InputType.Contract,
2755
2806
  contractId: contractAddress.toB256(),
2756
2807
  txPointer: "0x00000000000000000000000000000000"
2757
2808
  });
2758
2809
  this.pushOutput({
2759
- type: import_transactions9.OutputType.Contract,
2810
+ type: import_transactions10.OutputType.Contract,
2760
2811
  inputIndex
2761
2812
  });
2762
2813
  return this;
@@ -2793,17 +2844,17 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
2793
2844
 
2794
2845
  // src/providers/transaction-request/utils.ts
2795
2846
  var import_errors9 = require("@fuel-ts/errors");
2796
- var import_transactions10 = require("@fuel-ts/transactions");
2847
+ var import_transactions11 = require("@fuel-ts/transactions");
2797
2848
  var transactionRequestify = (obj) => {
2798
2849
  if (obj instanceof ScriptTransactionRequest || obj instanceof CreateTransactionRequest) {
2799
2850
  return obj;
2800
2851
  }
2801
2852
  const { type } = obj;
2802
2853
  switch (obj.type) {
2803
- case import_transactions10.TransactionType.Script: {
2854
+ case import_transactions11.TransactionType.Script: {
2804
2855
  return ScriptTransactionRequest.from(obj);
2805
2856
  }
2806
- case import_transactions10.TransactionType.Create: {
2857
+ case import_transactions11.TransactionType.Create: {
2807
2858
  return CreateTransactionRequest.from(obj);
2808
2859
  }
2809
2860
  default: {
@@ -2813,10 +2864,10 @@ var transactionRequestify = (obj) => {
2813
2864
  };
2814
2865
  var cacheTxInputsFromOwner = (inputs, owner) => inputs.reduce(
2815
2866
  (acc, input) => {
2816
- if (input.type === import_transactions10.InputType.Coin && input.owner === owner) {
2867
+ if (input.type === import_transactions11.InputType.Coin && input.owner === owner) {
2817
2868
  acc.utxos.push(input.id);
2818
2869
  }
2819
- if (input.type === import_transactions10.InputType.Message && input.recipient === owner) {
2870
+ if (input.type === import_transactions11.InputType.Message && input.recipient === owner) {
2820
2871
  acc.messages.push(input.nonce);
2821
2872
  }
2822
2873
  return acc;
@@ -2830,17 +2881,17 @@ var cacheTxInputsFromOwner = (inputs, owner) => inputs.reduce(
2830
2881
  // src/providers/transaction-response/transaction-response.ts
2831
2882
  var import_errors13 = require("@fuel-ts/errors");
2832
2883
  var import_math15 = require("@fuel-ts/math");
2833
- var import_transactions18 = require("@fuel-ts/transactions");
2884
+ var import_transactions19 = require("@fuel-ts/transactions");
2834
2885
  var import_utils20 = require("@fuel-ts/utils");
2835
2886
 
2836
2887
  // src/providers/transaction-summary/assemble-transaction-summary.ts
2837
2888
  var import_math14 = require("@fuel-ts/math");
2838
- var import_transactions16 = require("@fuel-ts/transactions");
2889
+ var import_transactions17 = require("@fuel-ts/transactions");
2839
2890
  var import_utils18 = require("@fuel-ts/utils");
2840
2891
 
2841
2892
  // src/providers/transaction-summary/calculate-transaction-fee.ts
2842
2893
  var import_math11 = require("@fuel-ts/math");
2843
- var import_transactions11 = require("@fuel-ts/transactions");
2894
+ var import_transactions12 = require("@fuel-ts/transactions");
2844
2895
  var import_utils16 = require("@fuel-ts/utils");
2845
2896
  var calculateTransactionFee = (params) => {
2846
2897
  const {
@@ -2852,8 +2903,8 @@ var calculateTransactionFee = (params) => {
2852
2903
  const gasPerByte = (0, import_math11.bn)(feeParams.gasPerByte);
2853
2904
  const gasPriceFactor = (0, import_math11.bn)(feeParams.gasPriceFactor);
2854
2905
  const transactionBytes = (0, import_utils16.arrayify)(rawPayload);
2855
- const [transaction] = new import_transactions11.TransactionCoder().decode(transactionBytes, 0);
2856
- if (transaction.type === import_transactions11.TransactionType.Mint) {
2906
+ const [transaction] = new import_transactions12.TransactionCoder().decode(transactionBytes, 0);
2907
+ if (transaction.type === import_transactions12.TransactionType.Mint) {
2857
2908
  return {
2858
2909
  fee: (0, import_math11.bn)(0),
2859
2910
  minFee: (0, import_math11.bn)(0),
@@ -2863,7 +2914,7 @@ var calculateTransactionFee = (params) => {
2863
2914
  const { type, witnesses, inputs, policies } = transaction;
2864
2915
  let metadataGas = (0, import_math11.bn)(0);
2865
2916
  let gasLimit = (0, import_math11.bn)(0);
2866
- if (type === import_transactions11.TransactionType.Create) {
2917
+ if (type === import_transactions12.TransactionType.Create) {
2867
2918
  const { bytecodeWitnessIndex, storageSlots } = transaction;
2868
2919
  const contractBytesSize = (0, import_math11.bn)((0, import_utils16.arrayify)(witnesses[bytecodeWitnessIndex].data).length);
2869
2920
  metadataGas = calculateMetadataGasForTxCreate({
@@ -2889,7 +2940,7 @@ var calculateTransactionFee = (params) => {
2889
2940
  metadataGas,
2890
2941
  txBytesSize: transactionBytes.length
2891
2942
  });
2892
- const witnessLimit = policies.find((policy) => policy.type === import_transactions11.PolicyType.WitnessLimit)?.data;
2943
+ const witnessLimit = policies.find((policy) => policy.type === import_transactions12.PolicyType.WitnessLimit)?.data;
2893
2944
  const witnessesLength = witnesses.reduce((acc, wit) => acc + wit.dataLength, 0);
2894
2945
  const maxGas = getMaxGas({
2895
2946
  gasPerByte,
@@ -2922,7 +2973,7 @@ var calculateTransactionFee = (params) => {
2922
2973
  var import_configs10 = require("@fuel-ts/address/configs");
2923
2974
  var import_errors11 = require("@fuel-ts/errors");
2924
2975
  var import_math13 = require("@fuel-ts/math");
2925
- var import_transactions14 = require("@fuel-ts/transactions");
2976
+ var import_transactions15 = require("@fuel-ts/transactions");
2926
2977
 
2927
2978
  // src/providers/transaction-summary/call.ts
2928
2979
  var import_abi_coder4 = require("@fuel-ts/abi-coder");
@@ -2970,7 +3021,7 @@ var getFunctionCall = ({ abi, receipt, rawPayload, maxInputs }) => {
2970
3021
 
2971
3022
  // src/providers/transaction-summary/input.ts
2972
3023
  var import_errors10 = require("@fuel-ts/errors");
2973
- var import_transactions12 = require("@fuel-ts/transactions");
3024
+ var import_transactions13 = require("@fuel-ts/transactions");
2974
3025
  function getInputsByTypes(inputs, types) {
2975
3026
  return inputs.filter((i) => types.includes(i.type));
2976
3027
  }
@@ -2978,16 +3029,16 @@ function getInputsByType(inputs, type) {
2978
3029
  return inputs.filter((i) => i.type === type);
2979
3030
  }
2980
3031
  function getInputsCoin(inputs) {
2981
- return getInputsByType(inputs, import_transactions12.InputType.Coin);
3032
+ return getInputsByType(inputs, import_transactions13.InputType.Coin);
2982
3033
  }
2983
3034
  function getInputsMessage(inputs) {
2984
- return getInputsByType(inputs, import_transactions12.InputType.Message);
3035
+ return getInputsByType(inputs, import_transactions13.InputType.Message);
2985
3036
  }
2986
3037
  function getInputsCoinAndMessage(inputs) {
2987
- return getInputsByTypes(inputs, [import_transactions12.InputType.Coin, import_transactions12.InputType.Message]);
3038
+ return getInputsByTypes(inputs, [import_transactions13.InputType.Coin, import_transactions13.InputType.Message]);
2988
3039
  }
2989
3040
  function getInputsContract(inputs) {
2990
- return getInputsByType(inputs, import_transactions12.InputType.Contract);
3041
+ return getInputsByType(inputs, import_transactions13.InputType.Contract);
2991
3042
  }
2992
3043
  function getInputFromAssetId(inputs, assetId) {
2993
3044
  const coinInputs = getInputsCoin(inputs);
@@ -3006,7 +3057,7 @@ function getInputContractFromIndex(inputs, inputIndex) {
3006
3057
  if (!contractInput) {
3007
3058
  return void 0;
3008
3059
  }
3009
- if (contractInput.type !== import_transactions12.InputType.Contract) {
3060
+ if (contractInput.type !== import_transactions13.InputType.Contract) {
3010
3061
  throw new import_errors10.FuelError(
3011
3062
  import_errors10.ErrorCode.INVALID_TRANSACTION_INPUT,
3012
3063
  `Contract input should be of type 'contract'.`
@@ -3015,34 +3066,34 @@ function getInputContractFromIndex(inputs, inputIndex) {
3015
3066
  return contractInput;
3016
3067
  }
3017
3068
  function getInputAccountAddress(input) {
3018
- if (input.type === import_transactions12.InputType.Coin) {
3069
+ if (input.type === import_transactions13.InputType.Coin) {
3019
3070
  return input.owner.toString();
3020
3071
  }
3021
- if (input.type === import_transactions12.InputType.Message) {
3072
+ if (input.type === import_transactions13.InputType.Message) {
3022
3073
  return input.recipient.toString();
3023
3074
  }
3024
3075
  return "";
3025
3076
  }
3026
3077
 
3027
3078
  // src/providers/transaction-summary/output.ts
3028
- var import_transactions13 = require("@fuel-ts/transactions");
3079
+ var import_transactions14 = require("@fuel-ts/transactions");
3029
3080
  function getOutputsByType(outputs, type) {
3030
3081
  return outputs.filter((o) => o.type === type);
3031
3082
  }
3032
3083
  function getOutputsContractCreated(outputs) {
3033
- return getOutputsByType(outputs, import_transactions13.OutputType.ContractCreated);
3084
+ return getOutputsByType(outputs, import_transactions14.OutputType.ContractCreated);
3034
3085
  }
3035
3086
  function getOutputsCoin(outputs) {
3036
- return getOutputsByType(outputs, import_transactions13.OutputType.Coin);
3087
+ return getOutputsByType(outputs, import_transactions14.OutputType.Coin);
3037
3088
  }
3038
3089
  function getOutputsChange(outputs) {
3039
- return getOutputsByType(outputs, import_transactions13.OutputType.Change);
3090
+ return getOutputsByType(outputs, import_transactions14.OutputType.Change);
3040
3091
  }
3041
3092
  function getOutputsContract(outputs) {
3042
- return getOutputsByType(outputs, import_transactions13.OutputType.Contract);
3093
+ return getOutputsByType(outputs, import_transactions14.OutputType.Contract);
3043
3094
  }
3044
3095
  function getOutputsVariable(outputs) {
3045
- return getOutputsByType(outputs, import_transactions13.OutputType.Variable);
3096
+ return getOutputsByType(outputs, import_transactions14.OutputType.Variable);
3046
3097
  }
3047
3098
 
3048
3099
  // src/providers/transaction-summary/types.ts
@@ -3089,11 +3140,11 @@ function getReceiptsByType(receipts, type) {
3089
3140
  }
3090
3141
  function getTransactionTypeName(transactionType) {
3091
3142
  switch (transactionType) {
3092
- case import_transactions14.TransactionType.Mint:
3143
+ case import_transactions15.TransactionType.Mint:
3093
3144
  return "Mint" /* Mint */;
3094
- case import_transactions14.TransactionType.Create:
3145
+ case import_transactions15.TransactionType.Create:
3095
3146
  return "Create" /* Create */;
3096
- case import_transactions14.TransactionType.Script:
3147
+ case import_transactions15.TransactionType.Script:
3097
3148
  return "Script" /* Script */;
3098
3149
  default:
3099
3150
  throw new import_errors11.FuelError(
@@ -3119,10 +3170,10 @@ function hasSameAssetId(a) {
3119
3170
  return (b) => a.assetId === b.assetId;
3120
3171
  }
3121
3172
  function getReceiptsCall(receipts) {
3122
- return getReceiptsByType(receipts, import_transactions14.ReceiptType.Call);
3173
+ return getReceiptsByType(receipts, import_transactions15.ReceiptType.Call);
3123
3174
  }
3124
3175
  function getReceiptsMessageOut(receipts) {
3125
- return getReceiptsByType(receipts, import_transactions14.ReceiptType.MessageOut);
3176
+ return getReceiptsByType(receipts, import_transactions15.ReceiptType.MessageOut);
3126
3177
  }
3127
3178
  var mergeAssets = (op1, op2) => {
3128
3179
  const assets1 = op1.assetsSent || [];
@@ -3161,7 +3212,7 @@ function addOperation(operations, toAdd) {
3161
3212
  return allOperations;
3162
3213
  }
3163
3214
  function getReceiptsTransferOut(receipts) {
3164
- return getReceiptsByType(receipts, import_transactions14.ReceiptType.TransferOut);
3215
+ return getReceiptsByType(receipts, import_transactions15.ReceiptType.TransferOut);
3165
3216
  }
3166
3217
  function getWithdrawFromFuelOperations({
3167
3218
  inputs,
@@ -3321,11 +3372,11 @@ function getTransferOperations({
3321
3372
  });
3322
3373
  const transferReceipts = getReceiptsByType(
3323
3374
  receipts,
3324
- import_transactions14.ReceiptType.Transfer
3375
+ import_transactions15.ReceiptType.Transfer
3325
3376
  );
3326
3377
  const transferOutReceipts = getReceiptsByType(
3327
3378
  receipts,
3328
- import_transactions14.ReceiptType.TransferOut
3379
+ import_transactions15.ReceiptType.TransferOut
3329
3380
  );
3330
3381
  [...transferReceipts, ...transferOutReceipts].forEach((receipt) => {
3331
3382
  const operation = extractTransferOperationFromReceipt(receipt, contractInputs, changeOutputs);
@@ -3410,17 +3461,17 @@ function getOperations({
3410
3461
  }
3411
3462
 
3412
3463
  // src/providers/transaction-summary/receipt.ts
3413
- var import_transactions15 = require("@fuel-ts/transactions");
3464
+ var import_transactions16 = require("@fuel-ts/transactions");
3414
3465
  var processGqlReceipt = (gqlReceipt) => {
3415
3466
  const receipt = assembleReceiptByType(gqlReceipt);
3416
3467
  switch (receipt.type) {
3417
- case import_transactions15.ReceiptType.ReturnData: {
3468
+ case import_transactions16.ReceiptType.ReturnData: {
3418
3469
  return {
3419
3470
  ...receipt,
3420
3471
  data: gqlReceipt.data || "0x"
3421
3472
  };
3422
3473
  }
3423
- case import_transactions15.ReceiptType.LogData: {
3474
+ case import_transactions16.ReceiptType.LogData: {
3424
3475
  return {
3425
3476
  ...receipt,
3426
3477
  data: gqlReceipt.data || "0x"
@@ -3433,7 +3484,7 @@ var processGqlReceipt = (gqlReceipt) => {
3433
3484
  var extractMintedAssetsFromReceipts = (receipts) => {
3434
3485
  const mintedAssets = [];
3435
3486
  receipts.forEach((receipt) => {
3436
- if (receipt.type === import_transactions15.ReceiptType.Mint) {
3487
+ if (receipt.type === import_transactions16.ReceiptType.Mint) {
3437
3488
  mintedAssets.push({
3438
3489
  subId: receipt.subId,
3439
3490
  contractId: receipt.contractId,
@@ -3447,7 +3498,7 @@ var extractMintedAssetsFromReceipts = (receipts) => {
3447
3498
  var extractBurnedAssetsFromReceipts = (receipts) => {
3448
3499
  const burnedAssets = [];
3449
3500
  receipts.forEach((receipt) => {
3450
- if (receipt.type === import_transactions15.ReceiptType.Burn) {
3501
+ if (receipt.type === import_transactions16.ReceiptType.Burn) {
3451
3502
  burnedAssets.push({
3452
3503
  subId: receipt.subId,
3453
3504
  contractId: receipt.contractId,
@@ -3544,7 +3595,7 @@ function assembleTransactionSummary(params) {
3544
3595
  maxInputs
3545
3596
  });
3546
3597
  const typeName = getTransactionTypeName(transaction.type);
3547
- const tip = (0, import_math14.bn)(transaction.policies?.find((policy) => policy.type === import_transactions16.PolicyType.Tip)?.data);
3598
+ const tip = (0, import_math14.bn)(transaction.policies?.find((policy) => policy.type === import_transactions17.PolicyType.Tip)?.data);
3548
3599
  const { fee } = calculateTransactionFee({
3549
3600
  gasPrice,
3550
3601
  rawPayload,
@@ -3591,12 +3642,12 @@ function assembleTransactionSummary(params) {
3591
3642
 
3592
3643
  // src/providers/transaction-response/getDecodedLogs.ts
3593
3644
  var import_abi_coder5 = require("@fuel-ts/abi-coder");
3594
- var import_transactions17 = require("@fuel-ts/transactions");
3645
+ var import_transactions18 = require("@fuel-ts/transactions");
3595
3646
  function getDecodedLogs(receipts, mainAbi, externalAbis = {}) {
3596
3647
  return receipts.reduce((logs, receipt) => {
3597
- if (receipt.type === import_transactions17.ReceiptType.LogData || receipt.type === import_transactions17.ReceiptType.Log) {
3648
+ if (receipt.type === import_transactions18.ReceiptType.LogData || receipt.type === import_transactions18.ReceiptType.Log) {
3598
3649
  const interfaceToUse = new import_abi_coder5.Interface(externalAbis[receipt.id] || mainAbi);
3599
- const data = receipt.type === import_transactions17.ReceiptType.Log ? new import_abi_coder5.BigNumberCoder("u64").encode(receipt.val0) : receipt.data;
3650
+ const data = receipt.type === import_transactions18.ReceiptType.Log ? new import_abi_coder5.BigNumberCoder("u64").encode(receipt.val0) : receipt.data;
3600
3651
  const [decodedLog] = interfaceToUse.decodeLog(data, receipt.val1.toNumber());
3601
3652
  logs.push(decodedLog);
3602
3653
  }
@@ -3669,7 +3720,7 @@ var TransactionResponse = class {
3669
3720
  * @returns The decoded transaction.
3670
3721
  */
3671
3722
  decodeTransaction(transactionWithReceipts) {
3672
- return new import_transactions18.TransactionCoder().decode(
3723
+ return new import_transactions19.TransactionCoder().decode(
3673
3724
  (0, import_utils20.arrayify)(transactionWithReceipts.rawPayload),
3674
3725
  0
3675
3726
  )?.[0];
@@ -4120,7 +4171,7 @@ var _Provider = class {
4120
4171
  }
4121
4172
  const encodedTransaction = (0, import_utils22.hexlify)(transactionRequest.toTransactionBytes());
4122
4173
  let abis;
4123
- if (transactionRequest.type === import_transactions19.TransactionType.Script) {
4174
+ if (transactionRequest.type === import_transactions20.TransactionType.Script) {
4124
4175
  abis = transactionRequest.abis;
4125
4176
  }
4126
4177
  if (awaitExecution) {
@@ -4212,7 +4263,7 @@ var _Provider = class {
4212
4263
  * @returns A promise.
4213
4264
  */
4214
4265
  async estimateTxDependencies(transactionRequest) {
4215
- if (transactionRequest.type === import_transactions19.TransactionType.Create) {
4266
+ if (transactionRequest.type === import_transactions20.TransactionType.Create) {
4216
4267
  return {
4217
4268
  receipts: [],
4218
4269
  outputVariables: 0,
@@ -4276,7 +4327,7 @@ var _Provider = class {
4276
4327
  const allRequests = (0, import_ramda3.clone)(transactionRequests);
4277
4328
  const serializedTransactionsMap = /* @__PURE__ */ new Map();
4278
4329
  allRequests.forEach((req, index) => {
4279
- if (req.type === import_transactions19.TransactionType.Script) {
4330
+ if (req.type === import_transactions20.TransactionType.Script) {
4280
4331
  serializedTransactionsMap.set(index, (0, import_utils22.hexlify)(req.toTransactionBytes()));
4281
4332
  }
4282
4333
  });
@@ -4302,7 +4353,7 @@ var _Provider = class {
4302
4353
  );
4303
4354
  const hasMissingOutputs = missingOutputVariables.length > 0 || missingOutputContractIds.length > 0;
4304
4355
  const request = allRequests[requestIdx];
4305
- if (hasMissingOutputs && request?.type === import_transactions19.TransactionType.Script) {
4356
+ if (hasMissingOutputs && request?.type === import_transactions20.TransactionType.Script) {
4306
4357
  result.outputVariables += missingOutputVariables.length;
4307
4358
  request.addVariableOutputs(missingOutputVariables.length);
4308
4359
  missingOutputContractIds.forEach(({ contractId }) => {
@@ -4358,7 +4409,7 @@ var _Provider = class {
4358
4409
  tip: transactionRequest.tip
4359
4410
  }).add(1);
4360
4411
  let gasLimit = (0, import_math16.bn)(0);
4361
- if (transactionRequest.type === import_transactions19.TransactionType.Script) {
4412
+ if (transactionRequest.type === import_transactions20.TransactionType.Script) {
4362
4413
  gasLimit = transactionRequest.gasLimit;
4363
4414
  if (transactionRequest.gasLimit.eq(0)) {
4364
4415
  transactionRequest.gasLimit = minGas;
@@ -4428,7 +4479,7 @@ var _Provider = class {
4428
4479
  */
4429
4480
  async getTransactionCost(transactionRequestLike, { resourcesOwner, signatureCallback, quantitiesToContract = [] } = {}) {
4430
4481
  const txRequestClone = (0, import_ramda3.clone)(transactionRequestify(transactionRequestLike));
4431
- const isScriptTransaction = txRequestClone.type === import_transactions19.TransactionType.Script;
4482
+ const isScriptTransaction = txRequestClone.type === import_transactions20.TransactionType.Script;
4432
4483
  const baseAssetId = this.getBaseAssetId();
4433
4484
  const coinOutputsQuantities = txRequestClone.getCoinOutputsQuantities();
4434
4485
  const allQuantities = mergeQuantities(coinOutputsQuantities, quantitiesToContract);
@@ -4652,7 +4703,7 @@ var _Provider = class {
4652
4703
  time: block.header.time,
4653
4704
  transactionIds: block.transactions.map((tx) => tx.id),
4654
4705
  transactions: block.transactions.map(
4655
- (tx) => new import_transactions19.TransactionCoder().decode((0, import_utils22.arrayify)(tx.rawPayload), 0)?.[0]
4706
+ (tx) => new import_transactions20.TransactionCoder().decode((0, import_utils22.arrayify)(tx.rawPayload), 0)?.[0]
4656
4707
  )
4657
4708
  };
4658
4709
  }
@@ -4667,7 +4718,7 @@ var _Provider = class {
4667
4718
  if (!transaction) {
4668
4719
  return null;
4669
4720
  }
4670
- return new import_transactions19.TransactionCoder().decode(
4721
+ return new import_transactions20.TransactionCoder().decode(
4671
4722
  (0, import_utils22.arrayify)(transaction.rawPayload),
4672
4723
  0
4673
4724
  )?.[0];
@@ -4747,7 +4798,7 @@ var _Provider = class {
4747
4798
  });
4748
4799
  const messages = result.messages.edges.map((edge) => edge.node);
4749
4800
  return messages.map((message) => ({
4750
- messageId: import_transactions19.InputMessageCoder.getMessageId({
4801
+ messageId: import_transactions20.InputMessageCoder.getMessageId({
4751
4802
  sender: message.sender,
4752
4803
  recipient: message.recipient,
4753
4804
  nonce: message.nonce,
@@ -4758,7 +4809,7 @@ var _Provider = class {
4758
4809
  recipient: import_address3.Address.fromAddressOrString(message.recipient),
4759
4810
  nonce: message.nonce,
4760
4811
  amount: (0, import_math16.bn)(message.amount),
4761
- data: import_transactions19.InputMessageCoder.decodeData(message.data),
4812
+ data: import_transactions20.InputMessageCoder.decodeData(message.data),
4762
4813
  daHeight: (0, import_math16.bn)(message.daHeight)
4763
4814
  }));
4764
4815
  }
@@ -4894,6 +4945,19 @@ var _Provider = class {
4894
4945
  async getTransactionResponse(transactionId) {
4895
4946
  return new TransactionResponse(transactionId, this);
4896
4947
  }
4948
+ /**
4949
+ * Returns Message for given nonce.
4950
+ *
4951
+ * @param nonce - The nonce of the message to retrieve.
4952
+ * @returns A promise that resolves to the Message object.
4953
+ */
4954
+ async getMessageByNonce(nonce) {
4955
+ const { message } = await this.operations.getMessageByNonce({ nonce });
4956
+ if (!message) {
4957
+ return null;
4958
+ }
4959
+ return message;
4960
+ }
4897
4961
  };
4898
4962
  var Provider = _Provider;
4899
4963
  _cacheInputs = new WeakSet();
@@ -4902,7 +4966,7 @@ cacheInputs_fn = function(inputs) {
4902
4966
  return;
4903
4967
  }
4904
4968
  inputs.forEach((input) => {
4905
- if (input.type === import_transactions19.InputType.Coin) {
4969
+ if (input.type === import_transactions20.InputType.Coin) {
4906
4970
  this.cache?.set(input.id);
4907
4971
  }
4908
4972
  });
@@ -4913,7 +4977,7 @@ __publicField(Provider, "nodeInfoCache", {});
4913
4977
  // src/providers/transaction-summary/get-transaction-summary.ts
4914
4978
  var import_errors15 = require("@fuel-ts/errors");
4915
4979
  var import_math17 = require("@fuel-ts/math");
4916
- var import_transactions20 = require("@fuel-ts/transactions");
4980
+ var import_transactions21 = require("@fuel-ts/transactions");
4917
4981
  var import_utils25 = require("@fuel-ts/utils");
4918
4982
  async function getTransactionSummary(params) {
4919
4983
  const { id, provider, abiMap } = params;
@@ -4926,7 +4990,7 @@ async function getTransactionSummary(params) {
4926
4990
  `Transaction not found for given id: ${id}.`
4927
4991
  );
4928
4992
  }
4929
- const [decodedTransaction] = new import_transactions20.TransactionCoder().decode(
4993
+ const [decodedTransaction] = new import_transactions21.TransactionCoder().decode(
4930
4994
  (0, import_utils25.arrayify)(gqlTransaction.rawPayload),
4931
4995
  0
4932
4996
  );
@@ -4991,7 +5055,7 @@ async function getTransactionsSummaries(params) {
4991
5055
  const transactions = edges.map((edge) => {
4992
5056
  const { node: gqlTransaction } = edge;
4993
5057
  const { id, rawPayload, status } = gqlTransaction;
4994
- const [decodedTransaction] = new import_transactions20.TransactionCoder().decode((0, import_utils25.arrayify)(rawPayload), 0);
5058
+ const [decodedTransaction] = new import_transactions21.TransactionCoder().decode((0, import_utils25.arrayify)(rawPayload), 0);
4995
5059
  let txReceipts = [];
4996
5060
  if (gqlTransaction?.status && "receipts" in gqlTransaction.status) {
4997
5061
  txReceipts = gqlTransaction.status.receipts;
@@ -9070,7 +9134,7 @@ var StorageAbstract = class {
9070
9134
  var import_abi_coder7 = require("@fuel-ts/abi-coder");
9071
9135
  var import_address10 = require("@fuel-ts/address");
9072
9136
  var import_errors25 = require("@fuel-ts/errors");
9073
- var import_transactions21 = require("@fuel-ts/transactions");
9137
+ var import_transactions22 = require("@fuel-ts/transactions");
9074
9138
  var import_utils36 = require("@fuel-ts/utils");
9075
9139
 
9076
9140
  // src/predicate/utils/getPredicateRoot.ts
@@ -9129,10 +9193,15 @@ var Predicate = class extends Account {
9129
9193
  populateTransactionPredicateData(transactionRequestLike) {
9130
9194
  const request = transactionRequestify(transactionRequestLike);
9131
9195
  const { policies } = BaseTransactionRequest.getPolicyMeta(request);
9132
- request.inputs?.forEach((input) => {
9133
- if (input.type === import_transactions21.InputType.Coin && (0, import_utils36.hexlify)(input.owner) === this.address.toB256()) {
9196
+ const placeholderIndex = this.getIndexFromPlaceholderWitness(request);
9197
+ if (placeholderIndex !== -1) {
9198
+ request.removeWitness(placeholderIndex);
9199
+ }
9200
+ request.inputs.filter(isRequestInputResource).forEach((input) => {
9201
+ if (isRequestInputResourceFromOwner(input, this.address)) {
9134
9202
  input.predicate = (0, import_utils36.hexlify)(this.bytes);
9135
9203
  input.predicateData = (0, import_utils36.hexlify)(this.getPredicateData(policies.length));
9204
+ input.witnessIndex = 0;
9136
9205
  }
9137
9206
  });
9138
9207
  return request;
@@ -9162,7 +9231,7 @@ var Predicate = class extends Account {
9162
9231
  return new Uint8Array();
9163
9232
  }
9164
9233
  const mainFn = this.interface?.functions.main;
9165
- const paddedCode = new import_transactions21.ByteArrayCoder(this.bytes.length).encode(this.bytes);
9234
+ const paddedCode = new import_transactions22.ByteArrayCoder(this.bytes.length).encode(this.bytes);
9166
9235
  const VM_TX_MEMORY = (0, import_abi_coder7.calculateVmTxMemory)({
9167
9236
  maxInputs: this.provider.getChain().consensusParameters.maxInputs.toNumber()
9168
9237
  });
@@ -9255,6 +9324,28 @@ var Predicate = class extends Account {
9255
9324
  }
9256
9325
  return mutatedBytes;
9257
9326
  }
9327
+ /**
9328
+ * Returns the index of the witness placeholder that was added to this predicate.
9329
+ * If no witness placeholder was added, it returns -1.
9330
+ * @param request - The transaction request.
9331
+ * @returns The index of the witness placeholder, or -1 if there is no witness placeholder.
9332
+ */
9333
+ getIndexFromPlaceholderWitness(request) {
9334
+ const predicateInputs = request.inputs.filter(isRequestInputResource).filter((input) => isRequestInputResourceFromOwner(input, this.address));
9335
+ let index = -1;
9336
+ const hasEmptyPredicateInputs = predicateInputs.find((input) => !input.predicate);
9337
+ if (hasEmptyPredicateInputs) {
9338
+ index = hasEmptyPredicateInputs.witnessIndex;
9339
+ const allInputsAreEmpty = predicateInputs.every((input) => !input.predicate);
9340
+ if (!allInputsAreEmpty) {
9341
+ const wasFilledInputAddedFirst = !!predicateInputs[0]?.predicate;
9342
+ if (wasFilledInputAddedFirst) {
9343
+ index = -1;
9344
+ }
9345
+ }
9346
+ }
9347
+ return index;
9348
+ }
9258
9349
  };
9259
9350
 
9260
9351
  // src/connectors/fuel.ts
@@ -9978,6 +10069,7 @@ __publicField(Fuel, "defaultConfig", {});
9978
10069
  assets,
9979
10070
  buildBlockExplorerUrl,
9980
10071
  cacheFor,
10072
+ cacheResources,
9981
10073
  cacheTxInputsFromOwner,
9982
10074
  calculateGasFee,
9983
10075
  calculateMetadataGasForTxCreate,
@@ -10025,6 +10117,7 @@ __publicField(Fuel, "defaultConfig", {});
10025
10117
  getReceiptsMessageOut,
10026
10118
  getReceiptsTransferOut,
10027
10119
  getReceiptsWithMissingData,
10120
+ getRequestInputResourceOwner,
10028
10121
  getTransactionStatusName,
10029
10122
  getTransactionSummary,
10030
10123
  getTransactionSummaryFromRequest,
@@ -10038,6 +10131,10 @@ __publicField(Fuel, "defaultConfig", {});
10038
10131
  isMessage,
10039
10132
  isRawCoin,
10040
10133
  isRawMessage,
10134
+ isRequestInputCoin,
10135
+ isRequestInputMessage,
10136
+ isRequestInputResource,
10137
+ isRequestInputResourceFromOwner,
10041
10138
  isType,
10042
10139
  isTypeCreate,
10043
10140
  isTypeMint,