Multisig Admin Rights
Votium contract methods with special permissions fall under two categories:
  • Multisig Admin functions
  • Single-sign team only functions
All methods that control user funds fall under the Multisig Admin category.
These methods include:
1
VotiumBribe.sol
2
- setWhitelistRequired(bool)
3
Sets requirement for erc20 bribes to be whitelisted first
4
Default: true (whitelist required)
5
Emits event `WhitelistRequirement(bool _requireWhitelist)`
6
7
- updateFeeAddress(address)
8
Changes the address in which maintenance fees are sent
9
10
- updateFeeAmount(uint256)
11
Allows the maintenance fee to be adjusted between 0% and 4%
12
There is a hard limit of 4% that cannot be exceeded
13
Emits event `UpdatedFee(uint256 _feeAmount)`
14
15
- modifyTeam(address, bool)
16
Grants or removes permission for single-sign team address roles
17
This method triggers the event `ModifiedTeam(address _member, bool _approval)`
18
19
- updateDistributor(address, address)
20
Updates individual erc20 distribution contract address
21
Emits event `UpdatedDistributor(address indexed _token, address _distributor)`
22
23
24
25
MerkleDistributor.sol
26
- freeze()
27
Pause claims while merkle root is being updated
28
29
- unfreeze()
30
Resume claims after merkle root update
31
32
- updateMerkleRoot(bytes32)
33
Updates merkle root for claims and increments the update index
34
Emits event
35
`MerkleRootUpdated(bytes32 indexed merkleRoot, uint256 indexed update)`
36
37
38
39
VotiumVeCRV.sol
40
41
- unlistToken(address)
42
Disallows a token from being deposited in the future
43
44
- updateFeeAddress(address)
45
Changes the address in which maintenance fees are sent
46
47
- updateFeeAmount(uint256)
48
Allows the maintenance fee to be adjusted between 0% and 4%
49
There is a hard limit of 4% that cannot be exceeded
50
Emits event `UpdatedFee(uint256 _feeAmount)`
51
52
- modifyTeam(address, bool)
53
Grants or removes permission for single-sign team address roles
54
This method triggers the event `ModifiedTeam(address _member, bool _approval)`
55
56
- updateDistributor(address, address)
57
Updates distribution contract address
58
Emits event `UpdatedDistributor(address _distributor)`
59
60
- updateGaugeController(address)
61
Updates Curve gauge controller (Used only for gauge address verification)
Copied!
Single-sign team methods are limited to functions which do not pose a risk to user funds:
1
VotiumBribe.sol
2
3
- initiateProposal(bytes32, uint256, uint256)
4
Registers a new proposal id, deadline, and max choice index.
5
Requires that the same id has not been previously registered,
6
and that the bribing deadline is in the future
7
Emits event `Initiated(bytes32 _proposal)`
8
9
10
- approveDelegationVote(bytes32)
11
Approves a msg hash for EIP1271 vote casting
12
13
- transferToDistributor(address)
14
If there is an existent token balance and a distributor address set by
15
multisig, the balance is forwarded to the distributor address
16
17
- whitelistToken(address) / whitelistTokens(address[])
18
Add an individual token or multiple tokens to the whitelist registry
19
Emits `event Whitelisted(address _token)`
20
21
22
VotiumVeCRV.sol
23
24
- listToken(address)
25
26
- listTokens(address[])
27
Allows a token or tokens to be accepted for future deposits
28
Copied!
Last modified 19d ago
Copy link