@fuel-ts/account 0.0.0-rc-2037-20240411135757 → 0.0.0-rc-1976-20240411153008
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 +135 -104
- 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 +138 -89
- 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);
|
@@ -1051,7 +1049,7 @@ var MemoryCache = class {
|
|
1051
1049
|
};
|
1052
1050
|
|
1053
1051
|
// src/providers/transaction-request/input.ts
|
1054
|
-
var
|
1052
|
+
var import_configs = require("@fuel-ts/address/configs");
|
1055
1053
|
var import_errors3 = require("@fuel-ts/errors");
|
1056
1054
|
var import_math2 = require("@fuel-ts/math");
|
1057
1055
|
var import_transactions = require("@fuel-ts/transactions");
|
@@ -1085,10 +1083,10 @@ var inputify = (value) => {
|
|
1085
1083
|
case import_transactions.InputType.Contract: {
|
1086
1084
|
return {
|
1087
1085
|
type: import_transactions.InputType.Contract,
|
1088
|
-
txID:
|
1086
|
+
txID: import_configs.ZeroBytes32,
|
1089
1087
|
outputIndex: 0,
|
1090
|
-
balanceRoot:
|
1091
|
-
stateRoot:
|
1088
|
+
balanceRoot: import_configs.ZeroBytes32,
|
1089
|
+
stateRoot: import_configs.ZeroBytes32,
|
1092
1090
|
txPointer: {
|
1093
1091
|
blockHeight: (0, import_math2.toNumber)((0, import_utils3.arrayify)(value.txPointer).slice(0, 8)),
|
1094
1092
|
txIndex: (0, import_math2.toNumber)((0, import_utils3.arrayify)(value.txPointer).slice(8, 16))
|
@@ -1126,7 +1124,7 @@ var inputify = (value) => {
|
|
1126
1124
|
};
|
1127
1125
|
|
1128
1126
|
// src/providers/transaction-request/output.ts
|
1129
|
-
var
|
1127
|
+
var import_configs2 = require("@fuel-ts/address/configs");
|
1130
1128
|
var import_errors4 = require("@fuel-ts/errors");
|
1131
1129
|
var import_math3 = require("@fuel-ts/math");
|
1132
1130
|
var import_transactions2 = require("@fuel-ts/transactions");
|
@@ -1146,8 +1144,8 @@ var outputify = (value) => {
|
|
1146
1144
|
return {
|
1147
1145
|
type: import_transactions2.OutputType.Contract,
|
1148
1146
|
inputIndex: value.inputIndex,
|
1149
|
-
balanceRoot:
|
1150
|
-
stateRoot:
|
1147
|
+
balanceRoot: import_configs2.ZeroBytes32,
|
1148
|
+
stateRoot: import_configs2.ZeroBytes32
|
1151
1149
|
};
|
1152
1150
|
}
|
1153
1151
|
case import_transactions2.OutputType.Change: {
|
@@ -1161,9 +1159,9 @@ var outputify = (value) => {
|
|
1161
1159
|
case import_transactions2.OutputType.Variable: {
|
1162
1160
|
return {
|
1163
1161
|
type: import_transactions2.OutputType.Variable,
|
1164
|
-
to:
|
1162
|
+
to: import_configs2.ZeroBytes32,
|
1165
1163
|
amount: (0, import_math3.bn)(0),
|
1166
|
-
assetId:
|
1164
|
+
assetId: import_configs2.ZeroBytes32
|
1167
1165
|
};
|
1168
1166
|
}
|
1169
1167
|
case import_transactions2.OutputType.ContractCreated: {
|
@@ -1184,7 +1182,7 @@ var outputify = (value) => {
|
|
1184
1182
|
|
1185
1183
|
// src/providers/transaction-request/transaction-request.ts
|
1186
1184
|
var import_address = require("@fuel-ts/address");
|
1187
|
-
var
|
1185
|
+
var import_configs6 = require("@fuel-ts/address/configs");
|
1188
1186
|
var import_math7 = require("@fuel-ts/math");
|
1189
1187
|
var import_transactions6 = require("@fuel-ts/transactions");
|
1190
1188
|
var import_utils9 = require("@fuel-ts/utils");
|
@@ -1193,13 +1191,13 @@ var import_utils9 = require("@fuel-ts/utils");
|
|
1193
1191
|
var isCoin = (resource) => "id" in resource;
|
1194
1192
|
|
1195
1193
|
// src/providers/utils/receipts.ts
|
1196
|
-
var
|
1194
|
+
var import_configs3 = require("@fuel-ts/address/configs");
|
1197
1195
|
var import_errors5 = require("@fuel-ts/errors");
|
1198
1196
|
var import_math4 = require("@fuel-ts/math");
|
1199
1197
|
var import_transactions3 = require("@fuel-ts/transactions");
|
1200
|
-
var
|
1198
|
+
var import_configs4 = require("@fuel-ts/transactions/configs");
|
1201
1199
|
var import_utils5 = require("@fuel-ts/utils");
|
1202
|
-
var doesReceiptHaveMissingOutputVariables = (receipt) => receipt.type === import_transactions3.ReceiptType.Revert && receipt.val.toString("hex") ===
|
1200
|
+
var doesReceiptHaveMissingOutputVariables = (receipt) => receipt.type === import_transactions3.ReceiptType.Revert && receipt.val.toString("hex") === import_configs4.FAILED_TRANSFER_TO_ADDRESS_SIGNAL;
|
1203
1201
|
var doesReceiptHaveMissingContractId = (receipt) => receipt.type === import_transactions3.ReceiptType.Panic && receipt.contractId !== "0x0000000000000000000000000000000000000000000000000000000000000000";
|
1204
1202
|
var getReceiptsWithMissingData = (receipts) => receipts.reduce(
|
1205
1203
|
(memo, receipt) => {
|
@@ -1216,7 +1214,7 @@ var getReceiptsWithMissingData = (receipts) => receipts.reduce(
|
|
1216
1214
|
missingOutputContractIds: []
|
1217
1215
|
}
|
1218
1216
|
);
|
1219
|
-
var hexOrZero = (hex) => hex ||
|
1217
|
+
var hexOrZero = (hex) => hex || import_configs3.ZeroBytes32;
|
1220
1218
|
function assembleReceiptByType(receipt) {
|
1221
1219
|
const { receiptType } = receipt;
|
1222
1220
|
switch (receiptType) {
|
@@ -1521,16 +1519,16 @@ function sleep(time) {
|
|
1521
1519
|
var import_errors7 = require("@fuel-ts/errors");
|
1522
1520
|
var import_math6 = require("@fuel-ts/math");
|
1523
1521
|
var import_transactions5 = require("@fuel-ts/transactions");
|
1524
|
-
var
|
1522
|
+
var import_configs5 = require("@fuel-ts/transactions/configs");
|
1525
1523
|
var assemblePanicError = (status) => {
|
1526
1524
|
let errorMessage = `The transaction reverted with reason: "${status.reason}".`;
|
1527
1525
|
const reason = status.reason;
|
1528
|
-
if (
|
1526
|
+
if (import_configs5.PANIC_REASONS.includes(status.reason)) {
|
1529
1527
|
errorMessage = `${errorMessage}
|
1530
1528
|
|
1531
1529
|
You can read more about this error at:
|
1532
1530
|
|
1533
|
-
${
|
1531
|
+
${import_configs5.PANIC_DOC_URL}#variant.${status.reason}`;
|
1534
1532
|
}
|
1535
1533
|
return { errorMessage, reason };
|
1536
1534
|
};
|
@@ -1542,28 +1540,28 @@ var assembleRevertError = (receipts, logs) => {
|
|
1542
1540
|
if (revertReceipt) {
|
1543
1541
|
const reasonHex = (0, import_math6.bn)(revertReceipt.val).toHex();
|
1544
1542
|
switch (reasonHex) {
|
1545
|
-
case
|
1543
|
+
case import_configs5.FAILED_REQUIRE_SIGNAL: {
|
1546
1544
|
reason = "require";
|
1547
1545
|
errorMessage = `The transaction reverted because a "require" statement has thrown ${logs.length ? stringify(logs[0]) : "an error."}.`;
|
1548
1546
|
break;
|
1549
1547
|
}
|
1550
|
-
case
|
1548
|
+
case import_configs5.FAILED_ASSERT_EQ_SIGNAL: {
|
1551
1549
|
const sufix = logs.length >= 2 ? ` comparing ${stringify(logs[1])} and ${stringify(logs[0])}.` : ".";
|
1552
1550
|
reason = "assert_eq";
|
1553
1551
|
errorMessage = `The transaction reverted because of an "assert_eq" statement${sufix}`;
|
1554
1552
|
break;
|
1555
1553
|
}
|
1556
|
-
case
|
1554
|
+
case import_configs5.FAILED_ASSERT_NE_SIGNAL: {
|
1557
1555
|
const sufix = logs.length >= 2 ? ` comparing ${stringify(logs[1])} and ${stringify(logs[0])}.` : ".";
|
1558
1556
|
reason = "assert_ne";
|
1559
1557
|
errorMessage = `The transaction reverted because of an "assert_ne" statement${sufix}`;
|
1560
1558
|
break;
|
1561
1559
|
}
|
1562
|
-
case
|
1560
|
+
case import_configs5.FAILED_ASSERT_SIGNAL:
|
1563
1561
|
reason = "assert";
|
1564
1562
|
errorMessage = `The transaction reverted because an "assert" statement failed to evaluate to true.`;
|
1565
1563
|
break;
|
1566
|
-
case
|
1564
|
+
case import_configs5.FAILED_TRANSFER_TO_ADDRESS_SIGNAL:
|
1567
1565
|
reason = "MissingOutputChange";
|
1568
1566
|
errorMessage = `The transaction reverted because it's missing an "OutputChange".`;
|
1569
1567
|
break;
|
@@ -1625,6 +1623,8 @@ var BaseTransactionRequest = class {
|
|
1625
1623
|
outputs = [];
|
1626
1624
|
/** List of witnesses */
|
1627
1625
|
witnesses = [];
|
1626
|
+
/** Base asset ID - should be fetched from the chain */
|
1627
|
+
baseAssetId;
|
1628
1628
|
/**
|
1629
1629
|
* Constructor for initializing a base transaction request.
|
1630
1630
|
*
|
@@ -1637,8 +1637,9 @@ var BaseTransactionRequest = class {
|
|
1637
1637
|
witnessLimit,
|
1638
1638
|
inputs,
|
1639
1639
|
outputs,
|
1640
|
-
witnesses
|
1641
|
-
|
1640
|
+
witnesses,
|
1641
|
+
baseAssetId
|
1642
|
+
}) {
|
1642
1643
|
this.gasPrice = (0, import_math7.bn)(gasPrice);
|
1643
1644
|
this.maturity = maturity ?? 0;
|
1644
1645
|
this.witnessLimit = witnessLimit ? (0, import_math7.bn)(witnessLimit) : void 0;
|
@@ -1646,6 +1647,7 @@ var BaseTransactionRequest = class {
|
|
1646
1647
|
this.inputs = inputs ?? [];
|
1647
1648
|
this.outputs = outputs ?? [];
|
1648
1649
|
this.witnesses = witnesses ?? [];
|
1650
|
+
this.baseAssetId = baseAssetId;
|
1649
1651
|
}
|
1650
1652
|
static getPolicyMeta(req) {
|
1651
1653
|
let policyTypes = 0;
|
@@ -1738,7 +1740,7 @@ var BaseTransactionRequest = class {
|
|
1738
1740
|
* @returns The index of the created witness.
|
1739
1741
|
*/
|
1740
1742
|
addEmptyWitness() {
|
1741
|
-
this.addWitness((0, import_utils9.concat)([
|
1743
|
+
this.addWitness((0, import_utils9.concat)([import_configs6.ZeroBytes32, import_configs6.ZeroBytes32]));
|
1742
1744
|
return this.witnesses.length - 1;
|
1743
1745
|
}
|
1744
1746
|
/**
|
@@ -1839,8 +1841,8 @@ var BaseTransactionRequest = class {
|
|
1839
1841
|
* @param predicate - Predicate bytes.
|
1840
1842
|
* @param predicateData - Predicate data bytes.
|
1841
1843
|
*/
|
1842
|
-
addCoinInput(coin) {
|
1843
|
-
const { assetId, owner, amount
|
1844
|
+
addCoinInput(coin, predicate) {
|
1845
|
+
const { assetId, owner, amount } = coin;
|
1844
1846
|
let witnessIndex;
|
1845
1847
|
if (predicate) {
|
1846
1848
|
witnessIndex = 0;
|
@@ -1851,14 +1853,14 @@ var BaseTransactionRequest = class {
|
|
1851
1853
|
}
|
1852
1854
|
}
|
1853
1855
|
const input = {
|
1854
|
-
|
1856
|
+
...coin,
|
1855
1857
|
type: import_transactions6.InputType.Coin,
|
1856
1858
|
owner: owner.toB256(),
|
1857
1859
|
amount,
|
1858
1860
|
assetId,
|
1859
1861
|
txPointer: "0x00000000000000000000000000000000",
|
1860
1862
|
witnessIndex,
|
1861
|
-
predicate
|
1863
|
+
predicate: predicate?.bytes
|
1862
1864
|
};
|
1863
1865
|
this.pushInput(input);
|
1864
1866
|
this.addChangeOutput(owner, assetId);
|
@@ -1869,11 +1871,9 @@ var BaseTransactionRequest = class {
|
|
1869
1871
|
*
|
1870
1872
|
* @param message - Message resource.
|
1871
1873
|
* @param predicate - Predicate bytes.
|
1872
|
-
* @param predicateData - Predicate data bytes.
|
1873
1874
|
*/
|
1874
|
-
addMessageInput(message) {
|
1875
|
-
const { recipient, sender, amount
|
1876
|
-
const assetId = import_configs7.BaseAssetId;
|
1875
|
+
addMessageInput(message, predicate) {
|
1876
|
+
const { recipient, sender, amount } = message;
|
1877
1877
|
let witnessIndex;
|
1878
1878
|
if (predicate) {
|
1879
1879
|
witnessIndex = 0;
|
@@ -1884,16 +1884,16 @@ var BaseTransactionRequest = class {
|
|
1884
1884
|
}
|
1885
1885
|
}
|
1886
1886
|
const input = {
|
1887
|
-
|
1887
|
+
...message,
|
1888
1888
|
type: import_transactions6.InputType.Message,
|
1889
1889
|
sender: sender.toB256(),
|
1890
1890
|
recipient: recipient.toB256(),
|
1891
1891
|
amount,
|
1892
1892
|
witnessIndex,
|
1893
|
-
predicate
|
1893
|
+
predicate: predicate?.bytes
|
1894
1894
|
};
|
1895
1895
|
this.pushInput(input);
|
1896
|
-
this.addChangeOutput(recipient,
|
1896
|
+
this.addChangeOutput(recipient, this.baseAssetId);
|
1897
1897
|
}
|
1898
1898
|
/**
|
1899
1899
|
* Adds a single resource to the transaction by adding a coin/message input and a
|
@@ -1921,6 +1921,32 @@ var BaseTransactionRequest = class {
|
|
1921
1921
|
resources.forEach((resource) => this.addResource(resource));
|
1922
1922
|
return this;
|
1923
1923
|
}
|
1924
|
+
/**
|
1925
|
+
* Adds multiple resources to the transaction by adding coin/message inputs and change
|
1926
|
+
* outputs from the related assetIds.
|
1927
|
+
*
|
1928
|
+
* @param resources - The resources to add.
|
1929
|
+
* @returns This transaction.
|
1930
|
+
*/
|
1931
|
+
addPredicateResource(resource, predicate) {
|
1932
|
+
if (isCoin(resource)) {
|
1933
|
+
this.addCoinInput(resource, predicate);
|
1934
|
+
} else {
|
1935
|
+
this.addMessageInput(resource, predicate);
|
1936
|
+
}
|
1937
|
+
return this;
|
1938
|
+
}
|
1939
|
+
/**
|
1940
|
+
* Adds multiple predicate coin/message inputs to the transaction and change outputs
|
1941
|
+
* from the related assetIds.
|
1942
|
+
*
|
1943
|
+
* @param resources - The resources to add.
|
1944
|
+
* @returns This transaction.
|
1945
|
+
*/
|
1946
|
+
addPredicateResources(resources, predicate) {
|
1947
|
+
resources.forEach((resource) => this.addPredicateResource(resource, predicate));
|
1948
|
+
return this;
|
1949
|
+
}
|
1924
1950
|
/**
|
1925
1951
|
* Adds a coin output to the transaction.
|
1926
1952
|
*
|
@@ -1928,12 +1954,12 @@ var BaseTransactionRequest = class {
|
|
1928
1954
|
* @param amount - Amount of coin.
|
1929
1955
|
* @param assetId - Asset ID of coin.
|
1930
1956
|
*/
|
1931
|
-
addCoinOutput(to, amount, assetId
|
1957
|
+
addCoinOutput(to, amount, assetId) {
|
1932
1958
|
this.pushOutput({
|
1933
1959
|
type: import_transactions6.OutputType.Coin,
|
1934
1960
|
to: (0, import_address.addressify)(to).toB256(),
|
1935
1961
|
amount,
|
1936
|
-
assetId
|
1962
|
+
assetId: assetId ?? this.baseAssetId
|
1937
1963
|
});
|
1938
1964
|
return this;
|
1939
1965
|
}
|
@@ -1960,7 +1986,7 @@ var BaseTransactionRequest = class {
|
|
1960
1986
|
* @param to - Address of the owner.
|
1961
1987
|
* @param assetId - Asset ID of coin.
|
1962
1988
|
*/
|
1963
|
-
addChangeOutput(to, assetId
|
1989
|
+
addChangeOutput(to, assetId) {
|
1964
1990
|
const changeOutput = this.getChangeOutputs().find(
|
1965
1991
|
(output) => (0, import_utils9.hexlify)(output.assetId) === assetId
|
1966
1992
|
);
|
@@ -1968,7 +1994,7 @@ var BaseTransactionRequest = class {
|
|
1968
1994
|
this.pushOutput({
|
1969
1995
|
type: import_transactions6.OutputType.Change,
|
1970
1996
|
to: (0, import_address.addressify)(to).toB256(),
|
1971
|
-
assetId
|
1997
|
+
assetId: assetId ?? this.baseAssetId
|
1972
1998
|
});
|
1973
1999
|
}
|
1974
2000
|
}
|
@@ -2022,7 +2048,7 @@ var BaseTransactionRequest = class {
|
|
2022
2048
|
let idCounter = 0;
|
2023
2049
|
const generateId = () => {
|
2024
2050
|
const counterString = String(idCounter++);
|
2025
|
-
const id =
|
2051
|
+
const id = import_configs6.ZeroBytes32.slice(0, -counterString.length).concat(counterString);
|
2026
2052
|
return id;
|
2027
2053
|
};
|
2028
2054
|
const findAssetInput = (assetId) => this.inputs.find((input) => {
|
@@ -2050,7 +2076,7 @@ var BaseTransactionRequest = class {
|
|
2050
2076
|
]);
|
2051
2077
|
}
|
2052
2078
|
};
|
2053
|
-
updateAssetInput(
|
2079
|
+
updateAssetInput(this.baseAssetId, (0, import_math7.bn)(1e11));
|
2054
2080
|
quantities.forEach((q) => updateAssetInput(q.assetId, q.amount));
|
2055
2081
|
}
|
2056
2082
|
/**
|
@@ -2100,13 +2126,13 @@ var BaseTransactionRequest = class {
|
|
2100
2126
|
};
|
2101
2127
|
|
2102
2128
|
// src/providers/transaction-request/create-transaction-request.ts
|
2103
|
-
var
|
2129
|
+
var import_configs8 = require("@fuel-ts/address/configs");
|
2104
2130
|
var import_math9 = require("@fuel-ts/math");
|
2105
2131
|
var import_transactions8 = require("@fuel-ts/transactions");
|
2106
2132
|
var import_utils13 = require("@fuel-ts/utils");
|
2107
2133
|
|
2108
2134
|
// src/providers/transaction-request/hash-transaction.ts
|
2109
|
-
var
|
2135
|
+
var import_configs7 = require("@fuel-ts/address/configs");
|
2110
2136
|
var import_hasher = require("@fuel-ts/hasher");
|
2111
2137
|
var import_math8 = require("@fuel-ts/math");
|
2112
2138
|
var import_transactions7 = require("@fuel-ts/transactions");
|
@@ -2115,7 +2141,7 @@ var import_ramda2 = require("ramda");
|
|
2115
2141
|
function hashTransaction(transactionRequest, chainId) {
|
2116
2142
|
const transaction = transactionRequest.toTransaction();
|
2117
2143
|
if (transaction.type === import_transactions7.TransactionType.Script) {
|
2118
|
-
transaction.receiptsRoot =
|
2144
|
+
transaction.receiptsRoot = import_configs7.ZeroBytes32;
|
2119
2145
|
}
|
2120
2146
|
transaction.inputs = transaction.inputs.map((input) => {
|
2121
2147
|
const inputClone = (0, import_ramda2.clone)(input);
|
@@ -2137,10 +2163,10 @@ function hashTransaction(transactionRequest, chainId) {
|
|
2137
2163
|
blockHeight: 0,
|
2138
2164
|
txIndex: 0
|
2139
2165
|
};
|
2140
|
-
inputClone.txID =
|
2166
|
+
inputClone.txID = import_configs7.ZeroBytes32;
|
2141
2167
|
inputClone.outputIndex = 0;
|
2142
|
-
inputClone.balanceRoot =
|
2143
|
-
inputClone.stateRoot =
|
2168
|
+
inputClone.balanceRoot = import_configs7.ZeroBytes32;
|
2169
|
+
inputClone.stateRoot = import_configs7.ZeroBytes32;
|
2144
2170
|
return inputClone;
|
2145
2171
|
}
|
2146
2172
|
default:
|
@@ -2151,8 +2177,8 @@ function hashTransaction(transactionRequest, chainId) {
|
|
2151
2177
|
const outputClone = (0, import_ramda2.clone)(output);
|
2152
2178
|
switch (outputClone.type) {
|
2153
2179
|
case import_transactions7.OutputType.Contract: {
|
2154
|
-
outputClone.balanceRoot =
|
2155
|
-
outputClone.stateRoot =
|
2180
|
+
outputClone.balanceRoot = import_configs7.ZeroBytes32;
|
2181
|
+
outputClone.stateRoot = import_configs7.ZeroBytes32;
|
2156
2182
|
return outputClone;
|
2157
2183
|
}
|
2158
2184
|
case import_transactions7.OutputType.Change: {
|
@@ -2160,9 +2186,9 @@ function hashTransaction(transactionRequest, chainId) {
|
|
2160
2186
|
return outputClone;
|
2161
2187
|
}
|
2162
2188
|
case import_transactions7.OutputType.Variable: {
|
2163
|
-
outputClone.to =
|
2189
|
+
outputClone.to = import_configs7.ZeroBytes32;
|
2164
2190
|
outputClone.amount = (0, import_math8.bn)(0);
|
2165
|
-
outputClone.assetId =
|
2191
|
+
outputClone.assetId = import_configs7.ZeroBytes32;
|
2166
2192
|
return outputClone;
|
2167
2193
|
}
|
2168
2194
|
default:
|
@@ -2220,15 +2246,10 @@ var CreateTransactionRequest = class extends BaseTransactionRequest {
|
|
2220
2246
|
*
|
2221
2247
|
* @param createTransactionRequestLike - The initial values for the instance
|
2222
2248
|
*/
|
2223
|
-
constructor({
|
2224
|
-
bytecodeWitnessIndex,
|
2225
|
-
salt,
|
2226
|
-
storageSlots,
|
2227
|
-
...rest
|
2228
|
-
} = {}) {
|
2249
|
+
constructor({ bytecodeWitnessIndex, salt, storageSlots, ...rest }) {
|
2229
2250
|
super(rest);
|
2230
2251
|
this.bytecodeWitnessIndex = bytecodeWitnessIndex ?? 0;
|
2231
|
-
this.salt = (0, import_utils13.hexlify)(salt ??
|
2252
|
+
this.salt = (0, import_utils13.hexlify)(salt ?? import_configs8.ZeroBytes32);
|
2232
2253
|
this.storageSlots = [...storageSlots ?? []];
|
2233
2254
|
}
|
2234
2255
|
/**
|
@@ -2246,7 +2267,7 @@ var CreateTransactionRequest = class extends BaseTransactionRequest {
|
|
2246
2267
|
bytecodeLength: baseTransaction.witnesses[bytecodeWitnessIndex].dataLength / 4,
|
2247
2268
|
bytecodeWitnessIndex,
|
2248
2269
|
storageSlotsCount: storageSlots.length,
|
2249
|
-
salt: this.salt ? (0, import_utils13.hexlify)(this.salt) :
|
2270
|
+
salt: this.salt ? (0, import_utils13.hexlify)(this.salt) : import_configs8.ZeroBytes32,
|
2250
2271
|
storageSlots
|
2251
2272
|
};
|
2252
2273
|
}
|
@@ -2296,7 +2317,7 @@ var CreateTransactionRequest = class extends BaseTransactionRequest {
|
|
2296
2317
|
// src/providers/transaction-request/script-transaction-request.ts
|
2297
2318
|
var import_abi_coder = require("@fuel-ts/abi-coder");
|
2298
2319
|
var import_address2 = require("@fuel-ts/address");
|
2299
|
-
var
|
2320
|
+
var import_configs9 = require("@fuel-ts/address/configs");
|
2300
2321
|
var import_math10 = require("@fuel-ts/math");
|
2301
2322
|
var import_transactions9 = require("@fuel-ts/transactions");
|
2302
2323
|
var import_utils15 = require("@fuel-ts/utils");
|
@@ -2349,7 +2370,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
|
|
2349
2370
|
*
|
2350
2371
|
* @param scriptTransactionRequestLike - The initial values for the instance.
|
2351
2372
|
*/
|
2352
|
-
constructor({ script, scriptData, gasLimit, ...rest }
|
2373
|
+
constructor({ script, scriptData, gasLimit, ...rest }) {
|
2353
2374
|
super(rest);
|
2354
2375
|
this.gasLimit = (0, import_math10.bn)(gasLimit);
|
2355
2376
|
this.script = (0, import_utils15.arrayify)(script ?? returnZeroScript.bytes);
|
@@ -2370,7 +2391,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
|
|
2370
2391
|
...super.getBaseTransaction(),
|
2371
2392
|
scriptLength: script.length,
|
2372
2393
|
scriptDataLength: scriptData.length,
|
2373
|
-
receiptsRoot:
|
2394
|
+
receiptsRoot: import_configs9.ZeroBytes32,
|
2374
2395
|
script: (0, import_utils15.hexlify)(script),
|
2375
2396
|
scriptData: (0, import_utils15.hexlify)(scriptData)
|
2376
2397
|
};
|
@@ -2602,7 +2623,7 @@ var calculateTransactionFee = (params) => {
|
|
2602
2623
|
};
|
2603
2624
|
|
2604
2625
|
// src/providers/transaction-summary/operations.ts
|
2605
|
-
var
|
2626
|
+
var import_configs10 = require("@fuel-ts/address/configs");
|
2606
2627
|
var import_errors11 = require("@fuel-ts/errors");
|
2607
2628
|
var import_math13 = require("@fuel-ts/math");
|
2608
2629
|
var import_transactions14 = require("@fuel-ts/transactions");
|
@@ -2900,7 +2921,7 @@ function extractTransferOperationFromReceipt(receipt, contractInputs, changeOutp
|
|
2900
2921
|
const { to: toAddress, assetId, amount } = receipt;
|
2901
2922
|
let { from: fromAddress } = receipt;
|
2902
2923
|
const toType = contractInputs.some((input) => input.contractID === toAddress) ? 0 /* contract */ : 1 /* account */;
|
2903
|
-
if (
|
2924
|
+
if (import_configs10.ZeroBytes32 === fromAddress) {
|
2904
2925
|
const change = changeOutputs.find((output) => output.assetId === assetId);
|
2905
2926
|
fromAddress = change?.to || fromAddress;
|
2906
2927
|
}
|
@@ -3477,6 +3498,7 @@ var processGqlChain = (chain) => {
|
|
3477
3498
|
gasPerByte: (0, import_math15.bn)(feeParams.gasPerByte),
|
3478
3499
|
maxMessageDataLength: (0, import_math15.bn)(predicateParams.maxMessageDataLength),
|
3479
3500
|
chainId: (0, import_math15.bn)(consensusParameters.chainId),
|
3501
|
+
baseAssetId: consensusParameters.baseAssetId,
|
3480
3502
|
gasCosts
|
3481
3503
|
},
|
3482
3504
|
gasCosts,
|
@@ -3719,6 +3741,17 @@ var _Provider = class {
|
|
3719
3741
|
} = this.getChain();
|
3720
3742
|
return chainId.toNumber();
|
3721
3743
|
}
|
3744
|
+
/**
|
3745
|
+
* Returns the base asset ID
|
3746
|
+
*
|
3747
|
+
* @returns A promise that resolves to the base asset ID
|
3748
|
+
*/
|
3749
|
+
getBaseAssetId() {
|
3750
|
+
const {
|
3751
|
+
consensusParameters: { baseAssetId }
|
3752
|
+
} = this.getChain();
|
3753
|
+
return baseAssetId;
|
3754
|
+
}
|
3722
3755
|
/**
|
3723
3756
|
* Submits a transaction to the chain to be executed.
|
3724
3757
|
*
|
@@ -4589,8 +4622,9 @@ var Account = class extends import_interfaces.AbstractAccount {
|
|
4589
4622
|
* @param assetId - The asset ID to check the balance for.
|
4590
4623
|
* @returns A promise that resolves to the balance amount.
|
4591
4624
|
*/
|
4592
|
-
async getBalance(assetId
|
4593
|
-
const
|
4625
|
+
async getBalance(assetId) {
|
4626
|
+
const assetIdToFetch = assetId ?? this.provider.getBaseAssetId();
|
4627
|
+
const amount = await this.provider.getBalance(this.address, assetIdToFetch);
|
4594
4628
|
return amount;
|
4595
4629
|
}
|
4596
4630
|
/**
|
@@ -4628,9 +4662,10 @@ var Account = class extends import_interfaces.AbstractAccount {
|
|
4628
4662
|
* @returns A promise that resolves when the resources are added to the transaction.
|
4629
4663
|
*/
|
4630
4664
|
async fund(request, coinQuantities, fee) {
|
4665
|
+
const baseAssetId = this.provider.getBaseAssetId();
|
4631
4666
|
const updatedQuantities = addAmountToAsset({
|
4632
4667
|
amount: (0, import_math18.bn)(fee),
|
4633
|
-
assetId:
|
4668
|
+
assetId: baseAssetId,
|
4634
4669
|
coinQuantities
|
4635
4670
|
});
|
4636
4671
|
const quantitiesDict = {};
|
@@ -4654,8 +4689,8 @@ var Account = class extends import_interfaces.AbstractAccount {
|
|
4654
4689
|
quantitiesDict[assetId].owned = quantitiesDict[assetId].owned.add(amount);
|
4655
4690
|
cachedUtxos.push(input.id);
|
4656
4691
|
}
|
4657
|
-
} else if (input.recipient === owner && input.amount && quantitiesDict[
|
4658
|
-
quantitiesDict[
|
4692
|
+
} else if (input.recipient === owner && input.amount && quantitiesDict[baseAssetId]) {
|
4693
|
+
quantitiesDict[baseAssetId].owned = quantitiesDict[baseAssetId].owned.add(input.amount);
|
4659
4694
|
cachedMessages.push(input.nonce);
|
4660
4695
|
}
|
4661
4696
|
}
|
@@ -4687,11 +4722,13 @@ var Account = class extends import_interfaces.AbstractAccount {
|
|
4687
4722
|
* @param txParams - The transaction parameters (gasLimit, gasPrice, maturity).
|
4688
4723
|
* @returns A promise that resolves to the prepared transaction request.
|
4689
4724
|
*/
|
4690
|
-
async createTransfer(destination, amount, assetId
|
4725
|
+
async createTransfer(destination, amount, assetId, txParams = {}) {
|
4691
4726
|
const { minGasPrice } = this.provider.getGasConfig();
|
4692
|
-
const
|
4727
|
+
const baseAssetId = this.provider.getBaseAssetId();
|
4728
|
+
const assetIdToTransfer = assetId ?? this.provider.getBaseAssetId();
|
4729
|
+
const params = { gasPrice: minGasPrice, baseAssetId, ...txParams };
|
4693
4730
|
const request = new ScriptTransactionRequest(params);
|
4694
|
-
request.addCoinOutput(import_address4.Address.fromAddressOrString(destination), amount,
|
4731
|
+
request.addCoinOutput(import_address4.Address.fromAddressOrString(destination), amount, assetIdToTransfer);
|
4695
4732
|
const { maxFee, requiredQuantities, gasUsed, estimatedInputs } = await this.provider.getTransactionCost(request, [], {
|
4696
4733
|
estimateTxDependencies: true,
|
4697
4734
|
resourcesOwner: this
|
@@ -4717,14 +4754,15 @@ var Account = class extends import_interfaces.AbstractAccount {
|
|
4717
4754
|
* @param txParams - The transaction parameters (gasLimit, gasPrice, maturity).
|
4718
4755
|
* @returns A promise that resolves to the transaction response.
|
4719
4756
|
*/
|
4720
|
-
async transfer(destination, amount, assetId
|
4757
|
+
async transfer(destination, amount, assetId, txParams = {}) {
|
4721
4758
|
if ((0, import_math18.bn)(amount).lte(0)) {
|
4722
4759
|
throw new import_errors16.FuelError(
|
4723
4760
|
import_errors16.ErrorCode.INVALID_TRANSFER_AMOUNT,
|
4724
4761
|
"Transfer amount must be a positive number."
|
4725
4762
|
);
|
4726
4763
|
}
|
4727
|
-
const
|
4764
|
+
const assetIdToTransfer = assetId ?? this.provider.getBaseAssetId();
|
4765
|
+
const request = await this.createTransfer(destination, amount, assetIdToTransfer, txParams);
|
4728
4766
|
return this.sendTransaction(request, { estimateTxDependencies: false });
|
4729
4767
|
}
|
4730
4768
|
/**
|
@@ -4736,7 +4774,7 @@ var Account = class extends import_interfaces.AbstractAccount {
|
|
4736
4774
|
* @param txParams - The optional transaction parameters.
|
4737
4775
|
* @returns A promise that resolves to the transaction response.
|
4738
4776
|
*/
|
4739
|
-
async transferToContract(contractId, amount, assetId
|
4777
|
+
async transferToContract(contractId, amount, assetId, txParams = {}) {
|
4740
4778
|
if ((0, import_math18.bn)(amount).lte(0)) {
|
4741
4779
|
throw new import_errors16.FuelError(
|
4742
4780
|
import_errors16.ErrorCode.INVALID_TRANSFER_AMOUNT,
|
@@ -4745,11 +4783,13 @@ var Account = class extends import_interfaces.AbstractAccount {
|
|
4745
4783
|
}
|
4746
4784
|
const contractAddress = import_address4.Address.fromAddressOrString(contractId);
|
4747
4785
|
const { minGasPrice } = this.provider.getGasConfig();
|
4748
|
-
const
|
4786
|
+
const baseAssetId = this.provider.getBaseAssetId();
|
4787
|
+
const assetIdToTransfer = assetId ?? this.provider.getBaseAssetId();
|
4788
|
+
const params = { gasPrice: minGasPrice, baseAssetId, ...txParams };
|
4749
4789
|
const { script, scriptData } = await assembleTransferToContractScript({
|
4750
4790
|
hexlifiedContractId: contractAddress.toB256(),
|
4751
4791
|
amountToTransfer: (0, import_math18.bn)(amount),
|
4752
|
-
assetId
|
4792
|
+
assetId: assetIdToTransfer
|
4753
4793
|
});
|
4754
4794
|
const request = new ScriptTransactionRequest({
|
4755
4795
|
...params,
|
@@ -4759,7 +4799,7 @@ var Account = class extends import_interfaces.AbstractAccount {
|
|
4759
4799
|
request.addContractInputAndOutput(contractAddress);
|
4760
4800
|
const { maxFee, requiredQuantities, gasUsed } = await this.provider.getTransactionCost(
|
4761
4801
|
request,
|
4762
|
-
[{ amount: (0, import_math18.bn)(amount), assetId: String(
|
4802
|
+
[{ amount: (0, import_math18.bn)(amount), assetId: String(assetIdToTransfer) }]
|
4763
4803
|
);
|
4764
4804
|
request.gasLimit = (0, import_math18.bn)(params.gasLimit ?? gasUsed);
|
4765
4805
|
this.validateGas({
|
@@ -4781,6 +4821,7 @@ var Account = class extends import_interfaces.AbstractAccount {
|
|
4781
4821
|
*/
|
4782
4822
|
async withdrawToBaseLayer(recipient, amount, txParams = {}) {
|
4783
4823
|
const { minGasPrice } = this.provider.getGasConfig();
|
4824
|
+
const baseAssetId = this.provider.getBaseAssetId();
|
4784
4825
|
const recipientAddress = import_address4.Address.fromAddressOrString(recipient);
|
4785
4826
|
const recipientDataArray = (0, import_utils28.arrayify)(
|
4786
4827
|
"0x".concat(recipientAddress.toHexString().substring(2).padStart(64, "0"))
|
@@ -4793,9 +4834,14 @@ var Account = class extends import_interfaces.AbstractAccount {
|
|
4793
4834
|
...recipientDataArray,
|
4794
4835
|
...amountDataArray
|
4795
4836
|
]);
|
4796
|
-
const params = {
|
4837
|
+
const params = {
|
4838
|
+
script,
|
4839
|
+
gasPrice: minGasPrice,
|
4840
|
+
baseAssetId,
|
4841
|
+
...txParams
|
4842
|
+
};
|
4797
4843
|
const request = new ScriptTransactionRequest(params);
|
4798
|
-
const forwardingQuantities = [{ amount: (0, import_math18.bn)(amount), assetId:
|
4844
|
+
const forwardingQuantities = [{ amount: (0, import_math18.bn)(amount), assetId: baseAssetId }];
|
4799
4845
|
const { requiredQuantities, maxFee, gasUsed } = await this.provider.getTransactionCost(
|
4800
4846
|
request,
|
4801
4847
|
forwardingQuantities
|
@@ -7940,7 +7986,9 @@ var seedTestWallet = async (wallet, quantities) => {
|
|
7940
7986
|
);
|
7941
7987
|
const resources = await genesisWallet.getResourcesToSpend(quantities);
|
7942
7988
|
const { minGasPrice } = genesisWallet.provider.getGasConfig();
|
7989
|
+
const baseAssetId = genesisWallet.provider.getBaseAssetId();
|
7943
7990
|
const request = new ScriptTransactionRequest({
|
7991
|
+
baseAssetId,
|
7944
7992
|
gasLimit: 1e4,
|
7945
7993
|
gasPrice: minGasPrice
|
7946
7994
|
});
|
@@ -7959,7 +8007,7 @@ var generateTestWallet = async (provider, quantities) => {
|
|
7959
8007
|
};
|
7960
8008
|
|
7961
8009
|
// src/test-utils/launchNode.ts
|
7962
|
-
var
|
8010
|
+
var import_configs11 = require("@fuel-ts/address/configs");
|
7963
8011
|
var import_math21 = require("@fuel-ts/math");
|
7964
8012
|
var import_utils36 = require("@fuel-ts/utils");
|
7965
8013
|
var import_cli_utils = require("@fuel-ts/utils/cli-utils");
|
@@ -8059,7 +8107,7 @@ var launchNode = async ({
|
|
8059
8107
|
{
|
8060
8108
|
owner: signer.address.toHexString(),
|
8061
8109
|
amount: (0, import_math21.toHex)(1e9),
|
8062
|
-
asset_id:
|
8110
|
+
asset_id: import_utils36.defaultChainConfig?.consensus_parameters?.base_asset_id ?? import_configs11.ZeroBytes32
|
8063
8111
|
}
|
8064
8112
|
]
|
8065
8113
|
}
|
@@ -8125,9 +8173,10 @@ var launchNode = async ({
|
|
8125
8173
|
})
|
8126
8174
|
);
|
8127
8175
|
var generateWallets = async (count, provider) => {
|
8176
|
+
const baseAssetId = provider.getBaseAssetId();
|
8128
8177
|
const wallets = [];
|
8129
8178
|
for (let i = 0; i < count; i += 1) {
|
8130
|
-
const wallet = await generateTestWallet(provider, [[1e3,
|
8179
|
+
const wallet = await generateTestWallet(provider, [[1e3, baseAssetId]]);
|
8131
8180
|
wallets.push(wallet);
|
8132
8181
|
}
|
8133
8182
|
return wallets;
|