@fuel-ts/account 0.0.0-rc-2143-20240429105111 → 0.0.0-rc-2037-20240429115810
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/index.global.js +69 -8
- package/dist/index.global.js.map +1 -1
- package/dist/index.js +192 -118
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +107 -39
- package/dist/index.mjs.map +1 -1
- package/dist/predicate/predicate.d.ts +9 -2
- package/dist/predicate/predicate.d.ts.map +1 -1
- package/dist/providers/transaction-request/helpers.d.ts +10 -0
- package/dist/providers/transaction-request/helpers.d.ts.map +1 -0
- package/dist/providers/transaction-request/index.d.ts +1 -0
- package/dist/providers/transaction-request/index.d.ts.map +1 -1
- package/dist/providers/transaction-request/transaction-request.d.ts +2 -0
- package/dist/providers/transaction-request/transaction-request.d.ts.map +1 -1
- package/dist/test-utils/index.d.ts +1 -0
- package/dist/test-utils/index.d.ts.map +1 -1
- package/dist/test-utils/launchNode.d.ts +2 -4
- package/dist/test-utils/launchNode.d.ts.map +1 -1
- package/dist/test-utils/resources.d.ts +4 -0
- package/dist/test-utils/resources.d.ts.map +1 -0
- package/dist/test-utils/seedTestWallet.d.ts +1 -1
- package/dist/test-utils/seedTestWallet.d.ts.map +1 -1
- package/dist/test-utils/transactionRequest.d.ts +5 -0
- package/dist/test-utils/transactionRequest.d.ts.map +1 -0
- package/dist/test-utils.global.js +63 -14
- package/dist/test-utils.global.js.map +1 -1
- package/dist/test-utils.js +180 -117
- package/dist/test-utils.js.map +1 -1
- package/dist/test-utils.mjs +104 -44
- package/dist/test-utils.mjs.map +1 -1
- package/dist/wallet/base-wallet-unlocked.d.ts +2 -2
- package/dist/wallet/base-wallet-unlocked.d.ts.map +1 -1
- package/package.json +15 -15
package/dist/index.js
CHANGED
@@ -88,7 +88,7 @@ __export(src_exports, {
|
|
88
88
|
StorageAbstract: () => StorageAbstract,
|
89
89
|
TransactionResponse: () => TransactionResponse,
|
90
90
|
TransactionStatus: () => TransactionStatus,
|
91
|
-
TransactionType: () =>
|
91
|
+
TransactionType: () => import_transactions7.TransactionType,
|
92
92
|
TransactionTypeName: () => TransactionTypeName,
|
93
93
|
Vault: () => Vault,
|
94
94
|
Wallet: () => Wallet,
|
@@ -104,6 +104,7 @@ __export(src_exports, {
|
|
104
104
|
assets: () => assets,
|
105
105
|
buildBlockExplorerUrl: () => buildBlockExplorerUrl,
|
106
106
|
cacheFor: () => cacheFor,
|
107
|
+
cacheResources: () => cacheResources,
|
107
108
|
cacheTxInputsFromOwner: () => cacheTxInputsFromOwner,
|
108
109
|
calculateGasFee: () => calculateGasFee,
|
109
110
|
calculateMetadataGasForTxCreate: () => calculateMetadataGasForTxCreate,
|
@@ -151,6 +152,7 @@ __export(src_exports, {
|
|
151
152
|
getReceiptsMessageOut: () => getReceiptsMessageOut,
|
152
153
|
getReceiptsTransferOut: () => getReceiptsTransferOut,
|
153
154
|
getReceiptsWithMissingData: () => getReceiptsWithMissingData,
|
155
|
+
getRequestInputResourceOwner: () => getRequestInputResourceOwner,
|
154
156
|
getTransactionStatusName: () => getTransactionStatusName,
|
155
157
|
getTransactionSummary: () => getTransactionSummary,
|
156
158
|
getTransactionSummaryFromRequest: () => getTransactionSummaryFromRequest,
|
@@ -164,6 +166,10 @@ __export(src_exports, {
|
|
164
166
|
isMessage: () => isMessage,
|
165
167
|
isRawCoin: () => isRawCoin,
|
166
168
|
isRawMessage: () => isRawMessage,
|
169
|
+
isRequestInputCoin: () => isRequestInputCoin,
|
170
|
+
isRequestInputMessage: () => isRequestInputMessage,
|
171
|
+
isRequestInputResource: () => isRequestInputResource,
|
172
|
+
isRequestInputResourceFromOwner: () => isRequestInputResourceFromOwner,
|
167
173
|
isType: () => isType,
|
168
174
|
isTypeCreate: () => isTypeCreate,
|
169
175
|
isTypeMint: () => isTypeMint,
|
@@ -230,7 +236,7 @@ var addAmountToCoinQuantities = (params) => {
|
|
230
236
|
var import_address3 = require("@fuel-ts/address");
|
231
237
|
var import_errors14 = require("@fuel-ts/errors");
|
232
238
|
var import_math16 = require("@fuel-ts/math");
|
233
|
-
var
|
239
|
+
var import_transactions20 = require("@fuel-ts/transactions");
|
234
240
|
var import_utils22 = require("@fuel-ts/utils");
|
235
241
|
var import_versions = require("@fuel-ts/versions");
|
236
242
|
var import_utils23 = require("@noble/curves/abstract/utils");
|
@@ -1388,7 +1394,7 @@ var import_address = require("@fuel-ts/address");
|
|
1388
1394
|
var import_configs6 = require("@fuel-ts/address/configs");
|
1389
1395
|
var import_crypto = require("@fuel-ts/crypto");
|
1390
1396
|
var import_math7 = require("@fuel-ts/math");
|
1391
|
-
var
|
1397
|
+
var import_transactions7 = require("@fuel-ts/transactions");
|
1392
1398
|
var import_utils9 = require("@fuel-ts/utils");
|
1393
1399
|
|
1394
1400
|
// src/providers/resource.ts
|
@@ -1896,6 +1902,28 @@ var NoWitnessByOwnerError = class extends Error {
|
|
1896
1902
|
name = "NoWitnessByOwnerError";
|
1897
1903
|
};
|
1898
1904
|
|
1905
|
+
// src/providers/transaction-request/helpers.ts
|
1906
|
+
var import_transactions6 = require("@fuel-ts/transactions");
|
1907
|
+
var isRequestInputCoin = (input) => input.type === import_transactions6.InputType.Coin;
|
1908
|
+
var isRequestInputMessage = (input) => input.type === import_transactions6.InputType.Message;
|
1909
|
+
var isRequestInputResource = (input) => isRequestInputCoin(input) || isRequestInputMessage(input);
|
1910
|
+
var getRequestInputResourceOwner = (input) => isRequestInputCoin(input) ? input.owner : input.recipient;
|
1911
|
+
var isRequestInputResourceFromOwner = (input, owner) => getRequestInputResourceOwner(input) === owner.toB256();
|
1912
|
+
var cacheResources = (resources) => resources.reduce(
|
1913
|
+
(cache2, resource) => {
|
1914
|
+
if (isCoin(resource)) {
|
1915
|
+
cache2.utxos.push(resource.id);
|
1916
|
+
} else {
|
1917
|
+
cache2.messages.push(resource.nonce);
|
1918
|
+
}
|
1919
|
+
return cache2;
|
1920
|
+
},
|
1921
|
+
{
|
1922
|
+
utxos: [],
|
1923
|
+
messages: []
|
1924
|
+
}
|
1925
|
+
);
|
1926
|
+
|
1899
1927
|
// src/providers/transaction-request/witness.ts
|
1900
1928
|
var import_utils8 = require("@fuel-ts/utils");
|
1901
1929
|
var witnessify = (value) => {
|
@@ -1948,20 +1976,20 @@ var BaseTransactionRequest = class {
|
|
1948
1976
|
let policyTypes = 0;
|
1949
1977
|
const policies = [];
|
1950
1978
|
if (req.tip) {
|
1951
|
-
policyTypes +=
|
1952
|
-
policies.push({ data: req.tip, type:
|
1979
|
+
policyTypes += import_transactions7.PolicyType.Tip;
|
1980
|
+
policies.push({ data: req.tip, type: import_transactions7.PolicyType.Tip });
|
1953
1981
|
}
|
1954
1982
|
if (req.witnessLimit) {
|
1955
|
-
policyTypes +=
|
1956
|
-
policies.push({ data: req.witnessLimit, type:
|
1983
|
+
policyTypes += import_transactions7.PolicyType.WitnessLimit;
|
1984
|
+
policies.push({ data: req.witnessLimit, type: import_transactions7.PolicyType.WitnessLimit });
|
1957
1985
|
}
|
1958
1986
|
if (req.maturity > 0) {
|
1959
|
-
policyTypes +=
|
1960
|
-
policies.push({ data: req.maturity, type:
|
1987
|
+
policyTypes += import_transactions7.PolicyType.Maturity;
|
1988
|
+
policies.push({ data: req.maturity, type: import_transactions7.PolicyType.Maturity });
|
1961
1989
|
}
|
1962
1990
|
if (req.maxFee) {
|
1963
|
-
policyTypes +=
|
1964
|
-
policies.push({ data: req.maxFee, type:
|
1991
|
+
policyTypes += import_transactions7.PolicyType.MaxFee;
|
1992
|
+
policies.push({ data: req.maxFee, type: import_transactions7.PolicyType.MaxFee });
|
1965
1993
|
}
|
1966
1994
|
return {
|
1967
1995
|
policyTypes,
|
@@ -1995,7 +2023,7 @@ var BaseTransactionRequest = class {
|
|
1995
2023
|
* @returns The transaction bytes.
|
1996
2024
|
*/
|
1997
2025
|
toTransactionBytes() {
|
1998
|
-
return new
|
2026
|
+
return new import_transactions7.TransactionCoder().encode(this.toTransaction());
|
1999
2027
|
}
|
2000
2028
|
/**
|
2001
2029
|
* @hidden
|
@@ -2086,7 +2114,7 @@ var BaseTransactionRequest = class {
|
|
2086
2114
|
*/
|
2087
2115
|
getCoinInputs() {
|
2088
2116
|
return this.inputs.filter(
|
2089
|
-
(input) => input.type ===
|
2117
|
+
(input) => input.type === import_transactions7.InputType.Coin
|
2090
2118
|
);
|
2091
2119
|
}
|
2092
2120
|
/**
|
@@ -2096,7 +2124,7 @@ var BaseTransactionRequest = class {
|
|
2096
2124
|
*/
|
2097
2125
|
getCoinOutputs() {
|
2098
2126
|
return this.outputs.filter(
|
2099
|
-
(output) => output.type ===
|
2127
|
+
(output) => output.type === import_transactions7.OutputType.Coin
|
2100
2128
|
);
|
2101
2129
|
}
|
2102
2130
|
/**
|
@@ -2106,7 +2134,7 @@ var BaseTransactionRequest = class {
|
|
2106
2134
|
*/
|
2107
2135
|
getChangeOutputs() {
|
2108
2136
|
return this.outputs.filter(
|
2109
|
-
(output) => output.type ===
|
2137
|
+
(output) => output.type === import_transactions7.OutputType.Change
|
2110
2138
|
);
|
2111
2139
|
}
|
2112
2140
|
/**
|
@@ -2118,9 +2146,9 @@ var BaseTransactionRequest = class {
|
|
2118
2146
|
const ownerAddress = (0, import_address.addressify)(owner);
|
2119
2147
|
const found = this.inputs.find((input) => {
|
2120
2148
|
switch (input.type) {
|
2121
|
-
case
|
2149
|
+
case import_transactions7.InputType.Coin:
|
2122
2150
|
return (0, import_utils9.hexlify)(input.owner) === ownerAddress.toB256();
|
2123
|
-
case
|
2151
|
+
case import_transactions7.InputType.Message:
|
2124
2152
|
return (0, import_utils9.hexlify)(input.recipient) === ownerAddress.toB256();
|
2125
2153
|
default:
|
2126
2154
|
return false;
|
@@ -2135,7 +2163,7 @@ var BaseTransactionRequest = class {
|
|
2135
2163
|
* @param coin - Coin resource.
|
2136
2164
|
*/
|
2137
2165
|
addCoinInput(coin) {
|
2138
|
-
const { assetId, owner, amount } = coin;
|
2166
|
+
const { assetId, owner, amount, id, predicate } = coin;
|
2139
2167
|
let witnessIndex;
|
2140
2168
|
if (coin.predicate) {
|
2141
2169
|
witnessIndex = 0;
|
@@ -2146,13 +2174,14 @@ var BaseTransactionRequest = class {
|
|
2146
2174
|
}
|
2147
2175
|
}
|
2148
2176
|
const input = {
|
2149
|
-
|
2150
|
-
type:
|
2177
|
+
id,
|
2178
|
+
type: import_transactions7.InputType.Coin,
|
2151
2179
|
owner: owner.toB256(),
|
2152
2180
|
amount,
|
2153
2181
|
assetId,
|
2154
2182
|
txPointer: "0x00000000000000000000000000000000",
|
2155
|
-
witnessIndex
|
2183
|
+
witnessIndex,
|
2184
|
+
predicate
|
2156
2185
|
};
|
2157
2186
|
this.pushInput(input);
|
2158
2187
|
this.addChangeOutput(owner, assetId);
|
@@ -2164,7 +2193,7 @@ var BaseTransactionRequest = class {
|
|
2164
2193
|
* @param message - Message resource.
|
2165
2194
|
*/
|
2166
2195
|
addMessageInput(message) {
|
2167
|
-
const { recipient, sender, amount, assetId } = message;
|
2196
|
+
const { recipient, sender, amount, predicate, nonce, assetId } = message;
|
2168
2197
|
let witnessIndex;
|
2169
2198
|
if (message.predicate) {
|
2170
2199
|
witnessIndex = 0;
|
@@ -2175,12 +2204,13 @@ var BaseTransactionRequest = class {
|
|
2175
2204
|
}
|
2176
2205
|
}
|
2177
2206
|
const input = {
|
2178
|
-
|
2179
|
-
type:
|
2207
|
+
nonce,
|
2208
|
+
type: import_transactions7.InputType.Message,
|
2180
2209
|
sender: sender.toB256(),
|
2181
2210
|
recipient: recipient.toB256(),
|
2182
2211
|
amount,
|
2183
|
-
witnessIndex
|
2212
|
+
witnessIndex,
|
2213
|
+
predicate
|
2184
2214
|
};
|
2185
2215
|
this.pushInput(input);
|
2186
2216
|
this.addChangeOutput(recipient, assetId);
|
@@ -2220,7 +2250,7 @@ var BaseTransactionRequest = class {
|
|
2220
2250
|
*/
|
2221
2251
|
addCoinOutput(to, amount, assetId) {
|
2222
2252
|
this.pushOutput({
|
2223
|
-
type:
|
2253
|
+
type: import_transactions7.OutputType.Coin,
|
2224
2254
|
to: (0, import_address.addressify)(to).toB256(),
|
2225
2255
|
amount,
|
2226
2256
|
assetId
|
@@ -2236,7 +2266,7 @@ var BaseTransactionRequest = class {
|
|
2236
2266
|
addCoinOutputs(to, quantities) {
|
2237
2267
|
quantities.map(coinQuantityfy).forEach((quantity) => {
|
2238
2268
|
this.pushOutput({
|
2239
|
-
type:
|
2269
|
+
type: import_transactions7.OutputType.Coin,
|
2240
2270
|
to: (0, import_address.addressify)(to).toB256(),
|
2241
2271
|
amount: quantity.amount,
|
2242
2272
|
assetId: quantity.assetId
|
@@ -2256,7 +2286,7 @@ var BaseTransactionRequest = class {
|
|
2256
2286
|
);
|
2257
2287
|
if (!changeOutput) {
|
2258
2288
|
this.pushOutput({
|
2259
|
-
type:
|
2289
|
+
type: import_transactions7.OutputType.Change,
|
2260
2290
|
to: (0, import_address.addressify)(to).toB256(),
|
2261
2291
|
assetId
|
2262
2292
|
});
|
@@ -2364,16 +2394,27 @@ var BaseTransactionRequest = class {
|
|
2364
2394
|
toJSON() {
|
2365
2395
|
return normalizeJSON(this);
|
2366
2396
|
}
|
2397
|
+
removeWitness(index) {
|
2398
|
+
this.witnesses.splice(index, 1);
|
2399
|
+
this.adjustWitnessIndexes(index);
|
2400
|
+
}
|
2401
|
+
adjustWitnessIndexes(removedIndex) {
|
2402
|
+
this.inputs.filter(isRequestInputResource).forEach((input) => {
|
2403
|
+
if (input.witnessIndex > removedIndex) {
|
2404
|
+
input.witnessIndex -= 1;
|
2405
|
+
}
|
2406
|
+
});
|
2407
|
+
}
|
2367
2408
|
updatePredicateGasUsed(inputs) {
|
2368
2409
|
this.inputs.forEach((i) => {
|
2369
2410
|
let correspondingInput;
|
2370
2411
|
switch (i.type) {
|
2371
|
-
case
|
2372
|
-
correspondingInput = inputs.find((x) => x.type ===
|
2412
|
+
case import_transactions7.InputType.Coin:
|
2413
|
+
correspondingInput = inputs.find((x) => x.type === import_transactions7.InputType.Coin && x.owner === i.owner);
|
2373
2414
|
break;
|
2374
|
-
case
|
2415
|
+
case import_transactions7.InputType.Message:
|
2375
2416
|
correspondingInput = inputs.find(
|
2376
|
-
(x) => x.type ===
|
2417
|
+
(x) => x.type === import_transactions7.InputType.Message && x.sender === i.sender
|
2377
2418
|
);
|
2378
2419
|
break;
|
2379
2420
|
default:
|
@@ -2400,25 +2441,25 @@ var BaseTransactionRequest = class {
|
|
2400
2441
|
// src/providers/transaction-request/create-transaction-request.ts
|
2401
2442
|
var import_configs8 = require("@fuel-ts/address/configs");
|
2402
2443
|
var import_math9 = require("@fuel-ts/math");
|
2403
|
-
var
|
2444
|
+
var import_transactions9 = require("@fuel-ts/transactions");
|
2404
2445
|
var import_utils13 = require("@fuel-ts/utils");
|
2405
2446
|
|
2406
2447
|
// src/providers/transaction-request/hash-transaction.ts
|
2407
2448
|
var import_configs7 = require("@fuel-ts/address/configs");
|
2408
2449
|
var import_hasher = require("@fuel-ts/hasher");
|
2409
2450
|
var import_math8 = require("@fuel-ts/math");
|
2410
|
-
var
|
2451
|
+
var import_transactions8 = require("@fuel-ts/transactions");
|
2411
2452
|
var import_utils11 = require("@fuel-ts/utils");
|
2412
2453
|
var import_ramda2 = require("ramda");
|
2413
2454
|
function hashTransaction(transactionRequest, chainId) {
|
2414
2455
|
const transaction = transactionRequest.toTransaction();
|
2415
|
-
if (transaction.type ===
|
2456
|
+
if (transaction.type === import_transactions8.TransactionType.Script) {
|
2416
2457
|
transaction.receiptsRoot = import_configs7.ZeroBytes32;
|
2417
2458
|
}
|
2418
2459
|
transaction.inputs = transaction.inputs.map((input) => {
|
2419
2460
|
const inputClone = (0, import_ramda2.clone)(input);
|
2420
2461
|
switch (inputClone.type) {
|
2421
|
-
case
|
2462
|
+
case import_transactions8.InputType.Coin: {
|
2422
2463
|
inputClone.txPointer = {
|
2423
2464
|
blockHeight: 0,
|
2424
2465
|
txIndex: 0
|
@@ -2426,11 +2467,11 @@ function hashTransaction(transactionRequest, chainId) {
|
|
2426
2467
|
inputClone.predicateGasUsed = (0, import_math8.bn)(0);
|
2427
2468
|
return inputClone;
|
2428
2469
|
}
|
2429
|
-
case
|
2470
|
+
case import_transactions8.InputType.Message: {
|
2430
2471
|
inputClone.predicateGasUsed = (0, import_math8.bn)(0);
|
2431
2472
|
return inputClone;
|
2432
2473
|
}
|
2433
|
-
case
|
2474
|
+
case import_transactions8.InputType.Contract: {
|
2434
2475
|
inputClone.txPointer = {
|
2435
2476
|
blockHeight: 0,
|
2436
2477
|
txIndex: 0
|
@@ -2448,16 +2489,16 @@ function hashTransaction(transactionRequest, chainId) {
|
|
2448
2489
|
transaction.outputs = transaction.outputs.map((output) => {
|
2449
2490
|
const outputClone = (0, import_ramda2.clone)(output);
|
2450
2491
|
switch (outputClone.type) {
|
2451
|
-
case
|
2492
|
+
case import_transactions8.OutputType.Contract: {
|
2452
2493
|
outputClone.balanceRoot = import_configs7.ZeroBytes32;
|
2453
2494
|
outputClone.stateRoot = import_configs7.ZeroBytes32;
|
2454
2495
|
return outputClone;
|
2455
2496
|
}
|
2456
|
-
case
|
2497
|
+
case import_transactions8.OutputType.Change: {
|
2457
2498
|
outputClone.amount = (0, import_math8.bn)(0);
|
2458
2499
|
return outputClone;
|
2459
2500
|
}
|
2460
|
-
case
|
2501
|
+
case import_transactions8.OutputType.Variable: {
|
2461
2502
|
outputClone.to = import_configs7.ZeroBytes32;
|
2462
2503
|
outputClone.amount = (0, import_math8.bn)(0);
|
2463
2504
|
outputClone.assetId = import_configs7.ZeroBytes32;
|
@@ -2470,7 +2511,7 @@ function hashTransaction(transactionRequest, chainId) {
|
|
2470
2511
|
transaction.witnessesCount = 0;
|
2471
2512
|
transaction.witnesses = [];
|
2472
2513
|
const chainIdBytes = (0, import_hasher.uint64ToBytesBE)(chainId);
|
2473
|
-
const concatenatedData = (0, import_utils11.concat)([chainIdBytes, new
|
2514
|
+
const concatenatedData = (0, import_utils11.concat)([chainIdBytes, new import_transactions8.TransactionCoder().encode(transaction)]);
|
2474
2515
|
return (0, import_hasher.sha256)(concatenatedData);
|
2475
2516
|
}
|
2476
2517
|
|
@@ -2506,7 +2547,7 @@ var CreateTransactionRequest = class extends BaseTransactionRequest {
|
|
2506
2547
|
return new this(obj);
|
2507
2548
|
}
|
2508
2549
|
/** Type of the transaction */
|
2509
|
-
type =
|
2550
|
+
type = import_transactions9.TransactionType.Create;
|
2510
2551
|
/** Witness index of contract bytecode to create */
|
2511
2552
|
bytecodeWitnessIndex;
|
2512
2553
|
/** Salt */
|
@@ -2534,7 +2575,7 @@ var CreateTransactionRequest = class extends BaseTransactionRequest {
|
|
2534
2575
|
const bytecodeWitnessIndex = this.bytecodeWitnessIndex;
|
2535
2576
|
const storageSlots = this.storageSlots?.map(storageSlotify) ?? [];
|
2536
2577
|
return {
|
2537
|
-
type:
|
2578
|
+
type: import_transactions9.TransactionType.Create,
|
2538
2579
|
...baseTransaction,
|
2539
2580
|
bytecodeWitnessIndex,
|
2540
2581
|
storageSlotsCount: (0, import_math9.bn)(storageSlots.length),
|
@@ -2549,7 +2590,7 @@ var CreateTransactionRequest = class extends BaseTransactionRequest {
|
|
2549
2590
|
*/
|
2550
2591
|
getContractCreatedOutputs() {
|
2551
2592
|
return this.outputs.filter(
|
2552
|
-
(output) => output.type ===
|
2593
|
+
(output) => output.type === import_transactions9.OutputType.ContractCreated
|
2553
2594
|
);
|
2554
2595
|
}
|
2555
2596
|
/**
|
@@ -2570,7 +2611,7 @@ var CreateTransactionRequest = class extends BaseTransactionRequest {
|
|
2570
2611
|
*/
|
2571
2612
|
addContractCreatedOutput(contractId, stateRoot) {
|
2572
2613
|
this.pushOutput({
|
2573
|
-
type:
|
2614
|
+
type: import_transactions9.OutputType.ContractCreated,
|
2574
2615
|
contractId,
|
2575
2616
|
stateRoot
|
2576
2617
|
});
|
@@ -2590,7 +2631,7 @@ var import_abi_coder3 = require("@fuel-ts/abi-coder");
|
|
2590
2631
|
var import_address2 = require("@fuel-ts/address");
|
2591
2632
|
var import_configs9 = require("@fuel-ts/address/configs");
|
2592
2633
|
var import_math10 = require("@fuel-ts/math");
|
2593
|
-
var
|
2634
|
+
var import_transactions10 = require("@fuel-ts/transactions");
|
2594
2635
|
var import_utils15 = require("@fuel-ts/utils");
|
2595
2636
|
|
2596
2637
|
// src/providers/transaction-request/scripts.ts
|
@@ -2628,7 +2669,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
|
|
2628
2669
|
return new this(obj);
|
2629
2670
|
}
|
2630
2671
|
/** Type of the transaction */
|
2631
|
-
type =
|
2672
|
+
type = import_transactions10.TransactionType.Script;
|
2632
2673
|
/** Gas limit for transaction */
|
2633
2674
|
gasLimit;
|
2634
2675
|
/** Script to execute */
|
@@ -2657,7 +2698,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
|
|
2657
2698
|
const script = (0, import_utils15.arrayify)(this.script ?? "0x");
|
2658
2699
|
const scriptData = (0, import_utils15.arrayify)(this.scriptData ?? "0x");
|
2659
2700
|
return {
|
2660
|
-
type:
|
2701
|
+
type: import_transactions10.TransactionType.Script,
|
2661
2702
|
scriptGasLimit: this.gasLimit,
|
2662
2703
|
...super.getBaseTransaction(),
|
2663
2704
|
scriptLength: (0, import_math10.bn)(script.length),
|
@@ -2674,7 +2715,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
|
|
2674
2715
|
*/
|
2675
2716
|
getContractInputs() {
|
2676
2717
|
return this.inputs.filter(
|
2677
|
-
(input) => input.type ===
|
2718
|
+
(input) => input.type === import_transactions10.InputType.Contract
|
2678
2719
|
);
|
2679
2720
|
}
|
2680
2721
|
/**
|
@@ -2684,7 +2725,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
|
|
2684
2725
|
*/
|
2685
2726
|
getContractOutputs() {
|
2686
2727
|
return this.outputs.filter(
|
2687
|
-
(output) => output.type ===
|
2728
|
+
(output) => output.type === import_transactions10.OutputType.Contract
|
2688
2729
|
);
|
2689
2730
|
}
|
2690
2731
|
/**
|
@@ -2694,7 +2735,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
|
|
2694
2735
|
*/
|
2695
2736
|
getVariableOutputs() {
|
2696
2737
|
return this.outputs.filter(
|
2697
|
-
(output) => output.type ===
|
2738
|
+
(output) => output.type === import_transactions10.OutputType.Variable
|
2698
2739
|
);
|
2699
2740
|
}
|
2700
2741
|
/**
|
@@ -2717,7 +2758,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
|
|
2717
2758
|
let outputsNumber = numberOfVariables;
|
2718
2759
|
while (outputsNumber) {
|
2719
2760
|
this.pushOutput({
|
2720
|
-
type:
|
2761
|
+
type: import_transactions10.OutputType.Variable
|
2721
2762
|
});
|
2722
2763
|
outputsNumber -= 1;
|
2723
2764
|
}
|
@@ -2751,12 +2792,12 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
|
|
2751
2792
|
return this;
|
2752
2793
|
}
|
2753
2794
|
const inputIndex = super.pushInput({
|
2754
|
-
type:
|
2795
|
+
type: import_transactions10.InputType.Contract,
|
2755
2796
|
contractId: contractAddress.toB256(),
|
2756
2797
|
txPointer: "0x00000000000000000000000000000000"
|
2757
2798
|
});
|
2758
2799
|
this.pushOutput({
|
2759
|
-
type:
|
2800
|
+
type: import_transactions10.OutputType.Contract,
|
2760
2801
|
inputIndex
|
2761
2802
|
});
|
2762
2803
|
return this;
|
@@ -2793,17 +2834,17 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
|
|
2793
2834
|
|
2794
2835
|
// src/providers/transaction-request/utils.ts
|
2795
2836
|
var import_errors9 = require("@fuel-ts/errors");
|
2796
|
-
var
|
2837
|
+
var import_transactions11 = require("@fuel-ts/transactions");
|
2797
2838
|
var transactionRequestify = (obj) => {
|
2798
2839
|
if (obj instanceof ScriptTransactionRequest || obj instanceof CreateTransactionRequest) {
|
2799
2840
|
return obj;
|
2800
2841
|
}
|
2801
2842
|
const { type } = obj;
|
2802
2843
|
switch (obj.type) {
|
2803
|
-
case
|
2844
|
+
case import_transactions11.TransactionType.Script: {
|
2804
2845
|
return ScriptTransactionRequest.from(obj);
|
2805
2846
|
}
|
2806
|
-
case
|
2847
|
+
case import_transactions11.TransactionType.Create: {
|
2807
2848
|
return CreateTransactionRequest.from(obj);
|
2808
2849
|
}
|
2809
2850
|
default: {
|
@@ -2813,10 +2854,10 @@ var transactionRequestify = (obj) => {
|
|
2813
2854
|
};
|
2814
2855
|
var cacheTxInputsFromOwner = (inputs, owner) => inputs.reduce(
|
2815
2856
|
(acc, input) => {
|
2816
|
-
if (input.type ===
|
2857
|
+
if (input.type === import_transactions11.InputType.Coin && input.owner === owner) {
|
2817
2858
|
acc.utxos.push(input.id);
|
2818
2859
|
}
|
2819
|
-
if (input.type ===
|
2860
|
+
if (input.type === import_transactions11.InputType.Message && input.recipient === owner) {
|
2820
2861
|
acc.messages.push(input.nonce);
|
2821
2862
|
}
|
2822
2863
|
return acc;
|
@@ -2830,17 +2871,17 @@ var cacheTxInputsFromOwner = (inputs, owner) => inputs.reduce(
|
|
2830
2871
|
// src/providers/transaction-response/transaction-response.ts
|
2831
2872
|
var import_errors13 = require("@fuel-ts/errors");
|
2832
2873
|
var import_math15 = require("@fuel-ts/math");
|
2833
|
-
var
|
2874
|
+
var import_transactions19 = require("@fuel-ts/transactions");
|
2834
2875
|
var import_utils20 = require("@fuel-ts/utils");
|
2835
2876
|
|
2836
2877
|
// src/providers/transaction-summary/assemble-transaction-summary.ts
|
2837
2878
|
var import_math14 = require("@fuel-ts/math");
|
2838
|
-
var
|
2879
|
+
var import_transactions17 = require("@fuel-ts/transactions");
|
2839
2880
|
var import_utils18 = require("@fuel-ts/utils");
|
2840
2881
|
|
2841
2882
|
// src/providers/transaction-summary/calculate-transaction-fee.ts
|
2842
2883
|
var import_math11 = require("@fuel-ts/math");
|
2843
|
-
var
|
2884
|
+
var import_transactions12 = require("@fuel-ts/transactions");
|
2844
2885
|
var import_utils16 = require("@fuel-ts/utils");
|
2845
2886
|
var calculateTransactionFee = (params) => {
|
2846
2887
|
const {
|
@@ -2852,8 +2893,8 @@ var calculateTransactionFee = (params) => {
|
|
2852
2893
|
const gasPerByte = (0, import_math11.bn)(feeParams.gasPerByte);
|
2853
2894
|
const gasPriceFactor = (0, import_math11.bn)(feeParams.gasPriceFactor);
|
2854
2895
|
const transactionBytes = (0, import_utils16.arrayify)(rawPayload);
|
2855
|
-
const [transaction] = new
|
2856
|
-
if (transaction.type ===
|
2896
|
+
const [transaction] = new import_transactions12.TransactionCoder().decode(transactionBytes, 0);
|
2897
|
+
if (transaction.type === import_transactions12.TransactionType.Mint) {
|
2857
2898
|
return {
|
2858
2899
|
fee: (0, import_math11.bn)(0),
|
2859
2900
|
minFee: (0, import_math11.bn)(0),
|
@@ -2863,7 +2904,7 @@ var calculateTransactionFee = (params) => {
|
|
2863
2904
|
const { type, witnesses, inputs, policies } = transaction;
|
2864
2905
|
let metadataGas = (0, import_math11.bn)(0);
|
2865
2906
|
let gasLimit = (0, import_math11.bn)(0);
|
2866
|
-
if (type ===
|
2907
|
+
if (type === import_transactions12.TransactionType.Create) {
|
2867
2908
|
const { bytecodeWitnessIndex, storageSlots } = transaction;
|
2868
2909
|
const contractBytesSize = (0, import_math11.bn)((0, import_utils16.arrayify)(witnesses[bytecodeWitnessIndex].data).length);
|
2869
2910
|
metadataGas = calculateMetadataGasForTxCreate({
|
@@ -2889,7 +2930,7 @@ var calculateTransactionFee = (params) => {
|
|
2889
2930
|
metadataGas,
|
2890
2931
|
txBytesSize: transactionBytes.length
|
2891
2932
|
});
|
2892
|
-
const witnessLimit = policies.find((policy) => policy.type ===
|
2933
|
+
const witnessLimit = policies.find((policy) => policy.type === import_transactions12.PolicyType.WitnessLimit)?.data;
|
2893
2934
|
const witnessesLength = witnesses.reduce((acc, wit) => acc + wit.dataLength, 0);
|
2894
2935
|
const maxGas = getMaxGas({
|
2895
2936
|
gasPerByte,
|
@@ -2922,7 +2963,7 @@ var calculateTransactionFee = (params) => {
|
|
2922
2963
|
var import_configs10 = require("@fuel-ts/address/configs");
|
2923
2964
|
var import_errors11 = require("@fuel-ts/errors");
|
2924
2965
|
var import_math13 = require("@fuel-ts/math");
|
2925
|
-
var
|
2966
|
+
var import_transactions15 = require("@fuel-ts/transactions");
|
2926
2967
|
|
2927
2968
|
// src/providers/transaction-summary/call.ts
|
2928
2969
|
var import_abi_coder4 = require("@fuel-ts/abi-coder");
|
@@ -2970,7 +3011,7 @@ var getFunctionCall = ({ abi, receipt, rawPayload, maxInputs }) => {
|
|
2970
3011
|
|
2971
3012
|
// src/providers/transaction-summary/input.ts
|
2972
3013
|
var import_errors10 = require("@fuel-ts/errors");
|
2973
|
-
var
|
3014
|
+
var import_transactions13 = require("@fuel-ts/transactions");
|
2974
3015
|
function getInputsByTypes(inputs, types) {
|
2975
3016
|
return inputs.filter((i) => types.includes(i.type));
|
2976
3017
|
}
|
@@ -2978,16 +3019,16 @@ function getInputsByType(inputs, type) {
|
|
2978
3019
|
return inputs.filter((i) => i.type === type);
|
2979
3020
|
}
|
2980
3021
|
function getInputsCoin(inputs) {
|
2981
|
-
return getInputsByType(inputs,
|
3022
|
+
return getInputsByType(inputs, import_transactions13.InputType.Coin);
|
2982
3023
|
}
|
2983
3024
|
function getInputsMessage(inputs) {
|
2984
|
-
return getInputsByType(inputs,
|
3025
|
+
return getInputsByType(inputs, import_transactions13.InputType.Message);
|
2985
3026
|
}
|
2986
3027
|
function getInputsCoinAndMessage(inputs) {
|
2987
|
-
return getInputsByTypes(inputs, [
|
3028
|
+
return getInputsByTypes(inputs, [import_transactions13.InputType.Coin, import_transactions13.InputType.Message]);
|
2988
3029
|
}
|
2989
3030
|
function getInputsContract(inputs) {
|
2990
|
-
return getInputsByType(inputs,
|
3031
|
+
return getInputsByType(inputs, import_transactions13.InputType.Contract);
|
2991
3032
|
}
|
2992
3033
|
function getInputFromAssetId(inputs, assetId) {
|
2993
3034
|
const coinInputs = getInputsCoin(inputs);
|
@@ -3006,7 +3047,7 @@ function getInputContractFromIndex(inputs, inputIndex) {
|
|
3006
3047
|
if (!contractInput) {
|
3007
3048
|
return void 0;
|
3008
3049
|
}
|
3009
|
-
if (contractInput.type !==
|
3050
|
+
if (contractInput.type !== import_transactions13.InputType.Contract) {
|
3010
3051
|
throw new import_errors10.FuelError(
|
3011
3052
|
import_errors10.ErrorCode.INVALID_TRANSACTION_INPUT,
|
3012
3053
|
`Contract input should be of type 'contract'.`
|
@@ -3015,34 +3056,34 @@ function getInputContractFromIndex(inputs, inputIndex) {
|
|
3015
3056
|
return contractInput;
|
3016
3057
|
}
|
3017
3058
|
function getInputAccountAddress(input) {
|
3018
|
-
if (input.type ===
|
3059
|
+
if (input.type === import_transactions13.InputType.Coin) {
|
3019
3060
|
return input.owner.toString();
|
3020
3061
|
}
|
3021
|
-
if (input.type ===
|
3062
|
+
if (input.type === import_transactions13.InputType.Message) {
|
3022
3063
|
return input.recipient.toString();
|
3023
3064
|
}
|
3024
3065
|
return "";
|
3025
3066
|
}
|
3026
3067
|
|
3027
3068
|
// src/providers/transaction-summary/output.ts
|
3028
|
-
var
|
3069
|
+
var import_transactions14 = require("@fuel-ts/transactions");
|
3029
3070
|
function getOutputsByType(outputs, type) {
|
3030
3071
|
return outputs.filter((o) => o.type === type);
|
3031
3072
|
}
|
3032
3073
|
function getOutputsContractCreated(outputs) {
|
3033
|
-
return getOutputsByType(outputs,
|
3074
|
+
return getOutputsByType(outputs, import_transactions14.OutputType.ContractCreated);
|
3034
3075
|
}
|
3035
3076
|
function getOutputsCoin(outputs) {
|
3036
|
-
return getOutputsByType(outputs,
|
3077
|
+
return getOutputsByType(outputs, import_transactions14.OutputType.Coin);
|
3037
3078
|
}
|
3038
3079
|
function getOutputsChange(outputs) {
|
3039
|
-
return getOutputsByType(outputs,
|
3080
|
+
return getOutputsByType(outputs, import_transactions14.OutputType.Change);
|
3040
3081
|
}
|
3041
3082
|
function getOutputsContract(outputs) {
|
3042
|
-
return getOutputsByType(outputs,
|
3083
|
+
return getOutputsByType(outputs, import_transactions14.OutputType.Contract);
|
3043
3084
|
}
|
3044
3085
|
function getOutputsVariable(outputs) {
|
3045
|
-
return getOutputsByType(outputs,
|
3086
|
+
return getOutputsByType(outputs, import_transactions14.OutputType.Variable);
|
3046
3087
|
}
|
3047
3088
|
|
3048
3089
|
// src/providers/transaction-summary/types.ts
|
@@ -3089,11 +3130,11 @@ function getReceiptsByType(receipts, type) {
|
|
3089
3130
|
}
|
3090
3131
|
function getTransactionTypeName(transactionType) {
|
3091
3132
|
switch (transactionType) {
|
3092
|
-
case
|
3133
|
+
case import_transactions15.TransactionType.Mint:
|
3093
3134
|
return "Mint" /* Mint */;
|
3094
|
-
case
|
3135
|
+
case import_transactions15.TransactionType.Create:
|
3095
3136
|
return "Create" /* Create */;
|
3096
|
-
case
|
3137
|
+
case import_transactions15.TransactionType.Script:
|
3097
3138
|
return "Script" /* Script */;
|
3098
3139
|
default:
|
3099
3140
|
throw new import_errors11.FuelError(
|
@@ -3119,10 +3160,10 @@ function hasSameAssetId(a) {
|
|
3119
3160
|
return (b) => a.assetId === b.assetId;
|
3120
3161
|
}
|
3121
3162
|
function getReceiptsCall(receipts) {
|
3122
|
-
return getReceiptsByType(receipts,
|
3163
|
+
return getReceiptsByType(receipts, import_transactions15.ReceiptType.Call);
|
3123
3164
|
}
|
3124
3165
|
function getReceiptsMessageOut(receipts) {
|
3125
|
-
return getReceiptsByType(receipts,
|
3166
|
+
return getReceiptsByType(receipts, import_transactions15.ReceiptType.MessageOut);
|
3126
3167
|
}
|
3127
3168
|
var mergeAssets = (op1, op2) => {
|
3128
3169
|
const assets1 = op1.assetsSent || [];
|
@@ -3161,7 +3202,7 @@ function addOperation(operations, toAdd) {
|
|
3161
3202
|
return allOperations;
|
3162
3203
|
}
|
3163
3204
|
function getReceiptsTransferOut(receipts) {
|
3164
|
-
return getReceiptsByType(receipts,
|
3205
|
+
return getReceiptsByType(receipts, import_transactions15.ReceiptType.TransferOut);
|
3165
3206
|
}
|
3166
3207
|
function getWithdrawFromFuelOperations({
|
3167
3208
|
inputs,
|
@@ -3321,11 +3362,11 @@ function getTransferOperations({
|
|
3321
3362
|
});
|
3322
3363
|
const transferReceipts = getReceiptsByType(
|
3323
3364
|
receipts,
|
3324
|
-
|
3365
|
+
import_transactions15.ReceiptType.Transfer
|
3325
3366
|
);
|
3326
3367
|
const transferOutReceipts = getReceiptsByType(
|
3327
3368
|
receipts,
|
3328
|
-
|
3369
|
+
import_transactions15.ReceiptType.TransferOut
|
3329
3370
|
);
|
3330
3371
|
[...transferReceipts, ...transferOutReceipts].forEach((receipt) => {
|
3331
3372
|
const operation = extractTransferOperationFromReceipt(receipt, contractInputs, changeOutputs);
|
@@ -3410,17 +3451,17 @@ function getOperations({
|
|
3410
3451
|
}
|
3411
3452
|
|
3412
3453
|
// src/providers/transaction-summary/receipt.ts
|
3413
|
-
var
|
3454
|
+
var import_transactions16 = require("@fuel-ts/transactions");
|
3414
3455
|
var processGqlReceipt = (gqlReceipt) => {
|
3415
3456
|
const receipt = assembleReceiptByType(gqlReceipt);
|
3416
3457
|
switch (receipt.type) {
|
3417
|
-
case
|
3458
|
+
case import_transactions16.ReceiptType.ReturnData: {
|
3418
3459
|
return {
|
3419
3460
|
...receipt,
|
3420
3461
|
data: gqlReceipt.data || "0x"
|
3421
3462
|
};
|
3422
3463
|
}
|
3423
|
-
case
|
3464
|
+
case import_transactions16.ReceiptType.LogData: {
|
3424
3465
|
return {
|
3425
3466
|
...receipt,
|
3426
3467
|
data: gqlReceipt.data || "0x"
|
@@ -3433,7 +3474,7 @@ var processGqlReceipt = (gqlReceipt) => {
|
|
3433
3474
|
var extractMintedAssetsFromReceipts = (receipts) => {
|
3434
3475
|
const mintedAssets = [];
|
3435
3476
|
receipts.forEach((receipt) => {
|
3436
|
-
if (receipt.type ===
|
3477
|
+
if (receipt.type === import_transactions16.ReceiptType.Mint) {
|
3437
3478
|
mintedAssets.push({
|
3438
3479
|
subId: receipt.subId,
|
3439
3480
|
contractId: receipt.contractId,
|
@@ -3447,7 +3488,7 @@ var extractMintedAssetsFromReceipts = (receipts) => {
|
|
3447
3488
|
var extractBurnedAssetsFromReceipts = (receipts) => {
|
3448
3489
|
const burnedAssets = [];
|
3449
3490
|
receipts.forEach((receipt) => {
|
3450
|
-
if (receipt.type ===
|
3491
|
+
if (receipt.type === import_transactions16.ReceiptType.Burn) {
|
3451
3492
|
burnedAssets.push({
|
3452
3493
|
subId: receipt.subId,
|
3453
3494
|
contractId: receipt.contractId,
|
@@ -3544,7 +3585,7 @@ function assembleTransactionSummary(params) {
|
|
3544
3585
|
maxInputs
|
3545
3586
|
});
|
3546
3587
|
const typeName = getTransactionTypeName(transaction.type);
|
3547
|
-
const tip = (0, import_math14.bn)(transaction.policies?.find((policy) => policy.type ===
|
3588
|
+
const tip = (0, import_math14.bn)(transaction.policies?.find((policy) => policy.type === import_transactions17.PolicyType.Tip)?.data);
|
3548
3589
|
const { fee } = calculateTransactionFee({
|
3549
3590
|
gasPrice,
|
3550
3591
|
rawPayload,
|
@@ -3591,12 +3632,12 @@ function assembleTransactionSummary(params) {
|
|
3591
3632
|
|
3592
3633
|
// src/providers/transaction-response/getDecodedLogs.ts
|
3593
3634
|
var import_abi_coder5 = require("@fuel-ts/abi-coder");
|
3594
|
-
var
|
3635
|
+
var import_transactions18 = require("@fuel-ts/transactions");
|
3595
3636
|
function getDecodedLogs(receipts, mainAbi, externalAbis = {}) {
|
3596
3637
|
return receipts.reduce((logs, receipt) => {
|
3597
|
-
if (receipt.type ===
|
3638
|
+
if (receipt.type === import_transactions18.ReceiptType.LogData || receipt.type === import_transactions18.ReceiptType.Log) {
|
3598
3639
|
const interfaceToUse = new import_abi_coder5.Interface(externalAbis[receipt.id] || mainAbi);
|
3599
|
-
const data = receipt.type ===
|
3640
|
+
const data = receipt.type === import_transactions18.ReceiptType.Log ? new import_abi_coder5.BigNumberCoder("u64").encode(receipt.val0) : receipt.data;
|
3600
3641
|
const [decodedLog] = interfaceToUse.decodeLog(data, receipt.val1.toNumber());
|
3601
3642
|
logs.push(decodedLog);
|
3602
3643
|
}
|
@@ -3669,7 +3710,7 @@ var TransactionResponse = class {
|
|
3669
3710
|
* @returns The decoded transaction.
|
3670
3711
|
*/
|
3671
3712
|
decodeTransaction(transactionWithReceipts) {
|
3672
|
-
return new
|
3713
|
+
return new import_transactions19.TransactionCoder().decode(
|
3673
3714
|
(0, import_utils20.arrayify)(transactionWithReceipts.rawPayload),
|
3674
3715
|
0
|
3675
3716
|
)?.[0];
|
@@ -4120,7 +4161,7 @@ var _Provider = class {
|
|
4120
4161
|
}
|
4121
4162
|
const encodedTransaction = (0, import_utils22.hexlify)(transactionRequest.toTransactionBytes());
|
4122
4163
|
let abis;
|
4123
|
-
if (transactionRequest.type ===
|
4164
|
+
if (transactionRequest.type === import_transactions20.TransactionType.Script) {
|
4124
4165
|
abis = transactionRequest.abis;
|
4125
4166
|
}
|
4126
4167
|
if (awaitExecution) {
|
@@ -4212,7 +4253,7 @@ var _Provider = class {
|
|
4212
4253
|
* @returns A promise.
|
4213
4254
|
*/
|
4214
4255
|
async estimateTxDependencies(transactionRequest) {
|
4215
|
-
if (transactionRequest.type ===
|
4256
|
+
if (transactionRequest.type === import_transactions20.TransactionType.Create) {
|
4216
4257
|
return {
|
4217
4258
|
receipts: [],
|
4218
4259
|
outputVariables: 0,
|
@@ -4276,7 +4317,7 @@ var _Provider = class {
|
|
4276
4317
|
const allRequests = (0, import_ramda3.clone)(transactionRequests);
|
4277
4318
|
const serializedTransactionsMap = /* @__PURE__ */ new Map();
|
4278
4319
|
allRequests.forEach((req, index) => {
|
4279
|
-
if (req.type ===
|
4320
|
+
if (req.type === import_transactions20.TransactionType.Script) {
|
4280
4321
|
serializedTransactionsMap.set(index, (0, import_utils22.hexlify)(req.toTransactionBytes()));
|
4281
4322
|
}
|
4282
4323
|
});
|
@@ -4302,7 +4343,7 @@ var _Provider = class {
|
|
4302
4343
|
);
|
4303
4344
|
const hasMissingOutputs = missingOutputVariables.length > 0 || missingOutputContractIds.length > 0;
|
4304
4345
|
const request = allRequests[requestIdx];
|
4305
|
-
if (hasMissingOutputs && request?.type ===
|
4346
|
+
if (hasMissingOutputs && request?.type === import_transactions20.TransactionType.Script) {
|
4306
4347
|
result.outputVariables += missingOutputVariables.length;
|
4307
4348
|
request.addVariableOutputs(missingOutputVariables.length);
|
4308
4349
|
missingOutputContractIds.forEach(({ contractId }) => {
|
@@ -4358,7 +4399,7 @@ var _Provider = class {
|
|
4358
4399
|
tip: transactionRequest.tip
|
4359
4400
|
}).add(1);
|
4360
4401
|
let gasLimit = (0, import_math16.bn)(0);
|
4361
|
-
if (transactionRequest.type ===
|
4402
|
+
if (transactionRequest.type === import_transactions20.TransactionType.Script) {
|
4362
4403
|
gasLimit = transactionRequest.gasLimit;
|
4363
4404
|
if (transactionRequest.gasLimit.eq(0)) {
|
4364
4405
|
transactionRequest.gasLimit = minGas;
|
@@ -4428,7 +4469,7 @@ var _Provider = class {
|
|
4428
4469
|
*/
|
4429
4470
|
async getTransactionCost(transactionRequestLike, { resourcesOwner, signatureCallback, quantitiesToContract = [] } = {}) {
|
4430
4471
|
const txRequestClone = (0, import_ramda3.clone)(transactionRequestify(transactionRequestLike));
|
4431
|
-
const isScriptTransaction = txRequestClone.type ===
|
4472
|
+
const isScriptTransaction = txRequestClone.type === import_transactions20.TransactionType.Script;
|
4432
4473
|
const baseAssetId = this.getBaseAssetId();
|
4433
4474
|
const coinOutputsQuantities = txRequestClone.getCoinOutputsQuantities();
|
4434
4475
|
const allQuantities = mergeQuantities(coinOutputsQuantities, quantitiesToContract);
|
@@ -4652,7 +4693,7 @@ var _Provider = class {
|
|
4652
4693
|
time: block.header.time,
|
4653
4694
|
transactionIds: block.transactions.map((tx) => tx.id),
|
4654
4695
|
transactions: block.transactions.map(
|
4655
|
-
(tx) => new
|
4696
|
+
(tx) => new import_transactions20.TransactionCoder().decode((0, import_utils22.arrayify)(tx.rawPayload), 0)?.[0]
|
4656
4697
|
)
|
4657
4698
|
};
|
4658
4699
|
}
|
@@ -4667,7 +4708,7 @@ var _Provider = class {
|
|
4667
4708
|
if (!transaction) {
|
4668
4709
|
return null;
|
4669
4710
|
}
|
4670
|
-
return new
|
4711
|
+
return new import_transactions20.TransactionCoder().decode(
|
4671
4712
|
(0, import_utils22.arrayify)(transaction.rawPayload),
|
4672
4713
|
0
|
4673
4714
|
)?.[0];
|
@@ -4747,7 +4788,7 @@ var _Provider = class {
|
|
4747
4788
|
});
|
4748
4789
|
const messages = result.messages.edges.map((edge) => edge.node);
|
4749
4790
|
return messages.map((message) => ({
|
4750
|
-
messageId:
|
4791
|
+
messageId: import_transactions20.InputMessageCoder.getMessageId({
|
4751
4792
|
sender: message.sender,
|
4752
4793
|
recipient: message.recipient,
|
4753
4794
|
nonce: message.nonce,
|
@@ -4758,7 +4799,7 @@ var _Provider = class {
|
|
4758
4799
|
recipient: import_address3.Address.fromAddressOrString(message.recipient),
|
4759
4800
|
nonce: message.nonce,
|
4760
4801
|
amount: (0, import_math16.bn)(message.amount),
|
4761
|
-
data:
|
4802
|
+
data: import_transactions20.InputMessageCoder.decodeData(message.data),
|
4762
4803
|
daHeight: (0, import_math16.bn)(message.daHeight)
|
4763
4804
|
}));
|
4764
4805
|
}
|
@@ -4902,7 +4943,7 @@ cacheInputs_fn = function(inputs) {
|
|
4902
4943
|
return;
|
4903
4944
|
}
|
4904
4945
|
inputs.forEach((input) => {
|
4905
|
-
if (input.type ===
|
4946
|
+
if (input.type === import_transactions20.InputType.Coin) {
|
4906
4947
|
this.cache?.set(input.id);
|
4907
4948
|
}
|
4908
4949
|
});
|
@@ -4913,7 +4954,7 @@ __publicField(Provider, "nodeInfoCache", {});
|
|
4913
4954
|
// src/providers/transaction-summary/get-transaction-summary.ts
|
4914
4955
|
var import_errors15 = require("@fuel-ts/errors");
|
4915
4956
|
var import_math17 = require("@fuel-ts/math");
|
4916
|
-
var
|
4957
|
+
var import_transactions21 = require("@fuel-ts/transactions");
|
4917
4958
|
var import_utils25 = require("@fuel-ts/utils");
|
4918
4959
|
async function getTransactionSummary(params) {
|
4919
4960
|
const { id, provider, abiMap } = params;
|
@@ -4926,7 +4967,7 @@ async function getTransactionSummary(params) {
|
|
4926
4967
|
`Transaction not found for given id: ${id}.`
|
4927
4968
|
);
|
4928
4969
|
}
|
4929
|
-
const [decodedTransaction] = new
|
4970
|
+
const [decodedTransaction] = new import_transactions21.TransactionCoder().decode(
|
4930
4971
|
(0, import_utils25.arrayify)(gqlTransaction.rawPayload),
|
4931
4972
|
0
|
4932
4973
|
);
|
@@ -4991,7 +5032,7 @@ async function getTransactionsSummaries(params) {
|
|
4991
5032
|
const transactions = edges.map((edge) => {
|
4992
5033
|
const { node: gqlTransaction } = edge;
|
4993
5034
|
const { id, rawPayload, status } = gqlTransaction;
|
4994
|
-
const [decodedTransaction] = new
|
5035
|
+
const [decodedTransaction] = new import_transactions21.TransactionCoder().decode((0, import_utils25.arrayify)(rawPayload), 0);
|
4995
5036
|
let txReceipts = [];
|
4996
5037
|
if (gqlTransaction?.status && "receipts" in gqlTransaction.status) {
|
4997
5038
|
txReceipts = gqlTransaction.status.receipts;
|
@@ -9070,7 +9111,7 @@ var StorageAbstract = class {
|
|
9070
9111
|
var import_abi_coder7 = require("@fuel-ts/abi-coder");
|
9071
9112
|
var import_address10 = require("@fuel-ts/address");
|
9072
9113
|
var import_errors25 = require("@fuel-ts/errors");
|
9073
|
-
var
|
9114
|
+
var import_transactions22 = require("@fuel-ts/transactions");
|
9074
9115
|
var import_utils36 = require("@fuel-ts/utils");
|
9075
9116
|
|
9076
9117
|
// src/predicate/utils/getPredicateRoot.ts
|
@@ -9129,10 +9170,15 @@ var Predicate = class extends Account {
|
|
9129
9170
|
populateTransactionPredicateData(transactionRequestLike) {
|
9130
9171
|
const request = transactionRequestify(transactionRequestLike);
|
9131
9172
|
const { policies } = BaseTransactionRequest.getPolicyMeta(request);
|
9132
|
-
|
9133
|
-
|
9173
|
+
const placeholderIndex = this.getIndexFromPlaceholderWitness(request);
|
9174
|
+
if (placeholderIndex !== -1) {
|
9175
|
+
request.removeWitness(placeholderIndex);
|
9176
|
+
}
|
9177
|
+
request.inputs.filter(isRequestInputResource).forEach((input) => {
|
9178
|
+
if (isRequestInputResourceFromOwner(input, this.address)) {
|
9134
9179
|
input.predicate = (0, import_utils36.hexlify)(this.bytes);
|
9135
9180
|
input.predicateData = (0, import_utils36.hexlify)(this.getPredicateData(policies.length));
|
9181
|
+
input.witnessIndex = 0;
|
9136
9182
|
}
|
9137
9183
|
});
|
9138
9184
|
return request;
|
@@ -9162,7 +9208,7 @@ var Predicate = class extends Account {
|
|
9162
9208
|
return new Uint8Array();
|
9163
9209
|
}
|
9164
9210
|
const mainFn = this.interface?.functions.main;
|
9165
|
-
const paddedCode = new
|
9211
|
+
const paddedCode = new import_transactions22.ByteArrayCoder(this.bytes.length).encode(this.bytes);
|
9166
9212
|
const VM_TX_MEMORY = (0, import_abi_coder7.calculateVmTxMemory)({
|
9167
9213
|
maxInputs: this.provider.getChain().consensusParameters.maxInputs.toNumber()
|
9168
9214
|
});
|
@@ -9255,6 +9301,28 @@ var Predicate = class extends Account {
|
|
9255
9301
|
}
|
9256
9302
|
return mutatedBytes;
|
9257
9303
|
}
|
9304
|
+
/**
|
9305
|
+
* Returns the index of the witness placeholder that was added to this predicate.
|
9306
|
+
* If no witness placeholder was added, it returns -1.
|
9307
|
+
* @param request - The transaction request.
|
9308
|
+
* @returns The index of the witness placeholder, or -1 if there is no witness placeholder.
|
9309
|
+
*/
|
9310
|
+
getIndexFromPlaceholderWitness(request) {
|
9311
|
+
const predicateInputs = request.inputs.filter(isRequestInputResource).filter((input) => isRequestInputResourceFromOwner(input, this.address));
|
9312
|
+
let index = -1;
|
9313
|
+
const hasEmptyPredicateInputs = predicateInputs.find((input) => !input.predicate);
|
9314
|
+
if (hasEmptyPredicateInputs) {
|
9315
|
+
index = hasEmptyPredicateInputs.witnessIndex;
|
9316
|
+
const allInputsAreEmpty = predicateInputs.every((input) => !input.predicate);
|
9317
|
+
if (!allInputsAreEmpty) {
|
9318
|
+
const wasFilledInputAddedFirst = !!predicateInputs[0]?.predicate;
|
9319
|
+
if (wasFilledInputAddedFirst) {
|
9320
|
+
index = -1;
|
9321
|
+
}
|
9322
|
+
}
|
9323
|
+
}
|
9324
|
+
return index;
|
9325
|
+
}
|
9258
9326
|
};
|
9259
9327
|
|
9260
9328
|
// src/connectors/fuel.ts
|
@@ -9978,6 +10046,7 @@ __publicField(Fuel, "defaultConfig", {});
|
|
9978
10046
|
assets,
|
9979
10047
|
buildBlockExplorerUrl,
|
9980
10048
|
cacheFor,
|
10049
|
+
cacheResources,
|
9981
10050
|
cacheTxInputsFromOwner,
|
9982
10051
|
calculateGasFee,
|
9983
10052
|
calculateMetadataGasForTxCreate,
|
@@ -10025,6 +10094,7 @@ __publicField(Fuel, "defaultConfig", {});
|
|
10025
10094
|
getReceiptsMessageOut,
|
10026
10095
|
getReceiptsTransferOut,
|
10027
10096
|
getReceiptsWithMissingData,
|
10097
|
+
getRequestInputResourceOwner,
|
10028
10098
|
getTransactionStatusName,
|
10029
10099
|
getTransactionSummary,
|
10030
10100
|
getTransactionSummaryFromRequest,
|
@@ -10038,6 +10108,10 @@ __publicField(Fuel, "defaultConfig", {});
|
|
10038
10108
|
isMessage,
|
10039
10109
|
isRawCoin,
|
10040
10110
|
isRawMessage,
|
10111
|
+
isRequestInputCoin,
|
10112
|
+
isRequestInputMessage,
|
10113
|
+
isRequestInputResource,
|
10114
|
+
isRequestInputResourceFromOwner,
|
10041
10115
|
isType,
|
10042
10116
|
isTypeCreate,
|
10043
10117
|
isTypeMint,
|