SIP-394: Delegate governance power from collateral token deposited in Synthetix
Author | |
---|---|
Status | Draft |
Type | Governance |
Network | Ethereum, Optimism, Base & Arbitrum |
Implementor | TBD |
Release | TBD |
Created | 2024-05-31 |
Simple Summary
Enable Synthetix to delegate governance power from token deposited in the system to any address set by governance.
Abstract
Add address delegatee
in CollateralConfiguration.Data
field and a function call delegate(address delegatee)
to token when delegatee
is not set to address(0)
Motivation
As Arbitrum deployment is accepting ARB as collateral, there is an opportunity to use the governance power in the token to vote on proposals. This could be set to delegate to multisig of Ambassador Council multisig.
Specification
Overview
Add a call to delgate to token when address is not address(0)
Rationale
As collateral configuration is already exists, the delegation can be piggybacked on top in V3 configuration. A call will be determined by whether parameter is address(0)
or not. In case of renouncing the power, this could be set to dead address.
Technical Specification
Add IVotes
interface which is used by many governance token as following.
interface IVotes {
function delegate(address delegatee) external;
}
In CollateralConfugration.Data
struct, add the following.
library CollateralConfiguration {
struct Data {
...
+ address delegatee;
}
}
In set
function, add the following.
function set(Data memory config) internal {
...
if (config.issuanceRatioD18 < config.liquidationRatioD18) {
revert ParameterError.InvalidParameter(
"issuanceRatioD18",
"must be greater than liquidationRatioD18"
);
}
+ if(config.delegatee != address(0)) {
+ IVotes(config.tokenAddress).delegate(config.delegatee);
+ }
...
storedConfig.depositingEnabled = config.depositingEnabled;
+ storedConfig.delegatee = config.delegatee;
}
Test Cases
When delegatee
is not address(0)
- it should call
delegate(address)
withdelegatee
as parameter. - otherwise do nothing.
Configurable Values (Via SCCP)
address delegatee
a address to delegate to.
Copyright
Copyright and related rights waived via CC0.