@fuel-ts/account 0.0.0-rc-2045-20240411194225 → 0.0.0-rc-1976-20240412134847
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 +67 -45
- package/dist/index.global.js.map +1 -1
- package/dist/index.js +100 -80
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +62 -42
- package/dist/index.mjs.map +1 -1
- 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/provider.d.ts +7 -0
- package/dist/providers/provider.d.ts.map +1 -1
- package/dist/providers/transaction-request/create-transaction-request.d.ts +1 -1
- package/dist/providers/transaction-request/create-transaction-request.d.ts.map +1 -1
- package/dist/providers/transaction-request/script-transaction-request.d.ts +1 -1
- package/dist/providers/transaction-request/script-transaction-request.d.ts.map +1 -1
- package/dist/providers/transaction-request/transaction-request.d.ts +5 -2
- package/dist/providers/transaction-request/transaction-request.d.ts.map +1 -1
- package/dist/test-utils/launchNode.d.ts.map +1 -1
- package/dist/test-utils/seedTestWallet.d.ts.map +1 -1
- package/dist/test-utils.global.js +71 -46
- package/dist/test-utils.global.js.map +1 -1
- package/dist/test-utils.js +103 -80
- package/dist/test-utils.js.map +1 -1
- package/dist/test-utils.mjs +65 -42
- package/dist/test-utils.mjs.map +1 -1
- package/package.json +16 -16
package/dist/index.js
CHANGED
@@ -184,14 +184,12 @@ module.exports = __toCommonJS(src_exports);
|
|
184
184
|
|
185
185
|
// src/account.ts
|
186
186
|
var import_address4 = require("@fuel-ts/address");
|
187
|
-
var import_configs12 = require("@fuel-ts/address/configs");
|
188
187
|
var import_errors16 = require("@fuel-ts/errors");
|
189
188
|
var import_interfaces = require("@fuel-ts/interfaces");
|
190
189
|
var import_math18 = require("@fuel-ts/math");
|
191
190
|
var import_utils28 = require("@fuel-ts/utils");
|
192
191
|
|
193
192
|
// src/providers/coin-quantity.ts
|
194
|
-
var import_configs = require("@fuel-ts/address/configs");
|
195
193
|
var import_math = require("@fuel-ts/math");
|
196
194
|
var import_utils = require("@fuel-ts/utils");
|
197
195
|
var coinQuantityfy = (coinQuantityLike) => {
|
@@ -200,11 +198,11 @@ var coinQuantityfy = (coinQuantityLike) => {
|
|
200
198
|
let max2;
|
201
199
|
if (Array.isArray(coinQuantityLike)) {
|
202
200
|
amount = coinQuantityLike[0];
|
203
|
-
assetId = coinQuantityLike[1]
|
204
|
-
max2 = coinQuantityLike[2]
|
201
|
+
assetId = coinQuantityLike[1];
|
202
|
+
max2 = coinQuantityLike[2];
|
205
203
|
} else {
|
206
204
|
amount = coinQuantityLike.amount;
|
207
|
-
assetId = coinQuantityLike.assetId
|
205
|
+
assetId = coinQuantityLike.assetId;
|
208
206
|
max2 = coinQuantityLike.max ?? void 0;
|
209
207
|
}
|
210
208
|
const bnAmount = (0, import_math.bn)(amount);
|
@@ -1174,7 +1172,7 @@ var MemoryCache = class {
|
|
1174
1172
|
|
1175
1173
|
// src/providers/transaction-request/input.ts
|
1176
1174
|
var import_abi_coder = require("@fuel-ts/abi-coder");
|
1177
|
-
var
|
1175
|
+
var import_configs = require("@fuel-ts/address/configs");
|
1178
1176
|
var import_errors3 = require("@fuel-ts/errors");
|
1179
1177
|
var import_math2 = require("@fuel-ts/math");
|
1180
1178
|
var import_transactions = require("@fuel-ts/transactions");
|
@@ -1208,10 +1206,10 @@ var inputify = (value) => {
|
|
1208
1206
|
case import_transactions.InputType.Contract: {
|
1209
1207
|
return {
|
1210
1208
|
type: import_transactions.InputType.Contract,
|
1211
|
-
txID:
|
1209
|
+
txID: import_configs.ZeroBytes32,
|
1212
1210
|
outputIndex: 0,
|
1213
|
-
balanceRoot:
|
1214
|
-
stateRoot:
|
1211
|
+
balanceRoot: import_configs.ZeroBytes32,
|
1212
|
+
stateRoot: import_configs.ZeroBytes32,
|
1215
1213
|
txPointer: {
|
1216
1214
|
blockHeight: (0, import_math2.toNumber)((0, import_utils3.arrayify)(value.txPointer).slice(0, 8)),
|
1217
1215
|
txIndex: (0, import_math2.toNumber)((0, import_utils3.arrayify)(value.txPointer).slice(8, 16))
|
@@ -1249,7 +1247,7 @@ var inputify = (value) => {
|
|
1249
1247
|
};
|
1250
1248
|
|
1251
1249
|
// src/providers/transaction-request/output.ts
|
1252
|
-
var
|
1250
|
+
var import_configs2 = require("@fuel-ts/address/configs");
|
1253
1251
|
var import_errors4 = require("@fuel-ts/errors");
|
1254
1252
|
var import_math3 = require("@fuel-ts/math");
|
1255
1253
|
var import_transactions2 = require("@fuel-ts/transactions");
|
@@ -1269,8 +1267,8 @@ var outputify = (value) => {
|
|
1269
1267
|
return {
|
1270
1268
|
type: import_transactions2.OutputType.Contract,
|
1271
1269
|
inputIndex: value.inputIndex,
|
1272
|
-
balanceRoot:
|
1273
|
-
stateRoot:
|
1270
|
+
balanceRoot: import_configs2.ZeroBytes32,
|
1271
|
+
stateRoot: import_configs2.ZeroBytes32
|
1274
1272
|
};
|
1275
1273
|
}
|
1276
1274
|
case import_transactions2.OutputType.Change: {
|
@@ -1284,9 +1282,9 @@ var outputify = (value) => {
|
|
1284
1282
|
case import_transactions2.OutputType.Variable: {
|
1285
1283
|
return {
|
1286
1284
|
type: import_transactions2.OutputType.Variable,
|
1287
|
-
to:
|
1285
|
+
to: import_configs2.ZeroBytes32,
|
1288
1286
|
amount: (0, import_math3.bn)(0),
|
1289
|
-
assetId:
|
1287
|
+
assetId: import_configs2.ZeroBytes32
|
1290
1288
|
};
|
1291
1289
|
}
|
1292
1290
|
case import_transactions2.OutputType.ContractCreated: {
|
@@ -1308,7 +1306,7 @@ var outputify = (value) => {
|
|
1308
1306
|
// src/providers/transaction-request/transaction-request.ts
|
1309
1307
|
var import_abi_coder2 = require("@fuel-ts/abi-coder");
|
1310
1308
|
var import_address = require("@fuel-ts/address");
|
1311
|
-
var
|
1309
|
+
var import_configs6 = require("@fuel-ts/address/configs");
|
1312
1310
|
var import_crypto = require("@fuel-ts/crypto");
|
1313
1311
|
var import_math7 = require("@fuel-ts/math");
|
1314
1312
|
var import_transactions6 = require("@fuel-ts/transactions");
|
@@ -1321,13 +1319,13 @@ var isCoin = (resource) => "id" in resource;
|
|
1321
1319
|
var isMessage = (resource) => "recipient" in resource;
|
1322
1320
|
|
1323
1321
|
// src/providers/utils/receipts.ts
|
1324
|
-
var
|
1322
|
+
var import_configs3 = require("@fuel-ts/address/configs");
|
1325
1323
|
var import_errors5 = require("@fuel-ts/errors");
|
1326
1324
|
var import_math4 = require("@fuel-ts/math");
|
1327
1325
|
var import_transactions3 = require("@fuel-ts/transactions");
|
1328
|
-
var
|
1326
|
+
var import_configs4 = require("@fuel-ts/transactions/configs");
|
1329
1327
|
var import_utils5 = require("@fuel-ts/utils");
|
1330
|
-
var doesReceiptHaveMissingOutputVariables = (receipt) => receipt.type === import_transactions3.ReceiptType.Revert && receipt.val.toString("hex") ===
|
1328
|
+
var doesReceiptHaveMissingOutputVariables = (receipt) => receipt.type === import_transactions3.ReceiptType.Revert && receipt.val.toString("hex") === import_configs4.FAILED_TRANSFER_TO_ADDRESS_SIGNAL;
|
1331
1329
|
var doesReceiptHaveMissingContractId = (receipt) => receipt.type === import_transactions3.ReceiptType.Panic && receipt.contractId !== "0x0000000000000000000000000000000000000000000000000000000000000000";
|
1332
1330
|
var getReceiptsWithMissingData = (receipts) => receipts.reduce(
|
1333
1331
|
(memo, receipt) => {
|
@@ -1344,7 +1342,7 @@ var getReceiptsWithMissingData = (receipts) => receipts.reduce(
|
|
1344
1342
|
missingOutputContractIds: []
|
1345
1343
|
}
|
1346
1344
|
);
|
1347
|
-
var hexOrZero = (hex) => hex ||
|
1345
|
+
var hexOrZero = (hex) => hex || import_configs3.ZeroBytes32;
|
1348
1346
|
function assembleReceiptByType(receipt) {
|
1349
1347
|
const { receiptType } = receipt;
|
1350
1348
|
switch (receiptType) {
|
@@ -1708,16 +1706,16 @@ function sleep(time) {
|
|
1708
1706
|
var import_errors7 = require("@fuel-ts/errors");
|
1709
1707
|
var import_math6 = require("@fuel-ts/math");
|
1710
1708
|
var import_transactions5 = require("@fuel-ts/transactions");
|
1711
|
-
var
|
1709
|
+
var import_configs5 = require("@fuel-ts/transactions/configs");
|
1712
1710
|
var assemblePanicError = (status) => {
|
1713
1711
|
let errorMessage = `The transaction reverted with reason: "${status.reason}".`;
|
1714
1712
|
const reason = status.reason;
|
1715
|
-
if (
|
1713
|
+
if (import_configs5.PANIC_REASONS.includes(status.reason)) {
|
1716
1714
|
errorMessage = `${errorMessage}
|
1717
1715
|
|
1718
1716
|
You can read more about this error at:
|
1719
1717
|
|
1720
|
-
${
|
1718
|
+
${import_configs5.PANIC_DOC_URL}#variant.${status.reason}`;
|
1721
1719
|
}
|
1722
1720
|
return { errorMessage, reason };
|
1723
1721
|
};
|
@@ -1729,28 +1727,28 @@ var assembleRevertError = (receipts, logs) => {
|
|
1729
1727
|
if (revertReceipt) {
|
1730
1728
|
const reasonHex = (0, import_math6.bn)(revertReceipt.val).toHex();
|
1731
1729
|
switch (reasonHex) {
|
1732
|
-
case
|
1730
|
+
case import_configs5.FAILED_REQUIRE_SIGNAL: {
|
1733
1731
|
reason = "require";
|
1734
1732
|
errorMessage = `The transaction reverted because a "require" statement has thrown ${logs.length ? stringify(logs[0]) : "an error."}.`;
|
1735
1733
|
break;
|
1736
1734
|
}
|
1737
|
-
case
|
1735
|
+
case import_configs5.FAILED_ASSERT_EQ_SIGNAL: {
|
1738
1736
|
const sufix = logs.length >= 2 ? ` comparing ${stringify(logs[1])} and ${stringify(logs[0])}.` : ".";
|
1739
1737
|
reason = "assert_eq";
|
1740
1738
|
errorMessage = `The transaction reverted because of an "assert_eq" statement${sufix}`;
|
1741
1739
|
break;
|
1742
1740
|
}
|
1743
|
-
case
|
1741
|
+
case import_configs5.FAILED_ASSERT_NE_SIGNAL: {
|
1744
1742
|
const sufix = logs.length >= 2 ? ` comparing ${stringify(logs[1])} and ${stringify(logs[0])}.` : ".";
|
1745
1743
|
reason = "assert_ne";
|
1746
1744
|
errorMessage = `The transaction reverted because of an "assert_ne" statement${sufix}`;
|
1747
1745
|
break;
|
1748
1746
|
}
|
1749
|
-
case
|
1747
|
+
case import_configs5.FAILED_ASSERT_SIGNAL:
|
1750
1748
|
reason = "assert";
|
1751
1749
|
errorMessage = `The transaction reverted because an "assert" statement failed to evaluate to true.`;
|
1752
1750
|
break;
|
1753
|
-
case
|
1751
|
+
case import_configs5.FAILED_TRANSFER_TO_ADDRESS_SIGNAL:
|
1754
1752
|
reason = "MissingOutputChange";
|
1755
1753
|
errorMessage = `The transaction reverted because it's missing an "OutputChange".`;
|
1756
1754
|
break;
|
@@ -1824,6 +1822,8 @@ var BaseTransactionRequest = class {
|
|
1824
1822
|
outputs = [];
|
1825
1823
|
/** List of witnesses */
|
1826
1824
|
witnesses = [];
|
1825
|
+
/** Base asset ID - should be fetched from the chain */
|
1826
|
+
baseAssetId;
|
1827
1827
|
/**
|
1828
1828
|
* Constructor for initializing a base transaction request.
|
1829
1829
|
*
|
@@ -1836,8 +1836,9 @@ var BaseTransactionRequest = class {
|
|
1836
1836
|
witnessLimit,
|
1837
1837
|
inputs,
|
1838
1838
|
outputs,
|
1839
|
-
witnesses
|
1840
|
-
|
1839
|
+
witnesses,
|
1840
|
+
baseAssetId
|
1841
|
+
}) {
|
1841
1842
|
this.gasPrice = (0, import_math7.bn)(gasPrice);
|
1842
1843
|
this.maturity = maturity ?? 0;
|
1843
1844
|
this.witnessLimit = witnessLimit ? (0, import_math7.bn)(witnessLimit) : void 0;
|
@@ -1845,6 +1846,7 @@ var BaseTransactionRequest = class {
|
|
1845
1846
|
this.inputs = inputs ?? [];
|
1846
1847
|
this.outputs = outputs ?? [];
|
1847
1848
|
this.witnesses = witnesses ?? [];
|
1849
|
+
this.baseAssetId = baseAssetId;
|
1848
1850
|
}
|
1849
1851
|
static getPolicyMeta(req) {
|
1850
1852
|
let policyTypes = 0;
|
@@ -1937,7 +1939,7 @@ var BaseTransactionRequest = class {
|
|
1937
1939
|
* @returns The index of the created witness.
|
1938
1940
|
*/
|
1939
1941
|
addEmptyWitness() {
|
1940
|
-
this.addWitness((0, import_utils9.concat)([
|
1942
|
+
this.addWitness((0, import_utils9.concat)([import_configs6.ZeroBytes32, import_configs6.ZeroBytes32]));
|
1941
1943
|
return this.witnesses.length - 1;
|
1942
1944
|
}
|
1943
1945
|
/**
|
@@ -2068,11 +2070,9 @@ var BaseTransactionRequest = class {
|
|
2068
2070
|
*
|
2069
2071
|
* @param message - Message resource.
|
2070
2072
|
* @param predicate - Predicate bytes.
|
2071
|
-
* @param predicateData - Predicate data bytes.
|
2072
2073
|
*/
|
2073
2074
|
addMessageInput(message, predicate) {
|
2074
2075
|
const { recipient, sender, amount } = message;
|
2075
|
-
const assetId = import_configs7.BaseAssetId;
|
2076
2076
|
let witnessIndex;
|
2077
2077
|
if (predicate) {
|
2078
2078
|
witnessIndex = 0;
|
@@ -2092,7 +2092,7 @@ var BaseTransactionRequest = class {
|
|
2092
2092
|
predicate: predicate?.bytes
|
2093
2093
|
};
|
2094
2094
|
this.pushInput(input);
|
2095
|
-
this.addChangeOutput(recipient,
|
2095
|
+
this.addChangeOutput(recipient, this.baseAssetId);
|
2096
2096
|
}
|
2097
2097
|
/**
|
2098
2098
|
* Adds a single resource to the transaction by adding a coin/message input and a
|
@@ -2153,12 +2153,12 @@ var BaseTransactionRequest = class {
|
|
2153
2153
|
* @param amount - Amount of coin.
|
2154
2154
|
* @param assetId - Asset ID of coin.
|
2155
2155
|
*/
|
2156
|
-
addCoinOutput(to, amount, assetId
|
2156
|
+
addCoinOutput(to, amount, assetId) {
|
2157
2157
|
this.pushOutput({
|
2158
2158
|
type: import_transactions6.OutputType.Coin,
|
2159
2159
|
to: (0, import_address.addressify)(to).toB256(),
|
2160
2160
|
amount,
|
2161
|
-
assetId
|
2161
|
+
assetId: assetId ?? this.baseAssetId
|
2162
2162
|
});
|
2163
2163
|
return this;
|
2164
2164
|
}
|
@@ -2185,7 +2185,7 @@ var BaseTransactionRequest = class {
|
|
2185
2185
|
* @param to - Address of the owner.
|
2186
2186
|
* @param assetId - Asset ID of coin.
|
2187
2187
|
*/
|
2188
|
-
addChangeOutput(to, assetId
|
2188
|
+
addChangeOutput(to, assetId) {
|
2189
2189
|
const changeOutput = this.getChangeOutputs().find(
|
2190
2190
|
(output) => (0, import_utils9.hexlify)(output.assetId) === assetId
|
2191
2191
|
);
|
@@ -2193,7 +2193,7 @@ var BaseTransactionRequest = class {
|
|
2193
2193
|
this.pushOutput({
|
2194
2194
|
type: import_transactions6.OutputType.Change,
|
2195
2195
|
to: (0, import_address.addressify)(to).toB256(),
|
2196
|
-
assetId
|
2196
|
+
assetId: assetId ?? this.baseAssetId
|
2197
2197
|
});
|
2198
2198
|
}
|
2199
2199
|
}
|
@@ -2269,7 +2269,7 @@ var BaseTransactionRequest = class {
|
|
2269
2269
|
]);
|
2270
2270
|
}
|
2271
2271
|
};
|
2272
|
-
updateAssetInput(
|
2272
|
+
updateAssetInput(this.baseAssetId, (0, import_math7.bn)(1e11));
|
2273
2273
|
quantities.forEach((q) => updateAssetInput(q.assetId, q.amount));
|
2274
2274
|
}
|
2275
2275
|
/**
|
@@ -2319,13 +2319,13 @@ var BaseTransactionRequest = class {
|
|
2319
2319
|
};
|
2320
2320
|
|
2321
2321
|
// src/providers/transaction-request/create-transaction-request.ts
|
2322
|
-
var
|
2322
|
+
var import_configs8 = require("@fuel-ts/address/configs");
|
2323
2323
|
var import_math9 = require("@fuel-ts/math");
|
2324
2324
|
var import_transactions8 = require("@fuel-ts/transactions");
|
2325
2325
|
var import_utils13 = require("@fuel-ts/utils");
|
2326
2326
|
|
2327
2327
|
// src/providers/transaction-request/hash-transaction.ts
|
2328
|
-
var
|
2328
|
+
var import_configs7 = require("@fuel-ts/address/configs");
|
2329
2329
|
var import_hasher = require("@fuel-ts/hasher");
|
2330
2330
|
var import_math8 = require("@fuel-ts/math");
|
2331
2331
|
var import_transactions7 = require("@fuel-ts/transactions");
|
@@ -2334,7 +2334,7 @@ var import_ramda2 = require("ramda");
|
|
2334
2334
|
function hashTransaction(transactionRequest, chainId) {
|
2335
2335
|
const transaction = transactionRequest.toTransaction();
|
2336
2336
|
if (transaction.type === import_transactions7.TransactionType.Script) {
|
2337
|
-
transaction.receiptsRoot =
|
2337
|
+
transaction.receiptsRoot = import_configs7.ZeroBytes32;
|
2338
2338
|
}
|
2339
2339
|
transaction.inputs = transaction.inputs.map((input) => {
|
2340
2340
|
const inputClone = (0, import_ramda2.clone)(input);
|
@@ -2356,10 +2356,10 @@ function hashTransaction(transactionRequest, chainId) {
|
|
2356
2356
|
blockHeight: 0,
|
2357
2357
|
txIndex: 0
|
2358
2358
|
};
|
2359
|
-
inputClone.txID =
|
2359
|
+
inputClone.txID = import_configs7.ZeroBytes32;
|
2360
2360
|
inputClone.outputIndex = 0;
|
2361
|
-
inputClone.balanceRoot =
|
2362
|
-
inputClone.stateRoot =
|
2361
|
+
inputClone.balanceRoot = import_configs7.ZeroBytes32;
|
2362
|
+
inputClone.stateRoot = import_configs7.ZeroBytes32;
|
2363
2363
|
return inputClone;
|
2364
2364
|
}
|
2365
2365
|
default:
|
@@ -2370,8 +2370,8 @@ function hashTransaction(transactionRequest, chainId) {
|
|
2370
2370
|
const outputClone = (0, import_ramda2.clone)(output);
|
2371
2371
|
switch (outputClone.type) {
|
2372
2372
|
case import_transactions7.OutputType.Contract: {
|
2373
|
-
outputClone.balanceRoot =
|
2374
|
-
outputClone.stateRoot =
|
2373
|
+
outputClone.balanceRoot = import_configs7.ZeroBytes32;
|
2374
|
+
outputClone.stateRoot = import_configs7.ZeroBytes32;
|
2375
2375
|
return outputClone;
|
2376
2376
|
}
|
2377
2377
|
case import_transactions7.OutputType.Change: {
|
@@ -2379,9 +2379,9 @@ function hashTransaction(transactionRequest, chainId) {
|
|
2379
2379
|
return outputClone;
|
2380
2380
|
}
|
2381
2381
|
case import_transactions7.OutputType.Variable: {
|
2382
|
-
outputClone.to =
|
2382
|
+
outputClone.to = import_configs7.ZeroBytes32;
|
2383
2383
|
outputClone.amount = (0, import_math8.bn)(0);
|
2384
|
-
outputClone.assetId =
|
2384
|
+
outputClone.assetId = import_configs7.ZeroBytes32;
|
2385
2385
|
return outputClone;
|
2386
2386
|
}
|
2387
2387
|
default:
|
@@ -2439,15 +2439,10 @@ var CreateTransactionRequest = class extends BaseTransactionRequest {
|
|
2439
2439
|
*
|
2440
2440
|
* @param createTransactionRequestLike - The initial values for the instance
|
2441
2441
|
*/
|
2442
|
-
constructor({
|
2443
|
-
bytecodeWitnessIndex,
|
2444
|
-
salt,
|
2445
|
-
storageSlots,
|
2446
|
-
...rest
|
2447
|
-
} = {}) {
|
2442
|
+
constructor({ bytecodeWitnessIndex, salt, storageSlots, ...rest }) {
|
2448
2443
|
super(rest);
|
2449
2444
|
this.bytecodeWitnessIndex = bytecodeWitnessIndex ?? 0;
|
2450
|
-
this.salt = (0, import_utils13.hexlify)(salt ??
|
2445
|
+
this.salt = (0, import_utils13.hexlify)(salt ?? import_configs8.ZeroBytes32);
|
2451
2446
|
this.storageSlots = [...storageSlots ?? []];
|
2452
2447
|
}
|
2453
2448
|
/**
|
@@ -2465,7 +2460,7 @@ var CreateTransactionRequest = class extends BaseTransactionRequest {
|
|
2465
2460
|
bytecodeLength: baseTransaction.witnesses[bytecodeWitnessIndex].dataLength / 4,
|
2466
2461
|
bytecodeWitnessIndex,
|
2467
2462
|
storageSlotsCount: storageSlots.length,
|
2468
|
-
salt: this.salt ? (0, import_utils13.hexlify)(this.salt) :
|
2463
|
+
salt: this.salt ? (0, import_utils13.hexlify)(this.salt) : import_configs8.ZeroBytes32,
|
2469
2464
|
storageSlots
|
2470
2465
|
};
|
2471
2466
|
}
|
@@ -2515,7 +2510,7 @@ var CreateTransactionRequest = class extends BaseTransactionRequest {
|
|
2515
2510
|
// src/providers/transaction-request/script-transaction-request.ts
|
2516
2511
|
var import_abi_coder3 = require("@fuel-ts/abi-coder");
|
2517
2512
|
var import_address2 = require("@fuel-ts/address");
|
2518
|
-
var
|
2513
|
+
var import_configs9 = require("@fuel-ts/address/configs");
|
2519
2514
|
var import_math10 = require("@fuel-ts/math");
|
2520
2515
|
var import_transactions9 = require("@fuel-ts/transactions");
|
2521
2516
|
var import_utils15 = require("@fuel-ts/utils");
|
@@ -2568,7 +2563,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
|
|
2568
2563
|
*
|
2569
2564
|
* @param scriptTransactionRequestLike - The initial values for the instance.
|
2570
2565
|
*/
|
2571
|
-
constructor({ script, scriptData, gasLimit, ...rest }
|
2566
|
+
constructor({ script, scriptData, gasLimit, ...rest }) {
|
2572
2567
|
super(rest);
|
2573
2568
|
this.gasLimit = (0, import_math10.bn)(gasLimit);
|
2574
2569
|
this.script = (0, import_utils15.arrayify)(script ?? returnZeroScript.bytes);
|
@@ -2589,7 +2584,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
|
|
2589
2584
|
...super.getBaseTransaction(),
|
2590
2585
|
scriptLength: script.length,
|
2591
2586
|
scriptDataLength: scriptData.length,
|
2592
|
-
receiptsRoot:
|
2587
|
+
receiptsRoot: import_configs9.ZeroBytes32,
|
2593
2588
|
script: (0, import_utils15.hexlify)(script),
|
2594
2589
|
scriptData: (0, import_utils15.hexlify)(scriptData)
|
2595
2590
|
};
|
@@ -2821,7 +2816,7 @@ var calculateTransactionFee = (params) => {
|
|
2821
2816
|
};
|
2822
2817
|
|
2823
2818
|
// src/providers/transaction-summary/operations.ts
|
2824
|
-
var
|
2819
|
+
var import_configs10 = require("@fuel-ts/address/configs");
|
2825
2820
|
var import_errors11 = require("@fuel-ts/errors");
|
2826
2821
|
var import_math13 = require("@fuel-ts/math");
|
2827
2822
|
var import_transactions14 = require("@fuel-ts/transactions");
|
@@ -3166,7 +3161,7 @@ function extractTransferOperationFromReceipt(receipt, contractInputs, changeOutp
|
|
3166
3161
|
const { to: toAddress, assetId, amount } = receipt;
|
3167
3162
|
let { from: fromAddress } = receipt;
|
3168
3163
|
const toType = contractInputs.some((input) => input.contractID === toAddress) ? 0 /* contract */ : 1 /* account */;
|
3169
|
-
if (
|
3164
|
+
if (import_configs10.ZeroBytes32 === fromAddress) {
|
3170
3165
|
const change = changeOutputs.find((output) => output.assetId === assetId);
|
3171
3166
|
fromAddress = change?.to || fromAddress;
|
3172
3167
|
}
|
@@ -3743,6 +3738,7 @@ var processGqlChain = (chain) => {
|
|
3743
3738
|
gasPerByte: (0, import_math15.bn)(feeParams.gasPerByte),
|
3744
3739
|
maxMessageDataLength: (0, import_math15.bn)(predicateParams.maxMessageDataLength),
|
3745
3740
|
chainId: (0, import_math15.bn)(consensusParameters.chainId),
|
3741
|
+
baseAssetId: consensusParameters.baseAssetId,
|
3746
3742
|
gasCosts
|
3747
3743
|
},
|
3748
3744
|
gasCosts,
|
@@ -3985,6 +3981,17 @@ var _Provider = class {
|
|
3985
3981
|
} = this.getChain();
|
3986
3982
|
return chainId.toNumber();
|
3987
3983
|
}
|
3984
|
+
/**
|
3985
|
+
* Returns the base asset ID
|
3986
|
+
*
|
3987
|
+
* @returns A promise that resolves to the base asset ID
|
3988
|
+
*/
|
3989
|
+
getBaseAssetId() {
|
3990
|
+
const {
|
3991
|
+
consensusParameters: { baseAssetId }
|
3992
|
+
} = this.getChain();
|
3993
|
+
return baseAssetId;
|
3994
|
+
}
|
3988
3995
|
/**
|
3989
3996
|
* Submits a transaction to the chain to be executed.
|
3990
3997
|
*
|
@@ -5048,8 +5055,9 @@ var Account = class extends import_interfaces.AbstractAccount {
|
|
5048
5055
|
* @param assetId - The asset ID to check the balance for.
|
5049
5056
|
* @returns A promise that resolves to the balance amount.
|
5050
5057
|
*/
|
5051
|
-
async getBalance(assetId
|
5052
|
-
const
|
5058
|
+
async getBalance(assetId) {
|
5059
|
+
const assetIdToFetch = assetId ?? this.provider.getBaseAssetId();
|
5060
|
+
const amount = await this.provider.getBalance(this.address, assetIdToFetch);
|
5053
5061
|
return amount;
|
5054
5062
|
}
|
5055
5063
|
/**
|
@@ -5087,9 +5095,10 @@ var Account = class extends import_interfaces.AbstractAccount {
|
|
5087
5095
|
* @returns A promise that resolves when the resources are added to the transaction.
|
5088
5096
|
*/
|
5089
5097
|
async fund(request, coinQuantities, fee) {
|
5098
|
+
const baseAssetId = this.provider.getBaseAssetId();
|
5090
5099
|
const updatedQuantities = addAmountToAsset({
|
5091
5100
|
amount: (0, import_math18.bn)(fee),
|
5092
|
-
assetId:
|
5101
|
+
assetId: baseAssetId,
|
5093
5102
|
coinQuantities
|
5094
5103
|
});
|
5095
5104
|
const quantitiesDict = {};
|
@@ -5113,8 +5122,8 @@ var Account = class extends import_interfaces.AbstractAccount {
|
|
5113
5122
|
quantitiesDict[assetId].owned = quantitiesDict[assetId].owned.add(amount);
|
5114
5123
|
cachedUtxos.push(input.id);
|
5115
5124
|
}
|
5116
|
-
} else if (input.recipient === owner && input.amount && quantitiesDict[
|
5117
|
-
quantitiesDict[
|
5125
|
+
} else if (input.recipient === owner && input.amount && quantitiesDict[baseAssetId]) {
|
5126
|
+
quantitiesDict[baseAssetId].owned = quantitiesDict[baseAssetId].owned.add(input.amount);
|
5118
5127
|
cachedMessages.push(input.nonce);
|
5119
5128
|
}
|
5120
5129
|
}
|
@@ -5146,11 +5155,13 @@ var Account = class extends import_interfaces.AbstractAccount {
|
|
5146
5155
|
* @param txParams - The transaction parameters (gasLimit, gasPrice, maturity).
|
5147
5156
|
* @returns A promise that resolves to the prepared transaction request.
|
5148
5157
|
*/
|
5149
|
-
async createTransfer(destination, amount, assetId
|
5158
|
+
async createTransfer(destination, amount, assetId, txParams = {}) {
|
5150
5159
|
const { minGasPrice } = this.provider.getGasConfig();
|
5151
|
-
const
|
5160
|
+
const baseAssetId = this.provider.getBaseAssetId();
|
5161
|
+
const assetIdToTransfer = assetId ?? this.provider.getBaseAssetId();
|
5162
|
+
const params = { gasPrice: minGasPrice, baseAssetId, ...txParams };
|
5152
5163
|
const request = new ScriptTransactionRequest(params);
|
5153
|
-
request.addCoinOutput(import_address4.Address.fromAddressOrString(destination), amount,
|
5164
|
+
request.addCoinOutput(import_address4.Address.fromAddressOrString(destination), amount, assetIdToTransfer);
|
5154
5165
|
const { maxFee, requiredQuantities, gasUsed, estimatedInputs } = await this.provider.getTransactionCost(request, [], {
|
5155
5166
|
estimateTxDependencies: true,
|
5156
5167
|
resourcesOwner: this
|
@@ -5176,14 +5187,15 @@ var Account = class extends import_interfaces.AbstractAccount {
|
|
5176
5187
|
* @param txParams - The transaction parameters (gasLimit, gasPrice, maturity).
|
5177
5188
|
* @returns A promise that resolves to the transaction response.
|
5178
5189
|
*/
|
5179
|
-
async transfer(destination, amount, assetId
|
5190
|
+
async transfer(destination, amount, assetId, txParams = {}) {
|
5180
5191
|
if ((0, import_math18.bn)(amount).lte(0)) {
|
5181
5192
|
throw new import_errors16.FuelError(
|
5182
5193
|
import_errors16.ErrorCode.INVALID_TRANSFER_AMOUNT,
|
5183
5194
|
"Transfer amount must be a positive number."
|
5184
5195
|
);
|
5185
5196
|
}
|
5186
|
-
const
|
5197
|
+
const assetIdToTransfer = assetId ?? this.provider.getBaseAssetId();
|
5198
|
+
const request = await this.createTransfer(destination, amount, assetIdToTransfer, txParams);
|
5187
5199
|
return this.sendTransaction(request, { estimateTxDependencies: false });
|
5188
5200
|
}
|
5189
5201
|
/**
|
@@ -5195,7 +5207,7 @@ var Account = class extends import_interfaces.AbstractAccount {
|
|
5195
5207
|
* @param txParams - The optional transaction parameters.
|
5196
5208
|
* @returns A promise that resolves to the transaction response.
|
5197
5209
|
*/
|
5198
|
-
async transferToContract(contractId, amount, assetId
|
5210
|
+
async transferToContract(contractId, amount, assetId, txParams = {}) {
|
5199
5211
|
if ((0, import_math18.bn)(amount).lte(0)) {
|
5200
5212
|
throw new import_errors16.FuelError(
|
5201
5213
|
import_errors16.ErrorCode.INVALID_TRANSFER_AMOUNT,
|
@@ -5204,11 +5216,13 @@ var Account = class extends import_interfaces.AbstractAccount {
|
|
5204
5216
|
}
|
5205
5217
|
const contractAddress = import_address4.Address.fromAddressOrString(contractId);
|
5206
5218
|
const { minGasPrice } = this.provider.getGasConfig();
|
5207
|
-
const
|
5219
|
+
const baseAssetId = this.provider.getBaseAssetId();
|
5220
|
+
const assetIdToTransfer = assetId ?? this.provider.getBaseAssetId();
|
5221
|
+
const params = { gasPrice: minGasPrice, baseAssetId, ...txParams };
|
5208
5222
|
const { script, scriptData } = await assembleTransferToContractScript({
|
5209
5223
|
hexlifiedContractId: contractAddress.toB256(),
|
5210
5224
|
amountToTransfer: (0, import_math18.bn)(amount),
|
5211
|
-
assetId
|
5225
|
+
assetId: assetIdToTransfer
|
5212
5226
|
});
|
5213
5227
|
const request = new ScriptTransactionRequest({
|
5214
5228
|
...params,
|
@@ -5218,7 +5232,7 @@ var Account = class extends import_interfaces.AbstractAccount {
|
|
5218
5232
|
request.addContractInputAndOutput(contractAddress);
|
5219
5233
|
const { maxFee, requiredQuantities, gasUsed } = await this.provider.getTransactionCost(
|
5220
5234
|
request,
|
5221
|
-
[{ amount: (0, import_math18.bn)(amount), assetId: String(
|
5235
|
+
[{ amount: (0, import_math18.bn)(amount), assetId: String(assetIdToTransfer) }]
|
5222
5236
|
);
|
5223
5237
|
request.gasLimit = (0, import_math18.bn)(params.gasLimit ?? gasUsed);
|
5224
5238
|
this.validateGas({
|
@@ -5240,6 +5254,7 @@ var Account = class extends import_interfaces.AbstractAccount {
|
|
5240
5254
|
*/
|
5241
5255
|
async withdrawToBaseLayer(recipient, amount, txParams = {}) {
|
5242
5256
|
const { minGasPrice } = this.provider.getGasConfig();
|
5257
|
+
const baseAssetId = this.provider.getBaseAssetId();
|
5243
5258
|
const recipientAddress = import_address4.Address.fromAddressOrString(recipient);
|
5244
5259
|
const recipientDataArray = (0, import_utils28.arrayify)(
|
5245
5260
|
"0x".concat(recipientAddress.toHexString().substring(2).padStart(64, "0"))
|
@@ -5252,9 +5267,14 @@ var Account = class extends import_interfaces.AbstractAccount {
|
|
5252
5267
|
...recipientDataArray,
|
5253
5268
|
...amountDataArray
|
5254
5269
|
]);
|
5255
|
-
const params = {
|
5270
|
+
const params = {
|
5271
|
+
script,
|
5272
|
+
gasPrice: minGasPrice,
|
5273
|
+
baseAssetId,
|
5274
|
+
...txParams
|
5275
|
+
};
|
5256
5276
|
const request = new ScriptTransactionRequest(params);
|
5257
|
-
const forwardingQuantities = [{ amount: (0, import_math18.bn)(amount), assetId:
|
5277
|
+
const forwardingQuantities = [{ amount: (0, import_math18.bn)(amount), assetId: baseAssetId }];
|
5258
5278
|
const { requiredQuantities, maxFee, gasUsed } = await this.provider.getTransactionCost(
|
5259
5279
|
request,
|
5260
5280
|
forwardingQuantities
|
@@ -8817,7 +8837,6 @@ var StorageAbstract = class {
|
|
8817
8837
|
// src/predicate/predicate.ts
|
8818
8838
|
var import_abi_coder7 = require("@fuel-ts/abi-coder");
|
8819
8839
|
var import_address10 = require("@fuel-ts/address");
|
8820
|
-
var import_configs13 = require("@fuel-ts/address/configs");
|
8821
8840
|
var import_errors25 = require("@fuel-ts/errors");
|
8822
8841
|
var import_transactions20 = require("@fuel-ts/transactions");
|
8823
8842
|
var import_utils37 = require("@fuel-ts/utils");
|
@@ -8895,8 +8914,9 @@ var Predicate = class extends Account {
|
|
8895
8914
|
* @param txParams - The transaction parameters (gasLimit, gasPrice, maturity).
|
8896
8915
|
* @returns A promise that resolves to the prepared transaction request.
|
8897
8916
|
*/
|
8898
|
-
async createTransfer(destination, amount, assetId
|
8899
|
-
const
|
8917
|
+
async createTransfer(destination, amount, assetId, txParams = {}) {
|
8918
|
+
const assetIdToTransfer = assetId ?? this.provider.getBaseAssetId();
|
8919
|
+
const request = await super.createTransfer(destination, amount, assetIdToTransfer, txParams);
|
8900
8920
|
return this.populateTransactionPredicateData(request);
|
8901
8921
|
}
|
8902
8922
|
/**
|