Format asset info.json + add test to check. Daily update.

This commit is contained in:
Mykola 2020-04-10 17:49:55 -07:00
parent 0d6b3ead85
commit ad04ceda88
39 changed files with 258 additions and 155 deletions

View File

@ -2,6 +2,8 @@
"name": "PieDAO BTC++", "name": "PieDAO BTC++",
"website": "https://piedao.org", "website": "https://piedao.org",
"short_description": "Diversified Bitcoin exposure on Ethereum", "short_description": "Diversified Bitcoin exposure on Ethereum",
"socials": ["https://twitter.com/PieDAO_DeFi"], "socials": [
"https://twitter.com/PieDAO_DeFi"
],
"explorer": "https://etherscan.io/token/0x0327112423f3a68efdf1fcf402f6c5cb9f7c33fd" "explorer": "https://etherscan.io/token/0x0327112423f3a68efdf1fcf402f6c5cb9f7c33fd"
} }

View File

@ -1,6 +1,6 @@
{ {
"name": "Digital CHF", "name": "Digital CHF",
"symbol": "DCHF", "website": "",
"smart_contract": "0x0703Fb3CCF77D117Ecbb19774b5f97c5a4875c9D", "short_description": "",
"explorer": "https://etherscan.io/token/0x0703Fb3CCF77D117Ecbb19774b5f97c5a4875c9D" "explorer": "https://etherscan.io/token/0x0703Fb3CCF77D117Ecbb19774b5f97c5a4875c9D"
} }

View File

@ -1,5 +1,4 @@
{ {
"name": "BitPhantom Pro", "name": "BitPhantom Pro",
"website": "https://pro.bitphantom.io", "website": "https://pro.bitphantom.io",
"source_code": "https://github.com/bitphantom-ops", "source_code": "https://github.com/bitphantom-ops",
@ -20,4 +19,3 @@
], ],
"explorer": "https://etherscan.io/token/0x0D24e4A32B174ff6777059D4fD6bF8CFE031014b" "explorer": "https://etherscan.io/token/0x0D24e4A32B174ff6777059D4fD6bF8CFE031014b"
} }

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

View File

@ -1,6 +1,6 @@
{ {
"name": "USDI", "name": "USDI",
"website": "https://otfund.io/", "website": "https://otfund.io/",
"short_description": "USDI payment gateway.", "short_description": "USDI payment gateway.",
"explorer": "https://etherscan.io/token/0x211d6373313dAfa21789767E2A255e0C435E7F5d" "explorer": "https://etherscan.io/token/0x211d6373313dAfa21789767E2A255e0C435E7F5d"
} }

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

View File

@ -4,6 +4,7 @@
"source_code": "https://github.com/blocksquare", "source_code": "https://github.com/blocksquare",
"short_description": "Increase value and liquidity of real estate properties in your portfolio.", "short_description": "Increase value and liquidity of real estate properties in your portfolio.",
"description": "Increase value and liquidity of real estate properties in your portfolio.", "description": "Increase value and liquidity of real estate properties in your portfolio.",
"explorer": "https://etherscan.io/address/0x509a38b7a1cc0dcd83aa9d06214663d9ec7c7f4a",
"socials": [ "socials": [
{ {
"name": "Twitter", "name": "Twitter",

View File

@ -2,11 +2,5 @@
"name": "World Wide Web Coin (WWW)", "name": "World Wide Web Coin (WWW)",
"website": "https://norisk.trade", "website": "https://norisk.trade",
"short_description": "WWW is a Stable Coin which want to sell Internet throughout the world.Backed stablecoins are subject to the same volatility and risk associated with the backing asset. If the backed stablecoin is backed in a decentralized manner, then they are relatively safe from predation, but if there is a central vault, they may be robbed, of suffer loss of confidence.", "short_description": "WWW is a Stable Coin which want to sell Internet throughout the world.Backed stablecoins are subject to the same volatility and risk associated with the backing asset. If the backed stablecoin is backed in a decentralized manner, then they are relatively safe from predation, but if there is a central vault, they may be robbed, of suffer loss of confidence.",
"explorers": [ "explorer": "https://etherscan.io/address/0x6a0ae448da83d73b291a199b798d13bb2e7d664d"
{
"name": "Etherscan",
"url": "https://etherscan.io/address/0x6a0ae448da83d73b291a199b798d13bb2e7d664d"
}
],
"data_source": "crowd"
} }

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

View File

@ -2,11 +2,5 @@
"name": "NaGa", "name": "NaGa",
"website": "https://nagatrade.com", "website": "https://nagatrade.com",
"short_description": "Binary options trading platform", "short_description": "Binary options trading platform",
"explorers": [ "explorer": "https://etherscan.io/token/0x73145e8603c71fffdc4e37e6957a6c55db00ed23"
{
"name": "Etherscan",
"url": "https://etherscan.io/token/0x73145e8603c71fffdc4e37e6957a6c55db00ed23"
}
],
"data_source": "crowd"
} }

View File

@ -1,6 +1,6 @@
{ {
"name": "OTFund", "name": "OTFund",
"website": "https://otfund.io/", "website": "https://otfund.io/",
"short_description": "OTFUND is the first open-end fund plaform integrates BLOCKCHAIN on DAPP GAME, DIGITAL LOTTERY, DIGITAL TRADING, GAME ONLINE, BLOCKCHAIN ACADEMY, E-COMMERCE SHARING ECONOMY which is officially launched in October.", "short_description": "OTFUND is the first open-end fund plaform integrates BLOCKCHAIN on DAPP GAME, DIGITAL LOTTERY, DIGITAL TRADING, GAME ONLINE, BLOCKCHAIN ACADEMY, E-COMMERCE SHARING ECONOMY which is officially launched in October.",
"explorer": "https://etherscan.io/token/0x75A93C11dFF32A4312057714257758B113a0F512" "explorer": "https://etherscan.io/token/0x75A93C11dFF32A4312057714257758B113a0F512"
} }

View File

@ -1,6 +1,6 @@
{ {
"Name": "REBITCOIN", "name": "REBITCOIN",
"Symbol": "RBTC", "website": "",
"short_description": "REBITCOIN", "short_description": "REBITCOIN",
"explorer": "https://etherscan.io/token/0x7f65BE7FAd0c22813e51746E7e8f13a20bAa9411" "explorer": "https://etherscan.io/token/0x7f65BE7FAd0c22813e51746E7e8f13a20bAa9411"
} }

View File

@ -2,11 +2,5 @@
"name": "Tether DeFi (USDD)", "name": "Tether DeFi (USDD)",
"website": "https://tetherdefi.com", "website": "https://tetherdefi.com",
"short_description": "Tether DeFi (USDD) is called a stablecoin because it was originally designed to always be worth $1.00, maintaining $1.00 in reserves for each tether issued. Nevertheless, Tether DeFi (USDD) Limited states that owners of tethers have no contractual right, other legal claims, or guarantee that tethers will be redeemed or exchanged for dollars.", "short_description": "Tether DeFi (USDD) is called a stablecoin because it was originally designed to always be worth $1.00, maintaining $1.00 in reserves for each tether issued. Nevertheless, Tether DeFi (USDD) Limited states that owners of tethers have no contractual right, other legal claims, or guarantee that tethers will be redeemed or exchanged for dollars.",
"explorers": [ "explorer": "https://etherscan.io/token/0x861d899E74eC0e84fa8A15Ba58088Bb3BACcb6FA"
{
"name": "Etherscan",
"url": "https://etherscan.io/token/0x861d899E74eC0e84fa8A15Ba58088Bb3BACcb6FA"
}
],
"data_source": "crowd"
} }

Binary file not shown.

Before

Width:  |  Height:  |  Size: 43 KiB

View File

@ -1,5 +1,6 @@
{ {
"name": "CRYPTOASH Token", "name": "CRYPTOASH Token",
"website": "",
"short_description": "CRYPTOASH Token (CryptASH) is an ERC20 based token, it's an open source unlicesed token created by Telegram crypto community with love on Ethereum platform.", "short_description": "CRYPTOASH Token (CryptASH) is an ERC20 based token, it's an open source unlicesed token created by Telegram crypto community with love on Ethereum platform.",
"explorer": "https://etherscan.io/token/0xb2ee225350337d17f5a5ea037a0f0b6172df5a4a" "explorer": "https://etherscan.io/token/0xb2ee225350337d17f5a5ea037a0f0b6172df5a4a"
} }

View File

@ -1,13 +1,13 @@
{ {
"name": "USDX", "name": "USDX",
"description": "A fast way to transfer money globally in secured digital transactions.", "short_description": "A fast way to transfer money globally in secured digital transactions.",
"website": "",
"socials": [ "socials": [
{ {
"name": "Twitter", "name": "Twitter",
"url": "https://twitter.com/coinusdx", "url": "https://twitter.com/coinusdx",
"handle": "coinusdx" "handle": "coinusdx"
} }
], ],
"explorer": "https://etherscan.io/token/0xbec4a69d6a5fbcb2303c13d24ea1a51a6f19bd12" "explorer": "https://etherscan.io/token/0xbec4a69d6a5fbcb2303c13d24ea1a51a6f19bd12"
} }

View File

@ -1,6 +1,6 @@
{ {
"name": "OxyCoin", "name": "OxyCoin",
"symbol": "OXY", "symbol": "OXY",
"website": "https://www.oxy-coin.com", "website": "https://www.oxy-coin.com",
"short_description": "OxyCoin (OXY) is an ERC20 Token that supplied 244,140,625,000,000,000,000 coins", "short_description": "OxyCoin (OXY) is an ERC20 Token that supplied 244,140,625,000,000,000,000 coins",
"explorer": "https://etherscan.io/token/0xd83a162d4808c370a1445646e64cc4861eb60b92" "explorer": "https://etherscan.io/token/0xd83a162d4808c370a1445646e64cc4861eb60b92"

View File

@ -1,5 +1,6 @@
{ {
"name": "BRO", "name": "BRO",
"short_description": "BROCoin is a friend token.", "short_description": "BROCoin is a friend token.",
"website": "",
"explorer": "https://etherscan.io/token/0xF41804cf0720eca53c7297Eb3BF2B61465a9DBbe" "explorer": "https://etherscan.io/token/0xF41804cf0720eca53c7297Eb3BF2B61465a9DBbe"
} }

View File

@ -1,6 +1,6 @@
{ {
"Name": "REBITCOIN", "name": "REBITCOIN",
"Symbol": "RBTC", "website": "",
"short_description": "REBITCOIN token.", "short_description": "REBITCOIN token.",
"explorer": "https://etherscan.io/token/0xae690cf07c85bfb2de29ab32080c0ea182ae82b5" "explorer": "https://etherscan.io/token/0xae690cf07c85bfb2de29ab32080c0ea182ae82b5"
} }

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

View File

@ -160,6 +160,7 @@
"0x0A149deE25eE0D8C9BbAF99620c4Cb94B606bcdE", "0x0A149deE25eE0D8C9BbAF99620c4Cb94B606bcdE",
"0x0A2e35eEc795c1e758FbF885852CA4cC47B36002", "0x0A2e35eEc795c1e758FbF885852CA4cC47B36002",
"0x0A2eA71d943BF917b410593194595e1f48d40e54", "0x0A2eA71d943BF917b410593194595e1f48d40e54",
"0x0a3349B9d99Fa76F08Ac664d5e98c3A2bC43Adc7",
"0x0a3e99cF6a1ff8bEBbCA072CD5F203bCC25F5da6", "0x0a3e99cF6a1ff8bEBbCA072CD5F203bCC25F5da6",
"0x0A4F13087cc27f2A9A437a579AC48761946eac64", "0x0A4F13087cc27f2A9A437a579AC48761946eac64",
"0x0A8F477588C7d6d91247B207b775d3Fce0013425", "0x0A8F477588C7d6d91247B207b775d3Fce0013425",
@ -345,6 +346,7 @@
"0x1866c6907E70eB176109363492B95e3617b4A195", "0x1866c6907E70eB176109363492B95e3617b4A195",
"0x186963Cae27017959F012Aff82aaAf528C0C5f5a", "0x186963Cae27017959F012Aff82aaAf528C0C5f5a",
"0x18697CF1A26CfD939D68B58EDDc21284bb2f84BE", "0x18697CF1A26CfD939D68B58EDDc21284bb2f84BE",
"0x187C4B0e3819017a5cf07af81A4E2b16166aAbc6",
"0x1880744F57aa935f9155675730D17E43B9B624e4", "0x1880744F57aa935f9155675730D17E43B9B624e4",
"0x188A7c473D94F5c5ed21Bc2E820CF51934b40388", "0x188A7c473D94F5c5ed21Bc2E820CF51934b40388",
"0x18A753C76633351143b7F69CE8fF00Ec22BCdBBb", "0x18A753C76633351143b7F69CE8fF00Ec22BCdBBb",
@ -483,6 +485,7 @@
"0x211893cEf35F6650337CFe81A32B52F214BC5f83", "0x211893cEf35F6650337CFe81A32B52F214BC5f83",
"0x212936750AeDd9715aE981dCb6C5c2a72B86773B", "0x212936750AeDd9715aE981dCb6C5c2a72B86773B",
"0x2135109f53d03CC782058eaDEe69C0B255D000F8", "0x2135109f53d03CC782058eaDEe69C0B255D000F8",
"0x2144DF04A44086fCf28290cF050A3F038A87f049",
"0x21450F382a5C5C60869339aFb308154629A687De", "0x21450F382a5C5C60869339aFb308154629A687De",
"0x2155d93d837B35D0e6ADDbEaf3e907e2B0cB65bB", "0x2155d93d837B35D0e6ADDbEaf3e907e2B0cB65bB",
"0x218d9C723464CD066345e004B282476a1995924B", "0x218d9C723464CD066345e004B282476a1995924B",
@ -721,6 +724,7 @@
"0x332976B93405b3205A67cE9a889b03183B705B74", "0x332976B93405b3205A67cE9a889b03183B705B74",
"0x3347521c33BCb5F60A03bB8505A2aD7693342a77", "0x3347521c33BCb5F60A03bB8505A2aD7693342a77",
"0x338c8A4fF27F1d03165c037F762C598f08176c6C", "0x338c8A4fF27F1d03165c037F762C598f08176c6C",
"0x339A1D6D186098B47ede6c67429aEC9D71EE4bBB",
"0x33C8A345830636556160C2ebc3AbB90be2e1252b", "0x33C8A345830636556160C2ebc3AbB90be2e1252b",
"0x33EE42B6025f10A71c883fFb298655fB22C9C825", "0x33EE42B6025f10A71c883fFb298655fB22C9C825",
"0x340716f8428e9A548b86ac9995621fD1e2e9d0A1", "0x340716f8428e9A548b86ac9995621fD1e2e9d0A1",
@ -1643,6 +1647,7 @@
"0x72ad1D9c892d648B39Ad54A4F00ba4EaF1413620", "0x72ad1D9c892d648B39Ad54A4F00ba4EaF1413620",
"0x72B4d10e40418a658684F34a58A983bEcb2e4A30", "0x72B4d10e40418a658684F34a58A983bEcb2e4A30",
"0x72cBAe31BC03D282BB26595fA9C0c2918A4C0CC7", "0x72cBAe31BC03D282BB26595fA9C0c2918A4C0CC7",
"0x72dD9Ec1326f5359e42f1F8e020bFc3F3de59940",
"0x72E42Cbed7b53A79bc528Ae4Ca37369182b6832b", "0x72E42Cbed7b53A79bc528Ae4Ca37369182b6832b",
"0x72F18Fe8617504AeB54D9D55A39547F4f91dA2ea", "0x72F18Fe8617504AeB54D9D55A39547F4f91dA2ea",
"0x730b306c75A1A0A50bF05b397Be377C2Af341608", "0x730b306c75A1A0A50bF05b397Be377C2Af341608",
@ -1764,6 +1769,7 @@
"0x7a50cbe52ad327fF7B2692d5575260202EdcEa1E", "0x7a50cbe52ad327fF7B2692d5575260202EdcEa1E",
"0x7a5DaB48EC20725c226DF4A1Df7f151834E1D53e", "0x7a5DaB48EC20725c226DF4A1Df7f151834E1D53e",
"0x7A8141390155a6Ed41E3437029268bDADf3852Df", "0x7A8141390155a6Ed41E3437029268bDADf3852Df",
"0x7a87c17c7C9fEAf32db3d944Ec1c2353C082D3E6",
"0x7A8ffbEdAe7CE168819fAAdEE77333f96F88a763", "0x7A8ffbEdAe7CE168819fAAdEE77333f96F88a763",
"0x7aA4b6272f22755Dfbc00Dc8342046cF5F90Bd0b", "0x7aA4b6272f22755Dfbc00Dc8342046cF5F90Bd0b",
"0x7AA90aCD5D6e86000d88AD9B180215FAeB480663", "0x7AA90aCD5D6e86000d88AD9B180215FAeB480663",
@ -2045,6 +2051,7 @@
"0x8d604EC183903dcd52A3aF17dcc52bdF1CD5bc24", "0x8d604EC183903dcd52A3aF17dcc52bdF1CD5bc24",
"0x8D6B9ef7A8f7D7959Bf3eF50FbC7Be0766E4070a", "0x8D6B9ef7A8f7D7959Bf3eF50FbC7Be0766E4070a",
"0x8d7dd7B604b4e0A8Dd3Cc343522cAA2Aa426e6E7", "0x8d7dd7B604b4e0A8Dd3Cc343522cAA2Aa426e6E7",
"0x8d8AbB4Dc065BBD45b7Ddb281DdF17e94d66b7dC",
"0x8D8b7FDf074AB27DBe6dB9a9028cEE5867CF39f6", "0x8D8b7FDf074AB27DBe6dB9a9028cEE5867CF39f6",
"0x8D9588C080e7BbF2c0aB00337844F252F851bF85", "0x8D9588C080e7BbF2c0aB00337844F252F851bF85",
"0x8dc3be37a1D83A174A4d417980BCB455e347BA65", "0x8dc3be37a1D83A174A4d417980BCB455e347BA65",
@ -2066,6 +2073,7 @@
"0x8f5f964F3B38282e6A3d16B5a14DA0fa1b1c4A3B", "0x8f5f964F3B38282e6A3d16B5a14DA0fa1b1c4A3B",
"0x8F6a88E38B6Bb281BE548AcD5b6aD546C433C3D5", "0x8F6a88E38B6Bb281BE548AcD5b6aD546C433C3D5",
"0x8F941cdDfbe9bb155F284E771270985a1fEa98f3", "0x8F941cdDfbe9bb155F284E771270985a1fEa98f3",
"0x8F9bfe5b6A5C3fEa8c64ad41a5Cf6f60Ec4aa47c",
"0x8fA51B94d32D138aaa44EE43A6F9e5e2868aEe9f", "0x8fA51B94d32D138aaa44EE43A6F9e5e2868aEe9f",
"0x8FAd0E0813D549f72db329e3b34649DdC76acDdA", "0x8FAd0E0813D549f72db329e3b34649DdC76acDdA",
"0x8fae5fE2b7ADc264B1Fb55f77b553Af480AAD185", "0x8fae5fE2b7ADc264B1Fb55f77b553Af480AAD185",
@ -2234,6 +2242,7 @@
"0x99ef076804ce6076Dd98205A9417C50D728Bc1f6", "0x99ef076804ce6076Dd98205A9417C50D728Bc1f6",
"0x9a1F116665C6625C3AE024ebfEcEDF4Aac061814", "0x9a1F116665C6625C3AE024ebfEcEDF4Aac061814",
"0x9A2B38227b28ddd7d683F1801DD43444C090867b", "0x9A2B38227b28ddd7d683F1801DD43444C090867b",
"0x9a5CFE95919e86308737059076784dB1b1f8Fc28",
"0x9a88c80aa2F73F4B9687CaD5E076A225bc43EcDf", "0x9a88c80aa2F73F4B9687CaD5E076A225bc43EcDf",
"0x9A9dbffF8923d43d770566fAe1e39b34Ba9a1C35", "0x9A9dbffF8923d43d770566fAe1e39b34Ba9a1C35",
"0x9Aa004F140B8358B8593F9379CD323d1043b97e5", "0x9Aa004F140B8358B8593F9379CD323d1043b97e5",
@ -2523,6 +2532,7 @@
"0xAE564767D77D825d645148858FCcaACab4032f2a", "0xAE564767D77D825d645148858FCcaACab4032f2a",
"0xAe611aC177dD1D253482D437E4cBb3ee6010251C", "0xAe611aC177dD1D253482D437E4cBb3ee6010251C",
"0xaE6E071De3B277952b56CB7fc1b5C7cB02D5B4a9", "0xaE6E071De3B277952b56CB7fc1b5C7cB02D5B4a9",
"0xae79Cf9362b289036797828044fA2e541762b394",
"0xaE8bf6E600C6833182Ba2e1d90615d0eD6dB398f", "0xaE8bf6E600C6833182Ba2e1d90615d0eD6dB398f",
"0xAE8ca95A969f9738Dfbdb3957647c735e436Ff23", "0xAE8ca95A969f9738Dfbdb3957647c735e436Ff23",
"0xae90e0F7F3f2191B17b1816dFA8C5Ce8e049DC96", "0xae90e0F7F3f2191B17b1816dFA8C5Ce8e049DC96",
@ -2548,6 +2558,7 @@
"0xaF7D37EFb8fE7198Ed55Cb5254EF0B357DB6049F", "0xaF7D37EFb8fE7198Ed55Cb5254EF0B357DB6049F",
"0xAfd614849563975b249e65551Cd2e8f53B410c80", "0xAfd614849563975b249e65551Cd2e8f53B410c80",
"0xaFE8BD57DEC343279Ec0f628813DAF2DF18e0A70", "0xaFE8BD57DEC343279Ec0f628813DAF2DF18e0A70",
"0xb00707bF77c74C3f1CE899B230b9f0ACDD7FE6e2",
"0xb0083C29f9Aa3a04cd60d61e5ffA1C7297015D31", "0xb0083C29f9Aa3a04cd60d61e5ffA1C7297015D31",
"0xB0114bbDCe17e0AF91b2Be32916a1e236cf6034F", "0xB0114bbDCe17e0AF91b2Be32916a1e236cf6034F",
"0xb0192a32D80e9CfBe8b054664968A6B61de56E57", "0xb0192a32D80e9CfBe8b054664968A6B61de56E57",
@ -2810,6 +2821,7 @@
"0xC0eB2d33B7405F1337B18cdeA06E62AD6564D1d6", "0xC0eB2d33B7405F1337B18cdeA06E62AD6564D1d6",
"0xc0F2c2bC8C066cA7B218F781A6741ba6b50FF5D8", "0xc0F2c2bC8C066cA7B218F781A6741ba6b50FF5D8",
"0xc1013ACD27091812F32b59E1D28F08Ad502dAC92", "0xc1013ACD27091812F32b59E1D28F08Ad502dAC92",
"0xC11135Fbdd294b88Ba50bD7c34D072cbbA0B95f3",
"0xC141140E34Ebf78921FE4F721fB89A1f360dF83C", "0xC141140E34Ebf78921FE4F721fB89A1f360dF83C",
"0xC152537E5AC59De776Ea2B50FfC53A61DeCe0e16", "0xC152537E5AC59De776Ea2B50FfC53A61DeCe0e16",
"0xc161A7c391BE6f0B1fDc4192a11560bf8d3066f2", "0xc161A7c391BE6f0B1fDc4192a11560bf8d3066f2",
@ -2876,6 +2888,7 @@
"0xc51c6f6A9692F12D6F611ACdd74eA9273C1e32fE", "0xc51c6f6A9692F12D6F611ACdd74eA9273C1e32fE",
"0xC54a73fe64Cebc165637381639e8578e7e7000bc", "0xC54a73fe64Cebc165637381639e8578e7e7000bc",
"0xC552A1c458002b5C13f76aC08d06Fe0A6C56C022", "0xC552A1c458002b5C13f76aC08d06Fe0A6C56C022",
"0xc55aBAa80EC522c07b3df6F8Abb6438d3a23Aa45",
"0xc563b7d10c04C1E1FfccbFA31cB3D67b9698Aa8A", "0xc563b7d10c04C1E1FfccbFA31cB3D67b9698Aa8A",
"0xc569b368D2F6Ce6aE819CaDDEDFd95dCe3390d51", "0xc569b368D2F6Ce6aE819CaDDEDFd95dCe3390d51",
"0xc5719917b5Dc935CdfC26FeC8F3a64b01f6DC220", "0xc5719917b5Dc935CdfC26FeC8F3a64b01f6DC220",
@ -2903,6 +2916,7 @@
"0xC6a6fc4BdB74E68AeC4E90bc344244a69b41BdeF", "0xC6a6fc4BdB74E68AeC4E90bc344244a69b41BdeF",
"0xC6EebD4a45a8Ff06C7e26365ddE2C0DfC488da36", "0xC6EebD4a45a8Ff06C7e26365ddE2C0DfC488da36",
"0xC6F2e513cf0930F890C4aBD265Fa444262958732", "0xC6F2e513cf0930F890C4aBD265Fa444262958732",
"0xc6fA78cF7B830024DC2234b25a8C0c2079bdFCD3",
"0xc6ff88aeDBEbD082505C37e78d07967bE30FF8a5", "0xc6ff88aeDBEbD082505C37e78d07967bE30FF8a5",
"0xc6ffD2c7A0ed8FD28b65bE58F4129D176E1a991D", "0xc6ffD2c7A0ed8FD28b65bE58F4129D176E1a991D",
"0xc7016d35491e7639A86bBb5a9bdFdD052522E49c", "0xc7016d35491e7639A86bBb5a9bdFdD052522E49c",
@ -2946,6 +2960,7 @@
"0xC9775Bcd7084a0892aC46eE81D6D8d8D1BadB39C", "0xC9775Bcd7084a0892aC46eE81D6D8d8D1BadB39C",
"0xc9795e6f22F5e10Bbb68603929B8C93293f6a567", "0xc9795e6f22F5e10Bbb68603929B8C93293f6a567",
"0xc99004e6a71E8f982A71adF54F456c9D1dbE755e", "0xc99004e6a71E8f982A71adF54F456c9D1dbE755e",
"0xC9A1757A52F2E87A2144c8b8Ec9CB075C8b50B35",
"0xc9A954C5A302C45D87CC07efb1259Fb3DaD99ffC", "0xc9A954C5A302C45D87CC07efb1259Fb3DaD99ffC",
"0xC9aEf2B4F0Ca7cBb9a8BeB1b7618Ed33978060B0", "0xC9aEf2B4F0Ca7cBb9a8BeB1b7618Ed33978060B0",
"0xC9b59D99Bc30B840C9F743f9233D45040342b5d0", "0xC9b59D99Bc30B840C9F743f9233D45040342b5d0",
@ -3120,6 +3135,7 @@
"0xD58412DdB3A0A036aaB68DcfEd34B01C554FfC0d", "0xD58412DdB3A0A036aaB68DcfEd34B01C554FfC0d",
"0xD5Bb0bFE5fcE8434B4f56cf7cD4109305A52fbBB", "0xD5Bb0bFE5fcE8434B4f56cf7cD4109305A52fbBB",
"0xD5bcD95f75cE7E1c567dea3b4BC45fA519713024", "0xD5bcD95f75cE7E1c567dea3b4BC45fA519713024",
"0xd5dad1DB7F112037c0c6Cf0792dc2a7866Bfd136",
"0xD5F80394F854571Af04B7c823fAfA8E804bA673f", "0xD5F80394F854571Af04B7c823fAfA8E804bA673f",
"0xd6076EFe1E577Deec21afab6eD383b47E9D8DEc6", "0xd6076EFe1E577Deec21afab6eD383b47E9D8DEc6",
"0xd6122c4b53738Db5BB3b1f526d707836CE6C0699", "0xd6122c4b53738Db5BB3b1f526d707836CE6C0699",
@ -3689,6 +3705,7 @@
"0xFC16EDB70ca7F8A0C2D0571BCf59dF8Ad3E49d82", "0xFC16EDB70ca7F8A0C2D0571BCf59dF8Ad3E49d82",
"0xfC310e8b76BB01d94fBBBC6c808cC5bCCEC4673c", "0xfC310e8b76BB01d94fBBBC6c808cC5bCCEC4673c",
"0xFc364253C4485b5f5cB57E3B10CB051D5d37540b", "0xFc364253C4485b5f5cB57E3B10CB051D5d37540b",
"0xFC3D514AC7ec6371A5c389c5A9D4a69A6736C0AE",
"0xFC513B192a0aB1abcF66E2844511f1BeA01ceB02", "0xFC513B192a0aB1abcF66E2844511f1BeA01ceB02",
"0xFC5ac566CAD80b5C117eE9b896c80476973c9F00", "0xFC5ac566CAD80b5C117eE9b896c80476973c9F00",
"0xfC80960B59e9DFa70D192FD3689B5Fb8D80a7485", "0xfC80960B59e9DFa70D192FD3689B5Fb8D80a7485",

View File

@ -469,7 +469,6 @@
"0x186a33d4dBcd700086A26188DcB74E69bE463665", "0x186a33d4dBcd700086A26188DcB74E69bE463665",
"0x1876c969027b4A4f95937e93E0Db2Ac2dE152009", "0x1876c969027b4A4f95937e93E0Db2Ac2dE152009",
"0x187abED6d17529E921aed5Dda458389e3d1c594b", "0x187abED6d17529E921aed5Dda458389e3d1c594b",
"0x187C4B0e3819017a5cf07af81A4E2b16166aAbc6",
"0x187D1018E8ef879BE4194d6eD7590987463eAD85", "0x187D1018E8ef879BE4194d6eD7590987463eAD85",
"0x18C525cce3ad9A48D82F91B874754be78E9d0F85", "0x18C525cce3ad9A48D82F91B874754be78E9d0F85",
"0x18d3Adac07900c2507461749BE70543116C73594", "0x18d3Adac07900c2507461749BE70543116C73594",
@ -503,6 +502,7 @@
"0x1A14b6dEB14Ff8eA9c101262A200bA1CEE136297", "0x1A14b6dEB14Ff8eA9c101262A200bA1CEE136297",
"0x1a2277C83930b7a64C3e3D5544Eaa8C4f946B1B7", "0x1a2277C83930b7a64C3e3D5544Eaa8C4f946B1B7",
"0x1a2d7C2b22a0b6Ce314dCbC30aC236303303defA", "0x1a2d7C2b22a0b6Ce314dCbC30aC236303303defA",
"0x1A3496C18d558bd9C6C8f609E1B129f67AB08163",
"0x1A4743Cf1af4C289351390A2B3fe7c13D2F7C235", "0x1A4743Cf1af4C289351390A2B3fe7c13D2F7C235",
"0x1A4E76811D9C319A953EADa36f1DeF25156C8D93", "0x1A4E76811D9C319A953EADa36f1DeF25156C8D93",
"0x1A5F9352Af8aF974bFC03399e3767DF6370d82e4", "0x1A5F9352Af8aF974bFC03399e3767DF6370d82e4",
@ -907,6 +907,7 @@
"0x2d3B86234A16a1D558945c6f9C5eb2443275A4f2", "0x2d3B86234A16a1D558945c6f9C5eb2443275A4f2",
"0x2D3E7D4870a51b918919E7B851FE19983E4c38d5", "0x2D3E7D4870a51b918919E7B851FE19983E4c38d5",
"0x2D476A9126D2D4135fB310aCF029F9aAcD4f85a2", "0x2D476A9126D2D4135fB310aCF029F9aAcD4f85a2",
"0x2d71983E810B9e95258966B9c164C4d61a829bA9",
"0x2D8c4F0a1074F9895581b7aa509Bc361fe01F01b", "0x2D8c4F0a1074F9895581b7aa509Bc361fe01F01b",
"0x2d9765a94FF22e0CA3AfC3E3F4B116dE2b67582a", "0x2d9765a94FF22e0CA3AfC3E3F4B116dE2b67582a",
"0x2Da95f7e0093CE7DC9D9BA5f47b655108754B342", "0x2Da95f7e0093CE7DC9D9BA5f47b655108754B342",
@ -929,6 +930,7 @@
"0x2ecB13A8c458c379c4d9a7259e202De03c8F3D19", "0x2ecB13A8c458c379c4d9a7259e202De03c8F3D19",
"0x2Ed07A2fCaEDe25871c4814e1361fc20353F40B3", "0x2Ed07A2fCaEDe25871c4814e1361fc20353F40B3",
"0x2Ef27BF41236bD859a95209e17a43Fbd26851f92", "0x2Ef27BF41236bD859a95209e17a43Fbd26851f92",
"0x2ef52Ed7De8c5ce03a4eF0efbe9B7450F2D7Edc9",
"0x2F141Ce366a2462f02cEA3D12CF93E4DCa49e4Fd", "0x2F141Ce366a2462f02cEA3D12CF93E4DCa49e4Fd",
"0x2f44A61c7d404CFc8eCb622bBBb130e56Ba786D9", "0x2f44A61c7d404CFc8eCb622bBBb130e56Ba786D9",
"0x2f5e2c9002C058c063d21A06B6cabb50950130c8", "0x2f5e2c9002C058c063d21A06B6cabb50950130c8",
@ -1021,6 +1023,7 @@
"0x33DCd369d697132dE252884336225DE31fB474b2", "0x33DCd369d697132dE252884336225DE31fB474b2",
"0x33f90Dee07c6E8B9682dD20F73E6C358B2ED0f03", "0x33f90Dee07c6E8B9682dD20F73E6C358B2ED0f03",
"0x340D2bdE5Eb28c1eed91B2f790723E3B160613B7", "0x340D2bdE5Eb28c1eed91B2f790723E3B160613B7",
"0x340eF83Ec8560892168D4062720F030460468656",
"0x341139ab9D4b7b1e6c76801aEB0da3e23E4C453e", "0x341139ab9D4b7b1e6c76801aEB0da3e23E4C453e",
"0x3414BEC8aC9b323008b511De2E91d979183B46f5", "0x3414BEC8aC9b323008b511De2E91d979183B46f5",
"0x34364BEe11607b1963d66BCA665FDE93fCA666a8", "0x34364BEe11607b1963d66BCA665FDE93fCA666a8",
@ -1148,6 +1151,7 @@
"0x3AFA1902b1f8a802aBC18e5aD982D1bCd34AfE22", "0x3AFA1902b1f8a802aBC18e5aD982D1bCd34AfE22",
"0x3afe25a2739B5C2E08CFec439F9621D91Ff7FBFb", "0x3afe25a2739B5C2E08CFec439F9621D91Ff7FBFb",
"0x3aFe47A46289B8eE2597ef8d8Ce7BEbF0f64172E", "0x3aFe47A46289B8eE2597ef8d8Ce7BEbF0f64172E",
"0x3aFfCCa64c2A6f4e3B6Bd9c64CD2C969EFd1ECBe",
"0x3b16fB80Ab6Ac8562203F3913f58ee0c4DFc08B8", "0x3b16fB80Ab6Ac8562203F3913f58ee0c4DFc08B8",
"0x3b2f94C251c2CCcB7ad16a68F040A220CC2bDD72", "0x3b2f94C251c2CCcB7ad16a68F040A220CC2bDD72",
"0x3B3f859ab4CebB73c3043b99c33719052265E1E7", "0x3B3f859ab4CebB73c3043b99c33719052265E1E7",
@ -1481,6 +1485,7 @@
"0x4c4c62A08eb49404aB85f3b4A0d6560488f2E216", "0x4c4c62A08eb49404aB85f3b4A0d6560488f2E216",
"0x4c5601164e2048a4154DE91Fa5e0B07E626CaB7F", "0x4c5601164e2048a4154DE91Fa5e0B07E626CaB7F",
"0x4C596Bd86789D5347319E15Aedaf740b3D34aB91", "0x4C596Bd86789D5347319E15Aedaf740b3D34aB91",
"0x4C6584dDCdFaB7110c7b1bE47749Bde8edc9c0c9",
"0x4C791117248aBfE101b604F5269FFD9bE794467D", "0x4C791117248aBfE101b604F5269FFD9bE794467D",
"0x4C7Bc4D7c5e2eD2F14f8722b7Ded6c615d578C1e", "0x4C7Bc4D7c5e2eD2F14f8722b7Ded6c615d578C1e",
"0x4cA16BF196440310d6dBe693758210Ca1338e011", "0x4cA16BF196440310d6dBe693758210Ca1338e011",
@ -2074,6 +2079,7 @@
"0x6B2bAB5E4b9Bc9592636c16bC4e5e07eF076cD6d", "0x6B2bAB5E4b9Bc9592636c16bC4e5e07eF076cD6d",
"0x6b414584f7DD3750a0D61b4b8692242A7dEBee06", "0x6b414584f7DD3750a0D61b4b8692242A7dEBee06",
"0x6b4689E4514957699eDeB2Ee91C947F18E439806", "0x6b4689E4514957699eDeB2Ee91C947F18E439806",
"0x6b74Dd5d01f8320081247F5CF1F7a48324700Db6",
"0x6b9F1F092E0B10015a4391A80cD3E6B6cefD1728", "0x6b9F1F092E0B10015a4391A80cD3E6B6cefD1728",
"0x6Ba460AB75Cd2c56343b3517ffeBA60748654D26", "0x6Ba460AB75Cd2c56343b3517ffeBA60748654D26",
"0x6baf7FcEA90B0968dc5eD7B8dCB76C986637Ff55", "0x6baf7FcEA90B0968dc5eD7B8dCB76C986637Ff55",
@ -2702,7 +2708,6 @@
"0x8f7b0B40E27E357540F90f187d90CE06366aC5A5", "0x8f7b0B40E27E357540F90f187d90CE06366aC5A5",
"0x8f8221aFbB33998d8584A2B05749bA73c37a938a", "0x8f8221aFbB33998d8584A2B05749bA73c37a938a",
"0x8F8e787989BC652eeA01A6C88a19f0f379BDF4FD", "0x8F8e787989BC652eeA01A6C88a19f0f379BDF4FD",
"0x8F9bfe5b6A5C3fEa8c64ad41a5Cf6f60Ec4aa47c",
"0x8fa1323590032461997eEb4E1b3F918C186b7843", "0x8fa1323590032461997eEb4E1b3F918C186b7843",
"0x8fa1a491f55D93bD40ff023956261f2fB5047297", "0x8fa1a491f55D93bD40ff023956261f2fB5047297",
"0x8FAF0be1465B9bE70eE73d9123B2A1fDD9F2AAe4", "0x8FAF0be1465B9bE70eE73d9123B2A1fDD9F2AAe4",
@ -3902,6 +3907,7 @@
"0xd30581895B8320c356aFc6f80B07dfB468a65b69", "0xd30581895B8320c356aFc6f80B07dfB468a65b69",
"0xd30a2e9347Ad48Ea208ee563a9CdfD80E962a727", "0xd30a2e9347Ad48Ea208ee563a9CdfD80E962a727",
"0xd31695a1d35E489252CE57b129FD4b1B05E6AcaC", "0xd31695a1d35E489252CE57b129FD4b1B05E6AcaC",
"0xd321Ca7Cd7A233483b8CD5a11a89E9337e70Df84",
"0xd340Bc93d2cf0df662347E6D72eaf6174C613A3C", "0xd340Bc93d2cf0df662347E6D72eaf6174C613A3C",
"0xd341d1680Eeee3255b8C4c75bCCE7EB57f144dAe", "0xd341d1680Eeee3255b8C4c75bCCE7EB57f144dAe",
"0xd3516ecB852037a33bAD2372D52b638D6D534516", "0xd3516ecB852037a33bAD2372D52b638D6D534516",
@ -3944,7 +3950,6 @@
"0xD581D38a7303b6DeA5828906acFDe416EE85dEE0", "0xD581D38a7303b6DeA5828906acFDe416EE85dEE0",
"0xD59f53256AdDf282aa1D5e19f934738dDC06c5cF", "0xD59f53256AdDf282aa1D5e19f934738dDC06c5cF",
"0xd5Cfa997a1052464e4B9Af462f9D5facE9b1f730", "0xd5Cfa997a1052464e4B9Af462f9D5facE9b1f730",
"0xd5dad1DB7F112037c0c6Cf0792dc2a7866Bfd136",
"0xD5DE9AAE27C94AE7c20bE926D193289B5f41EA8A", "0xD5DE9AAE27C94AE7c20bE926D193289B5f41EA8A",
"0xD5E38d2Ef4aD5e38942E6234e2CEC0dac38E124A", "0xD5E38d2Ef4aD5e38942E6234e2CEC0dac38E124A",
"0xd5f788ca0de8f17cBDe1D1E35aA8F005A87fa00b", "0xd5f788ca0de8f17cBDe1D1E35aA8F005A87fa00b",

View File

@ -408,6 +408,11 @@
"token_id": "0x4DF812F6064def1e5e029f1ca858777CC98D2D81", "token_id": "0x4DF812F6064def1e5e029f1ca858777CC98D2D81",
"id": 895 "id": 895
}, },
{
"coin": 55,
"type": "coin",
"id": 911
},
{ {
"coin": 36, "coin": 36,
"type": "coin", "type": "coin",
@ -1857,7 +1862,7 @@
{ {
"coin": 60, "coin": 60,
"type": "token", "type": "token",
"token_id": "0x48f775EFBE4F5EcE6e0DF2f7b5932dF56823B990", "token_id": "0x2ef52Ed7De8c5ce03a4eF0efbe9B7450F2D7Edc9",
"id": 2135 "id": 2135
}, },
{ {
@ -6480,7 +6485,7 @@
{ {
"coin": 60, "coin": 60,
"type": "token", "type": "token",
"token_id": "0xd5dad1DB7F112037c0c6Cf0792dc2a7866Bfd136", "token_id": "0x340eF83Ec8560892168D4062720F030460468656",
"id": 3589 "id": 3589
}, },
{ {
@ -7633,7 +7638,7 @@
{ {
"coin": 60, "coin": 60,
"type": "token", "type": "token",
"token_id": "0x187C4B0e3819017a5cf07af81A4E2b16166aAbc6", "token_id": "0x2d71983E810B9e95258966B9c164C4d61a829bA9",
"id": 3886 "id": 3886
}, },
{ {
@ -9388,7 +9393,7 @@
{ {
"coin": 60, "coin": 60,
"type": "token", "type": "token",
"token_id": "0x8F9bfe5b6A5C3fEa8c64ad41a5Cf6f60Ec4aa47c", "token_id": "0x810908B285f85Af668F6348cD8B26D76B3EC12e1",
"id": 4797 "id": 4797
}, },
{ {
@ -9903,6 +9908,12 @@
"token_id": "0x6E5a43DB10b04701385A34afb670E404bC7Ea597", "token_id": "0x6E5a43DB10b04701385A34afb670E404bC7Ea597",
"id": 5072 "id": 5072
}, },
{
"coin": 60,
"type": "token",
"token_id": "0x6b74Dd5d01f8320081247F5CF1F7a48324700Db6",
"id": 5074
},
{ {
"coin": 60, "coin": 60,
"type": "token", "type": "token",
@ -10371,6 +10382,12 @@
"token_id": "0x08Aa0ed0040736dd28d4c8B16Ab453b368248d19", "token_id": "0x08Aa0ed0040736dd28d4c8B16Ab453b368248d19",
"id": 5363 "id": 5363
}, },
{
"coin": 60,
"type": "token",
"token_id": "0x916885426255235DA7a0BD90447986c00675f9EC",
"id": 5366
},
{ {
"coin": 60, "coin": 60,
"type": "token", "type": "token",
@ -10496,6 +10513,12 @@
"token_id": "0x24FB4C36a83cbDbCd670856406f622E09A643d4d", "token_id": "0x24FB4C36a83cbDbCd670856406f622E09A643d4d",
"id": 5422 "id": 5422
}, },
{
"coin": 60,
"type": "token",
"token_id": "0x3aFfCCa64c2A6f4e3B6Bd9c64CD2C969EFd1ECBe",
"id": 5423
},
{ {
"coin": 60, "coin": 60,
"type": "token", "type": "token",
@ -10507,5 +10530,22 @@
"type": "token", "type": "token",
"token_id": "0x27201232579491Ce9b116Ac6F37D354Cc723A2f3", "token_id": "0x27201232579491Ce9b116Ac6F37D354Cc723A2f3",
"id": 5425 "id": 5425
},
{
"coin": 501,
"type": "coin",
"id": 5426
},
{
"coin": 60,
"type": "token",
"token_id": "0xd321Ca7Cd7A233483b8CD5a11a89E9337e70Df84",
"id": 5428
},
{
"coin": 60,
"type": "token",
"token_id": "0x1A3496C18d558bd9C6C8f609E1B129f67AB08163",
"id": 5429
} }
] ]

View File

@ -11,9 +11,9 @@ import {
getChainAssetsPath, getChainAssetsPath,
isPathExistsSync isPathExistsSync
} from "../src/test/helpers" } from "../src/test/helpers"
import { InfoList } from "../src/test/models"; import { CoinInfoList } from "../src/test/models";
const dafaultInfoTemplate: InfoList = const dafaultInfoTemplate: CoinInfoList =
{ {
"name": "", "name": "",
"website": "", "website": "",
@ -80,6 +80,6 @@ export function getHandle(url: string): string {
return url.slice(url.lastIndexOf("/") + 1, url.length) return url.slice(url.lastIndexOf("/") + 1, url.length)
} }
function writeToInfo(path: string, info: InfoList) { function writeToInfo(path: string, info: CoinInfoList) {
writeFileSync(path, JSON.stringify(info, null, 4)) writeFileSync(path, JSON.stringify(info, null, 4))
} }

View File

@ -3,28 +3,30 @@ import { getOpenseaCollectionAddresses } from "./opesea_contrats"
import { import {
Ethereum, Terra, Tron, Ethereum, Terra, Tron,
getChainAssetsPath, getChainAssetInfoPath,
getChainAssetsList,
ethSidechains, ethSidechains,
readDirSync,
readFileSync,
isChainWhitelistExistSync,
isChainBlacklistExistSync,
getChainWhitelistPath,
getChainBlacklistPath, getChainBlacklistPath,
getChainValidatorsListPath, getChainValidatorsListPath,
writeFileSync, getChainWhitelistPath,
sortDesc,
getUnique, getUnique,
isChainAssetInfoExistSync,
isChainBlacklistExistSync,
isChainWhitelistExistSync,
mapList, mapList,
stakingChains readFileSync,
sortDesc,
stakingChains,
writeFileSync,
} from '../src/test/helpers' } from '../src/test/helpers'
formatWhiteBlackList() formatWhiteBlackList()
formatValidators() formatValidators()
formatInfo()
function formatWhiteBlackList() { function formatWhiteBlackList() {
ethSidechains.concat(Tron, Terra).forEach(async chain => { ethSidechains.concat(Tron, Terra).forEach(async chain => {
const assets = readDirSync(getChainAssetsPath(chain)) const assets = getChainAssetsList(chain)
const whitelistPath = getChainWhitelistPath(chain) const whitelistPath = getChainWhitelistPath(chain)
const blacklistPath = getChainBlacklistPath(chain) const blacklistPath = getChainBlacklistPath(chain)
@ -70,6 +72,19 @@ function formatValidators() {
}) })
} }
function formatInfo() {
ethSidechains.forEach(chain => {
const chainAssets = getChainAssetsList(chain)
chainAssets.forEach(address => {
if (isChainAssetInfoExistSync(chain, address)) {
const chainAssetInfoPath = getChainAssetInfoPath(chain, address)
const currentAssetInfo = JSON.parse(readFileSync(chainAssetInfoPath))
fs.writeFileSync(chainAssetInfoPath, JSON.stringify(currentAssetInfo, null, 4))
}
})
})
}
function getRemovedAddressesFromAssets(assets: string[], whiteList: string[]): string[] { function getRemovedAddressesFromAssets(assets: string[], whiteList: string[]): string[] {
const mappedAssets = mapList(assets) const mappedAssets = mapList(assets)
const removed = whiteList.filter(a => !mappedAssets.hasOwnProperty(a)) const removed = whiteList.filter(a => !mappedAssets.hasOwnProperty(a))

View File

@ -7,6 +7,7 @@ const web3 = new Web3('ws://localhost:8546');
import { CoinTypeUtils, CoinType } from "@trustwallet/types"; import { CoinTypeUtils, CoinType } from "@trustwallet/types";
const sizeOf = require("image-size"); const sizeOf = require("image-size");
const { execSync } = require('child_process'); const { execSync } = require('child_process');
import { AssetInfo } from "../../src/test/models";
export const getChainName = (id: CoinType): string => CoinTypeUtils.id(id) // 60 => ethereum export const getChainName = (id: CoinType): string => CoinTypeUtils.id(id) // 60 => ethereum
export const Binance = getChainName(CoinType.binance) export const Binance = getChainName(CoinType.binance)
@ -57,6 +58,7 @@ export const maxLogoHeight = 512
export const getChainAssetPath = (chain: string, address: string) => `${getChainAssetsPath(chain)}/${address}` export const getChainAssetPath = (chain: string, address: string) => `${getChainAssetsPath(chain)}/${address}`
export const getChainAssetLogoPath = (chain: string, address: string) => `${getChainAssetsPath(chain)}/${address}/${logo}` export const getChainAssetLogoPath = (chain: string, address: string) => `${getChainAssetsPath(chain)}/${address}/${logo}`
export const getChainAssetFilesList = (chain: string, address: string) => readDirSync(getChainAssetPath(chain, address)) export const getChainAssetFilesList = (chain: string, address: string) => readDirSync(getChainAssetPath(chain, address))
export const getChainAssetsList = (chain: string): string[] => readDirSync(getChainAssetsPath(chain))
export const getChainValidatorsPath = (chain: string): string => `${chainsFolderPath}/${chain}/validators` export const getChainValidatorsPath = (chain: string): string => `${chainsFolderPath}/${chain}/validators`
export const getChainValidatorsAssets = (chain: string): string[] => readDirSync(getChainValidatorsAssetsPath(chain)) export const getChainValidatorsAssets = (chain: string): string[] => readDirSync(getChainValidatorsAssetsPath(chain))
export const getChainValidatorsListPath = (chain: string): string => `${(getChainValidatorsPath(chain))}/list.${jsonExtension}` export const getChainValidatorsListPath = (chain: string): string => `${(getChainValidatorsPath(chain))}/list.${jsonExtension}`
@ -83,6 +85,7 @@ export const isPathExistsSync = (path: string): boolean => fs.existsSync(path)
export const isChainWhitelistExistSync = (chain: string): boolean => isPathExistsSync(getChainWhitelistPath(chain)) export const isChainWhitelistExistSync = (chain: string): boolean => isPathExistsSync(getChainWhitelistPath(chain))
export const isChainBlacklistExistSync = (chain: string): boolean => isPathExistsSync(getChainBlacklistPath(chain)) export const isChainBlacklistExistSync = (chain: string): boolean => isPathExistsSync(getChainBlacklistPath(chain))
export const isChainInfoExistSync = (chain: string): boolean => isPathExistsSync(getChainInfoPath(chain)) export const isChainInfoExistSync = (chain: string): boolean => isPathExistsSync(getChainInfoPath(chain))
export const isChainAssetInfoExistSync = (chain: string, address: string) => isPathExistsSync(getChainAssetInfoPath(chain, address))
export const readFileSync = (path: string) => fs.readFileSync(path, 'utf8') export const readFileSync = (path: string) => fs.readFileSync(path, 'utf8')
export const writeFileSync = (path: string, str: string) => fs.writeFileSync(path, str) export const writeFileSync = (path: string, str: string) => fs.writeFileSync(path, str)
@ -90,7 +93,7 @@ export const isLowerCase = (str: string): boolean => str.toLowerCase() === str
export const isUpperCase = (str: string): boolean => str.toUpperCase() === str export const isUpperCase = (str: string): boolean => str.toUpperCase() === str
export const isChecksum = (address: string): boolean => web3.utils.checkAddressChecksum(address) export const isChecksum = (address: string): boolean => web3.utils.checkAddressChecksum(address)
export const toChecksum = (address: string): string => web3.utils.toChecksumAddress(address) export const toChecksum = (address: string): string => web3.utils.toChecksumAddress(address)
export const getBinanceBEP2Symbols = async () => axios.get(`https://dex-atlantic.binance.org/api/v1/tokens?limit=1000`).then(res => res.data.map(({symbol}) => symbol)) export const getBinanceBEP2Symbols = async () => axios.get(`https://dex-atlantic.binance.org/api/v1/tokens?limit=1000`).then(res => res.data.map(({ symbol }) => symbol))
export const getFileName = (fileName: string): string => path.basename(fileName, path.extname(fileName)) export const getFileName = (fileName: string): string => path.basename(fileName, path.extname(fileName))
export const getFileExt = (name: string): string => name.slice((Math.max(0, name.lastIndexOf(".")) || Infinity) + 1) export const getFileExt = (name: string): string => name.slice((Math.max(0, name.lastIndexOf(".")) || Infinity) + 1)
@ -204,6 +207,30 @@ export const isValidatorHasAllKeys = (val: ValidatorModel): boolean => {
&& typeof val.website === "string" && typeof val.website === "string"
} }
export function isAssetInfoOK(chain: string, address: string): boolean {
if (isChainAssetInfoExistSync(chain, address)) {
const assetInfoPath = getChainAssetInfoPath(chain, address)
const isInfoOK = isValidJSON(assetInfoPath)
if (isInfoOK && isAssetInfoHasAllKeys(assetInfoPath)) {
return true
}
return false
}
return true
}
export function isAssetInfoHasAllKeys(path: string): boolean {
const info: AssetInfo = JSON.parse(readFileSync(path))
const isKeysCorrentType = typeof info.explorer === "string" && info.explorer != ""
&& typeof info.name === "string" && info.name != ""
&& typeof info.website === "string"
&& typeof info.short_description === "string"
return isKeysCorrentType
}
export const rootDirAllowedFiles = [ export const rootDirAllowedFiles = [
".github", ".github",
"blockchains", "blockchains",

View File

@ -1,41 +1,43 @@
const eztz = require('eztz-lib') const eztz = require('eztz-lib')
import { import {
Binance, Cosmos, Tezos, Tron, IoTeX, Waves, Binance, Cosmos, Tezos, Tron, IoTeX, Waves, Kava, Terra,
ethSidechains, assetFolderAllowedFiles,
chainsFolderPath, chainsFolderPath,
pricingFolderPath, ethSidechains,
getChainLogoPath, findFiles,
getChainAssetsPath, getBinanceBEP2Symbols,
getChainAssetLogoPath, getChainAssetLogoPath,
getChainAssetPath,
getChainAssetsPath,
getChainBlacklistPath,
getChainLogoPath,
getChainValidatorAssetLogoPath,
getChainValidatorsAssets, getChainValidatorsAssets,
getChainValidatorsListPath, getChainValidatorsListPath,
getChainValidatorAssetLogoPath,
readDirSync,
isPathExistsSync,
readFileSync,
isLowerCase,
isChecksum,
isPathDir,
getBinanceBEP2Symbols,
isTRC10, isTRC20, isWavesAddress, isSolanaAddress,
isLogoOK,
getChainWhitelistPath, getChainWhitelistPath,
getChainBlacklistPath, getChainAssetsList,
mapList, isChecksum,
findFiles, isChainAssetInfoExistSync,
isLogoOK,
isLowerCase,
isPathDir,
isPathExistsSync,
isTRC10, isTRC20, isWavesAddress,
isValidJSON, isValidJSON,
isAssetInfoOK,
isValidatorHasAllKeys, isValidatorHasAllKeys,
getChainAssetPath, mapList,
pricingFolderPath,
readDirSync,
readFileSync,
rootDirAllowedFiles, rootDirAllowedFiles,
assetFolderAllowedFiles,
stakingChains, stakingChains,
Kava,
Terra,
Solana Solana
} from "./helpers" } from "./helpers"
import { ValidatorModel } from "./models"; import { ValidatorModel } from "./models";
import { getHandle } from "../../script/gen_info"; import { getHandle } from "../../script/gen_info";
enum TickerType { enum TickerType {
Token = "token", Token = "token",
Coin = "coin" Coin = "coin"
@ -88,24 +90,28 @@ describe(`Test "blockchains" folder`, () => {
describe("Check Ethereum side-chain folders", () => { describe("Check Ethereum side-chain folders", () => {
ethSidechains.forEach(chain => { ethSidechains.forEach(chain => {
test(`Test chain ${chain} folder`, () => { test(`Test chain ${chain} folder`, () => {
const assetsPath = getChainAssetsPath(chain)
readDirSync(assetsPath).forEach(addr => { getChainAssetsList(chain).forEach(address => {
const assetPath = getChainAssetPath(chain, addr) const assetPath = getChainAssetPath(chain, address)
expect(isPathDir(assetPath), `Expect directory at path: ${assetPath}`).toBe(true) expect(isPathDir(assetPath), `Expect directory at path: ${assetPath}`).toBe(true)
const checksum = isChecksum(addr) const checksum = isChecksum(address)
expect(checksum, `Expect asset at path ${assetPath} in checksum`).toBe(true) expect(checksum, `Expect asset at path ${assetPath} in checksum`).toBe(true)
const lowercase = isLowerCase(addr) const lowercase = isLowerCase(address)
if (lowercase) { if (lowercase) {
expect(checksum, `Lowercase address ${addr} on chain ${chain} should be in checksum`).toBe(true) expect(checksum, `Lowercase address ${address} on chain ${chain} should be in checksum`).toBe(true)
} }
const assetLogoPath = getChainAssetLogoPath(chain, addr) const assetLogoPath = getChainAssetLogoPath(chain, address)
expect(isPathExistsSync(assetLogoPath), `Missing file at path "${assetLogoPath}"`).toBe(true) expect(isPathExistsSync(assetLogoPath), `Missing file at path "${assetLogoPath}"`).toBe(true)
const [isOk, msg] = isLogoOK(assetLogoPath) const [isOk, msg] = isLogoOK(assetLogoPath)
expect(isOk, msg).toBe(true) expect(isOk, msg).toBe(true)
if (isChainAssetInfoExistSync(chain, address)) {
expect(isAssetInfoOK(chain, address), `Asset file info at path ${assetPath} is not OK`).toBe(true)
}
}) })
}) })
}) })
@ -232,13 +238,13 @@ function testWavesValidatorsAssets(assets: string[]) {
}) })
} }
function testSolanaValidatorsAssets(assets: string[]) { // function testSolanaValidatorsAssets(assets: string[]) {
test("Solana assets must have correct format", () => { // test("Solana assets must have correct format", () => {
assets.forEach(addr => { // assets.forEach(addr => {
expect(isSolanaAddress(addr), `Address ${addr} should be Solana formated`).toBe(true) // expect(isSolanaAddress(addr), `Address ${addr} should be Solana formated`).toBe(true)
}) // })
}) // })
} // }
function testCosmosValidatorsAddress(assets: string[]) { function testCosmosValidatorsAddress(assets: string[]) {
test("Cosmos assets must have correct format", () => { test("Cosmos assets must have correct format", () => {

View File

@ -5,7 +5,15 @@ export interface ValidatorModel {
website: string, website: string,
} }
export interface InfoList { // Minimal property requirements for asset info file
export interface AssetInfo {
explorer: string;
name: string;
short_description: string;
website: string;
}
export interface CoinInfoList {
name: string; name: string;
website: string; website: string;
source_code: string; source_code: string;