UNPKG

@starship-ci/client

Version:
69 lines (68 loc) 2.1 kB
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';