Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix typos across documentation #670

Open
wants to merge 8 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions contracts/core/Allo.md
Original file line number Diff line number Diff line change
Expand Up @@ -220,7 +220,7 @@ sequenceDiagram
* **Strategy** Smart contracts implementing fund allocation and distribution logic for each pool. Strategies can be custom or cloneable and determine how funds are managed within a pool.


In summary, the "Allo" smart contract provides a framework for creating and managing pools with customizable fund allocation and distribution strategies. It leverages access controls, mappings, and functions to enable various actions within the protocol. The contract is designed to support a ecosystem, enhancing the efficiency and transparency of fund management in Ethereum-based applications.
In summary, the "Allo" smart contract provides a framework for creating and managing pools with customizable fund allocation and distribution strategies. It leverages access controls, mappings, and functions to enable various actions within the protocol. The contract is designed to support an ecosystem, enhancing the efficiency and transparency of fund management in Ethereum-based applications.

## User Flows

Expand Down Expand Up @@ -304,4 +304,4 @@ In summary, the "Allo" smart contract provides a framework for creating and mana
### Distribute Funds to Recipients

* Users can distribute funds to recipients using a pool's distribution strategy by calling the `distribute` function.
* The function requires the `_poolId`, `_recipientIds`, and `_data` as parameters, and it passes the data to the strategy for distribution.
* The function requires the `_poolId`, `_recipientIds`, and `_data` as parameters, and it passes the data to the strategy for distribution.
2 changes: 1 addition & 1 deletion contracts/core/interfaces/IStrategy.sol
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ interface IStrategy {
/// @return The ID of the strategy
function getStrategyId() external view returns (bytes32);

/// @notice Checks whether a allocator is valid or not, will usually be true for all strategies
/// @notice Checks whether an allocator is valid or not, will usually be true for all strategies
/// and will depend on the strategy implementation.
/// @param _allocator The allocator to check
/// @return Whether the allocator is valid or not
Expand Down
2 changes: 1 addition & 1 deletion contracts/strategies/SpecTemplate.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ Explain the logic for determining how recipients are added to the strategy's poo
- What criteria determine the eligibility of a recipient to register in this strategy? Are there any specific requirements or conditions?
- Are there any additional custom functions or conditions for verifying recipient eligibility?
- **Recipient information**
- How does a recipient identify themselves? Is it through an address like msg.sender, do they need an profile registered at the `Registry` contract, or another mechanism?
- How does a recipient identify themselves? Is it through an address like msg.sender, do they need a profile registered at the `Registry` contract, or another mechanism?
- If through the Registry, can the pool creator set a custom registry?
- Which address is returned by `registerRecipient` and represents the `recipientId`?
- Can the address that receives the funds be different from the recipient's profile?
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ In this strategy, recipients must submit an application and be approved by pool
- prospective recipients must provide the projects address as `recipientId`, which serves as the unique identifier for their registration
- **Recipient eligibility**
- Pool manager has the option to enable two separate eligibility requirements on this contract:
- Requiring recipients to have an registry profile in order to apply
- Requiring recipients to have a registry profile in order to apply
- Requiring recipients to submit answers to questions, stored in metadata
- This metadata may include information for the front end on required / optional questions, but the contract only needs to check for whether metadata has been submitted
- The pool manager should have a function that enables them to edit the pool metadata, which is callable at any point
Expand Down
4 changes: 2 additions & 2 deletions contracts/strategies/_poc/micro-grants/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -186,7 +186,7 @@ Only in `MicroGrantsStrategy.sol`:

### Allocating to a Recipient

* Valid Allocator initiates a allocation request
* Valid Allocator initiates an allocation request
* An allocator can vote only once for a recipientId
* An allocator can choose to: accept/reject a recipient
* If the allocator accepts the recipient, we check to see if the recipient has approvals which are equal to the approvalThreshold, then the funds are distributed to the recipient
Expand All @@ -197,4 +197,4 @@ Only in `MicroGrantsStrategy.sol`:
* Verifies if sender is authorized to withdraw funds.
* Checks if the pool is inactive.
* Decreases the pool amount by the requested withdrawal amount.
* Transfers the requested amount to the sender.
* Transfers the requested amount to the sender.
2 changes: 1 addition & 1 deletion contracts/strategies/_poc/qv-hackathon/Spec.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ In this strategy, recipients do not need to apply — they are automatically add
- update metadata for this pool

### Allocation logic
In this strategy, only wallets that hold a specific NFT are eligible to allocate. Allocations can only be submitted during a allocation window that is set by the pool manager. Each allocator gets a budget of "voice credits", which they can use to "purchase" votes on as many recipients as they would like. The number of votes each allocator can give to a recipient is equal to the square root of the number of voice credits they spend on that specific recipient. Votes can be fractional.
In this strategy, only wallets that hold a specific NFT are eligible to allocate. Allocations can only be submitted during an allocation window that is set by the pool manager. Each allocator gets a budget of "voice credits", which they can use to "purchase" votes on as many recipients as they would like. The number of votes each allocator can give to a recipient is equal to the square root of the number of voice credits they spend on that specific recipient. Votes can be fractional.
- **Allocator Eligibility**
- Wallets are only eligible if they hold a specific NFT.
- Pool managers must have the ability to configure which NFT is required in order to vote.
Expand Down
2 changes: 1 addition & 1 deletion contracts/strategies/_poc/qv-nft-tiered/Spec.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ In this strategy, recipients must submit an application and be approved by pool
- If a recipient's current status is `Accepted`, then their application info is updated and their status is changed to `Pending` (global and local)

### Allocation logic
In this strategy, pool managers are able to set multiple NFTs as their eligibility gates for allocators. As long as a wallet holds at least one of those NFTs they are marked as `eligible`. Allocations can only be cast during a allocation window that is set by the pool manager. Each allocator gets a budget of "voice credits", which they can use to "purchase" votes on as many recipients as they would like. The budget of voice credits is dictated by the NFT(s) that the allocator holds. The number of votes each allocator can give to a recipient is equal to the square root of the number of voice credits they spend on that specific recipient. Votes can be fractional.
In this strategy, pool managers are able to set multiple NFTs as their eligibility gates for allocators. As long as a wallet holds at least one of those NFTs they are marked as `eligible`. Allocations can only be cast during an allocation window that is set by the pool manager. Each allocator gets a budget of "voice credits", which they can use to "purchase" votes on as many recipients as they would like. The budget of voice credits is dictated by the NFT(s) that the allocator holds. The number of votes each allocator can give to a recipient is equal to the square root of the number of voice credits they spend on that specific recipient. Votes can be fractional.
- **Allocator Eligibility**
- Pool managers need a function to indicate which NFTs will be used to determine eligibility in the pool.
- As part of this, they need to be able to indicate how many voice credits each NFT is worth. For example, a wallet holding `NFT-A` may get 100 credits, while a wallet holding `NFT-B` may get 250 credits.
Expand Down
2 changes: 1 addition & 1 deletion test/utils/MockStrategy.sol
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ contract MockStrategy is BaseStrategy {
return PayoutSummary(_recipientId, 0);
}

// simply returns whether a allocator is valid or not, will usually be true for all
// simply returns whether an allocator is valid or not, will usually be true for all
function _isValidAllocator(address _allocator) internal view override returns (bool) {
surpressStateMutabilityWarning;
return _allocator == address(0) ? false : true;
Expand Down