8
8
9
9
pragma solidity 0.8.24 ;
10
10
11
- import {ISortitionModule} from "../arbitration/ interfaces/ISortitionModule.sol " ;
11
+ import {ISortitionModule} from "../interfaces/ISortitionModule.sol " ;
12
12
13
13
interface IKlerosCore {
14
14
function sortitionModule () external view returns (ISortitionModule);
@@ -17,25 +17,41 @@ interface IKlerosCore {
17
17
/// @title KlerosCoreSnapshotProxy
18
18
/// Proxy contract for V2 that exposes staked PNK with balanceOf() function for Snapshot voting.
19
19
contract KlerosCoreSnapshotProxy {
20
+ // ************************************* //
21
+ // * State Modifiers * //
22
+ // ************************************* //
23
+
20
24
IKlerosCore public core;
21
25
address public governor;
22
- string public name = "Staked Pinakion " ;
23
- string public symbol = "stPNK " ;
24
- uint8 public immutable decimals = 18 ;
26
+ string public constant name = "Staked Pinakion " ;
27
+ string public constant symbol = "stPNK " ;
28
+ uint8 public constant decimals = 18 ;
29
+
30
+ // ************************************* //
31
+ // * Modifiers * //
32
+ // ************************************* //
25
33
26
34
modifier onlyByGovernor () {
27
35
require (governor == msg .sender , "Access not allowed: Governor only. " );
28
36
_;
29
37
}
30
38
39
+ // ************************************* //
40
+ // * Constructor * //
41
+ // ************************************* //
42
+
31
43
/// @dev Constructor
32
- /// @param _governor The govenor of the contract.
44
+ /// @param _governor The governor of the contract.
33
45
/// @param _core KlerosCore to read the balance from.
34
46
constructor (address _governor , IKlerosCore _core ) {
35
47
governor = _governor;
36
48
core = _core;
37
49
}
38
50
51
+ // ************************************* //
52
+ // * Governance * //
53
+ // ************************************* //
54
+
39
55
/// @dev Changes the `governor` storage variable.
40
56
/// @param _governor The new value for the `governor` storage variable.
41
57
function changeGovernor (address _governor ) external onlyByGovernor {
@@ -48,6 +64,10 @@ contract KlerosCoreSnapshotProxy {
48
64
core = _core;
49
65
}
50
66
67
+ // ************************************* //
68
+ // * Public Views * //
69
+ // ************************************* //
70
+
51
71
/// @dev Returns the amount of PNK staked in KlerosV2 for a particular address.
52
72
/// Note: Proxy doesn't need to differentiate between courts so we pass 0 as courtID.
53
73
/// @param _account The address to query.
0 commit comments