@fuel-ts/account 0.0.0-rc-2037-20240423110545 → 0.0.0-rc-1976-20240423111125
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 +100 -125
- package/dist/index.global.js.map +1 -1
- package/dist/index.js +241 -281
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +126 -160
- package/dist/index.mjs.map +1 -1
- package/dist/predicate/predicate.d.ts +2 -17
- 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/index.d.ts +0 -1
- 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 +25 -6
- package/dist/providers/transaction-request/transaction-request.d.ts.map +1 -1
- package/dist/test-utils/index.d.ts +0 -1
- package/dist/test-utils/index.d.ts.map +1 -1
- package/dist/test-utils/launchNode.d.ts.map +1 -1
- package/dist/test-utils/seedTestWallet.d.ts +1 -1
- package/dist/test-utils/seedTestWallet.d.ts.map +1 -1
- package/dist/test-utils.global.js +105 -104
- package/dist/test-utils.global.js.map +1 -1
- package/dist/test-utils.js +238 -253
- package/dist/test-utils.js.map +1 -1
- package/dist/test-utils.mjs +129 -141
- 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/providers/transaction-request/helpers.d.ts +0 -10
- package/dist/providers/transaction-request/helpers.d.ts.map +0 -1
- package/dist/test-utils/resources.d.ts +0 -4
- package/dist/test-utils/resources.d.ts.map +0 -1
- package/dist/test-utils/transactionRequest.d.ts +0 -5
- package/dist/test-utils/transactionRequest.d.ts.map +0 -1
package/dist/index.js
CHANGED
@@ -88,7 +88,7 @@ __export(src_exports, {
|
|
88
88
|
StorageAbstract: () => StorageAbstract,
|
89
89
|
TransactionResponse: () => TransactionResponse,
|
90
90
|
TransactionStatus: () => TransactionStatus,
|
91
|
-
TransactionType: () =>
|
91
|
+
TransactionType: () => import_transactions6.TransactionType,
|
92
92
|
TransactionTypeName: () => TransactionTypeName,
|
93
93
|
Vault: () => Vault,
|
94
94
|
Wallet: () => Wallet,
|
@@ -104,7 +104,6 @@ __export(src_exports, {
|
|
104
104
|
assets: () => assets,
|
105
105
|
buildBlockExplorerUrl: () => buildBlockExplorerUrl,
|
106
106
|
cacheFor: () => cacheFor,
|
107
|
-
cacheResources: () => cacheResources,
|
108
107
|
calculateMetadataGasForTxCreate: () => calculateMetadataGasForTxCreate,
|
109
108
|
calculateMetadataGasForTxScript: () => calculateMetadataGasForTxScript,
|
110
109
|
calculatePriceWithFactor: () => calculatePriceWithFactor,
|
@@ -151,7 +150,6 @@ __export(src_exports, {
|
|
151
150
|
getReceiptsMessageOut: () => getReceiptsMessageOut,
|
152
151
|
getReceiptsTransferOut: () => getReceiptsTransferOut,
|
153
152
|
getReceiptsWithMissingData: () => getReceiptsWithMissingData,
|
154
|
-
getRequestInputResourceOwner: () => getRequestInputResourceOwner,
|
155
153
|
getTransactionStatusName: () => getTransactionStatusName,
|
156
154
|
getTransactionSummary: () => getTransactionSummary,
|
157
155
|
getTransactionSummaryFromRequest: () => getTransactionSummaryFromRequest,
|
@@ -165,10 +163,6 @@ __export(src_exports, {
|
|
165
163
|
isMessage: () => isMessage,
|
166
164
|
isRawCoin: () => isRawCoin,
|
167
165
|
isRawMessage: () => isRawMessage,
|
168
|
-
isRequestInputCoin: () => isRequestInputCoin,
|
169
|
-
isRequestInputMessage: () => isRequestInputMessage,
|
170
|
-
isRequestInputResource: () => isRequestInputResource,
|
171
|
-
isRequestInputResourceFromOwner: () => isRequestInputResourceFromOwner,
|
172
166
|
isType: () => isType,
|
173
167
|
isTypeCreate: () => isTypeCreate,
|
174
168
|
isTypeMint: () => isTypeMint,
|
@@ -190,14 +184,12 @@ module.exports = __toCommonJS(src_exports);
|
|
190
184
|
|
191
185
|
// src/account.ts
|
192
186
|
var import_address4 = require("@fuel-ts/address");
|
193
|
-
var import_configs12 = require("@fuel-ts/address/configs");
|
194
187
|
var import_errors16 = require("@fuel-ts/errors");
|
195
188
|
var import_interfaces = require("@fuel-ts/interfaces");
|
196
189
|
var import_math18 = require("@fuel-ts/math");
|
197
190
|
var import_utils28 = require("@fuel-ts/utils");
|
198
191
|
|
199
192
|
// src/providers/coin-quantity.ts
|
200
|
-
var import_configs = require("@fuel-ts/address/configs");
|
201
193
|
var import_math = require("@fuel-ts/math");
|
202
194
|
var import_utils = require("@fuel-ts/utils");
|
203
195
|
var coinQuantityfy = (coinQuantityLike) => {
|
@@ -206,11 +198,11 @@ var coinQuantityfy = (coinQuantityLike) => {
|
|
206
198
|
let max2;
|
207
199
|
if (Array.isArray(coinQuantityLike)) {
|
208
200
|
amount = coinQuantityLike[0];
|
209
|
-
assetId = coinQuantityLike[1]
|
210
|
-
max2 = coinQuantityLike[2]
|
201
|
+
assetId = coinQuantityLike[1];
|
202
|
+
max2 = coinQuantityLike[2];
|
211
203
|
} else {
|
212
204
|
amount = coinQuantityLike.amount;
|
213
|
-
assetId = coinQuantityLike.assetId
|
205
|
+
assetId = coinQuantityLike.assetId;
|
214
206
|
max2 = coinQuantityLike.max ?? void 0;
|
215
207
|
}
|
216
208
|
const bnAmount = (0, import_math.bn)(amount);
|
@@ -236,7 +228,7 @@ var addAmountToAsset = (params) => {
|
|
236
228
|
var import_address3 = require("@fuel-ts/address");
|
237
229
|
var import_errors14 = require("@fuel-ts/errors");
|
238
230
|
var import_math15 = require("@fuel-ts/math");
|
239
|
-
var
|
231
|
+
var import_transactions18 = require("@fuel-ts/transactions");
|
240
232
|
var import_utils23 = require("@fuel-ts/utils");
|
241
233
|
var import_versions = require("@fuel-ts/versions");
|
242
234
|
var import_utils24 = require("@noble/curves/abstract/utils");
|
@@ -1189,7 +1181,7 @@ var MemoryCache = class {
|
|
1189
1181
|
|
1190
1182
|
// src/providers/transaction-request/input.ts
|
1191
1183
|
var import_abi_coder = require("@fuel-ts/abi-coder");
|
1192
|
-
var
|
1184
|
+
var import_configs = require("@fuel-ts/address/configs");
|
1193
1185
|
var import_errors3 = require("@fuel-ts/errors");
|
1194
1186
|
var import_math2 = require("@fuel-ts/math");
|
1195
1187
|
var import_transactions = require("@fuel-ts/transactions");
|
@@ -1223,10 +1215,10 @@ var inputify = (value) => {
|
|
1223
1215
|
case import_transactions.InputType.Contract: {
|
1224
1216
|
return {
|
1225
1217
|
type: import_transactions.InputType.Contract,
|
1226
|
-
txID:
|
1218
|
+
txID: import_configs.ZeroBytes32,
|
1227
1219
|
outputIndex: 0,
|
1228
|
-
balanceRoot:
|
1229
|
-
stateRoot:
|
1220
|
+
balanceRoot: import_configs.ZeroBytes32,
|
1221
|
+
stateRoot: import_configs.ZeroBytes32,
|
1230
1222
|
txPointer: {
|
1231
1223
|
blockHeight: (0, import_math2.toNumber)((0, import_utils3.arrayify)(value.txPointer).slice(0, 8)),
|
1232
1224
|
txIndex: (0, import_math2.toNumber)((0, import_utils3.arrayify)(value.txPointer).slice(8, 16))
|
@@ -1264,7 +1256,7 @@ var inputify = (value) => {
|
|
1264
1256
|
};
|
1265
1257
|
|
1266
1258
|
// src/providers/transaction-request/output.ts
|
1267
|
-
var
|
1259
|
+
var import_configs2 = require("@fuel-ts/address/configs");
|
1268
1260
|
var import_errors4 = require("@fuel-ts/errors");
|
1269
1261
|
var import_math3 = require("@fuel-ts/math");
|
1270
1262
|
var import_transactions2 = require("@fuel-ts/transactions");
|
@@ -1284,8 +1276,8 @@ var outputify = (value) => {
|
|
1284
1276
|
return {
|
1285
1277
|
type: import_transactions2.OutputType.Contract,
|
1286
1278
|
inputIndex: value.inputIndex,
|
1287
|
-
balanceRoot:
|
1288
|
-
stateRoot:
|
1279
|
+
balanceRoot: import_configs2.ZeroBytes32,
|
1280
|
+
stateRoot: import_configs2.ZeroBytes32
|
1289
1281
|
};
|
1290
1282
|
}
|
1291
1283
|
case import_transactions2.OutputType.Change: {
|
@@ -1299,9 +1291,9 @@ var outputify = (value) => {
|
|
1299
1291
|
case import_transactions2.OutputType.Variable: {
|
1300
1292
|
return {
|
1301
1293
|
type: import_transactions2.OutputType.Variable,
|
1302
|
-
to:
|
1294
|
+
to: import_configs2.ZeroBytes32,
|
1303
1295
|
amount: (0, import_math3.bn)(0),
|
1304
|
-
assetId:
|
1296
|
+
assetId: import_configs2.ZeroBytes32
|
1305
1297
|
};
|
1306
1298
|
}
|
1307
1299
|
case import_transactions2.OutputType.ContractCreated: {
|
@@ -1323,10 +1315,10 @@ var outputify = (value) => {
|
|
1323
1315
|
// src/providers/transaction-request/transaction-request.ts
|
1324
1316
|
var import_abi_coder2 = require("@fuel-ts/abi-coder");
|
1325
1317
|
var import_address = require("@fuel-ts/address");
|
1326
|
-
var
|
1318
|
+
var import_configs6 = require("@fuel-ts/address/configs");
|
1327
1319
|
var import_crypto = require("@fuel-ts/crypto");
|
1328
1320
|
var import_math7 = require("@fuel-ts/math");
|
1329
|
-
var
|
1321
|
+
var import_transactions6 = require("@fuel-ts/transactions");
|
1330
1322
|
var import_utils9 = require("@fuel-ts/utils");
|
1331
1323
|
|
1332
1324
|
// src/providers/resource.ts
|
@@ -1336,13 +1328,13 @@ var isCoin = (resource) => "id" in resource;
|
|
1336
1328
|
var isMessage = (resource) => "recipient" in resource;
|
1337
1329
|
|
1338
1330
|
// src/providers/utils/receipts.ts
|
1339
|
-
var
|
1331
|
+
var import_configs3 = require("@fuel-ts/address/configs");
|
1340
1332
|
var import_errors5 = require("@fuel-ts/errors");
|
1341
1333
|
var import_math4 = require("@fuel-ts/math");
|
1342
1334
|
var import_transactions3 = require("@fuel-ts/transactions");
|
1343
|
-
var
|
1335
|
+
var import_configs4 = require("@fuel-ts/transactions/configs");
|
1344
1336
|
var import_utils5 = require("@fuel-ts/utils");
|
1345
|
-
var doesReceiptHaveMissingOutputVariables = (receipt) => receipt.type === import_transactions3.ReceiptType.Revert && receipt.val.toString("hex") ===
|
1337
|
+
var doesReceiptHaveMissingOutputVariables = (receipt) => receipt.type === import_transactions3.ReceiptType.Revert && receipt.val.toString("hex") === import_configs4.FAILED_TRANSFER_TO_ADDRESS_SIGNAL;
|
1346
1338
|
var doesReceiptHaveMissingContractId = (receipt) => receipt.type === import_transactions3.ReceiptType.Panic && receipt.contractId !== "0x0000000000000000000000000000000000000000000000000000000000000000";
|
1347
1339
|
var getReceiptsWithMissingData = (receipts) => receipts.reduce(
|
1348
1340
|
(memo, receipt) => {
|
@@ -1359,7 +1351,7 @@ var getReceiptsWithMissingData = (receipts) => receipts.reduce(
|
|
1359
1351
|
missingOutputContractIds: []
|
1360
1352
|
}
|
1361
1353
|
);
|
1362
|
-
var hexOrZero = (hex) => hex ||
|
1354
|
+
var hexOrZero = (hex) => hex || import_configs3.ZeroBytes32;
|
1363
1355
|
function assembleReceiptByType(receipt) {
|
1364
1356
|
const { receiptType } = receipt;
|
1365
1357
|
switch (receiptType) {
|
@@ -1723,16 +1715,16 @@ function sleep(time) {
|
|
1723
1715
|
var import_errors7 = require("@fuel-ts/errors");
|
1724
1716
|
var import_math6 = require("@fuel-ts/math");
|
1725
1717
|
var import_transactions5 = require("@fuel-ts/transactions");
|
1726
|
-
var
|
1718
|
+
var import_configs5 = require("@fuel-ts/transactions/configs");
|
1727
1719
|
var assemblePanicError = (status) => {
|
1728
1720
|
let errorMessage = `The transaction reverted with reason: "${status.reason}".`;
|
1729
1721
|
const reason = status.reason;
|
1730
|
-
if (
|
1722
|
+
if (import_configs5.PANIC_REASONS.includes(status.reason)) {
|
1731
1723
|
errorMessage = `${errorMessage}
|
1732
1724
|
|
1733
1725
|
You can read more about this error at:
|
1734
1726
|
|
1735
|
-
${
|
1727
|
+
${import_configs5.PANIC_DOC_URL}#variant.${status.reason}`;
|
1736
1728
|
}
|
1737
1729
|
return { errorMessage, reason };
|
1738
1730
|
};
|
@@ -1744,28 +1736,28 @@ var assembleRevertError = (receipts, logs) => {
|
|
1744
1736
|
if (revertReceipt) {
|
1745
1737
|
const reasonHex = (0, import_math6.bn)(revertReceipt.val).toHex();
|
1746
1738
|
switch (reasonHex) {
|
1747
|
-
case
|
1739
|
+
case import_configs5.FAILED_REQUIRE_SIGNAL: {
|
1748
1740
|
reason = "require";
|
1749
1741
|
errorMessage = `The transaction reverted because a "require" statement has thrown ${logs.length ? stringify(logs[0]) : "an error."}.`;
|
1750
1742
|
break;
|
1751
1743
|
}
|
1752
|
-
case
|
1744
|
+
case import_configs5.FAILED_ASSERT_EQ_SIGNAL: {
|
1753
1745
|
const sufix = logs.length >= 2 ? ` comparing ${stringify(logs[1])} and ${stringify(logs[0])}.` : ".";
|
1754
1746
|
reason = "assert_eq";
|
1755
1747
|
errorMessage = `The transaction reverted because of an "assert_eq" statement${sufix}`;
|
1756
1748
|
break;
|
1757
1749
|
}
|
1758
|
-
case
|
1750
|
+
case import_configs5.FAILED_ASSERT_NE_SIGNAL: {
|
1759
1751
|
const sufix = logs.length >= 2 ? ` comparing ${stringify(logs[1])} and ${stringify(logs[0])}.` : ".";
|
1760
1752
|
reason = "assert_ne";
|
1761
1753
|
errorMessage = `The transaction reverted because of an "assert_ne" statement${sufix}`;
|
1762
1754
|
break;
|
1763
1755
|
}
|
1764
|
-
case
|
1756
|
+
case import_configs5.FAILED_ASSERT_SIGNAL:
|
1765
1757
|
reason = "assert";
|
1766
1758
|
errorMessage = `The transaction reverted because an "assert" statement failed to evaluate to true.`;
|
1767
1759
|
break;
|
1768
|
-
case
|
1760
|
+
case import_configs5.FAILED_TRANSFER_TO_ADDRESS_SIGNAL:
|
1769
1761
|
reason = "MissingOutputChange";
|
1770
1762
|
errorMessage = `The transaction reverted because it's missing an "OutputChange".`;
|
1771
1763
|
break;
|
@@ -1813,28 +1805,6 @@ var NoWitnessByOwnerError = class extends Error {
|
|
1813
1805
|
name = "NoWitnessByOwnerError";
|
1814
1806
|
};
|
1815
1807
|
|
1816
|
-
// src/providers/transaction-request/helpers.ts
|
1817
|
-
var import_transactions6 = require("@fuel-ts/transactions");
|
1818
|
-
var isRequestInputCoin = (input) => input.type === import_transactions6.InputType.Coin;
|
1819
|
-
var isRequestInputMessage = (input) => input.type === import_transactions6.InputType.Message;
|
1820
|
-
var isRequestInputResource = (input) => isRequestInputCoin(input) || isRequestInputMessage(input);
|
1821
|
-
var getRequestInputResourceOwner = (input) => isRequestInputCoin(input) ? input.owner : input.recipient;
|
1822
|
-
var isRequestInputResourceFromOwner = (input, owner) => getRequestInputResourceOwner(input) === owner.toB256();
|
1823
|
-
var cacheResources = (resources) => resources.reduce(
|
1824
|
-
(cache2, resource) => {
|
1825
|
-
if (isCoin(resource)) {
|
1826
|
-
cache2.utxos.push(resource.id);
|
1827
|
-
} else {
|
1828
|
-
cache2.messages.push(resource.nonce);
|
1829
|
-
}
|
1830
|
-
return cache2;
|
1831
|
-
},
|
1832
|
-
{
|
1833
|
-
utxos: [],
|
1834
|
-
messages: []
|
1835
|
-
}
|
1836
|
-
);
|
1837
|
-
|
1838
1808
|
// src/providers/transaction-request/witness.ts
|
1839
1809
|
var import_utils8 = require("@fuel-ts/utils");
|
1840
1810
|
var witnessify = (value) => {
|
@@ -1861,6 +1831,8 @@ var BaseTransactionRequest = class {
|
|
1861
1831
|
outputs = [];
|
1862
1832
|
/** List of witnesses */
|
1863
1833
|
witnesses = [];
|
1834
|
+
/** Base asset ID - should be fetched from the chain */
|
1835
|
+
baseAssetId;
|
1864
1836
|
/**
|
1865
1837
|
* Constructor for initializing a base transaction request.
|
1866
1838
|
*
|
@@ -1873,8 +1845,9 @@ var BaseTransactionRequest = class {
|
|
1873
1845
|
witnessLimit,
|
1874
1846
|
inputs,
|
1875
1847
|
outputs,
|
1876
|
-
witnesses
|
1877
|
-
|
1848
|
+
witnesses,
|
1849
|
+
baseAssetId
|
1850
|
+
}) {
|
1878
1851
|
this.gasPrice = (0, import_math7.bn)(gasPrice);
|
1879
1852
|
this.maturity = maturity ?? 0;
|
1880
1853
|
this.witnessLimit = witnessLimit ? (0, import_math7.bn)(witnessLimit) : void 0;
|
@@ -1882,25 +1855,26 @@ var BaseTransactionRequest = class {
|
|
1882
1855
|
this.inputs = inputs ?? [];
|
1883
1856
|
this.outputs = outputs ?? [];
|
1884
1857
|
this.witnesses = witnesses ?? [];
|
1858
|
+
this.baseAssetId = baseAssetId;
|
1885
1859
|
}
|
1886
1860
|
static getPolicyMeta(req) {
|
1887
1861
|
let policyTypes = 0;
|
1888
1862
|
const policies = [];
|
1889
1863
|
if (req.gasPrice) {
|
1890
|
-
policyTypes +=
|
1891
|
-
policies.push({ data: req.gasPrice, type:
|
1864
|
+
policyTypes += import_transactions6.PolicyType.GasPrice;
|
1865
|
+
policies.push({ data: req.gasPrice, type: import_transactions6.PolicyType.GasPrice });
|
1892
1866
|
}
|
1893
1867
|
if (req.witnessLimit) {
|
1894
|
-
policyTypes +=
|
1895
|
-
policies.push({ data: req.witnessLimit, type:
|
1868
|
+
policyTypes += import_transactions6.PolicyType.WitnessLimit;
|
1869
|
+
policies.push({ data: req.witnessLimit, type: import_transactions6.PolicyType.WitnessLimit });
|
1896
1870
|
}
|
1897
1871
|
if (req.maturity > 0) {
|
1898
|
-
policyTypes +=
|
1899
|
-
policies.push({ data: req.maturity, type:
|
1872
|
+
policyTypes += import_transactions6.PolicyType.Maturity;
|
1873
|
+
policies.push({ data: req.maturity, type: import_transactions6.PolicyType.Maturity });
|
1900
1874
|
}
|
1901
1875
|
if (req.maxFee) {
|
1902
|
-
policyTypes +=
|
1903
|
-
policies.push({ data: req.maxFee, type:
|
1876
|
+
policyTypes += import_transactions6.PolicyType.MaxFee;
|
1877
|
+
policies.push({ data: req.maxFee, type: import_transactions6.PolicyType.MaxFee });
|
1904
1878
|
}
|
1905
1879
|
return {
|
1906
1880
|
policyTypes,
|
@@ -1934,7 +1908,7 @@ var BaseTransactionRequest = class {
|
|
1934
1908
|
* @returns The transaction bytes.
|
1935
1909
|
*/
|
1936
1910
|
toTransactionBytes() {
|
1937
|
-
return new
|
1911
|
+
return new import_transactions6.TransactionCoder().encode(this.toTransaction());
|
1938
1912
|
}
|
1939
1913
|
/**
|
1940
1914
|
* @hidden
|
@@ -1974,7 +1948,7 @@ var BaseTransactionRequest = class {
|
|
1974
1948
|
* @returns The index of the created witness.
|
1975
1949
|
*/
|
1976
1950
|
addEmptyWitness() {
|
1977
|
-
this.addWitness((0, import_utils9.concat)([
|
1951
|
+
this.addWitness((0, import_utils9.concat)([import_configs6.ZeroBytes32, import_configs6.ZeroBytes32]));
|
1978
1952
|
return this.witnesses.length - 1;
|
1979
1953
|
}
|
1980
1954
|
/**
|
@@ -2025,7 +1999,7 @@ var BaseTransactionRequest = class {
|
|
2025
1999
|
*/
|
2026
2000
|
getCoinInputs() {
|
2027
2001
|
return this.inputs.filter(
|
2028
|
-
(input) => input.type ===
|
2002
|
+
(input) => input.type === import_transactions6.InputType.Coin
|
2029
2003
|
);
|
2030
2004
|
}
|
2031
2005
|
/**
|
@@ -2035,7 +2009,7 @@ var BaseTransactionRequest = class {
|
|
2035
2009
|
*/
|
2036
2010
|
getCoinOutputs() {
|
2037
2011
|
return this.outputs.filter(
|
2038
|
-
(output) => output.type ===
|
2012
|
+
(output) => output.type === import_transactions6.OutputType.Coin
|
2039
2013
|
);
|
2040
2014
|
}
|
2041
2015
|
/**
|
@@ -2045,7 +2019,7 @@ var BaseTransactionRequest = class {
|
|
2045
2019
|
*/
|
2046
2020
|
getChangeOutputs() {
|
2047
2021
|
return this.outputs.filter(
|
2048
|
-
(output) => output.type ===
|
2022
|
+
(output) => output.type === import_transactions6.OutputType.Change
|
2049
2023
|
);
|
2050
2024
|
}
|
2051
2025
|
/**
|
@@ -2057,9 +2031,9 @@ var BaseTransactionRequest = class {
|
|
2057
2031
|
const ownerAddress = (0, import_address.addressify)(owner);
|
2058
2032
|
const found = this.inputs.find((input) => {
|
2059
2033
|
switch (input.type) {
|
2060
|
-
case
|
2034
|
+
case import_transactions6.InputType.Coin:
|
2061
2035
|
return (0, import_utils9.hexlify)(input.owner) === ownerAddress.toB256();
|
2062
|
-
case
|
2036
|
+
case import_transactions6.InputType.Message:
|
2063
2037
|
return (0, import_utils9.hexlify)(input.recipient) === ownerAddress.toB256();
|
2064
2038
|
default:
|
2065
2039
|
return false;
|
@@ -2075,8 +2049,8 @@ var BaseTransactionRequest = class {
|
|
2075
2049
|
* @param predicate - Predicate bytes.
|
2076
2050
|
* @param predicateData - Predicate data bytes.
|
2077
2051
|
*/
|
2078
|
-
addCoinInput(coin) {
|
2079
|
-
const { assetId, owner, amount
|
2052
|
+
addCoinInput(coin, predicate) {
|
2053
|
+
const { assetId, owner, amount } = coin;
|
2080
2054
|
let witnessIndex;
|
2081
2055
|
if (predicate) {
|
2082
2056
|
witnessIndex = 0;
|
@@ -2087,14 +2061,14 @@ var BaseTransactionRequest = class {
|
|
2087
2061
|
}
|
2088
2062
|
}
|
2089
2063
|
const input = {
|
2090
|
-
|
2091
|
-
type:
|
2064
|
+
...coin,
|
2065
|
+
type: import_transactions6.InputType.Coin,
|
2092
2066
|
owner: owner.toB256(),
|
2093
2067
|
amount,
|
2094
2068
|
assetId,
|
2095
2069
|
txPointer: "0x00000000000000000000000000000000",
|
2096
2070
|
witnessIndex,
|
2097
|
-
predicate
|
2071
|
+
predicate: predicate?.bytes
|
2098
2072
|
};
|
2099
2073
|
this.pushInput(input);
|
2100
2074
|
this.addChangeOutput(owner, assetId);
|
@@ -2105,11 +2079,9 @@ var BaseTransactionRequest = class {
|
|
2105
2079
|
*
|
2106
2080
|
* @param message - Message resource.
|
2107
2081
|
* @param predicate - Predicate bytes.
|
2108
|
-
* @param predicateData - Predicate data bytes.
|
2109
2082
|
*/
|
2110
|
-
addMessageInput(message) {
|
2111
|
-
const { recipient, sender, amount
|
2112
|
-
const assetId = import_configs7.BaseAssetId;
|
2083
|
+
addMessageInput(message, predicate) {
|
2084
|
+
const { recipient, sender, amount } = message;
|
2113
2085
|
let witnessIndex;
|
2114
2086
|
if (predicate) {
|
2115
2087
|
witnessIndex = 0;
|
@@ -2120,16 +2092,16 @@ var BaseTransactionRequest = class {
|
|
2120
2092
|
}
|
2121
2093
|
}
|
2122
2094
|
const input = {
|
2123
|
-
|
2124
|
-
type:
|
2095
|
+
...message,
|
2096
|
+
type: import_transactions6.InputType.Message,
|
2125
2097
|
sender: sender.toB256(),
|
2126
2098
|
recipient: recipient.toB256(),
|
2127
2099
|
amount,
|
2128
2100
|
witnessIndex,
|
2129
|
-
predicate
|
2101
|
+
predicate: predicate?.bytes
|
2130
2102
|
};
|
2131
2103
|
this.pushInput(input);
|
2132
|
-
this.addChangeOutput(recipient,
|
2104
|
+
this.addChangeOutput(recipient, this.baseAssetId);
|
2133
2105
|
}
|
2134
2106
|
/**
|
2135
2107
|
* Adds a single resource to the transaction by adding a coin/message input and a
|
@@ -2157,6 +2129,32 @@ var BaseTransactionRequest = class {
|
|
2157
2129
|
resources.forEach((resource) => this.addResource(resource));
|
2158
2130
|
return this;
|
2159
2131
|
}
|
2132
|
+
/**
|
2133
|
+
* Adds multiple resources to the transaction by adding coin/message inputs and change
|
2134
|
+
* outputs from the related assetIds.
|
2135
|
+
*
|
2136
|
+
* @param resources - The resources to add.
|
2137
|
+
* @returns This transaction.
|
2138
|
+
*/
|
2139
|
+
addPredicateResource(resource, predicate) {
|
2140
|
+
if (isCoin(resource)) {
|
2141
|
+
this.addCoinInput(resource, predicate);
|
2142
|
+
} else {
|
2143
|
+
this.addMessageInput(resource, predicate);
|
2144
|
+
}
|
2145
|
+
return this;
|
2146
|
+
}
|
2147
|
+
/**
|
2148
|
+
* Adds multiple predicate coin/message inputs to the transaction and change outputs
|
2149
|
+
* from the related assetIds.
|
2150
|
+
*
|
2151
|
+
* @param resources - The resources to add.
|
2152
|
+
* @returns This transaction.
|
2153
|
+
*/
|
2154
|
+
addPredicateResources(resources, predicate) {
|
2155
|
+
resources.forEach((resource) => this.addPredicateResource(resource, predicate));
|
2156
|
+
return this;
|
2157
|
+
}
|
2160
2158
|
/**
|
2161
2159
|
* Adds a coin output to the transaction.
|
2162
2160
|
*
|
@@ -2164,12 +2162,12 @@ var BaseTransactionRequest = class {
|
|
2164
2162
|
* @param amount - Amount of coin.
|
2165
2163
|
* @param assetId - Asset ID of coin.
|
2166
2164
|
*/
|
2167
|
-
addCoinOutput(to, amount, assetId
|
2165
|
+
addCoinOutput(to, amount, assetId) {
|
2168
2166
|
this.pushOutput({
|
2169
|
-
type:
|
2167
|
+
type: import_transactions6.OutputType.Coin,
|
2170
2168
|
to: (0, import_address.addressify)(to).toB256(),
|
2171
2169
|
amount,
|
2172
|
-
assetId
|
2170
|
+
assetId: assetId ?? this.baseAssetId
|
2173
2171
|
});
|
2174
2172
|
return this;
|
2175
2173
|
}
|
@@ -2182,7 +2180,7 @@ var BaseTransactionRequest = class {
|
|
2182
2180
|
addCoinOutputs(to, quantities) {
|
2183
2181
|
quantities.map(coinQuantityfy).forEach((quantity) => {
|
2184
2182
|
this.pushOutput({
|
2185
|
-
type:
|
2183
|
+
type: import_transactions6.OutputType.Coin,
|
2186
2184
|
to: (0, import_address.addressify)(to).toB256(),
|
2187
2185
|
amount: quantity.amount,
|
2188
2186
|
assetId: quantity.assetId
|
@@ -2196,15 +2194,15 @@ var BaseTransactionRequest = class {
|
|
2196
2194
|
* @param to - Address of the owner.
|
2197
2195
|
* @param assetId - Asset ID of coin.
|
2198
2196
|
*/
|
2199
|
-
addChangeOutput(to, assetId
|
2197
|
+
addChangeOutput(to, assetId) {
|
2200
2198
|
const changeOutput = this.getChangeOutputs().find(
|
2201
2199
|
(output) => (0, import_utils9.hexlify)(output.assetId) === assetId
|
2202
2200
|
);
|
2203
2201
|
if (!changeOutput) {
|
2204
2202
|
this.pushOutput({
|
2205
|
-
type:
|
2203
|
+
type: import_transactions6.OutputType.Change,
|
2206
2204
|
to: (0, import_address.addressify)(to).toB256(),
|
2207
|
-
assetId
|
2205
|
+
assetId: assetId ?? this.baseAssetId
|
2208
2206
|
});
|
2209
2207
|
}
|
2210
2208
|
}
|
@@ -2280,7 +2278,7 @@ var BaseTransactionRequest = class {
|
|
2280
2278
|
]);
|
2281
2279
|
}
|
2282
2280
|
};
|
2283
|
-
updateAssetInput(
|
2281
|
+
updateAssetInput(this.baseAssetId, (0, import_math7.bn)(1e11));
|
2284
2282
|
quantities.forEach((q) => updateAssetInput(q.assetId, q.amount));
|
2285
2283
|
}
|
2286
2284
|
/**
|
@@ -2305,20 +2303,16 @@ var BaseTransactionRequest = class {
|
|
2305
2303
|
toJSON() {
|
2306
2304
|
return normalizeJSON(this);
|
2307
2305
|
}
|
2308
|
-
removeWitness(index) {
|
2309
|
-
this.witnesses.splice(index, 1);
|
2310
|
-
this.adjustWitnessIndexes(index);
|
2311
|
-
}
|
2312
2306
|
updatePredicateInputs(inputs) {
|
2313
2307
|
this.inputs.forEach((i) => {
|
2314
2308
|
let correspondingInput;
|
2315
2309
|
switch (i.type) {
|
2316
|
-
case
|
2317
|
-
correspondingInput = inputs.find((x) => x.type ===
|
2310
|
+
case import_transactions6.InputType.Coin:
|
2311
|
+
correspondingInput = inputs.find((x) => x.type === import_transactions6.InputType.Coin && x.owner === i.owner);
|
2318
2312
|
break;
|
2319
|
-
case
|
2313
|
+
case import_transactions6.InputType.Message:
|
2320
2314
|
correspondingInput = inputs.find(
|
2321
|
-
(x) => x.type ===
|
2315
|
+
(x) => x.type === import_transactions6.InputType.Message && x.sender === i.sender
|
2322
2316
|
);
|
2323
2317
|
break;
|
2324
2318
|
default:
|
@@ -2331,37 +2325,30 @@ var BaseTransactionRequest = class {
|
|
2331
2325
|
}
|
2332
2326
|
});
|
2333
2327
|
}
|
2334
|
-
adjustWitnessIndexes(removedIndex) {
|
2335
|
-
this.inputs.filter(isRequestInputResource).forEach((input) => {
|
2336
|
-
if (input.witnessIndex > removedIndex) {
|
2337
|
-
input.witnessIndex -= 1;
|
2338
|
-
}
|
2339
|
-
});
|
2340
|
-
}
|
2341
2328
|
};
|
2342
2329
|
|
2343
2330
|
// src/providers/transaction-request/create-transaction-request.ts
|
2344
|
-
var
|
2331
|
+
var import_configs8 = require("@fuel-ts/address/configs");
|
2345
2332
|
var import_math9 = require("@fuel-ts/math");
|
2346
|
-
var
|
2333
|
+
var import_transactions8 = require("@fuel-ts/transactions");
|
2347
2334
|
var import_utils13 = require("@fuel-ts/utils");
|
2348
2335
|
|
2349
2336
|
// src/providers/transaction-request/hash-transaction.ts
|
2350
|
-
var
|
2337
|
+
var import_configs7 = require("@fuel-ts/address/configs");
|
2351
2338
|
var import_hasher = require("@fuel-ts/hasher");
|
2352
2339
|
var import_math8 = require("@fuel-ts/math");
|
2353
|
-
var
|
2340
|
+
var import_transactions7 = require("@fuel-ts/transactions");
|
2354
2341
|
var import_utils11 = require("@fuel-ts/utils");
|
2355
2342
|
var import_ramda2 = require("ramda");
|
2356
2343
|
function hashTransaction(transactionRequest, chainId) {
|
2357
2344
|
const transaction = transactionRequest.toTransaction();
|
2358
|
-
if (transaction.type ===
|
2359
|
-
transaction.receiptsRoot =
|
2345
|
+
if (transaction.type === import_transactions7.TransactionType.Script) {
|
2346
|
+
transaction.receiptsRoot = import_configs7.ZeroBytes32;
|
2360
2347
|
}
|
2361
2348
|
transaction.inputs = transaction.inputs.map((input) => {
|
2362
2349
|
const inputClone = (0, import_ramda2.clone)(input);
|
2363
2350
|
switch (inputClone.type) {
|
2364
|
-
case
|
2351
|
+
case import_transactions7.InputType.Coin: {
|
2365
2352
|
inputClone.txPointer = {
|
2366
2353
|
blockHeight: 0,
|
2367
2354
|
txIndex: 0
|
@@ -2369,19 +2356,19 @@ function hashTransaction(transactionRequest, chainId) {
|
|
2369
2356
|
inputClone.predicateGasUsed = (0, import_math8.bn)(0);
|
2370
2357
|
return inputClone;
|
2371
2358
|
}
|
2372
|
-
case
|
2359
|
+
case import_transactions7.InputType.Message: {
|
2373
2360
|
inputClone.predicateGasUsed = (0, import_math8.bn)(0);
|
2374
2361
|
return inputClone;
|
2375
2362
|
}
|
2376
|
-
case
|
2363
|
+
case import_transactions7.InputType.Contract: {
|
2377
2364
|
inputClone.txPointer = {
|
2378
2365
|
blockHeight: 0,
|
2379
2366
|
txIndex: 0
|
2380
2367
|
};
|
2381
|
-
inputClone.txID =
|
2368
|
+
inputClone.txID = import_configs7.ZeroBytes32;
|
2382
2369
|
inputClone.outputIndex = 0;
|
2383
|
-
inputClone.balanceRoot =
|
2384
|
-
inputClone.stateRoot =
|
2370
|
+
inputClone.balanceRoot = import_configs7.ZeroBytes32;
|
2371
|
+
inputClone.stateRoot = import_configs7.ZeroBytes32;
|
2385
2372
|
return inputClone;
|
2386
2373
|
}
|
2387
2374
|
default:
|
@@ -2391,19 +2378,19 @@ function hashTransaction(transactionRequest, chainId) {
|
|
2391
2378
|
transaction.outputs = transaction.outputs.map((output) => {
|
2392
2379
|
const outputClone = (0, import_ramda2.clone)(output);
|
2393
2380
|
switch (outputClone.type) {
|
2394
|
-
case
|
2395
|
-
outputClone.balanceRoot =
|
2396
|
-
outputClone.stateRoot =
|
2381
|
+
case import_transactions7.OutputType.Contract: {
|
2382
|
+
outputClone.balanceRoot = import_configs7.ZeroBytes32;
|
2383
|
+
outputClone.stateRoot = import_configs7.ZeroBytes32;
|
2397
2384
|
return outputClone;
|
2398
2385
|
}
|
2399
|
-
case
|
2386
|
+
case import_transactions7.OutputType.Change: {
|
2400
2387
|
outputClone.amount = (0, import_math8.bn)(0);
|
2401
2388
|
return outputClone;
|
2402
2389
|
}
|
2403
|
-
case
|
2404
|
-
outputClone.to =
|
2390
|
+
case import_transactions7.OutputType.Variable: {
|
2391
|
+
outputClone.to = import_configs7.ZeroBytes32;
|
2405
2392
|
outputClone.amount = (0, import_math8.bn)(0);
|
2406
|
-
outputClone.assetId =
|
2393
|
+
outputClone.assetId = import_configs7.ZeroBytes32;
|
2407
2394
|
return outputClone;
|
2408
2395
|
}
|
2409
2396
|
default:
|
@@ -2413,7 +2400,7 @@ function hashTransaction(transactionRequest, chainId) {
|
|
2413
2400
|
transaction.witnessesCount = 0;
|
2414
2401
|
transaction.witnesses = [];
|
2415
2402
|
const chainIdBytes = (0, import_hasher.uint64ToBytesBE)(chainId);
|
2416
|
-
const concatenatedData = (0, import_utils11.concat)([chainIdBytes, new
|
2403
|
+
const concatenatedData = (0, import_utils11.concat)([chainIdBytes, new import_transactions7.TransactionCoder().encode(transaction)]);
|
2417
2404
|
return (0, import_hasher.sha256)(concatenatedData);
|
2418
2405
|
}
|
2419
2406
|
|
@@ -2449,7 +2436,7 @@ var CreateTransactionRequest = class extends BaseTransactionRequest {
|
|
2449
2436
|
return new this(obj);
|
2450
2437
|
}
|
2451
2438
|
/** Type of the transaction */
|
2452
|
-
type =
|
2439
|
+
type = import_transactions8.TransactionType.Create;
|
2453
2440
|
/** Witness index of contract bytecode to create */
|
2454
2441
|
bytecodeWitnessIndex;
|
2455
2442
|
/** Salt */
|
@@ -2461,15 +2448,10 @@ var CreateTransactionRequest = class extends BaseTransactionRequest {
|
|
2461
2448
|
*
|
2462
2449
|
* @param createTransactionRequestLike - The initial values for the instance
|
2463
2450
|
*/
|
2464
|
-
constructor({
|
2465
|
-
bytecodeWitnessIndex,
|
2466
|
-
salt,
|
2467
|
-
storageSlots,
|
2468
|
-
...rest
|
2469
|
-
} = {}) {
|
2451
|
+
constructor({ bytecodeWitnessIndex, salt, storageSlots, ...rest }) {
|
2470
2452
|
super(rest);
|
2471
2453
|
this.bytecodeWitnessIndex = bytecodeWitnessIndex ?? 0;
|
2472
|
-
this.salt = (0, import_utils13.hexlify)(salt ??
|
2454
|
+
this.salt = (0, import_utils13.hexlify)(salt ?? import_configs8.ZeroBytes32);
|
2473
2455
|
this.storageSlots = [...storageSlots ?? []];
|
2474
2456
|
}
|
2475
2457
|
/**
|
@@ -2482,12 +2464,12 @@ var CreateTransactionRequest = class extends BaseTransactionRequest {
|
|
2482
2464
|
const bytecodeWitnessIndex = this.bytecodeWitnessIndex;
|
2483
2465
|
const storageSlots = this.storageSlots?.map(storageSlotify) ?? [];
|
2484
2466
|
return {
|
2485
|
-
type:
|
2467
|
+
type: import_transactions8.TransactionType.Create,
|
2486
2468
|
...baseTransaction,
|
2487
2469
|
bytecodeLength: baseTransaction.witnesses[bytecodeWitnessIndex].dataLength / 4,
|
2488
2470
|
bytecodeWitnessIndex,
|
2489
2471
|
storageSlotsCount: storageSlots.length,
|
2490
|
-
salt: this.salt ? (0, import_utils13.hexlify)(this.salt) :
|
2472
|
+
salt: this.salt ? (0, import_utils13.hexlify)(this.salt) : import_configs8.ZeroBytes32,
|
2491
2473
|
storageSlots
|
2492
2474
|
};
|
2493
2475
|
}
|
@@ -2498,7 +2480,7 @@ var CreateTransactionRequest = class extends BaseTransactionRequest {
|
|
2498
2480
|
*/
|
2499
2481
|
getContractCreatedOutputs() {
|
2500
2482
|
return this.outputs.filter(
|
2501
|
-
(output) => output.type ===
|
2483
|
+
(output) => output.type === import_transactions8.OutputType.ContractCreated
|
2502
2484
|
);
|
2503
2485
|
}
|
2504
2486
|
/**
|
@@ -2519,7 +2501,7 @@ var CreateTransactionRequest = class extends BaseTransactionRequest {
|
|
2519
2501
|
*/
|
2520
2502
|
addContractCreatedOutput(contractId, stateRoot) {
|
2521
2503
|
this.pushOutput({
|
2522
|
-
type:
|
2504
|
+
type: import_transactions8.OutputType.ContractCreated,
|
2523
2505
|
contractId,
|
2524
2506
|
stateRoot
|
2525
2507
|
});
|
@@ -2537,9 +2519,9 @@ var CreateTransactionRequest = class extends BaseTransactionRequest {
|
|
2537
2519
|
// src/providers/transaction-request/script-transaction-request.ts
|
2538
2520
|
var import_abi_coder3 = require("@fuel-ts/abi-coder");
|
2539
2521
|
var import_address2 = require("@fuel-ts/address");
|
2540
|
-
var
|
2522
|
+
var import_configs9 = require("@fuel-ts/address/configs");
|
2541
2523
|
var import_math10 = require("@fuel-ts/math");
|
2542
|
-
var
|
2524
|
+
var import_transactions9 = require("@fuel-ts/transactions");
|
2543
2525
|
var import_utils15 = require("@fuel-ts/utils");
|
2544
2526
|
|
2545
2527
|
// src/providers/transaction-request/scripts.ts
|
@@ -2577,7 +2559,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
|
|
2577
2559
|
return new this(obj);
|
2578
2560
|
}
|
2579
2561
|
/** Type of the transaction */
|
2580
|
-
type =
|
2562
|
+
type = import_transactions9.TransactionType.Script;
|
2581
2563
|
/** Gas limit for transaction */
|
2582
2564
|
gasLimit;
|
2583
2565
|
/** Script to execute */
|
@@ -2590,7 +2572,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
|
|
2590
2572
|
*
|
2591
2573
|
* @param scriptTransactionRequestLike - The initial values for the instance.
|
2592
2574
|
*/
|
2593
|
-
constructor({ script, scriptData, gasLimit, ...rest }
|
2575
|
+
constructor({ script, scriptData, gasLimit, ...rest }) {
|
2594
2576
|
super(rest);
|
2595
2577
|
this.gasLimit = (0, import_math10.bn)(gasLimit);
|
2596
2578
|
this.script = (0, import_utils15.arrayify)(script ?? returnZeroScript.bytes);
|
@@ -2606,12 +2588,12 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
|
|
2606
2588
|
const script = (0, import_utils15.arrayify)(this.script ?? "0x");
|
2607
2589
|
const scriptData = (0, import_utils15.arrayify)(this.scriptData ?? "0x");
|
2608
2590
|
return {
|
2609
|
-
type:
|
2591
|
+
type: import_transactions9.TransactionType.Script,
|
2610
2592
|
scriptGasLimit: this.gasLimit,
|
2611
2593
|
...super.getBaseTransaction(),
|
2612
2594
|
scriptLength: script.length,
|
2613
2595
|
scriptDataLength: scriptData.length,
|
2614
|
-
receiptsRoot:
|
2596
|
+
receiptsRoot: import_configs9.ZeroBytes32,
|
2615
2597
|
script: (0, import_utils15.hexlify)(script),
|
2616
2598
|
scriptData: (0, import_utils15.hexlify)(scriptData)
|
2617
2599
|
};
|
@@ -2623,7 +2605,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
|
|
2623
2605
|
*/
|
2624
2606
|
getContractInputs() {
|
2625
2607
|
return this.inputs.filter(
|
2626
|
-
(input) => input.type ===
|
2608
|
+
(input) => input.type === import_transactions9.InputType.Contract
|
2627
2609
|
);
|
2628
2610
|
}
|
2629
2611
|
/**
|
@@ -2633,7 +2615,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
|
|
2633
2615
|
*/
|
2634
2616
|
getContractOutputs() {
|
2635
2617
|
return this.outputs.filter(
|
2636
|
-
(output) => output.type ===
|
2618
|
+
(output) => output.type === import_transactions9.OutputType.Contract
|
2637
2619
|
);
|
2638
2620
|
}
|
2639
2621
|
/**
|
@@ -2643,7 +2625,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
|
|
2643
2625
|
*/
|
2644
2626
|
getVariableOutputs() {
|
2645
2627
|
return this.outputs.filter(
|
2646
|
-
(output) => output.type ===
|
2628
|
+
(output) => output.type === import_transactions9.OutputType.Variable
|
2647
2629
|
);
|
2648
2630
|
}
|
2649
2631
|
/**
|
@@ -2666,7 +2648,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
|
|
2666
2648
|
let outputsNumber = numberOfVariables;
|
2667
2649
|
while (outputsNumber) {
|
2668
2650
|
this.pushOutput({
|
2669
|
-
type:
|
2651
|
+
type: import_transactions9.OutputType.Variable
|
2670
2652
|
});
|
2671
2653
|
outputsNumber -= 1;
|
2672
2654
|
}
|
@@ -2699,12 +2681,12 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
|
|
2699
2681
|
return this;
|
2700
2682
|
}
|
2701
2683
|
const inputIndex = super.pushInput({
|
2702
|
-
type:
|
2684
|
+
type: import_transactions9.InputType.Contract,
|
2703
2685
|
contractId: contractAddress.toB256(),
|
2704
2686
|
txPointer: "0x00000000000000000000000000000000"
|
2705
2687
|
});
|
2706
2688
|
this.pushOutput({
|
2707
|
-
type:
|
2689
|
+
type: import_transactions9.OutputType.Contract,
|
2708
2690
|
inputIndex
|
2709
2691
|
});
|
2710
2692
|
return this;
|
@@ -2741,17 +2723,17 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
|
|
2741
2723
|
|
2742
2724
|
// src/providers/transaction-request/utils.ts
|
2743
2725
|
var import_errors9 = require("@fuel-ts/errors");
|
2744
|
-
var
|
2726
|
+
var import_transactions10 = require("@fuel-ts/transactions");
|
2745
2727
|
var transactionRequestify = (obj) => {
|
2746
2728
|
if (obj instanceof ScriptTransactionRequest || obj instanceof CreateTransactionRequest) {
|
2747
2729
|
return obj;
|
2748
2730
|
}
|
2749
2731
|
const { type } = obj;
|
2750
2732
|
switch (obj.type) {
|
2751
|
-
case
|
2733
|
+
case import_transactions10.TransactionType.Script: {
|
2752
2734
|
return ScriptTransactionRequest.from(obj);
|
2753
2735
|
}
|
2754
|
-
case
|
2736
|
+
case import_transactions10.TransactionType.Create: {
|
2755
2737
|
return CreateTransactionRequest.from(obj);
|
2756
2738
|
}
|
2757
2739
|
default: {
|
@@ -2763,7 +2745,7 @@ var transactionRequestify = (obj) => {
|
|
2763
2745
|
// src/providers/transaction-response/transaction-response.ts
|
2764
2746
|
var import_errors13 = require("@fuel-ts/errors");
|
2765
2747
|
var import_math14 = require("@fuel-ts/math");
|
2766
|
-
var
|
2748
|
+
var import_transactions17 = require("@fuel-ts/transactions");
|
2767
2749
|
var import_utils21 = require("@fuel-ts/utils");
|
2768
2750
|
|
2769
2751
|
// src/providers/transaction-summary/assemble-transaction-summary.ts
|
@@ -2771,7 +2753,7 @@ var import_utils19 = require("@fuel-ts/utils");
|
|
2771
2753
|
|
2772
2754
|
// src/providers/transaction-summary/calculate-transaction-fee.ts
|
2773
2755
|
var import_math11 = require("@fuel-ts/math");
|
2774
|
-
var
|
2756
|
+
var import_transactions11 = require("@fuel-ts/transactions");
|
2775
2757
|
var import_utils16 = require("@fuel-ts/utils");
|
2776
2758
|
var calculateTransactionFee = (params) => {
|
2777
2759
|
const {
|
@@ -2782,8 +2764,8 @@ var calculateTransactionFee = (params) => {
|
|
2782
2764
|
const gasPerByte = (0, import_math11.bn)(feeParams.gasPerByte);
|
2783
2765
|
const gasPriceFactor = (0, import_math11.bn)(feeParams.gasPriceFactor);
|
2784
2766
|
const transactionBytes = (0, import_utils16.arrayify)(rawPayload);
|
2785
|
-
const [transaction] = new
|
2786
|
-
if (transaction.type ===
|
2767
|
+
const [transaction] = new import_transactions11.TransactionCoder().decode(transactionBytes, 0);
|
2768
|
+
if (transaction.type === import_transactions11.TransactionType.Mint) {
|
2787
2769
|
return {
|
2788
2770
|
fee: (0, import_math11.bn)(0),
|
2789
2771
|
minFee: (0, import_math11.bn)(0),
|
@@ -2794,7 +2776,7 @@ var calculateTransactionFee = (params) => {
|
|
2794
2776
|
const { type, witnesses, inputs, policies } = transaction;
|
2795
2777
|
let metadataGas = (0, import_math11.bn)(0);
|
2796
2778
|
let gasLimit = (0, import_math11.bn)(0);
|
2797
|
-
if (type ===
|
2779
|
+
if (type === import_transactions11.TransactionType.Create) {
|
2798
2780
|
const { bytecodeWitnessIndex, storageSlots } = transaction;
|
2799
2781
|
const contractBytesSize = (0, import_math11.bn)((0, import_utils16.arrayify)(witnesses[bytecodeWitnessIndex].data).length);
|
2800
2782
|
metadataGas = calculateMetadataGasForTxCreate({
|
@@ -2820,8 +2802,8 @@ var calculateTransactionFee = (params) => {
|
|
2820
2802
|
metadataGas,
|
2821
2803
|
txBytesSize: transactionBytes.length
|
2822
2804
|
});
|
2823
|
-
const gasPrice = (0, import_math11.bn)(policies.find((policy) => policy.type ===
|
2824
|
-
const witnessLimit = policies.find((policy) => policy.type ===
|
2805
|
+
const gasPrice = (0, import_math11.bn)(policies.find((policy) => policy.type === import_transactions11.PolicyType.GasPrice)?.data);
|
2806
|
+
const witnessLimit = policies.find((policy) => policy.type === import_transactions11.PolicyType.WitnessLimit)?.data;
|
2825
2807
|
const witnessesLength = witnesses.reduce((acc, wit) => acc + wit.dataLength, 0);
|
2826
2808
|
const maxGas = getMaxGas({
|
2827
2809
|
gasPerByte,
|
@@ -2843,10 +2825,10 @@ var calculateTransactionFee = (params) => {
|
|
2843
2825
|
};
|
2844
2826
|
|
2845
2827
|
// src/providers/transaction-summary/operations.ts
|
2846
|
-
var
|
2828
|
+
var import_configs10 = require("@fuel-ts/address/configs");
|
2847
2829
|
var import_errors11 = require("@fuel-ts/errors");
|
2848
2830
|
var import_math13 = require("@fuel-ts/math");
|
2849
|
-
var
|
2831
|
+
var import_transactions14 = require("@fuel-ts/transactions");
|
2850
2832
|
|
2851
2833
|
// src/providers/transaction-summary/call.ts
|
2852
2834
|
var import_abi_coder4 = require("@fuel-ts/abi-coder");
|
@@ -2894,7 +2876,7 @@ var getFunctionCall = ({ abi, receipt, rawPayload, maxInputs }) => {
|
|
2894
2876
|
|
2895
2877
|
// src/providers/transaction-summary/input.ts
|
2896
2878
|
var import_errors10 = require("@fuel-ts/errors");
|
2897
|
-
var
|
2879
|
+
var import_transactions12 = require("@fuel-ts/transactions");
|
2898
2880
|
function getInputsByTypes(inputs, types) {
|
2899
2881
|
return inputs.filter((i) => types.includes(i.type));
|
2900
2882
|
}
|
@@ -2902,16 +2884,16 @@ function getInputsByType(inputs, type) {
|
|
2902
2884
|
return inputs.filter((i) => i.type === type);
|
2903
2885
|
}
|
2904
2886
|
function getInputsCoin(inputs) {
|
2905
|
-
return getInputsByType(inputs,
|
2887
|
+
return getInputsByType(inputs, import_transactions12.InputType.Coin);
|
2906
2888
|
}
|
2907
2889
|
function getInputsMessage(inputs) {
|
2908
|
-
return getInputsByType(inputs,
|
2890
|
+
return getInputsByType(inputs, import_transactions12.InputType.Message);
|
2909
2891
|
}
|
2910
2892
|
function getInputsCoinAndMessage(inputs) {
|
2911
|
-
return getInputsByTypes(inputs, [
|
2893
|
+
return getInputsByTypes(inputs, [import_transactions12.InputType.Coin, import_transactions12.InputType.Message]);
|
2912
2894
|
}
|
2913
2895
|
function getInputsContract(inputs) {
|
2914
|
-
return getInputsByType(inputs,
|
2896
|
+
return getInputsByType(inputs, import_transactions12.InputType.Contract);
|
2915
2897
|
}
|
2916
2898
|
function getInputFromAssetId(inputs, assetId) {
|
2917
2899
|
const coinInputs = getInputsCoin(inputs);
|
@@ -2930,7 +2912,7 @@ function getInputContractFromIndex(inputs, inputIndex) {
|
|
2930
2912
|
if (!contractInput) {
|
2931
2913
|
return void 0;
|
2932
2914
|
}
|
2933
|
-
if (contractInput.type !==
|
2915
|
+
if (contractInput.type !== import_transactions12.InputType.Contract) {
|
2934
2916
|
throw new import_errors10.FuelError(
|
2935
2917
|
import_errors10.ErrorCode.INVALID_TRANSACTION_INPUT,
|
2936
2918
|
`Contract input should be of type 'contract'.`
|
@@ -2939,34 +2921,34 @@ function getInputContractFromIndex(inputs, inputIndex) {
|
|
2939
2921
|
return contractInput;
|
2940
2922
|
}
|
2941
2923
|
function getInputAccountAddress(input) {
|
2942
|
-
if (input.type ===
|
2924
|
+
if (input.type === import_transactions12.InputType.Coin) {
|
2943
2925
|
return input.owner.toString();
|
2944
2926
|
}
|
2945
|
-
if (input.type ===
|
2927
|
+
if (input.type === import_transactions12.InputType.Message) {
|
2946
2928
|
return input.recipient.toString();
|
2947
2929
|
}
|
2948
2930
|
return "";
|
2949
2931
|
}
|
2950
2932
|
|
2951
2933
|
// src/providers/transaction-summary/output.ts
|
2952
|
-
var
|
2934
|
+
var import_transactions13 = require("@fuel-ts/transactions");
|
2953
2935
|
function getOutputsByType(outputs, type) {
|
2954
2936
|
return outputs.filter((o) => o.type === type);
|
2955
2937
|
}
|
2956
2938
|
function getOutputsContractCreated(outputs) {
|
2957
|
-
return getOutputsByType(outputs,
|
2939
|
+
return getOutputsByType(outputs, import_transactions13.OutputType.ContractCreated);
|
2958
2940
|
}
|
2959
2941
|
function getOutputsCoin(outputs) {
|
2960
|
-
return getOutputsByType(outputs,
|
2942
|
+
return getOutputsByType(outputs, import_transactions13.OutputType.Coin);
|
2961
2943
|
}
|
2962
2944
|
function getOutputsChange(outputs) {
|
2963
|
-
return getOutputsByType(outputs,
|
2945
|
+
return getOutputsByType(outputs, import_transactions13.OutputType.Change);
|
2964
2946
|
}
|
2965
2947
|
function getOutputsContract(outputs) {
|
2966
|
-
return getOutputsByType(outputs,
|
2948
|
+
return getOutputsByType(outputs, import_transactions13.OutputType.Contract);
|
2967
2949
|
}
|
2968
2950
|
function getOutputsVariable(outputs) {
|
2969
|
-
return getOutputsByType(outputs,
|
2951
|
+
return getOutputsByType(outputs, import_transactions13.OutputType.Variable);
|
2970
2952
|
}
|
2971
2953
|
|
2972
2954
|
// src/providers/transaction-summary/types.ts
|
@@ -3013,11 +2995,11 @@ function getReceiptsByType(receipts, type) {
|
|
3013
2995
|
}
|
3014
2996
|
function getTransactionTypeName(transactionType) {
|
3015
2997
|
switch (transactionType) {
|
3016
|
-
case
|
2998
|
+
case import_transactions14.TransactionType.Mint:
|
3017
2999
|
return "Mint" /* Mint */;
|
3018
|
-
case
|
3000
|
+
case import_transactions14.TransactionType.Create:
|
3019
3001
|
return "Create" /* Create */;
|
3020
|
-
case
|
3002
|
+
case import_transactions14.TransactionType.Script:
|
3021
3003
|
return "Script" /* Script */;
|
3022
3004
|
default:
|
3023
3005
|
throw new import_errors11.FuelError(
|
@@ -3043,10 +3025,10 @@ function hasSameAssetId(a) {
|
|
3043
3025
|
return (b) => a.assetId === b.assetId;
|
3044
3026
|
}
|
3045
3027
|
function getReceiptsCall(receipts) {
|
3046
|
-
return getReceiptsByType(receipts,
|
3028
|
+
return getReceiptsByType(receipts, import_transactions14.ReceiptType.Call);
|
3047
3029
|
}
|
3048
3030
|
function getReceiptsMessageOut(receipts) {
|
3049
|
-
return getReceiptsByType(receipts,
|
3031
|
+
return getReceiptsByType(receipts, import_transactions14.ReceiptType.MessageOut);
|
3050
3032
|
}
|
3051
3033
|
var mergeAssets = (op1, op2) => {
|
3052
3034
|
const assets1 = op1.assetsSent || [];
|
@@ -3085,7 +3067,7 @@ function addOperation(operations, toAdd) {
|
|
3085
3067
|
return allOperations;
|
3086
3068
|
}
|
3087
3069
|
function getReceiptsTransferOut(receipts) {
|
3088
|
-
return getReceiptsByType(receipts,
|
3070
|
+
return getReceiptsByType(receipts, import_transactions14.ReceiptType.TransferOut);
|
3089
3071
|
}
|
3090
3072
|
function getWithdrawFromFuelOperations({
|
3091
3073
|
inputs,
|
@@ -3188,7 +3170,7 @@ function extractTransferOperationFromReceipt(receipt, contractInputs, changeOutp
|
|
3188
3170
|
const { to: toAddress, assetId, amount } = receipt;
|
3189
3171
|
let { from: fromAddress } = receipt;
|
3190
3172
|
const toType = contractInputs.some((input) => input.contractID === toAddress) ? 0 /* contract */ : 1 /* account */;
|
3191
|
-
if (
|
3173
|
+
if (import_configs10.ZeroBytes32 === fromAddress) {
|
3192
3174
|
const change = changeOutputs.find((output) => output.assetId === assetId);
|
3193
3175
|
fromAddress = change?.to || fromAddress;
|
3194
3176
|
}
|
@@ -3245,11 +3227,11 @@ function getTransferOperations({
|
|
3245
3227
|
});
|
3246
3228
|
const transferReceipts = getReceiptsByType(
|
3247
3229
|
receipts,
|
3248
|
-
|
3230
|
+
import_transactions14.ReceiptType.Transfer
|
3249
3231
|
);
|
3250
3232
|
const transferOutReceipts = getReceiptsByType(
|
3251
3233
|
receipts,
|
3252
|
-
|
3234
|
+
import_transactions14.ReceiptType.TransferOut
|
3253
3235
|
);
|
3254
3236
|
[...transferReceipts, ...transferOutReceipts].forEach((receipt) => {
|
3255
3237
|
const operation = extractTransferOperationFromReceipt(receipt, contractInputs, changeOutputs);
|
@@ -3334,17 +3316,17 @@ function getOperations({
|
|
3334
3316
|
}
|
3335
3317
|
|
3336
3318
|
// src/providers/transaction-summary/receipt.ts
|
3337
|
-
var
|
3319
|
+
var import_transactions15 = require("@fuel-ts/transactions");
|
3338
3320
|
var processGqlReceipt = (gqlReceipt) => {
|
3339
3321
|
const receipt = assembleReceiptByType(gqlReceipt);
|
3340
3322
|
switch (receipt.type) {
|
3341
|
-
case
|
3323
|
+
case import_transactions15.ReceiptType.ReturnData: {
|
3342
3324
|
return {
|
3343
3325
|
...receipt,
|
3344
3326
|
data: gqlReceipt.data || "0x"
|
3345
3327
|
};
|
3346
3328
|
}
|
3347
|
-
case
|
3329
|
+
case import_transactions15.ReceiptType.LogData: {
|
3348
3330
|
return {
|
3349
3331
|
...receipt,
|
3350
3332
|
data: gqlReceipt.data || "0x"
|
@@ -3357,7 +3339,7 @@ var processGqlReceipt = (gqlReceipt) => {
|
|
3357
3339
|
var extractMintedAssetsFromReceipts = (receipts) => {
|
3358
3340
|
const mintedAssets = [];
|
3359
3341
|
receipts.forEach((receipt) => {
|
3360
|
-
if (receipt.type ===
|
3342
|
+
if (receipt.type === import_transactions15.ReceiptType.Mint) {
|
3361
3343
|
mintedAssets.push({
|
3362
3344
|
subId: receipt.subId,
|
3363
3345
|
contractId: receipt.contractId,
|
@@ -3371,7 +3353,7 @@ var extractMintedAssetsFromReceipts = (receipts) => {
|
|
3371
3353
|
var extractBurnedAssetsFromReceipts = (receipts) => {
|
3372
3354
|
const burnedAssets = [];
|
3373
3355
|
receipts.forEach((receipt) => {
|
3374
|
-
if (receipt.type ===
|
3356
|
+
if (receipt.type === import_transactions15.ReceiptType.Burn) {
|
3375
3357
|
burnedAssets.push({
|
3376
3358
|
subId: receipt.subId,
|
3377
3359
|
contractId: receipt.contractId,
|
@@ -3510,12 +3492,12 @@ function assembleTransactionSummary(params) {
|
|
3510
3492
|
|
3511
3493
|
// src/providers/transaction-response/getDecodedLogs.ts
|
3512
3494
|
var import_abi_coder5 = require("@fuel-ts/abi-coder");
|
3513
|
-
var
|
3495
|
+
var import_transactions16 = require("@fuel-ts/transactions");
|
3514
3496
|
function getDecodedLogs(receipts, mainAbi, externalAbis = {}) {
|
3515
3497
|
return receipts.reduce((logs, receipt) => {
|
3516
|
-
if (receipt.type ===
|
3498
|
+
if (receipt.type === import_transactions16.ReceiptType.LogData || receipt.type === import_transactions16.ReceiptType.Log) {
|
3517
3499
|
const interfaceToUse = new import_abi_coder5.Interface(externalAbis[receipt.id] || mainAbi);
|
3518
|
-
const data = receipt.type ===
|
3500
|
+
const data = receipt.type === import_transactions16.ReceiptType.Log ? new import_abi_coder5.BigNumberCoder("u64").encode(receipt.val0) : receipt.data;
|
3519
3501
|
const [decodedLog] = interfaceToUse.decodeLog(data, receipt.val1.toNumber());
|
3520
3502
|
logs.push(decodedLog);
|
3521
3503
|
}
|
@@ -3588,7 +3570,7 @@ var TransactionResponse = class {
|
|
3588
3570
|
* @returns The decoded transaction.
|
3589
3571
|
*/
|
3590
3572
|
decodeTransaction(transactionWithReceipts) {
|
3591
|
-
return new
|
3573
|
+
return new import_transactions17.TransactionCoder().decode(
|
3592
3574
|
(0, import_utils21.arrayify)(transactionWithReceipts.rawPayload),
|
3593
3575
|
0
|
3594
3576
|
)?.[0];
|
@@ -3765,6 +3747,7 @@ var processGqlChain = (chain) => {
|
|
3765
3747
|
gasPerByte: (0, import_math15.bn)(feeParams.gasPerByte),
|
3766
3748
|
maxMessageDataLength: (0, import_math15.bn)(predicateParams.maxMessageDataLength),
|
3767
3749
|
chainId: (0, import_math15.bn)(consensusParameters.chainId),
|
3750
|
+
baseAssetId: consensusParameters.baseAssetId,
|
3768
3751
|
gasCosts
|
3769
3752
|
},
|
3770
3753
|
gasCosts,
|
@@ -4007,6 +3990,17 @@ var _Provider = class {
|
|
4007
3990
|
} = this.getChain();
|
4008
3991
|
return chainId.toNumber();
|
4009
3992
|
}
|
3993
|
+
/**
|
3994
|
+
* Returns the base asset ID
|
3995
|
+
*
|
3996
|
+
* @returns A promise that resolves to the base asset ID
|
3997
|
+
*/
|
3998
|
+
getBaseAssetId() {
|
3999
|
+
const {
|
4000
|
+
consensusParameters: { baseAssetId }
|
4001
|
+
} = this.getChain();
|
4002
|
+
return baseAssetId;
|
4003
|
+
}
|
4010
4004
|
/**
|
4011
4005
|
* Submits a transaction to the chain to be executed.
|
4012
4006
|
*
|
@@ -4025,7 +4019,7 @@ var _Provider = class {
|
|
4025
4019
|
}
|
4026
4020
|
const encodedTransaction = (0, import_utils23.hexlify)(transactionRequest.toTransactionBytes());
|
4027
4021
|
let abis;
|
4028
|
-
if (transactionRequest.type ===
|
4022
|
+
if (transactionRequest.type === import_transactions18.TransactionType.Script) {
|
4029
4023
|
abis = transactionRequest.abis;
|
4030
4024
|
}
|
4031
4025
|
if (awaitExecution) {
|
@@ -4121,7 +4115,7 @@ var _Provider = class {
|
|
4121
4115
|
* @returns A promise.
|
4122
4116
|
*/
|
4123
4117
|
async estimateTxDependencies(transactionRequest) {
|
4124
|
-
if (transactionRequest.type ===
|
4118
|
+
if (transactionRequest.type === import_transactions18.TransactionType.Create) {
|
4125
4119
|
return {
|
4126
4120
|
receipts: [],
|
4127
4121
|
outputVariables: 0,
|
@@ -4170,7 +4164,7 @@ var _Provider = class {
|
|
4170
4164
|
transactionRequest.gasPrice = gasPrice;
|
4171
4165
|
const minGas = transactionRequest.calculateMinGas(chainInfo);
|
4172
4166
|
const minFee = calculatePriceWithFactor(minGas, gasPrice, gasPriceFactor).normalizeZeroToOne();
|
4173
|
-
if (transactionRequest.type ===
|
4167
|
+
if (transactionRequest.type === import_transactions18.TransactionType.Script) {
|
4174
4168
|
if (transactionRequest.gasLimit.eq(0)) {
|
4175
4169
|
transactionRequest.gasLimit = minGas;
|
4176
4170
|
transactionRequest.gasLimit = maxGasPerTx.sub(
|
@@ -4236,7 +4230,7 @@ var _Provider = class {
|
|
4236
4230
|
const txRequestClone = (0, import_ramda3.clone)(transactionRequestify(transactionRequestLike));
|
4237
4231
|
const { minGasPrice } = this.getGasConfig();
|
4238
4232
|
const setGasPrice = (0, import_math15.max)(txRequestClone.gasPrice, minGasPrice);
|
4239
|
-
const isScriptTransaction = txRequestClone.type ===
|
4233
|
+
const isScriptTransaction = txRequestClone.type === import_transactions18.TransactionType.Script;
|
4240
4234
|
const coinOutputsQuantities = txRequestClone.getCoinOutputsQuantities();
|
4241
4235
|
const allQuantities = mergeQuantities(coinOutputsQuantities, forwardingQuantities);
|
4242
4236
|
txRequestClone.fundWithFakeUtxos(allQuantities, resourcesOwner?.address);
|
@@ -4452,7 +4446,7 @@ var _Provider = class {
|
|
4452
4446
|
time: block.header.time,
|
4453
4447
|
transactionIds: block.transactions.map((tx) => tx.id),
|
4454
4448
|
transactions: block.transactions.map(
|
4455
|
-
(tx) => new
|
4449
|
+
(tx) => new import_transactions18.TransactionCoder().decode((0, import_utils23.arrayify)(tx.rawPayload), 0)?.[0]
|
4456
4450
|
)
|
4457
4451
|
};
|
4458
4452
|
}
|
@@ -4467,7 +4461,7 @@ var _Provider = class {
|
|
4467
4461
|
if (!transaction) {
|
4468
4462
|
return null;
|
4469
4463
|
}
|
4470
|
-
return new
|
4464
|
+
return new import_transactions18.TransactionCoder().decode(
|
4471
4465
|
(0, import_utils23.arrayify)(transaction.rawPayload),
|
4472
4466
|
0
|
4473
4467
|
)?.[0];
|
@@ -4547,7 +4541,7 @@ var _Provider = class {
|
|
4547
4541
|
});
|
4548
4542
|
const messages = result.messages.edges.map((edge) => edge.node);
|
4549
4543
|
return messages.map((message) => ({
|
4550
|
-
messageId:
|
4544
|
+
messageId: import_transactions18.InputMessageCoder.getMessageId({
|
4551
4545
|
sender: message.sender,
|
4552
4546
|
recipient: message.recipient,
|
4553
4547
|
nonce: message.nonce,
|
@@ -4558,7 +4552,7 @@ var _Provider = class {
|
|
4558
4552
|
recipient: import_address3.Address.fromAddressOrString(message.recipient),
|
4559
4553
|
nonce: message.nonce,
|
4560
4554
|
amount: (0, import_math15.bn)(message.amount),
|
4561
|
-
data:
|
4555
|
+
data: import_transactions18.InputMessageCoder.decodeData(message.data),
|
4562
4556
|
daHeight: (0, import_math15.bn)(message.daHeight)
|
4563
4557
|
}));
|
4564
4558
|
}
|
@@ -4686,7 +4680,7 @@ cacheInputs_fn = function(inputs) {
|
|
4686
4680
|
return;
|
4687
4681
|
}
|
4688
4682
|
inputs.forEach((input) => {
|
4689
|
-
if (input.type ===
|
4683
|
+
if (input.type === import_transactions18.InputType.Coin) {
|
4690
4684
|
this.cache?.set(input.id);
|
4691
4685
|
}
|
4692
4686
|
});
|
@@ -4697,7 +4691,7 @@ __publicField(Provider, "nodeInfoCache", {});
|
|
4697
4691
|
// src/providers/transaction-summary/get-transaction-summary.ts
|
4698
4692
|
var import_errors15 = require("@fuel-ts/errors");
|
4699
4693
|
var import_math16 = require("@fuel-ts/math");
|
4700
|
-
var
|
4694
|
+
var import_transactions19 = require("@fuel-ts/transactions");
|
4701
4695
|
var import_utils26 = require("@fuel-ts/utils");
|
4702
4696
|
async function getTransactionSummary(params) {
|
4703
4697
|
const { id, provider, abiMap } = params;
|
@@ -4710,7 +4704,7 @@ async function getTransactionSummary(params) {
|
|
4710
4704
|
`Transaction not found for given id: ${id}.`
|
4711
4705
|
);
|
4712
4706
|
}
|
4713
|
-
const [decodedTransaction] = new
|
4707
|
+
const [decodedTransaction] = new import_transactions19.TransactionCoder().decode(
|
4714
4708
|
(0, import_utils26.arrayify)(gqlTransaction.rawPayload),
|
4715
4709
|
0
|
4716
4710
|
);
|
@@ -4764,7 +4758,7 @@ async function getTransactionsSummaries(params) {
|
|
4764
4758
|
const transactions = edges.map((edge) => {
|
4765
4759
|
const { node: gqlTransaction } = edge;
|
4766
4760
|
const { id, rawPayload, receipts: gqlReceipts, status } = gqlTransaction;
|
4767
|
-
const [decodedTransaction] = new
|
4761
|
+
const [decodedTransaction] = new import_transactions19.TransactionCoder().decode((0, import_utils26.arrayify)(rawPayload), 0);
|
4768
4762
|
const receipts = gqlReceipts?.map(processGqlReceipt) || [];
|
4769
4763
|
const transactionSummary = assembleTransactionSummary({
|
4770
4764
|
id,
|
@@ -5070,8 +5064,9 @@ var Account = class extends import_interfaces.AbstractAccount {
|
|
5070
5064
|
* @param assetId - The asset ID to check the balance for.
|
5071
5065
|
* @returns A promise that resolves to the balance amount.
|
5072
5066
|
*/
|
5073
|
-
async getBalance(assetId
|
5074
|
-
const
|
5067
|
+
async getBalance(assetId) {
|
5068
|
+
const assetIdToFetch = assetId ?? this.provider.getBaseAssetId();
|
5069
|
+
const amount = await this.provider.getBalance(this.address, assetIdToFetch);
|
5075
5070
|
return amount;
|
5076
5071
|
}
|
5077
5072
|
/**
|
@@ -5109,9 +5104,10 @@ var Account = class extends import_interfaces.AbstractAccount {
|
|
5109
5104
|
* @returns A promise that resolves when the resources are added to the transaction.
|
5110
5105
|
*/
|
5111
5106
|
async fund(request, coinQuantities, fee) {
|
5107
|
+
const baseAssetId = this.provider.getBaseAssetId();
|
5112
5108
|
const updatedQuantities = addAmountToAsset({
|
5113
5109
|
amount: (0, import_math18.bn)(fee),
|
5114
|
-
assetId:
|
5110
|
+
assetId: baseAssetId,
|
5115
5111
|
coinQuantities
|
5116
5112
|
});
|
5117
5113
|
const quantitiesDict = {};
|
@@ -5135,8 +5131,8 @@ var Account = class extends import_interfaces.AbstractAccount {
|
|
5135
5131
|
quantitiesDict[assetId].owned = quantitiesDict[assetId].owned.add(amount);
|
5136
5132
|
cachedUtxos.push(input.id);
|
5137
5133
|
}
|
5138
|
-
} else if (input.recipient === owner && input.amount && quantitiesDict[
|
5139
|
-
quantitiesDict[
|
5134
|
+
} else if (input.recipient === owner && input.amount && quantitiesDict[baseAssetId]) {
|
5135
|
+
quantitiesDict[baseAssetId].owned = quantitiesDict[baseAssetId].owned.add(input.amount);
|
5140
5136
|
cachedMessages.push(input.nonce);
|
5141
5137
|
}
|
5142
5138
|
}
|
@@ -5168,11 +5164,13 @@ var Account = class extends import_interfaces.AbstractAccount {
|
|
5168
5164
|
* @param txParams - The transaction parameters (gasLimit, gasPrice, maturity).
|
5169
5165
|
* @returns A promise that resolves to the prepared transaction request.
|
5170
5166
|
*/
|
5171
|
-
async createTransfer(destination, amount, assetId
|
5167
|
+
async createTransfer(destination, amount, assetId, txParams = {}) {
|
5172
5168
|
const { minGasPrice } = this.provider.getGasConfig();
|
5173
|
-
const
|
5169
|
+
const baseAssetId = this.provider.getBaseAssetId();
|
5170
|
+
const assetIdToTransfer = assetId ?? this.provider.getBaseAssetId();
|
5171
|
+
const params = { gasPrice: minGasPrice, baseAssetId, ...txParams };
|
5174
5172
|
const request = new ScriptTransactionRequest(params);
|
5175
|
-
request.addCoinOutput(import_address4.Address.fromAddressOrString(destination), amount,
|
5173
|
+
request.addCoinOutput(import_address4.Address.fromAddressOrString(destination), amount, assetIdToTransfer);
|
5176
5174
|
const { maxFee, requiredQuantities, gasUsed, estimatedInputs } = await this.provider.getTransactionCost(request, [], {
|
5177
5175
|
estimateTxDependencies: true,
|
5178
5176
|
resourcesOwner: this
|
@@ -5198,14 +5196,15 @@ var Account = class extends import_interfaces.AbstractAccount {
|
|
5198
5196
|
* @param txParams - The transaction parameters (gasLimit, gasPrice, maturity).
|
5199
5197
|
* @returns A promise that resolves to the transaction response.
|
5200
5198
|
*/
|
5201
|
-
async transfer(destination, amount, assetId
|
5199
|
+
async transfer(destination, amount, assetId, txParams = {}) {
|
5202
5200
|
if ((0, import_math18.bn)(amount).lte(0)) {
|
5203
5201
|
throw new import_errors16.FuelError(
|
5204
5202
|
import_errors16.ErrorCode.INVALID_TRANSFER_AMOUNT,
|
5205
5203
|
"Transfer amount must be a positive number."
|
5206
5204
|
);
|
5207
5205
|
}
|
5208
|
-
const
|
5206
|
+
const assetIdToTransfer = assetId ?? this.provider.getBaseAssetId();
|
5207
|
+
const request = await this.createTransfer(destination, amount, assetIdToTransfer, txParams);
|
5209
5208
|
return this.sendTransaction(request, { estimateTxDependencies: false });
|
5210
5209
|
}
|
5211
5210
|
/**
|
@@ -5217,7 +5216,7 @@ var Account = class extends import_interfaces.AbstractAccount {
|
|
5217
5216
|
* @param txParams - The optional transaction parameters.
|
5218
5217
|
* @returns A promise that resolves to the transaction response.
|
5219
5218
|
*/
|
5220
|
-
async transferToContract(contractId, amount, assetId
|
5219
|
+
async transferToContract(contractId, amount, assetId, txParams = {}) {
|
5221
5220
|
if ((0, import_math18.bn)(amount).lte(0)) {
|
5222
5221
|
throw new import_errors16.FuelError(
|
5223
5222
|
import_errors16.ErrorCode.INVALID_TRANSFER_AMOUNT,
|
@@ -5226,11 +5225,13 @@ var Account = class extends import_interfaces.AbstractAccount {
|
|
5226
5225
|
}
|
5227
5226
|
const contractAddress = import_address4.Address.fromAddressOrString(contractId);
|
5228
5227
|
const { minGasPrice } = this.provider.getGasConfig();
|
5229
|
-
const
|
5228
|
+
const baseAssetId = this.provider.getBaseAssetId();
|
5229
|
+
const assetIdToTransfer = assetId ?? this.provider.getBaseAssetId();
|
5230
|
+
const params = { gasPrice: minGasPrice, baseAssetId, ...txParams };
|
5230
5231
|
const { script, scriptData } = await assembleTransferToContractScript({
|
5231
5232
|
hexlifiedContractId: contractAddress.toB256(),
|
5232
5233
|
amountToTransfer: (0, import_math18.bn)(amount),
|
5233
|
-
assetId
|
5234
|
+
assetId: assetIdToTransfer
|
5234
5235
|
});
|
5235
5236
|
const request = new ScriptTransactionRequest({
|
5236
5237
|
...params,
|
@@ -5240,7 +5241,7 @@ var Account = class extends import_interfaces.AbstractAccount {
|
|
5240
5241
|
request.addContractInputAndOutput(contractAddress);
|
5241
5242
|
const { maxFee, requiredQuantities, gasUsed } = await this.provider.getTransactionCost(
|
5242
5243
|
request,
|
5243
|
-
[{ amount: (0, import_math18.bn)(amount), assetId: String(
|
5244
|
+
[{ amount: (0, import_math18.bn)(amount), assetId: String(assetIdToTransfer) }]
|
5244
5245
|
);
|
5245
5246
|
request.gasLimit = (0, import_math18.bn)(params.gasLimit ?? gasUsed);
|
5246
5247
|
this.validateGas({
|
@@ -5262,6 +5263,7 @@ var Account = class extends import_interfaces.AbstractAccount {
|
|
5262
5263
|
*/
|
5263
5264
|
async withdrawToBaseLayer(recipient, amount, txParams = {}) {
|
5264
5265
|
const { minGasPrice } = this.provider.getGasConfig();
|
5266
|
+
const baseAssetId = this.provider.getBaseAssetId();
|
5265
5267
|
const recipientAddress = import_address4.Address.fromAddressOrString(recipient);
|
5266
5268
|
const recipientDataArray = (0, import_utils28.arrayify)(
|
5267
5269
|
"0x".concat(recipientAddress.toHexString().substring(2).padStart(64, "0"))
|
@@ -5274,9 +5276,14 @@ var Account = class extends import_interfaces.AbstractAccount {
|
|
5274
5276
|
...recipientDataArray,
|
5275
5277
|
...amountDataArray
|
5276
5278
|
]);
|
5277
|
-
const params = {
|
5279
|
+
const params = {
|
5280
|
+
script,
|
5281
|
+
gasPrice: minGasPrice,
|
5282
|
+
baseAssetId,
|
5283
|
+
...txParams
|
5284
|
+
};
|
5278
5285
|
const request = new ScriptTransactionRequest(params);
|
5279
|
-
const forwardingQuantities = [{ amount: (0, import_math18.bn)(amount), assetId:
|
5286
|
+
const forwardingQuantities = [{ amount: (0, import_math18.bn)(amount), assetId: baseAssetId }];
|
5280
5287
|
const { requiredQuantities, maxFee, gasUsed } = await this.provider.getTransactionCost(
|
5281
5288
|
request,
|
5282
5289
|
forwardingQuantities
|
@@ -8839,9 +8846,8 @@ var StorageAbstract = class {
|
|
8839
8846
|
// src/predicate/predicate.ts
|
8840
8847
|
var import_abi_coder7 = require("@fuel-ts/abi-coder");
|
8841
8848
|
var import_address10 = require("@fuel-ts/address");
|
8842
|
-
var import_configs13 = require("@fuel-ts/address/configs");
|
8843
8849
|
var import_errors25 = require("@fuel-ts/errors");
|
8844
|
-
var
|
8850
|
+
var import_transactions20 = require("@fuel-ts/transactions");
|
8845
8851
|
var import_utils37 = require("@fuel-ts/utils");
|
8846
8852
|
|
8847
8853
|
// src/predicate/utils/getPredicateRoot.ts
|
@@ -8900,15 +8906,10 @@ var Predicate = class extends Account {
|
|
8900
8906
|
populateTransactionPredicateData(transactionRequestLike) {
|
8901
8907
|
const request = transactionRequestify(transactionRequestLike);
|
8902
8908
|
const { policies } = BaseTransactionRequest.getPolicyMeta(request);
|
8903
|
-
|
8904
|
-
|
8905
|
-
request.removeWitness(placeholderIndex);
|
8906
|
-
}
|
8907
|
-
request.inputs.filter(isRequestInputResource).forEach((input) => {
|
8908
|
-
if (isRequestInputResourceFromOwner(input, this.address)) {
|
8909
|
+
request.inputs?.forEach((input) => {
|
8910
|
+
if (input.type === import_transactions20.InputType.Coin && (0, import_utils37.hexlify)(input.owner) === this.address.toB256()) {
|
8909
8911
|
input.predicate = this.bytes;
|
8910
8912
|
input.predicateData = this.getPredicateData(policies.length);
|
8911
|
-
input.witnessIndex = 0;
|
8912
8913
|
}
|
8913
8914
|
});
|
8914
8915
|
return request;
|
@@ -8922,8 +8923,9 @@ var Predicate = class extends Account {
|
|
8922
8923
|
* @param txParams - The transaction parameters (gasLimit, gasPrice, maturity).
|
8923
8924
|
* @returns A promise that resolves to the prepared transaction request.
|
8924
8925
|
*/
|
8925
|
-
async createTransfer(destination, amount, assetId
|
8926
|
-
const
|
8926
|
+
async createTransfer(destination, amount, assetId, txParams = {}) {
|
8927
|
+
const assetIdToTransfer = assetId ?? this.provider.getBaseAssetId();
|
8928
|
+
const request = await super.createTransfer(destination, amount, assetIdToTransfer, txParams);
|
8927
8929
|
return this.populateTransactionPredicateData(request);
|
8928
8930
|
}
|
8929
8931
|
/**
|
@@ -8946,26 +8948,12 @@ var Predicate = class extends Account {
|
|
8946
8948
|
const transactionRequest = this.populateTransactionPredicateData(transactionRequestLike);
|
8947
8949
|
return super.simulateTransaction(transactionRequest);
|
8948
8950
|
}
|
8949
|
-
/**
|
8950
|
-
* Retrieves resources satisfying the spend query for the account.
|
8951
|
-
*
|
8952
|
-
* @param quantities - Coins to retrieve.
|
8953
|
-
* @param excludedIds - IDs of resources to be excluded from the query.
|
8954
|
-
* @returns A promise that resolves to an array of Resources.
|
8955
|
-
*/
|
8956
|
-
async getResourcesToSpend(quantities, excludedIds) {
|
8957
|
-
const resources = await super.getResourcesToSpend(quantities, excludedIds);
|
8958
|
-
return resources.map((resource) => ({
|
8959
|
-
...resource,
|
8960
|
-
predicate: (0, import_utils37.hexlify)(this.bytes)
|
8961
|
-
}));
|
8962
|
-
}
|
8963
8951
|
getPredicateData(policiesLength) {
|
8964
8952
|
if (!this.predicateData.length) {
|
8965
8953
|
return new Uint8Array();
|
8966
8954
|
}
|
8967
8955
|
const mainFn = this.interface?.functions.main;
|
8968
|
-
const paddedCode = new
|
8956
|
+
const paddedCode = new import_transactions20.ByteArrayCoder(this.bytes.length).encode(this.bytes);
|
8969
8957
|
const VM_TX_MEMORY = (0, import_abi_coder7.calculateVmTxMemory)({
|
8970
8958
|
maxInputs: this.provider.getChain().consensusParameters.maxInputs.toNumber()
|
8971
8959
|
});
|
@@ -9039,28 +9027,6 @@ var Predicate = class extends Account {
|
|
9039
9027
|
}
|
9040
9028
|
return mutatedBytes;
|
9041
9029
|
}
|
9042
|
-
/**
|
9043
|
-
* Returns the index of the witness placeholder that was added to this predicate.
|
9044
|
-
* If no witness placeholder was added, it returns -1.
|
9045
|
-
* @param request - The transaction request.
|
9046
|
-
* @returns The index of the witness placeholder, or -1 if there is no witness placeholder.
|
9047
|
-
*/
|
9048
|
-
getIndexFromPlaceholderWitness(request) {
|
9049
|
-
const predicateInputs = request.inputs.filter(isRequestInputResource).filter((input) => isRequestInputResourceFromOwner(input, this.address));
|
9050
|
-
let index = -1;
|
9051
|
-
const hasEmptyPredicateInputs = predicateInputs.find((input) => !input.predicate);
|
9052
|
-
if (hasEmptyPredicateInputs) {
|
9053
|
-
index = hasEmptyPredicateInputs.witnessIndex;
|
9054
|
-
const allInputsAreEmpty = predicateInputs.every((input) => !input.predicate);
|
9055
|
-
if (!allInputsAreEmpty) {
|
9056
|
-
const wasFilledInputAddedFirst = !!predicateInputs[0]?.predicate;
|
9057
|
-
if (wasFilledInputAddedFirst) {
|
9058
|
-
index = -1;
|
9059
|
-
}
|
9060
|
-
}
|
9061
|
-
}
|
9062
|
-
return index;
|
9063
|
-
}
|
9064
9030
|
};
|
9065
9031
|
|
9066
9032
|
// src/connectors/fuel.ts
|
@@ -9784,7 +9750,6 @@ __publicField(Fuel, "defaultConfig", {});
|
|
9784
9750
|
assets,
|
9785
9751
|
buildBlockExplorerUrl,
|
9786
9752
|
cacheFor,
|
9787
|
-
cacheResources,
|
9788
9753
|
calculateMetadataGasForTxCreate,
|
9789
9754
|
calculateMetadataGasForTxScript,
|
9790
9755
|
calculatePriceWithFactor,
|
@@ -9831,7 +9796,6 @@ __publicField(Fuel, "defaultConfig", {});
|
|
9831
9796
|
getReceiptsMessageOut,
|
9832
9797
|
getReceiptsTransferOut,
|
9833
9798
|
getReceiptsWithMissingData,
|
9834
|
-
getRequestInputResourceOwner,
|
9835
9799
|
getTransactionStatusName,
|
9836
9800
|
getTransactionSummary,
|
9837
9801
|
getTransactionSummaryFromRequest,
|
@@ -9845,10 +9809,6 @@ __publicField(Fuel, "defaultConfig", {});
|
|
9845
9809
|
isMessage,
|
9846
9810
|
isRawCoin,
|
9847
9811
|
isRawMessage,
|
9848
|
-
isRequestInputCoin,
|
9849
|
-
isRequestInputMessage,
|
9850
|
-
isRequestInputResource,
|
9851
|
-
isRequestInputResourceFromOwner,
|
9852
9812
|
isType,
|
9853
9813
|
isTypeCreate,
|
9854
9814
|
isTypeMint,
|