31 lines
760 B
TypeScript
31 lines
760 B
TypeScript
import { NETWORKS, NetworkConfig, CustomNetworkConfig } from 'config/data';
|
|
|
|
export function makeCustomNetworkId(config: CustomNetworkConfig): string {
|
|
return config.chainId ? `${config.chainId}` : `${config.name}:${config.unit}`;
|
|
}
|
|
|
|
export function makeNetworkConfigFromCustomConfig(
|
|
config: CustomNetworkConfig
|
|
): NetworkConfig {
|
|
return {
|
|
...config,
|
|
color: '#000',
|
|
tokens: [],
|
|
contracts: []
|
|
};
|
|
}
|
|
|
|
export function getNetworkConfigFromId(
|
|
id: string,
|
|
configs: CustomNetworkConfig[]
|
|
): NetworkConfig | undefined {
|
|
if (NETWORKS[id]) {
|
|
return NETWORKS[id];
|
|
}
|
|
|
|
const customConfig = configs.find(conf => makeCustomNetworkId(conf) === id);
|
|
if (customConfig) {
|
|
return makeNetworkConfigFromCustomConfig(customConfig);
|
|
}
|
|
}
|