@cobaltx/sdk-v2
Version:
An SDK for building applications on top of CobaltX.
206 lines (198 loc) • 9.77 kB
text/typescript
import { PublicKey } from "@solana/web3.js";
export enum NetworkName {
sooneth = "sooneth",
// sooneth_testnet = "sooneth_testnet",
svmbnb = "svmbnb",
svmbnb_testnet = "svmbnb_testnet",
svmbase_testnet = "svmbase_testnet",
soonbase_mainnet = "soonbase_mainnet",
}
export interface NetworkConfig {
SWAP_HOST: string;
NATIVE_TOKEN_SYMBOL: string;
BASE_HOST: string;
OWNER_BASE_HOST: string;
SERVICE_BASE_HOST: string;
MONITOR_BASE_HOST: string;
SERVICE_1_BASE_HOST: string;
ANALYTICS_BASE_HOST: string;
GITHUB_TOKEN_LIST_URL: string;
WSOL_MINT_ADDRESS: string;
GITHUB_LOGO_URL: string;
LOOKUP_TABLE_CACHE: string;
CLMM_PROGRAMM_ID: string;
FULL_TOKEN_NAME: string;
USDC_MINT_ADDRESS: string;
USDT_MINT_ADDRESS: string;
ETH_MINT_ADDRESS: string;
BONK_MINT_ADDRESS?: string | undefined;
SOL_MINT_ADDRESS?: string | undefined;
WRAPPED_TOKEN_SYMBOL: string;
WSOL_DECIMALS: number;
INPUT_MINT_ADDRESS: string;
OUTPUT_MINT_ADDRESS: string;
POPULAR_TOKENS: {
SOL?: string,
ETH?: string,
USDC?: string,
USDT?: string,
};
}
export const NETWORK_CONFIG: Record<NetworkName, NetworkConfig> = {
[NetworkName.sooneth]: {
NATIVE_TOKEN_SYMBOL: "ETH",
SWAP_HOST: "https://trade-api.cobaltx.io",
BASE_HOST: "https://api.cobaltx.io",
OWNER_BASE_HOST: "https://api.cobaltx.io",
SERVICE_BASE_HOST: "https://api.cobaltx.io",
MONITOR_BASE_HOST: "https://api.cobaltx.io",
SERVICE_1_BASE_HOST: "https://api.cobaltx.io",
ANALYTICS_BASE_HOST: "https://api.cobaltx.io",
GITHUB_TOKEN_LIST_URL: "https://raw.githubusercontent.com/cobaltx-io/tokens/main/tokens.json",
WSOL_MINT_ADDRESS: "So11111111111111111111111111111111111111112",
GITHUB_LOGO_URL:
"https://raw.githubusercontent.com/cobaltx-io/tokens/main/logo/So11111111111111111111111111111111111111112.png",
LOOKUP_TABLE_CACHE: "6fa5xTGwoYJPMLMXaQ4tQFKMoYvXuvsJFLigMJ9a5QeB",
CLMM_PROGRAMM_ID: "2TnjBuwqyBB9to5jURagDT7jLmBPefGRiKL2yh1zPZ4V",
BONK_MINT_ADDRESS: "71kRXzJMvSeArtXYNEWa8KAjpRJosdMQ7Dpgy5Jt5zfd",
SOL_MINT_ADDRESS: "ERFzpDteGNo8LTDKW1WwVGrkRMmA2y9WZHXNHxMA6BSV",
USDC_MINT_ADDRESS: "ExYxyorY2x3h8gLcuypnHFQV3F36rmMkQVn7HHV8mUy9",
USDT_MINT_ADDRESS: "742wcXVzkhNuEePAot7L3GvPseh93pvYFPgyHLX8mUy9",
FULL_TOKEN_NAME: "Wrapped Ethereum",
ETH_MINT_ADDRESS: "71kRXzJMvSeArtXYNEWa8KAjpRJosdMQ7Dpgy5Jt5zfd",
WRAPPED_TOKEN_SYMBOL: "WETH",
INPUT_MINT_ADDRESS: PublicKey.default.toString(),
OUTPUT_MINT_ADDRESS: "742wcXVzkhNuEePAot7L3GvPseh93pvYFPgyHLX8mUy9",
POPULAR_TOKENS: {
SOL: PublicKey.default.toString(),
ETH: "71kRXzJMvSeArtXYNEWa8KAjpRJosdMQ7Dpgy5Jt5zfd",
USDC: "ExYxyorY2x3h8gLcuypnHFQV3F36rmMkQVn7HHV8KjtA",
USDT: "742wcXVzkhNuEePAot7L3GvPseh93pvYFPgyHLX8mUy9",
},
WSOL_DECIMALS: 9,
},
[NetworkName.svmbnb]: {
NATIVE_TOKEN_SYMBOL: "BNB",
SWAP_HOST: "https://trade-api.svmbnb.cobaltx.io",
BASE_HOST: "https://api.svmbnb.cobaltx.io",
OWNER_BASE_HOST: "https://api.svmbnb.cobaltx.io",
SERVICE_BASE_HOST: "https://api.svmbnb.cobaltx.io",
MONITOR_BASE_HOST: "https://api.svmbnb.cobaltx.io",
SERVICE_1_BASE_HOST: "https://api.svmbnb.cobaltx.io",
ANALYTICS_BASE_HOST: "https://api.svmbnb.cobaltx.io",
GITHUB_TOKEN_LIST_URL: "https://raw.githubusercontent.com/cobaltx-io/svmbnb-tokens/main/tokens.json",
WSOL_MINT_ADDRESS: "So11111111111111111111111111111111111111112",
GITHUB_LOGO_URL:
"https://raw.githubusercontent.com/cobaltx-io/svmbnb-tokens/main/logo/So11111111111111111111111111111111111111112.svg",
LOOKUP_TABLE_CACHE: "GSR5XQGWhpzV9TTduBJR6qPNjYsepMQSGkpaqfrbrW9w",
CLMM_PROGRAMM_ID: "6f1b3xyVZbnWMHXBjgW1KPwxmPAgXcRdrvKNn4Nmf1Cn",
ETH_MINT_ADDRESS: "H3xpFH1yN5E1zFdAoBrC9Y7m7RfJUeQNLvkHi8kNf9Qu",
USDC_MINT_ADDRESS: "5odzAHDpDETYhupMkc6kjiYen3K2nrf8oPmvqmsoNW4L",
USDT_MINT_ADDRESS: "s8cRDxnp3VxjB6khRnGDdxv6QbCUPyY9Vn1bgSQQsnG",
SOL_MINT_ADDRESS: "So11111111111111111111111111111111111111112",
FULL_TOKEN_NAME: "Wrapped BNB",
WRAPPED_TOKEN_SYMBOL: "WBNB",
INPUT_MINT_ADDRESS: PublicKey.default.toBase58(),
OUTPUT_MINT_ADDRESS: "ABoT7umUXnx8RtJTeRqKB6myebVjP2wdJGQuV23jVVH3",
POPULAR_TOKENS: {
SOL: PublicKey.default.toString(),
ETH: "H3xpFH1yN5E1zFdAoBrC9Y7m7RfJUeQNLvkHi8kNf9Qu",
USDC: "5odzAHDpDETYhupMkc6kjiYen3K2nrf8oPmvqmsoNW4L",
USDT: "s8cRDxnp3VxjB6khRnGDdxv6QbCUPyY9Vn1bgSQQsnG",
},
WSOL_DECIMALS: 9,
},
[NetworkName.svmbnb_testnet]: {
NATIVE_TOKEN_SYMBOL: "BNB",
SWAP_HOST: "https://trade-api.svmbnb.cobaltx.io",
BASE_HOST: "https://api.testnet.svmbnb.cobaltx.io",
OWNER_BASE_HOST: "https://api.testnet.svmbnb.cobaltx.io",
SERVICE_BASE_HOST: "https://api.testnet.svmbnb.cobaltx.io",
MONITOR_BASE_HOST: "https://api.testnet.svmbnb.cobaltx.io",
SERVICE_1_BASE_HOST: "https://api.testnet.svmbnb.cobaltx.io",
ANALYTICS_BASE_HOST: "https://api.testnet.svmbnb.cobaltx.io",
GITHUB_TOKEN_LIST_URL: "https://raw.githubusercontent.com/cobaltx-io/svmbnb-testnet-tokens/main/tokens.json",
WSOL_MINT_ADDRESS: "So11111111111111111111111111111111111111112",
GITHUB_LOGO_URL:
"https://raw.githubusercontent.com/cobaltx-io/svmbnb-testnet-tokens/main/logo/So11111111111111111111111111111111111111112.svg",
LOOKUP_TABLE_CACHE: "D79gSiTNV9pyLPJyscW5yZYwdPVDrtKsamL3ZfQi6JiM",
CLMM_PROGRAMM_ID: "FgycD57kcCZsjpoTAi2u67GTPxm59bPEhycL2Lw1icm1",
ETH_MINT_ADDRESS: "5aLr3sV4UNVcMB6CiA3PZTWbgVBRNyMdEp1s5LNfhR95",
USDC_MINT_ADDRESS: "jrhUNRxEDpFmGV3sqaWyveS7bVtRQgtHsfBTCdjfMBw",
USDT_MINT_ADDRESS: "Ex86C4gmdjvPRNrfyvsyejbjkP6RstNaBC5g3itZw2iv",
FULL_TOKEN_NAME: "Wrapped BNB",
WRAPPED_TOKEN_SYMBOL: "WBNB",
INPUT_MINT_ADDRESS: "bnb",
OUTPUT_MINT_ADDRESS: "jrhUNRxEDpFmGV3sqaWyveS7bVtRQgtHsfBTCdjfMBw",
POPULAR_TOKENS: {
SOL: PublicKey.default.toString(),
ETH: "5aLr3sV4UNVcMB6CiA3PZTWbgVBRNyMdEp1s5LNfhR95",
USDC: "jrhUNRxEDpFmGV3sqaWyveS7bVtRQgtHsfBTCdjfMBw",
USDT: "Ex86C4gmdjvPRNrfyvsyejbjkP6RstNaBC5g3itZw2iv",
},
WSOL_DECIMALS: 9,
},
[NetworkName.svmbase_testnet]: {
NATIVE_TOKEN_SYMBOL: "ETH",
SWAP_HOST: "https://trade-api.testnet.svmbase.cobaltx.io",
BASE_HOST: "https://api.testnet.svmbase.cobaltx.io",
OWNER_BASE_HOST: "https://api.testnet.svmbase.cobaltx.io",
SERVICE_BASE_HOST: "https://api.testnet.svmbase.cobaltx.io",
MONITOR_BASE_HOST: "https://api.testnet.svmbase.cobaltx.io",
SERVICE_1_BASE_HOST: "https://api.testnet.svmbase.cobaltx.io",
ANALYTICS_BASE_HOST: "https://api.testnet.svmbase.cobaltx.io",
GITHUB_TOKEN_LIST_URL: "https://raw.githubusercontent.com/cobaltx-io/svmbase-testnet-tokens/main/tokens.json",
WSOL_MINT_ADDRESS: "So11111111111111111111111111111111111111112",
GITHUB_LOGO_URL:
"https://raw.githubusercontent.com/cobaltx-io/svmbase-testnet-tokens/main/logo/So11111111111111111111111111111111111111112.png",
LOOKUP_TABLE_CACHE: "AyPMvNmUUY2jwZ75NxhkLYPraQGNk5DssVfP4TnMcPJF",
CLMM_PROGRAMM_ID: "DnZnBqJKiGSYHUHYvkXAbQmkMbwrjfgo4orR7jWyMsik",
ETH_MINT_ADDRESS: "71kRXzJMvSeArtXYNEWa8KAjpRJosdMQ7Dpgy5Jt5zfd",
USDC_MINT_ADDRESS: "63tPXWPnYeZ9hA3dJsAY5RcQ8YbwEz8uZ5nKu3uFD1aK",
USDT_MINT_ADDRESS: "4fyX7hSmPetQC2wRS3YVAhWeFzif7WStarKwTvCXrBtD",
FULL_TOKEN_NAME: "Wrapped Ethereum",
WRAPPED_TOKEN_SYMBOL: "WETH",
INPUT_MINT_ADDRESS: PublicKey.default.toString(),
OUTPUT_MINT_ADDRESS: "63tPXWPnYeZ9hA3dJsAY5RcQ8YbwEz8uZ5nKu3uFD1aK",
POPULAR_TOKENS: {
SOL: PublicKey.default.toString(),
ETH: "So11111111111111111111111111111111111111112",
USDC: "63tPXWPnYeZ9hA3dJsAY5RcQ8YbwEz8uZ5nKu3uFD1aK",
USDT: "4fyX7hSmPetQC2wRS3YVAhWeFzif7WStarKwTvCXrBtD",
},
WSOL_DECIMALS: 9,
},
[NetworkName.soonbase_mainnet]: {
NATIVE_TOKEN_SYMBOL: "ETH",
SWAP_HOST: "https://trade-api.soonbase.cobaltx.io",
BASE_HOST: "https://api.soonbase.cobaltx.io",
OWNER_BASE_HOST: "https://api.soonbase.cobaltx.io",
SERVICE_BASE_HOST: "https://api.soonbase.cobaltx.io",
MONITOR_BASE_HOST: "https://api.soonbase.cobaltx.io",
SERVICE_1_BASE_HOST: "https://api.soonbase.cobaltx.io",
ANALYTICS_BASE_HOST: "https://api.soonbase.cobaltx.io",
GITHUB_TOKEN_LIST_URL: "https://raw.githubusercontent.com/cobaltx-io/soonbase-tokens/main/tokens.json",
WSOL_MINT_ADDRESS: "So11111111111111111111111111111111111111112",
GITHUB_LOGO_URL:
"https://raw.githubusercontent.com/cobaltx-io/soonbase-tokens/main/logo/So11111111111111111111111111111111111111112.png",
LOOKUP_TABLE_CACHE: "FGRusuLycV6nhSPQc9VX55YjT6DCzJFc59mvTTarSTjK",
CLMM_PROGRAMM_ID: "6f1b3xyVZbnWMHXBjgW1KPwxmPAgXcRdrvKNn4Nmf1Cn",
ETH_MINT_ADDRESS: "71kRXzJMvSeArtXYNEWa8KAjpRJosdMQ7Dpgy5Jt5zfd",
USDC_MINT_ADDRESS: "BoYN2f2gLQS4jpvMSV9dAZwfzKJiKGk4NPck5BjXfujo",
USDT_MINT_ADDRESS: "J87bysZjwfS3n6KR21cwbdPZVJWNSFcXpWF5kiChAwQH",
FULL_TOKEN_NAME: "Wrapped Ethereum",
WRAPPED_TOKEN_SYMBOL: "WETH",
INPUT_MINT_ADDRESS: PublicKey.default.toString(),
OUTPUT_MINT_ADDRESS: "BoYN2f2gLQS4jpvMSV9dAZwfzKJiKGk4NPck5BjXfujo",
POPULAR_TOKENS: {
SOL: PublicKey.default.toString(),
ETH: "FkvCG5DcuYCQ1BnPH4ZzTkCdk3VzutgyDAFBec4qAjhh",
USDC: "BoYN2f2gLQS4jpvMSV9dAZwfzKJiKGk4NPck5BjXfujo",
USDT: "J87bysZjwfS3n6KR21cwbdPZVJWNSFcXpWF5kiChAwQH",
},
WSOL_DECIMALS: 9,
},
};
export const getNetworkConfig = (network: NetworkName): NetworkConfig => {
return NETWORK_CONFIG[network];
};