@fuel-ts/account 0.0.0-rc-2045-20240419094011 → 0.0.0-rc-1976-20240419101644

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);
@@ -1061,7 +1059,7 @@ var MemoryCache = class {
1061
1059
 
1062
1060
  // src/providers/transaction-request/input.ts
1063
1061
  var import_abi_coder = require("@fuel-ts/abi-coder");
1064
- var import_configs2 = require("@fuel-ts/address/configs");
1062
+ var import_configs = require("@fuel-ts/address/configs");
1065
1063
  var import_errors3 = require("@fuel-ts/errors");
1066
1064
  var import_math2 = require("@fuel-ts/math");
1067
1065
  var import_transactions = require("@fuel-ts/transactions");
@@ -1095,10 +1093,10 @@ var inputify = (value) => {
1095
1093
  case import_transactions.InputType.Contract: {
1096
1094
  return {
1097
1095
  type: import_transactions.InputType.Contract,
1098
- txID: import_configs2.ZeroBytes32,
1096
+ txID: import_configs.ZeroBytes32,
1099
1097
  outputIndex: 0,
1100
- balanceRoot: import_configs2.ZeroBytes32,
1101
- stateRoot: import_configs2.ZeroBytes32,
1098
+ balanceRoot: import_configs.ZeroBytes32,
1099
+ stateRoot: import_configs.ZeroBytes32,
1102
1100
  txPointer: {
1103
1101
  blockHeight: (0, import_math2.toNumber)((0, import_utils3.arrayify)(value.txPointer).slice(0, 8)),
1104
1102
  txIndex: (0, import_math2.toNumber)((0, import_utils3.arrayify)(value.txPointer).slice(8, 16))
@@ -1136,7 +1134,7 @@ var inputify = (value) => {
1136
1134
  };
1137
1135
 
1138
1136
  // src/providers/transaction-request/output.ts
1139
- var import_configs3 = require("@fuel-ts/address/configs");
1137
+ var import_configs2 = require("@fuel-ts/address/configs");
1140
1138
  var import_errors4 = require("@fuel-ts/errors");
1141
1139
  var import_math3 = require("@fuel-ts/math");
1142
1140
  var import_transactions2 = require("@fuel-ts/transactions");
@@ -1156,8 +1154,8 @@ var outputify = (value) => {
1156
1154
  return {
1157
1155
  type: import_transactions2.OutputType.Contract,
1158
1156
  inputIndex: value.inputIndex,
1159
- balanceRoot: import_configs3.ZeroBytes32,
1160
- stateRoot: import_configs3.ZeroBytes32
1157
+ balanceRoot: import_configs2.ZeroBytes32,
1158
+ stateRoot: import_configs2.ZeroBytes32
1161
1159
  };
1162
1160
  }
1163
1161
  case import_transactions2.OutputType.Change: {
@@ -1171,9 +1169,9 @@ var outputify = (value) => {
1171
1169
  case import_transactions2.OutputType.Variable: {
1172
1170
  return {
1173
1171
  type: import_transactions2.OutputType.Variable,
1174
- to: import_configs3.ZeroBytes32,
1172
+ to: import_configs2.ZeroBytes32,
1175
1173
  amount: (0, import_math3.bn)(0),
1176
- assetId: import_configs3.ZeroBytes32
1174
+ assetId: import_configs2.ZeroBytes32
1177
1175
  };
1178
1176
  }
1179
1177
  case import_transactions2.OutputType.ContractCreated: {
@@ -1195,7 +1193,7 @@ var outputify = (value) => {
1195
1193
  // src/providers/transaction-request/transaction-request.ts
1196
1194
  var import_abi_coder2 = require("@fuel-ts/abi-coder");
1197
1195
  var import_address = require("@fuel-ts/address");
1198
- var import_configs7 = require("@fuel-ts/address/configs");
1196
+ var import_configs6 = require("@fuel-ts/address/configs");
1199
1197
  var import_crypto = require("@fuel-ts/crypto");
1200
1198
  var import_math7 = require("@fuel-ts/math");
1201
1199
  var import_transactions6 = require("@fuel-ts/transactions");
@@ -1205,13 +1203,13 @@ var import_utils9 = require("@fuel-ts/utils");
1205
1203
  var isCoin = (resource) => "id" in resource;
1206
1204
 
1207
1205
  // src/providers/utils/receipts.ts
1208
- var import_configs4 = require("@fuel-ts/address/configs");
1206
+ var import_configs3 = require("@fuel-ts/address/configs");
1209
1207
  var import_errors5 = require("@fuel-ts/errors");
1210
1208
  var import_math4 = require("@fuel-ts/math");
1211
1209
  var import_transactions3 = require("@fuel-ts/transactions");
1212
- var import_configs5 = require("@fuel-ts/transactions/configs");
1210
+ var import_configs4 = require("@fuel-ts/transactions/configs");
1213
1211
  var import_utils5 = require("@fuel-ts/utils");
1214
- var doesReceiptHaveMissingOutputVariables = (receipt) => receipt.type === import_transactions3.ReceiptType.Revert && receipt.val.toString("hex") === import_configs5.FAILED_TRANSFER_TO_ADDRESS_SIGNAL;
1212
+ var doesReceiptHaveMissingOutputVariables = (receipt) => receipt.type === import_transactions3.ReceiptType.Revert && receipt.val.toString("hex") === import_configs4.FAILED_TRANSFER_TO_ADDRESS_SIGNAL;
1215
1213
  var doesReceiptHaveMissingContractId = (receipt) => receipt.type === import_transactions3.ReceiptType.Panic && receipt.contractId !== "0x0000000000000000000000000000000000000000000000000000000000000000";
1216
1214
  var getReceiptsWithMissingData = (receipts) => receipts.reduce(
1217
1215
  (memo, receipt) => {
@@ -1228,7 +1226,7 @@ var getReceiptsWithMissingData = (receipts) => receipts.reduce(
1228
1226
  missingOutputContractIds: []
1229
1227
  }
1230
1228
  );
1231
- var hexOrZero = (hex) => hex || import_configs4.ZeroBytes32;
1229
+ var hexOrZero = (hex) => hex || import_configs3.ZeroBytes32;
1232
1230
  function assembleReceiptByType(receipt) {
1233
1231
  const { receiptType } = receipt;
1234
1232
  switch (receiptType) {
@@ -1533,16 +1531,16 @@ function sleep(time) {
1533
1531
  var import_errors7 = require("@fuel-ts/errors");
1534
1532
  var import_math6 = require("@fuel-ts/math");
1535
1533
  var import_transactions5 = require("@fuel-ts/transactions");
1536
- var import_configs6 = require("@fuel-ts/transactions/configs");
1534
+ var import_configs5 = require("@fuel-ts/transactions/configs");
1537
1535
  var assemblePanicError = (status) => {
1538
1536
  let errorMessage = `The transaction reverted with reason: "${status.reason}".`;
1539
1537
  const reason = status.reason;
1540
- if (import_configs6.PANIC_REASONS.includes(status.reason)) {
1538
+ if (import_configs5.PANIC_REASONS.includes(status.reason)) {
1541
1539
  errorMessage = `${errorMessage}
1542
1540
 
1543
1541
  You can read more about this error at:
1544
1542
 
1545
- ${import_configs6.PANIC_DOC_URL}#variant.${status.reason}`;
1543
+ ${import_configs5.PANIC_DOC_URL}#variant.${status.reason}`;
1546
1544
  }
1547
1545
  return { errorMessage, reason };
1548
1546
  };
@@ -1554,28 +1552,28 @@ var assembleRevertError = (receipts, logs) => {
1554
1552
  if (revertReceipt) {
1555
1553
  const reasonHex = (0, import_math6.bn)(revertReceipt.val).toHex();
1556
1554
  switch (reasonHex) {
1557
- case import_configs6.FAILED_REQUIRE_SIGNAL: {
1555
+ case import_configs5.FAILED_REQUIRE_SIGNAL: {
1558
1556
  reason = "require";
1559
1557
  errorMessage = `The transaction reverted because a "require" statement has thrown ${logs.length ? stringify(logs[0]) : "an error."}.`;
1560
1558
  break;
1561
1559
  }
1562
- case import_configs6.FAILED_ASSERT_EQ_SIGNAL: {
1560
+ case import_configs5.FAILED_ASSERT_EQ_SIGNAL: {
1563
1561
  const sufix = logs.length >= 2 ? ` comparing ${stringify(logs[1])} and ${stringify(logs[0])}.` : ".";
1564
1562
  reason = "assert_eq";
1565
1563
  errorMessage = `The transaction reverted because of an "assert_eq" statement${sufix}`;
1566
1564
  break;
1567
1565
  }
1568
- case import_configs6.FAILED_ASSERT_NE_SIGNAL: {
1566
+ case import_configs5.FAILED_ASSERT_NE_SIGNAL: {
1569
1567
  const sufix = logs.length >= 2 ? ` comparing ${stringify(logs[1])} and ${stringify(logs[0])}.` : ".";
1570
1568
  reason = "assert_ne";
1571
1569
  errorMessage = `The transaction reverted because of an "assert_ne" statement${sufix}`;
1572
1570
  break;
1573
1571
  }
1574
- case import_configs6.FAILED_ASSERT_SIGNAL:
1572
+ case import_configs5.FAILED_ASSERT_SIGNAL:
1575
1573
  reason = "assert";
1576
1574
  errorMessage = `The transaction reverted because an "assert" statement failed to evaluate to true.`;
1577
1575
  break;
1578
- case import_configs6.FAILED_TRANSFER_TO_ADDRESS_SIGNAL:
1576
+ case import_configs5.FAILED_TRANSFER_TO_ADDRESS_SIGNAL:
1579
1577
  reason = "MissingOutputChange";
1580
1578
  errorMessage = `The transaction reverted because it's missing an "OutputChange".`;
1581
1579
  break;
@@ -1637,6 +1635,8 @@ var BaseTransactionRequest = class {
1637
1635
  outputs = [];
1638
1636
  /** List of witnesses */
1639
1637
  witnesses = [];
1638
+ /** Base asset ID - should be fetched from the chain */
1639
+ baseAssetId;
1640
1640
  /**
1641
1641
  * Constructor for initializing a base transaction request.
1642
1642
  *
@@ -1649,8 +1649,9 @@ var BaseTransactionRequest = class {
1649
1649
  witnessLimit,
1650
1650
  inputs,
1651
1651
  outputs,
1652
- witnesses
1653
- } = {}) {
1652
+ witnesses,
1653
+ baseAssetId
1654
+ }) {
1654
1655
  this.gasPrice = (0, import_math7.bn)(gasPrice);
1655
1656
  this.maturity = maturity ?? 0;
1656
1657
  this.witnessLimit = witnessLimit ? (0, import_math7.bn)(witnessLimit) : void 0;
@@ -1658,6 +1659,7 @@ var BaseTransactionRequest = class {
1658
1659
  this.inputs = inputs ?? [];
1659
1660
  this.outputs = outputs ?? [];
1660
1661
  this.witnesses = witnesses ?? [];
1662
+ this.baseAssetId = baseAssetId;
1661
1663
  }
1662
1664
  static getPolicyMeta(req) {
1663
1665
  let policyTypes = 0;
@@ -1750,7 +1752,7 @@ var BaseTransactionRequest = class {
1750
1752
  * @returns The index of the created witness.
1751
1753
  */
1752
1754
  addEmptyWitness() {
1753
- this.addWitness((0, import_utils9.concat)([import_configs7.ZeroBytes32, import_configs7.ZeroBytes32]));
1755
+ this.addWitness((0, import_utils9.concat)([import_configs6.ZeroBytes32, import_configs6.ZeroBytes32]));
1754
1756
  return this.witnesses.length - 1;
1755
1757
  }
1756
1758
  /**
@@ -1881,11 +1883,9 @@ var BaseTransactionRequest = class {
1881
1883
  *
1882
1884
  * @param message - Message resource.
1883
1885
  * @param predicate - Predicate bytes.
1884
- * @param predicateData - Predicate data bytes.
1885
1886
  */
1886
1887
  addMessageInput(message, predicate) {
1887
1888
  const { recipient, sender, amount } = message;
1888
- const assetId = import_configs7.BaseAssetId;
1889
1889
  let witnessIndex;
1890
1890
  if (predicate) {
1891
1891
  witnessIndex = 0;
@@ -1905,7 +1905,7 @@ var BaseTransactionRequest = class {
1905
1905
  predicate: predicate?.bytes
1906
1906
  };
1907
1907
  this.pushInput(input);
1908
- this.addChangeOutput(recipient, assetId);
1908
+ this.addChangeOutput(recipient, this.baseAssetId);
1909
1909
  }
1910
1910
  /**
1911
1911
  * Adds a single resource to the transaction by adding a coin/message input and a
@@ -1966,12 +1966,12 @@ var BaseTransactionRequest = class {
1966
1966
  * @param amount - Amount of coin.
1967
1967
  * @param assetId - Asset ID of coin.
1968
1968
  */
1969
- addCoinOutput(to, amount, assetId = import_configs7.BaseAssetId) {
1969
+ addCoinOutput(to, amount, assetId) {
1970
1970
  this.pushOutput({
1971
1971
  type: import_transactions6.OutputType.Coin,
1972
1972
  to: (0, import_address.addressify)(to).toB256(),
1973
1973
  amount,
1974
- assetId
1974
+ assetId: assetId ?? this.baseAssetId
1975
1975
  });
1976
1976
  return this;
1977
1977
  }
@@ -1998,7 +1998,7 @@ var BaseTransactionRequest = class {
1998
1998
  * @param to - Address of the owner.
1999
1999
  * @param assetId - Asset ID of coin.
2000
2000
  */
2001
- addChangeOutput(to, assetId = import_configs7.BaseAssetId) {
2001
+ addChangeOutput(to, assetId) {
2002
2002
  const changeOutput = this.getChangeOutputs().find(
2003
2003
  (output) => (0, import_utils9.hexlify)(output.assetId) === assetId
2004
2004
  );
@@ -2006,7 +2006,7 @@ var BaseTransactionRequest = class {
2006
2006
  this.pushOutput({
2007
2007
  type: import_transactions6.OutputType.Change,
2008
2008
  to: (0, import_address.addressify)(to).toB256(),
2009
- assetId
2009
+ assetId: assetId ?? this.baseAssetId
2010
2010
  });
2011
2011
  }
2012
2012
  }
@@ -2082,7 +2082,7 @@ var BaseTransactionRequest = class {
2082
2082
  ]);
2083
2083
  }
2084
2084
  };
2085
- updateAssetInput(import_configs7.BaseAssetId, (0, import_math7.bn)(1e11));
2085
+ updateAssetInput(this.baseAssetId, (0, import_math7.bn)(1e11));
2086
2086
  quantities.forEach((q) => updateAssetInput(q.assetId, q.amount));
2087
2087
  }
2088
2088
  /**
@@ -2132,13 +2132,13 @@ var BaseTransactionRequest = class {
2132
2132
  };
2133
2133
 
2134
2134
  // src/providers/transaction-request/create-transaction-request.ts
2135
- var import_configs9 = require("@fuel-ts/address/configs");
2135
+ var import_configs8 = require("@fuel-ts/address/configs");
2136
2136
  var import_math9 = require("@fuel-ts/math");
2137
2137
  var import_transactions8 = require("@fuel-ts/transactions");
2138
2138
  var import_utils13 = require("@fuel-ts/utils");
2139
2139
 
2140
2140
  // src/providers/transaction-request/hash-transaction.ts
2141
- var import_configs8 = require("@fuel-ts/address/configs");
2141
+ var import_configs7 = require("@fuel-ts/address/configs");
2142
2142
  var import_hasher = require("@fuel-ts/hasher");
2143
2143
  var import_math8 = require("@fuel-ts/math");
2144
2144
  var import_transactions7 = require("@fuel-ts/transactions");
@@ -2147,7 +2147,7 @@ var import_ramda2 = require("ramda");
2147
2147
  function hashTransaction(transactionRequest, chainId) {
2148
2148
  const transaction = transactionRequest.toTransaction();
2149
2149
  if (transaction.type === import_transactions7.TransactionType.Script) {
2150
- transaction.receiptsRoot = import_configs8.ZeroBytes32;
2150
+ transaction.receiptsRoot = import_configs7.ZeroBytes32;
2151
2151
  }
2152
2152
  transaction.inputs = transaction.inputs.map((input) => {
2153
2153
  const inputClone = (0, import_ramda2.clone)(input);
@@ -2169,10 +2169,10 @@ function hashTransaction(transactionRequest, chainId) {
2169
2169
  blockHeight: 0,
2170
2170
  txIndex: 0
2171
2171
  };
2172
- inputClone.txID = import_configs8.ZeroBytes32;
2172
+ inputClone.txID = import_configs7.ZeroBytes32;
2173
2173
  inputClone.outputIndex = 0;
2174
- inputClone.balanceRoot = import_configs8.ZeroBytes32;
2175
- inputClone.stateRoot = import_configs8.ZeroBytes32;
2174
+ inputClone.balanceRoot = import_configs7.ZeroBytes32;
2175
+ inputClone.stateRoot = import_configs7.ZeroBytes32;
2176
2176
  return inputClone;
2177
2177
  }
2178
2178
  default:
@@ -2183,8 +2183,8 @@ function hashTransaction(transactionRequest, chainId) {
2183
2183
  const outputClone = (0, import_ramda2.clone)(output);
2184
2184
  switch (outputClone.type) {
2185
2185
  case import_transactions7.OutputType.Contract: {
2186
- outputClone.balanceRoot = import_configs8.ZeroBytes32;
2187
- outputClone.stateRoot = import_configs8.ZeroBytes32;
2186
+ outputClone.balanceRoot = import_configs7.ZeroBytes32;
2187
+ outputClone.stateRoot = import_configs7.ZeroBytes32;
2188
2188
  return outputClone;
2189
2189
  }
2190
2190
  case import_transactions7.OutputType.Change: {
@@ -2192,9 +2192,9 @@ function hashTransaction(transactionRequest, chainId) {
2192
2192
  return outputClone;
2193
2193
  }
2194
2194
  case import_transactions7.OutputType.Variable: {
2195
- outputClone.to = import_configs8.ZeroBytes32;
2195
+ outputClone.to = import_configs7.ZeroBytes32;
2196
2196
  outputClone.amount = (0, import_math8.bn)(0);
2197
- outputClone.assetId = import_configs8.ZeroBytes32;
2197
+ outputClone.assetId = import_configs7.ZeroBytes32;
2198
2198
  return outputClone;
2199
2199
  }
2200
2200
  default:
@@ -2252,15 +2252,10 @@ var CreateTransactionRequest = class extends BaseTransactionRequest {
2252
2252
  *
2253
2253
  * @param createTransactionRequestLike - The initial values for the instance
2254
2254
  */
2255
- constructor({
2256
- bytecodeWitnessIndex,
2257
- salt,
2258
- storageSlots,
2259
- ...rest
2260
- } = {}) {
2255
+ constructor({ bytecodeWitnessIndex, salt, storageSlots, ...rest }) {
2261
2256
  super(rest);
2262
2257
  this.bytecodeWitnessIndex = bytecodeWitnessIndex ?? 0;
2263
- this.salt = (0, import_utils13.hexlify)(salt ?? import_configs9.ZeroBytes32);
2258
+ this.salt = (0, import_utils13.hexlify)(salt ?? import_configs8.ZeroBytes32);
2264
2259
  this.storageSlots = [...storageSlots ?? []];
2265
2260
  }
2266
2261
  /**
@@ -2278,7 +2273,7 @@ var CreateTransactionRequest = class extends BaseTransactionRequest {
2278
2273
  bytecodeLength: baseTransaction.witnesses[bytecodeWitnessIndex].dataLength / 4,
2279
2274
  bytecodeWitnessIndex,
2280
2275
  storageSlotsCount: storageSlots.length,
2281
- salt: this.salt ? (0, import_utils13.hexlify)(this.salt) : import_configs9.ZeroBytes32,
2276
+ salt: this.salt ? (0, import_utils13.hexlify)(this.salt) : import_configs8.ZeroBytes32,
2282
2277
  storageSlots
2283
2278
  };
2284
2279
  }
@@ -2328,7 +2323,7 @@ var CreateTransactionRequest = class extends BaseTransactionRequest {
2328
2323
  // src/providers/transaction-request/script-transaction-request.ts
2329
2324
  var import_abi_coder3 = require("@fuel-ts/abi-coder");
2330
2325
  var import_address2 = require("@fuel-ts/address");
2331
- var import_configs10 = require("@fuel-ts/address/configs");
2326
+ var import_configs9 = require("@fuel-ts/address/configs");
2332
2327
  var import_math10 = require("@fuel-ts/math");
2333
2328
  var import_transactions9 = require("@fuel-ts/transactions");
2334
2329
  var import_utils15 = require("@fuel-ts/utils");
@@ -2381,7 +2376,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
2381
2376
  *
2382
2377
  * @param scriptTransactionRequestLike - The initial values for the instance.
2383
2378
  */
2384
- constructor({ script, scriptData, gasLimit, ...rest } = {}) {
2379
+ constructor({ script, scriptData, gasLimit, ...rest }) {
2385
2380
  super(rest);
2386
2381
  this.gasLimit = (0, import_math10.bn)(gasLimit);
2387
2382
  this.script = (0, import_utils15.arrayify)(script ?? returnZeroScript.bytes);
@@ -2402,7 +2397,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
2402
2397
  ...super.getBaseTransaction(),
2403
2398
  scriptLength: script.length,
2404
2399
  scriptDataLength: scriptData.length,
2405
- receiptsRoot: import_configs10.ZeroBytes32,
2400
+ receiptsRoot: import_configs9.ZeroBytes32,
2406
2401
  script: (0, import_utils15.hexlify)(script),
2407
2402
  scriptData: (0, import_utils15.hexlify)(scriptData)
2408
2403
  };
@@ -2634,7 +2629,7 @@ var calculateTransactionFee = (params) => {
2634
2629
  };
2635
2630
 
2636
2631
  // src/providers/transaction-summary/operations.ts
2637
- var import_configs11 = require("@fuel-ts/address/configs");
2632
+ var import_configs10 = require("@fuel-ts/address/configs");
2638
2633
  var import_errors11 = require("@fuel-ts/errors");
2639
2634
  var import_math13 = require("@fuel-ts/math");
2640
2635
  var import_transactions14 = require("@fuel-ts/transactions");
@@ -2932,7 +2927,7 @@ function extractTransferOperationFromReceipt(receipt, contractInputs, changeOutp
2932
2927
  const { to: toAddress, assetId, amount } = receipt;
2933
2928
  let { from: fromAddress } = receipt;
2934
2929
  const toType = contractInputs.some((input) => input.contractID === toAddress) ? 0 /* contract */ : 1 /* account */;
2935
- if (import_configs11.ZeroBytes32 === fromAddress) {
2930
+ if (import_configs10.ZeroBytes32 === fromAddress) {
2936
2931
  const change = changeOutputs.find((output) => output.assetId === assetId);
2937
2932
  fromAddress = change?.to || fromAddress;
2938
2933
  }
@@ -3509,6 +3504,7 @@ var processGqlChain = (chain) => {
3509
3504
  gasPerByte: (0, import_math15.bn)(feeParams.gasPerByte),
3510
3505
  maxMessageDataLength: (0, import_math15.bn)(predicateParams.maxMessageDataLength),
3511
3506
  chainId: (0, import_math15.bn)(consensusParameters.chainId),
3507
+ baseAssetId: consensusParameters.baseAssetId,
3512
3508
  gasCosts
3513
3509
  },
3514
3510
  gasCosts,
@@ -3751,6 +3747,17 @@ var _Provider = class {
3751
3747
  } = this.getChain();
3752
3748
  return chainId.toNumber();
3753
3749
  }
3750
+ /**
3751
+ * Returns the base asset ID
3752
+ *
3753
+ * @returns A promise that resolves to the base asset ID
3754
+ */
3755
+ getBaseAssetId() {
3756
+ const {
3757
+ consensusParameters: { baseAssetId }
3758
+ } = this.getChain();
3759
+ return baseAssetId;
3760
+ }
3754
3761
  /**
3755
3762
  * Submits a transaction to the chain to be executed.
3756
3763
  *
@@ -4648,8 +4655,9 @@ var Account = class extends import_interfaces.AbstractAccount {
4648
4655
  * @param assetId - The asset ID to check the balance for.
4649
4656
  * @returns A promise that resolves to the balance amount.
4650
4657
  */
4651
- async getBalance(assetId = import_configs12.BaseAssetId) {
4652
- const amount = await this.provider.getBalance(this.address, assetId);
4658
+ async getBalance(assetId) {
4659
+ const assetIdToFetch = assetId ?? this.provider.getBaseAssetId();
4660
+ const amount = await this.provider.getBalance(this.address, assetIdToFetch);
4653
4661
  return amount;
4654
4662
  }
4655
4663
  /**
@@ -4687,9 +4695,10 @@ var Account = class extends import_interfaces.AbstractAccount {
4687
4695
  * @returns A promise that resolves when the resources are added to the transaction.
4688
4696
  */
4689
4697
  async fund(request, coinQuantities, fee) {
4698
+ const baseAssetId = this.provider.getBaseAssetId();
4690
4699
  const updatedQuantities = addAmountToAsset({
4691
4700
  amount: (0, import_math18.bn)(fee),
4692
- assetId: import_configs12.BaseAssetId,
4701
+ assetId: baseAssetId,
4693
4702
  coinQuantities
4694
4703
  });
4695
4704
  const quantitiesDict = {};
@@ -4713,8 +4722,8 @@ var Account = class extends import_interfaces.AbstractAccount {
4713
4722
  quantitiesDict[assetId].owned = quantitiesDict[assetId].owned.add(amount);
4714
4723
  cachedUtxos.push(input.id);
4715
4724
  }
4716
- } else if (input.recipient === owner && input.amount && quantitiesDict[import_configs12.BaseAssetId]) {
4717
- quantitiesDict[import_configs12.BaseAssetId].owned = quantitiesDict[import_configs12.BaseAssetId].owned.add(input.amount);
4725
+ } else if (input.recipient === owner && input.amount && quantitiesDict[baseAssetId]) {
4726
+ quantitiesDict[baseAssetId].owned = quantitiesDict[baseAssetId].owned.add(input.amount);
4718
4727
  cachedMessages.push(input.nonce);
4719
4728
  }
4720
4729
  }
@@ -4746,11 +4755,13 @@ var Account = class extends import_interfaces.AbstractAccount {
4746
4755
  * @param txParams - The transaction parameters (gasLimit, gasPrice, maturity).
4747
4756
  * @returns A promise that resolves to the prepared transaction request.
4748
4757
  */
4749
- async createTransfer(destination, amount, assetId = import_configs12.BaseAssetId, txParams = {}) {
4758
+ async createTransfer(destination, amount, assetId, txParams = {}) {
4750
4759
  const { minGasPrice } = this.provider.getGasConfig();
4751
- const params = { gasPrice: minGasPrice, ...txParams };
4760
+ const baseAssetId = this.provider.getBaseAssetId();
4761
+ const assetIdToTransfer = assetId ?? this.provider.getBaseAssetId();
4762
+ const params = { gasPrice: minGasPrice, baseAssetId, ...txParams };
4752
4763
  const request = new ScriptTransactionRequest(params);
4753
- request.addCoinOutput(import_address4.Address.fromAddressOrString(destination), amount, assetId);
4764
+ request.addCoinOutput(import_address4.Address.fromAddressOrString(destination), amount, assetIdToTransfer);
4754
4765
  const { maxFee, requiredQuantities, gasUsed, estimatedInputs } = await this.provider.getTransactionCost(request, [], {
4755
4766
  estimateTxDependencies: true,
4756
4767
  resourcesOwner: this
@@ -4776,14 +4787,15 @@ var Account = class extends import_interfaces.AbstractAccount {
4776
4787
  * @param txParams - The transaction parameters (gasLimit, gasPrice, maturity).
4777
4788
  * @returns A promise that resolves to the transaction response.
4778
4789
  */
4779
- async transfer(destination, amount, assetId = import_configs12.BaseAssetId, txParams = {}) {
4790
+ async transfer(destination, amount, assetId, txParams = {}) {
4780
4791
  if ((0, import_math18.bn)(amount).lte(0)) {
4781
4792
  throw new import_errors16.FuelError(
4782
4793
  import_errors16.ErrorCode.INVALID_TRANSFER_AMOUNT,
4783
4794
  "Transfer amount must be a positive number."
4784
4795
  );
4785
4796
  }
4786
- const request = await this.createTransfer(destination, amount, assetId, txParams);
4797
+ const assetIdToTransfer = assetId ?? this.provider.getBaseAssetId();
4798
+ const request = await this.createTransfer(destination, amount, assetIdToTransfer, txParams);
4787
4799
  return this.sendTransaction(request, { estimateTxDependencies: false });
4788
4800
  }
4789
4801
  /**
@@ -4795,7 +4807,7 @@ var Account = class extends import_interfaces.AbstractAccount {
4795
4807
  * @param txParams - The optional transaction parameters.
4796
4808
  * @returns A promise that resolves to the transaction response.
4797
4809
  */
4798
- async transferToContract(contractId, amount, assetId = import_configs12.BaseAssetId, txParams = {}) {
4810
+ async transferToContract(contractId, amount, assetId, txParams = {}) {
4799
4811
  if ((0, import_math18.bn)(amount).lte(0)) {
4800
4812
  throw new import_errors16.FuelError(
4801
4813
  import_errors16.ErrorCode.INVALID_TRANSFER_AMOUNT,
@@ -4804,11 +4816,13 @@ var Account = class extends import_interfaces.AbstractAccount {
4804
4816
  }
4805
4817
  const contractAddress = import_address4.Address.fromAddressOrString(contractId);
4806
4818
  const { minGasPrice } = this.provider.getGasConfig();
4807
- const params = { gasPrice: minGasPrice, ...txParams };
4819
+ const baseAssetId = this.provider.getBaseAssetId();
4820
+ const assetIdToTransfer = assetId ?? this.provider.getBaseAssetId();
4821
+ const params = { gasPrice: minGasPrice, baseAssetId, ...txParams };
4808
4822
  const { script, scriptData } = await assembleTransferToContractScript({
4809
4823
  hexlifiedContractId: contractAddress.toB256(),
4810
4824
  amountToTransfer: (0, import_math18.bn)(amount),
4811
- assetId
4825
+ assetId: assetIdToTransfer
4812
4826
  });
4813
4827
  const request = new ScriptTransactionRequest({
4814
4828
  ...params,
@@ -4818,7 +4832,7 @@ var Account = class extends import_interfaces.AbstractAccount {
4818
4832
  request.addContractInputAndOutput(contractAddress);
4819
4833
  const { maxFee, requiredQuantities, gasUsed } = await this.provider.getTransactionCost(
4820
4834
  request,
4821
- [{ amount: (0, import_math18.bn)(amount), assetId: String(assetId) }]
4835
+ [{ amount: (0, import_math18.bn)(amount), assetId: String(assetIdToTransfer) }]
4822
4836
  );
4823
4837
  request.gasLimit = (0, import_math18.bn)(params.gasLimit ?? gasUsed);
4824
4838
  this.validateGas({
@@ -4840,6 +4854,7 @@ var Account = class extends import_interfaces.AbstractAccount {
4840
4854
  */
4841
4855
  async withdrawToBaseLayer(recipient, amount, txParams = {}) {
4842
4856
  const { minGasPrice } = this.provider.getGasConfig();
4857
+ const baseAssetId = this.provider.getBaseAssetId();
4843
4858
  const recipientAddress = import_address4.Address.fromAddressOrString(recipient);
4844
4859
  const recipientDataArray = (0, import_utils28.arrayify)(
4845
4860
  "0x".concat(recipientAddress.toHexString().substring(2).padStart(64, "0"))
@@ -4852,9 +4867,14 @@ var Account = class extends import_interfaces.AbstractAccount {
4852
4867
  ...recipientDataArray,
4853
4868
  ...amountDataArray
4854
4869
  ]);
4855
- const params = { script, gasPrice: minGasPrice, ...txParams };
4870
+ const params = {
4871
+ script,
4872
+ gasPrice: minGasPrice,
4873
+ baseAssetId,
4874
+ ...txParams
4875
+ };
4856
4876
  const request = new ScriptTransactionRequest(params);
4857
- const forwardingQuantities = [{ amount: (0, import_math18.bn)(amount), assetId: import_configs12.BaseAssetId }];
4877
+ const forwardingQuantities = [{ amount: (0, import_math18.bn)(amount), assetId: baseAssetId }];
4858
4878
  const { requiredQuantities, maxFee, gasUsed } = await this.provider.getTransactionCost(
4859
4879
  request,
4860
4880
  forwardingQuantities
@@ -7999,7 +8019,9 @@ var seedTestWallet = async (wallet, quantities) => {
7999
8019
  );
8000
8020
  const resources = await genesisWallet.getResourcesToSpend(quantities);
8001
8021
  const { minGasPrice } = genesisWallet.provider.getGasConfig();
8022
+ const baseAssetId = genesisWallet.provider.getBaseAssetId();
8002
8023
  const request = new ScriptTransactionRequest({
8024
+ baseAssetId,
8003
8025
  gasLimit: 1e4,
8004
8026
  gasPrice: minGasPrice
8005
8027
  });
@@ -8018,7 +8040,7 @@ var generateTestWallet = async (provider, quantities) => {
8018
8040
  };
8019
8041
 
8020
8042
  // src/test-utils/launchNode.ts
8021
- var import_configs13 = require("@fuel-ts/address/configs");
8043
+ var import_configs11 = require("@fuel-ts/address/configs");
8022
8044
  var import_math21 = require("@fuel-ts/math");
8023
8045
  var import_utils36 = require("@fuel-ts/utils");
8024
8046
  var import_cli_utils = require("@fuel-ts/utils/cli-utils");
@@ -8118,7 +8140,7 @@ var launchNode = async ({
8118
8140
  {
8119
8141
  owner: signer.address.toHexString(),
8120
8142
  amount: (0, import_math21.toHex)(1e9),
8121
- asset_id: import_configs13.BaseAssetId
8143
+ asset_id: import_utils36.defaultChainConfig?.consensus_parameters?.base_asset_id ?? import_configs11.ZeroBytes32
8122
8144
  }
8123
8145
  ]
8124
8146
  }
@@ -8184,9 +8206,10 @@ var launchNode = async ({
8184
8206
  })
8185
8207
  );
8186
8208
  var generateWallets = async (count, provider) => {
8209
+ const baseAssetId = provider.getBaseAssetId();
8187
8210
  const wallets = [];
8188
8211
  for (let i = 0; i < count; i += 1) {
8189
- const wallet = await generateTestWallet(provider, [[1e3, import_configs13.BaseAssetId]]);
8212
+ const wallet = await generateTestWallet(provider, [[1e3, baseAssetId]]);
8190
8213
  wallets.push(wallet);
8191
8214
  }
8192
8215
  return wallets;