-
Notifications
You must be signed in to change notification settings - Fork 163
Open
Labels
Description
closeAllocation() is the function that allows unallocating tokens assigned to a particular subgraph and eventually collecting all funds from state channels.
To avoid an indexer never closing an allocation and as a consequence never distributing the funds, we allow delegators to force close an allocation after maxAllocationEpochs.
An indexer would want to close the allocation before maxAllocationEpochs. It has two incentives to do so:
- Effective allocation stops counting after maxAllocationEpochs.
- If a delegators close the allocation a POI won't be able to be presented and no rewards are distributed.
I wonder if it is a good idea to also include a grace period after maxAllocationEpochs to detach these two times.
- indexers can close any time
- soft penalty: no effective allocation is counted after maxAllocationEpochs
- hard penalty: delegators can force close after maxAllocationEpochs + gracePeriod
For simplicity we can keep only maxAllocationEpochs and then add a grace period if necessary.