bitgo
Version:
BitGo JavaScript SDK
655 lines • 103 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.GlobalCoinFactory = void 0;
exports.registerCoinConstructors = registerCoinConstructors;
exports.getCoinConstructor = getCoinConstructor;
exports.getTokenConstructor = getTokenConstructor;
/**
* @prettier
*/
const sdk_coin_ada_1 = require("@bitgo/sdk-coin-ada");
const sdk_coin_algo_1 = require("@bitgo/sdk-coin-algo");
const sdk_coin_bcha_1 = require("@bitgo/sdk-coin-bcha");
const sdk_coin_hbar_1 = require("@bitgo/sdk-coin-hbar");
const sdk_coin_near_1 = require("@bitgo/sdk-coin-near");
const sdk_coin_sol_1 = require("@bitgo/sdk-coin-sol");
const sdk_coin_trx_1 = require("@bitgo/sdk-coin-trx");
const sdk_core_1 = require("@bitgo/sdk-core");
const statics_1 = require("@bitgo/statics");
const coins_1 = require("./coins");
function registerCoinConstructors(coinFactory, coinMap = statics_1.coins) {
coinFactory.register('ada', coins_1.Ada.createInstance);
coinFactory.register('algo', coins_1.Algo.createInstance);
coinFactory.register('apechain', coins_1.Apechain.createInstance);
coinFactory.register('apt', coins_1.Apt.createInstance);
coinFactory.register('arbeth', coins_1.Arbeth.createInstance);
coinFactory.register('asi', coins_1.Asi.createInstance);
coinFactory.register('atom', coins_1.Atom.createInstance);
coinFactory.register('avaxc', coins_1.AvaxC.createInstance);
coinFactory.register('avaxp', coins_1.AvaxP.createInstance);
coinFactory.register('baby', coins_1.Baby.createInstance);
coinFactory.register('bch', coins_1.Bch.createInstance);
coinFactory.register('bcha', sdk_coin_bcha_1.Bcha.createInstance);
coinFactory.register('bera', coins_1.Bera.createInstance);
coinFactory.register('bld', coins_1.Bld.createInstance);
coinFactory.register('bsc', coins_1.Bsc.createInstance);
coinFactory.register('bsv', coins_1.Bsv.createInstance);
coinFactory.register('btc', coins_1.Btc.createInstance);
coinFactory.register('btg', coins_1.Btg.createInstance);
coinFactory.register('celo', coins_1.Celo.createInstance);
coinFactory.register('coredao', coins_1.Coredao.createInstance);
coinFactory.register('coreum', coins_1.Coreum.createInstance);
coinFactory.register('cronos', coins_1.Cronos.createInstance);
coinFactory.register('cspr', coins_1.Cspr.createInstance);
coinFactory.register('dash', coins_1.Dash.createInstance);
coinFactory.register('doge', coins_1.Doge.createInstance);
coinFactory.register('dot', coins_1.Dot.createInstance);
coinFactory.register('eos', coins_1.Eos.createInstance);
coinFactory.register('etc', coins_1.Etc.createInstance);
coinFactory.register('eth', coins_1.Eth.createInstance);
coinFactory.register('ethw', coins_1.Ethw.createInstance);
coinFactory.register('baseeth', coins_1.EthLikeCoin.createInstance);
coinFactory.register('tbaseeth', coins_1.TethLikeCoin.createInstance);
coinFactory.register('fiataed', coins_1.FiatAED.createInstance);
coinFactory.register('fiateur', coins_1.FiatEur.createInstance);
coinFactory.register('fiatgbp', coins_1.FiatGBP.createInstance);
coinFactory.register('fiatsgd', coins_1.FiatSGD.createInstance);
coinFactory.register('fiatusd', coins_1.FiatUsd.createInstance);
coinFactory.register('flr', coins_1.Flr.createInstance);
coinFactory.register('gteth', coins_1.Gteth.createInstance);
coinFactory.register('hash', coins_1.Hash.createInstance);
coinFactory.register('hbar', coins_1.Hbar.createInstance);
coinFactory.register('hteth', coins_1.Hteth.createInstance);
coinFactory.register('lnbtc', coins_1.Lnbtc.createInstance);
coinFactory.register('ltc', coins_1.Ltc.createInstance);
coinFactory.register('mon', coins_1.Mon.createInstance);
coinFactory.register('mantra', coins_1.Mantra.createInstance);
coinFactory.register('icp', coins_1.Icp.createInstance);
coinFactory.register('initia', coins_1.Initia.createInstance);
coinFactory.register('injective', coins_1.Injective.createInstance);
coinFactory.register('islm', coins_1.Islm.createInstance);
coinFactory.register('near', sdk_coin_near_1.Near.createInstance);
coinFactory.register('oas', coins_1.Oas.createInstance);
coinFactory.register('ofc', coins_1.Ofc.createInstance);
coinFactory.register('opeth', coins_1.Opeth.createInstance);
coinFactory.register('osmo', coins_1.Osmo.createInstance);
coinFactory.register('polygon', coins_1.Polygon.createInstance);
coinFactory.register('polyx', coins_1.Polyx.createInstance);
coinFactory.register('rbtc', coins_1.Rbtc.createInstance);
coinFactory.register('thorchain:rune', coins_1.Rune.createInstance);
coinFactory.register('sei', coins_1.Sei.createInstance);
coinFactory.register('sgb', coins_1.Sgb.createInstance);
coinFactory.register('sol', coins_1.Sol.createInstance);
coinFactory.register('soneium', coins_1.Soneium.createInstance);
coinFactory.register('stx', coins_1.Stx.createInstance);
coinFactory.register('stt', coins_1.Stt.createInstance);
coinFactory.register('sui', coins_1.Sui.createInstance);
coinFactory.register('susd', coins_1.Susd.createInstance);
coinFactory.register('tao', coins_1.Tao.createInstance);
coinFactory.register('tia', coins_1.Tia.createInstance);
coinFactory.register('ton', coins_1.Ton.createInstance);
coinFactory.register('talgo', coins_1.Talgo.createInstance);
coinFactory.register('tapechain', coins_1.Tapechain.createInstance);
coinFactory.register('tapt', coins_1.Tapt.createInstance);
coinFactory.register('tarbeth', coins_1.Tarbeth.createInstance);
coinFactory.register('tada', coins_1.Tada.createInstance);
coinFactory.register('tasi', coins_1.Tasi.createInstance);
coinFactory.register('tatom', coins_1.Tatom.createInstance);
coinFactory.register('tavaxc', coins_1.TavaxC.createInstance);
coinFactory.register('tavaxp', coins_1.TavaxP.createInstance);
coinFactory.register('tbaby', coins_1.Tbaby.createInstance);
coinFactory.register('tbch', coins_1.Tbch.createInstance);
coinFactory.register('tbcha', sdk_coin_bcha_1.Tbcha.createInstance);
coinFactory.register('tbera', coins_1.Tbera.createInstance);
coinFactory.register('tbld', coins_1.Tbld.createInstance);
coinFactory.register('tbsc', coins_1.Tbsc.createInstance);
coinFactory.register('tbsv', coins_1.Tbsv.createInstance);
coinFactory.register('tbtc', coins_1.Tbtc.createInstance);
coinFactory.register('tbtcsig', coins_1.Tbtcsig.createInstance);
coinFactory.register('tbtc4', coins_1.Tbtc4.createInstance);
coinFactory.register('tbtcbgsig', coins_1.Tbtcbgsig.createInstance);
coinFactory.register('tcelo', coins_1.Tcelo.createInstance);
coinFactory.register('tcoredao', coins_1.Tcoredao.createInstance);
coinFactory.register('tcoreum', coins_1.Tcoreum.createInstance);
coinFactory.register('tcronos', coins_1.Tcronos.createInstance);
coinFactory.register('tcspr', coins_1.Tcspr.createInstance);
coinFactory.register('tdash', coins_1.Tdash.createInstance);
coinFactory.register('tdoge', coins_1.Tdoge.createInstance);
coinFactory.register('tdot', coins_1.Tdot.createInstance);
coinFactory.register('teos', coins_1.Teos.createInstance);
coinFactory.register('tetc', coins_1.Tetc.createInstance);
coinFactory.register('teth', coins_1.Teth.createInstance);
coinFactory.register('tfiataed', coins_1.TfiatAED.createInstance);
coinFactory.register('tfiateur', coins_1.TfiatEur.createInstance);
coinFactory.register('tfiatgbp', coins_1.TfiatGBP.createInstance);
coinFactory.register('tfiatsgd', coins_1.TfiatSGD.createInstance);
coinFactory.register('tfiatusd', coins_1.TfiatUsd.createInstance);
coinFactory.register('tflr', coins_1.Tflr.createInstance);
coinFactory.register('tmon', coins_1.Tmon.createInstance);
coinFactory.register('thash', coins_1.Thash.createInstance);
coinFactory.register('thbar', coins_1.Thbar.createInstance);
coinFactory.register('ticp', coins_1.Ticp.createInstance);
coinFactory.register('tinitia', coins_1.Tinitia.createInstance);
coinFactory.register('tinjective', coins_1.Tinjective.createInstance);
coinFactory.register('tislm', coins_1.Tislm.createInstance);
coinFactory.register('tlnbtc', coins_1.Tlnbtc.createInstance);
coinFactory.register('tltc', coins_1.Tltc.createInstance);
coinFactory.register('tmantra', coins_1.Tmantra.createInstance);
coinFactory.register('tnear', sdk_coin_near_1.TNear.createInstance);
coinFactory.register('toas', coins_1.Toas.createInstance);
coinFactory.register('topeth', coins_1.Topeth.createInstance);
coinFactory.register('tosmo', coins_1.Tosmo.createInstance);
coinFactory.register('tpolygon', coins_1.Tpolygon.createInstance);
coinFactory.register('tpolyx', coins_1.Tpolyx.createInstance);
coinFactory.register('trbtc', coins_1.Trbtc.createInstance);
coinFactory.register('tsgb', coins_1.Tsgb.createInstance);
coinFactory.register('tthorchain:rune', coins_1.Trune.createInstance);
coinFactory.register('trx', coins_1.Trx.createInstance);
coinFactory.register('tsei', coins_1.Tsei.createInstance);
coinFactory.register('tsol', coins_1.Tsol.createInstance);
coinFactory.register('tsoneium', coins_1.Tsoneium.createInstance);
coinFactory.register('tstx', coins_1.Tstx.createInstance);
coinFactory.register('tstt', coins_1.Tstt.createInstance);
coinFactory.register('tsui', coins_1.Tsui.createInstance);
coinFactory.register('tsusd', coins_1.Tsusd.createInstance);
coinFactory.register('ttao', coins_1.Ttao.createInstance);
coinFactory.register('ttia', coins_1.Ttia.createInstance);
coinFactory.register('tton', coins_1.Tton.createInstance);
coinFactory.register('ttrx', coins_1.Ttrx.createInstance);
coinFactory.register('tvet', coins_1.Tvet.createInstance);
coinFactory.register('txdc', coins_1.Txdc.createInstance);
coinFactory.register('txlm', coins_1.Txlm.createInstance);
coinFactory.register('txrp', coins_1.Txrp.createInstance);
coinFactory.register('txtz', coins_1.Txtz.createInstance);
coinFactory.register('tzec', coins_1.Tzec.createInstance);
coinFactory.register('tzeta', coins_1.Tzeta.createInstance);
coinFactory.register('tzketh', coins_1.Tzketh.createInstance);
coinFactory.register('twemix', coins_1.Twemix.createInstance);
coinFactory.register('tworld', coins_1.Tworld.createInstance);
coinFactory.register('vet', coins_1.Vet.createInstance);
coinFactory.register('xdc', coins_1.Xdc.createInstance);
coinFactory.register('xlm', coins_1.Xlm.createInstance);
coinFactory.register('xrp', coins_1.Xrp.createInstance);
coinFactory.register('xtz', coins_1.Xtz.createInstance);
coinFactory.register('wemix', coins_1.Wemix.createInstance);
coinFactory.register('world', coins_1.World.createInstance);
coinFactory.register('zec', coins_1.Zec.createInstance);
coinFactory.register('zeta', coins_1.Zeta.createInstance);
coinFactory.register('zketh', coins_1.Zketh.createInstance);
statics_1.coins
.filter((coin) => coin.features.includes(statics_1.CoinFeature.SHARED_EVM_SDK))
.forEach((coin) => {
coinFactory.register(coin.name, coins_1.EvmCoin.createInstance);
});
const tokens = (0, statics_1.getFormattedTokens)(coinMap);
coins_1.Erc20Token.createTokenConstructors([...tokens.bitcoin.eth.tokens, ...tokens.testnet.eth.tokens]).forEach(({ name, coinConstructor }) => {
coinFactory.register(name, coinConstructor);
});
coins_1.StellarToken.createTokenConstructors([...tokens.bitcoin.xlm.tokens, ...tokens.testnet.xlm.tokens]).forEach(({ name, coinConstructor }) => {
coinFactory.register(name, coinConstructor);
});
for (const ofcToken of [...tokens.bitcoin.ofc.tokens, ...tokens.testnet.ofc.tokens]) {
const tokenConstructor = coins_1.OfcToken.createTokenConstructor(ofcToken);
coinFactory.register(ofcToken.type, tokenConstructor);
}
coins_1.CeloToken.createTokenConstructors([...tokens.bitcoin.celo.tokens, ...tokens.testnet.celo.tokens]).forEach(({ name, coinConstructor }) => {
coinFactory.register(name, coinConstructor);
});
coins_1.BscToken.createTokenConstructors().forEach(({ name, coinConstructor }) => {
coinFactory.register(name, coinConstructor);
});
coins_1.EosToken.createTokenConstructors([...tokens.bitcoin.eos.tokens, ...tokens.testnet.eos.tokens]).forEach(({ name, coinConstructor }) => {
coinFactory.register(name, coinConstructor);
});
sdk_coin_algo_1.AlgoToken.createTokenConstructors([...tokens.bitcoin.algo.tokens, ...tokens.testnet.algo.tokens]).forEach(({ name, coinConstructor }) => {
coinFactory.register(name, coinConstructor);
});
coins_1.AvaxCToken.createTokenConstructors().forEach(({ name, coinConstructor }) => {
coinFactory.register(name, coinConstructor);
});
coins_1.PolygonToken.createTokenConstructors().forEach(({ name, coinConstructor }) => {
coinFactory.register(name, coinConstructor);
});
coins_1.SoneiumToken.createTokenConstructors().forEach(({ name, coinConstructor }) => {
coinFactory.register(name, coinConstructor);
});
coins_1.ArbethToken.createTokenConstructors().forEach(({ name, coinConstructor }) => {
coinFactory.register(name, coinConstructor);
});
coins_1.OpethToken.createTokenConstructors().forEach(({ name, coinConstructor }) => {
coinFactory.register(name, coinConstructor);
});
coins_1.ZkethToken.createTokenConstructors().forEach(({ name, coinConstructor }) => {
coinFactory.register(name, coinConstructor);
});
coins_1.BeraToken.createTokenConstructors().forEach(({ name, coinConstructor }) => {
coinFactory.register(name, coinConstructor);
});
coins_1.CoredaoToken.createTokenConstructors().forEach(({ name, coinConstructor }) => {
coinFactory.register(name, coinConstructor);
});
coins_1.WorldToken.createTokenConstructors().forEach(({ name, coinConstructor }) => {
coinFactory.register(name, coinConstructor);
});
sdk_coin_sol_1.SolToken.createTokenConstructors([...tokens.bitcoin.sol.tokens, ...tokens.testnet.sol.tokens]).forEach(({ name, coinConstructor }) => {
coinFactory.register(name, coinConstructor);
});
sdk_coin_hbar_1.HbarToken.createTokenConstructors([...tokens.bitcoin.hbar.tokens, ...tokens.testnet.hbar.tokens]).forEach(({ name, coinConstructor }) => {
coinFactory.register(name, coinConstructor);
});
sdk_coin_trx_1.TrxToken.createTokenConstructors([...tokens.bitcoin.trx.tokens, ...tokens.testnet.trx.tokens]).forEach(({ name, coinConstructor }) => {
coinFactory.register(name, coinConstructor);
});
sdk_coin_ada_1.AdaToken.createTokenConstructors([...tokens.bitcoin.ada.tokens, ...tokens.testnet.ada.tokens]).forEach(({ name, coinConstructor }) => coinFactory.register(name, coinConstructor));
coins_1.SuiToken.createTokenConstructors([...tokens.bitcoin.sui.tokens, ...tokens.testnet.sui.tokens]).forEach(({ name, coinConstructor }) => coinFactory.register(name, coinConstructor));
coins_1.XrpToken.createTokenConstructors([...tokens.bitcoin.xrp.tokens, ...tokens.testnet.xrp.tokens]).forEach(({ name, coinConstructor }) => coinFactory.register(name, coinConstructor));
coins_1.AptToken.createTokenConstructors([...tokens.bitcoin.apt.tokens, ...tokens.testnet.apt.tokens]).forEach(({ name, coinConstructor }) => coinFactory.register(name, coinConstructor));
coins_1.Sip10Token.createTokenConstructors([...tokens.bitcoin.stx.tokens, ...tokens.testnet.stx.tokens]).forEach(({ name, coinConstructor }) => coinFactory.register(name, coinConstructor));
sdk_coin_near_1.Nep141Token.createTokenConstructors([...tokens.bitcoin.near.tokens, ...tokens.testnet.near.tokens]).forEach(({ name, coinConstructor }) => coinFactory.register(name, coinConstructor));
}
function getCoinConstructor(coinName) {
const evmCoins = statics_1.coins.filter((coin) => coin.features.includes(statics_1.CoinFeature.SHARED_EVM_SDK));
if (evmCoins.has(coinName)) {
return coins_1.EvmCoin.createInstance;
}
switch (coinName) {
case 'ada':
return coins_1.Ada.createInstance;
case 'algo':
return coins_1.Algo.createInstance;
case 'apechain':
return coins_1.Apechain.createInstance;
case 'apt':
return coins_1.Apt.createInstance;
case 'arbeth':
return coins_1.Arbeth.createInstance;
case 'asi':
return coins_1.Asi.createInstance;
case 'atom':
return coins_1.Atom.createInstance;
case 'avaxc':
return coins_1.AvaxC.createInstance;
case 'avaxp':
return coins_1.AvaxP.createInstance;
case 'baby':
return coins_1.Baby.createInstance;
case 'bch':
return coins_1.Bch.createInstance;
case 'bcha':
return sdk_coin_bcha_1.Bcha.createInstance;
case 'bera':
return coins_1.Bera.createInstance;
case 'bld':
return coins_1.Bld.createInstance;
case 'bsc':
return coins_1.Bsc.createInstance;
case 'bsv':
return coins_1.Bsv.createInstance;
case 'btc':
return coins_1.Btc.createInstance;
case 'btg':
return coins_1.Btg.createInstance;
case 'celo':
return coins_1.Celo.createInstance;
case 'coredao':
return coins_1.Coredao.createInstance;
case 'coreum':
return coins_1.Coreum.createInstance;
case 'cronos':
return coins_1.Cronos.createInstance;
case 'cspr':
return coins_1.Cspr.createInstance;
case 'dash':
return coins_1.Dash.createInstance;
case 'doge':
return coins_1.Doge.createInstance;
case 'dot':
return coins_1.Dot.createInstance;
case 'eos':
return coins_1.Eos.createInstance;
case 'etc':
return coins_1.Etc.createInstance;
case 'eth':
return coins_1.Eth.createInstance;
case 'ethw':
return coins_1.Ethw.createInstance;
case 'baseeth':
return coins_1.EthLikeCoin.createInstance;
case 'tbaseeth':
return coins_1.TethLikeCoin.createInstance;
case 'fiataed':
return coins_1.FiatAED.createInstance;
case 'fiateur':
return coins_1.FiatEur.createInstance;
case 'fiatgbp':
return coins_1.FiatGBP.createInstance;
case 'fiatsgd':
return coins_1.FiatSGD.createInstance;
case 'fiatusd':
return coins_1.FiatUsd.createInstance;
case 'flr':
return coins_1.Flr.createInstance;
case 'gteth':
return coins_1.Gteth.createInstance;
case 'hash':
return coins_1.Hash.createInstance;
case 'hbar':
return coins_1.Hbar.createInstance;
case 'hteth':
return coins_1.Hteth.createInstance;
case 'lnbtc':
return coins_1.Lnbtc.createInstance;
case 'ltc':
return coins_1.Ltc.createInstance;
case 'mon':
return coins_1.Mon.createInstance;
case 'mantra':
return coins_1.Mantra.createInstance;
case 'icp':
return coins_1.Icp.createInstance;
case 'initia':
return coins_1.Initia.createInstance;
case 'injective':
return coins_1.Injective.createInstance;
case 'islm':
return coins_1.Islm.createInstance;
case 'near':
return sdk_coin_near_1.Near.createInstance;
case 'oas':
return coins_1.Oas.createInstance;
case 'ofc':
return coins_1.Ofc.createInstance;
case 'opeth':
return coins_1.Opeth.createInstance;
case 'osmo':
return coins_1.Osmo.createInstance;
case 'polygon':
return coins_1.Polygon.createInstance;
case 'polyx':
return coins_1.Polyx.createInstance;
case 'rbtc':
return coins_1.Rbtc.createInstance;
case 'thorchain:rune':
return coins_1.Rune.createInstance;
case 'sei':
return coins_1.Sei.createInstance;
case 'sgb':
return coins_1.Sgb.createInstance;
case 'sol':
return coins_1.Sol.createInstance;
case 'soneium':
return coins_1.Soneium.createInstance;
case 'stx':
return coins_1.Stx.createInstance;
case 'stt':
return coins_1.Stt.createInstance;
case 'sui':
return coins_1.Sui.createInstance;
case 'susd':
return coins_1.Susd.createInstance;
case 'tao':
return coins_1.Tao.createInstance;
case 'tia':
return coins_1.Tia.createInstance;
case 'ton':
return coins_1.Ton.createInstance;
case 'talgo':
return coins_1.Talgo.createInstance;
case 'tapechain':
return coins_1.Tapechain.createInstance;
case 'tapt':
return coins_1.Tapt.createInstance;
case 'tarbeth':
return coins_1.Tarbeth.createInstance;
case 'tada':
return coins_1.Tada.createInstance;
case 'tasi':
return coins_1.Tasi.createInstance;
case 'tatom':
return coins_1.Tatom.createInstance;
case 'tavaxc':
return coins_1.TavaxC.createInstance;
case 'tavaxp':
return coins_1.TavaxP.createInstance;
case 'tbaby':
return coins_1.Tbaby.createInstance;
case 'tbch':
return coins_1.Tbch.createInstance;
case 'tbcha':
return sdk_coin_bcha_1.Tbcha.createInstance;
case 'tbera':
return coins_1.Tbera.createInstance;
case 'tbld':
return coins_1.Tbld.createInstance;
case 'tbsc':
return coins_1.Tbsc.createInstance;
case 'tbsv':
return coins_1.Tbsv.createInstance;
case 'tbtc':
return coins_1.Tbtc.createInstance;
case 'tbtcsig':
return coins_1.Tbtcsig.createInstance;
case 'tbtc4':
return coins_1.Tbtc4.createInstance;
case 'tbtcbgsig':
return coins_1.Tbtcbgsig.createInstance;
case 'tcelo':
return coins_1.Tcelo.createInstance;
case 'tcoredao':
return coins_1.Tcoredao.createInstance;
case 'tcoreum':
return coins_1.Tcoreum.createInstance;
case 'tcronos':
return coins_1.Tcronos.createInstance;
case 'tcspr':
return coins_1.Tcspr.createInstance;
case 'tdash':
return coins_1.Tdash.createInstance;
case 'tdoge':
return coins_1.Tdoge.createInstance;
case 'tdot':
return coins_1.Tdot.createInstance;
case 'teos':
return coins_1.Teos.createInstance;
case 'tetc':
return coins_1.Tetc.createInstance;
case 'teth':
return coins_1.Teth.createInstance;
case 'tfiataed':
return coins_1.TfiatAED.createInstance;
case 'tfiateur':
return coins_1.TfiatEur.createInstance;
case 'tfiatgbp':
return coins_1.TfiatGBP.createInstance;
case 'tfiatsgd':
return coins_1.TfiatSGD.createInstance;
case 'tfiatusd':
return coins_1.TfiatUsd.createInstance;
case 'tflr':
return coins_1.Tflr.createInstance;
case 'tmon':
return coins_1.Tmon.createInstance;
case 'thash':
return coins_1.Thash.createInstance;
case 'thbar':
return coins_1.Thbar.createInstance;
case 'ticp':
return coins_1.Ticp.createInstance;
case 'tinitia':
return coins_1.Tinitia.createInstance;
case 'tinjective':
return coins_1.Tinjective.createInstance;
case 'tislm':
return coins_1.Tislm.createInstance;
case 'tlnbtc':
return coins_1.Tlnbtc.createInstance;
case 'tltc':
return coins_1.Tltc.createInstance;
case 'tmantra':
return coins_1.Tmantra.createInstance;
case 'tnear':
return sdk_coin_near_1.TNear.createInstance;
case 'toas':
return coins_1.Toas.createInstance;
case 'topeth':
return coins_1.Topeth.createInstance;
case 'tosmo':
return coins_1.Tosmo.createInstance;
case 'tpolygon':
return coins_1.Tpolygon.createInstance;
case 'tpolyx':
return coins_1.Tpolyx.createInstance;
case 'trbtc':
return coins_1.Trbtc.createInstance;
case 'tsgb':
return coins_1.Tsgb.createInstance;
case 'tthorchain:rune':
return coins_1.Trune.createInstance;
case 'trx':
return coins_1.Trx.createInstance;
case 'tsei':
return coins_1.Tsei.createInstance;
case 'tsol':
return coins_1.Tsol.createInstance;
case 'tsoneium':
return coins_1.Tsoneium.createInstance;
case 'tstx':
return coins_1.Tstx.createInstance;
case 'tstt':
return coins_1.Tstt.createInstance;
case 'tsui':
return coins_1.Tsui.createInstance;
case 'tsusd':
return coins_1.Tsusd.createInstance;
case 'ttao':
return coins_1.Ttao.createInstance;
case 'ttia':
return coins_1.Ttia.createInstance;
case 'tton':
return coins_1.Tton.createInstance;
case 'ttrx':
return coins_1.Ttrx.createInstance;
case 'tvet':
return coins_1.Tvet.createInstance;
case 'txdc':
return coins_1.Txdc.createInstance;
case 'txlm':
return coins_1.Txlm.createInstance;
case 'txrp':
return coins_1.Txrp.createInstance;
case 'txtz':
return coins_1.Txtz.createInstance;
case 'tzec':
return coins_1.Tzec.createInstance;
case 'tzeta':
return coins_1.Tzeta.createInstance;
case 'tzketh':
return coins_1.Tzketh.createInstance;
case 'twemix':
return coins_1.Twemix.createInstance;
case 'tworld':
return coins_1.Tworld.createInstance;
case 'vet':
return coins_1.Vet.createInstance;
case 'xdc':
return coins_1.Xdc.createInstance;
case 'xlm':
return coins_1.Xlm.createInstance;
case 'xrp':
return coins_1.Xrp.createInstance;
case 'xtz':
return coins_1.Xtz.createInstance;
case 'wemix':
return coins_1.Wemix.createInstance;
case 'world':
return coins_1.World.createInstance;
case 'zec':
return coins_1.Zec.createInstance;
case 'zeta':
return coins_1.Zeta.createInstance;
case 'zketh':
return coins_1.Zketh.createInstance;
default:
return undefined;
}
}
function getTokenConstructor(tokenConfig) {
switch (tokenConfig.coin) {
case 'eth':
case 'hteth':
return coins_1.Erc20Token.createTokenConstructor(tokenConfig);
case 'xlm':
case 'txlm':
return coins_1.StellarToken.createTokenConstructor(tokenConfig);
case 'ofc':
return coins_1.OfcToken.createTokenConstructor(tokenConfig);
case 'celo':
case 'tcelo':
return coins_1.CeloToken.createTokenConstructor(tokenConfig);
case 'bsc':
case 'tbsc':
return coins_1.BscToken.createTokenConstructor(tokenConfig);
case 'eos':
case 'teos':
return coins_1.EosToken.createTokenConstructor(tokenConfig);
case 'algo':
case 'talgo':
return sdk_coin_algo_1.AlgoToken.createTokenConstructor(tokenConfig);
case 'avaxc':
case 'tavaxc':
return coins_1.AvaxCToken.createTokenConstructor(tokenConfig);
case 'polygon':
case 'tpolygon':
return coins_1.PolygonToken.createTokenConstructor(tokenConfig);
case 'soneium':
case 'tsoneium':
return coins_1.SoneiumToken.createTokenConstructor(tokenConfig);
case 'arbeth':
case 'tarbeth':
return coins_1.ArbethToken.createTokenConstructor(tokenConfig);
case 'opeth':
case 'topeth':
return coins_1.OpethToken.createTokenConstructor(tokenConfig);
case 'zketh':
case 'tzketh':
return coins_1.ZkethToken.createTokenConstructor(tokenConfig);
case 'bera':
case 'tbera':
return coins_1.BeraToken.createTokenConstructor(tokenConfig);
case 'coredao':
case 'tcoredao':
return coins_1.CoredaoToken.createTokenConstructor(tokenConfig);
case 'sol':
case 'tsol':
return sdk_coin_sol_1.SolToken.createTokenConstructor(tokenConfig);
case 'hbar':
case 'thbar':
return sdk_coin_hbar_1.HbarToken.createTokenConstructor(tokenConfig);
case 'trx':
case 'ttrx':
return sdk_coin_trx_1.TrxToken.createTokenConstructor(tokenConfig);
case 'ada':
case 'tada':
return sdk_coin_ada_1.AdaToken.createTokenConstructor(tokenConfig);
case 'sui':
case 'tsui':
return coins_1.SuiToken.createTokenConstructor(tokenConfig);
case 'xrp':
case 'txrp':
return coins_1.XrpToken.createTokenConstructor(tokenConfig);
case 'apt':
case 'tapt':
return coins_1.AptToken.createTokenConstructor(tokenConfig);
case 'stx':
case 'tstx':
return coins_1.Sip10Token.createTokenConstructor(tokenConfig);
case 'near':
case 'tnear':
return sdk_coin_near_1.Nep141Token.createTokenConstructor(tokenConfig);
default:
return undefined;
}
}
exports.GlobalCoinFactory = new sdk_core_1.CoinFactory();
registerCoinConstructors(exports.GlobalCoinFactory);
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29pbkZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdjIvY29pbkZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBb05BLDREQTRSQztBQUVELGdEQXFVQztBQUVELGtEQTRFQztBQXI0QkQ7O0dBRUc7QUFDSCxzREFBK0M7QUFDL0Msd0RBQWlEO0FBQ2pELHdEQUFtRDtBQUNuRCx3REFBaUQ7QUFDakQsd0RBQWdFO0FBQ2hFLHNEQUErQztBQUMvQyxzREFBK0M7QUFDL0MsOENBQStEO0FBQy9ELDRDQXVCd0I7QUFDeEIsbUNBK0tpQjtBQUVqQixTQUFnQix3QkFBd0IsQ0FBQyxXQUF3QixFQUFFLFVBQW1CLGVBQUs7SUFDekYsV0FBVyxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsV0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ2hELFdBQVcsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLFlBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNsRCxXQUFXLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxnQkFBUSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzFELFdBQVcsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLFdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNoRCxXQUFXLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxjQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDdEQsV0FBVyxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsV0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ2hELFdBQVcsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLFlBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNsRCxXQUFXLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxhQUFLLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDcEQsV0FBVyxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsYUFBSyxDQUFDLGNBQWMsQ0FBQyxDQUFD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Q0FBQyxjQUFjLENBQUMsQ0FBQztJQUNoRCxXQUFXLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxZQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDbEQsV0FBVyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsWUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ2xELFdBQVcsQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLGdCQUFRLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDMUQsV0FBVyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsWUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ2xELFdBQVcsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLFlBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNsRCxXQUFXLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxZQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDbEQsV0FBVyxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsYUFBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3BELFdBQVcsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLFlBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNsRCxXQUFXLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxZQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDbEQsV0FBVyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsWUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ2xELFdBQVcsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLFlBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNsRCxXQUFXLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxZQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDbEQsV0FBVyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsWUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ2xELFdBQVcsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLFlBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNsRCxXQUFXLENBQUMsUUFBUSxDQUFD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