Skip to content

Commit b578db2

Browse files
committed
Add info about the contract
1 parent fff0bb7 commit b578db2

1 file changed

Lines changed: 26 additions & 0 deletions

File tree

contracts/DelegationPool.sol

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,32 @@ import './utils/MathUtil.sol';
1818
import './Constants.sol';
1919
import './Staking.sol';
2020

21+
/**
22+
* @title DelegationPool
23+
* @notice ## Overview
24+
* A Delegation Pool contract that allows aggregation of SQT to be pooled together and used to delegate to indexers.
25+
* Delegation should behave the same as if the user had delegated directly to an indexer. There is a manager (owner) of the pool
26+
* that determines the delegation strategy to indexers.
27+
*
28+
* ## Details
29+
*
30+
* ### Delegation
31+
* Users delegate their SQT to the pool and receive pool shares (ERC20 tokens) representing their stake in the pool. The pool manager can then
32+
* allocate those funds to the indexers they choose to optimise rewards.
33+
*
34+
* ### Undelegation
35+
* Users can then trigger undelegation which will burn their shares and
36+
* start a withdrawal process that then allows the user to withdraw their SQT after the lock period which is the same duration as if they had
37+
* directly delegated.
38+
*
39+
* ### Withdrawls
40+
* After the lock period, users can withdraw their SQT and rewards from the pool, minus and pool and unbonding fees.
41+
*
42+
* ### Managers
43+
* The pool manager is responsible for making sure the available assets in the pool are delegated to indexers to earn rewards.
44+
* The manager can do all the same functionality as delegating directly to an indexer such as delegate, undelegate, redelegate and claim rewards.
45+
* The manager can also trigger auto-compounding of rewards which claims rewards from all indexers as well as set a reward fee.
46+
*/
2147
contract DelegationPool is
2248
Initializable,
2349
OwnableUpgradeable,

0 commit comments

Comments
 (0)