@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/test-utils.js
CHANGED
@@ -62,14 +62,12 @@ var import_utils31 = require("@fuel-ts/utils");
|
|
62
62
|
|
63
63
|
// src/account.ts
|
64
64
|
var import_address4 = require("@fuel-ts/address");
|
65
|
-
var import_configs12 = require("@fuel-ts/address/configs");
|
66
65
|
var import_errors16 = require("@fuel-ts/errors");
|
67
66
|
var import_interfaces = require("@fuel-ts/interfaces");
|
68
67
|
var import_math18 = require("@fuel-ts/math");
|
69
68
|
var import_utils28 = require("@fuel-ts/utils");
|
70
69
|
|
71
70
|
// src/providers/coin-quantity.ts
|
72
|
-
var import_configs = require("@fuel-ts/address/configs");
|
73
71
|
var import_math = require("@fuel-ts/math");
|
74
72
|
var import_utils = require("@fuel-ts/utils");
|
75
73
|
var coinQuantityfy = (coinQuantityLike) => {
|
@@ -78,11 +76,11 @@ var coinQuantityfy = (coinQuantityLike) => {
|
|
78
76
|
let max2;
|
79
77
|
if (Array.isArray(coinQuantityLike)) {
|
80
78
|
amount = coinQuantityLike[0];
|
81
|
-
assetId = coinQuantityLike[1]
|
82
|
-
max2 = coinQuantityLike[2]
|
79
|
+
assetId = coinQuantityLike[1];
|
80
|
+
max2 = coinQuantityLike[2];
|
83
81
|
} else {
|
84
82
|
amount = coinQuantityLike.amount;
|
85
|
-
assetId = coinQuantityLike.assetId
|
83
|
+
assetId = coinQuantityLike.assetId;
|
86
84
|
max2 = coinQuantityLike.max ?? void 0;
|
87
85
|
}
|
88
86
|
const bnAmount = (0, import_math.bn)(amount);
|
@@ -1052,7 +1050,7 @@ var MemoryCache = class {
|
|
1052
1050
|
|
1053
1051
|
// src/providers/transaction-request/input.ts
|
1054
1052
|
var import_abi_coder = require("@fuel-ts/abi-coder");
|
1055
|
-
var
|
1053
|
+
var import_configs = require("@fuel-ts/address/configs");
|
1056
1054
|
var import_errors3 = require("@fuel-ts/errors");
|
1057
1055
|
var import_math2 = require("@fuel-ts/math");
|
1058
1056
|
var import_transactions = require("@fuel-ts/transactions");
|
@@ -1086,10 +1084,10 @@ var inputify = (value) => {
|
|
1086
1084
|
case import_transactions.InputType.Contract: {
|
1087
1085
|
return {
|
1088
1086
|
type: import_transactions.InputType.Contract,
|
1089
|
-
txID:
|
1087
|
+
txID: import_configs.ZeroBytes32,
|
1090
1088
|
outputIndex: 0,
|
1091
|
-
balanceRoot:
|
1092
|
-
stateRoot:
|
1089
|
+
balanceRoot: import_configs.ZeroBytes32,
|
1090
|
+
stateRoot: import_configs.ZeroBytes32,
|
1093
1091
|
txPointer: {
|
1094
1092
|
blockHeight: (0, import_math2.toNumber)((0, import_utils3.arrayify)(value.txPointer).slice(0, 8)),
|
1095
1093
|
txIndex: (0, import_math2.toNumber)((0, import_utils3.arrayify)(value.txPointer).slice(8, 16))
|
@@ -1127,7 +1125,7 @@ var inputify = (value) => {
|
|
1127
1125
|
};
|
1128
1126
|
|
1129
1127
|
// src/providers/transaction-request/output.ts
|
1130
|
-
var
|
1128
|
+
var import_configs2 = require("@fuel-ts/address/configs");
|
1131
1129
|
var import_errors4 = require("@fuel-ts/errors");
|
1132
1130
|
var import_math3 = require("@fuel-ts/math");
|
1133
1131
|
var import_transactions2 = require("@fuel-ts/transactions");
|
@@ -1147,8 +1145,8 @@ var outputify = (value) => {
|
|
1147
1145
|
return {
|
1148
1146
|
type: import_transactions2.OutputType.Contract,
|
1149
1147
|
inputIndex: value.inputIndex,
|
1150
|
-
balanceRoot:
|
1151
|
-
stateRoot:
|
1148
|
+
balanceRoot: import_configs2.ZeroBytes32,
|
1149
|
+
stateRoot: import_configs2.ZeroBytes32
|
1152
1150
|
};
|
1153
1151
|
}
|
1154
1152
|
case import_transactions2.OutputType.Change: {
|
@@ -1162,9 +1160,9 @@ var outputify = (value) => {
|
|
1162
1160
|
case import_transactions2.OutputType.Variable: {
|
1163
1161
|
return {
|
1164
1162
|
type: import_transactions2.OutputType.Variable,
|
1165
|
-
to:
|
1163
|
+
to: import_configs2.ZeroBytes32,
|
1166
1164
|
amount: (0, import_math3.bn)(0),
|
1167
|
-
assetId:
|
1165
|
+
assetId: import_configs2.ZeroBytes32
|
1168
1166
|
};
|
1169
1167
|
}
|
1170
1168
|
case import_transactions2.OutputType.ContractCreated: {
|
@@ -1186,7 +1184,7 @@ var outputify = (value) => {
|
|
1186
1184
|
// src/providers/transaction-request/transaction-request.ts
|
1187
1185
|
var import_abi_coder2 = require("@fuel-ts/abi-coder");
|
1188
1186
|
var import_address = require("@fuel-ts/address");
|
1189
|
-
var
|
1187
|
+
var import_configs6 = require("@fuel-ts/address/configs");
|
1190
1188
|
var import_crypto = require("@fuel-ts/crypto");
|
1191
1189
|
var import_math7 = require("@fuel-ts/math");
|
1192
1190
|
var import_transactions6 = require("@fuel-ts/transactions");
|
@@ -1196,13 +1194,13 @@ var import_utils9 = require("@fuel-ts/utils");
|
|
1196
1194
|
var isCoin = (resource) => "id" in resource;
|
1197
1195
|
|
1198
1196
|
// src/providers/utils/receipts.ts
|
1199
|
-
var
|
1197
|
+
var import_configs3 = require("@fuel-ts/address/configs");
|
1200
1198
|
var import_errors5 = require("@fuel-ts/errors");
|
1201
1199
|
var import_math4 = require("@fuel-ts/math");
|
1202
1200
|
var import_transactions3 = require("@fuel-ts/transactions");
|
1203
|
-
var
|
1201
|
+
var import_configs4 = require("@fuel-ts/transactions/configs");
|
1204
1202
|
var import_utils5 = require("@fuel-ts/utils");
|
1205
|
-
var doesReceiptHaveMissingOutputVariables = (receipt) => receipt.type === import_transactions3.ReceiptType.Revert && receipt.val.toString("hex") ===
|
1203
|
+
var doesReceiptHaveMissingOutputVariables = (receipt) => receipt.type === import_transactions3.ReceiptType.Revert && receipt.val.toString("hex") === import_configs4.FAILED_TRANSFER_TO_ADDRESS_SIGNAL;
|
1206
1204
|
var doesReceiptHaveMissingContractId = (receipt) => receipt.type === import_transactions3.ReceiptType.Panic && receipt.contractId !== "0x0000000000000000000000000000000000000000000000000000000000000000";
|
1207
1205
|
var getReceiptsWithMissingData = (receipts) => receipts.reduce(
|
1208
1206
|
(memo, receipt) => {
|
@@ -1219,7 +1217,7 @@ var getReceiptsWithMissingData = (receipts) => receipts.reduce(
|
|
1219
1217
|
missingOutputContractIds: []
|
1220
1218
|
}
|
1221
1219
|
);
|
1222
|
-
var hexOrZero = (hex) => hex ||
|
1220
|
+
var hexOrZero = (hex) => hex || import_configs3.ZeroBytes32;
|
1223
1221
|
function assembleReceiptByType(receipt) {
|
1224
1222
|
const { receiptType } = receipt;
|
1225
1223
|
switch (receiptType) {
|
@@ -1524,16 +1522,16 @@ function sleep(time) {
|
|
1524
1522
|
var import_errors7 = require("@fuel-ts/errors");
|
1525
1523
|
var import_math6 = require("@fuel-ts/math");
|
1526
1524
|
var import_transactions5 = require("@fuel-ts/transactions");
|
1527
|
-
var
|
1525
|
+
var import_configs5 = require("@fuel-ts/transactions/configs");
|
1528
1526
|
var assemblePanicError = (status) => {
|
1529
1527
|
let errorMessage = `The transaction reverted with reason: "${status.reason}".`;
|
1530
1528
|
const reason = status.reason;
|
1531
|
-
if (
|
1529
|
+
if (import_configs5.PANIC_REASONS.includes(status.reason)) {
|
1532
1530
|
errorMessage = `${errorMessage}
|
1533
1531
|
|
1534
1532
|
You can read more about this error at:
|
1535
1533
|
|
1536
|
-
${
|
1534
|
+
${import_configs5.PANIC_DOC_URL}#variant.${status.reason}`;
|
1537
1535
|
}
|
1538
1536
|
return { errorMessage, reason };
|
1539
1537
|
};
|
@@ -1545,28 +1543,28 @@ var assembleRevertError = (receipts, logs) => {
|
|
1545
1543
|
if (revertReceipt) {
|
1546
1544
|
const reasonHex = (0, import_math6.bn)(revertReceipt.val).toHex();
|
1547
1545
|
switch (reasonHex) {
|
1548
|
-
case
|
1546
|
+
case import_configs5.FAILED_REQUIRE_SIGNAL: {
|
1549
1547
|
reason = "require";
|
1550
1548
|
errorMessage = `The transaction reverted because a "require" statement has thrown ${logs.length ? stringify(logs[0]) : "an error."}.`;
|
1551
1549
|
break;
|
1552
1550
|
}
|
1553
|
-
case
|
1551
|
+
case import_configs5.FAILED_ASSERT_EQ_SIGNAL: {
|
1554
1552
|
const sufix = logs.length >= 2 ? ` comparing ${stringify(logs[1])} and ${stringify(logs[0])}.` : ".";
|
1555
1553
|
reason = "assert_eq";
|
1556
1554
|
errorMessage = `The transaction reverted because of an "assert_eq" statement${sufix}`;
|
1557
1555
|
break;
|
1558
1556
|
}
|
1559
|
-
case
|
1557
|
+
case import_configs5.FAILED_ASSERT_NE_SIGNAL: {
|
1560
1558
|
const sufix = logs.length >= 2 ? ` comparing ${stringify(logs[1])} and ${stringify(logs[0])}.` : ".";
|
1561
1559
|
reason = "assert_ne";
|
1562
1560
|
errorMessage = `The transaction reverted because of an "assert_ne" statement${sufix}`;
|
1563
1561
|
break;
|
1564
1562
|
}
|
1565
|
-
case
|
1563
|
+
case import_configs5.FAILED_ASSERT_SIGNAL:
|
1566
1564
|
reason = "assert";
|
1567
1565
|
errorMessage = `The transaction reverted because an "assert" statement failed to evaluate to true.`;
|
1568
1566
|
break;
|
1569
|
-
case
|
1567
|
+
case import_configs5.FAILED_TRANSFER_TO_ADDRESS_SIGNAL:
|
1570
1568
|
reason = "MissingOutputChange";
|
1571
1569
|
errorMessage = `The transaction reverted because it's missing an "OutputChange".`;
|
1572
1570
|
break;
|
@@ -1628,6 +1626,8 @@ var BaseTransactionRequest = class {
|
|
1628
1626
|
outputs = [];
|
1629
1627
|
/** List of witnesses */
|
1630
1628
|
witnesses = [];
|
1629
|
+
/** Base asset ID - should be fetched from the chain */
|
1630
|
+
baseAssetId;
|
1631
1631
|
/**
|
1632
1632
|
* Constructor for initializing a base transaction request.
|
1633
1633
|
*
|
@@ -1640,8 +1640,9 @@ var BaseTransactionRequest = class {
|
|
1640
1640
|
witnessLimit,
|
1641
1641
|
inputs,
|
1642
1642
|
outputs,
|
1643
|
-
witnesses
|
1644
|
-
|
1643
|
+
witnesses,
|
1644
|
+
baseAssetId
|
1645
|
+
}) {
|
1645
1646
|
this.gasPrice = (0, import_math7.bn)(gasPrice);
|
1646
1647
|
this.maturity = maturity ?? 0;
|
1647
1648
|
this.witnessLimit = witnessLimit ? (0, import_math7.bn)(witnessLimit) : void 0;
|
@@ -1649,6 +1650,7 @@ var BaseTransactionRequest = class {
|
|
1649
1650
|
this.inputs = inputs ?? [];
|
1650
1651
|
this.outputs = outputs ?? [];
|
1651
1652
|
this.witnesses = witnesses ?? [];
|
1653
|
+
this.baseAssetId = baseAssetId;
|
1652
1654
|
}
|
1653
1655
|
static getPolicyMeta(req) {
|
1654
1656
|
let policyTypes = 0;
|
@@ -1741,7 +1743,7 @@ var BaseTransactionRequest = class {
|
|
1741
1743
|
* @returns The index of the created witness.
|
1742
1744
|
*/
|
1743
1745
|
addEmptyWitness() {
|
1744
|
-
this.addWitness((0, import_utils9.concat)([
|
1746
|
+
this.addWitness((0, import_utils9.concat)([import_configs6.ZeroBytes32, import_configs6.ZeroBytes32]));
|
1745
1747
|
return this.witnesses.length - 1;
|
1746
1748
|
}
|
1747
1749
|
/**
|
@@ -1872,11 +1874,9 @@ var BaseTransactionRequest = class {
|
|
1872
1874
|
*
|
1873
1875
|
* @param message - Message resource.
|
1874
1876
|
* @param predicate - Predicate bytes.
|
1875
|
-
* @param predicateData - Predicate data bytes.
|
1876
1877
|
*/
|
1877
1878
|
addMessageInput(message, predicate) {
|
1878
1879
|
const { recipient, sender, amount } = message;
|
1879
|
-
const assetId = import_configs7.BaseAssetId;
|
1880
1880
|
let witnessIndex;
|
1881
1881
|
if (predicate) {
|
1882
1882
|
witnessIndex = 0;
|
@@ -1896,7 +1896,7 @@ var BaseTransactionRequest = class {
|
|
1896
1896
|
predicate: predicate?.bytes
|
1897
1897
|
};
|
1898
1898
|
this.pushInput(input);
|
1899
|
-
this.addChangeOutput(recipient,
|
1899
|
+
this.addChangeOutput(recipient, this.baseAssetId);
|
1900
1900
|
}
|
1901
1901
|
/**
|
1902
1902
|
* Adds a single resource to the transaction by adding a coin/message input and a
|
@@ -1957,12 +1957,12 @@ var BaseTransactionRequest = class {
|
|
1957
1957
|
* @param amount - Amount of coin.
|
1958
1958
|
* @param assetId - Asset ID of coin.
|
1959
1959
|
*/
|
1960
|
-
addCoinOutput(to, amount, assetId
|
1960
|
+
addCoinOutput(to, amount, assetId) {
|
1961
1961
|
this.pushOutput({
|
1962
1962
|
type: import_transactions6.OutputType.Coin,
|
1963
1963
|
to: (0, import_address.addressify)(to).toB256(),
|
1964
1964
|
amount,
|
1965
|
-
assetId
|
1965
|
+
assetId: assetId ?? this.baseAssetId
|
1966
1966
|
});
|
1967
1967
|
return this;
|
1968
1968
|
}
|
@@ -1989,7 +1989,7 @@ var BaseTransactionRequest = class {
|
|
1989
1989
|
* @param to - Address of the owner.
|
1990
1990
|
* @param assetId - Asset ID of coin.
|
1991
1991
|
*/
|
1992
|
-
addChangeOutput(to, assetId
|
1992
|
+
addChangeOutput(to, assetId) {
|
1993
1993
|
const changeOutput = this.getChangeOutputs().find(
|
1994
1994
|
(output) => (0, import_utils9.hexlify)(output.assetId) === assetId
|
1995
1995
|
);
|
@@ -1997,7 +1997,7 @@ var BaseTransactionRequest = class {
|
|
1997
1997
|
this.pushOutput({
|
1998
1998
|
type: import_transactions6.OutputType.Change,
|
1999
1999
|
to: (0, import_address.addressify)(to).toB256(),
|
2000
|
-
assetId
|
2000
|
+
assetId: assetId ?? this.baseAssetId
|
2001
2001
|
});
|
2002
2002
|
}
|
2003
2003
|
}
|
@@ -2073,7 +2073,7 @@ var BaseTransactionRequest = class {
|
|
2073
2073
|
]);
|
2074
2074
|
}
|
2075
2075
|
};
|
2076
|
-
updateAssetInput(
|
2076
|
+
updateAssetInput(this.baseAssetId, (0, import_math7.bn)(1e11));
|
2077
2077
|
quantities.forEach((q) => updateAssetInput(q.assetId, q.amount));
|
2078
2078
|
}
|
2079
2079
|
/**
|
@@ -2123,13 +2123,13 @@ var BaseTransactionRequest = class {
|
|
2123
2123
|
};
|
2124
2124
|
|
2125
2125
|
// src/providers/transaction-request/create-transaction-request.ts
|
2126
|
-
var
|
2126
|
+
var import_configs8 = require("@fuel-ts/address/configs");
|
2127
2127
|
var import_math9 = require("@fuel-ts/math");
|
2128
2128
|
var import_transactions8 = require("@fuel-ts/transactions");
|
2129
2129
|
var import_utils13 = require("@fuel-ts/utils");
|
2130
2130
|
|
2131
2131
|
// src/providers/transaction-request/hash-transaction.ts
|
2132
|
-
var
|
2132
|
+
var import_configs7 = require("@fuel-ts/address/configs");
|
2133
2133
|
var import_hasher = require("@fuel-ts/hasher");
|
2134
2134
|
var import_math8 = require("@fuel-ts/math");
|
2135
2135
|
var import_transactions7 = require("@fuel-ts/transactions");
|
@@ -2138,7 +2138,7 @@ var import_ramda2 = require("ramda");
|
|
2138
2138
|
function hashTransaction(transactionRequest, chainId) {
|
2139
2139
|
const transaction = transactionRequest.toTransaction();
|
2140
2140
|
if (transaction.type === import_transactions7.TransactionType.Script) {
|
2141
|
-
transaction.receiptsRoot =
|
2141
|
+
transaction.receiptsRoot = import_configs7.ZeroBytes32;
|
2142
2142
|
}
|
2143
2143
|
transaction.inputs = transaction.inputs.map((input) => {
|
2144
2144
|
const inputClone = (0, import_ramda2.clone)(input);
|
@@ -2160,10 +2160,10 @@ function hashTransaction(transactionRequest, chainId) {
|
|
2160
2160
|
blockHeight: 0,
|
2161
2161
|
txIndex: 0
|
2162
2162
|
};
|
2163
|
-
inputClone.txID =
|
2163
|
+
inputClone.txID = import_configs7.ZeroBytes32;
|
2164
2164
|
inputClone.outputIndex = 0;
|
2165
|
-
inputClone.balanceRoot =
|
2166
|
-
inputClone.stateRoot =
|
2165
|
+
inputClone.balanceRoot = import_configs7.ZeroBytes32;
|
2166
|
+
inputClone.stateRoot = import_configs7.ZeroBytes32;
|
2167
2167
|
return inputClone;
|
2168
2168
|
}
|
2169
2169
|
default:
|
@@ -2174,8 +2174,8 @@ function hashTransaction(transactionRequest, chainId) {
|
|
2174
2174
|
const outputClone = (0, import_ramda2.clone)(output);
|
2175
2175
|
switch (outputClone.type) {
|
2176
2176
|
case import_transactions7.OutputType.Contract: {
|
2177
|
-
outputClone.balanceRoot =
|
2178
|
-
outputClone.stateRoot =
|
2177
|
+
outputClone.balanceRoot = import_configs7.ZeroBytes32;
|
2178
|
+
outputClone.stateRoot = import_configs7.ZeroBytes32;
|
2179
2179
|
return outputClone;
|
2180
2180
|
}
|
2181
2181
|
case import_transactions7.OutputType.Change: {
|
@@ -2183,9 +2183,9 @@ function hashTransaction(transactionRequest, chainId) {
|
|
2183
2183
|
return outputClone;
|
2184
2184
|
}
|
2185
2185
|
case import_transactions7.OutputType.Variable: {
|
2186
|
-
outputClone.to =
|
2186
|
+
outputClone.to = import_configs7.ZeroBytes32;
|
2187
2187
|
outputClone.amount = (0, import_math8.bn)(0);
|
2188
|
-
outputClone.assetId =
|
2188
|
+
outputClone.assetId = import_configs7.ZeroBytes32;
|
2189
2189
|
return outputClone;
|
2190
2190
|
}
|
2191
2191
|
default:
|
@@ -2243,15 +2243,10 @@ var CreateTransactionRequest = class extends BaseTransactionRequest {
|
|
2243
2243
|
*
|
2244
2244
|
* @param createTransactionRequestLike - The initial values for the instance
|
2245
2245
|
*/
|
2246
|
-
constructor({
|
2247
|
-
bytecodeWitnessIndex,
|
2248
|
-
salt,
|
2249
|
-
storageSlots,
|
2250
|
-
...rest
|
2251
|
-
} = {}) {
|
2246
|
+
constructor({ bytecodeWitnessIndex, salt, storageSlots, ...rest }) {
|
2252
2247
|
super(rest);
|
2253
2248
|
this.bytecodeWitnessIndex = bytecodeWitnessIndex ?? 0;
|
2254
|
-
this.salt = (0, import_utils13.hexlify)(salt ??
|
2249
|
+
this.salt = (0, import_utils13.hexlify)(salt ?? import_configs8.ZeroBytes32);
|
2255
2250
|
this.storageSlots = [...storageSlots ?? []];
|
2256
2251
|
}
|
2257
2252
|
/**
|
@@ -2269,7 +2264,7 @@ var CreateTransactionRequest = class extends BaseTransactionRequest {
|
|
2269
2264
|
bytecodeLength: baseTransaction.witnesses[bytecodeWitnessIndex].dataLength / 4,
|
2270
2265
|
bytecodeWitnessIndex,
|
2271
2266
|
storageSlotsCount: storageSlots.length,
|
2272
|
-
salt: this.salt ? (0, import_utils13.hexlify)(this.salt) :
|
2267
|
+
salt: this.salt ? (0, import_utils13.hexlify)(this.salt) : import_configs8.ZeroBytes32,
|
2273
2268
|
storageSlots
|
2274
2269
|
};
|
2275
2270
|
}
|
@@ -2319,7 +2314,7 @@ var CreateTransactionRequest = class extends BaseTransactionRequest {
|
|
2319
2314
|
// src/providers/transaction-request/script-transaction-request.ts
|
2320
2315
|
var import_abi_coder3 = require("@fuel-ts/abi-coder");
|
2321
2316
|
var import_address2 = require("@fuel-ts/address");
|
2322
|
-
var
|
2317
|
+
var import_configs9 = require("@fuel-ts/address/configs");
|
2323
2318
|
var import_math10 = require("@fuel-ts/math");
|
2324
2319
|
var import_transactions9 = require("@fuel-ts/transactions");
|
2325
2320
|
var import_utils15 = require("@fuel-ts/utils");
|
@@ -2372,7 +2367,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
|
|
2372
2367
|
*
|
2373
2368
|
* @param scriptTransactionRequestLike - The initial values for the instance.
|
2374
2369
|
*/
|
2375
|
-
constructor({ script, scriptData, gasLimit, ...rest }
|
2370
|
+
constructor({ script, scriptData, gasLimit, ...rest }) {
|
2376
2371
|
super(rest);
|
2377
2372
|
this.gasLimit = (0, import_math10.bn)(gasLimit);
|
2378
2373
|
this.script = (0, import_utils15.arrayify)(script ?? returnZeroScript.bytes);
|
@@ -2393,7 +2388,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
|
|
2393
2388
|
...super.getBaseTransaction(),
|
2394
2389
|
scriptLength: script.length,
|
2395
2390
|
scriptDataLength: scriptData.length,
|
2396
|
-
receiptsRoot:
|
2391
|
+
receiptsRoot: import_configs9.ZeroBytes32,
|
2397
2392
|
script: (0, import_utils15.hexlify)(script),
|
2398
2393
|
scriptData: (0, import_utils15.hexlify)(scriptData)
|
2399
2394
|
};
|
@@ -2625,7 +2620,7 @@ var calculateTransactionFee = (params) => {
|
|
2625
2620
|
};
|
2626
2621
|
|
2627
2622
|
// src/providers/transaction-summary/operations.ts
|
2628
|
-
var
|
2623
|
+
var import_configs10 = require("@fuel-ts/address/configs");
|
2629
2624
|
var import_errors11 = require("@fuel-ts/errors");
|
2630
2625
|
var import_math13 = require("@fuel-ts/math");
|
2631
2626
|
var import_transactions14 = require("@fuel-ts/transactions");
|
@@ -2923,7 +2918,7 @@ function extractTransferOperationFromReceipt(receipt, contractInputs, changeOutp
|
|
2923
2918
|
const { to: toAddress, assetId, amount } = receipt;
|
2924
2919
|
let { from: fromAddress } = receipt;
|
2925
2920
|
const toType = contractInputs.some((input) => input.contractID === toAddress) ? 0 /* contract */ : 1 /* account */;
|
2926
|
-
if (
|
2921
|
+
if (import_configs10.ZeroBytes32 === fromAddress) {
|
2927
2922
|
const change = changeOutputs.find((output) => output.assetId === assetId);
|
2928
2923
|
fromAddress = change?.to || fromAddress;
|
2929
2924
|
}
|
@@ -3500,6 +3495,7 @@ var processGqlChain = (chain) => {
|
|
3500
3495
|
gasPerByte: (0, import_math15.bn)(feeParams.gasPerByte),
|
3501
3496
|
maxMessageDataLength: (0, import_math15.bn)(predicateParams.maxMessageDataLength),
|
3502
3497
|
chainId: (0, import_math15.bn)(consensusParameters.chainId),
|
3498
|
+
baseAssetId: consensusParameters.baseAssetId,
|
3503
3499
|
gasCosts
|
3504
3500
|
},
|
3505
3501
|
gasCosts,
|
@@ -3742,6 +3738,17 @@ var _Provider = class {
|
|
3742
3738
|
} = this.getChain();
|
3743
3739
|
return chainId.toNumber();
|
3744
3740
|
}
|
3741
|
+
/**
|
3742
|
+
* Returns the base asset ID
|
3743
|
+
*
|
3744
|
+
* @returns A promise that resolves to the base asset ID
|
3745
|
+
*/
|
3746
|
+
getBaseAssetId() {
|
3747
|
+
const {
|
3748
|
+
consensusParameters: { baseAssetId }
|
3749
|
+
} = this.getChain();
|
3750
|
+
return baseAssetId;
|
3751
|
+
}
|
3745
3752
|
/**
|
3746
3753
|
* Submits a transaction to the chain to be executed.
|
3747
3754
|
*
|
@@ -4639,8 +4646,9 @@ var Account = class extends import_interfaces.AbstractAccount {
|
|
4639
4646
|
* @param assetId - The asset ID to check the balance for.
|
4640
4647
|
* @returns A promise that resolves to the balance amount.
|
4641
4648
|
*/
|
4642
|
-
async getBalance(assetId
|
4643
|
-
const
|
4649
|
+
async getBalance(assetId) {
|
4650
|
+
const assetIdToFetch = assetId ?? this.provider.getBaseAssetId();
|
4651
|
+
const amount = await this.provider.getBalance(this.address, assetIdToFetch);
|
4644
4652
|
return amount;
|
4645
4653
|
}
|
4646
4654
|
/**
|
@@ -4678,9 +4686,10 @@ var Account = class extends import_interfaces.AbstractAccount {
|
|
4678
4686
|
* @returns A promise that resolves when the resources are added to the transaction.
|
4679
4687
|
*/
|
4680
4688
|
async fund(request, coinQuantities, fee) {
|
4689
|
+
const baseAssetId = this.provider.getBaseAssetId();
|
4681
4690
|
const updatedQuantities = addAmountToAsset({
|
4682
4691
|
amount: (0, import_math18.bn)(fee),
|
4683
|
-
assetId:
|
4692
|
+
assetId: baseAssetId,
|
4684
4693
|
coinQuantities
|
4685
4694
|
});
|
4686
4695
|
const quantitiesDict = {};
|
@@ -4704,8 +4713,8 @@ var Account = class extends import_interfaces.AbstractAccount {
|
|
4704
4713
|
quantitiesDict[assetId].owned = quantitiesDict[assetId].owned.add(amount);
|
4705
4714
|
cachedUtxos.push(input.id);
|
4706
4715
|
}
|
4707
|
-
} else if (input.recipient === owner && input.amount && quantitiesDict[
|
4708
|
-
quantitiesDict[
|
4716
|
+
} else if (input.recipient === owner && input.amount && quantitiesDict[baseAssetId]) {
|
4717
|
+
quantitiesDict[baseAssetId].owned = quantitiesDict[baseAssetId].owned.add(input.amount);
|
4709
4718
|
cachedMessages.push(input.nonce);
|
4710
4719
|
}
|
4711
4720
|
}
|
@@ -4737,11 +4746,13 @@ var Account = class extends import_interfaces.AbstractAccount {
|
|
4737
4746
|
* @param txParams - The transaction parameters (gasLimit, gasPrice, maturity).
|
4738
4747
|
* @returns A promise that resolves to the prepared transaction request.
|
4739
4748
|
*/
|
4740
|
-
async createTransfer(destination, amount, assetId
|
4749
|
+
async createTransfer(destination, amount, assetId, txParams = {}) {
|
4741
4750
|
const { minGasPrice } = this.provider.getGasConfig();
|
4742
|
-
const
|
4751
|
+
const baseAssetId = this.provider.getBaseAssetId();
|
4752
|
+
const assetIdToTransfer = assetId ?? this.provider.getBaseAssetId();
|
4753
|
+
const params = { gasPrice: minGasPrice, baseAssetId, ...txParams };
|
4743
4754
|
const request = new ScriptTransactionRequest(params);
|
4744
|
-
request.addCoinOutput(import_address4.Address.fromAddressOrString(destination), amount,
|
4755
|
+
request.addCoinOutput(import_address4.Address.fromAddressOrString(destination), amount, assetIdToTransfer);
|
4745
4756
|
const { maxFee, requiredQuantities, gasUsed, estimatedInputs } = await this.provider.getTransactionCost(request, [], {
|
4746
4757
|
estimateTxDependencies: true,
|
4747
4758
|
resourcesOwner: this
|
@@ -4767,14 +4778,15 @@ var Account = class extends import_interfaces.AbstractAccount {
|
|
4767
4778
|
* @param txParams - The transaction parameters (gasLimit, gasPrice, maturity).
|
4768
4779
|
* @returns A promise that resolves to the transaction response.
|
4769
4780
|
*/
|
4770
|
-
async transfer(destination, amount, assetId
|
4781
|
+
async transfer(destination, amount, assetId, txParams = {}) {
|
4771
4782
|
if ((0, import_math18.bn)(amount).lte(0)) {
|
4772
4783
|
throw new import_errors16.FuelError(
|
4773
4784
|
import_errors16.ErrorCode.INVALID_TRANSFER_AMOUNT,
|
4774
4785
|
"Transfer amount must be a positive number."
|
4775
4786
|
);
|
4776
4787
|
}
|
4777
|
-
const
|
4788
|
+
const assetIdToTransfer = assetId ?? this.provider.getBaseAssetId();
|
4789
|
+
const request = await this.createTransfer(destination, amount, assetIdToTransfer, txParams);
|
4778
4790
|
return this.sendTransaction(request, { estimateTxDependencies: false });
|
4779
4791
|
}
|
4780
4792
|
/**
|
@@ -4786,7 +4798,7 @@ var Account = class extends import_interfaces.AbstractAccount {
|
|
4786
4798
|
* @param txParams - The optional transaction parameters.
|
4787
4799
|
* @returns A promise that resolves to the transaction response.
|
4788
4800
|
*/
|
4789
|
-
async transferToContract(contractId, amount, assetId
|
4801
|
+
async transferToContract(contractId, amount, assetId, txParams = {}) {
|
4790
4802
|
if ((0, import_math18.bn)(amount).lte(0)) {
|
4791
4803
|
throw new import_errors16.FuelError(
|
4792
4804
|
import_errors16.ErrorCode.INVALID_TRANSFER_AMOUNT,
|
@@ -4795,11 +4807,13 @@ var Account = class extends import_interfaces.AbstractAccount {
|
|
4795
4807
|
}
|
4796
4808
|
const contractAddress = import_address4.Address.fromAddressOrString(contractId);
|
4797
4809
|
const { minGasPrice } = this.provider.getGasConfig();
|
4798
|
-
const
|
4810
|
+
const baseAssetId = this.provider.getBaseAssetId();
|
4811
|
+
const assetIdToTransfer = assetId ?? this.provider.getBaseAssetId();
|
4812
|
+
const params = { gasPrice: minGasPrice, baseAssetId, ...txParams };
|
4799
4813
|
const { script, scriptData } = await assembleTransferToContractScript({
|
4800
4814
|
hexlifiedContractId: contractAddress.toB256(),
|
4801
4815
|
amountToTransfer: (0, import_math18.bn)(amount),
|
4802
|
-
assetId
|
4816
|
+
assetId: assetIdToTransfer
|
4803
4817
|
});
|
4804
4818
|
const request = new ScriptTransactionRequest({
|
4805
4819
|
...params,
|
@@ -4809,7 +4823,7 @@ var Account = class extends import_interfaces.AbstractAccount {
|
|
4809
4823
|
request.addContractInputAndOutput(contractAddress);
|
4810
4824
|
const { maxFee, requiredQuantities, gasUsed } = await this.provider.getTransactionCost(
|
4811
4825
|
request,
|
4812
|
-
[{ amount: (0, import_math18.bn)(amount), assetId: String(
|
4826
|
+
[{ amount: (0, import_math18.bn)(amount), assetId: String(assetIdToTransfer) }]
|
4813
4827
|
);
|
4814
4828
|
request.gasLimit = (0, import_math18.bn)(params.gasLimit ?? gasUsed);
|
4815
4829
|
this.validateGas({
|
@@ -4831,6 +4845,7 @@ var Account = class extends import_interfaces.AbstractAccount {
|
|
4831
4845
|
*/
|
4832
4846
|
async withdrawToBaseLayer(recipient, amount, txParams = {}) {
|
4833
4847
|
const { minGasPrice } = this.provider.getGasConfig();
|
4848
|
+
const baseAssetId = this.provider.getBaseAssetId();
|
4834
4849
|
const recipientAddress = import_address4.Address.fromAddressOrString(recipient);
|
4835
4850
|
const recipientDataArray = (0, import_utils28.arrayify)(
|
4836
4851
|
"0x".concat(recipientAddress.toHexString().substring(2).padStart(64, "0"))
|
@@ -4843,9 +4858,14 @@ var Account = class extends import_interfaces.AbstractAccount {
|
|
4843
4858
|
...recipientDataArray,
|
4844
4859
|
...amountDataArray
|
4845
4860
|
]);
|
4846
|
-
const params = {
|
4861
|
+
const params = {
|
4862
|
+
script,
|
4863
|
+
gasPrice: minGasPrice,
|
4864
|
+
baseAssetId,
|
4865
|
+
...txParams
|
4866
|
+
};
|
4847
4867
|
const request = new ScriptTransactionRequest(params);
|
4848
|
-
const forwardingQuantities = [{ amount: (0, import_math18.bn)(amount), assetId:
|
4868
|
+
const forwardingQuantities = [{ amount: (0, import_math18.bn)(amount), assetId: baseAssetId }];
|
4849
4869
|
const { requiredQuantities, maxFee, gasUsed } = await this.provider.getTransactionCost(
|
4850
4870
|
request,
|
4851
4871
|
forwardingQuantities
|
@@ -7990,7 +8010,9 @@ var seedTestWallet = async (wallet, quantities) => {
|
|
7990
8010
|
);
|
7991
8011
|
const resources = await genesisWallet.getResourcesToSpend(quantities);
|
7992
8012
|
const { minGasPrice } = genesisWallet.provider.getGasConfig();
|
8013
|
+
const baseAssetId = genesisWallet.provider.getBaseAssetId();
|
7993
8014
|
const request = new ScriptTransactionRequest({
|
8015
|
+
baseAssetId,
|
7994
8016
|
gasLimit: 1e4,
|
7995
8017
|
gasPrice: minGasPrice
|
7996
8018
|
});
|
@@ -8009,7 +8031,7 @@ var generateTestWallet = async (provider, quantities) => {
|
|
8009
8031
|
};
|
8010
8032
|
|
8011
8033
|
// src/test-utils/launchNode.ts
|
8012
|
-
var
|
8034
|
+
var import_configs11 = require("@fuel-ts/address/configs");
|
8013
8035
|
var import_math21 = require("@fuel-ts/math");
|
8014
8036
|
var import_utils36 = require("@fuel-ts/utils");
|
8015
8037
|
var import_cli_utils = require("@fuel-ts/utils/cli-utils");
|
@@ -8109,7 +8131,7 @@ var launchNode = async ({
|
|
8109
8131
|
{
|
8110
8132
|
owner: signer.address.toHexString(),
|
8111
8133
|
amount: (0, import_math21.toHex)(1e9),
|
8112
|
-
asset_id:
|
8134
|
+
asset_id: import_utils36.defaultChainConfig?.consensus_parameters?.base_asset_id ?? import_configs11.ZeroBytes32
|
8113
8135
|
}
|
8114
8136
|
]
|
8115
8137
|
}
|
@@ -8175,9 +8197,10 @@ var launchNode = async ({
|
|
8175
8197
|
})
|
8176
8198
|
);
|
8177
8199
|
var generateWallets = async (count, provider) => {
|
8200
|
+
const baseAssetId = provider.getBaseAssetId();
|
8178
8201
|
const wallets = [];
|
8179
8202
|
for (let i = 0; i < count; i += 1) {
|
8180
|
-
const wallet = await generateTestWallet(provider, [[1e3,
|
8203
|
+
const wallet = await generateTestWallet(provider, [[1e3, baseAssetId]]);
|
8181
8204
|
wallets.push(wallet);
|
8182
8205
|
}
|
8183
8206
|
return wallets;
|