@fuel-ts/account 0.0.0-rc-2045-20240411190910 → 0.0.0-rc-1976-20240412113424

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.

@@ -62,14 +62,12 @@ var import_utils31 = require("@fuel-ts/utils");
62
62
 
63
63
  // src/account.ts
64
64
  var import_address4 = require("@fuel-ts/address");
65
- var import_configs12 = require("@fuel-ts/address/configs");
66
65
  var import_errors16 = require("@fuel-ts/errors");
67
66
  var import_interfaces = require("@fuel-ts/interfaces");
68
67
  var import_math18 = require("@fuel-ts/math");
69
68
  var import_utils28 = require("@fuel-ts/utils");
70
69
 
71
70
  // src/providers/coin-quantity.ts
72
- var import_configs = require("@fuel-ts/address/configs");
73
71
  var import_math = require("@fuel-ts/math");
74
72
  var import_utils = require("@fuel-ts/utils");
75
73
  var coinQuantityfy = (coinQuantityLike) => {
@@ -78,11 +76,11 @@ var coinQuantityfy = (coinQuantityLike) => {
78
76
  let max2;
79
77
  if (Array.isArray(coinQuantityLike)) {
80
78
  amount = coinQuantityLike[0];
81
- assetId = coinQuantityLike[1] ?? import_configs.BaseAssetId;
82
- max2 = coinQuantityLike[2] ?? void 0;
79
+ assetId = coinQuantityLike[1];
80
+ max2 = coinQuantityLike[2];
83
81
  } else {
84
82
  amount = coinQuantityLike.amount;
85
- assetId = coinQuantityLike.assetId ?? import_configs.BaseAssetId;
83
+ assetId = coinQuantityLike.assetId;
86
84
  max2 = coinQuantityLike.max ?? void 0;
87
85
  }
88
86
  const bnAmount = (0, import_math.bn)(amount);
@@ -1052,7 +1050,7 @@ var MemoryCache = class {
1052
1050
 
1053
1051
  // src/providers/transaction-request/input.ts
1054
1052
  var import_abi_coder = require("@fuel-ts/abi-coder");
1055
- var import_configs2 = require("@fuel-ts/address/configs");
1053
+ var import_configs = require("@fuel-ts/address/configs");
1056
1054
  var import_errors3 = require("@fuel-ts/errors");
1057
1055
  var import_math2 = require("@fuel-ts/math");
1058
1056
  var import_transactions = require("@fuel-ts/transactions");
@@ -1086,10 +1084,10 @@ var inputify = (value) => {
1086
1084
  case import_transactions.InputType.Contract: {
1087
1085
  return {
1088
1086
  type: import_transactions.InputType.Contract,
1089
- txID: import_configs2.ZeroBytes32,
1087
+ txID: import_configs.ZeroBytes32,
1090
1088
  outputIndex: 0,
1091
- balanceRoot: import_configs2.ZeroBytes32,
1092
- stateRoot: import_configs2.ZeroBytes32,
1089
+ balanceRoot: import_configs.ZeroBytes32,
1090
+ stateRoot: import_configs.ZeroBytes32,
1093
1091
  txPointer: {
1094
1092
  blockHeight: (0, import_math2.toNumber)((0, import_utils3.arrayify)(value.txPointer).slice(0, 8)),
1095
1093
  txIndex: (0, import_math2.toNumber)((0, import_utils3.arrayify)(value.txPointer).slice(8, 16))
@@ -1127,7 +1125,7 @@ var inputify = (value) => {
1127
1125
  };
1128
1126
 
1129
1127
  // src/providers/transaction-request/output.ts
1130
- var import_configs3 = require("@fuel-ts/address/configs");
1128
+ var import_configs2 = require("@fuel-ts/address/configs");
1131
1129
  var import_errors4 = require("@fuel-ts/errors");
1132
1130
  var import_math3 = require("@fuel-ts/math");
1133
1131
  var import_transactions2 = require("@fuel-ts/transactions");
@@ -1147,8 +1145,8 @@ var outputify = (value) => {
1147
1145
  return {
1148
1146
  type: import_transactions2.OutputType.Contract,
1149
1147
  inputIndex: value.inputIndex,
1150
- balanceRoot: import_configs3.ZeroBytes32,
1151
- stateRoot: import_configs3.ZeroBytes32
1148
+ balanceRoot: import_configs2.ZeroBytes32,
1149
+ stateRoot: import_configs2.ZeroBytes32
1152
1150
  };
1153
1151
  }
1154
1152
  case import_transactions2.OutputType.Change: {
@@ -1162,9 +1160,9 @@ var outputify = (value) => {
1162
1160
  case import_transactions2.OutputType.Variable: {
1163
1161
  return {
1164
1162
  type: import_transactions2.OutputType.Variable,
1165
- to: import_configs3.ZeroBytes32,
1163
+ to: import_configs2.ZeroBytes32,
1166
1164
  amount: (0, import_math3.bn)(0),
1167
- assetId: import_configs3.ZeroBytes32
1165
+ assetId: import_configs2.ZeroBytes32
1168
1166
  };
1169
1167
  }
1170
1168
  case import_transactions2.OutputType.ContractCreated: {
@@ -1186,7 +1184,7 @@ var outputify = (value) => {
1186
1184
  // src/providers/transaction-request/transaction-request.ts
1187
1185
  var import_abi_coder2 = require("@fuel-ts/abi-coder");
1188
1186
  var import_address = require("@fuel-ts/address");
1189
- var import_configs7 = require("@fuel-ts/address/configs");
1187
+ var import_configs6 = require("@fuel-ts/address/configs");
1190
1188
  var import_crypto = require("@fuel-ts/crypto");
1191
1189
  var import_math7 = require("@fuel-ts/math");
1192
1190
  var import_transactions6 = require("@fuel-ts/transactions");
@@ -1196,13 +1194,13 @@ var import_utils9 = require("@fuel-ts/utils");
1196
1194
  var isCoin = (resource) => "id" in resource;
1197
1195
 
1198
1196
  // src/providers/utils/receipts.ts
1199
- var import_configs4 = require("@fuel-ts/address/configs");
1197
+ var import_configs3 = require("@fuel-ts/address/configs");
1200
1198
  var import_errors5 = require("@fuel-ts/errors");
1201
1199
  var import_math4 = require("@fuel-ts/math");
1202
1200
  var import_transactions3 = require("@fuel-ts/transactions");
1203
- var import_configs5 = require("@fuel-ts/transactions/configs");
1201
+ var import_configs4 = require("@fuel-ts/transactions/configs");
1204
1202
  var import_utils5 = require("@fuel-ts/utils");
1205
- var doesReceiptHaveMissingOutputVariables = (receipt) => receipt.type === import_transactions3.ReceiptType.Revert && receipt.val.toString("hex") === import_configs5.FAILED_TRANSFER_TO_ADDRESS_SIGNAL;
1203
+ var doesReceiptHaveMissingOutputVariables = (receipt) => receipt.type === import_transactions3.ReceiptType.Revert && receipt.val.toString("hex") === import_configs4.FAILED_TRANSFER_TO_ADDRESS_SIGNAL;
1206
1204
  var doesReceiptHaveMissingContractId = (receipt) => receipt.type === import_transactions3.ReceiptType.Panic && receipt.contractId !== "0x0000000000000000000000000000000000000000000000000000000000000000";
1207
1205
  var getReceiptsWithMissingData = (receipts) => receipts.reduce(
1208
1206
  (memo, receipt) => {
@@ -1219,7 +1217,7 @@ var getReceiptsWithMissingData = (receipts) => receipts.reduce(
1219
1217
  missingOutputContractIds: []
1220
1218
  }
1221
1219
  );
1222
- var hexOrZero = (hex) => hex || import_configs4.ZeroBytes32;
1220
+ var hexOrZero = (hex) => hex || import_configs3.ZeroBytes32;
1223
1221
  function assembleReceiptByType(receipt) {
1224
1222
  const { receiptType } = receipt;
1225
1223
  switch (receiptType) {
@@ -1524,16 +1522,16 @@ function sleep(time) {
1524
1522
  var import_errors7 = require("@fuel-ts/errors");
1525
1523
  var import_math6 = require("@fuel-ts/math");
1526
1524
  var import_transactions5 = require("@fuel-ts/transactions");
1527
- var import_configs6 = require("@fuel-ts/transactions/configs");
1525
+ var import_configs5 = require("@fuel-ts/transactions/configs");
1528
1526
  var assemblePanicError = (status) => {
1529
1527
  let errorMessage = `The transaction reverted with reason: "${status.reason}".`;
1530
1528
  const reason = status.reason;
1531
- if (import_configs6.PANIC_REASONS.includes(status.reason)) {
1529
+ if (import_configs5.PANIC_REASONS.includes(status.reason)) {
1532
1530
  errorMessage = `${errorMessage}
1533
1531
 
1534
1532
  You can read more about this error at:
1535
1533
 
1536
- ${import_configs6.PANIC_DOC_URL}#variant.${status.reason}`;
1534
+ ${import_configs5.PANIC_DOC_URL}#variant.${status.reason}`;
1537
1535
  }
1538
1536
  return { errorMessage, reason };
1539
1537
  };
@@ -1545,28 +1543,28 @@ var assembleRevertError = (receipts, logs) => {
1545
1543
  if (revertReceipt) {
1546
1544
  const reasonHex = (0, import_math6.bn)(revertReceipt.val).toHex();
1547
1545
  switch (reasonHex) {
1548
- case import_configs6.FAILED_REQUIRE_SIGNAL: {
1546
+ case import_configs5.FAILED_REQUIRE_SIGNAL: {
1549
1547
  reason = "require";
1550
1548
  errorMessage = `The transaction reverted because a "require" statement has thrown ${logs.length ? stringify(logs[0]) : "an error."}.`;
1551
1549
  break;
1552
1550
  }
1553
- case import_configs6.FAILED_ASSERT_EQ_SIGNAL: {
1551
+ case import_configs5.FAILED_ASSERT_EQ_SIGNAL: {
1554
1552
  const sufix = logs.length >= 2 ? ` comparing ${stringify(logs[1])} and ${stringify(logs[0])}.` : ".";
1555
1553
  reason = "assert_eq";
1556
1554
  errorMessage = `The transaction reverted because of an "assert_eq" statement${sufix}`;
1557
1555
  break;
1558
1556
  }
1559
- case import_configs6.FAILED_ASSERT_NE_SIGNAL: {
1557
+ case import_configs5.FAILED_ASSERT_NE_SIGNAL: {
1560
1558
  const sufix = logs.length >= 2 ? ` comparing ${stringify(logs[1])} and ${stringify(logs[0])}.` : ".";
1561
1559
  reason = "assert_ne";
1562
1560
  errorMessage = `The transaction reverted because of an "assert_ne" statement${sufix}`;
1563
1561
  break;
1564
1562
  }
1565
- case import_configs6.FAILED_ASSERT_SIGNAL:
1563
+ case import_configs5.FAILED_ASSERT_SIGNAL:
1566
1564
  reason = "assert";
1567
1565
  errorMessage = `The transaction reverted because an "assert" statement failed to evaluate to true.`;
1568
1566
  break;
1569
- case import_configs6.FAILED_TRANSFER_TO_ADDRESS_SIGNAL:
1567
+ case import_configs5.FAILED_TRANSFER_TO_ADDRESS_SIGNAL:
1570
1568
  reason = "MissingOutputChange";
1571
1569
  errorMessage = `The transaction reverted because it's missing an "OutputChange".`;
1572
1570
  break;
@@ -1628,6 +1626,8 @@ var BaseTransactionRequest = class {
1628
1626
  outputs = [];
1629
1627
  /** List of witnesses */
1630
1628
  witnesses = [];
1629
+ /** Base asset ID - should be fetched from the chain */
1630
+ baseAssetId;
1631
1631
  /**
1632
1632
  * Constructor for initializing a base transaction request.
1633
1633
  *
@@ -1640,8 +1640,9 @@ var BaseTransactionRequest = class {
1640
1640
  witnessLimit,
1641
1641
  inputs,
1642
1642
  outputs,
1643
- witnesses
1644
- } = {}) {
1643
+ witnesses,
1644
+ baseAssetId
1645
+ }) {
1645
1646
  this.gasPrice = (0, import_math7.bn)(gasPrice);
1646
1647
  this.maturity = maturity ?? 0;
1647
1648
  this.witnessLimit = witnessLimit ? (0, import_math7.bn)(witnessLimit) : void 0;
@@ -1649,6 +1650,7 @@ var BaseTransactionRequest = class {
1649
1650
  this.inputs = inputs ?? [];
1650
1651
  this.outputs = outputs ?? [];
1651
1652
  this.witnesses = witnesses ?? [];
1653
+ this.baseAssetId = baseAssetId;
1652
1654
  }
1653
1655
  static getPolicyMeta(req) {
1654
1656
  let policyTypes = 0;
@@ -1741,7 +1743,7 @@ var BaseTransactionRequest = class {
1741
1743
  * @returns The index of the created witness.
1742
1744
  */
1743
1745
  addEmptyWitness() {
1744
- this.addWitness((0, import_utils9.concat)([import_configs7.ZeroBytes32, import_configs7.ZeroBytes32]));
1746
+ this.addWitness((0, import_utils9.concat)([import_configs6.ZeroBytes32, import_configs6.ZeroBytes32]));
1745
1747
  return this.witnesses.length - 1;
1746
1748
  }
1747
1749
  /**
@@ -1872,11 +1874,9 @@ var BaseTransactionRequest = class {
1872
1874
  *
1873
1875
  * @param message - Message resource.
1874
1876
  * @param predicate - Predicate bytes.
1875
- * @param predicateData - Predicate data bytes.
1876
1877
  */
1877
1878
  addMessageInput(message, predicate) {
1878
1879
  const { recipient, sender, amount } = message;
1879
- const assetId = import_configs7.BaseAssetId;
1880
1880
  let witnessIndex;
1881
1881
  if (predicate) {
1882
1882
  witnessIndex = 0;
@@ -1896,7 +1896,7 @@ var BaseTransactionRequest = class {
1896
1896
  predicate: predicate?.bytes
1897
1897
  };
1898
1898
  this.pushInput(input);
1899
- this.addChangeOutput(recipient, assetId);
1899
+ this.addChangeOutput(recipient, this.baseAssetId);
1900
1900
  }
1901
1901
  /**
1902
1902
  * Adds a single resource to the transaction by adding a coin/message input and a
@@ -1957,12 +1957,12 @@ var BaseTransactionRequest = class {
1957
1957
  * @param amount - Amount of coin.
1958
1958
  * @param assetId - Asset ID of coin.
1959
1959
  */
1960
- addCoinOutput(to, amount, assetId = import_configs7.BaseAssetId) {
1960
+ addCoinOutput(to, amount, assetId) {
1961
1961
  this.pushOutput({
1962
1962
  type: import_transactions6.OutputType.Coin,
1963
1963
  to: (0, import_address.addressify)(to).toB256(),
1964
1964
  amount,
1965
- assetId
1965
+ assetId: assetId ?? this.baseAssetId
1966
1966
  });
1967
1967
  return this;
1968
1968
  }
@@ -1989,7 +1989,7 @@ var BaseTransactionRequest = class {
1989
1989
  * @param to - Address of the owner.
1990
1990
  * @param assetId - Asset ID of coin.
1991
1991
  */
1992
- addChangeOutput(to, assetId = import_configs7.BaseAssetId) {
1992
+ addChangeOutput(to, assetId) {
1993
1993
  const changeOutput = this.getChangeOutputs().find(
1994
1994
  (output) => (0, import_utils9.hexlify)(output.assetId) === assetId
1995
1995
  );
@@ -1997,7 +1997,7 @@ var BaseTransactionRequest = class {
1997
1997
  this.pushOutput({
1998
1998
  type: import_transactions6.OutputType.Change,
1999
1999
  to: (0, import_address.addressify)(to).toB256(),
2000
- assetId
2000
+ assetId: assetId ?? this.baseAssetId
2001
2001
  });
2002
2002
  }
2003
2003
  }
@@ -2073,7 +2073,7 @@ var BaseTransactionRequest = class {
2073
2073
  ]);
2074
2074
  }
2075
2075
  };
2076
- updateAssetInput(import_configs7.BaseAssetId, (0, import_math7.bn)(1e11));
2076
+ updateAssetInput(this.baseAssetId, (0, import_math7.bn)(1e11));
2077
2077
  quantities.forEach((q) => updateAssetInput(q.assetId, q.amount));
2078
2078
  }
2079
2079
  /**
@@ -2123,13 +2123,13 @@ var BaseTransactionRequest = class {
2123
2123
  };
2124
2124
 
2125
2125
  // src/providers/transaction-request/create-transaction-request.ts
2126
- var import_configs9 = require("@fuel-ts/address/configs");
2126
+ var import_configs8 = require("@fuel-ts/address/configs");
2127
2127
  var import_math9 = require("@fuel-ts/math");
2128
2128
  var import_transactions8 = require("@fuel-ts/transactions");
2129
2129
  var import_utils13 = require("@fuel-ts/utils");
2130
2130
 
2131
2131
  // src/providers/transaction-request/hash-transaction.ts
2132
- var import_configs8 = require("@fuel-ts/address/configs");
2132
+ var import_configs7 = require("@fuel-ts/address/configs");
2133
2133
  var import_hasher = require("@fuel-ts/hasher");
2134
2134
  var import_math8 = require("@fuel-ts/math");
2135
2135
  var import_transactions7 = require("@fuel-ts/transactions");
@@ -2138,7 +2138,7 @@ var import_ramda2 = require("ramda");
2138
2138
  function hashTransaction(transactionRequest, chainId) {
2139
2139
  const transaction = transactionRequest.toTransaction();
2140
2140
  if (transaction.type === import_transactions7.TransactionType.Script) {
2141
- transaction.receiptsRoot = import_configs8.ZeroBytes32;
2141
+ transaction.receiptsRoot = import_configs7.ZeroBytes32;
2142
2142
  }
2143
2143
  transaction.inputs = transaction.inputs.map((input) => {
2144
2144
  const inputClone = (0, import_ramda2.clone)(input);
@@ -2160,10 +2160,10 @@ function hashTransaction(transactionRequest, chainId) {
2160
2160
  blockHeight: 0,
2161
2161
  txIndex: 0
2162
2162
  };
2163
- inputClone.txID = import_configs8.ZeroBytes32;
2163
+ inputClone.txID = import_configs7.ZeroBytes32;
2164
2164
  inputClone.outputIndex = 0;
2165
- inputClone.balanceRoot = import_configs8.ZeroBytes32;
2166
- inputClone.stateRoot = import_configs8.ZeroBytes32;
2165
+ inputClone.balanceRoot = import_configs7.ZeroBytes32;
2166
+ inputClone.stateRoot = import_configs7.ZeroBytes32;
2167
2167
  return inputClone;
2168
2168
  }
2169
2169
  default:
@@ -2174,8 +2174,8 @@ function hashTransaction(transactionRequest, chainId) {
2174
2174
  const outputClone = (0, import_ramda2.clone)(output);
2175
2175
  switch (outputClone.type) {
2176
2176
  case import_transactions7.OutputType.Contract: {
2177
- outputClone.balanceRoot = import_configs8.ZeroBytes32;
2178
- outputClone.stateRoot = import_configs8.ZeroBytes32;
2177
+ outputClone.balanceRoot = import_configs7.ZeroBytes32;
2178
+ outputClone.stateRoot = import_configs7.ZeroBytes32;
2179
2179
  return outputClone;
2180
2180
  }
2181
2181
  case import_transactions7.OutputType.Change: {
@@ -2183,9 +2183,9 @@ function hashTransaction(transactionRequest, chainId) {
2183
2183
  return outputClone;
2184
2184
  }
2185
2185
  case import_transactions7.OutputType.Variable: {
2186
- outputClone.to = import_configs8.ZeroBytes32;
2186
+ outputClone.to = import_configs7.ZeroBytes32;
2187
2187
  outputClone.amount = (0, import_math8.bn)(0);
2188
- outputClone.assetId = import_configs8.ZeroBytes32;
2188
+ outputClone.assetId = import_configs7.ZeroBytes32;
2189
2189
  return outputClone;
2190
2190
  }
2191
2191
  default:
@@ -2243,15 +2243,10 @@ var CreateTransactionRequest = class extends BaseTransactionRequest {
2243
2243
  *
2244
2244
  * @param createTransactionRequestLike - The initial values for the instance
2245
2245
  */
2246
- constructor({
2247
- bytecodeWitnessIndex,
2248
- salt,
2249
- storageSlots,
2250
- ...rest
2251
- } = {}) {
2246
+ constructor({ bytecodeWitnessIndex, salt, storageSlots, ...rest }) {
2252
2247
  super(rest);
2253
2248
  this.bytecodeWitnessIndex = bytecodeWitnessIndex ?? 0;
2254
- this.salt = (0, import_utils13.hexlify)(salt ?? import_configs9.ZeroBytes32);
2249
+ this.salt = (0, import_utils13.hexlify)(salt ?? import_configs8.ZeroBytes32);
2255
2250
  this.storageSlots = [...storageSlots ?? []];
2256
2251
  }
2257
2252
  /**
@@ -2269,7 +2264,7 @@ var CreateTransactionRequest = class extends BaseTransactionRequest {
2269
2264
  bytecodeLength: baseTransaction.witnesses[bytecodeWitnessIndex].dataLength / 4,
2270
2265
  bytecodeWitnessIndex,
2271
2266
  storageSlotsCount: storageSlots.length,
2272
- salt: this.salt ? (0, import_utils13.hexlify)(this.salt) : import_configs9.ZeroBytes32,
2267
+ salt: this.salt ? (0, import_utils13.hexlify)(this.salt) : import_configs8.ZeroBytes32,
2273
2268
  storageSlots
2274
2269
  };
2275
2270
  }
@@ -2319,7 +2314,7 @@ var CreateTransactionRequest = class extends BaseTransactionRequest {
2319
2314
  // src/providers/transaction-request/script-transaction-request.ts
2320
2315
  var import_abi_coder3 = require("@fuel-ts/abi-coder");
2321
2316
  var import_address2 = require("@fuel-ts/address");
2322
- var import_configs10 = require("@fuel-ts/address/configs");
2317
+ var import_configs9 = require("@fuel-ts/address/configs");
2323
2318
  var import_math10 = require("@fuel-ts/math");
2324
2319
  var import_transactions9 = require("@fuel-ts/transactions");
2325
2320
  var import_utils15 = require("@fuel-ts/utils");
@@ -2372,7 +2367,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
2372
2367
  *
2373
2368
  * @param scriptTransactionRequestLike - The initial values for the instance.
2374
2369
  */
2375
- constructor({ script, scriptData, gasLimit, ...rest } = {}) {
2370
+ constructor({ script, scriptData, gasLimit, ...rest }) {
2376
2371
  super(rest);
2377
2372
  this.gasLimit = (0, import_math10.bn)(gasLimit);
2378
2373
  this.script = (0, import_utils15.arrayify)(script ?? returnZeroScript.bytes);
@@ -2393,7 +2388,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
2393
2388
  ...super.getBaseTransaction(),
2394
2389
  scriptLength: script.length,
2395
2390
  scriptDataLength: scriptData.length,
2396
- receiptsRoot: import_configs10.ZeroBytes32,
2391
+ receiptsRoot: import_configs9.ZeroBytes32,
2397
2392
  script: (0, import_utils15.hexlify)(script),
2398
2393
  scriptData: (0, import_utils15.hexlify)(scriptData)
2399
2394
  };
@@ -2625,7 +2620,7 @@ var calculateTransactionFee = (params) => {
2625
2620
  };
2626
2621
 
2627
2622
  // src/providers/transaction-summary/operations.ts
2628
- var import_configs11 = require("@fuel-ts/address/configs");
2623
+ var import_configs10 = require("@fuel-ts/address/configs");
2629
2624
  var import_errors11 = require("@fuel-ts/errors");
2630
2625
  var import_math13 = require("@fuel-ts/math");
2631
2626
  var import_transactions14 = require("@fuel-ts/transactions");
@@ -2923,7 +2918,7 @@ function extractTransferOperationFromReceipt(receipt, contractInputs, changeOutp
2923
2918
  const { to: toAddress, assetId, amount } = receipt;
2924
2919
  let { from: fromAddress } = receipt;
2925
2920
  const toType = contractInputs.some((input) => input.contractID === toAddress) ? 0 /* contract */ : 1 /* account */;
2926
- if (import_configs11.ZeroBytes32 === fromAddress) {
2921
+ if (import_configs10.ZeroBytes32 === fromAddress) {
2927
2922
  const change = changeOutputs.find((output) => output.assetId === assetId);
2928
2923
  fromAddress = change?.to || fromAddress;
2929
2924
  }
@@ -3500,6 +3495,7 @@ var processGqlChain = (chain) => {
3500
3495
  gasPerByte: (0, import_math15.bn)(feeParams.gasPerByte),
3501
3496
  maxMessageDataLength: (0, import_math15.bn)(predicateParams.maxMessageDataLength),
3502
3497
  chainId: (0, import_math15.bn)(consensusParameters.chainId),
3498
+ baseAssetId: consensusParameters.baseAssetId,
3503
3499
  gasCosts
3504
3500
  },
3505
3501
  gasCosts,
@@ -3742,6 +3738,17 @@ var _Provider = class {
3742
3738
  } = this.getChain();
3743
3739
  return chainId.toNumber();
3744
3740
  }
3741
+ /**
3742
+ * Returns the base asset ID
3743
+ *
3744
+ * @returns A promise that resolves to the base asset ID
3745
+ */
3746
+ getBaseAssetId() {
3747
+ const {
3748
+ consensusParameters: { baseAssetId }
3749
+ } = this.getChain();
3750
+ return baseAssetId;
3751
+ }
3745
3752
  /**
3746
3753
  * Submits a transaction to the chain to be executed.
3747
3754
  *
@@ -4639,8 +4646,9 @@ var Account = class extends import_interfaces.AbstractAccount {
4639
4646
  * @param assetId - The asset ID to check the balance for.
4640
4647
  * @returns A promise that resolves to the balance amount.
4641
4648
  */
4642
- async getBalance(assetId = import_configs12.BaseAssetId) {
4643
- const amount = await this.provider.getBalance(this.address, assetId);
4649
+ async getBalance(assetId) {
4650
+ const assetIdToFetch = assetId ?? this.provider.getBaseAssetId();
4651
+ const amount = await this.provider.getBalance(this.address, assetIdToFetch);
4644
4652
  return amount;
4645
4653
  }
4646
4654
  /**
@@ -4678,9 +4686,10 @@ var Account = class extends import_interfaces.AbstractAccount {
4678
4686
  * @returns A promise that resolves when the resources are added to the transaction.
4679
4687
  */
4680
4688
  async fund(request, coinQuantities, fee) {
4689
+ const baseAssetId = this.provider.getBaseAssetId();
4681
4690
  const updatedQuantities = addAmountToAsset({
4682
4691
  amount: (0, import_math18.bn)(fee),
4683
- assetId: import_configs12.BaseAssetId,
4692
+ assetId: baseAssetId,
4684
4693
  coinQuantities
4685
4694
  });
4686
4695
  const quantitiesDict = {};
@@ -4704,8 +4713,8 @@ var Account = class extends import_interfaces.AbstractAccount {
4704
4713
  quantitiesDict[assetId].owned = quantitiesDict[assetId].owned.add(amount);
4705
4714
  cachedUtxos.push(input.id);
4706
4715
  }
4707
- } else if (input.recipient === owner && input.amount && quantitiesDict[import_configs12.BaseAssetId]) {
4708
- quantitiesDict[import_configs12.BaseAssetId].owned = quantitiesDict[import_configs12.BaseAssetId].owned.add(input.amount);
4716
+ } else if (input.recipient === owner && input.amount && quantitiesDict[baseAssetId]) {
4717
+ quantitiesDict[baseAssetId].owned = quantitiesDict[baseAssetId].owned.add(input.amount);
4709
4718
  cachedMessages.push(input.nonce);
4710
4719
  }
4711
4720
  }
@@ -4737,11 +4746,13 @@ var Account = class extends import_interfaces.AbstractAccount {
4737
4746
  * @param txParams - The transaction parameters (gasLimit, gasPrice, maturity).
4738
4747
  * @returns A promise that resolves to the prepared transaction request.
4739
4748
  */
4740
- async createTransfer(destination, amount, assetId = import_configs12.BaseAssetId, txParams = {}) {
4749
+ async createTransfer(destination, amount, assetId, txParams = {}) {
4741
4750
  const { minGasPrice } = this.provider.getGasConfig();
4742
- const params = { gasPrice: minGasPrice, ...txParams };
4751
+ const baseAssetId = this.provider.getBaseAssetId();
4752
+ const assetIdToTransfer = assetId ?? this.provider.getBaseAssetId();
4753
+ const params = { gasPrice: minGasPrice, baseAssetId, ...txParams };
4743
4754
  const request = new ScriptTransactionRequest(params);
4744
- request.addCoinOutput(import_address4.Address.fromAddressOrString(destination), amount, assetId);
4755
+ request.addCoinOutput(import_address4.Address.fromAddressOrString(destination), amount, assetIdToTransfer);
4745
4756
  const { maxFee, requiredQuantities, gasUsed, estimatedInputs } = await this.provider.getTransactionCost(request, [], {
4746
4757
  estimateTxDependencies: true,
4747
4758
  resourcesOwner: this
@@ -4767,14 +4778,15 @@ var Account = class extends import_interfaces.AbstractAccount {
4767
4778
  * @param txParams - The transaction parameters (gasLimit, gasPrice, maturity).
4768
4779
  * @returns A promise that resolves to the transaction response.
4769
4780
  */
4770
- async transfer(destination, amount, assetId = import_configs12.BaseAssetId, txParams = {}) {
4781
+ async transfer(destination, amount, assetId, txParams = {}) {
4771
4782
  if ((0, import_math18.bn)(amount).lte(0)) {
4772
4783
  throw new import_errors16.FuelError(
4773
4784
  import_errors16.ErrorCode.INVALID_TRANSFER_AMOUNT,
4774
4785
  "Transfer amount must be a positive number."
4775
4786
  );
4776
4787
  }
4777
- const request = await this.createTransfer(destination, amount, assetId, txParams);
4788
+ const assetIdToTransfer = assetId ?? this.provider.getBaseAssetId();
4789
+ const request = await this.createTransfer(destination, amount, assetIdToTransfer, txParams);
4778
4790
  return this.sendTransaction(request, { estimateTxDependencies: false });
4779
4791
  }
4780
4792
  /**
@@ -4786,7 +4798,7 @@ var Account = class extends import_interfaces.AbstractAccount {
4786
4798
  * @param txParams - The optional transaction parameters.
4787
4799
  * @returns A promise that resolves to the transaction response.
4788
4800
  */
4789
- async transferToContract(contractId, amount, assetId = import_configs12.BaseAssetId, txParams = {}) {
4801
+ async transferToContract(contractId, amount, assetId, txParams = {}) {
4790
4802
  if ((0, import_math18.bn)(amount).lte(0)) {
4791
4803
  throw new import_errors16.FuelError(
4792
4804
  import_errors16.ErrorCode.INVALID_TRANSFER_AMOUNT,
@@ -4795,11 +4807,13 @@ var Account = class extends import_interfaces.AbstractAccount {
4795
4807
  }
4796
4808
  const contractAddress = import_address4.Address.fromAddressOrString(contractId);
4797
4809
  const { minGasPrice } = this.provider.getGasConfig();
4798
- const params = { gasPrice: minGasPrice, ...txParams };
4810
+ const baseAssetId = this.provider.getBaseAssetId();
4811
+ const assetIdToTransfer = assetId ?? this.provider.getBaseAssetId();
4812
+ const params = { gasPrice: minGasPrice, baseAssetId, ...txParams };
4799
4813
  const { script, scriptData } = await assembleTransferToContractScript({
4800
4814
  hexlifiedContractId: contractAddress.toB256(),
4801
4815
  amountToTransfer: (0, import_math18.bn)(amount),
4802
- assetId
4816
+ assetId: assetIdToTransfer
4803
4817
  });
4804
4818
  const request = new ScriptTransactionRequest({
4805
4819
  ...params,
@@ -4809,7 +4823,7 @@ var Account = class extends import_interfaces.AbstractAccount {
4809
4823
  request.addContractInputAndOutput(contractAddress);
4810
4824
  const { maxFee, requiredQuantities, gasUsed } = await this.provider.getTransactionCost(
4811
4825
  request,
4812
- [{ amount: (0, import_math18.bn)(amount), assetId: String(assetId) }]
4826
+ [{ amount: (0, import_math18.bn)(amount), assetId: String(assetIdToTransfer) }]
4813
4827
  );
4814
4828
  request.gasLimit = (0, import_math18.bn)(params.gasLimit ?? gasUsed);
4815
4829
  this.validateGas({
@@ -4831,6 +4845,7 @@ var Account = class extends import_interfaces.AbstractAccount {
4831
4845
  */
4832
4846
  async withdrawToBaseLayer(recipient, amount, txParams = {}) {
4833
4847
  const { minGasPrice } = this.provider.getGasConfig();
4848
+ const baseAssetId = this.provider.getBaseAssetId();
4834
4849
  const recipientAddress = import_address4.Address.fromAddressOrString(recipient);
4835
4850
  const recipientDataArray = (0, import_utils28.arrayify)(
4836
4851
  "0x".concat(recipientAddress.toHexString().substring(2).padStart(64, "0"))
@@ -4843,9 +4858,14 @@ var Account = class extends import_interfaces.AbstractAccount {
4843
4858
  ...recipientDataArray,
4844
4859
  ...amountDataArray
4845
4860
  ]);
4846
- const params = { script, gasPrice: minGasPrice, ...txParams };
4861
+ const params = {
4862
+ script,
4863
+ gasPrice: minGasPrice,
4864
+ baseAssetId,
4865
+ ...txParams
4866
+ };
4847
4867
  const request = new ScriptTransactionRequest(params);
4848
- const forwardingQuantities = [{ amount: (0, import_math18.bn)(amount), assetId: import_configs12.BaseAssetId }];
4868
+ const forwardingQuantities = [{ amount: (0, import_math18.bn)(amount), assetId: baseAssetId }];
4849
4869
  const { requiredQuantities, maxFee, gasUsed } = await this.provider.getTransactionCost(
4850
4870
  request,
4851
4871
  forwardingQuantities
@@ -7990,7 +8010,9 @@ var seedTestWallet = async (wallet, quantities) => {
7990
8010
  );
7991
8011
  const resources = await genesisWallet.getResourcesToSpend(quantities);
7992
8012
  const { minGasPrice } = genesisWallet.provider.getGasConfig();
8013
+ const baseAssetId = genesisWallet.provider.getBaseAssetId();
7993
8014
  const request = new ScriptTransactionRequest({
8015
+ baseAssetId,
7994
8016
  gasLimit: 1e4,
7995
8017
  gasPrice: minGasPrice
7996
8018
  });
@@ -8009,7 +8031,7 @@ var generateTestWallet = async (provider, quantities) => {
8009
8031
  };
8010
8032
 
8011
8033
  // src/test-utils/launchNode.ts
8012
- var import_configs13 = require("@fuel-ts/address/configs");
8034
+ var import_configs11 = require("@fuel-ts/address/configs");
8013
8035
  var import_math21 = require("@fuel-ts/math");
8014
8036
  var import_utils36 = require("@fuel-ts/utils");
8015
8037
  var import_cli_utils = require("@fuel-ts/utils/cli-utils");
@@ -8109,7 +8131,7 @@ var launchNode = async ({
8109
8131
  {
8110
8132
  owner: signer.address.toHexString(),
8111
8133
  amount: (0, import_math21.toHex)(1e9),
8112
- asset_id: import_configs13.BaseAssetId
8134
+ asset_id: import_utils36.defaultChainConfig?.consensus_parameters?.base_asset_id ?? import_configs11.ZeroBytes32
8113
8135
  }
8114
8136
  ]
8115
8137
  }
@@ -8175,9 +8197,10 @@ var launchNode = async ({
8175
8197
  })
8176
8198
  );
8177
8199
  var generateWallets = async (count, provider) => {
8200
+ const baseAssetId = provider.getBaseAssetId();
8178
8201
  const wallets = [];
8179
8202
  for (let i = 0; i < count; i += 1) {
8180
- const wallet = await generateTestWallet(provider, [[1e3, import_configs13.BaseAssetId]]);
8203
+ const wallet = await generateTestWallet(provider, [[1e3, baseAssetId]]);
8181
8204
  wallets.push(wallet);
8182
8205
  }
8183
8206
  return wallets;