@fuel-ts/account 0.0.0-rc-2045-20240415152456 → 0.0.0-rc-1832-20240415161726

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.js CHANGED
@@ -1173,7 +1173,6 @@ var MemoryCache = class {
1173
1173
  };
1174
1174
 
1175
1175
  // src/providers/transaction-request/input.ts
1176
- var import_abi_coder = require("@fuel-ts/abi-coder");
1177
1176
  var import_configs2 = require("@fuel-ts/address/configs");
1178
1177
  var import_errors3 = require("@fuel-ts/errors");
1179
1178
  var import_math2 = require("@fuel-ts/math");
@@ -1187,8 +1186,8 @@ var inputify = (value) => {
1187
1186
  const predicateData = (0, import_utils3.arrayify)(value.predicateData ?? "0x");
1188
1187
  return {
1189
1188
  type: import_transactions.InputType.Coin,
1190
- txID: (0, import_utils3.hexlify)((0, import_utils3.arrayify)(value.id).slice(0, import_abi_coder.BYTES_32)),
1191
- outputIndex: (0, import_math2.toNumber)((0, import_utils3.arrayify)(value.id).slice(import_abi_coder.BYTES_32, import_abi_coder.UTXO_ID_LEN)),
1189
+ txID: (0, import_utils3.hexlify)((0, import_utils3.arrayify)(value.id).slice(0, 32)),
1190
+ outputIndex: (0, import_utils3.arrayify)(value.id)[32],
1192
1191
  owner: (0, import_utils3.hexlify)(value.owner),
1193
1192
  amount: (0, import_math2.bn)(value.amount),
1194
1193
  assetId: (0, import_utils3.hexlify)(value.assetId),
@@ -1306,10 +1305,8 @@ var outputify = (value) => {
1306
1305
  };
1307
1306
 
1308
1307
  // src/providers/transaction-request/transaction-request.ts
1309
- var import_abi_coder2 = require("@fuel-ts/abi-coder");
1310
1308
  var import_address = require("@fuel-ts/address");
1311
1309
  var import_configs7 = require("@fuel-ts/address/configs");
1312
- var import_crypto = require("@fuel-ts/crypto");
1313
1310
  var import_math7 = require("@fuel-ts/math");
1314
1311
  var import_transactions6 = require("@fuel-ts/transactions");
1315
1312
  var import_utils9 = require("@fuel-ts/utils");
@@ -2057,7 +2054,8 @@ var BaseTransactionRequest = class {
2057
2054
  assetId,
2058
2055
  txPointer: "0x00000000000000000000000000000000",
2059
2056
  witnessIndex,
2060
- predicate: predicate?.bytes
2057
+ predicate: predicate?.bytes,
2058
+ predicateData: predicate?.predicateDataBytes
2061
2059
  };
2062
2060
  this.pushInput(input);
2063
2061
  this.addChangeOutput(owner, assetId);
@@ -2089,7 +2087,8 @@ var BaseTransactionRequest = class {
2089
2087
  recipient: recipient.toB256(),
2090
2088
  amount,
2091
2089
  witnessIndex,
2092
- predicate: predicate?.bytes
2090
+ predicate: predicate?.bytes,
2091
+ predicateData: predicate?.predicateDataBytes
2093
2092
  };
2094
2093
  this.pushInput(input);
2095
2094
  this.addChangeOutput(recipient, assetId);
@@ -2244,6 +2243,12 @@ var BaseTransactionRequest = class {
2244
2243
  * @param quantities - CoinQuantity Array.
2245
2244
  */
2246
2245
  fundWithFakeUtxos(quantities, resourcesOwner) {
2246
+ let idCounter = 0;
2247
+ const generateId = () => {
2248
+ const counterString = String(idCounter++);
2249
+ const id = import_configs7.ZeroBytes32.slice(0, -counterString.length).concat(counterString);
2250
+ return id;
2251
+ };
2247
2252
  const findAssetInput = (assetId) => this.inputs.find((input) => {
2248
2253
  if ("assetId" in input) {
2249
2254
  return input.assetId === assetId;
@@ -2253,12 +2258,12 @@ var BaseTransactionRequest = class {
2253
2258
  const updateAssetInput = (assetId, quantity) => {
2254
2259
  const assetInput = findAssetInput(assetId);
2255
2260
  if (assetInput && "assetId" in assetInput) {
2256
- assetInput.id = (0, import_utils9.hexlify)((0, import_crypto.randomBytes)(import_abi_coder2.UTXO_ID_LEN));
2261
+ assetInput.id = generateId();
2257
2262
  assetInput.amount = quantity;
2258
2263
  } else {
2259
2264
  this.addResources([
2260
2265
  {
2261
- id: (0, import_utils9.hexlify)((0, import_crypto.randomBytes)(import_abi_coder2.UTXO_ID_LEN)),
2266
+ id: generateId(),
2262
2267
  amount: quantity,
2263
2268
  assetId,
2264
2269
  owner: resourcesOwner || import_address.Address.fromRandom(),
@@ -2513,7 +2518,7 @@ var CreateTransactionRequest = class extends BaseTransactionRequest {
2513
2518
  };
2514
2519
 
2515
2520
  // src/providers/transaction-request/script-transaction-request.ts
2516
- var import_abi_coder3 = require("@fuel-ts/abi-coder");
2521
+ var import_abi_coder = require("@fuel-ts/abi-coder");
2517
2522
  var import_address2 = require("@fuel-ts/address");
2518
2523
  var import_configs10 = require("@fuel-ts/address/configs");
2519
2524
  var import_math10 = require("@fuel-ts/math");
@@ -2705,7 +2710,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
2705
2710
  * @returns The current instance of the `ScriptTransactionRequest`.
2706
2711
  */
2707
2712
  setData(abi, args) {
2708
- const abiInterface = new import_abi_coder3.Interface(abi);
2713
+ const abiInterface = new import_abi_coder.Interface(abi);
2709
2714
  this.scriptData = abiInterface.functions.main.encodeArguments(args);
2710
2715
  return this;
2711
2716
  }
@@ -2827,17 +2832,17 @@ var import_math13 = require("@fuel-ts/math");
2827
2832
  var import_transactions14 = require("@fuel-ts/transactions");
2828
2833
 
2829
2834
  // src/providers/transaction-summary/call.ts
2830
- var import_abi_coder4 = require("@fuel-ts/abi-coder");
2835
+ var import_abi_coder2 = require("@fuel-ts/abi-coder");
2831
2836
  var import_math12 = require("@fuel-ts/math");
2832
2837
  var getFunctionCall = ({ abi, receipt, rawPayload, maxInputs }) => {
2833
- const abiInterface = new import_abi_coder4.Interface(abi);
2838
+ const abiInterface = new import_abi_coder2.Interface(abi);
2834
2839
  const callFunctionSelector = receipt.param1.toHex(8);
2835
2840
  const functionFragment = abiInterface.getFunction(callFunctionSelector);
2836
2841
  const inputs = functionFragment.jsonFn.inputs;
2837
2842
  let encodedArgs;
2838
2843
  if (functionFragment.isInputDataPointer) {
2839
2844
  if (rawPayload) {
2840
- const argsOffset = (0, import_math12.bn)(receipt.param2).sub((0, import_abi_coder4.calculateVmTxMemory)({ maxInputs: maxInputs.toNumber() })).toNumber();
2845
+ const argsOffset = (0, import_math12.bn)(receipt.param2).sub((0, import_abi_coder2.calculateVmTxMemory)({ maxInputs: maxInputs.toNumber() })).toNumber();
2841
2846
  encodedArgs = `0x${rawPayload.slice(2).slice(argsOffset * 2)}`;
2842
2847
  }
2843
2848
  } else {
@@ -3487,13 +3492,13 @@ function assembleTransactionSummary(params) {
3487
3492
  }
3488
3493
 
3489
3494
  // src/providers/transaction-response/getDecodedLogs.ts
3490
- var import_abi_coder5 = require("@fuel-ts/abi-coder");
3495
+ var import_abi_coder3 = require("@fuel-ts/abi-coder");
3491
3496
  var import_transactions16 = require("@fuel-ts/transactions");
3492
3497
  function getDecodedLogs(receipts, mainAbi, externalAbis = {}) {
3493
3498
  return receipts.reduce((logs, receipt) => {
3494
3499
  if (receipt.type === import_transactions16.ReceiptType.LogData || receipt.type === import_transactions16.ReceiptType.Log) {
3495
- const interfaceToUse = new import_abi_coder5.Interface(externalAbis[receipt.id] || mainAbi);
3496
- const data = receipt.type === import_transactions16.ReceiptType.Log ? new import_abi_coder5.BigNumberCoder("u64").encode(receipt.val0) : receipt.data;
3500
+ const interfaceToUse = new import_abi_coder3.Interface(externalAbis[receipt.id] || mainAbi);
3501
+ const data = receipt.type === import_transactions16.ReceiptType.Log ? new import_abi_coder3.BigNumberCoder("u64").encode(receipt.val0) : receipt.data;
3497
3502
  const [decodedLog] = interfaceToUse.decodeLog(data, receipt.val1.toNumber());
3498
3503
  logs.push(decodedLog);
3499
3504
  }
@@ -4135,36 +4140,6 @@ var _Provider = class {
4135
4140
  missingContractIds
4136
4141
  };
4137
4142
  }
4138
- /**
4139
- * Estimates the transaction gas and fee based on the provided transaction request.
4140
- * @param transactionRequest - The transaction request object.
4141
- * @returns An object containing the estimated minimum gas, minimum fee, maximum gas, and maximum fee.
4142
- */
4143
- estimateTxGasAndFee(params) {
4144
- const { transactionRequest } = params;
4145
- const { gasPriceFactor, minGasPrice, maxGasPerTx } = this.getGasConfig();
4146
- const chainInfo = this.getChain();
4147
- const gasPrice = transactionRequest.gasPrice.eq(0) ? minGasPrice : transactionRequest.gasPrice;
4148
- transactionRequest.gasPrice = gasPrice;
4149
- const minGas = transactionRequest.calculateMinGas(chainInfo);
4150
- const minFee = calculatePriceWithFactor(minGas, gasPrice, gasPriceFactor).normalizeZeroToOne();
4151
- if (transactionRequest.type === import_transactions18.TransactionType.Script) {
4152
- if (transactionRequest.gasLimit.eq(0)) {
4153
- transactionRequest.gasLimit = minGas;
4154
- transactionRequest.gasLimit = maxGasPerTx.sub(
4155
- transactionRequest.calculateMaxGas(chainInfo, minGas)
4156
- );
4157
- }
4158
- }
4159
- const maxGas = transactionRequest.calculateMaxGas(chainInfo, minGas);
4160
- const maxFee = calculatePriceWithFactor(maxGas, gasPrice, gasPriceFactor).normalizeZeroToOne();
4161
- return {
4162
- minGas,
4163
- minFee,
4164
- maxGas,
4165
- maxFee
4166
- };
4167
- }
4168
4143
  /**
4169
4144
  * Executes a signed transaction without applying the states changes
4170
4145
  * on the chain.
@@ -4212,16 +4187,17 @@ var _Provider = class {
4212
4187
  signatureCallback
4213
4188
  } = {}) {
4214
4189
  const txRequestClone = (0, import_ramda3.clone)(transactionRequestify(transactionRequestLike));
4215
- const { minGasPrice } = this.getGasConfig();
4216
- const setGasPrice = (0, import_math15.max)(txRequestClone.gasPrice, minGasPrice);
4190
+ const chainInfo = this.getChain();
4191
+ const { gasPriceFactor, minGasPrice, maxGasPerTx } = this.getGasConfig();
4192
+ const gasPrice = (0, import_math15.max)(txRequestClone.gasPrice, minGasPrice);
4217
4193
  const isScriptTransaction = txRequestClone.type === import_transactions18.TransactionType.Script;
4218
4194
  const coinOutputsQuantities = txRequestClone.getCoinOutputsQuantities();
4219
4195
  const allQuantities = mergeQuantities(coinOutputsQuantities, forwardingQuantities);
4220
4196
  txRequestClone.fundWithFakeUtxos(allQuantities, resourcesOwner?.address);
4221
- if (isScriptTransaction) {
4222
- txRequestClone.gasLimit = (0, import_math15.bn)(0);
4223
- }
4224
4197
  if (estimatePredicates) {
4198
+ if (isScriptTransaction) {
4199
+ txRequestClone.gasLimit = (0, import_math15.bn)(0);
4200
+ }
4225
4201
  if (resourcesOwner && "populateTransactionPredicateData" in resourcesOwner) {
4226
4202
  resourcesOwner.populateTransactionPredicateData(txRequestClone);
4227
4203
  }
@@ -4230,34 +4206,36 @@ var _Provider = class {
4230
4206
  if (signatureCallback && isScriptTransaction) {
4231
4207
  await signatureCallback(txRequestClone);
4232
4208
  }
4233
- let { maxFee, maxGas, minFee, minGas } = this.estimateTxGasAndFee({
4234
- transactionRequest: txRequestClone
4235
- });
4209
+ const minGas = txRequestClone.calculateMinGas(chainInfo);
4210
+ const maxGas = txRequestClone.calculateMaxGas(chainInfo, minGas);
4236
4211
  let receipts = [];
4237
4212
  let missingContractIds = [];
4238
4213
  let outputVariables = 0;
4239
- let gasUsed = (0, import_math15.bn)(0);
4240
4214
  if (isScriptTransaction && estimateTxDependencies) {
4241
4215
  txRequestClone.gasPrice = (0, import_math15.bn)(0);
4216
+ txRequestClone.gasLimit = (0, import_math15.bn)(maxGasPerTx.sub(maxGas).toNumber() * 0.9);
4242
4217
  const result = await this.estimateTxDependencies(txRequestClone);
4243
4218
  receipts = result.receipts;
4244
4219
  outputVariables = result.outputVariables;
4245
4220
  missingContractIds = result.missingContractIds;
4246
- gasUsed = isScriptTransaction ? getGasUsedFromReceipts(receipts) : gasUsed;
4247
- txRequestClone.gasLimit = gasUsed;
4248
- txRequestClone.gasPrice = setGasPrice;
4249
- ({ maxFee, maxGas, minFee, minGas } = this.estimateTxGasAndFee({
4250
- transactionRequest: txRequestClone
4251
- }));
4252
4221
  }
4222
+ const gasUsed = isScriptTransaction ? getGasUsedFromReceipts(receipts) : minGas;
4223
+ const usedFee = calculatePriceWithFactor(
4224
+ gasUsed,
4225
+ gasPrice,
4226
+ gasPriceFactor
4227
+ ).normalizeZeroToOne();
4228
+ const minFee = calculatePriceWithFactor(minGas, gasPrice, gasPriceFactor).normalizeZeroToOne();
4229
+ const maxFee = calculatePriceWithFactor(maxGas, gasPrice, gasPriceFactor).normalizeZeroToOne();
4253
4230
  return {
4254
4231
  requiredQuantities: allQuantities,
4255
4232
  receipts,
4256
4233
  gasUsed,
4257
4234
  minGasPrice,
4258
- gasPrice: setGasPrice,
4235
+ gasPrice,
4259
4236
  minGas,
4260
4237
  maxGas,
4238
+ usedFee,
4261
4239
  minFee,
4262
4240
  maxFee,
4263
4241
  estimatedInputs: txRequestClone.inputs,
@@ -4890,13 +4868,13 @@ var assets = [
4890
4868
  ];
4891
4869
 
4892
4870
  // src/utils/formatTransferToContractScriptData.ts
4893
- var import_abi_coder6 = require("@fuel-ts/abi-coder");
4871
+ var import_abi_coder4 = require("@fuel-ts/abi-coder");
4894
4872
  var import_math17 = require("@fuel-ts/math");
4895
4873
  var import_utils27 = require("@fuel-ts/utils");
4896
4874
  var asm = __toESM(require("@fuels/vm-asm"));
4897
4875
  var formatTransferToContractScriptData = (params) => {
4898
4876
  const { assetId, amountToTransfer, hexlifiedContractId } = params;
4899
- const numberCoder = new import_abi_coder6.BigNumberCoder("u64");
4877
+ const numberCoder = new import_abi_coder4.BigNumberCoder("u64");
4900
4878
  const encoded = numberCoder.encode(new import_math17.BN(amountToTransfer).toNumber());
4901
4879
  const scriptData = Uint8Array.from([
4902
4880
  ...(0, import_utils27.arrayify)(hexlifiedContractId),
@@ -5351,7 +5329,7 @@ var import_utils31 = require("@fuel-ts/utils");
5351
5329
 
5352
5330
  // src/signer/signer.ts
5353
5331
  var import_address5 = require("@fuel-ts/address");
5354
- var import_crypto2 = require("@fuel-ts/crypto");
5332
+ var import_crypto = require("@fuel-ts/crypto");
5355
5333
  var import_hasher2 = require("@fuel-ts/hasher");
5356
5334
  var import_math19 = require("@fuel-ts/math");
5357
5335
  var import_utils29 = require("@fuel-ts/utils");
@@ -5444,7 +5422,7 @@ var Signer = class {
5444
5422
  * @returns random 32-byte hashed
5445
5423
  */
5446
5424
  static generatePrivateKey(entropy) {
5447
- return entropy ? (0, import_hasher2.hash)((0, import_utils29.concat)([(0, import_crypto2.randomBytes)(32), (0, import_utils29.arrayify)(entropy)])) : (0, import_crypto2.randomBytes)(32);
5425
+ return entropy ? (0, import_hasher2.hash)((0, import_utils29.concat)([(0, import_crypto.randomBytes)(32), (0, import_utils29.arrayify)(entropy)])) : (0, import_crypto.randomBytes)(32);
5448
5426
  }
5449
5427
  /**
5450
5428
  * Extended publicKey from a compact publicKey
@@ -5460,7 +5438,7 @@ var Signer = class {
5460
5438
 
5461
5439
  // src/wallet/keystore-wallet.ts
5462
5440
  var import_address6 = require("@fuel-ts/address");
5463
- var import_crypto3 = require("@fuel-ts/crypto");
5441
+ var import_crypto2 = require("@fuel-ts/crypto");
5464
5442
  var import_errors17 = require("@fuel-ts/errors");
5465
5443
  var import_utils30 = require("@fuel-ts/utils");
5466
5444
  var import_uuid = require("uuid");
@@ -5476,22 +5454,22 @@ var removeHexPrefix = (hexString) => {
5476
5454
  return hexString;
5477
5455
  };
5478
5456
  async function encryptKeystoreWallet(privateKey, address, password) {
5479
- const privateKeyBuffer = (0, import_crypto3.bufferFromString)(removeHexPrefix(privateKey), "hex");
5457
+ const privateKeyBuffer = (0, import_crypto2.bufferFromString)(removeHexPrefix(privateKey), "hex");
5480
5458
  const ownerAddress = import_address6.Address.fromAddressOrString(address);
5481
- const salt = (0, import_crypto3.randomBytes)(DEFAULT_KEY_SIZE);
5482
- const key = (0, import_crypto3.scrypt)({
5483
- password: (0, import_crypto3.bufferFromString)(password),
5459
+ const salt = (0, import_crypto2.randomBytes)(DEFAULT_KEY_SIZE);
5460
+ const key = (0, import_crypto2.scrypt)({
5461
+ password: (0, import_crypto2.bufferFromString)(password),
5484
5462
  salt,
5485
5463
  dklen: DEFAULT_KEY_SIZE,
5486
5464
  n: 2 ** DEFAULT_KDF_PARAMS_LOG_N,
5487
5465
  r: DEFAULT_KDF_PARAMS_R,
5488
5466
  p: DEFAULT_KDF_PARAMS_P
5489
5467
  });
5490
- const iv = (0, import_crypto3.randomBytes)(DEFAULT_IV_SIZE);
5491
- const ciphertext = await (0, import_crypto3.encryptJsonWalletData)(privateKeyBuffer, key, iv);
5468
+ const iv = (0, import_crypto2.randomBytes)(DEFAULT_IV_SIZE);
5469
+ const ciphertext = await (0, import_crypto2.encryptJsonWalletData)(privateKeyBuffer, key, iv);
5492
5470
  const data = Uint8Array.from([...key.subarray(16, 32), ...ciphertext]);
5493
- const macHashUint8Array = (0, import_crypto3.keccak256)(data);
5494
- const mac = (0, import_crypto3.stringFromBuffer)(macHashUint8Array, "hex");
5471
+ const macHashUint8Array = (0, import_crypto2.keccak256)(data);
5472
+ const mac = (0, import_crypto2.stringFromBuffer)(macHashUint8Array, "hex");
5495
5473
  const keystore = {
5496
5474
  id: (0, import_uuid.v4)(),
5497
5475
  version: 3,
@@ -5499,15 +5477,15 @@ async function encryptKeystoreWallet(privateKey, address, password) {
5499
5477
  crypto: {
5500
5478
  cipher: "aes-128-ctr",
5501
5479
  mac,
5502
- cipherparams: { iv: (0, import_crypto3.stringFromBuffer)(iv, "hex") },
5503
- ciphertext: (0, import_crypto3.stringFromBuffer)(ciphertext, "hex"),
5480
+ cipherparams: { iv: (0, import_crypto2.stringFromBuffer)(iv, "hex") },
5481
+ ciphertext: (0, import_crypto2.stringFromBuffer)(ciphertext, "hex"),
5504
5482
  kdf: "scrypt",
5505
5483
  kdfparams: {
5506
5484
  dklen: DEFAULT_KEY_SIZE,
5507
5485
  n: 2 ** DEFAULT_KDF_PARAMS_LOG_N,
5508
5486
  p: DEFAULT_KDF_PARAMS_P,
5509
5487
  r: DEFAULT_KDF_PARAMS_R,
5510
- salt: (0, import_crypto3.stringFromBuffer)(salt, "hex")
5488
+ salt: (0, import_crypto2.stringFromBuffer)(salt, "hex")
5511
5489
  }
5512
5490
  }
5513
5491
  };
@@ -5523,11 +5501,11 @@ async function decryptKeystoreWallet(jsonWallet, password) {
5523
5501
  kdfparams: { dklen, n, r, p, salt }
5524
5502
  }
5525
5503
  } = keystoreWallet;
5526
- const ciphertextBuffer = (0, import_crypto3.bufferFromString)(ciphertext, "hex");
5527
- const ivBuffer = (0, import_crypto3.bufferFromString)(iv, "hex");
5528
- const saltBuffer = (0, import_crypto3.bufferFromString)(salt, "hex");
5529
- const passwordBuffer = (0, import_crypto3.bufferFromString)(password);
5530
- const key = (0, import_crypto3.scrypt)({
5504
+ const ciphertextBuffer = (0, import_crypto2.bufferFromString)(ciphertext, "hex");
5505
+ const ivBuffer = (0, import_crypto2.bufferFromString)(iv, "hex");
5506
+ const saltBuffer = (0, import_crypto2.bufferFromString)(salt, "hex");
5507
+ const passwordBuffer = (0, import_crypto2.bufferFromString)(password);
5508
+ const key = (0, import_crypto2.scrypt)({
5531
5509
  password: passwordBuffer,
5532
5510
  salt: saltBuffer,
5533
5511
  n,
@@ -5536,15 +5514,15 @@ async function decryptKeystoreWallet(jsonWallet, password) {
5536
5514
  dklen
5537
5515
  });
5538
5516
  const data = Uint8Array.from([...key.subarray(16, 32), ...ciphertextBuffer]);
5539
- const macHashUint8Array = (0, import_crypto3.keccak256)(data);
5540
- const macHash = (0, import_crypto3.stringFromBuffer)(macHashUint8Array, "hex");
5517
+ const macHashUint8Array = (0, import_crypto2.keccak256)(data);
5518
+ const macHash = (0, import_crypto2.stringFromBuffer)(macHashUint8Array, "hex");
5541
5519
  if (mac !== macHash) {
5542
5520
  throw new import_errors17.FuelError(
5543
5521
  import_errors17.ErrorCode.INVALID_PASSWORD,
5544
5522
  "Failed to decrypt the keystore wallet, the provided password is incorrect."
5545
5523
  );
5546
5524
  }
5547
- const buffer = await (0, import_crypto3.decryptJsonWalletData)(ciphertextBuffer, key, ivBuffer);
5525
+ const buffer = await (0, import_crypto2.decryptJsonWalletData)(ciphertextBuffer, key, ivBuffer);
5548
5526
  const privateKey = (0, import_utils30.hexlify)(buffer);
5549
5527
  return privateKey;
5550
5528
  }
@@ -5669,7 +5647,7 @@ var import_utils35 = require("@fuel-ts/utils");
5669
5647
  var import_ethers3 = require("ethers");
5670
5648
 
5671
5649
  // src/mnemonic/mnemonic.ts
5672
- var import_crypto4 = require("@fuel-ts/crypto");
5650
+ var import_crypto3 = require("@fuel-ts/crypto");
5673
5651
  var import_errors19 = require("@fuel-ts/errors");
5674
5652
  var import_hasher5 = require("@fuel-ts/hasher");
5675
5653
  var import_utils33 = require("@fuel-ts/utils");
@@ -8030,7 +8008,7 @@ var Mnemonic = class {
8030
8008
  * @returns A randomly generated mnemonic
8031
8009
  */
8032
8010
  static generate(size = 32, extraEntropy = "") {
8033
- const entropy = extraEntropy ? (0, import_hasher5.sha256)((0, import_utils33.concat)([(0, import_crypto4.randomBytes)(size), (0, import_utils33.arrayify)(extraEntropy)])) : (0, import_crypto4.randomBytes)(size);
8011
+ const entropy = extraEntropy ? (0, import_hasher5.sha256)((0, import_utils33.concat)([(0, import_crypto3.randomBytes)(size), (0, import_utils33.arrayify)(extraEntropy)])) : (0, import_crypto3.randomBytes)(size);
8034
8012
  return Mnemonic.entropyToMnemonic(entropy);
8035
8013
  }
8036
8014
  };
@@ -8402,7 +8380,7 @@ __publicField(Wallet, "fromEncryptedJson", WalletUnlocked.fromEncryptedJson);
8402
8380
 
8403
8381
  // src/wallet-manager/wallet-manager.ts
8404
8382
  var import_address9 = require("@fuel-ts/address");
8405
- var import_crypto5 = require("@fuel-ts/crypto");
8383
+ var import_crypto4 = require("@fuel-ts/crypto");
8406
8384
  var import_errors23 = require("@fuel-ts/errors");
8407
8385
  var import_events = require("events");
8408
8386
 
@@ -8730,7 +8708,7 @@ var _WalletManager = class extends import_events.EventEmitter {
8730
8708
  await assert(!__privateGet(this, _isLocked), ERROR_MESSAGES.wallet_not_unlocked);
8731
8709
  const data = await this.storage.getItem(this.STORAGE_KEY);
8732
8710
  if (data) {
8733
- const state = await (0, import_crypto5.decrypt)(__privateGet(this, _passphrase), JSON.parse(data));
8711
+ const state = await (0, import_crypto4.decrypt)(__privateGet(this, _passphrase), JSON.parse(data));
8734
8712
  __privateSet(this, _vaults, __privateMethod(this, _deserializeVaults, deserializeVaults_fn).call(this, state.vaults));
8735
8713
  }
8736
8714
  }
@@ -8739,7 +8717,7 @@ var _WalletManager = class extends import_events.EventEmitter {
8739
8717
  */
8740
8718
  async saveState() {
8741
8719
  await assert(!__privateGet(this, _isLocked), ERROR_MESSAGES.wallet_not_unlocked);
8742
- const encryptedData = await (0, import_crypto5.encrypt)(__privateGet(this, _passphrase), {
8720
+ const encryptedData = await (0, import_crypto4.encrypt)(__privateGet(this, _passphrase), {
8743
8721
  vaults: __privateMethod(this, _serializeVaults, serializeVaults_fn).call(this, __privateGet(this, _vaults))
8744
8722
  });
8745
8723
  await this.storage.setItem(this.STORAGE_KEY, JSON.stringify(encryptedData));
@@ -8815,7 +8793,7 @@ var StorageAbstract = class {
8815
8793
  };
8816
8794
 
8817
8795
  // src/predicate/predicate.ts
8818
- var import_abi_coder7 = require("@fuel-ts/abi-coder");
8796
+ var import_abi_coder5 = require("@fuel-ts/abi-coder");
8819
8797
  var import_address10 = require("@fuel-ts/address");
8820
8798
  var import_configs13 = require("@fuel-ts/address/configs");
8821
8799
  var import_errors25 = require("@fuel-ts/errors");
@@ -8838,6 +8816,7 @@ var getPredicateRoot = (bytecode) => {
8838
8816
  // src/predicate/predicate.ts
8839
8817
  var Predicate = class extends Account {
8840
8818
  bytes;
8819
+ predicateDataBytes = Uint8Array.from([]);
8841
8820
  predicateData = [];
8842
8821
  interface;
8843
8822
  /**
@@ -8925,10 +8904,10 @@ var Predicate = class extends Account {
8925
8904
  }
8926
8905
  const mainFn = this.interface?.functions.main;
8927
8906
  const paddedCode = new import_transactions20.ByteArrayCoder(this.bytes.length).encode(this.bytes);
8928
- const VM_TX_MEMORY = (0, import_abi_coder7.calculateVmTxMemory)({
8907
+ const VM_TX_MEMORY = (0, import_abi_coder5.calculateVmTxMemory)({
8929
8908
  maxInputs: this.provider.getChain().consensusParameters.maxInputs.toNumber()
8930
8909
  });
8931
- const OFFSET = VM_TX_MEMORY + import_abi_coder7.SCRIPT_FIXED_SIZE + import_abi_coder7.INPUT_COIN_FIXED_SIZE + import_abi_coder7.WORD_SIZE + paddedCode.byteLength + policiesLength * import_abi_coder7.WORD_SIZE;
8910
+ const OFFSET = VM_TX_MEMORY + import_abi_coder5.SCRIPT_FIXED_SIZE + import_abi_coder5.INPUT_COIN_FIXED_SIZE + import_abi_coder5.WORD_SIZE + paddedCode.byteLength + policiesLength * import_abi_coder5.WORD_SIZE;
8932
8911
  return mainFn?.encodeArguments(this.predicateData, OFFSET) || new Uint8Array();
8933
8912
  }
8934
8913
  /**
@@ -8943,7 +8922,7 @@ var Predicate = class extends Account {
8943
8922
  let predicateBytes = (0, import_utils37.arrayify)(bytes);
8944
8923
  let abiInterface;
8945
8924
  if (jsonAbi) {
8946
- abiInterface = new import_abi_coder7.Interface(jsonAbi);
8925
+ abiInterface = new import_abi_coder5.Interface(jsonAbi);
8947
8926
  if (abiInterface.functions.main === void 0) {
8948
8927
  throw new import_errors25.FuelError(
8949
8928
  import_errors25.ErrorCode.ABI_MAIN_METHOD_MISSING,