@fuel-ts/account 0.0.0-rc-2130-20240422142413 → 0.0.0-rc-2037-20240422145740
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of @fuel-ts/account might be problematic. Click here for more details.
- package/dist/hdwallet/hdwallet.d.ts.map +1 -1
- package/dist/index.global.js +2583 -1402
- package/dist/index.global.js.map +1 -1
- package/dist/index.js +230 -154
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +140 -70
- package/dist/index.mjs.map +1 -1
- package/dist/mnemonic/mnemonic.d.ts.map +1 -1
- package/dist/predicate/predicate.d.ts +17 -2
- package/dist/predicate/predicate.d.ts.map +1 -1
- package/dist/providers/coin.d.ts +2 -1
- package/dist/providers/coin.d.ts.map +1 -1
- package/dist/providers/message.d.ts +1 -0
- package/dist/providers/message.d.ts.map +1 -1
- package/dist/providers/provider.d.ts +9 -0
- 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 +4 -20
- 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 +2609 -1451
- package/dist/test-utils.global.js.map +1 -1
- package/dist/test-utils.js +203 -149
- package/dist/test-utils.js.map +1 -1
- package/dist/test-utils.mjs +121 -70
- 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 +16 -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
|
calculateMetadataGasForTxCreate: () => calculateMetadataGasForTxCreate,
|
108
109
|
calculateMetadataGasForTxScript: () => calculateMetadataGasForTxScript,
|
109
110
|
calculatePriceWithFactor: () => calculatePriceWithFactor,
|
@@ -150,6 +151,7 @@ __export(src_exports, {
|
|
150
151
|
getReceiptsMessageOut: () => getReceiptsMessageOut,
|
151
152
|
getReceiptsTransferOut: () => getReceiptsTransferOut,
|
152
153
|
getReceiptsWithMissingData: () => getReceiptsWithMissingData,
|
154
|
+
getRequestInputResourceOwner: () => getRequestInputResourceOwner,
|
153
155
|
getTransactionStatusName: () => getTransactionStatusName,
|
154
156
|
getTransactionSummary: () => getTransactionSummary,
|
155
157
|
getTransactionSummaryFromRequest: () => getTransactionSummaryFromRequest,
|
@@ -163,6 +165,10 @@ __export(src_exports, {
|
|
163
165
|
isMessage: () => isMessage,
|
164
166
|
isRawCoin: () => isRawCoin,
|
165
167
|
isRawMessage: () => isRawMessage,
|
168
|
+
isRequestInputCoin: () => isRequestInputCoin,
|
169
|
+
isRequestInputMessage: () => isRequestInputMessage,
|
170
|
+
isRequestInputResource: () => isRequestInputResource,
|
171
|
+
isRequestInputResourceFromOwner: () => isRequestInputResourceFromOwner,
|
166
172
|
isType: () => isType,
|
167
173
|
isTypeCreate: () => isTypeCreate,
|
168
174
|
isTypeMint: () => isTypeMint,
|
@@ -230,10 +236,11 @@ var addAmountToAsset = (params) => {
|
|
230
236
|
var import_address3 = require("@fuel-ts/address");
|
231
237
|
var import_errors14 = require("@fuel-ts/errors");
|
232
238
|
var import_math15 = require("@fuel-ts/math");
|
233
|
-
var
|
239
|
+
var import_transactions19 = require("@fuel-ts/transactions");
|
234
240
|
var import_utils23 = require("@fuel-ts/utils");
|
235
241
|
var import_versions = require("@fuel-ts/versions");
|
236
242
|
var import_utils24 = 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
|
|
@@ -1319,7 +1326,7 @@ var import_address = require("@fuel-ts/address");
|
|
1319
1326
|
var import_configs7 = require("@fuel-ts/address/configs");
|
1320
1327
|
var import_crypto = require("@fuel-ts/crypto");
|
1321
1328
|
var import_math7 = require("@fuel-ts/math");
|
1322
|
-
var
|
1329
|
+
var import_transactions7 = require("@fuel-ts/transactions");
|
1323
1330
|
var import_utils9 = require("@fuel-ts/utils");
|
1324
1331
|
|
1325
1332
|
// src/providers/resource.ts
|
@@ -1806,6 +1813,28 @@ var NoWitnessByOwnerError = class extends Error {
|
|
1806
1813
|
name = "NoWitnessByOwnerError";
|
1807
1814
|
};
|
1808
1815
|
|
1816
|
+
// src/providers/transaction-request/helpers.ts
|
1817
|
+
var import_transactions6 = require("@fuel-ts/transactions");
|
1818
|
+
var isRequestInputCoin = (input) => input.type === import_transactions6.InputType.Coin;
|
1819
|
+
var isRequestInputMessage = (input) => input.type === import_transactions6.InputType.Message;
|
1820
|
+
var isRequestInputResource = (input) => isRequestInputCoin(input) || isRequestInputMessage(input);
|
1821
|
+
var getRequestInputResourceOwner = (input) => isRequestInputCoin(input) ? input.owner : input.recipient;
|
1822
|
+
var isRequestInputResourceFromOwner = (input, owner) => getRequestInputResourceOwner(input) === owner.toB256();
|
1823
|
+
var cacheResources = (resources) => resources.reduce(
|
1824
|
+
(cache2, resource) => {
|
1825
|
+
if (isCoin(resource)) {
|
1826
|
+
cache2.utxos.push(resource.id);
|
1827
|
+
} else {
|
1828
|
+
cache2.messages.push(resource.nonce);
|
1829
|
+
}
|
1830
|
+
return cache2;
|
1831
|
+
},
|
1832
|
+
{
|
1833
|
+
utxos: [],
|
1834
|
+
messages: []
|
1835
|
+
}
|
1836
|
+
);
|
1837
|
+
|
1809
1838
|
// src/providers/transaction-request/witness.ts
|
1810
1839
|
var import_utils8 = require("@fuel-ts/utils");
|
1811
1840
|
var witnessify = (value) => {
|
@@ -1858,20 +1887,20 @@ var BaseTransactionRequest = class {
|
|
1858
1887
|
let policyTypes = 0;
|
1859
1888
|
const policies = [];
|
1860
1889
|
if (req.gasPrice) {
|
1861
|
-
policyTypes +=
|
1862
|
-
policies.push({ data: req.gasPrice, type:
|
1890
|
+
policyTypes += import_transactions7.PolicyType.GasPrice;
|
1891
|
+
policies.push({ data: req.gasPrice, type: import_transactions7.PolicyType.GasPrice });
|
1863
1892
|
}
|
1864
1893
|
if (req.witnessLimit) {
|
1865
|
-
policyTypes +=
|
1866
|
-
policies.push({ data: req.witnessLimit, type:
|
1894
|
+
policyTypes += import_transactions7.PolicyType.WitnessLimit;
|
1895
|
+
policies.push({ data: req.witnessLimit, type: import_transactions7.PolicyType.WitnessLimit });
|
1867
1896
|
}
|
1868
1897
|
if (req.maturity > 0) {
|
1869
|
-
policyTypes +=
|
1870
|
-
policies.push({ data: req.maturity, type:
|
1898
|
+
policyTypes += import_transactions7.PolicyType.Maturity;
|
1899
|
+
policies.push({ data: req.maturity, type: import_transactions7.PolicyType.Maturity });
|
1871
1900
|
}
|
1872
1901
|
if (req.maxFee) {
|
1873
|
-
policyTypes +=
|
1874
|
-
policies.push({ data: req.maxFee, type:
|
1902
|
+
policyTypes += import_transactions7.PolicyType.MaxFee;
|
1903
|
+
policies.push({ data: req.maxFee, type: import_transactions7.PolicyType.MaxFee });
|
1875
1904
|
}
|
1876
1905
|
return {
|
1877
1906
|
policyTypes,
|
@@ -1905,7 +1934,7 @@ var BaseTransactionRequest = class {
|
|
1905
1934
|
* @returns The transaction bytes.
|
1906
1935
|
*/
|
1907
1936
|
toTransactionBytes() {
|
1908
|
-
return new
|
1937
|
+
return new import_transactions7.TransactionCoder().encode(this.toTransaction());
|
1909
1938
|
}
|
1910
1939
|
/**
|
1911
1940
|
* @hidden
|
@@ -1996,7 +2025,7 @@ var BaseTransactionRequest = class {
|
|
1996
2025
|
*/
|
1997
2026
|
getCoinInputs() {
|
1998
2027
|
return this.inputs.filter(
|
1999
|
-
(input) => input.type ===
|
2028
|
+
(input) => input.type === import_transactions7.InputType.Coin
|
2000
2029
|
);
|
2001
2030
|
}
|
2002
2031
|
/**
|
@@ -2006,7 +2035,7 @@ var BaseTransactionRequest = class {
|
|
2006
2035
|
*/
|
2007
2036
|
getCoinOutputs() {
|
2008
2037
|
return this.outputs.filter(
|
2009
|
-
(output) => output.type ===
|
2038
|
+
(output) => output.type === import_transactions7.OutputType.Coin
|
2010
2039
|
);
|
2011
2040
|
}
|
2012
2041
|
/**
|
@@ -2016,7 +2045,7 @@ var BaseTransactionRequest = class {
|
|
2016
2045
|
*/
|
2017
2046
|
getChangeOutputs() {
|
2018
2047
|
return this.outputs.filter(
|
2019
|
-
(output) => output.type ===
|
2048
|
+
(output) => output.type === import_transactions7.OutputType.Change
|
2020
2049
|
);
|
2021
2050
|
}
|
2022
2051
|
/**
|
@@ -2028,9 +2057,9 @@ var BaseTransactionRequest = class {
|
|
2028
2057
|
const ownerAddress = (0, import_address.addressify)(owner);
|
2029
2058
|
const found = this.inputs.find((input) => {
|
2030
2059
|
switch (input.type) {
|
2031
|
-
case
|
2060
|
+
case import_transactions7.InputType.Coin:
|
2032
2061
|
return (0, import_utils9.hexlify)(input.owner) === ownerAddress.toB256();
|
2033
|
-
case
|
2062
|
+
case import_transactions7.InputType.Message:
|
2034
2063
|
return (0, import_utils9.hexlify)(input.recipient) === ownerAddress.toB256();
|
2035
2064
|
default:
|
2036
2065
|
return false;
|
@@ -2046,8 +2075,8 @@ var BaseTransactionRequest = class {
|
|
2046
2075
|
* @param predicate - Predicate bytes.
|
2047
2076
|
* @param predicateData - Predicate data bytes.
|
2048
2077
|
*/
|
2049
|
-
addCoinInput(coin
|
2050
|
-
const { assetId, owner, amount } = coin;
|
2078
|
+
addCoinInput(coin) {
|
2079
|
+
const { assetId, owner, amount, id, predicate } = coin;
|
2051
2080
|
let witnessIndex;
|
2052
2081
|
if (predicate) {
|
2053
2082
|
witnessIndex = 0;
|
@@ -2058,14 +2087,14 @@ var BaseTransactionRequest = class {
|
|
2058
2087
|
}
|
2059
2088
|
}
|
2060
2089
|
const input = {
|
2061
|
-
|
2062
|
-
type:
|
2090
|
+
id,
|
2091
|
+
type: import_transactions7.InputType.Coin,
|
2063
2092
|
owner: owner.toB256(),
|
2064
2093
|
amount,
|
2065
2094
|
assetId,
|
2066
2095
|
txPointer: "0x00000000000000000000000000000000",
|
2067
2096
|
witnessIndex,
|
2068
|
-
predicate
|
2097
|
+
predicate
|
2069
2098
|
};
|
2070
2099
|
this.pushInput(input);
|
2071
2100
|
this.addChangeOutput(owner, assetId);
|
@@ -2078,8 +2107,8 @@ var BaseTransactionRequest = class {
|
|
2078
2107
|
* @param predicate - Predicate bytes.
|
2079
2108
|
* @param predicateData - Predicate data bytes.
|
2080
2109
|
*/
|
2081
|
-
addMessageInput(message
|
2082
|
-
const { recipient, sender, amount } = message;
|
2110
|
+
addMessageInput(message) {
|
2111
|
+
const { recipient, sender, amount, predicate, nonce } = message;
|
2083
2112
|
const assetId = import_configs7.BaseAssetId;
|
2084
2113
|
let witnessIndex;
|
2085
2114
|
if (predicate) {
|
@@ -2091,13 +2120,13 @@ var BaseTransactionRequest = class {
|
|
2091
2120
|
}
|
2092
2121
|
}
|
2093
2122
|
const input = {
|
2094
|
-
|
2095
|
-
type:
|
2123
|
+
nonce,
|
2124
|
+
type: import_transactions7.InputType.Message,
|
2096
2125
|
sender: sender.toB256(),
|
2097
2126
|
recipient: recipient.toB256(),
|
2098
2127
|
amount,
|
2099
2128
|
witnessIndex,
|
2100
|
-
predicate
|
2129
|
+
predicate
|
2101
2130
|
};
|
2102
2131
|
this.pushInput(input);
|
2103
2132
|
this.addChangeOutput(recipient, assetId);
|
@@ -2128,32 +2157,6 @@ var BaseTransactionRequest = class {
|
|
2128
2157
|
resources.forEach((resource) => this.addResource(resource));
|
2129
2158
|
return this;
|
2130
2159
|
}
|
2131
|
-
/**
|
2132
|
-
* Adds multiple resources to the transaction by adding coin/message inputs and change
|
2133
|
-
* outputs from the related assetIds.
|
2134
|
-
*
|
2135
|
-
* @param resources - The resources to add.
|
2136
|
-
* @returns This transaction.
|
2137
|
-
*/
|
2138
|
-
addPredicateResource(resource, predicate) {
|
2139
|
-
if (isCoin(resource)) {
|
2140
|
-
this.addCoinInput(resource, predicate);
|
2141
|
-
} else {
|
2142
|
-
this.addMessageInput(resource, predicate);
|
2143
|
-
}
|
2144
|
-
return this;
|
2145
|
-
}
|
2146
|
-
/**
|
2147
|
-
* Adds multiple predicate coin/message inputs to the transaction and change outputs
|
2148
|
-
* from the related assetIds.
|
2149
|
-
*
|
2150
|
-
* @param resources - The resources to add.
|
2151
|
-
* @returns This transaction.
|
2152
|
-
*/
|
2153
|
-
addPredicateResources(resources, predicate) {
|
2154
|
-
resources.forEach((resource) => this.addPredicateResource(resource, predicate));
|
2155
|
-
return this;
|
2156
|
-
}
|
2157
2160
|
/**
|
2158
2161
|
* Adds a coin output to the transaction.
|
2159
2162
|
*
|
@@ -2163,7 +2166,7 @@ var BaseTransactionRequest = class {
|
|
2163
2166
|
*/
|
2164
2167
|
addCoinOutput(to, amount, assetId = import_configs7.BaseAssetId) {
|
2165
2168
|
this.pushOutput({
|
2166
|
-
type:
|
2169
|
+
type: import_transactions7.OutputType.Coin,
|
2167
2170
|
to: (0, import_address.addressify)(to).toB256(),
|
2168
2171
|
amount,
|
2169
2172
|
assetId
|
@@ -2179,7 +2182,7 @@ var BaseTransactionRequest = class {
|
|
2179
2182
|
addCoinOutputs(to, quantities) {
|
2180
2183
|
quantities.map(coinQuantityfy).forEach((quantity) => {
|
2181
2184
|
this.pushOutput({
|
2182
|
-
type:
|
2185
|
+
type: import_transactions7.OutputType.Coin,
|
2183
2186
|
to: (0, import_address.addressify)(to).toB256(),
|
2184
2187
|
amount: quantity.amount,
|
2185
2188
|
assetId: quantity.assetId
|
@@ -2199,7 +2202,7 @@ var BaseTransactionRequest = class {
|
|
2199
2202
|
);
|
2200
2203
|
if (!changeOutput) {
|
2201
2204
|
this.pushOutput({
|
2202
|
-
type:
|
2205
|
+
type: import_transactions7.OutputType.Change,
|
2203
2206
|
to: (0, import_address.addressify)(to).toB256(),
|
2204
2207
|
assetId
|
2205
2208
|
});
|
@@ -2302,16 +2305,20 @@ var BaseTransactionRequest = class {
|
|
2302
2305
|
toJSON() {
|
2303
2306
|
return normalizeJSON(this);
|
2304
2307
|
}
|
2308
|
+
removeWitness(index) {
|
2309
|
+
this.witnesses.splice(index, 1);
|
2310
|
+
this.adjustWitnessIndexes(index);
|
2311
|
+
}
|
2305
2312
|
updatePredicateInputs(inputs) {
|
2306
2313
|
this.inputs.forEach((i) => {
|
2307
2314
|
let correspondingInput;
|
2308
2315
|
switch (i.type) {
|
2309
|
-
case
|
2310
|
-
correspondingInput = inputs.find((x) => x.type ===
|
2316
|
+
case import_transactions7.InputType.Coin:
|
2317
|
+
correspondingInput = inputs.find((x) => x.type === import_transactions7.InputType.Coin && x.owner === i.owner);
|
2311
2318
|
break;
|
2312
|
-
case
|
2319
|
+
case import_transactions7.InputType.Message:
|
2313
2320
|
correspondingInput = inputs.find(
|
2314
|
-
(x) => x.type ===
|
2321
|
+
(x) => x.type === import_transactions7.InputType.Message && x.sender === i.sender
|
2315
2322
|
);
|
2316
2323
|
break;
|
2317
2324
|
default:
|
@@ -2324,30 +2331,37 @@ var BaseTransactionRequest = class {
|
|
2324
2331
|
}
|
2325
2332
|
});
|
2326
2333
|
}
|
2334
|
+
adjustWitnessIndexes(removedIndex) {
|
2335
|
+
this.inputs.filter(isRequestInputResource).forEach((input) => {
|
2336
|
+
if (input.witnessIndex > removedIndex) {
|
2337
|
+
input.witnessIndex -= 1;
|
2338
|
+
}
|
2339
|
+
});
|
2340
|
+
}
|
2327
2341
|
};
|
2328
2342
|
|
2329
2343
|
// src/providers/transaction-request/create-transaction-request.ts
|
2330
2344
|
var import_configs9 = require("@fuel-ts/address/configs");
|
2331
2345
|
var import_math9 = require("@fuel-ts/math");
|
2332
|
-
var
|
2346
|
+
var import_transactions9 = require("@fuel-ts/transactions");
|
2333
2347
|
var import_utils13 = require("@fuel-ts/utils");
|
2334
2348
|
|
2335
2349
|
// src/providers/transaction-request/hash-transaction.ts
|
2336
2350
|
var import_configs8 = require("@fuel-ts/address/configs");
|
2337
2351
|
var import_hasher = require("@fuel-ts/hasher");
|
2338
2352
|
var import_math8 = require("@fuel-ts/math");
|
2339
|
-
var
|
2353
|
+
var import_transactions8 = require("@fuel-ts/transactions");
|
2340
2354
|
var import_utils11 = require("@fuel-ts/utils");
|
2341
2355
|
var import_ramda2 = require("ramda");
|
2342
2356
|
function hashTransaction(transactionRequest, chainId) {
|
2343
2357
|
const transaction = transactionRequest.toTransaction();
|
2344
|
-
if (transaction.type ===
|
2358
|
+
if (transaction.type === import_transactions8.TransactionType.Script) {
|
2345
2359
|
transaction.receiptsRoot = import_configs8.ZeroBytes32;
|
2346
2360
|
}
|
2347
2361
|
transaction.inputs = transaction.inputs.map((input) => {
|
2348
2362
|
const inputClone = (0, import_ramda2.clone)(input);
|
2349
2363
|
switch (inputClone.type) {
|
2350
|
-
case
|
2364
|
+
case import_transactions8.InputType.Coin: {
|
2351
2365
|
inputClone.txPointer = {
|
2352
2366
|
blockHeight: 0,
|
2353
2367
|
txIndex: 0
|
@@ -2355,11 +2369,11 @@ function hashTransaction(transactionRequest, chainId) {
|
|
2355
2369
|
inputClone.predicateGasUsed = (0, import_math8.bn)(0);
|
2356
2370
|
return inputClone;
|
2357
2371
|
}
|
2358
|
-
case
|
2372
|
+
case import_transactions8.InputType.Message: {
|
2359
2373
|
inputClone.predicateGasUsed = (0, import_math8.bn)(0);
|
2360
2374
|
return inputClone;
|
2361
2375
|
}
|
2362
|
-
case
|
2376
|
+
case import_transactions8.InputType.Contract: {
|
2363
2377
|
inputClone.txPointer = {
|
2364
2378
|
blockHeight: 0,
|
2365
2379
|
txIndex: 0
|
@@ -2377,16 +2391,16 @@ function hashTransaction(transactionRequest, chainId) {
|
|
2377
2391
|
transaction.outputs = transaction.outputs.map((output) => {
|
2378
2392
|
const outputClone = (0, import_ramda2.clone)(output);
|
2379
2393
|
switch (outputClone.type) {
|
2380
|
-
case
|
2394
|
+
case import_transactions8.OutputType.Contract: {
|
2381
2395
|
outputClone.balanceRoot = import_configs8.ZeroBytes32;
|
2382
2396
|
outputClone.stateRoot = import_configs8.ZeroBytes32;
|
2383
2397
|
return outputClone;
|
2384
2398
|
}
|
2385
|
-
case
|
2399
|
+
case import_transactions8.OutputType.Change: {
|
2386
2400
|
outputClone.amount = (0, import_math8.bn)(0);
|
2387
2401
|
return outputClone;
|
2388
2402
|
}
|
2389
|
-
case
|
2403
|
+
case import_transactions8.OutputType.Variable: {
|
2390
2404
|
outputClone.to = import_configs8.ZeroBytes32;
|
2391
2405
|
outputClone.amount = (0, import_math8.bn)(0);
|
2392
2406
|
outputClone.assetId = import_configs8.ZeroBytes32;
|
@@ -2399,7 +2413,7 @@ function hashTransaction(transactionRequest, chainId) {
|
|
2399
2413
|
transaction.witnessesCount = 0;
|
2400
2414
|
transaction.witnesses = [];
|
2401
2415
|
const chainIdBytes = (0, import_hasher.uint64ToBytesBE)(chainId);
|
2402
|
-
const concatenatedData = (0, import_utils11.concat)([chainIdBytes, new
|
2416
|
+
const concatenatedData = (0, import_utils11.concat)([chainIdBytes, new import_transactions8.TransactionCoder().encode(transaction)]);
|
2403
2417
|
return (0, import_hasher.sha256)(concatenatedData);
|
2404
2418
|
}
|
2405
2419
|
|
@@ -2435,7 +2449,7 @@ var CreateTransactionRequest = class extends BaseTransactionRequest {
|
|
2435
2449
|
return new this(obj);
|
2436
2450
|
}
|
2437
2451
|
/** Type of the transaction */
|
2438
|
-
type =
|
2452
|
+
type = import_transactions9.TransactionType.Create;
|
2439
2453
|
/** Witness index of contract bytecode to create */
|
2440
2454
|
bytecodeWitnessIndex;
|
2441
2455
|
/** Salt */
|
@@ -2468,7 +2482,7 @@ var CreateTransactionRequest = class extends BaseTransactionRequest {
|
|
2468
2482
|
const bytecodeWitnessIndex = this.bytecodeWitnessIndex;
|
2469
2483
|
const storageSlots = this.storageSlots?.map(storageSlotify) ?? [];
|
2470
2484
|
return {
|
2471
|
-
type:
|
2485
|
+
type: import_transactions9.TransactionType.Create,
|
2472
2486
|
...baseTransaction,
|
2473
2487
|
bytecodeLength: baseTransaction.witnesses[bytecodeWitnessIndex].dataLength / 4,
|
2474
2488
|
bytecodeWitnessIndex,
|
@@ -2484,7 +2498,7 @@ var CreateTransactionRequest = class extends BaseTransactionRequest {
|
|
2484
2498
|
*/
|
2485
2499
|
getContractCreatedOutputs() {
|
2486
2500
|
return this.outputs.filter(
|
2487
|
-
(output) => output.type ===
|
2501
|
+
(output) => output.type === import_transactions9.OutputType.ContractCreated
|
2488
2502
|
);
|
2489
2503
|
}
|
2490
2504
|
/**
|
@@ -2505,7 +2519,7 @@ var CreateTransactionRequest = class extends BaseTransactionRequest {
|
|
2505
2519
|
*/
|
2506
2520
|
addContractCreatedOutput(contractId, stateRoot) {
|
2507
2521
|
this.pushOutput({
|
2508
|
-
type:
|
2522
|
+
type: import_transactions9.OutputType.ContractCreated,
|
2509
2523
|
contractId,
|
2510
2524
|
stateRoot
|
2511
2525
|
});
|
@@ -2525,7 +2539,7 @@ var import_abi_coder3 = require("@fuel-ts/abi-coder");
|
|
2525
2539
|
var import_address2 = require("@fuel-ts/address");
|
2526
2540
|
var import_configs10 = require("@fuel-ts/address/configs");
|
2527
2541
|
var import_math10 = require("@fuel-ts/math");
|
2528
|
-
var
|
2542
|
+
var import_transactions10 = require("@fuel-ts/transactions");
|
2529
2543
|
var import_utils15 = require("@fuel-ts/utils");
|
2530
2544
|
|
2531
2545
|
// src/providers/transaction-request/scripts.ts
|
@@ -2563,7 +2577,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
|
|
2563
2577
|
return new this(obj);
|
2564
2578
|
}
|
2565
2579
|
/** Type of the transaction */
|
2566
|
-
type =
|
2580
|
+
type = import_transactions10.TransactionType.Script;
|
2567
2581
|
/** Gas limit for transaction */
|
2568
2582
|
gasLimit;
|
2569
2583
|
/** Script to execute */
|
@@ -2592,7 +2606,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
|
|
2592
2606
|
const script = (0, import_utils15.arrayify)(this.script ?? "0x");
|
2593
2607
|
const scriptData = (0, import_utils15.arrayify)(this.scriptData ?? "0x");
|
2594
2608
|
return {
|
2595
|
-
type:
|
2609
|
+
type: import_transactions10.TransactionType.Script,
|
2596
2610
|
scriptGasLimit: this.gasLimit,
|
2597
2611
|
...super.getBaseTransaction(),
|
2598
2612
|
scriptLength: script.length,
|
@@ -2609,7 +2623,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
|
|
2609
2623
|
*/
|
2610
2624
|
getContractInputs() {
|
2611
2625
|
return this.inputs.filter(
|
2612
|
-
(input) => input.type ===
|
2626
|
+
(input) => input.type === import_transactions10.InputType.Contract
|
2613
2627
|
);
|
2614
2628
|
}
|
2615
2629
|
/**
|
@@ -2619,7 +2633,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
|
|
2619
2633
|
*/
|
2620
2634
|
getContractOutputs() {
|
2621
2635
|
return this.outputs.filter(
|
2622
|
-
(output) => output.type ===
|
2636
|
+
(output) => output.type === import_transactions10.OutputType.Contract
|
2623
2637
|
);
|
2624
2638
|
}
|
2625
2639
|
/**
|
@@ -2629,7 +2643,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
|
|
2629
2643
|
*/
|
2630
2644
|
getVariableOutputs() {
|
2631
2645
|
return this.outputs.filter(
|
2632
|
-
(output) => output.type ===
|
2646
|
+
(output) => output.type === import_transactions10.OutputType.Variable
|
2633
2647
|
);
|
2634
2648
|
}
|
2635
2649
|
/**
|
@@ -2652,7 +2666,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
|
|
2652
2666
|
let outputsNumber = numberOfVariables;
|
2653
2667
|
while (outputsNumber) {
|
2654
2668
|
this.pushOutput({
|
2655
|
-
type:
|
2669
|
+
type: import_transactions10.OutputType.Variable
|
2656
2670
|
});
|
2657
2671
|
outputsNumber -= 1;
|
2658
2672
|
}
|
@@ -2685,12 +2699,12 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
|
|
2685
2699
|
return this;
|
2686
2700
|
}
|
2687
2701
|
const inputIndex = super.pushInput({
|
2688
|
-
type:
|
2702
|
+
type: import_transactions10.InputType.Contract,
|
2689
2703
|
contractId: contractAddress.toB256(),
|
2690
2704
|
txPointer: "0x00000000000000000000000000000000"
|
2691
2705
|
});
|
2692
2706
|
this.pushOutput({
|
2693
|
-
type:
|
2707
|
+
type: import_transactions10.OutputType.Contract,
|
2694
2708
|
inputIndex
|
2695
2709
|
});
|
2696
2710
|
return this;
|
@@ -2727,17 +2741,17 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
|
|
2727
2741
|
|
2728
2742
|
// src/providers/transaction-request/utils.ts
|
2729
2743
|
var import_errors9 = require("@fuel-ts/errors");
|
2730
|
-
var
|
2744
|
+
var import_transactions11 = require("@fuel-ts/transactions");
|
2731
2745
|
var transactionRequestify = (obj) => {
|
2732
2746
|
if (obj instanceof ScriptTransactionRequest || obj instanceof CreateTransactionRequest) {
|
2733
2747
|
return obj;
|
2734
2748
|
}
|
2735
2749
|
const { type } = obj;
|
2736
2750
|
switch (obj.type) {
|
2737
|
-
case
|
2751
|
+
case import_transactions11.TransactionType.Script: {
|
2738
2752
|
return ScriptTransactionRequest.from(obj);
|
2739
2753
|
}
|
2740
|
-
case
|
2754
|
+
case import_transactions11.TransactionType.Create: {
|
2741
2755
|
return CreateTransactionRequest.from(obj);
|
2742
2756
|
}
|
2743
2757
|
default: {
|
@@ -2749,7 +2763,7 @@ var transactionRequestify = (obj) => {
|
|
2749
2763
|
// src/providers/transaction-response/transaction-response.ts
|
2750
2764
|
var import_errors13 = require("@fuel-ts/errors");
|
2751
2765
|
var import_math14 = require("@fuel-ts/math");
|
2752
|
-
var
|
2766
|
+
var import_transactions18 = require("@fuel-ts/transactions");
|
2753
2767
|
var import_utils21 = require("@fuel-ts/utils");
|
2754
2768
|
|
2755
2769
|
// src/providers/transaction-summary/assemble-transaction-summary.ts
|
@@ -2757,7 +2771,7 @@ var import_utils19 = require("@fuel-ts/utils");
|
|
2757
2771
|
|
2758
2772
|
// src/providers/transaction-summary/calculate-transaction-fee.ts
|
2759
2773
|
var import_math11 = require("@fuel-ts/math");
|
2760
|
-
var
|
2774
|
+
var import_transactions12 = require("@fuel-ts/transactions");
|
2761
2775
|
var import_utils16 = require("@fuel-ts/utils");
|
2762
2776
|
var calculateTransactionFee = (params) => {
|
2763
2777
|
const {
|
@@ -2768,8 +2782,8 @@ var calculateTransactionFee = (params) => {
|
|
2768
2782
|
const gasPerByte = (0, import_math11.bn)(feeParams.gasPerByte);
|
2769
2783
|
const gasPriceFactor = (0, import_math11.bn)(feeParams.gasPriceFactor);
|
2770
2784
|
const transactionBytes = (0, import_utils16.arrayify)(rawPayload);
|
2771
|
-
const [transaction] = new
|
2772
|
-
if (transaction.type ===
|
2785
|
+
const [transaction] = new import_transactions12.TransactionCoder().decode(transactionBytes, 0);
|
2786
|
+
if (transaction.type === import_transactions12.TransactionType.Mint) {
|
2773
2787
|
return {
|
2774
2788
|
fee: (0, import_math11.bn)(0),
|
2775
2789
|
minFee: (0, import_math11.bn)(0),
|
@@ -2780,7 +2794,7 @@ var calculateTransactionFee = (params) => {
|
|
2780
2794
|
const { type, witnesses, inputs, policies } = transaction;
|
2781
2795
|
let metadataGas = (0, import_math11.bn)(0);
|
2782
2796
|
let gasLimit = (0, import_math11.bn)(0);
|
2783
|
-
if (type ===
|
2797
|
+
if (type === import_transactions12.TransactionType.Create) {
|
2784
2798
|
const { bytecodeWitnessIndex, storageSlots } = transaction;
|
2785
2799
|
const contractBytesSize = (0, import_math11.bn)((0, import_utils16.arrayify)(witnesses[bytecodeWitnessIndex].data).length);
|
2786
2800
|
metadataGas = calculateMetadataGasForTxCreate({
|
@@ -2806,8 +2820,8 @@ var calculateTransactionFee = (params) => {
|
|
2806
2820
|
metadataGas,
|
2807
2821
|
txBytesSize: transactionBytes.length
|
2808
2822
|
});
|
2809
|
-
const gasPrice = (0, import_math11.bn)(policies.find((policy) => policy.type ===
|
2810
|
-
const witnessLimit = policies.find((policy) => policy.type ===
|
2823
|
+
const gasPrice = (0, import_math11.bn)(policies.find((policy) => policy.type === import_transactions12.PolicyType.GasPrice)?.data);
|
2824
|
+
const witnessLimit = policies.find((policy) => policy.type === import_transactions12.PolicyType.WitnessLimit)?.data;
|
2811
2825
|
const witnessesLength = witnesses.reduce((acc, wit) => acc + wit.dataLength, 0);
|
2812
2826
|
const maxGas = getMaxGas({
|
2813
2827
|
gasPerByte,
|
@@ -2832,7 +2846,7 @@ var calculateTransactionFee = (params) => {
|
|
2832
2846
|
var import_configs11 = require("@fuel-ts/address/configs");
|
2833
2847
|
var import_errors11 = require("@fuel-ts/errors");
|
2834
2848
|
var import_math13 = require("@fuel-ts/math");
|
2835
|
-
var
|
2849
|
+
var import_transactions15 = require("@fuel-ts/transactions");
|
2836
2850
|
|
2837
2851
|
// src/providers/transaction-summary/call.ts
|
2838
2852
|
var import_abi_coder4 = require("@fuel-ts/abi-coder");
|
@@ -2880,7 +2894,7 @@ var getFunctionCall = ({ abi, receipt, rawPayload, maxInputs }) => {
|
|
2880
2894
|
|
2881
2895
|
// src/providers/transaction-summary/input.ts
|
2882
2896
|
var import_errors10 = require("@fuel-ts/errors");
|
2883
|
-
var
|
2897
|
+
var import_transactions13 = require("@fuel-ts/transactions");
|
2884
2898
|
function getInputsByTypes(inputs, types) {
|
2885
2899
|
return inputs.filter((i) => types.includes(i.type));
|
2886
2900
|
}
|
@@ -2888,16 +2902,16 @@ function getInputsByType(inputs, type) {
|
|
2888
2902
|
return inputs.filter((i) => i.type === type);
|
2889
2903
|
}
|
2890
2904
|
function getInputsCoin(inputs) {
|
2891
|
-
return getInputsByType(inputs,
|
2905
|
+
return getInputsByType(inputs, import_transactions13.InputType.Coin);
|
2892
2906
|
}
|
2893
2907
|
function getInputsMessage(inputs) {
|
2894
|
-
return getInputsByType(inputs,
|
2908
|
+
return getInputsByType(inputs, import_transactions13.InputType.Message);
|
2895
2909
|
}
|
2896
2910
|
function getInputsCoinAndMessage(inputs) {
|
2897
|
-
return getInputsByTypes(inputs, [
|
2911
|
+
return getInputsByTypes(inputs, [import_transactions13.InputType.Coin, import_transactions13.InputType.Message]);
|
2898
2912
|
}
|
2899
2913
|
function getInputsContract(inputs) {
|
2900
|
-
return getInputsByType(inputs,
|
2914
|
+
return getInputsByType(inputs, import_transactions13.InputType.Contract);
|
2901
2915
|
}
|
2902
2916
|
function getInputFromAssetId(inputs, assetId) {
|
2903
2917
|
const coinInputs = getInputsCoin(inputs);
|
@@ -2916,7 +2930,7 @@ function getInputContractFromIndex(inputs, inputIndex) {
|
|
2916
2930
|
if (!contractInput) {
|
2917
2931
|
return void 0;
|
2918
2932
|
}
|
2919
|
-
if (contractInput.type !==
|
2933
|
+
if (contractInput.type !== import_transactions13.InputType.Contract) {
|
2920
2934
|
throw new import_errors10.FuelError(
|
2921
2935
|
import_errors10.ErrorCode.INVALID_TRANSACTION_INPUT,
|
2922
2936
|
`Contract input should be of type 'contract'.`
|
@@ -2925,34 +2939,34 @@ function getInputContractFromIndex(inputs, inputIndex) {
|
|
2925
2939
|
return contractInput;
|
2926
2940
|
}
|
2927
2941
|
function getInputAccountAddress(input) {
|
2928
|
-
if (input.type ===
|
2942
|
+
if (input.type === import_transactions13.InputType.Coin) {
|
2929
2943
|
return input.owner.toString();
|
2930
2944
|
}
|
2931
|
-
if (input.type ===
|
2945
|
+
if (input.type === import_transactions13.InputType.Message) {
|
2932
2946
|
return input.recipient.toString();
|
2933
2947
|
}
|
2934
2948
|
return "";
|
2935
2949
|
}
|
2936
2950
|
|
2937
2951
|
// src/providers/transaction-summary/output.ts
|
2938
|
-
var
|
2952
|
+
var import_transactions14 = require("@fuel-ts/transactions");
|
2939
2953
|
function getOutputsByType(outputs, type) {
|
2940
2954
|
return outputs.filter((o) => o.type === type);
|
2941
2955
|
}
|
2942
2956
|
function getOutputsContractCreated(outputs) {
|
2943
|
-
return getOutputsByType(outputs,
|
2957
|
+
return getOutputsByType(outputs, import_transactions14.OutputType.ContractCreated);
|
2944
2958
|
}
|
2945
2959
|
function getOutputsCoin(outputs) {
|
2946
|
-
return getOutputsByType(outputs,
|
2960
|
+
return getOutputsByType(outputs, import_transactions14.OutputType.Coin);
|
2947
2961
|
}
|
2948
2962
|
function getOutputsChange(outputs) {
|
2949
|
-
return getOutputsByType(outputs,
|
2963
|
+
return getOutputsByType(outputs, import_transactions14.OutputType.Change);
|
2950
2964
|
}
|
2951
2965
|
function getOutputsContract(outputs) {
|
2952
|
-
return getOutputsByType(outputs,
|
2966
|
+
return getOutputsByType(outputs, import_transactions14.OutputType.Contract);
|
2953
2967
|
}
|
2954
2968
|
function getOutputsVariable(outputs) {
|
2955
|
-
return getOutputsByType(outputs,
|
2969
|
+
return getOutputsByType(outputs, import_transactions14.OutputType.Variable);
|
2956
2970
|
}
|
2957
2971
|
|
2958
2972
|
// src/providers/transaction-summary/types.ts
|
@@ -2999,11 +3013,11 @@ function getReceiptsByType(receipts, type) {
|
|
2999
3013
|
}
|
3000
3014
|
function getTransactionTypeName(transactionType) {
|
3001
3015
|
switch (transactionType) {
|
3002
|
-
case
|
3016
|
+
case import_transactions15.TransactionType.Mint:
|
3003
3017
|
return "Mint" /* Mint */;
|
3004
|
-
case
|
3018
|
+
case import_transactions15.TransactionType.Create:
|
3005
3019
|
return "Create" /* Create */;
|
3006
|
-
case
|
3020
|
+
case import_transactions15.TransactionType.Script:
|
3007
3021
|
return "Script" /* Script */;
|
3008
3022
|
default:
|
3009
3023
|
throw new import_errors11.FuelError(
|
@@ -3029,10 +3043,10 @@ function hasSameAssetId(a) {
|
|
3029
3043
|
return (b) => a.assetId === b.assetId;
|
3030
3044
|
}
|
3031
3045
|
function getReceiptsCall(receipts) {
|
3032
|
-
return getReceiptsByType(receipts,
|
3046
|
+
return getReceiptsByType(receipts, import_transactions15.ReceiptType.Call);
|
3033
3047
|
}
|
3034
3048
|
function getReceiptsMessageOut(receipts) {
|
3035
|
-
return getReceiptsByType(receipts,
|
3049
|
+
return getReceiptsByType(receipts, import_transactions15.ReceiptType.MessageOut);
|
3036
3050
|
}
|
3037
3051
|
var mergeAssets = (op1, op2) => {
|
3038
3052
|
const assets1 = op1.assetsSent || [];
|
@@ -3071,7 +3085,7 @@ function addOperation(operations, toAdd) {
|
|
3071
3085
|
return allOperations;
|
3072
3086
|
}
|
3073
3087
|
function getReceiptsTransferOut(receipts) {
|
3074
|
-
return getReceiptsByType(receipts,
|
3088
|
+
return getReceiptsByType(receipts, import_transactions15.ReceiptType.TransferOut);
|
3075
3089
|
}
|
3076
3090
|
function getWithdrawFromFuelOperations({
|
3077
3091
|
inputs,
|
@@ -3231,11 +3245,11 @@ function getTransferOperations({
|
|
3231
3245
|
});
|
3232
3246
|
const transferReceipts = getReceiptsByType(
|
3233
3247
|
receipts,
|
3234
|
-
|
3248
|
+
import_transactions15.ReceiptType.Transfer
|
3235
3249
|
);
|
3236
3250
|
const transferOutReceipts = getReceiptsByType(
|
3237
3251
|
receipts,
|
3238
|
-
|
3252
|
+
import_transactions15.ReceiptType.TransferOut
|
3239
3253
|
);
|
3240
3254
|
[...transferReceipts, ...transferOutReceipts].forEach((receipt) => {
|
3241
3255
|
const operation = extractTransferOperationFromReceipt(receipt, contractInputs, changeOutputs);
|
@@ -3320,17 +3334,17 @@ function getOperations({
|
|
3320
3334
|
}
|
3321
3335
|
|
3322
3336
|
// src/providers/transaction-summary/receipt.ts
|
3323
|
-
var
|
3337
|
+
var import_transactions16 = require("@fuel-ts/transactions");
|
3324
3338
|
var processGqlReceipt = (gqlReceipt) => {
|
3325
3339
|
const receipt = assembleReceiptByType(gqlReceipt);
|
3326
3340
|
switch (receipt.type) {
|
3327
|
-
case
|
3341
|
+
case import_transactions16.ReceiptType.ReturnData: {
|
3328
3342
|
return {
|
3329
3343
|
...receipt,
|
3330
3344
|
data: gqlReceipt.data || "0x"
|
3331
3345
|
};
|
3332
3346
|
}
|
3333
|
-
case
|
3347
|
+
case import_transactions16.ReceiptType.LogData: {
|
3334
3348
|
return {
|
3335
3349
|
...receipt,
|
3336
3350
|
data: gqlReceipt.data || "0x"
|
@@ -3343,7 +3357,7 @@ var processGqlReceipt = (gqlReceipt) => {
|
|
3343
3357
|
var extractMintedAssetsFromReceipts = (receipts) => {
|
3344
3358
|
const mintedAssets = [];
|
3345
3359
|
receipts.forEach((receipt) => {
|
3346
|
-
if (receipt.type ===
|
3360
|
+
if (receipt.type === import_transactions16.ReceiptType.Mint) {
|
3347
3361
|
mintedAssets.push({
|
3348
3362
|
subId: receipt.subId,
|
3349
3363
|
contractId: receipt.contractId,
|
@@ -3357,7 +3371,7 @@ var extractMintedAssetsFromReceipts = (receipts) => {
|
|
3357
3371
|
var extractBurnedAssetsFromReceipts = (receipts) => {
|
3358
3372
|
const burnedAssets = [];
|
3359
3373
|
receipts.forEach((receipt) => {
|
3360
|
-
if (receipt.type ===
|
3374
|
+
if (receipt.type === import_transactions16.ReceiptType.Burn) {
|
3361
3375
|
burnedAssets.push({
|
3362
3376
|
subId: receipt.subId,
|
3363
3377
|
contractId: receipt.contractId,
|
@@ -3496,12 +3510,12 @@ function assembleTransactionSummary(params) {
|
|
3496
3510
|
|
3497
3511
|
// src/providers/transaction-response/getDecodedLogs.ts
|
3498
3512
|
var import_abi_coder5 = require("@fuel-ts/abi-coder");
|
3499
|
-
var
|
3513
|
+
var import_transactions17 = require("@fuel-ts/transactions");
|
3500
3514
|
function getDecodedLogs(receipts, mainAbi, externalAbis = {}) {
|
3501
3515
|
return receipts.reduce((logs, receipt) => {
|
3502
|
-
if (receipt.type ===
|
3516
|
+
if (receipt.type === import_transactions17.ReceiptType.LogData || receipt.type === import_transactions17.ReceiptType.Log) {
|
3503
3517
|
const interfaceToUse = new import_abi_coder5.Interface(externalAbis[receipt.id] || mainAbi);
|
3504
|
-
const data = receipt.type ===
|
3518
|
+
const data = receipt.type === import_transactions17.ReceiptType.Log ? new import_abi_coder5.BigNumberCoder("u64").encode(receipt.val0) : receipt.data;
|
3505
3519
|
const [decodedLog] = interfaceToUse.decodeLog(data, receipt.val1.toNumber());
|
3506
3520
|
logs.push(decodedLog);
|
3507
3521
|
}
|
@@ -3574,7 +3588,7 @@ var TransactionResponse = class {
|
|
3574
3588
|
* @returns The decoded transaction.
|
3575
3589
|
*/
|
3576
3590
|
decodeTransaction(transactionWithReceipts) {
|
3577
|
-
return new
|
3591
|
+
return new import_transactions18.TransactionCoder().decode(
|
3578
3592
|
(0, import_utils21.arrayify)(transactionWithReceipts.rawPayload),
|
3579
3593
|
0
|
3580
3594
|
)?.[0];
|
@@ -3929,6 +3943,21 @@ var _Provider = class {
|
|
3929
3943
|
} = await this.operations.getVersion();
|
3930
3944
|
return nodeVersion;
|
3931
3945
|
}
|
3946
|
+
/**
|
3947
|
+
* @hidden
|
3948
|
+
*
|
3949
|
+
* Returns the network configuration of the connected Fuel node.
|
3950
|
+
*
|
3951
|
+
* @returns A promise that resolves to the network configuration object
|
3952
|
+
*/
|
3953
|
+
async getNetwork() {
|
3954
|
+
const {
|
3955
|
+
name,
|
3956
|
+
consensusParameters: { chainId }
|
3957
|
+
} = await this.getChain();
|
3958
|
+
const network = new import_ethers.Network(name, chainId.toNumber());
|
3959
|
+
return Promise.resolve(network);
|
3960
|
+
}
|
3932
3961
|
/**
|
3933
3962
|
* Returns the block number.
|
3934
3963
|
*
|
@@ -3996,7 +4025,7 @@ var _Provider = class {
|
|
3996
4025
|
}
|
3997
4026
|
const encodedTransaction = (0, import_utils23.hexlify)(transactionRequest.toTransactionBytes());
|
3998
4027
|
let abis;
|
3999
|
-
if (transactionRequest.type ===
|
4028
|
+
if (transactionRequest.type === import_transactions19.TransactionType.Script) {
|
4000
4029
|
abis = transactionRequest.abis;
|
4001
4030
|
}
|
4002
4031
|
if (awaitExecution) {
|
@@ -4092,7 +4121,7 @@ var _Provider = class {
|
|
4092
4121
|
* @returns A promise.
|
4093
4122
|
*/
|
4094
4123
|
async estimateTxDependencies(transactionRequest) {
|
4095
|
-
if (transactionRequest.type ===
|
4124
|
+
if (transactionRequest.type === import_transactions19.TransactionType.Create) {
|
4096
4125
|
return {
|
4097
4126
|
receipts: [],
|
4098
4127
|
outputVariables: 0,
|
@@ -4141,7 +4170,7 @@ var _Provider = class {
|
|
4141
4170
|
transactionRequest.gasPrice = gasPrice;
|
4142
4171
|
const minGas = transactionRequest.calculateMinGas(chainInfo);
|
4143
4172
|
const minFee = calculatePriceWithFactor(minGas, gasPrice, gasPriceFactor).normalizeZeroToOne();
|
4144
|
-
if (transactionRequest.type ===
|
4173
|
+
if (transactionRequest.type === import_transactions19.TransactionType.Script) {
|
4145
4174
|
if (transactionRequest.gasLimit.eq(0)) {
|
4146
4175
|
transactionRequest.gasLimit = minGas;
|
4147
4176
|
transactionRequest.gasLimit = maxGasPerTx.sub(
|
@@ -4207,7 +4236,7 @@ var _Provider = class {
|
|
4207
4236
|
const txRequestClone = (0, import_ramda3.clone)(transactionRequestify(transactionRequestLike));
|
4208
4237
|
const { minGasPrice } = this.getGasConfig();
|
4209
4238
|
const setGasPrice = (0, import_math15.max)(txRequestClone.gasPrice, minGasPrice);
|
4210
|
-
const isScriptTransaction = txRequestClone.type ===
|
4239
|
+
const isScriptTransaction = txRequestClone.type === import_transactions19.TransactionType.Script;
|
4211
4240
|
const coinOutputsQuantities = txRequestClone.getCoinOutputsQuantities();
|
4212
4241
|
const allQuantities = mergeQuantities(coinOutputsQuantities, forwardingQuantities);
|
4213
4242
|
txRequestClone.fundWithFakeUtxos(allQuantities, resourcesOwner?.address);
|
@@ -4423,7 +4452,7 @@ var _Provider = class {
|
|
4423
4452
|
time: block.header.time,
|
4424
4453
|
transactionIds: block.transactions.map((tx) => tx.id),
|
4425
4454
|
transactions: block.transactions.map(
|
4426
|
-
(tx) => new
|
4455
|
+
(tx) => new import_transactions19.TransactionCoder().decode((0, import_utils23.arrayify)(tx.rawPayload), 0)?.[0]
|
4427
4456
|
)
|
4428
4457
|
};
|
4429
4458
|
}
|
@@ -4438,7 +4467,7 @@ var _Provider = class {
|
|
4438
4467
|
if (!transaction) {
|
4439
4468
|
return null;
|
4440
4469
|
}
|
4441
|
-
return new
|
4470
|
+
return new import_transactions19.TransactionCoder().decode(
|
4442
4471
|
(0, import_utils23.arrayify)(transaction.rawPayload),
|
4443
4472
|
0
|
4444
4473
|
)?.[0];
|
@@ -4518,7 +4547,7 @@ var _Provider = class {
|
|
4518
4547
|
});
|
4519
4548
|
const messages = result.messages.edges.map((edge) => edge.node);
|
4520
4549
|
return messages.map((message) => ({
|
4521
|
-
messageId:
|
4550
|
+
messageId: import_transactions19.InputMessageCoder.getMessageId({
|
4522
4551
|
sender: message.sender,
|
4523
4552
|
recipient: message.recipient,
|
4524
4553
|
nonce: message.nonce,
|
@@ -4529,7 +4558,7 @@ var _Provider = class {
|
|
4529
4558
|
recipient: import_address3.Address.fromAddressOrString(message.recipient),
|
4530
4559
|
nonce: message.nonce,
|
4531
4560
|
amount: (0, import_math15.bn)(message.amount),
|
4532
|
-
data:
|
4561
|
+
data: import_transactions19.InputMessageCoder.decodeData(message.data),
|
4533
4562
|
daHeight: (0, import_math15.bn)(message.daHeight)
|
4534
4563
|
}));
|
4535
4564
|
}
|
@@ -4657,7 +4686,7 @@ cacheInputs_fn = function(inputs) {
|
|
4657
4686
|
return;
|
4658
4687
|
}
|
4659
4688
|
inputs.forEach((input) => {
|
4660
|
-
if (input.type ===
|
4689
|
+
if (input.type === import_transactions19.InputType.Coin) {
|
4661
4690
|
this.cache?.set(input.id);
|
4662
4691
|
}
|
4663
4692
|
});
|
@@ -4668,7 +4697,7 @@ __publicField(Provider, "nodeInfoCache", {});
|
|
4668
4697
|
// src/providers/transaction-summary/get-transaction-summary.ts
|
4669
4698
|
var import_errors15 = require("@fuel-ts/errors");
|
4670
4699
|
var import_math16 = require("@fuel-ts/math");
|
4671
|
-
var
|
4700
|
+
var import_transactions20 = require("@fuel-ts/transactions");
|
4672
4701
|
var import_utils26 = require("@fuel-ts/utils");
|
4673
4702
|
async function getTransactionSummary(params) {
|
4674
4703
|
const { id, provider, abiMap } = params;
|
@@ -4681,7 +4710,7 @@ async function getTransactionSummary(params) {
|
|
4681
4710
|
`Transaction not found for given id: ${id}.`
|
4682
4711
|
);
|
4683
4712
|
}
|
4684
|
-
const [decodedTransaction] = new
|
4713
|
+
const [decodedTransaction] = new import_transactions20.TransactionCoder().decode(
|
4685
4714
|
(0, import_utils26.arrayify)(gqlTransaction.rawPayload),
|
4686
4715
|
0
|
4687
4716
|
);
|
@@ -4735,7 +4764,7 @@ async function getTransactionsSummaries(params) {
|
|
4735
4764
|
const transactions = edges.map((edge) => {
|
4736
4765
|
const { node: gqlTransaction } = edge;
|
4737
4766
|
const { id, rawPayload, receipts: gqlReceipts, status } = gqlTransaction;
|
4738
|
-
const [decodedTransaction] = new
|
4767
|
+
const [decodedTransaction] = new import_transactions20.TransactionCoder().decode((0, import_utils26.arrayify)(rawPayload), 0);
|
4739
4768
|
const receipts = gqlReceipts?.map(processGqlReceipt) || [];
|
4740
4769
|
const transactionSummary = assembleTransactionSummary({
|
4741
4770
|
id,
|
@@ -5655,17 +5684,18 @@ var BaseWalletUnlocked = class extends Account {
|
|
5655
5684
|
__publicField(BaseWalletUnlocked, "defaultPath", "m/44'/1179993420'/0'/0/0");
|
5656
5685
|
|
5657
5686
|
// src/hdwallet/hdwallet.ts
|
5658
|
-
var import_crypto5 = require("@fuel-ts/crypto");
|
5659
5687
|
var import_errors20 = require("@fuel-ts/errors");
|
5660
5688
|
var import_hasher6 = require("@fuel-ts/hasher");
|
5661
5689
|
var import_math20 = require("@fuel-ts/math");
|
5662
5690
|
var import_utils35 = require("@fuel-ts/utils");
|
5691
|
+
var import_ethers3 = require("ethers");
|
5663
5692
|
|
5664
5693
|
// src/mnemonic/mnemonic.ts
|
5665
5694
|
var import_crypto4 = require("@fuel-ts/crypto");
|
5666
5695
|
var import_errors19 = require("@fuel-ts/errors");
|
5667
5696
|
var import_hasher5 = require("@fuel-ts/hasher");
|
5668
5697
|
var import_utils33 = require("@fuel-ts/utils");
|
5698
|
+
var import_ethers2 = require("ethers");
|
5669
5699
|
|
5670
5700
|
// src/wordlists/words/english.ts
|
5671
5701
|
var english = [
|
@@ -7919,7 +7949,7 @@ var Mnemonic = class {
|
|
7919
7949
|
assertMnemonic(getWords(phrase));
|
7920
7950
|
const phraseBytes = toUtf8Bytes(getPhrase(phrase));
|
7921
7951
|
const salt = toUtf8Bytes(`mnemonic${passphrase}`);
|
7922
|
-
return (0,
|
7952
|
+
return (0, import_ethers2.pbkdf2)(phraseBytes, salt, 2048, 64, "sha512");
|
7923
7953
|
}
|
7924
7954
|
/**
|
7925
7955
|
* @param phrase - Mnemonic phrase composed by words from the provided wordlist
|
@@ -7981,7 +8011,7 @@ var Mnemonic = class {
|
|
7981
8011
|
`Seed length should be between 16 and 64 bytes, but received ${seedArray.length} bytes.`
|
7982
8012
|
);
|
7983
8013
|
}
|
7984
|
-
return (0, import_utils33.arrayify)((0,
|
8014
|
+
return (0, import_utils33.arrayify)((0, import_ethers2.computeHmac)("sha512", MasterSecret, seedArray));
|
7985
8015
|
}
|
7986
8016
|
/**
|
7987
8017
|
* Get the extendKey as defined on BIP-32 from the provided seed
|
@@ -8006,8 +8036,8 @@ var Mnemonic = class {
|
|
8006
8036
|
chainCode,
|
8007
8037
|
(0, import_utils33.concat)(["0x00", privateKey])
|
8008
8038
|
]);
|
8009
|
-
const checksum = (0,
|
8010
|
-
return (0,
|
8039
|
+
const checksum = (0, import_ethers2.dataSlice)((0, import_hasher5.sha256)((0, import_hasher5.sha256)(extendedKey)), 0, 4);
|
8040
|
+
return (0, import_ethers2.encodeBase58)((0, import_utils33.concat)([extendedKey, checksum]));
|
8011
8041
|
}
|
8012
8042
|
/**
|
8013
8043
|
* Create a new mnemonic using a randomly generated number as entropy.
|
@@ -8035,7 +8065,7 @@ var MainnetPUB = (0, import_utils35.hexlify)("0x0488b21e");
|
|
8035
8065
|
var TestnetPRV2 = (0, import_utils35.hexlify)("0x04358394");
|
8036
8066
|
var TestnetPUB = (0, import_utils35.hexlify)("0x043587cf");
|
8037
8067
|
function base58check(data) {
|
8038
|
-
return (0,
|
8068
|
+
return (0, import_ethers3.encodeBase58)((0, import_utils35.concat)([data, (0, import_ethers3.dataSlice)((0, import_hasher6.sha256)((0, import_hasher6.sha256)(data)), 0, 4)]));
|
8039
8069
|
}
|
8040
8070
|
function getExtendedKeyPrefix(isPublic = false, testnet = false) {
|
8041
8071
|
if (isPublic) {
|
@@ -8091,7 +8121,7 @@ var HDWallet = class {
|
|
8091
8121
|
this.publicKey = (0, import_utils35.hexlify)(config.publicKey);
|
8092
8122
|
}
|
8093
8123
|
this.parentFingerprint = config.parentFingerprint || this.parentFingerprint;
|
8094
|
-
this.fingerprint = (0,
|
8124
|
+
this.fingerprint = (0, import_ethers3.dataSlice)((0, import_ethers3.ripemd160)((0, import_hasher6.sha256)(this.publicKey)), 0, 4);
|
8095
8125
|
this.depth = config.depth || this.depth;
|
8096
8126
|
this.index = config.index || this.index;
|
8097
8127
|
this.chainCode = config.chainCode;
|
@@ -8123,7 +8153,7 @@ var HDWallet = class {
|
|
8123
8153
|
data.set((0, import_utils35.arrayify)(this.publicKey));
|
8124
8154
|
}
|
8125
8155
|
data.set((0, import_math20.toBytes)(index, 4), 33);
|
8126
|
-
const bytes = (0, import_utils35.arrayify)((0,
|
8156
|
+
const bytes = (0, import_utils35.arrayify)((0, import_ethers3.computeHmac)("sha512", chainCode, data));
|
8127
8157
|
const IL = bytes.slice(0, 32);
|
8128
8158
|
const IR = bytes.slice(32);
|
8129
8159
|
if (privateKey) {
|
@@ -8194,8 +8224,7 @@ var HDWallet = class {
|
|
8194
8224
|
});
|
8195
8225
|
}
|
8196
8226
|
static fromExtendedKey(extendedKey) {
|
8197
|
-
|
8198
|
-
decoded = `${decoded.substring(0, 2)}0${decoded.substring(2)}`;
|
8227
|
+
const decoded = (0, import_ethers3.toBeHex)((0, import_ethers3.decodeBase58)(extendedKey));
|
8199
8228
|
const bytes = (0, import_utils35.arrayify)(decoded);
|
8200
8229
|
const validChecksum = base58check(bytes.slice(0, 78)) === extendedKey;
|
8201
8230
|
if (bytes.length !== 82 || !isValidExtendedKey(bytes)) {
|
@@ -8395,7 +8424,7 @@ __publicField(Wallet, "fromEncryptedJson", WalletUnlocked.fromEncryptedJson);
|
|
8395
8424
|
|
8396
8425
|
// src/wallet-manager/wallet-manager.ts
|
8397
8426
|
var import_address9 = require("@fuel-ts/address");
|
8398
|
-
var
|
8427
|
+
var import_crypto5 = require("@fuel-ts/crypto");
|
8399
8428
|
var import_errors23 = require("@fuel-ts/errors");
|
8400
8429
|
var import_events = require("events");
|
8401
8430
|
|
@@ -8723,7 +8752,7 @@ var _WalletManager = class extends import_events.EventEmitter {
|
|
8723
8752
|
await assert(!__privateGet(this, _isLocked), ERROR_MESSAGES.wallet_not_unlocked);
|
8724
8753
|
const data = await this.storage.getItem(this.STORAGE_KEY);
|
8725
8754
|
if (data) {
|
8726
|
-
const state = await (0,
|
8755
|
+
const state = await (0, import_crypto5.decrypt)(__privateGet(this, _passphrase), JSON.parse(data));
|
8727
8756
|
__privateSet(this, _vaults, __privateMethod(this, _deserializeVaults, deserializeVaults_fn).call(this, state.vaults));
|
8728
8757
|
}
|
8729
8758
|
}
|
@@ -8732,7 +8761,7 @@ var _WalletManager = class extends import_events.EventEmitter {
|
|
8732
8761
|
*/
|
8733
8762
|
async saveState() {
|
8734
8763
|
await assert(!__privateGet(this, _isLocked), ERROR_MESSAGES.wallet_not_unlocked);
|
8735
|
-
const encryptedData = await (0,
|
8764
|
+
const encryptedData = await (0, import_crypto5.encrypt)(__privateGet(this, _passphrase), {
|
8736
8765
|
vaults: __privateMethod(this, _serializeVaults, serializeVaults_fn).call(this, __privateGet(this, _vaults))
|
8737
8766
|
});
|
8738
8767
|
await this.storage.setItem(this.STORAGE_KEY, JSON.stringify(encryptedData));
|
@@ -8812,7 +8841,7 @@ var import_abi_coder7 = require("@fuel-ts/abi-coder");
|
|
8812
8841
|
var import_address10 = require("@fuel-ts/address");
|
8813
8842
|
var import_configs13 = require("@fuel-ts/address/configs");
|
8814
8843
|
var import_errors25 = require("@fuel-ts/errors");
|
8815
|
-
var
|
8844
|
+
var import_transactions21 = require("@fuel-ts/transactions");
|
8816
8845
|
var import_utils37 = require("@fuel-ts/utils");
|
8817
8846
|
|
8818
8847
|
// src/predicate/utils/getPredicateRoot.ts
|
@@ -8871,10 +8900,15 @@ var Predicate = class extends Account {
|
|
8871
8900
|
populateTransactionPredicateData(transactionRequestLike) {
|
8872
8901
|
const request = transactionRequestify(transactionRequestLike);
|
8873
8902
|
const { policies } = BaseTransactionRequest.getPolicyMeta(request);
|
8874
|
-
|
8875
|
-
|
8903
|
+
const placeholderIndex = this.getIndexFromPlaceholderWitness(request);
|
8904
|
+
if (placeholderIndex !== -1) {
|
8905
|
+
request.removeWitness(placeholderIndex);
|
8906
|
+
}
|
8907
|
+
request.inputs.filter(isRequestInputResource).forEach((input) => {
|
8908
|
+
if (isRequestInputResourceFromOwner(input, this.address)) {
|
8876
8909
|
input.predicate = this.bytes;
|
8877
8910
|
input.predicateData = this.getPredicateData(policies.length);
|
8911
|
+
input.witnessIndex = 0;
|
8878
8912
|
}
|
8879
8913
|
});
|
8880
8914
|
return request;
|
@@ -8912,12 +8946,26 @@ var Predicate = class extends Account {
|
|
8912
8946
|
const transactionRequest = this.populateTransactionPredicateData(transactionRequestLike);
|
8913
8947
|
return super.simulateTransaction(transactionRequest);
|
8914
8948
|
}
|
8949
|
+
/**
|
8950
|
+
* Retrieves resources satisfying the spend query for the account.
|
8951
|
+
*
|
8952
|
+
* @param quantities - Coins to retrieve.
|
8953
|
+
* @param excludedIds - IDs of resources to be excluded from the query.
|
8954
|
+
* @returns A promise that resolves to an array of Resources.
|
8955
|
+
*/
|
8956
|
+
async getResourcesToSpend(quantities, excludedIds) {
|
8957
|
+
const resources = await super.getResourcesToSpend(quantities, excludedIds);
|
8958
|
+
return resources.map((resource) => ({
|
8959
|
+
...resource,
|
8960
|
+
predicate: (0, import_utils37.hexlify)(this.bytes)
|
8961
|
+
}));
|
8962
|
+
}
|
8915
8963
|
getPredicateData(policiesLength) {
|
8916
8964
|
if (!this.predicateData.length) {
|
8917
8965
|
return new Uint8Array();
|
8918
8966
|
}
|
8919
8967
|
const mainFn = this.interface?.functions.main;
|
8920
|
-
const paddedCode = new
|
8968
|
+
const paddedCode = new import_transactions21.ByteArrayCoder(this.bytes.length).encode(this.bytes);
|
8921
8969
|
const VM_TX_MEMORY = (0, import_abi_coder7.calculateVmTxMemory)({
|
8922
8970
|
maxInputs: this.provider.getChain().consensusParameters.maxInputs.toNumber()
|
8923
8971
|
});
|
@@ -8991,6 +9039,28 @@ var Predicate = class extends Account {
|
|
8991
9039
|
}
|
8992
9040
|
return mutatedBytes;
|
8993
9041
|
}
|
9042
|
+
/**
|
9043
|
+
* Returns the index of the witness placeholder that was added to this predicate.
|
9044
|
+
* If no witness placeholder was added, it returns -1.
|
9045
|
+
* @param request - The transaction request.
|
9046
|
+
* @returns The index of the witness placeholder, or -1 if there is no witness placeholder.
|
9047
|
+
*/
|
9048
|
+
getIndexFromPlaceholderWitness(request) {
|
9049
|
+
const predicateInputs = request.inputs.filter(isRequestInputResource).filter((input) => isRequestInputResourceFromOwner(input, this.address));
|
9050
|
+
let index = -1;
|
9051
|
+
const hasEmptyPredicateInputs = predicateInputs.find((input) => !input.predicate);
|
9052
|
+
if (hasEmptyPredicateInputs) {
|
9053
|
+
index = hasEmptyPredicateInputs.witnessIndex;
|
9054
|
+
const allInputsAreEmpty = predicateInputs.every((input) => !input.predicate);
|
9055
|
+
if (!allInputsAreEmpty) {
|
9056
|
+
const wasFilledInputAddedFirst = !!predicateInputs[0]?.predicate;
|
9057
|
+
if (wasFilledInputAddedFirst) {
|
9058
|
+
index = -1;
|
9059
|
+
}
|
9060
|
+
}
|
9061
|
+
}
|
9062
|
+
return index;
|
9063
|
+
}
|
8994
9064
|
};
|
8995
9065
|
|
8996
9066
|
// src/connectors/fuel.ts
|
@@ -9714,6 +9784,7 @@ __publicField(Fuel, "defaultConfig", {});
|
|
9714
9784
|
assets,
|
9715
9785
|
buildBlockExplorerUrl,
|
9716
9786
|
cacheFor,
|
9787
|
+
cacheResources,
|
9717
9788
|
calculateMetadataGasForTxCreate,
|
9718
9789
|
calculateMetadataGasForTxScript,
|
9719
9790
|
calculatePriceWithFactor,
|
@@ -9760,6 +9831,7 @@ __publicField(Fuel, "defaultConfig", {});
|
|
9760
9831
|
getReceiptsMessageOut,
|
9761
9832
|
getReceiptsTransferOut,
|
9762
9833
|
getReceiptsWithMissingData,
|
9834
|
+
getRequestInputResourceOwner,
|
9763
9835
|
getTransactionStatusName,
|
9764
9836
|
getTransactionSummary,
|
9765
9837
|
getTransactionSummaryFromRequest,
|
@@ -9773,6 +9845,10 @@ __publicField(Fuel, "defaultConfig", {});
|
|
9773
9845
|
isMessage,
|
9774
9846
|
isRawCoin,
|
9775
9847
|
isRawMessage,
|
9848
|
+
isRequestInputCoin,
|
9849
|
+
isRequestInputMessage,
|
9850
|
+
isRequestInputResource,
|
9851
|
+
isRequestInputResourceFromOwner,
|
9776
9852
|
isType,
|
9777
9853
|
isTypeCreate,
|
9778
9854
|
isTypeMint,
|