@fuel-ts/account 0.100.0 → 0.100.2

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.
package/dist/index.mjs CHANGED
@@ -1,31 +1,5 @@
1
1
  var __defProp = Object.defineProperty;
2
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3
- var __publicField = (obj, key, value) => {
4
- __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
5
- return value;
6
- };
7
- var __accessCheck = (obj, member, msg) => {
8
- if (!member.has(obj))
9
- throw TypeError("Cannot " + msg);
10
- };
11
- var __privateGet = (obj, member, getter) => {
12
- __accessCheck(obj, member, "read from private field");
13
- return getter ? getter.call(obj) : member.get(obj);
14
- };
15
- var __privateAdd = (obj, member, value) => {
16
- if (member.has(obj))
17
- throw TypeError("Cannot add the same private member more than once");
18
- member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
19
- };
20
- var __privateSet = (obj, member, value, setter) => {
21
- __accessCheck(obj, member, "write to private field");
22
- setter ? setter.call(obj, value) : member.set(obj, value);
23
- return value;
24
- };
25
- var __privateMethod = (obj, member, method) => {
26
- __accessCheck(obj, member, "access private method");
27
- return method;
28
- };
2
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
29
3
 
30
4
  // src/providers/chains.ts
31
5
  var CHAIN_IDS = {
@@ -42,7 +16,7 @@ var CHAIN_IDS = {
42
16
  };
43
17
 
44
18
  // src/assets/utils/network.ts
45
- var getDefaultChainId = (networkType) => {
19
+ var getDefaultChainId = /* @__PURE__ */ __name((networkType) => {
46
20
  if (networkType === "ethereum") {
47
21
  return CHAIN_IDS.eth.sepolia;
48
22
  }
@@ -50,8 +24,8 @@ var getDefaultChainId = (networkType) => {
50
24
  return CHAIN_IDS.fuel.testnet;
51
25
  }
52
26
  return void 0;
53
- };
54
- var getAssetNetwork = ({
27
+ }, "getDefaultChainId");
28
+ var getAssetNetwork = /* @__PURE__ */ __name(({
55
29
  asset,
56
30
  chainId,
57
31
  networkType
@@ -60,8 +34,8 @@ var getAssetNetwork = ({
60
34
  (item) => item.chainId === chainId && item.type === networkType
61
35
  );
62
36
  return network;
63
- };
64
- var getAssetWithNetwork = ({
37
+ }, "getAssetNetwork");
38
+ var getAssetWithNetwork = /* @__PURE__ */ __name(({
65
39
  asset,
66
40
  chainId,
67
41
  networkType
@@ -83,22 +57,22 @@ var getAssetWithNetwork = ({
83
57
  ...assetRest,
84
58
  ...assetNetwork
85
59
  };
86
- };
87
- var getAssetEth = (asset, chainId) => getAssetWithNetwork({
60
+ }, "getAssetWithNetwork");
61
+ var getAssetEth = /* @__PURE__ */ __name((asset, chainId) => getAssetWithNetwork({
88
62
  asset,
89
63
  networkType: "ethereum",
90
64
  chainId
91
- });
92
- var getAssetFuel = (asset, chainId) => getAssetWithNetwork({
65
+ }), "getAssetEth");
66
+ var getAssetFuel = /* @__PURE__ */ __name((asset, chainId) => getAssetWithNetwork({
93
67
  asset,
94
68
  networkType: "fuel",
95
69
  chainId
96
- });
70
+ }), "getAssetFuel");
97
71
 
98
72
  // src/assets/utils/url.ts
99
73
  var DELIMITER_PATH = "/";
100
74
  var trimRegex = /^\/|\/$/g;
101
- var trimPath = (path = "") => path.replace(trimRegex, "");
75
+ var trimPath = /* @__PURE__ */ __name((path = "") => path.replace(trimRegex, ""), "trimPath");
102
76
  function urlJoin(baseUrl, ...paths) {
103
77
  const hasBaseUrl = baseUrl !== null && baseUrl !== void 0;
104
78
  const rootPath = baseUrl?.[0] === "/" && baseUrl.length > 1;
@@ -108,6 +82,7 @@ function urlJoin(baseUrl, ...paths) {
108
82
  }
109
83
  return allPaths.join(DELIMITER_PATH);
110
84
  }
85
+ __name(urlJoin, "urlJoin");
111
86
 
112
87
  // src/assets/utils/resolveIconPaths.ts
113
88
  function resolveIconPaths(assets2, basePath = "./") {
@@ -116,6 +91,7 @@ function resolveIconPaths(assets2, basePath = "./") {
116
91
  icon: urlJoin(basePath, asset.icon)
117
92
  }));
118
93
  }
94
+ __name(resolveIconPaths, "resolveIconPaths");
119
95
 
120
96
  // src/assets/utils/fuelAssetsBaseUrl.ts
121
97
  var fuelAssetsBaseUrl = "https://assets.fuel.network/providers/";
@@ -690,7 +666,7 @@ var networks = {
690
666
  mainnet: "https://mainnet-explorer.fuel.network",
691
667
  testnet: "https://explorer-indexer-testnet.fuel.network"
692
668
  };
693
- var request = async (url, slug) => {
669
+ var request = /* @__PURE__ */ __name(async (url, slug) => {
694
670
  const response = await fetch(`${url}${slug}`, {
695
671
  headers: {
696
672
  "Content-Type": "application/json",
@@ -702,20 +678,20 @@ var request = async (url, slug) => {
702
678
  } catch (error) {
703
679
  return null;
704
680
  }
705
- };
706
- var buildQueryString = (parameters) => {
681
+ }, "request");
682
+ var buildQueryString = /* @__PURE__ */ __name((parameters) => {
707
683
  const query = new URLSearchParams();
708
684
  Object.entries(parameters).forEach(([key, value]) => {
709
685
  query.set(key, value.toString());
710
686
  });
711
687
  return query.size > 0 ? `?${query.toString()}` : "";
712
- };
713
- var getAssetById = (opts) => {
688
+ }, "buildQueryString");
689
+ var getAssetById = /* @__PURE__ */ __name((opts) => {
714
690
  const { network = "mainnet", assetId } = opts;
715
691
  const url = networks[network];
716
692
  return request(url, `/assets/${assetId}`);
717
- };
718
- var getAssetsByOwner = async (opts) => {
693
+ }, "getAssetById");
694
+ var getAssetsByOwner = /* @__PURE__ */ __name(async (opts) => {
719
695
  const { network = "mainnet", owner, pagination = { last: 10 } } = opts;
720
696
  const url = networks[network];
721
697
  const { last } = pagination;
@@ -725,13 +701,13 @@ var getAssetsByOwner = async (opts) => {
725
701
  return { data: [], pageInfo: { count: 0 } };
726
702
  }
727
703
  return response;
728
- };
704
+ }, "getAssetsByOwner");
729
705
 
730
706
  // src/account.ts
731
707
  import { UTXO_ID_LEN as UTXO_ID_LEN3 } from "@fuel-ts/abi-coder";
732
708
  import { Address as Address4 } from "@fuel-ts/address";
733
709
  import { randomBytes as randomBytes2 } from "@fuel-ts/crypto";
734
- import { ErrorCode as ErrorCode18, FuelError as FuelError20 } from "@fuel-ts/errors";
710
+ import { ErrorCode as ErrorCode18, FuelError as FuelError21 } from "@fuel-ts/errors";
735
711
  import { bn as bn20 } from "@fuel-ts/math";
736
712
  import { InputType as InputType7 } from "@fuel-ts/transactions";
737
713
  import { arrayify as arrayify16, hexlify as hexlify17, isDefined as isDefined3 } from "@fuel-ts/utils";
@@ -740,7 +716,7 @@ import { clone as clone9 } from "ramda";
740
716
  // src/providers/coin-quantity.ts
741
717
  import { bn } from "@fuel-ts/math";
742
718
  import { hexlify } from "@fuel-ts/utils";
743
- var coinQuantityfy = (coinQuantityLike) => {
719
+ var coinQuantityfy = /* @__PURE__ */ __name((coinQuantityLike) => {
744
720
  let assetId;
745
721
  let amount;
746
722
  let max;
@@ -758,8 +734,8 @@ var coinQuantityfy = (coinQuantityLike) => {
758
734
  amount: bn(amount),
759
735
  max: max ? bn(max) : void 0
760
736
  };
761
- };
762
- var addAmountToCoinQuantities = (params) => {
737
+ }, "coinQuantityfy");
738
+ var addAmountToCoinQuantities = /* @__PURE__ */ __name((params) => {
763
739
  const { amount, assetId } = params;
764
740
  const coinQuantities = [...params.coinQuantities];
765
741
  const assetIdx = coinQuantities.findIndex((coinQuantity) => coinQuantity.assetId === assetId);
@@ -769,19 +745,40 @@ var addAmountToCoinQuantities = (params) => {
769
745
  coinQuantities.push({ assetId, amount });
770
746
  }
771
747
  return coinQuantities;
772
- };
748
+ }, "addAmountToCoinQuantities");
773
749
 
774
750
  // src/providers/provider.ts
775
751
  import { Address as Address2, isB256 } from "@fuel-ts/address";
776
- import { ErrorCode as ErrorCode16, FuelError as FuelError18 } from "@fuel-ts/errors";
752
+ import { ErrorCode as ErrorCode16, FuelError as FuelError19 } from "@fuel-ts/errors";
777
753
  import { bn as bn17 } from "@fuel-ts/math";
778
754
  import { InputMessageCoder as InputMessageCoder2, TransactionCoder as TransactionCoder5 } from "@fuel-ts/transactions";
779
755
  import { arrayify as arrayify12, hexlify as hexlify16, DateTime as DateTime2, isDefined as isDefined2 } from "@fuel-ts/utils";
780
- import { checkFuelCoreVersionCompatibility, gte, versions } from "@fuel-ts/versions";
756
+ import { checkFuelCoreVersionCompatibility, versions } from "@fuel-ts/versions";
781
757
  import { GraphQLClient } from "graphql-request";
782
758
  import gql2 from "graphql-tag";
783
759
  import { clone as clone8 } from "ramda";
784
760
 
761
+ // src/connectors/utils/promises.ts
762
+ import { FuelError } from "@fuel-ts/errors";
763
+ function deferPromise() {
764
+ const defer = {};
765
+ defer.promise = new Promise((resolve, reject) => {
766
+ defer.reject = reject;
767
+ defer.resolve = resolve;
768
+ });
769
+ return defer;
770
+ }
771
+ __name(deferPromise, "deferPromise");
772
+ async function withTimeout(promise, timeout = 1050) {
773
+ const timeoutPromise = new Promise((resolve, reject) => {
774
+ setTimeout(() => {
775
+ reject(new FuelError(FuelError.CODES.TIMEOUT_EXCEEDED, "Promise timed out"));
776
+ }, timeout);
777
+ });
778
+ return Promise.race([timeoutPromise, promise]);
779
+ }
780
+ __name(withTimeout, "withTimeout");
781
+
785
782
  // src/providers/__generated__/operations.ts
786
783
  import gql from "graphql-tag";
787
784
  var SubmittedStatusFragmentDoc = gql`
@@ -1273,6 +1270,11 @@ var NodeInfoFragmentDoc = gql`
1273
1270
  maxTx
1274
1271
  maxDepth
1275
1272
  nodeVersion
1273
+ indexation {
1274
+ balances
1275
+ coinsToSpend
1276
+ assetMetadata
1277
+ }
1276
1278
  }
1277
1279
  `;
1278
1280
  var RelayedTransactionStatusFragmentDoc = gql`
@@ -1554,7 +1556,7 @@ var GetBalancesDocument = gql`
1554
1556
  }
1555
1557
  `;
1556
1558
  var GetBalancesV2Document = gql`
1557
- query getBalancesV2($filter: BalanceFilterInput!, $after: String, $before: String, $first: Int, $last: Int) {
1559
+ query getBalancesV2($filter: BalanceFilterInput!, $after: String, $before: String, $first: Int, $last: Int, $supportsPagination: Boolean!) {
1558
1560
  balances(
1559
1561
  filter: $filter
1560
1562
  after: $after
@@ -1562,7 +1564,7 @@ var GetBalancesV2Document = gql`
1562
1564
  first: $first
1563
1565
  last: $last
1564
1566
  ) {
1565
- pageInfo {
1567
+ pageInfo @include(if: $supportsPagination) {
1566
1568
  ...pageInfoFragment
1567
1569
  }
1568
1570
  edges {
@@ -1832,16 +1834,17 @@ function getSdk(requester) {
1832
1834
  }
1833
1835
  };
1834
1836
  }
1837
+ __name(getSdk, "getSdk");
1835
1838
 
1836
1839
  // src/providers/fuel-graphql-subscriber.ts
1837
- import { ErrorCode as ErrorCode2, FuelError as FuelError2 } from "@fuel-ts/errors";
1840
+ import { ErrorCode as ErrorCode2, FuelError as FuelError3 } from "@fuel-ts/errors";
1838
1841
  import { print } from "graphql";
1839
1842
 
1840
1843
  // src/providers/utils/handle-gql-error-message.ts
1841
- import { ErrorCode, FuelError } from "@fuel-ts/errors";
1842
- var mapGqlErrorMessage = (error) => {
1844
+ import { ErrorCode, FuelError as FuelError2 } from "@fuel-ts/errors";
1845
+ var mapGqlErrorMessage = /* @__PURE__ */ __name((error) => {
1843
1846
  if (new RegExp("the target cannot be met due to no coins available or exceeding the \\d+ coin limit." /* NOT_ENOUGH_COINS_MAX_COINS */).test(error.message)) {
1844
- return new FuelError(
1847
+ return new FuelError2(
1845
1848
  ErrorCode.INSUFFICIENT_FUNDS_OR_MAX_COINS,
1846
1849
  `Insufficient funds or too many small value coins. Consider combining UTXOs.`,
1847
1850
  {},
@@ -1849,20 +1852,20 @@ var mapGqlErrorMessage = (error) => {
1849
1852
  );
1850
1853
  }
1851
1854
  if (new RegExp("resource was not found in table" /* ASSET_NOT_FOUND */).test(error.message)) {
1852
- return new FuelError(
1855
+ return new FuelError2(
1853
1856
  ErrorCode.ASSET_NOT_FOUND,
1854
1857
  `Asset not found for given asset id.`,
1855
1858
  {},
1856
1859
  error
1857
1860
  );
1858
1861
  }
1859
- return new FuelError(ErrorCode.INVALID_REQUEST, error.message, {}, error);
1860
- };
1861
- var mapGqlErrorWithIncompatibleNodeVersion = (error, incompatibleNodeVersionMessage) => {
1862
+ return new FuelError2(ErrorCode.INVALID_REQUEST, error.message, {}, error);
1863
+ }, "mapGqlErrorMessage");
1864
+ var mapGqlErrorWithIncompatibleNodeVersion = /* @__PURE__ */ __name((error, incompatibleNodeVersionMessage) => {
1862
1865
  if (!incompatibleNodeVersionMessage) {
1863
1866
  return error;
1864
1867
  }
1865
- return new FuelError(
1868
+ return new FuelError2(
1866
1869
  error.code,
1867
1870
  `${error.message}
1868
1871
 
@@ -1870,8 +1873,8 @@ ${incompatibleNodeVersionMessage}`,
1870
1873
  error.metadata,
1871
1874
  error.rawError
1872
1875
  );
1873
- };
1874
- var assertGqlResponseHasNoErrors = (errors, incompatibleNodeVersionMessage = false) => {
1876
+ }, "mapGqlErrorWithIncompatibleNodeVersion");
1877
+ var assertGqlResponseHasNoErrors = /* @__PURE__ */ __name((errors, incompatibleNodeVersionMessage = false) => {
1875
1878
  if (!Array.isArray(errors)) {
1876
1879
  return;
1877
1880
  }
@@ -1881,16 +1884,21 @@ var assertGqlResponseHasNoErrors = (errors, incompatibleNodeVersionMessage = fal
1881
1884
  }
1882
1885
  const errorMessage = mappedErrors.map((err) => err.message).join("\n");
1883
1886
  throw mapGqlErrorWithIncompatibleNodeVersion(
1884
- new FuelError(ErrorCode.INVALID_REQUEST, errorMessage, {}, mappedErrors),
1887
+ new FuelError2(ErrorCode.INVALID_REQUEST, errorMessage, {}, mappedErrors),
1885
1888
  incompatibleNodeVersionMessage
1886
1889
  );
1887
- };
1890
+ }, "assertGqlResponseHasNoErrors");
1888
1891
 
1889
1892
  // src/providers/fuel-graphql-subscriber.ts
1890
- var _FuelGraphqlSubscriber = class {
1893
+ var FuelGraphqlSubscriber = class _FuelGraphqlSubscriber {
1891
1894
  constructor(stream) {
1892
1895
  this.stream = stream;
1893
1896
  }
1897
+ static {
1898
+ __name(this, "FuelGraphqlSubscriber");
1899
+ }
1900
+ static incompatibleNodeVersionMessage = false;
1901
+ static textDecoder = new TextDecoder();
1894
1902
  static async create(options) {
1895
1903
  const { url, query, variables, fetchFn } = options;
1896
1904
  const response = await fetchFn(`${url}-sub`, {
@@ -1932,7 +1940,7 @@ var _FuelGraphqlSubscriber = class {
1932
1940
  try {
1933
1941
  this.events.push(JSON.parse(match.replace(/^data:/, "")));
1934
1942
  } catch (e) {
1935
- throw new FuelError2(
1943
+ throw new FuelError3(
1936
1944
  ErrorCode2.STREAM_PARSING_ERROR,
1937
1945
  `Error while parsing stream data response: ${text}`
1938
1946
  );
@@ -1951,22 +1959,19 @@ var _FuelGraphqlSubscriber = class {
1951
1959
  return this;
1952
1960
  }
1953
1961
  };
1954
- var FuelGraphqlSubscriber = _FuelGraphqlSubscriber;
1955
- __publicField(FuelGraphqlSubscriber, "incompatibleNodeVersionMessage", false);
1956
- __publicField(FuelGraphqlSubscriber, "textDecoder", new TextDecoder());
1957
1962
 
1958
1963
  // src/providers/resource-cache.ts
1959
- import { FuelError as FuelError12, ErrorCode as ErrorCode10 } from "@fuel-ts/errors";
1964
+ import { FuelError as FuelError13, ErrorCode as ErrorCode10 } from "@fuel-ts/errors";
1960
1965
  import { hexlify as hexlify14 } from "@fuel-ts/utils";
1961
1966
 
1962
1967
  // src/providers/transaction-request/input.ts
1963
1968
  import { BYTES_32, UTXO_ID_LEN } from "@fuel-ts/abi-coder";
1964
1969
  import { ZeroBytes32 } from "@fuel-ts/address/configs";
1965
- import { ErrorCode as ErrorCode3, FuelError as FuelError3 } from "@fuel-ts/errors";
1970
+ import { ErrorCode as ErrorCode3, FuelError as FuelError4 } from "@fuel-ts/errors";
1966
1971
  import { bn as bn2, toNumber } from "@fuel-ts/math";
1967
1972
  import { InputType } from "@fuel-ts/transactions";
1968
1973
  import { arrayify, hexlify as hexlify2 } from "@fuel-ts/utils";
1969
- var inputify = (value) => {
1974
+ var inputify = /* @__PURE__ */ __name((value) => {
1970
1975
  const { type } = value;
1971
1976
  switch (value.type) {
1972
1977
  case InputType.Coin: {
@@ -2026,21 +2031,21 @@ var inputify = (value) => {
2026
2031
  };
2027
2032
  }
2028
2033
  default: {
2029
- throw new FuelError3(
2034
+ throw new FuelError4(
2030
2035
  ErrorCode3.INVALID_TRANSACTION_INPUT,
2031
2036
  `Invalid transaction input type: ${type}.`
2032
2037
  );
2033
2038
  }
2034
2039
  }
2035
- };
2040
+ }, "inputify");
2036
2041
 
2037
2042
  // src/providers/transaction-request/output.ts
2038
2043
  import { ZeroBytes32 as ZeroBytes322 } from "@fuel-ts/address/configs";
2039
- import { ErrorCode as ErrorCode4, FuelError as FuelError4 } from "@fuel-ts/errors";
2044
+ import { ErrorCode as ErrorCode4, FuelError as FuelError5 } from "@fuel-ts/errors";
2040
2045
  import { bn as bn3 } from "@fuel-ts/math";
2041
2046
  import { OutputType } from "@fuel-ts/transactions";
2042
2047
  import { hexlify as hexlify3 } from "@fuel-ts/utils";
2043
- var outputify = (value) => {
2048
+ var outputify = /* @__PURE__ */ __name((value) => {
2044
2049
  const { type } = value;
2045
2050
  switch (type) {
2046
2051
  case OutputType.Coin: {
@@ -2083,20 +2088,20 @@ var outputify = (value) => {
2083
2088
  };
2084
2089
  }
2085
2090
  default: {
2086
- throw new FuelError4(
2091
+ throw new FuelError5(
2087
2092
  ErrorCode4.INVALID_TRANSACTION_INPUT,
2088
2093
  `Invalid transaction output type: ${type}.`
2089
2094
  );
2090
2095
  }
2091
2096
  }
2092
- };
2097
+ }, "outputify");
2093
2098
 
2094
2099
  // src/providers/transaction-request/transaction-request.ts
2095
2100
  import { UTXO_ID_LEN as UTXO_ID_LEN2 } from "@fuel-ts/abi-coder";
2096
2101
  import { Address, addressify } from "@fuel-ts/address";
2097
2102
  import { ZeroBytes32 as ZeroBytes324 } from "@fuel-ts/address/configs";
2098
2103
  import { randomBytes } from "@fuel-ts/crypto";
2099
- import { FuelError as FuelError9 } from "@fuel-ts/errors";
2104
+ import { FuelError as FuelError10 } from "@fuel-ts/errors";
2100
2105
  import { bn as bn8 } from "@fuel-ts/math";
2101
2106
  import {
2102
2107
  PolicyType,
@@ -2108,13 +2113,13 @@ import {
2108
2113
  import { concat, hexlify as hexlify8, isDefined } from "@fuel-ts/utils";
2109
2114
 
2110
2115
  // src/providers/message.ts
2111
- var isMessageCoin = (message) => !("data" in message);
2116
+ var isMessageCoin = /* @__PURE__ */ __name((message) => !("data" in message), "isMessageCoin");
2112
2117
 
2113
2118
  // src/providers/resource.ts
2114
- var isRawCoin = (resource) => "utxoId" in resource;
2115
- var isRawMessage = (resource) => "recipient" in resource;
2116
- var isCoin = (resource) => "id" in resource;
2117
- var isMessage = (resource) => "recipient" in resource;
2119
+ var isRawCoin = /* @__PURE__ */ __name((resource) => "utxoId" in resource, "isRawCoin");
2120
+ var isRawMessage = /* @__PURE__ */ __name((resource) => "recipient" in resource, "isRawMessage");
2121
+ var isCoin = /* @__PURE__ */ __name((resource) => "id" in resource, "isCoin");
2122
+ var isMessage = /* @__PURE__ */ __name((resource) => "recipient" in resource, "isMessage");
2118
2123
 
2119
2124
  // src/providers/utils/receipts.ts
2120
2125
  import { ReceiptType as ReceiptType2 } from "@fuel-ts/transactions";
@@ -2122,11 +2127,11 @@ import { FAILED_TRANSFER_TO_ADDRESS_SIGNAL } from "@fuel-ts/transactions/configs
2122
2127
 
2123
2128
  // src/providers/utils/serialization.ts
2124
2129
  import { ZeroBytes32 as ZeroBytes323 } from "@fuel-ts/address/configs";
2125
- import { ErrorCode as ErrorCode5, FuelError as FuelError5 } from "@fuel-ts/errors";
2130
+ import { ErrorCode as ErrorCode5, FuelError as FuelError6 } from "@fuel-ts/errors";
2126
2131
  import { bn as bn4 } from "@fuel-ts/math";
2127
2132
  import { getMintedAssetId, InputMessageCoder, ReceiptType } from "@fuel-ts/transactions";
2128
2133
  import { hexlify as hexlify4, arrayify as arrayify2 } from "@fuel-ts/utils";
2129
- var deserializeChain = (chain) => {
2134
+ var deserializeChain = /* @__PURE__ */ __name((chain) => {
2130
2135
  const { name, daHeight, consensusParameters } = chain;
2131
2136
  const {
2132
2137
  contractParams,
@@ -2180,8 +2185,8 @@ var deserializeChain = (chain) => {
2180
2185
  gasCosts
2181
2186
  }
2182
2187
  };
2183
- };
2184
- var serializeChain = (chain) => {
2188
+ }, "deserializeChain");
2189
+ var serializeChain = /* @__PURE__ */ __name((chain) => {
2185
2190
  const { name, baseChainHeight, consensusParameters } = chain;
2186
2191
  const {
2187
2192
  contractParameters,
@@ -2235,39 +2240,41 @@ var serializeChain = (chain) => {
2235
2240
  gasCosts
2236
2241
  }
2237
2242
  };
2238
- };
2239
- var deserializeNodeInfo = (nodeInfo) => {
2240
- const { maxDepth, maxTx, nodeVersion, utxoValidation, vmBacktrace } = nodeInfo;
2243
+ }, "serializeChain");
2244
+ var deserializeNodeInfo = /* @__PURE__ */ __name((nodeInfo) => {
2245
+ const { maxDepth, maxTx, nodeVersion, utxoValidation, vmBacktrace, indexation } = nodeInfo;
2241
2246
  return {
2242
2247
  maxDepth: bn4(maxDepth),
2243
2248
  maxTx: bn4(maxTx),
2244
2249
  nodeVersion,
2245
2250
  utxoValidation,
2246
- vmBacktrace
2251
+ vmBacktrace,
2252
+ indexation
2247
2253
  };
2248
- };
2249
- var serializeNodeInfo = (nodeInfo) => {
2250
- const { maxDepth, maxTx, nodeVersion, utxoValidation, vmBacktrace } = nodeInfo;
2254
+ }, "deserializeNodeInfo");
2255
+ var serializeNodeInfo = /* @__PURE__ */ __name((nodeInfo) => {
2256
+ const { maxDepth, maxTx, nodeVersion, utxoValidation, vmBacktrace, indexation } = nodeInfo;
2251
2257
  return {
2252
2258
  maxDepth: maxDepth.toString(),
2253
2259
  maxTx: maxTx.toString(),
2254
2260
  nodeVersion,
2255
2261
  utxoValidation,
2256
- vmBacktrace
2262
+ vmBacktrace,
2263
+ indexation
2257
2264
  };
2258
- };
2259
- var deserializeProviderCache = (cache2) => ({
2265
+ }, "serializeNodeInfo");
2266
+ var deserializeProviderCache = /* @__PURE__ */ __name((cache2) => ({
2260
2267
  consensusParametersTimestamp: cache2.consensusParametersTimestamp,
2261
2268
  chain: deserializeChain(cache2.chain),
2262
2269
  nodeInfo: deserializeNodeInfo(cache2.nodeInfo)
2263
- });
2264
- var serializeProviderCache = async (provider) => ({
2270
+ }), "deserializeProviderCache");
2271
+ var serializeProviderCache = /* @__PURE__ */ __name(async (provider) => ({
2265
2272
  consensusParametersTimestamp: provider.consensusParametersTimestamp,
2266
2273
  chain: serializeChain(await provider.getChain()),
2267
2274
  nodeInfo: serializeNodeInfo(await provider.getNode())
2268
- });
2269
- var hexOrZero = (hex) => hex || ZeroBytes323;
2270
- var deserializeReceipt = (receipt) => {
2275
+ }), "serializeProviderCache");
2276
+ var hexOrZero = /* @__PURE__ */ __name((hex) => hex || ZeroBytes323, "hexOrZero");
2277
+ var deserializeReceipt = /* @__PURE__ */ __name((receipt) => {
2271
2278
  const { receiptType } = receipt;
2272
2279
  switch (receiptType) {
2273
2280
  case "CALL" /* Call */: {
@@ -2457,14 +2464,14 @@ var deserializeReceipt = (receipt) => {
2457
2464
  return burnReceipt;
2458
2465
  }
2459
2466
  default:
2460
- throw new FuelError5(ErrorCode5.INVALID_RECEIPT_TYPE, `Invalid receipt type: ${receiptType}.`);
2467
+ throw new FuelError6(ErrorCode5.INVALID_RECEIPT_TYPE, `Invalid receipt type: ${receiptType}.`);
2461
2468
  }
2462
- };
2469
+ }, "deserializeReceipt");
2463
2470
 
2464
2471
  // src/providers/utils/receipts.ts
2465
- var doesReceiptHaveMissingOutputVariables = (receipt) => receipt.type === ReceiptType2.Revert && receipt.val.toString("hex") === FAILED_TRANSFER_TO_ADDRESS_SIGNAL;
2466
- var doesReceiptHaveMissingContractId = (receipt) => receipt.type === ReceiptType2.Panic && receipt.contractId !== "0x0000000000000000000000000000000000000000000000000000000000000000";
2467
- var getReceiptsWithMissingData = (receipts) => receipts.reduce(
2472
+ var doesReceiptHaveMissingOutputVariables = /* @__PURE__ */ __name((receipt) => receipt.type === ReceiptType2.Revert && receipt.val.toString("hex") === FAILED_TRANSFER_TO_ADDRESS_SIGNAL, "doesReceiptHaveMissingOutputVariables");
2473
+ var doesReceiptHaveMissingContractId = /* @__PURE__ */ __name((receipt) => receipt.type === ReceiptType2.Panic && receipt.contractId !== "0x0000000000000000000000000000000000000000000000000000000000000000", "doesReceiptHaveMissingContractId");
2474
+ var getReceiptsWithMissingData = /* @__PURE__ */ __name((receipts) => receipts.reduce(
2468
2475
  (memo, receipt) => {
2469
2476
  if (doesReceiptHaveMissingOutputVariables(receipt)) {
2470
2477
  memo.missingOutputVariables.push(receipt);
@@ -2478,13 +2485,13 @@ var getReceiptsWithMissingData = (receipts) => receipts.reduce(
2478
2485
  missingOutputVariables: [],
2479
2486
  missingOutputContractIds: []
2480
2487
  }
2481
- );
2482
- var assembleReceiptByType = (gqlReceipt) => deserializeReceipt(gqlReceipt);
2488
+ ), "getReceiptsWithMissingData");
2489
+ var assembleReceiptByType = /* @__PURE__ */ __name((gqlReceipt) => deserializeReceipt(gqlReceipt), "assembleReceiptByType");
2483
2490
 
2484
2491
  // src/providers/utils/block-explorer.ts
2485
- import { ErrorCode as ErrorCode6, FuelError as FuelError6 } from "@fuel-ts/errors";
2492
+ import { ErrorCode as ErrorCode6, FuelError as FuelError7 } from "@fuel-ts/errors";
2486
2493
  var DEFAULT_BLOCK_EXPLORER_URL = "https://app.fuel.network";
2487
- var getPathFromInput = (key, value) => {
2494
+ var getPathFromInput = /* @__PURE__ */ __name((key, value) => {
2488
2495
  const pathMap = {
2489
2496
  address: `address`,
2490
2497
  txId: `transaction`,
@@ -2492,8 +2499,8 @@ var getPathFromInput = (key, value) => {
2492
2499
  };
2493
2500
  const path = pathMap[key] || key;
2494
2501
  return `${path}/${value}`;
2495
- };
2496
- var buildBlockExplorerUrl = (options = {}) => {
2502
+ }, "getPathFromInput");
2503
+ var buildBlockExplorerUrl = /* @__PURE__ */ __name((options = {}) => {
2497
2504
  const { blockExplorerUrl, path, providerUrl, address, txId, blockNumber } = options;
2498
2505
  const explorerUrl = blockExplorerUrl || DEFAULT_BLOCK_EXPLORER_URL;
2499
2506
  const customInputParams = [
@@ -2516,14 +2523,14 @@ var buildBlockExplorerUrl = (options = {}) => {
2516
2523
  }));
2517
2524
  const hasAnyDefinedValues = definedValues.length > 0;
2518
2525
  if (definedValues.length > 1) {
2519
- throw new FuelError6(
2526
+ throw new FuelError7(
2520
2527
  ErrorCode6.ERROR_BUILDING_BLOCK_EXPLORER_URL,
2521
2528
  `Only one of the following can be passed in to buildBlockExplorerUrl: ${customInputParams.map((param) => param.key).join(", ")}.`
2522
2529
  );
2523
2530
  }
2524
2531
  if (path && definedValues.length > 0) {
2525
2532
  const inputKeys = customInputParams.map(({ key }) => key).join(", ");
2526
- throw new FuelError6(
2533
+ throw new FuelError7(
2527
2534
  ErrorCode6.ERROR_BUILDING_BLOCK_EXPLORER_URL,
2528
2535
  `You cannot pass in a path to 'buildBlockExplorerUrl' along with any of the following: ${inputKeys}.`
2529
2536
  );
@@ -2541,19 +2548,19 @@ var buildBlockExplorerUrl = (options = {}) => {
2541
2548
  const providerUrlProtocol = cleanProviderUrl?.match(/^https?:\/\//) ? "" : "https://";
2542
2549
  const url = `${protocol}${cleanBlockExplorerUrl}/${cleanPath}${encodedProviderUrl ? `?providerUrl=${providerUrlProtocol}${encodedProviderUrl}` : ""}`;
2543
2550
  return url;
2544
- };
2551
+ }, "buildBlockExplorerUrl");
2545
2552
 
2546
2553
  // src/providers/utils/gas.ts
2547
2554
  import { bn as bn5 } from "@fuel-ts/math";
2548
2555
  import { ReceiptType as ReceiptType3 } from "@fuel-ts/transactions";
2549
2556
  import { arrayify as arrayify3 } from "@fuel-ts/utils";
2550
- var getGasUsedFromReceipts = (receipts) => {
2557
+ var getGasUsedFromReceipts = /* @__PURE__ */ __name((receipts) => {
2551
2558
  const scriptResult = receipts.filter(
2552
2559
  (receipt) => receipt.type === ReceiptType3.ScriptResult
2553
2560
  );
2554
2561
  const gasUsed = scriptResult.reduce((prev, receipt) => prev.add(receipt.gasUsed), bn5(0));
2555
2562
  return gasUsed;
2556
- };
2563
+ }, "getGasUsedFromReceipts");
2557
2564
  function resolveGasDependentCosts(byteSize, gasDependentCost) {
2558
2565
  const base = bn5(gasDependentCost.base);
2559
2566
  let dependentValue = bn5(0);
@@ -2564,6 +2571,7 @@ function resolveGasDependentCosts(byteSize, gasDependentCost) {
2564
2571
  }
2565
2572
  return base.add(dependentValue);
2566
2573
  }
2574
+ __name(resolveGasDependentCosts, "resolveGasDependentCosts");
2567
2575
  function gasUsedByInputs(inputs, txBytesSize, gasCosts) {
2568
2576
  const witnessCache = [];
2569
2577
  const chargeableInputs = inputs.filter((input) => {
@@ -2590,6 +2598,7 @@ function gasUsedByInputs(inputs, txBytesSize, gasCosts) {
2590
2598
  }, bn5(0));
2591
2599
  return totalGas;
2592
2600
  }
2601
+ __name(gasUsedByInputs, "gasUsedByInputs");
2593
2602
  function getMinGas(params) {
2594
2603
  const { gasCosts, gasPerByte, inputs, metadataGas, txBytesSize } = params;
2595
2604
  const vmInitGas = resolveGasDependentCosts(txBytesSize, gasCosts.vmInitialization);
@@ -2598,6 +2607,7 @@ function getMinGas(params) {
2598
2607
  const minGas = vmInitGas.add(bytesGas).add(inputsGas).add(metadataGas).maxU64();
2599
2608
  return minGas;
2600
2609
  }
2610
+ __name(getMinGas, "getMinGas");
2601
2611
  function getMaxGas(params) {
2602
2612
  const {
2603
2613
  gasPerByte,
@@ -2614,6 +2624,7 @@ function getMaxGas(params) {
2614
2624
  const maxGas = remainingAllowedWitnessGas.add(minGas).add(gasLimit);
2615
2625
  return maxGas.gte(maxGasPerTx) ? maxGasPerTx : maxGas;
2616
2626
  }
2627
+ __name(getMaxGas, "getMaxGas");
2617
2628
  function calculateMetadataGasForTxCreate({
2618
2629
  gasCosts,
2619
2630
  stateRootSize,
@@ -2628,12 +2639,14 @@ function calculateMetadataGasForTxCreate({
2628
2639
  const metadataGas = contractRootGas.add(stateRootGas).add(txIdGas).add(contractIdGas);
2629
2640
  return metadataGas.maxU64();
2630
2641
  }
2642
+ __name(calculateMetadataGasForTxCreate, "calculateMetadataGasForTxCreate");
2631
2643
  function calculateMetadataGasForTxScript({
2632
2644
  gasCosts,
2633
2645
  txBytesSize
2634
2646
  }) {
2635
2647
  return resolveGasDependentCosts(txBytesSize, gasCosts.s256);
2636
2648
  }
2649
+ __name(calculateMetadataGasForTxScript, "calculateMetadataGasForTxScript");
2637
2650
  function calculateMetadataGasForTxBlob({
2638
2651
  gasCosts,
2639
2652
  txBytesSize,
@@ -2643,6 +2656,7 @@ function calculateMetadataGasForTxBlob({
2643
2656
  const blobLen = resolveGasDependentCosts(witnessBytesSize, gasCosts.s256);
2644
2657
  return txId.add(blobLen);
2645
2658
  }
2659
+ __name(calculateMetadataGasForTxBlob, "calculateMetadataGasForTxBlob");
2646
2660
  function calculateMetadataGasForTxUpgrade({
2647
2661
  gasCosts,
2648
2662
  txBytesSize,
@@ -2655,6 +2669,7 @@ function calculateMetadataGasForTxUpgrade({
2655
2669
  }
2656
2670
  return txId;
2657
2671
  }
2672
+ __name(calculateMetadataGasForTxUpgrade, "calculateMetadataGasForTxUpgrade");
2658
2673
  function calculateMetadataGasForTxUpload({
2659
2674
  gasCosts,
2660
2675
  txBytesSize,
@@ -2668,6 +2683,7 @@ function calculateMetadataGasForTxUpload({
2668
2683
  txId.add(subsectionsLen);
2669
2684
  return txId;
2670
2685
  }
2686
+ __name(calculateMetadataGasForTxUpload, "calculateMetadataGasForTxUpload");
2671
2687
  function calculateMinGasForTxUpload({
2672
2688
  gasCosts,
2673
2689
  baseMinGas,
@@ -2676,10 +2692,11 @@ function calculateMinGasForTxUpload({
2676
2692
  const additionalStoragePerByte = bn5(gasCosts.newStoragePerByte).mul(subsectionSize);
2677
2693
  return bn5(baseMinGas).add(additionalStoragePerByte);
2678
2694
  }
2679
- var calculateGasFee = (params) => {
2695
+ __name(calculateMinGasForTxUpload, "calculateMinGasForTxUpload");
2696
+ var calculateGasFee = /* @__PURE__ */ __name((params) => {
2680
2697
  const { gas, gasPrice, priceFactor, tip } = params;
2681
2698
  return gas.mul(gasPrice).div(priceFactor).add(bn5(tip));
2682
- };
2699
+ }, "calculateGasFee");
2683
2700
 
2684
2701
  // src/providers/utils/json.ts
2685
2702
  import { hexlify as hexlify5 } from "@fuel-ts/utils";
@@ -2708,12 +2725,14 @@ function normalize(object) {
2708
2725
  });
2709
2726
  return object;
2710
2727
  }
2728
+ __name(normalize, "normalize");
2711
2729
  function normalizeJSON(root) {
2712
2730
  return normalize(clone(root));
2713
2731
  }
2732
+ __name(normalizeJSON, "normalizeJSON");
2714
2733
 
2715
2734
  // src/providers/utils/extract-tx-error.ts
2716
- import { ErrorCode as ErrorCode7, FuelError as FuelError7 } from "@fuel-ts/errors";
2735
+ import { ErrorCode as ErrorCode7, FuelError as FuelError8 } from "@fuel-ts/errors";
2717
2736
  import { bn as bn6 } from "@fuel-ts/math";
2718
2737
  import { ReceiptType as ReceiptType4 } from "@fuel-ts/transactions";
2719
2738
  import {
@@ -2725,7 +2744,7 @@ import {
2725
2744
  PANIC_REASONS,
2726
2745
  PANIC_DOC_URL
2727
2746
  } from "@fuel-ts/transactions/configs";
2728
- var assemblePanicError = (statusReason, metadata) => {
2747
+ var assemblePanicError = /* @__PURE__ */ __name((statusReason, metadata) => {
2729
2748
  let errorMessage = `The transaction reverted with reason: "${statusReason}".`;
2730
2749
  if (PANIC_REASONS.includes(statusReason)) {
2731
2750
  errorMessage = `${errorMessage}
@@ -2734,13 +2753,13 @@ You can read more about this error at:
2734
2753
 
2735
2754
  ${PANIC_DOC_URL}#variant.${statusReason}`;
2736
2755
  }
2737
- return new FuelError7(ErrorCode7.SCRIPT_REVERTED, errorMessage, {
2756
+ return new FuelError8(ErrorCode7.SCRIPT_REVERTED, errorMessage, {
2738
2757
  ...metadata,
2739
2758
  reason: statusReason
2740
2759
  });
2741
- };
2742
- var stringify = (obj) => JSON.stringify(obj, null, 2);
2743
- var assembleRevertError = (receipts, logs, metadata) => {
2760
+ }, "assemblePanicError");
2761
+ var stringify = /* @__PURE__ */ __name((obj) => JSON.stringify(obj, null, 2), "stringify");
2762
+ var assembleRevertError = /* @__PURE__ */ __name((receipts, logs, metadata) => {
2744
2763
  let errorMessage = "The transaction reverted with an unknown reason.";
2745
2764
  const revertReceipt = receipts.find(({ type }) => type === ReceiptType4.Revert);
2746
2765
  let reason = "";
@@ -2775,7 +2794,7 @@ var assembleRevertError = (receipts, logs, metadata) => {
2775
2794
  errorMessage = `The transaction reverted because it's missing an "OutputVariable".`;
2776
2795
  break;
2777
2796
  default:
2778
- throw new FuelError7(
2797
+ throw new FuelError8(
2779
2798
  ErrorCode7.UNKNOWN,
2780
2799
  `The transaction reverted with an unknown reason: ${revertReceipt.val}`,
2781
2800
  {
@@ -2785,12 +2804,12 @@ var assembleRevertError = (receipts, logs, metadata) => {
2785
2804
  );
2786
2805
  }
2787
2806
  }
2788
- return new FuelError7(ErrorCode7.SCRIPT_REVERTED, errorMessage, {
2807
+ return new FuelError8(ErrorCode7.SCRIPT_REVERTED, errorMessage, {
2789
2808
  ...metadata,
2790
2809
  reason
2791
2810
  });
2792
- };
2793
- var extractTxError = (params) => {
2811
+ }, "assembleRevertError");
2812
+ var extractTxError = /* @__PURE__ */ __name((params) => {
2794
2813
  const { receipts, statusReason, logs } = params;
2795
2814
  const isPanic = receipts.some(({ type }) => type === ReceiptType4.Panic);
2796
2815
  const isRevert = receipts.some(({ type }) => type === ReceiptType4.Revert);
@@ -2805,10 +2824,13 @@ var extractTxError = (params) => {
2805
2824
  return assemblePanicError(statusReason, metadata);
2806
2825
  }
2807
2826
  return assembleRevertError(receipts, logs, metadata);
2808
- };
2827
+ }, "extractTxError");
2809
2828
 
2810
2829
  // src/providers/transaction-request/errors.ts
2811
2830
  var ChangeOutputCollisionError = class extends Error {
2831
+ static {
2832
+ __name(this, "ChangeOutputCollisionError");
2833
+ }
2812
2834
  name = "ChangeOutputCollisionError";
2813
2835
  message = 'A ChangeOutput with the same "assetId" already exists for a different "to" address';
2814
2836
  };
@@ -2818,6 +2840,9 @@ var NoWitnessAtIndexError = class extends Error {
2818
2840
  this.index = index;
2819
2841
  this.message = `Witness at index "${index}" was not found`;
2820
2842
  }
2843
+ static {
2844
+ __name(this, "NoWitnessAtIndexError");
2845
+ }
2821
2846
  name = "NoWitnessAtIndexError";
2822
2847
  };
2823
2848
  var NoWitnessByOwnerError = class extends Error {
@@ -2826,23 +2851,26 @@ var NoWitnessByOwnerError = class extends Error {
2826
2851
  this.owner = owner;
2827
2852
  this.message = `A witness for the given owner "${owner}" was not found`;
2828
2853
  }
2854
+ static {
2855
+ __name(this, "NoWitnessByOwnerError");
2856
+ }
2829
2857
  name = "NoWitnessByOwnerError";
2830
2858
  };
2831
2859
 
2832
2860
  // src/providers/transaction-request/helpers.ts
2833
- import { ErrorCode as ErrorCode8, FuelError as FuelError8 } from "@fuel-ts/errors";
2861
+ import { ErrorCode as ErrorCode8, FuelError as FuelError9 } from "@fuel-ts/errors";
2834
2862
  import { bn as bn7 } from "@fuel-ts/math";
2835
2863
  import { InputType as InputType2, OutputType as OutputType2 } from "@fuel-ts/transactions";
2836
2864
  import { hexlify as hexlify6 } from "@fuel-ts/utils";
2837
- var isRequestInputCoin = (input) => input.type === InputType2.Coin;
2838
- var isRequestInputMessage = (input) => input.type === InputType2.Message;
2839
- var isRequestInputMessageWithoutData = (input) => input.type === InputType2.Message && bn7(input.data).isZero();
2840
- var isRequestInputCoinOrMessage = (input) => isRequestInputCoin(input) || isRequestInputMessage(input);
2841
- var isRequestInputResource = (input) => isRequestInputCoin(input) || isRequestInputMessageWithoutData(input);
2842
- var getRequestInputResourceOwner = (input) => isRequestInputCoin(input) ? input.owner : input.recipient;
2843
- var isRequestInputResourceFromOwner = (input, owner) => getRequestInputResourceOwner(input) === owner.toB256();
2844
- var isPredicate = (input) => isRequestInputCoinOrMessage(input) && !!input.predicate && hexlify6(input.predicate) !== "0x";
2845
- var getAssetAmountInRequestInputs = (inputs, assetId, baseAsset) => inputs.filter(isRequestInputResource).reduce((acc, input) => {
2865
+ var isRequestInputCoin = /* @__PURE__ */ __name((input) => input.type === InputType2.Coin, "isRequestInputCoin");
2866
+ var isRequestInputMessage = /* @__PURE__ */ __name((input) => input.type === InputType2.Message, "isRequestInputMessage");
2867
+ var isRequestInputMessageWithoutData = /* @__PURE__ */ __name((input) => input.type === InputType2.Message && bn7(input.data).isZero(), "isRequestInputMessageWithoutData");
2868
+ var isRequestInputCoinOrMessage = /* @__PURE__ */ __name((input) => isRequestInputCoin(input) || isRequestInputMessage(input), "isRequestInputCoinOrMessage");
2869
+ var isRequestInputResource = /* @__PURE__ */ __name((input) => isRequestInputCoin(input) || isRequestInputMessageWithoutData(input), "isRequestInputResource");
2870
+ var getRequestInputResourceOwner = /* @__PURE__ */ __name((input) => isRequestInputCoin(input) ? input.owner : input.recipient, "getRequestInputResourceOwner");
2871
+ var isRequestInputResourceFromOwner = /* @__PURE__ */ __name((input, owner) => getRequestInputResourceOwner(input) === owner.toB256(), "isRequestInputResourceFromOwner");
2872
+ var isPredicate = /* @__PURE__ */ __name((input) => isRequestInputCoinOrMessage(input) && !!input.predicate && hexlify6(input.predicate) !== "0x", "isPredicate");
2873
+ var getAssetAmountInRequestInputs = /* @__PURE__ */ __name((inputs, assetId, baseAsset) => inputs.filter(isRequestInputResource).reduce((acc, input) => {
2846
2874
  if (isRequestInputCoin(input) && input.assetId === assetId) {
2847
2875
  return acc.add(input.amount);
2848
2876
  }
@@ -2850,8 +2878,8 @@ var getAssetAmountInRequestInputs = (inputs, assetId, baseAsset) => inputs.filte
2850
2878
  return acc.add(input.amount);
2851
2879
  }
2852
2880
  return acc;
2853
- }, bn7(0));
2854
- var cacheRequestInputsResources = (inputs) => inputs.filter(isRequestInputResource).reduce(
2881
+ }, bn7(0)), "getAssetAmountInRequestInputs");
2882
+ var cacheRequestInputsResources = /* @__PURE__ */ __name((inputs) => inputs.filter(isRequestInputResource).reduce(
2855
2883
  (cache2, input) => {
2856
2884
  if (isRequestInputCoin(input)) {
2857
2885
  cache2.utxos.push(input.id);
@@ -2864,8 +2892,8 @@ var cacheRequestInputsResources = (inputs) => inputs.filter(isRequestInputResour
2864
2892
  utxos: [],
2865
2893
  messages: []
2866
2894
  }
2867
- );
2868
- var cacheRequestInputsResourcesFromOwner = (inputs, owner) => inputs.reduce(
2895
+ ), "cacheRequestInputsResources");
2896
+ var cacheRequestInputsResourcesFromOwner = /* @__PURE__ */ __name((inputs, owner) => inputs.reduce(
2869
2897
  (acc, input) => {
2870
2898
  if (isRequestInputCoin(input) && input.owner === owner.toB256()) {
2871
2899
  acc.utxos.push(input.id);
@@ -2878,8 +2906,8 @@ var cacheRequestInputsResourcesFromOwner = (inputs, owner) => inputs.reduce(
2878
2906
  utxos: [],
2879
2907
  messages: []
2880
2908
  }
2881
- );
2882
- var getBurnableAssetCount = (baseAssetId, transactionRequest) => {
2909
+ ), "cacheRequestInputsResourcesFromOwner");
2910
+ var getBurnableAssetCount = /* @__PURE__ */ __name((baseAssetId, transactionRequest) => {
2883
2911
  const { inputs, outputs } = transactionRequest;
2884
2912
  const coinInputs = new Set(inputs.filter(isRequestInputCoin).map((input) => input.assetId));
2885
2913
  if (inputs.some((i) => isRequestInputMessage(i) && bn7(i.amount).gt(0))) {
@@ -2890,8 +2918,8 @@ var getBurnableAssetCount = (baseAssetId, transactionRequest) => {
2890
2918
  );
2891
2919
  const difference = new Set([...coinInputs].filter((x) => !changeOutputs.has(x)));
2892
2920
  return difference.size;
2893
- };
2894
- var validateTransactionForAssetBurn = (baseAssetId, transactionRequest, enableAssetBurn = false) => {
2921
+ }, "getBurnableAssetCount");
2922
+ var validateTransactionForAssetBurn = /* @__PURE__ */ __name((baseAssetId, transactionRequest, enableAssetBurn = false) => {
2895
2923
  if (enableAssetBurn === true) {
2896
2924
  return;
2897
2925
  }
@@ -2903,21 +2931,24 @@ var validateTransactionForAssetBurn = (baseAssetId, transactionRequest, enableAs
2903
2931
  "Add the relevant change outputs to the transaction to avoid burning assets.",
2904
2932
  "Or enable asset burn, upon sending the transaction."
2905
2933
  ].join("\n");
2906
- throw new FuelError8(ErrorCode8.ASSET_BURN_DETECTED, message);
2907
- };
2934
+ throw new FuelError9(ErrorCode8.ASSET_BURN_DETECTED, message);
2935
+ }, "validateTransactionForAssetBurn");
2908
2936
 
2909
2937
  // src/providers/transaction-request/witness.ts
2910
2938
  import { arrayify as arrayify4, hexlify as hexlify7 } from "@fuel-ts/utils";
2911
- var witnessify = (value) => {
2939
+ var witnessify = /* @__PURE__ */ __name((value) => {
2912
2940
  const data = arrayify4(value);
2913
2941
  return {
2914
2942
  data: hexlify7(data),
2915
2943
  dataLength: data.length
2916
2944
  };
2917
- };
2945
+ }, "witnessify");
2918
2946
 
2919
2947
  // src/providers/transaction-request/transaction-request.ts
2920
- var BaseTransactionRequest = class {
2948
+ var BaseTransactionRequest = class _BaseTransactionRequest {
2949
+ static {
2950
+ __name(this, "BaseTransactionRequest");
2951
+ }
2921
2952
  /** Gas price for transaction */
2922
2953
  tip;
2923
2954
  /** Block until which tx cannot be included */
@@ -3000,7 +3031,7 @@ var BaseTransactionRequest = class {
3000
3031
  const inputs = this.inputs?.map(inputify) ?? [];
3001
3032
  const outputs = this.outputs?.map(outputify) ?? [];
3002
3033
  const witnesses = this.witnesses?.map(witnessify) ?? [];
3003
- const { policyTypes, policies } = BaseTransactionRequest.getPolicyMeta(this);
3034
+ const { policyTypes, policies } = _BaseTransactionRequest.getPolicyMeta(this);
3004
3035
  return {
3005
3036
  policyTypes,
3006
3037
  inputs,
@@ -3301,7 +3332,7 @@ var BaseTransactionRequest = class {
3301
3332
  * @hidden
3302
3333
  */
3303
3334
  metadataGas(_gasCosts) {
3304
- throw new FuelError9(FuelError9.CODES.NOT_IMPLEMENTED, "Not implemented");
3335
+ throw new FuelError10(FuelError10.CODES.NOT_IMPLEMENTED, "Not implemented");
3305
3336
  }
3306
3337
  /**
3307
3338
  * @hidden
@@ -3348,13 +3379,13 @@ var BaseTransactionRequest = class {
3348
3379
  * Please use `Account.generateFakeResources` along with `this.addResources` instead.
3349
3380
  */
3350
3381
  fundWithFakeUtxos(quantities, baseAssetId, resourcesOwner) {
3351
- const findAssetInput = (assetId) => this.inputs.find((input) => {
3382
+ const findAssetInput = /* @__PURE__ */ __name((assetId) => this.inputs.find((input) => {
3352
3383
  if ("assetId" in input) {
3353
3384
  return input.assetId === assetId;
3354
3385
  }
3355
3386
  return false;
3356
- });
3357
- const updateAssetInput = (assetId, quantity) => {
3387
+ }), "findAssetInput");
3388
+ const updateAssetInput = /* @__PURE__ */ __name((assetId, quantity) => {
3358
3389
  const assetInput = findAssetInput(assetId);
3359
3390
  let usedQuantity = quantity;
3360
3391
  if (assetId === baseAssetId) {
@@ -3375,7 +3406,7 @@ var BaseTransactionRequest = class {
3375
3406
  }
3376
3407
  ]);
3377
3408
  }
3378
- };
3409
+ }, "updateAssetInput");
3379
3410
  updateAssetInput(baseAssetId, bn8(1e11));
3380
3411
  quantities.forEach((q) => updateAssetInput(q.assetId, q.amount));
3381
3412
  return this;
@@ -3463,6 +3494,7 @@ function hashTransaction(transactionRequest, chainId) {
3463
3494
  transaction.inputs = transaction.inputs.map((input) => {
3464
3495
  const inputClone = clone2(input);
3465
3496
  switch (inputClone.type) {
3497
+ // Zero out on signing: txPointer, predicateGasUsed
3466
3498
  case InputType4.Coin: {
3467
3499
  inputClone.txPointer = {
3468
3500
  blockHeight: 0,
@@ -3471,10 +3503,12 @@ function hashTransaction(transactionRequest, chainId) {
3471
3503
  inputClone.predicateGasUsed = bn9(0);
3472
3504
  return inputClone;
3473
3505
  }
3506
+ // Zero out on signing: predicateGasUsed
3474
3507
  case InputType4.Message: {
3475
3508
  inputClone.predicateGasUsed = bn9(0);
3476
3509
  return inputClone;
3477
3510
  }
3511
+ // Zero out on signing: txID, outputIndex, balanceRoot, stateRoot, and txPointer
3478
3512
  case InputType4.Contract: {
3479
3513
  inputClone.txPointer = {
3480
3514
  blockHeight: 0,
@@ -3493,15 +3527,18 @@ function hashTransaction(transactionRequest, chainId) {
3493
3527
  transaction.outputs = transaction.outputs.map((output) => {
3494
3528
  const outputClone = clone2(output);
3495
3529
  switch (outputClone.type) {
3530
+ // Zero out on signing: balanceRoot, stateRoot
3496
3531
  case OutputType4.Contract: {
3497
3532
  outputClone.balanceRoot = ZeroBytes325;
3498
3533
  outputClone.stateRoot = ZeroBytes325;
3499
3534
  return outputClone;
3500
3535
  }
3536
+ // Zero out on signing: amount
3501
3537
  case OutputType4.Change: {
3502
3538
  outputClone.amount = bn9(0);
3503
3539
  return outputClone;
3504
3540
  }
3541
+ // Zero out on signing: amount, to and assetId
3505
3542
  case OutputType4.Variable: {
3506
3543
  outputClone.to = ZeroBytes325;
3507
3544
  outputClone.amount = bn9(0);
@@ -3518,9 +3555,13 @@ function hashTransaction(transactionRequest, chainId) {
3518
3555
  const concatenatedData = concat2([chainIdBytes, new TransactionCoder2().encode(transaction)]);
3519
3556
  return sha256(concatenatedData);
3520
3557
  }
3558
+ __name(hashTransaction, "hashTransaction");
3521
3559
 
3522
3560
  // src/providers/transaction-request/blob-transaction-request.ts
3523
3561
  var BlobTransactionRequest = class extends BaseTransactionRequest {
3562
+ static {
3563
+ __name(this, "BlobTransactionRequest");
3564
+ }
3524
3565
  static from(obj) {
3525
3566
  return new this(clone3(obj));
3526
3567
  }
@@ -3589,12 +3630,12 @@ import { clone as clone4 } from "ramda";
3589
3630
 
3590
3631
  // src/providers/transaction-request/storage-slot.ts
3591
3632
  import { arrayify as arrayify5, hexlify as hexlify9 } from "@fuel-ts/utils";
3592
- var getStorageValue = (value) => {
3633
+ var getStorageValue = /* @__PURE__ */ __name((value) => {
3593
3634
  const v = new Uint8Array(32);
3594
3635
  v.set(arrayify5(value));
3595
3636
  return v;
3596
- };
3597
- var storageSlotify = (storageSlot) => {
3637
+ }, "getStorageValue");
3638
+ var storageSlotify = /* @__PURE__ */ __name((storageSlot) => {
3598
3639
  let key;
3599
3640
  let value;
3600
3641
  if (Array.isArray(storageSlot)) {
@@ -3608,10 +3649,13 @@ var storageSlotify = (storageSlot) => {
3608
3649
  key: hexlify9(key),
3609
3650
  value: hexlify9(getStorageValue(value))
3610
3651
  };
3611
- };
3652
+ }, "storageSlotify");
3612
3653
 
3613
3654
  // src/providers/transaction-request/create-transaction-request.ts
3614
3655
  var CreateTransactionRequest = class extends BaseTransactionRequest {
3656
+ static {
3657
+ __name(this, "CreateTransactionRequest");
3658
+ }
3615
3659
  static from(obj) {
3616
3660
  return new this(clone4(obj));
3617
3661
  }
@@ -3713,7 +3757,7 @@ var returnZeroScript = {
3713
3757
  */
3714
3758
  // TODO: Don't use hardcoded scripts: https://github.com/FuelLabs/fuels-ts/issues/281
3715
3759
  bytes: arrayify7("0x24000000"),
3716
- encodeScriptData: () => new Uint8Array(0)
3760
+ encodeScriptData: /* @__PURE__ */ __name(() => new Uint8Array(0), "encodeScriptData")
3717
3761
  };
3718
3762
  var withdrawScript = {
3719
3763
  /*
@@ -3727,11 +3771,14 @@ var withdrawScript = {
3727
3771
  */
3728
3772
  // TODO: Don't use hardcoded scripts: https://github.com/FuelLabs/fuels-ts/issues/281
3729
3773
  bytes: arrayify7("0x5040C0105D44C0064C40001124000000"),
3730
- encodeScriptData: () => new Uint8Array(0)
3774
+ encodeScriptData: /* @__PURE__ */ __name(() => new Uint8Array(0), "encodeScriptData")
3731
3775
  };
3732
3776
 
3733
3777
  // src/providers/transaction-request/script-transaction-request.ts
3734
3778
  var ScriptTransactionRequest = class extends BaseTransactionRequest {
3779
+ static {
3780
+ __name(this, "ScriptTransactionRequest");
3781
+ }
3735
3782
  static from(obj) {
3736
3783
  return new this(clone5(obj));
3737
3784
  }
@@ -3924,7 +3971,7 @@ var ScriptTransactionRequest = class extends BaseTransactionRequest {
3924
3971
  };
3925
3972
 
3926
3973
  // src/providers/transaction-request/upgrade-transaction-request.ts
3927
- import { FuelError as FuelError10 } from "@fuel-ts/errors";
3974
+ import { FuelError as FuelError11 } from "@fuel-ts/errors";
3928
3975
  import { hash } from "@fuel-ts/hasher";
3929
3976
  import {
3930
3977
  TransactionType as TransactionType5,
@@ -3932,9 +3979,12 @@ import {
3932
3979
  } from "@fuel-ts/transactions";
3933
3980
  import { hexlify as hexlify12 } from "@fuel-ts/utils";
3934
3981
  import { clone as clone6 } from "ramda";
3935
- var UpgradeTransactionRequest = class extends BaseTransactionRequest {
3982
+ var UpgradeTransactionRequest = class _UpgradeTransactionRequest extends BaseTransactionRequest {
3983
+ static {
3984
+ __name(this, "UpgradeTransactionRequest");
3985
+ }
3936
3986
  static from(obj) {
3937
- if (obj instanceof UpgradeTransactionRequest) {
3987
+ if (obj instanceof _UpgradeTransactionRequest) {
3938
3988
  return obj;
3939
3989
  }
3940
3990
  return new this(clone6(obj));
@@ -4031,7 +4081,7 @@ var UpgradeTransactionRequest = class extends BaseTransactionRequest {
4031
4081
  }
4032
4082
  };
4033
4083
  } else {
4034
- throw new FuelError10(FuelError10.CODES.NOT_IMPLEMENTED, "Invalid upgrade purpose");
4084
+ throw new FuelError11(FuelError11.CODES.NOT_IMPLEMENTED, "Invalid upgrade purpose");
4035
4085
  }
4036
4086
  return {
4037
4087
  type: TransactionType5.Upgrade,
@@ -4073,7 +4123,7 @@ var UpgradeTransactionRequest = class extends BaseTransactionRequest {
4073
4123
  txBytesSize
4074
4124
  });
4075
4125
  }
4076
- throw new FuelError10(FuelError10.CODES.NOT_IMPLEMENTED, "Invalid upgrade purpose");
4126
+ throw new FuelError11(FuelError11.CODES.NOT_IMPLEMENTED, "Invalid upgrade purpose");
4077
4127
  }
4078
4128
  };
4079
4129
 
@@ -4082,9 +4132,12 @@ import { ZeroBytes32 as ZeroBytes328 } from "@fuel-ts/address/configs";
4082
4132
  import { TransactionType as TransactionType6 } from "@fuel-ts/transactions";
4083
4133
  import { arrayify as arrayify9, hexlify as hexlify13 } from "@fuel-ts/utils";
4084
4134
  import { clone as clone7 } from "ramda";
4085
- var UploadTransactionRequest = class extends BaseTransactionRequest {
4135
+ var UploadTransactionRequest = class _UploadTransactionRequest extends BaseTransactionRequest {
4136
+ static {
4137
+ __name(this, "UploadTransactionRequest");
4138
+ }
4086
4139
  static from(obj) {
4087
- if (obj instanceof UploadTransactionRequest) {
4140
+ if (obj instanceof _UploadTransactionRequest) {
4088
4141
  return obj;
4089
4142
  }
4090
4143
  return new this(clone7(obj));
@@ -4185,12 +4238,15 @@ var UploadTransactionRequest = class extends BaseTransactionRequest {
4185
4238
 
4186
4239
  // src/providers/transaction-request/types.ts
4187
4240
  var AbstractScriptRequest = class {
4241
+ static {
4242
+ __name(this, "AbstractScriptRequest");
4243
+ }
4188
4244
  };
4189
4245
 
4190
4246
  // src/providers/transaction-request/utils.ts
4191
- import { ErrorCode as ErrorCode9, FuelError as FuelError11 } from "@fuel-ts/errors";
4247
+ import { ErrorCode as ErrorCode9, FuelError as FuelError12 } from "@fuel-ts/errors";
4192
4248
  import { TransactionType as TransactionType7 } from "@fuel-ts/transactions";
4193
- var transactionRequestify = (obj) => {
4249
+ var transactionRequestify = /* @__PURE__ */ __name((obj) => {
4194
4250
  if (obj instanceof ScriptTransactionRequest || obj instanceof CreateTransactionRequest || obj instanceof BlobTransactionRequest || obj instanceof UpgradeTransactionRequest || obj instanceof UploadTransactionRequest) {
4195
4251
  return obj;
4196
4252
  }
@@ -4212,27 +4268,30 @@ var transactionRequestify = (obj) => {
4212
4268
  return UploadTransactionRequest.from(obj);
4213
4269
  }
4214
4270
  default: {
4215
- throw new FuelError11(
4271
+ throw new FuelError12(
4216
4272
  ErrorCode9.UNSUPPORTED_TRANSACTION_TYPE,
4217
4273
  `Unsupported transaction type: ${type}.`
4218
4274
  );
4219
4275
  }
4220
4276
  }
4221
- };
4222
- var isTransactionTypeScript = (request2) => request2.type === TransactionType7.Script;
4223
- var isTransactionTypeCreate = (request2) => request2.type === TransactionType7.Create;
4224
- var isTransactionTypeBlob = (request2) => request2.type === TransactionType7.Blob;
4225
- var isTransactionTypeUpgrade = (request2) => request2.type === TransactionType7.Upgrade;
4226
- var isTransactionTypeUpload = (request2) => request2.type === TransactionType7.Upload;
4277
+ }, "transactionRequestify");
4278
+ var isTransactionTypeScript = /* @__PURE__ */ __name((request2) => request2.type === TransactionType7.Script, "isTransactionTypeScript");
4279
+ var isTransactionTypeCreate = /* @__PURE__ */ __name((request2) => request2.type === TransactionType7.Create, "isTransactionTypeCreate");
4280
+ var isTransactionTypeBlob = /* @__PURE__ */ __name((request2) => request2.type === TransactionType7.Blob, "isTransactionTypeBlob");
4281
+ var isTransactionTypeUpgrade = /* @__PURE__ */ __name((request2) => request2.type === TransactionType7.Upgrade, "isTransactionTypeUpgrade");
4282
+ var isTransactionTypeUpload = /* @__PURE__ */ __name((request2) => request2.type === TransactionType7.Upload, "isTransactionTypeUpload");
4227
4283
 
4228
4284
  // src/providers/resource-cache.ts
4229
4285
  var cache = /* @__PURE__ */ new Map();
4230
4286
  var ResourceCache = class {
4287
+ static {
4288
+ __name(this, "ResourceCache");
4289
+ }
4231
4290
  ttl;
4232
4291
  constructor(ttl) {
4233
4292
  this.ttl = ttl;
4234
4293
  if (typeof ttl !== "number" || this.ttl <= 0) {
4235
- throw new FuelError12(
4294
+ throw new FuelError13(
4236
4295
  ErrorCode10.INVALID_TTL,
4237
4296
  `Invalid TTL: ${this.ttl}. Use a value greater than zero.`
4238
4297
  );
@@ -4317,7 +4376,7 @@ var ResourceCache = class {
4317
4376
  };
4318
4377
 
4319
4378
  // src/providers/transaction-response/transaction-response.ts
4320
- import { ErrorCode as ErrorCode14, FuelError as FuelError16 } from "@fuel-ts/errors";
4379
+ import { ErrorCode as ErrorCode14, FuelError as FuelError17 } from "@fuel-ts/errors";
4321
4380
  import { bn as bn16 } from "@fuel-ts/math";
4322
4381
  import { OutputType as OutputType8, TransactionCoder as TransactionCoder4, TxPointerCoder } from "@fuel-ts/transactions";
4323
4382
  import { arrayify as arrayify11, assertUnreachable } from "@fuel-ts/utils";
@@ -4331,7 +4390,7 @@ import { DateTime, hexlify as hexlify15 } from "@fuel-ts/utils";
4331
4390
  import { bn as bn12 } from "@fuel-ts/math";
4332
4391
  import { PolicyType as PolicyType2, TransactionCoder as TransactionCoder3, TransactionType as TransactionType8 } from "@fuel-ts/transactions";
4333
4392
  import { arrayify as arrayify10 } from "@fuel-ts/utils";
4334
- var calculateTXFeeForSummary = (params) => {
4393
+ var calculateTXFeeForSummary = /* @__PURE__ */ __name((params) => {
4335
4394
  const {
4336
4395
  gasPrice,
4337
4396
  rawPayload,
@@ -4391,43 +4450,51 @@ var calculateTXFeeForSummary = (params) => {
4391
4450
  tip
4392
4451
  });
4393
4452
  return maxFee;
4394
- };
4453
+ }, "calculateTXFeeForSummary");
4395
4454
 
4396
4455
  // src/providers/transaction-summary/operations.ts
4397
4456
  import { ZeroBytes32 as ZeroBytes329 } from "@fuel-ts/address/configs";
4398
- import { ErrorCode as ErrorCode12, FuelError as FuelError14 } from "@fuel-ts/errors";
4457
+ import { ErrorCode as ErrorCode12, FuelError as FuelError15 } from "@fuel-ts/errors";
4399
4458
  import { bn as bn13 } from "@fuel-ts/math";
4400
4459
  import { ReceiptType as ReceiptType5, TransactionType as TransactionType9 } from "@fuel-ts/transactions";
4401
4460
 
4402
4461
  // src/providers/transaction-summary/input.ts
4403
- import { ErrorCode as ErrorCode11, FuelError as FuelError13 } from "@fuel-ts/errors";
4462
+ import { ErrorCode as ErrorCode11, FuelError as FuelError14 } from "@fuel-ts/errors";
4404
4463
  import { BN } from "@fuel-ts/math";
4405
4464
  import { InputType as InputType6 } from "@fuel-ts/transactions";
4406
4465
  function getInputsByTypes(inputs, types) {
4407
4466
  return inputs.filter((i) => types.includes(i.type));
4408
4467
  }
4468
+ __name(getInputsByTypes, "getInputsByTypes");
4409
4469
  function getInputsByType(inputs, type) {
4410
4470
  return inputs.filter((i) => i.type === type);
4411
4471
  }
4472
+ __name(getInputsByType, "getInputsByType");
4412
4473
  function getInputsCoin(inputs) {
4413
4474
  return getInputsByType(inputs, InputType6.Coin);
4414
4475
  }
4476
+ __name(getInputsCoin, "getInputsCoin");
4415
4477
  function getInputsMessage(inputs) {
4416
4478
  return getInputsByType(inputs, InputType6.Message);
4417
4479
  }
4480
+ __name(getInputsMessage, "getInputsMessage");
4418
4481
  function getInputsCoinAndMessage(inputs) {
4419
4482
  return getInputsByTypes(inputs, [InputType6.Coin, InputType6.Message]);
4420
4483
  }
4484
+ __name(getInputsCoinAndMessage, "getInputsCoinAndMessage");
4421
4485
  function isInputCoin(input) {
4422
4486
  return input.type === InputType6.Coin;
4423
4487
  }
4488
+ __name(isInputCoin, "isInputCoin");
4424
4489
  function getInputsContract(inputs) {
4425
4490
  return getInputsByType(inputs, InputType6.Contract);
4426
4491
  }
4492
+ __name(getInputsContract, "getInputsContract");
4427
4493
  function findCoinInput(inputs, assetId) {
4428
4494
  const coinInputs = getInputsCoin(inputs);
4429
4495
  return coinInputs.find((i) => i.assetId === assetId);
4430
4496
  }
4497
+ __name(findCoinInput, "findCoinInput");
4431
4498
  function aggregateInputsAmountsByAssetAndOwner(inputs, baseAssetId) {
4432
4499
  const aggregated = /* @__PURE__ */ new Map();
4433
4500
  getInputsCoinAndMessage(inputs).forEach((input) => {
@@ -4447,9 +4514,11 @@ function aggregateInputsAmountsByAssetAndOwner(inputs, baseAssetId) {
4447
4514
  });
4448
4515
  return aggregated;
4449
4516
  }
4517
+ __name(aggregateInputsAmountsByAssetAndOwner, "aggregateInputsAmountsByAssetAndOwner");
4450
4518
  function findMessageInput(inputs) {
4451
4519
  return getInputsMessage(inputs)?.[0];
4452
4520
  }
4521
+ __name(findMessageInput, "findMessageInput");
4453
4522
  function getInputFromAssetId(inputs, assetId, isBaseAsset = false) {
4454
4523
  const coinInput = findCoinInput(inputs, assetId);
4455
4524
  if (coinInput) {
@@ -4460,6 +4529,7 @@ function getInputFromAssetId(inputs, assetId, isBaseAsset = false) {
4460
4529
  }
4461
4530
  return void 0;
4462
4531
  }
4532
+ __name(getInputFromAssetId, "getInputFromAssetId");
4463
4533
  function getInputContractFromIndex(inputs, inputIndex) {
4464
4534
  if (inputIndex == null) {
4465
4535
  return void 0;
@@ -4469,13 +4539,14 @@ function getInputContractFromIndex(inputs, inputIndex) {
4469
4539
  return void 0;
4470
4540
  }
4471
4541
  if (contractInput.type !== InputType6.Contract) {
4472
- throw new FuelError13(
4542
+ throw new FuelError14(
4473
4543
  ErrorCode11.INVALID_TRANSACTION_INPUT,
4474
4544
  `Contract input should be of type 'contract'.`
4475
4545
  );
4476
4546
  }
4477
4547
  return contractInput;
4478
4548
  }
4549
+ __name(getInputContractFromIndex, "getInputContractFromIndex");
4479
4550
  function getInputAccountAddress(input) {
4480
4551
  if (input.type === InputType6.Coin) {
4481
4552
  return input.owner.toString();
@@ -4485,27 +4556,34 @@ function getInputAccountAddress(input) {
4485
4556
  }
4486
4557
  return "";
4487
4558
  }
4559
+ __name(getInputAccountAddress, "getInputAccountAddress");
4488
4560
 
4489
4561
  // src/providers/transaction-summary/output.ts
4490
4562
  import { OutputType as OutputType7 } from "@fuel-ts/transactions";
4491
4563
  function getOutputsByType(outputs, type) {
4492
4564
  return outputs.filter((o) => o.type === type);
4493
4565
  }
4566
+ __name(getOutputsByType, "getOutputsByType");
4494
4567
  function getOutputsContractCreated(outputs) {
4495
4568
  return getOutputsByType(outputs, OutputType7.ContractCreated);
4496
4569
  }
4570
+ __name(getOutputsContractCreated, "getOutputsContractCreated");
4497
4571
  function getOutputsCoin(outputs) {
4498
4572
  return getOutputsByType(outputs, OutputType7.Coin);
4499
4573
  }
4574
+ __name(getOutputsCoin, "getOutputsCoin");
4500
4575
  function getOutputsChange(outputs) {
4501
4576
  return getOutputsByType(outputs, OutputType7.Change);
4502
4577
  }
4578
+ __name(getOutputsChange, "getOutputsChange");
4503
4579
  function getOutputsContract(outputs) {
4504
4580
  return getOutputsByType(outputs, OutputType7.Contract);
4505
4581
  }
4582
+ __name(getOutputsContract, "getOutputsContract");
4506
4583
  function getOutputsVariable(outputs) {
4507
4584
  return getOutputsByType(outputs, OutputType7.Variable);
4508
4585
  }
4586
+ __name(getOutputsVariable, "getOutputsVariable");
4509
4587
 
4510
4588
  // src/providers/transaction-summary/types.ts
4511
4589
  var TransactionTypeName = /* @__PURE__ */ ((TransactionTypeName2) => {
@@ -4548,6 +4626,7 @@ var ChainName = /* @__PURE__ */ ((ChainName2) => {
4548
4626
  function getReceiptsByType(receipts, type) {
4549
4627
  return (receipts ?? []).filter((r) => r.type === type);
4550
4628
  }
4629
+ __name(getReceiptsByType, "getReceiptsByType");
4551
4630
  function getTransactionTypeName(transactionType) {
4552
4631
  switch (transactionType) {
4553
4632
  case TransactionType9.Mint:
@@ -4563,43 +4642,54 @@ function getTransactionTypeName(transactionType) {
4563
4642
  case TransactionType9.Upload:
4564
4643
  return "Upload" /* Upload */;
4565
4644
  default:
4566
- throw new FuelError14(
4645
+ throw new FuelError15(
4567
4646
  ErrorCode12.UNSUPPORTED_TRANSACTION_TYPE,
4568
4647
  `Unsupported transaction type: ${transactionType}.`
4569
4648
  );
4570
4649
  }
4571
4650
  }
4651
+ __name(getTransactionTypeName, "getTransactionTypeName");
4572
4652
  function isType(transactionType, type) {
4573
4653
  const txType = getTransactionTypeName(transactionType);
4574
4654
  return txType === type;
4575
4655
  }
4656
+ __name(isType, "isType");
4576
4657
  function isTypeMint(transactionType) {
4577
4658
  return isType(transactionType, "Mint" /* Mint */);
4578
4659
  }
4660
+ __name(isTypeMint, "isTypeMint");
4579
4661
  function isTypeCreate(transactionType) {
4580
4662
  return isType(transactionType, "Create" /* Create */);
4581
4663
  }
4664
+ __name(isTypeCreate, "isTypeCreate");
4582
4665
  function isTypeScript(transactionType) {
4583
4666
  return isType(transactionType, "Script" /* Script */);
4584
4667
  }
4668
+ __name(isTypeScript, "isTypeScript");
4585
4669
  function isTypeUpgrade(transactionType) {
4586
4670
  return isType(transactionType, "Upgrade" /* Upgrade */);
4587
4671
  }
4672
+ __name(isTypeUpgrade, "isTypeUpgrade");
4588
4673
  function isTypeUpload(transactionType) {
4589
4674
  return isType(transactionType, "Upload" /* Upload */);
4590
4675
  }
4676
+ __name(isTypeUpload, "isTypeUpload");
4591
4677
  function isTypeBlob(transactionType) {
4592
4678
  return isType(transactionType, "Blob" /* Blob */);
4593
4679
  }
4680
+ __name(isTypeBlob, "isTypeBlob");
4594
4681
  function hasSameAssetId(a) {
4595
4682
  return (b) => a.assetId === b.assetId;
4596
4683
  }
4684
+ __name(hasSameAssetId, "hasSameAssetId");
4597
4685
  function getReceiptsCall(receipts) {
4598
4686
  return getReceiptsByType(receipts, ReceiptType5.Call);
4599
4687
  }
4688
+ __name(getReceiptsCall, "getReceiptsCall");
4600
4689
  function getReceiptsMessageOut(receipts) {
4601
4690
  return getReceiptsByType(receipts, ReceiptType5.MessageOut);
4602
4691
  }
4692
+ __name(getReceiptsMessageOut, "getReceiptsMessageOut");
4603
4693
  function mergeAssets(op1, op2) {
4604
4694
  const assets1 = op1.assetsSent || [];
4605
4695
  const assets2 = op2.assetsSent || [];
@@ -4617,21 +4707,25 @@ function mergeAssets(op1, op2) {
4617
4707
  });
4618
4708
  return Array.from(assetMap.values());
4619
4709
  }
4710
+ __name(mergeAssets, "mergeAssets");
4620
4711
  function isSameOperation(a, b) {
4621
4712
  return a.name === b.name && a.from?.address === b.from?.address && a.to?.address === b.to?.address && a.from?.type === b.from?.type && a.to?.type === b.to?.type;
4622
4713
  }
4714
+ __name(isSameOperation, "isSameOperation");
4623
4715
  function mergeAssetsSent(existing, toAdd) {
4624
4716
  if (!toAdd.assetsSent?.length) {
4625
4717
  return existing.assetsSent;
4626
4718
  }
4627
4719
  return existing.assetsSent?.length ? mergeAssets(existing, toAdd) : toAdd.assetsSent;
4628
4720
  }
4721
+ __name(mergeAssetsSent, "mergeAssetsSent");
4629
4722
  function mergeCalls(existing, toAdd) {
4630
4723
  if (!toAdd.calls?.length) {
4631
4724
  return existing.calls;
4632
4725
  }
4633
4726
  return [...existing.calls || [], ...toAdd.calls];
4634
4727
  }
4728
+ __name(mergeCalls, "mergeCalls");
4635
4729
  function mergeOperations(existing, toAdd) {
4636
4730
  return {
4637
4731
  ...existing,
@@ -4643,6 +4737,7 @@ function mergeOperations(existing, toAdd) {
4643
4737
  ]
4644
4738
  };
4645
4739
  }
4740
+ __name(mergeOperations, "mergeOperations");
4646
4741
  function addOperation(operations, toAdd) {
4647
4742
  const existingIndex = operations.findIndex((op) => isSameOperation(op, toAdd));
4648
4743
  if (existingIndex === -1) {
@@ -4650,9 +4745,11 @@ function addOperation(operations, toAdd) {
4650
4745
  }
4651
4746
  return operations.map((op, index) => index === existingIndex ? mergeOperations(op, toAdd) : op);
4652
4747
  }
4748
+ __name(addOperation, "addOperation");
4653
4749
  function getReceiptsTransferOut(receipts) {
4654
4750
  return getReceiptsByType(receipts, ReceiptType5.TransferOut);
4655
4751
  }
4752
+ __name(getReceiptsTransferOut, "getReceiptsTransferOut");
4656
4753
  function getWithdrawFromFuelOperations({
4657
4754
  inputs,
4658
4755
  receipts,
@@ -4691,6 +4788,7 @@ function getWithdrawFromFuelOperations({
4691
4788
  );
4692
4789
  return withdrawFromFuelOperations;
4693
4790
  }
4791
+ __name(getWithdrawFromFuelOperations, "getWithdrawFromFuelOperations");
4694
4792
  function getContractCalls(contractInput, abiMap, _receipt, _rawPayload, _maxInputs) {
4695
4793
  const abi = abiMap?.[contractInput.contractID];
4696
4794
  if (!abi) {
@@ -4698,6 +4796,7 @@ function getContractCalls(contractInput, abiMap, _receipt, _rawPayload, _maxInpu
4698
4796
  }
4699
4797
  return [];
4700
4798
  }
4799
+ __name(getContractCalls, "getContractCalls");
4701
4800
  function getAssetsSent(receipt) {
4702
4801
  return receipt.amount?.isZero() ? void 0 : [
4703
4802
  {
@@ -4706,6 +4805,7 @@ function getAssetsSent(receipt) {
4706
4805
  }
4707
4806
  ];
4708
4807
  }
4808
+ __name(getAssetsSent, "getAssetsSent");
4709
4809
  function processCallReceipt(receipt, contractInput, inputs, abiMap, rawPayload, maxInputs, baseAssetId) {
4710
4810
  const assetId = receipt.assetId === ZeroBytes329 ? baseAssetId : receipt.assetId;
4711
4811
  const input = getInputFromAssetId(inputs, assetId, assetId === baseAssetId);
@@ -4731,6 +4831,7 @@ function processCallReceipt(receipt, contractInput, inputs, abiMap, rawPayload,
4731
4831
  }
4732
4832
  ];
4733
4833
  }
4834
+ __name(processCallReceipt, "processCallReceipt");
4734
4835
  function getContractCallOperations({
4735
4836
  inputs,
4736
4837
  outputs,
@@ -4760,6 +4861,7 @@ function getContractCallOperations({
4760
4861
  );
4761
4862
  });
4762
4863
  }
4864
+ __name(getContractCallOperations, "getContractCallOperations");
4763
4865
  function extractTransferOperationFromReceipt(receipt, contractInputs, changeOutputs) {
4764
4866
  const { to: toAddress, assetId, amount } = receipt;
4765
4867
  let { id: fromAddress } = receipt;
@@ -4788,6 +4890,7 @@ function extractTransferOperationFromReceipt(receipt, contractInputs, changeOutp
4788
4890
  receipts: [receipt]
4789
4891
  };
4790
4892
  }
4893
+ __name(extractTransferOperationFromReceipt, "extractTransferOperationFromReceipt");
4791
4894
  function getTransferOperations({
4792
4895
  inputs,
4793
4896
  outputs,
@@ -4842,6 +4945,7 @@ function getTransferOperations({
4842
4945
  });
4843
4946
  return operations;
4844
4947
  }
4948
+ __name(getTransferOperations, "getTransferOperations");
4845
4949
  function getPayProducerOperations(outputs) {
4846
4950
  const coinOutputs = getOutputsCoin(outputs);
4847
4951
  const payProducerOperations = coinOutputs.reduce((prev, output) => {
@@ -4866,6 +4970,7 @@ function getPayProducerOperations(outputs) {
4866
4970
  }, []);
4867
4971
  return payProducerOperations;
4868
4972
  }
4973
+ __name(getPayProducerOperations, "getPayProducerOperations");
4869
4974
  function getContractCreatedOperations({ inputs, outputs }) {
4870
4975
  const contractCreatedOutputs = getOutputsContractCreated(outputs);
4871
4976
  const input = getInputsCoinAndMessage(inputs)[0];
@@ -4886,6 +4991,7 @@ function getContractCreatedOperations({ inputs, outputs }) {
4886
4991
  }, []);
4887
4992
  return contractCreatedOperations;
4888
4993
  }
4994
+ __name(getContractCreatedOperations, "getContractCreatedOperations");
4889
4995
  function getOperations({
4890
4996
  transactionType,
4891
4997
  inputs,
@@ -4916,11 +5022,12 @@ function getOperations({
4916
5022
  }
4917
5023
  return [...getPayProducerOperations(outputs)];
4918
5024
  }
5025
+ __name(getOperations, "getOperations");
4919
5026
 
4920
5027
  // src/providers/transaction-summary/receipt.ts
4921
5028
  import { ReceiptType as ReceiptType6 } from "@fuel-ts/transactions";
4922
- var processGqlReceipt = (gqlReceipt) => deserializeReceipt(gqlReceipt);
4923
- var extractMintedAssetsFromReceipts = (receipts) => {
5029
+ var processGqlReceipt = /* @__PURE__ */ __name((gqlReceipt) => deserializeReceipt(gqlReceipt), "processGqlReceipt");
5030
+ var extractMintedAssetsFromReceipts = /* @__PURE__ */ __name((receipts) => {
4924
5031
  const mintedAssets = [];
4925
5032
  receipts.forEach((receipt) => {
4926
5033
  if (receipt.type === ReceiptType6.Mint) {
@@ -4933,8 +5040,8 @@ var extractMintedAssetsFromReceipts = (receipts) => {
4933
5040
  }
4934
5041
  });
4935
5042
  return mintedAssets;
4936
- };
4937
- var extractBurnedAssetsFromReceipts = (receipts) => {
5043
+ }, "extractMintedAssetsFromReceipts");
5044
+ var extractBurnedAssetsFromReceipts = /* @__PURE__ */ __name((receipts) => {
4938
5045
  const burnedAssets = [];
4939
5046
  receipts.forEach((receipt) => {
4940
5047
  if (receipt.type === ReceiptType6.Burn) {
@@ -4947,12 +5054,12 @@ var extractBurnedAssetsFromReceipts = (receipts) => {
4947
5054
  }
4948
5055
  });
4949
5056
  return burnedAssets;
4950
- };
5057
+ }, "extractBurnedAssetsFromReceipts");
4951
5058
 
4952
5059
  // src/providers/transaction-summary/status.ts
4953
- import { ErrorCode as ErrorCode13, FuelError as FuelError15 } from "@fuel-ts/errors";
5060
+ import { ErrorCode as ErrorCode13, FuelError as FuelError16 } from "@fuel-ts/errors";
4954
5061
  import { bn as bn14 } from "@fuel-ts/math";
4955
- var getTransactionStatusName = (gqlStatus) => {
5062
+ var getTransactionStatusName = /* @__PURE__ */ __name((gqlStatus) => {
4956
5063
  switch (gqlStatus) {
4957
5064
  case "FailureStatus":
4958
5065
  return "failure" /* failure */;
@@ -4963,13 +5070,13 @@ var getTransactionStatusName = (gqlStatus) => {
4963
5070
  case "SqueezedOutStatus":
4964
5071
  return "squeezedout" /* squeezedout */;
4965
5072
  default:
4966
- throw new FuelError15(
5073
+ throw new FuelError16(
4967
5074
  ErrorCode13.INVALID_TRANSACTION_STATUS,
4968
5075
  `Invalid transaction status: ${gqlStatus}.`
4969
5076
  );
4970
5077
  }
4971
- };
4972
- var processGraphqlStatus = (gqlTransactionStatus) => {
5078
+ }, "getTransactionStatusName");
5079
+ var processGraphqlStatus = /* @__PURE__ */ __name((gqlTransactionStatus) => {
4973
5080
  let time;
4974
5081
  let blockId;
4975
5082
  let status;
@@ -5013,8 +5120,8 @@ var processGraphqlStatus = (gqlTransactionStatus) => {
5013
5120
  isStatusPending
5014
5121
  };
5015
5122
  return processedGraphqlStatus;
5016
- };
5017
- var getTotalFeeFromStatus = (status) => status && "totalFee" in status ? bn14(status.totalFee) : void 0;
5123
+ }, "processGraphqlStatus");
5124
+ var getTotalFeeFromStatus = /* @__PURE__ */ __name((status) => status && "totalFee" in status ? bn14(status.totalFee) : void 0, "getTotalFeeFromStatus");
5018
5125
 
5019
5126
  // src/providers/transaction-summary/assemble-transaction-summary.ts
5020
5127
  function assembleTransactionSummary(params) {
@@ -5094,21 +5201,35 @@ function assembleTransactionSummary(params) {
5094
5201
  };
5095
5202
  return transactionSummary;
5096
5203
  }
5204
+ __name(assembleTransactionSummary, "assembleTransactionSummary");
5097
5205
 
5098
5206
  // src/providers/transaction-response/getDecodedLogs.ts
5099
5207
  import { Interface as Interface2, BigNumberCoder } from "@fuel-ts/abi-coder";
5208
+ import { ZeroBytes32 as ZeroBytes3210 } from "@fuel-ts/address/configs";
5100
5209
  import { ReceiptType as ReceiptType7 } from "@fuel-ts/transactions";
5101
5210
  function getDecodedLogs(receipts, mainAbi, externalAbis = {}) {
5211
+ let mainContract = "";
5212
+ if (mainAbi.programType === "contract") {
5213
+ const firstCallReceipt = receipts.find(
5214
+ (r) => r.type === ReceiptType7.Call && r.id === ZeroBytes3210
5215
+ );
5216
+ mainContract = firstCallReceipt.to;
5217
+ }
5102
5218
  return receipts.reduce((logs, receipt) => {
5103
5219
  if (receipt.type === ReceiptType7.LogData || receipt.type === ReceiptType7.Log) {
5104
- const interfaceToUse = new Interface2(externalAbis[receipt.id] || mainAbi);
5105
- const data = receipt.type === ReceiptType7.Log ? new BigNumberCoder("u64").encode(receipt.ra) : receipt.data;
5106
- const [decodedLog] = interfaceToUse.decodeLog(data, receipt.rb.toString());
5107
- logs.push(decodedLog);
5220
+ const isLogFromMainAbi = receipt.id === ZeroBytes3210 || mainContract === receipt.id;
5221
+ const isDecodable = isLogFromMainAbi || externalAbis[receipt.id];
5222
+ if (isDecodable) {
5223
+ const interfaceToUse = isLogFromMainAbi ? new Interface2(mainAbi) : new Interface2(externalAbis[receipt.id]);
5224
+ const data = receipt.type === ReceiptType7.Log ? new BigNumberCoder("u64").encode(receipt.ra) : receipt.data;
5225
+ const [decodedLog] = interfaceToUse.decodeLog(data, receipt.rb.toString());
5226
+ logs.push(decodedLog);
5227
+ }
5108
5228
  }
5109
5229
  return logs;
5110
5230
  }, []);
5111
5231
  }
5232
+ __name(getDecodedLogs, "getDecodedLogs");
5112
5233
 
5113
5234
  // src/providers/transaction-response/transaction-response.ts
5114
5235
  function mapGqlOutputsToTxOutputs(outputs) {
@@ -5141,7 +5262,8 @@ function mapGqlOutputsToTxOutputs(outputs) {
5141
5262
  }
5142
5263
  });
5143
5264
  }
5144
- var TransactionResponse = class {
5265
+ __name(mapGqlOutputsToTxOutputs, "mapGqlOutputsToTxOutputs");
5266
+ var TransactionResponse = class _TransactionResponse {
5145
5267
  /**
5146
5268
  * Constructor for `TransactionResponse`.
5147
5269
  *
@@ -5156,6 +5278,9 @@ var TransactionResponse = class {
5156
5278
  this.request = typeof tx === "string" ? void 0 : tx;
5157
5279
  this.waitForResult = this.waitForResult.bind(this);
5158
5280
  }
5281
+ static {
5282
+ __name(this, "TransactionResponse");
5283
+ }
5159
5284
  /** Transaction ID */
5160
5285
  id;
5161
5286
  /** Current provider */
@@ -5177,7 +5302,7 @@ var TransactionResponse = class {
5177
5302
  */
5178
5303
  static async create(id, provider, abis) {
5179
5304
  const chainId = await provider.getChainId();
5180
- const response = new TransactionResponse(id, provider, chainId, abis);
5305
+ const response = new _TransactionResponse(id, provider, chainId, abis);
5181
5306
  await response.fetch();
5182
5307
  return response;
5183
5308
  }
@@ -5309,7 +5434,7 @@ var TransactionResponse = class {
5309
5434
  this.status = statusChange;
5310
5435
  if (statusChange.type === "SqueezedOutStatus") {
5311
5436
  this.unsetResourceCache();
5312
- throw new FuelError16(
5437
+ throw new FuelError17(
5313
5438
  ErrorCode14.TRANSACTION_SQUEEZED_OUT,
5314
5439
  `Transaction Squeezed Out with reason: ${statusChange.reason}`
5315
5440
  );
@@ -5394,6 +5519,7 @@ function getWaitDelay(options, retryAttemptNum) {
5394
5519
  return 2 ** (retryAttemptNum - 1) * duration;
5395
5520
  }
5396
5521
  }
5522
+ __name(getWaitDelay, "getWaitDelay");
5397
5523
  function autoRetryFetch(fetchFn, options, retryAttemptNum = 0) {
5398
5524
  if (options === void 0) {
5399
5525
  return fetchFn;
@@ -5416,9 +5542,10 @@ function autoRetryFetch(fetchFn, options, retryAttemptNum = 0) {
5416
5542
  }
5417
5543
  };
5418
5544
  }
5545
+ __name(autoRetryFetch, "autoRetryFetch");
5419
5546
 
5420
5547
  // src/providers/utils/helpers.ts
5421
- var adjustResourcesToExclude = (params) => {
5548
+ var adjustResourcesToExclude = /* @__PURE__ */ __name((params) => {
5422
5549
  const { userInput, cached, maxInputs } = params;
5423
5550
  const final = { ...userInput };
5424
5551
  let total = final.utxos.length + final.messages.length;
@@ -5431,33 +5558,33 @@ var adjustResourcesToExclude = (params) => {
5431
5558
  final.messages = [...final.messages, ...cached.messages.slice(0, maxInputs - total)];
5432
5559
  }
5433
5560
  return final;
5434
- };
5561
+ }, "adjustResourcesToExclude");
5435
5562
 
5436
5563
  // src/providers/utils/validate-pagination-args.ts
5437
- import { FuelError as FuelError17, ErrorCode as ErrorCode15 } from "@fuel-ts/errors";
5438
- var validatePaginationArgs = (params) => {
5564
+ import { FuelError as FuelError18, ErrorCode as ErrorCode15 } from "@fuel-ts/errors";
5565
+ var validatePaginationArgs = /* @__PURE__ */ __name((params) => {
5439
5566
  const { paginationLimit, inputArgs = {} } = params;
5440
5567
  const { first, last, after, before } = inputArgs;
5441
5568
  if (after && before) {
5442
- throw new FuelError17(
5569
+ throw new FuelError18(
5443
5570
  ErrorCode15.INVALID_INPUT_PARAMETERS,
5444
5571
  'Pagination arguments "after" and "before" cannot be used together'
5445
5572
  );
5446
5573
  }
5447
5574
  if ((first || 0) > paginationLimit || (last || 0) > paginationLimit) {
5448
- throw new FuelError17(
5575
+ throw new FuelError18(
5449
5576
  ErrorCode15.INVALID_INPUT_PARAMETERS,
5450
5577
  `Pagination limit for this query cannot exceed ${paginationLimit} items`
5451
5578
  );
5452
5579
  }
5453
5580
  if (first && before) {
5454
- throw new FuelError17(
5581
+ throw new FuelError18(
5455
5582
  ErrorCode15.INVALID_INPUT_PARAMETERS,
5456
5583
  'The use of pagination argument "first" with "before" is not supported'
5457
5584
  );
5458
5585
  }
5459
5586
  if (last && after) {
5460
- throw new FuelError17(
5587
+ throw new FuelError18(
5461
5588
  ErrorCode15.INVALID_INPUT_PARAMETERS,
5462
5589
  'The use of pagination argument "last" with "after" is not supported'
5463
5590
  );
@@ -5466,18 +5593,71 @@ var validatePaginationArgs = (params) => {
5466
5593
  inputArgs.first = paginationLimit;
5467
5594
  }
5468
5595
  return inputArgs;
5469
- };
5596
+ }, "validatePaginationArgs");
5470
5597
 
5471
5598
  // src/providers/provider.ts
5472
5599
  var MAX_RETRIES = 10;
5473
5600
  var RESOURCES_PAGE_SIZE_LIMIT = 512;
5474
5601
  var TRANSACTIONS_PAGE_SIZE_LIMIT = 60;
5475
5602
  var BALANCES_PAGE_SIZE_LIMIT = 100;
5603
+ var NON_PAGINATED_BALANCES_SIZE = 1e4;
5476
5604
  var BLOCKS_PAGE_SIZE_LIMIT = 5;
5477
5605
  var DEFAULT_RESOURCE_CACHE_TTL = 2e4;
5478
5606
  var GAS_USED_MODIFIER = 1.2;
5479
- var _cacheInputs, cacheInputs_fn;
5480
- var _Provider = class {
5607
+ var Provider = class _Provider {
5608
+ static {
5609
+ __name(this, "Provider");
5610
+ }
5611
+ operations;
5612
+ cache;
5613
+ /** @hidden */
5614
+ static clearChainAndNodeCaches() {
5615
+ _Provider.inflightFetchChainAndNodeInfoRequests = {};
5616
+ _Provider.nodeInfoCache = {};
5617
+ _Provider.chainInfoCache = {};
5618
+ }
5619
+ /** @hidden */
5620
+ url;
5621
+ /** @hidden */
5622
+ urlWithoutAuth;
5623
+ /** @hidden */
5624
+ static inflightFetchChainAndNodeInfoRequests = {};
5625
+ /** @hidden */
5626
+ static chainInfoCache = {};
5627
+ /** @hidden */
5628
+ static nodeInfoCache = {};
5629
+ /** @hidden */
5630
+ static incompatibleNodeVersionMessage = "";
5631
+ /** @hidden */
5632
+ consensusParametersTimestamp;
5633
+ options = {
5634
+ timeout: void 0,
5635
+ resourceCacheTTL: void 0,
5636
+ fetch: void 0,
5637
+ retryOptions: void 0,
5638
+ headers: void 0,
5639
+ cache: void 0
5640
+ };
5641
+ /**
5642
+ * @hidden
5643
+ */
5644
+ static getFetchFn(options) {
5645
+ const { retryOptions, timeout, headers } = options;
5646
+ return autoRetryFetch(async (...args) => {
5647
+ const url = args[0];
5648
+ const request2 = args[1];
5649
+ const signal = timeout ? AbortSignal.timeout(timeout) : void 0;
5650
+ let fullRequest = {
5651
+ ...request2,
5652
+ signal,
5653
+ headers: { ...request2?.headers, ...headers }
5654
+ };
5655
+ if (options.requestMiddleware) {
5656
+ fullRequest = await options.requestMiddleware(fullRequest);
5657
+ }
5658
+ return options.fetch ? options.fetch(url, fullRequest, options) : fetch(url, fullRequest);
5659
+ }, retryOptions);
5660
+ }
5481
5661
  /**
5482
5662
  * Constructor to initialize a Provider.
5483
5663
  *
@@ -5486,31 +5666,6 @@ var _Provider = class {
5486
5666
  * @hidden
5487
5667
  */
5488
5668
  constructor(url, options = {}) {
5489
- /**
5490
- * @hidden
5491
- */
5492
- __privateAdd(this, _cacheInputs);
5493
- __publicField(this, "operations");
5494
- __publicField(this, "cache");
5495
- /** @hidden */
5496
- __publicField(this, "url");
5497
- /** @hidden */
5498
- __publicField(this, "urlWithoutAuth");
5499
- /** @hidden */
5500
- __publicField(this, "features", {
5501
- balancePagination: false,
5502
- amount128: false
5503
- });
5504
- /** @hidden */
5505
- __publicField(this, "consensusParametersTimestamp");
5506
- __publicField(this, "options", {
5507
- timeout: void 0,
5508
- resourceCacheTTL: void 0,
5509
- fetch: void 0,
5510
- retryOptions: void 0,
5511
- headers: void 0,
5512
- cache: void 0
5513
- });
5514
5669
  const { url: rawUrl, urlWithoutAuth, headers: authHeaders } = _Provider.extractBasicAuth(url);
5515
5670
  this.url = rawUrl;
5516
5671
  this.urlWithoutAuth = urlWithoutAuth;
@@ -5540,37 +5695,12 @@ var _Provider = class {
5540
5695
  this.cache = new ResourceCache(DEFAULT_RESOURCE_CACHE_TTL);
5541
5696
  }
5542
5697
  }
5543
- /** @hidden */
5544
- static clearChainAndNodeCaches() {
5545
- _Provider.nodeInfoCache = {};
5546
- _Provider.chainInfoCache = {};
5547
- }
5548
- /**
5549
- * @hidden
5550
- */
5551
- static getFetchFn(options) {
5552
- const { retryOptions, timeout, headers } = options;
5553
- return autoRetryFetch(async (...args) => {
5554
- const url = args[0];
5555
- const request2 = args[1];
5556
- const signal = timeout ? AbortSignal.timeout(timeout) : void 0;
5557
- let fullRequest = {
5558
- ...request2,
5559
- signal,
5560
- headers: { ...request2?.headers, ...headers }
5561
- };
5562
- if (options.requestMiddleware) {
5563
- fullRequest = await options.requestMiddleware(fullRequest);
5564
- }
5565
- return options.fetch ? options.fetch(url, fullRequest, options) : fetch(url, fullRequest);
5566
- }, retryOptions);
5567
- }
5568
5698
  static extractBasicAuth(url) {
5569
5699
  let parsedUrl;
5570
5700
  try {
5571
5701
  parsedUrl = new URL(url);
5572
5702
  } catch (error) {
5573
- throw new FuelError18(FuelError18.CODES.INVALID_URL, "Invalid URL provided.", { url }, error);
5703
+ throw new FuelError19(FuelError19.CODES.INVALID_URL, "Invalid URL provided.", { url }, error);
5574
5704
  }
5575
5705
  const username = parsedUrl.username;
5576
5706
  const password = parsedUrl.password;
@@ -5588,8 +5718,7 @@ var _Provider = class {
5588
5718
  * Initialize Provider async stuff
5589
5719
  */
5590
5720
  async init() {
5591
- const { nodeInfo } = await this.fetchChainAndNodeInfo();
5592
- this.setupFeatures(nodeInfo.nodeVersion);
5721
+ await this.fetchChainAndNodeInfo();
5593
5722
  return this;
5594
5723
  }
5595
5724
  /**
@@ -5659,13 +5788,24 @@ var _Provider = class {
5659
5788
  throw new Error(`Jumps to the catch block and re-fetch`);
5660
5789
  }
5661
5790
  } catch (_err) {
5791
+ const inflightRequest = _Provider.inflightFetchChainAndNodeInfoRequests[this.urlWithoutAuth];
5792
+ if (inflightRequest) {
5793
+ const now2 = await inflightRequest;
5794
+ this.consensusParametersTimestamp = now2;
5795
+ return this.fetchChainAndNodeInfo();
5796
+ }
5797
+ const { promise, resolve } = deferPromise();
5798
+ _Provider.inflightFetchChainAndNodeInfoRequests[this.urlWithoutAuth] = promise;
5662
5799
  const data = await this.operations.getChainAndNodeInfo();
5663
5800
  nodeInfo = deserializeNodeInfo(data.nodeInfo);
5664
- _Provider.setIncompatibleNodeVersionMessage(nodeInfo);
5665
5801
  chain = deserializeChain(data.chain);
5802
+ _Provider.setIncompatibleNodeVersionMessage(nodeInfo);
5666
5803
  _Provider.chainInfoCache[this.urlWithoutAuth] = chain;
5667
5804
  _Provider.nodeInfoCache[this.urlWithoutAuth] = nodeInfo;
5668
- this.consensusParametersTimestamp = Date.now();
5805
+ const now = Date.now();
5806
+ this.consensusParametersTimestamp = now;
5807
+ resolve(now);
5808
+ delete _Provider.inflightFetchChainAndNodeInfoRequests[this.urlWithoutAuth];
5669
5809
  }
5670
5810
  return {
5671
5811
  chain,
@@ -5695,8 +5835,8 @@ var _Provider = class {
5695
5835
  createOperations() {
5696
5836
  const fetchFn = _Provider.getFetchFn(this.options);
5697
5837
  const gqlClient = new GraphQLClient(this.urlWithoutAuth, {
5698
- fetch: (input, requestInit) => fetchFn(input.toString(), requestInit || {}, this.options),
5699
- responseMiddleware: (response) => {
5838
+ fetch: /* @__PURE__ */ __name((input, requestInit) => fetchFn(input.toString(), requestInit || {}, this.options), "fetch"),
5839
+ responseMiddleware: /* @__PURE__ */ __name((response) => {
5700
5840
  if ("response" in response) {
5701
5841
  const graphQlResponse = response.response;
5702
5842
  assertGqlResponseHasNoErrors(
@@ -5704,22 +5844,22 @@ var _Provider = class {
5704
5844
  _Provider.incompatibleNodeVersionMessage
5705
5845
  );
5706
5846
  }
5707
- }
5847
+ }, "responseMiddleware")
5708
5848
  });
5709
- const executeQuery = (query, vars) => {
5849
+ const executeQuery = /* @__PURE__ */ __name((query, vars) => {
5710
5850
  const opDefinition = query.definitions.find((x) => x.kind === "OperationDefinition");
5711
5851
  const isSubscription = opDefinition?.operation === "subscription";
5712
5852
  if (isSubscription) {
5713
5853
  return FuelGraphqlSubscriber.create({
5714
5854
  url: this.urlWithoutAuth,
5715
5855
  query,
5716
- fetchFn: (url, requestInit) => fetchFn(url, requestInit, this.options),
5856
+ fetchFn: /* @__PURE__ */ __name((url, requestInit) => fetchFn(url, requestInit, this.options), "fetchFn"),
5717
5857
  variables: vars
5718
5858
  });
5719
5859
  }
5720
5860
  return gqlClient.request(query, vars);
5721
- };
5722
- const customOperations = (requester) => ({
5861
+ }, "executeQuery");
5862
+ const customOperations = /* @__PURE__ */ __name((requester) => ({
5723
5863
  getBlobs(variables) {
5724
5864
  const queryParams = variables.blobIds.map((_, i) => `$blobId${i}: BlobId!`).join(", ");
5725
5865
  const blobParams = variables.blobIds.map((_, i) => `blob${i}: blob(id: $blobId${i}) { id }`).join("\n");
@@ -5737,18 +5877,9 @@ var _Provider = class {
5737
5877
  `;
5738
5878
  return requester(document2, updatedVariables);
5739
5879
  }
5740
- });
5880
+ }), "customOperations");
5741
5881
  return { ...getSdk(executeQuery), ...customOperations(executeQuery) };
5742
5882
  }
5743
- /**
5744
- * @hidden
5745
- */
5746
- setupFeatures(nodeVersion) {
5747
- if (gte(nodeVersion, "0.41.0")) {
5748
- this.features.balancePagination = true;
5749
- this.features.amount128 = true;
5750
- }
5751
- }
5752
5883
  /**
5753
5884
  * Returns the version of the connected node.
5754
5885
  *
@@ -5825,6 +5956,13 @@ var _Provider = class {
5825
5956
  * @returns A promise that resolves to an object containing the asset details.
5826
5957
  */
5827
5958
  async getAssetDetails(assetId) {
5959
+ const { assetMetadata } = await this.getNodeFeatures();
5960
+ if (!assetMetadata) {
5961
+ throw new FuelError19(
5962
+ ErrorCode16.UNSUPPORTED_FEATURE,
5963
+ "The current node does not supports fetching asset details"
5964
+ );
5965
+ }
5828
5966
  const { assetDetails } = await this.operations.getAssetDetails({ assetId });
5829
5967
  const { contractId, subId, totalSupply } = assetDetails;
5830
5968
  return {
@@ -5833,6 +5971,15 @@ var _Provider = class {
5833
5971
  totalSupply: bn17(totalSupply)
5834
5972
  };
5835
5973
  }
5974
+ /**
5975
+ * @hidden
5976
+ */
5977
+ #cacheInputs(inputs, transactionId) {
5978
+ if (!this.cache) {
5979
+ return;
5980
+ }
5981
+ this.cache.set(transactionId, inputs);
5982
+ }
5836
5983
  /**
5837
5984
  * @hidden
5838
5985
  */
@@ -5843,13 +5990,13 @@ var _Provider = class {
5843
5990
  }
5844
5991
  } = await this.getChain();
5845
5992
  if (bn17(tx.inputs.length).gt(maxInputs)) {
5846
- throw new FuelError18(
5993
+ throw new FuelError19(
5847
5994
  ErrorCode16.MAX_INPUTS_EXCEEDED,
5848
5995
  `The transaction exceeds the maximum allowed number of inputs. Tx inputs: ${tx.inputs.length}, max inputs: ${maxInputs}`
5849
5996
  );
5850
5997
  }
5851
5998
  if (bn17(tx.outputs.length).gt(maxOutputs)) {
5852
- throw new FuelError18(
5999
+ throw new FuelError19(
5853
6000
  ErrorCode16.MAX_OUTPUTS_EXCEEDED,
5854
6001
  `The transaction exceeds the maximum allowed number of outputs. Tx outputs: ${tx.outputs.length}, max outputs: ${maxOutputs}`
5855
6002
  );
@@ -5882,7 +6029,10 @@ var _Provider = class {
5882
6029
  abis = transactionRequest.abis;
5883
6030
  }
5884
6031
  const subscription = await this.operations.submitAndAwaitStatus({ encodedTransaction });
5885
- __privateMethod(this, _cacheInputs, cacheInputs_fn).call(this, transactionRequest.inputs, transactionRequest.getTransactionId(await this.getChainId()));
6032
+ this.#cacheInputs(
6033
+ transactionRequest.inputs,
6034
+ transactionRequest.getTransactionId(await this.getChainId())
6035
+ );
5886
6036
  const chainId = await this.getChainId();
5887
6037
  return new TransactionResponse(transactionRequest, this, chainId, abis, subscription);
5888
6038
  }
@@ -6549,7 +6699,7 @@ var _Provider = class {
6549
6699
  0
6550
6700
  )?.[0];
6551
6701
  } catch (error) {
6552
- if (error instanceof FuelError18 && error.code === ErrorCode16.UNSUPPORTED_TRANSACTION_TYPE) {
6702
+ if (error instanceof FuelError19 && error.code === ErrorCode16.UNSUPPORTED_TRANSACTION_TYPE) {
6553
6703
  console.warn("Unsupported transaction type encountered");
6554
6704
  return null;
6555
6705
  }
@@ -6575,7 +6725,7 @@ var _Provider = class {
6575
6725
  try {
6576
6726
  return coder.decode(arrayify12(rawPayload), 0)[0];
6577
6727
  } catch (error) {
6578
- if (error instanceof FuelError18 && error.code === ErrorCode16.UNSUPPORTED_TRANSACTION_TYPE) {
6728
+ if (error instanceof FuelError19 && error.code === ErrorCode16.UNSUPPORTED_TRANSACTION_TYPE) {
6579
6729
  console.warn("Unsupported transaction type encountered");
6580
6730
  return null;
6581
6731
  }
@@ -6634,18 +6784,9 @@ var _Provider = class {
6634
6784
  * @returns A promise that resolves to the balance.
6635
6785
  */
6636
6786
  async getBalance(owner, assetId) {
6637
- const ownerStr = new Address2(owner).toB256();
6638
- const assetIdStr = hexlify16(assetId);
6639
- if (!this.features.amount128) {
6640
- const { balance: balance2 } = await this.operations.getBalance({
6641
- owner: ownerStr,
6642
- assetId: assetIdStr
6643
- });
6644
- return bn17(balance2.amount, 10);
6645
- }
6646
6787
  const { balance } = await this.operations.getBalanceV2({
6647
- owner: ownerStr,
6648
- assetId: assetIdStr
6788
+ owner: new Address2(owner).toB256(),
6789
+ assetId: hexlify16(assetId)
6649
6790
  });
6650
6791
  return bn17(balance.amountU128, 10);
6651
6792
  }
@@ -6657,49 +6798,29 @@ var _Provider = class {
6657
6798
  * @returns A promise that resolves to the balances.
6658
6799
  */
6659
6800
  async getBalances(owner, paginationArgs) {
6660
- if (!this.features.balancePagination) {
6661
- return this.getBalancesV1(owner, paginationArgs);
6801
+ let args = { first: NON_PAGINATED_BALANCES_SIZE };
6802
+ const { balancesPagination: supportsPagination } = await this.getNodeFeatures();
6803
+ if (supportsPagination) {
6804
+ args = validatePaginationArgs({
6805
+ inputArgs: paginationArgs,
6806
+ paginationLimit: BALANCES_PAGE_SIZE_LIMIT
6807
+ });
6662
6808
  }
6663
- return this.getBalancesV2(owner, paginationArgs);
6664
- }
6665
- /**
6666
- * @hidden
6667
- */
6668
- async getBalancesV1(owner, _paginationArgs) {
6669
- const {
6670
- balances: { edges }
6671
- } = await this.operations.getBalances({
6672
- /**
6673
- * The query parameters for this method were designed to support pagination,
6674
- * but the current Fuel-Core implementation does not support pagination yet.
6675
- */
6676
- first: 1e4,
6677
- filter: { owner: new Address2(owner).toB256() }
6678
- });
6679
- const balances = edges.map(({ node }) => ({
6680
- assetId: node.assetId,
6681
- amount: bn17(node.amount)
6682
- }));
6683
- return { balances };
6684
- }
6685
- /**
6686
- * @hidden
6687
- */
6688
- async getBalancesV2(owner, paginationArgs) {
6689
6809
  const {
6690
6810
  balances: { edges, pageInfo }
6691
6811
  } = await this.operations.getBalancesV2({
6692
- ...validatePaginationArgs({
6693
- inputArgs: paginationArgs,
6694
- paginationLimit: BALANCES_PAGE_SIZE_LIMIT
6695
- }),
6696
- filter: { owner: new Address2(owner).toB256() }
6812
+ ...args,
6813
+ filter: { owner: new Address2(owner).toB256() },
6814
+ supportsPagination
6697
6815
  });
6698
6816
  const balances = edges.map(({ node }) => ({
6699
6817
  assetId: node.assetId,
6700
6818
  amount: bn17(node.amountU128)
6701
6819
  }));
6702
- return { balances, pageInfo };
6820
+ return {
6821
+ balances,
6822
+ ...supportsPagination ? { pageInfo } : {}
6823
+ };
6703
6824
  }
6704
6825
  /**
6705
6826
  * Returns message for the given address.
@@ -6753,7 +6874,7 @@ var _Provider = class {
6753
6874
  nonce
6754
6875
  };
6755
6876
  if (commitBlockId && commitBlockHeight) {
6756
- throw new FuelError18(
6877
+ throw new FuelError19(
6757
6878
  ErrorCode16.INVALID_INPUT_PARAMETERS,
6758
6879
  "commitBlockId and commitBlockHeight cannot be used together"
6759
6880
  );
@@ -6986,6 +7107,17 @@ var _Provider = class {
6986
7107
  statusReason: status.reason
6987
7108
  });
6988
7109
  }
7110
+ /**
7111
+ * @hidden
7112
+ */
7113
+ async getNodeFeatures() {
7114
+ const { indexation } = await this.getNode();
7115
+ return {
7116
+ assetMetadata: Boolean(indexation?.assetMetadata),
7117
+ balancesPagination: Boolean(indexation?.balances),
7118
+ coinsToSpend: Boolean(indexation?.coinsToSpend)
7119
+ };
7120
+ }
6989
7121
  /**
6990
7122
  * @hidden
6991
7123
  */
@@ -7000,23 +7132,9 @@ var _Provider = class {
7000
7132
  return transactionRequest;
7001
7133
  }
7002
7134
  };
7003
- var Provider = _Provider;
7004
- _cacheInputs = new WeakSet();
7005
- cacheInputs_fn = function(inputs, transactionId) {
7006
- if (!this.cache) {
7007
- return;
7008
- }
7009
- this.cache.set(transactionId, inputs);
7010
- };
7011
- /** @hidden */
7012
- __publicField(Provider, "chainInfoCache", {});
7013
- /** @hidden */
7014
- __publicField(Provider, "nodeInfoCache", {});
7015
- /** @hidden */
7016
- __publicField(Provider, "incompatibleNodeVersionMessage", "");
7017
7135
 
7018
7136
  // src/providers/transaction-summary/get-transaction-summary.ts
7019
- import { ErrorCode as ErrorCode17, FuelError as FuelError19 } from "@fuel-ts/errors";
7137
+ import { ErrorCode as ErrorCode17, FuelError as FuelError20 } from "@fuel-ts/errors";
7020
7138
  import { bn as bn18 } from "@fuel-ts/math";
7021
7139
  import { TransactionCoder as TransactionCoder6 } from "@fuel-ts/transactions";
7022
7140
  import { arrayify as arrayify13 } from "@fuel-ts/utils";
@@ -7026,7 +7144,7 @@ async function getTransactionSummary(params) {
7026
7144
  transactionId: id
7027
7145
  });
7028
7146
  if (!gqlTransaction) {
7029
- throw new FuelError19(
7147
+ throw new FuelError20(
7030
7148
  ErrorCode17.TRANSACTION_NOT_FOUND,
7031
7149
  `Transaction not found for given id: ${id}.`
7032
7150
  );
@@ -7069,6 +7187,7 @@ async function getTransactionSummary(params) {
7069
7187
  ...transactionInfo
7070
7188
  };
7071
7189
  }
7190
+ __name(getTransactionSummary, "getTransactionSummary");
7072
7191
  async function getTransactionSummaryFromRequest(params) {
7073
7192
  const { provider, transactionRequest, abiMap } = params;
7074
7193
  const { receipts } = await provider.dryRun(transactionRequest);
@@ -7094,6 +7213,7 @@ async function getTransactionSummaryFromRequest(params) {
7094
7213
  });
7095
7214
  return transactionSummary;
7096
7215
  }
7216
+ __name(getTransactionSummaryFromRequest, "getTransactionSummaryFromRequest");
7097
7217
  async function getTransactionsSummaries(params) {
7098
7218
  const { filters, provider, abiMap } = params;
7099
7219
  const { owner, ...inputArgs } = filters;
@@ -7149,12 +7269,13 @@ async function getTransactionsSummaries(params) {
7149
7269
  pageInfo
7150
7270
  };
7151
7271
  }
7272
+ __name(getTransactionsSummaries, "getTransactionsSummaries");
7152
7273
 
7153
7274
  // src/providers/transaction-summary/assemble-transaction-summary-from-serialized.ts
7154
7275
  import { bn as bn19 } from "@fuel-ts/math";
7155
7276
  import { TransactionCoder as TransactionCoder7 } from "@fuel-ts/transactions";
7156
7277
  import { arrayify as arrayify14 } from "@fuel-ts/utils";
7157
- var assembleTransactionSummaryFromJson = async (opts) => {
7278
+ var assembleTransactionSummaryFromJson = /* @__PURE__ */ __name(async (opts) => {
7158
7279
  const { provider, transactionSummary } = opts;
7159
7280
  const { id, transactionBytes, gasPrice, receipts } = transactionSummary;
7160
7281
  const {
@@ -7181,10 +7302,10 @@ var assembleTransactionSummaryFromJson = async (opts) => {
7181
7302
  gasPerByte,
7182
7303
  gasPriceFactor
7183
7304
  });
7184
- };
7305
+ }, "assembleTransactionSummaryFromJson");
7185
7306
 
7186
7307
  // src/providers/utils/merge-quantities.ts
7187
- var mergeQuantities = (...coinQuantities) => {
7308
+ var mergeQuantities = /* @__PURE__ */ __name((...coinQuantities) => {
7188
7309
  const resultMap = {};
7189
7310
  function addToMap({ amount, assetId }) {
7190
7311
  if (resultMap[assetId]) {
@@ -7193,12 +7314,16 @@ var mergeQuantities = (...coinQuantities) => {
7193
7314
  resultMap[assetId] = amount;
7194
7315
  }
7195
7316
  }
7317
+ __name(addToMap, "addToMap");
7196
7318
  coinQuantities.forEach((arr) => arr.forEach(addToMap));
7197
7319
  return Object.entries(resultMap).map(([assetId, amount]) => ({ assetId, amount }));
7198
- };
7320
+ }, "mergeQuantities");
7199
7321
 
7200
7322
  // src/types.ts
7201
7323
  var AbstractAccount = class {
7324
+ static {
7325
+ __name(this, "AbstractAccount");
7326
+ }
7202
7327
  };
7203
7328
 
7204
7329
  // src/utils/formatTransferToContractScriptData.ts
@@ -7206,7 +7331,7 @@ import { ASSET_ID_LEN, BigNumberCoder as BigNumberCoder2, CONTRACT_ID_LEN, WORD_
7206
7331
  import { Address as Address3 } from "@fuel-ts/address";
7207
7332
  import { arrayify as arrayify15, concat as concat3 } from "@fuel-ts/utils";
7208
7333
  import * as asm from "@fuels/vm-asm";
7209
- var formatTransferToContractScriptData = (transferParams) => {
7334
+ var formatTransferToContractScriptData = /* @__PURE__ */ __name((transferParams) => {
7210
7335
  const numberCoder = new BigNumberCoder2("u64");
7211
7336
  return transferParams.reduce((acc, transferParam) => {
7212
7337
  const { assetId, amount, contractId } = transferParam;
@@ -7214,8 +7339,8 @@ var formatTransferToContractScriptData = (transferParams) => {
7214
7339
  const scriptData = concat3([new Address3(contractId).toBytes(), encoded, arrayify15(assetId)]);
7215
7340
  return concat3([acc, scriptData]);
7216
7341
  }, new Uint8Array());
7217
- };
7218
- var assembleTransferToContractScript = async (transferParams) => {
7342
+ }, "formatTransferToContractScriptData");
7343
+ var assembleTransferToContractScript = /* @__PURE__ */ __name(async (transferParams) => {
7219
7344
  const scriptData = formatTransferToContractScriptData(transferParams);
7220
7345
  await asm.initWasm();
7221
7346
  let script = new Uint8Array();
@@ -7239,11 +7364,14 @@ var assembleTransferToContractScript = async (transferParams) => {
7239
7364
  });
7240
7365
  script = concat3([script, asm.ret(1).to_bytes()]);
7241
7366
  return { script, scriptData };
7242
- };
7367
+ }, "assembleTransferToContractScript");
7243
7368
 
7244
7369
  // src/account.ts
7245
7370
  var MAX_FUNDING_ATTEMPTS = 5;
7246
7371
  var Account = class extends AbstractAccount {
7372
+ static {
7373
+ __name(this, "Account");
7374
+ }
7247
7375
  /**
7248
7376
  * The address associated with the account.
7249
7377
  */
@@ -7278,7 +7406,7 @@ var Account = class extends AbstractAccount {
7278
7406
  */
7279
7407
  get provider() {
7280
7408
  if (!this._provider) {
7281
- throw new FuelError20(ErrorCode18.MISSING_PROVIDER, "Provider not set");
7409
+ throw new FuelError21(ErrorCode18.MISSING_PROVIDER, "Provider not set");
7282
7410
  }
7283
7411
  return this._provider;
7284
7412
  }
@@ -7437,7 +7565,7 @@ var Account = class extends AbstractAccount {
7437
7565
  fundingAttempts += 1;
7438
7566
  }
7439
7567
  if (needsToBeFunded) {
7440
- throw new FuelError20(
7568
+ throw new FuelError21(
7441
7569
  ErrorCode18.INSUFFICIENT_FUNDS_OR_MAX_COINS,
7442
7570
  `The account ${this.address} does not have enough base asset funds to cover the transaction execution.`
7443
7571
  );
@@ -7557,7 +7685,7 @@ var Account = class extends AbstractAccount {
7557
7685
  const contractAddress = new Address4(transferParam.contractId);
7558
7686
  const assetId = transferParam.assetId ? hexlify17(transferParam.assetId) : defaultAssetId;
7559
7687
  if (amount.lte(0)) {
7560
- throw new FuelError20(
7688
+ throw new FuelError21(
7561
7689
  ErrorCode18.INVALID_TRANSFER_AMOUNT,
7562
7690
  "Transfer amount must be a positive number."
7563
7691
  );
@@ -7627,7 +7755,7 @@ var Account = class extends AbstractAccount {
7627
7755
  const coinOutputsQuantities = txRequestClone.getCoinOutputsQuantities();
7628
7756
  const requiredQuantities = mergeQuantities(coinOutputsQuantities, quantities);
7629
7757
  const transactionFeeForDryRun = [{ assetId: baseAssetId, amount: bn20("100000000000000000") }];
7630
- const findAssetInput = (assetId) => txRequestClone.inputs.find((input) => {
7758
+ const findAssetInput = /* @__PURE__ */ __name((assetId) => txRequestClone.inputs.find((input) => {
7631
7759
  if (input.type === InputType7.Coin) {
7632
7760
  return input.assetId === assetId;
7633
7761
  }
@@ -7635,8 +7763,8 @@ var Account = class extends AbstractAccount {
7635
7763
  return baseAssetId === assetId;
7636
7764
  }
7637
7765
  return false;
7638
- });
7639
- const updateAssetInput = (assetId, quantity) => {
7766
+ }), "findAssetInput");
7767
+ const updateAssetInput = /* @__PURE__ */ __name((assetId, quantity) => {
7640
7768
  const assetInput = findAssetInput(assetId);
7641
7769
  const usedQuantity = quantity;
7642
7770
  if (assetInput && "amount" in assetInput) {
@@ -7651,7 +7779,7 @@ var Account = class extends AbstractAccount {
7651
7779
  ])
7652
7780
  );
7653
7781
  }
7654
- };
7782
+ }, "updateAssetInput");
7655
7783
  mergeQuantities(requiredQuantities, transactionFeeForDryRun).forEach(
7656
7784
  ({ amount, assetId }) => updateAssetInput(assetId, amount)
7657
7785
  );
@@ -7674,7 +7802,7 @@ var Account = class extends AbstractAccount {
7674
7802
  */
7675
7803
  async signMessage(message) {
7676
7804
  if (!this._connector) {
7677
- throw new FuelError20(ErrorCode18.MISSING_CONNECTOR, "A connector is required to sign messages.");
7805
+ throw new FuelError21(ErrorCode18.MISSING_CONNECTOR, "A connector is required to sign messages.");
7678
7806
  }
7679
7807
  return this._connector.signMessage(this.address.toString(), message);
7680
7808
  }
@@ -7686,7 +7814,7 @@ var Account = class extends AbstractAccount {
7686
7814
  */
7687
7815
  async signTransaction(transactionRequestLike) {
7688
7816
  if (!this._connector) {
7689
- throw new FuelError20(
7817
+ throw new FuelError21(
7690
7818
  ErrorCode18.MISSING_CONNECTOR,
7691
7819
  "A connector is required to sign transactions."
7692
7820
  );
@@ -7783,7 +7911,7 @@ var Account = class extends AbstractAccount {
7783
7911
  /** @hidden * */
7784
7912
  validateTransferAmount(amount) {
7785
7913
  if (bn20(amount).lte(0)) {
7786
- throw new FuelError20(
7914
+ throw new FuelError21(
7787
7915
  ErrorCode18.INVALID_TRANSFER_AMOUNT,
7788
7916
  "Transfer amount must be a positive number."
7789
7917
  );
@@ -7813,7 +7941,7 @@ var Account = class extends AbstractAccount {
7813
7941
  if (!isDefined3(setGasLimit)) {
7814
7942
  request2.gasLimit = gasUsed;
7815
7943
  } else if (gasUsed.gt(setGasLimit)) {
7816
- throw new FuelError20(
7944
+ throw new FuelError21(
7817
7945
  ErrorCode18.GAS_LIMIT_TOO_LOW,
7818
7946
  `Gas limit '${setGasLimit}' is lower than the required: '${gasUsed}'.`
7819
7947
  );
@@ -7821,7 +7949,7 @@ var Account = class extends AbstractAccount {
7821
7949
  if (!isDefined3(setMaxFee)) {
7822
7950
  request2.maxFee = maxFee;
7823
7951
  } else if (maxFee.gt(setMaxFee)) {
7824
- throw new FuelError20(
7952
+ throw new FuelError21(
7825
7953
  ErrorCode18.MAX_FEE_TOO_LOW,
7826
7954
  `Max fee '${setMaxFee}' is lower than the required: '${maxFee}'.`
7827
7955
  );
@@ -7841,7 +7969,10 @@ import { hash as hash2 } from "@fuel-ts/hasher";
7841
7969
  import { toBytes } from "@fuel-ts/math";
7842
7970
  import { hexlify as hexlify18, concat as concat4, arrayify as arrayify17 } from "@fuel-ts/utils";
7843
7971
  import { secp256k1 } from "@noble/curves/secp256k1";
7844
- var Signer = class {
7972
+ var Signer = class _Signer {
7973
+ static {
7974
+ __name(this, "Signer");
7975
+ }
7845
7976
  address;
7846
7977
  publicKey;
7847
7978
  compressedPublicKey;
@@ -7920,7 +8051,7 @@ var Signer = class {
7920
8051
  * @returns Address from signature
7921
8052
  */
7922
8053
  static recoverAddress(data, signature) {
7923
- return new Address5(Signer.recoverPublicKey(data, signature));
8054
+ return new Address5(_Signer.recoverPublicKey(data, signature));
7924
8055
  }
7925
8056
  /**
7926
8057
  * Generate a random privateKey
@@ -7955,19 +8086,19 @@ import {
7955
8086
  encryptJsonWalletData,
7956
8087
  randomUUID
7957
8088
  } from "@fuel-ts/crypto";
7958
- import { ErrorCode as ErrorCode19, FuelError as FuelError21 } from "@fuel-ts/errors";
8089
+ import { ErrorCode as ErrorCode19, FuelError as FuelError22 } from "@fuel-ts/errors";
7959
8090
  import { hexlify as hexlify19 } from "@fuel-ts/utils";
7960
8091
  var DEFAULT_KDF_PARAMS_LOG_N = 13;
7961
8092
  var DEFAULT_KDF_PARAMS_R = 8;
7962
8093
  var DEFAULT_KDF_PARAMS_P = 1;
7963
8094
  var DEFAULT_KEY_SIZE = 32;
7964
8095
  var DEFAULT_IV_SIZE = 16;
7965
- var removeHexPrefix = (hexString) => {
8096
+ var removeHexPrefix = /* @__PURE__ */ __name((hexString) => {
7966
8097
  if (/^0x/.test(hexString)) {
7967
8098
  return hexString.slice(2);
7968
8099
  }
7969
8100
  return hexString;
7970
- };
8101
+ }, "removeHexPrefix");
7971
8102
  async function encryptKeystoreWallet(privateKey, address, password) {
7972
8103
  const privateKeyBuffer = bufferFromString(removeHexPrefix(privateKey), "hex");
7973
8104
  const ownerAddress = new Address6(address);
@@ -8006,6 +8137,7 @@ async function encryptKeystoreWallet(privateKey, address, password) {
8006
8137
  };
8007
8138
  return JSON.stringify(keystore);
8008
8139
  }
8140
+ __name(encryptKeystoreWallet, "encryptKeystoreWallet");
8009
8141
  async function decryptKeystoreWallet(jsonWallet, password) {
8010
8142
  const keystoreWallet = JSON.parse(jsonWallet);
8011
8143
  const {
@@ -8032,7 +8164,7 @@ async function decryptKeystoreWallet(jsonWallet, password) {
8032
8164
  const macHashUint8Array = keccak256(data);
8033
8165
  const macHash = stringFromBuffer(macHashUint8Array, "hex");
8034
8166
  if (mac !== macHash) {
8035
- throw new FuelError21(
8167
+ throw new FuelError22(
8036
8168
  ErrorCode19.INVALID_PASSWORD,
8037
8169
  "Failed to decrypt the keystore wallet, the provided password is incorrect."
8038
8170
  );
@@ -8041,9 +8173,17 @@ async function decryptKeystoreWallet(jsonWallet, password) {
8041
8173
  const privateKey = hexlify19(buffer);
8042
8174
  return privateKey;
8043
8175
  }
8176
+ __name(decryptKeystoreWallet, "decryptKeystoreWallet");
8044
8177
 
8045
8178
  // src/wallet/base-wallet-unlocked.ts
8046
8179
  var BaseWalletUnlocked = class extends Account {
8180
+ static {
8181
+ __name(this, "BaseWalletUnlocked");
8182
+ }
8183
+ /**
8184
+ * Default HDWallet path.
8185
+ */
8186
+ static defaultPath = "m/44'/1179993420'/0'/0/0";
8047
8187
  /**
8048
8188
  * A function that returns the wallet's signer.
8049
8189
  */
@@ -8161,21 +8301,17 @@ var BaseWalletUnlocked = class extends Account {
8161
8301
  return encryptKeystoreWallet(this.privateKey, this.address, password);
8162
8302
  }
8163
8303
  };
8164
- /**
8165
- * Default HDWallet path.
8166
- */
8167
- __publicField(BaseWalletUnlocked, "defaultPath", "m/44'/1179993420'/0'/0/0");
8168
8304
 
8169
8305
  // src/hdwallet/hdwallet.ts
8170
8306
  import { computeHmac as computeHmac2, ripemd160 } from "@fuel-ts/crypto";
8171
- import { ErrorCode as ErrorCode22, FuelError as FuelError24 } from "@fuel-ts/errors";
8307
+ import { ErrorCode as ErrorCode22, FuelError as FuelError25 } from "@fuel-ts/errors";
8172
8308
  import { sha256 as sha2564 } from "@fuel-ts/hasher";
8173
8309
  import { bn as bn21, toBytes as toBytes2, toHex } from "@fuel-ts/math";
8174
8310
  import { arrayify as arrayify20, hexlify as hexlify22, concat as concat6, dataSlice as dataSlice2, encodeBase58 as encodeBase582, decodeBase58 } from "@fuel-ts/utils";
8175
8311
 
8176
8312
  // src/mnemonic/mnemonic.ts
8177
8313
  import { randomBytes as randomBytes5, pbkdf2, computeHmac } from "@fuel-ts/crypto";
8178
- import { ErrorCode as ErrorCode21, FuelError as FuelError23 } from "@fuel-ts/errors";
8314
+ import { ErrorCode as ErrorCode21, FuelError as FuelError24 } from "@fuel-ts/errors";
8179
8315
  import { sha256 as sha2563 } from "@fuel-ts/hasher";
8180
8316
  import { arrayify as arrayify19, hexlify as hexlify21, concat as concat5, dataSlice, encodeBase58, toUtf8Bytes } from "@fuel-ts/utils";
8181
8317
 
@@ -10238,27 +10374,31 @@ var Language = /* @__PURE__ */ ((Language2) => {
10238
10374
  })(Language || {});
10239
10375
 
10240
10376
  // src/mnemonic/utils.ts
10241
- import { ErrorCode as ErrorCode20, FuelError as FuelError22 } from "@fuel-ts/errors";
10377
+ import { ErrorCode as ErrorCode20, FuelError as FuelError23 } from "@fuel-ts/errors";
10242
10378
  import { sha256 as sha2562 } from "@fuel-ts/hasher";
10243
10379
  import { arrayify as arrayify18 } from "@fuel-ts/utils";
10244
10380
  function getLowerMask(bits) {
10245
10381
  return (1 << bits) - 1;
10246
10382
  }
10383
+ __name(getLowerMask, "getLowerMask");
10247
10384
  function getUpperMask(bits) {
10248
10385
  return (1 << bits) - 1 << 8 - bits;
10249
10386
  }
10387
+ __name(getUpperMask, "getUpperMask");
10250
10388
  function getWords(mnemonic) {
10251
10389
  if (!Array.isArray(mnemonic)) {
10252
10390
  return mnemonic.split(/\s+/);
10253
10391
  }
10254
10392
  return mnemonic;
10255
10393
  }
10394
+ __name(getWords, "getWords");
10256
10395
  function getPhrase(mnemonic) {
10257
10396
  if (Array.isArray(mnemonic)) {
10258
10397
  return mnemonic.join(" ");
10259
10398
  }
10260
10399
  return mnemonic;
10261
10400
  }
10401
+ __name(getPhrase, "getPhrase");
10262
10402
  function entropyToMnemonicIndices(entropy) {
10263
10403
  const indices = [0];
10264
10404
  let remainingBits = 11;
@@ -10280,6 +10420,7 @@ function entropyToMnemonicIndices(entropy) {
10280
10420
  indices[indices.length - 1] |= checksum >> 8 - checksumBits;
10281
10421
  return indices;
10282
10422
  }
10423
+ __name(entropyToMnemonicIndices, "entropyToMnemonicIndices");
10283
10424
  function mnemonicWordsToEntropy(words, wordlist) {
10284
10425
  const size = Math.ceil(11 * words.length / 8);
10285
10426
  const entropy = arrayify18(new Uint8Array(size));
@@ -10287,7 +10428,7 @@ function mnemonicWordsToEntropy(words, wordlist) {
10287
10428
  for (let i = 0; i < words.length; i += 1) {
10288
10429
  const index = wordlist.indexOf(words[i].normalize("NFKD"));
10289
10430
  if (index === -1) {
10290
- throw new FuelError22(
10431
+ throw new FuelError23(
10291
10432
  ErrorCode20.INVALID_MNEMONIC,
10292
10433
  `Invalid mnemonic: the word '${words[i]}' is not found in the provided wordlist.`
10293
10434
  );
@@ -10304,13 +10445,14 @@ function mnemonicWordsToEntropy(words, wordlist) {
10304
10445
  const checksumMask = getUpperMask(checksumBits);
10305
10446
  const checksum = arrayify18(sha2562(entropy.slice(0, entropyBits / 8)))[0] & checksumMask;
10306
10447
  if (checksum !== (entropy[entropy.length - 1] & checksumMask)) {
10307
- throw new FuelError22(
10448
+ throw new FuelError23(
10308
10449
  ErrorCode20.INVALID_CHECKSUM,
10309
10450
  "Checksum validation failed for the provided mnemonic."
10310
10451
  );
10311
10452
  }
10312
10453
  return entropy.slice(0, entropyBits / 8);
10313
10454
  }
10455
+ __name(mnemonicWordsToEntropy, "mnemonicWordsToEntropy");
10314
10456
 
10315
10457
  // src/mnemonic/mnemonic.ts
10316
10458
  var MasterSecret = toUtf8Bytes("Bitcoin seed");
@@ -10319,29 +10461,35 @@ var TestnetPRV = "0x04358394";
10319
10461
  var MNEMONIC_SIZES = [12, 15, 18, 21, 24];
10320
10462
  function assertWordList(wordlist) {
10321
10463
  if (wordlist.length !== 2048) {
10322
- throw new FuelError23(
10464
+ throw new FuelError24(
10323
10465
  ErrorCode21.INVALID_WORD_LIST,
10324
10466
  `Expected word list length of 2048, but got ${wordlist.length}.`
10325
10467
  );
10326
10468
  }
10327
10469
  }
10470
+ __name(assertWordList, "assertWordList");
10328
10471
  function assertEntropy(entropy) {
10329
10472
  if (entropy.length % 4 !== 0 || entropy.length < 16 || entropy.length > 32) {
10330
- throw new FuelError23(
10473
+ throw new FuelError24(
10331
10474
  ErrorCode21.INVALID_ENTROPY,
10332
10475
  `Entropy should be between 16 and 32 bytes and a multiple of 4, but got ${entropy.length} bytes.`
10333
10476
  );
10334
10477
  }
10335
10478
  }
10479
+ __name(assertEntropy, "assertEntropy");
10336
10480
  function assertMnemonic(words) {
10337
10481
  if (!MNEMONIC_SIZES.includes(words.length)) {
10338
10482
  const errorMsg = `Invalid mnemonic size. Expected one of [${MNEMONIC_SIZES.join(
10339
10483
  ", "
10340
10484
  )}] words, but got ${words.length}.`;
10341
- throw new FuelError23(ErrorCode21.INVALID_MNEMONIC, errorMsg);
10485
+ throw new FuelError24(ErrorCode21.INVALID_MNEMONIC, errorMsg);
10342
10486
  }
10343
10487
  }
10344
- var Mnemonic = class {
10488
+ __name(assertMnemonic, "assertMnemonic");
10489
+ var Mnemonic = class _Mnemonic {
10490
+ static {
10491
+ __name(this, "Mnemonic");
10492
+ }
10345
10493
  wordlist;
10346
10494
  /**
10347
10495
  *
@@ -10358,7 +10506,7 @@ var Mnemonic = class {
10358
10506
  * @returns Entropy hash
10359
10507
  */
10360
10508
  mnemonicToEntropy(phrase) {
10361
- return Mnemonic.mnemonicToEntropy(phrase, this.wordlist);
10509
+ return _Mnemonic.mnemonicToEntropy(phrase, this.wordlist);
10362
10510
  }
10363
10511
  /**
10364
10512
  *
@@ -10366,7 +10514,7 @@ var Mnemonic = class {
10366
10514
  * @returns Mnemonic phrase
10367
10515
  */
10368
10516
  entropyToMnemonic(entropy) {
10369
- return Mnemonic.entropyToMnemonic(entropy, this.wordlist);
10517
+ return _Mnemonic.entropyToMnemonic(entropy, this.wordlist);
10370
10518
  }
10371
10519
  /**
10372
10520
  *
@@ -10407,8 +10555,8 @@ var Mnemonic = class {
10407
10555
  * @returns 64-byte array contains privateKey and chainCode as described on BIP39
10408
10556
  */
10409
10557
  static mnemonicToMasterKeys(phrase, passphrase = "") {
10410
- const seed = Mnemonic.mnemonicToSeed(phrase, passphrase);
10411
- return Mnemonic.masterKeysFromSeed(seed);
10558
+ const seed = _Mnemonic.mnemonicToSeed(phrase, passphrase);
10559
+ return _Mnemonic.masterKeysFromSeed(seed);
10412
10560
  }
10413
10561
  /**
10414
10562
  * Validates if given mnemonic is valid
@@ -10424,7 +10572,7 @@ var Mnemonic = class {
10424
10572
  return false;
10425
10573
  }
10426
10574
  while (i < words.length) {
10427
- if (Mnemonic.binarySearch(words[i]) === false) {
10575
+ if (_Mnemonic.binarySearch(words[i]) === false) {
10428
10576
  return false;
10429
10577
  }
10430
10578
  i += 1;
@@ -10456,7 +10604,7 @@ var Mnemonic = class {
10456
10604
  static masterKeysFromSeed(seed) {
10457
10605
  const seedArray = arrayify19(seed);
10458
10606
  if (seedArray.length < 16 || seedArray.length > 64) {
10459
- throw new FuelError23(
10607
+ throw new FuelError24(
10460
10608
  ErrorCode21.INVALID_SEED,
10461
10609
  `Seed length should be between 16 and 64 bytes, but received ${seedArray.length} bytes.`
10462
10610
  );
@@ -10471,7 +10619,7 @@ var Mnemonic = class {
10471
10619
  * @returns BIP-32 extended private key
10472
10620
  */
10473
10621
  static seedToExtendedKey(seed, testnet = false) {
10474
- const masterKey = Mnemonic.masterKeysFromSeed(seed);
10622
+ const masterKey = _Mnemonic.masterKeysFromSeed(seed);
10475
10623
  const prefix = arrayify19(testnet ? TestnetPRV : MainnetPRV);
10476
10624
  const depth = "0x00";
10477
10625
  const fingerprint = "0x00000000";
@@ -10503,7 +10651,7 @@ var Mnemonic = class {
10503
10651
  */
10504
10652
  static generate(size = 32, extraEntropy = "") {
10505
10653
  const entropy = extraEntropy ? sha2563(concat5([randomBytes5(size), arrayify19(extraEntropy)])) : randomBytes5(size);
10506
- return Mnemonic.entropyToMnemonic(entropy);
10654
+ return _Mnemonic.entropyToMnemonic(entropy);
10507
10655
  }
10508
10656
  };
10509
10657
  var mnemonic_default = Mnemonic;
@@ -10517,24 +10665,28 @@ var TestnetPUB = hexlify22("0x043587cf");
10517
10665
  function base58check(data) {
10518
10666
  return encodeBase582(concat6([data, dataSlice2(sha2564(sha2564(data)), 0, 4)]));
10519
10667
  }
10668
+ __name(base58check, "base58check");
10520
10669
  function getExtendedKeyPrefix(isPublic = false, testnet = false) {
10521
10670
  if (isPublic) {
10522
10671
  return testnet ? TestnetPUB : MainnetPUB;
10523
10672
  }
10524
10673
  return testnet ? TestnetPRV2 : MainnetPRV2;
10525
10674
  }
10675
+ __name(getExtendedKeyPrefix, "getExtendedKeyPrefix");
10526
10676
  function isPublicExtendedKey(extendedKey) {
10527
10677
  return [MainnetPUB, TestnetPUB].includes(hexlify22(extendedKey.slice(0, 4)));
10528
10678
  }
10679
+ __name(isPublicExtendedKey, "isPublicExtendedKey");
10529
10680
  function isValidExtendedKey(extendedKey) {
10530
10681
  return [MainnetPRV2, TestnetPRV2, MainnetPUB, TestnetPUB].includes(
10531
10682
  hexlify22(extendedKey.slice(0, 4))
10532
10683
  );
10533
10684
  }
10685
+ __name(isValidExtendedKey, "isValidExtendedKey");
10534
10686
  function parsePath(path, depth = 0) {
10535
10687
  const components = path.split("/");
10536
10688
  if (components.length === 0 || components[0] === "m" && depth !== 0) {
10537
- throw new FuelError24(ErrorCode22.HD_WALLET_ERROR, `invalid path - ${path}`);
10689
+ throw new FuelError25(ErrorCode22.HD_WALLET_ERROR, `invalid path - ${path}`);
10538
10690
  }
10539
10691
  if (components[0] === "m") {
10540
10692
  components.shift();
@@ -10543,7 +10695,11 @@ function parsePath(path, depth = 0) {
10543
10695
  (p) => ~p.indexOf(`'`) ? parseInt(p, 10) + HARDENED_INDEX : parseInt(p, 10)
10544
10696
  );
10545
10697
  }
10546
- var HDWallet = class {
10698
+ __name(parsePath, "parsePath");
10699
+ var HDWallet = class _HDWallet {
10700
+ static {
10701
+ __name(this, "HDWallet");
10702
+ }
10547
10703
  depth = 0;
10548
10704
  index = 0;
10549
10705
  fingerprint = hexlify22("0x00000000");
@@ -10563,7 +10719,7 @@ var HDWallet = class {
10563
10719
  this.privateKey = hexlify22(config.privateKey);
10564
10720
  } else {
10565
10721
  if (!config.publicKey) {
10566
- throw new FuelError24(
10722
+ throw new FuelError25(
10567
10723
  ErrorCode22.HD_WALLET_ERROR,
10568
10724
  "Both public and private Key cannot be missing. At least one should be provided."
10569
10725
  );
@@ -10593,7 +10749,7 @@ var HDWallet = class {
10593
10749
  const data = new Uint8Array(37);
10594
10750
  if (index & HARDENED_INDEX) {
10595
10751
  if (!privateKey) {
10596
- throw new FuelError24(
10752
+ throw new FuelError25(
10597
10753
  ErrorCode22.HD_WALLET_ERROR,
10598
10754
  "Cannot derive a hardened index without a private Key."
10599
10755
  );
@@ -10609,7 +10765,7 @@ var HDWallet = class {
10609
10765
  if (privateKey) {
10610
10766
  const N = "0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141";
10611
10767
  const ki = bn21(IL).add(privateKey).mod(N).toBytes(32);
10612
- return new HDWallet({
10768
+ return new _HDWallet({
10613
10769
  privateKey: ki,
10614
10770
  chainCode: IR,
10615
10771
  index,
@@ -10619,7 +10775,7 @@ var HDWallet = class {
10619
10775
  }
10620
10776
  const signer = new Signer(hexlify22(IL));
10621
10777
  const Ki = signer.addPoint(publicKey);
10622
- return new HDWallet({
10778
+ return new _HDWallet({
10623
10779
  publicKey: Ki,
10624
10780
  chainCode: IR,
10625
10781
  index,
@@ -10646,7 +10802,7 @@ var HDWallet = class {
10646
10802
  */
10647
10803
  toExtendedKey(isPublic = false, testnet = false) {
10648
10804
  if (this.depth >= 256) {
10649
- throw new FuelError24(
10805
+ throw new FuelError25(
10650
10806
  ErrorCode22.HD_WALLET_ERROR,
10651
10807
  `Exceeded max depth of 255. Current depth: ${this.depth}.`
10652
10808
  );
@@ -10668,7 +10824,7 @@ var HDWallet = class {
10668
10824
  */
10669
10825
  static fromSeed(seed) {
10670
10826
  const masterKey = mnemonic_default.masterKeysFromSeed(seed);
10671
- return new HDWallet({
10827
+ return new _HDWallet({
10672
10828
  chainCode: arrayify20(masterKey.slice(32)),
10673
10829
  privateKey: arrayify20(masterKey.slice(0, 32))
10674
10830
  });
@@ -10678,10 +10834,10 @@ var HDWallet = class {
10678
10834
  const bytes = arrayify20(decoded);
10679
10835
  const validChecksum = base58check(bytes.slice(0, 78)) === extendedKey;
10680
10836
  if (bytes.length !== 82 || !isValidExtendedKey(bytes)) {
10681
- throw new FuelError24(ErrorCode22.HD_WALLET_ERROR, "Provided key is not a valid extended key.");
10837
+ throw new FuelError25(ErrorCode22.HD_WALLET_ERROR, "Provided key is not a valid extended key.");
10682
10838
  }
10683
10839
  if (!validChecksum) {
10684
- throw new FuelError24(ErrorCode22.HD_WALLET_ERROR, "Provided key has an invalid checksum.");
10840
+ throw new FuelError25(ErrorCode22.HD_WALLET_ERROR, "Provided key has an invalid checksum.");
10685
10841
  }
10686
10842
  const depth = bytes[4];
10687
10843
  const parentFingerprint = hexlify22(bytes.slice(5, 9));
@@ -10689,16 +10845,16 @@ var HDWallet = class {
10689
10845
  const chainCode = hexlify22(bytes.slice(13, 45));
10690
10846
  const key = bytes.slice(45, 78);
10691
10847
  if (depth === 0 && parentFingerprint !== "0x00000000" || depth === 0 && index !== 0) {
10692
- throw new FuelError24(
10848
+ throw new FuelError25(
10693
10849
  ErrorCode22.HD_WALLET_ERROR,
10694
10850
  "Inconsistency detected: Depth is zero but fingerprint/index is non-zero."
10695
10851
  );
10696
10852
  }
10697
10853
  if (isPublicExtendedKey(bytes)) {
10698
10854
  if (key[0] !== 3) {
10699
- throw new FuelError24(ErrorCode22.HD_WALLET_ERROR, "Invalid public extended key.");
10855
+ throw new FuelError25(ErrorCode22.HD_WALLET_ERROR, "Invalid public extended key.");
10700
10856
  }
10701
- return new HDWallet({
10857
+ return new _HDWallet({
10702
10858
  publicKey: key,
10703
10859
  chainCode,
10704
10860
  index,
@@ -10707,9 +10863,9 @@ var HDWallet = class {
10707
10863
  });
10708
10864
  }
10709
10865
  if (key[0] !== 0) {
10710
- throw new FuelError24(ErrorCode22.HD_WALLET_ERROR, "Invalid private extended key.");
10866
+ throw new FuelError25(ErrorCode22.HD_WALLET_ERROR, "Invalid private extended key.");
10711
10867
  }
10712
- return new HDWallet({
10868
+ return new _HDWallet({
10713
10869
  privateKey: key.slice(1),
10714
10870
  chainCode,
10715
10871
  index,
@@ -10722,6 +10878,9 @@ var hdwallet_default = HDWallet;
10722
10878
 
10723
10879
  // src/wallet/wallets.ts
10724
10880
  var WalletLocked = class extends Account {
10881
+ static {
10882
+ __name(this, "WalletLocked");
10883
+ }
10725
10884
  /**
10726
10885
  * Unlocks the wallet using the provided private key and returns an instance of WalletUnlocked.
10727
10886
  *
@@ -10732,7 +10891,10 @@ var WalletLocked = class extends Account {
10732
10891
  return new WalletUnlocked(privateKey, this._provider);
10733
10892
  }
10734
10893
  };
10735
- var WalletUnlocked = class extends BaseWalletUnlocked {
10894
+ var WalletUnlocked = class _WalletUnlocked extends BaseWalletUnlocked {
10895
+ static {
10896
+ __name(this, "WalletUnlocked");
10897
+ }
10736
10898
  /**
10737
10899
  * Locks the wallet and returns an instance of WalletLocked.
10738
10900
  *
@@ -10750,7 +10912,7 @@ var WalletUnlocked = class extends BaseWalletUnlocked {
10750
10912
  */
10751
10913
  static generate(generateOptions) {
10752
10914
  const privateKey = Signer.generatePrivateKey(generateOptions?.entropy);
10753
- return new WalletUnlocked(privateKey, generateOptions?.provider);
10915
+ return new _WalletUnlocked(privateKey, generateOptions?.provider);
10754
10916
  }
10755
10917
  /**
10756
10918
  * Create a Wallet Unlocked from a seed.
@@ -10762,8 +10924,8 @@ var WalletUnlocked = class extends BaseWalletUnlocked {
10762
10924
  */
10763
10925
  static fromSeed(seed, path, provider) {
10764
10926
  const hdWallet = hdwallet_default.fromSeed(seed);
10765
- const childWallet = hdWallet.derivePath(path || WalletUnlocked.defaultPath);
10766
- return new WalletUnlocked(childWallet.privateKey, provider);
10927
+ const childWallet = hdWallet.derivePath(path || _WalletUnlocked.defaultPath);
10928
+ return new _WalletUnlocked(childWallet.privateKey, provider);
10767
10929
  }
10768
10930
  /**
10769
10931
  * Create a Wallet Unlocked from a mnemonic phrase.
@@ -10777,8 +10939,8 @@ var WalletUnlocked = class extends BaseWalletUnlocked {
10777
10939
  static fromMnemonic(mnemonic, path, passphrase, provider) {
10778
10940
  const seed = mnemonic_default.mnemonicToSeed(mnemonic, passphrase);
10779
10941
  const hdWallet = hdwallet_default.fromSeed(seed);
10780
- const childWallet = hdWallet.derivePath(path || WalletUnlocked.defaultPath);
10781
- return new WalletUnlocked(childWallet.privateKey, provider);
10942
+ const childWallet = hdWallet.derivePath(path || _WalletUnlocked.defaultPath);
10943
+ return new _WalletUnlocked(childWallet.privateKey, provider);
10782
10944
  }
10783
10945
  /**
10784
10946
  * Create a Wallet Unlocked from an extended key.
@@ -10789,7 +10951,7 @@ var WalletUnlocked = class extends BaseWalletUnlocked {
10789
10951
  */
10790
10952
  static fromExtendedKey(extendedKey, provider) {
10791
10953
  const hdWallet = hdwallet_default.fromExtendedKey(extendedKey);
10792
- return new WalletUnlocked(hdWallet.privateKey, provider);
10954
+ return new _WalletUnlocked(hdWallet.privateKey, provider);
10793
10955
  }
10794
10956
  /**
10795
10957
  * Create a Wallet Unlocked from an encrypted JSON.
@@ -10801,12 +10963,15 @@ var WalletUnlocked = class extends BaseWalletUnlocked {
10801
10963
  */
10802
10964
  static async fromEncryptedJson(jsonWallet, password, provider) {
10803
10965
  const privateKey = await decryptKeystoreWallet(jsonWallet, password);
10804
- return new WalletUnlocked(privateKey, provider);
10966
+ return new _WalletUnlocked(privateKey, provider);
10805
10967
  }
10806
10968
  };
10807
10969
 
10808
10970
  // src/wallet/wallet.ts
10809
10971
  var Wallet = class {
10972
+ static {
10973
+ __name(this, "Wallet");
10974
+ }
10810
10975
  /**
10811
10976
  * Creates a locked wallet instance from an address and a provider.
10812
10977
  *
@@ -10827,59 +10992,62 @@ var Wallet = class {
10827
10992
  static fromPrivateKey(privateKey, provider) {
10828
10993
  return new WalletUnlocked(privateKey, provider);
10829
10994
  }
10995
+ /**
10996
+ * Generate a new Wallet Unlocked with a random key pair.
10997
+ *
10998
+ * @param generateOptions - Options to customize the generation process (optional).
10999
+ * @returns An unlocked wallet instance.
11000
+ */
11001
+ static generate = WalletUnlocked.generate;
11002
+ /**
11003
+ * Create a Wallet Unlocked from a seed.
11004
+ *
11005
+ * @param seed - The seed phrase.
11006
+ * @param provider - A Provider instance (optional).
11007
+ * @param path - The derivation path (optional).
11008
+ * @returns An unlocked wallet instance.
11009
+ */
11010
+ static fromSeed = WalletUnlocked.fromSeed;
11011
+ /**
11012
+ * Create a Wallet Unlocked from a mnemonic phrase.
11013
+ *
11014
+ * @param mnemonic - The mnemonic phrase.
11015
+ * @param provider - A Provider instance (optional).
11016
+ * @param path - The derivation path (optional).
11017
+ * @param passphrase - The passphrase for the mnemonic (optional).
11018
+ * @returns An unlocked wallet instance.
11019
+ */
11020
+ static fromMnemonic = WalletUnlocked.fromMnemonic;
11021
+ /**
11022
+ * Create a Wallet Unlocked from an extended key.
11023
+ *
11024
+ * @param extendedKey - The extended key.
11025
+ * @param provider - A Provider instance (optional).
11026
+ * @returns An unlocked wallet instance.
11027
+ */
11028
+ static fromExtendedKey = WalletUnlocked.fromExtendedKey;
11029
+ /**
11030
+ * Create a Wallet Unlocked from an encrypted JSON.
11031
+ *
11032
+ * @param jsonWallet - The encrypted JSON keystore.
11033
+ * @param password - The password to decrypt the JSON.
11034
+ * @param provider - A Provider instance (optional).
11035
+ * @returns An unlocked wallet instance.
11036
+ */
11037
+ static fromEncryptedJson = WalletUnlocked.fromEncryptedJson;
10830
11038
  };
10831
- /**
10832
- * Generate a new Wallet Unlocked with a random key pair.
10833
- *
10834
- * @param generateOptions - Options to customize the generation process (optional).
10835
- * @returns An unlocked wallet instance.
10836
- */
10837
- __publicField(Wallet, "generate", WalletUnlocked.generate);
10838
- /**
10839
- * Create a Wallet Unlocked from a seed.
10840
- *
10841
- * @param seed - The seed phrase.
10842
- * @param provider - A Provider instance (optional).
10843
- * @param path - The derivation path (optional).
10844
- * @returns An unlocked wallet instance.
10845
- */
10846
- __publicField(Wallet, "fromSeed", WalletUnlocked.fromSeed);
10847
- /**
10848
- * Create a Wallet Unlocked from a mnemonic phrase.
10849
- *
10850
- * @param mnemonic - The mnemonic phrase.
10851
- * @param provider - A Provider instance (optional).
10852
- * @param path - The derivation path (optional).
10853
- * @param passphrase - The passphrase for the mnemonic (optional).
10854
- * @returns An unlocked wallet instance.
10855
- */
10856
- __publicField(Wallet, "fromMnemonic", WalletUnlocked.fromMnemonic);
10857
- /**
10858
- * Create a Wallet Unlocked from an extended key.
10859
- *
10860
- * @param extendedKey - The extended key.
10861
- * @param provider - A Provider instance (optional).
10862
- * @returns An unlocked wallet instance.
10863
- */
10864
- __publicField(Wallet, "fromExtendedKey", WalletUnlocked.fromExtendedKey);
10865
- /**
10866
- * Create a Wallet Unlocked from an encrypted JSON.
10867
- *
10868
- * @param jsonWallet - The encrypted JSON keystore.
10869
- * @param password - The password to decrypt the JSON.
10870
- * @param provider - A Provider instance (optional).
10871
- * @returns An unlocked wallet instance.
10872
- */
10873
- __publicField(Wallet, "fromEncryptedJson", WalletUnlocked.fromEncryptedJson);
10874
11039
 
10875
11040
  // src/wallet-manager/wallet-manager.ts
10876
11041
  import { Address as Address9 } from "@fuel-ts/address";
10877
11042
  import { encrypt, decrypt } from "@fuel-ts/crypto";
10878
- import { ErrorCode as ErrorCode25, FuelError as FuelError27 } from "@fuel-ts/errors";
11043
+ import { ErrorCode as ErrorCode25, FuelError as FuelError28 } from "@fuel-ts/errors";
10879
11044
  import { EventEmitter } from "events";
10880
11045
 
10881
11046
  // src/wallet-manager/storages/memory-storage.ts
10882
11047
  var MemoryStorage = class {
11048
+ static {
11049
+ __name(this, "MemoryStorage");
11050
+ }
10883
11051
  storage = /* @__PURE__ */ new Map();
10884
11052
  async getItem(key) {
10885
11053
  const item = await this.storage.get(key);
@@ -10898,15 +11066,18 @@ var MemoryStorage = class {
10898
11066
 
10899
11067
  // src/wallet-manager/vaults/mnemonic-vault.ts
10900
11068
  import { Address as Address7 } from "@fuel-ts/address";
10901
- import { ErrorCode as ErrorCode23, FuelError as FuelError25 } from "@fuel-ts/errors";
10902
- var _secret;
11069
+ import { ErrorCode as ErrorCode23, FuelError as FuelError26 } from "@fuel-ts/errors";
10903
11070
  var MnemonicVault = class {
11071
+ static {
11072
+ __name(this, "MnemonicVault");
11073
+ }
11074
+ static type = "mnemonic";
11075
+ #secret;
11076
+ pathKey = "{}";
11077
+ rootPath = `m/44'/1179993420'/${this.pathKey}'/0/0`;
11078
+ numberOfAccounts = 0;
10904
11079
  constructor(options) {
10905
- __privateAdd(this, _secret, void 0);
10906
- __publicField(this, "pathKey", "{}");
10907
- __publicField(this, "rootPath", `m/44'/1179993420'/${this.pathKey}'/0/0`);
10908
- __publicField(this, "numberOfAccounts", 0);
10909
- __privateSet(this, _secret, options.secret || mnemonic_default.generate());
11080
+ this.#secret = options.secret || mnemonic_default.generate();
10910
11081
  this.rootPath = options.rootPath || this.rootPath;
10911
11082
  this.numberOfAccounts = options.numberOfAccounts || 1;
10912
11083
  }
@@ -10918,7 +11089,7 @@ var MnemonicVault = class {
10918
11089
  }
10919
11090
  serialize() {
10920
11091
  return {
10921
- secret: __privateGet(this, _secret),
11092
+ secret: this.#secret,
10922
11093
  rootPath: this.rootPath,
10923
11094
  numberOfAccounts: this.numberOfAccounts
10924
11095
  };
@@ -10927,7 +11098,7 @@ var MnemonicVault = class {
10927
11098
  const accounts = [];
10928
11099
  let numberOfAccounts = 0;
10929
11100
  do {
10930
- const wallet = Wallet.fromMnemonic(__privateGet(this, _secret), this.getDerivePath(numberOfAccounts));
11101
+ const wallet = Wallet.fromMnemonic(this.#secret, this.getDerivePath(numberOfAccounts));
10931
11102
  accounts.push({
10932
11103
  publicKey: wallet.publicKey,
10933
11104
  address: wallet.address
@@ -10938,7 +11109,7 @@ var MnemonicVault = class {
10938
11109
  }
10939
11110
  addAccount() {
10940
11111
  this.numberOfAccounts += 1;
10941
- const wallet = Wallet.fromMnemonic(__privateGet(this, _secret), this.getDerivePath(this.numberOfAccounts - 1));
11112
+ const wallet = Wallet.fromMnemonic(this.#secret, this.getDerivePath(this.numberOfAccounts - 1));
10942
11113
  return {
10943
11114
  publicKey: wallet.publicKey,
10944
11115
  address: wallet.address
@@ -10948,13 +11119,13 @@ var MnemonicVault = class {
10948
11119
  let numberOfAccounts = 0;
10949
11120
  const ownerAddress = new Address7(address);
10950
11121
  do {
10951
- const wallet = Wallet.fromMnemonic(__privateGet(this, _secret), this.getDerivePath(numberOfAccounts));
11122
+ const wallet = Wallet.fromMnemonic(this.#secret, this.getDerivePath(numberOfAccounts));
10952
11123
  if (wallet.address.equals(ownerAddress)) {
10953
11124
  return wallet.privateKey;
10954
11125
  }
10955
11126
  numberOfAccounts += 1;
10956
11127
  } while (numberOfAccounts < this.numberOfAccounts);
10957
- throw new FuelError25(
11128
+ throw new FuelError26(
10958
11129
  ErrorCode23.WALLET_MANAGER_ERROR,
10959
11130
  `Account with address '${address}' not found in derived wallets.`
10960
11131
  );
@@ -10964,29 +11135,30 @@ var MnemonicVault = class {
10964
11135
  return Wallet.fromPrivateKey(privateKey);
10965
11136
  }
10966
11137
  };
10967
- _secret = new WeakMap();
10968
- __publicField(MnemonicVault, "type", "mnemonic");
10969
11138
 
10970
11139
  // src/wallet-manager/vaults/privatekey-vault.ts
10971
11140
  import { Address as Address8 } from "@fuel-ts/address";
10972
- import { ErrorCode as ErrorCode24, FuelError as FuelError26 } from "@fuel-ts/errors";
10973
- var _privateKeys;
11141
+ import { ErrorCode as ErrorCode24, FuelError as FuelError27 } from "@fuel-ts/errors";
10974
11142
  var PrivateKeyVault = class {
11143
+ static {
11144
+ __name(this, "PrivateKeyVault");
11145
+ }
11146
+ static type = "privateKey";
11147
+ #privateKeys = [];
10975
11148
  /**
10976
11149
  * If privateKey vault is initialized with a secretKey, it creates
10977
11150
  * one account with the fallowing secret
10978
11151
  */
10979
11152
  constructor(options = {}) {
10980
- __privateAdd(this, _privateKeys, []);
10981
11153
  if (options.secret) {
10982
- __privateSet(this, _privateKeys, [options.secret]);
11154
+ this.#privateKeys = [options.secret];
10983
11155
  } else {
10984
- __privateSet(this, _privateKeys, options.accounts || [Wallet.generate().privateKey]);
11156
+ this.#privateKeys = options.accounts || [Wallet.generate().privateKey];
10985
11157
  }
10986
11158
  }
10987
11159
  serialize() {
10988
11160
  return {
10989
- accounts: __privateGet(this, _privateKeys)
11161
+ accounts: this.#privateKeys
10990
11162
  };
10991
11163
  }
10992
11164
  getPublicAccount(privateKey) {
@@ -10997,20 +11169,20 @@ var PrivateKeyVault = class {
10997
11169
  };
10998
11170
  }
10999
11171
  getAccounts() {
11000
- return __privateGet(this, _privateKeys).map((pk) => this.getPublicAccount(pk));
11172
+ return this.#privateKeys.map((pk) => this.getPublicAccount(pk));
11001
11173
  }
11002
11174
  addAccount() {
11003
11175
  const wallet = Wallet.generate();
11004
- __privateGet(this, _privateKeys).push(wallet.privateKey);
11176
+ this.#privateKeys.push(wallet.privateKey);
11005
11177
  return this.getPublicAccount(wallet.privateKey);
11006
11178
  }
11007
11179
  exportAccount(address) {
11008
11180
  const ownerAddress = new Address8(address);
11009
- const privateKey = __privateGet(this, _privateKeys).find(
11181
+ const privateKey = this.#privateKeys.find(
11010
11182
  (pk) => Wallet.fromPrivateKey(pk).address.equals(ownerAddress)
11011
11183
  );
11012
11184
  if (!privateKey) {
11013
- throw new FuelError26(
11185
+ throw new FuelError27(
11014
11186
  ErrorCode24.WALLET_MANAGER_ERROR,
11015
11187
  `No private key found for address '${address}'.`
11016
11188
  );
@@ -11022,8 +11194,6 @@ var PrivateKeyVault = class {
11022
11194
  return Wallet.fromPrivateKey(privateKey);
11023
11195
  }
11024
11196
  };
11025
- _privateKeys = new WeakMap();
11026
- __publicField(PrivateKeyVault, "type", "privateKey");
11027
11197
 
11028
11198
  // src/wallet-manager/wallet-manager.ts
11029
11199
  var ERROR_MESSAGES = {
@@ -11035,49 +11205,50 @@ var ERROR_MESSAGES = {
11035
11205
  };
11036
11206
  function assert(condition, message) {
11037
11207
  if (!condition) {
11038
- throw new FuelError27(ErrorCode25.WALLET_MANAGER_ERROR, message);
11208
+ throw new FuelError28(ErrorCode25.WALLET_MANAGER_ERROR, message);
11039
11209
  }
11040
11210
  }
11041
- var _vaults, _passphrase, _isLocked, _serializeVaults, serializeVaults_fn, _deserializeVaults, deserializeVaults_fn;
11042
- var _WalletManager = class extends EventEmitter {
11211
+ __name(assert, "assert");
11212
+ var WalletManager = class _WalletManager extends EventEmitter {
11213
+ static {
11214
+ __name(this, "WalletManager");
11215
+ }
11216
+ /**
11217
+ * Vaults
11218
+ *
11219
+ * Vaults are responsible to store secret keys and return an `Wallet` instance,
11220
+ * to interact with the network.
11221
+ *
11222
+ * Each vault has access to its own state
11223
+ *
11224
+ */
11225
+ static Vaults = [MnemonicVault, PrivateKeyVault];
11226
+ /**
11227
+ * Storage
11228
+ *
11229
+ * Persistent encrypted data. `The default storage works only on memory`.
11230
+ */
11231
+ storage = new MemoryStorage();
11232
+ /* Key name passed to the storage */
11233
+ STORAGE_KEY = "WalletManager";
11234
+ // `This variables are only accessible from inside the class`
11235
+ #vaults = [];
11236
+ #passphrase = "";
11237
+ #isLocked = true;
11043
11238
  constructor(options) {
11044
11239
  super();
11045
- /**
11046
- * Serialize all vaults to store
11047
- *
11048
- * `This is only accessible from inside the class`
11049
- */
11050
- __privateAdd(this, _serializeVaults);
11051
- /**
11052
- * Deserialize all vaults to state
11053
- *
11054
- * `This is only accessible from inside the class`
11055
- */
11056
- __privateAdd(this, _deserializeVaults);
11057
- /**
11058
- * Storage
11059
- *
11060
- * Persistent encrypted data. `The default storage works only on memory`.
11061
- */
11062
- __publicField(this, "storage", new MemoryStorage());
11063
- /* Key name passed to the storage */
11064
- __publicField(this, "STORAGE_KEY", "WalletManager");
11065
- // `This variables are only accessible from inside the class`
11066
- __privateAdd(this, _vaults, []);
11067
- __privateAdd(this, _passphrase, "");
11068
- __privateAdd(this, _isLocked, true);
11069
11240
  this.storage = options?.storage || this.storage;
11070
11241
  }
11071
11242
  get isLocked() {
11072
- return __privateGet(this, _isLocked);
11243
+ return this.#isLocked;
11073
11244
  }
11074
11245
  /**
11075
11246
  * Return the vault serialized object containing all the privateKeys,
11076
11247
  * the format of the return depends on the Vault type.
11077
11248
  */
11078
11249
  exportVault(vaultId) {
11079
- assert(!__privateGet(this, _isLocked), ERROR_MESSAGES.wallet_not_unlocked);
11080
- const vaultState = __privateGet(this, _vaults).find((_, idx) => idx === vaultId);
11250
+ assert(!this.#isLocked, ERROR_MESSAGES.wallet_not_unlocked);
11251
+ const vaultState = this.#vaults.find((_, idx) => idx === vaultId);
11081
11252
  assert(vaultState, ERROR_MESSAGES.vault_not_found);
11082
11253
  return vaultState.vault.serialize();
11083
11254
  }
@@ -11085,7 +11256,7 @@ var _WalletManager = class extends EventEmitter {
11085
11256
  * List all vaults on the Wallet Manager, this function not return secret's
11086
11257
  */
11087
11258
  getVaults() {
11088
- return __privateGet(this, _vaults).map((v, idx) => ({
11259
+ return this.#vaults.map((v, idx) => ({
11089
11260
  title: v.title,
11090
11261
  type: v.type,
11091
11262
  vaultId: idx
@@ -11095,7 +11266,7 @@ var _WalletManager = class extends EventEmitter {
11095
11266
  * List all accounts on the Wallet Manager not vault information is revealed
11096
11267
  */
11097
11268
  getAccounts() {
11098
- return __privateGet(this, _vaults).flatMap(
11269
+ return this.#vaults.flatMap(
11099
11270
  (vaultState, vaultId) => vaultState.vault.getAccounts().map((account) => ({ ...account, vaultId }))
11100
11271
  );
11101
11272
  }
@@ -11104,7 +11275,7 @@ var _WalletManager = class extends EventEmitter {
11104
11275
  */
11105
11276
  getWallet(address) {
11106
11277
  const ownerAddress = new Address9(address);
11107
- const vaultState = __privateGet(this, _vaults).find(
11278
+ const vaultState = this.#vaults.find(
11108
11279
  (vs) => vs.vault.getAccounts().find((a) => a.address.equals(ownerAddress))
11109
11280
  );
11110
11281
  assert(vaultState, ERROR_MESSAGES.address_not_found);
@@ -11115,8 +11286,8 @@ var _WalletManager = class extends EventEmitter {
11115
11286
  */
11116
11287
  exportPrivateKey(address) {
11117
11288
  const ownerAddress = new Address9(address);
11118
- assert(!__privateGet(this, _isLocked), ERROR_MESSAGES.wallet_not_unlocked);
11119
- const vaultState = __privateGet(this, _vaults).find(
11289
+ assert(!this.#isLocked, ERROR_MESSAGES.wallet_not_unlocked);
11290
+ const vaultState = this.#vaults.find(
11120
11291
  (vs) => vs.vault.getAccounts().find((a) => a.address.equals(ownerAddress))
11121
11292
  );
11122
11293
  assert(vaultState, ERROR_MESSAGES.address_not_found);
@@ -11128,7 +11299,7 @@ var _WalletManager = class extends EventEmitter {
11128
11299
  */
11129
11300
  async addAccount(options) {
11130
11301
  await this.loadState();
11131
- const vaultState = __privateGet(this, _vaults)[options?.vaultId || 0];
11302
+ const vaultState = this.#vaults[options?.vaultId || 0];
11132
11303
  await assert(vaultState, ERROR_MESSAGES.vault_not_found);
11133
11304
  const account = vaultState.vault.addAccount();
11134
11305
  await this.saveState();
@@ -11139,7 +11310,7 @@ var _WalletManager = class extends EventEmitter {
11139
11310
  * created by the vault.
11140
11311
  */
11141
11312
  async removeVault(index) {
11142
- __privateGet(this, _vaults).splice(index, 1);
11313
+ this.#vaults.splice(index, 1);
11143
11314
  await this.saveState();
11144
11315
  }
11145
11316
  /**
@@ -11150,11 +11321,11 @@ var _WalletManager = class extends EventEmitter {
11150
11321
  await this.loadState();
11151
11322
  const Vault2 = this.getVaultClass(vaultConfig.type);
11152
11323
  const vault = new Vault2(vaultConfig);
11153
- __privateSet(this, _vaults, __privateGet(this, _vaults).concat({
11324
+ this.#vaults = this.#vaults.concat({
11154
11325
  title: vaultConfig.title,
11155
11326
  type: vaultConfig.type,
11156
11327
  vault
11157
- }));
11328
+ });
11158
11329
  await this.saveState();
11159
11330
  }
11160
11331
  /**
@@ -11162,9 +11333,9 @@ var _WalletManager = class extends EventEmitter {
11162
11333
  * secrets.
11163
11334
  */
11164
11335
  lock() {
11165
- __privateSet(this, _isLocked, true);
11166
- __privateSet(this, _vaults, []);
11167
- __privateSet(this, _passphrase, "");
11336
+ this.#isLocked = true;
11337
+ this.#vaults = [];
11338
+ this.#passphrase = "";
11168
11339
  this.emit("lock");
11169
11340
  }
11170
11341
  /**
@@ -11172,8 +11343,8 @@ var _WalletManager = class extends EventEmitter {
11172
11343
  * Vaults with secrets are not unlocked or instantiated on this moment.
11173
11344
  */
11174
11345
  async unlock(passphrase) {
11175
- __privateSet(this, _passphrase, passphrase);
11176
- __privateSet(this, _isLocked, false);
11346
+ this.#passphrase = passphrase;
11347
+ this.#isLocked = false;
11177
11348
  try {
11178
11349
  await this.loadState();
11179
11350
  this.emit("unlock");
@@ -11186,9 +11357,9 @@ var _WalletManager = class extends EventEmitter {
11186
11357
  * Update WalletManager encryption passphrase
11187
11358
  */
11188
11359
  async updatePassphrase(oldpass, newpass) {
11189
- const isLocked = __privateGet(this, _isLocked);
11360
+ const isLocked = this.#isLocked;
11190
11361
  await this.unlock(oldpass);
11191
- __privateSet(this, _passphrase, newpass);
11362
+ this.#passphrase = newpass;
11192
11363
  await this.saveState();
11193
11364
  await this.loadState();
11194
11365
  if (isLocked) {
@@ -11199,24 +11370,51 @@ var _WalletManager = class extends EventEmitter {
11199
11370
  * Retrieve and decrypt WalletManager state from storage
11200
11371
  */
11201
11372
  async loadState() {
11202
- await assert(!__privateGet(this, _isLocked), ERROR_MESSAGES.wallet_not_unlocked);
11373
+ await assert(!this.#isLocked, ERROR_MESSAGES.wallet_not_unlocked);
11203
11374
  const data = await this.storage.getItem(this.STORAGE_KEY);
11204
11375
  if (data) {
11205
- const state = await decrypt(__privateGet(this, _passphrase), JSON.parse(data));
11206
- __privateSet(this, _vaults, __privateMethod(this, _deserializeVaults, deserializeVaults_fn).call(this, state.vaults));
11376
+ const state = await decrypt(this.#passphrase, JSON.parse(data));
11377
+ this.#vaults = this.#deserializeVaults(state.vaults);
11207
11378
  }
11208
11379
  }
11209
11380
  /**
11210
11381
  * Store encrypted WalletManager state on storage
11211
11382
  */
11212
11383
  async saveState() {
11213
- await assert(!__privateGet(this, _isLocked), ERROR_MESSAGES.wallet_not_unlocked);
11214
- const encryptedData = await encrypt(__privateGet(this, _passphrase), {
11215
- vaults: __privateMethod(this, _serializeVaults, serializeVaults_fn).call(this, __privateGet(this, _vaults))
11384
+ await assert(!this.#isLocked, ERROR_MESSAGES.wallet_not_unlocked);
11385
+ const encryptedData = await encrypt(this.#passphrase, {
11386
+ vaults: this.#serializeVaults(this.#vaults)
11216
11387
  });
11217
11388
  await this.storage.setItem(this.STORAGE_KEY, JSON.stringify(encryptedData));
11218
11389
  this.emit("update");
11219
11390
  }
11391
+ /**
11392
+ * Serialize all vaults to store
11393
+ *
11394
+ * `This is only accessible from inside the class`
11395
+ */
11396
+ #serializeVaults(vaults) {
11397
+ return vaults.map(({ title, type, vault }) => ({
11398
+ title,
11399
+ type,
11400
+ data: vault.serialize()
11401
+ }));
11402
+ }
11403
+ /**
11404
+ * Deserialize all vaults to state
11405
+ *
11406
+ * `This is only accessible from inside the class`
11407
+ */
11408
+ #deserializeVaults(vaults) {
11409
+ return vaults.map(({ title, type, data: vaultConfig }) => {
11410
+ const VaultClass = this.getVaultClass(type);
11411
+ return {
11412
+ title,
11413
+ type,
11414
+ vault: new VaultClass(vaultConfig)
11415
+ };
11416
+ });
11417
+ }
11220
11418
  /**
11221
11419
  * Return a instantiable Class reference from `WalletManager.Vaults` supported list.
11222
11420
  */
@@ -11226,74 +11424,47 @@ var _WalletManager = class extends EventEmitter {
11226
11424
  return VaultClass;
11227
11425
  }
11228
11426
  };
11229
- var WalletManager = _WalletManager;
11230
- _vaults = new WeakMap();
11231
- _passphrase = new WeakMap();
11232
- _isLocked = new WeakMap();
11233
- _serializeVaults = new WeakSet();
11234
- serializeVaults_fn = function(vaults) {
11235
- return vaults.map(({ title, type, vault }) => ({
11236
- title,
11237
- type,
11238
- data: vault.serialize()
11239
- }));
11240
- };
11241
- _deserializeVaults = new WeakSet();
11242
- deserializeVaults_fn = function(vaults) {
11243
- return vaults.map(({ title, type, data: vaultConfig }) => {
11244
- const VaultClass = this.getVaultClass(type);
11245
- return {
11246
- title,
11247
- type,
11248
- vault: new VaultClass(vaultConfig)
11249
- };
11250
- });
11251
- };
11252
- /**
11253
- * Vaults
11254
- *
11255
- * Vaults are responsible to store secret keys and return an `Wallet` instance,
11256
- * to interact with the network.
11257
- *
11258
- * Each vault has access to its own state
11259
- *
11260
- */
11261
- __publicField(WalletManager, "Vaults", [MnemonicVault, PrivateKeyVault]);
11262
11427
 
11263
11428
  // src/wallet-manager/types.ts
11264
- import { ErrorCode as ErrorCode26, FuelError as FuelError28 } from "@fuel-ts/errors";
11429
+ import { ErrorCode as ErrorCode26, FuelError as FuelError29 } from "@fuel-ts/errors";
11265
11430
  var Vault = class {
11431
+ static {
11432
+ __name(this, "Vault");
11433
+ }
11434
+ static type;
11266
11435
  constructor(_options) {
11267
- throw new FuelError28(ErrorCode26.NOT_IMPLEMENTED, "Not implemented.");
11436
+ throw new FuelError29(ErrorCode26.NOT_IMPLEMENTED, "Not implemented.");
11268
11437
  }
11269
11438
  serialize() {
11270
- throw new FuelError28(ErrorCode26.NOT_IMPLEMENTED, "Not implemented.");
11439
+ throw new FuelError29(ErrorCode26.NOT_IMPLEMENTED, "Not implemented.");
11271
11440
  }
11272
11441
  getAccounts() {
11273
- throw new FuelError28(ErrorCode26.NOT_IMPLEMENTED, "Not implemented.");
11442
+ throw new FuelError29(ErrorCode26.NOT_IMPLEMENTED, "Not implemented.");
11274
11443
  }
11275
11444
  addAccount() {
11276
- throw new FuelError28(ErrorCode26.NOT_IMPLEMENTED, "Not implemented.");
11445
+ throw new FuelError29(ErrorCode26.NOT_IMPLEMENTED, "Not implemented.");
11277
11446
  }
11278
11447
  exportAccount(_address) {
11279
- throw new FuelError28(ErrorCode26.NOT_IMPLEMENTED, "Not implemented.");
11448
+ throw new FuelError29(ErrorCode26.NOT_IMPLEMENTED, "Not implemented.");
11280
11449
  }
11281
11450
  getWallet(_address) {
11282
- throw new FuelError28(ErrorCode26.NOT_IMPLEMENTED, "Not implemented.");
11451
+ throw new FuelError29(ErrorCode26.NOT_IMPLEMENTED, "Not implemented.");
11283
11452
  }
11284
11453
  };
11285
- __publicField(Vault, "type");
11286
11454
  var StorageAbstract = class {
11455
+ static {
11456
+ __name(this, "StorageAbstract");
11457
+ }
11287
11458
  };
11288
11459
 
11289
11460
  // src/predicate/predicate.ts
11290
11461
  import { Interface as Interface3 } from "@fuel-ts/abi-coder";
11291
11462
  import { Address as Address10 } from "@fuel-ts/address";
11292
- import { ErrorCode as ErrorCode28, FuelError as FuelError30 } from "@fuel-ts/errors";
11463
+ import { ErrorCode as ErrorCode28, FuelError as FuelError31 } from "@fuel-ts/errors";
11293
11464
  import { arrayify as arrayify23, hexlify as hexlify24 } from "@fuel-ts/utils";
11294
11465
 
11295
11466
  // src/utils/deployScriptOrPredicate.ts
11296
- import { FuelError as FuelError29, ErrorCode as ErrorCode27 } from "@fuel-ts/errors";
11467
+ import { FuelError as FuelError30, ErrorCode as ErrorCode27 } from "@fuel-ts/errors";
11297
11468
  import { bn as bn22 } from "@fuel-ts/math";
11298
11469
  import { arrayify as arrayify21 } from "@fuel-ts/utils";
11299
11470
 
@@ -11313,26 +11484,30 @@ function getBytecodeDataOffset(bytecode) {
11313
11484
  const [offset] = new BigNumberCoder3("u64").decode(bytecode, DATA_OFFSET_INDEX);
11314
11485
  return offset.toNumber();
11315
11486
  }
11487
+ __name(getBytecodeDataOffset, "getBytecodeDataOffset");
11316
11488
  function getBytecodeConfigurableOffset(bytecode) {
11317
11489
  const [offset] = new BigNumberCoder3("u64").decode(bytecode, CONFIGURABLE_OFFSET_INDEX);
11318
11490
  return offset.toNumber();
11319
11491
  }
11492
+ __name(getBytecodeConfigurableOffset, "getBytecodeConfigurableOffset");
11320
11493
  function getBytecodeId(bytecode) {
11321
11494
  const configurableOffset = getBytecodeConfigurableOffset(bytecode);
11322
11495
  const byteCodeWithoutConfigurableSection = bytecode.slice(0, configurableOffset);
11323
11496
  return sha2565(byteCodeWithoutConfigurableSection);
11324
11497
  }
11498
+ __name(getBytecodeId, "getBytecodeId");
11325
11499
  function getLegacyBlobId(bytecode) {
11326
11500
  const dataOffset = getBytecodeDataOffset(bytecode);
11327
11501
  const byteCodeWithoutDataSection = bytecode.slice(0, dataOffset);
11328
11502
  return sha2565(byteCodeWithoutDataSection);
11329
11503
  }
11504
+ __name(getLegacyBlobId, "getLegacyBlobId");
11330
11505
  function getPredicateScriptLoaderInstructions(originalBinary, blobId) {
11331
11506
  const { RegId, Instruction } = asm2;
11332
11507
  const REG_PC = RegId.pc().to_u8();
11333
11508
  const REG_SP = RegId.sp().to_u8();
11334
11509
  const REG_IS = RegId.is().to_u8();
11335
- const getInstructions = (numOfInstructions2) => [
11510
+ const getInstructions = /* @__PURE__ */ __name((numOfInstructions2) => [
11336
11511
  // 1. Load the blob content into memory
11337
11512
  // Find the start of the hardcoded blob ID, which is located after the loader code ends.
11338
11513
  asm2.move_(REG_ADDRESS_OF_DATA_AFTER_CODE, REG_PC),
@@ -11366,8 +11541,8 @@ function getPredicateScriptLoaderInstructions(originalBinary, blobId) {
11366
11541
  asm2.divi(REG_START_OF_LOADED_CODE, REG_START_OF_LOADED_CODE, 4),
11367
11542
  // Jump to the start of the contract we loaded.
11368
11543
  asm2.jmp(REG_START_OF_LOADED_CODE)
11369
- ];
11370
- const getInstructionsNoDataSection = (numOfInstructions2) => [
11544
+ ], "getInstructions");
11545
+ const getInstructionsNoDataSection = /* @__PURE__ */ __name((numOfInstructions2) => [
11371
11546
  // 1. Load the blob content into memory
11372
11547
  // Find the start of the hardcoded blob ID, which is located after the loader code ends.
11373
11548
  // 1. Load the blob content into memory
@@ -11394,7 +11569,7 @@ function getPredicateScriptLoaderInstructions(originalBinary, blobId) {
11394
11569
  asm2.divi(REG_START_OF_LOADED_CODE, REG_START_OF_LOADED_CODE, 4),
11395
11570
  // Jump to the start of the contract we loaded.
11396
11571
  asm2.jmp(REG_START_OF_LOADED_CODE)
11397
- ];
11572
+ ], "getInstructionsNoDataSection");
11398
11573
  const offset = getBytecodeConfigurableOffset(originalBinary);
11399
11574
  if (originalBinary.length < offset) {
11400
11575
  throw new Error(
@@ -11439,6 +11614,7 @@ function getPredicateScriptLoaderInstructions(originalBinary, blobId) {
11439
11614
  const loaderBytecode = new Uint8Array([...instructionBytes, ...blobBytes]);
11440
11615
  return { loaderBytecode };
11441
11616
  }
11617
+ __name(getPredicateScriptLoaderInstructions, "getPredicateScriptLoaderInstructions");
11442
11618
 
11443
11619
  // src/utils/deployScriptOrPredicate.ts
11444
11620
  async function fundBlobTx(deployer, blobTxRequest) {
@@ -11455,12 +11631,13 @@ async function fundBlobTx(deployer, blobTxRequest) {
11455
11631
  }).add(1);
11456
11632
  totalCost = totalCost.add(minFee);
11457
11633
  if (totalCost.gt(await deployer.getBalance())) {
11458
- throw new FuelError29(ErrorCode27.FUNDS_TOO_LOW, "Insufficient balance to deploy predicate.");
11634
+ throw new FuelError30(ErrorCode27.FUNDS_TOO_LOW, "Insufficient balance to deploy predicate.");
11459
11635
  }
11460
11636
  const txCost = await deployer.getTransactionCost(blobTxRequest);
11461
11637
  blobTxRequest.maxFee = txCost.maxFee;
11462
11638
  return deployer.fund(blobTxRequest, txCost);
11463
11639
  }
11640
+ __name(fundBlobTx, "fundBlobTx");
11464
11641
  function adjustConfigurableOffsets(jsonAbi, configurableOffsetDiff) {
11465
11642
  const { configurables: readOnlyConfigurables } = jsonAbi;
11466
11643
  const configurables = [];
@@ -11469,6 +11646,7 @@ function adjustConfigurableOffsets(jsonAbi, configurableOffsetDiff) {
11469
11646
  });
11470
11647
  return { ...jsonAbi, configurables };
11471
11648
  }
11649
+ __name(adjustConfigurableOffsets, "adjustConfigurableOffsets");
11472
11650
  async function deployScriptOrPredicate({
11473
11651
  deployer,
11474
11652
  bytecode,
@@ -11493,12 +11671,12 @@ async function deployScriptOrPredicate({
11493
11671
  const loaderInstance = loaderInstanceCallback(loaderBytecode, newAbi);
11494
11672
  if (blobExists) {
11495
11673
  return {
11496
- waitForResult: () => Promise.resolve(loaderInstance),
11674
+ waitForResult: /* @__PURE__ */ __name(() => Promise.resolve(loaderInstance), "waitForResult"),
11497
11675
  blobId
11498
11676
  };
11499
11677
  }
11500
11678
  const fundedBlobRequest = await fundBlobTx(deployer, blobTxRequest);
11501
- const waitForResult = async () => {
11679
+ const waitForResult = /* @__PURE__ */ __name(async () => {
11502
11680
  try {
11503
11681
  const blobTx = await deployer.sendTransaction(fundedBlobRequest);
11504
11682
  const result = await blobTx.waitForResult();
@@ -11506,31 +11684,35 @@ async function deployScriptOrPredicate({
11506
11684
  throw new Error();
11507
11685
  }
11508
11686
  } catch (err) {
11509
- throw new FuelError29(ErrorCode27.TRANSACTION_FAILED, "Failed to deploy predicate chunk");
11687
+ throw new FuelError30(ErrorCode27.TRANSACTION_FAILED, "Failed to deploy predicate chunk");
11510
11688
  }
11511
11689
  return loaderInstance;
11512
- };
11690
+ }, "waitForResult");
11513
11691
  return {
11514
11692
  waitForResult,
11515
11693
  blobId
11516
11694
  };
11517
11695
  }
11696
+ __name(deployScriptOrPredicate, "deployScriptOrPredicate");
11518
11697
 
11519
11698
  // src/predicate/utils/getPredicateRoot.ts
11520
11699
  import { hash as hash3 } from "@fuel-ts/hasher";
11521
11700
  import { calcRoot } from "@fuel-ts/merkle";
11522
11701
  import { chunkAndPadBytes, hexlify as hexlify23, concat as concat8, arrayify as arrayify22 } from "@fuel-ts/utils";
11523
- var getPredicateRoot = (bytecode) => {
11702
+ var getPredicateRoot = /* @__PURE__ */ __name((bytecode) => {
11524
11703
  const chunkSize = 16 * 1024;
11525
11704
  const bytes = arrayify22(bytecode);
11526
11705
  const chunks = chunkAndPadBytes(bytes, chunkSize);
11527
11706
  const codeRoot = calcRoot(chunks.map((c) => hexlify23(c)));
11528
11707
  const predicateRoot = hash3(concat8(["0x4655454C", codeRoot]));
11529
11708
  return predicateRoot;
11530
- };
11709
+ }, "getPredicateRoot");
11531
11710
 
11532
11711
  // src/predicate/predicate.ts
11533
- var Predicate = class extends Account {
11712
+ var Predicate = class _Predicate extends Account {
11713
+ static {
11714
+ __name(this, "Predicate");
11715
+ }
11534
11716
  bytes;
11535
11717
  predicateData = [];
11536
11718
  interface;
@@ -11552,7 +11734,7 @@ var Predicate = class extends Account {
11552
11734
  data,
11553
11735
  configurableConstants
11554
11736
  }) {
11555
- const { predicateBytes, predicateInterface } = Predicate.processPredicateData(
11737
+ const { predicateBytes, predicateInterface } = _Predicate.processPredicateData(
11556
11738
  bytecode,
11557
11739
  abi,
11558
11740
  configurableConstants
@@ -11621,7 +11803,7 @@ var Predicate = class extends Account {
11621
11803
  * @returns A new Predicate instance with the same bytecode, ABI and provider but with the ability to set the data and configurable constants.
11622
11804
  */
11623
11805
  toNewInstance(overrides = {}) {
11624
- return new Predicate({
11806
+ return new _Predicate({
11625
11807
  bytecode: this.initialBytecode,
11626
11808
  abi: this.interface.jsonAbi,
11627
11809
  provider: this.provider,
@@ -11641,13 +11823,13 @@ var Predicate = class extends Account {
11641
11823
  let predicateBytes = arrayify23(bytes);
11642
11824
  const abiInterface = new Interface3(jsonAbi);
11643
11825
  if (abiInterface.functions.main === void 0) {
11644
- throw new FuelError30(
11826
+ throw new FuelError31(
11645
11827
  ErrorCode28.ABI_MAIN_METHOD_MISSING,
11646
11828
  'Cannot use ABI without "main" function.'
11647
11829
  );
11648
11830
  }
11649
11831
  if (configurableConstants && Object.keys(configurableConstants).length) {
11650
- predicateBytes = Predicate.setConfigurableConstants(
11832
+ predicateBytes = _Predicate.setConfigurableConstants(
11651
11833
  predicateBytes,
11652
11834
  configurableConstants,
11653
11835
  abiInterface
@@ -11702,14 +11884,14 @@ var Predicate = class extends Account {
11702
11884
  const mutatedBytes = bytes;
11703
11885
  try {
11704
11886
  if (Object.keys(abiInterface.configurables).length === 0) {
11705
- throw new FuelError30(
11887
+ throw new FuelError31(
11706
11888
  ErrorCode28.INVALID_CONFIGURABLE_CONSTANTS,
11707
11889
  "Predicate has no configurable constants to be set"
11708
11890
  );
11709
11891
  }
11710
11892
  Object.entries(configurableConstants).forEach(([key, value]) => {
11711
11893
  if (!abiInterface?.configurables[key]) {
11712
- throw new FuelError30(
11894
+ throw new FuelError31(
11713
11895
  ErrorCode28.CONFIGURABLE_NOT_FOUND,
11714
11896
  `No configurable constant named '${key}' found in the Predicate`
11715
11897
  );
@@ -11719,7 +11901,7 @@ var Predicate = class extends Account {
11719
11901
  mutatedBytes.set(encoded, offset);
11720
11902
  });
11721
11903
  } catch (err) {
11722
- throw new FuelError30(
11904
+ throw new FuelError31(
11723
11905
  ErrorCode28.INVALID_CONFIGURABLE_CONSTANTS,
11724
11906
  `Error setting configurable constants: ${err.message}.`
11725
11907
  );
@@ -11762,12 +11944,12 @@ var Predicate = class extends Account {
11762
11944
  deployer: account,
11763
11945
  abi: this.interface.jsonAbi,
11764
11946
  bytecode: this.bytes,
11765
- loaderInstanceCallback: (loaderBytecode, newAbi) => new Predicate({
11947
+ loaderInstanceCallback: /* @__PURE__ */ __name((loaderBytecode, newAbi) => new _Predicate({
11766
11948
  bytecode: loaderBytecode,
11767
11949
  abi: newAbi,
11768
11950
  provider: this.provider,
11769
11951
  data: this.predicateData
11770
- })
11952
+ }), "loaderInstanceCallback")
11771
11953
  });
11772
11954
  }
11773
11955
  };
@@ -11776,7 +11958,7 @@ var Predicate = class extends Account {
11776
11958
  import { ErrorCode as ErrorCode29, FuelError as FuelError33 } from "@fuel-ts/errors";
11777
11959
 
11778
11960
  // src/connectors/fuel-connector.ts
11779
- import { FuelError as FuelError31 } from "@fuel-ts/errors";
11961
+ import { FuelError as FuelError32 } from "@fuel-ts/errors";
11780
11962
  import { EventEmitter as EventEmitter2 } from "events";
11781
11963
 
11782
11964
  // src/connectors/types/connector-types.ts
@@ -11818,6 +12000,9 @@ var FuelConnectorEventType = "FuelConnector";
11818
12000
 
11819
12001
  // src/connectors/types/local-storage.ts
11820
12002
  var LocalStorage = class {
12003
+ static {
12004
+ __name(this, "LocalStorage");
12005
+ }
11821
12006
  storage;
11822
12007
  constructor(localStorage) {
11823
12008
  this.storage = localStorage;
@@ -11838,6 +12023,9 @@ var LocalStorage = class {
11838
12023
 
11839
12024
  // src/connectors/fuel-connector.ts
11840
12025
  var FuelConnector = class extends EventEmitter2 {
12026
+ static {
12027
+ __name(this, "FuelConnector");
12028
+ }
11841
12029
  name = "";
11842
12030
  metadata = {};
11843
12031
  connected = false;
@@ -11851,7 +12039,7 @@ var FuelConnector = class extends EventEmitter2 {
11851
12039
  * @returns Always true.
11852
12040
  */
11853
12041
  async ping() {
11854
- throw new FuelError31(FuelError31.CODES.NOT_IMPLEMENTED, "Method not implemented.");
12042
+ throw new FuelError32(FuelError32.CODES.NOT_IMPLEMENTED, "Method not implemented.");
11855
12043
  }
11856
12044
  /**
11857
12045
  * Should return the current version of the connector
@@ -11860,7 +12048,7 @@ var FuelConnector = class extends EventEmitter2 {
11860
12048
  * @returns boolean - connection status.
11861
12049
  */
11862
12050
  async version() {
11863
- throw new FuelError31(FuelError31.CODES.NOT_IMPLEMENTED, "Method not implemented.");
12051
+ throw new FuelError32(FuelError32.CODES.NOT_IMPLEMENTED, "Method not implemented.");
11864
12052
  }
11865
12053
  /**
11866
12054
  * Should return true if the connector is connected
@@ -11869,7 +12057,7 @@ var FuelConnector = class extends EventEmitter2 {
11869
12057
  * @returns The connection status.
11870
12058
  */
11871
12059
  async isConnected() {
11872
- throw new FuelError31(FuelError31.CODES.NOT_IMPLEMENTED, "Method not implemented.");
12060
+ throw new FuelError32(FuelError32.CODES.NOT_IMPLEMENTED, "Method not implemented.");
11873
12061
  }
11874
12062
  /**
11875
12063
  * Should return all the accounts authorized for the
@@ -11878,7 +12066,7 @@ var FuelConnector = class extends EventEmitter2 {
11878
12066
  * @returns The accounts addresses strings
11879
12067
  */
11880
12068
  async accounts() {
11881
- throw new FuelError31(FuelError31.CODES.NOT_IMPLEMENTED, "Method not implemented.");
12069
+ throw new FuelError32(FuelError32.CODES.NOT_IMPLEMENTED, "Method not implemented.");
11882
12070
  }
11883
12071
  /**
11884
12072
  * Should start the connection process and return
@@ -11890,7 +12078,7 @@ var FuelConnector = class extends EventEmitter2 {
11890
12078
  * @returns boolean - connection status.
11891
12079
  */
11892
12080
  async connect() {
11893
- throw new FuelError31(FuelError31.CODES.NOT_IMPLEMENTED, "Method not implemented.");
12081
+ throw new FuelError32(FuelError32.CODES.NOT_IMPLEMENTED, "Method not implemented.");
11894
12082
  }
11895
12083
  /**
11896
12084
  * Should disconnect the current connection and
@@ -11900,7 +12088,7 @@ var FuelConnector = class extends EventEmitter2 {
11900
12088
  * @returns The connection status.
11901
12089
  */
11902
12090
  async disconnect() {
11903
- throw new FuelError31(FuelError31.CODES.NOT_IMPLEMENTED, "Method not implemented.");
12091
+ throw new FuelError32(FuelError32.CODES.NOT_IMPLEMENTED, "Method not implemented.");
11904
12092
  }
11905
12093
  /**
11906
12094
  * Should start the sign message process and return
@@ -11912,7 +12100,7 @@ var FuelConnector = class extends EventEmitter2 {
11912
12100
  * @returns Message signature
11913
12101
  */
11914
12102
  async signMessage(_address, _message) {
11915
- throw new FuelError31(FuelError31.CODES.NOT_IMPLEMENTED, "Method not implemented.");
12103
+ throw new FuelError32(FuelError32.CODES.NOT_IMPLEMENTED, "Method not implemented.");
11916
12104
  }
11917
12105
  /**
11918
12106
  * Should start the sign transaction process and return
@@ -11924,7 +12112,7 @@ var FuelConnector = class extends EventEmitter2 {
11924
12112
  * @returns Transaction signature
11925
12113
  */
11926
12114
  async signTransaction(_address, _transaction) {
11927
- throw new FuelError31(FuelError31.CODES.NOT_IMPLEMENTED, "Method not implemented.");
12115
+ throw new FuelError32(FuelError32.CODES.NOT_IMPLEMENTED, "Method not implemented.");
11928
12116
  }
11929
12117
  /**
11930
12118
  * Should start the send transaction process and return
@@ -11940,7 +12128,7 @@ var FuelConnector = class extends EventEmitter2 {
11940
12128
  * @returns The transaction id or transaction response
11941
12129
  */
11942
12130
  async sendTransaction(_address, _transaction, _params) {
11943
- throw new FuelError31(FuelError31.CODES.NOT_IMPLEMENTED, "Method not implemented.");
12131
+ throw new FuelError32(FuelError32.CODES.NOT_IMPLEMENTED, "Method not implemented.");
11944
12132
  }
11945
12133
  /**
11946
12134
  * Should return the current account selected inside the connector, if the account
@@ -11951,7 +12139,7 @@ var FuelConnector = class extends EventEmitter2 {
11951
12139
  * @returns The current account selected otherwise null.
11952
12140
  */
11953
12141
  async currentAccount() {
11954
- throw new FuelError31(FuelError31.CODES.NOT_IMPLEMENTED, "Method not implemented.");
12142
+ throw new FuelError32(FuelError32.CODES.NOT_IMPLEMENTED, "Method not implemented.");
11955
12143
  }
11956
12144
  /**
11957
12145
  * Should add the assets metadata to the connector and return true if the asset
@@ -11965,7 +12153,7 @@ var FuelConnector = class extends EventEmitter2 {
11965
12153
  * @returns True if the asset was added successfully
11966
12154
  */
11967
12155
  async addAssets(_assets) {
11968
- throw new FuelError31(FuelError31.CODES.NOT_IMPLEMENTED, "Method not implemented.");
12156
+ throw new FuelError32(FuelError32.CODES.NOT_IMPLEMENTED, "Method not implemented.");
11969
12157
  }
11970
12158
  /**
11971
12159
  * Should add the asset metadata to the connector and return true if the asset
@@ -11979,7 +12167,7 @@ var FuelConnector = class extends EventEmitter2 {
11979
12167
  * @returns True if the asset was added successfully
11980
12168
  */
11981
12169
  async addAsset(_asset) {
11982
- throw new FuelError31(FuelError31.CODES.NOT_IMPLEMENTED, "Method not implemented.");
12170
+ throw new FuelError32(FuelError32.CODES.NOT_IMPLEMENTED, "Method not implemented.");
11983
12171
  }
11984
12172
  /**
11985
12173
  * Should return all the assets added to the connector. If a connection is already established.
@@ -11987,7 +12175,7 @@ var FuelConnector = class extends EventEmitter2 {
11987
12175
  * @returns Array of assets metadata from the connector vinculated to the all accounts from a specific Wallet.
11988
12176
  */
11989
12177
  async assets() {
11990
- throw new FuelError31(FuelError31.CODES.NOT_IMPLEMENTED, "Method not implemented.");
12178
+ throw new FuelError32(FuelError32.CODES.NOT_IMPLEMENTED, "Method not implemented.");
11991
12179
  }
11992
12180
  /**
11993
12181
  * Should start the add network process and return true if the network was added successfully.
@@ -11998,7 +12186,7 @@ var FuelConnector = class extends EventEmitter2 {
11998
12186
  * @returns Return true if the network was added successfully
11999
12187
  */
12000
12188
  async addNetwork(_networkUrl) {
12001
- throw new FuelError31(FuelError31.CODES.NOT_IMPLEMENTED, "Method not implemented.");
12189
+ throw new FuelError32(FuelError32.CODES.NOT_IMPLEMENTED, "Method not implemented.");
12002
12190
  }
12003
12191
  /**
12004
12192
  * Should start the select network process and return true if the network has change successfully.
@@ -12009,7 +12197,7 @@ var FuelConnector = class extends EventEmitter2 {
12009
12197
  * @returns Return true if the network was added successfully
12010
12198
  */
12011
12199
  async selectNetwork(_network) {
12012
- throw new FuelError31(FuelError31.CODES.NOT_IMPLEMENTED, "Method not implemented.");
12200
+ throw new FuelError32(FuelError32.CODES.NOT_IMPLEMENTED, "Method not implemented.");
12013
12201
  }
12014
12202
  /**
12015
12203
  * Should return all the networks available from the connector. If the connection is already established.
@@ -12017,7 +12205,7 @@ var FuelConnector = class extends EventEmitter2 {
12017
12205
  * @returns Return all the networks added to the connector.
12018
12206
  */
12019
12207
  async networks() {
12020
- throw new FuelError31(FuelError31.CODES.NOT_IMPLEMENTED, "Method not implemented.");
12208
+ throw new FuelError32(FuelError32.CODES.NOT_IMPLEMENTED, "Method not implemented.");
12021
12209
  }
12022
12210
  /**
12023
12211
  * Should return the current network selected inside the connector. Even if the connection is not established.
@@ -12025,7 +12213,7 @@ var FuelConnector = class extends EventEmitter2 {
12025
12213
  * @returns Return the current network selected inside the connector.
12026
12214
  */
12027
12215
  async currentNetwork() {
12028
- throw new FuelError31(FuelError31.CODES.NOT_IMPLEMENTED, "Method not implemented.");
12216
+ throw new FuelError32(FuelError32.CODES.NOT_IMPLEMENTED, "Method not implemented.");
12029
12217
  }
12030
12218
  /**
12031
12219
  * Should add the ABI to the connector and return true if the ABI was added successfully.
@@ -12035,7 +12223,7 @@ var FuelConnector = class extends EventEmitter2 {
12035
12223
  * @returns Return true if the ABI was added successfully.
12036
12224
  */
12037
12225
  async addABI(_contractId, _abi) {
12038
- throw new FuelError31(FuelError31.CODES.NOT_IMPLEMENTED, "Method not implemented.");
12226
+ throw new FuelError32(FuelError32.CODES.NOT_IMPLEMENTED, "Method not implemented.");
12039
12227
  }
12040
12228
  /**
12041
12229
  * Should return the ABI from the connector vinculated to the all accounts from a specific Wallet.
@@ -12044,7 +12232,7 @@ var FuelConnector = class extends EventEmitter2 {
12044
12232
  * @returns The ABI if it exists, otherwise return null.
12045
12233
  */
12046
12234
  async getABI(_id) {
12047
- throw new FuelError31(FuelError31.CODES.NOT_IMPLEMENTED, "Method not implemented.");
12235
+ throw new FuelError32(FuelError32.CODES.NOT_IMPLEMENTED, "Method not implemented.");
12048
12236
  }
12049
12237
  /**
12050
12238
  * Should return true if the abi exists in the connector vinculated to the all accounts from a specific Wallet.
@@ -12053,7 +12241,7 @@ var FuelConnector = class extends EventEmitter2 {
12053
12241
  * @returns Returns true if the abi exists or false if not.
12054
12242
  */
12055
12243
  async hasABI(_id) {
12056
- throw new FuelError31(FuelError31.CODES.NOT_IMPLEMENTED, "Method not implemented.");
12244
+ throw new FuelError32(FuelError32.CODES.NOT_IMPLEMENTED, "Method not implemented.");
12057
12245
  }
12058
12246
  /**
12059
12247
  * Event listener for the connector.
@@ -12086,6 +12274,7 @@ function cacheFor(fn, { cache: cache2, cacheTime, key }) {
12086
12274
  return result;
12087
12275
  };
12088
12276
  }
12277
+ __name(cacheFor, "cacheFor");
12089
12278
 
12090
12279
  // src/connectors/utils/dispatch-fuel-connector-event.ts
12091
12280
  function dispatchFuelConnectorEvent(connector) {
@@ -12095,37 +12284,24 @@ function dispatchFuelConnectorEvent(connector) {
12095
12284
  })
12096
12285
  );
12097
12286
  }
12098
-
12099
- // src/connectors/utils/promises.ts
12100
- import { FuelError as FuelError32 } from "@fuel-ts/errors";
12101
- function deferPromise() {
12102
- const defer = {};
12103
- defer.promise = new Promise((resolve, reject) => {
12104
- defer.reject = reject;
12105
- defer.resolve = resolve;
12106
- });
12107
- return defer;
12108
- }
12109
- async function withTimeout(promise, timeout = 1050) {
12110
- const timeoutPromise = new Promise((resolve, reject) => {
12111
- setTimeout(() => {
12112
- reject(new FuelError32(FuelError32.CODES.TIMEOUT_EXCEEDED, "Promise timed out"));
12113
- }, timeout);
12114
- });
12115
- return Promise.race([timeoutPromise, promise]);
12116
- }
12287
+ __name(dispatchFuelConnectorEvent, "dispatchFuelConnectorEvent");
12117
12288
 
12118
12289
  // src/connectors/fuel.ts
12119
12290
  var HAS_CONNECTOR_TIMEOUT = 2e3;
12120
12291
  var PING_CACHE_TIME = 5e3;
12121
12292
  var { warn } = console;
12122
- var _Fuel = class extends FuelConnector {
12293
+ var Fuel = class _Fuel extends FuelConnector {
12294
+ static {
12295
+ __name(this, "Fuel");
12296
+ }
12297
+ static STORAGE_KEY = "fuel-current-connector";
12298
+ static defaultConfig = {};
12123
12299
  _storage = null;
12124
12300
  _connectors = [];
12125
12301
  _targetObject = null;
12126
12302
  _unsubscribes = [];
12127
- _targetUnsubscribe = () => {
12128
- };
12303
+ _targetUnsubscribe = /* @__PURE__ */ __name(() => {
12304
+ }, "_targetUnsubscribe");
12129
12305
  _pingCache = {};
12130
12306
  _currentConnector;
12131
12307
  _initializationPromise = null;
@@ -12198,7 +12374,7 @@ var _Fuel = class extends FuelConnector {
12198
12374
  const currentConnector = this._currentConnector;
12199
12375
  this._unsubscribes.map((unSub) => unSub());
12200
12376
  this._unsubscribes = events.map((event) => {
12201
- const handler = (...args) => this.emit(event, ...args);
12377
+ const handler = /* @__PURE__ */ __name((...args) => this.emit(event, ...args), "handler");
12202
12378
  currentConnector.on(event, handler);
12203
12379
  return () => currentConnector.off(event, handler);
12204
12380
  });
@@ -12282,7 +12458,7 @@ var _Fuel = class extends FuelConnector {
12282
12458
  * Setup a listener for the FuelConnector event and add the connector
12283
12459
  * to the list of new connectors.
12284
12460
  */
12285
- setupConnectorListener = () => {
12461
+ setupConnectorListener = /* @__PURE__ */ __name(() => {
12286
12462
  const { _targetObject: targetObject } = this;
12287
12463
  const eventName = FuelConnectorEventType;
12288
12464
  if (targetObject?.on) {
@@ -12292,9 +12468,9 @@ var _Fuel = class extends FuelConnector {
12292
12468
  };
12293
12469
  }
12294
12470
  if (targetObject?.addEventListener) {
12295
- const handler = (e) => {
12471
+ const handler = /* @__PURE__ */ __name((e) => {
12296
12472
  this.addConnector(e.detail);
12297
- };
12473
+ }, "handler");
12298
12474
  targetObject.addEventListener(eventName, handler);
12299
12475
  return () => {
12300
12476
  targetObject.removeEventListener?.(eventName, handler);
@@ -12302,11 +12478,11 @@ var _Fuel = class extends FuelConnector {
12302
12478
  }
12303
12479
  return () => {
12304
12480
  };
12305
- };
12481
+ }, "setupConnectorListener");
12306
12482
  /**
12307
12483
  * Add a new connector to the list of connectors.
12308
12484
  */
12309
- addConnector = async (connector) => {
12485
+ addConnector = /* @__PURE__ */ __name(async (connector) => {
12310
12486
  if (!this.getConnector(connector)) {
12311
12487
  this._connectors.push(connector);
12312
12488
  }
@@ -12317,8 +12493,8 @@ var _Fuel = class extends FuelConnector {
12317
12493
  emitEvents: false
12318
12494
  });
12319
12495
  }
12320
- };
12321
- triggerConnectorEvents = async () => {
12496
+ }, "addConnector");
12497
+ triggerConnectorEvents = /* @__PURE__ */ __name(async () => {
12322
12498
  const [isConnected, networks2, currentNetwork] = await Promise.all([
12323
12499
  this.isConnected(),
12324
12500
  this.networks(),
@@ -12335,14 +12511,14 @@ var _Fuel = class extends FuelConnector {
12335
12511
  this.emit(this.events.accounts, accounts);
12336
12512
  this.emit(this.events.currentAccount, currentAccount);
12337
12513
  }
12338
- };
12514
+ }, "triggerConnectorEvents");
12339
12515
  /**
12340
12516
  * Get a connector from the list of connectors.
12341
12517
  */
12342
- getConnector = (connector) => this._connectors.find((c) => {
12518
+ getConnector = /* @__PURE__ */ __name((connector) => this._connectors.find((c) => {
12343
12519
  const connectorName = typeof connector === "string" ? connector : connector.name;
12344
12520
  return c.name === connectorName || c === connector;
12345
- }) || null;
12521
+ }) || null, "getConnector");
12346
12522
  /**
12347
12523
  * Return the list of connectors with the status of installed and connected.
12348
12524
  */
@@ -12459,9 +12635,6 @@ var _Fuel = class extends FuelConnector {
12459
12635
  await this.clean();
12460
12636
  }
12461
12637
  };
12462
- var Fuel = _Fuel;
12463
- __publicField(Fuel, "STORAGE_KEY", "fuel-current-connector");
12464
- __publicField(Fuel, "defaultConfig", {});
12465
12638
  export {
12466
12639
  AbstractAccount,
12467
12640
  AbstractScriptRequest,
@@ -12490,6 +12663,7 @@ export {
12490
12663
  MemoryStorage,
12491
12664
  mnemonic_default as Mnemonic,
12492
12665
  MnemonicVault,
12666
+ NON_PAGINATED_BALANCES_SIZE,
12493
12667
  NoWitnessAtIndexError,
12494
12668
  NoWitnessByOwnerError,
12495
12669
  OperationName,