@@ -11,13 +11,14 @@ pragma solidity 0.8.24;
11
11
import {IArbitrableV2, IArbitratorV2} from "./interfaces/IArbitratorV2.sol " ;
12
12
import {IDisputeKit} from "./interfaces/IDisputeKit.sol " ;
13
13
import {ISortitionModule} from "./interfaces/ISortitionModule.sol " ;
14
+ import {Initializable} from "../proxy/Initializable.sol " ;
14
15
import {SafeERC20, IERC20 } from "../libraries/SafeERC20.sol " ;
15
16
import "../libraries/Constants.sol " ;
16
17
17
18
/// @title KlerosCoreBase
18
19
/// Core arbitrator contract for Kleros v2.
19
20
/// 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 {
21
22
using SafeERC20 for IERC20 ;
22
23
23
24
// ************************************* //
@@ -193,7 +194,7 @@ abstract contract KlerosCoreBase is IArbitratorV2 {
193
194
// * Constructor * //
194
195
// ************************************* //
195
196
196
- function _initialize (
197
+ function __KlerosCoreBase_initialize (
197
198
address _governor ,
198
199
address _guardian ,
199
200
IERC20 _pinakion ,
@@ -204,7 +205,7 @@ abstract contract KlerosCoreBase is IArbitratorV2 {
204
205
uint256 [4 ] memory _timesPerPeriod ,
205
206
bytes memory _sortitionExtraData ,
206
207
ISortitionModule _sortitionModuleAddress
207
- ) internal {
208
+ ) internal onlyInitializing {
208
209
governor = _governor;
209
210
guardian = _guardian;
210
211
pinakion = _pinakion;
0 commit comments