@xlink-network/xlink-sdk
Version:
397 lines (392 loc) • 14.1 kB
JavaScript
;
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