@@ -11,13 +11,14 @@ pragma solidity 0.8.24;
1111import {IArbitrableV2, IArbitratorV2} from "./interfaces/IArbitratorV2.sol " ;
1212import {IDisputeKit} from "./interfaces/IDisputeKit.sol " ;
1313import {ISortitionModule} from "./interfaces/ISortitionModule.sol " ;
14+ import {Initializable} from "../proxy/Initializable.sol " ;
1415import {SafeERC20, IERC20 } from "../libraries/SafeERC20.sol " ;
1516import "../libraries/Constants.sol " ;
1617
1718/// @title KlerosCoreBase
1819/// Core arbitrator contract for Kleros v2.
1920/// Note that this contract trusts the PNK token, the dispute kit and the sortition module contracts.
20- abstract contract KlerosCoreBase is IArbitratorV2 {
21+ abstract contract KlerosCoreBase is IArbitratorV2 , Initializable {
2122 using SafeERC20 for IERC20 ;
2223
2324 // ************************************* //
@@ -193,7 +194,7 @@ abstract contract KlerosCoreBase is IArbitratorV2 {
193194 // * Constructor * //
194195 // ************************************* //
195196
196- function _initialize (
197+ function __KlerosCoreBase_initialize (
197198 address _governor ,
198199 address _guardian ,
199200 IERC20 _pinakion ,
@@ -204,7 +205,7 @@ abstract contract KlerosCoreBase is IArbitratorV2 {
204205 uint256 [4 ] memory _timesPerPeriod ,
205206 bytes memory _sortitionExtraData ,
206207 ISortitionModule _sortitionModuleAddress
207- ) internal {
208+ ) internal onlyInitializing {
208209 governor = _governor;
209210 guardian = _guardian;
210211 pinakion = _pinakion;
0 commit comments