Skip to content

Commit

Permalink
feat: rename prover CLI start command as proxy and make it default (#…
Browse files Browse the repository at this point in the history
…6428)

* feat: make start command default for prover CLI
  • Loading branch information
jeluard committed Feb 16, 2024
1 parent 5047410 commit a02ea75
Show file tree
Hide file tree
Showing 5 changed files with 13 additions and 9 deletions.
2 changes: 1 addition & 1 deletion packages/prover/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ You can also invoke the package as binary.
```bash
npm -i g @lodestar/prover

lodestar-prover start \
lodestar-prover proxy \
--network sepolia \
--execution-rpc https://lodestar-sepoliarpc.chainsafe.io \
--mode rest \
Expand Down
5 changes: 4 additions & 1 deletion packages/prover/src/cli/cli.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import yargs from "yargs";
import {hideBin} from "yargs/helpers";
import {registerCommandToYargs} from "../utils/command.js";
import {getVersionData} from "../utils/version.js";
import {cmds} from "./cmds/index.js";
import {cmds, proverProxyStartCommand} from "./cmds/index.js";
import {globalOptions} from "./options.js";

const {version} = getVersionData();
Expand Down Expand Up @@ -48,6 +48,9 @@ export function getLodestarProverCli(): yargs.Argv {
registerCommandToYargs(prover, cmd);
}

// Register the proxy command as the default one
registerCommandToYargs(prover, {...proverProxyStartCommand, command: "*"});

// throw an error if we see an unrecognized cmd
prover.recommendCommands().strict();

Expand Down
1 change: 1 addition & 0 deletions packages/prover/src/cli/cmds/index.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import {CliCommand} from "../../utils/command.js";
import {GlobalArgs} from "../options.js";
import {proverProxyStartCommand} from "./start/index.js";
export {proverProxyStartCommand} from "./start/index.js";

export const cmds: Required<CliCommand<GlobalArgs, Record<never, never>>>["subcommands"] = [proverProxyStartCommand];
2 changes: 1 addition & 1 deletion packages/prover/src/cli/cmds/start/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import {proverProxyStartHandler} from "./handler.js";
import {StartArgs, startOptions} from "./options.js";

export const proverProxyStartCommand: CliCommand<StartArgs, GlobalArgs> = {
command: "start",
command: "proxy",
describe: "Start proxy server",
examples: [
{
Expand Down
12 changes: 6 additions & 6 deletions packages/prover/test/e2e/cli/cmds/start.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,23 +11,23 @@ import {rpcUrl, beaconUrl, proxyPort, proxyUrl, chainId, waitForCapellaFork, con

const cli = getLodestarProverCli();

describe("prover/start", () => {
describe("prover/proxy", () => {
it("should show help", async () => {
const output = await runCliCommand(cli, ["start", "--help"]);
const output = await runCliCommand(cli, ["proxy", "--help"]);

expect(output).toEqual(expect.stringContaining("Show help"));
});

it("should fail when --executionRpcUrl is missing", async () => {
await expect(runCliCommand(cli, ["start", "--port", "8088"])).rejects.toThrow(
await expect(runCliCommand(cli, ["proxy", "--port", "8088"])).rejects.toThrow(
"Missing required argument: executionRpcUrl"
);
});

it("should fail when --beaconUrls and --beaconBootnodes are provided together", async () => {
await expect(
runCliCommand(cli, [
"start",
"proxy",
"--beaconUrls",
"http://localhost:4000",
"--beaconBootnodes",
Expand All @@ -38,7 +38,7 @@ describe("prover/start", () => {

it("should fail when both of --beaconUrls and --beaconBootnodes are not provided", async () => {
await expect(
runCliCommand(cli, ["start", "--port", "8088", "--executionRpcUrl", "http://localhost:3000"])
runCliCommand(cli, ["proxy", "--port", "8088", "--executionRpcUrl", "http://localhost:3000"])
).rejects.toThrow("Either --beaconUrls or --beaconBootnodes must be provided");
});

Expand All @@ -55,7 +55,7 @@ describe("prover/start", () => {
proc = await spawnCliCommand(
"packages/prover/bin/lodestar-prover.js",
[
"start",
"proxy",
"--port",
String(proxyPort as number),
"--executionRpcUrl",
Expand Down

0 comments on commit a02ea75

Please sign in to comment.