Skip to content

Latest commit

 

History

History
53 lines (41 loc) · 2.7 KB

File metadata and controls

53 lines (41 loc) · 2.7 KB
description What do I need to know about strategies?

The command center Allo.sol calls to strategy contracts to determine logic around recipient eligibility, allocation, and token distribution. Every pool is created with a strategy, which it is tied to. You may choose to create a custom strategy, or clone an existing one.

All strategies, including custom ones, inherit a BaseStrategy.sol that defines the common interface. This interface is how the strategy is able to be used even when calling from Allo.sol.

There is a wealth of developer-oriented information in the bundled Strategy ReadMe.md.

Strategies

While allocation mechanisms can vary significantly, Allo generalizes the pattern to the register-allocate-distribute flow.

The strategy register allocate distribute logic pattern

This flow addresses the following:

  1. Recipient Eligibility: Who is eligible to receive funding from a pool? How is that eligibility determined?
  2. Allocation: How does your strategy allocate from the pool? You can have token-holders vote, pool managers give approval, or something else entirely.
  3. Distribution: Once funds have been allocated, how are they distributed? In a lump-sum, in milestone-based payments, as a stream, or something else?

Allo provides a standard pattern for implementing these, but what they do is entirely up to you. You're encouraged to look over existing examples, allo.expert, and beyond for inspiration.

Strategy Library

The Strategy Library includes a variety of useful components.

Please note that these strategies are presented as-is, and some components may not be audited.