{"version":3,"file":"Cluster.cjs","sources":["../../../src/types/Cluster.ts"],"sourcesContent":["import { Connection } from '@solana/web3.js';\n\nexport type Cluster =\n  | 'mainnet-beta'\n  | 'devnet'\n  | 'testnet'\n  | 'localnet'\n  | 'custom';\n\nconst MAINNET_BETA_DOMAINS = [\n  'api.mainnet-beta.solana.com',\n  'ssc-dao.genesysgo.net',\n];\nconst DEVNET_DOMAINS = [\n  'api.devnet.solana.com',\n  'psytrbhymqlkfrhudd.dev.genesysgo.net',\n];\nconst TESTNET_DOMAINS = ['api.testnet.solana.com'];\nconst LOCALNET_DOMAINS = ['localhost', '127.0.0.1'];\n\nexport const resolveClusterFromConnection = (\n  connection: Connection\n): Cluster => {\n  return resolveClusterFromEndpoint(connection.rpcEndpoint);\n};\n\nexport const resolveClusterFromEndpoint = (endpoint: string): Cluster => {\n  const domain = new URL(endpoint).hostname;\n  if (MAINNET_BETA_DOMAINS.includes(domain)) return 'mainnet-beta';\n  if (DEVNET_DOMAINS.includes(domain)) return 'devnet';\n  if (TESTNET_DOMAINS.includes(domain)) return 'testnet';\n  if (LOCALNET_DOMAINS.includes(domain)) return 'localnet';\n  return 'custom';\n};\n"],"names":["MAINNET_BETA_DOMAINS","DEVNET_DOMAINS","TESTNET_DOMAINS","LOCALNET_DOMAINS","resolveClusterFromConnection","connection","resolveClusterFromEndpoint","rpcEndpoint","endpoint","domain","URL","hostname","includes"],"mappings":";;;;AASA,IAAMA,oBAAoB,GAAG,CAC3B,6BAA6B,EAC7B,uBAAuB,CACxB,CAAA;AACD,IAAMC,cAAc,GAAG,CACrB,uBAAuB,EACvB,sCAAsC,CACvC,CAAA;AACD,IAAMC,eAAe,GAAG,CAAC,wBAAwB,CAAC,CAAA;AAClD,IAAMC,gBAAgB,GAAG,CAAC,WAAW,EAAE,WAAW,CAAC,CAAA;IAEtCC,4BAA4B,GAAG,SAA/BA,4BAA4BA,CACvCC,UAAsB,EACV;AACZ,EAAA,OAAOC,0BAA0B,CAACD,UAAU,CAACE,WAAW,CAAC,CAAA;AAC3D,EAAC;IAEYD,0BAA0B,GAAG,SAA7BA,0BAA0BA,CAAIE,QAAgB,EAAc;EACvE,IAAMC,MAAM,GAAG,IAAIC,GAAG,CAACF,QAAQ,CAAC,CAACG,QAAQ,CAAA;EACzC,IAAIX,oBAAoB,CAACY,QAAQ,CAACH,MAAM,CAAC,EAAE,OAAO,cAAc,CAAA;EAChE,IAAIR,cAAc,CAACW,QAAQ,CAACH,MAAM,CAAC,EAAE,OAAO,QAAQ,CAAA;EACpD,IAAIP,eAAe,CAACU,QAAQ,CAACH,MAAM,CAAC,EAAE,OAAO,SAAS,CAAA;EACtD,IAAIN,gBAAgB,CAACS,QAAQ,CAACH,MAAM,CAAC,EAAE,OAAO,UAAU,CAAA;AACxD,EAAA,OAAO,QAAQ,CAAA;AACjB;;;;;"}