{"version":3,"sources":["../src/stacksUtils/stxContractAddresses.ts"],"sourcesContent":["import { KnownRoute_FromStacks_ToEVM } from \"../utils/buildSupportedRoutes\"\nimport { assertExclude, checkNever } from \"../utils/typeHelpers\"\nimport { KnownChainId, KnownTokenId } from \"../utils/types/knownIds\"\nimport {\n  isStacksContractAddressEqual,\n  StacksContractAddress,\n} from \"../xlinkSdkUtils/types\"\n\nexport const xlinkContractsDeployerMainnet =\n  \"SP2XD7417HGPRTREMKF748VNEQPDRR0RMANB7X1NK\"\nexport const xlinkContractsDeployerTestnet =\n  \"ST2QXSK64YQX3CQPC530K79XWQ98XFAM9W3XKEH3N\"\n\nexport const xlinkContractsMultisigMainnet =\n  \"SP673Z4BPB4R73359K9HE55F2X91V5BJTN5SXZ5T\"\nexport const xlinkContractsMultisigTestnet =\n  \"ST2QXSK64YQX3CQPC530K79XWQ98XFAM9W3XKEH3N\"\n\nexport const alexContractDeployerMainnet =\n  \"SP102V8P0F7JX67ARQ77WEA3D3CFB5XW39REDT0AM\"\nexport const alexContractDeployerTestnet =\n  \"ST1J4G6RR643BCG8G8SR6M2D9Z9KXT2NJDRK3FBTK\"\n\nexport const legacyAlexContractDeployerMainnet =\n  \"SP3K8BC0PPEVCV7NZ6QSRWPQ2JE9E5B6N3PA0KBR9\"\nexport const legacyAlexContractDeployerTestnet =\n  \"ST1J2JTYXGRMZYNKE40GM87ZCACSPSSEEQVSNB7DC\"\n\nconst stxAlternativeTokenContractAddresses = {\n  wbtc: {\n    [KnownChainId.Stacks.Mainnet]: {\n      deployerAddress: xlinkContractsMultisigMainnet,\n      contractName: \"token-wbtc\",\n    },\n    [KnownChainId.Stacks.Testnet]: {\n      deployerAddress: xlinkContractsDeployerTestnet,\n      contractName: \"token-wbtc\",\n    },\n  },\n  btcb: {\n    [KnownChainId.Stacks.Mainnet]: {\n      deployerAddress: xlinkContractsMultisigMainnet,\n      contractName: \"token-wbtc\",\n    },\n    [KnownChainId.Stacks.Testnet]: {\n      deployerAddress: xlinkContractsDeployerTestnet,\n      contractName: \"token-btcb\",\n    },\n  },\n  cbBTC: {\n    [KnownChainId.Stacks.Mainnet]: {\n      deployerAddress: xlinkContractsMultisigMainnet,\n      contractName: \"token-wbtc\",\n    },\n    [KnownChainId.Stacks.Testnet]: {\n      deployerAddress: xlinkContractsDeployerTestnet,\n      contractName: \"token-wbtc\",\n    },\n  },\n  usdt: {\n    [KnownChainId.Stacks.Mainnet]: {\n      deployerAddress: xlinkContractsMultisigMainnet,\n      contractName: \"token-usdt\",\n    },\n    [KnownChainId.Stacks.Testnet]: {\n      deployerAddress: xlinkContractsDeployerTestnet,\n      contractName: \"token-usdt\",\n    },\n  },\n  usdc: {\n    [KnownChainId.Stacks.Mainnet]: {\n      deployerAddress: xlinkContractsMultisigMainnet,\n      contractName: \"token-usdt\",\n    },\n    [KnownChainId.Stacks.Testnet]: {\n      deployerAddress: xlinkContractsDeployerTestnet,\n      contractName: \"token-usdt\",\n    },\n  },\n} satisfies Record<\n  string,\n  Record<KnownChainId.StacksChain, StacksContractAddress>\n>\nexport const getTerminatingStacksTokenContractAddress = (\n  route: KnownRoute_FromStacks_ToEVM,\n): undefined | StacksContractAddress => {\n  const { fromToken, toChain, toToken } = route\n  if (fromToken === KnownTokenId.Stacks.aBTC) {\n    const restChains = assertExclude.i<ChainsHaveAlternativeBTC>()\n\n    if (\n      (toChain === KnownChainId.EVM.Ethereum ||\n        toChain === KnownChainId.EVM.Sepolia) &&\n      toToken === KnownTokenId.EVM.WBTC\n    ) {\n      return stxAlternativeTokenContractAddresses.wbtc[route.fromChain]\n    }\n    assertExclude(restChains, KnownChainId.EVM.Ethereum)\n    assertExclude(restChains, KnownChainId.EVM.Sepolia)\n\n    if (\n      (toChain === KnownChainId.EVM.BSC ||\n        toChain === KnownChainId.EVM.BSCTestnet) &&\n      toToken === KnownTokenId.EVM.BTCB\n    ) {\n      return stxAlternativeTokenContractAddresses.btcb[route.fromChain]\n    }\n    assertExclude(restChains, KnownChainId.EVM.BSC)\n    assertExclude(restChains, KnownChainId.EVM.BSCTestnet)\n\n    if (\n      toChain === KnownChainId.EVM.Base &&\n      toToken === KnownTokenId.EVM.cbBTC\n    ) {\n      return stxAlternativeTokenContractAddresses.cbBTC[route.fromChain]\n    }\n    assertExclude(restChains, KnownChainId.EVM.Base)\n\n    checkNever(restChains)\n  }\n\n  if (fromToken === KnownTokenId.Stacks.sUSDT) {\n    const restChains = assertExclude.i<ChainsHaveAlternativeStableUSD>()\n\n    if (\n      (toChain === KnownChainId.EVM.Ethereum ||\n        toChain === KnownChainId.EVM.Sepolia ||\n        toChain === KnownChainId.EVM.BSC ||\n        toChain === KnownChainId.EVM.BSCTestnet) &&\n      toToken === KnownTokenId.EVM.USDT\n    ) {\n      return stxAlternativeTokenContractAddresses.usdt[route.fromChain]\n    }\n    assertExclude(restChains, KnownChainId.EVM.Ethereum)\n    assertExclude(restChains, KnownChainId.EVM.Sepolia)\n    assertExclude(restChains, KnownChainId.EVM.BSC)\n    assertExclude(restChains, KnownChainId.EVM.BSCTestnet)\n\n    if (\n      toChain === KnownChainId.EVM.Base &&\n      toToken === KnownTokenId.EVM.USDC\n    ) {\n      return stxAlternativeTokenContractAddresses.usdt[route.fromChain]\n    }\n    assertExclude(restChains, KnownChainId.EVM.Base)\n\n    checkNever(restChains)\n  }\n  return undefined\n}\nexport const getEVMTokenIdFromTerminatingStacksTokenContractAddress = (route: {\n  evmChain: KnownChainId.EVMChain\n  stacksChain: KnownChainId.StacksChain\n  stacksTokenAddress: StacksContractAddress\n}): undefined | KnownTokenId.EVMToken => {\n  const restStableUSDChains = assertExclude.i<ChainsHaveAlternativeStableUSD>()\n  const restBTCChains = assertExclude.i<ChainsHaveAlternativeBTC>()\n\n  if (\n    (route.evmChain === KnownChainId.EVM.Ethereum ||\n      route.evmChain === KnownChainId.EVM.Sepolia) &&\n    isStacksContractAddressEqual(\n      route.stacksTokenAddress,\n      stxAlternativeTokenContractAddresses.wbtc[route.stacksChain],\n    )\n  ) {\n    return KnownTokenId.EVM.WBTC\n  }\n  assertExclude(restBTCChains, KnownChainId.EVM.Ethereum)\n  assertExclude(restBTCChains, KnownChainId.EVM.Sepolia)\n\n  if (\n    (route.evmChain === KnownChainId.EVM.BSC ||\n      route.evmChain === KnownChainId.EVM.BSCTestnet) &&\n    isStacksContractAddressEqual(\n      route.stacksTokenAddress,\n      stxAlternativeTokenContractAddresses.btcb[route.stacksChain],\n    )\n  ) {\n    return KnownTokenId.EVM.BTCB\n  }\n  assertExclude(restBTCChains, KnownChainId.EVM.BSC)\n  assertExclude(restBTCChains, KnownChainId.EVM.BSCTestnet)\n\n  if (\n    route.evmChain === KnownChainId.EVM.Base &&\n    isStacksContractAddressEqual(\n      route.stacksTokenAddress,\n      stxAlternativeTokenContractAddresses.cbBTC[route.stacksChain],\n    )\n  ) {\n    return KnownTokenId.EVM.cbBTC\n  }\n  assertExclude(restBTCChains, KnownChainId.EVM.Base)\n\n  if (\n    (route.evmChain === KnownChainId.EVM.Ethereum ||\n      route.evmChain === KnownChainId.EVM.Sepolia ||\n      route.evmChain === KnownChainId.EVM.BSC ||\n      route.evmChain === KnownChainId.EVM.BSCTestnet) &&\n    isStacksContractAddressEqual(\n      route.stacksTokenAddress,\n      stxAlternativeTokenContractAddresses.usdt[route.stacksChain],\n    )\n  ) {\n    return KnownTokenId.EVM.USDT\n  }\n  assertExclude(restStableUSDChains, KnownChainId.EVM.Ethereum)\n  assertExclude(restStableUSDChains, KnownChainId.EVM.Sepolia)\n  assertExclude(restStableUSDChains, KnownChainId.EVM.BSC)\n  assertExclude(restStableUSDChains, KnownChainId.EVM.BSCTestnet)\n\n  if (\n    route.evmChain === KnownChainId.EVM.Base &&\n    isStacksContractAddressEqual(\n      route.stacksTokenAddress,\n      stxAlternativeTokenContractAddresses.usdc[route.stacksChain],\n    )\n  ) {\n    return KnownTokenId.EVM.USDC\n  }\n  assertExclude(restStableUSDChains, KnownChainId.EVM.Base)\n\n  checkNever(restStableUSDChains)\n  checkNever(restBTCChains)\n  return undefined\n}\ntype ChainsHaveAlternativeStableUSD =\n  | typeof KnownChainId.EVM.Ethereum\n  | typeof KnownChainId.EVM.Sepolia\n  | typeof KnownChainId.EVM.BSC\n  | typeof KnownChainId.EVM.BSCTestnet\n  | typeof KnownChainId.EVM.Base\ntype ChainsHaveAlternativeBTC =\n  | typeof KnownChainId.EVM.Ethereum\n  | typeof KnownChainId.EVM.Sepolia\n  | typeof KnownChainId.EVM.BSC\n  | typeof KnownChainId.EVM.BSCTestnet\n  | typeof KnownChainId.EVM.Base\n\nexport const stxContractDeployers = {\n  \"btc-peg-in-endpoint-v2-05\": {\n    [KnownChainId.Stacks.Mainnet]: {\n      deployerAddress: xlinkContractsMultisigMainnet,\n    },\n    [KnownChainId.Stacks.Testnet]: {\n      deployerAddress: xlinkContractsMultisigTestnet,\n    },\n  },\n  \"btc-peg-out-endpoint-v2-01\": {\n    [KnownChainId.Stacks.Mainnet]: {\n      deployerAddress: xlinkContractsDeployerMainnet,\n    },\n    [KnownChainId.Stacks.Testnet]: {\n      deployerAddress: xlinkContractsDeployerTestnet,\n    },\n  },\n  \"cross-peg-in-endpoint-v2-04\": {\n    [KnownChainId.Stacks.Mainnet]: {\n      deployerAddress: xlinkContractsMultisigMainnet,\n    },\n    [KnownChainId.Stacks.Testnet]: {\n      deployerAddress: xlinkContractsMultisigTestnet,\n    },\n  },\n  \"cross-peg-out-endpoint-v2-01\": {\n    [KnownChainId.Stacks.Mainnet]: {\n      deployerAddress: xlinkContractsDeployerMainnet,\n    },\n    [KnownChainId.Stacks.Testnet]: {\n      deployerAddress: xlinkContractsDeployerTestnet,\n    },\n  },\n  \"meta-peg-in-endpoint-v2-04\": {\n    [KnownChainId.Stacks.Mainnet]: {\n      deployerAddress: xlinkContractsMultisigMainnet,\n    },\n    [KnownChainId.Stacks.Testnet]: {\n      deployerAddress: xlinkContractsMultisigTestnet,\n    },\n  },\n  \"meta-peg-out-endpoint-v2-04\": {\n    [KnownChainId.Stacks.Mainnet]: {\n      deployerAddress: xlinkContractsMultisigMainnet,\n    },\n    [KnownChainId.Stacks.Testnet]: {\n      deployerAddress: xlinkContractsMultisigTestnet,\n    },\n  },\n} satisfies Record<\n  string,\n  Record<KnownChainId.StacksChain, { deployerAddress: string }>\n>\n\nexport const stxTokenContractAddresses: Record<\n  KnownTokenId.StacksToken,\n  Record<KnownChainId.StacksChain, StacksContractAddress>\n> = {\n  [KnownTokenId.Stacks.ALEX]: {\n    [KnownChainId.Stacks.Mainnet]: {\n      deployerAddress: alexContractDeployerMainnet,\n      contractName: \"token-alex\",\n    },\n    [KnownChainId.Stacks.Testnet]: {\n      deployerAddress: alexContractDeployerTestnet,\n      contractName: \"token-alex\",\n    },\n  },\n  [KnownTokenId.Stacks.aBTC]: {\n    [KnownChainId.Stacks.Mainnet]: {\n      deployerAddress: xlinkContractsDeployerMainnet,\n      contractName: \"token-abtc\",\n    },\n    [KnownChainId.Stacks.Testnet]: {\n      deployerAddress: xlinkContractsDeployerTestnet,\n      contractName: \"token-abtc\",\n    },\n  },\n  [KnownTokenId.Stacks.sUSDT]: {\n    [KnownChainId.Stacks.Mainnet]: {\n      deployerAddress: xlinkContractsDeployerMainnet,\n      contractName: \"token-susdt\",\n    },\n    [KnownChainId.Stacks.Testnet]: {\n      deployerAddress: xlinkContractsDeployerTestnet,\n      contractName: \"token-susdt\",\n    },\n  },\n  [KnownTokenId.Stacks.sLUNR]: {\n    [KnownChainId.Stacks.Mainnet]: {\n      deployerAddress: xlinkContractsDeployerMainnet,\n      contractName: \"token-slunr\",\n    },\n    [KnownChainId.Stacks.Testnet]: {\n      deployerAddress: xlinkContractsDeployerTestnet,\n      contractName: \"token-slunr\",\n    },\n  },\n  [KnownTokenId.Stacks.sSKO]: {\n    [KnownChainId.Stacks.Mainnet]: {\n      deployerAddress: xlinkContractsDeployerMainnet,\n      contractName: \"token-ssko\",\n    },\n    [KnownChainId.Stacks.Testnet]: {\n      deployerAddress: xlinkContractsDeployerTestnet,\n      contractName: \"token-ssko\",\n    },\n  },\n  [KnownTokenId.Stacks.vLiSTX]: {\n    [KnownChainId.Stacks.Mainnet]: {\n      deployerAddress: alexContractDeployerMainnet,\n      contractName: \"token-wvlqstx\",\n    },\n    [KnownChainId.Stacks.Testnet]: {\n      deployerAddress: alexContractDeployerTestnet,\n      contractName: \"token-wvlqstx\",\n    },\n  },\n  [KnownTokenId.Stacks.vLiALEX]: {\n    [KnownChainId.Stacks.Mainnet]: {\n      deployerAddress: alexContractDeployerMainnet,\n      contractName: \"token-wvlialex\",\n    },\n    [KnownChainId.Stacks.Testnet]: {\n      deployerAddress: alexContractDeployerTestnet,\n      contractName: \"token-wvlialex\",\n    },\n  },\n  [KnownTokenId.Stacks.uBTC]: {\n    [KnownChainId.Stacks.Mainnet]: {\n      deployerAddress: xlinkContractsMultisigMainnet,\n      contractName: \"token-ubtc\",\n    },\n    [KnownChainId.Stacks.Testnet]: {\n      deployerAddress: xlinkContractsDeployerTestnet,\n      contractName: \"token-ubtc\",\n    },\n  },\n  [KnownTokenId.Stacks.DB20]: {\n    [KnownChainId.Stacks.Mainnet]: {\n      deployerAddress: legacyAlexContractDeployerMainnet,\n      contractName: \"brc20-db20\",\n    },\n    [KnownChainId.Stacks.Testnet]: {\n      deployerAddress: legacyAlexContractDeployerTestnet,\n      contractName: \"brc20-db20\",\n    },\n  },\n  [KnownTokenId.Stacks.DOG]: {\n    [KnownChainId.Stacks.Mainnet]: {\n      deployerAddress: legacyAlexContractDeployerMainnet,\n      contractName: \"runes-dog\",\n    },\n    [KnownChainId.Stacks.Testnet]: {\n      deployerAddress: legacyAlexContractDeployerTestnet,\n      contractName: \"runes-dog\",\n    },\n  },\n}\n"],"mappings":"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","names":[]}