@fuel-ts/account 0.0.0-rc-2143-20240429161457 → 0.0.0-rc-2037-20240430005906
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/README.md +15 -12
- package/dist/index.global.js +92 -8
- package/dist/index.global.js.map +1 -1
- package/dist/index.js +215 -118
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +130 -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/__generated__/operations.d.ts +17 -0
- package/dist/providers/__generated__/operations.d.ts.map +1 -1
- package/dist/providers/provider.d.ts +9 -2
- package/dist/providers/provider.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 +94 -14
- package/dist/test-utils.global.js.map +1 -1
- package/dist/test-utils.js +203 -117
- package/dist/test-utils.js.map +1 -1
- package/dist/test-utils.mjs +127 -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");
|
@@ -1009,6 +1015,13 @@ var ProduceBlocksDocument = import_graphql_tag.default`
|
|
1009
1015
|
)
|
1010
1016
|
}
|
1011
1017
|
`;
|
1018
|
+
var GetMessageByNonceDocument = import_graphql_tag.default`
|
1019
|
+
query getMessageByNonce($nonce: Nonce!) {
|
1020
|
+
message(nonce: $nonce) {
|
1021
|
+
...messageFragment
|
1022
|
+
}
|
1023
|
+
}
|
1024
|
+
${MessageFragmentFragmentDoc}`;
|
1012
1025
|
var SubmitAndAwaitDocument = import_graphql_tag.default`
|
1013
1026
|
subscription submitAndAwait($encodedTransaction: HexString!) {
|
1014
1027
|
submitAndAwait(tx: $encodedTransaction) {
|
@@ -1103,6 +1116,9 @@ function getSdk(requester) {
|
|
1103
1116
|
produceBlocks(variables, options) {
|
1104
1117
|
return requester(ProduceBlocksDocument, variables, options);
|
1105
1118
|
},
|
1119
|
+
getMessageByNonce(variables, options) {
|
1120
|
+
return requester(GetMessageByNonceDocument, variables, options);
|
1121
|
+
},
|
1106
1122
|
submitAndAwait(variables, options) {
|
1107
1123
|
return requester(SubmitAndAwaitDocument, variables, options);
|
1108
1124
|
},
|
@@ -1388,7 +1404,7 @@ var import_address = require("@fuel-ts/address");
|
|
1388
1404
|
var import_configs6 = require("@fuel-ts/address/configs");
|
1389
1405
|
var import_crypto = require("@fuel-ts/crypto");
|
1390
1406
|
var import_math7 = require("@fuel-ts/math");
|
1391
|
-
var
|
1407
|
+
var import_transactions7 = require("@fuel-ts/transactions");
|
1392
1408
|
var import_utils9 = require("@fuel-ts/utils");
|
1393
1409
|
|
1394
1410
|
// src/providers/resource.ts
|
@@ -1896,6 +1912,28 @@ var NoWitnessByOwnerError = class extends Error {
|
|
1896
1912
|
name = "NoWitnessByOwnerError";
|
1897
1913
|
};
|
1898
1914
|
|
1915
|
+
// src/providers/transaction-request/helpers.ts
|
1916
|
+
var import_transactions6 = require("@fuel-ts/transactions");
|
1917
|
+
var isRequestInputCoin = (input) => input.type === import_transactions6.InputType.Coin;
|
1918
|
+
var isRequestInputMessage = (input) => input.type === import_transactions6.InputType.Message;
|
1919
|
+
var isRequestInputResource = (input) => isRequestInputCoin(input) || isRequestInputMessage(input);
|
1920
|
+
var getRequestInputResourceOwner = (input) => isRequestInputCoin(input) ? input.owner : input.recipient;
|
1921
|
+
var isRequestInputResourceFromOwner = (input, owner) => getRequestInputResourceOwner(input) === owner.toB256();
|
1922
|
+
var cacheResources = (resources) => resources.reduce(
|
1923
|
+
(cache2, resource) => {
|
1924
|
+
if (isCoin(resource)) {
|
1925
|
+
cache2.utxos.push(resource.id);
|
1926
|
+
} else {
|
1927
|
+
cache2.messages.push(resource.nonce);
|
1928
|
+
}
|
1929
|
+
return cache2;
|
1930
|
+
},
|
1931
|
+
{
|
1932
|
+
utxos: [],
|
1933
|
+
messages: []
|
1934
|
+
}
|
1935
|
+
);
|
1936
|
+
|
1899
1937
|
// src/providers/transaction-request/witness.ts
|
1900
1938
|
var import_utils8 = require("@fuel-ts/utils");
|
1901
1939
|
var witnessify = (value) => {
|
@@ -1948,20 +1986,20 @@ var BaseTransactionRequest = class {
|
|
1948
1986
|
let policyTypes = 0;
|
1949
1987
|
const policies = [];
|
1950
1988
|
if (req.tip) {
|
1951
|
-
policyTypes +=
|
1952
|
-
policies.push({ data: req.tip, type:
|
1989
|
+
policyTypes += import_transactions7.PolicyType.Tip;
|
1990
|
+
policies.push({ data: req.tip, type: import_transactions7.PolicyType.Tip });
|
1953
1991
|
}
|
1954
1992
|
if (req.witnessLimit) {
|
1955
|
-
policyTypes +=
|
1956
|
-
policies.push({ data: req.witnessLimit, type:
|
1993
|
+
policyTypes += import_transactions7.PolicyType.WitnessLimit;
|
1994
|
+
policies.push({ data: req.witnessLimit, type: import_transactions7.PolicyType.WitnessLimit });
|
1957
1995
|
}
|
1958
1996
|
if (req.maturity > 0) {
|
1959
|
-
policyTypes +=
|
1960
|
-
policies.push({ data: req.maturity, type:
|
1997
|
+
policyTypes += import_transactions7.PolicyType.Maturity;
|
1998
|
+
policies.push({ data: req.maturity, type: import_transactions7.PolicyType.Maturity });
|
1961
1999
|
}
|
1962
2000
|
if (req.maxFee) {
|
1963
|
-
policyTypes +=
|
1964
|
-
policies.push({ data: req.maxFee, type:
|
2001
|
+
policyTypes += import_transactions7.PolicyType.MaxFee;
|
2002
|
+
policies.push({ data: req.maxFee, type: import_transactions7.PolicyType.MaxFee });
|
1965
2003
|
}
|
1966
2004
|
return {
|
1967
2005
|
policyTypes,
|
@@ -1995,7 +2033,7 @@ var BaseTransactionRequest = class {
|
|
1995
2033
|
* @returns The transaction bytes.
|
1996
2034
|
*/
|
1997
2035
|
toTransactionBytes() {
|
1998
|
-
return new
|
2036
|
+
return new import_transactions7.TransactionCoder().encode(this.toTransaction());
|
1999
2037
|
}
|
2000
2038
|
/**
|
2001
2039
|
* @hidden
|
@@ -2086,7 +2124,7 @@ var BaseTransactionRequest = class {
|
|
2086
2124
|
*/
|
2087
2125
|
getCoinInputs() {
|
2088
2126
|
return this.inputs.filter(
|
2089
|
-
(input) => input.type ===
|
2127
|
+
(input) => input.type === import_transactions7.InputType.Coin
|
2090
2128
|
);
|
2091
2129
|
}
|
2092
2130
|
/**
|
@@ -2096,7 +2134,7 @@ var BaseTransactionRequest = class {
|
|
2096
2134
|
*/
|
2097
2135
|
getCoinOutputs() {
|
2098
2136
|
return this.outputs.filter(
|
2099
|
-
(output) => output.type ===
|
2137
|
+
(output) => output.type === import_transactions7.OutputType.Coin
|
2100
2138
|
);
|
2101
2139
|
}
|
2102
2140
|
/**
|
@@ -2106,7 +2144,7 @@ var BaseTransactionRequest = class {
|
|
2106
2144
|
*/
|
2107
2145
|
getChangeOutputs() {
|
2108
2146
|
return this.outputs.filter(
|
2109
|
-
(output) => output.type ===
|
2147
|
+
(output) => output.type === import_transactions7.OutputType.Change
|
2110
2148
|
);
|
2111
2149
|
}
|
2112
2150
|
/**
|
@@ -2118,9 +2156,9 @@ var BaseTransactionRequest = class {
|
|
2118
2156
|
const ownerAddress = (0, import_address.addressify)(owner);
|
2119
2157
|
const found = this.inputs.find((input) => {
|
2120
2158
|
switch (input.type) {
|
2121
|
-
case
|
2159
|
+
case import_transactions7.InputType.Coin:
|
2122
2160
|
return (0, import_utils9.hexlify)(input.owner) === ownerAddress.toB256();
|
2123
|
-
case
|
2161
|
+
case import_transactions7.InputType.Message:
|
2124
2162
|
return (0, import_utils9.hexlify)(input.recipient) === ownerAddress.toB256();
|
2125
2163
|
default:
|
2126
2164
|
return false;
|
@@ -2135,7 +2173,7 @@ var BaseTransactionRequest = class {
|
|
2135
2173
|
* @param coin - Coin resource.
|
2136
2174
|
*/
|
2137
2175
|
addCoinInput(coin) {
|
2138
|
-
const { assetId, owner, amount } = coin;
|
2176
|
+
const { assetId, owner, amount, id, predicate } = coin;
|
2139
2177
|
let witnessIndex;
|
2140
2178
|
if (coin.predicate) {
|
2141
2179
|
witnessIndex = 0;
|
@@ -2146,13 +2184,14 @@ var BaseTransactionRequest = class {
|
|
2146
2184
|
}
|
2147
2185
|
}
|
2148
2186
|
const input = {
|
2149
|
-
|
2150
|
-
type:
|
2187
|
+
id,
|
2188
|
+
type: import_transactions7.InputType.Coin,
|
2151
2189
|
owner: owner.toB256(),
|
2152
2190
|
amount,
|
2153
2191
|
assetId,
|
2154
2192
|
txPointer: "0x00000000000000000000000000000000",
|
2155
|
-
witnessIndex
|
2193
|
+
witnessIndex,
|
2194
|
+
predicate
|
2156
2195
|
};
|
2157
2196
|
this.pushInput(input);
|
2158
2197
|
this.addChangeOutput(owner, assetId);
|
@@ -2164,7 +2203,7 @@ var BaseTransactionRequest = class {
|
|
2164
2203
|
* @param message - Message resource.
|
2165
2204
|
*/
|
2166
2205
|
addMessageInput(message) {
|
2167
|
-
const { recipient, sender, amount, assetId } = message;
|
2206
|
+
const { recipient, sender, amount, predicate, nonce, assetId } = message;
|
2168
2207
|
let witnessIndex;
|
2169
2208
|
if (message.predicate) {
|
2170
2209
|
witnessIndex = 0;
|
@@ -2175,12 +2214,13 @@ var BaseTransactionRequest = class {
|
|
2175
2214
|
}
|
2176
2215
|
}
|
2177
2216
|
const input = {
|
2178
|
-
|
2179
|
-
type:
|
2217
|
+
nonce,
|
2218
|
+
type: import_transactions7.InputType.Message,
|
2180
2219
|
sender: sender.toB256(),
|
2181
2220
|
recipient: recipient.toB256(),
|
2182
2221
|
amount,
|
2183
|
-
witnessIndex
|
2222
|
+
witnessIndex,
|
2223
|
+
predicate
|
2184
2224
|
};
|
2185
2225
|
this.pushInput(input);
|
2186
2226
|
this.addChangeOutput(recipient, assetId);
|
@@ -2220,7 +2260,7 @@ var BaseTransactionRequest = class {
|
|
2220
2260
|
*/
|
2221
2261
|
addCoinOutput(to, amount, assetId) {
|
2222
2262
|
this.pushOutput({
|
2223
|
-
type:
|
2263
|
+
type: import_transactions7.OutputType.Coin,
|
2224
2264
|
to: (0, import_address.addressify)(to).toB256(),
|
2225
2265
|
amount,
|
2226
2266
|
assetId
|
@@ -2236,7 +2276,7 @@ var BaseTransactionRequest = class {
|
|
2236
2276
|
addCoinOutputs(to, quantities) {
|
2237
2277
|
quantities.map(coinQuantityfy).forEach((quantity) => {
|
2238
2278
|
this.pushOutput({
|
2239
|
-
type:
|
2279
|
+
type: import_transactions7.OutputType.Coin,
|
2240
2280
|
to: (0, import_address.addressify)(to).toB256(),
|
2241
2281
|
amount: quantity.amount,
|
2242
2282
|
assetId: quantity.assetId
|
@@ -2256,7 +2296,7 @@ var BaseTransactionRequest = class {
|
|
2256
2296
|
);
|
2257
2297
|
if (!changeOutput) {
|
2258
2298
|
this.pushOutput({
|
2259
|
-
type:
|
2299
|
+
type: import_transactions7.OutputType.Change,
|
2260
2300
|
to: (0, import_address.addressify)(to).toB256(),
|
2261
2301
|
assetId
|
2262
2302
|
});
|
@@ -2364,16 +2404,27 @@ var BaseTransactionRequest = class {
|
|
2364
2404
|
toJSON() {
|
2365
2405
|
return normalizeJSON(this);
|
2366
2406
|
}
|
2407
|
+
removeWitness(index) {
|
2408
|
+
this.witnesses.splice(index, 1);
|
2409
|
+
this.adjustWitnessIndexes(index);
|
2410
|
+
}
|
2411
|
+
adjustWitnessIndexes(removedIndex) {
|
2412
|
+
this.inputs.filter(isRequestInputResource).forEach((input) => {
|
2413
|
+
if (input.witnessIndex > removedIndex) {
|
2414
|
+
input.witnessIndex -= 1;
|
2415
|
+
}
|
2416
|
+
});
|
2417
|
+
}
|
2367
2418
|
updatePredicateGasUsed(inputs) {
|
2368
2419
|
this.inputs.forEach((i) => {
|
2369
2420
|
let correspondingInput;
|
2370
2421
|
switch (i.type) {
|
2371
|
-
case
|
2372
|
-
correspondingInput = inputs.find((x) => x.type ===
|
2422
|
+
case import_transactions7.InputType.Coin:
|
2423
|
+
correspondingInput = inputs.find((x) => x.type === import_transactions7.InputType.Coin && x.owner === i.owner);
|
2373
2424
|
break;
|
2374
|
-
case
|
2425
|
+
case import_transactions7.InputType.Message:
|
2375
2426
|
correspondingInput = inputs.find(
|
2376
|
-
(x) => x.type ===
|
2427
|
+
(x) => x.type === import_transactions7.InputType.Message && x.sender === i.sender
|
2377
2428
|
);
|
2378
2429
|
break;
|
2379
2430
|
default:
|
@@ -2400,25 +2451,25 @@ var BaseTransactionRequest = class {
|
|
2400
2451
|
// src/providers/transaction-request/create-transaction-request.ts
|
2401
2452
|
var import_configs8 = require("@fuel-ts/address/configs");
|
2402
2453
|
var import_math9 = require("@fuel-ts/math");
|
2403
|
-
var
|
2454
|
+
var import_transactions9 = require("@fuel-ts/transactions");
|
2404
2455
|
var import_utils13 = require("@fuel-ts/utils");
|
2405
2456
|
|
2406
2457
|
// src/providers/transaction-request/hash-transaction.ts
|
2407
2458
|
var import_configs7 = require("@fuel-ts/address/configs");
|
2408
2459
|
var import_hasher = require("@fuel-ts/hasher");
|
2409
2460
|
var import_math8 = require("@fuel-ts/math");
|
2410
|
-
var
|
2461
|
+
var import_transactions8 = require("@fuel-ts/transactions");
|
2411
2462
|
var import_utils11 = require("@fuel-ts/utils");
|
2412
2463
|
var import_ramda2 = require("ramda");
|
2413
2464
|
function hashTransaction(transactionRequest, chainId) {
|
2414
2465
|
const transaction = transactionRequest.toTransaction();
|
2415
|
-
if (transaction.type ===
|
2466
|
+
if (transaction.type === import_transactions8.TransactionType.Script) {
|
2416
2467
|
transaction.receiptsRoot = import_configs7.ZeroBytes32;
|
2417
2468
|
}
|
2418
2469
|
transaction.inputs = transaction.inputs.map((input) => {
|
2419
2470
|
const inputClone = (0, import_ramda2.clone)(input);
|
2420
2471
|
switch (inputClone.type) {
|
2421
|
-
case
|
2472
|
+
case import_transactions8.InputType.Coin: {
|
2422
2473
|
inputClone.txPointer = {
|
2423
2474
|
blockHeight: 0,
|
2424
2475
|
txIndex: 0
|
@@ -2426,11 +2477,11 @@ function hashTransaction(transactionRequest, chainId) {
|
|
2426
2477
|
inputClone.predicateGasUsed = (0, import_math8.bn)(0);
|
2427
2478
|
return inputClone;
|
2428
2479
|
}
|
2429
|
-
case
|
2480
|
+
case import_transactions8.InputType.Message: {
|
2430
2481
|
inputClone.predicateGasUsed = (0, import_math8.bn)(0);
|
2431
2482
|
return inputClone;
|
2432
2483
|
}
|
2433
|
-
case
|
2484
|
+
case import_transactions8.InputType.Contract: {
|
2434
2485
|
inputClone.txPointer = {
|
2435
2486
|
blockHeight: 0,
|
2436
2487
|
txIndex: 0
|
@@ -2448,16 +2499,16 @@ function hashTransaction(transactionRequest, chainId) {
|
|
2448
2499
|
transaction.outputs = transaction.outputs.map((output) => {
|
2449
2500
|
const outputClone = (0, import_ramda2.clone)(output);
|
2450
2501
|
switch (outputClone.type) {
|
2451
|
-
case
|
2502
|
+
case import_transactions8.OutputType.Contract: {
|
2452
2503
|
outputClone.balanceRoot = import_configs7.ZeroBytes32;
|
2453
2504
|
outputClone.stateRoot = import_configs7.ZeroBytes32;
|
2454
2505
|
return outputClone;
|
2455
2506
|
}
|
2456
|
-
case
|
2507
|
+
case import_transactions8.OutputType.Change: {
|
2457
2508
|
outputClone.amount = (0, import_math8.bn)(0);
|
2458
2509
|
return outputClone;
|
2459
2510
|
}
|
2460
|
-
case
|
2511
|
+
case import_transactions8.OutputType.Variable: {
|
2461
2512
|
outputClone.to = import_configs7.ZeroBytes32;
|
2462
2513
|
outputClone.amount = (0, import_math8.bn)(0);
|
2463
2514
|
outputClone.assetId = import_configs7.ZeroBytes32;
|
@@ -2470,7 +2521,7 @@ function hashTransaction(transactionRequest, chainId) {
|
|
2470
2521
|
transaction.witnessesCount = 0;
|
2471
2522
|
transaction.witnesses = [];
|
2472
2523
|
const chainIdBytes = (0, import_hasher.uint64ToBytesBE)(chainId);
|
2473
|
-
const concatenatedData = (0, import_utils11.concat)([chainIdBytes, new
|
2524
|
+
const concatenatedData = (0, import_utils11.concat)([chainIdBytes, new import_transactions8.TransactionCoder().encode(transaction)]);
|
2474
2525
|
return (0, import_hasher.sha256)(concatenatedData);
|
2475
2526
|
}
|
2476
2527
|
|
@@ -2506,7 +2557,7 @@ var CreateTransactionRequest = class extends BaseTransactionRequest {
|
|
2506
2557
|
return new this(obj);
|
2507
2558
|
}
|
2508
2559
|
/** Type of the transaction */
|
2509
|
-
type =
|
2560
|
+
type = import_transactions9.TransactionType.Create;
|
2510
2561
|
/** Witness index of contract bytecode to create */
|
2511
2562
|
bytecodeWitnessIndex;
|
2512
2563
|
/** Salt */
|
@@ -2534,7 +2585,7 @@ var CreateTransactionRequest = class extends BaseTransactionRequest {
|
|
2534
2585
|
const bytecodeWitnessIndex = this.bytecodeWitnessIndex;
|
2535
2586
|
const storageSlots = this.storageSlots?.map(storageSlotify) ?? [];
|
2536
2587
|
return {
|
2537
|
-
type:
|
2588
|
+
type: import_transactions9.TransactionType.Create,
|
2538
2589
|
...baseTransaction,
|
2539
2590
|
bytecodeWitnessIndex,
|
2540
2591
|
storageSlotsCount: (0, import_math9.bn)(storageSlots.length),
|
@@ -2549,7 +2600,7 @@ var CreateTransactionRequest = class extends BaseTransactionRequest {
|
|
2549
2600
|
*/
|
2550
2601
|
getContractCreatedOutputs() {
|
2551
2602
|
return this.outputs.filter(
|
2552
|
-
(output) => output.type ===
|
2603
|
+
(output) => output.type === import_transactions9.OutputType.ContractCreated
|
2553
2604
|
);
|
2554
2605
|
}
|
2555
2606
|
/**
|
@@ -2570,7 +2621,7 @@ var CreateTransactionRequest = class extends BaseTransactionRequest {
|
|
2570
2621
|
*/
|
2571
2622
|
addContractCreatedOutput(contractId, stateRoot) {
|
2572
2623
|
this.pushOutput({
|
2573
|
-
type:
|
2624
|
+
type: import_transactions9.OutputType.ContractCreated,
|
2574
2625
|
contractId,
|
2575
2626
|
stateRoot
|
2576
2627
|
});
|
@@ -2590,7 +2641,7 @@ var import_abi_coder3 = require("@fuel-ts/abi-coder");
|
|
2590
2641
|
var import_address2 = require("@fuel-ts/address");
|
2591
2642
|
var import_configs9 = require("@fuel-ts/address/configs");
|
2592
2643
|
var import_math10 = require("@fuel-ts/math");
|
2593
|
-
var
|
2644
|
+
var import_transactions10 = require("@fuel-ts/transactions");
|
2594
2645
|
var import_utils15 = require("@fuel-ts/utils");
|
2595
2646
|
|
2596
2647
|
// src/providers/transaction-request/scripts.ts
|
@@ -2628,7 +2679,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
|
|
2628
2679
|
return new this(obj);
|
2629
2680
|
}
|
2630
2681
|
/** Type of the transaction */
|
2631
|
-
type =
|
2682
|
+
type = import_transactions10.TransactionType.Script;
|
2632
2683
|
/** Gas limit for transaction */
|
2633
2684
|
gasLimit;
|
2634
2685
|
/** Script to execute */
|
@@ -2657,7 +2708,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
|
|
2657
2708
|
const script = (0, import_utils15.arrayify)(this.script ?? "0x");
|
2658
2709
|
const scriptData = (0, import_utils15.arrayify)(this.scriptData ?? "0x");
|
2659
2710
|
return {
|
2660
|
-
type:
|
2711
|
+
type: import_transactions10.TransactionType.Script,
|
2661
2712
|
scriptGasLimit: this.gasLimit,
|
2662
2713
|
...super.getBaseTransaction(),
|
2663
2714
|
scriptLength: (0, import_math10.bn)(script.length),
|
@@ -2674,7 +2725,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
|
|
2674
2725
|
*/
|
2675
2726
|
getContractInputs() {
|
2676
2727
|
return this.inputs.filter(
|
2677
|
-
(input) => input.type ===
|
2728
|
+
(input) => input.type === import_transactions10.InputType.Contract
|
2678
2729
|
);
|
2679
2730
|
}
|
2680
2731
|
/**
|
@@ -2684,7 +2735,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
|
|
2684
2735
|
*/
|
2685
2736
|
getContractOutputs() {
|
2686
2737
|
return this.outputs.filter(
|
2687
|
-
(output) => output.type ===
|
2738
|
+
(output) => output.type === import_transactions10.OutputType.Contract
|
2688
2739
|
);
|
2689
2740
|
}
|
2690
2741
|
/**
|
@@ -2694,7 +2745,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
|
|
2694
2745
|
*/
|
2695
2746
|
getVariableOutputs() {
|
2696
2747
|
return this.outputs.filter(
|
2697
|
-
(output) => output.type ===
|
2748
|
+
(output) => output.type === import_transactions10.OutputType.Variable
|
2698
2749
|
);
|
2699
2750
|
}
|
2700
2751
|
/**
|
@@ -2717,7 +2768,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
|
|
2717
2768
|
let outputsNumber = numberOfVariables;
|
2718
2769
|
while (outputsNumber) {
|
2719
2770
|
this.pushOutput({
|
2720
|
-
type:
|
2771
|
+
type: import_transactions10.OutputType.Variable
|
2721
2772
|
});
|
2722
2773
|
outputsNumber -= 1;
|
2723
2774
|
}
|
@@ -2751,12 +2802,12 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
|
|
2751
2802
|
return this;
|
2752
2803
|
}
|
2753
2804
|
const inputIndex = super.pushInput({
|
2754
|
-
type:
|
2805
|
+
type: import_transactions10.InputType.Contract,
|
2755
2806
|
contractId: contractAddress.toB256(),
|
2756
2807
|
txPointer: "0x00000000000000000000000000000000"
|
2757
2808
|
});
|
2758
2809
|
this.pushOutput({
|
2759
|
-
type:
|
2810
|
+
type: import_transactions10.OutputType.Contract,
|
2760
2811
|
inputIndex
|
2761
2812
|
});
|
2762
2813
|
return this;
|
@@ -2793,17 +2844,17 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
|
|
2793
2844
|
|
2794
2845
|
// src/providers/transaction-request/utils.ts
|
2795
2846
|
var import_errors9 = require("@fuel-ts/errors");
|
2796
|
-
var
|
2847
|
+
var import_transactions11 = require("@fuel-ts/transactions");
|
2797
2848
|
var transactionRequestify = (obj) => {
|
2798
2849
|
if (obj instanceof ScriptTransactionRequest || obj instanceof CreateTransactionRequest) {
|
2799
2850
|
return obj;
|
2800
2851
|
}
|
2801
2852
|
const { type } = obj;
|
2802
2853
|
switch (obj.type) {
|
2803
|
-
case
|
2854
|
+
case import_transactions11.TransactionType.Script: {
|
2804
2855
|
return ScriptTransactionRequest.from(obj);
|
2805
2856
|
}
|
2806
|
-
case
|
2857
|
+
case import_transactions11.TransactionType.Create: {
|
2807
2858
|
return CreateTransactionRequest.from(obj);
|
2808
2859
|
}
|
2809
2860
|
default: {
|
@@ -2813,10 +2864,10 @@ var transactionRequestify = (obj) => {
|
|
2813
2864
|
};
|
2814
2865
|
var cacheTxInputsFromOwner = (inputs, owner) => inputs.reduce(
|
2815
2866
|
(acc, input) => {
|
2816
|
-
if (input.type ===
|
2867
|
+
if (input.type === import_transactions11.InputType.Coin && input.owner === owner) {
|
2817
2868
|
acc.utxos.push(input.id);
|
2818
2869
|
}
|
2819
|
-
if (input.type ===
|
2870
|
+
if (input.type === import_transactions11.InputType.Message && input.recipient === owner) {
|
2820
2871
|
acc.messages.push(input.nonce);
|
2821
2872
|
}
|
2822
2873
|
return acc;
|
@@ -2830,17 +2881,17 @@ var cacheTxInputsFromOwner = (inputs, owner) => inputs.reduce(
|
|
2830
2881
|
// src/providers/transaction-response/transaction-response.ts
|
2831
2882
|
var import_errors13 = require("@fuel-ts/errors");
|
2832
2883
|
var import_math15 = require("@fuel-ts/math");
|
2833
|
-
var
|
2884
|
+
var import_transactions19 = require("@fuel-ts/transactions");
|
2834
2885
|
var import_utils20 = require("@fuel-ts/utils");
|
2835
2886
|
|
2836
2887
|
// src/providers/transaction-summary/assemble-transaction-summary.ts
|
2837
2888
|
var import_math14 = require("@fuel-ts/math");
|
2838
|
-
var
|
2889
|
+
var import_transactions17 = require("@fuel-ts/transactions");
|
2839
2890
|
var import_utils18 = require("@fuel-ts/utils");
|
2840
2891
|
|
2841
2892
|
// src/providers/transaction-summary/calculate-transaction-fee.ts
|
2842
2893
|
var import_math11 = require("@fuel-ts/math");
|
2843
|
-
var
|
2894
|
+
var import_transactions12 = require("@fuel-ts/transactions");
|
2844
2895
|
var import_utils16 = require("@fuel-ts/utils");
|
2845
2896
|
var calculateTransactionFee = (params) => {
|
2846
2897
|
const {
|
@@ -2852,8 +2903,8 @@ var calculateTransactionFee = (params) => {
|
|
2852
2903
|
const gasPerByte = (0, import_math11.bn)(feeParams.gasPerByte);
|
2853
2904
|
const gasPriceFactor = (0, import_math11.bn)(feeParams.gasPriceFactor);
|
2854
2905
|
const transactionBytes = (0, import_utils16.arrayify)(rawPayload);
|
2855
|
-
const [transaction] = new
|
2856
|
-
if (transaction.type ===
|
2906
|
+
const [transaction] = new import_transactions12.TransactionCoder().decode(transactionBytes, 0);
|
2907
|
+
if (transaction.type === import_transactions12.TransactionType.Mint) {
|
2857
2908
|
return {
|
2858
2909
|
fee: (0, import_math11.bn)(0),
|
2859
2910
|
minFee: (0, import_math11.bn)(0),
|
@@ -2863,7 +2914,7 @@ var calculateTransactionFee = (params) => {
|
|
2863
2914
|
const { type, witnesses, inputs, policies } = transaction;
|
2864
2915
|
let metadataGas = (0, import_math11.bn)(0);
|
2865
2916
|
let gasLimit = (0, import_math11.bn)(0);
|
2866
|
-
if (type ===
|
2917
|
+
if (type === import_transactions12.TransactionType.Create) {
|
2867
2918
|
const { bytecodeWitnessIndex, storageSlots } = transaction;
|
2868
2919
|
const contractBytesSize = (0, import_math11.bn)((0, import_utils16.arrayify)(witnesses[bytecodeWitnessIndex].data).length);
|
2869
2920
|
metadataGas = calculateMetadataGasForTxCreate({
|
@@ -2889,7 +2940,7 @@ var calculateTransactionFee = (params) => {
|
|
2889
2940
|
metadataGas,
|
2890
2941
|
txBytesSize: transactionBytes.length
|
2891
2942
|
});
|
2892
|
-
const witnessLimit = policies.find((policy) => policy.type ===
|
2943
|
+
const witnessLimit = policies.find((policy) => policy.type === import_transactions12.PolicyType.WitnessLimit)?.data;
|
2893
2944
|
const witnessesLength = witnesses.reduce((acc, wit) => acc + wit.dataLength, 0);
|
2894
2945
|
const maxGas = getMaxGas({
|
2895
2946
|
gasPerByte,
|
@@ -2922,7 +2973,7 @@ var calculateTransactionFee = (params) => {
|
|
2922
2973
|
var import_configs10 = require("@fuel-ts/address/configs");
|
2923
2974
|
var import_errors11 = require("@fuel-ts/errors");
|
2924
2975
|
var import_math13 = require("@fuel-ts/math");
|
2925
|
-
var
|
2976
|
+
var import_transactions15 = require("@fuel-ts/transactions");
|
2926
2977
|
|
2927
2978
|
// src/providers/transaction-summary/call.ts
|
2928
2979
|
var import_abi_coder4 = require("@fuel-ts/abi-coder");
|
@@ -2970,7 +3021,7 @@ var getFunctionCall = ({ abi, receipt, rawPayload, maxInputs }) => {
|
|
2970
3021
|
|
2971
3022
|
// src/providers/transaction-summary/input.ts
|
2972
3023
|
var import_errors10 = require("@fuel-ts/errors");
|
2973
|
-
var
|
3024
|
+
var import_transactions13 = require("@fuel-ts/transactions");
|
2974
3025
|
function getInputsByTypes(inputs, types) {
|
2975
3026
|
return inputs.filter((i) => types.includes(i.type));
|
2976
3027
|
}
|
@@ -2978,16 +3029,16 @@ function getInputsByType(inputs, type) {
|
|
2978
3029
|
return inputs.filter((i) => i.type === type);
|
2979
3030
|
}
|
2980
3031
|
function getInputsCoin(inputs) {
|
2981
|
-
return getInputsByType(inputs,
|
3032
|
+
return getInputsByType(inputs, import_transactions13.InputType.Coin);
|
2982
3033
|
}
|
2983
3034
|
function getInputsMessage(inputs) {
|
2984
|
-
return getInputsByType(inputs,
|
3035
|
+
return getInputsByType(inputs, import_transactions13.InputType.Message);
|
2985
3036
|
}
|
2986
3037
|
function getInputsCoinAndMessage(inputs) {
|
2987
|
-
return getInputsByTypes(inputs, [
|
3038
|
+
return getInputsByTypes(inputs, [import_transactions13.InputType.Coin, import_transactions13.InputType.Message]);
|
2988
3039
|
}
|
2989
3040
|
function getInputsContract(inputs) {
|
2990
|
-
return getInputsByType(inputs,
|
3041
|
+
return getInputsByType(inputs, import_transactions13.InputType.Contract);
|
2991
3042
|
}
|
2992
3043
|
function getInputFromAssetId(inputs, assetId) {
|
2993
3044
|
const coinInputs = getInputsCoin(inputs);
|
@@ -3006,7 +3057,7 @@ function getInputContractFromIndex(inputs, inputIndex) {
|
|
3006
3057
|
if (!contractInput) {
|
3007
3058
|
return void 0;
|
3008
3059
|
}
|
3009
|
-
if (contractInput.type !==
|
3060
|
+
if (contractInput.type !== import_transactions13.InputType.Contract) {
|
3010
3061
|
throw new import_errors10.FuelError(
|
3011
3062
|
import_errors10.ErrorCode.INVALID_TRANSACTION_INPUT,
|
3012
3063
|
`Contract input should be of type 'contract'.`
|
@@ -3015,34 +3066,34 @@ function getInputContractFromIndex(inputs, inputIndex) {
|
|
3015
3066
|
return contractInput;
|
3016
3067
|
}
|
3017
3068
|
function getInputAccountAddress(input) {
|
3018
|
-
if (input.type ===
|
3069
|
+
if (input.type === import_transactions13.InputType.Coin) {
|
3019
3070
|
return input.owner.toString();
|
3020
3071
|
}
|
3021
|
-
if (input.type ===
|
3072
|
+
if (input.type === import_transactions13.InputType.Message) {
|
3022
3073
|
return input.recipient.toString();
|
3023
3074
|
}
|
3024
3075
|
return "";
|
3025
3076
|
}
|
3026
3077
|
|
3027
3078
|
// src/providers/transaction-summary/output.ts
|
3028
|
-
var
|
3079
|
+
var import_transactions14 = require("@fuel-ts/transactions");
|
3029
3080
|
function getOutputsByType(outputs, type) {
|
3030
3081
|
return outputs.filter((o) => o.type === type);
|
3031
3082
|
}
|
3032
3083
|
function getOutputsContractCreated(outputs) {
|
3033
|
-
return getOutputsByType(outputs,
|
3084
|
+
return getOutputsByType(outputs, import_transactions14.OutputType.ContractCreated);
|
3034
3085
|
}
|
3035
3086
|
function getOutputsCoin(outputs) {
|
3036
|
-
return getOutputsByType(outputs,
|
3087
|
+
return getOutputsByType(outputs, import_transactions14.OutputType.Coin);
|
3037
3088
|
}
|
3038
3089
|
function getOutputsChange(outputs) {
|
3039
|
-
return getOutputsByType(outputs,
|
3090
|
+
return getOutputsByType(outputs, import_transactions14.OutputType.Change);
|
3040
3091
|
}
|
3041
3092
|
function getOutputsContract(outputs) {
|
3042
|
-
return getOutputsByType(outputs,
|
3093
|
+
return getOutputsByType(outputs, import_transactions14.OutputType.Contract);
|
3043
3094
|
}
|
3044
3095
|
function getOutputsVariable(outputs) {
|
3045
|
-
return getOutputsByType(outputs,
|
3096
|
+
return getOutputsByType(outputs, import_transactions14.OutputType.Variable);
|
3046
3097
|
}
|
3047
3098
|
|
3048
3099
|
// src/providers/transaction-summary/types.ts
|
@@ -3089,11 +3140,11 @@ function getReceiptsByType(receipts, type) {
|
|
3089
3140
|
}
|
3090
3141
|
function getTransactionTypeName(transactionType) {
|
3091
3142
|
switch (transactionType) {
|
3092
|
-
case
|
3143
|
+
case import_transactions15.TransactionType.Mint:
|
3093
3144
|
return "Mint" /* Mint */;
|
3094
|
-
case
|
3145
|
+
case import_transactions15.TransactionType.Create:
|
3095
3146
|
return "Create" /* Create */;
|
3096
|
-
case
|
3147
|
+
case import_transactions15.TransactionType.Script:
|
3097
3148
|
return "Script" /* Script */;
|
3098
3149
|
default:
|
3099
3150
|
throw new import_errors11.FuelError(
|
@@ -3119,10 +3170,10 @@ function hasSameAssetId(a) {
|
|
3119
3170
|
return (b) => a.assetId === b.assetId;
|
3120
3171
|
}
|
3121
3172
|
function getReceiptsCall(receipts) {
|
3122
|
-
return getReceiptsByType(receipts,
|
3173
|
+
return getReceiptsByType(receipts, import_transactions15.ReceiptType.Call);
|
3123
3174
|
}
|
3124
3175
|
function getReceiptsMessageOut(receipts) {
|
3125
|
-
return getReceiptsByType(receipts,
|
3176
|
+
return getReceiptsByType(receipts, import_transactions15.ReceiptType.MessageOut);
|
3126
3177
|
}
|
3127
3178
|
var mergeAssets = (op1, op2) => {
|
3128
3179
|
const assets1 = op1.assetsSent || [];
|
@@ -3161,7 +3212,7 @@ function addOperation(operations, toAdd) {
|
|
3161
3212
|
return allOperations;
|
3162
3213
|
}
|
3163
3214
|
function getReceiptsTransferOut(receipts) {
|
3164
|
-
return getReceiptsByType(receipts,
|
3215
|
+
return getReceiptsByType(receipts, import_transactions15.ReceiptType.TransferOut);
|
3165
3216
|
}
|
3166
3217
|
function getWithdrawFromFuelOperations({
|
3167
3218
|
inputs,
|
@@ -3321,11 +3372,11 @@ function getTransferOperations({
|
|
3321
3372
|
});
|
3322
3373
|
const transferReceipts = getReceiptsByType(
|
3323
3374
|
receipts,
|
3324
|
-
|
3375
|
+
import_transactions15.ReceiptType.Transfer
|
3325
3376
|
);
|
3326
3377
|
const transferOutReceipts = getReceiptsByType(
|
3327
3378
|
receipts,
|
3328
|
-
|
3379
|
+
import_transactions15.ReceiptType.TransferOut
|
3329
3380
|
);
|
3330
3381
|
[...transferReceipts, ...transferOutReceipts].forEach((receipt) => {
|
3331
3382
|
const operation = extractTransferOperationFromReceipt(receipt, contractInputs, changeOutputs);
|
@@ -3410,17 +3461,17 @@ function getOperations({
|
|
3410
3461
|
}
|
3411
3462
|
|
3412
3463
|
// src/providers/transaction-summary/receipt.ts
|
3413
|
-
var
|
3464
|
+
var import_transactions16 = require("@fuel-ts/transactions");
|
3414
3465
|
var processGqlReceipt = (gqlReceipt) => {
|
3415
3466
|
const receipt = assembleReceiptByType(gqlReceipt);
|
3416
3467
|
switch (receipt.type) {
|
3417
|
-
case
|
3468
|
+
case import_transactions16.ReceiptType.ReturnData: {
|
3418
3469
|
return {
|
3419
3470
|
...receipt,
|
3420
3471
|
data: gqlReceipt.data || "0x"
|
3421
3472
|
};
|
3422
3473
|
}
|
3423
|
-
case
|
3474
|
+
case import_transactions16.ReceiptType.LogData: {
|
3424
3475
|
return {
|
3425
3476
|
...receipt,
|
3426
3477
|
data: gqlReceipt.data || "0x"
|
@@ -3433,7 +3484,7 @@ var processGqlReceipt = (gqlReceipt) => {
|
|
3433
3484
|
var extractMintedAssetsFromReceipts = (receipts) => {
|
3434
3485
|
const mintedAssets = [];
|
3435
3486
|
receipts.forEach((receipt) => {
|
3436
|
-
if (receipt.type ===
|
3487
|
+
if (receipt.type === import_transactions16.ReceiptType.Mint) {
|
3437
3488
|
mintedAssets.push({
|
3438
3489
|
subId: receipt.subId,
|
3439
3490
|
contractId: receipt.contractId,
|
@@ -3447,7 +3498,7 @@ var extractMintedAssetsFromReceipts = (receipts) => {
|
|
3447
3498
|
var extractBurnedAssetsFromReceipts = (receipts) => {
|
3448
3499
|
const burnedAssets = [];
|
3449
3500
|
receipts.forEach((receipt) => {
|
3450
|
-
if (receipt.type ===
|
3501
|
+
if (receipt.type === import_transactions16.ReceiptType.Burn) {
|
3451
3502
|
burnedAssets.push({
|
3452
3503
|
subId: receipt.subId,
|
3453
3504
|
contractId: receipt.contractId,
|
@@ -3544,7 +3595,7 @@ function assembleTransactionSummary(params) {
|
|
3544
3595
|
maxInputs
|
3545
3596
|
});
|
3546
3597
|
const typeName = getTransactionTypeName(transaction.type);
|
3547
|
-
const tip = (0, import_math14.bn)(transaction.policies?.find((policy) => policy.type ===
|
3598
|
+
const tip = (0, import_math14.bn)(transaction.policies?.find((policy) => policy.type === import_transactions17.PolicyType.Tip)?.data);
|
3548
3599
|
const { fee } = calculateTransactionFee({
|
3549
3600
|
gasPrice,
|
3550
3601
|
rawPayload,
|
@@ -3591,12 +3642,12 @@ function assembleTransactionSummary(params) {
|
|
3591
3642
|
|
3592
3643
|
// src/providers/transaction-response/getDecodedLogs.ts
|
3593
3644
|
var import_abi_coder5 = require("@fuel-ts/abi-coder");
|
3594
|
-
var
|
3645
|
+
var import_transactions18 = require("@fuel-ts/transactions");
|
3595
3646
|
function getDecodedLogs(receipts, mainAbi, externalAbis = {}) {
|
3596
3647
|
return receipts.reduce((logs, receipt) => {
|
3597
|
-
if (receipt.type ===
|
3648
|
+
if (receipt.type === import_transactions18.ReceiptType.LogData || receipt.type === import_transactions18.ReceiptType.Log) {
|
3598
3649
|
const interfaceToUse = new import_abi_coder5.Interface(externalAbis[receipt.id] || mainAbi);
|
3599
|
-
const data = receipt.type ===
|
3650
|
+
const data = receipt.type === import_transactions18.ReceiptType.Log ? new import_abi_coder5.BigNumberCoder("u64").encode(receipt.val0) : receipt.data;
|
3600
3651
|
const [decodedLog] = interfaceToUse.decodeLog(data, receipt.val1.toNumber());
|
3601
3652
|
logs.push(decodedLog);
|
3602
3653
|
}
|
@@ -3669,7 +3720,7 @@ var TransactionResponse = class {
|
|
3669
3720
|
* @returns The decoded transaction.
|
3670
3721
|
*/
|
3671
3722
|
decodeTransaction(transactionWithReceipts) {
|
3672
|
-
return new
|
3723
|
+
return new import_transactions19.TransactionCoder().decode(
|
3673
3724
|
(0, import_utils20.arrayify)(transactionWithReceipts.rawPayload),
|
3674
3725
|
0
|
3675
3726
|
)?.[0];
|
@@ -4120,7 +4171,7 @@ var _Provider = class {
|
|
4120
4171
|
}
|
4121
4172
|
const encodedTransaction = (0, import_utils22.hexlify)(transactionRequest.toTransactionBytes());
|
4122
4173
|
let abis;
|
4123
|
-
if (transactionRequest.type ===
|
4174
|
+
if (transactionRequest.type === import_transactions20.TransactionType.Script) {
|
4124
4175
|
abis = transactionRequest.abis;
|
4125
4176
|
}
|
4126
4177
|
if (awaitExecution) {
|
@@ -4212,7 +4263,7 @@ var _Provider = class {
|
|
4212
4263
|
* @returns A promise.
|
4213
4264
|
*/
|
4214
4265
|
async estimateTxDependencies(transactionRequest) {
|
4215
|
-
if (transactionRequest.type ===
|
4266
|
+
if (transactionRequest.type === import_transactions20.TransactionType.Create) {
|
4216
4267
|
return {
|
4217
4268
|
receipts: [],
|
4218
4269
|
outputVariables: 0,
|
@@ -4276,7 +4327,7 @@ var _Provider = class {
|
|
4276
4327
|
const allRequests = (0, import_ramda3.clone)(transactionRequests);
|
4277
4328
|
const serializedTransactionsMap = /* @__PURE__ */ new Map();
|
4278
4329
|
allRequests.forEach((req, index) => {
|
4279
|
-
if (req.type ===
|
4330
|
+
if (req.type === import_transactions20.TransactionType.Script) {
|
4280
4331
|
serializedTransactionsMap.set(index, (0, import_utils22.hexlify)(req.toTransactionBytes()));
|
4281
4332
|
}
|
4282
4333
|
});
|
@@ -4302,7 +4353,7 @@ var _Provider = class {
|
|
4302
4353
|
);
|
4303
4354
|
const hasMissingOutputs = missingOutputVariables.length > 0 || missingOutputContractIds.length > 0;
|
4304
4355
|
const request = allRequests[requestIdx];
|
4305
|
-
if (hasMissingOutputs && request?.type ===
|
4356
|
+
if (hasMissingOutputs && request?.type === import_transactions20.TransactionType.Script) {
|
4306
4357
|
result.outputVariables += missingOutputVariables.length;
|
4307
4358
|
request.addVariableOutputs(missingOutputVariables.length);
|
4308
4359
|
missingOutputContractIds.forEach(({ contractId }) => {
|
@@ -4358,7 +4409,7 @@ var _Provider = class {
|
|
4358
4409
|
tip: transactionRequest.tip
|
4359
4410
|
}).add(1);
|
4360
4411
|
let gasLimit = (0, import_math16.bn)(0);
|
4361
|
-
if (transactionRequest.type ===
|
4412
|
+
if (transactionRequest.type === import_transactions20.TransactionType.Script) {
|
4362
4413
|
gasLimit = transactionRequest.gasLimit;
|
4363
4414
|
if (transactionRequest.gasLimit.eq(0)) {
|
4364
4415
|
transactionRequest.gasLimit = minGas;
|
@@ -4428,7 +4479,7 @@ var _Provider = class {
|
|
4428
4479
|
*/
|
4429
4480
|
async getTransactionCost(transactionRequestLike, { resourcesOwner, signatureCallback, quantitiesToContract = [] } = {}) {
|
4430
4481
|
const txRequestClone = (0, import_ramda3.clone)(transactionRequestify(transactionRequestLike));
|
4431
|
-
const isScriptTransaction = txRequestClone.type ===
|
4482
|
+
const isScriptTransaction = txRequestClone.type === import_transactions20.TransactionType.Script;
|
4432
4483
|
const baseAssetId = this.getBaseAssetId();
|
4433
4484
|
const coinOutputsQuantities = txRequestClone.getCoinOutputsQuantities();
|
4434
4485
|
const allQuantities = mergeQuantities(coinOutputsQuantities, quantitiesToContract);
|
@@ -4652,7 +4703,7 @@ var _Provider = class {
|
|
4652
4703
|
time: block.header.time,
|
4653
4704
|
transactionIds: block.transactions.map((tx) => tx.id),
|
4654
4705
|
transactions: block.transactions.map(
|
4655
|
-
(tx) => new
|
4706
|
+
(tx) => new import_transactions20.TransactionCoder().decode((0, import_utils22.arrayify)(tx.rawPayload), 0)?.[0]
|
4656
4707
|
)
|
4657
4708
|
};
|
4658
4709
|
}
|
@@ -4667,7 +4718,7 @@ var _Provider = class {
|
|
4667
4718
|
if (!transaction) {
|
4668
4719
|
return null;
|
4669
4720
|
}
|
4670
|
-
return new
|
4721
|
+
return new import_transactions20.TransactionCoder().decode(
|
4671
4722
|
(0, import_utils22.arrayify)(transaction.rawPayload),
|
4672
4723
|
0
|
4673
4724
|
)?.[0];
|
@@ -4747,7 +4798,7 @@ var _Provider = class {
|
|
4747
4798
|
});
|
4748
4799
|
const messages = result.messages.edges.map((edge) => edge.node);
|
4749
4800
|
return messages.map((message) => ({
|
4750
|
-
messageId:
|
4801
|
+
messageId: import_transactions20.InputMessageCoder.getMessageId({
|
4751
4802
|
sender: message.sender,
|
4752
4803
|
recipient: message.recipient,
|
4753
4804
|
nonce: message.nonce,
|
@@ -4758,7 +4809,7 @@ var _Provider = class {
|
|
4758
4809
|
recipient: import_address3.Address.fromAddressOrString(message.recipient),
|
4759
4810
|
nonce: message.nonce,
|
4760
4811
|
amount: (0, import_math16.bn)(message.amount),
|
4761
|
-
data:
|
4812
|
+
data: import_transactions20.InputMessageCoder.decodeData(message.data),
|
4762
4813
|
daHeight: (0, import_math16.bn)(message.daHeight)
|
4763
4814
|
}));
|
4764
4815
|
}
|
@@ -4894,6 +4945,19 @@ var _Provider = class {
|
|
4894
4945
|
async getTransactionResponse(transactionId) {
|
4895
4946
|
return new TransactionResponse(transactionId, this);
|
4896
4947
|
}
|
4948
|
+
/**
|
4949
|
+
* Returns Message for given nonce.
|
4950
|
+
*
|
4951
|
+
* @param nonce - The nonce of the message to retrieve.
|
4952
|
+
* @returns A promise that resolves to the Message object.
|
4953
|
+
*/
|
4954
|
+
async getMessageByNonce(nonce) {
|
4955
|
+
const { message } = await this.operations.getMessageByNonce({ nonce });
|
4956
|
+
if (!message) {
|
4957
|
+
return null;
|
4958
|
+
}
|
4959
|
+
return message;
|
4960
|
+
}
|
4897
4961
|
};
|
4898
4962
|
var Provider = _Provider;
|
4899
4963
|
_cacheInputs = new WeakSet();
|
@@ -4902,7 +4966,7 @@ cacheInputs_fn = function(inputs) {
|
|
4902
4966
|
return;
|
4903
4967
|
}
|
4904
4968
|
inputs.forEach((input) => {
|
4905
|
-
if (input.type ===
|
4969
|
+
if (input.type === import_transactions20.InputType.Coin) {
|
4906
4970
|
this.cache?.set(input.id);
|
4907
4971
|
}
|
4908
4972
|
});
|
@@ -4913,7 +4977,7 @@ __publicField(Provider, "nodeInfoCache", {});
|
|
4913
4977
|
// src/providers/transaction-summary/get-transaction-summary.ts
|
4914
4978
|
var import_errors15 = require("@fuel-ts/errors");
|
4915
4979
|
var import_math17 = require("@fuel-ts/math");
|
4916
|
-
var
|
4980
|
+
var import_transactions21 = require("@fuel-ts/transactions");
|
4917
4981
|
var import_utils25 = require("@fuel-ts/utils");
|
4918
4982
|
async function getTransactionSummary(params) {
|
4919
4983
|
const { id, provider, abiMap } = params;
|
@@ -4926,7 +4990,7 @@ async function getTransactionSummary(params) {
|
|
4926
4990
|
`Transaction not found for given id: ${id}.`
|
4927
4991
|
);
|
4928
4992
|
}
|
4929
|
-
const [decodedTransaction] = new
|
4993
|
+
const [decodedTransaction] = new import_transactions21.TransactionCoder().decode(
|
4930
4994
|
(0, import_utils25.arrayify)(gqlTransaction.rawPayload),
|
4931
4995
|
0
|
4932
4996
|
);
|
@@ -4991,7 +5055,7 @@ async function getTransactionsSummaries(params) {
|
|
4991
5055
|
const transactions = edges.map((edge) => {
|
4992
5056
|
const { node: gqlTransaction } = edge;
|
4993
5057
|
const { id, rawPayload, status } = gqlTransaction;
|
4994
|
-
const [decodedTransaction] = new
|
5058
|
+
const [decodedTransaction] = new import_transactions21.TransactionCoder().decode((0, import_utils25.arrayify)(rawPayload), 0);
|
4995
5059
|
let txReceipts = [];
|
4996
5060
|
if (gqlTransaction?.status && "receipts" in gqlTransaction.status) {
|
4997
5061
|
txReceipts = gqlTransaction.status.receipts;
|
@@ -9070,7 +9134,7 @@ var StorageAbstract = class {
|
|
9070
9134
|
var import_abi_coder7 = require("@fuel-ts/abi-coder");
|
9071
9135
|
var import_address10 = require("@fuel-ts/address");
|
9072
9136
|
var import_errors25 = require("@fuel-ts/errors");
|
9073
|
-
var
|
9137
|
+
var import_transactions22 = require("@fuel-ts/transactions");
|
9074
9138
|
var import_utils36 = require("@fuel-ts/utils");
|
9075
9139
|
|
9076
9140
|
// src/predicate/utils/getPredicateRoot.ts
|
@@ -9129,10 +9193,15 @@ var Predicate = class extends Account {
|
|
9129
9193
|
populateTransactionPredicateData(transactionRequestLike) {
|
9130
9194
|
const request = transactionRequestify(transactionRequestLike);
|
9131
9195
|
const { policies } = BaseTransactionRequest.getPolicyMeta(request);
|
9132
|
-
|
9133
|
-
|
9196
|
+
const placeholderIndex = this.getIndexFromPlaceholderWitness(request);
|
9197
|
+
if (placeholderIndex !== -1) {
|
9198
|
+
request.removeWitness(placeholderIndex);
|
9199
|
+
}
|
9200
|
+
request.inputs.filter(isRequestInputResource).forEach((input) => {
|
9201
|
+
if (isRequestInputResourceFromOwner(input, this.address)) {
|
9134
9202
|
input.predicate = (0, import_utils36.hexlify)(this.bytes);
|
9135
9203
|
input.predicateData = (0, import_utils36.hexlify)(this.getPredicateData(policies.length));
|
9204
|
+
input.witnessIndex = 0;
|
9136
9205
|
}
|
9137
9206
|
});
|
9138
9207
|
return request;
|
@@ -9162,7 +9231,7 @@ var Predicate = class extends Account {
|
|
9162
9231
|
return new Uint8Array();
|
9163
9232
|
}
|
9164
9233
|
const mainFn = this.interface?.functions.main;
|
9165
|
-
const paddedCode = new
|
9234
|
+
const paddedCode = new import_transactions22.ByteArrayCoder(this.bytes.length).encode(this.bytes);
|
9166
9235
|
const VM_TX_MEMORY = (0, import_abi_coder7.calculateVmTxMemory)({
|
9167
9236
|
maxInputs: this.provider.getChain().consensusParameters.maxInputs.toNumber()
|
9168
9237
|
});
|
@@ -9255,6 +9324,28 @@ var Predicate = class extends Account {
|
|
9255
9324
|
}
|
9256
9325
|
return mutatedBytes;
|
9257
9326
|
}
|
9327
|
+
/**
|
9328
|
+
* Returns the index of the witness placeholder that was added to this predicate.
|
9329
|
+
* If no witness placeholder was added, it returns -1.
|
9330
|
+
* @param request - The transaction request.
|
9331
|
+
* @returns The index of the witness placeholder, or -1 if there is no witness placeholder.
|
9332
|
+
*/
|
9333
|
+
getIndexFromPlaceholderWitness(request) {
|
9334
|
+
const predicateInputs = request.inputs.filter(isRequestInputResource).filter((input) => isRequestInputResourceFromOwner(input, this.address));
|
9335
|
+
let index = -1;
|
9336
|
+
const hasEmptyPredicateInputs = predicateInputs.find((input) => !input.predicate);
|
9337
|
+
if (hasEmptyPredicateInputs) {
|
9338
|
+
index = hasEmptyPredicateInputs.witnessIndex;
|
9339
|
+
const allInputsAreEmpty = predicateInputs.every((input) => !input.predicate);
|
9340
|
+
if (!allInputsAreEmpty) {
|
9341
|
+
const wasFilledInputAddedFirst = !!predicateInputs[0]?.predicate;
|
9342
|
+
if (wasFilledInputAddedFirst) {
|
9343
|
+
index = -1;
|
9344
|
+
}
|
9345
|
+
}
|
9346
|
+
}
|
9347
|
+
return index;
|
9348
|
+
}
|
9258
9349
|
};
|
9259
9350
|
|
9260
9351
|
// src/connectors/fuel.ts
|
@@ -9978,6 +10069,7 @@ __publicField(Fuel, "defaultConfig", {});
|
|
9978
10069
|
assets,
|
9979
10070
|
buildBlockExplorerUrl,
|
9980
10071
|
cacheFor,
|
10072
|
+
cacheResources,
|
9981
10073
|
cacheTxInputsFromOwner,
|
9982
10074
|
calculateGasFee,
|
9983
10075
|
calculateMetadataGasForTxCreate,
|
@@ -10025,6 +10117,7 @@ __publicField(Fuel, "defaultConfig", {});
|
|
10025
10117
|
getReceiptsMessageOut,
|
10026
10118
|
getReceiptsTransferOut,
|
10027
10119
|
getReceiptsWithMissingData,
|
10120
|
+
getRequestInputResourceOwner,
|
10028
10121
|
getTransactionStatusName,
|
10029
10122
|
getTransactionSummary,
|
10030
10123
|
getTransactionSummaryFromRequest,
|
@@ -10038,6 +10131,10 @@ __publicField(Fuel, "defaultConfig", {});
|
|
10038
10131
|
isMessage,
|
10039
10132
|
isRawCoin,
|
10040
10133
|
isRawMessage,
|
10134
|
+
isRequestInputCoin,
|
10135
|
+
isRequestInputMessage,
|
10136
|
+
isRequestInputResource,
|
10137
|
+
isRequestInputResourceFromOwner,
|
10041
10138
|
isType,
|
10042
10139
|
isTypeCreate,
|
10043
10140
|
isTypeMint,
|