mirror of
https://github.com/hanzonet/explore.git
synced 2026-10-30 18:16:57 +00:00
* first version of the pack * single entry point * add custom components to the package * move form components to toolkit * add more utils and hooks to the package * minor fixes * add CI workflow * update readme and package.json * fix ts * fix build of env-validator * fix docker build * fix icons size * test fixes * more test fixes
56 lines
1.9 KiB
TypeScript
56 lines
1.9 KiB
TypeScript
import type { RollupType } from 'types/client/rollup';
|
|
import type { NetworkVerificationType, NetworkVerificationTypeEnvs } from 'types/networks';
|
|
|
|
import { urlValidator } from 'toolkit/components/forms/validators/url';
|
|
|
|
import { getEnvValue, parseEnvJson } from './utils';
|
|
|
|
const DEFAULT_CURRENCY_DECIMALS = 18;
|
|
|
|
const rollupType = getEnvValue('NEXT_PUBLIC_ROLLUP_TYPE') as RollupType;
|
|
|
|
const verificationType: NetworkVerificationType = (() => {
|
|
if (rollupType === 'arbitrum') {
|
|
return 'posting';
|
|
}
|
|
if (rollupType === 'zkEvm') {
|
|
return 'sequencing';
|
|
}
|
|
return getEnvValue('NEXT_PUBLIC_NETWORK_VERIFICATION_TYPE') as NetworkVerificationTypeEnvs || 'mining';
|
|
})();
|
|
|
|
const rpcUrls = (() => {
|
|
const envValue = getEnvValue('NEXT_PUBLIC_NETWORK_RPC_URL');
|
|
const isUrl = urlValidator(envValue);
|
|
|
|
if (envValue && isUrl === true) {
|
|
return [ envValue ];
|
|
}
|
|
|
|
const parsedValue = parseEnvJson<Array<string>>(envValue);
|
|
|
|
return Array.isArray(parsedValue) ? parsedValue : [];
|
|
})();
|
|
|
|
const chain = Object.freeze({
|
|
id: getEnvValue('NEXT_PUBLIC_NETWORK_ID'),
|
|
name: getEnvValue('NEXT_PUBLIC_NETWORK_NAME'),
|
|
shortName: getEnvValue('NEXT_PUBLIC_NETWORK_SHORT_NAME'),
|
|
currency: {
|
|
name: getEnvValue('NEXT_PUBLIC_NETWORK_CURRENCY_NAME'),
|
|
weiName: getEnvValue('NEXT_PUBLIC_NETWORK_CURRENCY_WEI_NAME'),
|
|
symbol: getEnvValue('NEXT_PUBLIC_NETWORK_CURRENCY_SYMBOL'),
|
|
decimals: Number(getEnvValue('NEXT_PUBLIC_NETWORK_CURRENCY_DECIMALS')) || DEFAULT_CURRENCY_DECIMALS,
|
|
},
|
|
secondaryCoin: {
|
|
symbol: getEnvValue('NEXT_PUBLIC_NETWORK_SECONDARY_COIN_SYMBOL'),
|
|
},
|
|
hasMultipleGasCurrencies: getEnvValue('NEXT_PUBLIC_NETWORK_MULTIPLE_GAS_CURRENCIES') === 'true',
|
|
tokenStandard: getEnvValue('NEXT_PUBLIC_NETWORK_TOKEN_STANDARD_NAME') || 'ERC',
|
|
rpcUrls,
|
|
isTestnet: getEnvValue('NEXT_PUBLIC_IS_TESTNET') === 'true',
|
|
verificationType,
|
|
});
|
|
|
|
export default chain;
|