@fuel-ts/account 0.0.0-rc-2045-20240418110507 → 0.0.0-rc-2037-20240418115909
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of @fuel-ts/account might be problematic. Click here for more details.
- package/dist/index.global.js +86 -39
- package/dist/index.global.js.map +1 -1
- package/dist/index.js +201 -141
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +118 -64
- package/dist/index.mjs.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/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 +64 -40
- package/dist/test-utils.global.js.map +1 -1
- package/dist/test-utils.js +173 -135
- package/dist/test-utils.js.map +1 -1
- package/dist/test-utils.mjs +99 -64
- package/dist/test-utils.mjs.map +1 -1
- package/dist/wallet/base-wallet-unlocked.d.ts +2 -2
- package/dist/wallet/base-wallet-unlocked.d.ts.map +1 -1
- package/package.json +15 -15
package/dist/index.js
CHANGED
@@ -88,7 +88,7 @@ __export(src_exports, {
|
|
88
88
|
StorageAbstract: () => StorageAbstract,
|
89
89
|
TransactionResponse: () => TransactionResponse,
|
90
90
|
TransactionStatus: () => TransactionStatus,
|
91
|
-
TransactionType: () =>
|
91
|
+
TransactionType: () => import_transactions7.TransactionType,
|
92
92
|
TransactionTypeName: () => TransactionTypeName,
|
93
93
|
Vault: () => Vault,
|
94
94
|
Wallet: () => Wallet,
|
@@ -104,6 +104,7 @@ __export(src_exports, {
|
|
104
104
|
assets: () => assets,
|
105
105
|
buildBlockExplorerUrl: () => buildBlockExplorerUrl,
|
106
106
|
cacheFor: () => cacheFor,
|
107
|
+
cacheResources: () => cacheResources,
|
107
108
|
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,7 +236,7 @@ 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");
|
@@ -1320,7 +1326,7 @@ var import_address = require("@fuel-ts/address");
|
|
1320
1326
|
var import_configs7 = require("@fuel-ts/address/configs");
|
1321
1327
|
var import_crypto = require("@fuel-ts/crypto");
|
1322
1328
|
var import_math7 = require("@fuel-ts/math");
|
1323
|
-
var
|
1329
|
+
var import_transactions7 = require("@fuel-ts/transactions");
|
1324
1330
|
var import_utils9 = require("@fuel-ts/utils");
|
1325
1331
|
|
1326
1332
|
// src/providers/resource.ts
|
@@ -1807,6 +1813,28 @@ var NoWitnessByOwnerError = class extends Error {
|
|
1807
1813
|
name = "NoWitnessByOwnerError";
|
1808
1814
|
};
|
1809
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
|
+
|
1810
1838
|
// src/providers/transaction-request/witness.ts
|
1811
1839
|
var import_utils8 = require("@fuel-ts/utils");
|
1812
1840
|
var witnessify = (value) => {
|
@@ -1859,20 +1887,20 @@ var BaseTransactionRequest = class {
|
|
1859
1887
|
let policyTypes = 0;
|
1860
1888
|
const policies = [];
|
1861
1889
|
if (req.gasPrice) {
|
1862
|
-
policyTypes +=
|
1863
|
-
policies.push({ data: req.gasPrice, type:
|
1890
|
+
policyTypes += import_transactions7.PolicyType.GasPrice;
|
1891
|
+
policies.push({ data: req.gasPrice, type: import_transactions7.PolicyType.GasPrice });
|
1864
1892
|
}
|
1865
1893
|
if (req.witnessLimit) {
|
1866
|
-
policyTypes +=
|
1867
|
-
policies.push({ data: req.witnessLimit, type:
|
1894
|
+
policyTypes += import_transactions7.PolicyType.WitnessLimit;
|
1895
|
+
policies.push({ data: req.witnessLimit, type: import_transactions7.PolicyType.WitnessLimit });
|
1868
1896
|
}
|
1869
1897
|
if (req.maturity > 0) {
|
1870
|
-
policyTypes +=
|
1871
|
-
policies.push({ data: req.maturity, type:
|
1898
|
+
policyTypes += import_transactions7.PolicyType.Maturity;
|
1899
|
+
policies.push({ data: req.maturity, type: import_transactions7.PolicyType.Maturity });
|
1872
1900
|
}
|
1873
1901
|
if (req.maxFee) {
|
1874
|
-
policyTypes +=
|
1875
|
-
policies.push({ data: req.maxFee, type:
|
1902
|
+
policyTypes += import_transactions7.PolicyType.MaxFee;
|
1903
|
+
policies.push({ data: req.maxFee, type: import_transactions7.PolicyType.MaxFee });
|
1876
1904
|
}
|
1877
1905
|
return {
|
1878
1906
|
policyTypes,
|
@@ -1906,7 +1934,7 @@ var BaseTransactionRequest = class {
|
|
1906
1934
|
* @returns The transaction bytes.
|
1907
1935
|
*/
|
1908
1936
|
toTransactionBytes() {
|
1909
|
-
return new
|
1937
|
+
return new import_transactions7.TransactionCoder().encode(this.toTransaction());
|
1910
1938
|
}
|
1911
1939
|
/**
|
1912
1940
|
* @hidden
|
@@ -1997,7 +2025,7 @@ var BaseTransactionRequest = class {
|
|
1997
2025
|
*/
|
1998
2026
|
getCoinInputs() {
|
1999
2027
|
return this.inputs.filter(
|
2000
|
-
(input) => input.type ===
|
2028
|
+
(input) => input.type === import_transactions7.InputType.Coin
|
2001
2029
|
);
|
2002
2030
|
}
|
2003
2031
|
/**
|
@@ -2007,7 +2035,7 @@ var BaseTransactionRequest = class {
|
|
2007
2035
|
*/
|
2008
2036
|
getCoinOutputs() {
|
2009
2037
|
return this.outputs.filter(
|
2010
|
-
(output) => output.type ===
|
2038
|
+
(output) => output.type === import_transactions7.OutputType.Coin
|
2011
2039
|
);
|
2012
2040
|
}
|
2013
2041
|
/**
|
@@ -2017,7 +2045,7 @@ var BaseTransactionRequest = class {
|
|
2017
2045
|
*/
|
2018
2046
|
getChangeOutputs() {
|
2019
2047
|
return this.outputs.filter(
|
2020
|
-
(output) => output.type ===
|
2048
|
+
(output) => output.type === import_transactions7.OutputType.Change
|
2021
2049
|
);
|
2022
2050
|
}
|
2023
2051
|
/**
|
@@ -2029,9 +2057,9 @@ var BaseTransactionRequest = class {
|
|
2029
2057
|
const ownerAddress = (0, import_address.addressify)(owner);
|
2030
2058
|
const found = this.inputs.find((input) => {
|
2031
2059
|
switch (input.type) {
|
2032
|
-
case
|
2060
|
+
case import_transactions7.InputType.Coin:
|
2033
2061
|
return (0, import_utils9.hexlify)(input.owner) === ownerAddress.toB256();
|
2034
|
-
case
|
2062
|
+
case import_transactions7.InputType.Message:
|
2035
2063
|
return (0, import_utils9.hexlify)(input.recipient) === ownerAddress.toB256();
|
2036
2064
|
default:
|
2037
2065
|
return false;
|
@@ -2047,8 +2075,8 @@ var BaseTransactionRequest = class {
|
|
2047
2075
|
* @param predicate - Predicate bytes.
|
2048
2076
|
* @param predicateData - Predicate data bytes.
|
2049
2077
|
*/
|
2050
|
-
addCoinInput(coin
|
2051
|
-
const { assetId, owner, amount } = coin;
|
2078
|
+
addCoinInput(coin) {
|
2079
|
+
const { assetId, owner, amount, id, predicate } = coin;
|
2052
2080
|
let witnessIndex;
|
2053
2081
|
if (predicate) {
|
2054
2082
|
witnessIndex = 0;
|
@@ -2059,14 +2087,14 @@ var BaseTransactionRequest = class {
|
|
2059
2087
|
}
|
2060
2088
|
}
|
2061
2089
|
const input = {
|
2062
|
-
|
2063
|
-
type:
|
2090
|
+
id,
|
2091
|
+
type: import_transactions7.InputType.Coin,
|
2064
2092
|
owner: owner.toB256(),
|
2065
2093
|
amount,
|
2066
2094
|
assetId,
|
2067
2095
|
txPointer: "0x00000000000000000000000000000000",
|
2068
2096
|
witnessIndex,
|
2069
|
-
predicate
|
2097
|
+
predicate
|
2070
2098
|
};
|
2071
2099
|
this.pushInput(input);
|
2072
2100
|
this.addChangeOutput(owner, assetId);
|
@@ -2079,8 +2107,8 @@ var BaseTransactionRequest = class {
|
|
2079
2107
|
* @param predicate - Predicate bytes.
|
2080
2108
|
* @param predicateData - Predicate data bytes.
|
2081
2109
|
*/
|
2082
|
-
addMessageInput(message
|
2083
|
-
const { recipient, sender, amount } = message;
|
2110
|
+
addMessageInput(message) {
|
2111
|
+
const { recipient, sender, amount, predicate, nonce } = message;
|
2084
2112
|
const assetId = import_configs7.BaseAssetId;
|
2085
2113
|
let witnessIndex;
|
2086
2114
|
if (predicate) {
|
@@ -2092,13 +2120,13 @@ var BaseTransactionRequest = class {
|
|
2092
2120
|
}
|
2093
2121
|
}
|
2094
2122
|
const input = {
|
2095
|
-
|
2096
|
-
type:
|
2123
|
+
nonce,
|
2124
|
+
type: import_transactions7.InputType.Message,
|
2097
2125
|
sender: sender.toB256(),
|
2098
2126
|
recipient: recipient.toB256(),
|
2099
2127
|
amount,
|
2100
2128
|
witnessIndex,
|
2101
|
-
predicate
|
2129
|
+
predicate
|
2102
2130
|
};
|
2103
2131
|
this.pushInput(input);
|
2104
2132
|
this.addChangeOutput(recipient, assetId);
|
@@ -2129,32 +2157,6 @@ var BaseTransactionRequest = class {
|
|
2129
2157
|
resources.forEach((resource) => this.addResource(resource));
|
2130
2158
|
return this;
|
2131
2159
|
}
|
2132
|
-
/**
|
2133
|
-
* Adds multiple resources to the transaction by adding coin/message inputs and change
|
2134
|
-
* outputs from the related assetIds.
|
2135
|
-
*
|
2136
|
-
* @param resources - The resources to add.
|
2137
|
-
* @returns This transaction.
|
2138
|
-
*/
|
2139
|
-
addPredicateResource(resource, predicate) {
|
2140
|
-
if (isCoin(resource)) {
|
2141
|
-
this.addCoinInput(resource, predicate);
|
2142
|
-
} else {
|
2143
|
-
this.addMessageInput(resource, predicate);
|
2144
|
-
}
|
2145
|
-
return this;
|
2146
|
-
}
|
2147
|
-
/**
|
2148
|
-
* Adds multiple predicate coin/message inputs to the transaction and change outputs
|
2149
|
-
* from the related assetIds.
|
2150
|
-
*
|
2151
|
-
* @param resources - The resources to add.
|
2152
|
-
* @returns This transaction.
|
2153
|
-
*/
|
2154
|
-
addPredicateResources(resources, predicate) {
|
2155
|
-
resources.forEach((resource) => this.addPredicateResource(resource, predicate));
|
2156
|
-
return this;
|
2157
|
-
}
|
2158
2160
|
/**
|
2159
2161
|
* Adds a coin output to the transaction.
|
2160
2162
|
*
|
@@ -2164,7 +2166,7 @@ var BaseTransactionRequest = class {
|
|
2164
2166
|
*/
|
2165
2167
|
addCoinOutput(to, amount, assetId = import_configs7.BaseAssetId) {
|
2166
2168
|
this.pushOutput({
|
2167
|
-
type:
|
2169
|
+
type: import_transactions7.OutputType.Coin,
|
2168
2170
|
to: (0, import_address.addressify)(to).toB256(),
|
2169
2171
|
amount,
|
2170
2172
|
assetId
|
@@ -2180,7 +2182,7 @@ var BaseTransactionRequest = class {
|
|
2180
2182
|
addCoinOutputs(to, quantities) {
|
2181
2183
|
quantities.map(coinQuantityfy).forEach((quantity) => {
|
2182
2184
|
this.pushOutput({
|
2183
|
-
type:
|
2185
|
+
type: import_transactions7.OutputType.Coin,
|
2184
2186
|
to: (0, import_address.addressify)(to).toB256(),
|
2185
2187
|
amount: quantity.amount,
|
2186
2188
|
assetId: quantity.assetId
|
@@ -2200,7 +2202,7 @@ var BaseTransactionRequest = class {
|
|
2200
2202
|
);
|
2201
2203
|
if (!changeOutput) {
|
2202
2204
|
this.pushOutput({
|
2203
|
-
type:
|
2205
|
+
type: import_transactions7.OutputType.Change,
|
2204
2206
|
to: (0, import_address.addressify)(to).toB256(),
|
2205
2207
|
assetId
|
2206
2208
|
});
|
@@ -2303,16 +2305,20 @@ var BaseTransactionRequest = class {
|
|
2303
2305
|
toJSON() {
|
2304
2306
|
return normalizeJSON(this);
|
2305
2307
|
}
|
2308
|
+
removeWitness(index) {
|
2309
|
+
this.witnesses.splice(index, 1);
|
2310
|
+
this.adjustWitnessIndexes(index);
|
2311
|
+
}
|
2306
2312
|
updatePredicateInputs(inputs) {
|
2307
2313
|
this.inputs.forEach((i) => {
|
2308
2314
|
let correspondingInput;
|
2309
2315
|
switch (i.type) {
|
2310
|
-
case
|
2311
|
-
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);
|
2312
2318
|
break;
|
2313
|
-
case
|
2319
|
+
case import_transactions7.InputType.Message:
|
2314
2320
|
correspondingInput = inputs.find(
|
2315
|
-
(x) => x.type ===
|
2321
|
+
(x) => x.type === import_transactions7.InputType.Message && x.sender === i.sender
|
2316
2322
|
);
|
2317
2323
|
break;
|
2318
2324
|
default:
|
@@ -2325,30 +2331,37 @@ var BaseTransactionRequest = class {
|
|
2325
2331
|
}
|
2326
2332
|
});
|
2327
2333
|
}
|
2334
|
+
adjustWitnessIndexes(removedIndex) {
|
2335
|
+
this.inputs.filter(isRequestInputResource).forEach((input) => {
|
2336
|
+
if (input.witnessIndex > removedIndex) {
|
2337
|
+
input.witnessIndex -= 1;
|
2338
|
+
}
|
2339
|
+
});
|
2340
|
+
}
|
2328
2341
|
};
|
2329
2342
|
|
2330
2343
|
// src/providers/transaction-request/create-transaction-request.ts
|
2331
2344
|
var import_configs9 = require("@fuel-ts/address/configs");
|
2332
2345
|
var import_math9 = require("@fuel-ts/math");
|
2333
|
-
var
|
2346
|
+
var import_transactions9 = require("@fuel-ts/transactions");
|
2334
2347
|
var import_utils13 = require("@fuel-ts/utils");
|
2335
2348
|
|
2336
2349
|
// src/providers/transaction-request/hash-transaction.ts
|
2337
2350
|
var import_configs8 = require("@fuel-ts/address/configs");
|
2338
2351
|
var import_hasher = require("@fuel-ts/hasher");
|
2339
2352
|
var import_math8 = require("@fuel-ts/math");
|
2340
|
-
var
|
2353
|
+
var import_transactions8 = require("@fuel-ts/transactions");
|
2341
2354
|
var import_utils11 = require("@fuel-ts/utils");
|
2342
2355
|
var import_ramda2 = require("ramda");
|
2343
2356
|
function hashTransaction(transactionRequest, chainId) {
|
2344
2357
|
const transaction = transactionRequest.toTransaction();
|
2345
|
-
if (transaction.type ===
|
2358
|
+
if (transaction.type === import_transactions8.TransactionType.Script) {
|
2346
2359
|
transaction.receiptsRoot = import_configs8.ZeroBytes32;
|
2347
2360
|
}
|
2348
2361
|
transaction.inputs = transaction.inputs.map((input) => {
|
2349
2362
|
const inputClone = (0, import_ramda2.clone)(input);
|
2350
2363
|
switch (inputClone.type) {
|
2351
|
-
case
|
2364
|
+
case import_transactions8.InputType.Coin: {
|
2352
2365
|
inputClone.txPointer = {
|
2353
2366
|
blockHeight: 0,
|
2354
2367
|
txIndex: 0
|
@@ -2356,11 +2369,11 @@ function hashTransaction(transactionRequest, chainId) {
|
|
2356
2369
|
inputClone.predicateGasUsed = (0, import_math8.bn)(0);
|
2357
2370
|
return inputClone;
|
2358
2371
|
}
|
2359
|
-
case
|
2372
|
+
case import_transactions8.InputType.Message: {
|
2360
2373
|
inputClone.predicateGasUsed = (0, import_math8.bn)(0);
|
2361
2374
|
return inputClone;
|
2362
2375
|
}
|
2363
|
-
case
|
2376
|
+
case import_transactions8.InputType.Contract: {
|
2364
2377
|
inputClone.txPointer = {
|
2365
2378
|
blockHeight: 0,
|
2366
2379
|
txIndex: 0
|
@@ -2378,16 +2391,16 @@ function hashTransaction(transactionRequest, chainId) {
|
|
2378
2391
|
transaction.outputs = transaction.outputs.map((output) => {
|
2379
2392
|
const outputClone = (0, import_ramda2.clone)(output);
|
2380
2393
|
switch (outputClone.type) {
|
2381
|
-
case
|
2394
|
+
case import_transactions8.OutputType.Contract: {
|
2382
2395
|
outputClone.balanceRoot = import_configs8.ZeroBytes32;
|
2383
2396
|
outputClone.stateRoot = import_configs8.ZeroBytes32;
|
2384
2397
|
return outputClone;
|
2385
2398
|
}
|
2386
|
-
case
|
2399
|
+
case import_transactions8.OutputType.Change: {
|
2387
2400
|
outputClone.amount = (0, import_math8.bn)(0);
|
2388
2401
|
return outputClone;
|
2389
2402
|
}
|
2390
|
-
case
|
2403
|
+
case import_transactions8.OutputType.Variable: {
|
2391
2404
|
outputClone.to = import_configs8.ZeroBytes32;
|
2392
2405
|
outputClone.amount = (0, import_math8.bn)(0);
|
2393
2406
|
outputClone.assetId = import_configs8.ZeroBytes32;
|
@@ -2400,7 +2413,7 @@ function hashTransaction(transactionRequest, chainId) {
|
|
2400
2413
|
transaction.witnessesCount = 0;
|
2401
2414
|
transaction.witnesses = [];
|
2402
2415
|
const chainIdBytes = (0, import_hasher.uint64ToBytesBE)(chainId);
|
2403
|
-
const concatenatedData = (0, import_utils11.concat)([chainIdBytes, new
|
2416
|
+
const concatenatedData = (0, import_utils11.concat)([chainIdBytes, new import_transactions8.TransactionCoder().encode(transaction)]);
|
2404
2417
|
return (0, import_hasher.sha256)(concatenatedData);
|
2405
2418
|
}
|
2406
2419
|
|
@@ -2436,7 +2449,7 @@ var CreateTransactionRequest = class extends BaseTransactionRequest {
|
|
2436
2449
|
return new this(obj);
|
2437
2450
|
}
|
2438
2451
|
/** Type of the transaction */
|
2439
|
-
type =
|
2452
|
+
type = import_transactions9.TransactionType.Create;
|
2440
2453
|
/** Witness index of contract bytecode to create */
|
2441
2454
|
bytecodeWitnessIndex;
|
2442
2455
|
/** Salt */
|
@@ -2469,7 +2482,7 @@ var CreateTransactionRequest = class extends BaseTransactionRequest {
|
|
2469
2482
|
const bytecodeWitnessIndex = this.bytecodeWitnessIndex;
|
2470
2483
|
const storageSlots = this.storageSlots?.map(storageSlotify) ?? [];
|
2471
2484
|
return {
|
2472
|
-
type:
|
2485
|
+
type: import_transactions9.TransactionType.Create,
|
2473
2486
|
...baseTransaction,
|
2474
2487
|
bytecodeLength: baseTransaction.witnesses[bytecodeWitnessIndex].dataLength / 4,
|
2475
2488
|
bytecodeWitnessIndex,
|
@@ -2485,7 +2498,7 @@ var CreateTransactionRequest = class extends BaseTransactionRequest {
|
|
2485
2498
|
*/
|
2486
2499
|
getContractCreatedOutputs() {
|
2487
2500
|
return this.outputs.filter(
|
2488
|
-
(output) => output.type ===
|
2501
|
+
(output) => output.type === import_transactions9.OutputType.ContractCreated
|
2489
2502
|
);
|
2490
2503
|
}
|
2491
2504
|
/**
|
@@ -2506,7 +2519,7 @@ var CreateTransactionRequest = class extends BaseTransactionRequest {
|
|
2506
2519
|
*/
|
2507
2520
|
addContractCreatedOutput(contractId, stateRoot) {
|
2508
2521
|
this.pushOutput({
|
2509
|
-
type:
|
2522
|
+
type: import_transactions9.OutputType.ContractCreated,
|
2510
2523
|
contractId,
|
2511
2524
|
stateRoot
|
2512
2525
|
});
|
@@ -2526,7 +2539,7 @@ var import_abi_coder3 = require("@fuel-ts/abi-coder");
|
|
2526
2539
|
var import_address2 = require("@fuel-ts/address");
|
2527
2540
|
var import_configs10 = require("@fuel-ts/address/configs");
|
2528
2541
|
var import_math10 = require("@fuel-ts/math");
|
2529
|
-
var
|
2542
|
+
var import_transactions10 = require("@fuel-ts/transactions");
|
2530
2543
|
var import_utils15 = require("@fuel-ts/utils");
|
2531
2544
|
|
2532
2545
|
// src/providers/transaction-request/scripts.ts
|
@@ -2564,7 +2577,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
|
|
2564
2577
|
return new this(obj);
|
2565
2578
|
}
|
2566
2579
|
/** Type of the transaction */
|
2567
|
-
type =
|
2580
|
+
type = import_transactions10.TransactionType.Script;
|
2568
2581
|
/** Gas limit for transaction */
|
2569
2582
|
gasLimit;
|
2570
2583
|
/** Script to execute */
|
@@ -2593,7 +2606,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
|
|
2593
2606
|
const script = (0, import_utils15.arrayify)(this.script ?? "0x");
|
2594
2607
|
const scriptData = (0, import_utils15.arrayify)(this.scriptData ?? "0x");
|
2595
2608
|
return {
|
2596
|
-
type:
|
2609
|
+
type: import_transactions10.TransactionType.Script,
|
2597
2610
|
scriptGasLimit: this.gasLimit,
|
2598
2611
|
...super.getBaseTransaction(),
|
2599
2612
|
scriptLength: script.length,
|
@@ -2610,7 +2623,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
|
|
2610
2623
|
*/
|
2611
2624
|
getContractInputs() {
|
2612
2625
|
return this.inputs.filter(
|
2613
|
-
(input) => input.type ===
|
2626
|
+
(input) => input.type === import_transactions10.InputType.Contract
|
2614
2627
|
);
|
2615
2628
|
}
|
2616
2629
|
/**
|
@@ -2620,7 +2633,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
|
|
2620
2633
|
*/
|
2621
2634
|
getContractOutputs() {
|
2622
2635
|
return this.outputs.filter(
|
2623
|
-
(output) => output.type ===
|
2636
|
+
(output) => output.type === import_transactions10.OutputType.Contract
|
2624
2637
|
);
|
2625
2638
|
}
|
2626
2639
|
/**
|
@@ -2630,7 +2643,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
|
|
2630
2643
|
*/
|
2631
2644
|
getVariableOutputs() {
|
2632
2645
|
return this.outputs.filter(
|
2633
|
-
(output) => output.type ===
|
2646
|
+
(output) => output.type === import_transactions10.OutputType.Variable
|
2634
2647
|
);
|
2635
2648
|
}
|
2636
2649
|
/**
|
@@ -2653,7 +2666,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
|
|
2653
2666
|
let outputsNumber = numberOfVariables;
|
2654
2667
|
while (outputsNumber) {
|
2655
2668
|
this.pushOutput({
|
2656
|
-
type:
|
2669
|
+
type: import_transactions10.OutputType.Variable
|
2657
2670
|
});
|
2658
2671
|
outputsNumber -= 1;
|
2659
2672
|
}
|
@@ -2686,12 +2699,12 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
|
|
2686
2699
|
return this;
|
2687
2700
|
}
|
2688
2701
|
const inputIndex = super.pushInput({
|
2689
|
-
type:
|
2702
|
+
type: import_transactions10.InputType.Contract,
|
2690
2703
|
contractId: contractAddress.toB256(),
|
2691
2704
|
txPointer: "0x00000000000000000000000000000000"
|
2692
2705
|
});
|
2693
2706
|
this.pushOutput({
|
2694
|
-
type:
|
2707
|
+
type: import_transactions10.OutputType.Contract,
|
2695
2708
|
inputIndex
|
2696
2709
|
});
|
2697
2710
|
return this;
|
@@ -2728,17 +2741,17 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
|
|
2728
2741
|
|
2729
2742
|
// src/providers/transaction-request/utils.ts
|
2730
2743
|
var import_errors9 = require("@fuel-ts/errors");
|
2731
|
-
var
|
2744
|
+
var import_transactions11 = require("@fuel-ts/transactions");
|
2732
2745
|
var transactionRequestify = (obj) => {
|
2733
2746
|
if (obj instanceof ScriptTransactionRequest || obj instanceof CreateTransactionRequest) {
|
2734
2747
|
return obj;
|
2735
2748
|
}
|
2736
2749
|
const { type } = obj;
|
2737
2750
|
switch (obj.type) {
|
2738
|
-
case
|
2751
|
+
case import_transactions11.TransactionType.Script: {
|
2739
2752
|
return ScriptTransactionRequest.from(obj);
|
2740
2753
|
}
|
2741
|
-
case
|
2754
|
+
case import_transactions11.TransactionType.Create: {
|
2742
2755
|
return CreateTransactionRequest.from(obj);
|
2743
2756
|
}
|
2744
2757
|
default: {
|
@@ -2750,7 +2763,7 @@ var transactionRequestify = (obj) => {
|
|
2750
2763
|
// src/providers/transaction-response/transaction-response.ts
|
2751
2764
|
var import_errors13 = require("@fuel-ts/errors");
|
2752
2765
|
var import_math14 = require("@fuel-ts/math");
|
2753
|
-
var
|
2766
|
+
var import_transactions18 = require("@fuel-ts/transactions");
|
2754
2767
|
var import_utils21 = require("@fuel-ts/utils");
|
2755
2768
|
|
2756
2769
|
// src/providers/transaction-summary/assemble-transaction-summary.ts
|
@@ -2758,7 +2771,7 @@ var import_utils19 = require("@fuel-ts/utils");
|
|
2758
2771
|
|
2759
2772
|
// src/providers/transaction-summary/calculate-transaction-fee.ts
|
2760
2773
|
var import_math11 = require("@fuel-ts/math");
|
2761
|
-
var
|
2774
|
+
var import_transactions12 = require("@fuel-ts/transactions");
|
2762
2775
|
var import_utils16 = require("@fuel-ts/utils");
|
2763
2776
|
var calculateTransactionFee = (params) => {
|
2764
2777
|
const {
|
@@ -2769,8 +2782,8 @@ var calculateTransactionFee = (params) => {
|
|
2769
2782
|
const gasPerByte = (0, import_math11.bn)(feeParams.gasPerByte);
|
2770
2783
|
const gasPriceFactor = (0, import_math11.bn)(feeParams.gasPriceFactor);
|
2771
2784
|
const transactionBytes = (0, import_utils16.arrayify)(rawPayload);
|
2772
|
-
const [transaction] = new
|
2773
|
-
if (transaction.type ===
|
2785
|
+
const [transaction] = new import_transactions12.TransactionCoder().decode(transactionBytes, 0);
|
2786
|
+
if (transaction.type === import_transactions12.TransactionType.Mint) {
|
2774
2787
|
return {
|
2775
2788
|
fee: (0, import_math11.bn)(0),
|
2776
2789
|
minFee: (0, import_math11.bn)(0),
|
@@ -2781,7 +2794,7 @@ var calculateTransactionFee = (params) => {
|
|
2781
2794
|
const { type, witnesses, inputs, policies } = transaction;
|
2782
2795
|
let metadataGas = (0, import_math11.bn)(0);
|
2783
2796
|
let gasLimit = (0, import_math11.bn)(0);
|
2784
|
-
if (type ===
|
2797
|
+
if (type === import_transactions12.TransactionType.Create) {
|
2785
2798
|
const { bytecodeWitnessIndex, storageSlots } = transaction;
|
2786
2799
|
const contractBytesSize = (0, import_math11.bn)((0, import_utils16.arrayify)(witnesses[bytecodeWitnessIndex].data).length);
|
2787
2800
|
metadataGas = calculateMetadataGasForTxCreate({
|
@@ -2807,8 +2820,8 @@ var calculateTransactionFee = (params) => {
|
|
2807
2820
|
metadataGas,
|
2808
2821
|
txBytesSize: transactionBytes.length
|
2809
2822
|
});
|
2810
|
-
const gasPrice = (0, import_math11.bn)(policies.find((policy) => policy.type ===
|
2811
|
-
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;
|
2812
2825
|
const witnessesLength = witnesses.reduce((acc, wit) => acc + wit.dataLength, 0);
|
2813
2826
|
const maxGas = getMaxGas({
|
2814
2827
|
gasPerByte,
|
@@ -2833,7 +2846,7 @@ var calculateTransactionFee = (params) => {
|
|
2833
2846
|
var import_configs11 = require("@fuel-ts/address/configs");
|
2834
2847
|
var import_errors11 = require("@fuel-ts/errors");
|
2835
2848
|
var import_math13 = require("@fuel-ts/math");
|
2836
|
-
var
|
2849
|
+
var import_transactions15 = require("@fuel-ts/transactions");
|
2837
2850
|
|
2838
2851
|
// src/providers/transaction-summary/call.ts
|
2839
2852
|
var import_abi_coder4 = require("@fuel-ts/abi-coder");
|
@@ -2881,7 +2894,7 @@ var getFunctionCall = ({ abi, receipt, rawPayload, maxInputs }) => {
|
|
2881
2894
|
|
2882
2895
|
// src/providers/transaction-summary/input.ts
|
2883
2896
|
var import_errors10 = require("@fuel-ts/errors");
|
2884
|
-
var
|
2897
|
+
var import_transactions13 = require("@fuel-ts/transactions");
|
2885
2898
|
function getInputsByTypes(inputs, types) {
|
2886
2899
|
return inputs.filter((i) => types.includes(i.type));
|
2887
2900
|
}
|
@@ -2889,16 +2902,16 @@ function getInputsByType(inputs, type) {
|
|
2889
2902
|
return inputs.filter((i) => i.type === type);
|
2890
2903
|
}
|
2891
2904
|
function getInputsCoin(inputs) {
|
2892
|
-
return getInputsByType(inputs,
|
2905
|
+
return getInputsByType(inputs, import_transactions13.InputType.Coin);
|
2893
2906
|
}
|
2894
2907
|
function getInputsMessage(inputs) {
|
2895
|
-
return getInputsByType(inputs,
|
2908
|
+
return getInputsByType(inputs, import_transactions13.InputType.Message);
|
2896
2909
|
}
|
2897
2910
|
function getInputsCoinAndMessage(inputs) {
|
2898
|
-
return getInputsByTypes(inputs, [
|
2911
|
+
return getInputsByTypes(inputs, [import_transactions13.InputType.Coin, import_transactions13.InputType.Message]);
|
2899
2912
|
}
|
2900
2913
|
function getInputsContract(inputs) {
|
2901
|
-
return getInputsByType(inputs,
|
2914
|
+
return getInputsByType(inputs, import_transactions13.InputType.Contract);
|
2902
2915
|
}
|
2903
2916
|
function getInputFromAssetId(inputs, assetId) {
|
2904
2917
|
const coinInputs = getInputsCoin(inputs);
|
@@ -2917,7 +2930,7 @@ function getInputContractFromIndex(inputs, inputIndex) {
|
|
2917
2930
|
if (!contractInput) {
|
2918
2931
|
return void 0;
|
2919
2932
|
}
|
2920
|
-
if (contractInput.type !==
|
2933
|
+
if (contractInput.type !== import_transactions13.InputType.Contract) {
|
2921
2934
|
throw new import_errors10.FuelError(
|
2922
2935
|
import_errors10.ErrorCode.INVALID_TRANSACTION_INPUT,
|
2923
2936
|
`Contract input should be of type 'contract'.`
|
@@ -2926,34 +2939,34 @@ function getInputContractFromIndex(inputs, inputIndex) {
|
|
2926
2939
|
return contractInput;
|
2927
2940
|
}
|
2928
2941
|
function getInputAccountAddress(input) {
|
2929
|
-
if (input.type ===
|
2942
|
+
if (input.type === import_transactions13.InputType.Coin) {
|
2930
2943
|
return input.owner.toString();
|
2931
2944
|
}
|
2932
|
-
if (input.type ===
|
2945
|
+
if (input.type === import_transactions13.InputType.Message) {
|
2933
2946
|
return input.recipient.toString();
|
2934
2947
|
}
|
2935
2948
|
return "";
|
2936
2949
|
}
|
2937
2950
|
|
2938
2951
|
// src/providers/transaction-summary/output.ts
|
2939
|
-
var
|
2952
|
+
var import_transactions14 = require("@fuel-ts/transactions");
|
2940
2953
|
function getOutputsByType(outputs, type) {
|
2941
2954
|
return outputs.filter((o) => o.type === type);
|
2942
2955
|
}
|
2943
2956
|
function getOutputsContractCreated(outputs) {
|
2944
|
-
return getOutputsByType(outputs,
|
2957
|
+
return getOutputsByType(outputs, import_transactions14.OutputType.ContractCreated);
|
2945
2958
|
}
|
2946
2959
|
function getOutputsCoin(outputs) {
|
2947
|
-
return getOutputsByType(outputs,
|
2960
|
+
return getOutputsByType(outputs, import_transactions14.OutputType.Coin);
|
2948
2961
|
}
|
2949
2962
|
function getOutputsChange(outputs) {
|
2950
|
-
return getOutputsByType(outputs,
|
2963
|
+
return getOutputsByType(outputs, import_transactions14.OutputType.Change);
|
2951
2964
|
}
|
2952
2965
|
function getOutputsContract(outputs) {
|
2953
|
-
return getOutputsByType(outputs,
|
2966
|
+
return getOutputsByType(outputs, import_transactions14.OutputType.Contract);
|
2954
2967
|
}
|
2955
2968
|
function getOutputsVariable(outputs) {
|
2956
|
-
return getOutputsByType(outputs,
|
2969
|
+
return getOutputsByType(outputs, import_transactions14.OutputType.Variable);
|
2957
2970
|
}
|
2958
2971
|
|
2959
2972
|
// src/providers/transaction-summary/types.ts
|
@@ -3000,11 +3013,11 @@ function getReceiptsByType(receipts, type) {
|
|
3000
3013
|
}
|
3001
3014
|
function getTransactionTypeName(transactionType) {
|
3002
3015
|
switch (transactionType) {
|
3003
|
-
case
|
3016
|
+
case import_transactions15.TransactionType.Mint:
|
3004
3017
|
return "Mint" /* Mint */;
|
3005
|
-
case
|
3018
|
+
case import_transactions15.TransactionType.Create:
|
3006
3019
|
return "Create" /* Create */;
|
3007
|
-
case
|
3020
|
+
case import_transactions15.TransactionType.Script:
|
3008
3021
|
return "Script" /* Script */;
|
3009
3022
|
default:
|
3010
3023
|
throw new import_errors11.FuelError(
|
@@ -3030,10 +3043,10 @@ function hasSameAssetId(a) {
|
|
3030
3043
|
return (b) => a.assetId === b.assetId;
|
3031
3044
|
}
|
3032
3045
|
function getReceiptsCall(receipts) {
|
3033
|
-
return getReceiptsByType(receipts,
|
3046
|
+
return getReceiptsByType(receipts, import_transactions15.ReceiptType.Call);
|
3034
3047
|
}
|
3035
3048
|
function getReceiptsMessageOut(receipts) {
|
3036
|
-
return getReceiptsByType(receipts,
|
3049
|
+
return getReceiptsByType(receipts, import_transactions15.ReceiptType.MessageOut);
|
3037
3050
|
}
|
3038
3051
|
var mergeAssets = (op1, op2) => {
|
3039
3052
|
const assets1 = op1.assetsSent || [];
|
@@ -3072,7 +3085,7 @@ function addOperation(operations, toAdd) {
|
|
3072
3085
|
return allOperations;
|
3073
3086
|
}
|
3074
3087
|
function getReceiptsTransferOut(receipts) {
|
3075
|
-
return getReceiptsByType(receipts,
|
3088
|
+
return getReceiptsByType(receipts, import_transactions15.ReceiptType.TransferOut);
|
3076
3089
|
}
|
3077
3090
|
function getWithdrawFromFuelOperations({
|
3078
3091
|
inputs,
|
@@ -3232,11 +3245,11 @@ function getTransferOperations({
|
|
3232
3245
|
});
|
3233
3246
|
const transferReceipts = getReceiptsByType(
|
3234
3247
|
receipts,
|
3235
|
-
|
3248
|
+
import_transactions15.ReceiptType.Transfer
|
3236
3249
|
);
|
3237
3250
|
const transferOutReceipts = getReceiptsByType(
|
3238
3251
|
receipts,
|
3239
|
-
|
3252
|
+
import_transactions15.ReceiptType.TransferOut
|
3240
3253
|
);
|
3241
3254
|
[...transferReceipts, ...transferOutReceipts].forEach((receipt) => {
|
3242
3255
|
const operation = extractTransferOperationFromReceipt(receipt, contractInputs, changeOutputs);
|
@@ -3321,17 +3334,17 @@ function getOperations({
|
|
3321
3334
|
}
|
3322
3335
|
|
3323
3336
|
// src/providers/transaction-summary/receipt.ts
|
3324
|
-
var
|
3337
|
+
var import_transactions16 = require("@fuel-ts/transactions");
|
3325
3338
|
var processGqlReceipt = (gqlReceipt) => {
|
3326
3339
|
const receipt = assembleReceiptByType(gqlReceipt);
|
3327
3340
|
switch (receipt.type) {
|
3328
|
-
case
|
3341
|
+
case import_transactions16.ReceiptType.ReturnData: {
|
3329
3342
|
return {
|
3330
3343
|
...receipt,
|
3331
3344
|
data: gqlReceipt.data || "0x"
|
3332
3345
|
};
|
3333
3346
|
}
|
3334
|
-
case
|
3347
|
+
case import_transactions16.ReceiptType.LogData: {
|
3335
3348
|
return {
|
3336
3349
|
...receipt,
|
3337
3350
|
data: gqlReceipt.data || "0x"
|
@@ -3344,7 +3357,7 @@ var processGqlReceipt = (gqlReceipt) => {
|
|
3344
3357
|
var extractMintedAssetsFromReceipts = (receipts) => {
|
3345
3358
|
const mintedAssets = [];
|
3346
3359
|
receipts.forEach((receipt) => {
|
3347
|
-
if (receipt.type ===
|
3360
|
+
if (receipt.type === import_transactions16.ReceiptType.Mint) {
|
3348
3361
|
mintedAssets.push({
|
3349
3362
|
subId: receipt.subId,
|
3350
3363
|
contractId: receipt.contractId,
|
@@ -3358,7 +3371,7 @@ var extractMintedAssetsFromReceipts = (receipts) => {
|
|
3358
3371
|
var extractBurnedAssetsFromReceipts = (receipts) => {
|
3359
3372
|
const burnedAssets = [];
|
3360
3373
|
receipts.forEach((receipt) => {
|
3361
|
-
if (receipt.type ===
|
3374
|
+
if (receipt.type === import_transactions16.ReceiptType.Burn) {
|
3362
3375
|
burnedAssets.push({
|
3363
3376
|
subId: receipt.subId,
|
3364
3377
|
contractId: receipt.contractId,
|
@@ -3497,12 +3510,12 @@ function assembleTransactionSummary(params) {
|
|
3497
3510
|
|
3498
3511
|
// src/providers/transaction-response/getDecodedLogs.ts
|
3499
3512
|
var import_abi_coder5 = require("@fuel-ts/abi-coder");
|
3500
|
-
var
|
3513
|
+
var import_transactions17 = require("@fuel-ts/transactions");
|
3501
3514
|
function getDecodedLogs(receipts, mainAbi, externalAbis = {}) {
|
3502
3515
|
return receipts.reduce((logs, receipt) => {
|
3503
|
-
if (receipt.type ===
|
3516
|
+
if (receipt.type === import_transactions17.ReceiptType.LogData || receipt.type === import_transactions17.ReceiptType.Log) {
|
3504
3517
|
const interfaceToUse = new import_abi_coder5.Interface(externalAbis[receipt.id] || mainAbi);
|
3505
|
-
const data = receipt.type ===
|
3518
|
+
const data = receipt.type === import_transactions17.ReceiptType.Log ? new import_abi_coder5.BigNumberCoder("u64").encode(receipt.val0) : receipt.data;
|
3506
3519
|
const [decodedLog] = interfaceToUse.decodeLog(data, receipt.val1.toNumber());
|
3507
3520
|
logs.push(decodedLog);
|
3508
3521
|
}
|
@@ -3575,7 +3588,7 @@ var TransactionResponse = class {
|
|
3575
3588
|
* @returns The decoded transaction.
|
3576
3589
|
*/
|
3577
3590
|
decodeTransaction(transactionWithReceipts) {
|
3578
|
-
return new
|
3591
|
+
return new import_transactions18.TransactionCoder().decode(
|
3579
3592
|
(0, import_utils21.arrayify)(transactionWithReceipts.rawPayload),
|
3580
3593
|
0
|
3581
3594
|
)?.[0];
|
@@ -4012,7 +4025,7 @@ var _Provider = class {
|
|
4012
4025
|
}
|
4013
4026
|
const encodedTransaction = (0, import_utils23.hexlify)(transactionRequest.toTransactionBytes());
|
4014
4027
|
let abis;
|
4015
|
-
if (transactionRequest.type ===
|
4028
|
+
if (transactionRequest.type === import_transactions19.TransactionType.Script) {
|
4016
4029
|
abis = transactionRequest.abis;
|
4017
4030
|
}
|
4018
4031
|
if (awaitExecution) {
|
@@ -4108,7 +4121,7 @@ var _Provider = class {
|
|
4108
4121
|
* @returns A promise.
|
4109
4122
|
*/
|
4110
4123
|
async estimateTxDependencies(transactionRequest) {
|
4111
|
-
if (transactionRequest.type ===
|
4124
|
+
if (transactionRequest.type === import_transactions19.TransactionType.Create) {
|
4112
4125
|
return {
|
4113
4126
|
receipts: [],
|
4114
4127
|
outputVariables: 0,
|
@@ -4157,7 +4170,7 @@ var _Provider = class {
|
|
4157
4170
|
transactionRequest.gasPrice = gasPrice;
|
4158
4171
|
const minGas = transactionRequest.calculateMinGas(chainInfo);
|
4159
4172
|
const minFee = calculatePriceWithFactor(minGas, gasPrice, gasPriceFactor).normalizeZeroToOne();
|
4160
|
-
if (transactionRequest.type ===
|
4173
|
+
if (transactionRequest.type === import_transactions19.TransactionType.Script) {
|
4161
4174
|
if (transactionRequest.gasLimit.eq(0)) {
|
4162
4175
|
transactionRequest.gasLimit = minGas;
|
4163
4176
|
transactionRequest.gasLimit = maxGasPerTx.sub(
|
@@ -4223,7 +4236,7 @@ var _Provider = class {
|
|
4223
4236
|
const txRequestClone = (0, import_ramda3.clone)(transactionRequestify(transactionRequestLike));
|
4224
4237
|
const { minGasPrice } = this.getGasConfig();
|
4225
4238
|
const setGasPrice = (0, import_math15.max)(txRequestClone.gasPrice, minGasPrice);
|
4226
|
-
const isScriptTransaction = txRequestClone.type ===
|
4239
|
+
const isScriptTransaction = txRequestClone.type === import_transactions19.TransactionType.Script;
|
4227
4240
|
const coinOutputsQuantities = txRequestClone.getCoinOutputsQuantities();
|
4228
4241
|
const allQuantities = mergeQuantities(coinOutputsQuantities, forwardingQuantities);
|
4229
4242
|
txRequestClone.fundWithFakeUtxos(allQuantities, resourcesOwner?.address);
|
@@ -4439,7 +4452,7 @@ var _Provider = class {
|
|
4439
4452
|
time: block.header.time,
|
4440
4453
|
transactionIds: block.transactions.map((tx) => tx.id),
|
4441
4454
|
transactions: block.transactions.map(
|
4442
|
-
(tx) => new
|
4455
|
+
(tx) => new import_transactions19.TransactionCoder().decode((0, import_utils23.arrayify)(tx.rawPayload), 0)?.[0]
|
4443
4456
|
)
|
4444
4457
|
};
|
4445
4458
|
}
|
@@ -4454,7 +4467,7 @@ var _Provider = class {
|
|
4454
4467
|
if (!transaction) {
|
4455
4468
|
return null;
|
4456
4469
|
}
|
4457
|
-
return new
|
4470
|
+
return new import_transactions19.TransactionCoder().decode(
|
4458
4471
|
(0, import_utils23.arrayify)(transaction.rawPayload),
|
4459
4472
|
0
|
4460
4473
|
)?.[0];
|
@@ -4534,7 +4547,7 @@ var _Provider = class {
|
|
4534
4547
|
});
|
4535
4548
|
const messages = result.messages.edges.map((edge) => edge.node);
|
4536
4549
|
return messages.map((message) => ({
|
4537
|
-
messageId:
|
4550
|
+
messageId: import_transactions19.InputMessageCoder.getMessageId({
|
4538
4551
|
sender: message.sender,
|
4539
4552
|
recipient: message.recipient,
|
4540
4553
|
nonce: message.nonce,
|
@@ -4545,7 +4558,7 @@ var _Provider = class {
|
|
4545
4558
|
recipient: import_address3.Address.fromAddressOrString(message.recipient),
|
4546
4559
|
nonce: message.nonce,
|
4547
4560
|
amount: (0, import_math15.bn)(message.amount),
|
4548
|
-
data:
|
4561
|
+
data: import_transactions19.InputMessageCoder.decodeData(message.data),
|
4549
4562
|
daHeight: (0, import_math15.bn)(message.daHeight)
|
4550
4563
|
}));
|
4551
4564
|
}
|
@@ -4673,7 +4686,7 @@ cacheInputs_fn = function(inputs) {
|
|
4673
4686
|
return;
|
4674
4687
|
}
|
4675
4688
|
inputs.forEach((input) => {
|
4676
|
-
if (input.type ===
|
4689
|
+
if (input.type === import_transactions19.InputType.Coin) {
|
4677
4690
|
this.cache?.set(input.id);
|
4678
4691
|
}
|
4679
4692
|
});
|
@@ -4684,7 +4697,7 @@ __publicField(Provider, "nodeInfoCache", {});
|
|
4684
4697
|
// src/providers/transaction-summary/get-transaction-summary.ts
|
4685
4698
|
var import_errors15 = require("@fuel-ts/errors");
|
4686
4699
|
var import_math16 = require("@fuel-ts/math");
|
4687
|
-
var
|
4700
|
+
var import_transactions20 = require("@fuel-ts/transactions");
|
4688
4701
|
var import_utils26 = require("@fuel-ts/utils");
|
4689
4702
|
async function getTransactionSummary(params) {
|
4690
4703
|
const { id, provider, abiMap } = params;
|
@@ -4697,7 +4710,7 @@ async function getTransactionSummary(params) {
|
|
4697
4710
|
`Transaction not found for given id: ${id}.`
|
4698
4711
|
);
|
4699
4712
|
}
|
4700
|
-
const [decodedTransaction] = new
|
4713
|
+
const [decodedTransaction] = new import_transactions20.TransactionCoder().decode(
|
4701
4714
|
(0, import_utils26.arrayify)(gqlTransaction.rawPayload),
|
4702
4715
|
0
|
4703
4716
|
);
|
@@ -4751,7 +4764,7 @@ async function getTransactionsSummaries(params) {
|
|
4751
4764
|
const transactions = edges.map((edge) => {
|
4752
4765
|
const { node: gqlTransaction } = edge;
|
4753
4766
|
const { id, rawPayload, receipts: gqlReceipts, status } = gqlTransaction;
|
4754
|
-
const [decodedTransaction] = new
|
4767
|
+
const [decodedTransaction] = new import_transactions20.TransactionCoder().decode((0, import_utils26.arrayify)(rawPayload), 0);
|
4755
4768
|
const receipts = gqlReceipts?.map(processGqlReceipt) || [];
|
4756
4769
|
const transactionSummary = assembleTransactionSummary({
|
4757
4770
|
id,
|
@@ -8828,7 +8841,7 @@ var import_abi_coder7 = require("@fuel-ts/abi-coder");
|
|
8828
8841
|
var import_address10 = require("@fuel-ts/address");
|
8829
8842
|
var import_configs13 = require("@fuel-ts/address/configs");
|
8830
8843
|
var import_errors25 = require("@fuel-ts/errors");
|
8831
|
-
var
|
8844
|
+
var import_transactions21 = require("@fuel-ts/transactions");
|
8832
8845
|
var import_utils37 = require("@fuel-ts/utils");
|
8833
8846
|
|
8834
8847
|
// src/predicate/utils/getPredicateRoot.ts
|
@@ -8887,10 +8900,15 @@ var Predicate = class extends Account {
|
|
8887
8900
|
populateTransactionPredicateData(transactionRequestLike) {
|
8888
8901
|
const request = transactionRequestify(transactionRequestLike);
|
8889
8902
|
const { policies } = BaseTransactionRequest.getPolicyMeta(request);
|
8890
|
-
|
8891
|
-
|
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)) {
|
8892
8909
|
input.predicate = this.bytes;
|
8893
8910
|
input.predicateData = this.getPredicateData(policies.length);
|
8911
|
+
input.witnessIndex = 0;
|
8894
8912
|
}
|
8895
8913
|
});
|
8896
8914
|
return request;
|
@@ -8928,12 +8946,26 @@ var Predicate = class extends Account {
|
|
8928
8946
|
const transactionRequest = this.populateTransactionPredicateData(transactionRequestLike);
|
8929
8947
|
return super.simulateTransaction(transactionRequest);
|
8930
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
|
+
}
|
8931
8963
|
getPredicateData(policiesLength) {
|
8932
8964
|
if (!this.predicateData.length) {
|
8933
8965
|
return new Uint8Array();
|
8934
8966
|
}
|
8935
8967
|
const mainFn = this.interface?.functions.main;
|
8936
|
-
const paddedCode = new
|
8968
|
+
const paddedCode = new import_transactions21.ByteArrayCoder(this.bytes.length).encode(this.bytes);
|
8937
8969
|
const VM_TX_MEMORY = (0, import_abi_coder7.calculateVmTxMemory)({
|
8938
8970
|
maxInputs: this.provider.getChain().consensusParameters.maxInputs.toNumber()
|
8939
8971
|
});
|
@@ -9007,6 +9039,28 @@ var Predicate = class extends Account {
|
|
9007
9039
|
}
|
9008
9040
|
return mutatedBytes;
|
9009
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
|
+
}
|
9010
9064
|
};
|
9011
9065
|
|
9012
9066
|
// src/connectors/fuel.ts
|
@@ -9730,6 +9784,7 @@ __publicField(Fuel, "defaultConfig", {});
|
|
9730
9784
|
assets,
|
9731
9785
|
buildBlockExplorerUrl,
|
9732
9786
|
cacheFor,
|
9787
|
+
cacheResources,
|
9733
9788
|
calculateMetadataGasForTxCreate,
|
9734
9789
|
calculateMetadataGasForTxScript,
|
9735
9790
|
calculatePriceWithFactor,
|
@@ -9776,6 +9831,7 @@ __publicField(Fuel, "defaultConfig", {});
|
|
9776
9831
|
getReceiptsMessageOut,
|
9777
9832
|
getReceiptsTransferOut,
|
9778
9833
|
getReceiptsWithMissingData,
|
9834
|
+
getRequestInputResourceOwner,
|
9779
9835
|
getTransactionStatusName,
|
9780
9836
|
getTransactionSummary,
|
9781
9837
|
getTransactionSummaryFromRequest,
|
@@ -9789,6 +9845,10 @@ __publicField(Fuel, "defaultConfig", {});
|
|
9789
9845
|
isMessage,
|
9790
9846
|
isRawCoin,
|
9791
9847
|
isRawMessage,
|
9848
|
+
isRequestInputCoin,
|
9849
|
+
isRequestInputMessage,
|
9850
|
+
isRequestInputResource,
|
9851
|
+
isRequestInputResourceFromOwner,
|
9792
9852
|
isType,
|
9793
9853
|
isTypeCreate,
|
9794
9854
|
isTypeMint,
|