Spool Docs
Comment on page

Async DoHardWork

Asynchronous DoHardWork Function Calls
Spool V1 dealt with deposits, withdrawals and compounding through a so called "DoHardWork"-function. Aggregating these user actions allows for reduced costs for the end user as well as a higher overall protocol profitability.
One of the core issues we have identified in Spool V1 with this "DoHardWork" function call is the fact that it is a "synchronous" function call, which means: It has to be called for every Strategy incorporated in the Spool Ecosystem in the same block, at the same time.
The limitation of "synchronous" DoHardWork made it so that it was difficult to add certain Strategies and the cost overhead of running the entire Spool Protocol was higher than envisioned. For contrast, even Strategies with as little as 0.5% Yield got compounded on a daily basis.
Spool V2 supports "asynchronous" DoHardWork Function Calls, a feature which significantly increases the amount of Strategies which can be included in the Spool Protocol while aggressively reducing the cost overhead for the Spool DAO.