@fuel-ts/account 0.0.0-rc-2037-20240412171107 → 0.0.0-rc-1976-20240415100843
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/account.d.ts.map +1 -1
- package/dist/index.global.js +98 -65
- package/dist/index.global.js.map +1 -1
- package/dist/index.js +134 -103
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +96 -65
- package/dist/index.mjs.map +1 -1
- package/dist/predicate/predicate.d.ts +1 -9
- 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/coin.d.ts +1 -2
- package/dist/providers/coin.d.ts.map +1 -1
- package/dist/providers/message.d.ts +0 -1
- package/dist/providers/message.d.ts.map +1 -1
- package/dist/providers/provider.d.ts +7 -0
- 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/script-transaction-request.d.ts +1 -1
- package/dist/providers/transaction-request/script-transaction-request.d.ts.map +1 -1
- package/dist/providers/transaction-request/transaction-request.d.ts +25 -4
- package/dist/providers/transaction-request/transaction-request.d.ts.map +1 -1
- package/dist/test-utils/launchNode.d.ts.map +1 -1
- package/dist/test-utils/seedTestWallet.d.ts.map +1 -1
- package/dist/test-utils.global.js +102 -51
- package/dist/test-utils.global.js.map +1 -1
- package/dist/test-utils.js +137 -88
- package/dist/test-utils.js.map +1 -1
- package/dist/test-utils.mjs +99 -50
- package/dist/test-utils.mjs.map +1 -1
- package/package.json +16 -16
package/dist/test-utils.js
CHANGED
@@ -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]
|
82
|
-
max2 = coinQuantityLike[2]
|
79
|
+
assetId = coinQuantityLike[1];
|
80
|
+
max2 = coinQuantityLike[2];
|
83
81
|
} else {
|
84
82
|
amount = coinQuantityLike.amount;
|
85
|
-
assetId = coinQuantityLike.assetId
|
83
|
+
assetId = coinQuantityLike.assetId;
|
86
84
|
max2 = coinQuantityLike.max ?? void 0;
|
87
85
|
}
|
88
86
|
const bnAmount = (0, import_math.bn)(amount);
|
@@ -1052,7 +1050,7 @@ var MemoryCache = class {
|
|
1052
1050
|
|
1053
1051
|
// src/providers/transaction-request/input.ts
|
1054
1052
|
var import_abi_coder = require("@fuel-ts/abi-coder");
|
1055
|
-
var
|
1053
|
+
var import_configs = require("@fuel-ts/address/configs");
|
1056
1054
|
var import_errors3 = require("@fuel-ts/errors");
|
1057
1055
|
var import_math2 = require("@fuel-ts/math");
|
1058
1056
|
var import_transactions = require("@fuel-ts/transactions");
|
@@ -1086,10 +1084,10 @@ var inputify = (value) => {
|
|
1086
1084
|
case import_transactions.InputType.Contract: {
|
1087
1085
|
return {
|
1088
1086
|
type: import_transactions.InputType.Contract,
|
1089
|
-
txID:
|
1087
|
+
txID: import_configs.ZeroBytes32,
|
1090
1088
|
outputIndex: 0,
|
1091
|
-
balanceRoot:
|
1092
|
-
stateRoot:
|
1089
|
+
balanceRoot: import_configs.ZeroBytes32,
|
1090
|
+
stateRoot: import_configs.ZeroBytes32,
|
1093
1091
|
txPointer: {
|
1094
1092
|
blockHeight: (0, import_math2.toNumber)((0, import_utils3.arrayify)(value.txPointer).slice(0, 8)),
|
1095
1093
|
txIndex: (0, import_math2.toNumber)((0, import_utils3.arrayify)(value.txPointer).slice(8, 16))
|
@@ -1127,7 +1125,7 @@ var inputify = (value) => {
|
|
1127
1125
|
};
|
1128
1126
|
|
1129
1127
|
// src/providers/transaction-request/output.ts
|
1130
|
-
var
|
1128
|
+
var import_configs2 = require("@fuel-ts/address/configs");
|
1131
1129
|
var import_errors4 = require("@fuel-ts/errors");
|
1132
1130
|
var import_math3 = require("@fuel-ts/math");
|
1133
1131
|
var import_transactions2 = require("@fuel-ts/transactions");
|
@@ -1147,8 +1145,8 @@ var outputify = (value) => {
|
|
1147
1145
|
return {
|
1148
1146
|
type: import_transactions2.OutputType.Contract,
|
1149
1147
|
inputIndex: value.inputIndex,
|
1150
|
-
balanceRoot:
|
1151
|
-
stateRoot:
|
1148
|
+
balanceRoot: import_configs2.ZeroBytes32,
|
1149
|
+
stateRoot: import_configs2.ZeroBytes32
|
1152
1150
|
};
|
1153
1151
|
}
|
1154
1152
|
case import_transactions2.OutputType.Change: {
|
@@ -1162,9 +1160,9 @@ var outputify = (value) => {
|
|
1162
1160
|
case import_transactions2.OutputType.Variable: {
|
1163
1161
|
return {
|
1164
1162
|
type: import_transactions2.OutputType.Variable,
|
1165
|
-
to:
|
1163
|
+
to: import_configs2.ZeroBytes32,
|
1166
1164
|
amount: (0, import_math3.bn)(0),
|
1167
|
-
assetId:
|
1165
|
+
assetId: import_configs2.ZeroBytes32
|
1168
1166
|
};
|
1169
1167
|
}
|
1170
1168
|
case import_transactions2.OutputType.ContractCreated: {
|
@@ -1186,7 +1184,7 @@ var outputify = (value) => {
|
|
1186
1184
|
// src/providers/transaction-request/transaction-request.ts
|
1187
1185
|
var import_abi_coder2 = require("@fuel-ts/abi-coder");
|
1188
1186
|
var import_address = require("@fuel-ts/address");
|
1189
|
-
var
|
1187
|
+
var import_configs6 = require("@fuel-ts/address/configs");
|
1190
1188
|
var import_crypto = require("@fuel-ts/crypto");
|
1191
1189
|
var import_math7 = require("@fuel-ts/math");
|
1192
1190
|
var import_transactions6 = require("@fuel-ts/transactions");
|
@@ -1196,13 +1194,13 @@ var import_utils9 = require("@fuel-ts/utils");
|
|
1196
1194
|
var isCoin = (resource) => "id" in resource;
|
1197
1195
|
|
1198
1196
|
// src/providers/utils/receipts.ts
|
1199
|
-
var
|
1197
|
+
var import_configs3 = require("@fuel-ts/address/configs");
|
1200
1198
|
var import_errors5 = require("@fuel-ts/errors");
|
1201
1199
|
var import_math4 = require("@fuel-ts/math");
|
1202
1200
|
var import_transactions3 = require("@fuel-ts/transactions");
|
1203
|
-
var
|
1201
|
+
var import_configs4 = require("@fuel-ts/transactions/configs");
|
1204
1202
|
var import_utils5 = require("@fuel-ts/utils");
|
1205
|
-
var doesReceiptHaveMissingOutputVariables = (receipt) => receipt.type === import_transactions3.ReceiptType.Revert && receipt.val.toString("hex") ===
|
1203
|
+
var doesReceiptHaveMissingOutputVariables = (receipt) => receipt.type === import_transactions3.ReceiptType.Revert && receipt.val.toString("hex") === import_configs4.FAILED_TRANSFER_TO_ADDRESS_SIGNAL;
|
1206
1204
|
var doesReceiptHaveMissingContractId = (receipt) => receipt.type === import_transactions3.ReceiptType.Panic && receipt.contractId !== "0x0000000000000000000000000000000000000000000000000000000000000000";
|
1207
1205
|
var getReceiptsWithMissingData = (receipts) => receipts.reduce(
|
1208
1206
|
(memo, receipt) => {
|
@@ -1219,7 +1217,7 @@ var getReceiptsWithMissingData = (receipts) => receipts.reduce(
|
|
1219
1217
|
missingOutputContractIds: []
|
1220
1218
|
}
|
1221
1219
|
);
|
1222
|
-
var hexOrZero = (hex) => hex ||
|
1220
|
+
var hexOrZero = (hex) => hex || import_configs3.ZeroBytes32;
|
1223
1221
|
function assembleReceiptByType(receipt) {
|
1224
1222
|
const { receiptType } = receipt;
|
1225
1223
|
switch (receiptType) {
|
@@ -1524,16 +1522,16 @@ function sleep(time) {
|
|
1524
1522
|
var import_errors7 = require("@fuel-ts/errors");
|
1525
1523
|
var import_math6 = require("@fuel-ts/math");
|
1526
1524
|
var import_transactions5 = require("@fuel-ts/transactions");
|
1527
|
-
var
|
1525
|
+
var import_configs5 = require("@fuel-ts/transactions/configs");
|
1528
1526
|
var assemblePanicError = (status) => {
|
1529
1527
|
let errorMessage = `The transaction reverted with reason: "${status.reason}".`;
|
1530
1528
|
const reason = status.reason;
|
1531
|
-
if (
|
1529
|
+
if (import_configs5.PANIC_REASONS.includes(status.reason)) {
|
1532
1530
|
errorMessage = `${errorMessage}
|
1533
1531
|
|
1534
1532
|
You can read more about this error at:
|
1535
1533
|
|
1536
|
-
${
|
1534
|
+
${import_configs5.PANIC_DOC_URL}#variant.${status.reason}`;
|
1537
1535
|
}
|
1538
1536
|
return { errorMessage, reason };
|
1539
1537
|
};
|
@@ -1545,28 +1543,28 @@ var assembleRevertError = (receipts, logs) => {
|
|
1545
1543
|
if (revertReceipt) {
|
1546
1544
|
const reasonHex = (0, import_math6.bn)(revertReceipt.val).toHex();
|
1547
1545
|
switch (reasonHex) {
|
1548
|
-
case
|
1546
|
+
case import_configs5.FAILED_REQUIRE_SIGNAL: {
|
1549
1547
|
reason = "require";
|
1550
1548
|
errorMessage = `The transaction reverted because a "require" statement has thrown ${logs.length ? stringify(logs[0]) : "an error."}.`;
|
1551
1549
|
break;
|
1552
1550
|
}
|
1553
|
-
case
|
1551
|
+
case import_configs5.FAILED_ASSERT_EQ_SIGNAL: {
|
1554
1552
|
const sufix = logs.length >= 2 ? ` comparing ${stringify(logs[1])} and ${stringify(logs[0])}.` : ".";
|
1555
1553
|
reason = "assert_eq";
|
1556
1554
|
errorMessage = `The transaction reverted because of an "assert_eq" statement${sufix}`;
|
1557
1555
|
break;
|
1558
1556
|
}
|
1559
|
-
case
|
1557
|
+
case import_configs5.FAILED_ASSERT_NE_SIGNAL: {
|
1560
1558
|
const sufix = logs.length >= 2 ? ` comparing ${stringify(logs[1])} and ${stringify(logs[0])}.` : ".";
|
1561
1559
|
reason = "assert_ne";
|
1562
1560
|
errorMessage = `The transaction reverted because of an "assert_ne" statement${sufix}`;
|
1563
1561
|
break;
|
1564
1562
|
}
|
1565
|
-
case
|
1563
|
+
case import_configs5.FAILED_ASSERT_SIGNAL:
|
1566
1564
|
reason = "assert";
|
1567
1565
|
errorMessage = `The transaction reverted because an "assert" statement failed to evaluate to true.`;
|
1568
1566
|
break;
|
1569
|
-
case
|
1567
|
+
case import_configs5.FAILED_TRANSFER_TO_ADDRESS_SIGNAL:
|
1570
1568
|
reason = "MissingOutputChange";
|
1571
1569
|
errorMessage = `The transaction reverted because it's missing an "OutputChange".`;
|
1572
1570
|
break;
|
@@ -1628,6 +1626,8 @@ var BaseTransactionRequest = class {
|
|
1628
1626
|
outputs = [];
|
1629
1627
|
/** List of witnesses */
|
1630
1628
|
witnesses = [];
|
1629
|
+
/** Base asset ID - should be fetched from the chain */
|
1630
|
+
baseAssetId;
|
1631
1631
|
/**
|
1632
1632
|
* Constructor for initializing a base transaction request.
|
1633
1633
|
*
|
@@ -1640,8 +1640,9 @@ var BaseTransactionRequest = class {
|
|
1640
1640
|
witnessLimit,
|
1641
1641
|
inputs,
|
1642
1642
|
outputs,
|
1643
|
-
witnesses
|
1644
|
-
|
1643
|
+
witnesses,
|
1644
|
+
baseAssetId
|
1645
|
+
}) {
|
1645
1646
|
this.gasPrice = (0, import_math7.bn)(gasPrice);
|
1646
1647
|
this.maturity = maturity ?? 0;
|
1647
1648
|
this.witnessLimit = witnessLimit ? (0, import_math7.bn)(witnessLimit) : void 0;
|
@@ -1649,6 +1650,7 @@ var BaseTransactionRequest = class {
|
|
1649
1650
|
this.inputs = inputs ?? [];
|
1650
1651
|
this.outputs = outputs ?? [];
|
1651
1652
|
this.witnesses = witnesses ?? [];
|
1653
|
+
this.baseAssetId = baseAssetId;
|
1652
1654
|
}
|
1653
1655
|
static getPolicyMeta(req) {
|
1654
1656
|
let policyTypes = 0;
|
@@ -1741,7 +1743,7 @@ var BaseTransactionRequest = class {
|
|
1741
1743
|
* @returns The index of the created witness.
|
1742
1744
|
*/
|
1743
1745
|
addEmptyWitness() {
|
1744
|
-
this.addWitness((0, import_utils9.concat)([
|
1746
|
+
this.addWitness((0, import_utils9.concat)([import_configs6.ZeroBytes32, import_configs6.ZeroBytes32]));
|
1745
1747
|
return this.witnesses.length - 1;
|
1746
1748
|
}
|
1747
1749
|
/**
|
@@ -1842,8 +1844,8 @@ var BaseTransactionRequest = class {
|
|
1842
1844
|
* @param predicate - Predicate bytes.
|
1843
1845
|
* @param predicateData - Predicate data bytes.
|
1844
1846
|
*/
|
1845
|
-
addCoinInput(coin) {
|
1846
|
-
const { assetId, owner, amount
|
1847
|
+
addCoinInput(coin, predicate) {
|
1848
|
+
const { assetId, owner, amount } = coin;
|
1847
1849
|
let witnessIndex;
|
1848
1850
|
if (predicate) {
|
1849
1851
|
witnessIndex = 0;
|
@@ -1854,14 +1856,14 @@ var BaseTransactionRequest = class {
|
|
1854
1856
|
}
|
1855
1857
|
}
|
1856
1858
|
const input = {
|
1857
|
-
|
1859
|
+
...coin,
|
1858
1860
|
type: import_transactions6.InputType.Coin,
|
1859
1861
|
owner: owner.toB256(),
|
1860
1862
|
amount,
|
1861
1863
|
assetId,
|
1862
1864
|
txPointer: "0x00000000000000000000000000000000",
|
1863
1865
|
witnessIndex,
|
1864
|
-
predicate
|
1866
|
+
predicate: predicate?.bytes
|
1865
1867
|
};
|
1866
1868
|
this.pushInput(input);
|
1867
1869
|
this.addChangeOutput(owner, assetId);
|
@@ -1872,11 +1874,9 @@ var BaseTransactionRequest = class {
|
|
1872
1874
|
*
|
1873
1875
|
* @param message - Message resource.
|
1874
1876
|
* @param predicate - Predicate bytes.
|
1875
|
-
* @param predicateData - Predicate data bytes.
|
1876
1877
|
*/
|
1877
|
-
addMessageInput(message) {
|
1878
|
-
const { recipient, sender, amount
|
1879
|
-
const assetId = import_configs7.BaseAssetId;
|
1878
|
+
addMessageInput(message, predicate) {
|
1879
|
+
const { recipient, sender, amount } = message;
|
1880
1880
|
let witnessIndex;
|
1881
1881
|
if (predicate) {
|
1882
1882
|
witnessIndex = 0;
|
@@ -1887,16 +1887,16 @@ var BaseTransactionRequest = class {
|
|
1887
1887
|
}
|
1888
1888
|
}
|
1889
1889
|
const input = {
|
1890
|
-
|
1890
|
+
...message,
|
1891
1891
|
type: import_transactions6.InputType.Message,
|
1892
1892
|
sender: sender.toB256(),
|
1893
1893
|
recipient: recipient.toB256(),
|
1894
1894
|
amount,
|
1895
1895
|
witnessIndex,
|
1896
|
-
predicate
|
1896
|
+
predicate: predicate?.bytes
|
1897
1897
|
};
|
1898
1898
|
this.pushInput(input);
|
1899
|
-
this.addChangeOutput(recipient,
|
1899
|
+
this.addChangeOutput(recipient, this.baseAssetId);
|
1900
1900
|
}
|
1901
1901
|
/**
|
1902
1902
|
* Adds a single resource to the transaction by adding a coin/message input and a
|
@@ -1924,6 +1924,32 @@ var BaseTransactionRequest = class {
|
|
1924
1924
|
resources.forEach((resource) => this.addResource(resource));
|
1925
1925
|
return this;
|
1926
1926
|
}
|
1927
|
+
/**
|
1928
|
+
* Adds multiple resources to the transaction by adding coin/message inputs and change
|
1929
|
+
* outputs from the related assetIds.
|
1930
|
+
*
|
1931
|
+
* @param resources - The resources to add.
|
1932
|
+
* @returns This transaction.
|
1933
|
+
*/
|
1934
|
+
addPredicateResource(resource, predicate) {
|
1935
|
+
if (isCoin(resource)) {
|
1936
|
+
this.addCoinInput(resource, predicate);
|
1937
|
+
} else {
|
1938
|
+
this.addMessageInput(resource, predicate);
|
1939
|
+
}
|
1940
|
+
return this;
|
1941
|
+
}
|
1942
|
+
/**
|
1943
|
+
* Adds multiple predicate coin/message inputs to the transaction and change outputs
|
1944
|
+
* from the related assetIds.
|
1945
|
+
*
|
1946
|
+
* @param resources - The resources to add.
|
1947
|
+
* @returns This transaction.
|
1948
|
+
*/
|
1949
|
+
addPredicateResources(resources, predicate) {
|
1950
|
+
resources.forEach((resource) => this.addPredicateResource(resource, predicate));
|
1951
|
+
return this;
|
1952
|
+
}
|
1927
1953
|
/**
|
1928
1954
|
* Adds a coin output to the transaction.
|
1929
1955
|
*
|
@@ -1931,12 +1957,12 @@ var BaseTransactionRequest = class {
|
|
1931
1957
|
* @param amount - Amount of coin.
|
1932
1958
|
* @param assetId - Asset ID of coin.
|
1933
1959
|
*/
|
1934
|
-
addCoinOutput(to, amount, assetId
|
1960
|
+
addCoinOutput(to, amount, assetId) {
|
1935
1961
|
this.pushOutput({
|
1936
1962
|
type: import_transactions6.OutputType.Coin,
|
1937
1963
|
to: (0, import_address.addressify)(to).toB256(),
|
1938
1964
|
amount,
|
1939
|
-
assetId
|
1965
|
+
assetId: assetId ?? this.baseAssetId
|
1940
1966
|
});
|
1941
1967
|
return this;
|
1942
1968
|
}
|
@@ -1963,7 +1989,7 @@ var BaseTransactionRequest = class {
|
|
1963
1989
|
* @param to - Address of the owner.
|
1964
1990
|
* @param assetId - Asset ID of coin.
|
1965
1991
|
*/
|
1966
|
-
addChangeOutput(to, assetId
|
1992
|
+
addChangeOutput(to, assetId) {
|
1967
1993
|
const changeOutput = this.getChangeOutputs().find(
|
1968
1994
|
(output) => (0, import_utils9.hexlify)(output.assetId) === assetId
|
1969
1995
|
);
|
@@ -1971,7 +1997,7 @@ var BaseTransactionRequest = class {
|
|
1971
1997
|
this.pushOutput({
|
1972
1998
|
type: import_transactions6.OutputType.Change,
|
1973
1999
|
to: (0, import_address.addressify)(to).toB256(),
|
1974
|
-
assetId
|
2000
|
+
assetId: assetId ?? this.baseAssetId
|
1975
2001
|
});
|
1976
2002
|
}
|
1977
2003
|
}
|
@@ -2047,7 +2073,7 @@ var BaseTransactionRequest = class {
|
|
2047
2073
|
]);
|
2048
2074
|
}
|
2049
2075
|
};
|
2050
|
-
updateAssetInput(
|
2076
|
+
updateAssetInput(this.baseAssetId, (0, import_math7.bn)(1e11));
|
2051
2077
|
quantities.forEach((q) => updateAssetInput(q.assetId, q.amount));
|
2052
2078
|
}
|
2053
2079
|
/**
|
@@ -2097,13 +2123,13 @@ var BaseTransactionRequest = class {
|
|
2097
2123
|
};
|
2098
2124
|
|
2099
2125
|
// src/providers/transaction-request/create-transaction-request.ts
|
2100
|
-
var
|
2126
|
+
var import_configs8 = require("@fuel-ts/address/configs");
|
2101
2127
|
var import_math9 = require("@fuel-ts/math");
|
2102
2128
|
var import_transactions8 = require("@fuel-ts/transactions");
|
2103
2129
|
var import_utils13 = require("@fuel-ts/utils");
|
2104
2130
|
|
2105
2131
|
// src/providers/transaction-request/hash-transaction.ts
|
2106
|
-
var
|
2132
|
+
var import_configs7 = require("@fuel-ts/address/configs");
|
2107
2133
|
var import_hasher = require("@fuel-ts/hasher");
|
2108
2134
|
var import_math8 = require("@fuel-ts/math");
|
2109
2135
|
var import_transactions7 = require("@fuel-ts/transactions");
|
@@ -2112,7 +2138,7 @@ var import_ramda2 = require("ramda");
|
|
2112
2138
|
function hashTransaction(transactionRequest, chainId) {
|
2113
2139
|
const transaction = transactionRequest.toTransaction();
|
2114
2140
|
if (transaction.type === import_transactions7.TransactionType.Script) {
|
2115
|
-
transaction.receiptsRoot =
|
2141
|
+
transaction.receiptsRoot = import_configs7.ZeroBytes32;
|
2116
2142
|
}
|
2117
2143
|
transaction.inputs = transaction.inputs.map((input) => {
|
2118
2144
|
const inputClone = (0, import_ramda2.clone)(input);
|
@@ -2134,10 +2160,10 @@ function hashTransaction(transactionRequest, chainId) {
|
|
2134
2160
|
blockHeight: 0,
|
2135
2161
|
txIndex: 0
|
2136
2162
|
};
|
2137
|
-
inputClone.txID =
|
2163
|
+
inputClone.txID = import_configs7.ZeroBytes32;
|
2138
2164
|
inputClone.outputIndex = 0;
|
2139
|
-
inputClone.balanceRoot =
|
2140
|
-
inputClone.stateRoot =
|
2165
|
+
inputClone.balanceRoot = import_configs7.ZeroBytes32;
|
2166
|
+
inputClone.stateRoot = import_configs7.ZeroBytes32;
|
2141
2167
|
return inputClone;
|
2142
2168
|
}
|
2143
2169
|
default:
|
@@ -2148,8 +2174,8 @@ function hashTransaction(transactionRequest, chainId) {
|
|
2148
2174
|
const outputClone = (0, import_ramda2.clone)(output);
|
2149
2175
|
switch (outputClone.type) {
|
2150
2176
|
case import_transactions7.OutputType.Contract: {
|
2151
|
-
outputClone.balanceRoot =
|
2152
|
-
outputClone.stateRoot =
|
2177
|
+
outputClone.balanceRoot = import_configs7.ZeroBytes32;
|
2178
|
+
outputClone.stateRoot = import_configs7.ZeroBytes32;
|
2153
2179
|
return outputClone;
|
2154
2180
|
}
|
2155
2181
|
case import_transactions7.OutputType.Change: {
|
@@ -2157,9 +2183,9 @@ function hashTransaction(transactionRequest, chainId) {
|
|
2157
2183
|
return outputClone;
|
2158
2184
|
}
|
2159
2185
|
case import_transactions7.OutputType.Variable: {
|
2160
|
-
outputClone.to =
|
2186
|
+
outputClone.to = import_configs7.ZeroBytes32;
|
2161
2187
|
outputClone.amount = (0, import_math8.bn)(0);
|
2162
|
-
outputClone.assetId =
|
2188
|
+
outputClone.assetId = import_configs7.ZeroBytes32;
|
2163
2189
|
return outputClone;
|
2164
2190
|
}
|
2165
2191
|
default:
|
@@ -2217,15 +2243,10 @@ var CreateTransactionRequest = class extends BaseTransactionRequest {
|
|
2217
2243
|
*
|
2218
2244
|
* @param createTransactionRequestLike - The initial values for the instance
|
2219
2245
|
*/
|
2220
|
-
constructor({
|
2221
|
-
bytecodeWitnessIndex,
|
2222
|
-
salt,
|
2223
|
-
storageSlots,
|
2224
|
-
...rest
|
2225
|
-
} = {}) {
|
2246
|
+
constructor({ bytecodeWitnessIndex, salt, storageSlots, ...rest }) {
|
2226
2247
|
super(rest);
|
2227
2248
|
this.bytecodeWitnessIndex = bytecodeWitnessIndex ?? 0;
|
2228
|
-
this.salt = (0, import_utils13.hexlify)(salt ??
|
2249
|
+
this.salt = (0, import_utils13.hexlify)(salt ?? import_configs8.ZeroBytes32);
|
2229
2250
|
this.storageSlots = [...storageSlots ?? []];
|
2230
2251
|
}
|
2231
2252
|
/**
|
@@ -2243,7 +2264,7 @@ var CreateTransactionRequest = class extends BaseTransactionRequest {
|
|
2243
2264
|
bytecodeLength: baseTransaction.witnesses[bytecodeWitnessIndex].dataLength / 4,
|
2244
2265
|
bytecodeWitnessIndex,
|
2245
2266
|
storageSlotsCount: storageSlots.length,
|
2246
|
-
salt: this.salt ? (0, import_utils13.hexlify)(this.salt) :
|
2267
|
+
salt: this.salt ? (0, import_utils13.hexlify)(this.salt) : import_configs8.ZeroBytes32,
|
2247
2268
|
storageSlots
|
2248
2269
|
};
|
2249
2270
|
}
|
@@ -2293,7 +2314,7 @@ var CreateTransactionRequest = class extends BaseTransactionRequest {
|
|
2293
2314
|
// src/providers/transaction-request/script-transaction-request.ts
|
2294
2315
|
var import_abi_coder3 = require("@fuel-ts/abi-coder");
|
2295
2316
|
var import_address2 = require("@fuel-ts/address");
|
2296
|
-
var
|
2317
|
+
var import_configs9 = require("@fuel-ts/address/configs");
|
2297
2318
|
var import_math10 = require("@fuel-ts/math");
|
2298
2319
|
var import_transactions9 = require("@fuel-ts/transactions");
|
2299
2320
|
var import_utils15 = require("@fuel-ts/utils");
|
@@ -2346,7 +2367,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
|
|
2346
2367
|
*
|
2347
2368
|
* @param scriptTransactionRequestLike - The initial values for the instance.
|
2348
2369
|
*/
|
2349
|
-
constructor({ script, scriptData, gasLimit, ...rest }
|
2370
|
+
constructor({ script, scriptData, gasLimit, ...rest }) {
|
2350
2371
|
super(rest);
|
2351
2372
|
this.gasLimit = (0, import_math10.bn)(gasLimit);
|
2352
2373
|
this.script = (0, import_utils15.arrayify)(script ?? returnZeroScript.bytes);
|
@@ -2367,7 +2388,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
|
|
2367
2388
|
...super.getBaseTransaction(),
|
2368
2389
|
scriptLength: script.length,
|
2369
2390
|
scriptDataLength: scriptData.length,
|
2370
|
-
receiptsRoot:
|
2391
|
+
receiptsRoot: import_configs9.ZeroBytes32,
|
2371
2392
|
script: (0, import_utils15.hexlify)(script),
|
2372
2393
|
scriptData: (0, import_utils15.hexlify)(scriptData)
|
2373
2394
|
};
|
@@ -2599,7 +2620,7 @@ var calculateTransactionFee = (params) => {
|
|
2599
2620
|
};
|
2600
2621
|
|
2601
2622
|
// src/providers/transaction-summary/operations.ts
|
2602
|
-
var
|
2623
|
+
var import_configs10 = require("@fuel-ts/address/configs");
|
2603
2624
|
var import_errors11 = require("@fuel-ts/errors");
|
2604
2625
|
var import_math13 = require("@fuel-ts/math");
|
2605
2626
|
var import_transactions14 = require("@fuel-ts/transactions");
|
@@ -2897,7 +2918,7 @@ function extractTransferOperationFromReceipt(receipt, contractInputs, changeOutp
|
|
2897
2918
|
const { to: toAddress, assetId, amount } = receipt;
|
2898
2919
|
let { from: fromAddress } = receipt;
|
2899
2920
|
const toType = contractInputs.some((input) => input.contractID === toAddress) ? 0 /* contract */ : 1 /* account */;
|
2900
|
-
if (
|
2921
|
+
if (import_configs10.ZeroBytes32 === fromAddress) {
|
2901
2922
|
const change = changeOutputs.find((output) => output.assetId === assetId);
|
2902
2923
|
fromAddress = change?.to || fromAddress;
|
2903
2924
|
}
|
@@ -3474,6 +3495,7 @@ var processGqlChain = (chain) => {
|
|
3474
3495
|
gasPerByte: (0, import_math15.bn)(feeParams.gasPerByte),
|
3475
3496
|
maxMessageDataLength: (0, import_math15.bn)(predicateParams.maxMessageDataLength),
|
3476
3497
|
chainId: (0, import_math15.bn)(consensusParameters.chainId),
|
3498
|
+
baseAssetId: consensusParameters.baseAssetId,
|
3477
3499
|
gasCosts
|
3478
3500
|
},
|
3479
3501
|
gasCosts,
|
@@ -3716,6 +3738,17 @@ var _Provider = class {
|
|
3716
3738
|
} = this.getChain();
|
3717
3739
|
return chainId.toNumber();
|
3718
3740
|
}
|
3741
|
+
/**
|
3742
|
+
* Returns the base asset ID
|
3743
|
+
*
|
3744
|
+
* @returns A promise that resolves to the base asset ID
|
3745
|
+
*/
|
3746
|
+
getBaseAssetId() {
|
3747
|
+
const {
|
3748
|
+
consensusParameters: { baseAssetId }
|
3749
|
+
} = this.getChain();
|
3750
|
+
return baseAssetId;
|
3751
|
+
}
|
3719
3752
|
/**
|
3720
3753
|
* Submits a transaction to the chain to be executed.
|
3721
3754
|
*
|
@@ -4613,8 +4646,9 @@ var Account = class extends import_interfaces.AbstractAccount {
|
|
4613
4646
|
* @param assetId - The asset ID to check the balance for.
|
4614
4647
|
* @returns A promise that resolves to the balance amount.
|
4615
4648
|
*/
|
4616
|
-
async getBalance(assetId
|
4617
|
-
const
|
4649
|
+
async getBalance(assetId) {
|
4650
|
+
const assetIdToFetch = assetId ?? this.provider.getBaseAssetId();
|
4651
|
+
const amount = await this.provider.getBalance(this.address, assetIdToFetch);
|
4618
4652
|
return amount;
|
4619
4653
|
}
|
4620
4654
|
/**
|
@@ -4652,9 +4686,10 @@ var Account = class extends import_interfaces.AbstractAccount {
|
|
4652
4686
|
* @returns A promise that resolves when the resources are added to the transaction.
|
4653
4687
|
*/
|
4654
4688
|
async fund(request, coinQuantities, fee) {
|
4689
|
+
const baseAssetId = this.provider.getBaseAssetId();
|
4655
4690
|
const updatedQuantities = addAmountToAsset({
|
4656
4691
|
amount: (0, import_math18.bn)(fee),
|
4657
|
-
assetId:
|
4692
|
+
assetId: baseAssetId,
|
4658
4693
|
coinQuantities
|
4659
4694
|
});
|
4660
4695
|
const quantitiesDict = {};
|
@@ -4678,8 +4713,8 @@ var Account = class extends import_interfaces.AbstractAccount {
|
|
4678
4713
|
quantitiesDict[assetId].owned = quantitiesDict[assetId].owned.add(amount);
|
4679
4714
|
cachedUtxos.push(input.id);
|
4680
4715
|
}
|
4681
|
-
} else if (input.recipient === owner && input.amount && quantitiesDict[
|
4682
|
-
quantitiesDict[
|
4716
|
+
} else if (input.recipient === owner && input.amount && quantitiesDict[baseAssetId]) {
|
4717
|
+
quantitiesDict[baseAssetId].owned = quantitiesDict[baseAssetId].owned.add(input.amount);
|
4683
4718
|
cachedMessages.push(input.nonce);
|
4684
4719
|
}
|
4685
4720
|
}
|
@@ -4711,11 +4746,13 @@ var Account = class extends import_interfaces.AbstractAccount {
|
|
4711
4746
|
* @param txParams - The transaction parameters (gasLimit, gasPrice, maturity).
|
4712
4747
|
* @returns A promise that resolves to the prepared transaction request.
|
4713
4748
|
*/
|
4714
|
-
async createTransfer(destination, amount, assetId
|
4749
|
+
async createTransfer(destination, amount, assetId, txParams = {}) {
|
4715
4750
|
const { minGasPrice } = this.provider.getGasConfig();
|
4716
|
-
const
|
4751
|
+
const baseAssetId = this.provider.getBaseAssetId();
|
4752
|
+
const assetIdToTransfer = assetId ?? this.provider.getBaseAssetId();
|
4753
|
+
const params = { gasPrice: minGasPrice, baseAssetId, ...txParams };
|
4717
4754
|
const request = new ScriptTransactionRequest(params);
|
4718
|
-
request.addCoinOutput(import_address4.Address.fromAddressOrString(destination), amount,
|
4755
|
+
request.addCoinOutput(import_address4.Address.fromAddressOrString(destination), amount, assetIdToTransfer);
|
4719
4756
|
const { maxFee, requiredQuantities, gasUsed, estimatedInputs } = await this.provider.getTransactionCost(request, [], {
|
4720
4757
|
estimateTxDependencies: true,
|
4721
4758
|
resourcesOwner: this
|
@@ -4741,14 +4778,15 @@ var Account = class extends import_interfaces.AbstractAccount {
|
|
4741
4778
|
* @param txParams - The transaction parameters (gasLimit, gasPrice, maturity).
|
4742
4779
|
* @returns A promise that resolves to the transaction response.
|
4743
4780
|
*/
|
4744
|
-
async transfer(destination, amount, assetId
|
4781
|
+
async transfer(destination, amount, assetId, txParams = {}) {
|
4745
4782
|
if ((0, import_math18.bn)(amount).lte(0)) {
|
4746
4783
|
throw new import_errors16.FuelError(
|
4747
4784
|
import_errors16.ErrorCode.INVALID_TRANSFER_AMOUNT,
|
4748
4785
|
"Transfer amount must be a positive number."
|
4749
4786
|
);
|
4750
4787
|
}
|
4751
|
-
const
|
4788
|
+
const assetIdToTransfer = assetId ?? this.provider.getBaseAssetId();
|
4789
|
+
const request = await this.createTransfer(destination, amount, assetIdToTransfer, txParams);
|
4752
4790
|
return this.sendTransaction(request, { estimateTxDependencies: false });
|
4753
4791
|
}
|
4754
4792
|
/**
|
@@ -4760,7 +4798,7 @@ var Account = class extends import_interfaces.AbstractAccount {
|
|
4760
4798
|
* @param txParams - The optional transaction parameters.
|
4761
4799
|
* @returns A promise that resolves to the transaction response.
|
4762
4800
|
*/
|
4763
|
-
async transferToContract(contractId, amount, assetId
|
4801
|
+
async transferToContract(contractId, amount, assetId, txParams = {}) {
|
4764
4802
|
if ((0, import_math18.bn)(amount).lte(0)) {
|
4765
4803
|
throw new import_errors16.FuelError(
|
4766
4804
|
import_errors16.ErrorCode.INVALID_TRANSFER_AMOUNT,
|
@@ -4769,11 +4807,13 @@ var Account = class extends import_interfaces.AbstractAccount {
|
|
4769
4807
|
}
|
4770
4808
|
const contractAddress = import_address4.Address.fromAddressOrString(contractId);
|
4771
4809
|
const { minGasPrice } = this.provider.getGasConfig();
|
4772
|
-
const
|
4810
|
+
const baseAssetId = this.provider.getBaseAssetId();
|
4811
|
+
const assetIdToTransfer = assetId ?? this.provider.getBaseAssetId();
|
4812
|
+
const params = { gasPrice: minGasPrice, baseAssetId, ...txParams };
|
4773
4813
|
const { script, scriptData } = await assembleTransferToContractScript({
|
4774
4814
|
hexlifiedContractId: contractAddress.toB256(),
|
4775
4815
|
amountToTransfer: (0, import_math18.bn)(amount),
|
4776
|
-
assetId
|
4816
|
+
assetId: assetIdToTransfer
|
4777
4817
|
});
|
4778
4818
|
const request = new ScriptTransactionRequest({
|
4779
4819
|
...params,
|
@@ -4783,7 +4823,7 @@ var Account = class extends import_interfaces.AbstractAccount {
|
|
4783
4823
|
request.addContractInputAndOutput(contractAddress);
|
4784
4824
|
const { maxFee, requiredQuantities, gasUsed } = await this.provider.getTransactionCost(
|
4785
4825
|
request,
|
4786
|
-
[{ amount: (0, import_math18.bn)(amount), assetId: String(
|
4826
|
+
[{ amount: (0, import_math18.bn)(amount), assetId: String(assetIdToTransfer) }]
|
4787
4827
|
);
|
4788
4828
|
request.gasLimit = (0, import_math18.bn)(params.gasLimit ?? gasUsed);
|
4789
4829
|
this.validateGas({
|
@@ -4805,6 +4845,7 @@ var Account = class extends import_interfaces.AbstractAccount {
|
|
4805
4845
|
*/
|
4806
4846
|
async withdrawToBaseLayer(recipient, amount, txParams = {}) {
|
4807
4847
|
const { minGasPrice } = this.provider.getGasConfig();
|
4848
|
+
const baseAssetId = this.provider.getBaseAssetId();
|
4808
4849
|
const recipientAddress = import_address4.Address.fromAddressOrString(recipient);
|
4809
4850
|
const recipientDataArray = (0, import_utils28.arrayify)(
|
4810
4851
|
"0x".concat(recipientAddress.toHexString().substring(2).padStart(64, "0"))
|
@@ -4817,9 +4858,14 @@ var Account = class extends import_interfaces.AbstractAccount {
|
|
4817
4858
|
...recipientDataArray,
|
4818
4859
|
...amountDataArray
|
4819
4860
|
]);
|
4820
|
-
const params = {
|
4861
|
+
const params = {
|
4862
|
+
script,
|
4863
|
+
gasPrice: minGasPrice,
|
4864
|
+
baseAssetId,
|
4865
|
+
...txParams
|
4866
|
+
};
|
4821
4867
|
const request = new ScriptTransactionRequest(params);
|
4822
|
-
const forwardingQuantities = [{ amount: (0, import_math18.bn)(amount), assetId:
|
4868
|
+
const forwardingQuantities = [{ amount: (0, import_math18.bn)(amount), assetId: baseAssetId }];
|
4823
4869
|
const { requiredQuantities, maxFee, gasUsed } = await this.provider.getTransactionCost(
|
4824
4870
|
request,
|
4825
4871
|
forwardingQuantities
|
@@ -7964,7 +8010,9 @@ var seedTestWallet = async (wallet, quantities) => {
|
|
7964
8010
|
);
|
7965
8011
|
const resources = await genesisWallet.getResourcesToSpend(quantities);
|
7966
8012
|
const { minGasPrice } = genesisWallet.provider.getGasConfig();
|
8013
|
+
const baseAssetId = genesisWallet.provider.getBaseAssetId();
|
7967
8014
|
const request = new ScriptTransactionRequest({
|
8015
|
+
baseAssetId,
|
7968
8016
|
gasLimit: 1e4,
|
7969
8017
|
gasPrice: minGasPrice
|
7970
8018
|
});
|
@@ -7983,7 +8031,7 @@ var generateTestWallet = async (provider, quantities) => {
|
|
7983
8031
|
};
|
7984
8032
|
|
7985
8033
|
// src/test-utils/launchNode.ts
|
7986
|
-
var
|
8034
|
+
var import_configs11 = require("@fuel-ts/address/configs");
|
7987
8035
|
var import_math21 = require("@fuel-ts/math");
|
7988
8036
|
var import_utils36 = require("@fuel-ts/utils");
|
7989
8037
|
var import_cli_utils = require("@fuel-ts/utils/cli-utils");
|
@@ -8083,7 +8131,7 @@ var launchNode = async ({
|
|
8083
8131
|
{
|
8084
8132
|
owner: signer.address.toHexString(),
|
8085
8133
|
amount: (0, import_math21.toHex)(1e9),
|
8086
|
-
asset_id:
|
8134
|
+
asset_id: import_utils36.defaultChainConfig?.consensus_parameters?.base_asset_id ?? import_configs11.ZeroBytes32
|
8087
8135
|
}
|
8088
8136
|
]
|
8089
8137
|
}
|
@@ -8149,9 +8197,10 @@ var launchNode = async ({
|
|
8149
8197
|
})
|
8150
8198
|
);
|
8151
8199
|
var generateWallets = async (count, provider) => {
|
8200
|
+
const baseAssetId = provider.getBaseAssetId();
|
8152
8201
|
const wallets = [];
|
8153
8202
|
for (let i = 0; i < count; i += 1) {
|
8154
|
-
const wallet = await generateTestWallet(provider, [[1e3,
|
8203
|
+
const wallet = await generateTestWallet(provider, [[1e3, baseAssetId]]);
|
8155
8204
|
wallets.push(wallet);
|
8156
8205
|
}
|
8157
8206
|
return wallets;
|