UNPKG

@xlink-network/xlink-sdk

Version:
397 lines (392 loc) 14.1 kB
"use strict"; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); // src/stacksUtils/crossContractDataMapping.ts var crossContractDataMapping_exports = {}; __export(crossContractDataMapping_exports, { contractAssignedChainIdFromKnownChain: () => contractAssignedChainIdFromKnownChain, contractAssignedChainIdToKnownChain: () => contractAssignedChainIdToKnownChain }); module.exports = __toCommonJS(crossContractDataMapping_exports); // src/utils/errors.ts var XLinkSDKErrorBase = class extends Error { constructor(...args) { super(...args); this.name = "XLinkSDKErrorBase"; } }; var UnsupportedChainError = class extends XLinkSDKErrorBase { constructor(chain) { super(`Unsupported chain: ${chain}`); this.chain = chain; this.name = "UnsupportedChainError"; } }; var UnsupportedContractAssignedChainIdError = class extends XLinkSDKErrorBase { constructor(chainId2) { super(`Unsupported smart contract assigned chain id: ${chainId2}`); this.chainId = chainId2; this.name = "UnsupportedContractAssignedChainIdError"; } }; // src/utils/typeHelpers.ts function checkNever(_x) { return; } function assertExclude(asserting, excluding) { return; } ((assertExclude2) => { assertExclude2.i = () => null; })(assertExclude || (assertExclude = {})); // src/utils/types/knownIds.ts var chainId = (value) => value; var tokenId = (value) => value; var KnownTokenId; ((KnownTokenId2) => { function isKnownToken(value) { return isBitcoinToken(value) || isBRC20Token(value) || isRunesToken(value) || isEVMToken(value) || isStacksToken(value); } KnownTokenId2.isKnownToken = isKnownToken; let Bitcoin; ((Bitcoin2) => { Bitcoin2.BTC = tokenId("btc-btc"); })(Bitcoin = KnownTokenId2.Bitcoin || (KnownTokenId2.Bitcoin = {})); function isBitcoinToken(value) { return _allKnownBitcoinTokens.includes(value); } KnownTokenId2.isBitcoinToken = isBitcoinToken; function isBRC20Token(value) { return value.startsWith("brc20-"); } KnownTokenId2.isBRC20Token = isBRC20Token; function isRunesToken(value) { return value.startsWith("runes-"); } KnownTokenId2.isRunesToken = isRunesToken; let EVM; ((EVM2) => { EVM2.sUSDT = tokenId("evm-susdt"); EVM2.USDT = tokenId("evm-usdt"); EVM2.USDC = tokenId("evm-usdc"); EVM2.aBTC = tokenId("evm-abtc"); EVM2.WBTC = tokenId("evm-wbtc"); EVM2.BTCB = tokenId("evm-btcb"); EVM2.cbBTC = tokenId("evm-cbbtc"); EVM2.LUNR = tokenId("evm-lunr"); EVM2.ALEX = tokenId("evm-alex"); EVM2.SKO = tokenId("evm-sko"); EVM2.vLiSTX = tokenId("evm-vlistx"); EVM2.vLiALEX = tokenId("evm-vlialex"); EVM2.uBTC = tokenId("evm-ubtc"); EVM2.wuBTC = tokenId("evm-wubtc"); EVM2.DB20 = tokenId("evm-db20"); EVM2.DOG = tokenId("evm-dog"); })(EVM = KnownTokenId2.EVM || (KnownTokenId2.EVM = {})); function isEVMToken(value) { return _allKnownEVMTokens.includes(value); } KnownTokenId2.isEVMToken = isEVMToken; let Stacks; ((Stacks2) => { Stacks2.sUSDT = tokenId("stx-susdt"); Stacks2.sLUNR = tokenId("stx-slunr"); Stacks2.aBTC = tokenId("stx-abtc"); Stacks2.ALEX = tokenId("stx-alex"); Stacks2.sSKO = tokenId("stx-ssko"); Stacks2.vLiSTX = tokenId("stx-vlistx"); Stacks2.vLiALEX = tokenId("stx-vlialex"); Stacks2.uBTC = tokenId("stx-ubtc"); Stacks2.DB20 = tokenId("stx-db20"); Stacks2.DOG = tokenId("stx-dog"); })(Stacks = KnownTokenId2.Stacks || (KnownTokenId2.Stacks = {})); function isStacksToken(value) { return _allKnownStacksTokens.includes(value); } KnownTokenId2.isStacksToken = isStacksToken; })(KnownTokenId || (KnownTokenId = {})); var _allKnownBitcoinTokens = Object.values(KnownTokenId.Bitcoin); var _allKnownEVMTokens = Object.values(KnownTokenId.EVM); var _allKnownStacksTokens = Object.values(KnownTokenId.Stacks); var KnownChainId; ((KnownChainId2) => { function isKnownChain(value) { return isBitcoinChain(value) || isBRC20Chain(value) || isRunesChain(value) || isEVMChain(value) || isStacksChain(value); } KnownChainId2.isKnownChain = isKnownChain; let Bitcoin; ((Bitcoin2) => { Bitcoin2.Mainnet = chainId("bitcoin-mainnet"); Bitcoin2.Testnet = chainId("bitcoin-testnet"); })(Bitcoin = KnownChainId2.Bitcoin || (KnownChainId2.Bitcoin = {})); function isBitcoinChain(value) { return _allKnownBitcoinChains.includes(value); } KnownChainId2.isBitcoinChain = isBitcoinChain; let Runes; ((Runes2) => { Runes2.Mainnet = chainId("runes-mainnet"); Runes2.Testnet = chainId("runes-testnet"); })(Runes = KnownChainId2.Runes || (KnownChainId2.Runes = {})); function isRunesChain(value) { return _allKnownRunesChains.includes(value); } KnownChainId2.isRunesChain = isRunesChain; let BRC20; ((BRC202) => { BRC202.Mainnet = chainId("brc20-mainnet"); BRC202.Testnet = chainId("brc20-testnet"); })(BRC20 = KnownChainId2.BRC20 || (KnownChainId2.BRC20 = {})); function isBRC20Chain(value) { return _allKnownBRC20Chains.includes(value); } KnownChainId2.isBRC20Chain = isBRC20Chain; let EVM; ((EVM2) => { EVM2.Ethereum = chainId("evm-ethereum"); EVM2.Sepolia = chainId("evm-sepolia"); EVM2.BSC = chainId("evm-bsc"); EVM2.BSCTestnet = chainId("evm-bsctestnet"); EVM2.CoreDAO = chainId("evm-coredao"); EVM2.CoreDAOTestnet = chainId("evm-coredao-testnet"); EVM2.Bsquared = chainId("evm-bsquared"); EVM2.BOB = chainId("evm-bob"); EVM2.Bitlayer = chainId("evm-bitlayer"); EVM2.Lorenzo = chainId("evm-lorenzo"); EVM2.Merlin = chainId("evm-merlin"); EVM2.AILayer = chainId("evm-ailayer"); EVM2.Mode = chainId("evm-mode"); EVM2.XLayer = chainId("evm-xlayer"); EVM2.Arbitrum = chainId("evm-arbitrum"); EVM2.Aurora = chainId("evm-aurora"); EVM2.BlifeTestnet = chainId("evm-blife-testnet"); EVM2.BitboyTestnet = chainId("evm-bitboy-testnet"); EVM2.Manta = chainId("evm-manta"); EVM2.Linea = chainId("evm-linea"); EVM2.Base = chainId("evm-base"); EVM2.BeraTestnet = chainId("evm-bera-testnet"); })(EVM = KnownChainId2.EVM || (KnownChainId2.EVM = {})); function isEVMMainnetChain(value) { return _allKnownEVMMainnetChains.includes(value); } KnownChainId2.isEVMMainnetChain = isEVMMainnetChain; function isEVMTestnetChain(value) { return _allKnownEVMTestnetChains.includes(value); } KnownChainId2.isEVMTestnetChain = isEVMTestnetChain; function isEVMChain(value) { return _allKnownEVMChains.includes(value); } KnownChainId2.isEVMChain = isEVMChain; let Stacks; ((Stacks2) => { Stacks2.Mainnet = chainId("stacks-mainnet"); Stacks2.Testnet = chainId("stacks-testnet"); })(Stacks = KnownChainId2.Stacks || (KnownChainId2.Stacks = {})); function isStacksChain(value) { return _allKnownStacksChains.includes(value); } KnownChainId2.isStacksChain = isStacksChain; })(KnownChainId || (KnownChainId = {})); var _allKnownBitcoinChains = Object.values(KnownChainId.Bitcoin); var _allKnownRunesChains = Object.values(KnownChainId.Runes); var _allKnownBRC20Chains = Object.values(KnownChainId.BRC20); var _allKnownEVMChains = Object.values(KnownChainId.EVM); var _allKnownStacksChains = Object.values(KnownChainId.Stacks); var _allKnownEVMMainnetChains = [ KnownChainId.EVM.Ethereum, KnownChainId.EVM.BSC, KnownChainId.EVM.CoreDAO, KnownChainId.EVM.Bsquared, KnownChainId.EVM.BOB, KnownChainId.EVM.Bitlayer, KnownChainId.EVM.Lorenzo, KnownChainId.EVM.Merlin, KnownChainId.EVM.AILayer, KnownChainId.EVM.Mode, KnownChainId.EVM.XLayer, KnownChainId.EVM.Arbitrum, KnownChainId.EVM.Aurora, KnownChainId.EVM.Manta, KnownChainId.EVM.Linea, KnownChainId.EVM.Base ]; var _allKnownEVMTestnetChains = [ KnownChainId.EVM.Sepolia, KnownChainId.EVM.BSCTestnet, KnownChainId.EVM.CoreDAOTestnet, KnownChainId.EVM.BlifeTestnet, KnownChainId.EVM.BitboyTestnet, KnownChainId.EVM.BeraTestnet ]; var _allNoLongerSupportedEVMChains = [ KnownChainId.EVM.Lorenzo ]; var _restEVMChain = null; checkNever(_restEVMChain); // src/stacksUtils/crossContractDataMapping.ts function contractAssignedChainIdFromKnownChain(chain) { switch (chain) { case KnownChainId.Bitcoin.Mainnet: case KnownChainId.Bitcoin.Testnet: return 0n; case KnownChainId.EVM.Ethereum: case KnownChainId.EVM.Sepolia: return 1n; case KnownChainId.EVM.BSC: case KnownChainId.EVM.BSCTestnet: return 2n; case KnownChainId.EVM.CoreDAO: case KnownChainId.EVM.CoreDAOTestnet: return 3n; case KnownChainId.EVM.Bsquared: return 4n; case KnownChainId.EVM.BOB: case KnownChainId.EVM.BlifeTestnet: return 5n; case KnownChainId.EVM.Bitlayer: case KnownChainId.EVM.BitboyTestnet: return 6n; case KnownChainId.EVM.Lorenzo: case KnownChainId.EVM.BeraTestnet: return 7n; case KnownChainId.EVM.Merlin: return 8n; case KnownChainId.EVM.AILayer: return 9n; case KnownChainId.EVM.Mode: return 10n; case KnownChainId.EVM.XLayer: return 11n; case KnownChainId.EVM.Arbitrum: return 12n; case KnownChainId.EVM.Aurora: return 13n; case KnownChainId.EVM.Manta: return 14n; case KnownChainId.EVM.Linea: return 15n; case KnownChainId.EVM.Base: return 16n; case KnownChainId.BRC20.Mainnet: case KnownChainId.BRC20.Testnet: return 1001n; case KnownChainId.Runes.Mainnet: case KnownChainId.Runes.Testnet: return 1002n; default: checkNever(chain); throw new UnsupportedChainError(chain); } } function contractAssignedChainIdToKnownChain(chainId2) { const resPossibilities = assertExclude.i(); if (chainId2 === 0n) { return [KnownChainId.Bitcoin.Mainnet, KnownChainId.Bitcoin.Testnet]; } assertExclude(resPossibilities, KnownChainId.Bitcoin.Mainnet); assertExclude(resPossibilities, KnownChainId.Bitcoin.Testnet); if (chainId2 === 1n) { return [KnownChainId.EVM.Ethereum, KnownChainId.EVM.Sepolia]; } assertExclude(resPossibilities, KnownChainId.EVM.Ethereum); assertExclude(resPossibilities, KnownChainId.EVM.Sepolia); if (chainId2 === 2n) { return [KnownChainId.EVM.BSC, KnownChainId.EVM.BSCTestnet]; } assertExclude(resPossibilities, KnownChainId.EVM.BSC); assertExclude(resPossibilities, KnownChainId.EVM.BSCTestnet); if (chainId2 === 3n) { return [KnownChainId.EVM.CoreDAO, KnownChainId.EVM.CoreDAOTestnet]; } assertExclude(resPossibilities, KnownChainId.EVM.CoreDAO); assertExclude(resPossibilities, KnownChainId.EVM.CoreDAOTestnet); if (chainId2 === 4n) { return [KnownChainId.EVM.Bsquared]; } assertExclude(resPossibilities, KnownChainId.EVM.Bsquared); if (chainId2 === 5n) { return [KnownChainId.EVM.BOB, KnownChainId.EVM.BlifeTestnet]; } assertExclude(resPossibilities, KnownChainId.EVM.BOB); assertExclude(resPossibilities, KnownChainId.EVM.BlifeTestnet); if (chainId2 === 6n) { return [KnownChainId.EVM.Bitlayer, KnownChainId.EVM.BitboyTestnet]; } assertExclude(resPossibilities, KnownChainId.EVM.Bitlayer); assertExclude(resPossibilities, KnownChainId.EVM.BitboyTestnet); if (chainId2 === 7n) { return [KnownChainId.EVM.Lorenzo, KnownChainId.EVM.BeraTestnet]; } assertExclude(resPossibilities, KnownChainId.EVM.Lorenzo); assertExclude(resPossibilities, KnownChainId.EVM.BeraTestnet); if (chainId2 === 8n) { return [KnownChainId.EVM.Merlin]; } assertExclude(resPossibilities, KnownChainId.EVM.Merlin); if (chainId2 === 9n) { return [KnownChainId.EVM.AILayer]; } assertExclude(resPossibilities, KnownChainId.EVM.AILayer); if (chainId2 === 10n) { return [KnownChainId.EVM.Mode]; } assertExclude(resPossibilities, KnownChainId.EVM.Mode); if (chainId2 === 11n) { return [KnownChainId.EVM.XLayer]; } assertExclude(resPossibilities, KnownChainId.EVM.XLayer); if (chainId2 === 12n) { return [KnownChainId.EVM.Arbitrum]; } assertExclude(resPossibilities, KnownChainId.EVM.Arbitrum); if (chainId2 === 13n) { return [KnownChainId.EVM.Aurora]; } assertExclude(resPossibilities, KnownChainId.EVM.Aurora); if (chainId2 === 14n) { return [KnownChainId.EVM.Manta]; } assertExclude(resPossibilities, KnownChainId.EVM.Manta); if (chainId2 === 15n) { return [KnownChainId.EVM.Linea]; } assertExclude(resPossibilities, KnownChainId.EVM.Linea); if (chainId2 === 16n) { return [KnownChainId.EVM.Base]; } assertExclude(resPossibilities, KnownChainId.EVM.Base); if (chainId2 === 1001n) { return [KnownChainId.BRC20.Mainnet, KnownChainId.BRC20.Testnet]; } assertExclude(resPossibilities, KnownChainId.BRC20.Mainnet); assertExclude(resPossibilities, KnownChainId.BRC20.Testnet); if (chainId2 === 1002n) { return [KnownChainId.Runes.Mainnet, KnownChainId.Runes.Testnet]; } assertExclude(resPossibilities, KnownChainId.Runes.Mainnet); assertExclude(resPossibilities, KnownChainId.Runes.Testnet); checkNever(resPossibilities); throw new UnsupportedContractAssignedChainIdError(chainId2); } // Annotate the CommonJS export names for ESM import in node: 0 && (module.exports = { contractAssignedChainIdFromKnownChain, contractAssignedChainIdToKnownChain }); //# sourceMappingURL=crossContractDataMapping.js.map