"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.extractHex = exports.NftPlatform = exports.NftChain = void 0;
exports.getChainLogo = getChainLogo;
exports.getPlatformLogo = void 0;
exports.getPlatformType = getPlatformType;
exports.platformMapInExplore = void 0;
var _AsyncArt_logo = _interopRequireDefault(require("../../styles/assets/logo/AsyncArt_logo.jpg"));
var _cryptopunks = _interopRequireDefault(require("../../styles/assets/logo/cryptopunks.png"));
var _dataverseLogo = _interopRequireDefault(require("../../styles/assets/logo/dataverse logo.png"));
var _foundationLogo = _interopRequireDefault(require("../../styles/assets/logo/foundation logo.png"));
var _HashmasksLogo = _interopRequireDefault(require("../../styles/assets/logo/Hashmasks logo.jpg"));
var _KnownOriginLogo = _interopRequireDefault(require("../../styles/assets/logo/KnownOrigin logo.png"));
var _loot = _interopRequireDefault(require("../../styles/assets/logo/loot.ico"));
var _MakersPlaceLogo = _interopRequireDefault(require("../../styles/assets/logo/MakersPlace logo.png"));
var _niftyLogo = _interopRequireDefault(require("../../styles/assets/logo/nifty logo.png"));
var _openseaLogo = _interopRequireDefault(require("../../styles/assets/logo/opensea logo.png"));
var _raribleLogo = _interopRequireDefault(require("../../styles/assets/logo/rarible-logo.jpeg"));
var _superrareLogo = _interopRequireDefault(require("../../styles/assets/logo/superrare logo.jpeg"));
var _tryshowtimeLogo = _interopRequireDefault(require("../../styles/assets/logo/tryshowtime logo.png"));
var _twitterLogo = _interopRequireDefault(require("../../styles/assets/logo/twitter logo.png"));
var _zoraLogo = _interopRequireDefault(require("../../styles/assets/logo/zora logo.png"));
var _magicedenLogo = _interopRequireDefault(require("../../styles/assets/logo/magiceden logo.png"));
var _objktLogo = _interopRequireDefault(require("../../styles/assets/logo/objkt logo.png"));
var _kalamintLogo = _interopRequireDefault(require("../../styles/assets/logo/kalamint logo.png"));
var _viv3Logo = _interopRequireDefault(require("../../styles/assets/logo/viv3 logo.png"));
var _looksrareLogo = _interopRequireDefault(require("../../styles/assets/logo/looksrare logo.png"));
var _treasurelandLogo = _interopRequireDefault(require("../../styles/assets/logo/treasureland logo.svg"));
var _nftscanLogo = _interopRequireDefault(require("../../styles/assets/logo/nftscan logo.png"));
var _nftgoLogo = _interopRequireDefault(require("../../styles/assets/logo/nftgo logo.ico"));
var _azukiLogo = _interopRequireDefault(require("../../styles/assets/logo/azuki logo.ico"));
var _gemLogo = _interopRequireDefault(require("../../styles/assets/logo/gem logo.png"));
var _solanartLogo = _interopRequireDefault(require("../../styles/assets/logo/solanart logo.webp"));
var _ipfsLogo = _interopRequireDefault(require("../../styles/assets/logo/ipfs logo.ico"));
var _coinbaseLogo = _interopRequireDefault(require("../../styles/assets/logo/coinbase logo.png"));
var _binanceLogo = _interopRequireDefault(require("../../styles/assets/logo/binance logo.ico"));
var _tofunftLogo = _interopRequireDefault(require("../../styles/assets/logo/tofunft logo.ico"));
var _ethereum_logo = _interopRequireDefault(require("../../styles/assets/logo/ethereum_logo.png"));
var _flow_logo = _interopRequireDefault(require("../../styles/assets/logo/flow_logo.png"));
var _polygon_logo = _interopRequireDefault(require("../../styles/assets/logo/polygon_logo.png"));
var _tezos_logo = _interopRequireDefault(require("../../styles/assets/logo/tezos_logo.png"));
var _BSC_logo = _interopRequireDefault(require("../../styles/assets/logo/BSC_logo.png"));
var _solana_logo = _interopRequireDefault(require("../../styles/assets/logo/solana_logo.png"));
var _arbitrum_logo = _interopRequireDefault(require("../../styles/assets/logo/arbitrum_logo.svg"));
var _astar_logo = _interopRequireDefault(require("../../styles/assets/logo/astar_logo.png"));
var _aurora_logo = _interopRequireDefault(require("../../styles/assets/logo/aurora_logo.svg"));
var _avalanche_logo = _interopRequireDefault(require("../../styles/assets/logo/avalanche_logo.svg"));
var _boba_logo = _interopRequireDefault(require("../../styles/assets/logo/boba_logo.svg"));
var _celo_logo = _interopRequireDefault(require("../../styles/assets/logo/celo_logo.svg"));
var _cronos_logo = _interopRequireDefault(require("../../styles/assets/logo/cronos_logo.svg"));
var _evmos_logo = _interopRequireDefault(require("../../styles/assets/logo/evmos_logo.svg"));
var _fantom_logo = _interopRequireDefault(require("../../styles/assets/logo/fantom_logo.svg"));
var _fuse_logo = _interopRequireDefault(require("../../styles/assets/logo/fuse_logo.svg"));
var _harmony_logo = _interopRequireDefault(require("../../styles/assets/logo/harmony_logo.svg"));
var _heco_logo = _interopRequireDefault(require("../../styles/assets/logo/heco_logo.svg"));
var _klaytn_logo = _interopRequireDefault(require("../../styles/assets/logo/klaytn_logo.svg"));
var _meter_logo = _interopRequireDefault(require("../../styles/assets/logo/meter_logo.svg"));
var _metis_logo = _interopRequireDefault(require("../../styles/assets/logo/metis_logo.svg"));
var _moonbeam_logo = _interopRequireDefault(require("../../styles/assets/logo/moonbeam_logo.svg"));
var _moonriver_logo = _interopRequireDefault(require("../../styles/assets/logo/moonriver_logo.svg"));
var _oasis_logo = _interopRequireDefault(require("../../styles/assets/logo/oasis_logo.svg"));
var _OEC_logo = _interopRequireDefault(require("../../styles/assets/logo/OEC_logo.svg"));
var _optimism_logo = _interopRequireDefault(require("../../styles/assets/logo/optimism_logo.svg"));
var _shiden_logo = _interopRequireDefault(require("../../styles/assets/logo/shiden_logo.svg"));
var _telos_logo = _interopRequireDefault(require("../../styles/assets/logo/telos_logo.svg"));
var _IoTeX_logo = _interopRequireDefault(require("../../styles/assets/logo/IoTeX_logo.png"));
var _KCC_logo = _interopRequireDefault(require("../../styles/assets/logo/KCC_logo.png"));
var _mirrorLogo = _interopRequireDefault(require("../../styles/assets/logo/mirror logo.png"));
var _bilibiliLogo = _interopRequireDefault(require("../../styles/assets/logo/bilibili logo.ico"));
var _youtubeLogo = _interopRequireDefault(require("../../styles/assets/logo/youtube logo.png"));
var _artblocksLogo = _interopRequireDefault(require("../../styles/assets/logo/artblocks logo.ico"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/* eslint-disable complexity */
/* eslint-disable max-lines */
let NftChain;
exports.NftChain = NftChain;
(function (NftChain) {
  NftChain["Ethereum"] = "Ethereum";
  NftChain["Tezos"] = "Tezos";
  NftChain["Solana"] = "Solana";
  NftChain["BSC"] = "BSC";
  NftChain["Polygon"] = "Polygon";
  NftChain["Arbitrum"] = "Arbitrum";
  NftChain["Optimism"] = "Optimism";
  NftChain["Moonbeam"] = "Moonbeam";
  NftChain["PlatON"] = "PlatON";
  NftChain["Flow"] = "Flow";
  NftChain["FTM"] = "FTM";
  NftChain["OEC"] = "OEC";
  NftChain["IoTeX"] = "IoTeX";
  NftChain["Moonriver"] = "Moonriver";
  NftChain["KCC"] = "KCC";
})(NftChain || (exports.NftChain = NftChain = {}));
let NftPlatform;
exports.NftPlatform = NftPlatform;
(function (NftPlatform) {
  NftPlatform["Unknown"] = "Unknown";
  NftPlatform["Opensea"] = "OpenSea";
  NftPlatform["Superrare"] = "SuperRare";
  NftPlatform["Zora"] = "Zora";
  NftPlatform["Foundation"] = "Foundation";
  NftPlatform["Twitter"] = "Twitter";
  NftPlatform["Rarible"] = "Rarible";
  NftPlatform["NiftyGateway"] = "NiftyGateway";
  NftPlatform["AsyncArt"] = "AsyncArt";
  NftPlatform["KnownOrigin"] = "KnownOrigin";
  NftPlatform["MakerSplace"] = "Makersplace";
  NftPlatform["Kalamint"] = "Kalamint";
  NftPlatform["Objkt"] = "Objkt";
  NftPlatform["Magiceden"] = "MagicEden";
  NftPlatform["Tofunft"] = "Tofunft";
  NftPlatform["Viv3"] = "VIV3";
  NftPlatform["Looksrare"] = "Looksrare";
  NftPlatform["Treasureland"] = "Treasureland";
  NftPlatform["Nftscan"] = "Nftscan";
  NftPlatform["Artblocks"] = "Artblocks";
  NftPlatform["NftGo"] = "Nftgo";
  NftPlatform["Azuki"] = "Azuki";
  NftPlatform["Gem"] = "Gem";
  NftPlatform["Solanart"] = "Solannart";
  NftPlatform["Coinbase"] = "Coinbase";
  NftPlatform["Binance"] = "Binance";
  NftPlatform["Tryshowtime"] = "Tryshowtime";
  NftPlatform["Bilibili"] = "Bilibili";
  NftPlatform["Mirror"] = "Mirror";
  NftPlatform["Youtube"] = "Youtube";
  NftPlatform["IPFS"] = "IPFS";
})(NftPlatform || (exports.NftPlatform = NftPlatform = {}));
const extractHex = str => {
  var _str$match;
  return (_str$match = str.match(/0x[\dA-Za-z]+/)) === null || _str$match === void 0 ? void 0 : _str$match[0];
};
exports.extractHex = extractHex;
const platformMapInExplore = {
  // Opensea: { logo: opensea, alias: '' },
  Marketplace: {
    logo: _dataverseLogo.default,
    alias: 'all'
  },
  Rarible: {
    logo: _raribleLogo.default,
    alias: 'rarible'
  },
  AsyncArt: {
    logo: _AsyncArt_logo.default,
    alias: 'async-art'
  },
  Foundation: {
    logo: _foundationLogo.default,
    alias: 'fnd'
  },
  // NiftyGateway: { logo: nifty, alias: 'nifty-gateway' },
  Superrare: {
    logo: _superrareLogo.default,
    alias: 'superrare'
  },
  Zora: {
    logo: _zoraLogo.default,
    alias: 'zora'
  },
  KnownOrigin: {
    logo: _KnownOriginLogo.default,
    alias: 'known-origin'
  },
  Makersplace: {
    logo: _MakersPlaceLogo.default,
    alias: 'makersplace'
  },
  ArtBlock: {
    logo: _artblocksLogo.default,
    alias: 'art-blocks-factory'
  },
  // art-blocks
  CryptoPunk: {
    logo: _cryptopunks.default,
    alias: 'cryptopunks'
  },
  Hashmasks: {
    logo: _HashmasksLogo.default,
    alias: 'hashmasks'
  },
  Loot: {
    logo: _loot.default,
    alias: 'lootproject'
  }
  // Tryshowtime: { logo: tryshowtime, alias: 'tryshowtime' },
};
exports.platformMapInExplore = platformMapInExplore;
const nftPlatformMap = [{
  platformUrl: ['opensea'],
  logo: _openseaLogo.default,
  name: NftPlatform.Opensea
}, {
  platformUrl: ['superrare'],
  logo: _superrareLogo.default,
  name: NftPlatform.Superrare
}, {
  platformUrl: ['zora'],
  logo: _zoraLogo.default,
  name: NftPlatform.Zora
}, {
  platformUrl: ['foundation'],
  logo: _foundationLogo.default,
  name: NftPlatform.Foundation
}, {
  platformUrl: ['twitter'],
  logo: _twitterLogo.default,
  name: NftPlatform.Twitter
}, {
  platformUrl: ['rarible.com'],
  logo: _raribleLogo.default,
  name: NftPlatform.Rarible
}, {
  platformUrl: ['niftygateway'],
  logo: _niftyLogo.default,
  name: NftPlatform.NiftyGateway
}, {
  platformUrl: ['async.art'],
  logo: _AsyncArt_logo.default,
  name: NftPlatform.AsyncArt
}, {
  platformUrl: ['knownorigin'],
  logo: _KnownOriginLogo.default,
  name: NftPlatform.KnownOrigin
}, {
  platformUrl: ['makersplace'],
  logo: _MakersPlaceLogo.default,
  name: NftPlatform.MakerSplace
}, {
  platformUrl: ['tryshowtime'],
  logo: _tryshowtimeLogo.default,
  name: NftPlatform.Tryshowtime
}, {
  platformUrl: ['magiceden'],
  logo: _magicedenLogo.default,
  name: NftPlatform.Magiceden
}, {
  platformUrl: ['objkt'],
  logo: _objktLogo.default,
  name: NftPlatform.Objkt
}, {
  platformUrl: ['kalamint'],
  logo: _kalamintLogo.default,
  name: NftPlatform.Kalamint
}, {
  platformUrl: ['viv3'],
  logo: _viv3Logo.default,
  name: NftPlatform.Viv3
}, {
  platformUrl: ['mirror'],
  logo: _mirrorLogo.default,
  name: NftPlatform.Mirror
}, {
  platformUrl: ['bilibili'],
  logo: _bilibiliLogo.default,
  name: NftPlatform.Bilibili
}, {
  platformUrl: ['youtube'],
  logo: _youtubeLogo.default,
  name: NftPlatform.Youtube
}, {
  platformUrl: ['tofunft'],
  logo: _tofunftLogo.default,
  name: NftPlatform.Tofunft
}, {
  platformUrl: ['looksrare'],
  logo: _looksrareLogo.default,
  name: NftPlatform.Looksrare
}, {
  platformUrl: ['treasureland'],
  logo: _treasurelandLogo.default,
  name: NftPlatform.Treasureland
}, {
  platformUrl: ['nftscan'],
  logo: _nftscanLogo.default,
  name: NftPlatform.Nftscan
}, {
  platformUrl: ['artblocks'],
  logo: _artblocksLogo.default,
  name: NftPlatform.Artblocks
}, {
  platformUrl: ['nftgo'],
  logo: _nftgoLogo.default,
  name: NftPlatform.NftGo
}, {
  platformUrl: ['azuki.com'],
  logo: _azukiLogo.default,
  name: NftPlatform.Azuki
}, {
  platformUrl: ['gem.xyz'],
  logo: _gemLogo.default,
  name: NftPlatform.Gem
}, {
  platformUrl: ['solanart.io'],
  logo: _solanartLogo.default,
  name: NftPlatform.Solanart
}, {
  platformUrl: ['dweb.link', 'ipfs.io', 'ipfs.infura.io', 'ipfs.pixura.io', 'ipfs.daonomic.com', 'ipfs.fleek.co'],
  logo: _ipfsLogo.default,
  name: NftPlatform.IPFS
}, {
  platformUrl: ['nft.coinbase'],
  logo: _coinbaseLogo.default,
  name: NftPlatform.Coinbase
}, {
  platformUrl: ['binance.com'],
  logo: _binanceLogo.default,
  name: NftPlatform.Binance
}];
const getContentIdByUrl = url => {
  const platformType = getPlatformType(url);
  let chain;
  let contract;
  let tokenId;
  const contractToken = getContractTokenByUrl(url);
  if (contractToken !== false) {
    ({
      contract,
      tokenId
    } = contractToken);
  }
  switch (platformType) {
    case NftPlatform.Unknown:
      return url;
    case NftPlatform.Artblocks:
      chain = NftChain.Ethereum;
      break;
    case NftPlatform.AsyncArt:
      {
        chain = NftChain.Ethereum;
        contract = extractHex(url);
        const tmp = url.split('/');
        tokenId = tmp[tmp.length - 1].split('-')[1];
        break;
      }
    case NftPlatform.Azuki:
      {
        var _url$match;
        const idx = (_url$match = url.match(/id=.+/)) === null || _url$match === void 0 ? void 0 : _url$match.index;
        if (idx) {
          contract = '0xed5af388653567af2f388e6224dc7c4b3241c544';
          tokenId = url.slice(idx + 3);
        }
        chain = NftChain.Ethereum;
        break;
      }
    case NftPlatform.Coinbase:
      chain = NftChain.Ethereum;
      break;
    case NftPlatform.Foundation:
      {
        const s = url.split('/');
        chain = NftChain.Ethereum;
        tokenId = s[s.length - 1];
        break;
      }
    case NftPlatform.Gem:
      chain = NftChain.Ethereum;
      break;
    case NftPlatform.Kalamint:
      {
        contract = 'KT1EpGgjQs73QfFJs9z7m1Mxm5MTnpC2tqse';
        const s = url.split('/');
        tokenId = s[s.length - 1];
        chain = NftChain.Tezos;
        break;
      }
    case NftPlatform.Looksrare:
      chain = NftChain.Ethereum;
      break;
    case NftPlatform.Magiceden:
      if (url.includes('item-details')) {
        chain = NftChain.Solana;
        ({
          contract,
          tokenId
        } = handleSolana(url));
      }
      break;
    case NftPlatform.MakerSplace:
      chain = NftChain.Ethereum;
      break;
    case NftPlatform.NftGo:
      chain = NftChain.Ethereum;
      break;
    case NftPlatform.Nftscan:
      {
        if (url.includes('bnb')) {
          chain = NftChain.BSC;
        } else if (url.includes('polygon')) {
          chain = NftChain.Polygon;
        } else if (url.includes('solana')) {
          chain = NftChain.Solana;
          ({
            contract,
            tokenId
          } = handleSolana(url));
        } else if (url.includes('arbitrum')) {
          chain = NftChain.Arbitrum;
        } else if (url.includes('optimism')) {
          chain = NftChain.Optimism;
        } else if (url.includes('moonbeam')) {
          chain = NftChain.Moonbeam;
        } else if (url.includes('platon')) {
          chain = NftChain.PlatON;
        }
        break;
      }
    case NftPlatform.NiftyGateway:
      chain = NftChain.Ethereum;
      break;
    case NftPlatform.Objkt:
      chain = NftChain.Tezos;
      break;
    case NftPlatform.Opensea:
      if (url.includes('matic')) {
        chain = NftChain.Polygon;
      } else if (url.includes('solana')) {
        chain = NftChain.Solana;
      } else {
        chain = NftChain.Ethereum;
      }
      break;
    case NftPlatform.Rarible:
      if (url.includes('solana')) {
        var _url$match$, _url$match2;
        chain = NftChain.Solana;
        contract = (_url$match$ = (_url$match2 = url.match('/solana/(.+)\\?')) === null || _url$match2 === void 0 ? void 0 : _url$match2[1]) !== null && _url$match$ !== void 0 ? _url$match$ : undefined;
        tokenId = '-';
      } else if (url.includes('polygon')) {
        chain = NftChain.Solana;
        contract = extractHex(url);
        const tmpSplitArr = url.split('?')[0].split(':');
        tokenId = tmpSplitArr[2];
      } else if (url.includes('tezos')) {
        chain = NftChain.Tezos;
        const res = url.match('/tezos/(.+):(.+)\\?');
        if (res) {
          contract = res[1];
          tokenId = res[2];
        }
      } else if (url.includes('flow')) {
        chain = NftChain.Flow;
        const res = url.match('/flow/(.+):(.+)\\?');
        if (res) {
          contract = res[1];
          tokenId = res[2];
        }
      }
      break;
    case NftPlatform.Solanart:
      {
        const tmp = url.split('/');
        contract = tmp[tmp.length - 1];
        tokenId = '-';
        chain = NftChain.Solana;
        break;
      }
    case NftPlatform.Superrare:
      {
        const tmp = url.split('/');
        const tmpSplit = tmp[tmp.length - 1].split('-');
        tokenId = tmpSplit[tmpSplit.length - 1];
        chain = NftChain.Ethereum;
        if (url.includes('artwork-v2')) {
          contract = '0xb932a70a57673d89f4acffbe830e8ed7f75fb9e0';
        }
        break;
      }
    case NftPlatform.Tofunft:
      {
        const tmp = url.match(/https:\/\/tofunft.com\/nft\/(.+?)\/(.+?)\/(\d+)\??/);
        if (tmp) {
          const chainMatch = tmp[1];
          contract = tmp[2];
          tokenId = tmp[3];
          switch (chainMatch) {
            case 'bsc':
              {
                chain = NftChain.BSC;
                break;
              }
            case 'eth':
              {
                chain = NftChain.Ethereum;
                break;
              }
            case 'ftm':
              {
                chain = NftChain.FTM;
                break;
              }
            case 'oec':
              {
                chain = NftChain.OEC;
                break;
              }
            default:
              {
                break;
              }
          }
        }
        break;
      }
    case NftPlatform.Treasureland:
      {
        const res = url.match(/https:\/\/(www\.)?treasureland.market\/assets\/(.+?\/)(\d+)(\/\d*)?\?chain_id=(\d+)/);
        if (res) {
          contract = res[2].replace('/', '');
          tokenId = res[3];
          const chainMatch = res.slice(-1)[0];
          switch (chainMatch) {
            case '56':
              chain = NftChain.BSC;
              break;
            case '1':
              chain = NftChain.Ethereum;
              break;
            case '137':
              chain = NftChain.Polygon;
              break;
            case '1285':
              chain = NftChain.Moonriver;
              break;
            case '4689':
              chain = NftChain.IoTeX;
              break;
            case '1284':
              chain = NftChain.Moonbeam;
              break;
            case '321':
              chain = NftChain.KCC;
              break;
            default:
              break;
          }
        }
        break;
      }
    case NftPlatform.Tryshowtime:
      chain = NftChain.Polygon;
      break;
    case NftPlatform.Viv3:
      chain = NftChain.Flow;
      break;
    case NftPlatform.Zora:
      chain = NftChain.Ethereum;
      break;
    default:
      break;
  }
  if (chain && contract && tokenId) {
    return makeUpContentId(chain, contract, tokenId);
  } else {
    return url;
  }
};
const contractTokenReg = new RegExp('0x.+/.+');
const handleSolana = url => {
  var _tmpSplitArr$match$, _tmpSplitArr$match;
  const tmpSplitArr = url.split('/');
  return {
    contract: (_tmpSplitArr$match$ = (_tmpSplitArr$match = tmpSplitArr[tmpSplitArr.length - 1].match(/[\d+A-Za-z]*/)) === null || _tmpSplitArr$match === void 0 ? void 0 : _tmpSplitArr$match[0]) !== null && _tmpSplitArr$match$ !== void 0 ? _tmpSplitArr$match$ : tmpSplitArr[tmpSplitArr.length - 1],
    tokenId: '-'
  };
};
const getContractTokenByUrl = url => {
  if (getPlatformType(url) !== NftPlatform.Unknown) {
    var _url$match3;
    const result = (_url$match3 = url.match(contractTokenReg)) === null || _url$match3 === void 0 ? void 0 : _url$match3[0].split('/');
    if (result) {
      return {
        contract: result[0],
        tokenId: result[1]
      };
    }
  }
  return false;
};
const makeUpContentId = (chain, contract, tokenId) => {
  return `${chain}:${contract}:${tokenId}`;
};
const getPlatformLogo = platformUrl => {
  if (!platformUrl) {
    return NftPlatform.Unknown;
  }
  const url = platformUrl.toLowerCase();
  for (const platform of nftPlatformMap) {
    let varify = true;
    platform.platformUrl.map(linkUrl => {
      if (url.includes(linkUrl)) {
        varify = false;
      }
      return null;
    });
    if (varify) {
      return platform.logo;
    }
  }
  return NftPlatform.Unknown;
};
exports.getPlatformLogo = getPlatformLogo;
function getPlatformType(platformUrl) {
  if (!platformUrl) {
    return NftPlatform.Unknown;
  }
  const url = platformUrl.toLowerCase();
  for (const platform of nftPlatformMap) {
    let varify = false;
    platform.platformUrl.map(linkUrl => {
      if (url.includes(linkUrl)) {
        varify = true;
      }
      return null;
    });
    if (varify) {
      return platform.name;
    }
  }
  return NftPlatform.Unknown;
}

// eslint-disable-next-line complexity
function getChainLogo(chain) {
  switch (chain) {
    case '':
    case 'Ethereum':
    case 'ERC1155':
    case 'ERC721':
      return _ethereum_logo.default;
    case 'BSC':
      return _BSC_logo.default;
    case 'Polygon':
      return _polygon_logo.default;
    case 'Flow':
      return _flow_logo.default;
    case 'Tezos':
      return _tezos_logo.default;
    case 'Solana':
      return _solana_logo.default;
    case 'Arbi':
      return _arbitrum_logo.default;
    case 'Astar':
      return _astar_logo.default;
    case 'Aurora':
      return _aurora_logo.default;
    case 'Avax':
      return _avalanche_logo.default;
    case 'Boba':
      return _boba_logo.default;
    case 'Celo':
      return _celo_logo.default;
    case 'Cronos':
      return _cronos_logo.default;
    case 'Evmos':
      return _evmos_logo.default;
    case 'FTM':
      return _fantom_logo.default;
    case 'Fuse':
      return _fuse_logo.default;
    case 'Harmony':
      return _harmony_logo.default;
    case 'Heco':
      return _heco_logo.default;
    case 'Klaytn':
      return _klaytn_logo.default;
    case 'Meter':
      return _meter_logo.default;
    case 'Metis':
      return _metis_logo.default;
    case 'Moonbeam':
      return _moonbeam_logo.default;
    case 'Moonriver':
      return _moonriver_logo.default;
    case 'Oasis':
      return _oasis_logo.default;
    case 'OEC':
      return _OEC_logo.default;
    case 'Optimism':
      return _optimism_logo.default;
    case 'Shiden':
      return _shiden_logo.default;
    case 'Telos':
      return _telos_logo.default;
    case 'IoTeX':
      return _IoTeX_logo.default;
    case 'KCC':
      return _KCC_logo.default;
    default:
      return '';
  }
}