@0xsquid/react-hooks 7.7.0 → 7.8.1-stellar-beta.0

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.
Files changed (129) hide show
  1. package/dist/core/client/index.d.ts +2 -0
  2. package/dist/core/client/index.js +3 -0
  3. package/dist/core/client/index.js.map +1 -1
  4. package/dist/core/constants.d.ts +3 -2
  5. package/dist/core/constants.js +11 -6
  6. package/dist/core/constants.js.map +1 -1
  7. package/dist/core/externalLinks.d.ts +0 -16
  8. package/dist/core/externalLinks.js +0 -19
  9. package/dist/core/externalLinks.js.map +1 -1
  10. package/dist/core/index.d.ts +1 -1
  11. package/dist/core/index.js +1 -1
  12. package/dist/core/index.js.map +1 -1
  13. package/dist/core/providers/StellarProvider.d.ts +18 -0
  14. package/dist/core/providers/StellarProvider.js +15 -0
  15. package/dist/core/providers/StellarProvider.js.map +1 -0
  16. package/dist/core/queries/queries-keys.d.ts +2 -1
  17. package/dist/core/queries/queries-keys.js +7 -1
  18. package/dist/core/queries/queries-keys.js.map +1 -1
  19. package/dist/core/types/config.d.ts +27 -4
  20. package/dist/core/types/error.d.ts +0 -16
  21. package/dist/core/types/error.js.map +1 -1
  22. package/dist/core/types/stellar.d.ts +3 -0
  23. package/dist/core/types/stellar.js +2 -0
  24. package/dist/core/types/stellar.js.map +1 -0
  25. package/dist/core/types/swap.d.ts +1 -0
  26. package/dist/core/types/wallet.d.ts +12 -2
  27. package/dist/core/types/wallet.js +2 -0
  28. package/dist/core/types/wallet.js.map +1 -1
  29. package/dist/core/wallets.d.ts +1 -1
  30. package/dist/core/wallets.js +0 -52
  31. package/dist/core/wallets.js.map +1 -1
  32. package/dist/hooks/chains/useSquidChains.d.ts +8 -9
  33. package/dist/hooks/chains/useSquidChains.js +36 -37
  34. package/dist/hooks/chains/useSquidChains.js.map +1 -1
  35. package/dist/hooks/stellar/useStellar.d.ts +2 -0
  36. package/dist/hooks/stellar/useStellar.js +26 -0
  37. package/dist/hooks/stellar/useStellar.js.map +1 -0
  38. package/dist/hooks/stellar/useStellarWallets.d.ts +4 -0
  39. package/dist/hooks/stellar/useStellarWallets.js +26 -0
  40. package/dist/hooks/stellar/useStellarWallets.js.map +1 -0
  41. package/dist/hooks/store/useSquidStore.js +1 -0
  42. package/dist/hooks/store/useSquidStore.js.map +1 -1
  43. package/dist/hooks/swap/useSwap.d.ts +1 -1
  44. package/dist/hooks/swap/useSwap.js +39 -14
  45. package/dist/hooks/swap/useSwap.js.map +1 -1
  46. package/dist/hooks/tokens/useAllConnectedWalletBalances.d.ts +2 -1
  47. package/dist/hooks/tokens/useAllConnectedWalletBalances.js +14 -24
  48. package/dist/hooks/tokens/useAllConnectedWalletBalances.js.map +1 -1
  49. package/dist/hooks/tokens/useAllTokensWithBalanceForChainType.d.ts +2 -1
  50. package/dist/hooks/tokens/useAllTokensWithBalanceForChainType.js +13 -8
  51. package/dist/hooks/tokens/useAllTokensWithBalanceForChainType.js.map +1 -1
  52. package/dist/hooks/tokens/useBalance.d.ts +1 -0
  53. package/dist/hooks/tokens/useBalance.js +22 -1
  54. package/dist/hooks/tokens/useBalance.js.map +1 -1
  55. package/dist/hooks/tokens/useMultiChainBalance.js +10 -1
  56. package/dist/hooks/tokens/useMultiChainBalance.js.map +1 -1
  57. package/dist/hooks/tokens/useNativeBalance.d.ts +1 -0
  58. package/dist/hooks/tokens/useNativeBalance.js +32 -1
  59. package/dist/hooks/tokens/useNativeBalance.js.map +1 -1
  60. package/dist/hooks/tokens/useNativeTokenForChain.js +3 -1
  61. package/dist/hooks/tokens/useNativeTokenForChain.js.map +1 -1
  62. package/dist/hooks/tokens/useSquidTokens.d.ts +6 -1
  63. package/dist/hooks/tokens/useSquidTokens.js +23 -28
  64. package/dist/hooks/tokens/useSquidTokens.js.map +1 -1
  65. package/dist/hooks/transaction/send/useSendTransaction.js +13 -2
  66. package/dist/hooks/transaction/send/useSendTransaction.js.map +1 -1
  67. package/dist/hooks/transaction/useEstimate.d.ts +0 -2
  68. package/dist/hooks/transaction/useEstimate.js +1 -5
  69. package/dist/hooks/transaction/useEstimate.js.map +1 -1
  70. package/dist/hooks/transaction/useExecuteTransaction.js +76 -22
  71. package/dist/hooks/transaction/useExecuteTransaction.js.map +1 -1
  72. package/dist/hooks/transaction/useGetRoute.d.ts +3 -0
  73. package/dist/hooks/transaction/useGetRoute.js +0 -3
  74. package/dist/hooks/transaction/useGetRoute.js.map +1 -1
  75. package/dist/hooks/wallet/useMultiChainWallet.d.ts +52 -6
  76. package/dist/hooks/wallet/useMultiChainWallet.js +16 -4
  77. package/dist/hooks/wallet/useMultiChainWallet.js.map +1 -1
  78. package/dist/hooks/wallet/useSigner.d.ts +1 -0
  79. package/dist/hooks/wallet/useSigner.js +7 -0
  80. package/dist/hooks/wallet/useSigner.js.map +1 -1
  81. package/dist/hooks/wallet/useWallet.d.ts +54 -0
  82. package/dist/hooks/wallet/useWallet.js +6 -0
  83. package/dist/hooks/wallet/useWallet.js.map +1 -1
  84. package/dist/hooks/wallet/useWallets.js +11 -1
  85. package/dist/hooks/wallet/useWallets.js.map +1 -1
  86. package/dist/hooks/xrpl/useXrplWallets.d.ts +2 -0
  87. package/dist/provider/index.js +8 -6
  88. package/dist/provider/index.js.map +1 -1
  89. package/dist/services/external/rpcService.d.ts +2 -0
  90. package/dist/services/external/rpcService.js +24 -4
  91. package/dist/services/external/rpcService.js.map +1 -1
  92. package/dist/services/external/stellarApiClient.d.ts +0 -0
  93. package/dist/services/external/stellarApiClient.js +85 -0
  94. package/dist/services/external/stellarApiClient.js.map +1 -0
  95. package/dist/services/external/stellarRpcClient.d.ts +28 -0
  96. package/dist/services/external/stellarRpcClient.js +97 -0
  97. package/dist/services/external/stellarRpcClient.js.map +1 -0
  98. package/dist/services/internal/assetsService.d.ts +18 -19
  99. package/dist/services/internal/assetsService.js +42 -36
  100. package/dist/services/internal/assetsService.js.map +1 -1
  101. package/dist/services/internal/configService.d.ts +8 -16
  102. package/dist/services/internal/configService.js +9 -29
  103. package/dist/services/internal/configService.js.map +1 -1
  104. package/dist/services/internal/errorService.js +15 -0
  105. package/dist/services/internal/errorService.js.map +1 -1
  106. package/dist/services/internal/estimateService.d.ts +0 -1
  107. package/dist/services/internal/estimateService.js +1 -2
  108. package/dist/services/internal/estimateService.js.map +1 -1
  109. package/dist/services/internal/sendTransaction.d.ts +5 -0
  110. package/dist/services/internal/sendTransaction.js +3 -0
  111. package/dist/services/internal/sendTransaction.js.map +1 -1
  112. package/dist/services/internal/sendTransactionStatus.js +10 -0
  113. package/dist/services/internal/sendTransactionStatus.js.map +1 -1
  114. package/dist/services/internal/stellarService.d.ts +6 -0
  115. package/dist/services/internal/stellarService.js +67 -0
  116. package/dist/services/internal/stellarService.js.map +1 -0
  117. package/dist/services/internal/transactionStatusService.js +1 -0
  118. package/dist/services/internal/transactionStatusService.js.map +1 -1
  119. package/dist/services/internal/walletService.d.ts +3 -0
  120. package/dist/services/internal/walletService.js +22 -5
  121. package/dist/services/internal/walletService.js.map +1 -1
  122. package/dist/tests/assetsService.test.js +153 -26
  123. package/dist/tests/assetsService.test.js.map +1 -1
  124. package/dist/tests/configService.test.js +4 -36
  125. package/dist/tests/configService.test.js.map +1 -1
  126. package/package.json +4 -2
  127. package/dist/core/types/dex.d.ts +0 -28
  128. package/dist/core/types/dex.js +0 -33
  129. package/dist/core/types/dex.js.map +0 -1
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+ // import { nativeStellarTokenAddress } from "../../core/constants";
3
+ // enum StellarAssetType {
4
+ // /**
5
+ // * XLM native token
6
+ // */
7
+ // NATIVE = "native",
8
+ // /**
9
+ // * 1-4 char asset code (e.g. USDC)
10
+ // */
11
+ // ALPHANUM4 = "alphanum4",
12
+ // /**
13
+ // * 5-12 char asset code (e.g. wstETH)
14
+ // */
15
+ // ALPHANUM12 = "alphanum12",
16
+ // }
17
+ // interface StellarAsset {
18
+ // /**
19
+ // * Balance formatted with decimals (e.g. 0.5123)
20
+ // */
21
+ // balance: string;
22
+ // asset_type: StellarAssetType;
23
+ // asset_code?: string;
24
+ // asset_issuer?: string;
25
+ // }
26
+ // interface StellarTokenBalance {
27
+ // /**
28
+ // * Balance formatted with decimals (e.g. 0.5123)
29
+ // */
30
+ // balance: string;
31
+ // /**
32
+ // * Token address in the following format:
33
+ // * - ASSET_CODE:ISSUER for issued assets
34
+ // * - native address for XLM
35
+ // */
36
+ // address: string;
37
+ // }
38
+ // export class StellarApiClient {
39
+ // private apiUrl: string;
40
+ // constructor(apiUrl: string) {
41
+ // this.apiUrl = apiUrl;
42
+ // }
43
+ // async getBalance(userAddress: string, tokenAddress: string): Promise<string> {
44
+ // const balances = await this.getAllBalances(userAddress);
45
+ // if (tokenAddress === nativeStellarTokenAddress) {
46
+ // const nativeBalance = balances.find(
47
+ // (b) => b.address === nativeStellarTokenAddress
48
+ // );
49
+ // return nativeBalance?.balance ?? "0";
50
+ // }
51
+ // const balance = balances.find((b) => b.address === tokenAddress);
52
+ // return balance?.balance ?? "0";
53
+ // }
54
+ // async getAllBalances(
55
+ // userAddress: string
56
+ // ): Promise<Array<StellarTokenBalance>> {
57
+ // const response = await fetch(`${this.apiUrl}/accounts/${userAddress}`);
58
+ // if (!response.ok) {
59
+ // throw new Error(`Failed to fetch account data: ${response.statusText}`);
60
+ // }
61
+ // const data = await response.json();
62
+ // if (!Array.isArray(data?.balances)) {
63
+ // throw new Error("Invalid response from Horizon API");
64
+ // }
65
+ // const assets: StellarAsset[] = data.balances;
66
+ // return assets.map(
67
+ // ({
68
+ // asset_type: type,
69
+ // balance,
70
+ // asset_code: code,
71
+ // asset_issuer: issuer,
72
+ // }) => {
73
+ // const address =
74
+ // type === StellarAssetType.NATIVE
75
+ // ? nativeStellarTokenAddress
76
+ // : `${code}:${issuer}`;
77
+ // return {
78
+ // address,
79
+ // balance,
80
+ // };
81
+ // }
82
+ // );
83
+ // }
84
+ // }
85
+ //# sourceMappingURL=stellarApiClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stellarApiClient.js","sourceRoot":"","sources":["../../../src/services/external/stellarApiClient.ts"],"names":[],"mappings":";AAAA,oEAAoE;AAEpE,0BAA0B;AAC1B,QAAQ;AACR,wBAAwB;AACxB,QAAQ;AACR,uBAAuB;AACvB,QAAQ;AACR,uCAAuC;AACvC,QAAQ;AACR,6BAA6B;AAC7B,QAAQ;AACR,0CAA0C;AAC1C,QAAQ;AACR,+BAA+B;AAC/B,IAAI;AAEJ,2BAA2B;AAC3B,QAAQ;AACR,qDAAqD;AACrD,QAAQ;AACR,qBAAqB;AACrB,kCAAkC;AAClC,yBAAyB;AACzB,2BAA2B;AAC3B,IAAI;AAEJ,kCAAkC;AAClC,QAAQ;AACR,qDAAqD;AACrD,QAAQ;AACR,qBAAqB;AACrB,QAAQ;AACR,8CAA8C;AAC9C,6CAA6C;AAC7C,gCAAgC;AAChC,QAAQ;AACR,qBAAqB;AACrB,IAAI;AAEJ,kCAAkC;AAClC,4BAA4B;AAE5B,kCAAkC;AAClC,4BAA4B;AAC5B,MAAM;AAEN,mFAAmF;AACnF,+DAA+D;AAE/D,wDAAwD;AACxD,6CAA6C;AAC7C,yDAAyD;AACzD,WAAW;AAEX,8CAA8C;AAC9C,QAAQ;AAER,wEAAwE;AAExE,sCAAsC;AACtC,MAAM;AAEN,0BAA0B;AAC1B,0BAA0B;AAC1B,6CAA6C;AAC7C,8EAA8E;AAC9E,0BAA0B;AAC1B,iFAAiF;AACjF,QAAQ;AAER,0CAA0C;AAE1C,4CAA4C;AAC5C,8DAA8D;AAC9D,QAAQ;AAER,oDAAoD;AAEpD,yBAAyB;AACzB,WAAW;AACX,4BAA4B;AAC5B,mBAAmB;AACnB,4BAA4B;AAC5B,gCAAgC;AAChC,gBAAgB;AAChB,0BAA0B;AAC1B,6CAA6C;AAC7C,0CAA0C;AAC1C,qCAAqC;AAErC,mBAAmB;AACnB,qBAAqB;AACrB,qBAAqB;AACrB,aAAa;AACb,UAAU;AACV,SAAS;AACT,MAAM;AACN,IAAI"}
@@ -0,0 +1,28 @@
1
+ import { Token } from "@0xsquid/squid-types";
2
+ import { rpc, Transaction } from "@stellar/stellar-sdk";
3
+ import { TokenWithBalance } from "../../core/types/tokens";
4
+ export declare class StellarRpcClient {
5
+ server: rpc.Server;
6
+ constructor(rpcUrl: string);
7
+ /**
8
+ * Returns the balance of a Stellar Contract Token. This is different from an Issued Token.
9
+ *
10
+ * With Contract Tokens, we need to call the .balance method on the token contract
11
+ * and simulate the transaction to get the balance.
12
+ */
13
+ getBalance(userAddress: string, tokenAddress: string, chainId: string): Promise<string>;
14
+ getAllBalances(userAddress: string, tokens: Token[]): Promise<Array<TokenWithBalance>>;
15
+ /**
16
+ * Sends a transaction to the network and waits for it's confirmation.
17
+ *
18
+ * @param transaction - Fully constructed transaction object.
19
+ *
20
+ * @returns The transaction status if successful, otherwise throws an error on timeout or failure.
21
+ */
22
+ waitForTransaction(transaction: Transaction, { interval, timeout }?: {
23
+ interval?: number | undefined;
24
+ timeout?: number | undefined;
25
+ }): Promise<rpc.Api.GetTransactionStatus.SUCCESS>;
26
+ getAccount(address: string): Promise<import("@stellar/stellar-base").Account>;
27
+ prepareTransaction(transaction: Transaction): Promise<Transaction<import("@stellar/stellar-base").Memo<import("@stellar/stellar-base").MemoType>, import("@stellar/stellar-base").Operation[]>>;
28
+ }
@@ -0,0 +1,97 @@
1
+ import { Address, BASE_FEE, Contract, rpc, scValToNative, TimeoutInfinite, TransactionBuilder, } from "@stellar/stellar-sdk";
2
+ import { getStellarNetwork } from "../internal/stellarService";
3
+ export class StellarRpcClient {
4
+ server;
5
+ constructor(rpcUrl) {
6
+ this.server = new rpc.Server(rpcUrl);
7
+ }
8
+ /**
9
+ * Returns the balance of a Stellar Contract Token. This is different from an Issued Token.
10
+ *
11
+ * With Contract Tokens, we need to call the .balance method on the token contract
12
+ * and simulate the transaction to get the balance.
13
+ */
14
+ async getBalance(userAddress, tokenAddress, chainId) {
15
+ const account = await this.server.getAccount(userAddress);
16
+ const network = getStellarNetwork(chainId);
17
+ if (network == null) {
18
+ throw new Error(`No Stellar network found for chainId ${chainId}`);
19
+ }
20
+ const txBuilder = new TransactionBuilder(account, {
21
+ fee: BASE_FEE,
22
+ networkPassphrase: network,
23
+ });
24
+ const contract = new Contract(tokenAddress);
25
+ const tx = txBuilder
26
+ .addOperation(contract.call("balance", new Address(userAddress).toScVal()))
27
+ .setTimeout(TimeoutInfinite)
28
+ .build();
29
+ const simulateTxResponse = await this.server.simulateTransaction(tx);
30
+ if ("error" in simulateTxResponse) {
31
+ const isNoBalanceError = simulateTxResponse.error.includes("trying to get non-existing value for contract instance");
32
+ // If the error message indicates that the user has no balance just return 0
33
+ // We don't want to spam with this error as it's pretty common
34
+ if (isNoBalanceError) {
35
+ return "0";
36
+ }
37
+ throw new Error(`Failed to fetch balance. RPC response: ${simulateTxResponse.error}`);
38
+ }
39
+ if ("result" in simulateTxResponse && simulateTxResponse.result != null) {
40
+ const native = scValToNative(simulateTxResponse.result.retval);
41
+ return native.toString();
42
+ }
43
+ throw new Error("Failed to fetch balance");
44
+ }
45
+ async getAllBalances(userAddress, tokens) {
46
+ const balancePromises = tokens.map((token) => {
47
+ return this.getBalance(userAddress, token.address, token.chainId);
48
+ });
49
+ const results = await Promise.allSettled(balancePromises);
50
+ const balances = results.map((result) => {
51
+ if (result.status === "fulfilled") {
52
+ return result.value;
53
+ }
54
+ return "0";
55
+ });
56
+ return balances.map((balance, index) => {
57
+ return {
58
+ ...tokens[index],
59
+ balance,
60
+ };
61
+ });
62
+ }
63
+ /**
64
+ * Sends a transaction to the network and waits for it's confirmation.
65
+ *
66
+ * @param transaction - Fully constructed transaction object.
67
+ *
68
+ * @returns The transaction status if successful, otherwise throws an error on timeout or failure.
69
+ */
70
+ async waitForTransaction(transaction, { interval = 2_000, timeout = 40_000 } = {}) {
71
+ const sentTransaction = await this.server.sendTransaction(transaction);
72
+ const txHash = sentTransaction.hash;
73
+ const startTime = Date.now();
74
+ while (true) {
75
+ const result = await this.server.getTransaction(txHash);
76
+ if (result.status === rpc.Api.GetTransactionStatus.NOT_FOUND) {
77
+ if (Date.now() - startTime > timeout) {
78
+ throw new Error(`Transaction ${txHash} not found within timeout`);
79
+ }
80
+ // eslint-disable-next-line @typescript-eslint/no-loop-func
81
+ await new Promise((res) => setTimeout(res, interval));
82
+ continue;
83
+ }
84
+ if (result.status === rpc.Api.GetTransactionStatus.SUCCESS) {
85
+ return result.status;
86
+ }
87
+ throw new Error(`Transaction failed with status: ${result.status}`);
88
+ }
89
+ }
90
+ async getAccount(address) {
91
+ return this.server.getAccount(address);
92
+ }
93
+ async prepareTransaction(transaction) {
94
+ return this.server.prepareTransaction(transaction);
95
+ }
96
+ }
97
+ //# sourceMappingURL=stellarRpcClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stellarRpcClient.js","sourceRoot":"","sources":["../../../src/services/external/stellarRpcClient.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import type { Squid } from "@0xsquid/sdk";
2
2
  import { ChainData, ChainType, Token } from "@0xsquid/squid-types";
3
3
  import { QueryClient } from "@tanstack/react-query";
4
4
  import type { AppConfig } from "../../core/types/config";
5
- import { SwapParams } from "../../core/types/swap";
5
+ import { SwapDirection, SwapParams } from "../../core/types/swap";
6
6
  import type { TokenGroup, TokenWithBalance } from "../../core/types/tokens";
7
7
  export declare const assetsBaseUrl = "https://raw.githubusercontent.com/0xsquid/assets/main";
8
8
  export declare const shareSubgraphId: (token1: Token, token2: Token) => boolean;
@@ -19,31 +19,28 @@ export declare const sortTokensBySharedSubgraphIds: ({ a, b, tokenToCheck, }: {
19
19
  tokenToCheck: Token;
20
20
  }) => -1 | 0 | 1;
21
21
  /**
22
- * Filter chains based on provided config
23
- * - removes disabled chains
22
+ * Returns an array of supported chain IDs based on the provided config:
23
+ * - If `availableChains` is defined, only chains in `availableChains` will be returned
24
+ * - If `disabledChains` is defined, chains in `disabledChains` will be removed
25
+ * - If none of the above is defined, returns all chains
26
+ */
27
+ export declare const getSupportedChainIdsForDirection: (chainIds: string[], config: Pick<AppConfig, "availableChains" | "disabledChains">, direction?: SwapDirection) => string[];
28
+ /**
29
+ * Filter available chains based on provided config and direction
24
30
  */
25
31
  export declare const filterChains: ({ chains, config, direction, }: {
26
32
  chains: ChainData[];
27
- config: Pick<AppConfig, "disabledChains">;
28
- direction?: "from" | "to" | undefined;
33
+ config: Pick<AppConfig, "disabledChains" | "availableChains">;
34
+ direction?: SwapDirection | undefined;
29
35
  }) => ChainData[];
30
36
  /**
31
- * Filter tokens based on provided config
32
- * - removes tokens from disabled chains
37
+ * Filter tokens based on provided config and direction
33
38
  */
34
39
  export declare const filterTokens: ({ tokens, config, direction, }: {
35
40
  tokens: Token[];
36
- config: Pick<AppConfig, "disabledChains">;
37
- direction?: "from" | "to" | undefined;
41
+ config: Pick<AppConfig, "disabledChains" | "availableChains">;
42
+ direction?: SwapDirection | undefined;
38
43
  }) => Token[];
39
- /**
40
- * Get disabled chains based on the provided config
41
- * @returns array of disabled chain ids
42
- */
43
- export declare function getDisabledChainsIds({ config, direction, }: {
44
- config: Pick<AppConfig, "disabledChains">;
45
- direction?: "from" | "to";
46
- }): string[];
47
44
  export declare function getTokenImage(token?: Pick<Token, "address" | "chainId">): string;
48
45
  /**
49
46
  * When user changes something from the SwapView
@@ -60,7 +57,7 @@ export declare const getNewSwapParamsFromInput: ({ inputParams, initialSwapRoute
60
57
  initialSwapRoute?: SwapParams | undefined;
61
58
  tokens: Token[];
62
59
  chains: ChainData[];
63
- config: Pick<AppConfig, "initialAssets" | "defaultTokensPerChain" | "disabledChains">;
60
+ config: Pick<AppConfig, "initialAssets" | "defaultTokensPerChain" | "disabledChains" | "availableChains">;
64
61
  queryClient: QueryClient;
65
62
  connectedSourceAddress?: string | undefined;
66
63
  }) => SwapParams;
@@ -95,9 +92,11 @@ export declare const groupTokensByChainId: <T extends TokenWithBalance>(tokens:
95
92
  * Removes some tokens based on address and chain ID.
96
93
  * Some tokens will be returned by backend but should be hidden.
97
94
  *
95
+ * Also filters tokens in `config.availableTokensPerChain` if provided.
96
+ *
98
97
  * TODO: in the future we might want to have this as a token attribute instead.
99
98
  */
100
- export declare const filterViewableTokens: (tokens: TokenWithBalance[]) => TokenWithBalance[];
99
+ export declare const filterViewableTokens: (tokens: TokenWithBalance[], config: Pick<AppConfig, "availableTokensPerChain">) => TokenWithBalance[];
101
100
  export declare const getSecretNetworkBalances: (chainData: ChainData, cosmosAddress: string, squidTokens: Token[], keplrTypeWallet: any) => Promise<TokenWithBalance[]>;
102
101
  export declare function getTokenAssetsKey(token?: Pick<Token, "address" | "chainId">): string;
103
102
  export type AssetsColors = {
@@ -27,50 +27,47 @@ export const sortTokensBySharedSubgraphIds = ({ a, b, tokenToCheck, }) => {
27
27
  }
28
28
  return 0;
29
29
  };
30
+ const getParsedDirection = (direction) => {
31
+ return direction === "from" ? "source" : "destination";
32
+ };
30
33
  /**
31
- * Filter chains based on provided config
32
- * - removes disabled chains
34
+ * Returns an array of supported chain IDs based on the provided config:
35
+ * - If `availableChains` is defined, only chains in `availableChains` will be returned
36
+ * - If `disabledChains` is defined, chains in `disabledChains` will be removed
37
+ * - If none of the above is defined, returns all chains
38
+ */
39
+ export const getSupportedChainIdsForDirection = (chainIds, config, direction) => {
40
+ if (!direction)
41
+ return chainIds;
42
+ const parsedDirection = getParsedDirection(direction);
43
+ const availableChains = config.availableChains?.[parsedDirection];
44
+ if (availableChains && availableChains.length > 0) {
45
+ return availableChains;
46
+ }
47
+ const disabledChains = config.disabledChains?.[parsedDirection];
48
+ if (disabledChains && disabledChains.length > 0) {
49
+ return chainIds.filter((c) => !disabledChains.includes(c));
50
+ }
51
+ return chainIds;
52
+ };
53
+ /**
54
+ * Filter available chains based on provided config and direction
33
55
  */
34
56
  export const filterChains = ({ chains, config, direction, }) => {
35
- const disabledChainsOnDirection = getDisabledChainsIds({
36
- config,
37
- direction,
38
- });
39
- if (disabledChainsOnDirection.length === 0)
40
- return chains;
41
- // filter chains that are not disabled
42
- const availableChains = chains.filter((c) => !disabledChainsOnDirection?.includes(c.chainId));
57
+ const supportedChainIds = getSupportedChainIdsForDirection(chains.map((c) => c.chainId), config, direction);
58
+ const availableChains = chains.filter((c) => supportedChainIds.includes(c.chainId));
43
59
  return availableChains;
44
60
  };
45
61
  /**
46
- * Filter tokens based on provided config
47
- * - removes tokens from disabled chains
62
+ * Filter tokens based on provided config and direction
48
63
  */
49
64
  export const filterTokens = ({ tokens, config, direction, }) => {
50
- const disabledChainsOnDirection = getDisabledChainsIds({
51
- config,
52
- direction,
53
- });
54
- if (disabledChainsOnDirection.length === 0)
65
+ if (!direction)
55
66
  return tokens;
56
- // filter tokens that are not disabled
57
- const availableTokens = tokens.filter((t) => !disabledChainsOnDirection?.includes(t.chainId));
67
+ const supportedChainIds = getSupportedChainIdsForDirection(Array.from(new Set(tokens.map((t) => t.chainId))), config, direction);
68
+ const availableTokens = tokens.filter((t) => supportedChainIds.includes(t.chainId));
58
69
  return availableTokens;
59
70
  };
60
- /**
61
- * Get disabled chains based on the provided config
62
- * @returns array of disabled chain ids
63
- */
64
- export function getDisabledChainsIds({ config, direction, }) {
65
- if (!direction)
66
- return [];
67
- const parsedDirection = direction === "from" ? "source" : "destination";
68
- // If we don't have a direction, assume that we won't care about "config.disabledChains"
69
- const disabledChainsOnDirection = direction
70
- ? config.disabledChains?.[parsedDirection] ?? []
71
- : [];
72
- return Array.from(new Set(disabledChainsOnDirection));
73
- }
74
71
  export function getTokenImage(token) {
75
72
  return `${assetsBaseUrl}/images/migration/webp/${getTokenAssetsKey(token)}.webp`;
76
73
  }
@@ -444,9 +441,11 @@ export const groupTokensByChainId = (tokens, chains) => {
444
441
  * Removes some tokens based on address and chain ID.
445
442
  * Some tokens will be returned by backend but should be hidden.
446
443
  *
444
+ * Also filters tokens in `config.availableTokensPerChain` if provided.
445
+ *
447
446
  * TODO: in the future we might want to have this as a token attribute instead.
448
447
  */
449
- export const filterViewableTokens = (tokens) => {
448
+ export const filterViewableTokens = (tokens, config) => {
450
449
  const disabledTokens = [
451
450
  // On Celo, native token & custom address tokens are returned
452
451
  // so we should hide the native one but keep receiving it to use gas balance
@@ -454,8 +453,15 @@ export const filterViewableTokens = (tokens) => {
454
453
  // SagaEVM is gasless, so the native token is not used
455
454
  { chainId: CHAIN_IDS.SAGA_EVM, address: nativeEvmTokenAddress },
456
455
  ];
457
- return (tokens.filter((token) => !disabledTokens.some((disabledToken) => disabledToken.chainId === token.chainId &&
458
- disabledToken.address.toLowerCase() === token.address.toLowerCase())) ?? []);
456
+ return (tokens.filter((token) => {
457
+ const tokensForChain = config.availableTokensPerChain?.[token.chainId];
458
+ // only return tokens that are in the allowed list for this chain
459
+ if (tokensForChain && tokensForChain.length > 0) {
460
+ return tokensForChain.some((address) => address.toLowerCase() === token.address.toLowerCase());
461
+ }
462
+ return !disabledTokens.some((disabledToken) => disabledToken.chainId === token.chainId &&
463
+ disabledToken.address.toLowerCase() === token.address.toLowerCase());
464
+ }) ?? []);
459
465
  };
460
466
  export const getSecretNetworkBalances = async (chainData, cosmosAddress, squidTokens, keplrTypeWallet) => {
461
467
  const squidSecretTokens = squidTokens.filter((t) => t.chainId === CHAIN_IDS.SECRET);
@@ -1 +1 @@
1
- {"version":3,"file":"assetsService.js","sourceRoot":"","sources":["../../../src/services/internal/assetsService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"assetsService.js","sourceRoot":"","sources":["../../../src/services/internal/assetsService.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,SAAS,GAIV,MAAM,sBAAsB,CAAC;AAE9B,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,EACL,SAAS,EACT,4BAA4B,EAC5B,yBAAyB,EACzB,qBAAqB,GACtB,MAAM,sBAAsB,CAAC;AAK9B,OAAO,EACL,0BAA0B,EAC1B,uCAAuC,EACvC,iBAAiB,GAClB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAEvD,MAAM,CAAC,MAAM,aAAa,GACxB,uDAAuD,CAAC;AAE1D,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,MAAa,EAAE,MAAa,EAAE,EAAE;IAC9D,OAAO,OAAO,CACZ,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;QACtE,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAC3E,CAAC;AACJ,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,EAC5C,CAAC,EACD,CAAC,EACD,YAAY,GAKb,EAAc,EAAE;IACf,MAAM,0BAA0B,GAAG,eAAe,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;IAEpE,MAAM,0BAA0B,GAAG,eAAe,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;IAEpE,IAAI,0BAA0B,IAAI,CAAC,0BAA0B,EAAE;QAC7D,OAAO,CAAC,CAAC,CAAC;KACX;IAED,IAAI,CAAC,0BAA0B,IAAI,0BAA0B,EAAE;QAC7D,OAAO,CAAC,CAAC;KACV;IAED,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,CACzB,SAAyB,EACC,EAAE;IAC5B,OAAO,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC;AACzD,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAC9C,QAAkB,EAClB,MAA6D,EAC7D,SAAyB,EACf,EAAE;IACZ,IAAI,CAAC,SAAS;QAAE,OAAO,QAAQ,CAAC;IAEhC,MAAM,eAAe,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;IACtD,MAAM,eAAe,GAAG,MAAM,CAAC,eAAe,EAAE,CAAC,eAAe,CAAC,CAAC;IAElE,IAAI,eAAe,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;QACjD,OAAO,eAAe,CAAC;KACxB;IAED,MAAM,cAAc,GAAG,MAAM,CAAC,cAAc,EAAE,CAAC,eAAe,CAAC,CAAC;IAEhE,IAAI,cAAc,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;QAC/C,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;KAC5D;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,EAC3B,MAAM,EACN,MAAM,EACN,SAAS,GAKV,EAAe,EAAE;IAChB,MAAM,iBAAiB,GAAG,gCAAgC,CACxD,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAC5B,MAAM,EACN,SAAS,CACV,CAAC;IAEF,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAC1C,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CACtC,CAAC;IAEF,OAAO,eAAe,CAAC;AACzB,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,EAC3B,MAAM,EACN,MAAM,EACN,SAAS,GAKV,EAAW,EAAE;IACZ,IAAI,CAAC,SAAS;QAAE,OAAO,MAAM,CAAC;IAE9B,MAAM,iBAAiB,GAAG,gCAAgC,CACxD,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EACjD,MAAM,EACN,SAAS,CACV,CAAC;IAEF,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAC1C,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CACtC,CAAC;IAEF,OAAO,eAAe,CAAC;AACzB,CAAC,CAAC;AAEF,MAAM,UAAU,aAAa,CAC3B,KAA0C;IAE1C,OAAO,GAAG,aAAa,0BAA0B,iBAAiB,CAAC,KAAK,CAAC,OAAO,CAAC;AACnF,CAAC;AAED;;;GAGG;AACH,MAAM,oCAAoC,GAAG,CAAC,EAC5C,WAAW,EACX,gBAAgB,EAChB,cAAc,EACd,SAAS,EACT,SAAS,EACT,MAAM,EACN,MAAM,EACN,MAAM,GAaP,EAAE,EAAE;IACH,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAC1B,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,OAAO,KAAK,CAAC,gBAAgB,IAAI,SAAS,EAAE,gBAAgB,CAAC;QAC/D,CAAC,CAAC,OAAO,KAAK,WAAW,CAC5B,CAAC;IAEF,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAC3B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC,SAAS,IAAI,SAAS,EAAE,SAAS,CAAC,CACzD,CAAC;IAEF,MAAM,iBAAiB,GAAG,WAAW,KAAK,SAAS,CAAC;IACpD,MAAM,yBAAyB,GAAG,0BAA0B,CAAC;QAC3D,MAAM,EAAE,iBAAiB,CAAC,MAAM,EAAE,SAAS,IAAI,SAAS,EAAE,SAAS,CAAC;QACpE,wBAAwB,EAAE,SAAS;QACnC,mBAAmB,EAAE,QAAQ;QAC7B,iBAAiB;KAClB,CAAC,CAAC;IAEH,MAAM,gBAAgB,GAAG,uCAAuC,CAAC;QAC/D,MAAM,EAAE,yBAAyB;QACjC,MAAM;QACN,OAAO,EAAE,SAAS,IAAI,SAAS,EAAE,SAAS;QAC1C,SAAS,EAAE,IAAI;KAChB,CAAC,CAAC;IAEH,IAAI,uBAAuB,GACzB,SAAS,IAAI,CAAC,cAAc;QAC1B,CAAC,CAAC,gBAAgB;QAClB,CAAC,CAAC,cAAc,IAAI,SAAS,EAAE,cAAc,CAAC;IAElD,MAAM,gCAAgC,GACpC,uBAAuB,EAAE,WAAW,EAAE,CAAC;IAEzC,IACE,yBAAyB,CAAC,IAAI,CAC5B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,gCAAgC,CACtD,KAAK,SAAS,EACf;QACA,uBAAuB,GAAG,gBAAgB,CAAC;KAC5C;IACD,OAAO,gCAAgC,CAAC;AAC1C,CAAC,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,EACxC,WAAW,EACX,gBAAgB,EAChB,MAAM,EACN,MAAM,EACN,MAAM,EACN,WAAW,EACX,sBAAsB,GAevB,EAAc,EAAE;IACf,MAAM,EACJ,WAAW,EACX,gBAAgB,EAChB,SAAS,EACT,cAAc,EACd,kBAAkB,EAClB,eAAe,EACf,oBAAoB,GACrB,GAAG,WAAW,CAAC;IAEhB,MAAM,UAAU,GAAG,WAAW,IAAI,gBAAgB,EAAE,WAAW,CAAC;IAChE,MAAM,kBAAkB,GAAG,SAAS,IAAI,gBAAgB,EAAE,SAAS,CAAC;IACpE,MAAM,kBAAkB,GAAG,uCAAuC,CAAC;QACjE,MAAM;QACN,MAAM;QACN,OAAO,EAAE,UAAU;QACnB,SAAS,EAAE,MAAM;QACjB,YAAY,EAAE,cAAc;YAC1B,CAAC,CAAC;gBACE,OAAO,EAAE,cAAc;gBACvB,OAAO,EAAE,kBAAkB,IAAI,EAAE;aAClC;YACH,CAAC,CAAC,SAAS;QACb,kBAAkB,EAAE;YAClB,OAAO,EAAE,sBAAsB;YAC/B,WAAW;SACZ;KACF,CAAC,CAAC;IAEH,oDAAoD;IACpD,MAAM,iBAAiB,GACrB,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,cAAc,CAAC;IAEzE,MAAM,wBAAwB,GAAG,iBAAiB,IAAI,CAAC,gBAAgB,CAAC;IAExE,0DAA0D;IAC1D,MAAM,2BAA2B,GAC/B,iBAAiB;QACjB,UAAU,KAAK,gBAAgB,EAAE,SAAS;QAC1C,gBAAgB,KAAK,gBAAgB,EAAE,cAAc,CAAC;IAExD,oDAAoD;IACpD,MAAM,eAAe,GACnB,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,gBAAgB,CAAC;IAEzE,0DAA0D;IAC1D,MAAM,2BAA2B,GAC/B,eAAe;QACf,kBAAkB,KAAK,gBAAgB,EAAE,WAAW;QACpD,cAAc,KAAK,gBAAgB,EAAE,gBAAgB,CAAC;IAExD,MAAM,kBAAkB,GACtB,2BAA2B,IAAI,wBAAwB;QACrD,CAAC,CAAC,kBAAkB;QACpB,CAAC,CAAC,gBAAgB,IAAI,gBAAgB,EAAE,gBAAgB,CAAC;IAE7D,IAAI,uBAAuB,GAAG,SAAS,CAAC;IACxC,IAAI,CAAC,2BAA2B,EAAE;QAChC,IAAI,wBAAwB,EAAE;YAC5B,uEAAuE;YACvE,uBAAuB;gBACrB,cAAc,IAAI,gBAAgB,EAAE,cAAc,CAAC;SACtD;aAAM;YACL,uBAAuB,GAAG,oCAAoC,CAAC;gBAC7D,WAAW;gBACX,gBAAgB;gBAChB,cAAc;gBACd,SAAS;gBACT,SAAS,EAAE,gBAAgB;gBAC3B,MAAM;gBACN,MAAM;gBACN,MAAM;aACP,CAAC,CAAC;SACJ;KACF;IAED,IAAI,qBAAkD,CAAC;IACvD,IAAI,kBAAkB,EAAE,OAAO,KAAK,4BAA4B,EAAE;QAChE,qBAAqB,GAAG,SAAS,CAAC;KACnC;SAAM;QACL,MAAM,WAAW,GACf,kBAAkB,IAAI,gBAAgB,EAAE,kBAAkB,CAAC;QAE7D,MAAM,qBAAqB,GAAG,oBAAoB,CAChD,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,kBAAkB,CAAC,EACpD,WAAW,EAAE,OAAO,CACrB,CAAC;QAEF,IAAI,qBAAqB,EAAE;YACzB,qBAAqB,GAAG,WAAW,CAAC;SACrC;KACF;IAED,IAAI,kBAAsC,CAAC;IAC3C,IACE,kBAAkB,EAAE,OAAO,KAAK,4BAA4B;QAC5D,eAAe,KAAK,yBAAyB,EAC7C;QACA,kBAAkB,GAAG,SAAS,CAAC;KAChC;SAAM;QACL,kBAAkB,GAAG,eAAe,IAAI,gBAAgB,EAAE,eAAe,CAAC;KAC3E;IAED,MAAM,uBAAuB,GAC3B,oBAAoB,IAAI,gBAAgB,EAAE,oBAAoB,CAAC;IAEjE,OAAO;QACL,WAAW,EAAE,UAAU;QACvB,gBAAgB,EAAE,kBAAkB;QACpC,SAAS,EAAE,kBAAkB;QAC7B,cAAc,EAAE,uBAAuB;QACvC,kBAAkB,EAAE,qBAAqB;QACzC,eAAe,EAAE,kBAAkB;QACnC,oBAAoB,EAAE,uBAAuB;KAC9C,CAAC;AACJ,CAAC,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,MAAqD,EACrD,MAAqD,EACrD,EAAE;IACF,MAAM,mBAAmB,GAAG;QAC1B,GAAG;QACH,IAAI;QACJ,OAAO;QACP,KAAK;QACL,KAAK;QACL,OAAO;QACP,IAAI;QACJ,KAAK,EAAE,SAAS;KACjB,CAAC;IAEF,MAAM,kBAAkB,GAAG,CAAC,OAAe,EAAE,EAAE;QAC7C,MAAM,KAAK,GAAG,mBAAmB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACnD,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC;IACxD,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,CAAC,KAA6B,EAAE,EAAE;QACjD,OAAO,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,qBAAqB,CAAC;IAC/D,CAAC,CAAC;IAEF,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE;QACxC,OAAO,CACL,kBAAkB,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,kBAAkB,CAAC,MAAM,CAAC,OAAO,CAAC,CACxE,CAAC;KACH;IAED,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE;QACpB,OAAO,CAAC,CAAC,CAAC;KACX;IAED,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE;QACpB,OAAO,CAAC,CAAC;KACV;IAED,MAAM,aAAa,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAEpD,IAAI,MAAM,KAAK,CAAC,CAAC,IAAI,MAAM,KAAK,CAAC,CAAC,EAAE;QAClC,OAAO,MAAM,GAAG,MAAM,CAAC;KACxB;IAED,IAAI,MAAM,KAAK,CAAC,CAAC,EAAE;QACjB,OAAO,CAAC,CAAC,CAAC;KACX;IAED,IAAI,MAAM,KAAK,CAAC,CAAC,EAAE;QACjB,OAAO,CAAC,CAAC;KACV;IAED,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,MAAa,EAAE,OAAgB,EAAE,OAAgB,EAAE,EAAE,CAC7E,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,IAAI,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC;AAErE,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,MAAe,EACf,KAEC,EACkB,EAAE,CACrB,MAAM,CAAC,IAAI,CACT,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,KAAK,EAAE,cAAc,CAAC,MAAM,CAAC,WAAW,EAAE;IACrE,CAAC,CAAC,OAAO,IAAI,KAAK,EAAE,OAAO,CAC9B,CAAC;AAEJ,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,OAAe,EAAU,EAAE;IAC7D,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;QAC7C,OAAO,OAAO,CAAC;KAChB;IAED,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3C,OAAO,GAAG,MAAM,CAAC,WAAW,EAAE,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;AAC1D,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,QAAgB,EAAE,QAAgB,EAAE,EAAE;IACzE,MAAM,kBAAkB,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IACzD,MAAM,kBAAkB,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IACzD,OAAO,kBAAkB,KAAK,kBAAkB,CAAC;AACnD,CAAC,CAAC;AAEF,+CAA+C;AAC/C,MAAM,kBAAkB,GAAG;IACzB,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;CACP,CAAC;AAEF;;;GAGG;AACH,SAAS,sBAAsB,CAC7B,MAA0B;IAE1B,6BAA6B;IAC7B,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAC7B,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,qBAAqB,CAAC,WAAW,EAAE,CACtE,CAAC;IAEF,IAAI,WAAW,EAAE;QACf,OAAO;YACL,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACxC,OAAO,EAAE,aAAa,CAAC,WAAW,CAAC,IAAI,EAAE;YACzC,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;SACrC,CAAC;KACH;IAED,gCAAgC;IAChC,kCAAkC;IAClC,MAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,CACnC,CAAC,KAAK,EAAE,EAAE,CACR,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CACvE,CAAC;IAEF,IAAI,iBAAiB,EAAE;QACrB,OAAO;YACL,MAAM,EAAE,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC9C,OAAO,EAAE,aAAa,CAAC,iBAAiB,CAAC,IAAI,EAAE;YAC/C,IAAI,EAAE,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;SAC3C,CAAC;KACH;IAED,oEAAoE;IACpE,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC7C,GAAG,KAAK;QACR,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;KACnC,CAAC,CAAC,CAAC;IAEJ,sDAAsD;IACtD,MAAM,gBAAgB,GAAG,eAAe,CAAC,IAAI,CAC3C,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CACrB,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,CAAC,KAAK,KAAK,CAC7D,CAAC;IAEF,OAAO;QACL,MAAM,EAAE,gBAAgB,EAAE,MAAM,IAAI,EAAE;QACtC,OAAO,EAAE,aAAa,CAAC,gBAAgB,CAAC,IAAI,EAAE;QAC9C,IAAI,EAAE,gBAAgB,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;KACjD,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,MAAW,EACX,SAAqB,EAIrB,EAAE;IACF,MAAM,MAAM,GAAkC,EAAE,CAAC;IACjD,2CAA2C;IAC3C,MAAM,cAAc,GAAG,SAAS;QAC9B,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC;QACpD,CAAC,CAAC,MAAM,CAAC;IAEX,6CAA6C;IAC7C,cAAc,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QAC/B,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACjE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE;YACrB,MAAM,CAAC,QAAQ,CAAC,GAAG;gBACjB,MAAM,EAAE,EAAE;gBACV,OAAO,EAAE,EAAE;gBACX,IAAI,EAAE,EAAE;gBACR,MAAM,EAAE,EAAE;gBACV,YAAY,EAAE,GAAG;gBACjB,eAAe,EAAE,GAAG;gBACpB,OAAO,EAAE,GAAG;gBACZ,OAAO,EAAE,EAAE;gBACX,YAAY,EAAE,EAAE;aACjB,CAAC;SACH;QACD,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpC,MAAM,CAAC,QAAQ,CAAC,CAAC,YAAY,GAAG,IAAI,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC;aACzE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;aACnB,QAAQ,EAAE,CAAC;QAEd,MAAM,aAAa,GAAG,uBAAuB,CAC3C,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,QAAQ,IAAI,CAAC,CACpB,CAAC;QACF,MAAM,CAAC,QAAQ,CAAC,CAAC,eAAe,GAAG,IAAI,SAAS,CAC9C,MAAM,CAAC,QAAQ,CAAC,CAAC,eAAe,IAAI,GAAG,CACxC;aACE,IAAI,CAAC,aAAa,CAAC;aACnB,QAAQ,EAAE,CAAC;IAChB,CAAC,CAAC,CAAC;IAEH,0DAA0D;IAC1D,MAAM,YAAY,GAAkC,EAAE,CAAC;IACvD,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QAC9C,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACxD,IAAI,QAAQ,GAAG,GAAG,CAAC;QAEnB,8BAA8B;QAC9B,IACE,kBAAkB,CAAC,QAAQ,CAAC,UAAU,CAAC;YACvC,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC;gBACzB,kBAAkB,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EACnD;YACA,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;SACzC;QAED,uDAAuD;QACvD,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE;YAC3B,YAAY,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC;SACvC;aAAM;YACL,8DAA8D;YAC9D,YAAY,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;YACpD,YAAY,CAAC,QAAQ,CAAC,CAAC,YAAY,GAAG,IAAI,SAAS,CACjD,YAAY,CAAC,QAAQ,CAAC,CAAC,YAAY,CACpC;iBACE,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC;iBACxB,QAAQ,EAAE,CAAC;YACd,6CAA6C;YAC7C,YAAY,CAAC,QAAQ,CAAC,CAAC,eAAe,GAAG,IAAI,SAAS,CACpD,YAAY,CAAC,QAAQ,CAAC,CAAC,eAAe,IAAI,GAAG,CAC9C;iBACE,IAAI,CAAC,KAAK,CAAC,eAAe,IAAI,GAAG,CAAC;iBAClC,QAAQ,EAAE,CAAC;SACf;IACH,CAAC,CAAC,CAAC;IAEH,8DAA8D;IAC9D,MAAM,WAAW,GAAiB,EAAE,CAAC;IACrC,MAAM,SAAS,GAAQ,EAAE,CAAC;IAE1B,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QAC5C,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;YAC7B,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAM,CAAC,CAAC;SACtC;aAAM;YACL,MAAM,WAAW,GAAG,sBAAsB,CAAC,KAAK,CAAC,MAAa,CAAC,CAAC;YAChE,WAAW,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,EAAE,GAAG,WAAW,EAAE,CAAC,CAAC;SAChD;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;AAC7C,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,MAAW,EACX,MAAmB,EACL,EAAE;IAChB,MAAM,MAAM,GAAkC,EAAE,CAAC;IAEjD,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QACvB,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,CAAC,CAAC;QAC1E,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE;YACrB,MAAM,CAAC,QAAQ,CAAC,GAAG;gBACjB,MAAM,EAAE,SAAS,EAAE,cAAc,CAAC,MAAM,IAAI,EAAE;gBAC9C,OAAO,EAAE,SAAS,EAAE,YAAY,IAAI,EAAE;gBACtC,IAAI,EAAE,SAAS,EAAE,WAAW,IAAI,EAAE;gBAClC,MAAM,EAAE,EAAE;gBACV,YAAY,EAAE,GAAG;gBACjB,eAAe,EAAE,GAAG;gBACpB,OAAO,EAAE,GAAG;gBACZ,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,YAAY,EAAE,SAAS,EAAE,YAAY,IAAI,EAAE;aAC5C,CAAC;SACH;QACD,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpC,MAAM,CAAC,QAAQ,CAAC,CAAC,YAAY,GAAG,IAAI,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC;aACzE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;aACnB,QAAQ,EAAE,CAAC;QAEd,mDAAmD;QACnD,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,GAAG,CAAC,EAAE;YACxC,MAAM,aAAa,GAAG,uBAAuB,CAC3C,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,QAAQ,CACf,CAAC;YACF,MAAM,CAAC,QAAQ,CAAC,CAAC,eAAe,GAAG,IAAI,SAAS,CAC9C,MAAM,CAAC,QAAQ,CAAC,CAAC,eAAe,IAAI,GAAG,CACxC;iBACE,IAAI,CAAC,aAAa,CAAC;iBACnB,QAAQ,EAAE,CAAC;SACf;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAC/B,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,MAA0B,EAC1B,MAAkD,EAC9B,EAAE;IACtB,MAAM,cAAc,GAAG;QACrB,6DAA6D;QAC7D,4EAA4E;QAC5E,EAAE,OAAO,EAAE,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,qBAAqB,EAAE;QAC3D,sDAAsD;QACtD,EAAE,OAAO,EAAE,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,qBAAqB,EAAE;KAChE,CAAC;IAEF,OAAO,CACL,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;QACtB,MAAM,cAAc,GAAG,MAAM,CAAC,uBAAuB,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAEvE,iEAAiE;QACjE,IAAI,cAAc,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;YAC/C,OAAO,cAAc,CAAC,IAAI,CACxB,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,CACnE,CAAC;SACH;QAED,OAAO,CAAC,cAAc,CAAC,IAAI,CACzB,CAAC,aAAa,EAAE,EAAE,CAChB,aAAa,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO;YACvC,aAAa,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,CACtE,CAAC;IACJ,CAAC,CAAC,IAAI,EAAE,CACT,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG,KAAK,EAC3C,SAAoB,EACpB,aAAqB,EACrB,WAAoB,EACpB,eAAoB,EACS,EAAE;IAC/B,MAAM,iBAAiB,GAAG,WAAW,CAAC,MAAM,CAC1C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC,MAAM,CAC3B,CAAC;IAEb,MAAM,EAAE,sBAAsB,EAAE,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;IAE7E,OAAO,sBAAsB,CAC3B,SAAS,EACT,aAAa,EACb,iBAAiB,EACjB,eAAe,CAChB,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,UAAU,iBAAiB,CAAC,KAA0C;IAC1E,wDAAwD;IACxD,OAAO,GAAG,KAAK,EAAE,OAAO,IAAI,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;AACpF,CAAC;AAkBD,MAAM,CAAC,KAAK,UAAU,iBAAiB;IACrC,IAAI;QACF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAC1B,GAAG,aAAa,oCAAoC,CACrD,CAAC;QAEF,MAAM,YAAY,GAAiB,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAEzD,MAAM,eAAe,GACnB,OAAO,YAAY,KAAK,QAAQ;YAChC,OAAO,YAAY,CAAC,MAAM,KAAK,QAAQ;YACvC,OAAO,YAAY,CAAC,MAAM,KAAK,QAAQ,CAAC;QAE1C,IAAI,CAAC,eAAe,EAAE;YACpB,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;SACnD;QAED,OAAO,YAAY,CAAC;KACrB;IAAC,OAAO,KAAK,EAAE;QACd,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;QACpD,OAAO;YACL,MAAM,EAAE,EAAE;YACV,MAAM,EAAE,EAAE;SACX,CAAC;KACH;AACH,CAAC;AAED,MAAM,UAAU,+BAA+B,CAC7C,KAAY,EACZ,YAA0B;IAE1B,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAE9E,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACxC,MAAM,YAAY,GAAG,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAE3D,OAAO;YACL,GAAG,KAAK;YACR,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI;YAC/C,OAAO,EAAE,YAAY,CAAC,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO;YAC/D,SAAS,EAAE,YAAY,CAAC,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS;SACpE,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACxC,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;QAE5D,4CAA4C;QAC5C,0CAA0C;QAC1C,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE;YACvB,MAAM,QAAQ,GAAG,sBAAsB,CAAC,KAAoB,CAAC,CAAC;YAE9D,OAAO;gBACL,GAAG,QAAQ;gBACX,OAAO;aACR,CAAC;SACH;QAED,OAAO;YACL,GAAG,KAAK;YACR,OAAO;SACR,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,GAAwC;IAExC,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IAEtB,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC;AAClE,CAAC;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,MAAc,EAAU,EAAE;IAC7D,OAAO,MAAM,CAAC,WAAW,EAAE,CAAC;AAC9B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG,CACvC,OAAe,EACf,OAAe,EACN,EAAE;IACX,OAAO,oBAAoB,CAAC,OAAO,CAAC,KAAK,oBAAoB,CAAC,OAAO,CAAC,CAAC;AACzE,CAAC,CAAC;AACF,MAAM,UAAU,YAAY,CAAC,KAA4B;IACvD,OAAQ,KAAqB,EAAE,OAAO,IAAI,KAAK,CAAC;AAClD,CAAC;AAED,SAAS,sBAAsB,CAAC,WAAwB;IACtD,OAAO;QACL,2DAA2D;QAC3D,+CAA+C;QAC/C,yEAAyE;QACzE,0DAA0D;QAC1D,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,SAAS,CAAC,GAAG;QACxB,eAAe,EAAE,WAAW,CAAC,eAAe;QAC5C,iBAAiB,EAAE,WAAW,CAAC,iBAAiB;QAChD,OAAO,EAAE,WAAW,CAAC,OAAO;QAC5B,OAAO,EAAE,WAAW,CAAC,OAAO;QAC5B,YAAY,EAAE,WAAW,CAAC,YAAY;QACtC,oBAAoB,EAAE,WAAW,CAAC,oBAAoB;QACtD,oBAAoB,EAAE;YACpB,WAAW,EAAE,EAAE;YACf,SAAS,EAAE,EAAE;YACb,SAAS,EAAE,EAAE;YACb,kBAAkB,EAAE,EAAE;SACvB;QACD,WAAW,EAAE,WAAW,CAAC,WAAW;QACpC,cAAc,EAAE;YACd,QAAQ,EAAE,WAAW,CAAC,cAAc,CAAC,QAAQ;YAC7C,IAAI,EAAE,WAAW,CAAC,cAAc,CAAC,IAAI;YACrC,MAAM,EAAE,WAAW,CAAC,cAAc,CAAC,MAAM;YACzC,IAAI,EAAE,WAAW,CAAC,cAAc,CAAC,IAAI;SACtC;QACD,WAAW,EAAE,WAAW,CAAC,WAAW;QACpC,GAAG,EAAE,WAAW,CAAC,GAAG;QACpB,iBAAiB,EAAE,WAAW,CAAC,iBAAiB;QAChD,uBAAuB,EAAE,WAAW,CAAC,uBAAuB;QAC5D,cAAc,EAAE,WAAW,CAAC,cAAc;QAC1C,gBAAgB,EAAE,WAAW,CAAC,gBAAgB;QAC9C,cAAc,EAAE,WAAW,CAAC,cAAc;QAC1C,UAAU,EAAE,WAAW,CAAC,UAAU;QAClC,iBAAiB,EAAE,WAAW,CAAC,iBAAiB;KACjD,CAAC;AACJ,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { QueryClient } from "@tanstack/react-query";
2
2
  import type { AppConfig } from "../../core/types/config";
3
+ import { SwapDirection } from "../../core/types/swap";
3
4
  import { Chain, Token } from "../../core/types/tokens";
4
5
  export declare const getConfigWithDefaults: (config: AppConfig | undefined) => AppConfig;
5
6
  export declare const randomIntFromInterval: (min: number, max: number) => number;
@@ -9,14 +10,14 @@ export declare const getTokensForChain: (tokens: Token[], chainId: number | stri
9
10
  * If no initial chains are found in config, returns the first available chain ID.
10
11
  * @returns The first available chain ID.
11
12
  */
12
- export declare const getFirstAvailableChainId: (config: Pick<AppConfig, "disabledChains" | "initialAssets">, direction: "from" | "to", chains?: Chain[] | undefined) => string | undefined;
13
+ export declare const getFirstAvailableChainId: (config: Pick<AppConfig, "disabledChains" | "initialAssets" | "availableChains">, direction: SwapDirection, chains?: Chain[] | undefined) => string | undefined;
13
14
  export declare const fetchHighestBalanceToken: (fetchCachedBalance?: {
14
15
  address?: string;
15
16
  queryClient?: QueryClient;
16
17
  }, chainId?: string) => string | undefined;
17
18
  /**
18
19
  * Returns the default token address for a specific chain and direction based on config.
19
- * If no default tokens are set in config, returns the first token in the tokens array for the specified chain
20
+ * If no default tokens are set in config, returns the native token for the specified chain
20
21
  *
21
22
  * @param tokens The list of tokens.
22
23
  * @param config App config
@@ -27,9 +28,9 @@ export declare const fetchHighestBalanceToken: (fetchCachedBalance?: {
27
28
  */
28
29
  export declare const getInitialOrDefaultTokenAddressForChain: ({ tokens, config, chainId, direction, excludeToken, fetchCachedBalance, }: {
29
30
  tokens: Token[];
30
- config: Pick<AppConfig, "initialAssets" | "defaultTokensPerChain" | "disabledChains">;
31
+ config: Pick<AppConfig, "initialAssets" | "defaultTokensPerChain" | "disabledChains" | "availableChains">;
31
32
  chainId: string | undefined;
32
- direction: "from" | "to";
33
+ direction: SwapDirection;
33
34
  excludeToken?: {
34
35
  address?: string | undefined;
35
36
  chainId?: string | undefined;
@@ -53,7 +54,7 @@ export declare const getInitialTokenAddressForChain: ({ chainId, config, directi
53
54
  tokens: Token[];
54
55
  config: Pick<AppConfig, "initialAssets">;
55
56
  chainId: string | undefined;
56
- direction: "from" | "to";
57
+ direction: SwapDirection;
57
58
  unavailableTokenAddress?: string | undefined;
58
59
  }) => string | undefined;
59
60
  /**
@@ -82,16 +83,7 @@ export declare const filterTokensForDestination: <T extends Token>({ tokens, sel
82
83
  * @returns The initial chain ID if found in config; otherwise, undefined.
83
84
  */
84
85
  export declare const getInitialChainIdFromConfig: ({ config, direction, chains, }: {
85
- config: Pick<AppConfig, "initialAssets" | "disabledChains">;
86
- direction: "from" | "to";
86
+ config: Pick<AppConfig, "initialAssets" | "disabledChains" | "availableChains">;
87
+ direction: SwapDirection;
87
88
  chains: Chain[] | undefined;
88
89
  }) => string | undefined;
89
- /**
90
- * Returns the unavailable chains for a specific direction based on the provided config,
91
- * filtering config.disabledChains and config.comingSoonChains
92
- * @returns The unavailable chains for the specified direction.
93
- */
94
- export declare const getUnavailableChainIdsForDirection: ({ config, direction, }: {
95
- config: Pick<AppConfig, "disabledChains">;
96
- direction: "from" | "to";
97
- }) => Set<string>;