@@ -80,7 +80,7 @@ func applyValidConfigForCannon(t *testing.T, cfg *Config) {
8080 cfg .Cannon .VmBin = vmBin
8181 cfg .Cannon .Server = server
8282 cfg .CannonAbsolutePreStateBaseURL = validCannonAbsolutePreStateBaseURL
83- cfg .Cannon .Network = validCannonNetwork
83+ cfg .Cannon .Networks = [] string { validCannonNetwork }
8484}
8585
8686func applyValidConfigForAsterisc (t * testing.T , cfg * Config ) {
@@ -94,7 +94,7 @@ func applyValidConfigForAsterisc(t *testing.T, cfg *Config) {
9494 cfg .Asterisc .VmBin = vmBin
9595 cfg .Asterisc .Server = server
9696 cfg .AsteriscAbsolutePreStateBaseURL = validAsteriscAbsolutePreStateBaseURL
97- cfg .Asterisc .Network = validAsteriscNetwork
97+ cfg .Asterisc .Networks = [] string { validAsteriscNetwork }
9898}
9999
100100func applyValidConfigForAsteriscKona (t * testing.T , cfg * Config ) {
@@ -108,7 +108,7 @@ func applyValidConfigForAsteriscKona(t *testing.T, cfg *Config) {
108108 cfg .AsteriscKona .VmBin = vmBin
109109 cfg .AsteriscKona .Server = server
110110 cfg .AsteriscKonaAbsolutePreStateBaseURL = validAsteriscKonaAbsolutePreStateBaseURL
111- cfg .AsteriscKona .Network = validAsteriscKonaNetwork
111+ cfg .AsteriscKona .Networks = [] string { validAsteriscKonaNetwork }
112112}
113113
114114func validConfig (t * testing.T , traceType types.TraceType ) Config {
@@ -224,7 +224,7 @@ func TestCannonRequiredArgs(t *testing.T) {
224224
225225 t .Run (fmt .Sprintf ("TestL2RpcRequired-%v" , traceType ), func (t * testing.T ) {
226226 config := validConfig (t , traceType )
227- config .L2Rpc = ""
227+ config .L2Rpcs = nil
228228 require .ErrorIs (t , config .Check (), ErrMissingL2Rpc )
229229 })
230230
@@ -246,51 +246,43 @@ func TestCannonRequiredArgs(t *testing.T) {
246246
247247 t .Run (fmt .Sprintf ("TestCannonNetworkOrRollupConfigRequired-%v" , traceType ), func (t * testing.T ) {
248248 cfg := validConfig (t , traceType )
249- cfg .Cannon .Network = ""
250- cfg .Cannon .RollupConfigPath = ""
251- cfg .Cannon .L2GenesisPath = "genesis.json"
249+ cfg .Cannon .Networks = nil
250+ cfg .Cannon .RollupConfigPaths = nil
251+ cfg .Cannon .L2GenesisPaths = [] string { "genesis.json" }
252252 require .ErrorIs (t , cfg .Check (), vm .ErrMissingRollupConfig )
253253 })
254254
255255 t .Run (fmt .Sprintf ("TestCannonNetworkOrL2GenesisRequired-%v" , traceType ), func (t * testing.T ) {
256256 cfg := validConfig (t , traceType )
257- cfg .Cannon .Network = ""
258- cfg .Cannon .RollupConfigPath = "foo.json"
259- cfg .Cannon .L2GenesisPath = ""
257+ cfg .Cannon .Networks = nil
258+ cfg .Cannon .RollupConfigPaths = [] string { "foo.json" }
259+ cfg .Cannon .L2GenesisPaths = nil
260260 require .ErrorIs (t , cfg .Check (), vm .ErrMissingL2Genesis )
261261 })
262262
263- t .Run (fmt .Sprintf ("TestMustNotSpecifyNetworkAndRollup -%v" , traceType ), func (t * testing.T ) {
263+ t .Run (fmt .Sprintf ("TestMaySpecifyNetworkAndCustomConfigs -%v" , traceType ), func (t * testing.T ) {
264264 cfg := validConfig (t , traceType )
265- cfg .Cannon .Network = validCannonNetwork
266- cfg .Cannon .RollupConfigPath = "foo.json"
267- cfg .Cannon .L2GenesisPath = ""
268- require .ErrorIs (t , cfg .Check (), vm .ErrNetworkAndRollupConfig )
269- })
270-
271- t .Run (fmt .Sprintf ("TestMustNotSpecifyNetworkAndL2Genesis-%v" , traceType ), func (t * testing.T ) {
272- cfg := validConfig (t , traceType )
273- cfg .Cannon .Network = validCannonNetwork
274- cfg .Cannon .RollupConfigPath = ""
275- cfg .Cannon .L2GenesisPath = "foo.json"
276- require .ErrorIs (t , cfg .Check (), vm .ErrNetworkAndL2Genesis )
265+ cfg .Cannon .Networks = []string {validCannonNetwork }
266+ cfg .Cannon .RollupConfigPaths = []string {"foo.json" }
267+ cfg .Cannon .L2GenesisPaths = []string {"genesis.json" }
268+ require .NoError (t , cfg .Check ())
277269 })
278270
279271 t .Run (fmt .Sprintf ("TestNetworkMustBeValid-%v" , traceType ), func (t * testing.T ) {
280272 cfg := validConfig (t , traceType )
281- cfg .Cannon .Network = "unknown"
273+ cfg .Cannon .Networks = [] string { "unknown" }
282274 require .ErrorIs (t , cfg .Check (), vm .ErrNetworkUnknown )
283275 })
284276
285277 t .Run (fmt .Sprintf ("TestNetworkMayBeAnyChainID-%v" , traceType ), func (t * testing.T ) {
286278 cfg := validConfig (t , traceType )
287- cfg .Cannon .Network = "467294"
279+ cfg .Cannon .Networks = [] string { "467294" }
288280 require .NoError (t , cfg .Check ())
289281 })
290282
291283 t .Run (fmt .Sprintf ("TestNetworkInvalidWhenNotEntirelyNumeric-%v" , traceType ), func (t * testing.T ) {
292284 cfg := validConfig (t , traceType )
293- cfg .Cannon .Network = "467294a"
285+ cfg .Cannon .Networks = [] string { "467294a" }
294286 require .ErrorIs (t , cfg .Check (), vm .ErrNetworkUnknown )
295287 })
296288
@@ -360,7 +352,7 @@ func TestAsteriscRequiredArgs(t *testing.T) {
360352
361353 t .Run (fmt .Sprintf ("TestL2RpcRequired-%v" , traceType ), func (t * testing.T ) {
362354 config := validConfig (t , traceType )
363- config .L2Rpc = ""
355+ config .L2Rpcs = nil
364356 require .ErrorIs (t , config .Check (), ErrMissingL2Rpc )
365357 })
366358
@@ -382,39 +374,31 @@ func TestAsteriscRequiredArgs(t *testing.T) {
382374
383375 t .Run (fmt .Sprintf ("TestAsteriscNetworkOrRollupConfigRequired-%v" , traceType ), func (t * testing.T ) {
384376 cfg := validConfig (t , traceType )
385- cfg .Asterisc .Network = ""
386- cfg .Asterisc .RollupConfigPath = ""
387- cfg .Asterisc .L2GenesisPath = "genesis.json"
377+ cfg .Asterisc .Networks = nil
378+ cfg .Asterisc .RollupConfigPaths = nil
379+ cfg .Asterisc .L2GenesisPaths = [] string { "genesis.json" }
388380 require .ErrorIs (t , cfg .Check (), vm .ErrMissingRollupConfig )
389381 })
390382
391383 t .Run (fmt .Sprintf ("TestAsteriscNetworkOrL2GenesisRequired-%v" , traceType ), func (t * testing.T ) {
392384 cfg := validConfig (t , traceType )
393- cfg .Asterisc .Network = ""
394- cfg .Asterisc .RollupConfigPath = "foo.json"
395- cfg .Asterisc .L2GenesisPath = ""
385+ cfg .Asterisc .Networks = nil
386+ cfg .Asterisc .RollupConfigPaths = [] string { "foo.json" }
387+ cfg .Asterisc .L2GenesisPaths = nil
396388 require .ErrorIs (t , cfg .Check (), vm .ErrMissingL2Genesis )
397389 })
398390
399- t .Run (fmt .Sprintf ("TestMustNotSpecifyNetworkAndRollup-%v" , traceType ), func (t * testing.T ) {
400- cfg := validConfig (t , traceType )
401- cfg .Asterisc .Network = validAsteriscNetwork
402- cfg .Asterisc .RollupConfigPath = "foo.json"
403- cfg .Asterisc .L2GenesisPath = ""
404- require .ErrorIs (t , cfg .Check (), vm .ErrNetworkAndRollupConfig )
405- })
406-
407- t .Run (fmt .Sprintf ("TestMustNotSpecifyNetworkAndL2Genesis-%v" , traceType ), func (t * testing.T ) {
391+ t .Run (fmt .Sprintf ("MaySpecifyNetworkAndCustomConfigs-%v" , traceType ), func (t * testing.T ) {
408392 cfg := validConfig (t , traceType )
409- cfg .Asterisc .Network = validAsteriscNetwork
410- cfg .Asterisc .RollupConfigPath = ""
411- cfg .Asterisc .L2GenesisPath = "foo .json"
412- require .ErrorIs (t , cfg .Check (), vm . ErrNetworkAndL2Genesis )
393+ cfg .Asterisc .Networks = [] string { validAsteriscNetwork }
394+ cfg .Asterisc .RollupConfigPaths = [] string { "foo.json" }
395+ cfg .Asterisc .L2GenesisPaths = [] string { "genesis .json"}
396+ require .NoError (t , cfg .Check ())
413397 })
414398
415399 t .Run (fmt .Sprintf ("TestNetworkMustBeValid-%v" , traceType ), func (t * testing.T ) {
416400 cfg := validConfig (t , traceType )
417- cfg .Asterisc .Network = "unknown"
401+ cfg .Asterisc .Networks = [] string { "unknown" }
418402 require .ErrorIs (t , cfg .Check (), vm .ErrNetworkUnknown )
419403 })
420404
@@ -484,7 +468,7 @@ func TestAsteriscKonaRequiredArgs(t *testing.T) {
484468
485469 t .Run (fmt .Sprintf ("TestL2RpcRequired-%v" , traceType ), func (t * testing.T ) {
486470 config := validConfig (t , traceType )
487- config .L2Rpc = ""
471+ config .L2Rpcs = nil
488472 require .ErrorIs (t , config .Check (), ErrMissingL2Rpc )
489473 })
490474
@@ -506,39 +490,31 @@ func TestAsteriscKonaRequiredArgs(t *testing.T) {
506490
507491 t .Run (fmt .Sprintf ("TestAsteriscKonaNetworkOrRollupConfigRequired-%v" , traceType ), func (t * testing.T ) {
508492 cfg := validConfig (t , traceType )
509- cfg .AsteriscKona .Network = ""
510- cfg .AsteriscKona .RollupConfigPath = ""
511- cfg .AsteriscKona .L2GenesisPath = "genesis.json"
493+ cfg .AsteriscKona .Networks = nil
494+ cfg .AsteriscKona .RollupConfigPaths = nil
495+ cfg .AsteriscKona .L2GenesisPaths = [] string { "genesis.json" }
512496 require .ErrorIs (t , cfg .Check (), vm .ErrMissingRollupConfig )
513497 })
514498
515499 t .Run (fmt .Sprintf ("TestAsteriscKonaNetworkOrL2GenesisRequired-%v" , traceType ), func (t * testing.T ) {
516500 cfg := validConfig (t , traceType )
517- cfg .AsteriscKona .Network = ""
518- cfg .AsteriscKona .RollupConfigPath = "foo.json"
519- cfg .AsteriscKona .L2GenesisPath = ""
501+ cfg .AsteriscKona .Networks = nil
502+ cfg .AsteriscKona .RollupConfigPaths = [] string { "foo.json" }
503+ cfg .AsteriscKona .L2GenesisPaths = nil
520504 require .ErrorIs (t , cfg .Check (), vm .ErrMissingL2Genesis )
521505 })
522506
523- t .Run (fmt .Sprintf ("TestMustNotSpecifyNetworkAndRollup-%v" , traceType ), func (t * testing.T ) {
524- cfg := validConfig (t , traceType )
525- cfg .AsteriscKona .Network = validAsteriscKonaNetwork
526- cfg .AsteriscKona .RollupConfigPath = "foo.json"
527- cfg .AsteriscKona .L2GenesisPath = ""
528- require .ErrorIs (t , cfg .Check (), vm .ErrNetworkAndRollupConfig )
529- })
530-
531- t .Run (fmt .Sprintf ("TestMustNotSpecifyNetworkAndL2Genesis-%v" , traceType ), func (t * testing.T ) {
507+ t .Run (fmt .Sprintf ("MaySpecifyNetworkAndCustomConfig-%v" , traceType ), func (t * testing.T ) {
532508 cfg := validConfig (t , traceType )
533- cfg .AsteriscKona .Network = validAsteriscKonaNetwork
534- cfg .AsteriscKona .RollupConfigPath = ""
535- cfg .AsteriscKona .L2GenesisPath = "foo .json"
536- require .ErrorIs (t , cfg .Check (), vm . ErrNetworkAndL2Genesis )
509+ cfg .AsteriscKona .Networks = [] string { validAsteriscKonaNetwork }
510+ cfg .AsteriscKona .RollupConfigPaths = [] string { "foo.json" }
511+ cfg .AsteriscKona .L2GenesisPaths = [] string { "genesis .json"}
512+ require .NoError (t , cfg .Check ())
537513 })
538514
539515 t .Run (fmt .Sprintf ("TestNetworkMustBeValid-%v" , traceType ), func (t * testing.T ) {
540516 cfg := validConfig (t , traceType )
541- cfg .AsteriscKona .Network = "unknown"
517+ cfg .AsteriscKona .Networks = [] string { "unknown" }
542518 require .ErrorIs (t , cfg .Check (), vm .ErrNetworkUnknown )
543519 })
544520
0 commit comments