@0xsquid/react-hooks 9.0.0-beta-bump-wagmi-viem.2 → 9.0.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.
- package/dist/core/canton/cantonConnector.d.ts +32 -0
- package/dist/core/canton/cip103Client.d.ts +20 -0
- package/dist/core/canton/errors.d.ts +4 -0
- package/dist/core/canton/injectedCantonProvider.d.ts +31 -0
- package/dist/core/canton/loopCantonConnector.d.ts +38 -0
- package/dist/core/client/index.d.ts +1 -0
- package/dist/core/connectors/bitcoin/wallets/keplr.d.ts +3 -0
- package/dist/core/connectors/bitcoin/wallets/phantom.d.ts +3 -1
- package/dist/core/connectors/bitcoin/wallets/unisat.d.ts +15 -0
- package/dist/core/constants.d.ts +10 -4
- package/dist/core/externalLinks.d.ts +1 -1
- package/dist/core/fallbackWallets.d.ts +16 -0
- package/dist/core/index.d.ts +1 -1
- package/dist/core/providers/CantonProvider.d.ts +19 -0
- package/dist/core/queries/queries-keys.d.ts +9 -4
- package/dist/core/queries/queryClient.d.ts +2 -0
- package/dist/core/types/bitcoin.d.ts +3 -0
- package/dist/core/types/canton.d.ts +92 -0
- package/dist/core/types/config.d.ts +9 -3
- package/dist/core/types/cosmos.d.ts +5 -0
- package/dist/core/types/error.d.ts +0 -6
- package/dist/core/types/event.d.ts +4 -0
- package/dist/core/types/history.d.ts +14 -6
- package/dist/core/types/index.d.ts +4 -3
- package/dist/core/types/solana.d.ts +8 -0
- package/dist/core/types/status.d.ts +116 -0
- package/dist/core/types/stellar.d.ts +52 -0
- package/dist/core/types/tokens.d.ts +4 -0
- package/dist/core/types/transaction.d.ts +5 -31
- package/dist/core/types/wallet.d.ts +16 -8
- package/dist/core/wallets.d.ts +6 -1
- package/dist/hooks/canton/useCanton.d.ts +2 -0
- package/dist/hooks/canton/useCantonWallets.d.ts +10 -0
- package/dist/hooks/chains/useSquidChains.d.ts +1 -0
- package/dist/hooks/index.d.ts +4 -2
- package/dist/hooks/stellar/useStellarTrustLine.d.ts +13 -0
- package/dist/hooks/store/historyStoreMigration.d.ts +9 -0
- package/dist/hooks/store/useDepositAddressStore.d.ts +18 -5
- package/dist/hooks/store/useHistoryStore.d.ts +2 -4
- package/dist/hooks/swap/useDepositAddress.d.ts +6 -7
- package/dist/hooks/swap/useUrlSwapParams.d.ts +10 -0
- package/dist/hooks/tokens/useBalance.d.ts +1 -0
- package/dist/hooks/tokens/useNativeBalance.d.ts +1 -0
- package/dist/hooks/tokens/useSourceChainGasToken.d.ts +13 -0
- package/dist/hooks/tokens/useSquidTokens.d.ts +1 -0
- package/dist/hooks/transaction/liveSwapStatus.d.ts +12 -0
- package/dist/hooks/transaction/send/useEstimateSendTransactionGas.d.ts +11 -2
- package/dist/hooks/transaction/swapStatusEffects.d.ts +9 -0
- package/dist/hooks/transaction/useAllTransactionsStatus.d.ts +1 -28
- package/dist/hooks/transaction/useArcFeeCheck.d.ts +5 -0
- package/dist/hooks/transaction/useDepositTransactionStatus.d.ts +18 -0
- package/dist/hooks/transaction/useEstimate.d.ts +7 -12
- package/dist/hooks/transaction/useSwapStatusQuery.d.ts +42 -0
- package/dist/hooks/transaction/useSwapTransactionStatus.d.ts +11 -7
- package/dist/hooks/transaction/useTempoFeeCheck.d.ts +11 -0
- package/dist/hooks/user/useHistory.d.ts +2 -2
- package/dist/hooks/wallet/useMultiChainWallet.d.ts +55 -29
- package/dist/hooks/wallet/useSigner.d.ts +1 -0
- package/dist/hooks/wallet/useWallet.d.ts +59 -29
- package/dist/hooks/xrpl/useXrplWallets.d.ts +2 -2
- package/dist/{index-DvtX3lMK.js → index-BbLFIIzM.js} +5733 -1890
- package/dist/index-BbLFIIzM.js.map +1 -0
- package/dist/{index-Am7B-ANI.js → index-DnLb20V8.js} +5739 -1891
- package/dist/index-DnLb20V8.js.map +1 -0
- package/dist/{index.es-D8CJEHCT.js → index.es-CmB_yJCF.js} +8 -7
- package/dist/index.es-CmB_yJCF.js.map +1 -0
- package/dist/{index.es-tQM55FRF.js → index.es-DN5whlOO.js} +8 -7
- package/dist/index.es-DN5whlOO.js.map +1 -0
- package/dist/index.esm.js +7 -6
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +37 -39
- package/dist/index.js.map +1 -1
- package/dist/provider/index.d.ts +0 -1
- package/dist/{secretService-owSXKwWk.js → secretService-AQfnpZHo.js} +8 -7
- package/dist/{secretService-owSXKwWk.js.map → secretService-AQfnpZHo.js.map} +1 -1
- package/dist/{secretService-j1xXWg00.js → secretService-CHz5vw6s.js} +8 -7
- package/dist/{secretService-j1xXWg00.js.map → secretService-CHz5vw6s.js.map} +1 -1
- package/dist/server.d.ts +1 -0
- package/dist/server.esm.js +120 -0
- package/dist/server.esm.js.map +1 -0
- package/dist/server.js +132 -0
- package/dist/server.js.map +1 -0
- package/dist/services/external/onrampAdapter.d.ts +3 -4
- package/dist/services/external/rpcService.d.ts +16 -1
- package/dist/services/external/stellarApiClient.d.ts +4 -0
- package/dist/services/external/stellarRpcClient.d.ts +2 -2
- package/dist/services/external/xrplRpcClient.d.ts +2 -1
- package/dist/services/index.d.ts +5 -0
- package/dist/services/internal/apiService.d.ts +0 -2
- package/dist/services/internal/arcService.d.ts +9 -0
- package/dist/services/internal/assetsService.d.ts +14 -4
- package/dist/services/internal/cantonDamlValue.d.ts +71 -0
- package/dist/services/internal/cantonService.d.ts +82 -0
- package/dist/services/internal/cantonTransferService.d.ts +93 -0
- package/dist/services/internal/configService.d.ts +2 -62
- package/dist/services/internal/errorService.d.ts +6 -4
- package/dist/services/internal/estimateService.d.ts +30 -33
- package/dist/services/internal/eventService.d.ts +4 -0
- package/dist/services/internal/evmService.d.ts +4 -2
- package/dist/services/internal/solanaTokenProgramService.d.ts +9 -0
- package/dist/services/internal/status/statusApi.d.ts +41 -0
- package/dist/services/internal/status/statusExplorerLinks.d.ts +52 -0
- package/dist/services/internal/status/statusFollow.d.ts +29 -0
- package/dist/services/internal/status/statusGuards.d.ts +19 -0
- package/dist/services/internal/status/statusHistory.d.ts +35 -0
- package/dist/services/internal/status/statusKeys.d.ts +8 -0
- package/dist/services/internal/status/statusMapping.d.ts +73 -0
- package/dist/services/internal/status/statusPolicy.d.ts +45 -0
- package/dist/services/internal/status/statusSteps.d.ts +40 -0
- package/dist/services/internal/status/statusWsClient.d.ts +157 -0
- package/dist/services/internal/stellarService.d.ts +9 -0
- package/dist/services/internal/tempoService.d.ts +42 -0
- package/dist/services/internal/transactionService.d.ts +11 -24
- package/dist/services/internal/transactionStatusService.d.ts +1 -54
- package/dist/services/internal/typeGuards.d.ts +10 -0
- package/dist/services/internal/urlParamsService.d.ts +19 -0
- package/dist/services/internal/walletService.d.ts +3 -6
- package/dist/services/internal/xrplService.d.ts +2 -0
- package/dist/{stellarService.client-x3phx3SN.js → stellarService.client-1ku2cXV6.js} +10 -9
- package/dist/{stellarService.client-x3phx3SN.js.map → stellarService.client-1ku2cXV6.js.map} +1 -1
- package/dist/{stellarService.client-B8EBfqQK.js → stellarService.client-Bre_DUVj.js} +10 -9
- package/dist/{stellarService.client-B8EBfqQK.js.map → stellarService.client-Bre_DUVj.js.map} +1 -1
- package/package.json +36 -35
- package/dist/hooks/squid/useSquidWagmiConfig.d.ts +0 -41
- package/dist/hooks/user/useUserParams.d.ts +0 -4
- package/dist/index-Am7B-ANI.js.map +0 -1
- package/dist/index-DvtX3lMK.js.map +0 -1
- package/dist/index.es-D8CJEHCT.js.map +0 -1
- package/dist/index.es-tQM55FRF.js.map +0 -1
- package/dist/services/internal/fiatToCryptoService.test.d.ts +0 -1
- package/dist/tests/apiService.test.d.ts +0 -1
- package/dist/tests/assetsService.test.d.ts +0 -1
- package/dist/tests/configService.test.d.ts +0 -1
- package/dist/tests/estimateService.test.d.ts +0 -1
- package/dist/tests/fetchSquidData.d.ts +0 -8
- package/dist/tests/numberService.test.d.ts +0 -1
- package/dist/tests/priceService.test.d.ts +0 -1
- package/dist/tests/searchService.test.d.ts +0 -1
- package/dist/tests/swapConfig.test.d.ts +0 -1
- package/dist/tests/transactionService.test.d.ts +0 -1
- package/dist/tests/transactionStatusService.test.d.ts +0 -1
- package/dist/tests/walletService.test.d.ts +0 -1
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var stargate = require('@cosmjs/stargate');
|
|
4
4
|
var secretjs = require('secretjs');
|
|
5
|
-
var index = require('./index-
|
|
5
|
+
var index = require('./index-DnLb20V8.js');
|
|
6
6
|
require('@0xsquid/squid-types');
|
|
7
7
|
require('viem');
|
|
8
8
|
require('react');
|
|
@@ -14,30 +14,31 @@ require('axios');
|
|
|
14
14
|
require('@walletconnect/modal');
|
|
15
15
|
require('@walletconnect/universal-provider');
|
|
16
16
|
require('ripple-address-codec');
|
|
17
|
+
require('bignumber.js');
|
|
17
18
|
require('@solana/spl-token');
|
|
18
19
|
require('@solana/wallet-standard-wallet-adapter-base');
|
|
19
20
|
require('@solana/web3.js');
|
|
20
21
|
require('@stellar/stellar-sdk');
|
|
21
22
|
require('@mysten/wallet-standard');
|
|
22
23
|
require('ethers');
|
|
23
|
-
require('bignumber.js');
|
|
24
|
-
require('@0xsquid/sdk');
|
|
25
|
-
require('viem/chains');
|
|
26
|
-
require('wagmi');
|
|
27
|
-
require('wagmi/connectors');
|
|
28
24
|
require('countries-list');
|
|
29
25
|
require('currency-symbol-map');
|
|
30
26
|
require('fuse.js');
|
|
31
27
|
require('zustand');
|
|
32
28
|
require('zustand/middleware');
|
|
29
|
+
require('wagmi');
|
|
33
30
|
require('@safe-global/safe-apps-sdk');
|
|
31
|
+
require('@sigilry/dapp');
|
|
34
32
|
require('@wallet-standard/core');
|
|
35
33
|
require('@mysten/slush-wallet');
|
|
36
34
|
require('@mysten/sui/client');
|
|
35
|
+
require('wagmi/connectors');
|
|
37
36
|
require('@cosmjs/proto-signing');
|
|
38
37
|
require('@mysten/sui/transactions');
|
|
39
38
|
require('@cosmjs/cosmwasm-stargate');
|
|
40
39
|
require('@injectivelabs/sdk-ts/dist/cjs/core/stargate/index.js');
|
|
40
|
+
require('@0xsquid/sdk');
|
|
41
|
+
require('viem/chains');
|
|
41
42
|
|
|
42
43
|
/**
|
|
43
44
|
* Fetch secret network token balance
|
|
@@ -167,4 +168,4 @@ const fetchAllSecretBalances = async (chainData, userAddress, secretTokens, kepl
|
|
|
167
168
|
exports.fetchAllSecretBalances = fetchAllSecretBalances;
|
|
168
169
|
exports.getPermit = getPermit;
|
|
169
170
|
exports.getTokenBalance = getTokenBalance;
|
|
170
|
-
//# sourceMappingURL=secretService-
|
|
171
|
+
//# sourceMappingURL=secretService-AQfnpZHo.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"secretService-
|
|
1
|
+
{"version":3,"file":"secretService-AQfnpZHo.js","sources":["../src/services/external/secretService.ts"],"sourcesContent":["import type { ChainData, CosmosChain, Token } from \"@0xsquid/squid-types\";\nimport { StargateClient } from \"@cosmjs/stargate\";\nimport type { Keplr } from \"@keplr-wallet/types\";\nimport { SecretNetworkClient } from \"secretjs\";\nimport { CHAIN_IDS } from \"../../core/constants\";\nimport type { TokenWithBalance } from \"../../core/types/tokens\";\nimport type { TypedWindow } from \"../../core/types/wallet\";\nimport { formatBNToReadable } from \"../internal/numberService\";\n\n/**\n * Fetch secret network token balance\n * Using the permit signature, see permit function for more details\n * @param secretJS\n * @param contract\n * @param chainId\n * @param walletAddress\n * @param permit\n * @returns\n */\nexport const getTokenBalance = async (\n secretJS: SecretNetworkClient,\n contract: { address: string; codeHash: string },\n permit: any\n) => {\n if (permit) {\n const msg = {\n balance: {},\n };\n\n const result = await secretJS.query.compute.queryContract({\n contract_address: contract.address,\n code_hash: contract.codeHash,\n query: {\n with_permit: {\n query: msg,\n permit,\n },\n },\n });\n return result;\n }\n return -1;\n};\n\nexport const getPermit = async (\n chainId: string,\n contracts: any[],\n address: string\n) => {\n const contractsString = contracts.join(\"_\");\n const permKey = `perm_${chainId}_${contractsString}_${address}`;\n let permit: any;\n\n const permitStored = window.localStorage.getItem(permKey);\n if (permitStored) permit = JSON.parse(permitStored);\n\n // Not able to fetch permit signature from local storage,\n // Ask user to sign message\n if (!permit) {\n try {\n const result = await (window as TypedWindow).keplr.signAmino(\n chainId,\n address,\n {\n chain_id: chainId,\n account_number: \"0\",\n sequence: \"0\",\n fee: {\n amount: [{ denom: \"uscrt\", amount: \"0\" }],\n gas: \"1\",\n },\n msgs: [\n {\n type: \"query_permit\",\n value: {\n permit_name: \"secret-bridge-balance\",\n allowed_tokens: contracts,\n permissions: [\"balance\"],\n },\n },\n ],\n memo: \"\",\n },\n {\n preferNoSetFee: true,\n preferNoSetMemo: true,\n }\n );\n permit = {\n params: {\n permit_name: \"secret-bridge-balance\",\n allowed_tokens: contracts,\n chain_id: chainId,\n permissions: [\"balance\"],\n },\n signature: result.signature,\n };\n window.localStorage.setItem(permKey, JSON.stringify(permit));\n } catch (err) {\n console.error(\"--- PERMIT ERROR ---\");\n console.error(err);\n }\n }\n return permit;\n};\n\n/**\n * Fetches the secret balance of the user\n * This has a different logic than the other balances because Secret network hides the balance of the user by design\n * So we need to fetch the balance in a different way\n */\nexport const fetchAllSecretBalances = async (\n chainData: ChainData,\n userAddress: string,\n secretTokens: (Token & { codeHash?: string })[],\n keplr?: Keplr\n): Promise<TokenWithBalance[]> => {\n if (!keplr) return [];\n // Enables app to utilize keplr's secret utilities\n await keplr.enable(CHAIN_IDS.SECRET);\n // Create a client that handles the query encryption\n const client = new SecretNetworkClient({\n url: (chainData as CosmosChain).rest,\n chainId: CHAIN_IDS.SECRET,\n wallet: keplr.getOfflineSignerOnlyAmino(CHAIN_IDS.SECRET),\n encryptionUtils: keplr.getEnigmaUtils(CHAIN_IDS.SECRET),\n walletAddress: userAddress,\n });\n\n // Get secret tokens\n\n const permit = await getPermit(\n CHAIN_IDS.SECRET,\n secretTokens.map((st) => st.address),\n userAddress\n );\n\n // Fetching all balances in parallel\n const privateTokens = await Promise.all(\n secretTokens\n .filter((t) => !!t.codeHash)\n .map(async (token) => {\n const result = (await getTokenBalance(\n client,\n {\n address: token.address,\n codeHash: token.codeHash ?? \"\",\n },\n permit\n )) as { balance: { amount: string } };\n\n return {\n ...token,\n balance: formatBNToReadable(\n BigInt(result.balance.amount),\n token?.decimals\n ),\n } as TokenWithBalance;\n })\n );\n\n // Use Stargate getBalance for SCRT\n const stargateClient = await StargateClient.connect(chainData.rpc);\n const nativeSecretToken = secretTokens.find((t) => t.address === \"uscrt\");\n\n const publicTokenBalance = await stargateClient.getBalance(\n userAddress,\n \"uscrt\"\n );\n\n const publicTokenWithBalance = {\n ...nativeSecretToken,\n balance: formatBNToReadable(\n BigInt(publicTokenBalance.amount),\n nativeSecretToken?.decimals ?? 18\n ),\n } as TokenWithBalance;\n\n return [...privateTokens, publicTokenWithBalance];\n};\n"],"names":["CHAIN_IDS","SecretNetworkClient","formatBNToReadable","StargateClient"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { StargateClient } from '@cosmjs/stargate';
|
|
2
2
|
import { SecretNetworkClient } from 'secretjs';
|
|
3
|
-
import { C as CHAIN_IDS, f as formatBNToReadable } from './index-
|
|
3
|
+
import { C as CHAIN_IDS, f as formatBNToReadable } from './index-BbLFIIzM.js';
|
|
4
4
|
import '@0xsquid/squid-types';
|
|
5
5
|
import 'viem';
|
|
6
6
|
import 'react';
|
|
@@ -12,30 +12,31 @@ import 'axios';
|
|
|
12
12
|
import '@walletconnect/modal';
|
|
13
13
|
import '@walletconnect/universal-provider';
|
|
14
14
|
import 'ripple-address-codec';
|
|
15
|
+
import 'bignumber.js';
|
|
15
16
|
import '@solana/spl-token';
|
|
16
17
|
import '@solana/wallet-standard-wallet-adapter-base';
|
|
17
18
|
import '@solana/web3.js';
|
|
18
19
|
import '@stellar/stellar-sdk';
|
|
19
20
|
import '@mysten/wallet-standard';
|
|
20
21
|
import 'ethers';
|
|
21
|
-
import 'bignumber.js';
|
|
22
|
-
import '@0xsquid/sdk';
|
|
23
|
-
import 'viem/chains';
|
|
24
|
-
import 'wagmi';
|
|
25
|
-
import 'wagmi/connectors';
|
|
26
22
|
import 'countries-list';
|
|
27
23
|
import 'currency-symbol-map';
|
|
28
24
|
import 'fuse.js';
|
|
29
25
|
import 'zustand';
|
|
30
26
|
import 'zustand/middleware';
|
|
27
|
+
import 'wagmi';
|
|
31
28
|
import '@safe-global/safe-apps-sdk';
|
|
29
|
+
import '@sigilry/dapp';
|
|
32
30
|
import '@wallet-standard/core';
|
|
33
31
|
import '@mysten/slush-wallet';
|
|
34
32
|
import '@mysten/sui/client';
|
|
33
|
+
import 'wagmi/connectors';
|
|
35
34
|
import '@cosmjs/proto-signing';
|
|
36
35
|
import '@mysten/sui/transactions';
|
|
37
36
|
import '@cosmjs/cosmwasm-stargate';
|
|
38
37
|
import '@injectivelabs/sdk-ts/dist/cjs/core/stargate/index.js';
|
|
38
|
+
import '@0xsquid/sdk';
|
|
39
|
+
import 'viem/chains';
|
|
39
40
|
|
|
40
41
|
/**
|
|
41
42
|
* Fetch secret network token balance
|
|
@@ -163,4 +164,4 @@ const fetchAllSecretBalances = async (chainData, userAddress, secretTokens, kepl
|
|
|
163
164
|
};
|
|
164
165
|
|
|
165
166
|
export { fetchAllSecretBalances, getPermit, getTokenBalance };
|
|
166
|
-
//# sourceMappingURL=secretService-
|
|
167
|
+
//# sourceMappingURL=secretService-CHz5vw6s.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"secretService-
|
|
1
|
+
{"version":3,"file":"secretService-CHz5vw6s.js","sources":["../src/services/external/secretService.ts"],"sourcesContent":["import type { ChainData, CosmosChain, Token } from \"@0xsquid/squid-types\";\nimport { StargateClient } from \"@cosmjs/stargate\";\nimport type { Keplr } from \"@keplr-wallet/types\";\nimport { SecretNetworkClient } from \"secretjs\";\nimport { CHAIN_IDS } from \"../../core/constants\";\nimport type { TokenWithBalance } from \"../../core/types/tokens\";\nimport type { TypedWindow } from \"../../core/types/wallet\";\nimport { formatBNToReadable } from \"../internal/numberService\";\n\n/**\n * Fetch secret network token balance\n * Using the permit signature, see permit function for more details\n * @param secretJS\n * @param contract\n * @param chainId\n * @param walletAddress\n * @param permit\n * @returns\n */\nexport const getTokenBalance = async (\n secretJS: SecretNetworkClient,\n contract: { address: string; codeHash: string },\n permit: any\n) => {\n if (permit) {\n const msg = {\n balance: {},\n };\n\n const result = await secretJS.query.compute.queryContract({\n contract_address: contract.address,\n code_hash: contract.codeHash,\n query: {\n with_permit: {\n query: msg,\n permit,\n },\n },\n });\n return result;\n }\n return -1;\n};\n\nexport const getPermit = async (\n chainId: string,\n contracts: any[],\n address: string\n) => {\n const contractsString = contracts.join(\"_\");\n const permKey = `perm_${chainId}_${contractsString}_${address}`;\n let permit: any;\n\n const permitStored = window.localStorage.getItem(permKey);\n if (permitStored) permit = JSON.parse(permitStored);\n\n // Not able to fetch permit signature from local storage,\n // Ask user to sign message\n if (!permit) {\n try {\n const result = await (window as TypedWindow).keplr.signAmino(\n chainId,\n address,\n {\n chain_id: chainId,\n account_number: \"0\",\n sequence: \"0\",\n fee: {\n amount: [{ denom: \"uscrt\", amount: \"0\" }],\n gas: \"1\",\n },\n msgs: [\n {\n type: \"query_permit\",\n value: {\n permit_name: \"secret-bridge-balance\",\n allowed_tokens: contracts,\n permissions: [\"balance\"],\n },\n },\n ],\n memo: \"\",\n },\n {\n preferNoSetFee: true,\n preferNoSetMemo: true,\n }\n );\n permit = {\n params: {\n permit_name: \"secret-bridge-balance\",\n allowed_tokens: contracts,\n chain_id: chainId,\n permissions: [\"balance\"],\n },\n signature: result.signature,\n };\n window.localStorage.setItem(permKey, JSON.stringify(permit));\n } catch (err) {\n console.error(\"--- PERMIT ERROR ---\");\n console.error(err);\n }\n }\n return permit;\n};\n\n/**\n * Fetches the secret balance of the user\n * This has a different logic than the other balances because Secret network hides the balance of the user by design\n * So we need to fetch the balance in a different way\n */\nexport const fetchAllSecretBalances = async (\n chainData: ChainData,\n userAddress: string,\n secretTokens: (Token & { codeHash?: string })[],\n keplr?: Keplr\n): Promise<TokenWithBalance[]> => {\n if (!keplr) return [];\n // Enables app to utilize keplr's secret utilities\n await keplr.enable(CHAIN_IDS.SECRET);\n // Create a client that handles the query encryption\n const client = new SecretNetworkClient({\n url: (chainData as CosmosChain).rest,\n chainId: CHAIN_IDS.SECRET,\n wallet: keplr.getOfflineSignerOnlyAmino(CHAIN_IDS.SECRET),\n encryptionUtils: keplr.getEnigmaUtils(CHAIN_IDS.SECRET),\n walletAddress: userAddress,\n });\n\n // Get secret tokens\n\n const permit = await getPermit(\n CHAIN_IDS.SECRET,\n secretTokens.map((st) => st.address),\n userAddress\n );\n\n // Fetching all balances in parallel\n const privateTokens = await Promise.all(\n secretTokens\n .filter((t) => !!t.codeHash)\n .map(async (token) => {\n const result = (await getTokenBalance(\n client,\n {\n address: token.address,\n codeHash: token.codeHash ?? \"\",\n },\n permit\n )) as { balance: { amount: string } };\n\n return {\n ...token,\n balance: formatBNToReadable(\n BigInt(result.balance.amount),\n token?.decimals\n ),\n } as TokenWithBalance;\n })\n );\n\n // Use Stargate getBalance for SCRT\n const stargateClient = await StargateClient.connect(chainData.rpc);\n const nativeSecretToken = secretTokens.find((t) => t.address === \"uscrt\");\n\n const publicTokenBalance = await stargateClient.getBalance(\n userAddress,\n \"uscrt\"\n );\n\n const publicTokenWithBalance = {\n ...nativeSecretToken,\n balance: formatBNToReadable(\n BigInt(publicTokenBalance.amount),\n nativeSecretToken?.decimals ?? 18\n ),\n } as TokenWithBalance;\n\n return [...privateTokens, publicTokenWithBalance];\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA;;;;;;;;;AASG;AACI,MAAM,eAAe,GAAG,OAC7B,QAA6B,EAC7B,QAA+C,EAC/C,MAAW,KACT;AACF,IAAA,IAAI,MAAM,EAAE;AACV,QAAA,MAAM,GAAG,GAAG;AACV,YAAA,OAAO,EAAE,EAAE;SACZ;QAED,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC;YACxD,gBAAgB,EAAE,QAAQ,CAAC,OAAO;YAClC,SAAS,EAAE,QAAQ,CAAC,QAAQ;AAC5B,YAAA,KAAK,EAAE;AACL,gBAAA,WAAW,EAAE;AACX,oBAAA,KAAK,EAAE,GAAG;oBACV,MAAM;AACP,iBAAA;AACF,aAAA;AACF,SAAA,CAAC;AACF,QAAA,OAAO,MAAM;AACd;IACD,OAAO,EAAE;AACX;AAEO,MAAM,SAAS,GAAG,OACvB,OAAe,EACf,SAAgB,EAChB,OAAe,KACb;IACF,MAAM,eAAe,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC;IAC3C,MAAM,OAAO,GAAG,CAAQ,KAAA,EAAA,OAAO,IAAI,eAAe,CAAA,CAAA,EAAI,OAAO,CAAA,CAAE;AAC/D,IAAA,IAAI,MAAW;IAEf,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC;AACzD,IAAA,IAAI,YAAY;AAAE,QAAA,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC;;;IAInD,IAAI,CAAC,MAAM,EAAE;QACX,IAAI;AACF,YAAA,MAAM,MAAM,GAAG,MAAO,MAAsB,CAAC,KAAK,CAAC,SAAS,CAC1D,OAAO,EACP,OAAO,EACP;AACE,gBAAA,QAAQ,EAAE,OAAO;AACjB,gBAAA,cAAc,EAAE,GAAG;AACnB,gBAAA,QAAQ,EAAE,GAAG;AACb,gBAAA,GAAG,EAAE;oBACH,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACzC,oBAAA,GAAG,EAAE,GAAG;AACT,iBAAA;AACD,gBAAA,IAAI,EAAE;AACJ,oBAAA;AACE,wBAAA,IAAI,EAAE,cAAc;AACpB,wBAAA,KAAK,EAAE;AACL,4BAAA,WAAW,EAAE,uBAAuB;AACpC,4BAAA,cAAc,EAAE,SAAS;4BACzB,WAAW,EAAE,CAAC,SAAS,CAAC;AACzB,yBAAA;AACF,qBAAA;AACF,iBAAA;AACD,gBAAA,IAAI,EAAE,EAAE;aACT,EACD;AACE,gBAAA,cAAc,EAAE,IAAI;AACpB,gBAAA,eAAe,EAAE,IAAI;AACtB,aAAA,CACF;AACD,YAAA,MAAM,GAAG;AACP,gBAAA,MAAM,EAAE;AACN,oBAAA,WAAW,EAAE,uBAAuB;AACpC,oBAAA,cAAc,EAAE,SAAS;AACzB,oBAAA,QAAQ,EAAE,OAAO;oBACjB,WAAW,EAAE,CAAC,SAAS,CAAC;AACzB,iBAAA;gBACD,SAAS,EAAE,MAAM,CAAC,SAAS;aAC5B;AACD,YAAA,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AAC7D;AAAC,QAAA,OAAO,GAAG,EAAE;AACZ,YAAA,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC;AACrC,YAAA,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC;AACnB;AACF;AACD,IAAA,OAAO,MAAM;AACf;AAEA;;;;AAIG;AACI,MAAM,sBAAsB,GAAG,OACpC,SAAoB,EACpB,WAAmB,EACnB,YAA+C,EAC/C,KAAa,KACkB;AAC/B,IAAA,IAAI,CAAC,KAAK;AAAE,QAAA,OAAO,EAAE;;IAErB,MAAM,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC;;AAEpC,IAAA,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC;QACrC,GAAG,EAAG,SAAyB,CAAC,IAAI;QACpC,OAAO,EAAE,SAAS,CAAC,MAAM;QACzB,MAAM,EAAE,KAAK,CAAC,yBAAyB,CAAC,SAAS,CAAC,MAAM,CAAC;QACzD,eAAe,EAAE,KAAK,CAAC,cAAc,CAAC,SAAS,CAAC,MAAM,CAAC;AACvD,QAAA,aAAa,EAAE,WAAW;AAC3B,KAAA,CAAC;;IAIF,MAAM,MAAM,GAAG,MAAM,SAAS,CAC5B,SAAS,CAAC,MAAM,EAChB,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,OAAO,CAAC,EACpC,WAAW,CACZ;;AAGD,IAAA,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,GAAG,CACrC;SACG,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ;AAC1B,SAAA,GAAG,CAAC,OAAO,KAAK,KAAI;AACnB,QAAA,MAAM,MAAM,IAAI,MAAM,eAAe,CACnC,MAAM,EACN;YACE,OAAO,EAAE,KAAK,CAAC,OAAO;AACtB,YAAA,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,EAAE;SAC/B,EACD,MAAM,CACP,CAAoC;QAErC,OAAO;AACL,YAAA,GAAG,KAAK;AACR,YAAA,OAAO,EAAE,kBAAkB,CACzB,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAC7B,KAAK,EAAE,QAAQ,CAChB;SACkB;KACtB,CAAC,CACL;;IAGD,MAAM,cAAc,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC;AAClE,IAAA,MAAM,iBAAiB,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC;IAEzE,MAAM,kBAAkB,GAAG,MAAM,cAAc,CAAC,UAAU,CACxD,WAAW,EACX,OAAO,CACR;AAED,IAAA,MAAM,sBAAsB,GAAG;AAC7B,QAAA,GAAG,iBAAiB;AACpB,QAAA,OAAO,EAAE,kBAAkB,CACzB,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,EACjC,iBAAiB,EAAE,QAAQ,IAAI,EAAE,CAClC;KACkB;AAErB,IAAA,OAAO,CAAC,GAAG,aAAa,EAAE,sBAAsB,CAAC;AACnD;;;;"}
|
package/dist/server.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { CHAIN_IDS, chainTypeToNativeTokenAddressMap, chainTypeToZeroAddressMap, nativeBitcoinTokenAddress, nativeCantonTokenAddress, nativeCosmosTokenAddress, nativeEvmTokenAddress, nativeSolanaTokenAddress, nativeStellarTokenAddress, nativeSuiTokenAddress, nativeXrplTokenAddress, } from "./core/constants";
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import { ChainType } from '@0xsquid/squid-types';
|
|
2
|
+
import { zeroAddress } from 'viem';
|
|
3
|
+
|
|
4
|
+
const bitcoinZeroAddress = "1111111111111111111114oLvT2";
|
|
5
|
+
const cosmosZeroAddress = "osmo1qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq65mj83";
|
|
6
|
+
const solanaZeroAddress = "11111111111111111111111111111111";
|
|
7
|
+
const suiZeroAddress = "0x0000000000000000000000000000000000000000";
|
|
8
|
+
const xrplZeroAddress = "rrrrrrrrrrrrrrrrrrrrrhoLvTp";
|
|
9
|
+
const stellarZeroAddress = "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWHF";
|
|
10
|
+
const cantonZeroAddress = "none::12200000000000000000000000000000000000000000000000000000000000000000";
|
|
11
|
+
const chainTypeToZeroAddressMap = {
|
|
12
|
+
[ChainType.EVM]: zeroAddress,
|
|
13
|
+
[ChainType.COSMOS]: cosmosZeroAddress,
|
|
14
|
+
[ChainType.BTC]: bitcoinZeroAddress,
|
|
15
|
+
[ChainType.SOLANA]: solanaZeroAddress,
|
|
16
|
+
[ChainType.SUI]: suiZeroAddress,
|
|
17
|
+
[ChainType.XRPL]: xrplZeroAddress,
|
|
18
|
+
[ChainType.STELLAR]: stellarZeroAddress,
|
|
19
|
+
[ChainType.CANTON]: cantonZeroAddress,
|
|
20
|
+
};
|
|
21
|
+
const nativeEvmTokenAddress = "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee";
|
|
22
|
+
const nativeCosmosTokenAddress = "uosmo";
|
|
23
|
+
const nativeSolanaTokenAddress = "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee";
|
|
24
|
+
const nativeBitcoinTokenAddress = "satoshi";
|
|
25
|
+
const nativeSuiTokenAddress = "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI";
|
|
26
|
+
const nativeXrplTokenAddress = "xrp";
|
|
27
|
+
const nativeStellarTokenAddress = "CAS3J7GYLGXMF6TDJBBYYSE3HQ6BBSMLNUQ34T6TZMYMW2EVH34XOWMA";
|
|
28
|
+
const nativeCantonTokenAddress = "DSO::1220b1431ef217342db44d516bb9befde802be7d8899637d290895fa58880f19accc";
|
|
29
|
+
const CHAIN_IDS = {
|
|
30
|
+
// Cosmos
|
|
31
|
+
OSMOSIS: "osmosis-1",
|
|
32
|
+
INJECTIVE: "injective-1",
|
|
33
|
+
SECRET: "secret-4",
|
|
34
|
+
ARCHWAY: "archway-1",
|
|
35
|
+
XION: "xion-mainnet-1",
|
|
36
|
+
NOBLE: "noble-1",
|
|
37
|
+
AGORIC: "agoric-3",
|
|
38
|
+
// EVM
|
|
39
|
+
ETHEREUM: "1",
|
|
40
|
+
ETHEREUM_SEPOLIA: "11155111",
|
|
41
|
+
ARBITRUM: "42161",
|
|
42
|
+
BSC: "56",
|
|
43
|
+
BASE: "8453",
|
|
44
|
+
OPTIMISM: "10",
|
|
45
|
+
LINEA: "59144",
|
|
46
|
+
BLAST: "81457",
|
|
47
|
+
CELO: "42220",
|
|
48
|
+
POLYGON: "137",
|
|
49
|
+
AVALANCHE: "43114",
|
|
50
|
+
IMMUTABLE: "13371",
|
|
51
|
+
SCROLL: "534352",
|
|
52
|
+
MOONBEAM: "1284",
|
|
53
|
+
MANTLE: "5000",
|
|
54
|
+
FANTOM: "250",
|
|
55
|
+
KAVA: "2222",
|
|
56
|
+
FILECOIN: "314",
|
|
57
|
+
BERACHAIN: "80094",
|
|
58
|
+
SAGA_EVM: "5464",
|
|
59
|
+
XRPL_EVM: "1440000",
|
|
60
|
+
XRPL_EVM_TESTNET: "1449000",
|
|
61
|
+
GNOSIS: "100",
|
|
62
|
+
SONIC: "146",
|
|
63
|
+
HYPER_EVM: "999",
|
|
64
|
+
DCHAIN: "2716446429837000",
|
|
65
|
+
SONEIUM: "1868",
|
|
66
|
+
PEAQ: "3338",
|
|
67
|
+
HEDERA: "295",
|
|
68
|
+
MANTRA: "5888",
|
|
69
|
+
CITREA: "4114",
|
|
70
|
+
TEMPO: "4217",
|
|
71
|
+
ARC: "5042",
|
|
72
|
+
KUB: "96",
|
|
73
|
+
// others
|
|
74
|
+
BITCOIN: "bitcoin",
|
|
75
|
+
SOLANA: "solana-mainnet-beta",
|
|
76
|
+
SUI: "sui-mainnet",
|
|
77
|
+
SUI_TESTNET: "sui-testnet",
|
|
78
|
+
XRPL: "xrpl-mainnet",
|
|
79
|
+
XRPL_TESTNET: "xrpl-testnet",
|
|
80
|
+
STELLAR: "stellar-mainnet",
|
|
81
|
+
STELLAR_TESTNET: "stellar-testnet",
|
|
82
|
+
CANTON: "canton",
|
|
83
|
+
};
|
|
84
|
+
// approve reverts when changing a non-zero allowance to another non-zero value
|
|
85
|
+
new Set([
|
|
86
|
+
// USDT
|
|
87
|
+
`${CHAIN_IDS.ETHEREUM}:0xdac17f958d2ee523a2206206994597c13d831ec7`,
|
|
88
|
+
// MANA
|
|
89
|
+
`${CHAIN_IDS.ETHEREUM}:0x0f5d2fb29fb7d3cfee444a200298f468908cc942`,
|
|
90
|
+
// USDT
|
|
91
|
+
`${CHAIN_IDS.KUB}:0x21cdc3706b8c7b1836df0e533dd884069521350b`,
|
|
92
|
+
]);
|
|
93
|
+
({
|
|
94
|
+
[ChainType.EVM]: CHAIN_IDS.ETHEREUM,
|
|
95
|
+
[ChainType.COSMOS]: CHAIN_IDS.OSMOSIS,
|
|
96
|
+
[ChainType.BTC]: CHAIN_IDS.BITCOIN,
|
|
97
|
+
[ChainType.SOLANA]: CHAIN_IDS.SOLANA,
|
|
98
|
+
[ChainType.SUI]: CHAIN_IDS.SUI,
|
|
99
|
+
[ChainType.XRPL]: CHAIN_IDS.XRPL,
|
|
100
|
+
[ChainType.STELLAR]: CHAIN_IDS.STELLAR,
|
|
101
|
+
[ChainType.CANTON]: CHAIN_IDS.CANTON,
|
|
102
|
+
});
|
|
103
|
+
const chainTypeToNativeTokenAddressMap = {
|
|
104
|
+
[ChainType.EVM]: nativeEvmTokenAddress,
|
|
105
|
+
[ChainType.COSMOS]: nativeCosmosTokenAddress,
|
|
106
|
+
[ChainType.BTC]: nativeBitcoinTokenAddress,
|
|
107
|
+
[ChainType.SOLANA]: nativeSolanaTokenAddress,
|
|
108
|
+
[ChainType.SUI]: nativeSuiTokenAddress,
|
|
109
|
+
[ChainType.XRPL]: nativeXrplTokenAddress,
|
|
110
|
+
[ChainType.STELLAR]: nativeStellarTokenAddress,
|
|
111
|
+
[ChainType.CANTON]: nativeCantonTokenAddress,
|
|
112
|
+
};
|
|
113
|
+
var EvmPriorityConnectors;
|
|
114
|
+
(function (EvmPriorityConnectors) {
|
|
115
|
+
EvmPriorityConnectors["Safe"] = "safe";
|
|
116
|
+
EvmPriorityConnectors["LedgerLive"] = "ledgerLive";
|
|
117
|
+
})(EvmPriorityConnectors || (EvmPriorityConnectors = {}));
|
|
118
|
+
|
|
119
|
+
export { CHAIN_IDS, chainTypeToNativeTokenAddressMap, chainTypeToZeroAddressMap, nativeBitcoinTokenAddress, nativeCantonTokenAddress, nativeCosmosTokenAddress, nativeEvmTokenAddress, nativeSolanaTokenAddress, nativeStellarTokenAddress, nativeSuiTokenAddress, nativeXrplTokenAddress };
|
|
120
|
+
//# sourceMappingURL=server.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.esm.js","sources":["../src/core/constants.ts"],"sourcesContent":["\"use client\";\n\nimport { ChainType } from \"@0xsquid/squid-types\";\nimport { zeroAddress as evmZeroAddress } from \"viem\";\nimport { squidApiBaseUrl } from \"./externalLinks\";\nimport type { AppConfig, SlippageOption } from \"./types/config\";\n\nexport const WALLETCONNECT_PROJECT_ID = \"db6a4f6ff58e4172b2fd52f01360bc49\";\nexport const WALLETCONNECT_WALLET_IDS = {\n joey: \"d9f5432e932c6fad8e19a0cea9d4a3372a84aed16e98a52e6655dd2821a63404\",\n girin: \"994824d1e0b935f48ec3570c9d51fe5af9bbd9246b6f57210906f8b853ad2196\",\n bifrost: \"37a686ab6223cd42e2886ed6e5477fce100a4fb565dcd57ed4f81f7c12e93053\",\n} as const;\nexport const assetsBaseUrl = \"https://assets.squidrouter.com\";\n\nexport const DEFAULT_LOCALE = \"en-US\";\nexport const SQUID_METADATA = {\n name: \"Squid\",\n url: \"https://app.squidrouter.com\",\n icon: \"https://squidrouter.com/favicon.ico\",\n description: \"Swap, send, and bridge across chains.\",\n};\n\nconst bitcoinZeroAddress = \"1111111111111111111114oLvT2\";\nconst cosmosZeroAddress =\n \"osmo1qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq65mj83\";\nconst solanaZeroAddress = \"11111111111111111111111111111111\";\nconst suiZeroAddress = \"0x0000000000000000000000000000000000000000\";\nconst xrplZeroAddress = \"rrrrrrrrrrrrrrrrrrrrrhoLvTp\";\nconst stellarZeroAddress =\n \"GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWHF\";\nconst cantonZeroAddress =\n \"none::12200000000000000000000000000000000000000000000000000000000000000000\";\n\nexport const chainTypeToZeroAddressMap: Record<ChainType, string> = {\n [ChainType.EVM]: evmZeroAddress,\n [ChainType.COSMOS]: cosmosZeroAddress,\n [ChainType.BTC]: bitcoinZeroAddress,\n [ChainType.SOLANA]: solanaZeroAddress,\n [ChainType.SUI]: suiZeroAddress,\n [ChainType.XRPL]: xrplZeroAddress,\n [ChainType.STELLAR]: stellarZeroAddress,\n [ChainType.CANTON]: cantonZeroAddress,\n};\n\nexport const nativeEvmTokenAddress =\n \"0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee\";\nexport const nativeCosmosTokenAddress = \"uosmo\";\nexport const nativeSolanaTokenAddress =\n \"0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee\";\nexport const nativeBitcoinTokenAddress = \"satoshi\";\nexport const nativeSuiTokenAddress =\n \"0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI\";\nexport const nativeXrplTokenAddress = \"xrp\";\nexport const nativeStellarTokenAddress =\n \"CAS3J7GYLGXMF6TDJBBYYSE3HQ6BBSMLNUQ34T6TZMYMW2EVH34XOWMA\";\nexport const nativeCantonTokenAddress =\n \"DSO::1220b1431ef217342db44d516bb9befde802be7d8899637d290895fa58880f19accc\";\n\n// by setting slippage to undefined, it's set to \"auto\"\nexport const defaultSlippage: SlippageOption = undefined;\nexport const destinationAddressResetValue = \"null\";\nexport const fallbackAddressResetValue = \"null\";\nexport const gasRefundMultiplier = 25;\nexport const internalSquidApiBaseUrl = \"https://app.squidrouter.com/api\";\nexport const XAMAN_API_URL = `${internalSquidApiBaseUrl}/xaman/`;\nexport const TOKEN_PRICE_API_URL = `${internalSquidApiBaseUrl}/coingecko`;\nexport const CANTON_AMULET_REGISTRY_URL = `${internalSquidApiBaseUrl}/canton/scan-proxy`;\nexport const DEFAULT_ROUTE_REFETCH_INTERVAL = 30_000;\n\nexport const SOLANA_RPC_URL =\n \"https://meredith-ute2ko-fast-mainnet.helius-rpc.com\";\nexport const INTEGRATOR_ID =\n \"squid-widget-playground-local-cd33cba6-7e12-4fcc-8d5d-35e286f655ea\";\n\nexport const DEFAULT_COUNTRY_CODE = \"US\";\n\nexport const CHAIN_IDS = {\n // Cosmos\n OSMOSIS: \"osmosis-1\",\n INJECTIVE: \"injective-1\",\n SECRET: \"secret-4\",\n ARCHWAY: \"archway-1\",\n XION: \"xion-mainnet-1\",\n NOBLE: \"noble-1\",\n AGORIC: \"agoric-3\",\n\n // EVM\n ETHEREUM: \"1\",\n ETHEREUM_SEPOLIA: \"11155111\",\n ARBITRUM: \"42161\",\n BSC: \"56\",\n BASE: \"8453\",\n OPTIMISM: \"10\",\n LINEA: \"59144\",\n BLAST: \"81457\",\n CELO: \"42220\",\n POLYGON: \"137\",\n AVALANCHE: \"43114\",\n IMMUTABLE: \"13371\",\n SCROLL: \"534352\",\n MOONBEAM: \"1284\",\n MANTLE: \"5000\",\n FANTOM: \"250\",\n KAVA: \"2222\",\n FILECOIN: \"314\",\n BERACHAIN: \"80094\",\n SAGA_EVM: \"5464\",\n XRPL_EVM: \"1440000\",\n XRPL_EVM_TESTNET: \"1449000\",\n GNOSIS: \"100\",\n SONIC: \"146\",\n HYPER_EVM: \"999\",\n DCHAIN: \"2716446429837000\",\n SONEIUM: \"1868\",\n PEAQ: \"3338\",\n HEDERA: \"295\",\n MANTRA: \"5888\",\n CITREA: \"4114\",\n TEMPO: \"4217\",\n ARC: \"5042\",\n KUB: \"96\",\n\n // others\n BITCOIN: \"bitcoin\",\n SOLANA: \"solana-mainnet-beta\",\n SUI: \"sui-mainnet\",\n SUI_TESTNET: \"sui-testnet\",\n XRPL: \"xrpl-mainnet\",\n XRPL_TESTNET: \"xrpl-testnet\",\n STELLAR: \"stellar-mainnet\",\n STELLAR_TESTNET: \"stellar-testnet\",\n CANTON: \"canton\",\n} as const;\n\n// approve reverts when changing a non-zero allowance to another non-zero value\nexport const zeroAllowanceResetTokens = new Set([\n // USDT\n `${CHAIN_IDS.ETHEREUM}:0xdac17f958d2ee523a2206206994597c13d831ec7`,\n // MANA\n `${CHAIN_IDS.ETHEREUM}:0x0f5d2fb29fb7d3cfee444a200298f468908cc942`,\n // USDT\n `${CHAIN_IDS.KUB}:0x21cdc3706b8c7b1836df0e533dd884069521350b`,\n]);\n\nexport const chainTypeToDefaultChainIdMap: Record<ChainType, string> = {\n [ChainType.EVM]: CHAIN_IDS.ETHEREUM,\n [ChainType.COSMOS]: CHAIN_IDS.OSMOSIS,\n [ChainType.BTC]: CHAIN_IDS.BITCOIN,\n [ChainType.SOLANA]: CHAIN_IDS.SOLANA,\n [ChainType.SUI]: CHAIN_IDS.SUI,\n [ChainType.XRPL]: CHAIN_IDS.XRPL,\n [ChainType.STELLAR]: CHAIN_IDS.STELLAR,\n [ChainType.CANTON]: CHAIN_IDS.CANTON,\n};\n\nexport const chainTypeToNativeTokenAddressMap: Record<ChainType, string> = {\n [ChainType.EVM]: nativeEvmTokenAddress,\n [ChainType.COSMOS]: nativeCosmosTokenAddress,\n [ChainType.BTC]: nativeBitcoinTokenAddress,\n [ChainType.SOLANA]: nativeSolanaTokenAddress,\n [ChainType.SUI]: nativeSuiTokenAddress,\n [ChainType.XRPL]: nativeXrplTokenAddress,\n [ChainType.STELLAR]: nativeStellarTokenAddress,\n [ChainType.CANTON]: nativeCantonTokenAddress,\n};\n\nexport const defaultConfigValues: AppConfig = {\n integratorId: INTEGRATOR_ID,\n slippage: defaultSlippage,\n apiUrl: squidApiBaseUrl,\n priceImpactWarnings: {\n warning: 3,\n critical: 5,\n },\n};\n\nexport enum EvmPriorityConnectors {\n Safe = \"safe\",\n LedgerLive = \"ledgerLive\",\n}\n"],"names":["evmZeroAddress"],"mappings":"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"}
|
package/dist/server.js
ADDED
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var squidTypes = require('@0xsquid/squid-types');
|
|
4
|
+
var viem = require('viem');
|
|
5
|
+
|
|
6
|
+
const bitcoinZeroAddress = "1111111111111111111114oLvT2";
|
|
7
|
+
const cosmosZeroAddress = "osmo1qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq65mj83";
|
|
8
|
+
const solanaZeroAddress = "11111111111111111111111111111111";
|
|
9
|
+
const suiZeroAddress = "0x0000000000000000000000000000000000000000";
|
|
10
|
+
const xrplZeroAddress = "rrrrrrrrrrrrrrrrrrrrrhoLvTp";
|
|
11
|
+
const stellarZeroAddress = "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWHF";
|
|
12
|
+
const cantonZeroAddress = "none::12200000000000000000000000000000000000000000000000000000000000000000";
|
|
13
|
+
const chainTypeToZeroAddressMap = {
|
|
14
|
+
[squidTypes.ChainType.EVM]: viem.zeroAddress,
|
|
15
|
+
[squidTypes.ChainType.COSMOS]: cosmosZeroAddress,
|
|
16
|
+
[squidTypes.ChainType.BTC]: bitcoinZeroAddress,
|
|
17
|
+
[squidTypes.ChainType.SOLANA]: solanaZeroAddress,
|
|
18
|
+
[squidTypes.ChainType.SUI]: suiZeroAddress,
|
|
19
|
+
[squidTypes.ChainType.XRPL]: xrplZeroAddress,
|
|
20
|
+
[squidTypes.ChainType.STELLAR]: stellarZeroAddress,
|
|
21
|
+
[squidTypes.ChainType.CANTON]: cantonZeroAddress,
|
|
22
|
+
};
|
|
23
|
+
const nativeEvmTokenAddress = "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee";
|
|
24
|
+
const nativeCosmosTokenAddress = "uosmo";
|
|
25
|
+
const nativeSolanaTokenAddress = "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee";
|
|
26
|
+
const nativeBitcoinTokenAddress = "satoshi";
|
|
27
|
+
const nativeSuiTokenAddress = "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI";
|
|
28
|
+
const nativeXrplTokenAddress = "xrp";
|
|
29
|
+
const nativeStellarTokenAddress = "CAS3J7GYLGXMF6TDJBBYYSE3HQ6BBSMLNUQ34T6TZMYMW2EVH34XOWMA";
|
|
30
|
+
const nativeCantonTokenAddress = "DSO::1220b1431ef217342db44d516bb9befde802be7d8899637d290895fa58880f19accc";
|
|
31
|
+
const CHAIN_IDS = {
|
|
32
|
+
// Cosmos
|
|
33
|
+
OSMOSIS: "osmosis-1",
|
|
34
|
+
INJECTIVE: "injective-1",
|
|
35
|
+
SECRET: "secret-4",
|
|
36
|
+
ARCHWAY: "archway-1",
|
|
37
|
+
XION: "xion-mainnet-1",
|
|
38
|
+
NOBLE: "noble-1",
|
|
39
|
+
AGORIC: "agoric-3",
|
|
40
|
+
// EVM
|
|
41
|
+
ETHEREUM: "1",
|
|
42
|
+
ETHEREUM_SEPOLIA: "11155111",
|
|
43
|
+
ARBITRUM: "42161",
|
|
44
|
+
BSC: "56",
|
|
45
|
+
BASE: "8453",
|
|
46
|
+
OPTIMISM: "10",
|
|
47
|
+
LINEA: "59144",
|
|
48
|
+
BLAST: "81457",
|
|
49
|
+
CELO: "42220",
|
|
50
|
+
POLYGON: "137",
|
|
51
|
+
AVALANCHE: "43114",
|
|
52
|
+
IMMUTABLE: "13371",
|
|
53
|
+
SCROLL: "534352",
|
|
54
|
+
MOONBEAM: "1284",
|
|
55
|
+
MANTLE: "5000",
|
|
56
|
+
FANTOM: "250",
|
|
57
|
+
KAVA: "2222",
|
|
58
|
+
FILECOIN: "314",
|
|
59
|
+
BERACHAIN: "80094",
|
|
60
|
+
SAGA_EVM: "5464",
|
|
61
|
+
XRPL_EVM: "1440000",
|
|
62
|
+
XRPL_EVM_TESTNET: "1449000",
|
|
63
|
+
GNOSIS: "100",
|
|
64
|
+
SONIC: "146",
|
|
65
|
+
HYPER_EVM: "999",
|
|
66
|
+
DCHAIN: "2716446429837000",
|
|
67
|
+
SONEIUM: "1868",
|
|
68
|
+
PEAQ: "3338",
|
|
69
|
+
HEDERA: "295",
|
|
70
|
+
MANTRA: "5888",
|
|
71
|
+
CITREA: "4114",
|
|
72
|
+
TEMPO: "4217",
|
|
73
|
+
ARC: "5042",
|
|
74
|
+
KUB: "96",
|
|
75
|
+
// others
|
|
76
|
+
BITCOIN: "bitcoin",
|
|
77
|
+
SOLANA: "solana-mainnet-beta",
|
|
78
|
+
SUI: "sui-mainnet",
|
|
79
|
+
SUI_TESTNET: "sui-testnet",
|
|
80
|
+
XRPL: "xrpl-mainnet",
|
|
81
|
+
XRPL_TESTNET: "xrpl-testnet",
|
|
82
|
+
STELLAR: "stellar-mainnet",
|
|
83
|
+
STELLAR_TESTNET: "stellar-testnet",
|
|
84
|
+
CANTON: "canton",
|
|
85
|
+
};
|
|
86
|
+
// approve reverts when changing a non-zero allowance to another non-zero value
|
|
87
|
+
new Set([
|
|
88
|
+
// USDT
|
|
89
|
+
`${CHAIN_IDS.ETHEREUM}:0xdac17f958d2ee523a2206206994597c13d831ec7`,
|
|
90
|
+
// MANA
|
|
91
|
+
`${CHAIN_IDS.ETHEREUM}:0x0f5d2fb29fb7d3cfee444a200298f468908cc942`,
|
|
92
|
+
// USDT
|
|
93
|
+
`${CHAIN_IDS.KUB}:0x21cdc3706b8c7b1836df0e533dd884069521350b`,
|
|
94
|
+
]);
|
|
95
|
+
({
|
|
96
|
+
[squidTypes.ChainType.EVM]: CHAIN_IDS.ETHEREUM,
|
|
97
|
+
[squidTypes.ChainType.COSMOS]: CHAIN_IDS.OSMOSIS,
|
|
98
|
+
[squidTypes.ChainType.BTC]: CHAIN_IDS.BITCOIN,
|
|
99
|
+
[squidTypes.ChainType.SOLANA]: CHAIN_IDS.SOLANA,
|
|
100
|
+
[squidTypes.ChainType.SUI]: CHAIN_IDS.SUI,
|
|
101
|
+
[squidTypes.ChainType.XRPL]: CHAIN_IDS.XRPL,
|
|
102
|
+
[squidTypes.ChainType.STELLAR]: CHAIN_IDS.STELLAR,
|
|
103
|
+
[squidTypes.ChainType.CANTON]: CHAIN_IDS.CANTON,
|
|
104
|
+
});
|
|
105
|
+
const chainTypeToNativeTokenAddressMap = {
|
|
106
|
+
[squidTypes.ChainType.EVM]: nativeEvmTokenAddress,
|
|
107
|
+
[squidTypes.ChainType.COSMOS]: nativeCosmosTokenAddress,
|
|
108
|
+
[squidTypes.ChainType.BTC]: nativeBitcoinTokenAddress,
|
|
109
|
+
[squidTypes.ChainType.SOLANA]: nativeSolanaTokenAddress,
|
|
110
|
+
[squidTypes.ChainType.SUI]: nativeSuiTokenAddress,
|
|
111
|
+
[squidTypes.ChainType.XRPL]: nativeXrplTokenAddress,
|
|
112
|
+
[squidTypes.ChainType.STELLAR]: nativeStellarTokenAddress,
|
|
113
|
+
[squidTypes.ChainType.CANTON]: nativeCantonTokenAddress,
|
|
114
|
+
};
|
|
115
|
+
var EvmPriorityConnectors;
|
|
116
|
+
(function (EvmPriorityConnectors) {
|
|
117
|
+
EvmPriorityConnectors["Safe"] = "safe";
|
|
118
|
+
EvmPriorityConnectors["LedgerLive"] = "ledgerLive";
|
|
119
|
+
})(EvmPriorityConnectors || (EvmPriorityConnectors = {}));
|
|
120
|
+
|
|
121
|
+
exports.CHAIN_IDS = CHAIN_IDS;
|
|
122
|
+
exports.chainTypeToNativeTokenAddressMap = chainTypeToNativeTokenAddressMap;
|
|
123
|
+
exports.chainTypeToZeroAddressMap = chainTypeToZeroAddressMap;
|
|
124
|
+
exports.nativeBitcoinTokenAddress = nativeBitcoinTokenAddress;
|
|
125
|
+
exports.nativeCantonTokenAddress = nativeCantonTokenAddress;
|
|
126
|
+
exports.nativeCosmosTokenAddress = nativeCosmosTokenAddress;
|
|
127
|
+
exports.nativeEvmTokenAddress = nativeEvmTokenAddress;
|
|
128
|
+
exports.nativeSolanaTokenAddress = nativeSolanaTokenAddress;
|
|
129
|
+
exports.nativeStellarTokenAddress = nativeStellarTokenAddress;
|
|
130
|
+
exports.nativeSuiTokenAddress = nativeSuiTokenAddress;
|
|
131
|
+
exports.nativeXrplTokenAddress = nativeXrplTokenAddress;
|
|
132
|
+
//# sourceMappingURL=server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.js","sources":["../src/core/constants.ts"],"sourcesContent":["\"use client\";\n\nimport { ChainType } from \"@0xsquid/squid-types\";\nimport { zeroAddress as evmZeroAddress } from \"viem\";\nimport { squidApiBaseUrl } from \"./externalLinks\";\nimport type { AppConfig, SlippageOption } from \"./types/config\";\n\nexport const WALLETCONNECT_PROJECT_ID = \"db6a4f6ff58e4172b2fd52f01360bc49\";\nexport const WALLETCONNECT_WALLET_IDS = {\n joey: \"d9f5432e932c6fad8e19a0cea9d4a3372a84aed16e98a52e6655dd2821a63404\",\n girin: \"994824d1e0b935f48ec3570c9d51fe5af9bbd9246b6f57210906f8b853ad2196\",\n bifrost: \"37a686ab6223cd42e2886ed6e5477fce100a4fb565dcd57ed4f81f7c12e93053\",\n} as const;\nexport const assetsBaseUrl = \"https://assets.squidrouter.com\";\n\nexport const DEFAULT_LOCALE = \"en-US\";\nexport const SQUID_METADATA = {\n name: \"Squid\",\n url: \"https://app.squidrouter.com\",\n icon: \"https://squidrouter.com/favicon.ico\",\n description: \"Swap, send, and bridge across chains.\",\n};\n\nconst bitcoinZeroAddress = \"1111111111111111111114oLvT2\";\nconst cosmosZeroAddress =\n \"osmo1qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq65mj83\";\nconst solanaZeroAddress = \"11111111111111111111111111111111\";\nconst suiZeroAddress = \"0x0000000000000000000000000000000000000000\";\nconst xrplZeroAddress = \"rrrrrrrrrrrrrrrrrrrrrhoLvTp\";\nconst stellarZeroAddress =\n \"GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWHF\";\nconst cantonZeroAddress =\n \"none::12200000000000000000000000000000000000000000000000000000000000000000\";\n\nexport const chainTypeToZeroAddressMap: Record<ChainType, string> = {\n [ChainType.EVM]: evmZeroAddress,\n [ChainType.COSMOS]: cosmosZeroAddress,\n [ChainType.BTC]: bitcoinZeroAddress,\n [ChainType.SOLANA]: solanaZeroAddress,\n [ChainType.SUI]: suiZeroAddress,\n [ChainType.XRPL]: xrplZeroAddress,\n [ChainType.STELLAR]: stellarZeroAddress,\n [ChainType.CANTON]: cantonZeroAddress,\n};\n\nexport const nativeEvmTokenAddress =\n \"0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee\";\nexport const nativeCosmosTokenAddress = \"uosmo\";\nexport const nativeSolanaTokenAddress =\n \"0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee\";\nexport const nativeBitcoinTokenAddress = \"satoshi\";\nexport const nativeSuiTokenAddress =\n \"0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI\";\nexport const nativeXrplTokenAddress = \"xrp\";\nexport const nativeStellarTokenAddress =\n \"CAS3J7GYLGXMF6TDJBBYYSE3HQ6BBSMLNUQ34T6TZMYMW2EVH34XOWMA\";\nexport const nativeCantonTokenAddress =\n \"DSO::1220b1431ef217342db44d516bb9befde802be7d8899637d290895fa58880f19accc\";\n\n// by setting slippage to undefined, it's set to \"auto\"\nexport const defaultSlippage: SlippageOption = undefined;\nexport const destinationAddressResetValue = \"null\";\nexport const fallbackAddressResetValue = \"null\";\nexport const gasRefundMultiplier = 25;\nexport const internalSquidApiBaseUrl = \"https://app.squidrouter.com/api\";\nexport const XAMAN_API_URL = `${internalSquidApiBaseUrl}/xaman/`;\nexport const TOKEN_PRICE_API_URL = `${internalSquidApiBaseUrl}/coingecko`;\nexport const CANTON_AMULET_REGISTRY_URL = `${internalSquidApiBaseUrl}/canton/scan-proxy`;\nexport const DEFAULT_ROUTE_REFETCH_INTERVAL = 30_000;\n\nexport const SOLANA_RPC_URL =\n \"https://meredith-ute2ko-fast-mainnet.helius-rpc.com\";\nexport const INTEGRATOR_ID =\n \"squid-widget-playground-local-cd33cba6-7e12-4fcc-8d5d-35e286f655ea\";\n\nexport const DEFAULT_COUNTRY_CODE = \"US\";\n\nexport const CHAIN_IDS = {\n // Cosmos\n OSMOSIS: \"osmosis-1\",\n INJECTIVE: \"injective-1\",\n SECRET: \"secret-4\",\n ARCHWAY: \"archway-1\",\n XION: \"xion-mainnet-1\",\n NOBLE: \"noble-1\",\n AGORIC: \"agoric-3\",\n\n // EVM\n ETHEREUM: \"1\",\n ETHEREUM_SEPOLIA: \"11155111\",\n ARBITRUM: \"42161\",\n BSC: \"56\",\n BASE: \"8453\",\n OPTIMISM: \"10\",\n LINEA: \"59144\",\n BLAST: \"81457\",\n CELO: \"42220\",\n POLYGON: \"137\",\n AVALANCHE: \"43114\",\n IMMUTABLE: \"13371\",\n SCROLL: \"534352\",\n MOONBEAM: \"1284\",\n MANTLE: \"5000\",\n FANTOM: \"250\",\n KAVA: \"2222\",\n FILECOIN: \"314\",\n BERACHAIN: \"80094\",\n SAGA_EVM: \"5464\",\n XRPL_EVM: \"1440000\",\n XRPL_EVM_TESTNET: \"1449000\",\n GNOSIS: \"100\",\n SONIC: \"146\",\n HYPER_EVM: \"999\",\n DCHAIN: \"2716446429837000\",\n SONEIUM: \"1868\",\n PEAQ: \"3338\",\n HEDERA: \"295\",\n MANTRA: \"5888\",\n CITREA: \"4114\",\n TEMPO: \"4217\",\n ARC: \"5042\",\n KUB: \"96\",\n\n // others\n BITCOIN: \"bitcoin\",\n SOLANA: \"solana-mainnet-beta\",\n SUI: \"sui-mainnet\",\n SUI_TESTNET: \"sui-testnet\",\n XRPL: \"xrpl-mainnet\",\n XRPL_TESTNET: \"xrpl-testnet\",\n STELLAR: \"stellar-mainnet\",\n STELLAR_TESTNET: \"stellar-testnet\",\n CANTON: \"canton\",\n} as const;\n\n// approve reverts when changing a non-zero allowance to another non-zero value\nexport const zeroAllowanceResetTokens = new Set([\n // USDT\n `${CHAIN_IDS.ETHEREUM}:0xdac17f958d2ee523a2206206994597c13d831ec7`,\n // MANA\n `${CHAIN_IDS.ETHEREUM}:0x0f5d2fb29fb7d3cfee444a200298f468908cc942`,\n // USDT\n `${CHAIN_IDS.KUB}:0x21cdc3706b8c7b1836df0e533dd884069521350b`,\n]);\n\nexport const chainTypeToDefaultChainIdMap: Record<ChainType, string> = {\n [ChainType.EVM]: CHAIN_IDS.ETHEREUM,\n [ChainType.COSMOS]: CHAIN_IDS.OSMOSIS,\n [ChainType.BTC]: CHAIN_IDS.BITCOIN,\n [ChainType.SOLANA]: CHAIN_IDS.SOLANA,\n [ChainType.SUI]: CHAIN_IDS.SUI,\n [ChainType.XRPL]: CHAIN_IDS.XRPL,\n [ChainType.STELLAR]: CHAIN_IDS.STELLAR,\n [ChainType.CANTON]: CHAIN_IDS.CANTON,\n};\n\nexport const chainTypeToNativeTokenAddressMap: Record<ChainType, string> = {\n [ChainType.EVM]: nativeEvmTokenAddress,\n [ChainType.COSMOS]: nativeCosmosTokenAddress,\n [ChainType.BTC]: nativeBitcoinTokenAddress,\n [ChainType.SOLANA]: nativeSolanaTokenAddress,\n [ChainType.SUI]: nativeSuiTokenAddress,\n [ChainType.XRPL]: nativeXrplTokenAddress,\n [ChainType.STELLAR]: nativeStellarTokenAddress,\n [ChainType.CANTON]: nativeCantonTokenAddress,\n};\n\nexport const defaultConfigValues: AppConfig = {\n integratorId: INTEGRATOR_ID,\n slippage: defaultSlippage,\n apiUrl: squidApiBaseUrl,\n priceImpactWarnings: {\n warning: 3,\n critical: 5,\n },\n};\n\nexport enum EvmPriorityConnectors {\n Safe = \"safe\",\n LedgerLive = \"ledgerLive\",\n}\n"],"names":["ChainType","evmZeroAddress"],"mappings":";;;;;AAuBA,MAAM,kBAAkB,GAAG,6BAA6B;AACxD,MAAM,iBAAiB,GACrB,iEAAiE;AACnE,MAAM,iBAAiB,GAAG,kCAAkC;AAC5D,MAAM,cAAc,GAAG,4CAA4C;AACnE,MAAM,eAAe,GAAG,6BAA6B;AACrD,MAAM,kBAAkB,GACtB,0DAA0D;AAC5D,MAAM,iBAAiB,GACrB,4EAA4E;AAEjE,MAAA,yBAAyB,GAA8B;AAClE,IAAA,CAACA,oBAAS,CAAC,GAAG,GAAGC,gBAAc;AAC/B,IAAA,CAACD,oBAAS,CAAC,MAAM,GAAG,iBAAiB;AACrC,IAAA,CAACA,oBAAS,CAAC,GAAG,GAAG,kBAAkB;AACnC,IAAA,CAACA,oBAAS,CAAC,MAAM,GAAG,iBAAiB;AACrC,IAAA,CAACA,oBAAS,CAAC,GAAG,GAAG,cAAc;AAC/B,IAAA,CAACA,oBAAS,CAAC,IAAI,GAAG,eAAe;AACjC,IAAA,CAACA,oBAAS,CAAC,OAAO,GAAG,kBAAkB;AACvC,IAAA,CAACA,oBAAS,CAAC,MAAM,GAAG,iBAAiB;;AAGhC,MAAM,qBAAqB,GAChC;AACK,MAAM,wBAAwB,GAAG;AACjC,MAAM,wBAAwB,GACnC;AACK,MAAM,yBAAyB,GAAG;AAClC,MAAM,qBAAqB,GAChC;AACK,MAAM,sBAAsB,GAAG;AAC/B,MAAM,yBAAyB,GACpC;AACK,MAAM,wBAAwB,GACnC;AAoBW,MAAA,SAAS,GAAG;;AAEvB,IAAA,OAAO,EAAE,WAAW;AACpB,IAAA,SAAS,EAAE,aAAa;AACxB,IAAA,MAAM,EAAE,UAAU;AAClB,IAAA,OAAO,EAAE,WAAW;AACpB,IAAA,IAAI,EAAE,gBAAgB;AACtB,IAAA,KAAK,EAAE,SAAS;AAChB,IAAA,MAAM,EAAE,UAAU;;AAGlB,IAAA,QAAQ,EAAE,GAAG;AACb,IAAA,gBAAgB,EAAE,UAAU;AAC5B,IAAA,QAAQ,EAAE,OAAO;AACjB,IAAA,GAAG,EAAE,IAAI;AACT,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,QAAQ,EAAE,IAAI;AACd,IAAA,KAAK,EAAE,OAAO;AACd,IAAA,KAAK,EAAE,OAAO;AACd,IAAA,IAAI,EAAE,OAAO;AACb,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,SAAS,EAAE,OAAO;AAClB,IAAA,SAAS,EAAE,OAAO;AAClB,IAAA,MAAM,EAAE,QAAQ;AAChB,IAAA,QAAQ,EAAE,MAAM;AAChB,IAAA,MAAM,EAAE,MAAM;AACd,IAAA,MAAM,EAAE,KAAK;AACb,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,QAAQ,EAAE,KAAK;AACf,IAAA,SAAS,EAAE,OAAO;AAClB,IAAA,QAAQ,EAAE,MAAM;AAChB,IAAA,QAAQ,EAAE,SAAS;AACnB,IAAA,gBAAgB,EAAE,SAAS;AAC3B,IAAA,MAAM,EAAE,KAAK;AACb,IAAA,KAAK,EAAE,KAAK;AACZ,IAAA,SAAS,EAAE,KAAK;AAChB,IAAA,MAAM,EAAE,kBAAkB;AAC1B,IAAA,OAAO,EAAE,MAAM;AACf,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,MAAM,EAAE,KAAK;AACb,IAAA,MAAM,EAAE,MAAM;AACd,IAAA,MAAM,EAAE,MAAM;AACd,IAAA,KAAK,EAAE,MAAM;AACb,IAAA,GAAG,EAAE,MAAM;AACX,IAAA,GAAG,EAAE,IAAI;;AAGT,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,MAAM,EAAE,qBAAqB;AAC7B,IAAA,GAAG,EAAE,aAAa;AAClB,IAAA,WAAW,EAAE,aAAa;AAC1B,IAAA,IAAI,EAAE,cAAc;AACpB,IAAA,YAAY,EAAE,cAAc;AAC5B,IAAA,OAAO,EAAE,iBAAiB;AAC1B,IAAA,eAAe,EAAE,iBAAiB;AAClC,IAAA,MAAM,EAAE,QAAQ;;AAGlB;AACwC,IAAI,GAAG,CAAC;;IAE9C,CAAG,EAAA,SAAS,CAAC,QAAQ,CAA6C,2CAAA,CAAA;;IAElE,CAAG,EAAA,SAAS,CAAC,QAAQ,CAA6C,2CAAA,CAAA;;IAElE,CAAG,EAAA,SAAS,CAAC,GAAG,CAA6C,2CAAA,CAAA;AAC9D,CAAA;CAEsE;AACrE,IAAA,CAACA,oBAAS,CAAC,GAAG,GAAG,SAAS,CAAC,QAAQ;AACnC,IAAA,CAACA,oBAAS,CAAC,MAAM,GAAG,SAAS,CAAC,OAAO;AACrC,IAAA,CAACA,oBAAS,CAAC,GAAG,GAAG,SAAS,CAAC,OAAO;AAClC,IAAA,CAACA,oBAAS,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM;AACpC,IAAA,CAACA,oBAAS,CAAC,GAAG,GAAG,SAAS,CAAC,GAAG;AAC9B,IAAA,CAACA,oBAAS,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI;AAChC,IAAA,CAACA,oBAAS,CAAC,OAAO,GAAG,SAAS,CAAC,OAAO;AACtC,IAAA,CAACA,oBAAS,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM;;AAGzB,MAAA,gCAAgC,GAA8B;AACzE,IAAA,CAACA,oBAAS,CAAC,GAAG,GAAG,qBAAqB;AACtC,IAAA,CAACA,oBAAS,CAAC,MAAM,GAAG,wBAAwB;AAC5C,IAAA,CAACA,oBAAS,CAAC,GAAG,GAAG,yBAAyB;AAC1C,IAAA,CAACA,oBAAS,CAAC,MAAM,GAAG,wBAAwB;AAC5C,IAAA,CAACA,oBAAS,CAAC,GAAG,GAAG,qBAAqB;AACtC,IAAA,CAACA,oBAAS,CAAC,IAAI,GAAG,sBAAsB;AACxC,IAAA,CAACA,oBAAS,CAAC,OAAO,GAAG,yBAAyB;AAC9C,IAAA,CAACA,oBAAS,CAAC,MAAM,GAAG,wBAAwB;;AAa9C,IAAY,qBAGX;AAHD,CAAA,UAAY,qBAAqB,EAAA;AAC/B,IAAA,qBAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACb,IAAA,qBAAA,CAAA,YAAA,CAAA,GAAA,YAAyB;AAC3B,CAAC,EAHW,qBAAqB,KAArB,qBAAqB,GAGhC,EAAA,CAAA,CAAA;;;;;;;;;;;;;;"}
|
|
@@ -1,12 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { ExecuteFiatQuoteResult, ExecuteQuoteClient,
|
|
1
|
+
import { Token } from "@0xsquid/squid-types";
|
|
2
|
+
import { ExecuteFiatQuoteResult, ExecuteQuoteClient, OnRampQuoteParams, OnRampTransactionStatus, OnrampConfigResponse, OnrampPaymentMethod, OnrampQuoteResponse } from "../../core/types/onramps/onramp";
|
|
3
3
|
export declare class OnrampService {
|
|
4
4
|
private readonly baseUrl;
|
|
5
5
|
getQuote(params: OnRampQuoteParams): Promise<OnrampQuoteResponse>;
|
|
6
6
|
executeQuote(params: ExecuteQuoteClient): Promise<ExecuteFiatQuoteResult>;
|
|
7
7
|
getTransactionStatus(transactionId: string, walletAddress: string, providerId: string): Promise<OnRampTransactionStatus>;
|
|
8
|
-
getConfiguration({
|
|
9
|
-
chains: ChainData[];
|
|
8
|
+
getConfiguration({ tokens, }: {
|
|
10
9
|
tokens: Token[];
|
|
11
10
|
}): Promise<OnrampConfigResponse>;
|
|
12
11
|
getPaymentTypes(fiatCurrency: string, cryptoCurrencyID: string, country?: string): Promise<OnrampPaymentMethod[]>;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { type ChainData, type CosmosChain, type Token } from "@0xsquid/squid-types";
|
|
2
|
+
import { CantonConnector } from "../../core/types/canton";
|
|
2
3
|
import type { TokenWithBalance } from "../../core/types/tokens";
|
|
3
4
|
export declare const getTokensSupportingMultiCall: (tokens: Token[], userAddress: string, chains: ChainData[]) => Promise<TokenWithBalance[]>;
|
|
4
5
|
export declare const getAllEvmTokensBalance: (evmTokens: Token[], userAddress: string, chains: ChainData[]) => Promise<TokenWithBalance[]>;
|
|
@@ -55,8 +56,22 @@ export declare const getSuiTokenBalance: (userAddress: string, tokenAddress: str
|
|
|
55
56
|
export declare const getAllSuiTokensBalance: (userAddress: string, suiTokens: Token[], suiChains: ChainData[]) => Promise<TokenWithBalance[]>;
|
|
56
57
|
export declare const getXrplTokenBalance: (userAddress: string, token: Pick<Token, "decimals" | "address">, chain: ChainData) => Promise<bigint>;
|
|
57
58
|
export declare const getAllXrplTokensBalance: (userAddress: string, xrplTokens: Token[], xrplChains: ChainData[]) => Promise<TokenWithBalance[]>;
|
|
58
|
-
export declare const getStellarTokenBalance: (userAddress: string, token:
|
|
59
|
+
export declare const getStellarTokenBalance: (userAddress: string, token: Token, chain: ChainData) => Promise<bigint>;
|
|
59
60
|
export declare const getAllStellarTokensBalance: (userAddress: string, stellarTokens: Token[], stellarChains: ChainData[]) => Promise<TokenWithBalance[]>;
|
|
61
|
+
/**
|
|
62
|
+
* Canton balances are private: they can only be read with a wallet-authorized
|
|
63
|
+
* session. Balance is fetchable only when a Canton wallet is connected, and
|
|
64
|
+
* only for that wallet's party — there's no address-only read.
|
|
65
|
+
*/
|
|
66
|
+
export declare const getCantonTokenBalance: (userAddress: string, token: Token, cantonConnector: CantonConnector) => Promise<string>;
|
|
67
|
+
/**
|
|
68
|
+
* Fetch balances for all Canton tokens through the connected wallet.
|
|
69
|
+
*/
|
|
70
|
+
export declare function getAllCantonTokensBalance({ connector, partyId, tokens, }: {
|
|
71
|
+
connector: CantonConnector;
|
|
72
|
+
partyId: string;
|
|
73
|
+
tokens: Token[];
|
|
74
|
+
}): Promise<TokenWithBalance[]>;
|
|
60
75
|
/**
|
|
61
76
|
* Returns a promise that resolves when the given promise resolves or after the given timeout
|
|
62
77
|
* @param ms - timeout in milliseconds
|
|
@@ -1,5 +1,9 @@
|
|
|
1
|
+
import { StellarTrustLine } from "../../core/types/stellar";
|
|
2
|
+
import { TrustLineAsset } from "../../core/types/tokens";
|
|
1
3
|
export declare class StellarApiClient {
|
|
2
4
|
private apiUrl;
|
|
3
5
|
constructor(apiUrl: string);
|
|
4
6
|
getBaseReserve(): Promise<bigint>;
|
|
7
|
+
getTrustLines(userAddress: string): Promise<StellarTrustLine[]>;
|
|
8
|
+
getTrustLine(address: string, asset: TrustLineAsset): Promise<StellarTrustLine | null>;
|
|
5
9
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Token } from "@0xsquid/squid-types";
|
|
2
1
|
import { rpc, Transaction } from "@stellar/stellar-sdk";
|
|
2
|
+
import { StellarToken } from "../../core/types/stellar";
|
|
3
3
|
import { TokenWithBalance } from "../../core/types/tokens";
|
|
4
4
|
export declare class StellarRpcClient {
|
|
5
5
|
private server;
|
|
@@ -11,7 +11,7 @@ export declare class StellarRpcClient {
|
|
|
11
11
|
* and simulate the transaction to get the balance.
|
|
12
12
|
*/
|
|
13
13
|
getBalance(userAddress: string, tokenAddress: string, chainId: string): Promise<string>;
|
|
14
|
-
getAllBalances(userAddress: string, tokens:
|
|
14
|
+
getAllBalances(userAddress: string, tokens: StellarToken[]): Promise<Array<TokenWithBalance>>;
|
|
15
15
|
/**
|
|
16
16
|
* Resolves when the transaction is confirmed, or fails after a timeout.
|
|
17
17
|
*/
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { TrustLineAsset } from "../../core/types/tokens";
|
|
1
2
|
import { TrustLine, XrplTokenBalance, XrplTxStatus } from "../../core/types/xrpl";
|
|
2
3
|
type AccountLinesRpcResponse = {
|
|
3
4
|
account: string;
|
|
@@ -9,7 +10,7 @@ export declare class XrplRpcClient {
|
|
|
9
10
|
getBalance(address: string, tokenAddress: string): Promise<string>;
|
|
10
11
|
getAllBalances(address: string): Promise<XrplTokenBalance[]>;
|
|
11
12
|
getTrustLines(address: string, issuer?: string): Promise<AccountLinesRpcResponse>;
|
|
12
|
-
getTrustLine(address: string,
|
|
13
|
+
getTrustLine(address: string, asset: TrustLineAsset): Promise<TrustLine | null>;
|
|
13
14
|
accountActivatedInfo(address: string): Promise<{
|
|
14
15
|
isActivated: boolean;
|
|
15
16
|
reserveBaseBn: bigint;
|
package/dist/services/index.d.ts
CHANGED
|
@@ -13,8 +13,13 @@ export * from "./internal/priceService";
|
|
|
13
13
|
export * from "./internal/routeService";
|
|
14
14
|
export * from "./internal/searchService";
|
|
15
15
|
export * from "./internal/solanaService";
|
|
16
|
+
export { getSwapExplorerLinks, getSwapStepLink, type SwapExplorerLinksSource, type SwapExplorerLinkType, } from "./internal/status/statusExplorerLinks";
|
|
17
|
+
export { getDisplayedSwapStatus } from "./internal/status/statusMapping";
|
|
18
|
+
export { getSwapProgress, type SwapStepStatus, } from "./internal/status/statusSteps";
|
|
19
|
+
export * from "./internal/stellarService";
|
|
16
20
|
export * from "./internal/transactionService";
|
|
17
21
|
export * from "./internal/transactionStatusService";
|
|
22
|
+
export * from "./internal/urlParamsService";
|
|
18
23
|
export * from "./internal/walletService";
|
|
19
24
|
export * from "./internal/xionService";
|
|
20
25
|
export * from "./internal/xrplService";
|
|
@@ -2,5 +2,3 @@ export declare const getQueryHeaders: (integratorId?: string, requestId?: string
|
|
|
2
2
|
"X-Request-Id"?: string | undefined;
|
|
3
3
|
"X-Integrator-Id"?: string | undefined;
|
|
4
4
|
};
|
|
5
|
-
export declare const getStatusCode: (error: any) => number | undefined;
|
|
6
|
-
export declare const is404Error: (error: any) => boolean;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { Token } from "@0xsquid/squid-types";
|
|
2
|
+
export declare const arcUsdcTokenAddress = "0x3600000000000000000000000000000000000000";
|
|
3
|
+
export declare const isArcChain: (chainId: string | undefined) => boolean;
|
|
4
|
+
export declare const isArcUsdcToken: (token: Pick<Token, "chainId" | "address"> | undefined) => boolean;
|
|
5
|
+
export declare const convertArcGasToUsdcUnits: (fee: bigint) => bigint;
|
|
6
|
+
export type ArcFeeData = {
|
|
7
|
+
gasBalance: bigint;
|
|
8
|
+
gasTokenAddress: string;
|
|
9
|
+
};
|