@fuel-ts/account 0.0.0-rc-1976-20240417161625 → 0.0.0-rc-2037-20240417202046
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 +124 -100
- package/dist/index.global.js.map +1 -1
- package/dist/index.js +280 -241
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +159 -126
- package/dist/index.mjs.map +1 -1
- package/dist/predicate/predicate.d.ts +11 -2
- 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 +2 -1
- package/dist/providers/coin.d.ts.map +1 -1
- package/dist/providers/message.d.ts +1 -0
- package/dist/providers/message.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/helpers.d.ts +10 -0
- package/dist/providers/transaction-request/helpers.d.ts.map +1 -0
- package/dist/providers/transaction-request/index.d.ts +1 -0
- package/dist/providers/transaction-request/index.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 +6 -25
- package/dist/providers/transaction-request/transaction-request.d.ts.map +1 -1
- package/dist/test-utils/index.d.ts +1 -0
- package/dist/test-utils/index.d.ts.map +1 -1
- package/dist/test-utils/launchNode.d.ts.map +1 -1
- package/dist/test-utils/resources.d.ts +4 -0
- package/dist/test-utils/resources.d.ts.map +1 -0
- package/dist/test-utils/seedTestWallet.d.ts +1 -1
- package/dist/test-utils/seedTestWallet.d.ts.map +1 -1
- package/dist/test-utils/transactionRequest.d.ts +5 -0
- package/dist/test-utils/transactionRequest.d.ts.map +1 -0
- package/dist/test-utils.global.js +104 -105
- package/dist/test-utils.global.js.map +1 -1
- package/dist/test-utils.js +253 -238
- package/dist/test-utils.js.map +1 -1
- package/dist/test-utils.mjs +141 -129
- package/dist/test-utils.mjs.map +1 -1
- package/dist/wallet/base-wallet-unlocked.d.ts +2 -2
- package/dist/wallet/base-wallet-unlocked.d.ts.map +1 -1
- package/package.json +15 -15
package/dist/test-utils.js
CHANGED
@@ -48,6 +48,9 @@ var __privateMethod = (obj, member, method) => {
|
|
48
48
|
// src/test-utils/index.ts
|
49
49
|
var test_utils_exports = {};
|
50
50
|
__export(test_utils_exports, {
|
51
|
+
generateFakeRequestInputCoin: () => generateFakeRequestInputCoin,
|
52
|
+
generateFakeRequestInputContract: () => generateFakeRequestInputContract,
|
53
|
+
generateFakeRequestInputMessage: () => generateFakeRequestInputMessage,
|
51
54
|
generateTestWallet: () => generateTestWallet,
|
52
55
|
killNode: () => killNode,
|
53
56
|
launchNode: () => launchNode,
|
@@ -62,12 +65,14 @@ var import_utils31 = require("@fuel-ts/utils");
|
|
62
65
|
|
63
66
|
// src/account.ts
|
64
67
|
var import_address4 = require("@fuel-ts/address");
|
68
|
+
var import_configs12 = require("@fuel-ts/address/configs");
|
65
69
|
var import_errors16 = require("@fuel-ts/errors");
|
66
70
|
var import_interfaces = require("@fuel-ts/interfaces");
|
67
71
|
var import_math18 = require("@fuel-ts/math");
|
68
72
|
var import_utils28 = require("@fuel-ts/utils");
|
69
73
|
|
70
74
|
// src/providers/coin-quantity.ts
|
75
|
+
var import_configs = require("@fuel-ts/address/configs");
|
71
76
|
var import_math = require("@fuel-ts/math");
|
72
77
|
var import_utils = require("@fuel-ts/utils");
|
73
78
|
var coinQuantityfy = (coinQuantityLike) => {
|
@@ -76,11 +81,11 @@ var coinQuantityfy = (coinQuantityLike) => {
|
|
76
81
|
let max2;
|
77
82
|
if (Array.isArray(coinQuantityLike)) {
|
78
83
|
amount = coinQuantityLike[0];
|
79
|
-
assetId = coinQuantityLike[1];
|
80
|
-
max2 = coinQuantityLike[2];
|
84
|
+
assetId = coinQuantityLike[1] ?? import_configs.BaseAssetId;
|
85
|
+
max2 = coinQuantityLike[2] ?? void 0;
|
81
86
|
} else {
|
82
87
|
amount = coinQuantityLike.amount;
|
83
|
-
assetId = coinQuantityLike.assetId;
|
88
|
+
assetId = coinQuantityLike.assetId ?? import_configs.BaseAssetId;
|
84
89
|
max2 = coinQuantityLike.max ?? void 0;
|
85
90
|
}
|
86
91
|
const bnAmount = (0, import_math.bn)(amount);
|
@@ -106,7 +111,7 @@ var addAmountToAsset = (params) => {
|
|
106
111
|
var import_address3 = require("@fuel-ts/address");
|
107
112
|
var import_errors14 = require("@fuel-ts/errors");
|
108
113
|
var import_math15 = require("@fuel-ts/math");
|
109
|
-
var
|
114
|
+
var import_transactions19 = require("@fuel-ts/transactions");
|
110
115
|
var import_utils23 = require("@fuel-ts/utils");
|
111
116
|
var import_versions = require("@fuel-ts/versions");
|
112
117
|
var import_utils24 = require("@noble/curves/abstract/utils");
|
@@ -1059,7 +1064,7 @@ var MemoryCache = class {
|
|
1059
1064
|
|
1060
1065
|
// src/providers/transaction-request/input.ts
|
1061
1066
|
var import_abi_coder = require("@fuel-ts/abi-coder");
|
1062
|
-
var
|
1067
|
+
var import_configs2 = require("@fuel-ts/address/configs");
|
1063
1068
|
var import_errors3 = require("@fuel-ts/errors");
|
1064
1069
|
var import_math2 = require("@fuel-ts/math");
|
1065
1070
|
var import_transactions = require("@fuel-ts/transactions");
|
@@ -1093,10 +1098,10 @@ var inputify = (value) => {
|
|
1093
1098
|
case import_transactions.InputType.Contract: {
|
1094
1099
|
return {
|
1095
1100
|
type: import_transactions.InputType.Contract,
|
1096
|
-
txID:
|
1101
|
+
txID: import_configs2.ZeroBytes32,
|
1097
1102
|
outputIndex: 0,
|
1098
|
-
balanceRoot:
|
1099
|
-
stateRoot:
|
1103
|
+
balanceRoot: import_configs2.ZeroBytes32,
|
1104
|
+
stateRoot: import_configs2.ZeroBytes32,
|
1100
1105
|
txPointer: {
|
1101
1106
|
blockHeight: (0, import_math2.toNumber)((0, import_utils3.arrayify)(value.txPointer).slice(0, 8)),
|
1102
1107
|
txIndex: (0, import_math2.toNumber)((0, import_utils3.arrayify)(value.txPointer).slice(8, 16))
|
@@ -1134,7 +1139,7 @@ var inputify = (value) => {
|
|
1134
1139
|
};
|
1135
1140
|
|
1136
1141
|
// src/providers/transaction-request/output.ts
|
1137
|
-
var
|
1142
|
+
var import_configs3 = require("@fuel-ts/address/configs");
|
1138
1143
|
var import_errors4 = require("@fuel-ts/errors");
|
1139
1144
|
var import_math3 = require("@fuel-ts/math");
|
1140
1145
|
var import_transactions2 = require("@fuel-ts/transactions");
|
@@ -1154,8 +1159,8 @@ var outputify = (value) => {
|
|
1154
1159
|
return {
|
1155
1160
|
type: import_transactions2.OutputType.Contract,
|
1156
1161
|
inputIndex: value.inputIndex,
|
1157
|
-
balanceRoot:
|
1158
|
-
stateRoot:
|
1162
|
+
balanceRoot: import_configs3.ZeroBytes32,
|
1163
|
+
stateRoot: import_configs3.ZeroBytes32
|
1159
1164
|
};
|
1160
1165
|
}
|
1161
1166
|
case import_transactions2.OutputType.Change: {
|
@@ -1169,9 +1174,9 @@ var outputify = (value) => {
|
|
1169
1174
|
case import_transactions2.OutputType.Variable: {
|
1170
1175
|
return {
|
1171
1176
|
type: import_transactions2.OutputType.Variable,
|
1172
|
-
to:
|
1177
|
+
to: import_configs3.ZeroBytes32,
|
1173
1178
|
amount: (0, import_math3.bn)(0),
|
1174
|
-
assetId:
|
1179
|
+
assetId: import_configs3.ZeroBytes32
|
1175
1180
|
};
|
1176
1181
|
}
|
1177
1182
|
case import_transactions2.OutputType.ContractCreated: {
|
@@ -1193,23 +1198,23 @@ var outputify = (value) => {
|
|
1193
1198
|
// src/providers/transaction-request/transaction-request.ts
|
1194
1199
|
var import_abi_coder2 = require("@fuel-ts/abi-coder");
|
1195
1200
|
var import_address = require("@fuel-ts/address");
|
1196
|
-
var
|
1201
|
+
var import_configs7 = require("@fuel-ts/address/configs");
|
1197
1202
|
var import_crypto = require("@fuel-ts/crypto");
|
1198
1203
|
var import_math7 = require("@fuel-ts/math");
|
1199
|
-
var
|
1204
|
+
var import_transactions7 = require("@fuel-ts/transactions");
|
1200
1205
|
var import_utils9 = require("@fuel-ts/utils");
|
1201
1206
|
|
1202
1207
|
// src/providers/resource.ts
|
1203
1208
|
var isCoin = (resource) => "id" in resource;
|
1204
1209
|
|
1205
1210
|
// src/providers/utils/receipts.ts
|
1206
|
-
var
|
1211
|
+
var import_configs4 = require("@fuel-ts/address/configs");
|
1207
1212
|
var import_errors5 = require("@fuel-ts/errors");
|
1208
1213
|
var import_math4 = require("@fuel-ts/math");
|
1209
1214
|
var import_transactions3 = require("@fuel-ts/transactions");
|
1210
|
-
var
|
1215
|
+
var import_configs5 = require("@fuel-ts/transactions/configs");
|
1211
1216
|
var import_utils5 = require("@fuel-ts/utils");
|
1212
|
-
var doesReceiptHaveMissingOutputVariables = (receipt) => receipt.type === import_transactions3.ReceiptType.Revert && receipt.val.toString("hex") ===
|
1217
|
+
var doesReceiptHaveMissingOutputVariables = (receipt) => receipt.type === import_transactions3.ReceiptType.Revert && receipt.val.toString("hex") === import_configs5.FAILED_TRANSFER_TO_ADDRESS_SIGNAL;
|
1213
1218
|
var doesReceiptHaveMissingContractId = (receipt) => receipt.type === import_transactions3.ReceiptType.Panic && receipt.contractId !== "0x0000000000000000000000000000000000000000000000000000000000000000";
|
1214
1219
|
var getReceiptsWithMissingData = (receipts) => receipts.reduce(
|
1215
1220
|
(memo, receipt) => {
|
@@ -1226,7 +1231,7 @@ var getReceiptsWithMissingData = (receipts) => receipts.reduce(
|
|
1226
1231
|
missingOutputContractIds: []
|
1227
1232
|
}
|
1228
1233
|
);
|
1229
|
-
var hexOrZero = (hex) => hex ||
|
1234
|
+
var hexOrZero = (hex) => hex || import_configs4.ZeroBytes32;
|
1230
1235
|
function assembleReceiptByType(receipt) {
|
1231
1236
|
const { receiptType } = receipt;
|
1232
1237
|
switch (receiptType) {
|
@@ -1531,16 +1536,16 @@ function sleep(time) {
|
|
1531
1536
|
var import_errors7 = require("@fuel-ts/errors");
|
1532
1537
|
var import_math6 = require("@fuel-ts/math");
|
1533
1538
|
var import_transactions5 = require("@fuel-ts/transactions");
|
1534
|
-
var
|
1539
|
+
var import_configs6 = require("@fuel-ts/transactions/configs");
|
1535
1540
|
var assemblePanicError = (status) => {
|
1536
1541
|
let errorMessage = `The transaction reverted with reason: "${status.reason}".`;
|
1537
1542
|
const reason = status.reason;
|
1538
|
-
if (
|
1543
|
+
if (import_configs6.PANIC_REASONS.includes(status.reason)) {
|
1539
1544
|
errorMessage = `${errorMessage}
|
1540
1545
|
|
1541
1546
|
You can read more about this error at:
|
1542
1547
|
|
1543
|
-
${
|
1548
|
+
${import_configs6.PANIC_DOC_URL}#variant.${status.reason}`;
|
1544
1549
|
}
|
1545
1550
|
return { errorMessage, reason };
|
1546
1551
|
};
|
@@ -1552,28 +1557,28 @@ var assembleRevertError = (receipts, logs) => {
|
|
1552
1557
|
if (revertReceipt) {
|
1553
1558
|
const reasonHex = (0, import_math6.bn)(revertReceipt.val).toHex();
|
1554
1559
|
switch (reasonHex) {
|
1555
|
-
case
|
1560
|
+
case import_configs6.FAILED_REQUIRE_SIGNAL: {
|
1556
1561
|
reason = "require";
|
1557
1562
|
errorMessage = `The transaction reverted because a "require" statement has thrown ${logs.length ? stringify(logs[0]) : "an error."}.`;
|
1558
1563
|
break;
|
1559
1564
|
}
|
1560
|
-
case
|
1565
|
+
case import_configs6.FAILED_ASSERT_EQ_SIGNAL: {
|
1561
1566
|
const sufix = logs.length >= 2 ? ` comparing ${stringify(logs[1])} and ${stringify(logs[0])}.` : ".";
|
1562
1567
|
reason = "assert_eq";
|
1563
1568
|
errorMessage = `The transaction reverted because of an "assert_eq" statement${sufix}`;
|
1564
1569
|
break;
|
1565
1570
|
}
|
1566
|
-
case
|
1571
|
+
case import_configs6.FAILED_ASSERT_NE_SIGNAL: {
|
1567
1572
|
const sufix = logs.length >= 2 ? ` comparing ${stringify(logs[1])} and ${stringify(logs[0])}.` : ".";
|
1568
1573
|
reason = "assert_ne";
|
1569
1574
|
errorMessage = `The transaction reverted because of an "assert_ne" statement${sufix}`;
|
1570
1575
|
break;
|
1571
1576
|
}
|
1572
|
-
case
|
1577
|
+
case import_configs6.FAILED_ASSERT_SIGNAL:
|
1573
1578
|
reason = "assert";
|
1574
1579
|
errorMessage = `The transaction reverted because an "assert" statement failed to evaluate to true.`;
|
1575
1580
|
break;
|
1576
|
-
case
|
1581
|
+
case import_configs6.FAILED_TRANSFER_TO_ADDRESS_SIGNAL:
|
1577
1582
|
reason = "MissingOutputChange";
|
1578
1583
|
errorMessage = `The transaction reverted because it's missing an "OutputChange".`;
|
1579
1584
|
break;
|
@@ -1609,6 +1614,12 @@ var NoWitnessAtIndexError = class extends Error {
|
|
1609
1614
|
name = "NoWitnessAtIndexError";
|
1610
1615
|
};
|
1611
1616
|
|
1617
|
+
// src/providers/transaction-request/helpers.ts
|
1618
|
+
var import_transactions6 = require("@fuel-ts/transactions");
|
1619
|
+
var isRequestInputCoin = (input) => input.type === import_transactions6.InputType.Coin;
|
1620
|
+
var isRequestInputMessage = (input) => input.type === import_transactions6.InputType.Message;
|
1621
|
+
var isRequestInputResource = (input) => isRequestInputCoin(input) || isRequestInputMessage(input);
|
1622
|
+
|
1612
1623
|
// src/providers/transaction-request/witness.ts
|
1613
1624
|
var import_utils8 = require("@fuel-ts/utils");
|
1614
1625
|
var witnessify = (value) => {
|
@@ -1635,8 +1646,6 @@ var BaseTransactionRequest = class {
|
|
1635
1646
|
outputs = [];
|
1636
1647
|
/** List of witnesses */
|
1637
1648
|
witnesses = [];
|
1638
|
-
/** Base asset ID - should be fetched from the chain */
|
1639
|
-
baseAssetId;
|
1640
1649
|
/**
|
1641
1650
|
* Constructor for initializing a base transaction request.
|
1642
1651
|
*
|
@@ -1649,9 +1658,8 @@ var BaseTransactionRequest = class {
|
|
1649
1658
|
witnessLimit,
|
1650
1659
|
inputs,
|
1651
1660
|
outputs,
|
1652
|
-
witnesses
|
1653
|
-
|
1654
|
-
}) {
|
1661
|
+
witnesses
|
1662
|
+
} = {}) {
|
1655
1663
|
this.gasPrice = (0, import_math7.bn)(gasPrice);
|
1656
1664
|
this.maturity = maturity ?? 0;
|
1657
1665
|
this.witnessLimit = witnessLimit ? (0, import_math7.bn)(witnessLimit) : void 0;
|
@@ -1659,26 +1667,25 @@ var BaseTransactionRequest = class {
|
|
1659
1667
|
this.inputs = inputs ?? [];
|
1660
1668
|
this.outputs = outputs ?? [];
|
1661
1669
|
this.witnesses = witnesses ?? [];
|
1662
|
-
this.baseAssetId = baseAssetId;
|
1663
1670
|
}
|
1664
1671
|
static getPolicyMeta(req) {
|
1665
1672
|
let policyTypes = 0;
|
1666
1673
|
const policies = [];
|
1667
1674
|
if (req.gasPrice) {
|
1668
|
-
policyTypes +=
|
1669
|
-
policies.push({ data: req.gasPrice, type:
|
1675
|
+
policyTypes += import_transactions7.PolicyType.GasPrice;
|
1676
|
+
policies.push({ data: req.gasPrice, type: import_transactions7.PolicyType.GasPrice });
|
1670
1677
|
}
|
1671
1678
|
if (req.witnessLimit) {
|
1672
|
-
policyTypes +=
|
1673
|
-
policies.push({ data: req.witnessLimit, type:
|
1679
|
+
policyTypes += import_transactions7.PolicyType.WitnessLimit;
|
1680
|
+
policies.push({ data: req.witnessLimit, type: import_transactions7.PolicyType.WitnessLimit });
|
1674
1681
|
}
|
1675
1682
|
if (req.maturity > 0) {
|
1676
|
-
policyTypes +=
|
1677
|
-
policies.push({ data: req.maturity, type:
|
1683
|
+
policyTypes += import_transactions7.PolicyType.Maturity;
|
1684
|
+
policies.push({ data: req.maturity, type: import_transactions7.PolicyType.Maturity });
|
1678
1685
|
}
|
1679
1686
|
if (req.maxFee) {
|
1680
|
-
policyTypes +=
|
1681
|
-
policies.push({ data: req.maxFee, type:
|
1687
|
+
policyTypes += import_transactions7.PolicyType.MaxFee;
|
1688
|
+
policies.push({ data: req.maxFee, type: import_transactions7.PolicyType.MaxFee });
|
1682
1689
|
}
|
1683
1690
|
return {
|
1684
1691
|
policyTypes,
|
@@ -1712,7 +1719,7 @@ var BaseTransactionRequest = class {
|
|
1712
1719
|
* @returns The transaction bytes.
|
1713
1720
|
*/
|
1714
1721
|
toTransactionBytes() {
|
1715
|
-
return new
|
1722
|
+
return new import_transactions7.TransactionCoder().encode(this.toTransaction());
|
1716
1723
|
}
|
1717
1724
|
/**
|
1718
1725
|
* @hidden
|
@@ -1752,7 +1759,7 @@ var BaseTransactionRequest = class {
|
|
1752
1759
|
* @returns The index of the created witness.
|
1753
1760
|
*/
|
1754
1761
|
addEmptyWitness() {
|
1755
|
-
this.addWitness((0, import_utils9.concat)([
|
1762
|
+
this.addWitness((0, import_utils9.concat)([import_configs7.ZeroBytes32, import_configs7.ZeroBytes32]));
|
1756
1763
|
return this.witnesses.length - 1;
|
1757
1764
|
}
|
1758
1765
|
/**
|
@@ -1803,7 +1810,7 @@ var BaseTransactionRequest = class {
|
|
1803
1810
|
*/
|
1804
1811
|
getCoinInputs() {
|
1805
1812
|
return this.inputs.filter(
|
1806
|
-
(input) => input.type ===
|
1813
|
+
(input) => input.type === import_transactions7.InputType.Coin
|
1807
1814
|
);
|
1808
1815
|
}
|
1809
1816
|
/**
|
@@ -1813,7 +1820,7 @@ var BaseTransactionRequest = class {
|
|
1813
1820
|
*/
|
1814
1821
|
getCoinOutputs() {
|
1815
1822
|
return this.outputs.filter(
|
1816
|
-
(output) => output.type ===
|
1823
|
+
(output) => output.type === import_transactions7.OutputType.Coin
|
1817
1824
|
);
|
1818
1825
|
}
|
1819
1826
|
/**
|
@@ -1823,7 +1830,7 @@ var BaseTransactionRequest = class {
|
|
1823
1830
|
*/
|
1824
1831
|
getChangeOutputs() {
|
1825
1832
|
return this.outputs.filter(
|
1826
|
-
(output) => output.type ===
|
1833
|
+
(output) => output.type === import_transactions7.OutputType.Change
|
1827
1834
|
);
|
1828
1835
|
}
|
1829
1836
|
/**
|
@@ -1835,9 +1842,9 @@ var BaseTransactionRequest = class {
|
|
1835
1842
|
const ownerAddress = (0, import_address.addressify)(owner);
|
1836
1843
|
const found = this.inputs.find((input) => {
|
1837
1844
|
switch (input.type) {
|
1838
|
-
case
|
1845
|
+
case import_transactions7.InputType.Coin:
|
1839
1846
|
return (0, import_utils9.hexlify)(input.owner) === ownerAddress.toB256();
|
1840
|
-
case
|
1847
|
+
case import_transactions7.InputType.Message:
|
1841
1848
|
return (0, import_utils9.hexlify)(input.recipient) === ownerAddress.toB256();
|
1842
1849
|
default:
|
1843
1850
|
return false;
|
@@ -1853,8 +1860,8 @@ var BaseTransactionRequest = class {
|
|
1853
1860
|
* @param predicate - Predicate bytes.
|
1854
1861
|
* @param predicateData - Predicate data bytes.
|
1855
1862
|
*/
|
1856
|
-
addCoinInput(coin
|
1857
|
-
const { assetId, owner, amount } = coin;
|
1863
|
+
addCoinInput(coin) {
|
1864
|
+
const { assetId, owner, amount, id, predicate } = coin;
|
1858
1865
|
let witnessIndex;
|
1859
1866
|
if (predicate) {
|
1860
1867
|
witnessIndex = 0;
|
@@ -1865,14 +1872,14 @@ var BaseTransactionRequest = class {
|
|
1865
1872
|
}
|
1866
1873
|
}
|
1867
1874
|
const input = {
|
1868
|
-
|
1869
|
-
type:
|
1875
|
+
id,
|
1876
|
+
type: import_transactions7.InputType.Coin,
|
1870
1877
|
owner: owner.toB256(),
|
1871
1878
|
amount,
|
1872
1879
|
assetId,
|
1873
1880
|
txPointer: "0x00000000000000000000000000000000",
|
1874
1881
|
witnessIndex,
|
1875
|
-
predicate
|
1882
|
+
predicate
|
1876
1883
|
};
|
1877
1884
|
this.pushInput(input);
|
1878
1885
|
this.addChangeOutput(owner, assetId);
|
@@ -1883,9 +1890,11 @@ var BaseTransactionRequest = class {
|
|
1883
1890
|
*
|
1884
1891
|
* @param message - Message resource.
|
1885
1892
|
* @param predicate - Predicate bytes.
|
1893
|
+
* @param predicateData - Predicate data bytes.
|
1886
1894
|
*/
|
1887
|
-
addMessageInput(message
|
1888
|
-
const { recipient, sender, amount } = message;
|
1895
|
+
addMessageInput(message) {
|
1896
|
+
const { recipient, sender, amount, predicate, nonce } = message;
|
1897
|
+
const assetId = import_configs7.BaseAssetId;
|
1889
1898
|
let witnessIndex;
|
1890
1899
|
if (predicate) {
|
1891
1900
|
witnessIndex = 0;
|
@@ -1896,16 +1905,16 @@ var BaseTransactionRequest = class {
|
|
1896
1905
|
}
|
1897
1906
|
}
|
1898
1907
|
const input = {
|
1899
|
-
|
1900
|
-
type:
|
1908
|
+
nonce,
|
1909
|
+
type: import_transactions7.InputType.Message,
|
1901
1910
|
sender: sender.toB256(),
|
1902
1911
|
recipient: recipient.toB256(),
|
1903
1912
|
amount,
|
1904
1913
|
witnessIndex,
|
1905
|
-
predicate
|
1914
|
+
predicate
|
1906
1915
|
};
|
1907
1916
|
this.pushInput(input);
|
1908
|
-
this.addChangeOutput(recipient,
|
1917
|
+
this.addChangeOutput(recipient, assetId);
|
1909
1918
|
}
|
1910
1919
|
/**
|
1911
1920
|
* Adds a single resource to the transaction by adding a coin/message input and a
|
@@ -1933,32 +1942,6 @@ var BaseTransactionRequest = class {
|
|
1933
1942
|
resources.forEach((resource) => this.addResource(resource));
|
1934
1943
|
return this;
|
1935
1944
|
}
|
1936
|
-
/**
|
1937
|
-
* Adds multiple resources to the transaction by adding coin/message inputs and change
|
1938
|
-
* outputs from the related assetIds.
|
1939
|
-
*
|
1940
|
-
* @param resources - The resources to add.
|
1941
|
-
* @returns This transaction.
|
1942
|
-
*/
|
1943
|
-
addPredicateResource(resource, predicate) {
|
1944
|
-
if (isCoin(resource)) {
|
1945
|
-
this.addCoinInput(resource, predicate);
|
1946
|
-
} else {
|
1947
|
-
this.addMessageInput(resource, predicate);
|
1948
|
-
}
|
1949
|
-
return this;
|
1950
|
-
}
|
1951
|
-
/**
|
1952
|
-
* Adds multiple predicate coin/message inputs to the transaction and change outputs
|
1953
|
-
* from the related assetIds.
|
1954
|
-
*
|
1955
|
-
* @param resources - The resources to add.
|
1956
|
-
* @returns This transaction.
|
1957
|
-
*/
|
1958
|
-
addPredicateResources(resources, predicate) {
|
1959
|
-
resources.forEach((resource) => this.addPredicateResource(resource, predicate));
|
1960
|
-
return this;
|
1961
|
-
}
|
1962
1945
|
/**
|
1963
1946
|
* Adds a coin output to the transaction.
|
1964
1947
|
*
|
@@ -1966,12 +1949,12 @@ var BaseTransactionRequest = class {
|
|
1966
1949
|
* @param amount - Amount of coin.
|
1967
1950
|
* @param assetId - Asset ID of coin.
|
1968
1951
|
*/
|
1969
|
-
addCoinOutput(to, amount, assetId) {
|
1952
|
+
addCoinOutput(to, amount, assetId = import_configs7.BaseAssetId) {
|
1970
1953
|
this.pushOutput({
|
1971
|
-
type:
|
1954
|
+
type: import_transactions7.OutputType.Coin,
|
1972
1955
|
to: (0, import_address.addressify)(to).toB256(),
|
1973
1956
|
amount,
|
1974
|
-
assetId
|
1957
|
+
assetId
|
1975
1958
|
});
|
1976
1959
|
return this;
|
1977
1960
|
}
|
@@ -1984,7 +1967,7 @@ var BaseTransactionRequest = class {
|
|
1984
1967
|
addCoinOutputs(to, quantities) {
|
1985
1968
|
quantities.map(coinQuantityfy).forEach((quantity) => {
|
1986
1969
|
this.pushOutput({
|
1987
|
-
type:
|
1970
|
+
type: import_transactions7.OutputType.Coin,
|
1988
1971
|
to: (0, import_address.addressify)(to).toB256(),
|
1989
1972
|
amount: quantity.amount,
|
1990
1973
|
assetId: quantity.assetId
|
@@ -1998,15 +1981,15 @@ var BaseTransactionRequest = class {
|
|
1998
1981
|
* @param to - Address of the owner.
|
1999
1982
|
* @param assetId - Asset ID of coin.
|
2000
1983
|
*/
|
2001
|
-
addChangeOutput(to, assetId) {
|
1984
|
+
addChangeOutput(to, assetId = import_configs7.BaseAssetId) {
|
2002
1985
|
const changeOutput = this.getChangeOutputs().find(
|
2003
1986
|
(output) => (0, import_utils9.hexlify)(output.assetId) === assetId
|
2004
1987
|
);
|
2005
1988
|
if (!changeOutput) {
|
2006
1989
|
this.pushOutput({
|
2007
|
-
type:
|
1990
|
+
type: import_transactions7.OutputType.Change,
|
2008
1991
|
to: (0, import_address.addressify)(to).toB256(),
|
2009
|
-
assetId
|
1992
|
+
assetId
|
2010
1993
|
});
|
2011
1994
|
}
|
2012
1995
|
}
|
@@ -2082,7 +2065,7 @@ var BaseTransactionRequest = class {
|
|
2082
2065
|
]);
|
2083
2066
|
}
|
2084
2067
|
};
|
2085
|
-
updateAssetInput(
|
2068
|
+
updateAssetInput(import_configs7.BaseAssetId, (0, import_math7.bn)(1e11));
|
2086
2069
|
quantities.forEach((q) => updateAssetInput(q.assetId, q.amount));
|
2087
2070
|
}
|
2088
2071
|
/**
|
@@ -2107,16 +2090,20 @@ var BaseTransactionRequest = class {
|
|
2107
2090
|
toJSON() {
|
2108
2091
|
return normalizeJSON(this);
|
2109
2092
|
}
|
2093
|
+
removeWitness(index) {
|
2094
|
+
this.witnesses.splice(index, 1);
|
2095
|
+
this.adjustWitnessIndexes(index);
|
2096
|
+
}
|
2110
2097
|
updatePredicateInputs(inputs) {
|
2111
2098
|
this.inputs.forEach((i) => {
|
2112
2099
|
let correspondingInput;
|
2113
2100
|
switch (i.type) {
|
2114
|
-
case
|
2115
|
-
correspondingInput = inputs.find((x) => x.type ===
|
2101
|
+
case import_transactions7.InputType.Coin:
|
2102
|
+
correspondingInput = inputs.find((x) => x.type === import_transactions7.InputType.Coin && x.owner === i.owner);
|
2116
2103
|
break;
|
2117
|
-
case
|
2104
|
+
case import_transactions7.InputType.Message:
|
2118
2105
|
correspondingInput = inputs.find(
|
2119
|
-
(x) => x.type ===
|
2106
|
+
(x) => x.type === import_transactions7.InputType.Message && x.sender === i.sender
|
2120
2107
|
);
|
2121
2108
|
break;
|
2122
2109
|
default:
|
@@ -2129,30 +2116,37 @@ var BaseTransactionRequest = class {
|
|
2129
2116
|
}
|
2130
2117
|
});
|
2131
2118
|
}
|
2119
|
+
adjustWitnessIndexes(removedIndex) {
|
2120
|
+
this.inputs.filter(isRequestInputResource).forEach((input) => {
|
2121
|
+
if (input.witnessIndex > removedIndex) {
|
2122
|
+
input.witnessIndex -= 1;
|
2123
|
+
}
|
2124
|
+
});
|
2125
|
+
}
|
2132
2126
|
};
|
2133
2127
|
|
2134
2128
|
// src/providers/transaction-request/create-transaction-request.ts
|
2135
|
-
var
|
2129
|
+
var import_configs9 = require("@fuel-ts/address/configs");
|
2136
2130
|
var import_math9 = require("@fuel-ts/math");
|
2137
|
-
var
|
2131
|
+
var import_transactions9 = require("@fuel-ts/transactions");
|
2138
2132
|
var import_utils13 = require("@fuel-ts/utils");
|
2139
2133
|
|
2140
2134
|
// src/providers/transaction-request/hash-transaction.ts
|
2141
|
-
var
|
2135
|
+
var import_configs8 = require("@fuel-ts/address/configs");
|
2142
2136
|
var import_hasher = require("@fuel-ts/hasher");
|
2143
2137
|
var import_math8 = require("@fuel-ts/math");
|
2144
|
-
var
|
2138
|
+
var import_transactions8 = require("@fuel-ts/transactions");
|
2145
2139
|
var import_utils11 = require("@fuel-ts/utils");
|
2146
2140
|
var import_ramda2 = require("ramda");
|
2147
2141
|
function hashTransaction(transactionRequest, chainId) {
|
2148
2142
|
const transaction = transactionRequest.toTransaction();
|
2149
|
-
if (transaction.type ===
|
2150
|
-
transaction.receiptsRoot =
|
2143
|
+
if (transaction.type === import_transactions8.TransactionType.Script) {
|
2144
|
+
transaction.receiptsRoot = import_configs8.ZeroBytes32;
|
2151
2145
|
}
|
2152
2146
|
transaction.inputs = transaction.inputs.map((input) => {
|
2153
2147
|
const inputClone = (0, import_ramda2.clone)(input);
|
2154
2148
|
switch (inputClone.type) {
|
2155
|
-
case
|
2149
|
+
case import_transactions8.InputType.Coin: {
|
2156
2150
|
inputClone.txPointer = {
|
2157
2151
|
blockHeight: 0,
|
2158
2152
|
txIndex: 0
|
@@ -2160,19 +2154,19 @@ function hashTransaction(transactionRequest, chainId) {
|
|
2160
2154
|
inputClone.predicateGasUsed = (0, import_math8.bn)(0);
|
2161
2155
|
return inputClone;
|
2162
2156
|
}
|
2163
|
-
case
|
2157
|
+
case import_transactions8.InputType.Message: {
|
2164
2158
|
inputClone.predicateGasUsed = (0, import_math8.bn)(0);
|
2165
2159
|
return inputClone;
|
2166
2160
|
}
|
2167
|
-
case
|
2161
|
+
case import_transactions8.InputType.Contract: {
|
2168
2162
|
inputClone.txPointer = {
|
2169
2163
|
blockHeight: 0,
|
2170
2164
|
txIndex: 0
|
2171
2165
|
};
|
2172
|
-
inputClone.txID =
|
2166
|
+
inputClone.txID = import_configs8.ZeroBytes32;
|
2173
2167
|
inputClone.outputIndex = 0;
|
2174
|
-
inputClone.balanceRoot =
|
2175
|
-
inputClone.stateRoot =
|
2168
|
+
inputClone.balanceRoot = import_configs8.ZeroBytes32;
|
2169
|
+
inputClone.stateRoot = import_configs8.ZeroBytes32;
|
2176
2170
|
return inputClone;
|
2177
2171
|
}
|
2178
2172
|
default:
|
@@ -2182,19 +2176,19 @@ function hashTransaction(transactionRequest, chainId) {
|
|
2182
2176
|
transaction.outputs = transaction.outputs.map((output) => {
|
2183
2177
|
const outputClone = (0, import_ramda2.clone)(output);
|
2184
2178
|
switch (outputClone.type) {
|
2185
|
-
case
|
2186
|
-
outputClone.balanceRoot =
|
2187
|
-
outputClone.stateRoot =
|
2179
|
+
case import_transactions8.OutputType.Contract: {
|
2180
|
+
outputClone.balanceRoot = import_configs8.ZeroBytes32;
|
2181
|
+
outputClone.stateRoot = import_configs8.ZeroBytes32;
|
2188
2182
|
return outputClone;
|
2189
2183
|
}
|
2190
|
-
case
|
2184
|
+
case import_transactions8.OutputType.Change: {
|
2191
2185
|
outputClone.amount = (0, import_math8.bn)(0);
|
2192
2186
|
return outputClone;
|
2193
2187
|
}
|
2194
|
-
case
|
2195
|
-
outputClone.to =
|
2188
|
+
case import_transactions8.OutputType.Variable: {
|
2189
|
+
outputClone.to = import_configs8.ZeroBytes32;
|
2196
2190
|
outputClone.amount = (0, import_math8.bn)(0);
|
2197
|
-
outputClone.assetId =
|
2191
|
+
outputClone.assetId = import_configs8.ZeroBytes32;
|
2198
2192
|
return outputClone;
|
2199
2193
|
}
|
2200
2194
|
default:
|
@@ -2204,7 +2198,7 @@ function hashTransaction(transactionRequest, chainId) {
|
|
2204
2198
|
transaction.witnessesCount = 0;
|
2205
2199
|
transaction.witnesses = [];
|
2206
2200
|
const chainIdBytes = (0, import_hasher.uint64ToBytesBE)(chainId);
|
2207
|
-
const concatenatedData = (0, import_utils11.concat)([chainIdBytes, new
|
2201
|
+
const concatenatedData = (0, import_utils11.concat)([chainIdBytes, new import_transactions8.TransactionCoder().encode(transaction)]);
|
2208
2202
|
return (0, import_hasher.sha256)(concatenatedData);
|
2209
2203
|
}
|
2210
2204
|
|
@@ -2240,7 +2234,7 @@ var CreateTransactionRequest = class extends BaseTransactionRequest {
|
|
2240
2234
|
return new this(obj);
|
2241
2235
|
}
|
2242
2236
|
/** Type of the transaction */
|
2243
|
-
type =
|
2237
|
+
type = import_transactions9.TransactionType.Create;
|
2244
2238
|
/** Witness index of contract bytecode to create */
|
2245
2239
|
bytecodeWitnessIndex;
|
2246
2240
|
/** Salt */
|
@@ -2252,10 +2246,15 @@ var CreateTransactionRequest = class extends BaseTransactionRequest {
|
|
2252
2246
|
*
|
2253
2247
|
* @param createTransactionRequestLike - The initial values for the instance
|
2254
2248
|
*/
|
2255
|
-
constructor({
|
2249
|
+
constructor({
|
2250
|
+
bytecodeWitnessIndex,
|
2251
|
+
salt,
|
2252
|
+
storageSlots,
|
2253
|
+
...rest
|
2254
|
+
} = {}) {
|
2256
2255
|
super(rest);
|
2257
2256
|
this.bytecodeWitnessIndex = bytecodeWitnessIndex ?? 0;
|
2258
|
-
this.salt = (0, import_utils13.hexlify)(salt ??
|
2257
|
+
this.salt = (0, import_utils13.hexlify)(salt ?? import_configs9.ZeroBytes32);
|
2259
2258
|
this.storageSlots = [...storageSlots ?? []];
|
2260
2259
|
}
|
2261
2260
|
/**
|
@@ -2268,12 +2267,12 @@ var CreateTransactionRequest = class extends BaseTransactionRequest {
|
|
2268
2267
|
const bytecodeWitnessIndex = this.bytecodeWitnessIndex;
|
2269
2268
|
const storageSlots = this.storageSlots?.map(storageSlotify) ?? [];
|
2270
2269
|
return {
|
2271
|
-
type:
|
2270
|
+
type: import_transactions9.TransactionType.Create,
|
2272
2271
|
...baseTransaction,
|
2273
2272
|
bytecodeLength: baseTransaction.witnesses[bytecodeWitnessIndex].dataLength / 4,
|
2274
2273
|
bytecodeWitnessIndex,
|
2275
2274
|
storageSlotsCount: storageSlots.length,
|
2276
|
-
salt: this.salt ? (0, import_utils13.hexlify)(this.salt) :
|
2275
|
+
salt: this.salt ? (0, import_utils13.hexlify)(this.salt) : import_configs9.ZeroBytes32,
|
2277
2276
|
storageSlots
|
2278
2277
|
};
|
2279
2278
|
}
|
@@ -2284,7 +2283,7 @@ var CreateTransactionRequest = class extends BaseTransactionRequest {
|
|
2284
2283
|
*/
|
2285
2284
|
getContractCreatedOutputs() {
|
2286
2285
|
return this.outputs.filter(
|
2287
|
-
(output) => output.type ===
|
2286
|
+
(output) => output.type === import_transactions9.OutputType.ContractCreated
|
2288
2287
|
);
|
2289
2288
|
}
|
2290
2289
|
/**
|
@@ -2305,7 +2304,7 @@ var CreateTransactionRequest = class extends BaseTransactionRequest {
|
|
2305
2304
|
*/
|
2306
2305
|
addContractCreatedOutput(contractId, stateRoot) {
|
2307
2306
|
this.pushOutput({
|
2308
|
-
type:
|
2307
|
+
type: import_transactions9.OutputType.ContractCreated,
|
2309
2308
|
contractId,
|
2310
2309
|
stateRoot
|
2311
2310
|
});
|
@@ -2323,9 +2322,9 @@ var CreateTransactionRequest = class extends BaseTransactionRequest {
|
|
2323
2322
|
// src/providers/transaction-request/script-transaction-request.ts
|
2324
2323
|
var import_abi_coder3 = require("@fuel-ts/abi-coder");
|
2325
2324
|
var import_address2 = require("@fuel-ts/address");
|
2326
|
-
var
|
2325
|
+
var import_configs10 = require("@fuel-ts/address/configs");
|
2327
2326
|
var import_math10 = require("@fuel-ts/math");
|
2328
|
-
var
|
2327
|
+
var import_transactions10 = require("@fuel-ts/transactions");
|
2329
2328
|
var import_utils15 = require("@fuel-ts/utils");
|
2330
2329
|
|
2331
2330
|
// src/providers/transaction-request/scripts.ts
|
@@ -2363,7 +2362,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
|
|
2363
2362
|
return new this(obj);
|
2364
2363
|
}
|
2365
2364
|
/** Type of the transaction */
|
2366
|
-
type =
|
2365
|
+
type = import_transactions10.TransactionType.Script;
|
2367
2366
|
/** Gas limit for transaction */
|
2368
2367
|
gasLimit;
|
2369
2368
|
/** Script to execute */
|
@@ -2376,7 +2375,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
|
|
2376
2375
|
*
|
2377
2376
|
* @param scriptTransactionRequestLike - The initial values for the instance.
|
2378
2377
|
*/
|
2379
|
-
constructor({ script, scriptData, gasLimit, ...rest }) {
|
2378
|
+
constructor({ script, scriptData, gasLimit, ...rest } = {}) {
|
2380
2379
|
super(rest);
|
2381
2380
|
this.gasLimit = (0, import_math10.bn)(gasLimit);
|
2382
2381
|
this.script = (0, import_utils15.arrayify)(script ?? returnZeroScript.bytes);
|
@@ -2392,12 +2391,12 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
|
|
2392
2391
|
const script = (0, import_utils15.arrayify)(this.script ?? "0x");
|
2393
2392
|
const scriptData = (0, import_utils15.arrayify)(this.scriptData ?? "0x");
|
2394
2393
|
return {
|
2395
|
-
type:
|
2394
|
+
type: import_transactions10.TransactionType.Script,
|
2396
2395
|
scriptGasLimit: this.gasLimit,
|
2397
2396
|
...super.getBaseTransaction(),
|
2398
2397
|
scriptLength: script.length,
|
2399
2398
|
scriptDataLength: scriptData.length,
|
2400
|
-
receiptsRoot:
|
2399
|
+
receiptsRoot: import_configs10.ZeroBytes32,
|
2401
2400
|
script: (0, import_utils15.hexlify)(script),
|
2402
2401
|
scriptData: (0, import_utils15.hexlify)(scriptData)
|
2403
2402
|
};
|
@@ -2409,7 +2408,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
|
|
2409
2408
|
*/
|
2410
2409
|
getContractInputs() {
|
2411
2410
|
return this.inputs.filter(
|
2412
|
-
(input) => input.type ===
|
2411
|
+
(input) => input.type === import_transactions10.InputType.Contract
|
2413
2412
|
);
|
2414
2413
|
}
|
2415
2414
|
/**
|
@@ -2419,7 +2418,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
|
|
2419
2418
|
*/
|
2420
2419
|
getContractOutputs() {
|
2421
2420
|
return this.outputs.filter(
|
2422
|
-
(output) => output.type ===
|
2421
|
+
(output) => output.type === import_transactions10.OutputType.Contract
|
2423
2422
|
);
|
2424
2423
|
}
|
2425
2424
|
/**
|
@@ -2429,7 +2428,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
|
|
2429
2428
|
*/
|
2430
2429
|
getVariableOutputs() {
|
2431
2430
|
return this.outputs.filter(
|
2432
|
-
(output) => output.type ===
|
2431
|
+
(output) => output.type === import_transactions10.OutputType.Variable
|
2433
2432
|
);
|
2434
2433
|
}
|
2435
2434
|
/**
|
@@ -2452,7 +2451,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
|
|
2452
2451
|
let outputsNumber = numberOfVariables;
|
2453
2452
|
while (outputsNumber) {
|
2454
2453
|
this.pushOutput({
|
2455
|
-
type:
|
2454
|
+
type: import_transactions10.OutputType.Variable
|
2456
2455
|
});
|
2457
2456
|
outputsNumber -= 1;
|
2458
2457
|
}
|
@@ -2485,12 +2484,12 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
|
|
2485
2484
|
return this;
|
2486
2485
|
}
|
2487
2486
|
const inputIndex = super.pushInput({
|
2488
|
-
type:
|
2487
|
+
type: import_transactions10.InputType.Contract,
|
2489
2488
|
contractId: contractAddress.toB256(),
|
2490
2489
|
txPointer: "0x00000000000000000000000000000000"
|
2491
2490
|
});
|
2492
2491
|
this.pushOutput({
|
2493
|
-
type:
|
2492
|
+
type: import_transactions10.OutputType.Contract,
|
2494
2493
|
inputIndex
|
2495
2494
|
});
|
2496
2495
|
return this;
|
@@ -2527,17 +2526,17 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
|
|
2527
2526
|
|
2528
2527
|
// src/providers/transaction-request/utils.ts
|
2529
2528
|
var import_errors9 = require("@fuel-ts/errors");
|
2530
|
-
var
|
2529
|
+
var import_transactions11 = require("@fuel-ts/transactions");
|
2531
2530
|
var transactionRequestify = (obj) => {
|
2532
2531
|
if (obj instanceof ScriptTransactionRequest || obj instanceof CreateTransactionRequest) {
|
2533
2532
|
return obj;
|
2534
2533
|
}
|
2535
2534
|
const { type } = obj;
|
2536
2535
|
switch (obj.type) {
|
2537
|
-
case
|
2536
|
+
case import_transactions11.TransactionType.Script: {
|
2538
2537
|
return ScriptTransactionRequest.from(obj);
|
2539
2538
|
}
|
2540
|
-
case
|
2539
|
+
case import_transactions11.TransactionType.Create: {
|
2541
2540
|
return CreateTransactionRequest.from(obj);
|
2542
2541
|
}
|
2543
2542
|
default: {
|
@@ -2549,7 +2548,7 @@ var transactionRequestify = (obj) => {
|
|
2549
2548
|
// src/providers/transaction-response/transaction-response.ts
|
2550
2549
|
var import_errors13 = require("@fuel-ts/errors");
|
2551
2550
|
var import_math14 = require("@fuel-ts/math");
|
2552
|
-
var
|
2551
|
+
var import_transactions18 = require("@fuel-ts/transactions");
|
2553
2552
|
var import_utils21 = require("@fuel-ts/utils");
|
2554
2553
|
|
2555
2554
|
// src/providers/transaction-summary/assemble-transaction-summary.ts
|
@@ -2557,7 +2556,7 @@ var import_utils19 = require("@fuel-ts/utils");
|
|
2557
2556
|
|
2558
2557
|
// src/providers/transaction-summary/calculate-transaction-fee.ts
|
2559
2558
|
var import_math11 = require("@fuel-ts/math");
|
2560
|
-
var
|
2559
|
+
var import_transactions12 = require("@fuel-ts/transactions");
|
2561
2560
|
var import_utils16 = require("@fuel-ts/utils");
|
2562
2561
|
var calculateTransactionFee = (params) => {
|
2563
2562
|
const {
|
@@ -2568,8 +2567,8 @@ var calculateTransactionFee = (params) => {
|
|
2568
2567
|
const gasPerByte = (0, import_math11.bn)(feeParams.gasPerByte);
|
2569
2568
|
const gasPriceFactor = (0, import_math11.bn)(feeParams.gasPriceFactor);
|
2570
2569
|
const transactionBytes = (0, import_utils16.arrayify)(rawPayload);
|
2571
|
-
const [transaction] = new
|
2572
|
-
if (transaction.type ===
|
2570
|
+
const [transaction] = new import_transactions12.TransactionCoder().decode(transactionBytes, 0);
|
2571
|
+
if (transaction.type === import_transactions12.TransactionType.Mint) {
|
2573
2572
|
return {
|
2574
2573
|
fee: (0, import_math11.bn)(0),
|
2575
2574
|
minFee: (0, import_math11.bn)(0),
|
@@ -2580,7 +2579,7 @@ var calculateTransactionFee = (params) => {
|
|
2580
2579
|
const { type, witnesses, inputs, policies } = transaction;
|
2581
2580
|
let metadataGas = (0, import_math11.bn)(0);
|
2582
2581
|
let gasLimit = (0, import_math11.bn)(0);
|
2583
|
-
if (type ===
|
2582
|
+
if (type === import_transactions12.TransactionType.Create) {
|
2584
2583
|
const { bytecodeWitnessIndex, storageSlots } = transaction;
|
2585
2584
|
const contractBytesSize = (0, import_math11.bn)((0, import_utils16.arrayify)(witnesses[bytecodeWitnessIndex].data).length);
|
2586
2585
|
metadataGas = calculateMetadataGasForTxCreate({
|
@@ -2606,8 +2605,8 @@ var calculateTransactionFee = (params) => {
|
|
2606
2605
|
metadataGas,
|
2607
2606
|
txBytesSize: transactionBytes.length
|
2608
2607
|
});
|
2609
|
-
const gasPrice = (0, import_math11.bn)(policies.find((policy) => policy.type ===
|
2610
|
-
const witnessLimit = policies.find((policy) => policy.type ===
|
2608
|
+
const gasPrice = (0, import_math11.bn)(policies.find((policy) => policy.type === import_transactions12.PolicyType.GasPrice)?.data);
|
2609
|
+
const witnessLimit = policies.find((policy) => policy.type === import_transactions12.PolicyType.WitnessLimit)?.data;
|
2611
2610
|
const witnessesLength = witnesses.reduce((acc, wit) => acc + wit.dataLength, 0);
|
2612
2611
|
const maxGas = getMaxGas({
|
2613
2612
|
gasPerByte,
|
@@ -2629,10 +2628,10 @@ var calculateTransactionFee = (params) => {
|
|
2629
2628
|
};
|
2630
2629
|
|
2631
2630
|
// src/providers/transaction-summary/operations.ts
|
2632
|
-
var
|
2631
|
+
var import_configs11 = require("@fuel-ts/address/configs");
|
2633
2632
|
var import_errors11 = require("@fuel-ts/errors");
|
2634
2633
|
var import_math13 = require("@fuel-ts/math");
|
2635
|
-
var
|
2634
|
+
var import_transactions15 = require("@fuel-ts/transactions");
|
2636
2635
|
|
2637
2636
|
// src/providers/transaction-summary/call.ts
|
2638
2637
|
var import_abi_coder4 = require("@fuel-ts/abi-coder");
|
@@ -2680,7 +2679,7 @@ var getFunctionCall = ({ abi, receipt, rawPayload, maxInputs }) => {
|
|
2680
2679
|
|
2681
2680
|
// src/providers/transaction-summary/input.ts
|
2682
2681
|
var import_errors10 = require("@fuel-ts/errors");
|
2683
|
-
var
|
2682
|
+
var import_transactions13 = require("@fuel-ts/transactions");
|
2684
2683
|
function getInputsByTypes(inputs, types) {
|
2685
2684
|
return inputs.filter((i) => types.includes(i.type));
|
2686
2685
|
}
|
@@ -2688,16 +2687,16 @@ function getInputsByType(inputs, type) {
|
|
2688
2687
|
return inputs.filter((i) => i.type === type);
|
2689
2688
|
}
|
2690
2689
|
function getInputsCoin(inputs) {
|
2691
|
-
return getInputsByType(inputs,
|
2690
|
+
return getInputsByType(inputs, import_transactions13.InputType.Coin);
|
2692
2691
|
}
|
2693
2692
|
function getInputsMessage(inputs) {
|
2694
|
-
return getInputsByType(inputs,
|
2693
|
+
return getInputsByType(inputs, import_transactions13.InputType.Message);
|
2695
2694
|
}
|
2696
2695
|
function getInputsCoinAndMessage(inputs) {
|
2697
|
-
return getInputsByTypes(inputs, [
|
2696
|
+
return getInputsByTypes(inputs, [import_transactions13.InputType.Coin, import_transactions13.InputType.Message]);
|
2698
2697
|
}
|
2699
2698
|
function getInputsContract(inputs) {
|
2700
|
-
return getInputsByType(inputs,
|
2699
|
+
return getInputsByType(inputs, import_transactions13.InputType.Contract);
|
2701
2700
|
}
|
2702
2701
|
function getInputFromAssetId(inputs, assetId) {
|
2703
2702
|
const coinInputs = getInputsCoin(inputs);
|
@@ -2716,7 +2715,7 @@ function getInputContractFromIndex(inputs, inputIndex) {
|
|
2716
2715
|
if (!contractInput) {
|
2717
2716
|
return void 0;
|
2718
2717
|
}
|
2719
|
-
if (contractInput.type !==
|
2718
|
+
if (contractInput.type !== import_transactions13.InputType.Contract) {
|
2720
2719
|
throw new import_errors10.FuelError(
|
2721
2720
|
import_errors10.ErrorCode.INVALID_TRANSACTION_INPUT,
|
2722
2721
|
`Contract input should be of type 'contract'.`
|
@@ -2725,31 +2724,31 @@ function getInputContractFromIndex(inputs, inputIndex) {
|
|
2725
2724
|
return contractInput;
|
2726
2725
|
}
|
2727
2726
|
function getInputAccountAddress(input) {
|
2728
|
-
if (input.type ===
|
2727
|
+
if (input.type === import_transactions13.InputType.Coin) {
|
2729
2728
|
return input.owner.toString();
|
2730
2729
|
}
|
2731
|
-
if (input.type ===
|
2730
|
+
if (input.type === import_transactions13.InputType.Message) {
|
2732
2731
|
return input.recipient.toString();
|
2733
2732
|
}
|
2734
2733
|
return "";
|
2735
2734
|
}
|
2736
2735
|
|
2737
2736
|
// src/providers/transaction-summary/output.ts
|
2738
|
-
var
|
2737
|
+
var import_transactions14 = require("@fuel-ts/transactions");
|
2739
2738
|
function getOutputsByType(outputs, type) {
|
2740
2739
|
return outputs.filter((o) => o.type === type);
|
2741
2740
|
}
|
2742
2741
|
function getOutputsContractCreated(outputs) {
|
2743
|
-
return getOutputsByType(outputs,
|
2742
|
+
return getOutputsByType(outputs, import_transactions14.OutputType.ContractCreated);
|
2744
2743
|
}
|
2745
2744
|
function getOutputsCoin(outputs) {
|
2746
|
-
return getOutputsByType(outputs,
|
2745
|
+
return getOutputsByType(outputs, import_transactions14.OutputType.Coin);
|
2747
2746
|
}
|
2748
2747
|
function getOutputsChange(outputs) {
|
2749
|
-
return getOutputsByType(outputs,
|
2748
|
+
return getOutputsByType(outputs, import_transactions14.OutputType.Change);
|
2750
2749
|
}
|
2751
2750
|
function getOutputsContract(outputs) {
|
2752
|
-
return getOutputsByType(outputs,
|
2751
|
+
return getOutputsByType(outputs, import_transactions14.OutputType.Contract);
|
2753
2752
|
}
|
2754
2753
|
|
2755
2754
|
// src/providers/transaction-summary/operations.ts
|
@@ -2758,11 +2757,11 @@ function getReceiptsByType(receipts, type) {
|
|
2758
2757
|
}
|
2759
2758
|
function getTransactionTypeName(transactionType) {
|
2760
2759
|
switch (transactionType) {
|
2761
|
-
case
|
2760
|
+
case import_transactions15.TransactionType.Mint:
|
2762
2761
|
return "Mint" /* Mint */;
|
2763
|
-
case
|
2762
|
+
case import_transactions15.TransactionType.Create:
|
2764
2763
|
return "Create" /* Create */;
|
2765
|
-
case
|
2764
|
+
case import_transactions15.TransactionType.Script:
|
2766
2765
|
return "Script" /* Script */;
|
2767
2766
|
default:
|
2768
2767
|
throw new import_errors11.FuelError(
|
@@ -2785,10 +2784,10 @@ function isTypeScript(transactionType) {
|
|
2785
2784
|
return isType(transactionType, "Script" /* Script */);
|
2786
2785
|
}
|
2787
2786
|
function getReceiptsCall(receipts) {
|
2788
|
-
return getReceiptsByType(receipts,
|
2787
|
+
return getReceiptsByType(receipts, import_transactions15.ReceiptType.Call);
|
2789
2788
|
}
|
2790
2789
|
function getReceiptsMessageOut(receipts) {
|
2791
|
-
return getReceiptsByType(receipts,
|
2790
|
+
return getReceiptsByType(receipts, import_transactions15.ReceiptType.MessageOut);
|
2792
2791
|
}
|
2793
2792
|
var mergeAssets = (op1, op2) => {
|
2794
2793
|
const assets1 = op1.assetsSent || [];
|
@@ -2927,7 +2926,7 @@ function extractTransferOperationFromReceipt(receipt, contractInputs, changeOutp
|
|
2927
2926
|
const { to: toAddress, assetId, amount } = receipt;
|
2928
2927
|
let { from: fromAddress } = receipt;
|
2929
2928
|
const toType = contractInputs.some((input) => input.contractID === toAddress) ? 0 /* contract */ : 1 /* account */;
|
2930
|
-
if (
|
2929
|
+
if (import_configs11.ZeroBytes32 === fromAddress) {
|
2931
2930
|
const change = changeOutputs.find((output) => output.assetId === assetId);
|
2932
2931
|
fromAddress = change?.to || fromAddress;
|
2933
2932
|
}
|
@@ -2984,11 +2983,11 @@ function getTransferOperations({
|
|
2984
2983
|
});
|
2985
2984
|
const transferReceipts = getReceiptsByType(
|
2986
2985
|
receipts,
|
2987
|
-
|
2986
|
+
import_transactions15.ReceiptType.Transfer
|
2988
2987
|
);
|
2989
2988
|
const transferOutReceipts = getReceiptsByType(
|
2990
2989
|
receipts,
|
2991
|
-
|
2990
|
+
import_transactions15.ReceiptType.TransferOut
|
2992
2991
|
);
|
2993
2992
|
[...transferReceipts, ...transferOutReceipts].forEach((receipt) => {
|
2994
2993
|
const operation = extractTransferOperationFromReceipt(receipt, contractInputs, changeOutputs);
|
@@ -3073,17 +3072,17 @@ function getOperations({
|
|
3073
3072
|
}
|
3074
3073
|
|
3075
3074
|
// src/providers/transaction-summary/receipt.ts
|
3076
|
-
var
|
3075
|
+
var import_transactions16 = require("@fuel-ts/transactions");
|
3077
3076
|
var processGqlReceipt = (gqlReceipt) => {
|
3078
3077
|
const receipt = assembleReceiptByType(gqlReceipt);
|
3079
3078
|
switch (receipt.type) {
|
3080
|
-
case
|
3079
|
+
case import_transactions16.ReceiptType.ReturnData: {
|
3081
3080
|
return {
|
3082
3081
|
...receipt,
|
3083
3082
|
data: gqlReceipt.data || "0x"
|
3084
3083
|
};
|
3085
3084
|
}
|
3086
|
-
case
|
3085
|
+
case import_transactions16.ReceiptType.LogData: {
|
3087
3086
|
return {
|
3088
3087
|
...receipt,
|
3089
3088
|
data: gqlReceipt.data || "0x"
|
@@ -3096,7 +3095,7 @@ var processGqlReceipt = (gqlReceipt) => {
|
|
3096
3095
|
var extractMintedAssetsFromReceipts = (receipts) => {
|
3097
3096
|
const mintedAssets = [];
|
3098
3097
|
receipts.forEach((receipt) => {
|
3099
|
-
if (receipt.type ===
|
3098
|
+
if (receipt.type === import_transactions16.ReceiptType.Mint) {
|
3100
3099
|
mintedAssets.push({
|
3101
3100
|
subId: receipt.subId,
|
3102
3101
|
contractId: receipt.contractId,
|
@@ -3110,7 +3109,7 @@ var extractMintedAssetsFromReceipts = (receipts) => {
|
|
3110
3109
|
var extractBurnedAssetsFromReceipts = (receipts) => {
|
3111
3110
|
const burnedAssets = [];
|
3112
3111
|
receipts.forEach((receipt) => {
|
3113
|
-
if (receipt.type ===
|
3112
|
+
if (receipt.type === import_transactions16.ReceiptType.Burn) {
|
3114
3113
|
burnedAssets.push({
|
3115
3114
|
subId: receipt.subId,
|
3116
3115
|
contractId: receipt.contractId,
|
@@ -3249,12 +3248,12 @@ function assembleTransactionSummary(params) {
|
|
3249
3248
|
|
3250
3249
|
// src/providers/transaction-response/getDecodedLogs.ts
|
3251
3250
|
var import_abi_coder5 = require("@fuel-ts/abi-coder");
|
3252
|
-
var
|
3251
|
+
var import_transactions17 = require("@fuel-ts/transactions");
|
3253
3252
|
function getDecodedLogs(receipts, mainAbi, externalAbis = {}) {
|
3254
3253
|
return receipts.reduce((logs, receipt) => {
|
3255
|
-
if (receipt.type ===
|
3254
|
+
if (receipt.type === import_transactions17.ReceiptType.LogData || receipt.type === import_transactions17.ReceiptType.Log) {
|
3256
3255
|
const interfaceToUse = new import_abi_coder5.Interface(externalAbis[receipt.id] || mainAbi);
|
3257
|
-
const data = receipt.type ===
|
3256
|
+
const data = receipt.type === import_transactions17.ReceiptType.Log ? new import_abi_coder5.BigNumberCoder("u64").encode(receipt.val0) : receipt.data;
|
3258
3257
|
const [decodedLog] = interfaceToUse.decodeLog(data, receipt.val1.toNumber());
|
3259
3258
|
logs.push(decodedLog);
|
3260
3259
|
}
|
@@ -3327,7 +3326,7 @@ var TransactionResponse = class {
|
|
3327
3326
|
* @returns The decoded transaction.
|
3328
3327
|
*/
|
3329
3328
|
decodeTransaction(transactionWithReceipts) {
|
3330
|
-
return new
|
3329
|
+
return new import_transactions18.TransactionCoder().decode(
|
3331
3330
|
(0, import_utils21.arrayify)(transactionWithReceipts.rawPayload),
|
3332
3331
|
0
|
3333
3332
|
)?.[0];
|
@@ -3504,7 +3503,6 @@ var processGqlChain = (chain) => {
|
|
3504
3503
|
gasPerByte: (0, import_math15.bn)(feeParams.gasPerByte),
|
3505
3504
|
maxMessageDataLength: (0, import_math15.bn)(predicateParams.maxMessageDataLength),
|
3506
3505
|
chainId: (0, import_math15.bn)(consensusParameters.chainId),
|
3507
|
-
baseAssetId: consensusParameters.baseAssetId,
|
3508
3506
|
gasCosts
|
3509
3507
|
},
|
3510
3508
|
gasCosts,
|
@@ -3747,17 +3745,6 @@ var _Provider = class {
|
|
3747
3745
|
} = this.getChain();
|
3748
3746
|
return chainId.toNumber();
|
3749
3747
|
}
|
3750
|
-
/**
|
3751
|
-
* Returns the base asset ID
|
3752
|
-
*
|
3753
|
-
* @returns A promise that resolves to the base asset ID
|
3754
|
-
*/
|
3755
|
-
getBaseAssetId() {
|
3756
|
-
const {
|
3757
|
-
consensusParameters: { baseAssetId }
|
3758
|
-
} = this.getChain();
|
3759
|
-
return baseAssetId;
|
3760
|
-
}
|
3761
3748
|
/**
|
3762
3749
|
* Submits a transaction to the chain to be executed.
|
3763
3750
|
*
|
@@ -3776,7 +3763,7 @@ var _Provider = class {
|
|
3776
3763
|
}
|
3777
3764
|
const encodedTransaction = (0, import_utils23.hexlify)(transactionRequest.toTransactionBytes());
|
3778
3765
|
let abis;
|
3779
|
-
if (transactionRequest.type ===
|
3766
|
+
if (transactionRequest.type === import_transactions19.TransactionType.Script) {
|
3780
3767
|
abis = transactionRequest.abis;
|
3781
3768
|
}
|
3782
3769
|
if (awaitExecution) {
|
@@ -3872,7 +3859,7 @@ var _Provider = class {
|
|
3872
3859
|
* @returns A promise.
|
3873
3860
|
*/
|
3874
3861
|
async estimateTxDependencies(transactionRequest) {
|
3875
|
-
if (transactionRequest.type ===
|
3862
|
+
if (transactionRequest.type === import_transactions19.TransactionType.Create) {
|
3876
3863
|
return {
|
3877
3864
|
receipts: [],
|
3878
3865
|
outputVariables: 0,
|
@@ -3921,7 +3908,7 @@ var _Provider = class {
|
|
3921
3908
|
transactionRequest.gasPrice = gasPrice;
|
3922
3909
|
const minGas = transactionRequest.calculateMinGas(chainInfo);
|
3923
3910
|
const minFee = calculatePriceWithFactor(minGas, gasPrice, gasPriceFactor).normalizeZeroToOne();
|
3924
|
-
if (transactionRequest.type ===
|
3911
|
+
if (transactionRequest.type === import_transactions19.TransactionType.Script) {
|
3925
3912
|
if (transactionRequest.gasLimit.eq(0)) {
|
3926
3913
|
transactionRequest.gasLimit = minGas;
|
3927
3914
|
transactionRequest.gasLimit = maxGasPerTx.sub(
|
@@ -3987,7 +3974,7 @@ var _Provider = class {
|
|
3987
3974
|
const txRequestClone = (0, import_ramda3.clone)(transactionRequestify(transactionRequestLike));
|
3988
3975
|
const { minGasPrice } = this.getGasConfig();
|
3989
3976
|
const setGasPrice = (0, import_math15.max)(txRequestClone.gasPrice, minGasPrice);
|
3990
|
-
const isScriptTransaction = txRequestClone.type ===
|
3977
|
+
const isScriptTransaction = txRequestClone.type === import_transactions19.TransactionType.Script;
|
3991
3978
|
const coinOutputsQuantities = txRequestClone.getCoinOutputsQuantities();
|
3992
3979
|
const allQuantities = mergeQuantities(coinOutputsQuantities, forwardingQuantities);
|
3993
3980
|
txRequestClone.fundWithFakeUtxos(allQuantities, resourcesOwner?.address);
|
@@ -4203,7 +4190,7 @@ var _Provider = class {
|
|
4203
4190
|
time: block.header.time,
|
4204
4191
|
transactionIds: block.transactions.map((tx) => tx.id),
|
4205
4192
|
transactions: block.transactions.map(
|
4206
|
-
(tx) => new
|
4193
|
+
(tx) => new import_transactions19.TransactionCoder().decode((0, import_utils23.arrayify)(tx.rawPayload), 0)?.[0]
|
4207
4194
|
)
|
4208
4195
|
};
|
4209
4196
|
}
|
@@ -4218,7 +4205,7 @@ var _Provider = class {
|
|
4218
4205
|
if (!transaction) {
|
4219
4206
|
return null;
|
4220
4207
|
}
|
4221
|
-
return new
|
4208
|
+
return new import_transactions19.TransactionCoder().decode(
|
4222
4209
|
(0, import_utils23.arrayify)(transaction.rawPayload),
|
4223
4210
|
0
|
4224
4211
|
)?.[0];
|
@@ -4298,7 +4285,7 @@ var _Provider = class {
|
|
4298
4285
|
});
|
4299
4286
|
const messages = result.messages.edges.map((edge) => edge.node);
|
4300
4287
|
return messages.map((message) => ({
|
4301
|
-
messageId:
|
4288
|
+
messageId: import_transactions19.InputMessageCoder.getMessageId({
|
4302
4289
|
sender: message.sender,
|
4303
4290
|
recipient: message.recipient,
|
4304
4291
|
nonce: message.nonce,
|
@@ -4309,7 +4296,7 @@ var _Provider = class {
|
|
4309
4296
|
recipient: import_address3.Address.fromAddressOrString(message.recipient),
|
4310
4297
|
nonce: message.nonce,
|
4311
4298
|
amount: (0, import_math15.bn)(message.amount),
|
4312
|
-
data:
|
4299
|
+
data: import_transactions19.InputMessageCoder.decodeData(message.data),
|
4313
4300
|
daHeight: (0, import_math15.bn)(message.daHeight)
|
4314
4301
|
}));
|
4315
4302
|
}
|
@@ -4437,7 +4424,7 @@ cacheInputs_fn = function(inputs) {
|
|
4437
4424
|
return;
|
4438
4425
|
}
|
4439
4426
|
inputs.forEach((input) => {
|
4440
|
-
if (input.type ===
|
4427
|
+
if (input.type === import_transactions19.InputType.Coin) {
|
4441
4428
|
this.cache?.set(input.id);
|
4442
4429
|
}
|
4443
4430
|
});
|
@@ -4448,7 +4435,7 @@ __publicField(Provider, "nodeInfoCache", {});
|
|
4448
4435
|
// src/providers/transaction-summary/get-transaction-summary.ts
|
4449
4436
|
var import_errors15 = require("@fuel-ts/errors");
|
4450
4437
|
var import_math16 = require("@fuel-ts/math");
|
4451
|
-
var
|
4438
|
+
var import_transactions20 = require("@fuel-ts/transactions");
|
4452
4439
|
var import_utils26 = require("@fuel-ts/utils");
|
4453
4440
|
|
4454
4441
|
// src/providers/chains.ts
|
@@ -4655,9 +4642,8 @@ var Account = class extends import_interfaces.AbstractAccount {
|
|
4655
4642
|
* @param assetId - The asset ID to check the balance for.
|
4656
4643
|
* @returns A promise that resolves to the balance amount.
|
4657
4644
|
*/
|
4658
|
-
async getBalance(assetId) {
|
4659
|
-
const
|
4660
|
-
const amount = await this.provider.getBalance(this.address, assetIdToFetch);
|
4645
|
+
async getBalance(assetId = import_configs12.BaseAssetId) {
|
4646
|
+
const amount = await this.provider.getBalance(this.address, assetId);
|
4661
4647
|
return amount;
|
4662
4648
|
}
|
4663
4649
|
/**
|
@@ -4695,10 +4681,9 @@ var Account = class extends import_interfaces.AbstractAccount {
|
|
4695
4681
|
* @returns A promise that resolves when the resources are added to the transaction.
|
4696
4682
|
*/
|
4697
4683
|
async fund(request, coinQuantities, fee) {
|
4698
|
-
const baseAssetId = this.provider.getBaseAssetId();
|
4699
4684
|
const updatedQuantities = addAmountToAsset({
|
4700
4685
|
amount: (0, import_math18.bn)(fee),
|
4701
|
-
assetId:
|
4686
|
+
assetId: import_configs12.BaseAssetId,
|
4702
4687
|
coinQuantities
|
4703
4688
|
});
|
4704
4689
|
const quantitiesDict = {};
|
@@ -4722,8 +4707,8 @@ var Account = class extends import_interfaces.AbstractAccount {
|
|
4722
4707
|
quantitiesDict[assetId].owned = quantitiesDict[assetId].owned.add(amount);
|
4723
4708
|
cachedUtxos.push(input.id);
|
4724
4709
|
}
|
4725
|
-
} else if (input.recipient === owner && input.amount && quantitiesDict[
|
4726
|
-
quantitiesDict[
|
4710
|
+
} else if (input.recipient === owner && input.amount && quantitiesDict[import_configs12.BaseAssetId]) {
|
4711
|
+
quantitiesDict[import_configs12.BaseAssetId].owned = quantitiesDict[import_configs12.BaseAssetId].owned.add(input.amount);
|
4727
4712
|
cachedMessages.push(input.nonce);
|
4728
4713
|
}
|
4729
4714
|
}
|
@@ -4755,13 +4740,11 @@ var Account = class extends import_interfaces.AbstractAccount {
|
|
4755
4740
|
* @param txParams - The transaction parameters (gasLimit, gasPrice, maturity).
|
4756
4741
|
* @returns A promise that resolves to the prepared transaction request.
|
4757
4742
|
*/
|
4758
|
-
async createTransfer(destination, amount, assetId, txParams = {}) {
|
4743
|
+
async createTransfer(destination, amount, assetId = import_configs12.BaseAssetId, txParams = {}) {
|
4759
4744
|
const { minGasPrice } = this.provider.getGasConfig();
|
4760
|
-
const
|
4761
|
-
const assetIdToTransfer = assetId ?? this.provider.getBaseAssetId();
|
4762
|
-
const params = { gasPrice: minGasPrice, baseAssetId, ...txParams };
|
4745
|
+
const params = { gasPrice: minGasPrice, ...txParams };
|
4763
4746
|
const request = new ScriptTransactionRequest(params);
|
4764
|
-
request.addCoinOutput(import_address4.Address.fromAddressOrString(destination), amount,
|
4747
|
+
request.addCoinOutput(import_address4.Address.fromAddressOrString(destination), amount, assetId);
|
4765
4748
|
const { maxFee, requiredQuantities, gasUsed, estimatedInputs } = await this.provider.getTransactionCost(request, [], {
|
4766
4749
|
estimateTxDependencies: true,
|
4767
4750
|
resourcesOwner: this
|
@@ -4787,15 +4770,14 @@ var Account = class extends import_interfaces.AbstractAccount {
|
|
4787
4770
|
* @param txParams - The transaction parameters (gasLimit, gasPrice, maturity).
|
4788
4771
|
* @returns A promise that resolves to the transaction response.
|
4789
4772
|
*/
|
4790
|
-
async transfer(destination, amount, assetId, txParams = {}) {
|
4773
|
+
async transfer(destination, amount, assetId = import_configs12.BaseAssetId, txParams = {}) {
|
4791
4774
|
if ((0, import_math18.bn)(amount).lte(0)) {
|
4792
4775
|
throw new import_errors16.FuelError(
|
4793
4776
|
import_errors16.ErrorCode.INVALID_TRANSFER_AMOUNT,
|
4794
4777
|
"Transfer amount must be a positive number."
|
4795
4778
|
);
|
4796
4779
|
}
|
4797
|
-
const
|
4798
|
-
const request = await this.createTransfer(destination, amount, assetIdToTransfer, txParams);
|
4780
|
+
const request = await this.createTransfer(destination, amount, assetId, txParams);
|
4799
4781
|
return this.sendTransaction(request, { estimateTxDependencies: false });
|
4800
4782
|
}
|
4801
4783
|
/**
|
@@ -4807,7 +4789,7 @@ var Account = class extends import_interfaces.AbstractAccount {
|
|
4807
4789
|
* @param txParams - The optional transaction parameters.
|
4808
4790
|
* @returns A promise that resolves to the transaction response.
|
4809
4791
|
*/
|
4810
|
-
async transferToContract(contractId, amount, assetId, txParams = {}) {
|
4792
|
+
async transferToContract(contractId, amount, assetId = import_configs12.BaseAssetId, txParams = {}) {
|
4811
4793
|
if ((0, import_math18.bn)(amount).lte(0)) {
|
4812
4794
|
throw new import_errors16.FuelError(
|
4813
4795
|
import_errors16.ErrorCode.INVALID_TRANSFER_AMOUNT,
|
@@ -4816,13 +4798,11 @@ var Account = class extends import_interfaces.AbstractAccount {
|
|
4816
4798
|
}
|
4817
4799
|
const contractAddress = import_address4.Address.fromAddressOrString(contractId);
|
4818
4800
|
const { minGasPrice } = this.provider.getGasConfig();
|
4819
|
-
const
|
4820
|
-
const assetIdToTransfer = assetId ?? this.provider.getBaseAssetId();
|
4821
|
-
const params = { gasPrice: minGasPrice, baseAssetId, ...txParams };
|
4801
|
+
const params = { gasPrice: minGasPrice, ...txParams };
|
4822
4802
|
const { script, scriptData } = await assembleTransferToContractScript({
|
4823
4803
|
hexlifiedContractId: contractAddress.toB256(),
|
4824
4804
|
amountToTransfer: (0, import_math18.bn)(amount),
|
4825
|
-
assetId
|
4805
|
+
assetId
|
4826
4806
|
});
|
4827
4807
|
const request = new ScriptTransactionRequest({
|
4828
4808
|
...params,
|
@@ -4832,7 +4812,7 @@ var Account = class extends import_interfaces.AbstractAccount {
|
|
4832
4812
|
request.addContractInputAndOutput(contractAddress);
|
4833
4813
|
const { maxFee, requiredQuantities, gasUsed } = await this.provider.getTransactionCost(
|
4834
4814
|
request,
|
4835
|
-
[{ amount: (0, import_math18.bn)(amount), assetId: String(
|
4815
|
+
[{ amount: (0, import_math18.bn)(amount), assetId: String(assetId) }]
|
4836
4816
|
);
|
4837
4817
|
request.gasLimit = (0, import_math18.bn)(params.gasLimit ?? gasUsed);
|
4838
4818
|
this.validateGas({
|
@@ -4854,7 +4834,6 @@ var Account = class extends import_interfaces.AbstractAccount {
|
|
4854
4834
|
*/
|
4855
4835
|
async withdrawToBaseLayer(recipient, amount, txParams = {}) {
|
4856
4836
|
const { minGasPrice } = this.provider.getGasConfig();
|
4857
|
-
const baseAssetId = this.provider.getBaseAssetId();
|
4858
4837
|
const recipientAddress = import_address4.Address.fromAddressOrString(recipient);
|
4859
4838
|
const recipientDataArray = (0, import_utils28.arrayify)(
|
4860
4839
|
"0x".concat(recipientAddress.toHexString().substring(2).padStart(64, "0"))
|
@@ -4867,14 +4846,9 @@ var Account = class extends import_interfaces.AbstractAccount {
|
|
4867
4846
|
...recipientDataArray,
|
4868
4847
|
...amountDataArray
|
4869
4848
|
]);
|
4870
|
-
const params = {
|
4871
|
-
script,
|
4872
|
-
gasPrice: minGasPrice,
|
4873
|
-
baseAssetId,
|
4874
|
-
...txParams
|
4875
|
-
};
|
4849
|
+
const params = { script, gasPrice: minGasPrice, ...txParams };
|
4876
4850
|
const request = new ScriptTransactionRequest(params);
|
4877
|
-
const forwardingQuantities = [{ amount: (0, import_math18.bn)(amount), assetId:
|
4851
|
+
const forwardingQuantities = [{ amount: (0, import_math18.bn)(amount), assetId: import_configs12.BaseAssetId }];
|
4878
4852
|
const { requiredQuantities, maxFee, gasUsed } = await this.provider.getTransactionCost(
|
4879
4853
|
request,
|
4880
4854
|
forwardingQuantities
|
@@ -8012,21 +7986,26 @@ __publicField(Wallet, "fromEncryptedJson", WalletUnlocked.fromEncryptedJson);
|
|
8012
7986
|
|
8013
7987
|
// src/test-utils/seedTestWallet.ts
|
8014
7988
|
var import_crypto5 = require("@fuel-ts/crypto");
|
8015
|
-
var seedTestWallet = async (wallet, quantities) => {
|
7989
|
+
var seedTestWallet = async (wallet, quantities, utxosAmount = 1) => {
|
7990
|
+
const toFundAccounts = Array.isArray(wallet) ? wallet : [wallet];
|
8016
7991
|
const genesisWallet = new WalletUnlocked(
|
8017
7992
|
process.env.GENESIS_SECRET || (0, import_crypto5.randomBytes)(32),
|
8018
|
-
|
7993
|
+
toFundAccounts[0].provider
|
8019
7994
|
);
|
8020
7995
|
const resources = await genesisWallet.getResourcesToSpend(quantities);
|
8021
7996
|
const { minGasPrice } = genesisWallet.provider.getGasConfig();
|
8022
|
-
const baseAssetId = genesisWallet.provider.getBaseAssetId();
|
8023
7997
|
const request = new ScriptTransactionRequest({
|
8024
|
-
baseAssetId,
|
8025
7998
|
gasLimit: 1e4,
|
8026
7999
|
gasPrice: minGasPrice
|
8027
8000
|
});
|
8028
8001
|
request.addResources(resources);
|
8029
|
-
quantities.map(coinQuantityfy).forEach(
|
8002
|
+
quantities.map(coinQuantityfy).forEach(
|
8003
|
+
({ amount, assetId }) => toFundAccounts.forEach(({ address }) => {
|
8004
|
+
for (let i = 0; i < utxosAmount; i++) {
|
8005
|
+
request.addCoinOutput(address, amount.div(utxosAmount), assetId);
|
8006
|
+
}
|
8007
|
+
})
|
8008
|
+
);
|
8030
8009
|
await genesisWallet.sendTransaction(request, { awaitExecution: true });
|
8031
8010
|
};
|
8032
8011
|
|
@@ -8040,7 +8019,7 @@ var generateTestWallet = async (provider, quantities) => {
|
|
8040
8019
|
};
|
8041
8020
|
|
8042
8021
|
// src/test-utils/launchNode.ts
|
8043
|
-
var
|
8022
|
+
var import_configs13 = require("@fuel-ts/address/configs");
|
8044
8023
|
var import_math21 = require("@fuel-ts/math");
|
8045
8024
|
var import_utils36 = require("@fuel-ts/utils");
|
8046
8025
|
var import_cli_utils = require("@fuel-ts/utils/cli-utils");
|
@@ -8140,7 +8119,7 @@ var launchNode = async ({
|
|
8140
8119
|
{
|
8141
8120
|
owner: signer.address.toHexString(),
|
8142
8121
|
amount: (0, import_math21.toHex)(1e9),
|
8143
|
-
asset_id:
|
8122
|
+
asset_id: import_configs13.BaseAssetId
|
8144
8123
|
}
|
8145
8124
|
]
|
8146
8125
|
}
|
@@ -8206,10 +8185,9 @@ var launchNode = async ({
|
|
8206
8185
|
})
|
8207
8186
|
);
|
8208
8187
|
var generateWallets = async (count, provider) => {
|
8209
|
-
const baseAssetId = provider.getBaseAssetId();
|
8210
8188
|
const wallets = [];
|
8211
8189
|
for (let i = 0; i < count; i += 1) {
|
8212
|
-
const wallet = await generateTestWallet(provider, [[1e3,
|
8190
|
+
const wallet = await generateTestWallet(provider, [[1e3, import_configs13.BaseAssetId]]);
|
8213
8191
|
wallets.push(wallet);
|
8214
8192
|
}
|
8215
8193
|
return wallets;
|
@@ -8226,8 +8204,45 @@ var launchNodeAndGetWallets = async ({
|
|
8226
8204
|
};
|
8227
8205
|
return { wallets, stop: cleanup, provider };
|
8228
8206
|
};
|
8207
|
+
|
8208
|
+
// src/test-utils/transactionRequest.ts
|
8209
|
+
var import_abi_coder7 = require("@fuel-ts/abi-coder");
|
8210
|
+
var import_address7 = require("@fuel-ts/address");
|
8211
|
+
var import_configs14 = require("@fuel-ts/address/configs");
|
8212
|
+
var import_crypto7 = require("@fuel-ts/crypto");
|
8213
|
+
var import_math22 = require("@fuel-ts/math");
|
8214
|
+
var import_transactions21 = require("@fuel-ts/transactions");
|
8215
|
+
var import_utils37 = require("@fuel-ts/utils");
|
8216
|
+
var generateFakeRequestInputCoin = (partial = {}) => ({
|
8217
|
+
id: (0, import_utils37.hexlify)((0, import_crypto7.randomBytes)(import_abi_coder7.UTXO_ID_LEN)),
|
8218
|
+
type: import_transactions21.InputType.Coin,
|
8219
|
+
owner: (0, import_address7.getRandomB256)(),
|
8220
|
+
amount: (0, import_math22.bn)(100),
|
8221
|
+
assetId: import_configs14.ZeroBytes32,
|
8222
|
+
txPointer: "0x00000000000000000000000000000000",
|
8223
|
+
witnessIndex: 0,
|
8224
|
+
...partial
|
8225
|
+
});
|
8226
|
+
var generateFakeRequestInputMessage = (partial = {}) => ({
|
8227
|
+
nonce: (0, import_address7.getRandomB256)(),
|
8228
|
+
type: import_transactions21.InputType.Message,
|
8229
|
+
sender: (0, import_address7.getRandomB256)(),
|
8230
|
+
recipient: (0, import_address7.getRandomB256)(),
|
8231
|
+
amount: (0, import_math22.bn)(100),
|
8232
|
+
witnessIndex: 0,
|
8233
|
+
...partial
|
8234
|
+
});
|
8235
|
+
var generateFakeRequestInputContract = (partial = {}) => ({
|
8236
|
+
contractId: (0, import_address7.getRandomB256)(),
|
8237
|
+
type: import_transactions21.InputType.Contract,
|
8238
|
+
txPointer: "0x00000000000000000000000000000000",
|
8239
|
+
...partial
|
8240
|
+
});
|
8229
8241
|
// Annotate the CommonJS export names for ESM import in node:
|
8230
8242
|
0 && (module.exports = {
|
8243
|
+
generateFakeRequestInputCoin,
|
8244
|
+
generateFakeRequestInputContract,
|
8245
|
+
generateFakeRequestInputMessage,
|
8231
8246
|
generateTestWallet,
|
8232
8247
|
killNode,
|
8233
8248
|
launchNode,
|