Manage the Insurance parameter
As described in the DelegationsManager page, the Insurance, i.e. the amount of token that a Delegation must have staked in order to attach itself to the DelegationsManager can be managed in two different ways:
defining the insurance amount inside the DelegationsManager contract -> setting the
_attachInsurance
parameter when initializing the DelegationsManager.retrieving the insurance amount from an external smart contract -> setting the
_attachInsuranceRetriever
parameter when initializing the DelegationsManager.
If you initialize an _attachInsuranceRetriever
address, the _attachInsurance
parameter is not taken into account even if populated.
The _attachInsuranceRetriever
can only be defined when initializing the DelegationsManager and it can't be modified later.
If you initialize the _attachInsurance
and not _attachInsuranceRetriever
it can be modified later using the setAttachInsurance
function:
How and why should you define insurance externally?
The _attachInsuranceRetriever
smart contract must implement a get()
view function that returns the insurance amount in the form of uint256
.
Defining an _attachInsuranceRetriever
allows you to save the insurance amount as a parameter in the State Manager of the Organization (at the Root or Governance layer) and have the get ()
method of the _attachInsuranceRetriever
retrieve the value by reading it from the State Manager.
In this case, the value of the insurance parameter can be modified by:
a Root level Proposal that overwrites the value in the State Manager, if the insurance variable is saved in the State Manager at Root level.
a subDAO Proposal that overwrites the value in the State Manager, if the insurance variable is saved in the State Manager at Governance level and if there is a Proposal Model, surveyless or survey, to do so. The Proposal to change the value of a variable saved in the state manager can be found here.
Here, you can find an example of a _attachInsuranceRetriever
smart contract that retrieves the insurance amount from the State Manager at the Governance layer.
Last updated