@ledgerhq/live-common
Version:
Common ground for the Ledger Live apps
185 lines (178 loc) • 3.44 kB
text/typescript
import { LiveConfig } from "@ledgerhq/live-config/LiveConfig";
import { EnvName, setEnv, setEnvUnsafe } from "@ledgerhq/live-env";
import { listen } from "@ledgerhq/logs";
import winston from "winston";
import { liveConfig } from "../../config/sharedConfig";
import { setSupportedCurrencies } from "../../currencies";
import { WALLET_API_VERSION } from "../../wallet-api/constants";
import { setWalletAPIVersion } from "../../wallet-api/version";
setWalletAPIVersion(WALLET_API_VERSION);
setSupportedCurrencies([
"aleo",
"avalanche_c_chain",
"avalanche_c_chain_fuji",
"axelar",
"stargaze",
"secret_network",
"umee",
"desmos",
"dydx",
"quicksilver",
"persistence",
"bitcoin",
"ethereum",
"bsc",
"polygon",
"polygon_amoy",
"elrond", // NOTE: legacy 'multiversx' name, kept for compatibility
"ripple",
"bitcoin_cash",
"litecoin",
"dash",
"ethereum_classic",
"tezos",
"qtum",
"zcash",
"bitcoin_gold",
"stratis",
"dogecoin",
"digibyte",
"komodo",
"zencash",
"decred",
"tron",
"stellar",
"cosmos",
"algorand",
"polkadot",
"assethub_polkadot",
"bitcoin_testnet",
"bitcoin_regtest",
"ethereum_sepolia",
"ethereum_hoodi",
"crypto_org_croeseid",
"crypto_org",
"filecoin",
"solana",
"celo",
"hedera",
"cardano",
"cardano_testnet",
"osmosis",
"filecoin",
"fantom",
"core",
"cronos",
"moonbeam",
"songbird",
"flare",
"near",
"icon",
"icon_berlin_testnet",
"optimism",
"optimism_sepolia",
"arbitrum",
"arbitrum_sepolia",
"rsk",
"bittorrent",
"energy_web",
"astar",
"metis",
"mantle",
"mantle_sepolia",
"boba",
"moonriver",
"velas_evm",
"syscoin",
"internet_computer",
"bitlayer",
"klaytn",
"klaytn_baobab",
"polygon_zk_evm",
"polygon_zk_evm_testnet",
"base",
"base_sepolia",
"stacks",
"telos_evm",
"sei_evm",
"berachain",
"hyperevm",
"coreum",
"injective",
"vechain",
"casper",
"neon_evm",
"lukso",
"linea",
"linea_sepolia",
"blast",
"blast_sepolia",
"scroll",
"scroll_sepolia",
"shape",
"story",
"ton",
"etherlink",
"zksync",
"zksync_sepolia",
"mantra",
"aptos",
"aptos_testnet",
"adi",
"xion",
"sui",
"zenrock",
"sonic",
"sonic_blaze",
"mina",
"babylon",
"canton_network",
"canton_network_devnet",
"canton_network_testnet",
"kaspa",
"monad",
"monad_testnet",
"somnia",
"zero_gravity",
"concordium",
"concordium_testnet",
"aleo",
"aleo_testnet",
"unichain",
"unichain_sepolia",
]);
LiveConfig.setConfig(liveConfig);
for (const k in process.env) setEnvUnsafe(k as EnvName, process.env[k]);
const { VERBOSE, VERBOSE_FILE } = process.env;
const logger = winston.createLogger({
level: "debug",
transports: [],
});
const { format } = winston;
const { combine, timestamp, json } = format;
const winstonFormat = combine(timestamp(), json());
if (VERBOSE_FILE) {
logger.add(
new winston.transports.File({
format: winstonFormat,
filename: VERBOSE_FILE,
level: "debug",
}),
);
}
logger.add(
new winston.transports.Console({
format: winstonFormat,
silent: !VERBOSE,
}),
);
// eslint-disable-next-line no-unused-vars
listen(({ type, message, ...rest }) => {
logger.log("debug", {
message: type + (message ? ": " + message : ""),
// $FlowFixMe
...rest,
});
});
const value = "ll-ci/0.0.0";
setEnv("LEDGER_CLIENT_VERSION", value);