mirror of
				https://github.com/Instadapp/trustwallet-assets.git
				synced 2024-07-29 22:37:31 +00:00 
			
		
		
		
	[Internal] Remove allow & deny lists (#13871)
* Remove allow & deny lists * Remove allow/deny list handling scripts/logic
This commit is contained in:
		
							parent
							
								
									7becc3825c
								
							
						
					
					
						commit
						88258b1d26
					
				| 
						 | 
				
			
			@ -1 +0,0 @@
 | 
			
		|||
[]
 | 
			
		||||
| 
						 | 
				
			
			@ -1 +0,0 @@
 | 
			
		|||
[]
 | 
			
		||||
| 
						 | 
				
			
			@ -1,3 +0,0 @@
 | 
			
		|||
[
 | 
			
		||||
    "0x60781C2586D68229fde47564546784ab3fACA982"
 | 
			
		||||
]
 | 
			
		||||
| 
						 | 
				
			
			@ -1 +0,0 @@
 | 
			
		|||
[]
 | 
			
		||||
| 
						 | 
				
			
			@ -1,199 +0,0 @@
 | 
			
		|||
[
 | 
			
		||||
    "AAVE-8FA",
 | 
			
		||||
    "ABCD-5D8",
 | 
			
		||||
    "ADA-9F4",
 | 
			
		||||
    "AERGO-46B",
 | 
			
		||||
    "ALA-DCD",
 | 
			
		||||
    "ANKR-E97",
 | 
			
		||||
    "ARN-71B",
 | 
			
		||||
    "ARPA-575",
 | 
			
		||||
    "ART-3C9",
 | 
			
		||||
    "ATOM-596",
 | 
			
		||||
    "ATP-38C",
 | 
			
		||||
    "AVA-645",
 | 
			
		||||
    "AWC-986",
 | 
			
		||||
    "AXPR-777",
 | 
			
		||||
    "BAKE-5E0",
 | 
			
		||||
    "BAND-34B",
 | 
			
		||||
    "BAT-07A",
 | 
			
		||||
    "BAW-DFB",
 | 
			
		||||
    "BCH-1FD",
 | 
			
		||||
    "BCHA-959",
 | 
			
		||||
    "BCPT-95A",
 | 
			
		||||
    "BEAR-14C",
 | 
			
		||||
    "BEL-D85",
 | 
			
		||||
    "BET-844",
 | 
			
		||||
    "BETH-654",
 | 
			
		||||
    "BETX-A0C",
 | 
			
		||||
    "BGBP-CF3",
 | 
			
		||||
    "BHC-3E8M",
 | 
			
		||||
    "BHFT-BBE",
 | 
			
		||||
    "BIDR-0E9",
 | 
			
		||||
    "BKBT-3A6",
 | 
			
		||||
    "BKRW-AB7",
 | 
			
		||||
    "BLINK-9C6",
 | 
			
		||||
    "BOLT-4C6",
 | 
			
		||||
    "BST2-2F2",
 | 
			
		||||
    "BTCB-1DE",
 | 
			
		||||
    "BTTB-D31",
 | 
			
		||||
    "BULL-BE4",
 | 
			
		||||
    "BURGER-33A",
 | 
			
		||||
    "BUSD-BD1",
 | 
			
		||||
    "BZNT-464",
 | 
			
		||||
    "CAKE-435",
 | 
			
		||||
    "CAN-677",
 | 
			
		||||
    "CAS-167",
 | 
			
		||||
    "CBIX-3C9",
 | 
			
		||||
    "CBM-4B2",
 | 
			
		||||
    "CHZ-ECD",
 | 
			
		||||
    "CNNS-E16",
 | 
			
		||||
    "COCOS-CED",
 | 
			
		||||
    "COMP-DEE",
 | 
			
		||||
    "COS-2E4",
 | 
			
		||||
    "COTI-CBB",
 | 
			
		||||
    "COVA-218",
 | 
			
		||||
    "CRPT-8C9",
 | 
			
		||||
    "CSM-734",
 | 
			
		||||
    "CTK-EB8",
 | 
			
		||||
    "DAI-D75",
 | 
			
		||||
    "DARC-24B",
 | 
			
		||||
    "DEEP-9D3",
 | 
			
		||||
    "DEFI-FA5",
 | 
			
		||||
    "DFY-EA0",
 | 
			
		||||
    "DOGE-B67",
 | 
			
		||||
    "DOS-120",
 | 
			
		||||
    "DOT-64C",
 | 
			
		||||
    "DREP-7D2",
 | 
			
		||||
    "DUSK-45E",
 | 
			
		||||
    "EBST-783",
 | 
			
		||||
    "ECO-083",
 | 
			
		||||
    "EET-45C",
 | 
			
		||||
    "ELF-D72",
 | 
			
		||||
    "ENTRP-C8D",
 | 
			
		||||
    "EOS-CDD",
 | 
			
		||||
    "EOSBEAR-721",
 | 
			
		||||
    "EOSBULL-F0D",
 | 
			
		||||
    "EQL-586",
 | 
			
		||||
    "ERD-D06",
 | 
			
		||||
    "ETC-758",
 | 
			
		||||
    "ETH-1C9",
 | 
			
		||||
    "ETHBEAR-B2B",
 | 
			
		||||
    "ETHBULL-D33",
 | 
			
		||||
    "EVT-49B",
 | 
			
		||||
    "FIL-E2C",
 | 
			
		||||
    "FRM-DE7",
 | 
			
		||||
    "FSN-E14",
 | 
			
		||||
    "FTM-A64",
 | 
			
		||||
    "FTT-F11",
 | 
			
		||||
    "GIV-94E",
 | 
			
		||||
    "GMAT-FC8",
 | 
			
		||||
    "GTEX-71B",
 | 
			
		||||
    "GTO-908",
 | 
			
		||||
    "HNST-3C9",
 | 
			
		||||
    "HYN-F21",
 | 
			
		||||
    "IDRTB-178",
 | 
			
		||||
    "INJ-FAE",
 | 
			
		||||
    "IOTX-0ED",
 | 
			
		||||
    "IRIS-D88",
 | 
			
		||||
    "JDXU-706",
 | 
			
		||||
    "KAT-7BB",
 | 
			
		||||
    "KAVA-10C",
 | 
			
		||||
    "LBA-340",
 | 
			
		||||
    "LINK-AAD",
 | 
			
		||||
    "LIT-099",
 | 
			
		||||
    "LOKI-6A9",
 | 
			
		||||
    "LTC-F07",
 | 
			
		||||
    "LTO-BDF",
 | 
			
		||||
    "LYFE-6AB",
 | 
			
		||||
    "MATIC-84A",
 | 
			
		||||
    "MCASH-869",
 | 
			
		||||
    "MDAB-D42",
 | 
			
		||||
    "MDT-14A",
 | 
			
		||||
    "MEDB-87E",
 | 
			
		||||
    "MEETONE-031",
 | 
			
		||||
    "MITH-C76",
 | 
			
		||||
    "MITX-CAA",
 | 
			
		||||
    "MKR-F04",
 | 
			
		||||
    "MTV-4C6",
 | 
			
		||||
    "MTXLT-286",
 | 
			
		||||
    "MVL-7B0",
 | 
			
		||||
    "MZK-2C7",
 | 
			
		||||
    "NEAR-4FD",
 | 
			
		||||
    "NEW-09E",
 | 
			
		||||
    "NEXO-A84",
 | 
			
		||||
    "NODE-F3A",
 | 
			
		||||
    "NOIZB-878",
 | 
			
		||||
    "NOW-E68",
 | 
			
		||||
    "NPXB-1E8",
 | 
			
		||||
    "NPXSXEM-89C",
 | 
			
		||||
    "ONE-5F9",
 | 
			
		||||
    "ONT-33D",
 | 
			
		||||
    "OWTX-A6B",
 | 
			
		||||
    "PAX-F25",
 | 
			
		||||
    "PCAT-4BB",
 | 
			
		||||
    "PHB-2DF",
 | 
			
		||||
    "PHV-4A1",
 | 
			
		||||
    "PIBNB-43C",
 | 
			
		||||
    "PLG-D8D",
 | 
			
		||||
    "PROPEL-6D9",
 | 
			
		||||
    "PVT-554",
 | 
			
		||||
    "PYN-C37",
 | 
			
		||||
    "QBX-38C",
 | 
			
		||||
    "RAVEN-F66",
 | 
			
		||||
    "RNO-14E",
 | 
			
		||||
    "RUNE-B1A",
 | 
			
		||||
    "SBC-5D4",
 | 
			
		||||
    "SHR-DB6",
 | 
			
		||||
    "SLV-986",
 | 
			
		||||
    "SNX-C26",
 | 
			
		||||
    "SPARTA-7F3",
 | 
			
		||||
    "SPNDB-916",
 | 
			
		||||
    "STYL-65B",
 | 
			
		||||
    "SUSHI-134",
 | 
			
		||||
    "SWINGBY-888",
 | 
			
		||||
    "SWIPE.B-DC0",
 | 
			
		||||
    "SXP-CCC",
 | 
			
		||||
    "TAUDB-888",
 | 
			
		||||
    "TBC-3A7",
 | 
			
		||||
    "TCADB-888",
 | 
			
		||||
    "TCT-826",
 | 
			
		||||
    "TGBPB-888",
 | 
			
		||||
    "THKDB-888",
 | 
			
		||||
    "TM2-0C4",
 | 
			
		||||
    "TOMOB-4BC",
 | 
			
		||||
    "TOP-491",
 | 
			
		||||
    "TROY-9B8",
 | 
			
		||||
    "TRUE-D84",
 | 
			
		||||
    "TRXB-2E6",
 | 
			
		||||
    "TUSDB-888",
 | 
			
		||||
    "TWT-8C2",
 | 
			
		||||
    "UGAS-B0C",
 | 
			
		||||
    "UND-EBC",
 | 
			
		||||
    "UNFI-FB7",
 | 
			
		||||
    "UNI-DD8",
 | 
			
		||||
    "UPX-F3E",
 | 
			
		||||
    "USDC-CD2",
 | 
			
		||||
    "USDH-5B5",
 | 
			
		||||
    "USDSB-1AC",
 | 
			
		||||
    "USDT-6D8",
 | 
			
		||||
    "VDX-A17",
 | 
			
		||||
    "VIDT-F53",
 | 
			
		||||
    "VNDC-DB9",
 | 
			
		||||
    "VOTE-FD4",
 | 
			
		||||
    "VRAB-B56",
 | 
			
		||||
    "WICC-01D",
 | 
			
		||||
    "WINB-41F",
 | 
			
		||||
    "WISH-2D5",
 | 
			
		||||
    "WRX-ED1",
 | 
			
		||||
    "XBASE-CD2",
 | 
			
		||||
    "XNS-760",
 | 
			
		||||
    "XRP-BF2",
 | 
			
		||||
    "XRPBEAR-00B",
 | 
			
		||||
    "XRPBULL-E7C",
 | 
			
		||||
    "XTZ-F7A",
 | 
			
		||||
    "XVS-795",
 | 
			
		||||
    "YFI-1A4",
 | 
			
		||||
    "YFII-061",
 | 
			
		||||
    "ZEBI-84F",
 | 
			
		||||
    "ZEC-93E"
 | 
			
		||||
]
 | 
			
		||||
| 
						 | 
				
			
			@ -1,9 +0,0 @@
 | 
			
		|||
[
 | 
			
		||||
    "AWC-8B2",
 | 
			
		||||
    "BCPT-645",
 | 
			
		||||
    "BNB",
 | 
			
		||||
    "BOLT-762",
 | 
			
		||||
    "RPD-9E0",
 | 
			
		||||
    "USDS.B-c27",
 | 
			
		||||
    "WITH-E50"
 | 
			
		||||
]
 | 
			
		||||
| 
						 | 
				
			
			@ -1 +0,0 @@
 | 
			
		|||
[]
 | 
			
		||||
| 
						 | 
				
			
			@ -1 +0,0 @@
 | 
			
		|||
[]
 | 
			
		||||
| 
						 | 
				
			
			@ -1,86 +0,0 @@
 | 
			
		|||
[
 | 
			
		||||
    "0x0000000000b3F879cb30FE243b4Dfee438691c04",
 | 
			
		||||
    "0x085B0FDf115aA9E16AE1Bddd396CE1F993c52220",
 | 
			
		||||
    "0x0b6f824FAB88281ea8bd883bdfC1F586743F92FA",
 | 
			
		||||
    "0x0DC554d2BBc8f4Cda0577CeD2CD86c54689Af3Db",
 | 
			
		||||
    "0x0f54903F62Dc03DFBE1d99064B41a65D461F61b9",
 | 
			
		||||
    "0x1178d40896cf784Db203eB40f159D78Ab6E99a29",
 | 
			
		||||
    "0x15c56f9edE6a53AFaFF8505D88F47B03b57B52AB",
 | 
			
		||||
    "0x169a4d7aB1244eB57433082B94d8ded5BB97483f",
 | 
			
		||||
    "0x171040cd10f204F3b257e45b41ce65D36150558C",
 | 
			
		||||
    "0x17CDb23E6151Dca9A75457d3d795CC5A63648949",
 | 
			
		||||
    "0x1BE6D61B1103D91F7f86D47e6ca0429259A15ff0",
 | 
			
		||||
    "0x1ce1b789E291FFA8812D03fa7E67e538f91f132d",
 | 
			
		||||
    "0x1e797Ce986C3CFF4472F7D38d5C4aba55DfEFE40",
 | 
			
		||||
    "0x1Fe3164dA6B47C52349E98c14440879A42852D71",
 | 
			
		||||
    "0x22B3f1d789B189fDd2040d7d5B59568a291Ef611",
 | 
			
		||||
    "0x24ccaAaE74041985e3D75712D5cce63b0bD9C4A3",
 | 
			
		||||
    "0x2B682bd9d5c31E67a95cbdF0292017C02E51923C",
 | 
			
		||||
    "0x2EB1D7785469FC5d478E59Ca09F66CBb9170C519",
 | 
			
		||||
    "0x3398EB75EE22523fEfdA99574dBc62fD19F8c58B",
 | 
			
		||||
    "0x33E89a9db4F5a44d80A3E9d2Bdff6c168cbbd15c",
 | 
			
		||||
    "0x3a6979EAB0ad99549158c05F2635C3B85dCAf5e2",
 | 
			
		||||
    "0x3E6eC3A0A995d3c58d3854AaE41C77C687C07E7f",
 | 
			
		||||
    "0x4479B4e96252B829934bA0f8fb8f5c96883DA7E5",
 | 
			
		||||
    "0x45e42D659D9f9466cD5DF622506033145a9b89Bc",
 | 
			
		||||
    "0x477964C7B2CDFe2653b0D89469e40D8A5eeF9E52",
 | 
			
		||||
    "0x4970515788ab15d4De4E9f8ed1E1079f6d25dC77",
 | 
			
		||||
    "0x4a3a14d47634E0712B1Aa33f17EC31316a0D5BAB",
 | 
			
		||||
    "0x4dF86FD5bf250D692C503592Bde3d3E9087F6232",
 | 
			
		||||
    "0x4fab5005176F5E4c00988623c35107cCB40dC19D",
 | 
			
		||||
    "0x5046E6b2C9D11458bC3718e0cF5Bc8557bCCf5dc",
 | 
			
		||||
    "0x50fA6146E86deAd56bf9E8e4655DFc2b5235D355",
 | 
			
		||||
    "0x51396a258BAe60D1fDE2a4Be900371f3B9C52c43",
 | 
			
		||||
    "0x55b9a11c2e8351b4Ffc7b11561148bfaC9977855",
 | 
			
		||||
    "0x5BEb463647b1Fd55D3F876E9b042c27Aa63F4bA8",
 | 
			
		||||
    "0x5eB99507170F41bAA521cb71C9bCEa2a8A96827C",
 | 
			
		||||
    "0x64fd6EeB4c86A66b0CfeEAFeC11FbC57A2993E67",
 | 
			
		||||
    "0x651074850053b7FaCf7F7200068B29A2E3525B40",
 | 
			
		||||
    "0x690D4d5e3722e140fCa16e25E7A579588D93eB75",
 | 
			
		||||
    "0x6A37eC2C49E2FB35F9c029128e996f46928dDecC",
 | 
			
		||||
    "0x6FD253A6D78df35f2D932aCf4bCEF4bB650a2263",
 | 
			
		||||
    "0x76d0184CF511788032A74a1FB91146e63F43dd53",
 | 
			
		||||
    "0x7b355c571FEde83F152E9585143306C0d2b53193",
 | 
			
		||||
    "0x876A68D9efbc3CadaA886e9868D93737035F717C",
 | 
			
		||||
    "0x88d60255F917e3eb94eaE199d827DAd837fac4cB",
 | 
			
		||||
    "0x8900f34372f27Ebb5881D4eC6b35844A3655CCFc",
 | 
			
		||||
    "0x8E100855e6647bd24F1A32999c4A6C91497C9f62",
 | 
			
		||||
    "0x935E058102AFa0CC3c29Af024AF3208Ba521bcB0",
 | 
			
		||||
    "0x9946C9C519638740EAc4Ee3Aa9f20eBe1Ce36c2c",
 | 
			
		||||
    "0x9a145BABB0315F461eD40cB8Cd17523A039e0370",
 | 
			
		||||
    "0x9aBcecb1CB8e174b4d158021c9C710c81a989487",
 | 
			
		||||
    "0x9bd05bCd368BDB8050E85E35b8D38753e72b44BF",
 | 
			
		||||
    "0x9c5D60F5D1493F3FA05cdE2403b4Bd4B9CF01057",
 | 
			
		||||
    "0xa8d3847f8AE1e8ebfD5928D39A3B1aE5dA12A61f",
 | 
			
		||||
    "0xAC55641Cbb734bdf6510d1bBd62E240c2409040f",
 | 
			
		||||
    "0xAf4D36C8c744F345E060345b6eAf4E899eC7547c",
 | 
			
		||||
    "0xb81BbB68D2C32398e628f5183D1cfe9f24dFb678",
 | 
			
		||||
    "0xB932b16ccc42917dF3608bfC1519e948b42fdFD9",
 | 
			
		||||
    "0xc2A4CE7835c7b6de4F3F15303E25b3eF0bB43bDF",
 | 
			
		||||
    "0xC2E0bC52D1995dF11949425cfdf78D0B6D2cfE0a",
 | 
			
		||||
    "0xc658E8372DaFFf26caa7439B95a1fF723baaef6E",
 | 
			
		||||
    "0xC68dDd84fDC77506A5b7AB43B8E13DBA0AF74Ff4",
 | 
			
		||||
    "0xC8671e3eAAd0793de26c4a7Ba5ca10a992a80c7A",
 | 
			
		||||
    "0xc98333457471f82871B0193D0E4F03C6D7D7dFF8",
 | 
			
		||||
    "0xca08DaeC07f11d9375cA64478e83a12fC35B09d2",
 | 
			
		||||
    "0xCA68fE57A0E9987F940Ebcc65fe5F96E7bC30128",
 | 
			
		||||
    "0xD1c10d433C888E6d1841fF924d0CE45157f0d5Cd",
 | 
			
		||||
    "0xD1eBe08dAe15E604B043789cb140be646E0bd27b",
 | 
			
		||||
    "0xD4729a47FFDBDd190a015BB0C29fC613c5aD3cFE",
 | 
			
		||||
    "0xD507fAa6B65cF9E970d67cd108B224162495de30",
 | 
			
		||||
    "0xd6dF0C579f2A65049a893fDaEC9fCE098CC19F87",
 | 
			
		||||
    "0xdEb7ade9417f98AFbB60cd6b4a49d4B002AB79c9",
 | 
			
		||||
    "0xDF23a076b82a08cEFe696346DB702BBDD86838Bf",
 | 
			
		||||
    "0xDF9AaC76b722B08511A4C561607A9bf3AfA62E49",
 | 
			
		||||
    "0xdfd0A6BeD91d7609a0d84389Dcb7AAb5877e6AfA",
 | 
			
		||||
    "0xE0B7927c4aF23765Cb51314A0E0521A9645F0E2A",
 | 
			
		||||
    "0xe37B29Ce789CFa51b72c64c93e0d7E2D7BA46681",
 | 
			
		||||
    "0xe9506979c9FA6f34b93846792c2d4aad7974ea55",
 | 
			
		||||
    "0xeceaDBB8441AA28b76D8c756EE873aC574068204",
 | 
			
		||||
    "0xf03A967b0F6EedE6f73fd747a93006E9130525d4",
 | 
			
		||||
    "0xf8af8f48ba1743ccb0001778070e4ce189225e90",
 | 
			
		||||
    "0xf962Ce2544f9e22da3DAE54b2A3040db7867f029",
 | 
			
		||||
    "0xFC07d3E0e36330a151c09384C3aD45e745227688",
 | 
			
		||||
    "0xFF197d0558aa9CD8fF788c7f0d4A1A48E1c399D6",
 | 
			
		||||
    "0xFf8596169865c7cc1458b1c0eCCAFd4092C7F10f"
 | 
			
		||||
]
 | 
			
		||||
| 
						 | 
				
			
			@ -1,6 +0,0 @@
 | 
			
		|||
[
 | 
			
		||||
    "0x6ADa6F48C815689502C43eC1a59F1b5DD3C04E1F",
 | 
			
		||||
    "0xAfe6851C1D9ee2E759ACDEE8cFC827E22a9eC5d7",
 | 
			
		||||
    "0xBB9bc244D798123fDe783fCc1C72d3Bb8C189413",
 | 
			
		||||
    "0xC66eA802717bFb9833400264Dd12c2bCeAa34a6d"
 | 
			
		||||
]
 | 
			
		||||
| 
						 | 
				
			
			@ -1,3 +0,0 @@
 | 
			
		|||
[
 | 
			
		||||
    "volentixgsys"
 | 
			
		||||
]
 | 
			
		||||
| 
						 | 
				
			
			@ -1 +0,0 @@
 | 
			
		|||
[]
 | 
			
		||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| 
						 | 
				
			
			@ -1 +0,0 @@
 | 
			
		|||
[]
 | 
			
		||||
| 
						 | 
				
			
			@ -1 +0,0 @@
 | 
			
		|||
[]
 | 
			
		||||
| 
						 | 
				
			
			@ -1,8 +0,0 @@
 | 
			
		|||
[
 | 
			
		||||
    "0x064353B5C02A9F35979524Ebbfff4042151cF0c6",
 | 
			
		||||
    "0x473A70391d961D1D81044f7e2b69eeCd59dc355c",
 | 
			
		||||
    "0x5347FDeA6AA4d7770B31734408Da6d34a8a07BdF",
 | 
			
		||||
    "0x53A6Bec3126BCE4e0dE349a9Ad3D9e4F997E76C4",
 | 
			
		||||
    "0x721Cc970CB5A22915f7663a6833E605deDDb7B92",
 | 
			
		||||
    "0xB881f9bB7EEa9499073c279D6eAC59B1A9010617"
 | 
			
		||||
]
 | 
			
		||||
| 
						 | 
				
			
			@ -1,3 +0,0 @@
 | 
			
		|||
[
 | 
			
		||||
    "0x7F02B0b116A1399CE4bD5A9D506F7F1AE3CAC705"
 | 
			
		||||
]
 | 
			
		||||
| 
						 | 
				
			
			@ -1 +0,0 @@
 | 
			
		|||
[]
 | 
			
		||||
| 
						 | 
				
			
			@ -1 +0,0 @@
 | 
			
		|||
[]
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +0,0 @@
 | 
			
		|||
[
 | 
			
		||||
    "2efdb22c152896964665d0a8214dc7bd59232162",
 | 
			
		||||
    "bac0d143a547dc66a1d6a2b7d66b06de42614971"
 | 
			
		||||
]
 | 
			
		||||
| 
						 | 
				
			
			@ -1 +0,0 @@
 | 
			
		|||
[]
 | 
			
		||||
| 
						 | 
				
			
			@ -1,3 +0,0 @@
 | 
			
		|||
[
 | 
			
		||||
    "NULSd6HgyZkiqLnBzTaeSQfx1TNg2cqbzq51h"
 | 
			
		||||
]
 | 
			
		||||
| 
						 | 
				
			
			@ -1 +0,0 @@
 | 
			
		|||
[]
 | 
			
		||||
| 
						 | 
				
			
			@ -1,3 +0,0 @@
 | 
			
		|||
[
 | 
			
		||||
    "ong"
 | 
			
		||||
]
 | 
			
		||||
| 
						 | 
				
			
			@ -1 +0,0 @@
 | 
			
		|||
[]
 | 
			
		||||
| 
						 | 
				
			
			@ -1,3 +0,0 @@
 | 
			
		|||
[
 | 
			
		||||
    "0x8700dAec35aF8Ff88c16BdF0418774CB3D7599B4"
 | 
			
		||||
]
 | 
			
		||||
| 
						 | 
				
			
			@ -1 +0,0 @@
 | 
			
		|||
[]
 | 
			
		||||
| 
						 | 
				
			
			@ -1,5 +0,0 @@
 | 
			
		|||
[
 | 
			
		||||
    "0xA17ed5dFc62D0a3E74D69a0503AE9FdA65d9f212",
 | 
			
		||||
    "0xADFE00d92e5A16e773891F59780e6e54f40B532e",
 | 
			
		||||
    "0xC98a06220239818B086CD96756d4E3bC41EC848E"
 | 
			
		||||
]
 | 
			
		||||
| 
						 | 
				
			
			@ -1 +0,0 @@
 | 
			
		|||
[]
 | 
			
		||||
| 
						 | 
				
			
			@ -1,45 +0,0 @@
 | 
			
		|||
[
 | 
			
		||||
    "0x05089C9EBFFa4F0AcA269e32056b1b36B37ED71b",
 | 
			
		||||
    "0x0b15Ddf19D47E6a86A56148fb4aFFFc6929BcB89",
 | 
			
		||||
    "0x0b3F868E0BE5597D5DB7fEB59E1CADBb0fdDa50a",
 | 
			
		||||
    "0x1132f58810Ee9fF13E97aECCd8DDa688Cc5eb8F4",
 | 
			
		||||
    "0x137Ee749f0F8c2eD34cA00dE33BB59E3dafA494A",
 | 
			
		||||
    "0x16ECCfDbb4eE1A85A33f3A9B21175Cd7Ae753dB4",
 | 
			
		||||
    "0x172370d5Cd63279eFa6d502DAB29171933a610AF",
 | 
			
		||||
    "0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174",
 | 
			
		||||
    "0x3a3Df212b7AA91Aa0402B9035b098891d276572B",
 | 
			
		||||
    "0x4c4BF319237D98a30A929A96112EfFa8DA3510EB",
 | 
			
		||||
    "0x53E0bca35eC356BD5ddDFebbD1Fc0fD03FaBad39",
 | 
			
		||||
    "0x5647Fe4281F8F6F01E84BCE775AD4b828A7b8927",
 | 
			
		||||
    "0x580A84C73811E1839F75d86d75d88cCa0c241fF4",
 | 
			
		||||
    "0x5a3064CbDCCF428ae907796cF6aD5a664CD7F3d8",
 | 
			
		||||
    "0x5d47bAbA0d66083C52009271faF3F50DCc01023C",
 | 
			
		||||
    "0x71B821aa52a49F32EEd535fCA6Eb5aa130085978",
 | 
			
		||||
    "0x76e63a3E7Ba1e2E61D3DA86a87479f983dE89a7E",
 | 
			
		||||
    "0x7c28F627eA3aEc8B882b51eb1935f66e5b875714",
 | 
			
		||||
    "0x7ceB23fD6bC0adD59E62ac25578270cFf1b9f619",
 | 
			
		||||
    "0x831753DD7087CaC61aB5644b308642cc1c33Dc13",
 | 
			
		||||
    "0x874e178A2f3f3F9d34db862453Cd756E7eAb0381",
 | 
			
		||||
    "0x8A953CfE442c5E8855cc6c61b1293FA648BAE472",
 | 
			
		||||
    "0x8f18dC399594b451EdA8c5da02d0563c0b2d0f16",
 | 
			
		||||
    "0x8f3Cf7ad23Cd3CaDbD9735AFf958023239c6A063",
 | 
			
		||||
    "0x9719d867A500Ef117cC201206B8ab51e794d3F82",
 | 
			
		||||
    "0x9aF3b7DC29D3C4B1A5731408B6A9656fA7aC3b72",
 | 
			
		||||
    "0x9EECD634c7a934F752aF0EB90DdA9Ecc262F199F",
 | 
			
		||||
    "0xa3Fa99A148fA48D14Ed51d610c367C61876997F1",
 | 
			
		||||
    "0xaAa5B9e6c589642f98a1cDA99B9D024B8407285A",
 | 
			
		||||
    "0xAdA58DF0F643D959C2A47c9D4d4c1a4deFe3F11C",
 | 
			
		||||
    "0xB0e1fc65C1a741b4662B813eB787d369b8614Af1",
 | 
			
		||||
    "0xb33EaAd8d922B1083446DC23f610c2567fB5180f",
 | 
			
		||||
    "0xC168E40227E4ebD8C1caE80F7a55a4F0e6D66C97",
 | 
			
		||||
    "0xc2132D05D31c914a87C6611C10748AEb04B58e8F",
 | 
			
		||||
    "0xc3FdbadC7c795EF1D6Ba111e06fF8F16A20Ea539",
 | 
			
		||||
    "0xC68e83a305b0FaD69E264A1769a0A070F190D2d6",
 | 
			
		||||
    "0xc8bcb58caEf1bE972C0B638B1dD8B0748Fdc8A44",
 | 
			
		||||
    "0xccBe9B810d6574701d324fD6DbE0A1b68f9d5bf7",
 | 
			
		||||
    "0xD6DF932A45C0f255f85145f286eA0b292B21C90B",
 | 
			
		||||
    "0xD86b5923F3AD7b585eD81B448170ae026c65ae9a",
 | 
			
		||||
    "0xdF7837DE1F2Fa4631D716CF2502f8b230F1dcc32",
 | 
			
		||||
    "0xE33dC9d2D7D64c1e23467aC7eD7F8eF56d0a8d66",
 | 
			
		||||
    "0xfad70FD116559914240faB82b0078c4E82a6a1B8"
 | 
			
		||||
]
 | 
			
		||||
| 
						 | 
				
			
			@ -1 +0,0 @@
 | 
			
		|||
[]
 | 
			
		||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| 
						 | 
				
			
			@ -1,6 +0,0 @@
 | 
			
		|||
[
 | 
			
		||||
    "0x009cf7bc57584b7998236eff51b98a168dcea9b0",
 | 
			
		||||
    "0x19474B9B4BD7a81FA612307f69B5A44618d42595",
 | 
			
		||||
    "0x1Ffe17B99b439bE0aFC831239dDECda2A790fF3A",
 | 
			
		||||
    "0xF3ee8E63Ea00393253D1AC3c8CaCE5d8Ef680382"
 | 
			
		||||
]
 | 
			
		||||
| 
						 | 
				
			
			@ -1,31 +0,0 @@
 | 
			
		|||
[
 | 
			
		||||
    "2FPyTwcZLUg1MDrwsyoP4D6s1tM7hAkHYRjkNb5w6Pxk",
 | 
			
		||||
    "3K6rftdAaQYMPunrtNRHgnK2UAtjm2JwyT2oCiTDouYE",
 | 
			
		||||
    "3x7UeXDF4imKSKnizK9mYyx1M5bTNzpeALfPeB8S6XT9",
 | 
			
		||||
    "43VWkd99HjqkhFTZbWBpMpRhjG469nWa7x7uEsgSH7We",
 | 
			
		||||
    "4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R",
 | 
			
		||||
    "4wjPQJ6PrkC4dHhYghwJzGBVP78DkBzA2U3kHoFNBuhj",
 | 
			
		||||
    "7nJGERf1LZpjn4uTfcDZLJ6YRtvdSExAB9uK851zT6do",
 | 
			
		||||
    "8GQsW3f7mdwfjqJon2myADcBsSsRjpXmxHYDG8q1pvV6",
 | 
			
		||||
    "8HGyAAB1yoM1ttS7pXjHMa3dukTFGQggnFFH3hJZgzQh",
 | 
			
		||||
    "8PMHT4swUMtBzgHnh5U564N5sjPSiUz2cjEQzFnnP1Fo",
 | 
			
		||||
    "9n4nbM75f5Ui33ZbPYXn59EwSgE8CGsHtAeTH5YFeJ9E",
 | 
			
		||||
    "9S4t2NEAiJVMvPdRYKVrfJpBafPBLtvbvyS3DecojQHw",
 | 
			
		||||
    "AGFEad2et2ZJif9jaGpdMixQqvW5i81aBdvKe7PHNfz3",
 | 
			
		||||
    "BQcdHdAQW1hczDbBi9hiegXAR7A98Q9jx3X3iBBBDiq4",
 | 
			
		||||
    "BXXkv6z8ykpG1yuvUDPgh732wzVHB69RnB9YgSYh3itW",
 | 
			
		||||
    "CzqJTjTp3R9opDHmzF5Gy1G2NKDHEyMufa4Keiju4PLu",
 | 
			
		||||
    "E5ndSkaB17Dm7CsD22dvcjfrYSDLCxFcMd6z8ddCk5wp",
 | 
			
		||||
    "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
 | 
			
		||||
    "Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB",
 | 
			
		||||
    "FiCiuX9DetEE89PgRAU1hmoptnem8b1fkpEq8PGYTYkd",
 | 
			
		||||
    "FtgGSFADXBtroxq8VCausXRr2of47QBf5AS1NtZCu4GD",
 | 
			
		||||
    "Ga2AXHpfAF6mv2ekZwcsJFqu7wB4NV331qNH7fW9Nst8",
 | 
			
		||||
    "GHvFFSZ9BctWsEc5nujR1MTmmJWY7tgQz2AXE6WVFtGN",
 | 
			
		||||
    "kinXdEcpDQeHPEuQnqmUgtYykqKGVFq6CeVX5iAHJq6",
 | 
			
		||||
    "MangoCzJ36AjZyKwVj3VnYU4GTonjfVEnJmvvWaxLac",
 | 
			
		||||
    "MAPS41MDahZ9QdKXhVa4dWB9RuyfV4XqhyAZ8XcYepb",
 | 
			
		||||
    "SRMuApVNdxXokk5GT7XD5cUUgXMBCoAz2LHeuAoKWRt",
 | 
			
		||||
    "StepAscQoEioFxxWGnh2sLBDFp9d8rvKz2Yp39iDpyT",
 | 
			
		||||
    "xxxxa1sKNGwFtw2kFn8XauW9xq8hBZ5kVtcSesTT9fW"
 | 
			
		||||
]
 | 
			
		||||
| 
						 | 
				
			
			@ -1 +0,0 @@
 | 
			
		|||
[]
 | 
			
		||||
| 
						 | 
				
			
			@ -1,12 +0,0 @@
 | 
			
		|||
[
 | 
			
		||||
    "terra1sndgzq62wp23mv20ndr4sxg6k8xcsudsy87uph",
 | 
			
		||||
    "terra1tndcaqxkpc5ce9qee5ggqf430mr2z3pefe5wj6",
 | 
			
		||||
    "terra1zw0kfxrxgrs5l087mjm79hcmj3y8z6tljuhpmc",
 | 
			
		||||
    "tterra1vs2vuks65rq7xj78mwtvn7vvnm2gn7adjlr002",
 | 
			
		||||
    "ukrw",
 | 
			
		||||
    "uluna",
 | 
			
		||||
    "umnt",
 | 
			
		||||
    "usdr",
 | 
			
		||||
    "usdt",
 | 
			
		||||
    "uusd"
 | 
			
		||||
]
 | 
			
		||||
| 
						 | 
				
			
			@ -1 +0,0 @@
 | 
			
		|||
[]
 | 
			
		||||
| 
						 | 
				
			
			@ -1,3 +0,0 @@
 | 
			
		|||
[
 | 
			
		||||
    "tfuel"
 | 
			
		||||
]
 | 
			
		||||
| 
						 | 
				
			
			@ -1 +0,0 @@
 | 
			
		|||
[]
 | 
			
		||||
| 
						 | 
				
			
			@ -1,18 +0,0 @@
 | 
			
		|||
[
 | 
			
		||||
    "0x0212b1F75503413b01A98158434c4570FB6e808c",
 | 
			
		||||
    "0x050fe1046B546286e2467De8Cb04800479D1FDE3",
 | 
			
		||||
    "0x0A733F90D223d47DEa79aBEfF536F10af1068cB0",
 | 
			
		||||
    "0x18fB0A62f207A2a082cA60aA78F47a1af4985190",
 | 
			
		||||
    "0x22e89898A04eaf43379BeB70bf4E38b1faf8A31e",
 | 
			
		||||
    "0x2b31e3b88847f03c1335E99A0d1274A2c72059DE",
 | 
			
		||||
    "0x4f3C8E20942461e2c3Bdd8311AC57B0c222f2b82",
 | 
			
		||||
    "0x6576Bb918709906DcbFDCeae4bB1e6df7C8a1077",
 | 
			
		||||
    "0x876e7D048c6151e3D0F93AaBfBf5B7Da605d416F",
 | 
			
		||||
    "0x8EF1A1E0671Aa44852f4d87105eF482470bB3e69",
 | 
			
		||||
    "0x92B82d80A51D9b280b75C7a3596358B2A67e4859",
 | 
			
		||||
    "0xa71A7659E5d1824Bc0F71B96332B06097C8D6287",
 | 
			
		||||
    "0xBEB0131D95AC3F03fd15894D0aDE5DBf7451d171",
 | 
			
		||||
    "0xDDf952D68ff6aBC03B6Dd06E98DaD8829a1d2bb3",
 | 
			
		||||
    "0xeff6f1612d03205BA5E8d26cAc1397bf778ab1AC",
 | 
			
		||||
    "0xFd6Ec3E37F112bD30BbD726E7b0E73000CC2B98d"
 | 
			
		||||
]
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +0,0 @@
 | 
			
		|||
[
 | 
			
		||||
    "0x8c844A7Eb92C45e3B542B8ce3Fe5F82d37640d7F",
 | 
			
		||||
    "0xf3Cab28E25b64fcd361446CCD6418D3e51d9cB52"
 | 
			
		||||
]
 | 
			
		||||
| 
						 | 
				
			
			@ -1,8 +0,0 @@
 | 
			
		|||
[
 | 
			
		||||
    "0x01F83cE6636179b54b0CC0C408f9a8bce40ae776",
 | 
			
		||||
    "0x17B26400621695c2D8C2D8869f6259E82D7544c4",
 | 
			
		||||
    "0x5e55D0c59287F5F8d540eF0766cA3F3810C71B84",
 | 
			
		||||
    "0x8103Bb77eD2035b5da9A3A65d9c313cb6eE41dbD",
 | 
			
		||||
    "0x936b1F7290c8CFC57e31D7e4a301D5F9fA5B0cd8",
 | 
			
		||||
    "0xcE98172f4fC9Ad02da607843A2C211b7834431da"
 | 
			
		||||
]
 | 
			
		||||
| 
						 | 
				
			
			@ -1 +0,0 @@
 | 
			
		|||
[]
 | 
			
		||||
| 
						 | 
				
			
			@ -1,210 +0,0 @@
 | 
			
		|||
[
 | 
			
		||||
    "1000001",
 | 
			
		||||
    "1000010",
 | 
			
		||||
    "1000017",
 | 
			
		||||
    "1000018",
 | 
			
		||||
    "1000131",
 | 
			
		||||
    "1000161",
 | 
			
		||||
    "1000226",
 | 
			
		||||
    "1000231",
 | 
			
		||||
    "1000251",
 | 
			
		||||
    "1000307",
 | 
			
		||||
    "1000317",
 | 
			
		||||
    "1000318",
 | 
			
		||||
    "1000324",
 | 
			
		||||
    "1000375",
 | 
			
		||||
    "1000391",
 | 
			
		||||
    "1000430",
 | 
			
		||||
    "1000451",
 | 
			
		||||
    "1000475",
 | 
			
		||||
    "1000554",
 | 
			
		||||
    "1000566",
 | 
			
		||||
    "1000577",
 | 
			
		||||
    "1000641",
 | 
			
		||||
    "1000709",
 | 
			
		||||
    "1000811",
 | 
			
		||||
    "1000814",
 | 
			
		||||
    "1000822",
 | 
			
		||||
    "1000824",
 | 
			
		||||
    "1000848",
 | 
			
		||||
    "1000849",
 | 
			
		||||
    "1000854",
 | 
			
		||||
    "1000865",
 | 
			
		||||
    "1000891",
 | 
			
		||||
    "1000897",
 | 
			
		||||
    "1000898",
 | 
			
		||||
    "1000900",
 | 
			
		||||
    "1000907",
 | 
			
		||||
    "1000930",
 | 
			
		||||
    "1000932",
 | 
			
		||||
    "1000933",
 | 
			
		||||
    "1000935",
 | 
			
		||||
    "1000943",
 | 
			
		||||
    "1000945",
 | 
			
		||||
    "1000981",
 | 
			
		||||
    "1000985",
 | 
			
		||||
    "1000999",
 | 
			
		||||
    "1001013",
 | 
			
		||||
    "1001030",
 | 
			
		||||
    "1001046",
 | 
			
		||||
    "1001047",
 | 
			
		||||
    "1001050",
 | 
			
		||||
    "1001090",
 | 
			
		||||
    "1001091",
 | 
			
		||||
    "1001092",
 | 
			
		||||
    "1001107",
 | 
			
		||||
    "1001136",
 | 
			
		||||
    "1001137",
 | 
			
		||||
    "1001142",
 | 
			
		||||
    "1001164",
 | 
			
		||||
    "1001186",
 | 
			
		||||
    "1001203",
 | 
			
		||||
    "1001217",
 | 
			
		||||
    "1001268",
 | 
			
		||||
    "1001302",
 | 
			
		||||
    "1001305",
 | 
			
		||||
    "1001313",
 | 
			
		||||
    "1001351",
 | 
			
		||||
    "1001353",
 | 
			
		||||
    "1001359",
 | 
			
		||||
    "1001361",
 | 
			
		||||
    "1001363",
 | 
			
		||||
    "1001367",
 | 
			
		||||
    "1001385",
 | 
			
		||||
    "1001411",
 | 
			
		||||
    "1001414",
 | 
			
		||||
    "1001427",
 | 
			
		||||
    "1001438",
 | 
			
		||||
    "1001457",
 | 
			
		||||
    "1001466",
 | 
			
		||||
    "1001500",
 | 
			
		||||
    "1001546",
 | 
			
		||||
    "1001559",
 | 
			
		||||
    "1001581",
 | 
			
		||||
    "1001584",
 | 
			
		||||
    "1001596",
 | 
			
		||||
    "1001617",
 | 
			
		||||
    "1001645",
 | 
			
		||||
    "1001652",
 | 
			
		||||
    "1001698",
 | 
			
		||||
    "1001699",
 | 
			
		||||
    "1001757",
 | 
			
		||||
    "1001778",
 | 
			
		||||
    "1001801",
 | 
			
		||||
    "1001803",
 | 
			
		||||
    "1001825",
 | 
			
		||||
    "1001834",
 | 
			
		||||
    "1001837",
 | 
			
		||||
    "1001845",
 | 
			
		||||
    "1001865",
 | 
			
		||||
    "1001893",
 | 
			
		||||
    "1001909",
 | 
			
		||||
    "1001920",
 | 
			
		||||
    "1001943",
 | 
			
		||||
    "1001949",
 | 
			
		||||
    "1002000",
 | 
			
		||||
    "1002021",
 | 
			
		||||
    "1002023",
 | 
			
		||||
    "1002028",
 | 
			
		||||
    "1002043",
 | 
			
		||||
    "1002058",
 | 
			
		||||
    "1002093",
 | 
			
		||||
    "1002116",
 | 
			
		||||
    "1002226",
 | 
			
		||||
    "1002234",
 | 
			
		||||
    "1002270",
 | 
			
		||||
    "1002357",
 | 
			
		||||
    "1002413",
 | 
			
		||||
    "1002469",
 | 
			
		||||
    "1002483",
 | 
			
		||||
    "1002517",
 | 
			
		||||
    "1002570",
 | 
			
		||||
    "1002573",
 | 
			
		||||
    "1002575",
 | 
			
		||||
    "1002578",
 | 
			
		||||
    "1002605",
 | 
			
		||||
    "1002633",
 | 
			
		||||
    "1002671",
 | 
			
		||||
    "1002672",
 | 
			
		||||
    "1002683",
 | 
			
		||||
    "1002762",
 | 
			
		||||
    "1002795",
 | 
			
		||||
    "1002831",
 | 
			
		||||
    "1002963",
 | 
			
		||||
    "1002992",
 | 
			
		||||
    "1003093",
 | 
			
		||||
    "1003095",
 | 
			
		||||
    "1003097",
 | 
			
		||||
    "1003123",
 | 
			
		||||
    "1003134",
 | 
			
		||||
    "1003148",
 | 
			
		||||
    "1003152",
 | 
			
		||||
    "1003257",
 | 
			
		||||
    "1003611",
 | 
			
		||||
    "TA6JuPYq2bFCRdTGyQtdTa2Xj5B4NB7sm1",
 | 
			
		||||
    "TAVDwcRTUpfibh5rr6GoE19FArsaHBfcur",
 | 
			
		||||
    "TAvQRWviGyfbjcbbDaLVrh7T3tfPK6N5He",
 | 
			
		||||
    "TBnY2jGuuYYF4j7kp1otQizqF5wbEhFKxA",
 | 
			
		||||
    "TBwoSTyywvLrgjSgaatxrBhxt3DGpVuENh",
 | 
			
		||||
    "TCFLL5dx5ZJdKnWuesXxi1VPwjLVmWZZy9",
 | 
			
		||||
    "TCfLxS9xHxH8auBL3T8pf3NFTZhsxy4Ncg",
 | 
			
		||||
    "TCRhVHPv6efvXgogNMhiunAMXFKcMmv2pF",
 | 
			
		||||
    "TDFRfJLThnLXgtEBBBmA2LGwz3Ex9dAMCE",
 | 
			
		||||
    "TDh4z44NbqrCGVCCqBe753UqHW2CcDpurB",
 | 
			
		||||
    "TDXJ1dSPLsN52jhP32NvVyhQ5X265BNU5c",
 | 
			
		||||
    "TEkxiTehnzSmSe2XqrBj4w32RUN966rdz8",
 | 
			
		||||
    "TG37mUxRUaH1E8DWSrrmoQ79BnZn1yHztb",
 | 
			
		||||
    "TGbhcodQ1jRWB3ZywmfwsRTh4rwbiL2mzh",
 | 
			
		||||
    "THvZvKPLHKLJhEFYKiyqj6j8G8nGgfg7ur",
 | 
			
		||||
    "TJ63TQ3fvibq9pgkiFysPgDWkim1tBjejC",
 | 
			
		||||
    "TJM6YUK7PsyhncoZG3b28ZFrZFWZLuAT4n",
 | 
			
		||||
    "TJoiXo9nPhqPFvYfuHjUzswdth9Lu7Vg2p",
 | 
			
		||||
    "TJSBUFSe2E1Ncp5jo9ERD8LajjzpMa7F3C",
 | 
			
		||||
    "TJvqNiWUN2v2NBG12UhfV7WSvReJkRP3VC",
 | 
			
		||||
    "TJzcEaqgYk9g4jZLEsB2DksLGikM4dWwYJ",
 | 
			
		||||
    "TKkeiboTkxXKJpbmVFbv4a8ov5rAfRDMf9",
 | 
			
		||||
    "TKTcfBEKpp5ZRPwmiZ8SfLx8W7CDZ7PHCY",
 | 
			
		||||
    "TKttnV3FSY1iEoAwB4N52WK2DxdV94KpSd",
 | 
			
		||||
    "TLa2f6VPqDgRE67v1736s7bJ8Ray5wYjU7",
 | 
			
		||||
    "TLGd97zsjrkomUDF962ZFMerdQxPffG7hX",
 | 
			
		||||
    "TLLo3PU91yKPbwvSbuawvWKCzNX2JHYEE2",
 | 
			
		||||
    "TLyqzVGLV1srkB7dToTAEqgDSfPtXRJZYH",
 | 
			
		||||
    "TMhjbHzJCiMWqa5oqn2DF3mGw5yh9oQNf2",
 | 
			
		||||
    "TMnqP8yuZrKJFXN59KoVDthkmM3LRkiZXP",
 | 
			
		||||
    "TMNTn2uFAHhkGE3uuM84rhfRRjt6ry9xnL",
 | 
			
		||||
    "TMNyGQm6DxaaKxH2sSebScgRNsMgqANEzY",
 | 
			
		||||
    "TMwFHYXLJaRUPeW6421aqXL4ZEzPRFGkGT",
 | 
			
		||||
    "TN7zQd2oCCguSQykZ437tZzLEaGJ7EGyha",
 | 
			
		||||
    "TNjt5fShPVJ4YpsLuU4THuBbg58g2bZoLk",
 | 
			
		||||
    "TNZXVQUKQ8Gnjq2BqLvt2kC5WbeDQc1q3j",
 | 
			
		||||
    "TPAQRJSVatTZLLaguCFMXGFKegKnqnKH2s",
 | 
			
		||||
    "TPRuU2GbXPwvvSuggE4xKMRtzsfwYfvBWq",
 | 
			
		||||
    "TQhfmGiZvRt3oe9vKv6W9WXRr4oErxc8RE",
 | 
			
		||||
    "TQsm77PKjtpfawYu2LuQVTkigQcHPFLBaw",
 | 
			
		||||
    "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",
 | 
			
		||||
    "TSkG9SSKdWV5QBuTPN6udi48rym5iPpLof",
 | 
			
		||||
    "TSSMHYeV2uE9qYH95DqyoCuNCzEL1NvU3S",
 | 
			
		||||
    "TTUwzoZAK6rpDjpSh8B2XFTnxGfbMLHJaq",
 | 
			
		||||
    "TTYpHRvz826qA8ChsSvdJKfAY4wiY7p1NP",
 | 
			
		||||
    "TUH4wj8tox7sVxvkTqHLogn6mRVKfrK71M",
 | 
			
		||||
    "TUH63441fBWg2Jam4qTYC8aKX7Np3fHi1b",
 | 
			
		||||
    "TUL5yxRKeSWvceLZ3BSU5iNJcQmNxkWayh",
 | 
			
		||||
    "TUpMhErZL2fhh4sVNULAbNKLokS4GjC1F4",
 | 
			
		||||
    "TV2UZpAzMPuMNpzQW8FJEHidDB1oht7Anb",
 | 
			
		||||
    "TVj7RNVHy6thbM7BWdSe9G6gXwKhjhdNZS",
 | 
			
		||||
    "TVocZFCRZ6tg8MqKCKXzZ9H2qSg29T75tK",
 | 
			
		||||
    "TVthmvBhhmgVNnXZwCvCFoCUTC9Hj4eg6y",
 | 
			
		||||
    "TW2BkFwvkoH9Cx2zwifTacwkGSGiyiZWmt",
 | 
			
		||||
    "TWGGB35HUudizmcLheQN7kANDnD8KfgKkK",
 | 
			
		||||
    "TWVVcRqRmpyAi9dASvTXrqnS7FrwvDezMn",
 | 
			
		||||
    "TWXZxJDGWVhNz2SXx31kQGA5kb2cjAz9ys",
 | 
			
		||||
    "TXfUT4K3z8tatGAk3rEw5qMuqrPXp28h4g",
 | 
			
		||||
    "TYLrbh1pVcx95bop33XQ1iYdh7r3ogEQ8Q",
 | 
			
		||||
    "TYM9eM22SCynRc5YaMxE2PX1kwv7H2rXAu",
 | 
			
		||||
    "TYNgrZX2eLPZ8UUoZEWuiUZYn3bh8fHU8f",
 | 
			
		||||
    "TYqgBctn2NjCQZLBbh1SMEAsH36mopnNqo",
 | 
			
		||||
    "TYxoK7DAvfze7ByWA7LYnzcoLxdKQpjrD1",
 | 
			
		||||
    "TZ5jA9F5zGRgi9qk9ATMu6D7wyEpnxQGJh",
 | 
			
		||||
    "TZGQJY1QbZuXJmMgDgoZVeG4mD1Ef6SdWU",
 | 
			
		||||
    "TZHTVehxLeoVQ5uuQLy3TDx4Uuw6EmHVNF"
 | 
			
		||||
]
 | 
			
		||||
| 
						 | 
				
			
			@ -1,41 +0,0 @@
 | 
			
		|||
[
 | 
			
		||||
    "1000003",
 | 
			
		||||
    "1000396",
 | 
			
		||||
    "1000480",
 | 
			
		||||
    "1000491",
 | 
			
		||||
    "1000501",
 | 
			
		||||
    "1000520",
 | 
			
		||||
    "1000532",
 | 
			
		||||
    "1000541",
 | 
			
		||||
    "1000564",
 | 
			
		||||
    "1000644",
 | 
			
		||||
    "1000743",
 | 
			
		||||
    "1000744",
 | 
			
		||||
    "1000745",
 | 
			
		||||
    "1000746",
 | 
			
		||||
    "1001948",
 | 
			
		||||
    "1001952",
 | 
			
		||||
    "1001964",
 | 
			
		||||
    "1002001",
 | 
			
		||||
    "1002009",
 | 
			
		||||
    "1002038",
 | 
			
		||||
    "1002065",
 | 
			
		||||
    "1002101",
 | 
			
		||||
    "1002544",
 | 
			
		||||
    "1002597",
 | 
			
		||||
    "1002670",
 | 
			
		||||
    "1002775",
 | 
			
		||||
    "1002814",
 | 
			
		||||
    "1002845",
 | 
			
		||||
    "1002858",
 | 
			
		||||
    "1002881",
 | 
			
		||||
    "1002897",
 | 
			
		||||
    "1002907",
 | 
			
		||||
    "1002927",
 | 
			
		||||
    "1002939",
 | 
			
		||||
    "1002962",
 | 
			
		||||
    "1002999",
 | 
			
		||||
    "1003109",
 | 
			
		||||
    "1003406",
 | 
			
		||||
    "TFPAuuQym78giRve6iHTf4y7dZJxAkkrUa"
 | 
			
		||||
]
 | 
			
		||||
| 
						 | 
				
			
			@ -1,3 +0,0 @@
 | 
			
		|||
[
 | 
			
		||||
    "0x0000000000000000000000000000456E65726779"
 | 
			
		||||
]
 | 
			
		||||
| 
						 | 
				
			
			@ -1 +0,0 @@
 | 
			
		|||
[]
 | 
			
		||||
| 
						 | 
				
			
			@ -1,3 +0,0 @@
 | 
			
		|||
[
 | 
			
		||||
    "0xc6f4465a6A521124c8E3096b62575C157999d361"
 | 
			
		||||
]
 | 
			
		||||
| 
						 | 
				
			
			@ -1,7 +0,0 @@
 | 
			
		|||
[
 | 
			
		||||
    "0x0f2e7C0E904a525A24FF6f658053f6bA5Ce7A209",
 | 
			
		||||
    "0x350bb91C9C8Ef4e8C0e19fbdc6A90A24bcb1eC2A",
 | 
			
		||||
    "0x3BEB80170272f07aCA12987AF86A59888255A807",
 | 
			
		||||
    "0x51316966907ef568689775066e97c46a4Ffde1a4",
 | 
			
		||||
    "0xA13a41a2349D09C1E3a0dD4d9448Af4aD799fC4A"
 | 
			
		||||
]
 | 
			
		||||
| 
						 | 
				
			
			@ -1,7 +0,0 @@
 | 
			
		|||
[
 | 
			
		||||
    "0x0116e28B43A358162B96f70B4De14C98A4465f25",
 | 
			
		||||
    "0x1e16aa4Df73d29C029d94CeDa3e3114EC191E25A",
 | 
			
		||||
    "0x703120F2f2011a0D03A03a531Ac0e84e81F15989",
 | 
			
		||||
    "0x71850b7E9Ee3f13Ab46d67167341E4bDc905Eef9",
 | 
			
		||||
    "0xC25AF3123d2420054c8fcd144c21113aa2853F39"
 | 
			
		||||
]
 | 
			
		||||
| 
						 | 
				
			
			@ -1 +0,0 @@
 | 
			
		|||
[]
 | 
			
		||||
| 
						 | 
				
			
			@ -1 +0,0 @@
 | 
			
		|||
[]
 | 
			
		||||
| 
						 | 
				
			
			@ -1 +0,0 @@
 | 
			
		|||
[]
 | 
			
		||||
| 
						 | 
				
			
			@ -30,9 +30,8 @@ An example of a change file is:
 | 
			
		|||
        "date": "2021-02-22T14:56:47.938Z"
 | 
			
		||||
    },
 | 
			
		||||
    "fullChange": false,
 | 
			
		||||
    "changeCount": 12,
 | 
			
		||||
    "changeCount": 11,
 | 
			
		||||
    "changes": [
 | 
			
		||||
        "blockchains/ethereum/allowlist.json",
 | 
			
		||||
        "blockchains/ethereum/assets/0x67c597624B17b16fb77959217360B7cD18284253/info.json",
 | 
			
		||||
        "blockchains/ethereum/assets/0x67c597624B17b16fb77959217360B7cD18284253/logo.png",
 | 
			
		||||
        "blockchains/ethereum/assets/0x798D1bE841a82a273720CE31c822C61a67a601C3/info.json",
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -12,7 +12,6 @@ import { TokenItem, Pair, createTokensList, writeToFileWithUpdate } from "../gen
 | 
			
		|||
import {
 | 
			
		||||
    getChainAssetLogoPath,
 | 
			
		||||
    getChainAssetsPath,
 | 
			
		||||
    getChainDenylistPath,
 | 
			
		||||
    getChainAssetInfoPath,
 | 
			
		||||
    getChainTokenlistPath
 | 
			
		||||
} from "../generic/repo-structure";
 | 
			
		||||
| 
						 | 
				
			
			@ -72,21 +71,16 @@ async function fetchImage(url) {
 | 
			
		|||
}
 | 
			
		||||
 | 
			
		||||
/// Return: array with images to fetch; {asset, assetImg}
 | 
			
		||||
export function findImagesToFetch(assetInfoList: BinanceTokenInfo[], denylist: string[]): BinanceTokenInfo[] {
 | 
			
		||||
export function findImagesToFetch(assetInfoList: BinanceTokenInfo[]): BinanceTokenInfo[] {
 | 
			
		||||
    const toFetch: BinanceTokenInfo[] = [];
 | 
			
		||||
    console.log(`Checking for asset images to be fetched`);
 | 
			
		||||
    assetInfoList.forEach((tokenInfo) => {
 | 
			
		||||
        process.stdout.write(`.${tokenInfo.asset} `);
 | 
			
		||||
        if (tokenInfo.assetImg) {
 | 
			
		||||
            if (denylist.indexOf(tokenInfo.asset) != -1) {
 | 
			
		||||
                console.log();
 | 
			
		||||
                console.log(`${tokenInfo.asset} is denylisted`);
 | 
			
		||||
            } else {
 | 
			
		||||
                const imagePath = getChainAssetLogoPath(binanceChain, tokenInfo.asset);
 | 
			
		||||
                if (!fs.existsSync(imagePath)) {
 | 
			
		||||
                    console.log(chalk.red(`Missing image: ${tokenInfo.asset}`));
 | 
			
		||||
                    toFetch.push(tokenInfo);
 | 
			
		||||
                }
 | 
			
		||||
            const imagePath = getChainAssetLogoPath(binanceChain, tokenInfo.asset);
 | 
			
		||||
            if (!fs.existsSync(imagePath)) {
 | 
			
		||||
                console.log(chalk.red(`Missing image: ${tokenInfo.asset}`));
 | 
			
		||||
                toFetch.push(tokenInfo);
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    });
 | 
			
		||||
| 
						 | 
				
			
			@ -162,9 +156,7 @@ export class BinanceAction implements ActionInterface {
 | 
			
		|||
            console.log(`ERROR: No Binance token info is returned! ${bep2InfoList.length}`);
 | 
			
		||||
            return;
 | 
			
		||||
        }
 | 
			
		||||
        const denylist: string[] = readJsonFile(getChainDenylistPath(binanceChain)) as string[];
 | 
			
		||||
 | 
			
		||||
        const toFetch = findImagesToFetch(bep2InfoList, denylist);
 | 
			
		||||
        const toFetch = findImagesToFetch(bep2InfoList);
 | 
			
		||||
        const fetchedAssets = await fetchMissingImages(toFetch);
 | 
			
		||||
 | 
			
		||||
        if (fetchedAssets.length > 0) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,155 +0,0 @@
 | 
			
		|||
import { chainsWithDenylist } from "./blockchains";
 | 
			
		||||
import {
 | 
			
		||||
    getChainAssetInfoPath,
 | 
			
		||||
    getChainAssetLogoPath,
 | 
			
		||||
    //getChainAssetsList,
 | 
			
		||||
    getChainAssetsPath,
 | 
			
		||||
    getChainAllowlistPath,
 | 
			
		||||
    getChainDenylistPath
 | 
			
		||||
} from "./repo-structure";
 | 
			
		||||
import {
 | 
			
		||||
    isPathExistsSync,
 | 
			
		||||
    readDirSync,
 | 
			
		||||
    readFileSync,
 | 
			
		||||
    writeFileSync
 | 
			
		||||
} from "./filesystem";
 | 
			
		||||
import {
 | 
			
		||||
    //arrayDiff,
 | 
			
		||||
    arrayDiffNocase,
 | 
			
		||||
    findCommonElementsOrDuplicates,
 | 
			
		||||
    makeUnique
 | 
			
		||||
} from "./types";
 | 
			
		||||
import { ActionInterface, CheckStepInterface } from "./interface";
 | 
			
		||||
import { formatSortJson } from "./json";
 | 
			
		||||
import * as bluebird from "bluebird";
 | 
			
		||||
 | 
			
		||||
// Find assets for which full info is available -- logo+info -- and is not in the allowlist
 | 
			
		||||
async function findFullAssetsWithNoAllow(chain: string, allowlist: string[]): Promise<string[]> {
 | 
			
		||||
    const list: string[] = [];
 | 
			
		||||
    const assetsPath = getChainAssetsPath(chain);
 | 
			
		||||
    if (!isPathExistsSync(assetsPath)) {
 | 
			
		||||
        return list;
 | 
			
		||||
    }
 | 
			
		||||
    await bluebird.mapSeries(readDirSync(assetsPath), async asset => {
 | 
			
		||||
        if (allowlist.includes(asset)) {
 | 
			
		||||
            // present in allowlist, skip
 | 
			
		||||
            return;
 | 
			
		||||
        }
 | 
			
		||||
        const logoPath = getChainAssetLogoPath(chain, asset);
 | 
			
		||||
        if (!isPathExistsSync(logoPath)) {
 | 
			
		||||
            return;
 | 
			
		||||
        }
 | 
			
		||||
        const infoPath = getChainAssetInfoPath(chain, asset);
 | 
			
		||||
        if (!isPathExistsSync(infoPath)) {
 | 
			
		||||
            return;
 | 
			
		||||
        }
 | 
			
		||||
        // both files exist, not in allowlist
 | 
			
		||||
        list.push(asset);
 | 
			
		||||
    });
 | 
			
		||||
    return list;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
async function checkUpdateAllowDenyList(chain: string, checkOnly: boolean ): Promise<[boolean, string[], string[]]> {
 | 
			
		||||
    const errorMsgs: string[] = [];
 | 
			
		||||
    const warningMsgs: string[] = [];
 | 
			
		||||
 | 
			
		||||
    const allowlistPath = getChainAllowlistPath(chain);
 | 
			
		||||
    const denylistPath = getChainDenylistPath(chain);
 | 
			
		||||
 | 
			
		||||
    const currentAllowlistText = readFileSync(allowlistPath);
 | 
			
		||||
    const currentDenylistText = readFileSync(denylistPath);
 | 
			
		||||
    const currentAllowlist = JSON.parse(currentAllowlistText);
 | 
			
		||||
    const currentDenylist = JSON.parse(currentDenylistText);
 | 
			
		||||
 | 
			
		||||
    const commonElementsOrDuplicates = findCommonElementsOrDuplicates(currentAllowlist, currentDenylist);
 | 
			
		||||
    if (commonElementsOrDuplicates && commonElementsOrDuplicates.length > 0) {
 | 
			
		||||
        errorMsgs.push(`Denylist and allowlist for chain ${chain} should have no common elements or duplicates, found ${commonElementsOrDuplicates.length} ${commonElementsOrDuplicates[0]}`);
 | 
			
		||||
    }
 | 
			
		||||
    //const assetsWithLogo = getChainAssetsList(chain);
 | 
			
		||||
    const assetsWithInfoNotInAllow = await findFullAssetsWithNoAllow(chain, currentAllowlist);
 | 
			
		||||
    /*
 | 
			
		||||
    const allowlistOrphan = arrayDiff(currentAllowlist, assetsWithLogo);
 | 
			
		||||
    if (allowlistOrphan && allowlistOrphan.length > 0) {
 | 
			
		||||
        // warning only
 | 
			
		||||
        warningMsgs.push(`Allowlist for chain ${chain} contains non-exitent assetsWithLogo, found ${allowlistOrphan.length}, ${allowlistOrphan[0]}`);
 | 
			
		||||
    }
 | 
			
		||||
    */
 | 
			
		||||
 | 
			
		||||
    //const newDeny = makeUnique(currentDenylist.concat(allowlistOrphan));
 | 
			
		||||
    const tempAssetsOrAllow = makeUnique(currentAllowlist.concat(assetsWithInfoNotInAllow));
 | 
			
		||||
    const newAllow = makeUnique(arrayDiffNocase(tempAssetsOrAllow, currentDenylist));
 | 
			
		||||
    //console.log(currentAllowlist.length, "vs.", newAllow.length);
 | 
			
		||||
    //console.log(currentDenylist.length, "vs.", newDeny.length);
 | 
			
		||||
 | 
			
		||||
    const wDiff1 = arrayDiffNocase(newAllow, currentAllowlist);
 | 
			
		||||
    if (wDiff1.length > 0) {
 | 
			
		||||
        // warning only
 | 
			
		||||
        warningMsgs.push(`Some elements are missing from allowlist for chain ${chain}: ${wDiff1.length} ${wDiff1[0]}`);
 | 
			
		||||
    }
 | 
			
		||||
    const wDiff2 = arrayDiffNocase(currentAllowlist, newAllow);
 | 
			
		||||
    if (wDiff2.length > 0) {
 | 
			
		||||
        // warning only
 | 
			
		||||
        warningMsgs.push(`Some elements should be removed from allowlist for chain ${chain}: ${wDiff2.length} ${wDiff2[0]}`);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /*
 | 
			
		||||
    const bDiff1 = arrayDiffNocase(newDeny, currentDenylist);
 | 
			
		||||
    if (bDiff1.length > 0) {
 | 
			
		||||
        warningMsgs.push(`Some elements are missing from denylist for chain ${chain}: ${bDiff1.length} ${bDiff1[0]}`);
 | 
			
		||||
    }
 | 
			
		||||
    const bDiff2 = arrayDiffNocase(currentDenylist, newDeny);
 | 
			
		||||
    if (bDiff2.length > 0) {
 | 
			
		||||
        warningMsgs.push(`Some elements should be removed from denylist for chain ${chain}: ${bDiff2.length} ${bDiff2[0]}`);
 | 
			
		||||
    }
 | 
			
		||||
    */
 | 
			
		||||
 | 
			
		||||
    // additionally check for nice formatting, sorting:
 | 
			
		||||
    const newAllowText = formatSortJson(newAllow);
 | 
			
		||||
    if (newAllowText !== currentAllowlistText) {
 | 
			
		||||
        warningMsgs.push(`Allowlist for chain ${chain}: not formatted nicely `);
 | 
			
		||||
    }
 | 
			
		||||
    const newDenyText = formatSortJson(currentDenylist); // formatSortJson(newDeny);
 | 
			
		||||
    if (newDenyText !== currentDenylistText) {
 | 
			
		||||
        warningMsgs.push(`Denylist for chain ${chain}: not formatted nicely `);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (errorMsgs.length > 0 || warningMsgs.length > 0) {
 | 
			
		||||
        // sg wrong, may need to fix
 | 
			
		||||
        if (!checkOnly) {
 | 
			
		||||
            // update
 | 
			
		||||
            writeFileSync(allowlistPath, newAllowText);
 | 
			
		||||
            writeFileSync(denylistPath, newDenyText);
 | 
			
		||||
            console.log(`Updated allow and denylists for chain ${chain}`);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    return [(errorMsgs.length == 0 && warningMsgs.length == 0), errorMsgs, warningMsgs];
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export class Allowlists implements ActionInterface {
 | 
			
		||||
    getName(): string { return "Allowlists"; }
 | 
			
		||||
 | 
			
		||||
    getSanityChecks = null;
 | 
			
		||||
 | 
			
		||||
    getConsistencyChecks(): CheckStepInterface[] {
 | 
			
		||||
        const steps: CheckStepInterface[] = [];
 | 
			
		||||
        chainsWithDenylist.forEach(chain => {
 | 
			
		||||
            steps.push(
 | 
			
		||||
                {
 | 
			
		||||
                    getName: () => { return `Allowlist and denylist for ${chain} should be consistent with assets`},
 | 
			
		||||
                    check: async () => {
 | 
			
		||||
                        const [isOK, errorMsgs, warningMsgs] = await checkUpdateAllowDenyList(chain, true);
 | 
			
		||||
                        if (!isOK) {
 | 
			
		||||
                            return [errorMsgs, warningMsgs];
 | 
			
		||||
                        }
 | 
			
		||||
                        return [[], []];
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
            );
 | 
			
		||||
        });
 | 
			
		||||
        return steps;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    async consistencyFix(): Promise<void> {
 | 
			
		||||
        await bluebird.each(chainsWithDenylist, async (chain) => await checkUpdateAllowDenyList(chain, false));
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -58,15 +58,3 @@ export const stakingChains = [
 | 
			
		|||
    Terra,
 | 
			
		||||
    Binance
 | 
			
		||||
];
 | 
			
		||||
export const chainsWithDenylist = ethForkChains.concat(
 | 
			
		||||
    Binance,
 | 
			
		||||
    Tron,
 | 
			
		||||
    Terra,
 | 
			
		||||
    NEO,
 | 
			
		||||
    NULS,
 | 
			
		||||
    Vechain,
 | 
			
		||||
    Ontology,
 | 
			
		||||
    Theta,
 | 
			
		||||
    EOS,
 | 
			
		||||
    Solana,
 | 
			
		||||
);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -12,16 +12,12 @@ export const logoExtension = "png";
 | 
			
		|||
export const jsonExtension = "json";
 | 
			
		||||
export const logoFullName = `${logoName}.${logoExtension}`;
 | 
			
		||||
export const infoFullName = `${infoName}.${jsonExtension}`;
 | 
			
		||||
const allowList = `allowlist.${jsonExtension}`;
 | 
			
		||||
const denyList = `denylist.${jsonExtension}`;
 | 
			
		||||
const tokenList = `tokenlist.${jsonExtension}`;
 | 
			
		||||
export const validatorsList = `${listName}.${jsonExtension}`
 | 
			
		||||
 | 
			
		||||
export const assetFolderAllowedFiles = [logoFullName, infoFullName];
 | 
			
		||||
export const chainFolderAllowedFiles = [
 | 
			
		||||
    "assets",
 | 
			
		||||
    allowList,
 | 
			
		||||
    denyList,
 | 
			
		||||
    tokenList,
 | 
			
		||||
    "validators",
 | 
			
		||||
    infoName
 | 
			
		||||
| 
						 | 
				
			
			@ -36,8 +32,6 @@ export const getChainAssetsPath = (chain: string): string => `${getChainPath(cha
 | 
			
		|||
export const getChainAssetPath = (chain: string, asset: string): string => `${getChainAssetsPath(chain)}/${asset}`;
 | 
			
		||||
export const getChainAssetLogoPath = (chain: string, asset: string): string => `${getChainAssetPath(chain, asset)}/${logoFullName}`;
 | 
			
		||||
export const getChainAssetInfoPath = (chain: string, asset: string): string => `${getChainAssetPath(chain, asset)}/${infoFullName}`;
 | 
			
		||||
export const getChainAllowlistPath = (chain: string): string => `${getChainPath(chain)}/${allowList}`;
 | 
			
		||||
export const getChainDenylistPath = (chain: string): string => `${getChainPath(chain)}/${denyList}`;
 | 
			
		||||
export const getChainTokenlistPath = (chain: string): string => `${getChainPath(chain)}/${tokenList}`;
 | 
			
		||||
export const pricingFolderPath = path.join(process.cwd(), '/pricing');
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -5,7 +5,6 @@ import { diff } from "jsondiffpatch";
 | 
			
		|||
import { tokenInfoFromTwApi, TokenTwInfo } from "../generic/asset";
 | 
			
		||||
import {
 | 
			
		||||
    getChainAssetLogoPath,
 | 
			
		||||
    getChainAllowlistPath,
 | 
			
		||||
    getChainTokenlistPath,
 | 
			
		||||
} from "../generic/repo-structure";
 | 
			
		||||
import * as bluebird from "bluebird";
 | 
			
		||||
| 
						 | 
				
			
			@ -245,16 +244,12 @@ function addPairToToken(pairToken: TokenItem, token: TokenItem, list: List): voi
 | 
			
		|||
    tokenInList.pairs.push(new Pair(pairToken.asset));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function checkTokenExists(id: string, chainName: string, tokenAllowlist: string[]): boolean {
 | 
			
		||||
function checkTokenExists(id: string, chainName: string): boolean {
 | 
			
		||||
    const logoPath = getChainAssetLogoPath(chainName, id);
 | 
			
		||||
    if (!isPathExistsSync(logoPath)) {
 | 
			
		||||
        //console.log("logo file missing", logoPath);
 | 
			
		||||
        return false;
 | 
			
		||||
    }
 | 
			
		||||
    if (tokenAllowlist.find(t => (id.toLowerCase() === t.toLowerCase())) === undefined) {
 | 
			
		||||
        //console.log(`Token not found in allowlist, ${id}`);
 | 
			
		||||
        return false;
 | 
			
		||||
    }
 | 
			
		||||
    return true;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -310,15 +305,14 @@ export async function rebuildTokenlist(chainName: string, pairs: [TokenItem, Tok
 | 
			
		|||
    
 | 
			
		||||
    const excludeList = parseForceList(forceExcludeList);
 | 
			
		||||
    // filter out pairs with missing and excluded tokens
 | 
			
		||||
    // prepare phase, read allowlist
 | 
			
		||||
    const allowlist: string[] = readJsonFile(getChainAllowlistPath(chainName)) as string[];
 | 
			
		||||
    // prepare phase
 | 
			
		||||
    const pairs2: [TokenItem, TokenItem][] = [];
 | 
			
		||||
    pairs.forEach(p => {
 | 
			
		||||
        if (!checkTokenExists(p[0].address, chainName, allowlist)) {
 | 
			
		||||
        if (!checkTokenExists(p[0].address, chainName)) {
 | 
			
		||||
            console.log("pair with unsupported 1st coin:", p[0].symbol, "--", p[1].symbol);
 | 
			
		||||
            return;
 | 
			
		||||
        }
 | 
			
		||||
        if (!checkTokenExists(p[1].address, chainName, allowlist)) {
 | 
			
		||||
        if (!checkTokenExists(p[1].address, chainName)) {
 | 
			
		||||
            console.log("pair with unsupported 2nd coin:", p[0].symbol, "--", p[1].symbol);
 | 
			
		||||
            return;
 | 
			
		||||
        }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -13,7 +13,6 @@ import { TezosAction } from "../blockchain/tezos";
 | 
			
		|||
import { TronAction } from "../blockchain/tron";
 | 
			
		||||
import { Validators } from "../generic/validators";
 | 
			
		||||
import { WavesAction } from "../blockchain/waves";
 | 
			
		||||
import { Allowlists } from "../generic/allowlists";
 | 
			
		||||
import { ActionInterface, CheckStepInterface } from "../generic/interface";
 | 
			
		||||
import * as chalk from 'chalk';
 | 
			
		||||
import * as bluebird from "bluebird";
 | 
			
		||||
| 
						 | 
				
			
			@ -23,7 +22,6 @@ const actionList: ActionInterface[] = [
 | 
			
		|||
    new AssetInfos(),
 | 
			
		||||
    new EthForks(),
 | 
			
		||||
    new LogoSize(),
 | 
			
		||||
    new Allowlists(),
 | 
			
		||||
    new Validators(),
 | 
			
		||||
    new JsonAction(),
 | 
			
		||||
    // chains:
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -136,12 +136,9 @@ describe("Test blockchain binance", () => {
 | 
			
		|||
            {asset: "BUSD-BD1", name: "Binance USD", mappedAsset: "BUSD", assetImg: "imgurlBUSD", decimals: 8},
 | 
			
		||||
            {asset: "ETH-1C9", name: "Binance Ethereum", mappedAsset: "BETH", assetImg: "imgurlETH", decimals: 8}
 | 
			
		||||
        ];
 | 
			
		||||
        const denyListEmpty: string[] = [];
 | 
			
		||||
        const denyListA1: string[] = ["A1-11"];
 | 
			
		||||
        expect(findImagesToFetch(assetsInfoListNonexisting, denyListEmpty), `2 nonexisting`).toEqual(assetsInfoListNonexisting);
 | 
			
		||||
        expect(findImagesToFetch(assetsInfoListNonexisting, denyListA1), `2 nonexisting with 1 denylisted`).toEqual([infoA2]);
 | 
			
		||||
        expect(findImagesToFetch(assetsInfoListExisting, denyListEmpty), `2 existing`).toEqual([]);
 | 
			
		||||
        expect(findImagesToFetch([], []), `empty`).toEqual([]);
 | 
			
		||||
        expect(findImagesToFetch(assetsInfoListNonexisting), `2 nonexisting`).toEqual(assetsInfoListNonexisting);
 | 
			
		||||
        expect(findImagesToFetch(assetsInfoListExisting), `2 existing`).toEqual([]);
 | 
			
		||||
        expect(findImagesToFetch([]), `empty`).toEqual([]);
 | 
			
		||||
    });
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue
	
	Block a user