Skip to content

Commit fd60eb7

Browse files
authored
Added extensions section (#107)
* update graphics * add profile tag info * added extension page * add strategy flow graphic
1 parent 37d4e62 commit fd60eb7

File tree

4 files changed

+38
-1
lines changed

4 files changed

+38
-1
lines changed

pages/strategies/_meta.json

+3
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,9 @@
1313
"distribution":{
1414
"title": "Distribution"
1515
},
16+
"extensions":{
17+
"title": "Extensions"
18+
},
1619
"guides": {
1720
"type": "separator",
1821
"title": "Guides",

pages/strategies/extensions.md

+28
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# Extensions
2+
3+
Beginning in Allo v2.1, strategies make use of modular components.
4+
This composability rapidly speeds up dev time and enhances security
5+
for many common design patterns.
6+
7+
Some of the provided extensions are good examples of how extensions can
8+
be useful:
9+
10+
* [Gating](https://github.com/allo-protocol/allo-v2.1/tree/dev/contracts/strategies/extensions/gating):
11+
Provides gating mechanisms to restrict access to certain actions or features based on various conditions, such as token holdings or NFT ownership.
12+
* [Register](https://github.com/allo-protocol/allo-v2.1/tree/dev/contracts/strategies/extensions/register):
13+
Adds recipient registration mechanisms that can be customized according to the specific strategy.
14+
* [Allocate](https://github.com/allo-protocol/allo-v2.1/tree/dev/contracts/strategies/extensions/allocate):
15+
Contains the option to add an allocation time window and manage whitelisted allocators.
16+
* [Milestones](https://github.com/allo-protocol/allo-v2.1/tree/dev/contracts/strategies/extensions/milestones):
17+
Enables milestone-based distribution or allocation, where funds are released upon completion of predefined goals.
18+
19+
## Approach
20+
21+
Extensions are generalized to be inherited by Strategies for implementation.
22+
There are more complete guides on extension use in the [repository readme](https://github.com/allo-protocol/allo-v2.1/tree/dev/contracts/strategies/extensions#how-to-use-extensions-in-strategies) and [Wonderland Allo v2.1 Explainer](https://mirror.xyz/0xD28D1D7A6FDebEF46330210E65a1EF11bAfea11a/MyqoYrcyOz4qDTbjt5WNCYcQW-MPUEjgEMjy8F-Q7hQ).
23+
24+
## Libraries
25+
26+
To compliment extensions, which are typically *stateful* reusable components,
27+
[Libraries](https://github.com/allo-protocol/allo-v2.1/tree/dev/contracts/strategies/libraries)
28+
are also employed to represent reusable helper logic, such as math operations.

pages/strategies/index.md

+7-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,13 @@ There is a wealth of developer-oriented information in the bundled Strategy
1616

1717
## Strategies
1818

19-
Strategies are responsible for three general concepts:
19+
While [allocation mechanisms](https://allo.expert/mechanisms) can vary
20+
significantly, Allo generalizes the pattern to the
21+
**register-allocate-distribute** flow.
22+
23+
<img src="/Flow of funds-v02.png" alt="The strategy register allocate distribute logic pattern" />
24+
25+
This flow addresses the following:
2026

2127
1. [Recipient Eligibility](/strategies/recipients): Who is eligible to receive
2228
funding from a pool? How is that eligibility determined?

public/Flow of funds-v02.png

279 KB
Loading

0 commit comments

Comments
 (0)