From 37fe5139ccfcd06a3a6e26d0d73ca0f5ea24f63e Mon Sep 17 00:00:00 2001 From: Justin Starry Date: Mon, 6 Sep 2021 15:00:13 -0700 Subject: [PATCH] Add more program labels to explorer (#19630) --- explorer/src/utils/tx.ts | 101 ++++++++++++++++++++++++++++++++------- 1 file changed, 85 insertions(+), 16 deletions(-) diff --git a/explorer/src/utils/tx.ts b/explorer/src/utils/tx.ts index 54bfb1dd1..534c22250 100644 --- a/explorer/src/utils/tx.ts +++ b/explorer/src/utils/tx.ts @@ -25,6 +25,7 @@ export type ProgramName = export enum PROGRAM_NAMES { // native built-ins + ADDRESS_MAP = "Address Map Program", CONFIG = "Config Program", STAKE = "Stake Program", SYSTEM = "System Program", @@ -37,20 +38,43 @@ export enum PROGRAM_NAMES { LENDING = "Lending Program", MEMO = "Memo Program", MEMO_2 = "Memo Program v2", + NAME = "Name Service Program", + STAKE_POOL = "Stake Pool Program", SWAP = "Swap Program", TOKEN = "Token Program", + TOKEN_METADATA = "Token Metadata Program", + TOKEN_VAULT = "Token Vault Program", // other - WORMHOLE = "Wormhole", + ACUMEN = "Acumen Program", BONFIDA_POOL = "Bonfida Pool Program", BREAK_SOLANA = "Break Solana Program", - RAYDIUM_LIQUIDITY_1 = "Raydium Liquidity Pool Program v1", - RAYDIUM_LIQUIDITY_2 = "Raydium Liquidity Pool Program v2", + MANGO_GOVERNANCE = "Mango Governance Program", + MANGO_ICO = "Mango ICO Program", + MANGO_1 = "Mango Program v1", + MANGO_2 = "Mango Program v2", + MANGO_3 = "Mango Program v3", + MARINADE = "Marinade Staking Program", + METAPLEX = "Metaplex Program", + NFT_AUCTION = "NFT Auction Program", + NFT_CANDY_MACHINE = "NFT Candy Machine Program", + ORCA = "Orca Swap Program", + PORT = "Port Finance Program", + PYTH = "Pyth Oracle Program", + RAYDIUM_AMM = "Raydium AMM Program", + RAYDIUM_IDO = "Raydium IDO Program", + RAYDIUM_LP_1 = "Raydium Liquidity Pool Program v1", + RAYDIUM_LP_2 = "Raydium Liquidity Pool Program v2", RAYDIUM_STAKING = "Raydium Staking Program", + SABER_SWAP = "Saber Stable Swap Program", SERUM_1 = "Serum Program v1", SERUM_2 = "Serum Program v2", SERUM_3 = "Serum Program v3", - MANGO_3 = "Mango Program v3", + SOLEND = "Solend Program", + STEP_SWAP = "Step Finance Swap Program", + SUNNY = "Sunny Yield Aggregator Program", + SWITCHBOARD = "Switchboard Oracle Program", + WORMHOLE = "Wormhole", } const ALL_CLUSTERS = [ @@ -61,11 +85,11 @@ const ALL_CLUSTERS = [ ]; const LIVE_CLUSTERS = [Cluster.Devnet, Cluster.Testnet, Cluster.MainnetBeta]; - const MAINNET_ONLY = [Cluster.MainnetBeta]; export const PROGRAM_DEPLOYMENTS = { // native built-ins + [PROGRAM_NAMES.ADDRESS_MAP]: ALL_CLUSTERS, [PROGRAM_NAMES.CONFIG]: ALL_CLUSTERS, [PROGRAM_NAMES.STAKE]: ALL_CLUSTERS, [PROGRAM_NAMES.SYSTEM]: ALL_CLUSTERS, @@ -78,24 +102,48 @@ export const PROGRAM_DEPLOYMENTS = { [PROGRAM_NAMES.LENDING]: LIVE_CLUSTERS, [PROGRAM_NAMES.MEMO]: ALL_CLUSTERS, [PROGRAM_NAMES.MEMO_2]: ALL_CLUSTERS, + [PROGRAM_NAMES.NAME]: LIVE_CLUSTERS, + [PROGRAM_NAMES.STAKE_POOL]: [Cluster.Devnet, Cluster.Testnet] as Cluster[], [PROGRAM_NAMES.SWAP]: LIVE_CLUSTERS, [PROGRAM_NAMES.TOKEN]: ALL_CLUSTERS, + [PROGRAM_NAMES.TOKEN_METADATA]: LIVE_CLUSTERS, + [PROGRAM_NAMES.TOKEN_VAULT]: LIVE_CLUSTERS, // other - [PROGRAM_NAMES.WORMHOLE]: MAINNET_ONLY, + [PROGRAM_NAMES.ACUMEN]: MAINNET_ONLY, [PROGRAM_NAMES.BONFIDA_POOL]: MAINNET_ONLY, [PROGRAM_NAMES.BREAK_SOLANA]: LIVE_CLUSTERS, - [PROGRAM_NAMES.RAYDIUM_LIQUIDITY_1]: MAINNET_ONLY, - [PROGRAM_NAMES.RAYDIUM_LIQUIDITY_2]: MAINNET_ONLY, + [PROGRAM_NAMES.MANGO_GOVERNANCE]: MAINNET_ONLY, + [PROGRAM_NAMES.MANGO_ICO]: MAINNET_ONLY, + [PROGRAM_NAMES.MANGO_1]: MAINNET_ONLY, + [PROGRAM_NAMES.MANGO_2]: MAINNET_ONLY, + [PROGRAM_NAMES.MANGO_3]: MAINNET_ONLY, + [PROGRAM_NAMES.MARINADE]: MAINNET_ONLY, + [PROGRAM_NAMES.METAPLEX]: LIVE_CLUSTERS, + [PROGRAM_NAMES.NFT_AUCTION]: LIVE_CLUSTERS, + [PROGRAM_NAMES.NFT_CANDY_MACHINE]: LIVE_CLUSTERS, + [PROGRAM_NAMES.ORCA]: MAINNET_ONLY, + [PROGRAM_NAMES.PORT]: MAINNET_ONLY, + [PROGRAM_NAMES.PYTH]: MAINNET_ONLY, + [PROGRAM_NAMES.RAYDIUM_AMM]: MAINNET_ONLY, + [PROGRAM_NAMES.RAYDIUM_IDO]: MAINNET_ONLY, + [PROGRAM_NAMES.RAYDIUM_LP_1]: MAINNET_ONLY, + [PROGRAM_NAMES.RAYDIUM_LP_2]: MAINNET_ONLY, [PROGRAM_NAMES.RAYDIUM_STAKING]: MAINNET_ONLY, + [PROGRAM_NAMES.SABER_SWAP]: MAINNET_ONLY, [PROGRAM_NAMES.SERUM_1]: MAINNET_ONLY, [PROGRAM_NAMES.SERUM_2]: MAINNET_ONLY, [PROGRAM_NAMES.SERUM_3]: MAINNET_ONLY, - [PROGRAM_NAMES.MANGO_3]: MAINNET_ONLY, + [PROGRAM_NAMES.SOLEND]: MAINNET_ONLY, + [PROGRAM_NAMES.STEP_SWAP]: MAINNET_ONLY, + [PROGRAM_NAMES.SUNNY]: MAINNET_ONLY, + [PROGRAM_NAMES.SWITCHBOARD]: MAINNET_ONLY, + [PROGRAM_NAMES.WORMHOLE]: MAINNET_ONLY, } as const; export const PROGRAM_NAME_BY_ID = { // native built-ins + AddressMap111111111111111111111111111111111: PROGRAM_NAMES.ADDRESS_MAP, Config1111111111111111111111111111111111111: PROGRAM_NAMES.CONFIG, [StakeProgram.programId.toBase58()]: PROGRAM_NAMES.STAKE, [SystemProgram.programId.toBase58()]: PROGRAM_NAMES.SYSTEM, @@ -105,25 +153,46 @@ export const PROGRAM_NAME_BY_ID = { // spl ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL: PROGRAM_NAMES.ASSOCIATED_TOKEN, Feat1YXHhH6t1juaWF74WLcfv4XoNocjXA6sPWHNgAse: PROGRAM_NAMES.FEATURE_PROPOSAL, + LendZqTs7gn5CTSJU1jWKhKuVpjJGom45nnwPb2AMTi: PROGRAM_NAMES.LENDING, Memo1UhkJRfHyvLMcVucJwxXeuD728EqVDDwQDxFMNo: PROGRAM_NAMES.MEMO, MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr: PROGRAM_NAMES.MEMO_2, + namesLPneVptA9Z5rqUDD9tMTWEJwofgaYwp8cawRkX: PROGRAM_NAMES.NAME, + SPoo1xuN9wGpxNjGnPNbRPtpQ7mHgKM8d9BeFC549Jya: PROGRAM_NAMES.STAKE_POOL, SwaPpA9LAaLfeLi3a68M4DjnLqgtticKg6CnyNwgAC8: PROGRAM_NAMES.SWAP, TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA: PROGRAM_NAMES.TOKEN, - LendZqTs7gn5CTSJU1jWKhKuVpjJGom45nnwPb2AMTi: PROGRAM_NAMES.LENDING, + metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s: PROGRAM_NAMES.TOKEN_METADATA, + vau1zxA2LbssAUEF7Gpw91zMM1LvXrvpzJtmZ58rPsn: PROGRAM_NAMES.TOKEN_VAULT, // other - WormT3McKhFJ2RkiGpdw9GKvNCrB2aB54gb2uV9MfQC: PROGRAM_NAMES.WORMHOLE, + C64kTdg1Hzv5KoQmZrQRcm2Qz7PkxtFBgw7EpFhvYn8W: PROGRAM_NAMES.ACUMEN, WvmTNLpGMVbwJVYztYL4Hnsy82cJhQorxjnnXcRm3b6: PROGRAM_NAMES.BONFIDA_POOL, BrEAK7zGZ6dM71zUDACDqJnekihmwF15noTddWTsknjC: PROGRAM_NAMES.BREAK_SOLANA, - RVKd61ztZW9GUwhRbbLoYVRE5Xf1B2tVscKqwZqXgEr: - PROGRAM_NAMES.RAYDIUM_LIQUIDITY_1, - "27haf8L6oxUeXrHrgEgsexjSY5hbVUWEmvv9Nyxg8vQv": - PROGRAM_NAMES.RAYDIUM_LIQUIDITY_2, + GqTPL6qRf5aUuqscLh8Rg2HTxPUXfhhAXDptTLhp1t2J: PROGRAM_NAMES.MANGO_GOVERNANCE, + "7sPptkymzvayoSbLXzBsXEF8TSf3typNnAWkrKrDizNb": PROGRAM_NAMES.MANGO_ICO, + JD3bq9hGdy38PuWQ4h2YJpELmHVGPPfFSuFkpzAd9zfu: PROGRAM_NAMES.MANGO_1, + "5fNfvyp5czQVX77yoACa3JJVEhdRaWjPuazuWgjhTqEH": PROGRAM_NAMES.MANGO_2, + mv3ekLzLbnVPNxjSKvqBpU3ZeZXPQdEC3bp5MDEBG68: PROGRAM_NAMES.MANGO_3, + MarBmsSgKXdrN1egZf5sqe1TMai9K1rChYNDJgjq7aD: PROGRAM_NAMES.MARINADE, + p1exdMJcjVao65QdewkaZRUnU6VPSXhus9n2GzWfh98: PROGRAM_NAMES.METAPLEX, + auctxRXPeJoc4817jDhf4HbjnhEcr1cCXenosMhK5R8: PROGRAM_NAMES.NFT_AUCTION, + cndyAnrLdpjq1Ssp1z8xxDsB8dxe7u4HL5Nxi2K5WXZ: PROGRAM_NAMES.NFT_CANDY_MACHINE, + Ez52BLSoZw3MxWxMK4ADsJXqzUiYW9sUnwcrrQwQGdLT: PROGRAM_NAMES.ORCA, + Port7uDYB3wk6GJAw4KT1WpTeMtSu9bTcChBHkX2LfR: PROGRAM_NAMES.PORT, + FsJ3A3u2vn5cTVofAjvy6y5kwABJAqYWpe4975bi2epH: PROGRAM_NAMES.PYTH, + "675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8": PROGRAM_NAMES.RAYDIUM_AMM, + "9HzJyW1qZsEiSfMUf6L2jo3CcTKAyBmSyKdwQeYisHrC": PROGRAM_NAMES.RAYDIUM_IDO, + RVKd61ztZW9GUwhRbbLoYVRE5Xf1B2tVscKqwZqXgEr: PROGRAM_NAMES.RAYDIUM_LP_1, + "27haf8L6oxUeXrHrgEgsexjSY5hbVUWEmvv9Nyxg8vQv": PROGRAM_NAMES.RAYDIUM_LP_2, EhhTKczWMGQt46ynNeRX1WfeagwwJd7ufHvCDjRxjo5Q: PROGRAM_NAMES.RAYDIUM_STAKING, + SSwpkEEcbUqx4vtoEByFjSkhKdCT862DNVb52nZg1UZ: PROGRAM_NAMES.SABER_SWAP, BJ3jrUzddfuSrZHXSCxMUUQsjKEyLmuuyZebkcaFp2fg: PROGRAM_NAMES.SERUM_1, EUqojwWA2rd19FZrzeBncJsm38Jm1hEhE3zsmX3bRc2o: PROGRAM_NAMES.SERUM_2, "9xQeWvG816bUx9EPjHmaT23yvVM2ZWbrrpZb9PusVFin": PROGRAM_NAMES.SERUM_3, - mv3ekLzLbnVPNxjSKvqBpU3ZeZXPQdEC3bp5MDEBG68: PROGRAM_NAMES.MANGO_3, + So1endDq2YkqhipRh3WViPa8hdiSpxWy6z3Z6tMCpAo: PROGRAM_NAMES.SOLEND, + "22Y43yTVxuUkoRKdm9thyRhQ3SdgQS7c7kB6UNCiaczD": PROGRAM_NAMES.STEP_SWAP, + Crt7UoUR6QgrFrN7j8rmSQpUTNWNSitSwWvsWGf1qZ5t: PROGRAM_NAMES.SUNNY, + DtmE9D2CSB4L5D6A15mraeEjrGMm6auWVzgaD8hK2tZM: PROGRAM_NAMES.SWITCHBOARD, + WormT3McKhFJ2RkiGpdw9GKvNCrB2aB54gb2uV9MfQC: PROGRAM_NAMES.WORMHOLE, } as const; export type LoaderName = typeof LOADER_IDS[keyof typeof LOADER_IDS];