{"version":3,"file":"Cluster.cjs","sources":["../../src/Cluster.ts"],"sourcesContent":["/**\n * Defines the available Solana clusters.\n * @category Utils — Cluster\n */\nexport type Cluster =\n  | 'mainnet-beta'\n  | 'devnet'\n  | 'testnet'\n  | 'localnet'\n  | 'custom';\n\n/**\n * Helper type to helps the end-user selecting a cluster.\n * They can either provide a specific cluster or use the\n * special values 'current' or '*' to select the current\n * cluster or all clusters respectively.\n * @category Utils — Cluster\n */\nexport type ClusterFilter = Cluster | 'current' | '*';\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\n/**\n * Helper method that tries its best to resolve a cluster from a given endpoint.\n * @category Utils — Cluster\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  if (endpoint.includes('mainnet')) return 'mainnet-beta';\n  if (endpoint.includes('devnet')) return 'devnet';\n  if (endpoint.includes('testnet')) return 'testnet';\n  if (endpoint.includes('local')) return 'localnet';\n  return 'custom';\n};\n"],"names":["MAINNET_BETA_DOMAINS","DEVNET_DOMAINS","TESTNET_DOMAINS","LOCALNET_DOMAINS","resolveClusterFromEndpoint","endpoint","domain","URL","hostname","includes"],"mappings":";;;;AAAA;AACA;AACA;AACA;;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA,MAAMA,oBAAoB,GAAG,CAC3B,6BAA6B,EAC7B,uBAAuB,CACxB,CAAA;AACD,MAAMC,cAAc,GAAG,CACrB,uBAAuB,EACvB,sCAAsC,CACvC,CAAA;AACD,MAAMC,eAAe,GAAG,CAAC,wBAAwB,CAAC,CAAA;AAClD,MAAMC,gBAAgB,GAAG,CAAC,WAAW,EAAE,WAAW,CAAC,CAAA;;AAEnD;AACA;AACA;AACA;AACaC,MAAAA,0BAA0B,GAAIC,QAAgB,IAAc;EACvE,MAAMC,MAAM,GAAG,IAAIC,GAAG,CAACF,QAAQ,CAAC,CAACG,QAAQ,CAAA;EACzC,IAAIR,oBAAoB,CAACS,QAAQ,CAACH,MAAM,CAAC,EAAE,OAAO,cAAc,CAAA;EAChE,IAAIL,cAAc,CAACQ,QAAQ,CAACH,MAAM,CAAC,EAAE,OAAO,QAAQ,CAAA;EACpD,IAAIJ,eAAe,CAACO,QAAQ,CAACH,MAAM,CAAC,EAAE,OAAO,SAAS,CAAA;EACtD,IAAIH,gBAAgB,CAACM,QAAQ,CAACH,MAAM,CAAC,EAAE,OAAO,UAAU,CAAA;EACxD,IAAID,QAAQ,CAACI,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,cAAc,CAAA;EACvD,IAAIJ,QAAQ,CAACI,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,QAAQ,CAAA;EAChD,IAAIJ,QAAQ,CAACI,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,SAAS,CAAA;EAClD,IAAIJ,QAAQ,CAACI,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,UAAU,CAAA;AACjD,EAAA,OAAO,QAAQ,CAAA;AACjB;;;;"}