ccxt 4.2.42 → 4.2.44

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/js/src/mexc.js CHANGED
@@ -437,247 +437,353 @@ export default class mexc extends Exchange {
437
437
  'defaultNetwork': 'ETH',
438
438
  'defaultNetworks': {
439
439
  'ETH': 'ETH',
440
- 'USDT': 'TRC20',
440
+ 'USDT': 'ERC20',
441
+ 'USDC': 'ERC20',
442
+ 'BTC': 'BTC',
443
+ 'LTC': 'LTC',
441
444
  },
442
445
  'networks': {
443
- 'BTC': 'BTC',
444
- 'BCH': 'BCH',
445
- 'TRC20': 'Tron(TRC20)',
446
- 'ERC20': 'Ethereum(ERC20)',
447
- 'BEP20': 'BNB Smart Chain(BEP20)',
448
- 'OPTIMISM': 'Optimism(OP)',
449
- 'SOL': 'Solana(SOL)',
450
- 'CRC20': 'CRONOS',
446
+ 'ABBC': 'ABBC',
447
+ 'ACA': 'ACALA',
448
+ 'ADA': 'Cardano(ADA)',
449
+ 'AE': 'AE',
451
450
  'ALGO': 'Algorand(ALGO)',
452
- 'XRP': 'XRP',
453
- 'MATIC': 'Polygon(MATIC)',
454
- 'AVAXX': 'AVAX_XCHAIN',
455
- 'AVAXC': 'AvalancheCChain(AVAXCCHAIN)',
456
- 'ARBONE': 'ArbitrumOne(ARB)',
451
+ 'ALPH': 'Alephium(ALPH)',
452
+ 'AME': 'AME',
453
+ 'AOK': 'AOK',
454
+ 'APT': 'APTOS(APT)',
455
+ 'AR': 'AR',
456
+ 'ARB': 'Arbitrum One(ARB)',
457
457
  'ARBNOVA': 'ARBNOVA',
458
- 'FTM': 'FTM',
459
- 'WAVES': 'WAVES',
460
- 'CHZ': 'Chiliz Chain(CHZ)',
461
- 'HRC20': 'HECO',
462
- 'TRC10': 'TRC10',
463
- 'DASH': 'DASH',
464
- 'LTC': 'LTC',
465
- // 'DOGECOIN': [ 'DOGE', 'DOGECHAIN' ], // todo after unification
466
- 'XTZ': 'XTZ',
467
- 'OMNI': 'OMNI',
468
- 'APT': 'APTOS',
469
- 'ONT': 'ONT',
470
- 'BSV': 'BSV',
471
- 'OKC': 'OKT',
458
+ 'ARBONE': 'ArbitrumOne(ARB)',
459
+ 'ARK': 'ARK',
460
+ 'ASTR': 'ASTAR',
461
+ 'ATOM': 'Cosmos(ATOM)',
462
+ 'AVAXC': 'Avalanche C Chain(AVAX CCHAIN)',
463
+ 'AVAXX': 'Avalanche X Chain(AVAX XCHAIN)',
464
+ 'AZERO': 'Aleph Zero(AZERO)',
465
+ 'BCH': 'Bitcoin Cash(BCH)',
466
+ 'BDX': 'BDX',
467
+ 'BEAM': 'BEAM',
468
+ 'BEP2': 'BNB Beacon Chain(BEP2)',
469
+ 'BEP20': 'BNB Smart Chain(BEP20)',
470
+ 'BITCI': 'BITCI',
471
+ 'BNC': 'BNC',
472
+ 'BNCDOT': 'BNCPOLKA',
473
+ 'BOBA': 'BOBA',
474
+ 'BSC': 'BEP20(BSC)',
475
+ 'BSV': 'Bitcoin SV(BSV)',
476
+ 'BTC': 'Bitcoin(BTC)',
477
+ 'BTM': 'BTM2',
472
478
  'CELO': 'CELO',
473
- 'KLAY': 'KLAY',
474
- 'BEP2': 'BEP2',
479
+ 'CFX': 'CFX',
480
+ 'CHZ': 'Chiliz Legacy Chain(CHZ)',
481
+ 'CHZ2': 'Chiliz Chain(CHZ2)',
482
+ 'CKB': 'CKB',
483
+ 'CLORE': 'Clore.ai(CLORE)',
484
+ 'CRC20': 'CRONOS',
485
+ 'CSPR': 'CSPR',
486
+ 'DASH': 'DASH',
487
+ 'DC': 'Dogechain(DC)',
488
+ 'DCR': 'DCR',
489
+ 'DNX': 'Dynex(DNX)',
490
+ 'DOGE': 'Dogecoin(DOGE)',
491
+ 'DOT': 'Polkadot(DOT)',
492
+ 'DYM': 'Dymension(DYM)',
493
+ 'EDG': 'EDG',
475
494
  'EGLD': 'EGLD',
476
495
  'EOS': 'EOS',
477
- 'ZIL': 'ZIL',
496
+ 'ERC20': 'Ethereum(ERC20)',
497
+ 'ETC': 'Ethereum Classic(ETC)',
498
+ 'ETHF': 'ETF',
478
499
  'ETHW': 'ETHW',
479
- 'IOTX': 'IOTX',
500
+ 'EVER': 'EVER',
501
+ 'FET': 'FET',
502
+ 'FIL': 'FIL',
503
+ 'FIO': 'FIO',
504
+ 'FLOW': 'FLOW',
505
+ 'FSN': 'FSN',
506
+ 'FTM': 'Fantom(FTM)',
507
+ 'FUSE': 'FUSE',
508
+ 'GLMR': 'GLMR',
509
+ 'GRIN': 'GRIN',
510
+ 'HBAR': 'Hedera(HBAR)',
511
+ 'HIVE': 'HIVE',
512
+ 'HRC20': 'HECO',
513
+ 'HYDRA': 'HYDRA',
514
+ 'ICP': 'Internet Computer(ICP)',
515
+ 'INDEX': 'Index Chain',
516
+ 'IOST': 'IOST',
480
517
  'IOTA': 'IOTA',
481
- 'SYS': 'SYS',
482
- 'XCH': 'CHIA',
483
- 'KMA': 'KMA',
484
- 'ONE': 'ONE',
485
- 'METIS': 'METIS',
518
+ 'IOTX': 'IOTX',
519
+ 'IRIS': 'IRIS',
520
+ 'KAR': 'KAR',
521
+ 'KAS': 'Kaspa(KAS)',
486
522
  'KAVA': 'KAVA',
487
523
  'KDA': 'KDA',
488
- 'IOST': 'IOST',
489
- 'XEC': 'XEC',
490
- 'VET': 'VET',
491
- 'XLM': 'XLM',
524
+ 'KILT': 'KILT',
525
+ 'KLAY': 'Klaytn(KLAY)',
526
+ 'KMA': 'KMA',
492
527
  'KSM': 'KSM',
493
- 'MOVR': 'MOVR',
494
- 'XMR': 'XMR',
495
528
  'LAT': 'LAT',
496
- 'ETC': 'ETC',
497
- // 'TLOS': 'TELOS', // todo
498
- // 'TELOSCOIN': 'TLOS', // todo
499
- 'GLMR': 'GLMR',
500
- 'DOT': 'DOT',
501
- 'SC': 'SC',
502
- 'ICP': 'ICP',
503
- 'AOK': 'AOK',
504
- 'ZEC': 'ZEC',
505
- 'ACA': 'ACALA',
506
- 'ASTR': 'ASTAR',
507
- 'FIL': 'FIL',
508
- 'NEAR': 'NEAR',
509
- 'OSMO': 'OSMO',
510
- 'SDN': 'SDN',
511
- 'BITCI': 'BITCI',
529
+ 'LAVA': 'Elysium(LAVA)',
530
+ 'LTC': 'Litecoin(LTC)',
531
+ 'LUNA': 'Terra(LUNA)',
532
+ 'MASS': 'MASS',
533
+ 'MATIC': 'Polygon(MATIC)',
534
+ 'MCOIN': 'Mcoin Network',
535
+ 'METIS': 'METIS',
536
+ 'MINA': 'MINA',
537
+ 'MNT': 'Mantle(MNT)',
538
+ 'MOVR': 'MOVR',
539
+ 'MTRG': 'Meter(MTRG)',
540
+ 'NAS': 'NAS',
541
+ 'NEAR': 'NEAR Protocol(NEAR)',
542
+ 'NEBL': 'NEBL',
543
+ 'NEM': 'NEM',
512
544
  'NEO': 'NEO',
513
- 'ADA': 'ADA',
514
- 'RVN': 'RVN',
515
- 'BNC': 'BNC',
516
- 'BNCDOT': 'BNCPOLKA',
517
- 'ETHF': 'ETF',
518
- 'STEEM': 'STEEM',
519
- 'OASYS': 'OASYS',
520
- 'BEAM': 'BEAM',
521
- 'VSYS': 'VSYS',
545
+ 'NEO3': 'NEO3',
546
+ 'NEOXA': 'Neoxa Network',
547
+ 'NULS': 'NULS',
522
548
  'OASIS': 'ROSE',
523
- 'AR': 'AR',
524
- 'AE': 'AE',
549
+ 'OASYS': 'OASYS',
550
+ 'OKC': 'OKT',
551
+ 'OMN': 'Omega Network(OMN)',
552
+ 'OMNI': 'OMNI',
553
+ 'ONE': 'ONE',
554
+ 'ONT': 'ONT',
555
+ 'OPTIMISM': 'Optimism(OP)',
556
+ 'OSMO': 'OSMO',
557
+ 'PLCU': 'PLCU',
558
+ 'POKT': 'POKT',
559
+ 'QKC': 'QKC',
525
560
  'QTUM': 'QTUM',
526
- 'ATOM': 'ATOM',
527
- 'HBAR': 'HBAR',
528
- 'CSPR': 'CSPR',
529
- 'WEMIX': 'WEMIX',
530
- 'SGB': 'SGB',
531
- 'XPR': 'PROTON',
532
- 'HYDRA': 'HYDRA',
561
+ 'RAP20': 'RAP20 (Rangers Mainnet)',
562
+ 'REI': 'REI',
563
+ 'RSK': 'RBTC',
564
+ 'RVN': 'Ravencoin(RVN)',
565
+ 'SATOX': 'Satoxcoin(SATOX)',
566
+ 'SC': 'SC',
533
567
  'SCRT': 'SCRT',
568
+ 'SDN': 'SDN',
569
+ 'SGB': 'SGB',
570
+ 'SOL': 'Solana(SOL)',
571
+ 'STAR': 'STAR',
572
+ 'STARK': 'Starknet(STARK)',
573
+ 'STEEM': 'STEEM',
574
+ 'SYS': 'SYS',
575
+ 'TAO': 'Bittensor(TAO)',
576
+ 'TIA': 'Celestia(TIA)',
534
577
  'TOMO': 'TOMO',
578
+ 'TON': 'Toncoin(TON)',
579
+ 'TRC10': 'TRC10',
580
+ 'TRC20': 'Tron(TRC20)',
581
+ 'UGAS': 'UGAS(Ultrain)',
582
+ 'VET': 'VeChain(VET)',
583
+ 'VEX': 'Vexanium(VEX)',
584
+ 'VSYS': 'VSYS',
585
+ 'WAVES': 'WAVES',
535
586
  'WAX': 'WAX',
536
- 'KAR': 'KAR',
537
- 'KILT': 'KILT',
587
+ 'WEMIX': 'WEMIX',
588
+ 'XCH': 'Chia(XCH)',
538
589
  'XDC': 'XDC',
539
- 'GRIN': 'GRIN',
540
- 'PLCU': 'PLCU',
541
- 'MINA': 'MINA',
542
- 'ABBC': 'ABBC',
543
- 'ZEN': 'ZEN',
544
- 'FLOW': 'FLOW',
545
- 'RSK': 'RBTC',
546
- 'DCR': 'DCR',
547
- 'HIVE': 'HIVE',
548
- 'XYM': 'XYM',
549
- 'CKB': 'CKB',
590
+ 'XEC': 'XEC',
591
+ 'XLM': 'Stellar(XLM)',
592
+ 'XMR': 'Monero(XMR)',
593
+ 'XNA': 'Neurai(XNA)',
594
+ 'XPR': 'XPR Network',
550
595
  'XRD': 'XRD',
596
+ 'XRP': 'Ripple(XRP)',
597
+ 'XTZ': 'XTZ',
551
598
  'XVG': 'XVG',
552
- 'BOBA': 'BOBA',
553
- 'AZERO': 'AZERO',
554
- 'ARK': 'ARK',
555
- 'NULS': 'NULS',
556
- 'POKT': 'POKT',
557
- 'NEO3': 'NEO3',
558
- 'FIO': 'FIO',
559
- 'MASS': 'MASS',
560
- 'AME': 'AME',
561
- 'REI': 'REI',
562
- 'IRIS': 'IRIS',
599
+ 'XYM': 'XYM',
600
+ 'ZEC': 'ZEC',
601
+ 'ZEN': 'ZEN',
602
+ 'ZIL': 'Zilliqa(ZIL)',
563
603
  'ZTG': 'ZTG',
564
- 'EDG': 'EDG',
565
- 'FUSE': 'FUSE',
566
- 'EVER': 'EVER',
567
- 'FET': 'FET',
568
- 'CFX': 'CFX',
569
- 'NEBL': 'NEBL',
570
- 'STAR': 'STAR',
571
- 'NEM': 'NEM',
572
- 'BDX': 'BDX',
573
- 'TON': 'TONCOIN',
574
- 'NAS': 'NAS',
575
- 'QKC': 'QKC',
576
- 'BTM': 'BTM2',
577
- 'FSN': 'FSN',
578
604
  // todo: uncomment below after concensus
579
- // 'TERRACLASSIC': 'LUNC',
580
- // 'TERRA': 'LUNA2',
581
- // 'PHALA': 'Khala',
582
- // 'NODLE': 'NODLE',
583
- // 'KUJIRA': 'KUJI',
584
- // 'HUAHUA': 'HUAHUA',
585
- // 'FRUITS': 'FRTS',
586
- // 'IOEX': 'IOEX',
587
- // 'TOMAINFO': 'TON',
605
+ // 'ALAYA': 'ATP',
606
+ // 'ANDUSCHAIN': 'DEB',
607
+ // 'ASSETMANTLE': 'MNTL',
608
+ // 'AXE': 'AXE',
588
609
  // 'BITCOINHD': 'BHD',
610
+ // 'BITCOINVAULT': 'BTCV',
611
+ // 'BITKUB': 'KUB',
612
+ // 'BITSHARES_OLD': 'BTS',
613
+ // 'BITSHARES': 'NBS',
614
+ // 'BYTZ': 'BYTZ',
615
+ // 'CANTO': 'CANTO', // CANTOEVM
589
616
  // 'CENNZ': 'CENNZ',
590
- // 'WAYKICHAIN': 'WICC',
591
- // 'EMERALD': 'EMERALD', // sits on top of OASIS
617
+ // 'CHAINX': 'PCX',
618
+ // 'CONCODRIUM': 'CCD',
592
619
  // 'CONTENTVALUENETWORK': 'CVNT',
593
- // 'ORIGYN': 'OGY',
594
- // 'KASPA': 'KASPA',
595
- // 'CANTO': 'CANTO', // CANTOEVM
620
+ // 'CORTEX': 'CTXC',
621
+ // 'CYPHERIUM': 'CPH',
622
+ // 'DANGNN': 'DGC',
596
623
  // 'DARWINIASMARTCHAIN': 'Darwinia Smart Chain',
597
- // 'KEKCHAIN': 'KEKCHAIN',
598
- // 'ZENITH': 'ZENITH',
624
+ // 'DHEALTH': 'DHP',
625
+ // 'DOGECOIN': [ 'DOGE', 'DOGECHAIN' ], // todo after unification
626
+ // 'DRAC': 'DRAC',
627
+ // 'DRAKEN': 'DRK',
599
628
  // 'ECOCHAIN': 'ECOC',
600
629
  // 'ELECTRAPROTOCOL': 'XEP',
601
- // 'KULUPU': 'KLP',
602
- // 'KINTSUGI': 'KINT',
603
- // 'PLEX': 'PLEX',
604
- // 'CONCODRIUM': 'CCD',
605
- // 'REBUS': 'REBUS', // REBUSEVM is different
606
- // 'BITKUB': 'KUB',
607
- // 'BITCOINVAULT': 'BTCV',
608
- // 'PROXIMAX': 'XPX',
609
- // 'PAC': 'PAC',
610
- // 'CHAINX': 'PCX',
611
- // 'DRAC': 'DRAC',
612
- // 'WHITECOIN': 'XWC',
613
- // 'TECHPAY': 'TPC',
614
- // 'GXCHAIN': 'GXC',
615
- // 'CYPHERIUM': 'CPH',
616
- // 'LBRY': 'LBC',
617
- // 'TONGTONG': 'TTC',
618
- // 'LEDGIS': 'LED',
619
- // 'PMG': 'PMG',
620
- // 'PROOFOFMEMES': 'POM',
621
- // 'SENTINEL': 'DVPN',
622
- // 'METER': 'MTRG',
623
- // 'YAS': 'YAS',
624
- // 'ULTRAIN': 'UGAS',
625
- // 'PASTEL': 'PSL',
626
- // 'KONSTELLATION': 'DARC',
627
- // 'ANDUSCHAIN': 'DEB',
630
+ // 'EMERALD': 'EMERALD', // sits on top of OASIS
631
+ // 'EVMOS': 'EVMOS', // EVMOSETH is different
632
+ // 'EXOSAMA': 'SAMA',
633
+ // 'FIBOS': 'FO',
634
+ // 'FILECASH': 'FIC',
628
635
  // 'FIRMACHAIN': 'FCT',
636
+ // 'FIRO': 'XZC',
637
+ // 'FNCY': 'FNCY',
638
+ // 'FRUITS': 'FRTS',
639
+ // 'GLEEC': 'GLEEC',
640
+ // 'GXCHAIN': 'GXC',
629
641
  // 'HANDSHAKE': 'HNS',
630
- // 'DANGNN': 'DGC',
631
- // 'SERO': 'SERO',
632
642
  // 'HPB': 'HPB',
633
- // 'XDAI': 'XDAI',
634
- // 'EXOSAMA': 'SAMA',
635
- // 'DHEALTH': 'DHP',
636
- // 'HUPAYX': 'HPX',
637
- // 'GLEEC': 'GLEEC',
638
- // 'FIBOS': 'FO',
639
- // 'MDNA': 'DNA',
640
643
  // 'HSHARE': 'HC',
641
- // 'BYTZ': 'BYTZ',
642
- // 'DRAKEN': 'DRK',
644
+ // 'HUAHUA': 'HUAHUA',
645
+ // 'HUPAYX': 'HPX',
646
+ // 'INDEXCHAIN': 'IDX',
647
+ // 'INTCHAIN': 'INT',
648
+ // 'INTEGRITEE': 'TEER',
649
+ // 'INTERLAY': 'INTR',
650
+ // 'IOEX': 'IOEX',
651
+ // 'JUNO': 'JUNO',
652
+ // 'KASPA': 'KASPA',
653
+ // 'KEKCHAIN': 'KEKCHAIN',
654
+ // 'KINTSUGI': 'KINT',
655
+ // 'KOINOS': 'KOINOS',
656
+ // 'KONSTELLATION': 'DARC',
657
+ // 'KUJIRA': 'KUJI',
658
+ // 'KULUPU': 'KLP',
659
+ // 'LBRY': 'LBC',
660
+ // 'LEDGIS': 'LED',
661
+ // 'LIGHTNINGBITCOIN': 'LBTC',
643
662
  // 'LINE': 'LINE',
663
+ // 'MDNA': 'DNA',
644
664
  // 'MDUKEY': 'MDU',
645
- // 'KOINOS': 'KOINOS',
665
+ // 'METAMUI': 'MMUI',
666
+ // 'METAVERSE_ETP': 'ETP',
667
+ // 'METER': 'MTRG',
646
668
  // 'MEVERSE': 'MEVerse',
669
+ // 'NEWTON': 'NEW',
670
+ // 'NODLE': 'NODLE',
671
+ // 'ORIGYN': 'OGY',
672
+ // 'PAC': 'PAC',
673
+ // 'PASTEL': 'PSL',
674
+ // 'PHALA': 'Khala',
675
+ // 'PLEX': 'PLEX',
676
+ // 'PMG': 'PMG',
647
677
  // 'POINT': 'POINT', // POINTEVM is different
648
- // 'INDEXCHAIN': 'IDX',
649
- // 'ULORD': 'UT',
650
- // 'INTEGRITEE': 'TEER',
651
- // 'XX': 'XX',
652
- // 'CORTEX': 'CTXC',
678
+ // 'PROOFOFMEMES': 'POM',
679
+ // 'PROXIMAX': 'XPX',
680
+ // 'RCHAIN': 'REV',
681
+ // 'REBUS': 'REBUS', // REBUSEVM is different
653
682
  // 'RIZON': 'ATOLO',
683
+ // 'SENTINEL': 'DVPN',
684
+ // 'SERO': 'SERO',
685
+ // 'TECHPAY': 'TPC',
686
+ // 'TELOSCOIN': 'TLOS', // todo
687
+ // 'TERRA': 'LUNA2',
688
+ // 'TERRACLASSIC': 'LUNC',
689
+ // 'TLOS': 'TELOS', // todo
690
+ // 'TOMAINFO': 'TON',
691
+ // 'TONGTONG': 'TTC',
692
+ // 'TURTLECOIN': 'TRTL',
693
+ // 'ULORD': 'UT',
694
+ // 'ULTRAIN': 'UGAS',
695
+ // 'UMEE': 'UMEE',
654
696
  // 'VDIMENSION': 'VOLLAR',
655
- // 'JUNO': 'JUNO',
656
697
  // 'VEXANIUM': 'VEX',
657
- // 'INTCHAIN': 'INT',
658
- // 'METAMUI': 'MMUI',
659
- // 'RCHAIN': 'REV',
660
- // 'EVMOS': 'EVMOS', // EVMOSETH is different
661
- // 'ZKSYNC': 'ZKSYNC',
662
- // 'BITSHARES_OLD': 'BTS',
663
- // 'BITSHARES': 'NBS',
664
- // 'UMEE': 'UMEE',
665
698
  // 'VNT': 'VNT',
666
- // 'TURTLECOIN': 'TRTL',
667
- // 'METAVERSE_ETP': 'ETP',
668
- // 'NEWTON': 'NEW',
669
- // // 'BAJUN': '',
670
- // 'INTERLAY': 'INTR',
671
- // 'LIGHTNINGBITCOIN': 'LBTC',
672
- // 'FIRO': 'XZC',
673
- // 'ALAYA': 'ATP',
674
- // 'AXE': 'AXE',
675
- // 'FNCY': 'FNCY',
699
+ // 'WAYKICHAIN': 'WICC',
700
+ // 'WHITECOIN': 'XWC',
676
701
  // 'WITNET': 'WIT',
677
- // 'FILECASH': 'FIC',
678
- // 'ASSETMANTLE': 'MNTL',
702
+ // 'XDAI': 'XDAI',
703
+ // 'XX': 'XX',
704
+ // 'YAS': 'YAS',
705
+ // 'ZENITH': 'ZENITH',
706
+ // 'ZKSYNC': 'ZKSYNC',
707
+ // // 'BAJUN': '',
679
708
  // OKB <> OKT (for usdt it's exception) for OKC, PMEER, FLARE, STRD, ZEL, FUND, "NONE", CRING, FREETON, QTZ (probably unique network is meant), HT, BSC(RACAV1), BSC(RACAV2), AMBROSUS, BAJUN, NOM. their individual info is at https://www.mexc.com/api/platform/asset/spot/{COINNAME}
680
709
  },
710
+ 'networksById': {
711
+ 'Aleph Zero(AZERO)': 'AZERO',
712
+ 'Alephium(ALPH)': 'ALPH',
713
+ 'Algorand(ALGO)': 'ALGO',
714
+ 'APTOS(APT)': 'APT',
715
+ 'Arbitrum One(ARB)': 'ARB',
716
+ 'Avalanche C Chain(AVAX CCHAIN)': 'AVAXC',
717
+ 'Avalanche X Chain(AVAX XCHAIN)': 'AVAXX',
718
+ 'BEP20(BSC)': 'BSC',
719
+ 'Bitcoin Cash(BCH)': 'BCH',
720
+ 'Bitcoin SV(BSV)': 'BSV',
721
+ 'Bitcoin(BTC)': 'BTC',
722
+ 'Bittensor(TAO)': 'TAO',
723
+ 'BNB Beacon Chain(BEP2)': 'BEP2',
724
+ 'BNB Smart Chain(BEP20-RACAV1)': 'BSC',
725
+ 'BNB Smart Chain(BEP20-RACAV2)': 'BSC',
726
+ 'BNB Smart Chain(BEP20)': 'BSC',
727
+ 'Cardano(ADA)': 'ADA',
728
+ 'Celestia(TIA)': 'TIA',
729
+ 'Chia(XCH)': 'XCH',
730
+ 'Chiliz Chain(CHZ2)': 'CHZ2',
731
+ 'Chiliz Legacy Chain(CHZ)': 'CHZ',
732
+ 'Clore.ai(CLORE)': 'CLORE',
733
+ 'Cosmos(ATOM)': 'ATOM',
734
+ 'Dogechain(DC)': 'DC',
735
+ 'Dogecoin(DOGE)': 'DOGE',
736
+ 'Dymension(DYM)': 'DYM',
737
+ 'Dynex(DNX)': 'DNX',
738
+ 'Elysium(LAVA)': 'LAVA',
739
+ 'Ethereum Classic(ETC)': 'ETC',
740
+ 'Ethereum(ERC20)': 'ERC20',
741
+ 'Fantom(FTM)': 'FTM',
742
+ 'Hedera(HBAR)': 'HBAR',
743
+ 'Index Chain': 'INDEX',
744
+ 'Internet Computer(ICP)': 'ICP',
745
+ 'Kaspa(KAS)': 'KAS',
746
+ 'Klaytn(KLAY)': 'KLAY',
747
+ 'Litecoin(LTC)': 'LTC',
748
+ 'Mantle(MNT)': 'MNT',
749
+ 'Mcoin Network': 'MCOIN',
750
+ 'Meter(MTRG)': 'MTRG',
751
+ 'Monero(XMR)': 'XMR',
752
+ 'NEAR Protocol(NEAR)': 'NEAR',
753
+ 'Neoxa Network': 'NEOXA',
754
+ 'Neurai(XNA)': 'XNA',
755
+ 'Omega Network(OMN)': 'OMN',
756
+ 'Optimism(OP)': 'OPTIMISM',
757
+ 'Polkadot(DOT)': 'DOT',
758
+ 'Polygon(MATIC)': 'MATIC',
759
+ 'RAP20 (Rangers Mainnet)': 'RAP20',
760
+ 'Ravencoin(RVN)': 'RVN',
761
+ 'Ripple(XRP)': 'XRP',
762
+ 'Satoxcoin(SATOX)': 'SATOX',
763
+ 'Solana(SOL)': 'SOL',
764
+ 'Starknet(STARK)': 'STARK',
765
+ 'Stellar(XLM)': 'XLM',
766
+ 'Terra(LUNA)': 'LUNA',
767
+ 'Toncoin(TON)': 'TON',
768
+ 'Tron(TRC20)': 'TRC20',
769
+ 'UGAS(Ultrain)': 'UGAS',
770
+ 'VeChain(VET)': 'VET',
771
+ 'Vexanium(VEX)': 'VEX',
772
+ 'XPR Network': 'XPR',
773
+ 'Zilliqa(ZIL)': 'ZIL',
774
+ // TODO: uncomment below after deciding unified name
775
+ // 'PEPE COIN BSC':
776
+ // 'SMART BLOCKCHAIN':
777
+ // 'f(x)Core':
778
+ // 'Syscoin Rollux':
779
+ // 'Syscoin UTXO':
780
+ // 'zkSync Era':
781
+ // 'zkSync Lite':
782
+ // 'Darwinia Smart Chain':
783
+ // 'Arbitrum One(ARB-Bridged)':
784
+ // 'Optimism(OP-Bridged)':
785
+ // 'Polygon(MATIC-Bridged)':
786
+ },
681
787
  'recvWindow': 5 * 1000,
682
788
  'maxTimeTillEnd': 90 * 86400 * 1000 - 1,
683
789
  'broker': 'CCXT',
@@ -957,7 +1063,7 @@ export default class mexc extends Exchange {
957
1063
  for (let j = 0; j < chains.length; j++) {
958
1064
  const chain = chains[j];
959
1065
  const networkId = this.safeString(chain, 'network');
960
- const network = this.safeNetwork(networkId);
1066
+ const network = this.networkIdToCode(networkId);
961
1067
  const isDepositEnabled = this.safeBool(chain, 'depositEnable', false);
962
1068
  const isWithdrawEnabled = this.safeBool(chain, 'withdrawEnable', false);
963
1069
  const active = (isDepositEnabled && isWithdrawEnabled);
@@ -1030,26 +1136,6 @@ export default class mexc extends Exchange {
1030
1136
  }
1031
1137
  return result;
1032
1138
  }
1033
- safeNetwork(networkId) {
1034
- if (networkId.indexOf('BSC') >= 0) {
1035
- return 'BEP20';
1036
- }
1037
- const parts = networkId.split(' ');
1038
- networkId = parts.join('');
1039
- networkId = networkId.replace('-20', '20');
1040
- const networksById = {
1041
- 'Ethereum(ERC20)': 'ERC20',
1042
- 'Algorand(ALGO)': 'ALGO',
1043
- 'ArbitrumOne(ARB)': 'ARBONE',
1044
- 'AvalancheCChain(AVAXCCHAIN)': 'AVAXC',
1045
- 'BNB Smart Chain(BEP20)': 'BEP20',
1046
- 'Polygon(MATIC)': 'MATIC',
1047
- 'Optimism(OP)': 'OPTIMISM',
1048
- 'Solana(SOL)': 'SOL',
1049
- 'Tron(TRC20)': 'TRC20',
1050
- };
1051
- return this.safeString(networksById, networkId, networkId);
1052
- }
1053
1139
  async fetchMarkets(params = {}) {
1054
1140
  /**
1055
1141
  * @method
@@ -4294,23 +4380,22 @@ export default class mexc extends Exchange {
4294
4380
  }
4295
4381
  parseDepositAddress(depositAddress, currency = undefined) {
4296
4382
  //
4297
- // {"chain":"ERC-20","address":"0x55cbd73db24eafcca97369e3f2db74b2490586e6"},
4298
- // {"chain":"MATIC","address":"0x05aa3236f1970eae0f8feb17ec19435b39574d74"},
4299
- // {"chain":"TRC20","address":"TGaPfhW41EXD3sAfs1grLF6DKfugfqANNw"},
4300
- // {"chain":"SOL","address":"5FSpUKuh2gjw4mF89T2e7sEjzUA1SkRKjBChFqP43KhV"},
4301
- // {"chain":"ALGO","address":"B3XTZND2JJTSYR7R2TQVCUDT4QSSYVAIZYDPWVBX34DGAYATBU3AUV43VU"}
4302
- //
4383
+ // {
4384
+ // coin: "USDT",
4385
+ // network: "BNB Smart Chain(BEP20)",
4386
+ // address: "0x0d48003e0c27c5de62b97c9b4cdb31fdd29da619",
4387
+ // memo: null
4388
+ // }
4303
4389
  //
4304
4390
  const address = this.safeString(depositAddress, 'address');
4305
- const code = this.safeCurrencyCode(undefined, currency);
4306
- const networkId = this.safeString(depositAddress, 'chain');
4307
- const network = this.safeNetwork(networkId);
4391
+ const currencyId = this.safeString(depositAddress, 'coin');
4392
+ const networkId = this.safeString(depositAddress, 'network');
4308
4393
  this.checkAddress(address);
4309
4394
  return {
4310
- 'currency': code,
4395
+ 'currency': this.safeCurrencyCode(currencyId, currency),
4311
4396
  'address': address,
4312
- 'tag': undefined,
4313
- 'network': network,
4397
+ 'tag': this.safeString(depositAddress, 'memo'),
4398
+ 'network': this.networkIdToCode(networkId),
4314
4399
  'info': depositAddress,
4315
4400
  };
4316
4401
  }
@@ -4339,23 +4424,19 @@ export default class mexc extends Exchange {
4339
4424
  }
4340
4425
  params = this.omit(params, 'network');
4341
4426
  const response = await this.spotPrivateGetCapitalDepositAddress(this.extend(request, params));
4342
- const result = [];
4343
- for (let i = 0; i < response.length; i++) {
4344
- const depositAddress = response[i];
4345
- const coin = this.safeString(depositAddress, 'coin');
4346
- const currencyInner = this.currency(coin);
4347
- const networkIdInner = this.safeString(depositAddress, 'network');
4348
- const network = this.safeNetwork(networkIdInner);
4349
- const address = this.safeString(depositAddress, 'address', undefined);
4350
- const tag = this.safeString2(depositAddress, 'tag', 'memo', undefined);
4351
- result.push({
4352
- 'currency': currencyInner['id'],
4353
- 'network': network,
4354
- 'address': address,
4355
- 'tag': tag,
4356
- });
4357
- }
4358
- return result;
4427
+ //
4428
+ // [
4429
+ // {
4430
+ // coin: "USDT",
4431
+ // network: "BNB Smart Chain(BEP20)",
4432
+ // address: "0x0d48003e0c27c5de62b97c9b4cdb31fdd29da619",
4433
+ // memo: null
4434
+ // }
4435
+ // ...
4436
+ // ]
4437
+ //
4438
+ const addressStructures = this.parseDepositAddresses(response, undefined, false);
4439
+ return this.indexBy(addressStructures, 'network');
4359
4440
  }
4360
4441
  async createDepositAddress(code, params = {}) {
4361
4442
  /**
@@ -4389,13 +4470,7 @@ export default class mexc extends Exchange {
4389
4470
  // "address": "zzqqqqqqqqqq",
4390
4471
  // "memo": "MX10068"
4391
4472
  // }
4392
- return {
4393
- 'info': response,
4394
- 'currency': this.safeString(response, 'coin'),
4395
- 'network': this.safeString(response, 'network'),
4396
- 'address': this.safeString(response, 'address'),
4397
- 'tag': this.safeString(response, 'memo'),
4398
- };
4473
+ return this.parseDepositAddress(response, currency);
4399
4474
  }
4400
4475
  async fetchDepositAddress(code, params = {}) {
4401
4476
  /**
@@ -4405,23 +4480,30 @@ export default class mexc extends Exchange {
4405
4480
  * @see https://mexcdevelop.github.io/apidocs/spot_v3_en/#deposit-address-supporting-network
4406
4481
  * @param {string} code unified currency code
4407
4482
  * @param {object} [params] extra parameters specific to the exchange API endpoint
4483
+ * @param {string} [params.network] the chain of currency, this only apply for multi-chain currency, and there is no need for single chain currency
4408
4484
  * @returns {object} an [address structure]{@link https://docs.ccxt.com/#/?id=address-structure}
4409
4485
  */
4410
- const rawNetwork = this.safeStringUpper(params, 'network');
4411
- params = this.omit(params, 'network');
4412
- const response = await this.fetchDepositAddressesByNetwork(code, params);
4413
- if (rawNetwork !== undefined) {
4414
- for (let i = 0; i < response.length; i++) {
4415
- const depositAddress = response[i];
4416
- const network = this.safeStringUpper(depositAddress, 'network');
4417
- if (rawNetwork === network) {
4418
- return depositAddress;
4419
- }
4486
+ const network = this.safeString(params, 'network');
4487
+ params = this.omit(params, ['network']);
4488
+ const addressStructures = await this.fetchDepositAddressesByNetwork(code, params);
4489
+ let result = undefined;
4490
+ if (network !== undefined) {
4491
+ result = this.safeDict(addressStructures, this.networkIdToCode(network, code));
4492
+ }
4493
+ else {
4494
+ const options = this.safeDict(this.options, 'defaultNetworks');
4495
+ const defaultNetworkForCurrency = this.safeString(options, code);
4496
+ if (defaultNetworkForCurrency !== undefined) {
4497
+ result = this.safeDict(addressStructures, defaultNetworkForCurrency);
4498
+ }
4499
+ else {
4500
+ const keys = Object.keys(addressStructures);
4501
+ const key = this.safeString(keys, 0);
4502
+ result = this.safeDict(addressStructures, key);
4420
4503
  }
4421
4504
  }
4422
- const result = this.safeValue(response, 0);
4423
4505
  if (result === undefined) {
4424
- throw new InvalidAddress(this.id + ' fetchDepositAddress() cannot find a deposit address for ' + code + ', consider creating one using the MEXC platform');
4506
+ throw new InvalidAddress(this.id + ' fetchDepositAddress() cannot find a deposit address for ' + code + ', and network' + network + 'consider creating one using the MEXC platform');
4425
4507
  }
4426
4508
  return result;
4427
4509
  }
@@ -4593,7 +4675,7 @@ export default class mexc extends Exchange {
4593
4675
  let network = undefined;
4594
4676
  const rawNetwork = this.safeString(transaction, 'network');
4595
4677
  if (rawNetwork !== undefined) {
4596
- network = this.safeNetwork(rawNetwork);
4678
+ network = this.networkIdToCode(rawNetwork);
4597
4679
  }
4598
4680
  const code = this.safeCurrencyCode(currencyId, currency);
4599
4681
  const status = this.parseTransactionStatusByType(this.safeString(transaction, 'status'), type);