@fuel-ts/account 0.0.0-rc-1976-20240412113424 → 0.0.0-rc-2037-20240412171107

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.

Files changed (32) hide show
  1. package/dist/account.d.ts.map +1 -1
  2. package/dist/index.global.js +65 -98
  3. package/dist/index.global.js.map +1 -1
  4. package/dist/index.js +103 -134
  5. package/dist/index.js.map +1 -1
  6. package/dist/index.mjs +65 -96
  7. package/dist/index.mjs.map +1 -1
  8. package/dist/predicate/predicate.d.ts +9 -1
  9. package/dist/predicate/predicate.d.ts.map +1 -1
  10. package/dist/providers/coin-quantity.d.ts +2 -2
  11. package/dist/providers/coin-quantity.d.ts.map +1 -1
  12. package/dist/providers/coin.d.ts +2 -1
  13. package/dist/providers/coin.d.ts.map +1 -1
  14. package/dist/providers/message.d.ts +1 -0
  15. package/dist/providers/message.d.ts.map +1 -1
  16. package/dist/providers/provider.d.ts +0 -7
  17. package/dist/providers/provider.d.ts.map +1 -1
  18. package/dist/providers/transaction-request/create-transaction-request.d.ts +1 -1
  19. package/dist/providers/transaction-request/create-transaction-request.d.ts.map +1 -1
  20. package/dist/providers/transaction-request/script-transaction-request.d.ts +1 -1
  21. package/dist/providers/transaction-request/script-transaction-request.d.ts.map +1 -1
  22. package/dist/providers/transaction-request/transaction-request.d.ts +4 -25
  23. package/dist/providers/transaction-request/transaction-request.d.ts.map +1 -1
  24. package/dist/test-utils/launchNode.d.ts.map +1 -1
  25. package/dist/test-utils/seedTestWallet.d.ts.map +1 -1
  26. package/dist/test-utils.global.js +51 -102
  27. package/dist/test-utils.global.js.map +1 -1
  28. package/dist/test-utils.js +88 -137
  29. package/dist/test-utils.js.map +1 -1
  30. package/dist/test-utils.mjs +50 -99
  31. package/dist/test-utils.mjs.map +1 -1
  32. package/package.json +16 -16
@@ -24,12 +24,14 @@ import { hexlify as hexlify15 } from "@fuel-ts/utils";
24
24
 
25
25
  // src/account.ts
26
26
  import { Address as Address3 } from "@fuel-ts/address";
27
+ import { BaseAssetId as BaseAssetId3 } from "@fuel-ts/address/configs";
27
28
  import { ErrorCode as ErrorCode15, FuelError as FuelError15 } from "@fuel-ts/errors";
28
29
  import { AbstractAccount } from "@fuel-ts/interfaces";
29
30
  import { bn as bn17 } from "@fuel-ts/math";
30
31
  import { arrayify as arrayify14 } from "@fuel-ts/utils";
31
32
 
32
33
  // src/providers/coin-quantity.ts
34
+ import { BaseAssetId } from "@fuel-ts/address/configs";
33
35
  import { bn } from "@fuel-ts/math";
34
36
  import { hexlify } from "@fuel-ts/utils";
35
37
  var coinQuantityfy = (coinQuantityLike) => {
@@ -38,11 +40,11 @@ var coinQuantityfy = (coinQuantityLike) => {
38
40
  let max2;
39
41
  if (Array.isArray(coinQuantityLike)) {
40
42
  amount = coinQuantityLike[0];
41
- assetId = coinQuantityLike[1];
42
- max2 = coinQuantityLike[2];
43
+ assetId = coinQuantityLike[1] ?? BaseAssetId;
44
+ max2 = coinQuantityLike[2] ?? void 0;
43
45
  } else {
44
46
  amount = coinQuantityLike.amount;
45
- assetId = coinQuantityLike.assetId;
47
+ assetId = coinQuantityLike.assetId ?? BaseAssetId;
46
48
  max2 = coinQuantityLike.max ?? void 0;
47
49
  }
48
50
  const bnAmount = bn(amount);
@@ -1151,7 +1153,7 @@ var outputify = (value) => {
1151
1153
  // src/providers/transaction-request/transaction-request.ts
1152
1154
  import { UTXO_ID_LEN as UTXO_ID_LEN2 } from "@fuel-ts/abi-coder";
1153
1155
  import { Address, addressify } from "@fuel-ts/address";
1154
- import { ZeroBytes32 as ZeroBytes324 } from "@fuel-ts/address/configs";
1156
+ import { BaseAssetId as BaseAssetId2, ZeroBytes32 as ZeroBytes324 } from "@fuel-ts/address/configs";
1155
1157
  import { randomBytes } from "@fuel-ts/crypto";
1156
1158
  import { bn as bn7 } from "@fuel-ts/math";
1157
1159
  import {
@@ -1612,8 +1614,6 @@ var BaseTransactionRequest = class {
1612
1614
  outputs = [];
1613
1615
  /** List of witnesses */
1614
1616
  witnesses = [];
1615
- /** Base asset ID - should be fetched from the chain */
1616
- baseAssetId;
1617
1617
  /**
1618
1618
  * Constructor for initializing a base transaction request.
1619
1619
  *
@@ -1626,9 +1626,8 @@ var BaseTransactionRequest = class {
1626
1626
  witnessLimit,
1627
1627
  inputs,
1628
1628
  outputs,
1629
- witnesses,
1630
- baseAssetId
1631
- }) {
1629
+ witnesses
1630
+ } = {}) {
1632
1631
  this.gasPrice = bn7(gasPrice);
1633
1632
  this.maturity = maturity ?? 0;
1634
1633
  this.witnessLimit = witnessLimit ? bn7(witnessLimit) : void 0;
@@ -1636,7 +1635,6 @@ var BaseTransactionRequest = class {
1636
1635
  this.inputs = inputs ?? [];
1637
1636
  this.outputs = outputs ?? [];
1638
1637
  this.witnesses = witnesses ?? [];
1639
- this.baseAssetId = baseAssetId;
1640
1638
  }
1641
1639
  static getPolicyMeta(req) {
1642
1640
  let policyTypes = 0;
@@ -1830,8 +1828,8 @@ var BaseTransactionRequest = class {
1830
1828
  * @param predicate - Predicate bytes.
1831
1829
  * @param predicateData - Predicate data bytes.
1832
1830
  */
1833
- addCoinInput(coin, predicate) {
1834
- const { assetId, owner, amount } = coin;
1831
+ addCoinInput(coin) {
1832
+ const { assetId, owner, amount, id, predicate } = coin;
1835
1833
  let witnessIndex;
1836
1834
  if (predicate) {
1837
1835
  witnessIndex = 0;
@@ -1842,14 +1840,14 @@ var BaseTransactionRequest = class {
1842
1840
  }
1843
1841
  }
1844
1842
  const input = {
1845
- ...coin,
1843
+ id,
1846
1844
  type: InputType2.Coin,
1847
1845
  owner: owner.toB256(),
1848
1846
  amount,
1849
1847
  assetId,
1850
1848
  txPointer: "0x00000000000000000000000000000000",
1851
1849
  witnessIndex,
1852
- predicate: predicate?.bytes
1850
+ predicate
1853
1851
  };
1854
1852
  this.pushInput(input);
1855
1853
  this.addChangeOutput(owner, assetId);
@@ -1860,9 +1858,11 @@ var BaseTransactionRequest = class {
1860
1858
  *
1861
1859
  * @param message - Message resource.
1862
1860
  * @param predicate - Predicate bytes.
1861
+ * @param predicateData - Predicate data bytes.
1863
1862
  */
1864
- addMessageInput(message, predicate) {
1865
- const { recipient, sender, amount } = message;
1863
+ addMessageInput(message) {
1864
+ const { recipient, sender, amount, predicate, nonce } = message;
1865
+ const assetId = BaseAssetId2;
1866
1866
  let witnessIndex;
1867
1867
  if (predicate) {
1868
1868
  witnessIndex = 0;
@@ -1873,16 +1873,16 @@ var BaseTransactionRequest = class {
1873
1873
  }
1874
1874
  }
1875
1875
  const input = {
1876
- ...message,
1876
+ nonce,
1877
1877
  type: InputType2.Message,
1878
1878
  sender: sender.toB256(),
1879
1879
  recipient: recipient.toB256(),
1880
1880
  amount,
1881
1881
  witnessIndex,
1882
- predicate: predicate?.bytes
1882
+ predicate
1883
1883
  };
1884
1884
  this.pushInput(input);
1885
- this.addChangeOutput(recipient, this.baseAssetId);
1885
+ this.addChangeOutput(recipient, assetId);
1886
1886
  }
1887
1887
  /**
1888
1888
  * Adds a single resource to the transaction by adding a coin/message input and a
@@ -1910,32 +1910,6 @@ var BaseTransactionRequest = class {
1910
1910
  resources.forEach((resource) => this.addResource(resource));
1911
1911
  return this;
1912
1912
  }
1913
- /**
1914
- * Adds multiple resources to the transaction by adding coin/message inputs and change
1915
- * outputs from the related assetIds.
1916
- *
1917
- * @param resources - The resources to add.
1918
- * @returns This transaction.
1919
- */
1920
- addPredicateResource(resource, predicate) {
1921
- if (isCoin(resource)) {
1922
- this.addCoinInput(resource, predicate);
1923
- } else {
1924
- this.addMessageInput(resource, predicate);
1925
- }
1926
- return this;
1927
- }
1928
- /**
1929
- * Adds multiple predicate coin/message inputs to the transaction and change outputs
1930
- * from the related assetIds.
1931
- *
1932
- * @param resources - The resources to add.
1933
- * @returns This transaction.
1934
- */
1935
- addPredicateResources(resources, predicate) {
1936
- resources.forEach((resource) => this.addPredicateResource(resource, predicate));
1937
- return this;
1938
- }
1939
1913
  /**
1940
1914
  * Adds a coin output to the transaction.
1941
1915
  *
@@ -1943,12 +1917,12 @@ var BaseTransactionRequest = class {
1943
1917
  * @param amount - Amount of coin.
1944
1918
  * @param assetId - Asset ID of coin.
1945
1919
  */
1946
- addCoinOutput(to, amount, assetId) {
1920
+ addCoinOutput(to, amount, assetId = BaseAssetId2) {
1947
1921
  this.pushOutput({
1948
1922
  type: OutputType2.Coin,
1949
1923
  to: addressify(to).toB256(),
1950
1924
  amount,
1951
- assetId: assetId ?? this.baseAssetId
1925
+ assetId
1952
1926
  });
1953
1927
  return this;
1954
1928
  }
@@ -1975,7 +1949,7 @@ var BaseTransactionRequest = class {
1975
1949
  * @param to - Address of the owner.
1976
1950
  * @param assetId - Asset ID of coin.
1977
1951
  */
1978
- addChangeOutput(to, assetId) {
1952
+ addChangeOutput(to, assetId = BaseAssetId2) {
1979
1953
  const changeOutput = this.getChangeOutputs().find(
1980
1954
  (output) => hexlify7(output.assetId) === assetId
1981
1955
  );
@@ -1983,7 +1957,7 @@ var BaseTransactionRequest = class {
1983
1957
  this.pushOutput({
1984
1958
  type: OutputType2.Change,
1985
1959
  to: addressify(to).toB256(),
1986
- assetId: assetId ?? this.baseAssetId
1960
+ assetId
1987
1961
  });
1988
1962
  }
1989
1963
  }
@@ -2059,7 +2033,7 @@ var BaseTransactionRequest = class {
2059
2033
  ]);
2060
2034
  }
2061
2035
  };
2062
- updateAssetInput(this.baseAssetId, bn7(1e11));
2036
+ updateAssetInput(BaseAssetId2, bn7(1e11));
2063
2037
  quantities.forEach((q) => updateAssetInput(q.assetId, q.amount));
2064
2038
  }
2065
2039
  /**
@@ -2229,7 +2203,12 @@ var CreateTransactionRequest = class extends BaseTransactionRequest {
2229
2203
  *
2230
2204
  * @param createTransactionRequestLike - The initial values for the instance
2231
2205
  */
2232
- constructor({ bytecodeWitnessIndex, salt, storageSlots, ...rest }) {
2206
+ constructor({
2207
+ bytecodeWitnessIndex,
2208
+ salt,
2209
+ storageSlots,
2210
+ ...rest
2211
+ } = {}) {
2233
2212
  super(rest);
2234
2213
  this.bytecodeWitnessIndex = bytecodeWitnessIndex ?? 0;
2235
2214
  this.salt = hexlify9(salt ?? ZeroBytes326);
@@ -2353,7 +2332,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
2353
2332
  *
2354
2333
  * @param scriptTransactionRequestLike - The initial values for the instance.
2355
2334
  */
2356
- constructor({ script, scriptData, gasLimit, ...rest }) {
2335
+ constructor({ script, scriptData, gasLimit, ...rest } = {}) {
2357
2336
  super(rest);
2358
2337
  this.gasLimit = bn10(gasLimit);
2359
2338
  this.script = arrayify8(script ?? returnZeroScript.bytes);
@@ -3481,7 +3460,6 @@ var processGqlChain = (chain) => {
3481
3460
  gasPerByte: bn15(feeParams.gasPerByte),
3482
3461
  maxMessageDataLength: bn15(predicateParams.maxMessageDataLength),
3483
3462
  chainId: bn15(consensusParameters.chainId),
3484
- baseAssetId: consensusParameters.baseAssetId,
3485
3463
  gasCosts
3486
3464
  },
3487
3465
  gasCosts,
@@ -3724,17 +3702,6 @@ var _Provider = class {
3724
3702
  } = this.getChain();
3725
3703
  return chainId.toNumber();
3726
3704
  }
3727
- /**
3728
- * Returns the base asset ID
3729
- *
3730
- * @returns A promise that resolves to the base asset ID
3731
- */
3732
- getBaseAssetId() {
3733
- const {
3734
- consensusParameters: { baseAssetId }
3735
- } = this.getChain();
3736
- return baseAssetId;
3737
- }
3738
3705
  /**
3739
3706
  * Submits a transaction to the chain to be executed.
3740
3707
  *
@@ -4632,9 +4599,8 @@ var Account = class extends AbstractAccount {
4632
4599
  * @param assetId - The asset ID to check the balance for.
4633
4600
  * @returns A promise that resolves to the balance amount.
4634
4601
  */
4635
- async getBalance(assetId) {
4636
- const assetIdToFetch = assetId ?? this.provider.getBaseAssetId();
4637
- const amount = await this.provider.getBalance(this.address, assetIdToFetch);
4602
+ async getBalance(assetId = BaseAssetId3) {
4603
+ const amount = await this.provider.getBalance(this.address, assetId);
4638
4604
  return amount;
4639
4605
  }
4640
4606
  /**
@@ -4672,10 +4638,9 @@ var Account = class extends AbstractAccount {
4672
4638
  * @returns A promise that resolves when the resources are added to the transaction.
4673
4639
  */
4674
4640
  async fund(request, coinQuantities, fee) {
4675
- const baseAssetId = this.provider.getBaseAssetId();
4676
4641
  const updatedQuantities = addAmountToAsset({
4677
4642
  amount: bn17(fee),
4678
- assetId: baseAssetId,
4643
+ assetId: BaseAssetId3,
4679
4644
  coinQuantities
4680
4645
  });
4681
4646
  const quantitiesDict = {};
@@ -4699,8 +4664,8 @@ var Account = class extends AbstractAccount {
4699
4664
  quantitiesDict[assetId].owned = quantitiesDict[assetId].owned.add(amount);
4700
4665
  cachedUtxos.push(input.id);
4701
4666
  }
4702
- } else if (input.recipient === owner && input.amount && quantitiesDict[baseAssetId]) {
4703
- quantitiesDict[baseAssetId].owned = quantitiesDict[baseAssetId].owned.add(input.amount);
4667
+ } else if (input.recipient === owner && input.amount && quantitiesDict[BaseAssetId3]) {
4668
+ quantitiesDict[BaseAssetId3].owned = quantitiesDict[BaseAssetId3].owned.add(input.amount);
4704
4669
  cachedMessages.push(input.nonce);
4705
4670
  }
4706
4671
  }
@@ -4732,13 +4697,11 @@ var Account = class extends AbstractAccount {
4732
4697
  * @param txParams - The transaction parameters (gasLimit, gasPrice, maturity).
4733
4698
  * @returns A promise that resolves to the prepared transaction request.
4734
4699
  */
4735
- async createTransfer(destination, amount, assetId, txParams = {}) {
4700
+ async createTransfer(destination, amount, assetId = BaseAssetId3, txParams = {}) {
4736
4701
  const { minGasPrice } = this.provider.getGasConfig();
4737
- const baseAssetId = this.provider.getBaseAssetId();
4738
- const assetIdToTransfer = assetId ?? this.provider.getBaseAssetId();
4739
- const params = { gasPrice: minGasPrice, baseAssetId, ...txParams };
4702
+ const params = { gasPrice: minGasPrice, ...txParams };
4740
4703
  const request = new ScriptTransactionRequest(params);
4741
- request.addCoinOutput(Address3.fromAddressOrString(destination), amount, assetIdToTransfer);
4704
+ request.addCoinOutput(Address3.fromAddressOrString(destination), amount, assetId);
4742
4705
  const { maxFee, requiredQuantities, gasUsed, estimatedInputs } = await this.provider.getTransactionCost(request, [], {
4743
4706
  estimateTxDependencies: true,
4744
4707
  resourcesOwner: this
@@ -4764,15 +4727,14 @@ var Account = class extends AbstractAccount {
4764
4727
  * @param txParams - The transaction parameters (gasLimit, gasPrice, maturity).
4765
4728
  * @returns A promise that resolves to the transaction response.
4766
4729
  */
4767
- async transfer(destination, amount, assetId, txParams = {}) {
4730
+ async transfer(destination, amount, assetId = BaseAssetId3, txParams = {}) {
4768
4731
  if (bn17(amount).lte(0)) {
4769
4732
  throw new FuelError15(
4770
4733
  ErrorCode15.INVALID_TRANSFER_AMOUNT,
4771
4734
  "Transfer amount must be a positive number."
4772
4735
  );
4773
4736
  }
4774
- const assetIdToTransfer = assetId ?? this.provider.getBaseAssetId();
4775
- const request = await this.createTransfer(destination, amount, assetIdToTransfer, txParams);
4737
+ const request = await this.createTransfer(destination, amount, assetId, txParams);
4776
4738
  return this.sendTransaction(request, { estimateTxDependencies: false });
4777
4739
  }
4778
4740
  /**
@@ -4784,7 +4746,7 @@ var Account = class extends AbstractAccount {
4784
4746
  * @param txParams - The optional transaction parameters.
4785
4747
  * @returns A promise that resolves to the transaction response.
4786
4748
  */
4787
- async transferToContract(contractId, amount, assetId, txParams = {}) {
4749
+ async transferToContract(contractId, amount, assetId = BaseAssetId3, txParams = {}) {
4788
4750
  if (bn17(amount).lte(0)) {
4789
4751
  throw new FuelError15(
4790
4752
  ErrorCode15.INVALID_TRANSFER_AMOUNT,
@@ -4793,13 +4755,11 @@ var Account = class extends AbstractAccount {
4793
4755
  }
4794
4756
  const contractAddress = Address3.fromAddressOrString(contractId);
4795
4757
  const { minGasPrice } = this.provider.getGasConfig();
4796
- const baseAssetId = this.provider.getBaseAssetId();
4797
- const assetIdToTransfer = assetId ?? this.provider.getBaseAssetId();
4798
- const params = { gasPrice: minGasPrice, baseAssetId, ...txParams };
4758
+ const params = { gasPrice: minGasPrice, ...txParams };
4799
4759
  const { script, scriptData } = await assembleTransferToContractScript({
4800
4760
  hexlifiedContractId: contractAddress.toB256(),
4801
4761
  amountToTransfer: bn17(amount),
4802
- assetId: assetIdToTransfer
4762
+ assetId
4803
4763
  });
4804
4764
  const request = new ScriptTransactionRequest({
4805
4765
  ...params,
@@ -4809,7 +4769,7 @@ var Account = class extends AbstractAccount {
4809
4769
  request.addContractInputAndOutput(contractAddress);
4810
4770
  const { maxFee, requiredQuantities, gasUsed } = await this.provider.getTransactionCost(
4811
4771
  request,
4812
- [{ amount: bn17(amount), assetId: String(assetIdToTransfer) }]
4772
+ [{ amount: bn17(amount), assetId: String(assetId) }]
4813
4773
  );
4814
4774
  request.gasLimit = bn17(params.gasLimit ?? gasUsed);
4815
4775
  this.validateGas({
@@ -4831,7 +4791,6 @@ var Account = class extends AbstractAccount {
4831
4791
  */
4832
4792
  async withdrawToBaseLayer(recipient, amount, txParams = {}) {
4833
4793
  const { minGasPrice } = this.provider.getGasConfig();
4834
- const baseAssetId = this.provider.getBaseAssetId();
4835
4794
  const recipientAddress = Address3.fromAddressOrString(recipient);
4836
4795
  const recipientDataArray = arrayify14(
4837
4796
  "0x".concat(recipientAddress.toHexString().substring(2).padStart(64, "0"))
@@ -4844,14 +4803,9 @@ var Account = class extends AbstractAccount {
4844
4803
  ...recipientDataArray,
4845
4804
  ...amountDataArray
4846
4805
  ]);
4847
- const params = {
4848
- script,
4849
- gasPrice: minGasPrice,
4850
- baseAssetId,
4851
- ...txParams
4852
- };
4806
+ const params = { script, gasPrice: minGasPrice, ...txParams };
4853
4807
  const request = new ScriptTransactionRequest(params);
4854
- const forwardingQuantities = [{ amount: bn17(amount), assetId: baseAssetId }];
4808
+ const forwardingQuantities = [{ amount: bn17(amount), assetId: BaseAssetId3 }];
4855
4809
  const { requiredQuantities, maxFee, gasUsed } = await this.provider.getTransactionCost(
4856
4810
  request,
4857
4811
  forwardingQuantities
@@ -8004,9 +7958,7 @@ var seedTestWallet = async (wallet, quantities) => {
8004
7958
  );
8005
7959
  const resources = await genesisWallet.getResourcesToSpend(quantities);
8006
7960
  const { minGasPrice } = genesisWallet.provider.getGasConfig();
8007
- const baseAssetId = genesisWallet.provider.getBaseAssetId();
8008
7961
  const request = new ScriptTransactionRequest({
8009
- baseAssetId,
8010
7962
  gasLimit: 1e4,
8011
7963
  gasPrice: minGasPrice
8012
7964
  });
@@ -8025,7 +7977,7 @@ var generateTestWallet = async (provider, quantities) => {
8025
7977
  };
8026
7978
 
8027
7979
  // src/test-utils/launchNode.ts
8028
- import { ZeroBytes32 as ZeroBytes329 } from "@fuel-ts/address/configs";
7980
+ import { BaseAssetId as BaseAssetId4 } from "@fuel-ts/address/configs";
8029
7981
  import { toHex as toHex2 } from "@fuel-ts/math";
8030
7982
  import { defaultChainConfig, defaultConsensusKey, hexlify as hexlify18 } from "@fuel-ts/utils";
8031
7983
  import { findBinPath } from "@fuel-ts/utils/cli-utils";
@@ -8125,7 +8077,7 @@ var launchNode = async ({
8125
8077
  {
8126
8078
  owner: signer.address.toHexString(),
8127
8079
  amount: toHex2(1e9),
8128
- asset_id: defaultChainConfig?.consensus_parameters?.base_asset_id ?? ZeroBytes329
8080
+ asset_id: BaseAssetId4
8129
8081
  }
8130
8082
  ]
8131
8083
  }
@@ -8191,10 +8143,9 @@ var launchNode = async ({
8191
8143
  })
8192
8144
  );
8193
8145
  var generateWallets = async (count, provider) => {
8194
- const baseAssetId = provider.getBaseAssetId();
8195
8146
  const wallets = [];
8196
8147
  for (let i = 0; i < count; i += 1) {
8197
- const wallet = await generateTestWallet(provider, [[1e3, baseAssetId]]);
8148
+ const wallet = await generateTestWallet(provider, [[1e3, BaseAssetId4]]);
8198
8149
  wallets.push(wallet);
8199
8150
  }
8200
8151
  return wallets;