Governance parameters

Protocol Governance parameters

Protocol Governance manages the global parameters of the protocol.

Vault Governances parameters

Any Vault kind is governed by a Vault Governance contract. This contract is responsible for governing the parameters for this Vault kind. There are several types of parameters of any governance.

  • InternalParams are parameters common for all Vault Governances, to be staged in a constructor of a corresponding Vault Governance and to be updated with a delay by the Governance of the protocol, which are:

  • delayedStrategyParams are parameters different for each Vault Governance and for each vault instance (typically being some parameters of the strategy set for an ERC20RootVault instance of this strategy), which may be updated with a delay by a Strategist or Governance

  • protocolPerVaultParams are parameters different for each Vault Governance and for each vault instance (typically being some protocol parameters of a single vault), which may be updated with a delay by the Governance

  • protocolParams are parameters common for all vaults of the Vault kind, which may be updated immediately by the Governance

  • delayedProtocolParams are parameters common for all vaults of the Vault kind, which may be updated with a delay by the Governance

  • operatorParams are parameters common for all vaults of the Vault kind, which may be updated immediately by a Strategist or Governance

Getting and setting parameters

There are, therefore, three types of parameters that are to be stated for all vaults of the Vault kind, and three types of parameters that are unique for each vault. These unique parameters are to be set and get not for a vault's address, but for a vault's NFT in the VaultRegistry. An example of getting (the same works for setting) parameters having just the address of a vault:

  1. Take a deployed VaultRegistry contract and call nftForVault(address), where address is the address of your vault. If the address is correct, you get an NFT nft

  2. Take a corresponding Vault Governance contract and get the wanted parameters. For example, if your vault is ERC20RootVault, you can take the ERC20RootVaultGovernance deployed contract and call delayedStrategyParams(nft), getting stated strategyParams for this vault

Note that a Vault Governance may not have any parameters of some type.

Here are the parameters of Vault Governances we currently have.

Aave VaultGovernance

delayedProtocolParams:

UniV3 VaultGovernance

delayedProtocolParams:

Yearn VaultGovernance

delayedProtocolParams:

As can be seen, Vault kinds on top of the other protocols have only delayedProtocolParams in which we set some basic addresses connected with those protocols which are needed to be called for all instances of this Vault kind.

ERC20 VaultGovernance and Euclidean Protocol VaultGovernance have no parameters.

ERC20Root VaultGovernance

You might want to see what ERC20Root Vault serves for.

strategyParams:

delayedStrategyParams:

protocolPerVaultParams:

delayedProtocolParams:

operatorParams:

Last updated