@fuel-ts/account 0.0.0-rc-2045-20240415152456 → 0.0.0-rc-2040-20240415161332

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");
@@ -2244,6 +2241,12 @@ var BaseTransactionRequest = class {
2244
2241
  * @param quantities - CoinQuantity Array.
2245
2242
  */
2246
2243
  fundWithFakeUtxos(quantities, resourcesOwner) {
2244
+ let idCounter = 0;
2245
+ const generateId = () => {
2246
+ const counterString = String(idCounter++);
2247
+ const id = import_configs7.ZeroBytes32.slice(0, -counterString.length).concat(counterString);
2248
+ return id;
2249
+ };
2247
2250
  const findAssetInput = (assetId) => this.inputs.find((input) => {
2248
2251
  if ("assetId" in input) {
2249
2252
  return input.assetId === assetId;
@@ -2253,12 +2256,12 @@ var BaseTransactionRequest = class {
2253
2256
  const updateAssetInput = (assetId, quantity) => {
2254
2257
  const assetInput = findAssetInput(assetId);
2255
2258
  if (assetInput && "assetId" in assetInput) {
2256
- assetInput.id = (0, import_utils9.hexlify)((0, import_crypto.randomBytes)(import_abi_coder2.UTXO_ID_LEN));
2259
+ assetInput.id = generateId();
2257
2260
  assetInput.amount = quantity;
2258
2261
  } else {
2259
2262
  this.addResources([
2260
2263
  {
2261
- id: (0, import_utils9.hexlify)((0, import_crypto.randomBytes)(import_abi_coder2.UTXO_ID_LEN)),
2264
+ id: generateId(),
2262
2265
  amount: quantity,
2263
2266
  assetId,
2264
2267
  owner: resourcesOwner || import_address.Address.fromRandom(),
@@ -2513,7 +2516,7 @@ var CreateTransactionRequest = class extends BaseTransactionRequest {
2513
2516
  };
2514
2517
 
2515
2518
  // src/providers/transaction-request/script-transaction-request.ts
2516
- var import_abi_coder3 = require("@fuel-ts/abi-coder");
2519
+ var import_abi_coder = require("@fuel-ts/abi-coder");
2517
2520
  var import_address2 = require("@fuel-ts/address");
2518
2521
  var import_configs10 = require("@fuel-ts/address/configs");
2519
2522
  var import_math10 = require("@fuel-ts/math");
@@ -2705,7 +2708,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
2705
2708
  * @returns The current instance of the `ScriptTransactionRequest`.
2706
2709
  */
2707
2710
  setData(abi, args) {
2708
- const abiInterface = new import_abi_coder3.Interface(abi);
2711
+ const abiInterface = new import_abi_coder.Interface(abi);
2709
2712
  this.scriptData = abiInterface.functions.main.encodeArguments(args);
2710
2713
  return this;
2711
2714
  }
@@ -2827,17 +2830,17 @@ var import_math13 = require("@fuel-ts/math");
2827
2830
  var import_transactions14 = require("@fuel-ts/transactions");
2828
2831
 
2829
2832
  // src/providers/transaction-summary/call.ts
2830
- var import_abi_coder4 = require("@fuel-ts/abi-coder");
2833
+ var import_abi_coder2 = require("@fuel-ts/abi-coder");
2831
2834
  var import_math12 = require("@fuel-ts/math");
2832
2835
  var getFunctionCall = ({ abi, receipt, rawPayload, maxInputs }) => {
2833
- const abiInterface = new import_abi_coder4.Interface(abi);
2836
+ const abiInterface = new import_abi_coder2.Interface(abi);
2834
2837
  const callFunctionSelector = receipt.param1.toHex(8);
2835
2838
  const functionFragment = abiInterface.getFunction(callFunctionSelector);
2836
2839
  const inputs = functionFragment.jsonFn.inputs;
2837
2840
  let encodedArgs;
2838
2841
  if (functionFragment.isInputDataPointer) {
2839
2842
  if (rawPayload) {
2840
- const argsOffset = (0, import_math12.bn)(receipt.param2).sub((0, import_abi_coder4.calculateVmTxMemory)({ maxInputs: maxInputs.toNumber() })).toNumber();
2843
+ const argsOffset = (0, import_math12.bn)(receipt.param2).sub((0, import_abi_coder2.calculateVmTxMemory)({ maxInputs: maxInputs.toNumber() })).toNumber();
2841
2844
  encodedArgs = `0x${rawPayload.slice(2).slice(argsOffset * 2)}`;
2842
2845
  }
2843
2846
  } else {
@@ -3487,13 +3490,13 @@ function assembleTransactionSummary(params) {
3487
3490
  }
3488
3491
 
3489
3492
  // src/providers/transaction-response/getDecodedLogs.ts
3490
- var import_abi_coder5 = require("@fuel-ts/abi-coder");
3493
+ var import_abi_coder3 = require("@fuel-ts/abi-coder");
3491
3494
  var import_transactions16 = require("@fuel-ts/transactions");
3492
3495
  function getDecodedLogs(receipts, mainAbi, externalAbis = {}) {
3493
3496
  return receipts.reduce((logs, receipt) => {
3494
3497
  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;
3498
+ const interfaceToUse = new import_abi_coder3.Interface(externalAbis[receipt.id] || mainAbi);
3499
+ const data = receipt.type === import_transactions16.ReceiptType.Log ? new import_abi_coder3.BigNumberCoder("u64").encode(receipt.val0) : receipt.data;
3497
3500
  const [decodedLog] = interfaceToUse.decodeLog(data, receipt.val1.toNumber());
3498
3501
  logs.push(decodedLog);
3499
3502
  }
@@ -4135,36 +4138,6 @@ var _Provider = class {
4135
4138
  missingContractIds
4136
4139
  };
4137
4140
  }
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
4141
  /**
4169
4142
  * Executes a signed transaction without applying the states changes
4170
4143
  * on the chain.
@@ -4212,16 +4185,17 @@ var _Provider = class {
4212
4185
  signatureCallback
4213
4186
  } = {}) {
4214
4187
  const txRequestClone = (0, import_ramda3.clone)(transactionRequestify(transactionRequestLike));
4215
- const { minGasPrice } = this.getGasConfig();
4216
- const setGasPrice = (0, import_math15.max)(txRequestClone.gasPrice, minGasPrice);
4188
+ const chainInfo = this.getChain();
4189
+ const { gasPriceFactor, minGasPrice, maxGasPerTx } = this.getGasConfig();
4190
+ const gasPrice = (0, import_math15.max)(txRequestClone.gasPrice, minGasPrice);
4217
4191
  const isScriptTransaction = txRequestClone.type === import_transactions18.TransactionType.Script;
4218
4192
  const coinOutputsQuantities = txRequestClone.getCoinOutputsQuantities();
4219
4193
  const allQuantities = mergeQuantities(coinOutputsQuantities, forwardingQuantities);
4220
4194
  txRequestClone.fundWithFakeUtxos(allQuantities, resourcesOwner?.address);
4221
- if (isScriptTransaction) {
4222
- txRequestClone.gasLimit = (0, import_math15.bn)(0);
4223
- }
4224
4195
  if (estimatePredicates) {
4196
+ if (isScriptTransaction) {
4197
+ txRequestClone.gasLimit = (0, import_math15.bn)(0);
4198
+ }
4225
4199
  if (resourcesOwner && "populateTransactionPredicateData" in resourcesOwner) {
4226
4200
  resourcesOwner.populateTransactionPredicateData(txRequestClone);
4227
4201
  }
@@ -4230,34 +4204,36 @@ var _Provider = class {
4230
4204
  if (signatureCallback && isScriptTransaction) {
4231
4205
  await signatureCallback(txRequestClone);
4232
4206
  }
4233
- let { maxFee, maxGas, minFee, minGas } = this.estimateTxGasAndFee({
4234
- transactionRequest: txRequestClone
4235
- });
4207
+ const minGas = txRequestClone.calculateMinGas(chainInfo);
4208
+ const maxGas = txRequestClone.calculateMaxGas(chainInfo, minGas);
4236
4209
  let receipts = [];
4237
4210
  let missingContractIds = [];
4238
4211
  let outputVariables = 0;
4239
- let gasUsed = (0, import_math15.bn)(0);
4240
4212
  if (isScriptTransaction && estimateTxDependencies) {
4241
4213
  txRequestClone.gasPrice = (0, import_math15.bn)(0);
4214
+ txRequestClone.gasLimit = (0, import_math15.bn)(maxGasPerTx.sub(maxGas).toNumber() * 0.9);
4242
4215
  const result = await this.estimateTxDependencies(txRequestClone);
4243
4216
  receipts = result.receipts;
4244
4217
  outputVariables = result.outputVariables;
4245
4218
  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
4219
  }
4220
+ const gasUsed = isScriptTransaction ? getGasUsedFromReceipts(receipts) : minGas;
4221
+ const usedFee = calculatePriceWithFactor(
4222
+ gasUsed,
4223
+ gasPrice,
4224
+ gasPriceFactor
4225
+ ).normalizeZeroToOne();
4226
+ const minFee = calculatePriceWithFactor(minGas, gasPrice, gasPriceFactor).normalizeZeroToOne();
4227
+ const maxFee = calculatePriceWithFactor(maxGas, gasPrice, gasPriceFactor).normalizeZeroToOne();
4253
4228
  return {
4254
4229
  requiredQuantities: allQuantities,
4255
4230
  receipts,
4256
4231
  gasUsed,
4257
4232
  minGasPrice,
4258
- gasPrice: setGasPrice,
4233
+ gasPrice,
4259
4234
  minGas,
4260
4235
  maxGas,
4236
+ usedFee,
4261
4237
  minFee,
4262
4238
  maxFee,
4263
4239
  estimatedInputs: txRequestClone.inputs,
@@ -4890,13 +4866,13 @@ var assets = [
4890
4866
  ];
4891
4867
 
4892
4868
  // src/utils/formatTransferToContractScriptData.ts
4893
- var import_abi_coder6 = require("@fuel-ts/abi-coder");
4869
+ var import_abi_coder4 = require("@fuel-ts/abi-coder");
4894
4870
  var import_math17 = require("@fuel-ts/math");
4895
4871
  var import_utils27 = require("@fuel-ts/utils");
4896
4872
  var asm = __toESM(require("@fuels/vm-asm"));
4897
4873
  var formatTransferToContractScriptData = (params) => {
4898
4874
  const { assetId, amountToTransfer, hexlifiedContractId } = params;
4899
- const numberCoder = new import_abi_coder6.BigNumberCoder("u64");
4875
+ const numberCoder = new import_abi_coder4.BigNumberCoder("u64");
4900
4876
  const encoded = numberCoder.encode(new import_math17.BN(amountToTransfer).toNumber());
4901
4877
  const scriptData = Uint8Array.from([
4902
4878
  ...(0, import_utils27.arrayify)(hexlifiedContractId),
@@ -5351,7 +5327,7 @@ var import_utils31 = require("@fuel-ts/utils");
5351
5327
 
5352
5328
  // src/signer/signer.ts
5353
5329
  var import_address5 = require("@fuel-ts/address");
5354
- var import_crypto2 = require("@fuel-ts/crypto");
5330
+ var import_crypto = require("@fuel-ts/crypto");
5355
5331
  var import_hasher2 = require("@fuel-ts/hasher");
5356
5332
  var import_math19 = require("@fuel-ts/math");
5357
5333
  var import_utils29 = require("@fuel-ts/utils");
@@ -5444,7 +5420,7 @@ var Signer = class {
5444
5420
  * @returns random 32-byte hashed
5445
5421
  */
5446
5422
  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);
5423
+ 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
5424
  }
5449
5425
  /**
5450
5426
  * Extended publicKey from a compact publicKey
@@ -5460,7 +5436,7 @@ var Signer = class {
5460
5436
 
5461
5437
  // src/wallet/keystore-wallet.ts
5462
5438
  var import_address6 = require("@fuel-ts/address");
5463
- var import_crypto3 = require("@fuel-ts/crypto");
5439
+ var import_crypto2 = require("@fuel-ts/crypto");
5464
5440
  var import_errors17 = require("@fuel-ts/errors");
5465
5441
  var import_utils30 = require("@fuel-ts/utils");
5466
5442
  var import_uuid = require("uuid");
@@ -5476,22 +5452,22 @@ var removeHexPrefix = (hexString) => {
5476
5452
  return hexString;
5477
5453
  };
5478
5454
  async function encryptKeystoreWallet(privateKey, address, password) {
5479
- const privateKeyBuffer = (0, import_crypto3.bufferFromString)(removeHexPrefix(privateKey), "hex");
5455
+ const privateKeyBuffer = (0, import_crypto2.bufferFromString)(removeHexPrefix(privateKey), "hex");
5480
5456
  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),
5457
+ const salt = (0, import_crypto2.randomBytes)(DEFAULT_KEY_SIZE);
5458
+ const key = (0, import_crypto2.scrypt)({
5459
+ password: (0, import_crypto2.bufferFromString)(password),
5484
5460
  salt,
5485
5461
  dklen: DEFAULT_KEY_SIZE,
5486
5462
  n: 2 ** DEFAULT_KDF_PARAMS_LOG_N,
5487
5463
  r: DEFAULT_KDF_PARAMS_R,
5488
5464
  p: DEFAULT_KDF_PARAMS_P
5489
5465
  });
5490
- const iv = (0, import_crypto3.randomBytes)(DEFAULT_IV_SIZE);
5491
- const ciphertext = await (0, import_crypto3.encryptJsonWalletData)(privateKeyBuffer, key, iv);
5466
+ const iv = (0, import_crypto2.randomBytes)(DEFAULT_IV_SIZE);
5467
+ const ciphertext = await (0, import_crypto2.encryptJsonWalletData)(privateKeyBuffer, key, iv);
5492
5468
  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");
5469
+ const macHashUint8Array = (0, import_crypto2.keccak256)(data);
5470
+ const mac = (0, import_crypto2.stringFromBuffer)(macHashUint8Array, "hex");
5495
5471
  const keystore = {
5496
5472
  id: (0, import_uuid.v4)(),
5497
5473
  version: 3,
@@ -5499,15 +5475,15 @@ async function encryptKeystoreWallet(privateKey, address, password) {
5499
5475
  crypto: {
5500
5476
  cipher: "aes-128-ctr",
5501
5477
  mac,
5502
- cipherparams: { iv: (0, import_crypto3.stringFromBuffer)(iv, "hex") },
5503
- ciphertext: (0, import_crypto3.stringFromBuffer)(ciphertext, "hex"),
5478
+ cipherparams: { iv: (0, import_crypto2.stringFromBuffer)(iv, "hex") },
5479
+ ciphertext: (0, import_crypto2.stringFromBuffer)(ciphertext, "hex"),
5504
5480
  kdf: "scrypt",
5505
5481
  kdfparams: {
5506
5482
  dklen: DEFAULT_KEY_SIZE,
5507
5483
  n: 2 ** DEFAULT_KDF_PARAMS_LOG_N,
5508
5484
  p: DEFAULT_KDF_PARAMS_P,
5509
5485
  r: DEFAULT_KDF_PARAMS_R,
5510
- salt: (0, import_crypto3.stringFromBuffer)(salt, "hex")
5486
+ salt: (0, import_crypto2.stringFromBuffer)(salt, "hex")
5511
5487
  }
5512
5488
  }
5513
5489
  };
@@ -5523,11 +5499,11 @@ async function decryptKeystoreWallet(jsonWallet, password) {
5523
5499
  kdfparams: { dklen, n, r, p, salt }
5524
5500
  }
5525
5501
  } = 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)({
5502
+ const ciphertextBuffer = (0, import_crypto2.bufferFromString)(ciphertext, "hex");
5503
+ const ivBuffer = (0, import_crypto2.bufferFromString)(iv, "hex");
5504
+ const saltBuffer = (0, import_crypto2.bufferFromString)(salt, "hex");
5505
+ const passwordBuffer = (0, import_crypto2.bufferFromString)(password);
5506
+ const key = (0, import_crypto2.scrypt)({
5531
5507
  password: passwordBuffer,
5532
5508
  salt: saltBuffer,
5533
5509
  n,
@@ -5536,15 +5512,15 @@ async function decryptKeystoreWallet(jsonWallet, password) {
5536
5512
  dklen
5537
5513
  });
5538
5514
  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");
5515
+ const macHashUint8Array = (0, import_crypto2.keccak256)(data);
5516
+ const macHash = (0, import_crypto2.stringFromBuffer)(macHashUint8Array, "hex");
5541
5517
  if (mac !== macHash) {
5542
5518
  throw new import_errors17.FuelError(
5543
5519
  import_errors17.ErrorCode.INVALID_PASSWORD,
5544
5520
  "Failed to decrypt the keystore wallet, the provided password is incorrect."
5545
5521
  );
5546
5522
  }
5547
- const buffer = await (0, import_crypto3.decryptJsonWalletData)(ciphertextBuffer, key, ivBuffer);
5523
+ const buffer = await (0, import_crypto2.decryptJsonWalletData)(ciphertextBuffer, key, ivBuffer);
5548
5524
  const privateKey = (0, import_utils30.hexlify)(buffer);
5549
5525
  return privateKey;
5550
5526
  }
@@ -5669,7 +5645,7 @@ var import_utils35 = require("@fuel-ts/utils");
5669
5645
  var import_ethers3 = require("ethers");
5670
5646
 
5671
5647
  // src/mnemonic/mnemonic.ts
5672
- var import_crypto4 = require("@fuel-ts/crypto");
5648
+ var import_crypto3 = require("@fuel-ts/crypto");
5673
5649
  var import_errors19 = require("@fuel-ts/errors");
5674
5650
  var import_hasher5 = require("@fuel-ts/hasher");
5675
5651
  var import_utils33 = require("@fuel-ts/utils");
@@ -8030,7 +8006,7 @@ var Mnemonic = class {
8030
8006
  * @returns A randomly generated mnemonic
8031
8007
  */
8032
8008
  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);
8009
+ 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
8010
  return Mnemonic.entropyToMnemonic(entropy);
8035
8011
  }
8036
8012
  };
@@ -8402,7 +8378,7 @@ __publicField(Wallet, "fromEncryptedJson", WalletUnlocked.fromEncryptedJson);
8402
8378
 
8403
8379
  // src/wallet-manager/wallet-manager.ts
8404
8380
  var import_address9 = require("@fuel-ts/address");
8405
- var import_crypto5 = require("@fuel-ts/crypto");
8381
+ var import_crypto4 = require("@fuel-ts/crypto");
8406
8382
  var import_errors23 = require("@fuel-ts/errors");
8407
8383
  var import_events = require("events");
8408
8384
 
@@ -8730,7 +8706,7 @@ var _WalletManager = class extends import_events.EventEmitter {
8730
8706
  await assert(!__privateGet(this, _isLocked), ERROR_MESSAGES.wallet_not_unlocked);
8731
8707
  const data = await this.storage.getItem(this.STORAGE_KEY);
8732
8708
  if (data) {
8733
- const state = await (0, import_crypto5.decrypt)(__privateGet(this, _passphrase), JSON.parse(data));
8709
+ const state = await (0, import_crypto4.decrypt)(__privateGet(this, _passphrase), JSON.parse(data));
8734
8710
  __privateSet(this, _vaults, __privateMethod(this, _deserializeVaults, deserializeVaults_fn).call(this, state.vaults));
8735
8711
  }
8736
8712
  }
@@ -8739,7 +8715,7 @@ var _WalletManager = class extends import_events.EventEmitter {
8739
8715
  */
8740
8716
  async saveState() {
8741
8717
  await assert(!__privateGet(this, _isLocked), ERROR_MESSAGES.wallet_not_unlocked);
8742
- const encryptedData = await (0, import_crypto5.encrypt)(__privateGet(this, _passphrase), {
8718
+ const encryptedData = await (0, import_crypto4.encrypt)(__privateGet(this, _passphrase), {
8743
8719
  vaults: __privateMethod(this, _serializeVaults, serializeVaults_fn).call(this, __privateGet(this, _vaults))
8744
8720
  });
8745
8721
  await this.storage.setItem(this.STORAGE_KEY, JSON.stringify(encryptedData));
@@ -8815,7 +8791,7 @@ var StorageAbstract = class {
8815
8791
  };
8816
8792
 
8817
8793
  // src/predicate/predicate.ts
8818
- var import_abi_coder7 = require("@fuel-ts/abi-coder");
8794
+ var import_abi_coder5 = require("@fuel-ts/abi-coder");
8819
8795
  var import_address10 = require("@fuel-ts/address");
8820
8796
  var import_configs13 = require("@fuel-ts/address/configs");
8821
8797
  var import_errors25 = require("@fuel-ts/errors");
@@ -8925,10 +8901,10 @@ var Predicate = class extends Account {
8925
8901
  }
8926
8902
  const mainFn = this.interface?.functions.main;
8927
8903
  const paddedCode = new import_transactions20.ByteArrayCoder(this.bytes.length).encode(this.bytes);
8928
- const VM_TX_MEMORY = (0, import_abi_coder7.calculateVmTxMemory)({
8904
+ const VM_TX_MEMORY = (0, import_abi_coder5.calculateVmTxMemory)({
8929
8905
  maxInputs: this.provider.getChain().consensusParameters.maxInputs.toNumber()
8930
8906
  });
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;
8907
+ 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
8908
  return mainFn?.encodeArguments(this.predicateData, OFFSET) || new Uint8Array();
8933
8909
  }
8934
8910
  /**
@@ -8943,7 +8919,7 @@ var Predicate = class extends Account {
8943
8919
  let predicateBytes = (0, import_utils37.arrayify)(bytes);
8944
8920
  let abiInterface;
8945
8921
  if (jsonAbi) {
8946
- abiInterface = new import_abi_coder7.Interface(jsonAbi);
8922
+ abiInterface = new import_abi_coder5.Interface(jsonAbi);
8947
8923
  if (abiInterface.functions.main === void 0) {
8948
8924
  throw new import_errors25.FuelError(
8949
8925
  import_errors25.ErrorCode.ABI_MAIN_METHOD_MISSING,