@@ -94,7 +94,7 @@ contract OPContractsManager_Harness is OPContractsManager {
9494
9595/// @title OPContractsManager_Upgrade_Harness
9696/// @notice Exposes internal functions for testing.
97- contract OPContractsManager_Upgrade_Harness is CommonTest {
97+ contract OPContractsManager_Upgrade_Harness is CommonTest , DisputeGames {
9898 // The Upgraded event emitted by the Proxy contract.
9999 event Upgraded (address indexed implementation );
100100
@@ -271,25 +271,17 @@ contract OPContractsManager_Upgrade_Harness is CommonTest {
271271 }
272272
273273 // Create validationOverrides
274- address challengerOverride;
275- if (isDevFeatureEnabled (DevFeatures.DEPLOY_V2_DISPUTE_GAMES)) {
276- LibGameArgs.GameArgs memory gameArgs =
277- LibGameArgs.decode (disputeGameFactory.gameArgs (GameTypes.PERMISSIONED_CANNON));
278- challengerOverride = gameArgs.challenger;
279- } else {
280- challengerOverride = IPermissionedDisputeGame (
281- address (disputeGameFactory.gameImpls (GameTypes.PERMISSIONED_CANNON))
282- ).challenger ();
283- }
274+ address challengerOverride = permissionedGameChallenger (disputeGameFactory);
284275 IOPContractsManagerStandardValidator.ValidationOverrides memory validationOverrides =
285276 IOPContractsManagerStandardValidator.ValidationOverrides ({
286277 l1PAOMultisig: opChainConfigs[0 ].proxyAdmin.owner (),
287278 challenger: challengerOverride
288279 });
289280
290- // Grab the validator before we do the error assertion because otherwise the assertion will
281+ // Grab the validator, etc before we do the error assertion because otherwise the assertion will
291282 // try to apply to this function call instead.
292283 IOPContractsManagerStandardValidator validator = _opcm.opcmStandardValidator ();
284+ address proposer = permissionedGameProposer (disputeGameFactory);
293285
294286 // If the absolute prestate is zero, we will always get a PDDG-40,PLDG-40 error here in the
295287 // standard validator. This happens because an absolute prestate of zero means that the
@@ -310,35 +302,24 @@ contract OPContractsManager_Upgrade_Harness is CommonTest {
310302 sysCfg: opChainConfigs[0 ].systemConfigProxy,
311303 absolutePrestate: opChainConfigs[0 ].absolutePrestate.raw (),
312304 l2ChainID: l2ChainId,
313- proposer: deploy. cfg (). l2OutputOracleProposer ()
305+ proposer: proposer
314306 }),
315307 false ,
316308 validationOverrides
317309 );
318310
319- _runPostUpgradeSmokeTests (_opcm, opChainConfigs[0 ], challengerOverride);
320- }
321-
322- function permissionedGameProposer () internal view returns (address ) {
323- if (isDevFeatureEnabled (DevFeatures.DEPLOY_V2_DISPUTE_GAMES)) {
324- LibGameArgs.GameArgs memory gameArgs =
325- LibGameArgs.decode (disputeGameFactory.gameArgs (GameTypes.PERMISSIONED_CANNON));
326- return gameArgs.proposer;
327- } else {
328- return IPermissionedDisputeGame (address (disputeGameFactory.gameImpls (GameTypes.PERMISSIONED_CANNON)))
329- .proposer ();
330- }
311+ _runPostUpgradeSmokeTests (_opcm, opChainConfigs[0 ], challengerOverride, proposer);
331312 }
332313
333314 /// @notice Runs some smoke tests after an upgrade
334315 function _runPostUpgradeSmokeTests (
335316 IOPContractsManager _opcm ,
336317 IOPContractsManager.OpChainConfig memory _opChainConfig ,
337- address _challenger
318+ address _challenger ,
319+ address _expectedProposer
338320 )
339321 internal
340322 {
341- address expectedProposer = permissionedGameProposer ();
342323 bytes32 expectedAbsolutePrestate = _opChainConfig.absolutePrestate.raw ();
343324 if (expectedAbsolutePrestate == bytes32 (0 )) {
344325 expectedAbsolutePrestate = preUpgradeState.permissionedAbsolutePrestate.raw ();
@@ -357,7 +338,7 @@ contract OPContractsManager_Upgrade_Harness is CommonTest {
357338 gameTypes[1 ] = GameTypes.CANNON;
358339 for (uint256 i = 0 ; i < gameTypes.length ; i++ ) {
359340 GameType gt = gameTypes[i];
360- vm.prank (expectedProposer, expectedProposer );
341+ vm.prank (_expectedProposer, _expectedProposer );
361342 IPermissionedDisputeGame game = IPermissionedDisputeGame (
362343 address (disputeGameFactory.create { value: bondAmount }(gt, claim, abi.encode (l2BlockNumber)))
363344 );
@@ -373,14 +354,14 @@ contract OPContractsManager_Upgrade_Harness is CommonTest {
373354 vm.assertEq (30 , game.splitDepth ());
374355 vm.assertEq (l2BlockNumber, game.l2BlockNumber ());
375356 vm.assertEq (expectedVm, address (game.vm ()));
376- vm.assertEq (expectedProposer , game.gameCreator ());
357+ vm.assertEq (_expectedProposer , game.gameCreator ());
377358 vm.assertEq (claim.raw (), rootClaim.raw ());
378359 vm.assertEq (blockhash (block .number - 1 ), game.l1Head ().raw ());
379360
380361 if (gt.raw () == GameTypes.PERMISSIONED_CANNON.raw ()) {
381362 vm.assertEq (address (preUpgradeState.permissionedCannonWethProxy), address (game.weth ()));
382363 vm.assertEq (_challenger, game.challenger ());
383- vm.assertEq (expectedProposer , game.proposer ());
364+ vm.assertEq (_expectedProposer , game.proposer ());
384365 } else {
385366 vm.assertEq (address (preUpgradeState.permissionlessWethProxy), address (game.weth ()));
386367 }
0 commit comments