From 8b5f0a24130816d0f4680933f1e210e674dcdb54 Mon Sep 17 00:00:00 2001 From: theFlashX <36652090+theFlashXCoin@users.noreply.github.com> Date: Tue, 16 Jun 2020 11:05:18 +0800 Subject: [PATCH] Add FSXC (#2377) * Add FSXC * Add new case and move file to ethereum folder Co-authored-by: Mykola --- .../logo.png | Bin 0 -> 49720 bytes script/arrange_files.ts | 29 ++++++++++++------ src/test/helpers.ts | 1 + 3 files changed, 21 insertions(+), 9 deletions(-) create mode 100644 blockchains/ethereum/assets/0x0c2e3bbc4646c872a3F5A745D2902aFFda82C58a/logo.png diff --git a/blockchains/ethereum/assets/0x0c2e3bbc4646c872a3F5A745D2902aFFda82C58a/logo.png b/blockchains/ethereum/assets/0x0c2e3bbc4646c872a3F5A745D2902aFFda82C58a/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..e1dec32b5158b5e54050c7ae90ace00310c5ac8f GIT binary patch literal 49720 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

{1%fqCrl&!X0eyFuYIXtbTR>s6jbg=qcL-Ok*$ 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 { @@ -53,19 +54,29 @@ getRootDirFilesList().forEach(async file => { } }); -// Moves blockchains/0xXX...XX.png => assets/blockchains/ethereum/0xXX...XX/logo.png -readDirSync(chainsFolderPath).forEach(async chainFile => { - const chainPath = getChainPath(chainFile) +readDirSync(chainsFolderPath).forEach(async chainDir => { + const chainPath = getChainPath(chainDir) const isDir = isPathDir(chainPath) + const ethereumAssetsPath = getChainAssetsPath(Ethereum) + // Moves blockchains/0xXX...XX.png => assets/blockchains/ethereum/0xXX...XX/logo.png if (!isDir) { - const checksum = toChecksum(getFileName(chainFile)) - const chainAssetsPath = getChainAssetsPath(Ethereum) - - if (isChecksum(checksum) && getFileExt(chainFile).toLocaleLowerCase() === logoExtension) { - await makeDirIfDoestExist(chainAssetsPath, checksum) - const newPath = `${chainAssetsPath}/${checksum}/${logo}` + const checksum = toChecksum(getFileName(chainDir)) + + if (isChecksum(checksum) && getFileExt(chainDir).toLocaleLowerCase() === logoExtension) { + await makeDirIfDoestExist(ethereumAssetsPath, checksum) + const newPath = `${ethereumAssetsPath}/${checksum}/${logo}` fs.renameSync(chainPath, newPath) } } + + // Moves blockchains/0xXX...XX/logo.png => assets/blockchains/ethereum/0xXX...XX/logo.png + if (isDir && isDirContainLogo(chainPath)) { + const checksum = toChecksum(getFileName(chainDir)) + await makeDirIfDoestExist(ethereumAssetsPath, checksum) + const newPath = `${ethereumAssetsPath}/${checksum}` + fs.renameSync(chainPath, newPath) + } }) + + diff --git a/src/test/helpers.ts b/src/test/helpers.ts index dc79fd76a..fe199c161 100644 --- a/src/test/helpers.ts +++ b/src/test/helpers.ts @@ -92,6 +92,7 @@ export const getRootDirFilesList = (): string[] => readDirSync(root) export const readDirSync = (path: string): string[] => fs.readdirSync(path) export const makeDirSync = (path: string) => fs.mkdirSync(path) export const isPathExistsSync = (path: string): boolean => fs.existsSync(path) +export const isDirContainLogo = (path: string): boolean => fs.existsSync(`${path}/${logo}`) export const isChainWhitelistExistSync = (chain: string): boolean => isPathExistsSync(getChainWhitelistPath(chain)) export const isChainBlacklistExistSync = (chain: string): boolean => isPathExistsSync(getChainBlacklistPath(chain)) export const isChainInfoExistSync = (chain: string): boolean => isPathExistsSync(getChainInfoPath(chain))