From e2969f9ed714ed71f624e7ec84c94ca3c75b75c9 Mon Sep 17 00:00:00 2001 From: zeroXbrock <2791467+zeroXbrock@users.noreply.github.com> Date: Fri, 29 Aug 2025 14:04:26 -0700 Subject: [PATCH 1/3] add contender flag info to readme --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index 7c70e8c..5331b30 100644 --- a/README.md +++ b/README.md @@ -68,6 +68,10 @@ $ builder-playground cook l1 --latest-fork --output ~/my-builder-testnet --genes - `--log-level` (string): Log level to use (debug, info, warn, error, fatal). Defaults to `info`. - `--labels` (key=val): Custom labels to apply to your deployment. - `--disable-logs` (bool): Disable the logs for the services. Defaults to `false`. +- `--contender` (bool): Enable [contender](https://github.com/flashbots/contender) spammer. Required to use other contender flags. + - `--contender.arg` (string): Pass custom args to the contender CLI. + Example: `--contender.arg "--tpb 20"` + - `--contender.target` (string): Change the default target node to spam. On the `l1` recipe, the default is "el", and on `opstack` it's "op-geth". To stop the playground, press `Ctrl+C`. From c7c404c925e424b806252d519cbe762b7e2b2903 Mon Sep 17 00:00:00 2001 From: zeroXbrock <2791467+zeroXbrock@users.noreply.github.com> Date: Fri, 29 Aug 2025 16:09:32 -0700 Subject: [PATCH 2/3] add conflict rule for contender tps/tpb --- playground/components.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/playground/components.go b/playground/components.go index 2ea62bf..c571fef 100644 --- a/playground/components.go +++ b/playground/components.go @@ -906,6 +906,9 @@ func (c *Contender) Run(service *Service, ctx *ExContext) { if flag == "-r" && seen["--rpc-url"] { return true } + if (flag == "--tpb" || flag == "--tps") && (seen["--tpb"] || seen["--tps"]) { + return true + } return false } From 1c6a63af606302811d538fb03d19647b98dc3643 Mon Sep 17 00:00:00 2001 From: zeroXbrock <2791467+zeroXbrock@users.noreply.github.com> Date: Fri, 29 Aug 2025 16:13:37 -0700 Subject: [PATCH 3/3] fully flesh out tps/tpb conflicts for contender --- playground/components.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/playground/components.go b/playground/components.go index c571fef..ee70830 100644 --- a/playground/components.go +++ b/playground/components.go @@ -906,7 +906,8 @@ func (c *Contender) Run(service *Service, ctx *ExContext) { if flag == "-r" && seen["--rpc-url"] { return true } - if (flag == "--tpb" || flag == "--tps") && (seen["--tpb"] || seen["--tps"]) { + if (flag == "--tpb" || flag == "--txs-per-second" || flag == "--tps" || flag == "--txs-per-block") && + (seen["--tpb"] || seen["--tps"] || seen["--txs-per-second"] || seen["--txs-per-block"]) { return true } return false