@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/test-utils.js
CHANGED
@@ -48,6 +48,9 @@ var __privateMethod = (obj, member, method) => {
|
|
48
48
|
// src/test-utils/index.ts
|
49
49
|
var test_utils_exports = {};
|
50
50
|
__export(test_utils_exports, {
|
51
|
+
generateFakeRequestInputCoin: () => generateFakeRequestInputCoin,
|
52
|
+
generateFakeRequestInputContract: () => generateFakeRequestInputContract,
|
53
|
+
generateFakeRequestInputMessage: () => generateFakeRequestInputMessage,
|
51
54
|
generateTestWallet: () => generateTestWallet,
|
52
55
|
killNode: () => killNode,
|
53
56
|
launchNode: () => launchNode,
|
@@ -107,10 +110,11 @@ var addAmountToCoinQuantities = (params) => {
|
|
107
110
|
var import_address3 = require("@fuel-ts/address");
|
108
111
|
var import_errors14 = require("@fuel-ts/errors");
|
109
112
|
var import_math16 = require("@fuel-ts/math");
|
110
|
-
var
|
113
|
+
var import_transactions20 = require("@fuel-ts/transactions");
|
111
114
|
var import_utils22 = require("@fuel-ts/utils");
|
112
115
|
var import_versions = require("@fuel-ts/versions");
|
113
116
|
var import_utils23 = require("@noble/curves/abstract/utils");
|
117
|
+
var import_ethers = require("ethers");
|
114
118
|
var import_graphql_request = require("graphql-request");
|
115
119
|
var import_ramda3 = require("ramda");
|
116
120
|
|
@@ -885,6 +889,13 @@ var ProduceBlocksDocument = import_graphql_tag.default`
|
|
885
889
|
)
|
886
890
|
}
|
887
891
|
`;
|
892
|
+
var GetMessageByNonceDocument = import_graphql_tag.default`
|
893
|
+
query getMessageByNonce($nonce: Nonce!) {
|
894
|
+
message(nonce: $nonce) {
|
895
|
+
...messageFragment
|
896
|
+
}
|
897
|
+
}
|
898
|
+
${MessageFragmentFragmentDoc}`;
|
888
899
|
var SubmitAndAwaitDocument = import_graphql_tag.default`
|
889
900
|
subscription submitAndAwait($encodedTransaction: HexString!) {
|
890
901
|
submitAndAwait(tx: $encodedTransaction) {
|
@@ -979,6 +990,9 @@ function getSdk(requester) {
|
|
979
990
|
produceBlocks(variables, options) {
|
980
991
|
return requester(ProduceBlocksDocument, variables, options);
|
981
992
|
},
|
993
|
+
getMessageByNonce(variables, options) {
|
994
|
+
return requester(GetMessageByNonceDocument, variables, options);
|
995
|
+
},
|
982
996
|
submitAndAwait(variables, options) {
|
983
997
|
return requester(SubmitAndAwaitDocument, variables, options);
|
984
998
|
},
|
@@ -1264,7 +1278,7 @@ var import_address = require("@fuel-ts/address");
|
|
1264
1278
|
var import_configs6 = require("@fuel-ts/address/configs");
|
1265
1279
|
var import_crypto = require("@fuel-ts/crypto");
|
1266
1280
|
var import_math7 = require("@fuel-ts/math");
|
1267
|
-
var
|
1281
|
+
var import_transactions7 = require("@fuel-ts/transactions");
|
1268
1282
|
var import_utils9 = require("@fuel-ts/utils");
|
1269
1283
|
|
1270
1284
|
// src/providers/resource.ts
|
@@ -1698,6 +1712,12 @@ var NoWitnessAtIndexError = class extends Error {
|
|
1698
1712
|
name = "NoWitnessAtIndexError";
|
1699
1713
|
};
|
1700
1714
|
|
1715
|
+
// src/providers/transaction-request/helpers.ts
|
1716
|
+
var import_transactions6 = require("@fuel-ts/transactions");
|
1717
|
+
var isRequestInputCoin = (input) => input.type === import_transactions6.InputType.Coin;
|
1718
|
+
var isRequestInputMessage = (input) => input.type === import_transactions6.InputType.Message;
|
1719
|
+
var isRequestInputResource = (input) => isRequestInputCoin(input) || isRequestInputMessage(input);
|
1720
|
+
|
1701
1721
|
// src/providers/transaction-request/witness.ts
|
1702
1722
|
var import_utils8 = require("@fuel-ts/utils");
|
1703
1723
|
var witnessify = (value) => {
|
@@ -1750,20 +1770,20 @@ var BaseTransactionRequest = class {
|
|
1750
1770
|
let policyTypes = 0;
|
1751
1771
|
const policies = [];
|
1752
1772
|
if (req.tip) {
|
1753
|
-
policyTypes +=
|
1754
|
-
policies.push({ data: req.tip, type:
|
1773
|
+
policyTypes += import_transactions7.PolicyType.Tip;
|
1774
|
+
policies.push({ data: req.tip, type: import_transactions7.PolicyType.Tip });
|
1755
1775
|
}
|
1756
1776
|
if (req.witnessLimit) {
|
1757
|
-
policyTypes +=
|
1758
|
-
policies.push({ data: req.witnessLimit, type:
|
1777
|
+
policyTypes += import_transactions7.PolicyType.WitnessLimit;
|
1778
|
+
policies.push({ data: req.witnessLimit, type: import_transactions7.PolicyType.WitnessLimit });
|
1759
1779
|
}
|
1760
1780
|
if (req.maturity > 0) {
|
1761
|
-
policyTypes +=
|
1762
|
-
policies.push({ data: req.maturity, type:
|
1781
|
+
policyTypes += import_transactions7.PolicyType.Maturity;
|
1782
|
+
policies.push({ data: req.maturity, type: import_transactions7.PolicyType.Maturity });
|
1763
1783
|
}
|
1764
1784
|
if (req.maxFee) {
|
1765
|
-
policyTypes +=
|
1766
|
-
policies.push({ data: req.maxFee, type:
|
1785
|
+
policyTypes += import_transactions7.PolicyType.MaxFee;
|
1786
|
+
policies.push({ data: req.maxFee, type: import_transactions7.PolicyType.MaxFee });
|
1767
1787
|
}
|
1768
1788
|
return {
|
1769
1789
|
policyTypes,
|
@@ -1797,7 +1817,7 @@ var BaseTransactionRequest = class {
|
|
1797
1817
|
* @returns The transaction bytes.
|
1798
1818
|
*/
|
1799
1819
|
toTransactionBytes() {
|
1800
|
-
return new
|
1820
|
+
return new import_transactions7.TransactionCoder().encode(this.toTransaction());
|
1801
1821
|
}
|
1802
1822
|
/**
|
1803
1823
|
* @hidden
|
@@ -1888,7 +1908,7 @@ var BaseTransactionRequest = class {
|
|
1888
1908
|
*/
|
1889
1909
|
getCoinInputs() {
|
1890
1910
|
return this.inputs.filter(
|
1891
|
-
(input) => input.type ===
|
1911
|
+
(input) => input.type === import_transactions7.InputType.Coin
|
1892
1912
|
);
|
1893
1913
|
}
|
1894
1914
|
/**
|
@@ -1898,7 +1918,7 @@ var BaseTransactionRequest = class {
|
|
1898
1918
|
*/
|
1899
1919
|
getCoinOutputs() {
|
1900
1920
|
return this.outputs.filter(
|
1901
|
-
(output) => output.type ===
|
1921
|
+
(output) => output.type === import_transactions7.OutputType.Coin
|
1902
1922
|
);
|
1903
1923
|
}
|
1904
1924
|
/**
|
@@ -1908,7 +1928,7 @@ var BaseTransactionRequest = class {
|
|
1908
1928
|
*/
|
1909
1929
|
getChangeOutputs() {
|
1910
1930
|
return this.outputs.filter(
|
1911
|
-
(output) => output.type ===
|
1931
|
+
(output) => output.type === import_transactions7.OutputType.Change
|
1912
1932
|
);
|
1913
1933
|
}
|
1914
1934
|
/**
|
@@ -1920,9 +1940,9 @@ var BaseTransactionRequest = class {
|
|
1920
1940
|
const ownerAddress = (0, import_address.addressify)(owner);
|
1921
1941
|
const found = this.inputs.find((input) => {
|
1922
1942
|
switch (input.type) {
|
1923
|
-
case
|
1943
|
+
case import_transactions7.InputType.Coin:
|
1924
1944
|
return (0, import_utils9.hexlify)(input.owner) === ownerAddress.toB256();
|
1925
|
-
case
|
1945
|
+
case import_transactions7.InputType.Message:
|
1926
1946
|
return (0, import_utils9.hexlify)(input.recipient) === ownerAddress.toB256();
|
1927
1947
|
default:
|
1928
1948
|
return false;
|
@@ -1937,7 +1957,7 @@ var BaseTransactionRequest = class {
|
|
1937
1957
|
* @param coin - Coin resource.
|
1938
1958
|
*/
|
1939
1959
|
addCoinInput(coin) {
|
1940
|
-
const { assetId, owner, amount } = coin;
|
1960
|
+
const { assetId, owner, amount, id, predicate } = coin;
|
1941
1961
|
let witnessIndex;
|
1942
1962
|
if (coin.predicate) {
|
1943
1963
|
witnessIndex = 0;
|
@@ -1948,13 +1968,14 @@ var BaseTransactionRequest = class {
|
|
1948
1968
|
}
|
1949
1969
|
}
|
1950
1970
|
const input = {
|
1951
|
-
|
1952
|
-
type:
|
1971
|
+
id,
|
1972
|
+
type: import_transactions7.InputType.Coin,
|
1953
1973
|
owner: owner.toB256(),
|
1954
1974
|
amount,
|
1955
1975
|
assetId,
|
1956
1976
|
txPointer: "0x00000000000000000000000000000000",
|
1957
|
-
witnessIndex
|
1977
|
+
witnessIndex,
|
1978
|
+
predicate
|
1958
1979
|
};
|
1959
1980
|
this.pushInput(input);
|
1960
1981
|
this.addChangeOutput(owner, assetId);
|
@@ -1966,7 +1987,7 @@ var BaseTransactionRequest = class {
|
|
1966
1987
|
* @param message - Message resource.
|
1967
1988
|
*/
|
1968
1989
|
addMessageInput(message) {
|
1969
|
-
const { recipient, sender, amount, assetId } = message;
|
1990
|
+
const { recipient, sender, amount, predicate, nonce, assetId } = message;
|
1970
1991
|
let witnessIndex;
|
1971
1992
|
if (message.predicate) {
|
1972
1993
|
witnessIndex = 0;
|
@@ -1977,12 +1998,13 @@ var BaseTransactionRequest = class {
|
|
1977
1998
|
}
|
1978
1999
|
}
|
1979
2000
|
const input = {
|
1980
|
-
|
1981
|
-
type:
|
2001
|
+
nonce,
|
2002
|
+
type: import_transactions7.InputType.Message,
|
1982
2003
|
sender: sender.toB256(),
|
1983
2004
|
recipient: recipient.toB256(),
|
1984
2005
|
amount,
|
1985
|
-
witnessIndex
|
2006
|
+
witnessIndex,
|
2007
|
+
predicate
|
1986
2008
|
};
|
1987
2009
|
this.pushInput(input);
|
1988
2010
|
this.addChangeOutput(recipient, assetId);
|
@@ -2022,7 +2044,7 @@ var BaseTransactionRequest = class {
|
|
2022
2044
|
*/
|
2023
2045
|
addCoinOutput(to, amount, assetId) {
|
2024
2046
|
this.pushOutput({
|
2025
|
-
type:
|
2047
|
+
type: import_transactions7.OutputType.Coin,
|
2026
2048
|
to: (0, import_address.addressify)(to).toB256(),
|
2027
2049
|
amount,
|
2028
2050
|
assetId
|
@@ -2038,7 +2060,7 @@ var BaseTransactionRequest = class {
|
|
2038
2060
|
addCoinOutputs(to, quantities) {
|
2039
2061
|
quantities.map(coinQuantityfy).forEach((quantity) => {
|
2040
2062
|
this.pushOutput({
|
2041
|
-
type:
|
2063
|
+
type: import_transactions7.OutputType.Coin,
|
2042
2064
|
to: (0, import_address.addressify)(to).toB256(),
|
2043
2065
|
amount: quantity.amount,
|
2044
2066
|
assetId: quantity.assetId
|
@@ -2058,7 +2080,7 @@ var BaseTransactionRequest = class {
|
|
2058
2080
|
);
|
2059
2081
|
if (!changeOutput) {
|
2060
2082
|
this.pushOutput({
|
2061
|
-
type:
|
2083
|
+
type: import_transactions7.OutputType.Change,
|
2062
2084
|
to: (0, import_address.addressify)(to).toB256(),
|
2063
2085
|
assetId
|
2064
2086
|
});
|
@@ -2166,16 +2188,27 @@ var BaseTransactionRequest = class {
|
|
2166
2188
|
toJSON() {
|
2167
2189
|
return normalizeJSON(this);
|
2168
2190
|
}
|
2191
|
+
removeWitness(index) {
|
2192
|
+
this.witnesses.splice(index, 1);
|
2193
|
+
this.adjustWitnessIndexes(index);
|
2194
|
+
}
|
2195
|
+
adjustWitnessIndexes(removedIndex) {
|
2196
|
+
this.inputs.filter(isRequestInputResource).forEach((input) => {
|
2197
|
+
if (input.witnessIndex > removedIndex) {
|
2198
|
+
input.witnessIndex -= 1;
|
2199
|
+
}
|
2200
|
+
});
|
2201
|
+
}
|
2169
2202
|
updatePredicateGasUsed(inputs) {
|
2170
2203
|
this.inputs.forEach((i) => {
|
2171
2204
|
let correspondingInput;
|
2172
2205
|
switch (i.type) {
|
2173
|
-
case
|
2174
|
-
correspondingInput = inputs.find((x) => x.type ===
|
2206
|
+
case import_transactions7.InputType.Coin:
|
2207
|
+
correspondingInput = inputs.find((x) => x.type === import_transactions7.InputType.Coin && x.owner === i.owner);
|
2175
2208
|
break;
|
2176
|
-
case
|
2209
|
+
case import_transactions7.InputType.Message:
|
2177
2210
|
correspondingInput = inputs.find(
|
2178
|
-
(x) => x.type ===
|
2211
|
+
(x) => x.type === import_transactions7.InputType.Message && x.sender === i.sender
|
2179
2212
|
);
|
2180
2213
|
break;
|
2181
2214
|
default:
|
@@ -2202,25 +2235,25 @@ var BaseTransactionRequest = class {
|
|
2202
2235
|
// src/providers/transaction-request/create-transaction-request.ts
|
2203
2236
|
var import_configs8 = require("@fuel-ts/address/configs");
|
2204
2237
|
var import_math9 = require("@fuel-ts/math");
|
2205
|
-
var
|
2238
|
+
var import_transactions9 = require("@fuel-ts/transactions");
|
2206
2239
|
var import_utils13 = require("@fuel-ts/utils");
|
2207
2240
|
|
2208
2241
|
// src/providers/transaction-request/hash-transaction.ts
|
2209
2242
|
var import_configs7 = require("@fuel-ts/address/configs");
|
2210
2243
|
var import_hasher = require("@fuel-ts/hasher");
|
2211
2244
|
var import_math8 = require("@fuel-ts/math");
|
2212
|
-
var
|
2245
|
+
var import_transactions8 = require("@fuel-ts/transactions");
|
2213
2246
|
var import_utils11 = require("@fuel-ts/utils");
|
2214
2247
|
var import_ramda2 = require("ramda");
|
2215
2248
|
function hashTransaction(transactionRequest, chainId) {
|
2216
2249
|
const transaction = transactionRequest.toTransaction();
|
2217
|
-
if (transaction.type ===
|
2250
|
+
if (transaction.type === import_transactions8.TransactionType.Script) {
|
2218
2251
|
transaction.receiptsRoot = import_configs7.ZeroBytes32;
|
2219
2252
|
}
|
2220
2253
|
transaction.inputs = transaction.inputs.map((input) => {
|
2221
2254
|
const inputClone = (0, import_ramda2.clone)(input);
|
2222
2255
|
switch (inputClone.type) {
|
2223
|
-
case
|
2256
|
+
case import_transactions8.InputType.Coin: {
|
2224
2257
|
inputClone.txPointer = {
|
2225
2258
|
blockHeight: 0,
|
2226
2259
|
txIndex: 0
|
@@ -2228,11 +2261,11 @@ function hashTransaction(transactionRequest, chainId) {
|
|
2228
2261
|
inputClone.predicateGasUsed = (0, import_math8.bn)(0);
|
2229
2262
|
return inputClone;
|
2230
2263
|
}
|
2231
|
-
case
|
2264
|
+
case import_transactions8.InputType.Message: {
|
2232
2265
|
inputClone.predicateGasUsed = (0, import_math8.bn)(0);
|
2233
2266
|
return inputClone;
|
2234
2267
|
}
|
2235
|
-
case
|
2268
|
+
case import_transactions8.InputType.Contract: {
|
2236
2269
|
inputClone.txPointer = {
|
2237
2270
|
blockHeight: 0,
|
2238
2271
|
txIndex: 0
|
@@ -2250,16 +2283,16 @@ function hashTransaction(transactionRequest, chainId) {
|
|
2250
2283
|
transaction.outputs = transaction.outputs.map((output) => {
|
2251
2284
|
const outputClone = (0, import_ramda2.clone)(output);
|
2252
2285
|
switch (outputClone.type) {
|
2253
|
-
case
|
2286
|
+
case import_transactions8.OutputType.Contract: {
|
2254
2287
|
outputClone.balanceRoot = import_configs7.ZeroBytes32;
|
2255
2288
|
outputClone.stateRoot = import_configs7.ZeroBytes32;
|
2256
2289
|
return outputClone;
|
2257
2290
|
}
|
2258
|
-
case
|
2291
|
+
case import_transactions8.OutputType.Change: {
|
2259
2292
|
outputClone.amount = (0, import_math8.bn)(0);
|
2260
2293
|
return outputClone;
|
2261
2294
|
}
|
2262
|
-
case
|
2295
|
+
case import_transactions8.OutputType.Variable: {
|
2263
2296
|
outputClone.to = import_configs7.ZeroBytes32;
|
2264
2297
|
outputClone.amount = (0, import_math8.bn)(0);
|
2265
2298
|
outputClone.assetId = import_configs7.ZeroBytes32;
|
@@ -2272,7 +2305,7 @@ function hashTransaction(transactionRequest, chainId) {
|
|
2272
2305
|
transaction.witnessesCount = 0;
|
2273
2306
|
transaction.witnesses = [];
|
2274
2307
|
const chainIdBytes = (0, import_hasher.uint64ToBytesBE)(chainId);
|
2275
|
-
const concatenatedData = (0, import_utils11.concat)([chainIdBytes, new
|
2308
|
+
const concatenatedData = (0, import_utils11.concat)([chainIdBytes, new import_transactions8.TransactionCoder().encode(transaction)]);
|
2276
2309
|
return (0, import_hasher.sha256)(concatenatedData);
|
2277
2310
|
}
|
2278
2311
|
|
@@ -2308,7 +2341,7 @@ var CreateTransactionRequest = class extends BaseTransactionRequest {
|
|
2308
2341
|
return new this(obj);
|
2309
2342
|
}
|
2310
2343
|
/** Type of the transaction */
|
2311
|
-
type =
|
2344
|
+
type = import_transactions9.TransactionType.Create;
|
2312
2345
|
/** Witness index of contract bytecode to create */
|
2313
2346
|
bytecodeWitnessIndex;
|
2314
2347
|
/** Salt */
|
@@ -2336,7 +2369,7 @@ var CreateTransactionRequest = class extends BaseTransactionRequest {
|
|
2336
2369
|
const bytecodeWitnessIndex = this.bytecodeWitnessIndex;
|
2337
2370
|
const storageSlots = this.storageSlots?.map(storageSlotify) ?? [];
|
2338
2371
|
return {
|
2339
|
-
type:
|
2372
|
+
type: import_transactions9.TransactionType.Create,
|
2340
2373
|
...baseTransaction,
|
2341
2374
|
bytecodeWitnessIndex,
|
2342
2375
|
storageSlotsCount: (0, import_math9.bn)(storageSlots.length),
|
@@ -2351,7 +2384,7 @@ var CreateTransactionRequest = class extends BaseTransactionRequest {
|
|
2351
2384
|
*/
|
2352
2385
|
getContractCreatedOutputs() {
|
2353
2386
|
return this.outputs.filter(
|
2354
|
-
(output) => output.type ===
|
2387
|
+
(output) => output.type === import_transactions9.OutputType.ContractCreated
|
2355
2388
|
);
|
2356
2389
|
}
|
2357
2390
|
/**
|
@@ -2372,7 +2405,7 @@ var CreateTransactionRequest = class extends BaseTransactionRequest {
|
|
2372
2405
|
*/
|
2373
2406
|
addContractCreatedOutput(contractId, stateRoot) {
|
2374
2407
|
this.pushOutput({
|
2375
|
-
type:
|
2408
|
+
type: import_transactions9.OutputType.ContractCreated,
|
2376
2409
|
contractId,
|
2377
2410
|
stateRoot
|
2378
2411
|
});
|
@@ -2392,7 +2425,7 @@ var import_abi_coder3 = require("@fuel-ts/abi-coder");
|
|
2392
2425
|
var import_address2 = require("@fuel-ts/address");
|
2393
2426
|
var import_configs9 = require("@fuel-ts/address/configs");
|
2394
2427
|
var import_math10 = require("@fuel-ts/math");
|
2395
|
-
var
|
2428
|
+
var import_transactions10 = require("@fuel-ts/transactions");
|
2396
2429
|
var import_utils15 = require("@fuel-ts/utils");
|
2397
2430
|
|
2398
2431
|
// src/providers/transaction-request/scripts.ts
|
@@ -2430,7 +2463,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
|
|
2430
2463
|
return new this(obj);
|
2431
2464
|
}
|
2432
2465
|
/** Type of the transaction */
|
2433
|
-
type =
|
2466
|
+
type = import_transactions10.TransactionType.Script;
|
2434
2467
|
/** Gas limit for transaction */
|
2435
2468
|
gasLimit;
|
2436
2469
|
/** Script to execute */
|
@@ -2459,7 +2492,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
|
|
2459
2492
|
const script = (0, import_utils15.arrayify)(this.script ?? "0x");
|
2460
2493
|
const scriptData = (0, import_utils15.arrayify)(this.scriptData ?? "0x");
|
2461
2494
|
return {
|
2462
|
-
type:
|
2495
|
+
type: import_transactions10.TransactionType.Script,
|
2463
2496
|
scriptGasLimit: this.gasLimit,
|
2464
2497
|
...super.getBaseTransaction(),
|
2465
2498
|
scriptLength: (0, import_math10.bn)(script.length),
|
@@ -2476,7 +2509,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
|
|
2476
2509
|
*/
|
2477
2510
|
getContractInputs() {
|
2478
2511
|
return this.inputs.filter(
|
2479
|
-
(input) => input.type ===
|
2512
|
+
(input) => input.type === import_transactions10.InputType.Contract
|
2480
2513
|
);
|
2481
2514
|
}
|
2482
2515
|
/**
|
@@ -2486,7 +2519,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
|
|
2486
2519
|
*/
|
2487
2520
|
getContractOutputs() {
|
2488
2521
|
return this.outputs.filter(
|
2489
|
-
(output) => output.type ===
|
2522
|
+
(output) => output.type === import_transactions10.OutputType.Contract
|
2490
2523
|
);
|
2491
2524
|
}
|
2492
2525
|
/**
|
@@ -2496,7 +2529,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
|
|
2496
2529
|
*/
|
2497
2530
|
getVariableOutputs() {
|
2498
2531
|
return this.outputs.filter(
|
2499
|
-
(output) => output.type ===
|
2532
|
+
(output) => output.type === import_transactions10.OutputType.Variable
|
2500
2533
|
);
|
2501
2534
|
}
|
2502
2535
|
/**
|
@@ -2519,7 +2552,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
|
|
2519
2552
|
let outputsNumber = numberOfVariables;
|
2520
2553
|
while (outputsNumber) {
|
2521
2554
|
this.pushOutput({
|
2522
|
-
type:
|
2555
|
+
type: import_transactions10.OutputType.Variable
|
2523
2556
|
});
|
2524
2557
|
outputsNumber -= 1;
|
2525
2558
|
}
|
@@ -2553,12 +2586,12 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
|
|
2553
2586
|
return this;
|
2554
2587
|
}
|
2555
2588
|
const inputIndex = super.pushInput({
|
2556
|
-
type:
|
2589
|
+
type: import_transactions10.InputType.Contract,
|
2557
2590
|
contractId: contractAddress.toB256(),
|
2558
2591
|
txPointer: "0x00000000000000000000000000000000"
|
2559
2592
|
});
|
2560
2593
|
this.pushOutput({
|
2561
|
-
type:
|
2594
|
+
type: import_transactions10.OutputType.Contract,
|
2562
2595
|
inputIndex
|
2563
2596
|
});
|
2564
2597
|
return this;
|
@@ -2595,17 +2628,17 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
|
|
2595
2628
|
|
2596
2629
|
// src/providers/transaction-request/utils.ts
|
2597
2630
|
var import_errors9 = require("@fuel-ts/errors");
|
2598
|
-
var
|
2631
|
+
var import_transactions11 = require("@fuel-ts/transactions");
|
2599
2632
|
var transactionRequestify = (obj) => {
|
2600
2633
|
if (obj instanceof ScriptTransactionRequest || obj instanceof CreateTransactionRequest) {
|
2601
2634
|
return obj;
|
2602
2635
|
}
|
2603
2636
|
const { type } = obj;
|
2604
2637
|
switch (obj.type) {
|
2605
|
-
case
|
2638
|
+
case import_transactions11.TransactionType.Script: {
|
2606
2639
|
return ScriptTransactionRequest.from(obj);
|
2607
2640
|
}
|
2608
|
-
case
|
2641
|
+
case import_transactions11.TransactionType.Create: {
|
2609
2642
|
return CreateTransactionRequest.from(obj);
|
2610
2643
|
}
|
2611
2644
|
default: {
|
@@ -2615,10 +2648,10 @@ var transactionRequestify = (obj) => {
|
|
2615
2648
|
};
|
2616
2649
|
var cacheTxInputsFromOwner = (inputs, owner) => inputs.reduce(
|
2617
2650
|
(acc, input) => {
|
2618
|
-
if (input.type ===
|
2651
|
+
if (input.type === import_transactions11.InputType.Coin && input.owner === owner) {
|
2619
2652
|
acc.utxos.push(input.id);
|
2620
2653
|
}
|
2621
|
-
if (input.type ===
|
2654
|
+
if (input.type === import_transactions11.InputType.Message && input.recipient === owner) {
|
2622
2655
|
acc.messages.push(input.nonce);
|
2623
2656
|
}
|
2624
2657
|
return acc;
|
@@ -2632,17 +2665,17 @@ var cacheTxInputsFromOwner = (inputs, owner) => inputs.reduce(
|
|
2632
2665
|
// src/providers/transaction-response/transaction-response.ts
|
2633
2666
|
var import_errors13 = require("@fuel-ts/errors");
|
2634
2667
|
var import_math15 = require("@fuel-ts/math");
|
2635
|
-
var
|
2668
|
+
var import_transactions19 = require("@fuel-ts/transactions");
|
2636
2669
|
var import_utils20 = require("@fuel-ts/utils");
|
2637
2670
|
|
2638
2671
|
// src/providers/transaction-summary/assemble-transaction-summary.ts
|
2639
2672
|
var import_math14 = require("@fuel-ts/math");
|
2640
|
-
var
|
2673
|
+
var import_transactions17 = require("@fuel-ts/transactions");
|
2641
2674
|
var import_utils18 = require("@fuel-ts/utils");
|
2642
2675
|
|
2643
2676
|
// src/providers/transaction-summary/calculate-transaction-fee.ts
|
2644
2677
|
var import_math11 = require("@fuel-ts/math");
|
2645
|
-
var
|
2678
|
+
var import_transactions12 = require("@fuel-ts/transactions");
|
2646
2679
|
var import_utils16 = require("@fuel-ts/utils");
|
2647
2680
|
var calculateTransactionFee = (params) => {
|
2648
2681
|
const {
|
@@ -2654,8 +2687,8 @@ var calculateTransactionFee = (params) => {
|
|
2654
2687
|
const gasPerByte = (0, import_math11.bn)(feeParams.gasPerByte);
|
2655
2688
|
const gasPriceFactor = (0, import_math11.bn)(feeParams.gasPriceFactor);
|
2656
2689
|
const transactionBytes = (0, import_utils16.arrayify)(rawPayload);
|
2657
|
-
const [transaction] = new
|
2658
|
-
if (transaction.type ===
|
2690
|
+
const [transaction] = new import_transactions12.TransactionCoder().decode(transactionBytes, 0);
|
2691
|
+
if (transaction.type === import_transactions12.TransactionType.Mint) {
|
2659
2692
|
return {
|
2660
2693
|
fee: (0, import_math11.bn)(0),
|
2661
2694
|
minFee: (0, import_math11.bn)(0),
|
@@ -2665,7 +2698,7 @@ var calculateTransactionFee = (params) => {
|
|
2665
2698
|
const { type, witnesses, inputs, policies } = transaction;
|
2666
2699
|
let metadataGas = (0, import_math11.bn)(0);
|
2667
2700
|
let gasLimit = (0, import_math11.bn)(0);
|
2668
|
-
if (type ===
|
2701
|
+
if (type === import_transactions12.TransactionType.Create) {
|
2669
2702
|
const { bytecodeWitnessIndex, storageSlots } = transaction;
|
2670
2703
|
const contractBytesSize = (0, import_math11.bn)((0, import_utils16.arrayify)(witnesses[bytecodeWitnessIndex].data).length);
|
2671
2704
|
metadataGas = calculateMetadataGasForTxCreate({
|
@@ -2691,7 +2724,7 @@ var calculateTransactionFee = (params) => {
|
|
2691
2724
|
metadataGas,
|
2692
2725
|
txBytesSize: transactionBytes.length
|
2693
2726
|
});
|
2694
|
-
const witnessLimit = policies.find((policy) => policy.type ===
|
2727
|
+
const witnessLimit = policies.find((policy) => policy.type === import_transactions12.PolicyType.WitnessLimit)?.data;
|
2695
2728
|
const witnessesLength = witnesses.reduce((acc, wit) => acc + wit.dataLength, 0);
|
2696
2729
|
const maxGas = getMaxGas({
|
2697
2730
|
gasPerByte,
|
@@ -2724,7 +2757,7 @@ var calculateTransactionFee = (params) => {
|
|
2724
2757
|
var import_configs10 = require("@fuel-ts/address/configs");
|
2725
2758
|
var import_errors11 = require("@fuel-ts/errors");
|
2726
2759
|
var import_math13 = require("@fuel-ts/math");
|
2727
|
-
var
|
2760
|
+
var import_transactions15 = require("@fuel-ts/transactions");
|
2728
2761
|
|
2729
2762
|
// src/providers/transaction-summary/call.ts
|
2730
2763
|
var import_abi_coder4 = require("@fuel-ts/abi-coder");
|
@@ -2772,7 +2805,7 @@ var getFunctionCall = ({ abi, receipt, rawPayload, maxInputs }) => {
|
|
2772
2805
|
|
2773
2806
|
// src/providers/transaction-summary/input.ts
|
2774
2807
|
var import_errors10 = require("@fuel-ts/errors");
|
2775
|
-
var
|
2808
|
+
var import_transactions13 = require("@fuel-ts/transactions");
|
2776
2809
|
function getInputsByTypes(inputs, types) {
|
2777
2810
|
return inputs.filter((i) => types.includes(i.type));
|
2778
2811
|
}
|
@@ -2780,16 +2813,16 @@ function getInputsByType(inputs, type) {
|
|
2780
2813
|
return inputs.filter((i) => i.type === type);
|
2781
2814
|
}
|
2782
2815
|
function getInputsCoin(inputs) {
|
2783
|
-
return getInputsByType(inputs,
|
2816
|
+
return getInputsByType(inputs, import_transactions13.InputType.Coin);
|
2784
2817
|
}
|
2785
2818
|
function getInputsMessage(inputs) {
|
2786
|
-
return getInputsByType(inputs,
|
2819
|
+
return getInputsByType(inputs, import_transactions13.InputType.Message);
|
2787
2820
|
}
|
2788
2821
|
function getInputsCoinAndMessage(inputs) {
|
2789
|
-
return getInputsByTypes(inputs, [
|
2822
|
+
return getInputsByTypes(inputs, [import_transactions13.InputType.Coin, import_transactions13.InputType.Message]);
|
2790
2823
|
}
|
2791
2824
|
function getInputsContract(inputs) {
|
2792
|
-
return getInputsByType(inputs,
|
2825
|
+
return getInputsByType(inputs, import_transactions13.InputType.Contract);
|
2793
2826
|
}
|
2794
2827
|
function getInputFromAssetId(inputs, assetId) {
|
2795
2828
|
const coinInputs = getInputsCoin(inputs);
|
@@ -2808,7 +2841,7 @@ function getInputContractFromIndex(inputs, inputIndex) {
|
|
2808
2841
|
if (!contractInput) {
|
2809
2842
|
return void 0;
|
2810
2843
|
}
|
2811
|
-
if (contractInput.type !==
|
2844
|
+
if (contractInput.type !== import_transactions13.InputType.Contract) {
|
2812
2845
|
throw new import_errors10.FuelError(
|
2813
2846
|
import_errors10.ErrorCode.INVALID_TRANSACTION_INPUT,
|
2814
2847
|
`Contract input should be of type 'contract'.`
|
@@ -2817,31 +2850,31 @@ function getInputContractFromIndex(inputs, inputIndex) {
|
|
2817
2850
|
return contractInput;
|
2818
2851
|
}
|
2819
2852
|
function getInputAccountAddress(input) {
|
2820
|
-
if (input.type ===
|
2853
|
+
if (input.type === import_transactions13.InputType.Coin) {
|
2821
2854
|
return input.owner.toString();
|
2822
2855
|
}
|
2823
|
-
if (input.type ===
|
2856
|
+
if (input.type === import_transactions13.InputType.Message) {
|
2824
2857
|
return input.recipient.toString();
|
2825
2858
|
}
|
2826
2859
|
return "";
|
2827
2860
|
}
|
2828
2861
|
|
2829
2862
|
// src/providers/transaction-summary/output.ts
|
2830
|
-
var
|
2863
|
+
var import_transactions14 = require("@fuel-ts/transactions");
|
2831
2864
|
function getOutputsByType(outputs, type) {
|
2832
2865
|
return outputs.filter((o) => o.type === type);
|
2833
2866
|
}
|
2834
2867
|
function getOutputsContractCreated(outputs) {
|
2835
|
-
return getOutputsByType(outputs,
|
2868
|
+
return getOutputsByType(outputs, import_transactions14.OutputType.ContractCreated);
|
2836
2869
|
}
|
2837
2870
|
function getOutputsCoin(outputs) {
|
2838
|
-
return getOutputsByType(outputs,
|
2871
|
+
return getOutputsByType(outputs, import_transactions14.OutputType.Coin);
|
2839
2872
|
}
|
2840
2873
|
function getOutputsChange(outputs) {
|
2841
|
-
return getOutputsByType(outputs,
|
2874
|
+
return getOutputsByType(outputs, import_transactions14.OutputType.Change);
|
2842
2875
|
}
|
2843
2876
|
function getOutputsContract(outputs) {
|
2844
|
-
return getOutputsByType(outputs,
|
2877
|
+
return getOutputsByType(outputs, import_transactions14.OutputType.Contract);
|
2845
2878
|
}
|
2846
2879
|
|
2847
2880
|
// src/providers/transaction-summary/operations.ts
|
@@ -2850,11 +2883,11 @@ function getReceiptsByType(receipts, type) {
|
|
2850
2883
|
}
|
2851
2884
|
function getTransactionTypeName(transactionType) {
|
2852
2885
|
switch (transactionType) {
|
2853
|
-
case
|
2886
|
+
case import_transactions15.TransactionType.Mint:
|
2854
2887
|
return "Mint" /* Mint */;
|
2855
|
-
case
|
2888
|
+
case import_transactions15.TransactionType.Create:
|
2856
2889
|
return "Create" /* Create */;
|
2857
|
-
case
|
2890
|
+
case import_transactions15.TransactionType.Script:
|
2858
2891
|
return "Script" /* Script */;
|
2859
2892
|
default:
|
2860
2893
|
throw new import_errors11.FuelError(
|
@@ -2877,10 +2910,10 @@ function isTypeScript(transactionType) {
|
|
2877
2910
|
return isType(transactionType, "Script" /* Script */);
|
2878
2911
|
}
|
2879
2912
|
function getReceiptsCall(receipts) {
|
2880
|
-
return getReceiptsByType(receipts,
|
2913
|
+
return getReceiptsByType(receipts, import_transactions15.ReceiptType.Call);
|
2881
2914
|
}
|
2882
2915
|
function getReceiptsMessageOut(receipts) {
|
2883
|
-
return getReceiptsByType(receipts,
|
2916
|
+
return getReceiptsByType(receipts, import_transactions15.ReceiptType.MessageOut);
|
2884
2917
|
}
|
2885
2918
|
var mergeAssets = (op1, op2) => {
|
2886
2919
|
const assets1 = op1.assetsSent || [];
|
@@ -3076,11 +3109,11 @@ function getTransferOperations({
|
|
3076
3109
|
});
|
3077
3110
|
const transferReceipts = getReceiptsByType(
|
3078
3111
|
receipts,
|
3079
|
-
|
3112
|
+
import_transactions15.ReceiptType.Transfer
|
3080
3113
|
);
|
3081
3114
|
const transferOutReceipts = getReceiptsByType(
|
3082
3115
|
receipts,
|
3083
|
-
|
3116
|
+
import_transactions15.ReceiptType.TransferOut
|
3084
3117
|
);
|
3085
3118
|
[...transferReceipts, ...transferOutReceipts].forEach((receipt) => {
|
3086
3119
|
const operation = extractTransferOperationFromReceipt(receipt, contractInputs, changeOutputs);
|
@@ -3165,17 +3198,17 @@ function getOperations({
|
|
3165
3198
|
}
|
3166
3199
|
|
3167
3200
|
// src/providers/transaction-summary/receipt.ts
|
3168
|
-
var
|
3201
|
+
var import_transactions16 = require("@fuel-ts/transactions");
|
3169
3202
|
var processGqlReceipt = (gqlReceipt) => {
|
3170
3203
|
const receipt = assembleReceiptByType(gqlReceipt);
|
3171
3204
|
switch (receipt.type) {
|
3172
|
-
case
|
3205
|
+
case import_transactions16.ReceiptType.ReturnData: {
|
3173
3206
|
return {
|
3174
3207
|
...receipt,
|
3175
3208
|
data: gqlReceipt.data || "0x"
|
3176
3209
|
};
|
3177
3210
|
}
|
3178
|
-
case
|
3211
|
+
case import_transactions16.ReceiptType.LogData: {
|
3179
3212
|
return {
|
3180
3213
|
...receipt,
|
3181
3214
|
data: gqlReceipt.data || "0x"
|
@@ -3188,7 +3221,7 @@ var processGqlReceipt = (gqlReceipt) => {
|
|
3188
3221
|
var extractMintedAssetsFromReceipts = (receipts) => {
|
3189
3222
|
const mintedAssets = [];
|
3190
3223
|
receipts.forEach((receipt) => {
|
3191
|
-
if (receipt.type ===
|
3224
|
+
if (receipt.type === import_transactions16.ReceiptType.Mint) {
|
3192
3225
|
mintedAssets.push({
|
3193
3226
|
subId: receipt.subId,
|
3194
3227
|
contractId: receipt.contractId,
|
@@ -3202,7 +3235,7 @@ var extractMintedAssetsFromReceipts = (receipts) => {
|
|
3202
3235
|
var extractBurnedAssetsFromReceipts = (receipts) => {
|
3203
3236
|
const burnedAssets = [];
|
3204
3237
|
receipts.forEach((receipt) => {
|
3205
|
-
if (receipt.type ===
|
3238
|
+
if (receipt.type === import_transactions16.ReceiptType.Burn) {
|
3206
3239
|
burnedAssets.push({
|
3207
3240
|
subId: receipt.subId,
|
3208
3241
|
contractId: receipt.contractId,
|
@@ -3299,7 +3332,7 @@ function assembleTransactionSummary(params) {
|
|
3299
3332
|
maxInputs
|
3300
3333
|
});
|
3301
3334
|
const typeName = getTransactionTypeName(transaction.type);
|
3302
|
-
const tip = (0, import_math14.bn)(transaction.policies?.find((policy) => policy.type ===
|
3335
|
+
const tip = (0, import_math14.bn)(transaction.policies?.find((policy) => policy.type === import_transactions17.PolicyType.Tip)?.data);
|
3303
3336
|
const { fee } = calculateTransactionFee({
|
3304
3337
|
gasPrice,
|
3305
3338
|
rawPayload,
|
@@ -3346,12 +3379,12 @@ function assembleTransactionSummary(params) {
|
|
3346
3379
|
|
3347
3380
|
// src/providers/transaction-response/getDecodedLogs.ts
|
3348
3381
|
var import_abi_coder5 = require("@fuel-ts/abi-coder");
|
3349
|
-
var
|
3382
|
+
var import_transactions18 = require("@fuel-ts/transactions");
|
3350
3383
|
function getDecodedLogs(receipts, mainAbi, externalAbis = {}) {
|
3351
3384
|
return receipts.reduce((logs, receipt) => {
|
3352
|
-
if (receipt.type ===
|
3385
|
+
if (receipt.type === import_transactions18.ReceiptType.LogData || receipt.type === import_transactions18.ReceiptType.Log) {
|
3353
3386
|
const interfaceToUse = new import_abi_coder5.Interface(externalAbis[receipt.id] || mainAbi);
|
3354
|
-
const data = receipt.type ===
|
3387
|
+
const data = receipt.type === import_transactions18.ReceiptType.Log ? new import_abi_coder5.BigNumberCoder("u64").encode(receipt.val0) : receipt.data;
|
3355
3388
|
const [decodedLog] = interfaceToUse.decodeLog(data, receipt.val1.toNumber());
|
3356
3389
|
logs.push(decodedLog);
|
3357
3390
|
}
|
@@ -3424,7 +3457,7 @@ var TransactionResponse = class {
|
|
3424
3457
|
* @returns The decoded transaction.
|
3425
3458
|
*/
|
3426
3459
|
decodeTransaction(transactionWithReceipts) {
|
3427
|
-
return new
|
3460
|
+
return new import_transactions19.TransactionCoder().decode(
|
3428
3461
|
(0, import_utils20.arrayify)(transactionWithReceipts.rawPayload),
|
3429
3462
|
0
|
3430
3463
|
)?.[0];
|
@@ -3784,6 +3817,21 @@ var _Provider = class {
|
|
3784
3817
|
} = await this.operations.getVersion();
|
3785
3818
|
return nodeVersion;
|
3786
3819
|
}
|
3820
|
+
/**
|
3821
|
+
* @hidden
|
3822
|
+
*
|
3823
|
+
* Returns the network configuration of the connected Fuel node.
|
3824
|
+
*
|
3825
|
+
* @returns A promise that resolves to the network configuration object
|
3826
|
+
*/
|
3827
|
+
async getNetwork() {
|
3828
|
+
const {
|
3829
|
+
name,
|
3830
|
+
consensusParameters: { chainId }
|
3831
|
+
} = await this.getChain();
|
3832
|
+
const network = new import_ethers.Network(name, chainId.toNumber());
|
3833
|
+
return Promise.resolve(network);
|
3834
|
+
}
|
3787
3835
|
/**
|
3788
3836
|
* Returns the block number.
|
3789
3837
|
*
|
@@ -3860,7 +3908,7 @@ var _Provider = class {
|
|
3860
3908
|
}
|
3861
3909
|
const encodedTransaction = (0, import_utils22.hexlify)(transactionRequest.toTransactionBytes());
|
3862
3910
|
let abis;
|
3863
|
-
if (transactionRequest.type ===
|
3911
|
+
if (transactionRequest.type === import_transactions20.TransactionType.Script) {
|
3864
3912
|
abis = transactionRequest.abis;
|
3865
3913
|
}
|
3866
3914
|
if (awaitExecution) {
|
@@ -3952,7 +4000,7 @@ var _Provider = class {
|
|
3952
4000
|
* @returns A promise.
|
3953
4001
|
*/
|
3954
4002
|
async estimateTxDependencies(transactionRequest) {
|
3955
|
-
if (transactionRequest.type ===
|
4003
|
+
if (transactionRequest.type === import_transactions20.TransactionType.Create) {
|
3956
4004
|
return {
|
3957
4005
|
receipts: [],
|
3958
4006
|
outputVariables: 0,
|
@@ -4016,7 +4064,7 @@ var _Provider = class {
|
|
4016
4064
|
const allRequests = (0, import_ramda3.clone)(transactionRequests);
|
4017
4065
|
const serializedTransactionsMap = /* @__PURE__ */ new Map();
|
4018
4066
|
allRequests.forEach((req, index) => {
|
4019
|
-
if (req.type ===
|
4067
|
+
if (req.type === import_transactions20.TransactionType.Script) {
|
4020
4068
|
serializedTransactionsMap.set(index, (0, import_utils22.hexlify)(req.toTransactionBytes()));
|
4021
4069
|
}
|
4022
4070
|
});
|
@@ -4042,7 +4090,7 @@ var _Provider = class {
|
|
4042
4090
|
);
|
4043
4091
|
const hasMissingOutputs = missingOutputVariables.length > 0 || missingOutputContractIds.length > 0;
|
4044
4092
|
const request = allRequests[requestIdx];
|
4045
|
-
if (hasMissingOutputs && request?.type ===
|
4093
|
+
if (hasMissingOutputs && request?.type === import_transactions20.TransactionType.Script) {
|
4046
4094
|
result.outputVariables += missingOutputVariables.length;
|
4047
4095
|
request.addVariableOutputs(missingOutputVariables.length);
|
4048
4096
|
missingOutputContractIds.forEach(({ contractId }) => {
|
@@ -4098,7 +4146,7 @@ var _Provider = class {
|
|
4098
4146
|
tip: transactionRequest.tip
|
4099
4147
|
}).add(1);
|
4100
4148
|
let gasLimit = (0, import_math16.bn)(0);
|
4101
|
-
if (transactionRequest.type ===
|
4149
|
+
if (transactionRequest.type === import_transactions20.TransactionType.Script) {
|
4102
4150
|
gasLimit = transactionRequest.gasLimit;
|
4103
4151
|
if (transactionRequest.gasLimit.eq(0)) {
|
4104
4152
|
transactionRequest.gasLimit = minGas;
|
@@ -4168,7 +4216,7 @@ var _Provider = class {
|
|
4168
4216
|
*/
|
4169
4217
|
async getTransactionCost(transactionRequestLike, { resourcesOwner, signatureCallback, quantitiesToContract = [] } = {}) {
|
4170
4218
|
const txRequestClone = (0, import_ramda3.clone)(transactionRequestify(transactionRequestLike));
|
4171
|
-
const isScriptTransaction = txRequestClone.type ===
|
4219
|
+
const isScriptTransaction = txRequestClone.type === import_transactions20.TransactionType.Script;
|
4172
4220
|
const baseAssetId = this.getBaseAssetId();
|
4173
4221
|
const coinOutputsQuantities = txRequestClone.getCoinOutputsQuantities();
|
4174
4222
|
const allQuantities = mergeQuantities(coinOutputsQuantities, quantitiesToContract);
|
@@ -4392,7 +4440,7 @@ var _Provider = class {
|
|
4392
4440
|
time: block.header.time,
|
4393
4441
|
transactionIds: block.transactions.map((tx) => tx.id),
|
4394
4442
|
transactions: block.transactions.map(
|
4395
|
-
(tx) => new
|
4443
|
+
(tx) => new import_transactions20.TransactionCoder().decode((0, import_utils22.arrayify)(tx.rawPayload), 0)?.[0]
|
4396
4444
|
)
|
4397
4445
|
};
|
4398
4446
|
}
|
@@ -4407,7 +4455,7 @@ var _Provider = class {
|
|
4407
4455
|
if (!transaction) {
|
4408
4456
|
return null;
|
4409
4457
|
}
|
4410
|
-
return new
|
4458
|
+
return new import_transactions20.TransactionCoder().decode(
|
4411
4459
|
(0, import_utils22.arrayify)(transaction.rawPayload),
|
4412
4460
|
0
|
4413
4461
|
)?.[0];
|
@@ -4487,7 +4535,7 @@ var _Provider = class {
|
|
4487
4535
|
});
|
4488
4536
|
const messages = result.messages.edges.map((edge) => edge.node);
|
4489
4537
|
return messages.map((message) => ({
|
4490
|
-
messageId:
|
4538
|
+
messageId: import_transactions20.InputMessageCoder.getMessageId({
|
4491
4539
|
sender: message.sender,
|
4492
4540
|
recipient: message.recipient,
|
4493
4541
|
nonce: message.nonce,
|
@@ -4498,7 +4546,7 @@ var _Provider = class {
|
|
4498
4546
|
recipient: import_address3.Address.fromAddressOrString(message.recipient),
|
4499
4547
|
nonce: message.nonce,
|
4500
4548
|
amount: (0, import_math16.bn)(message.amount),
|
4501
|
-
data:
|
4549
|
+
data: import_transactions20.InputMessageCoder.decodeData(message.data),
|
4502
4550
|
daHeight: (0, import_math16.bn)(message.daHeight)
|
4503
4551
|
}));
|
4504
4552
|
}
|
@@ -4634,6 +4682,19 @@ var _Provider = class {
|
|
4634
4682
|
async getTransactionResponse(transactionId) {
|
4635
4683
|
return new TransactionResponse(transactionId, this);
|
4636
4684
|
}
|
4685
|
+
/**
|
4686
|
+
* Returns Message for given nonce.
|
4687
|
+
*
|
4688
|
+
* @param nonce - The nonce of the message to retrieve.
|
4689
|
+
* @returns A promise that resolves to the Message object.
|
4690
|
+
*/
|
4691
|
+
async getMessageByNonce(nonce) {
|
4692
|
+
const { message } = await this.operations.getMessageByNonce({ nonce });
|
4693
|
+
if (!message) {
|
4694
|
+
return null;
|
4695
|
+
}
|
4696
|
+
return message;
|
4697
|
+
}
|
4637
4698
|
};
|
4638
4699
|
var Provider = _Provider;
|
4639
4700
|
_cacheInputs = new WeakSet();
|
@@ -4642,7 +4703,7 @@ cacheInputs_fn = function(inputs) {
|
|
4642
4703
|
return;
|
4643
4704
|
}
|
4644
4705
|
inputs.forEach((input) => {
|
4645
|
-
if (input.type ===
|
4706
|
+
if (input.type === import_transactions20.InputType.Coin) {
|
4646
4707
|
this.cache?.set(input.id);
|
4647
4708
|
}
|
4648
4709
|
});
|
@@ -4653,7 +4714,7 @@ __publicField(Provider, "nodeInfoCache", {});
|
|
4653
4714
|
// src/providers/transaction-summary/get-transaction-summary.ts
|
4654
4715
|
var import_errors15 = require("@fuel-ts/errors");
|
4655
4716
|
var import_math17 = require("@fuel-ts/math");
|
4656
|
-
var
|
4717
|
+
var import_transactions21 = require("@fuel-ts/transactions");
|
4657
4718
|
var import_utils25 = require("@fuel-ts/utils");
|
4658
4719
|
|
4659
4720
|
// src/providers/chains.ts
|
@@ -5471,14 +5532,14 @@ var import_errors20 = require("@fuel-ts/errors");
|
|
5471
5532
|
var import_hasher6 = require("@fuel-ts/hasher");
|
5472
5533
|
var import_math21 = require("@fuel-ts/math");
|
5473
5534
|
var import_utils34 = require("@fuel-ts/utils");
|
5474
|
-
var
|
5535
|
+
var import_ethers3 = require("ethers");
|
5475
5536
|
|
5476
5537
|
// src/mnemonic/mnemonic.ts
|
5477
5538
|
var import_crypto4 = require("@fuel-ts/crypto");
|
5478
5539
|
var import_errors19 = require("@fuel-ts/errors");
|
5479
5540
|
var import_hasher5 = require("@fuel-ts/hasher");
|
5480
5541
|
var import_utils32 = require("@fuel-ts/utils");
|
5481
|
-
var
|
5542
|
+
var import_ethers2 = require("ethers");
|
5482
5543
|
|
5483
5544
|
// src/wordlists/words/english.ts
|
5484
5545
|
var english = [
|
@@ -7726,7 +7787,7 @@ var Mnemonic = class {
|
|
7726
7787
|
assertMnemonic(getWords(phrase));
|
7727
7788
|
const phraseBytes = toUtf8Bytes(getPhrase(phrase));
|
7728
7789
|
const salt = toUtf8Bytes(`mnemonic${passphrase}`);
|
7729
|
-
return (0,
|
7790
|
+
return (0, import_ethers2.pbkdf2)(phraseBytes, salt, 2048, 64, "sha512");
|
7730
7791
|
}
|
7731
7792
|
/**
|
7732
7793
|
* @param phrase - Mnemonic phrase composed by words from the provided wordlist
|
@@ -7788,7 +7849,7 @@ var Mnemonic = class {
|
|
7788
7849
|
`Seed length should be between 16 and 64 bytes, but received ${seedArray.length} bytes.`
|
7789
7850
|
);
|
7790
7851
|
}
|
7791
|
-
return (0, import_utils32.arrayify)((0,
|
7852
|
+
return (0, import_utils32.arrayify)((0, import_ethers2.computeHmac)("sha512", MasterSecret, seedArray));
|
7792
7853
|
}
|
7793
7854
|
/**
|
7794
7855
|
* Get the extendKey as defined on BIP-32 from the provided seed
|
@@ -7813,8 +7874,8 @@ var Mnemonic = class {
|
|
7813
7874
|
chainCode,
|
7814
7875
|
(0, import_utils32.concat)(["0x00", privateKey])
|
7815
7876
|
]);
|
7816
|
-
const checksum = (0,
|
7817
|
-
return (0,
|
7877
|
+
const checksum = (0, import_ethers2.dataSlice)((0, import_hasher5.sha256)((0, import_hasher5.sha256)(extendedKey)), 0, 4);
|
7878
|
+
return (0, import_ethers2.encodeBase58)((0, import_utils32.concat)([extendedKey, checksum]));
|
7818
7879
|
}
|
7819
7880
|
/**
|
7820
7881
|
* Create a new mnemonic using a randomly generated number as entropy.
|
@@ -7842,7 +7903,7 @@ var MainnetPUB = (0, import_utils34.hexlify)("0x0488b21e");
|
|
7842
7903
|
var TestnetPRV2 = (0, import_utils34.hexlify)("0x04358394");
|
7843
7904
|
var TestnetPUB = (0, import_utils34.hexlify)("0x043587cf");
|
7844
7905
|
function base58check(data) {
|
7845
|
-
return (0,
|
7906
|
+
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)]));
|
7846
7907
|
}
|
7847
7908
|
function getExtendedKeyPrefix(isPublic = false, testnet = false) {
|
7848
7909
|
if (isPublic) {
|
@@ -7898,7 +7959,7 @@ var HDWallet = class {
|
|
7898
7959
|
this.publicKey = (0, import_utils34.hexlify)(config.publicKey);
|
7899
7960
|
}
|
7900
7961
|
this.parentFingerprint = config.parentFingerprint || this.parentFingerprint;
|
7901
|
-
this.fingerprint = (0,
|
7962
|
+
this.fingerprint = (0, import_ethers3.dataSlice)((0, import_ethers3.ripemd160)((0, import_hasher6.sha256)(this.publicKey)), 0, 4);
|
7902
7963
|
this.depth = config.depth || this.depth;
|
7903
7964
|
this.index = config.index || this.index;
|
7904
7965
|
this.chainCode = config.chainCode;
|
@@ -7930,7 +7991,7 @@ var HDWallet = class {
|
|
7930
7991
|
data.set((0, import_utils34.arrayify)(this.publicKey));
|
7931
7992
|
}
|
7932
7993
|
data.set((0, import_math21.toBytes)(index, 4), 33);
|
7933
|
-
const bytes = (0, import_utils34.arrayify)((0,
|
7994
|
+
const bytes = (0, import_utils34.arrayify)((0, import_ethers3.computeHmac)("sha512", chainCode, data));
|
7934
7995
|
const IL = bytes.slice(0, 32);
|
7935
7996
|
const IR = bytes.slice(32);
|
7936
7997
|
if (privateKey) {
|
@@ -8001,7 +8062,7 @@ var HDWallet = class {
|
|
8001
8062
|
});
|
8002
8063
|
}
|
8003
8064
|
static fromExtendedKey(extendedKey) {
|
8004
|
-
const decoded = (0,
|
8065
|
+
const decoded = (0, import_ethers3.toBeHex)((0, import_ethers3.decodeBase58)(extendedKey));
|
8005
8066
|
const bytes = (0, import_utils34.arrayify)(decoded);
|
8006
8067
|
const validChecksum = base58check(bytes.slice(0, 78)) === extendedKey;
|
8007
8068
|
if (bytes.length !== 82 || !isValidExtendedKey(bytes)) {
|
@@ -8201,16 +8262,21 @@ __publicField(Wallet, "fromEncryptedJson", WalletUnlocked.fromEncryptedJson);
|
|
8201
8262
|
|
8202
8263
|
// src/test-utils/seedTestWallet.ts
|
8203
8264
|
var import_crypto5 = require("@fuel-ts/crypto");
|
8204
|
-
var seedTestWallet = async (wallet, quantities) => {
|
8265
|
+
var seedTestWallet = async (wallet, quantities, utxosAmount = 1) => {
|
8266
|
+
const toFundAccounts = Array.isArray(wallet) ? wallet : [wallet];
|
8205
8267
|
const genesisWallet = new WalletUnlocked(
|
8206
8268
|
process.env.GENESIS_SECRET || (0, import_crypto5.randomBytes)(32),
|
8207
|
-
wallet
|
8269
|
+
// Connect to the same Provider as wallet
|
8270
|
+
toFundAccounts[0].provider
|
8208
8271
|
);
|
8209
8272
|
const request = new ScriptTransactionRequest();
|
8210
|
-
quantities.forEach(
|
8211
|
-
|
8212
|
-
|
8213
|
-
|
8273
|
+
quantities.map(coinQuantityfy).forEach(
|
8274
|
+
({ amount, assetId }) => toFundAccounts.forEach(({ address }) => {
|
8275
|
+
for (let i = 0; i < utxosAmount; i++) {
|
8276
|
+
request.addCoinOutput(address, amount.div(utxosAmount), assetId);
|
8277
|
+
}
|
8278
|
+
})
|
8279
|
+
);
|
8214
8280
|
const txCost = await genesisWallet.provider.getTransactionCost(request);
|
8215
8281
|
request.gasLimit = txCost.gasUsed;
|
8216
8282
|
request.maxFee = txCost.maxFee;
|
@@ -8432,8 +8498,45 @@ var launchNodeAndGetWallets = async ({
|
|
8432
8498
|
};
|
8433
8499
|
return { wallets, stop: cleanup, provider };
|
8434
8500
|
};
|
8501
|
+
|
8502
|
+
// src/test-utils/transactionRequest.ts
|
8503
|
+
var import_abi_coder8 = require("@fuel-ts/abi-coder");
|
8504
|
+
var import_address7 = require("@fuel-ts/address");
|
8505
|
+
var import_configs11 = require("@fuel-ts/address/configs");
|
8506
|
+
var import_crypto8 = require("@fuel-ts/crypto");
|
8507
|
+
var import_math22 = require("@fuel-ts/math");
|
8508
|
+
var import_transactions22 = require("@fuel-ts/transactions");
|
8509
|
+
var import_utils36 = require("@fuel-ts/utils");
|
8510
|
+
var generateFakeRequestInputCoin = (partial = {}) => ({
|
8511
|
+
id: (0, import_utils36.hexlify)((0, import_crypto8.randomBytes)(import_abi_coder8.UTXO_ID_LEN)),
|
8512
|
+
type: import_transactions22.InputType.Coin,
|
8513
|
+
owner: (0, import_address7.getRandomB256)(),
|
8514
|
+
amount: (0, import_math22.bn)(100),
|
8515
|
+
assetId: import_configs11.ZeroBytes32,
|
8516
|
+
txPointer: "0x00000000000000000000000000000000",
|
8517
|
+
witnessIndex: 0,
|
8518
|
+
...partial
|
8519
|
+
});
|
8520
|
+
var generateFakeRequestInputMessage = (partial = {}) => ({
|
8521
|
+
nonce: (0, import_address7.getRandomB256)(),
|
8522
|
+
type: import_transactions22.InputType.Message,
|
8523
|
+
sender: (0, import_address7.getRandomB256)(),
|
8524
|
+
recipient: (0, import_address7.getRandomB256)(),
|
8525
|
+
amount: (0, import_math22.bn)(100),
|
8526
|
+
witnessIndex: 0,
|
8527
|
+
...partial
|
8528
|
+
});
|
8529
|
+
var generateFakeRequestInputContract = (partial = {}) => ({
|
8530
|
+
contractId: (0, import_address7.getRandomB256)(),
|
8531
|
+
type: import_transactions22.InputType.Contract,
|
8532
|
+
txPointer: "0x00000000000000000000000000000000",
|
8533
|
+
...partial
|
8534
|
+
});
|
8435
8535
|
// Annotate the CommonJS export names for ESM import in node:
|
8436
8536
|
0 && (module.exports = {
|
8537
|
+
generateFakeRequestInputCoin,
|
8538
|
+
generateFakeRequestInputContract,
|
8539
|
+
generateFakeRequestInputMessage,
|
8437
8540
|
generateTestWallet,
|
8438
8541
|
killNode,
|
8439
8542
|
launchNode,
|