@moonsong-labs/moonwall-cli
Version:
Testing framework for the Moon family of projects
98 lines (96 loc) • 2.79 kB
JavaScript
// src/internal/foundations.ts
function parseRunCmd(launchSpec) {
const launch = !!!launchSpec.running ? true : launchSpec.running;
const cmd = launchSpec.binPath;
let args = launchSpec.options ? [...launchSpec.options] : [
"--no-hardware-benchmarks",
"--no-telemetry",
"--reserved-only",
"--rpc-cors=all",
"--no-grandpa",
"--sealing=manual",
"--force-authoring",
"--no-prometheus",
"--alice",
"--chain=moonbase-dev",
"--in-peers=0",
"--out-peers=0",
"--tmp"
];
`ws://127.0.0.1:${1e4 + Number(process.env.VITEST_POOL_ID) * 100}`;
if (launchSpec.ports) {
const ports = launchSpec.ports;
if (ports.p2pPort) {
args.push(`--port=${ports.p2pPort}`);
}
if (ports.wsPort) {
args.push(`--ws-port=${ports.wsPort}`);
}
if (ports.rpcPort) {
args.push(`--rpc-port=${ports.rpcPort}`);
}
} else {
args.push(
`--port=${1e4 + Number(process.env.VITEST_POOL_ID || 1) * 100 + 2}`
);
args.push(
`--ws-port=${1e4 + Number(process.env.VITEST_POOL_ID || 1) * 100}`
);
args.push(
`--rpc-port=${1e4 + (Number(process.env.VITEST_POOL_ID || 1) * 100 + 1)}`
);
}
return { cmd, args, launch };
}
function parseChopsticksRunCmd(launchSpecs) {
const launch = !!!launchSpecs[0].running ? true : launchSpecs[0].running;
if (launchSpecs.length === 1) {
const chopsticksCmd2 = "node";
const chopsticksArgs2 = [
"node_modules/@acala-network/chopsticks/chopsticks.js",
"dev",
`--config=${launchSpecs[0].configPath}`
];
const mode = launchSpecs[0].buildBlockMode ? launchSpecs[0].buildBlockMode : "manual";
const num = mode == "batch" ? 0 : mode == "instant" ? 1 : 2;
chopsticksArgs2.push(`--build-block-mode=${num}`);
if (launchSpecs[0].wsPort) {
chopsticksArgs2.push(`--port=${launchSpecs[0].wsPort}`);
}
if (launchSpecs[0].wasmOverride) {
chopsticksArgs2.push(`--wasm-override=${launchSpecs[0].wasmOverride}`);
}
return {
cmd: chopsticksCmd2,
args: chopsticksArgs2,
launch
};
}
const chopsticksCmd = "node";
const chopsticksArgs = [
"node_modules/@acala-network/chopsticks/chopsticks.js",
"xcm"
];
launchSpecs.forEach((spec) => {
const type = spec.type ? spec.type : "parachain";
switch (type) {
case "parachain":
chopsticksArgs.push(`--parachain=${spec.configPath}`);
break;
case "relaychain":
chopsticksArgs.push(`--relaychain=${spec.configPath}`);
}
});
return {
cmd: chopsticksCmd,
args: chopsticksArgs,
launch
// rtUpgradePath: launchSpecs[0].rtUpgradePath
// ? launchSpecs[0].rtUpgradePath
// : "",
};
}
export {
parseRunCmd,
parseChopsticksRunCmd
};