@fuel-ts/account 0.0.0-rc-2045-20240417092921 → 0.0.0-rc-2037-20240417131250
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 +85 -39
- package/dist/index.global.js.map +1 -1
- package/dist/index.js +200 -141
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +117 -64
- package/dist/index.mjs.map +1 -1
- package/dist/predicate/predicate.d.ts +11 -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,33 @@ 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) => {
|
1822
|
+
if (isRequestInputCoin(input)) {
|
1823
|
+
return input.owner;
|
1824
|
+
}
|
1825
|
+
return input.recipient;
|
1826
|
+
};
|
1827
|
+
var isRequestInputResourceFromOwner = (input, owner) => getRequestInputResourceOwner(input) === owner.toB256();
|
1828
|
+
var cacheResources = (resources) => resources.reduce(
|
1829
|
+
(cache2, resource) => {
|
1830
|
+
if (isCoin(resource)) {
|
1831
|
+
cache2.utxos.push(resource.id);
|
1832
|
+
} else {
|
1833
|
+
cache2.messages.push(resource.nonce);
|
1834
|
+
}
|
1835
|
+
return cache2;
|
1836
|
+
},
|
1837
|
+
{
|
1838
|
+
utxos: [],
|
1839
|
+
messages: []
|
1840
|
+
}
|
1841
|
+
);
|
1842
|
+
|
1810
1843
|
// src/providers/transaction-request/witness.ts
|
1811
1844
|
var import_utils8 = require("@fuel-ts/utils");
|
1812
1845
|
var witnessify = (value) => {
|
@@ -1859,20 +1892,20 @@ var BaseTransactionRequest = class {
|
|
1859
1892
|
let policyTypes = 0;
|
1860
1893
|
const policies = [];
|
1861
1894
|
if (req.gasPrice) {
|
1862
|
-
policyTypes +=
|
1863
|
-
policies.push({ data: req.gasPrice, type:
|
1895
|
+
policyTypes += import_transactions7.PolicyType.GasPrice;
|
1896
|
+
policies.push({ data: req.gasPrice, type: import_transactions7.PolicyType.GasPrice });
|
1864
1897
|
}
|
1865
1898
|
if (req.witnessLimit) {
|
1866
|
-
policyTypes +=
|
1867
|
-
policies.push({ data: req.witnessLimit, type:
|
1899
|
+
policyTypes += import_transactions7.PolicyType.WitnessLimit;
|
1900
|
+
policies.push({ data: req.witnessLimit, type: import_transactions7.PolicyType.WitnessLimit });
|
1868
1901
|
}
|
1869
1902
|
if (req.maturity > 0) {
|
1870
|
-
policyTypes +=
|
1871
|
-
policies.push({ data: req.maturity, type:
|
1903
|
+
policyTypes += import_transactions7.PolicyType.Maturity;
|
1904
|
+
policies.push({ data: req.maturity, type: import_transactions7.PolicyType.Maturity });
|
1872
1905
|
}
|
1873
1906
|
if (req.maxFee) {
|
1874
|
-
policyTypes +=
|
1875
|
-
policies.push({ data: req.maxFee, type:
|
1907
|
+
policyTypes += import_transactions7.PolicyType.MaxFee;
|
1908
|
+
policies.push({ data: req.maxFee, type: import_transactions7.PolicyType.MaxFee });
|
1876
1909
|
}
|
1877
1910
|
return {
|
1878
1911
|
policyTypes,
|
@@ -1906,7 +1939,7 @@ var BaseTransactionRequest = class {
|
|
1906
1939
|
* @returns The transaction bytes.
|
1907
1940
|
*/
|
1908
1941
|
toTransactionBytes() {
|
1909
|
-
return new
|
1942
|
+
return new import_transactions7.TransactionCoder().encode(this.toTransaction());
|
1910
1943
|
}
|
1911
1944
|
/**
|
1912
1945
|
* @hidden
|
@@ -1997,7 +2030,7 @@ var BaseTransactionRequest = class {
|
|
1997
2030
|
*/
|
1998
2031
|
getCoinInputs() {
|
1999
2032
|
return this.inputs.filter(
|
2000
|
-
(input) => input.type ===
|
2033
|
+
(input) => input.type === import_transactions7.InputType.Coin
|
2001
2034
|
);
|
2002
2035
|
}
|
2003
2036
|
/**
|
@@ -2007,7 +2040,7 @@ var BaseTransactionRequest = class {
|
|
2007
2040
|
*/
|
2008
2041
|
getCoinOutputs() {
|
2009
2042
|
return this.outputs.filter(
|
2010
|
-
(output) => output.type ===
|
2043
|
+
(output) => output.type === import_transactions7.OutputType.Coin
|
2011
2044
|
);
|
2012
2045
|
}
|
2013
2046
|
/**
|
@@ -2017,7 +2050,7 @@ var BaseTransactionRequest = class {
|
|
2017
2050
|
*/
|
2018
2051
|
getChangeOutputs() {
|
2019
2052
|
return this.outputs.filter(
|
2020
|
-
(output) => output.type ===
|
2053
|
+
(output) => output.type === import_transactions7.OutputType.Change
|
2021
2054
|
);
|
2022
2055
|
}
|
2023
2056
|
/**
|
@@ -2029,9 +2062,9 @@ var BaseTransactionRequest = class {
|
|
2029
2062
|
const ownerAddress = (0, import_address.addressify)(owner);
|
2030
2063
|
const found = this.inputs.find((input) => {
|
2031
2064
|
switch (input.type) {
|
2032
|
-
case
|
2065
|
+
case import_transactions7.InputType.Coin:
|
2033
2066
|
return (0, import_utils9.hexlify)(input.owner) === ownerAddress.toB256();
|
2034
|
-
case
|
2067
|
+
case import_transactions7.InputType.Message:
|
2035
2068
|
return (0, import_utils9.hexlify)(input.recipient) === ownerAddress.toB256();
|
2036
2069
|
default:
|
2037
2070
|
return false;
|
@@ -2047,8 +2080,8 @@ var BaseTransactionRequest = class {
|
|
2047
2080
|
* @param predicate - Predicate bytes.
|
2048
2081
|
* @param predicateData - Predicate data bytes.
|
2049
2082
|
*/
|
2050
|
-
addCoinInput(coin
|
2051
|
-
const { assetId, owner, amount } = coin;
|
2083
|
+
addCoinInput(coin) {
|
2084
|
+
const { assetId, owner, amount, id, predicate } = coin;
|
2052
2085
|
let witnessIndex;
|
2053
2086
|
if (predicate) {
|
2054
2087
|
witnessIndex = 0;
|
@@ -2059,14 +2092,14 @@ var BaseTransactionRequest = class {
|
|
2059
2092
|
}
|
2060
2093
|
}
|
2061
2094
|
const input = {
|
2062
|
-
|
2063
|
-
type:
|
2095
|
+
id,
|
2096
|
+
type: import_transactions7.InputType.Coin,
|
2064
2097
|
owner: owner.toB256(),
|
2065
2098
|
amount,
|
2066
2099
|
assetId,
|
2067
2100
|
txPointer: "0x00000000000000000000000000000000",
|
2068
2101
|
witnessIndex,
|
2069
|
-
predicate
|
2102
|
+
predicate
|
2070
2103
|
};
|
2071
2104
|
this.pushInput(input);
|
2072
2105
|
this.addChangeOutput(owner, assetId);
|
@@ -2079,8 +2112,8 @@ var BaseTransactionRequest = class {
|
|
2079
2112
|
* @param predicate - Predicate bytes.
|
2080
2113
|
* @param predicateData - Predicate data bytes.
|
2081
2114
|
*/
|
2082
|
-
addMessageInput(message
|
2083
|
-
const { recipient, sender, amount } = message;
|
2115
|
+
addMessageInput(message) {
|
2116
|
+
const { recipient, sender, amount, predicate, nonce } = message;
|
2084
2117
|
const assetId = import_configs7.BaseAssetId;
|
2085
2118
|
let witnessIndex;
|
2086
2119
|
if (predicate) {
|
@@ -2092,13 +2125,13 @@ var BaseTransactionRequest = class {
|
|
2092
2125
|
}
|
2093
2126
|
}
|
2094
2127
|
const input = {
|
2095
|
-
|
2096
|
-
type:
|
2128
|
+
nonce,
|
2129
|
+
type: import_transactions7.InputType.Message,
|
2097
2130
|
sender: sender.toB256(),
|
2098
2131
|
recipient: recipient.toB256(),
|
2099
2132
|
amount,
|
2100
2133
|
witnessIndex,
|
2101
|
-
predicate
|
2134
|
+
predicate
|
2102
2135
|
};
|
2103
2136
|
this.pushInput(input);
|
2104
2137
|
this.addChangeOutput(recipient, assetId);
|
@@ -2129,32 +2162,6 @@ var BaseTransactionRequest = class {
|
|
2129
2162
|
resources.forEach((resource) => this.addResource(resource));
|
2130
2163
|
return this;
|
2131
2164
|
}
|
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
2165
|
/**
|
2159
2166
|
* Adds a coin output to the transaction.
|
2160
2167
|
*
|
@@ -2164,7 +2171,7 @@ var BaseTransactionRequest = class {
|
|
2164
2171
|
*/
|
2165
2172
|
addCoinOutput(to, amount, assetId = import_configs7.BaseAssetId) {
|
2166
2173
|
this.pushOutput({
|
2167
|
-
type:
|
2174
|
+
type: import_transactions7.OutputType.Coin,
|
2168
2175
|
to: (0, import_address.addressify)(to).toB256(),
|
2169
2176
|
amount,
|
2170
2177
|
assetId
|
@@ -2180,7 +2187,7 @@ var BaseTransactionRequest = class {
|
|
2180
2187
|
addCoinOutputs(to, quantities) {
|
2181
2188
|
quantities.map(coinQuantityfy).forEach((quantity) => {
|
2182
2189
|
this.pushOutput({
|
2183
|
-
type:
|
2190
|
+
type: import_transactions7.OutputType.Coin,
|
2184
2191
|
to: (0, import_address.addressify)(to).toB256(),
|
2185
2192
|
amount: quantity.amount,
|
2186
2193
|
assetId: quantity.assetId
|
@@ -2200,7 +2207,7 @@ var BaseTransactionRequest = class {
|
|
2200
2207
|
);
|
2201
2208
|
if (!changeOutput) {
|
2202
2209
|
this.pushOutput({
|
2203
|
-
type:
|
2210
|
+
type: import_transactions7.OutputType.Change,
|
2204
2211
|
to: (0, import_address.addressify)(to).toB256(),
|
2205
2212
|
assetId
|
2206
2213
|
});
|
@@ -2303,16 +2310,20 @@ var BaseTransactionRequest = class {
|
|
2303
2310
|
toJSON() {
|
2304
2311
|
return normalizeJSON(this);
|
2305
2312
|
}
|
2313
|
+
removeWitness(index) {
|
2314
|
+
this.witnesses.splice(index, 1);
|
2315
|
+
this.adjustWitnessIndexes(index);
|
2316
|
+
}
|
2306
2317
|
updatePredicateInputs(inputs) {
|
2307
2318
|
this.inputs.forEach((i) => {
|
2308
2319
|
let correspondingInput;
|
2309
2320
|
switch (i.type) {
|
2310
|
-
case
|
2311
|
-
correspondingInput = inputs.find((x) => x.type ===
|
2321
|
+
case import_transactions7.InputType.Coin:
|
2322
|
+
correspondingInput = inputs.find((x) => x.type === import_transactions7.InputType.Coin && x.owner === i.owner);
|
2312
2323
|
break;
|
2313
|
-
case
|
2324
|
+
case import_transactions7.InputType.Message:
|
2314
2325
|
correspondingInput = inputs.find(
|
2315
|
-
(x) => x.type ===
|
2326
|
+
(x) => x.type === import_transactions7.InputType.Message && x.sender === i.sender
|
2316
2327
|
);
|
2317
2328
|
break;
|
2318
2329
|
default:
|
@@ -2325,30 +2336,37 @@ var BaseTransactionRequest = class {
|
|
2325
2336
|
}
|
2326
2337
|
});
|
2327
2338
|
}
|
2339
|
+
adjustWitnessIndexes(removedIndex) {
|
2340
|
+
this.inputs.filter(isRequestInputResource).forEach((input) => {
|
2341
|
+
if (input.witnessIndex > removedIndex) {
|
2342
|
+
input.witnessIndex -= 1;
|
2343
|
+
}
|
2344
|
+
});
|
2345
|
+
}
|
2328
2346
|
};
|
2329
2347
|
|
2330
2348
|
// src/providers/transaction-request/create-transaction-request.ts
|
2331
2349
|
var import_configs9 = require("@fuel-ts/address/configs");
|
2332
2350
|
var import_math9 = require("@fuel-ts/math");
|
2333
|
-
var
|
2351
|
+
var import_transactions9 = require("@fuel-ts/transactions");
|
2334
2352
|
var import_utils13 = require("@fuel-ts/utils");
|
2335
2353
|
|
2336
2354
|
// src/providers/transaction-request/hash-transaction.ts
|
2337
2355
|
var import_configs8 = require("@fuel-ts/address/configs");
|
2338
2356
|
var import_hasher = require("@fuel-ts/hasher");
|
2339
2357
|
var import_math8 = require("@fuel-ts/math");
|
2340
|
-
var
|
2358
|
+
var import_transactions8 = require("@fuel-ts/transactions");
|
2341
2359
|
var import_utils11 = require("@fuel-ts/utils");
|
2342
2360
|
var import_ramda2 = require("ramda");
|
2343
2361
|
function hashTransaction(transactionRequest, chainId) {
|
2344
2362
|
const transaction = transactionRequest.toTransaction();
|
2345
|
-
if (transaction.type ===
|
2363
|
+
if (transaction.type === import_transactions8.TransactionType.Script) {
|
2346
2364
|
transaction.receiptsRoot = import_configs8.ZeroBytes32;
|
2347
2365
|
}
|
2348
2366
|
transaction.inputs = transaction.inputs.map((input) => {
|
2349
2367
|
const inputClone = (0, import_ramda2.clone)(input);
|
2350
2368
|
switch (inputClone.type) {
|
2351
|
-
case
|
2369
|
+
case import_transactions8.InputType.Coin: {
|
2352
2370
|
inputClone.txPointer = {
|
2353
2371
|
blockHeight: 0,
|
2354
2372
|
txIndex: 0
|
@@ -2356,11 +2374,11 @@ function hashTransaction(transactionRequest, chainId) {
|
|
2356
2374
|
inputClone.predicateGasUsed = (0, import_math8.bn)(0);
|
2357
2375
|
return inputClone;
|
2358
2376
|
}
|
2359
|
-
case
|
2377
|
+
case import_transactions8.InputType.Message: {
|
2360
2378
|
inputClone.predicateGasUsed = (0, import_math8.bn)(0);
|
2361
2379
|
return inputClone;
|
2362
2380
|
}
|
2363
|
-
case
|
2381
|
+
case import_transactions8.InputType.Contract: {
|
2364
2382
|
inputClone.txPointer = {
|
2365
2383
|
blockHeight: 0,
|
2366
2384
|
txIndex: 0
|
@@ -2378,16 +2396,16 @@ function hashTransaction(transactionRequest, chainId) {
|
|
2378
2396
|
transaction.outputs = transaction.outputs.map((output) => {
|
2379
2397
|
const outputClone = (0, import_ramda2.clone)(output);
|
2380
2398
|
switch (outputClone.type) {
|
2381
|
-
case
|
2399
|
+
case import_transactions8.OutputType.Contract: {
|
2382
2400
|
outputClone.balanceRoot = import_configs8.ZeroBytes32;
|
2383
2401
|
outputClone.stateRoot = import_configs8.ZeroBytes32;
|
2384
2402
|
return outputClone;
|
2385
2403
|
}
|
2386
|
-
case
|
2404
|
+
case import_transactions8.OutputType.Change: {
|
2387
2405
|
outputClone.amount = (0, import_math8.bn)(0);
|
2388
2406
|
return outputClone;
|
2389
2407
|
}
|
2390
|
-
case
|
2408
|
+
case import_transactions8.OutputType.Variable: {
|
2391
2409
|
outputClone.to = import_configs8.ZeroBytes32;
|
2392
2410
|
outputClone.amount = (0, import_math8.bn)(0);
|
2393
2411
|
outputClone.assetId = import_configs8.ZeroBytes32;
|
@@ -2400,7 +2418,7 @@ function hashTransaction(transactionRequest, chainId) {
|
|
2400
2418
|
transaction.witnessesCount = 0;
|
2401
2419
|
transaction.witnesses = [];
|
2402
2420
|
const chainIdBytes = (0, import_hasher.uint64ToBytesBE)(chainId);
|
2403
|
-
const concatenatedData = (0, import_utils11.concat)([chainIdBytes, new
|
2421
|
+
const concatenatedData = (0, import_utils11.concat)([chainIdBytes, new import_transactions8.TransactionCoder().encode(transaction)]);
|
2404
2422
|
return (0, import_hasher.sha256)(concatenatedData);
|
2405
2423
|
}
|
2406
2424
|
|
@@ -2436,7 +2454,7 @@ var CreateTransactionRequest = class extends BaseTransactionRequest {
|
|
2436
2454
|
return new this(obj);
|
2437
2455
|
}
|
2438
2456
|
/** Type of the transaction */
|
2439
|
-
type =
|
2457
|
+
type = import_transactions9.TransactionType.Create;
|
2440
2458
|
/** Witness index of contract bytecode to create */
|
2441
2459
|
bytecodeWitnessIndex;
|
2442
2460
|
/** Salt */
|
@@ -2469,7 +2487,7 @@ var CreateTransactionRequest = class extends BaseTransactionRequest {
|
|
2469
2487
|
const bytecodeWitnessIndex = this.bytecodeWitnessIndex;
|
2470
2488
|
const storageSlots = this.storageSlots?.map(storageSlotify) ?? [];
|
2471
2489
|
return {
|
2472
|
-
type:
|
2490
|
+
type: import_transactions9.TransactionType.Create,
|
2473
2491
|
...baseTransaction,
|
2474
2492
|
bytecodeLength: baseTransaction.witnesses[bytecodeWitnessIndex].dataLength / 4,
|
2475
2493
|
bytecodeWitnessIndex,
|
@@ -2485,7 +2503,7 @@ var CreateTransactionRequest = class extends BaseTransactionRequest {
|
|
2485
2503
|
*/
|
2486
2504
|
getContractCreatedOutputs() {
|
2487
2505
|
return this.outputs.filter(
|
2488
|
-
(output) => output.type ===
|
2506
|
+
(output) => output.type === import_transactions9.OutputType.ContractCreated
|
2489
2507
|
);
|
2490
2508
|
}
|
2491
2509
|
/**
|
@@ -2506,7 +2524,7 @@ var CreateTransactionRequest = class extends BaseTransactionRequest {
|
|
2506
2524
|
*/
|
2507
2525
|
addContractCreatedOutput(contractId, stateRoot) {
|
2508
2526
|
this.pushOutput({
|
2509
|
-
type:
|
2527
|
+
type: import_transactions9.OutputType.ContractCreated,
|
2510
2528
|
contractId,
|
2511
2529
|
stateRoot
|
2512
2530
|
});
|
@@ -2526,7 +2544,7 @@ var import_abi_coder3 = require("@fuel-ts/abi-coder");
|
|
2526
2544
|
var import_address2 = require("@fuel-ts/address");
|
2527
2545
|
var import_configs10 = require("@fuel-ts/address/configs");
|
2528
2546
|
var import_math10 = require("@fuel-ts/math");
|
2529
|
-
var
|
2547
|
+
var import_transactions10 = require("@fuel-ts/transactions");
|
2530
2548
|
var import_utils15 = require("@fuel-ts/utils");
|
2531
2549
|
|
2532
2550
|
// src/providers/transaction-request/scripts.ts
|
@@ -2564,7 +2582,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
|
|
2564
2582
|
return new this(obj);
|
2565
2583
|
}
|
2566
2584
|
/** Type of the transaction */
|
2567
|
-
type =
|
2585
|
+
type = import_transactions10.TransactionType.Script;
|
2568
2586
|
/** Gas limit for transaction */
|
2569
2587
|
gasLimit;
|
2570
2588
|
/** Script to execute */
|
@@ -2593,7 +2611,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
|
|
2593
2611
|
const script = (0, import_utils15.arrayify)(this.script ?? "0x");
|
2594
2612
|
const scriptData = (0, import_utils15.arrayify)(this.scriptData ?? "0x");
|
2595
2613
|
return {
|
2596
|
-
type:
|
2614
|
+
type: import_transactions10.TransactionType.Script,
|
2597
2615
|
scriptGasLimit: this.gasLimit,
|
2598
2616
|
...super.getBaseTransaction(),
|
2599
2617
|
scriptLength: script.length,
|
@@ -2610,7 +2628,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
|
|
2610
2628
|
*/
|
2611
2629
|
getContractInputs() {
|
2612
2630
|
return this.inputs.filter(
|
2613
|
-
(input) => input.type ===
|
2631
|
+
(input) => input.type === import_transactions10.InputType.Contract
|
2614
2632
|
);
|
2615
2633
|
}
|
2616
2634
|
/**
|
@@ -2620,7 +2638,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
|
|
2620
2638
|
*/
|
2621
2639
|
getContractOutputs() {
|
2622
2640
|
return this.outputs.filter(
|
2623
|
-
(output) => output.type ===
|
2641
|
+
(output) => output.type === import_transactions10.OutputType.Contract
|
2624
2642
|
);
|
2625
2643
|
}
|
2626
2644
|
/**
|
@@ -2630,7 +2648,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
|
|
2630
2648
|
*/
|
2631
2649
|
getVariableOutputs() {
|
2632
2650
|
return this.outputs.filter(
|
2633
|
-
(output) => output.type ===
|
2651
|
+
(output) => output.type === import_transactions10.OutputType.Variable
|
2634
2652
|
);
|
2635
2653
|
}
|
2636
2654
|
/**
|
@@ -2653,7 +2671,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
|
|
2653
2671
|
let outputsNumber = numberOfVariables;
|
2654
2672
|
while (outputsNumber) {
|
2655
2673
|
this.pushOutput({
|
2656
|
-
type:
|
2674
|
+
type: import_transactions10.OutputType.Variable
|
2657
2675
|
});
|
2658
2676
|
outputsNumber -= 1;
|
2659
2677
|
}
|
@@ -2686,12 +2704,12 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
|
|
2686
2704
|
return this;
|
2687
2705
|
}
|
2688
2706
|
const inputIndex = super.pushInput({
|
2689
|
-
type:
|
2707
|
+
type: import_transactions10.InputType.Contract,
|
2690
2708
|
contractId: contractAddress.toB256(),
|
2691
2709
|
txPointer: "0x00000000000000000000000000000000"
|
2692
2710
|
});
|
2693
2711
|
this.pushOutput({
|
2694
|
-
type:
|
2712
|
+
type: import_transactions10.OutputType.Contract,
|
2695
2713
|
inputIndex
|
2696
2714
|
});
|
2697
2715
|
return this;
|
@@ -2728,17 +2746,17 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
|
|
2728
2746
|
|
2729
2747
|
// src/providers/transaction-request/utils.ts
|
2730
2748
|
var import_errors9 = require("@fuel-ts/errors");
|
2731
|
-
var
|
2749
|
+
var import_transactions11 = require("@fuel-ts/transactions");
|
2732
2750
|
var transactionRequestify = (obj) => {
|
2733
2751
|
if (obj instanceof ScriptTransactionRequest || obj instanceof CreateTransactionRequest) {
|
2734
2752
|
return obj;
|
2735
2753
|
}
|
2736
2754
|
const { type } = obj;
|
2737
2755
|
switch (obj.type) {
|
2738
|
-
case
|
2756
|
+
case import_transactions11.TransactionType.Script: {
|
2739
2757
|
return ScriptTransactionRequest.from(obj);
|
2740
2758
|
}
|
2741
|
-
case
|
2759
|
+
case import_transactions11.TransactionType.Create: {
|
2742
2760
|
return CreateTransactionRequest.from(obj);
|
2743
2761
|
}
|
2744
2762
|
default: {
|
@@ -2750,7 +2768,7 @@ var transactionRequestify = (obj) => {
|
|
2750
2768
|
// src/providers/transaction-response/transaction-response.ts
|
2751
2769
|
var import_errors13 = require("@fuel-ts/errors");
|
2752
2770
|
var import_math14 = require("@fuel-ts/math");
|
2753
|
-
var
|
2771
|
+
var import_transactions18 = require("@fuel-ts/transactions");
|
2754
2772
|
var import_utils21 = require("@fuel-ts/utils");
|
2755
2773
|
|
2756
2774
|
// src/providers/transaction-summary/assemble-transaction-summary.ts
|
@@ -2758,7 +2776,7 @@ var import_utils19 = require("@fuel-ts/utils");
|
|
2758
2776
|
|
2759
2777
|
// src/providers/transaction-summary/calculate-transaction-fee.ts
|
2760
2778
|
var import_math11 = require("@fuel-ts/math");
|
2761
|
-
var
|
2779
|
+
var import_transactions12 = require("@fuel-ts/transactions");
|
2762
2780
|
var import_utils16 = require("@fuel-ts/utils");
|
2763
2781
|
var calculateTransactionFee = (params) => {
|
2764
2782
|
const {
|
@@ -2769,8 +2787,8 @@ var calculateTransactionFee = (params) => {
|
|
2769
2787
|
const gasPerByte = (0, import_math11.bn)(feeParams.gasPerByte);
|
2770
2788
|
const gasPriceFactor = (0, import_math11.bn)(feeParams.gasPriceFactor);
|
2771
2789
|
const transactionBytes = (0, import_utils16.arrayify)(rawPayload);
|
2772
|
-
const [transaction] = new
|
2773
|
-
if (transaction.type ===
|
2790
|
+
const [transaction] = new import_transactions12.TransactionCoder().decode(transactionBytes, 0);
|
2791
|
+
if (transaction.type === import_transactions12.TransactionType.Mint) {
|
2774
2792
|
return {
|
2775
2793
|
fee: (0, import_math11.bn)(0),
|
2776
2794
|
minFee: (0, import_math11.bn)(0),
|
@@ -2781,7 +2799,7 @@ var calculateTransactionFee = (params) => {
|
|
2781
2799
|
const { type, witnesses, inputs, policies } = transaction;
|
2782
2800
|
let metadataGas = (0, import_math11.bn)(0);
|
2783
2801
|
let gasLimit = (0, import_math11.bn)(0);
|
2784
|
-
if (type ===
|
2802
|
+
if (type === import_transactions12.TransactionType.Create) {
|
2785
2803
|
const { bytecodeWitnessIndex, storageSlots } = transaction;
|
2786
2804
|
const contractBytesSize = (0, import_math11.bn)((0, import_utils16.arrayify)(witnesses[bytecodeWitnessIndex].data).length);
|
2787
2805
|
metadataGas = calculateMetadataGasForTxCreate({
|
@@ -2807,8 +2825,8 @@ var calculateTransactionFee = (params) => {
|
|
2807
2825
|
metadataGas,
|
2808
2826
|
txBytesSize: transactionBytes.length
|
2809
2827
|
});
|
2810
|
-
const gasPrice = (0, import_math11.bn)(policies.find((policy) => policy.type ===
|
2811
|
-
const witnessLimit = policies.find((policy) => policy.type ===
|
2828
|
+
const gasPrice = (0, import_math11.bn)(policies.find((policy) => policy.type === import_transactions12.PolicyType.GasPrice)?.data);
|
2829
|
+
const witnessLimit = policies.find((policy) => policy.type === import_transactions12.PolicyType.WitnessLimit)?.data;
|
2812
2830
|
const witnessesLength = witnesses.reduce((acc, wit) => acc + wit.dataLength, 0);
|
2813
2831
|
const maxGas = getMaxGas({
|
2814
2832
|
gasPerByte,
|
@@ -2833,7 +2851,7 @@ var calculateTransactionFee = (params) => {
|
|
2833
2851
|
var import_configs11 = require("@fuel-ts/address/configs");
|
2834
2852
|
var import_errors11 = require("@fuel-ts/errors");
|
2835
2853
|
var import_math13 = require("@fuel-ts/math");
|
2836
|
-
var
|
2854
|
+
var import_transactions15 = require("@fuel-ts/transactions");
|
2837
2855
|
|
2838
2856
|
// src/providers/transaction-summary/call.ts
|
2839
2857
|
var import_abi_coder4 = require("@fuel-ts/abi-coder");
|
@@ -2881,7 +2899,7 @@ var getFunctionCall = ({ abi, receipt, rawPayload, maxInputs }) => {
|
|
2881
2899
|
|
2882
2900
|
// src/providers/transaction-summary/input.ts
|
2883
2901
|
var import_errors10 = require("@fuel-ts/errors");
|
2884
|
-
var
|
2902
|
+
var import_transactions13 = require("@fuel-ts/transactions");
|
2885
2903
|
function getInputsByTypes(inputs, types) {
|
2886
2904
|
return inputs.filter((i) => types.includes(i.type));
|
2887
2905
|
}
|
@@ -2889,16 +2907,16 @@ function getInputsByType(inputs, type) {
|
|
2889
2907
|
return inputs.filter((i) => i.type === type);
|
2890
2908
|
}
|
2891
2909
|
function getInputsCoin(inputs) {
|
2892
|
-
return getInputsByType(inputs,
|
2910
|
+
return getInputsByType(inputs, import_transactions13.InputType.Coin);
|
2893
2911
|
}
|
2894
2912
|
function getInputsMessage(inputs) {
|
2895
|
-
return getInputsByType(inputs,
|
2913
|
+
return getInputsByType(inputs, import_transactions13.InputType.Message);
|
2896
2914
|
}
|
2897
2915
|
function getInputsCoinAndMessage(inputs) {
|
2898
|
-
return getInputsByTypes(inputs, [
|
2916
|
+
return getInputsByTypes(inputs, [import_transactions13.InputType.Coin, import_transactions13.InputType.Message]);
|
2899
2917
|
}
|
2900
2918
|
function getInputsContract(inputs) {
|
2901
|
-
return getInputsByType(inputs,
|
2919
|
+
return getInputsByType(inputs, import_transactions13.InputType.Contract);
|
2902
2920
|
}
|
2903
2921
|
function getInputFromAssetId(inputs, assetId) {
|
2904
2922
|
const coinInputs = getInputsCoin(inputs);
|
@@ -2917,7 +2935,7 @@ function getInputContractFromIndex(inputs, inputIndex) {
|
|
2917
2935
|
if (!contractInput) {
|
2918
2936
|
return void 0;
|
2919
2937
|
}
|
2920
|
-
if (contractInput.type !==
|
2938
|
+
if (contractInput.type !== import_transactions13.InputType.Contract) {
|
2921
2939
|
throw new import_errors10.FuelError(
|
2922
2940
|
import_errors10.ErrorCode.INVALID_TRANSACTION_INPUT,
|
2923
2941
|
`Contract input should be of type 'contract'.`
|
@@ -2926,34 +2944,34 @@ function getInputContractFromIndex(inputs, inputIndex) {
|
|
2926
2944
|
return contractInput;
|
2927
2945
|
}
|
2928
2946
|
function getInputAccountAddress(input) {
|
2929
|
-
if (input.type ===
|
2947
|
+
if (input.type === import_transactions13.InputType.Coin) {
|
2930
2948
|
return input.owner.toString();
|
2931
2949
|
}
|
2932
|
-
if (input.type ===
|
2950
|
+
if (input.type === import_transactions13.InputType.Message) {
|
2933
2951
|
return input.recipient.toString();
|
2934
2952
|
}
|
2935
2953
|
return "";
|
2936
2954
|
}
|
2937
2955
|
|
2938
2956
|
// src/providers/transaction-summary/output.ts
|
2939
|
-
var
|
2957
|
+
var import_transactions14 = require("@fuel-ts/transactions");
|
2940
2958
|
function getOutputsByType(outputs, type) {
|
2941
2959
|
return outputs.filter((o) => o.type === type);
|
2942
2960
|
}
|
2943
2961
|
function getOutputsContractCreated(outputs) {
|
2944
|
-
return getOutputsByType(outputs,
|
2962
|
+
return getOutputsByType(outputs, import_transactions14.OutputType.ContractCreated);
|
2945
2963
|
}
|
2946
2964
|
function getOutputsCoin(outputs) {
|
2947
|
-
return getOutputsByType(outputs,
|
2965
|
+
return getOutputsByType(outputs, import_transactions14.OutputType.Coin);
|
2948
2966
|
}
|
2949
2967
|
function getOutputsChange(outputs) {
|
2950
|
-
return getOutputsByType(outputs,
|
2968
|
+
return getOutputsByType(outputs, import_transactions14.OutputType.Change);
|
2951
2969
|
}
|
2952
2970
|
function getOutputsContract(outputs) {
|
2953
|
-
return getOutputsByType(outputs,
|
2971
|
+
return getOutputsByType(outputs, import_transactions14.OutputType.Contract);
|
2954
2972
|
}
|
2955
2973
|
function getOutputsVariable(outputs) {
|
2956
|
-
return getOutputsByType(outputs,
|
2974
|
+
return getOutputsByType(outputs, import_transactions14.OutputType.Variable);
|
2957
2975
|
}
|
2958
2976
|
|
2959
2977
|
// src/providers/transaction-summary/types.ts
|
@@ -3000,11 +3018,11 @@ function getReceiptsByType(receipts, type) {
|
|
3000
3018
|
}
|
3001
3019
|
function getTransactionTypeName(transactionType) {
|
3002
3020
|
switch (transactionType) {
|
3003
|
-
case
|
3021
|
+
case import_transactions15.TransactionType.Mint:
|
3004
3022
|
return "Mint" /* Mint */;
|
3005
|
-
case
|
3023
|
+
case import_transactions15.TransactionType.Create:
|
3006
3024
|
return "Create" /* Create */;
|
3007
|
-
case
|
3025
|
+
case import_transactions15.TransactionType.Script:
|
3008
3026
|
return "Script" /* Script */;
|
3009
3027
|
default:
|
3010
3028
|
throw new import_errors11.FuelError(
|
@@ -3030,10 +3048,10 @@ function hasSameAssetId(a) {
|
|
3030
3048
|
return (b) => a.assetId === b.assetId;
|
3031
3049
|
}
|
3032
3050
|
function getReceiptsCall(receipts) {
|
3033
|
-
return getReceiptsByType(receipts,
|
3051
|
+
return getReceiptsByType(receipts, import_transactions15.ReceiptType.Call);
|
3034
3052
|
}
|
3035
3053
|
function getReceiptsMessageOut(receipts) {
|
3036
|
-
return getReceiptsByType(receipts,
|
3054
|
+
return getReceiptsByType(receipts, import_transactions15.ReceiptType.MessageOut);
|
3037
3055
|
}
|
3038
3056
|
var mergeAssets = (op1, op2) => {
|
3039
3057
|
const assets1 = op1.assetsSent || [];
|
@@ -3072,7 +3090,7 @@ function addOperation(operations, toAdd) {
|
|
3072
3090
|
return allOperations;
|
3073
3091
|
}
|
3074
3092
|
function getReceiptsTransferOut(receipts) {
|
3075
|
-
return getReceiptsByType(receipts,
|
3093
|
+
return getReceiptsByType(receipts, import_transactions15.ReceiptType.TransferOut);
|
3076
3094
|
}
|
3077
3095
|
function getWithdrawFromFuelOperations({
|
3078
3096
|
inputs,
|
@@ -3232,11 +3250,11 @@ function getTransferOperations({
|
|
3232
3250
|
});
|
3233
3251
|
const transferReceipts = getReceiptsByType(
|
3234
3252
|
receipts,
|
3235
|
-
|
3253
|
+
import_transactions15.ReceiptType.Transfer
|
3236
3254
|
);
|
3237
3255
|
const transferOutReceipts = getReceiptsByType(
|
3238
3256
|
receipts,
|
3239
|
-
|
3257
|
+
import_transactions15.ReceiptType.TransferOut
|
3240
3258
|
);
|
3241
3259
|
[...transferReceipts, ...transferOutReceipts].forEach((receipt) => {
|
3242
3260
|
const operation = extractTransferOperationFromReceipt(receipt, contractInputs, changeOutputs);
|
@@ -3321,17 +3339,17 @@ function getOperations({
|
|
3321
3339
|
}
|
3322
3340
|
|
3323
3341
|
// src/providers/transaction-summary/receipt.ts
|
3324
|
-
var
|
3342
|
+
var import_transactions16 = require("@fuel-ts/transactions");
|
3325
3343
|
var processGqlReceipt = (gqlReceipt) => {
|
3326
3344
|
const receipt = assembleReceiptByType(gqlReceipt);
|
3327
3345
|
switch (receipt.type) {
|
3328
|
-
case
|
3346
|
+
case import_transactions16.ReceiptType.ReturnData: {
|
3329
3347
|
return {
|
3330
3348
|
...receipt,
|
3331
3349
|
data: gqlReceipt.data || "0x"
|
3332
3350
|
};
|
3333
3351
|
}
|
3334
|
-
case
|
3352
|
+
case import_transactions16.ReceiptType.LogData: {
|
3335
3353
|
return {
|
3336
3354
|
...receipt,
|
3337
3355
|
data: gqlReceipt.data || "0x"
|
@@ -3344,7 +3362,7 @@ var processGqlReceipt = (gqlReceipt) => {
|
|
3344
3362
|
var extractMintedAssetsFromReceipts = (receipts) => {
|
3345
3363
|
const mintedAssets = [];
|
3346
3364
|
receipts.forEach((receipt) => {
|
3347
|
-
if (receipt.type ===
|
3365
|
+
if (receipt.type === import_transactions16.ReceiptType.Mint) {
|
3348
3366
|
mintedAssets.push({
|
3349
3367
|
subId: receipt.subId,
|
3350
3368
|
contractId: receipt.contractId,
|
@@ -3358,7 +3376,7 @@ var extractMintedAssetsFromReceipts = (receipts) => {
|
|
3358
3376
|
var extractBurnedAssetsFromReceipts = (receipts) => {
|
3359
3377
|
const burnedAssets = [];
|
3360
3378
|
receipts.forEach((receipt) => {
|
3361
|
-
if (receipt.type ===
|
3379
|
+
if (receipt.type === import_transactions16.ReceiptType.Burn) {
|
3362
3380
|
burnedAssets.push({
|
3363
3381
|
subId: receipt.subId,
|
3364
3382
|
contractId: receipt.contractId,
|
@@ -3497,12 +3515,12 @@ function assembleTransactionSummary(params) {
|
|
3497
3515
|
|
3498
3516
|
// src/providers/transaction-response/getDecodedLogs.ts
|
3499
3517
|
var import_abi_coder5 = require("@fuel-ts/abi-coder");
|
3500
|
-
var
|
3518
|
+
var import_transactions17 = require("@fuel-ts/transactions");
|
3501
3519
|
function getDecodedLogs(receipts, mainAbi, externalAbis = {}) {
|
3502
3520
|
return receipts.reduce((logs, receipt) => {
|
3503
|
-
if (receipt.type ===
|
3521
|
+
if (receipt.type === import_transactions17.ReceiptType.LogData || receipt.type === import_transactions17.ReceiptType.Log) {
|
3504
3522
|
const interfaceToUse = new import_abi_coder5.Interface(externalAbis[receipt.id] || mainAbi);
|
3505
|
-
const data = receipt.type ===
|
3523
|
+
const data = receipt.type === import_transactions17.ReceiptType.Log ? new import_abi_coder5.BigNumberCoder("u64").encode(receipt.val0) : receipt.data;
|
3506
3524
|
const [decodedLog] = interfaceToUse.decodeLog(data, receipt.val1.toNumber());
|
3507
3525
|
logs.push(decodedLog);
|
3508
3526
|
}
|
@@ -3575,7 +3593,7 @@ var TransactionResponse = class {
|
|
3575
3593
|
* @returns The decoded transaction.
|
3576
3594
|
*/
|
3577
3595
|
decodeTransaction(transactionWithReceipts) {
|
3578
|
-
return new
|
3596
|
+
return new import_transactions18.TransactionCoder().decode(
|
3579
3597
|
(0, import_utils21.arrayify)(transactionWithReceipts.rawPayload),
|
3580
3598
|
0
|
3581
3599
|
)?.[0];
|
@@ -4012,7 +4030,7 @@ var _Provider = class {
|
|
4012
4030
|
}
|
4013
4031
|
const encodedTransaction = (0, import_utils23.hexlify)(transactionRequest.toTransactionBytes());
|
4014
4032
|
let abis;
|
4015
|
-
if (transactionRequest.type ===
|
4033
|
+
if (transactionRequest.type === import_transactions19.TransactionType.Script) {
|
4016
4034
|
abis = transactionRequest.abis;
|
4017
4035
|
}
|
4018
4036
|
if (awaitExecution) {
|
@@ -4108,7 +4126,7 @@ var _Provider = class {
|
|
4108
4126
|
* @returns A promise.
|
4109
4127
|
*/
|
4110
4128
|
async estimateTxDependencies(transactionRequest) {
|
4111
|
-
if (transactionRequest.type ===
|
4129
|
+
if (transactionRequest.type === import_transactions19.TransactionType.Create) {
|
4112
4130
|
return {
|
4113
4131
|
receipts: [],
|
4114
4132
|
outputVariables: 0,
|
@@ -4157,7 +4175,7 @@ var _Provider = class {
|
|
4157
4175
|
transactionRequest.gasPrice = gasPrice;
|
4158
4176
|
const minGas = transactionRequest.calculateMinGas(chainInfo);
|
4159
4177
|
const minFee = calculatePriceWithFactor(minGas, gasPrice, gasPriceFactor).normalizeZeroToOne();
|
4160
|
-
if (transactionRequest.type ===
|
4178
|
+
if (transactionRequest.type === import_transactions19.TransactionType.Script) {
|
4161
4179
|
if (transactionRequest.gasLimit.eq(0)) {
|
4162
4180
|
transactionRequest.gasLimit = minGas;
|
4163
4181
|
transactionRequest.gasLimit = maxGasPerTx.sub(
|
@@ -4223,7 +4241,7 @@ var _Provider = class {
|
|
4223
4241
|
const txRequestClone = (0, import_ramda3.clone)(transactionRequestify(transactionRequestLike));
|
4224
4242
|
const { minGasPrice } = this.getGasConfig();
|
4225
4243
|
const setGasPrice = (0, import_math15.max)(txRequestClone.gasPrice, minGasPrice);
|
4226
|
-
const isScriptTransaction = txRequestClone.type ===
|
4244
|
+
const isScriptTransaction = txRequestClone.type === import_transactions19.TransactionType.Script;
|
4227
4245
|
const coinOutputsQuantities = txRequestClone.getCoinOutputsQuantities();
|
4228
4246
|
const allQuantities = mergeQuantities(coinOutputsQuantities, forwardingQuantities);
|
4229
4247
|
txRequestClone.fundWithFakeUtxos(allQuantities, resourcesOwner?.address);
|
@@ -4439,7 +4457,7 @@ var _Provider = class {
|
|
4439
4457
|
time: block.header.time,
|
4440
4458
|
transactionIds: block.transactions.map((tx) => tx.id),
|
4441
4459
|
transactions: block.transactions.map(
|
4442
|
-
(tx) => new
|
4460
|
+
(tx) => new import_transactions19.TransactionCoder().decode((0, import_utils23.arrayify)(tx.rawPayload), 0)?.[0]
|
4443
4461
|
)
|
4444
4462
|
};
|
4445
4463
|
}
|
@@ -4454,7 +4472,7 @@ var _Provider = class {
|
|
4454
4472
|
if (!transaction) {
|
4455
4473
|
return null;
|
4456
4474
|
}
|
4457
|
-
return new
|
4475
|
+
return new import_transactions19.TransactionCoder().decode(
|
4458
4476
|
(0, import_utils23.arrayify)(transaction.rawPayload),
|
4459
4477
|
0
|
4460
4478
|
)?.[0];
|
@@ -4534,7 +4552,7 @@ var _Provider = class {
|
|
4534
4552
|
});
|
4535
4553
|
const messages = result.messages.edges.map((edge) => edge.node);
|
4536
4554
|
return messages.map((message) => ({
|
4537
|
-
messageId:
|
4555
|
+
messageId: import_transactions19.InputMessageCoder.getMessageId({
|
4538
4556
|
sender: message.sender,
|
4539
4557
|
recipient: message.recipient,
|
4540
4558
|
nonce: message.nonce,
|
@@ -4545,7 +4563,7 @@ var _Provider = class {
|
|
4545
4563
|
recipient: import_address3.Address.fromAddressOrString(message.recipient),
|
4546
4564
|
nonce: message.nonce,
|
4547
4565
|
amount: (0, import_math15.bn)(message.amount),
|
4548
|
-
data:
|
4566
|
+
data: import_transactions19.InputMessageCoder.decodeData(message.data),
|
4549
4567
|
daHeight: (0, import_math15.bn)(message.daHeight)
|
4550
4568
|
}));
|
4551
4569
|
}
|
@@ -4673,7 +4691,7 @@ cacheInputs_fn = function(inputs) {
|
|
4673
4691
|
return;
|
4674
4692
|
}
|
4675
4693
|
inputs.forEach((input) => {
|
4676
|
-
if (input.type ===
|
4694
|
+
if (input.type === import_transactions19.InputType.Coin) {
|
4677
4695
|
this.cache?.set(input.id);
|
4678
4696
|
}
|
4679
4697
|
});
|
@@ -4684,7 +4702,7 @@ __publicField(Provider, "nodeInfoCache", {});
|
|
4684
4702
|
// src/providers/transaction-summary/get-transaction-summary.ts
|
4685
4703
|
var import_errors15 = require("@fuel-ts/errors");
|
4686
4704
|
var import_math16 = require("@fuel-ts/math");
|
4687
|
-
var
|
4705
|
+
var import_transactions20 = require("@fuel-ts/transactions");
|
4688
4706
|
var import_utils26 = require("@fuel-ts/utils");
|
4689
4707
|
async function getTransactionSummary(params) {
|
4690
4708
|
const { id, provider, abiMap } = params;
|
@@ -4697,7 +4715,7 @@ async function getTransactionSummary(params) {
|
|
4697
4715
|
`Transaction not found for given id: ${id}.`
|
4698
4716
|
);
|
4699
4717
|
}
|
4700
|
-
const [decodedTransaction] = new
|
4718
|
+
const [decodedTransaction] = new import_transactions20.TransactionCoder().decode(
|
4701
4719
|
(0, import_utils26.arrayify)(gqlTransaction.rawPayload),
|
4702
4720
|
0
|
4703
4721
|
);
|
@@ -4751,7 +4769,7 @@ async function getTransactionsSummaries(params) {
|
|
4751
4769
|
const transactions = edges.map((edge) => {
|
4752
4770
|
const { node: gqlTransaction } = edge;
|
4753
4771
|
const { id, rawPayload, receipts: gqlReceipts, status } = gqlTransaction;
|
4754
|
-
const [decodedTransaction] = new
|
4772
|
+
const [decodedTransaction] = new import_transactions20.TransactionCoder().decode((0, import_utils26.arrayify)(rawPayload), 0);
|
4755
4773
|
const receipts = gqlReceipts?.map(processGqlReceipt) || [];
|
4756
4774
|
const transactionSummary = assembleTransactionSummary({
|
4757
4775
|
id,
|
@@ -8828,7 +8846,7 @@ var import_abi_coder7 = require("@fuel-ts/abi-coder");
|
|
8828
8846
|
var import_address10 = require("@fuel-ts/address");
|
8829
8847
|
var import_configs13 = require("@fuel-ts/address/configs");
|
8830
8848
|
var import_errors25 = require("@fuel-ts/errors");
|
8831
|
-
var
|
8849
|
+
var import_transactions21 = require("@fuel-ts/transactions");
|
8832
8850
|
var import_utils37 = require("@fuel-ts/utils");
|
8833
8851
|
|
8834
8852
|
// src/predicate/utils/getPredicateRoot.ts
|
@@ -8887,10 +8905,15 @@ var Predicate = class extends Account {
|
|
8887
8905
|
populateTransactionPredicateData(transactionRequestLike) {
|
8888
8906
|
const request = transactionRequestify(transactionRequestLike);
|
8889
8907
|
const { policies } = BaseTransactionRequest.getPolicyMeta(request);
|
8890
|
-
|
8891
|
-
|
8908
|
+
const placeholderIndex = this.getIndexFromPlaceholderWitness(request);
|
8909
|
+
if (placeholderIndex !== -1) {
|
8910
|
+
request.removeWitness(placeholderIndex);
|
8911
|
+
}
|
8912
|
+
request.inputs.filter(isRequestInputResource).forEach((input) => {
|
8913
|
+
if (isRequestInputResourceFromOwner(input, this.address)) {
|
8892
8914
|
input.predicate = this.bytes;
|
8893
8915
|
input.predicateData = this.getPredicateData(policies.length);
|
8916
|
+
input.witnessIndex = 0;
|
8894
8917
|
}
|
8895
8918
|
});
|
8896
8919
|
return request;
|
@@ -8928,12 +8951,26 @@ var Predicate = class extends Account {
|
|
8928
8951
|
const transactionRequest = this.populateTransactionPredicateData(transactionRequestLike);
|
8929
8952
|
return super.simulateTransaction(transactionRequest);
|
8930
8953
|
}
|
8954
|
+
/**
|
8955
|
+
* Retrieves resources satisfying the spend query for the account.
|
8956
|
+
*
|
8957
|
+
* @param quantities - IDs of coins to exclude.
|
8958
|
+
* @param excludedIds - IDs of resources to be excluded from the query.
|
8959
|
+
* @returns A promise that resolves to an array of Resources.
|
8960
|
+
*/
|
8961
|
+
async getResourcesToSpend(quantities, excludedIds) {
|
8962
|
+
const resources = await super.getResourcesToSpend(quantities, excludedIds);
|
8963
|
+
return resources.map((resource) => ({
|
8964
|
+
...resource,
|
8965
|
+
predicate: (0, import_utils37.hexlify)(this.bytes)
|
8966
|
+
}));
|
8967
|
+
}
|
8931
8968
|
getPredicateData(policiesLength) {
|
8932
8969
|
if (!this.predicateData.length) {
|
8933
8970
|
return new Uint8Array();
|
8934
8971
|
}
|
8935
8972
|
const mainFn = this.interface?.functions.main;
|
8936
|
-
const paddedCode = new
|
8973
|
+
const paddedCode = new import_transactions21.ByteArrayCoder(this.bytes.length).encode(this.bytes);
|
8937
8974
|
const VM_TX_MEMORY = (0, import_abi_coder7.calculateVmTxMemory)({
|
8938
8975
|
maxInputs: this.provider.getChain().consensusParameters.maxInputs.toNumber()
|
8939
8976
|
});
|
@@ -9007,6 +9044,22 @@ var Predicate = class extends Account {
|
|
9007
9044
|
}
|
9008
9045
|
return mutatedBytes;
|
9009
9046
|
}
|
9047
|
+
getIndexFromPlaceholderWitness(request) {
|
9048
|
+
const predicateInputs = request.inputs.filter(isRequestInputResource).filter((input) => isRequestInputResourceFromOwner(input, this.address));
|
9049
|
+
let index = -1;
|
9050
|
+
const hasEmptyPredicateInputs = predicateInputs.find((input) => !input.predicate);
|
9051
|
+
if (hasEmptyPredicateInputs) {
|
9052
|
+
index = hasEmptyPredicateInputs.witnessIndex;
|
9053
|
+
const allInputsAreEmpty = predicateInputs.every((input) => !input.predicate);
|
9054
|
+
if (!allInputsAreEmpty) {
|
9055
|
+
const wasFilledInputAddedFirst = !!predicateInputs[0]?.predicate;
|
9056
|
+
if (wasFilledInputAddedFirst) {
|
9057
|
+
index = -1;
|
9058
|
+
}
|
9059
|
+
}
|
9060
|
+
}
|
9061
|
+
return index;
|
9062
|
+
}
|
9010
9063
|
};
|
9011
9064
|
|
9012
9065
|
// src/connectors/fuel.ts
|
@@ -9730,6 +9783,7 @@ __publicField(Fuel, "defaultConfig", {});
|
|
9730
9783
|
assets,
|
9731
9784
|
buildBlockExplorerUrl,
|
9732
9785
|
cacheFor,
|
9786
|
+
cacheResources,
|
9733
9787
|
calculateMetadataGasForTxCreate,
|
9734
9788
|
calculateMetadataGasForTxScript,
|
9735
9789
|
calculatePriceWithFactor,
|
@@ -9776,6 +9830,7 @@ __publicField(Fuel, "defaultConfig", {});
|
|
9776
9830
|
getReceiptsMessageOut,
|
9777
9831
|
getReceiptsTransferOut,
|
9778
9832
|
getReceiptsWithMissingData,
|
9833
|
+
getRequestInputResourceOwner,
|
9779
9834
|
getTransactionStatusName,
|
9780
9835
|
getTransactionSummary,
|
9781
9836
|
getTransactionSummaryFromRequest,
|
@@ -9789,6 +9844,10 @@ __publicField(Fuel, "defaultConfig", {});
|
|
9789
9844
|
isMessage,
|
9790
9845
|
isRawCoin,
|
9791
9846
|
isRawMessage,
|
9847
|
+
isRequestInputCoin,
|
9848
|
+
isRequestInputMessage,
|
9849
|
+
isRequestInputResource,
|
9850
|
+
isRequestInputResourceFromOwner,
|
9792
9851
|
isType,
|
9793
9852
|
isTypeCreate,
|
9794
9853
|
isTypeMint,
|