@@ -813,7 +813,16 @@ func (n *nullService) Name() string {
813813}
814814
815815type Contender struct {
816- ExtraArgs []string
816+ ExtraArgs []string
817+ TargetChain string // defaults to "el", may be any chain name in a recipe's spec
818+ }
819+
820+ // Converts a `ContenderContext` into a `Contender` service. `Enabled` is ignored.
821+ func (cc * ContenderContext ) Contender () * Contender {
822+ return & Contender {
823+ ExtraArgs : cc .ExtraArgs ,
824+ TargetChain : cc .TargetChain ,
825+ }
817826}
818827
819828func (c * Contender ) Name () string {
@@ -854,10 +863,16 @@ func (c *Contender) Run(service *Service, ctx *ExContext) {
854863 val string
855864 hasVal bool
856865 }
866+
867+ targetChain := "el"
868+ if c .TargetChain != "" {
869+ targetChain = c .TargetChain
870+ }
871+
857872 defaults := []opt {
858873 {name : "-l" },
859874 {name : "--min-balance" , val : "10 ether" , hasVal : true },
860- {name : "-r" , val : Connect ("el" , "http" ), hasVal : true },
875+ {name : "-r" , val : Connect (targetChain , "http" ), hasVal : true },
861876 {name : "--tps" , val : "20" , hasVal : true },
862877 }
863878
@@ -888,6 +903,9 @@ func (c *Contender) Run(service *Service, ctx *ExContext) {
888903 if flag == "-l" && seen ["--loops" ] {
889904 return true
890905 }
906+ if flag == "-r" && seen ["--rpc-url" ] {
907+ return true
908+ }
891909 return false
892910 }
893911
@@ -922,4 +940,7 @@ func (c *Contender) Run(service *Service, ctx *ExContext) {
922940 WithArgs (args ... ).
923941 DependsOnHealthy ("beacon" )
924942
943+ if c .TargetChain == "op-geth" {
944+ service .DependsOnRunning ("op-node" )
945+ }
925946}
0 commit comments