@fuel-ts/account 0.0.0-rc-2152-20240429145747 → 0.0.0-rc-2037-20240430003658
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 +1097 -126
- package/dist/index.global.js.map +1 -1
- package/dist/index.js +241 -128
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +146 -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 +17 -1
- 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/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 +1104 -136
- package/dist/test-utils.global.js.map +1 -1
- package/dist/test-utils.js +228 -125
- package/dist/test-utils.js.map +1 -1
- package/dist/test-utils.mjs +142 -42
- 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,10 +236,11 @@ 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");
|
243
|
+
var import_ethers = require("ethers");
|
237
244
|
var import_graphql_request = require("graphql-request");
|
238
245
|
var import_ramda3 = require("ramda");
|
239
246
|
|
@@ -1008,6 +1015,13 @@ var ProduceBlocksDocument = import_graphql_tag.default`
|
|
1008
1015
|
)
|
1009
1016
|
}
|
1010
1017
|
`;
|
1018
|
+
var GetMessageByNonceDocument = import_graphql_tag.default`
|
1019
|
+
query getMessageByNonce($nonce: Nonce!) {
|
1020
|
+
message(nonce: $nonce) {
|
1021
|
+
...messageFragment
|
1022
|
+
}
|
1023
|
+
}
|
1024
|
+
${MessageFragmentFragmentDoc}`;
|
1011
1025
|
var SubmitAndAwaitDocument = import_graphql_tag.default`
|
1012
1026
|
subscription submitAndAwait($encodedTransaction: HexString!) {
|
1013
1027
|
submitAndAwait(tx: $encodedTransaction) {
|
@@ -1102,6 +1116,9 @@ function getSdk(requester) {
|
|
1102
1116
|
produceBlocks(variables, options) {
|
1103
1117
|
return requester(ProduceBlocksDocument, variables, options);
|
1104
1118
|
},
|
1119
|
+
getMessageByNonce(variables, options) {
|
1120
|
+
return requester(GetMessageByNonceDocument, variables, options);
|
1121
|
+
},
|
1105
1122
|
submitAndAwait(variables, options) {
|
1106
1123
|
return requester(SubmitAndAwaitDocument, variables, options);
|
1107
1124
|
},
|
@@ -1387,7 +1404,7 @@ var import_address = require("@fuel-ts/address");
|
|
1387
1404
|
var import_configs6 = require("@fuel-ts/address/configs");
|
1388
1405
|
var import_crypto = require("@fuel-ts/crypto");
|
1389
1406
|
var import_math7 = require("@fuel-ts/math");
|
1390
|
-
var
|
1407
|
+
var import_transactions7 = require("@fuel-ts/transactions");
|
1391
1408
|
var import_utils9 = require("@fuel-ts/utils");
|
1392
1409
|
|
1393
1410
|
// src/providers/resource.ts
|
@@ -1895,6 +1912,28 @@ var NoWitnessByOwnerError = class extends Error {
|
|
1895
1912
|
name = "NoWitnessByOwnerError";
|
1896
1913
|
};
|
1897
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
|
+
|
1898
1937
|
// src/providers/transaction-request/witness.ts
|
1899
1938
|
var import_utils8 = require("@fuel-ts/utils");
|
1900
1939
|
var witnessify = (value) => {
|
@@ -1947,20 +1986,20 @@ var BaseTransactionRequest = class {
|
|
1947
1986
|
let policyTypes = 0;
|
1948
1987
|
const policies = [];
|
1949
1988
|
if (req.tip) {
|
1950
|
-
policyTypes +=
|
1951
|
-
policies.push({ data: req.tip, type:
|
1989
|
+
policyTypes += import_transactions7.PolicyType.Tip;
|
1990
|
+
policies.push({ data: req.tip, type: import_transactions7.PolicyType.Tip });
|
1952
1991
|
}
|
1953
1992
|
if (req.witnessLimit) {
|
1954
|
-
policyTypes +=
|
1955
|
-
policies.push({ data: req.witnessLimit, type:
|
1993
|
+
policyTypes += import_transactions7.PolicyType.WitnessLimit;
|
1994
|
+
policies.push({ data: req.witnessLimit, type: import_transactions7.PolicyType.WitnessLimit });
|
1956
1995
|
}
|
1957
1996
|
if (req.maturity > 0) {
|
1958
|
-
policyTypes +=
|
1959
|
-
policies.push({ data: req.maturity, type:
|
1997
|
+
policyTypes += import_transactions7.PolicyType.Maturity;
|
1998
|
+
policies.push({ data: req.maturity, type: import_transactions7.PolicyType.Maturity });
|
1960
1999
|
}
|
1961
2000
|
if (req.maxFee) {
|
1962
|
-
policyTypes +=
|
1963
|
-
policies.push({ data: req.maxFee, type:
|
2001
|
+
policyTypes += import_transactions7.PolicyType.MaxFee;
|
2002
|
+
policies.push({ data: req.maxFee, type: import_transactions7.PolicyType.MaxFee });
|
1964
2003
|
}
|
1965
2004
|
return {
|
1966
2005
|
policyTypes,
|
@@ -1994,7 +2033,7 @@ var BaseTransactionRequest = class {
|
|
1994
2033
|
* @returns The transaction bytes.
|
1995
2034
|
*/
|
1996
2035
|
toTransactionBytes() {
|
1997
|
-
return new
|
2036
|
+
return new import_transactions7.TransactionCoder().encode(this.toTransaction());
|
1998
2037
|
}
|
1999
2038
|
/**
|
2000
2039
|
* @hidden
|
@@ -2085,7 +2124,7 @@ var BaseTransactionRequest = class {
|
|
2085
2124
|
*/
|
2086
2125
|
getCoinInputs() {
|
2087
2126
|
return this.inputs.filter(
|
2088
|
-
(input) => input.type ===
|
2127
|
+
(input) => input.type === import_transactions7.InputType.Coin
|
2089
2128
|
);
|
2090
2129
|
}
|
2091
2130
|
/**
|
@@ -2095,7 +2134,7 @@ var BaseTransactionRequest = class {
|
|
2095
2134
|
*/
|
2096
2135
|
getCoinOutputs() {
|
2097
2136
|
return this.outputs.filter(
|
2098
|
-
(output) => output.type ===
|
2137
|
+
(output) => output.type === import_transactions7.OutputType.Coin
|
2099
2138
|
);
|
2100
2139
|
}
|
2101
2140
|
/**
|
@@ -2105,7 +2144,7 @@ var BaseTransactionRequest = class {
|
|
2105
2144
|
*/
|
2106
2145
|
getChangeOutputs() {
|
2107
2146
|
return this.outputs.filter(
|
2108
|
-
(output) => output.type ===
|
2147
|
+
(output) => output.type === import_transactions7.OutputType.Change
|
2109
2148
|
);
|
2110
2149
|
}
|
2111
2150
|
/**
|
@@ -2117,9 +2156,9 @@ var BaseTransactionRequest = class {
|
|
2117
2156
|
const ownerAddress = (0, import_address.addressify)(owner);
|
2118
2157
|
const found = this.inputs.find((input) => {
|
2119
2158
|
switch (input.type) {
|
2120
|
-
case
|
2159
|
+
case import_transactions7.InputType.Coin:
|
2121
2160
|
return (0, import_utils9.hexlify)(input.owner) === ownerAddress.toB256();
|
2122
|
-
case
|
2161
|
+
case import_transactions7.InputType.Message:
|
2123
2162
|
return (0, import_utils9.hexlify)(input.recipient) === ownerAddress.toB256();
|
2124
2163
|
default:
|
2125
2164
|
return false;
|
@@ -2134,7 +2173,7 @@ var BaseTransactionRequest = class {
|
|
2134
2173
|
* @param coin - Coin resource.
|
2135
2174
|
*/
|
2136
2175
|
addCoinInput(coin) {
|
2137
|
-
const { assetId, owner, amount } = coin;
|
2176
|
+
const { assetId, owner, amount, id, predicate } = coin;
|
2138
2177
|
let witnessIndex;
|
2139
2178
|
if (coin.predicate) {
|
2140
2179
|
witnessIndex = 0;
|
@@ -2145,13 +2184,14 @@ var BaseTransactionRequest = class {
|
|
2145
2184
|
}
|
2146
2185
|
}
|
2147
2186
|
const input = {
|
2148
|
-
|
2149
|
-
type:
|
2187
|
+
id,
|
2188
|
+
type: import_transactions7.InputType.Coin,
|
2150
2189
|
owner: owner.toB256(),
|
2151
2190
|
amount,
|
2152
2191
|
assetId,
|
2153
2192
|
txPointer: "0x00000000000000000000000000000000",
|
2154
|
-
witnessIndex
|
2193
|
+
witnessIndex,
|
2194
|
+
predicate
|
2155
2195
|
};
|
2156
2196
|
this.pushInput(input);
|
2157
2197
|
this.addChangeOutput(owner, assetId);
|
@@ -2163,7 +2203,7 @@ var BaseTransactionRequest = class {
|
|
2163
2203
|
* @param message - Message resource.
|
2164
2204
|
*/
|
2165
2205
|
addMessageInput(message) {
|
2166
|
-
const { recipient, sender, amount, assetId } = message;
|
2206
|
+
const { recipient, sender, amount, predicate, nonce, assetId } = message;
|
2167
2207
|
let witnessIndex;
|
2168
2208
|
if (message.predicate) {
|
2169
2209
|
witnessIndex = 0;
|
@@ -2174,12 +2214,13 @@ var BaseTransactionRequest = class {
|
|
2174
2214
|
}
|
2175
2215
|
}
|
2176
2216
|
const input = {
|
2177
|
-
|
2178
|
-
type:
|
2217
|
+
nonce,
|
2218
|
+
type: import_transactions7.InputType.Message,
|
2179
2219
|
sender: sender.toB256(),
|
2180
2220
|
recipient: recipient.toB256(),
|
2181
2221
|
amount,
|
2182
|
-
witnessIndex
|
2222
|
+
witnessIndex,
|
2223
|
+
predicate
|
2183
2224
|
};
|
2184
2225
|
this.pushInput(input);
|
2185
2226
|
this.addChangeOutput(recipient, assetId);
|
@@ -2219,7 +2260,7 @@ var BaseTransactionRequest = class {
|
|
2219
2260
|
*/
|
2220
2261
|
addCoinOutput(to, amount, assetId) {
|
2221
2262
|
this.pushOutput({
|
2222
|
-
type:
|
2263
|
+
type: import_transactions7.OutputType.Coin,
|
2223
2264
|
to: (0, import_address.addressify)(to).toB256(),
|
2224
2265
|
amount,
|
2225
2266
|
assetId
|
@@ -2235,7 +2276,7 @@ var BaseTransactionRequest = class {
|
|
2235
2276
|
addCoinOutputs(to, quantities) {
|
2236
2277
|
quantities.map(coinQuantityfy).forEach((quantity) => {
|
2237
2278
|
this.pushOutput({
|
2238
|
-
type:
|
2279
|
+
type: import_transactions7.OutputType.Coin,
|
2239
2280
|
to: (0, import_address.addressify)(to).toB256(),
|
2240
2281
|
amount: quantity.amount,
|
2241
2282
|
assetId: quantity.assetId
|
@@ -2255,7 +2296,7 @@ var BaseTransactionRequest = class {
|
|
2255
2296
|
);
|
2256
2297
|
if (!changeOutput) {
|
2257
2298
|
this.pushOutput({
|
2258
|
-
type:
|
2299
|
+
type: import_transactions7.OutputType.Change,
|
2259
2300
|
to: (0, import_address.addressify)(to).toB256(),
|
2260
2301
|
assetId
|
2261
2302
|
});
|
@@ -2363,16 +2404,27 @@ var BaseTransactionRequest = class {
|
|
2363
2404
|
toJSON() {
|
2364
2405
|
return normalizeJSON(this);
|
2365
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
|
+
}
|
2366
2418
|
updatePredicateGasUsed(inputs) {
|
2367
2419
|
this.inputs.forEach((i) => {
|
2368
2420
|
let correspondingInput;
|
2369
2421
|
switch (i.type) {
|
2370
|
-
case
|
2371
|
-
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);
|
2372
2424
|
break;
|
2373
|
-
case
|
2425
|
+
case import_transactions7.InputType.Message:
|
2374
2426
|
correspondingInput = inputs.find(
|
2375
|
-
(x) => x.type ===
|
2427
|
+
(x) => x.type === import_transactions7.InputType.Message && x.sender === i.sender
|
2376
2428
|
);
|
2377
2429
|
break;
|
2378
2430
|
default:
|
@@ -2399,25 +2451,25 @@ var BaseTransactionRequest = class {
|
|
2399
2451
|
// src/providers/transaction-request/create-transaction-request.ts
|
2400
2452
|
var import_configs8 = require("@fuel-ts/address/configs");
|
2401
2453
|
var import_math9 = require("@fuel-ts/math");
|
2402
|
-
var
|
2454
|
+
var import_transactions9 = require("@fuel-ts/transactions");
|
2403
2455
|
var import_utils13 = require("@fuel-ts/utils");
|
2404
2456
|
|
2405
2457
|
// src/providers/transaction-request/hash-transaction.ts
|
2406
2458
|
var import_configs7 = require("@fuel-ts/address/configs");
|
2407
2459
|
var import_hasher = require("@fuel-ts/hasher");
|
2408
2460
|
var import_math8 = require("@fuel-ts/math");
|
2409
|
-
var
|
2461
|
+
var import_transactions8 = require("@fuel-ts/transactions");
|
2410
2462
|
var import_utils11 = require("@fuel-ts/utils");
|
2411
2463
|
var import_ramda2 = require("ramda");
|
2412
2464
|
function hashTransaction(transactionRequest, chainId) {
|
2413
2465
|
const transaction = transactionRequest.toTransaction();
|
2414
|
-
if (transaction.type ===
|
2466
|
+
if (transaction.type === import_transactions8.TransactionType.Script) {
|
2415
2467
|
transaction.receiptsRoot = import_configs7.ZeroBytes32;
|
2416
2468
|
}
|
2417
2469
|
transaction.inputs = transaction.inputs.map((input) => {
|
2418
2470
|
const inputClone = (0, import_ramda2.clone)(input);
|
2419
2471
|
switch (inputClone.type) {
|
2420
|
-
case
|
2472
|
+
case import_transactions8.InputType.Coin: {
|
2421
2473
|
inputClone.txPointer = {
|
2422
2474
|
blockHeight: 0,
|
2423
2475
|
txIndex: 0
|
@@ -2425,11 +2477,11 @@ function hashTransaction(transactionRequest, chainId) {
|
|
2425
2477
|
inputClone.predicateGasUsed = (0, import_math8.bn)(0);
|
2426
2478
|
return inputClone;
|
2427
2479
|
}
|
2428
|
-
case
|
2480
|
+
case import_transactions8.InputType.Message: {
|
2429
2481
|
inputClone.predicateGasUsed = (0, import_math8.bn)(0);
|
2430
2482
|
return inputClone;
|
2431
2483
|
}
|
2432
|
-
case
|
2484
|
+
case import_transactions8.InputType.Contract: {
|
2433
2485
|
inputClone.txPointer = {
|
2434
2486
|
blockHeight: 0,
|
2435
2487
|
txIndex: 0
|
@@ -2447,16 +2499,16 @@ function hashTransaction(transactionRequest, chainId) {
|
|
2447
2499
|
transaction.outputs = transaction.outputs.map((output) => {
|
2448
2500
|
const outputClone = (0, import_ramda2.clone)(output);
|
2449
2501
|
switch (outputClone.type) {
|
2450
|
-
case
|
2502
|
+
case import_transactions8.OutputType.Contract: {
|
2451
2503
|
outputClone.balanceRoot = import_configs7.ZeroBytes32;
|
2452
2504
|
outputClone.stateRoot = import_configs7.ZeroBytes32;
|
2453
2505
|
return outputClone;
|
2454
2506
|
}
|
2455
|
-
case
|
2507
|
+
case import_transactions8.OutputType.Change: {
|
2456
2508
|
outputClone.amount = (0, import_math8.bn)(0);
|
2457
2509
|
return outputClone;
|
2458
2510
|
}
|
2459
|
-
case
|
2511
|
+
case import_transactions8.OutputType.Variable: {
|
2460
2512
|
outputClone.to = import_configs7.ZeroBytes32;
|
2461
2513
|
outputClone.amount = (0, import_math8.bn)(0);
|
2462
2514
|
outputClone.assetId = import_configs7.ZeroBytes32;
|
@@ -2469,7 +2521,7 @@ function hashTransaction(transactionRequest, chainId) {
|
|
2469
2521
|
transaction.witnessesCount = 0;
|
2470
2522
|
transaction.witnesses = [];
|
2471
2523
|
const chainIdBytes = (0, import_hasher.uint64ToBytesBE)(chainId);
|
2472
|
-
const concatenatedData = (0, import_utils11.concat)([chainIdBytes, new
|
2524
|
+
const concatenatedData = (0, import_utils11.concat)([chainIdBytes, new import_transactions8.TransactionCoder().encode(transaction)]);
|
2473
2525
|
return (0, import_hasher.sha256)(concatenatedData);
|
2474
2526
|
}
|
2475
2527
|
|
@@ -2505,7 +2557,7 @@ var CreateTransactionRequest = class extends BaseTransactionRequest {
|
|
2505
2557
|
return new this(obj);
|
2506
2558
|
}
|
2507
2559
|
/** Type of the transaction */
|
2508
|
-
type =
|
2560
|
+
type = import_transactions9.TransactionType.Create;
|
2509
2561
|
/** Witness index of contract bytecode to create */
|
2510
2562
|
bytecodeWitnessIndex;
|
2511
2563
|
/** Salt */
|
@@ -2533,7 +2585,7 @@ var CreateTransactionRequest = class extends BaseTransactionRequest {
|
|
2533
2585
|
const bytecodeWitnessIndex = this.bytecodeWitnessIndex;
|
2534
2586
|
const storageSlots = this.storageSlots?.map(storageSlotify) ?? [];
|
2535
2587
|
return {
|
2536
|
-
type:
|
2588
|
+
type: import_transactions9.TransactionType.Create,
|
2537
2589
|
...baseTransaction,
|
2538
2590
|
bytecodeWitnessIndex,
|
2539
2591
|
storageSlotsCount: (0, import_math9.bn)(storageSlots.length),
|
@@ -2548,7 +2600,7 @@ var CreateTransactionRequest = class extends BaseTransactionRequest {
|
|
2548
2600
|
*/
|
2549
2601
|
getContractCreatedOutputs() {
|
2550
2602
|
return this.outputs.filter(
|
2551
|
-
(output) => output.type ===
|
2603
|
+
(output) => output.type === import_transactions9.OutputType.ContractCreated
|
2552
2604
|
);
|
2553
2605
|
}
|
2554
2606
|
/**
|
@@ -2569,7 +2621,7 @@ var CreateTransactionRequest = class extends BaseTransactionRequest {
|
|
2569
2621
|
*/
|
2570
2622
|
addContractCreatedOutput(contractId, stateRoot) {
|
2571
2623
|
this.pushOutput({
|
2572
|
-
type:
|
2624
|
+
type: import_transactions9.OutputType.ContractCreated,
|
2573
2625
|
contractId,
|
2574
2626
|
stateRoot
|
2575
2627
|
});
|
@@ -2589,7 +2641,7 @@ var import_abi_coder3 = require("@fuel-ts/abi-coder");
|
|
2589
2641
|
var import_address2 = require("@fuel-ts/address");
|
2590
2642
|
var import_configs9 = require("@fuel-ts/address/configs");
|
2591
2643
|
var import_math10 = require("@fuel-ts/math");
|
2592
|
-
var
|
2644
|
+
var import_transactions10 = require("@fuel-ts/transactions");
|
2593
2645
|
var import_utils15 = require("@fuel-ts/utils");
|
2594
2646
|
|
2595
2647
|
// src/providers/transaction-request/scripts.ts
|
@@ -2627,7 +2679,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
|
|
2627
2679
|
return new this(obj);
|
2628
2680
|
}
|
2629
2681
|
/** Type of the transaction */
|
2630
|
-
type =
|
2682
|
+
type = import_transactions10.TransactionType.Script;
|
2631
2683
|
/** Gas limit for transaction */
|
2632
2684
|
gasLimit;
|
2633
2685
|
/** Script to execute */
|
@@ -2656,7 +2708,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
|
|
2656
2708
|
const script = (0, import_utils15.arrayify)(this.script ?? "0x");
|
2657
2709
|
const scriptData = (0, import_utils15.arrayify)(this.scriptData ?? "0x");
|
2658
2710
|
return {
|
2659
|
-
type:
|
2711
|
+
type: import_transactions10.TransactionType.Script,
|
2660
2712
|
scriptGasLimit: this.gasLimit,
|
2661
2713
|
...super.getBaseTransaction(),
|
2662
2714
|
scriptLength: (0, import_math10.bn)(script.length),
|
@@ -2673,7 +2725,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
|
|
2673
2725
|
*/
|
2674
2726
|
getContractInputs() {
|
2675
2727
|
return this.inputs.filter(
|
2676
|
-
(input) => input.type ===
|
2728
|
+
(input) => input.type === import_transactions10.InputType.Contract
|
2677
2729
|
);
|
2678
2730
|
}
|
2679
2731
|
/**
|
@@ -2683,7 +2735,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
|
|
2683
2735
|
*/
|
2684
2736
|
getContractOutputs() {
|
2685
2737
|
return this.outputs.filter(
|
2686
|
-
(output) => output.type ===
|
2738
|
+
(output) => output.type === import_transactions10.OutputType.Contract
|
2687
2739
|
);
|
2688
2740
|
}
|
2689
2741
|
/**
|
@@ -2693,7 +2745,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
|
|
2693
2745
|
*/
|
2694
2746
|
getVariableOutputs() {
|
2695
2747
|
return this.outputs.filter(
|
2696
|
-
(output) => output.type ===
|
2748
|
+
(output) => output.type === import_transactions10.OutputType.Variable
|
2697
2749
|
);
|
2698
2750
|
}
|
2699
2751
|
/**
|
@@ -2716,7 +2768,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
|
|
2716
2768
|
let outputsNumber = numberOfVariables;
|
2717
2769
|
while (outputsNumber) {
|
2718
2770
|
this.pushOutput({
|
2719
|
-
type:
|
2771
|
+
type: import_transactions10.OutputType.Variable
|
2720
2772
|
});
|
2721
2773
|
outputsNumber -= 1;
|
2722
2774
|
}
|
@@ -2750,12 +2802,12 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
|
|
2750
2802
|
return this;
|
2751
2803
|
}
|
2752
2804
|
const inputIndex = super.pushInput({
|
2753
|
-
type:
|
2805
|
+
type: import_transactions10.InputType.Contract,
|
2754
2806
|
contractId: contractAddress.toB256(),
|
2755
2807
|
txPointer: "0x00000000000000000000000000000000"
|
2756
2808
|
});
|
2757
2809
|
this.pushOutput({
|
2758
|
-
type:
|
2810
|
+
type: import_transactions10.OutputType.Contract,
|
2759
2811
|
inputIndex
|
2760
2812
|
});
|
2761
2813
|
return this;
|
@@ -2792,17 +2844,17 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
|
|
2792
2844
|
|
2793
2845
|
// src/providers/transaction-request/utils.ts
|
2794
2846
|
var import_errors9 = require("@fuel-ts/errors");
|
2795
|
-
var
|
2847
|
+
var import_transactions11 = require("@fuel-ts/transactions");
|
2796
2848
|
var transactionRequestify = (obj) => {
|
2797
2849
|
if (obj instanceof ScriptTransactionRequest || obj instanceof CreateTransactionRequest) {
|
2798
2850
|
return obj;
|
2799
2851
|
}
|
2800
2852
|
const { type } = obj;
|
2801
2853
|
switch (obj.type) {
|
2802
|
-
case
|
2854
|
+
case import_transactions11.TransactionType.Script: {
|
2803
2855
|
return ScriptTransactionRequest.from(obj);
|
2804
2856
|
}
|
2805
|
-
case
|
2857
|
+
case import_transactions11.TransactionType.Create: {
|
2806
2858
|
return CreateTransactionRequest.from(obj);
|
2807
2859
|
}
|
2808
2860
|
default: {
|
@@ -2812,10 +2864,10 @@ var transactionRequestify = (obj) => {
|
|
2812
2864
|
};
|
2813
2865
|
var cacheTxInputsFromOwner = (inputs, owner) => inputs.reduce(
|
2814
2866
|
(acc, input) => {
|
2815
|
-
if (input.type ===
|
2867
|
+
if (input.type === import_transactions11.InputType.Coin && input.owner === owner) {
|
2816
2868
|
acc.utxos.push(input.id);
|
2817
2869
|
}
|
2818
|
-
if (input.type ===
|
2870
|
+
if (input.type === import_transactions11.InputType.Message && input.recipient === owner) {
|
2819
2871
|
acc.messages.push(input.nonce);
|
2820
2872
|
}
|
2821
2873
|
return acc;
|
@@ -2829,17 +2881,17 @@ var cacheTxInputsFromOwner = (inputs, owner) => inputs.reduce(
|
|
2829
2881
|
// src/providers/transaction-response/transaction-response.ts
|
2830
2882
|
var import_errors13 = require("@fuel-ts/errors");
|
2831
2883
|
var import_math15 = require("@fuel-ts/math");
|
2832
|
-
var
|
2884
|
+
var import_transactions19 = require("@fuel-ts/transactions");
|
2833
2885
|
var import_utils20 = require("@fuel-ts/utils");
|
2834
2886
|
|
2835
2887
|
// src/providers/transaction-summary/assemble-transaction-summary.ts
|
2836
2888
|
var import_math14 = require("@fuel-ts/math");
|
2837
|
-
var
|
2889
|
+
var import_transactions17 = require("@fuel-ts/transactions");
|
2838
2890
|
var import_utils18 = require("@fuel-ts/utils");
|
2839
2891
|
|
2840
2892
|
// src/providers/transaction-summary/calculate-transaction-fee.ts
|
2841
2893
|
var import_math11 = require("@fuel-ts/math");
|
2842
|
-
var
|
2894
|
+
var import_transactions12 = require("@fuel-ts/transactions");
|
2843
2895
|
var import_utils16 = require("@fuel-ts/utils");
|
2844
2896
|
var calculateTransactionFee = (params) => {
|
2845
2897
|
const {
|
@@ -2851,8 +2903,8 @@ var calculateTransactionFee = (params) => {
|
|
2851
2903
|
const gasPerByte = (0, import_math11.bn)(feeParams.gasPerByte);
|
2852
2904
|
const gasPriceFactor = (0, import_math11.bn)(feeParams.gasPriceFactor);
|
2853
2905
|
const transactionBytes = (0, import_utils16.arrayify)(rawPayload);
|
2854
|
-
const [transaction] = new
|
2855
|
-
if (transaction.type ===
|
2906
|
+
const [transaction] = new import_transactions12.TransactionCoder().decode(transactionBytes, 0);
|
2907
|
+
if (transaction.type === import_transactions12.TransactionType.Mint) {
|
2856
2908
|
return {
|
2857
2909
|
fee: (0, import_math11.bn)(0),
|
2858
2910
|
minFee: (0, import_math11.bn)(0),
|
@@ -2862,7 +2914,7 @@ var calculateTransactionFee = (params) => {
|
|
2862
2914
|
const { type, witnesses, inputs, policies } = transaction;
|
2863
2915
|
let metadataGas = (0, import_math11.bn)(0);
|
2864
2916
|
let gasLimit = (0, import_math11.bn)(0);
|
2865
|
-
if (type ===
|
2917
|
+
if (type === import_transactions12.TransactionType.Create) {
|
2866
2918
|
const { bytecodeWitnessIndex, storageSlots } = transaction;
|
2867
2919
|
const contractBytesSize = (0, import_math11.bn)((0, import_utils16.arrayify)(witnesses[bytecodeWitnessIndex].data).length);
|
2868
2920
|
metadataGas = calculateMetadataGasForTxCreate({
|
@@ -2888,7 +2940,7 @@ var calculateTransactionFee = (params) => {
|
|
2888
2940
|
metadataGas,
|
2889
2941
|
txBytesSize: transactionBytes.length
|
2890
2942
|
});
|
2891
|
-
const witnessLimit = policies.find((policy) => policy.type ===
|
2943
|
+
const witnessLimit = policies.find((policy) => policy.type === import_transactions12.PolicyType.WitnessLimit)?.data;
|
2892
2944
|
const witnessesLength = witnesses.reduce((acc, wit) => acc + wit.dataLength, 0);
|
2893
2945
|
const maxGas = getMaxGas({
|
2894
2946
|
gasPerByte,
|
@@ -2921,7 +2973,7 @@ var calculateTransactionFee = (params) => {
|
|
2921
2973
|
var import_configs10 = require("@fuel-ts/address/configs");
|
2922
2974
|
var import_errors11 = require("@fuel-ts/errors");
|
2923
2975
|
var import_math13 = require("@fuel-ts/math");
|
2924
|
-
var
|
2976
|
+
var import_transactions15 = require("@fuel-ts/transactions");
|
2925
2977
|
|
2926
2978
|
// src/providers/transaction-summary/call.ts
|
2927
2979
|
var import_abi_coder4 = require("@fuel-ts/abi-coder");
|
@@ -2969,7 +3021,7 @@ var getFunctionCall = ({ abi, receipt, rawPayload, maxInputs }) => {
|
|
2969
3021
|
|
2970
3022
|
// src/providers/transaction-summary/input.ts
|
2971
3023
|
var import_errors10 = require("@fuel-ts/errors");
|
2972
|
-
var
|
3024
|
+
var import_transactions13 = require("@fuel-ts/transactions");
|
2973
3025
|
function getInputsByTypes(inputs, types) {
|
2974
3026
|
return inputs.filter((i) => types.includes(i.type));
|
2975
3027
|
}
|
@@ -2977,16 +3029,16 @@ function getInputsByType(inputs, type) {
|
|
2977
3029
|
return inputs.filter((i) => i.type === type);
|
2978
3030
|
}
|
2979
3031
|
function getInputsCoin(inputs) {
|
2980
|
-
return getInputsByType(inputs,
|
3032
|
+
return getInputsByType(inputs, import_transactions13.InputType.Coin);
|
2981
3033
|
}
|
2982
3034
|
function getInputsMessage(inputs) {
|
2983
|
-
return getInputsByType(inputs,
|
3035
|
+
return getInputsByType(inputs, import_transactions13.InputType.Message);
|
2984
3036
|
}
|
2985
3037
|
function getInputsCoinAndMessage(inputs) {
|
2986
|
-
return getInputsByTypes(inputs, [
|
3038
|
+
return getInputsByTypes(inputs, [import_transactions13.InputType.Coin, import_transactions13.InputType.Message]);
|
2987
3039
|
}
|
2988
3040
|
function getInputsContract(inputs) {
|
2989
|
-
return getInputsByType(inputs,
|
3041
|
+
return getInputsByType(inputs, import_transactions13.InputType.Contract);
|
2990
3042
|
}
|
2991
3043
|
function getInputFromAssetId(inputs, assetId) {
|
2992
3044
|
const coinInputs = getInputsCoin(inputs);
|
@@ -3005,7 +3057,7 @@ function getInputContractFromIndex(inputs, inputIndex) {
|
|
3005
3057
|
if (!contractInput) {
|
3006
3058
|
return void 0;
|
3007
3059
|
}
|
3008
|
-
if (contractInput.type !==
|
3060
|
+
if (contractInput.type !== import_transactions13.InputType.Contract) {
|
3009
3061
|
throw new import_errors10.FuelError(
|
3010
3062
|
import_errors10.ErrorCode.INVALID_TRANSACTION_INPUT,
|
3011
3063
|
`Contract input should be of type 'contract'.`
|
@@ -3014,34 +3066,34 @@ function getInputContractFromIndex(inputs, inputIndex) {
|
|
3014
3066
|
return contractInput;
|
3015
3067
|
}
|
3016
3068
|
function getInputAccountAddress(input) {
|
3017
|
-
if (input.type ===
|
3069
|
+
if (input.type === import_transactions13.InputType.Coin) {
|
3018
3070
|
return input.owner.toString();
|
3019
3071
|
}
|
3020
|
-
if (input.type ===
|
3072
|
+
if (input.type === import_transactions13.InputType.Message) {
|
3021
3073
|
return input.recipient.toString();
|
3022
3074
|
}
|
3023
3075
|
return "";
|
3024
3076
|
}
|
3025
3077
|
|
3026
3078
|
// src/providers/transaction-summary/output.ts
|
3027
|
-
var
|
3079
|
+
var import_transactions14 = require("@fuel-ts/transactions");
|
3028
3080
|
function getOutputsByType(outputs, type) {
|
3029
3081
|
return outputs.filter((o) => o.type === type);
|
3030
3082
|
}
|
3031
3083
|
function getOutputsContractCreated(outputs) {
|
3032
|
-
return getOutputsByType(outputs,
|
3084
|
+
return getOutputsByType(outputs, import_transactions14.OutputType.ContractCreated);
|
3033
3085
|
}
|
3034
3086
|
function getOutputsCoin(outputs) {
|
3035
|
-
return getOutputsByType(outputs,
|
3087
|
+
return getOutputsByType(outputs, import_transactions14.OutputType.Coin);
|
3036
3088
|
}
|
3037
3089
|
function getOutputsChange(outputs) {
|
3038
|
-
return getOutputsByType(outputs,
|
3090
|
+
return getOutputsByType(outputs, import_transactions14.OutputType.Change);
|
3039
3091
|
}
|
3040
3092
|
function getOutputsContract(outputs) {
|
3041
|
-
return getOutputsByType(outputs,
|
3093
|
+
return getOutputsByType(outputs, import_transactions14.OutputType.Contract);
|
3042
3094
|
}
|
3043
3095
|
function getOutputsVariable(outputs) {
|
3044
|
-
return getOutputsByType(outputs,
|
3096
|
+
return getOutputsByType(outputs, import_transactions14.OutputType.Variable);
|
3045
3097
|
}
|
3046
3098
|
|
3047
3099
|
// src/providers/transaction-summary/types.ts
|
@@ -3088,11 +3140,11 @@ function getReceiptsByType(receipts, type) {
|
|
3088
3140
|
}
|
3089
3141
|
function getTransactionTypeName(transactionType) {
|
3090
3142
|
switch (transactionType) {
|
3091
|
-
case
|
3143
|
+
case import_transactions15.TransactionType.Mint:
|
3092
3144
|
return "Mint" /* Mint */;
|
3093
|
-
case
|
3145
|
+
case import_transactions15.TransactionType.Create:
|
3094
3146
|
return "Create" /* Create */;
|
3095
|
-
case
|
3147
|
+
case import_transactions15.TransactionType.Script:
|
3096
3148
|
return "Script" /* Script */;
|
3097
3149
|
default:
|
3098
3150
|
throw new import_errors11.FuelError(
|
@@ -3118,10 +3170,10 @@ function hasSameAssetId(a) {
|
|
3118
3170
|
return (b) => a.assetId === b.assetId;
|
3119
3171
|
}
|
3120
3172
|
function getReceiptsCall(receipts) {
|
3121
|
-
return getReceiptsByType(receipts,
|
3173
|
+
return getReceiptsByType(receipts, import_transactions15.ReceiptType.Call);
|
3122
3174
|
}
|
3123
3175
|
function getReceiptsMessageOut(receipts) {
|
3124
|
-
return getReceiptsByType(receipts,
|
3176
|
+
return getReceiptsByType(receipts, import_transactions15.ReceiptType.MessageOut);
|
3125
3177
|
}
|
3126
3178
|
var mergeAssets = (op1, op2) => {
|
3127
3179
|
const assets1 = op1.assetsSent || [];
|
@@ -3160,7 +3212,7 @@ function addOperation(operations, toAdd) {
|
|
3160
3212
|
return allOperations;
|
3161
3213
|
}
|
3162
3214
|
function getReceiptsTransferOut(receipts) {
|
3163
|
-
return getReceiptsByType(receipts,
|
3215
|
+
return getReceiptsByType(receipts, import_transactions15.ReceiptType.TransferOut);
|
3164
3216
|
}
|
3165
3217
|
function getWithdrawFromFuelOperations({
|
3166
3218
|
inputs,
|
@@ -3320,11 +3372,11 @@ function getTransferOperations({
|
|
3320
3372
|
});
|
3321
3373
|
const transferReceipts = getReceiptsByType(
|
3322
3374
|
receipts,
|
3323
|
-
|
3375
|
+
import_transactions15.ReceiptType.Transfer
|
3324
3376
|
);
|
3325
3377
|
const transferOutReceipts = getReceiptsByType(
|
3326
3378
|
receipts,
|
3327
|
-
|
3379
|
+
import_transactions15.ReceiptType.TransferOut
|
3328
3380
|
);
|
3329
3381
|
[...transferReceipts, ...transferOutReceipts].forEach((receipt) => {
|
3330
3382
|
const operation = extractTransferOperationFromReceipt(receipt, contractInputs, changeOutputs);
|
@@ -3409,17 +3461,17 @@ function getOperations({
|
|
3409
3461
|
}
|
3410
3462
|
|
3411
3463
|
// src/providers/transaction-summary/receipt.ts
|
3412
|
-
var
|
3464
|
+
var import_transactions16 = require("@fuel-ts/transactions");
|
3413
3465
|
var processGqlReceipt = (gqlReceipt) => {
|
3414
3466
|
const receipt = assembleReceiptByType(gqlReceipt);
|
3415
3467
|
switch (receipt.type) {
|
3416
|
-
case
|
3468
|
+
case import_transactions16.ReceiptType.ReturnData: {
|
3417
3469
|
return {
|
3418
3470
|
...receipt,
|
3419
3471
|
data: gqlReceipt.data || "0x"
|
3420
3472
|
};
|
3421
3473
|
}
|
3422
|
-
case
|
3474
|
+
case import_transactions16.ReceiptType.LogData: {
|
3423
3475
|
return {
|
3424
3476
|
...receipt,
|
3425
3477
|
data: gqlReceipt.data || "0x"
|
@@ -3432,7 +3484,7 @@ var processGqlReceipt = (gqlReceipt) => {
|
|
3432
3484
|
var extractMintedAssetsFromReceipts = (receipts) => {
|
3433
3485
|
const mintedAssets = [];
|
3434
3486
|
receipts.forEach((receipt) => {
|
3435
|
-
if (receipt.type ===
|
3487
|
+
if (receipt.type === import_transactions16.ReceiptType.Mint) {
|
3436
3488
|
mintedAssets.push({
|
3437
3489
|
subId: receipt.subId,
|
3438
3490
|
contractId: receipt.contractId,
|
@@ -3446,7 +3498,7 @@ var extractMintedAssetsFromReceipts = (receipts) => {
|
|
3446
3498
|
var extractBurnedAssetsFromReceipts = (receipts) => {
|
3447
3499
|
const burnedAssets = [];
|
3448
3500
|
receipts.forEach((receipt) => {
|
3449
|
-
if (receipt.type ===
|
3501
|
+
if (receipt.type === import_transactions16.ReceiptType.Burn) {
|
3450
3502
|
burnedAssets.push({
|
3451
3503
|
subId: receipt.subId,
|
3452
3504
|
contractId: receipt.contractId,
|
@@ -3543,7 +3595,7 @@ function assembleTransactionSummary(params) {
|
|
3543
3595
|
maxInputs
|
3544
3596
|
});
|
3545
3597
|
const typeName = getTransactionTypeName(transaction.type);
|
3546
|
-
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);
|
3547
3599
|
const { fee } = calculateTransactionFee({
|
3548
3600
|
gasPrice,
|
3549
3601
|
rawPayload,
|
@@ -3590,12 +3642,12 @@ function assembleTransactionSummary(params) {
|
|
3590
3642
|
|
3591
3643
|
// src/providers/transaction-response/getDecodedLogs.ts
|
3592
3644
|
var import_abi_coder5 = require("@fuel-ts/abi-coder");
|
3593
|
-
var
|
3645
|
+
var import_transactions18 = require("@fuel-ts/transactions");
|
3594
3646
|
function getDecodedLogs(receipts, mainAbi, externalAbis = {}) {
|
3595
3647
|
return receipts.reduce((logs, receipt) => {
|
3596
|
-
if (receipt.type ===
|
3648
|
+
if (receipt.type === import_transactions18.ReceiptType.LogData || receipt.type === import_transactions18.ReceiptType.Log) {
|
3597
3649
|
const interfaceToUse = new import_abi_coder5.Interface(externalAbis[receipt.id] || mainAbi);
|
3598
|
-
const data = receipt.type ===
|
3650
|
+
const data = receipt.type === import_transactions18.ReceiptType.Log ? new import_abi_coder5.BigNumberCoder("u64").encode(receipt.val0) : receipt.data;
|
3599
3651
|
const [decodedLog] = interfaceToUse.decodeLog(data, receipt.val1.toNumber());
|
3600
3652
|
logs.push(decodedLog);
|
3601
3653
|
}
|
@@ -3668,7 +3720,7 @@ var TransactionResponse = class {
|
|
3668
3720
|
* @returns The decoded transaction.
|
3669
3721
|
*/
|
3670
3722
|
decodeTransaction(transactionWithReceipts) {
|
3671
|
-
return new
|
3723
|
+
return new import_transactions19.TransactionCoder().decode(
|
3672
3724
|
(0, import_utils20.arrayify)(transactionWithReceipts.rawPayload),
|
3673
3725
|
0
|
3674
3726
|
)?.[0];
|
@@ -4028,6 +4080,21 @@ var _Provider = class {
|
|
4028
4080
|
} = await this.operations.getVersion();
|
4029
4081
|
return nodeVersion;
|
4030
4082
|
}
|
4083
|
+
/**
|
4084
|
+
* @hidden
|
4085
|
+
*
|
4086
|
+
* Returns the network configuration of the connected Fuel node.
|
4087
|
+
*
|
4088
|
+
* @returns A promise that resolves to the network configuration object
|
4089
|
+
*/
|
4090
|
+
async getNetwork() {
|
4091
|
+
const {
|
4092
|
+
name,
|
4093
|
+
consensusParameters: { chainId }
|
4094
|
+
} = await this.getChain();
|
4095
|
+
const network = new import_ethers.Network(name, chainId.toNumber());
|
4096
|
+
return Promise.resolve(network);
|
4097
|
+
}
|
4031
4098
|
/**
|
4032
4099
|
* Returns the block number.
|
4033
4100
|
*
|
@@ -4104,7 +4171,7 @@ var _Provider = class {
|
|
4104
4171
|
}
|
4105
4172
|
const encodedTransaction = (0, import_utils22.hexlify)(transactionRequest.toTransactionBytes());
|
4106
4173
|
let abis;
|
4107
|
-
if (transactionRequest.type ===
|
4174
|
+
if (transactionRequest.type === import_transactions20.TransactionType.Script) {
|
4108
4175
|
abis = transactionRequest.abis;
|
4109
4176
|
}
|
4110
4177
|
if (awaitExecution) {
|
@@ -4196,7 +4263,7 @@ var _Provider = class {
|
|
4196
4263
|
* @returns A promise.
|
4197
4264
|
*/
|
4198
4265
|
async estimateTxDependencies(transactionRequest) {
|
4199
|
-
if (transactionRequest.type ===
|
4266
|
+
if (transactionRequest.type === import_transactions20.TransactionType.Create) {
|
4200
4267
|
return {
|
4201
4268
|
receipts: [],
|
4202
4269
|
outputVariables: 0,
|
@@ -4260,7 +4327,7 @@ var _Provider = class {
|
|
4260
4327
|
const allRequests = (0, import_ramda3.clone)(transactionRequests);
|
4261
4328
|
const serializedTransactionsMap = /* @__PURE__ */ new Map();
|
4262
4329
|
allRequests.forEach((req, index) => {
|
4263
|
-
if (req.type ===
|
4330
|
+
if (req.type === import_transactions20.TransactionType.Script) {
|
4264
4331
|
serializedTransactionsMap.set(index, (0, import_utils22.hexlify)(req.toTransactionBytes()));
|
4265
4332
|
}
|
4266
4333
|
});
|
@@ -4286,7 +4353,7 @@ var _Provider = class {
|
|
4286
4353
|
);
|
4287
4354
|
const hasMissingOutputs = missingOutputVariables.length > 0 || missingOutputContractIds.length > 0;
|
4288
4355
|
const request = allRequests[requestIdx];
|
4289
|
-
if (hasMissingOutputs && request?.type ===
|
4356
|
+
if (hasMissingOutputs && request?.type === import_transactions20.TransactionType.Script) {
|
4290
4357
|
result.outputVariables += missingOutputVariables.length;
|
4291
4358
|
request.addVariableOutputs(missingOutputVariables.length);
|
4292
4359
|
missingOutputContractIds.forEach(({ contractId }) => {
|
@@ -4342,7 +4409,7 @@ var _Provider = class {
|
|
4342
4409
|
tip: transactionRequest.tip
|
4343
4410
|
}).add(1);
|
4344
4411
|
let gasLimit = (0, import_math16.bn)(0);
|
4345
|
-
if (transactionRequest.type ===
|
4412
|
+
if (transactionRequest.type === import_transactions20.TransactionType.Script) {
|
4346
4413
|
gasLimit = transactionRequest.gasLimit;
|
4347
4414
|
if (transactionRequest.gasLimit.eq(0)) {
|
4348
4415
|
transactionRequest.gasLimit = minGas;
|
@@ -4412,7 +4479,7 @@ var _Provider = class {
|
|
4412
4479
|
*/
|
4413
4480
|
async getTransactionCost(transactionRequestLike, { resourcesOwner, signatureCallback, quantitiesToContract = [] } = {}) {
|
4414
4481
|
const txRequestClone = (0, import_ramda3.clone)(transactionRequestify(transactionRequestLike));
|
4415
|
-
const isScriptTransaction = txRequestClone.type ===
|
4482
|
+
const isScriptTransaction = txRequestClone.type === import_transactions20.TransactionType.Script;
|
4416
4483
|
const baseAssetId = this.getBaseAssetId();
|
4417
4484
|
const coinOutputsQuantities = txRequestClone.getCoinOutputsQuantities();
|
4418
4485
|
const allQuantities = mergeQuantities(coinOutputsQuantities, quantitiesToContract);
|
@@ -4636,7 +4703,7 @@ var _Provider = class {
|
|
4636
4703
|
time: block.header.time,
|
4637
4704
|
transactionIds: block.transactions.map((tx) => tx.id),
|
4638
4705
|
transactions: block.transactions.map(
|
4639
|
-
(tx) => new
|
4706
|
+
(tx) => new import_transactions20.TransactionCoder().decode((0, import_utils22.arrayify)(tx.rawPayload), 0)?.[0]
|
4640
4707
|
)
|
4641
4708
|
};
|
4642
4709
|
}
|
@@ -4651,7 +4718,7 @@ var _Provider = class {
|
|
4651
4718
|
if (!transaction) {
|
4652
4719
|
return null;
|
4653
4720
|
}
|
4654
|
-
return new
|
4721
|
+
return new import_transactions20.TransactionCoder().decode(
|
4655
4722
|
(0, import_utils22.arrayify)(transaction.rawPayload),
|
4656
4723
|
0
|
4657
4724
|
)?.[0];
|
@@ -4731,7 +4798,7 @@ var _Provider = class {
|
|
4731
4798
|
});
|
4732
4799
|
const messages = result.messages.edges.map((edge) => edge.node);
|
4733
4800
|
return messages.map((message) => ({
|
4734
|
-
messageId:
|
4801
|
+
messageId: import_transactions20.InputMessageCoder.getMessageId({
|
4735
4802
|
sender: message.sender,
|
4736
4803
|
recipient: message.recipient,
|
4737
4804
|
nonce: message.nonce,
|
@@ -4742,7 +4809,7 @@ var _Provider = class {
|
|
4742
4809
|
recipient: import_address3.Address.fromAddressOrString(message.recipient),
|
4743
4810
|
nonce: message.nonce,
|
4744
4811
|
amount: (0, import_math16.bn)(message.amount),
|
4745
|
-
data:
|
4812
|
+
data: import_transactions20.InputMessageCoder.decodeData(message.data),
|
4746
4813
|
daHeight: (0, import_math16.bn)(message.daHeight)
|
4747
4814
|
}));
|
4748
4815
|
}
|
@@ -4878,6 +4945,19 @@ var _Provider = class {
|
|
4878
4945
|
async getTransactionResponse(transactionId) {
|
4879
4946
|
return new TransactionResponse(transactionId, this);
|
4880
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
|
+
}
|
4881
4961
|
};
|
4882
4962
|
var Provider = _Provider;
|
4883
4963
|
_cacheInputs = new WeakSet();
|
@@ -4886,7 +4966,7 @@ cacheInputs_fn = function(inputs) {
|
|
4886
4966
|
return;
|
4887
4967
|
}
|
4888
4968
|
inputs.forEach((input) => {
|
4889
|
-
if (input.type ===
|
4969
|
+
if (input.type === import_transactions20.InputType.Coin) {
|
4890
4970
|
this.cache?.set(input.id);
|
4891
4971
|
}
|
4892
4972
|
});
|
@@ -4897,7 +4977,7 @@ __publicField(Provider, "nodeInfoCache", {});
|
|
4897
4977
|
// src/providers/transaction-summary/get-transaction-summary.ts
|
4898
4978
|
var import_errors15 = require("@fuel-ts/errors");
|
4899
4979
|
var import_math17 = require("@fuel-ts/math");
|
4900
|
-
var
|
4980
|
+
var import_transactions21 = require("@fuel-ts/transactions");
|
4901
4981
|
var import_utils25 = require("@fuel-ts/utils");
|
4902
4982
|
async function getTransactionSummary(params) {
|
4903
4983
|
const { id, provider, abiMap } = params;
|
@@ -4910,7 +4990,7 @@ async function getTransactionSummary(params) {
|
|
4910
4990
|
`Transaction not found for given id: ${id}.`
|
4911
4991
|
);
|
4912
4992
|
}
|
4913
|
-
const [decodedTransaction] = new
|
4993
|
+
const [decodedTransaction] = new import_transactions21.TransactionCoder().decode(
|
4914
4994
|
(0, import_utils25.arrayify)(gqlTransaction.rawPayload),
|
4915
4995
|
0
|
4916
4996
|
);
|
@@ -4975,7 +5055,7 @@ async function getTransactionsSummaries(params) {
|
|
4975
5055
|
const transactions = edges.map((edge) => {
|
4976
5056
|
const { node: gqlTransaction } = edge;
|
4977
5057
|
const { id, rawPayload, status } = gqlTransaction;
|
4978
|
-
const [decodedTransaction] = new
|
5058
|
+
const [decodedTransaction] = new import_transactions21.TransactionCoder().decode((0, import_utils25.arrayify)(rawPayload), 0);
|
4979
5059
|
let txReceipts = [];
|
4980
5060
|
if (gqlTransaction?.status && "receipts" in gqlTransaction.status) {
|
4981
5061
|
txReceipts = gqlTransaction.status.receipts;
|
@@ -5902,14 +5982,14 @@ var import_errors20 = require("@fuel-ts/errors");
|
|
5902
5982
|
var import_hasher6 = require("@fuel-ts/hasher");
|
5903
5983
|
var import_math21 = require("@fuel-ts/math");
|
5904
5984
|
var import_utils34 = require("@fuel-ts/utils");
|
5905
|
-
var
|
5985
|
+
var import_ethers3 = require("ethers");
|
5906
5986
|
|
5907
5987
|
// src/mnemonic/mnemonic.ts
|
5908
5988
|
var import_crypto4 = require("@fuel-ts/crypto");
|
5909
5989
|
var import_errors19 = require("@fuel-ts/errors");
|
5910
5990
|
var import_hasher5 = require("@fuel-ts/hasher");
|
5911
5991
|
var import_utils32 = require("@fuel-ts/utils");
|
5912
|
-
var
|
5992
|
+
var import_ethers2 = require("ethers");
|
5913
5993
|
|
5914
5994
|
// src/wordlists/words/english.ts
|
5915
5995
|
var english = [
|
@@ -8163,7 +8243,7 @@ var Mnemonic = class {
|
|
8163
8243
|
assertMnemonic(getWords(phrase));
|
8164
8244
|
const phraseBytes = toUtf8Bytes(getPhrase(phrase));
|
8165
8245
|
const salt = toUtf8Bytes(`mnemonic${passphrase}`);
|
8166
|
-
return (0,
|
8246
|
+
return (0, import_ethers2.pbkdf2)(phraseBytes, salt, 2048, 64, "sha512");
|
8167
8247
|
}
|
8168
8248
|
/**
|
8169
8249
|
* @param phrase - Mnemonic phrase composed by words from the provided wordlist
|
@@ -8225,7 +8305,7 @@ var Mnemonic = class {
|
|
8225
8305
|
`Seed length should be between 16 and 64 bytes, but received ${seedArray.length} bytes.`
|
8226
8306
|
);
|
8227
8307
|
}
|
8228
|
-
return (0, import_utils32.arrayify)((0,
|
8308
|
+
return (0, import_utils32.arrayify)((0, import_ethers2.computeHmac)("sha512", MasterSecret, seedArray));
|
8229
8309
|
}
|
8230
8310
|
/**
|
8231
8311
|
* Get the extendKey as defined on BIP-32 from the provided seed
|
@@ -8250,8 +8330,8 @@ var Mnemonic = class {
|
|
8250
8330
|
chainCode,
|
8251
8331
|
(0, import_utils32.concat)(["0x00", privateKey])
|
8252
8332
|
]);
|
8253
|
-
const checksum = (0,
|
8254
|
-
return (0,
|
8333
|
+
const checksum = (0, import_ethers2.dataSlice)((0, import_hasher5.sha256)((0, import_hasher5.sha256)(extendedKey)), 0, 4);
|
8334
|
+
return (0, import_ethers2.encodeBase58)((0, import_utils32.concat)([extendedKey, checksum]));
|
8255
8335
|
}
|
8256
8336
|
/**
|
8257
8337
|
* Create a new mnemonic using a randomly generated number as entropy.
|
@@ -8279,7 +8359,7 @@ var MainnetPUB = (0, import_utils34.hexlify)("0x0488b21e");
|
|
8279
8359
|
var TestnetPRV2 = (0, import_utils34.hexlify)("0x04358394");
|
8280
8360
|
var TestnetPUB = (0, import_utils34.hexlify)("0x043587cf");
|
8281
8361
|
function base58check(data) {
|
8282
|
-
return (0,
|
8362
|
+
return (0, import_ethers3.encodeBase58)((0, import_utils34.concat)([data, (0, import_ethers3.dataSlice)((0, import_hasher6.sha256)((0, import_hasher6.sha256)(data)), 0, 4)]));
|
8283
8363
|
}
|
8284
8364
|
function getExtendedKeyPrefix(isPublic = false, testnet = false) {
|
8285
8365
|
if (isPublic) {
|
@@ -8335,7 +8415,7 @@ var HDWallet = class {
|
|
8335
8415
|
this.publicKey = (0, import_utils34.hexlify)(config.publicKey);
|
8336
8416
|
}
|
8337
8417
|
this.parentFingerprint = config.parentFingerprint || this.parentFingerprint;
|
8338
|
-
this.fingerprint = (0,
|
8418
|
+
this.fingerprint = (0, import_ethers3.dataSlice)((0, import_ethers3.ripemd160)((0, import_hasher6.sha256)(this.publicKey)), 0, 4);
|
8339
8419
|
this.depth = config.depth || this.depth;
|
8340
8420
|
this.index = config.index || this.index;
|
8341
8421
|
this.chainCode = config.chainCode;
|
@@ -8367,7 +8447,7 @@ var HDWallet = class {
|
|
8367
8447
|
data.set((0, import_utils34.arrayify)(this.publicKey));
|
8368
8448
|
}
|
8369
8449
|
data.set((0, import_math21.toBytes)(index, 4), 33);
|
8370
|
-
const bytes = (0, import_utils34.arrayify)((0,
|
8450
|
+
const bytes = (0, import_utils34.arrayify)((0, import_ethers3.computeHmac)("sha512", chainCode, data));
|
8371
8451
|
const IL = bytes.slice(0, 32);
|
8372
8452
|
const IR = bytes.slice(32);
|
8373
8453
|
if (privateKey) {
|
@@ -8438,7 +8518,7 @@ var HDWallet = class {
|
|
8438
8518
|
});
|
8439
8519
|
}
|
8440
8520
|
static fromExtendedKey(extendedKey) {
|
8441
|
-
const decoded = (0,
|
8521
|
+
const decoded = (0, import_ethers3.toBeHex)((0, import_ethers3.decodeBase58)(extendedKey));
|
8442
8522
|
const bytes = (0, import_utils34.arrayify)(decoded);
|
8443
8523
|
const validChecksum = base58check(bytes.slice(0, 78)) === extendedKey;
|
8444
8524
|
if (bytes.length !== 82 || !isValidExtendedKey(bytes)) {
|
@@ -9054,7 +9134,7 @@ var StorageAbstract = class {
|
|
9054
9134
|
var import_abi_coder7 = require("@fuel-ts/abi-coder");
|
9055
9135
|
var import_address10 = require("@fuel-ts/address");
|
9056
9136
|
var import_errors25 = require("@fuel-ts/errors");
|
9057
|
-
var
|
9137
|
+
var import_transactions22 = require("@fuel-ts/transactions");
|
9058
9138
|
var import_utils36 = require("@fuel-ts/utils");
|
9059
9139
|
|
9060
9140
|
// src/predicate/utils/getPredicateRoot.ts
|
@@ -9113,10 +9193,15 @@ var Predicate = class extends Account {
|
|
9113
9193
|
populateTransactionPredicateData(transactionRequestLike) {
|
9114
9194
|
const request = transactionRequestify(transactionRequestLike);
|
9115
9195
|
const { policies } = BaseTransactionRequest.getPolicyMeta(request);
|
9116
|
-
|
9117
|
-
|
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)) {
|
9118
9202
|
input.predicate = (0, import_utils36.hexlify)(this.bytes);
|
9119
9203
|
input.predicateData = (0, import_utils36.hexlify)(this.getPredicateData(policies.length));
|
9204
|
+
input.witnessIndex = 0;
|
9120
9205
|
}
|
9121
9206
|
});
|
9122
9207
|
return request;
|
@@ -9146,7 +9231,7 @@ var Predicate = class extends Account {
|
|
9146
9231
|
return new Uint8Array();
|
9147
9232
|
}
|
9148
9233
|
const mainFn = this.interface?.functions.main;
|
9149
|
-
const paddedCode = new
|
9234
|
+
const paddedCode = new import_transactions22.ByteArrayCoder(this.bytes.length).encode(this.bytes);
|
9150
9235
|
const VM_TX_MEMORY = (0, import_abi_coder7.calculateVmTxMemory)({
|
9151
9236
|
maxInputs: this.provider.getChain().consensusParameters.maxInputs.toNumber()
|
9152
9237
|
});
|
@@ -9239,6 +9324,28 @@ var Predicate = class extends Account {
|
|
9239
9324
|
}
|
9240
9325
|
return mutatedBytes;
|
9241
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
|
+
}
|
9242
9349
|
};
|
9243
9350
|
|
9244
9351
|
// src/connectors/fuel.ts
|
@@ -9962,6 +10069,7 @@ __publicField(Fuel, "defaultConfig", {});
|
|
9962
10069
|
assets,
|
9963
10070
|
buildBlockExplorerUrl,
|
9964
10071
|
cacheFor,
|
10072
|
+
cacheResources,
|
9965
10073
|
cacheTxInputsFromOwner,
|
9966
10074
|
calculateGasFee,
|
9967
10075
|
calculateMetadataGasForTxCreate,
|
@@ -10009,6 +10117,7 @@ __publicField(Fuel, "defaultConfig", {});
|
|
10009
10117
|
getReceiptsMessageOut,
|
10010
10118
|
getReceiptsTransferOut,
|
10011
10119
|
getReceiptsWithMissingData,
|
10120
|
+
getRequestInputResourceOwner,
|
10012
10121
|
getTransactionStatusName,
|
10013
10122
|
getTransactionSummary,
|
10014
10123
|
getTransactionSummaryFromRequest,
|
@@ -10022,6 +10131,10 @@ __publicField(Fuel, "defaultConfig", {});
|
|
10022
10131
|
isMessage,
|
10023
10132
|
isRawCoin,
|
10024
10133
|
isRawMessage,
|
10134
|
+
isRequestInputCoin,
|
10135
|
+
isRequestInputMessage,
|
10136
|
+
isRequestInputResource,
|
10137
|
+
isRequestInputResourceFromOwner,
|
10025
10138
|
isType,
|
10026
10139
|
isTypeCreate,
|
10027
10140
|
isTypeMint,
|