UNPKG

@zombienet/orchestrator

Version:

ZombieNet aim to be a testing framework for substrate based blockchains, providing a simple cli tool that allow users to spawn and test ephemeral Substrate based networks

120 lines (119 loc) 3.91 kB
import { CommonParachainConfig, HrmpChannelsConfig, NodeCommonTypes, NodeConfig, ObjectJSON, Override, Parachain, Resources, SubstrateCliArgsVersion, Node, DelayNetworkSettings } from "./sharedTypes"; export interface LaunchConfig extends PolkadotLaunchConfig { config: { provider: string; }; settings: Settings; configBasePath: string; } export interface PolkadotLaunchConfig { relaychain: RelayChainConfig; parachains: ParachainConfig[]; types: any; hrmp_channels?: HrmpChannelsConfig[]; } export interface RelayChainConfig { default_command?: string; default_image?: string; default_resources?: Resources; default_db_snapshot?: string; default_prometheus_prefix?: string; default_substrate_cli_args_version?: SubstrateCliArgsVersion; default_keystore_key_types?: string[]; chain: string; force_decorator?: string; chain_spec_path?: string; chain_spec_command?: string; default_args?: string[]; default_overrides?: Override[]; random_nominators_count?: number; max_nominations?: number; nodes?: NodeConfig[]; node_groups?: NodeGroupConfig[]; total_node_in_groups?: number; genesis?: JSON | ObjectJSON; default_delay_network_settings?: DelayNetworkSettings; use_stash_for_validators?: boolean; } export interface ComputedNetwork { settings: Settings; relaychain: { defaultImage: string; defaultCommand: string; defaultArgs: string[]; defaultDbSnapshot?: string; defaultPrometheusPrefix: string; defaultSubstrateCliArgsVersion?: SubstrateCliArgsVersion; chain: string; chainSpecPath?: string; chainSpecCommand?: string; randomNominatorsCount: number; maxNominations: number; nodes: Node[]; overrides: Override[]; genesis?: JSON | ObjectJSON; defaultResources?: Resources; delayNetworkSettings?: DelayNetworkSettings; force_decorator?: string; useStashForValidators: boolean; }; parachains: Parachain[]; types: any; hrmp_channels?: HrmpChannelsConfig[]; configBasePath: string; seed: string; } export interface Settings { global_volumes?: GlobalVolume[]; bootnode?: boolean; bootnode_domain?: string; timeout: number; node_spawn_timeout?: number; grafana?: boolean; telemetry?: boolean; prometheus?: boolean; jaeger_agent?: string; tracing_collator_url?: string; tracing_collator_service_name?: string; tracing_collator_service_namespace?: string; tracing_collator_service_port?: number; enable_tracing?: boolean; provider: string; polkadot_introspector?: boolean; backchannel?: boolean; image_pull_policy?: "IfNotPresent" | "Never" | "Always"; local_ip?: string; global_delay_network_global_settings?: DelayNetworkSettings; node_verifier?: "None" | "Metric"; isolate_env?: boolean; } export interface GlobalVolume { name: string; fs_type: string; mount_path: string; } export interface ParachainConfig extends CommonParachainConfig { add_to_genesis?: boolean; register_para?: boolean; onboard_as_parachain?: boolean; with_custom_props?: boolean; genesis_wasm_path?: string; genesis_wasm_generator?: string; genesis_state_path?: string; genesis_state_generator?: string; chain_spec_path?: string; chain_spec_command?: string; cumulus_based?: boolean; bootnodes?: string[]; prometheus_prefix?: string; default_substrate_cli_args_version?: SubstrateCliArgsVersion; collator?: NodeConfig; collators?: NodeConfig[]; collator_groups?: NodeGroupConfig[]; default_args: string[]; } export interface NodeGroupConfig extends NodeCommonTypes { image?: string; count: string | number; delay_network_settings?: DelayNetworkSettings; }