@starship-ci/client
Version:
Starship CI Client
69 lines (68 loc) • 2.1 kB
JavaScript
import { chainVerifiers } from './chain';
import { verifyExplorerRest } from './explorer';
import { verifyRegistryRest } from './registry';
import { relayerVerifiers } from './relayer';
export const verifyChains = async (config) => {
const results = [];
if (!config.chains) {
return results;
}
for (const chain of config.chains) {
const verifierSet = chainVerifiers[chain.name] || chainVerifiers.default;
for (const [, verifier] of Object.entries(verifierSet)) {
const result = await verifier(chain);
results.push(result);
}
}
return results;
};
export const verifyRelayers = async (config) => {
const results = [];
if (!config.relayers) {
return results;
}
for (const relayer of config.relayers) {
for (const [, verifier] of Object.entries(relayerVerifiers)) {
const result = await verifier(relayer);
results.push(result);
}
}
return results;
};
export const verifyRegistry = async (config) => {
const results = [];
if (!config.registry?.enabled) {
return results;
}
const registryResults = await Promise.all([
verifyRegistryRest(config.registry)
]);
results.push(...registryResults);
return results;
};
export const verifyExplorer = async (config) => {
const results = [];
if (!config.explorer?.enabled) {
return results;
}
const explorerResult = await verifyExplorerRest(config.explorer);
results.push(explorerResult);
return results;
};
export const verify = async (config) => {
const chainResults = await verifyChains(config);
const relayerResults = await verifyRelayers(config);
const registryResults = await verifyRegistry(config);
const explorerResults = await verifyExplorer(config);
return [
...chainResults,
...relayerResults,
...registryResults,
...explorerResults
];
};
export * from './chain';
export * from './explorer';
export * from './registry';
export * from './relayer';
export * from './types';