UNPKG

@accret/api-client

Version:

A comprehensive SDK for blockchain data access via Moralis, Alchemy, and Shyft APIs

99 lines 4.13 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getAccretSupportedChain = getAccretSupportedChain; exports.getChainIdentifiers = getChainIdentifiers; const types_1 = require("../types"); const common_evm_utils_1 = require("moralis/common-evm-utils"); const alchemy_sdk_1 = require("alchemy-sdk"); const js_1 = require("@shyft-to/js"); /** * Gets the supported Accret chain for a given chain identifier. * @param chain The chain identifier to check. * @returns The respective Accret chain identifier. */ function getAccretSupportedChain({ chain, }) { if (typeof chain !== "string") { console.log(`Chain ${chain} is not supported`); } if (chain === alchemy_sdk_1.Network.ETH_MAINNET || chain === common_evm_utils_1.EvmChain.ETHEREUM.hex) { return types_1.AccretSupportedChain.ETHEREUM_CHAIN; } else if (chain === alchemy_sdk_1.Network.MATIC_MAINNET || chain === common_evm_utils_1.EvmChain.POLYGON.hex) { return types_1.AccretSupportedChain.POLYGON_CHAIN; } else if (chain === alchemy_sdk_1.Network.ARB_MAINNET || chain === common_evm_utils_1.EvmChain.ARBITRUM.hex) { return types_1.AccretSupportedChain.ARBITRUM_CHAIN; } else if (chain === alchemy_sdk_1.Network.BASE_MAINNET || chain === common_evm_utils_1.EvmChain.BASE.hex) { return types_1.AccretSupportedChain.BASE_CHAIN; } else if (chain === alchemy_sdk_1.Network.BNB_MAINNET || chain === common_evm_utils_1.EvmChain.BSC.hex) { return types_1.AccretSupportedChain.BNB_CHAIN; } else if (chain === alchemy_sdk_1.Network.AVAX_MAINNET || chain === common_evm_utils_1.EvmChain.AVALANCHE.hex) { return types_1.AccretSupportedChain.AVALANCHE_CHAIN; } else if (chain === alchemy_sdk_1.Network.SOLANA_MAINNET || js_1.Network.Mainnet || chain === "mainnet") { return types_1.AccretSupportedChain.SOLANA_CHAIN; } else { throw new Error(`Chain ${chain} is not supported`); } } /** * @description This function retrieves the chain identifiers for a given Accret supported chain. * @param chain The Accret supported chain for which to get the identifiers. * @throws An error if the chain is not supported. * @returns An object of chain identifiers(Alchemy, Moralis, Shyft) for the specified Accret supported chain. */ function getChainIdentifiers({ chain, }) { switch (chain) { case types_1.AccretSupportedChain.ETHEREUM_CHAIN: return { alchemy: alchemy_sdk_1.Network.ETH_MAINNET, moralis: common_evm_utils_1.EvmChain.ETHEREUM, }; case types_1.AccretSupportedChain.POLYGON_CHAIN: return { alchemy: alchemy_sdk_1.Network.MATIC_MAINNET, moralis: common_evm_utils_1.EvmChain.POLYGON, }; case types_1.AccretSupportedChain.ARBITRUM_CHAIN: return { alchemy: alchemy_sdk_1.Network.ARB_MAINNET, moralis: common_evm_utils_1.EvmChain.ARBITRUM, }; case types_1.AccretSupportedChain.BASE_CHAIN: return { alchemy: alchemy_sdk_1.Network.BASE_MAINNET, moralis: common_evm_utils_1.EvmChain.BASE, }; case types_1.AccretSupportedChain.BNB_CHAIN: return { alchemy: alchemy_sdk_1.Network.BNB_MAINNET, moralis: common_evm_utils_1.EvmChain.BSC, }; case types_1.AccretSupportedChain.AVALANCHE_CHAIN: return { alchemy: alchemy_sdk_1.Network.AVAX_MAINNET, moralis: common_evm_utils_1.EvmChain.AVALANCHE, }; case types_1.AccretSupportedChain.SOLANA_CHAIN: return { alchemy: alchemy_sdk_1.Network.SOLANA_MAINNET, moralis: "mainnet", shyft: js_1.Network.Mainnet, }; default: throw new Error(`Chain ${chain} is not supported`); } } //# sourceMappingURL=supportedChain.js.map