Governance
Aside from the traders or liquidity providers who use and interact with the protocol, there are other roles in the system that are crucial in shaping the maintainability and stability of Increment, listed below:
Governance: 0xcce2065c1DC423451530BF7B493243234Ba1E849 [This is the address of the on-chain governor, which would become the governance address once the protocol is deployed]
The governance address is owned by the Increment community that governs the protocol, it can perform the following actions:
Add a trading pair to the list of supported markets with the
allowListPerpetual
function.Set key protocol economic parameters.
Add a new token to the list of allowlisted ERC20 tokens which can be used as collateral.
Remove some of the insurance funds collected when traders open/extend positions with the
removeInsurance
function. It's important to note that the insurance amount must be above the insurance ratio of the TVL in the vault to allow governance to withdraw funds. The insurance quota measures the percentage of TVL that should be held in insurance reserves and can be changed by governance.
Emergency Admin: 0x4f05E10B7e60D5b18c38a723d9469b4962C288D9
The Emergency Admin address is owned by a multisig, which is currently made up of 7 core contributors and governance delegates of the Increment protocol. It can solely perform the following three actions:
Pause or unpause the opening of trading positions with the
toggleTradingExpansionPause
function. This does not have any affect on closing or reducing trading positions nor liquidity provision positions.Curve's CryptoSwap markets on which Increment relies to operate sometimes generate "dust" during swaps. Dust describes very small amounts of market tokens that can't be swapped in the pool, e.g. 2 or 3 units of vUSD. These dust amounts are collected by the protocol.
sellDust
is the function by which the manager can sell the collated dust amounts on the market.
Additional details on the governance and emergency admin roles are listed in the tables below:
ClearingHouse Contract
Emergency Admin
sellDust
Sell the accrued dust amounts on the market (a very small amounts of market tokens that can't be swapped
Emergency Admin
pause
Put the protocol (or a single perpetual market) on hold if it's active
Emergency Admin
unpause
Unlock the protocol (or a single perpetual market) if it's locked
Governance
setParameters
Set key protocol risk parameters such as min margin requirements, insurance ratio, etc. See the full list in economic parameters.
Governance
allowListPerpetual
Add a trading pair to supported markets
Governance
addRewardContract
Add a reward distributor contract (i.e., PerpRewardDistributor)
Perpetual Contract
Emergency Admin
pause
Put the protocol (or a single perpetual market) on hold if it's active
Emergency Admin
unpause
Unlock the protocol (or a single perpetual market) if it's locked
Emergency Admin
toggleTradingExpansionPause
Pause/unpause trading operations tapping into the liquidity (i.e. opening and extending positions)
Governance
setParameters
Set key protocol parameters such as sensitivity, insuranceFee, twap frequency, etc. See economic parameters.
Insurance Contract
Governance
removeInsurance
Once the insurance reserve exceed a certain ratio of the TVL, the insurance fees can be withdrawn
Governance
setClearingHouse
Set new address of ClearingHouse contracts
Oracle Contract
Governance
setOracle
Set or update an oracle address
Governance
setFixedPrice
Set a fixed price for an asset
Governance
setHeartBeat
Set or update the heartbeat of an oracle
Governance
setSequencerUptimeFeed
Set a L2 sequencer upTime feed
Governance
setGracePeriod
Set a grace period for the L2 Sequencer to come back up
Vault Contract
Governance
addWhiteListedCollateral
Add a new token to the list of allowlisted ERC20 used as collateral
Governance
changeCollateralWeight
Change weight of a white listed collateral
Governance
changeCollateralMaxAmount
Change the maximum amount of tokens that can be deposited
Governance
setClearingHouse
Set the ClearingHouse address
Governance
setInsurance
Set the Insurance address
Governance
setOracle
Set the Oracle address
EcosystemReserve Contract
Governance
approve
Allow an address to transfer some amount of a given token from the reserve
Governance
transfer
Transfer some amount of a given token from the reserve to a recipient
Governance
transferAdmin
Transfer the funds admin role to a new address
RewardDistributor Contracts
Including the PerpRewardDistributor and SMRewardDistributor contracts
Governance
updateRewardWeights
Set the percentage of reward emissions to be accrued to each market for a given reward token
Governance
updateInitialInflationRate
Set the initial inflation rate used for calculating emissions for a given reward token
Governance
updateReductionFactor
Set the reduction factor used for calculating emissions for a given reward token
Governance
addRewardToken
Add a new token to the list of supported reward tokens
Governance
removeRewardToken
Remove a token from the list of supported reward tokens, and return any unaccrued rewards from the EcosystemReserve
PerpRewardDistributor Contract
Emergency Admin
pause
Put claiming rewards on hold if active (does not pause reward accrual)
Emergency Admin
unpause
Unlock claiming rewards if locked
Emergency Admin
togglePausedRewards
Pause or unpause reward accrual for a particular reward token
Governance
setEarlyWithdrawalThreshold
Set the early withdrawal threshold used to penalize users who withdraw liquidity too soon
Governance
initMarketStartTime
Set the timeOfLastCumRewardUpdate
for a given market to the current timestamp if it isn't set
SMRewardDistributor Contract
Governance
pause
Put claiming rewards on hold if active (does not pause reward accrual)
Governance
unpause
Unlock claiming rewards if locked
Governance
togglePausedRewards
Pause or unpause reward accrual for a particular reward token
Governance
setSafetyModule
Set the SafetyModule contract address from which to get the addresses of the staked token contracts
Governance
setMaxRewardMultiplier
Set the upper limit for the reward multiplier users earn for staking their tokens longer
Governance
setSmoothingValue
Set the smoothing value used to calculate the reward multiplier
SafetyModule Contract
Governance
pause
Put staking, redeeming and transferring on hold for all staked tokens if active (does not pause reward accrual)
Governance
unpause
Unlock staking, redeeming and transferring for all staked tokens if locked
Governance
addStakingToken
Add a new StakedToken contract address to the list of supported staked tokens
Governance
setRewardDistributor
Set the SMRewardDistributor contract address for handling reward accrual to stakers
Governance
setAuctionModule
Set the AuctionModule contract address for handling auctions of slashed tokens
Governance
slashAndStartAuction
Slash a percentage of staked tokens from all users and start an auction in the AuctionModule
Governance
terminateAuction
Terminate an auction in the AuctionModule, return any remaining tokens to the StakedToken and settle slashing
Governance
withdrawFundsRaisedFromAuction
Transfer tokens raised in an auction from the AuctionModule to governance
AuctionModule Contract
Governance
pause
Put creating, completing and bidding in auctions on hold if active
Governance
unpause
Unlock creating, completing and bidding in auctions if locked
Governance
setSafetyModule
Set the SafetyModule contract allowed to start and terminate auctions
Governance
setPaymentToken
Set the payment token used for purchasing lots in auctions
StakedToken Contract
Governance
pause
Put staking, redeeming and transferring on hold if active (does not pause reward accrual)
Governance
unpause
Unlock staking, redeeming and transferring if locked
Governance
setSafetyModule
Set the SafetyModule contract allowed to slash tokens, return funds and settle slashing
Governance
setMaxStakeAmount
Set the maximum amount of tokens that can be staked by a user
Last updated