diff --git a/.changeset/hungry-zoos-rush.md b/.changeset/hungry-zoos-rush.md new file mode 100644 index 000000000..82d6b25fc --- /dev/null +++ b/.changeset/hungry-zoos-rush.md @@ -0,0 +1,27 @@ +--- +"@swapkit/wallet-evm-extensions": minor +"@swapkit/wallet-keepkey-bex": minor +"@swapkit/wallet-polkadotjs": minor +"@swapkit/plugin-chainflip": minor +"@swapkit/toolbox-cosmos": minor +"@swapkit/wallet-coinbase": minor +"@swapkit/wallet-keystore": minor +"@swapkit/wallet-talisman": minor +"@swapkit/helpers": minor +"@swapkit/wallet-phantom": minor +"@swapkit/tokens": minor +"@swapkit/wizard": minor +"@swapkit/toolbox-utxo": minor +"@swapkit/wallet-bitget": minor +"@swapkit/wallet-exodus": minor +"@swapkit/wallet-ledger": minor +"@swapkit/wallet-trezor": minor +"@swapkit/toolbox-evm": minor +"@swapkit/wallet-keplr": minor +"@swapkit/wallet-ctrl": minor +"@swapkit/api": minor +"@swapkit/wallet-okx": minor +"@swapkit/wallet-wc": minor +--- + +Adds alchemy api and refactors wallets api handling internally diff --git a/bun.lockb b/bun.lockb index 9addf145d..bac61c732 100755 Binary files a/bun.lockb and b/bun.lockb differ diff --git a/packages/plugins/chainflip/src/plugin.ts b/packages/plugins/chainflip/src/plugin.ts index b7daf892d..07963e06f 100644 --- a/packages/plugins/chainflip/src/plugin.ts +++ b/packages/plugins/chainflip/src/plugin.ts @@ -1,6 +1,7 @@ import { swapkitApiEndpoints } from "@swapkit/api"; import { AssetValue, + type ConnectConfig, type EVMWallets, ProviderName, type SolanaWallets, @@ -15,11 +16,13 @@ type SupportedChain = keyof (EVMWallets & SubstrateWallets & UTXOWallets & Solan function plugin({ getWallet, - config: { chainflipBrokerUrl: legacyChainflipBrokerUrl, chainflipBrokerConfig }, -}: SwapKitPluginParams<{ - chainflipBrokerUrl?: string; - chainflipBrokerConfig?: { chainflipBrokerUrl: string }; -}>) { + config: { + chainflipBrokerUrl: legacyChainflipBrokerUrl, + chainflipBrokerConfig, + swapkitConfig, + swapkitApiKey, + }, +}: SwapKitPluginParams) { async function swap(swapParams: RequestSwapDepositAddressParams) { const { chainflipBrokerUrl } = chainflipBrokerConfig || {}; @@ -66,6 +69,7 @@ function plugin({ destinationAddress: recipient || chainflip.destinationAddress, maxBoostFeeBps: maxBoostFeeBps || chainflip.maxBoostFeeBps, }, + apiKey: swapkitApiKey || swapkitConfig?.swapkitApiKey, }); const tx = await wallet.transfer({ diff --git a/packages/swapkit/api/src/swapkitApi/endpoints.ts b/packages/swapkit/api/src/swapkitApi/endpoints.ts index 890814e2d..5dd982299 100644 --- a/packages/swapkit/api/src/swapkitApi/endpoints.ts +++ b/packages/swapkit/api/src/swapkitApi/endpoints.ts @@ -25,7 +25,11 @@ function getBaseUrl(isDev?: boolean) { return isDev ? baseUrlDev : baseUrl; } -const getAuthHeaders = (hash?: string, apiKey?: string, referer?: string) => ({ +const getAuthHeaders = ({ + hash, + apiKey, + referer, +}: { hash?: string; apiKey?: string; referer?: string }) => ({ ...(apiKey && !hash ? { "x-api-key": apiKey } : {}), ...(hash && referer ? { "x-payload-hash": hash, referer } : {}), }); @@ -89,7 +93,7 @@ export function getTrackerDetails(payload: TrackerParams, apiKey?: string, refer : undefined; return RequestClient.post(url, { json: payload, - headers: getAuthHeaders(hash, apiKey, referer), + headers: getAuthHeaders({ hash, apiKey, referer }), }); } @@ -122,7 +126,7 @@ export async function getSwapQuote( : undefined; const response = await RequestClient.post(url, { json: searchParams, - headers: getAuthHeaders(hash, apiKey, referer), + headers: getAuthHeaders({ hash, apiKey, referer }), }); if (response.error) { @@ -155,7 +159,7 @@ export function getTokenListProvidersV2(isDev = false, apiKey?: string, referer? }) : undefined; return RequestClient.get(url, { - headers: getAuthHeaders(hash, apiKey, referer), + headers: getAuthHeaders({ hash, apiKey, referer }), }); } @@ -187,7 +191,7 @@ export function getTokenList( }) : undefined; return RequestClient.get(url, { - headers: getAuthHeaders(hash, apiKey, referer), + headers: getAuthHeaders({ hash, apiKey, referer }), }); } @@ -208,7 +212,7 @@ export async function getPrice( : undefined; const response = await RequestClient.post(url, { json: body, - headers: getAuthHeaders(hash, apiKey, referer), + headers: getAuthHeaders({ hash, apiKey, referer }), }); try { @@ -236,7 +240,7 @@ export async function getGasRate(isDev = false, apiKey?: string, referer?: strin : undefined; const response = await RequestClient.get(url, { - headers: getAuthHeaders(hash, apiKey, referer), + headers: getAuthHeaders({ hash, apiKey, referer }), }); try { @@ -351,9 +355,11 @@ export async function getChainflipDepositChannel({ isDev = false, baseUrl, body, + apiKey, }: { isDev?: boolean; baseUrl?: string; + apiKey?: string; body: BrokerDepositChannelParams; }) { const { destinationAddress } = body; @@ -365,6 +371,7 @@ export async function getChainflipDepositChannel({ const response = await RequestClient.post(url, { json: body, + headers: getAuthHeaders({ apiKey }), }); try { diff --git a/packages/swapkit/helpers/src/helpers/web3wallets.ts b/packages/swapkit/helpers/src/helpers/web3wallets.ts index 660aaba42..fdd7a61b0 100644 --- a/packages/swapkit/helpers/src/helpers/web3wallets.ts +++ b/packages/swapkit/helpers/src/helpers/web3wallets.ts @@ -184,23 +184,14 @@ export const listWeb3EVMWallets = () => { return wallets; }; -export function ensureEVMApiKeys({ +export function pickEvmApiKey({ chain, - covalentApiKey, - ethplorerApiKey, -}: { chain: Chain; covalentApiKey?: string; ethplorerApiKey?: string }) { - const missingKey = - chain !== Chain.Ethereum && !covalentApiKey - ? "covalentApiKey" - : ethplorerApiKey - ? undefined - : "ethplorerApiKey"; - - if (missingKey) { - throw new SwapKitError({ errorKey: "wallet_missing_api_key", info: { missingKey } }); - } + nonEthApiKey, + ethApiKey, +}: { chain: Chain; nonEthApiKey?: string; ethApiKey?: string }) { + const apiKey = chain === Chain.Ethereum ? ethApiKey : nonEthApiKey; - return { covalentApiKey: covalentApiKey as string, ethplorerApiKey: ethplorerApiKey as string }; + return apiKey; } export function getEIP6963Wallets() { diff --git a/packages/swapkit/helpers/src/modules/assetValue.ts b/packages/swapkit/helpers/src/modules/assetValue.ts index f0919c058..8750e211a 100644 --- a/packages/swapkit/helpers/src/modules/assetValue.ts +++ b/packages/swapkit/helpers/src/modules/assetValue.ts @@ -142,7 +142,7 @@ export class AssetValue extends BigIntArithmetics { warnOnce( !(asyncTokenLookup || tokenDecimal), - `Couldn't find static decimal for ${unsafeIdentifier} (Using default ${BaseDecimal[chain]} decimal as fallback). + `Couldn't find static decimal for a token on chain (Using default ${BaseDecimal[chain]} decimal as fallback). This can result in incorrect calculations and mess with amount sent on transactions. You can load static assets by installing @swapkit/tokens package and calling AssetValue.loadStaticAssets() or by passing asyncTokenLookup: true to the from() function, which will make it async and return a promise.`, @@ -174,7 +174,7 @@ or by passing asyncTokenLookup: true to the from() function, which will make it for (const tokenList of Object.values(tokenPackage.tokenLists)) { for (const { identifier, chain, ...rest } of tokenList.tokens) { staticTokensMap.set( - chain !== "SOL" ? (identifier.toUpperCase() as TokenNames) : identifier, + chain === "SOL" ? identifier : (identifier.toUpperCase() as TokenNames), { identifier, decimal: "decimals" in rest ? rest.decimals : BaseDecimal[chain as Chain], diff --git a/packages/swapkit/helpers/src/types/commonTypes.ts b/packages/swapkit/helpers/src/types/commonTypes.ts index 61c98c539..754828ed4 100644 --- a/packages/swapkit/helpers/src/types/commonTypes.ts +++ b/packages/swapkit/helpers/src/types/commonTypes.ts @@ -6,7 +6,7 @@ import type { ChainWallet, CryptoChain } from "./wallet"; /** * @optional for swapkit API access */ -type SwapkitConfig = { +export type SwapkitConfig = { swapkitConfig?: { isDev?: boolean; swapkitApiKey?: string; @@ -19,11 +19,11 @@ type SwapkitConfig = { export type ConnectConfig = SwapkitConfig & { stagenet?: boolean; /** - * @required for AVAX & BSC + * @required */ thorswapApiKey?: string; /** - * @required for AVAX & BSC + * @optional for non ETH EVM chains - if not set you must use alchemyApi */ covalentApiKey?: string; /** diff --git a/packages/swapkit/helpers/src/types/sdk.ts b/packages/swapkit/helpers/src/types/sdk.ts index af4d63f62..613ca015d 100644 --- a/packages/swapkit/helpers/src/types/sdk.ts +++ b/packages/swapkit/helpers/src/types/sdk.ts @@ -1,10 +1,11 @@ import type { CovalentApiType, EthplorerApiType } from "@swapkit/toolbox-evm"; import type { BlockchairApiType } from "@swapkit/toolbox-utxo"; +import type { AlchemyApiType } from "@swapkit/toolbox-evm/src/api/alchemyApi"; import type { AssetValue } from "../modules/assetValue"; import type { Chain, CosmosChain, UTXOChain } from "./chains"; -type CovalentChains = +type NonEthEvmChains = | Chain.Base | Chain.BinanceSmartChain | Chain.Polygon @@ -12,7 +13,7 @@ type CovalentChains = | Chain.Arbitrum | Chain.Optimism; -export type ChainApis = { [key in CovalentChains]?: CovalentApiType } & { +export type ChainApis = { [key in NonEthEvmChains]?: CovalentApiType | AlchemyApiType } & { [key in Chain.Ethereum]?: EthplorerApiType; } & { [key in UTXOChain]?: BlockchairApiType; @@ -22,7 +23,12 @@ export type ChainApis = { [key in CovalentChains]?: CovalentApiType } & { [key in Chain.Fiat]?: undefined; }; -export type ChainApi = EthplorerApiType | CovalentApiType | BlockchairApiType | string; +export type ChainApi = + | EthplorerApiType + | CovalentApiType + | AlchemyApiType + | BlockchairApiType + | string; export type GenericSwapParams = { buyAsset?: AssetValue; diff --git a/packages/swapkit/helpers/src/types/tokens.ts b/packages/swapkit/helpers/src/types/tokens.ts index 409843754..7e8d5c205 100644 --- a/packages/swapkit/helpers/src/types/tokens.ts +++ b/packages/swapkit/helpers/src/types/tokens.ts @@ -6,7 +6,7 @@ export type TokenNames = | (typeof tokenLists)["CaviarV1List"]["tokens"][number]["identifier"] | (typeof tokenLists)["ChainflipList"]["tokens"][number]["identifier"] | (typeof tokenLists)["JupiterList"]["tokens"][number]["identifier"] - // | (typeof tokenLists)["KadoList"]["tokens"][number]["identifier"] + | (typeof tokenLists)["KadoList"]["tokens"][number]["identifier"] | (typeof tokenLists)["MayaList"]["tokens"][number]["identifier"] // | (typeof tokenLists)['OciswapV1List']["tokens"][number]["identifier"] | (typeof tokenLists)["OneInchList"]["tokens"][number]["identifier"] diff --git a/packages/swapkit/tokens/fetchTokenLists.ts b/packages/swapkit/tokens/fetchTokenLists.ts index 5162681c2..fc355b32f 100644 --- a/packages/swapkit/tokens/fetchTokenLists.ts +++ b/packages/swapkit/tokens/fetchTokenLists.ts @@ -13,7 +13,7 @@ function parseIdentifier(identifier: string) { return identifier; } -const providers = (await SwapKitApi.getTokenListProvidersV2(true)).filter( +const providers = (await SwapKitApi.getTokenListProvidersV2(false)).filter( (provider) => ![ ProviderName.CHAINFLIP_STREAMING, diff --git a/packages/swapkit/tokens/src/tokenLists/camelot_v3.ts b/packages/swapkit/tokens/src/tokenLists/camelot_v3.ts index bdedf342a..f40874b63 100644 --- a/packages/swapkit/tokens/src/tokenLists/camelot_v3.ts +++ b/packages/swapkit/tokens/src/tokenLists/camelot_v3.ts @@ -2,8 +2,8 @@ export const list = { provider: "CAMELOT_V3", chainId: "42161", name: "Camelot V3", - timestamp: "1737552726554", - count: 1591, + timestamp: "1738954930065", + count: 1593, tokens: [ { address: "0xda39A32c9c5Bb2C9E99d4e2a24bc55A418599F90", @@ -2075,6 +2075,16 @@ export const list = { "https://storage.googleapis.com/token-list-swapkit/images/arb.anima-0xccd05a0fcfc1380e9da27862adb2198e58e0d66f.png", ticker: "ANIMA", }, + { + address: "0x37a645648dF29205C6261289983FB04ECD70b4B3", + chain: "ARB", + chainId: "42161", + decimals: 18, + identifier: "ARB.ANIME-0x37a645648dF29205C6261289983FB04ECD70b4B3", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/arb.anime-0x37a645648df29205c6261289983fb04ecd70b4b3.png", + ticker: "ANIME", + }, { address: "0xBb97CCB699dfC1aF2e05ea68b547505A9D5450C3", chain: "ARB", @@ -11425,6 +11435,16 @@ export const list = { "https://storage.googleapis.com/token-list-swapkit/images/arb.plsdpx-0xf236ea74b515ef96a9898f5a4ed4aa591f253ce1.png", ticker: "plsDPX", }, + { + address: "0x9e6B748d25Ed2600Aa0ce7Cbb42267adCF21Fd9B", + chain: "ARB", + chainId: "42161", + decimals: 18, + identifier: "ARB.plsGRAIL-0x9e6B748d25Ed2600Aa0ce7Cbb42267adCF21Fd9B", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/arb.plsgrail-0x9e6b748d25ed2600aa0ce7cbb42267adcf21fd9b.png", + ticker: "plsGRAIL", + }, { address: "0xe7f6C3c1F0018E4C08aCC52965e5cbfF99e34A44", chain: "ARB", @@ -13587,11 +13607,11 @@ export const list = { ticker: "SUPR", }, { - address: "0x7788a3538c5fc7f9c7c8a74eac4c898fc8d87d92", + address: "0x7788A3538C5fc7F9c7C8A74EAC4c898fC8d87d92", chain: "ARB", chainId: "42161", decimals: 18, - identifier: "ARB.sUSDX-0x7788a3538c5fc7f9c7c8a74eac4c898fc8d87d92", + identifier: "ARB.sUSDX-0x7788A3538C5fc7F9c7C8A74EAC4c898fC8d87d92", logoURI: "https://storage.googleapis.com/token-list-swapkit/images/arb.susdx-0x7788a3538c5fc7f9c7c8a74eac4c898fc8d87d92.png", ticker: "sUSDX", diff --git a/packages/swapkit/tokens/src/tokenLists/caviar_v1.ts b/packages/swapkit/tokens/src/tokenLists/caviar_v1.ts index e8b39b3ba..d835c5a83 100644 --- a/packages/swapkit/tokens/src/tokenLists/caviar_v1.ts +++ b/packages/swapkit/tokens/src/tokenLists/caviar_v1.ts @@ -2,7 +2,7 @@ export const list = { provider: "CAVIAR_V1", chainId: "radix-mainnet", name: "CAVIAR_V1", - timestamp: "2025-01-22T13:31:45.456Z", + timestamp: "2025-02-07T19:02:44.180Z", version: { major: 1, minor: 0, diff --git a/packages/swapkit/tokens/src/tokenLists/chainflip.ts b/packages/swapkit/tokens/src/tokenLists/chainflip.ts index 25cd1815d..32870dd28 100644 --- a/packages/swapkit/tokens/src/tokenLists/chainflip.ts +++ b/packages/swapkit/tokens/src/tokenLists/chainflip.ts @@ -1,7 +1,7 @@ export const list = { provider: "CHAINFLIP", name: "CHAINFLIP", - timestamp: "2025-01-22T13:30:48.543Z", + timestamp: "2025-02-07T19:01:37.235Z", version: { major: 1, minor: 0, diff --git a/packages/swapkit/tokens/src/tokenLists/index.ts b/packages/swapkit/tokens/src/tokenLists/index.ts index c7502ccb1..a3ca98b31 100644 --- a/packages/swapkit/tokens/src/tokenLists/index.ts +++ b/packages/swapkit/tokens/src/tokenLists/index.ts @@ -1,6 +1,7 @@ export { list as CaviarV1List } from "./caviar_v1"; export { list as ChainflipList } from "./chainflip"; export { list as JupiterList } from "./jupiter"; +export { list as KadoList } from "./kado"; export { list as MayaList } from "./mayachain"; export { list as OneInchList } from "./oneinch"; export { list as OpenOceanV2List } from "./openocean_v2"; diff --git a/packages/swapkit/tokens/src/tokenLists/jupiter.ts b/packages/swapkit/tokens/src/tokenLists/jupiter.ts index a0b13fa2c..51d612def 100644 --- a/packages/swapkit/tokens/src/tokenLists/jupiter.ts +++ b/packages/swapkit/tokens/src/tokenLists/jupiter.ts @@ -12,8 +12,8 @@ export const list: { count: number; tokens: { address: string; - chain: string; - chainId: string; + chain: "SOL"; + chainId: "solana"; decimals: number; identifier: string; logoURI: string; @@ -23,14 +23,14 @@ export const list: { provider: "JUPITER", chainId: "solana", name: "JUPITER", - timestamp: "2025-01-22T13:31:48.846Z", + timestamp: "2025-02-07T19:02:47.769Z", version: { major: 1, minor: 0, patch: 0, }, keywords: [], - count: 2957, + count: 3042, tokens: [ { address: "3QGGLYLu251jE9Ra8jkGtuHb773xYciXeqqvUgNTGimE", @@ -242,6 +242,16 @@ export const list: { "https://storage.googleapis.com/token-list-swapkit/images/sol.$clown-v7ntwk4d9frwaec2cujmrmmsjg28cd31hxdkndp1qjm.png", ticker: "$Clown", }, + { + address: "C7heQqfNzdMbUFQwcHkL9FvdwsFsDRBnfwZDDyWYCLTZ", + chain: "SOL", + chainId: "solana", + decimals: 6, + identifier: "SOL.$COLLAT-C7heQqfNzdMbUFQwcHkL9FvdwsFsDRBnfwZDDyWYCLTZ", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/sol.$collat-c7heqqfnzdmbufqwchkl9fvdwsfsdrbnfwzddywycltz.png", + ticker: "$COLLAT", + }, { address: "B2aDbn9LuMHVNxcLnXsrP8SwE83W39w7UbkiMmVrpump", chain: "SOL", @@ -882,6 +892,16 @@ export const list: { "https://storage.googleapis.com/token-list-swapkit/images/sol.$solo-j8cku4pd2ntsovvv5xghwhqijy5ttezgsyozorxz6ax8.png", ticker: "$SOLO", }, + { + address: "Agentfk87X48g37uPprEZaQtizDvnSQVeTqVjAtmbhd3", + chain: "SOL", + chainId: "solana", + decimals: 6, + identifier: "SOL.$SOULS-Agentfk87X48g37uPprEZaQtizDvnSQVeTqVjAtmbhd3", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/sol.$souls-agentfk87x48g37upprezaqtizdvnsqvetqvjatmbhd3.png", + ticker: "$SOULS", + }, { address: "6VHL2vMKgrF1YQFSv29Rs1pj9VCRK29bD11NtDqerqHA", chain: "SOL", @@ -1702,6 +1722,26 @@ export const list: { "https://storage.googleapis.com/token-list-swapkit/images/sol.ageur-cbnya9n3927uxuukee2hf4tm3xxkffjppzvgazc2eah1.png", ticker: "agEUR", }, + { + address: "8bUbe1ujsM1G3JEbBWVVCXa2widmuPdKUB2rGKMYFw7R", + chain: "SOL", + chainId: "solana", + decimals: 8, + identifier: "SOL.AGI-8bUbe1ujsM1G3JEbBWVVCXa2widmuPdKUB2rGKMYFw7R", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/sol.agi-8bube1ujsm1g3jebbwvvcxa2widmupdkub2rgkmyfw7r.png", + ticker: "AGI", + }, + { + address: "F9TgEJLLRUKDRF16HgjUCdJfJ5BK6ucyiW8uJxVPpump", + chain: "SOL", + chainId: "solana", + decimals: 6, + identifier: "SOL.AGiXT-F9TgEJLLRUKDRF16HgjUCdJfJ5BK6ucyiW8uJxVPpump", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/sol.agixt-f9tgejllrukdrf16hgjucdjfj5bk6ucyiw8ujxvppump.png", + ticker: "AGiXT", + }, { address: "AGRidUXLeDij9CJprkZx7WBXtTQC67jtfiwz293mVrJ", chain: "SOL", @@ -2062,6 +2102,16 @@ export const list: { "https://storage.googleapis.com/token-list-swapkit/images/sol.almc-7f94zk1egfoeg57vj5ftddjmmpnhm4dys7kriyd2t4ba.png", ticker: "ALMC", }, + { + address: "8XtRWb4uAAJFMP4QQhoYYCWR6XXb7ybcCdiqPwz9s5WS", + chain: "SOL", + chainId: "solana", + decimals: 6, + identifier: "SOL.ALON-8XtRWb4uAAJFMP4QQhoYYCWR6XXb7ybcCdiqPwz9s5WS", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/sol.alon-8xtrwb4uaajfmp4qqhoyycwr6xxb7ybccdiqpwz9s5ws.png", + ticker: "ALON", + }, { address: "GZ6YjHeeUEVrtUo25LMqBCgX51MeUHHU46Dpeatwpump", chain: "SOL", @@ -2092,6 +2142,16 @@ export const list: { "https://storage.googleapis.com/token-list-swapkit/images/sol.alp-8thsrra6qpkva4bge6dnffknukucpm22db16zs1mpump.png", ticker: "ALP", }, + { + address: "2sCUCJdVkmyXp4dT8sFaA9LKgSMK4yDPi9zLHiwXpump", + chain: "SOL", + chainId: "solana", + decimals: 6, + identifier: "SOL.ALPHA-2sCUCJdVkmyXp4dT8sFaA9LKgSMK4yDPi9zLHiwXpump", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/sol.alpha-2scucjdvkmyxp4dt8sfaa9lkgsmk4ydpi9zlhiwxpump.png", + ticker: "ALPHA", + }, { address: "2zrH2jE542mzB4HABgBjdWMQPtNC5H12pwo1iLpfpump", chain: "SOL", @@ -2162,6 +2222,16 @@ export const list: { "https://storage.googleapis.com/token-list-swapkit/images/sol.ammo-ammok8akx2wnebqb35cdazttkvsxqbi82cgetnuvvfk.png", ticker: "AMMO", }, + { + address: "AnXE9mZYWReqBw4v5HrY2S2utt42uEtcBGmuCXASvRAi", + chain: "SOL", + chainId: "solana", + decimals: 6, + identifier: "SOL.ANITA-AnXE9mZYWReqBw4v5HrY2S2utt42uEtcBGmuCXASvRAi", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/sol.anita-anxe9mzywreqbw4v5hry2s2utt42uetcbgmucxasvrai.png", + ticker: "ANITA", + }, { address: "8VJ51bdE3xorQ1zB7FEa8CsHdM4kw77xCFiCgbnL2qbT", chain: "SOL", @@ -2662,6 +2732,16 @@ export const list: { "https://storage.googleapis.com/token-list-swapkit/images/sol.ass-cfgmb9itwabdyh3chqqdugtwy18rmnaeeqyp4grjpump.png", ticker: "ASS", }, + { + address: "12XbSPVc5hmWjKUzf5ExTysM2pEL3tM953YkMXmLWkGd", + chain: "SOL", + chainId: "solana", + decimals: 9, + identifier: "SOL.ASSAI-12XbSPVc5hmWjKUzf5ExTysM2pEL3tM953YkMXmLWkGd", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/sol.assai-12xbspvc5hmwjkuzf5extysm2pel3tm953ykmxmlwkgd.png", + ticker: "ASSAI", + }, { address: "G3EDZoS49NRVKP8X1HggHZJueJeR8d2izUHeXdV3pump", chain: "SOL", @@ -2702,6 +2782,16 @@ export const list: { "https://storage.googleapis.com/token-list-swapkit/images/sol.asv-axatjdruuc3626ftpwdqcmcwph6yzgxxkwbfczn3tmgy.png", ticker: "ASV", }, + { + address: "DNMTk67urDBxEEVRx9HjVzCVu8en4Kgg5HfZy3E6pump", + chain: "SOL", + chainId: "solana", + decimals: 6, + identifier: "SOL.ASYM-DNMTk67urDBxEEVRx9HjVzCVu8en4Kgg5HfZy3E6pump", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/sol.asym-dnmtk67urdbxeevrx9hjvzcvu8en4kgg5hfzy3e6pump.png", + ticker: "ASYM", + }, { address: "GXnw9YSt6DANCt84Ti6ZpbaXvrvuEJFCYqrDjygnq4R8", chain: "SOL", @@ -2932,6 +3022,16 @@ export const list: { "https://storage.googleapis.com/token-list-swapkit/images/sol.axset-hyswcbhiyy9888phbaqhwlyzqezrcqmxkqwrqs7zcpk5.png", ticker: "AXSet", }, + { + address: "axso1MBZ8Hz3RdBGeyDcvc3xP5R3YNfLYqREHRvwY2t", + chain: "SOL", + chainId: "solana", + decimals: 9, + identifier: "SOL.AXSOL-axso1MBZ8Hz3RdBGeyDcvc3xP5R3YNfLYqREHRvwY2t", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/sol.axsol-axso1mbz8hz3rdbgeydcvc3xp5r3ynflyqrehrvwy2t.png", + ticker: "AXSOL", + }, { address: "Ceqwd4CSGBZnW8PHEexBQCAV2NDPkBoSqheiKR7gzELV", chain: "SOL", @@ -3062,6 +3162,16 @@ export const list: { "https://storage.googleapis.com/token-list-swapkit/images/sol.badger-9v4x6ikfm9xksnh3tiyjwpwqffkjzdjifu7vsuqg3es1.png", ticker: "Badger", }, + { + address: "BADSoLWCBhpaSEEZYcFTn7mSLAstdNh5FvgMduapTdVT", + chain: "SOL", + chainId: "solana", + decimals: 9, + identifier: "SOL.badSOL-BADSoLWCBhpaSEEZYcFTn7mSLAstdNh5FvgMduapTdVT", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/sol.badsol-badsolwcbhpaseezycftn7mslastdnh5fvgmduaptdvt.png", + ticker: "badSOL", + }, { address: "4KxDJ9rrS5Reh5T8VS9JnrcrXEP5VTwJeoEcMwMopump", chain: "SOL", @@ -3453,13 +3563,13 @@ export const list: { ticker: "BCOQ", }, { - address: "B1LLYvSrpYKtpNGhcLbzQ7V5tbVjHvmj8C8zphnFxDSP", + address: "BDCs2xEqzXyRpp9P6uPDnAvERpLKBfzHPEzbe3BfCxDY", chain: "SOL", chainId: "solana", - decimals: 2, - identifier: "SOL.BDC-B1LLYvSrpYKtpNGhcLbzQ7V5tbVjHvmj8C8zphnFxDSP", + decimals: 9, + identifier: "SOL.BDC-BDCs2xEqzXyRpp9P6uPDnAvERpLKBfzHPEzbe3BfCxDY", logoURI: - "https://storage.googleapis.com/token-list-swapkit/images/sol.bdc-b1llyvsrpyktpnghclbzq7v5tbvjhvmj8c8zphnfxdsp.png", + "https://storage.googleapis.com/token-list-swapkit/images/sol.bdc-bdcs2xeqzxyrpp9p6updnaverplkbfzhpezbe3bfcxdy.png", ticker: "BDC", }, { @@ -3632,6 +3742,16 @@ export const list: { "https://storage.googleapis.com/token-list-swapkit/images/sol.beth-7ujrmsdn2wxdc3vaq1ik9n5ahata7wupbm1wqronpump.png", ticker: "BETH", }, + { + address: "HWeZgfKdPWRkLBGnmze5YokeZg9tQ2MYceYUChDNpump", + chain: "SOL", + chainId: "solana", + decimals: 6, + identifier: "SOL.BFC-HWeZgfKdPWRkLBGnmze5YokeZg9tQ2MYceYUChDNpump", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/sol.bfc-hwezgfkdpwrklbgnmze5yokezg9tq2myceyuchdnpump.png", + ticker: "BFC", + }, { address: "JBa2nuNN9VPsinJdSaZFksj1npYCu7b2z5tDcYcz3myk", chain: "SOL", @@ -4192,6 +4312,16 @@ export const list: { "https://storage.googleapis.com/token-list-swapkit/images/sol.bon-6bpfbxgpsfzg6wdruj7vrodq4gy7k7tmqunam1byu3pw.png", ticker: "BON", }, + { + address: "BjCmA9ZYwJ1BwusMGaSxe4pgaa9gfXTtdyX27NYEpump", + chain: "SOL", + chainId: "solana", + decimals: 6, + identifier: "SOL.BONECOIN-BjCmA9ZYwJ1BwusMGaSxe4pgaa9gfXTtdyX27NYEpump", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/sol.bonecoin-bjcma9zywj1bwusmgasxe4pgaa9gfxttdyx27nyepump.png", + ticker: "BONECOIN", + }, { address: "bonegFPgrpZ4bfVn3kQK1aMbGYddWtfMAywNt5LsuVE", chain: "SOL", @@ -4672,6 +4802,16 @@ export const list: { "https://storage.googleapis.com/token-list-swapkit/images/sol.bruh-2sbumhvzaawyk7wh4zc335y3ahxunybdjruvktwgpump.png", ticker: "Bruh", }, + { + address: "BrYANThKaAbjZZH5XWLrw26NzMbfUNmBwbZiMe4Fj5Mk", + chain: "SOL", + chainId: "solana", + decimals: 1, + identifier: "SOL.BRYAN-BrYANThKaAbjZZH5XWLrw26NzMbfUNmBwbZiMe4Fj5Mk", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/sol.bryan-bryanthkaabjzzh5xwlrw26nzmbfunmbwbzime4fj5mk.png", + ticker: "BRYAN", + }, { address: "FtgGSFADXBtroxq8VCausXRr2of47QBf5AS1NtZCu4GD", chain: "SOL", @@ -4912,6 +5052,16 @@ export const list: { "https://storage.googleapis.com/token-list-swapkit/images/sol.bunk-2nhjjqska8fycudjvqhyjbtzdpjzbno8vtnktkj3hncb.png", ticker: "bunk", }, + { + address: "8NCievmJCg2d9Vc2TWgz2HkE6ANeSX7kwvdq5AL7pump", + chain: "SOL", + chainId: "solana", + decimals: 6, + identifier: "SOL.BUNKER-8NCievmJCg2d9Vc2TWgz2HkE6ANeSX7kwvdq5AL7pump", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/sol.bunker-8ncievmjcg2d9vc2twgz2hke6anesx7kwvdq5al7pump.png", + ticker: "BUNKER", + }, { address: "Qikhhhg9Ta3Jg7WoDFbSYuCAE14hx9hPvdz1zVp3zUw", chain: "SOL", @@ -5032,6 +5182,16 @@ export const list: { "https://storage.googleapis.com/token-list-swapkit/images/sol.buttcoin-77khqrabouiu91krchlpy8dybvtfsh4nsbghcd4uawby.png", ticker: "BUTTCOIN", }, + { + address: "FasH397CeZLNYWkd3wWK9vrmjd1z93n3b59DssRXpump", + chain: "SOL", + chainId: "solana", + decimals: 6, + identifier: "SOL.BUTTCOIN-FasH397CeZLNYWkd3wWK9vrmjd1z93n3b59DssRXpump", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/sol.buttcoin-fash397cezlnywkd3wwk9vrmjd1z93n3b59dssrxpump.png", + ticker: "BUTTCOIN", + }, { address: "CboMcTUYUcy9E6B3yGdFn6aEsGUnYV6yWeoeukw6pump", chain: "SOL", @@ -7192,6 +7352,16 @@ export const list: { "https://storage.googleapis.com/token-list-swapkit/images/sol.culture-bual6qt1cjbfa6wnhnynqj572nqpkgr7c5xe4jn3icbp.png", ticker: "Culture", }, + { + address: "91xDatdjG4C7Pkc4FmW1cKayb7HSVQEswtupr8xppump", + chain: "SOL", + chainId: "solana", + decimals: 6, + identifier: "SOL.Cumcoin-91xDatdjG4C7Pkc4FmW1cKayb7HSVQEswtupr8xppump", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/sol.cumcoin-91xdatdjg4c7pkc4fmw1ckayb7hsvqeswtupr8xppump.png", + ticker: "Cumcoin", + }, { address: "57i3mvjVXN73XW6gZ3ADGgKyKvL6P8gMawLRxywdpump", chain: "SOL", @@ -7212,6 +7382,16 @@ export const list: { "https://storage.googleapis.com/token-list-swapkit/images/sol.cupsey-5psnnwpmmtsgzgg6zqmodjji28br5xpaotxhhiqhpump.png", ticker: "Cupsey", }, + { + address: "8TbsZ3yH1mBHytVpmMn4qED2UeF3FgWUVt1pd5RBpump", + chain: "SOL", + chainId: "solana", + decimals: 6, + identifier: "SOL.CUR-8TbsZ3yH1mBHytVpmMn4qED2UeF3FgWUVt1pd5RBpump", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/sol.cur-8tbsz3yh1mbhytvpmmn4qed2uef3fgwuvt1pd5rbpump.png", + ticker: "CUR", + }, { address: "8MD6dV7B8Tgwo72WyPmfsXiXpt1G1y2u9ohhNrt3LVwX", chain: "SOL", @@ -7272,6 +7452,16 @@ export const list: { "https://storage.googleapis.com/token-list-swapkit/images/sol.cyapes-4nkw1yhuxs4t6m8anmz9s1rqc8huhslmeqk3zv7j8gew.png", ticker: "CYAPES", }, + { + address: "4xieJTWvYfWGTdZYjxZNePjqGu74NexmcjLUpfFLVAPx", + chain: "SOL", + chainId: "solana", + decimals: 6, + identifier: "SOL.CYB-4xieJTWvYfWGTdZYjxZNePjqGu74NexmcjLUpfFLVAPx", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/sol.cyb-4xiejtwvyfwgtdzyjxznepjqgu74nexmcjlupfflvapx.png", + ticker: "CYB", + }, { address: "FiCyXAxNmp7oroKBht7Hu4zpsnUkwnPLfwSiAHvobhsW", chain: "SOL", @@ -7432,6 +7622,16 @@ export const list: { "https://storage.googleapis.com/token-list-swapkit/images/sol.danny-5nhd3msp6dxi9r1sapkeb2dozyxlvpiqv4n9j54cpump.png", ticker: "DANNY", }, + { + address: "2gFer8X7Rtz6qXZLtjG7QQovgvmR9RqRryjGzWZxpump", + chain: "SOL", + chainId: "solana", + decimals: 6, + identifier: "SOL.DAOAI-2gFer8X7Rtz6qXZLtjG7QQovgvmR9RqRryjGzWZxpump", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/sol.daoai-2gfer8x7rtz6qxzltjg7qqovgvmr9rqrryjgzwzxpump.png", + ticker: "DAOAI", + }, { address: "GEJpt3Wjmr628FqXxTgxMce1pLntcPV4uFi8ksxMyPQh", chain: "SOL", @@ -7482,6 +7682,16 @@ export const list: { "https://storage.googleapis.com/token-list-swapkit/images/sol.dasch-gtude5ynefkawsspqqkgu413ktk8wydnuzczugxunyst.png", ticker: "DASCH", }, + { + address: "CwsQd329uL1ccxT3my2EJCEsciT1CUfk2BUmPF8Ppump", + chain: "SOL", + chainId: "solana", + decimals: 6, + identifier: "SOL.DATAWITCH-CwsQd329uL1ccxT3my2EJCEsciT1CUfk2BUmPF8Ppump", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/sol.datawitch-cwsqd329ul1ccxt3my2ejcescit1cufk2bumpf8ppump.png", + ticker: "DATAWITCH", + }, { address: "4kVztsKSzMBPfFxM8iJoZvt2X7xZKah3pyjiYDNYFMf7", chain: "SOL", @@ -7712,6 +7922,16 @@ export const list: { "https://storage.googleapis.com/token-list-swapkit/images/sol.defi-fefecfi5dhahy51xqqtp2qjfghnuosjrvivl6k9ercw6.png", ticker: "DEFI", }, + { + address: "DEF1NXSZ8Th9n28hYBayrFtx9bj1EwwTiy3mhHEB9oyA", + chain: "SOL", + chainId: "solana", + decimals: 9, + identifier: "SOL.definSOL-DEF1NXSZ8Th9n28hYBayrFtx9bj1EwwTiy3mhHEB9oyA", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/sol.definsol-def1nxsz8th9n28hybayrftx9bj1ewwtiy3mhheb9oya.png", + ticker: "definSOL", + }, { address: "Gu3LDkn7Vx3bmCzLafYNKcDxv2mH7YN44NJZFXnypump", chain: "SOL", @@ -8252,6 +8472,16 @@ export const list: { "https://storage.googleapis.com/token-list-swapkit/images/sol.dogai-dogg6xwsgkf8kbshktwd3et4j9a8vblzjrasurxgile1.png", ticker: "DOGAI", }, + { + address: "9UYAYvVS2cZ3BndbsoG1ScJbjfwyEPGxjE79hh5ipump", + chain: "SOL", + chainId: "solana", + decimals: 6, + identifier: "SOL.DOGEAI-9UYAYvVS2cZ3BndbsoG1ScJbjfwyEPGxjE79hh5ipump", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/sol.dogeai-9uyayvvs2cz3bndbsog1scjbjfwyepgxje79hh5ipump.png", + ticker: "DOGEAI", + }, { address: "EcYK2XNG4wWr2vDg2M2Hrts6SrU2QB4NzXLBf888pump", chain: "SOL", @@ -8512,6 +8742,16 @@ export const list: { "https://storage.googleapis.com/token-list-swapkit/images/sol.dream-f7tahckdic6msiyauwotv4rxsyv8qhvfp1zlaftfycfn.png", ticker: "DREAM", }, + { + address: "GMzuntWYJLpNuCizrSR7ZXggiMdDzTNiEmSNHHunpump", + chain: "SOL", + chainId: "solana", + decimals: 6, + identifier: "SOL.dreams-GMzuntWYJLpNuCizrSR7ZXggiMdDzTNiEmSNHHunpump", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/sol.dreams-gmzuntwyjlpnucizrsr7zxggimddztniemsnhhunpump.png", + ticker: "dreams", + }, { address: "CzXF8oUJSsB9ADKV99WAi2TgytqAyKvQw6EihwiL9em4", chain: "SOL", @@ -9212,6 +9452,16 @@ export const list: { "https://storage.googleapis.com/token-list-swapkit/images/sol.eng-gtlbsms6z4fc9gmncfs2zzckmb9vyl3kelnjvmxhurnh.png", ticker: "ENG", }, + { + address: "BktHEAc2WS8TQi2vmavn1rA4L1WJuwF3Vkk3DnwwARti", + chain: "SOL", + chainId: "solana", + decimals: 9, + identifier: "SOL.ENRON-BktHEAc2WS8TQi2vmavn1rA4L1WJuwF3Vkk3DnwwARti", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/sol.enron-bktheac2ws8tqi2vmavn1ra4l1wjuwf3vkk3dnwwarti.png", + ticker: "ENRON", + }, { address: "5s4BYUXLuvs9ZcVDTxkTpKhThWFSpaU8GG55q2iySe2N", chain: "SOL", @@ -9502,6 +9752,16 @@ export const list: { "https://storage.googleapis.com/token-list-swapkit/images/sol.fab-edahkbj5nf9srm7xn7ewuw8c9xeums8p7cnoq57sye96.png", ticker: "FAB", }, + { + address: "BP8RUdhLKBL2vgVXc3n7oTSZKWaQVbD8S6QcPaMVBAPo", + chain: "SOL", + chainId: "solana", + decimals: 6, + identifier: "SOL.FAFO-BP8RUdhLKBL2vgVXc3n7oTSZKWaQVbD8S6QcPaMVBAPo", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/sol.fafo-bp8rudhlkbl2vgvxc3n7otszkwaqvbd8s6qcpamvbapo.png", + ticker: "FAFO", + }, { address: "Afo4NumBNHDXc7m7p6qjZ1pF3LbqYfG5k1CNrGve8rVu", chain: "SOL", @@ -9682,6 +9942,16 @@ export const list: { "https://storage.googleapis.com/token-list-swapkit/images/sol.fdusd-9znqrsgljnkwcuu5gq5lr8beucpzqmvmqkai3sszh54u.png", ticker: "FDUSD", }, + { + address: "9L9kmv6qNrjtZR85CHYppzv56UvvFQzmXiiYPxLJpump", + chain: "SOL", + chainId: "solana", + decimals: 6, + identifier: "SOL.FEAR-9L9kmv6qNrjtZR85CHYppzv56UvvFQzmXiiYPxLJpump", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/sol.fear-9l9kmv6qnrjtzr85chyppzv56uvvfqzmxiiypxljpump.png", + ticker: "FEAR", + }, { address: "3LDAW7enNUZ4DjE1jCi1cDpXvXLrJ1rPiECPbcHpMgG2", chain: "SOL", @@ -9762,6 +10032,16 @@ export const list: { "https://storage.googleapis.com/token-list-swapkit/images/sol.fido-5hkbyej6mqu1xfk2kb3kuxl4susazbqvasdmku75pump.png", ticker: "FIDO", }, + { + address: "HdkPQfhUhtew1wPH5hp33q9AJcC2XmAqWJNRLj5fpump", + chain: "SOL", + chainId: "solana", + decimals: 6, + identifier: "SOL.FiFi-HdkPQfhUhtew1wPH5hp33q9AJcC2XmAqWJNRLj5fpump", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/sol.fifi-hdkpqfhuhtew1wph5hp33q9ajcc2xmaqwjnrlj5fpump.png", + ticker: "FiFi", + }, { address: "KMnDBXcPXoz6oMJW5XG4tXdwSWpmWEP2RQM1Uujpump", chain: "SOL", @@ -9862,6 +10142,16 @@ export const list: { "https://storage.googleapis.com/token-list-swapkit/images/sol.flambo-8b6titovovj5qkfs5z5gvmfthrukp5faen8ky8mq9yfm.png", ticker: "FLAMBO", }, + { + address: "BivtZFQ5mVdjMM3DQ8vxzvhKKiVs27fz1YUF8bRFdKKc", + chain: "SOL", + chainId: "solana", + decimals: 9, + identifier: "SOL.FLAME-BivtZFQ5mVdjMM3DQ8vxzvhKKiVs27fz1YUF8bRFdKKc", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/sol.flame-bivtzfq5mvdjmm3dq8vxzvhkkivs27fz1yuf8brfdkkc.png", + ticker: "FLAME", + }, { address: "58z1a1Ab7ZoG2hwMmvrtuiQn5C2QV6c67iHbdur99A5E", chain: "SOL", @@ -9932,6 +10222,16 @@ export const list: { "https://storage.googleapis.com/token-list-swapkit/images/sol.floof-3jzdrxxkxwkbk82u2ecwaszlckozs1lqtg87hbeambjw.png", ticker: "FLOOF", }, + { + address: "HEHT1eKNsTnuMAQaSM4ac8r3ynckmquxA3hUun5Npump", + chain: "SOL", + chainId: "solana", + decimals: 6, + identifier: "SOL.FLOW-HEHT1eKNsTnuMAQaSM4ac8r3ynckmquxA3hUun5Npump", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/sol.flow-heht1eknstnumaqasm4ac8r3ynckmquxa3huun5npump.png", + ticker: "FLOW", + }, { address: "AVyjco9j8vv7ZPkhCpEoPJ3bLEuw7G1wrrNt8DrApump", chain: "SOL", @@ -10442,6 +10742,16 @@ export const list: { "https://storage.googleapis.com/token-list-swapkit/images/sol.fsm-dmqv9ngbevakqoz13nckh5xjrfg2bq5ytwd1xrgekkaz.png", ticker: "FSM", }, + { + address: "FSTRgYfDaudjDwFg5A9LQpDMq5vxqhskHq4rkjUMwERE", + chain: "SOL", + chainId: "solana", + decimals: 9, + identifier: "SOL.FSTR-FSTRgYfDaudjDwFg5A9LQpDMq5vxqhskHq4rkjUMwERE", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/sol.fstr-fstrgyfdaudjdwfg5a9lqpdmq5vxqhskhq4rkjumwere.png", + ticker: "FSTR", + }, { address: "EsPKhGTMf3bGoy4Qm7pCv3UCcWqAmbC1UGHBTDxRjjD4", chain: "SOL", @@ -10492,6 +10802,16 @@ export const list: { "https://storage.googleapis.com/token-list-swapkit/images/sol.fuack-4p6gqynz2avwmar37gceuq1vyk1pqjmxnua1qfrkghkz.png", ticker: "FUACK", }, + { + address: "8WcbTszABSZnMWN6BFhTNbDhP9PjmVZfg5pvRFd3pump", + chain: "SOL", + chainId: "solana", + decimals: 6, + identifier: "SOL.FUCKCOIN-8WcbTszABSZnMWN6BFhTNbDhP9PjmVZfg5pvRFd3pump", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/sol.fuckcoin-8wcbtszabsznmwn6bfhtnbdhp9pjmvzfg5pvrfd3pump.png", + ticker: "FUCKCOIN", + }, { address: "7GLVQJ9xeuHshYy75kuYPx6xXK1RXBEzUWBhfPTb4XRJ", chain: "SOL", @@ -10762,6 +11082,26 @@ export const list: { "https://storage.googleapis.com/token-list-swapkit/images/sol.gari-ckaktyvz6dkpymvyq9rh3ubrnnqyzayd7if4hjtjuvks.png", ticker: "GARI", }, + { + address: "5SRer48NRfmhsut1n4ZwSAVUJAErNjdKcXTMVaxdpump", + chain: "SOL", + chainId: "solana", + decimals: 6, + identifier: "SOL.GARY-5SRer48NRfmhsut1n4ZwSAVUJAErNjdKcXTMVaxdpump", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/sol.gary-5srer48nrfmhsut1n4zwsavujaernjdkcxtmvaxdpump.png", + ticker: "GARY", + }, + { + address: "G7BJzg55Afx6Tn6J9CJfA444jMf6QJbVjgQAevNTpump", + chain: "SOL", + chainId: "solana", + decimals: 6, + identifier: "SOL.GATO-G7BJzg55Afx6Tn6J9CJfA444jMf6QJbVjgQAevNTpump", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/sol.gato-g7bjzg55afx6tn6j9cjfa444jmf6qjbvjgqaevntpump.png", + ticker: "GATO", + }, { address: "9GnU66c8qtMmj8rZ481N8Ums1Zmqdv5HgtQJyRVXt8MS", chain: "SOL", @@ -10962,6 +11302,16 @@ export const list: { "https://storage.googleapis.com/token-list-swapkit/images/sol.ger-52dfsnknorxogkjqecctt3vk2puwz3emnsykvm4z3ywy.png", ticker: "GER", }, + { + address: "E1jCTXdkMRoawoWoqfbhiNkkLbxcSHPssMo36U84pump", + chain: "SOL", + chainId: "solana", + decimals: 6, + identifier: "SOL.GFM-E1jCTXdkMRoawoWoqfbhiNkkLbxcSHPssMo36U84pump", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/sol.gfm-e1jctxdkmroawowoqfbhinkklbxcshpssmo36u84pump.png", + ticker: "GFM", + }, { address: "CZBYBV2e1x1ZuZ2qkwU5mPNVLFKfVvjSssSNHzSepump", chain: "SOL", @@ -11992,6 +12342,16 @@ export const list: { "https://storage.googleapis.com/token-list-swapkit/images/sol.guzuta-ecmytgjvxwr3mb5rfeh3f1maqfbe5eee53a2n1f1sbpg.png", ticker: "GUZUTA", }, + { + address: "EfgEGG9PxLhyk1wqtqgGnwgfVC7JYic3vC9BCWLvpump", + chain: "SOL", + chainId: "solana", + decimals: 6, + identifier: "SOL.GYAT-EfgEGG9PxLhyk1wqtqgGnwgfVC7JYic3vC9BCWLvpump", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/sol.gyat-efgegg9pxlhyk1wqtqggnwgfvc7jyic3vc9bcwlvpump.png", + ticker: "GYAT", + }, { address: "GYCVdmDthkf3jSz5ns6fkzCmHub7FSZxjVCfbfGqkH7P", chain: "SOL", @@ -12202,6 +12562,16 @@ export const list: { "https://storage.googleapis.com/token-list-swapkit/images/sol.haribo-cyobwq73dyiyerwcvglkymszkxn5vy18jkxidjeqm6oy.png", ticker: "HARIBO", }, + { + address: "3vgopg7xm3EWkXfxmWPUpcf7g939hecfqg18sLuXDzVt", + chain: "SOL", + chainId: "solana", + decimals: 5, + identifier: "SOL.HAROLD-3vgopg7xm3EWkXfxmWPUpcf7g939hecfqg18sLuXDzVt", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/sol.harold-3vgopg7xm3ewkxfxmwpupcf7g939hecfqg18sluxdzvt.png", + ticker: "HAROLD", + }, { address: "B8AmDZRJeHuq8CPciey6jocq9p4ivc4ZurDXPwtqs2Qg", chain: "SOL", @@ -12442,6 +12812,16 @@ export const list: { "https://storage.googleapis.com/token-list-swapkit/images/sol.helia-fznsmd1hpu5mvgttmtfdzupn5gcuexvrh3cb67uuqshb.png", ticker: "HELIA", }, + { + address: "E5vSaRkSUDe3ob3KTAzXa6gmCndknzutn4hNtf2Qmoon", + chain: "SOL", + chainId: "solana", + decimals: 9, + identifier: "SOL.HELIO-E5vSaRkSUDe3ob3KTAzXa6gmCndknzutn4hNtf2Qmoon", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/sol.helio-e5vsarksude3ob3ktazxa6gmcndknzutn4hntf2qmoon.png", + ticker: "HELIO", + }, { address: "4KbzSz2VF1LCvEaw8viq1335VgWzNjMd8rwQMsCkKHip", chain: "SOL", @@ -12832,6 +13212,16 @@ export const list: { "https://storage.googleapis.com/token-list-swapkit/images/sol.hpow-h865qn9mxujdgsds2htnrmtrrg2z28ohgbqjjxfawoqm.png", ticker: "HPOW", }, + { + address: "Gv8mfuosgCKCj9tPs9VWS1GzETemr69Lnr2jwjbWpump", + chain: "SOL", + chainId: "solana", + decimals: 6, + identifier: "SOL.HSM-Gv8mfuosgCKCj9tPs9VWS1GzETemr69Lnr2jwjbWpump", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/sol.hsm-gv8mfuosgckcj9tps9vws1gzetemr69lnr2jwjbwpump.png", + ticker: "HSM", + }, { address: "he1iusmfkpAdwvxLNGV8Y1iSbj4rUy6yMhEA3fotn9A", chain: "SOL", @@ -13002,6 +13392,16 @@ export const list: { "https://storage.googleapis.com/token-list-swapkit/images/sol.hyper-8vbmibwpn8wpfykbq9xqzodymg3ljmyec2tsngry23k8.png", ticker: "HYPER", }, + { + address: "Aq8Gocyvyyi8xk5EYxd6viUfVmVvs9T9R6mZFzZFpump", + chain: "SOL", + chainId: "solana", + decimals: 6, + identifier: "SOL.HYPER-Aq8Gocyvyyi8xk5EYxd6viUfVmVvs9T9R6mZFzZFpump", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/sol.hyper-aq8gocyvyyi8xk5eyxd6viufvmvvs9t9r6mzfzzfpump.png", + ticker: "HYPER", + }, { address: "BUDXpnu7opuGuJkQZdet9nAxSzb67MLJpkzJmaKkpump", chain: "SOL", @@ -13602,6 +14002,16 @@ export const list: { "https://storage.googleapis.com/token-list-swapkit/images/sol.jellyfc-gfrey9sauz96p7qkf19a4dta4tmzgtl9gmu8gv9kpump.png", ticker: "Jellyfc", }, + { + address: "FeR8VBqNRSUD5NtXAj2n3j1dAHkZHfyDktKuLXD4pump", + chain: "SOL", + chainId: "solana", + decimals: 6, + identifier: "SOL.jellyjelly-FeR8VBqNRSUD5NtXAj2n3j1dAHkZHfyDktKuLXD4pump", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/sol.jellyjelly-fer8vbqnrsud5ntxaj2n3j1dahkzhfydktkulxd4pump.png", + ticker: "jellyjelly", + }, { address: "4GJ3TCt5mTgQT5BRKb14AkjddpFQqKVfphxzS3t4foZ9", chain: "SOL", @@ -14152,6 +14562,16 @@ export const list: { "https://storage.googleapis.com/token-list-swapkit/images/sol.kappy-cehfvmotkm3zuckubehvvtaxq4e9qvpaajsfkzflpump.png", ticker: "Kappy", }, + { + address: "5useZwof1AHY7sM6vzaATwTiSR8XyQzjaTthXSLwmoon", + chain: "SOL", + chainId: "solana", + decimals: 9, + identifier: "SOL.KAPSEL-5useZwof1AHY7sM6vzaATwTiSR8XyQzjaTthXSLwmoon", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/sol.kapsel-5usezwof1ahy7sm6vzaatwtisr8xyqzjatthxslwmoon.png", + ticker: "KAPSEL", + }, { address: "8qYH37jFCVbGSjQPdMsf8TDwp1JHTjU1McA8GoCCpump", chain: "SOL", @@ -14442,6 +14862,16 @@ export const list: { "https://storage.googleapis.com/token-list-swapkit/images/sol.kiri-3ei8saol4jwzv1xswepqiajvtb7qtpjbv2tsuurmpump.png", ticker: "Kiri", }, + { + address: "9hfKxLSnwh4LhpRgmxBYDRgrKeYUgszMePKxuidPpump", + chain: "SOL", + chainId: "solana", + decimals: 6, + identifier: "SOL.KIT-9hfKxLSnwh4LhpRgmxBYDRgrKeYUgszMePKxuidPpump", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/sol.kit-9hfkxlsnwh4lhprgmxbydrgrkeyugszmepkxuidppump.png", + ticker: "KIT", + }, { address: "AUgdt7wjBifF9vZpde7BjU6HLroCYh4SUHYc7yhheECW", chain: "SOL", @@ -14842,6 +15272,16 @@ export const list: { "https://storage.googleapis.com/token-list-swapkit/images/sol.kuro-2kc38rfq49dfakhqawbijke7fcymumly5guuiusdmffn.png", ticker: "KURO", }, + { + address: "6uVJY332tiYwo58g3B8p9FJRGmGZ2fUuXR8cpiaDpump", + chain: "SOL", + chainId: "solana", + decimals: 6, + identifier: "SOL.KWAII-6uVJY332tiYwo58g3B8p9FJRGmGZ2fUuXR8cpiaDpump", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/sol.kwaii-6uvjy332tiywo58g3b8p9fjrgmgz2fuuxr8cpiadpump.png", + ticker: "KWAII", + }, { address: "9Yt5tHLFB2Uz1yg3cyEpTN4KTSWhiGpKxXPJ8HX3hat", chain: "SOL", @@ -14872,6 +15312,16 @@ export const list: { "https://storage.googleapis.com/token-list-swapkit/images/sol.kwif-6rwcmkz9yiyvm5ezymcr4jsqpgeawhcuvlvfbperynut.png", ticker: "KWIF", }, + { + address: "kyJtowDDACsJDm2jr3VZdpCA6pZcKAaNftQwrJ8KBQP", + chain: "SOL", + chainId: "solana", + decimals: 9, + identifier: "SOL.kyJTO-kyJtowDDACsJDm2jr3VZdpCA6pZcKAaNftQwrJ8KBQP", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/sol.kyjto-kyjtowddacsjdm2jr3vzdpca6pzckaanftqwrj8kbqp.png", + ticker: "kyJTO", + }, { address: "kySo1nETpsZE2NWe5vj2C64mPSciH1SppmHb4XieQ7B", chain: "SOL", @@ -15052,6 +15502,16 @@ export const list: { "https://storage.googleapis.com/token-list-swapkit/images/sol.launchlab-3tfcvwc25sxe2walbfr9ggmoah2ktkiehvvtszu98uno.png", ticker: "LAUNCHLAB", }, + { + address: "43YakhC3TcSuTgSXnxFgw8uKL8VkuLuFa4M6Bninpump", + chain: "SOL", + chainId: "solana", + decimals: 6, + identifier: "SOL.LC-43YakhC3TcSuTgSXnxFgw8uKL8VkuLuFa4M6Bninpump", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/sol.lc-43yakhc3tcsutgsxnxfgw8ukl8vkulufa4m6bninpump.png", + ticker: "LC", + }, { address: "5HJ3fCrCXUEEraLJUBLvhbNwSYS2RNzjuuS33FLH7UjP", chain: "SOL", @@ -15072,6 +15532,16 @@ export const list: { "https://storage.googleapis.com/token-list-swapkit/images/sol.ldo-hzrcwxp2vq9pcppxooayhj2bxtpo5xfpqrwb1svh332p.png", ticker: "LDO", }, + { + address: "LDTqtAVSobcx5HpfPxPRTVnH4w5WP6fRDfxkZYgEhi4", + chain: "SOL", + chainId: "solana", + decimals: 2, + identifier: "SOL.LDT-LDTqtAVSobcx5HpfPxPRTVnH4w5WP6fRDfxkZYgEhi4", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/sol.ldt-ldtqtavsobcx5hpfpxprtvnh4w5wp6frdfxkzygehi4.png", + ticker: "LDT", + }, { address: "E5ZVeBMazQAYq4UEiSNRLxfMeRds9SKL31yPan7j5GJK", chain: "SOL", @@ -15172,6 +15642,16 @@ export const list: { "https://storage.googleapis.com/token-list-swapkit/images/sol.levi-2jqbkvopqhevuowqltwsnefe88mrqahuuvbv13jfpump.png", ticker: "LEVI", }, + { + address: "E4wg8YF472u8oiLvSNKB84Y23gZhkSQ3PSCJaUj4pump", + chain: "SOL", + chainId: "solana", + decimals: 6, + identifier: "SOL.LEXICON-E4wg8YF472u8oiLvSNKB84Y23gZhkSQ3PSCJaUj4pump", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/sol.lexicon-e4wg8yf472u8oilvsnkb84y23gzhksq3pscjauj4pump.png", + ticker: "LEXICON", + }, { address: "LFG1ezantSY2LPX8jRz2qa31pPEhpwN9msFDzZw4T9Q", chain: "SOL", @@ -15392,6 +15872,16 @@ export const list: { "https://storage.googleapis.com/token-list-swapkit/images/sol.liqq-boisyjqhmhgpd5291j6hrc3u1jedkf8uslyfy3fkb5o5.png", ticker: "LIQQ", }, + { + address: "Cn5Ne1vmR9ctMGY9z5NC71A3NYFvopjXNyxYtfVYpump", + chain: "SOL", + chainId: "solana", + decimals: 6, + identifier: "SOL.listen-Cn5Ne1vmR9ctMGY9z5NC71A3NYFvopjXNyxYtfVYpump", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/sol.listen-cn5ne1vmr9ctmgy9z5nc71a3nyfvopjxnyxytfvypump.png", + ticker: "listen", + }, { address: "F4YtvyXr9wqsLv6oiHQLpF37JwCKqJEfbP9hSvMGXTWq", chain: "SOL", @@ -15902,6 +16392,16 @@ export const list: { "https://storage.googleapis.com/token-list-swapkit/images/sol.lumi-apyqgajedestboowpa1mvvzfmrm1rwzhf2pyu8bipump.png", ticker: "LUMI", }, + { + address: "LumiP8p22hsa6jNHDMn85xCM4Hpyzoy15K1rLgFB9eG", + chain: "SOL", + chainId: "solana", + decimals: 9, + identifier: "SOL.lumiSOL-LumiP8p22hsa6jNHDMn85xCM4Hpyzoy15K1rLgFB9eG", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/sol.lumisol-lumip8p22hsa6jnhdmn85xcm4hpyzoy15k1rlgfb9eg.png", + ticker: "lumiSOL", + }, { address: "4FkNq8RcCYg4ZGDWh14scJ7ej3m5vMjYTcWoJVkupump", chain: "SOL", @@ -15962,6 +16462,16 @@ export const list: { "https://storage.googleapis.com/token-list-swapkit/images/sol.luny-7a4cxvvvt7kf6hs5q5ldqtzwfhfys4a9pok6pf87rkwf.png", ticker: "LUNY", }, + { + address: "BmXfbamFqrBzrqihr9hbSmEsfQUXMVaqshAjgvZupump", + chain: "SOL", + chainId: "solana", + decimals: 6, + identifier: "SOL.LUX-BmXfbamFqrBzrqihr9hbSmEsfQUXMVaqshAjgvZupump", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/sol.lux-bmxfbamfqrbzrqihr9hbsmesfquxmvaqshajgvzupump.png", + ticker: "LUX", + }, { address: "LUX88ZHPnte7tThA4F2nnXDCZWE3G61TqLBvFw7i8SM", chain: "SOL", @@ -15982,6 +16492,16 @@ export const list: { "https://storage.googleapis.com/token-list-swapkit/images/sol.luxsol-lux8ndstbkjhzmuh7aby4va81yaublw3vto5rmb66lw.png", ticker: "luxSOL", }, + { + address: "BfxhMerBkBhRUGn4tX5YrBRqLqN8VjvUXHhU7K9Fpump", + chain: "SOL", + chainId: "solana", + decimals: 6, + identifier: "SOL.LYNK-BfxhMerBkBhRUGn4tX5YrBRqLqN8VjvUXHhU7K9Fpump", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/sol.lynk-bfxhmerbkbhrugn4tx5yrbrqlqn8vjvuxhhu7k9fpump.png", + ticker: "LYNK", + }, { address: "M3M3pSFptfpZYnWNUgAbyWzKKgPo5d1eWmX6tbiSF2K", chain: "SOL", @@ -16442,6 +16962,16 @@ export const list: { "https://storage.googleapis.com/token-list-swapkit/images/sol.mean-meaned3xddumnmsrgjaskswdc8prlysorj61ppehctd.png", ticker: "MEAN", }, + { + address: "86Hne9YD8ToaNddSe45koHVTbgQaUbn57BGH6k9Wpump", + chain: "SOL", + chainId: "solana", + decimals: 6, + identifier: "SOL.mearth-86Hne9YD8ToaNddSe45koHVTbgQaUbn57BGH6k9Wpump", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/sol.mearth-86hne9yd8toanddse45kohvtbgqaubn57bgh6k9wpump.png", + ticker: "mearth", + }, { address: "9CSW2PoaESPHeBWiXhPMQKb49dmyh5FqAj1Cypqtpump", chain: "SOL", @@ -16512,6 +17042,16 @@ export const list: { "https://storage.googleapis.com/token-list-swapkit/images/sol.meesa-dayyrqttkqgcbiptnxsut5d8ndxbrtw5lojhsg4opump.png", ticker: "meesa", }, + { + address: "5mfWKJrjVtpZo8EvwbytFWH5X6T8YecxrrYCgskjpump", + chain: "SOL", + chainId: "solana", + decimals: 6, + identifier: "SOL.MEGA-5mfWKJrjVtpZo8EvwbytFWH5X6T8YecxrrYCgskjpump", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/sol.mega-5mfwkjrjvtpzo8evwbytfwh5x6t8yecxrrycgskjpump.png", + ticker: "MEGA", + }, { address: "FUAfBo2jgks6gB4Z4LfZkqSZgzNucisEHqnNebaRxM1P", chain: "SOL", @@ -16862,6 +17402,16 @@ export const list: { "https://storage.googleapis.com/token-list-swapkit/images/sol.milly-6yncxrs1fd6ut3c3btujkqlg9xzpbmzcbqtahvpeaxjk.png", ticker: "milly", }, + { + address: "FFXsbx4rPwM8CyKKZiPU3YS9xFFirww6QEzb6KCCpump", + chain: "SOL", + chainId: "solana", + decimals: 6, + identifier: "SOL.MILTON-FFXsbx4rPwM8CyKKZiPU3YS9xFFirww6QEzb6KCCpump", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/sol.milton-ffxsbx4rpwm8cykkzipu3ys9xffirww6qezb6kccpump.png", + ticker: "MILTON", + }, { address: "G33s1LiUADEBLzN5jL6ocSXqrT2wsUq9W6nZ8o4k1b4L", chain: "SOL", @@ -17712,6 +18262,16 @@ export const list: { "https://storage.googleapis.com/token-list-swapkit/images/sol.mushu-cf97pga5anhxykersylbaz1wyk6csfrfkhd1ansrd3so.png", ticker: "MuShu", }, + { + address: "9So52ugZh2BLBT3f7p61947q91uQh2DyvbfyMDeRpump", + chain: "SOL", + chainId: "solana", + decimals: 6, + identifier: "SOL.MUSKIT-9So52ugZh2BLBT3f7p61947q91uQh2DyvbfyMDeRpump", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/sol.muskit-9so52ugzh2blbt3f7p61947q91uqh2dyvbfymderpump.png", + ticker: "MUSKIT", + }, { address: "22Xeo6diWfJrScaoVFzgkwzrCByPukK45fdwkJyrpump", chain: "SOL", @@ -17962,6 +18522,16 @@ export const list: { "https://storage.googleapis.com/token-list-swapkit/images/sol.naza-fjtwiph9gyffnx7mde2zs4s8hzrfzb2vrzyakmnpaaks.png", ticker: "NAZA", }, + { + address: "5qmykKi3zkM1sGvcMNgj4bqy68qvpLqR9fQWWrtfpump", + chain: "SOL", + chainId: "solana", + decimals: 6, + identifier: "SOL.NazareAI-5qmykKi3zkM1sGvcMNgj4bqy68qvpLqR9fQWWrtfpump", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/sol.nazareai-5qmykki3zkm1sgvcmngj4bqy68qvplqr9fqwwrtfpump.png", + ticker: "NazareAI", + }, { address: "B89Hd5Juz7JP2dxCZXFJWk4tMTcbw7feDhuWGb3kq5qE", chain: "SOL", @@ -18562,6 +19132,16 @@ export const list: { "https://storage.googleapis.com/token-list-swapkit/images/sol.nub-gtdzkaqvmzmnti46zewmixca4oxf4bzxwqpokzxpfxzn.png", ticker: "nub", }, + { + address: "2eXamy7t3kvKhfV6aJ6Uwe3eh8cuREFcTKs1mFKZpump", + chain: "SOL", + chainId: "solana", + decimals: 6, + identifier: "SOL.nuit-2eXamy7t3kvKhfV6aJ6Uwe3eh8cuREFcTKs1mFKZpump", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/sol.nuit-2examy7t3kvkhfv6aj6uwe3eh8curefctks1mfkzpump.png", + ticker: "nuit", + }, { address: "bQ2HDYdcyBAp4p5hgUdk3BtP97VoUZEkc1ubbBKCkdZ", chain: "SOL", @@ -18752,6 +19332,16 @@ export const list: { "https://storage.googleapis.com/token-list-swapkit/images/sol.ogcinu-5dozsgpskvjk9u58hsmdsq8n6ontelvsycofj42p327p.png", ticker: "OGCINU", }, + { + address: "jE7q5qieKaUXmyhuWTXmGVtpeBoKtgbMbtks7LKogme", + chain: "SOL", + chainId: "solana", + decimals: 6, + identifier: "SOL.OGME-jE7q5qieKaUXmyhuWTXmGVtpeBoKtgbMbtks7LKogme", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/sol.ogme-je7q5qiekauxmyhuwtxmgvtpeboktgbmbtks7lkogme.png", + ticker: "OGME", + }, { address: "9ju3YFcvJP5uaeMYPYxTEqRzepk4KYnwjBd1BCurpump", chain: "SOL", @@ -19102,6 +19692,16 @@ export const list: { "https://storage.googleapis.com/token-list-swapkit/images/sol.osak-goxlanfqiqnv97p7argp4ghvlz4gwjn9nunppozvjzcv.png", ticker: "OSAK", }, + { + address: "2otVNpcHXn9MKeDk3Zby5uanF3s7tki4toaJ3PZcXaUd", + chain: "SOL", + chainId: "solana", + decimals: 9, + identifier: "SOL.OSOL-2otVNpcHXn9MKeDk3Zby5uanF3s7tki4toaJ3PZcXaUd", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/sol.osol-2otvnpchxn9mkedk3zby5uanf3s7tki4toaj3pzcxaud.png", + ticker: "OSOL", + }, { address: "octo82drBEdm8CSDaEKBymVn86TBtgmPnDdmE64PTqJ", chain: "SOL", @@ -19142,6 +19742,16 @@ export const list: { "https://storage.googleapis.com/token-list-swapkit/images/sol.owly-aak4mfz2j6azav4duqou9wq5vzvtqkkjcjcra51zrpzd.png", ticker: "OWLY", }, + { + address: "3E2z4KX7y457xJqK9RQeJhA29oPdoUvAAD3Ea3zQyuG3", + chain: "SOL", + chainId: "solana", + decimals: 9, + identifier: "SOL.OX-3E2z4KX7y457xJqK9RQeJhA29oPdoUvAAD3Ea3zQyuG3", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/sol.ox-3e2z4kx7y457xjqk9rqejha29opdouvaad3ea3zqyug3.png", + ticker: "OX", + }, { address: "4TGxgCSJQx2GQk9oHZ8dC5m3JNXTYZHjXumKAW3vLnNx", chain: "SOL", @@ -19352,6 +19962,16 @@ export const list: { "https://storage.googleapis.com/token-list-swapkit/images/sol.pawel-9xbgwwxdzjyv8slmvcfsrsnkwzccnqwiehwvgnhwcnge.png", ticker: "Pawel", }, + { + address: "PawsoLz4VaXjb9jFTp1UF6qvYQ2qmxipZuRJuG16sVq", + chain: "SOL", + chainId: "solana", + decimals: 9, + identifier: "SOL.pawSOL-PawsoLz4VaXjb9jFTp1UF6qvYQ2qmxipZuRJuG16sVq", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/sol.pawsol-pawsolz4vaxjb9jftp1uf6qvyq2qmxipzurjug16svq.png", + ticker: "pawSOL", + }, { address: "GRCbqUpu1YEMbfzyVo6xma6TqZtXAr9TNSMukZzkpSdc", chain: "SOL", @@ -20092,6 +20712,16 @@ export const list: { "https://storage.googleapis.com/token-list-swapkit/images/sol.pizzaguy-4kns9edwpijnbjpucq2eyczkuj5xo4cco4jsrwk9pump.png", ticker: "PIZZAGUY", }, + { + address: "2RBko3xoz56aH69isQMUpzZd9NYHahhwC23A5F3Spkin", + chain: "SOL", + chainId: "solana", + decimals: 6, + identifier: "SOL.PKIN-2RBko3xoz56aH69isQMUpzZd9NYHahhwC23A5F3Spkin", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/sol.pkin-2rbko3xoz56ah69isqmupzzd9nyhahhwc23a5f3spkin.png", + ticker: "PKIN", + }, { address: "D3QiRT12vKBpj87h99ufQFz4mCpbPC7JVy1U6NRKpump", chain: "SOL", @@ -20382,6 +21012,16 @@ export const list: { "https://storage.googleapis.com/token-list-swapkit/images/sol.port-portjzmpxb9t7dyu7tplezrqj7e6ssfae62j2oquc6y.png", ticker: "PORT", }, + { + address: "FMQjDvT1GztVxdvYgMBEde4L54fftFGx9m5GmbqeJGM5", + chain: "SOL", + chainId: "solana", + decimals: 9, + identifier: "SOL.PORTAL-FMQjDvT1GztVxdvYgMBEde4L54fftFGx9m5GmbqeJGM5", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/sol.portal-fmqjdvt1gztvxdvygmbede4l54fftfgx9m5gmbqejgm5.png", + ticker: "PORTAL", + }, { address: "8wzYfqeqkjBwYBHMacBVen8tSuJqXiDtsCgmjnUJDSKM", chain: "SOL", @@ -20432,6 +21072,16 @@ export const list: { "https://storage.googleapis.com/token-list-swapkit/images/sol.pou-pouwaap6bhzv1ot7t7rzrgqhtbd4nswqrhgbb5hfda6.png", ticker: "POU", }, + { + address: "QpRvqVMPG4o5y5fARHR6L7aK1x5vdWPQEiEjMkVpump", + chain: "SOL", + chainId: "solana", + decimals: 6, + identifier: "SOL.POV-QpRvqVMPG4o5y5fARHR6L7aK1x5vdWPQEiEjMkVpump", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/sol.pov-qprvqvmpg4o5y5farhr6l7ak1x5vdwpqeiejmkvpump.png", + ticker: "POV", + }, { address: "PhiLR4JDZB9z92rYT5xBXKCxmq4pGB1LYjtybii7aiS", chain: "SOL", @@ -21162,6 +21812,16 @@ export const list: { "https://storage.googleapis.com/token-list-swapkit/images/sol.qdot-hcpyicxvzikbytgoqmlumooawbkclvzmzb9d6typdacr.png", ticker: "QDOT", }, + { + address: "DECqp3qgUAarXoP2FssBnFXPsqtLhc5Y9UuvjxWMpump", + chain: "SOL", + chainId: "solana", + decimals: 6, + identifier: "SOL.QFE-DECqp3qgUAarXoP2FssBnFXPsqtLhc5Y9UuvjxWMpump", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/sol.qfe-decqp3qguaarxop2fssbnfxpsqtlhc5y9uuvjxwmpump.png", + ticker: "QFE", + }, { address: "CiwMDzUZ7jzi4e8thjPJquKcrUesLsUGjo9jtzyvpump", chain: "SOL", @@ -21212,6 +21872,16 @@ export const list: { "https://storage.googleapis.com/token-list-swapkit/images/sol.quby-7aqmcjlsc3pgbsdxxbmxsmebdy6nl1xp6cjsbxvxqr5c.png", ticker: "QUBY", }, + { + address: "3MyaQBG7y3SHLQZa282Jh2xtB2TZKHGzNp1CuZ4Cpump", + chain: "SOL", + chainId: "solana", + decimals: 6, + identifier: "SOL.Qude-3MyaQBG7y3SHLQZa282Jh2xtB2TZKHGzNp1CuZ4Cpump", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/sol.qude-3myaqbg7y3shlqza282jh2xtb2tzkhgznp1cuz4cpump.png", + ticker: "Qude", + }, { address: "6ybxMQpMgQhtsTLhvHZqk8uqao7kvoexY6e8JmCTqAB1", chain: "SOL", @@ -21312,6 +21982,16 @@ export const list: { "https://storage.googleapis.com/token-list-swapkit/images/sol.rad-rad8ndsejybjjuflsv5subu9g29n3m4syyndsbwokh3.png", ticker: "RAD", }, + { + address: "B4gipVUHKJ7keVN3MWEYDQCHjkdoXGsbmZoTSJDZpump", + chain: "SOL", + chainId: "solana", + decimals: 6, + identifier: "SOL.RADIO-B4gipVUHKJ7keVN3MWEYDQCHjkdoXGsbmZoTSJDZpump", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/sol.radio-b4gipvuhkj7kevn3mweydqchjkdoxgsbmzotsjdzpump.png", + ticker: "RADIO", + }, { address: "RaiuuHKrphE2jENyANz37mcTquwmwBqdnAiR881aEBZ", chain: "SOL", @@ -21442,6 +22122,16 @@ export const list: { "https://storage.googleapis.com/token-list-swapkit/images/sol.realis-ebgajp7srpuun8erdta1msojrntweuhysdp3p1trpump.png", ticker: "REALIS", }, + { + address: "6HgJHzGpq3fSLmkepsaC8F3VtpUWfXcG4hmUaf4Vpump", + chain: "SOL", + chainId: "solana", + decimals: 6, + identifier: "SOL.REGENT-6HgJHzGpq3fSLmkepsaC8F3VtpUWfXcG4hmUaf4Vpump", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/sol.regent-6hgjhzgpq3fslmkepsac8f3vtpuwfxcg4hmuaf4vpump.png", + ticker: "REGENT", + }, { address: "8wZvGcGePvWEa8tKQUYctMXFSkqS39scozVU9xBVrUjY", chain: "SOL", @@ -21612,6 +22302,16 @@ export const list: { "https://storage.googleapis.com/token-list-swapkit/images/sol.rho-trhor7npqlca4dfiuwr9vjcaw1je2zghsbwh37nw81i.png", ticker: "RHO", }, + { + address: "Gh8yeA9vH5Fun7J6esFH3mV65cQTBpxk9Z5XpzU7pump", + chain: "SOL", + chainId: "solana", + decimals: 6, + identifier: "SOL.RHUN-Gh8yeA9vH5Fun7J6esFH3mV65cQTBpxk9Z5XpzU7pump", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/sol.rhun-gh8yea9vh5fun7j6esfh3mv65cqtbpxk9z5xpzu7pump.png", + ticker: "RHUN", + }, { address: "32gaR4rn9JyzoDVwMzZ5j3NgcHc5RQhMSJby55FFKnq3", chain: "SOL", @@ -21662,6 +22362,16 @@ export const list: { "https://storage.googleapis.com/token-list-swapkit/images/sol.rick-9nclaqhtpkcyq542mh5fwew6cl5bnmicstoccjyvpump.png", ticker: "RICK", }, + { + address: "jUpa2aDCzvdR9EF4fqDXmuyMUkonPTohphABLmRkRFj", + chain: "SOL", + chainId: "solana", + decimals: 6, + identifier: "SOL.RIFT-jUpa2aDCzvdR9EF4fqDXmuyMUkonPTohphABLmRkRFj", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/sol.rift-jupa2adczvdr9ef4fqdxmuymukonptohphablmrkrfj.png", + ticker: "RIFT", + }, { address: "79HSB5Zd4feNc8xCwhhaCyJAwPuXrMKeJcbg2tKgDn8P", chain: "SOL", @@ -21792,6 +22502,16 @@ export const list: { "https://storage.googleapis.com/token-list-swapkit/images/sol.rm9000-g6hajithfeugsghvpu1rdpcq2nfiycjfhnpheanbpump.png", ticker: "RM9000", }, + { + address: "6TC3Nj94aEFK7ZzZ5QWUk29aUeym4TQYcqntW4z8Q88x", + chain: "SOL", + chainId: "solana", + decimals: 9, + identifier: "SOL.RMDN-6TC3Nj94aEFK7ZzZ5QWUk29aUeym4TQYcqntW4z8Q88x", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/sol.rmdn-6tc3nj94aefk7zzz5qwuk29aueym4tqycqntw4z8q88x.png", + ticker: "RMDN", + }, { address: "HALHrqgt8WX3Zi6PjJEBBDiJWMbPxfGEBkjavoCQpump", chain: "SOL", @@ -22092,6 +22812,16 @@ export const list: { "https://storage.googleapis.com/token-list-swapkit/images/sol.rwa-g8avc4nk5opwzthp4pdm3kauixcebv9wrqmd93h9pump.png", ticker: "RWA", }, + { + address: "DSujpGT7Td9AVr8wRiZ5dQzXyRB8p9vV5maZuJf3TK8a", + chain: "SOL", + chainId: "solana", + decimals: 6, + identifier: "SOL.RYAN-DSujpGT7Td9AVr8wRiZ5dQzXyRB8p9vV5maZuJf3TK8a", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/sol.ryan-dsujpgt7td9avr8wriz5dqzxyrb8p9vv5mazujf3tk8a.png", + ticker: "RYAN", + }, { address: "D8kgv5BRyfxUgTJGhkPJcw1Neo1eaneENC5XxC99pump", chain: "SOL", @@ -22972,6 +23702,16 @@ export const list: { "https://storage.googleapis.com/token-list-swapkit/images/sol.sftt-9-ftt9rbbrywcham4qlvkzzzhrsihymbz3k6wjbdoahxat.png", ticker: "sFTT-9", }, + { + address: "EKRBZrcu3rKiT1T5kUGRe9S7aCLq3GFYqsqkin9Qpump", + chain: "SOL", + chainId: "solana", + decimals: 6, + identifier: "SOL.SHADOW-EKRBZrcu3rKiT1T5kUGRe9S7aCLq3GFYqsqkin9Qpump", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/sol.shadow-ekrbzrcu3rkit1t5kugre9s7aclq3gfyqsqkin9qpump.png", + ticker: "SHADOW", + }, { address: "8D1nUMJQam54o34Kj2knFhSTaWoehEr4mBc7LfiDdCqq", chain: "SOL", @@ -23282,6 +24022,16 @@ export const list: { "https://storage.googleapis.com/token-list-swapkit/images/sol.shut-9e6nnqbstjwx3ss6a3x7q9zvpuplnylb8ctbvmm6ud2k.png", ticker: "SHUT", }, + { + address: "7d1vpt5eri79nETcL74Punhp3mGkeBgUkMdPWep6pump", + chain: "SOL", + chainId: "solana", + decimals: 6, + identifier: "SOL.SHY-7d1vpt5eri79nETcL74Punhp3mGkeBgUkMdPWep6pump", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/sol.shy-7d1vpt5eri79netcl74punhp3mgkebgukmdpwep6pump.png", + ticker: "SHY", + }, { address: "6WErZ2aMZYLUyzbP9n5gm4fwHJbv9Ln8yimSQRwZpump", chain: "SOL", @@ -24212,6 +24962,16 @@ export const list: { "https://storage.googleapis.com/token-list-swapkit/images/sol.solful-9zwrmw7msvgndjefmfc5mcappjhjgdkwfl9t5pjdbyio.png", ticker: "SOLFUL", }, + { + address: "BwUTq7fS6sfUmHDwAiCQZ3asSiPEapW5zDrsbwtapump", + chain: "SOL", + chainId: "solana", + decimals: 6, + identifier: "SOL.SOLFUNMEME-BwUTq7fS6sfUmHDwAiCQZ3asSiPEapW5zDrsbwtapump", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/sol.solfunmeme-bwutq7fs6sfumhdwaicqz3assipeapw5zdrsbwtapump.png", + ticker: "SOLFUNMEME", + }, { address: "Bdrn586BME57hGtGniEqBsmA1ijBduw5iM4zoypnpump", chain: "SOL", @@ -24402,6 +25162,16 @@ export const list: { "https://storage.googleapis.com/token-list-swapkit/images/sol.soly-cuwif1fix5b3bwwb2n5bm35aixvnr8ljjguvmewnzngr.png", ticker: "SOLY", }, + { + address: "FmkD8vrRaxAeXfmG6WtpUjcd3kXYcWLcNWpmjsE7pump", + chain: "SOL", + chainId: "solana", + decimals: 6, + identifier: "SOL.SOLY-FmkD8vrRaxAeXfmG6WtpUjcd3kXYcWLcNWpmjsE7pump", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/sol.soly-fmkd8vrraxaexfmg6wtpujcd3kxycwlcnwpmjse7pump.png", + ticker: "SOLY", + }, { address: "9g5UvB8iR7Fe9VekHXytWTAXTHgY9Gem9g2x3SBCvRs7", chain: "SOL", @@ -24502,6 +25272,16 @@ export const list: { "https://storage.googleapis.com/token-list-swapkit/images/sol.sootcase-buzfom1ypnazvysccbpddbmfymhcs4xtc3jqg5cfpump.png", ticker: "SOOTCASE", }, + { + address: "89nnWMkWeF9LSJvAWcN2JFQfeWdDk6diKEckeToEU1hE", + chain: "SOL", + chainId: "solana", + decimals: 6, + identifier: "SOL.sora-89nnWMkWeF9LSJvAWcN2JFQfeWdDk6diKEckeToEU1hE", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/sol.sora-89nnwmkwef9lsjvawcn2jfqfewddk6dikecketoeu1he.png", + ticker: "sora", + }, { address: "DAWqvQZ2K7rkC2d3iwGfreVrLLTRqY9gSHEC6cKczdHe", chain: "SOL", @@ -24612,6 +25392,16 @@ export const list: { "https://storage.googleapis.com/token-list-swapkit/images/sol.spcmnke-d8s1db9ga6a2eomtxu2zp33vfiyk4ozu5fjnbu1cud53.png", ticker: "SPCMNKE", }, + { + address: "CA2NxcCqzbsXfaX8ytYvr71bG3oTK4NNYmGAcCaWpvpq", + chain: "SOL", + chainId: "solana", + decimals: 8, + identifier: "SOL.SPCTRM-CA2NxcCqzbsXfaX8ytYvr71bG3oTK4NNYmGAcCaWpvpq", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/sol.spctrm-ca2nxccqzbsxfax8ytyvr71bg3otk4nnymgaccawpvpq.png", + ticker: "SPCTRM", + }, { address: "AT79ReYU9XtHUTF5vM6Q4oa9K8w7918Fp5SU7G1MDMQY", chain: "SOL", @@ -24902,6 +25692,16 @@ export const list: { "https://storage.googleapis.com/token-list-swapkit/images/sol.sse-caa3j9od6ndn5aermwz6fcr78tavxv9kumoihwvsbxsb.png", ticker: "SSE", }, + { + address: "H4phNbsqjV5rqk8u6FUACTLB6rNZRTAPGnBb8KXJpump", + chain: "SOL", + chainId: "solana", + decimals: 6, + identifier: "SOL.SSE-H4phNbsqjV5rqk8u6FUACTLB6rNZRTAPGnBb8KXJpump", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/sol.sse-h4phnbsqjv5rqk8u6fuactlb6rnzrtapgnbb8kxjpump.png", + ticker: "SSE", + }, { address: "FTT8cGNp3rfTC6c44uPTuEFLqmsVDhjd2BhH65v2uppr", chain: "SOL", @@ -24992,6 +25792,16 @@ export const list: { "https://storage.googleapis.com/token-list-swapkit/images/sol.stan-cqszjzww5h1oywrp6qhfukyywyovbsivdknaxnfb1tjc.png", ticker: "STAN", }, + { + address: "Faph9CjPwV9pRz642sbgnhhXVQFhQJZrWp8jspEDpump", + chain: "SOL", + chainId: "solana", + decimals: 6, + identifier: "SOL.STARDM-Faph9CjPwV9pRz642sbgnhhXVQFhQJZrWp8jspEDpump", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/sol.stardm-faph9cjpwv9prz642sbgnhhxvqfhqjzrwp8jspedpump.png", + ticker: "STARDM", + }, { address: "HCgybxq5Upy8Mccihrp7EsmwwFqYZtrHrsmsKwtGXLgW", chain: "SOL", @@ -25132,6 +25942,16 @@ export const list: { "https://storage.googleapis.com/token-list-swapkit/images/sol.stonks-8p6wdz59qwmrtgxwaxfn5j19dgwvy2xeavcyrda25pnm.png", ticker: "STONKS", }, + { + address: "FLJYGHpCCcfYUdzhcfHSeSd2peb5SMajNWaCsRnhpump", + chain: "SOL", + chainId: "solana", + decimals: 6, + identifier: "SOL.STORE-FLJYGHpCCcfYUdzhcfHSeSd2peb5SMajNWaCsRnhpump", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/sol.store-fljyghpcccfyudzhcfhsesd2peb5smajnwacsrnhpump.png", + ticker: "STORE", + }, { address: "9zoqdwEBKWEi9G5Ze8BSkdmppxGgVv1Kw4LuigDiNr9m", chain: "SOL", @@ -25202,6 +26022,16 @@ export const list: { "https://storage.googleapis.com/token-list-swapkit/images/sol.studog-4c8y1l7ya9ke2syjuilharmdjnqiqfgi4hrk6j1ehc8d.png", ticker: "STUDOG", }, + { + address: "9RjwNo6hBPkxayWHCqQD1VjaH8igSizEseNZNbddpump", + chain: "SOL", + chainId: "solana", + decimals: 6, + identifier: "SOL.Stupid-9RjwNo6hBPkxayWHCqQD1VjaH8igSizEseNZNbddpump", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/sol.stupid-9rjwno6hbpkxaywhcqqd1vjah8igsizesenznbddpump.png", + ticker: "Stupid", + }, { address: "3FHpkMTQ3QyAJoLoXVdBpH4TfHiehnL2kXmv9UXBpYuF", chain: "SOL", @@ -26482,16 +27312,6 @@ export const list: { "https://storage.googleapis.com/token-list-swapkit/images/sol.trtls-q4bparkw3fjb1ajbeebakv3tjyzwsmntlgnsb275yub.png", ticker: "TRTLS", }, - { - address: "4h8LjZWUfUQVgbEZ29UzTuGXNW6rwrJis78ZU66ekkPV", - chain: "SOL", - chainId: "solana", - decimals: 9, - identifier: "SOL.TRUMP-4h8LjZWUfUQVgbEZ29UzTuGXNW6rwrJis78ZU66ekkPV", - logoURI: - "https://storage.googleapis.com/token-list-swapkit/images/sol.trump-4h8ljzwufuqvgbez29uztugxnw6rwrjis78zu66ekkpv.png", - ticker: "TRUMP", - }, { address: "6p6xgHyF7AeE6TZkSmFsko444wqoP15icUSqi2jfGiPN", chain: "SOL", @@ -26502,36 +27322,6 @@ export const list: { "https://storage.googleapis.com/token-list-swapkit/images/sol.trump-6p6xghyf7aee6tzksmfsko444wqop15icusqi2jfgipn.png", ticker: "TRUMP", }, - { - address: "AwRErBEFGTnohzfLeRSBH9HddQEy2oeRxnWLrbvFFh95", - chain: "SOL", - chainId: "solana", - decimals: 6, - identifier: "SOL.TRUMP-AwRErBEFGTnohzfLeRSBH9HddQEy2oeRxnWLrbvFFh95", - logoURI: - "https://storage.googleapis.com/token-list-swapkit/images/sol.trump-awrerbefgtnohzflersbh9hddqey2oerxnwlrbvffh95.png", - ticker: "TRUMP", - }, - { - address: "BqhNdGtS1Nqtzi2MvZ7G8NN1vRuHZ12UpHGJKe71e1JT", - chain: "SOL", - chainId: "solana", - decimals: 9, - identifier: "SOL.TRUMP-BqhNdGtS1Nqtzi2MvZ7G8NN1vRuHZ12UpHGJKe71e1JT", - logoURI: - "https://storage.googleapis.com/token-list-swapkit/images/sol.trump-bqhndgts1nqtzi2mvz7g8nn1vruhz12uphgjke71e1jt.png", - ticker: "TRUMP", - }, - { - address: "HaP8r3ksG76PhQLTqR8FYBeNiQpejcFbQmiHbg787Ut1", - chain: "SOL", - chainId: "solana", - decimals: 8, - identifier: "SOL.TRUMP-HaP8r3ksG76PhQLTqR8FYBeNiQpejcFbQmiHbg787Ut1", - logoURI: - "https://storage.googleapis.com/token-list-swapkit/images/sol.trump-hap8r3ksg76phqltqr8fybeniqpejcfbqmihbg787ut1.png", - ticker: "TRUMP", - }, { address: "3irCtLebkhSV35QxPGpYcmH694QrBTaTzshJAFC6pump", chain: "SOL", @@ -26592,6 +27382,16 @@ export const list: { "https://storage.googleapis.com/token-list-swapkit/images/sol.truthfi-hyvdec81p8dgfnfzbbzwyntjpvjrsi7jek1vgqbjmuq9.png", ticker: "TruthFI", }, + { + address: "truthMz1n1fzkRrSK2xdS4FBaPmvkihxa8asAYcDMD8", + chain: "SOL", + chainId: "solana", + decimals: 9, + identifier: "SOL.truthSOL-truthMz1n1fzkRrSK2xdS4FBaPmvkihxa8asAYcDMD8", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/sol.truthsol-truthmz1n1fzkrrsk2xds4fbapmvkihxa8asaycdmd8.png", + ticker: "truthSOL", + }, { address: "57Pu2vR7QzXQJUjyPmiFCTtqVsTi1wy6NReWSLah7Pic", chain: "SOL", @@ -27442,6 +28242,16 @@ export const list: { "https://storage.googleapis.com/token-list-swapkit/images/sol.vin-6b2x4nmssmkit8ytfevt15igrsgskngz3j3wweidupe8.png", ticker: "VIN", }, + { + address: "6AJcP7wuLwmRYLBNbi825wgguaPsWzPBEHcHndpRpump", + chain: "SOL", + chainId: "solana", + decimals: 6, + identifier: "SOL.VINE-6AJcP7wuLwmRYLBNbi825wgguaPsWzPBEHcHndpRpump", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/sol.vine-6ajcp7wulwmrylbnbi825wgguapswzpbehchndprpump.png", + ticker: "VINE", + }, { address: "CgbJxXyaHeU8VsquBpySuFXA94b6LWXxioZ28wRr8fs9", chain: "SOL", @@ -27472,6 +28282,16 @@ export const list: { "https://storage.googleapis.com/token-list-swapkit/images/sol.virgo-ez4bst5qu5uqx3antywudafw9xvtfej3gugytkkbsjso.png", ticker: "VIRGO", }, + { + address: "3iQL8BFS2vE7mww4ehAqQHAsbmRNCrPxizWAT2Zfyr9y", + chain: "SOL", + chainId: "solana", + decimals: 9, + identifier: "SOL.VIRTUAL-3iQL8BFS2vE7mww4ehAqQHAsbmRNCrPxizWAT2Zfyr9y", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/sol.virtual-3iql8bfs2ve7mww4ehaqqhasbmrncrpxizwat2zfyr9y.png", + ticker: "VIRTUAL", + }, { address: "2jw1uFmc1hhfJH3EqGhaE2rfZMMC2YBpxkZcdUbPppMn", chain: "SOL", @@ -28072,6 +28892,16 @@ export const list: { "https://storage.googleapis.com/token-list-swapkit/images/sol.wheyo-5ftwkzp2ak39ltfn9ayppu6hdcvkfmgvm79f2eghctsi.png", ticker: "WHEYO", }, + { + address: "whispF7G9DHaojYHe2cdhRX5EMJzGBdqq7R57kL6inL", + chain: "SOL", + chainId: "solana", + decimals: 6, + identifier: "SOL.WHISP-whispF7G9DHaojYHe2cdhRX5EMJzGBdqq7R57kL6inL", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/sol.whisp-whispf7g9dhaojyhe2cdhrx5emjzgbdqq7r57kl6inl.png", + ticker: "WHISP", + }, { address: "FUCKuTfQVT9yCe3jPXdejBPhcPJpnceQy17uvcT9cLx8", chain: "SOL", @@ -28142,6 +28972,16 @@ export const list: { "https://storage.googleapis.com/token-list-swapkit/images/sol.wife-4y3oursjfsp431r3wjrwialxrpsnytpkvjmov2bypbiy.png", ticker: "WIFE", }, + { + address: "6t6YpXKmUTFa3or6AmoQ7hVLqeGDK9LN3fanznyqD7HX", + chain: "SOL", + chainId: "solana", + decimals: 6, + identifier: "SOL.wiflove-6t6YpXKmUTFa3or6AmoQ7hVLqeGDK9LN3fanznyqD7HX", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/sol.wiflove-6t6ypxkmutfa3or6amoq7hvlqegdk9ln3fanznyqd7hx.png", + ticker: "wiflove", + }, { address: "CoRQpMjhBx6AsrzKJJZyzJoH52GoEKShM3CVumyzpump", chain: "SOL", @@ -29542,6 +30382,16 @@ export const list: { "https://storage.googleapis.com/token-list-swapkit/images/sol.zods-j1ow1c3excjyqmgnfrpfcp1lmyrf6p3a33isdcbmpump.png", ticker: "ZODs", }, + { + address: "Hc4U9BK9PaikjCNyjP1dv1CZmanyvt2ui5GYAQqypump", + chain: "SOL", + chainId: "solana", + decimals: 6, + identifier: "SOL.ZOEY-Hc4U9BK9PaikjCNyjP1dv1CZmanyvt2ui5GYAQqypump", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/sol.zoey-hc4u9bk9paikjcnyjp1dv1czmanyvt2ui5gyaqqypump.png", + ticker: "ZOEY", + }, { address: "9MBzpyMRkj2r5nTQZMMnxnCm5j1MAAFSYUtbSKjAF3WU", chain: "SOL", diff --git a/packages/swapkit/tokens/src/tokenLists/kado.ts b/packages/swapkit/tokens/src/tokenLists/kado.ts new file mode 100644 index 000000000..33522a337 --- /dev/null +++ b/packages/swapkit/tokens/src/tokenLists/kado.ts @@ -0,0 +1,518 @@ +export const list = { + provider: "KADO", + name: "KADO", + timestamp: "2025-02-07T19:03:54.399Z", + version: { + major: 1, + minor: 0, + patch: 0, + }, + keywords: [], + count: 58, + tokens: [ + { + chain: "ARB", + chainId: "42161", + decimals: 18, + identifier: "ARB.ETH", + logoURI: "https://storage.googleapis.com/token-list-swapkit/images/arb.eth.png", + ticker: "ETH", + }, + { + address: "0xaf88d065e77c8cC2239327C5EDb3A432268e5831", + chain: "ARB", + chainId: "42161", + decimals: 6, + identifier: "ARB.USDC-0xaf88d065e77c8cC2239327C5EDb3A432268e5831", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/arb.usdc-0xaf88d065e77c8cc2239327c5edb3a432268e5831.png", + ticker: "USDC", + }, + { + chain: "AVAX", + chainId: "43114", + decimals: 18, + identifier: "AVAX.AVAX", + logoURI: "https://storage.googleapis.com/token-list-swapkit/images/avax.avax.png", + ticker: "AVAX", + }, + { + address: "0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E", + chain: "AVAX", + chainId: "43114", + decimals: 6, + identifier: "AVAX.USDC-0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/avax.usdc-0xb97ef9ef8734c71904d8002f8b6bc66dd9c48a6e.png", + ticker: "USDC", + }, + { + chain: "BASE", + chainId: "8453", + decimals: 18, + identifier: "BASE.ETH", + logoURI: "https://storage.googleapis.com/token-list-swapkit/images/base.eth.png", + ticker: "ETH", + }, + { + address: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", + chain: "BASE", + chainId: "8453", + decimals: 6, + identifier: "BASE.USDC-0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/base.usdc-0x833589fcd6edb6e08f4c7c32d4f71b54bda02913.png", + ticker: "USDC", + }, + { + chain: "BTC", + chainId: "bitcoin", + decimals: 18, + identifier: "BTC.BTC", + logoURI: "https://storage.googleapis.com/token-list-swapkit/images/btc.btc.png", + ticker: "BTC", + }, + { + chain: "ETH", + chainId: "1", + decimals: 18, + identifier: "ETH.ETH", + logoURI: "https://storage.googleapis.com/token-list-swapkit/images/eth.eth.png", + ticker: "ETH", + }, + { + address: "0xa5f2211b9b8170f694421f2046281775e8468044", + chain: "ETH", + chainId: "1", + decimals: 18, + identifier: "ETH.THOR-0xa5f2211b9b8170f694421f2046281775e8468044", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/eth.thor-0xa5f2211b9b8170f694421f2046281775e8468044.png", + ticker: "THOR", + }, + { + address: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", + chain: "ETH", + chainId: "1", + decimals: 6, + identifier: "ETH.USDC-0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/eth.usdc-0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48.png", + ticker: "USDC", + }, + { + address: "0xdac17f958d2ee523a2206206994597c13d831ec7", + chain: "ETH", + chainId: "1", + decimals: 6, + identifier: "ETH.USDT-0xdac17f958d2ee523a2206206994597c13d831ec7", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/eth.usdt-0xdac17f958d2ee523a2206206994597c13d831ec7.png", + ticker: "USDT", + }, + { + chain: "FIAT", + chainId: "fiat", + decimals: 2, + identifier: "FIAT.ARS", + logoURI: "https://storage.googleapis.com/token-list-swapkit/images/fiat.ars.png", + ticker: "ARS", + }, + { + chain: "FIAT", + chainId: "fiat", + decimals: 2, + identifier: "FIAT.AUD", + logoURI: "https://storage.googleapis.com/token-list-swapkit/images/fiat.aud.png", + ticker: "AUD", + }, + { + chain: "FIAT", + chainId: "fiat", + decimals: 2, + identifier: "FIAT.BRL", + logoURI: "https://storage.googleapis.com/token-list-swapkit/images/fiat.brl.png", + ticker: "BRL", + }, + { + chain: "FIAT", + chainId: "fiat", + decimals: 2, + identifier: "FIAT.CAD", + logoURI: "https://storage.googleapis.com/token-list-swapkit/images/fiat.cad.png", + ticker: "CAD", + }, + { + chain: "FIAT", + chainId: "fiat", + decimals: 2, + identifier: "FIAT.CHF", + logoURI: "https://storage.googleapis.com/token-list-swapkit/images/fiat.chf.png", + ticker: "CHF", + }, + { + chain: "FIAT", + chainId: "fiat", + decimals: 2, + identifier: "FIAT.CLP", + logoURI: "https://storage.googleapis.com/token-list-swapkit/images/fiat.clp.png", + ticker: "CLP", + }, + { + chain: "FIAT", + chainId: "fiat", + decimals: 2, + identifier: "FIAT.COP", + logoURI: "https://storage.googleapis.com/token-list-swapkit/images/fiat.cop.png", + ticker: "COP", + }, + { + chain: "FIAT", + chainId: "fiat", + decimals: 2, + identifier: "FIAT.CRC", + logoURI: "https://storage.googleapis.com/token-list-swapkit/images/fiat.crc.png", + ticker: "CRC", + }, + { + chain: "FIAT", + chainId: "fiat", + decimals: 2, + identifier: "FIAT.DKK", + logoURI: "https://storage.googleapis.com/token-list-swapkit/images/fiat.dkk.png", + ticker: "DKK", + }, + { + chain: "FIAT", + chainId: "fiat", + decimals: 2, + identifier: "FIAT.EUR", + logoURI: "https://storage.googleapis.com/token-list-swapkit/images/fiat.eur.png", + ticker: "EUR", + }, + { + chain: "FIAT", + chainId: "fiat", + decimals: 2, + identifier: "FIAT.GBP", + logoURI: "https://storage.googleapis.com/token-list-swapkit/images/fiat.gbp.png", + ticker: "GBP", + }, + { + chain: "FIAT", + chainId: "fiat", + decimals: 2, + identifier: "FIAT.INR", + logoURI: "https://storage.googleapis.com/token-list-swapkit/images/fiat.inr.png", + ticker: "INR", + }, + { + chain: "FIAT", + chainId: "fiat", + decimals: 2, + identifier: "FIAT.JPY", + logoURI: "https://storage.googleapis.com/token-list-swapkit/images/fiat.jpy.png", + ticker: "JPY", + }, + { + chain: "FIAT", + chainId: "fiat", + decimals: 2, + identifier: "FIAT.KRW", + logoURI: "https://storage.googleapis.com/token-list-swapkit/images/fiat.krw.png", + ticker: "KRW", + }, + { + chain: "FIAT", + chainId: "fiat", + decimals: 2, + identifier: "FIAT.MXN", + logoURI: "https://storage.googleapis.com/token-list-swapkit/images/fiat.mxn.png", + ticker: "MXN", + }, + { + chain: "FIAT", + chainId: "fiat", + decimals: 2, + identifier: "FIAT.NOK", + logoURI: "https://storage.googleapis.com/token-list-swapkit/images/fiat.nok.png", + ticker: "NOK", + }, + { + chain: "FIAT", + chainId: "fiat", + decimals: 2, + identifier: "FIAT.NZD", + logoURI: "https://storage.googleapis.com/token-list-swapkit/images/fiat.nzd.png", + ticker: "NZD", + }, + { + chain: "FIAT", + chainId: "fiat", + decimals: 2, + identifier: "FIAT.PEN", + logoURI: "https://storage.googleapis.com/token-list-swapkit/images/fiat.pen.png", + ticker: "PEN", + }, + { + chain: "FIAT", + chainId: "fiat", + decimals: 2, + identifier: "FIAT.PHP", + logoURI: "https://storage.googleapis.com/token-list-swapkit/images/fiat.php.png", + ticker: "PHP", + }, + { + chain: "FIAT", + chainId: "fiat", + decimals: 2, + identifier: "FIAT.PLN", + logoURI: "https://storage.googleapis.com/token-list-swapkit/images/fiat.pln.png", + ticker: "PLN", + }, + { + chain: "FIAT", + chainId: "fiat", + decimals: 2, + identifier: "FIAT.SEK", + logoURI: "https://storage.googleapis.com/token-list-swapkit/images/fiat.sek.png", + ticker: "SEK", + }, + { + chain: "FIAT", + chainId: "fiat", + decimals: 2, + identifier: "FIAT.SGD", + logoURI: "https://storage.googleapis.com/token-list-swapkit/images/fiat.sgd.png", + ticker: "SGD", + }, + { + chain: "FIAT", + chainId: "fiat", + decimals: 2, + identifier: "FIAT.TRY", + logoURI: "https://storage.googleapis.com/token-list-swapkit/images/fiat.try.png", + ticker: "TRY", + }, + { + chain: "FIAT", + chainId: "fiat", + decimals: 2, + identifier: "FIAT.TWD", + logoURI: "https://storage.googleapis.com/token-list-swapkit/images/fiat.twd.png", + ticker: "TWD", + }, + { + chain: "FIAT", + chainId: "fiat", + decimals: 2, + identifier: "FIAT.USD", + logoURI: "https://storage.googleapis.com/token-list-swapkit/images/fiat.usd.png", + ticker: "USD", + }, + { + chain: "FIAT", + chainId: "fiat", + decimals: 2, + identifier: "FIAT.UYU", + logoURI: "https://storage.googleapis.com/token-list-swapkit/images/fiat.uyu.png", + ticker: "UYU", + }, + { + chain: "FIAT", + chainId: "fiat", + decimals: 2, + identifier: "FIAT.VND", + logoURI: "https://storage.googleapis.com/token-list-swapkit/images/fiat.vnd.png", + ticker: "VND", + }, + { + chain: "GAIA", + chainId: "cosmoshub-4", + decimals: 6, + identifier: "GAIA.ATOM", + logoURI: "https://storage.googleapis.com/token-list-swapkit/images/gaia.atom.png", + ticker: "ATOM", + }, + { + address: "ibc/27394fb092d2eccd56123c74f36e4c1f926001ceada9ca97ea622b25f41e5eb2", + chain: "KUJI", + chainId: "kaiyo-1", + decimals: 6, + identifier: "KUJI.ATOM-ibc/27394fb092d2eccd56123c74f36e4c1f926001ceada9ca97ea622b25f41e5eb2", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/kuji.atom-ibc/27394fb092d2eccd56123c74f36e4c1f926001ceada9ca97ea622b25f41e5eb2.png", + ticker: "ATOM", + }, + { + address: "ibc/295548A78785A1007F232DE286149A6FF512F180AF5657780FC89C009E2C348F", + chain: "KUJI", + chainId: "kaiyo-1", + decimals: 6, + identifier: + "KUJI.axlUSDC-ibc/295548A78785A1007F232DE286149A6FF512F180AF5657780FC89C009E2C348F", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/kuji.axlusdc-ibc/295548a78785a1007f232de286149a6ff512f180af5657780fc89c009e2c348f.png", + ticker: "axlUSDC", + }, + { + address: "ukuji", + chain: "KUJI", + chainId: "kaiyo-1", + decimals: 6, + identifier: "KUJI.KUJI-ukuji", + logoURI: "https://storage.googleapis.com/token-list-swapkit/images/kuji.kuji-ukuji.png", + ticker: "KUJI", + }, + { + chain: "KUJI", + chainId: "kaiyo-1", + decimals: 6, + identifier: "KUJI.stATOM", + logoURI: "https://storage.googleapis.com/token-list-swapkit/images/kuji.statom.png", + ticker: "stATOM", + }, + { + address: "ibc/FE98AAD68F02F03565E9FA39A5E627946699B2B07115889ED812D8BA639576A9", + chain: "KUJI", + chainId: "kaiyo-1", + decimals: 6, + identifier: "KUJI.USDC-ibc/FE98AAD68F02F03565E9FA39A5E627946699B2B07115889ED812D8BA639576A9", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/kuji.usdc-ibc/fe98aad68f02f03565e9fa39a5e627946699b2b07115889ed812d8ba639576a9.png", + ticker: "USDC", + }, + { + chain: "LTC", + chainId: "litecoin", + decimals: 18, + identifier: "LTC.LTC", + logoURI: "https://storage.googleapis.com/token-list-swapkit/images/ltc.ltc.png", + ticker: "LTC", + }, + { + chain: "OP", + chainId: "10", + decimals: 18, + identifier: "OP.ETH", + logoURI: "https://storage.googleapis.com/token-list-swapkit/images/op.eth.png", + ticker: "ETH", + }, + { + address: "0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85", + chain: "OP", + chainId: "10", + decimals: 6, + identifier: "OP.USDC-0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/op.usdc-0x0b2c639c533813f4aa9d7837caf62653d097ff85.png", + ticker: "USDC", + }, + { + address: "3B5wuUrMEi5yATD7on46hKfej3pfmd7t1RKgrsN3pump", + chain: "SOL", + chainId: "solana", + decimals: 6, + identifier: "SOL.BILLY-3B5wuUrMEi5yATD7on46hKfej3pfmd7t1RKgrsN3pump", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/sol.billy-3b5wuurmei5yatd7on46hkfej3pfmd7t1rkgrsn3pump.png", + ticker: "BILLY", + }, + { + address: "DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263", + chain: "SOL", + chainId: "solana", + decimals: 5, + identifier: "SOL.BONK-DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/sol.bonk-dezxaz8z7pnrnrjjz3wxborgixca6xjnb7yab1ppb263.png", + ticker: "BONK", + }, + { + address: "9BB6NFEcjBCtnNLFko2FqVQBq8HHM13kCyYcdQbgpump", + chain: "SOL", + chainId: "solana", + decimals: 6, + identifier: "SOL.FARTCOIN-9BB6NFEcjBCtnNLFko2FqVQBq8HHM13kCyYcdQbgpump", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/sol.fartcoin-9bb6nfecjbctnnlfko2fqvqbq8hhm13kcyycdqbgpump.png", + ticker: "FARTCOIN", + }, + { + address: "CzLSujWBLFsSjncfkh59rUFqvafWcY5tzedWJSuypump", + chain: "SOL", + chainId: "solana", + decimals: 6, + identifier: "SOL.GOAT-CzLSujWBLFsSjncfkh59rUFqvafWcY5tzedWJSuypump", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/sol.goat-czlsujwblfssjncfkh59rufqvafwcy5tzedwjsuypump.png", + ticker: "GOAT", + }, + { + address: "AZsHEMXd36Bj1EMNXhowJajpUXzrKcK57wW4ZGXVa7yR", + chain: "SOL", + chainId: "solana", + decimals: 6, + identifier: "SOL.GUAC-AZsHEMXd36Bj1EMNXhowJajpUXzrKcK57wW4ZGXVa7yR", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/sol.guac-azshemxd36bj1emnxhowjajpuxzrkck57ww4zgxva7yr.png", + ticker: "GUAC", + }, + { + address: "JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN", + chain: "SOL", + chainId: "solana", + decimals: 6, + identifier: "SOL.JUP-JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/sol.jup-jupyiwryjfskupiha7hker8vutaefosybkedznsdvcn.png", + ticker: "JUP", + }, + { + address: "ED5nyyWEzpPPiWimP8vYm7sD7TD3LAt3Q3gRTWHzPJBY", + chain: "SOL", + chainId: "solana", + decimals: 6, + identifier: "SOL.MOODENG-ED5nyyWEzpPPiWimP8vYm7sD7TD3LAt3Q3gRTWHzPJBY", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/sol.moodeng-ed5nyywezpppiwimp8vym7sd7td3lat3q3grtwhzpjby.png", + ticker: "MOODENG", + }, + { + chain: "SOL", + chainId: "solana", + decimals: 9, + identifier: "SOL.SOL", + logoURI: "https://storage.googleapis.com/token-list-swapkit/images/sol.sol.png", + ticker: "SOL", + }, + { + address: "UPTx1d24aBWuRgwxVnFmX4gNraj3QGFzL3QqBgxtWQG", + chain: "SOL", + chainId: "solana", + decimals: 9, + identifier: "SOL.UPT-UPTx1d24aBWuRgwxVnFmX4gNraj3QGFzL3QqBgxtWQG", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/sol.upt-uptx1d24abwurgwxvnfmx4gnraj3qgfzl3qqbgxtwqg.png", + ticker: "UPT", + }, + { + address: "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", + chain: "SOL", + chainId: "solana", + decimals: 6, + identifier: "SOL.USDC-EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/sol.usdc-epjfwdd5aufqssqem2qn1xzybapc8g4weggkzwytdt1v.png", + ticker: "USDC", + }, + { + chain: "THOR", + chainId: "thorchain-1", + decimals: 8, + identifier: "THOR.RUNE", + logoURI: "https://storage.googleapis.com/token-list-swapkit/images/thor.rune.png", + ticker: "RUNE", + }, + ], +} as const; diff --git a/packages/swapkit/tokens/src/tokenLists/mayachain.ts b/packages/swapkit/tokens/src/tokenLists/mayachain.ts index 17ac98624..0ca3b7513 100644 --- a/packages/swapkit/tokens/src/tokenLists/mayachain.ts +++ b/packages/swapkit/tokens/src/tokenLists/mayachain.ts @@ -2,14 +2,14 @@ export const list = { provider: "MAYACHAIN", chainId: "mayachain-mainnet-v1", name: "MAYACHAIN", - timestamp: "2025-01-22T13:30:52.014Z", + timestamp: "2025-02-07T19:01:41.239Z", version: { major: 1, minor: 0, patch: 0, }, keywords: [], - count: 53, + count: 54, tokens: [ { address: "0x912ce59144191c1204e64559fe8253a0e49e6548", @@ -211,6 +211,14 @@ export const list = { logoURI: "https://storage.googleapis.com/token-list-swapkit/images/kuji.kuji.png", ticker: "KUJI", }, + { + chain: "KUJI", + chainId: "kaiyo-1", + decimals: 6, + identifier: "KUJI.USK", + logoURI: "https://storage.googleapis.com/token-list-swapkit/images/kuji.usk.png", + ticker: "USK", + }, { address: "0x912ce59144191c1204e64559fe8253a0e49e6548", chain: "MAYA", diff --git a/packages/swapkit/tokens/src/tokenLists/oneinch.ts b/packages/swapkit/tokens/src/tokenLists/oneinch.ts index 7ad59e88d..b2d91d928 100644 --- a/packages/swapkit/tokens/src/tokenLists/oneinch.ts +++ b/packages/swapkit/tokens/src/tokenLists/oneinch.ts @@ -1,14 +1,14 @@ export const list = { provider: "ONEINCH", name: "ONEINCH", - timestamp: "2025-01-22T13:30:53.837Z", + timestamp: "2025-02-07T19:01:43.735Z", version: { major: 1, minor: 0, patch: 0, }, keywords: ["oneinch", "1inch", "1inch.exchange", "1inch.exchange v1"], - count: 1393, + count: 1392, tokens: [ { address: "0xba5ddd1f9d7f570dc94a51479a000e3bce967196", @@ -20,6 +20,16 @@ export const list = { "https://storage.googleapis.com/token-list-swapkit/images/arb.aave-0xba5ddd1f9d7f570dc94a51479a000e3bce967196.png", ticker: "AAVE", }, + { + address: "0x37a645648df29205c6261289983fb04ecd70b4b3", + chain: "ARB", + chainId: "42161", + decimals: 18, + identifier: "ARB.ANIME-0x37a645648df29205c6261289983fb04ecd70b4b3", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/arb.anime-0x37a645648df29205c6261289983fb04ecd70b4b3.png", + ticker: "ANIME", + }, { address: "0x912ce59144191c1204e64559fe8253a0e49e6548", chain: "ARB", @@ -458,16 +468,6 @@ export const list = { "https://storage.googleapis.com/token-list-swapkit/images/arb.spell-0x3e6648c5a70a150a88bce65f4ad4d506fe15d2af.png", ticker: "SPELL", }, - { - address: "0xc19669a405067927865b40ea045a2baabbbe57f5", - chain: "ARB", - chainId: "42161", - decimals: 18, - identifier: "ARB.STAR-0xc19669a405067927865b40ea045a2baabbbe57f5", - logoURI: - "https://storage.googleapis.com/token-list-swapkit/images/arb.star-0xc19669a405067927865b40ea045a2baabbbe57f5.png", - ticker: "STAR", - }, { address: "0x7cfadfd5645b50be87d546f42699d863648251ad", chain: "ARB", @@ -578,16 +578,6 @@ export const list = { "https://storage.googleapis.com/token-list-swapkit/images/arb.usdt-0xfd086bc7cd5c481dcc9c85ebe478a1c0b69fcbb9.png", ticker: "USDT", }, - { - address: "0x323665443cef804a3b5206103304bd4872ea4253", - chain: "ARB", - chainId: "42161", - decimals: 6, - identifier: "ARB.USDV-0x323665443cef804a3b5206103304bd4872ea4253", - logoURI: - "https://storage.googleapis.com/token-list-swapkit/images/arb.usdv-0x323665443cef804a3b5206103304bd4872ea4253.png", - ticker: "USDV", - }, { address: "0xb2f30a7c980f052f02563fb518dcc39e6bf38175", chain: "ARB", @@ -806,16 +796,6 @@ export const list = { "https://storage.googleapis.com/token-list-swapkit/images/avax.axial-0xcf8419a615c57511807236751c0af38db4ba3351.png", ticker: "AXIAL", }, - { - address: "0x18706c65b12595edb43643214eacdb4f618dd166", - chain: "AVAX", - chainId: "43114", - decimals: 18, - identifier: "AVAX.BAY-0x18706c65b12595edb43643214eacdb4f618dd166", - logoURI: - "https://storage.googleapis.com/token-list-swapkit/images/avax.bay-0x18706c65b12595edb43643214eacdb4f618dd166.png", - ticker: "BAY", - }, { address: "0xb262a485d98d8e19175818d47453e7812ca255a8", chain: "AVAX", @@ -876,16 +856,6 @@ export const list = { "https://storage.googleapis.com/token-list-swapkit/images/avax.cly-0xec3492a2508ddf4fdc0cd76f31f340b30d1793e6.png", ticker: "CLY", }, - { - address: "0xc3048e19e76cb9a3aa9d77d8c03c29fc906e2437", - chain: "AVAX", - chainId: "43114", - decimals: 18, - identifier: "AVAX.COMP-0xc3048e19e76cb9a3aa9d77d8c03c29fc906e2437", - logoURI: - "https://storage.googleapis.com/token-list-swapkit/images/avax.comp-0xc3048e19e76cb9a3aa9d77d8c03c29fc906e2437.png", - ticker: "COMP", - }, { address: "0x637afeff75ca669ff92e4570b14d6399a658902f", chain: "AVAX", @@ -1106,6 +1076,16 @@ export const list = { "https://storage.googleapis.com/token-list-swapkit/images/avax.joe-0x6e84a6216ea6dacc71ee8e6b0a5b7322eebc0fdd.png", ticker: "JOE", }, + { + address: "0xffff003a6bad9b743d658048742935fffe2b6ed7", + chain: "AVAX", + chainId: "43114", + decimals: 18, + identifier: "AVAX.KET-0xffff003a6bad9b743d658048742935fffe2b6ed7", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/avax.ket-0xffff003a6bad9b743d658048742935fffe2b6ed7.png", + ticker: "KET", + }, { address: "0xb27c8941a7df8958a1778c0259f76d1f8b711c35", chain: "AVAX", @@ -1176,16 +1156,6 @@ export const list = { "https://storage.googleapis.com/token-list-swapkit/images/avax.nxusd-0xf14f4ce569cb3679e99d5059909e23b07bd2f387.png", ticker: "NXUSD", }, - { - address: "0x937e077abaea52d3abf879c9b9d3f2ebd15baa21", - chain: "AVAX", - chainId: "43114", - decimals: 18, - identifier: "AVAX.OH-0x937e077abaea52d3abf879c9b9d3f2ebd15baa21", - logoURI: - "https://storage.googleapis.com/token-list-swapkit/images/avax.oh-0x937e077abaea52d3abf879c9b9d3f2ebd15baa21.png", - ticker: "OH", - }, { address: "0xe896cdeaac9615145c0ca09c8cd5c25bced6384c", chain: "AVAX", @@ -1426,16 +1396,6 @@ export const list = { "https://storage.googleapis.com/token-list-swapkit/images/avax.tusd-0x1c20e891bab6b1727d14da358fae2984ed9b59eb.png", ticker: "TUSD", }, - { - address: "0x8ebaf22b6f053dffeaf46f4dd9efa95d89ba8580", - chain: "AVAX", - chainId: "43114", - decimals: 18, - identifier: "AVAX.UNI.e-0x8ebaf22b6f053dffeaf46f4dd9efa95d89ba8580", - logoURI: - "https://storage.googleapis.com/token-list-swapkit/images/avax.uni.e-0x8ebaf22b6f053dffeaf46f4dd9efa95d89ba8580.png", - ticker: "UNI.e", - }, { address: "0xb97ef9ef8734c71904d8002f8b6bc66dd9c48a6e", chain: "AVAX", @@ -2327,6 +2287,16 @@ export const list = { "https://storage.googleapis.com/token-list-swapkit/images/eth.angle-0x31429d1856ad1377a8a0079410b297e1a9e214c2.png", ticker: "ANGLE", }, + { + address: "0x4dc26fc5854e7648a064a4abd590bbe71724c277", + chain: "ETH", + chainId: "1", + decimals: 18, + identifier: "ETH.ANIME-0x4dc26fc5854e7648a064a4abd590bbe71724c277", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/eth.anime-0x4dc26fc5854e7648a064a4abd590bbe71724c277.png", + ticker: "ANIME", + }, { address: "0xcd62b1c403fa761baadfc74c525ce2b51780b184", chain: "ETH", @@ -6480,10 +6450,10 @@ export const list = { chain: "ETH", chainId: "1", decimals: 18, - identifier: "ETH.MASK_NTWRK-0x69af81e73a73b40adf4f3d4223cd9b1ece623074", + identifier: "ETH.MASK-0x69af81e73a73b40adf4f3d4223cd9b1ece623074", logoURI: - "https://storage.googleapis.com/token-list-swapkit/images/eth.mask_ntwrk-0x69af81e73a73b40adf4f3d4223cd9b1ece623074.png", - ticker: "MASK_NTWRK", + "https://storage.googleapis.com/token-list-swapkit/images/eth.mask-0x69af81e73a73b40adf4f3d4223cd9b1ece623074.png", + ticker: "MASK", }, { address: "0x06f3c323f0238c72bf35011071f2b5b7f43a054c", @@ -7475,6 +7445,16 @@ export const list = { "https://storage.googleapis.com/token-list-swapkit/images/eth.ox-0xba0dda8762c24da9487f5fa026a9b64b695a07ea.png", ticker: "OX", }, + { + address: "0x4c1746a800d224393fe2470c70a35717ed4ea5f1", + chain: "ETH", + chainId: "1", + decimals: 18, + identifier: "ETH.P-0x4c1746a800d224393fe2470c70a35717ed4ea5f1", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/eth.p-0x4c1746a800d224393fe2470c70a35717ed4ea5f1.png", + ticker: "P", + }, { address: "0xea7cc765ebc94c4805e3bff28d7e4ae48d06468a", chain: "ETH", @@ -13784,6 +13764,16 @@ export const list = { "https://storage.googleapis.com/token-list-swapkit/images/eth.xcad-0x7659ce147d0e714454073a5dd7003544234b6aa0.png", ticker: "XCAD", }, + { + address: "0xa2cd3d43c775978a96bdbf12d733d5a1ed94fb18", + chain: "ETH", + chainId: "1", + decimals: 18, + identifier: "ETH.XCN-0xa2cd3d43c775978a96bdbf12d733d5a1ed94fb18", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/eth.xcn-0xa2cd3d43c775978a96bdbf12d733d5a1ed94fb18.png", + ticker: "XCN", + }, { address: "0x72b886d09c117654ab7da13a14d603001de0b777", chain: "ETH", diff --git a/packages/swapkit/tokens/src/tokenLists/pangolin_v1.ts b/packages/swapkit/tokens/src/tokenLists/pangolin_v1.ts index f4ed3706f..9fe4a8da8 100644 --- a/packages/swapkit/tokens/src/tokenLists/pangolin_v1.ts +++ b/packages/swapkit/tokens/src/tokenLists/pangolin_v1.ts @@ -2,14 +2,14 @@ export const list = { provider: "PANGOLIN_V1", chainId: "43114", name: "PANGOLIN_V1", - timestamp: "2025-01-22T13:31:14.899Z", + timestamp: "2025-02-07T19:02:11.490Z", version: { major: 1, minor: 0, patch: 0, }, keywords: [], - count: 16, + count: 11, tokens: [ { address: "0xf20d962a6c8f70c731bd838a3a388D7d48fA6e15", @@ -21,26 +21,6 @@ export const list = { "https://storage.googleapis.com/token-list-swapkit/images/avax.eth-0xf20d962a6c8f70c731bd838a3a388d7d48fa6e15.png", ticker: "ETH", }, - { - address: "0x65378b697853568dA9ff8EaB60C13E1Ee9f4a654", - chain: "AVAX", - chainId: "43114", - decimals: 18, - identifier: "AVAX.HUSKY-0X65378B697853568DA9FF8EAB60C13E1EE9F4A654", - logoURI: - "https://storage.googleapis.com/token-list-swapkit/images/avax.husky-0x65378b697853568da9ff8eab60c13e1ee9f4a654.png", - ticker: "HUSKY", - }, - { - address: "0x5947BB275c521040051D82396192181b413227A3", - chain: "AVAX", - chainId: "43114", - decimals: 18, - identifier: "AVAX.LINK.E-0X5947BB275C521040051D82396192181B413227A3", - logoURI: - "https://storage.googleapis.com/token-list-swapkit/images/avax.link.e-0x5947bb275c521040051d82396192181b413227a3.png", - ticker: "LINK.E", - }, { address: "0x60781C2586D68229fde47564546784ab3fACA982", chain: "AVAX", @@ -71,16 +51,6 @@ export const list = { "https://storage.googleapis.com/token-list-swapkit/images/avax.savax-0x2b2c81e08f1af8835a78bb2a90ae924ace0ea4be.png", ticker: "SAVAX", }, - { - address: "0x6e7f5C0b9f4432716bDd0a77a3601291b9D9e985", - chain: "AVAX", - chainId: "43114", - decimals: 9, - identifier: "AVAX.SPORE-0X6E7F5C0B9F4432716BDD0A77A3601291B9D9E985", - logoURI: - "https://storage.googleapis.com/token-list-swapkit/images/avax.spore-0x6e7f5c0b9f4432716bdd0a77a3601291b9d9e985.png", - ticker: "SPORE", - }, { address: "0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E", chain: "AVAX", @@ -91,16 +61,6 @@ export const list = { "https://storage.googleapis.com/token-list-swapkit/images/avax.usdc-0xb97ef9ef8734c71904d8002f8b6bc66dd9c48a6e.png", ticker: "USDC", }, - { - address: "0xA7D7079b0FEaD91F3e65f86E8915Cb59c1a4C664", - chain: "AVAX", - chainId: "43114", - decimals: 6, - identifier: "AVAX.USDC.E-0XA7D7079B0FEAD91F3E65F86E8915CB59C1A4C664", - logoURI: - "https://storage.googleapis.com/token-list-swapkit/images/avax.usdc.e-0xa7d7079b0fead91f3e65f86e8915cb59c1a4c664.png", - ticker: "USDC.E", - }, { address: "0x9702230A8Ea53601f5cD2dc00fDBc13d4dF4A8c7", chain: "AVAX", @@ -151,16 +111,6 @@ export const list = { "https://storage.googleapis.com/token-list-swapkit/images/avax.wbtc.e-0x50b7545627a5162f82a992c33b87adc75187b218.png", ticker: "WBTC.E", }, - { - address: "0xB1466d4cf0DCfC0bCdDcf3500F473cdACb88b56D", - chain: "AVAX", - chainId: "43114", - decimals: 18, - identifier: "AVAX.WET-0XB1466D4CF0DCFC0BCDDCF3500F473CDACB88B56D", - logoURI: - "https://storage.googleapis.com/token-list-swapkit/images/avax.wet-0xb1466d4cf0dcfc0bcddcf3500f473cdacb88b56d.png", - ticker: "WET", - }, { address: "0x49D5c2BdFfac6CE2BFdB6640F4F80f226bc10bAB", chain: "AVAX", diff --git a/packages/swapkit/tokens/src/tokenLists/sushiswap_v2.ts b/packages/swapkit/tokens/src/tokenLists/sushiswap_v2.ts index b2bfaffa7..83bb1c646 100644 --- a/packages/swapkit/tokens/src/tokenLists/sushiswap_v2.ts +++ b/packages/swapkit/tokens/src/tokenLists/sushiswap_v2.ts @@ -2,14 +2,14 @@ export const list = { provider: "SUSHISWAP_V2", chainId: "1", name: "SUSHISWAP_V2", - timestamp: "2025-01-22T13:31:15.921Z", + timestamp: "2025-02-07T19:02:12.428Z", version: { major: 1, minor: 0, patch: 0, }, keywords: [], - count: 95, + count: 83, tokens: [ { address: "0x4Af698B479D0098229DC715655c667Ceb6cd8433", @@ -91,16 +91,6 @@ export const list = { "https://storage.googleapis.com/token-list-swapkit/images/eth.band-0xba11d00c5f74255f56a5e366f4f77f5a186d7f55.png", ticker: "BAND", }, - { - address: "0x24A6A37576377F63f194Caa5F518a60f45b42921", - chain: "ETH", - chainId: "1", - decimals: 18, - identifier: "ETH.BANK-0X24A6A37576377F63F194CAA5F518A60F45B42921", - logoURI: - "https://storage.googleapis.com/token-list-swapkit/images/eth.bank-0x24a6a37576377f63f194caa5f518a60f45b42921.png", - ticker: "BANK", - }, { address: "0x0309c98B1bffA350bcb3F9fB9780970CA32a5060", chain: "ETH", @@ -111,16 +101,6 @@ export const list = { "https://storage.googleapis.com/token-list-swapkit/images/eth.bdi-0x0309c98b1bffa350bcb3f9fb9780970ca32a5060.png", ticker: "BDI", }, - { - address: "0xF17e65822b568B3903685a7c9F496CF7656Cc6C2", - chain: "ETH", - chainId: "1", - decimals: 18, - identifier: "ETH.BICO-0XF17E65822B568B3903685A7C9F496CF7656CC6C2", - logoURI: - "https://storage.googleapis.com/token-list-swapkit/images/eth.bico-0xf17e65822b568b3903685a7c9f496cf7656cc6c2.png", - ticker: "BICO", - }, { address: "0x1A4b46696b2bB4794Eb3D4c26f1c55F9170fa4C5", chain: "ETH", @@ -181,16 +161,6 @@ export const list = { "https://storage.googleapis.com/token-list-swapkit/images/eth.comp-0xc00e94cb662c3520282e6f5717214004a7f26888.png", ticker: "COMP", }, - { - address: "0x2ba592F78dB6436527729929AAf6c908497cB200", - chain: "ETH", - chainId: "1", - decimals: 18, - identifier: "ETH.CREAM-0X2BA592F78DB6436527729929AAF6C908497CB200", - logoURI: - "https://storage.googleapis.com/token-list-swapkit/images/eth.cream-0x2ba592f78db6436527729929aaf6c908497cb200.png", - ticker: "CREAM", - }, { address: "0xD533a949740bb3306d119CC777fa900bA034cd52", chain: "ETH", @@ -221,26 +191,6 @@ export const list = { "https://storage.googleapis.com/token-list-swapkit/images/eth.dai-0x6b175474e89094c44da98b954eedeac495271d0f.png", ticker: "DAI", }, - { - address: "0xE00639A1f59B52773b7d39d9F9beF07F6248dbAe", - chain: "ETH", - chainId: "1", - decimals: 18, - identifier: "ETH.DAOX-0XE00639A1F59B52773B7D39D9F9BEF07F6248DBAE", - logoURI: - "https://storage.googleapis.com/token-list-swapkit/images/eth.daox-0xe00639a1f59b52773b7d39d9f9bef07f6248dbae.png", - ticker: "DAOX", - }, - { - address: "0x8f693ca8D21b157107184d29D398A8D082b38b76", - chain: "ETH", - chainId: "1", - decimals: 18, - identifier: "ETH.DATA-0X8F693CA8D21B157107184D29D398A8D082B38B76", - logoURI: - "https://storage.googleapis.com/token-list-swapkit/images/eth.data-0x8f693ca8d21b157107184d29d398a8d082b38b76.png", - ticker: "DATA", - }, { address: "0x9EA3b5b4EC044b70375236A281986106457b20EF", chain: "ETH", @@ -251,16 +201,6 @@ export const list = { "https://storage.googleapis.com/token-list-swapkit/images/eth.delta-0x9ea3b5b4ec044b70375236a281986106457b20ef.png", ticker: "DELTA", }, - { - address: "0x84cA8bc7997272c7CfB4D0Cd3D55cd942B3c9419", - chain: "ETH", - chainId: "1", - decimals: 18, - identifier: "ETH.DIA-0X84CA8BC7997272C7CFB4D0CD3D55CD942B3C9419", - logoURI: - "https://storage.googleapis.com/token-list-swapkit/images/eth.dia-0x84ca8bc7997272c7cfb4d0cd3d55cd942b3c9419.png", - ticker: "DIA", - }, { address: "0x798D1bE841a82a273720CE31c822C61a67a601C3", chain: "ETH", @@ -271,16 +211,6 @@ export const list = { "https://storage.googleapis.com/token-list-swapkit/images/eth.digg-0x798d1be841a82a273720ce31c822c61a67a601c3.png", ticker: "DIGG", }, - { - address: "0xBAac2B4491727D78D2b78815144570b9f2Fe8899", - chain: "ETH", - chainId: "1", - decimals: 18, - identifier: "ETH.DOG-0XBAAC2B4491727D78D2B78815144570B9F2FE8899", - logoURI: - "https://storage.googleapis.com/token-list-swapkit/images/eth.dog-0xbaac2b4491727d78d2b78815144570b9f2fe8899.png", - ticker: "DOG", - }, { address: "0x1559FA1b8F28238FD5D76D9f434ad86FD20D1559", chain: "ETH", @@ -291,16 +221,6 @@ export const list = { "https://storage.googleapis.com/token-list-swapkit/images/eth.eden-0x1559fa1b8f28238fd5d76d9f434ad86fd20d1559.png", ticker: "EDEN", }, - { - address: "0x35fA164735182de50811E8e2E824cFb9B6118ac2", - chain: "ETH", - chainId: "1", - decimals: 18, - identifier: "ETH.EETH-0X35FA164735182DE50811E8E2E824CFB9B6118AC2", - logoURI: - "https://storage.googleapis.com/token-list-swapkit/images/eth.eeth-0x35fa164735182de50811e8e2e824cfb9b6118ac2.png", - ticker: "EETH", - }, { address: "0xC18360217D8F7Ab5e7c516566761Ea12Ce7F9D72", chain: "ETH", @@ -321,16 +241,6 @@ export const list = { "https://storage.googleapis.com/token-list-swapkit/images/eth.float-0xb05097849bca421a3f51b249ba6cca4af4b97cb9.png", ticker: "FLOAT", }, - { - address: "0x853d955aCEf822Db058eb8505911ED77F175b99e", - chain: "ETH", - chainId: "1", - decimals: 18, - identifier: "ETH.FRAX-0X853D955ACEF822DB058EB8505911ED77F175B99E", - logoURI: - "https://storage.googleapis.com/token-list-swapkit/images/eth.frax-0x853d955acef822db058eb8505911ed77f175b99e.png", - ticker: "FRAX", - }, { address: "0x50D1c9771902476076eCFc8B2A83Ad6b9355a4c9", chain: "ETH", @@ -481,16 +391,6 @@ export const list = { "https://storage.googleapis.com/token-list-swapkit/images/eth.lon-0x0000000000095413afc295d19edeb1ad7b71c952.png", ticker: "LON", }, - { - address: "0xb9d4B6DC1e1Ee3577CC442dE015CC11F238B35ed", - chain: "ETH", - chainId: "1", - decimals: 18, - identifier: "ETH.MAG-0XB9D4B6DC1E1EE3577CC442DE015CC11F238B35ED", - logoURI: - "https://storage.googleapis.com/token-list-swapkit/images/eth.mag-0xb9d4b6dc1e1ee3577cc442de015cc11f238b35ed.png", - ticker: "MAG", - }, { address: "0x641927E970222B10b2E8CDBC96b1B4F427316f16", chain: "ETH", @@ -551,6 +451,16 @@ export const list = { "https://storage.googleapis.com/token-list-swapkit/images/eth.nfd-0xdfdb7f72c1f195c5951a234e8db9806eb0635346.png", ticker: "NFD", }, + { + address: "0x87d73E916D7057945c9BcD8cdd94e42A6F47f776", + chain: "ETH", + chainId: "1", + decimals: 18, + identifier: "ETH.NFTX-0X87D73E916D7057945C9BCD8CDD94E42A6F47F776", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/eth.nftx-0x87d73e916d7057945c9bcd8cdd94e42a6f47f776.png", + ticker: "NFTX", + }, { address: "0x967da4048cD07aB37855c090aAF366e4ce1b9F48", chain: "ETH", @@ -581,16 +491,6 @@ export const list = { "https://storage.googleapis.com/token-list-swapkit/images/eth.pad-0xea7cc765ebc94c4805e3bff28d7e4ae48d06468a.png", ticker: "PAD", }, - { - address: "0x808507121B80c02388fAd14726482e061B8da827", - chain: "ETH", - chainId: "1", - decimals: 18, - identifier: "ETH.PENDLE-0X808507121B80C02388FAD14726482E061B8DA827", - logoURI: - "https://storage.googleapis.com/token-list-swapkit/images/eth.pendle-0x808507121b80c02388fad14726482e061b8da827.png", - ticker: "PENDLE", - }, { address: "0x60bE1e1fE41c1370ADaF5d8e66f07Cf1C2Df2268", chain: "ETH", @@ -841,16 +741,6 @@ export const list = { "https://storage.googleapis.com/token-list-swapkit/images/eth.usdt-0xdac17f958d2ee523a2206206994597c13d831ec7.png", ticker: "USDT", }, - { - address: "0x135B810e48e4307AB2a59ea294A6f1724781bD3C", - chain: "ETH", - chainId: "1", - decimals: 18, - identifier: "ETH.WAN-0X135B810E48E4307AB2A59EA294A6F1724781BD3C", - logoURI: - "https://storage.googleapis.com/token-list-swapkit/images/eth.wan-0x135b810e48e4307ab2a59ea294a6f1724781bd3c.png", - ticker: "WAN", - }, { address: "0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599", chain: "ETH", @@ -901,16 +791,6 @@ export const list = { "https://storage.googleapis.com/token-list-swapkit/images/eth.wizard-0x87931e7ad81914e7898d07c68f145fc0a553d8fb.png", ticker: "WIZARD", }, - { - address: "0x69fa0feE221AD11012BAb0FdB45d444D3D2Ce71c", - chain: "ETH", - chainId: "1", - decimals: 18, - identifier: "ETH.XRUNE-0X69FA0FEE221AD11012BAB0FDB45D444D3D2CE71C", - logoURI: - "https://storage.googleapis.com/token-list-swapkit/images/eth.xrune-0x69fa0fee221ad11012bab0fdb45d444d3d2ce71c.png", - ticker: "XRUNE", - }, { address: "0x8798249c2E607446EfB7Ad49eC89dD1865Ff4272", chain: "ETH", diff --git a/packages/swapkit/tokens/src/tokenLists/thorchain.ts b/packages/swapkit/tokens/src/tokenLists/thorchain.ts index 609f9a893..f5d7996cd 100644 --- a/packages/swapkit/tokens/src/tokenLists/thorchain.ts +++ b/packages/swapkit/tokens/src/tokenLists/thorchain.ts @@ -2,14 +2,14 @@ export const list = { provider: "THORCHAIN", chainId: "thorchain-1", name: "THORCHAIN", - timestamp: "2025-01-22T13:31:17.516Z", + timestamp: "2025-02-07T19:02:14.131Z", version: { major: 1, minor: 0, patch: 0, }, keywords: [], - count: 68, + count: 69, tokens: [ { chain: "AVAX", @@ -314,6 +314,16 @@ export const list = { "https://storage.googleapis.com/token-list-swapkit/images/eth.xrune-0x69fa0fee221ad11012bab0fdb45d444d3d2ce71c.png", ticker: "XRUNE", }, + { + address: "0x0bc529c00c6401aef6d220be8c6ea1667f6ad93e", + chain: "ETH", + chainId: "1", + decimals: 18, + identifier: "ETH.YFI-0x0bc529c00c6401aef6d220be8c6ea1667f6ad93e", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/eth.yfi-0x0bc529c00c6401aef6d220be8c6ea1667f6ad93e.png", + ticker: "YFI", + }, { chain: "GAIA", chainId: "cosmoshub-4", diff --git a/packages/swapkit/tokens/src/tokenLists/traderjoe_v2.ts b/packages/swapkit/tokens/src/tokenLists/traderjoe_v2.ts index 0fd20320f..60a6e74d2 100644 --- a/packages/swapkit/tokens/src/tokenLists/traderjoe_v2.ts +++ b/packages/swapkit/tokens/src/tokenLists/traderjoe_v2.ts @@ -1,14 +1,14 @@ export const list = { provider: "TRADERJOE_V2", name: "TRADERJOE_V2", - timestamp: "2025-01-22T13:31:19.732Z", + timestamp: "2025-02-07T19:02:16.705Z", version: { major: 1, minor: 0, patch: 0, }, keywords: [], - count: 137, + count: 142, tokens: [ { address: "0x912CE59144191C1204E64559FE8253a0e49E6548", @@ -30,16 +30,6 @@ export const list = { "https://storage.googleapis.com/token-list-swapkit/images/arb.dai-0xda10009cbd5d07dd0cecc66161fc93d7c9000da1.png", ticker: "DAI", }, - { - address: "0xda71EA8ef58D015de8C5cEA8f7B890db3A103E67", - chain: "ARB", - chainId: "42161", - decimals: 18, - identifier: "ARB.EMDX-0XDA71EA8EF58D015DE8C5CEA8F7B890DB3A103E67", - logoURI: - "https://storage.googleapis.com/token-list-swapkit/images/arb.emdx-0xda71ea8ef58d015de8c5cea8f7b890db3a103e67.png", - ticker: "EMDX", - }, { address: "0x2416092f143378750bb29b79eD961ab195CcEea5", chain: "ARB", @@ -60,16 +50,6 @@ export const list = { "https://storage.googleapis.com/token-list-swapkit/images/arb.fusdc-0x4cfa50b7ce747e2d61724fcac57f24b748ff2b2a.png", ticker: "FUSDC", }, - { - address: "0xfc5A1A6EB076a2C7aD06eD22C90d7E710E35ad0a", - chain: "ARB", - chainId: "42161", - decimals: 18, - identifier: "ARB.GMX-0XFC5A1A6EB076A2C7AD06ED22C90D7E710E35AD0A", - logoURI: - "https://storage.googleapis.com/token-list-swapkit/images/arb.gmx-0xfc5a1a6eb076a2c7ad06ed22c90d7e710e35ad0a.png", - ticker: "GMX", - }, { address: "0x371c7ec6D8039ff7933a2AA28EB827Ffe1F52f07", chain: "ARB", @@ -80,16 +60,6 @@ export const list = { "https://storage.googleapis.com/token-list-swapkit/images/arb.joe-0x371c7ec6d8039ff7933a2aa28eb827ffe1f52f07.png", ticker: "JOE", }, - { - address: "0xf97f4df75117a78c1A5a0DBb814Af92458539FB4", - chain: "ARB", - chainId: "42161", - decimals: 18, - identifier: "ARB.LINK-0XF97F4DF75117A78C1A5A0DBB814AF92458539FB4", - logoURI: - "https://storage.googleapis.com/token-list-swapkit/images/arb.link-0xf97f4df75117a78c1a5a0dbb814af92458539fb4.png", - ticker: "LINK", - }, { address: "0x0c880f6761F1af8d9Aa9C466984b80DAb9a8c9e8", chain: "ARB", @@ -101,14 +71,14 @@ export const list = { ticker: "PENDLE", }, { - address: "0x6694340fc020c5E6B96567843da2df01b2CE1eb6", + address: "0xbc011A12Da28e8F0f528d9eE5E7039E22F91cf18", chain: "ARB", chainId: "42161", decimals: 18, - identifier: "ARB.STG-0X6694340FC020C5E6B96567843DA2DF01B2CE1EB6", + identifier: "ARB.SWETH-0XBC011A12DA28E8F0F528D9EE5E7039E22F91CF18", logoURI: - "https://storage.googleapis.com/token-list-swapkit/images/arb.stg-0x6694340fc020c5e6b96567843da2df01b2ce1eb6.png", - ticker: "STG", + "https://storage.googleapis.com/token-list-swapkit/images/arb.sweth-0xbc011a12da28e8f0f528d9ee5e7039e22f91cf18.png", + ticker: "SWETH", }, { address: "0xD56734d7f9979dD94FAE3d67C7e928234e71cD4C", @@ -240,46 +210,6 @@ export const list = { "https://storage.googleapis.com/token-list-swapkit/images/avax.ageur-0xaec8318a9a59baeb39861d10ff6c7f7bf1f96c57.png", ticker: "AGEUR", }, - { - address: "0x13E7bceFddE72492E656f3fa58baE6029708e673", - chain: "AVAX", - chainId: "43114", - decimals: 18, - identifier: "AVAX.AGX-0X13E7BCEFDDE72492E656F3FA58BAE6029708E673", - logoURI: - "https://storage.googleapis.com/token-list-swapkit/images/avax.agx-0x13e7bcefdde72492e656f3fa58bae6029708e673.png", - ticker: "AGX", - }, - { - address: "0x13E7bceFddE72492E656f3fa58baE6029708e673", - chain: "AVAX", - chainId: "43114", - decimals: 18, - identifier: "AVAX.AGX-0X13E7BCEFDDE72492E656F3FA58BAE6029708E673", - logoURI: - "https://storage.googleapis.com/token-list-swapkit/images/avax.agx-0x13e7bcefdde72492e656f3fa58bae6029708e673.png", - ticker: "AGX", - }, - { - address: "0x79Ea4E536f598dCd67C76Ee3829f84AB9E72A558", - chain: "AVAX", - chainId: "43114", - decimals: 18, - identifier: "AVAX.AI9000-0X79EA4E536F598DCD67C76EE3829F84AB9E72A558", - logoURI: - "https://storage.googleapis.com/token-list-swapkit/images/avax.ai9000-0x79ea4e536f598dcd67c76ee3829f84ab9e72a558.png", - ticker: "AI9000", - }, - { - address: "0x79Ea4E536f598dCd67C76Ee3829f84AB9E72A558", - chain: "AVAX", - chainId: "43114", - decimals: 18, - identifier: "AVAX.AI9000-0X79EA4E536F598DCD67C76EE3829F84AB9E72A558", - logoURI: - "https://storage.googleapis.com/token-list-swapkit/images/avax.ai9000-0x79ea4e536f598dcd67c76ee3829f84ab9e72a558.png", - ticker: "AI9000", - }, { address: "0x093783055F9047C2BfF99c4e414501F8A147bC69", chain: "AVAX", @@ -340,6 +270,26 @@ export const list = { "https://storage.googleapis.com/token-list-swapkit/images/avax.arena-0xb8d7710f7d8349a506b75dd184f05777c82dad0c.png", ticker: "ARENA", }, + { + address: "0x5c5e384Bd4e36724B2562cCAA582aFd125277C9B", + chain: "AVAX", + chainId: "43114", + decimals: 18, + identifier: "AVAX.ARROW-0X5C5E384BD4E36724B2562CCAA582AFD125277C9B", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/avax.arrow-0x5c5e384bd4e36724b2562ccaa582afd125277c9b.png", + ticker: "ARROW", + }, + { + address: "0x5c5e384Bd4e36724B2562cCAA582aFd125277C9B", + chain: "AVAX", + chainId: "43114", + decimals: 18, + identifier: "AVAX.ARROW-0X5C5E384BD4E36724B2562CCAA582AFD125277C9B", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/avax.arrow-0x5c5e384bd4e36724b2562ccaa582afd125277c9b.png", + ticker: "ARROW", + }, { address: "0x00000000eFE302BEAA2b3e6e1b18d08D69a9012a", chain: "AVAX", @@ -401,84 +351,84 @@ export const list = { ticker: "AUX", }, { - address: "0x62D0A8458eD7719FDAF978fe5929C6D342B0bFcE", + address: "0x8c8d2a7d8d9CF26F5ee1BbFc0bA56e93F4A4A7aC", chain: "AVAX", chainId: "43114", decimals: 18, - identifier: "AVAX.BEAM-0X62D0A8458ED7719FDAF978FE5929C6D342B0BFCE", + identifier: "AVAX.AVAXAI-0X8C8D2A7D8D9CF26F5EE1BBFC0BA56E93F4A4A7AC", logoURI: - "https://storage.googleapis.com/token-list-swapkit/images/avax.beam-0x62d0a8458ed7719fdaf978fe5929c6d342b0bfce.png", - ticker: "BEAM", + "https://storage.googleapis.com/token-list-swapkit/images/avax.avaxai-0x8c8d2a7d8d9cf26f5ee1bbfc0ba56e93f4a4a7ac.png", + ticker: "AVAXAI", }, { - address: "0x62D0A8458eD7719FDAF978fe5929C6D342B0bFcE", + address: "0x8c8d2a7d8d9CF26F5ee1BbFc0bA56e93F4A4A7aC", chain: "AVAX", chainId: "43114", decimals: 18, - identifier: "AVAX.BEAM-0X62D0A8458ED7719FDAF978FE5929C6D342B0BFCE", + identifier: "AVAX.AVAXAI-0X8C8D2A7D8D9CF26F5EE1BBFC0BA56E93F4A4A7AC", logoURI: - "https://storage.googleapis.com/token-list-swapkit/images/avax.beam-0x62d0a8458ed7719fdaf978fe5929c6d342b0bfce.png", - ticker: "BEAM", + "https://storage.googleapis.com/token-list-swapkit/images/avax.avaxai-0x8c8d2a7d8d9cf26f5ee1bbfc0ba56e93f4a4a7ac.png", + ticker: "AVAXAI", }, { - address: "0xCA30c93B02514f86d5C86a6e375E3A330B435Fb5", + address: "0x24dE8771bC5DdB3362Db529Fc3358F2df3A0E346", chain: "AVAX", chainId: "43114", decimals: 18, - identifier: "AVAX.BIB01-0XCA30C93B02514F86D5C86A6E375E3A330B435FB5", + identifier: "AVAX.AVUSD-0X24DE8771BC5DDB3362DB529FC3358F2DF3A0E346", logoURI: - "https://storage.googleapis.com/token-list-swapkit/images/avax.bib01-0xca30c93b02514f86d5c86a6e375e3a330b435fb5.png", - ticker: "BIB01", + "https://storage.googleapis.com/token-list-swapkit/images/avax.avusd-0x24de8771bc5ddb3362db529fc3358f2df3a0e346.png", + ticker: "AVUSD", }, { - address: "0xCA30c93B02514f86d5C86a6e375E3A330B435Fb5", + address: "0x24dE8771bC5DdB3362Db529Fc3358F2df3A0E346", chain: "AVAX", chainId: "43114", decimals: 18, - identifier: "AVAX.BIB01-0XCA30C93B02514F86D5C86A6E375E3A330B435FB5", + identifier: "AVAX.AVUSD-0X24DE8771BC5DDB3362DB529FC3358F2DF3A0E346", logoURI: - "https://storage.googleapis.com/token-list-swapkit/images/avax.bib01-0xca30c93b02514f86d5c86a6e375e3a330b435fb5.png", - ticker: "BIB01", + "https://storage.googleapis.com/token-list-swapkit/images/avax.avusd-0x24de8771bc5ddb3362db529fc3358f2df3a0e346.png", + ticker: "AVUSD", }, { - address: "0xdBDd50997361522495EcFE57EBb6850dA0E4C699", + address: "0x62D0A8458eD7719FDAF978fe5929C6D342B0bFcE", chain: "AVAX", chainId: "43114", decimals: 18, - identifier: "AVAX.BNUSD-0XDBDD50997361522495ECFE57EBB6850DA0E4C699", + identifier: "AVAX.BEAM-0X62D0A8458ED7719FDAF978FE5929C6D342B0BFCE", logoURI: - "https://storage.googleapis.com/token-list-swapkit/images/avax.bnusd-0xdbdd50997361522495ecfe57ebb6850da0e4c699.png", - ticker: "BNUSD", + "https://storage.googleapis.com/token-list-swapkit/images/avax.beam-0x62d0a8458ed7719fdaf978fe5929c6d342b0bfce.png", + ticker: "BEAM", }, { - address: "0xdBDd50997361522495EcFE57EBb6850dA0E4C699", + address: "0x62D0A8458eD7719FDAF978fe5929C6D342B0bFcE", chain: "AVAX", chainId: "43114", decimals: 18, - identifier: "AVAX.BNUSD-0XDBDD50997361522495ECFE57EBB6850DA0E4C699", + identifier: "AVAX.BEAM-0X62D0A8458ED7719FDAF978FE5929C6D342B0BFCE", logoURI: - "https://storage.googleapis.com/token-list-swapkit/images/avax.bnusd-0xdbdd50997361522495ecfe57ebb6850da0e4c699.png", - ticker: "BNUSD", + "https://storage.googleapis.com/token-list-swapkit/images/avax.beam-0x62d0a8458ed7719fdaf978fe5929c6d342b0bfce.png", + ticker: "BEAM", }, { - address: "0xC07C98a93591504584738e4569928DDb3b9f12A7", + address: "0x2d0aFed89a6D6A100273Db377dBA7a32C739E314", chain: "AVAX", chainId: "43114", - decimals: 5, - identifier: "AVAX.BONK-0XC07C98A93591504584738E4569928DDB3B9F12A7", + decimals: 18, + identifier: "AVAX.BIG-0X2D0AFED89A6D6A100273DB377DBA7A32C739E314", logoURI: - "https://storage.googleapis.com/token-list-swapkit/images/avax.bonk-0xc07c98a93591504584738e4569928ddb3b9f12a7.png", - ticker: "BONK", + "https://storage.googleapis.com/token-list-swapkit/images/avax.big-0x2d0afed89a6d6a100273db377dba7a32c739e314.png", + ticker: "BIG", }, { - address: "0xC07C98a93591504584738e4569928DDb3b9f12A7", + address: "0x2d0aFed89a6D6A100273Db377dBA7a32C739E314", chain: "AVAX", chainId: "43114", - decimals: 5, - identifier: "AVAX.BONK-0XC07C98A93591504584738E4569928DDB3B9F12A7", + decimals: 18, + identifier: "AVAX.BIG-0X2D0AFED89A6D6A100273DB377DBA7A32C739E314", logoURI: - "https://storage.googleapis.com/token-list-swapkit/images/avax.bonk-0xc07c98a93591504584738e4569928ddb3b9f12a7.png", - ticker: "BONK", + "https://storage.googleapis.com/token-list-swapkit/images/avax.big-0x2d0afed89a6d6a100273db377dba7a32c739e314.png", + ticker: "BIG", }, { address: "0x152b9d0FdC40C096757F570A51E494bd4b943E50", @@ -520,6 +470,26 @@ export const list = { "https://storage.googleapis.com/token-list-swapkit/images/avax.busd-0x9c9e5fd8bbc25984b178fdce6117defa39d2db39.png", ticker: "BUSD", }, + { + address: "0xCAFE4aFB0f1D1A8aF4C6dF1FDe7Be88D15ae8bF4", + chain: "AVAX", + chainId: "43114", + decimals: 18, + identifier: "AVAX.CHAT-0XCAFE4AFB0F1D1A8AF4C6DF1FDE7BE88D15AE8BF4", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/avax.chat-0xcafe4afb0f1d1a8af4c6df1fde7be88d15ae8bf4.png", + ticker: "CHAT", + }, + { + address: "0xCAFE4aFB0f1D1A8aF4C6dF1FDe7Be88D15ae8bF4", + chain: "AVAX", + chainId: "43114", + decimals: 18, + identifier: "AVAX.CHAT-0XCAFE4AFB0F1D1A8AF4C6DF1FDE7BE88D15AE8BF4", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/avax.chat-0xcafe4afb0f1d1a8af4c6df1fde7be88d15ae8bf4.png", + ticker: "CHAT", + }, { address: "0x420FcA0121DC28039145009570975747295f2329", chain: "AVAX", @@ -700,6 +670,46 @@ export const list = { "https://storage.googleapis.com/token-list-swapkit/images/avax.ggp-0x69260b9483f9871ca57f81a90d91e2f96c2cd11d.png", ticker: "GGP", }, + { + address: "0x223a368Ad0E7396165FC629976d77596a51F155C", + chain: "AVAX", + chainId: "43114", + decimals: 18, + identifier: "AVAX.GURS-0X223A368AD0E7396165FC629976D77596A51F155C", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/avax.gurs-0x223a368ad0e7396165fc629976d77596a51f155c.png", + ticker: "GURS", + }, + { + address: "0x223a368Ad0E7396165FC629976d77596a51F155C", + chain: "AVAX", + chainId: "43114", + decimals: 18, + identifier: "AVAX.GURS-0X223A368AD0E7396165FC629976D77596A51F155C", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/avax.gurs-0x223a368ad0e7396165fc629976d77596a51f155c.png", + ticker: "GURS", + }, + { + address: "0x449Aee3A086E826380957FB9650dB2EDEF5ED25e", + chain: "AVAX", + chainId: "43114", + decimals: 18, + identifier: "AVAX.HH-0X449AEE3A086E826380957FB9650DB2EDEF5ED25E", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/avax.hh-0x449aee3a086e826380957fb9650db2edef5ed25e.png", + ticker: "HH", + }, + { + address: "0x449Aee3A086E826380957FB9650dB2EDEF5ED25e", + chain: "AVAX", + chainId: "43114", + decimals: 18, + identifier: "AVAX.HH-0X449AEE3A086E826380957FB9650DB2EDEF5ED25E", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/avax.hh-0x449aee3a086e826380957fb9650db2edef5ed25e.png", + ticker: "HH", + }, { address: "0xb014430ec5a7B56224e40850f2afBE10A5bd685d", chain: "AVAX", @@ -800,26 +810,6 @@ export const list = { "https://storage.googleapis.com/token-list-swapkit/images/avax.link.e-0x5947bb275c521040051d82396192181b413227a3.png", ticker: "LINK.E", }, - { - address: "0x6B6c18fb6C11Bc7877F1b061e638640faB4bC898", - chain: "AVAX", - chainId: "43114", - decimals: 8, - identifier: "AVAX.MILK-0X6B6C18FB6C11BC7877F1B061E638640FAB4BC898", - logoURI: - "https://storage.googleapis.com/token-list-swapkit/images/avax.milk-0x6b6c18fb6c11bc7877f1b061e638640fab4bc898.png", - ticker: "MILK", - }, - { - address: "0x6B6c18fb6C11Bc7877F1b061e638640faB4bC898", - chain: "AVAX", - chainId: "43114", - decimals: 8, - identifier: "AVAX.MILK-0X6B6C18FB6C11BC7877F1B061E638640FAB4BC898", - logoURI: - "https://storage.googleapis.com/token-list-swapkit/images/avax.milk-0x6b6c18fb6c11bc7877f1b061e638640fab4bc898.png", - ticker: "MILK", - }, { address: "0x130966628846BFd36ff31a822705796e8cb8C18D", chain: "AVAX", @@ -860,6 +850,26 @@ export const list = { "https://storage.googleapis.com/token-list-swapkit/images/avax.nochill-0xacfb898cff266e53278cc0124fc2c7c94c8cb9a5.png", ticker: "NOCHILL", }, + { + address: "0x7a842193D291840FC38B45f991c5B8cC908f8A7C", + chain: "AVAX", + chainId: "43114", + decimals: 18, + identifier: "AVAX.PLSR-0X7A842193D291840FC38B45F991C5B8CC908F8A7C", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/avax.plsr-0x7a842193d291840fc38b45f991c5b8cc908f8a7c.png", + ticker: "PLSR", + }, + { + address: "0x7a842193D291840FC38B45f991c5B8cC908f8A7C", + chain: "AVAX", + chainId: "43114", + decimals: 18, + identifier: "AVAX.PLSR-0X7A842193D291840FC38B45F991C5B8CC908F8A7C", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/avax.plsr-0x7a842193d291840fc38b45f991c5b8cc908f8a7c.png", + ticker: "PLSR", + }, { address: "0x33C8036E99082B0C395374832FECF70c42C7F298", chain: "AVAX", @@ -901,24 +911,24 @@ export const list = { ticker: "QI", }, { - address: "0xb2a85C5ECea99187A977aC34303b80AcbDdFa208", + address: "0xAFc1D137a8F0764833d2E74eFb2F0b171BC2cd87", chain: "AVAX", chainId: "43114", decimals: 18, - identifier: "AVAX.ROCO-0XB2A85C5ECEA99187A977AC34303B80ACBDDFA208", + identifier: "AVAX.REDWOLF-0XAFC1D137A8F0764833D2E74EFB2F0B171BC2CD87", logoURI: - "https://storage.googleapis.com/token-list-swapkit/images/avax.roco-0xb2a85c5ecea99187a977ac34303b80acbddfa208.png", - ticker: "ROCO", + "https://storage.googleapis.com/token-list-swapkit/images/avax.redwolf-0xafc1d137a8f0764833d2e74efb2f0b171bc2cd87.png", + ticker: "REDWOLF", }, { - address: "0xb2a85C5ECea99187A977aC34303b80AcbDdFa208", + address: "0xAFc1D137a8F0764833d2E74eFb2F0b171BC2cd87", chain: "AVAX", chainId: "43114", decimals: 18, - identifier: "AVAX.ROCO-0XB2A85C5ECEA99187A977AC34303B80ACBDDFA208", + identifier: "AVAX.REDWOLF-0XAFC1D137A8F0764833D2E74EFB2F0B171BC2CD87", logoURI: - "https://storage.googleapis.com/token-list-swapkit/images/avax.roco-0xb2a85c5ecea99187a977ac34303b80acbddfa208.png", - ticker: "ROCO", + "https://storage.googleapis.com/token-list-swapkit/images/avax.redwolf-0xafc1d137a8f0764833d2e74efb2f0b171bc2cd87.png", + ticker: "REDWOLF", }, { address: "0xDf788AD40181894dA035B827cDF55C523bf52F67", @@ -960,6 +970,26 @@ export const list = { "https://storage.googleapis.com/token-list-swapkit/images/avax.savax-0x2b2c81e08f1af8835a78bb2a90ae924ace0ea4be.png", ticker: "SAVAX", }, + { + address: "0x06d47F3fb376649c3A9Dafe069B3D6E35572219E", + chain: "AVAX", + chainId: "43114", + decimals: 18, + identifier: "AVAX.SAVUSD-0X06D47F3FB376649C3A9DAFE069B3D6E35572219E", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/avax.savusd-0x06d47f3fb376649c3a9dafe069b3d6e35572219e.png", + ticker: "SAVUSD", + }, + { + address: "0x06d47F3fb376649c3A9Dafe069B3D6E35572219E", + chain: "AVAX", + chainId: "43114", + decimals: 18, + identifier: "AVAX.SAVUSD-0X06D47F3FB376649C3A9DAFE069B3D6E35572219E", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/avax.savusd-0x06d47f3fb376649c3a9dafe069b3d6e35572219e.png", + ticker: "SAVUSD", + }, { address: "0xd402298a793948698b9a63311404FBBEe944eAfD", chain: "AVAX", @@ -1021,44 +1051,44 @@ export const list = { ticker: "SOLVBTC", }, { - address: "0xCC0966D8418d412c599A6421b760a847eB169A8c", + address: "0x3c780F5cBF94De3EFCec964Af928D08c4508EeBE", chain: "AVAX", chainId: "43114", decimals: 18, - identifier: "AVAX.SOLVBTC.BBN-0XCC0966D8418D412C599A6421B760A847EB169A8C", + identifier: "AVAX.SPACEM-0X3C780F5CBF94DE3EFCEC964AF928D08C4508EEBE", logoURI: - "https://storage.googleapis.com/token-list-swapkit/images/avax.solvbtc.bbn-0xcc0966d8418d412c599a6421b760a847eb169a8c.png", - ticker: "SOLVBTC.BBN", + "https://storage.googleapis.com/token-list-swapkit/images/avax.spacem-0x3c780f5cbf94de3efcec964af928d08c4508eebe.png", + ticker: "SPACEM", }, { - address: "0xCC0966D8418d412c599A6421b760a847eB169A8c", + address: "0x3c780F5cBF94De3EFCec964Af928D08c4508EeBE", chain: "AVAX", chainId: "43114", decimals: 18, - identifier: "AVAX.SOLVBTC.BBN-0XCC0966D8418D412C599A6421B760A847EB169A8C", + identifier: "AVAX.SPACEM-0X3C780F5CBF94DE3EFCEC964AF928D08C4508EEBE", logoURI: - "https://storage.googleapis.com/token-list-swapkit/images/avax.solvbtc.bbn-0xcc0966d8418d412c599a6421b760a847eb169a8c.png", - ticker: "SOLVBTC.BBN", + "https://storage.googleapis.com/token-list-swapkit/images/avax.spacem-0x3c780f5cbf94de3efcec964af928d08c4508eebe.png", + ticker: "SPACEM", }, { - address: "0x3c780F5cBF94De3EFCec964Af928D08c4508EeBE", + address: "0x5Ac04b69bDE6f67C0bd5D6bA6fD5D816548b066a", chain: "AVAX", chainId: "43114", decimals: 18, - identifier: "AVAX.SPACEM-0X3C780F5CBF94DE3EFCEC964AF928D08C4508EEBE", + identifier: "AVAX.TECH-0X5AC04B69BDE6F67C0BD5D6BA6FD5D816548B066A", logoURI: - "https://storage.googleapis.com/token-list-swapkit/images/avax.spacem-0x3c780f5cbf94de3efcec964af928d08c4508eebe.png", - ticker: "SPACEM", + "https://storage.googleapis.com/token-list-swapkit/images/avax.tech-0x5ac04b69bde6f67c0bd5d6ba6fd5d816548b066a.png", + ticker: "TECH", }, { - address: "0x3c780F5cBF94De3EFCec964Af928D08c4508EeBE", + address: "0x5Ac04b69bDE6f67C0bd5D6bA6fD5D816548b066a", chain: "AVAX", chainId: "43114", decimals: 18, - identifier: "AVAX.SPACEM-0X3C780F5CBF94DE3EFCEC964AF928D08C4508EEBE", + identifier: "AVAX.TECH-0X5AC04B69BDE6F67C0BD5D6BA6FD5D816548B066A", logoURI: - "https://storage.googleapis.com/token-list-swapkit/images/avax.spacem-0x3c780f5cbf94de3efcec964af928d08c4508eebe.png", - ticker: "SPACEM", + "https://storage.googleapis.com/token-list-swapkit/images/avax.tech-0x5ac04b69bde6f67c0bd5d6ba6fd5d816548b066a.png", + ticker: "TECH", }, { address: "0xA80F36BA18c7f721F3F7ACDbcDEfd3a86869A036", @@ -1181,44 +1211,44 @@ export const list = { ticker: "USDV", }, { - address: "0x281027C6a46142D6FC57f12665147221CE69Af33", + address: "0x1c7c53aa86B49A28C627B6450091998e447A42f9", chain: "AVAX", chainId: "43114", decimals: 18, - identifier: "AVAX.UVT-0X281027C6A46142D6FC57F12665147221CE69AF33", + identifier: "AVAX.VELAI-0X1C7C53AA86B49A28C627B6450091998E447A42F9", logoURI: - "https://storage.googleapis.com/token-list-swapkit/images/avax.uvt-0x281027c6a46142d6fc57f12665147221ce69af33.png", - ticker: "UVT", + "https://storage.googleapis.com/token-list-swapkit/images/avax.velai-0x1c7c53aa86b49a28c627b6450091998e447a42f9.png", + ticker: "VELAI", }, { - address: "0x281027C6a46142D6FC57f12665147221CE69Af33", + address: "0x1c7c53aa86B49A28C627B6450091998e447A42f9", chain: "AVAX", chainId: "43114", decimals: 18, - identifier: "AVAX.UVT-0X281027C6A46142D6FC57F12665147221CE69AF33", + identifier: "AVAX.VELAI-0X1C7C53AA86B49A28C627B6450091998E447A42F9", logoURI: - "https://storage.googleapis.com/token-list-swapkit/images/avax.uvt-0x281027c6a46142d6fc57f12665147221ce69af33.png", - ticker: "UVT", + "https://storage.googleapis.com/token-list-swapkit/images/avax.velai-0x1c7c53aa86b49a28c627b6450091998e447a42f9.png", + ticker: "VELAI", }, { - address: "0xa77e70d0Af1Ac7fF86726740dB1Bd065c3566937", + address: "0x77776aB9495729E0939E9bADAf7E7c3312777777", chain: "AVAX", chainId: "43114", decimals: 18, - identifier: "AVAX.W3ULL-0XA77E70D0AF1AC7FF86726740DB1BD065C3566937", + identifier: "AVAX.WABBIT-0X77776AB9495729E0939E9BADAF7E7C3312777777", logoURI: - "https://storage.googleapis.com/token-list-swapkit/images/avax.w3ull-0xa77e70d0af1ac7ff86726740db1bd065c3566937.png", - ticker: "W3ULL", + "https://storage.googleapis.com/token-list-swapkit/images/avax.wabbit-0x77776ab9495729e0939e9badaf7e7c3312777777.png", + ticker: "WABBIT", }, { - address: "0xa77e70d0Af1Ac7fF86726740dB1Bd065c3566937", + address: "0x77776aB9495729E0939E9bADAf7E7c3312777777", chain: "AVAX", chainId: "43114", decimals: 18, - identifier: "AVAX.W3ULL-0XA77E70D0AF1AC7FF86726740DB1BD065C3566937", + identifier: "AVAX.WABBIT-0X77776AB9495729E0939E9BADAF7E7C3312777777", logoURI: - "https://storage.googleapis.com/token-list-swapkit/images/avax.w3ull-0xa77e70d0af1ac7ff86726740db1bd065c3566937.png", - ticker: "W3ULL", + "https://storage.googleapis.com/token-list-swapkit/images/avax.wabbit-0x77776ab9495729e0939e9badaf7e7c3312777777.png", + ticker: "WABBIT", }, { address: "0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7", @@ -1300,6 +1330,26 @@ export const list = { "https://storage.googleapis.com/token-list-swapkit/images/avax.weth.e-0x49d5c2bdffac6ce2bfdb6640f4f80f226bc10bab.png", ticker: "WETH.E", }, + { + address: "0x4F94b8AEF08c92fEfe416af073F1Df1E284438EC", + chain: "AVAX", + chainId: "43114", + decimals: 18, + identifier: "AVAX.WOLF-0X4F94B8AEF08C92FEFE416AF073F1DF1E284438EC", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/avax.wolf-0x4f94b8aef08c92fefe416af073f1df1e284438ec.png", + ticker: "WOLF", + }, + { + address: "0x4F94b8AEF08c92fEfe416af073F1Df1E284438EC", + chain: "AVAX", + chainId: "43114", + decimals: 18, + identifier: "AVAX.WOLF-0X4F94B8AEF08C92FEFE416AF073F1DF1E284438EC", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/avax.wolf-0x4f94b8aef08c92fefe416af073f1df1e284438ec.png", + ticker: "WOLF", + }, { address: "0xd1c3f94DE7e5B45fa4eDBBA472491a9f4B166FC4", chain: "AVAX", diff --git a/packages/swapkit/tokens/src/tokenLists/uniswap_v2.ts b/packages/swapkit/tokens/src/tokenLists/uniswap_v2.ts index 30abd084b..11f974253 100644 --- a/packages/swapkit/tokens/src/tokenLists/uniswap_v2.ts +++ b/packages/swapkit/tokens/src/tokenLists/uniswap_v2.ts @@ -2,14 +2,14 @@ export const list = { provider: "UNISWAP_V2", name: "Uniswap Labs Default", tags: {}, - timestamp: "2025-01-16T18:03:49.336Z", + timestamp: "2025-02-06T21:52:13.818Z", version: { major: 13, - minor: 0, + minor: 5, patch: 0, }, keywords: ["uniswap", "default"], - count: 558, + count: 564, tokens: [ { address: "0x6314C31A7a1652cE482cffe247E9CB7c3f4BB9aF", @@ -261,6 +261,16 @@ export const list = { "https://storage.googleapis.com/token-list-swapkit/images/arb.bit-0x406c8db506653d882295875f633bec0beb921c2a.png", ticker: "BIT", }, + { + address: "0xf7e17BA61973bcDB61f471eFb989E47d13bD565D", + chain: "ARB", + chainId: "42161", + decimals: 8, + identifier: "ARB.BITCOIN-0xf7e17BA61973bcDB61f471eFb989E47d13bD565D", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/arb.bitcoin-0xf7e17ba61973bcdb61f471efb989e47d13bd565d.png", + ticker: "BITCOIN", + }, { address: "0xEf171a5BA71348eff16616fd692855c2Fe606EB2", chain: "ARB", @@ -531,16 +541,6 @@ export const list = { "https://storage.googleapis.com/token-list-swapkit/images/arb.disn-0x9b69a41a5a66ad5105ca3b7057782cb84bbb1b96.png", ticker: "DISN", }, - { - address: "0x3ceae807e88365f39b0e1e3b4b199aef541443b5", - chain: "ARB", - chainId: "42161", - decimals: 18, - identifier: "ARB.DKP-0x3ceae807e88365f39b0e1e3b4b199aef541443b5", - logoURI: - "https://storage.googleapis.com/token-list-swapkit/images/arb.dkp-0x3ceae807e88365f39b0e1e3b4b199aef541443b5.png", - ticker: "DKP", - }, { address: "0xE3696a02b2C9557639E29d829E9C45EFa49aD47A", chain: "ARB", @@ -551,16 +551,6 @@ export const list = { "https://storage.googleapis.com/token-list-swapkit/images/arb.dnt-0xe3696a02b2c9557639e29d829e9c45efa49ad47a.png", ticker: "DNT", }, - { - address: "0x4425742f1ec8d98779690b5a3a6276db85ddc01a", - chain: "ARB", - chainId: "42161", - decimals: 18, - identifier: "ARB.DOG-0x4425742f1ec8d98779690b5a3a6276db85ddc01a", - logoURI: - "https://storage.googleapis.com/token-list-swapkit/images/arb.dog-0x4425742f1ec8d98779690b5a3a6276db85ddc01a.png", - ticker: "DOG", - }, { address: "0x4667cf53C4eDF659E402B733BEA42B18B68dd74c", chain: "ARB", @@ -721,6 +711,16 @@ export const list = { "https://storage.googleapis.com/token-list-swapkit/images/arb.floki-0xa8c25fdc09763a176353cc6a76882e05b4905fae.png", ticker: "FLOKI", }, + { + address: "0x63806C056Fa458c548Fb416B15E358A9D685710A", + chain: "ARB", + chainId: "42161", + decimals: 18, + identifier: "ARB.FLUX-0x63806C056Fa458c548Fb416B15E358A9D685710A", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/arb.flux-0x63806c056fa458c548fb416b15e358a9d685710a.png", + ticker: "FLUX", + }, { address: "0x3A1429d50E0cBBc45c997aF600541Fe1cc3D2923", chain: "ARB", @@ -911,6 +911,16 @@ export const list = { "https://storage.googleapis.com/token-list-swapkit/images/arb.jasmy-0x25f05699548d3a0820b99f93c10c8bb573e27083.png", ticker: "JASMY", }, + { + address: "0xf75eE6D319741057a82a88Eeff1DbAFAB7307b69", + chain: "ARB", + chainId: "42161", + decimals: 18, + identifier: "ARB.KRL-0xf75eE6D319741057a82a88Eeff1DbAFAB7307b69", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/arb.krl-0xf75ee6d319741057a82a88eeff1dbafab7307b69.png", + ticker: "KRL", + }, { address: "0x3A18dcC9745eDcD1Ef33ecB93b0b6eBA5671e7Ca", chain: "ARB", @@ -1011,16 +1021,6 @@ export const list = { "https://storage.googleapis.com/token-list-swapkit/images/arb.mana-0x442d24578a564ef628a65e6a7e3e7be2a165e231.png", ticker: "MANA", }, - { - address: "0x727e7a24ad4fae30e37c3a23beb08b8f4cf1f375", - chain: "ARB", - chainId: "42161", - decimals: 9, - identifier: "ARB.MARQ-0x727e7a24ad4fae30e37c3a23beb08b8f4cf1f375", - logoURI: - "https://storage.googleapis.com/token-list-swapkit/images/arb.marq-0x727e7a24ad4fae30e37c3a23beb08b8f4cf1f375.png", - ticker: "MARQ", - }, { address: "0x533A7B414CD1236815a5e09F1E97FC7d5c313739", chain: "ARB", @@ -1611,16 +1611,6 @@ export const list = { "https://storage.googleapis.com/token-list-swapkit/images/arb.t-0x0945cae3ae47cb384b2d47bc448dc6a9dec21f55.png", ticker: "T", }, - { - address: "0x2249905e396c71777fe1f92530fdecf762d51a7b", - chain: "ARB", - chainId: "42161", - decimals: 18, - identifier: "ARB.TB-0x2249905e396c71777fe1f92530fdecf762d51a7b", - logoURI: - "https://storage.googleapis.com/token-list-swapkit/images/arb.tb-0x2249905e396c71777fe1f92530fdecf762d51a7b.png", - ticker: "TB", - }, { address: "0x7E2a1eDeE171C5B19E6c54D73752396C0A572594", chain: "ARB", @@ -1721,6 +1711,16 @@ export const list = { "https://storage.googleapis.com/token-list-swapkit/images/arb.usdt-0xfd086bc7cd5c481dcc9c85ebe478a1c0b69fcbb9.png", ticker: "USDT", }, + { + address: "0x7639AB8599f1b417CbE4ceD492fB30162140AbbB", + chain: "ARB", + chainId: "42161", + decimals: 18, + identifier: "ARB.USUAL-0x7639AB8599f1b417CbE4ceD492fB30162140AbbB", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/arb.usual-0x7639ab8599f1b417cbe4ced492fb30162140abbb.png", + ticker: "USUAL", + }, { address: "0x1c8Ec4DE3c2BFD3050695D89853EC6d78AE650bb", chain: "ARB", @@ -1781,16 +1781,6 @@ export const list = { "https://storage.googleapis.com/token-list-swapkit/images/arb.xsgd-0xa05245ade25cc1063ee50cf7c083b4524c1c4302.png", ticker: "XSGD", }, - { - address: "0xbd0201617ca23b9489feec0aafb4e000ad108807", - chain: "ARB", - chainId: "42161", - decimals: 18, - identifier: "ARB.XUN-0xbd0201617ca23b9489feec0aafb4e000ad108807", - logoURI: - "https://storage.googleapis.com/token-list-swapkit/images/arb.xun-0xbd0201617ca23b9489feec0aafb4e000ad108807.png", - ticker: "XUN", - }, { address: "0x82e3A8F066a6989666b031d916c43672085b1582", chain: "ARB", @@ -2341,6 +2331,16 @@ export const list = { "https://storage.googleapis.com/token-list-swapkit/images/eth.bigtime-0x64bc2ca1be492be7185faa2c8835d9b824c8a194.png", ticker: "BIGTIME", }, + { + address: "0xcb1592591996765Ec0eFc1f92599A19767ee5ffA", + chain: "ETH", + chainId: "1", + decimals: 18, + identifier: "ETH.BIO-0xcb1592591996765Ec0eFc1f92599A19767ee5ffA", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/eth.bio-0xcb1592591996765ec0efc1f92599a19767ee5ffa.png", + ticker: "BIO", + }, { address: "0x1A4b46696b2bB4794Eb3D4c26f1c55F9170fa4C5", chain: "ETH", @@ -2351,6 +2351,16 @@ export const list = { "https://storage.googleapis.com/token-list-swapkit/images/eth.bit-0x1a4b46696b2bb4794eb3d4c26f1c55f9170fa4c5.png", ticker: "BIT", }, + { + address: "0x72e4f9F808C49A2a61dE9C5896298920Dc4EEEa9", + chain: "ETH", + chainId: "1", + decimals: 8, + identifier: "ETH.BITCOIN-0x72e4f9F808C49A2a61dE9C5896298920Dc4EEEa9", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/eth.bitcoin-0x72e4f9f808c49a2a61de9c5896298920dc4eeea9.png", + ticker: "BITCOIN", + }, { address: "0x5283D291DBCF85356A21bA090E6db59121208b44", chain: "ETH", @@ -2381,16 +2391,6 @@ export const list = { "https://storage.googleapis.com/token-list-swapkit/images/eth.bnt-0x1f573d6fb3f13d689ff844b4ce37794d79a7ff1c.png", ticker: "BNT", }, - { - address: "0x7d8146cf21e8d7cbe46054e01588207b51198729", - chain: "ETH", - chainId: "1", - decimals: 18, - identifier: "ETH.BOB-0x7d8146cf21e8d7cbe46054e01588207b51198729", - logoURI: - "https://storage.googleapis.com/token-list-swapkit/images/eth.bob-0x7d8146cf21e8d7cbe46054e01588207b51198729.png", - ticker: "BOB", - }, { address: "0x42bBFa2e77757C645eeaAd1655E0911a7553Efbc", chain: "ETH", @@ -2431,6 +2431,26 @@ export const list = { "https://storage.googleapis.com/token-list-swapkit/images/eth.botto-0x9dfad1b7102d46b1b197b90095b5c4e9f5845bba.png", ticker: "BOTTO", }, + { + address: "0x52d904eff2605463c2f0b338d34abc9b7c3e3b08", + chain: "ETH", + chainId: "1", + decimals: 18, + identifier: "ETH.BPP-0x52d904eff2605463c2f0b338d34abc9b7c3e3b08", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/eth.bpp-0x52d904eff2605463c2f0b338d34abc9b7c3e3b08.png", + ticker: "BPP", + }, + { + address: "0x509a38b7a1cc0dcd83aa9d06214663d9ec7c7f4a", + chain: "ETH", + chainId: "1", + decimals: 18, + identifier: "ETH.BST-0x509a38b7a1cc0dcd83aa9d06214663d9ec7c7f4a", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/eth.bst-0x509a38b7a1cc0dcd83aa9d06214663d9ec7c7f4a.png", + ticker: "BST", + }, { address: "0x799ebfABE77a6E34311eeEe9825190B9ECe32824", chain: "ETH", @@ -2961,6 +2981,16 @@ export const list = { "https://storage.googleapis.com/token-list-swapkit/images/eth.eurq-0x8df723295214ea6f21026eeeb4382d475f146f9f.png", ticker: "EURQ", }, + { + address: "0x50753CfAf86c094925Bf976f218D043f8791e408", + chain: "ETH", + chainId: "1", + decimals: 6, + identifier: "ETH.EURR-0x50753CfAf86c094925Bf976f218D043f8791e408", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/eth.eurr-0x50753cfaf86c094925bf976f218d043f8791e408.png", + ticker: "EURR", + }, { address: "0x9af15d7b8776fa296019979e70a5be53c714a7ec", chain: "ETH", @@ -3021,6 +3051,26 @@ export const list = { "https://storage.googleapis.com/token-list-swapkit/images/eth.floki-0xcf0c122c6b73ff809c693db761e7baebe62b6a2e.png", ticker: "FLOKI", }, + { + address: "0x4f08705fb8f33affc231ed66e626b40e84a71870", + chain: "ETH", + chainId: "1", + decimals: 11, + identifier: "ETH.FLUT-0x4f08705fb8f33affc231ed66e626b40e84a71870", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/eth.flut-0x4f08705fb8f33affc231ed66e626b40e84a71870.png", + ticker: "FLUT", + }, + { + address: "0x720CD16b011b987Da3518fbf38c3071d4F0D1495", + chain: "ETH", + chainId: "1", + decimals: 18, + identifier: "ETH.FLUX-0x720CD16b011b987Da3518fbf38c3071d4F0D1495", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/eth.flux-0x720cd16b011b987da3518fbf38c3071d4f0d1495.png", + ticker: "FLUX", + }, { address: "0x41545f8b9472D758bB669ed8EaEEEcD7a9C4Ec29", chain: "ETH", @@ -3331,6 +3381,16 @@ export const list = { "https://storage.googleapis.com/token-list-swapkit/images/eth.hopr-0xf5581dfefd8fb0e4aec526be659cfab1f8c781da.png", ticker: "HOPR", }, + { + address: "0x61ec85ab89377db65762e234c946b5c25a56e99e", + chain: "ETH", + chainId: "1", + decimals: 18, + identifier: "ETH.HTX-0x61ec85ab89377db65762e234c946b5c25a56e99e", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/eth.htx-0x61ec85ab89377db65762e234c946b5c25a56e99e.png", + ticker: "HTX", + }, { address: "0xB705268213D593B8FD88d3FDEFF93AFF5CbDcfAE", chain: "ETH", @@ -3401,6 +3461,16 @@ export const list = { "https://storage.googleapis.com/token-list-swapkit/images/eth.iotx-0x6fb3e0a217407efff7ca062d46c26e5d60a14d69.png", ticker: "IOTX", }, + { + address: "0x73d7c860998ca3c01ce8c808f5577d94d545d1b4", + chain: "ETH", + chainId: "1", + decimals: 18, + identifier: "ETH.IXS-0x73d7c860998ca3c01ce8c808f5577d94d545d1b4", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/eth.ixs-0x73d7c860998ca3c01ce8c808f5577d94d545d1b4.png", + ticker: "IXS", + }, { address: "0x23894DC9da6c94ECb439911cAF7d337746575A72", chain: "ETH", @@ -3571,16 +3641,6 @@ export const list = { "https://storage.googleapis.com/token-list-swapkit/images/eth.lit-0xb59490ab09a0f526cc7305822ac65f2ab12f9723.png", ticker: "LIT", }, - { - address: "0xd4f4d0a10bcae123bb6655e8fe93a30d01eebd04", - chain: "ETH", - chainId: "1", - decimals: 18, - identifier: "ETH.LNQ-0xd4f4d0a10bcae123bb6655e8fe93a30d01eebd04", - logoURI: - "https://storage.googleapis.com/token-list-swapkit/images/eth.lnq-0xd4f4d0a10bcae123bb6655e8fe93a30d01eebd04.png", - ticker: "LNQ", - }, { address: "0x61E90A50137E1F645c9eF4a0d3A4f01477738406", chain: "ETH", @@ -3691,16 +3751,6 @@ export const list = { "https://storage.googleapis.com/token-list-swapkit/images/eth.m87-0x80122c6a83c8202ea365233363d3f4837d13e888.png", ticker: "M87", }, - { - address: "0xd29da236dd4aac627346e1bba06a619e8c22d7c5", - chain: "ETH", - chainId: "1", - decimals: 9, - identifier: "ETH.MAGA-0xd29da236dd4aac627346e1bba06a619e8c22d7c5", - logoURI: - "https://storage.googleapis.com/token-list-swapkit/images/eth.maga-0xd29da236dd4aac627346e1bba06a619e8c22d7c5.png", - ticker: "MAGA", - }, { address: "0x0F5D2fB29fb7d3CFeE444a200298f468908cC942", chain: "ETH", @@ -4651,6 +4701,16 @@ export const list = { "https://storage.googleapis.com/token-list-swapkit/images/eth.sand-0x3845badade8e6dff049820680d1f14bd3903a5d0.png", ticker: "SAND", }, + { + address: "0x6e10aacb89a28d6fa0fe68790777fec7e7f01890", + chain: "ETH", + chainId: "1", + decimals: 18, + identifier: "ETH.SAV3-0x6e10aacb89a28d6fa0fe68790777fec7e7f01890", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/eth.sav3-0x6e10aacb89a28d6fa0fe68790777fec7e7f01890.png", + ticker: "SAV3", + }, { address: "0x30D20208d987713f46DFD34EF128Bb16C404D10f", chain: "ETH", @@ -4821,16 +4881,6 @@ export const list = { "https://storage.googleapis.com/token-list-swapkit/images/eth.spx-0xe0f63a424a4439cbe457d80e4f4b51ad25b2c56c.png", ticker: "SPX", }, - { - address: "0xb72e76ccf005313868db7b48070901a44629da98", - chain: "ETH", - chainId: "1", - decimals: 9, - identifier: "ETH.SQGROW-0xb72e76ccf005313868db7b48070901a44629da98", - logoURI: - "https://storage.googleapis.com/token-list-swapkit/images/eth.sqgrow-0xb72e76ccf005313868db7b48070901a44629da98.png", - ticker: "SQGROW", - }, { address: "0x8e6cd950ad6ba651f6dd608dc70e5886b1aa6b24", chain: "ETH", @@ -5151,6 +5201,16 @@ export const list = { "https://storage.googleapis.com/token-list-swapkit/images/eth.trump-0x576e2bed8f7b46d34016198911cdf9886f78bea7.png", ticker: "TRUMP", }, + { + address: "0x50327c6c5a14dcade707abad2e27eb517df87ab5", + chain: "ETH", + chainId: "1", + decimals: 6, + identifier: "ETH.TRX-0x50327c6c5a14dcade707abad2e27eb517df87ab5", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/eth.trx-0x50327c6c5a14dcade707abad2e27eb517df87ab5.png", + ticker: "TRX", + }, { address: "0xA35923162C49cF95e6BF26623385eb431ad920D3", chain: "ETH", @@ -5271,6 +5331,16 @@ export const list = { "https://storage.googleapis.com/token-list-swapkit/images/eth.usdq-0xc83e27f270cce0a3a3a29521173a83f402c1768b.png", ticker: "USDQ", }, + { + address: "0x7B43E3875440B44613DC3bC08E7763e6Da63C8f8", + chain: "ETH", + chainId: "1", + decimals: 6, + identifier: "ETH.USDR-0x7B43E3875440B44613DC3bC08E7763e6Da63C8f8", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/eth.usdr-0x7b43e3875440b44613dc3bc08e7763e6da63c8f8.png", + ticker: "USDR", + }, { address: "0xdC035D45d973E3EC169d2276DDab16f1e407384F", chain: "ETH", @@ -5292,24 +5362,24 @@ export const list = { ticker: "USDT", }, { - address: "0x8DE5B80a0C1B02Fe4976851D030B36122dbb8624", + address: "0xC4441c2BE5d8fA8126822B9929CA0b81Ea0DE38E", chain: "ETH", chainId: "1", decimals: 18, - identifier: "ETH.VANRY-0x8DE5B80a0C1B02Fe4976851D030B36122dbb8624", + identifier: "ETH.USUAL-0xC4441c2BE5d8fA8126822B9929CA0b81Ea0DE38E", logoURI: - "https://storage.googleapis.com/token-list-swapkit/images/eth.vanry-0x8de5b80a0c1b02fe4976851d030b36122dbb8624.png", - ticker: "VANRY", + "https://storage.googleapis.com/token-list-swapkit/images/eth.usual-0xc4441c2be5d8fa8126822b9929ca0b81ea0de38e.png", + ticker: "USUAL", }, { - address: "0xcdbddbdefb0ee3ef03a89afcd714aa4ef310d567", + address: "0x8DE5B80a0C1B02Fe4976851D030B36122dbb8624", chain: "ETH", chainId: "1", decimals: 18, - identifier: "ETH.VERTAI-0xcdbddbdefb0ee3ef03a89afcd714aa4ef310d567", + identifier: "ETH.VANRY-0x8DE5B80a0C1B02Fe4976851D030B36122dbb8624", logoURI: - "https://storage.googleapis.com/token-list-swapkit/images/eth.vertai-0xcdbddbdefb0ee3ef03a89afcd714aa4ef310d567.png", - ticker: "VERTAI", + "https://storage.googleapis.com/token-list-swapkit/images/eth.vanry-0x8de5b80a0c1b02fe4976851d030b36122dbb8624.png", + ticker: "VANRY", }, { address: "0x3C4B6E6e1eA3D4863700D7F76b36B7f3D3f13E3d", @@ -5581,16 +5651,6 @@ export const list = { "https://storage.googleapis.com/token-list-swapkit/images/eth.zrx-0xe41d2489571d322189246dafa5ebde1f4699f498.png", ticker: "ZRX", }, - { - address: "0x58cb30368ceb2d194740b144eab4c2da8a917dcb", - chain: "ETH", - chainId: "1", - decimals: 18, - identifier: "ETH.ZYN-0x58cb30368ceb2d194740b144eab4c2da8a917dcb", - logoURI: - "https://storage.googleapis.com/token-list-swapkit/images/eth.zyn-0x58cb30368ceb2d194740b144eab4c2da8a917dcb.png", - ticker: "ZYN", - }, ], logoURI: "ipfs://QmNa8mQkrNKp1WEEeGjFezDmDeodkWRevGFN8JCV7b4Xir", } as const; diff --git a/packages/swapkit/tokens/src/tokenLists/uniswap_v3.ts b/packages/swapkit/tokens/src/tokenLists/uniswap_v3.ts index 7db073c26..273b1452c 100644 --- a/packages/swapkit/tokens/src/tokenLists/uniswap_v3.ts +++ b/packages/swapkit/tokens/src/tokenLists/uniswap_v3.ts @@ -2,14 +2,14 @@ export const list = { provider: "UNISWAP_V3", name: "Uniswap Labs Default", tags: {}, - timestamp: "2025-01-16T18:03:49.336Z", + timestamp: "2025-02-06T21:52:13.818Z", version: { major: 13, - minor: 0, + minor: 5, patch: 0, }, keywords: ["uniswap", "default"], - count: 593, + count: 596, tokens: [ { address: "0x6314C31A7a1652cE482cffe247E9CB7c3f4BB9aF", @@ -121,6 +121,16 @@ export const list = { "https://storage.googleapis.com/token-list-swapkit/images/arb.alpha-0xc9cbf102c73fb77ec14f8b4c8bd88e050a6b2646.png", ticker: "ALPHA", }, + { + address: "0x37a645648df29205c6261289983fb04ecd70b4b3", + chain: "ARB", + chainId: "42161", + decimals: 18, + identifier: "ARB.ANIME-0x37a645648df29205c6261289983fb04ecd70b4b3", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/arb.anime-0x37a645648df29205c6261289983fb04ecd70b4b3.png", + ticker: "ANIME", + }, { address: "0x1bfc5d35bf0f7B9e15dc24c78b8C02dbC1e95447", chain: "ARB", @@ -221,26 +231,6 @@ export const list = { "https://storage.googleapis.com/token-list-swapkit/images/arb.ath-0xc7def82ba77baf30bbbc9b6162dc075b49092fb4.png", ticker: "ATH", }, - { - address: "0xc87b37a581ec3257b734886d9d3a581f5a9d056c", - chain: "ARB", - chainId: "42161", - decimals: 18, - identifier: "ARB.ATH-0xc87b37a581ec3257b734886d9d3a581f5a9d056c", - logoURI: - "https://storage.googleapis.com/token-list-swapkit/images/arb.ath-0xc87b37a581ec3257b734886d9d3a581f5a9d056c.png", - ticker: "ATH", - }, - { - address: "0xa71e2738704e367798baa2755af5a10499634953", - chain: "ARB", - chainId: "42161", - decimals: 18, - identifier: "ARB.AVRK-0xa71e2738704e367798baa2755af5a10499634953", - logoURI: - "https://storage.googleapis.com/token-list-swapkit/images/arb.avrk-0xa71e2738704e367798baa2755af5a10499634953.png", - ticker: "AVRK", - }, { address: "0x23ee2343B892b1BB63503a4FAbc840E0e2C6810f", chain: "ARB", @@ -311,6 +301,16 @@ export const list = { "https://storage.googleapis.com/token-list-swapkit/images/arb.bit-0x406c8db506653d882295875f633bec0beb921c2a.png", ticker: "BIT", }, + { + address: "0xf7e17BA61973bcDB61f471eFb989E47d13bD565D", + chain: "ARB", + chainId: "42161", + decimals: 8, + identifier: "ARB.BITCOIN-0xf7e17BA61973bcDB61f471eFb989E47d13bD565D", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/arb.bitcoin-0xf7e17ba61973bcdb61f471efb989e47d13bd565d.png", + ticker: "BITCOIN", + }, { address: "0xEf171a5BA71348eff16616fd692855c2Fe606EB2", chain: "ARB", @@ -731,6 +731,16 @@ export const list = { "https://storage.googleapis.com/token-list-swapkit/images/arb.floki-0xa8c25fdc09763a176353cc6a76882e05b4905fae.png", ticker: "FLOKI", }, + { + address: "0x63806C056Fa458c548Fb416B15E358A9D685710A", + chain: "ARB", + chainId: "42161", + decimals: 18, + identifier: "ARB.FLUX-0x63806C056Fa458c548Fb416B15E358A9D685710A", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/arb.flux-0x63806c056fa458c548fb416b15e358a9d685710a.png", + ticker: "FLUX", + }, { address: "0x3A1429d50E0cBBc45c997aF600541Fe1cc3D2923", chain: "ARB", @@ -1011,6 +1021,16 @@ export const list = { "https://storage.googleapis.com/token-list-swapkit/images/arb.jasmy-0x25f05699548d3a0820b99f93c10c8bb573e27083.png", ticker: "JASMY", }, + { + address: "0xaa6b1798a97505b36d9c4a3736c2aa48674aeb97", + chain: "ARB", + chainId: "42161", + decimals: 18, + identifier: "ARB.JOSS-0xaa6b1798a97505b36d9c4a3736c2aa48674aeb97", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/arb.joss-0xaa6b1798a97505b36d9c4a3736c2aa48674aeb97.png", + ticker: "JOSS", + }, { address: "0xf1264873436a0771e440e2b28072fafcc5eebd01", chain: "ARB", @@ -1021,6 +1041,16 @@ export const list = { "https://storage.googleapis.com/token-list-swapkit/images/arb.kns-0xf1264873436a0771e440e2b28072fafcc5eebd01.png", ticker: "KNS", }, + { + address: "0xf75eE6D319741057a82a88Eeff1DbAFAB7307b69", + chain: "ARB", + chainId: "42161", + decimals: 18, + identifier: "ARB.KRL-0xf75eE6D319741057a82a88Eeff1DbAFAB7307b69", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/arb.krl-0xf75ee6d319741057a82a88eeff1dbafab7307b69.png", + ticker: "KRL", + }, { address: "0x3A18dcC9745eDcD1Ef33ecB93b0b6eBA5671e7Ca", chain: "ARB", @@ -1081,16 +1111,6 @@ export const list = { "https://storage.googleapis.com/token-list-swapkit/images/arb.lit-0x349fc93da004a63f3b1343361465981330a40b25.png", ticker: "LIT", }, - { - address: "0x59062301fb510f4ea2417b67404cb16d31e604ba", - chain: "ARB", - chainId: "42161", - decimals: 18, - identifier: "ARB.LOGX-0x59062301fb510f4ea2417b67404cb16d31e604ba", - logoURI: - "https://storage.googleapis.com/token-list-swapkit/images/arb.logx-0x59062301fb510f4ea2417b67404cb16d31e604ba.png", - ticker: "LOGX", - }, { address: "0x289ba1701C2F088cf0faf8B3705246331cB8A839", chain: "ARB", @@ -1451,16 +1471,6 @@ export const list = { "https://storage.googleapis.com/token-list-swapkit/images/arb.pepe-0x35e6a59f786d9266c7961ea28c7b768b33959cbb.png", ticker: "PEPE", }, - { - address: "0x7ddf25cb4861590578f1fb85fcf1c5afd00a01de", - chain: "ARB", - chainId: "42161", - decimals: 18, - identifier: "ARB.PEPER-0x7ddf25cb4861590578f1fb85fcf1c5afd00a01de", - logoURI: - "https://storage.googleapis.com/token-list-swapkit/images/arb.peper-0x7ddf25cb4861590578f1fb85fcf1c5afd00a01de.png", - ticker: "PEPER", - }, { address: "0x753D224bCf9AAFaCD81558c32341416df61D3DAC", chain: "ARB", @@ -1711,16 +1721,6 @@ export const list = { "https://storage.googleapis.com/token-list-swapkit/images/arb.rndr-0xc8a4eea31e9b6b61c406df013dd4fec76f21e279.png", ticker: "RNDR", }, - { - address: "0x4186bfc76e2e237523cbc30fd220fe055156b41f", - chain: "ARB", - chainId: "42161", - decimals: 18, - identifier: "ARB.rsETH-0x4186bfc76e2e237523cbc30fd220fe055156b41f", - logoURI: - "https://storage.googleapis.com/token-list-swapkit/images/arb.rseth-0x4186bfc76e2e237523cbc30fd220fe055156b41f.png", - ticker: "rsETH", - }, { address: "0xCa5Ca9083702c56b481D1eec86F1776FDbd2e594", chain: "ARB", @@ -1961,16 +1961,6 @@ export const list = { "https://storage.googleapis.com/token-list-swapkit/images/arb.tbtc-0x7e2a1edee171c5b19e6c54d73752396c0a572594.png", ticker: "tBTC", }, - { - address: "0xe85b662fe97e8562f4099d8a1d5a92d4b453bf30", - chain: "ARB", - chainId: "42161", - decimals: 18, - identifier: "ARB.THALES-0xe85b662fe97e8562f4099d8a1d5a92d4b453bf30", - logoURI: - "https://storage.googleapis.com/token-list-swapkit/images/arb.thales-0xe85b662fe97e8562f4099d8a1d5a92d4b453bf30.png", - ticker: "THALES", - }, { address: "0xc47d9753f3b32aa9548a7c3f30b6aec3b2d2798c", chain: "ARB", @@ -2091,6 +2081,26 @@ export const list = { "https://storage.googleapis.com/token-list-swapkit/images/arb.usdp-0x78df3a6044ce3cb1905500345b967788b699df8f.png", ticker: "USDP", }, + { + address: "0x2ea0be86990e8dac0d09e4316bb92086f304622d", + chain: "ARB", + chainId: "42161", + decimals: 18, + identifier: "ARB.USDs-0x2ea0be86990e8dac0d09e4316bb92086f304622d", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/arb.usds-0x2ea0be86990e8dac0d09e4316bb92086f304622d.png", + ticker: "USDs", + }, + { + address: "0xd74f5255d557944cf7dd0e45ff521520002d5748", + chain: "ARB", + chainId: "42161", + decimals: 18, + identifier: "ARB.USDs-0xd74f5255d557944cf7dd0e45ff521520002d5748", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/arb.usds-0xd74f5255d557944cf7dd0e45ff521520002d5748.png", + ticker: "USDs", + }, { address: "0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9", chain: "ARB", @@ -2101,6 +2111,16 @@ export const list = { "https://storage.googleapis.com/token-list-swapkit/images/arb.usdt-0xfd086bc7cd5c481dcc9c85ebe478a1c0b69fcbb9.png", ticker: "USDT", }, + { + address: "0x7639AB8599f1b417CbE4ceD492fB30162140AbbB", + chain: "ARB", + chainId: "42161", + decimals: 18, + identifier: "ARB.USUAL-0x7639AB8599f1b417CbE4ceD492fB30162140AbbB", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/arb.usual-0x7639ab8599f1b417cbe4ced492fb30162140abbb.png", + ticker: "USUAL", + }, { address: "0x088cd8f5ef3652623c22d48b1605dcfe860cd704", chain: "ARB", @@ -2261,16 +2281,6 @@ export const list = { "https://storage.googleapis.com/token-list-swapkit/images/arb.zrx-0xbd591bd4ddb64b77b5f76eab8f03d02519235ae2.png", ticker: "ZRX", }, - { - address: "0xd2d8d78087d0e43bc4804b6f946674b2ee406b80", - chain: "ETH", - chainId: "1", - decimals: 18, - identifier: "ETH.✺RUG-0xd2d8d78087d0e43bc4804b6f946674b2ee406b80", - logoURI: - "https://storage.googleapis.com/token-list-swapkit/images/eth.✺rug-0xd2d8d78087d0e43bc4804b6f946674b2ee406b80.png", - ticker: "✺RUG", - }, { address: "0x111111111117dC0aa78b770fA6A738034120C302", chain: "ETH", @@ -2732,11 +2742,11 @@ export const list = { ticker: "BIGTIME", }, { - address: "0xcb1592591996765ec0efc1f92599a19767ee5ffa", + address: "0xcb1592591996765Ec0eFc1f92599A19767ee5ffA", chain: "ETH", chainId: "1", decimals: 18, - identifier: "ETH.BIO-0xcb1592591996765ec0efc1f92599a19767ee5ffa", + identifier: "ETH.BIO-0xcb1592591996765Ec0eFc1f92599A19767ee5ffA", logoURI: "https://storage.googleapis.com/token-list-swapkit/images/eth.bio-0xcb1592591996765ec0efc1f92599a19767ee5ffa.png", ticker: "BIO", @@ -2752,11 +2762,11 @@ export const list = { ticker: "BIT", }, { - address: "0x72e4f9f808c49a2a61de9c5896298920dc4eeea9", + address: "0x72e4f9F808C49A2a61dE9C5896298920Dc4EEEa9", chain: "ETH", chainId: "1", decimals: 8, - identifier: "ETH.BITCOIN-0x72e4f9f808c49a2a61de9c5896298920dc4eeea9", + identifier: "ETH.BITCOIN-0x72e4f9F808C49A2a61dE9C5896298920Dc4EEEa9", logoURI: "https://storage.googleapis.com/token-list-swapkit/images/eth.bitcoin-0x72e4f9f808c49a2a61de9c5896298920dc4eeea9.png", ticker: "BITCOIN", @@ -3031,6 +3041,16 @@ export const list = { "https://storage.googleapis.com/token-list-swapkit/images/eth.cqt-0xd417144312dbf50465b1c641d016962017ef6240.png", ticker: "CQT", }, + { + address: "0x49d72e3973900a195a155a46441f0c08179fdb64", + chain: "ETH", + chainId: "1", + decimals: 18, + identifier: "ETH.CRETH2-0x49d72e3973900a195a155a46441f0c08179fdb64", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/eth.creth2-0x49d72e3973900a195a155a46441f0c08179fdb64.png", + ticker: "CRETH2", + }, { address: "0xA0b73E1Ff0B80914AB6fe0444E65848C4C34450b", chain: "ETH", @@ -3211,6 +3231,16 @@ export const list = { "https://storage.googleapis.com/token-list-swapkit/images/eth.dnt-0x0abdace70d3790235af448c88547603b945604ea.png", ticker: "DNT", }, + { + address: "0xfaca6611fca6de09f726b8a0a1448253b6f748e5", + chain: "ETH", + chainId: "1", + decimals: 18, + identifier: "ETH.DOLPHIN-0xfaca6611fca6de09f726b8a0a1448253b6f748e5", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/eth.dolphin-0xfaca6611fca6de09f726b8a0a1448253b6f748e5.png", + ticker: "DOLPHIN", + }, { address: "0x1494CA1F11D487c2bBe4543E90080AeBa4BA3C2b", chain: "ETH", @@ -3401,6 +3431,16 @@ export const list = { "https://storage.googleapis.com/token-list-swapkit/images/eth.eurq-0x8df723295214ea6f21026eeeb4382d475f146f9f.png", ticker: "EURQ", }, + { + address: "0x50753CfAf86c094925Bf976f218D043f8791e408", + chain: "ETH", + chainId: "1", + decimals: 6, + identifier: "ETH.EURR-0x50753CfAf86c094925Bf976f218D043f8791e408", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/eth.eurr-0x50753cfaf86c094925bf976f218d043f8791e408.png", + ticker: "EURR", + }, { address: "0xc581b735a1688071a1746c968e0798d642ede491", chain: "ETH", @@ -3481,6 +3521,16 @@ export const list = { "https://storage.googleapis.com/token-list-swapkit/images/eth.floki-0xcf0c122c6b73ff809c693db761e7baebe62b6a2e.png", ticker: "FLOKI", }, + { + address: "0x720CD16b011b987Da3518fbf38c3071d4F0D1495", + chain: "ETH", + chainId: "1", + decimals: 18, + identifier: "ETH.FLUX-0x720CD16b011b987Da3518fbf38c3071d4F0D1495", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/eth.flux-0x720cd16b011b987da3518fbf38c3071d4f0d1495.png", + ticker: "FLUX", + }, { address: "0x41545f8b9472D758bB669ed8EaEEEcD7a9C4Ec29", chain: "ETH", @@ -3681,6 +3731,16 @@ export const list = { "https://storage.googleapis.com/token-list-swapkit/images/eth.gohm-0x0ab87046fbb341d058f17cbc4c1133f25a20a52f.png", ticker: "gOHM", }, + { + address: "0x1c9b158e71bc274ea5519ca57a73e337cac72b3a", + chain: "ETH", + chainId: "1", + decimals: 18, + identifier: "ETH.GrowAI-0x1c9b158e71bc274ea5519ca57a73e337cac72b3a", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/eth.growai-0x1c9b158e71bc274ea5519ca57a73e337cac72b3a.png", + ticker: "GrowAI", + }, { address: "0xc944E90C64B2c07662A292be6244BDf05Cda44a7", chain: "ETH", @@ -3841,16 +3901,6 @@ export const list = { "https://storage.googleapis.com/token-list-swapkit/images/eth.jasmy-0x7420b4b9a0110cdc71fb720908340c03f9bc03ec.png", ticker: "JASMY", }, - { - address: "0xa197e8cbbdfb22e9c8ddf310e663f5c113f7085d", - chain: "ETH", - chainId: "1", - decimals: 18, - identifier: "ETH.Jingle-0xa197e8cbbdfb22e9c8ddf310e663f5c113f7085d", - logoURI: - "https://storage.googleapis.com/token-list-swapkit/images/eth.jingle-0xa197e8cbbdfb22e9c8ddf310e663f5c113f7085d.png", - ticker: "Jingle", - }, { address: "0x4B1E80cAC91e2216EEb63e29B957eB91Ae9C2Be8", chain: "ETH", @@ -3951,16 +4001,6 @@ export const list = { "https://storage.googleapis.com/token-list-swapkit/images/eth.l3-0x88909d489678dd17aa6d9609f89b0419bf78fd9a.png", ticker: "L3", }, - { - address: "0x8236a87084f8b84306f72007f36f2618a5634494", - chain: "ETH", - chainId: "1", - decimals: 8, - identifier: "ETH.LBTC-0x8236a87084f8b84306f72007f36f2618a5634494", - logoURI: - "https://storage.googleapis.com/token-list-swapkit/images/eth.lbtc-0x8236a87084f8b84306f72007f36f2618a5634494.png", - ticker: "LBTC", - }, { address: "0x037A54AaB062628C9Bbae1FDB1583c195585fe41", chain: "ETH", @@ -4501,6 +4541,16 @@ export const list = { "https://storage.googleapis.com/token-list-swapkit/images/eth.orn-0x0258f474786ddfd37abce6df6bbb1dd5dfc4434a.png", ticker: "ORN", }, + { + address: "0x2a8e1e676ec238d8a992307b495b45b3feaa5e86", + chain: "ETH", + chainId: "1", + decimals: 18, + identifier: "ETH.OUSD-0x2a8e1e676ec238d8a992307b495b45b3feaa5e86", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/eth.ousd-0x2a8e1e676ec238d8a992307b495b45b3feaa5e86.png", + ticker: "OUSD", + }, { address: "0x4575f41308EC1483f3d399aa9a2826d74Da13Deb", chain: "ETH", @@ -4761,16 +4811,6 @@ export const list = { "https://storage.googleapis.com/token-list-swapkit/images/eth.qanx-0xaaa9214f675316182eaa21c85f0ca99160cc3aaa.png", ticker: "QANX", }, - { - address: "0xbcd4d5ac29e06e4973a1ddcd782cd035d04bc0b7", - chain: "ETH", - chainId: "1", - decimals: 18, - identifier: "ETH.QKNTL-0xbcd4d5ac29e06e4973a1ddcd782cd035d04bc0b7", - logoURI: - "https://storage.googleapis.com/token-list-swapkit/images/eth.qkntl-0xbcd4d5ac29e06e4973a1ddcd782cd035d04bc0b7.png", - ticker: "QKNTL", - }, { address: "0x4a220E6096B25EADb88358cb44068A3248254675", chain: "ETH", @@ -4871,16 +4911,6 @@ export const list = { "https://storage.googleapis.com/token-list-swapkit/images/eth.rbn-0x6123b0049f904d730db3c36a31167d9d4121fa6b.png", ticker: "RBN", }, - { - address: "0x84631c0d0081fde56deb72f6de77abbbf6a9f93a", - chain: "ETH", - chainId: "1", - decimals: 18, - identifier: "ETH.Re7LRT-0x84631c0d0081fde56deb72f6de77abbbf6a9f93a", - logoURI: - "https://storage.googleapis.com/token-list-swapkit/images/eth.re7lrt-0x84631c0d0081fde56deb72f6de77abbbf6a9f93a.png", - ticker: "Re7LRT", - }, { address: "0x408e41876cCCDC0F92210600ef50372656052a38", chain: "ETH", @@ -5071,16 +5101,6 @@ export const list = { "https://storage.googleapis.com/token-list-swapkit/images/eth.sena-0x8be3460a480c80728a8c4d7a5d5303c85ba7b3b9.png", ticker: "sENA", }, - { - address: "0x243cacb4d5ff6814ad668c3e225246efa886ad5a", - chain: "ETH", - chainId: "1", - decimals: 18, - identifier: "ETH.SHI-0x243cacb4d5ff6814ad668c3e225246efa886ad5a", - logoURI: - "https://storage.googleapis.com/token-list-swapkit/images/eth.shi-0x243cacb4d5ff6814ad668c3e225246efa886ad5a.png", - ticker: "SHI", - }, { address: "0x95aD61b0a150d79219dCF64E1E6Cc01f0B64C4cE", chain: "ETH", @@ -5421,16 +5441,6 @@ export const list = { "https://storage.googleapis.com/token-list-swapkit/images/eth.tbtc-0x18084fba666a33d37592fa2633fd49a74dd93a88.png", ticker: "tBTC", }, - { - address: "0x9c4a4204b79dd291d6b6571c5be8bbcd0622f050", - chain: "ETH", - chainId: "1", - decimals: 18, - identifier: "ETH.TCR-0x9c4a4204b79dd291d6b6571c5be8bbcd0622f050", - logoURI: - "https://storage.googleapis.com/token-list-swapkit/images/eth.tcr-0x9c4a4204b79dd291d6b6571c5be8bbcd0622f050.png", - ticker: "TCR", - }, { address: "0x485d17A6f1B8780392d53D64751824253011A260", chain: "ETH", @@ -5671,6 +5681,16 @@ export const list = { "https://storage.googleapis.com/token-list-swapkit/images/eth.usdq-0xc83e27f270cce0a3a3a29521173a83f402c1768b.png", ticker: "USDQ", }, + { + address: "0x7B43E3875440B44613DC3bC08E7763e6Da63C8f8", + chain: "ETH", + chainId: "1", + decimals: 6, + identifier: "ETH.USDR-0x7B43E3875440B44613DC3bC08E7763e6Da63C8f8", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/eth.usdr-0x7b43e3875440b44613dc3bc08e7763e6da63c8f8.png", + ticker: "USDR", + }, { address: "0xdC035D45d973E3EC169d2276DDab16f1e407384F", chain: "ETH", @@ -5691,6 +5711,16 @@ export const list = { "https://storage.googleapis.com/token-list-swapkit/images/eth.usdt-0xdac17f958d2ee523a2206206994597c13d831ec7.png", ticker: "USDT", }, + { + address: "0xC4441c2BE5d8fA8126822B9929CA0b81Ea0DE38E", + chain: "ETH", + chainId: "1", + decimals: 18, + identifier: "ETH.USUAL-0xC4441c2BE5d8fA8126822B9929CA0b81Ea0DE38E", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/eth.usual-0xc4441c2be5d8fa8126822b9929ca0b81ea0de38e.png", + ticker: "USUAL", + }, { address: "0x8DE5B80a0C1B02Fe4976851D030B36122dbb8624", chain: "ETH", @@ -5731,6 +5761,16 @@ export const list = { "https://storage.googleapis.com/token-list-swapkit/images/eth.wampl-0xedb171c18ce90b633db442f2a6f72874093b49ef.png", ticker: "WAMPL", }, + { + address: "0x8ccd897ca6160ed76755383b201c1948394328c7", + chain: "ETH", + chainId: "1", + decimals: 9, + identifier: "ETH.wBAI-0x8ccd897ca6160ed76755383b201c1948394328c7", + logoURI: + "https://storage.googleapis.com/token-list-swapkit/images/eth.wbai-0x8ccd897ca6160ed76755383b201c1948394328c7.png", + ticker: "wBAI", + }, { address: "0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599", chain: "ETH", @@ -5901,16 +5941,6 @@ export const list = { "https://storage.googleapis.com/token-list-swapkit/images/eth.ygg-0x25f8087ead173b73d6e8b84329989a8eea16cf73.png", ticker: "YGG", }, - { - address: "0x5b52bfb8062ce664d74bbcd4cd6dc7df53fd7233", - chain: "ETH", - chainId: "1", - decimals: 18, - identifier: "ETH.ZENIQ-0x5b52bfb8062ce664d74bbcd4cd6dc7df53fd7233", - logoURI: - "https://storage.googleapis.com/token-list-swapkit/images/eth.zeniq-0x5b52bfb8062ce664d74bbcd4cd6dc7df53fd7233.png", - ticker: "ZENIQ", - }, { address: "0xf091867EC603A6628eD83D274E835539D82e9cc8", chain: "ETH", diff --git a/packages/swapkit/wizard/src/index.ts b/packages/swapkit/wizard/src/index.ts index 73a9b24ca..c8bb220b9 100644 --- a/packages/swapkit/wizard/src/index.ts +++ b/packages/swapkit/wizard/src/index.ts @@ -184,6 +184,12 @@ export async function swapkitWizard() { message: "What is your Covalent API key?", }); }, + alchemyApiKey: ({ results: { setupApiKeys } }) => { + if (!setupApiKeys) return; + return text({ + message: "What is your Alchemy API key?", + }); + }, }, { onCancel: handleCancel }, ); @@ -192,6 +198,7 @@ export async function swapkitWizard() { ethplorerApiKey, blockchairApiKey, covalentApiKey, + alchemyApiKey, enableTokens, variant, plugins, @@ -204,6 +211,7 @@ export async function swapkitWizard() { ethplorerApiKey: string().optional(), blockchairApiKey: string().optional(), covalentApiKey: string().optional(), + alchemyApiKey: string().optional(), }).parse(answers); const wizardSpinner = spinner(); wizardSpinner.start("Initializing..."); @@ -250,6 +258,7 @@ export async function swapkitWizard() { ethplorerApiKey: `'${ethplorerApiKey || "freekey"}'`, blockchairApiKey: `'${blockchairApiKey || ""}'`, covalentApiKey: `'${covalentApiKey || ""}'`, + alchemyApiKey: `'${alchemyApiKey || ""}'`, walletConnectProjectId: "''", }, config: { diff --git a/packages/toolboxes/cosmos/src/thorchainUtils/types/client-types.ts b/packages/toolboxes/cosmos/src/thorchainUtils/types/client-types.ts index d9bd040b6..33a0367db 100644 --- a/packages/toolboxes/cosmos/src/thorchainUtils/types/client-types.ts +++ b/packages/toolboxes/cosmos/src/thorchainUtils/types/client-types.ts @@ -1,4 +1,9 @@ -import type { MultisigThresholdPubkey, Pubkey, Secp256k1HdWallet } from "@cosmjs/amino"; +import type { + MultisigThresholdPubkey, + OfflineAminoSigner, + Pubkey, + Secp256k1HdWallet, +} from "@cosmjs/amino"; import type { EncodeObject, OfflineDirectSigner, Registry } from "@cosmjs/proto-signing"; import type { AminoTypes, Account as CosmosAccount } from "@cosmjs/stargate"; import type { Asset, AssetValue, Chain, ChainId, SwapKitNumber } from "@swapkit/helpers"; @@ -33,7 +38,7 @@ export type NodeUrl = { }; export type DepositParam = { - signer?: OfflineDirectSigner; + signer?: OfflineDirectSigner | OfflineAminoSigner; walletIndex?: number; assetValue: AssetValue; memo: string; diff --git a/packages/toolboxes/evm/package.json b/packages/toolboxes/evm/package.json index 5aa49dd5a..301f0a9c8 100644 --- a/packages/toolboxes/evm/package.json +++ b/packages/toolboxes/evm/package.json @@ -2,13 +2,14 @@ "author": "swapkit-oss", "dependencies": { "@swapkit/helpers": "workspace:*", + "@swapkit/tokens": "workspace:*", "ethers": "6.13.5" }, "description": "SwapKit - Toolbox evm", "devDependencies": { "@nomicfoundation/hardhat-ethers": "3.0.6", "@nomicfoundation/hardhat-toolbox": "5.0.0", - "hardhat": "2.22.6" + "hardhat": "2.22.18" }, "files": [ "src/", diff --git a/packages/toolboxes/evm/src/__tests__/ethereum.test.ts b/packages/toolboxes/evm/src/__tests__/ethereum.test.ts index 9133a1e88..42faafbcd 100644 --- a/packages/toolboxes/evm/src/__tests__/ethereum.test.ts +++ b/packages/toolboxes/evm/src/__tests__/ethereum.test.ts @@ -28,7 +28,7 @@ beforeEach(async () => { const provider = getProvider(Chain.Ethereum, "http://127.0.0.1:8545/"); const signer = (await hre.ethers.getImpersonatedSigner(testAddress)) as unknown as JsonRpcSigner; context.provider = provider; - context.toolbox = ETHToolbox({ ethplorerApiKey: "freekey", provider, signer }); + context.toolbox = ETHToolbox({ apiKey: "freekey", provider, signer }); }); afterEach(async () => { diff --git a/packages/toolboxes/evm/src/api/alchemyApi.ts b/packages/toolboxes/evm/src/api/alchemyApi.ts new file mode 100644 index 000000000..20853eb50 --- /dev/null +++ b/packages/toolboxes/evm/src/api/alchemyApi.ts @@ -0,0 +1,93 @@ +import { + BaseDecimal, + type Chain, + ChainId, + ChainIdToChain, + type EVMChain, + EVMChains, + RequestClient, + type TokenTax, + formatBigIntToSafeValue, +} from "@swapkit/helpers"; + +const ChainIdToAlchemyNetwork: Partial> = { + [ChainId.Arbitrum]: "arb", + [ChainId.Avalanche]: "avax", + [ChainId.Base]: "base", + [ChainId.BinanceSmartChain]: "bnb", + [ChainId.Ethereum]: "eth", + [ChainId.Optimism]: "opt", + [ChainId.Polygon]: "polygon", +}; + +const staticTokensMap = new Map(); + +import("@swapkit/tokens").then((tokenPackage) => { + for (const tokenList of Object.values(tokenPackage.tokenLists).filter( + (tokenList) => !["CAVIAR_V1", "JUPITER"].includes(tokenList.provider), + )) { + for (const { identifier, chain, ...rest } of tokenList.tokens) { + // @ts-expect-error + if (EVMChains.includes(chain as EVMChain) && !!rest.address) { + //@ts-expect-error + staticTokensMap.set(rest.address.toUpperCase(), { + symbol: identifier.split(".").slice(1).join("."), + decimal: "decimals" in rest ? rest.decimals : BaseDecimal[chain as EVMChain], + }); + } + } + } +}); + +export const alchemyApi = ({ apiKey }: { apiKey: string; chainId: ChainId }) => { + return { + getBalance: async (address: string, chainId: ChainId) => { + const alchemyNetwork = ChainIdToAlchemyNetwork[chainId]; + + if (!alchemyNetwork) { + throw new Error(`Chain ${ChainIdToChain[chainId]} is not supported by Alchemy`); + } + + const res = await RequestClient.post<{ + id: number; + result: { + address: string; + tokenBalances: { + contractAddress: string; + tokenBalance: string; + }[]; + pageKey: string; + }; + }>(`https://${ChainIdToAlchemyNetwork[chainId]}-mainnet.g.alchemy.com/v2/${apiKey}`, { + json: { + jsonrpc: "2.0", + method: "alchemy_getTokenBalances", + params: [address, "erc20"], + }, + }); + + const balances = res.result.tokenBalances + .map(({ contractAddress, tokenBalance }) => { + const assetData = staticTokensMap.get(contractAddress.toUpperCase()); + if (assetData) { + return { + value: formatBigIntToSafeValue({ + value: BigInt(tokenBalance), + decimal: assetData.decimal, + bigIntDecimal: assetData.decimal, + }), + decimal: assetData.decimal, + chain: ChainIdToChain[chainId], + symbol: assetData.symbol, + }; + } + return; + }) + .filter(Boolean) as { chain: Chain; symbol: string; value: string; decimal: number }[]; + + return balances || []; + }, + }; +}; + +export type AlchemyApiType = ReturnType; diff --git a/packages/toolboxes/evm/src/api/covalentApi.ts b/packages/toolboxes/evm/src/api/covalentApi.ts index 1a8633ab9..f6cfb9df7 100644 --- a/packages/toolboxes/evm/src/api/covalentApi.ts +++ b/packages/toolboxes/evm/src/api/covalentApi.ts @@ -30,7 +30,7 @@ type CovalentBalanceResponse = { }; export const covalentApi = ({ apiKey, chainId }: { apiKey: string; chainId: ChainId }) => ({ - getBalance: async (address: string) => { + getBalance: async (address: string, _chainId: ChainId) => { const { data } = await RequestClient.get<{ data: CovalentBalanceResponse }>( `https://api.covalenthq.com/v1/${chainId}/address/${address}/balances_v2/`, { searchParams: { key: apiKey } }, diff --git a/packages/toolboxes/evm/src/api/ethplorerApi.ts b/packages/toolboxes/evm/src/api/ethplorerApi.ts index 5234c9cb8..cacd1b737 100644 --- a/packages/toolboxes/evm/src/api/ethplorerApi.ts +++ b/packages/toolboxes/evm/src/api/ethplorerApi.ts @@ -1,10 +1,10 @@ -import { Chain, RequestClient, formatBigIntToSafeValue } from "@swapkit/helpers"; +import { Chain, type ChainId, RequestClient, formatBigIntToSafeValue } from "@swapkit/helpers"; import type { AddressInfo } from "../types/ethplorer-api-types"; const baseUrl = "https://api.ethplorer.io"; export const ethplorerApi = (apiKey = "freekey") => ({ - getBalance: async (address: string) => { + getBalance: async (address: string, _chainId: ChainId) => { const { tokens = [] } = await RequestClient.get( `${baseUrl}/getAddressInfo/${address}`, { searchParams: { apiKey } }, diff --git a/packages/toolboxes/evm/src/helpers.ts b/packages/toolboxes/evm/src/helpers.ts index 7183e168b..d1b3aa9be 100644 --- a/packages/toolboxes/evm/src/helpers.ts +++ b/packages/toolboxes/evm/src/helpers.ts @@ -1,6 +1,7 @@ import { AssetValue, BaseDecimal, + ChainToChainId, type EVMChain, FeeOption, SwapKitNumber, @@ -11,6 +12,7 @@ import { import type { BrowserProvider, JsonRpcProvider, Provider } from "ethers"; import { + type AlchemyApiType, type CovalentApiType, type EIP1559TxParams, type EVMMaxSendableAmountsParams, @@ -87,12 +89,12 @@ export const getBalance = async ({ potentialScamFilter, }: { provider: JsonRpcProvider | BrowserProvider; - api: CovalentApiType | EthplorerApiType; + api: CovalentApiType | EthplorerApiType | AlchemyApiType; address: string; chain: EVMChain; potentialScamFilter?: boolean; }) => { - const tokenBalances = await api.getBalance(address); + const tokenBalances = await api.getBalance(address, ChainToChainId[chain]); const evmGasTokenBalance = await provider.getBalance(address); const balances = [ { diff --git a/packages/toolboxes/evm/src/index.ts b/packages/toolboxes/evm/src/index.ts index 252563465..7bc1d76e2 100644 --- a/packages/toolboxes/evm/src/index.ts +++ b/packages/toolboxes/evm/src/index.ts @@ -14,6 +14,7 @@ export { /** * Package */ +export * from "./api/alchemyApi"; export * from "./api/covalentApi"; export * from "./api/ethplorerApi"; export * from "./helpers"; diff --git a/packages/toolboxes/evm/src/toolbox/arb.ts b/packages/toolboxes/evm/src/toolbox/arb.ts index 42a86d1d8..f87d7731c 100644 --- a/packages/toolboxes/evm/src/toolbox/arb.ts +++ b/packages/toolboxes/evm/src/toolbox/arb.ts @@ -4,13 +4,19 @@ import { ChainId, ChainToExplorerUrl, FeeOption, + SwapKitError, getRPCUrl, } from "@swapkit/helpers"; import type { BrowserProvider, JsonRpcProvider, Provider, Signer } from "ethers"; -import type { CovalentApiType } from "../api/covalentApi"; -import { covalentApi } from "../api/covalentApi"; -import { type EVMTxBaseParams, estimateTransactionFee, getBalance } from "../index"; +import { + type AlchemyApiType, + type CovalentApiType, + type EVMTxBaseParams, + covalentApi, + estimateTransactionFee, + getBalance, +} from "../index"; import { EVMToolbox } from "./EVMToolbox"; @@ -44,14 +50,23 @@ export const ARBToolbox = ({ api, provider, signer, - covalentApiKey, + apiKey, }: { - api?: CovalentApiType; - covalentApiKey: string; + api?: CovalentApiType | AlchemyApiType; + apiKey?: string; signer?: Signer; provider: JsonRpcProvider | BrowserProvider; }) => { - const arbApi = api || covalentApi({ apiKey: covalentApiKey, chainId: ChainId.Arbitrum }); + if (!(api || apiKey)) { + throw new SwapKitError({ + errorKey: "wallet_missing_api_key", + info: { + chain: Chain.Arbitrum, + }, + }); + } + + const arbApi = api || covalentApi({ apiKey: apiKey as string, chainId: ChainId.Arbitrum }); const evmToolbox = EVMToolbox({ provider, signer, isEIP1559Compatible: false }); const chain = Chain.Arbitrum; diff --git a/packages/toolboxes/evm/src/toolbox/avax.ts b/packages/toolboxes/evm/src/toolbox/avax.ts index effc62205..0ddb3bf16 100644 --- a/packages/toolboxes/evm/src/toolbox/avax.ts +++ b/packages/toolboxes/evm/src/toolbox/avax.ts @@ -1,9 +1,21 @@ -import { BaseDecimal, Chain, ChainId, ChainToExplorerUrl, type FeeOption } from "@swapkit/helpers"; +import { + BaseDecimal, + Chain, + ChainId, + ChainToExplorerUrl, + type FeeOption, + SwapKitError, +} from "@swapkit/helpers"; import type { BrowserProvider, JsonRpcProvider, Signer } from "ethers"; -import type { CovalentApiType } from "../api/covalentApi"; -import { covalentApi } from "../api/covalentApi"; -import { type EVMTxBaseParams, estimateTransactionFee, getBalance } from "../index"; +import { + type AlchemyApiType, + type CovalentApiType, + type EVMTxBaseParams, + covalentApi, + estimateTransactionFee, + getBalance, +} from "../index"; import { EVMToolbox } from "./EVMToolbox"; @@ -20,14 +32,23 @@ export const AVAXToolbox = ({ api, provider, signer, - covalentApiKey, + apiKey, }: { - api?: CovalentApiType; - covalentApiKey: string; + api?: CovalentApiType | AlchemyApiType; + apiKey?: string; signer?: Signer; provider: JsonRpcProvider | BrowserProvider; }) => { - const avaxApi = api || covalentApi({ apiKey: covalentApiKey, chainId: ChainId.Avalanche }); + if (!(api || apiKey)) { + throw new SwapKitError({ + errorKey: "wallet_missing_api_key", + info: { + chain: Chain.Avalanche, + }, + }); + } + + const avaxApi = api || covalentApi({ apiKey: apiKey as string, chainId: ChainId.Avalanche }); const evmToolbox = EVMToolbox({ provider, signer }); const chain = Chain.Avalanche; diff --git a/packages/toolboxes/evm/src/toolbox/base.ts b/packages/toolboxes/evm/src/toolbox/base.ts index 473e1c828..5a25f4298 100644 --- a/packages/toolboxes/evm/src/toolbox/base.ts +++ b/packages/toolboxes/evm/src/toolbox/base.ts @@ -4,13 +4,19 @@ import { ChainId, ChainToExplorerUrl, type FeeOption, + SwapKitError, getRPCUrl, } from "@swapkit/helpers"; import type { BrowserProvider, JsonRpcProvider, Signer } from "ethers"; -import type { CovalentApiType } from "../api/covalentApi"; -import { covalentApi } from "../api/covalentApi"; -import { type EVMTxBaseParams, estimateTransactionFee, getBalance } from "../index"; +import { + type AlchemyApiType, + type CovalentApiType, + type EVMTxBaseParams, + covalentApi, + estimateTransactionFee, + getBalance, +} from "../index"; import { EVMToolbox } from "./EVMToolbox"; @@ -26,13 +32,22 @@ export const BASEToolbox = ({ api, provider, signer, - covalentApiKey, + apiKey, }: { - api?: CovalentApiType; - covalentApiKey: string; + api?: CovalentApiType | AlchemyApiType; + apiKey?: string; signer?: Signer; provider: JsonRpcProvider | BrowserProvider; }) => { + if (!(api || apiKey)) { + throw new SwapKitError({ + errorKey: "wallet_missing_api_key", + info: { + chain: Chain.Base, + }, + }); + } + const evmToolbox = EVMToolbox({ provider, signer }); const chain = Chain.Base; @@ -48,7 +63,7 @@ export const BASEToolbox = ({ ) => { const balance = await getBalance({ provider: overwriteProvider || provider, - api: api || covalentApi({ apiKey: covalentApiKey, chainId: ChainId.Base }), + api: api || covalentApi({ apiKey: apiKey as string, chainId: ChainId.Base }), address, chain, potentialScamFilter, diff --git a/packages/toolboxes/evm/src/toolbox/bsc.ts b/packages/toolboxes/evm/src/toolbox/bsc.ts index cbe1162b1..f44c9d4c4 100644 --- a/packages/toolboxes/evm/src/toolbox/bsc.ts +++ b/packages/toolboxes/evm/src/toolbox/bsc.ts @@ -1,9 +1,21 @@ -import { BaseDecimal, Chain, ChainId, ChainToExplorerUrl, type FeeOption } from "@swapkit/helpers"; +import { + BaseDecimal, + Chain, + ChainId, + ChainToExplorerUrl, + type FeeOption, + SwapKitError, +} from "@swapkit/helpers"; import type { BrowserProvider, JsonRpcProvider, Signer } from "ethers"; -import type { CovalentApiType } from "../api/covalentApi"; -import { covalentApi } from "../api/covalentApi"; -import { type EVMTxBaseParams, estimateTransactionFee, getBalance } from "../index"; +import { + type AlchemyApiType, + type CovalentApiType, + type EVMTxBaseParams, + covalentApi, + estimateTransactionFee, + getBalance, +} from "../index"; import { EVMToolbox } from "./EVMToolbox"; const getNetworkParams = () => ({ @@ -18,14 +30,24 @@ export const BSCToolbox = ({ api, provider, signer, - covalentApiKey, + apiKey, }: { - api?: CovalentApiType; - covalentApiKey: string; + api?: CovalentApiType | AlchemyApiType; + apiKey?: string; signer?: Signer; provider: JsonRpcProvider | BrowserProvider; }) => { - const bscApi = api || covalentApi({ apiKey: covalentApiKey, chainId: ChainId.BinanceSmartChain }); + if (!(api || apiKey)) { + throw new SwapKitError({ + errorKey: "wallet_missing_api_key", + info: { + chain: Chain.BinanceSmartChain, + }, + }); + } + + const bscApi = + api || covalentApi({ apiKey: apiKey as string, chainId: ChainId.BinanceSmartChain }); const evmToolbox = EVMToolbox({ provider, signer, isEIP1559Compatible: false }); const chain = Chain.BinanceSmartChain; diff --git a/packages/toolboxes/evm/src/toolbox/eth.ts b/packages/toolboxes/evm/src/toolbox/eth.ts index a2207e25e..585fcc27a 100644 --- a/packages/toolboxes/evm/src/toolbox/eth.ts +++ b/packages/toolboxes/evm/src/toolbox/eth.ts @@ -10,16 +10,16 @@ import { EVMToolbox } from "./EVMToolbox"; export const ETHToolbox = ({ api, - ethplorerApiKey, + apiKey, signer, provider, }: { api?: EthplorerApiType; - ethplorerApiKey?: string; + apiKey?: string; signer?: Signer | JsonRpcSigner; provider: JsonRpcProvider | BrowserProvider; }) => { - const ethApi = api || ethplorerApi(ethplorerApiKey); + const ethApi = api || ethplorerApi(apiKey); const evmToolbox = EVMToolbox({ provider, signer }); const chain = Chain.Ethereum; diff --git a/packages/toolboxes/evm/src/toolbox/matic.ts b/packages/toolboxes/evm/src/toolbox/matic.ts index f7426ba33..9eb2fc11c 100644 --- a/packages/toolboxes/evm/src/toolbox/matic.ts +++ b/packages/toolboxes/evm/src/toolbox/matic.ts @@ -4,13 +4,19 @@ import { ChainId, ChainToExplorerUrl, type FeeOption, + SwapKitError, getRPCUrl, } from "@swapkit/helpers"; import type { BrowserProvider, JsonRpcProvider, Signer } from "ethers"; -import type { CovalentApiType } from "../api/covalentApi"; -import { covalentApi } from "../api/covalentApi"; -import { type EVMTxBaseParams, estimateTransactionFee, getBalance } from "../index"; +import { + type AlchemyApiType, + type CovalentApiType, + type EVMTxBaseParams, + covalentApi, + estimateTransactionFee, + getBalance, +} from "../index"; import { EVMToolbox } from "./EVMToolbox"; @@ -26,14 +32,23 @@ export const MATICToolbox = ({ api, provider, signer, - covalentApiKey, + apiKey, }: { - api?: CovalentApiType; - covalentApiKey: string; + api?: CovalentApiType | AlchemyApiType; + apiKey?: string; signer?: Signer; provider: JsonRpcProvider | BrowserProvider; }) => { - const maticApi = api || covalentApi({ apiKey: covalentApiKey, chainId: ChainId.Polygon }); + if (!(api || apiKey)) { + throw new SwapKitError({ + errorKey: "wallet_missing_api_key", + info: { + chain: Chain.Polygon, + }, + }); + } + + const maticApi = api || covalentApi({ apiKey: apiKey as string, chainId: ChainId.Polygon }); const evmToolbox = EVMToolbox({ provider, signer }); const chain = Chain.Polygon; diff --git a/packages/toolboxes/evm/src/toolbox/op.ts b/packages/toolboxes/evm/src/toolbox/op.ts index f26b65d6f..1cfbf82ad 100644 --- a/packages/toolboxes/evm/src/toolbox/op.ts +++ b/packages/toolboxes/evm/src/toolbox/op.ts @@ -4,15 +4,14 @@ import { ChainId, ChainToExplorerUrl, FeeOption, + SwapKitError, getRPCUrl, } from "@swapkit/helpers"; import type { BrowserProvider, JsonRpcProvider, Signer, TransactionRequest } from "ethers"; import { Contract, Transaction } from "ethers"; -import type { CovalentApiType } from "../api/covalentApi"; -import { covalentApi } from "../api/covalentApi"; import { gasOracleAbi } from "../contracts/op/gasOracle"; -import { getBalance } from "../index"; +import { type AlchemyApiType, type CovalentApiType, covalentApi, getBalance } from "../index"; import { EVMToolbox } from "./EVMToolbox"; @@ -139,14 +138,23 @@ export const OPToolbox = ({ api, provider, signer, - covalentApiKey, + apiKey, }: { - api?: CovalentApiType; - covalentApiKey: string; + api?: CovalentApiType | AlchemyApiType; + apiKey?: string; signer?: Signer; provider: JsonRpcProvider | BrowserProvider; }) => { - const opApi = api || covalentApi({ apiKey: covalentApiKey, chainId: ChainId.Optimism }); + if (!(api || apiKey)) { + throw new SwapKitError({ + errorKey: "wallet_missing_api_key", + info: { + chain: Chain.Optimism, + }, + }); + } + + const opApi = api || covalentApi({ apiKey: apiKey as string, chainId: ChainId.Optimism }); const evmToolbox = EVMToolbox({ provider, signer }); return { diff --git a/packages/toolboxes/utxo/src/toolbox/utxo.ts b/packages/toolboxes/utxo/src/toolbox/utxo.ts index b2357eeda..35a981fcf 100644 --- a/packages/toolboxes/utxo/src/toolbox/utxo.ts +++ b/packages/toolboxes/utxo/src/toolbox/utxo.ts @@ -161,7 +161,7 @@ const getInputsAndTargetOutputs = async ({ }; }; -const buildTx = async ({ +export const buildTx = async ({ assetValue, recipient, memo, diff --git a/packages/wallets/bitget/src/bitgetWallet.ts b/packages/wallets/bitget/src/bitgetWallet.ts index 1b2c55a20..e259ee9e7 100644 --- a/packages/wallets/bitget/src/bitgetWallet.ts +++ b/packages/wallets/bitget/src/bitgetWallet.ts @@ -18,6 +18,7 @@ export const BITGET_SUPPORTED_CHAINS = [ function connectBitget({ addChain, + apis, config: { thorswapApiKey, covalentApiKey, ethplorerApiKey, blockchairApiKey }, }: ConnectWalletParams) { return async function connectBitget(chains: Chain[]) { @@ -32,6 +33,7 @@ function connectBitget({ const promises = supportedChains.map(async (chain) => { const walletMethods = await getWalletForChain({ chain, + apis, covalentApiKey, ethplorerApiKey, blockchairApiKey, diff --git a/packages/wallets/bitget/src/helpers.ts b/packages/wallets/bitget/src/helpers.ts index 92179e3cd..d6f2995d3 100644 --- a/packages/wallets/bitget/src/helpers.ts +++ b/packages/wallets/bitget/src/helpers.ts @@ -2,17 +2,19 @@ import { PublicKey } from "@solana/web3.js"; import { type AssetValue, Chain, - type ChainApi, + type ChainApis, ChainId, ChainToHexChainId, type EVMChain, SwapKitError, type WalletTxParams, getRPCUrl, + pickEvmApiKey, prepareNetworkSwitch, switchEVMWalletNetwork, } from "@swapkit/helpers"; import type { TransferParams } from "@swapkit/toolbox-cosmos"; +import type { AlchemyApiType, CovalentApiType, EthplorerApiType } from "@swapkit/toolbox-evm"; import type { Psbt, UTXOTransferParams } from "@swapkit/toolbox-utxo"; import type { Eip1193Provider } from "ethers"; @@ -56,14 +58,14 @@ export async function getWalletForChain({ covalentApiKey, blockchairApiKey, rpcUrl, - api, + apis, }: { chain: Chain; ethplorerApiKey?: string; covalentApiKey?: string; blockchairApiKey?: string; rpcUrl?: string; - api?: ChainApi; + apis?: ChainApis; }) { const bitget = window.bitkeep; @@ -79,15 +81,23 @@ export async function getWalletForChain({ throw new SwapKitError("wallet_bitkeep_not_found"); } + const api = apis?.[chain]; + + const apiKey = pickEvmApiKey({ + chain, + nonEthApiKey: covalentApiKey, + ethApiKey: ethplorerApiKey, + }); + const wallet = bitget.ethereum; const { getProvider } = await import("@swapkit/toolbox-evm"); const evmWallet = await getWeb3WalletMethods({ chain, - ethplorerApiKey, - covalentApiKey, + apiKey, ethereumWindowProvider: wallet, + api, }); const [address]: [string, ...string[]] = await wallet.send("eth_requestAccounts", []); @@ -102,6 +112,9 @@ export async function getWalletForChain({ if (!(bitget && "unisat" in bitget)) { throw new SwapKitError("wallet_bitkeep_not_found"); } + + const api = apis?.[chain]; + const { unisat: wallet } = bitget; const { Psbt, BTCToolbox } = await import("@swapkit/toolbox-utxo"); @@ -127,6 +140,9 @@ export async function getWalletForChain({ if (!(bitget && "keplr" in bitget)) { throw new SwapKitError("wallet_bitkeep_not_found"); } + + const api = apis?.[chain]; + const { keplr: wallet } = bitget; await wallet.enable(ChainId.Cosmos); @@ -195,38 +211,25 @@ export async function getWalletForChain({ export const getWeb3WalletMethods = async ({ ethereumWindowProvider, chain, - covalentApiKey, - ethplorerApiKey, + apiKey, + api, }: { ethereumWindowProvider: Eip1193Provider | undefined; chain: EVMChain; - covalentApiKey?: string; - ethplorerApiKey?: string; + apiKey?: string; + api?: EthplorerApiType | CovalentApiType | AlchemyApiType; }) => { const { getToolboxByChain } = await import("@swapkit/toolbox-evm"); const { BrowserProvider } = await import("ethers"); if (!ethereumWindowProvider) throw new SwapKitError("wallet_provider_not_found"); - if ( - (chain !== Chain.Ethereum && !covalentApiKey) || - (chain === Chain.Ethereum && !ethplorerApiKey) - ) { - throw new SwapKitError({ - errorKey: "wallet_missing_api_key", - info: { - missingKey: chain === Chain.Ethereum ? "ethplorerApiKey" : "covalentApiKey", - chain, - }, - }); - } - const provider = new BrowserProvider(ethereumWindowProvider, "any"); const toolbox = getToolboxByChain(chain)({ provider, signer: await provider.getSigner(), - ethplorerApiKey: ethplorerApiKey as string, - covalentApiKey: covalentApiKey as string, + apiKey, + api, }); try { diff --git a/packages/wallets/coinbase/src/index.ts b/packages/wallets/coinbase/src/index.ts index 6571e2ecd..50ec80114 100644 --- a/packages/wallets/coinbase/src/index.ts +++ b/packages/wallets/coinbase/src/index.ts @@ -16,6 +16,7 @@ export const COINBASE_SUPPORTED_CHAINS = [ function connectCoinbaseWallet({ addChain, + apis, config: { thorswapApiKey, covalentApiKey, ethplorerApiKey }, coinbaseWalletSettings, }: ConnectWalletParams & { coinbaseWalletSettings?: CoinbaseWalletSDKOptions }) { @@ -30,6 +31,7 @@ function connectCoinbaseWallet({ const promises = supportedChains.map(async (chain) => { const walletMethods = await getWalletForChain({ + apis, chain, covalentApiKey, ethplorerApiKey, diff --git a/packages/wallets/coinbase/src/signer.ts b/packages/wallets/coinbase/src/signer.ts index 248be8c4b..605f725c1 100644 --- a/packages/wallets/coinbase/src/signer.ts +++ b/packages/wallets/coinbase/src/signer.ts @@ -1,6 +1,6 @@ import { type CoinbaseWalletProvider, CoinbaseWalletSDK } from "@coinbase/wallet-sdk"; import type { CoinbaseWalletSDKOptions } from "@coinbase/wallet-sdk/dist/CoinbaseWalletSDK"; -import { Chain, ChainToRPC } from "@swapkit/helpers"; +import { Chain, type ChainApis, ChainToRPC, pickEvmApiKey } from "@swapkit/helpers"; import type { getToolboxByChain } from "@swapkit/toolbox-evm"; import { AbstractSigner, type Provider } from "ethers"; @@ -48,7 +48,7 @@ export const getWalletForChain = async ({ chain, ethplorerApiKey, covalentApiKey, - api, + apis, coinbaseWalletSettings = { appName: "Developer App", } as CoinbaseWalletSDKOptions, @@ -56,7 +56,7 @@ export const getWalletForChain = async ({ chain: Chain; ethplorerApiKey?: string; covalentApiKey?: string; - api?: any; + apis?: ChainApis; coinbaseWalletSettings?: CoinbaseWalletSDKOptions; }): Promise> & { address: string }> => { switch (chain) { @@ -68,6 +68,16 @@ export const getWalletForChain = async ({ case Chain.BinanceSmartChain: { const coinbaseWallet = new CoinbaseWalletSDK(coinbaseWalletSettings); + const api = apis?.[chain]; + + const apiKey = api + ? undefined + : pickEvmApiKey({ + chain, + nonEthApiKey: covalentApiKey, + ethApiKey: ethplorerApiKey, + }); + const walletProvider = coinbaseWallet.makeWeb3Provider(ChainToRPC[chain]); // TODO fix error @@ -87,8 +97,8 @@ export const getWalletForChain = async ({ const toolbox = getToolboxByChain(chain)({ ...params, - covalentApiKey: covalentApiKey as string, - ethplorerApiKey: ethplorerApiKey as string, + api, + apiKey, }); return { diff --git a/packages/wallets/ctrl/src/ctrlWallet.ts b/packages/wallets/ctrl/src/ctrlWallet.ts index b0d0a14b0..023a8afe2 100644 --- a/packages/wallets/ctrl/src/ctrlWallet.ts +++ b/packages/wallets/ctrl/src/ctrlWallet.ts @@ -1,14 +1,15 @@ import { type AssetValue, Chain, + type ChainApis, ChainToChainId, ChainToHexChainId, type ConnectConfig, type ConnectWalletParams, SwapKitError, WalletOption, - ensureEVMApiKeys, filterSupportedChains, + pickEvmApiKey, setRequestClientConfig, } from "@swapkit/helpers"; import type { NonETHToolbox } from "@swapkit/toolbox-evm"; @@ -41,12 +42,14 @@ export const CTRL_SUPPORTED_CHAINS = [ Chain.THORChain, ] as const; +// biome-ignore lint/complexity/noExcessiveCognitiveComplexity: TODO refactor async function getWalletMethodsForChain({ chain, blockchairApiKey, covalentApiKey, ethplorerApiKey, -}: ConnectConfig & { chain: (typeof CTRL_SUPPORTED_CHAINS)[number] }) { + apis, +}: ConnectConfig & { chain: (typeof CTRL_SUPPORTED_CHAINS)[number]; apis: ChainApis }) { switch (chain) { case Chain.Solana: { const { SOLToolbox } = await import("@swapkit/toolbox-solana"); @@ -121,8 +124,7 @@ async function getWalletMethodsForChain({ case Chain.Optimism: case Chain.Polygon: { const { prepareNetworkSwitch, switchEVMWalletNetwork } = await import("@swapkit/helpers"); - const { getProvider, getToolboxByChain, covalentApi, ethplorerApi, getBalance } = - await import("@swapkit/toolbox-evm"); + const { getToolboxByChain } = await import("@swapkit/toolbox-evm"); const { BrowserProvider } = await import("ethers"); const ethereumWindowProvider = getCtrlProvider(chain); @@ -130,10 +132,22 @@ async function getWalletMethodsForChain({ throw new SwapKitError("wallet_ctrl_not_found"); } - const apiKeys = ensureEVMApiKeys({ chain, covalentApiKey, ethplorerApiKey }); + const api = apis?.[chain]; + + const apiKey = pickEvmApiKey({ + chain, + nonEthApiKey: covalentApiKey, + ethApiKey: ethplorerApiKey, + }); + const provider = new BrowserProvider(ethereumWindowProvider, "any"); const signer = await provider.getSigner(); - const toolbox = getToolboxByChain(chain)({ ...apiKeys, provider, signer }); + const toolbox = getToolboxByChain(chain)({ + api, + apiKey, + provider, + signer, + }); const ctrlMethods = getCtrlMethods(provider); try { @@ -150,10 +164,14 @@ async function getWalletMethodsForChain({ }); } - const api = - chain === Chain.Ethereum - ? ethplorerApi(apiKeys.ethplorerApiKey) - : covalentApi({ apiKey: apiKeys.covalentApiKey, chainId: ChainToChainId[chain] }); + if (!((chain === Chain.Ethereum ? ethplorerApiKey : covalentApiKey) || api)) { + throw new SwapKitError({ + errorKey: "wallet_missing_api_key", + info: { + chain, + }, + }); + } return prepareNetworkSwitch({ provider: window.xfi?.ethereum, @@ -161,15 +179,6 @@ async function getWalletMethodsForChain({ toolbox: { ...toolbox, ...ctrlMethods, - // Overwrite ctrl getBalance due to race condition in their app when connecting multiple evm wallets - getBalance: (address: string, potentialScamFilter?: boolean) => - getBalance({ - chain, - provider: getProvider(chain), - api, - address, - potentialScamFilter, - }), }, }); } @@ -181,6 +190,7 @@ async function getWalletMethodsForChain({ function connectCtrl({ addChain, + apis, config: { covalentApiKey, ethplorerApiKey, blockchairApiKey, thorswapApiKey }, }: ConnectWalletParams) { return async (chains: Chain[]) => { @@ -195,6 +205,7 @@ function connectCtrl({ blockchairApiKey, covalentApiKey, ethplorerApiKey, + apis, }); addChain({ diff --git a/packages/wallets/evm-extensions/src/index.ts b/packages/wallets/evm-extensions/src/index.ts index 90e0205f9..cba3cc6d8 100644 --- a/packages/wallets/evm-extensions/src/index.ts +++ b/packages/wallets/evm-extensions/src/index.ts @@ -1,13 +1,14 @@ import { Chain, + type ChainApis, ChainToHexChainId, type ConnectWalletParams, type EVMChain, EVMChains, type EthereumWindowProvider, WalletOption, - ensureEVMApiKeys, filterSupportedChains, + pickEvmApiKey, prepareNetworkSwitch, setRequestClientConfig, switchEVMWalletNetwork, @@ -56,20 +57,33 @@ export const getWeb3WalletMethods = async ({ covalentApiKey, ethplorerApiKey, provider, + apis, }: { ethereumWindowProvider: Eip1193Provider | undefined; chain: EVMChain; covalentApiKey?: string; ethplorerApiKey?: string; provider: BrowserProvider; + apis: ChainApis; }) => { if (!ethereumWindowProvider) throw new Error("Requested web3 wallet is not installed"); const { getToolboxByChain } = await import("@swapkit/toolbox-evm"); - const keys = ensureEVMApiKeys({ chain, covalentApiKey, ethplorerApiKey }); + const api = apis?.[chain]; + + const apiKey = pickEvmApiKey({ + chain, + nonEthApiKey: covalentApiKey, + ethApiKey: ethplorerApiKey, + }); const signer = await provider.getSigner(); - const toolbox = getToolboxByChain(chain)({ ...keys, provider, signer }); + const toolbox = getToolboxByChain(chain)({ + api, + apiKey, + provider, + signer, + }); if (chain !== Chain.Ethereum) { const currentNetwork = await provider.getNetwork(); @@ -95,6 +109,7 @@ export const getWeb3WalletMethods = async ({ function connectEVMWallet({ addChain, + apis, config: { covalentApiKey, ethplorerApiKey, thorswapApiKey }, }: ConnectWalletParams) { return async function connectEVMWallet( @@ -118,6 +133,7 @@ function connectEVMWallet({ const address = await signer.getAddress(); const walletMethods = await getWeb3WalletMethods({ + apis, chain, ethplorerApiKey, covalentApiKey, @@ -145,6 +161,7 @@ function connectEVMWallet({ const address = await signer.getAddress(); const walletMethods = await getWeb3WalletMethods({ + apis, chain, ethplorerApiKey, covalentApiKey, diff --git a/packages/wallets/exodus/src/index.ts b/packages/wallets/exodus/src/index.ts index df9399636..a4012bf82 100644 --- a/packages/wallets/exodus/src/index.ts +++ b/packages/wallets/exodus/src/index.ts @@ -1,12 +1,13 @@ import type { Wallet } from "@passkeys/core"; import { Chain, + type ChainApis, ChainToHexChainId, type ConnectWalletParams, EVMChains, WalletOption, - ensureEVMApiKeys, filterSupportedChains, + pickEvmApiKey, prepareNetworkSwitch, setRequestClientConfig, switchEVMWalletNetwork, @@ -35,7 +36,7 @@ export const getWalletMethods = async ({ covalentApiKey, blockchairApiKey, rpcUrl, - api, + apis, }: { ethereumWindowProvider: Eip1193Provider | undefined; walletProvider: BrowserProvider | BitcoinProvider; @@ -44,10 +45,12 @@ export const getWalletMethods = async ({ ethplorerApiKey?: string; blockchairApiKey?: string; rpcUrl?: string; - api?: any; + apis?: ChainApis; }) => { switch (chain) { case Chain.Bitcoin: { + const api = apis?.[chain]; + const toolbox = BTCToolbox({ rpcUrl, apiKey: blockchairApiKey, apiClient: api }); let address = ""; @@ -121,7 +124,13 @@ export const getWalletMethods = async ({ case Chain.Polygon: { if (!ethereumWindowProvider) throw new Error("Requested web3 wallet is not installed"); - const keys = ensureEVMApiKeys({ chain, covalentApiKey, ethplorerApiKey }); + const api = apis?.[chain]; + + const apiKey = pickEvmApiKey({ + chain, + nonEthApiKey: covalentApiKey, + ethApiKey: ethplorerApiKey, + }); const provider = getProvider(chain); const browserProvider = walletProvider as BrowserProvider; @@ -129,7 +138,7 @@ export const getWalletMethods = async ({ const signer = await browserProvider.getSigner(); const address = await signer.getAddress(); - const toolbox = getToolboxByChain(chain)({ ...keys, provider, signer }); + const toolbox = getToolboxByChain(chain)({ api, apiKey, provider, signer }); try { chain !== Chain.Ethereum && diff --git a/packages/wallets/keepkey-bex/src/keepkeyWallet.ts b/packages/wallets/keepkey-bex/src/keepkeyWallet.ts index c131ffb28..6a97a98ea 100644 --- a/packages/wallets/keepkey-bex/src/keepkeyWallet.ts +++ b/packages/wallets/keepkey-bex/src/keepkeyWallet.ts @@ -1,6 +1,7 @@ import { AssetValue, Chain, + type ChainApis, type ChainId, ChainToChainId, ChainToHexChainId, @@ -9,8 +10,8 @@ import { type ConnectWalletParams, SwapKitError, WalletOption, - ensureEVMApiKeys, filterSupportedChains, + pickEvmApiKey, setRequestClientConfig, } from "@swapkit/helpers"; import type { NonETHToolbox } from "@swapkit/toolbox-evm"; @@ -45,12 +46,14 @@ const KEEPKEY_SUPPORTED_CHAINS = [ Chain.THORChain, ] as const; +// biome-ignore lint/complexity/noExcessiveCognitiveComplexity: TODO refactor async function getWalletMethodsForChain({ + apis, chain, blockchairApiKey, covalentApiKey, ethplorerApiKey, -}: ConnectConfig & { chain: (typeof KEEPKEY_SUPPORTED_CHAINS)[number] }) { +}: ConnectConfig & { chain: (typeof KEEPKEY_SUPPORTED_CHAINS)[number]; apis: ChainApis }) { switch (chain) { case Chain.Maya: case Chain.THORChain: { @@ -125,10 +128,17 @@ async function getWalletMethodsForChain({ throw new SwapKitError("wallet_keepkey_not_found"); } - const apiKeys = ensureEVMApiKeys({ chain, covalentApiKey, ethplorerApiKey }); + const api = apis?.[chain]; + + const apiKey = pickEvmApiKey({ + chain, + nonEthApiKey: covalentApiKey, + ethApiKey: ethplorerApiKey, + }); + const provider = new BrowserProvider(ethereumWindowProvider, "any"); const signer = await provider.getSigner(); - const toolbox = getToolboxByChain(chain)({ ...apiKeys, provider, signer }); + const toolbox = getToolboxByChain(chain)({ api, apiKey, provider, signer }); const keepkeyMethods = getKEEPKEYMethods(provider); try { @@ -145,10 +155,19 @@ async function getWalletMethodsForChain({ }); } - const api = - chain === Chain.Ethereum - ? ethplorerApi(apiKeys.ethplorerApiKey) - : covalentApi({ apiKey: apiKeys.covalentApiKey, chainId: ChainToChainId[chain] }); + if (!((chain === Chain.Ethereum ? ethplorerApiKey : covalentApiKey) || api)) { + throw new SwapKitError({ + errorKey: "wallet_missing_api_key", + info: { + chain, + }, + }); + } + + const apiWithFallback = + api || chain === Chain.Ethereum + ? ethplorerApi(apiKey) + : covalentApi({ apiKey: apiKey as string, chainId: ChainToChainId[chain] }); return prepareNetworkSwitch({ provider, @@ -161,7 +180,7 @@ async function getWalletMethodsForChain({ getBalance({ chain, provider: getProvider(chain), - api, + api: apiWithFallback, address, potentialScamFilter, }), @@ -176,6 +195,7 @@ async function getWalletMethodsForChain({ function connectKeepkeyBex({ addChain, + apis, config: { covalentApiKey, ethplorerApiKey, blockchairApiKey, thorswapApiKey }, }: ConnectWalletParams) { return async (chains: Chain[]) => { @@ -194,6 +214,7 @@ function connectKeepkeyBex({ blockchairApiKey, covalentApiKey, ethplorerApiKey, + apis, }); addChain({ diff --git a/packages/wallets/keplr/src/index.ts b/packages/wallets/keplr/src/index.ts index ee4555f24..1fb2f4494 100644 --- a/packages/wallets/keplr/src/index.ts +++ b/packages/wallets/keplr/src/index.ts @@ -10,6 +10,7 @@ import { filterSupportedChains, setRequestClientConfig, } from "@swapkit/helpers"; +import type { ThorchainToolboxType } from "@swapkit/toolbox-cosmos"; import { chainRegistry } from "./chainRegistry"; declare global { @@ -47,7 +48,9 @@ function connectKeplr({ } keplrClient?.enable(chainId); - const offlineSigner = keplrClient?.getOfflineSignerOnlyAmino(chainId); + const offlineSigner = keplrClient?.getOfflineSignerOnlyAmino(chainId, { + preferNoSetFee: chain === Chain.THORChain, + }); if (!offlineSigner) throw new Error("Could not load offlineSigner"); const { getToolboxByChain } = await import("@swapkit/toolbox-cosmos"); @@ -71,8 +74,26 @@ function connectKeplr({ from: params.from || address, }); + const deposit = + chain === Chain.THORChain + ? { + deposit: (params: { + from?: string; + assetValue: AssetValue; + memo?: string; + }) => + (toolbox as ThorchainToolboxType).deposit({ + ...params, + signer: offlineSigner, + from: params.from || address, + memo: params.memo || "", + }), + } + : {}; + addChain({ ...toolbox, + ...deposit, chain, transfer, address, diff --git a/packages/wallets/keystore/src/keystore.ts b/packages/wallets/keystore/src/keystore.ts index 1f8525609..bdce29892 100644 --- a/packages/wallets/keystore/src/keystore.ts +++ b/packages/wallets/keystore/src/keystore.ts @@ -1,6 +1,7 @@ import { type AssetValue, Chain, + type ChainApis, type ConnectWalletParams, CosmosChains, type DerivationPathArray, @@ -11,9 +12,9 @@ import { type WalletTxParams, type Witness, derivationPathToString, - ensureEVMApiKeys, filterSupportedChains, getRPCUrl, + pickEvmApiKey, setRequestClientConfig, updatedLastIndex, } from "@swapkit/helpers"; @@ -42,7 +43,7 @@ type KeystoreOptions = { }; type Params = KeystoreOptions & { - api?: any; + apis?: ChainApis; rpcUrl?: string; chain: Chain; phrase: string; @@ -50,7 +51,7 @@ type Params = KeystoreOptions & { }; const getWalletMethodsForChain = async ({ - api, + apis, rpcUrl, chain, phrase, @@ -71,16 +72,25 @@ const getWalletMethodsForChain = async ({ const { getProvider, getToolboxByChain } = await import("@swapkit/toolbox-evm"); const { HDNodeWallet } = await import("ethers"); - const keys = ensureEVMApiKeys({ chain, covalentApiKey, ethplorerApiKey }); + const api = apis?.[chain]; + + const apiKey = pickEvmApiKey({ + chain, + nonEthApiKey: covalentApiKey, + ethApiKey: ethplorerApiKey, + }); const provider = getProvider(chain, rpcUrl); const wallet = HDNodeWallet.fromPhrase(phrase).connect(provider); - const params = { ...keys, api, provider, signer: wallet }; + const params = { api, apiKey, provider, signer: wallet }; return { address: wallet.address, walletMethods: getToolboxByChain(chain)(params) }; } case Chain.BitcoinCash: { const { BCHToolbox } = await import("@swapkit/toolbox-utxo"); + + const api = apis?.[chain]; + const toolbox = BCHToolbox({ rpcUrl, apiKey: blockchairApiKey, apiClient: api }); const keys = await toolbox.createKeysForPath({ phrase, derivationPath }); const address = toolbox.getAddressFromKeys(keys); @@ -112,6 +122,8 @@ const getWalletMethodsForChain = async ({ case Chain.Litecoin: { const { getToolboxByChain } = await import("@swapkit/toolbox-utxo"); + const api = apis?.[chain]; + const toolbox = getToolboxByChain(chain)({ rpcUrl, apiKey: blockchairApiKey, @@ -138,6 +150,9 @@ const getWalletMethodsForChain = async ({ case Chain.Cosmos: case Chain.Kujira: { const { getToolboxByChain } = await import("@swapkit/toolbox-cosmos"); + + const api = apis?.[chain]; + const toolbox = getToolboxByChain(chain)({ server: api, stagenet }); const address = await toolbox.getAddressFromMnemonic(phrase); const signer = await toolbox.getSigner(phrase); @@ -151,6 +166,8 @@ const getWalletMethodsForChain = async ({ case Chain.THORChain: { const { getToolboxByChain } = await import("@swapkit/toolbox-cosmos"); + const api = apis?.[chain]; + const toolbox = getToolboxByChain(chain)({ server: api, stagenet }); const signer = await toolbox.getSigner(phrase); const address = await toolbox.getAddressFromMnemonic(phrase); @@ -251,7 +268,7 @@ function connectKeystore({ const { address, walletMethods } = await getWalletMethodsForChain({ derivationPath, chain, - api: apis[chain], + apis, rpcUrl: rpcUrls[chain], covalentApiKey, ethplorerApiKey, diff --git a/packages/wallets/ledger/src/ledger.ts b/packages/wallets/ledger/src/ledger.ts index be9b382f6..ede755205 100644 --- a/packages/wallets/ledger/src/ledger.ts +++ b/packages/wallets/ledger/src/ledger.ts @@ -6,9 +6,9 @@ import { FeeOption, StagenetChain, WalletOption, - ensureEVMApiKeys, filterSupportedChains, getRPCUrl, + pickEvmApiKey, setRequestClientConfig, } from "@swapkit/helpers"; import type { DepositParam, TransferParams } from "@swapkit/toolbox-cosmos"; @@ -111,14 +111,18 @@ const getToolbox = async ({ case Chain.Polygon: case Chain.BinanceSmartChain: case Chain.Base: { - const keys = ensureEVMApiKeys({ chain, covalentApiKey, ethplorerApiKey }); + const apiKey = pickEvmApiKey({ + chain, + nonEthApiKey: covalentApiKey, + ethApiKey: ethplorerApiKey, + }); const { getToolboxByChain, getProvider } = await import("@swapkit/toolbox-evm"); const signer = await getLedgerClient({ chain, derivationPath }); const address = await getLedgerAddress({ chain, ledgerClient: signer }); const provider = getProvider(chain, rpcUrl); const toolbox = getToolboxByChain(chain); - return { ...toolbox({ ...keys, api: apis[chain], signer, provider }), address }; + return { ...toolbox({ api: apis[chain], apiKey, signer, provider }), address }; } case Chain.Cosmos: { diff --git a/packages/wallets/ledger/src/ledgerLive.ts b/packages/wallets/ledger/src/ledgerLive.ts index f0ba9b549..8e6607869 100644 --- a/packages/wallets/ledger/src/ledgerLive.ts +++ b/packages/wallets/ledger/src/ledgerLive.ts @@ -174,7 +174,7 @@ export const getLedgerLiveWallet = async ({ const toolbox = ETHToolbox({ provider, signer: new VoidSigner(ledgerLiveAccount.address, provider), - ethplorerApiKey, + apiKey: ethplorerApiKey, }); const sendTransaction = async (unsignedTx: any) => { diff --git a/packages/wallets/okx/src/helpers.ts b/packages/wallets/okx/src/helpers.ts index 6a12b087f..e7cf71d17 100644 --- a/packages/wallets/okx/src/helpers.ts +++ b/packages/wallets/okx/src/helpers.ts @@ -1,14 +1,16 @@ import { Chain, + type ChainApis, ChainId, ChainToHexChainId, type EVMChain, - SwapKitError, getRPCUrl, + pickEvmApiKey, prepareNetworkSwitch, switchEVMWalletNetwork, } from "@swapkit/helpers"; import type { GaiaToolbox } from "@swapkit/toolbox-cosmos"; +import type { AlchemyApiType, CovalentApiType, EthplorerApiType } from "@swapkit/toolbox-evm"; import type { BTCToolbox, Psbt, UTXOTransferParams } from "@swapkit/toolbox-utxo"; import type { Eip1193Provider } from "ethers"; @@ -37,19 +39,19 @@ const cosmosTransfer = }; export const getWalletForChain = async ({ + apis, chain, ethplorerApiKey, covalentApiKey, blockchairApiKey, rpcUrl, - api, }: { + apis?: ChainApis; chain: Chain; ethplorerApiKey?: string; covalentApiKey?: string; blockchairApiKey?: string; rpcUrl?: string; - api?: any; }): Promise< ( | ReturnType @@ -71,10 +73,18 @@ export const getWalletForChain = async ({ const { getProvider } = await import("@swapkit/toolbox-evm"); + const api = apis?.[chain]; + + const apiKey = pickEvmApiKey({ + chain, + nonEthApiKey: covalentApiKey, + ethApiKey: ethplorerApiKey, + }); + const evmWallet = await getWeb3WalletMethods({ chain, - ethplorerApiKey, - covalentApiKey, + api, + apiKey, ethereumWindowProvider: window.okxwallet, }); @@ -94,6 +104,8 @@ export const getWalletForChain = async ({ const { Psbt, BTCToolbox } = await import("@swapkit/toolbox-utxo"); + const api = apis?.[chain]; + const address = (await wallet.connect()).address; const toolbox = BTCToolbox({ rpcUrl, apiKey: blockchairApiKey, apiClient: api }); @@ -116,6 +128,8 @@ export const getWalletForChain = async ({ } const { keplr: wallet } = window.okxwallet; + const api = apis?.[chain]; + await wallet.enable(ChainId.Cosmos); const accounts = await wallet.getOfflineSignerOnlyAmino(ChainId.Cosmos).getAccounts(); if (!accounts?.[0]) throw new Error("No cosmos account found"); @@ -138,38 +152,25 @@ export const getWalletForChain = async ({ export const getWeb3WalletMethods = async ({ ethereumWindowProvider, chain, - covalentApiKey, - ethplorerApiKey, + api, + apiKey, }: { ethereumWindowProvider: Eip1193Provider | undefined; chain: EVMChain; - covalentApiKey?: string; - ethplorerApiKey?: string; + api?: EthplorerApiType | CovalentApiType | AlchemyApiType; + apiKey?: string; }) => { const { getToolboxByChain } = await import("@swapkit/toolbox-evm"); const { BrowserProvider } = await import("ethers"); if (!ethereumWindowProvider) throw new Error("Requested web3 wallet is not installed"); - if ( - (chain !== Chain.Ethereum && !covalentApiKey) || - (chain === Chain.Ethereum && !ethplorerApiKey) - ) { - throw new SwapKitError({ - errorKey: "wallet_missing_api_key", - info: { - missingKey: chain === Chain.Ethereum ? "ethplorerApiKey" : "covalentApiKey", - chain, - }, - }); - } - const provider = new BrowserProvider(ethereumWindowProvider, "any"); const toolbox = getToolboxByChain(chain)({ + api, + apiKey, provider, signer: await provider.getSigner(), - ethplorerApiKey: ethplorerApiKey as string, - covalentApiKey: covalentApiKey as string, }); try { diff --git a/packages/wallets/okx/src/okxWallet.ts b/packages/wallets/okx/src/okxWallet.ts index c82977b97..acd031f46 100644 --- a/packages/wallets/okx/src/okxWallet.ts +++ b/packages/wallets/okx/src/okxWallet.ts @@ -22,6 +22,7 @@ export const OKX_SUPPORTED_CHAINS = [ function connectOkx({ addChain, + apis, config: { thorswapApiKey, covalentApiKey, ethplorerApiKey, blockchairApiKey }, }: ConnectWalletParams) { return async function connectOkx(chains: Chain[]) { @@ -31,6 +32,7 @@ function connectOkx({ const promises = supportedChains.map(async (chain) => { const walletMethods = await getWalletForChain({ + apis, chain, covalentApiKey, ethplorerApiKey, diff --git a/packages/wallets/phantom/src/index.ts b/packages/wallets/phantom/src/index.ts index dafbba8f5..e214d87b0 100644 --- a/packages/wallets/phantom/src/index.ts +++ b/packages/wallets/phantom/src/index.ts @@ -2,12 +2,13 @@ import { PublicKey, SystemProgram, Transaction } from "@solana/web3.js"; import { type AssetValue, Chain, + type ChainApis, type ConnectWalletParams, SwapKitError, WalletOption, type WalletTxParams, - ensureEVMApiKeys, filterSupportedChains, + pickEvmApiKey, setRequestClientConfig, } from "@swapkit/helpers"; import type { SolanaProvider } from "@swapkit/toolbox-solana"; @@ -23,14 +24,16 @@ declare global { } } -async function getWalletMethods({ +async function getWalletMethods({ + apis, chain, rpcUrl, covalentApiKey, ethplorerApiKey, }: { + apis?: ChainApis; rpcUrl?: string; - chain: T; + chain: (typeof PHANTOM_SUPPORTED_CHAINS)[number]; covalentApiKey?: string; ethplorerApiKey?: string; }) { @@ -54,14 +57,21 @@ async function getWalletMethods({ const { getToolboxByChain } = await import("@swapkit/toolbox-evm"); const { BrowserProvider } = await import("ethers"); + const api = apis?.[chain]; + const provider = new BrowserProvider(phantom?.ethereum, "any"); const [address] = await provider.send("eth_requestAccounts", []); - const toolbox = getToolboxByChain(chain); - const keys = ensureEVMApiKeys({ chain, covalentApiKey, ethplorerApiKey }); + const apiKey = pickEvmApiKey({ + chain, + nonEthApiKey: covalentApiKey, + ethApiKey: ethplorerApiKey, + }); const signer = await provider.getSigner(); - return { ...toolbox({ ...keys, signer, provider }), address }; + const toolbox = getToolboxByChain(chain)({ api, apiKey, signer, provider }); + + return { ...toolbox, address }; } case Chain.Solana: { diff --git a/packages/wallets/polkadotjs/src/helpers.ts b/packages/wallets/polkadotjs/src/helpers.ts index f68ec864b..433c68cf0 100644 --- a/packages/wallets/polkadotjs/src/helpers.ts +++ b/packages/wallets/polkadotjs/src/helpers.ts @@ -2,7 +2,7 @@ import { Chain, SwapKitError, WalletOption } from "@swapkit/helpers"; import { decodeAddress, encodeAddress } from "@polkadot/util-crypto"; -import type { InjectedWindow, PolkadotToolbox } from "@swapkit/toolbox-substrate"; +import type { InjectedWindow } from "@swapkit/toolbox-substrate"; export const convertAddress = (inputAddress: string, newPrefix: number): string => { const decodedAddress = decodeAddress(inputAddress); @@ -14,12 +14,7 @@ export const getWalletForChain = async ({ chain, }: { chain: Chain; - ethplorerApiKey?: string; - covalentApiKey?: string; -}): Promise<{ - walletMethods: Awaited>; - address: string; -}> => { +}) => { switch (chain) { case Chain.Polkadot: { const { getToolboxByChain } = await import("@swapkit/toolbox-substrate"); diff --git a/packages/wallets/polkadotjs/src/polkadot.ts b/packages/wallets/polkadotjs/src/polkadot.ts index 682031771..558e2017f 100644 --- a/packages/wallets/polkadotjs/src/polkadot.ts +++ b/packages/wallets/polkadotjs/src/polkadot.ts @@ -9,10 +9,7 @@ import { getWalletForChain } from "./helpers"; const POLKADOT_SUPPORTED_CHAINS = [Chain.Polkadot] as const; -function connectPolkadotJs({ - addChain, - config: { thorswapApiKey, covalentApiKey, ethplorerApiKey }, -}: ConnectWalletParams) { +function connectPolkadotJs({ addChain, config: { thorswapApiKey } }: ConnectWalletParams) { return async function connectPolkadotJs(chains: Chain[]) { setRequestClientConfig({ apiKey: thorswapApiKey }); @@ -25,8 +22,6 @@ function connectPolkadotJs({ const promises = supportedChains.map(async (chain) => { const { address, walletMethods } = await getWalletForChain({ chain, - covalentApiKey, - ethplorerApiKey, }); addChain({ diff --git a/packages/wallets/talisman/src/helpers.ts b/packages/wallets/talisman/src/helpers.ts index 633bd1b0c..3e7b288c0 100644 --- a/packages/wallets/talisman/src/helpers.ts +++ b/packages/wallets/talisman/src/helpers.ts @@ -1,12 +1,13 @@ import { decodeAddress, encodeAddress } from "@polkadot/util-crypto"; import { Chain, + type ChainApis, ChainToHexChainId, type EVMChain, type EthereumWindowProvider, SwapKitError, WalletOption, - ensureEVMApiKeys, + pickEvmApiKey, prepareNetworkSwitch, switchEVMWalletNetwork, } from "@swapkit/helpers"; @@ -26,11 +27,13 @@ export const convertAddress = (inputAddress: string, newPrefix: number): string }; export const getWeb3WalletMethods = async ({ + apis, ethereumWindowProvider, chain, covalentApiKey, ethplorerApiKey, }: { + apis?: ChainApis; ethereumWindowProvider: Eip1193Provider | undefined; chain: EVMChain; covalentApiKey?: string; @@ -46,11 +49,13 @@ export const getWeb3WalletMethods = async ({ }); } - const keys = ensureEVMApiKeys({ chain, covalentApiKey, ethplorerApiKey }); + const api = apis?.[chain]; + + const apiKey = pickEvmApiKey({ chain, nonEthApiKey: covalentApiKey, ethApiKey: ethplorerApiKey }); const provider = new BrowserProvider(ethereumWindowProvider, "any"); const signer = await provider.getSigner(); - const toolbox = getToolboxByChain(chain)({ ...keys, provider, signer }); + const toolbox = getToolboxByChain(chain)({ api, apiKey, provider, signer }); try { chain !== Chain.Ethereum && @@ -74,10 +79,12 @@ export const getWeb3WalletMethods = async ({ }; export const getWalletForChain = async ({ + apis, chain, ethplorerApiKey, covalentApiKey, }: { + apis?: ChainApis; chain: Chain; ethplorerApiKey?: string; covalentApiKey?: string; @@ -97,6 +104,7 @@ export const getWalletForChain = async ({ const { getProvider } = await import("@swapkit/toolbox-evm"); const evmWallet = await getWeb3WalletMethods({ + apis, chain, ethereumWindowProvider: window.talismanEth, covalentApiKey, diff --git a/packages/wallets/talisman/src/talisman.ts b/packages/wallets/talisman/src/talisman.ts index b8dc7b1b1..b343fa418 100644 --- a/packages/wallets/talisman/src/talisman.ts +++ b/packages/wallets/talisman/src/talisman.ts @@ -21,6 +21,7 @@ const TALISMAN_SUPPORTED_CHAINS = [ function connectTalisman({ addChain, + apis, config: { thorswapApiKey, covalentApiKey, ethplorerApiKey }, }: ConnectWalletParams) { return async function connectTalisman(chains: Chain[]) { @@ -34,6 +35,7 @@ function connectTalisman({ const promises = supportedChains.map(async (chain) => { const { address, walletMethods } = await getWalletForChain({ + apis, chain, covalentApiKey, ethplorerApiKey, diff --git a/packages/wallets/trezor/src/index.ts b/packages/wallets/trezor/src/index.ts index 1ef82b843..1fe4727e3 100644 --- a/packages/wallets/trezor/src/index.ts +++ b/packages/wallets/trezor/src/index.ts @@ -1,13 +1,14 @@ import { Chain, + type ChainApis, type ConnectWalletParams, type DerivationPathArray, FeeOption, SwapKitError, WalletOption, derivationPathToString, - ensureEVMApiKeys, filterSupportedChains, + pickEvmApiKey, setRequestClientConfig, } from "@swapkit/helpers"; import type { Psbt, UTXOTransferParams, UTXOType } from "@swapkit/toolbox-utxo"; @@ -35,8 +36,7 @@ type TrezorOptions = { }; type Params = TrezorOptions & { - // TODO improve api typing - api?: any; + apis?: ChainApis; chain: Chain; derivationPath: DerivationPathArray; rpcUrl?: string; @@ -56,7 +56,7 @@ function getScriptType(derivationPath: DerivationPathArray) { } async function getToolbox({ - api, + apis, rpcUrl, chain, derivationPath, @@ -75,14 +75,20 @@ async function getToolbox({ const { getProvider, getToolboxByChain } = await import("@swapkit/toolbox-evm"); const { getEVMSigner } = await import("./evmSigner"); - const keys = ensureEVMApiKeys({ chain, ethplorerApiKey, covalentApiKey }); + const api = apis?.[chain]; + + const apiKey = pickEvmApiKey({ + chain, + ethApiKey: ethplorerApiKey, + nonEthApiKey: covalentApiKey, + }); const provider = getProvider(chain, rpcUrl); const toolbox = getToolboxByChain(chain); const signer = await getEVMSigner({ chain, derivationPath, provider }); const address = await signer.getAddress(); - return { address, walletMethods: toolbox({ ...keys, api, provider, signer }) }; + return { address, walletMethods: toolbox({ api, apiKey, provider, signer }) }; } case Chain.Bitcoin: @@ -94,6 +100,8 @@ async function getToolbox({ "@swapkit/toolbox-utxo" ); + const api = apis?.[chain]; + if (!(blockchairApiKey || api)) { throw new SwapKitError({ errorKey: "wallet_missing_api_key", @@ -283,7 +291,7 @@ function connectTrezor({ } const { address, walletMethods } = await getToolbox({ - api: apis[chain], + apis, rpcUrl: rpcUrls[chain], chain, covalentApiKey, diff --git a/packages/wallets/wc/src/walletconnect.ts b/packages/wallets/wc/src/walletconnect.ts index 3e657f5ef..ec6d8acd5 100644 --- a/packages/wallets/wc/src/walletconnect.ts +++ b/packages/wallets/wc/src/walletconnect.ts @@ -1,13 +1,14 @@ import type { StdSignDoc } from "@cosmjs/amino"; import { Chain, + type ChainApis, ChainId, type ConnectWalletParams, SwapKitError, WalletOption, - ensureEVMApiKeys, filterSupportedChains, getRPCUrl, + pickEvmApiKey, setRequestClientConfig, } from "@swapkit/helpers"; import type { BaseCosmosToolboxType, DepositParam, TransferParams } from "@swapkit/toolbox-cosmos"; @@ -40,6 +41,7 @@ export const WC_SUPPORTED_CHAINS = [ ] as const; async function getToolbox({ + apis, chain, walletconnect, address, @@ -47,6 +49,7 @@ async function getToolbox({ ethplorerApiKey, covalentApiKey, }: { + apis: ChainApis; walletconnect: Walletconnect; session: SessionTypes.Struct; chain: (typeof WC_SUPPORTED_CHAINS)[number]; @@ -65,13 +68,19 @@ async function getToolbox({ case Chain.Polygon: { const { getProvider, getToolboxByChain } = await import("@swapkit/toolbox-evm"); - const keys = ensureEVMApiKeys({ chain, ethplorerApiKey, covalentApiKey }); + const api = apis?.[chain]; + + const apiKey = pickEvmApiKey({ + chain, + ethApiKey: ethplorerApiKey, + nonEthApiKey: covalentApiKey, + }); const provider = getProvider(chain); const signer = await getEVMSigner({ walletconnect, chain, provider }); - const toolbox = getToolboxByChain(chain); - // @ts-expect-error TODO: fix this - return toolbox({ ...keys, provider, signer }); + const toolbox = getToolboxByChain(chain)({ api, apiKey, provider, signer }); + + return toolbox; } case Chain.THORChain: { @@ -246,6 +255,7 @@ export type Walletconnect = Awaited>; function connectWalletconnect({ addChain, + apis, config: { thorswapApiKey, ethplorerApiKey, @@ -283,6 +293,7 @@ function connectWalletconnect({ const address = getAddressByChain(chain, accounts); const toolbox = await getToolbox({ + apis, session, address, chain, diff --git a/playgrounds/nextjs/src/lib/swapKit.ts b/playgrounds/nextjs/src/lib/swapKit.ts index b5690c214..4f8f1cedb 100644 --- a/playgrounds/nextjs/src/lib/swapKit.ts +++ b/playgrounds/nextjs/src/lib/swapKit.ts @@ -1,11 +1,18 @@ "use client"; import type { SwapKit } from "@swapkit/core"; -import type { AssetValue, Chain, EVMChain } from "@swapkit/helpers"; -import { NetworkDerivationPath, WalletOption } from "@swapkit/helpers"; +import type { AssetValue, ChainApis, EVMChain } from "@swapkit/helpers"; +import { + Chain, + ChainToChainId, + EVMChains, + NetworkDerivationPath, + WalletOption, +} from "@swapkit/helpers"; import type { ChainflipPlugin } from "@swapkit/plugin-chainflip"; import type { KadoPlugin } from "@swapkit/plugin-kado"; import type { MayachainPlugin, ThorchainPlugin } from "@swapkit/plugin-thorchain"; +import { alchemyApi } from "@swapkit/toolbox-evm"; import type { wallets } from "@swapkit/wallets"; import { atom, useAtom } from "jotai"; @@ -45,7 +52,21 @@ export const useSwapKit = () => { const { ThorchainPlugin, MayachainPlugin } = await import("@swapkit/plugin-thorchain"); const { wallets } = await import("@swapkit/wallets"); + const alchemyApiKey = process.env.NEXT_PUBLIC_ALCHEMY_API_KEY; + + const apis: ChainApis = {}; + + for (const chain of EVMChains) { + if (alchemyApiKey) { + apis[chain] = alchemyApi({ + apiKey: alchemyApiKey, + chainId: ChainToChainId[Chain.Arbitrum], + }); + } + } + const swapKitClient = SwapKit({ + apis, config: { blockchairApiKey: process.env.NEXT_PUBLIC_BLOCKCHAIR_API_KEY || "A___Tcn5B16iC3mMj7QrzZCb2Ho1QBUf", diff --git a/playgrounds/vite/src/App.tsx b/playgrounds/vite/src/App.tsx index ea1b6249b..14e2344d8 100644 --- a/playgrounds/vite/src/App.tsx +++ b/playgrounds/vite/src/App.tsx @@ -29,6 +29,7 @@ const App = () => { const [keys, setKeys] = useState({ blockchairApiKey: import.meta.env.VITE_BLOCKCHAIR_API_KEY || "A___Tcn5B16iC3mMj7QrzZCb2Ho1QBUf", covalentApiKey: import.meta.env.VITE_COVALENT_API_KEY || "cqt_rQ6333MVWCVJFVX3DbCCGMVqRH4q", + alchemyApiKey: import.meta.env.VITE_ALCHEMY_API_KEY || import.meta.env.ALCHEMY_API_KEY || "", ethplorerApiKey: import.meta.env.VITE_ETHPLORER_API_KEY || "freekey", walletConnectProjectId: "", brokerEndpoint: "https://dev-api.swapkit.dev/channel", diff --git a/playgrounds/vite/src/swapKitClient.ts b/playgrounds/vite/src/swapKitClient.ts index d554d29a9..67abf6da7 100644 --- a/playgrounds/vite/src/swapKitClient.ts +++ b/playgrounds/vite/src/swapKitClient.ts @@ -1,4 +1,5 @@ -import { createSwapKit } from "@swapkit/sdk"; +import { Chain, type ChainApis, ChainToChainId, EVMChains, createSwapKit } from "@swapkit/sdk"; +import { alchemyApi } from "@swapkit/toolbox-evm"; export type SwapKitClient = ReturnType; @@ -9,6 +10,7 @@ export const getSwapKitClient = ( params: { ethplorerApiKey?: string; covalentApiKey?: string; + alchemyApiKey?: string; blockchairApiKey?: string; walletConnectProjectId?: string; stagenet?: boolean; @@ -23,6 +25,17 @@ export const getSwapKitClient = ( oldKey = key; + const apis: ChainApis = {}; + + for (const chain of EVMChains) { + if (params.alchemyApiKey) { + apis[chain] = alchemyApi({ + apiKey: params.alchemyApiKey, + chainId: ChainToChainId[Chain.Arbitrum], + }); + } + } + client = createSwapKit({ config: { ...params, @@ -38,6 +51,7 @@ export const getSwapKitClient = ( }, chainflipBrokerUrl: params.brokerEndpoint, }, + apis, }); return client;