@@ -59,7 +59,6 @@ func init() {
5959}
6060
6161type BoldConfig struct {
62- Strategy string `koanf:"strategy"`
6362 // How often to post assertions onchain.
6463 AssertionPostingInterval time.Duration `koanf:"assertion-posting-interval"`
6564 // How often to scan for newly created assertions onchain.
@@ -83,16 +82,10 @@ type BoldConfig struct {
8382 ParentChainBlockTime time.Duration `koanf:"parent-chain-block-time"`
8483 // How long to wait since parent assertion was created to post a new assertion
8584 MinimumGapToParentAssertion time.Duration `koanf:"minimum-gap-to-parent-assertion"`
86- strategy legacystaker.StakerStrategy
8785 blockNum rpc.BlockNumber
8886}
8987
9088func (c * BoldConfig ) Validate () error {
91- strategy , err := legacystaker .ParseStrategy (c .Strategy )
92- if err != nil {
93- return err
94- }
95- c .strategy = strategy
9689 var blockNum rpc.BlockNumber
9790 switch strings .ToLower (c .RPCBlockNumber ) {
9891 case "safe" :
@@ -133,7 +126,6 @@ var DefaultStateProviderConfig = StateProviderConfig{
133126}
134127
135128var DefaultBoldConfig = BoldConfig {
136- Strategy : "Watchtower" ,
137129 AssertionPostingInterval : time .Minute * 15 ,
138130 AssertionScanningInterval : time .Minute ,
139131 AssertionConfirmingInterval : time .Minute ,
@@ -163,7 +155,6 @@ var BoldModes = map[legacystaker.StakerStrategy]boldtypes.Mode{
163155}
164156
165157func BoldConfigAddOptions (prefix string , f * flag.FlagSet ) {
166- f .String (prefix + ".strategy" , DefaultBoldConfig .Strategy , "define the bold validator staker strategy, either watchtower, defensive, stakeLatest, or makeNodes" )
167158 f .String (prefix + ".rpc-block-number" , DefaultBoldConfig .RPCBlockNumber , "define the block number to use for reading data onchain, either latest, safe, or finalized" )
168159 f .Int64 (prefix + ".max-get-log-blocks" , DefaultBoldConfig .MaxGetLogBlocks , "maximum size for chunk of blocks when using get logs rpc" )
169160 f .Duration (prefix + ".assertion-posting-interval" , DefaultBoldConfig .AssertionPostingInterval , "assertion posting interval" )
@@ -199,6 +190,7 @@ func DelegatedStakingConfigAddOptions(prefix string, f *flag.FlagSet) {
199190type BOLDStaker struct {
200191 stopwaiter.StopWaiter
201192 config * BoldConfig
193+ strategy legacystaker.StakerStrategy
202194 chalManager * challengemanager.Manager
203195 blockValidator * staker.BlockValidator
204196 rollupAddress common.Address
@@ -223,6 +215,7 @@ func NewBOLDStaker(
223215 blockValidator * staker.BlockValidator ,
224216 statelessBlockValidator * staker.StatelessBlockValidator ,
225217 config * BoldConfig ,
218+ strategy legacystaker.StakerStrategy ,
226219 dataPoster * dataposter.DataPoster ,
227220 wallet legacystaker.ValidatorWalletInterface ,
228221 stakedNotifiers []legacystaker.LatestStakedNotifier ,
@@ -236,12 +229,13 @@ func NewBOLDStaker(
236229 return nil , err
237230 }
238231 wrappedClient := util .NewBackendWrapper (l1Reader .Client (), rpc .LatestBlockNumber )
239- manager , err := newBOLDChallengeManager (ctx , stack , rollupAddress , txOpts , l1Reader , wrappedClient , blockValidator , statelessBlockValidator , config , dataPoster , inboxTracker , inboxStreamer , inboxReader )
232+ manager , err := newBOLDChallengeManager (ctx , stack , rollupAddress , txOpts , l1Reader , wrappedClient , blockValidator , statelessBlockValidator , config , strategy , dataPoster , inboxTracker , inboxStreamer , inboxReader )
240233 if err != nil {
241234 return nil , err
242235 }
243236 return & BOLDStaker {
244237 config : config ,
238+ strategy : strategy ,
245239 chalManager : manager ,
246240 blockValidator : blockValidator ,
247241 rollupAddress : rollupAddress ,
@@ -269,7 +263,7 @@ func (b *BOLDStaker) Initialize(ctx context.Context) error {
269263 if b .wallet .DataPoster () != nil {
270264 stakerAddr = b .wallet .DataPoster ().Sender ()
271265 }
272- log .Info ("running as validator" , "txSender" , stakerAddr , "actingAsWallet" , walletAddressOrZero , "strategy" , b .config . Strategy )
266+ log .Info ("running as validator" , "txSender" , stakerAddr , "actingAsWallet" , walletAddressOrZero , "strategy" , b .strategy . ToString () )
273267
274268 if b .blockValidator != nil && b .config .StartValidationFromStaked && ! b .blockValidator .Started () {
275269 rollupUserLogic , err := boldrollup .NewRollupUserLogic (b .rollupAddress , b .client )
@@ -463,6 +457,7 @@ func newBOLDChallengeManager(
463457 blockValidator * staker.BlockValidator ,
464458 statelessBlockValidator * staker.StatelessBlockValidator ,
465459 config * BoldConfig ,
460+ strategy legacystaker.StakerStrategy ,
466461 dataPoster * dataposter.DataPoster ,
467462 inboxTracker staker.InboxTrackerInterface ,
468463 inboxStreamer staker.TransactionStreamerInterface ,
@@ -586,7 +581,7 @@ func newBOLDChallengeManager(
586581
587582 stackOpts := []challengemanager.StackOpt {
588583 challengemanager .StackWithName (config .StateProviderConfig .ValidatorName ),
589- challengemanager .StackWithMode (BoldModes [config . strategy ]),
584+ challengemanager .StackWithMode (BoldModes [strategy ]),
590585 challengemanager .StackWithPollingInterval (scanningInterval ),
591586 challengemanager .StackWithPostingInterval (postingInterval ),
592587 challengemanager .StackWithConfirmationInterval (confirmingInterval ),
0 commit comments