Skip to content

Commit 3b1da5b

Browse files
committed
opcm: Load anchor state registry from the system config
1 parent ccf10b8 commit 3b1da5b

File tree

2 files changed

+6
-4
lines changed

2 files changed

+6
-4
lines changed

packages/contracts-bedrock/snapshots/semver-lock.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
},
2222
"src/L1/OPContractsManager.sol:OPContractsManager": {
2323
"initCodeHash": "0xc6a5146f158bc14297447cda1668f83e8dbfdd74f1b8bc2291d9626933bd23ad",
24-
"sourceCodeHash": "0x92824bb6763b568b732eb03e8f8f66f6fa4aae4861e46799c0336f1db6e9431b"
24+
"sourceCodeHash": "0xdbd3ee7458b844cc9b4cdf4fb35ee574bdba048e155def15dd9984471fcd7040"
2525
},
2626
"src/L1/OPContractsManagerStandardValidator.sol:OPContractsManagerStandardValidator": {
2727
"initCodeHash": "0x2eaa345ba05582c67b40a1eb7ec9d54823aa08468e697e2d6c04bb74cc574abc",

packages/contracts-bedrock/src/L1/OPContractsManager.sol

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ import { IL1ERC721Bridge } from "interfaces/L1/IL1ERC721Bridge.sol";
3939
import { IL1StandardBridge } from "interfaces/L1/IL1StandardBridge.sol";
4040
import { IOptimismMintableERC20Factory } from "interfaces/universal/IOptimismMintableERC20Factory.sol";
4141
import { IETHLockbox } from "interfaces/L1/IETHLockbox.sol";
42+
import { ISystemConfig } from "../../interfaces/L1/ISystemConfig.sol";
4243

4344
contract OPContractsManagerContractsContainer {
4445
/// @notice Addresses of the Blueprint contracts.
@@ -593,10 +594,12 @@ contract OPContractsManagerGameTypeAdder is OPContractsManagerBase {
593594
)
594595
) {
595596
address impl = implementations().faultDisputeGameV2Impl;
597+
// Always use the permissioned game to get the anchor state registry because it is guaranteed to
598+
// exist.
596599
bytes memory gameArgs = abi.encodePacked(
597600
gameConfig.disputeAbsolutePrestate, // 32 bytes
598601
gameConfig.vm, // 20 bytes
599-
address(getAnchorStateRegistry(dgf, IDisputeGame(impl), gameConfig.disputeGameType)), // 20
602+
address(getAnchorStateRegistryV1(ISystemConfig(gameConfig.systemConfig))), // 20
600603
// bytes
601604
address(outputs[i].delayedWETH), // 20 bytes
602605
l2ChainId // 32 bytes
@@ -608,8 +611,7 @@ contract OPContractsManagerGameTypeAdder is OPContractsManagerBase {
608611
bytes memory gameArgs = abi.encodePacked(
609612
gameConfig.disputeAbsolutePrestate, // 32 bytes
610613
gameConfig.vm, // 20 bytes
611-
address(getAnchorStateRegistry(dgf, IDisputeGame(impl), gameConfig.disputeGameType)), // 20
612-
// bytes
614+
address(getAnchorStateRegistryV1(ISystemConfig(gameConfig.systemConfig))), // 20 bytes
613615
address(outputs[i].delayedWETH), // 20 bytes
614616
l2ChainId, // 32 bytes
615617
getProposer(dgf, IPermissionedDisputeGame(address(existingGame)), gameConfig.disputeGameType), // 20

0 commit comments

Comments
 (0)