@fuel-ts/account 0.0.0-rc-1936-20240328132546 → 0.0.0-rc-1895-20240328133917

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.

package/dist/index.mjs CHANGED
@@ -30,9 +30,9 @@ var __privateMethod = (obj, member, method) => {
30
30
  // src/account.ts
31
31
  import { Address as Address3 } from "@fuel-ts/address";
32
32
  import { BaseAssetId as BaseAssetId3 } from "@fuel-ts/address/configs";
33
- import { ErrorCode as ErrorCode14, FuelError as FuelError14 } from "@fuel-ts/errors";
33
+ import { ErrorCode as ErrorCode15, FuelError as FuelError15 } from "@fuel-ts/errors";
34
34
  import { AbstractAccount } from "@fuel-ts/interfaces";
35
- import { bn as bn16 } from "@fuel-ts/math";
35
+ import { bn as bn17 } from "@fuel-ts/math";
36
36
  import { arrayify as arrayify14 } from "@fuel-ts/utils";
37
37
 
38
38
  // src/providers/coin-quantity.ts
@@ -73,8 +73,8 @@ var addAmountToAsset = (params) => {
73
73
 
74
74
  // src/providers/provider.ts
75
75
  import { Address as Address2 } from "@fuel-ts/address";
76
- import { ErrorCode as ErrorCode12, FuelError as FuelError12 } from "@fuel-ts/errors";
77
- import { BN, bn as bn14, max } from "@fuel-ts/math";
76
+ import { ErrorCode as ErrorCode13, FuelError as FuelError13 } from "@fuel-ts/errors";
77
+ import { BN, bn as bn15, max } from "@fuel-ts/math";
78
78
  import {
79
79
  InputType as InputType6,
80
80
  TransactionType as TransactionType8,
@@ -1157,7 +1157,7 @@ var outputify = (value) => {
1157
1157
  // src/providers/transaction-request/transaction-request.ts
1158
1158
  import { Address, addressify } from "@fuel-ts/address";
1159
1159
  import { BaseAssetId as BaseAssetId2, ZeroBytes32 as ZeroBytes324 } from "@fuel-ts/address/configs";
1160
- import { bn as bn6 } from "@fuel-ts/math";
1160
+ import { bn as bn7 } from "@fuel-ts/math";
1161
1161
  import {
1162
1162
  PolicyType,
1163
1163
  TransactionCoder,
@@ -1562,6 +1562,76 @@ function sleep(time) {
1562
1562
  });
1563
1563
  }
1564
1564
 
1565
+ // src/providers/utils/extract-tx-error.ts
1566
+ import { ErrorCode as ErrorCode7, FuelError as FuelError7 } from "@fuel-ts/errors";
1567
+ import { bn as bn6 } from "@fuel-ts/math";
1568
+ import { ReceiptType as ReceiptType3 } from "@fuel-ts/transactions";
1569
+ import {
1570
+ FAILED_REQUIRE_SIGNAL,
1571
+ FAILED_ASSERT_EQ_SIGNAL,
1572
+ FAILED_ASSERT_NE_SIGNAL,
1573
+ FAILED_ASSERT_SIGNAL,
1574
+ FAILED_TRANSFER_TO_ADDRESS_SIGNAL as FAILED_TRANSFER_TO_ADDRESS_SIGNAL2,
1575
+ PANIC_REASONS,
1576
+ PANIC_DOC_URL
1577
+ } from "@fuel-ts/transactions/configs";
1578
+ var assemblePanicError = (status) => {
1579
+ let errorMessage = `The transaction reverted with reason: "${status.reason}".`;
1580
+ if (PANIC_REASONS.includes(status.reason)) {
1581
+ errorMessage = `${errorMessage}
1582
+
1583
+ You can read more about this error at:
1584
+
1585
+ ${PANIC_DOC_URL}#variant.${status.reason}`;
1586
+ }
1587
+ return errorMessage;
1588
+ };
1589
+ var stringify = (obj) => JSON.stringify(obj, null, 2);
1590
+ var assembleRevertError = (receipts, logs) => {
1591
+ let errorMessage = "The transaction reverted with an unknown reason.";
1592
+ const revertReceipt = receipts.find(({ type }) => type === ReceiptType3.Revert);
1593
+ if (revertReceipt) {
1594
+ const reasonHex = bn6(revertReceipt.val).toHex();
1595
+ switch (reasonHex) {
1596
+ case FAILED_REQUIRE_SIGNAL: {
1597
+ errorMessage = `The transaction reverted because a "require" statement has thrown ${logs.length ? stringify(logs[0]) : "an error."}.`;
1598
+ break;
1599
+ }
1600
+ case FAILED_ASSERT_EQ_SIGNAL: {
1601
+ const sufix = logs.length >= 2 ? ` comparing ${stringify(logs[1])} and ${stringify(logs[0])}.` : ".";
1602
+ errorMessage = `The transaction reverted because of an "assert_eq" statement${sufix}`;
1603
+ break;
1604
+ }
1605
+ case FAILED_ASSERT_NE_SIGNAL: {
1606
+ const sufix = logs.length >= 2 ? ` comparing ${stringify(logs[1])} and ${stringify(logs[0])}.` : ".";
1607
+ errorMessage = `The transaction reverted because of an "assert_ne" statement${sufix}`;
1608
+ break;
1609
+ }
1610
+ case FAILED_ASSERT_SIGNAL:
1611
+ errorMessage = `The transaction reverted because an "assert" statement failed to evaluate to true.`;
1612
+ break;
1613
+ case FAILED_TRANSFER_TO_ADDRESS_SIGNAL2:
1614
+ errorMessage = `The transaction reverted because it's missing an "OutputChange".`;
1615
+ break;
1616
+ default:
1617
+ errorMessage = `The transaction reverted with an unknown reason: ${revertReceipt.val}`;
1618
+ }
1619
+ }
1620
+ return errorMessage;
1621
+ };
1622
+ var extractTxError = (params) => {
1623
+ const { receipts, status, logs } = params;
1624
+ const isPanic = receipts.some(({ type }) => type === ReceiptType3.Panic);
1625
+ let err = status?.type === "FailureStatus" && isPanic ? assemblePanicError(status) : assembleRevertError(receipts, logs);
1626
+ err += `
1627
+
1628
+ logs: ${JSON.stringify(logs, null, 2)}`;
1629
+ err += `
1630
+
1631
+ receipts: ${JSON.stringify(receipts, null, 2)}`;
1632
+ return new FuelError7(ErrorCode7.SCRIPT_REVERTED, err);
1633
+ };
1634
+
1565
1635
  // src/providers/transaction-request/errors.ts
1566
1636
  var ChangeOutputCollisionError = class extends Error {
1567
1637
  name = "ChangeOutputCollisionError";
@@ -1624,10 +1694,10 @@ var BaseTransactionRequest = class {
1624
1694
  outputs,
1625
1695
  witnesses
1626
1696
  } = {}) {
1627
- this.gasPrice = bn6(gasPrice);
1697
+ this.gasPrice = bn7(gasPrice);
1628
1698
  this.maturity = maturity ?? 0;
1629
- this.witnessLimit = witnessLimit ? bn6(witnessLimit) : void 0;
1630
- this.maxFee = maxFee ? bn6(maxFee) : void 0;
1699
+ this.witnessLimit = witnessLimit ? bn7(witnessLimit) : void 0;
1700
+ this.maxFee = maxFee ? bn7(maxFee) : void 0;
1631
1701
  this.inputs = inputs ?? [];
1632
1702
  this.outputs = outputs ?? [];
1633
1703
  this.witnesses = witnesses ?? [];
@@ -2057,13 +2127,13 @@ var BaseTransactionRequest = class {
2057
2127
  assetId,
2058
2128
  owner: resourcesOwner || Address.fromRandom(),
2059
2129
  maturity: 0,
2060
- blockCreated: bn6(1),
2061
- txCreatedIdx: bn6(1)
2130
+ blockCreated: bn7(1),
2131
+ txCreatedIdx: bn7(1)
2062
2132
  }
2063
2133
  ]);
2064
2134
  }
2065
2135
  };
2066
- updateAssetInput(BaseAssetId2, bn6(1e11));
2136
+ updateAssetInput(BaseAssetId2, bn7(1e11));
2067
2137
  quantities.forEach((q) => updateAssetInput(q.assetId, q.amount));
2068
2138
  }
2069
2139
  /**
@@ -2074,7 +2144,7 @@ var BaseTransactionRequest = class {
2074
2144
  */
2075
2145
  getCoinOutputsQuantities() {
2076
2146
  const coinsQuantities = this.getCoinOutputs().map(({ amount, assetId }) => ({
2077
- amount: bn6(amount),
2147
+ amount: bn7(amount),
2078
2148
  assetId: assetId.toString()
2079
2149
  }));
2080
2150
  return coinsQuantities;
@@ -2103,7 +2173,7 @@ var BaseTransactionRequest = class {
2103
2173
  default:
2104
2174
  return;
2105
2175
  }
2106
- if (correspondingInput && "predicateGasUsed" in correspondingInput && bn6(correspondingInput.predicateGasUsed).gt(0)) {
2176
+ if (correspondingInput && "predicateGasUsed" in correspondingInput && bn7(correspondingInput.predicateGasUsed).gt(0)) {
2107
2177
  i.predicate = correspondingInput.predicate;
2108
2178
  i.predicateData = correspondingInput.predicateData;
2109
2179
  i.predicateGasUsed = correspondingInput.predicateGasUsed;
@@ -2114,14 +2184,14 @@ var BaseTransactionRequest = class {
2114
2184
 
2115
2185
  // src/providers/transaction-request/create-transaction-request.ts
2116
2186
  import { ZeroBytes32 as ZeroBytes326 } from "@fuel-ts/address/configs";
2117
- import { bn as bn8 } from "@fuel-ts/math";
2187
+ import { bn as bn9 } from "@fuel-ts/math";
2118
2188
  import { TransactionType as TransactionType3, OutputType as OutputType4 } from "@fuel-ts/transactions";
2119
2189
  import { arrayify as arrayify6, hexlify as hexlify9 } from "@fuel-ts/utils";
2120
2190
 
2121
2191
  // src/providers/transaction-request/hash-transaction.ts
2122
2192
  import { ZeroBytes32 as ZeroBytes325 } from "@fuel-ts/address/configs";
2123
2193
  import { uint64ToBytesBE, sha256 } from "@fuel-ts/hasher";
2124
- import { bn as bn7 } from "@fuel-ts/math";
2194
+ import { bn as bn8 } from "@fuel-ts/math";
2125
2195
  import { TransactionType as TransactionType2, InputType as InputType3, OutputType as OutputType3, TransactionCoder as TransactionCoder2 } from "@fuel-ts/transactions";
2126
2196
  import { concat as concat2 } from "@fuel-ts/utils";
2127
2197
  import { clone as clone2 } from "ramda";
@@ -2138,11 +2208,11 @@ function hashTransaction(transactionRequest, chainId) {
2138
2208
  blockHeight: 0,
2139
2209
  txIndex: 0
2140
2210
  };
2141
- inputClone.predicateGasUsed = bn7(0);
2211
+ inputClone.predicateGasUsed = bn8(0);
2142
2212
  return inputClone;
2143
2213
  }
2144
2214
  case InputType3.Message: {
2145
- inputClone.predicateGasUsed = bn7(0);
2215
+ inputClone.predicateGasUsed = bn8(0);
2146
2216
  return inputClone;
2147
2217
  }
2148
2218
  case InputType3.Contract: {
@@ -2169,12 +2239,12 @@ function hashTransaction(transactionRequest, chainId) {
2169
2239
  return outputClone;
2170
2240
  }
2171
2241
  case OutputType3.Change: {
2172
- outputClone.amount = bn7(0);
2242
+ outputClone.amount = bn8(0);
2173
2243
  return outputClone;
2174
2244
  }
2175
2245
  case OutputType3.Variable: {
2176
2246
  outputClone.to = ZeroBytes325;
2177
- outputClone.amount = bn7(0);
2247
+ outputClone.amount = bn8(0);
2178
2248
  outputClone.assetId = ZeroBytes325;
2179
2249
  return outputClone;
2180
2250
  }
@@ -2298,7 +2368,7 @@ var CreateTransactionRequest = class extends BaseTransactionRequest {
2298
2368
  }
2299
2369
  metadataGas(gasCosts) {
2300
2370
  return calculateMetadataGasForTxCreate({
2301
- contractBytesSize: bn8(arrayify6(this.witnesses[this.bytecodeWitnessIndex] || "0x").length),
2371
+ contractBytesSize: bn9(arrayify6(this.witnesses[this.bytecodeWitnessIndex] || "0x").length),
2302
2372
  gasCosts,
2303
2373
  stateRootSize: this.storageSlots.length,
2304
2374
  txBytesSize: this.byteSize()
@@ -2310,7 +2380,7 @@ var CreateTransactionRequest = class extends BaseTransactionRequest {
2310
2380
  import { Interface } from "@fuel-ts/abi-coder";
2311
2381
  import { addressify as addressify2 } from "@fuel-ts/address";
2312
2382
  import { ZeroBytes32 as ZeroBytes327 } from "@fuel-ts/address/configs";
2313
- import { bn as bn9 } from "@fuel-ts/math";
2383
+ import { bn as bn10 } from "@fuel-ts/math";
2314
2384
  import { InputType as InputType4, OutputType as OutputType5, TransactionType as TransactionType4 } from "@fuel-ts/transactions";
2315
2385
  import { arrayify as arrayify8, hexlify as hexlify10 } from "@fuel-ts/utils";
2316
2386
 
@@ -2356,6 +2426,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
2356
2426
  script;
2357
2427
  /** Script input data (parameters) */
2358
2428
  scriptData;
2429
+ abis;
2359
2430
  /**
2360
2431
  * Constructor for `ScriptTransactionRequest`.
2361
2432
  *
@@ -2363,9 +2434,10 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
2363
2434
  */
2364
2435
  constructor({ script, scriptData, gasLimit, ...rest } = {}) {
2365
2436
  super(rest);
2366
- this.gasLimit = bn9(gasLimit);
2437
+ this.gasLimit = bn10(gasLimit);
2367
2438
  this.script = arrayify8(script ?? returnZeroScript.bytes);
2368
2439
  this.scriptData = arrayify8(scriptData ?? returnZeroScript.encodeScriptData());
2440
+ this.abis = rest.abis;
2369
2441
  }
2370
2442
  /**
2371
2443
  * Converts the transaction request to a `TransactionScript`.
@@ -2510,7 +2582,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
2510
2582
  };
2511
2583
 
2512
2584
  // src/providers/transaction-request/utils.ts
2513
- import { ErrorCode as ErrorCode7, FuelError as FuelError7 } from "@fuel-ts/errors";
2585
+ import { ErrorCode as ErrorCode8, FuelError as FuelError8 } from "@fuel-ts/errors";
2514
2586
  import { TransactionType as TransactionType5 } from "@fuel-ts/transactions";
2515
2587
  var transactionRequestify = (obj) => {
2516
2588
  if (obj instanceof ScriptTransactionRequest || obj instanceof CreateTransactionRequest) {
@@ -2525,14 +2597,14 @@ var transactionRequestify = (obj) => {
2525
2597
  return CreateTransactionRequest.from(obj);
2526
2598
  }
2527
2599
  default: {
2528
- throw new FuelError7(ErrorCode7.INVALID_TRANSACTION_TYPE, `Invalid transaction type: ${type}.`);
2600
+ throw new FuelError8(ErrorCode8.INVALID_TRANSACTION_TYPE, `Invalid transaction type: ${type}.`);
2529
2601
  }
2530
2602
  }
2531
2603
  };
2532
2604
 
2533
2605
  // src/providers/transaction-response/transaction-response.ts
2534
- import { ErrorCode as ErrorCode11, FuelError as FuelError11 } from "@fuel-ts/errors";
2535
- import { bn as bn13 } from "@fuel-ts/math";
2606
+ import { ErrorCode as ErrorCode12, FuelError as FuelError12 } from "@fuel-ts/errors";
2607
+ import { bn as bn14 } from "@fuel-ts/math";
2536
2608
  import { TransactionCoder as TransactionCoder4 } from "@fuel-ts/transactions";
2537
2609
  import { arrayify as arrayify10 } from "@fuel-ts/utils";
2538
2610
 
@@ -2540,7 +2612,7 @@ import { arrayify as arrayify10 } from "@fuel-ts/utils";
2540
2612
  import { DateTime, hexlify as hexlify11 } from "@fuel-ts/utils";
2541
2613
 
2542
2614
  // src/providers/transaction-summary/calculate-transaction-fee.ts
2543
- import { bn as bn10 } from "@fuel-ts/math";
2615
+ import { bn as bn11 } from "@fuel-ts/math";
2544
2616
  import { PolicyType as PolicyType2, TransactionCoder as TransactionCoder3, TransactionType as TransactionType6 } from "@fuel-ts/transactions";
2545
2617
  import { arrayify as arrayify9 } from "@fuel-ts/utils";
2546
2618
  var calculateTransactionFee = (params) => {
@@ -2549,24 +2621,24 @@ var calculateTransactionFee = (params) => {
2549
2621
  rawPayload,
2550
2622
  consensusParameters: { gasCosts, feeParams }
2551
2623
  } = params;
2552
- const gasPerByte = bn10(feeParams.gasPerByte);
2553
- const gasPriceFactor = bn10(feeParams.gasPriceFactor);
2624
+ const gasPerByte = bn11(feeParams.gasPerByte);
2625
+ const gasPriceFactor = bn11(feeParams.gasPriceFactor);
2554
2626
  const transactionBytes = arrayify9(rawPayload);
2555
2627
  const [transaction] = new TransactionCoder3().decode(transactionBytes, 0);
2556
2628
  if (transaction.type === TransactionType6.Mint) {
2557
2629
  return {
2558
- fee: bn10(0),
2559
- minFee: bn10(0),
2560
- maxFee: bn10(0),
2561
- feeFromGasUsed: bn10(0)
2630
+ fee: bn11(0),
2631
+ minFee: bn11(0),
2632
+ maxFee: bn11(0),
2633
+ feeFromGasUsed: bn11(0)
2562
2634
  };
2563
2635
  }
2564
2636
  const { type, witnesses, inputs, policies } = transaction;
2565
- let metadataGas = bn10(0);
2566
- let gasLimit = bn10(0);
2637
+ let metadataGas = bn11(0);
2638
+ let gasLimit = bn11(0);
2567
2639
  if (type === TransactionType6.Create) {
2568
2640
  const { bytecodeWitnessIndex, storageSlots } = transaction;
2569
- const contractBytesSize = bn10(arrayify9(witnesses[bytecodeWitnessIndex].data).length);
2641
+ const contractBytesSize = bn11(arrayify9(witnesses[bytecodeWitnessIndex].data).length);
2570
2642
  metadataGas = calculateMetadataGasForTxCreate({
2571
2643
  contractBytesSize,
2572
2644
  gasCosts,
@@ -2585,12 +2657,12 @@ var calculateTransactionFee = (params) => {
2585
2657
  }
2586
2658
  const minGas = getMinGas({
2587
2659
  gasCosts,
2588
- gasPerByte: bn10(gasPerByte),
2660
+ gasPerByte: bn11(gasPerByte),
2589
2661
  inputs,
2590
2662
  metadataGas,
2591
2663
  txBytesSize: transactionBytes.length
2592
2664
  });
2593
- const gasPrice = bn10(policies.find((policy) => policy.type === PolicyType2.GasPrice)?.data);
2665
+ const gasPrice = bn11(policies.find((policy) => policy.type === PolicyType2.GasPrice)?.data);
2594
2666
  const witnessLimit = policies.find((policy) => policy.type === PolicyType2.WitnessLimit)?.data;
2595
2667
  const witnessesLength = witnesses.reduce((acc, wit) => acc + wit.dataLength, 0);
2596
2668
  const maxGas = getMaxGas({
@@ -2614,13 +2686,13 @@ var calculateTransactionFee = (params) => {
2614
2686
 
2615
2687
  // src/providers/transaction-summary/operations.ts
2616
2688
  import { ZeroBytes32 as ZeroBytes328 } from "@fuel-ts/address/configs";
2617
- import { ErrorCode as ErrorCode9, FuelError as FuelError9 } from "@fuel-ts/errors";
2618
- import { bn as bn12 } from "@fuel-ts/math";
2619
- import { ReceiptType as ReceiptType3, TransactionType as TransactionType7 } from "@fuel-ts/transactions";
2689
+ import { ErrorCode as ErrorCode10, FuelError as FuelError10 } from "@fuel-ts/errors";
2690
+ import { bn as bn13 } from "@fuel-ts/math";
2691
+ import { ReceiptType as ReceiptType4, TransactionType as TransactionType7 } from "@fuel-ts/transactions";
2620
2692
 
2621
2693
  // src/providers/transaction-summary/call.ts
2622
2694
  import { Interface as Interface2, calculateVmTxMemory } from "@fuel-ts/abi-coder";
2623
- import { bn as bn11 } from "@fuel-ts/math";
2695
+ import { bn as bn12 } from "@fuel-ts/math";
2624
2696
  var getFunctionCall = ({ abi, receipt, rawPayload, maxInputs }) => {
2625
2697
  const abiInterface = new Interface2(abi);
2626
2698
  const callFunctionSelector = receipt.param1.toHex(8);
@@ -2629,7 +2701,7 @@ var getFunctionCall = ({ abi, receipt, rawPayload, maxInputs }) => {
2629
2701
  let encodedArgs;
2630
2702
  if (functionFragment.isInputDataPointer) {
2631
2703
  if (rawPayload) {
2632
- const argsOffset = bn11(receipt.param2).sub(calculateVmTxMemory({ maxInputs: maxInputs.toNumber() })).toNumber();
2704
+ const argsOffset = bn12(receipt.param2).sub(calculateVmTxMemory({ maxInputs: maxInputs.toNumber() })).toNumber();
2633
2705
  encodedArgs = `0x${rawPayload.slice(2).slice(argsOffset * 2)}`;
2634
2706
  }
2635
2707
  } else {
@@ -2663,7 +2735,7 @@ var getFunctionCall = ({ abi, receipt, rawPayload, maxInputs }) => {
2663
2735
  };
2664
2736
 
2665
2737
  // src/providers/transaction-summary/input.ts
2666
- import { ErrorCode as ErrorCode8, FuelError as FuelError8 } from "@fuel-ts/errors";
2738
+ import { ErrorCode as ErrorCode9, FuelError as FuelError9 } from "@fuel-ts/errors";
2667
2739
  import { InputType as InputType5 } from "@fuel-ts/transactions";
2668
2740
  function getInputsByTypes(inputs, types) {
2669
2741
  return inputs.filter((i) => types.includes(i.type));
@@ -2701,8 +2773,8 @@ function getInputContractFromIndex(inputs, inputIndex) {
2701
2773
  return void 0;
2702
2774
  }
2703
2775
  if (contractInput.type !== InputType5.Contract) {
2704
- throw new FuelError8(
2705
- ErrorCode8.INVALID_TRANSACTION_INPUT,
2776
+ throw new FuelError9(
2777
+ ErrorCode9.INVALID_TRANSACTION_INPUT,
2706
2778
  `Contract input should be of type 'contract'.`
2707
2779
  );
2708
2780
  }
@@ -2790,8 +2862,8 @@ function getTransactionTypeName(transactionType) {
2790
2862
  case TransactionType7.Script:
2791
2863
  return "Script" /* Script */;
2792
2864
  default:
2793
- throw new FuelError9(
2794
- ErrorCode9.INVALID_TRANSACTION_TYPE,
2865
+ throw new FuelError10(
2866
+ ErrorCode10.INVALID_TRANSACTION_TYPE,
2795
2867
  `Invalid transaction type: ${transactionType}.`
2796
2868
  );
2797
2869
  }
@@ -2813,10 +2885,10 @@ function hasSameAssetId(a) {
2813
2885
  return (b) => a.assetId === b.assetId;
2814
2886
  }
2815
2887
  function getReceiptsCall(receipts) {
2816
- return getReceiptsByType(receipts, ReceiptType3.Call);
2888
+ return getReceiptsByType(receipts, ReceiptType4.Call);
2817
2889
  }
2818
2890
  function getReceiptsMessageOut(receipts) {
2819
- return getReceiptsByType(receipts, ReceiptType3.MessageOut);
2891
+ return getReceiptsByType(receipts, ReceiptType4.MessageOut);
2820
2892
  }
2821
2893
  var mergeAssets = (op1, op2) => {
2822
2894
  const assets1 = op1.assetsSent || [];
@@ -2829,7 +2901,7 @@ var mergeAssets = (op1, op2) => {
2829
2901
  if (!matchingAsset) {
2830
2902
  return asset1;
2831
2903
  }
2832
- const mergedAmount = bn12(asset1.amount).add(matchingAsset.amount);
2904
+ const mergedAmount = bn13(asset1.amount).add(matchingAsset.amount);
2833
2905
  return { ...asset1, amount: mergedAmount };
2834
2906
  });
2835
2907
  return mergedAssets.concat(filteredAssets);
@@ -2855,7 +2927,7 @@ function addOperation(operations, toAdd) {
2855
2927
  return allOperations;
2856
2928
  }
2857
2929
  function getReceiptsTransferOut(receipts) {
2858
- return getReceiptsByType(receipts, ReceiptType3.TransferOut);
2930
+ return getReceiptsByType(receipts, ReceiptType4.TransferOut);
2859
2931
  }
2860
2932
  function getWithdrawFromFuelOperations({
2861
2933
  inputs,
@@ -3015,11 +3087,11 @@ function getTransferOperations({
3015
3087
  });
3016
3088
  const transferReceipts = getReceiptsByType(
3017
3089
  receipts,
3018
- ReceiptType3.Transfer
3090
+ ReceiptType4.Transfer
3019
3091
  );
3020
3092
  const transferOutReceipts = getReceiptsByType(
3021
3093
  receipts,
3022
- ReceiptType3.TransferOut
3094
+ ReceiptType4.TransferOut
3023
3095
  );
3024
3096
  [...transferReceipts, ...transferOutReceipts].forEach((receipt) => {
3025
3097
  const operation = extractTransferOperationFromReceipt(receipt, contractInputs, changeOutputs);
@@ -3104,17 +3176,17 @@ function getOperations({
3104
3176
  }
3105
3177
 
3106
3178
  // src/providers/transaction-summary/receipt.ts
3107
- import { ReceiptType as ReceiptType4 } from "@fuel-ts/transactions";
3179
+ import { ReceiptType as ReceiptType5 } from "@fuel-ts/transactions";
3108
3180
  var processGqlReceipt = (gqlReceipt) => {
3109
3181
  const receipt = assembleReceiptByType(gqlReceipt);
3110
3182
  switch (receipt.type) {
3111
- case ReceiptType4.ReturnData: {
3183
+ case ReceiptType5.ReturnData: {
3112
3184
  return {
3113
3185
  ...receipt,
3114
3186
  data: gqlReceipt.data || "0x"
3115
3187
  };
3116
3188
  }
3117
- case ReceiptType4.LogData: {
3189
+ case ReceiptType5.LogData: {
3118
3190
  return {
3119
3191
  ...receipt,
3120
3192
  data: gqlReceipt.data || "0x"
@@ -3127,7 +3199,7 @@ var processGqlReceipt = (gqlReceipt) => {
3127
3199
  var extractMintedAssetsFromReceipts = (receipts) => {
3128
3200
  const mintedAssets = [];
3129
3201
  receipts.forEach((receipt) => {
3130
- if (receipt.type === ReceiptType4.Mint) {
3202
+ if (receipt.type === ReceiptType5.Mint) {
3131
3203
  mintedAssets.push({
3132
3204
  subId: receipt.subId,
3133
3205
  contractId: receipt.contractId,
@@ -3141,7 +3213,7 @@ var extractMintedAssetsFromReceipts = (receipts) => {
3141
3213
  var extractBurnedAssetsFromReceipts = (receipts) => {
3142
3214
  const burnedAssets = [];
3143
3215
  receipts.forEach((receipt) => {
3144
- if (receipt.type === ReceiptType4.Burn) {
3216
+ if (receipt.type === ReceiptType5.Burn) {
3145
3217
  burnedAssets.push({
3146
3218
  subId: receipt.subId,
3147
3219
  contractId: receipt.contractId,
@@ -3154,7 +3226,7 @@ var extractBurnedAssetsFromReceipts = (receipts) => {
3154
3226
  };
3155
3227
 
3156
3228
  // src/providers/transaction-summary/status.ts
3157
- import { ErrorCode as ErrorCode10, FuelError as FuelError10 } from "@fuel-ts/errors";
3229
+ import { ErrorCode as ErrorCode11, FuelError as FuelError11 } from "@fuel-ts/errors";
3158
3230
  var getTransactionStatusName = (gqlStatus) => {
3159
3231
  switch (gqlStatus) {
3160
3232
  case "FailureStatus":
@@ -3166,8 +3238,8 @@ var getTransactionStatusName = (gqlStatus) => {
3166
3238
  case "SqueezedOutStatus":
3167
3239
  return "squeezedout" /* squeezedout */;
3168
3240
  default:
3169
- throw new FuelError10(
3170
- ErrorCode10.INVALID_TRANSACTION_STATUS,
3241
+ throw new FuelError11(
3242
+ ErrorCode11.INVALID_TRANSACTION_STATUS,
3171
3243
  `Invalid transaction status: ${gqlStatus}.`
3172
3244
  );
3173
3245
  }
@@ -3278,6 +3350,21 @@ function assembleTransactionSummary(params) {
3278
3350
  return transactionSummary;
3279
3351
  }
3280
3352
 
3353
+ // src/providers/transaction-response/getDecodedLogs.ts
3354
+ import { Interface as Interface3, BigNumberCoder } from "@fuel-ts/abi-coder";
3355
+ import { ReceiptType as ReceiptType6 } from "@fuel-ts/transactions";
3356
+ function getDecodedLogs(receipts, mainAbi, externalAbis = {}) {
3357
+ return receipts.reduce((logs, receipt) => {
3358
+ if (receipt.type === ReceiptType6.LogData || receipt.type === ReceiptType6.Log) {
3359
+ const interfaceToUse = new Interface3(externalAbis[receipt.id] || mainAbi);
3360
+ const data = receipt.type === ReceiptType6.Log ? new BigNumberCoder("u64").encode(receipt.val0) : receipt.data;
3361
+ const [decodedLog] = interfaceToUse.decodeLog(data, receipt.val1.toNumber());
3362
+ logs.push(decodedLog);
3363
+ }
3364
+ return logs;
3365
+ }, []);
3366
+ }
3367
+
3281
3368
  // src/providers/transaction-response/transaction-response.ts
3282
3369
  var TransactionResponse = class {
3283
3370
  /** Transaction ID */
@@ -3285,18 +3372,20 @@ var TransactionResponse = class {
3285
3372
  /** Current provider */
3286
3373
  provider;
3287
3374
  /** Gas used on the transaction */
3288
- gasUsed = bn13(0);
3375
+ gasUsed = bn14(0);
3289
3376
  /** The graphql Transaction with receipts object. */
3290
3377
  gqlTransaction;
3378
+ abis;
3291
3379
  /**
3292
3380
  * Constructor for `TransactionResponse`.
3293
3381
  *
3294
3382
  * @param id - The transaction ID.
3295
3383
  * @param provider - The provider.
3296
3384
  */
3297
- constructor(id, provider) {
3385
+ constructor(id, provider, abis) {
3298
3386
  this.id = id;
3299
3387
  this.provider = provider;
3388
+ this.abis = abis;
3300
3389
  }
3301
3390
  /**
3302
3391
  * Async constructor for `TransactionResponse`. This method can be used to create
@@ -3306,8 +3395,8 @@ var TransactionResponse = class {
3306
3395
  * @param id - The transaction ID.
3307
3396
  * @param provider - The provider.
3308
3397
  */
3309
- static async create(id, provider) {
3310
- const response = new TransactionResponse(id, provider);
3398
+ static async create(id, provider, abis) {
3399
+ const response = new TransactionResponse(id, provider, abis);
3311
3400
  await response.fetch();
3312
3401
  return response;
3313
3402
  }
@@ -3388,8 +3477,8 @@ var TransactionResponse = class {
3388
3477
  });
3389
3478
  for await (const { statusChange } of subscription) {
3390
3479
  if (statusChange.type === "SqueezedOutStatus") {
3391
- throw new FuelError11(
3392
- ErrorCode11.TRANSACTION_SQUEEZED_OUT,
3480
+ throw new FuelError12(
3481
+ ErrorCode12.TRANSACTION_SQUEEZED_OUT,
3393
3482
  `Transaction Squeezed Out with reason: ${statusChange.reason}`
3394
3483
  );
3395
3484
  }
@@ -3411,6 +3500,26 @@ var TransactionResponse = class {
3411
3500
  gqlTransaction: this.gqlTransaction,
3412
3501
  ...transactionSummary
3413
3502
  };
3503
+ let logs = [];
3504
+ if (this.abis) {
3505
+ logs = getDecodedLogs(
3506
+ transactionSummary.receipts,
3507
+ this.abis.main,
3508
+ this.abis.otherContractsAbis
3509
+ );
3510
+ transactionResult.logs = logs;
3511
+ }
3512
+ if (transactionResult.isStatusFailure) {
3513
+ const {
3514
+ receipts,
3515
+ gqlTransaction: { status }
3516
+ } = transactionResult;
3517
+ throw extractTxError({
3518
+ receipts,
3519
+ status,
3520
+ logs
3521
+ });
3522
+ }
3414
3523
  return transactionResult;
3415
3524
  }
3416
3525
  /**
@@ -3419,32 +3528,10 @@ var TransactionResponse = class {
3419
3528
  * @param contractsAbiMap - The contracts ABI map.
3420
3529
  */
3421
3530
  async wait(contractsAbiMap) {
3422
- const result = await this.waitForResult(contractsAbiMap);
3423
- if (result.isStatusFailure) {
3424
- throw new FuelError11(
3425
- ErrorCode11.TRANSACTION_FAILED,
3426
- `Transaction failed: ${result.gqlTransaction.status.reason}`
3427
- );
3428
- }
3429
- return result;
3531
+ return this.waitForResult(contractsAbiMap);
3430
3532
  }
3431
3533
  };
3432
3534
 
3433
- // src/providers/transaction-response/getDecodedLogs.ts
3434
- import { Interface as Interface3, BigNumberCoder } from "@fuel-ts/abi-coder";
3435
- import { ReceiptType as ReceiptType5 } from "@fuel-ts/transactions";
3436
- function getDecodedLogs(receipts, mainAbi, externalAbis = {}) {
3437
- return receipts.reduce((logs, receipt) => {
3438
- if (receipt.type === ReceiptType5.LogData || receipt.type === ReceiptType5.Log) {
3439
- const interfaceToUse = externalAbis[receipt.id] ? new Interface3(externalAbis[receipt.id]) : new Interface3(mainAbi);
3440
- const data = receipt.type === ReceiptType5.Log ? new BigNumberCoder("u64").encode(receipt.val0) : receipt.data;
3441
- const [decodedLog] = interfaceToUse.decodeLog(data, receipt.val1.toNumber());
3442
- logs.push(decodedLog);
3443
- }
3444
- return logs;
3445
- }, []);
3446
- }
3447
-
3448
3535
  // src/providers/utils/auto-retry-fetch.ts
3449
3536
  function getWaitDelay(options, retryAttemptNum) {
3450
3537
  const duration = options.baseDelay ?? 150;
@@ -3503,29 +3590,29 @@ var processGqlChain = (chain) => {
3503
3590
  const { contractParams, feeParams, predicateParams, scriptParams, txParams, gasCosts } = consensusParameters;
3504
3591
  return {
3505
3592
  name,
3506
- baseChainHeight: bn14(daHeight),
3593
+ baseChainHeight: bn15(daHeight),
3507
3594
  consensusParameters: {
3508
- contractMaxSize: bn14(contractParams.contractMaxSize),
3509
- maxInputs: bn14(txParams.maxInputs),
3510
- maxOutputs: bn14(txParams.maxOutputs),
3511
- maxWitnesses: bn14(txParams.maxWitnesses),
3512
- maxGasPerTx: bn14(txParams.maxGasPerTx),
3513
- maxScriptLength: bn14(scriptParams.maxScriptLength),
3514
- maxScriptDataLength: bn14(scriptParams.maxScriptDataLength),
3515
- maxStorageSlots: bn14(contractParams.maxStorageSlots),
3516
- maxPredicateLength: bn14(predicateParams.maxPredicateLength),
3517
- maxPredicateDataLength: bn14(predicateParams.maxPredicateDataLength),
3518
- maxGasPerPredicate: bn14(predicateParams.maxGasPerPredicate),
3519
- gasPriceFactor: bn14(feeParams.gasPriceFactor),
3520
- gasPerByte: bn14(feeParams.gasPerByte),
3521
- maxMessageDataLength: bn14(predicateParams.maxMessageDataLength),
3522
- chainId: bn14(consensusParameters.chainId),
3595
+ contractMaxSize: bn15(contractParams.contractMaxSize),
3596
+ maxInputs: bn15(txParams.maxInputs),
3597
+ maxOutputs: bn15(txParams.maxOutputs),
3598
+ maxWitnesses: bn15(txParams.maxWitnesses),
3599
+ maxGasPerTx: bn15(txParams.maxGasPerTx),
3600
+ maxScriptLength: bn15(scriptParams.maxScriptLength),
3601
+ maxScriptDataLength: bn15(scriptParams.maxScriptDataLength),
3602
+ maxStorageSlots: bn15(contractParams.maxStorageSlots),
3603
+ maxPredicateLength: bn15(predicateParams.maxPredicateLength),
3604
+ maxPredicateDataLength: bn15(predicateParams.maxPredicateDataLength),
3605
+ maxGasPerPredicate: bn15(predicateParams.maxGasPerPredicate),
3606
+ gasPriceFactor: bn15(feeParams.gasPriceFactor),
3607
+ gasPerByte: bn15(feeParams.gasPerByte),
3608
+ maxMessageDataLength: bn15(predicateParams.maxMessageDataLength),
3609
+ chainId: bn15(consensusParameters.chainId),
3523
3610
  gasCosts
3524
3611
  },
3525
3612
  gasCosts,
3526
3613
  latestBlock: {
3527
3614
  id: latestBlock.id,
3528
- height: bn14(latestBlock.header.height),
3615
+ height: bn15(latestBlock.header.height),
3529
3616
  time: latestBlock.header.time,
3530
3617
  transactions: latestBlock.transactions.map((i) => ({
3531
3618
  id: i.id
@@ -3595,8 +3682,8 @@ var _Provider = class {
3595
3682
  getChain() {
3596
3683
  const chain = _Provider.chainInfoCache[this.url];
3597
3684
  if (!chain) {
3598
- throw new FuelError12(
3599
- ErrorCode12.CHAIN_INFO_CACHE_EMPTY,
3685
+ throw new FuelError13(
3686
+ ErrorCode13.CHAIN_INFO_CACHE_EMPTY,
3600
3687
  "Chain info cache is empty. Make sure you have called `Provider.create` to initialize the provider."
3601
3688
  );
3602
3689
  }
@@ -3608,8 +3695,8 @@ var _Provider = class {
3608
3695
  getNode() {
3609
3696
  const node = _Provider.nodeInfoCache[this.url];
3610
3697
  if (!node) {
3611
- throw new FuelError12(
3612
- ErrorCode12.NODE_INFO_CACHE_EMPTY,
3698
+ throw new FuelError13(
3699
+ ErrorCode13.NODE_INFO_CACHE_EMPTY,
3613
3700
  "Node info cache is empty. Make sure you have called `Provider.create` to initialize the provider."
3614
3701
  );
3615
3702
  }
@@ -3656,8 +3743,8 @@ var _Provider = class {
3656
3743
  static ensureClientVersionIsSupported(nodeInfo) {
3657
3744
  const { isMajorSupported, isMinorSupported, supportedVersion } = checkFuelCoreVersionCompatibility(nodeInfo.nodeVersion);
3658
3745
  if (!isMajorSupported || !isMinorSupported) {
3659
- throw new FuelError12(
3660
- FuelError12.CODES.UNSUPPORTED_FUEL_CLIENT_VERSION,
3746
+ throw new FuelError13(
3747
+ FuelError13.CODES.UNSUPPORTED_FUEL_CLIENT_VERSION,
3661
3748
  `Fuel client version: ${nodeInfo.nodeVersion}, Supported version: ${supportedVersion}`
3662
3749
  );
3663
3750
  }
@@ -3720,7 +3807,7 @@ var _Provider = class {
3720
3807
  */
3721
3808
  async getBlockNumber() {
3722
3809
  const { chain } = await this.operations.getChain();
3723
- return bn14(chain.latestBlock.header.height, 10);
3810
+ return bn15(chain.latestBlock.header.height, 10);
3724
3811
  }
3725
3812
  /**
3726
3813
  * Returns the chain information.
@@ -3730,9 +3817,9 @@ var _Provider = class {
3730
3817
  async fetchNode() {
3731
3818
  const { nodeInfo } = await this.operations.getNodeInfo();
3732
3819
  const processedNodeInfo = {
3733
- maxDepth: bn14(nodeInfo.maxDepth),
3734
- maxTx: bn14(nodeInfo.maxTx),
3735
- minGasPrice: bn14(nodeInfo.minGasPrice),
3820
+ maxDepth: bn15(nodeInfo.maxDepth),
3821
+ maxTx: bn15(nodeInfo.maxTx),
3822
+ minGasPrice: bn15(nodeInfo.minGasPrice),
3736
3823
  nodeVersion: nodeInfo.nodeVersion,
3737
3824
  utxoValidation: nodeInfo.utxoValidation,
3738
3825
  vmBacktrace: nodeInfo.vmBacktrace,
@@ -3779,12 +3866,16 @@ var _Provider = class {
3779
3866
  await this.estimateTxDependencies(transactionRequest);
3780
3867
  }
3781
3868
  const encodedTransaction = hexlify12(transactionRequest.toTransactionBytes());
3869
+ let abis;
3870
+ if (transactionRequest.type === TransactionType8.Script) {
3871
+ abis = transactionRequest.abis;
3872
+ }
3782
3873
  if (awaitExecution) {
3783
3874
  const subscription = this.operations.submitAndAwait({ encodedTransaction });
3784
3875
  for await (const { submitAndAwait } of subscription) {
3785
3876
  if (submitAndAwait.type === "SqueezedOutStatus") {
3786
- throw new FuelError12(
3787
- ErrorCode12.TRANSACTION_SQUEEZED_OUT,
3877
+ throw new FuelError13(
3878
+ ErrorCode13.TRANSACTION_SQUEEZED_OUT,
3788
3879
  `Transaction Squeezed Out with reason: ${submitAndAwait.reason}`
3789
3880
  );
3790
3881
  }
@@ -3793,14 +3884,14 @@ var _Provider = class {
3793
3884
  }
3794
3885
  }
3795
3886
  const transactionId2 = transactionRequest.getTransactionId(this.getChainId());
3796
- const response = new TransactionResponse(transactionId2, this);
3887
+ const response = new TransactionResponse(transactionId2, this, abis);
3797
3888
  await response.fetch();
3798
3889
  return response;
3799
3890
  }
3800
3891
  const {
3801
3892
  submit: { id: transactionId }
3802
3893
  } = await this.operations.submit({ encodedTransaction });
3803
- return new TransactionResponse(transactionId, this);
3894
+ return new TransactionResponse(transactionId, this, abis);
3804
3895
  }
3805
3896
  /**
3806
3897
  * Executes a transaction without actually submitting it to the chain.
@@ -3851,7 +3942,7 @@ var _Provider = class {
3851
3942
  } = response;
3852
3943
  if (inputs) {
3853
3944
  inputs.forEach((input, index) => {
3854
- if ("predicateGasUsed" in input && bn14(input.predicateGasUsed).gt(0)) {
3945
+ if ("predicateGasUsed" in input && bn15(input.predicateGasUsed).gt(0)) {
3855
3946
  transactionRequest.inputs[index].predicateGasUsed = input.predicateGasUsed;
3856
3947
  }
3857
3948
  });
@@ -3964,7 +4055,7 @@ var _Provider = class {
3964
4055
  txRequestClone.fundWithFakeUtxos(allQuantities, resourcesOwner?.address);
3965
4056
  if (estimatePredicates) {
3966
4057
  if (isScriptTransaction) {
3967
- txRequestClone.gasLimit = bn14(0);
4058
+ txRequestClone.gasLimit = bn15(0);
3968
4059
  }
3969
4060
  if (resourcesOwner && "populateTransactionPredicateData" in resourcesOwner) {
3970
4061
  resourcesOwner.populateTransactionPredicateData(txRequestClone);
@@ -3980,8 +4071,8 @@ var _Provider = class {
3980
4071
  let missingContractIds = [];
3981
4072
  let outputVariables = 0;
3982
4073
  if (isScriptTransaction && estimateTxDependencies) {
3983
- txRequestClone.gasPrice = bn14(0);
3984
- txRequestClone.gasLimit = bn14(maxGasPerTx.sub(maxGas).toNumber() * 0.9);
4074
+ txRequestClone.gasPrice = bn15(0);
4075
+ txRequestClone.gasLimit = bn15(maxGasPerTx.sub(maxGas).toNumber() * 0.9);
3985
4076
  const result = await this.estimateTxDependencies(txRequestClone);
3986
4077
  receipts = result.receipts;
3987
4078
  outputVariables = result.outputVariables;
@@ -4043,11 +4134,11 @@ var _Provider = class {
4043
4134
  return coins.map((coin) => ({
4044
4135
  id: coin.utxoId,
4045
4136
  assetId: coin.assetId,
4046
- amount: bn14(coin.amount),
4137
+ amount: bn15(coin.amount),
4047
4138
  owner: Address2.fromAddressOrString(coin.owner),
4048
- maturity: bn14(coin.maturity).toNumber(),
4049
- blockCreated: bn14(coin.blockCreated),
4050
- txCreatedIdx: bn14(coin.txCreatedIdx)
4139
+ maturity: bn15(coin.maturity).toNumber(),
4140
+ blockCreated: bn15(coin.blockCreated),
4141
+ txCreatedIdx: bn15(coin.txCreatedIdx)
4051
4142
  }));
4052
4143
  }
4053
4144
  /**
@@ -4084,9 +4175,9 @@ var _Provider = class {
4084
4175
  switch (coin.__typename) {
4085
4176
  case "MessageCoin":
4086
4177
  return {
4087
- amount: bn14(coin.amount),
4178
+ amount: bn15(coin.amount),
4088
4179
  assetId: coin.assetId,
4089
- daHeight: bn14(coin.daHeight),
4180
+ daHeight: bn15(coin.daHeight),
4090
4181
  sender: Address2.fromAddressOrString(coin.sender),
4091
4182
  recipient: Address2.fromAddressOrString(coin.recipient),
4092
4183
  nonce: coin.nonce
@@ -4094,12 +4185,12 @@ var _Provider = class {
4094
4185
  case "Coin":
4095
4186
  return {
4096
4187
  id: coin.utxoId,
4097
- amount: bn14(coin.amount),
4188
+ amount: bn15(coin.amount),
4098
4189
  assetId: coin.assetId,
4099
4190
  owner: Address2.fromAddressOrString(coin.owner),
4100
- maturity: bn14(coin.maturity).toNumber(),
4101
- blockCreated: bn14(coin.blockCreated),
4102
- txCreatedIdx: bn14(coin.txCreatedIdx)
4191
+ maturity: bn15(coin.maturity).toNumber(),
4192
+ blockCreated: bn15(coin.blockCreated),
4193
+ txCreatedIdx: bn15(coin.txCreatedIdx)
4103
4194
  };
4104
4195
  default:
4105
4196
  return null;
@@ -4116,13 +4207,13 @@ var _Provider = class {
4116
4207
  async getBlock(idOrHeight) {
4117
4208
  let variables;
4118
4209
  if (typeof idOrHeight === "number") {
4119
- variables = { height: bn14(idOrHeight).toString(10) };
4210
+ variables = { height: bn15(idOrHeight).toString(10) };
4120
4211
  } else if (idOrHeight === "latest") {
4121
4212
  variables = { height: (await this.getBlockNumber()).toString(10) };
4122
4213
  } else if (idOrHeight.length === 66) {
4123
4214
  variables = { blockId: idOrHeight };
4124
4215
  } else {
4125
- variables = { blockId: bn14(idOrHeight).toString(10) };
4216
+ variables = { blockId: bn15(idOrHeight).toString(10) };
4126
4217
  }
4127
4218
  const { block } = await this.operations.getBlock(variables);
4128
4219
  if (!block) {
@@ -4130,7 +4221,7 @@ var _Provider = class {
4130
4221
  }
4131
4222
  return {
4132
4223
  id: block.id,
4133
- height: bn14(block.header.height),
4224
+ height: bn15(block.header.height),
4134
4225
  time: block.header.time,
4135
4226
  transactionIds: block.transactions.map((tx) => tx.id)
4136
4227
  };
@@ -4145,7 +4236,7 @@ var _Provider = class {
4145
4236
  const { blocks: fetchedData } = await this.operations.getBlocks(params);
4146
4237
  const blocks = fetchedData.edges.map(({ node: block }) => ({
4147
4238
  id: block.id,
4148
- height: bn14(block.header.height),
4239
+ height: bn15(block.header.height),
4149
4240
  time: block.header.time,
4150
4241
  transactionIds: block.transactions.map((tx) => tx.id)
4151
4242
  }));
@@ -4160,7 +4251,7 @@ var _Provider = class {
4160
4251
  async getBlockWithTransactions(idOrHeight) {
4161
4252
  let variables;
4162
4253
  if (typeof idOrHeight === "number") {
4163
- variables = { blockHeight: bn14(idOrHeight).toString(10) };
4254
+ variables = { blockHeight: bn15(idOrHeight).toString(10) };
4164
4255
  } else if (idOrHeight === "latest") {
4165
4256
  variables = { blockHeight: (await this.getBlockNumber()).toString() };
4166
4257
  } else {
@@ -4172,7 +4263,7 @@ var _Provider = class {
4172
4263
  }
4173
4264
  return {
4174
4265
  id: block.id,
4175
- height: bn14(block.header.height, 10),
4266
+ height: bn15(block.header.height, 10),
4176
4267
  time: block.header.time,
4177
4268
  transactionIds: block.transactions.map((tx) => tx.id),
4178
4269
  transactions: block.transactions.map(
@@ -4221,7 +4312,7 @@ var _Provider = class {
4221
4312
  contract: Address2.fromAddressOrString(contractId).toB256(),
4222
4313
  asset: hexlify12(assetId)
4223
4314
  });
4224
- return bn14(contractBalance.amount, 10);
4315
+ return bn15(contractBalance.amount, 10);
4225
4316
  }
4226
4317
  /**
4227
4318
  * Returns the balance for the given owner for the given asset ID.
@@ -4235,7 +4326,7 @@ var _Provider = class {
4235
4326
  owner: Address2.fromAddressOrString(owner).toB256(),
4236
4327
  assetId: hexlify12(assetId)
4237
4328
  });
4238
- return bn14(balance.amount, 10);
4329
+ return bn15(balance.amount, 10);
4239
4330
  }
4240
4331
  /**
4241
4332
  * Returns balances for the given owner.
@@ -4253,7 +4344,7 @@ var _Provider = class {
4253
4344
  const balances = result.balances.edges.map((edge) => edge.node);
4254
4345
  return balances.map((balance) => ({
4255
4346
  assetId: balance.assetId,
4256
- amount: bn14(balance.amount)
4347
+ amount: bn15(balance.amount)
4257
4348
  }));
4258
4349
  }
4259
4350
  /**
@@ -4275,15 +4366,15 @@ var _Provider = class {
4275
4366
  sender: message.sender,
4276
4367
  recipient: message.recipient,
4277
4368
  nonce: message.nonce,
4278
- amount: bn14(message.amount),
4369
+ amount: bn15(message.amount),
4279
4370
  data: message.data
4280
4371
  }),
4281
4372
  sender: Address2.fromAddressOrString(message.sender),
4282
4373
  recipient: Address2.fromAddressOrString(message.recipient),
4283
4374
  nonce: message.nonce,
4284
- amount: bn14(message.amount),
4375
+ amount: bn15(message.amount),
4285
4376
  data: InputMessageCoder.decodeData(message.data),
4286
- daHeight: bn14(message.daHeight)
4377
+ daHeight: bn15(message.daHeight)
4287
4378
  }));
4288
4379
  }
4289
4380
  /**
@@ -4301,8 +4392,8 @@ var _Provider = class {
4301
4392
  nonce
4302
4393
  };
4303
4394
  if (commitBlockId && commitBlockHeight) {
4304
- throw new FuelError12(
4305
- ErrorCode12.INVALID_INPUT_PARAMETERS,
4395
+ throw new FuelError13(
4396
+ ErrorCode13.INVALID_INPUT_PARAMETERS,
4306
4397
  "commitBlockId and commitBlockHeight cannot be used together"
4307
4398
  );
4308
4399
  }
@@ -4336,41 +4427,41 @@ var _Provider = class {
4336
4427
  } = result.messageProof;
4337
4428
  return {
4338
4429
  messageProof: {
4339
- proofIndex: bn14(messageProof.proofIndex),
4430
+ proofIndex: bn15(messageProof.proofIndex),
4340
4431
  proofSet: messageProof.proofSet
4341
4432
  },
4342
4433
  blockProof: {
4343
- proofIndex: bn14(blockProof.proofIndex),
4434
+ proofIndex: bn15(blockProof.proofIndex),
4344
4435
  proofSet: blockProof.proofSet
4345
4436
  },
4346
4437
  messageBlockHeader: {
4347
4438
  id: messageBlockHeader.id,
4348
- daHeight: bn14(messageBlockHeader.daHeight),
4349
- transactionsCount: bn14(messageBlockHeader.transactionsCount),
4439
+ daHeight: bn15(messageBlockHeader.daHeight),
4440
+ transactionsCount: bn15(messageBlockHeader.transactionsCount),
4350
4441
  transactionsRoot: messageBlockHeader.transactionsRoot,
4351
- height: bn14(messageBlockHeader.height),
4442
+ height: bn15(messageBlockHeader.height),
4352
4443
  prevRoot: messageBlockHeader.prevRoot,
4353
4444
  time: messageBlockHeader.time,
4354
4445
  applicationHash: messageBlockHeader.applicationHash,
4355
4446
  messageReceiptRoot: messageBlockHeader.messageReceiptRoot,
4356
- messageReceiptCount: bn14(messageBlockHeader.messageReceiptCount)
4447
+ messageReceiptCount: bn15(messageBlockHeader.messageReceiptCount)
4357
4448
  },
4358
4449
  commitBlockHeader: {
4359
4450
  id: commitBlockHeader.id,
4360
- daHeight: bn14(commitBlockHeader.daHeight),
4361
- transactionsCount: bn14(commitBlockHeader.transactionsCount),
4451
+ daHeight: bn15(commitBlockHeader.daHeight),
4452
+ transactionsCount: bn15(commitBlockHeader.transactionsCount),
4362
4453
  transactionsRoot: commitBlockHeader.transactionsRoot,
4363
- height: bn14(commitBlockHeader.height),
4454
+ height: bn15(commitBlockHeader.height),
4364
4455
  prevRoot: commitBlockHeader.prevRoot,
4365
4456
  time: commitBlockHeader.time,
4366
4457
  applicationHash: commitBlockHeader.applicationHash,
4367
4458
  messageReceiptRoot: commitBlockHeader.messageReceiptRoot,
4368
- messageReceiptCount: bn14(commitBlockHeader.messageReceiptCount)
4459
+ messageReceiptCount: bn15(commitBlockHeader.messageReceiptCount)
4369
4460
  },
4370
4461
  sender: Address2.fromAddressOrString(sender),
4371
4462
  recipient: Address2.fromAddressOrString(recipient),
4372
4463
  nonce,
4373
- amount: bn14(amount),
4464
+ amount: bn15(amount),
4374
4465
  data
4375
4466
  };
4376
4467
  }
@@ -4393,10 +4484,10 @@ var _Provider = class {
4393
4484
  */
4394
4485
  async produceBlocks(amount, startTime) {
4395
4486
  const { produceBlocks: latestBlockHeight } = await this.operations.produceBlocks({
4396
- blocksToProduce: bn14(amount).toString(10),
4487
+ blocksToProduce: bn15(amount).toString(10),
4397
4488
  startTimestamp: startTime ? DateTime2.fromUnixMilliseconds(startTime).toTai64() : void 0
4398
4489
  });
4399
- return bn14(latestBlockHeight);
4490
+ return bn15(latestBlockHeight);
4400
4491
  }
4401
4492
  // eslint-disable-next-line @typescript-eslint/require-await
4402
4493
  async getTransactionResponse(transactionId) {
@@ -4419,8 +4510,8 @@ __publicField(Provider, "chainInfoCache", {});
4419
4510
  __publicField(Provider, "nodeInfoCache", {});
4420
4511
 
4421
4512
  // src/providers/transaction-summary/get-transaction-summary.ts
4422
- import { ErrorCode as ErrorCode13, FuelError as FuelError13 } from "@fuel-ts/errors";
4423
- import { bn as bn15 } from "@fuel-ts/math";
4513
+ import { ErrorCode as ErrorCode14, FuelError as FuelError14 } from "@fuel-ts/errors";
4514
+ import { bn as bn16 } from "@fuel-ts/math";
4424
4515
  import { TransactionCoder as TransactionCoder6 } from "@fuel-ts/transactions";
4425
4516
  import { arrayify as arrayify12 } from "@fuel-ts/utils";
4426
4517
  async function getTransactionSummary(params) {
@@ -4429,8 +4520,8 @@ async function getTransactionSummary(params) {
4429
4520
  transactionId: id
4430
4521
  });
4431
4522
  if (!gqlTransaction) {
4432
- throw new FuelError13(
4433
- ErrorCode13.TRANSACTION_NOT_FOUND,
4523
+ throw new FuelError14(
4524
+ ErrorCode14.TRANSACTION_NOT_FOUND,
4434
4525
  `Transaction not found for given id: ${id}.`
4435
4526
  );
4436
4527
  }
@@ -4448,8 +4539,8 @@ async function getTransactionSummary(params) {
4448
4539
  transaction: decodedTransaction,
4449
4540
  transactionBytes: arrayify12(gqlTransaction.rawPayload),
4450
4541
  gqlTransactionStatus: gqlTransaction.status,
4451
- gasPerByte: bn15(gasPerByte),
4452
- gasPriceFactor: bn15(gasPriceFactor),
4542
+ gasPerByte: bn16(gasPerByte),
4543
+ gasPriceFactor: bn16(gasPriceFactor),
4453
4544
  abiMap,
4454
4545
  maxInputs,
4455
4546
  gasCosts
@@ -4703,7 +4794,7 @@ var Account = class extends AbstractAccount {
4703
4794
  */
4704
4795
  get provider() {
4705
4796
  if (!this._provider) {
4706
- throw new FuelError14(ErrorCode14.MISSING_PROVIDER, "Provider not set");
4797
+ throw new FuelError15(ErrorCode15.MISSING_PROVIDER, "Provider not set");
4707
4798
  }
4708
4799
  return this._provider;
4709
4800
  }
@@ -4755,8 +4846,8 @@ var Account = class extends AbstractAccount {
4755
4846
  if (!hasNextPage) {
4756
4847
  break;
4757
4848
  }
4758
- throw new FuelError14(
4759
- ErrorCode14.NOT_SUPPORTED,
4849
+ throw new FuelError15(
4850
+ ErrorCode15.NOT_SUPPORTED,
4760
4851
  `Wallets containing more than ${pageSize} coins exceed the current supported limit.`
4761
4852
  );
4762
4853
  }
@@ -4781,8 +4872,8 @@ var Account = class extends AbstractAccount {
4781
4872
  if (!hasNextPage) {
4782
4873
  break;
4783
4874
  }
4784
- throw new FuelError14(
4785
- ErrorCode14.NOT_SUPPORTED,
4875
+ throw new FuelError15(
4876
+ ErrorCode15.NOT_SUPPORTED,
4786
4877
  `Wallets containing more than ${pageSize} messages exceed the current supported limit.`
4787
4878
  );
4788
4879
  }
@@ -4817,8 +4908,8 @@ var Account = class extends AbstractAccount {
4817
4908
  if (!hasNextPage) {
4818
4909
  break;
4819
4910
  }
4820
- throw new FuelError14(
4821
- ErrorCode14.NOT_SUPPORTED,
4911
+ throw new FuelError15(
4912
+ ErrorCode15.NOT_SUPPORTED,
4822
4913
  `Wallets containing more than ${pageSize} balances exceed the current supported limit.`
4823
4914
  );
4824
4915
  }
@@ -4834,7 +4925,7 @@ var Account = class extends AbstractAccount {
4834
4925
  */
4835
4926
  async fund(request, coinQuantities, fee) {
4836
4927
  const updatedQuantities = addAmountToAsset({
4837
- amount: bn16(fee),
4928
+ amount: bn17(fee),
4838
4929
  assetId: BaseAssetId3,
4839
4930
  coinQuantities
4840
4931
  });
@@ -4842,7 +4933,7 @@ var Account = class extends AbstractAccount {
4842
4933
  updatedQuantities.forEach(({ amount, assetId }) => {
4843
4934
  quantitiesDict[assetId] = {
4844
4935
  required: amount,
4845
- owned: bn16(0)
4936
+ owned: bn17(0)
4846
4937
  };
4847
4938
  });
4848
4939
  const cachedUtxos = [];
@@ -4855,7 +4946,7 @@ var Account = class extends AbstractAccount {
4855
4946
  if (isCoin2) {
4856
4947
  const assetId = String(input.assetId);
4857
4948
  if (input.owner === owner && quantitiesDict[assetId]) {
4858
- const amount = bn16(input.amount);
4949
+ const amount = bn17(input.amount);
4859
4950
  quantitiesDict[assetId].owned = quantitiesDict[assetId].owned.add(amount);
4860
4951
  cachedUtxos.push(input.id);
4861
4952
  }
@@ -4901,8 +4992,8 @@ var Account = class extends AbstractAccount {
4901
4992
  estimateTxDependencies: true,
4902
4993
  resourcesOwner: this
4903
4994
  });
4904
- request.gasPrice = bn16(txParams.gasPrice ?? minGasPrice);
4905
- request.gasLimit = bn16(txParams.gasLimit ?? gasUsed);
4995
+ request.gasPrice = bn17(txParams.gasPrice ?? minGasPrice);
4996
+ request.gasLimit = bn17(txParams.gasLimit ?? gasUsed);
4906
4997
  this.validateGas({
4907
4998
  gasUsed,
4908
4999
  gasPrice: request.gasPrice,
@@ -4923,9 +5014,9 @@ var Account = class extends AbstractAccount {
4923
5014
  * @returns A promise that resolves to the transaction response.
4924
5015
  */
4925
5016
  async transfer(destination, amount, assetId = BaseAssetId3, txParams = {}) {
4926
- if (bn16(amount).lte(0)) {
4927
- throw new FuelError14(
4928
- ErrorCode14.INVALID_TRANSFER_AMOUNT,
5017
+ if (bn17(amount).lte(0)) {
5018
+ throw new FuelError15(
5019
+ ErrorCode15.INVALID_TRANSFER_AMOUNT,
4929
5020
  "Transfer amount must be a positive number."
4930
5021
  );
4931
5022
  }
@@ -4942,9 +5033,9 @@ var Account = class extends AbstractAccount {
4942
5033
  * @returns A promise that resolves to the transaction response.
4943
5034
  */
4944
5035
  async transferToContract(contractId, amount, assetId = BaseAssetId3, txParams = {}) {
4945
- if (bn16(amount).lte(0)) {
4946
- throw new FuelError14(
4947
- ErrorCode14.INVALID_TRANSFER_AMOUNT,
5036
+ if (bn17(amount).lte(0)) {
5037
+ throw new FuelError15(
5038
+ ErrorCode15.INVALID_TRANSFER_AMOUNT,
4948
5039
  "Transfer amount must be a positive number."
4949
5040
  );
4950
5041
  }
@@ -4953,7 +5044,7 @@ var Account = class extends AbstractAccount {
4953
5044
  const params = { gasPrice: minGasPrice, ...txParams };
4954
5045
  const { script, scriptData } = await assembleTransferToContractScript({
4955
5046
  hexlifiedContractId: contractAddress.toB256(),
4956
- amountToTransfer: bn16(amount),
5047
+ amountToTransfer: bn17(amount),
4957
5048
  assetId
4958
5049
  });
4959
5050
  const request = new ScriptTransactionRequest({
@@ -4964,9 +5055,9 @@ var Account = class extends AbstractAccount {
4964
5055
  request.addContractInputAndOutput(contractAddress);
4965
5056
  const { maxFee, requiredQuantities, gasUsed } = await this.provider.getTransactionCost(
4966
5057
  request,
4967
- [{ amount: bn16(amount), assetId: String(assetId) }]
5058
+ [{ amount: bn17(amount), assetId: String(assetId) }]
4968
5059
  );
4969
- request.gasLimit = bn16(params.gasLimit ?? gasUsed);
5060
+ request.gasLimit = bn17(params.gasLimit ?? gasUsed);
4970
5061
  this.validateGas({
4971
5062
  gasUsed,
4972
5063
  gasPrice: request.gasPrice,
@@ -4991,7 +5082,7 @@ var Account = class extends AbstractAccount {
4991
5082
  "0x".concat(recipientAddress.toHexString().substring(2).padStart(64, "0"))
4992
5083
  );
4993
5084
  const amountDataArray = arrayify14(
4994
- "0x".concat(bn16(amount).toHex().substring(2).padStart(16, "0"))
5085
+ "0x".concat(bn17(amount).toHex().substring(2).padStart(16, "0"))
4995
5086
  );
4996
5087
  const script = new Uint8Array([
4997
5088
  ...arrayify14(withdrawScript.bytes),
@@ -5000,12 +5091,12 @@ var Account = class extends AbstractAccount {
5000
5091
  ]);
5001
5092
  const params = { script, gasPrice: minGasPrice, ...txParams };
5002
5093
  const request = new ScriptTransactionRequest(params);
5003
- const forwardingQuantities = [{ amount: bn16(amount), assetId: BaseAssetId3 }];
5094
+ const forwardingQuantities = [{ amount: bn17(amount), assetId: BaseAssetId3 }];
5004
5095
  const { requiredQuantities, maxFee, gasUsed } = await this.provider.getTransactionCost(
5005
5096
  request,
5006
5097
  forwardingQuantities
5007
5098
  );
5008
- request.gasLimit = bn16(params.gasLimit ?? gasUsed);
5099
+ request.gasLimit = bn17(params.gasLimit ?? gasUsed);
5009
5100
  this.validateGas({
5010
5101
  gasUsed,
5011
5102
  gasPrice: request.gasPrice,
@@ -5017,7 +5108,7 @@ var Account = class extends AbstractAccount {
5017
5108
  }
5018
5109
  async signMessage(message) {
5019
5110
  if (!this._connector) {
5020
- throw new FuelError14(ErrorCode14.MISSING_CONNECTOR, "A connector is required to sign messages.");
5111
+ throw new FuelError15(ErrorCode15.MISSING_CONNECTOR, "A connector is required to sign messages.");
5021
5112
  }
5022
5113
  return this._connector.signMessage(this.address.toString(), message);
5023
5114
  }
@@ -5029,8 +5120,8 @@ var Account = class extends AbstractAccount {
5029
5120
  */
5030
5121
  async signTransaction(transactionRequestLike) {
5031
5122
  if (!this._connector) {
5032
- throw new FuelError14(
5033
- ErrorCode14.MISSING_CONNECTOR,
5123
+ throw new FuelError15(
5124
+ ErrorCode15.MISSING_CONNECTOR,
5034
5125
  "A connector is required to sign transactions."
5035
5126
  );
5036
5127
  }
@@ -5077,14 +5168,14 @@ var Account = class extends AbstractAccount {
5077
5168
  minGasPrice
5078
5169
  }) {
5079
5170
  if (minGasPrice.gt(gasPrice)) {
5080
- throw new FuelError14(
5081
- ErrorCode14.GAS_PRICE_TOO_LOW,
5171
+ throw new FuelError15(
5172
+ ErrorCode15.GAS_PRICE_TOO_LOW,
5082
5173
  `Gas price '${gasPrice}' is lower than the required: '${minGasPrice}'.`
5083
5174
  );
5084
5175
  }
5085
5176
  if (gasUsed.gt(gasLimit)) {
5086
- throw new FuelError14(
5087
- ErrorCode14.GAS_LIMIT_TOO_LOW,
5177
+ throw new FuelError15(
5178
+ ErrorCode15.GAS_LIMIT_TOO_LOW,
5088
5179
  `Gas limit '${gasLimit}' is lower than the required: '${gasUsed}'.`
5089
5180
  );
5090
5181
  }
@@ -5215,7 +5306,7 @@ import {
5215
5306
  decryptJsonWalletData,
5216
5307
  encryptJsonWalletData
5217
5308
  } from "@fuel-ts/crypto";
5218
- import { ErrorCode as ErrorCode15, FuelError as FuelError15 } from "@fuel-ts/errors";
5309
+ import { ErrorCode as ErrorCode16, FuelError as FuelError16 } from "@fuel-ts/errors";
5219
5310
  import { hexlify as hexlify14 } from "@fuel-ts/utils";
5220
5311
  import { v4 as uuidv4 } from "uuid";
5221
5312
  var DEFAULT_KDF_PARAMS_LOG_N = 13;
@@ -5293,8 +5384,8 @@ async function decryptKeystoreWallet(jsonWallet, password) {
5293
5384
  const macHashUint8Array = keccak256(data);
5294
5385
  const macHash = stringFromBuffer(macHashUint8Array, "hex");
5295
5386
  if (mac !== macHash) {
5296
- throw new FuelError15(
5297
- ErrorCode15.INVALID_PASSWORD,
5387
+ throw new FuelError16(
5388
+ ErrorCode16.INVALID_PASSWORD,
5298
5389
  "Failed to decrypt the keystore wallet, the provided password is incorrect."
5299
5390
  );
5300
5391
  }
@@ -5416,15 +5507,15 @@ var BaseWalletUnlocked = class extends Account {
5416
5507
  __publicField(BaseWalletUnlocked, "defaultPath", "m/44'/1179993420'/0'/0/0");
5417
5508
 
5418
5509
  // src/hdwallet/hdwallet.ts
5419
- import { ErrorCode as ErrorCode18, FuelError as FuelError18 } from "@fuel-ts/errors";
5510
+ import { ErrorCode as ErrorCode19, FuelError as FuelError19 } from "@fuel-ts/errors";
5420
5511
  import { sha256 as sha2564 } from "@fuel-ts/hasher";
5421
- import { bn as bn17, toBytes as toBytes2, toHex } from "@fuel-ts/math";
5512
+ import { bn as bn18, toBytes as toBytes2, toHex } from "@fuel-ts/math";
5422
5513
  import { arrayify as arrayify18, hexlify as hexlify17, concat as concat5 } from "@fuel-ts/utils";
5423
5514
  import { toBeHex, dataSlice as dataSlice2, encodeBase58 as encodeBase582, decodeBase58, computeHmac as computeHmac2, ripemd160 } from "ethers";
5424
5515
 
5425
5516
  // src/mnemonic/mnemonic.ts
5426
5517
  import { randomBytes as randomBytes3 } from "@fuel-ts/crypto";
5427
- import { ErrorCode as ErrorCode17, FuelError as FuelError17 } from "@fuel-ts/errors";
5518
+ import { ErrorCode as ErrorCode18, FuelError as FuelError18 } from "@fuel-ts/errors";
5428
5519
  import { sha256 as sha2563 } from "@fuel-ts/hasher";
5429
5520
  import { arrayify as arrayify17, hexlify as hexlify16, concat as concat4 } from "@fuel-ts/utils";
5430
5521
  import { dataSlice, pbkdf2, computeHmac, encodeBase58 } from "ethers";
@@ -7488,7 +7579,7 @@ var Language = /* @__PURE__ */ ((Language2) => {
7488
7579
  })(Language || {});
7489
7580
 
7490
7581
  // src/mnemonic/utils.ts
7491
- import { ErrorCode as ErrorCode16, FuelError as FuelError16 } from "@fuel-ts/errors";
7582
+ import { ErrorCode as ErrorCode17, FuelError as FuelError17 } from "@fuel-ts/errors";
7492
7583
  import { sha256 as sha2562 } from "@fuel-ts/hasher";
7493
7584
  import { arrayify as arrayify16 } from "@fuel-ts/utils";
7494
7585
  function toUtf8Bytes(stri) {
@@ -7505,8 +7596,8 @@ function toUtf8Bytes(stri) {
7505
7596
  i += 1;
7506
7597
  const c2 = str.charCodeAt(i);
7507
7598
  if (i >= str.length || (c2 & 64512) !== 56320) {
7508
- throw new FuelError16(
7509
- ErrorCode16.INVALID_INPUT_PARAMETERS,
7599
+ throw new FuelError17(
7600
+ ErrorCode17.INVALID_INPUT_PARAMETERS,
7510
7601
  "Invalid UTF-8 in the input string."
7511
7602
  );
7512
7603
  }
@@ -7569,8 +7660,8 @@ function mnemonicWordsToEntropy(words, wordlist) {
7569
7660
  for (let i = 0; i < words.length; i += 1) {
7570
7661
  const index = wordlist.indexOf(words[i].normalize("NFKD"));
7571
7662
  if (index === -1) {
7572
- throw new FuelError16(
7573
- ErrorCode16.INVALID_MNEMONIC,
7663
+ throw new FuelError17(
7664
+ ErrorCode17.INVALID_MNEMONIC,
7574
7665
  `Invalid mnemonic: the word '${words[i]}' is not found in the provided wordlist.`
7575
7666
  );
7576
7667
  }
@@ -7586,8 +7677,8 @@ function mnemonicWordsToEntropy(words, wordlist) {
7586
7677
  const checksumMask = getUpperMask(checksumBits);
7587
7678
  const checksum = arrayify16(sha2562(entropy.slice(0, entropyBits / 8)))[0] & checksumMask;
7588
7679
  if (checksum !== (entropy[entropy.length - 1] & checksumMask)) {
7589
- throw new FuelError16(
7590
- ErrorCode16.INVALID_CHECKSUM,
7680
+ throw new FuelError17(
7681
+ ErrorCode17.INVALID_CHECKSUM,
7591
7682
  "Checksum validation failed for the provided mnemonic."
7592
7683
  );
7593
7684
  }
@@ -7601,16 +7692,16 @@ var TestnetPRV = "0x04358394";
7601
7692
  var MNEMONIC_SIZES = [12, 15, 18, 21, 24];
7602
7693
  function assertWordList(wordlist) {
7603
7694
  if (wordlist.length !== 2048) {
7604
- throw new FuelError17(
7605
- ErrorCode17.INVALID_WORD_LIST,
7695
+ throw new FuelError18(
7696
+ ErrorCode18.INVALID_WORD_LIST,
7606
7697
  `Expected word list length of 2048, but got ${wordlist.length}.`
7607
7698
  );
7608
7699
  }
7609
7700
  }
7610
7701
  function assertEntropy(entropy) {
7611
7702
  if (entropy.length % 4 !== 0 || entropy.length < 16 || entropy.length > 32) {
7612
- throw new FuelError17(
7613
- ErrorCode17.INVALID_ENTROPY,
7703
+ throw new FuelError18(
7704
+ ErrorCode18.INVALID_ENTROPY,
7614
7705
  `Entropy should be between 16 and 32 bytes and a multiple of 4, but got ${entropy.length} bytes.`
7615
7706
  );
7616
7707
  }
@@ -7620,7 +7711,7 @@ function assertMnemonic(words) {
7620
7711
  const errorMsg = `Invalid mnemonic size. Expected one of [${MNEMONIC_SIZES.join(
7621
7712
  ", "
7622
7713
  )}] words, but got ${words.length}.`;
7623
- throw new FuelError17(ErrorCode17.INVALID_MNEMONIC, errorMsg);
7714
+ throw new FuelError18(ErrorCode18.INVALID_MNEMONIC, errorMsg);
7624
7715
  }
7625
7716
  }
7626
7717
  var Mnemonic = class {
@@ -7738,8 +7829,8 @@ var Mnemonic = class {
7738
7829
  static masterKeysFromSeed(seed) {
7739
7830
  const seedArray = arrayify17(seed);
7740
7831
  if (seedArray.length < 16 || seedArray.length > 64) {
7741
- throw new FuelError17(
7742
- ErrorCode17.INVALID_SEED,
7832
+ throw new FuelError18(
7833
+ ErrorCode18.INVALID_SEED,
7743
7834
  `Seed length should be between 16 and 64 bytes, but received ${seedArray.length} bytes.`
7744
7835
  );
7745
7836
  }
@@ -7816,7 +7907,7 @@ function isValidExtendedKey(extendedKey) {
7816
7907
  function parsePath(path, depth = 0) {
7817
7908
  const components = path.split("/");
7818
7909
  if (components.length === 0 || components[0] === "m" && depth !== 0) {
7819
- throw new FuelError18(ErrorCode18.HD_WALLET_ERROR, `invalid path - ${path}`);
7910
+ throw new FuelError19(ErrorCode19.HD_WALLET_ERROR, `invalid path - ${path}`);
7820
7911
  }
7821
7912
  if (components[0] === "m") {
7822
7913
  components.shift();
@@ -7845,8 +7936,8 @@ var HDWallet = class {
7845
7936
  this.privateKey = hexlify17(config.privateKey);
7846
7937
  } else {
7847
7938
  if (!config.publicKey) {
7848
- throw new FuelError18(
7849
- ErrorCode18.HD_WALLET_ERROR,
7939
+ throw new FuelError19(
7940
+ ErrorCode19.HD_WALLET_ERROR,
7850
7941
  "Both public and private Key cannot be missing. At least one should be provided."
7851
7942
  );
7852
7943
  }
@@ -7875,8 +7966,8 @@ var HDWallet = class {
7875
7966
  const data = new Uint8Array(37);
7876
7967
  if (index & HARDENED_INDEX) {
7877
7968
  if (!privateKey) {
7878
- throw new FuelError18(
7879
- ErrorCode18.HD_WALLET_ERROR,
7969
+ throw new FuelError19(
7970
+ ErrorCode19.HD_WALLET_ERROR,
7880
7971
  "Cannot derive a hardened index without a private Key."
7881
7972
  );
7882
7973
  }
@@ -7890,7 +7981,7 @@ var HDWallet = class {
7890
7981
  const IR = bytes.slice(32);
7891
7982
  if (privateKey) {
7892
7983
  const N = "0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141";
7893
- const ki = bn17(IL).add(privateKey).mod(N).toBytes(32);
7984
+ const ki = bn18(IL).add(privateKey).mod(N).toBytes(32);
7894
7985
  return new HDWallet({
7895
7986
  privateKey: ki,
7896
7987
  chainCode: IR,
@@ -7928,8 +8019,8 @@ var HDWallet = class {
7928
8019
  */
7929
8020
  toExtendedKey(isPublic = false, testnet = false) {
7930
8021
  if (this.depth >= 256) {
7931
- throw new FuelError18(
7932
- ErrorCode18.HD_WALLET_ERROR,
8022
+ throw new FuelError19(
8023
+ ErrorCode19.HD_WALLET_ERROR,
7933
8024
  `Exceeded max depth of 255. Current depth: ${this.depth}.`
7934
8025
  );
7935
8026
  }
@@ -7960,10 +8051,10 @@ var HDWallet = class {
7960
8051
  const bytes = arrayify18(decoded);
7961
8052
  const validChecksum = base58check(bytes.slice(0, 78)) === extendedKey;
7962
8053
  if (bytes.length !== 82 || !isValidExtendedKey(bytes)) {
7963
- throw new FuelError18(ErrorCode18.HD_WALLET_ERROR, "Provided key is not a valid extended key.");
8054
+ throw new FuelError19(ErrorCode19.HD_WALLET_ERROR, "Provided key is not a valid extended key.");
7964
8055
  }
7965
8056
  if (!validChecksum) {
7966
- throw new FuelError18(ErrorCode18.HD_WALLET_ERROR, "Provided key has an invalid checksum.");
8057
+ throw new FuelError19(ErrorCode19.HD_WALLET_ERROR, "Provided key has an invalid checksum.");
7967
8058
  }
7968
8059
  const depth = bytes[4];
7969
8060
  const parentFingerprint = hexlify17(bytes.slice(5, 9));
@@ -7971,14 +8062,14 @@ var HDWallet = class {
7971
8062
  const chainCode = hexlify17(bytes.slice(13, 45));
7972
8063
  const key = bytes.slice(45, 78);
7973
8064
  if (depth === 0 && parentFingerprint !== "0x00000000" || depth === 0 && index !== 0) {
7974
- throw new FuelError18(
7975
- ErrorCode18.HD_WALLET_ERROR,
8065
+ throw new FuelError19(
8066
+ ErrorCode19.HD_WALLET_ERROR,
7976
8067
  "Inconsistency detected: Depth is zero but fingerprint/index is non-zero."
7977
8068
  );
7978
8069
  }
7979
8070
  if (isPublicExtendedKey(bytes)) {
7980
8071
  if (key[0] !== 3) {
7981
- throw new FuelError18(ErrorCode18.HD_WALLET_ERROR, "Invalid public extended key.");
8072
+ throw new FuelError19(ErrorCode19.HD_WALLET_ERROR, "Invalid public extended key.");
7982
8073
  }
7983
8074
  return new HDWallet({
7984
8075
  publicKey: key,
@@ -7989,7 +8080,7 @@ var HDWallet = class {
7989
8080
  });
7990
8081
  }
7991
8082
  if (key[0] !== 0) {
7992
- throw new FuelError18(ErrorCode18.HD_WALLET_ERROR, "Invalid private extended key.");
8083
+ throw new FuelError19(ErrorCode19.HD_WALLET_ERROR, "Invalid private extended key.");
7993
8084
  }
7994
8085
  return new HDWallet({
7995
8086
  privateKey: key.slice(1),
@@ -8157,7 +8248,7 @@ __publicField(Wallet, "fromEncryptedJson", WalletUnlocked.fromEncryptedJson);
8157
8248
  // src/wallet-manager/wallet-manager.ts
8158
8249
  import { Address as Address8 } from "@fuel-ts/address";
8159
8250
  import { encrypt, decrypt } from "@fuel-ts/crypto";
8160
- import { ErrorCode as ErrorCode21, FuelError as FuelError21 } from "@fuel-ts/errors";
8251
+ import { ErrorCode as ErrorCode22, FuelError as FuelError22 } from "@fuel-ts/errors";
8161
8252
  import { EventEmitter } from "events";
8162
8253
 
8163
8254
  // src/wallet-manager/storages/memory-storage.ts
@@ -8180,7 +8271,7 @@ var MemoryStorage = class {
8180
8271
 
8181
8272
  // src/wallet-manager/vaults/mnemonic-vault.ts
8182
8273
  import { Address as Address6 } from "@fuel-ts/address";
8183
- import { ErrorCode as ErrorCode19, FuelError as FuelError19 } from "@fuel-ts/errors";
8274
+ import { ErrorCode as ErrorCode20, FuelError as FuelError20 } from "@fuel-ts/errors";
8184
8275
  var _secret;
8185
8276
  var MnemonicVault = class {
8186
8277
  constructor(options) {
@@ -8236,8 +8327,8 @@ var MnemonicVault = class {
8236
8327
  }
8237
8328
  numberOfAccounts += 1;
8238
8329
  } while (numberOfAccounts < this.numberOfAccounts);
8239
- throw new FuelError19(
8240
- ErrorCode19.WALLET_MANAGER_ERROR,
8330
+ throw new FuelError20(
8331
+ ErrorCode20.WALLET_MANAGER_ERROR,
8241
8332
  `Account with address '${address}' not found in derived wallets.`
8242
8333
  );
8243
8334
  }
@@ -8251,7 +8342,7 @@ __publicField(MnemonicVault, "type", "mnemonic");
8251
8342
 
8252
8343
  // src/wallet-manager/vaults/privatekey-vault.ts
8253
8344
  import { Address as Address7 } from "@fuel-ts/address";
8254
- import { ErrorCode as ErrorCode20, FuelError as FuelError20 } from "@fuel-ts/errors";
8345
+ import { ErrorCode as ErrorCode21, FuelError as FuelError21 } from "@fuel-ts/errors";
8255
8346
  var _privateKeys;
8256
8347
  var PrivateKeyVault = class {
8257
8348
  /**
@@ -8292,8 +8383,8 @@ var PrivateKeyVault = class {
8292
8383
  (pk) => Wallet.fromPrivateKey(pk).address.equals(ownerAddress)
8293
8384
  );
8294
8385
  if (!privateKey) {
8295
- throw new FuelError20(
8296
- ErrorCode20.WALLET_MANAGER_ERROR,
8386
+ throw new FuelError21(
8387
+ ErrorCode21.WALLET_MANAGER_ERROR,
8297
8388
  `No private key found for address '${address}'.`
8298
8389
  );
8299
8390
  }
@@ -8317,7 +8408,7 @@ var ERROR_MESSAGES = {
8317
8408
  };
8318
8409
  function assert(condition, message) {
8319
8410
  if (!condition) {
8320
- throw new FuelError21(ErrorCode21.WALLET_MANAGER_ERROR, message);
8411
+ throw new FuelError22(ErrorCode22.WALLET_MANAGER_ERROR, message);
8321
8412
  }
8322
8413
  }
8323
8414
  var _vaults, _passphrase, _isLocked, _serializeVaults, serializeVaults_fn, _deserializeVaults, deserializeVaults_fn;
@@ -8543,25 +8634,25 @@ deserializeVaults_fn = function(vaults) {
8543
8634
  __publicField(WalletManager, "Vaults", [MnemonicVault, PrivateKeyVault]);
8544
8635
 
8545
8636
  // src/wallet-manager/types.ts
8546
- import { ErrorCode as ErrorCode22, FuelError as FuelError22 } from "@fuel-ts/errors";
8637
+ import { ErrorCode as ErrorCode23, FuelError as FuelError23 } from "@fuel-ts/errors";
8547
8638
  var Vault = class {
8548
8639
  constructor(_options) {
8549
- throw new FuelError22(ErrorCode22.NOT_IMPLEMENTED, "Not implemented.");
8640
+ throw new FuelError23(ErrorCode23.NOT_IMPLEMENTED, "Not implemented.");
8550
8641
  }
8551
8642
  serialize() {
8552
- throw new FuelError22(ErrorCode22.NOT_IMPLEMENTED, "Not implemented.");
8643
+ throw new FuelError23(ErrorCode23.NOT_IMPLEMENTED, "Not implemented.");
8553
8644
  }
8554
8645
  getAccounts() {
8555
- throw new FuelError22(ErrorCode22.NOT_IMPLEMENTED, "Not implemented.");
8646
+ throw new FuelError23(ErrorCode23.NOT_IMPLEMENTED, "Not implemented.");
8556
8647
  }
8557
8648
  addAccount() {
8558
- throw new FuelError22(ErrorCode22.NOT_IMPLEMENTED, "Not implemented.");
8649
+ throw new FuelError23(ErrorCode23.NOT_IMPLEMENTED, "Not implemented.");
8559
8650
  }
8560
8651
  exportAccount(_address) {
8561
- throw new FuelError22(ErrorCode22.NOT_IMPLEMENTED, "Not implemented.");
8652
+ throw new FuelError23(ErrorCode23.NOT_IMPLEMENTED, "Not implemented.");
8562
8653
  }
8563
8654
  getWallet(_address) {
8564
- throw new FuelError22(ErrorCode22.NOT_IMPLEMENTED, "Not implemented.");
8655
+ throw new FuelError23(ErrorCode23.NOT_IMPLEMENTED, "Not implemented.");
8565
8656
  }
8566
8657
  };
8567
8658
  __publicField(Vault, "type");
@@ -8578,7 +8669,7 @@ import {
8578
8669
  } from "@fuel-ts/abi-coder";
8579
8670
  import { Address as Address9 } from "@fuel-ts/address";
8580
8671
  import { BaseAssetId as BaseAssetId4 } from "@fuel-ts/address/configs";
8581
- import { ErrorCode as ErrorCode23, FuelError as FuelError23 } from "@fuel-ts/errors";
8672
+ import { ErrorCode as ErrorCode24, FuelError as FuelError24 } from "@fuel-ts/errors";
8582
8673
  import { ByteArrayCoder, InputType as InputType7 } from "@fuel-ts/transactions";
8583
8674
  import { arrayify as arrayify20, hexlify as hexlify19 } from "@fuel-ts/utils";
8584
8675
 
@@ -8706,8 +8797,8 @@ var Predicate = class extends Account {
8706
8797
  if (jsonAbi) {
8707
8798
  abiInterface = new Interface4(jsonAbi);
8708
8799
  if (abiInterface.functions.main === void 0) {
8709
- throw new FuelError23(
8710
- ErrorCode23.ABI_MAIN_METHOD_MISSING,
8800
+ throw new FuelError24(
8801
+ ErrorCode24.ABI_MAIN_METHOD_MISSING,
8711
8802
  'Cannot use ABI without "main" function.'
8712
8803
  );
8713
8804
  }
@@ -8752,8 +8843,8 @@ var Predicate = class extends Account {
8752
8843
  mutatedBytes.set(encoded, offset);
8753
8844
  });
8754
8845
  } catch (err) {
8755
- throw new FuelError23(
8756
- ErrorCode23.INVALID_CONFIGURABLE_CONSTANTS,
8846
+ throw new FuelError24(
8847
+ ErrorCode24.INVALID_CONFIGURABLE_CONSTANTS,
8757
8848
  `Error setting configurable constants: ${err.message}.`
8758
8849
  );
8759
8850
  }
@@ -8762,7 +8853,7 @@ var Predicate = class extends Account {
8762
8853
  };
8763
8854
 
8764
8855
  // src/connectors/fuel.ts
8765
- import { ErrorCode as ErrorCode24, FuelError as FuelError24 } from "@fuel-ts/errors";
8856
+ import { ErrorCode as ErrorCode25, FuelError as FuelError25 } from "@fuel-ts/errors";
8766
8857
 
8767
8858
  // src/connectors/fuel-connector.ts
8768
8859
  import { EventEmitter as EventEmitter2 } from "events";
@@ -9395,7 +9486,7 @@ var _Fuel = class extends FuelConnector {
9395
9486
  const currentNetwork = await this.currentNetwork();
9396
9487
  provider = await Provider.create(currentNetwork.url);
9397
9488
  } else {
9398
- throw new FuelError24(ErrorCode24.INVALID_PROVIDER, "Provider is not valid.");
9489
+ throw new FuelError25(ErrorCode25.INVALID_PROVIDER, "Provider is not valid.");
9399
9490
  }
9400
9491
  return provider;
9401
9492
  }
@@ -9474,7 +9565,9 @@ export {
9474
9565
  WalletUnlocked,
9475
9566
  addAmountToAsset,
9476
9567
  addOperation,
9568
+ assemblePanicError,
9477
9569
  assembleReceiptByType,
9570
+ assembleRevertError,
9478
9571
  assembleTransactionSummary,
9479
9572
  assets,
9480
9573
  buildBlockExplorerUrl,
@@ -9489,6 +9582,7 @@ export {
9489
9582
  english,
9490
9583
  extractBurnedAssetsFromReceipts,
9491
9584
  extractMintedAssetsFromReceipts,
9585
+ extractTxError,
9492
9586
  gasUsedByInputs,
9493
9587
  getAssetEth,
9494
9588
  getAssetFuel,