@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
115 lines (114 loc) • 3.66 kB
TypeScript
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;
}
export interface ComputedNetwork {
settings: Settings;
relaychain: {
defaultImage: string;
defaultCommand: string;
defaultArgs: string[];
defaultDbSnapshot?: string;
defaultPrometheusPrefix: string;
chain: string;
chainSpecPath?: string;
chainSpecCommand?: string;
randomNominatorsCount: number;
maxNominations: number;
nodes: Node[];
overrides: Override[];
genesis?: JSON | ObjectJSON;
defaultResources?: Resources;
delayNetworkSettings?: DelayNetworkSettings;
force_decorator?: string;
};
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;
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;
collator?: NodeConfig;
collators?: NodeConfig[];
collator_groups?: NodeGroupConfig[];
default_args: string[];
}
export interface NodeGroupConfig extends NodeCommonTypes {
image?: string;
count: string | number;
delay_network_settings?: DelayNetworkSettings;
}