Grants Splitter
The DelegationsManager
can split the funds in its balance among all Delegations attached to it (and therefore attached to the Organization).
When a Delegation newly attaches itself to the DelegationsManager
, a dedicated treasuryManager
is cloned from the model address stored in the DelegationsManager
and dedicated to the Delegation.
The implication here is that if the Delegation is attached to multiple Organizations, it will have a dedicated treasuryManager
for each.
Splitting Funds
The DelegationsManager, via the split
function, splits an organization's funds (stored in the DelegationsManager
) and distributes them to attached Delegations. The split can be performed every time the DelegationsManager has an amount of ETH greater than zero.
Anyone can call split
, and receive a reward (which serves as an economic incentive) for doing so.
As input, the function takes the address of the receiver (who can be specified as different from the caller) of the executorReward
. The executorReward
amount is calculated as (the amount to be split across the Delegations * executorReward percentage)
.
The split
function internally calls the getSplit
function to calculate how much of the funds will be sent to each Delegations' treasury, and the funds are sent accordingly immediately afterwards.
Grants Percentages
The amount received from a Delegation is calculated as the percentage of governance tokens staked with respect to the total amount of tokens staked by all delegations associated with that specific organization.
For example:
Governance token supported by the Organization: $VTB
Delegations linked to an Organization: 3
ETH amount in the Delegations Manager to be split: 10 ETH
Tot. amount of $VTB staked by the three Delegations: 1000
Amounts staked by the three Delegations:
-Delegation 1: 200
-Delegation 2: 500
-Delegation 3: 300
ETH amount received by the three Delegations:
-Delegation 1: 2 ETH
-Delegation 2: 5 ETH
-Delegation 3: 3 ETH
Any remaining amount is automatically sent to the flusher. It can be a specific Component set at the time of Delegations Manager initialization (bytes32
flusherKey
) or the Organization Treasury Manager if flusherKey
was set as bytes32(0)
.
Last updated