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