UNPKG

@xlink-network/xlink-sdk

Version:
1 lines 21 kB
{"version":3,"sources":["../src/utils/types/knownIds.ts"],"sourcesContent":["import { ChainId, TokenId } from \"../../xlinkSdkUtils/types\"\nimport { checkNever } from \"../typeHelpers\"\n\nconst chainId = <const T extends string>(value: T): ChainId<T> => value as any\nconst tokenId = <const T extends string>(value: T): TokenId<T> => value as any\n\n/**\n * The `KnownTokenId` namespace provides types of tokens supported by the SDK,\n * including Bitcoin, EVM-compatible tokens, and Stacks tokens.\n */\nexport namespace KnownTokenId {\n /** Represents a known token supported by the SDK. */\n export type KnownToken =\n | BitcoinToken\n | BRC20Token\n | RunesToken\n | EVMToken\n | StacksToken\n export function isKnownToken(value: TokenId): value is KnownToken {\n return (\n isBitcoinToken(value) ||\n isBRC20Token(value) ||\n isRunesToken(value) ||\n isEVMToken(value) ||\n isStacksToken(value)\n )\n }\n\n /** A namespace that contains constants and types for Bitcoin tokens. */\n export namespace Bitcoin {\n /** Represents the Bitcoin token ID (BTC). */\n export const BTC = tokenId(\"btc-btc\")\n }\n /** This type includes all known Bitcoin tokens. */\n export type BitcoinToken = (typeof _allKnownBitcoinTokens)[number]\n export function isBitcoinToken(value: TokenId): value is BitcoinToken {\n return _allKnownBitcoinTokens.includes(value as any)\n }\n\n export type BRC20Token = TokenId<\"a brc20 token\">\n export function isBRC20Token(value: TokenId): value is BRC20Token {\n return value.startsWith(\"brc20-\")\n }\n\n export type RunesToken = TokenId<\"a runes token\">\n export function isRunesToken(value: TokenId): value is RunesToken {\n return value.startsWith(\"runes-\")\n }\n\n /** A namespace that contains constants and types for EVM-compatible tokens. */\n export namespace EVM {\n // USD[X]s\n /** Represents the sUSDT token ID on EVM-compatible blockchains. */\n export const sUSDT = tokenId(\"evm-susdt\")\n /** Represents the USDT token ID on EVM-compatible blockchains. */\n export const USDT = tokenId(\"evm-usdt\")\n /** Represents the USDC token ID on EVM-compatible blockchains. */\n export const USDC = tokenId(\"evm-usdc\")\n\n // BTC\n /** Represents the aBTC token ID on EVM-compatible blockchains. */\n export const aBTC = tokenId(\"evm-abtc\")\n /** Represents the WBTC token ID on EVM-compatible blockchains. */\n export const WBTC = tokenId(\"evm-wbtc\")\n /** Represents the BTCB token ID on EVM-compatible blockchains. */\n export const BTCB = tokenId(\"evm-btcb\")\n /** Represents the cbBTC token ID on EVM-compatible blockchains. */\n export const cbBTC = tokenId(\"evm-cbbtc\")\n\n /** Represents the LUNR token ID on EVM-compatible blockchains. */\n export const LUNR = tokenId(\"evm-lunr\")\n /** Represents the ALEX token ID on EVM-compatible blockchains. */\n export const ALEX = tokenId(\"evm-alex\")\n /** Represents the SKO token ID on EVM-compatible blockchains. */\n export const SKO = tokenId(\"evm-sko\")\n /** Represents the vLiSTX token ID on EVM-compatible blockchains. */\n export const vLiSTX = tokenId(\"evm-vlistx\")\n /** Represents the vLiALEX token ID on EVM-compatible blockchains. */\n export const vLiALEX = tokenId(\"evm-vlialex\")\n export const uBTC = tokenId(\"evm-ubtc\")\n export const wuBTC = tokenId(\"evm-wubtc\")\n export const DB20 = tokenId(\"evm-db20\")\n export const DOG = tokenId(\"evm-dog\")\n }\n /** This type includes all known tokens on EVM-compatible blockchains. */\n export type EVMToken = (typeof _allKnownEVMTokens)[number]\n export function isEVMToken(value: TokenId): value is EVMToken {\n return _allKnownEVMTokens.includes(value as any)\n }\n /** A namespace that contains constants and types for Stacks tokens. */\n export namespace Stacks {\n /** Represents the sUSDT token ID on the Stacks blockchain. */\n export const sUSDT = tokenId(\"stx-susdt\")\n /** Represents the sLUNR token ID on the Stacks blockchain. */\n export const sLUNR = tokenId(\"stx-slunr\")\n\n /** Represents the aBTC token ID on the Stacks blockchain. */\n export const aBTC = tokenId(\"stx-abtc\")\n /** Represents the ALEX token ID on the Stacks blockchain. */\n export const ALEX = tokenId(\"stx-alex\")\n /** Represents the sSKO token ID on the Stacks blockchain. */\n export const sSKO = tokenId(\"stx-ssko\")\n /** Represents the vLiSTX token ID on the Stacks blockchain. */\n export const vLiSTX = tokenId(\"stx-vlistx\")\n /** Represents the vLiALEX token ID on the Stacks blockchain. */\n export const vLiALEX = tokenId(\"stx-vlialex\")\n export const uBTC = tokenId(\"stx-ubtc\")\n export const DB20 = tokenId(\"stx-db20\")\n export const DOG = tokenId(\"stx-dog\")\n }\n /** This type includes all known tokens on the Stacks blockchain. */\n export type StacksToken = (typeof _allKnownStacksTokens)[number]\n export function isStacksToken(value: TokenId): value is StacksToken {\n return _allKnownStacksTokens.includes(value as any)\n }\n}\nexport const createBRC20Token = (\n brc20tick: string,\n): KnownTokenId.BRC20Token => {\n return `brc20-${brc20tick}` as any\n}\nexport const createRunesToken = (\n runeId: `${number}:${number}`,\n): KnownTokenId.RunesToken => {\n return `runes-${runeId}` as any\n}\nexport const _allKnownBitcoinTokens = Object.values(KnownTokenId.Bitcoin)\nexport const _allKnownEVMTokens = Object.values(KnownTokenId.EVM)\nexport const _allKnownStacksTokens = Object.values(KnownTokenId.Stacks)\n\n/**\n * The `KnownChainId` namespace provides types of blockchain networks\n * supported by the SDK, including Bitcoin, EVM-compatible chains, and Stacks.\n */\nexport namespace KnownChainId {\n /** Represents a known blockchain network supported by the SDK. */\n export type KnownChain =\n | BitcoinChain\n | BRC20Chain\n | RunesChain\n | EVMChain\n | StacksChain\n export function isKnownChain(value: ChainId): value is KnownChain {\n return (\n isBitcoinChain(value) ||\n isBRC20Chain(value) ||\n isRunesChain(value) ||\n isEVMChain(value) ||\n isStacksChain(value)\n )\n }\n\n /** A namespace that contains constants and types for Bitcoin networks. */\n export namespace Bitcoin {\n /** Represents the Bitcoin mainnet chain ID. */\n export const Mainnet = chainId(\"bitcoin-mainnet\")\n /** Represents the Bitcoin testnet chain ID. */\n export const Testnet = chainId(\"bitcoin-testnet\")\n }\n /** Represents a Bitcoin blockchain network. */\n export type BitcoinChain = (typeof _allKnownBitcoinChains)[number]\n export function isBitcoinChain(value: ChainId): value is BitcoinChain {\n return _allKnownBitcoinChains.includes(value as any)\n }\n\n export namespace Runes {\n /** Represents the Runes mainnet chain ID. */\n export const Mainnet = chainId(\"runes-mainnet\")\n /** Represents the Runes testnet chain ID. */\n export const Testnet = chainId(\"runes-testnet\")\n }\n /** Represents a Runes blockchain network. */\n export type RunesChain = (typeof _allKnownRunesChains)[number]\n export function isRunesChain(value: ChainId): value is RunesChain {\n return _allKnownRunesChains.includes(value as any)\n }\n\n export namespace BRC20 {\n /** Represents the BRC20 mainnet chain ID. */\n export const Mainnet = chainId(\"brc20-mainnet\")\n /** Represents the BRC20 testnet chain ID. */\n export const Testnet = chainId(\"brc20-testnet\")\n }\n /** Represents a BRC20 blockchain network. */\n export type BRC20Chain = (typeof _allKnownBRC20Chains)[number]\n export function isBRC20Chain(value: ChainId): value is BRC20Chain {\n return _allKnownBRC20Chains.includes(value as any)\n }\n\n /** A namespace that contains constants and types for EVM-compatible networks. */\n export namespace EVM {\n // Mainnet\n /** Represents the Ethereum mainnet chain ID. */\n export const Ethereum = chainId(\"evm-ethereum\")\n /** Represents the Ethereum testnet chain ID. */\n export const Sepolia = chainId(\"evm-sepolia\")\n\n // BNB Smart Chain\n /** Represents the BNB Smart Chain mainnet chain ID. */\n export const BSC = chainId(\"evm-bsc\")\n /** Represents the BNB Smart Chain testnet chain ID. */\n export const BSCTestnet = chainId(\"evm-bsctestnet\")\n\n // CoreDAO\n /** Represents the CoreDAO mainnet chain ID. */\n export const CoreDAO = chainId(\"evm-coredao\")\n /** Represents the CoreDAO testnet chain ID. */\n export const CoreDAOTestnet = chainId(\"evm-coredao-testnet\")\n\n // B2 Bsquared\n /** Represents the Bsquared mainnet chain ID. */\n export const Bsquared = chainId(\"evm-bsquared\")\n /** Represents the Bsquared testnet chain ID. */\n // export const BsquaredTestnet = chainId(\"evm-bsquared-testnet\")\n\n // BOB\n /** Represents the BOB mainnet chain ID. */\n export const BOB = chainId(\"evm-bob\")\n /** Represents the BOB testnet chain ID. */\n // export const BOBTestnet = chainId(\"evm-bob-testnet\")\n\n // Bitlayer\n /** Represents the Bitlayer mainnet chain ID. */\n export const Bitlayer = chainId(\"evm-bitlayer\")\n /** Represents the Bitlayer testnet chain ID. */\n // export const BitlayerTestnet = chainId(\"evm-bitlayer-testnet\")\n\n // Lorenzo\n /** Represents the Lorenzo mainnet chain ID. */\n export const Lorenzo = chainId(\"evm-lorenzo\")\n /** Represents the Lorenzo testnet chain ID. */\n // export const LorenzoTestnet = chainId(\"evm-lorenzo-testnet\")\n\n // Merlin\n /** Represents the Merlin mainnet chain ID. */\n export const Merlin = chainId(\"evm-merlin\")\n /** Represents the Merlin testnet chain ID. */\n // export const MerlinTestnet = chainId(\"evm-merlin-testnet\")\n\n // AILayer\n /** Represents the AILayer mainnet chain ID. */\n export const AILayer = chainId(\"evm-ailayer\")\n /** Represents the AILayer testnet chain ID. */\n // export const AILayerTestnet = chainId(\"evm-ailayer-testnet\")\n\n // Mode\n /** Represents the Mode mainnet chain ID. */\n export const Mode = chainId(\"evm-mode\")\n /** Represents the Mode testnet chain ID. */\n // export const ModeTestnet = chainId(\"evm-mode-testnet\")\n\n // X Layer\n /** Represents the XLayer mainnet chain ID. */\n export const XLayer = chainId(\"evm-xlayer\")\n /** Represents the XLayer testnet chain ID. */\n // export const XLayerTestnet = chainId(\"evm-xlayer-testnet\")\n\n // Arbitrum\n /** Represents the Arbitrum mainnet chain ID. */\n export const Arbitrum = chainId(\"evm-arbitrum\")\n // export const ArbitrumTestnet = chainId(\"evm-arbitrum-testnet\")\n\n // Aurora\n /** Represents the Aurora mainnet chain ID. */\n export const Aurora = chainId(\"evm-aurora\")\n // export const AuroraTestnet = chainId(\"evm-aurora-testnet\")\n\n // Blife\n /** Represents the Blife mainnet chain ID. */\n // export const Blife = chainId(\"evm-blife\")\n export const BlifeTestnet = chainId(\"evm-blife-testnet\")\n\n // Bitboy\n /** Represents the Bitboy mainnet chain ID. */\n // export const Bitboy = chainId(\"evm-bitboy\")\n export const BitboyTestnet = chainId(\"evm-bitboy-testnet\")\n\n // Manta\n /** Represents the Manta mainnet chain ID. */\n export const Manta = chainId(\"evm-manta\")\n /** Represents the Manta testnet chain ID. */\n // export const MantaTestnet = chainId(\"evm-manta-testnet\")\n\n // Linea\n /** Represents the Linea mainnet chain ID. */\n export const Linea = chainId(\"evm-linea\")\n /** Represents the Linea testnet chain ID. */\n // export const LineaTestnet = chainId(\"evm-linea-testnet\")\n\n // Base\n /** Represents the Base mainnet chain ID. */\n export const Base = chainId(\"evm-base\")\n /** Represents the Base testnet chain ID. */\n // export const BaseTestnet = chainId(\"evm-base-testnet\")\n\n // Bera\n /** Represents the Bera mainnet chain ID. */\n // export const Bera = chainId(\"evm-bera\")\n /** Represents the Bera testnet chain ID. */\n export const BeraTestnet = chainId(\"evm-bera-testnet\")\n }\n /** Represents a mainnet EVM-compatible blockchain network. */\n export type EVMMainnetChain = (typeof _allKnownEVMMainnetChains)[number]\n export function isEVMMainnetChain(value: ChainId): value is EVMMainnetChain {\n return _allKnownEVMMainnetChains.includes(value as any)\n }\n /** Represents a testnet EVM-compatible blockchain network. */\n export type EVMTestnetChain = (typeof _allKnownEVMTestnetChains)[number]\n export function isEVMTestnetChain(value: ChainId): value is EVMTestnetChain {\n return _allKnownEVMTestnetChains.includes(value as any)\n }\n /** Represents an EVM-compatible blockchain network. */\n export type EVMChain = (typeof _allKnownEVMChains)[number]\n export function isEVMChain(value: ChainId): value is EVMChain {\n return _allKnownEVMChains.includes(value as any)\n }\n\n /** A namespace that contains constants and types for Stacks blockchain networks. */\n export namespace Stacks {\n /** Represents the Stacks mainnet chain ID. */\n export const Mainnet = chainId(\"stacks-mainnet\")\n /** Represents the Stacks testnet chain ID. */\n export const Testnet = chainId(\"stacks-testnet\")\n }\n /** Represents a Stacks blockchain network. */\n export type StacksChain = (typeof _allKnownStacksChains)[number]\n export function isStacksChain(value: ChainId): value is StacksChain {\n return _allKnownStacksChains.includes(value as any)\n }\n}\nexport const _allKnownBitcoinChains = Object.values(KnownChainId.Bitcoin)\nexport const _allKnownRunesChains = Object.values(KnownChainId.Runes)\nexport const _allKnownBRC20Chains = Object.values(KnownChainId.BRC20)\nexport const _allKnownEVMChains = Object.values(KnownChainId.EVM)\nexport const _allKnownStacksChains = Object.values(KnownChainId.Stacks)\n\nexport const _allKnownEVMMainnetChains = [\n KnownChainId.EVM.Ethereum,\n KnownChainId.EVM.BSC,\n KnownChainId.EVM.CoreDAO,\n KnownChainId.EVM.Bsquared,\n KnownChainId.EVM.BOB,\n KnownChainId.EVM.Bitlayer,\n KnownChainId.EVM.Lorenzo,\n KnownChainId.EVM.Merlin,\n KnownChainId.EVM.AILayer,\n KnownChainId.EVM.Mode,\n KnownChainId.EVM.XLayer,\n KnownChainId.EVM.Arbitrum,\n KnownChainId.EVM.Aurora,\n KnownChainId.EVM.Manta,\n KnownChainId.EVM.Linea,\n KnownChainId.EVM.Base,\n] as const\nexport const _allKnownEVMTestnetChains = [\n KnownChainId.EVM.Sepolia,\n KnownChainId.EVM.BSCTestnet,\n KnownChainId.EVM.CoreDAOTestnet,\n KnownChainId.EVM.BlifeTestnet,\n KnownChainId.EVM.BitboyTestnet,\n KnownChainId.EVM.BeraTestnet,\n] as const\nexport const _allNoLongerSupportedEVMChains: ChainId[] = [\n KnownChainId.EVM.Lorenzo,\n]\n\nconst _restEVMChain = null as Exclude<\n (typeof _allKnownEVMChains)[number],\n | (typeof _allKnownEVMMainnetChains)[number]\n | (typeof _allKnownEVMTestnetChains)[number]\n>\ncheckNever(_restEVMChain)\n\nexport const _knownChainIdToErrorMessagePart = (chainId: ChainId): string => {\n const unknownCase = `Unknown chain (${chainId})`\n\n if (!KnownChainId.isKnownChain(chainId)) {\n return unknownCase\n }\n\n if (KnownChainId.isBitcoinChain(chainId)) {\n return \"Bitcoin\"\n } else if (KnownChainId.isBRC20Chain(chainId)) {\n return \"BRC-20\"\n } else if (KnownChainId.isRunesChain(chainId)) {\n return \"Runes\"\n } else if (KnownChainId.isStacksChain(chainId)) {\n return \"Stacks\"\n } else if (KnownChainId.isEVMChain(chainId)) {\n return \"EVM\"\n }\n\n checkNever(chainId)\n return unknownCase\n}\n"],"mappings":"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","names":["KnownTokenId","Bitcoin","EVM","Stacks","KnownChainId","Runes","BRC20","chainId"]}