Commit d18b8aa3 authored by Kelvin Fichter's avatar Kelvin Fichter

fix(ctb): remove unnecessary L2OO init param

Removes an unnecessary parameter from the L200 initialization function
since this parameter is already set in the constructor.
parent 3dcf11ba
---
'@eth-optimism/contracts-bedrock': patch
---
Removes an unnecessary initializer parameter in the L200
...@@ -73,7 +73,6 @@ func BuildL1DeveloperGenesis(config *DeployConfig) (*core.Genesis, error) { ...@@ -73,7 +73,6 @@ func BuildL1DeveloperGenesis(config *DeployConfig) (*core.Genesis, error) {
data, err := l2ooABI.Pack( data, err := l2ooABI.Pack(
"initialize", "initialize",
config.L2OutputOracleGenesisL2Output, config.L2OutputOracleGenesisL2Output,
big.NewInt(0),
config.L2OutputOracleProposer, config.L2OutputOracleProposer,
config.L2OutputOracleOwner, config.L2OutputOracleOwner,
) )
......
This diff is collapsed.
...@@ -138,7 +138,27 @@ contract L2OutputOracle is OwnableUpgradeable, Semver { ...@@ -138,7 +138,27 @@ contract L2OutputOracle is OwnableUpgradeable, Semver {
STARTING_TIMESTAMP = _startingTimestamp; STARTING_TIMESTAMP = _startingTimestamp;
L2_BLOCK_TIME = _l2BlockTime; L2_BLOCK_TIME = _l2BlockTime;
initialize(_genesisL2Output, _startingBlockNumber, _proposer, _owner); initialize(_genesisL2Output, _proposer, _owner);
}
/**
* @notice Initializer.
*
* @param _genesisL2Output The initial L2 output of the L2 chain.
* @param _proposer The address of the proposer.
* @param _owner The address of the owner.
*/
function initialize(
bytes32 _genesisL2Output,
address _proposer,
address _owner
) public initializer {
require(_proposer != _owner, "L2OutputOracle: proposer cannot be the same as the owner");
l2Outputs[STARTING_BLOCK_NUMBER] = Types.OutputProposal(_genesisL2Output, block.timestamp);
latestBlockNumber = STARTING_BLOCK_NUMBER;
__Ownable_init();
changeProposer(_proposer);
_transferOwnership(_owner);
} }
/** /**
...@@ -257,28 +277,6 @@ contract L2OutputOracle is OwnableUpgradeable, Semver { ...@@ -257,28 +277,6 @@ contract L2OutputOracle is OwnableUpgradeable, Semver {
return output; return output;
} }
/**
* @notice Initializer.
*
* @param _genesisL2Output The initial L2 output of the L2 chain.
* @param _startingBlockNumber The timestamp to start L2 block at.
* @param _proposer The address of the proposer.
* @param _owner The address of the owner.
*/
function initialize(
bytes32 _genesisL2Output,
uint256 _startingBlockNumber,
address _proposer,
address _owner
) public initializer {
require(_proposer != _owner, "L2OutputOracle: proposer cannot be the same as the owner");
l2Outputs[_startingBlockNumber] = Types.OutputProposal(_genesisL2Output, block.timestamp);
latestBlockNumber = _startingBlockNumber;
__Ownable_init();
changeProposer(_proposer);
_transferOwnership(_owner);
}
/** /**
* @notice Overrides the standard implementation of transferOwnership * @notice Overrides the standard implementation of transferOwnership
* to add the requirement that the owner and proposer are distinct. * to add the requirement that the owner and proposer are distinct.
......
...@@ -130,13 +130,14 @@ contract L2OutputOracle_Initializer is CommonTest { ...@@ -130,13 +130,14 @@ contract L2OutputOracle_Initializer is CommonTest {
vm.prank(multisig); vm.prank(multisig);
proxy.upgradeToAndCall( proxy.upgradeToAndCall(
address(oracleImpl), address(oracleImpl),
abi.encodeWithSelector( abi.encodeCall(
L2OutputOracle.initialize.selector, L2OutputOracle.initialize,
(
genesisL2Output, genesisL2Output,
startingBlockNumber,
proposer, proposer,
owner owner
) )
)
); );
oracle = L2OutputOracle(address(proxy)); oracle = L2OutputOracle(address(proxy));
vm.label(address(oracle), "L2OutputOracle"); vm.label(address(oracle), "L2OutputOracle");
......
...@@ -384,7 +384,6 @@ contract L2OutputOracleUpgradeable_Test is L2OutputOracle_Initializer { ...@@ -384,7 +384,6 @@ contract L2OutputOracleUpgradeable_Test is L2OutputOracle_Initializer {
vm.expectRevert("Initializable: contract is already initialized"); vm.expectRevert("Initializable: contract is already initialized");
L2OutputOracle(payable(proxy)).initialize( L2OutputOracle(payable(proxy)).initialize(
genesisL2Output, genesisL2Output,
startingBlockNumber,
proposer, proposer,
owner owner
); );
...@@ -394,7 +393,6 @@ contract L2OutputOracleUpgradeable_Test is L2OutputOracle_Initializer { ...@@ -394,7 +393,6 @@ contract L2OutputOracleUpgradeable_Test is L2OutputOracle_Initializer {
vm.expectRevert("Initializable: contract is already initialized"); vm.expectRevert("Initializable: contract is already initialized");
L2OutputOracle(oracleImpl).initialize( L2OutputOracle(oracleImpl).initialize(
genesisL2Output, genesisL2Output,
startingBlockNumber,
proposer, proposer,
owner owner
); );
......
...@@ -10,7 +10,6 @@ const upgradeABIs = { ...@@ -10,7 +10,6 @@ const upgradeABIs = {
'initialize(bytes32,uint256,address,address)', 'initialize(bytes32,uint256,address,address)',
[ [
deployConfig.l2OutputOracleGenesisL2Output, deployConfig.l2OutputOracleGenesisL2Output,
deployConfig.l2OutputOracleStartingBlockNumber,
deployConfig.l2OutputOracleProposer, deployConfig.l2OutputOracleProposer,
deployConfig.l2OutputOracleOwner, deployConfig.l2OutputOracleOwner,
], ],
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment