@fuel-ts/account 0.0.0-rc-2045-20240419094011 → 0.0.0-rc-1976-20240419101644
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 +15 -15
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);
|
@@ -1183,7 +1181,7 @@ var MemoryCache = class {
|
|
1183
1181
|
|
1184
1182
|
// src/providers/transaction-request/input.ts
|
1185
1183
|
var import_abi_coder = require("@fuel-ts/abi-coder");
|
1186
|
-
var
|
1184
|
+
var import_configs = require("@fuel-ts/address/configs");
|
1187
1185
|
var import_errors3 = require("@fuel-ts/errors");
|
1188
1186
|
var import_math2 = require("@fuel-ts/math");
|
1189
1187
|
var import_transactions = require("@fuel-ts/transactions");
|
@@ -1217,10 +1215,10 @@ var inputify = (value) => {
|
|
1217
1215
|
case import_transactions.InputType.Contract: {
|
1218
1216
|
return {
|
1219
1217
|
type: import_transactions.InputType.Contract,
|
1220
|
-
txID:
|
1218
|
+
txID: import_configs.ZeroBytes32,
|
1221
1219
|
outputIndex: 0,
|
1222
|
-
balanceRoot:
|
1223
|
-
stateRoot:
|
1220
|
+
balanceRoot: import_configs.ZeroBytes32,
|
1221
|
+
stateRoot: import_configs.ZeroBytes32,
|
1224
1222
|
txPointer: {
|
1225
1223
|
blockHeight: (0, import_math2.toNumber)((0, import_utils3.arrayify)(value.txPointer).slice(0, 8)),
|
1226
1224
|
txIndex: (0, import_math2.toNumber)((0, import_utils3.arrayify)(value.txPointer).slice(8, 16))
|
@@ -1258,7 +1256,7 @@ var inputify = (value) => {
|
|
1258
1256
|
};
|
1259
1257
|
|
1260
1258
|
// src/providers/transaction-request/output.ts
|
1261
|
-
var
|
1259
|
+
var import_configs2 = require("@fuel-ts/address/configs");
|
1262
1260
|
var import_errors4 = require("@fuel-ts/errors");
|
1263
1261
|
var import_math3 = require("@fuel-ts/math");
|
1264
1262
|
var import_transactions2 = require("@fuel-ts/transactions");
|
@@ -1278,8 +1276,8 @@ var outputify = (value) => {
|
|
1278
1276
|
return {
|
1279
1277
|
type: import_transactions2.OutputType.Contract,
|
1280
1278
|
inputIndex: value.inputIndex,
|
1281
|
-
balanceRoot:
|
1282
|
-
stateRoot:
|
1279
|
+
balanceRoot: import_configs2.ZeroBytes32,
|
1280
|
+
stateRoot: import_configs2.ZeroBytes32
|
1283
1281
|
};
|
1284
1282
|
}
|
1285
1283
|
case import_transactions2.OutputType.Change: {
|
@@ -1293,9 +1291,9 @@ var outputify = (value) => {
|
|
1293
1291
|
case import_transactions2.OutputType.Variable: {
|
1294
1292
|
return {
|
1295
1293
|
type: import_transactions2.OutputType.Variable,
|
1296
|
-
to:
|
1294
|
+
to: import_configs2.ZeroBytes32,
|
1297
1295
|
amount: (0, import_math3.bn)(0),
|
1298
|
-
assetId:
|
1296
|
+
assetId: import_configs2.ZeroBytes32
|
1299
1297
|
};
|
1300
1298
|
}
|
1301
1299
|
case import_transactions2.OutputType.ContractCreated: {
|
@@ -1317,7 +1315,7 @@ var outputify = (value) => {
|
|
1317
1315
|
// src/providers/transaction-request/transaction-request.ts
|
1318
1316
|
var import_abi_coder2 = require("@fuel-ts/abi-coder");
|
1319
1317
|
var import_address = require("@fuel-ts/address");
|
1320
|
-
var
|
1318
|
+
var import_configs6 = require("@fuel-ts/address/configs");
|
1321
1319
|
var import_crypto = require("@fuel-ts/crypto");
|
1322
1320
|
var import_math7 = require("@fuel-ts/math");
|
1323
1321
|
var import_transactions6 = require("@fuel-ts/transactions");
|
@@ -1330,13 +1328,13 @@ var isCoin = (resource) => "id" in resource;
|
|
1330
1328
|
var isMessage = (resource) => "recipient" in resource;
|
1331
1329
|
|
1332
1330
|
// src/providers/utils/receipts.ts
|
1333
|
-
var
|
1331
|
+
var import_configs3 = require("@fuel-ts/address/configs");
|
1334
1332
|
var import_errors5 = require("@fuel-ts/errors");
|
1335
1333
|
var import_math4 = require("@fuel-ts/math");
|
1336
1334
|
var import_transactions3 = require("@fuel-ts/transactions");
|
1337
|
-
var
|
1335
|
+
var import_configs4 = require("@fuel-ts/transactions/configs");
|
1338
1336
|
var import_utils5 = require("@fuel-ts/utils");
|
1339
|
-
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;
|
1340
1338
|
var doesReceiptHaveMissingContractId = (receipt) => receipt.type === import_transactions3.ReceiptType.Panic && receipt.contractId !== "0x0000000000000000000000000000000000000000000000000000000000000000";
|
1341
1339
|
var getReceiptsWithMissingData = (receipts) => receipts.reduce(
|
1342
1340
|
(memo, receipt) => {
|
@@ -1353,7 +1351,7 @@ var getReceiptsWithMissingData = (receipts) => receipts.reduce(
|
|
1353
1351
|
missingOutputContractIds: []
|
1354
1352
|
}
|
1355
1353
|
);
|
1356
|
-
var hexOrZero = (hex) => hex ||
|
1354
|
+
var hexOrZero = (hex) => hex || import_configs3.ZeroBytes32;
|
1357
1355
|
function assembleReceiptByType(receipt) {
|
1358
1356
|
const { receiptType } = receipt;
|
1359
1357
|
switch (receiptType) {
|
@@ -1717,16 +1715,16 @@ function sleep(time) {
|
|
1717
1715
|
var import_errors7 = require("@fuel-ts/errors");
|
1718
1716
|
var import_math6 = require("@fuel-ts/math");
|
1719
1717
|
var import_transactions5 = require("@fuel-ts/transactions");
|
1720
|
-
var
|
1718
|
+
var import_configs5 = require("@fuel-ts/transactions/configs");
|
1721
1719
|
var assemblePanicError = (status) => {
|
1722
1720
|
let errorMessage = `The transaction reverted with reason: "${status.reason}".`;
|
1723
1721
|
const reason = status.reason;
|
1724
|
-
if (
|
1722
|
+
if (import_configs5.PANIC_REASONS.includes(status.reason)) {
|
1725
1723
|
errorMessage = `${errorMessage}
|
1726
1724
|
|
1727
1725
|
You can read more about this error at:
|
1728
1726
|
|
1729
|
-
${
|
1727
|
+
${import_configs5.PANIC_DOC_URL}#variant.${status.reason}`;
|
1730
1728
|
}
|
1731
1729
|
return { errorMessage, reason };
|
1732
1730
|
};
|
@@ -1738,28 +1736,28 @@ var assembleRevertError = (receipts, logs) => {
|
|
1738
1736
|
if (revertReceipt) {
|
1739
1737
|
const reasonHex = (0, import_math6.bn)(revertReceipt.val).toHex();
|
1740
1738
|
switch (reasonHex) {
|
1741
|
-
case
|
1739
|
+
case import_configs5.FAILED_REQUIRE_SIGNAL: {
|
1742
1740
|
reason = "require";
|
1743
1741
|
errorMessage = `The transaction reverted because a "require" statement has thrown ${logs.length ? stringify(logs[0]) : "an error."}.`;
|
1744
1742
|
break;
|
1745
1743
|
}
|
1746
|
-
case
|
1744
|
+
case import_configs5.FAILED_ASSERT_EQ_SIGNAL: {
|
1747
1745
|
const sufix = logs.length >= 2 ? ` comparing ${stringify(logs[1])} and ${stringify(logs[0])}.` : ".";
|
1748
1746
|
reason = "assert_eq";
|
1749
1747
|
errorMessage = `The transaction reverted because of an "assert_eq" statement${sufix}`;
|
1750
1748
|
break;
|
1751
1749
|
}
|
1752
|
-
case
|
1750
|
+
case import_configs5.FAILED_ASSERT_NE_SIGNAL: {
|
1753
1751
|
const sufix = logs.length >= 2 ? ` comparing ${stringify(logs[1])} and ${stringify(logs[0])}.` : ".";
|
1754
1752
|
reason = "assert_ne";
|
1755
1753
|
errorMessage = `The transaction reverted because of an "assert_ne" statement${sufix}`;
|
1756
1754
|
break;
|
1757
1755
|
}
|
1758
|
-
case
|
1756
|
+
case import_configs5.FAILED_ASSERT_SIGNAL:
|
1759
1757
|
reason = "assert";
|
1760
1758
|
errorMessage = `The transaction reverted because an "assert" statement failed to evaluate to true.`;
|
1761
1759
|
break;
|
1762
|
-
case
|
1760
|
+
case import_configs5.FAILED_TRANSFER_TO_ADDRESS_SIGNAL:
|
1763
1761
|
reason = "MissingOutputChange";
|
1764
1762
|
errorMessage = `The transaction reverted because it's missing an "OutputChange".`;
|
1765
1763
|
break;
|
@@ -1833,6 +1831,8 @@ var BaseTransactionRequest = class {
|
|
1833
1831
|
outputs = [];
|
1834
1832
|
/** List of witnesses */
|
1835
1833
|
witnesses = [];
|
1834
|
+
/** Base asset ID - should be fetched from the chain */
|
1835
|
+
baseAssetId;
|
1836
1836
|
/**
|
1837
1837
|
* Constructor for initializing a base transaction request.
|
1838
1838
|
*
|
@@ -1845,8 +1845,9 @@ var BaseTransactionRequest = class {
|
|
1845
1845
|
witnessLimit,
|
1846
1846
|
inputs,
|
1847
1847
|
outputs,
|
1848
|
-
witnesses
|
1849
|
-
|
1848
|
+
witnesses,
|
1849
|
+
baseAssetId
|
1850
|
+
}) {
|
1850
1851
|
this.gasPrice = (0, import_math7.bn)(gasPrice);
|
1851
1852
|
this.maturity = maturity ?? 0;
|
1852
1853
|
this.witnessLimit = witnessLimit ? (0, import_math7.bn)(witnessLimit) : void 0;
|
@@ -1854,6 +1855,7 @@ var BaseTransactionRequest = class {
|
|
1854
1855
|
this.inputs = inputs ?? [];
|
1855
1856
|
this.outputs = outputs ?? [];
|
1856
1857
|
this.witnesses = witnesses ?? [];
|
1858
|
+
this.baseAssetId = baseAssetId;
|
1857
1859
|
}
|
1858
1860
|
static getPolicyMeta(req) {
|
1859
1861
|
let policyTypes = 0;
|
@@ -1946,7 +1948,7 @@ var BaseTransactionRequest = class {
|
|
1946
1948
|
* @returns The index of the created witness.
|
1947
1949
|
*/
|
1948
1950
|
addEmptyWitness() {
|
1949
|
-
this.addWitness((0, import_utils9.concat)([
|
1951
|
+
this.addWitness((0, import_utils9.concat)([import_configs6.ZeroBytes32, import_configs6.ZeroBytes32]));
|
1950
1952
|
return this.witnesses.length - 1;
|
1951
1953
|
}
|
1952
1954
|
/**
|
@@ -2077,11 +2079,9 @@ var BaseTransactionRequest = class {
|
|
2077
2079
|
*
|
2078
2080
|
* @param message - Message resource.
|
2079
2081
|
* @param predicate - Predicate bytes.
|
2080
|
-
* @param predicateData - Predicate data bytes.
|
2081
2082
|
*/
|
2082
2083
|
addMessageInput(message, predicate) {
|
2083
2084
|
const { recipient, sender, amount } = message;
|
2084
|
-
const assetId = import_configs7.BaseAssetId;
|
2085
2085
|
let witnessIndex;
|
2086
2086
|
if (predicate) {
|
2087
2087
|
witnessIndex = 0;
|
@@ -2101,7 +2101,7 @@ var BaseTransactionRequest = class {
|
|
2101
2101
|
predicate: predicate?.bytes
|
2102
2102
|
};
|
2103
2103
|
this.pushInput(input);
|
2104
|
-
this.addChangeOutput(recipient,
|
2104
|
+
this.addChangeOutput(recipient, this.baseAssetId);
|
2105
2105
|
}
|
2106
2106
|
/**
|
2107
2107
|
* Adds a single resource to the transaction by adding a coin/message input and a
|
@@ -2162,12 +2162,12 @@ var BaseTransactionRequest = class {
|
|
2162
2162
|
* @param amount - Amount of coin.
|
2163
2163
|
* @param assetId - Asset ID of coin.
|
2164
2164
|
*/
|
2165
|
-
addCoinOutput(to, amount, assetId
|
2165
|
+
addCoinOutput(to, amount, assetId) {
|
2166
2166
|
this.pushOutput({
|
2167
2167
|
type: import_transactions6.OutputType.Coin,
|
2168
2168
|
to: (0, import_address.addressify)(to).toB256(),
|
2169
2169
|
amount,
|
2170
|
-
assetId
|
2170
|
+
assetId: assetId ?? this.baseAssetId
|
2171
2171
|
});
|
2172
2172
|
return this;
|
2173
2173
|
}
|
@@ -2194,7 +2194,7 @@ var BaseTransactionRequest = class {
|
|
2194
2194
|
* @param to - Address of the owner.
|
2195
2195
|
* @param assetId - Asset ID of coin.
|
2196
2196
|
*/
|
2197
|
-
addChangeOutput(to, assetId
|
2197
|
+
addChangeOutput(to, assetId) {
|
2198
2198
|
const changeOutput = this.getChangeOutputs().find(
|
2199
2199
|
(output) => (0, import_utils9.hexlify)(output.assetId) === assetId
|
2200
2200
|
);
|
@@ -2202,7 +2202,7 @@ var BaseTransactionRequest = class {
|
|
2202
2202
|
this.pushOutput({
|
2203
2203
|
type: import_transactions6.OutputType.Change,
|
2204
2204
|
to: (0, import_address.addressify)(to).toB256(),
|
2205
|
-
assetId
|
2205
|
+
assetId: assetId ?? this.baseAssetId
|
2206
2206
|
});
|
2207
2207
|
}
|
2208
2208
|
}
|
@@ -2278,7 +2278,7 @@ var BaseTransactionRequest = class {
|
|
2278
2278
|
]);
|
2279
2279
|
}
|
2280
2280
|
};
|
2281
|
-
updateAssetInput(
|
2281
|
+
updateAssetInput(this.baseAssetId, (0, import_math7.bn)(1e11));
|
2282
2282
|
quantities.forEach((q) => updateAssetInput(q.assetId, q.amount));
|
2283
2283
|
}
|
2284
2284
|
/**
|
@@ -2328,13 +2328,13 @@ var BaseTransactionRequest = class {
|
|
2328
2328
|
};
|
2329
2329
|
|
2330
2330
|
// src/providers/transaction-request/create-transaction-request.ts
|
2331
|
-
var
|
2331
|
+
var import_configs8 = require("@fuel-ts/address/configs");
|
2332
2332
|
var import_math9 = require("@fuel-ts/math");
|
2333
2333
|
var import_transactions8 = require("@fuel-ts/transactions");
|
2334
2334
|
var import_utils13 = require("@fuel-ts/utils");
|
2335
2335
|
|
2336
2336
|
// src/providers/transaction-request/hash-transaction.ts
|
2337
|
-
var
|
2337
|
+
var import_configs7 = require("@fuel-ts/address/configs");
|
2338
2338
|
var import_hasher = require("@fuel-ts/hasher");
|
2339
2339
|
var import_math8 = require("@fuel-ts/math");
|
2340
2340
|
var import_transactions7 = require("@fuel-ts/transactions");
|
@@ -2343,7 +2343,7 @@ var import_ramda2 = require("ramda");
|
|
2343
2343
|
function hashTransaction(transactionRequest, chainId) {
|
2344
2344
|
const transaction = transactionRequest.toTransaction();
|
2345
2345
|
if (transaction.type === import_transactions7.TransactionType.Script) {
|
2346
|
-
transaction.receiptsRoot =
|
2346
|
+
transaction.receiptsRoot = import_configs7.ZeroBytes32;
|
2347
2347
|
}
|
2348
2348
|
transaction.inputs = transaction.inputs.map((input) => {
|
2349
2349
|
const inputClone = (0, import_ramda2.clone)(input);
|
@@ -2365,10 +2365,10 @@ function hashTransaction(transactionRequest, chainId) {
|
|
2365
2365
|
blockHeight: 0,
|
2366
2366
|
txIndex: 0
|
2367
2367
|
};
|
2368
|
-
inputClone.txID =
|
2368
|
+
inputClone.txID = import_configs7.ZeroBytes32;
|
2369
2369
|
inputClone.outputIndex = 0;
|
2370
|
-
inputClone.balanceRoot =
|
2371
|
-
inputClone.stateRoot =
|
2370
|
+
inputClone.balanceRoot = import_configs7.ZeroBytes32;
|
2371
|
+
inputClone.stateRoot = import_configs7.ZeroBytes32;
|
2372
2372
|
return inputClone;
|
2373
2373
|
}
|
2374
2374
|
default:
|
@@ -2379,8 +2379,8 @@ function hashTransaction(transactionRequest, chainId) {
|
|
2379
2379
|
const outputClone = (0, import_ramda2.clone)(output);
|
2380
2380
|
switch (outputClone.type) {
|
2381
2381
|
case import_transactions7.OutputType.Contract: {
|
2382
|
-
outputClone.balanceRoot =
|
2383
|
-
outputClone.stateRoot =
|
2382
|
+
outputClone.balanceRoot = import_configs7.ZeroBytes32;
|
2383
|
+
outputClone.stateRoot = import_configs7.ZeroBytes32;
|
2384
2384
|
return outputClone;
|
2385
2385
|
}
|
2386
2386
|
case import_transactions7.OutputType.Change: {
|
@@ -2388,9 +2388,9 @@ function hashTransaction(transactionRequest, chainId) {
|
|
2388
2388
|
return outputClone;
|
2389
2389
|
}
|
2390
2390
|
case import_transactions7.OutputType.Variable: {
|
2391
|
-
outputClone.to =
|
2391
|
+
outputClone.to = import_configs7.ZeroBytes32;
|
2392
2392
|
outputClone.amount = (0, import_math8.bn)(0);
|
2393
|
-
outputClone.assetId =
|
2393
|
+
outputClone.assetId = import_configs7.ZeroBytes32;
|
2394
2394
|
return outputClone;
|
2395
2395
|
}
|
2396
2396
|
default:
|
@@ -2448,15 +2448,10 @@ var CreateTransactionRequest = class extends BaseTransactionRequest {
|
|
2448
2448
|
*
|
2449
2449
|
* @param createTransactionRequestLike - The initial values for the instance
|
2450
2450
|
*/
|
2451
|
-
constructor({
|
2452
|
-
bytecodeWitnessIndex,
|
2453
|
-
salt,
|
2454
|
-
storageSlots,
|
2455
|
-
...rest
|
2456
|
-
} = {}) {
|
2451
|
+
constructor({ bytecodeWitnessIndex, salt, storageSlots, ...rest }) {
|
2457
2452
|
super(rest);
|
2458
2453
|
this.bytecodeWitnessIndex = bytecodeWitnessIndex ?? 0;
|
2459
|
-
this.salt = (0, import_utils13.hexlify)(salt ??
|
2454
|
+
this.salt = (0, import_utils13.hexlify)(salt ?? import_configs8.ZeroBytes32);
|
2460
2455
|
this.storageSlots = [...storageSlots ?? []];
|
2461
2456
|
}
|
2462
2457
|
/**
|
@@ -2474,7 +2469,7 @@ var CreateTransactionRequest = class extends BaseTransactionRequest {
|
|
2474
2469
|
bytecodeLength: baseTransaction.witnesses[bytecodeWitnessIndex].dataLength / 4,
|
2475
2470
|
bytecodeWitnessIndex,
|
2476
2471
|
storageSlotsCount: storageSlots.length,
|
2477
|
-
salt: this.salt ? (0, import_utils13.hexlify)(this.salt) :
|
2472
|
+
salt: this.salt ? (0, import_utils13.hexlify)(this.salt) : import_configs8.ZeroBytes32,
|
2478
2473
|
storageSlots
|
2479
2474
|
};
|
2480
2475
|
}
|
@@ -2524,7 +2519,7 @@ var CreateTransactionRequest = class extends BaseTransactionRequest {
|
|
2524
2519
|
// src/providers/transaction-request/script-transaction-request.ts
|
2525
2520
|
var import_abi_coder3 = require("@fuel-ts/abi-coder");
|
2526
2521
|
var import_address2 = require("@fuel-ts/address");
|
2527
|
-
var
|
2522
|
+
var import_configs9 = require("@fuel-ts/address/configs");
|
2528
2523
|
var import_math10 = require("@fuel-ts/math");
|
2529
2524
|
var import_transactions9 = require("@fuel-ts/transactions");
|
2530
2525
|
var import_utils15 = require("@fuel-ts/utils");
|
@@ -2577,7 +2572,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
|
|
2577
2572
|
*
|
2578
2573
|
* @param scriptTransactionRequestLike - The initial values for the instance.
|
2579
2574
|
*/
|
2580
|
-
constructor({ script, scriptData, gasLimit, ...rest }
|
2575
|
+
constructor({ script, scriptData, gasLimit, ...rest }) {
|
2581
2576
|
super(rest);
|
2582
2577
|
this.gasLimit = (0, import_math10.bn)(gasLimit);
|
2583
2578
|
this.script = (0, import_utils15.arrayify)(script ?? returnZeroScript.bytes);
|
@@ -2598,7 +2593,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
|
|
2598
2593
|
...super.getBaseTransaction(),
|
2599
2594
|
scriptLength: script.length,
|
2600
2595
|
scriptDataLength: scriptData.length,
|
2601
|
-
receiptsRoot:
|
2596
|
+
receiptsRoot: import_configs9.ZeroBytes32,
|
2602
2597
|
script: (0, import_utils15.hexlify)(script),
|
2603
2598
|
scriptData: (0, import_utils15.hexlify)(scriptData)
|
2604
2599
|
};
|
@@ -2830,7 +2825,7 @@ var calculateTransactionFee = (params) => {
|
|
2830
2825
|
};
|
2831
2826
|
|
2832
2827
|
// src/providers/transaction-summary/operations.ts
|
2833
|
-
var
|
2828
|
+
var import_configs10 = require("@fuel-ts/address/configs");
|
2834
2829
|
var import_errors11 = require("@fuel-ts/errors");
|
2835
2830
|
var import_math13 = require("@fuel-ts/math");
|
2836
2831
|
var import_transactions14 = require("@fuel-ts/transactions");
|
@@ -3175,7 +3170,7 @@ function extractTransferOperationFromReceipt(receipt, contractInputs, changeOutp
|
|
3175
3170
|
const { to: toAddress, assetId, amount } = receipt;
|
3176
3171
|
let { from: fromAddress } = receipt;
|
3177
3172
|
const toType = contractInputs.some((input) => input.contractID === toAddress) ? 0 /* contract */ : 1 /* account */;
|
3178
|
-
if (
|
3173
|
+
if (import_configs10.ZeroBytes32 === fromAddress) {
|
3179
3174
|
const change = changeOutputs.find((output) => output.assetId === assetId);
|
3180
3175
|
fromAddress = change?.to || fromAddress;
|
3181
3176
|
}
|
@@ -3752,6 +3747,7 @@ var processGqlChain = (chain) => {
|
|
3752
3747
|
gasPerByte: (0, import_math15.bn)(feeParams.gasPerByte),
|
3753
3748
|
maxMessageDataLength: (0, import_math15.bn)(predicateParams.maxMessageDataLength),
|
3754
3749
|
chainId: (0, import_math15.bn)(consensusParameters.chainId),
|
3750
|
+
baseAssetId: consensusParameters.baseAssetId,
|
3755
3751
|
gasCosts
|
3756
3752
|
},
|
3757
3753
|
gasCosts,
|
@@ -3994,6 +3990,17 @@ var _Provider = class {
|
|
3994
3990
|
} = this.getChain();
|
3995
3991
|
return chainId.toNumber();
|
3996
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
|
+
}
|
3997
4004
|
/**
|
3998
4005
|
* Submits a transaction to the chain to be executed.
|
3999
4006
|
*
|
@@ -5057,8 +5064,9 @@ var Account = class extends import_interfaces.AbstractAccount {
|
|
5057
5064
|
* @param assetId - The asset ID to check the balance for.
|
5058
5065
|
* @returns A promise that resolves to the balance amount.
|
5059
5066
|
*/
|
5060
|
-
async getBalance(assetId
|
5061
|
-
const
|
5067
|
+
async getBalance(assetId) {
|
5068
|
+
const assetIdToFetch = assetId ?? this.provider.getBaseAssetId();
|
5069
|
+
const amount = await this.provider.getBalance(this.address, assetIdToFetch);
|
5062
5070
|
return amount;
|
5063
5071
|
}
|
5064
5072
|
/**
|
@@ -5096,9 +5104,10 @@ var Account = class extends import_interfaces.AbstractAccount {
|
|
5096
5104
|
* @returns A promise that resolves when the resources are added to the transaction.
|
5097
5105
|
*/
|
5098
5106
|
async fund(request, coinQuantities, fee) {
|
5107
|
+
const baseAssetId = this.provider.getBaseAssetId();
|
5099
5108
|
const updatedQuantities = addAmountToAsset({
|
5100
5109
|
amount: (0, import_math18.bn)(fee),
|
5101
|
-
assetId:
|
5110
|
+
assetId: baseAssetId,
|
5102
5111
|
coinQuantities
|
5103
5112
|
});
|
5104
5113
|
const quantitiesDict = {};
|
@@ -5122,8 +5131,8 @@ var Account = class extends import_interfaces.AbstractAccount {
|
|
5122
5131
|
quantitiesDict[assetId].owned = quantitiesDict[assetId].owned.add(amount);
|
5123
5132
|
cachedUtxos.push(input.id);
|
5124
5133
|
}
|
5125
|
-
} else if (input.recipient === owner && input.amount && quantitiesDict[
|
5126
|
-
quantitiesDict[
|
5134
|
+
} else if (input.recipient === owner && input.amount && quantitiesDict[baseAssetId]) {
|
5135
|
+
quantitiesDict[baseAssetId].owned = quantitiesDict[baseAssetId].owned.add(input.amount);
|
5127
5136
|
cachedMessages.push(input.nonce);
|
5128
5137
|
}
|
5129
5138
|
}
|
@@ -5155,11 +5164,13 @@ var Account = class extends import_interfaces.AbstractAccount {
|
|
5155
5164
|
* @param txParams - The transaction parameters (gasLimit, gasPrice, maturity).
|
5156
5165
|
* @returns A promise that resolves to the prepared transaction request.
|
5157
5166
|
*/
|
5158
|
-
async createTransfer(destination, amount, assetId
|
5167
|
+
async createTransfer(destination, amount, assetId, txParams = {}) {
|
5159
5168
|
const { minGasPrice } = this.provider.getGasConfig();
|
5160
|
-
const
|
5169
|
+
const baseAssetId = this.provider.getBaseAssetId();
|
5170
|
+
const assetIdToTransfer = assetId ?? this.provider.getBaseAssetId();
|
5171
|
+
const params = { gasPrice: minGasPrice, baseAssetId, ...txParams };
|
5161
5172
|
const request = new ScriptTransactionRequest(params);
|
5162
|
-
request.addCoinOutput(import_address4.Address.fromAddressOrString(destination), amount,
|
5173
|
+
request.addCoinOutput(import_address4.Address.fromAddressOrString(destination), amount, assetIdToTransfer);
|
5163
5174
|
const { maxFee, requiredQuantities, gasUsed, estimatedInputs } = await this.provider.getTransactionCost(request, [], {
|
5164
5175
|
estimateTxDependencies: true,
|
5165
5176
|
resourcesOwner: this
|
@@ -5185,14 +5196,15 @@ var Account = class extends import_interfaces.AbstractAccount {
|
|
5185
5196
|
* @param txParams - The transaction parameters (gasLimit, gasPrice, maturity).
|
5186
5197
|
* @returns A promise that resolves to the transaction response.
|
5187
5198
|
*/
|
5188
|
-
async transfer(destination, amount, assetId
|
5199
|
+
async transfer(destination, amount, assetId, txParams = {}) {
|
5189
5200
|
if ((0, import_math18.bn)(amount).lte(0)) {
|
5190
5201
|
throw new import_errors16.FuelError(
|
5191
5202
|
import_errors16.ErrorCode.INVALID_TRANSFER_AMOUNT,
|
5192
5203
|
"Transfer amount must be a positive number."
|
5193
5204
|
);
|
5194
5205
|
}
|
5195
|
-
const
|
5206
|
+
const assetIdToTransfer = assetId ?? this.provider.getBaseAssetId();
|
5207
|
+
const request = await this.createTransfer(destination, amount, assetIdToTransfer, txParams);
|
5196
5208
|
return this.sendTransaction(request, { estimateTxDependencies: false });
|
5197
5209
|
}
|
5198
5210
|
/**
|
@@ -5204,7 +5216,7 @@ var Account = class extends import_interfaces.AbstractAccount {
|
|
5204
5216
|
* @param txParams - The optional transaction parameters.
|
5205
5217
|
* @returns A promise that resolves to the transaction response.
|
5206
5218
|
*/
|
5207
|
-
async transferToContract(contractId, amount, assetId
|
5219
|
+
async transferToContract(contractId, amount, assetId, txParams = {}) {
|
5208
5220
|
if ((0, import_math18.bn)(amount).lte(0)) {
|
5209
5221
|
throw new import_errors16.FuelError(
|
5210
5222
|
import_errors16.ErrorCode.INVALID_TRANSFER_AMOUNT,
|
@@ -5213,11 +5225,13 @@ var Account = class extends import_interfaces.AbstractAccount {
|
|
5213
5225
|
}
|
5214
5226
|
const contractAddress = import_address4.Address.fromAddressOrString(contractId);
|
5215
5227
|
const { minGasPrice } = this.provider.getGasConfig();
|
5216
|
-
const
|
5228
|
+
const baseAssetId = this.provider.getBaseAssetId();
|
5229
|
+
const assetIdToTransfer = assetId ?? this.provider.getBaseAssetId();
|
5230
|
+
const params = { gasPrice: minGasPrice, baseAssetId, ...txParams };
|
5217
5231
|
const { script, scriptData } = await assembleTransferToContractScript({
|
5218
5232
|
hexlifiedContractId: contractAddress.toB256(),
|
5219
5233
|
amountToTransfer: (0, import_math18.bn)(amount),
|
5220
|
-
assetId
|
5234
|
+
assetId: assetIdToTransfer
|
5221
5235
|
});
|
5222
5236
|
const request = new ScriptTransactionRequest({
|
5223
5237
|
...params,
|
@@ -5227,7 +5241,7 @@ var Account = class extends import_interfaces.AbstractAccount {
|
|
5227
5241
|
request.addContractInputAndOutput(contractAddress);
|
5228
5242
|
const { maxFee, requiredQuantities, gasUsed } = await this.provider.getTransactionCost(
|
5229
5243
|
request,
|
5230
|
-
[{ amount: (0, import_math18.bn)(amount), assetId: String(
|
5244
|
+
[{ amount: (0, import_math18.bn)(amount), assetId: String(assetIdToTransfer) }]
|
5231
5245
|
);
|
5232
5246
|
request.gasLimit = (0, import_math18.bn)(params.gasLimit ?? gasUsed);
|
5233
5247
|
this.validateGas({
|
@@ -5249,6 +5263,7 @@ var Account = class extends import_interfaces.AbstractAccount {
|
|
5249
5263
|
*/
|
5250
5264
|
async withdrawToBaseLayer(recipient, amount, txParams = {}) {
|
5251
5265
|
const { minGasPrice } = this.provider.getGasConfig();
|
5266
|
+
const baseAssetId = this.provider.getBaseAssetId();
|
5252
5267
|
const recipientAddress = import_address4.Address.fromAddressOrString(recipient);
|
5253
5268
|
const recipientDataArray = (0, import_utils28.arrayify)(
|
5254
5269
|
"0x".concat(recipientAddress.toHexString().substring(2).padStart(64, "0"))
|
@@ -5261,9 +5276,14 @@ var Account = class extends import_interfaces.AbstractAccount {
|
|
5261
5276
|
...recipientDataArray,
|
5262
5277
|
...amountDataArray
|
5263
5278
|
]);
|
5264
|
-
const params = {
|
5279
|
+
const params = {
|
5280
|
+
script,
|
5281
|
+
gasPrice: minGasPrice,
|
5282
|
+
baseAssetId,
|
5283
|
+
...txParams
|
5284
|
+
};
|
5265
5285
|
const request = new ScriptTransactionRequest(params);
|
5266
|
-
const forwardingQuantities = [{ amount: (0, import_math18.bn)(amount), assetId:
|
5286
|
+
const forwardingQuantities = [{ amount: (0, import_math18.bn)(amount), assetId: baseAssetId }];
|
5267
5287
|
const { requiredQuantities, maxFee, gasUsed } = await this.provider.getTransactionCost(
|
5268
5288
|
request,
|
5269
5289
|
forwardingQuantities
|
@@ -8826,7 +8846,6 @@ var StorageAbstract = class {
|
|
8826
8846
|
// src/predicate/predicate.ts
|
8827
8847
|
var import_abi_coder7 = require("@fuel-ts/abi-coder");
|
8828
8848
|
var import_address10 = require("@fuel-ts/address");
|
8829
|
-
var import_configs13 = require("@fuel-ts/address/configs");
|
8830
8849
|
var import_errors25 = require("@fuel-ts/errors");
|
8831
8850
|
var import_transactions20 = require("@fuel-ts/transactions");
|
8832
8851
|
var import_utils37 = require("@fuel-ts/utils");
|
@@ -8904,8 +8923,9 @@ var Predicate = class extends Account {
|
|
8904
8923
|
* @param txParams - The transaction parameters (gasLimit, gasPrice, maturity).
|
8905
8924
|
* @returns A promise that resolves to the prepared transaction request.
|
8906
8925
|
*/
|
8907
|
-
async createTransfer(destination, amount, assetId
|
8908
|
-
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);
|
8909
8929
|
return this.populateTransactionPredicateData(request);
|
8910
8930
|
}
|
8911
8931
|
/**
|