@fuel-ts/account 0.0.0-rc-1976-20240424150847 → 0.0.0-rc-2143-20240424152333
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/README.md +2 -2
- package/dist/account.d.ts.map +1 -1
- package/dist/index.global.js +43 -61
- package/dist/index.global.js.map +1 -1
- package/dist/index.js +81 -97
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +43 -59
- package/dist/index.mjs.map +1 -1
- package/dist/predicate/predicate.d.ts.map +1 -1
- package/dist/providers/coin-quantity.d.ts +2 -2
- package/dist/providers/coin-quantity.d.ts.map +1 -1
- package/dist/providers/provider.d.ts +0 -7
- package/dist/providers/provider.d.ts.map +1 -1
- package/dist/providers/transaction-request/create-transaction-request.d.ts +1 -1
- package/dist/providers/transaction-request/create-transaction-request.d.ts.map +1 -1
- package/dist/providers/transaction-request/transaction-request.d.ts +5 -5
- package/dist/providers/transaction-request/transaction-request.d.ts.map +1 -1
- package/dist/providers/utils/merge-quantities.d.ts +1 -1
- package/dist/providers/utils/merge-quantities.d.ts.map +1 -1
- package/dist/test-utils/launchNode.d.ts +4 -2
- package/dist/test-utils/launchNode.d.ts.map +1 -1
- package/dist/test-utils.global.js +46 -64
- package/dist/test-utils.global.js.map +1 -1
- package/dist/test-utils.js +83 -99
- package/dist/test-utils.js.map +1 -1
- package/dist/test-utils.mjs +45 -61
- package/dist/test-utils.mjs.map +1 -1
- package/package.json +15 -15
package/dist/test-utils.mjs
CHANGED
@@ -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);
|
@@ -1160,7 +1162,7 @@ var outputify = (value) => {
|
|
1160
1162
|
// src/providers/transaction-request/transaction-request.ts
|
1161
1163
|
import { UTXO_ID_LEN as UTXO_ID_LEN2 } from "@fuel-ts/abi-coder";
|
1162
1164
|
import { Address, addressify } from "@fuel-ts/address";
|
1163
|
-
import { ZeroBytes32 as ZeroBytes324 } from "@fuel-ts/address/configs";
|
1165
|
+
import { BaseAssetId as BaseAssetId2, ZeroBytes32 as ZeroBytes324 } from "@fuel-ts/address/configs";
|
1164
1166
|
import { randomBytes } from "@fuel-ts/crypto";
|
1165
1167
|
import { bn as bn7 } from "@fuel-ts/math";
|
1166
1168
|
import {
|
@@ -1861,13 +1863,15 @@ var BaseTransactionRequest = class {
|
|
1861
1863
|
}
|
1862
1864
|
/**
|
1863
1865
|
* Adds a single message input to the transaction and a change output for the
|
1864
|
-
*
|
1866
|
+
* baseAssetId, if one it was not added yet.
|
1865
1867
|
*
|
1866
1868
|
* @param message - Message resource.
|
1867
1869
|
* @param predicate - Predicate bytes.
|
1870
|
+
* @param predicateData - Predicate data bytes.
|
1868
1871
|
*/
|
1869
1872
|
addMessageInput(message, predicate) {
|
1870
|
-
const { recipient, sender, amount
|
1873
|
+
const { recipient, sender, amount } = message;
|
1874
|
+
const assetId = BaseAssetId2;
|
1871
1875
|
let witnessIndex;
|
1872
1876
|
if (predicate) {
|
1873
1877
|
witnessIndex = 0;
|
@@ -1948,7 +1952,7 @@ var BaseTransactionRequest = class {
|
|
1948
1952
|
* @param amount - Amount of coin.
|
1949
1953
|
* @param assetId - Asset ID of coin.
|
1950
1954
|
*/
|
1951
|
-
addCoinOutput(to, amount, assetId) {
|
1955
|
+
addCoinOutput(to, amount, assetId = BaseAssetId2) {
|
1952
1956
|
this.pushOutput({
|
1953
1957
|
type: OutputType2.Coin,
|
1954
1958
|
to: addressify(to).toB256(),
|
@@ -1980,7 +1984,7 @@ var BaseTransactionRequest = class {
|
|
1980
1984
|
* @param to - Address of the owner.
|
1981
1985
|
* @param assetId - Asset ID of coin.
|
1982
1986
|
*/
|
1983
|
-
addChangeOutput(to, assetId) {
|
1987
|
+
addChangeOutput(to, assetId = BaseAssetId2) {
|
1984
1988
|
const changeOutput = this.getChangeOutputs().find(
|
1985
1989
|
(output) => hexlify7(output.assetId) === assetId
|
1986
1990
|
);
|
@@ -2037,9 +2041,8 @@ var BaseTransactionRequest = class {
|
|
2037
2041
|
* quantities array.
|
2038
2042
|
*
|
2039
2043
|
* @param quantities - CoinQuantity Array.
|
2040
|
-
* @param baseAssetId - The base asset to fund the transaction.
|
2041
2044
|
*/
|
2042
|
-
fundWithFakeUtxos(quantities,
|
2045
|
+
fundWithFakeUtxos(quantities, resourcesOwner) {
|
2043
2046
|
const findAssetInput = (assetId) => this.inputs.find((input) => {
|
2044
2047
|
if ("assetId" in input) {
|
2045
2048
|
return input.assetId === assetId;
|
@@ -2065,7 +2068,7 @@ var BaseTransactionRequest = class {
|
|
2065
2068
|
]);
|
2066
2069
|
}
|
2067
2070
|
};
|
2068
|
-
updateAssetInput(
|
2071
|
+
updateAssetInput(BaseAssetId2, bn7(1e11));
|
2069
2072
|
quantities.forEach((q) => updateAssetInput(q.assetId, q.amount));
|
2070
2073
|
}
|
2071
2074
|
/**
|
@@ -2235,7 +2238,12 @@ var CreateTransactionRequest = class extends BaseTransactionRequest {
|
|
2235
2238
|
*
|
2236
2239
|
* @param createTransactionRequestLike - The initial values for the instance
|
2237
2240
|
*/
|
2238
|
-
constructor({
|
2241
|
+
constructor({
|
2242
|
+
bytecodeWitnessIndex,
|
2243
|
+
salt,
|
2244
|
+
storageSlots,
|
2245
|
+
...rest
|
2246
|
+
} = {}) {
|
2239
2247
|
super(rest);
|
2240
2248
|
this.bytecodeWitnessIndex = bytecodeWitnessIndex ?? 0;
|
2241
2249
|
this.salt = hexlify9(salt ?? ZeroBytes326);
|
@@ -3449,7 +3457,7 @@ function autoRetryFetch(fetchFn, options, retryAttemptNum = 0) {
|
|
3449
3457
|
}
|
3450
3458
|
|
3451
3459
|
// src/providers/utils/merge-quantities.ts
|
3452
|
-
var mergeQuantities = (
|
3460
|
+
var mergeQuantities = (arr1, arr2) => {
|
3453
3461
|
const resultMap = {};
|
3454
3462
|
function addToMap({ amount, assetId }) {
|
3455
3463
|
if (resultMap[assetId]) {
|
@@ -3458,7 +3466,8 @@ var mergeQuantities = (...coinQuantities) => {
|
|
3458
3466
|
resultMap[assetId] = amount;
|
3459
3467
|
}
|
3460
3468
|
}
|
3461
|
-
|
3469
|
+
arr1.forEach(addToMap);
|
3470
|
+
arr2.forEach(addToMap);
|
3462
3471
|
return Object.entries(resultMap).map(([assetId, amount]) => ({ assetId, amount }));
|
3463
3472
|
};
|
3464
3473
|
|
@@ -3486,7 +3495,6 @@ var processGqlChain = (chain) => {
|
|
3486
3495
|
gasPerByte: bn15(feeParams.gasPerByte),
|
3487
3496
|
maxMessageDataLength: bn15(predicateParams.maxMessageDataLength),
|
3488
3497
|
chainId: bn15(consensusParameters.chainId),
|
3489
|
-
baseAssetId: consensusParameters.baseAssetId,
|
3490
3498
|
gasCosts
|
3491
3499
|
},
|
3492
3500
|
gasCosts,
|
@@ -3729,17 +3737,6 @@ var _Provider = class {
|
|
3729
3737
|
} = this.getChain();
|
3730
3738
|
return chainId.toNumber();
|
3731
3739
|
}
|
3732
|
-
/**
|
3733
|
-
* Returns the base asset ID
|
3734
|
-
*
|
3735
|
-
* @returns A promise that resolves to the base asset ID
|
3736
|
-
*/
|
3737
|
-
getBaseAssetId() {
|
3738
|
-
const {
|
3739
|
-
consensusParameters: { baseAssetId }
|
3740
|
-
} = this.getChain();
|
3741
|
-
return baseAssetId;
|
3742
|
-
}
|
3743
3740
|
/**
|
3744
3741
|
* Submits a transaction to the chain to be executed.
|
3745
3742
|
*
|
@@ -3970,10 +3967,9 @@ var _Provider = class {
|
|
3970
3967
|
const { minGasPrice } = this.getGasConfig();
|
3971
3968
|
const setGasPrice = max(txRequestClone.gasPrice, minGasPrice);
|
3972
3969
|
const isScriptTransaction = txRequestClone.type === TransactionType8.Script;
|
3973
|
-
const baseAssetId = this.getBaseAssetId();
|
3974
3970
|
const coinOutputsQuantities = txRequestClone.getCoinOutputsQuantities();
|
3975
3971
|
const allQuantities = mergeQuantities(coinOutputsQuantities, forwardingQuantities);
|
3976
|
-
txRequestClone.fundWithFakeUtxos(allQuantities,
|
3972
|
+
txRequestClone.fundWithFakeUtxos(allQuantities, resourcesOwner?.address);
|
3977
3973
|
if (isScriptTransaction) {
|
3978
3974
|
txRequestClone.gasLimit = bn15(0);
|
3979
3975
|
}
|
@@ -4638,9 +4634,8 @@ var Account = class extends AbstractAccount {
|
|
4638
4634
|
* @param assetId - The asset ID to check the balance for.
|
4639
4635
|
* @returns A promise that resolves to the balance amount.
|
4640
4636
|
*/
|
4641
|
-
async getBalance(assetId) {
|
4642
|
-
const
|
4643
|
-
const amount = await this.provider.getBalance(this.address, assetIdToFetch);
|
4637
|
+
async getBalance(assetId = BaseAssetId3) {
|
4638
|
+
const amount = await this.provider.getBalance(this.address, assetId);
|
4644
4639
|
return amount;
|
4645
4640
|
}
|
4646
4641
|
/**
|
@@ -4678,10 +4673,9 @@ var Account = class extends AbstractAccount {
|
|
4678
4673
|
* @returns A promise that resolves when the resources are added to the transaction.
|
4679
4674
|
*/
|
4680
4675
|
async fund(request, coinQuantities, fee) {
|
4681
|
-
const baseAssetId = this.provider.getBaseAssetId();
|
4682
4676
|
const updatedQuantities = addAmountToAsset({
|
4683
4677
|
amount: bn17(fee),
|
4684
|
-
assetId:
|
4678
|
+
assetId: BaseAssetId3,
|
4685
4679
|
coinQuantities
|
4686
4680
|
});
|
4687
4681
|
const quantitiesDict = {};
|
@@ -4705,8 +4699,8 @@ var Account = class extends AbstractAccount {
|
|
4705
4699
|
quantitiesDict[assetId].owned = quantitiesDict[assetId].owned.add(amount);
|
4706
4700
|
cachedUtxos.push(input.id);
|
4707
4701
|
}
|
4708
|
-
} else if (input.recipient === owner && input.amount && quantitiesDict[
|
4709
|
-
quantitiesDict[
|
4702
|
+
} else if (input.recipient === owner && input.amount && quantitiesDict[BaseAssetId3]) {
|
4703
|
+
quantitiesDict[BaseAssetId3].owned = quantitiesDict[BaseAssetId3].owned.add(input.amount);
|
4710
4704
|
cachedMessages.push(input.nonce);
|
4711
4705
|
}
|
4712
4706
|
}
|
@@ -4738,13 +4732,11 @@ var Account = class extends AbstractAccount {
|
|
4738
4732
|
* @param txParams - The transaction parameters (gasLimit, gasPrice, maturity).
|
4739
4733
|
* @returns A promise that resolves to the prepared transaction request.
|
4740
4734
|
*/
|
4741
|
-
async createTransfer(destination, amount, assetId, txParams = {}) {
|
4735
|
+
async createTransfer(destination, amount, assetId = BaseAssetId3, txParams = {}) {
|
4742
4736
|
const { minGasPrice } = this.provider.getGasConfig();
|
4743
|
-
const
|
4744
|
-
const assetIdToTransfer = assetId ?? this.provider.getBaseAssetId();
|
4745
|
-
const params = { gasPrice: minGasPrice, baseAssetId, ...txParams };
|
4737
|
+
const params = { gasPrice: minGasPrice, ...txParams };
|
4746
4738
|
const request = new ScriptTransactionRequest(params);
|
4747
|
-
request.addCoinOutput(Address3.fromAddressOrString(destination), amount,
|
4739
|
+
request.addCoinOutput(Address3.fromAddressOrString(destination), amount, assetId);
|
4748
4740
|
const { maxFee, requiredQuantities, gasUsed, estimatedInputs } = await this.provider.getTransactionCost(request, [], {
|
4749
4741
|
estimateTxDependencies: true,
|
4750
4742
|
resourcesOwner: this
|
@@ -4770,15 +4762,14 @@ var Account = class extends AbstractAccount {
|
|
4770
4762
|
* @param txParams - The transaction parameters (gasLimit, gasPrice, maturity).
|
4771
4763
|
* @returns A promise that resolves to the transaction response.
|
4772
4764
|
*/
|
4773
|
-
async transfer(destination, amount, assetId, txParams = {}) {
|
4765
|
+
async transfer(destination, amount, assetId = BaseAssetId3, txParams = {}) {
|
4774
4766
|
if (bn17(amount).lte(0)) {
|
4775
4767
|
throw new FuelError15(
|
4776
4768
|
ErrorCode15.INVALID_TRANSFER_AMOUNT,
|
4777
4769
|
"Transfer amount must be a positive number."
|
4778
4770
|
);
|
4779
4771
|
}
|
4780
|
-
const
|
4781
|
-
const request = await this.createTransfer(destination, amount, assetIdToTransfer, txParams);
|
4772
|
+
const request = await this.createTransfer(destination, amount, assetId, txParams);
|
4782
4773
|
return this.sendTransaction(request, { estimateTxDependencies: false });
|
4783
4774
|
}
|
4784
4775
|
/**
|
@@ -4790,7 +4781,7 @@ var Account = class extends AbstractAccount {
|
|
4790
4781
|
* @param txParams - The optional transaction parameters.
|
4791
4782
|
* @returns A promise that resolves to the transaction response.
|
4792
4783
|
*/
|
4793
|
-
async transferToContract(contractId, amount, assetId, txParams = {}) {
|
4784
|
+
async transferToContract(contractId, amount, assetId = BaseAssetId3, txParams = {}) {
|
4794
4785
|
if (bn17(amount).lte(0)) {
|
4795
4786
|
throw new FuelError15(
|
4796
4787
|
ErrorCode15.INVALID_TRANSFER_AMOUNT,
|
@@ -4799,13 +4790,11 @@ var Account = class extends AbstractAccount {
|
|
4799
4790
|
}
|
4800
4791
|
const contractAddress = Address3.fromAddressOrString(contractId);
|
4801
4792
|
const { minGasPrice } = this.provider.getGasConfig();
|
4802
|
-
const
|
4803
|
-
const assetIdToTransfer = assetId ?? this.provider.getBaseAssetId();
|
4804
|
-
const params = { gasPrice: minGasPrice, baseAssetId, ...txParams };
|
4793
|
+
const params = { gasPrice: minGasPrice, ...txParams };
|
4805
4794
|
const { script, scriptData } = await assembleTransferToContractScript({
|
4806
4795
|
hexlifiedContractId: contractAddress.toB256(),
|
4807
4796
|
amountToTransfer: bn17(amount),
|
4808
|
-
assetId
|
4797
|
+
assetId
|
4809
4798
|
});
|
4810
4799
|
const request = new ScriptTransactionRequest({
|
4811
4800
|
...params,
|
@@ -4815,7 +4804,7 @@ var Account = class extends AbstractAccount {
|
|
4815
4804
|
request.addContractInputAndOutput(contractAddress);
|
4816
4805
|
const { maxFee, requiredQuantities, gasUsed } = await this.provider.getTransactionCost(
|
4817
4806
|
request,
|
4818
|
-
[{ amount: bn17(amount), assetId: String(
|
4807
|
+
[{ amount: bn17(amount), assetId: String(assetId) }]
|
4819
4808
|
);
|
4820
4809
|
request.gasLimit = bn17(params.gasLimit ?? gasUsed);
|
4821
4810
|
this.validateGas({
|
@@ -4837,7 +4826,6 @@ var Account = class extends AbstractAccount {
|
|
4837
4826
|
*/
|
4838
4827
|
async withdrawToBaseLayer(recipient, amount, txParams = {}) {
|
4839
4828
|
const { minGasPrice } = this.provider.getGasConfig();
|
4840
|
-
const baseAssetId = this.provider.getBaseAssetId();
|
4841
4829
|
const recipientAddress = Address3.fromAddressOrString(recipient);
|
4842
4830
|
const recipientDataArray = arrayify14(
|
4843
4831
|
"0x".concat(recipientAddress.toHexString().substring(2).padStart(64, "0"))
|
@@ -4850,13 +4838,9 @@ var Account = class extends AbstractAccount {
|
|
4850
4838
|
...recipientDataArray,
|
4851
4839
|
...amountDataArray
|
4852
4840
|
]);
|
4853
|
-
const params = {
|
4854
|
-
script,
|
4855
|
-
gasPrice: minGasPrice,
|
4856
|
-
...txParams
|
4857
|
-
};
|
4841
|
+
const params = { script, gasPrice: minGasPrice, ...txParams };
|
4858
4842
|
const request = new ScriptTransactionRequest(params);
|
4859
|
-
const forwardingQuantities = [{ amount: bn17(amount), assetId:
|
4843
|
+
const forwardingQuantities = [{ amount: bn17(amount), assetId: BaseAssetId3 }];
|
4860
4844
|
const { requiredQuantities, maxFee, gasUsed } = await this.provider.getTransactionCost(
|
4861
4845
|
request,
|
4862
4846
|
forwardingQuantities
|
@@ -8028,7 +8012,7 @@ var generateTestWallet = async (provider, quantities) => {
|
|
8028
8012
|
};
|
8029
8013
|
|
8030
8014
|
// src/test-utils/launchNode.ts
|
8031
|
-
import {
|
8015
|
+
import { BaseAssetId as BaseAssetId4 } from "@fuel-ts/address/configs";
|
8032
8016
|
import { toHex as toHex2 } from "@fuel-ts/math";
|
8033
8017
|
import { defaultChainConfig, defaultConsensusKey, hexlify as hexlify18 } from "@fuel-ts/utils";
|
8034
8018
|
import { findBinPath } from "@fuel-ts/utils/cli-utils";
|
@@ -8074,6 +8058,7 @@ var launchNode = async ({
|
|
8074
8058
|
ip,
|
8075
8059
|
port,
|
8076
8060
|
args = [],
|
8061
|
+
fuelCorePath = void 0,
|
8077
8062
|
useSystemFuelCore = false,
|
8078
8063
|
loggingEnabled = true,
|
8079
8064
|
debugEnabled = false,
|
@@ -8094,7 +8079,7 @@ var launchNode = async ({
|
|
8094
8079
|
const poaInstantFlagValue = getFlagValueFromArgs(args, "--poa-instant");
|
8095
8080
|
const poaInstant = poaInstantFlagValue === "true" || poaInstantFlagValue === void 0;
|
8096
8081
|
const graphQLStartSubstring = "Binding GraphQL provider to";
|
8097
|
-
const binPath = findBinPath("fuels-core", __dirname);
|
8082
|
+
const binPath = fuelCorePath ?? findBinPath("fuels-core", __dirname);
|
8098
8083
|
const command = useSystemFuelCore ? "fuel-core" : binPath;
|
8099
8084
|
const ipToUse = ip || "0.0.0.0";
|
8100
8085
|
const portToUse = port || (await getPortPromise({
|
@@ -8128,7 +8113,7 @@ var launchNode = async ({
|
|
8128
8113
|
{
|
8129
8114
|
owner: signer.address.toHexString(),
|
8130
8115
|
amount: toHex2(1e9),
|
8131
|
-
asset_id:
|
8116
|
+
asset_id: BaseAssetId4
|
8132
8117
|
}
|
8133
8118
|
]
|
8134
8119
|
}
|
@@ -8194,10 +8179,9 @@ var launchNode = async ({
|
|
8194
8179
|
})
|
8195
8180
|
);
|
8196
8181
|
var generateWallets = async (count, provider) => {
|
8197
|
-
const baseAssetId = provider.getBaseAssetId();
|
8198
8182
|
const wallets = [];
|
8199
8183
|
for (let i = 0; i < count; i += 1) {
|
8200
|
-
const wallet = await generateTestWallet(provider, [[1e3,
|
8184
|
+
const wallet = await generateTestWallet(provider, [[1e3, BaseAssetId4]]);
|
8201
8185
|
wallets.push(wallet);
|
8202
8186
|
}
|
8203
8187
|
return wallets;
|