@moonsong-labs/moonwall-cli
Version:
Testing framework for the Moon family of projects
55 lines (53 loc) • 1.42 kB
TypeScript
type MoonwallConfig = {
$schema: string;
label: string;
defaultTestTimeout: number;
environments: Environment[];
};
type Environment = {
html?: boolean;
name: string;
testFileDir: string[];
foundation: IFoundation;
include?: string[];
connections?: ProviderConfig[];
multiThreads?: boolean;
};
type IFoundation = {
type: "dev";
launchSpec: DevLaunchSpec[];
} | {
type: "chopsticks";
rtUpgradePath?: string;
launchSpec: ChopsticksLaunchSpec[];
} | {
type: "read_only" | "fork" | "zombie";
};
type FoundationType = IFoundation["type"];
interface GenericLaunchSpec {
name: string;
running?: boolean;
options?: string[];
}
interface ChopsticksLaunchSpec extends GenericLaunchSpec {
configPath: string;
wsPort?: number;
type?: "relaychain" | "parachain";
wasmOverride?: string;
buildBlockMode?: "batch" | "manual" | "instant";
}
interface DevLaunchSpec extends GenericLaunchSpec {
binPath: string;
ports?: {
p2pPort: number;
wsPort: number;
rpcPort: number;
};
}
interface ProviderConfig {
name: string;
type: ProviderType;
endpoints: string[];
}
type ProviderType = "polkadotJs" | "ethers" | "web3" | "moon" | "unknown";
export { ChopsticksLaunchSpec, DevLaunchSpec, Environment, FoundationType, GenericLaunchSpec, IFoundation, MoonwallConfig, ProviderConfig, ProviderType };