@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/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);
|
@@ -1061,7 +1059,7 @@ var MemoryCache = class {
|
|
1061
1059
|
|
1062
1060
|
// src/providers/transaction-request/input.ts
|
1063
1061
|
var import_abi_coder = require("@fuel-ts/abi-coder");
|
1064
|
-
var
|
1062
|
+
var import_configs = require("@fuel-ts/address/configs");
|
1065
1063
|
var import_errors3 = require("@fuel-ts/errors");
|
1066
1064
|
var import_math2 = require("@fuel-ts/math");
|
1067
1065
|
var import_transactions = require("@fuel-ts/transactions");
|
@@ -1095,10 +1093,10 @@ var inputify = (value) => {
|
|
1095
1093
|
case import_transactions.InputType.Contract: {
|
1096
1094
|
return {
|
1097
1095
|
type: import_transactions.InputType.Contract,
|
1098
|
-
txID:
|
1096
|
+
txID: import_configs.ZeroBytes32,
|
1099
1097
|
outputIndex: 0,
|
1100
|
-
balanceRoot:
|
1101
|
-
stateRoot:
|
1098
|
+
balanceRoot: import_configs.ZeroBytes32,
|
1099
|
+
stateRoot: import_configs.ZeroBytes32,
|
1102
1100
|
txPointer: {
|
1103
1101
|
blockHeight: (0, import_math2.toNumber)((0, import_utils3.arrayify)(value.txPointer).slice(0, 8)),
|
1104
1102
|
txIndex: (0, import_math2.toNumber)((0, import_utils3.arrayify)(value.txPointer).slice(8, 16))
|
@@ -1136,7 +1134,7 @@ var inputify = (value) => {
|
|
1136
1134
|
};
|
1137
1135
|
|
1138
1136
|
// src/providers/transaction-request/output.ts
|
1139
|
-
var
|
1137
|
+
var import_configs2 = require("@fuel-ts/address/configs");
|
1140
1138
|
var import_errors4 = require("@fuel-ts/errors");
|
1141
1139
|
var import_math3 = require("@fuel-ts/math");
|
1142
1140
|
var import_transactions2 = require("@fuel-ts/transactions");
|
@@ -1156,8 +1154,8 @@ var outputify = (value) => {
|
|
1156
1154
|
return {
|
1157
1155
|
type: import_transactions2.OutputType.Contract,
|
1158
1156
|
inputIndex: value.inputIndex,
|
1159
|
-
balanceRoot:
|
1160
|
-
stateRoot:
|
1157
|
+
balanceRoot: import_configs2.ZeroBytes32,
|
1158
|
+
stateRoot: import_configs2.ZeroBytes32
|
1161
1159
|
};
|
1162
1160
|
}
|
1163
1161
|
case import_transactions2.OutputType.Change: {
|
@@ -1171,9 +1169,9 @@ var outputify = (value) => {
|
|
1171
1169
|
case import_transactions2.OutputType.Variable: {
|
1172
1170
|
return {
|
1173
1171
|
type: import_transactions2.OutputType.Variable,
|
1174
|
-
to:
|
1172
|
+
to: import_configs2.ZeroBytes32,
|
1175
1173
|
amount: (0, import_math3.bn)(0),
|
1176
|
-
assetId:
|
1174
|
+
assetId: import_configs2.ZeroBytes32
|
1177
1175
|
};
|
1178
1176
|
}
|
1179
1177
|
case import_transactions2.OutputType.ContractCreated: {
|
@@ -1195,7 +1193,7 @@ var outputify = (value) => {
|
|
1195
1193
|
// src/providers/transaction-request/transaction-request.ts
|
1196
1194
|
var import_abi_coder2 = require("@fuel-ts/abi-coder");
|
1197
1195
|
var import_address = require("@fuel-ts/address");
|
1198
|
-
var
|
1196
|
+
var import_configs6 = require("@fuel-ts/address/configs");
|
1199
1197
|
var import_crypto = require("@fuel-ts/crypto");
|
1200
1198
|
var import_math7 = require("@fuel-ts/math");
|
1201
1199
|
var import_transactions6 = require("@fuel-ts/transactions");
|
@@ -1205,13 +1203,13 @@ var import_utils9 = require("@fuel-ts/utils");
|
|
1205
1203
|
var isCoin = (resource) => "id" in resource;
|
1206
1204
|
|
1207
1205
|
// src/providers/utils/receipts.ts
|
1208
|
-
var
|
1206
|
+
var import_configs3 = require("@fuel-ts/address/configs");
|
1209
1207
|
var import_errors5 = require("@fuel-ts/errors");
|
1210
1208
|
var import_math4 = require("@fuel-ts/math");
|
1211
1209
|
var import_transactions3 = require("@fuel-ts/transactions");
|
1212
|
-
var
|
1210
|
+
var import_configs4 = require("@fuel-ts/transactions/configs");
|
1213
1211
|
var import_utils5 = require("@fuel-ts/utils");
|
1214
|
-
var doesReceiptHaveMissingOutputVariables = (receipt) => receipt.type === import_transactions3.ReceiptType.Revert && receipt.val.toString("hex") ===
|
1212
|
+
var doesReceiptHaveMissingOutputVariables = (receipt) => receipt.type === import_transactions3.ReceiptType.Revert && receipt.val.toString("hex") === import_configs4.FAILED_TRANSFER_TO_ADDRESS_SIGNAL;
|
1215
1213
|
var doesReceiptHaveMissingContractId = (receipt) => receipt.type === import_transactions3.ReceiptType.Panic && receipt.contractId !== "0x0000000000000000000000000000000000000000000000000000000000000000";
|
1216
1214
|
var getReceiptsWithMissingData = (receipts) => receipts.reduce(
|
1217
1215
|
(memo, receipt) => {
|
@@ -1228,7 +1226,7 @@ var getReceiptsWithMissingData = (receipts) => receipts.reduce(
|
|
1228
1226
|
missingOutputContractIds: []
|
1229
1227
|
}
|
1230
1228
|
);
|
1231
|
-
var hexOrZero = (hex) => hex ||
|
1229
|
+
var hexOrZero = (hex) => hex || import_configs3.ZeroBytes32;
|
1232
1230
|
function assembleReceiptByType(receipt) {
|
1233
1231
|
const { receiptType } = receipt;
|
1234
1232
|
switch (receiptType) {
|
@@ -1533,16 +1531,16 @@ function sleep(time) {
|
|
1533
1531
|
var import_errors7 = require("@fuel-ts/errors");
|
1534
1532
|
var import_math6 = require("@fuel-ts/math");
|
1535
1533
|
var import_transactions5 = require("@fuel-ts/transactions");
|
1536
|
-
var
|
1534
|
+
var import_configs5 = require("@fuel-ts/transactions/configs");
|
1537
1535
|
var assemblePanicError = (status) => {
|
1538
1536
|
let errorMessage = `The transaction reverted with reason: "${status.reason}".`;
|
1539
1537
|
const reason = status.reason;
|
1540
|
-
if (
|
1538
|
+
if (import_configs5.PANIC_REASONS.includes(status.reason)) {
|
1541
1539
|
errorMessage = `${errorMessage}
|
1542
1540
|
|
1543
1541
|
You can read more about this error at:
|
1544
1542
|
|
1545
|
-
${
|
1543
|
+
${import_configs5.PANIC_DOC_URL}#variant.${status.reason}`;
|
1546
1544
|
}
|
1547
1545
|
return { errorMessage, reason };
|
1548
1546
|
};
|
@@ -1554,28 +1552,28 @@ var assembleRevertError = (receipts, logs) => {
|
|
1554
1552
|
if (revertReceipt) {
|
1555
1553
|
const reasonHex = (0, import_math6.bn)(revertReceipt.val).toHex();
|
1556
1554
|
switch (reasonHex) {
|
1557
|
-
case
|
1555
|
+
case import_configs5.FAILED_REQUIRE_SIGNAL: {
|
1558
1556
|
reason = "require";
|
1559
1557
|
errorMessage = `The transaction reverted because a "require" statement has thrown ${logs.length ? stringify(logs[0]) : "an error."}.`;
|
1560
1558
|
break;
|
1561
1559
|
}
|
1562
|
-
case
|
1560
|
+
case import_configs5.FAILED_ASSERT_EQ_SIGNAL: {
|
1563
1561
|
const sufix = logs.length >= 2 ? ` comparing ${stringify(logs[1])} and ${stringify(logs[0])}.` : ".";
|
1564
1562
|
reason = "assert_eq";
|
1565
1563
|
errorMessage = `The transaction reverted because of an "assert_eq" statement${sufix}`;
|
1566
1564
|
break;
|
1567
1565
|
}
|
1568
|
-
case
|
1566
|
+
case import_configs5.FAILED_ASSERT_NE_SIGNAL: {
|
1569
1567
|
const sufix = logs.length >= 2 ? ` comparing ${stringify(logs[1])} and ${stringify(logs[0])}.` : ".";
|
1570
1568
|
reason = "assert_ne";
|
1571
1569
|
errorMessage = `The transaction reverted because of an "assert_ne" statement${sufix}`;
|
1572
1570
|
break;
|
1573
1571
|
}
|
1574
|
-
case
|
1572
|
+
case import_configs5.FAILED_ASSERT_SIGNAL:
|
1575
1573
|
reason = "assert";
|
1576
1574
|
errorMessage = `The transaction reverted because an "assert" statement failed to evaluate to true.`;
|
1577
1575
|
break;
|
1578
|
-
case
|
1576
|
+
case import_configs5.FAILED_TRANSFER_TO_ADDRESS_SIGNAL:
|
1579
1577
|
reason = "MissingOutputChange";
|
1580
1578
|
errorMessage = `The transaction reverted because it's missing an "OutputChange".`;
|
1581
1579
|
break;
|
@@ -1637,6 +1635,8 @@ var BaseTransactionRequest = class {
|
|
1637
1635
|
outputs = [];
|
1638
1636
|
/** List of witnesses */
|
1639
1637
|
witnesses = [];
|
1638
|
+
/** Base asset ID - should be fetched from the chain */
|
1639
|
+
baseAssetId;
|
1640
1640
|
/**
|
1641
1641
|
* Constructor for initializing a base transaction request.
|
1642
1642
|
*
|
@@ -1649,8 +1649,9 @@ var BaseTransactionRequest = class {
|
|
1649
1649
|
witnessLimit,
|
1650
1650
|
inputs,
|
1651
1651
|
outputs,
|
1652
|
-
witnesses
|
1653
|
-
|
1652
|
+
witnesses,
|
1653
|
+
baseAssetId
|
1654
|
+
}) {
|
1654
1655
|
this.gasPrice = (0, import_math7.bn)(gasPrice);
|
1655
1656
|
this.maturity = maturity ?? 0;
|
1656
1657
|
this.witnessLimit = witnessLimit ? (0, import_math7.bn)(witnessLimit) : void 0;
|
@@ -1658,6 +1659,7 @@ var BaseTransactionRequest = class {
|
|
1658
1659
|
this.inputs = inputs ?? [];
|
1659
1660
|
this.outputs = outputs ?? [];
|
1660
1661
|
this.witnesses = witnesses ?? [];
|
1662
|
+
this.baseAssetId = baseAssetId;
|
1661
1663
|
}
|
1662
1664
|
static getPolicyMeta(req) {
|
1663
1665
|
let policyTypes = 0;
|
@@ -1750,7 +1752,7 @@ var BaseTransactionRequest = class {
|
|
1750
1752
|
* @returns The index of the created witness.
|
1751
1753
|
*/
|
1752
1754
|
addEmptyWitness() {
|
1753
|
-
this.addWitness((0, import_utils9.concat)([
|
1755
|
+
this.addWitness((0, import_utils9.concat)([import_configs6.ZeroBytes32, import_configs6.ZeroBytes32]));
|
1754
1756
|
return this.witnesses.length - 1;
|
1755
1757
|
}
|
1756
1758
|
/**
|
@@ -1881,11 +1883,9 @@ var BaseTransactionRequest = class {
|
|
1881
1883
|
*
|
1882
1884
|
* @param message - Message resource.
|
1883
1885
|
* @param predicate - Predicate bytes.
|
1884
|
-
* @param predicateData - Predicate data bytes.
|
1885
1886
|
*/
|
1886
1887
|
addMessageInput(message, predicate) {
|
1887
1888
|
const { recipient, sender, amount } = message;
|
1888
|
-
const assetId = import_configs7.BaseAssetId;
|
1889
1889
|
let witnessIndex;
|
1890
1890
|
if (predicate) {
|
1891
1891
|
witnessIndex = 0;
|
@@ -1905,7 +1905,7 @@ var BaseTransactionRequest = class {
|
|
1905
1905
|
predicate: predicate?.bytes
|
1906
1906
|
};
|
1907
1907
|
this.pushInput(input);
|
1908
|
-
this.addChangeOutput(recipient,
|
1908
|
+
this.addChangeOutput(recipient, this.baseAssetId);
|
1909
1909
|
}
|
1910
1910
|
/**
|
1911
1911
|
* Adds a single resource to the transaction by adding a coin/message input and a
|
@@ -1966,12 +1966,12 @@ var BaseTransactionRequest = class {
|
|
1966
1966
|
* @param amount - Amount of coin.
|
1967
1967
|
* @param assetId - Asset ID of coin.
|
1968
1968
|
*/
|
1969
|
-
addCoinOutput(to, amount, assetId
|
1969
|
+
addCoinOutput(to, amount, assetId) {
|
1970
1970
|
this.pushOutput({
|
1971
1971
|
type: import_transactions6.OutputType.Coin,
|
1972
1972
|
to: (0, import_address.addressify)(to).toB256(),
|
1973
1973
|
amount,
|
1974
|
-
assetId
|
1974
|
+
assetId: assetId ?? this.baseAssetId
|
1975
1975
|
});
|
1976
1976
|
return this;
|
1977
1977
|
}
|
@@ -1998,7 +1998,7 @@ var BaseTransactionRequest = class {
|
|
1998
1998
|
* @param to - Address of the owner.
|
1999
1999
|
* @param assetId - Asset ID of coin.
|
2000
2000
|
*/
|
2001
|
-
addChangeOutput(to, assetId
|
2001
|
+
addChangeOutput(to, assetId) {
|
2002
2002
|
const changeOutput = this.getChangeOutputs().find(
|
2003
2003
|
(output) => (0, import_utils9.hexlify)(output.assetId) === assetId
|
2004
2004
|
);
|
@@ -2006,7 +2006,7 @@ var BaseTransactionRequest = class {
|
|
2006
2006
|
this.pushOutput({
|
2007
2007
|
type: import_transactions6.OutputType.Change,
|
2008
2008
|
to: (0, import_address.addressify)(to).toB256(),
|
2009
|
-
assetId
|
2009
|
+
assetId: assetId ?? this.baseAssetId
|
2010
2010
|
});
|
2011
2011
|
}
|
2012
2012
|
}
|
@@ -2082,7 +2082,7 @@ var BaseTransactionRequest = class {
|
|
2082
2082
|
]);
|
2083
2083
|
}
|
2084
2084
|
};
|
2085
|
-
updateAssetInput(
|
2085
|
+
updateAssetInput(this.baseAssetId, (0, import_math7.bn)(1e11));
|
2086
2086
|
quantities.forEach((q) => updateAssetInput(q.assetId, q.amount));
|
2087
2087
|
}
|
2088
2088
|
/**
|
@@ -2132,13 +2132,13 @@ var BaseTransactionRequest = class {
|
|
2132
2132
|
};
|
2133
2133
|
|
2134
2134
|
// src/providers/transaction-request/create-transaction-request.ts
|
2135
|
-
var
|
2135
|
+
var import_configs8 = require("@fuel-ts/address/configs");
|
2136
2136
|
var import_math9 = require("@fuel-ts/math");
|
2137
2137
|
var import_transactions8 = require("@fuel-ts/transactions");
|
2138
2138
|
var import_utils13 = require("@fuel-ts/utils");
|
2139
2139
|
|
2140
2140
|
// src/providers/transaction-request/hash-transaction.ts
|
2141
|
-
var
|
2141
|
+
var import_configs7 = require("@fuel-ts/address/configs");
|
2142
2142
|
var import_hasher = require("@fuel-ts/hasher");
|
2143
2143
|
var import_math8 = require("@fuel-ts/math");
|
2144
2144
|
var import_transactions7 = require("@fuel-ts/transactions");
|
@@ -2147,7 +2147,7 @@ var import_ramda2 = require("ramda");
|
|
2147
2147
|
function hashTransaction(transactionRequest, chainId) {
|
2148
2148
|
const transaction = transactionRequest.toTransaction();
|
2149
2149
|
if (transaction.type === import_transactions7.TransactionType.Script) {
|
2150
|
-
transaction.receiptsRoot =
|
2150
|
+
transaction.receiptsRoot = import_configs7.ZeroBytes32;
|
2151
2151
|
}
|
2152
2152
|
transaction.inputs = transaction.inputs.map((input) => {
|
2153
2153
|
const inputClone = (0, import_ramda2.clone)(input);
|
@@ -2169,10 +2169,10 @@ function hashTransaction(transactionRequest, chainId) {
|
|
2169
2169
|
blockHeight: 0,
|
2170
2170
|
txIndex: 0
|
2171
2171
|
};
|
2172
|
-
inputClone.txID =
|
2172
|
+
inputClone.txID = import_configs7.ZeroBytes32;
|
2173
2173
|
inputClone.outputIndex = 0;
|
2174
|
-
inputClone.balanceRoot =
|
2175
|
-
inputClone.stateRoot =
|
2174
|
+
inputClone.balanceRoot = import_configs7.ZeroBytes32;
|
2175
|
+
inputClone.stateRoot = import_configs7.ZeroBytes32;
|
2176
2176
|
return inputClone;
|
2177
2177
|
}
|
2178
2178
|
default:
|
@@ -2183,8 +2183,8 @@ function hashTransaction(transactionRequest, chainId) {
|
|
2183
2183
|
const outputClone = (0, import_ramda2.clone)(output);
|
2184
2184
|
switch (outputClone.type) {
|
2185
2185
|
case import_transactions7.OutputType.Contract: {
|
2186
|
-
outputClone.balanceRoot =
|
2187
|
-
outputClone.stateRoot =
|
2186
|
+
outputClone.balanceRoot = import_configs7.ZeroBytes32;
|
2187
|
+
outputClone.stateRoot = import_configs7.ZeroBytes32;
|
2188
2188
|
return outputClone;
|
2189
2189
|
}
|
2190
2190
|
case import_transactions7.OutputType.Change: {
|
@@ -2192,9 +2192,9 @@ function hashTransaction(transactionRequest, chainId) {
|
|
2192
2192
|
return outputClone;
|
2193
2193
|
}
|
2194
2194
|
case import_transactions7.OutputType.Variable: {
|
2195
|
-
outputClone.to =
|
2195
|
+
outputClone.to = import_configs7.ZeroBytes32;
|
2196
2196
|
outputClone.amount = (0, import_math8.bn)(0);
|
2197
|
-
outputClone.assetId =
|
2197
|
+
outputClone.assetId = import_configs7.ZeroBytes32;
|
2198
2198
|
return outputClone;
|
2199
2199
|
}
|
2200
2200
|
default:
|
@@ -2252,15 +2252,10 @@ var CreateTransactionRequest = class extends BaseTransactionRequest {
|
|
2252
2252
|
*
|
2253
2253
|
* @param createTransactionRequestLike - The initial values for the instance
|
2254
2254
|
*/
|
2255
|
-
constructor({
|
2256
|
-
bytecodeWitnessIndex,
|
2257
|
-
salt,
|
2258
|
-
storageSlots,
|
2259
|
-
...rest
|
2260
|
-
} = {}) {
|
2255
|
+
constructor({ bytecodeWitnessIndex, salt, storageSlots, ...rest }) {
|
2261
2256
|
super(rest);
|
2262
2257
|
this.bytecodeWitnessIndex = bytecodeWitnessIndex ?? 0;
|
2263
|
-
this.salt = (0, import_utils13.hexlify)(salt ??
|
2258
|
+
this.salt = (0, import_utils13.hexlify)(salt ?? import_configs8.ZeroBytes32);
|
2264
2259
|
this.storageSlots = [...storageSlots ?? []];
|
2265
2260
|
}
|
2266
2261
|
/**
|
@@ -2278,7 +2273,7 @@ var CreateTransactionRequest = class extends BaseTransactionRequest {
|
|
2278
2273
|
bytecodeLength: baseTransaction.witnesses[bytecodeWitnessIndex].dataLength / 4,
|
2279
2274
|
bytecodeWitnessIndex,
|
2280
2275
|
storageSlotsCount: storageSlots.length,
|
2281
|
-
salt: this.salt ? (0, import_utils13.hexlify)(this.salt) :
|
2276
|
+
salt: this.salt ? (0, import_utils13.hexlify)(this.salt) : import_configs8.ZeroBytes32,
|
2282
2277
|
storageSlots
|
2283
2278
|
};
|
2284
2279
|
}
|
@@ -2328,7 +2323,7 @@ var CreateTransactionRequest = class extends BaseTransactionRequest {
|
|
2328
2323
|
// src/providers/transaction-request/script-transaction-request.ts
|
2329
2324
|
var import_abi_coder3 = require("@fuel-ts/abi-coder");
|
2330
2325
|
var import_address2 = require("@fuel-ts/address");
|
2331
|
-
var
|
2326
|
+
var import_configs9 = require("@fuel-ts/address/configs");
|
2332
2327
|
var import_math10 = require("@fuel-ts/math");
|
2333
2328
|
var import_transactions9 = require("@fuel-ts/transactions");
|
2334
2329
|
var import_utils15 = require("@fuel-ts/utils");
|
@@ -2381,7 +2376,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
|
|
2381
2376
|
*
|
2382
2377
|
* @param scriptTransactionRequestLike - The initial values for the instance.
|
2383
2378
|
*/
|
2384
|
-
constructor({ script, scriptData, gasLimit, ...rest }
|
2379
|
+
constructor({ script, scriptData, gasLimit, ...rest }) {
|
2385
2380
|
super(rest);
|
2386
2381
|
this.gasLimit = (0, import_math10.bn)(gasLimit);
|
2387
2382
|
this.script = (0, import_utils15.arrayify)(script ?? returnZeroScript.bytes);
|
@@ -2402,7 +2397,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
|
|
2402
2397
|
...super.getBaseTransaction(),
|
2403
2398
|
scriptLength: script.length,
|
2404
2399
|
scriptDataLength: scriptData.length,
|
2405
|
-
receiptsRoot:
|
2400
|
+
receiptsRoot: import_configs9.ZeroBytes32,
|
2406
2401
|
script: (0, import_utils15.hexlify)(script),
|
2407
2402
|
scriptData: (0, import_utils15.hexlify)(scriptData)
|
2408
2403
|
};
|
@@ -2634,7 +2629,7 @@ var calculateTransactionFee = (params) => {
|
|
2634
2629
|
};
|
2635
2630
|
|
2636
2631
|
// src/providers/transaction-summary/operations.ts
|
2637
|
-
var
|
2632
|
+
var import_configs10 = require("@fuel-ts/address/configs");
|
2638
2633
|
var import_errors11 = require("@fuel-ts/errors");
|
2639
2634
|
var import_math13 = require("@fuel-ts/math");
|
2640
2635
|
var import_transactions14 = require("@fuel-ts/transactions");
|
@@ -2932,7 +2927,7 @@ function extractTransferOperationFromReceipt(receipt, contractInputs, changeOutp
|
|
2932
2927
|
const { to: toAddress, assetId, amount } = receipt;
|
2933
2928
|
let { from: fromAddress } = receipt;
|
2934
2929
|
const toType = contractInputs.some((input) => input.contractID === toAddress) ? 0 /* contract */ : 1 /* account */;
|
2935
|
-
if (
|
2930
|
+
if (import_configs10.ZeroBytes32 === fromAddress) {
|
2936
2931
|
const change = changeOutputs.find((output) => output.assetId === assetId);
|
2937
2932
|
fromAddress = change?.to || fromAddress;
|
2938
2933
|
}
|
@@ -3509,6 +3504,7 @@ var processGqlChain = (chain) => {
|
|
3509
3504
|
gasPerByte: (0, import_math15.bn)(feeParams.gasPerByte),
|
3510
3505
|
maxMessageDataLength: (0, import_math15.bn)(predicateParams.maxMessageDataLength),
|
3511
3506
|
chainId: (0, import_math15.bn)(consensusParameters.chainId),
|
3507
|
+
baseAssetId: consensusParameters.baseAssetId,
|
3512
3508
|
gasCosts
|
3513
3509
|
},
|
3514
3510
|
gasCosts,
|
@@ -3751,6 +3747,17 @@ var _Provider = class {
|
|
3751
3747
|
} = this.getChain();
|
3752
3748
|
return chainId.toNumber();
|
3753
3749
|
}
|
3750
|
+
/**
|
3751
|
+
* Returns the base asset ID
|
3752
|
+
*
|
3753
|
+
* @returns A promise that resolves to the base asset ID
|
3754
|
+
*/
|
3755
|
+
getBaseAssetId() {
|
3756
|
+
const {
|
3757
|
+
consensusParameters: { baseAssetId }
|
3758
|
+
} = this.getChain();
|
3759
|
+
return baseAssetId;
|
3760
|
+
}
|
3754
3761
|
/**
|
3755
3762
|
* Submits a transaction to the chain to be executed.
|
3756
3763
|
*
|
@@ -4648,8 +4655,9 @@ var Account = class extends import_interfaces.AbstractAccount {
|
|
4648
4655
|
* @param assetId - The asset ID to check the balance for.
|
4649
4656
|
* @returns A promise that resolves to the balance amount.
|
4650
4657
|
*/
|
4651
|
-
async getBalance(assetId
|
4652
|
-
const
|
4658
|
+
async getBalance(assetId) {
|
4659
|
+
const assetIdToFetch = assetId ?? this.provider.getBaseAssetId();
|
4660
|
+
const amount = await this.provider.getBalance(this.address, assetIdToFetch);
|
4653
4661
|
return amount;
|
4654
4662
|
}
|
4655
4663
|
/**
|
@@ -4687,9 +4695,10 @@ var Account = class extends import_interfaces.AbstractAccount {
|
|
4687
4695
|
* @returns A promise that resolves when the resources are added to the transaction.
|
4688
4696
|
*/
|
4689
4697
|
async fund(request, coinQuantities, fee) {
|
4698
|
+
const baseAssetId = this.provider.getBaseAssetId();
|
4690
4699
|
const updatedQuantities = addAmountToAsset({
|
4691
4700
|
amount: (0, import_math18.bn)(fee),
|
4692
|
-
assetId:
|
4701
|
+
assetId: baseAssetId,
|
4693
4702
|
coinQuantities
|
4694
4703
|
});
|
4695
4704
|
const quantitiesDict = {};
|
@@ -4713,8 +4722,8 @@ var Account = class extends import_interfaces.AbstractAccount {
|
|
4713
4722
|
quantitiesDict[assetId].owned = quantitiesDict[assetId].owned.add(amount);
|
4714
4723
|
cachedUtxos.push(input.id);
|
4715
4724
|
}
|
4716
|
-
} else if (input.recipient === owner && input.amount && quantitiesDict[
|
4717
|
-
quantitiesDict[
|
4725
|
+
} else if (input.recipient === owner && input.amount && quantitiesDict[baseAssetId]) {
|
4726
|
+
quantitiesDict[baseAssetId].owned = quantitiesDict[baseAssetId].owned.add(input.amount);
|
4718
4727
|
cachedMessages.push(input.nonce);
|
4719
4728
|
}
|
4720
4729
|
}
|
@@ -4746,11 +4755,13 @@ var Account = class extends import_interfaces.AbstractAccount {
|
|
4746
4755
|
* @param txParams - The transaction parameters (gasLimit, gasPrice, maturity).
|
4747
4756
|
* @returns A promise that resolves to the prepared transaction request.
|
4748
4757
|
*/
|
4749
|
-
async createTransfer(destination, amount, assetId
|
4758
|
+
async createTransfer(destination, amount, assetId, txParams = {}) {
|
4750
4759
|
const { minGasPrice } = this.provider.getGasConfig();
|
4751
|
-
const
|
4760
|
+
const baseAssetId = this.provider.getBaseAssetId();
|
4761
|
+
const assetIdToTransfer = assetId ?? this.provider.getBaseAssetId();
|
4762
|
+
const params = { gasPrice: minGasPrice, baseAssetId, ...txParams };
|
4752
4763
|
const request = new ScriptTransactionRequest(params);
|
4753
|
-
request.addCoinOutput(import_address4.Address.fromAddressOrString(destination), amount,
|
4764
|
+
request.addCoinOutput(import_address4.Address.fromAddressOrString(destination), amount, assetIdToTransfer);
|
4754
4765
|
const { maxFee, requiredQuantities, gasUsed, estimatedInputs } = await this.provider.getTransactionCost(request, [], {
|
4755
4766
|
estimateTxDependencies: true,
|
4756
4767
|
resourcesOwner: this
|
@@ -4776,14 +4787,15 @@ var Account = class extends import_interfaces.AbstractAccount {
|
|
4776
4787
|
* @param txParams - The transaction parameters (gasLimit, gasPrice, maturity).
|
4777
4788
|
* @returns A promise that resolves to the transaction response.
|
4778
4789
|
*/
|
4779
|
-
async transfer(destination, amount, assetId
|
4790
|
+
async transfer(destination, amount, assetId, txParams = {}) {
|
4780
4791
|
if ((0, import_math18.bn)(amount).lte(0)) {
|
4781
4792
|
throw new import_errors16.FuelError(
|
4782
4793
|
import_errors16.ErrorCode.INVALID_TRANSFER_AMOUNT,
|
4783
4794
|
"Transfer amount must be a positive number."
|
4784
4795
|
);
|
4785
4796
|
}
|
4786
|
-
const
|
4797
|
+
const assetIdToTransfer = assetId ?? this.provider.getBaseAssetId();
|
4798
|
+
const request = await this.createTransfer(destination, amount, assetIdToTransfer, txParams);
|
4787
4799
|
return this.sendTransaction(request, { estimateTxDependencies: false });
|
4788
4800
|
}
|
4789
4801
|
/**
|
@@ -4795,7 +4807,7 @@ var Account = class extends import_interfaces.AbstractAccount {
|
|
4795
4807
|
* @param txParams - The optional transaction parameters.
|
4796
4808
|
* @returns A promise that resolves to the transaction response.
|
4797
4809
|
*/
|
4798
|
-
async transferToContract(contractId, amount, assetId
|
4810
|
+
async transferToContract(contractId, amount, assetId, txParams = {}) {
|
4799
4811
|
if ((0, import_math18.bn)(amount).lte(0)) {
|
4800
4812
|
throw new import_errors16.FuelError(
|
4801
4813
|
import_errors16.ErrorCode.INVALID_TRANSFER_AMOUNT,
|
@@ -4804,11 +4816,13 @@ var Account = class extends import_interfaces.AbstractAccount {
|
|
4804
4816
|
}
|
4805
4817
|
const contractAddress = import_address4.Address.fromAddressOrString(contractId);
|
4806
4818
|
const { minGasPrice } = this.provider.getGasConfig();
|
4807
|
-
const
|
4819
|
+
const baseAssetId = this.provider.getBaseAssetId();
|
4820
|
+
const assetIdToTransfer = assetId ?? this.provider.getBaseAssetId();
|
4821
|
+
const params = { gasPrice: minGasPrice, baseAssetId, ...txParams };
|
4808
4822
|
const { script, scriptData } = await assembleTransferToContractScript({
|
4809
4823
|
hexlifiedContractId: contractAddress.toB256(),
|
4810
4824
|
amountToTransfer: (0, import_math18.bn)(amount),
|
4811
|
-
assetId
|
4825
|
+
assetId: assetIdToTransfer
|
4812
4826
|
});
|
4813
4827
|
const request = new ScriptTransactionRequest({
|
4814
4828
|
...params,
|
@@ -4818,7 +4832,7 @@ var Account = class extends import_interfaces.AbstractAccount {
|
|
4818
4832
|
request.addContractInputAndOutput(contractAddress);
|
4819
4833
|
const { maxFee, requiredQuantities, gasUsed } = await this.provider.getTransactionCost(
|
4820
4834
|
request,
|
4821
|
-
[{ amount: (0, import_math18.bn)(amount), assetId: String(
|
4835
|
+
[{ amount: (0, import_math18.bn)(amount), assetId: String(assetIdToTransfer) }]
|
4822
4836
|
);
|
4823
4837
|
request.gasLimit = (0, import_math18.bn)(params.gasLimit ?? gasUsed);
|
4824
4838
|
this.validateGas({
|
@@ -4840,6 +4854,7 @@ var Account = class extends import_interfaces.AbstractAccount {
|
|
4840
4854
|
*/
|
4841
4855
|
async withdrawToBaseLayer(recipient, amount, txParams = {}) {
|
4842
4856
|
const { minGasPrice } = this.provider.getGasConfig();
|
4857
|
+
const baseAssetId = this.provider.getBaseAssetId();
|
4843
4858
|
const recipientAddress = import_address4.Address.fromAddressOrString(recipient);
|
4844
4859
|
const recipientDataArray = (0, import_utils28.arrayify)(
|
4845
4860
|
"0x".concat(recipientAddress.toHexString().substring(2).padStart(64, "0"))
|
@@ -4852,9 +4867,14 @@ var Account = class extends import_interfaces.AbstractAccount {
|
|
4852
4867
|
...recipientDataArray,
|
4853
4868
|
...amountDataArray
|
4854
4869
|
]);
|
4855
|
-
const params = {
|
4870
|
+
const params = {
|
4871
|
+
script,
|
4872
|
+
gasPrice: minGasPrice,
|
4873
|
+
baseAssetId,
|
4874
|
+
...txParams
|
4875
|
+
};
|
4856
4876
|
const request = new ScriptTransactionRequest(params);
|
4857
|
-
const forwardingQuantities = [{ amount: (0, import_math18.bn)(amount), assetId:
|
4877
|
+
const forwardingQuantities = [{ amount: (0, import_math18.bn)(amount), assetId: baseAssetId }];
|
4858
4878
|
const { requiredQuantities, maxFee, gasUsed } = await this.provider.getTransactionCost(
|
4859
4879
|
request,
|
4860
4880
|
forwardingQuantities
|
@@ -7999,7 +8019,9 @@ var seedTestWallet = async (wallet, quantities) => {
|
|
7999
8019
|
);
|
8000
8020
|
const resources = await genesisWallet.getResourcesToSpend(quantities);
|
8001
8021
|
const { minGasPrice } = genesisWallet.provider.getGasConfig();
|
8022
|
+
const baseAssetId = genesisWallet.provider.getBaseAssetId();
|
8002
8023
|
const request = new ScriptTransactionRequest({
|
8024
|
+
baseAssetId,
|
8003
8025
|
gasLimit: 1e4,
|
8004
8026
|
gasPrice: minGasPrice
|
8005
8027
|
});
|
@@ -8018,7 +8040,7 @@ var generateTestWallet = async (provider, quantities) => {
|
|
8018
8040
|
};
|
8019
8041
|
|
8020
8042
|
// src/test-utils/launchNode.ts
|
8021
|
-
var
|
8043
|
+
var import_configs11 = require("@fuel-ts/address/configs");
|
8022
8044
|
var import_math21 = require("@fuel-ts/math");
|
8023
8045
|
var import_utils36 = require("@fuel-ts/utils");
|
8024
8046
|
var import_cli_utils = require("@fuel-ts/utils/cli-utils");
|
@@ -8118,7 +8140,7 @@ var launchNode = async ({
|
|
8118
8140
|
{
|
8119
8141
|
owner: signer.address.toHexString(),
|
8120
8142
|
amount: (0, import_math21.toHex)(1e9),
|
8121
|
-
asset_id:
|
8143
|
+
asset_id: import_utils36.defaultChainConfig?.consensus_parameters?.base_asset_id ?? import_configs11.ZeroBytes32
|
8122
8144
|
}
|
8123
8145
|
]
|
8124
8146
|
}
|
@@ -8184,9 +8206,10 @@ var launchNode = async ({
|
|
8184
8206
|
})
|
8185
8207
|
);
|
8186
8208
|
var generateWallets = async (count, provider) => {
|
8209
|
+
const baseAssetId = provider.getBaseAssetId();
|
8187
8210
|
const wallets = [];
|
8188
8211
|
for (let i = 0; i < count; i += 1) {
|
8189
|
-
const wallet = await generateTestWallet(provider, [[1e3,
|
8212
|
+
const wallet = await generateTestWallet(provider, [[1e3, baseAssetId]]);
|
8190
8213
|
wallets.push(wallet);
|
8191
8214
|
}
|
8192
8215
|
return wallets;
|