mirror of
https://github.com/Instadapp/trustwallet-assets.git
synced 2024-07-29 22:37:31 +00:00
88f26b09d1
* Retrieve trading pairs from PancakeSwap. * Retrieve trading pairs from Uniswap. * Add doc link * Lint fix * Include decimals * Move binance tokenlist generation to BinanceAction. * Generate smartChain tokenlist, from base and pancakeswap pairs. * Fix array types in tokenlists.ts * Common writeToFile method, sort. * Type fixes * Revert tokenlist.json to master * Include pairs with allowlisted coins only. * Move assetID functions to common asset.ts * Use common assetID functions. * Use dynamic generation time. * Keep constant generation time; Version in tokenlist. * Count additions * Update tokenlist version and timestamp if needed before save. * No counting is needed in addXxxIfNeeded() functions. * Tokenlist timestamp: take over if previous * Update ethereum tokenlist with pairs from Uniswap. * Increase query limit to 400 pairs. * iDecimals always number, add decimal fields to Eth also. * Include only pairs with primary tokens, add pair info to primary token only. * Update base tokenlist (BSC) to current full list, in order not to remove any coins. * Update base tokenlist (ETH) to current full list, in order not to remove any coins. * Move out pair checks into common code. * Add checks for volume and txCount. * Assets tokenlist: Adjust token names for added tokens. * Move parameters to central config.ts * Nicer query string, compact * Prevent change if subgraph API fails * Reduce max limit in Pancakeswap query, with 400 often times out. * Stricter error handling * Reduce code duplication. * Minor comment * Display number of original tokens * Lint fix Co-authored-by: Catenocrypt <catenocrypt@users.noreply.github.com>
58 lines
3.3 KiB
TypeScript
58 lines
3.3 KiB
TypeScript
import * as path from "path";
|
|
import {
|
|
isPathExistsSync,
|
|
readDirSync
|
|
} from "./filesystem";
|
|
import * as config from "../config";
|
|
|
|
export const logoName = `logo`;
|
|
export const infoName = `info`;
|
|
export const listName = `list`
|
|
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}`;
|
|
const tokenListBase = `tokenlist_base.${jsonExtension}`;
|
|
export const validatorsList = `${listName}.${jsonExtension}`
|
|
|
|
export const assetFolderAllowedFiles = [logoFullName, infoFullName];
|
|
export const chainFolderAllowedFiles = [
|
|
"assets",
|
|
allowList,
|
|
denyList,
|
|
tokenList,
|
|
tokenListBase,
|
|
"validators",
|
|
infoName
|
|
]
|
|
export const chainsPath: string = path.join(process.cwd(), '/blockchains');
|
|
export const getChainPath = (chain: string): string => `${chainsPath}/${chain}`;
|
|
export const allChains = readDirSync(chainsPath);
|
|
export const getChainLogoPath = (chain: string): string => `${getChainPath(chain)}/info/${logoFullName}`;
|
|
export const getChainAssetsPath = (chain: string): string => `${getChainPath(chain)}/assets`;
|
|
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 getChainTokenlistBasePath = (chain: string): string => `${getChainPath(chain)}/${tokenListBase}`;
|
|
export const pricingFolderPath = path.join(process.cwd(), '/pricing');
|
|
|
|
export const getChainValidatorsPath = (chain: string): string => `${getChainPath(chain)}/validators`;
|
|
export const getChainValidatorsListPath = (chain: string): string => `${getChainValidatorsPath(chain)}/${validatorsList}`;
|
|
export const getChainValidatorsAssetsPath = (chain: string): string => `${getChainValidatorsPath(chain)}/assets`
|
|
export const getChainValidatorAssetLogoPath = (chain: string, asset: string): string => `${getChainValidatorsAssetsPath(chain)}/${asset}/${logoFullName}`
|
|
|
|
export const isChainAssetInfoExistSync = (chain: string, address: string): boolean => isPathExistsSync(getChainAssetInfoPath(chain, address));
|
|
|
|
export const getChainFolderFilesList = (chain: string): string[] => readDirSync(getChainPath(chain))
|
|
export const getChainAssetsList = (chain: string): string[] => readDirSync(getChainAssetsPath(chain));
|
|
export const getChainAssetFilesList = (chain: string, address: string): string[] => readDirSync(getChainAssetPath(chain, address));
|
|
export const getChainValidatorsAssets = (chain: string): string[] => readDirSync(getChainValidatorsAssetsPath(chain));
|
|
|
|
export const rootDirAllowedFiles = config.foldersRootdirAllowedFiles;
|