1
   2
   3
   4
   5
   6
   7
   8
   9
  10
  11
  12
  13
  14
  15
  16
  17
  18
  19
  20
  21
  22
  23
  24
  25
  26
  27
  28
  29
  30
  31
  32
  33
  34
  35
  36
  37
  38
  39
  40
  41
  42
  43
  44
  45
  46
  47
  48
  49
  50
  51
  52
  53
  54
  55
  56
  57
  58
  59
  60
  61
  62
  63
  64
  65
  66
  67
  68
  69
  70
  71
  72
  73
  74
  75
  76
  77
  78
  79
  80
  81
  82
  83
  84
  85
  86
  87
  88
  89
  90
  91
  92
  93
  94
  95
  96
  97
  98
  99
 100
 101
 102
 103
 104
 105
 106
 107
 108
 109
 110
 111
 112
 113
 114
 115
 116
 117
 118
 119
 120
 121
 122
 123
 124
 125
 126
 127
 128
 129
 130
 131
 132
 133
 134
 135
 136
 137
 138
 139
 140
 141
 142
 143
 144
 145
 146
 147
 148
 149
 150
 151
 152
 153
 154
 155
 156
 157
 158
 159
 160
 161
 162
 163
 164
 165
 166
 167
 168
 169
 170
 171
 172
 173
 174
 175
 176
 177
 178
 179
 180
 181
 182
 183
 184
 185
 186
 187
 188
 189
 190
 191
 192
 193
 194
 195
 196
 197
 198
 199
 200
 201
 202
 203
 204
 205
 206
 207
 208
 209
 210
 211
 212
 213
 214
 215
 216
 217
 218
 219
 220
 221
 222
 223
 224
 225
 226
 227
 228
 229
 230
 231
 232
 233
 234
 235
 236
 237
 238
 239
 240
 241
 242
 243
 244
 245
 246
 247
 248
 249
 250
 251
 252
 253
 254
 255
 256
 257
 258
 259
 260
 261
 262
 263
 264
 265
 266
 267
 268
 269
 270
 271
 272
 273
 274
 275
 276
 277
 278
 279
 280
 281
 282
 283
 284
 285
 286
 287
 288
 289
 290
 291
 292
 293
 294
 295
 296
 297
 298
 299
 300
 301
 302
 303
 304
 305
 306
 307
 308
 309
 310
 311
 312
 313
 314
 315
 316
 317
 318
 319
 320
 321
 322
 323
 324
 325
 326
 327
 328
 329
 330
 331
 332
 333
 334
 335
 336
 337
 338
 339
 340
 341
 342
 343
 344
 345
 346
 347
 348
 349
 350
 351
 352
 353
 354
 355
 356
 357
 358
 359
 360
 361
 362
 363
 364
 365
 366
 367
 368
 369
 370
 371
 372
 373
 374
 375
 376
 377
 378
 379
 380
 381
 382
 383
 384
 385
 386
 387
 388
 389
 390
 391
 392
 393
 394
 395
 396
 397
 398
 399
 400
 401
 402
 403
 404
 405
 406
 407
 408
 409
 410
 411
 412
 413
 414
 415
 416
 417
 418
 419
 420
 421
 422
 423
 424
 425
 426
 427
 428
 429
 430
 431
 432
 433
 434
 435
 436
 437
 438
 439
 440
 441
 442
 443
 444
 445
 446
 447
 448
 449
 450
 451
 452
 453
 454
 455
 456
 457
 458
 459
 460
 461
 462
 463
 464
 465
 466
 467
 468
 469
 470
 471
 472
 473
 474
 475
 476
 477
 478
 479
 480
 481
 482
 483
 484
 485
 486
 487
 488
 489
 490
 491
 492
 493
 494
 495
 496
 497
 498
 499
 500
 501
 502
 503
 504
 505
 506
 507
 508
 509
 510
 511
 512
 513
 514
 515
 516
 517
 518
 519
 520
 521
 522
 523
 524
 525
 526
 527
 528
 529
 530
 531
 532
 533
 534
 535
 536
 537
 538
 539
 540
 541
 542
 543
 544
 545
 546
 547
 548
 549
 550
 551
 552
 553
 554
 555
 556
 557
 558
 559
 560
 561
 562
 563
 564
 565
 566
 567
 568
 569
 570
 571
 572
 573
 574
 575
 576
 577
 578
 579
 580
 581
 582
 583
 584
 585
 586
 587
 588
 589
 590
 591
 592
 593
 594
 595
 596
 597
 598
 599
 600
 601
 602
 603
 604
 605
 606
 607
 608
 609
 610
 611
 612
 613
 614
 615
 616
 617
 618
 619
 620
 621
 622
 623
 624
 625
 626
 627
 628
 629
 630
 631
 632
 633
 634
 635
 636
 637
 638
 639
 640
 641
 642
 643
 644
 645
 646
 647
 648
 649
 650
 651
 652
 653
 654
 655
 656
 657
 658
 659
 660
 661
 662
 663
 664
 665
 666
 667
 668
 669
 670
 671
 672
 673
 674
 675
 676
 677
 678
 679
 680
 681
 682
 683
 684
 685
 686
 687
 688
 689
 690
 691
 692
 693
 694
 695
 696
 697
 698
 699
 700
 701
 702
 703
 704
 705
 706
 707
 708
 709
 710
 711
 712
 713
 714
 715
 716
 717
 718
 719
 720
 721
 722
 723
 724
 725
 726
 727
 728
 729
 730
 731
 732
 733
 734
 735
 736
 737
 738
 739
 740
 741
 742
 743
 744
 745
 746
 747
 748
 749
 750
 751
 752
 753
 754
 755
 756
 757
 758
 759
 760
 761
 762
 763
 764
 765
 766
 767
 768
 769
 770
 771
 772
 773
 774
 775
 776
 777
 778
 779
 780
 781
 782
 783
 784
 785
 786
 787
 788
 789
 790
 791
 792
 793
 794
 795
 796
 797
 798
 799
 800
 801
 802
 803
 804
 805
 806
 807
 808
 809
 810
 811
 812
 813
 814
 815
 816
 817
 818
 819
 820
 821
 822
 823
 824
 825
 826
 827
 828
 829
 830
 831
 832
 833
 834
 835
 836
 837
 838
 839
 840
 841
 842
 843
 844
 845
 846
 847
 848
 849
 850
 851
 852
 853
 854
 855
 856
 857
 858
 859
 860
 861
 862
 863
 864
 865
 866
 867
 868
 869
 870
 871
 872
 873
 874
 875
 876
 877
 878
 879
 880
 881
 882
 883
 884
 885
 886
 887
 888
 889
 890
 891
 892
 893
 894
 895
 896
 897
 898
 899
 900
 901
 902
 903
 904
 905
 906
 907
 908
 909
 910
 911
 912
 913
 914
 915
 916
 917
 918
 919
 920
 921
 922
 923
 924
 925
 926
 927
 928
 929
 930
 931
 932
 933
 934
 935
 936
 937
 938
 939
 940
 941
 942
 943
 944
 945
 946
 947
 948
 949
 950
 951
 952
 953
 954
 955
 956
 957
 958
 959
 960
 961
 962
 963
 964
 965
 966
 967
 968
 969
 970
 971
 972
 973
 974
 975
 976
 977
 978
 979
 980
 981
 982
 983
 984
 985
 986
 987
 988
 989
 990
 991
 992
 993
 994
 995
 996
 997
 998
 999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
2974
2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
2985
2986
2987
2988
2989
2990
2991
2992
2993
2994
2995
2996
2997
2998
2999
3000
3001
3002
3003
3004
3005
3006
3007
3008
3009
3010
3011
3012
3013
3014
3015
3016
3017
3018
3019
3020
3021
3022
3023
3024
3025
3026
3027
3028
3029
3030
3031
3032
3033
3034
3035
3036
3037
3038
3039
3040
3041
3042
3043
3044
3045
3046
3047
3048
3049
3050
3051
3052
3053
3054
3055
3056
3057
3058
3059
3060
3061
3062
3063
3064
3065
3066
3067
3068
3069
3070
3071
3072
3073
3074
3075
3076
3077
3078
3079
3080
3081
3082
3083
3084
3085
3086
3087
3088
3089
3090
3091
3092
3093
3094
3095
3096
3097
3098
3099
3100
3101
3102
3103
3104
3105
3106
3107
3108
3109
3110
3111
3112
3113
3114
3115
3116
3117
3118
3119
3120
3121
3122
3123
3124
3125
3126
3127
3128
3129
3130
3131
3132
3133
3134
3135
3136
3137
3138
3139
3140
3141
3142
3143
3144
3145
3146
3147
3148
3149
3150
3151
3152
3153
3154
3155
3156
3157
3158
3159
3160
3161
3162
3163
3164
3165
3166
3167
3168
3169
3170
3171
3172
3173
3174
3175
3176
3177
3178
3179
3180
3181
3182
3183
3184
3185
3186
3187
3188
3189
3190
3191
3192
3193
3194
3195
3196
3197
3198
3199
3200
3201
3202
3203
3204
3205
3206
3207
3208
3209
3210
3211
3212
3213
3214
3215
3216
3217
3218
3219
3220
3221
3222
3223
3224
3225
3226
3227
3228
3229
3230
3231
3232
3233
3234
3235
3236
3237
3238
3239
3240
3241
3242
3243
3244
3245
3246
3247
3248
3249
3250
3251
3252
3253
3254
3255
3256
3257
3258
3259
3260
3261
3262
3263
3264
3265
3266
3267
3268
3269
3270
3271
3272
3273
3274
3275
3276
3277
3278
3279
3280
3281
3282
3283
3284
3285
3286
3287
3288
3289
3290
3291
3292
3293
3294
3295
3296
3297
3298
3299
3300
3301
3302
3303
3304
3305
3306
3307
3308
3309
3310
3311
3312
3313
3314
3315
3316
3317
3318
3319
3320
3321
3322
3323
3324
3325
3326
3327
3328
3329
3330
3331
3332
3333
3334
3335
3336
3337
3338
3339
3340
3341
3342
3343
3344
3345
3346
3347
3348
3349
3350
3351
3352
3353
3354
3355
3356
3357
3358
3359
3360
3361
3362
3363
3364
3365
3366
3367
3368
3369
3370
3371
3372
3373
3374
3375
3376
3377
3378
3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3390
3391
3392
3393
3394
3395
3396
3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
3409
3410
3411
3412
3413
3414
3415
3416
3417
3418
3419
3420
3421
3422
3423
3424
3425
3426
3427
3428
3429
3430
3431
3432
3433
3434
3435
3436
3437
3438
3439
3440
3441
3442
3443
3444
3445
3446
3447
3448
3449
3450
3451
3452
3453
3454
3455
3456
3457
3458
3459
3460
3461
3462
3463
3464
3465
3466
3467
3468
3469
3470
3471
3472
3473
3474
3475
3476
3477
3478
3479
3480
3481
3482
3483
3484
3485
3486
3487
3488
3489
3490
3491
3492
3493
3494
3495
3496
3497
3498
3499
3500
3501
3502
3503
3504
3505
3506
3507
3508
3509
3510
3511
3512
3513
3514
3515
3516
3517
3518
3519
3520
3521
3522
3523
3524
3525
3526
3527
3528
3529
3530
3531
3532
3533
3534
3535
3536
3537
3538
3539
3540
3541
3542
3543
3544
3545
3546
3547
3548
3549
3550
3551
3552
3553
3554
3555
3556
3557
3558
3559
3560
3561
3562
3563
3564
3565
3566
3567
3568
3569
3570
3571
3572
3573
3574
3575
3576
3577
3578
3579
3580
3581
3582
3583
3584
3585
3586
3587
3588
3589
3590
3591
3592
3593
3594
3595
3596
3597
3598
3599
3600
3601
3602
3603
3604
3605
3606
3607
3608
3609
3610
3611
3612
3613
3614
3615
3616
3617
3618
3619
3620
3621
3622
3623
3624
3625
3626
3627
3628
3629
3630
3631
3632
3633
3634
3635
3636
3637
3638
3639
3640
3641
3642
3643
3644
3645
3646
3647
3648
3649
3650
3651
3652
3653
3654
3655
3656
3657
3658
3659
3660
3661
3662
3663
3664
3665
3666
3667
3668
3669
3670
3671
3672
3673
3674
3675
3676
3677
3678
3679
3680
3681
3682
3683
3684
3685
3686
3687
3688
3689
3690
3691
3692
3693
3694
3695
3696
3697
3698
3699
3700
3701
3702
3703
3704
3705
3706
3707
3708
3709
3710
3711
3712
3713
3714
3715
3716
3717
3718
3719
3720
3721
3722
3723
3724
3725
3726
3727
3728
3729
3730
3731
3732
3733
3734
3735
3736
3737
3738
3739
3740
3741
3742
3743
3744
3745
3746
3747
3748
3749
3750
3751
3752
3753
3754
3755
3756
3757
3758
3759
3760
3761
3762
3763
3764
3765
3766
3767
3768
3769
3770
3771
3772
3773
3774
3775
3776
3777
3778
3779
3780
3781
3782
3783
3784
3785
3786
3787
3788
3789
3790
3791
3792
3793
3794
3795
3796
3797
3798
3799
3800
3801
3802
3803
3804
3805
3806
3807
3808
3809
3810
3811
3812
3813
3814
3815
3816
3817
3818
3819
3820
3821
3822
3823
3824
3825
3826
3827
3828
3829
3830
3831
3832
3833
3834
3835
3836
3837
3838
3839
3840
3841
3842
3843
3844
3845
3846
3847
3848
3849
3850
3851
3852
3853
3854
3855
3856
3857
3858
3859
3860
3861
3862
3863
3864
3865
3866
3867
3868
3869
3870
3871
3872
3873
3874
3875
3876
3877
3878
3879
3880
3881
3882
3883
3884
3885
3886
3887
3888
3889
3890
3891
3892
3893
3894
3895
3896
3897
3898
3899
3900
3901
3902
3903
3904
3905
3906
3907
3908
3909
3910
3911
3912
3913
3914
3915
3916
3917
3918
3919
3920
3921
3922
3923
3924
3925
3926
3927
3928
3929
3930
3931
3932
3933
3934
3935
3936
3937
3938
3939
3940
3941
3942
3943
3944
3945
3946
3947
3948
3949
3950
3951
3952
3953
3954
3955
3956
3957
3958
3959
3960
3961
3962
3963
3964
3965
3966
3967
3968
3969
3970
3971
3972
3973
3974
3975
3976
3977
3978
3979
3980
3981
3982
3983
3984
3985
3986
3987
3988
3989
3990
3991
3992
3993
3994
3995
3996
3997
3998
3999
4000
4001
4002
4003
4004
4005
4006
4007
4008
4009
4010
4011
4012
4013
4014
4015
4016
4017
4018
4019
4020
4021
4022
4023
4024
4025
4026
4027
4028
4029
4030
4031
4032
4033
4034
4035
4036
4037
4038
4039
4040
4041
4042
4043
4044
4045
4046
4047
4048
4049
4050
4051
4052
4053
4054
4055
4056
4057
4058
4059
4060
4061
4062
4063
4064
4065
4066
4067
4068
4069
4070
4071
4072
4073
4074
4075
4076
4077
4078
4079
4080
4081
4082
4083
4084
4085
4086
4087
4088
4089
4090
4091
4092
4093
4094
4095
4096
4097
4098
4099
4100
4101
4102
4103
4104
4105
4106
4107
4108
4109
4110
4111
4112
4113
4114
4115
4116
4117
4118
4119
4120
4121
4122
4123
4124
4125
4126
4127
4128
4129
4130
4131
4132
4133
4134
4135
4136
4137
4138
4139
4140
4141
4142
4143
4144
4145
4146
4147
4148
4149
4150
4151
4152
4153
4154
4155
4156
4157
4158
4159
4160
4161
4162
4163
4164
4165
4166
4167
4168
4169
4170
4171
4172
4173
4174
4175
4176
4177
4178
4179
4180
4181
4182
4183
4184
4185
4186
4187
4188
4189
4190
4191
4192
4193
4194
4195
4196
4197
4198
4199
4200
4201
4202
4203
4204
4205
4206
4207
4208
4209
4210
4211
4212
4213
4214
4215
4216
4217
4218
4219
4220
4221
4222
4223
4224
4225
4226
4227
4228
4229
4230
4231
4232
4233
4234
4235
4236
4237
4238
4239
4240
4241
4242
4243
4244
4245
4246
4247
4248
4249
4250
4251
4252
4253
4254
4255
4256
4257
4258
4259
4260
4261
4262
4263
4264
4265
4266
4267
4268
4269
4270
4271
4272
4273
4274
4275
4276
4277
4278
4279
4280
4281
4282
4283
4284
4285
4286
4287
4288
4289
4290
4291
4292
4293
4294
4295
4296
4297
4298
4299
4300
4301
4302
4303
4304
4305
4306
4307
4308
4309
4310
4311
4312
4313
4314
4315
4316
4317
4318
4319
4320
4321
4322
4323
4324
4325
4326
4327
4328
4329
4330
4331
4332
4333
4334
4335
4336
4337
4338
4339
4340
4341
4342
4343
4344
4345
4346
4347
4348
4349
4350
4351
4352
4353
4354
4355
4356
4357
4358
4359
4360
4361
4362
4363
4364
4365
4366
4367
4368
4369
4370
4371
4372
4373
4374
4375
4376
4377
4378
4379
4380
4381
4382
4383
4384
4385
4386
4387
4388
4389
4390
4391
4392
4393
4394
4395
4396
4397
4398
4399
4400
4401
4402
4403
4404
4405
4406
4407
4408
4409
4410
4411
4412
4413
4414
4415
4416
4417
4418
4419
4420
4421
4422
4423
4424
4425
4426
4427
4428
4429
4430
4431
4432
4433
4434
4435
4436
4437
4438
4439
4440
4441
4442
4443
4444
4445
4446
4447
4448
4449
4450
4451
4452
4453
4454
4455
4456
4457
4458
4459
4460
4461
4462
4463
4464
4465
4466
4467
4468
4469
4470
4471
4472
4473
4474
4475
4476
4477
4478
4479
4480
4481
4482
4483
4484
4485
4486
4487
4488
4489
4490
4491
4492
4493
4494
4495
4496
4497
4498
4499
4500
4501
4502
4503
4504
4505
4506
4507
4508
4509
4510
4511
4512
4513
4514
4515
4516
4517
4518
4519
4520
4521
4522
4523
4524
4525
4526
4527
4528
4529
4530
4531
4532
4533
4534
4535
4536
4537
4538
4539
4540
4541
4542
4543
4544
4545
4546
4547
4548
4549
4550
4551
4552
4553
4554
4555
4556
4557
4558
4559
4560
4561
4562
4563
4564
4565
4566
4567
4568
4569
4570
4571
4572
4573
4574
4575
4576
4577
4578
4579
4580
4581
4582
4583
4584
4585
4586
4587
4588
4589
4590
4591
4592
4593
4594
4595
4596
4597
4598
4599
4600
4601
4602
4603
4604
4605
4606
4607
4608
4609
4610
4611
4612
4613
4614
4615
4616
4617
4618
4619
4620
4621
4622
4623
4624
4625
4626
4627
4628
4629
4630
4631
4632
4633
4634
4635
4636
4637
4638
4639
4640
4641
4642
4643
4644
4645
4646
4647
4648
4649
4650
4651
4652
4653
4654
4655
4656
4657
4658
4659
4660
4661
4662
4663
4664
4665
4666
4667
4668
4669
4670
4671
4672
4673
4674
4675
4676
4677
4678
4679
4680
4681
4682
4683
4684
4685
4686
4687
4688
4689
4690
4691
4692
4693
4694
4695
4696
4697
4698
4699
4700
4701
4702
4703
4704
4705
4706
4707
4708
4709
4710
4711
4712
4713
4714
4715
4716
4717
4718
4719
4720
4721
4722
4723
4724
4725
4726
4727
4728
4729
4730
4731
4732
4733
4734
4735
4736
4737
4738
4739
4740
4741
4742
4743
4744
4745
4746
4747
4748
4749
4750
4751
4752
4753
4754
4755
4756
4757
4758
4759
4760
4761
4762
4763
4764
4765
4766
4767
4768
4769
4770
4771
4772
4773
4774
4775
4776
4777
4778
4779
4780
4781
4782
4783
4784
4785
4786
4787
4788
4789
4790
4791
4792
4793
4794
4795
4796
4797
4798
4799
4800
4801
4802
4803
4804
4805
4806
4807
4808
4809
4810
4811
4812
4813
4814
4815
4816
4817
4818
4819
4820
4821
4822
4823
4824
4825
4826
4827
4828
4829
4830
4831
4832
4833
4834
4835
4836
4837
4838
4839
4840
4841
4842
4843
4844
4845
4846
4847
4848
4849
4850
4851
4852
4853
4854
4855
4856
4857
4858
4859
4860
4861
4862
4863
4864
4865
4866
4867
4868
4869
4870
4871
4872
4873
4874
4875
4876
4877
4878
4879
4880
4881
4882
4883
4884
4885
4886
4887
4888
4889
4890
4891
4892
4893
4894
4895
4896
4897
4898
4899
4900
4901
4902
4903
4904
4905
4906
4907
4908
4909
4910
4911
4912
4913
4914
4915
4916
4917
4918
4919
4920
4921
4922
4923
4924
4925
4926
4927
4928
4929
4930
4931
4932
4933
4934
4935
4936
4937
4938
4939
4940
4941
4942
4943
4944
4945
4946
4947
4948
4949
4950
4951
4952
4953
4954
4955
4956
4957
4958
4959
4960
4961
4962
4963
4964
4965
4966
4967
4968
4969
4970
4971
4972
4973
4974
4975
4976
4977
4978
4979
4980
4981
4982
4983
4984
4985
4986
4987
4988
4989
4990
4991
4992
4993
4994
4995
4996
4997
4998
4999
5000
5001
5002
5003
5004
5005
5006
5007
5008
5009
5010
5011
5012
5013
5014
5015
5016
5017
5018
5019
5020
5021
5022
5023
5024
5025
5026
5027
5028
5029
5030
5031
5032
5033
5034
5035
5036
5037
5038
5039
5040
5041
5042
5043
5044
5045
5046
5047
5048
5049
5050
5051
5052
5053
5054
5055
5056
5057
5058
5059
5060
5061
5062
5063
5064
5065
5066
5067
5068
5069
5070
5071
5072
5073
5074
5075
5076
5077
5078
5079
5080
5081
5082
5083
5084
5085
5086
5087
5088
5089
5090
5091
5092
5093
5094
5095
5096
5097
5098
5099
5100
5101
5102
5103
5104
5105
5106
5107
5108
5109
5110
5111
5112
5113
5114
5115
5116
5117
5118
5119
5120
5121
5122
5123
5124
5125
5126
5127
5128
5129
5130
5131
5132
5133
5134
5135
5136
5137
5138
5139
5140
5141
5142
5143
5144
5145
5146
5147
5148
5149
5150
5151
5152
5153
5154
5155
5156
5157
5158
5159
5160
5161
5162
5163
5164
5165
5166
5167
5168
5169
5170
5171
5172
5173
5174
5175
5176
5177
5178
5179
5180
5181
5182
5183
5184
5185
5186
5187
5188
5189
5190
5191
5192
5193
5194
5195
5196
5197
5198
5199
5200
5201
5202
5203
5204
5205
5206
5207
5208
5209
5210
5211
5212
5213
5214
5215
5216
5217
5218
5219
5220
5221
5222
5223
5224
5225
5226
5227
5228
5229
5230
5231
5232
5233
5234
5235
5236
5237
5238
5239
5240
5241
5242
5243
5244
5245
5246
5247
5248
5249
5250
5251
5252
5253
5254
5255
5256
5257
5258
5259
5260
5261
5262
5263
5264
5265
5266
5267
5268
5269
5270
5271
5272
5273
5274
5275
5276
5277
5278
5279
5280
5281
5282
5283
5284
5285
5286
5287
5288
5289
5290
5291
5292
5293
5294
5295
5296
5297
5298
5299
5300
5301
5302
5303
5304
5305
5306
5307
5308
5309
5310
5311
5312
5313
5314
5315
5316
5317
5318
5319
5320
5321
5322
5323
5324
5325
5326
5327
5328
5329
5330
5331
5332
5333
5334
5335
5336
5337
5338
5339
5340
5341
5342
5343
5344
5345
5346
5347
5348
5349
5350
5351
5352
5353
5354
5355
5356
5357
5358
5359
5360
5361
5362
5363
5364
5365
5366
5367
5368
5369
5370
5371
5372
5373
5374
5375
5376
5377
5378
5379
5380
5381
5382
5383
5384
5385
5386
5387
5388
5389
5390
5391
5392
5393
5394
5395
5396
5397
5398
5399
5400
5401
5402
5403
5404
5405
5406
5407
5408
5409
5410
5411
5412
5413
5414
5415
5416
5417
5418
5419
5420
5421
5422
5423
5424
5425
5426
5427
5428
5429
5430
5431
5432
5433
5434
5435
5436
5437
5438
5439
5440
5441
5442
5443
5444
5445
5446
5447
5448
5449
5450
5451
5452
5453
5454
5455
5456
5457
5458
5459
5460
5461
5462
5463
5464
5465
5466
5467
5468
5469
5470
5471
5472
5473
5474
5475
5476
5477
5478
5479
5480
5481
5482
5483
5484
5485
5486
5487
5488
5489
5490
5491
5492
5493
5494
5495
5496
5497
5498
5499
5500
5501
5502
5503
5504
5505
5506
5507
5508
5509
5510
5511
5512
5513
5514
5515
5516
5517
5518
5519
5520
5521
5522
5523
5524
5525
5526
5527
5528
5529
5530
5531
5532
5533
5534
5535
5536
5537
5538
5539
5540
5541
5542
5543
5544
5545
5546
5547
5548
5549
5550
5551
5552
5553
5554
5555
5556
5557
5558
5559
5560
5561
5562
5563
5564
5565
5566
5567
5568
5569
5570
5571
5572
5573
5574
5575
5576
5577
5578
5579
5580
5581
5582
5583
5584
5585
5586
5587
5588
5589
5590
5591
5592
5593
5594
5595
5596
5597
5598
5599
5600
5601
5602
5603
5604
5605
5606
5607
5608
5609
5610
5611
5612
5613
5614
5615
5616
5617
5618
5619
5620
5621
5622
5623
5624
5625
5626
5627
5628
5629
5630
5631
5632
5633
5634
5635
5636
5637
5638
5639
5640
5641
5642
5643
5644
5645
5646
5647
5648
5649
5650
5651
5652
5653
5654
5655
5656
5657
5658
5659
5660
5661
5662
5663
5664
5665
5666
5667
5668
5669
5670
5671
5672
5673
5674
5675
5676
5677
5678
5679
5680
5681
5682
5683
5684
5685
5686
5687
5688
5689
5690
5691
5692
5693
5694
5695
5696
5697
5698
5699
5700
5701
5702
5703
5704
5705
5706
5707
5708
5709
5710
5711
5712
5713
5714
5715
5716
5717
5718
5719
5720
5721
5722
5723
5724
5725
5726
5727
5728
5729
5730
5731
5732
5733
5734
5735
5736
5737
5738
5739
5740
5741
5742
5743
5744
5745
5746
5747
5748
5749
5750
5751
5752
5753
5754
5755
5756
5757
5758
5759
5760
5761
5762
5763
5764
5765
5766
5767
5768
5769
5770
5771
5772
5773
5774
5775
5776
5777
5778
5779
5780
5781
5782
5783
5784
5785
5786
5787
5788
5789
5790
5791
5792
5793
5794
5795
5796
5797
5798
5799
5800
5801
5802
5803
5804
5805
5806
5807
5808
5809
5810
5811
5812
5813
5814
5815
5816
5817
5818
5819
5820
5821
5822
5823
5824
5825
5826
5827
5828
5829
5830
5831
5832
5833
5834
5835
5836
5837
5838
5839
5840
5841
5842
5843
5844
5845
5846
5847
5848
5849
5850
5851
5852
5853
5854
5855
5856
5857
5858
5859
5860
5861
5862
5863
5864
5865
5866
5867
5868
5869
5870
5871
5872
5873
5874
5875
5876
5877
5878
5879
5880
5881
5882
5883
5884
5885
5886
5887
5888
5889
5890
5891
5892
5893
5894
5895
5896
5897
5898
5899
5900
5901
5902
5903
5904
5905
5906
5907
5908
5909
5910
5911
5912
5913
5914
5915
5916
5917
5918
5919
5920
5921
5922
5923
5924
5925
5926
5927
5928
5929
5930
5931
5932
5933
5934
5935
5936
5937
5938
5939
5940
5941
5942
5943
5944
5945
5946
5947
5948
5949
5950
5951
5952
5953
5954
5955
5956
5957
5958
5959
5960
5961
5962
5963
5964
5965
5966
5967
5968
5969
5970
5971
5972
5973
5974
5975
5976
5977
5978
5979
5980
5981
5982
5983
5984
5985
5986
5987
5988
5989
5990
5991
5992
5993
5994
5995
5996
5997
5998
5999
6000
6001
6002
6003
6004
6005
6006
6007
6008
6009
6010
6011
6012
6013
6014
6015
6016
6017
6018
6019
6020
6021
6022
6023
6024
6025
6026
6027
6028
6029
6030
6031
6032
6033
6034
6035
6036
6037
6038
6039
6040
6041
6042
6043
6044
6045
6046
6047
6048
6049
6050
6051
6052
6053
6054
6055
6056
6057
6058
6059
6060
6061
6062
6063
6064
6065
6066
6067
6068
6069
6070
6071
6072
6073
6074
6075
6076
6077
6078
6079
6080
6081
6082
6083
6084
6085
6086
6087
6088
6089
6090
6091
6092
6093
6094
6095
6096
6097
6098
6099
6100
6101
6102
6103
6104
6105
6106
6107
6108
6109
6110
6111
6112
6113
6114
6115
6116
6117
6118
6119
6120
6121
6122
6123
6124
6125
6126
6127
6128
6129
6130
6131
6132
6133
6134
6135
6136
6137
6138
6139
6140
6141
6142
6143
6144
6145
6146
6147
6148
6149
6150
6151
6152
6153
6154
6155
6156
6157
6158
6159
6160
6161
6162
6163
6164
6165
6166
6167
6168
6169
6170
6171
6172
6173
6174
6175
6176
6177
6178
6179
6180
6181
6182
6183
6184
6185
6186
6187
6188
6189
6190
6191
6192
6193
6194
6195
6196
6197
6198
6199
6200
6201
6202
6203
6204
6205
6206
6207
6208
6209
6210
6211
6212
6213
6214
6215
6216
6217
6218
6219
6220
6221
6222
6223
6224
6225
6226
6227
6228
6229
6230
6231
6232
6233
6234
6235
6236
6237
6238
6239
6240
6241
6242
6243
6244
6245
6246
6247
6248
6249
6250
6251
6252
6253
6254
6255
6256
6257
6258
6259
6260
6261
6262
6263
6264
6265
6266
6267
6268
6269
6270
6271
6272
6273
6274
6275
6276
6277
6278
6279
6280
6281
6282
6283
6284
6285
6286
6287
6288
6289
6290
6291
6292
6293
6294
6295
6296
6297
6298
6299
6300
6301
6302
6303
6304
6305
6306
6307
6308
6309
6310
6311
6312
6313
6314
6315
6316
6317
6318
6319
6320
6321
6322
6323
6324
6325
6326
6327
6328
6329
6330
6331
6332
6333
6334
6335
6336
6337
6338
6339
6340
6341
6342
6343
6344
6345
6346
6347
6348
6349
6350
6351
6352
6353
6354
6355
6356
6357
6358
6359
6360
6361
6362
6363
6364
6365
6366
6367
6368
6369
6370
6371
6372
6373
6374
6375
6376
6377
6378
6379
6380
6381
6382
6383
6384
6385
6386
6387
6388
6389
6390
6391
6392
6393
6394
6395
6396
6397
6398
6399
6400
6401
6402
6403
6404
6405
6406
6407
6408
6409
6410
6411
6412
6413
6414
6415
6416
6417
6418
6419
6420
6421
6422
6423
6424
6425
6426
6427
6428
6429
6430
6431
6432
6433
6434
6435
6436
6437
6438
6439
6440
6441
6442
6443
6444
6445
6446
6447
6448
6449
6450
6451
6452
6453
6454
6455
6456
6457
6458
6459
6460
6461
6462
6463
6464
6465
6466
6467
6468
6469
6470
6471
6472
6473
6474
6475
6476
6477
6478
6479
6480
6481
6482
6483
6484
6485
6486
6487
6488
6489
6490
6491
6492
6493
6494
6495
6496
6497
6498
6499
6500
6501
6502
6503
6504
6505
6506
6507
6508
6509
6510
6511
6512
6513
6514
6515
6516
6517
6518
6519
6520
6521
6522
6523
6524
6525
6526
6527
6528
6529
6530
6531
6532
6533
6534
6535
6536
6537
6538
6539
6540
6541
6542
6543
6544
6545
6546
6547
6548
6549
6550
6551
6552
6553
6554
6555
6556
6557
6558
6559
6560
6561
6562
6563
6564
6565
6566
6567
6568
6569
6570
6571
6572
6573
6574
6575
6576
6577
6578
6579
6580
6581
6582
6583
6584
6585
6586
6587
6588
6589
6590
6591
6592
6593
6594
6595
6596
6597
6598
6599
6600
6601
6602
6603
6604
6605
6606
6607
6608
6609
6610
6611
6612
6613
6614
6615
6616
6617
6618
6619
6620
6621
6622
6623
6624
6625
6626
6627
6628
6629
6630
6631
6632
6633
6634
6635
6636
6637
6638
6639
6640
6641
6642
6643
6644
6645
6646
6647
6648
6649
6650
6651
6652
6653
6654
6655
6656
6657
6658
6659
6660
6661
6662
6663
6664
6665
6666
6667
6668
6669
6670
6671
6672
6673
6674
6675
6676
6677
6678
6679
6680
6681
6682
6683
6684
6685
6686
6687
6688
6689
6690
6691
6692
6693
6694
6695
6696
6697
6698
6699
6700
6701
6702
6703
6704
6705
6706
6707
6708
6709
6710
6711
6712
6713
6714
6715
6716
6717
6718
6719
6720
6721
6722
6723
6724
6725
6726
6727
6728
6729
6730
6731
6732
6733
6734
6735
6736
6737
6738
6739
6740
6741
6742
6743
6744
6745
6746
6747
6748
6749
6750
6751
6752
6753
6754
6755
6756
6757
6758
6759
6760
6761
6762
6763
6764
6765
6766
6767
6768
6769
6770
6771
6772
6773
6774
6775
6776
6777
6778
6779
6780
6781
6782
6783
6784
6785
6786
6787
6788
6789
6790
6791
6792
6793
6794
6795
6796
6797
6798
6799
6800
6801
6802
6803
6804
6805
6806
6807
6808
6809
6810
6811
6812
6813
6814
6815
6816
6817
6818
6819
6820
6821
6822
6823
6824
6825
6826
6827
6828
6829
6830
6831
6832
6833
6834
6835
6836
6837
6838
6839
6840
6841
6842
6843
6844
6845
6846
6847
6848
6849
6850
6851
6852
6853
6854
6855
6856
6857
6858
6859
6860
6861
6862
6863
6864
6865
6866
6867
6868
6869
6870
6871
6872
6873
6874
6875
6876
6877
6878
6879
6880
6881
6882
6883
6884
6885
6886
6887
6888
6889
6890
6891
6892
6893
6894
6895
6896
6897
6898
6899
6900
6901
6902
6903
6904
6905
6906
6907
6908
6909
6910
6911
6912
6913
6914
6915
6916
6917
6918
6919
6920
6921
6922
6923
6924
6925
6926
6927
6928
6929
6930
6931
6932
6933
6934
6935
6936
6937
6938
6939
6940
6941
6942
6943
6944
6945
6946
6947
6948
6949
6950
6951
6952
6953
6954
6955
6956
6957
6958
6959
6960
6961
6962
6963
6964
6965
6966
6967
6968
6969
6970
6971
6972
6973
6974
6975
6976
6977
6978
6979
6980
6981
6982
6983
6984
6985
6986
6987
6988
6989
6990
6991
6992
6993
6994
6995
6996
6997
6998
6999
7000
7001
7002
7003
7004
7005
7006
7007
7008
7009
7010
7011
7012
7013
7014
7015
7016
7017
7018
7019
7020
7021
7022
7023
7024
7025
7026
7027
7028
7029
7030
7031
7032
7033
7034
7035
7036
7037
7038
7039
7040
7041
7042
7043
7044
7045
7046
7047
7048
7049
7050
7051
7052
7053
7054
7055
7056
7057
7058
7059
7060
7061
7062
7063
7064
7065
7066
7067
7068
7069
7070
7071
7072
7073
7074
7075
7076
7077
7078
7079
7080
7081
7082
7083
7084
7085
7086
7087
7088
7089
7090
7091
7092
7093
7094
7095
7096
7097
7098
7099
7100
7101
7102
7103
7104
7105
7106
7107
7108
7109
7110
7111
7112
7113
7114
7115
7116
7117
7118
7119
7120
7121
7122
7123
7124
7125
7126
7127
7128
7129
7130
7131
7132
7133
7134
7135
7136
7137
7138
7139
7140
7141
7142
7143
7144
7145
7146
7147
7148
7149
7150
7151
7152
7153
7154
7155
7156
7157
7158
7159
7160
7161
7162
7163
7164
7165
7166
7167
7168
7169
7170
7171
7172
7173
7174
7175
7176
7177
7178
7179
7180
7181
7182
7183
7184
7185
7186
7187
7188
7189
7190
7191
7192
7193
7194
7195
7196
7197
7198
7199
7200
7201
7202
7203
7204
7205
7206
7207
7208
7209
7210
7211
7212
7213
7214
7215
7216
7217
7218
7219
7220
7221
7222
7223
7224
7225
7226
7227
7228
7229
7230
7231
7232
7233
7234
7235
7236
7237
7238
7239
7240
7241
7242
7243
7244
7245
7246
7247
7248
7249
7250
7251
7252
7253
7254
7255
7256
7257
7258
7259
7260
7261
7262
7263
7264
7265
7266
7267
7268
7269
7270
7271
7272
7273
7274
7275
7276
7277
7278
7279
7280
7281
7282
7283
7284
7285
7286
7287
7288
7289
7290
7291
7292
7293
7294
7295
7296
//! Crypto-bank currency symbols and pairs primitives.

#[macro_use]
extern crate failure;
#[macro_use]
extern crate serde_derive;
extern crate serde;

use std::fmt;
use std::str::FromStr;

use serde::de::{self, Deserialize, Deserializer, Visitor};
use serde::ser::{Serialize, Serializer};

/// Crypto market currency error type.
#[derive(Debug, Fail)]
pub enum Error {
    /// Invalid pair error.
    #[fail(display = "{} is not a valid currency pair.", _0)]
    InvalidPair(String),
}

/// Currency symbol.
#[derive(Serialize, Deserialize, Eq, PartialEq, PartialOrd, Ord, Clone, Hash, Debug)]
pub enum Currency {
    Custom(String),
    Ada,
    Adx,
    Ae,
    Agi,
    Aion,
    Algo,
    Amb,
    Ankr,
    Appc,
    Ardr,
    Ark,
    Arn,
    Arpa,
    Ast,
    Atom,
    Band,
    Bat,
    Bcc,
    Bcd,
    Bch,
    Bchabc,
    Bchsv,
    Bcn,
    Bcpt,
    Beam,
    Bgbp,
    Blz,
    Bnb,
    Bnt,
    Bqx,
    Brd,
    Btc,
    Btcb,
    Btg,
    Bts,
    Btt,
    Busd,
    Cdt,
    Celr,
    Chat,
    Chz,
    Cloak,
    Cmt,
    Cnd,
    Cocos,
    Cos,
    Ctxc,
    Cvc,
    Dash,
    Data,
    Dcr,
    Dent,
    Dgb,
    Dgd,
    Dlt,
    Dnt,
    Dock,
    Doge,
    Dusk,
    Edo,
    Elf,
    Eng,
    Enj,
    Eos,
    Erd,
    Etc,
    Eth,
    Evx,
    Fct,
    Fet,
    Foam,
    Ftm,
    Ftt,
    Fuel,
    Fun,
    Gas,
    Gnt,
    Go,
    Grin,
    Grs,
    Gto,
    Gvt,
    Gxs,
    Hbar,
    Hc,
    Hot,
    Hsr,
    Icn,
    Icx,
    Ins,
    Iost,
    Iota,
    Iotx,
    Kava,
    Key,
    Kmd,
    Knc,
    Lend,
    Link,
    Loom,
    Lpt,
    Lrc,
    Lsk,
    Ltc,
    Lun,
    Maid,
    Mana,
    Matic,
    Mco,
    Mda,
    Mft,
    Mith,
    Mod,
    Mth,
    Mtl,
    Nano,
    Nas,
    Nav,
    Ncash,
    Nebl,
    Neo,
    Ngn,
    Nkn,
    Nmr,
    Npxs,
    Nuls,
    Nxs,
    Nxt,
    Oax,
    Omg,
    Omni,
    One,
    Ong,
    Ont,
    Ost,
    Pax,
    Perl,
    Phb,
    Phx,
    Pivx,
    Poa,
    Poe,
    Poly,
    Powr,
    Ppt,
    Qkc,
    Qlc,
    Qsp,
    Qtum,
    Rcn,
    Rdn,
    Ren,
    Rep,
    Req,
    Rlc,
    Rpx,
    Rub,
    Rvn,
    Salt,
    Sc,
    Sky,
    Sngls,
    Snm,
    Snt,
    Steem,
    Storj,
    Storm,
    Str,
    Strat,
    Stx,
    Sub,
    Sys,
    Tfuel,
    Theta,
    Tnb,
    Tnt,
    Tomo,
    Trig,
    Troy,
    Trx,
    Try,
    Tusd,
    Tusdb,
    Usdc,
    Usds,
    Usdsb,
    Usdt,
    Ven,
    Vet,
    Via,
    Vib,
    Vibe,
    Vite,
    Vtc,
    Wabi,
    Wan,
    Waves,
    Win,
    Wings,
    Wpr,
    Wtc,
    Xem,
    Xlm,
    Xmr,
    Xpm,
    Xrp,
    Xtz,
    Xvg,
    Xzc,
    Yoyo,
    Zec,
    Zen,
    Zil,
    Zrx,
}

impl Currency {
    pub fn as_str(&self) -> &str {
        match self {
            Currency::Custom(ref s) => s,
            &Currency::Ada => "ADA",
            &Currency::Adx => "ADX",
            &Currency::Ae => "AE",
            &Currency::Agi => "AGI",
            &Currency::Aion => "AION",
            &Currency::Algo => "ALGO",
            &Currency::Amb => "AMB",
            &Currency::Ankr => "ANKR",
            &Currency::Appc => "APPC",
            &Currency::Ardr => "ARDR",
            &Currency::Ark => "ARK",
            &Currency::Arn => "ARN",
            &Currency::Arpa => "ARPA",
            &Currency::Ast => "AST",
            &Currency::Atom => "ATOM",
            &Currency::Band => "BAND",
            &Currency::Bat => "BAT",
            &Currency::Bcc => "BCC",
            &Currency::Bcd => "BCD",
            &Currency::Bch => "BCH",
            &Currency::Bchabc => "BCHABC",
            &Currency::Bchsv => "BCHSV",
            &Currency::Bcn => "BCN",
            &Currency::Bcpt => "BCPT",
            &Currency::Beam => "BEAM",
            &Currency::Bgbp => "BGBP",
            &Currency::Blz => "BLZ",
            &Currency::Bnb => "BNB",
            &Currency::Bnt => "BNT",
            &Currency::Bqx => "BQX",
            &Currency::Brd => "BRD",
            &Currency::Btc => "BTC",
            &Currency::Btcb => "BTCB",
            &Currency::Btg => "BTG",
            &Currency::Bts => "BTS",
            &Currency::Btt => "BTT",
            &Currency::Busd => "BUSD",
            &Currency::Cdt => "CDT",
            &Currency::Celr => "CELR",
            &Currency::Chat => "CHAT",
            &Currency::Chz => "CHZ",
            &Currency::Cloak => "CLOAK",
            &Currency::Cmt => "CMT",
            &Currency::Cnd => "CND",
            &Currency::Cocos => "COCOS",
            &Currency::Cos => "COS",
            &Currency::Ctxc => "CTXC",
            &Currency::Cvc => "CVC",
            &Currency::Dash => "DASH",
            &Currency::Data => "DATA",
            &Currency::Dcr => "DCR",
            &Currency::Dent => "DENT",
            &Currency::Dgb => "DGB",
            &Currency::Dgd => "DGD",
            &Currency::Dlt => "DLT",
            &Currency::Dnt => "DNT",
            &Currency::Dock => "DOCK",
            &Currency::Doge => "DOGE",
            &Currency::Dusk => "DUSK",
            &Currency::Edo => "EDO",
            &Currency::Elf => "ELF",
            &Currency::Eng => "ENG",
            &Currency::Enj => "ENJ",
            &Currency::Eos => "EOS",
            &Currency::Erd => "ERD",
            &Currency::Etc => "ETC",
            &Currency::Eth => "ETH",
            &Currency::Evx => "EVX",
            &Currency::Fct => "FCT",
            &Currency::Fet => "FET",
            &Currency::Foam => "FOAM",
            &Currency::Ftm => "FTM",
            &Currency::Ftt => "FTT",
            &Currency::Fuel => "FUEL",
            &Currency::Fun => "FUN",
            &Currency::Gas => "GAS",
            &Currency::Gnt => "GNT",
            &Currency::Go => "GO",
            &Currency::Grin => "GRIN",
            &Currency::Grs => "GRS",
            &Currency::Gto => "GTO",
            &Currency::Gvt => "GVT",
            &Currency::Gxs => "GXS",
            &Currency::Hbar => "HBAR",
            &Currency::Hc => "HC",
            &Currency::Hot => "HOT",
            &Currency::Hsr => "HSR",
            &Currency::Icn => "ICN",
            &Currency::Icx => "ICX",
            &Currency::Ins => "INS",
            &Currency::Iost => "IOST",
            &Currency::Iota => "IOTA",
            &Currency::Iotx => "IOTX",
            &Currency::Kava => "KAVA",
            &Currency::Key => "KEY",
            &Currency::Kmd => "KMD",
            &Currency::Knc => "KNC",
            &Currency::Lend => "LEND",
            &Currency::Link => "LINK",
            &Currency::Loom => "LOOM",
            &Currency::Lpt => "LPT",
            &Currency::Lrc => "LRC",
            &Currency::Lsk => "LSK",
            &Currency::Ltc => "LTC",
            &Currency::Lun => "LUN",
            &Currency::Maid => "MAID",
            &Currency::Mana => "MANA",
            &Currency::Matic => "MATIC",
            &Currency::Mco => "MCO",
            &Currency::Mda => "MDA",
            &Currency::Mft => "MFT",
            &Currency::Mith => "MITH",
            &Currency::Mod => "MOD",
            &Currency::Mth => "MTH",
            &Currency::Mtl => "MTL",
            &Currency::Nano => "NANO",
            &Currency::Nas => "NAS",
            &Currency::Nav => "NAV",
            &Currency::Ncash => "NCASH",
            &Currency::Nebl => "NEBL",
            &Currency::Neo => "NEO",
            &Currency::Ngn => "NGN",
            &Currency::Nkn => "NKN",
            &Currency::Nmr => "NMR",
            &Currency::Npxs => "NPXS",
            &Currency::Nuls => "NULS",
            &Currency::Nxs => "NXS",
            &Currency::Nxt => "NXT",
            &Currency::Oax => "OAX",
            &Currency::Omg => "OMG",
            &Currency::Omni => "OMNI",
            &Currency::One => "ONE",
            &Currency::Ong => "ONG",
            &Currency::Ont => "ONT",
            &Currency::Ost => "OST",
            &Currency::Pax => "PAX",
            &Currency::Perl => "PERL",
            &Currency::Phb => "PHB",
            &Currency::Phx => "PHX",
            &Currency::Pivx => "PIVX",
            &Currency::Poa => "POA",
            &Currency::Poe => "POE",
            &Currency::Poly => "POLY",
            &Currency::Powr => "POWR",
            &Currency::Ppt => "PPT",
            &Currency::Qkc => "QKC",
            &Currency::Qlc => "QLC",
            &Currency::Qsp => "QSP",
            &Currency::Qtum => "QTUM",
            &Currency::Rcn => "RCN",
            &Currency::Rdn => "RDN",
            &Currency::Ren => "REN",
            &Currency::Rep => "REP",
            &Currency::Req => "REQ",
            &Currency::Rlc => "RLC",
            &Currency::Rpx => "RPX",
            &Currency::Rub => "RUB",
            &Currency::Rvn => "RVN",
            &Currency::Salt => "SALT",
            &Currency::Sc => "SC",
            &Currency::Sky => "SKY",
            &Currency::Sngls => "SNGLS",
            &Currency::Snm => "SNM",
            &Currency::Snt => "SNT",
            &Currency::Steem => "STEEM",
            &Currency::Storj => "STORJ",
            &Currency::Storm => "STORM",
            &Currency::Str => "STR",
            &Currency::Strat => "STRAT",
            &Currency::Stx => "STX",
            &Currency::Sub => "SUB",
            &Currency::Sys => "SYS",
            &Currency::Tfuel => "TFUEL",
            &Currency::Theta => "THETA",
            &Currency::Tnb => "TNB",
            &Currency::Tnt => "TNT",
            &Currency::Tomo => "TOMO",
            &Currency::Trig => "TRIG",
            &Currency::Troy => "TROY",
            &Currency::Trx => "TRX",
            &Currency::Try => "TRY",
            &Currency::Tusd => "TUSD",
            &Currency::Tusdb => "TUSDB",
            &Currency::Usdc => "USDC",
            &Currency::Usds => "USDS",
            &Currency::Usdsb => "USDSB",
            &Currency::Usdt => "USDT",
            &Currency::Ven => "VEN",
            &Currency::Vet => "VET",
            &Currency::Via => "VIA",
            &Currency::Vib => "VIB",
            &Currency::Vibe => "VIBE",
            &Currency::Vite => "VITE",
            &Currency::Vtc => "VTC",
            &Currency::Wabi => "WABI",
            &Currency::Wan => "WAN",
            &Currency::Waves => "WAVES",
            &Currency::Win => "WIN",
            &Currency::Wings => "WINGS",
            &Currency::Wpr => "WPR",
            &Currency::Wtc => "WTC",
            &Currency::Xem => "XEM",
            &Currency::Xlm => "XLM",
            &Currency::Xmr => "XMR",
            &Currency::Xpm => "XPM",
            &Currency::Xrp => "XRP",
            &Currency::Xtz => "XTZ",
            &Currency::Xvg => "XVG",
            &Currency::Xzc => "XZC",
            &Currency::Yoyo => "YOYO",
            &Currency::Zec => "ZEC",
            &Currency::Zen => "ZEN",
            &Currency::Zil => "ZIL",
            &Currency::Zrx => "ZRX",
        }
    }
}

impl ::std::fmt::Display for Currency {
    fn fmt(&self, f: &mut fmt::Formatter) -> ::std::fmt::Result {
        write!(f, "{}", self.as_str())
    }
}

impl From<&str> for Currency {
    fn from(symbol: &str) -> Self {
        match symbol {
            "ADA" => Currency::Ada,
            "ADX" => Currency::Adx,
            "AE" => Currency::Ae,
            "AGI" => Currency::Agi,
            "AION" => Currency::Aion,
            "ALGO" => Currency::Algo,
            "AMB" => Currency::Amb,
            "ANKR" => Currency::Ankr,
            "APPC" => Currency::Appc,
            "ARDR" => Currency::Ardr,
            "ARK" => Currency::Ark,
            "ARN" => Currency::Arn,
            "ARPA" => Currency::Arpa,
            "AST" => Currency::Ast,
            "ATOM" => Currency::Atom,
            "BAND" => Currency::Band,
            "BAT" => Currency::Bat,
            "BCC" => Currency::Bcc,
            "BCD" => Currency::Bcd,
            "BCH" => Currency::Bch,
            "BCHABC" => Currency::Bchabc,
            "BCHSV" => Currency::Bchsv,
            "BCN" => Currency::Bcn,
            "BCPT" => Currency::Bcpt,
            "BEAM" => Currency::Beam,
            "BGBP" => Currency::Bgbp,
            "BLZ" => Currency::Blz,
            "BNB" => Currency::Bnb,
            "BNT" => Currency::Bnt,
            "BQX" => Currency::Bqx,
            "BRD" => Currency::Brd,
            "BTC" => Currency::Btc,
            "BTCB" => Currency::Btcb,
            "BTG" => Currency::Btg,
            "BTS" => Currency::Bts,
            "BTT" => Currency::Btt,
            "BUSD" => Currency::Busd,
            "CDT" => Currency::Cdt,
            "CELR" => Currency::Celr,
            "CHAT" => Currency::Chat,
            "CHZ" => Currency::Chz,
            "CLOAK" => Currency::Cloak,
            "CMT" => Currency::Cmt,
            "CND" => Currency::Cnd,
            "COCOS" => Currency::Cocos,
            "COS" => Currency::Cos,
            "CTXC" => Currency::Ctxc,
            "CVC" => Currency::Cvc,
            "DASH" => Currency::Dash,
            "DATA" => Currency::Data,
            "DCR" => Currency::Dcr,
            "DENT" => Currency::Dent,
            "DGB" => Currency::Dgb,
            "DGD" => Currency::Dgd,
            "DLT" => Currency::Dlt,
            "DNT" => Currency::Dnt,
            "DOCK" => Currency::Dock,
            "DOGE" => Currency::Doge,
            "DUSK" => Currency::Dusk,
            "EDO" => Currency::Edo,
            "ELF" => Currency::Elf,
            "ENG" => Currency::Eng,
            "ENJ" => Currency::Enj,
            "EOS" => Currency::Eos,
            "ERD" => Currency::Erd,
            "ETC" => Currency::Etc,
            "ETH" => Currency::Eth,
            "EVX" => Currency::Evx,
            "FCT" => Currency::Fct,
            "FET" => Currency::Fet,
            "FOAM" => Currency::Foam,
            "FTM" => Currency::Ftm,
            "FTT" => Currency::Ftt,
            "FUEL" => Currency::Fuel,
            "FUN" => Currency::Fun,
            "GAS" => Currency::Gas,
            "GNT" => Currency::Gnt,
            "GO" => Currency::Go,
            "GRIN" => Currency::Grin,
            "GRS" => Currency::Grs,
            "GTO" => Currency::Gto,
            "GVT" => Currency::Gvt,
            "GXS" => Currency::Gxs,
            "HBAR" => Currency::Hbar,
            "HC" => Currency::Hc,
            "HOT" => Currency::Hot,
            "HSR" => Currency::Hsr,
            "ICN" => Currency::Icn,
            "ICX" => Currency::Icx,
            "INS" => Currency::Ins,
            "IOST" => Currency::Iost,
            "IOTA" => Currency::Iota,
            "IOTX" => Currency::Iotx,
            "KAVA" => Currency::Kava,
            "KEY" => Currency::Key,
            "KMD" => Currency::Kmd,
            "KNC" => Currency::Knc,
            "LEND" => Currency::Lend,
            "LINK" => Currency::Link,
            "LOOM" => Currency::Loom,
            "LPT" => Currency::Lpt,
            "LRC" => Currency::Lrc,
            "LSK" => Currency::Lsk,
            "LTC" => Currency::Ltc,
            "LUN" => Currency::Lun,
            "MAID" => Currency::Maid,
            "MANA" => Currency::Mana,
            "MATIC" => Currency::Matic,
            "MCO" => Currency::Mco,
            "MDA" => Currency::Mda,
            "MFT" => Currency::Mft,
            "MITH" => Currency::Mith,
            "MOD" => Currency::Mod,
            "MTH" => Currency::Mth,
            "MTL" => Currency::Mtl,
            "NANO" => Currency::Nano,
            "NAS" => Currency::Nas,
            "NAV" => Currency::Nav,
            "NCASH" => Currency::Ncash,
            "NEBL" => Currency::Nebl,
            "NEO" => Currency::Neo,
            "NGN" => Currency::Ngn,
            "NKN" => Currency::Nkn,
            "NMR" => Currency::Nmr,
            "NPXS" => Currency::Npxs,
            "NULS" => Currency::Nuls,
            "NXS" => Currency::Nxs,
            "NXT" => Currency::Nxt,
            "OAX" => Currency::Oax,
            "OMG" => Currency::Omg,
            "OMNI" => Currency::Omni,
            "ONE" => Currency::One,
            "ONG" => Currency::Ong,
            "ONT" => Currency::Ont,
            "OST" => Currency::Ost,
            "PAX" => Currency::Pax,
            "PERL" => Currency::Perl,
            "PHB" => Currency::Phb,
            "PHX" => Currency::Phx,
            "PIVX" => Currency::Pivx,
            "POA" => Currency::Poa,
            "POE" => Currency::Poe,
            "POLY" => Currency::Poly,
            "POWR" => Currency::Powr,
            "PPT" => Currency::Ppt,
            "QKC" => Currency::Qkc,
            "QLC" => Currency::Qlc,
            "QSP" => Currency::Qsp,
            "QTUM" => Currency::Qtum,
            "RCN" => Currency::Rcn,
            "RDN" => Currency::Rdn,
            "REN" => Currency::Ren,
            "REP" => Currency::Rep,
            "REQ" => Currency::Req,
            "RLC" => Currency::Rlc,
            "RPX" => Currency::Rpx,
            "RUB" => Currency::Rub,
            "RVN" => Currency::Rvn,
            "SALT" => Currency::Salt,
            "SC" => Currency::Sc,
            "SKY" => Currency::Sky,
            "SNGLS" => Currency::Sngls,
            "SNM" => Currency::Snm,
            "SNT" => Currency::Snt,
            "STEEM" => Currency::Steem,
            "STORJ" => Currency::Storj,
            "STORM" => Currency::Storm,
            "STR" => Currency::Str,
            "STRAT" => Currency::Strat,
            "STX" => Currency::Stx,
            "SUB" => Currency::Sub,
            "SYS" => Currency::Sys,
            "TFUEL" => Currency::Tfuel,
            "THETA" => Currency::Theta,
            "TNB" => Currency::Tnb,
            "TNT" => Currency::Tnt,
            "TOMO" => Currency::Tomo,
            "TRIG" => Currency::Trig,
            "TROY" => Currency::Troy,
            "TRX" => Currency::Trx,
            "TRY" => Currency::Try,
            "TUSD" => Currency::Tusd,
            "TUSDB" => Currency::Tusdb,
            "USDC" => Currency::Usdc,
            "USDS" => Currency::Usds,
            "USDSB" => Currency::Usdsb,
            "USDT" => Currency::Usdt,
            "VEN" => Currency::Ven,
            "VET" => Currency::Vet,
            "VIA" => Currency::Via,
            "VIB" => Currency::Vib,
            "VIBE" => Currency::Vibe,
            "VITE" => Currency::Vite,
            "VTC" => Currency::Vtc,
            "WABI" => Currency::Wabi,
            "WAN" => Currency::Wan,
            "WAVES" => Currency::Waves,
            "WIN" => Currency::Win,
            "WINGS" => Currency::Wings,
            "WPR" => Currency::Wpr,
            "WTC" => Currency::Wtc,
            "XEM" => Currency::Xem,
            "XLM" => Currency::Xlm,
            "XMR" => Currency::Xmr,
            "XPM" => Currency::Xpm,
            "XRP" => Currency::Xrp,
            "XTZ" => Currency::Xtz,
            "XVG" => Currency::Xvg,
            "XZC" => Currency::Xzc,
            "YOYO" => Currency::Yoyo,
            "ZEC" => Currency::Zec,
            "ZEN" => Currency::Zen,
            "ZIL" => Currency::Zil,
            "ZRX" => Currency::Zrx,
            sym => Currency::Custom(sym.to_owned()),
        }
    }
}

/// Currency pair.
#[derive(Eq, PartialEq, PartialOrd, Ord, Clone, Hash, Debug)]
pub enum CurrencyPair {
    Custom(String, Currency, Currency),
    AdaBnb,
    AdaBtc,
    AdaBusd,
    AdaEth,
    AdaPax,
    AdaTusd,
    AdaUsdc,
    AdaUsdt,
    AdxBnb,
    AdxBtc,
    AdxEth,
    AeBnb,
    AeBtc,
    AeEth,
    AgiBnb,
    AgiBtc,
    AgiEth,
    AionBnb,
    AionBtc,
    AionEth,
    AlgoBnb,
    AlgoBtc,
    AlgoPax,
    AlgoTusd,
    AlgoUsdc,
    AlgoUsdt,
    AmbBnb,
    AmbBtc,
    AmbEth,
    AnkrBnb,
    AnkrBtc,
    AnkrPax,
    AnkrTusd,
    AnkrUsdc,
    AnkrUsdt,
    AppcBnb,
    AppcBtc,
    AppcEth,
    ArdrBnb,
    ArdrBtc,
    ArdrEth,
    ArkBtc,
    ArkEth,
    ArnBtc,
    ArnEth,
    ArpaBnb,
    ArpaBtc,
    ArpaUsdt,
    AstBtc,
    AstEth,
    AtomBnb,
    AtomBtc,
    AtomPax,
    AtomTusd,
    AtomUsdc,
    AtomUsdt,
    BandBnb,
    BandBtc,
    BandUsdt,
    BatBnb,
    BatBtc,
    BatEth,
    BatPax,
    BatTusd,
    BatUsdc,
    BatUsdt,
    BccBnb,
    BccBtc,
    BccEth,
    BccUsdt,
    BcdBtc,
    BcdEth,
    BchabcBtc,
    BchabcBusd,
    BchabcPax,
    BchabcTusd,
    BchabcUsdc,
    BchabcUsdt,
    BchsvBtc,
    BchsvPax,
    BchsvTusd,
    BchsvUsdc,
    BchsvUsdt,
    BchBnb,
    BchBtc,
    BchBusd,
    BchPax,
    BchTusd,
    BchUsdc,
    BchUsdt,
    BcnBnb,
    BcnBtc,
    BcnEth,
    BcptBnb,
    BcptBtc,
    BcptEth,
    BcptPax,
    BcptTusd,
    BcptUsdc,
    BeamBnb,
    BeamBtc,
    BeamUsdt,
    BgbpUsdc,
    BlzBnb,
    BlzBtc,
    BlzEth,
    BnbBtc,
    BnbBusd,
    BnbEth,
    BnbNgn,
    BnbPax,
    BnbRub,
    BnbTry,
    BnbTusd,
    BnbUsdc,
    BnbUsds,
    BnbUsdt,
    BntBtc,
    BntEth,
    BqxBtc,
    BqxEth,
    BrdBnb,
    BrdBtc,
    BrdEth,
    BtcbBtc,
    BtcBusd,
    BtcDgb,
    BtcFct,
    BtcFoam,
    BtcGrin,
    BtcLpt,
    BtcMaid,
    BtcNgn,
    BtcNmr,
    BtcNxt,
    BtcOmni,
    BtcPax,
    BtcRub,
    BtcStr,
    BtcTry,
    BtcTusd,
    BtcUsdc,
    BtcUsds,
    BtcUsdt,
    BtcVtc,
    BtcXpm,
    BtgBtc,
    BtgEth,
    BtsBnb,
    BtsBtc,
    BtsEth,
    BttBnb,
    BttBtc,
    BttPax,
    BttTrx,
    BttTusd,
    BttUsdc,
    BttUsdt,
    BusdNgn,
    BusdRub,
    BusdTry,
    BusdUsdt,
    CdtBtc,
    CdtEth,
    CelrBnb,
    CelrBtc,
    CelrUsdt,
    ChatBtc,
    ChatEth,
    ChzBnb,
    ChzBtc,
    ChzUsdt,
    CloakBtc,
    CloakEth,
    CmtBnb,
    CmtBtc,
    CmtEth,
    CndBnb,
    CndBtc,
    CndEth,
    CocosBnb,
    CocosBtc,
    CocosUsdt,
    CosBnb,
    CosBtc,
    CosUsdt,
    CtxcBnb,
    CtxcBtc,
    CtxcUsdt,
    CvcBnb,
    CvcBtc,
    CvcEth,
    CvcUsdt,
    DashBnb,
    DashBtc,
    DashEth,
    DashUsdt,
    DataBtc,
    DataEth,
    DcrBnb,
    DcrBtc,
    DentBtc,
    DentEth,
    DentUsdt,
    DgdBtc,
    DgdEth,
    DltBnb,
    DltBtc,
    DltEth,
    DntBtc,
    DntEth,
    DockBtc,
    DockEth,
    DockUsdt,
    DogeBnb,
    DogeBtc,
    DogePax,
    DogeUsdc,
    DogeUsdt,
    DuskBnb,
    DuskBtc,
    DuskPax,
    DuskUsdc,
    DuskUsdt,
    EdoBtc,
    EdoEth,
    ElfBtc,
    ElfEth,
    EngBtc,
    EngEth,
    EnjBnb,
    EnjBtc,
    EnjEth,
    EnjUsdt,
    EosBnb,
    EosBtc,
    EosBusd,
    EosEth,
    EosPax,
    EosTusd,
    EosUsdc,
    EosUsdt,
    ErdBnb,
    ErdBtc,
    ErdPax,
    ErdUsdc,
    ErdUsdt,
    EtcBnb,
    EtcBtc,
    EtcBusd,
    EtcEth,
    EtcPax,
    EtcTusd,
    EtcUsdc,
    EtcUsdt,
    EthBtc,
    EthBusd,
    EthPax,
    EthRub,
    EthTry,
    EthTusd,
    EthUsdc,
    EthUsdt,
    EvxBtc,
    EvxEth,
    FetBnb,
    FetBtc,
    FetUsdt,
    FtmBnb,
    FtmBtc,
    FtmPax,
    FtmTusd,
    FtmUsdc,
    FtmUsdt,
    FttBnb,
    FttBtc,
    FttUsdt,
    FuelBtc,
    FuelEth,
    FunBtc,
    FunEth,
    FunUsdt,
    GasBtc,
    GntBnb,
    GntBtc,
    GntEth,
    GoBnb,
    GoBtc,
    GrsBtc,
    GrsEth,
    GtoBnb,
    GtoBtc,
    GtoEth,
    GtoPax,
    GtoTusd,
    GtoUsdc,
    GtoUsdt,
    GvtBtc,
    GvtEth,
    GxsBtc,
    GxsEth,
    HbarBnb,
    HbarBtc,
    HbarUsdt,
    HcBtc,
    HcEth,
    HcUsdt,
    HotBnb,
    HotBtc,
    HotEth,
    HotUsdt,
    HsrBtc,
    HsrEth,
    IcnBtc,
    IcnEth,
    IcxBnb,
    IcxBtc,
    IcxEth,
    IcxUsdt,
    InsBtc,
    InsEth,
    IostBnb,
    IostBtc,
    IostEth,
    IostUsdt,
    IotaBnb,
    IotaBtc,
    IotaEth,
    IotaUsdt,
    IotxBtc,
    IotxEth,
    IotxUsdt,
    KavaBnb,
    KavaBtc,
    KavaUsdt,
    KeyBtc,
    KeyEth,
    KeyUsdt,
    KmdBtc,
    KmdEth,
    KncBtc,
    KncEth,
    LendBtc,
    LendEth,
    LinkBtc,
    LinkBusd,
    LinkEth,
    LinkPax,
    LinkTusd,
    LinkUsdc,
    LinkUsdt,
    LoomBnb,
    LoomBtc,
    LoomEth,
    LrcBtc,
    LrcEth,
    LskBnb,
    LskBtc,
    LskEth,
    LtcBnb,
    LtcBtc,
    LtcBusd,
    LtcEth,
    LtcPax,
    LtcTusd,
    LtcUsdc,
    LtcUsdt,
    LunBtc,
    LunEth,
    ManaBtc,
    ManaEth,
    MaticBnb,
    MaticBtc,
    MaticUsdt,
    McoBnb,
    McoBtc,
    McoEth,
    McoUsdt,
    MdaBtc,
    MdaEth,
    MftBnb,
    MftBtc,
    MftEth,
    MftUsdt,
    MithBnb,
    MithBtc,
    MithUsdt,
    ModBtc,
    ModEth,
    MthBtc,
    MthEth,
    MtlBtc,
    MtlEth,
    MtlUsdt,
    NanoBnb,
    NanoBtc,
    NanoEth,
    NanoUsdt,
    NasBnb,
    NasBtc,
    NasEth,
    NavBnb,
    NavBtc,
    NavEth,
    NcashBnb,
    NcashBtc,
    NcashEth,
    NeblBnb,
    NeblBtc,
    NeblEth,
    NeoBnb,
    NeoBtc,
    NeoEth,
    NeoPax,
    NeoTusd,
    NeoUsdc,
    NeoUsdt,
    NknBnb,
    NknBtc,
    NknUsdt,
    NpxsBtc,
    NpxsEth,
    NpxsUsdc,
    NpxsUsdt,
    NulsBnb,
    NulsBtc,
    NulsEth,
    NulsUsdt,
    NxsBnb,
    NxsBtc,
    NxsEth,
    OaxBtc,
    OaxEth,
    OmgBnb,
    OmgBtc,
    OmgEth,
    OmgUsdt,
    OneBnb,
    OneBtc,
    OnePax,
    OneTusd,
    OneUsdc,
    OneUsdt,
    OngBnb,
    OngBtc,
    OngUsdt,
    OntBnb,
    OntBtc,
    OntEth,
    OntPax,
    OntUsdc,
    OntUsdt,
    OstBnb,
    OstBtc,
    OstEth,
    PaxBnb,
    PaxBtc,
    PaxEth,
    PaxTusd,
    PaxUsdt,
    PerlBnb,
    PerlBtc,
    PerlUsdc,
    PerlUsdt,
    PhbBnb,
    PhbBtc,
    PhbPax,
    PhbTusd,
    PhbUsdc,
    PhxBnb,
    PhxBtc,
    PhxEth,
    PivxBnb,
    PivxBtc,
    PivxEth,
    PoaBnb,
    PoaBtc,
    PoaEth,
    PoeBtc,
    PoeEth,
    PolyBnb,
    PolyBtc,
    PowrBnb,
    PowrBtc,
    PowrEth,
    PptBtc,
    PptEth,
    QkcBtc,
    QkcEth,
    QlcBnb,
    QlcBtc,
    QlcEth,
    QspBnb,
    QspBtc,
    QspEth,
    QtumBnb,
    QtumBtc,
    QtumBusd,
    QtumEth,
    QtumUsdt,
    RcnBnb,
    RcnBtc,
    RcnEth,
    RdnBnb,
    RdnBtc,
    RdnEth,
    RenBnb,
    RenBtc,
    RenUsdt,
    RepBnb,
    RepBtc,
    RepEth,
    ReqBtc,
    ReqEth,
    RlcBnb,
    RlcBtc,
    RlcEth,
    RlcUsdt,
    RpxBnb,
    RpxBtc,
    RpxEth,
    RvnBnb,
    RvnBtc,
    RvnUsdt,
    SaltBtc,
    SaltEth,
    ScBnb,
    ScBtc,
    ScEth,
    SkyBnb,
    SkyBtc,
    SkyEth,
    SnglsBtc,
    SnglsEth,
    SnmBtc,
    SnmEth,
    SntBtc,
    SntEth,
    SteemBnb,
    SteemBtc,
    SteemEth,
    StorjBtc,
    StorjEth,
    StormBnb,
    StormBtc,
    StormEth,
    StormUsdt,
    StratBtc,
    StratEth,
    StxBnb,
    StxBtc,
    StxUsdt,
    SubBtc,
    SubEth,
    SysBnb,
    SysBtc,
    SysEth,
    TfuelBnb,
    TfuelBtc,
    TfuelPax,
    TfuelTusd,
    TfuelUsdc,
    TfuelUsdt,
    ThetaBnb,
    ThetaBtc,
    ThetaEth,
    ThetaUsdt,
    TnbBtc,
    TnbEth,
    TntBtc,
    TntEth,
    TomoBnb,
    TomoBtc,
    TomoUsdc,
    TomoUsdt,
    TrigBnb,
    TrigBtc,
    TrigEth,
    TroyBnb,
    TroyBtc,
    TroyUsdt,
    TrxBnb,
    TrxBtc,
    TrxBusd,
    TrxEth,
    TrxPax,
    TrxTusd,
    TrxUsdc,
    TrxUsdt,
    TrxXrp,
    TusdbTusd,
    TusdBnb,
    TusdBtc,
    TusdEth,
    TusdUsdt,
    UsdcBnb,
    UsdcDash,
    UsdcGrin,
    UsdcPax,
    UsdcStr,
    UsdcTusd,
    UsdcUsdt,
    UsdcXmr,
    UsdsbUsds,
    UsdsbUsdt,
    UsdsPax,
    UsdsTusd,
    UsdsUsdc,
    UsdsUsdt,
    UsdtDgb,
    UsdtGnt,
    UsdtGrin,
    UsdtLsk,
    UsdtMana,
    UsdtNxt,
    UsdtRep,
    UsdtRub,
    UsdtSc,
    UsdtStr,
    UsdtTry,
    VenBnb,
    VenBtc,
    VenEth,
    VenUsdt,
    VetBnb,
    VetBtc,
    VetBusd,
    VetEth,
    VetUsdt,
    ViaBnb,
    ViaBtc,
    ViaEth,
    VibeBtc,
    VibeEth,
    VibBtc,
    VibEth,
    ViteBnb,
    ViteBtc,
    ViteUsdt,
    WabiBnb,
    WabiBtc,
    WabiEth,
    WanBnb,
    WanBtc,
    WanEth,
    WanUsdt,
    WavesBnb,
    WavesBtc,
    WavesEth,
    WavesPax,
    WavesTusd,
    WavesUsdc,
    WavesUsdt,
    WingsBtc,
    WingsEth,
    WinBnb,
    WinBtc,
    WinTrx,
    WinUsdc,
    WinUsdt,
    WprBtc,
    WprEth,
    WtcBnb,
    WtcBtc,
    WtcEth,
    XemBnb,
    XemBtc,
    XemEth,
    XlmBnb,
    XlmBtc,
    XlmBusd,
    XlmEth,
    XlmPax,
    XlmTusd,
    XlmUsdc,
    XlmUsdt,
    XmrBnb,
    XmrBtc,
    XmrEth,
    XmrUsdt,
    XrpBnb,
    XrpBtc,
    XrpBusd,
    XrpEth,
    XrpPax,
    XrpRub,
    XrpTry,
    XrpTusd,
    XrpUsdc,
    XrpUsdt,
    XtzBnb,
    XtzBtc,
    XtzUsdt,
    XvgBtc,
    XvgEth,
    XzcBnb,
    XzcBtc,
    XzcEth,
    XzcXrp,
    YoyoBnb,
    YoyoBtc,
    YoyoEth,
    ZecBnb,
    ZecBtc,
    ZecEth,
    ZecPax,
    ZecTusd,
    ZecUsdc,
    ZecUsdt,
    ZenBnb,
    ZenBtc,
    ZenEth,
    ZilBnb,
    ZilBtc,
    ZilEth,
    ZilUsdt,
    ZrxBnb,
    ZrxBtc,
    ZrxEth,
    ZrxUsdt,
}

impl CurrencyPair {
    pub fn new(quote: Currency, base: Currency) -> CurrencyPair {
        match (quote, base) {
            (Currency::Ada, Currency::Bnb) => CurrencyPair::AdaBnb,
            (Currency::Ada, Currency::Btc) => CurrencyPair::AdaBtc,
            (Currency::Ada, Currency::Busd) => CurrencyPair::AdaBusd,
            (Currency::Ada, Currency::Eth) => CurrencyPair::AdaEth,
            (Currency::Ada, Currency::Pax) => CurrencyPair::AdaPax,
            (Currency::Ada, Currency::Tusd) => CurrencyPair::AdaTusd,
            (Currency::Ada, Currency::Usdc) => CurrencyPair::AdaUsdc,
            (Currency::Ada, Currency::Usdt) => CurrencyPair::AdaUsdt,
            (Currency::Adx, Currency::Bnb) => CurrencyPair::AdxBnb,
            (Currency::Adx, Currency::Btc) => CurrencyPair::AdxBtc,
            (Currency::Adx, Currency::Eth) => CurrencyPair::AdxEth,
            (Currency::Ae, Currency::Bnb) => CurrencyPair::AeBnb,
            (Currency::Ae, Currency::Btc) => CurrencyPair::AeBtc,
            (Currency::Ae, Currency::Eth) => CurrencyPair::AeEth,
            (Currency::Agi, Currency::Bnb) => CurrencyPair::AgiBnb,
            (Currency::Agi, Currency::Btc) => CurrencyPair::AgiBtc,
            (Currency::Agi, Currency::Eth) => CurrencyPair::AgiEth,
            (Currency::Aion, Currency::Bnb) => CurrencyPair::AionBnb,
            (Currency::Aion, Currency::Btc) => CurrencyPair::AionBtc,
            (Currency::Aion, Currency::Eth) => CurrencyPair::AionEth,
            (Currency::Algo, Currency::Bnb) => CurrencyPair::AlgoBnb,
            (Currency::Algo, Currency::Btc) => CurrencyPair::AlgoBtc,
            (Currency::Algo, Currency::Pax) => CurrencyPair::AlgoPax,
            (Currency::Algo, Currency::Tusd) => CurrencyPair::AlgoTusd,
            (Currency::Algo, Currency::Usdc) => CurrencyPair::AlgoUsdc,
            (Currency::Algo, Currency::Usdt) => CurrencyPair::AlgoUsdt,
            (Currency::Amb, Currency::Bnb) => CurrencyPair::AmbBnb,
            (Currency::Amb, Currency::Btc) => CurrencyPair::AmbBtc,
            (Currency::Amb, Currency::Eth) => CurrencyPair::AmbEth,
            (Currency::Ankr, Currency::Bnb) => CurrencyPair::AnkrBnb,
            (Currency::Ankr, Currency::Btc) => CurrencyPair::AnkrBtc,
            (Currency::Ankr, Currency::Pax) => CurrencyPair::AnkrPax,
            (Currency::Ankr, Currency::Tusd) => CurrencyPair::AnkrTusd,
            (Currency::Ankr, Currency::Usdc) => CurrencyPair::AnkrUsdc,
            (Currency::Ankr, Currency::Usdt) => CurrencyPair::AnkrUsdt,
            (Currency::Appc, Currency::Bnb) => CurrencyPair::AppcBnb,
            (Currency::Appc, Currency::Btc) => CurrencyPair::AppcBtc,
            (Currency::Appc, Currency::Eth) => CurrencyPair::AppcEth,
            (Currency::Ardr, Currency::Bnb) => CurrencyPair::ArdrBnb,
            (Currency::Ardr, Currency::Btc) => CurrencyPair::ArdrBtc,
            (Currency::Ardr, Currency::Eth) => CurrencyPair::ArdrEth,
            (Currency::Ark, Currency::Btc) => CurrencyPair::ArkBtc,
            (Currency::Ark, Currency::Eth) => CurrencyPair::ArkEth,
            (Currency::Arn, Currency::Btc) => CurrencyPair::ArnBtc,
            (Currency::Arn, Currency::Eth) => CurrencyPair::ArnEth,
            (Currency::Arpa, Currency::Bnb) => CurrencyPair::ArpaBnb,
            (Currency::Arpa, Currency::Btc) => CurrencyPair::ArpaBtc,
            (Currency::Arpa, Currency::Usdt) => CurrencyPair::ArpaUsdt,
            (Currency::Ast, Currency::Btc) => CurrencyPair::AstBtc,
            (Currency::Ast, Currency::Eth) => CurrencyPair::AstEth,
            (Currency::Atom, Currency::Bnb) => CurrencyPair::AtomBnb,
            (Currency::Atom, Currency::Btc) => CurrencyPair::AtomBtc,
            (Currency::Atom, Currency::Pax) => CurrencyPair::AtomPax,
            (Currency::Atom, Currency::Tusd) => CurrencyPair::AtomTusd,
            (Currency::Atom, Currency::Usdc) => CurrencyPair::AtomUsdc,
            (Currency::Atom, Currency::Usdt) => CurrencyPair::AtomUsdt,
            (Currency::Band, Currency::Bnb) => CurrencyPair::BandBnb,
            (Currency::Band, Currency::Btc) => CurrencyPair::BandBtc,
            (Currency::Band, Currency::Usdt) => CurrencyPair::BandUsdt,
            (Currency::Bat, Currency::Bnb) => CurrencyPair::BatBnb,
            (Currency::Bat, Currency::Btc) => CurrencyPair::BatBtc,
            (Currency::Bat, Currency::Eth) => CurrencyPair::BatEth,
            (Currency::Bat, Currency::Pax) => CurrencyPair::BatPax,
            (Currency::Bat, Currency::Tusd) => CurrencyPair::BatTusd,
            (Currency::Bat, Currency::Usdc) => CurrencyPair::BatUsdc,
            (Currency::Bat, Currency::Usdt) => CurrencyPair::BatUsdt,
            (Currency::Bcc, Currency::Bnb) => CurrencyPair::BccBnb,
            (Currency::Bcc, Currency::Btc) => CurrencyPair::BccBtc,
            (Currency::Bcc, Currency::Eth) => CurrencyPair::BccEth,
            (Currency::Bcc, Currency::Usdt) => CurrencyPair::BccUsdt,
            (Currency::Bcd, Currency::Btc) => CurrencyPair::BcdBtc,
            (Currency::Bcd, Currency::Eth) => CurrencyPair::BcdEth,
            (Currency::Bchabc, Currency::Btc) => CurrencyPair::BchabcBtc,
            (Currency::Bchabc, Currency::Busd) => CurrencyPair::BchabcBusd,
            (Currency::Bchabc, Currency::Pax) => CurrencyPair::BchabcPax,
            (Currency::Bchabc, Currency::Tusd) => CurrencyPair::BchabcTusd,
            (Currency::Bchabc, Currency::Usdc) => CurrencyPair::BchabcUsdc,
            (Currency::Bchabc, Currency::Usdt) => CurrencyPair::BchabcUsdt,
            (Currency::Bchsv, Currency::Btc) => CurrencyPair::BchsvBtc,
            (Currency::Bchsv, Currency::Pax) => CurrencyPair::BchsvPax,
            (Currency::Bchsv, Currency::Tusd) => CurrencyPair::BchsvTusd,
            (Currency::Bchsv, Currency::Usdc) => CurrencyPair::BchsvUsdc,
            (Currency::Bchsv, Currency::Usdt) => CurrencyPair::BchsvUsdt,
            (Currency::Bch, Currency::Bnb) => CurrencyPair::BchBnb,
            (Currency::Bch, Currency::Btc) => CurrencyPair::BchBtc,
            (Currency::Bch, Currency::Busd) => CurrencyPair::BchBusd,
            (Currency::Bch, Currency::Pax) => CurrencyPair::BchPax,
            (Currency::Bch, Currency::Tusd) => CurrencyPair::BchTusd,
            (Currency::Bch, Currency::Usdc) => CurrencyPair::BchUsdc,
            (Currency::Bch, Currency::Usdt) => CurrencyPair::BchUsdt,
            (Currency::Bcn, Currency::Bnb) => CurrencyPair::BcnBnb,
            (Currency::Bcn, Currency::Btc) => CurrencyPair::BcnBtc,
            (Currency::Bcn, Currency::Eth) => CurrencyPair::BcnEth,
            (Currency::Bcpt, Currency::Bnb) => CurrencyPair::BcptBnb,
            (Currency::Bcpt, Currency::Btc) => CurrencyPair::BcptBtc,
            (Currency::Bcpt, Currency::Eth) => CurrencyPair::BcptEth,
            (Currency::Bcpt, Currency::Pax) => CurrencyPair::BcptPax,
            (Currency::Bcpt, Currency::Tusd) => CurrencyPair::BcptTusd,
            (Currency::Bcpt, Currency::Usdc) => CurrencyPair::BcptUsdc,
            (Currency::Beam, Currency::Bnb) => CurrencyPair::BeamBnb,
            (Currency::Beam, Currency::Btc) => CurrencyPair::BeamBtc,
            (Currency::Beam, Currency::Usdt) => CurrencyPair::BeamUsdt,
            (Currency::Bgbp, Currency::Usdc) => CurrencyPair::BgbpUsdc,
            (Currency::Blz, Currency::Bnb) => CurrencyPair::BlzBnb,
            (Currency::Blz, Currency::Btc) => CurrencyPair::BlzBtc,
            (Currency::Blz, Currency::Eth) => CurrencyPair::BlzEth,
            (Currency::Bnb, Currency::Btc) => CurrencyPair::BnbBtc,
            (Currency::Bnb, Currency::Busd) => CurrencyPair::BnbBusd,
            (Currency::Bnb, Currency::Eth) => CurrencyPair::BnbEth,
            (Currency::Bnb, Currency::Ngn) => CurrencyPair::BnbNgn,
            (Currency::Bnb, Currency::Pax) => CurrencyPair::BnbPax,
            (Currency::Bnb, Currency::Rub) => CurrencyPair::BnbRub,
            (Currency::Bnb, Currency::Try) => CurrencyPair::BnbTry,
            (Currency::Bnb, Currency::Tusd) => CurrencyPair::BnbTusd,
            (Currency::Bnb, Currency::Usdc) => CurrencyPair::BnbUsdc,
            (Currency::Bnb, Currency::Usds) => CurrencyPair::BnbUsds,
            (Currency::Bnb, Currency::Usdt) => CurrencyPair::BnbUsdt,
            (Currency::Bnt, Currency::Btc) => CurrencyPair::BntBtc,
            (Currency::Bnt, Currency::Eth) => CurrencyPair::BntEth,
            (Currency::Bqx, Currency::Btc) => CurrencyPair::BqxBtc,
            (Currency::Bqx, Currency::Eth) => CurrencyPair::BqxEth,
            (Currency::Brd, Currency::Bnb) => CurrencyPair::BrdBnb,
            (Currency::Brd, Currency::Btc) => CurrencyPair::BrdBtc,
            (Currency::Brd, Currency::Eth) => CurrencyPair::BrdEth,
            (Currency::Btcb, Currency::Btc) => CurrencyPair::BtcbBtc,
            (Currency::Btc, Currency::Busd) => CurrencyPair::BtcBusd,
            (Currency::Btc, Currency::Dgb) => CurrencyPair::BtcDgb,
            (Currency::Btc, Currency::Fct) => CurrencyPair::BtcFct,
            (Currency::Btc, Currency::Foam) => CurrencyPair::BtcFoam,
            (Currency::Btc, Currency::Grin) => CurrencyPair::BtcGrin,
            (Currency::Btc, Currency::Lpt) => CurrencyPair::BtcLpt,
            (Currency::Btc, Currency::Maid) => CurrencyPair::BtcMaid,
            (Currency::Btc, Currency::Ngn) => CurrencyPair::BtcNgn,
            (Currency::Btc, Currency::Nmr) => CurrencyPair::BtcNmr,
            (Currency::Btc, Currency::Nxt) => CurrencyPair::BtcNxt,
            (Currency::Btc, Currency::Omni) => CurrencyPair::BtcOmni,
            (Currency::Btc, Currency::Pax) => CurrencyPair::BtcPax,
            (Currency::Btc, Currency::Rub) => CurrencyPair::BtcRub,
            (Currency::Btc, Currency::Str) => CurrencyPair::BtcStr,
            (Currency::Btc, Currency::Try) => CurrencyPair::BtcTry,
            (Currency::Btc, Currency::Tusd) => CurrencyPair::BtcTusd,
            (Currency::Btc, Currency::Usdc) => CurrencyPair::BtcUsdc,
            (Currency::Btc, Currency::Usds) => CurrencyPair::BtcUsds,
            (Currency::Btc, Currency::Usdt) => CurrencyPair::BtcUsdt,
            (Currency::Btc, Currency::Vtc) => CurrencyPair::BtcVtc,
            (Currency::Btc, Currency::Xpm) => CurrencyPair::BtcXpm,
            (Currency::Btg, Currency::Btc) => CurrencyPair::BtgBtc,
            (Currency::Btg, Currency::Eth) => CurrencyPair::BtgEth,
            (Currency::Bts, Currency::Bnb) => CurrencyPair::BtsBnb,
            (Currency::Bts, Currency::Btc) => CurrencyPair::BtsBtc,
            (Currency::Bts, Currency::Eth) => CurrencyPair::BtsEth,
            (Currency::Btt, Currency::Bnb) => CurrencyPair::BttBnb,
            (Currency::Btt, Currency::Btc) => CurrencyPair::BttBtc,
            (Currency::Btt, Currency::Pax) => CurrencyPair::BttPax,
            (Currency::Btt, Currency::Trx) => CurrencyPair::BttTrx,
            (Currency::Btt, Currency::Tusd) => CurrencyPair::BttTusd,
            (Currency::Btt, Currency::Usdc) => CurrencyPair::BttUsdc,
            (Currency::Btt, Currency::Usdt) => CurrencyPair::BttUsdt,
            (Currency::Busd, Currency::Ngn) => CurrencyPair::BusdNgn,
            (Currency::Busd, Currency::Rub) => CurrencyPair::BusdRub,
            (Currency::Busd, Currency::Try) => CurrencyPair::BusdTry,
            (Currency::Busd, Currency::Usdt) => CurrencyPair::BusdUsdt,
            (Currency::Cdt, Currency::Btc) => CurrencyPair::CdtBtc,
            (Currency::Cdt, Currency::Eth) => CurrencyPair::CdtEth,
            (Currency::Celr, Currency::Bnb) => CurrencyPair::CelrBnb,
            (Currency::Celr, Currency::Btc) => CurrencyPair::CelrBtc,
            (Currency::Celr, Currency::Usdt) => CurrencyPair::CelrUsdt,
            (Currency::Chat, Currency::Btc) => CurrencyPair::ChatBtc,
            (Currency::Chat, Currency::Eth) => CurrencyPair::ChatEth,
            (Currency::Chz, Currency::Bnb) => CurrencyPair::ChzBnb,
            (Currency::Chz, Currency::Btc) => CurrencyPair::ChzBtc,
            (Currency::Chz, Currency::Usdt) => CurrencyPair::ChzUsdt,
            (Currency::Cloak, Currency::Btc) => CurrencyPair::CloakBtc,
            (Currency::Cloak, Currency::Eth) => CurrencyPair::CloakEth,
            (Currency::Cmt, Currency::Bnb) => CurrencyPair::CmtBnb,
            (Currency::Cmt, Currency::Btc) => CurrencyPair::CmtBtc,
            (Currency::Cmt, Currency::Eth) => CurrencyPair::CmtEth,
            (Currency::Cnd, Currency::Bnb) => CurrencyPair::CndBnb,
            (Currency::Cnd, Currency::Btc) => CurrencyPair::CndBtc,
            (Currency::Cnd, Currency::Eth) => CurrencyPair::CndEth,
            (Currency::Cocos, Currency::Bnb) => CurrencyPair::CocosBnb,
            (Currency::Cocos, Currency::Btc) => CurrencyPair::CocosBtc,
            (Currency::Cocos, Currency::Usdt) => CurrencyPair::CocosUsdt,
            (Currency::Cos, Currency::Bnb) => CurrencyPair::CosBnb,
            (Currency::Cos, Currency::Btc) => CurrencyPair::CosBtc,
            (Currency::Cos, Currency::Usdt) => CurrencyPair::CosUsdt,
            (Currency::Ctxc, Currency::Bnb) => CurrencyPair::CtxcBnb,
            (Currency::Ctxc, Currency::Btc) => CurrencyPair::CtxcBtc,
            (Currency::Ctxc, Currency::Usdt) => CurrencyPair::CtxcUsdt,
            (Currency::Cvc, Currency::Bnb) => CurrencyPair::CvcBnb,
            (Currency::Cvc, Currency::Btc) => CurrencyPair::CvcBtc,
            (Currency::Cvc, Currency::Eth) => CurrencyPair::CvcEth,
            (Currency::Cvc, Currency::Usdt) => CurrencyPair::CvcUsdt,
            (Currency::Dash, Currency::Bnb) => CurrencyPair::DashBnb,
            (Currency::Dash, Currency::Btc) => CurrencyPair::DashBtc,
            (Currency::Dash, Currency::Eth) => CurrencyPair::DashEth,
            (Currency::Dash, Currency::Usdt) => CurrencyPair::DashUsdt,
            (Currency::Data, Currency::Btc) => CurrencyPair::DataBtc,
            (Currency::Data, Currency::Eth) => CurrencyPair::DataEth,
            (Currency::Dcr, Currency::Bnb) => CurrencyPair::DcrBnb,
            (Currency::Dcr, Currency::Btc) => CurrencyPair::DcrBtc,
            (Currency::Dent, Currency::Btc) => CurrencyPair::DentBtc,
            (Currency::Dent, Currency::Eth) => CurrencyPair::DentEth,
            (Currency::Dent, Currency::Usdt) => CurrencyPair::DentUsdt,
            (Currency::Dgd, Currency::Btc) => CurrencyPair::DgdBtc,
            (Currency::Dgd, Currency::Eth) => CurrencyPair::DgdEth,
            (Currency::Dlt, Currency::Bnb) => CurrencyPair::DltBnb,
            (Currency::Dlt, Currency::Btc) => CurrencyPair::DltBtc,
            (Currency::Dlt, Currency::Eth) => CurrencyPair::DltEth,
            (Currency::Dnt, Currency::Btc) => CurrencyPair::DntBtc,
            (Currency::Dnt, Currency::Eth) => CurrencyPair::DntEth,
            (Currency::Dock, Currency::Btc) => CurrencyPair::DockBtc,
            (Currency::Dock, Currency::Eth) => CurrencyPair::DockEth,
            (Currency::Dock, Currency::Usdt) => CurrencyPair::DockUsdt,
            (Currency::Doge, Currency::Bnb) => CurrencyPair::DogeBnb,
            (Currency::Doge, Currency::Btc) => CurrencyPair::DogeBtc,
            (Currency::Doge, Currency::Pax) => CurrencyPair::DogePax,
            (Currency::Doge, Currency::Usdc) => CurrencyPair::DogeUsdc,
            (Currency::Doge, Currency::Usdt) => CurrencyPair::DogeUsdt,
            (Currency::Dusk, Currency::Bnb) => CurrencyPair::DuskBnb,
            (Currency::Dusk, Currency::Btc) => CurrencyPair::DuskBtc,
            (Currency::Dusk, Currency::Pax) => CurrencyPair::DuskPax,
            (Currency::Dusk, Currency::Usdc) => CurrencyPair::DuskUsdc,
            (Currency::Dusk, Currency::Usdt) => CurrencyPair::DuskUsdt,
            (Currency::Edo, Currency::Btc) => CurrencyPair::EdoBtc,
            (Currency::Edo, Currency::Eth) => CurrencyPair::EdoEth,
            (Currency::Elf, Currency::Btc) => CurrencyPair::ElfBtc,
            (Currency::Elf, Currency::Eth) => CurrencyPair::ElfEth,
            (Currency::Eng, Currency::Btc) => CurrencyPair::EngBtc,
            (Currency::Eng, Currency::Eth) => CurrencyPair::EngEth,
            (Currency::Enj, Currency::Bnb) => CurrencyPair::EnjBnb,
            (Currency::Enj, Currency::Btc) => CurrencyPair::EnjBtc,
            (Currency::Enj, Currency::Eth) => CurrencyPair::EnjEth,
            (Currency::Enj, Currency::Usdt) => CurrencyPair::EnjUsdt,
            (Currency::Eos, Currency::Bnb) => CurrencyPair::EosBnb,
            (Currency::Eos, Currency::Btc) => CurrencyPair::EosBtc,
            (Currency::Eos, Currency::Busd) => CurrencyPair::EosBusd,
            (Currency::Eos, Currency::Eth) => CurrencyPair::EosEth,
            (Currency::Eos, Currency::Pax) => CurrencyPair::EosPax,
            (Currency::Eos, Currency::Tusd) => CurrencyPair::EosTusd,
            (Currency::Eos, Currency::Usdc) => CurrencyPair::EosUsdc,
            (Currency::Eos, Currency::Usdt) => CurrencyPair::EosUsdt,
            (Currency::Erd, Currency::Bnb) => CurrencyPair::ErdBnb,
            (Currency::Erd, Currency::Btc) => CurrencyPair::ErdBtc,
            (Currency::Erd, Currency::Pax) => CurrencyPair::ErdPax,
            (Currency::Erd, Currency::Usdc) => CurrencyPair::ErdUsdc,
            (Currency::Erd, Currency::Usdt) => CurrencyPair::ErdUsdt,
            (Currency::Etc, Currency::Bnb) => CurrencyPair::EtcBnb,
            (Currency::Etc, Currency::Btc) => CurrencyPair::EtcBtc,
            (Currency::Etc, Currency::Busd) => CurrencyPair::EtcBusd,
            (Currency::Etc, Currency::Eth) => CurrencyPair::EtcEth,
            (Currency::Etc, Currency::Pax) => CurrencyPair::EtcPax,
            (Currency::Etc, Currency::Tusd) => CurrencyPair::EtcTusd,
            (Currency::Etc, Currency::Usdc) => CurrencyPair::EtcUsdc,
            (Currency::Etc, Currency::Usdt) => CurrencyPair::EtcUsdt,
            (Currency::Eth, Currency::Btc) => CurrencyPair::EthBtc,
            (Currency::Eth, Currency::Busd) => CurrencyPair::EthBusd,
            (Currency::Eth, Currency::Pax) => CurrencyPair::EthPax,
            (Currency::Eth, Currency::Rub) => CurrencyPair::EthRub,
            (Currency::Eth, Currency::Try) => CurrencyPair::EthTry,
            (Currency::Eth, Currency::Tusd) => CurrencyPair::EthTusd,
            (Currency::Eth, Currency::Usdc) => CurrencyPair::EthUsdc,
            (Currency::Eth, Currency::Usdt) => CurrencyPair::EthUsdt,
            (Currency::Evx, Currency::Btc) => CurrencyPair::EvxBtc,
            (Currency::Evx, Currency::Eth) => CurrencyPair::EvxEth,
            (Currency::Fet, Currency::Bnb) => CurrencyPair::FetBnb,
            (Currency::Fet, Currency::Btc) => CurrencyPair::FetBtc,
            (Currency::Fet, Currency::Usdt) => CurrencyPair::FetUsdt,
            (Currency::Ftm, Currency::Bnb) => CurrencyPair::FtmBnb,
            (Currency::Ftm, Currency::Btc) => CurrencyPair::FtmBtc,
            (Currency::Ftm, Currency::Pax) => CurrencyPair::FtmPax,
            (Currency::Ftm, Currency::Tusd) => CurrencyPair::FtmTusd,
            (Currency::Ftm, Currency::Usdc) => CurrencyPair::FtmUsdc,
            (Currency::Ftm, Currency::Usdt) => CurrencyPair::FtmUsdt,
            (Currency::Ftt, Currency::Bnb) => CurrencyPair::FttBnb,
            (Currency::Ftt, Currency::Btc) => CurrencyPair::FttBtc,
            (Currency::Ftt, Currency::Usdt) => CurrencyPair::FttUsdt,
            (Currency::Fuel, Currency::Btc) => CurrencyPair::FuelBtc,
            (Currency::Fuel, Currency::Eth) => CurrencyPair::FuelEth,
            (Currency::Fun, Currency::Btc) => CurrencyPair::FunBtc,
            (Currency::Fun, Currency::Eth) => CurrencyPair::FunEth,
            (Currency::Fun, Currency::Usdt) => CurrencyPair::FunUsdt,
            (Currency::Gas, Currency::Btc) => CurrencyPair::GasBtc,
            (Currency::Gnt, Currency::Bnb) => CurrencyPair::GntBnb,
            (Currency::Gnt, Currency::Btc) => CurrencyPair::GntBtc,
            (Currency::Gnt, Currency::Eth) => CurrencyPair::GntEth,
            (Currency::Go, Currency::Bnb) => CurrencyPair::GoBnb,
            (Currency::Go, Currency::Btc) => CurrencyPair::GoBtc,
            (Currency::Grs, Currency::Btc) => CurrencyPair::GrsBtc,
            (Currency::Grs, Currency::Eth) => CurrencyPair::GrsEth,
            (Currency::Gto, Currency::Bnb) => CurrencyPair::GtoBnb,
            (Currency::Gto, Currency::Btc) => CurrencyPair::GtoBtc,
            (Currency::Gto, Currency::Eth) => CurrencyPair::GtoEth,
            (Currency::Gto, Currency::Pax) => CurrencyPair::GtoPax,
            (Currency::Gto, Currency::Tusd) => CurrencyPair::GtoTusd,
            (Currency::Gto, Currency::Usdc) => CurrencyPair::GtoUsdc,
            (Currency::Gto, Currency::Usdt) => CurrencyPair::GtoUsdt,
            (Currency::Gvt, Currency::Btc) => CurrencyPair::GvtBtc,
            (Currency::Gvt, Currency::Eth) => CurrencyPair::GvtEth,
            (Currency::Gxs, Currency::Btc) => CurrencyPair::GxsBtc,
            (Currency::Gxs, Currency::Eth) => CurrencyPair::GxsEth,
            (Currency::Hbar, Currency::Bnb) => CurrencyPair::HbarBnb,
            (Currency::Hbar, Currency::Btc) => CurrencyPair::HbarBtc,
            (Currency::Hbar, Currency::Usdt) => CurrencyPair::HbarUsdt,
            (Currency::Hc, Currency::Btc) => CurrencyPair::HcBtc,
            (Currency::Hc, Currency::Eth) => CurrencyPair::HcEth,
            (Currency::Hc, Currency::Usdt) => CurrencyPair::HcUsdt,
            (Currency::Hot, Currency::Bnb) => CurrencyPair::HotBnb,
            (Currency::Hot, Currency::Btc) => CurrencyPair::HotBtc,
            (Currency::Hot, Currency::Eth) => CurrencyPair::HotEth,
            (Currency::Hot, Currency::Usdt) => CurrencyPair::HotUsdt,
            (Currency::Hsr, Currency::Btc) => CurrencyPair::HsrBtc,
            (Currency::Hsr, Currency::Eth) => CurrencyPair::HsrEth,
            (Currency::Icn, Currency::Btc) => CurrencyPair::IcnBtc,
            (Currency::Icn, Currency::Eth) => CurrencyPair::IcnEth,
            (Currency::Icx, Currency::Bnb) => CurrencyPair::IcxBnb,
            (Currency::Icx, Currency::Btc) => CurrencyPair::IcxBtc,
            (Currency::Icx, Currency::Eth) => CurrencyPair::IcxEth,
            (Currency::Icx, Currency::Usdt) => CurrencyPair::IcxUsdt,
            (Currency::Ins, Currency::Btc) => CurrencyPair::InsBtc,
            (Currency::Ins, Currency::Eth) => CurrencyPair::InsEth,
            (Currency::Iost, Currency::Bnb) => CurrencyPair::IostBnb,
            (Currency::Iost, Currency::Btc) => CurrencyPair::IostBtc,
            (Currency::Iost, Currency::Eth) => CurrencyPair::IostEth,
            (Currency::Iost, Currency::Usdt) => CurrencyPair::IostUsdt,
            (Currency::Iota, Currency::Bnb) => CurrencyPair::IotaBnb,
            (Currency::Iota, Currency::Btc) => CurrencyPair::IotaBtc,
            (Currency::Iota, Currency::Eth) => CurrencyPair::IotaEth,
            (Currency::Iota, Currency::Usdt) => CurrencyPair::IotaUsdt,
            (Currency::Iotx, Currency::Btc) => CurrencyPair::IotxBtc,
            (Currency::Iotx, Currency::Eth) => CurrencyPair::IotxEth,
            (Currency::Iotx, Currency::Usdt) => CurrencyPair::IotxUsdt,
            (Currency::Kava, Currency::Bnb) => CurrencyPair::KavaBnb,
            (Currency::Kava, Currency::Btc) => CurrencyPair::KavaBtc,
            (Currency::Kava, Currency::Usdt) => CurrencyPair::KavaUsdt,
            (Currency::Key, Currency::Btc) => CurrencyPair::KeyBtc,
            (Currency::Key, Currency::Eth) => CurrencyPair::KeyEth,
            (Currency::Key, Currency::Usdt) => CurrencyPair::KeyUsdt,
            (Currency::Kmd, Currency::Btc) => CurrencyPair::KmdBtc,
            (Currency::Kmd, Currency::Eth) => CurrencyPair::KmdEth,
            (Currency::Knc, Currency::Btc) => CurrencyPair::KncBtc,
            (Currency::Knc, Currency::Eth) => CurrencyPair::KncEth,
            (Currency::Lend, Currency::Btc) => CurrencyPair::LendBtc,
            (Currency::Lend, Currency::Eth) => CurrencyPair::LendEth,
            (Currency::Link, Currency::Btc) => CurrencyPair::LinkBtc,
            (Currency::Link, Currency::Busd) => CurrencyPair::LinkBusd,
            (Currency::Link, Currency::Eth) => CurrencyPair::LinkEth,
            (Currency::Link, Currency::Pax) => CurrencyPair::LinkPax,
            (Currency::Link, Currency::Tusd) => CurrencyPair::LinkTusd,
            (Currency::Link, Currency::Usdc) => CurrencyPair::LinkUsdc,
            (Currency::Link, Currency::Usdt) => CurrencyPair::LinkUsdt,
            (Currency::Loom, Currency::Bnb) => CurrencyPair::LoomBnb,
            (Currency::Loom, Currency::Btc) => CurrencyPair::LoomBtc,
            (Currency::Loom, Currency::Eth) => CurrencyPair::LoomEth,
            (Currency::Lrc, Currency::Btc) => CurrencyPair::LrcBtc,
            (Currency::Lrc, Currency::Eth) => CurrencyPair::LrcEth,
            (Currency::Lsk, Currency::Bnb) => CurrencyPair::LskBnb,
            (Currency::Lsk, Currency::Btc) => CurrencyPair::LskBtc,
            (Currency::Lsk, Currency::Eth) => CurrencyPair::LskEth,
            (Currency::Ltc, Currency::Bnb) => CurrencyPair::LtcBnb,
            (Currency::Ltc, Currency::Btc) => CurrencyPair::LtcBtc,
            (Currency::Ltc, Currency::Busd) => CurrencyPair::LtcBusd,
            (Currency::Ltc, Currency::Eth) => CurrencyPair::LtcEth,
            (Currency::Ltc, Currency::Pax) => CurrencyPair::LtcPax,
            (Currency::Ltc, Currency::Tusd) => CurrencyPair::LtcTusd,
            (Currency::Ltc, Currency::Usdc) => CurrencyPair::LtcUsdc,
            (Currency::Ltc, Currency::Usdt) => CurrencyPair::LtcUsdt,
            (Currency::Lun, Currency::Btc) => CurrencyPair::LunBtc,
            (Currency::Lun, Currency::Eth) => CurrencyPair::LunEth,
            (Currency::Mana, Currency::Btc) => CurrencyPair::ManaBtc,
            (Currency::Mana, Currency::Eth) => CurrencyPair::ManaEth,
            (Currency::Matic, Currency::Bnb) => CurrencyPair::MaticBnb,
            (Currency::Matic, Currency::Btc) => CurrencyPair::MaticBtc,
            (Currency::Matic, Currency::Usdt) => CurrencyPair::MaticUsdt,
            (Currency::Mco, Currency::Bnb) => CurrencyPair::McoBnb,
            (Currency::Mco, Currency::Btc) => CurrencyPair::McoBtc,
            (Currency::Mco, Currency::Eth) => CurrencyPair::McoEth,
            (Currency::Mco, Currency::Usdt) => CurrencyPair::McoUsdt,
            (Currency::Mda, Currency::Btc) => CurrencyPair::MdaBtc,
            (Currency::Mda, Currency::Eth) => CurrencyPair::MdaEth,
            (Currency::Mft, Currency::Bnb) => CurrencyPair::MftBnb,
            (Currency::Mft, Currency::Btc) => CurrencyPair::MftBtc,
            (Currency::Mft, Currency::Eth) => CurrencyPair::MftEth,
            (Currency::Mft, Currency::Usdt) => CurrencyPair::MftUsdt,
            (Currency::Mith, Currency::Bnb) => CurrencyPair::MithBnb,
            (Currency::Mith, Currency::Btc) => CurrencyPair::MithBtc,
            (Currency::Mith, Currency::Usdt) => CurrencyPair::MithUsdt,
            (Currency::Mod, Currency::Btc) => CurrencyPair::ModBtc,
            (Currency::Mod, Currency::Eth) => CurrencyPair::ModEth,
            (Currency::Mth, Currency::Btc) => CurrencyPair::MthBtc,
            (Currency::Mth, Currency::Eth) => CurrencyPair::MthEth,
            (Currency::Mtl, Currency::Btc) => CurrencyPair::MtlBtc,
            (Currency::Mtl, Currency::Eth) => CurrencyPair::MtlEth,
            (Currency::Mtl, Currency::Usdt) => CurrencyPair::MtlUsdt,
            (Currency::Nano, Currency::Bnb) => CurrencyPair::NanoBnb,
            (Currency::Nano, Currency::Btc) => CurrencyPair::NanoBtc,
            (Currency::Nano, Currency::Eth) => CurrencyPair::NanoEth,
            (Currency::Nano, Currency::Usdt) => CurrencyPair::NanoUsdt,
            (Currency::Nas, Currency::Bnb) => CurrencyPair::NasBnb,
            (Currency::Nas, Currency::Btc) => CurrencyPair::NasBtc,
            (Currency::Nas, Currency::Eth) => CurrencyPair::NasEth,
            (Currency::Nav, Currency::Bnb) => CurrencyPair::NavBnb,
            (Currency::Nav, Currency::Btc) => CurrencyPair::NavBtc,
            (Currency::Nav, Currency::Eth) => CurrencyPair::NavEth,
            (Currency::Ncash, Currency::Bnb) => CurrencyPair::NcashBnb,
            (Currency::Ncash, Currency::Btc) => CurrencyPair::NcashBtc,
            (Currency::Ncash, Currency::Eth) => CurrencyPair::NcashEth,
            (Currency::Nebl, Currency::Bnb) => CurrencyPair::NeblBnb,
            (Currency::Nebl, Currency::Btc) => CurrencyPair::NeblBtc,
            (Currency::Nebl, Currency::Eth) => CurrencyPair::NeblEth,
            (Currency::Neo, Currency::Bnb) => CurrencyPair::NeoBnb,
            (Currency::Neo, Currency::Btc) => CurrencyPair::NeoBtc,
            (Currency::Neo, Currency::Eth) => CurrencyPair::NeoEth,
            (Currency::Neo, Currency::Pax) => CurrencyPair::NeoPax,
            (Currency::Neo, Currency::Tusd) => CurrencyPair::NeoTusd,
            (Currency::Neo, Currency::Usdc) => CurrencyPair::NeoUsdc,
            (Currency::Neo, Currency::Usdt) => CurrencyPair::NeoUsdt,
            (Currency::Nkn, Currency::Bnb) => CurrencyPair::NknBnb,
            (Currency::Nkn, Currency::Btc) => CurrencyPair::NknBtc,
            (Currency::Nkn, Currency::Usdt) => CurrencyPair::NknUsdt,
            (Currency::Npxs, Currency::Btc) => CurrencyPair::NpxsBtc,
            (Currency::Npxs, Currency::Eth) => CurrencyPair::NpxsEth,
            (Currency::Npxs, Currency::Usdc) => CurrencyPair::NpxsUsdc,
            (Currency::Npxs, Currency::Usdt) => CurrencyPair::NpxsUsdt,
            (Currency::Nuls, Currency::Bnb) => CurrencyPair::NulsBnb,
            (Currency::Nuls, Currency::Btc) => CurrencyPair::NulsBtc,
            (Currency::Nuls, Currency::Eth) => CurrencyPair::NulsEth,
            (Currency::Nuls, Currency::Usdt) => CurrencyPair::NulsUsdt,
            (Currency::Nxs, Currency::Bnb) => CurrencyPair::NxsBnb,
            (Currency::Nxs, Currency::Btc) => CurrencyPair::NxsBtc,
            (Currency::Nxs, Currency::Eth) => CurrencyPair::NxsEth,
            (Currency::Oax, Currency::Btc) => CurrencyPair::OaxBtc,
            (Currency::Oax, Currency::Eth) => CurrencyPair::OaxEth,
            (Currency::Omg, Currency::Bnb) => CurrencyPair::OmgBnb,
            (Currency::Omg, Currency::Btc) => CurrencyPair::OmgBtc,
            (Currency::Omg, Currency::Eth) => CurrencyPair::OmgEth,
            (Currency::Omg, Currency::Usdt) => CurrencyPair::OmgUsdt,
            (Currency::One, Currency::Bnb) => CurrencyPair::OneBnb,
            (Currency::One, Currency::Btc) => CurrencyPair::OneBtc,
            (Currency::One, Currency::Pax) => CurrencyPair::OnePax,
            (Currency::One, Currency::Tusd) => CurrencyPair::OneTusd,
            (Currency::One, Currency::Usdc) => CurrencyPair::OneUsdc,
            (Currency::One, Currency::Usdt) => CurrencyPair::OneUsdt,
            (Currency::Ong, Currency::Bnb) => CurrencyPair::OngBnb,
            (Currency::Ong, Currency::Btc) => CurrencyPair::OngBtc,
            (Currency::Ong, Currency::Usdt) => CurrencyPair::OngUsdt,
            (Currency::Ont, Currency::Bnb) => CurrencyPair::OntBnb,
            (Currency::Ont, Currency::Btc) => CurrencyPair::OntBtc,
            (Currency::Ont, Currency::Eth) => CurrencyPair::OntEth,
            (Currency::Ont, Currency::Pax) => CurrencyPair::OntPax,
            (Currency::Ont, Currency::Usdc) => CurrencyPair::OntUsdc,
            (Currency::Ont, Currency::Usdt) => CurrencyPair::OntUsdt,
            (Currency::Ost, Currency::Bnb) => CurrencyPair::OstBnb,
            (Currency::Ost, Currency::Btc) => CurrencyPair::OstBtc,
            (Currency::Ost, Currency::Eth) => CurrencyPair::OstEth,
            (Currency::Pax, Currency::Bnb) => CurrencyPair::PaxBnb,
            (Currency::Pax, Currency::Btc) => CurrencyPair::PaxBtc,
            (Currency::Pax, Currency::Eth) => CurrencyPair::PaxEth,
            (Currency::Pax, Currency::Tusd) => CurrencyPair::PaxTusd,
            (Currency::Pax, Currency::Usdt) => CurrencyPair::PaxUsdt,
            (Currency::Perl, Currency::Bnb) => CurrencyPair::PerlBnb,
            (Currency::Perl, Currency::Btc) => CurrencyPair::PerlBtc,
            (Currency::Perl, Currency::Usdc) => CurrencyPair::PerlUsdc,
            (Currency::Perl, Currency::Usdt) => CurrencyPair::PerlUsdt,
            (Currency::Phb, Currency::Bnb) => CurrencyPair::PhbBnb,
            (Currency::Phb, Currency::Btc) => CurrencyPair::PhbBtc,
            (Currency::Phb, Currency::Pax) => CurrencyPair::PhbPax,
            (Currency::Phb, Currency::Tusd) => CurrencyPair::PhbTusd,
            (Currency::Phb, Currency::Usdc) => CurrencyPair::PhbUsdc,
            (Currency::Phx, Currency::Bnb) => CurrencyPair::PhxBnb,
            (Currency::Phx, Currency::Btc) => CurrencyPair::PhxBtc,
            (Currency::Phx, Currency::Eth) => CurrencyPair::PhxEth,
            (Currency::Pivx, Currency::Bnb) => CurrencyPair::PivxBnb,
            (Currency::Pivx, Currency::Btc) => CurrencyPair::PivxBtc,
            (Currency::Pivx, Currency::Eth) => CurrencyPair::PivxEth,
            (Currency::Poa, Currency::Bnb) => CurrencyPair::PoaBnb,
            (Currency::Poa, Currency::Btc) => CurrencyPair::PoaBtc,
            (Currency::Poa, Currency::Eth) => CurrencyPair::PoaEth,
            (Currency::Poe, Currency::Btc) => CurrencyPair::PoeBtc,
            (Currency::Poe, Currency::Eth) => CurrencyPair::PoeEth,
            (Currency::Poly, Currency::Bnb) => CurrencyPair::PolyBnb,
            (Currency::Poly, Currency::Btc) => CurrencyPair::PolyBtc,
            (Currency::Powr, Currency::Bnb) => CurrencyPair::PowrBnb,
            (Currency::Powr, Currency::Btc) => CurrencyPair::PowrBtc,
            (Currency::Powr, Currency::Eth) => CurrencyPair::PowrEth,
            (Currency::Ppt, Currency::Btc) => CurrencyPair::PptBtc,
            (Currency::Ppt, Currency::Eth) => CurrencyPair::PptEth,
            (Currency::Qkc, Currency::Btc) => CurrencyPair::QkcBtc,
            (Currency::Qkc, Currency::Eth) => CurrencyPair::QkcEth,
            (Currency::Qlc, Currency::Bnb) => CurrencyPair::QlcBnb,
            (Currency::Qlc, Currency::Btc) => CurrencyPair::QlcBtc,
            (Currency::Qlc, Currency::Eth) => CurrencyPair::QlcEth,
            (Currency::Qsp, Currency::Bnb) => CurrencyPair::QspBnb,
            (Currency::Qsp, Currency::Btc) => CurrencyPair::QspBtc,
            (Currency::Qsp, Currency::Eth) => CurrencyPair::QspEth,
            (Currency::Qtum, Currency::Bnb) => CurrencyPair::QtumBnb,
            (Currency::Qtum, Currency::Btc) => CurrencyPair::QtumBtc,
            (Currency::Qtum, Currency::Busd) => CurrencyPair::QtumBusd,
            (Currency::Qtum, Currency::Eth) => CurrencyPair::QtumEth,
            (Currency::Qtum, Currency::Usdt) => CurrencyPair::QtumUsdt,
            (Currency::Rcn, Currency::Bnb) => CurrencyPair::RcnBnb,
            (Currency::Rcn, Currency::Btc) => CurrencyPair::RcnBtc,
            (Currency::Rcn, Currency::Eth) => CurrencyPair::RcnEth,
            (Currency::Rdn, Currency::Bnb) => CurrencyPair::RdnBnb,
            (Currency::Rdn, Currency::Btc) => CurrencyPair::RdnBtc,
            (Currency::Rdn, Currency::Eth) => CurrencyPair::RdnEth,
            (Currency::Ren, Currency::Bnb) => CurrencyPair::RenBnb,
            (Currency::Ren, Currency::Btc) => CurrencyPair::RenBtc,
            (Currency::Ren, Currency::Usdt) => CurrencyPair::RenUsdt,
            (Currency::Rep, Currency::Bnb) => CurrencyPair::RepBnb,
            (Currency::Rep, Currency::Btc) => CurrencyPair::RepBtc,
            (Currency::Rep, Currency::Eth) => CurrencyPair::RepEth,
            (Currency::Req, Currency::Btc) => CurrencyPair::ReqBtc,
            (Currency::Req, Currency::Eth) => CurrencyPair::ReqEth,
            (Currency::Rlc, Currency::Bnb) => CurrencyPair::RlcBnb,
            (Currency::Rlc, Currency::Btc) => CurrencyPair::RlcBtc,
            (Currency::Rlc, Currency::Eth) => CurrencyPair::RlcEth,
            (Currency::Rlc, Currency::Usdt) => CurrencyPair::RlcUsdt,
            (Currency::Rpx, Currency::Bnb) => CurrencyPair::RpxBnb,
            (Currency::Rpx, Currency::Btc) => CurrencyPair::RpxBtc,
            (Currency::Rpx, Currency::Eth) => CurrencyPair::RpxEth,
            (Currency::Rvn, Currency::Bnb) => CurrencyPair::RvnBnb,
            (Currency::Rvn, Currency::Btc) => CurrencyPair::RvnBtc,
            (Currency::Rvn, Currency::Usdt) => CurrencyPair::RvnUsdt,
            (Currency::Salt, Currency::Btc) => CurrencyPair::SaltBtc,
            (Currency::Salt, Currency::Eth) => CurrencyPair::SaltEth,
            (Currency::Sc, Currency::Bnb) => CurrencyPair::ScBnb,
            (Currency::Sc, Currency::Btc) => CurrencyPair::ScBtc,
            (Currency::Sc, Currency::Eth) => CurrencyPair::ScEth,
            (Currency::Sky, Currency::Bnb) => CurrencyPair::SkyBnb,
            (Currency::Sky, Currency::Btc) => CurrencyPair::SkyBtc,
            (Currency::Sky, Currency::Eth) => CurrencyPair::SkyEth,
            (Currency::Sngls, Currency::Btc) => CurrencyPair::SnglsBtc,
            (Currency::Sngls, Currency::Eth) => CurrencyPair::SnglsEth,
            (Currency::Snm, Currency::Btc) => CurrencyPair::SnmBtc,
            (Currency::Snm, Currency::Eth) => CurrencyPair::SnmEth,
            (Currency::Snt, Currency::Btc) => CurrencyPair::SntBtc,
            (Currency::Snt, Currency::Eth) => CurrencyPair::SntEth,
            (Currency::Steem, Currency::Bnb) => CurrencyPair::SteemBnb,
            (Currency::Steem, Currency::Btc) => CurrencyPair::SteemBtc,
            (Currency::Steem, Currency::Eth) => CurrencyPair::SteemEth,
            (Currency::Storj, Currency::Btc) => CurrencyPair::StorjBtc,
            (Currency::Storj, Currency::Eth) => CurrencyPair::StorjEth,
            (Currency::Storm, Currency::Bnb) => CurrencyPair::StormBnb,
            (Currency::Storm, Currency::Btc) => CurrencyPair::StormBtc,
            (Currency::Storm, Currency::Eth) => CurrencyPair::StormEth,
            (Currency::Storm, Currency::Usdt) => CurrencyPair::StormUsdt,
            (Currency::Strat, Currency::Btc) => CurrencyPair::StratBtc,
            (Currency::Strat, Currency::Eth) => CurrencyPair::StratEth,
            (Currency::Stx, Currency::Bnb) => CurrencyPair::StxBnb,
            (Currency::Stx, Currency::Btc) => CurrencyPair::StxBtc,
            (Currency::Stx, Currency::Usdt) => CurrencyPair::StxUsdt,
            (Currency::Sub, Currency::Btc) => CurrencyPair::SubBtc,
            (Currency::Sub, Currency::Eth) => CurrencyPair::SubEth,
            (Currency::Sys, Currency::Bnb) => CurrencyPair::SysBnb,
            (Currency::Sys, Currency::Btc) => CurrencyPair::SysBtc,
            (Currency::Sys, Currency::Eth) => CurrencyPair::SysEth,
            (Currency::Tfuel, Currency::Bnb) => CurrencyPair::TfuelBnb,
            (Currency::Tfuel, Currency::Btc) => CurrencyPair::TfuelBtc,
            (Currency::Tfuel, Currency::Pax) => CurrencyPair::TfuelPax,
            (Currency::Tfuel, Currency::Tusd) => CurrencyPair::TfuelTusd,
            (Currency::Tfuel, Currency::Usdc) => CurrencyPair::TfuelUsdc,
            (Currency::Tfuel, Currency::Usdt) => CurrencyPair::TfuelUsdt,
            (Currency::Theta, Currency::Bnb) => CurrencyPair::ThetaBnb,
            (Currency::Theta, Currency::Btc) => CurrencyPair::ThetaBtc,
            (Currency::Theta, Currency::Eth) => CurrencyPair::ThetaEth,
            (Currency::Theta, Currency::Usdt) => CurrencyPair::ThetaUsdt,
            (Currency::Tnb, Currency::Btc) => CurrencyPair::TnbBtc,
            (Currency::Tnb, Currency::Eth) => CurrencyPair::TnbEth,
            (Currency::Tnt, Currency::Btc) => CurrencyPair::TntBtc,
            (Currency::Tnt, Currency::Eth) => CurrencyPair::TntEth,
            (Currency::Tomo, Currency::Bnb) => CurrencyPair::TomoBnb,
            (Currency::Tomo, Currency::Btc) => CurrencyPair::TomoBtc,
            (Currency::Tomo, Currency::Usdc) => CurrencyPair::TomoUsdc,
            (Currency::Tomo, Currency::Usdt) => CurrencyPair::TomoUsdt,
            (Currency::Trig, Currency::Bnb) => CurrencyPair::TrigBnb,
            (Currency::Trig, Currency::Btc) => CurrencyPair::TrigBtc,
            (Currency::Trig, Currency::Eth) => CurrencyPair::TrigEth,
            (Currency::Troy, Currency::Bnb) => CurrencyPair::TroyBnb,
            (Currency::Troy, Currency::Btc) => CurrencyPair::TroyBtc,
            (Currency::Troy, Currency::Usdt) => CurrencyPair::TroyUsdt,
            (Currency::Trx, Currency::Bnb) => CurrencyPair::TrxBnb,
            (Currency::Trx, Currency::Btc) => CurrencyPair::TrxBtc,
            (Currency::Trx, Currency::Busd) => CurrencyPair::TrxBusd,
            (Currency::Trx, Currency::Eth) => CurrencyPair::TrxEth,
            (Currency::Trx, Currency::Pax) => CurrencyPair::TrxPax,
            (Currency::Trx, Currency::Tusd) => CurrencyPair::TrxTusd,
            (Currency::Trx, Currency::Usdc) => CurrencyPair::TrxUsdc,
            (Currency::Trx, Currency::Usdt) => CurrencyPair::TrxUsdt,
            (Currency::Trx, Currency::Xrp) => CurrencyPair::TrxXrp,
            (Currency::Tusdb, Currency::Tusd) => CurrencyPair::TusdbTusd,
            (Currency::Tusd, Currency::Bnb) => CurrencyPair::TusdBnb,
            (Currency::Tusd, Currency::Btc) => CurrencyPair::TusdBtc,
            (Currency::Tusd, Currency::Eth) => CurrencyPair::TusdEth,
            (Currency::Tusd, Currency::Usdt) => CurrencyPair::TusdUsdt,
            (Currency::Usdc, Currency::Bnb) => CurrencyPair::UsdcBnb,
            (Currency::Usdc, Currency::Dash) => CurrencyPair::UsdcDash,
            (Currency::Usdc, Currency::Grin) => CurrencyPair::UsdcGrin,
            (Currency::Usdc, Currency::Pax) => CurrencyPair::UsdcPax,
            (Currency::Usdc, Currency::Str) => CurrencyPair::UsdcStr,
            (Currency::Usdc, Currency::Tusd) => CurrencyPair::UsdcTusd,
            (Currency::Usdc, Currency::Usdt) => CurrencyPair::UsdcUsdt,
            (Currency::Usdc, Currency::Xmr) => CurrencyPair::UsdcXmr,
            (Currency::Usdsb, Currency::Usds) => CurrencyPair::UsdsbUsds,
            (Currency::Usdsb, Currency::Usdt) => CurrencyPair::UsdsbUsdt,
            (Currency::Usds, Currency::Pax) => CurrencyPair::UsdsPax,
            (Currency::Usds, Currency::Tusd) => CurrencyPair::UsdsTusd,
            (Currency::Usds, Currency::Usdc) => CurrencyPair::UsdsUsdc,
            (Currency::Usds, Currency::Usdt) => CurrencyPair::UsdsUsdt,
            (Currency::Usdt, Currency::Dgb) => CurrencyPair::UsdtDgb,
            (Currency::Usdt, Currency::Gnt) => CurrencyPair::UsdtGnt,
            (Currency::Usdt, Currency::Grin) => CurrencyPair::UsdtGrin,
            (Currency::Usdt, Currency::Lsk) => CurrencyPair::UsdtLsk,
            (Currency::Usdt, Currency::Mana) => CurrencyPair::UsdtMana,
            (Currency::Usdt, Currency::Nxt) => CurrencyPair::UsdtNxt,
            (Currency::Usdt, Currency::Rep) => CurrencyPair::UsdtRep,
            (Currency::Usdt, Currency::Rub) => CurrencyPair::UsdtRub,
            (Currency::Usdt, Currency::Sc) => CurrencyPair::UsdtSc,
            (Currency::Usdt, Currency::Str) => CurrencyPair::UsdtStr,
            (Currency::Usdt, Currency::Try) => CurrencyPair::UsdtTry,
            (Currency::Ven, Currency::Bnb) => CurrencyPair::VenBnb,
            (Currency::Ven, Currency::Btc) => CurrencyPair::VenBtc,
            (Currency::Ven, Currency::Eth) => CurrencyPair::VenEth,
            (Currency::Ven, Currency::Usdt) => CurrencyPair::VenUsdt,
            (Currency::Vet, Currency::Bnb) => CurrencyPair::VetBnb,
            (Currency::Vet, Currency::Btc) => CurrencyPair::VetBtc,
            (Currency::Vet, Currency::Busd) => CurrencyPair::VetBusd,
            (Currency::Vet, Currency::Eth) => CurrencyPair::VetEth,
            (Currency::Vet, Currency::Usdt) => CurrencyPair::VetUsdt,
            (Currency::Via, Currency::Bnb) => CurrencyPair::ViaBnb,
            (Currency::Via, Currency::Btc) => CurrencyPair::ViaBtc,
            (Currency::Via, Currency::Eth) => CurrencyPair::ViaEth,
            (Currency::Vibe, Currency::Btc) => CurrencyPair::VibeBtc,
            (Currency::Vibe, Currency::Eth) => CurrencyPair::VibeEth,
            (Currency::Vib, Currency::Btc) => CurrencyPair::VibBtc,
            (Currency::Vib, Currency::Eth) => CurrencyPair::VibEth,
            (Currency::Vite, Currency::Bnb) => CurrencyPair::ViteBnb,
            (Currency::Vite, Currency::Btc) => CurrencyPair::ViteBtc,
            (Currency::Vite, Currency::Usdt) => CurrencyPair::ViteUsdt,
            (Currency::Wabi, Currency::Bnb) => CurrencyPair::WabiBnb,
            (Currency::Wabi, Currency::Btc) => CurrencyPair::WabiBtc,
            (Currency::Wabi, Currency::Eth) => CurrencyPair::WabiEth,
            (Currency::Wan, Currency::Bnb) => CurrencyPair::WanBnb,
            (Currency::Wan, Currency::Btc) => CurrencyPair::WanBtc,
            (Currency::Wan, Currency::Eth) => CurrencyPair::WanEth,
            (Currency::Wan, Currency::Usdt) => CurrencyPair::WanUsdt,
            (Currency::Waves, Currency::Bnb) => CurrencyPair::WavesBnb,
            (Currency::Waves, Currency::Btc) => CurrencyPair::WavesBtc,
            (Currency::Waves, Currency::Eth) => CurrencyPair::WavesEth,
            (Currency::Waves, Currency::Pax) => CurrencyPair::WavesPax,
            (Currency::Waves, Currency::Tusd) => CurrencyPair::WavesTusd,
            (Currency::Waves, Currency::Usdc) => CurrencyPair::WavesUsdc,
            (Currency::Waves, Currency::Usdt) => CurrencyPair::WavesUsdt,
            (Currency::Wings, Currency::Btc) => CurrencyPair::WingsBtc,
            (Currency::Wings, Currency::Eth) => CurrencyPair::WingsEth,
            (Currency::Win, Currency::Bnb) => CurrencyPair::WinBnb,
            (Currency::Win, Currency::Btc) => CurrencyPair::WinBtc,
            (Currency::Win, Currency::Trx) => CurrencyPair::WinTrx,
            (Currency::Win, Currency::Usdc) => CurrencyPair::WinUsdc,
            (Currency::Win, Currency::Usdt) => CurrencyPair::WinUsdt,
            (Currency::Wpr, Currency::Btc) => CurrencyPair::WprBtc,
            (Currency::Wpr, Currency::Eth) => CurrencyPair::WprEth,
            (Currency::Wtc, Currency::Bnb) => CurrencyPair::WtcBnb,
            (Currency::Wtc, Currency::Btc) => CurrencyPair::WtcBtc,
            (Currency::Wtc, Currency::Eth) => CurrencyPair::WtcEth,
            (Currency::Xem, Currency::Bnb) => CurrencyPair::XemBnb,
            (Currency::Xem, Currency::Btc) => CurrencyPair::XemBtc,
            (Currency::Xem, Currency::Eth) => CurrencyPair::XemEth,
            (Currency::Xlm, Currency::Bnb) => CurrencyPair::XlmBnb,
            (Currency::Xlm, Currency::Btc) => CurrencyPair::XlmBtc,
            (Currency::Xlm, Currency::Busd) => CurrencyPair::XlmBusd,
            (Currency::Xlm, Currency::Eth) => CurrencyPair::XlmEth,
            (Currency::Xlm, Currency::Pax) => CurrencyPair::XlmPax,
            (Currency::Xlm, Currency::Tusd) => CurrencyPair::XlmTusd,
            (Currency::Xlm, Currency::Usdc) => CurrencyPair::XlmUsdc,
            (Currency::Xlm, Currency::Usdt) => CurrencyPair::XlmUsdt,
            (Currency::Xmr, Currency::Bnb) => CurrencyPair::XmrBnb,
            (Currency::Xmr, Currency::Btc) => CurrencyPair::XmrBtc,
            (Currency::Xmr, Currency::Eth) => CurrencyPair::XmrEth,
            (Currency::Xmr, Currency::Usdt) => CurrencyPair::XmrUsdt,
            (Currency::Xrp, Currency::Bnb) => CurrencyPair::XrpBnb,
            (Currency::Xrp, Currency::Btc) => CurrencyPair::XrpBtc,
            (Currency::Xrp, Currency::Busd) => CurrencyPair::XrpBusd,
            (Currency::Xrp, Currency::Eth) => CurrencyPair::XrpEth,
            (Currency::Xrp, Currency::Pax) => CurrencyPair::XrpPax,
            (Currency::Xrp, Currency::Rub) => CurrencyPair::XrpRub,
            (Currency::Xrp, Currency::Try) => CurrencyPair::XrpTry,
            (Currency::Xrp, Currency::Tusd) => CurrencyPair::XrpTusd,
            (Currency::Xrp, Currency::Usdc) => CurrencyPair::XrpUsdc,
            (Currency::Xrp, Currency::Usdt) => CurrencyPair::XrpUsdt,
            (Currency::Xtz, Currency::Bnb) => CurrencyPair::XtzBnb,
            (Currency::Xtz, Currency::Btc) => CurrencyPair::XtzBtc,
            (Currency::Xtz, Currency::Usdt) => CurrencyPair::XtzUsdt,
            (Currency::Xvg, Currency::Btc) => CurrencyPair::XvgBtc,
            (Currency::Xvg, Currency::Eth) => CurrencyPair::XvgEth,
            (Currency::Xzc, Currency::Bnb) => CurrencyPair::XzcBnb,
            (Currency::Xzc, Currency::Btc) => CurrencyPair::XzcBtc,
            (Currency::Xzc, Currency::Eth) => CurrencyPair::XzcEth,
            (Currency::Xzc, Currency::Xrp) => CurrencyPair::XzcXrp,
            (Currency::Yoyo, Currency::Bnb) => CurrencyPair::YoyoBnb,
            (Currency::Yoyo, Currency::Btc) => CurrencyPair::YoyoBtc,
            (Currency::Yoyo, Currency::Eth) => CurrencyPair::YoyoEth,
            (Currency::Zec, Currency::Bnb) => CurrencyPair::ZecBnb,
            (Currency::Zec, Currency::Btc) => CurrencyPair::ZecBtc,
            (Currency::Zec, Currency::Eth) => CurrencyPair::ZecEth,
            (Currency::Zec, Currency::Pax) => CurrencyPair::ZecPax,
            (Currency::Zec, Currency::Tusd) => CurrencyPair::ZecTusd,
            (Currency::Zec, Currency::Usdc) => CurrencyPair::ZecUsdc,
            (Currency::Zec, Currency::Usdt) => CurrencyPair::ZecUsdt,
            (Currency::Zen, Currency::Bnb) => CurrencyPair::ZenBnb,
            (Currency::Zen, Currency::Btc) => CurrencyPair::ZenBtc,
            (Currency::Zen, Currency::Eth) => CurrencyPair::ZenEth,
            (Currency::Zil, Currency::Bnb) => CurrencyPair::ZilBnb,
            (Currency::Zil, Currency::Btc) => CurrencyPair::ZilBtc,
            (Currency::Zil, Currency::Eth) => CurrencyPair::ZilEth,
            (Currency::Zil, Currency::Usdt) => CurrencyPair::ZilUsdt,
            (Currency::Zrx, Currency::Bnb) => CurrencyPair::ZrxBnb,
            (Currency::Zrx, Currency::Btc) => CurrencyPair::ZrxBtc,
            (Currency::Zrx, Currency::Eth) => CurrencyPair::ZrxEth,
            (Currency::Zrx, Currency::Usdt) => CurrencyPair::ZrxUsdt,
            (quote, base) => CurrencyPair::Custom(format!("{}_{}", quote, base), quote, base),
        }
    }

    pub fn split_reversed(pair: &str) -> Result<CurrencyPair, Error> {
        match pair {
            "BNB_ADA" => Ok(CurrencyPair::AdaBnb),
            "BTC_ADA" => Ok(CurrencyPair::AdaBtc),
            "BUSD_ADA" => Ok(CurrencyPair::AdaBusd),
            "ETH_ADA" => Ok(CurrencyPair::AdaEth),
            "PAX_ADA" => Ok(CurrencyPair::AdaPax),
            "TUSD_ADA" => Ok(CurrencyPair::AdaTusd),
            "USDC_ADA" => Ok(CurrencyPair::AdaUsdc),
            "USDT_ADA" => Ok(CurrencyPair::AdaUsdt),
            "BNB_ADX" => Ok(CurrencyPair::AdxBnb),
            "BTC_ADX" => Ok(CurrencyPair::AdxBtc),
            "ETH_ADX" => Ok(CurrencyPair::AdxEth),
            "BNB_AE" => Ok(CurrencyPair::AeBnb),
            "BTC_AE" => Ok(CurrencyPair::AeBtc),
            "ETH_AE" => Ok(CurrencyPair::AeEth),
            "BNB_AGI" => Ok(CurrencyPair::AgiBnb),
            "BTC_AGI" => Ok(CurrencyPair::AgiBtc),
            "ETH_AGI" => Ok(CurrencyPair::AgiEth),
            "BNB_AION" => Ok(CurrencyPair::AionBnb),
            "BTC_AION" => Ok(CurrencyPair::AionBtc),
            "ETH_AION" => Ok(CurrencyPair::AionEth),
            "BNB_ALGO" => Ok(CurrencyPair::AlgoBnb),
            "BTC_ALGO" => Ok(CurrencyPair::AlgoBtc),
            "PAX_ALGO" => Ok(CurrencyPair::AlgoPax),
            "TUSD_ALGO" => Ok(CurrencyPair::AlgoTusd),
            "USDC_ALGO" => Ok(CurrencyPair::AlgoUsdc),
            "USDT_ALGO" => Ok(CurrencyPair::AlgoUsdt),
            "BNB_AMB" => Ok(CurrencyPair::AmbBnb),
            "BTC_AMB" => Ok(CurrencyPair::AmbBtc),
            "ETH_AMB" => Ok(CurrencyPair::AmbEth),
            "BNB_ANKR" => Ok(CurrencyPair::AnkrBnb),
            "BTC_ANKR" => Ok(CurrencyPair::AnkrBtc),
            "PAX_ANKR" => Ok(CurrencyPair::AnkrPax),
            "TUSD_ANKR" => Ok(CurrencyPair::AnkrTusd),
            "USDC_ANKR" => Ok(CurrencyPair::AnkrUsdc),
            "USDT_ANKR" => Ok(CurrencyPair::AnkrUsdt),
            "BNB_APPC" => Ok(CurrencyPair::AppcBnb),
            "BTC_APPC" => Ok(CurrencyPair::AppcBtc),
            "ETH_APPC" => Ok(CurrencyPair::AppcEth),
            "BNB_ARDR" => Ok(CurrencyPair::ArdrBnb),
            "BTC_ARDR" => Ok(CurrencyPair::ArdrBtc),
            "ETH_ARDR" => Ok(CurrencyPair::ArdrEth),
            "BTC_ARK" => Ok(CurrencyPair::ArkBtc),
            "ETH_ARK" => Ok(CurrencyPair::ArkEth),
            "BTC_ARN" => Ok(CurrencyPair::ArnBtc),
            "ETH_ARN" => Ok(CurrencyPair::ArnEth),
            "BNB_ARPA" => Ok(CurrencyPair::ArpaBnb),
            "BTC_ARPA" => Ok(CurrencyPair::ArpaBtc),
            "USDT_ARPA" => Ok(CurrencyPair::ArpaUsdt),
            "BTC_AST" => Ok(CurrencyPair::AstBtc),
            "ETH_AST" => Ok(CurrencyPair::AstEth),
            "BNB_ATOM" => Ok(CurrencyPair::AtomBnb),
            "BTC_ATOM" => Ok(CurrencyPair::AtomBtc),
            "PAX_ATOM" => Ok(CurrencyPair::AtomPax),
            "TUSD_ATOM" => Ok(CurrencyPair::AtomTusd),
            "USDC_ATOM" => Ok(CurrencyPair::AtomUsdc),
            "USDT_ATOM" => Ok(CurrencyPair::AtomUsdt),
            "BNB_BAND" => Ok(CurrencyPair::BandBnb),
            "BTC_BAND" => Ok(CurrencyPair::BandBtc),
            "USDT_BAND" => Ok(CurrencyPair::BandUsdt),
            "BNB_BAT" => Ok(CurrencyPair::BatBnb),
            "BTC_BAT" => Ok(CurrencyPair::BatBtc),
            "ETH_BAT" => Ok(CurrencyPair::BatEth),
            "PAX_BAT" => Ok(CurrencyPair::BatPax),
            "TUSD_BAT" => Ok(CurrencyPair::BatTusd),
            "USDC_BAT" => Ok(CurrencyPair::BatUsdc),
            "USDT_BAT" => Ok(CurrencyPair::BatUsdt),
            "BNB_BCC" => Ok(CurrencyPair::BccBnb),
            "BTC_BCC" => Ok(CurrencyPair::BccBtc),
            "ETH_BCC" => Ok(CurrencyPair::BccEth),
            "USDT_BCC" => Ok(CurrencyPair::BccUsdt),
            "BTC_BCD" => Ok(CurrencyPair::BcdBtc),
            "ETH_BCD" => Ok(CurrencyPair::BcdEth),
            "BTC_BCHABC" => Ok(CurrencyPair::BchabcBtc),
            "BUSD_BCHABC" => Ok(CurrencyPair::BchabcBusd),
            "PAX_BCHABC" => Ok(CurrencyPair::BchabcPax),
            "TUSD_BCHABC" => Ok(CurrencyPair::BchabcTusd),
            "USDC_BCHABC" => Ok(CurrencyPair::BchabcUsdc),
            "USDT_BCHABC" => Ok(CurrencyPair::BchabcUsdt),
            "BTC_BCHSV" => Ok(CurrencyPair::BchsvBtc),
            "PAX_BCHSV" => Ok(CurrencyPair::BchsvPax),
            "TUSD_BCHSV" => Ok(CurrencyPair::BchsvTusd),
            "USDC_BCHSV" => Ok(CurrencyPair::BchsvUsdc),
            "USDT_BCHSV" => Ok(CurrencyPair::BchsvUsdt),
            "BNB_BCH" => Ok(CurrencyPair::BchBnb),
            "BTC_BCH" => Ok(CurrencyPair::BchBtc),
            "BUSD_BCH" => Ok(CurrencyPair::BchBusd),
            "PAX_BCH" => Ok(CurrencyPair::BchPax),
            "TUSD_BCH" => Ok(CurrencyPair::BchTusd),
            "USDC_BCH" => Ok(CurrencyPair::BchUsdc),
            "USDT_BCH" => Ok(CurrencyPair::BchUsdt),
            "BNB_BCN" => Ok(CurrencyPair::BcnBnb),
            "BTC_BCN" => Ok(CurrencyPair::BcnBtc),
            "ETH_BCN" => Ok(CurrencyPair::BcnEth),
            "BNB_BCPT" => Ok(CurrencyPair::BcptBnb),
            "BTC_BCPT" => Ok(CurrencyPair::BcptBtc),
            "ETH_BCPT" => Ok(CurrencyPair::BcptEth),
            "PAX_BCPT" => Ok(CurrencyPair::BcptPax),
            "TUSD_BCPT" => Ok(CurrencyPair::BcptTusd),
            "USDC_BCPT" => Ok(CurrencyPair::BcptUsdc),
            "BNB_BEAM" => Ok(CurrencyPair::BeamBnb),
            "BTC_BEAM" => Ok(CurrencyPair::BeamBtc),
            "USDT_BEAM" => Ok(CurrencyPair::BeamUsdt),
            "USDC_BGBP" => Ok(CurrencyPair::BgbpUsdc),
            "BNB_BLZ" => Ok(CurrencyPair::BlzBnb),
            "BTC_BLZ" => Ok(CurrencyPair::BlzBtc),
            "ETH_BLZ" => Ok(CurrencyPair::BlzEth),
            "BTC_BNB" => Ok(CurrencyPair::BnbBtc),
            "BUSD_BNB" => Ok(CurrencyPair::BnbBusd),
            "ETH_BNB" => Ok(CurrencyPair::BnbEth),
            "NGN_BNB" => Ok(CurrencyPair::BnbNgn),
            "PAX_BNB" => Ok(CurrencyPair::BnbPax),
            "RUB_BNB" => Ok(CurrencyPair::BnbRub),
            "TRY_BNB" => Ok(CurrencyPair::BnbTry),
            "TUSD_BNB" => Ok(CurrencyPair::BnbTusd),
            "USDC_BNB" => Ok(CurrencyPair::BnbUsdc),
            "USDS_BNB" => Ok(CurrencyPair::BnbUsds),
            "USDT_BNB" => Ok(CurrencyPair::BnbUsdt),
            "BTC_BNT" => Ok(CurrencyPair::BntBtc),
            "ETH_BNT" => Ok(CurrencyPair::BntEth),
            "BTC_BQX" => Ok(CurrencyPair::BqxBtc),
            "ETH_BQX" => Ok(CurrencyPair::BqxEth),
            "BNB_BRD" => Ok(CurrencyPair::BrdBnb),
            "BTC_BRD" => Ok(CurrencyPair::BrdBtc),
            "ETH_BRD" => Ok(CurrencyPair::BrdEth),
            "BTC_BTCB" => Ok(CurrencyPair::BtcbBtc),
            "BUSD_BTC" => Ok(CurrencyPair::BtcBusd),
            "DGB_BTC" => Ok(CurrencyPair::BtcDgb),
            "FCT_BTC" => Ok(CurrencyPair::BtcFct),
            "FOAM_BTC" => Ok(CurrencyPair::BtcFoam),
            "GRIN_BTC" => Ok(CurrencyPair::BtcGrin),
            "LPT_BTC" => Ok(CurrencyPair::BtcLpt),
            "MAID_BTC" => Ok(CurrencyPair::BtcMaid),
            "NGN_BTC" => Ok(CurrencyPair::BtcNgn),
            "NMR_BTC" => Ok(CurrencyPair::BtcNmr),
            "NXT_BTC" => Ok(CurrencyPair::BtcNxt),
            "OMNI_BTC" => Ok(CurrencyPair::BtcOmni),
            "PAX_BTC" => Ok(CurrencyPair::BtcPax),
            "RUB_BTC" => Ok(CurrencyPair::BtcRub),
            "STR_BTC" => Ok(CurrencyPair::BtcStr),
            "TRY_BTC" => Ok(CurrencyPair::BtcTry),
            "TUSD_BTC" => Ok(CurrencyPair::BtcTusd),
            "USDC_BTC" => Ok(CurrencyPair::BtcUsdc),
            "USDS_BTC" => Ok(CurrencyPair::BtcUsds),
            "USDT_BTC" => Ok(CurrencyPair::BtcUsdt),
            "VTC_BTC" => Ok(CurrencyPair::BtcVtc),
            "XPM_BTC" => Ok(CurrencyPair::BtcXpm),
            "BTC_BTG" => Ok(CurrencyPair::BtgBtc),
            "ETH_BTG" => Ok(CurrencyPair::BtgEth),
            "BNB_BTS" => Ok(CurrencyPair::BtsBnb),
            "BTC_BTS" => Ok(CurrencyPair::BtsBtc),
            "ETH_BTS" => Ok(CurrencyPair::BtsEth),
            "BNB_BTT" => Ok(CurrencyPair::BttBnb),
            "BTC_BTT" => Ok(CurrencyPair::BttBtc),
            "PAX_BTT" => Ok(CurrencyPair::BttPax),
            "TRX_BTT" => Ok(CurrencyPair::BttTrx),
            "TUSD_BTT" => Ok(CurrencyPair::BttTusd),
            "USDC_BTT" => Ok(CurrencyPair::BttUsdc),
            "USDT_BTT" => Ok(CurrencyPair::BttUsdt),
            "NGN_BUSD" => Ok(CurrencyPair::BusdNgn),
            "RUB_BUSD" => Ok(CurrencyPair::BusdRub),
            "TRY_BUSD" => Ok(CurrencyPair::BusdTry),
            "USDT_BUSD" => Ok(CurrencyPair::BusdUsdt),
            "BTC_CDT" => Ok(CurrencyPair::CdtBtc),
            "ETH_CDT" => Ok(CurrencyPair::CdtEth),
            "BNB_CELR" => Ok(CurrencyPair::CelrBnb),
            "BTC_CELR" => Ok(CurrencyPair::CelrBtc),
            "USDT_CELR" => Ok(CurrencyPair::CelrUsdt),
            "BTC_CHAT" => Ok(CurrencyPair::ChatBtc),
            "ETH_CHAT" => Ok(CurrencyPair::ChatEth),
            "BNB_CHZ" => Ok(CurrencyPair::ChzBnb),
            "BTC_CHZ" => Ok(CurrencyPair::ChzBtc),
            "USDT_CHZ" => Ok(CurrencyPair::ChzUsdt),
            "BTC_CLOAK" => Ok(CurrencyPair::CloakBtc),
            "ETH_CLOAK" => Ok(CurrencyPair::CloakEth),
            "BNB_CMT" => Ok(CurrencyPair::CmtBnb),
            "BTC_CMT" => Ok(CurrencyPair::CmtBtc),
            "ETH_CMT" => Ok(CurrencyPair::CmtEth),
            "BNB_CND" => Ok(CurrencyPair::CndBnb),
            "BTC_CND" => Ok(CurrencyPair::CndBtc),
            "ETH_CND" => Ok(CurrencyPair::CndEth),
            "BNB_COCOS" => Ok(CurrencyPair::CocosBnb),
            "BTC_COCOS" => Ok(CurrencyPair::CocosBtc),
            "USDT_COCOS" => Ok(CurrencyPair::CocosUsdt),
            "BNB_COS" => Ok(CurrencyPair::CosBnb),
            "BTC_COS" => Ok(CurrencyPair::CosBtc),
            "USDT_COS" => Ok(CurrencyPair::CosUsdt),
            "BNB_CTXC" => Ok(CurrencyPair::CtxcBnb),
            "BTC_CTXC" => Ok(CurrencyPair::CtxcBtc),
            "USDT_CTXC" => Ok(CurrencyPair::CtxcUsdt),
            "BNB_CVC" => Ok(CurrencyPair::CvcBnb),
            "BTC_CVC" => Ok(CurrencyPair::CvcBtc),
            "ETH_CVC" => Ok(CurrencyPair::CvcEth),
            "USDT_CVC" => Ok(CurrencyPair::CvcUsdt),
            "BNB_DASH" => Ok(CurrencyPair::DashBnb),
            "BTC_DASH" => Ok(CurrencyPair::DashBtc),
            "ETH_DASH" => Ok(CurrencyPair::DashEth),
            "USDT_DASH" => Ok(CurrencyPair::DashUsdt),
            "BTC_DATA" => Ok(CurrencyPair::DataBtc),
            "ETH_DATA" => Ok(CurrencyPair::DataEth),
            "BNB_DCR" => Ok(CurrencyPair::DcrBnb),
            "BTC_DCR" => Ok(CurrencyPair::DcrBtc),
            "BTC_DENT" => Ok(CurrencyPair::DentBtc),
            "ETH_DENT" => Ok(CurrencyPair::DentEth),
            "USDT_DENT" => Ok(CurrencyPair::DentUsdt),
            "BTC_DGD" => Ok(CurrencyPair::DgdBtc),
            "ETH_DGD" => Ok(CurrencyPair::DgdEth),
            "BNB_DLT" => Ok(CurrencyPair::DltBnb),
            "BTC_DLT" => Ok(CurrencyPair::DltBtc),
            "ETH_DLT" => Ok(CurrencyPair::DltEth),
            "BTC_DNT" => Ok(CurrencyPair::DntBtc),
            "ETH_DNT" => Ok(CurrencyPair::DntEth),
            "BTC_DOCK" => Ok(CurrencyPair::DockBtc),
            "ETH_DOCK" => Ok(CurrencyPair::DockEth),
            "USDT_DOCK" => Ok(CurrencyPair::DockUsdt),
            "BNB_DOGE" => Ok(CurrencyPair::DogeBnb),
            "BTC_DOGE" => Ok(CurrencyPair::DogeBtc),
            "PAX_DOGE" => Ok(CurrencyPair::DogePax),
            "USDC_DOGE" => Ok(CurrencyPair::DogeUsdc),
            "USDT_DOGE" => Ok(CurrencyPair::DogeUsdt),
            "BNB_DUSK" => Ok(CurrencyPair::DuskBnb),
            "BTC_DUSK" => Ok(CurrencyPair::DuskBtc),
            "PAX_DUSK" => Ok(CurrencyPair::DuskPax),
            "USDC_DUSK" => Ok(CurrencyPair::DuskUsdc),
            "USDT_DUSK" => Ok(CurrencyPair::DuskUsdt),
            "BTC_EDO" => Ok(CurrencyPair::EdoBtc),
            "ETH_EDO" => Ok(CurrencyPair::EdoEth),
            "BTC_ELF" => Ok(CurrencyPair::ElfBtc),
            "ETH_ELF" => Ok(CurrencyPair::ElfEth),
            "BTC_ENG" => Ok(CurrencyPair::EngBtc),
            "ETH_ENG" => Ok(CurrencyPair::EngEth),
            "BNB_ENJ" => Ok(CurrencyPair::EnjBnb),
            "BTC_ENJ" => Ok(CurrencyPair::EnjBtc),
            "ETH_ENJ" => Ok(CurrencyPair::EnjEth),
            "USDT_ENJ" => Ok(CurrencyPair::EnjUsdt),
            "BNB_EOS" => Ok(CurrencyPair::EosBnb),
            "BTC_EOS" => Ok(CurrencyPair::EosBtc),
            "BUSD_EOS" => Ok(CurrencyPair::EosBusd),
            "ETH_EOS" => Ok(CurrencyPair::EosEth),
            "PAX_EOS" => Ok(CurrencyPair::EosPax),
            "TUSD_EOS" => Ok(CurrencyPair::EosTusd),
            "USDC_EOS" => Ok(CurrencyPair::EosUsdc),
            "USDT_EOS" => Ok(CurrencyPair::EosUsdt),
            "BNB_ERD" => Ok(CurrencyPair::ErdBnb),
            "BTC_ERD" => Ok(CurrencyPair::ErdBtc),
            "PAX_ERD" => Ok(CurrencyPair::ErdPax),
            "USDC_ERD" => Ok(CurrencyPair::ErdUsdc),
            "USDT_ERD" => Ok(CurrencyPair::ErdUsdt),
            "BNB_ETC" => Ok(CurrencyPair::EtcBnb),
            "BTC_ETC" => Ok(CurrencyPair::EtcBtc),
            "BUSD_ETC" => Ok(CurrencyPair::EtcBusd),
            "ETH_ETC" => Ok(CurrencyPair::EtcEth),
            "PAX_ETC" => Ok(CurrencyPair::EtcPax),
            "TUSD_ETC" => Ok(CurrencyPair::EtcTusd),
            "USDC_ETC" => Ok(CurrencyPair::EtcUsdc),
            "USDT_ETC" => Ok(CurrencyPair::EtcUsdt),
            "BTC_ETH" => Ok(CurrencyPair::EthBtc),
            "BUSD_ETH" => Ok(CurrencyPair::EthBusd),
            "PAX_ETH" => Ok(CurrencyPair::EthPax),
            "RUB_ETH" => Ok(CurrencyPair::EthRub),
            "TRY_ETH" => Ok(CurrencyPair::EthTry),
            "TUSD_ETH" => Ok(CurrencyPair::EthTusd),
            "USDC_ETH" => Ok(CurrencyPair::EthUsdc),
            "USDT_ETH" => Ok(CurrencyPair::EthUsdt),
            "BTC_EVX" => Ok(CurrencyPair::EvxBtc),
            "ETH_EVX" => Ok(CurrencyPair::EvxEth),
            "BNB_FET" => Ok(CurrencyPair::FetBnb),
            "BTC_FET" => Ok(CurrencyPair::FetBtc),
            "USDT_FET" => Ok(CurrencyPair::FetUsdt),
            "BNB_FTM" => Ok(CurrencyPair::FtmBnb),
            "BTC_FTM" => Ok(CurrencyPair::FtmBtc),
            "PAX_FTM" => Ok(CurrencyPair::FtmPax),
            "TUSD_FTM" => Ok(CurrencyPair::FtmTusd),
            "USDC_FTM" => Ok(CurrencyPair::FtmUsdc),
            "USDT_FTM" => Ok(CurrencyPair::FtmUsdt),
            "BNB_FTT" => Ok(CurrencyPair::FttBnb),
            "BTC_FTT" => Ok(CurrencyPair::FttBtc),
            "USDT_FTT" => Ok(CurrencyPair::FttUsdt),
            "BTC_FUEL" => Ok(CurrencyPair::FuelBtc),
            "ETH_FUEL" => Ok(CurrencyPair::FuelEth),
            "BTC_FUN" => Ok(CurrencyPair::FunBtc),
            "ETH_FUN" => Ok(CurrencyPair::FunEth),
            "USDT_FUN" => Ok(CurrencyPair::FunUsdt),
            "BTC_GAS" => Ok(CurrencyPair::GasBtc),
            "BNB_GNT" => Ok(CurrencyPair::GntBnb),
            "BTC_GNT" => Ok(CurrencyPair::GntBtc),
            "ETH_GNT" => Ok(CurrencyPair::GntEth),
            "BNB_GO" => Ok(CurrencyPair::GoBnb),
            "BTC_GO" => Ok(CurrencyPair::GoBtc),
            "BTC_GRS" => Ok(CurrencyPair::GrsBtc),
            "ETH_GRS" => Ok(CurrencyPair::GrsEth),
            "BNB_GTO" => Ok(CurrencyPair::GtoBnb),
            "BTC_GTO" => Ok(CurrencyPair::GtoBtc),
            "ETH_GTO" => Ok(CurrencyPair::GtoEth),
            "PAX_GTO" => Ok(CurrencyPair::GtoPax),
            "TUSD_GTO" => Ok(CurrencyPair::GtoTusd),
            "USDC_GTO" => Ok(CurrencyPair::GtoUsdc),
            "USDT_GTO" => Ok(CurrencyPair::GtoUsdt),
            "BTC_GVT" => Ok(CurrencyPair::GvtBtc),
            "ETH_GVT" => Ok(CurrencyPair::GvtEth),
            "BTC_GXS" => Ok(CurrencyPair::GxsBtc),
            "ETH_GXS" => Ok(CurrencyPair::GxsEth),
            "BNB_HBAR" => Ok(CurrencyPair::HbarBnb),
            "BTC_HBAR" => Ok(CurrencyPair::HbarBtc),
            "USDT_HBAR" => Ok(CurrencyPair::HbarUsdt),
            "BTC_HC" => Ok(CurrencyPair::HcBtc),
            "ETH_HC" => Ok(CurrencyPair::HcEth),
            "USDT_HC" => Ok(CurrencyPair::HcUsdt),
            "BNB_HOT" => Ok(CurrencyPair::HotBnb),
            "BTC_HOT" => Ok(CurrencyPair::HotBtc),
            "ETH_HOT" => Ok(CurrencyPair::HotEth),
            "USDT_HOT" => Ok(CurrencyPair::HotUsdt),
            "BTC_HSR" => Ok(CurrencyPair::HsrBtc),
            "ETH_HSR" => Ok(CurrencyPair::HsrEth),
            "BTC_ICN" => Ok(CurrencyPair::IcnBtc),
            "ETH_ICN" => Ok(CurrencyPair::IcnEth),
            "BNB_ICX" => Ok(CurrencyPair::IcxBnb),
            "BTC_ICX" => Ok(CurrencyPair::IcxBtc),
            "ETH_ICX" => Ok(CurrencyPair::IcxEth),
            "USDT_ICX" => Ok(CurrencyPair::IcxUsdt),
            "BTC_INS" => Ok(CurrencyPair::InsBtc),
            "ETH_INS" => Ok(CurrencyPair::InsEth),
            "BNB_IOST" => Ok(CurrencyPair::IostBnb),
            "BTC_IOST" => Ok(CurrencyPair::IostBtc),
            "ETH_IOST" => Ok(CurrencyPair::IostEth),
            "USDT_IOST" => Ok(CurrencyPair::IostUsdt),
            "BNB_IOTA" => Ok(CurrencyPair::IotaBnb),
            "BTC_IOTA" => Ok(CurrencyPair::IotaBtc),
            "ETH_IOTA" => Ok(CurrencyPair::IotaEth),
            "USDT_IOTA" => Ok(CurrencyPair::IotaUsdt),
            "BTC_IOTX" => Ok(CurrencyPair::IotxBtc),
            "ETH_IOTX" => Ok(CurrencyPair::IotxEth),
            "USDT_IOTX" => Ok(CurrencyPair::IotxUsdt),
            "BNB_KAVA" => Ok(CurrencyPair::KavaBnb),
            "BTC_KAVA" => Ok(CurrencyPair::KavaBtc),
            "USDT_KAVA" => Ok(CurrencyPair::KavaUsdt),
            "BTC_KEY" => Ok(CurrencyPair::KeyBtc),
            "ETH_KEY" => Ok(CurrencyPair::KeyEth),
            "USDT_KEY" => Ok(CurrencyPair::KeyUsdt),
            "BTC_KMD" => Ok(CurrencyPair::KmdBtc),
            "ETH_KMD" => Ok(CurrencyPair::KmdEth),
            "BTC_KNC" => Ok(CurrencyPair::KncBtc),
            "ETH_KNC" => Ok(CurrencyPair::KncEth),
            "BTC_LEND" => Ok(CurrencyPair::LendBtc),
            "ETH_LEND" => Ok(CurrencyPair::LendEth),
            "BTC_LINK" => Ok(CurrencyPair::LinkBtc),
            "BUSD_LINK" => Ok(CurrencyPair::LinkBusd),
            "ETH_LINK" => Ok(CurrencyPair::LinkEth),
            "PAX_LINK" => Ok(CurrencyPair::LinkPax),
            "TUSD_LINK" => Ok(CurrencyPair::LinkTusd),
            "USDC_LINK" => Ok(CurrencyPair::LinkUsdc),
            "USDT_LINK" => Ok(CurrencyPair::LinkUsdt),
            "BNB_LOOM" => Ok(CurrencyPair::LoomBnb),
            "BTC_LOOM" => Ok(CurrencyPair::LoomBtc),
            "ETH_LOOM" => Ok(CurrencyPair::LoomEth),
            "BTC_LRC" => Ok(CurrencyPair::LrcBtc),
            "ETH_LRC" => Ok(CurrencyPair::LrcEth),
            "BNB_LSK" => Ok(CurrencyPair::LskBnb),
            "BTC_LSK" => Ok(CurrencyPair::LskBtc),
            "ETH_LSK" => Ok(CurrencyPair::LskEth),
            "BNB_LTC" => Ok(CurrencyPair::LtcBnb),
            "BTC_LTC" => Ok(CurrencyPair::LtcBtc),
            "BUSD_LTC" => Ok(CurrencyPair::LtcBusd),
            "ETH_LTC" => Ok(CurrencyPair::LtcEth),
            "PAX_LTC" => Ok(CurrencyPair::LtcPax),
            "TUSD_LTC" => Ok(CurrencyPair::LtcTusd),
            "USDC_LTC" => Ok(CurrencyPair::LtcUsdc),
            "USDT_LTC" => Ok(CurrencyPair::LtcUsdt),
            "BTC_LUN" => Ok(CurrencyPair::LunBtc),
            "ETH_LUN" => Ok(CurrencyPair::LunEth),
            "BTC_MANA" => Ok(CurrencyPair::ManaBtc),
            "ETH_MANA" => Ok(CurrencyPair::ManaEth),
            "BNB_MATIC" => Ok(CurrencyPair::MaticBnb),
            "BTC_MATIC" => Ok(CurrencyPair::MaticBtc),
            "USDT_MATIC" => Ok(CurrencyPair::MaticUsdt),
            "BNB_MCO" => Ok(CurrencyPair::McoBnb),
            "BTC_MCO" => Ok(CurrencyPair::McoBtc),
            "ETH_MCO" => Ok(CurrencyPair::McoEth),
            "USDT_MCO" => Ok(CurrencyPair::McoUsdt),
            "BTC_MDA" => Ok(CurrencyPair::MdaBtc),
            "ETH_MDA" => Ok(CurrencyPair::MdaEth),
            "BNB_MFT" => Ok(CurrencyPair::MftBnb),
            "BTC_MFT" => Ok(CurrencyPair::MftBtc),
            "ETH_MFT" => Ok(CurrencyPair::MftEth),
            "USDT_MFT" => Ok(CurrencyPair::MftUsdt),
            "BNB_MITH" => Ok(CurrencyPair::MithBnb),
            "BTC_MITH" => Ok(CurrencyPair::MithBtc),
            "USDT_MITH" => Ok(CurrencyPair::MithUsdt),
            "BTC_MOD" => Ok(CurrencyPair::ModBtc),
            "ETH_MOD" => Ok(CurrencyPair::ModEth),
            "BTC_MTH" => Ok(CurrencyPair::MthBtc),
            "ETH_MTH" => Ok(CurrencyPair::MthEth),
            "BTC_MTL" => Ok(CurrencyPair::MtlBtc),
            "ETH_MTL" => Ok(CurrencyPair::MtlEth),
            "USDT_MTL" => Ok(CurrencyPair::MtlUsdt),
            "BNB_NANO" => Ok(CurrencyPair::NanoBnb),
            "BTC_NANO" => Ok(CurrencyPair::NanoBtc),
            "ETH_NANO" => Ok(CurrencyPair::NanoEth),
            "USDT_NANO" => Ok(CurrencyPair::NanoUsdt),
            "BNB_NAS" => Ok(CurrencyPair::NasBnb),
            "BTC_NAS" => Ok(CurrencyPair::NasBtc),
            "ETH_NAS" => Ok(CurrencyPair::NasEth),
            "BNB_NAV" => Ok(CurrencyPair::NavBnb),
            "BTC_NAV" => Ok(CurrencyPair::NavBtc),
            "ETH_NAV" => Ok(CurrencyPair::NavEth),
            "BNB_NCASH" => Ok(CurrencyPair::NcashBnb),
            "BTC_NCASH" => Ok(CurrencyPair::NcashBtc),
            "ETH_NCASH" => Ok(CurrencyPair::NcashEth),
            "BNB_NEBL" => Ok(CurrencyPair::NeblBnb),
            "BTC_NEBL" => Ok(CurrencyPair::NeblBtc),
            "ETH_NEBL" => Ok(CurrencyPair::NeblEth),
            "BNB_NEO" => Ok(CurrencyPair::NeoBnb),
            "BTC_NEO" => Ok(CurrencyPair::NeoBtc),
            "ETH_NEO" => Ok(CurrencyPair::NeoEth),
            "PAX_NEO" => Ok(CurrencyPair::NeoPax),
            "TUSD_NEO" => Ok(CurrencyPair::NeoTusd),
            "USDC_NEO" => Ok(CurrencyPair::NeoUsdc),
            "USDT_NEO" => Ok(CurrencyPair::NeoUsdt),
            "BNB_NKN" => Ok(CurrencyPair::NknBnb),
            "BTC_NKN" => Ok(CurrencyPair::NknBtc),
            "USDT_NKN" => Ok(CurrencyPair::NknUsdt),
            "BTC_NPXS" => Ok(CurrencyPair::NpxsBtc),
            "ETH_NPXS" => Ok(CurrencyPair::NpxsEth),
            "USDC_NPXS" => Ok(CurrencyPair::NpxsUsdc),
            "USDT_NPXS" => Ok(CurrencyPair::NpxsUsdt),
            "BNB_NULS" => Ok(CurrencyPair::NulsBnb),
            "BTC_NULS" => Ok(CurrencyPair::NulsBtc),
            "ETH_NULS" => Ok(CurrencyPair::NulsEth),
            "USDT_NULS" => Ok(CurrencyPair::NulsUsdt),
            "BNB_NXS" => Ok(CurrencyPair::NxsBnb),
            "BTC_NXS" => Ok(CurrencyPair::NxsBtc),
            "ETH_NXS" => Ok(CurrencyPair::NxsEth),
            "BTC_OAX" => Ok(CurrencyPair::OaxBtc),
            "ETH_OAX" => Ok(CurrencyPair::OaxEth),
            "BNB_OMG" => Ok(CurrencyPair::OmgBnb),
            "BTC_OMG" => Ok(CurrencyPair::OmgBtc),
            "ETH_OMG" => Ok(CurrencyPair::OmgEth),
            "USDT_OMG" => Ok(CurrencyPair::OmgUsdt),
            "BNB_ONE" => Ok(CurrencyPair::OneBnb),
            "BTC_ONE" => Ok(CurrencyPair::OneBtc),
            "PAX_ONE" => Ok(CurrencyPair::OnePax),
            "TUSD_ONE" => Ok(CurrencyPair::OneTusd),
            "USDC_ONE" => Ok(CurrencyPair::OneUsdc),
            "USDT_ONE" => Ok(CurrencyPair::OneUsdt),
            "BNB_ONG" => Ok(CurrencyPair::OngBnb),
            "BTC_ONG" => Ok(CurrencyPair::OngBtc),
            "USDT_ONG" => Ok(CurrencyPair::OngUsdt),
            "BNB_ONT" => Ok(CurrencyPair::OntBnb),
            "BTC_ONT" => Ok(CurrencyPair::OntBtc),
            "ETH_ONT" => Ok(CurrencyPair::OntEth),
            "PAX_ONT" => Ok(CurrencyPair::OntPax),
            "USDC_ONT" => Ok(CurrencyPair::OntUsdc),
            "USDT_ONT" => Ok(CurrencyPair::OntUsdt),
            "BNB_OST" => Ok(CurrencyPair::OstBnb),
            "BTC_OST" => Ok(CurrencyPair::OstBtc),
            "ETH_OST" => Ok(CurrencyPair::OstEth),
            "BNB_PAX" => Ok(CurrencyPair::PaxBnb),
            "BTC_PAX" => Ok(CurrencyPair::PaxBtc),
            "ETH_PAX" => Ok(CurrencyPair::PaxEth),
            "TUSD_PAX" => Ok(CurrencyPair::PaxTusd),
            "USDT_PAX" => Ok(CurrencyPair::PaxUsdt),
            "BNB_PERL" => Ok(CurrencyPair::PerlBnb),
            "BTC_PERL" => Ok(CurrencyPair::PerlBtc),
            "USDC_PERL" => Ok(CurrencyPair::PerlUsdc),
            "USDT_PERL" => Ok(CurrencyPair::PerlUsdt),
            "BNB_PHB" => Ok(CurrencyPair::PhbBnb),
            "BTC_PHB" => Ok(CurrencyPair::PhbBtc),
            "PAX_PHB" => Ok(CurrencyPair::PhbPax),
            "TUSD_PHB" => Ok(CurrencyPair::PhbTusd),
            "USDC_PHB" => Ok(CurrencyPair::PhbUsdc),
            "BNB_PHX" => Ok(CurrencyPair::PhxBnb),
            "BTC_PHX" => Ok(CurrencyPair::PhxBtc),
            "ETH_PHX" => Ok(CurrencyPair::PhxEth),
            "BNB_PIVX" => Ok(CurrencyPair::PivxBnb),
            "BTC_PIVX" => Ok(CurrencyPair::PivxBtc),
            "ETH_PIVX" => Ok(CurrencyPair::PivxEth),
            "BNB_POA" => Ok(CurrencyPair::PoaBnb),
            "BTC_POA" => Ok(CurrencyPair::PoaBtc),
            "ETH_POA" => Ok(CurrencyPair::PoaEth),
            "BTC_POE" => Ok(CurrencyPair::PoeBtc),
            "ETH_POE" => Ok(CurrencyPair::PoeEth),
            "BNB_POLY" => Ok(CurrencyPair::PolyBnb),
            "BTC_POLY" => Ok(CurrencyPair::PolyBtc),
            "BNB_POWR" => Ok(CurrencyPair::PowrBnb),
            "BTC_POWR" => Ok(CurrencyPair::PowrBtc),
            "ETH_POWR" => Ok(CurrencyPair::PowrEth),
            "BTC_PPT" => Ok(CurrencyPair::PptBtc),
            "ETH_PPT" => Ok(CurrencyPair::PptEth),
            "BTC_QKC" => Ok(CurrencyPair::QkcBtc),
            "ETH_QKC" => Ok(CurrencyPair::QkcEth),
            "BNB_QLC" => Ok(CurrencyPair::QlcBnb),
            "BTC_QLC" => Ok(CurrencyPair::QlcBtc),
            "ETH_QLC" => Ok(CurrencyPair::QlcEth),
            "BNB_QSP" => Ok(CurrencyPair::QspBnb),
            "BTC_QSP" => Ok(CurrencyPair::QspBtc),
            "ETH_QSP" => Ok(CurrencyPair::QspEth),
            "BNB_QTUM" => Ok(CurrencyPair::QtumBnb),
            "BTC_QTUM" => Ok(CurrencyPair::QtumBtc),
            "BUSD_QTUM" => Ok(CurrencyPair::QtumBusd),
            "ETH_QTUM" => Ok(CurrencyPair::QtumEth),
            "USDT_QTUM" => Ok(CurrencyPair::QtumUsdt),
            "BNB_RCN" => Ok(CurrencyPair::RcnBnb),
            "BTC_RCN" => Ok(CurrencyPair::RcnBtc),
            "ETH_RCN" => Ok(CurrencyPair::RcnEth),
            "BNB_RDN" => Ok(CurrencyPair::RdnBnb),
            "BTC_RDN" => Ok(CurrencyPair::RdnBtc),
            "ETH_RDN" => Ok(CurrencyPair::RdnEth),
            "BNB_REN" => Ok(CurrencyPair::RenBnb),
            "BTC_REN" => Ok(CurrencyPair::RenBtc),
            "USDT_REN" => Ok(CurrencyPair::RenUsdt),
            "BNB_REP" => Ok(CurrencyPair::RepBnb),
            "BTC_REP" => Ok(CurrencyPair::RepBtc),
            "ETH_REP" => Ok(CurrencyPair::RepEth),
            "BTC_REQ" => Ok(CurrencyPair::ReqBtc),
            "ETH_REQ" => Ok(CurrencyPair::ReqEth),
            "BNB_RLC" => Ok(CurrencyPair::RlcBnb),
            "BTC_RLC" => Ok(CurrencyPair::RlcBtc),
            "ETH_RLC" => Ok(CurrencyPair::RlcEth),
            "USDT_RLC" => Ok(CurrencyPair::RlcUsdt),
            "BNB_RPX" => Ok(CurrencyPair::RpxBnb),
            "BTC_RPX" => Ok(CurrencyPair::RpxBtc),
            "ETH_RPX" => Ok(CurrencyPair::RpxEth),
            "BNB_RVN" => Ok(CurrencyPair::RvnBnb),
            "BTC_RVN" => Ok(CurrencyPair::RvnBtc),
            "USDT_RVN" => Ok(CurrencyPair::RvnUsdt),
            "BTC_SALT" => Ok(CurrencyPair::SaltBtc),
            "ETH_SALT" => Ok(CurrencyPair::SaltEth),
            "BNB_SC" => Ok(CurrencyPair::ScBnb),
            "BTC_SC" => Ok(CurrencyPair::ScBtc),
            "ETH_SC" => Ok(CurrencyPair::ScEth),
            "BNB_SKY" => Ok(CurrencyPair::SkyBnb),
            "BTC_SKY" => Ok(CurrencyPair::SkyBtc),
            "ETH_SKY" => Ok(CurrencyPair::SkyEth),
            "BTC_SNGLS" => Ok(CurrencyPair::SnglsBtc),
            "ETH_SNGLS" => Ok(CurrencyPair::SnglsEth),
            "BTC_SNM" => Ok(CurrencyPair::SnmBtc),
            "ETH_SNM" => Ok(CurrencyPair::SnmEth),
            "BTC_SNT" => Ok(CurrencyPair::SntBtc),
            "ETH_SNT" => Ok(CurrencyPair::SntEth),
            "BNB_STEEM" => Ok(CurrencyPair::SteemBnb),
            "BTC_STEEM" => Ok(CurrencyPair::SteemBtc),
            "ETH_STEEM" => Ok(CurrencyPair::SteemEth),
            "BTC_STORJ" => Ok(CurrencyPair::StorjBtc),
            "ETH_STORJ" => Ok(CurrencyPair::StorjEth),
            "BNB_STORM" => Ok(CurrencyPair::StormBnb),
            "BTC_STORM" => Ok(CurrencyPair::StormBtc),
            "ETH_STORM" => Ok(CurrencyPair::StormEth),
            "USDT_STORM" => Ok(CurrencyPair::StormUsdt),
            "BTC_STRAT" => Ok(CurrencyPair::StratBtc),
            "ETH_STRAT" => Ok(CurrencyPair::StratEth),
            "BNB_STX" => Ok(CurrencyPair::StxBnb),
            "BTC_STX" => Ok(CurrencyPair::StxBtc),
            "USDT_STX" => Ok(CurrencyPair::StxUsdt),
            "BTC_SUB" => Ok(CurrencyPair::SubBtc),
            "ETH_SUB" => Ok(CurrencyPair::SubEth),
            "BNB_SYS" => Ok(CurrencyPair::SysBnb),
            "BTC_SYS" => Ok(CurrencyPair::SysBtc),
            "ETH_SYS" => Ok(CurrencyPair::SysEth),
            "BNB_TFUEL" => Ok(CurrencyPair::TfuelBnb),
            "BTC_TFUEL" => Ok(CurrencyPair::TfuelBtc),
            "PAX_TFUEL" => Ok(CurrencyPair::TfuelPax),
            "TUSD_TFUEL" => Ok(CurrencyPair::TfuelTusd),
            "USDC_TFUEL" => Ok(CurrencyPair::TfuelUsdc),
            "USDT_TFUEL" => Ok(CurrencyPair::TfuelUsdt),
            "BNB_THETA" => Ok(CurrencyPair::ThetaBnb),
            "BTC_THETA" => Ok(CurrencyPair::ThetaBtc),
            "ETH_THETA" => Ok(CurrencyPair::ThetaEth),
            "USDT_THETA" => Ok(CurrencyPair::ThetaUsdt),
            "BTC_TNB" => Ok(CurrencyPair::TnbBtc),
            "ETH_TNB" => Ok(CurrencyPair::TnbEth),
            "BTC_TNT" => Ok(CurrencyPair::TntBtc),
            "ETH_TNT" => Ok(CurrencyPair::TntEth),
            "BNB_TOMO" => Ok(CurrencyPair::TomoBnb),
            "BTC_TOMO" => Ok(CurrencyPair::TomoBtc),
            "USDC_TOMO" => Ok(CurrencyPair::TomoUsdc),
            "USDT_TOMO" => Ok(CurrencyPair::TomoUsdt),
            "BNB_TRIG" => Ok(CurrencyPair::TrigBnb),
            "BTC_TRIG" => Ok(CurrencyPair::TrigBtc),
            "ETH_TRIG" => Ok(CurrencyPair::TrigEth),
            "BNB_TROY" => Ok(CurrencyPair::TroyBnb),
            "BTC_TROY" => Ok(CurrencyPair::TroyBtc),
            "USDT_TROY" => Ok(CurrencyPair::TroyUsdt),
            "BNB_TRX" => Ok(CurrencyPair::TrxBnb),
            "BTC_TRX" => Ok(CurrencyPair::TrxBtc),
            "BUSD_TRX" => Ok(CurrencyPair::TrxBusd),
            "ETH_TRX" => Ok(CurrencyPair::TrxEth),
            "PAX_TRX" => Ok(CurrencyPair::TrxPax),
            "TUSD_TRX" => Ok(CurrencyPair::TrxTusd),
            "USDC_TRX" => Ok(CurrencyPair::TrxUsdc),
            "USDT_TRX" => Ok(CurrencyPair::TrxUsdt),
            "XRP_TRX" => Ok(CurrencyPair::TrxXrp),
            "TUSD_TUSDB" => Ok(CurrencyPair::TusdbTusd),
            "BNB_TUSD" => Ok(CurrencyPair::TusdBnb),
            "BTC_TUSD" => Ok(CurrencyPair::TusdBtc),
            "ETH_TUSD" => Ok(CurrencyPair::TusdEth),
            "USDT_TUSD" => Ok(CurrencyPair::TusdUsdt),
            "BNB_USDC" => Ok(CurrencyPair::UsdcBnb),
            "DASH_USDC" => Ok(CurrencyPair::UsdcDash),
            "GRIN_USDC" => Ok(CurrencyPair::UsdcGrin),
            "PAX_USDC" => Ok(CurrencyPair::UsdcPax),
            "STR_USDC" => Ok(CurrencyPair::UsdcStr),
            "TUSD_USDC" => Ok(CurrencyPair::UsdcTusd),
            "USDT_USDC" => Ok(CurrencyPair::UsdcUsdt),
            "XMR_USDC" => Ok(CurrencyPair::UsdcXmr),
            "USDS_USDSB" => Ok(CurrencyPair::UsdsbUsds),
            "USDT_USDSB" => Ok(CurrencyPair::UsdsbUsdt),
            "PAX_USDS" => Ok(CurrencyPair::UsdsPax),
            "TUSD_USDS" => Ok(CurrencyPair::UsdsTusd),
            "USDC_USDS" => Ok(CurrencyPair::UsdsUsdc),
            "USDT_USDS" => Ok(CurrencyPair::UsdsUsdt),
            "DGB_USDT" => Ok(CurrencyPair::UsdtDgb),
            "GNT_USDT" => Ok(CurrencyPair::UsdtGnt),
            "GRIN_USDT" => Ok(CurrencyPair::UsdtGrin),
            "LSK_USDT" => Ok(CurrencyPair::UsdtLsk),
            "MANA_USDT" => Ok(CurrencyPair::UsdtMana),
            "NXT_USDT" => Ok(CurrencyPair::UsdtNxt),
            "REP_USDT" => Ok(CurrencyPair::UsdtRep),
            "RUB_USDT" => Ok(CurrencyPair::UsdtRub),
            "SC_USDT" => Ok(CurrencyPair::UsdtSc),
            "STR_USDT" => Ok(CurrencyPair::UsdtStr),
            "TRY_USDT" => Ok(CurrencyPair::UsdtTry),
            "BNB_VEN" => Ok(CurrencyPair::VenBnb),
            "BTC_VEN" => Ok(CurrencyPair::VenBtc),
            "ETH_VEN" => Ok(CurrencyPair::VenEth),
            "USDT_VEN" => Ok(CurrencyPair::VenUsdt),
            "BNB_VET" => Ok(CurrencyPair::VetBnb),
            "BTC_VET" => Ok(CurrencyPair::VetBtc),
            "BUSD_VET" => Ok(CurrencyPair::VetBusd),
            "ETH_VET" => Ok(CurrencyPair::VetEth),
            "USDT_VET" => Ok(CurrencyPair::VetUsdt),
            "BNB_VIA" => Ok(CurrencyPair::ViaBnb),
            "BTC_VIA" => Ok(CurrencyPair::ViaBtc),
            "ETH_VIA" => Ok(CurrencyPair::ViaEth),
            "BTC_VIBE" => Ok(CurrencyPair::VibeBtc),
            "ETH_VIBE" => Ok(CurrencyPair::VibeEth),
            "BTC_VIB" => Ok(CurrencyPair::VibBtc),
            "ETH_VIB" => Ok(CurrencyPair::VibEth),
            "BNB_VITE" => Ok(CurrencyPair::ViteBnb),
            "BTC_VITE" => Ok(CurrencyPair::ViteBtc),
            "USDT_VITE" => Ok(CurrencyPair::ViteUsdt),
            "BNB_WABI" => Ok(CurrencyPair::WabiBnb),
            "BTC_WABI" => Ok(CurrencyPair::WabiBtc),
            "ETH_WABI" => Ok(CurrencyPair::WabiEth),
            "BNB_WAN" => Ok(CurrencyPair::WanBnb),
            "BTC_WAN" => Ok(CurrencyPair::WanBtc),
            "ETH_WAN" => Ok(CurrencyPair::WanEth),
            "USDT_WAN" => Ok(CurrencyPair::WanUsdt),
            "BNB_WAVES" => Ok(CurrencyPair::WavesBnb),
            "BTC_WAVES" => Ok(CurrencyPair::WavesBtc),
            "ETH_WAVES" => Ok(CurrencyPair::WavesEth),
            "PAX_WAVES" => Ok(CurrencyPair::WavesPax),
            "TUSD_WAVES" => Ok(CurrencyPair::WavesTusd),
            "USDC_WAVES" => Ok(CurrencyPair::WavesUsdc),
            "USDT_WAVES" => Ok(CurrencyPair::WavesUsdt),
            "BTC_WINGS" => Ok(CurrencyPair::WingsBtc),
            "ETH_WINGS" => Ok(CurrencyPair::WingsEth),
            "BNB_WIN" => Ok(CurrencyPair::WinBnb),
            "BTC_WIN" => Ok(CurrencyPair::WinBtc),
            "TRX_WIN" => Ok(CurrencyPair::WinTrx),
            "USDC_WIN" => Ok(CurrencyPair::WinUsdc),
            "USDT_WIN" => Ok(CurrencyPair::WinUsdt),
            "BTC_WPR" => Ok(CurrencyPair::WprBtc),
            "ETH_WPR" => Ok(CurrencyPair::WprEth),
            "BNB_WTC" => Ok(CurrencyPair::WtcBnb),
            "BTC_WTC" => Ok(CurrencyPair::WtcBtc),
            "ETH_WTC" => Ok(CurrencyPair::WtcEth),
            "BNB_XEM" => Ok(CurrencyPair::XemBnb),
            "BTC_XEM" => Ok(CurrencyPair::XemBtc),
            "ETH_XEM" => Ok(CurrencyPair::XemEth),
            "BNB_XLM" => Ok(CurrencyPair::XlmBnb),
            "BTC_XLM" => Ok(CurrencyPair::XlmBtc),
            "BUSD_XLM" => Ok(CurrencyPair::XlmBusd),
            "ETH_XLM" => Ok(CurrencyPair::XlmEth),
            "PAX_XLM" => Ok(CurrencyPair::XlmPax),
            "TUSD_XLM" => Ok(CurrencyPair::XlmTusd),
            "USDC_XLM" => Ok(CurrencyPair::XlmUsdc),
            "USDT_XLM" => Ok(CurrencyPair::XlmUsdt),
            "BNB_XMR" => Ok(CurrencyPair::XmrBnb),
            "BTC_XMR" => Ok(CurrencyPair::XmrBtc),
            "ETH_XMR" => Ok(CurrencyPair::XmrEth),
            "USDT_XMR" => Ok(CurrencyPair::XmrUsdt),
            "BNB_XRP" => Ok(CurrencyPair::XrpBnb),
            "BTC_XRP" => Ok(CurrencyPair::XrpBtc),
            "BUSD_XRP" => Ok(CurrencyPair::XrpBusd),
            "ETH_XRP" => Ok(CurrencyPair::XrpEth),
            "PAX_XRP" => Ok(CurrencyPair::XrpPax),
            "RUB_XRP" => Ok(CurrencyPair::XrpRub),
            "TRY_XRP" => Ok(CurrencyPair::XrpTry),
            "TUSD_XRP" => Ok(CurrencyPair::XrpTusd),
            "USDC_XRP" => Ok(CurrencyPair::XrpUsdc),
            "USDT_XRP" => Ok(CurrencyPair::XrpUsdt),
            "BNB_XTZ" => Ok(CurrencyPair::XtzBnb),
            "BTC_XTZ" => Ok(CurrencyPair::XtzBtc),
            "USDT_XTZ" => Ok(CurrencyPair::XtzUsdt),
            "BTC_XVG" => Ok(CurrencyPair::XvgBtc),
            "ETH_XVG" => Ok(CurrencyPair::XvgEth),
            "BNB_XZC" => Ok(CurrencyPair::XzcBnb),
            "BTC_XZC" => Ok(CurrencyPair::XzcBtc),
            "ETH_XZC" => Ok(CurrencyPair::XzcEth),
            "XRP_XZC" => Ok(CurrencyPair::XzcXrp),
            "BNB_YOYO" => Ok(CurrencyPair::YoyoBnb),
            "BTC_YOYO" => Ok(CurrencyPair::YoyoBtc),
            "ETH_YOYO" => Ok(CurrencyPair::YoyoEth),
            "BNB_ZEC" => Ok(CurrencyPair::ZecBnb),
            "BTC_ZEC" => Ok(CurrencyPair::ZecBtc),
            "ETH_ZEC" => Ok(CurrencyPair::ZecEth),
            "PAX_ZEC" => Ok(CurrencyPair::ZecPax),
            "TUSD_ZEC" => Ok(CurrencyPair::ZecTusd),
            "USDC_ZEC" => Ok(CurrencyPair::ZecUsdc),
            "USDT_ZEC" => Ok(CurrencyPair::ZecUsdt),
            "BNB_ZEN" => Ok(CurrencyPair::ZenBnb),
            "BTC_ZEN" => Ok(CurrencyPair::ZenBtc),
            "ETH_ZEN" => Ok(CurrencyPair::ZenEth),
            "BNB_ZIL" => Ok(CurrencyPair::ZilBnb),
            "BTC_ZIL" => Ok(CurrencyPair::ZilBtc),
            "ETH_ZIL" => Ok(CurrencyPair::ZilEth),
            "USDT_ZIL" => Ok(CurrencyPair::ZilUsdt),
            "BNB_ZRX" => Ok(CurrencyPair::ZrxBnb),
            "BTC_ZRX" => Ok(CurrencyPair::ZrxBtc),
            "ETH_ZRX" => Ok(CurrencyPair::ZrxEth),
            "USDT_ZRX" => Ok(CurrencyPair::ZrxUsdt),
            pair => {
                let index = pair
                    .find('_')
                    .ok_or_else(|| Error::InvalidPair(pair.to_owned()))?;
                if index == pair.len() - 1 {
                    return Err(Error::InvalidPair(pair.to_owned()));
                }
                let quote: Currency = pair[..index].into();
                let base: Currency = pair[index + 1..].into();
                Ok(CurrencyPair::Custom(
                    format!("{}_{}", quote, base),
                    quote,
                    base,
                ))
            }
        }
    }

    pub fn join_no_sep(&self) -> String {
        match self {
            CurrencyPair::Custom(_, ref quote, ref base) => format!("{}{}", quote, base),
            &CurrencyPair::AdaBnb => "ADABNB".to_owned(),
            &CurrencyPair::AdaBtc => "ADABTC".to_owned(),
            &CurrencyPair::AdaBusd => "ADABUSD".to_owned(),
            &CurrencyPair::AdaEth => "ADAETH".to_owned(),
            &CurrencyPair::AdaPax => "ADAPAX".to_owned(),
            &CurrencyPair::AdaTusd => "ADATUSD".to_owned(),
            &CurrencyPair::AdaUsdc => "ADAUSDC".to_owned(),
            &CurrencyPair::AdaUsdt => "ADAUSDT".to_owned(),
            &CurrencyPair::AdxBnb => "ADXBNB".to_owned(),
            &CurrencyPair::AdxBtc => "ADXBTC".to_owned(),
            &CurrencyPair::AdxEth => "ADXETH".to_owned(),
            &CurrencyPair::AeBnb => "AEBNB".to_owned(),
            &CurrencyPair::AeBtc => "AEBTC".to_owned(),
            &CurrencyPair::AeEth => "AEETH".to_owned(),
            &CurrencyPair::AgiBnb => "AGIBNB".to_owned(),
            &CurrencyPair::AgiBtc => "AGIBTC".to_owned(),
            &CurrencyPair::AgiEth => "AGIETH".to_owned(),
            &CurrencyPair::AionBnb => "AIONBNB".to_owned(),
            &CurrencyPair::AionBtc => "AIONBTC".to_owned(),
            &CurrencyPair::AionEth => "AIONETH".to_owned(),
            &CurrencyPair::AlgoBnb => "ALGOBNB".to_owned(),
            &CurrencyPair::AlgoBtc => "ALGOBTC".to_owned(),
            &CurrencyPair::AlgoPax => "ALGOPAX".to_owned(),
            &CurrencyPair::AlgoTusd => "ALGOTUSD".to_owned(),
            &CurrencyPair::AlgoUsdc => "ALGOUSDC".to_owned(),
            &CurrencyPair::AlgoUsdt => "ALGOUSDT".to_owned(),
            &CurrencyPair::AmbBnb => "AMBBNB".to_owned(),
            &CurrencyPair::AmbBtc => "AMBBTC".to_owned(),
            &CurrencyPair::AmbEth => "AMBETH".to_owned(),
            &CurrencyPair::AnkrBnb => "ANKRBNB".to_owned(),
            &CurrencyPair::AnkrBtc => "ANKRBTC".to_owned(),
            &CurrencyPair::AnkrPax => "ANKRPAX".to_owned(),
            &CurrencyPair::AnkrTusd => "ANKRTUSD".to_owned(),
            &CurrencyPair::AnkrUsdc => "ANKRUSDC".to_owned(),
            &CurrencyPair::AnkrUsdt => "ANKRUSDT".to_owned(),
            &CurrencyPair::AppcBnb => "APPCBNB".to_owned(),
            &CurrencyPair::AppcBtc => "APPCBTC".to_owned(),
            &CurrencyPair::AppcEth => "APPCETH".to_owned(),
            &CurrencyPair::ArdrBnb => "ARDRBNB".to_owned(),
            &CurrencyPair::ArdrBtc => "ARDRBTC".to_owned(),
            &CurrencyPair::ArdrEth => "ARDRETH".to_owned(),
            &CurrencyPair::ArkBtc => "ARKBTC".to_owned(),
            &CurrencyPair::ArkEth => "ARKETH".to_owned(),
            &CurrencyPair::ArnBtc => "ARNBTC".to_owned(),
            &CurrencyPair::ArnEth => "ARNETH".to_owned(),
            &CurrencyPair::ArpaBnb => "ARPABNB".to_owned(),
            &CurrencyPair::ArpaBtc => "ARPABTC".to_owned(),
            &CurrencyPair::ArpaUsdt => "ARPAUSDT".to_owned(),
            &CurrencyPair::AstBtc => "ASTBTC".to_owned(),
            &CurrencyPair::AstEth => "ASTETH".to_owned(),
            &CurrencyPair::AtomBnb => "ATOMBNB".to_owned(),
            &CurrencyPair::AtomBtc => "ATOMBTC".to_owned(),
            &CurrencyPair::AtomPax => "ATOMPAX".to_owned(),
            &CurrencyPair::AtomTusd => "ATOMTUSD".to_owned(),
            &CurrencyPair::AtomUsdc => "ATOMUSDC".to_owned(),
            &CurrencyPair::AtomUsdt => "ATOMUSDT".to_owned(),
            &CurrencyPair::BandBnb => "BANDBNB".to_owned(),
            &CurrencyPair::BandBtc => "BANDBTC".to_owned(),
            &CurrencyPair::BandUsdt => "BANDUSDT".to_owned(),
            &CurrencyPair::BatBnb => "BATBNB".to_owned(),
            &CurrencyPair::BatBtc => "BATBTC".to_owned(),
            &CurrencyPair::BatEth => "BATETH".to_owned(),
            &CurrencyPair::BatPax => "BATPAX".to_owned(),
            &CurrencyPair::BatTusd => "BATTUSD".to_owned(),
            &CurrencyPair::BatUsdc => "BATUSDC".to_owned(),
            &CurrencyPair::BatUsdt => "BATUSDT".to_owned(),
            &CurrencyPair::BccBnb => "BCCBNB".to_owned(),
            &CurrencyPair::BccBtc => "BCCBTC".to_owned(),
            &CurrencyPair::BccEth => "BCCETH".to_owned(),
            &CurrencyPair::BccUsdt => "BCCUSDT".to_owned(),
            &CurrencyPair::BcdBtc => "BCDBTC".to_owned(),
            &CurrencyPair::BcdEth => "BCDETH".to_owned(),
            &CurrencyPair::BchabcBtc => "BCHABCBTC".to_owned(),
            &CurrencyPair::BchabcBusd => "BCHABCBUSD".to_owned(),
            &CurrencyPair::BchabcPax => "BCHABCPAX".to_owned(),
            &CurrencyPair::BchabcTusd => "BCHABCTUSD".to_owned(),
            &CurrencyPair::BchabcUsdc => "BCHABCUSDC".to_owned(),
            &CurrencyPair::BchabcUsdt => "BCHABCUSDT".to_owned(),
            &CurrencyPair::BchsvBtc => "BCHSVBTC".to_owned(),
            &CurrencyPair::BchsvPax => "BCHSVPAX".to_owned(),
            &CurrencyPair::BchsvTusd => "BCHSVTUSD".to_owned(),
            &CurrencyPair::BchsvUsdc => "BCHSVUSDC".to_owned(),
            &CurrencyPair::BchsvUsdt => "BCHSVUSDT".to_owned(),
            &CurrencyPair::BchBnb => "BCHBNB".to_owned(),
            &CurrencyPair::BchBtc => "BCHBTC".to_owned(),
            &CurrencyPair::BchBusd => "BCHBUSD".to_owned(),
            &CurrencyPair::BchPax => "BCHPAX".to_owned(),
            &CurrencyPair::BchTusd => "BCHTUSD".to_owned(),
            &CurrencyPair::BchUsdc => "BCHUSDC".to_owned(),
            &CurrencyPair::BchUsdt => "BCHUSDT".to_owned(),
            &CurrencyPair::BcnBnb => "BCNBNB".to_owned(),
            &CurrencyPair::BcnBtc => "BCNBTC".to_owned(),
            &CurrencyPair::BcnEth => "BCNETH".to_owned(),
            &CurrencyPair::BcptBnb => "BCPTBNB".to_owned(),
            &CurrencyPair::BcptBtc => "BCPTBTC".to_owned(),
            &CurrencyPair::BcptEth => "BCPTETH".to_owned(),
            &CurrencyPair::BcptPax => "BCPTPAX".to_owned(),
            &CurrencyPair::BcptTusd => "BCPTTUSD".to_owned(),
            &CurrencyPair::BcptUsdc => "BCPTUSDC".to_owned(),
            &CurrencyPair::BeamBnb => "BEAMBNB".to_owned(),
            &CurrencyPair::BeamBtc => "BEAMBTC".to_owned(),
            &CurrencyPair::BeamUsdt => "BEAMUSDT".to_owned(),
            &CurrencyPair::BgbpUsdc => "BGBPUSDC".to_owned(),
            &CurrencyPair::BlzBnb => "BLZBNB".to_owned(),
            &CurrencyPair::BlzBtc => "BLZBTC".to_owned(),
            &CurrencyPair::BlzEth => "BLZETH".to_owned(),
            &CurrencyPair::BnbBtc => "BNBBTC".to_owned(),
            &CurrencyPair::BnbBusd => "BNBBUSD".to_owned(),
            &CurrencyPair::BnbEth => "BNBETH".to_owned(),
            &CurrencyPair::BnbNgn => "BNBNGN".to_owned(),
            &CurrencyPair::BnbPax => "BNBPAX".to_owned(),
            &CurrencyPair::BnbRub => "BNBRUB".to_owned(),
            &CurrencyPair::BnbTry => "BNBTRY".to_owned(),
            &CurrencyPair::BnbTusd => "BNBTUSD".to_owned(),
            &CurrencyPair::BnbUsdc => "BNBUSDC".to_owned(),
            &CurrencyPair::BnbUsds => "BNBUSDS".to_owned(),
            &CurrencyPair::BnbUsdt => "BNBUSDT".to_owned(),
            &CurrencyPair::BntBtc => "BNTBTC".to_owned(),
            &CurrencyPair::BntEth => "BNTETH".to_owned(),
            &CurrencyPair::BqxBtc => "BQXBTC".to_owned(),
            &CurrencyPair::BqxEth => "BQXETH".to_owned(),
            &CurrencyPair::BrdBnb => "BRDBNB".to_owned(),
            &CurrencyPair::BrdBtc => "BRDBTC".to_owned(),
            &CurrencyPair::BrdEth => "BRDETH".to_owned(),
            &CurrencyPair::BtcbBtc => "BTCBBTC".to_owned(),
            &CurrencyPair::BtcBusd => "BTCBUSD".to_owned(),
            &CurrencyPair::BtcDgb => "BTCDGB".to_owned(),
            &CurrencyPair::BtcFct => "BTCFCT".to_owned(),
            &CurrencyPair::BtcFoam => "BTCFOAM".to_owned(),
            &CurrencyPair::BtcGrin => "BTCGRIN".to_owned(),
            &CurrencyPair::BtcLpt => "BTCLPT".to_owned(),
            &CurrencyPair::BtcMaid => "BTCMAID".to_owned(),
            &CurrencyPair::BtcNgn => "BTCNGN".to_owned(),
            &CurrencyPair::BtcNmr => "BTCNMR".to_owned(),
            &CurrencyPair::BtcNxt => "BTCNXT".to_owned(),
            &CurrencyPair::BtcOmni => "BTCOMNI".to_owned(),
            &CurrencyPair::BtcPax => "BTCPAX".to_owned(),
            &CurrencyPair::BtcRub => "BTCRUB".to_owned(),
            &CurrencyPair::BtcStr => "BTCSTR".to_owned(),
            &CurrencyPair::BtcTry => "BTCTRY".to_owned(),
            &CurrencyPair::BtcTusd => "BTCTUSD".to_owned(),
            &CurrencyPair::BtcUsdc => "BTCUSDC".to_owned(),
            &CurrencyPair::BtcUsds => "BTCUSDS".to_owned(),
            &CurrencyPair::BtcUsdt => "BTCUSDT".to_owned(),
            &CurrencyPair::BtcVtc => "BTCVTC".to_owned(),
            &CurrencyPair::BtcXpm => "BTCXPM".to_owned(),
            &CurrencyPair::BtgBtc => "BTGBTC".to_owned(),
            &CurrencyPair::BtgEth => "BTGETH".to_owned(),
            &CurrencyPair::BtsBnb => "BTSBNB".to_owned(),
            &CurrencyPair::BtsBtc => "BTSBTC".to_owned(),
            &CurrencyPair::BtsEth => "BTSETH".to_owned(),
            &CurrencyPair::BttBnb => "BTTBNB".to_owned(),
            &CurrencyPair::BttBtc => "BTTBTC".to_owned(),
            &CurrencyPair::BttPax => "BTTPAX".to_owned(),
            &CurrencyPair::BttTrx => "BTTTRX".to_owned(),
            &CurrencyPair::BttTusd => "BTTTUSD".to_owned(),
            &CurrencyPair::BttUsdc => "BTTUSDC".to_owned(),
            &CurrencyPair::BttUsdt => "BTTUSDT".to_owned(),
            &CurrencyPair::BusdNgn => "BUSDNGN".to_owned(),
            &CurrencyPair::BusdRub => "BUSDRUB".to_owned(),
            &CurrencyPair::BusdTry => "BUSDTRY".to_owned(),
            &CurrencyPair::BusdUsdt => "BUSDUSDT".to_owned(),
            &CurrencyPair::CdtBtc => "CDTBTC".to_owned(),
            &CurrencyPair::CdtEth => "CDTETH".to_owned(),
            &CurrencyPair::CelrBnb => "CELRBNB".to_owned(),
            &CurrencyPair::CelrBtc => "CELRBTC".to_owned(),
            &CurrencyPair::CelrUsdt => "CELRUSDT".to_owned(),
            &CurrencyPair::ChatBtc => "CHATBTC".to_owned(),
            &CurrencyPair::ChatEth => "CHATETH".to_owned(),
            &CurrencyPair::ChzBnb => "CHZBNB".to_owned(),
            &CurrencyPair::ChzBtc => "CHZBTC".to_owned(),
            &CurrencyPair::ChzUsdt => "CHZUSDT".to_owned(),
            &CurrencyPair::CloakBtc => "CLOAKBTC".to_owned(),
            &CurrencyPair::CloakEth => "CLOAKETH".to_owned(),
            &CurrencyPair::CmtBnb => "CMTBNB".to_owned(),
            &CurrencyPair::CmtBtc => "CMTBTC".to_owned(),
            &CurrencyPair::CmtEth => "CMTETH".to_owned(),
            &CurrencyPair::CndBnb => "CNDBNB".to_owned(),
            &CurrencyPair::CndBtc => "CNDBTC".to_owned(),
            &CurrencyPair::CndEth => "CNDETH".to_owned(),
            &CurrencyPair::CocosBnb => "COCOSBNB".to_owned(),
            &CurrencyPair::CocosBtc => "COCOSBTC".to_owned(),
            &CurrencyPair::CocosUsdt => "COCOSUSDT".to_owned(),
            &CurrencyPair::CosBnb => "COSBNB".to_owned(),
            &CurrencyPair::CosBtc => "COSBTC".to_owned(),
            &CurrencyPair::CosUsdt => "COSUSDT".to_owned(),
            &CurrencyPair::CtxcBnb => "CTXCBNB".to_owned(),
            &CurrencyPair::CtxcBtc => "CTXCBTC".to_owned(),
            &CurrencyPair::CtxcUsdt => "CTXCUSDT".to_owned(),
            &CurrencyPair::CvcBnb => "CVCBNB".to_owned(),
            &CurrencyPair::CvcBtc => "CVCBTC".to_owned(),
            &CurrencyPair::CvcEth => "CVCETH".to_owned(),
            &CurrencyPair::CvcUsdt => "CVCUSDT".to_owned(),
            &CurrencyPair::DashBnb => "DASHBNB".to_owned(),
            &CurrencyPair::DashBtc => "DASHBTC".to_owned(),
            &CurrencyPair::DashEth => "DASHETH".to_owned(),
            &CurrencyPair::DashUsdt => "DASHUSDT".to_owned(),
            &CurrencyPair::DataBtc => "DATABTC".to_owned(),
            &CurrencyPair::DataEth => "DATAETH".to_owned(),
            &CurrencyPair::DcrBnb => "DCRBNB".to_owned(),
            &CurrencyPair::DcrBtc => "DCRBTC".to_owned(),
            &CurrencyPair::DentBtc => "DENTBTC".to_owned(),
            &CurrencyPair::DentEth => "DENTETH".to_owned(),
            &CurrencyPair::DentUsdt => "DENTUSDT".to_owned(),
            &CurrencyPair::DgdBtc => "DGDBTC".to_owned(),
            &CurrencyPair::DgdEth => "DGDETH".to_owned(),
            &CurrencyPair::DltBnb => "DLTBNB".to_owned(),
            &CurrencyPair::DltBtc => "DLTBTC".to_owned(),
            &CurrencyPair::DltEth => "DLTETH".to_owned(),
            &CurrencyPair::DntBtc => "DNTBTC".to_owned(),
            &CurrencyPair::DntEth => "DNTETH".to_owned(),
            &CurrencyPair::DockBtc => "DOCKBTC".to_owned(),
            &CurrencyPair::DockEth => "DOCKETH".to_owned(),
            &CurrencyPair::DockUsdt => "DOCKUSDT".to_owned(),
            &CurrencyPair::DogeBnb => "DOGEBNB".to_owned(),
            &CurrencyPair::DogeBtc => "DOGEBTC".to_owned(),
            &CurrencyPair::DogePax => "DOGEPAX".to_owned(),
            &CurrencyPair::DogeUsdc => "DOGEUSDC".to_owned(),
            &CurrencyPair::DogeUsdt => "DOGEUSDT".to_owned(),
            &CurrencyPair::DuskBnb => "DUSKBNB".to_owned(),
            &CurrencyPair::DuskBtc => "DUSKBTC".to_owned(),
            &CurrencyPair::DuskPax => "DUSKPAX".to_owned(),
            &CurrencyPair::DuskUsdc => "DUSKUSDC".to_owned(),
            &CurrencyPair::DuskUsdt => "DUSKUSDT".to_owned(),
            &CurrencyPair::EdoBtc => "EDOBTC".to_owned(),
            &CurrencyPair::EdoEth => "EDOETH".to_owned(),
            &CurrencyPair::ElfBtc => "ELFBTC".to_owned(),
            &CurrencyPair::ElfEth => "ELFETH".to_owned(),
            &CurrencyPair::EngBtc => "ENGBTC".to_owned(),
            &CurrencyPair::EngEth => "ENGETH".to_owned(),
            &CurrencyPair::EnjBnb => "ENJBNB".to_owned(),
            &CurrencyPair::EnjBtc => "ENJBTC".to_owned(),
            &CurrencyPair::EnjEth => "ENJETH".to_owned(),
            &CurrencyPair::EnjUsdt => "ENJUSDT".to_owned(),
            &CurrencyPair::EosBnb => "EOSBNB".to_owned(),
            &CurrencyPair::EosBtc => "EOSBTC".to_owned(),
            &CurrencyPair::EosBusd => "EOSBUSD".to_owned(),
            &CurrencyPair::EosEth => "EOSETH".to_owned(),
            &CurrencyPair::EosPax => "EOSPAX".to_owned(),
            &CurrencyPair::EosTusd => "EOSTUSD".to_owned(),
            &CurrencyPair::EosUsdc => "EOSUSDC".to_owned(),
            &CurrencyPair::EosUsdt => "EOSUSDT".to_owned(),
            &CurrencyPair::ErdBnb => "ERDBNB".to_owned(),
            &CurrencyPair::ErdBtc => "ERDBTC".to_owned(),
            &CurrencyPair::ErdPax => "ERDPAX".to_owned(),
            &CurrencyPair::ErdUsdc => "ERDUSDC".to_owned(),
            &CurrencyPair::ErdUsdt => "ERDUSDT".to_owned(),
            &CurrencyPair::EtcBnb => "ETCBNB".to_owned(),
            &CurrencyPair::EtcBtc => "ETCBTC".to_owned(),
            &CurrencyPair::EtcBusd => "ETCBUSD".to_owned(),
            &CurrencyPair::EtcEth => "ETCETH".to_owned(),
            &CurrencyPair::EtcPax => "ETCPAX".to_owned(),
            &CurrencyPair::EtcTusd => "ETCTUSD".to_owned(),
            &CurrencyPair::EtcUsdc => "ETCUSDC".to_owned(),
            &CurrencyPair::EtcUsdt => "ETCUSDT".to_owned(),
            &CurrencyPair::EthBtc => "ETHBTC".to_owned(),
            &CurrencyPair::EthBusd => "ETHBUSD".to_owned(),
            &CurrencyPair::EthPax => "ETHPAX".to_owned(),
            &CurrencyPair::EthRub => "ETHRUB".to_owned(),
            &CurrencyPair::EthTry => "ETHTRY".to_owned(),
            &CurrencyPair::EthTusd => "ETHTUSD".to_owned(),
            &CurrencyPair::EthUsdc => "ETHUSDC".to_owned(),
            &CurrencyPair::EthUsdt => "ETHUSDT".to_owned(),
            &CurrencyPair::EvxBtc => "EVXBTC".to_owned(),
            &CurrencyPair::EvxEth => "EVXETH".to_owned(),
            &CurrencyPair::FetBnb => "FETBNB".to_owned(),
            &CurrencyPair::FetBtc => "FETBTC".to_owned(),
            &CurrencyPair::FetUsdt => "FETUSDT".to_owned(),
            &CurrencyPair::FtmBnb => "FTMBNB".to_owned(),
            &CurrencyPair::FtmBtc => "FTMBTC".to_owned(),
            &CurrencyPair::FtmPax => "FTMPAX".to_owned(),
            &CurrencyPair::FtmTusd => "FTMTUSD".to_owned(),
            &CurrencyPair::FtmUsdc => "FTMUSDC".to_owned(),
            &CurrencyPair::FtmUsdt => "FTMUSDT".to_owned(),
            &CurrencyPair::FttBnb => "FTTBNB".to_owned(),
            &CurrencyPair::FttBtc => "FTTBTC".to_owned(),
            &CurrencyPair::FttUsdt => "FTTUSDT".to_owned(),
            &CurrencyPair::FuelBtc => "FUELBTC".to_owned(),
            &CurrencyPair::FuelEth => "FUELETH".to_owned(),
            &CurrencyPair::FunBtc => "FUNBTC".to_owned(),
            &CurrencyPair::FunEth => "FUNETH".to_owned(),
            &CurrencyPair::FunUsdt => "FUNUSDT".to_owned(),
            &CurrencyPair::GasBtc => "GASBTC".to_owned(),
            &CurrencyPair::GntBnb => "GNTBNB".to_owned(),
            &CurrencyPair::GntBtc => "GNTBTC".to_owned(),
            &CurrencyPair::GntEth => "GNTETH".to_owned(),
            &CurrencyPair::GoBnb => "GOBNB".to_owned(),
            &CurrencyPair::GoBtc => "GOBTC".to_owned(),
            &CurrencyPair::GrsBtc => "GRSBTC".to_owned(),
            &CurrencyPair::GrsEth => "GRSETH".to_owned(),
            &CurrencyPair::GtoBnb => "GTOBNB".to_owned(),
            &CurrencyPair::GtoBtc => "GTOBTC".to_owned(),
            &CurrencyPair::GtoEth => "GTOETH".to_owned(),
            &CurrencyPair::GtoPax => "GTOPAX".to_owned(),
            &CurrencyPair::GtoTusd => "GTOTUSD".to_owned(),
            &CurrencyPair::GtoUsdc => "GTOUSDC".to_owned(),
            &CurrencyPair::GtoUsdt => "GTOUSDT".to_owned(),
            &CurrencyPair::GvtBtc => "GVTBTC".to_owned(),
            &CurrencyPair::GvtEth => "GVTETH".to_owned(),
            &CurrencyPair::GxsBtc => "GXSBTC".to_owned(),
            &CurrencyPair::GxsEth => "GXSETH".to_owned(),
            &CurrencyPair::HbarBnb => "HBARBNB".to_owned(),
            &CurrencyPair::HbarBtc => "HBARBTC".to_owned(),
            &CurrencyPair::HbarUsdt => "HBARUSDT".to_owned(),
            &CurrencyPair::HcBtc => "HCBTC".to_owned(),
            &CurrencyPair::HcEth => "HCETH".to_owned(),
            &CurrencyPair::HcUsdt => "HCUSDT".to_owned(),
            &CurrencyPair::HotBnb => "HOTBNB".to_owned(),
            &CurrencyPair::HotBtc => "HOTBTC".to_owned(),
            &CurrencyPair::HotEth => "HOTETH".to_owned(),
            &CurrencyPair::HotUsdt => "HOTUSDT".to_owned(),
            &CurrencyPair::HsrBtc => "HSRBTC".to_owned(),
            &CurrencyPair::HsrEth => "HSRETH".to_owned(),
            &CurrencyPair::IcnBtc => "ICNBTC".to_owned(),
            &CurrencyPair::IcnEth => "ICNETH".to_owned(),
            &CurrencyPair::IcxBnb => "ICXBNB".to_owned(),
            &CurrencyPair::IcxBtc => "ICXBTC".to_owned(),
            &CurrencyPair::IcxEth => "ICXETH".to_owned(),
            &CurrencyPair::IcxUsdt => "ICXUSDT".to_owned(),
            &CurrencyPair::InsBtc => "INSBTC".to_owned(),
            &CurrencyPair::InsEth => "INSETH".to_owned(),
            &CurrencyPair::IostBnb => "IOSTBNB".to_owned(),
            &CurrencyPair::IostBtc => "IOSTBTC".to_owned(),
            &CurrencyPair::IostEth => "IOSTETH".to_owned(),
            &CurrencyPair::IostUsdt => "IOSTUSDT".to_owned(),
            &CurrencyPair::IotaBnb => "IOTABNB".to_owned(),
            &CurrencyPair::IotaBtc => "IOTABTC".to_owned(),
            &CurrencyPair::IotaEth => "IOTAETH".to_owned(),
            &CurrencyPair::IotaUsdt => "IOTAUSDT".to_owned(),
            &CurrencyPair::IotxBtc => "IOTXBTC".to_owned(),
            &CurrencyPair::IotxEth => "IOTXETH".to_owned(),
            &CurrencyPair::IotxUsdt => "IOTXUSDT".to_owned(),
            &CurrencyPair::KavaBnb => "KAVABNB".to_owned(),
            &CurrencyPair::KavaBtc => "KAVABTC".to_owned(),
            &CurrencyPair::KavaUsdt => "KAVAUSDT".to_owned(),
            &CurrencyPair::KeyBtc => "KEYBTC".to_owned(),
            &CurrencyPair::KeyEth => "KEYETH".to_owned(),
            &CurrencyPair::KeyUsdt => "KEYUSDT".to_owned(),
            &CurrencyPair::KmdBtc => "KMDBTC".to_owned(),
            &CurrencyPair::KmdEth => "KMDETH".to_owned(),
            &CurrencyPair::KncBtc => "KNCBTC".to_owned(),
            &CurrencyPair::KncEth => "KNCETH".to_owned(),
            &CurrencyPair::LendBtc => "LENDBTC".to_owned(),
            &CurrencyPair::LendEth => "LENDETH".to_owned(),
            &CurrencyPair::LinkBtc => "LINKBTC".to_owned(),
            &CurrencyPair::LinkBusd => "LINKBUSD".to_owned(),
            &CurrencyPair::LinkEth => "LINKETH".to_owned(),
            &CurrencyPair::LinkPax => "LINKPAX".to_owned(),
            &CurrencyPair::LinkTusd => "LINKTUSD".to_owned(),
            &CurrencyPair::LinkUsdc => "LINKUSDC".to_owned(),
            &CurrencyPair::LinkUsdt => "LINKUSDT".to_owned(),
            &CurrencyPair::LoomBnb => "LOOMBNB".to_owned(),
            &CurrencyPair::LoomBtc => "LOOMBTC".to_owned(),
            &CurrencyPair::LoomEth => "LOOMETH".to_owned(),
            &CurrencyPair::LrcBtc => "LRCBTC".to_owned(),
            &CurrencyPair::LrcEth => "LRCETH".to_owned(),
            &CurrencyPair::LskBnb => "LSKBNB".to_owned(),
            &CurrencyPair::LskBtc => "LSKBTC".to_owned(),
            &CurrencyPair::LskEth => "LSKETH".to_owned(),
            &CurrencyPair::LtcBnb => "LTCBNB".to_owned(),
            &CurrencyPair::LtcBtc => "LTCBTC".to_owned(),
            &CurrencyPair::LtcBusd => "LTCBUSD".to_owned(),
            &CurrencyPair::LtcEth => "LTCETH".to_owned(),
            &CurrencyPair::LtcPax => "LTCPAX".to_owned(),
            &CurrencyPair::LtcTusd => "LTCTUSD".to_owned(),
            &CurrencyPair::LtcUsdc => "LTCUSDC".to_owned(),
            &CurrencyPair::LtcUsdt => "LTCUSDT".to_owned(),
            &CurrencyPair::LunBtc => "LUNBTC".to_owned(),
            &CurrencyPair::LunEth => "LUNETH".to_owned(),
            &CurrencyPair::ManaBtc => "MANABTC".to_owned(),
            &CurrencyPair::ManaEth => "MANAETH".to_owned(),
            &CurrencyPair::MaticBnb => "MATICBNB".to_owned(),
            &CurrencyPair::MaticBtc => "MATICBTC".to_owned(),
            &CurrencyPair::MaticUsdt => "MATICUSDT".to_owned(),
            &CurrencyPair::McoBnb => "MCOBNB".to_owned(),
            &CurrencyPair::McoBtc => "MCOBTC".to_owned(),
            &CurrencyPair::McoEth => "MCOETH".to_owned(),
            &CurrencyPair::McoUsdt => "MCOUSDT".to_owned(),
            &CurrencyPair::MdaBtc => "MDABTC".to_owned(),
            &CurrencyPair::MdaEth => "MDAETH".to_owned(),
            &CurrencyPair::MftBnb => "MFTBNB".to_owned(),
            &CurrencyPair::MftBtc => "MFTBTC".to_owned(),
            &CurrencyPair::MftEth => "MFTETH".to_owned(),
            &CurrencyPair::MftUsdt => "MFTUSDT".to_owned(),
            &CurrencyPair::MithBnb => "MITHBNB".to_owned(),
            &CurrencyPair::MithBtc => "MITHBTC".to_owned(),
            &CurrencyPair::MithUsdt => "MITHUSDT".to_owned(),
            &CurrencyPair::ModBtc => "MODBTC".to_owned(),
            &CurrencyPair::ModEth => "MODETH".to_owned(),
            &CurrencyPair::MthBtc => "MTHBTC".to_owned(),
            &CurrencyPair::MthEth => "MTHETH".to_owned(),
            &CurrencyPair::MtlBtc => "MTLBTC".to_owned(),
            &CurrencyPair::MtlEth => "MTLETH".to_owned(),
            &CurrencyPair::MtlUsdt => "MTLUSDT".to_owned(),
            &CurrencyPair::NanoBnb => "NANOBNB".to_owned(),
            &CurrencyPair::NanoBtc => "NANOBTC".to_owned(),
            &CurrencyPair::NanoEth => "NANOETH".to_owned(),
            &CurrencyPair::NanoUsdt => "NANOUSDT".to_owned(),
            &CurrencyPair::NasBnb => "NASBNB".to_owned(),
            &CurrencyPair::NasBtc => "NASBTC".to_owned(),
            &CurrencyPair::NasEth => "NASETH".to_owned(),
            &CurrencyPair::NavBnb => "NAVBNB".to_owned(),
            &CurrencyPair::NavBtc => "NAVBTC".to_owned(),
            &CurrencyPair::NavEth => "NAVETH".to_owned(),
            &CurrencyPair::NcashBnb => "NCASHBNB".to_owned(),
            &CurrencyPair::NcashBtc => "NCASHBTC".to_owned(),
            &CurrencyPair::NcashEth => "NCASHETH".to_owned(),
            &CurrencyPair::NeblBnb => "NEBLBNB".to_owned(),
            &CurrencyPair::NeblBtc => "NEBLBTC".to_owned(),
            &CurrencyPair::NeblEth => "NEBLETH".to_owned(),
            &CurrencyPair::NeoBnb => "NEOBNB".to_owned(),
            &CurrencyPair::NeoBtc => "NEOBTC".to_owned(),
            &CurrencyPair::NeoEth => "NEOETH".to_owned(),
            &CurrencyPair::NeoPax => "NEOPAX".to_owned(),
            &CurrencyPair::NeoTusd => "NEOTUSD".to_owned(),
            &CurrencyPair::NeoUsdc => "NEOUSDC".to_owned(),
            &CurrencyPair::NeoUsdt => "NEOUSDT".to_owned(),
            &CurrencyPair::NknBnb => "NKNBNB".to_owned(),
            &CurrencyPair::NknBtc => "NKNBTC".to_owned(),
            &CurrencyPair::NknUsdt => "NKNUSDT".to_owned(),
            &CurrencyPair::NpxsBtc => "NPXSBTC".to_owned(),
            &CurrencyPair::NpxsEth => "NPXSETH".to_owned(),
            &CurrencyPair::NpxsUsdc => "NPXSUSDC".to_owned(),
            &CurrencyPair::NpxsUsdt => "NPXSUSDT".to_owned(),
            &CurrencyPair::NulsBnb => "NULSBNB".to_owned(),
            &CurrencyPair::NulsBtc => "NULSBTC".to_owned(),
            &CurrencyPair::NulsEth => "NULSETH".to_owned(),
            &CurrencyPair::NulsUsdt => "NULSUSDT".to_owned(),
            &CurrencyPair::NxsBnb => "NXSBNB".to_owned(),
            &CurrencyPair::NxsBtc => "NXSBTC".to_owned(),
            &CurrencyPair::NxsEth => "NXSETH".to_owned(),
            &CurrencyPair::OaxBtc => "OAXBTC".to_owned(),
            &CurrencyPair::OaxEth => "OAXETH".to_owned(),
            &CurrencyPair::OmgBnb => "OMGBNB".to_owned(),
            &CurrencyPair::OmgBtc => "OMGBTC".to_owned(),
            &CurrencyPair::OmgEth => "OMGETH".to_owned(),
            &CurrencyPair::OmgUsdt => "OMGUSDT".to_owned(),
            &CurrencyPair::OneBnb => "ONEBNB".to_owned(),
            &CurrencyPair::OneBtc => "ONEBTC".to_owned(),
            &CurrencyPair::OnePax => "ONEPAX".to_owned(),
            &CurrencyPair::OneTusd => "ONETUSD".to_owned(),
            &CurrencyPair::OneUsdc => "ONEUSDC".to_owned(),
            &CurrencyPair::OneUsdt => "ONEUSDT".to_owned(),
            &CurrencyPair::OngBnb => "ONGBNB".to_owned(),
            &CurrencyPair::OngBtc => "ONGBTC".to_owned(),
            &CurrencyPair::OngUsdt => "ONGUSDT".to_owned(),
            &CurrencyPair::OntBnb => "ONTBNB".to_owned(),
            &CurrencyPair::OntBtc => "ONTBTC".to_owned(),
            &CurrencyPair::OntEth => "ONTETH".to_owned(),
            &CurrencyPair::OntPax => "ONTPAX".to_owned(),
            &CurrencyPair::OntUsdc => "ONTUSDC".to_owned(),
            &CurrencyPair::OntUsdt => "ONTUSDT".to_owned(),
            &CurrencyPair::OstBnb => "OSTBNB".to_owned(),
            &CurrencyPair::OstBtc => "OSTBTC".to_owned(),
            &CurrencyPair::OstEth => "OSTETH".to_owned(),
            &CurrencyPair::PaxBnb => "PAXBNB".to_owned(),
            &CurrencyPair::PaxBtc => "PAXBTC".to_owned(),
            &CurrencyPair::PaxEth => "PAXETH".to_owned(),
            &CurrencyPair::PaxTusd => "PAXTUSD".to_owned(),
            &CurrencyPair::PaxUsdt => "PAXUSDT".to_owned(),
            &CurrencyPair::PerlBnb => "PERLBNB".to_owned(),
            &CurrencyPair::PerlBtc => "PERLBTC".to_owned(),
            &CurrencyPair::PerlUsdc => "PERLUSDC".to_owned(),
            &CurrencyPair::PerlUsdt => "PERLUSDT".to_owned(),
            &CurrencyPair::PhbBnb => "PHBBNB".to_owned(),
            &CurrencyPair::PhbBtc => "PHBBTC".to_owned(),
            &CurrencyPair::PhbPax => "PHBPAX".to_owned(),
            &CurrencyPair::PhbTusd => "PHBTUSD".to_owned(),
            &CurrencyPair::PhbUsdc => "PHBUSDC".to_owned(),
            &CurrencyPair::PhxBnb => "PHXBNB".to_owned(),
            &CurrencyPair::PhxBtc => "PHXBTC".to_owned(),
            &CurrencyPair::PhxEth => "PHXETH".to_owned(),
            &CurrencyPair::PivxBnb => "PIVXBNB".to_owned(),
            &CurrencyPair::PivxBtc => "PIVXBTC".to_owned(),
            &CurrencyPair::PivxEth => "PIVXETH".to_owned(),
            &CurrencyPair::PoaBnb => "POABNB".to_owned(),
            &CurrencyPair::PoaBtc => "POABTC".to_owned(),
            &CurrencyPair::PoaEth => "POAETH".to_owned(),
            &CurrencyPair::PoeBtc => "POEBTC".to_owned(),
            &CurrencyPair::PoeEth => "POEETH".to_owned(),
            &CurrencyPair::PolyBnb => "POLYBNB".to_owned(),
            &CurrencyPair::PolyBtc => "POLYBTC".to_owned(),
            &CurrencyPair::PowrBnb => "POWRBNB".to_owned(),
            &CurrencyPair::PowrBtc => "POWRBTC".to_owned(),
            &CurrencyPair::PowrEth => "POWRETH".to_owned(),
            &CurrencyPair::PptBtc => "PPTBTC".to_owned(),
            &CurrencyPair::PptEth => "PPTETH".to_owned(),
            &CurrencyPair::QkcBtc => "QKCBTC".to_owned(),
            &CurrencyPair::QkcEth => "QKCETH".to_owned(),
            &CurrencyPair::QlcBnb => "QLCBNB".to_owned(),
            &CurrencyPair::QlcBtc => "QLCBTC".to_owned(),
            &CurrencyPair::QlcEth => "QLCETH".to_owned(),
            &CurrencyPair::QspBnb => "QSPBNB".to_owned(),
            &CurrencyPair::QspBtc => "QSPBTC".to_owned(),
            &CurrencyPair::QspEth => "QSPETH".to_owned(),
            &CurrencyPair::QtumBnb => "QTUMBNB".to_owned(),
            &CurrencyPair::QtumBtc => "QTUMBTC".to_owned(),
            &CurrencyPair::QtumBusd => "QTUMBUSD".to_owned(),
            &CurrencyPair::QtumEth => "QTUMETH".to_owned(),
            &CurrencyPair::QtumUsdt => "QTUMUSDT".to_owned(),
            &CurrencyPair::RcnBnb => "RCNBNB".to_owned(),
            &CurrencyPair::RcnBtc => "RCNBTC".to_owned(),
            &CurrencyPair::RcnEth => "RCNETH".to_owned(),
            &CurrencyPair::RdnBnb => "RDNBNB".to_owned(),
            &CurrencyPair::RdnBtc => "RDNBTC".to_owned(),
            &CurrencyPair::RdnEth => "RDNETH".to_owned(),
            &CurrencyPair::RenBnb => "RENBNB".to_owned(),
            &CurrencyPair::RenBtc => "RENBTC".to_owned(),
            &CurrencyPair::RenUsdt => "RENUSDT".to_owned(),
            &CurrencyPair::RepBnb => "REPBNB".to_owned(),
            &CurrencyPair::RepBtc => "REPBTC".to_owned(),
            &CurrencyPair::RepEth => "REPETH".to_owned(),
            &CurrencyPair::ReqBtc => "REQBTC".to_owned(),
            &CurrencyPair::ReqEth => "REQETH".to_owned(),
            &CurrencyPair::RlcBnb => "RLCBNB".to_owned(),
            &CurrencyPair::RlcBtc => "RLCBTC".to_owned(),
            &CurrencyPair::RlcEth => "RLCETH".to_owned(),
            &CurrencyPair::RlcUsdt => "RLCUSDT".to_owned(),
            &CurrencyPair::RpxBnb => "RPXBNB".to_owned(),
            &CurrencyPair::RpxBtc => "RPXBTC".to_owned(),
            &CurrencyPair::RpxEth => "RPXETH".to_owned(),
            &CurrencyPair::RvnBnb => "RVNBNB".to_owned(),
            &CurrencyPair::RvnBtc => "RVNBTC".to_owned(),
            &CurrencyPair::RvnUsdt => "RVNUSDT".to_owned(),
            &CurrencyPair::SaltBtc => "SALTBTC".to_owned(),
            &CurrencyPair::SaltEth => "SALTETH".to_owned(),
            &CurrencyPair::ScBnb => "SCBNB".to_owned(),
            &CurrencyPair::ScBtc => "SCBTC".to_owned(),
            &CurrencyPair::ScEth => "SCETH".to_owned(),
            &CurrencyPair::SkyBnb => "SKYBNB".to_owned(),
            &CurrencyPair::SkyBtc => "SKYBTC".to_owned(),
            &CurrencyPair::SkyEth => "SKYETH".to_owned(),
            &CurrencyPair::SnglsBtc => "SNGLSBTC".to_owned(),
            &CurrencyPair::SnglsEth => "SNGLSETH".to_owned(),
            &CurrencyPair::SnmBtc => "SNMBTC".to_owned(),
            &CurrencyPair::SnmEth => "SNMETH".to_owned(),
            &CurrencyPair::SntBtc => "SNTBTC".to_owned(),
            &CurrencyPair::SntEth => "SNTETH".to_owned(),
            &CurrencyPair::SteemBnb => "STEEMBNB".to_owned(),
            &CurrencyPair::SteemBtc => "STEEMBTC".to_owned(),
            &CurrencyPair::SteemEth => "STEEMETH".to_owned(),
            &CurrencyPair::StorjBtc => "STORJBTC".to_owned(),
            &CurrencyPair::StorjEth => "STORJETH".to_owned(),
            &CurrencyPair::StormBnb => "STORMBNB".to_owned(),
            &CurrencyPair::StormBtc => "STORMBTC".to_owned(),
            &CurrencyPair::StormEth => "STORMETH".to_owned(),
            &CurrencyPair::StormUsdt => "STORMUSDT".to_owned(),
            &CurrencyPair::StratBtc => "STRATBTC".to_owned(),
            &CurrencyPair::StratEth => "STRATETH".to_owned(),
            &CurrencyPair::StxBnb => "STXBNB".to_owned(),
            &CurrencyPair::StxBtc => "STXBTC".to_owned(),
            &CurrencyPair::StxUsdt => "STXUSDT".to_owned(),
            &CurrencyPair::SubBtc => "SUBBTC".to_owned(),
            &CurrencyPair::SubEth => "SUBETH".to_owned(),
            &CurrencyPair::SysBnb => "SYSBNB".to_owned(),
            &CurrencyPair::SysBtc => "SYSBTC".to_owned(),
            &CurrencyPair::SysEth => "SYSETH".to_owned(),
            &CurrencyPair::TfuelBnb => "TFUELBNB".to_owned(),
            &CurrencyPair::TfuelBtc => "TFUELBTC".to_owned(),
            &CurrencyPair::TfuelPax => "TFUELPAX".to_owned(),
            &CurrencyPair::TfuelTusd => "TFUELTUSD".to_owned(),
            &CurrencyPair::TfuelUsdc => "TFUELUSDC".to_owned(),
            &CurrencyPair::TfuelUsdt => "TFUELUSDT".to_owned(),
            &CurrencyPair::ThetaBnb => "THETABNB".to_owned(),
            &CurrencyPair::ThetaBtc => "THETABTC".to_owned(),
            &CurrencyPair::ThetaEth => "THETAETH".to_owned(),
            &CurrencyPair::ThetaUsdt => "THETAUSDT".to_owned(),
            &CurrencyPair::TnbBtc => "TNBBTC".to_owned(),
            &CurrencyPair::TnbEth => "TNBETH".to_owned(),
            &CurrencyPair::TntBtc => "TNTBTC".to_owned(),
            &CurrencyPair::TntEth => "TNTETH".to_owned(),
            &CurrencyPair::TomoBnb => "TOMOBNB".to_owned(),
            &CurrencyPair::TomoBtc => "TOMOBTC".to_owned(),
            &CurrencyPair::TomoUsdc => "TOMOUSDC".to_owned(),
            &CurrencyPair::TomoUsdt => "TOMOUSDT".to_owned(),
            &CurrencyPair::TrigBnb => "TRIGBNB".to_owned(),
            &CurrencyPair::TrigBtc => "TRIGBTC".to_owned(),
            &CurrencyPair::TrigEth => "TRIGETH".to_owned(),
            &CurrencyPair::TroyBnb => "TROYBNB".to_owned(),
            &CurrencyPair::TroyBtc => "TROYBTC".to_owned(),
            &CurrencyPair::TroyUsdt => "TROYUSDT".to_owned(),
            &CurrencyPair::TrxBnb => "TRXBNB".to_owned(),
            &CurrencyPair::TrxBtc => "TRXBTC".to_owned(),
            &CurrencyPair::TrxBusd => "TRXBUSD".to_owned(),
            &CurrencyPair::TrxEth => "TRXETH".to_owned(),
            &CurrencyPair::TrxPax => "TRXPAX".to_owned(),
            &CurrencyPair::TrxTusd => "TRXTUSD".to_owned(),
            &CurrencyPair::TrxUsdc => "TRXUSDC".to_owned(),
            &CurrencyPair::TrxUsdt => "TRXUSDT".to_owned(),
            &CurrencyPair::TrxXrp => "TRXXRP".to_owned(),
            &CurrencyPair::TusdbTusd => "TUSDBTUSD".to_owned(),
            &CurrencyPair::TusdBnb => "TUSDBNB".to_owned(),
            &CurrencyPair::TusdBtc => "TUSDBTC".to_owned(),
            &CurrencyPair::TusdEth => "TUSDETH".to_owned(),
            &CurrencyPair::TusdUsdt => "TUSDUSDT".to_owned(),
            &CurrencyPair::UsdcBnb => "USDCBNB".to_owned(),
            &CurrencyPair::UsdcDash => "USDCDASH".to_owned(),
            &CurrencyPair::UsdcGrin => "USDCGRIN".to_owned(),
            &CurrencyPair::UsdcPax => "USDCPAX".to_owned(),
            &CurrencyPair::UsdcStr => "USDCSTR".to_owned(),
            &CurrencyPair::UsdcTusd => "USDCTUSD".to_owned(),
            &CurrencyPair::UsdcUsdt => "USDCUSDT".to_owned(),
            &CurrencyPair::UsdcXmr => "USDCXMR".to_owned(),
            &CurrencyPair::UsdsbUsds => "USDSBUSDS".to_owned(),
            &CurrencyPair::UsdsbUsdt => "USDSBUSDT".to_owned(),
            &CurrencyPair::UsdsPax => "USDSPAX".to_owned(),
            &CurrencyPair::UsdsTusd => "USDSTUSD".to_owned(),
            &CurrencyPair::UsdsUsdc => "USDSUSDC".to_owned(),
            &CurrencyPair::UsdsUsdt => "USDSUSDT".to_owned(),
            &CurrencyPair::UsdtDgb => "USDTDGB".to_owned(),
            &CurrencyPair::UsdtGnt => "USDTGNT".to_owned(),
            &CurrencyPair::UsdtGrin => "USDTGRIN".to_owned(),
            &CurrencyPair::UsdtLsk => "USDTLSK".to_owned(),
            &CurrencyPair::UsdtMana => "USDTMANA".to_owned(),
            &CurrencyPair::UsdtNxt => "USDTNXT".to_owned(),
            &CurrencyPair::UsdtRep => "USDTREP".to_owned(),
            &CurrencyPair::UsdtRub => "USDTRUB".to_owned(),
            &CurrencyPair::UsdtSc => "USDTSC".to_owned(),
            &CurrencyPair::UsdtStr => "USDTSTR".to_owned(),
            &CurrencyPair::UsdtTry => "USDTTRY".to_owned(),
            &CurrencyPair::VenBnb => "VENBNB".to_owned(),
            &CurrencyPair::VenBtc => "VENBTC".to_owned(),
            &CurrencyPair::VenEth => "VENETH".to_owned(),
            &CurrencyPair::VenUsdt => "VENUSDT".to_owned(),
            &CurrencyPair::VetBnb => "VETBNB".to_owned(),
            &CurrencyPair::VetBtc => "VETBTC".to_owned(),
            &CurrencyPair::VetBusd => "VETBUSD".to_owned(),
            &CurrencyPair::VetEth => "VETETH".to_owned(),
            &CurrencyPair::VetUsdt => "VETUSDT".to_owned(),
            &CurrencyPair::ViaBnb => "VIABNB".to_owned(),
            &CurrencyPair::ViaBtc => "VIABTC".to_owned(),
            &CurrencyPair::ViaEth => "VIAETH".to_owned(),
            &CurrencyPair::VibeBtc => "VIBEBTC".to_owned(),
            &CurrencyPair::VibeEth => "VIBEETH".to_owned(),
            &CurrencyPair::VibBtc => "VIBBTC".to_owned(),
            &CurrencyPair::VibEth => "VIBETH".to_owned(),
            &CurrencyPair::ViteBnb => "VITEBNB".to_owned(),
            &CurrencyPair::ViteBtc => "VITEBTC".to_owned(),
            &CurrencyPair::ViteUsdt => "VITEUSDT".to_owned(),
            &CurrencyPair::WabiBnb => "WABIBNB".to_owned(),
            &CurrencyPair::WabiBtc => "WABIBTC".to_owned(),
            &CurrencyPair::WabiEth => "WABIETH".to_owned(),
            &CurrencyPair::WanBnb => "WANBNB".to_owned(),
            &CurrencyPair::WanBtc => "WANBTC".to_owned(),
            &CurrencyPair::WanEth => "WANETH".to_owned(),
            &CurrencyPair::WanUsdt => "WANUSDT".to_owned(),
            &CurrencyPair::WavesBnb => "WAVESBNB".to_owned(),
            &CurrencyPair::WavesBtc => "WAVESBTC".to_owned(),
            &CurrencyPair::WavesEth => "WAVESETH".to_owned(),
            &CurrencyPair::WavesPax => "WAVESPAX".to_owned(),
            &CurrencyPair::WavesTusd => "WAVESTUSD".to_owned(),
            &CurrencyPair::WavesUsdc => "WAVESUSDC".to_owned(),
            &CurrencyPair::WavesUsdt => "WAVESUSDT".to_owned(),
            &CurrencyPair::WingsBtc => "WINGSBTC".to_owned(),
            &CurrencyPair::WingsEth => "WINGSETH".to_owned(),
            &CurrencyPair::WinBnb => "WINBNB".to_owned(),
            &CurrencyPair::WinBtc => "WINBTC".to_owned(),
            &CurrencyPair::WinTrx => "WINTRX".to_owned(),
            &CurrencyPair::WinUsdc => "WINUSDC".to_owned(),
            &CurrencyPair::WinUsdt => "WINUSDT".to_owned(),
            &CurrencyPair::WprBtc => "WPRBTC".to_owned(),
            &CurrencyPair::WprEth => "WPRETH".to_owned(),
            &CurrencyPair::WtcBnb => "WTCBNB".to_owned(),
            &CurrencyPair::WtcBtc => "WTCBTC".to_owned(),
            &CurrencyPair::WtcEth => "WTCETH".to_owned(),
            &CurrencyPair::XemBnb => "XEMBNB".to_owned(),
            &CurrencyPair::XemBtc => "XEMBTC".to_owned(),
            &CurrencyPair::XemEth => "XEMETH".to_owned(),
            &CurrencyPair::XlmBnb => "XLMBNB".to_owned(),
            &CurrencyPair::XlmBtc => "XLMBTC".to_owned(),
            &CurrencyPair::XlmBusd => "XLMBUSD".to_owned(),
            &CurrencyPair::XlmEth => "XLMETH".to_owned(),
            &CurrencyPair::XlmPax => "XLMPAX".to_owned(),
            &CurrencyPair::XlmTusd => "XLMTUSD".to_owned(),
            &CurrencyPair::XlmUsdc => "XLMUSDC".to_owned(),
            &CurrencyPair::XlmUsdt => "XLMUSDT".to_owned(),
            &CurrencyPair::XmrBnb => "XMRBNB".to_owned(),
            &CurrencyPair::XmrBtc => "XMRBTC".to_owned(),
            &CurrencyPair::XmrEth => "XMRETH".to_owned(),
            &CurrencyPair::XmrUsdt => "XMRUSDT".to_owned(),
            &CurrencyPair::XrpBnb => "XRPBNB".to_owned(),
            &CurrencyPair::XrpBtc => "XRPBTC".to_owned(),
            &CurrencyPair::XrpBusd => "XRPBUSD".to_owned(),
            &CurrencyPair::XrpEth => "XRPETH".to_owned(),
            &CurrencyPair::XrpPax => "XRPPAX".to_owned(),
            &CurrencyPair::XrpRub => "XRPRUB".to_owned(),
            &CurrencyPair::XrpTry => "XRPTRY".to_owned(),
            &CurrencyPair::XrpTusd => "XRPTUSD".to_owned(),
            &CurrencyPair::XrpUsdc => "XRPUSDC".to_owned(),
            &CurrencyPair::XrpUsdt => "XRPUSDT".to_owned(),
            &CurrencyPair::XtzBnb => "XTZBNB".to_owned(),
            &CurrencyPair::XtzBtc => "XTZBTC".to_owned(),
            &CurrencyPair::XtzUsdt => "XTZUSDT".to_owned(),
            &CurrencyPair::XvgBtc => "XVGBTC".to_owned(),
            &CurrencyPair::XvgEth => "XVGETH".to_owned(),
            &CurrencyPair::XzcBnb => "XZCBNB".to_owned(),
            &CurrencyPair::XzcBtc => "XZCBTC".to_owned(),
            &CurrencyPair::XzcEth => "XZCETH".to_owned(),
            &CurrencyPair::XzcXrp => "XZCXRP".to_owned(),
            &CurrencyPair::YoyoBnb => "YOYOBNB".to_owned(),
            &CurrencyPair::YoyoBtc => "YOYOBTC".to_owned(),
            &CurrencyPair::YoyoEth => "YOYOETH".to_owned(),
            &CurrencyPair::ZecBnb => "ZECBNB".to_owned(),
            &CurrencyPair::ZecBtc => "ZECBTC".to_owned(),
            &CurrencyPair::ZecEth => "ZECETH".to_owned(),
            &CurrencyPair::ZecPax => "ZECPAX".to_owned(),
            &CurrencyPair::ZecTusd => "ZECTUSD".to_owned(),
            &CurrencyPair::ZecUsdc => "ZECUSDC".to_owned(),
            &CurrencyPair::ZecUsdt => "ZECUSDT".to_owned(),
            &CurrencyPair::ZenBnb => "ZENBNB".to_owned(),
            &CurrencyPair::ZenBtc => "ZENBTC".to_owned(),
            &CurrencyPair::ZenEth => "ZENETH".to_owned(),
            &CurrencyPair::ZilBnb => "ZILBNB".to_owned(),
            &CurrencyPair::ZilBtc => "ZILBTC".to_owned(),
            &CurrencyPair::ZilEth => "ZILETH".to_owned(),
            &CurrencyPair::ZilUsdt => "ZILUSDT".to_owned(),
            &CurrencyPair::ZrxBnb => "ZRXBNB".to_owned(),
            &CurrencyPair::ZrxBtc => "ZRXBTC".to_owned(),
            &CurrencyPair::ZrxEth => "ZRXETH".to_owned(),
            &CurrencyPair::ZrxUsdt => "ZRXUSDT".to_owned(),
        }
    }

    pub fn join_reversed(&self) -> String {
        match self {
            CurrencyPair::Custom(_, ref quote, ref base) => format!("{}_{}", base, quote),
            &CurrencyPair::AdaBnb => "BNB_ADA".to_owned(),
            &CurrencyPair::AdaBtc => "BTC_ADA".to_owned(),
            &CurrencyPair::AdaBusd => "BUSD_ADA".to_owned(),
            &CurrencyPair::AdaEth => "ETH_ADA".to_owned(),
            &CurrencyPair::AdaPax => "PAX_ADA".to_owned(),
            &CurrencyPair::AdaTusd => "TUSD_ADA".to_owned(),
            &CurrencyPair::AdaUsdc => "USDC_ADA".to_owned(),
            &CurrencyPair::AdaUsdt => "USDT_ADA".to_owned(),
            &CurrencyPair::AdxBnb => "BNB_ADX".to_owned(),
            &CurrencyPair::AdxBtc => "BTC_ADX".to_owned(),
            &CurrencyPair::AdxEth => "ETH_ADX".to_owned(),
            &CurrencyPair::AeBnb => "BNB_AE".to_owned(),
            &CurrencyPair::AeBtc => "BTC_AE".to_owned(),
            &CurrencyPair::AeEth => "ETH_AE".to_owned(),
            &CurrencyPair::AgiBnb => "BNB_AGI".to_owned(),
            &CurrencyPair::AgiBtc => "BTC_AGI".to_owned(),
            &CurrencyPair::AgiEth => "ETH_AGI".to_owned(),
            &CurrencyPair::AionBnb => "BNB_AION".to_owned(),
            &CurrencyPair::AionBtc => "BTC_AION".to_owned(),
            &CurrencyPair::AionEth => "ETH_AION".to_owned(),
            &CurrencyPair::AlgoBnb => "BNB_ALGO".to_owned(),
            &CurrencyPair::AlgoBtc => "BTC_ALGO".to_owned(),
            &CurrencyPair::AlgoPax => "PAX_ALGO".to_owned(),
            &CurrencyPair::AlgoTusd => "TUSD_ALGO".to_owned(),
            &CurrencyPair::AlgoUsdc => "USDC_ALGO".to_owned(),
            &CurrencyPair::AlgoUsdt => "USDT_ALGO".to_owned(),
            &CurrencyPair::AmbBnb => "BNB_AMB".to_owned(),
            &CurrencyPair::AmbBtc => "BTC_AMB".to_owned(),
            &CurrencyPair::AmbEth => "ETH_AMB".to_owned(),
            &CurrencyPair::AnkrBnb => "BNB_ANKR".to_owned(),
            &CurrencyPair::AnkrBtc => "BTC_ANKR".to_owned(),
            &CurrencyPair::AnkrPax => "PAX_ANKR".to_owned(),
            &CurrencyPair::AnkrTusd => "TUSD_ANKR".to_owned(),
            &CurrencyPair::AnkrUsdc => "USDC_ANKR".to_owned(),
            &CurrencyPair::AnkrUsdt => "USDT_ANKR".to_owned(),
            &CurrencyPair::AppcBnb => "BNB_APPC".to_owned(),
            &CurrencyPair::AppcBtc => "BTC_APPC".to_owned(),
            &CurrencyPair::AppcEth => "ETH_APPC".to_owned(),
            &CurrencyPair::ArdrBnb => "BNB_ARDR".to_owned(),
            &CurrencyPair::ArdrBtc => "BTC_ARDR".to_owned(),
            &CurrencyPair::ArdrEth => "ETH_ARDR".to_owned(),
            &CurrencyPair::ArkBtc => "BTC_ARK".to_owned(),
            &CurrencyPair::ArkEth => "ETH_ARK".to_owned(),
            &CurrencyPair::ArnBtc => "BTC_ARN".to_owned(),
            &CurrencyPair::ArnEth => "ETH_ARN".to_owned(),
            &CurrencyPair::ArpaBnb => "BNB_ARPA".to_owned(),
            &CurrencyPair::ArpaBtc => "BTC_ARPA".to_owned(),
            &CurrencyPair::ArpaUsdt => "USDT_ARPA".to_owned(),
            &CurrencyPair::AstBtc => "BTC_AST".to_owned(),
            &CurrencyPair::AstEth => "ETH_AST".to_owned(),
            &CurrencyPair::AtomBnb => "BNB_ATOM".to_owned(),
            &CurrencyPair::AtomBtc => "BTC_ATOM".to_owned(),
            &CurrencyPair::AtomPax => "PAX_ATOM".to_owned(),
            &CurrencyPair::AtomTusd => "TUSD_ATOM".to_owned(),
            &CurrencyPair::AtomUsdc => "USDC_ATOM".to_owned(),
            &CurrencyPair::AtomUsdt => "USDT_ATOM".to_owned(),
            &CurrencyPair::BandBnb => "BNB_BAND".to_owned(),
            &CurrencyPair::BandBtc => "BTC_BAND".to_owned(),
            &CurrencyPair::BandUsdt => "USDT_BAND".to_owned(),
            &CurrencyPair::BatBnb => "BNB_BAT".to_owned(),
            &CurrencyPair::BatBtc => "BTC_BAT".to_owned(),
            &CurrencyPair::BatEth => "ETH_BAT".to_owned(),
            &CurrencyPair::BatPax => "PAX_BAT".to_owned(),
            &CurrencyPair::BatTusd => "TUSD_BAT".to_owned(),
            &CurrencyPair::BatUsdc => "USDC_BAT".to_owned(),
            &CurrencyPair::BatUsdt => "USDT_BAT".to_owned(),
            &CurrencyPair::BccBnb => "BNB_BCC".to_owned(),
            &CurrencyPair::BccBtc => "BTC_BCC".to_owned(),
            &CurrencyPair::BccEth => "ETH_BCC".to_owned(),
            &CurrencyPair::BccUsdt => "USDT_BCC".to_owned(),
            &CurrencyPair::BcdBtc => "BTC_BCD".to_owned(),
            &CurrencyPair::BcdEth => "ETH_BCD".to_owned(),
            &CurrencyPair::BchabcBtc => "BTC_BCHABC".to_owned(),
            &CurrencyPair::BchabcBusd => "BUSD_BCHABC".to_owned(),
            &CurrencyPair::BchabcPax => "PAX_BCHABC".to_owned(),
            &CurrencyPair::BchabcTusd => "TUSD_BCHABC".to_owned(),
            &CurrencyPair::BchabcUsdc => "USDC_BCHABC".to_owned(),
            &CurrencyPair::BchabcUsdt => "USDT_BCHABC".to_owned(),
            &CurrencyPair::BchsvBtc => "BTC_BCHSV".to_owned(),
            &CurrencyPair::BchsvPax => "PAX_BCHSV".to_owned(),
            &CurrencyPair::BchsvTusd => "TUSD_BCHSV".to_owned(),
            &CurrencyPair::BchsvUsdc => "USDC_BCHSV".to_owned(),
            &CurrencyPair::BchsvUsdt => "USDT_BCHSV".to_owned(),
            &CurrencyPair::BchBnb => "BNB_BCH".to_owned(),
            &CurrencyPair::BchBtc => "BTC_BCH".to_owned(),
            &CurrencyPair::BchBusd => "BUSD_BCH".to_owned(),
            &CurrencyPair::BchPax => "PAX_BCH".to_owned(),
            &CurrencyPair::BchTusd => "TUSD_BCH".to_owned(),
            &CurrencyPair::BchUsdc => "USDC_BCH".to_owned(),
            &CurrencyPair::BchUsdt => "USDT_BCH".to_owned(),
            &CurrencyPair::BcnBnb => "BNB_BCN".to_owned(),
            &CurrencyPair::BcnBtc => "BTC_BCN".to_owned(),
            &CurrencyPair::BcnEth => "ETH_BCN".to_owned(),
            &CurrencyPair::BcptBnb => "BNB_BCPT".to_owned(),
            &CurrencyPair::BcptBtc => "BTC_BCPT".to_owned(),
            &CurrencyPair::BcptEth => "ETH_BCPT".to_owned(),
            &CurrencyPair::BcptPax => "PAX_BCPT".to_owned(),
            &CurrencyPair::BcptTusd => "TUSD_BCPT".to_owned(),
            &CurrencyPair::BcptUsdc => "USDC_BCPT".to_owned(),
            &CurrencyPair::BeamBnb => "BNB_BEAM".to_owned(),
            &CurrencyPair::BeamBtc => "BTC_BEAM".to_owned(),
            &CurrencyPair::BeamUsdt => "USDT_BEAM".to_owned(),
            &CurrencyPair::BgbpUsdc => "USDC_BGBP".to_owned(),
            &CurrencyPair::BlzBnb => "BNB_BLZ".to_owned(),
            &CurrencyPair::BlzBtc => "BTC_BLZ".to_owned(),
            &CurrencyPair::BlzEth => "ETH_BLZ".to_owned(),
            &CurrencyPair::BnbBtc => "BTC_BNB".to_owned(),
            &CurrencyPair::BnbBusd => "BUSD_BNB".to_owned(),
            &CurrencyPair::BnbEth => "ETH_BNB".to_owned(),
            &CurrencyPair::BnbNgn => "NGN_BNB".to_owned(),
            &CurrencyPair::BnbPax => "PAX_BNB".to_owned(),
            &CurrencyPair::BnbRub => "RUB_BNB".to_owned(),
            &CurrencyPair::BnbTry => "TRY_BNB".to_owned(),
            &CurrencyPair::BnbTusd => "TUSD_BNB".to_owned(),
            &CurrencyPair::BnbUsdc => "USDC_BNB".to_owned(),
            &CurrencyPair::BnbUsds => "USDS_BNB".to_owned(),
            &CurrencyPair::BnbUsdt => "USDT_BNB".to_owned(),
            &CurrencyPair::BntBtc => "BTC_BNT".to_owned(),
            &CurrencyPair::BntEth => "ETH_BNT".to_owned(),
            &CurrencyPair::BqxBtc => "BTC_BQX".to_owned(),
            &CurrencyPair::BqxEth => "ETH_BQX".to_owned(),
            &CurrencyPair::BrdBnb => "BNB_BRD".to_owned(),
            &CurrencyPair::BrdBtc => "BTC_BRD".to_owned(),
            &CurrencyPair::BrdEth => "ETH_BRD".to_owned(),
            &CurrencyPair::BtcbBtc => "BTC_BTCB".to_owned(),
            &CurrencyPair::BtcBusd => "BUSD_BTC".to_owned(),
            &CurrencyPair::BtcDgb => "DGB_BTC".to_owned(),
            &CurrencyPair::BtcFct => "FCT_BTC".to_owned(),
            &CurrencyPair::BtcFoam => "FOAM_BTC".to_owned(),
            &CurrencyPair::BtcGrin => "GRIN_BTC".to_owned(),
            &CurrencyPair::BtcLpt => "LPT_BTC".to_owned(),
            &CurrencyPair::BtcMaid => "MAID_BTC".to_owned(),
            &CurrencyPair::BtcNgn => "NGN_BTC".to_owned(),
            &CurrencyPair::BtcNmr => "NMR_BTC".to_owned(),
            &CurrencyPair::BtcNxt => "NXT_BTC".to_owned(),
            &CurrencyPair::BtcOmni => "OMNI_BTC".to_owned(),
            &CurrencyPair::BtcPax => "PAX_BTC".to_owned(),
            &CurrencyPair::BtcRub => "RUB_BTC".to_owned(),
            &CurrencyPair::BtcStr => "STR_BTC".to_owned(),
            &CurrencyPair::BtcTry => "TRY_BTC".to_owned(),
            &CurrencyPair::BtcTusd => "TUSD_BTC".to_owned(),
            &CurrencyPair::BtcUsdc => "USDC_BTC".to_owned(),
            &CurrencyPair::BtcUsds => "USDS_BTC".to_owned(),
            &CurrencyPair::BtcUsdt => "USDT_BTC".to_owned(),
            &CurrencyPair::BtcVtc => "VTC_BTC".to_owned(),
            &CurrencyPair::BtcXpm => "XPM_BTC".to_owned(),
            &CurrencyPair::BtgBtc => "BTC_BTG".to_owned(),
            &CurrencyPair::BtgEth => "ETH_BTG".to_owned(),
            &CurrencyPair::BtsBnb => "BNB_BTS".to_owned(),
            &CurrencyPair::BtsBtc => "BTC_BTS".to_owned(),
            &CurrencyPair::BtsEth => "ETH_BTS".to_owned(),
            &CurrencyPair::BttBnb => "BNB_BTT".to_owned(),
            &CurrencyPair::BttBtc => "BTC_BTT".to_owned(),
            &CurrencyPair::BttPax => "PAX_BTT".to_owned(),
            &CurrencyPair::BttTrx => "TRX_BTT".to_owned(),
            &CurrencyPair::BttTusd => "TUSD_BTT".to_owned(),
            &CurrencyPair::BttUsdc => "USDC_BTT".to_owned(),
            &CurrencyPair::BttUsdt => "USDT_BTT".to_owned(),
            &CurrencyPair::BusdNgn => "NGN_BUSD".to_owned(),
            &CurrencyPair::BusdRub => "RUB_BUSD".to_owned(),
            &CurrencyPair::BusdTry => "TRY_BUSD".to_owned(),
            &CurrencyPair::BusdUsdt => "USDT_BUSD".to_owned(),
            &CurrencyPair::CdtBtc => "BTC_CDT".to_owned(),
            &CurrencyPair::CdtEth => "ETH_CDT".to_owned(),
            &CurrencyPair::CelrBnb => "BNB_CELR".to_owned(),
            &CurrencyPair::CelrBtc => "BTC_CELR".to_owned(),
            &CurrencyPair::CelrUsdt => "USDT_CELR".to_owned(),
            &CurrencyPair::ChatBtc => "BTC_CHAT".to_owned(),
            &CurrencyPair::ChatEth => "ETH_CHAT".to_owned(),
            &CurrencyPair::ChzBnb => "BNB_CHZ".to_owned(),
            &CurrencyPair::ChzBtc => "BTC_CHZ".to_owned(),
            &CurrencyPair::ChzUsdt => "USDT_CHZ".to_owned(),
            &CurrencyPair::CloakBtc => "BTC_CLOAK".to_owned(),
            &CurrencyPair::CloakEth => "ETH_CLOAK".to_owned(),
            &CurrencyPair::CmtBnb => "BNB_CMT".to_owned(),
            &CurrencyPair::CmtBtc => "BTC_CMT".to_owned(),
            &CurrencyPair::CmtEth => "ETH_CMT".to_owned(),
            &CurrencyPair::CndBnb => "BNB_CND".to_owned(),
            &CurrencyPair::CndBtc => "BTC_CND".to_owned(),
            &CurrencyPair::CndEth => "ETH_CND".to_owned(),
            &CurrencyPair::CocosBnb => "BNB_COCOS".to_owned(),
            &CurrencyPair::CocosBtc => "BTC_COCOS".to_owned(),
            &CurrencyPair::CocosUsdt => "USDT_COCOS".to_owned(),
            &CurrencyPair::CosBnb => "BNB_COS".to_owned(),
            &CurrencyPair::CosBtc => "BTC_COS".to_owned(),
            &CurrencyPair::CosUsdt => "USDT_COS".to_owned(),
            &CurrencyPair::CtxcBnb => "BNB_CTXC".to_owned(),
            &CurrencyPair::CtxcBtc => "BTC_CTXC".to_owned(),
            &CurrencyPair::CtxcUsdt => "USDT_CTXC".to_owned(),
            &CurrencyPair::CvcBnb => "BNB_CVC".to_owned(),
            &CurrencyPair::CvcBtc => "BTC_CVC".to_owned(),
            &CurrencyPair::CvcEth => "ETH_CVC".to_owned(),
            &CurrencyPair::CvcUsdt => "USDT_CVC".to_owned(),
            &CurrencyPair::DashBnb => "BNB_DASH".to_owned(),
            &CurrencyPair::DashBtc => "BTC_DASH".to_owned(),
            &CurrencyPair::DashEth => "ETH_DASH".to_owned(),
            &CurrencyPair::DashUsdt => "USDT_DASH".to_owned(),
            &CurrencyPair::DataBtc => "BTC_DATA".to_owned(),
            &CurrencyPair::DataEth => "ETH_DATA".to_owned(),
            &CurrencyPair::DcrBnb => "BNB_DCR".to_owned(),
            &CurrencyPair::DcrBtc => "BTC_DCR".to_owned(),
            &CurrencyPair::DentBtc => "BTC_DENT".to_owned(),
            &CurrencyPair::DentEth => "ETH_DENT".to_owned(),
            &CurrencyPair::DentUsdt => "USDT_DENT".to_owned(),
            &CurrencyPair::DgdBtc => "BTC_DGD".to_owned(),
            &CurrencyPair::DgdEth => "ETH_DGD".to_owned(),
            &CurrencyPair::DltBnb => "BNB_DLT".to_owned(),
            &CurrencyPair::DltBtc => "BTC_DLT".to_owned(),
            &CurrencyPair::DltEth => "ETH_DLT".to_owned(),
            &CurrencyPair::DntBtc => "BTC_DNT".to_owned(),
            &CurrencyPair::DntEth => "ETH_DNT".to_owned(),
            &CurrencyPair::DockBtc => "BTC_DOCK".to_owned(),
            &CurrencyPair::DockEth => "ETH_DOCK".to_owned(),
            &CurrencyPair::DockUsdt => "USDT_DOCK".to_owned(),
            &CurrencyPair::DogeBnb => "BNB_DOGE".to_owned(),
            &CurrencyPair::DogeBtc => "BTC_DOGE".to_owned(),
            &CurrencyPair::DogePax => "PAX_DOGE".to_owned(),
            &CurrencyPair::DogeUsdc => "USDC_DOGE".to_owned(),
            &CurrencyPair::DogeUsdt => "USDT_DOGE".to_owned(),
            &CurrencyPair::DuskBnb => "BNB_DUSK".to_owned(),
            &CurrencyPair::DuskBtc => "BTC_DUSK".to_owned(),
            &CurrencyPair::DuskPax => "PAX_DUSK".to_owned(),
            &CurrencyPair::DuskUsdc => "USDC_DUSK".to_owned(),
            &CurrencyPair::DuskUsdt => "USDT_DUSK".to_owned(),
            &CurrencyPair::EdoBtc => "BTC_EDO".to_owned(),
            &CurrencyPair::EdoEth => "ETH_EDO".to_owned(),
            &CurrencyPair::ElfBtc => "BTC_ELF".to_owned(),
            &CurrencyPair::ElfEth => "ETH_ELF".to_owned(),
            &CurrencyPair::EngBtc => "BTC_ENG".to_owned(),
            &CurrencyPair::EngEth => "ETH_ENG".to_owned(),
            &CurrencyPair::EnjBnb => "BNB_ENJ".to_owned(),
            &CurrencyPair::EnjBtc => "BTC_ENJ".to_owned(),
            &CurrencyPair::EnjEth => "ETH_ENJ".to_owned(),
            &CurrencyPair::EnjUsdt => "USDT_ENJ".to_owned(),
            &CurrencyPair::EosBnb => "BNB_EOS".to_owned(),
            &CurrencyPair::EosBtc => "BTC_EOS".to_owned(),
            &CurrencyPair::EosBusd => "BUSD_EOS".to_owned(),
            &CurrencyPair::EosEth => "ETH_EOS".to_owned(),
            &CurrencyPair::EosPax => "PAX_EOS".to_owned(),
            &CurrencyPair::EosTusd => "TUSD_EOS".to_owned(),
            &CurrencyPair::EosUsdc => "USDC_EOS".to_owned(),
            &CurrencyPair::EosUsdt => "USDT_EOS".to_owned(),
            &CurrencyPair::ErdBnb => "BNB_ERD".to_owned(),
            &CurrencyPair::ErdBtc => "BTC_ERD".to_owned(),
            &CurrencyPair::ErdPax => "PAX_ERD".to_owned(),
            &CurrencyPair::ErdUsdc => "USDC_ERD".to_owned(),
            &CurrencyPair::ErdUsdt => "USDT_ERD".to_owned(),
            &CurrencyPair::EtcBnb => "BNB_ETC".to_owned(),
            &CurrencyPair::EtcBtc => "BTC_ETC".to_owned(),
            &CurrencyPair::EtcBusd => "BUSD_ETC".to_owned(),
            &CurrencyPair::EtcEth => "ETH_ETC".to_owned(),
            &CurrencyPair::EtcPax => "PAX_ETC".to_owned(),
            &CurrencyPair::EtcTusd => "TUSD_ETC".to_owned(),
            &CurrencyPair::EtcUsdc => "USDC_ETC".to_owned(),
            &CurrencyPair::EtcUsdt => "USDT_ETC".to_owned(),
            &CurrencyPair::EthBtc => "BTC_ETH".to_owned(),
            &CurrencyPair::EthBusd => "BUSD_ETH".to_owned(),
            &CurrencyPair::EthPax => "PAX_ETH".to_owned(),
            &CurrencyPair::EthRub => "RUB_ETH".to_owned(),
            &CurrencyPair::EthTry => "TRY_ETH".to_owned(),
            &CurrencyPair::EthTusd => "TUSD_ETH".to_owned(),
            &CurrencyPair::EthUsdc => "USDC_ETH".to_owned(),
            &CurrencyPair::EthUsdt => "USDT_ETH".to_owned(),
            &CurrencyPair::EvxBtc => "BTC_EVX".to_owned(),
            &CurrencyPair::EvxEth => "ETH_EVX".to_owned(),
            &CurrencyPair::FetBnb => "BNB_FET".to_owned(),
            &CurrencyPair::FetBtc => "BTC_FET".to_owned(),
            &CurrencyPair::FetUsdt => "USDT_FET".to_owned(),
            &CurrencyPair::FtmBnb => "BNB_FTM".to_owned(),
            &CurrencyPair::FtmBtc => "BTC_FTM".to_owned(),
            &CurrencyPair::FtmPax => "PAX_FTM".to_owned(),
            &CurrencyPair::FtmTusd => "TUSD_FTM".to_owned(),
            &CurrencyPair::FtmUsdc => "USDC_FTM".to_owned(),
            &CurrencyPair::FtmUsdt => "USDT_FTM".to_owned(),
            &CurrencyPair::FttBnb => "BNB_FTT".to_owned(),
            &CurrencyPair::FttBtc => "BTC_FTT".to_owned(),
            &CurrencyPair::FttUsdt => "USDT_FTT".to_owned(),
            &CurrencyPair::FuelBtc => "BTC_FUEL".to_owned(),
            &CurrencyPair::FuelEth => "ETH_FUEL".to_owned(),
            &CurrencyPair::FunBtc => "BTC_FUN".to_owned(),
            &CurrencyPair::FunEth => "ETH_FUN".to_owned(),
            &CurrencyPair::FunUsdt => "USDT_FUN".to_owned(),
            &CurrencyPair::GasBtc => "BTC_GAS".to_owned(),
            &CurrencyPair::GntBnb => "BNB_GNT".to_owned(),
            &CurrencyPair::GntBtc => "BTC_GNT".to_owned(),
            &CurrencyPair::GntEth => "ETH_GNT".to_owned(),
            &CurrencyPair::GoBnb => "BNB_GO".to_owned(),
            &CurrencyPair::GoBtc => "BTC_GO".to_owned(),
            &CurrencyPair::GrsBtc => "BTC_GRS".to_owned(),
            &CurrencyPair::GrsEth => "ETH_GRS".to_owned(),
            &CurrencyPair::GtoBnb => "BNB_GTO".to_owned(),
            &CurrencyPair::GtoBtc => "BTC_GTO".to_owned(),
            &CurrencyPair::GtoEth => "ETH_GTO".to_owned(),
            &CurrencyPair::GtoPax => "PAX_GTO".to_owned(),
            &CurrencyPair::GtoTusd => "TUSD_GTO".to_owned(),
            &CurrencyPair::GtoUsdc => "USDC_GTO".to_owned(),
            &CurrencyPair::GtoUsdt => "USDT_GTO".to_owned(),
            &CurrencyPair::GvtBtc => "BTC_GVT".to_owned(),
            &CurrencyPair::GvtEth => "ETH_GVT".to_owned(),
            &CurrencyPair::GxsBtc => "BTC_GXS".to_owned(),
            &CurrencyPair::GxsEth => "ETH_GXS".to_owned(),
            &CurrencyPair::HbarBnb => "BNB_HBAR".to_owned(),
            &CurrencyPair::HbarBtc => "BTC_HBAR".to_owned(),
            &CurrencyPair::HbarUsdt => "USDT_HBAR".to_owned(),
            &CurrencyPair::HcBtc => "BTC_HC".to_owned(),
            &CurrencyPair::HcEth => "ETH_HC".to_owned(),
            &CurrencyPair::HcUsdt => "USDT_HC".to_owned(),
            &CurrencyPair::HotBnb => "BNB_HOT".to_owned(),
            &CurrencyPair::HotBtc => "BTC_HOT".to_owned(),
            &CurrencyPair::HotEth => "ETH_HOT".to_owned(),
            &CurrencyPair::HotUsdt => "USDT_HOT".to_owned(),
            &CurrencyPair::HsrBtc => "BTC_HSR".to_owned(),
            &CurrencyPair::HsrEth => "ETH_HSR".to_owned(),
            &CurrencyPair::IcnBtc => "BTC_ICN".to_owned(),
            &CurrencyPair::IcnEth => "ETH_ICN".to_owned(),
            &CurrencyPair::IcxBnb => "BNB_ICX".to_owned(),
            &CurrencyPair::IcxBtc => "BTC_ICX".to_owned(),
            &CurrencyPair::IcxEth => "ETH_ICX".to_owned(),
            &CurrencyPair::IcxUsdt => "USDT_ICX".to_owned(),
            &CurrencyPair::InsBtc => "BTC_INS".to_owned(),
            &CurrencyPair::InsEth => "ETH_INS".to_owned(),
            &CurrencyPair::IostBnb => "BNB_IOST".to_owned(),
            &CurrencyPair::IostBtc => "BTC_IOST".to_owned(),
            &CurrencyPair::IostEth => "ETH_IOST".to_owned(),
            &CurrencyPair::IostUsdt => "USDT_IOST".to_owned(),
            &CurrencyPair::IotaBnb => "BNB_IOTA".to_owned(),
            &CurrencyPair::IotaBtc => "BTC_IOTA".to_owned(),
            &CurrencyPair::IotaEth => "ETH_IOTA".to_owned(),
            &CurrencyPair::IotaUsdt => "USDT_IOTA".to_owned(),
            &CurrencyPair::IotxBtc => "BTC_IOTX".to_owned(),
            &CurrencyPair::IotxEth => "ETH_IOTX".to_owned(),
            &CurrencyPair::IotxUsdt => "USDT_IOTX".to_owned(),
            &CurrencyPair::KavaBnb => "BNB_KAVA".to_owned(),
            &CurrencyPair::KavaBtc => "BTC_KAVA".to_owned(),
            &CurrencyPair::KavaUsdt => "USDT_KAVA".to_owned(),
            &CurrencyPair::KeyBtc => "BTC_KEY".to_owned(),
            &CurrencyPair::KeyEth => "ETH_KEY".to_owned(),
            &CurrencyPair::KeyUsdt => "USDT_KEY".to_owned(),
            &CurrencyPair::KmdBtc => "BTC_KMD".to_owned(),
            &CurrencyPair::KmdEth => "ETH_KMD".to_owned(),
            &CurrencyPair::KncBtc => "BTC_KNC".to_owned(),
            &CurrencyPair::KncEth => "ETH_KNC".to_owned(),
            &CurrencyPair::LendBtc => "BTC_LEND".to_owned(),
            &CurrencyPair::LendEth => "ETH_LEND".to_owned(),
            &CurrencyPair::LinkBtc => "BTC_LINK".to_owned(),
            &CurrencyPair::LinkBusd => "BUSD_LINK".to_owned(),
            &CurrencyPair::LinkEth => "ETH_LINK".to_owned(),
            &CurrencyPair::LinkPax => "PAX_LINK".to_owned(),
            &CurrencyPair::LinkTusd => "TUSD_LINK".to_owned(),
            &CurrencyPair::LinkUsdc => "USDC_LINK".to_owned(),
            &CurrencyPair::LinkUsdt => "USDT_LINK".to_owned(),
            &CurrencyPair::LoomBnb => "BNB_LOOM".to_owned(),
            &CurrencyPair::LoomBtc => "BTC_LOOM".to_owned(),
            &CurrencyPair::LoomEth => "ETH_LOOM".to_owned(),
            &CurrencyPair::LrcBtc => "BTC_LRC".to_owned(),
            &CurrencyPair::LrcEth => "ETH_LRC".to_owned(),
            &CurrencyPair::LskBnb => "BNB_LSK".to_owned(),
            &CurrencyPair::LskBtc => "BTC_LSK".to_owned(),
            &CurrencyPair::LskEth => "ETH_LSK".to_owned(),
            &CurrencyPair::LtcBnb => "BNB_LTC".to_owned(),
            &CurrencyPair::LtcBtc => "BTC_LTC".to_owned(),
            &CurrencyPair::LtcBusd => "BUSD_LTC".to_owned(),
            &CurrencyPair::LtcEth => "ETH_LTC".to_owned(),
            &CurrencyPair::LtcPax => "PAX_LTC".to_owned(),
            &CurrencyPair::LtcTusd => "TUSD_LTC".to_owned(),
            &CurrencyPair::LtcUsdc => "USDC_LTC".to_owned(),
            &CurrencyPair::LtcUsdt => "USDT_LTC".to_owned(),
            &CurrencyPair::LunBtc => "BTC_LUN".to_owned(),
            &CurrencyPair::LunEth => "ETH_LUN".to_owned(),
            &CurrencyPair::ManaBtc => "BTC_MANA".to_owned(),
            &CurrencyPair::ManaEth => "ETH_MANA".to_owned(),
            &CurrencyPair::MaticBnb => "BNB_MATIC".to_owned(),
            &CurrencyPair::MaticBtc => "BTC_MATIC".to_owned(),
            &CurrencyPair::MaticUsdt => "USDT_MATIC".to_owned(),
            &CurrencyPair::McoBnb => "BNB_MCO".to_owned(),
            &CurrencyPair::McoBtc => "BTC_MCO".to_owned(),
            &CurrencyPair::McoEth => "ETH_MCO".to_owned(),
            &CurrencyPair::McoUsdt => "USDT_MCO".to_owned(),
            &CurrencyPair::MdaBtc => "BTC_MDA".to_owned(),
            &CurrencyPair::MdaEth => "ETH_MDA".to_owned(),
            &CurrencyPair::MftBnb => "BNB_MFT".to_owned(),
            &CurrencyPair::MftBtc => "BTC_MFT".to_owned(),
            &CurrencyPair::MftEth => "ETH_MFT".to_owned(),
            &CurrencyPair::MftUsdt => "USDT_MFT".to_owned(),
            &CurrencyPair::MithBnb => "BNB_MITH".to_owned(),
            &CurrencyPair::MithBtc => "BTC_MITH".to_owned(),
            &CurrencyPair::MithUsdt => "USDT_MITH".to_owned(),
            &CurrencyPair::ModBtc => "BTC_MOD".to_owned(),
            &CurrencyPair::ModEth => "ETH_MOD".to_owned(),
            &CurrencyPair::MthBtc => "BTC_MTH".to_owned(),
            &CurrencyPair::MthEth => "ETH_MTH".to_owned(),
            &CurrencyPair::MtlBtc => "BTC_MTL".to_owned(),
            &CurrencyPair::MtlEth => "ETH_MTL".to_owned(),
            &CurrencyPair::MtlUsdt => "USDT_MTL".to_owned(),
            &CurrencyPair::NanoBnb => "BNB_NANO".to_owned(),
            &CurrencyPair::NanoBtc => "BTC_NANO".to_owned(),
            &CurrencyPair::NanoEth => "ETH_NANO".to_owned(),
            &CurrencyPair::NanoUsdt => "USDT_NANO".to_owned(),
            &CurrencyPair::NasBnb => "BNB_NAS".to_owned(),
            &CurrencyPair::NasBtc => "BTC_NAS".to_owned(),
            &CurrencyPair::NasEth => "ETH_NAS".to_owned(),
            &CurrencyPair::NavBnb => "BNB_NAV".to_owned(),
            &CurrencyPair::NavBtc => "BTC_NAV".to_owned(),
            &CurrencyPair::NavEth => "ETH_NAV".to_owned(),
            &CurrencyPair::NcashBnb => "BNB_NCASH".to_owned(),
            &CurrencyPair::NcashBtc => "BTC_NCASH".to_owned(),
            &CurrencyPair::NcashEth => "ETH_NCASH".to_owned(),
            &CurrencyPair::NeblBnb => "BNB_NEBL".to_owned(),
            &CurrencyPair::NeblBtc => "BTC_NEBL".to_owned(),
            &CurrencyPair::NeblEth => "ETH_NEBL".to_owned(),
            &CurrencyPair::NeoBnb => "BNB_NEO".to_owned(),
            &CurrencyPair::NeoBtc => "BTC_NEO".to_owned(),
            &CurrencyPair::NeoEth => "ETH_NEO".to_owned(),
            &CurrencyPair::NeoPax => "PAX_NEO".to_owned(),
            &CurrencyPair::NeoTusd => "TUSD_NEO".to_owned(),
            &CurrencyPair::NeoUsdc => "USDC_NEO".to_owned(),
            &CurrencyPair::NeoUsdt => "USDT_NEO".to_owned(),
            &CurrencyPair::NknBnb => "BNB_NKN".to_owned(),
            &CurrencyPair::NknBtc => "BTC_NKN".to_owned(),
            &CurrencyPair::NknUsdt => "USDT_NKN".to_owned(),
            &CurrencyPair::NpxsBtc => "BTC_NPXS".to_owned(),
            &CurrencyPair::NpxsEth => "ETH_NPXS".to_owned(),
            &CurrencyPair::NpxsUsdc => "USDC_NPXS".to_owned(),
            &CurrencyPair::NpxsUsdt => "USDT_NPXS".to_owned(),
            &CurrencyPair::NulsBnb => "BNB_NULS".to_owned(),
            &CurrencyPair::NulsBtc => "BTC_NULS".to_owned(),
            &CurrencyPair::NulsEth => "ETH_NULS".to_owned(),
            &CurrencyPair::NulsUsdt => "USDT_NULS".to_owned(),
            &CurrencyPair::NxsBnb => "BNB_NXS".to_owned(),
            &CurrencyPair::NxsBtc => "BTC_NXS".to_owned(),
            &CurrencyPair::NxsEth => "ETH_NXS".to_owned(),
            &CurrencyPair::OaxBtc => "BTC_OAX".to_owned(),
            &CurrencyPair::OaxEth => "ETH_OAX".to_owned(),
            &CurrencyPair::OmgBnb => "BNB_OMG".to_owned(),
            &CurrencyPair::OmgBtc => "BTC_OMG".to_owned(),
            &CurrencyPair::OmgEth => "ETH_OMG".to_owned(),
            &CurrencyPair::OmgUsdt => "USDT_OMG".to_owned(),
            &CurrencyPair::OneBnb => "BNB_ONE".to_owned(),
            &CurrencyPair::OneBtc => "BTC_ONE".to_owned(),
            &CurrencyPair::OnePax => "PAX_ONE".to_owned(),
            &CurrencyPair::OneTusd => "TUSD_ONE".to_owned(),
            &CurrencyPair::OneUsdc => "USDC_ONE".to_owned(),
            &CurrencyPair::OneUsdt => "USDT_ONE".to_owned(),
            &CurrencyPair::OngBnb => "BNB_ONG".to_owned(),
            &CurrencyPair::OngBtc => "BTC_ONG".to_owned(),
            &CurrencyPair::OngUsdt => "USDT_ONG".to_owned(),
            &CurrencyPair::OntBnb => "BNB_ONT".to_owned(),
            &CurrencyPair::OntBtc => "BTC_ONT".to_owned(),
            &CurrencyPair::OntEth => "ETH_ONT".to_owned(),
            &CurrencyPair::OntPax => "PAX_ONT".to_owned(),
            &CurrencyPair::OntUsdc => "USDC_ONT".to_owned(),
            &CurrencyPair::OntUsdt => "USDT_ONT".to_owned(),
            &CurrencyPair::OstBnb => "BNB_OST".to_owned(),
            &CurrencyPair::OstBtc => "BTC_OST".to_owned(),
            &CurrencyPair::OstEth => "ETH_OST".to_owned(),
            &CurrencyPair::PaxBnb => "BNB_PAX".to_owned(),
            &CurrencyPair::PaxBtc => "BTC_PAX".to_owned(),
            &CurrencyPair::PaxEth => "ETH_PAX".to_owned(),
            &CurrencyPair::PaxTusd => "TUSD_PAX".to_owned(),
            &CurrencyPair::PaxUsdt => "USDT_PAX".to_owned(),
            &CurrencyPair::PerlBnb => "BNB_PERL".to_owned(),
            &CurrencyPair::PerlBtc => "BTC_PERL".to_owned(),
            &CurrencyPair::PerlUsdc => "USDC_PERL".to_owned(),
            &CurrencyPair::PerlUsdt => "USDT_PERL".to_owned(),
            &CurrencyPair::PhbBnb => "BNB_PHB".to_owned(),
            &CurrencyPair::PhbBtc => "BTC_PHB".to_owned(),
            &CurrencyPair::PhbPax => "PAX_PHB".to_owned(),
            &CurrencyPair::PhbTusd => "TUSD_PHB".to_owned(),
            &CurrencyPair::PhbUsdc => "USDC_PHB".to_owned(),
            &CurrencyPair::PhxBnb => "BNB_PHX".to_owned(),
            &CurrencyPair::PhxBtc => "BTC_PHX".to_owned(),
            &CurrencyPair::PhxEth => "ETH_PHX".to_owned(),
            &CurrencyPair::PivxBnb => "BNB_PIVX".to_owned(),
            &CurrencyPair::PivxBtc => "BTC_PIVX".to_owned(),
            &CurrencyPair::PivxEth => "ETH_PIVX".to_owned(),
            &CurrencyPair::PoaBnb => "BNB_POA".to_owned(),
            &CurrencyPair::PoaBtc => "BTC_POA".to_owned(),
            &CurrencyPair::PoaEth => "ETH_POA".to_owned(),
            &CurrencyPair::PoeBtc => "BTC_POE".to_owned(),
            &CurrencyPair::PoeEth => "ETH_POE".to_owned(),
            &CurrencyPair::PolyBnb => "BNB_POLY".to_owned(),
            &CurrencyPair::PolyBtc => "BTC_POLY".to_owned(),
            &CurrencyPair::PowrBnb => "BNB_POWR".to_owned(),
            &CurrencyPair::PowrBtc => "BTC_POWR".to_owned(),
            &CurrencyPair::PowrEth => "ETH_POWR".to_owned(),
            &CurrencyPair::PptBtc => "BTC_PPT".to_owned(),
            &CurrencyPair::PptEth => "ETH_PPT".to_owned(),
            &CurrencyPair::QkcBtc => "BTC_QKC".to_owned(),
            &CurrencyPair::QkcEth => "ETH_QKC".to_owned(),
            &CurrencyPair::QlcBnb => "BNB_QLC".to_owned(),
            &CurrencyPair::QlcBtc => "BTC_QLC".to_owned(),
            &CurrencyPair::QlcEth => "ETH_QLC".to_owned(),
            &CurrencyPair::QspBnb => "BNB_QSP".to_owned(),
            &CurrencyPair::QspBtc => "BTC_QSP".to_owned(),
            &CurrencyPair::QspEth => "ETH_QSP".to_owned(),
            &CurrencyPair::QtumBnb => "BNB_QTUM".to_owned(),
            &CurrencyPair::QtumBtc => "BTC_QTUM".to_owned(),
            &CurrencyPair::QtumBusd => "BUSD_QTUM".to_owned(),
            &CurrencyPair::QtumEth => "ETH_QTUM".to_owned(),
            &CurrencyPair::QtumUsdt => "USDT_QTUM".to_owned(),
            &CurrencyPair::RcnBnb => "BNB_RCN".to_owned(),
            &CurrencyPair::RcnBtc => "BTC_RCN".to_owned(),
            &CurrencyPair::RcnEth => "ETH_RCN".to_owned(),
            &CurrencyPair::RdnBnb => "BNB_RDN".to_owned(),
            &CurrencyPair::RdnBtc => "BTC_RDN".to_owned(),
            &CurrencyPair::RdnEth => "ETH_RDN".to_owned(),
            &CurrencyPair::RenBnb => "BNB_REN".to_owned(),
            &CurrencyPair::RenBtc => "BTC_REN".to_owned(),
            &CurrencyPair::RenUsdt => "USDT_REN".to_owned(),
            &CurrencyPair::RepBnb => "BNB_REP".to_owned(),
            &CurrencyPair::RepBtc => "BTC_REP".to_owned(),
            &CurrencyPair::RepEth => "ETH_REP".to_owned(),
            &CurrencyPair::ReqBtc => "BTC_REQ".to_owned(),
            &CurrencyPair::ReqEth => "ETH_REQ".to_owned(),
            &CurrencyPair::RlcBnb => "BNB_RLC".to_owned(),
            &CurrencyPair::RlcBtc => "BTC_RLC".to_owned(),
            &CurrencyPair::RlcEth => "ETH_RLC".to_owned(),
            &CurrencyPair::RlcUsdt => "USDT_RLC".to_owned(),
            &CurrencyPair::RpxBnb => "BNB_RPX".to_owned(),
            &CurrencyPair::RpxBtc => "BTC_RPX".to_owned(),
            &CurrencyPair::RpxEth => "ETH_RPX".to_owned(),
            &CurrencyPair::RvnBnb => "BNB_RVN".to_owned(),
            &CurrencyPair::RvnBtc => "BTC_RVN".to_owned(),
            &CurrencyPair::RvnUsdt => "USDT_RVN".to_owned(),
            &CurrencyPair::SaltBtc => "BTC_SALT".to_owned(),
            &CurrencyPair::SaltEth => "ETH_SALT".to_owned(),
            &CurrencyPair::ScBnb => "BNB_SC".to_owned(),
            &CurrencyPair::ScBtc => "BTC_SC".to_owned(),
            &CurrencyPair::ScEth => "ETH_SC".to_owned(),
            &CurrencyPair::SkyBnb => "BNB_SKY".to_owned(),
            &CurrencyPair::SkyBtc => "BTC_SKY".to_owned(),
            &CurrencyPair::SkyEth => "ETH_SKY".to_owned(),
            &CurrencyPair::SnglsBtc => "BTC_SNGLS".to_owned(),
            &CurrencyPair::SnglsEth => "ETH_SNGLS".to_owned(),
            &CurrencyPair::SnmBtc => "BTC_SNM".to_owned(),
            &CurrencyPair::SnmEth => "ETH_SNM".to_owned(),
            &CurrencyPair::SntBtc => "BTC_SNT".to_owned(),
            &CurrencyPair::SntEth => "ETH_SNT".to_owned(),
            &CurrencyPair::SteemBnb => "BNB_STEEM".to_owned(),
            &CurrencyPair::SteemBtc => "BTC_STEEM".to_owned(),
            &CurrencyPair::SteemEth => "ETH_STEEM".to_owned(),
            &CurrencyPair::StorjBtc => "BTC_STORJ".to_owned(),
            &CurrencyPair::StorjEth => "ETH_STORJ".to_owned(),
            &CurrencyPair::StormBnb => "BNB_STORM".to_owned(),
            &CurrencyPair::StormBtc => "BTC_STORM".to_owned(),
            &CurrencyPair::StormEth => "ETH_STORM".to_owned(),
            &CurrencyPair::StormUsdt => "USDT_STORM".to_owned(),
            &CurrencyPair::StratBtc => "BTC_STRAT".to_owned(),
            &CurrencyPair::StratEth => "ETH_STRAT".to_owned(),
            &CurrencyPair::StxBnb => "BNB_STX".to_owned(),
            &CurrencyPair::StxBtc => "BTC_STX".to_owned(),
            &CurrencyPair::StxUsdt => "USDT_STX".to_owned(),
            &CurrencyPair::SubBtc => "BTC_SUB".to_owned(),
            &CurrencyPair::SubEth => "ETH_SUB".to_owned(),
            &CurrencyPair::SysBnb => "BNB_SYS".to_owned(),
            &CurrencyPair::SysBtc => "BTC_SYS".to_owned(),
            &CurrencyPair::SysEth => "ETH_SYS".to_owned(),
            &CurrencyPair::TfuelBnb => "BNB_TFUEL".to_owned(),
            &CurrencyPair::TfuelBtc => "BTC_TFUEL".to_owned(),
            &CurrencyPair::TfuelPax => "PAX_TFUEL".to_owned(),
            &CurrencyPair::TfuelTusd => "TUSD_TFUEL".to_owned(),
            &CurrencyPair::TfuelUsdc => "USDC_TFUEL".to_owned(),
            &CurrencyPair::TfuelUsdt => "USDT_TFUEL".to_owned(),
            &CurrencyPair::ThetaBnb => "BNB_THETA".to_owned(),
            &CurrencyPair::ThetaBtc => "BTC_THETA".to_owned(),
            &CurrencyPair::ThetaEth => "ETH_THETA".to_owned(),
            &CurrencyPair::ThetaUsdt => "USDT_THETA".to_owned(),
            &CurrencyPair::TnbBtc => "BTC_TNB".to_owned(),
            &CurrencyPair::TnbEth => "ETH_TNB".to_owned(),
            &CurrencyPair::TntBtc => "BTC_TNT".to_owned(),
            &CurrencyPair::TntEth => "ETH_TNT".to_owned(),
            &CurrencyPair::TomoBnb => "BNB_TOMO".to_owned(),
            &CurrencyPair::TomoBtc => "BTC_TOMO".to_owned(),
            &CurrencyPair::TomoUsdc => "USDC_TOMO".to_owned(),
            &CurrencyPair::TomoUsdt => "USDT_TOMO".to_owned(),
            &CurrencyPair::TrigBnb => "BNB_TRIG".to_owned(),
            &CurrencyPair::TrigBtc => "BTC_TRIG".to_owned(),
            &CurrencyPair::TrigEth => "ETH_TRIG".to_owned(),
            &CurrencyPair::TroyBnb => "BNB_TROY".to_owned(),
            &CurrencyPair::TroyBtc => "BTC_TROY".to_owned(),
            &CurrencyPair::TroyUsdt => "USDT_TROY".to_owned(),
            &CurrencyPair::TrxBnb => "BNB_TRX".to_owned(),
            &CurrencyPair::TrxBtc => "BTC_TRX".to_owned(),
            &CurrencyPair::TrxBusd => "BUSD_TRX".to_owned(),
            &CurrencyPair::TrxEth => "ETH_TRX".to_owned(),
            &CurrencyPair::TrxPax => "PAX_TRX".to_owned(),
            &CurrencyPair::TrxTusd => "TUSD_TRX".to_owned(),
            &CurrencyPair::TrxUsdc => "USDC_TRX".to_owned(),
            &CurrencyPair::TrxUsdt => "USDT_TRX".to_owned(),
            &CurrencyPair::TrxXrp => "XRP_TRX".to_owned(),
            &CurrencyPair::TusdbTusd => "TUSD_TUSDB".to_owned(),
            &CurrencyPair::TusdBnb => "BNB_TUSD".to_owned(),
            &CurrencyPair::TusdBtc => "BTC_TUSD".to_owned(),
            &CurrencyPair::TusdEth => "ETH_TUSD".to_owned(),
            &CurrencyPair::TusdUsdt => "USDT_TUSD".to_owned(),
            &CurrencyPair::UsdcBnb => "BNB_USDC".to_owned(),
            &CurrencyPair::UsdcDash => "DASH_USDC".to_owned(),
            &CurrencyPair::UsdcGrin => "GRIN_USDC".to_owned(),
            &CurrencyPair::UsdcPax => "PAX_USDC".to_owned(),
            &CurrencyPair::UsdcStr => "STR_USDC".to_owned(),
            &CurrencyPair::UsdcTusd => "TUSD_USDC".to_owned(),
            &CurrencyPair::UsdcUsdt => "USDT_USDC".to_owned(),
            &CurrencyPair::UsdcXmr => "XMR_USDC".to_owned(),
            &CurrencyPair::UsdsbUsds => "USDS_USDSB".to_owned(),
            &CurrencyPair::UsdsbUsdt => "USDT_USDSB".to_owned(),
            &CurrencyPair::UsdsPax => "PAX_USDS".to_owned(),
            &CurrencyPair::UsdsTusd => "TUSD_USDS".to_owned(),
            &CurrencyPair::UsdsUsdc => "USDC_USDS".to_owned(),
            &CurrencyPair::UsdsUsdt => "USDT_USDS".to_owned(),
            &CurrencyPair::UsdtDgb => "DGB_USDT".to_owned(),
            &CurrencyPair::UsdtGnt => "GNT_USDT".to_owned(),
            &CurrencyPair::UsdtGrin => "GRIN_USDT".to_owned(),
            &CurrencyPair::UsdtLsk => "LSK_USDT".to_owned(),
            &CurrencyPair::UsdtMana => "MANA_USDT".to_owned(),
            &CurrencyPair::UsdtNxt => "NXT_USDT".to_owned(),
            &CurrencyPair::UsdtRep => "REP_USDT".to_owned(),
            &CurrencyPair::UsdtRub => "RUB_USDT".to_owned(),
            &CurrencyPair::UsdtSc => "SC_USDT".to_owned(),
            &CurrencyPair::UsdtStr => "STR_USDT".to_owned(),
            &CurrencyPair::UsdtTry => "TRY_USDT".to_owned(),
            &CurrencyPair::VenBnb => "BNB_VEN".to_owned(),
            &CurrencyPair::VenBtc => "BTC_VEN".to_owned(),
            &CurrencyPair::VenEth => "ETH_VEN".to_owned(),
            &CurrencyPair::VenUsdt => "USDT_VEN".to_owned(),
            &CurrencyPair::VetBnb => "BNB_VET".to_owned(),
            &CurrencyPair::VetBtc => "BTC_VET".to_owned(),
            &CurrencyPair::VetBusd => "BUSD_VET".to_owned(),
            &CurrencyPair::VetEth => "ETH_VET".to_owned(),
            &CurrencyPair::VetUsdt => "USDT_VET".to_owned(),
            &CurrencyPair::ViaBnb => "BNB_VIA".to_owned(),
            &CurrencyPair::ViaBtc => "BTC_VIA".to_owned(),
            &CurrencyPair::ViaEth => "ETH_VIA".to_owned(),
            &CurrencyPair::VibeBtc => "BTC_VIBE".to_owned(),
            &CurrencyPair::VibeEth => "ETH_VIBE".to_owned(),
            &CurrencyPair::VibBtc => "BTC_VIB".to_owned(),
            &CurrencyPair::VibEth => "ETH_VIB".to_owned(),
            &CurrencyPair::ViteBnb => "BNB_VITE".to_owned(),
            &CurrencyPair::ViteBtc => "BTC_VITE".to_owned(),
            &CurrencyPair::ViteUsdt => "USDT_VITE".to_owned(),
            &CurrencyPair::WabiBnb => "BNB_WABI".to_owned(),
            &CurrencyPair::WabiBtc => "BTC_WABI".to_owned(),
            &CurrencyPair::WabiEth => "ETH_WABI".to_owned(),
            &CurrencyPair::WanBnb => "BNB_WAN".to_owned(),
            &CurrencyPair::WanBtc => "BTC_WAN".to_owned(),
            &CurrencyPair::WanEth => "ETH_WAN".to_owned(),
            &CurrencyPair::WanUsdt => "USDT_WAN".to_owned(),
            &CurrencyPair::WavesBnb => "BNB_WAVES".to_owned(),
            &CurrencyPair::WavesBtc => "BTC_WAVES".to_owned(),
            &CurrencyPair::WavesEth => "ETH_WAVES".to_owned(),
            &CurrencyPair::WavesPax => "PAX_WAVES".to_owned(),
            &CurrencyPair::WavesTusd => "TUSD_WAVES".to_owned(),
            &CurrencyPair::WavesUsdc => "USDC_WAVES".to_owned(),
            &CurrencyPair::WavesUsdt => "USDT_WAVES".to_owned(),
            &CurrencyPair::WingsBtc => "BTC_WINGS".to_owned(),
            &CurrencyPair::WingsEth => "ETH_WINGS".to_owned(),
            &CurrencyPair::WinBnb => "BNB_WIN".to_owned(),
            &CurrencyPair::WinBtc => "BTC_WIN".to_owned(),
            &CurrencyPair::WinTrx => "TRX_WIN".to_owned(),
            &CurrencyPair::WinUsdc => "USDC_WIN".to_owned(),
            &CurrencyPair::WinUsdt => "USDT_WIN".to_owned(),
            &CurrencyPair::WprBtc => "BTC_WPR".to_owned(),
            &CurrencyPair::WprEth => "ETH_WPR".to_owned(),
            &CurrencyPair::WtcBnb => "BNB_WTC".to_owned(),
            &CurrencyPair::WtcBtc => "BTC_WTC".to_owned(),
            &CurrencyPair::WtcEth => "ETH_WTC".to_owned(),
            &CurrencyPair::XemBnb => "BNB_XEM".to_owned(),
            &CurrencyPair::XemBtc => "BTC_XEM".to_owned(),
            &CurrencyPair::XemEth => "ETH_XEM".to_owned(),
            &CurrencyPair::XlmBnb => "BNB_XLM".to_owned(),
            &CurrencyPair::XlmBtc => "BTC_XLM".to_owned(),
            &CurrencyPair::XlmBusd => "BUSD_XLM".to_owned(),
            &CurrencyPair::XlmEth => "ETH_XLM".to_owned(),
            &CurrencyPair::XlmPax => "PAX_XLM".to_owned(),
            &CurrencyPair::XlmTusd => "TUSD_XLM".to_owned(),
            &CurrencyPair::XlmUsdc => "USDC_XLM".to_owned(),
            &CurrencyPair::XlmUsdt => "USDT_XLM".to_owned(),
            &CurrencyPair::XmrBnb => "BNB_XMR".to_owned(),
            &CurrencyPair::XmrBtc => "BTC_XMR".to_owned(),
            &CurrencyPair::XmrEth => "ETH_XMR".to_owned(),
            &CurrencyPair::XmrUsdt => "USDT_XMR".to_owned(),
            &CurrencyPair::XrpBnb => "BNB_XRP".to_owned(),
            &CurrencyPair::XrpBtc => "BTC_XRP".to_owned(),
            &CurrencyPair::XrpBusd => "BUSD_XRP".to_owned(),
            &CurrencyPair::XrpEth => "ETH_XRP".to_owned(),
            &CurrencyPair::XrpPax => "PAX_XRP".to_owned(),
            &CurrencyPair::XrpRub => "RUB_XRP".to_owned(),
            &CurrencyPair::XrpTry => "TRY_XRP".to_owned(),
            &CurrencyPair::XrpTusd => "TUSD_XRP".to_owned(),
            &CurrencyPair::XrpUsdc => "USDC_XRP".to_owned(),
            &CurrencyPair::XrpUsdt => "USDT_XRP".to_owned(),
            &CurrencyPair::XtzBnb => "BNB_XTZ".to_owned(),
            &CurrencyPair::XtzBtc => "BTC_XTZ".to_owned(),
            &CurrencyPair::XtzUsdt => "USDT_XTZ".to_owned(),
            &CurrencyPair::XvgBtc => "BTC_XVG".to_owned(),
            &CurrencyPair::XvgEth => "ETH_XVG".to_owned(),
            &CurrencyPair::XzcBnb => "BNB_XZC".to_owned(),
            &CurrencyPair::XzcBtc => "BTC_XZC".to_owned(),
            &CurrencyPair::XzcEth => "ETH_XZC".to_owned(),
            &CurrencyPair::XzcXrp => "XRP_XZC".to_owned(),
            &CurrencyPair::YoyoBnb => "BNB_YOYO".to_owned(),
            &CurrencyPair::YoyoBtc => "BTC_YOYO".to_owned(),
            &CurrencyPair::YoyoEth => "ETH_YOYO".to_owned(),
            &CurrencyPair::ZecBnb => "BNB_ZEC".to_owned(),
            &CurrencyPair::ZecBtc => "BTC_ZEC".to_owned(),
            &CurrencyPair::ZecEth => "ETH_ZEC".to_owned(),
            &CurrencyPair::ZecPax => "PAX_ZEC".to_owned(),
            &CurrencyPair::ZecTusd => "TUSD_ZEC".to_owned(),
            &CurrencyPair::ZecUsdc => "USDC_ZEC".to_owned(),
            &CurrencyPair::ZecUsdt => "USDT_ZEC".to_owned(),
            &CurrencyPair::ZenBnb => "BNB_ZEN".to_owned(),
            &CurrencyPair::ZenBtc => "BTC_ZEN".to_owned(),
            &CurrencyPair::ZenEth => "ETH_ZEN".to_owned(),
            &CurrencyPair::ZilBnb => "BNB_ZIL".to_owned(),
            &CurrencyPair::ZilBtc => "BTC_ZIL".to_owned(),
            &CurrencyPair::ZilEth => "ETH_ZIL".to_owned(),
            &CurrencyPair::ZilUsdt => "USDT_ZIL".to_owned(),
            &CurrencyPair::ZrxBnb => "BNB_ZRX".to_owned(),
            &CurrencyPair::ZrxBtc => "BTC_ZRX".to_owned(),
            &CurrencyPair::ZrxEth => "ETH_ZRX".to_owned(),
            &CurrencyPair::ZrxUsdt => "USDT_ZRX".to_owned(),
        }
    }

    pub fn as_str(&self) -> &str {
        match self {
            CurrencyPair::Custom(ref s, _, _) => s,
            &CurrencyPair::AdaBnb => "ADA_BNB",
            &CurrencyPair::AdaBtc => "ADA_BTC",
            &CurrencyPair::AdaBusd => "ADA_BUSD",
            &CurrencyPair::AdaEth => "ADA_ETH",
            &CurrencyPair::AdaPax => "ADA_PAX",
            &CurrencyPair::AdaTusd => "ADA_TUSD",
            &CurrencyPair::AdaUsdc => "ADA_USDC",
            &CurrencyPair::AdaUsdt => "ADA_USDT",
            &CurrencyPair::AdxBnb => "ADX_BNB",
            &CurrencyPair::AdxBtc => "ADX_BTC",
            &CurrencyPair::AdxEth => "ADX_ETH",
            &CurrencyPair::AeBnb => "AE_BNB",
            &CurrencyPair::AeBtc => "AE_BTC",
            &CurrencyPair::AeEth => "AE_ETH",
            &CurrencyPair::AgiBnb => "AGI_BNB",
            &CurrencyPair::AgiBtc => "AGI_BTC",
            &CurrencyPair::AgiEth => "AGI_ETH",
            &CurrencyPair::AionBnb => "AION_BNB",
            &CurrencyPair::AionBtc => "AION_BTC",
            &CurrencyPair::AionEth => "AION_ETH",
            &CurrencyPair::AlgoBnb => "ALGO_BNB",
            &CurrencyPair::AlgoBtc => "ALGO_BTC",
            &CurrencyPair::AlgoPax => "ALGO_PAX",
            &CurrencyPair::AlgoTusd => "ALGO_TUSD",
            &CurrencyPair::AlgoUsdc => "ALGO_USDC",
            &CurrencyPair::AlgoUsdt => "ALGO_USDT",
            &CurrencyPair::AmbBnb => "AMB_BNB",
            &CurrencyPair::AmbBtc => "AMB_BTC",
            &CurrencyPair::AmbEth => "AMB_ETH",
            &CurrencyPair::AnkrBnb => "ANKR_BNB",
            &CurrencyPair::AnkrBtc => "ANKR_BTC",
            &CurrencyPair::AnkrPax => "ANKR_PAX",
            &CurrencyPair::AnkrTusd => "ANKR_TUSD",
            &CurrencyPair::AnkrUsdc => "ANKR_USDC",
            &CurrencyPair::AnkrUsdt => "ANKR_USDT",
            &CurrencyPair::AppcBnb => "APPC_BNB",
            &CurrencyPair::AppcBtc => "APPC_BTC",
            &CurrencyPair::AppcEth => "APPC_ETH",
            &CurrencyPair::ArdrBnb => "ARDR_BNB",
            &CurrencyPair::ArdrBtc => "ARDR_BTC",
            &CurrencyPair::ArdrEth => "ARDR_ETH",
            &CurrencyPair::ArkBtc => "ARK_BTC",
            &CurrencyPair::ArkEth => "ARK_ETH",
            &CurrencyPair::ArnBtc => "ARN_BTC",
            &CurrencyPair::ArnEth => "ARN_ETH",
            &CurrencyPair::ArpaBnb => "ARPA_BNB",
            &CurrencyPair::ArpaBtc => "ARPA_BTC",
            &CurrencyPair::ArpaUsdt => "ARPA_USDT",
            &CurrencyPair::AstBtc => "AST_BTC",
            &CurrencyPair::AstEth => "AST_ETH",
            &CurrencyPair::AtomBnb => "ATOM_BNB",
            &CurrencyPair::AtomBtc => "ATOM_BTC",
            &CurrencyPair::AtomPax => "ATOM_PAX",
            &CurrencyPair::AtomTusd => "ATOM_TUSD",
            &CurrencyPair::AtomUsdc => "ATOM_USDC",
            &CurrencyPair::AtomUsdt => "ATOM_USDT",
            &CurrencyPair::BandBnb => "BAND_BNB",
            &CurrencyPair::BandBtc => "BAND_BTC",
            &CurrencyPair::BandUsdt => "BAND_USDT",
            &CurrencyPair::BatBnb => "BAT_BNB",
            &CurrencyPair::BatBtc => "BAT_BTC",
            &CurrencyPair::BatEth => "BAT_ETH",
            &CurrencyPair::BatPax => "BAT_PAX",
            &CurrencyPair::BatTusd => "BAT_TUSD",
            &CurrencyPair::BatUsdc => "BAT_USDC",
            &CurrencyPair::BatUsdt => "BAT_USDT",
            &CurrencyPair::BccBnb => "BCC_BNB",
            &CurrencyPair::BccBtc => "BCC_BTC",
            &CurrencyPair::BccEth => "BCC_ETH",
            &CurrencyPair::BccUsdt => "BCC_USDT",
            &CurrencyPair::BcdBtc => "BCD_BTC",
            &CurrencyPair::BcdEth => "BCD_ETH",
            &CurrencyPair::BchabcBtc => "BCHABC_BTC",
            &CurrencyPair::BchabcBusd => "BCHABC_BUSD",
            &CurrencyPair::BchabcPax => "BCHABC_PAX",
            &CurrencyPair::BchabcTusd => "BCHABC_TUSD",
            &CurrencyPair::BchabcUsdc => "BCHABC_USDC",
            &CurrencyPair::BchabcUsdt => "BCHABC_USDT",
            &CurrencyPair::BchsvBtc => "BCHSV_BTC",
            &CurrencyPair::BchsvPax => "BCHSV_PAX",
            &CurrencyPair::BchsvTusd => "BCHSV_TUSD",
            &CurrencyPair::BchsvUsdc => "BCHSV_USDC",
            &CurrencyPair::BchsvUsdt => "BCHSV_USDT",
            &CurrencyPair::BchBnb => "BCH_BNB",
            &CurrencyPair::BchBtc => "BCH_BTC",
            &CurrencyPair::BchBusd => "BCH_BUSD",
            &CurrencyPair::BchPax => "BCH_PAX",
            &CurrencyPair::BchTusd => "BCH_TUSD",
            &CurrencyPair::BchUsdc => "BCH_USDC",
            &CurrencyPair::BchUsdt => "BCH_USDT",
            &CurrencyPair::BcnBnb => "BCN_BNB",
            &CurrencyPair::BcnBtc => "BCN_BTC",
            &CurrencyPair::BcnEth => "BCN_ETH",
            &CurrencyPair::BcptBnb => "BCPT_BNB",
            &CurrencyPair::BcptBtc => "BCPT_BTC",
            &CurrencyPair::BcptEth => "BCPT_ETH",
            &CurrencyPair::BcptPax => "BCPT_PAX",
            &CurrencyPair::BcptTusd => "BCPT_TUSD",
            &CurrencyPair::BcptUsdc => "BCPT_USDC",
            &CurrencyPair::BeamBnb => "BEAM_BNB",
            &CurrencyPair::BeamBtc => "BEAM_BTC",
            &CurrencyPair::BeamUsdt => "BEAM_USDT",
            &CurrencyPair::BgbpUsdc => "BGBP_USDC",
            &CurrencyPair::BlzBnb => "BLZ_BNB",
            &CurrencyPair::BlzBtc => "BLZ_BTC",
            &CurrencyPair::BlzEth => "BLZ_ETH",
            &CurrencyPair::BnbBtc => "BNB_BTC",
            &CurrencyPair::BnbBusd => "BNB_BUSD",
            &CurrencyPair::BnbEth => "BNB_ETH",
            &CurrencyPair::BnbNgn => "BNB_NGN",
            &CurrencyPair::BnbPax => "BNB_PAX",
            &CurrencyPair::BnbRub => "BNB_RUB",
            &CurrencyPair::BnbTry => "BNB_TRY",
            &CurrencyPair::BnbTusd => "BNB_TUSD",
            &CurrencyPair::BnbUsdc => "BNB_USDC",
            &CurrencyPair::BnbUsds => "BNB_USDS",
            &CurrencyPair::BnbUsdt => "BNB_USDT",
            &CurrencyPair::BntBtc => "BNT_BTC",
            &CurrencyPair::BntEth => "BNT_ETH",
            &CurrencyPair::BqxBtc => "BQX_BTC",
            &CurrencyPair::BqxEth => "BQX_ETH",
            &CurrencyPair::BrdBnb => "BRD_BNB",
            &CurrencyPair::BrdBtc => "BRD_BTC",
            &CurrencyPair::BrdEth => "BRD_ETH",
            &CurrencyPair::BtcbBtc => "BTCB_BTC",
            &CurrencyPair::BtcBusd => "BTC_BUSD",
            &CurrencyPair::BtcDgb => "BTC_DGB",
            &CurrencyPair::BtcFct => "BTC_FCT",
            &CurrencyPair::BtcFoam => "BTC_FOAM",
            &CurrencyPair::BtcGrin => "BTC_GRIN",
            &CurrencyPair::BtcLpt => "BTC_LPT",
            &CurrencyPair::BtcMaid => "BTC_MAID",
            &CurrencyPair::BtcNgn => "BTC_NGN",
            &CurrencyPair::BtcNmr => "BTC_NMR",
            &CurrencyPair::BtcNxt => "BTC_NXT",
            &CurrencyPair::BtcOmni => "BTC_OMNI",
            &CurrencyPair::BtcPax => "BTC_PAX",
            &CurrencyPair::BtcRub => "BTC_RUB",
            &CurrencyPair::BtcStr => "BTC_STR",
            &CurrencyPair::BtcTry => "BTC_TRY",
            &CurrencyPair::BtcTusd => "BTC_TUSD",
            &CurrencyPair::BtcUsdc => "BTC_USDC",
            &CurrencyPair::BtcUsds => "BTC_USDS",
            &CurrencyPair::BtcUsdt => "BTC_USDT",
            &CurrencyPair::BtcVtc => "BTC_VTC",
            &CurrencyPair::BtcXpm => "BTC_XPM",
            &CurrencyPair::BtgBtc => "BTG_BTC",
            &CurrencyPair::BtgEth => "BTG_ETH",
            &CurrencyPair::BtsBnb => "BTS_BNB",
            &CurrencyPair::BtsBtc => "BTS_BTC",
            &CurrencyPair::BtsEth => "BTS_ETH",
            &CurrencyPair::BttBnb => "BTT_BNB",
            &CurrencyPair::BttBtc => "BTT_BTC",
            &CurrencyPair::BttPax => "BTT_PAX",
            &CurrencyPair::BttTrx => "BTT_TRX",
            &CurrencyPair::BttTusd => "BTT_TUSD",
            &CurrencyPair::BttUsdc => "BTT_USDC",
            &CurrencyPair::BttUsdt => "BTT_USDT",
            &CurrencyPair::BusdNgn => "BUSD_NGN",
            &CurrencyPair::BusdRub => "BUSD_RUB",
            &CurrencyPair::BusdTry => "BUSD_TRY",
            &CurrencyPair::BusdUsdt => "BUSD_USDT",
            &CurrencyPair::CdtBtc => "CDT_BTC",
            &CurrencyPair::CdtEth => "CDT_ETH",
            &CurrencyPair::CelrBnb => "CELR_BNB",
            &CurrencyPair::CelrBtc => "CELR_BTC",
            &CurrencyPair::CelrUsdt => "CELR_USDT",
            &CurrencyPair::ChatBtc => "CHAT_BTC",
            &CurrencyPair::ChatEth => "CHAT_ETH",
            &CurrencyPair::ChzBnb => "CHZ_BNB",
            &CurrencyPair::ChzBtc => "CHZ_BTC",
            &CurrencyPair::ChzUsdt => "CHZ_USDT",
            &CurrencyPair::CloakBtc => "CLOAK_BTC",
            &CurrencyPair::CloakEth => "CLOAK_ETH",
            &CurrencyPair::CmtBnb => "CMT_BNB",
            &CurrencyPair::CmtBtc => "CMT_BTC",
            &CurrencyPair::CmtEth => "CMT_ETH",
            &CurrencyPair::CndBnb => "CND_BNB",
            &CurrencyPair::CndBtc => "CND_BTC",
            &CurrencyPair::CndEth => "CND_ETH",
            &CurrencyPair::CocosBnb => "COCOS_BNB",
            &CurrencyPair::CocosBtc => "COCOS_BTC",
            &CurrencyPair::CocosUsdt => "COCOS_USDT",
            &CurrencyPair::CosBnb => "COS_BNB",
            &CurrencyPair::CosBtc => "COS_BTC",
            &CurrencyPair::CosUsdt => "COS_USDT",
            &CurrencyPair::CtxcBnb => "CTXC_BNB",
            &CurrencyPair::CtxcBtc => "CTXC_BTC",
            &CurrencyPair::CtxcUsdt => "CTXC_USDT",
            &CurrencyPair::CvcBnb => "CVC_BNB",
            &CurrencyPair::CvcBtc => "CVC_BTC",
            &CurrencyPair::CvcEth => "CVC_ETH",
            &CurrencyPair::CvcUsdt => "CVC_USDT",
            &CurrencyPair::DashBnb => "DASH_BNB",
            &CurrencyPair::DashBtc => "DASH_BTC",
            &CurrencyPair::DashEth => "DASH_ETH",
            &CurrencyPair::DashUsdt => "DASH_USDT",
            &CurrencyPair::DataBtc => "DATA_BTC",
            &CurrencyPair::DataEth => "DATA_ETH",
            &CurrencyPair::DcrBnb => "DCR_BNB",
            &CurrencyPair::DcrBtc => "DCR_BTC",
            &CurrencyPair::DentBtc => "DENT_BTC",
            &CurrencyPair::DentEth => "DENT_ETH",
            &CurrencyPair::DentUsdt => "DENT_USDT",
            &CurrencyPair::DgdBtc => "DGD_BTC",
            &CurrencyPair::DgdEth => "DGD_ETH",
            &CurrencyPair::DltBnb => "DLT_BNB",
            &CurrencyPair::DltBtc => "DLT_BTC",
            &CurrencyPair::DltEth => "DLT_ETH",
            &CurrencyPair::DntBtc => "DNT_BTC",
            &CurrencyPair::DntEth => "DNT_ETH",
            &CurrencyPair::DockBtc => "DOCK_BTC",
            &CurrencyPair::DockEth => "DOCK_ETH",
            &CurrencyPair::DockUsdt => "DOCK_USDT",
            &CurrencyPair::DogeBnb => "DOGE_BNB",
            &CurrencyPair::DogeBtc => "DOGE_BTC",
            &CurrencyPair::DogePax => "DOGE_PAX",
            &CurrencyPair::DogeUsdc => "DOGE_USDC",
            &CurrencyPair::DogeUsdt => "DOGE_USDT",
            &CurrencyPair::DuskBnb => "DUSK_BNB",
            &CurrencyPair::DuskBtc => "DUSK_BTC",
            &CurrencyPair::DuskPax => "DUSK_PAX",
            &CurrencyPair::DuskUsdc => "DUSK_USDC",
            &CurrencyPair::DuskUsdt => "DUSK_USDT",
            &CurrencyPair::EdoBtc => "EDO_BTC",
            &CurrencyPair::EdoEth => "EDO_ETH",
            &CurrencyPair::ElfBtc => "ELF_BTC",
            &CurrencyPair::ElfEth => "ELF_ETH",
            &CurrencyPair::EngBtc => "ENG_BTC",
            &CurrencyPair::EngEth => "ENG_ETH",
            &CurrencyPair::EnjBnb => "ENJ_BNB",
            &CurrencyPair::EnjBtc => "ENJ_BTC",
            &CurrencyPair::EnjEth => "ENJ_ETH",
            &CurrencyPair::EnjUsdt => "ENJ_USDT",
            &CurrencyPair::EosBnb => "EOS_BNB",
            &CurrencyPair::EosBtc => "EOS_BTC",
            &CurrencyPair::EosBusd => "EOS_BUSD",
            &CurrencyPair::EosEth => "EOS_ETH",
            &CurrencyPair::EosPax => "EOS_PAX",
            &CurrencyPair::EosTusd => "EOS_TUSD",
            &CurrencyPair::EosUsdc => "EOS_USDC",
            &CurrencyPair::EosUsdt => "EOS_USDT",
            &CurrencyPair::ErdBnb => "ERD_BNB",
            &CurrencyPair::ErdBtc => "ERD_BTC",
            &CurrencyPair::ErdPax => "ERD_PAX",
            &CurrencyPair::ErdUsdc => "ERD_USDC",
            &CurrencyPair::ErdUsdt => "ERD_USDT",
            &CurrencyPair::EtcBnb => "ETC_BNB",
            &CurrencyPair::EtcBtc => "ETC_BTC",
            &CurrencyPair::EtcBusd => "ETC_BUSD",
            &CurrencyPair::EtcEth => "ETC_ETH",
            &CurrencyPair::EtcPax => "ETC_PAX",
            &CurrencyPair::EtcTusd => "ETC_TUSD",
            &CurrencyPair::EtcUsdc => "ETC_USDC",
            &CurrencyPair::EtcUsdt => "ETC_USDT",
            &CurrencyPair::EthBtc => "ETH_BTC",
            &CurrencyPair::EthBusd => "ETH_BUSD",
            &CurrencyPair::EthPax => "ETH_PAX",
            &CurrencyPair::EthRub => "ETH_RUB",
            &CurrencyPair::EthTry => "ETH_TRY",
            &CurrencyPair::EthTusd => "ETH_TUSD",
            &CurrencyPair::EthUsdc => "ETH_USDC",
            &CurrencyPair::EthUsdt => "ETH_USDT",
            &CurrencyPair::EvxBtc => "EVX_BTC",
            &CurrencyPair::EvxEth => "EVX_ETH",
            &CurrencyPair::FetBnb => "FET_BNB",
            &CurrencyPair::FetBtc => "FET_BTC",
            &CurrencyPair::FetUsdt => "FET_USDT",
            &CurrencyPair::FtmBnb => "FTM_BNB",
            &CurrencyPair::FtmBtc => "FTM_BTC",
            &CurrencyPair::FtmPax => "FTM_PAX",
            &CurrencyPair::FtmTusd => "FTM_TUSD",
            &CurrencyPair::FtmUsdc => "FTM_USDC",
            &CurrencyPair::FtmUsdt => "FTM_USDT",
            &CurrencyPair::FttBnb => "FTT_BNB",
            &CurrencyPair::FttBtc => "FTT_BTC",
            &CurrencyPair::FttUsdt => "FTT_USDT",
            &CurrencyPair::FuelBtc => "FUEL_BTC",
            &CurrencyPair::FuelEth => "FUEL_ETH",
            &CurrencyPair::FunBtc => "FUN_BTC",
            &CurrencyPair::FunEth => "FUN_ETH",
            &CurrencyPair::FunUsdt => "FUN_USDT",
            &CurrencyPair::GasBtc => "GAS_BTC",
            &CurrencyPair::GntBnb => "GNT_BNB",
            &CurrencyPair::GntBtc => "GNT_BTC",
            &CurrencyPair::GntEth => "GNT_ETH",
            &CurrencyPair::GoBnb => "GO_BNB",
            &CurrencyPair::GoBtc => "GO_BTC",
            &CurrencyPair::GrsBtc => "GRS_BTC",
            &CurrencyPair::GrsEth => "GRS_ETH",
            &CurrencyPair::GtoBnb => "GTO_BNB",
            &CurrencyPair::GtoBtc => "GTO_BTC",
            &CurrencyPair::GtoEth => "GTO_ETH",
            &CurrencyPair::GtoPax => "GTO_PAX",
            &CurrencyPair::GtoTusd => "GTO_TUSD",
            &CurrencyPair::GtoUsdc => "GTO_USDC",
            &CurrencyPair::GtoUsdt => "GTO_USDT",
            &CurrencyPair::GvtBtc => "GVT_BTC",
            &CurrencyPair::GvtEth => "GVT_ETH",
            &CurrencyPair::GxsBtc => "GXS_BTC",
            &CurrencyPair::GxsEth => "GXS_ETH",
            &CurrencyPair::HbarBnb => "HBAR_BNB",
            &CurrencyPair::HbarBtc => "HBAR_BTC",
            &CurrencyPair::HbarUsdt => "HBAR_USDT",
            &CurrencyPair::HcBtc => "HC_BTC",
            &CurrencyPair::HcEth => "HC_ETH",
            &CurrencyPair::HcUsdt => "HC_USDT",
            &CurrencyPair::HotBnb => "HOT_BNB",
            &CurrencyPair::HotBtc => "HOT_BTC",
            &CurrencyPair::HotEth => "HOT_ETH",
            &CurrencyPair::HotUsdt => "HOT_USDT",
            &CurrencyPair::HsrBtc => "HSR_BTC",
            &CurrencyPair::HsrEth => "HSR_ETH",
            &CurrencyPair::IcnBtc => "ICN_BTC",
            &CurrencyPair::IcnEth => "ICN_ETH",
            &CurrencyPair::IcxBnb => "ICX_BNB",
            &CurrencyPair::IcxBtc => "ICX_BTC",
            &CurrencyPair::IcxEth => "ICX_ETH",
            &CurrencyPair::IcxUsdt => "ICX_USDT",
            &CurrencyPair::InsBtc => "INS_BTC",
            &CurrencyPair::InsEth => "INS_ETH",
            &CurrencyPair::IostBnb => "IOST_BNB",
            &CurrencyPair::IostBtc => "IOST_BTC",
            &CurrencyPair::IostEth => "IOST_ETH",
            &CurrencyPair::IostUsdt => "IOST_USDT",
            &CurrencyPair::IotaBnb => "IOTA_BNB",
            &CurrencyPair::IotaBtc => "IOTA_BTC",
            &CurrencyPair::IotaEth => "IOTA_ETH",
            &CurrencyPair::IotaUsdt => "IOTA_USDT",
            &CurrencyPair::IotxBtc => "IOTX_BTC",
            &CurrencyPair::IotxEth => "IOTX_ETH",
            &CurrencyPair::IotxUsdt => "IOTX_USDT",
            &CurrencyPair::KavaBnb => "KAVA_BNB",
            &CurrencyPair::KavaBtc => "KAVA_BTC",
            &CurrencyPair::KavaUsdt => "KAVA_USDT",
            &CurrencyPair::KeyBtc => "KEY_BTC",
            &CurrencyPair::KeyEth => "KEY_ETH",
            &CurrencyPair::KeyUsdt => "KEY_USDT",
            &CurrencyPair::KmdBtc => "KMD_BTC",
            &CurrencyPair::KmdEth => "KMD_ETH",
            &CurrencyPair::KncBtc => "KNC_BTC",
            &CurrencyPair::KncEth => "KNC_ETH",
            &CurrencyPair::LendBtc => "LEND_BTC",
            &CurrencyPair::LendEth => "LEND_ETH",
            &CurrencyPair::LinkBtc => "LINK_BTC",
            &CurrencyPair::LinkBusd => "LINK_BUSD",
            &CurrencyPair::LinkEth => "LINK_ETH",
            &CurrencyPair::LinkPax => "LINK_PAX",
            &CurrencyPair::LinkTusd => "LINK_TUSD",
            &CurrencyPair::LinkUsdc => "LINK_USDC",
            &CurrencyPair::LinkUsdt => "LINK_USDT",
            &CurrencyPair::LoomBnb => "LOOM_BNB",
            &CurrencyPair::LoomBtc => "LOOM_BTC",
            &CurrencyPair::LoomEth => "LOOM_ETH",
            &CurrencyPair::LrcBtc => "LRC_BTC",
            &CurrencyPair::LrcEth => "LRC_ETH",
            &CurrencyPair::LskBnb => "LSK_BNB",
            &CurrencyPair::LskBtc => "LSK_BTC",
            &CurrencyPair::LskEth => "LSK_ETH",
            &CurrencyPair::LtcBnb => "LTC_BNB",
            &CurrencyPair::LtcBtc => "LTC_BTC",
            &CurrencyPair::LtcBusd => "LTC_BUSD",
            &CurrencyPair::LtcEth => "LTC_ETH",
            &CurrencyPair::LtcPax => "LTC_PAX",
            &CurrencyPair::LtcTusd => "LTC_TUSD",
            &CurrencyPair::LtcUsdc => "LTC_USDC",
            &CurrencyPair::LtcUsdt => "LTC_USDT",
            &CurrencyPair::LunBtc => "LUN_BTC",
            &CurrencyPair::LunEth => "LUN_ETH",
            &CurrencyPair::ManaBtc => "MANA_BTC",
            &CurrencyPair::ManaEth => "MANA_ETH",
            &CurrencyPair::MaticBnb => "MATIC_BNB",
            &CurrencyPair::MaticBtc => "MATIC_BTC",
            &CurrencyPair::MaticUsdt => "MATIC_USDT",
            &CurrencyPair::McoBnb => "MCO_BNB",
            &CurrencyPair::McoBtc => "MCO_BTC",
            &CurrencyPair::McoEth => "MCO_ETH",
            &CurrencyPair::McoUsdt => "MCO_USDT",
            &CurrencyPair::MdaBtc => "MDA_BTC",
            &CurrencyPair::MdaEth => "MDA_ETH",
            &CurrencyPair::MftBnb => "MFT_BNB",
            &CurrencyPair::MftBtc => "MFT_BTC",
            &CurrencyPair::MftEth => "MFT_ETH",
            &CurrencyPair::MftUsdt => "MFT_USDT",
            &CurrencyPair::MithBnb => "MITH_BNB",
            &CurrencyPair::MithBtc => "MITH_BTC",
            &CurrencyPair::MithUsdt => "MITH_USDT",
            &CurrencyPair::ModBtc => "MOD_BTC",
            &CurrencyPair::ModEth => "MOD_ETH",
            &CurrencyPair::MthBtc => "MTH_BTC",
            &CurrencyPair::MthEth => "MTH_ETH",
            &CurrencyPair::MtlBtc => "MTL_BTC",
            &CurrencyPair::MtlEth => "MTL_ETH",
            &CurrencyPair::MtlUsdt => "MTL_USDT",
            &CurrencyPair::NanoBnb => "NANO_BNB",
            &CurrencyPair::NanoBtc => "NANO_BTC",
            &CurrencyPair::NanoEth => "NANO_ETH",
            &CurrencyPair::NanoUsdt => "NANO_USDT",
            &CurrencyPair::NasBnb => "NAS_BNB",
            &CurrencyPair::NasBtc => "NAS_BTC",
            &CurrencyPair::NasEth => "NAS_ETH",
            &CurrencyPair::NavBnb => "NAV_BNB",
            &CurrencyPair::NavBtc => "NAV_BTC",
            &CurrencyPair::NavEth => "NAV_ETH",
            &CurrencyPair::NcashBnb => "NCASH_BNB",
            &CurrencyPair::NcashBtc => "NCASH_BTC",
            &CurrencyPair::NcashEth => "NCASH_ETH",
            &CurrencyPair::NeblBnb => "NEBL_BNB",
            &CurrencyPair::NeblBtc => "NEBL_BTC",
            &CurrencyPair::NeblEth => "NEBL_ETH",
            &CurrencyPair::NeoBnb => "NEO_BNB",
            &CurrencyPair::NeoBtc => "NEO_BTC",
            &CurrencyPair::NeoEth => "NEO_ETH",
            &CurrencyPair::NeoPax => "NEO_PAX",
            &CurrencyPair::NeoTusd => "NEO_TUSD",
            &CurrencyPair::NeoUsdc => "NEO_USDC",
            &CurrencyPair::NeoUsdt => "NEO_USDT",
            &CurrencyPair::NknBnb => "NKN_BNB",
            &CurrencyPair::NknBtc => "NKN_BTC",
            &CurrencyPair::NknUsdt => "NKN_USDT",
            &CurrencyPair::NpxsBtc => "NPXS_BTC",
            &CurrencyPair::NpxsEth => "NPXS_ETH",
            &CurrencyPair::NpxsUsdc => "NPXS_USDC",
            &CurrencyPair::NpxsUsdt => "NPXS_USDT",
            &CurrencyPair::NulsBnb => "NULS_BNB",
            &CurrencyPair::NulsBtc => "NULS_BTC",
            &CurrencyPair::NulsEth => "NULS_ETH",
            &CurrencyPair::NulsUsdt => "NULS_USDT",
            &CurrencyPair::NxsBnb => "NXS_BNB",
            &CurrencyPair::NxsBtc => "NXS_BTC",
            &CurrencyPair::NxsEth => "NXS_ETH",
            &CurrencyPair::OaxBtc => "OAX_BTC",
            &CurrencyPair::OaxEth => "OAX_ETH",
            &CurrencyPair::OmgBnb => "OMG_BNB",
            &CurrencyPair::OmgBtc => "OMG_BTC",
            &CurrencyPair::OmgEth => "OMG_ETH",
            &CurrencyPair::OmgUsdt => "OMG_USDT",
            &CurrencyPair::OneBnb => "ONE_BNB",
            &CurrencyPair::OneBtc => "ONE_BTC",
            &CurrencyPair::OnePax => "ONE_PAX",
            &CurrencyPair::OneTusd => "ONE_TUSD",
            &CurrencyPair::OneUsdc => "ONE_USDC",
            &CurrencyPair::OneUsdt => "ONE_USDT",
            &CurrencyPair::OngBnb => "ONG_BNB",
            &CurrencyPair::OngBtc => "ONG_BTC",
            &CurrencyPair::OngUsdt => "ONG_USDT",
            &CurrencyPair::OntBnb => "ONT_BNB",
            &CurrencyPair::OntBtc => "ONT_BTC",
            &CurrencyPair::OntEth => "ONT_ETH",
            &CurrencyPair::OntPax => "ONT_PAX",
            &CurrencyPair::OntUsdc => "ONT_USDC",
            &CurrencyPair::OntUsdt => "ONT_USDT",
            &CurrencyPair::OstBnb => "OST_BNB",
            &CurrencyPair::OstBtc => "OST_BTC",
            &CurrencyPair::OstEth => "OST_ETH",
            &CurrencyPair::PaxBnb => "PAX_BNB",
            &CurrencyPair::PaxBtc => "PAX_BTC",
            &CurrencyPair::PaxEth => "PAX_ETH",
            &CurrencyPair::PaxTusd => "PAX_TUSD",
            &CurrencyPair::PaxUsdt => "PAX_USDT",
            &CurrencyPair::PerlBnb => "PERL_BNB",
            &CurrencyPair::PerlBtc => "PERL_BTC",
            &CurrencyPair::PerlUsdc => "PERL_USDC",
            &CurrencyPair::PerlUsdt => "PERL_USDT",
            &CurrencyPair::PhbBnb => "PHB_BNB",
            &CurrencyPair::PhbBtc => "PHB_BTC",
            &CurrencyPair::PhbPax => "PHB_PAX",
            &CurrencyPair::PhbTusd => "PHB_TUSD",
            &CurrencyPair::PhbUsdc => "PHB_USDC",
            &CurrencyPair::PhxBnb => "PHX_BNB",
            &CurrencyPair::PhxBtc => "PHX_BTC",
            &CurrencyPair::PhxEth => "PHX_ETH",
            &CurrencyPair::PivxBnb => "PIVX_BNB",
            &CurrencyPair::PivxBtc => "PIVX_BTC",
            &CurrencyPair::PivxEth => "PIVX_ETH",
            &CurrencyPair::PoaBnb => "POA_BNB",
            &CurrencyPair::PoaBtc => "POA_BTC",
            &CurrencyPair::PoaEth => "POA_ETH",
            &CurrencyPair::PoeBtc => "POE_BTC",
            &CurrencyPair::PoeEth => "POE_ETH",
            &CurrencyPair::PolyBnb => "POLY_BNB",
            &CurrencyPair::PolyBtc => "POLY_BTC",
            &CurrencyPair::PowrBnb => "POWR_BNB",
            &CurrencyPair::PowrBtc => "POWR_BTC",
            &CurrencyPair::PowrEth => "POWR_ETH",
            &CurrencyPair::PptBtc => "PPT_BTC",
            &CurrencyPair::PptEth => "PPT_ETH",
            &CurrencyPair::QkcBtc => "QKC_BTC",
            &CurrencyPair::QkcEth => "QKC_ETH",
            &CurrencyPair::QlcBnb => "QLC_BNB",
            &CurrencyPair::QlcBtc => "QLC_BTC",
            &CurrencyPair::QlcEth => "QLC_ETH",
            &CurrencyPair::QspBnb => "QSP_BNB",
            &CurrencyPair::QspBtc => "QSP_BTC",
            &CurrencyPair::QspEth => "QSP_ETH",
            &CurrencyPair::QtumBnb => "QTUM_BNB",
            &CurrencyPair::QtumBtc => "QTUM_BTC",
            &CurrencyPair::QtumBusd => "QTUM_BUSD",
            &CurrencyPair::QtumEth => "QTUM_ETH",
            &CurrencyPair::QtumUsdt => "QTUM_USDT",
            &CurrencyPair::RcnBnb => "RCN_BNB",
            &CurrencyPair::RcnBtc => "RCN_BTC",
            &CurrencyPair::RcnEth => "RCN_ETH",
            &CurrencyPair::RdnBnb => "RDN_BNB",
            &CurrencyPair::RdnBtc => "RDN_BTC",
            &CurrencyPair::RdnEth => "RDN_ETH",
            &CurrencyPair::RenBnb => "REN_BNB",
            &CurrencyPair::RenBtc => "REN_BTC",
            &CurrencyPair::RenUsdt => "REN_USDT",
            &CurrencyPair::RepBnb => "REP_BNB",
            &CurrencyPair::RepBtc => "REP_BTC",
            &CurrencyPair::RepEth => "REP_ETH",
            &CurrencyPair::ReqBtc => "REQ_BTC",
            &CurrencyPair::ReqEth => "REQ_ETH",
            &CurrencyPair::RlcBnb => "RLC_BNB",
            &CurrencyPair::RlcBtc => "RLC_BTC",
            &CurrencyPair::RlcEth => "RLC_ETH",
            &CurrencyPair::RlcUsdt => "RLC_USDT",
            &CurrencyPair::RpxBnb => "RPX_BNB",
            &CurrencyPair::RpxBtc => "RPX_BTC",
            &CurrencyPair::RpxEth => "RPX_ETH",
            &CurrencyPair::RvnBnb => "RVN_BNB",
            &CurrencyPair::RvnBtc => "RVN_BTC",
            &CurrencyPair::RvnUsdt => "RVN_USDT",
            &CurrencyPair::SaltBtc => "SALT_BTC",
            &CurrencyPair::SaltEth => "SALT_ETH",
            &CurrencyPair::ScBnb => "SC_BNB",
            &CurrencyPair::ScBtc => "SC_BTC",
            &CurrencyPair::ScEth => "SC_ETH",
            &CurrencyPair::SkyBnb => "SKY_BNB",
            &CurrencyPair::SkyBtc => "SKY_BTC",
            &CurrencyPair::SkyEth => "SKY_ETH",
            &CurrencyPair::SnglsBtc => "SNGLS_BTC",
            &CurrencyPair::SnglsEth => "SNGLS_ETH",
            &CurrencyPair::SnmBtc => "SNM_BTC",
            &CurrencyPair::SnmEth => "SNM_ETH",
            &CurrencyPair::SntBtc => "SNT_BTC",
            &CurrencyPair::SntEth => "SNT_ETH",
            &CurrencyPair::SteemBnb => "STEEM_BNB",
            &CurrencyPair::SteemBtc => "STEEM_BTC",
            &CurrencyPair::SteemEth => "STEEM_ETH",
            &CurrencyPair::StorjBtc => "STORJ_BTC",
            &CurrencyPair::StorjEth => "STORJ_ETH",
            &CurrencyPair::StormBnb => "STORM_BNB",
            &CurrencyPair::StormBtc => "STORM_BTC",
            &CurrencyPair::StormEth => "STORM_ETH",
            &CurrencyPair::StormUsdt => "STORM_USDT",
            &CurrencyPair::StratBtc => "STRAT_BTC",
            &CurrencyPair::StratEth => "STRAT_ETH",
            &CurrencyPair::StxBnb => "STX_BNB",
            &CurrencyPair::StxBtc => "STX_BTC",
            &CurrencyPair::StxUsdt => "STX_USDT",
            &CurrencyPair::SubBtc => "SUB_BTC",
            &CurrencyPair::SubEth => "SUB_ETH",
            &CurrencyPair::SysBnb => "SYS_BNB",
            &CurrencyPair::SysBtc => "SYS_BTC",
            &CurrencyPair::SysEth => "SYS_ETH",
            &CurrencyPair::TfuelBnb => "TFUEL_BNB",
            &CurrencyPair::TfuelBtc => "TFUEL_BTC",
            &CurrencyPair::TfuelPax => "TFUEL_PAX",
            &CurrencyPair::TfuelTusd => "TFUEL_TUSD",
            &CurrencyPair::TfuelUsdc => "TFUEL_USDC",
            &CurrencyPair::TfuelUsdt => "TFUEL_USDT",
            &CurrencyPair::ThetaBnb => "THETA_BNB",
            &CurrencyPair::ThetaBtc => "THETA_BTC",
            &CurrencyPair::ThetaEth => "THETA_ETH",
            &CurrencyPair::ThetaUsdt => "THETA_USDT",
            &CurrencyPair::TnbBtc => "TNB_BTC",
            &CurrencyPair::TnbEth => "TNB_ETH",
            &CurrencyPair::TntBtc => "TNT_BTC",
            &CurrencyPair::TntEth => "TNT_ETH",
            &CurrencyPair::TomoBnb => "TOMO_BNB",
            &CurrencyPair::TomoBtc => "TOMO_BTC",
            &CurrencyPair::TomoUsdc => "TOMO_USDC",
            &CurrencyPair::TomoUsdt => "TOMO_USDT",
            &CurrencyPair::TrigBnb => "TRIG_BNB",
            &CurrencyPair::TrigBtc => "TRIG_BTC",
            &CurrencyPair::TrigEth => "TRIG_ETH",
            &CurrencyPair::TroyBnb => "TROY_BNB",
            &CurrencyPair::TroyBtc => "TROY_BTC",
            &CurrencyPair::TroyUsdt => "TROY_USDT",
            &CurrencyPair::TrxBnb => "TRX_BNB",
            &CurrencyPair::TrxBtc => "TRX_BTC",
            &CurrencyPair::TrxBusd => "TRX_BUSD",
            &CurrencyPair::TrxEth => "TRX_ETH",
            &CurrencyPair::TrxPax => "TRX_PAX",
            &CurrencyPair::TrxTusd => "TRX_TUSD",
            &CurrencyPair::TrxUsdc => "TRX_USDC",
            &CurrencyPair::TrxUsdt => "TRX_USDT",
            &CurrencyPair::TrxXrp => "TRX_XRP",
            &CurrencyPair::TusdbTusd => "TUSDB_TUSD",
            &CurrencyPair::TusdBnb => "TUSD_BNB",
            &CurrencyPair::TusdBtc => "TUSD_BTC",
            &CurrencyPair::TusdEth => "TUSD_ETH",
            &CurrencyPair::TusdUsdt => "TUSD_USDT",
            &CurrencyPair::UsdcBnb => "USDC_BNB",
            &CurrencyPair::UsdcDash => "USDC_DASH",
            &CurrencyPair::UsdcGrin => "USDC_GRIN",
            &CurrencyPair::UsdcPax => "USDC_PAX",
            &CurrencyPair::UsdcStr => "USDC_STR",
            &CurrencyPair::UsdcTusd => "USDC_TUSD",
            &CurrencyPair::UsdcUsdt => "USDC_USDT",
            &CurrencyPair::UsdcXmr => "USDC_XMR",
            &CurrencyPair::UsdsbUsds => "USDSB_USDS",
            &CurrencyPair::UsdsbUsdt => "USDSB_USDT",
            &CurrencyPair::UsdsPax => "USDS_PAX",
            &CurrencyPair::UsdsTusd => "USDS_TUSD",
            &CurrencyPair::UsdsUsdc => "USDS_USDC",
            &CurrencyPair::UsdsUsdt => "USDS_USDT",
            &CurrencyPair::UsdtDgb => "USDT_DGB",
            &CurrencyPair::UsdtGnt => "USDT_GNT",
            &CurrencyPair::UsdtGrin => "USDT_GRIN",
            &CurrencyPair::UsdtLsk => "USDT_LSK",
            &CurrencyPair::UsdtMana => "USDT_MANA",
            &CurrencyPair::UsdtNxt => "USDT_NXT",
            &CurrencyPair::UsdtRep => "USDT_REP",
            &CurrencyPair::UsdtRub => "USDT_RUB",
            &CurrencyPair::UsdtSc => "USDT_SC",
            &CurrencyPair::UsdtStr => "USDT_STR",
            &CurrencyPair::UsdtTry => "USDT_TRY",
            &CurrencyPair::VenBnb => "VEN_BNB",
            &CurrencyPair::VenBtc => "VEN_BTC",
            &CurrencyPair::VenEth => "VEN_ETH",
            &CurrencyPair::VenUsdt => "VEN_USDT",
            &CurrencyPair::VetBnb => "VET_BNB",
            &CurrencyPair::VetBtc => "VET_BTC",
            &CurrencyPair::VetBusd => "VET_BUSD",
            &CurrencyPair::VetEth => "VET_ETH",
            &CurrencyPair::VetUsdt => "VET_USDT",
            &CurrencyPair::ViaBnb => "VIA_BNB",
            &CurrencyPair::ViaBtc => "VIA_BTC",
            &CurrencyPair::ViaEth => "VIA_ETH",
            &CurrencyPair::VibeBtc => "VIBE_BTC",
            &CurrencyPair::VibeEth => "VIBE_ETH",
            &CurrencyPair::VibBtc => "VIB_BTC",
            &CurrencyPair::VibEth => "VIB_ETH",
            &CurrencyPair::ViteBnb => "VITE_BNB",
            &CurrencyPair::ViteBtc => "VITE_BTC",
            &CurrencyPair::ViteUsdt => "VITE_USDT",
            &CurrencyPair::WabiBnb => "WABI_BNB",
            &CurrencyPair::WabiBtc => "WABI_BTC",
            &CurrencyPair::WabiEth => "WABI_ETH",
            &CurrencyPair::WanBnb => "WAN_BNB",
            &CurrencyPair::WanBtc => "WAN_BTC",
            &CurrencyPair::WanEth => "WAN_ETH",
            &CurrencyPair::WanUsdt => "WAN_USDT",
            &CurrencyPair::WavesBnb => "WAVES_BNB",
            &CurrencyPair::WavesBtc => "WAVES_BTC",
            &CurrencyPair::WavesEth => "WAVES_ETH",
            &CurrencyPair::WavesPax => "WAVES_PAX",
            &CurrencyPair::WavesTusd => "WAVES_TUSD",
            &CurrencyPair::WavesUsdc => "WAVES_USDC",
            &CurrencyPair::WavesUsdt => "WAVES_USDT",
            &CurrencyPair::WingsBtc => "WINGS_BTC",
            &CurrencyPair::WingsEth => "WINGS_ETH",
            &CurrencyPair::WinBnb => "WIN_BNB",
            &CurrencyPair::WinBtc => "WIN_BTC",
            &CurrencyPair::WinTrx => "WIN_TRX",
            &CurrencyPair::WinUsdc => "WIN_USDC",
            &CurrencyPair::WinUsdt => "WIN_USDT",
            &CurrencyPair::WprBtc => "WPR_BTC",
            &CurrencyPair::WprEth => "WPR_ETH",
            &CurrencyPair::WtcBnb => "WTC_BNB",
            &CurrencyPair::WtcBtc => "WTC_BTC",
            &CurrencyPair::WtcEth => "WTC_ETH",
            &CurrencyPair::XemBnb => "XEM_BNB",
            &CurrencyPair::XemBtc => "XEM_BTC",
            &CurrencyPair::XemEth => "XEM_ETH",
            &CurrencyPair::XlmBnb => "XLM_BNB",
            &CurrencyPair::XlmBtc => "XLM_BTC",
            &CurrencyPair::XlmBusd => "XLM_BUSD",
            &CurrencyPair::XlmEth => "XLM_ETH",
            &CurrencyPair::XlmPax => "XLM_PAX",
            &CurrencyPair::XlmTusd => "XLM_TUSD",
            &CurrencyPair::XlmUsdc => "XLM_USDC",
            &CurrencyPair::XlmUsdt => "XLM_USDT",
            &CurrencyPair::XmrBnb => "XMR_BNB",
            &CurrencyPair::XmrBtc => "XMR_BTC",
            &CurrencyPair::XmrEth => "XMR_ETH",
            &CurrencyPair::XmrUsdt => "XMR_USDT",
            &CurrencyPair::XrpBnb => "XRP_BNB",
            &CurrencyPair::XrpBtc => "XRP_BTC",
            &CurrencyPair::XrpBusd => "XRP_BUSD",
            &CurrencyPair::XrpEth => "XRP_ETH",
            &CurrencyPair::XrpPax => "XRP_PAX",
            &CurrencyPair::XrpRub => "XRP_RUB",
            &CurrencyPair::XrpTry => "XRP_TRY",
            &CurrencyPair::XrpTusd => "XRP_TUSD",
            &CurrencyPair::XrpUsdc => "XRP_USDC",
            &CurrencyPair::XrpUsdt => "XRP_USDT",
            &CurrencyPair::XtzBnb => "XTZ_BNB",
            &CurrencyPair::XtzBtc => "XTZ_BTC",
            &CurrencyPair::XtzUsdt => "XTZ_USDT",
            &CurrencyPair::XvgBtc => "XVG_BTC",
            &CurrencyPair::XvgEth => "XVG_ETH",
            &CurrencyPair::XzcBnb => "XZC_BNB",
            &CurrencyPair::XzcBtc => "XZC_BTC",
            &CurrencyPair::XzcEth => "XZC_ETH",
            &CurrencyPair::XzcXrp => "XZC_XRP",
            &CurrencyPair::YoyoBnb => "YOYO_BNB",
            &CurrencyPair::YoyoBtc => "YOYO_BTC",
            &CurrencyPair::YoyoEth => "YOYO_ETH",
            &CurrencyPair::ZecBnb => "ZEC_BNB",
            &CurrencyPair::ZecBtc => "ZEC_BTC",
            &CurrencyPair::ZecEth => "ZEC_ETH",
            &CurrencyPair::ZecPax => "ZEC_PAX",
            &CurrencyPair::ZecTusd => "ZEC_TUSD",
            &CurrencyPair::ZecUsdc => "ZEC_USDC",
            &CurrencyPair::ZecUsdt => "ZEC_USDT",
            &CurrencyPair::ZenBnb => "ZEN_BNB",
            &CurrencyPair::ZenBtc => "ZEN_BTC",
            &CurrencyPair::ZenEth => "ZEN_ETH",
            &CurrencyPair::ZilBnb => "ZIL_BNB",
            &CurrencyPair::ZilBtc => "ZIL_BTC",
            &CurrencyPair::ZilEth => "ZIL_ETH",
            &CurrencyPair::ZilUsdt => "ZIL_USDT",
            &CurrencyPair::ZrxBnb => "ZRX_BNB",
            &CurrencyPair::ZrxBtc => "ZRX_BTC",
            &CurrencyPair::ZrxEth => "ZRX_ETH",
            &CurrencyPair::ZrxUsdt => "ZRX_USDT",
        }
    }

    pub fn quote(&self) -> Currency {
        match self {
            CurrencyPair::Custom(_, ref quote, _) => quote.clone(),
            &CurrencyPair::AdaBnb => Currency::Ada,
            &CurrencyPair::AdaBtc => Currency::Ada,
            &CurrencyPair::AdaBusd => Currency::Ada,
            &CurrencyPair::AdaEth => Currency::Ada,
            &CurrencyPair::AdaPax => Currency::Ada,
            &CurrencyPair::AdaTusd => Currency::Ada,
            &CurrencyPair::AdaUsdc => Currency::Ada,
            &CurrencyPair::AdaUsdt => Currency::Ada,
            &CurrencyPair::AdxBnb => Currency::Adx,
            &CurrencyPair::AdxBtc => Currency::Adx,
            &CurrencyPair::AdxEth => Currency::Adx,
            &CurrencyPair::AeBnb => Currency::Ae,
            &CurrencyPair::AeBtc => Currency::Ae,
            &CurrencyPair::AeEth => Currency::Ae,
            &CurrencyPair::AgiBnb => Currency::Agi,
            &CurrencyPair::AgiBtc => Currency::Agi,
            &CurrencyPair::AgiEth => Currency::Agi,
            &CurrencyPair::AionBnb => Currency::Aion,
            &CurrencyPair::AionBtc => Currency::Aion,
            &CurrencyPair::AionEth => Currency::Aion,
            &CurrencyPair::AlgoBnb => Currency::Algo,
            &CurrencyPair::AlgoBtc => Currency::Algo,
            &CurrencyPair::AlgoPax => Currency::Algo,
            &CurrencyPair::AlgoTusd => Currency::Algo,
            &CurrencyPair::AlgoUsdc => Currency::Algo,
            &CurrencyPair::AlgoUsdt => Currency::Algo,
            &CurrencyPair::AmbBnb => Currency::Amb,
            &CurrencyPair::AmbBtc => Currency::Amb,
            &CurrencyPair::AmbEth => Currency::Amb,
            &CurrencyPair::AnkrBnb => Currency::Ankr,
            &CurrencyPair::AnkrBtc => Currency::Ankr,
            &CurrencyPair::AnkrPax => Currency::Ankr,
            &CurrencyPair::AnkrTusd => Currency::Ankr,
            &CurrencyPair::AnkrUsdc => Currency::Ankr,
            &CurrencyPair::AnkrUsdt => Currency::Ankr,
            &CurrencyPair::AppcBnb => Currency::Appc,
            &CurrencyPair::AppcBtc => Currency::Appc,
            &CurrencyPair::AppcEth => Currency::Appc,
            &CurrencyPair::ArdrBnb => Currency::Ardr,
            &CurrencyPair::ArdrBtc => Currency::Ardr,
            &CurrencyPair::ArdrEth => Currency::Ardr,
            &CurrencyPair::ArkBtc => Currency::Ark,
            &CurrencyPair::ArkEth => Currency::Ark,
            &CurrencyPair::ArnBtc => Currency::Arn,
            &CurrencyPair::ArnEth => Currency::Arn,
            &CurrencyPair::ArpaBnb => Currency::Arpa,
            &CurrencyPair::ArpaBtc => Currency::Arpa,
            &CurrencyPair::ArpaUsdt => Currency::Arpa,
            &CurrencyPair::AstBtc => Currency::Ast,
            &CurrencyPair::AstEth => Currency::Ast,
            &CurrencyPair::AtomBnb => Currency::Atom,
            &CurrencyPair::AtomBtc => Currency::Atom,
            &CurrencyPair::AtomPax => Currency::Atom,
            &CurrencyPair::AtomTusd => Currency::Atom,
            &CurrencyPair::AtomUsdc => Currency::Atom,
            &CurrencyPair::AtomUsdt => Currency::Atom,
            &CurrencyPair::BandBnb => Currency::Band,
            &CurrencyPair::BandBtc => Currency::Band,
            &CurrencyPair::BandUsdt => Currency::Band,
            &CurrencyPair::BatBnb => Currency::Bat,
            &CurrencyPair::BatBtc => Currency::Bat,
            &CurrencyPair::BatEth => Currency::Bat,
            &CurrencyPair::BatPax => Currency::Bat,
            &CurrencyPair::BatTusd => Currency::Bat,
            &CurrencyPair::BatUsdc => Currency::Bat,
            &CurrencyPair::BatUsdt => Currency::Bat,
            &CurrencyPair::BccBnb => Currency::Bcc,
            &CurrencyPair::BccBtc => Currency::Bcc,
            &CurrencyPair::BccEth => Currency::Bcc,
            &CurrencyPair::BccUsdt => Currency::Bcc,
            &CurrencyPair::BcdBtc => Currency::Bcd,
            &CurrencyPair::BcdEth => Currency::Bcd,
            &CurrencyPair::BchabcBtc => Currency::Bchabc,
            &CurrencyPair::BchabcBusd => Currency::Bchabc,
            &CurrencyPair::BchabcPax => Currency::Bchabc,
            &CurrencyPair::BchabcTusd => Currency::Bchabc,
            &CurrencyPair::BchabcUsdc => Currency::Bchabc,
            &CurrencyPair::BchabcUsdt => Currency::Bchabc,
            &CurrencyPair::BchsvBtc => Currency::Bchsv,
            &CurrencyPair::BchsvPax => Currency::Bchsv,
            &CurrencyPair::BchsvTusd => Currency::Bchsv,
            &CurrencyPair::BchsvUsdc => Currency::Bchsv,
            &CurrencyPair::BchsvUsdt => Currency::Bchsv,
            &CurrencyPair::BchBnb => Currency::Bch,
            &CurrencyPair::BchBtc => Currency::Bch,
            &CurrencyPair::BchBusd => Currency::Bch,
            &CurrencyPair::BchPax => Currency::Bch,
            &CurrencyPair::BchTusd => Currency::Bch,
            &CurrencyPair::BchUsdc => Currency::Bch,
            &CurrencyPair::BchUsdt => Currency::Bch,
            &CurrencyPair::BcnBnb => Currency::Bcn,
            &CurrencyPair::BcnBtc => Currency::Bcn,
            &CurrencyPair::BcnEth => Currency::Bcn,
            &CurrencyPair::BcptBnb => Currency::Bcpt,
            &CurrencyPair::BcptBtc => Currency::Bcpt,
            &CurrencyPair::BcptEth => Currency::Bcpt,
            &CurrencyPair::BcptPax => Currency::Bcpt,
            &CurrencyPair::BcptTusd => Currency::Bcpt,
            &CurrencyPair::BcptUsdc => Currency::Bcpt,
            &CurrencyPair::BeamBnb => Currency::Beam,
            &CurrencyPair::BeamBtc => Currency::Beam,
            &CurrencyPair::BeamUsdt => Currency::Beam,
            &CurrencyPair::BgbpUsdc => Currency::Bgbp,
            &CurrencyPair::BlzBnb => Currency::Blz,
            &CurrencyPair::BlzBtc => Currency::Blz,
            &CurrencyPair::BlzEth => Currency::Blz,
            &CurrencyPair::BnbBtc => Currency::Bnb,
            &CurrencyPair::BnbBusd => Currency::Bnb,
            &CurrencyPair::BnbEth => Currency::Bnb,
            &CurrencyPair::BnbNgn => Currency::Bnb,
            &CurrencyPair::BnbPax => Currency::Bnb,
            &CurrencyPair::BnbRub => Currency::Bnb,
            &CurrencyPair::BnbTry => Currency::Bnb,
            &CurrencyPair::BnbTusd => Currency::Bnb,
            &CurrencyPair::BnbUsdc => Currency::Bnb,
            &CurrencyPair::BnbUsds => Currency::Bnb,
            &CurrencyPair::BnbUsdt => Currency::Bnb,
            &CurrencyPair::BntBtc => Currency::Bnt,
            &CurrencyPair::BntEth => Currency::Bnt,
            &CurrencyPair::BqxBtc => Currency::Bqx,
            &CurrencyPair::BqxEth => Currency::Bqx,
            &CurrencyPair::BrdBnb => Currency::Brd,
            &CurrencyPair::BrdBtc => Currency::Brd,
            &CurrencyPair::BrdEth => Currency::Brd,
            &CurrencyPair::BtcbBtc => Currency::Btcb,
            &CurrencyPair::BtcBusd => Currency::Btc,
            &CurrencyPair::BtcDgb => Currency::Btc,
            &CurrencyPair::BtcFct => Currency::Btc,
            &CurrencyPair::BtcFoam => Currency::Btc,
            &CurrencyPair::BtcGrin => Currency::Btc,
            &CurrencyPair::BtcLpt => Currency::Btc,
            &CurrencyPair::BtcMaid => Currency::Btc,
            &CurrencyPair::BtcNgn => Currency::Btc,
            &CurrencyPair::BtcNmr => Currency::Btc,
            &CurrencyPair::BtcNxt => Currency::Btc,
            &CurrencyPair::BtcOmni => Currency::Btc,
            &CurrencyPair::BtcPax => Currency::Btc,
            &CurrencyPair::BtcRub => Currency::Btc,
            &CurrencyPair::BtcStr => Currency::Btc,
            &CurrencyPair::BtcTry => Currency::Btc,
            &CurrencyPair::BtcTusd => Currency::Btc,
            &CurrencyPair::BtcUsdc => Currency::Btc,
            &CurrencyPair::BtcUsds => Currency::Btc,
            &CurrencyPair::BtcUsdt => Currency::Btc,
            &CurrencyPair::BtcVtc => Currency::Btc,
            &CurrencyPair::BtcXpm => Currency::Btc,
            &CurrencyPair::BtgBtc => Currency::Btg,
            &CurrencyPair::BtgEth => Currency::Btg,
            &CurrencyPair::BtsBnb => Currency::Bts,
            &CurrencyPair::BtsBtc => Currency::Bts,
            &CurrencyPair::BtsEth => Currency::Bts,
            &CurrencyPair::BttBnb => Currency::Btt,
            &CurrencyPair::BttBtc => Currency::Btt,
            &CurrencyPair::BttPax => Currency::Btt,
            &CurrencyPair::BttTrx => Currency::Btt,
            &CurrencyPair::BttTusd => Currency::Btt,
            &CurrencyPair::BttUsdc => Currency::Btt,
            &CurrencyPair::BttUsdt => Currency::Btt,
            &CurrencyPair::BusdNgn => Currency::Busd,
            &CurrencyPair::BusdRub => Currency::Busd,
            &CurrencyPair::BusdTry => Currency::Busd,
            &CurrencyPair::BusdUsdt => Currency::Busd,
            &CurrencyPair::CdtBtc => Currency::Cdt,
            &CurrencyPair::CdtEth => Currency::Cdt,
            &CurrencyPair::CelrBnb => Currency::Celr,
            &CurrencyPair::CelrBtc => Currency::Celr,
            &CurrencyPair::CelrUsdt => Currency::Celr,
            &CurrencyPair::ChatBtc => Currency::Chat,
            &CurrencyPair::ChatEth => Currency::Chat,
            &CurrencyPair::ChzBnb => Currency::Chz,
            &CurrencyPair::ChzBtc => Currency::Chz,
            &CurrencyPair::ChzUsdt => Currency::Chz,
            &CurrencyPair::CloakBtc => Currency::Cloak,
            &CurrencyPair::CloakEth => Currency::Cloak,
            &CurrencyPair::CmtBnb => Currency::Cmt,
            &CurrencyPair::CmtBtc => Currency::Cmt,
            &CurrencyPair::CmtEth => Currency::Cmt,
            &CurrencyPair::CndBnb => Currency::Cnd,
            &CurrencyPair::CndBtc => Currency::Cnd,
            &CurrencyPair::CndEth => Currency::Cnd,
            &CurrencyPair::CocosBnb => Currency::Cocos,
            &CurrencyPair::CocosBtc => Currency::Cocos,
            &CurrencyPair::CocosUsdt => Currency::Cocos,
            &CurrencyPair::CosBnb => Currency::Cos,
            &CurrencyPair::CosBtc => Currency::Cos,
            &CurrencyPair::CosUsdt => Currency::Cos,
            &CurrencyPair::CtxcBnb => Currency::Ctxc,
            &CurrencyPair::CtxcBtc => Currency::Ctxc,
            &CurrencyPair::CtxcUsdt => Currency::Ctxc,
            &CurrencyPair::CvcBnb => Currency::Cvc,
            &CurrencyPair::CvcBtc => Currency::Cvc,
            &CurrencyPair::CvcEth => Currency::Cvc,
            &CurrencyPair::CvcUsdt => Currency::Cvc,
            &CurrencyPair::DashBnb => Currency::Dash,
            &CurrencyPair::DashBtc => Currency::Dash,
            &CurrencyPair::DashEth => Currency::Dash,
            &CurrencyPair::DashUsdt => Currency::Dash,
            &CurrencyPair::DataBtc => Currency::Data,
            &CurrencyPair::DataEth => Currency::Data,
            &CurrencyPair::DcrBnb => Currency::Dcr,
            &CurrencyPair::DcrBtc => Currency::Dcr,
            &CurrencyPair::DentBtc => Currency::Dent,
            &CurrencyPair::DentEth => Currency::Dent,
            &CurrencyPair::DentUsdt => Currency::Dent,
            &CurrencyPair::DgdBtc => Currency::Dgd,
            &CurrencyPair::DgdEth => Currency::Dgd,
            &CurrencyPair::DltBnb => Currency::Dlt,
            &CurrencyPair::DltBtc => Currency::Dlt,
            &CurrencyPair::DltEth => Currency::Dlt,
            &CurrencyPair::DntBtc => Currency::Dnt,
            &CurrencyPair::DntEth => Currency::Dnt,
            &CurrencyPair::DockBtc => Currency::Dock,
            &CurrencyPair::DockEth => Currency::Dock,
            &CurrencyPair::DockUsdt => Currency::Dock,
            &CurrencyPair::DogeBnb => Currency::Doge,
            &CurrencyPair::DogeBtc => Currency::Doge,
            &CurrencyPair::DogePax => Currency::Doge,
            &CurrencyPair::DogeUsdc => Currency::Doge,
            &CurrencyPair::DogeUsdt => Currency::Doge,
            &CurrencyPair::DuskBnb => Currency::Dusk,
            &CurrencyPair::DuskBtc => Currency::Dusk,
            &CurrencyPair::DuskPax => Currency::Dusk,
            &CurrencyPair::DuskUsdc => Currency::Dusk,
            &CurrencyPair::DuskUsdt => Currency::Dusk,
            &CurrencyPair::EdoBtc => Currency::Edo,
            &CurrencyPair::EdoEth => Currency::Edo,
            &CurrencyPair::ElfBtc => Currency::Elf,
            &CurrencyPair::ElfEth => Currency::Elf,
            &CurrencyPair::EngBtc => Currency::Eng,
            &CurrencyPair::EngEth => Currency::Eng,
            &CurrencyPair::EnjBnb => Currency::Enj,
            &CurrencyPair::EnjBtc => Currency::Enj,
            &CurrencyPair::EnjEth => Currency::Enj,
            &CurrencyPair::EnjUsdt => Currency::Enj,
            &CurrencyPair::EosBnb => Currency::Eos,
            &CurrencyPair::EosBtc => Currency::Eos,
            &CurrencyPair::EosBusd => Currency::Eos,
            &CurrencyPair::EosEth => Currency::Eos,
            &CurrencyPair::EosPax => Currency::Eos,
            &CurrencyPair::EosTusd => Currency::Eos,
            &CurrencyPair::EosUsdc => Currency::Eos,
            &CurrencyPair::EosUsdt => Currency::Eos,
            &CurrencyPair::ErdBnb => Currency::Erd,
            &CurrencyPair::ErdBtc => Currency::Erd,
            &CurrencyPair::ErdPax => Currency::Erd,
            &CurrencyPair::ErdUsdc => Currency::Erd,
            &CurrencyPair::ErdUsdt => Currency::Erd,
            &CurrencyPair::EtcBnb => Currency::Etc,
            &CurrencyPair::EtcBtc => Currency::Etc,
            &CurrencyPair::EtcBusd => Currency::Etc,
            &CurrencyPair::EtcEth => Currency::Etc,
            &CurrencyPair::EtcPax => Currency::Etc,
            &CurrencyPair::EtcTusd => Currency::Etc,
            &CurrencyPair::EtcUsdc => Currency::Etc,
            &CurrencyPair::EtcUsdt => Currency::Etc,
            &CurrencyPair::EthBtc => Currency::Eth,
            &CurrencyPair::EthBusd => Currency::Eth,
            &CurrencyPair::EthPax => Currency::Eth,
            &CurrencyPair::EthRub => Currency::Eth,
            &CurrencyPair::EthTry => Currency::Eth,
            &CurrencyPair::EthTusd => Currency::Eth,
            &CurrencyPair::EthUsdc => Currency::Eth,
            &CurrencyPair::EthUsdt => Currency::Eth,
            &CurrencyPair::EvxBtc => Currency::Evx,
            &CurrencyPair::EvxEth => Currency::Evx,
            &CurrencyPair::FetBnb => Currency::Fet,
            &CurrencyPair::FetBtc => Currency::Fet,
            &CurrencyPair::FetUsdt => Currency::Fet,
            &CurrencyPair::FtmBnb => Currency::Ftm,
            &CurrencyPair::FtmBtc => Currency::Ftm,
            &CurrencyPair::FtmPax => Currency::Ftm,
            &CurrencyPair::FtmTusd => Currency::Ftm,
            &CurrencyPair::FtmUsdc => Currency::Ftm,
            &CurrencyPair::FtmUsdt => Currency::Ftm,
            &CurrencyPair::FttBnb => Currency::Ftt,
            &CurrencyPair::FttBtc => Currency::Ftt,
            &CurrencyPair::FttUsdt => Currency::Ftt,
            &CurrencyPair::FuelBtc => Currency::Fuel,
            &CurrencyPair::FuelEth => Currency::Fuel,
            &CurrencyPair::FunBtc => Currency::Fun,
            &CurrencyPair::FunEth => Currency::Fun,
            &CurrencyPair::FunUsdt => Currency::Fun,
            &CurrencyPair::GasBtc => Currency::Gas,
            &CurrencyPair::GntBnb => Currency::Gnt,
            &CurrencyPair::GntBtc => Currency::Gnt,
            &CurrencyPair::GntEth => Currency::Gnt,
            &CurrencyPair::GoBnb => Currency::Go,
            &CurrencyPair::GoBtc => Currency::Go,
            &CurrencyPair::GrsBtc => Currency::Grs,
            &CurrencyPair::GrsEth => Currency::Grs,
            &CurrencyPair::GtoBnb => Currency::Gto,
            &CurrencyPair::GtoBtc => Currency::Gto,
            &CurrencyPair::GtoEth => Currency::Gto,
            &CurrencyPair::GtoPax => Currency::Gto,
            &CurrencyPair::GtoTusd => Currency::Gto,
            &CurrencyPair::GtoUsdc => Currency::Gto,
            &CurrencyPair::GtoUsdt => Currency::Gto,
            &CurrencyPair::GvtBtc => Currency::Gvt,
            &CurrencyPair::GvtEth => Currency::Gvt,
            &CurrencyPair::GxsBtc => Currency::Gxs,
            &CurrencyPair::GxsEth => Currency::Gxs,
            &CurrencyPair::HbarBnb => Currency::Hbar,
            &CurrencyPair::HbarBtc => Currency::Hbar,
            &CurrencyPair::HbarUsdt => Currency::Hbar,
            &CurrencyPair::HcBtc => Currency::Hc,
            &CurrencyPair::HcEth => Currency::Hc,
            &CurrencyPair::HcUsdt => Currency::Hc,
            &CurrencyPair::HotBnb => Currency::Hot,
            &CurrencyPair::HotBtc => Currency::Hot,
            &CurrencyPair::HotEth => Currency::Hot,
            &CurrencyPair::HotUsdt => Currency::Hot,
            &CurrencyPair::HsrBtc => Currency::Hsr,
            &CurrencyPair::HsrEth => Currency::Hsr,
            &CurrencyPair::IcnBtc => Currency::Icn,
            &CurrencyPair::IcnEth => Currency::Icn,
            &CurrencyPair::IcxBnb => Currency::Icx,
            &CurrencyPair::IcxBtc => Currency::Icx,
            &CurrencyPair::IcxEth => Currency::Icx,
            &CurrencyPair::IcxUsdt => Currency::Icx,
            &CurrencyPair::InsBtc => Currency::Ins,
            &CurrencyPair::InsEth => Currency::Ins,
            &CurrencyPair::IostBnb => Currency::Iost,
            &CurrencyPair::IostBtc => Currency::Iost,
            &CurrencyPair::IostEth => Currency::Iost,
            &CurrencyPair::IostUsdt => Currency::Iost,
            &CurrencyPair::IotaBnb => Currency::Iota,
            &CurrencyPair::IotaBtc => Currency::Iota,
            &CurrencyPair::IotaEth => Currency::Iota,
            &CurrencyPair::IotaUsdt => Currency::Iota,
            &CurrencyPair::IotxBtc => Currency::Iotx,
            &CurrencyPair::IotxEth => Currency::Iotx,
            &CurrencyPair::IotxUsdt => Currency::Iotx,
            &CurrencyPair::KavaBnb => Currency::Kava,
            &CurrencyPair::KavaBtc => Currency::Kava,
            &CurrencyPair::KavaUsdt => Currency::Kava,
            &CurrencyPair::KeyBtc => Currency::Key,
            &CurrencyPair::KeyEth => Currency::Key,
            &CurrencyPair::KeyUsdt => Currency::Key,
            &CurrencyPair::KmdBtc => Currency::Kmd,
            &CurrencyPair::KmdEth => Currency::Kmd,
            &CurrencyPair::KncBtc => Currency::Knc,
            &CurrencyPair::KncEth => Currency::Knc,
            &CurrencyPair::LendBtc => Currency::Lend,
            &CurrencyPair::LendEth => Currency::Lend,
            &CurrencyPair::LinkBtc => Currency::Link,
            &CurrencyPair::LinkBusd => Currency::Link,
            &CurrencyPair::LinkEth => Currency::Link,
            &CurrencyPair::LinkPax => Currency::Link,
            &CurrencyPair::LinkTusd => Currency::Link,
            &CurrencyPair::LinkUsdc => Currency::Link,
            &CurrencyPair::LinkUsdt => Currency::Link,
            &CurrencyPair::LoomBnb => Currency::Loom,
            &CurrencyPair::LoomBtc => Currency::Loom,
            &CurrencyPair::LoomEth => Currency::Loom,
            &CurrencyPair::LrcBtc => Currency::Lrc,
            &CurrencyPair::LrcEth => Currency::Lrc,
            &CurrencyPair::LskBnb => Currency::Lsk,
            &CurrencyPair::LskBtc => Currency::Lsk,
            &CurrencyPair::LskEth => Currency::Lsk,
            &CurrencyPair::LtcBnb => Currency::Ltc,
            &CurrencyPair::LtcBtc => Currency::Ltc,
            &CurrencyPair::LtcBusd => Currency::Ltc,
            &CurrencyPair::LtcEth => Currency::Ltc,
            &CurrencyPair::LtcPax => Currency::Ltc,
            &CurrencyPair::LtcTusd => Currency::Ltc,
            &CurrencyPair::LtcUsdc => Currency::Ltc,
            &CurrencyPair::LtcUsdt => Currency::Ltc,
            &CurrencyPair::LunBtc => Currency::Lun,
            &CurrencyPair::LunEth => Currency::Lun,
            &CurrencyPair::ManaBtc => Currency::Mana,
            &CurrencyPair::ManaEth => Currency::Mana,
            &CurrencyPair::MaticBnb => Currency::Matic,
            &CurrencyPair::MaticBtc => Currency::Matic,
            &CurrencyPair::MaticUsdt => Currency::Matic,
            &CurrencyPair::McoBnb => Currency::Mco,
            &CurrencyPair::McoBtc => Currency::Mco,
            &CurrencyPair::McoEth => Currency::Mco,
            &CurrencyPair::McoUsdt => Currency::Mco,
            &CurrencyPair::MdaBtc => Currency::Mda,
            &CurrencyPair::MdaEth => Currency::Mda,
            &CurrencyPair::MftBnb => Currency::Mft,
            &CurrencyPair::MftBtc => Currency::Mft,
            &CurrencyPair::MftEth => Currency::Mft,
            &CurrencyPair::MftUsdt => Currency::Mft,
            &CurrencyPair::MithBnb => Currency::Mith,
            &CurrencyPair::MithBtc => Currency::Mith,
            &CurrencyPair::MithUsdt => Currency::Mith,
            &CurrencyPair::ModBtc => Currency::Mod,
            &CurrencyPair::ModEth => Currency::Mod,
            &CurrencyPair::MthBtc => Currency::Mth,
            &CurrencyPair::MthEth => Currency::Mth,
            &CurrencyPair::MtlBtc => Currency::Mtl,
            &CurrencyPair::MtlEth => Currency::Mtl,
            &CurrencyPair::MtlUsdt => Currency::Mtl,
            &CurrencyPair::NanoBnb => Currency::Nano,
            &CurrencyPair::NanoBtc => Currency::Nano,
            &CurrencyPair::NanoEth => Currency::Nano,
            &CurrencyPair::NanoUsdt => Currency::Nano,
            &CurrencyPair::NasBnb => Currency::Nas,
            &CurrencyPair::NasBtc => Currency::Nas,
            &CurrencyPair::NasEth => Currency::Nas,
            &CurrencyPair::NavBnb => Currency::Nav,
            &CurrencyPair::NavBtc => Currency::Nav,
            &CurrencyPair::NavEth => Currency::Nav,
            &CurrencyPair::NcashBnb => Currency::Ncash,
            &CurrencyPair::NcashBtc => Currency::Ncash,
            &CurrencyPair::NcashEth => Currency::Ncash,
            &CurrencyPair::NeblBnb => Currency::Nebl,
            &CurrencyPair::NeblBtc => Currency::Nebl,
            &CurrencyPair::NeblEth => Currency::Nebl,
            &CurrencyPair::NeoBnb => Currency::Neo,
            &CurrencyPair::NeoBtc => Currency::Neo,
            &CurrencyPair::NeoEth => Currency::Neo,
            &CurrencyPair::NeoPax => Currency::Neo,
            &CurrencyPair::NeoTusd => Currency::Neo,
            &CurrencyPair::NeoUsdc => Currency::Neo,
            &CurrencyPair::NeoUsdt => Currency::Neo,
            &CurrencyPair::NknBnb => Currency::Nkn,
            &CurrencyPair::NknBtc => Currency::Nkn,
            &CurrencyPair::NknUsdt => Currency::Nkn,
            &CurrencyPair::NpxsBtc => Currency::Npxs,
            &CurrencyPair::NpxsEth => Currency::Npxs,
            &CurrencyPair::NpxsUsdc => Currency::Npxs,
            &CurrencyPair::NpxsUsdt => Currency::Npxs,
            &CurrencyPair::NulsBnb => Currency::Nuls,
            &CurrencyPair::NulsBtc => Currency::Nuls,
            &CurrencyPair::NulsEth => Currency::Nuls,
            &CurrencyPair::NulsUsdt => Currency::Nuls,
            &CurrencyPair::NxsBnb => Currency::Nxs,
            &CurrencyPair::NxsBtc => Currency::Nxs,
            &CurrencyPair::NxsEth => Currency::Nxs,
            &CurrencyPair::OaxBtc => Currency::Oax,
            &CurrencyPair::OaxEth => Currency::Oax,
            &CurrencyPair::OmgBnb => Currency::Omg,
            &CurrencyPair::OmgBtc => Currency::Omg,
            &CurrencyPair::OmgEth => Currency::Omg,
            &CurrencyPair::OmgUsdt => Currency::Omg,
            &CurrencyPair::OneBnb => Currency::One,
            &CurrencyPair::OneBtc => Currency::One,
            &CurrencyPair::OnePax => Currency::One,
            &CurrencyPair::OneTusd => Currency::One,
            &CurrencyPair::OneUsdc => Currency::One,
            &CurrencyPair::OneUsdt => Currency::One,
            &CurrencyPair::OngBnb => Currency::Ong,
            &CurrencyPair::OngBtc => Currency::Ong,
            &CurrencyPair::OngUsdt => Currency::Ong,
            &CurrencyPair::OntBnb => Currency::Ont,
            &CurrencyPair::OntBtc => Currency::Ont,
            &CurrencyPair::OntEth => Currency::Ont,
            &CurrencyPair::OntPax => Currency::Ont,
            &CurrencyPair::OntUsdc => Currency::Ont,
            &CurrencyPair::OntUsdt => Currency::Ont,
            &CurrencyPair::OstBnb => Currency::Ost,
            &CurrencyPair::OstBtc => Currency::Ost,
            &CurrencyPair::OstEth => Currency::Ost,
            &CurrencyPair::PaxBnb => Currency::Pax,
            &CurrencyPair::PaxBtc => Currency::Pax,
            &CurrencyPair::PaxEth => Currency::Pax,
            &CurrencyPair::PaxTusd => Currency::Pax,
            &CurrencyPair::PaxUsdt => Currency::Pax,
            &CurrencyPair::PerlBnb => Currency::Perl,
            &CurrencyPair::PerlBtc => Currency::Perl,
            &CurrencyPair::PerlUsdc => Currency::Perl,
            &CurrencyPair::PerlUsdt => Currency::Perl,
            &CurrencyPair::PhbBnb => Currency::Phb,
            &CurrencyPair::PhbBtc => Currency::Phb,
            &CurrencyPair::PhbPax => Currency::Phb,
            &CurrencyPair::PhbTusd => Currency::Phb,
            &CurrencyPair::PhbUsdc => Currency::Phb,
            &CurrencyPair::PhxBnb => Currency::Phx,
            &CurrencyPair::PhxBtc => Currency::Phx,
            &CurrencyPair::PhxEth => Currency::Phx,
            &CurrencyPair::PivxBnb => Currency::Pivx,
            &CurrencyPair::PivxBtc => Currency::Pivx,
            &CurrencyPair::PivxEth => Currency::Pivx,
            &CurrencyPair::PoaBnb => Currency::Poa,
            &CurrencyPair::PoaBtc => Currency::Poa,
            &CurrencyPair::PoaEth => Currency::Poa,
            &CurrencyPair::PoeBtc => Currency::Poe,
            &CurrencyPair::PoeEth => Currency::Poe,
            &CurrencyPair::PolyBnb => Currency::Poly,
            &CurrencyPair::PolyBtc => Currency::Poly,
            &CurrencyPair::PowrBnb => Currency::Powr,
            &CurrencyPair::PowrBtc => Currency::Powr,
            &CurrencyPair::PowrEth => Currency::Powr,
            &CurrencyPair::PptBtc => Currency::Ppt,
            &CurrencyPair::PptEth => Currency::Ppt,
            &CurrencyPair::QkcBtc => Currency::Qkc,
            &CurrencyPair::QkcEth => Currency::Qkc,
            &CurrencyPair::QlcBnb => Currency::Qlc,
            &CurrencyPair::QlcBtc => Currency::Qlc,
            &CurrencyPair::QlcEth => Currency::Qlc,
            &CurrencyPair::QspBnb => Currency::Qsp,
            &CurrencyPair::QspBtc => Currency::Qsp,
            &CurrencyPair::QspEth => Currency::Qsp,
            &CurrencyPair::QtumBnb => Currency::Qtum,
            &CurrencyPair::QtumBtc => Currency::Qtum,
            &CurrencyPair::QtumBusd => Currency::Qtum,
            &CurrencyPair::QtumEth => Currency::Qtum,
            &CurrencyPair::QtumUsdt => Currency::Qtum,
            &CurrencyPair::RcnBnb => Currency::Rcn,
            &CurrencyPair::RcnBtc => Currency::Rcn,
            &CurrencyPair::RcnEth => Currency::Rcn,
            &CurrencyPair::RdnBnb => Currency::Rdn,
            &CurrencyPair::RdnBtc => Currency::Rdn,
            &CurrencyPair::RdnEth => Currency::Rdn,
            &CurrencyPair::RenBnb => Currency::Ren,
            &CurrencyPair::RenBtc => Currency::Ren,
            &CurrencyPair::RenUsdt => Currency::Ren,
            &CurrencyPair::RepBnb => Currency::Rep,
            &CurrencyPair::RepBtc => Currency::Rep,
            &CurrencyPair::RepEth => Currency::Rep,
            &CurrencyPair::ReqBtc => Currency::Req,
            &CurrencyPair::ReqEth => Currency::Req,
            &CurrencyPair::RlcBnb => Currency::Rlc,
            &CurrencyPair::RlcBtc => Currency::Rlc,
            &CurrencyPair::RlcEth => Currency::Rlc,
            &CurrencyPair::RlcUsdt => Currency::Rlc,
            &CurrencyPair::RpxBnb => Currency::Rpx,
            &CurrencyPair::RpxBtc => Currency::Rpx,
            &CurrencyPair::RpxEth => Currency::Rpx,
            &CurrencyPair::RvnBnb => Currency::Rvn,
            &CurrencyPair::RvnBtc => Currency::Rvn,
            &CurrencyPair::RvnUsdt => Currency::Rvn,
            &CurrencyPair::SaltBtc => Currency::Salt,
            &CurrencyPair::SaltEth => Currency::Salt,
            &CurrencyPair::ScBnb => Currency::Sc,
            &CurrencyPair::ScBtc => Currency::Sc,
            &CurrencyPair::ScEth => Currency::Sc,
            &CurrencyPair::SkyBnb => Currency::Sky,
            &CurrencyPair::SkyBtc => Currency::Sky,
            &CurrencyPair::SkyEth => Currency::Sky,
            &CurrencyPair::SnglsBtc => Currency::Sngls,
            &CurrencyPair::SnglsEth => Currency::Sngls,
            &CurrencyPair::SnmBtc => Currency::Snm,
            &CurrencyPair::SnmEth => Currency::Snm,
            &CurrencyPair::SntBtc => Currency::Snt,
            &CurrencyPair::SntEth => Currency::Snt,
            &CurrencyPair::SteemBnb => Currency::Steem,
            &CurrencyPair::SteemBtc => Currency::Steem,
            &CurrencyPair::SteemEth => Currency::Steem,
            &CurrencyPair::StorjBtc => Currency::Storj,
            &CurrencyPair::StorjEth => Currency::Storj,
            &CurrencyPair::StormBnb => Currency::Storm,
            &CurrencyPair::StormBtc => Currency::Storm,
            &CurrencyPair::StormEth => Currency::Storm,
            &CurrencyPair::StormUsdt => Currency::Storm,
            &CurrencyPair::StratBtc => Currency::Strat,
            &CurrencyPair::StratEth => Currency::Strat,
            &CurrencyPair::StxBnb => Currency::Stx,
            &CurrencyPair::StxBtc => Currency::Stx,
            &CurrencyPair::StxUsdt => Currency::Stx,
            &CurrencyPair::SubBtc => Currency::Sub,
            &CurrencyPair::SubEth => Currency::Sub,
            &CurrencyPair::SysBnb => Currency::Sys,
            &CurrencyPair::SysBtc => Currency::Sys,
            &CurrencyPair::SysEth => Currency::Sys,
            &CurrencyPair::TfuelBnb => Currency::Tfuel,
            &CurrencyPair::TfuelBtc => Currency::Tfuel,
            &CurrencyPair::TfuelPax => Currency::Tfuel,
            &CurrencyPair::TfuelTusd => Currency::Tfuel,
            &CurrencyPair::TfuelUsdc => Currency::Tfuel,
            &CurrencyPair::TfuelUsdt => Currency::Tfuel,
            &CurrencyPair::ThetaBnb => Currency::Theta,
            &CurrencyPair::ThetaBtc => Currency::Theta,
            &CurrencyPair::ThetaEth => Currency::Theta,
            &CurrencyPair::ThetaUsdt => Currency::Theta,
            &CurrencyPair::TnbBtc => Currency::Tnb,
            &CurrencyPair::TnbEth => Currency::Tnb,
            &CurrencyPair::TntBtc => Currency::Tnt,
            &CurrencyPair::TntEth => Currency::Tnt,
            &CurrencyPair::TomoBnb => Currency::Tomo,
            &CurrencyPair::TomoBtc => Currency::Tomo,
            &CurrencyPair::TomoUsdc => Currency::Tomo,
            &CurrencyPair::TomoUsdt => Currency::Tomo,
            &CurrencyPair::TrigBnb => Currency::Trig,
            &CurrencyPair::TrigBtc => Currency::Trig,
            &CurrencyPair::TrigEth => Currency::Trig,
            &CurrencyPair::TroyBnb => Currency::Troy,
            &CurrencyPair::TroyBtc => Currency::Troy,
            &CurrencyPair::TroyUsdt => Currency::Troy,
            &CurrencyPair::TrxBnb => Currency::Trx,
            &CurrencyPair::TrxBtc => Currency::Trx,
            &CurrencyPair::TrxBusd => Currency::Trx,
            &CurrencyPair::TrxEth => Currency::Trx,
            &CurrencyPair::TrxPax => Currency::Trx,
            &CurrencyPair::TrxTusd => Currency::Trx,
            &CurrencyPair::TrxUsdc => Currency::Trx,
            &CurrencyPair::TrxUsdt => Currency::Trx,
            &CurrencyPair::TrxXrp => Currency::Trx,
            &CurrencyPair::TusdbTusd => Currency::Tusdb,
            &CurrencyPair::TusdBnb => Currency::Tusd,
            &CurrencyPair::TusdBtc => Currency::Tusd,
            &CurrencyPair::TusdEth => Currency::Tusd,
            &CurrencyPair::TusdUsdt => Currency::Tusd,
            &CurrencyPair::UsdcBnb => Currency::Usdc,
            &CurrencyPair::UsdcDash => Currency::Usdc,
            &CurrencyPair::UsdcGrin => Currency::Usdc,
            &CurrencyPair::UsdcPax => Currency::Usdc,
            &CurrencyPair::UsdcStr => Currency::Usdc,
            &CurrencyPair::UsdcTusd => Currency::Usdc,
            &CurrencyPair::UsdcUsdt => Currency::Usdc,
            &CurrencyPair::UsdcXmr => Currency::Usdc,
            &CurrencyPair::UsdsbUsds => Currency::Usdsb,
            &CurrencyPair::UsdsbUsdt => Currency::Usdsb,
            &CurrencyPair::UsdsPax => Currency::Usds,
            &CurrencyPair::UsdsTusd => Currency::Usds,
            &CurrencyPair::UsdsUsdc => Currency::Usds,
            &CurrencyPair::UsdsUsdt => Currency::Usds,
            &CurrencyPair::UsdtDgb => Currency::Usdt,
            &CurrencyPair::UsdtGnt => Currency::Usdt,
            &CurrencyPair::UsdtGrin => Currency::Usdt,
            &CurrencyPair::UsdtLsk => Currency::Usdt,
            &CurrencyPair::UsdtMana => Currency::Usdt,
            &CurrencyPair::UsdtNxt => Currency::Usdt,
            &CurrencyPair::UsdtRep => Currency::Usdt,
            &CurrencyPair::UsdtRub => Currency::Usdt,
            &CurrencyPair::UsdtSc => Currency::Usdt,
            &CurrencyPair::UsdtStr => Currency::Usdt,
            &CurrencyPair::UsdtTry => Currency::Usdt,
            &CurrencyPair::VenBnb => Currency::Ven,
            &CurrencyPair::VenBtc => Currency::Ven,
            &CurrencyPair::VenEth => Currency::Ven,
            &CurrencyPair::VenUsdt => Currency::Ven,
            &CurrencyPair::VetBnb => Currency::Vet,
            &CurrencyPair::VetBtc => Currency::Vet,
            &CurrencyPair::VetBusd => Currency::Vet,
            &CurrencyPair::VetEth => Currency::Vet,
            &CurrencyPair::VetUsdt => Currency::Vet,
            &CurrencyPair::ViaBnb => Currency::Via,
            &CurrencyPair::ViaBtc => Currency::Via,
            &CurrencyPair::ViaEth => Currency::Via,
            &CurrencyPair::VibeBtc => Currency::Vibe,
            &CurrencyPair::VibeEth => Currency::Vibe,
            &CurrencyPair::VibBtc => Currency::Vib,
            &CurrencyPair::VibEth => Currency::Vib,
            &CurrencyPair::ViteBnb => Currency::Vite,
            &CurrencyPair::ViteBtc => Currency::Vite,
            &CurrencyPair::ViteUsdt => Currency::Vite,
            &CurrencyPair::WabiBnb => Currency::Wabi,
            &CurrencyPair::WabiBtc => Currency::Wabi,
            &CurrencyPair::WabiEth => Currency::Wabi,
            &CurrencyPair::WanBnb => Currency::Wan,
            &CurrencyPair::WanBtc => Currency::Wan,
            &CurrencyPair::WanEth => Currency::Wan,
            &CurrencyPair::WanUsdt => Currency::Wan,
            &CurrencyPair::WavesBnb => Currency::Waves,
            &CurrencyPair::WavesBtc => Currency::Waves,
            &CurrencyPair::WavesEth => Currency::Waves,
            &CurrencyPair::WavesPax => Currency::Waves,
            &CurrencyPair::WavesTusd => Currency::Waves,
            &CurrencyPair::WavesUsdc => Currency::Waves,
            &CurrencyPair::WavesUsdt => Currency::Waves,
            &CurrencyPair::WingsBtc => Currency::Wings,
            &CurrencyPair::WingsEth => Currency::Wings,
            &CurrencyPair::WinBnb => Currency::Win,
            &CurrencyPair::WinBtc => Currency::Win,
            &CurrencyPair::WinTrx => Currency::Win,
            &CurrencyPair::WinUsdc => Currency::Win,
            &CurrencyPair::WinUsdt => Currency::Win,
            &CurrencyPair::WprBtc => Currency::Wpr,
            &CurrencyPair::WprEth => Currency::Wpr,
            &CurrencyPair::WtcBnb => Currency::Wtc,
            &CurrencyPair::WtcBtc => Currency::Wtc,
            &CurrencyPair::WtcEth => Currency::Wtc,
            &CurrencyPair::XemBnb => Currency::Xem,
            &CurrencyPair::XemBtc => Currency::Xem,
            &CurrencyPair::XemEth => Currency::Xem,
            &CurrencyPair::XlmBnb => Currency::Xlm,
            &CurrencyPair::XlmBtc => Currency::Xlm,
            &CurrencyPair::XlmBusd => Currency::Xlm,
            &CurrencyPair::XlmEth => Currency::Xlm,
            &CurrencyPair::XlmPax => Currency::Xlm,
            &CurrencyPair::XlmTusd => Currency::Xlm,
            &CurrencyPair::XlmUsdc => Currency::Xlm,
            &CurrencyPair::XlmUsdt => Currency::Xlm,
            &CurrencyPair::XmrBnb => Currency::Xmr,
            &CurrencyPair::XmrBtc => Currency::Xmr,
            &CurrencyPair::XmrEth => Currency::Xmr,
            &CurrencyPair::XmrUsdt => Currency::Xmr,
            &CurrencyPair::XrpBnb => Currency::Xrp,
            &CurrencyPair::XrpBtc => Currency::Xrp,
            &CurrencyPair::XrpBusd => Currency::Xrp,
            &CurrencyPair::XrpEth => Currency::Xrp,
            &CurrencyPair::XrpPax => Currency::Xrp,
            &CurrencyPair::XrpRub => Currency::Xrp,
            &CurrencyPair::XrpTry => Currency::Xrp,
            &CurrencyPair::XrpTusd => Currency::Xrp,
            &CurrencyPair::XrpUsdc => Currency::Xrp,
            &CurrencyPair::XrpUsdt => Currency::Xrp,
            &CurrencyPair::XtzBnb => Currency::Xtz,
            &CurrencyPair::XtzBtc => Currency::Xtz,
            &CurrencyPair::XtzUsdt => Currency::Xtz,
            &CurrencyPair::XvgBtc => Currency::Xvg,
            &CurrencyPair::XvgEth => Currency::Xvg,
            &CurrencyPair::XzcBnb => Currency::Xzc,
            &CurrencyPair::XzcBtc => Currency::Xzc,
            &CurrencyPair::XzcEth => Currency::Xzc,
            &CurrencyPair::XzcXrp => Currency::Xzc,
            &CurrencyPair::YoyoBnb => Currency::Yoyo,
            &CurrencyPair::YoyoBtc => Currency::Yoyo,
            &CurrencyPair::YoyoEth => Currency::Yoyo,
            &CurrencyPair::ZecBnb => Currency::Zec,
            &CurrencyPair::ZecBtc => Currency::Zec,
            &CurrencyPair::ZecEth => Currency::Zec,
            &CurrencyPair::ZecPax => Currency::Zec,
            &CurrencyPair::ZecTusd => Currency::Zec,
            &CurrencyPair::ZecUsdc => Currency::Zec,
            &CurrencyPair::ZecUsdt => Currency::Zec,
            &CurrencyPair::ZenBnb => Currency::Zen,
            &CurrencyPair::ZenBtc => Currency::Zen,
            &CurrencyPair::ZenEth => Currency::Zen,
            &CurrencyPair::ZilBnb => Currency::Zil,
            &CurrencyPair::ZilBtc => Currency::Zil,
            &CurrencyPair::ZilEth => Currency::Zil,
            &CurrencyPair::ZilUsdt => Currency::Zil,
            &CurrencyPair::ZrxBnb => Currency::Zrx,
            &CurrencyPair::ZrxBtc => Currency::Zrx,
            &CurrencyPair::ZrxEth => Currency::Zrx,
            &CurrencyPair::ZrxUsdt => Currency::Zrx,
        }
    }

    pub fn base(&self) -> Currency {
        match self {
            CurrencyPair::Custom(_, _, ref base) => base.clone(),
            &CurrencyPair::AdaBnb => Currency::Bnb,
            &CurrencyPair::AdaBtc => Currency::Btc,
            &CurrencyPair::AdaBusd => Currency::Busd,
            &CurrencyPair::AdaEth => Currency::Eth,
            &CurrencyPair::AdaPax => Currency::Pax,
            &CurrencyPair::AdaTusd => Currency::Tusd,
            &CurrencyPair::AdaUsdc => Currency::Usdc,
            &CurrencyPair::AdaUsdt => Currency::Usdt,
            &CurrencyPair::AdxBnb => Currency::Bnb,
            &CurrencyPair::AdxBtc => Currency::Btc,
            &CurrencyPair::AdxEth => Currency::Eth,
            &CurrencyPair::AeBnb => Currency::Bnb,
            &CurrencyPair::AeBtc => Currency::Btc,
            &CurrencyPair::AeEth => Currency::Eth,
            &CurrencyPair::AgiBnb => Currency::Bnb,
            &CurrencyPair::AgiBtc => Currency::Btc,
            &CurrencyPair::AgiEth => Currency::Eth,
            &CurrencyPair::AionBnb => Currency::Bnb,
            &CurrencyPair::AionBtc => Currency::Btc,
            &CurrencyPair::AionEth => Currency::Eth,
            &CurrencyPair::AlgoBnb => Currency::Bnb,
            &CurrencyPair::AlgoBtc => Currency::Btc,
            &CurrencyPair::AlgoPax => Currency::Pax,
            &CurrencyPair::AlgoTusd => Currency::Tusd,
            &CurrencyPair::AlgoUsdc => Currency::Usdc,
            &CurrencyPair::AlgoUsdt => Currency::Usdt,
            &CurrencyPair::AmbBnb => Currency::Bnb,
            &CurrencyPair::AmbBtc => Currency::Btc,
            &CurrencyPair::AmbEth => Currency::Eth,
            &CurrencyPair::AnkrBnb => Currency::Bnb,
            &CurrencyPair::AnkrBtc => Currency::Btc,
            &CurrencyPair::AnkrPax => Currency::Pax,
            &CurrencyPair::AnkrTusd => Currency::Tusd,
            &CurrencyPair::AnkrUsdc => Currency::Usdc,
            &CurrencyPair::AnkrUsdt => Currency::Usdt,
            &CurrencyPair::AppcBnb => Currency::Bnb,
            &CurrencyPair::AppcBtc => Currency::Btc,
            &CurrencyPair::AppcEth => Currency::Eth,
            &CurrencyPair::ArdrBnb => Currency::Bnb,
            &CurrencyPair::ArdrBtc => Currency::Btc,
            &CurrencyPair::ArdrEth => Currency::Eth,
            &CurrencyPair::ArkBtc => Currency::Btc,
            &CurrencyPair::ArkEth => Currency::Eth,
            &CurrencyPair::ArnBtc => Currency::Btc,
            &CurrencyPair::ArnEth => Currency::Eth,
            &CurrencyPair::ArpaBnb => Currency::Bnb,
            &CurrencyPair::ArpaBtc => Currency::Btc,
            &CurrencyPair::ArpaUsdt => Currency::Usdt,
            &CurrencyPair::AstBtc => Currency::Btc,
            &CurrencyPair::AstEth => Currency::Eth,
            &CurrencyPair::AtomBnb => Currency::Bnb,
            &CurrencyPair::AtomBtc => Currency::Btc,
            &CurrencyPair::AtomPax => Currency::Pax,
            &CurrencyPair::AtomTusd => Currency::Tusd,
            &CurrencyPair::AtomUsdc => Currency::Usdc,
            &CurrencyPair::AtomUsdt => Currency::Usdt,
            &CurrencyPair::BandBnb => Currency::Bnb,
            &CurrencyPair::BandBtc => Currency::Btc,
            &CurrencyPair::BandUsdt => Currency::Usdt,
            &CurrencyPair::BatBnb => Currency::Bnb,
            &CurrencyPair::BatBtc => Currency::Btc,
            &CurrencyPair::BatEth => Currency::Eth,
            &CurrencyPair::BatPax => Currency::Pax,
            &CurrencyPair::BatTusd => Currency::Tusd,
            &CurrencyPair::BatUsdc => Currency::Usdc,
            &CurrencyPair::BatUsdt => Currency::Usdt,
            &CurrencyPair::BccBnb => Currency::Bnb,
            &CurrencyPair::BccBtc => Currency::Btc,
            &CurrencyPair::BccEth => Currency::Eth,
            &CurrencyPair::BccUsdt => Currency::Usdt,
            &CurrencyPair::BcdBtc => Currency::Btc,
            &CurrencyPair::BcdEth => Currency::Eth,
            &CurrencyPair::BchabcBtc => Currency::Btc,
            &CurrencyPair::BchabcBusd => Currency::Busd,
            &CurrencyPair::BchabcPax => Currency::Pax,
            &CurrencyPair::BchabcTusd => Currency::Tusd,
            &CurrencyPair::BchabcUsdc => Currency::Usdc,
            &CurrencyPair::BchabcUsdt => Currency::Usdt,
            &CurrencyPair::BchsvBtc => Currency::Btc,
            &CurrencyPair::BchsvPax => Currency::Pax,
            &CurrencyPair::BchsvTusd => Currency::Tusd,
            &CurrencyPair::BchsvUsdc => Currency::Usdc,
            &CurrencyPair::BchsvUsdt => Currency::Usdt,
            &CurrencyPair::BchBnb => Currency::Bnb,
            &CurrencyPair::BchBtc => Currency::Btc,
            &CurrencyPair::BchBusd => Currency::Busd,
            &CurrencyPair::BchPax => Currency::Pax,
            &CurrencyPair::BchTusd => Currency::Tusd,
            &CurrencyPair::BchUsdc => Currency::Usdc,
            &CurrencyPair::BchUsdt => Currency::Usdt,
            &CurrencyPair::BcnBnb => Currency::Bnb,
            &CurrencyPair::BcnBtc => Currency::Btc,
            &CurrencyPair::BcnEth => Currency::Eth,
            &CurrencyPair::BcptBnb => Currency::Bnb,
            &CurrencyPair::BcptBtc => Currency::Btc,
            &CurrencyPair::BcptEth => Currency::Eth,
            &CurrencyPair::BcptPax => Currency::Pax,
            &CurrencyPair::BcptTusd => Currency::Tusd,
            &CurrencyPair::BcptUsdc => Currency::Usdc,
            &CurrencyPair::BeamBnb => Currency::Bnb,
            &CurrencyPair::BeamBtc => Currency::Btc,
            &CurrencyPair::BeamUsdt => Currency::Usdt,
            &CurrencyPair::BgbpUsdc => Currency::Usdc,
            &CurrencyPair::BlzBnb => Currency::Bnb,
            &CurrencyPair::BlzBtc => Currency::Btc,
            &CurrencyPair::BlzEth => Currency::Eth,
            &CurrencyPair::BnbBtc => Currency::Btc,
            &CurrencyPair::BnbBusd => Currency::Busd,
            &CurrencyPair::BnbEth => Currency::Eth,
            &CurrencyPair::BnbNgn => Currency::Ngn,
            &CurrencyPair::BnbPax => Currency::Pax,
            &CurrencyPair::BnbRub => Currency::Rub,
            &CurrencyPair::BnbTry => Currency::Try,
            &CurrencyPair::BnbTusd => Currency::Tusd,
            &CurrencyPair::BnbUsdc => Currency::Usdc,
            &CurrencyPair::BnbUsds => Currency::Usds,
            &CurrencyPair::BnbUsdt => Currency::Usdt,
            &CurrencyPair::BntBtc => Currency::Btc,
            &CurrencyPair::BntEth => Currency::Eth,
            &CurrencyPair::BqxBtc => Currency::Btc,
            &CurrencyPair::BqxEth => Currency::Eth,
            &CurrencyPair::BrdBnb => Currency::Bnb,
            &CurrencyPair::BrdBtc => Currency::Btc,
            &CurrencyPair::BrdEth => Currency::Eth,
            &CurrencyPair::BtcbBtc => Currency::Btc,
            &CurrencyPair::BtcBusd => Currency::Busd,
            &CurrencyPair::BtcDgb => Currency::Dgb,
            &CurrencyPair::BtcFct => Currency::Fct,
            &CurrencyPair::BtcFoam => Currency::Foam,
            &CurrencyPair::BtcGrin => Currency::Grin,
            &CurrencyPair::BtcLpt => Currency::Lpt,
            &CurrencyPair::BtcMaid => Currency::Maid,
            &CurrencyPair::BtcNgn => Currency::Ngn,
            &CurrencyPair::BtcNmr => Currency::Nmr,
            &CurrencyPair::BtcNxt => Currency::Nxt,
            &CurrencyPair::BtcOmni => Currency::Omni,
            &CurrencyPair::BtcPax => Currency::Pax,
            &CurrencyPair::BtcRub => Currency::Rub,
            &CurrencyPair::BtcStr => Currency::Str,
            &CurrencyPair::BtcTry => Currency::Try,
            &CurrencyPair::BtcTusd => Currency::Tusd,
            &CurrencyPair::BtcUsdc => Currency::Usdc,
            &CurrencyPair::BtcUsds => Currency::Usds,
            &CurrencyPair::BtcUsdt => Currency::Usdt,
            &CurrencyPair::BtcVtc => Currency::Vtc,
            &CurrencyPair::BtcXpm => Currency::Xpm,
            &CurrencyPair::BtgBtc => Currency::Btc,
            &CurrencyPair::BtgEth => Currency::Eth,
            &CurrencyPair::BtsBnb => Currency::Bnb,
            &CurrencyPair::BtsBtc => Currency::Btc,
            &CurrencyPair::BtsEth => Currency::Eth,
            &CurrencyPair::BttBnb => Currency::Bnb,
            &CurrencyPair::BttBtc => Currency::Btc,
            &CurrencyPair::BttPax => Currency::Pax,
            &CurrencyPair::BttTrx => Currency::Trx,
            &CurrencyPair::BttTusd => Currency::Tusd,
            &CurrencyPair::BttUsdc => Currency::Usdc,
            &CurrencyPair::BttUsdt => Currency::Usdt,
            &CurrencyPair::BusdNgn => Currency::Ngn,
            &CurrencyPair::BusdRub => Currency::Rub,
            &CurrencyPair::BusdTry => Currency::Try,
            &CurrencyPair::BusdUsdt => Currency::Usdt,
            &CurrencyPair::CdtBtc => Currency::Btc,
            &CurrencyPair::CdtEth => Currency::Eth,
            &CurrencyPair::CelrBnb => Currency::Bnb,
            &CurrencyPair::CelrBtc => Currency::Btc,
            &CurrencyPair::CelrUsdt => Currency::Usdt,
            &CurrencyPair::ChatBtc => Currency::Btc,
            &CurrencyPair::ChatEth => Currency::Eth,
            &CurrencyPair::ChzBnb => Currency::Bnb,
            &CurrencyPair::ChzBtc => Currency::Btc,
            &CurrencyPair::ChzUsdt => Currency::Usdt,
            &CurrencyPair::CloakBtc => Currency::Btc,
            &CurrencyPair::CloakEth => Currency::Eth,
            &CurrencyPair::CmtBnb => Currency::Bnb,
            &CurrencyPair::CmtBtc => Currency::Btc,
            &CurrencyPair::CmtEth => Currency::Eth,
            &CurrencyPair::CndBnb => Currency::Bnb,
            &CurrencyPair::CndBtc => Currency::Btc,
            &CurrencyPair::CndEth => Currency::Eth,
            &CurrencyPair::CocosBnb => Currency::Bnb,
            &CurrencyPair::CocosBtc => Currency::Btc,
            &CurrencyPair::CocosUsdt => Currency::Usdt,
            &CurrencyPair::CosBnb => Currency::Bnb,
            &CurrencyPair::CosBtc => Currency::Btc,
            &CurrencyPair::CosUsdt => Currency::Usdt,
            &CurrencyPair::CtxcBnb => Currency::Bnb,
            &CurrencyPair::CtxcBtc => Currency::Btc,
            &CurrencyPair::CtxcUsdt => Currency::Usdt,
            &CurrencyPair::CvcBnb => Currency::Bnb,
            &CurrencyPair::CvcBtc => Currency::Btc,
            &CurrencyPair::CvcEth => Currency::Eth,
            &CurrencyPair::CvcUsdt => Currency::Usdt,
            &CurrencyPair::DashBnb => Currency::Bnb,
            &CurrencyPair::DashBtc => Currency::Btc,
            &CurrencyPair::DashEth => Currency::Eth,
            &CurrencyPair::DashUsdt => Currency::Usdt,
            &CurrencyPair::DataBtc => Currency::Btc,
            &CurrencyPair::DataEth => Currency::Eth,
            &CurrencyPair::DcrBnb => Currency::Bnb,
            &CurrencyPair::DcrBtc => Currency::Btc,
            &CurrencyPair::DentBtc => Currency::Btc,
            &CurrencyPair::DentEth => Currency::Eth,
            &CurrencyPair::DentUsdt => Currency::Usdt,
            &CurrencyPair::DgdBtc => Currency::Btc,
            &CurrencyPair::DgdEth => Currency::Eth,
            &CurrencyPair::DltBnb => Currency::Bnb,
            &CurrencyPair::DltBtc => Currency::Btc,
            &CurrencyPair::DltEth => Currency::Eth,
            &CurrencyPair::DntBtc => Currency::Btc,
            &CurrencyPair::DntEth => Currency::Eth,
            &CurrencyPair::DockBtc => Currency::Btc,
            &CurrencyPair::DockEth => Currency::Eth,
            &CurrencyPair::DockUsdt => Currency::Usdt,
            &CurrencyPair::DogeBnb => Currency::Bnb,
            &CurrencyPair::DogeBtc => Currency::Btc,
            &CurrencyPair::DogePax => Currency::Pax,
            &CurrencyPair::DogeUsdc => Currency::Usdc,
            &CurrencyPair::DogeUsdt => Currency::Usdt,
            &CurrencyPair::DuskBnb => Currency::Bnb,
            &CurrencyPair::DuskBtc => Currency::Btc,
            &CurrencyPair::DuskPax => Currency::Pax,
            &CurrencyPair::DuskUsdc => Currency::Usdc,
            &CurrencyPair::DuskUsdt => Currency::Usdt,
            &CurrencyPair::EdoBtc => Currency::Btc,
            &CurrencyPair::EdoEth => Currency::Eth,
            &CurrencyPair::ElfBtc => Currency::Btc,
            &CurrencyPair::ElfEth => Currency::Eth,
            &CurrencyPair::EngBtc => Currency::Btc,
            &CurrencyPair::EngEth => Currency::Eth,
            &CurrencyPair::EnjBnb => Currency::Bnb,
            &CurrencyPair::EnjBtc => Currency::Btc,
            &CurrencyPair::EnjEth => Currency::Eth,
            &CurrencyPair::EnjUsdt => Currency::Usdt,
            &CurrencyPair::EosBnb => Currency::Bnb,
            &CurrencyPair::EosBtc => Currency::Btc,
            &CurrencyPair::EosBusd => Currency::Busd,
            &CurrencyPair::EosEth => Currency::Eth,
            &CurrencyPair::EosPax => Currency::Pax,
            &CurrencyPair::EosTusd => Currency::Tusd,
            &CurrencyPair::EosUsdc => Currency::Usdc,
            &CurrencyPair::EosUsdt => Currency::Usdt,
            &CurrencyPair::ErdBnb => Currency::Bnb,
            &CurrencyPair::ErdBtc => Currency::Btc,
            &CurrencyPair::ErdPax => Currency::Pax,
            &CurrencyPair::ErdUsdc => Currency::Usdc,
            &CurrencyPair::ErdUsdt => Currency::Usdt,
            &CurrencyPair::EtcBnb => Currency::Bnb,
            &CurrencyPair::EtcBtc => Currency::Btc,
            &CurrencyPair::EtcBusd => Currency::Busd,
            &CurrencyPair::EtcEth => Currency::Eth,
            &CurrencyPair::EtcPax => Currency::Pax,
            &CurrencyPair::EtcTusd => Currency::Tusd,
            &CurrencyPair::EtcUsdc => Currency::Usdc,
            &CurrencyPair::EtcUsdt => Currency::Usdt,
            &CurrencyPair::EthBtc => Currency::Btc,
            &CurrencyPair::EthBusd => Currency::Busd,
            &CurrencyPair::EthPax => Currency::Pax,
            &CurrencyPair::EthRub => Currency::Rub,
            &CurrencyPair::EthTry => Currency::Try,
            &CurrencyPair::EthTusd => Currency::Tusd,
            &CurrencyPair::EthUsdc => Currency::Usdc,
            &CurrencyPair::EthUsdt => Currency::Usdt,
            &CurrencyPair::EvxBtc => Currency::Btc,
            &CurrencyPair::EvxEth => Currency::Eth,
            &CurrencyPair::FetBnb => Currency::Bnb,
            &CurrencyPair::FetBtc => Currency::Btc,
            &CurrencyPair::FetUsdt => Currency::Usdt,
            &CurrencyPair::FtmBnb => Currency::Bnb,
            &CurrencyPair::FtmBtc => Currency::Btc,
            &CurrencyPair::FtmPax => Currency::Pax,
            &CurrencyPair::FtmTusd => Currency::Tusd,
            &CurrencyPair::FtmUsdc => Currency::Usdc,
            &CurrencyPair::FtmUsdt => Currency::Usdt,
            &CurrencyPair::FttBnb => Currency::Bnb,
            &CurrencyPair::FttBtc => Currency::Btc,
            &CurrencyPair::FttUsdt => Currency::Usdt,
            &CurrencyPair::FuelBtc => Currency::Btc,
            &CurrencyPair::FuelEth => Currency::Eth,
            &CurrencyPair::FunBtc => Currency::Btc,
            &CurrencyPair::FunEth => Currency::Eth,
            &CurrencyPair::FunUsdt => Currency::Usdt,
            &CurrencyPair::GasBtc => Currency::Btc,
            &CurrencyPair::GntBnb => Currency::Bnb,
            &CurrencyPair::GntBtc => Currency::Btc,
            &CurrencyPair::GntEth => Currency::Eth,
            &CurrencyPair::GoBnb => Currency::Bnb,
            &CurrencyPair::GoBtc => Currency::Btc,
            &CurrencyPair::GrsBtc => Currency::Btc,
            &CurrencyPair::GrsEth => Currency::Eth,
            &CurrencyPair::GtoBnb => Currency::Bnb,
            &CurrencyPair::GtoBtc => Currency::Btc,
            &CurrencyPair::GtoEth => Currency::Eth,
            &CurrencyPair::GtoPax => Currency::Pax,
            &CurrencyPair::GtoTusd => Currency::Tusd,
            &CurrencyPair::GtoUsdc => Currency::Usdc,
            &CurrencyPair::GtoUsdt => Currency::Usdt,
            &CurrencyPair::GvtBtc => Currency::Btc,
            &CurrencyPair::GvtEth => Currency::Eth,
            &CurrencyPair::GxsBtc => Currency::Btc,
            &CurrencyPair::GxsEth => Currency::Eth,
            &CurrencyPair::HbarBnb => Currency::Bnb,
            &CurrencyPair::HbarBtc => Currency::Btc,
            &CurrencyPair::HbarUsdt => Currency::Usdt,
            &CurrencyPair::HcBtc => Currency::Btc,
            &CurrencyPair::HcEth => Currency::Eth,
            &CurrencyPair::HcUsdt => Currency::Usdt,
            &CurrencyPair::HotBnb => Currency::Bnb,
            &CurrencyPair::HotBtc => Currency::Btc,
            &CurrencyPair::HotEth => Currency::Eth,
            &CurrencyPair::HotUsdt => Currency::Usdt,
            &CurrencyPair::HsrBtc => Currency::Btc,
            &CurrencyPair::HsrEth => Currency::Eth,
            &CurrencyPair::IcnBtc => Currency::Btc,
            &CurrencyPair::IcnEth => Currency::Eth,
            &CurrencyPair::IcxBnb => Currency::Bnb,
            &CurrencyPair::IcxBtc => Currency::Btc,
            &CurrencyPair::IcxEth => Currency::Eth,
            &CurrencyPair::IcxUsdt => Currency::Usdt,
            &CurrencyPair::InsBtc => Currency::Btc,
            &CurrencyPair::InsEth => Currency::Eth,
            &CurrencyPair::IostBnb => Currency::Bnb,
            &CurrencyPair::IostBtc => Currency::Btc,
            &CurrencyPair::IostEth => Currency::Eth,
            &CurrencyPair::IostUsdt => Currency::Usdt,
            &CurrencyPair::IotaBnb => Currency::Bnb,
            &CurrencyPair::IotaBtc => Currency::Btc,
            &CurrencyPair::IotaEth => Currency::Eth,
            &CurrencyPair::IotaUsdt => Currency::Usdt,
            &CurrencyPair::IotxBtc => Currency::Btc,
            &CurrencyPair::IotxEth => Currency::Eth,
            &CurrencyPair::IotxUsdt => Currency::Usdt,
            &CurrencyPair::KavaBnb => Currency::Bnb,
            &CurrencyPair::KavaBtc => Currency::Btc,
            &CurrencyPair::KavaUsdt => Currency::Usdt,
            &CurrencyPair::KeyBtc => Currency::Btc,
            &CurrencyPair::KeyEth => Currency::Eth,
            &CurrencyPair::KeyUsdt => Currency::Usdt,
            &CurrencyPair::KmdBtc => Currency::Btc,
            &CurrencyPair::KmdEth => Currency::Eth,
            &CurrencyPair::KncBtc => Currency::Btc,
            &CurrencyPair::KncEth => Currency::Eth,
            &CurrencyPair::LendBtc => Currency::Btc,
            &CurrencyPair::LendEth => Currency::Eth,
            &CurrencyPair::LinkBtc => Currency::Btc,
            &CurrencyPair::LinkBusd => Currency::Busd,
            &CurrencyPair::LinkEth => Currency::Eth,
            &CurrencyPair::LinkPax => Currency::Pax,
            &CurrencyPair::LinkTusd => Currency::Tusd,
            &CurrencyPair::LinkUsdc => Currency::Usdc,
            &CurrencyPair::LinkUsdt => Currency::Usdt,
            &CurrencyPair::LoomBnb => Currency::Bnb,
            &CurrencyPair::LoomBtc => Currency::Btc,
            &CurrencyPair::LoomEth => Currency::Eth,
            &CurrencyPair::LrcBtc => Currency::Btc,
            &CurrencyPair::LrcEth => Currency::Eth,
            &CurrencyPair::LskBnb => Currency::Bnb,
            &CurrencyPair::LskBtc => Currency::Btc,
            &CurrencyPair::LskEth => Currency::Eth,
            &CurrencyPair::LtcBnb => Currency::Bnb,
            &CurrencyPair::LtcBtc => Currency::Btc,
            &CurrencyPair::LtcBusd => Currency::Busd,
            &CurrencyPair::LtcEth => Currency::Eth,
            &CurrencyPair::LtcPax => Currency::Pax,
            &CurrencyPair::LtcTusd => Currency::Tusd,
            &CurrencyPair::LtcUsdc => Currency::Usdc,
            &CurrencyPair::LtcUsdt => Currency::Usdt,
            &CurrencyPair::LunBtc => Currency::Btc,
            &CurrencyPair::LunEth => Currency::Eth,
            &CurrencyPair::ManaBtc => Currency::Btc,
            &CurrencyPair::ManaEth => Currency::Eth,
            &CurrencyPair::MaticBnb => Currency::Bnb,
            &CurrencyPair::MaticBtc => Currency::Btc,
            &CurrencyPair::MaticUsdt => Currency::Usdt,
            &CurrencyPair::McoBnb => Currency::Bnb,
            &CurrencyPair::McoBtc => Currency::Btc,
            &CurrencyPair::McoEth => Currency::Eth,
            &CurrencyPair::McoUsdt => Currency::Usdt,
            &CurrencyPair::MdaBtc => Currency::Btc,
            &CurrencyPair::MdaEth => Currency::Eth,
            &CurrencyPair::MftBnb => Currency::Bnb,
            &CurrencyPair::MftBtc => Currency::Btc,
            &CurrencyPair::MftEth => Currency::Eth,
            &CurrencyPair::MftUsdt => Currency::Usdt,
            &CurrencyPair::MithBnb => Currency::Bnb,
            &CurrencyPair::MithBtc => Currency::Btc,
            &CurrencyPair::MithUsdt => Currency::Usdt,
            &CurrencyPair::ModBtc => Currency::Btc,
            &CurrencyPair::ModEth => Currency::Eth,
            &CurrencyPair::MthBtc => Currency::Btc,
            &CurrencyPair::MthEth => Currency::Eth,
            &CurrencyPair::MtlBtc => Currency::Btc,
            &CurrencyPair::MtlEth => Currency::Eth,
            &CurrencyPair::MtlUsdt => Currency::Usdt,
            &CurrencyPair::NanoBnb => Currency::Bnb,
            &CurrencyPair::NanoBtc => Currency::Btc,
            &CurrencyPair::NanoEth => Currency::Eth,
            &CurrencyPair::NanoUsdt => Currency::Usdt,
            &CurrencyPair::NasBnb => Currency::Bnb,
            &CurrencyPair::NasBtc => Currency::Btc,
            &CurrencyPair::NasEth => Currency::Eth,
            &CurrencyPair::NavBnb => Currency::Bnb,
            &CurrencyPair::NavBtc => Currency::Btc,
            &CurrencyPair::NavEth => Currency::Eth,
            &CurrencyPair::NcashBnb => Currency::Bnb,
            &CurrencyPair::NcashBtc => Currency::Btc,
            &CurrencyPair::NcashEth => Currency::Eth,
            &CurrencyPair::NeblBnb => Currency::Bnb,
            &CurrencyPair::NeblBtc => Currency::Btc,
            &CurrencyPair::NeblEth => Currency::Eth,
            &CurrencyPair::NeoBnb => Currency::Bnb,
            &CurrencyPair::NeoBtc => Currency::Btc,
            &CurrencyPair::NeoEth => Currency::Eth,
            &CurrencyPair::NeoPax => Currency::Pax,
            &CurrencyPair::NeoTusd => Currency::Tusd,
            &CurrencyPair::NeoUsdc => Currency::Usdc,
            &CurrencyPair::NeoUsdt => Currency::Usdt,
            &CurrencyPair::NknBnb => Currency::Bnb,
            &CurrencyPair::NknBtc => Currency::Btc,
            &CurrencyPair::NknUsdt => Currency::Usdt,
            &CurrencyPair::NpxsBtc => Currency::Btc,
            &CurrencyPair::NpxsEth => Currency::Eth,
            &CurrencyPair::NpxsUsdc => Currency::Usdc,
            &CurrencyPair::NpxsUsdt => Currency::Usdt,
            &CurrencyPair::NulsBnb => Currency::Bnb,
            &CurrencyPair::NulsBtc => Currency::Btc,
            &CurrencyPair::NulsEth => Currency::Eth,
            &CurrencyPair::NulsUsdt => Currency::Usdt,
            &CurrencyPair::NxsBnb => Currency::Bnb,
            &CurrencyPair::NxsBtc => Currency::Btc,
            &CurrencyPair::NxsEth => Currency::Eth,
            &CurrencyPair::OaxBtc => Currency::Btc,
            &CurrencyPair::OaxEth => Currency::Eth,
            &CurrencyPair::OmgBnb => Currency::Bnb,
            &CurrencyPair::OmgBtc => Currency::Btc,
            &CurrencyPair::OmgEth => Currency::Eth,
            &CurrencyPair::OmgUsdt => Currency::Usdt,
            &CurrencyPair::OneBnb => Currency::Bnb,
            &CurrencyPair::OneBtc => Currency::Btc,
            &CurrencyPair::OnePax => Currency::Pax,
            &CurrencyPair::OneTusd => Currency::Tusd,
            &CurrencyPair::OneUsdc => Currency::Usdc,
            &CurrencyPair::OneUsdt => Currency::Usdt,
            &CurrencyPair::OngBnb => Currency::Bnb,
            &CurrencyPair::OngBtc => Currency::Btc,
            &CurrencyPair::OngUsdt => Currency::Usdt,
            &CurrencyPair::OntBnb => Currency::Bnb,
            &CurrencyPair::OntBtc => Currency::Btc,
            &CurrencyPair::OntEth => Currency::Eth,
            &CurrencyPair::OntPax => Currency::Pax,
            &CurrencyPair::OntUsdc => Currency::Usdc,
            &CurrencyPair::OntUsdt => Currency::Usdt,
            &CurrencyPair::OstBnb => Currency::Bnb,
            &CurrencyPair::OstBtc => Currency::Btc,
            &CurrencyPair::OstEth => Currency::Eth,
            &CurrencyPair::PaxBnb => Currency::Bnb,
            &CurrencyPair::PaxBtc => Currency::Btc,
            &CurrencyPair::PaxEth => Currency::Eth,
            &CurrencyPair::PaxTusd => Currency::Tusd,
            &CurrencyPair::PaxUsdt => Currency::Usdt,
            &CurrencyPair::PerlBnb => Currency::Bnb,
            &CurrencyPair::PerlBtc => Currency::Btc,
            &CurrencyPair::PerlUsdc => Currency::Usdc,
            &CurrencyPair::PerlUsdt => Currency::Usdt,
            &CurrencyPair::PhbBnb => Currency::Bnb,
            &CurrencyPair::PhbBtc => Currency::Btc,
            &CurrencyPair::PhbPax => Currency::Pax,
            &CurrencyPair::PhbTusd => Currency::Tusd,
            &CurrencyPair::PhbUsdc => Currency::Usdc,
            &CurrencyPair::PhxBnb => Currency::Bnb,
            &CurrencyPair::PhxBtc => Currency::Btc,
            &CurrencyPair::PhxEth => Currency::Eth,
            &CurrencyPair::PivxBnb => Currency::Bnb,
            &CurrencyPair::PivxBtc => Currency::Btc,
            &CurrencyPair::PivxEth => Currency::Eth,
            &CurrencyPair::PoaBnb => Currency::Bnb,
            &CurrencyPair::PoaBtc => Currency::Btc,
            &CurrencyPair::PoaEth => Currency::Eth,
            &CurrencyPair::PoeBtc => Currency::Btc,
            &CurrencyPair::PoeEth => Currency::Eth,
            &CurrencyPair::PolyBnb => Currency::Bnb,
            &CurrencyPair::PolyBtc => Currency::Btc,
            &CurrencyPair::PowrBnb => Currency::Bnb,
            &CurrencyPair::PowrBtc => Currency::Btc,
            &CurrencyPair::PowrEth => Currency::Eth,
            &CurrencyPair::PptBtc => Currency::Btc,
            &CurrencyPair::PptEth => Currency::Eth,
            &CurrencyPair::QkcBtc => Currency::Btc,
            &CurrencyPair::QkcEth => Currency::Eth,
            &CurrencyPair::QlcBnb => Currency::Bnb,
            &CurrencyPair::QlcBtc => Currency::Btc,
            &CurrencyPair::QlcEth => Currency::Eth,
            &CurrencyPair::QspBnb => Currency::Bnb,
            &CurrencyPair::QspBtc => Currency::Btc,
            &CurrencyPair::QspEth => Currency::Eth,
            &CurrencyPair::QtumBnb => Currency::Bnb,
            &CurrencyPair::QtumBtc => Currency::Btc,
            &CurrencyPair::QtumBusd => Currency::Busd,
            &CurrencyPair::QtumEth => Currency::Eth,
            &CurrencyPair::QtumUsdt => Currency::Usdt,
            &CurrencyPair::RcnBnb => Currency::Bnb,
            &CurrencyPair::RcnBtc => Currency::Btc,
            &CurrencyPair::RcnEth => Currency::Eth,
            &CurrencyPair::RdnBnb => Currency::Bnb,
            &CurrencyPair::RdnBtc => Currency::Btc,
            &CurrencyPair::RdnEth => Currency::Eth,
            &CurrencyPair::RenBnb => Currency::Bnb,
            &CurrencyPair::RenBtc => Currency::Btc,
            &CurrencyPair::RenUsdt => Currency::Usdt,
            &CurrencyPair::RepBnb => Currency::Bnb,
            &CurrencyPair::RepBtc => Currency::Btc,
            &CurrencyPair::RepEth => Currency::Eth,
            &CurrencyPair::ReqBtc => Currency::Btc,
            &CurrencyPair::ReqEth => Currency::Eth,
            &CurrencyPair::RlcBnb => Currency::Bnb,
            &CurrencyPair::RlcBtc => Currency::Btc,
            &CurrencyPair::RlcEth => Currency::Eth,
            &CurrencyPair::RlcUsdt => Currency::Usdt,
            &CurrencyPair::RpxBnb => Currency::Bnb,
            &CurrencyPair::RpxBtc => Currency::Btc,
            &CurrencyPair::RpxEth => Currency::Eth,
            &CurrencyPair::RvnBnb => Currency::Bnb,
            &CurrencyPair::RvnBtc => Currency::Btc,
            &CurrencyPair::RvnUsdt => Currency::Usdt,
            &CurrencyPair::SaltBtc => Currency::Btc,
            &CurrencyPair::SaltEth => Currency::Eth,
            &CurrencyPair::ScBnb => Currency::Bnb,
            &CurrencyPair::ScBtc => Currency::Btc,
            &CurrencyPair::ScEth => Currency::Eth,
            &CurrencyPair::SkyBnb => Currency::Bnb,
            &CurrencyPair::SkyBtc => Currency::Btc,
            &CurrencyPair::SkyEth => Currency::Eth,
            &CurrencyPair::SnglsBtc => Currency::Btc,
            &CurrencyPair::SnglsEth => Currency::Eth,
            &CurrencyPair::SnmBtc => Currency::Btc,
            &CurrencyPair::SnmEth => Currency::Eth,
            &CurrencyPair::SntBtc => Currency::Btc,
            &CurrencyPair::SntEth => Currency::Eth,
            &CurrencyPair::SteemBnb => Currency::Bnb,
            &CurrencyPair::SteemBtc => Currency::Btc,
            &CurrencyPair::SteemEth => Currency::Eth,
            &CurrencyPair::StorjBtc => Currency::Btc,
            &CurrencyPair::StorjEth => Currency::Eth,
            &CurrencyPair::StormBnb => Currency::Bnb,
            &CurrencyPair::StormBtc => Currency::Btc,
            &CurrencyPair::StormEth => Currency::Eth,
            &CurrencyPair::StormUsdt => Currency::Usdt,
            &CurrencyPair::StratBtc => Currency::Btc,
            &CurrencyPair::StratEth => Currency::Eth,
            &CurrencyPair::StxBnb => Currency::Bnb,
            &CurrencyPair::StxBtc => Currency::Btc,
            &CurrencyPair::StxUsdt => Currency::Usdt,
            &CurrencyPair::SubBtc => Currency::Btc,
            &CurrencyPair::SubEth => Currency::Eth,
            &CurrencyPair::SysBnb => Currency::Bnb,
            &CurrencyPair::SysBtc => Currency::Btc,
            &CurrencyPair::SysEth => Currency::Eth,
            &CurrencyPair::TfuelBnb => Currency::Bnb,
            &CurrencyPair::TfuelBtc => Currency::Btc,
            &CurrencyPair::TfuelPax => Currency::Pax,
            &CurrencyPair::TfuelTusd => Currency::Tusd,
            &CurrencyPair::TfuelUsdc => Currency::Usdc,
            &CurrencyPair::TfuelUsdt => Currency::Usdt,
            &CurrencyPair::ThetaBnb => Currency::Bnb,
            &CurrencyPair::ThetaBtc => Currency::Btc,
            &CurrencyPair::ThetaEth => Currency::Eth,
            &CurrencyPair::ThetaUsdt => Currency::Usdt,
            &CurrencyPair::TnbBtc => Currency::Btc,
            &CurrencyPair::TnbEth => Currency::Eth,
            &CurrencyPair::TntBtc => Currency::Btc,
            &CurrencyPair::TntEth => Currency::Eth,
            &CurrencyPair::TomoBnb => Currency::Bnb,
            &CurrencyPair::TomoBtc => Currency::Btc,
            &CurrencyPair::TomoUsdc => Currency::Usdc,
            &CurrencyPair::TomoUsdt => Currency::Usdt,
            &CurrencyPair::TrigBnb => Currency::Bnb,
            &CurrencyPair::TrigBtc => Currency::Btc,
            &CurrencyPair::TrigEth => Currency::Eth,
            &CurrencyPair::TroyBnb => Currency::Bnb,
            &CurrencyPair::TroyBtc => Currency::Btc,
            &CurrencyPair::TroyUsdt => Currency::Usdt,
            &CurrencyPair::TrxBnb => Currency::Bnb,
            &CurrencyPair::TrxBtc => Currency::Btc,
            &CurrencyPair::TrxBusd => Currency::Busd,
            &CurrencyPair::TrxEth => Currency::Eth,
            &CurrencyPair::TrxPax => Currency::Pax,
            &CurrencyPair::TrxTusd => Currency::Tusd,
            &CurrencyPair::TrxUsdc => Currency::Usdc,
            &CurrencyPair::TrxUsdt => Currency::Usdt,
            &CurrencyPair::TrxXrp => Currency::Xrp,
            &CurrencyPair::TusdbTusd => Currency::Tusd,
            &CurrencyPair::TusdBnb => Currency::Bnb,
            &CurrencyPair::TusdBtc => Currency::Btc,
            &CurrencyPair::TusdEth => Currency::Eth,
            &CurrencyPair::TusdUsdt => Currency::Usdt,
            &CurrencyPair::UsdcBnb => Currency::Bnb,
            &CurrencyPair::UsdcDash => Currency::Dash,
            &CurrencyPair::UsdcGrin => Currency::Grin,
            &CurrencyPair::UsdcPax => Currency::Pax,
            &CurrencyPair::UsdcStr => Currency::Str,
            &CurrencyPair::UsdcTusd => Currency::Tusd,
            &CurrencyPair::UsdcUsdt => Currency::Usdt,
            &CurrencyPair::UsdcXmr => Currency::Xmr,
            &CurrencyPair::UsdsbUsds => Currency::Usds,
            &CurrencyPair::UsdsbUsdt => Currency::Usdt,
            &CurrencyPair::UsdsPax => Currency::Pax,
            &CurrencyPair::UsdsTusd => Currency::Tusd,
            &CurrencyPair::UsdsUsdc => Currency::Usdc,
            &CurrencyPair::UsdsUsdt => Currency::Usdt,
            &CurrencyPair::UsdtDgb => Currency::Dgb,
            &CurrencyPair::UsdtGnt => Currency::Gnt,
            &CurrencyPair::UsdtGrin => Currency::Grin,
            &CurrencyPair::UsdtLsk => Currency::Lsk,
            &CurrencyPair::UsdtMana => Currency::Mana,
            &CurrencyPair::UsdtNxt => Currency::Nxt,
            &CurrencyPair::UsdtRep => Currency::Rep,
            &CurrencyPair::UsdtRub => Currency::Rub,
            &CurrencyPair::UsdtSc => Currency::Sc,
            &CurrencyPair::UsdtStr => Currency::Str,
            &CurrencyPair::UsdtTry => Currency::Try,
            &CurrencyPair::VenBnb => Currency::Bnb,
            &CurrencyPair::VenBtc => Currency::Btc,
            &CurrencyPair::VenEth => Currency::Eth,
            &CurrencyPair::VenUsdt => Currency::Usdt,
            &CurrencyPair::VetBnb => Currency::Bnb,
            &CurrencyPair::VetBtc => Currency::Btc,
            &CurrencyPair::VetBusd => Currency::Busd,
            &CurrencyPair::VetEth => Currency::Eth,
            &CurrencyPair::VetUsdt => Currency::Usdt,
            &CurrencyPair::ViaBnb => Currency::Bnb,
            &CurrencyPair::ViaBtc => Currency::Btc,
            &CurrencyPair::ViaEth => Currency::Eth,
            &CurrencyPair::VibeBtc => Currency::Btc,
            &CurrencyPair::VibeEth => Currency::Eth,
            &CurrencyPair::VibBtc => Currency::Btc,
            &CurrencyPair::VibEth => Currency::Eth,
            &CurrencyPair::ViteBnb => Currency::Bnb,
            &CurrencyPair::ViteBtc => Currency::Btc,
            &CurrencyPair::ViteUsdt => Currency::Usdt,
            &CurrencyPair::WabiBnb => Currency::Bnb,
            &CurrencyPair::WabiBtc => Currency::Btc,
            &CurrencyPair::WabiEth => Currency::Eth,
            &CurrencyPair::WanBnb => Currency::Bnb,
            &CurrencyPair::WanBtc => Currency::Btc,
            &CurrencyPair::WanEth => Currency::Eth,
            &CurrencyPair::WanUsdt => Currency::Usdt,
            &CurrencyPair::WavesBnb => Currency::Bnb,
            &CurrencyPair::WavesBtc => Currency::Btc,
            &CurrencyPair::WavesEth => Currency::Eth,
            &CurrencyPair::WavesPax => Currency::Pax,
            &CurrencyPair::WavesTusd => Currency::Tusd,
            &CurrencyPair::WavesUsdc => Currency::Usdc,
            &CurrencyPair::WavesUsdt => Currency::Usdt,
            &CurrencyPair::WingsBtc => Currency::Btc,
            &CurrencyPair::WingsEth => Currency::Eth,
            &CurrencyPair::WinBnb => Currency::Bnb,
            &CurrencyPair::WinBtc => Currency::Btc,
            &CurrencyPair::WinTrx => Currency::Trx,
            &CurrencyPair::WinUsdc => Currency::Usdc,
            &CurrencyPair::WinUsdt => Currency::Usdt,
            &CurrencyPair::WprBtc => Currency::Btc,
            &CurrencyPair::WprEth => Currency::Eth,
            &CurrencyPair::WtcBnb => Currency::Bnb,
            &CurrencyPair::WtcBtc => Currency::Btc,
            &CurrencyPair::WtcEth => Currency::Eth,
            &CurrencyPair::XemBnb => Currency::Bnb,
            &CurrencyPair::XemBtc => Currency::Btc,
            &CurrencyPair::XemEth => Currency::Eth,
            &CurrencyPair::XlmBnb => Currency::Bnb,
            &CurrencyPair::XlmBtc => Currency::Btc,
            &CurrencyPair::XlmBusd => Currency::Busd,
            &CurrencyPair::XlmEth => Currency::Eth,
            &CurrencyPair::XlmPax => Currency::Pax,
            &CurrencyPair::XlmTusd => Currency::Tusd,
            &CurrencyPair::XlmUsdc => Currency::Usdc,
            &CurrencyPair::XlmUsdt => Currency::Usdt,
            &CurrencyPair::XmrBnb => Currency::Bnb,
            &CurrencyPair::XmrBtc => Currency::Btc,
            &CurrencyPair::XmrEth => Currency::Eth,
            &CurrencyPair::XmrUsdt => Currency::Usdt,
            &CurrencyPair::XrpBnb => Currency::Bnb,
            &CurrencyPair::XrpBtc => Currency::Btc,
            &CurrencyPair::XrpBusd => Currency::Busd,
            &CurrencyPair::XrpEth => Currency::Eth,
            &CurrencyPair::XrpPax => Currency::Pax,
            &CurrencyPair::XrpRub => Currency::Rub,
            &CurrencyPair::XrpTry => Currency::Try,
            &CurrencyPair::XrpTusd => Currency::Tusd,
            &CurrencyPair::XrpUsdc => Currency::Usdc,
            &CurrencyPair::XrpUsdt => Currency::Usdt,
            &CurrencyPair::XtzBnb => Currency::Bnb,
            &CurrencyPair::XtzBtc => Currency::Btc,
            &CurrencyPair::XtzUsdt => Currency::Usdt,
            &CurrencyPair::XvgBtc => Currency::Btc,
            &CurrencyPair::XvgEth => Currency::Eth,
            &CurrencyPair::XzcBnb => Currency::Bnb,
            &CurrencyPair::XzcBtc => Currency::Btc,
            &CurrencyPair::XzcEth => Currency::Eth,
            &CurrencyPair::XzcXrp => Currency::Xrp,
            &CurrencyPair::YoyoBnb => Currency::Bnb,
            &CurrencyPair::YoyoBtc => Currency::Btc,
            &CurrencyPair::YoyoEth => Currency::Eth,
            &CurrencyPair::ZecBnb => Currency::Bnb,
            &CurrencyPair::ZecBtc => Currency::Btc,
            &CurrencyPair::ZecEth => Currency::Eth,
            &CurrencyPair::ZecPax => Currency::Pax,
            &CurrencyPair::ZecTusd => Currency::Tusd,
            &CurrencyPair::ZecUsdc => Currency::Usdc,
            &CurrencyPair::ZecUsdt => Currency::Usdt,
            &CurrencyPair::ZenBnb => Currency::Bnb,
            &CurrencyPair::ZenBtc => Currency::Btc,
            &CurrencyPair::ZenEth => Currency::Eth,
            &CurrencyPair::ZilBnb => Currency::Bnb,
            &CurrencyPair::ZilBtc => Currency::Btc,
            &CurrencyPair::ZilEth => Currency::Eth,
            &CurrencyPair::ZilUsdt => Currency::Usdt,
            &CurrencyPair::ZrxBnb => Currency::Bnb,
            &CurrencyPair::ZrxBtc => Currency::Btc,
            &CurrencyPair::ZrxEth => Currency::Eth,
            &CurrencyPair::ZrxUsdt => Currency::Usdt,
        }
    }
}

impl FromStr for CurrencyPair {
    type Err = Error;

    fn from_str(pair: &str) -> Result<Self, Self::Err> {
        match pair {
            "ADA_BNB" => Ok(CurrencyPair::AdaBnb),
            "ADA_BTC" => Ok(CurrencyPair::AdaBtc),
            "ADA_BUSD" => Ok(CurrencyPair::AdaBusd),
            "ADA_ETH" => Ok(CurrencyPair::AdaEth),
            "ADA_PAX" => Ok(CurrencyPair::AdaPax),
            "ADA_TUSD" => Ok(CurrencyPair::AdaTusd),
            "ADA_USDC" => Ok(CurrencyPair::AdaUsdc),
            "ADA_USDT" => Ok(CurrencyPair::AdaUsdt),
            "ADX_BNB" => Ok(CurrencyPair::AdxBnb),
            "ADX_BTC" => Ok(CurrencyPair::AdxBtc),
            "ADX_ETH" => Ok(CurrencyPair::AdxEth),
            "AE_BNB" => Ok(CurrencyPair::AeBnb),
            "AE_BTC" => Ok(CurrencyPair::AeBtc),
            "AE_ETH" => Ok(CurrencyPair::AeEth),
            "AGI_BNB" => Ok(CurrencyPair::AgiBnb),
            "AGI_BTC" => Ok(CurrencyPair::AgiBtc),
            "AGI_ETH" => Ok(CurrencyPair::AgiEth),
            "AION_BNB" => Ok(CurrencyPair::AionBnb),
            "AION_BTC" => Ok(CurrencyPair::AionBtc),
            "AION_ETH" => Ok(CurrencyPair::AionEth),
            "ALGO_BNB" => Ok(CurrencyPair::AlgoBnb),
            "ALGO_BTC" => Ok(CurrencyPair::AlgoBtc),
            "ALGO_PAX" => Ok(CurrencyPair::AlgoPax),
            "ALGO_TUSD" => Ok(CurrencyPair::AlgoTusd),
            "ALGO_USDC" => Ok(CurrencyPair::AlgoUsdc),
            "ALGO_USDT" => Ok(CurrencyPair::AlgoUsdt),
            "AMB_BNB" => Ok(CurrencyPair::AmbBnb),
            "AMB_BTC" => Ok(CurrencyPair::AmbBtc),
            "AMB_ETH" => Ok(CurrencyPair::AmbEth),
            "ANKR_BNB" => Ok(CurrencyPair::AnkrBnb),
            "ANKR_BTC" => Ok(CurrencyPair::AnkrBtc),
            "ANKR_PAX" => Ok(CurrencyPair::AnkrPax),
            "ANKR_TUSD" => Ok(CurrencyPair::AnkrTusd),
            "ANKR_USDC" => Ok(CurrencyPair::AnkrUsdc),
            "ANKR_USDT" => Ok(CurrencyPair::AnkrUsdt),
            "APPC_BNB" => Ok(CurrencyPair::AppcBnb),
            "APPC_BTC" => Ok(CurrencyPair::AppcBtc),
            "APPC_ETH" => Ok(CurrencyPair::AppcEth),
            "ARDR_BNB" => Ok(CurrencyPair::ArdrBnb),
            "ARDR_BTC" => Ok(CurrencyPair::ArdrBtc),
            "ARDR_ETH" => Ok(CurrencyPair::ArdrEth),
            "ARK_BTC" => Ok(CurrencyPair::ArkBtc),
            "ARK_ETH" => Ok(CurrencyPair::ArkEth),
            "ARN_BTC" => Ok(CurrencyPair::ArnBtc),
            "ARN_ETH" => Ok(CurrencyPair::ArnEth),
            "ARPA_BNB" => Ok(CurrencyPair::ArpaBnb),
            "ARPA_BTC" => Ok(CurrencyPair::ArpaBtc),
            "ARPA_USDT" => Ok(CurrencyPair::ArpaUsdt),
            "AST_BTC" => Ok(CurrencyPair::AstBtc),
            "AST_ETH" => Ok(CurrencyPair::AstEth),
            "ATOM_BNB" => Ok(CurrencyPair::AtomBnb),
            "ATOM_BTC" => Ok(CurrencyPair::AtomBtc),
            "ATOM_PAX" => Ok(CurrencyPair::AtomPax),
            "ATOM_TUSD" => Ok(CurrencyPair::AtomTusd),
            "ATOM_USDC" => Ok(CurrencyPair::AtomUsdc),
            "ATOM_USDT" => Ok(CurrencyPair::AtomUsdt),
            "BAND_BNB" => Ok(CurrencyPair::BandBnb),
            "BAND_BTC" => Ok(CurrencyPair::BandBtc),
            "BAND_USDT" => Ok(CurrencyPair::BandUsdt),
            "BAT_BNB" => Ok(CurrencyPair::BatBnb),
            "BAT_BTC" => Ok(CurrencyPair::BatBtc),
            "BAT_ETH" => Ok(CurrencyPair::BatEth),
            "BAT_PAX" => Ok(CurrencyPair::BatPax),
            "BAT_TUSD" => Ok(CurrencyPair::BatTusd),
            "BAT_USDC" => Ok(CurrencyPair::BatUsdc),
            "BAT_USDT" => Ok(CurrencyPair::BatUsdt),
            "BCC_BNB" => Ok(CurrencyPair::BccBnb),
            "BCC_BTC" => Ok(CurrencyPair::BccBtc),
            "BCC_ETH" => Ok(CurrencyPair::BccEth),
            "BCC_USDT" => Ok(CurrencyPair::BccUsdt),
            "BCD_BTC" => Ok(CurrencyPair::BcdBtc),
            "BCD_ETH" => Ok(CurrencyPair::BcdEth),
            "BCHABC_BTC" => Ok(CurrencyPair::BchabcBtc),
            "BCHABC_BUSD" => Ok(CurrencyPair::BchabcBusd),
            "BCHABC_PAX" => Ok(CurrencyPair::BchabcPax),
            "BCHABC_TUSD" => Ok(CurrencyPair::BchabcTusd),
            "BCHABC_USDC" => Ok(CurrencyPair::BchabcUsdc),
            "BCHABC_USDT" => Ok(CurrencyPair::BchabcUsdt),
            "BCHSV_BTC" => Ok(CurrencyPair::BchsvBtc),
            "BCHSV_PAX" => Ok(CurrencyPair::BchsvPax),
            "BCHSV_TUSD" => Ok(CurrencyPair::BchsvTusd),
            "BCHSV_USDC" => Ok(CurrencyPair::BchsvUsdc),
            "BCHSV_USDT" => Ok(CurrencyPair::BchsvUsdt),
            "BCH_BNB" => Ok(CurrencyPair::BchBnb),
            "BCH_BTC" => Ok(CurrencyPair::BchBtc),
            "BCH_BUSD" => Ok(CurrencyPair::BchBusd),
            "BCH_PAX" => Ok(CurrencyPair::BchPax),
            "BCH_TUSD" => Ok(CurrencyPair::BchTusd),
            "BCH_USDC" => Ok(CurrencyPair::BchUsdc),
            "BCH_USDT" => Ok(CurrencyPair::BchUsdt),
            "BCN_BNB" => Ok(CurrencyPair::BcnBnb),
            "BCN_BTC" => Ok(CurrencyPair::BcnBtc),
            "BCN_ETH" => Ok(CurrencyPair::BcnEth),
            "BCPT_BNB" => Ok(CurrencyPair::BcptBnb),
            "BCPT_BTC" => Ok(CurrencyPair::BcptBtc),
            "BCPT_ETH" => Ok(CurrencyPair::BcptEth),
            "BCPT_PAX" => Ok(CurrencyPair::BcptPax),
            "BCPT_TUSD" => Ok(CurrencyPair::BcptTusd),
            "BCPT_USDC" => Ok(CurrencyPair::BcptUsdc),
            "BEAM_BNB" => Ok(CurrencyPair::BeamBnb),
            "BEAM_BTC" => Ok(CurrencyPair::BeamBtc),
            "BEAM_USDT" => Ok(CurrencyPair::BeamUsdt),
            "BGBP_USDC" => Ok(CurrencyPair::BgbpUsdc),
            "BLZ_BNB" => Ok(CurrencyPair::BlzBnb),
            "BLZ_BTC" => Ok(CurrencyPair::BlzBtc),
            "BLZ_ETH" => Ok(CurrencyPair::BlzEth),
            "BNB_BTC" => Ok(CurrencyPair::BnbBtc),
            "BNB_BUSD" => Ok(CurrencyPair::BnbBusd),
            "BNB_ETH" => Ok(CurrencyPair::BnbEth),
            "BNB_NGN" => Ok(CurrencyPair::BnbNgn),
            "BNB_PAX" => Ok(CurrencyPair::BnbPax),
            "BNB_RUB" => Ok(CurrencyPair::BnbRub),
            "BNB_TRY" => Ok(CurrencyPair::BnbTry),
            "BNB_TUSD" => Ok(CurrencyPair::BnbTusd),
            "BNB_USDC" => Ok(CurrencyPair::BnbUsdc),
            "BNB_USDS" => Ok(CurrencyPair::BnbUsds),
            "BNB_USDT" => Ok(CurrencyPair::BnbUsdt),
            "BNT_BTC" => Ok(CurrencyPair::BntBtc),
            "BNT_ETH" => Ok(CurrencyPair::BntEth),
            "BQX_BTC" => Ok(CurrencyPair::BqxBtc),
            "BQX_ETH" => Ok(CurrencyPair::BqxEth),
            "BRD_BNB" => Ok(CurrencyPair::BrdBnb),
            "BRD_BTC" => Ok(CurrencyPair::BrdBtc),
            "BRD_ETH" => Ok(CurrencyPair::BrdEth),
            "BTCB_BTC" => Ok(CurrencyPair::BtcbBtc),
            "BTC_BUSD" => Ok(CurrencyPair::BtcBusd),
            "BTC_DGB" => Ok(CurrencyPair::BtcDgb),
            "BTC_FCT" => Ok(CurrencyPair::BtcFct),
            "BTC_FOAM" => Ok(CurrencyPair::BtcFoam),
            "BTC_GRIN" => Ok(CurrencyPair::BtcGrin),
            "BTC_LPT" => Ok(CurrencyPair::BtcLpt),
            "BTC_MAID" => Ok(CurrencyPair::BtcMaid),
            "BTC_NGN" => Ok(CurrencyPair::BtcNgn),
            "BTC_NMR" => Ok(CurrencyPair::BtcNmr),
            "BTC_NXT" => Ok(CurrencyPair::BtcNxt),
            "BTC_OMNI" => Ok(CurrencyPair::BtcOmni),
            "BTC_PAX" => Ok(CurrencyPair::BtcPax),
            "BTC_RUB" => Ok(CurrencyPair::BtcRub),
            "BTC_STR" => Ok(CurrencyPair::BtcStr),
            "BTC_TRY" => Ok(CurrencyPair::BtcTry),
            "BTC_TUSD" => Ok(CurrencyPair::BtcTusd),
            "BTC_USDC" => Ok(CurrencyPair::BtcUsdc),
            "BTC_USDS" => Ok(CurrencyPair::BtcUsds),
            "BTC_USDT" => Ok(CurrencyPair::BtcUsdt),
            "BTC_VTC" => Ok(CurrencyPair::BtcVtc),
            "BTC_XPM" => Ok(CurrencyPair::BtcXpm),
            "BTG_BTC" => Ok(CurrencyPair::BtgBtc),
            "BTG_ETH" => Ok(CurrencyPair::BtgEth),
            "BTS_BNB" => Ok(CurrencyPair::BtsBnb),
            "BTS_BTC" => Ok(CurrencyPair::BtsBtc),
            "BTS_ETH" => Ok(CurrencyPair::BtsEth),
            "BTT_BNB" => Ok(CurrencyPair::BttBnb),
            "BTT_BTC" => Ok(CurrencyPair::BttBtc),
            "BTT_PAX" => Ok(CurrencyPair::BttPax),
            "BTT_TRX" => Ok(CurrencyPair::BttTrx),
            "BTT_TUSD" => Ok(CurrencyPair::BttTusd),
            "BTT_USDC" => Ok(CurrencyPair::BttUsdc),
            "BTT_USDT" => Ok(CurrencyPair::BttUsdt),
            "BUSD_NGN" => Ok(CurrencyPair::BusdNgn),
            "BUSD_RUB" => Ok(CurrencyPair::BusdRub),
            "BUSD_TRY" => Ok(CurrencyPair::BusdTry),
            "BUSD_USDT" => Ok(CurrencyPair::BusdUsdt),
            "CDT_BTC" => Ok(CurrencyPair::CdtBtc),
            "CDT_ETH" => Ok(CurrencyPair::CdtEth),
            "CELR_BNB" => Ok(CurrencyPair::CelrBnb),
            "CELR_BTC" => Ok(CurrencyPair::CelrBtc),
            "CELR_USDT" => Ok(CurrencyPair::CelrUsdt),
            "CHAT_BTC" => Ok(CurrencyPair::ChatBtc),
            "CHAT_ETH" => Ok(CurrencyPair::ChatEth),
            "CHZ_BNB" => Ok(CurrencyPair::ChzBnb),
            "CHZ_BTC" => Ok(CurrencyPair::ChzBtc),
            "CHZ_USDT" => Ok(CurrencyPair::ChzUsdt),
            "CLOAK_BTC" => Ok(CurrencyPair::CloakBtc),
            "CLOAK_ETH" => Ok(CurrencyPair::CloakEth),
            "CMT_BNB" => Ok(CurrencyPair::CmtBnb),
            "CMT_BTC" => Ok(CurrencyPair::CmtBtc),
            "CMT_ETH" => Ok(CurrencyPair::CmtEth),
            "CND_BNB" => Ok(CurrencyPair::CndBnb),
            "CND_BTC" => Ok(CurrencyPair::CndBtc),
            "CND_ETH" => Ok(CurrencyPair::CndEth),
            "COCOS_BNB" => Ok(CurrencyPair::CocosBnb),
            "COCOS_BTC" => Ok(CurrencyPair::CocosBtc),
            "COCOS_USDT" => Ok(CurrencyPair::CocosUsdt),
            "COS_BNB" => Ok(CurrencyPair::CosBnb),
            "COS_BTC" => Ok(CurrencyPair::CosBtc),
            "COS_USDT" => Ok(CurrencyPair::CosUsdt),
            "CTXC_BNB" => Ok(CurrencyPair::CtxcBnb),
            "CTXC_BTC" => Ok(CurrencyPair::CtxcBtc),
            "CTXC_USDT" => Ok(CurrencyPair::CtxcUsdt),
            "CVC_BNB" => Ok(CurrencyPair::CvcBnb),
            "CVC_BTC" => Ok(CurrencyPair::CvcBtc),
            "CVC_ETH" => Ok(CurrencyPair::CvcEth),
            "CVC_USDT" => Ok(CurrencyPair::CvcUsdt),
            "DASH_BNB" => Ok(CurrencyPair::DashBnb),
            "DASH_BTC" => Ok(CurrencyPair::DashBtc),
            "DASH_ETH" => Ok(CurrencyPair::DashEth),
            "DASH_USDT" => Ok(CurrencyPair::DashUsdt),
            "DATA_BTC" => Ok(CurrencyPair::DataBtc),
            "DATA_ETH" => Ok(CurrencyPair::DataEth),
            "DCR_BNB" => Ok(CurrencyPair::DcrBnb),
            "DCR_BTC" => Ok(CurrencyPair::DcrBtc),
            "DENT_BTC" => Ok(CurrencyPair::DentBtc),
            "DENT_ETH" => Ok(CurrencyPair::DentEth),
            "DENT_USDT" => Ok(CurrencyPair::DentUsdt),
            "DGD_BTC" => Ok(CurrencyPair::DgdBtc),
            "DGD_ETH" => Ok(CurrencyPair::DgdEth),
            "DLT_BNB" => Ok(CurrencyPair::DltBnb),
            "DLT_BTC" => Ok(CurrencyPair::DltBtc),
            "DLT_ETH" => Ok(CurrencyPair::DltEth),
            "DNT_BTC" => Ok(CurrencyPair::DntBtc),
            "DNT_ETH" => Ok(CurrencyPair::DntEth),
            "DOCK_BTC" => Ok(CurrencyPair::DockBtc),
            "DOCK_ETH" => Ok(CurrencyPair::DockEth),
            "DOCK_USDT" => Ok(CurrencyPair::DockUsdt),
            "DOGE_BNB" => Ok(CurrencyPair::DogeBnb),
            "DOGE_BTC" => Ok(CurrencyPair::DogeBtc),
            "DOGE_PAX" => Ok(CurrencyPair::DogePax),
            "DOGE_USDC" => Ok(CurrencyPair::DogeUsdc),
            "DOGE_USDT" => Ok(CurrencyPair::DogeUsdt),
            "DUSK_BNB" => Ok(CurrencyPair::DuskBnb),
            "DUSK_BTC" => Ok(CurrencyPair::DuskBtc),
            "DUSK_PAX" => Ok(CurrencyPair::DuskPax),
            "DUSK_USDC" => Ok(CurrencyPair::DuskUsdc),
            "DUSK_USDT" => Ok(CurrencyPair::DuskUsdt),
            "EDO_BTC" => Ok(CurrencyPair::EdoBtc),
            "EDO_ETH" => Ok(CurrencyPair::EdoEth),
            "ELF_BTC" => Ok(CurrencyPair::ElfBtc),
            "ELF_ETH" => Ok(CurrencyPair::ElfEth),
            "ENG_BTC" => Ok(CurrencyPair::EngBtc),
            "ENG_ETH" => Ok(CurrencyPair::EngEth),
            "ENJ_BNB" => Ok(CurrencyPair::EnjBnb),
            "ENJ_BTC" => Ok(CurrencyPair::EnjBtc),
            "ENJ_ETH" => Ok(CurrencyPair::EnjEth),
            "ENJ_USDT" => Ok(CurrencyPair::EnjUsdt),
            "EOS_BNB" => Ok(CurrencyPair::EosBnb),
            "EOS_BTC" => Ok(CurrencyPair::EosBtc),
            "EOS_BUSD" => Ok(CurrencyPair::EosBusd),
            "EOS_ETH" => Ok(CurrencyPair::EosEth),
            "EOS_PAX" => Ok(CurrencyPair::EosPax),
            "EOS_TUSD" => Ok(CurrencyPair::EosTusd),
            "EOS_USDC" => Ok(CurrencyPair::EosUsdc),
            "EOS_USDT" => Ok(CurrencyPair::EosUsdt),
            "ERD_BNB" => Ok(CurrencyPair::ErdBnb),
            "ERD_BTC" => Ok(CurrencyPair::ErdBtc),
            "ERD_PAX" => Ok(CurrencyPair::ErdPax),
            "ERD_USDC" => Ok(CurrencyPair::ErdUsdc),
            "ERD_USDT" => Ok(CurrencyPair::ErdUsdt),
            "ETC_BNB" => Ok(CurrencyPair::EtcBnb),
            "ETC_BTC" => Ok(CurrencyPair::EtcBtc),
            "ETC_BUSD" => Ok(CurrencyPair::EtcBusd),
            "ETC_ETH" => Ok(CurrencyPair::EtcEth),
            "ETC_PAX" => Ok(CurrencyPair::EtcPax),
            "ETC_TUSD" => Ok(CurrencyPair::EtcTusd),
            "ETC_USDC" => Ok(CurrencyPair::EtcUsdc),
            "ETC_USDT" => Ok(CurrencyPair::EtcUsdt),
            "ETH_BTC" => Ok(CurrencyPair::EthBtc),
            "ETH_BUSD" => Ok(CurrencyPair::EthBusd),
            "ETH_PAX" => Ok(CurrencyPair::EthPax),
            "ETH_RUB" => Ok(CurrencyPair::EthRub),
            "ETH_TRY" => Ok(CurrencyPair::EthTry),
            "ETH_TUSD" => Ok(CurrencyPair::EthTusd),
            "ETH_USDC" => Ok(CurrencyPair::EthUsdc),
            "ETH_USDT" => Ok(CurrencyPair::EthUsdt),
            "EVX_BTC" => Ok(CurrencyPair::EvxBtc),
            "EVX_ETH" => Ok(CurrencyPair::EvxEth),
            "FET_BNB" => Ok(CurrencyPair::FetBnb),
            "FET_BTC" => Ok(CurrencyPair::FetBtc),
            "FET_USDT" => Ok(CurrencyPair::FetUsdt),
            "FTM_BNB" => Ok(CurrencyPair::FtmBnb),
            "FTM_BTC" => Ok(CurrencyPair::FtmBtc),
            "FTM_PAX" => Ok(CurrencyPair::FtmPax),
            "FTM_TUSD" => Ok(CurrencyPair::FtmTusd),
            "FTM_USDC" => Ok(CurrencyPair::FtmUsdc),
            "FTM_USDT" => Ok(CurrencyPair::FtmUsdt),
            "FTT_BNB" => Ok(CurrencyPair::FttBnb),
            "FTT_BTC" => Ok(CurrencyPair::FttBtc),
            "FTT_USDT" => Ok(CurrencyPair::FttUsdt),
            "FUEL_BTC" => Ok(CurrencyPair::FuelBtc),
            "FUEL_ETH" => Ok(CurrencyPair::FuelEth),
            "FUN_BTC" => Ok(CurrencyPair::FunBtc),
            "FUN_ETH" => Ok(CurrencyPair::FunEth),
            "FUN_USDT" => Ok(CurrencyPair::FunUsdt),
            "GAS_BTC" => Ok(CurrencyPair::GasBtc),
            "GNT_BNB" => Ok(CurrencyPair::GntBnb),
            "GNT_BTC" => Ok(CurrencyPair::GntBtc),
            "GNT_ETH" => Ok(CurrencyPair::GntEth),
            "GO_BNB" => Ok(CurrencyPair::GoBnb),
            "GO_BTC" => Ok(CurrencyPair::GoBtc),
            "GRS_BTC" => Ok(CurrencyPair::GrsBtc),
            "GRS_ETH" => Ok(CurrencyPair::GrsEth),
            "GTO_BNB" => Ok(CurrencyPair::GtoBnb),
            "GTO_BTC" => Ok(CurrencyPair::GtoBtc),
            "GTO_ETH" => Ok(CurrencyPair::GtoEth),
            "GTO_PAX" => Ok(CurrencyPair::GtoPax),
            "GTO_TUSD" => Ok(CurrencyPair::GtoTusd),
            "GTO_USDC" => Ok(CurrencyPair::GtoUsdc),
            "GTO_USDT" => Ok(CurrencyPair::GtoUsdt),
            "GVT_BTC" => Ok(CurrencyPair::GvtBtc),
            "GVT_ETH" => Ok(CurrencyPair::GvtEth),
            "GXS_BTC" => Ok(CurrencyPair::GxsBtc),
            "GXS_ETH" => Ok(CurrencyPair::GxsEth),
            "HBAR_BNB" => Ok(CurrencyPair::HbarBnb),
            "HBAR_BTC" => Ok(CurrencyPair::HbarBtc),
            "HBAR_USDT" => Ok(CurrencyPair::HbarUsdt),
            "HC_BTC" => Ok(CurrencyPair::HcBtc),
            "HC_ETH" => Ok(CurrencyPair::HcEth),
            "HC_USDT" => Ok(CurrencyPair::HcUsdt),
            "HOT_BNB" => Ok(CurrencyPair::HotBnb),
            "HOT_BTC" => Ok(CurrencyPair::HotBtc),
            "HOT_ETH" => Ok(CurrencyPair::HotEth),
            "HOT_USDT" => Ok(CurrencyPair::HotUsdt),
            "HSR_BTC" => Ok(CurrencyPair::HsrBtc),
            "HSR_ETH" => Ok(CurrencyPair::HsrEth),
            "ICN_BTC" => Ok(CurrencyPair::IcnBtc),
            "ICN_ETH" => Ok(CurrencyPair::IcnEth),
            "ICX_BNB" => Ok(CurrencyPair::IcxBnb),
            "ICX_BTC" => Ok(CurrencyPair::IcxBtc),
            "ICX_ETH" => Ok(CurrencyPair::IcxEth),
            "ICX_USDT" => Ok(CurrencyPair::IcxUsdt),
            "INS_BTC" => Ok(CurrencyPair::InsBtc),
            "INS_ETH" => Ok(CurrencyPair::InsEth),
            "IOST_BNB" => Ok(CurrencyPair::IostBnb),
            "IOST_BTC" => Ok(CurrencyPair::IostBtc),
            "IOST_ETH" => Ok(CurrencyPair::IostEth),
            "IOST_USDT" => Ok(CurrencyPair::IostUsdt),
            "IOTA_BNB" => Ok(CurrencyPair::IotaBnb),
            "IOTA_BTC" => Ok(CurrencyPair::IotaBtc),
            "IOTA_ETH" => Ok(CurrencyPair::IotaEth),
            "IOTA_USDT" => Ok(CurrencyPair::IotaUsdt),
            "IOTX_BTC" => Ok(CurrencyPair::IotxBtc),
            "IOTX_ETH" => Ok(CurrencyPair::IotxEth),
            "IOTX_USDT" => Ok(CurrencyPair::IotxUsdt),
            "KAVA_BNB" => Ok(CurrencyPair::KavaBnb),
            "KAVA_BTC" => Ok(CurrencyPair::KavaBtc),
            "KAVA_USDT" => Ok(CurrencyPair::KavaUsdt),
            "KEY_BTC" => Ok(CurrencyPair::KeyBtc),
            "KEY_ETH" => Ok(CurrencyPair::KeyEth),
            "KEY_USDT" => Ok(CurrencyPair::KeyUsdt),
            "KMD_BTC" => Ok(CurrencyPair::KmdBtc),
            "KMD_ETH" => Ok(CurrencyPair::KmdEth),
            "KNC_BTC" => Ok(CurrencyPair::KncBtc),
            "KNC_ETH" => Ok(CurrencyPair::KncEth),
            "LEND_BTC" => Ok(CurrencyPair::LendBtc),
            "LEND_ETH" => Ok(CurrencyPair::LendEth),
            "LINK_BTC" => Ok(CurrencyPair::LinkBtc),
            "LINK_BUSD" => Ok(CurrencyPair::LinkBusd),
            "LINK_ETH" => Ok(CurrencyPair::LinkEth),
            "LINK_PAX" => Ok(CurrencyPair::LinkPax),
            "LINK_TUSD" => Ok(CurrencyPair::LinkTusd),
            "LINK_USDC" => Ok(CurrencyPair::LinkUsdc),
            "LINK_USDT" => Ok(CurrencyPair::LinkUsdt),
            "LOOM_BNB" => Ok(CurrencyPair::LoomBnb),
            "LOOM_BTC" => Ok(CurrencyPair::LoomBtc),
            "LOOM_ETH" => Ok(CurrencyPair::LoomEth),
            "LRC_BTC" => Ok(CurrencyPair::LrcBtc),
            "LRC_ETH" => Ok(CurrencyPair::LrcEth),
            "LSK_BNB" => Ok(CurrencyPair::LskBnb),
            "LSK_BTC" => Ok(CurrencyPair::LskBtc),
            "LSK_ETH" => Ok(CurrencyPair::LskEth),
            "LTC_BNB" => Ok(CurrencyPair::LtcBnb),
            "LTC_BTC" => Ok(CurrencyPair::LtcBtc),
            "LTC_BUSD" => Ok(CurrencyPair::LtcBusd),
            "LTC_ETH" => Ok(CurrencyPair::LtcEth),
            "LTC_PAX" => Ok(CurrencyPair::LtcPax),
            "LTC_TUSD" => Ok(CurrencyPair::LtcTusd),
            "LTC_USDC" => Ok(CurrencyPair::LtcUsdc),
            "LTC_USDT" => Ok(CurrencyPair::LtcUsdt),
            "LUN_BTC" => Ok(CurrencyPair::LunBtc),
            "LUN_ETH" => Ok(CurrencyPair::LunEth),
            "MANA_BTC" => Ok(CurrencyPair::ManaBtc),
            "MANA_ETH" => Ok(CurrencyPair::ManaEth),
            "MATIC_BNB" => Ok(CurrencyPair::MaticBnb),
            "MATIC_BTC" => Ok(CurrencyPair::MaticBtc),
            "MATIC_USDT" => Ok(CurrencyPair::MaticUsdt),
            "MCO_BNB" => Ok(CurrencyPair::McoBnb),
            "MCO_BTC" => Ok(CurrencyPair::McoBtc),
            "MCO_ETH" => Ok(CurrencyPair::McoEth),
            "MCO_USDT" => Ok(CurrencyPair::McoUsdt),
            "MDA_BTC" => Ok(CurrencyPair::MdaBtc),
            "MDA_ETH" => Ok(CurrencyPair::MdaEth),
            "MFT_BNB" => Ok(CurrencyPair::MftBnb),
            "MFT_BTC" => Ok(CurrencyPair::MftBtc),
            "MFT_ETH" => Ok(CurrencyPair::MftEth),
            "MFT_USDT" => Ok(CurrencyPair::MftUsdt),
            "MITH_BNB" => Ok(CurrencyPair::MithBnb),
            "MITH_BTC" => Ok(CurrencyPair::MithBtc),
            "MITH_USDT" => Ok(CurrencyPair::MithUsdt),
            "MOD_BTC" => Ok(CurrencyPair::ModBtc),
            "MOD_ETH" => Ok(CurrencyPair::ModEth),
            "MTH_BTC" => Ok(CurrencyPair::MthBtc),
            "MTH_ETH" => Ok(CurrencyPair::MthEth),
            "MTL_BTC" => Ok(CurrencyPair::MtlBtc),
            "MTL_ETH" => Ok(CurrencyPair::MtlEth),
            "MTL_USDT" => Ok(CurrencyPair::MtlUsdt),
            "NANO_BNB" => Ok(CurrencyPair::NanoBnb),
            "NANO_BTC" => Ok(CurrencyPair::NanoBtc),
            "NANO_ETH" => Ok(CurrencyPair::NanoEth),
            "NANO_USDT" => Ok(CurrencyPair::NanoUsdt),
            "NAS_BNB" => Ok(CurrencyPair::NasBnb),
            "NAS_BTC" => Ok(CurrencyPair::NasBtc),
            "NAS_ETH" => Ok(CurrencyPair::NasEth),
            "NAV_BNB" => Ok(CurrencyPair::NavBnb),
            "NAV_BTC" => Ok(CurrencyPair::NavBtc),
            "NAV_ETH" => Ok(CurrencyPair::NavEth),
            "NCASH_BNB" => Ok(CurrencyPair::NcashBnb),
            "NCASH_BTC" => Ok(CurrencyPair::NcashBtc),
            "NCASH_ETH" => Ok(CurrencyPair::NcashEth),
            "NEBL_BNB" => Ok(CurrencyPair::NeblBnb),
            "NEBL_BTC" => Ok(CurrencyPair::NeblBtc),
            "NEBL_ETH" => Ok(CurrencyPair::NeblEth),
            "NEO_BNB" => Ok(CurrencyPair::NeoBnb),
            "NEO_BTC" => Ok(CurrencyPair::NeoBtc),
            "NEO_ETH" => Ok(CurrencyPair::NeoEth),
            "NEO_PAX" => Ok(CurrencyPair::NeoPax),
            "NEO_TUSD" => Ok(CurrencyPair::NeoTusd),
            "NEO_USDC" => Ok(CurrencyPair::NeoUsdc),
            "NEO_USDT" => Ok(CurrencyPair::NeoUsdt),
            "NKN_BNB" => Ok(CurrencyPair::NknBnb),
            "NKN_BTC" => Ok(CurrencyPair::NknBtc),
            "NKN_USDT" => Ok(CurrencyPair::NknUsdt),
            "NPXS_BTC" => Ok(CurrencyPair::NpxsBtc),
            "NPXS_ETH" => Ok(CurrencyPair::NpxsEth),
            "NPXS_USDC" => Ok(CurrencyPair::NpxsUsdc),
            "NPXS_USDT" => Ok(CurrencyPair::NpxsUsdt),
            "NULS_BNB" => Ok(CurrencyPair::NulsBnb),
            "NULS_BTC" => Ok(CurrencyPair::NulsBtc),
            "NULS_ETH" => Ok(CurrencyPair::NulsEth),
            "NULS_USDT" => Ok(CurrencyPair::NulsUsdt),
            "NXS_BNB" => Ok(CurrencyPair::NxsBnb),
            "NXS_BTC" => Ok(CurrencyPair::NxsBtc),
            "NXS_ETH" => Ok(CurrencyPair::NxsEth),
            "OAX_BTC" => Ok(CurrencyPair::OaxBtc),
            "OAX_ETH" => Ok(CurrencyPair::OaxEth),
            "OMG_BNB" => Ok(CurrencyPair::OmgBnb),
            "OMG_BTC" => Ok(CurrencyPair::OmgBtc),
            "OMG_ETH" => Ok(CurrencyPair::OmgEth),
            "OMG_USDT" => Ok(CurrencyPair::OmgUsdt),
            "ONE_BNB" => Ok(CurrencyPair::OneBnb),
            "ONE_BTC" => Ok(CurrencyPair::OneBtc),
            "ONE_PAX" => Ok(CurrencyPair::OnePax),
            "ONE_TUSD" => Ok(CurrencyPair::OneTusd),
            "ONE_USDC" => Ok(CurrencyPair::OneUsdc),
            "ONE_USDT" => Ok(CurrencyPair::OneUsdt),
            "ONG_BNB" => Ok(CurrencyPair::OngBnb),
            "ONG_BTC" => Ok(CurrencyPair::OngBtc),
            "ONG_USDT" => Ok(CurrencyPair::OngUsdt),
            "ONT_BNB" => Ok(CurrencyPair::OntBnb),
            "ONT_BTC" => Ok(CurrencyPair::OntBtc),
            "ONT_ETH" => Ok(CurrencyPair::OntEth),
            "ONT_PAX" => Ok(CurrencyPair::OntPax),
            "ONT_USDC" => Ok(CurrencyPair::OntUsdc),
            "ONT_USDT" => Ok(CurrencyPair::OntUsdt),
            "OST_BNB" => Ok(CurrencyPair::OstBnb),
            "OST_BTC" => Ok(CurrencyPair::OstBtc),
            "OST_ETH" => Ok(CurrencyPair::OstEth),
            "PAX_BNB" => Ok(CurrencyPair::PaxBnb),
            "PAX_BTC" => Ok(CurrencyPair::PaxBtc),
            "PAX_ETH" => Ok(CurrencyPair::PaxEth),
            "PAX_TUSD" => Ok(CurrencyPair::PaxTusd),
            "PAX_USDT" => Ok(CurrencyPair::PaxUsdt),
            "PERL_BNB" => Ok(CurrencyPair::PerlBnb),
            "PERL_BTC" => Ok(CurrencyPair::PerlBtc),
            "PERL_USDC" => Ok(CurrencyPair::PerlUsdc),
            "PERL_USDT" => Ok(CurrencyPair::PerlUsdt),
            "PHB_BNB" => Ok(CurrencyPair::PhbBnb),
            "PHB_BTC" => Ok(CurrencyPair::PhbBtc),
            "PHB_PAX" => Ok(CurrencyPair::PhbPax),
            "PHB_TUSD" => Ok(CurrencyPair::PhbTusd),
            "PHB_USDC" => Ok(CurrencyPair::PhbUsdc),
            "PHX_BNB" => Ok(CurrencyPair::PhxBnb),
            "PHX_BTC" => Ok(CurrencyPair::PhxBtc),
            "PHX_ETH" => Ok(CurrencyPair::PhxEth),
            "PIVX_BNB" => Ok(CurrencyPair::PivxBnb),
            "PIVX_BTC" => Ok(CurrencyPair::PivxBtc),
            "PIVX_ETH" => Ok(CurrencyPair::PivxEth),
            "POA_BNB" => Ok(CurrencyPair::PoaBnb),
            "POA_BTC" => Ok(CurrencyPair::PoaBtc),
            "POA_ETH" => Ok(CurrencyPair::PoaEth),
            "POE_BTC" => Ok(CurrencyPair::PoeBtc),
            "POE_ETH" => Ok(CurrencyPair::PoeEth),
            "POLY_BNB" => Ok(CurrencyPair::PolyBnb),
            "POLY_BTC" => Ok(CurrencyPair::PolyBtc),
            "POWR_BNB" => Ok(CurrencyPair::PowrBnb),
            "POWR_BTC" => Ok(CurrencyPair::PowrBtc),
            "POWR_ETH" => Ok(CurrencyPair::PowrEth),
            "PPT_BTC" => Ok(CurrencyPair::PptBtc),
            "PPT_ETH" => Ok(CurrencyPair::PptEth),
            "QKC_BTC" => Ok(CurrencyPair::QkcBtc),
            "QKC_ETH" => Ok(CurrencyPair::QkcEth),
            "QLC_BNB" => Ok(CurrencyPair::QlcBnb),
            "QLC_BTC" => Ok(CurrencyPair::QlcBtc),
            "QLC_ETH" => Ok(CurrencyPair::QlcEth),
            "QSP_BNB" => Ok(CurrencyPair::QspBnb),
            "QSP_BTC" => Ok(CurrencyPair::QspBtc),
            "QSP_ETH" => Ok(CurrencyPair::QspEth),
            "QTUM_BNB" => Ok(CurrencyPair::QtumBnb),
            "QTUM_BTC" => Ok(CurrencyPair::QtumBtc),
            "QTUM_BUSD" => Ok(CurrencyPair::QtumBusd),
            "QTUM_ETH" => Ok(CurrencyPair::QtumEth),
            "QTUM_USDT" => Ok(CurrencyPair::QtumUsdt),
            "RCN_BNB" => Ok(CurrencyPair::RcnBnb),
            "RCN_BTC" => Ok(CurrencyPair::RcnBtc),
            "RCN_ETH" => Ok(CurrencyPair::RcnEth),
            "RDN_BNB" => Ok(CurrencyPair::RdnBnb),
            "RDN_BTC" => Ok(CurrencyPair::RdnBtc),
            "RDN_ETH" => Ok(CurrencyPair::RdnEth),
            "REN_BNB" => Ok(CurrencyPair::RenBnb),
            "REN_BTC" => Ok(CurrencyPair::RenBtc),
            "REN_USDT" => Ok(CurrencyPair::RenUsdt),
            "REP_BNB" => Ok(CurrencyPair::RepBnb),
            "REP_BTC" => Ok(CurrencyPair::RepBtc),
            "REP_ETH" => Ok(CurrencyPair::RepEth),
            "REQ_BTC" => Ok(CurrencyPair::ReqBtc),
            "REQ_ETH" => Ok(CurrencyPair::ReqEth),
            "RLC_BNB" => Ok(CurrencyPair::RlcBnb),
            "RLC_BTC" => Ok(CurrencyPair::RlcBtc),
            "RLC_ETH" => Ok(CurrencyPair::RlcEth),
            "RLC_USDT" => Ok(CurrencyPair::RlcUsdt),
            "RPX_BNB" => Ok(CurrencyPair::RpxBnb),
            "RPX_BTC" => Ok(CurrencyPair::RpxBtc),
            "RPX_ETH" => Ok(CurrencyPair::RpxEth),
            "RVN_BNB" => Ok(CurrencyPair::RvnBnb),
            "RVN_BTC" => Ok(CurrencyPair::RvnBtc),
            "RVN_USDT" => Ok(CurrencyPair::RvnUsdt),
            "SALT_BTC" => Ok(CurrencyPair::SaltBtc),
            "SALT_ETH" => Ok(CurrencyPair::SaltEth),
            "SC_BNB" => Ok(CurrencyPair::ScBnb),
            "SC_BTC" => Ok(CurrencyPair::ScBtc),
            "SC_ETH" => Ok(CurrencyPair::ScEth),
            "SKY_BNB" => Ok(CurrencyPair::SkyBnb),
            "SKY_BTC" => Ok(CurrencyPair::SkyBtc),
            "SKY_ETH" => Ok(CurrencyPair::SkyEth),
            "SNGLS_BTC" => Ok(CurrencyPair::SnglsBtc),
            "SNGLS_ETH" => Ok(CurrencyPair::SnglsEth),
            "SNM_BTC" => Ok(CurrencyPair::SnmBtc),
            "SNM_ETH" => Ok(CurrencyPair::SnmEth),
            "SNT_BTC" => Ok(CurrencyPair::SntBtc),
            "SNT_ETH" => Ok(CurrencyPair::SntEth),
            "STEEM_BNB" => Ok(CurrencyPair::SteemBnb),
            "STEEM_BTC" => Ok(CurrencyPair::SteemBtc),
            "STEEM_ETH" => Ok(CurrencyPair::SteemEth),
            "STORJ_BTC" => Ok(CurrencyPair::StorjBtc),
            "STORJ_ETH" => Ok(CurrencyPair::StorjEth),
            "STORM_BNB" => Ok(CurrencyPair::StormBnb),
            "STORM_BTC" => Ok(CurrencyPair::StormBtc),
            "STORM_ETH" => Ok(CurrencyPair::StormEth),
            "STORM_USDT" => Ok(CurrencyPair::StormUsdt),
            "STRAT_BTC" => Ok(CurrencyPair::StratBtc),
            "STRAT_ETH" => Ok(CurrencyPair::StratEth),
            "STX_BNB" => Ok(CurrencyPair::StxBnb),
            "STX_BTC" => Ok(CurrencyPair::StxBtc),
            "STX_USDT" => Ok(CurrencyPair::StxUsdt),
            "SUB_BTC" => Ok(CurrencyPair::SubBtc),
            "SUB_ETH" => Ok(CurrencyPair::SubEth),
            "SYS_BNB" => Ok(CurrencyPair::SysBnb),
            "SYS_BTC" => Ok(CurrencyPair::SysBtc),
            "SYS_ETH" => Ok(CurrencyPair::SysEth),
            "TFUEL_BNB" => Ok(CurrencyPair::TfuelBnb),
            "TFUEL_BTC" => Ok(CurrencyPair::TfuelBtc),
            "TFUEL_PAX" => Ok(CurrencyPair::TfuelPax),
            "TFUEL_TUSD" => Ok(CurrencyPair::TfuelTusd),
            "TFUEL_USDC" => Ok(CurrencyPair::TfuelUsdc),
            "TFUEL_USDT" => Ok(CurrencyPair::TfuelUsdt),
            "THETA_BNB" => Ok(CurrencyPair::ThetaBnb),
            "THETA_BTC" => Ok(CurrencyPair::ThetaBtc),
            "THETA_ETH" => Ok(CurrencyPair::ThetaEth),
            "THETA_USDT" => Ok(CurrencyPair::ThetaUsdt),
            "TNB_BTC" => Ok(CurrencyPair::TnbBtc),
            "TNB_ETH" => Ok(CurrencyPair::TnbEth),
            "TNT_BTC" => Ok(CurrencyPair::TntBtc),
            "TNT_ETH" => Ok(CurrencyPair::TntEth),
            "TOMO_BNB" => Ok(CurrencyPair::TomoBnb),
            "TOMO_BTC" => Ok(CurrencyPair::TomoBtc),
            "TOMO_USDC" => Ok(CurrencyPair::TomoUsdc),
            "TOMO_USDT" => Ok(CurrencyPair::TomoUsdt),
            "TRIG_BNB" => Ok(CurrencyPair::TrigBnb),
            "TRIG_BTC" => Ok(CurrencyPair::TrigBtc),
            "TRIG_ETH" => Ok(CurrencyPair::TrigEth),
            "TROY_BNB" => Ok(CurrencyPair::TroyBnb),
            "TROY_BTC" => Ok(CurrencyPair::TroyBtc),
            "TROY_USDT" => Ok(CurrencyPair::TroyUsdt),
            "TRX_BNB" => Ok(CurrencyPair::TrxBnb),
            "TRX_BTC" => Ok(CurrencyPair::TrxBtc),
            "TRX_BUSD" => Ok(CurrencyPair::TrxBusd),
            "TRX_ETH" => Ok(CurrencyPair::TrxEth),
            "TRX_PAX" => Ok(CurrencyPair::TrxPax),
            "TRX_TUSD" => Ok(CurrencyPair::TrxTusd),
            "TRX_USDC" => Ok(CurrencyPair::TrxUsdc),
            "TRX_USDT" => Ok(CurrencyPair::TrxUsdt),
            "TRX_XRP" => Ok(CurrencyPair::TrxXrp),
            "TUSDB_TUSD" => Ok(CurrencyPair::TusdbTusd),
            "TUSD_BNB" => Ok(CurrencyPair::TusdBnb),
            "TUSD_BTC" => Ok(CurrencyPair::TusdBtc),
            "TUSD_ETH" => Ok(CurrencyPair::TusdEth),
            "TUSD_USDT" => Ok(CurrencyPair::TusdUsdt),
            "USDC_BNB" => Ok(CurrencyPair::UsdcBnb),
            "USDC_DASH" => Ok(CurrencyPair::UsdcDash),
            "USDC_GRIN" => Ok(CurrencyPair::UsdcGrin),
            "USDC_PAX" => Ok(CurrencyPair::UsdcPax),
            "USDC_STR" => Ok(CurrencyPair::UsdcStr),
            "USDC_TUSD" => Ok(CurrencyPair::UsdcTusd),
            "USDC_USDT" => Ok(CurrencyPair::UsdcUsdt),
            "USDC_XMR" => Ok(CurrencyPair::UsdcXmr),
            "USDSB_USDS" => Ok(CurrencyPair::UsdsbUsds),
            "USDSB_USDT" => Ok(CurrencyPair::UsdsbUsdt),
            "USDS_PAX" => Ok(CurrencyPair::UsdsPax),
            "USDS_TUSD" => Ok(CurrencyPair::UsdsTusd),
            "USDS_USDC" => Ok(CurrencyPair::UsdsUsdc),
            "USDS_USDT" => Ok(CurrencyPair::UsdsUsdt),
            "USDT_DGB" => Ok(CurrencyPair::UsdtDgb),
            "USDT_GNT" => Ok(CurrencyPair::UsdtGnt),
            "USDT_GRIN" => Ok(CurrencyPair::UsdtGrin),
            "USDT_LSK" => Ok(CurrencyPair::UsdtLsk),
            "USDT_MANA" => Ok(CurrencyPair::UsdtMana),
            "USDT_NXT" => Ok(CurrencyPair::UsdtNxt),
            "USDT_REP" => Ok(CurrencyPair::UsdtRep),
            "USDT_RUB" => Ok(CurrencyPair::UsdtRub),
            "USDT_SC" => Ok(CurrencyPair::UsdtSc),
            "USDT_STR" => Ok(CurrencyPair::UsdtStr),
            "USDT_TRY" => Ok(CurrencyPair::UsdtTry),
            "VEN_BNB" => Ok(CurrencyPair::VenBnb),
            "VEN_BTC" => Ok(CurrencyPair::VenBtc),
            "VEN_ETH" => Ok(CurrencyPair::VenEth),
            "VEN_USDT" => Ok(CurrencyPair::VenUsdt),
            "VET_BNB" => Ok(CurrencyPair::VetBnb),
            "VET_BTC" => Ok(CurrencyPair::VetBtc),
            "VET_BUSD" => Ok(CurrencyPair::VetBusd),
            "VET_ETH" => Ok(CurrencyPair::VetEth),
            "VET_USDT" => Ok(CurrencyPair::VetUsdt),
            "VIA_BNB" => Ok(CurrencyPair::ViaBnb),
            "VIA_BTC" => Ok(CurrencyPair::ViaBtc),
            "VIA_ETH" => Ok(CurrencyPair::ViaEth),
            "VIBE_BTC" => Ok(CurrencyPair::VibeBtc),
            "VIBE_ETH" => Ok(CurrencyPair::VibeEth),
            "VIB_BTC" => Ok(CurrencyPair::VibBtc),
            "VIB_ETH" => Ok(CurrencyPair::VibEth),
            "VITE_BNB" => Ok(CurrencyPair::ViteBnb),
            "VITE_BTC" => Ok(CurrencyPair::ViteBtc),
            "VITE_USDT" => Ok(CurrencyPair::ViteUsdt),
            "WABI_BNB" => Ok(CurrencyPair::WabiBnb),
            "WABI_BTC" => Ok(CurrencyPair::WabiBtc),
            "WABI_ETH" => Ok(CurrencyPair::WabiEth),
            "WAN_BNB" => Ok(CurrencyPair::WanBnb),
            "WAN_BTC" => Ok(CurrencyPair::WanBtc),
            "WAN_ETH" => Ok(CurrencyPair::WanEth),
            "WAN_USDT" => Ok(CurrencyPair::WanUsdt),
            "WAVES_BNB" => Ok(CurrencyPair::WavesBnb),
            "WAVES_BTC" => Ok(CurrencyPair::WavesBtc),
            "WAVES_ETH" => Ok(CurrencyPair::WavesEth),
            "WAVES_PAX" => Ok(CurrencyPair::WavesPax),
            "WAVES_TUSD" => Ok(CurrencyPair::WavesTusd),
            "WAVES_USDC" => Ok(CurrencyPair::WavesUsdc),
            "WAVES_USDT" => Ok(CurrencyPair::WavesUsdt),
            "WINGS_BTC" => Ok(CurrencyPair::WingsBtc),
            "WINGS_ETH" => Ok(CurrencyPair::WingsEth),
            "WIN_BNB" => Ok(CurrencyPair::WinBnb),
            "WIN_BTC" => Ok(CurrencyPair::WinBtc),
            "WIN_TRX" => Ok(CurrencyPair::WinTrx),
            "WIN_USDC" => Ok(CurrencyPair::WinUsdc),
            "WIN_USDT" => Ok(CurrencyPair::WinUsdt),
            "WPR_BTC" => Ok(CurrencyPair::WprBtc),
            "WPR_ETH" => Ok(CurrencyPair::WprEth),
            "WTC_BNB" => Ok(CurrencyPair::WtcBnb),
            "WTC_BTC" => Ok(CurrencyPair::WtcBtc),
            "WTC_ETH" => Ok(CurrencyPair::WtcEth),
            "XEM_BNB" => Ok(CurrencyPair::XemBnb),
            "XEM_BTC" => Ok(CurrencyPair::XemBtc),
            "XEM_ETH" => Ok(CurrencyPair::XemEth),
            "XLM_BNB" => Ok(CurrencyPair::XlmBnb),
            "XLM_BTC" => Ok(CurrencyPair::XlmBtc),
            "XLM_BUSD" => Ok(CurrencyPair::XlmBusd),
            "XLM_ETH" => Ok(CurrencyPair::XlmEth),
            "XLM_PAX" => Ok(CurrencyPair::XlmPax),
            "XLM_TUSD" => Ok(CurrencyPair::XlmTusd),
            "XLM_USDC" => Ok(CurrencyPair::XlmUsdc),
            "XLM_USDT" => Ok(CurrencyPair::XlmUsdt),
            "XMR_BNB" => Ok(CurrencyPair::XmrBnb),
            "XMR_BTC" => Ok(CurrencyPair::XmrBtc),
            "XMR_ETH" => Ok(CurrencyPair::XmrEth),
            "XMR_USDT" => Ok(CurrencyPair::XmrUsdt),
            "XRP_BNB" => Ok(CurrencyPair::XrpBnb),
            "XRP_BTC" => Ok(CurrencyPair::XrpBtc),
            "XRP_BUSD" => Ok(CurrencyPair::XrpBusd),
            "XRP_ETH" => Ok(CurrencyPair::XrpEth),
            "XRP_PAX" => Ok(CurrencyPair::XrpPax),
            "XRP_RUB" => Ok(CurrencyPair::XrpRub),
            "XRP_TRY" => Ok(CurrencyPair::XrpTry),
            "XRP_TUSD" => Ok(CurrencyPair::XrpTusd),
            "XRP_USDC" => Ok(CurrencyPair::XrpUsdc),
            "XRP_USDT" => Ok(CurrencyPair::XrpUsdt),
            "XTZ_BNB" => Ok(CurrencyPair::XtzBnb),
            "XTZ_BTC" => Ok(CurrencyPair::XtzBtc),
            "XTZ_USDT" => Ok(CurrencyPair::XtzUsdt),
            "XVG_BTC" => Ok(CurrencyPair::XvgBtc),
            "XVG_ETH" => Ok(CurrencyPair::XvgEth),
            "XZC_BNB" => Ok(CurrencyPair::XzcBnb),
            "XZC_BTC" => Ok(CurrencyPair::XzcBtc),
            "XZC_ETH" => Ok(CurrencyPair::XzcEth),
            "XZC_XRP" => Ok(CurrencyPair::XzcXrp),
            "YOYO_BNB" => Ok(CurrencyPair::YoyoBnb),
            "YOYO_BTC" => Ok(CurrencyPair::YoyoBtc),
            "YOYO_ETH" => Ok(CurrencyPair::YoyoEth),
            "ZEC_BNB" => Ok(CurrencyPair::ZecBnb),
            "ZEC_BTC" => Ok(CurrencyPair::ZecBtc),
            "ZEC_ETH" => Ok(CurrencyPair::ZecEth),
            "ZEC_PAX" => Ok(CurrencyPair::ZecPax),
            "ZEC_TUSD" => Ok(CurrencyPair::ZecTusd),
            "ZEC_USDC" => Ok(CurrencyPair::ZecUsdc),
            "ZEC_USDT" => Ok(CurrencyPair::ZecUsdt),
            "ZEN_BNB" => Ok(CurrencyPair::ZenBnb),
            "ZEN_BTC" => Ok(CurrencyPair::ZenBtc),
            "ZEN_ETH" => Ok(CurrencyPair::ZenEth),
            "ZIL_BNB" => Ok(CurrencyPair::ZilBnb),
            "ZIL_BTC" => Ok(CurrencyPair::ZilBtc),
            "ZIL_ETH" => Ok(CurrencyPair::ZilEth),
            "ZIL_USDT" => Ok(CurrencyPair::ZilUsdt),
            "ZRX_BNB" => Ok(CurrencyPair::ZrxBnb),
            "ZRX_BTC" => Ok(CurrencyPair::ZrxBtc),
            "ZRX_ETH" => Ok(CurrencyPair::ZrxEth),
            "ZRX_USDT" => Ok(CurrencyPair::ZrxUsdt),
            pair => {
                let index = pair
                    .find('_')
                    .ok_or_else(|| Error::InvalidPair(pair.to_owned()))?;
                if index == pair.len() - 1 {
                    return Err(Error::InvalidPair(pair.to_owned()));
                }
                let quote: Currency = pair[..index].into();
                let base: Currency = pair[index + 1..].into();
                Ok(CurrencyPair::Custom(pair.to_owned(), quote, base))
            }
        }
    }
}

impl Serialize for CurrencyPair {
    fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
    where
        S: Serializer,
    {
        serializer.serialize_str(self.as_str())
    }
}

struct CurrencyPairVisitor;

impl<'de> Visitor<'de> for CurrencyPairVisitor {
    type Value = CurrencyPair;

    fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
        formatter.write_str("currency pair string")
    }

    fn visit_str<E>(self, value: &str) -> Result<Self::Value, E>
    where
        E: de::Error,
    {
        CurrencyPair::from_str(value).map_err(|e| de::Error::custom(e))
    }
}

impl<'de> Deserialize<'de> for CurrencyPair {
    fn deserialize<D>(deserializer: D) -> Result<CurrencyPair, D::Error>
    where
        D: Deserializer<'de>,
    {
        deserializer.deserialize_str(CurrencyPairVisitor)
    }
}

impl ::std::fmt::Display for CurrencyPair {
    fn fmt(&self, f: &mut fmt::Formatter) -> ::std::fmt::Result {
        write!(f, "{}", self.as_str())
    }
}