@fuel-ts/account 0.0.0-rc-2037-20240417131250 → 0.0.0-rc-1976-20240417161625
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 -124
- package/dist/index.global.js.map +1 -1
- package/dist/index.js +241 -280
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +126 -159
- package/dist/index.mjs.map +1 -1
- package/dist/predicate/predicate.d.ts +2 -11
- 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,33 +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) => {
|
1822
|
-
if (isRequestInputCoin(input)) {
|
1823
|
-
return input.owner;
|
1824
|
-
}
|
1825
|
-
return input.recipient;
|
1826
|
-
};
|
1827
|
-
var isRequestInputResourceFromOwner = (input, owner) => getRequestInputResourceOwner(input) === owner.toB256();
|
1828
|
-
var cacheResources = (resources) => resources.reduce(
|
1829
|
-
(cache2, resource) => {
|
1830
|
-
if (isCoin(resource)) {
|
1831
|
-
cache2.utxos.push(resource.id);
|
1832
|
-
} else {
|
1833
|
-
cache2.messages.push(resource.nonce);
|
1834
|
-
}
|
1835
|
-
return cache2;
|
1836
|
-
},
|
1837
|
-
{
|
1838
|
-
utxos: [],
|
1839
|
-
messages: []
|
1840
|
-
}
|
1841
|
-
);
|
1842
|
-
|
1843
1808
|
// src/providers/transaction-request/witness.ts
|
1844
1809
|
var import_utils8 = require("@fuel-ts/utils");
|
1845
1810
|
var witnessify = (value) => {
|
@@ -1866,6 +1831,8 @@ var BaseTransactionRequest = class {
|
|
1866
1831
|
outputs = [];
|
1867
1832
|
/** List of witnesses */
|
1868
1833
|
witnesses = [];
|
1834
|
+
/** Base asset ID - should be fetched from the chain */
|
1835
|
+
baseAssetId;
|
1869
1836
|
/**
|
1870
1837
|
* Constructor for initializing a base transaction request.
|
1871
1838
|
*
|
@@ -1878,8 +1845,9 @@ var BaseTransactionRequest = class {
|
|
1878
1845
|
witnessLimit,
|
1879
1846
|
inputs,
|
1880
1847
|
outputs,
|
1881
|
-
witnesses
|
1882
|
-
|
1848
|
+
witnesses,
|
1849
|
+
baseAssetId
|
1850
|
+
}) {
|
1883
1851
|
this.gasPrice = (0, import_math7.bn)(gasPrice);
|
1884
1852
|
this.maturity = maturity ?? 0;
|
1885
1853
|
this.witnessLimit = witnessLimit ? (0, import_math7.bn)(witnessLimit) : void 0;
|
@@ -1887,25 +1855,26 @@ var BaseTransactionRequest = class {
|
|
1887
1855
|
this.inputs = inputs ?? [];
|
1888
1856
|
this.outputs = outputs ?? [];
|
1889
1857
|
this.witnesses = witnesses ?? [];
|
1858
|
+
this.baseAssetId = baseAssetId;
|
1890
1859
|
}
|
1891
1860
|
static getPolicyMeta(req) {
|
1892
1861
|
let policyTypes = 0;
|
1893
1862
|
const policies = [];
|
1894
1863
|
if (req.gasPrice) {
|
1895
|
-
policyTypes +=
|
1896
|
-
policies.push({ data: req.gasPrice, type:
|
1864
|
+
policyTypes += import_transactions6.PolicyType.GasPrice;
|
1865
|
+
policies.push({ data: req.gasPrice, type: import_transactions6.PolicyType.GasPrice });
|
1897
1866
|
}
|
1898
1867
|
if (req.witnessLimit) {
|
1899
|
-
policyTypes +=
|
1900
|
-
policies.push({ data: req.witnessLimit, type:
|
1868
|
+
policyTypes += import_transactions6.PolicyType.WitnessLimit;
|
1869
|
+
policies.push({ data: req.witnessLimit, type: import_transactions6.PolicyType.WitnessLimit });
|
1901
1870
|
}
|
1902
1871
|
if (req.maturity > 0) {
|
1903
|
-
policyTypes +=
|
1904
|
-
policies.push({ data: req.maturity, type:
|
1872
|
+
policyTypes += import_transactions6.PolicyType.Maturity;
|
1873
|
+
policies.push({ data: req.maturity, type: import_transactions6.PolicyType.Maturity });
|
1905
1874
|
}
|
1906
1875
|
if (req.maxFee) {
|
1907
|
-
policyTypes +=
|
1908
|
-
policies.push({ data: req.maxFee, type:
|
1876
|
+
policyTypes += import_transactions6.PolicyType.MaxFee;
|
1877
|
+
policies.push({ data: req.maxFee, type: import_transactions6.PolicyType.MaxFee });
|
1909
1878
|
}
|
1910
1879
|
return {
|
1911
1880
|
policyTypes,
|
@@ -1939,7 +1908,7 @@ var BaseTransactionRequest = class {
|
|
1939
1908
|
* @returns The transaction bytes.
|
1940
1909
|
*/
|
1941
1910
|
toTransactionBytes() {
|
1942
|
-
return new
|
1911
|
+
return new import_transactions6.TransactionCoder().encode(this.toTransaction());
|
1943
1912
|
}
|
1944
1913
|
/**
|
1945
1914
|
* @hidden
|
@@ -1979,7 +1948,7 @@ var BaseTransactionRequest = class {
|
|
1979
1948
|
* @returns The index of the created witness.
|
1980
1949
|
*/
|
1981
1950
|
addEmptyWitness() {
|
1982
|
-
this.addWitness((0, import_utils9.concat)([
|
1951
|
+
this.addWitness((0, import_utils9.concat)([import_configs6.ZeroBytes32, import_configs6.ZeroBytes32]));
|
1983
1952
|
return this.witnesses.length - 1;
|
1984
1953
|
}
|
1985
1954
|
/**
|
@@ -2030,7 +1999,7 @@ var BaseTransactionRequest = class {
|
|
2030
1999
|
*/
|
2031
2000
|
getCoinInputs() {
|
2032
2001
|
return this.inputs.filter(
|
2033
|
-
(input) => input.type ===
|
2002
|
+
(input) => input.type === import_transactions6.InputType.Coin
|
2034
2003
|
);
|
2035
2004
|
}
|
2036
2005
|
/**
|
@@ -2040,7 +2009,7 @@ var BaseTransactionRequest = class {
|
|
2040
2009
|
*/
|
2041
2010
|
getCoinOutputs() {
|
2042
2011
|
return this.outputs.filter(
|
2043
|
-
(output) => output.type ===
|
2012
|
+
(output) => output.type === import_transactions6.OutputType.Coin
|
2044
2013
|
);
|
2045
2014
|
}
|
2046
2015
|
/**
|
@@ -2050,7 +2019,7 @@ var BaseTransactionRequest = class {
|
|
2050
2019
|
*/
|
2051
2020
|
getChangeOutputs() {
|
2052
2021
|
return this.outputs.filter(
|
2053
|
-
(output) => output.type ===
|
2022
|
+
(output) => output.type === import_transactions6.OutputType.Change
|
2054
2023
|
);
|
2055
2024
|
}
|
2056
2025
|
/**
|
@@ -2062,9 +2031,9 @@ var BaseTransactionRequest = class {
|
|
2062
2031
|
const ownerAddress = (0, import_address.addressify)(owner);
|
2063
2032
|
const found = this.inputs.find((input) => {
|
2064
2033
|
switch (input.type) {
|
2065
|
-
case
|
2034
|
+
case import_transactions6.InputType.Coin:
|
2066
2035
|
return (0, import_utils9.hexlify)(input.owner) === ownerAddress.toB256();
|
2067
|
-
case
|
2036
|
+
case import_transactions6.InputType.Message:
|
2068
2037
|
return (0, import_utils9.hexlify)(input.recipient) === ownerAddress.toB256();
|
2069
2038
|
default:
|
2070
2039
|
return false;
|
@@ -2080,8 +2049,8 @@ var BaseTransactionRequest = class {
|
|
2080
2049
|
* @param predicate - Predicate bytes.
|
2081
2050
|
* @param predicateData - Predicate data bytes.
|
2082
2051
|
*/
|
2083
|
-
addCoinInput(coin) {
|
2084
|
-
const { assetId, owner, amount
|
2052
|
+
addCoinInput(coin, predicate) {
|
2053
|
+
const { assetId, owner, amount } = coin;
|
2085
2054
|
let witnessIndex;
|
2086
2055
|
if (predicate) {
|
2087
2056
|
witnessIndex = 0;
|
@@ -2092,14 +2061,14 @@ var BaseTransactionRequest = class {
|
|
2092
2061
|
}
|
2093
2062
|
}
|
2094
2063
|
const input = {
|
2095
|
-
|
2096
|
-
type:
|
2064
|
+
...coin,
|
2065
|
+
type: import_transactions6.InputType.Coin,
|
2097
2066
|
owner: owner.toB256(),
|
2098
2067
|
amount,
|
2099
2068
|
assetId,
|
2100
2069
|
txPointer: "0x00000000000000000000000000000000",
|
2101
2070
|
witnessIndex,
|
2102
|
-
predicate
|
2071
|
+
predicate: predicate?.bytes
|
2103
2072
|
};
|
2104
2073
|
this.pushInput(input);
|
2105
2074
|
this.addChangeOutput(owner, assetId);
|
@@ -2110,11 +2079,9 @@ var BaseTransactionRequest = class {
|
|
2110
2079
|
*
|
2111
2080
|
* @param message - Message resource.
|
2112
2081
|
* @param predicate - Predicate bytes.
|
2113
|
-
* @param predicateData - Predicate data bytes.
|
2114
2082
|
*/
|
2115
|
-
addMessageInput(message) {
|
2116
|
-
const { recipient, sender, amount
|
2117
|
-
const assetId = import_configs7.BaseAssetId;
|
2083
|
+
addMessageInput(message, predicate) {
|
2084
|
+
const { recipient, sender, amount } = message;
|
2118
2085
|
let witnessIndex;
|
2119
2086
|
if (predicate) {
|
2120
2087
|
witnessIndex = 0;
|
@@ -2125,16 +2092,16 @@ var BaseTransactionRequest = class {
|
|
2125
2092
|
}
|
2126
2093
|
}
|
2127
2094
|
const input = {
|
2128
|
-
|
2129
|
-
type:
|
2095
|
+
...message,
|
2096
|
+
type: import_transactions6.InputType.Message,
|
2130
2097
|
sender: sender.toB256(),
|
2131
2098
|
recipient: recipient.toB256(),
|
2132
2099
|
amount,
|
2133
2100
|
witnessIndex,
|
2134
|
-
predicate
|
2101
|
+
predicate: predicate?.bytes
|
2135
2102
|
};
|
2136
2103
|
this.pushInput(input);
|
2137
|
-
this.addChangeOutput(recipient,
|
2104
|
+
this.addChangeOutput(recipient, this.baseAssetId);
|
2138
2105
|
}
|
2139
2106
|
/**
|
2140
2107
|
* Adds a single resource to the transaction by adding a coin/message input and a
|
@@ -2162,6 +2129,32 @@ var BaseTransactionRequest = class {
|
|
2162
2129
|
resources.forEach((resource) => this.addResource(resource));
|
2163
2130
|
return this;
|
2164
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
|
+
}
|
2165
2158
|
/**
|
2166
2159
|
* Adds a coin output to the transaction.
|
2167
2160
|
*
|
@@ -2169,12 +2162,12 @@ var BaseTransactionRequest = class {
|
|
2169
2162
|
* @param amount - Amount of coin.
|
2170
2163
|
* @param assetId - Asset ID of coin.
|
2171
2164
|
*/
|
2172
|
-
addCoinOutput(to, amount, assetId
|
2165
|
+
addCoinOutput(to, amount, assetId) {
|
2173
2166
|
this.pushOutput({
|
2174
|
-
type:
|
2167
|
+
type: import_transactions6.OutputType.Coin,
|
2175
2168
|
to: (0, import_address.addressify)(to).toB256(),
|
2176
2169
|
amount,
|
2177
|
-
assetId
|
2170
|
+
assetId: assetId ?? this.baseAssetId
|
2178
2171
|
});
|
2179
2172
|
return this;
|
2180
2173
|
}
|
@@ -2187,7 +2180,7 @@ var BaseTransactionRequest = class {
|
|
2187
2180
|
addCoinOutputs(to, quantities) {
|
2188
2181
|
quantities.map(coinQuantityfy).forEach((quantity) => {
|
2189
2182
|
this.pushOutput({
|
2190
|
-
type:
|
2183
|
+
type: import_transactions6.OutputType.Coin,
|
2191
2184
|
to: (0, import_address.addressify)(to).toB256(),
|
2192
2185
|
amount: quantity.amount,
|
2193
2186
|
assetId: quantity.assetId
|
@@ -2201,15 +2194,15 @@ var BaseTransactionRequest = class {
|
|
2201
2194
|
* @param to - Address of the owner.
|
2202
2195
|
* @param assetId - Asset ID of coin.
|
2203
2196
|
*/
|
2204
|
-
addChangeOutput(to, assetId
|
2197
|
+
addChangeOutput(to, assetId) {
|
2205
2198
|
const changeOutput = this.getChangeOutputs().find(
|
2206
2199
|
(output) => (0, import_utils9.hexlify)(output.assetId) === assetId
|
2207
2200
|
);
|
2208
2201
|
if (!changeOutput) {
|
2209
2202
|
this.pushOutput({
|
2210
|
-
type:
|
2203
|
+
type: import_transactions6.OutputType.Change,
|
2211
2204
|
to: (0, import_address.addressify)(to).toB256(),
|
2212
|
-
assetId
|
2205
|
+
assetId: assetId ?? this.baseAssetId
|
2213
2206
|
});
|
2214
2207
|
}
|
2215
2208
|
}
|
@@ -2285,7 +2278,7 @@ var BaseTransactionRequest = class {
|
|
2285
2278
|
]);
|
2286
2279
|
}
|
2287
2280
|
};
|
2288
|
-
updateAssetInput(
|
2281
|
+
updateAssetInput(this.baseAssetId, (0, import_math7.bn)(1e11));
|
2289
2282
|
quantities.forEach((q) => updateAssetInput(q.assetId, q.amount));
|
2290
2283
|
}
|
2291
2284
|
/**
|
@@ -2310,20 +2303,16 @@ var BaseTransactionRequest = class {
|
|
2310
2303
|
toJSON() {
|
2311
2304
|
return normalizeJSON(this);
|
2312
2305
|
}
|
2313
|
-
removeWitness(index) {
|
2314
|
-
this.witnesses.splice(index, 1);
|
2315
|
-
this.adjustWitnessIndexes(index);
|
2316
|
-
}
|
2317
2306
|
updatePredicateInputs(inputs) {
|
2318
2307
|
this.inputs.forEach((i) => {
|
2319
2308
|
let correspondingInput;
|
2320
2309
|
switch (i.type) {
|
2321
|
-
case
|
2322
|
-
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);
|
2323
2312
|
break;
|
2324
|
-
case
|
2313
|
+
case import_transactions6.InputType.Message:
|
2325
2314
|
correspondingInput = inputs.find(
|
2326
|
-
(x) => x.type ===
|
2315
|
+
(x) => x.type === import_transactions6.InputType.Message && x.sender === i.sender
|
2327
2316
|
);
|
2328
2317
|
break;
|
2329
2318
|
default:
|
@@ -2336,37 +2325,30 @@ var BaseTransactionRequest = class {
|
|
2336
2325
|
}
|
2337
2326
|
});
|
2338
2327
|
}
|
2339
|
-
adjustWitnessIndexes(removedIndex) {
|
2340
|
-
this.inputs.filter(isRequestInputResource).forEach((input) => {
|
2341
|
-
if (input.witnessIndex > removedIndex) {
|
2342
|
-
input.witnessIndex -= 1;
|
2343
|
-
}
|
2344
|
-
});
|
2345
|
-
}
|
2346
2328
|
};
|
2347
2329
|
|
2348
2330
|
// src/providers/transaction-request/create-transaction-request.ts
|
2349
|
-
var
|
2331
|
+
var import_configs8 = require("@fuel-ts/address/configs");
|
2350
2332
|
var import_math9 = require("@fuel-ts/math");
|
2351
|
-
var
|
2333
|
+
var import_transactions8 = require("@fuel-ts/transactions");
|
2352
2334
|
var import_utils13 = require("@fuel-ts/utils");
|
2353
2335
|
|
2354
2336
|
// src/providers/transaction-request/hash-transaction.ts
|
2355
|
-
var
|
2337
|
+
var import_configs7 = require("@fuel-ts/address/configs");
|
2356
2338
|
var import_hasher = require("@fuel-ts/hasher");
|
2357
2339
|
var import_math8 = require("@fuel-ts/math");
|
2358
|
-
var
|
2340
|
+
var import_transactions7 = require("@fuel-ts/transactions");
|
2359
2341
|
var import_utils11 = require("@fuel-ts/utils");
|
2360
2342
|
var import_ramda2 = require("ramda");
|
2361
2343
|
function hashTransaction(transactionRequest, chainId) {
|
2362
2344
|
const transaction = transactionRequest.toTransaction();
|
2363
|
-
if (transaction.type ===
|
2364
|
-
transaction.receiptsRoot =
|
2345
|
+
if (transaction.type === import_transactions7.TransactionType.Script) {
|
2346
|
+
transaction.receiptsRoot = import_configs7.ZeroBytes32;
|
2365
2347
|
}
|
2366
2348
|
transaction.inputs = transaction.inputs.map((input) => {
|
2367
2349
|
const inputClone = (0, import_ramda2.clone)(input);
|
2368
2350
|
switch (inputClone.type) {
|
2369
|
-
case
|
2351
|
+
case import_transactions7.InputType.Coin: {
|
2370
2352
|
inputClone.txPointer = {
|
2371
2353
|
blockHeight: 0,
|
2372
2354
|
txIndex: 0
|
@@ -2374,19 +2356,19 @@ function hashTransaction(transactionRequest, chainId) {
|
|
2374
2356
|
inputClone.predicateGasUsed = (0, import_math8.bn)(0);
|
2375
2357
|
return inputClone;
|
2376
2358
|
}
|
2377
|
-
case
|
2359
|
+
case import_transactions7.InputType.Message: {
|
2378
2360
|
inputClone.predicateGasUsed = (0, import_math8.bn)(0);
|
2379
2361
|
return inputClone;
|
2380
2362
|
}
|
2381
|
-
case
|
2363
|
+
case import_transactions7.InputType.Contract: {
|
2382
2364
|
inputClone.txPointer = {
|
2383
2365
|
blockHeight: 0,
|
2384
2366
|
txIndex: 0
|
2385
2367
|
};
|
2386
|
-
inputClone.txID =
|
2368
|
+
inputClone.txID = import_configs7.ZeroBytes32;
|
2387
2369
|
inputClone.outputIndex = 0;
|
2388
|
-
inputClone.balanceRoot =
|
2389
|
-
inputClone.stateRoot =
|
2370
|
+
inputClone.balanceRoot = import_configs7.ZeroBytes32;
|
2371
|
+
inputClone.stateRoot = import_configs7.ZeroBytes32;
|
2390
2372
|
return inputClone;
|
2391
2373
|
}
|
2392
2374
|
default:
|
@@ -2396,19 +2378,19 @@ function hashTransaction(transactionRequest, chainId) {
|
|
2396
2378
|
transaction.outputs = transaction.outputs.map((output) => {
|
2397
2379
|
const outputClone = (0, import_ramda2.clone)(output);
|
2398
2380
|
switch (outputClone.type) {
|
2399
|
-
case
|
2400
|
-
outputClone.balanceRoot =
|
2401
|
-
outputClone.stateRoot =
|
2381
|
+
case import_transactions7.OutputType.Contract: {
|
2382
|
+
outputClone.balanceRoot = import_configs7.ZeroBytes32;
|
2383
|
+
outputClone.stateRoot = import_configs7.ZeroBytes32;
|
2402
2384
|
return outputClone;
|
2403
2385
|
}
|
2404
|
-
case
|
2386
|
+
case import_transactions7.OutputType.Change: {
|
2405
2387
|
outputClone.amount = (0, import_math8.bn)(0);
|
2406
2388
|
return outputClone;
|
2407
2389
|
}
|
2408
|
-
case
|
2409
|
-
outputClone.to =
|
2390
|
+
case import_transactions7.OutputType.Variable: {
|
2391
|
+
outputClone.to = import_configs7.ZeroBytes32;
|
2410
2392
|
outputClone.amount = (0, import_math8.bn)(0);
|
2411
|
-
outputClone.assetId =
|
2393
|
+
outputClone.assetId = import_configs7.ZeroBytes32;
|
2412
2394
|
return outputClone;
|
2413
2395
|
}
|
2414
2396
|
default:
|
@@ -2418,7 +2400,7 @@ function hashTransaction(transactionRequest, chainId) {
|
|
2418
2400
|
transaction.witnessesCount = 0;
|
2419
2401
|
transaction.witnesses = [];
|
2420
2402
|
const chainIdBytes = (0, import_hasher.uint64ToBytesBE)(chainId);
|
2421
|
-
const concatenatedData = (0, import_utils11.concat)([chainIdBytes, new
|
2403
|
+
const concatenatedData = (0, import_utils11.concat)([chainIdBytes, new import_transactions7.TransactionCoder().encode(transaction)]);
|
2422
2404
|
return (0, import_hasher.sha256)(concatenatedData);
|
2423
2405
|
}
|
2424
2406
|
|
@@ -2454,7 +2436,7 @@ var CreateTransactionRequest = class extends BaseTransactionRequest {
|
|
2454
2436
|
return new this(obj);
|
2455
2437
|
}
|
2456
2438
|
/** Type of the transaction */
|
2457
|
-
type =
|
2439
|
+
type = import_transactions8.TransactionType.Create;
|
2458
2440
|
/** Witness index of contract bytecode to create */
|
2459
2441
|
bytecodeWitnessIndex;
|
2460
2442
|
/** Salt */
|
@@ -2466,15 +2448,10 @@ var CreateTransactionRequest = class extends BaseTransactionRequest {
|
|
2466
2448
|
*
|
2467
2449
|
* @param createTransactionRequestLike - The initial values for the instance
|
2468
2450
|
*/
|
2469
|
-
constructor({
|
2470
|
-
bytecodeWitnessIndex,
|
2471
|
-
salt,
|
2472
|
-
storageSlots,
|
2473
|
-
...rest
|
2474
|
-
} = {}) {
|
2451
|
+
constructor({ bytecodeWitnessIndex, salt, storageSlots, ...rest }) {
|
2475
2452
|
super(rest);
|
2476
2453
|
this.bytecodeWitnessIndex = bytecodeWitnessIndex ?? 0;
|
2477
|
-
this.salt = (0, import_utils13.hexlify)(salt ??
|
2454
|
+
this.salt = (0, import_utils13.hexlify)(salt ?? import_configs8.ZeroBytes32);
|
2478
2455
|
this.storageSlots = [...storageSlots ?? []];
|
2479
2456
|
}
|
2480
2457
|
/**
|
@@ -2487,12 +2464,12 @@ var CreateTransactionRequest = class extends BaseTransactionRequest {
|
|
2487
2464
|
const bytecodeWitnessIndex = this.bytecodeWitnessIndex;
|
2488
2465
|
const storageSlots = this.storageSlots?.map(storageSlotify) ?? [];
|
2489
2466
|
return {
|
2490
|
-
type:
|
2467
|
+
type: import_transactions8.TransactionType.Create,
|
2491
2468
|
...baseTransaction,
|
2492
2469
|
bytecodeLength: baseTransaction.witnesses[bytecodeWitnessIndex].dataLength / 4,
|
2493
2470
|
bytecodeWitnessIndex,
|
2494
2471
|
storageSlotsCount: storageSlots.length,
|
2495
|
-
salt: this.salt ? (0, import_utils13.hexlify)(this.salt) :
|
2472
|
+
salt: this.salt ? (0, import_utils13.hexlify)(this.salt) : import_configs8.ZeroBytes32,
|
2496
2473
|
storageSlots
|
2497
2474
|
};
|
2498
2475
|
}
|
@@ -2503,7 +2480,7 @@ var CreateTransactionRequest = class extends BaseTransactionRequest {
|
|
2503
2480
|
*/
|
2504
2481
|
getContractCreatedOutputs() {
|
2505
2482
|
return this.outputs.filter(
|
2506
|
-
(output) => output.type ===
|
2483
|
+
(output) => output.type === import_transactions8.OutputType.ContractCreated
|
2507
2484
|
);
|
2508
2485
|
}
|
2509
2486
|
/**
|
@@ -2524,7 +2501,7 @@ var CreateTransactionRequest = class extends BaseTransactionRequest {
|
|
2524
2501
|
*/
|
2525
2502
|
addContractCreatedOutput(contractId, stateRoot) {
|
2526
2503
|
this.pushOutput({
|
2527
|
-
type:
|
2504
|
+
type: import_transactions8.OutputType.ContractCreated,
|
2528
2505
|
contractId,
|
2529
2506
|
stateRoot
|
2530
2507
|
});
|
@@ -2542,9 +2519,9 @@ var CreateTransactionRequest = class extends BaseTransactionRequest {
|
|
2542
2519
|
// src/providers/transaction-request/script-transaction-request.ts
|
2543
2520
|
var import_abi_coder3 = require("@fuel-ts/abi-coder");
|
2544
2521
|
var import_address2 = require("@fuel-ts/address");
|
2545
|
-
var
|
2522
|
+
var import_configs9 = require("@fuel-ts/address/configs");
|
2546
2523
|
var import_math10 = require("@fuel-ts/math");
|
2547
|
-
var
|
2524
|
+
var import_transactions9 = require("@fuel-ts/transactions");
|
2548
2525
|
var import_utils15 = require("@fuel-ts/utils");
|
2549
2526
|
|
2550
2527
|
// src/providers/transaction-request/scripts.ts
|
@@ -2582,7 +2559,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
|
|
2582
2559
|
return new this(obj);
|
2583
2560
|
}
|
2584
2561
|
/** Type of the transaction */
|
2585
|
-
type =
|
2562
|
+
type = import_transactions9.TransactionType.Script;
|
2586
2563
|
/** Gas limit for transaction */
|
2587
2564
|
gasLimit;
|
2588
2565
|
/** Script to execute */
|
@@ -2595,7 +2572,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
|
|
2595
2572
|
*
|
2596
2573
|
* @param scriptTransactionRequestLike - The initial values for the instance.
|
2597
2574
|
*/
|
2598
|
-
constructor({ script, scriptData, gasLimit, ...rest }
|
2575
|
+
constructor({ script, scriptData, gasLimit, ...rest }) {
|
2599
2576
|
super(rest);
|
2600
2577
|
this.gasLimit = (0, import_math10.bn)(gasLimit);
|
2601
2578
|
this.script = (0, import_utils15.arrayify)(script ?? returnZeroScript.bytes);
|
@@ -2611,12 +2588,12 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
|
|
2611
2588
|
const script = (0, import_utils15.arrayify)(this.script ?? "0x");
|
2612
2589
|
const scriptData = (0, import_utils15.arrayify)(this.scriptData ?? "0x");
|
2613
2590
|
return {
|
2614
|
-
type:
|
2591
|
+
type: import_transactions9.TransactionType.Script,
|
2615
2592
|
scriptGasLimit: this.gasLimit,
|
2616
2593
|
...super.getBaseTransaction(),
|
2617
2594
|
scriptLength: script.length,
|
2618
2595
|
scriptDataLength: scriptData.length,
|
2619
|
-
receiptsRoot:
|
2596
|
+
receiptsRoot: import_configs9.ZeroBytes32,
|
2620
2597
|
script: (0, import_utils15.hexlify)(script),
|
2621
2598
|
scriptData: (0, import_utils15.hexlify)(scriptData)
|
2622
2599
|
};
|
@@ -2628,7 +2605,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
|
|
2628
2605
|
*/
|
2629
2606
|
getContractInputs() {
|
2630
2607
|
return this.inputs.filter(
|
2631
|
-
(input) => input.type ===
|
2608
|
+
(input) => input.type === import_transactions9.InputType.Contract
|
2632
2609
|
);
|
2633
2610
|
}
|
2634
2611
|
/**
|
@@ -2638,7 +2615,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
|
|
2638
2615
|
*/
|
2639
2616
|
getContractOutputs() {
|
2640
2617
|
return this.outputs.filter(
|
2641
|
-
(output) => output.type ===
|
2618
|
+
(output) => output.type === import_transactions9.OutputType.Contract
|
2642
2619
|
);
|
2643
2620
|
}
|
2644
2621
|
/**
|
@@ -2648,7 +2625,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
|
|
2648
2625
|
*/
|
2649
2626
|
getVariableOutputs() {
|
2650
2627
|
return this.outputs.filter(
|
2651
|
-
(output) => output.type ===
|
2628
|
+
(output) => output.type === import_transactions9.OutputType.Variable
|
2652
2629
|
);
|
2653
2630
|
}
|
2654
2631
|
/**
|
@@ -2671,7 +2648,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
|
|
2671
2648
|
let outputsNumber = numberOfVariables;
|
2672
2649
|
while (outputsNumber) {
|
2673
2650
|
this.pushOutput({
|
2674
|
-
type:
|
2651
|
+
type: import_transactions9.OutputType.Variable
|
2675
2652
|
});
|
2676
2653
|
outputsNumber -= 1;
|
2677
2654
|
}
|
@@ -2704,12 +2681,12 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
|
|
2704
2681
|
return this;
|
2705
2682
|
}
|
2706
2683
|
const inputIndex = super.pushInput({
|
2707
|
-
type:
|
2684
|
+
type: import_transactions9.InputType.Contract,
|
2708
2685
|
contractId: contractAddress.toB256(),
|
2709
2686
|
txPointer: "0x00000000000000000000000000000000"
|
2710
2687
|
});
|
2711
2688
|
this.pushOutput({
|
2712
|
-
type:
|
2689
|
+
type: import_transactions9.OutputType.Contract,
|
2713
2690
|
inputIndex
|
2714
2691
|
});
|
2715
2692
|
return this;
|
@@ -2746,17 +2723,17 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
|
|
2746
2723
|
|
2747
2724
|
// src/providers/transaction-request/utils.ts
|
2748
2725
|
var import_errors9 = require("@fuel-ts/errors");
|
2749
|
-
var
|
2726
|
+
var import_transactions10 = require("@fuel-ts/transactions");
|
2750
2727
|
var transactionRequestify = (obj) => {
|
2751
2728
|
if (obj instanceof ScriptTransactionRequest || obj instanceof CreateTransactionRequest) {
|
2752
2729
|
return obj;
|
2753
2730
|
}
|
2754
2731
|
const { type } = obj;
|
2755
2732
|
switch (obj.type) {
|
2756
|
-
case
|
2733
|
+
case import_transactions10.TransactionType.Script: {
|
2757
2734
|
return ScriptTransactionRequest.from(obj);
|
2758
2735
|
}
|
2759
|
-
case
|
2736
|
+
case import_transactions10.TransactionType.Create: {
|
2760
2737
|
return CreateTransactionRequest.from(obj);
|
2761
2738
|
}
|
2762
2739
|
default: {
|
@@ -2768,7 +2745,7 @@ var transactionRequestify = (obj) => {
|
|
2768
2745
|
// src/providers/transaction-response/transaction-response.ts
|
2769
2746
|
var import_errors13 = require("@fuel-ts/errors");
|
2770
2747
|
var import_math14 = require("@fuel-ts/math");
|
2771
|
-
var
|
2748
|
+
var import_transactions17 = require("@fuel-ts/transactions");
|
2772
2749
|
var import_utils21 = require("@fuel-ts/utils");
|
2773
2750
|
|
2774
2751
|
// src/providers/transaction-summary/assemble-transaction-summary.ts
|
@@ -2776,7 +2753,7 @@ var import_utils19 = require("@fuel-ts/utils");
|
|
2776
2753
|
|
2777
2754
|
// src/providers/transaction-summary/calculate-transaction-fee.ts
|
2778
2755
|
var import_math11 = require("@fuel-ts/math");
|
2779
|
-
var
|
2756
|
+
var import_transactions11 = require("@fuel-ts/transactions");
|
2780
2757
|
var import_utils16 = require("@fuel-ts/utils");
|
2781
2758
|
var calculateTransactionFee = (params) => {
|
2782
2759
|
const {
|
@@ -2787,8 +2764,8 @@ var calculateTransactionFee = (params) => {
|
|
2787
2764
|
const gasPerByte = (0, import_math11.bn)(feeParams.gasPerByte);
|
2788
2765
|
const gasPriceFactor = (0, import_math11.bn)(feeParams.gasPriceFactor);
|
2789
2766
|
const transactionBytes = (0, import_utils16.arrayify)(rawPayload);
|
2790
|
-
const [transaction] = new
|
2791
|
-
if (transaction.type ===
|
2767
|
+
const [transaction] = new import_transactions11.TransactionCoder().decode(transactionBytes, 0);
|
2768
|
+
if (transaction.type === import_transactions11.TransactionType.Mint) {
|
2792
2769
|
return {
|
2793
2770
|
fee: (0, import_math11.bn)(0),
|
2794
2771
|
minFee: (0, import_math11.bn)(0),
|
@@ -2799,7 +2776,7 @@ var calculateTransactionFee = (params) => {
|
|
2799
2776
|
const { type, witnesses, inputs, policies } = transaction;
|
2800
2777
|
let metadataGas = (0, import_math11.bn)(0);
|
2801
2778
|
let gasLimit = (0, import_math11.bn)(0);
|
2802
|
-
if (type ===
|
2779
|
+
if (type === import_transactions11.TransactionType.Create) {
|
2803
2780
|
const { bytecodeWitnessIndex, storageSlots } = transaction;
|
2804
2781
|
const contractBytesSize = (0, import_math11.bn)((0, import_utils16.arrayify)(witnesses[bytecodeWitnessIndex].data).length);
|
2805
2782
|
metadataGas = calculateMetadataGasForTxCreate({
|
@@ -2825,8 +2802,8 @@ var calculateTransactionFee = (params) => {
|
|
2825
2802
|
metadataGas,
|
2826
2803
|
txBytesSize: transactionBytes.length
|
2827
2804
|
});
|
2828
|
-
const gasPrice = (0, import_math11.bn)(policies.find((policy) => policy.type ===
|
2829
|
-
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;
|
2830
2807
|
const witnessesLength = witnesses.reduce((acc, wit) => acc + wit.dataLength, 0);
|
2831
2808
|
const maxGas = getMaxGas({
|
2832
2809
|
gasPerByte,
|
@@ -2848,10 +2825,10 @@ var calculateTransactionFee = (params) => {
|
|
2848
2825
|
};
|
2849
2826
|
|
2850
2827
|
// src/providers/transaction-summary/operations.ts
|
2851
|
-
var
|
2828
|
+
var import_configs10 = require("@fuel-ts/address/configs");
|
2852
2829
|
var import_errors11 = require("@fuel-ts/errors");
|
2853
2830
|
var import_math13 = require("@fuel-ts/math");
|
2854
|
-
var
|
2831
|
+
var import_transactions14 = require("@fuel-ts/transactions");
|
2855
2832
|
|
2856
2833
|
// src/providers/transaction-summary/call.ts
|
2857
2834
|
var import_abi_coder4 = require("@fuel-ts/abi-coder");
|
@@ -2899,7 +2876,7 @@ var getFunctionCall = ({ abi, receipt, rawPayload, maxInputs }) => {
|
|
2899
2876
|
|
2900
2877
|
// src/providers/transaction-summary/input.ts
|
2901
2878
|
var import_errors10 = require("@fuel-ts/errors");
|
2902
|
-
var
|
2879
|
+
var import_transactions12 = require("@fuel-ts/transactions");
|
2903
2880
|
function getInputsByTypes(inputs, types) {
|
2904
2881
|
return inputs.filter((i) => types.includes(i.type));
|
2905
2882
|
}
|
@@ -2907,16 +2884,16 @@ function getInputsByType(inputs, type) {
|
|
2907
2884
|
return inputs.filter((i) => i.type === type);
|
2908
2885
|
}
|
2909
2886
|
function getInputsCoin(inputs) {
|
2910
|
-
return getInputsByType(inputs,
|
2887
|
+
return getInputsByType(inputs, import_transactions12.InputType.Coin);
|
2911
2888
|
}
|
2912
2889
|
function getInputsMessage(inputs) {
|
2913
|
-
return getInputsByType(inputs,
|
2890
|
+
return getInputsByType(inputs, import_transactions12.InputType.Message);
|
2914
2891
|
}
|
2915
2892
|
function getInputsCoinAndMessage(inputs) {
|
2916
|
-
return getInputsByTypes(inputs, [
|
2893
|
+
return getInputsByTypes(inputs, [import_transactions12.InputType.Coin, import_transactions12.InputType.Message]);
|
2917
2894
|
}
|
2918
2895
|
function getInputsContract(inputs) {
|
2919
|
-
return getInputsByType(inputs,
|
2896
|
+
return getInputsByType(inputs, import_transactions12.InputType.Contract);
|
2920
2897
|
}
|
2921
2898
|
function getInputFromAssetId(inputs, assetId) {
|
2922
2899
|
const coinInputs = getInputsCoin(inputs);
|
@@ -2935,7 +2912,7 @@ function getInputContractFromIndex(inputs, inputIndex) {
|
|
2935
2912
|
if (!contractInput) {
|
2936
2913
|
return void 0;
|
2937
2914
|
}
|
2938
|
-
if (contractInput.type !==
|
2915
|
+
if (contractInput.type !== import_transactions12.InputType.Contract) {
|
2939
2916
|
throw new import_errors10.FuelError(
|
2940
2917
|
import_errors10.ErrorCode.INVALID_TRANSACTION_INPUT,
|
2941
2918
|
`Contract input should be of type 'contract'.`
|
@@ -2944,34 +2921,34 @@ function getInputContractFromIndex(inputs, inputIndex) {
|
|
2944
2921
|
return contractInput;
|
2945
2922
|
}
|
2946
2923
|
function getInputAccountAddress(input) {
|
2947
|
-
if (input.type ===
|
2924
|
+
if (input.type === import_transactions12.InputType.Coin) {
|
2948
2925
|
return input.owner.toString();
|
2949
2926
|
}
|
2950
|
-
if (input.type ===
|
2927
|
+
if (input.type === import_transactions12.InputType.Message) {
|
2951
2928
|
return input.recipient.toString();
|
2952
2929
|
}
|
2953
2930
|
return "";
|
2954
2931
|
}
|
2955
2932
|
|
2956
2933
|
// src/providers/transaction-summary/output.ts
|
2957
|
-
var
|
2934
|
+
var import_transactions13 = require("@fuel-ts/transactions");
|
2958
2935
|
function getOutputsByType(outputs, type) {
|
2959
2936
|
return outputs.filter((o) => o.type === type);
|
2960
2937
|
}
|
2961
2938
|
function getOutputsContractCreated(outputs) {
|
2962
|
-
return getOutputsByType(outputs,
|
2939
|
+
return getOutputsByType(outputs, import_transactions13.OutputType.ContractCreated);
|
2963
2940
|
}
|
2964
2941
|
function getOutputsCoin(outputs) {
|
2965
|
-
return getOutputsByType(outputs,
|
2942
|
+
return getOutputsByType(outputs, import_transactions13.OutputType.Coin);
|
2966
2943
|
}
|
2967
2944
|
function getOutputsChange(outputs) {
|
2968
|
-
return getOutputsByType(outputs,
|
2945
|
+
return getOutputsByType(outputs, import_transactions13.OutputType.Change);
|
2969
2946
|
}
|
2970
2947
|
function getOutputsContract(outputs) {
|
2971
|
-
return getOutputsByType(outputs,
|
2948
|
+
return getOutputsByType(outputs, import_transactions13.OutputType.Contract);
|
2972
2949
|
}
|
2973
2950
|
function getOutputsVariable(outputs) {
|
2974
|
-
return getOutputsByType(outputs,
|
2951
|
+
return getOutputsByType(outputs, import_transactions13.OutputType.Variable);
|
2975
2952
|
}
|
2976
2953
|
|
2977
2954
|
// src/providers/transaction-summary/types.ts
|
@@ -3018,11 +2995,11 @@ function getReceiptsByType(receipts, type) {
|
|
3018
2995
|
}
|
3019
2996
|
function getTransactionTypeName(transactionType) {
|
3020
2997
|
switch (transactionType) {
|
3021
|
-
case
|
2998
|
+
case import_transactions14.TransactionType.Mint:
|
3022
2999
|
return "Mint" /* Mint */;
|
3023
|
-
case
|
3000
|
+
case import_transactions14.TransactionType.Create:
|
3024
3001
|
return "Create" /* Create */;
|
3025
|
-
case
|
3002
|
+
case import_transactions14.TransactionType.Script:
|
3026
3003
|
return "Script" /* Script */;
|
3027
3004
|
default:
|
3028
3005
|
throw new import_errors11.FuelError(
|
@@ -3048,10 +3025,10 @@ function hasSameAssetId(a) {
|
|
3048
3025
|
return (b) => a.assetId === b.assetId;
|
3049
3026
|
}
|
3050
3027
|
function getReceiptsCall(receipts) {
|
3051
|
-
return getReceiptsByType(receipts,
|
3028
|
+
return getReceiptsByType(receipts, import_transactions14.ReceiptType.Call);
|
3052
3029
|
}
|
3053
3030
|
function getReceiptsMessageOut(receipts) {
|
3054
|
-
return getReceiptsByType(receipts,
|
3031
|
+
return getReceiptsByType(receipts, import_transactions14.ReceiptType.MessageOut);
|
3055
3032
|
}
|
3056
3033
|
var mergeAssets = (op1, op2) => {
|
3057
3034
|
const assets1 = op1.assetsSent || [];
|
@@ -3090,7 +3067,7 @@ function addOperation(operations, toAdd) {
|
|
3090
3067
|
return allOperations;
|
3091
3068
|
}
|
3092
3069
|
function getReceiptsTransferOut(receipts) {
|
3093
|
-
return getReceiptsByType(receipts,
|
3070
|
+
return getReceiptsByType(receipts, import_transactions14.ReceiptType.TransferOut);
|
3094
3071
|
}
|
3095
3072
|
function getWithdrawFromFuelOperations({
|
3096
3073
|
inputs,
|
@@ -3193,7 +3170,7 @@ function extractTransferOperationFromReceipt(receipt, contractInputs, changeOutp
|
|
3193
3170
|
const { to: toAddress, assetId, amount } = receipt;
|
3194
3171
|
let { from: fromAddress } = receipt;
|
3195
3172
|
const toType = contractInputs.some((input) => input.contractID === toAddress) ? 0 /* contract */ : 1 /* account */;
|
3196
|
-
if (
|
3173
|
+
if (import_configs10.ZeroBytes32 === fromAddress) {
|
3197
3174
|
const change = changeOutputs.find((output) => output.assetId === assetId);
|
3198
3175
|
fromAddress = change?.to || fromAddress;
|
3199
3176
|
}
|
@@ -3250,11 +3227,11 @@ function getTransferOperations({
|
|
3250
3227
|
});
|
3251
3228
|
const transferReceipts = getReceiptsByType(
|
3252
3229
|
receipts,
|
3253
|
-
|
3230
|
+
import_transactions14.ReceiptType.Transfer
|
3254
3231
|
);
|
3255
3232
|
const transferOutReceipts = getReceiptsByType(
|
3256
3233
|
receipts,
|
3257
|
-
|
3234
|
+
import_transactions14.ReceiptType.TransferOut
|
3258
3235
|
);
|
3259
3236
|
[...transferReceipts, ...transferOutReceipts].forEach((receipt) => {
|
3260
3237
|
const operation = extractTransferOperationFromReceipt(receipt, contractInputs, changeOutputs);
|
@@ -3339,17 +3316,17 @@ function getOperations({
|
|
3339
3316
|
}
|
3340
3317
|
|
3341
3318
|
// src/providers/transaction-summary/receipt.ts
|
3342
|
-
var
|
3319
|
+
var import_transactions15 = require("@fuel-ts/transactions");
|
3343
3320
|
var processGqlReceipt = (gqlReceipt) => {
|
3344
3321
|
const receipt = assembleReceiptByType(gqlReceipt);
|
3345
3322
|
switch (receipt.type) {
|
3346
|
-
case
|
3323
|
+
case import_transactions15.ReceiptType.ReturnData: {
|
3347
3324
|
return {
|
3348
3325
|
...receipt,
|
3349
3326
|
data: gqlReceipt.data || "0x"
|
3350
3327
|
};
|
3351
3328
|
}
|
3352
|
-
case
|
3329
|
+
case import_transactions15.ReceiptType.LogData: {
|
3353
3330
|
return {
|
3354
3331
|
...receipt,
|
3355
3332
|
data: gqlReceipt.data || "0x"
|
@@ -3362,7 +3339,7 @@ var processGqlReceipt = (gqlReceipt) => {
|
|
3362
3339
|
var extractMintedAssetsFromReceipts = (receipts) => {
|
3363
3340
|
const mintedAssets = [];
|
3364
3341
|
receipts.forEach((receipt) => {
|
3365
|
-
if (receipt.type ===
|
3342
|
+
if (receipt.type === import_transactions15.ReceiptType.Mint) {
|
3366
3343
|
mintedAssets.push({
|
3367
3344
|
subId: receipt.subId,
|
3368
3345
|
contractId: receipt.contractId,
|
@@ -3376,7 +3353,7 @@ var extractMintedAssetsFromReceipts = (receipts) => {
|
|
3376
3353
|
var extractBurnedAssetsFromReceipts = (receipts) => {
|
3377
3354
|
const burnedAssets = [];
|
3378
3355
|
receipts.forEach((receipt) => {
|
3379
|
-
if (receipt.type ===
|
3356
|
+
if (receipt.type === import_transactions15.ReceiptType.Burn) {
|
3380
3357
|
burnedAssets.push({
|
3381
3358
|
subId: receipt.subId,
|
3382
3359
|
contractId: receipt.contractId,
|
@@ -3515,12 +3492,12 @@ function assembleTransactionSummary(params) {
|
|
3515
3492
|
|
3516
3493
|
// src/providers/transaction-response/getDecodedLogs.ts
|
3517
3494
|
var import_abi_coder5 = require("@fuel-ts/abi-coder");
|
3518
|
-
var
|
3495
|
+
var import_transactions16 = require("@fuel-ts/transactions");
|
3519
3496
|
function getDecodedLogs(receipts, mainAbi, externalAbis = {}) {
|
3520
3497
|
return receipts.reduce((logs, receipt) => {
|
3521
|
-
if (receipt.type ===
|
3498
|
+
if (receipt.type === import_transactions16.ReceiptType.LogData || receipt.type === import_transactions16.ReceiptType.Log) {
|
3522
3499
|
const interfaceToUse = new import_abi_coder5.Interface(externalAbis[receipt.id] || mainAbi);
|
3523
|
-
const data = receipt.type ===
|
3500
|
+
const data = receipt.type === import_transactions16.ReceiptType.Log ? new import_abi_coder5.BigNumberCoder("u64").encode(receipt.val0) : receipt.data;
|
3524
3501
|
const [decodedLog] = interfaceToUse.decodeLog(data, receipt.val1.toNumber());
|
3525
3502
|
logs.push(decodedLog);
|
3526
3503
|
}
|
@@ -3593,7 +3570,7 @@ var TransactionResponse = class {
|
|
3593
3570
|
* @returns The decoded transaction.
|
3594
3571
|
*/
|
3595
3572
|
decodeTransaction(transactionWithReceipts) {
|
3596
|
-
return new
|
3573
|
+
return new import_transactions17.TransactionCoder().decode(
|
3597
3574
|
(0, import_utils21.arrayify)(transactionWithReceipts.rawPayload),
|
3598
3575
|
0
|
3599
3576
|
)?.[0];
|
@@ -3770,6 +3747,7 @@ var processGqlChain = (chain) => {
|
|
3770
3747
|
gasPerByte: (0, import_math15.bn)(feeParams.gasPerByte),
|
3771
3748
|
maxMessageDataLength: (0, import_math15.bn)(predicateParams.maxMessageDataLength),
|
3772
3749
|
chainId: (0, import_math15.bn)(consensusParameters.chainId),
|
3750
|
+
baseAssetId: consensusParameters.baseAssetId,
|
3773
3751
|
gasCosts
|
3774
3752
|
},
|
3775
3753
|
gasCosts,
|
@@ -4012,6 +3990,17 @@ var _Provider = class {
|
|
4012
3990
|
} = this.getChain();
|
4013
3991
|
return chainId.toNumber();
|
4014
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
|
+
}
|
4015
4004
|
/**
|
4016
4005
|
* Submits a transaction to the chain to be executed.
|
4017
4006
|
*
|
@@ -4030,7 +4019,7 @@ var _Provider = class {
|
|
4030
4019
|
}
|
4031
4020
|
const encodedTransaction = (0, import_utils23.hexlify)(transactionRequest.toTransactionBytes());
|
4032
4021
|
let abis;
|
4033
|
-
if (transactionRequest.type ===
|
4022
|
+
if (transactionRequest.type === import_transactions18.TransactionType.Script) {
|
4034
4023
|
abis = transactionRequest.abis;
|
4035
4024
|
}
|
4036
4025
|
if (awaitExecution) {
|
@@ -4126,7 +4115,7 @@ var _Provider = class {
|
|
4126
4115
|
* @returns A promise.
|
4127
4116
|
*/
|
4128
4117
|
async estimateTxDependencies(transactionRequest) {
|
4129
|
-
if (transactionRequest.type ===
|
4118
|
+
if (transactionRequest.type === import_transactions18.TransactionType.Create) {
|
4130
4119
|
return {
|
4131
4120
|
receipts: [],
|
4132
4121
|
outputVariables: 0,
|
@@ -4175,7 +4164,7 @@ var _Provider = class {
|
|
4175
4164
|
transactionRequest.gasPrice = gasPrice;
|
4176
4165
|
const minGas = transactionRequest.calculateMinGas(chainInfo);
|
4177
4166
|
const minFee = calculatePriceWithFactor(minGas, gasPrice, gasPriceFactor).normalizeZeroToOne();
|
4178
|
-
if (transactionRequest.type ===
|
4167
|
+
if (transactionRequest.type === import_transactions18.TransactionType.Script) {
|
4179
4168
|
if (transactionRequest.gasLimit.eq(0)) {
|
4180
4169
|
transactionRequest.gasLimit = minGas;
|
4181
4170
|
transactionRequest.gasLimit = maxGasPerTx.sub(
|
@@ -4241,7 +4230,7 @@ var _Provider = class {
|
|
4241
4230
|
const txRequestClone = (0, import_ramda3.clone)(transactionRequestify(transactionRequestLike));
|
4242
4231
|
const { minGasPrice } = this.getGasConfig();
|
4243
4232
|
const setGasPrice = (0, import_math15.max)(txRequestClone.gasPrice, minGasPrice);
|
4244
|
-
const isScriptTransaction = txRequestClone.type ===
|
4233
|
+
const isScriptTransaction = txRequestClone.type === import_transactions18.TransactionType.Script;
|
4245
4234
|
const coinOutputsQuantities = txRequestClone.getCoinOutputsQuantities();
|
4246
4235
|
const allQuantities = mergeQuantities(coinOutputsQuantities, forwardingQuantities);
|
4247
4236
|
txRequestClone.fundWithFakeUtxos(allQuantities, resourcesOwner?.address);
|
@@ -4457,7 +4446,7 @@ var _Provider = class {
|
|
4457
4446
|
time: block.header.time,
|
4458
4447
|
transactionIds: block.transactions.map((tx) => tx.id),
|
4459
4448
|
transactions: block.transactions.map(
|
4460
|
-
(tx) => new
|
4449
|
+
(tx) => new import_transactions18.TransactionCoder().decode((0, import_utils23.arrayify)(tx.rawPayload), 0)?.[0]
|
4461
4450
|
)
|
4462
4451
|
};
|
4463
4452
|
}
|
@@ -4472,7 +4461,7 @@ var _Provider = class {
|
|
4472
4461
|
if (!transaction) {
|
4473
4462
|
return null;
|
4474
4463
|
}
|
4475
|
-
return new
|
4464
|
+
return new import_transactions18.TransactionCoder().decode(
|
4476
4465
|
(0, import_utils23.arrayify)(transaction.rawPayload),
|
4477
4466
|
0
|
4478
4467
|
)?.[0];
|
@@ -4552,7 +4541,7 @@ var _Provider = class {
|
|
4552
4541
|
});
|
4553
4542
|
const messages = result.messages.edges.map((edge) => edge.node);
|
4554
4543
|
return messages.map((message) => ({
|
4555
|
-
messageId:
|
4544
|
+
messageId: import_transactions18.InputMessageCoder.getMessageId({
|
4556
4545
|
sender: message.sender,
|
4557
4546
|
recipient: message.recipient,
|
4558
4547
|
nonce: message.nonce,
|
@@ -4563,7 +4552,7 @@ var _Provider = class {
|
|
4563
4552
|
recipient: import_address3.Address.fromAddressOrString(message.recipient),
|
4564
4553
|
nonce: message.nonce,
|
4565
4554
|
amount: (0, import_math15.bn)(message.amount),
|
4566
|
-
data:
|
4555
|
+
data: import_transactions18.InputMessageCoder.decodeData(message.data),
|
4567
4556
|
daHeight: (0, import_math15.bn)(message.daHeight)
|
4568
4557
|
}));
|
4569
4558
|
}
|
@@ -4691,7 +4680,7 @@ cacheInputs_fn = function(inputs) {
|
|
4691
4680
|
return;
|
4692
4681
|
}
|
4693
4682
|
inputs.forEach((input) => {
|
4694
|
-
if (input.type ===
|
4683
|
+
if (input.type === import_transactions18.InputType.Coin) {
|
4695
4684
|
this.cache?.set(input.id);
|
4696
4685
|
}
|
4697
4686
|
});
|
@@ -4702,7 +4691,7 @@ __publicField(Provider, "nodeInfoCache", {});
|
|
4702
4691
|
// src/providers/transaction-summary/get-transaction-summary.ts
|
4703
4692
|
var import_errors15 = require("@fuel-ts/errors");
|
4704
4693
|
var import_math16 = require("@fuel-ts/math");
|
4705
|
-
var
|
4694
|
+
var import_transactions19 = require("@fuel-ts/transactions");
|
4706
4695
|
var import_utils26 = require("@fuel-ts/utils");
|
4707
4696
|
async function getTransactionSummary(params) {
|
4708
4697
|
const { id, provider, abiMap } = params;
|
@@ -4715,7 +4704,7 @@ async function getTransactionSummary(params) {
|
|
4715
4704
|
`Transaction not found for given id: ${id}.`
|
4716
4705
|
);
|
4717
4706
|
}
|
4718
|
-
const [decodedTransaction] = new
|
4707
|
+
const [decodedTransaction] = new import_transactions19.TransactionCoder().decode(
|
4719
4708
|
(0, import_utils26.arrayify)(gqlTransaction.rawPayload),
|
4720
4709
|
0
|
4721
4710
|
);
|
@@ -4769,7 +4758,7 @@ async function getTransactionsSummaries(params) {
|
|
4769
4758
|
const transactions = edges.map((edge) => {
|
4770
4759
|
const { node: gqlTransaction } = edge;
|
4771
4760
|
const { id, rawPayload, receipts: gqlReceipts, status } = gqlTransaction;
|
4772
|
-
const [decodedTransaction] = new
|
4761
|
+
const [decodedTransaction] = new import_transactions19.TransactionCoder().decode((0, import_utils26.arrayify)(rawPayload), 0);
|
4773
4762
|
const receipts = gqlReceipts?.map(processGqlReceipt) || [];
|
4774
4763
|
const transactionSummary = assembleTransactionSummary({
|
4775
4764
|
id,
|
@@ -5075,8 +5064,9 @@ var Account = class extends import_interfaces.AbstractAccount {
|
|
5075
5064
|
* @param assetId - The asset ID to check the balance for.
|
5076
5065
|
* @returns A promise that resolves to the balance amount.
|
5077
5066
|
*/
|
5078
|
-
async getBalance(assetId
|
5079
|
-
const
|
5067
|
+
async getBalance(assetId) {
|
5068
|
+
const assetIdToFetch = assetId ?? this.provider.getBaseAssetId();
|
5069
|
+
const amount = await this.provider.getBalance(this.address, assetIdToFetch);
|
5080
5070
|
return amount;
|
5081
5071
|
}
|
5082
5072
|
/**
|
@@ -5114,9 +5104,10 @@ var Account = class extends import_interfaces.AbstractAccount {
|
|
5114
5104
|
* @returns A promise that resolves when the resources are added to the transaction.
|
5115
5105
|
*/
|
5116
5106
|
async fund(request, coinQuantities, fee) {
|
5107
|
+
const baseAssetId = this.provider.getBaseAssetId();
|
5117
5108
|
const updatedQuantities = addAmountToAsset({
|
5118
5109
|
amount: (0, import_math18.bn)(fee),
|
5119
|
-
assetId:
|
5110
|
+
assetId: baseAssetId,
|
5120
5111
|
coinQuantities
|
5121
5112
|
});
|
5122
5113
|
const quantitiesDict = {};
|
@@ -5140,8 +5131,8 @@ var Account = class extends import_interfaces.AbstractAccount {
|
|
5140
5131
|
quantitiesDict[assetId].owned = quantitiesDict[assetId].owned.add(amount);
|
5141
5132
|
cachedUtxos.push(input.id);
|
5142
5133
|
}
|
5143
|
-
} else if (input.recipient === owner && input.amount && quantitiesDict[
|
5144
|
-
quantitiesDict[
|
5134
|
+
} else if (input.recipient === owner && input.amount && quantitiesDict[baseAssetId]) {
|
5135
|
+
quantitiesDict[baseAssetId].owned = quantitiesDict[baseAssetId].owned.add(input.amount);
|
5145
5136
|
cachedMessages.push(input.nonce);
|
5146
5137
|
}
|
5147
5138
|
}
|
@@ -5173,11 +5164,13 @@ var Account = class extends import_interfaces.AbstractAccount {
|
|
5173
5164
|
* @param txParams - The transaction parameters (gasLimit, gasPrice, maturity).
|
5174
5165
|
* @returns A promise that resolves to the prepared transaction request.
|
5175
5166
|
*/
|
5176
|
-
async createTransfer(destination, amount, assetId
|
5167
|
+
async createTransfer(destination, amount, assetId, txParams = {}) {
|
5177
5168
|
const { minGasPrice } = this.provider.getGasConfig();
|
5178
|
-
const
|
5169
|
+
const baseAssetId = this.provider.getBaseAssetId();
|
5170
|
+
const assetIdToTransfer = assetId ?? this.provider.getBaseAssetId();
|
5171
|
+
const params = { gasPrice: minGasPrice, baseAssetId, ...txParams };
|
5179
5172
|
const request = new ScriptTransactionRequest(params);
|
5180
|
-
request.addCoinOutput(import_address4.Address.fromAddressOrString(destination), amount,
|
5173
|
+
request.addCoinOutput(import_address4.Address.fromAddressOrString(destination), amount, assetIdToTransfer);
|
5181
5174
|
const { maxFee, requiredQuantities, gasUsed, estimatedInputs } = await this.provider.getTransactionCost(request, [], {
|
5182
5175
|
estimateTxDependencies: true,
|
5183
5176
|
resourcesOwner: this
|
@@ -5203,14 +5196,15 @@ var Account = class extends import_interfaces.AbstractAccount {
|
|
5203
5196
|
* @param txParams - The transaction parameters (gasLimit, gasPrice, maturity).
|
5204
5197
|
* @returns A promise that resolves to the transaction response.
|
5205
5198
|
*/
|
5206
|
-
async transfer(destination, amount, assetId
|
5199
|
+
async transfer(destination, amount, assetId, txParams = {}) {
|
5207
5200
|
if ((0, import_math18.bn)(amount).lte(0)) {
|
5208
5201
|
throw new import_errors16.FuelError(
|
5209
5202
|
import_errors16.ErrorCode.INVALID_TRANSFER_AMOUNT,
|
5210
5203
|
"Transfer amount must be a positive number."
|
5211
5204
|
);
|
5212
5205
|
}
|
5213
|
-
const
|
5206
|
+
const assetIdToTransfer = assetId ?? this.provider.getBaseAssetId();
|
5207
|
+
const request = await this.createTransfer(destination, amount, assetIdToTransfer, txParams);
|
5214
5208
|
return this.sendTransaction(request, { estimateTxDependencies: false });
|
5215
5209
|
}
|
5216
5210
|
/**
|
@@ -5222,7 +5216,7 @@ var Account = class extends import_interfaces.AbstractAccount {
|
|
5222
5216
|
* @param txParams - The optional transaction parameters.
|
5223
5217
|
* @returns A promise that resolves to the transaction response.
|
5224
5218
|
*/
|
5225
|
-
async transferToContract(contractId, amount, assetId
|
5219
|
+
async transferToContract(contractId, amount, assetId, txParams = {}) {
|
5226
5220
|
if ((0, import_math18.bn)(amount).lte(0)) {
|
5227
5221
|
throw new import_errors16.FuelError(
|
5228
5222
|
import_errors16.ErrorCode.INVALID_TRANSFER_AMOUNT,
|
@@ -5231,11 +5225,13 @@ var Account = class extends import_interfaces.AbstractAccount {
|
|
5231
5225
|
}
|
5232
5226
|
const contractAddress = import_address4.Address.fromAddressOrString(contractId);
|
5233
5227
|
const { minGasPrice } = this.provider.getGasConfig();
|
5234
|
-
const
|
5228
|
+
const baseAssetId = this.provider.getBaseAssetId();
|
5229
|
+
const assetIdToTransfer = assetId ?? this.provider.getBaseAssetId();
|
5230
|
+
const params = { gasPrice: minGasPrice, baseAssetId, ...txParams };
|
5235
5231
|
const { script, scriptData } = await assembleTransferToContractScript({
|
5236
5232
|
hexlifiedContractId: contractAddress.toB256(),
|
5237
5233
|
amountToTransfer: (0, import_math18.bn)(amount),
|
5238
|
-
assetId
|
5234
|
+
assetId: assetIdToTransfer
|
5239
5235
|
});
|
5240
5236
|
const request = new ScriptTransactionRequest({
|
5241
5237
|
...params,
|
@@ -5245,7 +5241,7 @@ var Account = class extends import_interfaces.AbstractAccount {
|
|
5245
5241
|
request.addContractInputAndOutput(contractAddress);
|
5246
5242
|
const { maxFee, requiredQuantities, gasUsed } = await this.provider.getTransactionCost(
|
5247
5243
|
request,
|
5248
|
-
[{ amount: (0, import_math18.bn)(amount), assetId: String(
|
5244
|
+
[{ amount: (0, import_math18.bn)(amount), assetId: String(assetIdToTransfer) }]
|
5249
5245
|
);
|
5250
5246
|
request.gasLimit = (0, import_math18.bn)(params.gasLimit ?? gasUsed);
|
5251
5247
|
this.validateGas({
|
@@ -5267,6 +5263,7 @@ var Account = class extends import_interfaces.AbstractAccount {
|
|
5267
5263
|
*/
|
5268
5264
|
async withdrawToBaseLayer(recipient, amount, txParams = {}) {
|
5269
5265
|
const { minGasPrice } = this.provider.getGasConfig();
|
5266
|
+
const baseAssetId = this.provider.getBaseAssetId();
|
5270
5267
|
const recipientAddress = import_address4.Address.fromAddressOrString(recipient);
|
5271
5268
|
const recipientDataArray = (0, import_utils28.arrayify)(
|
5272
5269
|
"0x".concat(recipientAddress.toHexString().substring(2).padStart(64, "0"))
|
@@ -5279,9 +5276,14 @@ var Account = class extends import_interfaces.AbstractAccount {
|
|
5279
5276
|
...recipientDataArray,
|
5280
5277
|
...amountDataArray
|
5281
5278
|
]);
|
5282
|
-
const params = {
|
5279
|
+
const params = {
|
5280
|
+
script,
|
5281
|
+
gasPrice: minGasPrice,
|
5282
|
+
baseAssetId,
|
5283
|
+
...txParams
|
5284
|
+
};
|
5283
5285
|
const request = new ScriptTransactionRequest(params);
|
5284
|
-
const forwardingQuantities = [{ amount: (0, import_math18.bn)(amount), assetId:
|
5286
|
+
const forwardingQuantities = [{ amount: (0, import_math18.bn)(amount), assetId: baseAssetId }];
|
5285
5287
|
const { requiredQuantities, maxFee, gasUsed } = await this.provider.getTransactionCost(
|
5286
5288
|
request,
|
5287
5289
|
forwardingQuantities
|
@@ -8844,9 +8846,8 @@ var StorageAbstract = class {
|
|
8844
8846
|
// src/predicate/predicate.ts
|
8845
8847
|
var import_abi_coder7 = require("@fuel-ts/abi-coder");
|
8846
8848
|
var import_address10 = require("@fuel-ts/address");
|
8847
|
-
var import_configs13 = require("@fuel-ts/address/configs");
|
8848
8849
|
var import_errors25 = require("@fuel-ts/errors");
|
8849
|
-
var
|
8850
|
+
var import_transactions20 = require("@fuel-ts/transactions");
|
8850
8851
|
var import_utils37 = require("@fuel-ts/utils");
|
8851
8852
|
|
8852
8853
|
// src/predicate/utils/getPredicateRoot.ts
|
@@ -8905,15 +8906,10 @@ var Predicate = class extends Account {
|
|
8905
8906
|
populateTransactionPredicateData(transactionRequestLike) {
|
8906
8907
|
const request = transactionRequestify(transactionRequestLike);
|
8907
8908
|
const { policies } = BaseTransactionRequest.getPolicyMeta(request);
|
8908
|
-
|
8909
|
-
|
8910
|
-
request.removeWitness(placeholderIndex);
|
8911
|
-
}
|
8912
|
-
request.inputs.filter(isRequestInputResource).forEach((input) => {
|
8913
|
-
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()) {
|
8914
8911
|
input.predicate = this.bytes;
|
8915
8912
|
input.predicateData = this.getPredicateData(policies.length);
|
8916
|
-
input.witnessIndex = 0;
|
8917
8913
|
}
|
8918
8914
|
});
|
8919
8915
|
return request;
|
@@ -8927,8 +8923,9 @@ var Predicate = class extends Account {
|
|
8927
8923
|
* @param txParams - The transaction parameters (gasLimit, gasPrice, maturity).
|
8928
8924
|
* @returns A promise that resolves to the prepared transaction request.
|
8929
8925
|
*/
|
8930
|
-
async createTransfer(destination, amount, assetId
|
8931
|
-
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);
|
8932
8929
|
return this.populateTransactionPredicateData(request);
|
8933
8930
|
}
|
8934
8931
|
/**
|
@@ -8951,26 +8948,12 @@ var Predicate = class extends Account {
|
|
8951
8948
|
const transactionRequest = this.populateTransactionPredicateData(transactionRequestLike);
|
8952
8949
|
return super.simulateTransaction(transactionRequest);
|
8953
8950
|
}
|
8954
|
-
/**
|
8955
|
-
* Retrieves resources satisfying the spend query for the account.
|
8956
|
-
*
|
8957
|
-
* @param quantities - IDs of coins to exclude.
|
8958
|
-
* @param excludedIds - IDs of resources to be excluded from the query.
|
8959
|
-
* @returns A promise that resolves to an array of Resources.
|
8960
|
-
*/
|
8961
|
-
async getResourcesToSpend(quantities, excludedIds) {
|
8962
|
-
const resources = await super.getResourcesToSpend(quantities, excludedIds);
|
8963
|
-
return resources.map((resource) => ({
|
8964
|
-
...resource,
|
8965
|
-
predicate: (0, import_utils37.hexlify)(this.bytes)
|
8966
|
-
}));
|
8967
|
-
}
|
8968
8951
|
getPredicateData(policiesLength) {
|
8969
8952
|
if (!this.predicateData.length) {
|
8970
8953
|
return new Uint8Array();
|
8971
8954
|
}
|
8972
8955
|
const mainFn = this.interface?.functions.main;
|
8973
|
-
const paddedCode = new
|
8956
|
+
const paddedCode = new import_transactions20.ByteArrayCoder(this.bytes.length).encode(this.bytes);
|
8974
8957
|
const VM_TX_MEMORY = (0, import_abi_coder7.calculateVmTxMemory)({
|
8975
8958
|
maxInputs: this.provider.getChain().consensusParameters.maxInputs.toNumber()
|
8976
8959
|
});
|
@@ -9044,22 +9027,6 @@ var Predicate = class extends Account {
|
|
9044
9027
|
}
|
9045
9028
|
return mutatedBytes;
|
9046
9029
|
}
|
9047
|
-
getIndexFromPlaceholderWitness(request) {
|
9048
|
-
const predicateInputs = request.inputs.filter(isRequestInputResource).filter((input) => isRequestInputResourceFromOwner(input, this.address));
|
9049
|
-
let index = -1;
|
9050
|
-
const hasEmptyPredicateInputs = predicateInputs.find((input) => !input.predicate);
|
9051
|
-
if (hasEmptyPredicateInputs) {
|
9052
|
-
index = hasEmptyPredicateInputs.witnessIndex;
|
9053
|
-
const allInputsAreEmpty = predicateInputs.every((input) => !input.predicate);
|
9054
|
-
if (!allInputsAreEmpty) {
|
9055
|
-
const wasFilledInputAddedFirst = !!predicateInputs[0]?.predicate;
|
9056
|
-
if (wasFilledInputAddedFirst) {
|
9057
|
-
index = -1;
|
9058
|
-
}
|
9059
|
-
}
|
9060
|
-
}
|
9061
|
-
return index;
|
9062
|
-
}
|
9063
9030
|
};
|
9064
9031
|
|
9065
9032
|
// src/connectors/fuel.ts
|
@@ -9783,7 +9750,6 @@ __publicField(Fuel, "defaultConfig", {});
|
|
9783
9750
|
assets,
|
9784
9751
|
buildBlockExplorerUrl,
|
9785
9752
|
cacheFor,
|
9786
|
-
cacheResources,
|
9787
9753
|
calculateMetadataGasForTxCreate,
|
9788
9754
|
calculateMetadataGasForTxScript,
|
9789
9755
|
calculatePriceWithFactor,
|
@@ -9830,7 +9796,6 @@ __publicField(Fuel, "defaultConfig", {});
|
|
9830
9796
|
getReceiptsMessageOut,
|
9831
9797
|
getReceiptsTransferOut,
|
9832
9798
|
getReceiptsWithMissingData,
|
9833
|
-
getRequestInputResourceOwner,
|
9834
9799
|
getTransactionStatusName,
|
9835
9800
|
getTransactionSummary,
|
9836
9801
|
getTransactionSummaryFromRequest,
|
@@ -9844,10 +9809,6 @@ __publicField(Fuel, "defaultConfig", {});
|
|
9844
9809
|
isMessage,
|
9845
9810
|
isRawCoin,
|
9846
9811
|
isRawMessage,
|
9847
|
-
isRequestInputCoin,
|
9848
|
-
isRequestInputMessage,
|
9849
|
-
isRequestInputResource,
|
9850
|
-
isRequestInputResourceFromOwner,
|
9851
9812
|
isType,
|
9852
9813
|
isTypeCreate,
|
9853
9814
|
isTypeMint,
|