Multisig Admin Rights

Please note these describe functions in the original Votium contract. This page will be updated for v2 soon. 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:

VotiumBribe.sol
- setWhitelistRequired(bool)
    Sets requirement for erc20 bribes to be whitelisted first
    Default: true (whitelist required)
    Emits event `WhitelistRequirement(bool _requireWhitelist)`

- updateFeeAddress(address)
    Changes the address in which maintenance fees are sent

- updateFeeAmount(uint256)
    Allows the maintenance fee to be adjusted between 0% and 4%
    There is a hard limit of 4% that cannot be exceeded
    Emits event `UpdatedFee(uint256 _feeAmount)`

- modifyTeam(address, bool)
    Grants or removes permission for single-sign team address roles
    This method triggers the event `ModifiedTeam(address _member, bool _approval)`

- updateDistributor(address, address)
    Updates individual erc20 distribution contract address
    Emits event `UpdatedDistributor(address indexed _token, address _distributor)`



MerkleDistributor.sol
- freeze()
    Pause claims while merkle root is being updated

- unfreeze()
    Resume claims after merkle root update

- updateMerkleRoot(bytes32)
    Updates merkle root for claims and increments the update index
    Emits event 
    `MerkleRootUpdated(bytes32 indexed merkleRoot, uint256 indexed update)`
    
    
    
VotiumVeCRV.sol

- unlistToken(address)
    Disallows a token from being deposited in the future

- updateFeeAddress(address)
    Changes the address in which maintenance fees are sent

- updateFeeAmount(uint256)
    Allows the maintenance fee to be adjusted between 0% and 4%
    There is a hard limit of 4% that cannot be exceeded
    Emits event `UpdatedFee(uint256 _feeAmount)`

- modifyTeam(address, bool)
    Grants or removes permission for single-sign team address roles
    This method triggers the event `ModifiedTeam(address _member, bool _approval)`

- updateDistributor(address, address)
    Updates distribution contract address
    Emits event `UpdatedDistributor(address _distributor)`

- updateGaugeController(address)
    Updates Curve gauge controller (Used only for gauge address verification)

Single-sign team methods are limited to functions which do not pose a risk to user funds:

VotiumBribe.sol

- initiateProposal(bytes32, uint256, uint256)
    Registers a new proposal id, deadline, and max choice index.
    Requires that the same id has not been previously registered,
    and that the bribing deadline is in the future
    Emits event `Initiated(bytes32 _proposal)`


- approveDelegationVote(bytes32)
    Approves a msg hash for EIP1271 vote casting

- transferToDistributor(address)
    If there is an existent token balance and a distributor address set by
    multisig, the balance is forwarded to the distributor address

- whitelistToken(address) / whitelistTokens(address[])
    Add an individual token or multiple tokens to the whitelist registry
    Emits `event Whitelisted(address _token)`
    

VotiumVeCRV.sol

- listToken(address)

- listTokens(address[])
    Allows a token or tokens to be accepted for future deposits

Last updated